@chenchaolong/plugin-trade-compliance-workbench 1.0.100 → 1.0.102

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -18,7 +18,7 @@ Error generating stack: `+o.message+`
18
18
  `)}`,this.#l();let d=new Range,p=Math.sumPrecise(c.map(h=>h.length));for(let{firstChild:h}of this.editorDiv.childNodes)if(h.nodeType===Node.TEXT_NODE){let m=h.nodeValue.length;if(p<=m){d.setStart(h,p),d.setEnd(h,p);break}p-=m}o.removeAllRanges(),o.addRange(d)}#l(){if(this.editorDiv.replaceChildren(),!!this.#e)for(let e of this.#e.split(`
19
19
  `)){let n=document.createElement("div");n.append(e?document.createTextNode(e):document.createElement("br")),this.editorDiv.append(n)}}#p(){return this.#e.replaceAll("\xA0"," ")}static#d(e){return e.replaceAll(" ","\xA0")}get contentDiv(){return this.editorDiv}getPDFRect(){let e=t._internalPadding*this.parentScale;return this.getRect(e,e)}static async deserialize(e,n,r){let i=null;if(e instanceof Md){let{data:{defaultAppearanceData:{fontSize:a,fontColor:s},rect:l,rotation:c,id:u,popupRef:d,richText:p,contentsObj:h,creationDate:m,modificationDate:f},textContent:v,textPosition:g,parent:{page:{pageNumber:y}}}=e;if(!v||v.length===0)return null;i=e={annotationType:Ee.FREETEXT,color:Array.from(s),fontSize:a,value:v.join(`
20
20
  `),position:g,pageIndex:y-1,rect:l.slice(0),rotation:c,annotationElementId:u,id:u,deleted:!1,popupRef:d,comment:h?.str||null,richText:p,creationDate:m,modificationDate:f}}let o=await super.deserialize(e,n,r);return o.#n=e.fontSize,o.color=pe.makeHexColor(...e.color),o.#e=t.#d(e.value),o._initialData=i,e.comment&&o.setCommentData(e),o}serialize(e=!1){if(this.isEmpty())return null;if(this.deleted)return this.serializeDeleted();let n=at._colorManager.convert(this.isAttachedToDOM?getComputedStyle(this.editorDiv).color:this.color),r=Object.assign(super.serialize(e),{color:n,fontSize:this.#n,value:this.#p()});return this.addComment(r),e?(r.isCopy=!0,r):this.annotationElementId&&!this.#h(r)?null:(r.id=this.annotationElementId,r)}#h(e){let{value:n,fontSize:r,color:i,pageIndex:o}=this._initialData;return this.hasEditedComment||this._hasBeenMoved||e.value!==n||e.fontSize!==r||e.color.some((a,s)=>a!==i[s])||e.pageIndex!==o}renderAnnotationElement(e){let n=super.renderAnnotationElement(e);if(!n)return null;let{style:r}=n;r.fontSize=`calc(${this.#n}px * var(--total-scale-factor))`,r.color=this.color,n.replaceChildren();for(let i of this.#e.split(`
21
- `)){let o=document.createElement("div");o.append(i?document.createTextNode(i):document.createElement("br")),n.append(o)}return e.updateEdited({rect:this.getPDFRect(),popup:this._uiManager.hasCommentManager()||this.hasEditedComment?this.comment:{text:this.#e}}),n}resetAnnotationElement(e){super.resetAnnotationElement(e),e.resetEdited()}},de=class{static PRECISION=1e-4;toSVGPath(){tt("Abstract method `toSVGPath` must be implemented.")}get box(){tt("Abstract getter `box` must be implemented.")}serialize(e,n){tt("Abstract method `serialize` must be implemented.")}static _rescale(e,n,r,i,o,a){a||=new Float32Array(e.length);for(let s=0,l=e.length;s<l;s+=2)a[s]=n+e[s]*i,a[s+1]=r+e[s+1]*o;return a}static _rescaleAndSwap(e,n,r,i,o,a){a||=new Float32Array(e.length);for(let s=0,l=e.length;s<l;s+=2)a[s]=n+e[s+1]*i,a[s+1]=r+e[s]*o;return a}static _translate(e,n,r,i){i||=new Float32Array(e.length);for(let o=0,a=e.length;o<a;o+=2)i[o]=n+e[o],i[o+1]=r+e[o+1];return i}static svgRound(e){return Math.round(e*1e4)}static _normalizePoint(e,n,r,i,o){switch(o){case 90:return[1-n/r,e/i];case 180:return[1-e/r,1-n/i];case 270:return[n/r,1-e/i];default:return[e/r,n/i]}}static _normalizePagePoint(e,n,r){switch(r){case 90:return[1-n,e];case 180:return[1-e,1-n];case 270:return[n,1-e];default:return[e,n]}}static createBezierPoints(e,n,r,i,o,a){return[(e+5*r)/6,(n+5*i)/6,(5*r+o)/6,(5*i+a)/6,(r+o)/2,(i+a)/2]}},Hd=class t{#e;#t=[];#r;#n;#a=[];#i=new Float32Array(18);#o;#s;#c;#l;#p;#d;#h=[];static#g=8;static#f=2;static#u=t.#g+t.#f;constructor({x:e,y:n},r,i,o,a,s=0){this.#e=r,this.#d=o*i,this.#n=a,this.#i.set([NaN,NaN,NaN,NaN,e,n],6),this.#r=s,this.#l=t.#g*i,this.#c=t.#u*i,this.#p=i,this.#h.push(e,n)}isEmpty(){return isNaN(this.#i[8])}#m(){let e=this.#i.subarray(4,6),n=this.#i.subarray(16,18),[r,i,o,a]=this.#e;return[(this.#o+(e[0]-n[0])/2-r)/o,(this.#s+(e[1]-n[1])/2-i)/a,(this.#o+(n[0]-e[0])/2-r)/o,(this.#s+(n[1]-e[1])/2-i)/a]}add({x:e,y:n}){this.#o=e,this.#s=n;let[r,i,o,a]=this.#e,[s,l,c,u]=this.#i.subarray(8,12),d=e-c,p=n-u,h=Math.hypot(d,p);if(h<this.#c)return!1;let m=h-this.#l,f=m/h,v=f*d,g=f*p,y=s,w=l;s=c,l=u,c+=v,u+=g,this.#h?.push(e,n);let b=-g/m,x=v/m,C=b*this.#d,k=x*this.#d;return this.#i.set(this.#i.subarray(2,8),0),this.#i.set([c+C,u+k],4),this.#i.set(this.#i.subarray(14,18),12),this.#i.set([c-C,u-k],16),isNaN(this.#i[6])?(this.#a.length===0&&(this.#i.set([s+C,l+k],2),this.#a.push(NaN,NaN,NaN,NaN,(s+C-r)/o,(l+k-i)/a),this.#i.set([s-C,l-k],14),this.#t.push(NaN,NaN,NaN,NaN,(s-C-r)/o,(l-k-i)/a)),this.#i.set([y,w,s,l,c,u],6),!this.isEmpty()):(this.#i.set([y,w,s,l,c,u],6),Math.abs(Math.atan2(w-l,y-s)-Math.atan2(g,v))<Math.PI/2?([s,l,c,u]=this.#i.subarray(2,6),this.#a.push(NaN,NaN,NaN,NaN,((s+c)/2-r)/o,((l+u)/2-i)/a),[s,l,y,w]=this.#i.subarray(14,18),this.#t.push(NaN,NaN,NaN,NaN,((y+s)/2-r)/o,((w+l)/2-i)/a),!0):([y,w,s,l,c,u]=this.#i.subarray(0,6),this.#a.push(((y+5*s)/6-r)/o,((w+5*l)/6-i)/a,((5*s+c)/6-r)/o,((5*l+u)/6-i)/a,((s+c)/2-r)/o,((l+u)/2-i)/a),[c,u,s,l,y,w]=this.#i.subarray(12,18),this.#t.push(((y+5*s)/6-r)/o,((w+5*l)/6-i)/a,((5*s+c)/6-r)/o,((5*l+u)/6-i)/a,((s+c)/2-r)/o,((l+u)/2-i)/a),!0))}toSVGPath(){if(this.isEmpty())return"";let e=this.#a,n=this.#t;if(isNaN(this.#i[6])&&!this.isEmpty())return this.#y();let r=[];r.push(`M${e[4]} ${e[5]}`);for(let i=6;i<e.length;i+=6)isNaN(e[i])?r.push(`L${e[i+4]} ${e[i+5]}`):r.push(`C${e[i]} ${e[i+1]} ${e[i+2]} ${e[i+3]} ${e[i+4]} ${e[i+5]}`);this.#w(r);for(let i=n.length-6;i>=6;i-=6)isNaN(n[i])?r.push(`L${n[i+4]} ${n[i+5]}`):r.push(`C${n[i]} ${n[i+1]} ${n[i+2]} ${n[i+3]} ${n[i+4]} ${n[i+5]}`);return this.#v(r),r.join(" ")}#y(){let[e,n,r,i]=this.#e,[o,a,s,l]=this.#m();return`M${(this.#i[2]-e)/r} ${(this.#i[3]-n)/i} L${(this.#i[4]-e)/r} ${(this.#i[5]-n)/i} L${o} ${a} L${s} ${l} L${(this.#i[16]-e)/r} ${(this.#i[17]-n)/i} L${(this.#i[14]-e)/r} ${(this.#i[15]-n)/i} Z`}#v(e){let n=this.#t;e.push(`L${n[4]} ${n[5]} Z`)}#w(e){let[n,r,i,o]=this.#e,a=this.#i.subarray(4,6),s=this.#i.subarray(16,18),[l,c,u,d]=this.#m();e.push(`L${(a[0]-n)/i} ${(a[1]-r)/o} L${l} ${c} L${u} ${d} L${(s[0]-n)/i} ${(s[1]-r)/o}`)}newFreeDrawOutline(e,n,r,i,o,a){return new jd(e,n,r,i,o,a)}getOutlines(){let e=this.#a,n=this.#t,r=this.#i,[i,o,a,s]=this.#e,l=new Float32Array((this.#h?.length??0)+2);for(let d=0,p=l.length-2;d<p;d+=2)l[d]=(this.#h[d]-i)/a,l[d+1]=(this.#h[d+1]-o)/s;if(l[l.length-2]=(this.#o-i)/a,l[l.length-1]=(this.#s-o)/s,isNaN(r[6])&&!this.isEmpty())return this.#A(l);let c=new Float32Array(this.#a.length+24+this.#t.length),u=e.length;for(let d=0;d<u;d+=2){if(isNaN(e[d])){c[d]=c[d+1]=NaN;continue}c[d]=e[d],c[d+1]=e[d+1]}u=this.#b(c,u);for(let d=n.length-6;d>=6;d-=6)for(let p=0;p<6;p+=2){if(isNaN(n[d+p])){c[u]=c[u+1]=NaN,u+=2;continue}c[u]=n[d+p],c[u+1]=n[d+p+1],u+=2}return this.#S(c,u),this.newFreeDrawOutline(c,l,this.#e,this.#p,this.#r,this.#n)}#A(e){let n=this.#i,[r,i,o,a]=this.#e,[s,l,c,u]=this.#m(),d=new Float32Array(36);return d.set([NaN,NaN,NaN,NaN,(n[2]-r)/o,(n[3]-i)/a,NaN,NaN,NaN,NaN,(n[4]-r)/o,(n[5]-i)/a,NaN,NaN,NaN,NaN,s,l,NaN,NaN,NaN,NaN,c,u,NaN,NaN,NaN,NaN,(n[16]-r)/o,(n[17]-i)/a,NaN,NaN,NaN,NaN,(n[14]-r)/o,(n[15]-i)/a],0),this.newFreeDrawOutline(d,e,this.#e,this.#p,this.#r,this.#n)}#S(e,n){let r=this.#t;return e.set([NaN,NaN,NaN,NaN,r[4],r[5]],n),n+=6}#b(e,n){let r=this.#i.subarray(4,6),i=this.#i.subarray(16,18),[o,a,s,l]=this.#e,[c,u,d,p]=this.#m();return e.set([NaN,NaN,NaN,NaN,(r[0]-o)/s,(r[1]-a)/l,NaN,NaN,NaN,NaN,c,u,NaN,NaN,NaN,NaN,d,p,NaN,NaN,NaN,NaN,(i[0]-o)/s,(i[1]-a)/l],n),n+=24}},jd=class extends de{#e;#t=new Float32Array(4);#r;#n;#a;#i;#o;constructor(e,n,r,i,o,a){super(),this.#o=e,this.#a=n,this.#e=r,this.#i=i,this.#r=o,this.#n=a,this.firstPoint=[NaN,NaN],this.lastPoint=[NaN,NaN],this.#s(a);let[s,l,c,u]=this.#t;for(let d=0,p=e.length;d<p;d+=2)e[d]=(e[d]-s)/c,e[d+1]=(e[d+1]-l)/u;for(let d=0,p=n.length;d<p;d+=2)n[d]=(n[d]-s)/c,n[d+1]=(n[d+1]-l)/u}toSVGPath(){let e=[`M${this.#o[4]} ${this.#o[5]}`];for(let n=6,r=this.#o.length;n<r;n+=6){if(isNaN(this.#o[n])){e.push(`L${this.#o[n+4]} ${this.#o[n+5]}`);continue}e.push(`C${this.#o[n]} ${this.#o[n+1]} ${this.#o[n+2]} ${this.#o[n+3]} ${this.#o[n+4]} ${this.#o[n+5]}`)}return e.push("Z"),e.join(" ")}serialize([e,n,r,i],o){let a=r-e,s=i-n,l,c;switch(o){case 0:l=de._rescale(this.#o,e,i,a,-s),c=de._rescale(this.#a,e,i,a,-s);break;case 90:l=de._rescaleAndSwap(this.#o,e,n,a,s),c=de._rescaleAndSwap(this.#a,e,n,a,s);break;case 180:l=de._rescale(this.#o,r,n,-a,s),c=de._rescale(this.#a,r,n,-a,s);break;case 270:l=de._rescaleAndSwap(this.#o,r,i,-a,-s),c=de._rescaleAndSwap(this.#a,r,i,-a,-s);break}return{outline:Array.from(l),points:[Array.from(c)]}}#s(e){let n=this.#o,r=n[4],i=n[5],o=[r,i,r,i],a=r,s=i,l=r,c=i,u=e?Math.max:Math.min,d=new Float32Array(4);for(let h=6,m=n.length;h<m;h+=6){let f=n[h+4],v=n[h+5];isNaN(n[h])?(pe.pointBoundingBox(f,v,o),s>v?(a=f,s=v):s===v&&(a=u(a,f)),c<v?(l=f,c=v):c===v&&(l=u(l,f))):(d[0]=d[1]=1/0,d[2]=d[3]=-1/0,pe.bezierBoundingBox(r,i,...n.slice(h,h+6),d),pe.rectBoundingBox(d[0],d[1],d[2],d[3],o),s>d[1]?(a=d[0],s=d[1]):s===d[1]&&(a=u(a,d[0])),c<d[3]?(l=d[2],c=d[3]):c===d[3]&&(l=u(l,d[2]))),r=f,i=v}let p=this.#t;p[0]=o[0]-this.#r,p[1]=o[1]-this.#r,p[2]=o[2]-o[0]+2*this.#r,p[3]=o[3]-o[1]+2*this.#r,this.firstPoint=[a,s],this.lastPoint=[l,c]}get box(){return this.#t}newOutliner(e,n,r,i,o,a=0){return new Hd(e,n,r,i,o,a)}getNewOutline(e,n){let[r,i,o,a]=this.#t,[s,l,c,u]=this.#e,d=o*c,p=a*u,h=r*c+s,m=i*u+l,f=this.newOutliner({x:this.#a[0]*d+h,y:this.#a[1]*p+m},this.#e,this.#i,e,this.#n,n??this.#r);for(let v=2;v<this.#a.length;v+=2)f.add({x:this.#a[v]*d+h,y:this.#a[v+1]*p+m});return f.getOutlines()}},Al=class{#e;#t;#r;#n=[];#a=[];constructor(e,n=0,r=0,i=!0){let o=[1/0,1/0,-1/0,-1/0],s=10**-4;for(let{x:v,y:g,width:y,height:w}of e){let b=Math.floor((v-n)/s)*s,x=Math.ceil((v+y+n)/s)*s,C=Math.floor((g-n)/s)*s,k=Math.ceil((g+w+n)/s)*s,S=[b,C,k,!0],E=[x,C,k,!1];this.#n.push(S,E),pe.rectBoundingBox(b,C,x,k,o)}let l=o[2]-o[0]+2*r,c=o[3]-o[1]+2*r,u=o[0]-r,d=o[1]-r,p=i?-1/0:1/0,h=1/0,m=this.#n.at(i?-1:-2),f=[m[0],m[2]];for(let v of this.#n){let[g,y,w,b]=v;!b&&i?y<h?(h=y,p=g):y===h&&(p=Math.max(p,g)):b&&!i&&(y<h?(h=y,p=g):y===h&&(p=Math.min(p,g))),v[0]=(g-u)/l,v[1]=(y-d)/c,v[2]=(w-d)/c}this.#e=new Float32Array([u,d,l,c]),this.#t=[p,h],this.#r=f}getOutlines(){this.#n.sort((n,r)=>n[0]-r[0]||n[1]-r[1]||n[2]-r[2]);let e=[];for(let n of this.#n)n[3]?(e.push(...this.#l(n)),this.#s(n)):(this.#c(n),e.push(...this.#l(n)));return this.#i(e)}#i(e){let n=[],r=new Set;for(let a of e){let[s,l,c]=a;n.push([s,l,a],[s,c,a])}n.sort((a,s)=>a[1]-s[1]||a[0]-s[0]);for(let a=0,s=n.length;a<s;a+=2){let l=n[a][2],c=n[a+1][2];l.push(c),c.push(l),r.add(l),r.add(c)}let i=[],o;for(;r.size>0;){let a=r.values().next().value,[s,l,c,u,d]=a;r.delete(a);let p=s,h=l;for(o=[s,c],i.push(o);;){let m;if(r.has(u))m=u;else if(r.has(d))m=d;else break;r.delete(m),[s,l,c,u,d]=m,p!==s&&(o.push(p,h,s,h===l?l:c),p=s),h=h===l?c:l}o.push(p,h)}return new Yg(i,this.#e,this.#t,this.#r)}#o(e){let n=this.#a,r=0,i=n.length-1;for(;r<=i;){let o=r+i>>1,a=n[o][0];if(a===e)return o;a<e?r=o+1:i=o-1}return i+1}#s([,e,n]){let r=this.#o(e);this.#a.splice(r,0,[e,n])}#c([,e,n]){let r=this.#o(e);for(let i=r;i<this.#a.length;i++){let[o,a]=this.#a[i];if(o!==e)break;if(o===e&&a===n){this.#a.splice(i,1);return}}for(let i=r-1;i>=0;i--){let[o,a]=this.#a[i];if(o!==e)break;if(o===e&&a===n){this.#a.splice(i,1);return}}}#l(e){let[n,r,i]=e,o=[[n,r,i]],a=this.#o(i);for(let s=0;s<a;s++){let[l,c]=this.#a[s];for(let u=0,d=o.length;u<d;u++){let[,p,h]=o[u];if(!(c<=p||h<=l)){if(p>=l){if(h>c)o[u][1]=c;else{if(d===1)return[];o.splice(u,1),u--,d--}continue}o[u][2]=l,h>c&&o.push([n,c,h])}}}return o}},Yg=class extends de{#e;#t;constructor(e,n,r,i){super(),this.#t=e,this.#e=n,this.firstPoint=r,this.lastPoint=i}toSVGPath(){let e=[];for(let n of this.#t){let[r,i]=n;e.push(`M${r} ${i}`);for(let o=2;o<n.length;o+=2){let a=n[o],s=n[o+1];a===r?(e.push(`V${s}`),i=s):s===i&&(e.push(`H${a}`),r=a)}e.push("Z")}return e.join(" ")}serialize([e,n,r,i],o){let a=[],s=r-e,l=i-n;for(let c of this.#t){let u=new Array(c.length);for(let d=0;d<c.length;d+=2)u[d]=e+c[d]*s,u[d+1]=i-c[d+1]*l;a.push(u)}return a}get box(){return this.#e}get classNamesForOutlining(){return["highlightOutline"]}},Tl=class extends Hd{newFreeDrawOutline(e,n,r,i,o,a){return new Xg(e,n,r,i,o,a)}},Xg=class extends jd{newOutliner(e,n,r,i,o,a=0){return new Tl(e,n,r,i,o,a)}},$d=class t extends at{#e=null;#t=0;#r;#n=null;#a=null;#i=null;#o=null;#s=0;#c=null;#l=null;#p=null;#d=!1;#h=null;#g=null;#f=null;#u="";#m;#y="";static _defaultColor=null;static _defaultOpacity=1;static _defaultThickness=12;static _type="highlight";static _editorType=Ee.HIGHLIGHT;static _freeHighlightId=-1;static _freeHighlight=null;static _freeHighlightClipId="";static get _keyboardManager(){let e=t.prototype;return Ne(this,"_keyboardManager",new No([[["ArrowLeft","mac+ArrowLeft"],e._moveCaret,{args:[0]}],[["ArrowRight","mac+ArrowRight"],e._moveCaret,{args:[1]}],[["ArrowUp","mac+ArrowUp"],e._moveCaret,{args:[2]}],[["ArrowDown","mac+ArrowDown"],e._moveCaret,{args:[3]}]]))}constructor(e){super({...e,name:"highlightEditor"}),this.color=e.color||t._defaultColor,this.#m=e.thickness||t._defaultThickness,this.opacity=e.opacity||t._defaultOpacity,this.#r=e.boxes||null,this.#y=e.methodOfCreation||"",this.#u=e.text||"",this._isDraggable=!1,this.defaultL10nId="pdfjs-editor-highlight-editor",e.highlightId>-1?(this.#d=!0,this.#w(e),this.#C()):this.#r&&(this.#e=e.anchorNode,this.#t=e.anchorOffset,this.#o=e.focusNode,this.#s=e.focusOffset,this.#v(),this.#C(),this.rotate(this.rotation)),this.annotationElementId||this._uiManager.a11yAlert("pdfjs-editor-highlight-added-alert")}get telemetryInitialData(){return{action:"added",type:this.#d?"free_highlight":"highlight",color:this._uiManager.getNonHCMColorName(this.color),thickness:this.#m,methodOfCreation:this.#y}}get telemetryFinalData(){return{type:"highlight",color:this._uiManager.getNonHCMColorName(this.color)}}static computeTelemetryFinalData(e){return{numberOfColors:e.get("color").size}}#v(){let e=new Al(this.#r,.001);this.#l=e.getOutlines(),[this.x,this.y,this.width,this.height]=this.#l.box;let n=new Al(this.#r,.0025,.001,this._uiManager.direction==="ltr");this.#i=n.getOutlines();let{firstPoint:r}=this.#l;this.#h=[(r[0]-this.x)/this.width,(r[1]-this.y)/this.height];let{lastPoint:i}=this.#i;this.#g=[(i[0]-this.x)/this.width,(i[1]-this.y)/this.height]}#w({highlightOutlines:e,highlightId:n,clipPathId:r}){this.#l=e;let i=1.5;if(this.#i=e.getNewOutline(this.#m/2+i,.0025),n>=0)this.#p=n,this.#n=r,this.parent.drawLayer.finalizeDraw(n,{bbox:e.box,path:{d:e.toSVGPath()}}),this.#f=this.parent.drawLayer.drawOutline({rootClass:{highlightOutline:!0,free:!0},bbox:this.#i.box,path:{d:this.#i.toSVGPath()}},!0);else if(this.parent){let d=this.parent.viewport.rotation;this.parent.drawLayer.updateProperties(this.#p,{bbox:t.#k(this.#l.box,(d-this.rotation+360)%360),path:{d:e.toSVGPath()}}),this.parent.drawLayer.updateProperties(this.#f,{bbox:t.#k(this.#i.box,d),path:{d:this.#i.toSVGPath()}})}let[o,a,s,l]=e.box;switch(this.rotation){case 0:this.x=o,this.y=a,this.width=s,this.height=l;break;case 90:{let[d,p]=this.parentDimensions;this.x=a,this.y=1-o,this.width=s*p/d,this.height=l*d/p;break}case 180:this.x=1-o,this.y=1-a,this.width=s,this.height=l;break;case 270:{let[d,p]=this.parentDimensions;this.x=1-a,this.y=o,this.width=s*p/d,this.height=l*d/p;break}}let{firstPoint:c}=e;this.#h=[(c[0]-o)/s,(c[1]-a)/l];let{lastPoint:u}=this.#i;this.#g=[(u[0]-o)/s,(u[1]-a)/l]}static initialize(e,n){at.initialize(e,n),t._defaultColor||=n.highlightColors?.values().next().value||"#fff066"}static updateDefaultParams(e,n){switch(e){case ze.HIGHLIGHT_COLOR:t._defaultColor=n;break;case ze.HIGHLIGHT_THICKNESS:t._defaultThickness=n;break}}translateInPage(e,n){}get toolbarPosition(){return this.#g}get commentButtonPosition(){return this.#h}updateParams(e,n){switch(e){case ze.HIGHLIGHT_COLOR:this.#A(n);break;case ze.HIGHLIGHT_THICKNESS:this.#S(n);break}}static get defaultPropertiesToUpdate(){return[[ze.HIGHLIGHT_COLOR,t._defaultColor],[ze.HIGHLIGHT_THICKNESS,t._defaultThickness]]}get propertiesToUpdate(){return[[ze.HIGHLIGHT_COLOR,this.color||t._defaultColor],[ze.HIGHLIGHT_THICKNESS,this.#m||t._defaultThickness],[ze.HIGHLIGHT_FREE,this.#d]]}onUpdatedColor(){this.parent?.drawLayer.updateProperties(this.#p,{root:{fill:this.color,"fill-opacity":this.opacity}}),this.#a?.updateColor(this.color),super.onUpdatedColor()}#A(e){let n=(o,a)=>{this.color=o,this.opacity=a,this.onUpdatedColor()},r=this.color,i=this.opacity;this.addCommands({cmd:n.bind(this,e,t._defaultOpacity),undo:n.bind(this,r,i),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:ze.HIGHLIGHT_COLOR,overwriteIfSameType:!0,keepUndo:!0}),this._reportTelemetry({action:"color_changed",color:this._uiManager.getNonHCMColorName(e)},!0)}#S(e){let n=this.#m,r=i=>{this.#m=i,this.#b(i)};this.addCommands({cmd:r.bind(this,e),undo:r.bind(this,n),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:ze.INK_THICKNESS,overwriteIfSameType:!0,keepUndo:!0}),this._reportTelemetry({action:"thickness_changed",thickness:e},!0)}get toolbarButtons(){return this._uiManager.highlightColors?[["colorPicker",this.#a=new xl({editor:this})]]:super.toolbarButtons}disableEditing(){super.disableEditing(),this.div.classList.toggle("disabled",!0)}enableEditing(){super.enableEditing(),this.div.classList.toggle("disabled",!1)}fixAndSetPosition(){return super.fixAndSetPosition(this.#I())}getBaseTranslation(){return[0,0]}getRect(e,n){return super.getRect(e,n,this.#I())}onceAdded(e){this.annotationElementId||this.parent.addUndoableEditor(this),e&&this.div.focus()}remove(){this.#R(),this._reportTelemetry({action:"deleted"}),super.remove()}rebuild(){this.parent&&(super.rebuild(),this.div!==null&&(this.#C(),this.isAttachedToDOM||this.parent.add(this)))}setParent(e){let n=!1;this.parent&&!e?this.#R():e&&(this.#C(e),n=!this.parent&&this.div?.classList.contains("selectedEditor")),super.setParent(e),this.show(this._isVisible),n&&this.select()}#b(e){this.#d&&(this.#w({highlightOutlines:this.#l.getNewOutline(e/2)}),this.fixAndSetPosition(),this.setDims(this.width,this.height))}#R(){this.#p===null||!this.parent||(this.parent.drawLayer.remove(this.#p),this.#p=null,this.parent.drawLayer.remove(this.#f),this.#f=null)}#C(e=this.parent){this.#p===null&&({id:this.#p,clipPathId:this.#n}=e.drawLayer.draw({bbox:this.#l.box,root:{viewBox:"0 0 1 1",fill:this.color,"fill-opacity":this.opacity},rootClass:{highlight:!0,free:this.#d},path:{d:this.#l.toSVGPath()}},!1,!0),this.#f=e.drawLayer.drawOutline({rootClass:{highlightOutline:!0,free:this.#d},bbox:this.#i.box,path:{d:this.#i.toSVGPath()}},this.#d),this.#c&&(this.#c.style.clipPath=this.#n))}static#k([e,n,r,i],o){switch(o){case 90:return[1-n-i,e,i,r];case 180:return[1-e-r,1-n-i,r,i];case 270:return[n,1-e-r,i,r]}return[e,n,r,i]}rotate(e){let{drawLayer:n}=this.parent,r;this.#d?(e=(e-this.rotation+360)%360,r=t.#k(this.#l.box,e)):r=t.#k([this.x,this.y,this.width,this.height],e),n.updateProperties(this.#p,{bbox:r,root:{"data-main-rotation":e}}),n.updateProperties(this.#f,{bbox:t.#k(this.#i.box,e),root:{"data-main-rotation":e}})}render(){if(this.div)return this.div;let e=super.render();this.#u&&(e.setAttribute("aria-label",this.#u),e.setAttribute("role","mark")),this.#d?e.classList.add("free"):this.div.addEventListener("keydown",this.#N.bind(this),{signal:this._uiManager._signal});let n=this.#c=document.createElement("div");return e.append(n),n.setAttribute("aria-hidden","true"),n.className="internal",n.style.clipPath=this.#n,this.setDims(this.width,this.height),XC(this,this.#c,["pointerover","pointerleave"]),this.enableEditing(),e}pointerover(){this.isSelected||this.parent?.drawLayer.updateProperties(this.#f,{rootClass:{hovered:!0}})}pointerleave(){this.isSelected||this.parent?.drawLayer.updateProperties(this.#f,{rootClass:{hovered:!1}})}#N(e){t._keyboardManager.exec(this,e)}_moveCaret(e){switch(this.parent.unselect(this),e){case 0:case 2:this.#E(!0);break;case 1:case 3:this.#E(!1);break}}#E(e){if(!this.#e)return;let n=window.getSelection();e?n.setPosition(this.#e,this.#t):n.setPosition(this.#o,this.#s)}select(){super.select(),this.#f&&this.parent?.drawLayer.updateProperties(this.#f,{rootClass:{hovered:!1,selected:!0}})}unselect(){super.unselect(),this.#f&&(this.parent?.drawLayer.updateProperties(this.#f,{rootClass:{selected:!1}}),this.#d||this.#E(!1))}get _mustFixPosition(){return!this.#d}show(e=this._isVisible){super.show(e),this.parent&&(this.parent.drawLayer.updateProperties(this.#p,{rootClass:{hidden:!e}}),this.parent.drawLayer.updateProperties(this.#f,{rootClass:{hidden:!e}}))}#I(){return this.#d?this.rotation:0}#M(){if(this.#d)return null;let[e,n]=this.pageDimensions,[r,i]=this.pageTranslation,o=this.#r,a=new Float32Array(o.length*8),s=0;for(let{x:l,y:c,width:u,height:d}of o){let p=l*e+r,h=(1-c)*n+i;a[s]=a[s+4]=p,a[s+1]=a[s+3]=h,a[s+2]=a[s+6]=p+u*e,a[s+5]=a[s+7]=h-d*n,s+=8}return a}#D(e){return this.#l.serialize(e,this.#I())}static startHighlighting(e,n,{target:r,x:i,y:o}){let{x:a,y:s,width:l,height:c}=r.getBoundingClientRect(),u=new AbortController,d=e.combinedSignal(u),p=h=>{u.abort(),this.#B(e,h)};window.addEventListener("blur",p,{signal:d}),window.addEventListener("pointerup",p,{signal:d}),window.addEventListener("pointerdown",bt,{capture:!0,passive:!1,signal:d}),window.addEventListener("contextmenu",jn,{signal:d}),r.addEventListener("pointermove",this.#L.bind(this,e),{signal:d}),this._freeHighlight=new Tl({x:i,y:o},[a,s,l,c],e.scale,this._defaultThickness/2,n,.001),{id:this._freeHighlightId,clipPathId:this._freeHighlightClipId}=e.drawLayer.draw({bbox:[0,0,1,1],root:{viewBox:"0 0 1 1",fill:this._defaultColor,"fill-opacity":this._defaultOpacity},rootClass:{highlight:!0,free:!0},path:{d:this._freeHighlight.toSVGPath()}},!0,!0)}static#L(e,n){this._freeHighlight.add(n)&&e.drawLayer.updateProperties(this._freeHighlightId,{path:{d:this._freeHighlight.toSVGPath()}})}static#B(e,n){this._freeHighlight.isEmpty()?e.drawLayer.remove(this._freeHighlightId):e.createAndAddNewEditor(n,!1,{highlightId:this._freeHighlightId,highlightOutlines:this._freeHighlight.getOutlines(),clipPathId:this._freeHighlightClipId,methodOfCreation:"main_toolbar"}),this._freeHighlightId=-1,this._freeHighlight=null,this._freeHighlightClipId=""}static async deserialize(e,n,r){let i=null;if(e instanceof zd){let{data:{quadPoints:m,rect:f,rotation:v,id:g,color:y,opacity:w,popupRef:b,richText:x,contentsObj:C,creationDate:k,modificationDate:S},parent:{page:{pageNumber:E}}}=e;i=e={annotationType:Ee.HIGHLIGHT,color:Array.from(y),opacity:w,quadPoints:m,boxes:null,pageIndex:E-1,rect:f.slice(0),rotation:v,annotationElementId:g,id:g,deleted:!1,popupRef:b,richText:x,comment:C?.str||null,creationDate:k,modificationDate:S}}else if(e instanceof kl){let{data:{inkLists:m,rect:f,rotation:v,id:g,color:y,borderStyle:{rawWidth:w},popupRef:b,richText:x,contentsObj:C,creationDate:k,modificationDate:S},parent:{page:{pageNumber:E}}}=e;i=e={annotationType:Ee.HIGHLIGHT,color:Array.from(y),thickness:w,inkLists:m,boxes:null,pageIndex:E-1,rect:f.slice(0),rotation:v,annotationElementId:g,id:g,deleted:!1,popupRef:b,richText:x,comment:C?.str||null,creationDate:k,modificationDate:S}}let{color:o,quadPoints:a,inkLists:s,opacity:l}=e,c=await super.deserialize(e,n,r);c.color=pe.makeHexColor(...o),c.opacity=l||1,s&&(c.#m=e.thickness),c._initialData=i,e.comment&&c.setCommentData(e);let[u,d]=c.pageDimensions,[p,h]=c.pageTranslation;if(a){let m=c.#r=[];for(let f=0;f<a.length;f+=8)m.push({x:(a[f]-p)/u,y:1-(a[f+1]-h)/d,width:(a[f+2]-a[f])/u,height:(a[f+1]-a[f+5])/d});c.#v(),c.#C(),c.rotate(c.rotation)}else if(s){c.#d=!0;let m=s[0],f={x:m[0]-p,y:d-(m[1]-h)},v=new Tl(f,[0,0,u,d],1,c.#m/2,!0,.001);for(let w=0,b=m.length;w<b;w+=2)f.x=m[w]-p,f.y=d-(m[w+1]-h),v.add(f);let{id:g,clipPathId:y}=n.drawLayer.draw({bbox:[0,0,1,1],root:{viewBox:"0 0 1 1",fill:c.color,"fill-opacity":c._defaultOpacity},rootClass:{highlight:!0,free:!0},path:{d:v.toSVGPath()}},!0,!0);c.#w({highlightOutlines:v.getOutlines(),highlightId:g,clipPathId:y}),c.#C(),c.rotate(c.parentRotation)}return c}serialize(e=!1){if(this.isEmpty()||e)return null;if(this.deleted)return this.serializeDeleted();let n=at._colorManager.convert(this._uiManager.getNonHCMColor(this.color)),r=super.serialize(e);return Object.assign(r,{color:n,opacity:this.opacity,thickness:this.#m,quadPoints:this.#M(),outlines:this.#D(r.rect)}),this.addComment(r),this.annotationElementId&&!this.#_(r)?null:(r.id=this.annotationElementId,r)}#_(e){let{color:n}=this._initialData;return this.hasEditedComment||e.color.some((r,i)=>r!==n[i])}renderAnnotationElement(e){return this.deleted?(e.hide(),null):(e.updateEdited({rect:this.getPDFRect(),popup:this.comment}),null)}static canCreateNewEmptyEditor(){return!1}},Vd=class{#e=Object.create(null);updateProperty(e,n){this[e]=n,this.updateSVGProperty(e,n)}updateProperties(e){if(e)for(let[n,r]of Object.entries(e))n.startsWith("_")||this.updateProperty(n,r)}updateSVGProperty(e,n){this.#e[e]=n}toSVGProperties(){let e=this.#e;return this.#e=Object.create(null),{root:e}}reset(){this.#e=Object.create(null)}updateAll(e=this){this.updateProperties(e)}clone(){tt("Not implemented")}},Wd=class t extends at{#e=null;#t;_colorPicker=null;_drawId=null;static _currentDrawId=-1;static _currentParent=null;static#r=null;static#n=null;static#a=null;static#i=NaN;static#o=null;static#s=null;static#c=NaN;static _INNER_MARGIN=3;constructor(e){super(e),this.#t=e.mustBeCommitted||!1,this._addOutlines(e)}onUpdatedColor(){this._colorPicker?.update(this.color),super.onUpdatedColor()}_addOutlines(e){e.drawOutlines&&(this.#l(e),this.#h())}#l({drawOutlines:e,drawId:n,drawingOptions:r}){this.#e=e,this._drawingOptions||=r,this.annotationElementId||this._uiManager.a11yAlert(`pdfjs-editor-${this.editorType}-added-alert`),n>=0?(this._drawId=n,this.parent.drawLayer.finalizeDraw(n,e.defaultProperties)):this._drawId=this.#p(e,this.parent),this.#u(e.box)}#p(e,n){let{id:r}=n.drawLayer.draw(t._mergeSVGProperties(this._drawingOptions.toSVGProperties(),e.defaultSVGProperties),!1,!1);return r}static _mergeSVGProperties(e,n){let r=new Set(Object.keys(e));for(let[i,o]of Object.entries(n))r.has(i)?Object.assign(e[i],o):e[i]=o;return e}static getDefaultDrawingOptions(e){tt("Not implemented")}static get typesMap(){tt("Not implemented")}static get isDrawer(){return!0}static get supportMultipleDrawings(){return!1}static updateDefaultParams(e,n){let r=this.typesMap.get(e);r&&this._defaultDrawingOptions.updateProperty(r,n),this._currentParent&&(t.#r.updateProperty(r,n),this._currentParent.drawLayer.updateProperties(this._currentDrawId,this._defaultDrawingOptions.toSVGProperties()))}updateParams(e,n){let r=this.constructor.typesMap.get(e);r&&this._updateProperty(e,r,n)}static get defaultPropertiesToUpdate(){let e=[],n=this._defaultDrawingOptions;for(let[r,i]of this.typesMap)e.push([r,n[i]]);return e}get propertiesToUpdate(){let e=[],{_drawingOptions:n}=this;for(let[r,i]of this.constructor.typesMap)e.push([r,n[i]]);return e}_updateProperty(e,n,r){let i=this._drawingOptions,o=i[n],a=s=>{i.updateProperty(n,s);let l=this.#e.updateProperty(n,s);l&&this.#u(l),this.parent?.drawLayer.updateProperties(this._drawId,i.toSVGProperties()),e===this.colorType&&this.onUpdatedColor()};this.addCommands({cmd:a.bind(this,r),undo:a.bind(this,o),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:e,overwriteIfSameType:!0,keepUndo:!0})}_onResizing(){this.parent?.drawLayer.updateProperties(this._drawId,t._mergeSVGProperties(this.#e.getPathResizingSVGProperties(this.#f()),{bbox:this.#m()}))}_onResized(){this.parent?.drawLayer.updateProperties(this._drawId,t._mergeSVGProperties(this.#e.getPathResizedSVGProperties(this.#f()),{bbox:this.#m()}))}_onTranslating(e,n){this.parent?.drawLayer.updateProperties(this._drawId,{bbox:this.#m()})}_onTranslated(){this.parent?.drawLayer.updateProperties(this._drawId,t._mergeSVGProperties(this.#e.getPathTranslatedSVGProperties(this.#f(),this.parentDimensions),{bbox:this.#m()}))}_onStartDragging(){this.parent?.drawLayer.updateProperties(this._drawId,{rootClass:{moving:!0}})}_onStopDragging(){this.parent?.drawLayer.updateProperties(this._drawId,{rootClass:{moving:!1}})}commit(){super.commit(),this.disableEditMode(),this.disableEditing()}disableEditing(){super.disableEditing(),this.div.classList.toggle("disabled",!0)}enableEditing(){super.enableEditing(),this.div.classList.toggle("disabled",!1)}getBaseTranslation(){return[0,0]}get isResizable(){return!0}onceAdded(e){this.annotationElementId||this.parent.addUndoableEditor(this),this._isDraggable=!0,this.#t&&(this.#t=!1,this.commit(),this.parent.setSelected(this),e&&this.isOnScreen&&this.div.focus())}remove(){this.#d(),super.remove()}rebuild(){this.parent&&(super.rebuild(),this.div!==null&&(this.#h(),this.#u(this.#e.box),this.isAttachedToDOM||this.parent.add(this)))}setParent(e){let n=!1;this.parent&&!e?(this._uiManager.removeShouldRescale(this),this.#d()):e&&(this._uiManager.addShouldRescale(this),this.#h(e),n=!this.parent&&this.div?.classList.contains("selectedEditor")),super.setParent(e),n&&this.select()}#d(){this._drawId===null||!this.parent||(this.parent.drawLayer.remove(this._drawId),this._drawId=null,this._drawingOptions.reset())}#h(e=this.parent){if(!(this._drawId!==null&&this.parent===e)){if(this._drawId!==null){this.parent.drawLayer.updateParent(this._drawId,e.drawLayer);return}this._drawingOptions.updateAll(),this._drawId=this.#p(this.#e,e)}}#g([e,n,r,i]){let{parentDimensions:[o,a],rotation:s}=this;switch(s){case 90:return[n,1-e,r*(a/o),i*(o/a)];case 180:return[1-e,1-n,r,i];case 270:return[1-n,e,r*(a/o),i*(o/a)];default:return[e,n,r,i]}}#f(){let{x:e,y:n,width:r,height:i,parentDimensions:[o,a],rotation:s}=this;switch(s){case 90:return[1-n,e,r*(o/a),i*(a/o)];case 180:return[1-e,1-n,r,i];case 270:return[n,1-e,r*(o/a),i*(a/o)];default:return[e,n,r,i]}}#u(e){[this.x,this.y,this.width,this.height]=this.#g(e),this.div&&(this.fixAndSetPosition(),this.setDims()),this._onResized()}#m(){let{x:e,y:n,width:r,height:i,rotation:o,parentRotation:a,parentDimensions:[s,l]}=this;switch((o*4+a)/90){case 1:return[1-n-i,e,i,r];case 2:return[1-e-r,1-n-i,r,i];case 3:return[n,1-e-r,i,r];case 4:return[e,n-r*(s/l),i*(l/s),r*(s/l)];case 5:return[1-n,e,r*(s/l),i*(l/s)];case 6:return[1-e-i*(l/s),1-n,i*(l/s),r*(s/l)];case 7:return[n-r*(s/l),1-e-i*(l/s),r*(s/l),i*(l/s)];case 8:return[e-r,n-i,r,i];case 9:return[1-n,e-r,i,r];case 10:return[1-e,1-n,r,i];case 11:return[n-i,1-e,i,r];case 12:return[e-i*(l/s),n,i*(l/s),r*(s/l)];case 13:return[1-n-r*(s/l),e-i*(l/s),r*(s/l),i*(l/s)];case 14:return[1-e,1-n-r*(s/l),i*(l/s),r*(s/l)];case 15:return[n,1-e,r*(s/l),i*(l/s)];default:return[e,n,r,i]}}rotate(){this.parent&&this.parent.drawLayer.updateProperties(this._drawId,t._mergeSVGProperties({bbox:this.#m()},this.#e.updateRotation((this.parentRotation-this.rotation+360)%360)))}onScaleChanging(){this.parent&&this.#u(this.#e.updateParentDimensions(this.parentDimensions,this.parent.scale))}static onScaleChangingWhenDrawing(){}render(){if(this.div)return this.div;let e,n;this._isCopy&&(e=this.x,n=this.y);let r=super.render();r.classList.add("draw");let i=document.createElement("div");return r.append(i),i.setAttribute("aria-hidden","true"),i.className="internal",this.setDims(),this._uiManager.addShouldRescale(this),this.disableEditing(),this._isCopy&&this._moveAfterPaste(e,n),r}static createDrawerInstance(e,n,r,i,o){tt("Not implemented")}static startDrawing(e,n,r,i){let{target:o,offsetX:a,offsetY:s,pointerId:l,pointerType:c}=i;if(t.#o&&t.#o!==c)return;let{viewport:{rotation:u}}=e,{width:d,height:p}=o.getBoundingClientRect(),h=t.#n=new AbortController,m=e.combinedSignal(h);if(t.#i||=l,t.#o??=c,window.addEventListener("pointerup",f=>{t.#i===f.pointerId?this._endDraw(f):t.#s?.delete(f.pointerId)},{signal:m}),window.addEventListener("pointercancel",f=>{t.#i===f.pointerId?this._currentParent.endDrawingSession():t.#s?.delete(f.pointerId)},{signal:m}),window.addEventListener("pointerdown",f=>{t.#o===f.pointerType&&((t.#s||=new Set).add(f.pointerId),t.#r.isCancellable()&&(t.#r.removeLastElement(),t.#r.isEmpty()?this._currentParent.endDrawingSession(!0):this._endDraw(null)))},{capture:!0,passive:!1,signal:m}),window.addEventListener("contextmenu",jn,{signal:m}),o.addEventListener("pointermove",this._drawMove.bind(this),{signal:m}),o.addEventListener("touchmove",f=>{f.timeStamp===t.#c&&bt(f)},{signal:m}),e.toggleDrawing(),n._editorUndoBar?.hide(),t.#r){e.drawLayer.updateProperties(this._currentDrawId,t.#r.startNew(a,s,d,p,u));return}n.updateUIForDefaultProperties(this),t.#r=this.createDrawerInstance(a,s,d,p,u),t.#a=this.getDefaultDrawingOptions(),this._currentParent=e,{id:this._currentDrawId}=e.drawLayer.draw(this._mergeSVGProperties(t.#a.toSVGProperties(),t.#r.defaultSVGProperties),!0,!1)}static _drawMove(e){if(t.#c=-1,!t.#r)return;let{offsetX:n,offsetY:r,pointerId:i}=e;if(t.#i===i){if(t.#s?.size>=1){this._endDraw(e);return}this._currentParent.drawLayer.updateProperties(this._currentDrawId,t.#r.add(n,r)),t.#c=e.timeStamp,bt(e)}}static _cleanup(e){e&&(this._currentDrawId=-1,this._currentParent=null,t.#r=null,t.#a=null,t.#o=null,t.#c=NaN),t.#n&&(t.#n.abort(),t.#n=null,t.#i=NaN,t.#s=null)}static _endDraw(e){let n=this._currentParent;if(n){if(n.toggleDrawing(!0),this._cleanup(!1),e?.target===n.div&&n.drawLayer.updateProperties(this._currentDrawId,t.#r.end(e.offsetX,e.offsetY)),this.supportMultipleDrawings){let r=t.#r,i=this._currentDrawId,o=r.getLastElement();n.addCommands({cmd:()=>{n.drawLayer.updateProperties(i,r.setLastElement(o))},undo:()=>{n.drawLayer.updateProperties(i,r.removeLastElement())},mustExec:!1,type:ze.DRAW_STEP});return}this.endDrawing(!1)}}static endDrawing(e){let n=this._currentParent;if(!n)return null;if(n.toggleDrawing(!0),n.cleanUndoStack(ze.DRAW_STEP),!t.#r.isEmpty()){let{pageDimensions:[r,i],scale:o}=n,a=n.createAndAddNewEditor({offsetX:0,offsetY:0},!1,{drawId:this._currentDrawId,drawOutlines:t.#r.getOutlines(r*o,i*o,o,this._INNER_MARGIN),drawingOptions:t.#a,mustBeCommitted:!e});return this._cleanup(!0),a}return n.drawLayer.remove(this._currentDrawId),this._cleanup(!0),null}createDrawingOptions(e){}static deserializeDraw(e,n,r,i,o,a){tt("Not implemented")}static async deserialize(e,n,r){let{rawDims:{pageWidth:i,pageHeight:o,pageX:a,pageY:s}}=n.viewport,l=this.deserializeDraw(a,s,i,o,this._INNER_MARGIN,e),c=await super.deserialize(e,n,r);return c.createDrawingOptions(e),c.#l({drawOutlines:l}),c.#h(),c.onScaleChanging(),c.rotate(),c}serializeDraw(e){let[n,r]=this.pageTranslation,[i,o]=this.pageDimensions;return this.#e.serialize([n,r,i,o],e)}renderAnnotationElement(e){return e.updateEdited({rect:this.getPDFRect()}),null}static canCreateNewEmptyEditor(){return!1}},Zg=class{#e=new Float64Array(6);#t;#r;#n;#a;#i;#o="";#s=0;#c=new Oo;#l;#p;constructor(e,n,r,i,o,a){this.#l=r,this.#p=i,this.#n=o,this.#a=a,[e,n]=this.#d(e,n);let s=this.#t=[NaN,NaN,NaN,NaN,e,n];this.#i=[e,n],this.#r=[{line:s,points:this.#i}],this.#e.set(s,0)}updateProperty(e,n){e==="stroke-width"&&(this.#a=n)}#d(e,n){return de._normalizePoint(e,n,this.#l,this.#p,this.#n)}isEmpty(){return!this.#r||this.#r.length===0}isCancellable(){return this.#i.length<=10}add(e,n){[e,n]=this.#d(e,n);let[r,i,o,a]=this.#e.subarray(2,6),s=e-o,l=n-a;return Math.hypot(this.#l*s,this.#p*l)<=2?null:(this.#i.push(e,n),isNaN(r)?(this.#e.set([o,a,e,n],2),this.#t.push(NaN,NaN,NaN,NaN,e,n),{path:{d:this.toSVGPath()}}):(isNaN(this.#e[0])&&this.#t.splice(6,6),this.#e.set([r,i,o,a,e,n],0),this.#t.push(...de.createBezierPoints(r,i,o,a,e,n)),{path:{d:this.toSVGPath()}}))}end(e,n){let r=this.add(e,n);return r||(this.#i.length===2?{path:{d:this.toSVGPath()}}:null)}startNew(e,n,r,i,o){this.#l=r,this.#p=i,this.#n=o,[e,n]=this.#d(e,n);let a=this.#t=[NaN,NaN,NaN,NaN,e,n];this.#i=[e,n];let s=this.#r.at(-1);return s&&(s.line=new Float32Array(s.line),s.points=new Float32Array(s.points)),this.#r.push({line:a,points:this.#i}),this.#e.set(a,0),this.#s=0,this.toSVGPath(),null}getLastElement(){return this.#r.at(-1)}setLastElement(e){return this.#r?(this.#r.push(e),this.#t=e.line,this.#i=e.points,this.#s=0,{path:{d:this.toSVGPath()}}):this.#c.setLastElement(e)}removeLastElement(){if(!this.#r)return this.#c.removeLastElement();this.#r.pop(),this.#o="";for(let e=0,n=this.#r.length;e<n;e++){let{line:r,points:i}=this.#r[e];this.#t=r,this.#i=i,this.#s=0,this.toSVGPath()}return{path:{d:this.#o}}}toSVGPath(){let e=de.svgRound(this.#t[4]),n=de.svgRound(this.#t[5]);if(this.#i.length===2)return this.#o=`${this.#o} M ${e} ${n} Z`,this.#o;if(this.#i.length<=6){let i=this.#o.lastIndexOf("M");this.#o=`${this.#o.slice(0,i)} M ${e} ${n}`,this.#s=6}if(this.#i.length===4){let i=de.svgRound(this.#t[10]),o=de.svgRound(this.#t[11]);return this.#o=`${this.#o} L ${i} ${o}`,this.#s=12,this.#o}let r=[];this.#s===0&&(r.push(`M ${e} ${n}`),this.#s=6);for(let i=this.#s,o=this.#t.length;i<o;i+=6){let[a,s,l,c,u,d]=this.#t.slice(i,i+6).map(de.svgRound);r.push(`C${a} ${s} ${l} ${c} ${u} ${d}`)}return this.#o+=r.join(" "),this.#s=this.#t.length,this.#o}getOutlines(e,n,r,i){let o=this.#r.at(-1);return o.line=new Float32Array(o.line),o.points=new Float32Array(o.points),this.#c.build(this.#r,e,n,r,this.#n,this.#a,i),this.#e=null,this.#t=null,this.#r=null,this.#o=null,this.#c}get defaultSVGProperties(){return{root:{viewBox:"0 0 10000 10000"},rootClass:{draw:!0},bbox:[0,0,1,1]}}},Oo=class extends de{#e;#t=0;#r;#n;#a;#i;#o;#s;#c;build(e,n,r,i,o,a,s){this.#a=n,this.#i=r,this.#o=i,this.#s=o,this.#c=a,this.#r=s??0,this.#n=e,this.#d()}get thickness(){return this.#c}setLastElement(e){return this.#n.push(e),{path:{d:this.toSVGPath()}}}removeLastElement(){return this.#n.pop(),{path:{d:this.toSVGPath()}}}toSVGPath(){let e=[];for(let{line:n}of this.#n){if(e.push(`M${de.svgRound(n[4])} ${de.svgRound(n[5])}`),n.length===6){e.push("Z");continue}if(n.length===12&&isNaN(n[6])){e.push(`L${de.svgRound(n[10])} ${de.svgRound(n[11])}`);continue}for(let r=6,i=n.length;r<i;r+=6){let[o,a,s,l,c,u]=n.subarray(r,r+6).map(de.svgRound);e.push(`C${o} ${a} ${s} ${l} ${c} ${u}`)}}return e.join("")}serialize([e,n,r,i],o){let a=[],s=[],[l,c,u,d]=this.#p(),p,h,m,f,v,g,y,w,b;switch(this.#s){case 0:b=de._rescale,p=e,h=n+i,m=r,f=-i,v=e+l*r,g=n+(1-c-d)*i,y=e+(l+u)*r,w=n+(1-c)*i;break;case 90:b=de._rescaleAndSwap,p=e,h=n,m=r,f=i,v=e+c*r,g=n+l*i,y=e+(c+d)*r,w=n+(l+u)*i;break;case 180:b=de._rescale,p=e+r,h=n,m=-r,f=i,v=e+(1-l-u)*r,g=n+c*i,y=e+(1-l)*r,w=n+(c+d)*i;break;case 270:b=de._rescaleAndSwap,p=e+r,h=n+i,m=-r,f=-i,v=e+(1-c-d)*r,g=n+(1-l-u)*i,y=e+(1-c)*r,w=n+(1-l)*i;break}for(let{line:x,points:C}of this.#n)a.push(b(x,p,h,m,f,o?new Array(x.length):null)),s.push(b(C,p,h,m,f,o?new Array(C.length):null));return{lines:a,points:s,rect:[v,g,y,w]}}static deserialize(e,n,r,i,o,{paths:{lines:a,points:s},rotation:l,thickness:c}){let u=[],d,p,h,m,f;switch(l){case 0:f=de._rescale,d=-e/r,p=n/i+1,h=1/r,m=-1/i;break;case 90:f=de._rescaleAndSwap,d=-n/i,p=-e/r,h=1/i,m=1/r;break;case 180:f=de._rescale,d=e/r+1,p=-n/i,h=-1/r,m=1/i;break;case 270:f=de._rescaleAndSwap,d=n/i+1,p=e/r+1,h=-1/i,m=-1/r;break}if(!a){a=[];for(let g of s){let y=g.length;if(y===2){a.push(new Float32Array([NaN,NaN,NaN,NaN,g[0],g[1]]));continue}if(y===4){a.push(new Float32Array([NaN,NaN,NaN,NaN,g[0],g[1],NaN,NaN,NaN,NaN,g[2],g[3]]));continue}let w=new Float32Array(3*(y-2));a.push(w);let[b,x,C,k]=g.subarray(0,4);w.set([NaN,NaN,NaN,NaN,b,x],0);for(let S=4;S<y;S+=2){let E=g[S],D=g[S+1];w.set(de.createBezierPoints(b,x,C,k,E,D),(S-2)*3),[b,x,C,k]=[C,k,E,D]}}}for(let g=0,y=a.length;g<y;g++)u.push({line:f(a[g].map(w=>w??NaN),d,p,h,m),points:f(s[g].map(w=>w??NaN),d,p,h,m)});let v=new this.prototype.constructor;return v.build(u,r,i,1,l,c,o),v}#l(e=this.#c){let n=this.#r+e/2*this.#o;return this.#s%180===0?[n/this.#a,n/this.#i]:[n/this.#i,n/this.#a]}#p(){let[e,n,r,i]=this.#e,[o,a]=this.#l(0);return[e+o,n+a,r-2*o,i-2*a]}#d(){let e=this.#e=new Float32Array([1/0,1/0,-1/0,-1/0]);for(let{line:i}of this.#n){if(i.length<=12){for(let s=4,l=i.length;s<l;s+=6)pe.pointBoundingBox(i[s],i[s+1],e);continue}let o=i[4],a=i[5];for(let s=6,l=i.length;s<l;s+=6){let[c,u,d,p,h,m]=i.subarray(s,s+6);pe.bezierBoundingBox(o,a,c,u,d,p,h,m,e),o=h,a=m}}let[n,r]=this.#l();e[0]=dn(e[0]-n,0,1),e[1]=dn(e[1]-r,0,1),e[2]=dn(e[2]+n,0,1),e[3]=dn(e[3]+r,0,1),e[2]-=e[0],e[3]-=e[1]}get box(){return this.#e}updateProperty(e,n){return e==="stroke-width"?this.#h(n):null}#h(e){let[n,r]=this.#l();this.#c=e;let[i,o]=this.#l(),[a,s]=[i-n,o-r],l=this.#e;return l[0]-=a,l[1]-=s,l[2]+=2*a,l[3]+=2*s,l}updateParentDimensions([e,n],r){let[i,o]=this.#l();this.#a=e,this.#i=n,this.#o=r;let[a,s]=this.#l(),l=a-i,c=s-o,u=this.#e;return u[0]-=l,u[1]-=c,u[2]+=2*l,u[3]+=2*c,u}updateRotation(e){return this.#t=e,{path:{transform:this.rotationTransform}}}get viewBox(){return this.#e.map(de.svgRound).join(" ")}get defaultProperties(){let[e,n]=this.#e;return{root:{viewBox:this.viewBox},path:{"transform-origin":`${de.svgRound(e)} ${de.svgRound(n)}`}}}get rotationTransform(){let[,,e,n]=this.#e,r=0,i=0,o=0,a=0,s=0,l=0;switch(this.#t){case 90:i=n/e,o=-e/n,s=e;break;case 180:r=-1,a=-1,s=e,l=n;break;case 270:i=-n/e,o=e/n,l=n;break;default:return""}return`matrix(${r} ${i} ${o} ${a} ${de.svgRound(s)} ${de.svgRound(l)})`}getPathResizingSVGProperties([e,n,r,i]){let[o,a]=this.#l(),[s,l,c,u]=this.#e;if(Math.abs(c-o)<=de.PRECISION||Math.abs(u-a)<=de.PRECISION){let f=e+r/2-(s+c/2),v=n+i/2-(l+u/2);return{path:{"transform-origin":`${de.svgRound(e)} ${de.svgRound(n)}`,transform:`${this.rotationTransform} translate(${f} ${v})`}}}let d=(r-2*o)/(c-2*o),p=(i-2*a)/(u-2*a),h=c/r,m=u/i;return{path:{"transform-origin":`${de.svgRound(s)} ${de.svgRound(l)}`,transform:`${this.rotationTransform} scale(${h} ${m}) translate(${de.svgRound(o)} ${de.svgRound(a)}) scale(${d} ${p}) translate(${de.svgRound(-o)} ${de.svgRound(-a)})`}}}getPathResizedSVGProperties([e,n,r,i]){let[o,a]=this.#l(),s=this.#e,[l,c,u,d]=s;if(s[0]=e,s[1]=n,s[2]=r,s[3]=i,Math.abs(u-o)<=de.PRECISION||Math.abs(d-a)<=de.PRECISION){let v=e+r/2-(l+u/2),g=n+i/2-(c+d/2);for(let{line:y,points:w}of this.#n)de._translate(y,v,g,y),de._translate(w,v,g,w);return{root:{viewBox:this.viewBox},path:{"transform-origin":`${de.svgRound(e)} ${de.svgRound(n)}`,transform:this.rotationTransform||null,d:this.toSVGPath()}}}let p=(r-2*o)/(u-2*o),h=(i-2*a)/(d-2*a),m=-p*(l+o)+e+o,f=-h*(c+a)+n+a;if(p!==1||h!==1||m!==0||f!==0)for(let{line:v,points:g}of this.#n)de._rescale(v,m,f,p,h,v),de._rescale(g,m,f,p,h,g);return{root:{viewBox:this.viewBox},path:{"transform-origin":`${de.svgRound(e)} ${de.svgRound(n)}`,transform:this.rotationTransform||null,d:this.toSVGPath()}}}getPathTranslatedSVGProperties([e,n],r){let[i,o]=r,a=this.#e,s=e-a[0],l=n-a[1];if(this.#a===i&&this.#i===o)for(let{line:c,points:u}of this.#n)de._translate(c,s,l,c),de._translate(u,s,l,u);else{let c=this.#a/i,u=this.#i/o;this.#a=i,this.#i=o;for(let{line:d,points:p}of this.#n)de._rescale(d,s,l,c,u,d),de._rescale(p,s,l,c,u,p);a[2]*=c,a[3]*=u}return a[0]=e,a[1]=n,{root:{viewBox:this.viewBox},path:{d:this.toSVGPath(),"transform-origin":`${de.svgRound(e)} ${de.svgRound(n)}`}}}get defaultSVGProperties(){let e=this.#e;return{root:{viewBox:this.viewBox},rootClass:{draw:!0},path:{d:this.toSVGPath(),"transform-origin":`${de.svgRound(e[0])} ${de.svgRound(e[1])}`,transform:this.rotationTransform||null},bbox:e}}},Kd=class t extends Vd{constructor(e){super(),this._viewParameters=e,super.updateProperties({fill:"none",stroke:at._defaultLineColor,"stroke-opacity":1,"stroke-width":1,"stroke-linecap":"round","stroke-linejoin":"round","stroke-miterlimit":10})}updateSVGProperty(e,n){e==="stroke-width"&&(n??=this["stroke-width"],n*=this._viewParameters.realScale),super.updateSVGProperty(e,n)}clone(){let e=new t(this._viewParameters);return e.updateAll(this),e}},qg=class t extends Wd{static _type="ink";static _editorType=Ee.INK;static _defaultDrawingOptions=null;constructor(e){super({...e,name:"inkEditor"}),this._willKeepAspectRatio=!0,this.defaultL10nId="pdfjs-editor-ink-editor"}static initialize(e,n){at.initialize(e,n),this._defaultDrawingOptions=new Kd(n.viewParameters)}static getDefaultDrawingOptions(e){let n=this._defaultDrawingOptions.clone();return n.updateProperties(e),n}static get supportMultipleDrawings(){return!0}static get typesMap(){return Ne(this,"typesMap",new Map([[ze.INK_THICKNESS,"stroke-width"],[ze.INK_COLOR,"stroke"],[ze.INK_OPACITY,"stroke-opacity"]]))}static createDrawerInstance(e,n,r,i,o){return new Zg(e,n,r,i,o,this._defaultDrawingOptions["stroke-width"])}static deserializeDraw(e,n,r,i,o,a){return Oo.deserialize(e,n,r,i,o,a)}static async deserialize(e,n,r){let i=null;if(e instanceof kl){let{data:{inkLists:a,rect:s,rotation:l,id:c,color:u,opacity:d,borderStyle:{rawWidth:p},popupRef:h,richText:m,contentsObj:f,creationDate:v,modificationDate:g},parent:{page:{pageNumber:y}}}=e;i=e={annotationType:Ee.INK,color:Array.from(u),thickness:p,opacity:d,paths:{points:a},boxes:null,pageIndex:y-1,rect:s.slice(0),rotation:l,annotationElementId:c,id:c,deleted:!1,popupRef:h,richText:m,comment:f?.str||null,creationDate:v,modificationDate:g}}let o=await super.deserialize(e,n,r);return o._initialData=i,e.comment&&o.setCommentData(e),o}get toolbarButtons(){return this._colorPicker||=new Od(this),[["colorPicker",this._colorPicker]]}get colorType(){return ze.INK_COLOR}get color(){return this._drawingOptions.stroke}get opacity(){return this._drawingOptions["stroke-opacity"]}onScaleChanging(){if(!this.parent)return;super.onScaleChanging();let{_drawId:e,_drawingOptions:n,parent:r}=this;n.updateSVGProperty("stroke-width"),r.drawLayer.updateProperties(e,n.toSVGProperties())}static onScaleChangingWhenDrawing(){let e=this._currentParent;e&&(super.onScaleChangingWhenDrawing(),this._defaultDrawingOptions.updateSVGProperty("stroke-width"),e.drawLayer.updateProperties(this._currentDrawId,this._defaultDrawingOptions.toSVGProperties()))}createDrawingOptions({color:e,thickness:n,opacity:r}){this._drawingOptions=t.getDefaultDrawingOptions({stroke:pe.makeHexColor(...e),"stroke-width":n,"stroke-opacity":r})}serialize(e=!1){if(this.isEmpty())return null;if(this.deleted)return this.serializeDeleted();let{lines:n,points:r}=this.serializeDraw(e),{_drawingOptions:{stroke:i,"stroke-opacity":o,"stroke-width":a}}=this,s=Object.assign(super.serialize(e),{color:at._colorManager.convert(i),opacity:o,thickness:a,paths:{lines:n,points:r}});return this.addComment(s),e?(s.isCopy=!0,s):this.annotationElementId&&!this.#e(s)?null:(s.id=this.annotationElementId,s)}#e(e){let{color:n,thickness:r,opacity:i,pageIndex:o}=this._initialData;return this.hasEditedComment||this._hasBeenMoved||this._hasBeenResized||e.color.some((a,s)=>a!==n[s])||e.thickness!==r||e.opacity!==i||e.pageIndex!==o}renderAnnotationElement(e){if(this.deleted)return e.hide(),null;let{points:n,rect:r}=this.serializeDraw(!1);return e.updateEdited({rect:r,thickness:this._drawingOptions["stroke-width"],points:n,popup:this.comment}),null}},Rl=class extends Oo{toSVGPath(){let e=super.toSVGPath();return e.endsWith("Z")||(e+="Z"),e}},dd=8,cl=3,ai=class{static#e={maxDim:512,sigmaSFactor:.02,sigmaR:25,kernelSize:16};static#t(e,n,r,i){return r-=e,i-=n,r===0?i>0?0:4:r===1?i+6:2-i}static#r=new Int32Array([0,1,-1,1,-1,0,-1,-1,0,-1,1,-1,1,0,1,1]);static#n(e,n,r,i,o,a,s){let l=this.#t(r,i,o,a);for(let c=0;c<8;c++){let u=(-c+l-s+16)%8,d=this.#r[2*u],p=this.#r[2*u+1];if(e[(r+d)*n+(i+p)]!==0)return u}return-1}static#a(e,n,r,i,o,a,s){let l=this.#t(r,i,o,a);for(let c=0;c<8;c++){let u=(c+l+s+16)%8,d=this.#r[2*u],p=this.#r[2*u+1];if(e[(r+d)*n+(i+p)]!==0)return u}return-1}static#i(e,n,r,i){let o=e.length,a=new Int32Array(o);for(let u=0;u<o;u++)a[u]=e[u]<=i?1:0;for(let u=1;u<r-1;u++)a[u*n]=a[u*n+n-1]=0;for(let u=0;u<n;u++)a[u]=a[n*r-1-u]=0;let s=1,l,c=[];for(let u=1;u<r-1;u++){l=1;for(let d=1;d<n-1;d++){let p=u*n+d,h=a[p];if(h===0)continue;let m=u,f=d;if(h===1&&a[p-1]===0)s+=1,f-=1;else if(h>=1&&a[p+1]===0)s+=1,f+=1,h>1&&(l=h);else{h!==1&&(l=Math.abs(h));continue}let v=[d,u],g=f===d+1,y={isHole:g,points:v,id:s,parent:0};c.push(y);let w;for(let O of c)if(O.id===l){w=O;break}w?w.isHole?y.parent=g?w.parent:l:y.parent=g?l:w.parent:y.parent=g?l:0;let b=this.#n(a,n,u,d,m,f,0);if(b===-1){a[p]=-s,a[p]!==1&&(l=Math.abs(a[p]));continue}let x=this.#r[2*b],C=this.#r[2*b+1],k=u+x,S=d+C;m=k,f=S;let E=u,D=d;for(;;){let O=this.#a(a,n,E,D,m,f,1);x=this.#r[2*O],C=this.#r[2*O+1];let H=E+x,M=D+C;v.push(M,H);let _=E*n+D;if(a[_+1]===0?a[_]=-s:a[_]===1&&(a[_]=s),H===u&&M===d&&E===k&&D===S){a[p]!==1&&(l=Math.abs(a[p]));break}else m=E,f=D,E=H,D=M}}}return c}static#o(e,n,r,i){if(r-n<=4){for(let k=n;k<r-2;k+=2)i.push(e[k],e[k+1]);return}let o=e[n],a=e[n+1],s=e[r-4]-o,l=e[r-3]-a,c=Math.hypot(s,l),u=s/c,d=l/c,p=u*a-d*o,h=l/s,m=1/c,f=Math.atan(h),v=Math.cos(f),g=Math.sin(f),y=m*(Math.abs(v)+Math.abs(g)),w=m*(1-y+y**2),b=Math.max(Math.atan(Math.abs(g+v)*w),Math.atan(Math.abs(g-v)*w)),x=0,C=n;for(let k=n+2;k<r-2;k+=2){let S=Math.abs(p-u*e[k+1]+d*e[k]);S>x&&(C=k,x=S)}x>(c*b)**2?(this.#o(e,n,C+2,i),this.#o(e,C,r,i)):i.push(o,a)}static#s(e){let n=[],r=e.length;return this.#o(e,0,r,n),n.push(e[r-2],e[r-1]),n.length<=4?null:n}static#c(e,n,r,i,o,a){let s=new Float32Array(a**2),l=-2*i**2,c=a>>1;for(let f=0;f<a;f++){let v=(f-c)**2;for(let g=0;g<a;g++)s[f*a+g]=Math.exp((v+(g-c)**2)/l)}let u=new Float32Array(256),d=-2*o**2;for(let f=0;f<256;f++)u[f]=Math.exp(f**2/d);let p=e.length,h=new Uint8Array(p),m=new Uint32Array(256);for(let f=0;f<r;f++)for(let v=0;v<n;v++){let g=f*n+v,y=e[g],w=0,b=0;for(let C=0;C<a;C++){let k=f+C-c;if(!(k<0||k>=r))for(let S=0;S<a;S++){let E=v+S-c;if(E<0||E>=n)continue;let D=e[k*n+E],O=s[C*a+S]*u[Math.abs(D-y)];w+=D*O,b+=O}}let x=h[g]=Math.round(w/b);m[x]++}return[h,m]}static#l(e){let n=new Uint32Array(256);for(let r of e)n[r]++;return n}static#p(e){let n=e.length,r=new Uint8ClampedArray(n>>2),i=-1/0,o=1/0;for(let s=0,l=r.length;s<l;s++){let c=r[s]=e[s<<2];i=Math.max(i,c),o=Math.min(o,c)}let a=255/(i-o);for(let s=0,l=r.length;s<l;s++)r[s]=(r[s]-o)*a;return r}static#d(e){let n,r=-1/0,i=-1/0,o=e.findIndex(l=>l!==0),a=o,s=o;for(n=o;n<256;n++){let l=e[n];l>r&&(n-a>i&&(i=n-a,s=n-1),r=l,a=n)}for(n=s-1;n>=0&&!(e[n]>e[n+1]);n--);return n}static#h(e){let n=e,{width:r,height:i}=e,{maxDim:o}=this.#e,a=r,s=i;if(r>o||i>o){let p=r,h=i,m=Math.log2(Math.max(r,i)/o),f=Math.floor(m);m=m===f?f-1:f;for(let g=0;g<m;g++){a=Math.ceil(p/2),s=Math.ceil(h/2);let y=new OffscreenCanvas(a,s);y.getContext("2d").drawImage(e,0,0,p,h,0,0,a,s),p=a,h=s,e!==n&&e.close(),e=y.transferToImageBitmap()}let v=Math.min(o/a,o/s);a=Math.round(a*v),s=Math.round(s*v)}let c=new OffscreenCanvas(a,s).getContext("2d",{willReadFrequently:!0});c.fillStyle="white",c.fillRect(0,0,a,s),c.filter="grayscale(1)",c.drawImage(e,0,0,e.width,e.height,0,0,a,s);let u=c.getImageData(0,0,a,s).data;return[this.#p(u),a,s]}static extractContoursFromText(e,{fontFamily:n,fontStyle:r,fontWeight:i},o,a,s,l){let c=new OffscreenCanvas(1,1),u=c.getContext("2d",{alpha:!1}),d=200,p=u.font=`${r} ${i} ${d}px ${n}`,{actualBoundingBoxLeft:h,actualBoundingBoxRight:m,actualBoundingBoxAscent:f,actualBoundingBoxDescent:v,fontBoundingBoxAscent:g,fontBoundingBoxDescent:y,width:w}=u.measureText(e),b=1.5,x=Math.ceil(Math.max(Math.abs(h)+Math.abs(m)||0,w)*b),C=Math.ceil(Math.max(Math.abs(f)+Math.abs(v)||d,Math.abs(g)+Math.abs(y)||d)*b);c=new OffscreenCanvas(x,C),u=c.getContext("2d",{alpha:!0,willReadFrequently:!0}),u.font=p,u.filter="grayscale(1)",u.fillStyle="white",u.fillRect(0,0,x,C),u.fillStyle="black",u.fillText(e,x*(b-1)/2,C*(3-b)/2);let k=this.#p(u.getImageData(0,0,x,C).data),S=this.#l(k),E=this.#d(S),D=this.#i(k,x,C,E);return this.processDrawnLines({lines:{curves:D,width:x,height:C},pageWidth:o,pageHeight:a,rotation:s,innerMargin:l,mustSmooth:!0,areContours:!0})}static process(e,n,r,i,o){let[a,s,l]=this.#h(e),[c,u]=this.#c(a,s,l,Math.hypot(s,l)*this.#e.sigmaSFactor,this.#e.sigmaR,this.#e.kernelSize),d=this.#d(u),p=this.#i(c,s,l,d);return this.processDrawnLines({lines:{curves:p,width:s,height:l},pageWidth:n,pageHeight:r,rotation:i,innerMargin:o,mustSmooth:!0,areContours:!0})}static processDrawnLines({lines:e,pageWidth:n,pageHeight:r,rotation:i,innerMargin:o,mustSmooth:a,areContours:s}){i%180!==0&&([n,r]=[r,n]);let{curves:l,width:c,height:u}=e,d=e.thickness??0,p=[],h=Math.min(n/c,r/u),m=h/n,f=h/r,v=[];for(let{points:y}of l){let w=a?this.#s(y):y;if(!w)continue;v.push(w);let b=w.length,x=new Float32Array(b),C=new Float32Array(3*(b===2?2:b-2));if(p.push({line:C,points:x}),b===2){x[0]=w[0]*m,x[1]=w[1]*f,C.set([NaN,NaN,NaN,NaN,x[0],x[1]],0);continue}let[k,S,E,D]=w;k*=m,S*=f,E*=m,D*=f,x.set([k,S,E,D],0),C.set([NaN,NaN,NaN,NaN,k,S],0);for(let O=4;O<b;O+=2){let H=x[O]=w[O]*m,M=x[O+1]=w[O+1]*f;C.set(de.createBezierPoints(k,S,E,D,H,M),(O-2)*3),[k,S,E,D]=[E,D,H,M]}}if(p.length===0)return null;let g=s?new Rl:new Oo;return g.build(p,n,r,1,i,s?0:d,o),{outline:g,newCurves:v,areContours:s,thickness:d,width:c,height:u}}static async compressSignature({outlines:e,areContours:n,thickness:r,width:i,height:o}){let a=1/0,s=-1/0,l=0;for(let w of e){l+=w.length;for(let b=2,x=w.length;b<x;b++){let C=w[b]-w[b-2];a=Math.min(a,C),s=Math.max(s,C)}}let c;a>=-128&&s<=127?c=Int8Array:a>=-32768&&s<=32767?c=Int16Array:c=Int32Array;let u=e.length,d=dd+cl*u,p=new Uint32Array(d),h=0;p[h++]=d*Uint32Array.BYTES_PER_ELEMENT+(l-2*u)*c.BYTES_PER_ELEMENT,p[h++]=0,p[h++]=i,p[h++]=o,p[h++]=n?0:1,p[h++]=Math.max(0,Math.floor(r??0)),p[h++]=u,p[h++]=c.BYTES_PER_ELEMENT;for(let w of e)p[h++]=w.length-2,p[h++]=w[0],p[h++]=w[1];let m=new CompressionStream("deflate-raw"),f=m.writable.getWriter();await f.ready,f.write(p);let v=c.prototype.constructor;for(let w of e){let b=new v(w.length-2);for(let x=2,C=w.length;x<C;x++)b[x-2]=w[x]-w[x-2];f.write(b)}f.close();let g=await new Response(m.readable).arrayBuffer(),y=new Uint8Array(g);return $C(y)}static async decompressSignature(e){try{let n=eI(e),{readable:r,writable:i}=new DecompressionStream("deflate-raw"),o=i.getWriter();await o.ready,o.write(n).then(async()=>{await o.ready,await o.close()}).catch(()=>{});let a=null,s=0;for await(let w of r)a||=new Uint8Array(new Uint32Array(w.buffer,0,4)[0]),a.set(w,s),s+=w.length;let l=new Uint32Array(a.buffer,0,a.length>>2),c=l[1];if(c!==0)throw new Error(`Invalid version: ${c}`);let u=l[2],d=l[3],p=l[4]===0,h=l[5],m=l[6],f=l[7],v=[],g=(dd+cl*m)*Uint32Array.BYTES_PER_ELEMENT,y;switch(f){case Int8Array.BYTES_PER_ELEMENT:y=new Int8Array(a.buffer,g);break;case Int16Array.BYTES_PER_ELEMENT:y=new Int16Array(a.buffer,g);break;case Int32Array.BYTES_PER_ELEMENT:y=new Int32Array(a.buffer,g);break}s=0;for(let w=0;w<m;w++){let b=l[cl*w+dd],x=new Float32Array(b+2);v.push(x);for(let C=0;C<cl-1;C++)x[C]=l[cl*w+dd+C+1];for(let C=0;C<b;C++)x[C+2]=x[C]+y[s++]}return{areContours:p,thickness:h,outlines:v,width:u,height:d}}catch(n){return ke(`decompressSignature: ${n}`),null}}},Jg=class t extends Vd{constructor(){super(),super.updateProperties({fill:at._defaultLineColor,"stroke-width":0})}clone(){let e=new t;return e.updateAll(this),e}},ey=class t extends Kd{constructor(e){super(e),super.updateProperties({stroke:at._defaultLineColor,"stroke-width":1})}clone(){let e=new t(this._viewParameters);return e.updateAll(this),e}},ty=class t extends Wd{#e=!1;#t=null;#r=null;#n=null;static _type="signature";static _editorType=Ee.SIGNATURE;static _defaultDrawingOptions=null;constructor(e){super({...e,mustBeCommitted:!0,name:"signatureEditor"}),this._willKeepAspectRatio=!0,this.#r=e.signatureData||null,this.#t=null,this.defaultL10nId="pdfjs-editor-signature-editor1"}static initialize(e,n){at.initialize(e,n),this._defaultDrawingOptions=new Jg,this._defaultDrawnSignatureOptions=new ey(n.viewParameters)}static getDefaultDrawingOptions(e){let n=this._defaultDrawingOptions.clone();return n.updateProperties(e),n}static get supportMultipleDrawings(){return!1}static get typesMap(){return Ne(this,"typesMap",new Map)}static get isDrawer(){return!1}get telemetryFinalData(){return{type:"signature",hasDescription:!!this.#t}}static computeTelemetryFinalData(e){let n=e.get("hasDescription");return{hasAltText:n.get(!0)??0,hasNoAltText:n.get(!1)??0}}get isResizable(){return!0}onScaleChanging(){this._drawId!==null&&super.onScaleChanging()}render(){if(this.div)return this.div;let e,n,{_isCopy:r}=this;if(r&&(this._isCopy=!1,e=this.x,n=this.y),super.render(),this._drawId===null)if(this.#r){let{lines:i,mustSmooth:o,areContours:a,description:s,uuid:l,heightInPage:c}=this.#r,{rawDims:{pageWidth:u,pageHeight:d},rotation:p}=this.parent.viewport,h=ai.processDrawnLines({lines:i,pageWidth:u,pageHeight:d,rotation:p,innerMargin:t._INNER_MARGIN,mustSmooth:o,areContours:a});this.addSignature(h,c,s,l)}else this.div.setAttribute("data-l10n-args",JSON.stringify({description:""})),this.div.hidden=!0,this._uiManager.getSignature(this);else this.div.setAttribute("data-l10n-args",JSON.stringify({description:this.#t||""}));return r&&(this._isCopy=!0,this._moveAfterPaste(e,n)),this.div}setUuid(e){this.#n=e,this.addEditToolbar()}getUuid(){return this.#n}get description(){return this.#t}set description(e){this.#t=e,this.div&&(this.div.setAttribute("data-l10n-args",JSON.stringify({description:e})),super.addEditToolbar().then(n=>{n?.updateEditSignatureButton(e)}))}getSignaturePreview(){let{newCurves:e,areContours:n,thickness:r,width:i,height:o}=this.#r,a=Math.max(i,o),s=ai.processDrawnLines({lines:{curves:e.map(l=>({points:l})),thickness:r,width:i,height:o},pageWidth:a,pageHeight:a,rotation:0,innerMargin:0,mustSmooth:!1,areContours:n});return{areContours:n,outline:s.outline}}get toolbarButtons(){return this._uiManager.signatureManager?[["editSignature",this._uiManager.signatureManager]]:super.toolbarButtons}addSignature(e,n,r,i){let{x:o,y:a}=this,{outline:s}=this.#r=e;this.#e=s instanceof Rl,this.description=r;let l;this.#e?l=t.getDefaultDrawingOptions():(l=t._defaultDrawnSignatureOptions.clone(),l.updateProperties({"stroke-width":s.thickness})),this._addOutlines({drawOutlines:s,drawingOptions:l});let[,c]=this.pageDimensions,u=n/c;u=u>=1?.5:u,this.width*=u/this.height,this.width>=1&&(u*=.9/this.width,this.width=.9),this.height=u,this.setDims(),this.x=o,this.y=a,this.center(),this._onResized(),this.onScaleChanging(),this.rotate(),this._uiManager.addToAnnotationStorage(this),this.setUuid(i),this._reportTelemetry({action:"pdfjs.signature.inserted",data:{hasBeenSaved:!!i,hasDescription:!!r}}),this.div.hidden=!1}getFromImage(e){let{rawDims:{pageWidth:n,pageHeight:r},rotation:i}=this.parent.viewport;return ai.process(e,n,r,i,t._INNER_MARGIN)}getFromText(e,n){let{rawDims:{pageWidth:r,pageHeight:i},rotation:o}=this.parent.viewport;return ai.extractContoursFromText(e,n,r,i,o,t._INNER_MARGIN)}getDrawnSignature(e){let{rawDims:{pageWidth:n,pageHeight:r},rotation:i}=this.parent.viewport;return ai.processDrawnLines({lines:e,pageWidth:n,pageHeight:r,rotation:i,innerMargin:t._INNER_MARGIN,mustSmooth:!1,areContours:!1})}createDrawingOptions({areContours:e,thickness:n}){e?this._drawingOptions=t.getDefaultDrawingOptions():(this._drawingOptions=t._defaultDrawnSignatureOptions.clone(),this._drawingOptions.updateProperties({"stroke-width":n}))}serialize(e=!1){if(this.isEmpty())return null;let{lines:n,points:r}=this.serializeDraw(e),{_drawingOptions:{"stroke-width":i}}=this,o=Object.assign(super.serialize(e),{isSignature:!0,areContours:this.#e,color:[0,0,0],thickness:this.#e?0:i});return this.addComment(o),e?(o.paths={lines:n,points:r},o.uuid=this.#n,o.isCopy=!0):o.lines=n,this.#t&&(o.accessibilityData={type:"Figure",alt:this.#t}),o}static deserializeDraw(e,n,r,i,o,a){return a.areContours?Rl.deserialize(e,n,r,i,o,a):Oo.deserialize(e,n,r,i,o,a)}static async deserialize(e,n,r){let i=await super.deserialize(e,n,r);return i.#e=e.areContours,i.description=e.accessibilityData?.alt||"",i.#n=e.uuid,i}},ny=class extends at{#e=null;#t=null;#r=null;#n=null;#a=null;#i="";#o=null;#s=!1;#c=null;#l=!1;#p=!1;static _type="stamp";static _editorType=Ee.STAMP;constructor(e){super({...e,name:"stampEditor"}),this.#n=e.bitmapUrl,this.#a=e.bitmapFile,this.defaultL10nId="pdfjs-editor-stamp-editor"}static initialize(e,n){at.initialize(e,n)}static isHandlingMimeForPasting(e){return md.includes(e)}static paste(e,n){n.pasteEditor({mode:Ee.STAMP},{bitmapFile:e.getAsFile()})}altTextFinish(){this._uiManager.useNewAltTextFlow&&(this.div.hidden=!1),super.altTextFinish()}get telemetryFinalData(){return{type:"stamp",hasAltText:!!this.altTextData?.altText}}static computeTelemetryFinalData(e){let n=e.get("hasAltText");return{hasAltText:n.get(!0)??0,hasNoAltText:n.get(!1)??0}}#d(e,n=!1){if(!e){this.remove();return}this.#e=e.bitmap,n||(this.#t=e.id,this.#l=e.isSvg),e.file&&(this.#i=e.file.name),this.#f()}#h(){if(this.#r=null,this._uiManager.enableWaiting(!1),!!this.#o){if(this._uiManager.useNewAltTextWhenAddingImage&&this._uiManager.useNewAltTextFlow&&this.#e){this.addEditToolbar().then(()=>{this._editToolbar.hide(),this._uiManager.editAltText(this,!0)});return}if(!this._uiManager.useNewAltTextWhenAddingImage&&this._uiManager.useNewAltTextFlow&&this.#e){this._reportTelemetry({action:"pdfjs.image.image_added",data:{alt_text_modal:!1,alt_text_type:"empty"}});try{this.mlGuessAltText()}catch{}}this.div.focus()}}async mlGuessAltText(e=null,n=!0){if(this.hasAltTextData())return null;let{mlManager:r}=this._uiManager;if(!r)throw new Error("No ML.");if(!await r.isEnabledFor("altText"))throw new Error("ML isn't enabled for alt text.");let{data:i,width:o,height:a}=e||this.copyCanvas(null,null,!0).imageData,s=await r.guess({name:"altText",request:{data:i,width:o,height:a,channels:i.length/(o*a)}});if(!s)throw new Error("No response from the AI service.");if(s.error)throw new Error("Error from the AI service.");if(s.cancel)return null;if(!s.output)throw new Error("No valid response from the AI service.");let l=s.output;return await this.setGuessedAltText(l),n&&!this.hasAltTextData()&&(this.altTextData={alt:l,decorative:!1}),l}#g(){if(this.#t){this._uiManager.enableWaiting(!0),this._uiManager.imageManager.getFromId(this.#t).then(r=>this.#d(r,!0)).finally(()=>this.#h());return}if(this.#n){let r=this.#n;this.#n=null,this._uiManager.enableWaiting(!0),this.#r=this._uiManager.imageManager.getFromUrl(r).then(i=>this.#d(i)).finally(()=>this.#h());return}if(this.#a){let r=this.#a;this.#a=null,this._uiManager.enableWaiting(!0),this.#r=this._uiManager.imageManager.getFromFile(r).then(i=>this.#d(i)).finally(()=>this.#h());return}let e=document.createElement("input");e.type="file",e.accept=md.join(",");let n=this._uiManager._signal;this.#r=new Promise(r=>{e.addEventListener("change",async()=>{if(!e.files||e.files.length===0)this.remove();else{this._uiManager.enableWaiting(!0);let i=await this._uiManager.imageManager.getFromFile(e.files[0]);this._reportTelemetry({action:"pdfjs.image.image_selected",data:{alt_text_modal:this._uiManager.useNewAltTextFlow}}),this.#d(i)}r()},{signal:n}),e.addEventListener("cancel",()=>{this.remove(),r()},{signal:n})}).finally(()=>this.#h()),e.click()}remove(){this.#t&&(this.#e=null,this._uiManager.imageManager.deleteId(this.#t),this.#o?.remove(),this.#o=null,this.#c&&(clearTimeout(this.#c),this.#c=null)),super.remove()}rebuild(){if(!this.parent){this.#t&&this.#g();return}super.rebuild(),this.div!==null&&(this.#t&&this.#o===null&&this.#g(),this.isAttachedToDOM||this.parent.add(this))}onceAdded(e){this._isDraggable=!0,e&&this.div.focus()}isEmpty(){return!(this.#r||this.#e||this.#n||this.#a||this.#t||this.#s)}get toolbarButtons(){return[["altText",this.createAltText()]]}get isResizable(){return!0}render(){if(this.div)return this.div;let e,n;return this._isCopy&&(e=this.x,n=this.y),super.render(),this.div.hidden=!0,this.createAltText(),this.#s||(this.#e?this.#f():this.#g()),this._isCopy&&this._moveAfterPaste(e,n),this._uiManager.addShouldRescale(this),this.div}setCanvas(e,n){let{id:r,bitmap:i}=this._uiManager.imageManager.getFromCanvas(e,n);n.remove(),r&&this._uiManager.imageManager.isValidId(r)&&(this.#t=r,i&&(this.#e=i),this.#s=!1,this.#f())}_onResized(){this.onScaleChanging()}onScaleChanging(){if(!this.parent)return;this.#c!==null&&clearTimeout(this.#c);let e=200;this.#c=setTimeout(()=>{this.#c=null,this.#m()},e)}#f(){let{div:e}=this,{width:n,height:r}=this.#e,[i,o]=this.pageDimensions,a=.75;if(this.width)n=this.width*i,r=this.height*o;else if(n>a*i||r>a*o){let l=Math.min(a*i/n,a*o/r);n*=l,r*=l}this._uiManager.enableWaiting(!1);let s=this.#o=document.createElement("canvas");s.setAttribute("role","img"),this.addContainer(s),this.width=n/i,this.height=r/o,this.setDims(),this._initialOptions?.isCentered?this.center():this.fixAndSetPosition(),this._initialOptions=null,(!this._uiManager.useNewAltTextWhenAddingImage||!this._uiManager.useNewAltTextFlow||this.annotationElementId)&&(e.hidden=!1),this.#m(),this.#p||(this.parent.addUndoableEditor(this),this.#p=!0),this._reportTelemetry({action:"inserted_image"}),this.#i&&this.div.setAttribute("aria-description",this.#i),this.annotationElementId||this._uiManager.a11yAlert("pdfjs-editor-stamp-added-alert")}copyCanvas(e,n,r=!1){e||(e=224);let{width:i,height:o}=this.#e,a=new Mr,s=this.#e,l=i,c=o,u=null;if(n){if(i>n||o>n){let C=Math.min(n/i,n/o);l=Math.floor(i*C),c=Math.floor(o*C)}u=document.createElement("canvas");let p=u.width=Math.ceil(l*a.sx),h=u.height=Math.ceil(c*a.sy);this.#l||(s=this.#u(p,h));let m=u.getContext("2d");m.filter=this._uiManager.hcmFilter;let f="white",v="#cfcfd8";this._uiManager.hcmFilter!=="none"?v="black":Pm.isDarkMode&&(f="#8f8f9d",v="#42414d");let g=15,y=g*a.sx,w=g*a.sy,b=new OffscreenCanvas(y*2,w*2),x=b.getContext("2d");x.fillStyle=f,x.fillRect(0,0,y*2,w*2),x.fillStyle=v,x.fillRect(0,0,y,w),x.fillRect(y,w,y,w),m.fillStyle=m.createPattern(b,"repeat"),m.fillRect(0,0,p,h),m.drawImage(s,0,0,s.width,s.height,0,0,p,h)}let d=null;if(r){let p,h;if(a.symmetric&&s.width<e&&s.height<e)p=s.width,h=s.height;else if(s=this.#e,i>e||o>e){let v=Math.min(e/i,e/o);p=Math.floor(i*v),h=Math.floor(o*v),this.#l||(s=this.#u(p,h))}let f=new OffscreenCanvas(p,h).getContext("2d",{willReadFrequently:!0});f.drawImage(s,0,0,s.width,s.height,0,0,p,h),d={width:p,height:h,data:f.getImageData(0,0,p,h).data}}return{canvas:u,width:l,height:c,imageData:d}}#u(e,n){let{width:r,height:i}=this.#e,o=r,a=i,s=this.#e;for(;o>2*e||a>2*n;){let l=o,c=a;o>2*e&&(o=o>=16384?Math.floor(o/2)-1:Math.ceil(o/2)),a>2*n&&(a=a>=16384?Math.floor(a/2)-1:Math.ceil(a/2));let u=new OffscreenCanvas(o,a);u.getContext("2d").drawImage(s,0,0,l,c,0,0,o,a),s=u.transferToImageBitmap()}return s}#m(){let[e,n]=this.parentDimensions,{width:r,height:i}=this,o=new Mr,a=Math.ceil(r*e*o.sx),s=Math.ceil(i*n*o.sy),l=this.#o;if(!l||l.width===a&&l.height===s)return;l.width=a,l.height=s;let c=this.#l?this.#e:this.#u(a,s),u=l.getContext("2d");u.filter=this._uiManager.hcmFilter,u.drawImage(c,0,0,c.width,c.height,0,0,a,s)}#y(e){if(e){if(this.#l){let i=this._uiManager.imageManager.getSvgUrl(this.#t);if(i)return i}let n=document.createElement("canvas");return{width:n.width,height:n.height}=this.#e,n.getContext("2d").drawImage(this.#e,0,0),n.toDataURL()}if(this.#l){let[n,r]=this.pageDimensions,i=Math.round(this.width*n*si.PDF_TO_CSS_UNITS),o=Math.round(this.height*r*si.PDF_TO_CSS_UNITS),a=new OffscreenCanvas(i,o);return a.getContext("2d").drawImage(this.#e,0,0,this.#e.width,this.#e.height,0,0,i,o),a.transferToImageBitmap()}return structuredClone(this.#e)}static async deserialize(e,n,r){let i=null,o=!1;if(e instanceof Ud){let{data:{rect:f,rotation:v,id:g,structParent:y,popupRef:w,richText:b,contentsObj:x,creationDate:C,modificationDate:k},container:S,parent:{page:{pageNumber:E}},canvas:D}=e,O,H;D?(delete e.canvas,{id:O,bitmap:H}=r.imageManager.getFromCanvas(S.id,D),D.remove()):(o=!0,e._hasNoCanvas=!0);let M=(await n._structTree.getAriaAttributes(`${ay}${g}`))?.get("aria-label")||"";i=e={annotationType:Ee.STAMP,bitmapId:O,bitmap:H,pageIndex:E-1,rect:f.slice(0),rotation:v,annotationElementId:g,id:g,deleted:!1,accessibilityData:{decorative:!1,altText:M},isSvg:!1,structParent:y,popupRef:w,richText:b,comment:x?.str||null,creationDate:C,modificationDate:k}}let a=await super.deserialize(e,n,r),{rect:s,bitmap:l,bitmapUrl:c,bitmapId:u,isSvg:d,accessibilityData:p}=e;o?(r.addMissingCanvas(e.id,a),a.#s=!0):u&&r.imageManager.isValidId(u)?(a.#t=u,l&&(a.#e=l)):a.#n=c,a.#l=d;let[h,m]=a.pageDimensions;return a.width=(s[2]-s[0])/h,a.height=(s[3]-s[1])/m,p&&(a.altTextData=p),a._initialData=i,e.comment&&a.setCommentData(e),a.#p=!!i,a}serialize(e=!1,n=null){if(this.isEmpty())return null;if(this.deleted)return this.serializeDeleted();let r=Object.assign(super.serialize(e),{bitmapId:this.#t,isSvg:this.#l});if(this.addComment(r),e)return r.bitmapUrl=this.#y(!0),r.accessibilityData=this.serializeAltText(!0),r.isCopy=!0,r;let{decorative:i,altText:o}=this.serializeAltText(!1);if(!i&&o&&(r.accessibilityData={type:"Figure",alt:o}),this.annotationElementId){let s=this.#v(r);return s.isSame?null:(s.isSameAltText?delete r.accessibilityData:r.accessibilityData.structParent=this._initialData.structParent??-1,r.id=this.annotationElementId,delete r.bitmapId,r)}if(n===null)return r;n.stamps||=new Map;let a=this.#l?(r.rect[2]-r.rect[0])*(r.rect[3]-r.rect[1]):null;if(!n.stamps.has(this.#t))n.stamps.set(this.#t,{area:a,serialized:r}),r.bitmap=this.#y(!1);else if(this.#l){let s=n.stamps.get(this.#t);a>s.area&&(s.area=a,s.serialized.bitmap.close(),s.serialized.bitmap=this.#y(!1))}return r}#v(e){let{pageIndex:n,accessibilityData:{altText:r}}=this._initialData,i=e.pageIndex===n,o=(e.accessibilityData?.alt||"")===r;return{isSame:!this.hasEditedComment&&!this._hasBeenMoved&&!this._hasBeenResized&&i&&o,isSameAltText:o}}renderAnnotationElement(e){return this.deleted?(e.hide(),null):(e.updateEdited({rect:this.getPDFRect(),popup:this.comment}),null)}},Qd=class t{#e;#t=!1;#r=null;#n=null;#a=null;#i=new Map;#o=!1;#s=!1;#c=!1;#l=null;#p=null;#d=null;#h=null;#g=null;#f=-1;#u;static _initialized=!1;static#m=new Map([Qg,qg,ny,$d,ty].map(e=>[e._editorType,e]));constructor({uiManager:e,pageIndex:n,div:r,structTreeLayer:i,accessibilityManager:o,annotationLayer:a,drawLayer:s,textLayer:l,viewport:c,l10n:u}){let d=[...t.#m.values()];if(!t._initialized){t._initialized=!0;for(let p of d)p.initialize(u,e)}e.registerEditorTypes(d),this.#u=e,this.pageIndex=n,this.div=r,this.#e=o,this.#r=a,this.viewport=c,this.#d=l,this.drawLayer=s,this._structTree=i,this.#u.addLayer(this)}get isEmpty(){return this.#i.size===0}get isInvisible(){return this.isEmpty&&this.#u.getMode()===Ee.NONE}updateToolbar(e){this.#u.updateToolbar(e)}updateMode(e=this.#u.getMode()){switch(this.#b(),e){case Ee.NONE:this.div.classList.toggle("nonEditing",!0),this.disableTextSelection(),this.togglePointerEvents(!1),this.toggleAnnotationLayerPointerEvents(!0),this.disableClick();return;case Ee.INK:this.disableTextSelection(),this.togglePointerEvents(!0),this.enableClick();break;case Ee.HIGHLIGHT:this.enableTextSelection(),this.togglePointerEvents(!1),this.disableClick();break;default:this.disableTextSelection(),this.togglePointerEvents(!0),this.enableClick()}this.toggleAnnotationLayerPointerEvents(!1);let{classList:n}=this.div;if(n.toggle("nonEditing",!1),e===Ee.POPUP)n.toggle("commentEditing",!0);else{n.toggle("commentEditing",!1);for(let r of t.#m.values())n.toggle(`${r._type}Editing`,e===r._editorType)}this.div.hidden=!1}hasTextLayer(e){return e===this.#d?.div}setEditingState(e){this.#u.setEditingState(e)}addCommands(e){this.#u.addCommands(e)}cleanUndoStack(e){this.#u.cleanUndoStack(e)}toggleDrawing(e=!1){this.div.classList.toggle("drawing",!e)}togglePointerEvents(e=!1){this.div.classList.toggle("disabled",!e)}toggleAnnotationLayerPointerEvents(e=!1){this.#r?.div.classList.toggle("disabled",!e)}get#y(){return this.#i.size!==0?this.#i.values():this.#u.getEditors(this.pageIndex)}async enable(){this.#c=!0,this.div.tabIndex=0,this.togglePointerEvents(!0),this.div.classList.toggle("nonEditing",!1),this.#g?.abort(),this.#g=null;let e=new Set;for(let r of this.#y)r.enableEditing(),r.show(!0),r.annotationElementId&&(this.#u.removeChangedExistingAnnotation(r),e.add(r.annotationElementId));let n=this.#r;if(n)for(let r of n.getEditableAnnotations()){if(r.hide(),this.#u.isDeletedAnnotationElement(r.data.id)||e.has(r.data.id))continue;let i=await this.deserialize(r);i&&(this.addOrRebuild(i),i.enableEditing())}this.#c=!1,this.#u._eventBus.dispatch("editorsrendered",{source:this,pageNumber:this.pageIndex+1})}disable(){if(this.#s=!0,this.div.tabIndex=-1,this.togglePointerEvents(!1),this.div.classList.toggle("nonEditing",!0),this.#d&&!this.#g){this.#g=new AbortController;let r=this.#u.combinedSignal(this.#g);this.#d.div.addEventListener("pointerdown",i=>{let{clientX:a,clientY:s,timeStamp:l}=i,c=this.#f;if(l-c>500){this.#f=l;return}this.#f=-1;let{classList:u}=this.div;u.toggle("getElements",!0);let d=document.elementsFromPoint(a,s);if(u.toggle("getElements",!1),!this.div.contains(d[0]))return;let p,h=new RegExp(`^${hl}[0-9]+$`);for(let f of d)if(h.test(f.id)){p=f.id;break}if(!p)return;let m=this.#i.get(p);m?.annotationElementId===null&&(i.stopPropagation(),i.preventDefault(),m.dblclick(i))},{signal:r,capture:!0})}let e=this.#r;if(e){let r=new Map,i=new Map;for(let a of this.#y){if(a.disableEditing(),!a.annotationElementId){a.updateFakeAnnotationElement(e);continue}if(a.serialize()!==null){r.set(a.annotationElementId,a);continue}else i.set(a.annotationElementId,a);this.getEditableAnnotation(a.annotationElementId)?.show(),a.remove()}let o=e.getEditableAnnotations();for(let a of o){let{id:s}=a.data;if(this.#u.isDeletedAnnotationElement(s)){a.updateEdited({deleted:!0});continue}let l=i.get(s);if(l){l.resetAnnotationElement(a),l.show(!1),a.show();continue}l=r.get(s),l&&(this.#u.addChangedExistingAnnotation(l),l.renderAnnotationElement(a)&&l.show(!1)),a.show()}}this.#b(),this.isEmpty&&(this.div.hidden=!0);let{classList:n}=this.div;for(let r of t.#m.values())n.remove(`${r._type}Editing`);this.disableTextSelection(),this.toggleAnnotationLayerPointerEvents(!0),this.#s=!1}getEditableAnnotation(e){return this.#r?.getEditableAnnotation(e)||null}setActiveEditor(e){this.#u.getActive()!==e&&this.#u.setActiveEditor(e)}enableTextSelection(){if(this.div.tabIndex=-1,this.#d?.div&&!this.#h){this.#h=new AbortController;let e=this.#u.combinedSignal(this.#h);this.#d.div.addEventListener("pointerdown",this.#v.bind(this),{signal:e}),this.#d.div.classList.add("highlighting")}}disableTextSelection(){this.div.tabIndex=0,this.#d?.div&&this.#h&&(this.#h.abort(),this.#h=null,this.#d.div.classList.remove("highlighting"))}#v(e){this.#u.unselectAll();let{target:n}=e;if(n===this.#d.div||(n.getAttribute("role")==="img"||n.classList.contains("endOfContent"))&&this.#d.div.contains(n)){let{isMac:r}=Dt.platform;if(e.button!==0||e.ctrlKey&&r)return;this.#u.showAllEditors("highlight",!0,!0),this.#d.div.classList.add("free"),this.toggleDrawing(),$d.startHighlighting(this,this.#u.direction==="ltr",{target:this.#d.div,x:e.x,y:e.y}),this.#d.div.addEventListener("pointerup",()=>{this.#d.div.classList.remove("free"),this.toggleDrawing(!0)},{once:!0,signal:this.#u._signal}),e.preventDefault()}}enableClick(){if(this.#n)return;this.#n=new AbortController;let e=this.#u.combinedSignal(this.#n);this.div.addEventListener("pointerdown",this.pointerdown.bind(this),{signal:e});let n=this.pointerup.bind(this);this.div.addEventListener("pointerup",n,{signal:e}),this.div.addEventListener("pointercancel",n,{signal:e})}disableClick(){this.#n?.abort(),this.#n=null}attach(e){this.#i.set(e.id,e);let{annotationElementId:n}=e;n&&this.#u.isDeletedAnnotationElement(n)&&this.#u.removeDeletedAnnotationElement(e)}detach(e){this.#i.delete(e.id),this.#e?.removePointerInTextLayer(e.contentDiv),!this.#s&&e.annotationElementId&&this.#u.addDeletedAnnotationElement(e)}remove(e){this.detach(e),this.#u.removeEditor(e),e.div.remove(),e.isAttachedToDOM=!1}changeParent(e){e.parent!==this&&(e.parent&&e.annotationElementId&&(this.#u.addDeletedAnnotationElement(e.annotationElementId),at.deleteAnnotationElement(e),e.annotationElementId=null),this.attach(e),e.parent?.detach(e),e.setParent(this),e.div&&e.isAttachedToDOM&&(e.div.remove(),this.div.append(e.div)))}add(e){if(!(e.parent===this&&e.isAttachedToDOM)){if(this.changeParent(e),this.#u.addEditor(e),this.attach(e),!e.isAttachedToDOM){let n=e.render();this.div.append(n),e.isAttachedToDOM=!0}e.fixAndSetPosition(),e.onceAdded(!this.#c),this.#u.addToAnnotationStorage(e),e._reportTelemetry(e.telemetryInitialData)}}moveEditorInDOM(e){if(!e.isAttachedToDOM)return;let{activeElement:n}=document;e.div.contains(n)&&!this.#a&&(e._focusEventsAllowed=!1,this.#a=setTimeout(()=>{this.#a=null,e.div.contains(document.activeElement)?e._focusEventsAllowed=!0:(e.div.addEventListener("focusin",()=>{e._focusEventsAllowed=!0},{once:!0,signal:this.#u._signal}),n.focus())},0)),e._structTreeParentId=this.#e?.moveElementInDOM(this.div,e.div,e.contentDiv,!0)}addOrRebuild(e){e.needsToBeRebuilt()?(e.parent||=this,e.rebuild(),e.show()):this.add(e)}addUndoableEditor(e){let n=()=>e._uiManager.rebuild(e),r=()=>{e.remove()};this.addCommands({cmd:n,undo:r,mustExec:!1})}getEditorByUID(e){for(let n of this.#i.values())if(n.uid===e)return n;return null}getNextId(){return this.#u.getId()}get#w(){return t.#m.get(this.#u.getMode())}combinedSignal(e){return this.#u.combinedSignal(e)}#A(e){let n=this.#w;return n?new n.prototype.constructor(e):null}canCreateNewEmptyEditor(){return this.#w?.canCreateNewEmptyEditor()}async pasteEditor(e,n){this.updateToolbar(e),await this.#u.updateMode(e.mode);let{offsetX:r,offsetY:i}=this.#S(),o=this.getNextId(),a=this.#A({parent:this,id:o,x:r,y:i,uiManager:this.#u,isCentered:!0,...n});a&&this.add(a)}async deserialize(e){return await t.#m.get(e.annotationType??e.annotationEditorType)?.deserialize(e,this,this.#u)||null}createAndAddNewEditor(e,n,r={}){let i=this.getNextId(),o=this.#A({parent:this,id:i,x:e.offsetX,y:e.offsetY,uiManager:this.#u,isCentered:n,...r});return o&&this.add(o),o}get boundingClientRect(){return this.div.getBoundingClientRect()}#S(){let{x:e,y:n,width:r,height:i}=this.boundingClientRect,o=Math.max(0,e),a=Math.max(0,n),s=Math.min(window.innerWidth,e+r),l=Math.min(window.innerHeight,n+i),c=(o+s)/2-e,u=(a+l)/2-n,[d,p]=this.viewport.rotation%180===0?[c,u]:[u,c];return{offsetX:d,offsetY:p}}addNewEditor(e={}){this.createAndAddNewEditor(this.#S(),!0,e)}setSelected(e){this.#u.setSelected(e)}toggleSelected(e){this.#u.toggleSelected(e)}unselect(e){this.#u.unselect(e)}pointerup(e){let{isMac:n}=Dt.platform;if(e.button!==0||e.ctrlKey&&n||e.target!==this.div||!this.#o||(this.#o=!1,this.#w?.isDrawer&&this.#w.supportMultipleDrawings))return;if(!this.#t){this.#t=!0;return}let r=this.#u.getMode();if(r===Ee.STAMP||r===Ee.SIGNATURE){this.#u.unselectAll();return}this.createAndAddNewEditor(e,!1)}pointerdown(e){if(this.#u.getMode()===Ee.HIGHLIGHT&&this.enableTextSelection(),this.#o){this.#o=!1;return}let{isMac:n}=Dt.platform;if(e.button!==0||e.ctrlKey&&n||e.target!==this.div)return;if(this.#o=!0,this.#w?.isDrawer){this.startDrawingSession(e);return}let r=this.#u.getActive();this.#t=!r||r.isEmpty()}startDrawingSession(e){if(this.div.focus({preventScroll:!0}),this.#l){this.#w.startDrawing(this,this.#u,!1,e);return}this.#u.setCurrentDrawingSession(this),this.#l=new AbortController;let n=this.#u.combinedSignal(this.#l);this.div.addEventListener("blur",({relatedTarget:r})=>{r&&!this.div.contains(r)&&(this.#p=null,this.commitOrRemove())},{signal:n}),this.#w.startDrawing(this,this.#u,!1,e)}pause(e){if(e){let{activeElement:n}=document;this.div.contains(n)&&(this.#p=n);return}this.#p&&setTimeout(()=>{this.#p?.focus(),this.#p=null},0)}endDrawingSession(e=!1){return this.#l?(this.#u.setCurrentDrawingSession(null),this.#l.abort(),this.#l=null,this.#p=null,this.#w.endDrawing(e)):null}findNewParent(e,n,r){let i=this.#u.findParent(n,r);return i===null||i===this?!1:(i.changeParent(e),!0)}commitOrRemove(){return this.#l?(this.endDrawingSession(),!0):!1}onScaleChanging(){this.#l&&this.#w.onScaleChangingWhenDrawing(this)}destroy(){this.commitOrRemove(),this.#u.getActive()?.parent===this&&(this.#u.commitOrRemove(),this.#u.setActiveEditor(null)),this.#a&&(clearTimeout(this.#a),this.#a=null);for(let e of this.#i.values())this.#e?.removePointerInTextLayer(e.contentDiv),e.setParent(null),e.isAttachedToDOM=!1,e.div.remove();this.div=null,this.#i.clear(),this.#u.removeLayer(this)}#b(){for(let e of this.#i.values())e.isEmpty()&&e.remove()}render({viewport:e}){this.viewport=e,Wi(this.div,e);for(let n of this.#u.getEditors(this.pageIndex))this.add(n),n.rebuild();this.updateMode()}update({viewport:e}){this.#u.commitOrRemove(),this.#b();let n=this.viewport.rotation,r=e.rotation;if(this.viewport=e,Wi(this.div,{rotation:r}),n!==r)for(let i of this.#i.values())i.rotate(r)}get pageDimensions(){let{pageWidth:e,pageHeight:n}=this.viewport.rawDims;return[e,n]}get scale(){return this.#u.viewParameters.realScale}},Yd=class t{#e=null;#t=new Map;#r=new Map;static#n=0;constructor({pageIndex:e}){this.pageIndex=e}setParent(e){if(!this.#e){this.#e=e;return}if(this.#e!==e){if(this.#t.size>0)for(let n of this.#t.values())n.remove(),e.append(n);this.#e=e}}static get _svgFactory(){return Ne(this,"_svgFactory",new Po)}static#a(e,[n,r,i,o]){let{style:a}=e;a.top=`${100*r}%`,a.left=`${100*n}%`,a.width=`${100*i}%`,a.height=`${100*o}%`}#i(){let e=t._svgFactory.create(1,1,!0);return this.#e.append(e),e.setAttribute("aria-hidden",!0),e}#o(e,n){let r=t._svgFactory.createElement("clipPath");e.append(r);let i=`clip_${n}`;r.setAttribute("id",i),r.setAttribute("clipPathUnits","objectBoundingBox");let o=t._svgFactory.createElement("use");return r.append(o),o.setAttribute("href",`#${n}`),o.classList.add("clip"),i}#s(e,n){for(let[r,i]of Object.entries(n))i===null?e.removeAttribute(r):e.setAttribute(r,i)}draw(e,n=!1,r=!1){let i=t.#n++,o=this.#i(),a=t._svgFactory.createElement("defs");o.append(a);let s=t._svgFactory.createElement("path");a.append(s);let l=`path_p${this.pageIndex}_${i}`;s.setAttribute("id",l),s.setAttribute("vector-effect","non-scaling-stroke"),n&&this.#r.set(i,s);let c=r?this.#o(a,l):null,u=t._svgFactory.createElement("use");return o.append(u),u.setAttribute("href",`#${l}`),this.updateProperties(o,e),this.#t.set(i,o),{id:i,clipPathId:`url(#${c})`}}drawOutline(e,n){let r=t.#n++,i=this.#i(),o=t._svgFactory.createElement("defs");i.append(o);let a=t._svgFactory.createElement("path");o.append(a);let s=`path_p${this.pageIndex}_${r}`;a.setAttribute("id",s),a.setAttribute("vector-effect","non-scaling-stroke");let l;if(n){let d=t._svgFactory.createElement("mask");o.append(d),l=`mask_p${this.pageIndex}_${r}`,d.setAttribute("id",l),d.setAttribute("maskUnits","objectBoundingBox");let p=t._svgFactory.createElement("rect");d.append(p),p.setAttribute("width","1"),p.setAttribute("height","1"),p.setAttribute("fill","white");let h=t._svgFactory.createElement("use");d.append(h),h.setAttribute("href",`#${s}`),h.setAttribute("stroke","none"),h.setAttribute("fill","black"),h.setAttribute("fill-rule","nonzero"),h.classList.add("mask")}let c=t._svgFactory.createElement("use");i.append(c),c.setAttribute("href",`#${s}`),l&&c.setAttribute("mask",`url(#${l})`);let u=c.cloneNode();return i.append(u),c.classList.add("mainOutline"),u.classList.add("secondaryOutline"),this.updateProperties(i,e),this.#t.set(r,i),r}finalizeDraw(e,n){this.#r.delete(e),this.updateProperties(e,n)}updateProperties(e,n){if(!n)return;let{root:r,bbox:i,rootClass:o,path:a}=n,s=typeof e=="number"?this.#t.get(e):e;if(s){if(r&&this.#s(s,r),i&&t.#a(s,i),o){let{classList:l}=s;for(let[c,u]of Object.entries(o))l.toggle(c,u)}if(a){let c=s.firstChild.firstChild;this.#s(c,a)}}}updateParent(e,n){if(n===this)return;let r=this.#t.get(e);r&&(n.#e.append(r),this.#t.delete(e),n.#t.set(e,r))}remove(e){this.#r.delete(e),this.#e!==null&&(this.#t.get(e).remove(),this.#t.delete(e))}destroy(){this.#e=null;for(let e of this.#t.values())e.remove();this.#t.clear(),this.#r.clear()}};globalThis._pdfjsTestingUtils={HighlightOutliner:Al};globalThis.pdfjsLib={AbortException:vr,AnnotationEditorLayer:Qd,AnnotationEditorParamsType:ze,AnnotationEditorType:Ee,AnnotationEditorUIManager:Ki,AnnotationLayer:Gd,AnnotationMode:oi,AnnotationType:Et,applyOpacity:QC,build:a1,ColorPicker:xl,createValidAbsoluteUrl:ry,CSSConstants:gd,DOMSVGFactory:Po,DrawLayer:Yd,FeatureTest:Dt,fetchData:Fa,findContrastColor:YC,getDocument:i1,getFilenameFromUrl:VC,getPdfFilenameFromUrl:WC,getRGB:Ma,getUuid:oy,getXfaPageViewport:KC,GlobalWorkerOptions:Vi,ImageKind:dl,InvalidPDFException:Pa,isDataScheme:Nl,isPdfFile:qd,isValidExplicitDest:ZC,MathClamp:dn,noContextMenu:jn,normalizeUnicode:jC,OPS:Na,OutputScale:Mr,PasswordResponses:GC,PDFDataRangeTransport:bl,PDFDateString:Oa,PDFWorker:_a,PermissionFlag:UC,PixelsPerInch:si,RenderingCancelledException:Da,renderRichText:sy,ResponseException:Io,setLayerDimensions:Wi,shadow:Ne,SignatureExtractor:ai,stopEvent:bt,SupportedImageMimeTypes:md,TextLayer:La,TouchManager:yl,updateUrlHash:iy,Util:pe,VerbosityLevel:El,version:o1,XfaLayer:ml}});var z=be(Qt(),1),hk=be(H0(),1);var va=Object.freeze({maxUploadMb:20}),Fu={...va};function ba(t){let e=t&&typeof t=="object"&&!Array.isArray(t)?Number(t.maxUploadMb):Number.NaN;return{maxUploadMb:Number.isInteger(e)&&e>0?e:va.maxUploadMb}}function j0(t){return Fu=ba(t),{...Fu}}function Mu(){return{...Fu}}var kR={pdf:["application/pdf"],doc:["application/msword"],docx:["application/vnd.openxmlformats-officedocument.wordprocessingml.document"],xls:["application/vnd.ms-excel"],xlsx:["application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],png:["image/png"],jpg:["image/jpeg"],jpeg:["image/jpeg"],webp:["image/webp"]};function Bu(t,e,n=Fu){if(!Number.isFinite(t.size)||t.size<0)throw new Error("\u65E0\u6CD5\u786E\u8BA4\u4E0A\u4F20\u6587\u4EF6\u5927\u5C0F");let r=ba(n);if(t.size>r.maxUploadMb*1024*1024)throw new Error(`\u6587\u4EF6\u4E0D\u80FD\u8D85\u8FC7 ${r.maxUploadMb} MB`);let i=t.name.trim().split(".").pop()?.toLocaleLowerCase()??"",o=kR[i];if(!o)throw new Error("\u4EC5\u652F\u6301 PDF\u3001Word\u3001Excel\u3001PNG\u3001JPEG \u548C WEBP \u6587\u4EF6");let a=t.type.trim().toLocaleLowerCase();if(a&&!o.includes(a))throw new Error("\u6587\u4EF6\u6269\u5C55\u540D\u4E0E MIME \u7C7B\u578B\u4E0D\u5339\u914D");if(e&&!AR(i,a||o[0],e))throw new Error("\u6587\u4EF6\u7C7B\u578B\u4E0D\u7B26\u5408\u5F53\u524D\u4E0A\u4F20\u8981\u6C42");return{extension:i,mimeType:a||o[0]}}function AR(t,e,n){let r=n.split(",").map(i=>i.trim().toLocaleLowerCase()).filter(Boolean);return r.length?r.some(i=>i.startsWith(".")?i.slice(1)===t:i.endsWith("/*")?e.startsWith(`${i.slice(0,-1)}`):i===e):!0}var TR=["PI","CI","PL","CUSTOMS_DECLARATION"],ZD=[...TR,"PI_CI_PL"];var $0={upload_controlled_catalog:"trade-compliance-workbench/uploads/controlled-catalogs",upload_sanction_catalog:"trade-compliance-workbench/uploads/sanction-catalogs",upload_purchase_contract:"trade-compliance-workbench/uploads/purchase-contracts",upload_customer_contract:"trade-compliance-workbench/uploads/customer-contracts"};var V0="xpertai.remote_component",W0=1,RR=12e4;function K0(t={}){let e=t.target??window,n=t.parent??window.parent,r=t.timeoutMs??RR,i={...va},o=null,a=null,s=0,l={},c=!1,u=new Map,d=(m,f={},v)=>{if(!o&&m!=="ready")return;let g=m==="ready"?"*":a??"*";n.postMessage({channel:V0,protocolVersion:W0,instanceId:o,type:m,...f},g,v)},p=(m,f,v)=>{let g=`tcw-${Date.now()}-${++s}`;return new Promise((y,w)=>{let b=setTimeout(()=>{u.delete(g),w(new Error("\u8BF7\u6C42\u8D85\u65F6"))},r);u.set(g,{resolve:y,reject:w,timer:b}),d(m,{requestId:g,...f},v)})},h=m=>{if(m.source!==n)return;let f=IR(m.data)?m.data:null;if(!f)return;if(f.type==="init"){let g=PR(f.instanceId);if(!NR(m.origin)||g===null||a!==null&&(m.origin!==a||g!==o))return;a=m.origin,o=g,l.onInit?.({manifest:f.manifest,payload:f.payload,initialQuery:DR(f.initialQuery),locale:OR(f.locale),theme:f.theme});return}if(a===null||m.origin!==a||!o||f.instanceId!==o)return;if(f.type==="hostEvent"){l.onHostEvent?.(f.event);return}if(!f.requestId)return;let v=u.get(f.requestId);v&&(clearTimeout(v.timer),u.delete(f.requestId),f.type==="error"?v.reject(new Error(LR(f.message)||"\u8FDC\u7A0B\u8BF7\u6C42\u5931\u8D25")):v.resolve(f))};return{configure(m){i=ba(m.uploadPolicy),j0(i)},start(m){l=m,c||(e.addEventListener("message",h),c=!0),d("ready")},destroy(){c&&e.removeEventListener("message",h),c=!1,o=null,a=null;for(let m of u.values())clearTimeout(m.timer),m.reject(new Error("\u8FDC\u7A0B\u7EC4\u4EF6\u5DF2\u9500\u6BC1"));u.clear()},requestData(m={}){return p("requestData",{query:m})},executeAction(m,f={},v={},g){return p("executeAction",{actionKey:m,targetId:g,input:f,parameters:v})},async executeFileAction(m,f,v={},g={},y){Bu(f,void 0,i);let w=await f.arrayBuffer(),b=ER(m),x=b?{...v,originalFileName:f.name,workspaceUploadPath:b}:v;return p("executeFileAction",{actionKey:m,targetId:y,input:x,parameters:g,file:{name:f.name,originalname:f.name,type:f.type,size:f.size,lastModified:f.lastModified,buffer:w}},[w])},invokeClientCommand(m,f={}){return p("invokeClientCommand",{commandKey:m,payload:f})},reportResize(m=document.documentElement.scrollHeight,f=document.documentElement.scrollWidth){d("resize",{height:Math.max(720,Math.ceil(m)),width:Math.ceil(f),viewportBound:!0})},notify(m,f="success"){d("notify",{message:m,level:f})}}}function ER(t){return $0[t]}function IR(t){if(!t||typeof t!="object"||Array.isArray(t))return!1;let e=t;return e.channel===V0&&e.protocolVersion===W0&&typeof e.type=="string"}function NR(t){try{let e=new URL(t);return(e.protocol==="http:"||e.protocol==="https:")&&e.origin===t}catch{return!1}}function PR(t){return typeof t=="string"&&t.trim()?t:null}function DR(t){return t&&typeof t=="object"&&!Array.isArray(t)?t:void 0}function OR(t){return typeof t=="string"?t:void 0}function LR(t){if(typeof t=="string")return t;if(t&&typeof t=="object"){let e=t;return String(e.zh_Hans??e.en_US??"")}return""}var om=[10,20,50,100];function ji(t){return om.some(e=>e===t)}function Rn(t,e=20){let n=Number(t);return ji(n)?n:e}function yn(t){return JSON.stringify(t)}var sn=()=>({items:[]});function am(){return{uploadPolicy:{...va},dashboard:{},controlledGoods:sn(),controlledBatches:sn(),sanctionedCompanies:sn(),sanctionBatches:sn(),suppliers:sn(),purchaseOrders:sn(),purchaseLines:sn(),customers:sn(),customerContracts:sn(),customerContractAnalyses:sn(),derivedSalesOrders:[],salesCustomers:sn(),salesOrders:sn(),salesLines:sn(),salesFileOrders:sn(),generatedFiles:sn(),settings:{company:{logoFileId:null,logoPreviewUrl:null,companyNameZh:null,companyNameEn:null,unifiedSocialCreditCode:null,addressZh:null,addressEn:null,phone:null,email:null,revision:0},banks:[],profit:{status:"UNCONFIGURED",ruleVersion:"COMPLIANCE_V1",minimumOrderProfitRate:"0.05",exchangeCostMinimum:"5",exchangeCostMaximum:"8",revision:0},rates:{items:[],total:0,page:1,pageSize:20,pageCount:1}},analytics:{currentYear:Number(new Intl.DateTimeFormat("en-US",{timeZone:"Asia/Shanghai",year:"numeric"}).format(new Date)),dashboard:MR()},importTasks:sn()}}function Dr(t){let e=nr(Me(t)),n=nr(e.summary??e),r=am(),i=ln(n.importTasks??n.importTask??n.tasks);return{...r,...n,uploadPolicy:ba(n.uploadPolicy),controlledGoods:ln(n.controlledGoods),controlledBatches:ln(n.controlledBatches),sanctionedCompanies:ln(n.sanctionedCompanies),sanctionBatches:ln(n.sanctionBatches),suppliers:ln(n.suppliers),purchaseOrders:ln(n.purchaseOrders),purchaseLines:ln(n.purchaseLines),customers:ln(n.customers),customerContracts:ln(n.customerContracts),customerContractAnalyses:ln(n.customerContractAnalyses),derivedSalesOrders:Array.isArray(n.derivedSalesOrders)?n.derivedSalesOrders:[],salesCustomers:ln(n.salesCustomers),salesOrders:ln(n.salesOrders),salesLines:ln(n.salesLines),salesFileOrders:ln(n.salesFileOrders),generatedFiles:ln(n.generatedFiles),settings:_R(n.settings),importTasks:i,dashboard:nr(n.dashboard),analytics:FR(n.analytics)}}function Or(){let t=0,e=new Set;return{begin(){let n=++t;return e.add(n),n},isLatest(n){return n===t},commit(n){return n===t},invalidate(){t+=1},finish(n){e.delete(n)},activeCount(){return e.size}}}function Y0(t,e,n){return t===e&&n.type==="page"&&n.page==="settings"}function X0(){let t=new Map,e=n=>{let r=t.get(n);return r||(r=Or(),t.set(n,r)),r};return{begin:n=>e(n).begin(),isLatest:(n,r)=>t.get(n)?.isLatest(r)??!1,commit:(n,r)=>t.get(n)?.commit(r)??!1,finish(n,r){let i=t.get(n);i&&(i.finish(r),i.activeCount()===0&&t.delete(n))},invalidate:n=>t.get(n)?.invalidate(),activeCount:()=>Array.from(t.values()).reduce((n,r)=>n+r.activeCount(),0),trackedKeyCount:()=>t.size}}async function Z0({gate:t,key:e,request:n,isCurrent:r,commit:i,onError:o,onStart:a,onFinish:s}){let l=t.begin(e);try{a();let c=await n();return!t.commit(e,l)||!r()?!1:(i(c),!0)}catch(c){return t.isLatest(e,l)&&r()&&o(c),!1}finally{t.finish(e,l),s()}}function sm(t){let e=String(t?.customerContractId??"").trim(),n=String(t?.purchaseOrderId??"").trim();return e&&n?`${e}:${n}`:"__all_generated_files__"}function q0(t,e,n){let r=Math.max(0,n-1),i=Math.max(1,Math.ceil(r/Math.max(1,e)));return Math.min(i,Math.max(1,t))}function J0(t){let e=0,n=t,r=new Set,i=new Map;return{begin(o){let a=++e;return r.add(a),i.set(a,o),a},isLatest(o){return o===e},commit(o){if(o!==e)return!1;let a=i.get(o);return a===void 0?!1:(n=a,!0)},finish(o){r.delete(o),i.delete(o)},activeCount(){return r.size},committed(){return n}}}function ex(t=e=>URL.revokeObjectURL(e)){let e=new Map,n=r=>{r?.startsWith("blob:")&&t(r)};return{replace(r,i){let o=e.get(r);return o!==i&&n(o),e.set(r,i),i},clear(r){n(e.get(r)),e.delete(r)},current(r){return e.get(r)??null},dispose(){for(let r of e.values())n(r);e.clear()}}}function tx(t,e=1,n=20,r={}){let i=Rn(n);if(t.type==="procurement"&&t.level==="suppliers")return{page:e,pageSize:i,parameters:{collection:"suppliers",filters:yn(r)}};if(t.type==="procurement"&&t.level==="orders")return{page:e,pageSize:i,parameters:{collection:"purchaseOrders",supplierId:t.supplierId,filters:yn(r)}};if(t.type==="procurement"&&t.level==="lines")return{page:e,pageSize:i,parameters:{collection:"purchaseLines",purchaseOrderId:t.orderId,filters:yn(r)}};if(t.type==="page"&&t.page==="customer-contract-review")return{page:e,pageSize:i,parameters:{collection:"customerContracts",filters:yn(r)}};if(t.type==="sales"&&t.level==="customers")return{page:e,pageSize:i,parameters:{collection:"salesCustomers",filters:yn(r)}};if(t.type==="sales"&&t.level==="orders")return{page:e,pageSize:i,parameters:{collection:"salesOrders",customerId:t.customerId,filters:yn(r)}};if(t.type==="sales"&&t.level==="lines")return{page:e,pageSize:i,parameters:{collection:"salesLines",customerId:t.customerId,orderKey:t.orderKey,filters:yn(r)}};if(t.type==="page"&&t.page==="sales-files")return{page:e,pageSize:i,parameters:{collection:"salesFileOrders",filters:yn(r)}};if(t.type==="page"&&t.page==="analytics"){let o=UR(r.orderDate)?r.orderDate:void 0;return{page:e,pageSize:i,parameters:{collection:"analytics",filters:yn(o?{orderDate:o}:{})}}}return t.type==="page"&&t.page==="settings"?{page:e,pageSize:i,parameters:{collection:"settings"}}:null}function Me(t){let e=nr(t);return"payload"in e?e.payload:"data"in e?e.data:"result"in e?e.result:t}function ln(t){let e=nr(t);if(e.pageSize!==void 0){let n=Number(e.pageSize);return ji(n)?{...e,items:Array.isArray(e.items)?e.items.filter(Gu):[],pageSize:n}:{items:[],page:1,pageSize:20,total:0}}return{...e,items:Array.isArray(e.items)?e.items.filter(Gu):[]}}function _R(t){let e=nr(t),n=am().settings,r=nr(e.rates),i=Number(r.pageSize),o=ji(i)?{items:Array.isArray(r.items)?r.items.filter(Gu):[],total:$i(r.total),page:Uu(r.page,1),pageSize:i,pageCount:Uu(r.pageCount,1)}:n.rates;return{company:{...n.company,...nr(e.company)},profit:{...n.profit,...nr(e.profit)},banks:Array.isArray(e.banks)?e.banks:[],rates:o}}function FR(t){let e=nr(t),n=am().analytics;return{currentYear:Uu(e.currentYear,n.currentYear),dashboard:BR(e.dashboard)}}function MR(){return{kpis:{purchaseTotalCny:"0.00",salesTotalCny:"0.00",receivedCny:"0.00",unreceivedCny:"0.00",paidCny:"0.00",unpaidCny:"0.00",refundedCny:"0.00",unrefundedCny:"0.00",estimatedGrossProfitCny:"0.00",estimatedGrossProfitRate:"0.00000000",complianceTodoCount:0,riskExposureCny:"0.00"},monthlyTrend:[],todos:[],riskDistribution:[],customerValueTop5:[],receivableRiskTop5:[],supplierRiskTop5:[],salesFileReviews:[],riskOrders:[],dataSources:[]}}function BR(t){let e=nr(t),n=nr(e.kpis);return{kpis:{purchaseTotalCny:Ae(n.purchaseTotalCny,"0.00"),salesTotalCny:Ae(n.salesTotalCny,"0.00"),receivedCny:Ae(n.receivedCny,"0.00"),unreceivedCny:Ae(n.unreceivedCny,"0.00"),paidCny:Ae(n.paidCny,"0.00"),unpaidCny:Ae(n.unpaidCny,"0.00"),refundedCny:Ae(n.refundedCny,"0.00"),unrefundedCny:Ae(n.unrefundedCny,"0.00"),estimatedGrossProfitCny:Ae(n.estimatedGrossProfitCny,"0.00"),estimatedGrossProfitRate:Ae(n.estimatedGrossProfitRate,"0.00000000"),complianceTodoCount:$i(n.complianceTodoCount),riskExposureCny:Ae(n.riskExposureCny,"0.00")},monthlyTrend:ei(e.monthlyTrend).map(r=>({month:Uu(r.month,1),purchaseAmountCny:Ae(r.purchaseAmountCny,"0.00"),salesAmountCny:Ae(r.salesAmountCny,"0.00"),estimatedGrossProfitCny:Ae(r.estimatedGrossProfitCny,"0.00"),receivedCny:Ae(r.receivedCny,"0.00")})),todos:ei(e.todos).filter(r=>zu(r.key)!==null).map(r=>({key:zu(r.key),label:Ae(r.label),count:$i(r.count),...r.amountCny==null?{}:{amountCny:Ae(r.amountCny,"0.00")},priority:zR(r.priority),description:Ae(r.description)})),riskDistribution:ei(e.riskDistribution).filter(r=>zu(r.key)!==null).map(r=>({key:zu(r.key),label:Ae(r.label),count:$i(r.count),...r.amountCny==null?{}:{amountCny:Ae(r.amountCny,"0.00")}})),customerValueTop5:ei(e.customerValueTop5).map(r=>({customerId:Ae(r.customerId),customerName:Ae(r.customerName),salesAmountCny:Ae(r.salesAmountCny,"0.00"),estimatedGrossProfitCny:Ae(r.estimatedGrossProfitCny,"0.00"),estimatedGrossProfitRate:Ae(r.estimatedGrossProfitRate,"0.00000000"),unreceivedCny:Ae(r.unreceivedCny,"0.00"),riskStatus:Q0(r.riskStatus)})),receivableRiskTop5:ei(e.receivableRiskTop5).map(r=>({customerId:Ae(r.customerId),customerName:Ae(r.customerName),unreceivedCny:Ae(r.unreceivedCny,"0.00"),orderCount:$i(r.orderCount),latestOrderDate:r.latestOrderDate==null?null:Ae(r.latestOrderDate)})),supplierRiskTop5:ei(e.supplierRiskTop5).map(r=>({supplierId:Ae(r.supplierId),supplierName:Ae(r.supplierName),unpaidCny:Ae(r.unpaidCny,"0.00"),sanctionHitCount:$i(r.sanctionHitCount),productRiskHitCount:$i(r.productRiskHitCount),purchaseOrderCount:$i(r.purchaseOrderCount),riskStatus:Q0(r.riskStatus)})),salesFileReviews:ei(e.salesFileReviews).map(r=>({fileId:Ae(r.fileId),fileName:Ae(r.fileName),fileType:Ae(r.fileType),salesOrderNo:Ae(r.salesOrderNo),reason:Ae(r.reason),generatedAt:Ae(r.generatedAt)})),riskOrders:ei(e.riskOrders).map(r=>({orderKey:Ae(r.orderKey),orderNo:Ae(r.orderNo),partyName:Ae(r.partyName),riskType:Ae(r.riskType),riskAmountCny:Ae(r.riskAmountCny,"0.00"),status:Ae(r.status)})),dataSources:ei(e.dataSources).map(r=>({label:Ae(r.label),description:Ae(r.description)}))}}function ei(t){return Array.isArray(t)?t.filter(Gu):[]}function zR(t){return t==="high"||t==="medium"||t==="low"?t:"medium"}function Q0(t){return t==="HIGH"||t==="MEDIUM"||t==="LOW"?t:"MEDIUM"}function zu(t){return t==="customer-contract-review"||t==="purchase-contract-review"||t==="product-risk-review"||t==="sanction-review"||t==="sales-file-review"?t:null}function Ae(t,e=""){return t==null?e:String(t)}function Uu(t,e){let n=Number(t);return Number.isInteger(n)&&n>0?n:e}function $i(t){let e=Number(t);return Number.isInteger(e)&&e>=0?e:0}function nr(t){return t&&typeof t=="object"&&!Array.isArray(t)?t:{}}function Gu(t){return!!(t&&typeof t=="object"&&!Array.isArray(t))}function UR(t){return!!(t&&typeof t=="object"&&!Array.isArray(t))}var um=be(Qt(),1);function lm(t,e){if(e.length===0)return"none";let n=e.filter(r=>t.has(r)).length;return n===0?"none":n===e.length?"all":"some"}function yr(t,e){let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n}function Ao(t,e){return lm(t,e)==="all"?new Set:new Set(e)}async function rr(t,e){let n={succeeded:[],failed:[]};for(let r of t)try{await e(r),n.succeeded.push(r)}catch(i){n.failed.push({key:r,message:i instanceof Error?i.message:"\u5220\u9664\u5931\u8D25"})}return n}function nx(t,e){let n=new Set(e);return new Set(t.map(({key:r})=>r).filter(r=>n.has(r)))}function Lr(t,e){return t>1&&e===0?t-1:t}function Hu(){let t=!1;return{run(e){return t?null:(t=!0,e().finally(()=>{t=!1}))}}}function ju(t){let e=0,n=t,r=i=>i.revision===e&&i.identity===n;return{invalidate(){e+=1},observeIdentity(i){n!==i&&(n=i,e+=1)},capture(){return{revision:e,identity:n}},isCurrent:r,commit(i,o){return r(i)?(o(),!0):!1}}}function $u({confirmGuard:t,generationGuard:e,operation:n,onCurrentResult:r,onStaleReconcile:i,onBusyChange:o}){return t.run(async()=>{let a=e.capture();o(!0);try{let s=await n(()=>e.isCurrent(a));if(!e.commit(a,()=>r(s)))try{await i?.(s)}catch{}return s}finally{o(!1)}})}async function GR({isActive:t,latestQuery:e,query:n}){if(!t())return!1;try{return await n(e())!==!1}catch{return!1}}function cm(){let t=!1,e=null,n=r=>{if(e)return e;t=!1,r.onBusyChange(!0);let i=GR(r).finally(()=>{e=null,r.onBusyChange(!1)});return e=i,i};return{reconcile(r){return r.isActive()?n(r):(t=!0,Promise.resolve(!1))},activate(r){return!t||!r.isActive()?Promise.resolve(!1):n(r)},hasPending(){return t}}}var Wu=be(Qt(),1);var Se=be(Be(),1);function _e({open:t,title:e,size:n="normal",children:r,footer:i,closeDisabled:o=!1,busy:a=!1,onClose:s}){let l=Wu.default.useId(),c=Wu.default.useRef(null);return Wu.default.useEffect(()=>{if(!t)return;let u=c.current,d=document.activeElement instanceof HTMLElement?document.activeElement:null;return(ax(u)[0]??u)?.focus(),()=>d?.focus()},[t]),t?(0,Se.jsx)("div",{className:"tcw-modal-backdrop",role:"presentation",children:(0,Se.jsxs)("section",{ref:c,className:`tcw-modal tcw-modal--${n}`,role:"dialog","aria-modal":"true","aria-labelledby":l,"aria-busy":a||void 0,tabIndex:-1,onKeyDown:u=>YR(u,c.current,o?()=>{}:s),children:[(0,Se.jsxs)("header",{children:[(0,Se.jsx)("h2",{id:l,children:e}),(0,Se.jsx)("button",{type:"button",className:"tcw-icon-button",title:"\u5173\u95ED","aria-label":"\u5173\u95ED",disabled:o,onClick:s,children:(0,Se.jsx)("i",{className:"ri-close-line","aria-hidden":"true"})})]}),(0,Se.jsx)("div",{className:"tcw-modal-body",children:r}),i&&(0,Se.jsx)("footer",{children:i})]})}):null}function Rt({children:t,columns:e=2}){return(0,Se.jsx)("div",{className:`tcw-field-grid tcw-field-grid--${e}`,children:t})}function se({label:t,required:e,full:n,hint:r,error:i,errorId:o,children:a}){return(0,Se.jsxs)("label",{className:`tcw-form-field${n?" tcw-form-field--full":""}${i?" is-invalid":""}`,children:[(0,Se.jsxs)("span",{children:[e&&(0,Se.jsx)("b",{children:"*"}),t]}),a,r&&(0,Se.jsx)("small",{children:r}),i&&(0,Se.jsx)("small",{id:i?o:void 0,className:"tcw-form-field-error",role:"alert",children:i})]})}function Ku({editor:t,source:e,editorTitle:n="\u8BC6\u522B\u5185\u5BB9",sourceTitle:r="\u6E90\u6587\u4EF6\u5185\u5BB9"}){return(0,Se.jsxs)("div",{className:"tcw-review-split",children:[(0,Se.jsxs)("section",{children:[(0,Se.jsx)("h3",{children:n}),t]}),(0,Se.jsxs)("section",{children:[(0,Se.jsx)("h3",{children:r}),e]})]})}function Js({accept:t,disabled:e,onFile:n,onError:r}){let i=Mu(),o=l=>{try{Bu(l,t),n(l)}catch(c){let u=c instanceof Error?c.message:"\u6587\u4EF6\u6821\u9A8C\u5931\u8D25";if(r)r(u);else throw c}};return(0,Se.jsxs)("label",{className:`tcw-upload-zone${e?" is-disabled":""}`,"aria-disabled":e,onDragOver:l=>{l.preventDefault(),e||(l.dataTransfer.dropEffect="copy")},onDrop:l=>{if(l.preventDefault(),e)return;let c=l.dataTransfer.files?.[0];c&&o(c)},children:[(0,Se.jsx)("i",{className:"ri-upload-cloud-2-line","aria-hidden":"true"}),(0,Se.jsx)("strong",{children:"\u70B9\u51FB\u6216\u62D6\u62FD\u6587\u4EF6\u5230\u6B64\u5904\u4E0A\u4F20"}),(0,Se.jsxs)("span",{children:["\u652F\u6301 PDF\u3001Word\u3001Excel \u548C\u5E38\u89C1\u56FE\u7247\u683C\u5F0F\uFF0C\u5355\u4E2A\u6587\u4EF6\u4E0D\u8D85\u8FC7 ",i.maxUploadMb," MB"]}),(0,Se.jsx)("input",{type:"file",accept:t,disabled:e,onChange:l=>{let c=l.target.files?.[0];l.currentTarget.value="",c&&o(c)}})]})}function QR({key:t,shiftKey:e,activeIndex:n,focusableCount:r}){return t==="Escape"?"close":t!=="Tab"||r<1?"none":e&&n<=0?"last":!e&&n>=r-1?"first":"none"}function YR(t,e,n){let r=ax(e),i=r.indexOf(document.activeElement),o=QR({key:t.key,shiftKey:t.shiftKey,activeIndex:i,focusableCount:r.length});if(o==="close"){t.preventDefault(),n();return}if(t.key==="Tab"&&!r.length){t.preventDefault(),e?.focus();return}(o==="first"||o==="last")&&(t.preventDefault(),r[o==="first"?0:r.length-1]?.focus())}function ax(t){return t?Array.from(t.querySelectorAll('button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])')):[]}function Bt({open:t,title:e,message:n,confirmText:r="\u786E\u8BA4",cancelText:i="\u53D6\u6D88",danger:o,confirmDisabled:a,busy:s=!1,onCancel:l,onConfirm:c}){return(0,Se.jsxs)(_e,{open:t,title:e,closeDisabled:s,busy:s,onClose:l,footer:(0,Se.jsxs)(Se.Fragment,{children:[(0,Se.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",disabled:s,onClick:l,children:[(0,Se.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),i]}),(0,Se.jsxs)("button",{type:"button",className:`tcw-button tcw-button--${o?"danger":"primary"}`,disabled:s||a,onClick:c,children:[(0,Se.jsx)("i",{className:o?"ri-delete-bin-line":"ri-check-line","aria-hidden":"true"}),r]})]}),children:[(0,Se.jsxs)("div",{className:`tcw-confirm-message${o?" is-danger":""}`,children:[(0,Se.jsx)("i",{className:o?"ri-error-warning-line":"ri-question-line","aria-hidden":"true"}),(0,Se.jsx)("p",{children:n})]}),s&&(0,Se.jsx)("p",{role:"status","aria-live":"polite",children:"\u5904\u7406\u4E2D..."})]})}function sx({visible:t,label:e="\u5904\u7406\u4E2D\uFF0C\u8BF7\u7A0D\u5019"}){return t?(0,Se.jsxs)("div",{className:"tcw-loading-blocker",role:"status","aria-live":"polite",children:[(0,Se.jsx)("span",{className:"tcw-spinner","aria-hidden":"true"}),(0,Se.jsx)("strong",{children:e})]}):null}function XR({message:t,tone:e,onClose:n}){return t?(0,Se.jsxs)("div",{className:`tcw-toast tcw-toast--${e}`,role:e==="error"?"alert":"status",children:[(0,Se.jsx)("i",{className:ZR(e),"aria-hidden":"true"}),(0,Se.jsx)("span",{children:t}),n&&(0,Se.jsx)("button",{type:"button",title:"\u5173\u95ED","aria-label":"\u5173\u95ED",onClick:n,children:(0,Se.jsx)("i",{className:"ri-close-line","aria-hidden":"true"})})]}):null}function lx({items:t,onClose:e}){return t.length?(0,Se.jsx)("div",{className:"tcw-toast-stack","aria-label":"\u64CD\u4F5C\u63D0\u793A",children:t.map(n=>(0,Se.jsx)(XR,{message:n.message,tone:n.tone,onClose:()=>e(n.id)},n.id))}):null}function ZR(t){return t==="success"?"ri-checkbox-circle-line":t==="error"?"ri-close-circle-line":t==="warning"?"ri-error-warning-line":"ri-information-line"}var cn=be(Be(),1);function cx({count:t,disabled:e,onClear:n,onDelete:r}){return(0,cn.jsxs)("div",{className:"tcw-bulk-action-bar",role:"toolbar","aria-label":"\u6279\u91CF\u64CD\u4F5C",children:[(0,cn.jsxs)("strong",{children:["\u5DF2\u9009\u62E9 ",t," \u9879"]}),(0,cn.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",disabled:e,onClick:n,children:[(0,cn.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u6E05\u9664\u9009\u62E9"]}),(0,cn.jsxs)("button",{type:"button",className:"tcw-button tcw-button--danger-subtle",disabled:e,onClick:r,children:[(0,cn.jsx)("i",{className:"ri-delete-bin-line","aria-hidden":"true"}),"\u6279\u91CF\u5220\u9664"]})]})}function En({open:t,title:e,count:n,message:r,busy:i,failures:o=[],onCancel:a,onConfirm:s}){return(0,cn.jsx)(Bt,{open:t,title:e,message:(0,cn.jsxs)("span",{className:"tcw-bulk-delete-message",children:[(0,cn.jsxs)("span",{children:["\u5C06\u5220\u9664 ",n," \u9879\u3002"]}),(0,cn.jsx)("span",{children:r}),o.length>0&&(0,cn.jsx)("span",{className:"tcw-bulk-delete-failures",role:"alert","aria-label":"\u5220\u9664\u5931\u8D25\u8BE6\u60C5",children:o.map((l,c)=>(0,cn.jsxs)("span",{children:[(0,cn.jsx)("strong",{children:l.label}),(0,cn.jsx)("span",{children:l.message})]},`${l.label}-${c}`))})]}),confirmText:i?"\u5220\u9664\u4E2D":"\u786E\u8BA4\u5220\u9664",danger:!0,confirmDisabled:i,onCancel:a,onConfirm:s})}var fe=be(Be(),1);function un({definitions:t,values:e,onChange:n,onQuery:r,onReset:i}){return(0,fe.jsx)("section",{className:"tcw-filter-panel","aria-label":"\u7B5B\u9009\u6761\u4EF6",children:(0,fe.jsxs)("div",{className:"tcw-filter-grid",children:[t.map(o=>(0,fe.jsx)(qR,{definition:o,value:e[o.key],onChange:a=>n(o.key,a)},o.key)),(0,fe.jsxs)("div",{className:"tcw-filter-actions",children:[r&&(0,fe.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:r,children:[(0,fe.jsx)("i",{className:"ri-search-line","aria-hidden":"true"}),"\u67E5\u8BE2"]}),(0,fe.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:i,children:[(0,fe.jsx)("i",{className:"ri-restart-line","aria-hidden":"true"}),"\u91CD\u7F6E"]})]})]})})}function qR({definition:t,value:e,onChange:n}){if(t.type==="date-range"||t.type==="amount-range"){let r=sE(e)?e:{},i=t.type==="date-range"?"date":"number";return(0,fe.jsxs)("label",{className:"tcw-filter-control tcw-filter-control--range",children:[(0,fe.jsx)("span",{children:t.label}),(0,fe.jsxs)("div",{children:[(0,fe.jsx)("input",{type:i,value:String(r.from??""),disabled:t.disabled,"aria-label":`${t.label}\u8D77\u59CB\u503C`,onChange:o=>n({...r,from:o.target.value})}),(0,fe.jsx)("em",{children:"\u81F3"}),(0,fe.jsx)("input",{type:i,value:String(r.to??""),disabled:t.disabled,"aria-label":`${t.label}\u7ED3\u675F\u503C`,onChange:o=>n({...r,to:o.target.value})})]})]})}return t.type==="select"?(0,fe.jsxs)("label",{className:"tcw-filter-control",children:[(0,fe.jsx)("span",{children:t.label}),(0,fe.jsxs)("select",{value:String(e??""),disabled:t.disabled,onChange:r=>n(r.target.value),children:[(0,fe.jsx)("option",{value:"",children:t.placeholder??"\u5168\u90E8"}),t.options.map(r=>(0,fe.jsx)("option",{value:r.value,children:r.label},r.value))]})]}):(0,fe.jsxs)("label",{className:"tcw-filter-control",children:[(0,fe.jsx)("span",{children:t.label}),(0,fe.jsx)("input",{type:"search",value:String(e??""),disabled:t.disabled,placeholder:t.placeholder??`\u8BF7\u8F93\u5165${t.label}`,onChange:r=>n(r.target.value)})]})}function ot({columns:t,rows:e,rowKey:n,actions:r,actionHeader:i="\u64CD\u4F5C",actionWidth:o=180,pagination:a,onPageChange:s,onPageSizeChange:l,emptyText:c="\u6682\u65E0\u6570\u636E",selection:u}){let d=e.map((v,g)=>aE(v,g,n)),p=u?e.flatMap((v,g)=>u.isSelectable?.(v)===!1?[]:[d[g]]):d,h=u?lm(u.selectedKeys,p):"none",m=t.length+(u?1:0)+(r?1:0),f=tE(o);return(0,fe.jsxs)("section",{className:"tcw-grid-section",children:[u&&u.selectedKeys.size>0&&(0,fe.jsx)(cx,{count:u.selectedKeys.size,disabled:u.disabled,onClear:u.onClear,onDelete:u.onDelete}),(0,fe.jsx)("div",{className:"tcw-table-scroll",children:(0,fe.jsxs)("table",{className:"tcw-data-table",children:[(0,fe.jsx)("thead",{children:(0,fe.jsxs)("tr",{children:[u&&(0,fe.jsx)("th",{className:"tcw-selection-column",children:(0,fe.jsx)(ux,{ariaLabel:"\u9009\u62E9\u5F53\u524D\u9875\u5168\u90E8\u8BB0\u5F55",checked:h==="all",indeterminate:h==="some",disabled:u.disabled||p.length===0,onChange:v=>u.onTogglePage(v)})}),t.map(v=>(0,fe.jsx)("th",{style:dx(v),className:fx(v.align),children:v.header},v.key)),r&&(0,fe.jsx)("th",{className:"action-column tcw-align-center",style:f,children:i})]})}),(0,fe.jsx)("tbody",{children:e.length===0?(0,fe.jsx)("tr",{className:"tcw-empty-row",children:(0,fe.jsx)("td",{colSpan:m,children:c})}):e.map((v,g)=>{let y=d[g],w=u?.selectedKeys.has(y)??!1,b=u?.isSelectable?.(v)!==!1;return(0,fe.jsxs)("tr",{className:w?"is-selected":void 0,children:[u&&(0,fe.jsx)("td",{className:"tcw-selection-column",children:b&&(0,fe.jsx)(ux,{ariaLabel:u.labelFor(v),checked:w,disabled:u.disabled,onChange:()=>u.onToggle(y)})}),t.map(x=>(0,fe.jsx)(JR,{column:x,row:v},x.key)),r&&(0,fe.jsx)("td",{className:"action-column tcw-align-center",style:f,children:(0,fe.jsx)("div",{className:"tcw-row-actions",children:r(v)})})]},y)})})]})}),a&&(0,fe.jsx)(iE,{state:a,onPageChange:s,onPageSizeChange:l})]})}function ux({ariaLabel:t,checked:e,indeterminate:n=!1,disabled:r,onChange:i}){let o=um.default.useRef(null);return um.default.useEffect(()=>{o.current&&(o.current.indeterminate=n)},[n]),(0,fe.jsx)("input",{ref:o,className:"tcw-selection-checkbox",type:"checkbox","aria-label":t,checked:e,disabled:r,onChange:a=>i(a.target.checked)})}function JR({column:t,row:e}){let n=oE(e,t.accessor??t.key),r=t.truncate!==!1,i=[t.type!=="custom"?"tcw-grid-cell-text":"",r?"tcw-ellipsis":"",fx(t.align)].filter(Boolean).join(" "),o=dx(t);if(t.type==="custom")return(0,fe.jsx)("td",{className:i,style:o,title:r?t.title?.(n,e)??nE(n):void 0,children:t.render(n,e)});let a=t.format?t.format(n,e):hx(n);return(0,fe.jsx)("td",{className:i,style:o,title:r&&px(n)?a:void 0,children:a})}var eE=220;function dx(t){let e=t.maxWidth??t.width??eE;return{...t.width?{width:t.width}:{},maxWidth:e}}function tE(t){return{width:t,minWidth:t,maxWidth:t}}function px(t){return t!=null&&t!==""&&(!Array.isArray(t)||t.length>0)}function nE(t){return px(t)?hx(t):void 0}function rE(t,e){if(e<=7)return Array.from({length:Math.max(0,e)},(i,o)=>o+1);let r=[...new Set([1,e,t-1,t,t+1].filter(i=>i>=1&&i<=e))].sort((i,o)=>i-o);return r.flatMap((i,o)=>o>0&&i-r[o-1]>1?["ellipsis",i]:[i])}function iE({state:t,onPageChange:e,onPageSizeChange:n}){let r=rE(t.page,t.pageCount);return(0,fe.jsxs)("div",{className:"tcw-pagination",children:[(0,fe.jsxs)("span",{className:"tcw-pagination-total",children:["\u5171 ",t.total," \u6761\u8BB0\u5F55"]}),(0,fe.jsxs)("div",{className:"tcw-pagination-controls",children:[(0,fe.jsxs)("button",{type:"button","aria-label":"\u4E0A\u4E00\u9875",disabled:t.page<=1,onClick:()=>e?.(t.page-1),children:[(0,fe.jsx)("i",{className:"ri-arrow-left-s-line","aria-hidden":"true"}),"\u4E0A\u4E00\u9875"]}),(0,fe.jsx)("div",{className:"tcw-pagination-pages",children:r.map((i,o)=>i==="ellipsis"?(0,fe.jsx)("span",{className:"tcw-pagination-ellipsis","aria-hidden":"true",children:"\u2026"},`ellipsis-${o}`):(0,fe.jsx)("button",{type:"button",className:"tcw-pagination-page-button","aria-label":`\u7B2C ${i} \u9875`,"aria-current":i===t.page?"page":void 0,disabled:i===t.page,onClick:()=>e?.(i),children:i},i))}),(0,fe.jsxs)("button",{type:"button","aria-label":"\u4E0B\u4E00\u9875",disabled:t.page>=t.pageCount,onClick:()=>e?.(t.page+1),children:[(0,fe.jsx)("i",{className:"ri-arrow-right-s-line","aria-hidden":"true"}),"\u4E0B\u4E00\u9875"]}),(0,fe.jsx)("select",{"aria-label":"\u6BCF\u9875\u6761\u6570",value:t.pageSize,onChange:i=>{let o=Number(i.target.value);ji(o)&&n?.(o)},children:om.map(i=>(0,fe.jsxs)("option",{value:i,children:[i," \u6761/\u9875"]},i))})]})]})}function Je({children:t}){return(0,fe.jsxs)("div",{className:"tcw-notice tcw-notice--info",role:"status",children:[(0,fe.jsx)("i",{className:"ri-information-line","aria-hidden":"true"}),(0,fe.jsx)("span",{children:t})]})}function ct({children:t}){return(0,fe.jsxs)("div",{className:"tcw-notice tcw-notice--risk",role:"alert",children:[(0,fe.jsx)("i",{className:"ri-error-warning-line","aria-hidden":"true"}),(0,fe.jsx)("span",{children:t})]})}function oE(t,e){return typeof e=="function"?e(t):t[e]}function aE(t,e,n){return String(typeof n=="function"?n(t,e):t[n]??e)}function hx(t){return t==null||t===""?"\u2014":Array.isArray(t)?t.join("\u3001"):String(t)}function fx(t){return t?`tcw-align-${t}`:""}function sE(t){return!!(t&&typeof t=="object"&&!Array.isArray(t))}var wn=be(Qt(),1);var Ce=be(Be(),1);function lE(t,e){return e&&(t==="Enter"||t===" ")}function cE(t,e,n){return t!==e&&!n}function uE(t,e){let n=new Set(e);return t.filter(r=>n.has(r.id))}function mx({items:t,busy:e=!1,defaultOpen:n=!1,onBulkDelete:r,onActionError:i}){let[o,a]=wn.default.useState(n),[s,l]=wn.default.useState(null),[c,u]=wn.default.useState(new Set),[d,p]=wn.default.useState(!1),[h,m]=wn.default.useState(!1),[f,v]=wn.default.useState([]),g=wn.default.useRef(!1),y=wn.default.useRef(null),w=wn.default.useRef(null),b=t.filter(Q=>Q.tone==="running"||Q.tone==="success"||Q.tone==="failed"),x=b.filter(Q=>Q.tone==="running").length,C=b.filter(Q=>Q.tone==="success").length,k=b.filter(Q=>Q.tone==="failed").length,S=x+C+k,E=b.slice(0,12),D=E.map(Q=>Q.id),O=JSON.stringify(D),H=wn.default.useRef(O),M=wn.default.useRef(D),_=wn.default.useRef(O);H.current=O,M.current=D;let V=E.filter(Q=>c.has(Q.id)),G=V.some(Q=>Q.tone==="running"),K=e||h;wn.default.useEffect(()=>{let Q=_.current;if(_.current=O,!o){u(new Set),p(!1),v([]);return}cE(Q,O,g.current)&&(u(new Set),p(!1),v([]))},[o,O]),wn.default.useEffect(()=>{if(!o)return;let Q=ee=>{y.current?.contains(ee.target)||a(!1)},F=ee=>{ee.key==="Escape"&&(a(!1),w.current?.focus())};return document.addEventListener("pointerdown",Q),document.addEventListener("keydown",F),()=>{document.removeEventListener("pointerdown",Q),document.removeEventListener("keydown",F)}},[o]);let J=Q=>{Q.onSelect&&(a(!1),Promise.resolve(Q.onSelect()).catch(F=>i?.(F,Q)))},ie=()=>{if(!s?.onDelete)return;let Q=s,F=s.onDelete;Promise.resolve(F()).then(()=>{l(null),a(!1)}).catch(ee=>i?.(ee,Q))},ue=Q=>u(F=>{let ee=new Set(F);return ee.has(Q)?ee.delete(Q):ee.add(Q),ee}),we=()=>u(Q=>Q.size===D.length?new Set:new Set(D)),Y=()=>{if(!r||V.length===0||K||g.current)return;let Q=[...V];g.current=!0,m(!0),r(Q).then(F=>{let ee=uE(F,M.current),B=new Set(ee.map(U=>U.id));_.current=H.current,u(B),v(ee.map(U=>({key:U.id,label:Q.find(q=>q.id===U.id)?.title??U.id,message:U.message}))),ee.length===0&&(p(!1),a(!1))}).catch(F=>i?.(F,Q[0])).finally(()=>{g.current=!1,m(!1)})};return(0,Ce.jsxs)("div",{ref:y,className:`tcw-task-menu${o?" is-open":""}`,children:[(0,Ce.jsxs)("button",{ref:w,type:"button",className:"tcw-task-trigger","aria-label":S>0?`\u4EFB\u52A1 ${S}`:"\u4EFB\u52A1","aria-haspopup":"dialog","aria-expanded":o,onClick:()=>a(Q=>!Q),children:[(0,Ce.jsx)("span",{className:"tcw-task-trigger-icon","aria-hidden":"true",children:(0,Ce.jsx)("i",{className:"ri-pulse-line"})}),(0,Ce.jsx)("span",{children:"\u4EFB\u52A1"}),S>0&&(0,Ce.jsx)("em",{children:S}),(0,Ce.jsx)("i",{className:o?"ri-arrow-up-s-line":"ri-arrow-down-s-line","aria-hidden":"true"})]}),o&&(0,Ce.jsxs)("section",{className:"tcw-task-popover",role:"dialog","aria-label":"\u4EFB\u52A1\u72B6\u6001",children:[(0,Ce.jsxs)("header",{children:[(0,Ce.jsxs)("div",{children:[(0,Ce.jsx)("strong",{children:"\u4EFB\u52A1\u72B6\u6001"}),(0,Ce.jsx)("small",{children:"\u76D1\u63A7\u4E0A\u4F20\u3001\u89E3\u6790\u3001\u6210\u529F\u548C\u5931\u8D25\u4EFB\u52A1"})]}),(0,Ce.jsxs)("span",{children:[b.length," \u4E2A\u4EFB\u52A1"]})]}),(0,Ce.jsxs)("div",{className:"tcw-task-summary","aria-label":"\u4EFB\u52A1\u7EDF\u8BA1",children:[(0,Ce.jsxs)("span",{children:["\u8FDB\u884C\u4E2D ",x]}),(0,Ce.jsxs)("span",{children:["\u6210\u529F ",C]}),(0,Ce.jsxs)("span",{children:["\u5931\u8D25 ",k]})]}),(0,Ce.jsxs)("div",{className:"tcw-task-list",children:[E.length>0&&r&&(0,Ce.jsxs)("div",{className:"tcw-task-bulk-bar",children:[(0,Ce.jsxs)("label",{children:[(0,Ce.jsx)("input",{type:"checkbox","aria-label":"\u9009\u62E9\u5F53\u524D\u5168\u90E8\u4EFB\u52A1",checked:c.size>0&&c.size===D.length,onChange:we,disabled:K}),"\u5168\u9009"]}),c.size>0&&(0,Ce.jsxs)(Ce.Fragment,{children:[(0,Ce.jsxs)("span",{children:["\u5DF2\u9009\u62E9 ",c.size," \u4E2A\u4EFB\u52A1"]}),(0,Ce.jsxs)("button",{type:"button",className:"tcw-button tcw-button--danger-subtle",disabled:K,onClick:()=>{v([]),p(!0)},children:[(0,Ce.jsx)("i",{className:"ri-delete-bin-line","aria-hidden":"true"}),G?"\u53D6\u6D88\u5E76\u5220\u9664":"\u6279\u91CF\u5220\u9664"]})]})]}),E.length===0?(0,Ce.jsxs)("div",{className:"tcw-task-empty",children:[(0,Ce.jsx)("i",{className:"ri-checkbox-circle-line","aria-hidden":"true"}),"\u6682\u65E0\u540E\u53F0\u4EFB\u52A1"]}):E.map(Q=>(0,Ce.jsx)(dE,{item:Q,busy:K,selected:c.has(Q.id),selectable:!!r,onToggle:()=>ue(Q.id),onSelect:()=>J(Q),onDelete:()=>l(Q),onActionError:i},Q.id))]})]}),(0,Ce.jsx)(Bt,{open:!!s,title:s?.tone==="running"?"\u53D6\u6D88\u5E76\u5220\u9664\u4EFB\u52A1\uFF1F":"\u5220\u9664\u4EFB\u52A1\uFF1F",message:s?.tone==="running"?`\u5C06\u53D6\u6D88\u201C${s.title}\u201D\u5E76\u6E05\u7406\u672A\u63D0\u4EA4\u7684\u4EFB\u52A1\u6570\u636E\uFF0C\u5DF2\u5165\u5E93\u4E1A\u52A1\u6570\u636E\u4F1A\u4FDD\u7559\u3002`:`\u5C06\u5220\u9664\u201C${s?.title??""}\u201D\u7684\u4EFB\u52A1\u8BB0\u5F55\u548C\u672A\u63D0\u4EA4\u7684\u4E34\u65F6\u6570\u636E\uFF0C\u5DF2\u5165\u5E93\u4E1A\u52A1\u6570\u636E\u4F1A\u4FDD\u7559\u3002`,confirmText:s?.tone==="running"?"\u53D6\u6D88\u5E76\u5220\u9664":"\u786E\u8BA4\u5220\u9664",danger:!0,confirmDisabled:e,onCancel:()=>l(null),onConfirm:ie}),(0,Ce.jsx)(En,{open:d,title:G?`\u53D6\u6D88\u5E76\u5220\u9664 ${c.size} \u4E2A\u4EFB\u52A1`:`\u5220\u9664 ${c.size} \u4E2A\u4EFB\u52A1`,count:c.size,message:G?"\u5C06\u53D6\u6D88\u8FD0\u884C\u4E2D\u7684\u4EFB\u52A1\u5E76\u5220\u9664\u6240\u9009\u4EFB\u52A1\u8BB0\u5F55\u548C\u672A\u63D0\u4EA4\u4E34\u65F6\u6570\u636E\uFF0C\u5DF2\u5165\u5E93\u4E1A\u52A1\u6570\u636E\u4F1A\u4FDD\u7559\u3002":"\u5C06\u5220\u9664\u6240\u9009\u4EFB\u52A1\u8BB0\u5F55\u548C\u672A\u63D0\u4EA4\u4E34\u65F6\u6570\u636E\uFF0C\u5DF2\u5165\u5E93\u4E1A\u52A1\u6570\u636E\u4F1A\u4FDD\u7559\u3002",busy:K,failures:f,onCancel:()=>{h||p(!1)},onConfirm:Y})]})}function dE({item:t,busy:e,selected:n,selectable:r,onToggle:i,onSelect:o,onDelete:a,onActionError:s}){let l=t.progressPercent==null?null:Math.max(0,Math.min(100,Math.round(t.progressPercent))),c=!!(t.actionLabel&&t.onAction),u=!!t.onDelete,d=h=>{h.stopPropagation(),Promise.resolve(t.onAction?.()).catch(m=>s?.(m,t))},p=h=>{h.stopPropagation(),a()};return(0,Ce.jsxs)("article",{className:`tcw-task-row tcw-task-row--${t.tone}${r?" has-selection":""}${t.onSelect?" is-selectable":""}`,tabIndex:t.onSelect?0:-1,onClick:o,onKeyDown:h=>{t.onSelect&&lE(h.key,h.currentTarget===h.target)&&(h.preventDefault(),o())},children:[r&&(0,Ce.jsx)("input",{className:"tcw-task-row-checkbox",type:"checkbox","aria-label":`\u9009\u62E9\u4EFB\u52A1\uFF1A${t.title}`,checked:n,disabled:e,onClick:h=>h.stopPropagation(),onChange:h=>{h.stopPropagation(),i()}}),(0,Ce.jsx)("span",{className:"tcw-task-row-icon","aria-hidden":"true",children:(0,Ce.jsx)("i",{className:pE(t.tone)})}),(0,Ce.jsxs)("div",{className:"tcw-task-row-body",children:[(0,Ce.jsx)("div",{className:"tcw-task-row-title",children:(0,Ce.jsx)("strong",{title:t.title,children:t.title})}),(0,Ce.jsxs)("p",{children:[t.subtitle,t.updatedAt?` \xB7 ${t.updatedAt}`:""]}),l!=null&&(0,Ce.jsx)("div",{className:"tcw-task-progress","aria-label":`\u8FDB\u5EA6 ${l}%`,children:(0,Ce.jsx)("span",{style:{width:`${l}%`}})})]}),(0,Ce.jsx)("span",{className:"tcw-task-row-status",children:t.statusLabel}),(0,Ce.jsxs)("div",{className:"tcw-task-row-actions",children:[c&&(0,Ce.jsxs)("button",{type:"button",className:"tcw-task-row-action",disabled:e,onClick:d,children:[(0,Ce.jsx)("i",{className:"ri-arrow-right-line","aria-hidden":"true"}),t.actionLabel]}),u&&(0,Ce.jsx)("button",{type:"button",className:"tcw-task-row-delete",disabled:e,"aria-label":t.deleteLabel??`\u5220\u9664\u4EFB\u52A1\uFF1A${t.title}`,title:t.deleteLabel??"\u5220\u9664\u4EFB\u52A1",onClick:p,children:(0,Ce.jsx)("i",{className:"ri-delete-bin-line","aria-hidden":"true"})})]})]})}function pE(t){return t==="running"?"ri-loader-4-line":t==="review"?"ri-file-search-line":t==="failed"?"ri-error-warning-line":t==="success"?"ri-checkbox-circle-line":"ri-time-line"}async function wr(t,e,n){try{return await t(),e?.({message:n.success,tone:"success"}),!0}catch(r){return e?.({message:r instanceof Error?r.message:n.error,tone:"error"}),!1}}async function dm(t,e,n,r){if(!await wr(t,n,r))return!1;try{await e()}catch{n?.({message:"\u6570\u636E\u5237\u65B0\u5931\u8D25",tone:"error"})}return!0}function yx(t,e,n){let r=n(),i=r,o=2;for(;t.some(a=>a.id===i);)i=`${r}-${o++}`;return[...t,{...e,id:i,durationMs:e.durationMs??4e3}]}function pm(t,e){return t.filter(n=>n.id!==e)}function wx(t){let e=new Map,n=r=>{let i=e.get(r);i!==void 0&&clearTimeout(i),e.delete(r)};return{sync(r){let i=new Set(r.map(o=>o.id));for(let o of e.keys())i.has(o)||n(o);for(let o of r){if(e.has(o.id))continue;let a=setTimeout(()=>{e.delete(o.id),t(o.id)},o.durationMs);e.set(o.id,a)}},dismiss:n,dispose(){for(let r of[...e.keys()])n(r)}}}var gx=0;function vx(){return gx+=1,`toast-${Date.now()}-${gx}`}var xa=be(Qt(),1);var bx="trade-compliance-workbench.sidebar-collapsed.v1";function xx(t){try{return t?.getItem(bx)==="true"}catch{return!1}}function Cx(t,e){try{t?.setItem(bx,String(e))}catch{}}function Sx(t,e,n){return e?!n:t}var Ge=be(Be(),1),Tx=[{page:"home",label:"\u9996\u9875",icon:"ri-home-5-line",route:{type:"page",page:"home"}},{page:"procurement",label:"\u91C7\u8D2D\u5408\u89C4\u7BA1\u7406",icon:"ri-file-list-3-line",route:{type:"procurement",level:"suppliers"}},{page:"customer-contract-review",label:"\u5BA2\u6237\u5408\u540C\u5BA1\u6838",icon:"ri-file-search-line",route:{type:"page",page:"customer-contract-review"}},{page:"sales",label:"\u9500\u552E\u5408\u89C4\u7BA1\u7406",icon:"ri-shopping-bag-3-line",route:{type:"sales",level:"customers"}},{page:"sales-files",label:"\u9500\u552E\u6587\u4EF6\u7BA1\u7406",icon:"ri-file-excel-2-line",route:{type:"page",page:"sales-files"}},{page:"controlled-goods",label:"\u7BA1\u63A7\u5546\u54C1\u76EE\u5F55",icon:"ri-shield-check-line",route:{type:"page",page:"controlled-goods"}},{page:"sanctioned-companies",label:"\u516C\u53F8\u5236\u88C1\u76EE\u5F55",icon:"ri-building-2-line",route:{type:"page",page:"sanctioned-companies"}},{page:"analytics",label:"\u6570\u636E\u5206\u6790",icon:"ri-pie-chart-line",route:{type:"page",page:"analytics"}},{page:"settings",label:"\u7CFB\u7EDF\u8BBE\u7F6E",icon:"ri-settings-3-line",route:{type:"page",page:"settings"}}];function Rx({route:t,breadcrumbs:e,title:n,subtitle:r,commands:i,topbarActions:o,busy:a,children:s,onRouteChange:l,onRefresh:c}){let[u,d]=xa.default.useState(()=>xx(kx())),[p,h]=xa.default.useState(Ax),[m,f]=xa.default.useState(!1),v=Sx(u,p,m);return xa.default.useEffect(()=>{if(typeof window>"u")return;let w=()=>h(Ax());return window.addEventListener("resize",w),()=>window.removeEventListener("resize",w)},[]),(0,Ge.jsx)(hE,{route:t,breadcrumbs:e,title:n,subtitle:r,commands:i,topbarActions:o,busy:a,onRouteChange:w=>{p&&f(!1),l(w)},onRefresh:c,sidebarCollapsed:v,onSidebarToggle:()=>{if(p){f(w=>!w);return}d(w=>{let b=!w;return Cx(kx(),b),b})},children:s})}function hE({route:t,breadcrumbs:e,title:n,subtitle:r,commands:i,topbarActions:o,busy:a,children:s,onRouteChange:l,onRefresh:c,sidebarCollapsed:u,onSidebarToggle:d}){let p=mE(t),h=p!=="home"&&!!(n||r||i);return(0,Ge.jsxs)("div",{className:`tcw-app-frame tcw-page-${p}${u?" is-sidebar-collapsed":""}`,"data-current-page":p,children:[(0,Ge.jsxs)("aside",{className:"tcw-sidebar",children:[(0,Ge.jsxs)("div",{className:"tcw-brand",children:[(0,Ge.jsx)("span",{className:"tcw-brand-mark","aria-hidden":"true",children:(0,Ge.jsx)("i",{className:"ri-shield-check-fill"})}),(0,Ge.jsx)("strong",{children:"\u5916\u8D38\u5408\u89C4\u5DE5\u4F5C\u53F0"})]}),(0,Ge.jsx)("nav",{className:"tcw-navigation","aria-label":"\u5916\u8D38\u5408\u89C4\u5DE5\u4F5C\u53F0\u5BFC\u822A",children:Tx.map(m=>{let f=p===m.page;return(0,Ge.jsx)("div",{className:`tcw-nav-row${f?" is-active":""}`,children:(0,Ge.jsxs)("button",{type:"button",className:"tcw-nav-item","aria-label":`\u8FDB\u5165${m.label}`,"aria-current":f?"page":void 0,onClick:()=>l(m.route),children:[(0,Ge.jsx)("i",{className:m.icon,"aria-hidden":"true"}),(0,Ge.jsx)("span",{className:"tcw-nav-label",children:m.label})]})},m.page)})}),(0,Ge.jsxs)("button",{type:"button",className:"tcw-sidebar-toggle",title:u?"\u5C55\u5F00\u83DC\u5355":"\u6536\u8D77\u83DC\u5355","aria-label":u?"\u5C55\u5F00\u83DC\u5355":"\u6536\u8D77\u83DC\u5355",onClick:d,children:[(0,Ge.jsx)("i",{className:u?"ri-menu-unfold-line":"ri-arrow-left-s-line","aria-hidden":"true"}),(0,Ge.jsx)("span",{children:u?"\u5C55\u5F00\u83DC\u5355":"\u6536\u8D77\u83DC\u5355"})]})]}),(0,Ge.jsxs)("main",{className:"tcw-main",children:[(0,Ge.jsxs)("header",{className:"tcw-topbar",children:[(0,Ge.jsx)("nav",{className:"tcw-breadcrumbs","aria-label":"\u9762\u5305\u5C51",children:e.map((m,f)=>{let v=f===e.length-1;return(0,Ge.jsxs)(xa.default.Fragment,{children:[f>0&&(0,Ge.jsx)("i",{className:"ri-arrow-right-s-line","aria-hidden":"true"}),!v&&m.route?(0,Ge.jsx)("button",{type:"button",className:m.label==="\u9996\u9875"?"tcw-breadcrumb-home":void 0,"data-breadcrumb":"true",title:m.label==="\u9996\u9875"?"\u8FD4\u56DE\u9996\u9875":void 0,"aria-label":m.label==="\u9996\u9875"?"\u8FD4\u56DE\u9996\u9875":void 0,onClick:()=>l(m.route),children:m.label==="\u9996\u9875"?(0,Ge.jsx)("i",{className:"ri-home-5-line","aria-hidden":"true"}):m.label}):(0,Ge.jsx)("span",{"aria-current":v?"page":void 0,children:m.label})]},`${m.label}-${f}`)})}),(0,Ge.jsxs)("div",{className:"tcw-topbar-actions",children:[o,(0,Ge.jsx)("button",{type:"button",className:"tcw-icon-button",title:"\u5237\u65B0","aria-label":"\u5237\u65B0",disabled:a,onClick:c,children:(0,Ge.jsx)("i",{className:"ri-refresh-line","aria-hidden":"true"})})]})]}),(0,Ge.jsxs)("div",{className:"tcw-content",children:[h&&(0,Ge.jsxs)("div",{className:"tcw-page-heading",children:[(0,Ge.jsxs)("div",{children:[(0,Ge.jsx)("h1",{children:n}),r&&(0,Ge.jsx)("p",{children:r})]}),i&&(0,Ge.jsx)("div",{className:"tcw-page-commands",children:i})]}),s]})]})]})}function Ex(t){if(t.type==="page")return t.page==="home"?[{label:"\u9996\u9875"}]:[{label:"\u9996\u9875",route:{type:"page",page:"home"}},{label:fE(t.page)}];if(t.type==="procurement"){let n=[{label:"\u9996\u9875",route:{type:"page",page:"home"}},t.level==="suppliers"?{label:"\u91C7\u8D2D\u5408\u89C4\u7BA1\u7406"}:{label:"\u91C7\u8D2D\u5408\u89C4\u7BA1\u7406",route:{type:"procurement",level:"suppliers"}}];return t.level==="orders"&&n.push({label:"\u91C7\u8D2D\u8BA2\u5355"}),t.level==="lines"&&n.push({label:"\u91C7\u8D2D\u8BA2\u5355",route:{type:"procurement",level:"orders",supplierId:t.supplierId}},{label:"\u91C7\u8D2D\u5546\u54C1"}),n}let e=[{label:"\u9996\u9875",route:{type:"page",page:"home"}},t.level==="customers"?{label:"\u9500\u552E\u5408\u89C4\u7BA1\u7406"}:{label:"\u9500\u552E\u5408\u89C4\u7BA1\u7406",route:{type:"sales",level:"customers"}}];return t.level==="orders"&&e.push({label:"\u9500\u552E\u8BA2\u5355"}),t.level==="lines"&&e.push({label:"\u9500\u552E\u8BA2\u5355",route:{type:"sales",level:"orders",customerId:t.customerId}},{label:"\u9500\u552E\u5546\u54C1"}),e}function fE(t){return Tx.find(e=>e.page===t)?.label??t}function mE(t){return t.type==="procurement"?"procurement":t.type==="sales"?"sales":t.page}function kx(){try{return typeof window>"u"?void 0:window.localStorage}catch{return}}function Ax(){try{return typeof window<"u"&&window.innerWidth<=620}catch{return!1}}var ce=be(Qt(),1);var gE="Asia/Shanghai",yE=new Intl.DateTimeFormat("zh-CN",{timeZone:gE,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",hourCycle:"h23"});function ut(t){if(t==null||t===""||!(t instanceof Date)&&typeof t!="string"||typeof t=="string"&&!Ix(t))return"\u2014";let e=t instanceof Date?t:new Date(t);if(Number.isNaN(e.getTime()))return"\u2014";let n=Object.fromEntries(yE.formatToParts(e).map(r=>[r.type,r.value]));return`${n.year}-${n.month}-${n.day} ${n.hour}:${n.minute}:${n.second}`}function Ix(t){let e=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(?:\.\d+)?(Z|[+-]\d{2}:\d{2})$/.exec(t);if(!e)return!1;let[,n,r,i,o,a,s,l]=e;if(!Nx(Number(n),Number(r),Number(i))||Number(o)>23||Number(a)>59||Number(s)>59)return!1;if(l!=="Z"){let[c,u]=l.slice(1).split(":").map(Number);if(c>14||u>59||c===14&&u!==0)return!1}return!0}function ti(t){if(t==null||t==="")return"\u2014";let e=String(t),r=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e)??(Ix(e)?/^(\d{4})-(\d{2})-(\d{2})/.exec(e):null);if(!r)return"\u2014";let[,i,o,a]=r;return Nx(Number(i),Number(o),Number(a))?`${i}-${o}-${a}`:"\u2014"}function Nx(t,e,n){let r=new Date(Date.UTC(t,e-1,n));return r.getUTCFullYear()===t&&r.getUTCMonth()+1===e&&r.getUTCDate()===n}var Qu=class extends Error{constructor(n,r){super(n);this.lastObserved=r;this.name="PollingObservationTimeout"}};function Ca(t){return t instanceof Qu}function el({now:t,timeoutMs:e,maxTimeoutMs:n}){let r=t()+Math.min(n,Math.max(1,e));return{active:()=>t()<r,expired(i,o){return new Qu(i,o)}}}function tl(t,e){return hm(e),new Promise((n,r)=>{let i=setTimeout(a,Math.max(0,t));e?.addEventListener("abort",s,{once:!0});function o(){clearTimeout(i),e?.removeEventListener("abort",s)}function a(){o(),n()}function s(){o(),r(fm(e))}})}async function nl(t,e,n){hm(n);try{let r=await t(n);return hm(n),{ok:!0,value:r}}catch(r){if(ni(r)||n?.aborted)throw fm(n,r);let i=r instanceof Error?r:new Error(String(r));return e?.(i),{ok:!1}}}function ni(t){return t instanceof Error&&t.name==="AbortError"}function Yu(){let t=new Map;return{run(e,n){if(t.has(e))return null;let r=new AbortController;t.set(e,r);let i;try{i=n(r.signal)}catch(o){i=Promise.reject(o)}return Promise.resolve(i).finally(()=>{t.get(e)===r&&t.delete(e)})},activeIds:()=>[...t.keys()],abort(e){t.get(e)?.abort()},abortAll(){for(let e of t.values())e.abort()}}}function Px(t,e){let n=t.queuedAt??t.createdAt??"",r=e.queuedAt??e.createdAt??"";return n.localeCompare(r)||t.id.localeCompare(e.id)}function Dx(t,e){let n=new Map,r=new Set,i=new Set;function o(){let a=[...n.entries()];return e&&a.sort((s,l)=>e(s[1],l[1])),a[0]??null}return{enqueue(a){let s=t(a);return r.has(s)||i.has(s)||n.has(s)?!1:(n.set(s,a),!0)},peek(){return o()?.[1]??null},ack(a){let s=o();return!s||s[0]!==a?!1:(n.delete(a),r.add(a),!0)},remove(a){return i.add(a),n.delete(a)}}}async function Xu(t,e,n){let r;try{r=await t()}catch(i){throw await e().catch(o=>{n?.(o instanceof Error?o:new Error(String(o)))}),i}return await e(),r}function hm(t){if(t?.aborted)throw fm(t)}function fm(t,e){if(ni(t?.reason))return t.reason;if(ni(e))return e;let n=new Error("Polling aborted");return n.name="AbortError",n}var mm=be(Qt(),1);var je=be(Be(),1),wE={DUAL_USE:"\u4E24\u7528\u7269\u9879",OVERSEAS_SANCTION:"\u5883\u5916\u7BA1\u5236"},vE={APPEND:"\u8FFD\u52A0\u5BFC\u5165",REPLACE_BATCH:"\u8986\u76D6\u6279\u6B21"};function Zu(t,e){return{page:1,pageSize:e,filters:{},batchId:t}}function Ox(t){return t.lifecycleStatus==="DRAFT"?"\u89E3\u6790\u4E2D":t.lifecycleStatus==="REVIEWING"?"\u5F85\u590D\u6838":t.lifecycleStatus==="FAILED"?"\u5BFC\u5165\u5931\u8D25":t.deletedAt?"\u5DF2\u66FF\u6362":t.lifecycleStatus==="ACTIVE"?"\u5DF2\u751F\u6548":"\u5F53\u524D\u6709\u6548"}function Sa(t){return!!t.deletedAt||t.lifecycleStatus!=null&&t.lifecycleStatus!=="ACTIVE"}function Lx(t,e){return(t.documentType==="CONTROLLED_CATALOG"||t.documentType==="SANCTION_CATALOG")&&t.status==="AWAITING_REVIEW"&&t.completedAt==null&&t.progress?.mode==="FAST_PIPELINE"&&!!t.resultEntityId&&t.resultEntityId===e.id&&t.id===e.importTaskId}function gm(t,e){return{task:t,decision:e}}function ym(){return null}async function _x(t,e,n=()=>{}){return t?(await e(t.task,t.decision,n)).committed:!1}async function qu({task:t,decision:e,resolve:n,onCommitted:r,refreshTask:i,refreshCatalog:o,refreshHistory:a,notify:s}){try{let l=await n(t.id,e);if(l.success===!1)throw new Error(l.error?.message||l.message||"\u76EE\u5F55\u5BFC\u5165\u6062\u590D\u5931\u8D25");let c=xE(l.data),u=CE(t,e,c.task);r?.(u);let d=await kE([["\u4EFB\u52A1\u72B6\u6001\u5237\u65B0\u5931\u8D25",i],["\u76EE\u5F55\u6570\u636E\u5237\u65B0\u5931\u8D25",o],["\u5BFC\u5165\u8BB0\u5F55\u5237\u65B0\u5931\u8D25",a]]),p=SE(u,c.task);return d.length>0?(s?.({message:bE(u,p,d),tone:"warning"}),{committed:!0,refreshed:!1,outcome:u}):(s?.({message:p,tone:u==="PUBLISH_FAILED"?"warning":"success"}),{committed:!0,refreshed:!0,outcome:u})}catch(l){return s?.({message:l instanceof Error?l.message:"\u76EE\u5F55\u5BFC\u5165\u6062\u590D\u5931\u8D25",tone:"error"}),{committed:!1,refreshed:!1,outcome:null}}}function bE(t,e,n){let r=t==="DISCARDED"?"\u5BFC\u5165\u6279\u6B21\u5DF2\u4F5C\u5E9F":e,i=t==="DISCARDED"?"\uFF1B\u8BF7\u91CD\u65B0\u4E0A\u4F20\uFF0C\u5E76\u4F7F\u7528\u5237\u65B0\u6309\u94AE\u91CD\u8BD5":"\uFF0C\u8BF7\u4F7F\u7528\u5237\u65B0\u6309\u94AE\u91CD\u8BD5";return`${r}\uFF0C\u4F46\u5237\u65B0\u5931\u8D25\uFF08${n.join("\uFF1B")}\uFF09${i}`}function xE(t){if(!t||!t.task||!t.batchCounts)throw new Error("\u76EE\u5F55\u5BFC\u5165\u6062\u590D\u54CD\u5E94\u7F3A\u5C11\u4EFB\u52A1\u6216\u6279\u6B21\u7EDF\u8BA1");return t}function CE(t,e,n){if(n.id!==t.id||n.documentType!==t.documentType)throw new Error("\u76EE\u5F55\u5BFC\u5165\u6062\u590D\u8FD4\u56DE\u4E86\u4E0D\u5339\u914D\u7684\u4EFB\u52A1");if(e==="PUBLISH_VALID_ROWS"&&n.status==="SUCCEEDED")return"PUBLISHED";if(e==="PUBLISH_VALID_ROWS"&&n.status==="FAILED")return"PUBLISH_FAILED";if(e==="DISCARD_AND_REIMPORT"&&n.status==="FAILED")return"DISCARDED";throw new Error(`\u76EE\u5F55\u5BFC\u5165\u6062\u590D\u7ED3\u679C\u72B6\u6001\u5F02\u5E38\uFF1A${n.status}`)}function SE(t,e){return t==="PUBLISHED"?"\u6709\u6548\u8BB0\u5F55\u5DF2\u4FDD\u7559\u5E76\u751F\u6548":t==="DISCARDED"?"\u5BFC\u5165\u6279\u6B21\u5DF2\u4F5C\u5E9F\uFF0C\u8BF7\u91CD\u65B0\u4E0A\u4F20":e.errorMessage||"\u672A\u53D1\u73B0\u53EF\u53D1\u5E03\u7684\u6709\u6548\u8BB0\u5F55\uFF0C\u5BFC\u5165\u4EFB\u52A1\u5DF2\u7ED3\u675F"}async function kE(t){let e=[];for(let[n,r]of t){let i=await AE(r,n);i&&e.push(i)}return e}async function AE(t,e){try{return await t()===!1?e:null}catch(n){return`${e}\uFF1A${n instanceof Error?n.message:String(n)}`}}function Ju({open:t,documentType:e,collection:n,tasks:r=[],loading:i,error:o,busy:a,onClose:s,onPageChange:l,onPageSizeChange:c,onRetry:u,onViewIssues:d,onDownloadIssues:p,onViewRecords:h,onResolveStalledImport:m}){let[f,v]=mm.default.useState(null),[g,y]=mm.default.useState(!1),w=e==="CONTROLLED_CATALOG",b=[{type:"ellipsis",key:"sourceFileName",header:"\u6765\u6E90\u6587\u4EF6",width:210,maxWidth:210},...w?[{type:"text",key:"catalogType",header:"\u76EE\u5F55\u7C7B\u578B",width:110,truncate:!1,format:E=>wE[String(E??"")]||"\u2014"}]:[],{type:"text",key:"createdAt",header:"\u5BFC\u5165\u65F6\u95F4",width:170,truncate:!1,format:ut},{type:"text",key:"importMode",header:"\u5BFC\u5165\u65B9\u5F0F",width:100,truncate:!1,format:E=>vE[String(E??"")]||"\u8FFD\u52A0\u5BFC\u5165"},{type:"custom",key:"lifecycleStatus",header:"\u6279\u6B21\u72B6\u6001",width:100,align:"center",render:(E,D)=>(0,je.jsx)("span",{className:`tcw-catalog-history-status is-${String(D.deletedAt?"replaced":D.lifecycleStatus??"active").toLowerCase()}`,children:Ox(D)})},{type:"text",key:"totalCount",header:"\u603B\u6570",width:72,align:"right",truncate:!1,format:rl},{type:"text",key:"successCount",header:"\u6210\u529F",width:72,align:"right",truncate:!1,format:rl},{type:"text",key:"duplicateCount",header:"\u91CD\u590D",width:72,align:"right",truncate:!1,format:rl},{type:"text",key:"invalidCount",header:"\u65E0\u6548",width:72,align:"right",truncate:!1,format:rl},{type:"text",key:"skippedCount",header:"\u8DF3\u8FC7",width:72,align:"right",truncate:!1,format:rl}],x=Rn(n.pageSize),C=Number(n.total)||0,k={page:Number(n.page)||1,pageSize:x,total:C,pageCount:Math.max(1,Math.ceil(C/x))},S=()=>{!f||!m||g||(y(!0),_x(f,m,()=>v(ym())).catch(()=>{}).finally(()=>y(!1)))};return(0,je.jsxs)(je.Fragment,{children:[(0,je.jsx)(_e,{open:t,title:w?"\u7BA1\u63A7\u5546\u54C1\u5BFC\u5165\u8BB0\u5F55":"\u516C\u53F8\u5236\u88C1\u76EE\u5F55\u5BFC\u5165\u8BB0\u5F55",size:"wide",closeDisabled:g,onClose:s,footer:(0,je.jsxs)(je.Fragment,{children:[(0,je.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary","aria-label":"\u5237\u65B0\u5BFC\u5165\u8BB0\u5F55",disabled:a||i||g,onClick:u,children:[(0,je.jsx)("i",{className:"ri-refresh-line","aria-hidden":"true"}),"\u5237\u65B0"]}),(0,je.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:g,onClick:s,children:[(0,je.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u5173\u95ED"]})]}),children:(0,je.jsxs)("div",{className:"tcw-catalog-history tcw-catalog-history-dialog","data-document-type":e,children:[i&&(0,je.jsx)("p",{className:"tcw-catalog-history-message",role:"status",children:"\u6B63\u5728\u52A0\u8F7D\u5BFC\u5165\u8BB0\u5F55..."}),o&&(0,je.jsxs)("div",{className:"tcw-catalog-issue-error",role:"alert",children:[(0,je.jsx)("span",{children:o}),(0,je.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",disabled:a||i,onClick:u,children:[(0,je.jsx)("i",{className:"ri-refresh-line","aria-hidden":"true"}),"\u91CD\u65B0\u52A0\u8F7D"]})]}),!i&&!o&&(0,je.jsx)(ot,{columns:b,rows:n.items,rowKey:"id",actionWidth:420,actions:E=>{let D=Number(E.duplicateCount||0)+Number(E.invalidCount||0),O=Number(E.duplicateCount||0)>0?"DUPLICATE":"INVALID",H=r.find(M=>M.documentType===e&&Lx(M,E));return(0,je.jsxs)(je.Fragment,{children:[D>0&&(0,je.jsxs)("button",{type:"button",disabled:a,onClick:()=>d(E,O),children:[(0,je.jsx)("i",{className:"ri-file-search-line","aria-hidden":"true"}),"\u67E5\u770B\u5F02\u5E38"]}),D>0&&(0,je.jsxs)("button",{type:"button",disabled:a,onClick:()=>p(E),children:[(0,je.jsx)("i",{className:"ri-file-excel-2-line","aria-hidden":"true"}),"\u4E0B\u8F7D\u5F02\u5E38"]}),Number(E.successCount||0)>0&&(0,je.jsxs)("button",{type:"button",disabled:a,onClick:()=>h(E),children:[(0,je.jsx)("i",{className:"ri-table-view","aria-hidden":"true"}),"\u67E5\u770B\u6570\u636E"]}),H&&m&&(0,je.jsxs)("button",{type:"button",disabled:a||g,onClick:()=>v(gm(H,"PUBLISH_VALID_ROWS")),children:[(0,je.jsx)("i",{className:"ri-checkbox-circle-line","aria-hidden":"true"}),"\u4FDD\u7559\u6709\u6548\u8BB0\u5F55"]}),H&&m&&(0,je.jsxs)("button",{type:"button",disabled:a||g,onClick:()=>v(gm(H,"DISCARD_AND_REIMPORT")),children:[(0,je.jsx)("i",{className:"ri-delete-bin-line","aria-hidden":"true"}),"\u4F5C\u5E9F\u540E\u91CD\u5BFC"]})]})},pagination:k,onPageChange:l,onPageSizeChange:c,emptyText:"\u6682\u65E0\u5BFC\u5165\u8BB0\u5F55"})]})}),(0,je.jsx)(Bt,{open:!!f,title:f?.decision==="PUBLISH_VALID_ROWS"?"\u786E\u8BA4\u4FDD\u7559\u6709\u6548\u8BB0\u5F55":"\u786E\u8BA4\u4F5C\u5E9F\u540E\u91CD\u5BFC",message:f?.decision==="PUBLISH_VALID_ROWS"?"\u672A\u5B8C\u6210\u590D\u6838\u7684\u8BB0\u5F55\u5C06\u4F5C\u4E3A\u5F02\u5E38\u8DF3\u8FC7\uFF0C\u5DF2\u89E3\u6790\u7684\u6709\u6548\u8BB0\u5F55\u5C06\u7ACB\u5373\u751F\u6548\u3002":"\u5F53\u524D\u5BFC\u5165\u6279\u6B21\u53CA\u5176\u4E2D\u8BB0\u5F55\u5C06\u4F5C\u5E9F\uFF0C\u9700\u91CD\u65B0\u4E0A\u4F20\u6E90\u6587\u4EF6\u3002",confirmText:f?.decision==="PUBLISH_VALID_ROWS"?"\u4FDD\u7559\u6709\u6548\u8BB0\u5F55":"\u4F5C\u5E9F\u540E\u91CD\u5BFC",danger:f?.decision==="DISCARD_AND_REIMPORT",busy:g,onCancel:()=>v(ym()),onConfirm:S})]})}function rl(t){let e=Number(t);return Number.isFinite(e)?String(e):"0"}var I=be(Be(),1),ir=20,TE=".pdf,.doc,.docx,.xls,.xlsx,.png,.jpg,.jpeg,.webp",Vx=()=>`\u652F\u6301 PDF\u3001DOC\u3001DOCX\u3001XLS\u3001XLSX\u3001PNG\u3001JPEG\u3001WEBP\uFF0C\u5355\u6587\u4EF6\u6700\u5927 ${Mu().maxUploadMb} MB\u3002`,il={DUAL_USE:"\u519B\u6C11\u4E24\u7528\u7269\u8D44",OVERSEAS_SANCTION:"\u6D77\u5916\u5236\u88C1"},bm={FILE_IMPORT:"\u6587\u4EF6\u5BFC\u5165",MANUAL_ENTRY:"\u624B\u5DE5\u65B0\u589E"},Fx=[{type:"select",key:"catalogType",label:"\u76EE\u5F55\u7C7B\u578B",options:Cm(il)},{type:"text",key:"sourceFileName",label:"\u6765\u6E90\u6587\u4EF6",placeholder:"\u8BF7\u8F93\u5165\u6765\u6E90\u6587\u4EF6\u540D\u79F0"},{type:"text",key:"productName",label:"\u5546\u54C1\u540D\u79F0"},{type:"text",key:"hsCode",label:"\u6D77\u5173\u7F16\u7801"}],Mx=[{type:"text",key:"sourceFileName",label:"\u6765\u6E90\u6587\u4EF6",placeholder:"\u8BF7\u8F93\u5165\u6765\u6E90\u6587\u4EF6\u540D\u79F0"},{type:"text",key:"companyName",label:"\u516C\u53F8\u540D\u79F0"},{type:"text",key:"countryOrRegion",label:"\u56FD\u5BB6\u6216\u5730\u533A"},{type:"date-range",key:"effectiveDate",label:"\u751F\u6548\u65E5\u671F"}];function Wx({onAction:t,onFileAction:e}){let n=async(i,o,a)=>{let s=a?await t(i,o,a):await t(i,o);return td(s),s},r=async(i,o,a)=>{let s=await e(i,o,a);return td(s),s};return{uploadControlledCatalog:(i,o)=>r("upload_controlled_catalog",i,o),uploadSanctionCatalog:(i,o)=>r("upload_sanction_catalog",i,o),saveControlledGoods:i=>n("save_controlled_goods",{...i,sourceType:"MANUAL_ENTRY"}),updateControlledGoods:i=>n("update_controlled_goods",i),saveSanctionedCompany:i=>n("save_sanctioned_company",{...Bx(i),sourceType:"MANUAL_ENTRY"}),updateSanctionedCompany:i=>n("update_sanctioned_company",Bx(i)),deleteEntity:(i,o,a)=>n("delete_entity",{entityType:i,id:o},a),clearControlledCatalog:()=>n("clear_controlled_catalog",{}),clearSanctionCatalog:()=>n("clear_sanction_catalog",{}),searchHsCode:(i,o=1)=>t("search_hs_code",{keywords:i,page:o}),getHsCodeDetail:i=>t("get_hs_code_detail",i),downloadImportIssues:async(i,o)=>{let a=await t("download_import_issues",{documentType:i,batchId:o});return td(a),a},resolveImportIssue:i=>n("resolve_catalog_import_issue",i),retryImportTask:i=>t("retry_import_task",{taskId:i})}}function Bx(t){let{sanctionListSource:e,...n}=t;return n}function Kx(t,e){return async n=>(e(),await t(n))}function Qx(t,e,n){let r=new Set(n.map(a=>a.id)),i=[...t].filter(a=>r.has(a)),o=e.filter(a=>r.has(a.key));return{selectedIds:i.length===t.size?t:new Set(i),failures:o.length===e.length?e:o}}async function Yx({selectedIds:t,rows:e,entityType:n,labelFor:r,deleteEntity:i,refresh:o,query:a,notify:s}){let l=[...t],c=new Map(e.map(f=>[f.id,r(f)])),u=await rr(l,f=>i(n,f,{suppressRefresh:!0})),d=e.filter(f=>!u.succeeded.includes(f.id)),p=Lr(a.page??1,d.length),h=u.failed.map(f=>({...f,label:c.get(f.key)??f.key}));try{if(await o({...a,page:p})===!1)return{selectedIds:new Set(l),failures:h,refreshFailed:!0}}catch(f){return s?.({message:`\u6570\u636E\u5237\u65B0\u5931\u8D25\uFF1A${In(f,"\u672A\u77E5\u9519\u8BEF")}`,tone:"error"}),{selectedIds:new Set(l),failures:h,refreshFailed:!0}}let m=new Set(u.failed.map(f=>f.key));return u.failed.length===0?s?.({message:`\u5DF2\u5220\u9664 ${u.succeeded.length} \u6761`,tone:"success"}):s?.({message:`\u6210\u529F ${u.succeeded.length}\u3001\u5931\u8D25 ${u.failed.length}`,tone:u.succeeded.length>0?"warning":"error"}),{selectedIds:m,failures:h,refreshFailed:!1}}var Xx=new Set(["QUEUED","EXTRACTING","AI_PARSING","VALIDATING","AWAITING_REVIEW","PERSISTING"]),zx=1200*1e3,To=class extends Error{constructor(n,r){super(n);this.task=r;this.name="CatalogImportError"}};async function Zx({start:t,pollTask:e,refresh:n,wait:r=tl,now:i=Date.now,intervalMs:o=2e3,timeoutMs:a=zx,onTransition:s,onPollError:l,signal:c}){if(td(t),!GE(t.data))throw new Error("\u4E0A\u4F20\u54CD\u5E94\u7F3A\u5C11\u89E3\u6790\u4EFB\u52A1\u4FE1\u606F");let u=el({now:i,timeoutMs:a,maxTimeoutMs:zx});o=Math.max(1,o);let d=t.data.task,p=d.id;for(;u.active();){await r(o,c);let h=await nl(v=>v?e(p,v):e(p),l,c);if(!h.ok)continue;let m=h.value;s?.(d,m.task),d=m.task;let f=m.task.status;if(f==="SUCCEEDED"){if(!m.batch)throw new Error("\u5BFC\u5165\u6210\u529F\u4F46\u672A\u8FD4\u56DE\u6279\u6B21\u6C47\u603B");return await n(),m}if(f==="FAILED"||f==="TIMED_OUT")throw await n(),new To(m.task.errorMessage||(f==="TIMED_OUT"?"\u76EE\u5F55\u89E3\u6790\u8D85\u65F6\uFF0C\u8BF7\u91CD\u65B0\u89E3\u6790":"\u76EE\u5F55\u89E3\u6790\u5931\u8D25\uFF0C\u8BF7\u91CD\u65B0\u89E3\u6790"),m.task);if(!Xx.has(f))throw new Error(`\u4E0D\u652F\u6301\u7684\u5BFC\u5165\u4EFB\u52A1\u72B6\u6001\uFF1A${f}`)}throw u.expired("\u76EE\u5F55\u4EFB\u52A1\u89C2\u5BDF\u7A97\u53E3\u5DF2\u7ED3\u675F",d)}function qx(t){return t.filter(e=>(e.documentType==="CONTROLLED_CATALOG"||e.documentType==="SANCTION_CATALOG")&&Xx.has(e.status))}function xm(t,e,n){let r=t.filter(s=>s.documentType===e);n?.documentType===e&&!r.some(s=>s.id===n.id)&&r.push(n);let i=new Set(r.map(s=>s.retryOfTaskId).filter(s=>!!s)),o=r.filter(s=>s.documentType===e&&(s.status==="FAILED"||s.status==="TIMED_OUT")&&!i.has(s.id)).sort((s,l)=>String(l.updatedAt??"").localeCompare(String(s.updatedAt??"")))[0]??null;if(!o)return null;let a=r.filter(s=>s.status==="SUCCEEDED").sort((s,l)=>String(l.updatedAt??"").localeCompare(String(s.updatedAt??"")))[0];return a?.updatedAt&&o.updatedAt&&a.updatedAt>=o.updatedAt?null:o}function Jx(t,e=300){let n=null,r=()=>{n&&clearTimeout(n),n=null},i=(o,a,s=ir)=>{r(),t(o,a,s)};return{schedule(o,a,s=ir){if(r(),o!=="text"){i(1,a,s);return}n=setTimeout(()=>{n=null,t(1,a,s)},e)},flush:(o,a=ir)=>i(1,o,a),page:(o,a,s=ir)=>i(o,a,s),pageSize:(o,a)=>i(1,a,o),cancel:r}}function eC(t){let e=null,n=t;return{updateQuery(r){n=r},observe(r,i){!r||r.task.status!=="SUCCEEDED"||r.task.id===e||(e=r.task.id,n(i.page,i.filters,i.pageSize))}}}var tC={catalogType:"",replaceBatchId:"",file:null,error:"",confirming:!1,submitting:!1};function RE(t,e){return e.type==="reset"?tC:e.type==="select-catalog-type"?{...t,catalogType:e.catalogType,replaceBatchId:"",error:""}:e.type==="select-batch"?{...t,replaceBatchId:e.batchId}:e.type==="select-file"?{...t,file:e.file,error:""}:e.type==="set-error"?{...t,error:e.error}:e.type==="confirm-replace"?{...t,confirming:!0}:e.type==="cancel-replace"?{...t,confirming:!1}:{...t,submitting:e.submitting}}function EE(t,e){return t&&!e.confirming}function nC(t,e){let n=new Map(e.map(r=>[r.id,r.sourceFileName]));return t.map(r=>({...r,sourceFileName:r.batchId&&n.has(r.batchId)?n.get(r.batchId):r.sourceFileName}))}function rC(t,e){let[n,r]=ce.default.useState({open:!1,collection:{items:[],page:1,pageSize:ir},loading:!1,error:""}),i=ce.default.useCallback(async(s=1,l=ir)=>{if(r(c=>({...c,open:!0,loading:!0,error:""})),!e){r(c=>({...c,loading:!1,error:"\u5BFC\u5165\u8BB0\u5F55\u67E5\u8BE2\u6682\u4E0D\u53EF\u7528"}));return}try{let c=await e({documentType:t,page:s,pageSize:l});return r({open:!0,collection:c,loading:!1,error:""}),!0}catch(c){return r(u=>({...u,loading:!1,error:In(c,"\u5BFC\u5165\u8BB0\u5F55\u52A0\u8F7D\u5931\u8D25")})),!1}},[t,e]),o=ce.default.useCallback(()=>{i()},[i]),a=ce.default.useCallback(()=>r(s=>({...s,open:!1})),[]);return{state:n,open:o,close:a,load:i}}async function IE(t,e){try{return{collection:await t(e),error:""}}catch(n){return{collection:{items:[],page:e.page,pageSize:e.pageSize},error:`\u52A0\u8F7D\u5BFC\u5165\u95EE\u9898\u660E\u7EC6\u5931\u8D25\uFF1A${In(n,"\u672A\u77E5\u9519\u8BEF")}`}}}function iC(t){let e=0,n=!0,r=!1,i="",o={items:[],page:1,pageSize:ir};return{mount(){n=!0},async load(a,s){let l=++e;r=!0,s.batchId!==i&&(i=s.batchId,o={items:[],page:s.page,pageSize:s.pageSize}),n&&t({batchId:s.batchId,issueType:s.issueType,collection:o,loading:!0,error:""});let c=await IE(a,s);n&&r&&l===e&&(o=c.collection,t({batchId:s.batchId,issueType:s.issueType,collection:c.collection,loading:!1,error:c.error}))},close(){r=!1,e+=1,i="",o={items:[],page:1,pageSize:ir}},dispose(){n=!1,r=!1,e+=1,i="",o={items:[],page:1,pageSize:ir}}}}function oC(t){let[e,n]=ce.default.useState({}),[r,i]=ce.default.useState(null),[o,a]=ce.default.useState(new Set),[s,l]=ce.default.useState(!1),[c,u]=ce.default.useState(!1),[d,p]=ce.default.useState([]),[h,m]=ce.default.useState(!1),[f,v]=ce.default.useState(null),[g,y]=ce.default.useState(null),[w,b]=ce.default.useState(null),[x,C]=ce.default.useState(null),[k,S]=ce.default.useState(null),E=ce.default.useRef();E.current||(E.current=iC(S));let D=ce.default.useMemo(()=>Wx(t),[t.onAction,t.onFileAction,t.onRefresh]),O=nC(t.collection.items,t.batches),H=vn(t.collection),M=rC("CONTROLLED_CATALOG",t.onHistoryQuery),_=async(F,ee,B)=>!t.onResolveStalledImport||!t.onRefreshTasks?{committed:!1,refreshed:!1,outcome:null}:await qu({task:F,decision:ee,resolve:t.onResolveStalledImport,onCommitted:B,refreshTask:t.onRefreshTasks,refreshCatalog:()=>G(H.page,e,H.pageSize),refreshHistory:()=>M.load(Number(M.state.collection.page)||1,vn(M.state.collection).pageSize),notify:t.onNotify});ce.default.useEffect(()=>{let F=Qx(o,d,O);F.selectedIds!==o&&a(F.selectedIds),F.failures!==d&&p(F.failures)},[O,o,d]),ce.default.useEffect(()=>{t.command==="upload"&&m(!0),t.command==="create"&&v({mode:"create",item:null}),t.command==="history"&&M.open(),t.command&&t.onCommandHandled?.()},[t.command,t.onCommandHandled,M.open]);let V=ce.default.useMemo(()=>Kx(t.onQuery,()=>a(new Set)),[t.onQuery]),G=ce.default.useCallback((F,ee,B)=>V({page:F,pageSize:B,filters:ee,...r?{batchId:r.id}:{}}),[V,r]),K=ce.default.useRef();K.current||(K.current=eC((F,ee,B)=>{G(F,ee,B)})),K.current.updateQuery((F,ee,B)=>{G(F,ee,B)});let J=ce.default.useMemo(()=>Jx((F,ee,B)=>{G(F,ee,B)}),[G]);ce.default.useEffect(()=>()=>J.cancel(),[J]),ce.default.useEffect(()=>(E.current?.mount(),()=>E.current?.dispose()),[]),ce.default.useEffect(()=>K.current?.observe(t.importCompletion,{page:H.page,pageSize:H.pageSize,filters:e}),[t.importCompletion,H.page,H.pageSize,e]);let ie=(F,ee)=>{let B={...e,[F]:ee};n(B),J.schedule(Fx.find(U=>U.key===F)?.type??"text",B,H.pageSize)},ue=async(F,ee,B=1,U=ir)=>{t.onIssueQuery&&await E.current?.load(t.onIssueQuery,{documentType:"CONTROLLED_CATALOG",batchId:F,issueType:ee,page:B,pageSize:U})},we=async F=>{let ee=k;if(!ee)return;F&&C(F);let B=vn(ee.collection),U=ee.collection.items.length<=1&&B.page>1?B.page-1:B.page;await ue(ee.batchId,ee.issueType,U,B.pageSize),await t.onQuery({page:H.page,pageSize:H.pageSize,filters:e,...r?{batchId:r.id}:{}})},Y=x??(t.importCompletion?.task.documentType==="CONTROLLED_CATALOG"?t.importCompletion.batch??null:null),Q=[{type:"custom",key:"productName",header:"\u5546\u54C1\u540D\u79F0",width:180,title:(F,ee)=>ee.productName||void 0,render:(F,ee)=>(0,I.jsx)(vm,{iconClass:"ri-search-line",title:ee.productName||"\u2014",ariaLabel:`\u6309\u5546\u54C1\u540D\u79F0\u67E5\u8BE2\u6D77\u5173\u7F16\u7801\uFF1A${ee.productName||"\u2014"}`,onClick:()=>b({query:Hx(ee,"productName"),item:ee}),children:ee.productName||"\u2014"})},{type:"custom",key:"hsCode",header:"\u6D77\u5173\u7F16\u7801",width:130,title:(F,ee)=>ee.hsCode||void 0,render:(F,ee)=>ee.hsCode?(0,I.jsx)(vm,{iconClass:"ri-search-line",title:ee.hsCode,ariaLabel:`\u6309\u7F16\u7801\u67E5\u8BE2\u6D77\u5173\u7F16\u7801\uFF1A${ee.hsCode}`,onClick:()=>b({query:Hx(ee,"hsCode"),item:ee}),children:ee.hsCode}):"\u2014"},{type:"text",key:"catalogType",header:"\u76EE\u5F55\u7C7B\u578B",width:130,truncate:!1,format:F=>nd(F,il)},{type:"ellipsis",key:"controlDescription",header:"\u7BA1\u63A7\u8BF4\u660E",width:220,maxWidth:220},{type:"text",key:"sourceType",header:"\u6765\u6E90\u7C7B\u578B",width:110,truncate:!1,format:F=>nd(F,bm)},{type:"ellipsis",key:"sourceFileName",header:"\u6765\u6E90\u6587\u4EF6",width:190,maxWidth:190},{type:"text",key:"updatedAt",header:"\u66F4\u65B0\u65F6\u95F4",width:170,truncate:!1,format:ut}];return(0,I.jsxs)("section",{className:"tcw-catalog-page tcw-catalog-page--controlled","aria-label":"\u7BA1\u63A7\u5546\u54C1\u76EE\u5F55",children:[(0,I.jsx)(un,{definitions:Fx,values:e,onChange:ie,onQuery:()=>J.flush(e,H.pageSize),onReset:()=>{i(null),n({}),V({page:1,pageSize:H.pageSize,filters:{}})}}),(0,I.jsx)(Je,{children:Vx()}),r&&(0,I.jsxs)("div",{className:"tcw-catalog-batch-filter",children:[(0,I.jsxs)("span",{children:[(0,I.jsx)("i",{className:"ri-history-line","aria-hidden":"true"}),"\u6B63\u5728\u67E5\u770B\u5BFC\u5165\u6279\u6B21\uFF1A",(0,I.jsx)("strong",{children:r.sourceFileName||r.id}),r.deletedAt&&(0,I.jsx)("em",{children:"\u5DF2\u66FF\u6362"})]}),(0,I.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:()=>{i(null),n({}),V({page:1,pageSize:H.pageSize,filters:{}})},children:[(0,I.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u9000\u51FA\u6279\u6B21\u67E5\u770B"]})]}),t.importFailure?.documentType==="CONTROLLED_CATALOG"&&(0,I.jsx)(mC,{task:t.importFailure,busy:t.busy,onRetry:t.onRetryImport,onNotify:t.onNotify}),Y&&(0,I.jsx)(fC,{documentType:"CONTROLLED_CATALOG",batch:Y,busy:t.busy,onDownload:(F,ee)=>D.downloadImportIssues(F,ee),onView:(F,ee)=>ue(F,ee),onNotify:t.onNotify}),(0,I.jsx)(ot,{columns:Q,rows:O,rowKey:"id",selection:r&&Sa(r)?void 0:{selectedKeys:o,onToggle:F=>a(ee=>yr(ee,F)),onTogglePage:()=>a(F=>Ao(F,O.map(ee=>ee.id))),onClear:()=>a(new Set),onDelete:()=>{p([]),l(!0)},labelFor:F=>`\u9009\u62E9\u7BA1\u63A7\u5546\u54C1\uFF1A${F.productName||"\u672A\u547D\u540D\u8BB0\u5F55"}`,disabled:t.busy||c},actionWidth:160,actions:r&&Sa(r)?void 0:F=>(0,I.jsxs)("button",{type:"button",className:"tcw-catalog-operation-button is-danger",disabled:t.busy||c,onClick:()=>y(F),children:[(0,I.jsx)("i",{className:"ri-delete-bin-line","aria-hidden":"true"}),"\u5220\u9664"]}),pagination:H,onPageChange:F=>J.page(F,e,H.pageSize),onPageSizeChange:F=>J.pageSize(F,e),emptyText:"\u6682\u65E0\u7BA1\u63A7\u5546\u54C1\u6570\u636E"}),(0,I.jsx)(lC,{open:h,kind:"controlled",batches:t.batches,busy:t.busy,onClose:()=>m(!1),onNotify:t.onNotify,onUpload:async(F,ee)=>{let B=await D.uploadControlledCatalog(F,ee),U=wC(B.data);U.batch&&C(U.batch),m(!1)}}),(0,I.jsx)(PE,{open:!!f,mode:f?.mode??"create",item:f?.item??null,busy:t.busy,onClose:()=>v(null),onSave:async F=>{await wr(async()=>{f?.mode==="review"&&f.item?await D.updateControlledGoods({...F,id:f.item.id}):await D.saveControlledGoods(F),await t.onQuery({page:H.page,pageSize:H.pageSize,filters:e,...r?{batchId:r.id}:{}})},t.onNotify,{success:f?.mode==="review"?"\u7BA1\u63A7\u5546\u54C1\u4FDD\u5B58\u6210\u529F":"\u7BA1\u63A7\u5546\u54C1\u65B0\u589E\u6210\u529F",error:"\u7BA1\u63A7\u5546\u54C1\u4FDD\u5B58\u5931\u8D25"})&&v(null)}}),(0,I.jsx)(Bt,{open:!!g,title:"\u786E\u8BA4\u5220\u9664\u7BA1\u63A7\u5546\u54C1",message:`\u5220\u9664\u201C${g?.productName??""}\u201D\u540E\uFF0C\u8BE5\u8BB0\u5F55\u5C06\u88AB\u903B\u8F91\u5220\u9664\u3002`,confirmText:"\u786E\u8BA4\u5220\u9664",danger:!0,onCancel:()=>y(null),onConfirm:()=>{g&&wr(()=>D.deleteEntity("controlledGoods",g.id).then(()=>{}),t.onNotify,{success:"\u7BA1\u63A7\u5546\u54C1\u5220\u9664\u6210\u529F",error:"\u7BA1\u63A7\u5546\u54C1\u5220\u9664\u5931\u8D25"}).then(F=>{F&&y(null)})}}),(0,I.jsx)(En,{open:s,title:"\u6279\u91CF\u5220\u9664\u7BA1\u63A7\u5546\u54C1",count:o.size,message:"\u8BB0\u5F55\u5C06\u88AB\u903B\u8F91\u5220\u9664\uFF0C\u540E\u7EED\u5BA1\u67E5\u4E0E\u67E5\u8BE2\u4E0D\u518D\u4F7F\u7528\u8FD9\u4E9B\u7BA1\u63A7\u5546\u54C1\u3002",busy:c,failures:d,onCancel:()=>{c||l(!1)},onConfirm:()=>{c||o.size===0||(u(!0),Yx({selectedIds:o,rows:O,entityType:"controlledGoods",labelFor:F=>F.productName||F.id,deleteEntity:D.deleteEntity,refresh:t.onQuery,query:{page:H.page,pageSize:H.pageSize,filters:e,...r?{batchId:r.id}:{}},notify:t.onNotify}).then(F=>{a(F.selectedIds),p(F.failures),!F.refreshFailed&&F.failures.length===0&&l(!1)}).finally(()=>u(!1)))}}),(0,I.jsx)(ol,{open:w!==null,initialQuery:w?.query??"",onAction:t.onAction,onClose:()=>b(null),onBind:async F=>{if(!w)return;let ee=zE(w.item,F.code);if(!ee){b(null);return}await wr(async()=>{await D.updateControlledGoods(ee),await t.onQuery({page:H.page,pageSize:H.pageSize,filters:e,...r?{batchId:r.id}:{}})},t.onNotify,{success:"\u7BA1\u63A7\u5546\u54C1\u6D77\u5173\u7F16\u7801\u5DF2\u7ED1\u5B9A",error:"\u6D77\u5173\u7F16\u7801\u7ED1\u5B9A\u5931\u8D25"})&&b(null)}}),(0,I.jsx)(gC,{open:!!k,documentType:"CONTROLLED_CATALOG",batchId:k?.batchId??"",issueType:k?.issueType??"DUPLICATE",collection:k?.collection??{items:[]},loading:k?.loading??!1,error:k?.error??"",busy:t.busy,onClose:()=>{E.current?.close(),S(null)},onIssueTypeChange:F=>{k&&ue(k.batchId,F)},onPageChange:F=>{k&&ue(k.batchId,k.issueType,F,vn(k.collection).pageSize)},onPageSizeChange:F=>{k&&ue(k.batchId,k.issueType,1,F)},onRetry:()=>{k&&ue(k.batchId,k.issueType,Number(k.collection.page)||1,vn(k.collection).pageSize)},onResolveIssue:async(F,ee)=>{let U=(await D.resolveImportIssue({documentType:"CONTROLLED_CATALOG",batchId:k?.batchId??"",issueId:F.id,payload:ee})).data;await we(U.batch),t.onNotify?.({message:"\u65E0\u6548\u95EE\u9898\u5DF2\u4FEE\u6B63\u5165\u5E93",tone:"success"})}}),(0,I.jsx)(Ju,{open:M.state.open,documentType:"CONTROLLED_CATALOG",collection:M.state.collection,tasks:t.tasks,loading:M.state.loading,error:M.state.error,busy:t.busy,onClose:M.close,onPageChange:F=>{M.load(F,vn(M.state.collection).pageSize)},onPageSizeChange:F=>{M.load(1,F)},onRetry:()=>{M.load(Number(M.state.collection.page)||1,vn(M.state.collection).pageSize)},onViewIssues:(F,ee)=>{M.close(),ue(F.id,ee)},onDownloadIssues:F=>{D.downloadImportIssues("CONTROLLED_CATALOG",F.id).catch(ee=>t.onNotify?.({message:In(ee,"\u5F02\u5E38\u660E\u7EC6\u4E0B\u8F7D\u5931\u8D25"),tone:"error"}))},onViewRecords:F=>{M.close(),i(F),n({}),V(Zu(F.id,H.pageSize))},onResolveStalledImport:t.onResolveStalledImport&&t.onRefreshTasks?_:void 0})]})}function aC(t){let[e,n]=ce.default.useState({}),[r,i]=ce.default.useState(null),[o,a]=ce.default.useState(new Set),[s,l]=ce.default.useState(!1),[c,u]=ce.default.useState(!1),[d,p]=ce.default.useState([]),[h,m]=ce.default.useState(!1),[f,v]=ce.default.useState(null),[g,y]=ce.default.useState(null),[w,b]=ce.default.useState(null),[x,C]=ce.default.useState(null),k=ce.default.useRef();k.current||(k.current=iC(C));let S=ce.default.useMemo(()=>Wx(t),[t.onAction,t.onFileAction,t.onRefresh]),E=nC(t.collection.items,t.batches),D=vn(t.collection),O=rC("SANCTION_CATALOG",t.onHistoryQuery),H=async(Y,Q,F)=>!t.onResolveStalledImport||!t.onRefreshTasks?{committed:!1,refreshed:!1,outcome:null}:await qu({task:Y,decision:Q,resolve:t.onResolveStalledImport,onCommitted:F,refreshTask:t.onRefreshTasks,refreshCatalog:()=>_(D.page,e,D.pageSize),refreshHistory:()=>O.load(Number(O.state.collection.page)||1,vn(O.state.collection).pageSize),notify:t.onNotify});ce.default.useEffect(()=>{let Y=Qx(o,d,E);Y.selectedIds!==o&&a(Y.selectedIds),Y.failures!==d&&p(Y.failures)},[E,o,d]),ce.default.useEffect(()=>{t.command==="upload"&&m(!0),t.command==="create"&&v({mode:"create",item:null}),t.command==="history"&&O.open(),t.command&&t.onCommandHandled?.()},[t.command,t.onCommandHandled,O.open]);let M=ce.default.useMemo(()=>Kx(t.onQuery,()=>a(new Set)),[t.onQuery]),_=ce.default.useCallback((Y,Q,F)=>M({page:Y,pageSize:F,filters:Q,...r?{batchId:r.id}:{}}),[M,r]),V=ce.default.useRef();V.current||(V.current=eC((Y,Q,F)=>{_(Y,Q,F)})),V.current.updateQuery((Y,Q,F)=>{_(Y,Q,F)});let G=ce.default.useMemo(()=>Jx((Y,Q,F)=>{_(Y,Q,F)}),[_]);ce.default.useEffect(()=>()=>G.cancel(),[G]),ce.default.useEffect(()=>(k.current?.mount(),()=>k.current?.dispose()),[]),ce.default.useEffect(()=>V.current?.observe(t.importCompletion,{page:D.page,pageSize:D.pageSize,filters:e}),[t.importCompletion,D.page,D.pageSize,e]);let K=(Y,Q)=>{let F={...e,[Y]:Q};n(F),G.schedule(Mx.find(ee=>ee.key===Y)?.type??"text",F,D.pageSize)},J=async(Y,Q,F=1,ee=ir)=>{t.onIssueQuery&&await k.current?.load(t.onIssueQuery,{documentType:"SANCTION_CATALOG",batchId:Y,issueType:Q,page:F,pageSize:ee})},ie=async Y=>{let Q=x;if(!Q)return;Y&&b(Y);let F=vn(Q.collection),ee=Q.collection.items.length<=1&&F.page>1?F.page-1:F.page;await J(Q.batchId,Q.issueType,ee,F.pageSize),await t.onQuery({page:D.page,pageSize:D.pageSize,filters:e,...r?{batchId:r.id}:{}})},ue=w??(t.importCompletion?.task.documentType==="SANCTION_CATALOG"?t.importCompletion.batch??null:null),we=[{type:"custom",key:"companyName",header:"\u516C\u53F8\u540D\u79F0",width:210,title:(Y,Q)=>Q.companyName||void 0,render:(Y,Q)=>(0,I.jsx)(vm,{iconClass:"ri-eye-line",title:Q.companyName||"\u2014",ariaLabel:`\u67E5\u770B\u5236\u88C1\u516C\u53F8\u8BE6\u60C5\uFF1A${Q.companyName||"\u2014"}`,onClick:()=>v({mode:"detail",item:Q}),children:Q.companyName||"\u2014"})},{type:"text",key:"countryOrRegion",header:"\u56FD\u5BB6\u6216\u5730\u533A",width:120},{type:"text",key:"effectiveDate",header:"\u751F\u6548\u65E5\u671F",width:120,truncate:!1,format:ti},{type:"ellipsis",key:"sanctionReason",header:"\u5236\u88C1\u539F\u56E0",width:220,maxWidth:220},{type:"text",key:"sourceType",header:"\u6765\u6E90\u7C7B\u578B",width:110,truncate:!1,format:Y=>nd(Y,bm)},{type:"ellipsis",key:"sourceFileName",header:"\u6765\u6E90\u6587\u4EF6",width:190,maxWidth:190},{type:"text",key:"updatedAt",header:"\u66F4\u65B0\u65F6\u95F4",width:170,truncate:!1,format:ut}];return(0,I.jsxs)("section",{className:"tcw-catalog-page tcw-catalog-page--sanction","aria-label":"\u516C\u53F8\u5236\u88C1\u76EE\u5F55",children:[(0,I.jsx)(un,{definitions:Mx,values:e,onChange:K,onQuery:()=>G.flush(e,D.pageSize),onReset:()=>{i(null),n({}),M({page:1,pageSize:D.pageSize,filters:{}})}}),(0,I.jsx)(Je,{children:Vx()}),r&&(0,I.jsxs)("div",{className:"tcw-catalog-batch-filter",children:[(0,I.jsxs)("span",{children:[(0,I.jsx)("i",{className:"ri-history-line","aria-hidden":"true"}),"\u6B63\u5728\u67E5\u770B\u5BFC\u5165\u6279\u6B21\uFF1A",(0,I.jsx)("strong",{children:r.sourceFileName||r.id}),r.deletedAt&&(0,I.jsx)("em",{children:"\u5DF2\u66FF\u6362"})]}),(0,I.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:()=>{i(null),n({}),M({page:1,pageSize:D.pageSize,filters:{}})},children:[(0,I.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u9000\u51FA\u6279\u6B21\u67E5\u770B"]})]}),t.importFailure?.documentType==="SANCTION_CATALOG"&&(0,I.jsx)(mC,{task:t.importFailure,busy:t.busy,onRetry:t.onRetryImport,onNotify:t.onNotify}),ue&&(0,I.jsx)(fC,{documentType:"SANCTION_CATALOG",batch:ue,busy:t.busy,onDownload:(Y,Q)=>S.downloadImportIssues(Y,Q),onView:(Y,Q)=>J(Y,Q),onNotify:t.onNotify}),(0,I.jsx)(ot,{columns:we,rows:E,rowKey:"id",selection:r&&Sa(r)?void 0:{selectedKeys:o,onToggle:Y=>a(Q=>yr(Q,Y)),onTogglePage:()=>a(Y=>Ao(Y,E.map(Q=>Q.id))),onClear:()=>a(new Set),onDelete:()=>{p([]),l(!0)},labelFor:Y=>`\u9009\u62E9\u5236\u88C1\u516C\u53F8\uFF1A${Y.companyName||"\u672A\u547D\u540D\u8BB0\u5F55"}`,disabled:t.busy||c},actionWidth:160,actions:r&&Sa(r)?void 0:Y=>(0,I.jsxs)("button",{type:"button",className:"tcw-catalog-operation-button is-danger",disabled:t.busy||c,onClick:()=>y(Y),children:[(0,I.jsx)("i",{className:"ri-delete-bin-line","aria-hidden":"true"}),"\u5220\u9664"]}),pagination:D,onPageChange:Y=>G.page(Y,e,D.pageSize),onPageSizeChange:Y=>G.pageSize(Y,e),emptyText:"\u6682\u65E0\u5236\u88C1\u516C\u53F8\u6570\u636E"}),(0,I.jsx)(lC,{open:h,kind:"sanction",batches:t.batches,busy:t.busy,onClose:()=>m(!1),onNotify:t.onNotify,onUpload:async(Y,Q)=>{let F=await S.uploadSanctionCatalog(Y,Q),ee=wC(F.data);ee.batch&&b(ee.batch),m(!1)}}),(0,I.jsx)(DE,{open:!!f,mode:f?.mode??"create",item:f?.item??null,busy:t.busy,onClose:()=>v(null),onSave:async Y=>{await wr(async()=>{f?.mode==="review"&&f.item?await S.updateSanctionedCompany({...Y,id:f.item.id}):await S.saveSanctionedCompany(Y),await t.onQuery({page:D.page,pageSize:D.pageSize,filters:e,...r?{batchId:r.id}:{}})},t.onNotify,{success:f?.mode==="review"?"\u5236\u88C1\u516C\u53F8\u4FDD\u5B58\u6210\u529F":"\u5236\u88C1\u516C\u53F8\u65B0\u589E\u6210\u529F",error:"\u5236\u88C1\u516C\u53F8\u4FDD\u5B58\u5931\u8D25"})&&v(null)}}),(0,I.jsx)(Bt,{open:!!g,title:"\u786E\u8BA4\u5220\u9664\u5236\u88C1\u516C\u53F8",message:`\u5220\u9664\u201C${g?.companyName??""}\u201D\u540E\uFF0C\u8BE5\u8BB0\u5F55\u5C06\u88AB\u903B\u8F91\u5220\u9664\u3002`,confirmText:"\u786E\u8BA4\u5220\u9664",danger:!0,onCancel:()=>y(null),onConfirm:()=>{g&&wr(()=>S.deleteEntity("sanctionedCompany",g.id).then(()=>{}),t.onNotify,{success:"\u5236\u88C1\u516C\u53F8\u5220\u9664\u6210\u529F",error:"\u5236\u88C1\u516C\u53F8\u5220\u9664\u5931\u8D25"}).then(Y=>{Y&&y(null)})}}),(0,I.jsx)(En,{open:s,title:"\u6279\u91CF\u5220\u9664\u5236\u88C1\u516C\u53F8",count:o.size,message:"\u8BB0\u5F55\u5C06\u88AB\u903B\u8F91\u5220\u9664\uFF0C\u540E\u7EED\u5BA1\u67E5\u4E0E\u67E5\u8BE2\u4E0D\u518D\u4F7F\u7528\u8FD9\u4E9B\u5236\u88C1\u516C\u53F8\u3002",busy:c,failures:d,onCancel:()=>{c||l(!1)},onConfirm:()=>{c||o.size===0||(u(!0),Yx({selectedIds:o,rows:E,entityType:"sanctionedCompany",labelFor:Y=>Y.companyName||Y.id,deleteEntity:S.deleteEntity,refresh:t.onQuery,query:{page:D.page,pageSize:D.pageSize,filters:e,...r?{batchId:r.id}:{}},notify:t.onNotify}).then(Y=>{a(Y.selectedIds),p(Y.failures),!Y.refreshFailed&&Y.failures.length===0&&l(!1)}).finally(()=>u(!1)))}}),(0,I.jsx)(gC,{open:!!x,documentType:"SANCTION_CATALOG",batchId:x?.batchId??"",issueType:x?.issueType??"DUPLICATE",collection:x?.collection??{items:[]},loading:x?.loading??!1,error:x?.error??"",busy:t.busy,onClose:()=>{k.current?.close(),C(null)},onIssueTypeChange:Y=>{x&&J(x.batchId,Y)},onPageChange:Y=>{x&&J(x.batchId,x.issueType,Y,vn(x.collection).pageSize)},onPageSizeChange:Y=>{x&&J(x.batchId,x.issueType,1,Y)},onRetry:()=>{x&&J(x.batchId,x.issueType,Number(x.collection.page)||1,vn(x.collection).pageSize)},onResolveIssue:async(Y,Q)=>{let ee=(await S.resolveImportIssue({documentType:"SANCTION_CATALOG",batchId:x?.batchId??"",issueId:Y.id,payload:Q})).data;await ie(ee.batch),t.onNotify?.({message:"\u65E0\u6548\u95EE\u9898\u5DF2\u4FEE\u6B63\u5165\u5E93",tone:"success"})}}),(0,I.jsx)(Ju,{open:O.state.open,documentType:"SANCTION_CATALOG",collection:O.state.collection,tasks:t.tasks,loading:O.state.loading,error:O.state.error,busy:t.busy,onClose:O.close,onPageChange:Y=>{O.load(Y,vn(O.state.collection).pageSize)},onPageSizeChange:Y=>{O.load(1,Y)},onRetry:()=>{O.load(Number(O.state.collection.page)||1,vn(O.state.collection).pageSize)},onViewIssues:(Y,Q)=>{O.close(),J(Y.id,Q)},onDownloadIssues:Y=>{S.downloadImportIssues("SANCTION_CATALOG",Y.id).catch(Q=>t.onNotify?.({message:In(Q,"\u5F02\u5E38\u660E\u7EC6\u4E0B\u8F7D\u5931\u8D25"),tone:"error"}))},onViewRecords:Y=>{O.close(),i(Y),n({}),M(Zu(Y.id,D.pageSize))},onResolveStalledImport:t.onResolveStalledImport&&t.onRefreshTasks?H:void 0})]})}function sC({busy:t,onUpload:e,onCreate:n,onHistory:r,onClear:i}){return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:t,onClick:e,children:[(0,I.jsx)("i",{className:"ri-upload-cloud-2-line","aria-hidden":"true"}),"\u4E0A\u4F20\u76EE\u5F55\u6587\u4EF6"]}),(0,I.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",disabled:t,onClick:n,children:[(0,I.jsx)("i",{className:"ri-add-line","aria-hidden":"true"}),"\u624B\u5DE5\u65B0\u589E"]}),(0,I.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",disabled:t,onClick:r,children:[(0,I.jsx)("i",{className:"ri-history-line","aria-hidden":"true"}),"\u5BFC\u5165\u8BB0\u5F55"]}),i&&(0,I.jsxs)("button",{type:"button",className:"tcw-button tcw-button--danger-subtle",disabled:t,onClick:i,children:[(0,I.jsx)("i",{className:"ri-delete-bin-6-line","aria-hidden":"true"}),"\u6E05\u7A7A\u76EE\u5F55"]})]})}function lC({open:t,kind:e,batches:n,busy:r=!1,onClose:i,onUpload:o,onNotify:a}){let[s,l]=ce.default.useReducer(RE,tC),c=r||s.submitting;ce.default.useEffect(()=>{t||l({type:"reset"})},[t,e]);let u=e==="controlled"&&s.catalogType?n.filter(f=>f.catalogType===s.catalogType):n,d=u.find(f=>f.id===s.replaceBatchId),p=()=>e==="controlled"?{documentType:"CONTROLLED_CATALOG",catalogType:s.catalogType,...s.replaceBatchId?{replaceBatchId:s.replaceBatchId}:{}}:{documentType:"SANCTION_CATALOG",...s.replaceBatchId?{replaceBatchId:s.replaceBatchId}:{}},h=async()=>{if(s.file){l({type:"set-submitting",submitting:!0});try{await o(s.file,p()),l({type:"reset"})}catch(f){a?.({message:In(f,"\u76EE\u5F55\u4E0A\u4F20\u5931\u8D25"),tone:"error"}),l({type:"cancel-replace"})}finally{l({type:"set-submitting",submitting:!1})}}},m=async()=>{if(e==="controlled"&&!s.catalogType){l({type:"set-error",error:"\u8BF7\u9009\u62E9\u76EE\u5F55\u7C7B\u578B"});return}if(!s.file){l({type:"set-error",error:"\u8BF7\u9009\u62E9\u76EE\u5F55\u6587\u4EF6"});return}if(s.replaceBatchId){l({type:"confirm-replace"});return}await h()};return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(_e,{open:EE(t,s),title:e==="controlled"?"\u4E0A\u4F20\u7BA1\u63A7\u5546\u54C1\u76EE\u5F55":"\u4E0A\u4F20\u516C\u53F8\u5236\u88C1\u76EE\u5F55",onClose:i,footer:(0,I.jsxs)(I.Fragment,{children:[(0,I.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",disabled:c,onClick:i,children:[(0,I.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u53D6\u6D88"]}),(0,I.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:c,onClick:()=>{m()},children:[(0,I.jsx)("i",{className:"ri-upload-cloud-2-line","aria-hidden":"true"}),"\u4E0A\u4F20\u76EE\u5F55"]})]}),children:(0,I.jsxs)(Rt,{columns:1,children:[e==="controlled"&&(0,I.jsx)(se,{label:"\u9009\u62E9\u76EE\u5F55\u7C7B\u578B",required:!0,children:(0,I.jsxs)("select",{value:s.catalogType,disabled:c,onChange:f=>l({type:"select-catalog-type",catalogType:f.target.value}),children:[(0,I.jsx)("option",{value:"",children:"\u8BF7\u9009\u62E9\u76EE\u5F55\u7C7B\u578B"}),Cm(il).map(f=>(0,I.jsx)("option",{value:f.value,children:f.label},f.value))]})}),(0,I.jsx)(se,{label:"\u8986\u76D6\u5386\u53F2\u6279\u6B21",hint:"\u4E0D\u9009\u62E9\u65F6\u6309\u65B0\u589E\u6279\u6B21\u5BFC\u5165",children:(0,I.jsxs)("select",{value:s.replaceBatchId,disabled:c||e==="controlled"&&!s.catalogType,onChange:f=>l({type:"select-batch",batchId:f.target.value}),children:[(0,I.jsx)("option",{value:"",children:"\u4E0D\u8986\u76D6\uFF0C\u65B0\u589E\u6279\u6B21"}),u.map(f=>(0,I.jsxs)("option",{value:f.id,children:[f.sourceFileName||f.id,"\uFF08",f.totalCount??0," \u6761\uFF09"]},f.id))]})}),(0,I.jsx)(Js,{accept:TE,disabled:c,onFile:f=>l({type:"select-file",file:f}),onError:f=>l({type:"set-error",error:f})}),s.file&&(0,I.jsxs)("p",{children:["\u5DF2\u9009\u62E9\uFF1A",(0,I.jsx)("strong",{children:s.file.name})]}),s.error&&(0,I.jsx)("p",{role:"alert",children:s.error})]})}),(0,I.jsx)(NE,{open:s.confirming,kind:e,batch:d??null,fileName:s.file?.name??"",busy:c,onCancel:()=>l({type:"cancel-replace"}),onConfirm:()=>{h()}})]})}function NE({open:t,kind:e,batch:n,fileName:r,busy:i=!1,onCancel:o,onConfirm:a}){let s=n?.catalogType?il[n.catalogType]:"\u516C\u53F8\u5236\u88C1\u76EE\u5F55",l=e==="controlled"?"\u8986\u76D6\u540E\uFF0C\u65B0\u6587\u4EF6\u53EA\u6709\u5728\u89E3\u6790\u6210\u529F\u5E76\u901A\u8FC7\u57FA\u7840\u6821\u9A8C\u540E\uFF0C\u65E7\u6279\u6B21\u53CA\u5176\u6587\u4EF6\u5BFC\u5165\u5546\u54C1\u624D\u4F1A\u88AB\u903B\u8F91\u5220\u9664\u3002":"\u53EA\u6709\u65B0\u6587\u4EF6\u89E3\u6790\u6210\u529F\u5E76\u901A\u8FC7\u57FA\u7840\u6821\u9A8C\u540E\uFF0C\u65E7\u6279\u6B21\u53CA\u5176\u516C\u53F8\u8BB0\u5F55\u624D\u4F1A\u88AB\u903B\u8F91\u5220\u9664\u3002";return(0,I.jsx)(_e,{open:t,title:e==="controlled"?"\u786E\u8BA4\u8986\u76D6\u5386\u53F2\u76EE\u5F55\uFF1F":"\u786E\u8BA4\u8986\u76D6\u5386\u53F2\u5236\u88C1\u76EE\u5F55\uFF1F",onClose:o,footer:(0,I.jsxs)(I.Fragment,{children:[(0,I.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:o,children:[(0,I.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u53D6\u6D88"]}),(0,I.jsxs)("button",{type:"button",className:"tcw-button tcw-button--danger",disabled:i,onClick:a,children:[(0,I.jsx)("i",{className:"ri-upload-cloud-2-line","aria-hidden":"true"}),"\u786E\u8BA4\u4E0A\u4F20\u5E76\u8986\u76D6"]})]}),children:(0,I.jsxs)("div",{className:`tcw-catalog-replace-dialog tcw-catalog-replace-dialog--${e}`,children:[(0,I.jsx)("div",{className:"tcw-catalog-replace-warning tcw-notice--risk",role:"alert",children:(0,I.jsx)("span",{children:l})}),(0,I.jsxs)("dl",{className:"tcw-catalog-replace-summary",children:[e==="controlled"&&(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)("dt",{children:"\u76EE\u5F55\u7C7B\u578B\uFF1A"}),(0,I.jsx)("dd",{children:(0,I.jsx)("span",{className:"tcw-catalog-type-badge",children:s})})]}),(0,I.jsx)("dt",{children:"\u88AB\u8986\u76D6\u6587\u4EF6\uFF1A"}),(0,I.jsx)("dd",{children:n?.sourceFileName||"\u2014"}),(0,I.jsx)("dt",{children:e==="controlled"?"\u73B0\u6709\u5546\u54C1\u6570\u91CF\uFF1A":"\u73B0\u6709\u8BB0\u5F55\u6570\u91CF\uFF1A"}),(0,I.jsx)("dd",{className:"tcw-catalog-replace-count",children:n?.totalCount??0}),(0,I.jsx)("dt",{children:"\u6700\u8FD1\u66F4\u65B0\u65F6\u95F4\uFF1A"}),(0,I.jsx)("dd",{children:ut(n?.updatedAt||n?.createdAt)}),(0,I.jsx)("dt",{children:"\u65B0\u4E0A\u4F20\u6587\u4EF6\uFF1A"}),(0,I.jsx)("dd",{children:r||"\u2014"})]})]})})}function PE({open:t,mode:e,item:n,busy:r=!1,onClose:i,onSave:o}){let[a,s]=ce.default.useState(()=>wm(n)),[l,c]=ce.default.useState("");ce.default.useEffect(()=>{t&&(s(wm(n)),c(""))},[t,n]);let u=(0,I.jsx)(cC,{value:a,onChange:s}),d=async()=>{if(!a.catalogType||!a.productName.trim()){c("\u76EE\u5F55\u7C7B\u578B\u548C\u5546\u54C1\u540D\u79F0\u4E3A\u5FC5\u586B\u9879");return}try{await o({...a,productName:a.productName.trim(),hsCode:a.hsCode?.trim(),controlDescription:a.controlDescription?.trim()})}catch(h){c(In(h,"\u7BA1\u63A7\u5546\u54C1\u4FDD\u5B58\u5931\u8D25"))}},p=e==="review"&&n?.sourceType==="FILE_IMPORT";return(0,I.jsx)(_e,{open:t,title:e==="create"?"\u65B0\u589E\u7BA1\u63A7\u5546\u54C1":"\u5BA1\u6838\u7BA1\u63A7\u5546\u54C1",size:p?"wide":"normal",onClose:i,footer:(0,I.jsxs)(I.Fragment,{children:[(0,I.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:i,children:[(0,I.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u53D6\u6D88"]}),(0,I.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:r,onClick:()=>{d()},children:[(0,I.jsx)("i",{className:"ri-save-line","aria-hidden":"true"}),"\u4FDD\u5B58"]})]}),children:(0,I.jsx)("div",{className:`tcw-catalog-dialog ${p?"tcw-catalog-dialog--review tcw-catalog-dialog--controlled-review":"tcw-catalog-dialog--controlled-create"}`,children:p?(0,I.jsx)(Ku,{editor:(0,I.jsxs)(I.Fragment,{children:[u,l&&(0,I.jsx)("p",{role:"alert",children:l})]}),source:(0,I.jsx)(hC,{item:n}),sourceTitle:"\u6765\u6E90\u8BC1\u636E\uFF08\u53EA\u8BFB\uFF09"}):(0,I.jsxs)(I.Fragment,{children:[e==="create"&&(0,I.jsx)(pC,{}),u,l&&(0,I.jsx)("p",{role:"alert",children:l})]})})})}function cC({value:t,onChange:e}){return(0,I.jsxs)(Rt,{columns:1,children:[(0,I.jsxs)(se,{label:"\u76EE\u5F55\u7C7B\u578B",required:!0,children:[(0,I.jsxs)("select",{value:t.catalogType,onChange:n=>e({...t,catalogType:n.target.value}),children:[(0,I.jsx)("option",{value:"",children:"\u8BF7\u9009\u62E9\u76EE\u5F55\u7C7B\u578B"}),Cm(il).map(n=>(0,I.jsx)("option",{value:n.value,children:n.label},n.value))]}),(0,I.jsx)("small",{children:"\u519B\u6C11\u4E24\u7528\u7269\u8D44 / \u6D77\u5916\u5236\u88C1"})]}),(0,I.jsx)(se,{label:"\u5546\u54C1\u540D\u79F0",required:!0,children:(0,I.jsx)("input",{placeholder:"\u8BF7\u8F93\u5165\u5546\u54C1\u540D\u79F0",value:t.productName,onChange:n=>e({...t,productName:n.target.value})})}),(0,I.jsx)(se,{label:"\u6D77\u5173\u7F16\u7801",children:(0,I.jsx)("input",{placeholder:"\u8BF7\u8F93\u5165\u6D77\u5173\u7F16\u7801\uFF08\u53EF\u9009\uFF09",value:t.hsCode??"",onChange:n=>e({...t,hsCode:n.target.value})})}),(0,I.jsx)(se,{label:"\u7BA1\u63A7\u8BF4\u660E",children:(0,I.jsxs)("div",{className:"tcw-counted-textarea",children:[(0,I.jsx)("textarea",{rows:5,maxLength:500,placeholder:"\u8BF7\u8F93\u5165\u7BA1\u63A7\u8BF4\u660E\uFF08\u53EF\u9009\uFF09",value:t.controlDescription??"",onChange:n=>e({...t,controlDescription:n.target.value})}),(0,I.jsxs)("small",{className:"tcw-character-count",children:[t.controlDescription?.length??0,"/500"]})]})})]})}function DE({open:t,mode:e,item:n,busy:r=!1,onClose:i,onSave:o}){let[a,s]=ce.default.useState(()=>$x(n)),[l,c]=ce.default.useState("");ce.default.useEffect(()=>{t&&(s($x(n)),c(""))},[t,n]);let u=(0,I.jsx)(dC,{value:a,disabled:e==="detail",singleLineReason:e==="create",onChange:s}),d=async()=>{let f=uC(a);if(f){c(f);return}try{await o({...a,companyName:a.companyName.trim()})}catch(v){c(In(v,"\u5236\u88C1\u516C\u53F8\u4FDD\u5B58\u5931\u8D25"))}},p=e==="create"?"\u65B0\u589E\u5236\u88C1\u516C\u53F8":e==="review"?"\u5BA1\u6838\u5236\u88C1\u516C\u53F8":"\u5236\u88C1\u516C\u53F8\u8BE6\u60C5",h=e==="detail"?(0,I.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",onClick:i,children:[(0,I.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u5173\u95ED"]}):(0,I.jsxs)(I.Fragment,{children:[(0,I.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:i,children:[(0,I.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u53D6\u6D88"]}),(0,I.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:r,onClick:()=>{d()},children:[(0,I.jsx)("i",{className:"ri-save-line","aria-hidden":"true"}),"\u4FDD\u5B58"]})]}),m=e!=="create"&&n?.sourceType==="FILE_IMPORT";return(0,I.jsx)(_e,{open:t,title:p,size:m?"wide":"normal",onClose:i,footer:h,children:(0,I.jsx)("div",{className:`tcw-catalog-dialog ${m?"tcw-catalog-dialog--review tcw-catalog-dialog--sanction-review":"tcw-catalog-dialog--sanction-create"}`,children:m?(0,I.jsx)(Ku,{editor:(0,I.jsxs)(I.Fragment,{children:[u,l&&(0,I.jsx)("p",{role:"alert",children:l})]}),source:(0,I.jsx)(hC,{item:n}),editorTitle:"\u7F16\u8F91\u4FE1\u606F",sourceTitle:"\u6765\u6E90\u8BC1\u636E\uFF08\u53EA\u8BFB\uFF09"}):(0,I.jsxs)(I.Fragment,{children:[e==="create"&&(0,I.jsx)(pC,{}),u,l&&(0,I.jsx)("p",{role:"alert",children:l})]})})})}function uC(t){return!t.companyName.trim()||!t.effectiveDate?.trim()||!t.sanctionReason?.trim()?"\u516C\u53F8\u540D\u79F0\u3001\u53D1\u5E03/\u751F\u6548\u65E5\u671F\u548C\u5236\u88C1\u539F\u56E0\u4E3A\u5FC5\u586B\u9879":""}function dC({value:t,disabled:e,singleLineReason:n,onChange:r}){return(0,I.jsxs)(Rt,{columns:1,children:[(0,I.jsx)(se,{label:"\u516C\u53F8\u540D\u79F0",required:!0,children:(0,I.jsx)("input",{disabled:e,placeholder:"\u8BF7\u8F93\u5165\u516C\u53F8\u540D\u79F0",value:t.companyName,onChange:i=>r({...t,companyName:i.target.value})})}),(0,I.jsx)(se,{label:"\u56FD\u5BB6\u6216\u5730\u533A",children:(0,I.jsx)("input",{disabled:e,placeholder:"\u8BF7\u8F93\u5165\u56FD\u5BB6\u6216\u5730\u533A",value:t.countryOrRegion??"",onChange:i=>r({...t,countryOrRegion:i.target.value})})}),(0,I.jsx)(se,{label:"\u53D1\u5E03/\u751F\u6548\u65E5\u671F",required:!0,children:(0,I.jsx)("input",{type:"date",disabled:e,value:t.effectiveDate??"",onChange:i=>r({...t,effectiveDate:i.target.value})})}),(0,I.jsx)(se,{label:"\u5236\u88C1\u539F\u56E0",required:!0,children:n?(0,I.jsx)("input",{disabled:e,maxLength:500,placeholder:"\u8BF7\u8F93\u5165\u5236\u88C1\u539F\u56E0",value:t.sanctionReason??"",onChange:i=>r({...t,sanctionReason:i.target.value})}):(0,I.jsxs)("div",{className:"tcw-counted-textarea",children:[(0,I.jsx)("textarea",{disabled:e,rows:4,maxLength:500,placeholder:"\u8BF7\u8F93\u5165\u5236\u88C1\u539F\u56E0",value:t.sanctionReason??"",onChange:i=>r({...t,sanctionReason:i.target.value})}),(0,I.jsxs)("small",{className:"tcw-character-count",children:[t.sanctionReason?.length??0,"/500"]})]})}),(0,I.jsx)(se,{label:"\u5907\u6CE8",children:(0,I.jsxs)("div",{className:"tcw-counted-textarea",children:[(0,I.jsx)("textarea",{disabled:e,rows:3,maxLength:500,placeholder:"\u8BF7\u8F93\u5165\u5907\u6CE8\uFF08\u53EF\u9009\uFF09",value:t.remarks??"",onChange:i=>r({...t,remarks:i.target.value})}),(0,I.jsxs)("small",{className:"tcw-character-count",children:[t.remarks?.length??0,"/500"]})]})})]})}function pC(){return(0,I.jsxs)("div",{className:"tcw-catalog-manual-source","aria-label":"\u6765\u6E90\u7C7B\u578B\uFF1A\u624B\u5DE5\u65B0\u589E",children:[(0,I.jsx)("span",{children:"\u6765\u6E90\u7C7B\u578B\uFF1A"}),(0,I.jsx)("strong",{className:"tcw-catalog-source-badge",children:"\u624B\u5DE5\u65B0\u589E"})]})}function hC({item:t}){return(0,I.jsxs)(Rt,{columns:1,children:[(0,I.jsx)(se,{label:"\u6765\u6E90\u7C7B\u578B",children:(0,I.jsx)("input",{disabled:!0,value:nd(t?.sourceType,bm)})}),(0,I.jsx)(se,{label:"\u6765\u6E90\u6587\u4EF6",children:(0,I.jsx)("input",{disabled:!0,value:t?.sourceFileName??"\u2014"})}),(0,I.jsx)(se,{label:"\u6765\u6E90\u4F4D\u7F6E",children:(0,I.jsx)("input",{disabled:!0,value:t?.sourceLocation??"\u2014"})}),(0,I.jsx)(se,{label:"\u6765\u6E90\u539F\u6587",children:(0,I.jsx)("textarea",{disabled:!0,rows:5,value:t?.sourceContent??"\u2014"})})]})}function fC({documentType:t,batch:e,busy:n,onDownload:r,onView:i,onNotify:o}){if((e.duplicateCount??0)+(e.invalidCount??0)===0)return null;let s=(e.duplicateCount??0)>0?"DUPLICATE":"INVALID";return(0,I.jsxs)(Je,{children:[(0,I.jsxs)("span",{children:["\u5DF2\u5BFC\u5165 ",e.successCount??0," \u6761\uFF0C\u5F02\u5E38 ",e.invalidCount??0," \u6761\uFF08\u5176\u4E2D\u8DF3\u8FC7 ",e.skippedCount??0," \u6761\uFF09\uFF0C\u91CD\u590D ",e.duplicateCount??0,"\u3002"]}),i&&(0,I.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",disabled:n,onClick:()=>{i(e.id,s)},children:[(0,I.jsx)("i",{className:"ri-list-check-2","aria-hidden":"true"}),"\u67E5\u770B\u660E\u7EC6"]}),(0,I.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",disabled:n,onClick:()=>{r(t,e.id).catch(l=>o?.({message:In(l,"\u5BFC\u5165\u95EE\u9898 Excel \u4E0B\u8F7D\u5931\u8D25"),tone:"error"}))},children:[(0,I.jsx)("i",{className:"ri-download-line","aria-hidden":"true"}),"\u4E0B\u8F7D Excel"]})]})}function mC({task:t,busy:e,onRetry:n,onNotify:r}){return t.status!=="FAILED"&&t.status!=="TIMED_OUT"?null:(0,I.jsxs)("div",{className:"tcw-catalog-import-failure",role:"alert",children:[(0,I.jsxs)("div",{children:[(0,I.jsx)("strong",{children:t.status==="TIMED_OUT"?"\u76EE\u5F55\u89E3\u6790\u8D85\u65F6":"\u76EE\u5F55\u89E3\u6790\u5931\u8D25"}),(0,I.jsx)("p",{children:t.errorMessage||"\u89E3\u6790\u4EFB\u52A1\u672A\u5B8C\u6210\uFF0C\u8BF7\u91CD\u65B0\u89E3\u6790\u3002"})]}),n&&(0,I.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:e,onClick:()=>{n(t.id).catch(i=>r?.({message:In(i,"\u91CD\u65B0\u89E3\u6790\u5931\u8D25"),tone:"error"}))},children:[(0,I.jsx)("i",{className:"ri-restart-line","aria-hidden":"true"}),"\u91CD\u65B0\u89E3\u6790"]})]})}function gC({open:t,documentType:e,batchId:n,issueType:r,collection:i,loading:o,error:a,busy:s,onClose:l,onIssueTypeChange:c,onPageChange:u,onPageSizeChange:d,onRetry:p,onResolveIssue:h}){let[m,f]=ce.default.useState(null);ce.default.useEffect(()=>{(!t||r!=="INVALID")&&f(null)},[t,r]);let v=[{type:"ellipsis",key:"sourceLocation",header:"\u6765\u6E90\u4F4D\u7F6E",width:160,maxWidth:160},...r==="DUPLICATE"?[{type:"ellipsis",key:"duplicateTarget",header:"\u91CD\u590D\u5BF9\u8C61",width:260,maxWidth:260}]:[],{type:"ellipsis",key:"message",header:"\u95EE\u9898\u8BF4\u660E",width:220,maxWidth:220}],g=!a,y=()=>f(null);return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsxs)(_e,{open:t,title:"\u5BFC\u5165\u95EE\u9898\u660E\u7EC6",size:"wide",onClose:l,footer:(0,I.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",onClick:l,children:[(0,I.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u5173\u95ED"]}),children:[(0,I.jsxs)("div",{className:"tcw-catalog-issue-toolbar","data-document-type":e,"data-batch-id":n,children:[(0,I.jsxs)("button",{type:"button",className:r==="DUPLICATE"?"is-active":"",disabled:s||o,onClick:()=>c("DUPLICATE"),children:[(0,I.jsx)("i",{className:"ri-file-copy-line","aria-hidden":"true"}),"\u91CD\u590D"]}),(0,I.jsxs)("button",{type:"button",className:r==="INVALID"?"is-active":"",disabled:s||o,onClick:()=>c("INVALID"),children:[(0,I.jsx)("i",{className:"ri-error-warning-line","aria-hidden":"true"}),"\u65E0\u6548"]})]}),(0,I.jsxs)("div",{className:"tcw-catalog-issue-content",children:[g&&(0,I.jsx)(ot,{columns:v,rows:i.items,rowKey:"id",pagination:vn(i),onPageChange:u,onPageSizeChange:d,emptyText:r==="DUPLICATE"?"\u6682\u65E0\u91CD\u590D\u6570\u636E":"\u6682\u65E0\u65E0\u6548\u6570\u636E",actionWidth:150,actions:r==="INVALID"&&h?w=>(0,I.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",disabled:s||o,onClick:()=>f(w),children:[(0,I.jsx)("i",{className:"ri-edit-2-line","aria-hidden":"true"}),"\u4FEE\u6B63\u5165\u5E93"]}):void 0}),o&&(0,I.jsx)("p",{className:"tcw-catalog-issue-status",role:"status",children:"\u6B63\u5728\u52A0\u8F7D\u5BFC\u5165\u95EE\u9898\u660E\u7EC6..."}),a&&(0,I.jsxs)("div",{className:"tcw-catalog-issue-error",role:"alert",children:[(0,I.jsx)("span",{children:a}),(0,I.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",disabled:s||o,onClick:p,children:[(0,I.jsx)("i",{className:"ri-refresh-line","aria-hidden":"true"}),"\u91CD\u65B0\u52A0\u8F7D"]})]})]})]}),(0,I.jsx)(OE,{open:!!m,documentType:e,issue:m,busy:s||o,onClose:y,onSave:async w=>{!m||!h||(await h(m,w),y())}})]})}function OE({open:t,documentType:e,issue:n,busy:r,onClose:i,onSave:o}){let[a,s]=ce.default.useState(()=>Ux(n)),[l,c]=ce.default.useState(()=>Gx(n)),[u,d]=ce.default.useState("");ce.default.useEffect(()=>{t&&(s(Ux(n)),c(Gx(n)),d(""))},[t,n]);let p=async()=>{try{if(e==="CONTROLLED_CATALOG"){if(!a.productName.trim()){d("\u5546\u54C1\u540D\u79F0\u4E3A\u5FC5\u586B\u9879");return}await o({...a,productName:a.productName.trim(),hsCode:a.hsCode?.trim(),controlDescription:a.controlDescription?.trim()})}else{let m=uC(l);if(m){d(m);return}await o({...l,companyName:l.companyName.trim()})}}catch(m){d(In(m,"\u4FEE\u6B63\u5165\u5E93\u5931\u8D25"))}};return(0,I.jsx)(_e,{open:t,title:"\u4FEE\u6B63\u65E0\u6548\u95EE\u9898\u5E76\u5165\u5E93",size:"wide",onClose:i,footer:(0,I.jsxs)(I.Fragment,{children:[(0,I.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",disabled:r,onClick:i,children:[(0,I.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u53D6\u6D88"]}),(0,I.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:r,onClick:()=>{p()},children:[(0,I.jsx)("i",{className:"ri-save-line","aria-hidden":"true"}),"\u4FDD\u5B58\u5165\u5E93"]})]}),children:(0,I.jsx)(Ku,{editor:(0,I.jsxs)(I.Fragment,{children:[e==="CONTROLLED_CATALOG"?(0,I.jsx)(cC,{value:a,onChange:s}):(0,I.jsx)(dC,{value:l,disabled:!1,singleLineReason:!1,onChange:c}),u&&(0,I.jsx)("p",{role:"alert",children:u})]}),source:(0,I.jsx)(LE,{issue:n}),editorTitle:"\u4FEE\u6B63\u4FE1\u606F",sourceTitle:"\u95EE\u9898\u6765\u6E90\uFF08\u53EA\u8BFB\uFF09"})})}function LE({issue:t}){return(0,I.jsxs)(Rt,{columns:1,children:[(0,I.jsx)(se,{label:"\u6765\u6E90\u4F4D\u7F6E",children:(0,I.jsx)("input",{disabled:!0,value:t?.sourceLocation??"\u2014"})}),(0,I.jsx)(se,{label:"\u95EE\u9898\u8BF4\u660E",children:(0,I.jsx)("input",{disabled:!0,value:t?.message??"\u2014"})}),(0,I.jsx)(se,{label:"\u6765\u6E90\u539F\u6587",children:(0,I.jsx)("textarea",{disabled:!0,rows:8,value:t?.sourceContent??"\u2014"})})]})}function Ux(t){let e=yC(t);return{catalogType:_E(e.catalogType)??"DUAL_USE",productName:ri(e.productName),hsCode:ri(e.hsCode),controlDescription:ri(e.controlDescription)}}function Gx(t){let e=yC(t);return{companyName:ri(e.companyName),countryOrRegion:ri(e.countryOrRegion),sanctionListSource:ri(e.sanctionListSource),effectiveDate:ri(e.effectiveDate),sanctionReason:ri(e.sanctionReason),remarks:ri(e.remarks)}}function yC(t){let e=t?.parsedPayload;return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}function ri(t){return typeof t=="string"?t:t==null?"":String(t)}function _E(t){return t==="DUAL_USE"||t==="OVERSEAS_SANCTION"?t:null}function FE(t,e){return{keywords:t.trim(),page:1,pageSize:e}}function ed(t=1,e=20){return{items:[],total:0,page:t,pageSize:e,pageCount:1}}function ol({open:t,initialQuery:e,onAction:n,onClose:r,onBind:i}){let[o,a]=ce.default.useState(e),[s,l]=ce.default.useState(()=>ed()),[c,u]=ce.default.useState(null),[d,p]=ce.default.useState(""),[h,m]=ce.default.useState(!1),[f,v]=ce.default.useState(null),g=ce.default.useRef(Or()),y=ce.default.useRef(n);y.current=n;let w=ce.default.useCallback(async(S,E=1,D=20)=>{let O=S.trim();if(!O){p("\u8BF7\u8F93\u5165\u5546\u54C1\u540D\u79F0\u6216\u6D77\u5173\u7F16\u7801");return}m(!0),p(""),u(null);let H=g.current.begin();try{let M=await y.current("search_hs_code",{keywords:O,page:E,pageSize:D});if(M.success===!1)throw new Error(M.message||"\u6D77\u5173\u7F16\u7801\u67E5\u8BE2\u5931\u8D25");if(!g.current.commit(H))return;l(UE(M.data)?M.data:ed(E,D))}catch(M){if(!g.current.isLatest(H))return;p(In(M,"\u6D77\u5173\u7F16\u7801\u67E5\u8BE2\u5931\u8D25")),l(ed(E,D))}finally{g.current.finish(H),g.current.isLatest(H)&&m(!1)}},[]);ce.default.useEffect(()=>{if(!t){g.current.invalidate(),m(!1);return}return a(e),l(ed()),w(e,1),()=>g.current.invalidate()},[t,e,w]);let b=async S=>{m(!0),p("");let E=g.current.begin();try{let D=await y.current("get_hs_code_detail",{code:S.code,...S.detailUrl?{detailUrl:S.detailUrl}:{}});if(D.success===!1)throw new Error(D.message||"\u6D77\u5173\u7F16\u7801\u8BE6\u60C5\u67E5\u8BE2\u5931\u8D25");if(!g.current.commit(E))return;u(Ro(D.data)?D.data:{})}catch(D){if(!g.current.isLatest(E))return;p(In(D,"\u6D77\u5173\u7F16\u7801\u8BE6\u60C5\u67E5\u8BE2\u5931\u8D25"))}finally{g.current.finish(E),g.current.isLatest(E)&&m(!1)}},x=async S=>{if(!(!i||f)){v(S.code),p("");try{await i(S)}catch(E){p(In(E,"\u6D77\u5173\u7F16\u7801\u7ED1\u5B9A\u5931\u8D25"))}finally{v(null)}}},C=()=>{g.current.invalidate(),m(!1),r()};return(0,I.jsxs)(_e,{open:t,title:"\u6D77\u5173\u7F16\u7801\u67E5\u8BE2",size:"wide",onClose:C,footer:(0,I.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",onClick:C,children:[(0,I.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u5173\u95ED"]}),children:[(0,I.jsxs)("form",{className:"tcw-hs-lookup-form",onSubmit:S=>{S.preventDefault(),w(o,1)},children:[(0,I.jsx)(se,{label:"\u5546\u54C1\u540D\u79F0\u6216\u6D77\u5173\u7F16\u7801",required:!0,children:(0,I.jsx)("input",{value:o,onChange:S=>a(S.target.value)})}),(0,I.jsx)("div",{className:"tcw-hs-lookup-action",children:(0,I.jsxs)("button",{type:"submit",className:"tcw-button tcw-button--secondary",disabled:h,children:[(0,I.jsx)("i",{className:"ri-search-line","aria-hidden":"true"}),"\u67E5\u8BE2"]})})]}),d&&(0,I.jsx)("p",{role:"alert",children:d}),(0,I.jsx)("div",{className:"tcw-hs-results","aria-busy":h||void 0,children:c?(0,I.jsx)(BE,{detail:c,onBack:()=>u(null)}):(0,I.jsx)(ot,{columns:[{type:"text",key:"code",header:"\u6D77\u5173\u7F16\u7801",width:130},{type:"ellipsis",key:"name",header:"\u5546\u54C1\u540D\u79F0",width:220,maxWidth:220},{type:"ellipsis",key:"englishName",header:"\u82F1\u6587\u540D\u79F0",width:220,maxWidth:220},{type:"text",key:"unit",header:"\u5355\u4F4D",width:90,truncate:!1},{type:"text",key:"taxRefundRate",header:"\u9000\u7A0E\u7387",width:90,align:"right",truncate:!1}],rows:s.items,rowKey:S=>S.code,pagination:s,onPageChange:S=>{w(o,S,s.pageSize)},onPageSizeChange:S=>{let E=FE(o,S);w(E.keywords,E.page,E.pageSize)},actionWidth:i?190:120,actions:S=>(0,I.jsx)(ME,{result:S,loading:h||f===S.code,onDetail:()=>{b(S)},onBind:i?()=>{x(S)}:void 0}),emptyText:h?"\u67E5\u8BE2\u4E2D":"\u6682\u65E0\u6D77\u5173\u7F16\u7801\u7ED3\u679C"})})]})}function ME({result:t,loading:e,onDetail:n,onBind:r}){return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsxs)("button",{type:"button",disabled:e,onClick:n,children:[(0,I.jsx)("i",{className:"ri-eye-line","aria-hidden":"true"}),"\u8BE6\u60C5"]}),r&&(0,I.jsxs)("button",{type:"button",disabled:e||!t.code,onClick:r,children:[(0,I.jsx)("i",{className:"ri-link","aria-hidden":"true"}),"\u7ED1\u5B9A"]})]})}function BE({detail:t,onBack:e}){let n=(t.sections??[]).filter(r=>(r.rows?.length??0)>0);return(0,I.jsxs)("article",{className:"tcw-hs-detail",children:[(0,I.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary tcw-hs-detail-back",onClick:e,children:[(0,I.jsx)("i",{className:"ri-arrow-left-line","aria-hidden":"true"}),"\u8FD4\u56DE\u67E5\u8BE2\u7ED3\u679C"]}),(0,I.jsxs)("header",{className:"tcw-hs-detail-heading",children:[(0,I.jsxs)("div",{children:[(0,I.jsx)("span",{children:"\u6D77\u5173\u7F16\u7801"}),(0,I.jsx)("h3",{children:t.code||"\u2014"})]}),(0,I.jsx)("p",{children:t.name||t.title||"\u2014"})]}),(0,I.jsxs)("dl",{className:"tcw-hs-detail-meta",children:[(0,I.jsxs)("div",{children:[(0,I.jsx)("dt",{children:"\u67E5\u8BE2\u65F6\u95F4"}),(0,I.jsx)("dd",{children:ut(t.queriedAt)})]}),t.sourceUrl&&(0,I.jsxs)("div",{children:[(0,I.jsx)("dt",{children:"\u6570\u636E\u6765\u6E90"}),(0,I.jsx)("dd",{children:(0,I.jsx)("a",{href:t.sourceUrl,target:"_blank",rel:"noreferrer",children:t.sourceUrl})})]})]}),(0,I.jsxs)("div",{className:"tcw-hs-detail-sections",children:[n.map((r,i)=>(0,I.jsxs)("section",{className:"tcw-hs-detail-section",children:[(0,I.jsx)("h4",{children:r.title||"\u8BE6\u60C5"}),(0,I.jsx)("dl",{className:"tcw-hs-detail-fields",children:r.rows.map((o,a)=>(0,I.jsxs)("div",{children:[(0,I.jsx)("dt",{children:o.label||"\u5B57\u6BB5"}),(0,I.jsx)("dd",{children:o.value||"\u2014"})]},`${o.label??"row"}-${a}`))})]},`${r.title??"detail"}-${i}`)),!n.length&&(0,I.jsxs)("div",{className:"tcw-hs-detail-empty",role:"status",children:[(0,I.jsx)("i",{className:"ri-file-list-3-line","aria-hidden":"true"}),(0,I.jsx)("span",{children:"\u6682\u65E0\u7ED3\u6784\u5316\u8BE6\u60C5\u6570\u636E"})]})]})]})}function Hx(t,e){return String(t[e]??"").trim()}function zE(t,e){let n=jx(e);return!n||jx(t.hsCode)===n?null:{...wm(t),id:t.id,hsCode:n}}function jx(t){return String(t??"").replace(/\s/g,"").trim()}function wm(t){return{catalogType:t?.catalogType??"DUAL_USE",productName:t?.productName??"",hsCode:t?.hsCode??"",controlDescription:t?.controlDescription??""}}function $x(t){return{companyName:t?.companyName??"",countryOrRegion:t?.countryOrRegion??"",effectiveDate:t?.effectiveDate??"",sanctionReason:t?.sanctionReason??"",remarks:t?.remarks??""}}function vm({children:t,iconClass:e,title:n,ariaLabel:r,onClick:i}){return(0,I.jsx)("span",{className:"tcw-row-actions tcw-catalog-table-link",children:(0,I.jsxs)("button",{type:"button",title:n,"aria-label":r,onClick:i,children:[(0,I.jsx)("i",{className:e,"aria-hidden":"true"}),(0,I.jsx)("span",{children:t})]})})}function Cm(t){return Object.entries(t).map(([e,n])=>({value:e,label:String(n)}))}function nd(t,e){return typeof t=="string"&&t in e?e[t]:t?String(t):"\u2014"}function UE(t){return Ro(t)&&Array.isArray(t.items)&&t.items.every(e=>Ro(e)&&typeof e.code=="string")&&Number.isInteger(t.total)&&Number(t.total)>=0&&Number.isInteger(t.page)&&Number(t.page)>=1&&ji(Number(t.pageSize))&&Number.isInteger(t.pageCount)&&Number(t.pageCount)>=1}function Ro(t){return!!(t&&typeof t=="object"&&!Array.isArray(t))}function In(t,e){return t instanceof Error?t.message:e}function td(t){if(t.success===!1)throw new Error(typeof t.message=="string"&&t.message?t.message:"\u64CD\u4F5C\u5931\u8D25")}function vn(t){let e=t.pageSize??ir,n=Number(t.total)>=0?Number(t.total):t.items.length,r=Math.max(1,Math.ceil(n/e));return{page:Math.min(r,Math.max(1,Number(t.page)||1)),pageSize:e,total:n,pageCount:r}}function wC(t){if(!Ro(t)||!Ro(t.task))throw new Error("\u4E0A\u4F20\u5B8C\u6210\u54CD\u5E94\u7F3A\u5C11\u4EFB\u52A1\u4FE1\u606F");return t}function GE(t){return Ro(t)&&Ro(t.task)&&typeof t.task.id=="string"&&typeof t.task.documentType=="string"&&typeof t.task.status=="string"}var et=be(Be(),1),HE=[{key:"catalog-replace",title:"\u8986\u76D6\u7BA1\u63A7\u76EE\u5F55",description:"\u786E\u8BA4\u76EE\u5F55\u7C7B\u578B\u548C\u88AB\u8986\u76D6\u7684\u5386\u53F2\u6587\u4EF6\u3002\u8986\u76D6\u6279\u6B21\u5148\u4F5C\u4E3A\u8349\u7A3F\u89E3\u6790\u548C\u590D\u6838\uFF0C\u5BA1\u6838\u53D1\u5E03\u540E\u751F\u6548\uFF1B\u539F\u6709\u6548\u76EE\u5F55\u5728\u53D1\u5E03\u5B8C\u6210\u524D\u6301\u7EED\u53EF\u7528\u3002",icon:"ri-folder-open-line"},{key:"duplicate-contract",title:"\u91CD\u590D\u4E0A\u4F20\u5408\u540C",description:"\u91C7\u8D2D\u5408\u540C\u548C\u5BA2\u6237\u5408\u540C\u5747\u4E0D\u5141\u8BB8\u8986\u76D6\uFF1B\u53D1\u73B0\u76F8\u540C\u5408\u540C\u7F16\u7801\u65F6\u7CFB\u7EDF\u4F1A\u963B\u6B62\u4E0A\u4F20\u3002\u786E\u9700\u91CD\u4F20\u65F6\u5FC5\u987B\u5148\u903B\u8F91\u5220\u9664\u65E7\u5408\u540C\u3002",icon:"ri-upload-cloud-2-line"},{key:"catalog-impact",title:"\u8986\u76D6\u76EE\u5F55",description:"\u7BA1\u63A7\u5546\u54C1\u76EE\u5F55\u548C\u516C\u53F8\u5236\u88C1\u76EE\u5F55\u5728\u53D1\u5E03\u6210\u529F\u540E\u91CD\u65B0\u8BA1\u7B97\u98CE\u9669\u7ED3\u679C\uFF0C\u8BF7\u786E\u8BA4\u88AB\u8986\u76D6\u6587\u4EF6\u548C\u8BB0\u5F55\u6570\u91CF\u3002",icon:"ri-book-open-line"},{key:"delete-data",title:"\u5220\u9664\u4E1A\u52A1\u6570\u636E",description:"\u5220\u9664\u4F9B\u5E94\u5546\u3001\u5BA2\u6237\u3001\u8BA2\u5355\u3001\u5546\u54C1\u3001\u76EE\u5F55\u8BB0\u5F55\u6216\u5386\u53F2\u6587\u4EF6\u524D\uFF0C\u8BF7\u786E\u8BA4\u5176\u4E0B\u6E38\u5F71\u54CD\u3002\u4E1A\u52A1\u5220\u9664\u548C\u76EE\u5F55\u8986\u76D6\u5747\u4E3A\u903B\u8F91\u5220\u9664\u3002",icon:"ri-delete-bin-line"},{key:"payments",title:"\u7EF4\u62A4\u4ED8\u6B3E/\u6536\u6B3E/\u9000\u7A0E",description:"\u91C7\u8D2D\u548C\u9500\u552E\u91D1\u989D\u7EDF\u4E00\u4F7F\u7528\u4EBA\u6C11\u5E01\uFF1B\u91D1\u989D\u8D85\u8FC7\u8BA2\u5355\u603B\u989D\u6216\u9884\u8BA1\u9000\u7A0E\u989D\u65F6\u7CFB\u7EDF\u5C06\u7981\u6B62\u4FDD\u5B58\u3002",icon:"ri-money-cny-circle-line"},{key:"profit",title:"\u7EF4\u62A4\u5229\u6DA6\u7387",description:"\u5BA2\u6237\u9ED8\u8BA4\u5229\u6DA6\u7387\u4F1A\u5B9E\u65F6\u5F71\u54CD\u5176\u5168\u90E8\u672A\u5355\u72EC\u8BBE\u7F6E\u5229\u6DA6\u7387\u7684\u6D3E\u751F\u9500\u552E\u8BA2\u5355\uFF0C\u5386\u53F2\u751F\u6210\u6587\u4EF6\u4E0D\u4F1A\u81EA\u52A8\u66F4\u65B0\u3002",icon:"ri-line-chart-line"},{key:"risk-review",title:"\u6838\u5BF9\u98CE\u9669",description:"\u7CFB\u7EDF\u4F1A\u5339\u914D\u7BA1\u63A7\u5546\u54C1\u76EE\u5F55\u548C\u516C\u53F8\u5236\u88C1\u76EE\u5F55\uFF1B\u547D\u4E2D\u5236\u88C1\u516C\u53F8\u53EA\u63D0\u793A\u3001\u4E0D\u963B\u6B62\u4FDD\u5B58\uFF0C\u4F46\u5FC5\u987B\u4EBA\u5DE5\u6838\u5BF9\u98CE\u9669\u660E\u7EC6\u3002",icon:"ri-shield-check-line"},{key:"generate-file",title:"\u751F\u6210\u9500\u552E\u6587\u4EF6",description:"\u751F\u6210\u524D\u8BF7\u786E\u8BA4\u516C\u53F8\u4FE1\u606F\u3001\u94F6\u884C\u4FE1\u606F\u548C\u5229\u6DA6\u7387\u89C4\u5219\u3002\u6A21\u677F\u8F85\u52A9\u5B57\u6BB5\u7531\u7528\u6237\u5728\u751F\u6210\u540E\u7684 Excel \u4E2D\u5BA1\u6838\u4FEE\u6539\u3002",icon:"ri-file-excel-line"},{key:"edit-excel",title:"\u5728\u7EBF\u7F16\u8F91 Excel",description:"\u5386\u53F2\u6587\u4EF6\u5728\u7EBF\u4FDD\u5B58\u4F1A\u76F4\u63A5\u8986\u76D6\u5F53\u524D\u6587\u4EF6\uFF0C\u4E0D\u4FDD\u7559\u65E7\u7248\u672C\uFF0C\u4E5F\u4E0D\u4F1A\u53CD\u5411\u66F4\u65B0\u91C7\u8D2D\u5408\u540C\u3001\u5BA2\u6237\u5408\u540C\u6216\u6570\u636E\u5206\u6790\u6570\u636E\u3002",icon:"ri-edit-box-line"},{key:"confirm",title:"\u64CD\u4F5C\u524D\u8BF7\u786E\u8BA4",description:"\u5916\u8D38\u5408\u89C4\u6570\u636E\u4F1A\u76F4\u63A5\u5F71\u54CD\u5408\u540C\u5173\u8054\u3001\u5229\u6DA6\u6821\u9A8C\u3001\u9500\u552E\u6587\u4EF6\u548C\u7ECF\u8425\u62A5\u8868\u3002\u6267\u884C\u9AD8\u98CE\u9669\u64CD\u4F5C\u524D\uFF0C\u8BF7\u52A1\u5FC5\u6838\u5BF9\u4E1A\u52A1\u5BF9\u8C61\u548C\u6570\u636E\u5185\u5BB9\u3002",icon:"ri-error-warning-line"}],jE=[{key:"catalogs",title:"\u7EF4\u62A4\u7BA1\u63A7\u5546\u54C1\u4E0E\u516C\u53F8\u5236\u88C1\u76EE\u5F55",titleLines:["\u7EF4\u62A4\u7BA1\u63A7\u5546\u54C1\u4E0E","\u516C\u53F8\u5236\u88C1\u76EE\u5F55"],description:"\u4E0A\u4F20\u5E76\u7EF4\u62A4\u7BA1\u63A7\u5546\u54C1\u76EE\u5F55\u548C\u516C\u53F8\u5236\u88C1\u76EE\u5F55",icon:"ri-book-open-line",tone:"blue",layout:{area:"step-1",desktop:"right",tablet:"right",mobile:"down"}},{key:"contracts",title:"\u4E0A\u4F20\u5E76\u5BA1\u6838\u91C7\u8D2D\u5408\u540C\u548C\u5BA2\u6237\u5408\u540C",titleLines:["\u4E0A\u4F20\u5E76\u5BA1\u6838\u91C7\u8D2D","\u5408\u540C\u548C\u5BA2\u6237\u5408\u540C"],description:"\u4E0A\u4F20\u91C7\u8D2D\u5408\u540C\u548C\u5BA2\u6237\u5408\u540C\u5E76\u8FDB\u884C\u5BA1\u6838\u5165\u5E93",icon:"ri-file-upload-line",tone:"green",layout:{area:"step-2",desktop:"right",tablet:"down",mobile:"down"}},{key:"risk-match",title:"\u5546\u54C1\u53CA\u516C\u53F8\u98CE\u9669\u5339\u914D",titleLines:["\u5546\u54C1\u53CA\u516C\u53F8","\u98CE\u9669\u5339\u914D"],description:"\u7CFB\u7EDF\u5339\u914D\u76EE\u5F55\u8FDB\u884C\u5546\u54C1\u548C\u516C\u53F8\u98CE\u9669\u8BC6\u522B",icon:"ri-shield-check-line",tone:"violet",layout:{area:"step-3",desktop:"right",tablet:"left",mobile:"down"}},{key:"derive-sales",title:"\u81EA\u52A8\u6D3E\u751F\u9500\u552E\u8BA2\u5355",titleLines:["\u81EA\u52A8\u6D3E\u751F","\u9500\u552E\u8BA2\u5355"],description:"\u6839\u636E\u5BA2\u6237\u5408\u540C\u81EA\u52A8\u5173\u8054\u91C7\u8D2D\u5408\u540C\u5E76\u6D3E\u751F\u8BA2\u5355",icon:"ri-shopping-cart-line",tone:"orange",layout:{area:"step-4",desktop:"right",tablet:"down",mobile:"down"}},{key:"profit-check",title:"\u5229\u6DA6\u7387\u6821\u9A8C",titleLines:["\u5229\u6DA6\u7387\u6821\u9A8C"],description:"\u6821\u9A8C\u5229\u6DA6\u7387\u662F\u5426\u7B26\u5408\u4F01\u4E1A\u89C4\u5219\u548C\u8981\u6C42",icon:"ri-percent-line",tone:"blue",layout:{area:"step-5",desktop:"right",tablet:"right",mobile:"down"}},{key:"bank",title:"\u9009\u62E9\u94F6\u884C\u4FE1\u606F\uFF08\u62A5\u5173\u5355\u8DF3\u8FC7\uFF09",titleLines:["\u9009\u62E9\u94F6\u884C\u4FE1\u606F","\uFF08\u62A5\u5173\u5355\u8DF3\u8FC7\uFF09"],description:"\u9009\u62E9\u6216\u786E\u8BA4\u94F6\u884C\u4FE1\u606F\u7528\u4E8E\u76F8\u5173\u5355\u636E",icon:"ri-bank-line",tone:"green",layout:{area:"step-6",desktop:"right",tablet:"down",mobile:"down"}},{key:"review-files",title:"\u751F\u6210\u5E76\u5728\u7EBF\u5BA1\u6838\u9500\u552E\u6587\u4EF6",titleLines:["\u751F\u6210\u5E76\u5728\u7EBF\u5BA1\u6838","\u9500\u552E\u6587\u4EF6"],description:"\u751F\u6210\u9500\u552E\u6587\u4EF6\u5E76\u5728 Excel \u4E2D\u5BA1\u6838\u4FEE\u6539",icon:"ri-file-check-line",tone:"violet",layout:{area:"step-7",desktop:"right",tablet:"left",mobile:"down"}},{key:"analytics",title:"\u6570\u636E\u5206\u6790",titleLines:["\u6570\u636E\u5206\u6790"],description:"\u67E5\u770B\u4E1A\u52A1\u6570\u636E\u548C\u7ECF\u8425\u5206\u6790\u62A5\u8868",icon:"ri-bar-chart-line",tone:"blue",layout:{area:"step-8",desktop:null,tablet:null,mobile:null}}];function vC(){return(0,et.jsxs)("div",{className:"tcw-home-page",children:[(0,et.jsxs)("section",{className:"tcw-home-section tcw-home-section--risk","aria-labelledby":"risk-operation-title",children:[(0,et.jsxs)("h2",{id:"risk-operation-title",className:"tcw-home-section-title",children:[(0,et.jsx)("i",{className:"ri-shield-flash-line","aria-hidden":"true"}),"\u98CE\u9669\u64CD\u4F5C\u63D0\u793A"]}),(0,et.jsx)("div",{className:"tcw-home-risk-matrix",children:HE.map(t=>(0,et.jsxs)("article",{className:"tcw-home-risk-item","data-risk-operation":t.key,children:[(0,et.jsxs)("div",{className:"tcw-home-risk-heading",children:[(0,et.jsx)("i",{className:t.icon,"aria-hidden":"true"}),(0,et.jsx)("h3",{children:t.title})]}),(0,et.jsx)("p",{children:t.description})]},t.key))})]}),(0,et.jsxs)("section",{className:"tcw-home-section tcw-home-section--workflow","aria-labelledby":"workflow-title",children:[(0,et.jsxs)("div",{className:"tcw-home-workflow-heading",children:[(0,et.jsx)("h2",{id:"workflow-title",className:"tcw-home-section-title",children:"\u4E1A\u52A1\u6D41\u7A0B\u56FE"}),(0,et.jsx)("p",{children:"\u8BF7\u6309\u7167\u4EE5\u4E0B\u4E1A\u52A1\u6D41\u7A0B\u8FDB\u884C\u64CD\u4F5C"})]}),(0,et.jsx)("div",{className:"tcw-home-workflow",children:jE.map((t,e)=>{let{layout:n}=t;return(0,et.jsxs)("article",{className:`tcw-home-workflow-step tcw-home-workflow-step--${t.tone}`,style:{gridArea:n.area},"data-workflow-step":t.key,children:[(0,et.jsx)("span",{className:"tcw-home-step-number",children:e+1}),(0,et.jsx)("i",{className:t.icon,"aria-hidden":"true"}),(0,et.jsx)("h3",{"aria-label":t.title,children:t.titleLines.map(r=>(0,et.jsx)("span",{className:"tcw-home-step-title-line",children:r},r))}),(0,et.jsx)("p",{children:t.description}),n.desktop&&(0,et.jsx)("i",{className:"ri-arrow-right-line tcw-home-workflow-connector","data-workflow-connector":!0,"data-desktop-direction":n.desktop,"data-tablet-direction":n.tablet??void 0,"data-mobile-direction":n.mobile??void 0,"aria-hidden":"true"})]},t.key)})}),(0,et.jsxs)("div",{className:"tcw-home-footer-notice",children:[(0,et.jsx)("i",{className:"ri-information-line","aria-hidden":"true"}),(0,et.jsx)("span",{children:"\u6240\u6709\u4E1A\u52A1\u6570\u636E\u6309\u79DF\u6237 + \u7EC4\u7EC7\u9694\u79BB\uFF0C\u5171\u4EAB\u7EC4\u7EC7\u5185\u6570\u636E\u3002\u672C\u5DE5\u4F5C\u53F0\u4EC5\u63D0\u4F9B\u4E1A\u52A1\u64CD\u4F5C\u5165\u53E3\uFF0C\u5177\u4F53\u8868\u683C\u548C\u7EDF\u8BA1\u62A5\u8868\u8BF7\u524D\u5F80\u5404\u529F\u80FD\u6A21\u5757\u67E5\u770B\u3002"})]})]})]})}var De=be(Qt(),1);var A=be(Be(),1),cN={},ep=20,f1={UNCHECKED:"\u672A\u68C0\u67E5",CLEAR:"\u65E0\u547D\u4E2D",HIT:"\u547D\u4E2D\u63D0\u9192"},za={PENDING:"\u5F85\u5BA1\u6838",REVIEWED:"\u5DF2\u5BA1\u6838"},m1={DUAL_USE:"\u519B\u6C11\u4E24\u7528",OVERSEAS_SANCTION:"\u6D77\u5916\u5236\u88C1"},fy={CONTRACT_EXTRACTED:"\u5408\u540C\u63D0\u53D6",MANUAL_ENTRY:"\u624B\u5DE5\u65B0\u589E"},CI=[{type:"text",key:"code",label:"\u4F9B\u5E94\u5546\u4EE3\u7801"},{type:"text",key:"name",label:"\u4F9B\u5E94\u5546\u540D\u79F0"},{type:"text",key:"shortName",label:"\u7B80\u79F0"},{type:"text",key:"contactName",label:"\u8054\u7CFB\u4EBA"},{type:"text",key:"phone",label:"\u8054\u7CFB\u7535\u8BDD"}],SI=[{type:"text",key:"contractNo",label:"\u91C7\u8D2D\u8BA2\u5355\u7F16\u53F7"},{type:"text",key:"customerContractNo",label:"\u5BA2\u6237\u5408\u540C\u7F16\u53F7"},{type:"text",key:"supplierName",label:"\u4F9B\u5E94\u5546"},{type:"date-range",key:"orderDate",label:"\u4E0B\u5355\u65E5\u671F"}],kI=[{type:"text",key:"productName",label:"\u5546\u54C1\u540D\u79F0"},{type:"text",key:"productDescription",label:"\u5546\u54C1\u63CF\u8FF0"},{type:"text",key:"hsCode",label:"\u6D77\u5173\u7F16\u7801"},{type:"select",key:"complianceCategory",label:"\u5408\u89C4\u5206\u7C7B",options:lN(m1)}];function AI(t,e=300){let n=null,r=()=>{n&&clearTimeout(n),n=null};return{schedule(i,o,a=ep){if(r(),i!=="text"){t(1,o,a);return}n=setTimeout(()=>{n=null,t(1,o,a)},e)},flush(i,o=ep){r(),t(1,i,o)},page(i,o,a=ep){r(),t(i,o,a)},pageSize(i,o){r(),t(1,o,i)},cancel:r}}function TI({onAction:t,onFileAction:e}){let n=async(r,i,o)=>{let a=o?await t(r,i,o):await t(r,i);return h1(a),a};return{uploadPurchaseContract:async r=>{let i=await e("upload_purchase_contract",r,{documentType:"PURCHASE_CONTRACT"});return h1(i),i},savePurchaseReview:(r,i)=>n("save_purchase_review",{importTaskId:r,draft:RI(i)}),updateSupplier:r=>n("update_supplier",{...r}),updatePurchaseOrder:r=>n("update_purchase_order",{...r}),addPurchaseLine:(r,i)=>n("add_purchase_line",{...uy(i),purchaseOrderId:r,sourceType:"MANUAL_ENTRY"}),updatePurchaseLine:r=>n("update_purchase_line",{...uy(r)}),deleteEntity:(r,i,o)=>n("delete_entity",{entityType:r,id:i},o)}}function RI(t){return{...t,lines:t.lines.map(uy)}}function uy(t){return{...t,refundPolicyReference:null,refundPolicyDate:null,refundValidationMethod:null}}function EI(t){return t==="suppliers"?"supplier":t==="purchaseOrders"?"purchaseOrder":"purchaseLine"}function u1(t){return t.level==="suppliers"?"suppliers":t.level==="orders"?`orders:${t.supplierId}`:`lines:${t.supplierId}:${t.orderId}`}function II(t,e,n){let r=typeof e!="string",i=r?e:{code:e},o=tp(i.code);if(!o||!r&&tp(t.hsCode)===o)return null;let a=Dl(i.englishName),s=Dl(n),l=a??s,c=NI(i.taxRefundRate),u={...t,hsCode:o,...r?{hsCodeSource:"HS_LOOKUP"}:{},...l?{englishName:l,englishNameSource:a?"HS_LOOKUP":"AI_TRANSLATION"}:{},...c!=null?{refundRate:c,refundRateSource:"HS_LOOKUP"}:{}};return tp(t.hsCode)===u.hsCode&&t.hsCodeSource===u.hsCodeSource&&String(t.englishName??"")===String(u.englishName??"")&&t.englishNameSource===u.englishNameSource&&String(t.refundRate??"")===String(u.refundRate??"")&&t.refundRateSource===u.refundRateSource?null:u}function tp(t){return String(t??"").replace(/\s/g,"").trim()}function Dl(t){return String(t??"").trim()||null}function NI(t){let e=Dl(t);if(!e)return null;if(e.endsWith("%")){let r=Number(e.slice(0,-1).trim());return Number.isFinite(r)?String(r/100):null}let n=Number(e);return Number.isFinite(n)?e:null}function PI(t,e){return async(n,r)=>(e(),await t(n,r))}function DI(){let t=!1;return{run(e){return t?null:(t=!0,e().finally(()=>{t=!1}))}}}function OI(t){let e=t,n=0,r=i=>i.identity===e&&i.revision===n;return{observeIdentity(i){return i===e?!1:(e=i,n+=1,!0)},invalidate(){n+=1},capture(){return{identity:e,revision:n}},isCurrent:r,commit(i,o){return r(i)?(o(),!0):!1}}}function LI(t,e){return t||e}function _I({confirmGuard:t,generationGuard:e,operation:n,onCurrentResult:r,onBusyChange:i}){return t.run(async()=>{let o=e.capture();i(!0);try{let a=await n(()=>e.isCurrent(o));return e.commit(o,()=>r(a)),a}finally{i(!1)}})}function FI(t,e,n){let r=new Set(n.map(a=>a.id)),i=[...t].filter(a=>r.has(a)),o=e.filter(a=>r.has(a.key));return{selectedIds:i.length===t.size?t:new Set(i),failures:o.length===e.length?e:o}}async function MI({selectedIds:t,rows:e,entityType:n,labelFor:r,deleteEntity:i,refresh:o,collection:a,query:s,notify:l,isCurrent:c=()=>!0}){let u=[...t],d=new Map(e.map(v=>[v.id,r(v)])),p=await rr(u,v=>i(n,v,{suppressRefresh:!0})),h=e.filter(v=>!p.succeeded.includes(v.id)),m=Lr(s.page,h.length),f=p.failed.map(v=>({...v,label:d.get(v.key)??v.key}));if(!c())return{selectedIds:new Set(u),failures:f,refreshFailed:!1,stale:!0};try{let v=await o(a,{...s,page:m});if(!c())return{selectedIds:new Set(u),failures:f,refreshFailed:!1,stale:!0};if(v===!1)return{selectedIds:new Set(u),failures:f,refreshFailed:!0,stale:!1}}catch{return c()?{selectedIds:new Set(u),failures:f,refreshFailed:!0,stale:!1}:{selectedIds:new Set(u),failures:f,refreshFailed:!1,stale:!0}}return p.failed.length===0?l?.({message:`\u5DF2\u5220\u9664 ${p.succeeded.length} \u6761`,tone:"success"}):l?.({message:`\u6210\u529F ${p.succeeded.length}\u3001\u5931\u8D25 ${p.failed.length}`,tone:p.succeeded.length>0?"warning":"error"}),{selectedIds:new Set(p.failed.map(v=>v.key)),failures:f,refreshFailed:!1,stale:!1}}function g1(t){let e=[];t.supplier.name.trim()||e.push("\u4F9B\u5E94\u5546\u540D\u79F0\u4E3A\u5FC5\u586B\u9879"),t.order.contractNo.trim()||e.push("\u91C7\u8D2D\u5408\u540C\u7F16\u53F7\u4E3A\u5FC5\u586B\u9879");let n=Yi(t.order.contractAmountCny),r=Yi(t.order.paidAmountCny),i=Yi(t.order.refundedAmountCny);n!==null&&(!Number.isFinite(n)||n<0)&&e.push("\u91C7\u8D2D\u8BA2\u5355\u603B\u989D\u5FC5\u987B\u4E3A\u6709\u6548\u91D1\u989D"),r!==null&&(!Number.isFinite(r)||r<0)&&e.push("\u5DF2\u4ED8\u6B3E\u4E0D\u80FD\u4E3A\u8D1F\u6570"),r!==null&&n!==null&&Number.isFinite(r)&&Number.isFinite(n)&&r>n&&e.push("\u5DF2\u4ED8\u6B3E\u4E0D\u80FD\u8D85\u8FC7\u91C7\u8D2D\u8BA2\u5355\u603B\u989D"),i!==null&&(!Number.isFinite(i)||i<0)&&e.push("\u5DF2\u9000\u7A0E\u4E0D\u80FD\u4E3A\u8D1F\u6570"),t.order.amountMismatch&&!t.order.amountMismatchConfirmed&&e.push("\u8BA2\u5355\u603B\u989D\u5DEE\u5F02\u5FC5\u987B\u786E\u8BA4"),t.lines.length||e.push("\u91C7\u8D2D\u5408\u540C\u5FC5\u987B\u5305\u542B\u81F3\u5C11\u4E00\u6761\u5546\u54C1"),t.lines.forEach((a,s)=>{let l=`\u7B2C${s+1}\u6761\u5546\u54C1`;a.productName.trim()||e.push(`${l}\u540D\u79F0\u4E3A\u5FC5\u586B\u9879`);let c=Yi(a.quantity),u=Yi(a.unitPriceTaxIncluded),d=Yi(a.lineAmountTaxIncluded),p=Yi(a.vatRate),h=Yi(a.refundRate);c!==null&&(!Number.isFinite(c)||c<=0)&&e.push(`${l}\u6570\u91CF\u5FC5\u987B\u5927\u4E8E0`),u!==null&&(!Number.isFinite(u)||u<0)&&e.push(`${l}\u542B\u7A0E\u5355\u4EF7\u4E0D\u80FD\u4E3A\u8D1F\u6570`),d!==null&&(!Number.isFinite(d)||d<0)&&e.push(`${l}\u542B\u7A0E\u91D1\u989D\u4E0D\u80FD\u4E3A\u8D1F\u6570`),p!==null&&(!Number.isFinite(p)||p<0||p>1)&&e.push(`${l}\u589E\u503C\u7A0E\u7387\u5FC5\u987B\u57280\u52301\u4E4B\u95F4`),h!==null&&(!Number.isFinite(h)||h<0||h>1)&&e.push(`${l}\u9000\u7A0E\u7387\u5FC5\u987B\u57280\u52301\u4E4B\u95F4`),a.amountMismatch&&!a.amountMismatchConfirmed&&e.push(`${l}\u91D1\u989D\u5DEE\u5F02\u5FC5\u987B\u786E\u8BA4`)});let o=t.lines.reduce((a,s)=>a+b1(s),0);return i!==null&&Number.isFinite(i)&&i>o&&e.push("\u5DF2\u9000\u7A0E\u4E0D\u80FD\u8D85\u8FC7\u9884\u8BA1\u9000\u7A0E\u603B\u989D"),e}function BI(t,e){let n=np();for(let r of g1(t))GI(n,r);return e&&(n.contractNo=e),n}function zI(t,e){if(e.kind==="root")return{...t,[e.field]:void 0};let n=t.lines[e.index];if(!n)return t;let r={...n,[e.field]:void 0};return{...t,lines:{...t.lines,[e.index]:r}}}function UI(t){return!!(t.supplierName||t.contractNo||t.contractAmountCny||t.paidAmountCny||t.refundedAmountCny||Object.values(t.lines).some(e=>Object.values(e).some(Boolean)))}function np(){return{lines:{}}}function d1(t){return t?{...np(),contractNo:t}:np()}function GI(t,e){if(e==="\u4F9B\u5E94\u5546\u540D\u79F0\u4E3A\u5FC5\u586B\u9879"){t.supplierName=e;return}if(e.includes("\u91C7\u8D2D\u5408\u540C\u7F16\u53F7")){t.contractNo=e;return}if(e.includes("\u5DF2\u4ED8\u6B3E")){t.paidAmountCny=e;return}if(e.includes("\u5DF2\u9000\u7A0E")){t.refundedAmountCny=e;return}if(e.includes("\u91C7\u8D2D\u8BA2\u5355\u603B\u989D")){t.contractAmountCny=e;return}let n=e.match(/^第(\d+)条商品(.+)$/);if(!n)return;let r=Number(n[1])-1,i=HI(n[2]);i&&(t.lines[r]={...t.lines[r],[i]:e})}function HI(t){return t.includes("\u540D\u79F0")?"productName":t.includes("\u6570\u91CF")?"quantity":t.includes("\u542B\u7A0E\u5355\u4EF7")?"unitPriceTaxIncluded":t.includes("\u542B\u7A0E\u91D1\u989D")||t.includes("\u91D1\u989D\u5DEE\u5F02")?"lineAmountTaxIncluded":t.includes("\u589E\u503C\u7A0E\u7387")?"vatRate":t.includes("\u9000\u7A0E\u7387")?"refundRate":null}function y1(t){let e=u1(t.route),[n,r]=De.default.useState({}),[i,o]=De.default.useState("PENDING"),[a,s]=De.default.useState("PENDING"),[l,c]=De.default.useState(new Set),[u,d]=De.default.useState(!1),[p,h]=De.default.useState(!1),[m,f]=De.default.useState([]),v=De.default.useRef();v.current||(v.current=DI());let g=De.default.useRef();g.current||(g.current=OI(e)),g.current.observeIdentity(e);let[y,w]=De.default.useState(null),[b,x]=De.default.useState(null),[C,k]=De.default.useState(null),[S,E]=De.default.useState(null),[D,O]=De.default.useState(t.reviewDraft),H=De.default.useCallback(()=>{O(null),t.onReviewClose?.()},[t.onReviewClose]),M=De.default.useMemo(()=>TI(t),[t.onAction,t.onFileAction]),_=iN(t.route),V=_==="suppliers"?CI:_==="purchaseOrders"?SI:kI,G=Ga(_==="suppliers"?t.suppliers:_==="purchaseOrders"?t.purchaseOrders:t.purchaseLines),K=G.pageSize,J=_==="suppliers"?t.suppliers.items:_==="purchaseOrders"?t.purchaseOrders.items:t.purchaseLines.items,ie=De.default.useMemo(()=>PI(t.onQuery,()=>{g.current.invalidate(),c(new Set),f([]),d(!1)}),[t.onQuery]),ue=De.default.useCallback((re,me,qe)=>ie(_,{page:re,pageSize:qe,filters:_==="purchaseOrders"?{...me,reviewStatus:me.reviewStatus??i}:_==="purchaseLines"?{...me,reviewStatus:me.reviewStatus??a}:me,parameters:t.route.level==="orders"?{supplierId:t.route.supplierId,reviewStatus:String(me.reviewStatus??i)}:t.route.level==="lines"?{supplierId:t.route.supplierId,purchaseOrderId:t.route.orderId,reviewStatus:String(me.reviewStatus??a)}:void 0}),[_,a,i,t.route,ie]),we=De.default.useMemo(()=>AI((re,me,qe)=>{ue(re,me,qe)}),[ue]);De.default.useEffect(()=>()=>we.cancel(),[we]),De.default.useEffect(()=>{O(t.reviewDraft)},[t.reviewDraft]),De.default.useEffect(()=>{c(new Set),f([]),d(!1)},[e]),De.default.useEffect(()=>{t.route.level==="orders"&&o("PENDING"),t.route.level==="lines"&&s("PENDING")},[t.route.level,e]),De.default.useEffect(()=>{let re=FI(l,m,J);re.selectedIds!==l&&c(re.selectedIds),re.failures!==m&&f(re.failures)},[J,l,m]);let Y=(re,me)=>{let qe={...n,[re]:me};r(qe),we.schedule(V.find(Ot=>Ot.key===re)?.type??"text",qe,K)},Q=()=>{r({}),we.flush({},K)},F=async(re,me)=>wr(async()=>{await re()},t.onNotify,{success:me,error:"\u91C7\u8D2D\u64CD\u4F5C\u5931\u8D25"}),ee=re=>aN(C)?M.addPurchaseLine(t.order?.id??"",re):re.id?M.updatePurchaseLine({...re,id:re.id}):Promise.reject(new Error("\u91C7\u8D2D\u5546\u54C1\u6807\u8BC6\u4E0D\u80FD\u4E3A\u7A7A")),B=re=>{re.type==="procurement"?g.current.observeIdentity(u1(re)):g.current.invalidate(),c(new Set),f([]),d(!1),t.onRouteChange(re)},U=!!(t.importTask&&(D||t.importTask.duplicateContractError)),q={...t,onRouteChange:B},le=LI(t.busy,p),ne={selectedIds:l,onToggle:re=>c(me=>yr(me,re)),onTogglePage:re=>c(me=>Ao(me,re)),onClear:()=>c(new Set),onBulkDelete:()=>{f([]),d(!0)},disabled:le},ae=_==="suppliers"?{title:"\u6279\u91CF\u5220\u9664\u4F9B\u5E94\u5546",message:"\u6240\u9009\u4F9B\u5E94\u5546\u5C06\u88AB\u903B\u8F91\u5220\u9664\uFF0C\u540E\u7EED\u91C7\u8D2D\u5408\u540C\u4E0D\u518D\u5F52\u5165\u8FD9\u4E9B\u4F9B\u5E94\u5546\u4E3B\u6863\u3002"}:_==="purchaseOrders"?{title:"\u6279\u91CF\u5220\u9664\u91C7\u8D2D\u8BA2\u5355",message:"\u5C06\u540C\u65F6\u903B\u8F91\u5220\u9664\u6240\u9009\u91C7\u8D2D\u8BA2\u5355\u53CA\u5176\u5168\u90E8\u5546\u54C1\u660E\u7EC6\uFF1B\u540E\u7EED\u91CD\u65B0\u5BFC\u5165\u540C\u7F16\u53F7\u5408\u540C\u5C06\u4F5C\u4E3A\u5168\u65B0\u8BB0\u5F55\u5165\u5E93\uFF0C\u4E0D\u8FC1\u79FB\u65E7\u8BA2\u5355\u4EBA\u5DE5\u91D1\u989D\u6570\u636E\u3002"}:{title:"\u6279\u91CF\u5220\u9664\u91C7\u8D2D\u5546\u54C1",message:"\u6240\u9009\u91C7\u8D2D\u5546\u54C1\u5C06\u88AB\u903B\u8F91\u5220\u9664\uFF0C\u4E0D\u5F71\u54CD\u5F53\u524D\u91C7\u8D2D\u8BA2\u5355\u4E2D\u7684\u5176\u4ED6\u5546\u54C1\u3002"};return(0,A.jsxs)("section",{className:"tcw-procurement-page tcw-procurement-prototype-surface","data-procurement-level":t.route.level,children:[t.importTask&&(t.importTask.status==="FAILED"||t.importTask.status==="TIMED_OUT")&&(0,A.jsxs)("div",{className:"tcw-procurement-import-failure",role:"alert",children:[t.importTask.errorMessage||"\u91C7\u8D2D\u5408\u540C\u89E3\u6790\u5931\u8D25",t.onRetryImport&&(0,A.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",disabled:le,onClick:()=>{le||Promise.resolve(t.onRetryImport?.(t.importTask.id)).catch(re=>t.onNotify?.({message:re instanceof Error?re.message:"\u91CD\u65B0\u89E3\u6790\u5931\u8D25",tone:"error"}))},children:[(0,A.jsx)("i",{className:"ri-restart-line","aria-hidden":"true"}),"\u91CD\u65B0\u89E3\u6790"]})]}),t.route.level==="suppliers"&&(0,A.jsx)(jI,{props:q,...ne,filters:n,definitions:V,onFilter:Y,onSubmit:()=>we.flush(n,K),onReset:Q,onPage:re=>we.page(re,n,K),onPageSize:re=>we.pageSize(re,n),onSupplierDialog:w,onDelete:re=>E({entityType:"supplier",item:re})}),t.route.level==="orders"&&(0,A.jsx)($I,{props:q,...ne,filters:n,definitions:V,reviewStatus:i,onReviewStatus:re=>{o(re),c(new Set),we.flush({...n,reviewStatus:re},K)},onFilter:Y,onSubmit:()=>we.flush(n,K),onReset:Q,onPage:re=>we.page(re,n,K),onPageSize:re=>we.pageSize(re,n),onOrderDialog:x,onDelete:re=>E({entityType:"purchaseOrder",item:re})}),t.route.level==="lines"&&(0,A.jsx)(VI,{props:q,...ne,filters:n,definitions:V,reviewStatus:a,onReviewStatus:re=>{s(re),c(new Set),we.flush({...n,reviewStatus:re},K)},onFilter:Y,onSubmit:()=>we.flush(n,K),onReset:Q,onPage:re=>we.page(re,n,K),onPageSize:re=>we.pageSize(re,n),onLineDialog:k,onDelete:re=>E({entityType:"purchaseLine",item:re})}),(0,A.jsx)(KI,{state:y,busy:le,onClose:()=>w(null),onSave:re=>F(()=>M.updateSupplier(re),"\u4F9B\u5E94\u5546\u4E3B\u6863\u5DF2\u4FDD\u5B58").then(me=>{me&&w(null)})}),(0,A.jsx)(QI,{state:b,lines:t.purchaseLines.items,busy:le,onClose:()=>x(null),onSave:re=>F(()=>M.updatePurchaseOrder(re),"\u91C7\u8D2D\u8BA2\u5355\u5DF2\u4FDD\u5B58").then(me=>{me&&x(null)})}),(0,A.jsx)(YI,{state:C,order:t.order??null,busy:le,onAction:t.onAction,onClose:()=>k(null),onSave:re=>F(()=>ee(re),"\u91C7\u8D2D\u5546\u54C1\u5DF2\u4FDD\u5B58").then(me=>{me&&k(null)})}),(0,A.jsx)(ZI,{open:U,task:t.importTask,draft:D,busy:le,onChange:O,onClose:H,onSave:re=>F(()=>M.savePurchaseReview(t.importTask.id,re),"\u91C7\u8D2D\u5408\u540C\u5BA1\u6838\u5DF2\u4FDD\u5B58").then(me=>{me&&H()})}),(0,A.jsx)(rN,{target:S,supplier:t.supplier??null,busy:le,onCancel:()=>E(null),onConfirm:()=>{le||!S?.item.id||F(()=>M.deleteEntity(S.entityType,S.item.id),"\u5DF2\u903B\u8F91\u5220\u9664").then(re=>{re&&E(null)})}}),(0,A.jsx)(En,{open:u,title:ae.title,count:l.size,message:ae.message,busy:le,failures:m,onCancel:()=>{p||d(!1)},onConfirm:()=>{if(le||l.size===0)return;let re=EI(_);_I({confirmGuard:v.current,generationGuard:g.current,operation:me=>MI({selectedIds:l,rows:J,entityType:re,labelFor:qe=>oN(re,qe),deleteEntity:M.deleteEntity,refresh:t.onQuery,collection:_,query:{page:G.page,pageSize:G.pageSize,filters:_==="purchaseOrders"?{...n,reviewStatus:i}:_==="purchaseLines"?{...n,reviewStatus:a}:n,parameters:t.route.level==="orders"?{supplierId:t.route.supplierId,reviewStatus:i}:t.route.level==="lines"?{supplierId:t.route.supplierId,purchaseOrderId:t.route.orderId,reviewStatus:a}:void 0},notify:t.onNotify,isCurrent:me}),onCurrentResult:me=>{c(me.selectedIds),f(me.failures),!me.refreshFailed&&me.failures.length===0&&d(!1)},onBusyChange:h})}})]})}function jI({props:t,filters:e,definitions:n,onFilter:r,onSubmit:i,onReset:o,onPage:a,onPageSize:s,onSupplierDialog:l,onDelete:c,selectedIds:u,onToggle:d,onTogglePage:p,onClear:h,onBulkDelete:m,disabled:f}){let v=y=>y.id&&t.onRouteChange({type:"procurement",level:"orders",supplierId:y.id});return(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(un,{definitions:n,values:e,onChange:r,onQuery:i,onReset:o}),(0,A.jsx)(Je,{children:"\u91C7\u8D2D\u5408\u540C\u4E0A\u4F20\u540E\u81EA\u52A8\u5F52\u5165\u4F9B\u5E94\u5546\uFF1B\u540C\u540D\u4F9B\u5E94\u5546\u5F52\u5E76\u5230\u540C\u4E00\u4E3B\u6863\u3002\u70B9\u51FB\u4F9B\u5E94\u5546\u4EE3\u7801\u3001\u4F9B\u5E94\u5546\u540D\u79F0\u6216\u8BA2\u5355\u8BE6\u60C5\u8FDB\u5165\u91C7\u8D2D\u8BA2\u5355\u5217\u8868\u3002"}),(0,A.jsx)(ot,{columns:[{type:"custom",key:"code",header:"\u4F9B\u5E94\u5546\u4EE3\u7801",width:130,title:(y,w)=>w.code||void 0,render:(y,w)=>(0,A.jsx)(dy,{icon:"ri-file-list-3-line",title:w.code||void 0,onClick:()=>v(w),children:w.code||"\u2014"})},{type:"custom",key:"name",header:"\u4F9B\u5E94\u5546\u540D\u79F0",width:240,maxWidth:240,title:(y,w)=>w.name||void 0,render:(y,w)=>(0,A.jsx)(dy,{icon:"ri-file-list-3-line",title:w.name||void 0,onClick:()=>v(w),children:w.name||"\u2014"})},{type:"text",key:"shortName",header:"\u7B80\u79F0",width:140},{type:"text",key:"contactName",header:"\u8054\u7CFB\u4EBA",width:130},{type:"text",key:"phone",header:"\u8054\u7CFB\u7535\u8BDD",width:160},{type:"text",key:"countryOrRegion",header:"\u56FD\u522B/\u5730\u533A",width:120,format:y=>String(y||"\u2014")},{type:"custom",key:"sanctionStatus",header:"\u5236\u88C1\u98CE\u9669",width:110,align:"center",truncate:!1,render:(y,w)=>(0,A.jsx)(Ol,{tone:w.sanctionStatus==="HIT"?"danger":w.sanctionStatus==="CLEAR"?"success":"muted",children:f1[w.sanctionStatus??"UNCHECKED"]})},{type:"text",key:"createdAt",header:"\u521B\u5EFA\u65F6\u95F4",width:170,truncate:!1,format:ut}],rows:t.suppliers.items,rowKey:"id",selection:{selectedKeys:u,onToggle:d,onTogglePage:()=>p(t.suppliers.items.map(y=>y.id)),onClear:h,onDelete:m,labelFor:y=>`\u9009\u62E9\u4F9B\u5E94\u5546\uFF1A${y.name||"\u672A\u547D\u540D\u8BB0\u5F55"}`,disabled:f},pagination:Ga(t.suppliers),onPageChange:a,onPageSizeChange:s,emptyText:"\u6682\u65E0\u4F9B\u5E94\u5546\u6570\u636E",actionWidth:190,actions:y=>(0,A.jsxs)(A.Fragment,{children:[(0,A.jsxs)("button",{type:"button",onClick:()=>v(y),children:[(0,A.jsx)("i",{className:"ri-file-list-3-line","aria-hidden":"true"}),"\u8BA2\u5355\u8BE6\u60C5"]}),(0,A.jsxs)("button",{type:"button",disabled:f,onClick:()=>l({mode:"review",item:y}),children:[(0,A.jsx)("i",{className:"ri-edit-line","aria-hidden":"true"}),"\u5BA1\u6838"]}),(0,A.jsxs)("button",{type:"button",className:"is-danger",disabled:f,onClick:()=>c(y),children:[(0,A.jsx)("i",{className:"ri-delete-bin-line","aria-hidden":"true"}),"\u5220\u9664"]})]})})]})}function $I({props:t,filters:e,definitions:n,reviewStatus:r,onReviewStatus:i,onFilter:o,onSubmit:a,onReset:s,onPage:l,onPageSize:c,onOrderDialog:u,onDelete:d,selectedIds:p,onToggle:h,onTogglePage:m,onClear:f,onBulkDelete:v,disabled:g}){let y=b=>b.id&&t.onRouteChange({type:"procurement",level:"lines",supplierId:t.route.level==="orders"?t.route.supplierId:b.supplierId,orderId:b.id}),w=[{type:"custom",key:"contractNo",header:"\u91C7\u8D2D\u8BA2\u5355\u7F16\u53F7",width:160,title:(b,x)=>x.contractNo,render:(b,x)=>(0,A.jsx)(dy,{icon:"ri-file-list-2-line",title:x.contractNo,onClick:()=>y(x),children:x.contractNo})},{type:"text",key:"customerContractNo",header:"\u5BA2\u6237\u5408\u540C\u7F16\u53F7",width:160,format:b=>String(b||"\u672A\u5173\u8054")},{type:"text",key:"supplierName",header:"\u4F9B\u5E94\u5546",width:250,accessor:()=>t.supplier?.name??"\u2014"},{type:"text",key:"orderDate",header:"\u4E0B\u5355\u65E5\u671F",width:120,truncate:!1,format:ti},{type:"text",key:"contractAmountCny",header:"\u91C7\u8D2D\u91D1\u989D\uFF08\u4EBA\u6C11\u5E01\uFF09",width:160,align:"right",truncate:!1,format:Ua},{type:"text",key:"paidAmountCny",header:"\u5DF2\u4ED8\u6B3E",width:130,align:"right",truncate:!1,format:Ua},{type:"text",key:"refundedAmountCny",header:"\u5DF2\u9000\u7A0E",width:130,align:"right",truncate:!1,format:Ua},{type:"custom",key:"reviewStatus",header:"\u5BA1\u6838\u72B6\u6001",width:100,align:"center",truncate:!1,render:(b,x)=>(0,A.jsx)(Ol,{tone:x.reviewStatus==="REVIEWED"?"success":"warning",children:za[x.reviewStatus==="REVIEWED"?"REVIEWED":"PENDING"]})}];return(0,A.jsxs)(A.Fragment,{children:[t.supplier&&(0,A.jsx)(w1,{level:"supplier",supplier:t.supplier,onRouteChange:t.onRouteChange}),t.metrics&&(0,A.jsx)(WI,{metrics:t.metrics}),(0,A.jsx)(un,{definitions:n,values:e,onChange:o,onQuery:a,onReset:s}),(0,A.jsx)("div",{className:"tcw-procurement-review-tabs",role:"tablist","aria-label":"\u5BA1\u6838\u72B6\u6001",children:Object.keys(za).map(b=>(0,A.jsxs)("button",{type:"button",role:"tab","aria-selected":r===b,className:`tcw-procurement-review-tab${r===b?" is-active":""}`,onClick:()=>i(b),children:[(0,A.jsx)("i",{className:b==="PENDING"?"ri-time-line":"ri-checkbox-circle-line","aria-hidden":"true"}),za[b]]},b))}),(0,A.jsx)(ot,{columns:w,rows:t.purchaseOrders.items,rowKey:"id",selection:{selectedKeys:p,onToggle:h,onTogglePage:()=>m(t.purchaseOrders.items.map(b=>b.id)),onClear:f,onDelete:v,labelFor:b=>`\u9009\u62E9\u91C7\u8D2D\u8BA2\u5355\uFF1A${b.contractNo||"\u672A\u7F16\u53F7\u8BB0\u5F55"}`,disabled:g},pagination:Ga(t.purchaseOrders),onPageChange:l,onPageSizeChange:c,emptyText:"\u6682\u65E0\u91C7\u8D2D\u8BA2\u5355\u6570\u636E",actionWidth:190,actions:b=>(0,A.jsxs)(A.Fragment,{children:[(0,A.jsxs)("button",{type:"button",onClick:()=>y(b),children:[(0,A.jsx)("i",{className:"ri-file-list-2-line","aria-hidden":"true"}),"\u5546\u54C1\u8BE6\u60C5"]}),(0,A.jsxs)("button",{type:"button",disabled:g,onClick:()=>u({mode:"review",item:b}),children:[(0,A.jsx)("i",{className:"ri-edit-line","aria-hidden":"true"}),"\u5BA1\u6838"]}),(0,A.jsxs)("button",{type:"button",className:"is-danger",disabled:g,onClick:()=>d(b),children:[(0,A.jsx)("i",{className:"ri-delete-bin-line","aria-hidden":"true"}),"\u5220\u9664"]})]})})]})}function VI({props:t,filters:e,definitions:n,reviewStatus:r,onReviewStatus:i,onFilter:o,onSubmit:a,onReset:s,onPage:l,onPageSize:c,onLineDialog:u,onDelete:d,selectedIds:p,onToggle:h,onTogglePage:m,onClear:f,onBulkDelete:v,disabled:g}){let y=[{type:"ellipsis",key:"productName",header:"\u5546\u54C1\u540D\u79F0",width:170,maxWidth:170},{type:"ellipsis",key:"productDescription",header:"\u5546\u54C1\u63CF\u8FF0",width:190,maxWidth:190},{type:"text",key:"modelSpecification",header:"\u89C4\u683C\u578B\u53F7",width:150},{type:"text",key:"complianceCategories",header:"\u547D\u4E2D\u5408\u89C4\u5206\u7C7B",width:150,format:b=>Array.isArray(b)&&b.length?b.map(x=>m1[x]).join("\u3001"):"\u65E0\u547D\u4E2D"},{type:"text",key:"unit",header:"\u5355\u4F4D",width:80,truncate:!1},{type:"text",key:"quantity",header:"\u6570\u91CF",width:110,align:"right",truncate:!1,format:hy},{type:"text",key:"unitPriceTaxIncluded",header:"\u542B\u7A0E\u5355\u4EF7",width:120,align:"right",truncate:!1,format:Ua},{type:"text",key:"lineAmountTaxIncluded",header:"\u542B\u7A0E\u91D1\u989D",width:130,align:"right",truncate:!1,format:Ua},{type:"text",key:"vatRate",header:"\u589E\u503C\u7A0E\u7387",width:100,align:"right",truncate:!1,format:p1},{type:"text",key:"hsCode",header:"\u6D77\u5173\u7F16\u7801",width:130},{type:"text",key:"refundRate",header:"\u9000\u7A0E\u7387",width:90,align:"right",truncate:!1,format:p1},{type:"custom",key:"reviewStatus",header:"\u5BA1\u6838\u72B6\u6001",width:100,align:"center",truncate:!1,render:(b,x)=>(0,A.jsx)(Ol,{tone:x.reviewStatus==="REVIEWED"?"success":"warning",children:za[x.reviewStatus==="REVIEWED"?"REVIEWED":"PENDING"]})},{type:"text",key:"sourceType",header:"\u6765\u6E90\u7C7B\u578B",width:110,truncate:!1,format:b=>fy[b]??"\u2014"}],w={purchaseOrderId:t.order?.id??"",sourceType:"MANUAL_ENTRY",productName:"",quantity:"",unitPriceTaxIncluded:"",lineAmountTaxIncluded:""};return(0,A.jsxs)(A.Fragment,{children:[t.supplier&&t.order&&(0,A.jsx)(w1,{level:"order",supplier:t.supplier,order:t.order,onRouteChange:t.onRouteChange}),(0,A.jsx)("div",{className:"tcw-procurement-toolbar",children:(0,A.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:g||!t.order?.id,onClick:()=>{g||u({mode:"create",item:w})},children:[(0,A.jsx)("i",{className:"ri-add-line","aria-hidden":"true"}),"\u65B0\u589E\u5546\u54C1"]})}),(0,A.jsx)(un,{definitions:n,values:e,onChange:o,onQuery:a,onReset:s}),(0,A.jsx)("div",{className:"tcw-procurement-review-tabs",role:"tablist","aria-label":"\u5BA1\u6838\u72B6\u6001",children:Object.keys(za).map(b=>(0,A.jsxs)("button",{type:"button",role:"tab","aria-selected":r===b,className:`tcw-procurement-review-tab${r===b?" is-active":""}`,onClick:()=>i(b),children:[(0,A.jsx)("i",{className:b==="PENDING"?"ri-time-line":"ri-checkbox-circle-line","aria-hidden":"true"}),za[b]]},b))}),(0,A.jsx)(Je,{children:"\u53EF\u901A\u8FC7\u5BA1\u6838\u5B8C\u5584\u82F1\u6587\u540D\u79F0\u3001\u6D77\u5173\u7F16\u7801\u3001\u9000\u7A0E\u7387\u548C\u98CE\u9669\u5339\u914D\u4FE1\u606F\u3002"}),(0,A.jsx)(ot,{columns:y,rows:t.purchaseLines.items,rowKey:"id",selection:{selectedKeys:p,onToggle:h,onTogglePage:()=>m(t.purchaseLines.items.map(b=>b.id)),onClear:f,onDelete:v,labelFor:b=>`\u9009\u62E9\u91C7\u8D2D\u5546\u54C1\uFF1A${b.productName||"\u672A\u547D\u540D\u8BB0\u5F55"}`,disabled:g},pagination:Ga(t.purchaseLines),onPageChange:l,onPageSizeChange:c,emptyText:"\u6682\u65E0\u91C7\u8D2D\u5546\u54C1\u6570\u636E",actionWidth:120,actions:b=>(0,A.jsxs)(A.Fragment,{children:[(0,A.jsxs)("button",{type:"button",disabled:g,onClick:()=>u({mode:"review",item:b}),children:[(0,A.jsx)("i",{className:"ri-edit-line","aria-hidden":"true"}),"\u5BA1\u6838"]}),(0,A.jsxs)("button",{type:"button",className:"is-danger",disabled:g,onClick:()=>d(b),children:[(0,A.jsx)("i",{className:"ri-delete-bin-line","aria-hidden":"true"}),"\u5220\u9664"]})]})})]})}function w1(t){return(0,A.jsx)("section",{className:`tcw-procurement-context tcw-procurement-context--${t.level}`,"aria-label":t.level==="supplier"?"\u4F9B\u5E94\u5546\u4E0A\u4E0B\u6587":"\u91C7\u8D2D\u8BA2\u5355\u4E0A\u4E0B\u6587",children:t.level==="supplier"?(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(Qi,{label:"\u4F9B\u5E94\u5546\u4EE3\u7801",value:t.supplier.code}),(0,A.jsx)(Qi,{label:"\u4F9B\u5E94\u5546\u540D\u79F0",value:t.supplier.name}),(0,A.jsx)(Qi,{label:"\u8054\u7CFB\u4EBA",value:t.supplier.contactName}),(0,A.jsx)(Qi,{label:"\u8054\u7CFB\u7535\u8BDD",value:t.supplier.phone})]}):(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(Qi,{label:"\u4F9B\u5E94\u5546",value:t.supplier.name}),(0,A.jsx)(Qi,{label:"\u91C7\u8D2D\u5408\u540C\u7F16\u53F7",value:t.order.contractNo}),(0,A.jsx)(Qi,{label:"\u4E0B\u5355\u65E5\u671F",value:ti(t.order.orderDate)}),(0,A.jsx)(Qi,{label:"\u91C7\u8D2D\u91D1\u989D",value:Ua(t.order.contractAmountCny)})]})})}function WI({metrics:t}){let e=[["\u8BA2\u5355\u603B\u6570",hy(t.totalOrderCount),"ri-clipboard-line","blue"],["\u91C7\u8D2D\u603B\u91D1\u989D",ci(t.totalPurchaseAmountCny),"ri-wallet-3-line","green"],["\u672C\u5E74\u8BA2\u5355\u6570",hy(t.currentYearOrderCount),"ri-calendar-check-line","orange"],["\u672C\u5E74\u91C7\u8D2D\u91D1\u989D",ci(t.currentYearPurchaseAmountCny),"ri-bar-chart-grouped-line","violet"]];return(0,A.jsxs)("section",{className:"tcw-procurement-metrics","aria-label":"\u91C7\u8D2D\u7EDF\u8BA1",children:[e.map(([n,r,i,o])=>(0,A.jsxs)("div",{className:`tcw-procurement-metric tcw-procurement-metric--${o}`,children:[(0,A.jsx)("i",{className:`${i} tcw-procurement-metric-icon`,"aria-hidden":"true"}),(0,A.jsxs)("div",{className:"tcw-procurement-metric-copy",children:[(0,A.jsx)("span",{children:n}),(0,A.jsx)("strong",{children:r})]})]},n)),(0,A.jsxs)("div",{className:"tcw-procurement-top",children:[(0,A.jsx)("span",{children:"\u91C7\u8D2D\u5546\u54C1TOP5"}),t.topProducts.length?(0,A.jsx)("ol",{children:t.topProducts.map(n=>(0,A.jsxs)("li",{children:[(0,A.jsx)("span",{children:n.productName}),(0,A.jsx)("strong",{children:ci(n.amountCny)})]},n.productName))}):(0,A.jsx)("small",{children:"\u6682\u65E0\u5546\u54C1\u6570\u636E"})]})]})}function KI({state:t,busy:e,onClose:n,onSave:r}){let[i,o]=De.default.useState(t?.item??null);if(De.default.useEffect(()=>o(t?.item??null),[t]),!t||!i)return null;let a=t.mode==="detail",s=[["code","\u4F9B\u5E94\u5546\u4EE3\u7801"],["name","\u4F9B\u5E94\u5546\u540D\u79F0",!0],["shortName","\u7B80\u79F0"],["countryOrRegion","\u56FD\u522B/\u5730\u533A"],["contactName","\u8054\u7CFB\u4EBA"],["phone","\u8054\u7CFB\u7535\u8BDD"],["wechat","\u5FAE\u4FE1"],["email","\u90AE\u7BB1"],["address","\u5730\u5740"],["taxNumber","\u7A0E\u53F7"],["paymentAccount","\u6536\u6B3E\u8D26\u53F7"],["bankName","\u5F00\u6237\u884C"],["taxpayerRating","\u7EB3\u7A0E\u7B49\u7EA7"],["website","\u516C\u53F8\u7F51\u7AD9"],["businessProducts","\u7ECF\u8425\u4EA7\u54C1"]];return(0,A.jsxs)(_e,{open:!0,title:t.mode==="detail"?"\u4F9B\u5E94\u5546\u8BE6\u60C5":"\u4F9B\u5E94\u5546\u8BE6\u60C5\u5BA1\u6838",size:"wide",onClose:n,footer:a?(0,A.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:n,children:[(0,A.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u5173\u95ED"]}):(0,A.jsxs)(A.Fragment,{children:[(0,A.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:n,children:[(0,A.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u53D6\u6D88"]}),(0,A.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:e||!i.name.trim(),onClick:()=>{r(i)},children:[(0,A.jsx)("i",{className:"ri-save-line","aria-hidden":"true"}),"\u4FDD\u5B58"]})]}),children:[(0,A.jsxs)("p",{className:"tcw-procurement-dialog-kicker",children:["\u6765\u6E90\uFF1A\u91C7\u8D2D\u5408\u540C\u5F52\u5E76 ",(0,A.jsxs)("span",{children:["\u6700\u8FD1\u5236\u88C1\u68C0\u67E5\uFF1A",i.complianceCheckedAt?ut(i.complianceCheckedAt):"\u5C1A\u672A\u68C0\u67E5"]})]}),(0,A.jsxs)("div",{className:"tcw-procurement-supplier-review",children:[(0,A.jsx)(Rt,{columns:1,children:s.map(([l,c,u])=>(0,A.jsx)(se,{label:c,required:u,children:(0,A.jsx)("input",{disabled:a,value:String(i[l]??""),onChange:d=>o({...i,[l]:d.target.value})})},l))}),(0,A.jsxs)("aside",{children:[(0,A.jsx)(se,{label:"\u5907\u6CE8",children:(0,A.jsx)("textarea",{rows:6,disabled:a,value:i.remarks??"",onChange:l=>o({...i,remarks:l.target.value})})}),(0,A.jsxs)("dl",{children:[(0,A.jsxs)("div",{children:[(0,A.jsx)("dt",{children:"\u5236\u88C1\u98CE\u9669"}),(0,A.jsx)("dd",{children:(0,A.jsx)(Ol,{tone:i.sanctionStatus==="HIT"?"danger":"success",children:f1[i.sanctionStatus??"UNCHECKED"]})})]}),(0,A.jsxs)("div",{children:[(0,A.jsx)("dt",{children:"\u521B\u5EFA\u4EBA"}),(0,A.jsx)("dd",{children:i.createdByName||"\u2014"})]}),(0,A.jsxs)("div",{children:[(0,A.jsx)("dt",{children:"\u521B\u5EFA\u65F6\u95F4"}),(0,A.jsx)("dd",{children:ut(i.createdAt)})]}),(0,A.jsxs)("div",{children:[(0,A.jsx)("dt",{children:"\u6700\u540E\u7F16\u8F91\u4EBA"}),(0,A.jsx)("dd",{children:i.updatedByName||"\u2014"})]}),(0,A.jsxs)("div",{children:[(0,A.jsx)("dt",{children:"\u6700\u540E\u7F16\u8F91\u65F6\u95F4"}),(0,A.jsx)("dd",{children:ut(i.updatedAt)})]})]}),(0,A.jsx)(Je,{children:"\u5236\u88C1\u98CE\u9669\u4E3A\u7CFB\u7EDF\u6700\u8FD1\u4E00\u6B21\u68C0\u67E5\u7ED3\u679C\uFF0C\u4FDD\u5B58\u540E\u5C06\u89E6\u53D1\u65B0\u7684\u5236\u88C1\u68C0\u67E5\u3002"})]})]})]})}function QI({state:t,lines:e,busy:n,onClose:r,onSave:i}){let[o,a]=De.default.useState(t?.item??null);if(De.default.useEffect(()=>a(t?.item??null),[t]),!t||!o)return null;let s=t.mode==="detail",l=o.estimatedRefundAmountCny??e.filter(u=>u.purchaseOrderId===o.id).reduce((u,d)=>u+b1(d),0).toFixed(2),c=zt(o.paidAmountCny)>zt(o.contractAmountCny)?"\u5DF2\u4ED8\u6B3E\u4E0D\u80FD\u8D85\u8FC7\u91C7\u8D2D\u8BA2\u5355\u603B\u989D":zt(o.refundedAmountCny)>zt(l)?"\u5DF2\u9000\u7A0E\u4E0D\u80FD\u8D85\u8FC7\u9884\u8BA1\u9000\u7A0E\u603B\u989D":"";return(0,A.jsxs)(_e,{open:!0,title:s?"\u91C7\u8D2D\u8BA2\u5355\u8BE6\u60C5":"\u91C7\u8D2D\u8BA2\u5355\u5BA1\u6838",size:"wide",onClose:r,footer:s?(0,A.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:r,children:[(0,A.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u5173\u95ED"]}):(0,A.jsxs)(A.Fragment,{children:[(0,A.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:r,children:[(0,A.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u53D6\u6D88"]}),(0,A.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:n||!!c||!o.orderDate,onClick:()=>{i(o)},children:[(0,A.jsx)("i",{className:"ri-save-line","aria-hidden":"true"}),"\u4FDD\u5B58"]})]}),children:[c&&(0,A.jsx)(ct,{children:c}),(0,A.jsxs)(Rt,{columns:2,children:[(0,A.jsx)(se,{label:"\u91C7\u8D2D\u5408\u540C\u7F16\u53F7",required:!0,children:(0,A.jsx)("input",{disabled:!0,value:o.contractNo})}),(0,A.jsx)(se,{label:"\u4E0B\u5355\u65E5\u671F",required:!0,children:(0,A.jsx)("input",{type:"date",disabled:s,value:o.orderDate,onChange:u=>a({...o,orderDate:u.target.value})})}),(0,A.jsx)(Ba,{label:"\u91C7\u8D2D\u8BA2\u5355\u603B\u989D",disabled:s,value:o.contractAmountCny,onChange:u=>a({...o,contractAmountCny:u})}),(0,A.jsx)(Ba,{label:"\u5DF2\u4ED8\u6B3E",disabled:s,value:o.paidAmountCny,onChange:u=>a({...o,paidAmountCny:u})}),(0,A.jsx)(Ba,{label:"\u672A\u4ED8\u6B3E",disabled:!0,value:String(Math.max(zt(o.contractAmountCny)-zt(o.paidAmountCny),0))}),(0,A.jsx)(Ba,{label:"\u5DF2\u9000\u7A0E",disabled:s,value:o.refundedAmountCny,onChange:u=>a({...o,refundedAmountCny:u})}),(0,A.jsx)(Ba,{label:"\u9884\u8BA1\u9000\u7A0E\u603B\u989D",disabled:!0,value:l}),(0,A.jsx)(Ba,{label:"\u672A\u9000\u7A0E",disabled:!0,value:String(Math.max(zt(l)-zt(o.refundedAmountCny),0))}),(0,A.jsx)(se,{label:"\u5339\u914D\u5BA2\u6237\u5408\u540C",children:(0,A.jsx)("input",{disabled:!0,value:o.customerContractNo||"\u672A\u5173\u8054"})}),(0,A.jsx)(se,{label:"\u6765\u6E90\u6587\u4EF6",children:(0,A.jsx)("input",{disabled:!0,value:o.sourceFileName||"\u2014"})})]})]})}function YI({state:t,order:e,busy:n,onAction:r,onClose:i,onSave:o}){let[a,s]=De.default.useState(t?.item??null),[l,c]=De.default.useState(!1);if(De.default.useEffect(()=>s(t?.item??null),[t]),!t||!a)return null;let u=zt(a.quantity)*zt(a.unitPriceTaxIncluded),d=g1({supplier:{name:"line-review"},order:e??{supplierId:"",contractNo:"line-review",orderDate:"",contractAmountCny:a.lineAmountTaxIncluded},lines:[a]}).filter(m=>m.startsWith("\u7B2C1\u6761\u5546\u54C1")||m.includes("\u4E0B\u5355\u65E5\u671F")),p=(m,f)=>m!=="search_hs_code"&&m!=="get_hs_code_detail"&&m!=="translate_purchase_product_name"?Promise.resolve({success:!1,message:"\u91C7\u8D2D\u5546\u54C1\u4EC5\u652F\u6301\u6D77\u5173\u7F16\u7801\u67E5\u8BE2"}):r(m,f),h=async m=>{let f=Dl(m.englishName)?null:await XI(p,a.productName),v=II(a,m,f);if(!v){c(!1);return}s(v),c(!1)};return(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(_e,{open:!0,title:t.mode==="create"?"\u65B0\u589E\u5546\u54C1":"\u91C7\u8D2D\u5546\u54C1\u5BA1\u6838",size:"wide",onClose:i,footer:(0,A.jsxs)(A.Fragment,{children:[(0,A.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:i,children:[(0,A.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u53D6\u6D88"]}),(0,A.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:n||d.length>0,onClick:()=>{o(a)},children:[(0,A.jsx)("i",{className:"ri-save-line","aria-hidden":"true"}),"\u4FDD\u5B58"]})]}),children:(0,A.jsxs)("div",{className:"tcw-procurement-line-form",children:[(0,A.jsxs)("div",{className:"tcw-procurement-source-label",children:["\u6765\u6E90\u7C7B\u578B\uFF1A",fy[a.sourceType]]}),t.mode==="review"&&d.length>0&&(0,A.jsx)(ct,{children:d.join("\uFF1B")}),(0,A.jsxs)(Rt,{columns:2,children:[(0,A.jsx)(Ze,{label:"\u5546\u54C1\u540D\u79F0",required:!0,value:a.productName,onChange:m=>s({...a,productName:m})}),(0,A.jsx)(Ze,{label:"\u5546\u54C1\u63CF\u8FF0",value:a.productDescription,onChange:m=>s({...a,productDescription:m})}),(0,A.jsx)(Ze,{label:"\u89C4\u683C\u578B\u53F7",value:a.modelSpecification,onChange:m=>s({...a,modelSpecification:m})}),(0,A.jsx)(Ze,{label:"\u5355\u4F4D",required:!0,value:a.unit,onChange:m=>s({...a,unit:m})}),(0,A.jsx)(Ze,{label:"\u6570\u91CF",required:!0,type:"number",value:a.quantity,onChange:m=>s({...a,quantity:m,lineAmountTaxIncluded:String(zt(m)*zt(a.unitPriceTaxIncluded))})}),(0,A.jsx)(Ze,{label:"\u542B\u7A0E\u5355\u4EF7\uFF08\u4EBA\u6C11\u5E01\uFF09",required:!0,type:"number",value:a.unitPriceTaxIncluded,onChange:m=>s({...a,unitPriceTaxIncluded:m,lineAmountTaxIncluded:String(zt(a.quantity)*zt(m))})}),(0,A.jsx)(Ze,{label:"\u542B\u7A0E\u91D1\u989D\uFF08\u4EBA\u6C11\u5E01\uFF09",required:!0,type:"number",value:a.lineAmountTaxIncluded||String(u),onChange:m=>s({...a,lineAmountTaxIncluded:m})}),(0,A.jsx)(Ze,{label:"\u589E\u503C\u7A0E\u7387",type:"number",value:a.vatRate,onChange:m=>s({...a,vatRate:m})}),(0,A.jsx)(se,{label:"\u6D77\u5173\u7F16\u7801",children:(0,A.jsxs)("div",{className:"tcw-procurement-inline-field",children:[(0,A.jsx)("input",{value:a.hsCode??"",onChange:m=>s(v1(a,m.target.value))}),(0,A.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:()=>c(!0),children:[(0,A.jsx)("i",{className:"ri-search-line","aria-hidden":"true"}),"HS\u7F16\u7801\u67E5\u8BE2"]})]})}),(0,A.jsx)(Ze,{label:"\u9000\u7A0E\u7387",required:!0,type:"number",value:a.refundRate,onChange:m=>s({...a,refundRate:m})}),(0,A.jsx)(Ze,{label:"\u82F1\u6587\u540D\u79F0",value:a.englishName,onChange:m=>s({...a,englishName:m})})]})]})}),(0,A.jsx)(ol,{open:l,initialQuery:a.hsCode||a.englishName||a.productName,onAction:p,onClose:()=>c(!1),onBind:h})]})}function v1(t,e){let n=tp(e);return{...t,hsCode:e,hsCodeSource:n?"MANUAL":null}}async function XI(t,e){try{let n=await t("translate_purchase_product_name",{productName:e});return n.success===!1?null:Dl(n.data?.englishName)}catch{return null}}function ZI({open:t,task:e,draft:n,busy:r,onChange:i,onClose:o,onSave:a}){let[s,l]=De.default.useState(!1),[c,u]=De.default.useState(()=>d1(e?.duplicateContractError));De.default.useEffect(()=>{l(!1),u(d1(e?.duplicateContractError))},[t,e?.id,e?.duplicateContractError]);let d=(m,f)=>{f&&u(v=>zI(v,f)),i(m)},p=()=>{if(!n)return;let m=BI(n,c.contractNo===e?.duplicateContractError?e?.duplicateContractError:null);l(!0),u(m),!UI(m)&&a(n)},h=s||c.contractNo?c:np();return(0,A.jsx)(_e,{open:t,title:"\u91C7\u8D2D\u5408\u540C\u5BA1\u6838",size:"wide",onClose:o,footer:(0,A.jsxs)(A.Fragment,{children:[(0,A.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:o,children:[(0,A.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u53D6\u6D88"]}),(0,A.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:r||!n,onClick:p,children:[(0,A.jsx)("i",{className:"ri-check-double-line","aria-hidden":"true"}),"\u5BA1\u6838\u5E76\u5165\u5E93"]})]}),children:n?(0,A.jsxs)("div",{className:"tcw-procurement-review-compact",children:[(0,A.jsxs)("section",{className:"tcw-procurement-review-editor-pane",children:[(0,A.jsx)("h3",{children:"\u8BC6\u522B\u5185\u5BB9"}),(0,A.jsxs)("div",{className:"tcw-procurement-review-editor",children:[(0,A.jsx)(cy,{title:"\u4F9B\u5E94\u5546\u4FE1\u606F",children:(0,A.jsx)(JI,{supplier:n.supplier,errors:h,onChange:(m,f)=>d({...n,supplier:m},f)})}),(0,A.jsx)(cy,{title:"\u8BA2\u5355\u4FE1\u606F",children:(0,A.jsxs)(Rt,{columns:3,children:[(0,A.jsx)(Ze,{label:"\u91C7\u8D2D\u5408\u540C\u7F16\u53F7",required:!0,value:n.order.contractNo,error:h.contractNo,onChange:m=>d({...n,order:{...n.order,contractNo:m}},{kind:"root",field:"contractNo"})}),(0,A.jsx)(Ze,{label:"\u4E0B\u5355\u65E5\u671F",type:"date",value:n.order.orderDate,onChange:m=>d({...n,order:{...n.order,orderDate:m}})}),(0,A.jsx)(Ze,{label:"\u91C7\u8D2D\u603B\u989D\uFF08\u4EBA\u6C11\u5E01\uFF09",type:"number",value:n.order.contractAmountCny,error:h.contractAmountCny,onChange:m=>d({...n,order:{...n.order,contractAmountCny:m}},{kind:"root",field:"contractAmountCny"})}),(0,A.jsx)(Ze,{label:"\u5DF2\u4ED8\u6B3E",type:"number",value:n.order.paidAmountCny,error:h.paidAmountCny,onChange:m=>d({...n,order:{...n.order,paidAmountCny:m}},{kind:"root",field:"paidAmountCny"})}),(0,A.jsx)(Ze,{label:"\u5DF2\u9000\u7A0E",type:"number",value:n.order.refundedAmountCny,error:h.refundedAmountCny,onChange:m=>d({...n,order:{...n.order,refundedAmountCny:m}},{kind:"root",field:"refundedAmountCny"})})]})}),(0,A.jsx)(cy,{title:`\u5168\u90E8\u5546\u54C1\uFF08${n.lines.length}\uFF09`,children:(0,A.jsx)("div",{className:"tcw-procurement-review-lines",children:n.lines.map((m,f)=>(0,A.jsx)(qI,{index:f,line:m,errors:h.lines[f]??{},onChange:(v,g)=>d({...n,lines:n.lines.map((y,w)=>w===f?v:y)},g)},m.id??f))})})]})]}),(0,A.jsxs)("section",{className:"tcw-procurement-review-source-pane",children:[(0,A.jsx)("h3",{children:"\u6E90\u6587\u4EF6\u5185\u5BB9"}),(0,A.jsx)(eN,{draft:n,task:e})]})]}):(0,A.jsx)(ct,{children:e?.errorMessage||"\u91C7\u8D2D\u5408\u540C\u89E3\u6790\u7ED3\u679C\u4E0D\u53EF\u7528"})})}function qI({line:t,index:e,errors:n,onChange:r}){let i=o=>({kind:"line",index:e,field:o});return(0,A.jsxs)("section",{className:"tcw-procurement-review-line",children:[(0,A.jsxs)("h4",{children:["\u5546\u54C1 ",e+1," ",(0,A.jsx)(Ol,{tone:"muted",children:fy[t.sourceType]})]}),(0,A.jsxs)(Rt,{columns:3,children:[(0,A.jsx)(Ze,{label:"\u5546\u54C1\u540D\u79F0",required:!0,value:t.productName,error:n.productName,onChange:o=>r({...t,productName:o},i("productName"))}),(0,A.jsx)(Ze,{label:"\u5546\u54C1\u63CF\u8FF0",value:t.productDescription,onChange:o=>r({...t,productDescription:o})}),(0,A.jsx)(Ze,{label:"\u89C4\u683C\u578B\u53F7",value:t.modelSpecification,onChange:o=>r({...t,modelSpecification:o})}),(0,A.jsx)(Ze,{label:"\u5355\u4F4D",value:t.unit,onChange:o=>r({...t,unit:o})}),(0,A.jsx)(Ze,{label:"\u6570\u91CF",type:"number",value:t.quantity,error:n.quantity,onChange:o=>r({...t,quantity:o},i("quantity"))}),(0,A.jsx)(Ze,{label:"\u542B\u7A0E\u91D1\u989D",type:"number",value:t.lineAmountTaxIncluded,error:n.lineAmountTaxIncluded,onChange:o=>r({...t,lineAmountTaxIncluded:o},i("lineAmountTaxIncluded"))}),(0,A.jsx)(Ze,{label:"\u6D77\u5173\u7F16\u7801",value:t.hsCode,onChange:o=>r(v1(t,o))}),t.amountMismatch&&(0,A.jsx)(se,{label:"\u91D1\u989D\u5DEE\u5F02\u786E\u8BA4",required:!0,children:(0,A.jsxs)("label",{className:"tcw-procurement-checkbox",children:[(0,A.jsx)("input",{type:"checkbox",checked:!!t.amountMismatchConfirmed,onChange:o=>r({...t,amountMismatchConfirmed:o.target.checked},i("lineAmountTaxIncluded"))}),"\u786E\u8BA4\u4FDD\u7559\u5408\u540C\u539F\u59CB\u91D1\u989D"]})})]}),(0,A.jsxs)("details",{className:"tcw-procurement-review-more",children:[(0,A.jsx)("summary",{children:"\u66F4\u591A\u5546\u54C1\u4FE1\u606F"}),(0,A.jsxs)(Rt,{columns:3,children:[(0,A.jsx)(Ze,{label:"\u82F1\u6587\u540D\u79F0",value:t.englishName,onChange:o=>r({...t,englishName:o})}),(0,A.jsx)(Ze,{label:"\u542B\u7A0E\u5355\u4EF7",type:"number",value:t.unitPriceTaxIncluded,error:n.unitPriceTaxIncluded,onChange:o=>r({...t,unitPriceTaxIncluded:o},i("unitPriceTaxIncluded"))}),(0,A.jsx)(Ze,{label:"\u589E\u503C\u7A0E\u7387",type:"number",value:t.vatRate,error:n.vatRate,onChange:o=>r({...t,vatRate:o},i("vatRate"))}),(0,A.jsx)(Ze,{label:"\u9000\u7A0E\u7387",type:"number",value:t.refundRate,error:n.refundRate,onChange:o=>r({...t,refundRate:o},i("refundRate"))})]})]})]})}function JI({supplier:t,errors:e,onChange:n}){let r=[["name","\u4F9B\u5E94\u5546\u540D\u79F0",!0],["code","\u4F9B\u5E94\u5546\u4EE3\u7801"],["shortName","\u7B80\u79F0"]],i=[["countryOrRegion","\u56FD\u522B/\u5730\u533A"],["address","\u5730\u5740"],["contactName","\u8054\u7CFB\u4EBA"],["phone","\u8054\u7CFB\u7535\u8BDD"],["wechat","\u5FAE\u4FE1"],["email","\u90AE\u7BB1"],["taxNumber","\u7A0E\u53F7"],["paymentAccount","\u6536\u6B3E\u8D26\u53F7"],["bankName","\u5F00\u6237\u884C"],["taxpayerRating","\u7EB3\u7A0E\u7B49\u7EA7"],["website","\u516C\u53F8\u7F51\u7AD9"],["businessProducts","\u7ECF\u8425\u4EA7\u54C1"]];return(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(Rt,{columns:3,children:r.map(([o,a,s])=>(0,A.jsx)(Ze,{label:a,required:s,value:t[o],error:o==="name"?e.supplierName:void 0,onChange:l=>n({...t,[o]:l},o==="name"?{kind:"root",field:"supplierName"}:void 0)},o))}),(0,A.jsxs)("details",{className:"tcw-procurement-review-more",children:[(0,A.jsx)("summary",{children:"\u66F4\u591A\u4F9B\u5E94\u5546\u4FE1\u606F"}),(0,A.jsx)(Rt,{columns:3,children:i.map(([o,a])=>(0,A.jsx)(Ze,{label:a,value:t[o],onChange:s=>n({...t,[o]:s})},o))})]})]})}function eN({draft:t,task:e}){let n=t.lines.find(i=>i.sourceContent)?.sourceContent??t.sourceText,r=t.lines.find(i=>i.sourceContent)?.sourceLocation;return(0,A.jsxs)("div",{className:"tcw-procurement-source",children:[(0,A.jsx)("strong",{children:t.sourceFileName||e?.sourceFileName||"\u91C7\u8D2D\u5408\u540C\u6E90\u6587\u4EF6"}),t.sourceFileUrl?(0,A.jsx)(tN,{url:t.sourceFileUrl,fileName:t.sourceFileName||e?.sourceFileName||"\u91C7\u8D2D\u5408\u540C\u6E90\u6587\u4EF6",fallback:n?(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)("small",{children:r||"\u6765\u6E90\u4F4D\u7F6E\u672A\u6807\u6CE8"}),(0,A.jsx)("pre",{children:n})]}):(0,A.jsx)("pre",{children:"\u6E90\u6587\u4EF6\u6682\u65E0\u6CD5\u5728\u7EBF\u9884\u89C8"})}):n?(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)("small",{children:r||"\u6765\u6E90\u4F4D\u7F6E\u672A\u6807\u6CE8"}),(0,A.jsx)("pre",{children:n})]}):(0,A.jsx)("pre",{children:"\u6E90\u6587\u4EF6\u6682\u65E0\u6CD5\u5728\u7EBF\u9884\u89C8"})]})}function tN({url:t,fileName:e,fallback:n}){let r=De.default.useRef(null),[i,o]=De.default.useState("loading"),[a,s]=De.default.useState(null);return De.default.useEffect(()=>{let l=!1,c=new AbortController;async function u(){try{o("loading"),s(null);let{GlobalWorkerOptions:d,getDocument:p}=await Promise.resolve().then(()=>(c1(),s1));d.workerSrc=new URL("pdfjs-dist/legacy/build/pdf.worker.mjs",cN.url).toString();let m=await p({url:t,useWorkerFetch:!1,useSystemFonts:!0}).promise;if(l||c.signal.aborted){await m.destroy().catch(()=>{});return}await nN(m,r.current),l||o("ready"),await m.destroy().catch(()=>{})}catch(d){if(l||c.signal.aborted)return;s(d instanceof Error?d.message:"PDF \u9884\u89C8\u5931\u8D25"),o("failed")}}return u(),()=>{l=!0,c.abort()}},[t]),i==="failed"?(0,A.jsxs)("div",{className:"tcw-procurement-pdf-preview is-failed","data-pdf-url":t,children:[(0,A.jsxs)("div",{className:"tcw-procurement-pdf-preview-toolbar",children:[(0,A.jsx)("span",{children:e}),(0,A.jsxs)("a",{className:"tcw-button tcw-button--secondary",href:t,target:"_blank",rel:"noreferrer",children:[(0,A.jsx)("i",{className:"ri-download-line","aria-hidden":"true"}),"\u4E0B\u8F7D\u539F\u6587\u4EF6"]})]}),(0,A.jsxs)("div",{className:"tcw-procurement-pdf-preview-fallback",children:[(0,A.jsx)("strong",{children:"PDF \u9884\u89C8\u5931\u8D25"}),(0,A.jsx)("small",{children:a||"\u5F53\u524D\u6587\u4EF6\u65E0\u6CD5\u76F4\u63A5\u6E32\u67D3\uFF0C\u5DF2\u56DE\u9000\u5230\u6587\u672C\u5185\u5BB9\u3002"}),n]})]}):(0,A.jsxs)("div",{className:"tcw-procurement-pdf-preview","data-pdf-url":t,children:[(0,A.jsxs)("div",{className:"tcw-procurement-pdf-preview-toolbar",children:[(0,A.jsx)("span",{children:e}),(0,A.jsxs)("a",{className:"tcw-button tcw-button--secondary",href:t,target:"_blank",rel:"noreferrer",children:[(0,A.jsx)("i",{className:"ri-download-line","aria-hidden":"true"}),"\u6253\u5F00\u539F\u6587\u4EF6"]})]}),(0,A.jsx)("canvas",{ref:r,"aria-label":`${e} \u9884\u89C8`}),(0,A.jsx)("small",{children:i==="loading"?"\u6B63\u5728\u6E32\u67D3\u7B2C\u4E00\u9875\u9884\u89C8\u2026":"\u4EC5\u9884\u89C8\u7B2C\u4E00\u9875\uFF0C\u5B8C\u6574\u6587\u4EF6\u53EF\u6253\u5F00\u539F\u6587\u4EF6\u67E5\u770B\u3002"})]})}async function nN(t,e){if(!e)throw new Error("PDF \u9884\u89C8\u5BB9\u5668\u4E0D\u53EF\u7528");let n=await t.getPage(1),r=n.getViewport({scale:1.2}),i=window.devicePixelRatio||1;e.width=Math.floor(r.width*i),e.height=Math.floor(r.height*i),e.style.width=`${Math.floor(r.width)}px`,e.style.height=`${Math.floor(r.height)}px`;let o=e.getContext("2d");if(!o)throw new Error("PDF \u753B\u5E03\u4E0D\u53EF\u7528");o.setTransform(i,0,0,i,0,0),await n.render({canvasContext:o,canvas:e,viewport:r}).promise}function rN({target:t,supplier:e,busy:n,onCancel:r,onConfirm:i}){let o=t?.entityType==="purchaseOrder",a=o?t.item:null,s=t?.entityType==="supplier"?t.item.name:t?.entityType==="purchaseOrder"?t.item.contractNo:t?.item?.productName;return o?(0,A.jsx)(_e,{open:!!t,title:"\u786E\u8BA4\u5220\u9664\u91C7\u8D2D\u8BA2\u5355\uFF1F",onClose:r,footer:(0,A.jsxs)(A.Fragment,{children:[(0,A.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:r,children:[(0,A.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u53D6\u6D88"]}),(0,A.jsxs)("button",{type:"button",className:"tcw-button tcw-button--danger",disabled:n,onClick:i,children:[(0,A.jsx)("i",{className:"ri-delete-bin-line","aria-hidden":"true"}),"\u786E\u8BA4\u5220\u9664"]})]}),children:(0,A.jsxs)("div",{className:"tcw-procurement-delete-summary is-order",children:[(0,A.jsxs)("strong",{className:"tcw-procurement-delete-warning",children:[(0,A.jsx)("i",{className:"ri-error-warning-fill","aria-hidden":"true"}),"\u5220\u9664\u540E\u5C06\u540C\u65F6\u903B\u8F91\u5220\u9664\u8BE5\u91C7\u8D2D\u8BA2\u5355\u53CA\u5176\u5168\u90E8\u5546\u54C1\u660E\u7EC6\uFF0C\u5F53\u524D\u524D\u7AEF\u4E0D\u63D0\u4F9B\u6062\u590D\uFF0C\u8BF7\u8C28\u614E\u64CD\u4F5C\u3002"]}),(0,A.jsxs)("dl",{className:"tcw-procurement-delete-details",children:[(0,A.jsxs)("div",{children:[(0,A.jsx)("dt",{children:"\u91C7\u8D2D\u5408\u540C\u7F16\u53F7"}),(0,A.jsx)("dd",{children:s||"\u2014"})]}),(0,A.jsxs)("div",{children:[(0,A.jsx)("dt",{children:"\u4F9B\u5E94\u5546"}),(0,A.jsx)("dd",{children:e?.name||"\u2014"})]}),(0,A.jsxs)("div",{children:[(0,A.jsx)("dt",{children:"\u5546\u54C1\u6761\u6570"}),(0,A.jsx)("dd",{children:a?.lineCount??0})]}),(0,A.jsxs)("div",{children:[(0,A.jsx)("dt",{children:"\u91C7\u8D2D\u91D1\u989D"}),(0,A.jsx)("dd",{children:ci(a?.contractAmountCny)})]}),(0,A.jsxs)("div",{children:[(0,A.jsx)("dt",{children:"\u5DF2\u4ED8\u6B3E"}),(0,A.jsx)("dd",{children:ci(a?.paidAmountCny)})]}),(0,A.jsxs)("div",{children:[(0,A.jsx)("dt",{children:"\u5DF2\u9000\u7A0E"}),(0,A.jsx)("dd",{children:ci(a?.refundedAmountCny)})]})]}),(0,A.jsxs)("p",{className:"tcw-procurement-delete-info",children:[(0,A.jsx)("i",{className:"ri-information-line","aria-hidden":"true"}),"\u5220\u9664\u65E7\u8BA2\u5355\u540E\uFF0C\u5982\u540E\u7EED\u91CD\u65B0\u5BFC\u5165\u540C\u7F16\u53F7\u5408\u540C\uFF0C\u5C06\u4F5C\u4E3A\u5168\u65B0\u8BB0\u5F55\u5165\u5E93\uFF0C\u4E0D\u8FC1\u79FB\u65E7\u8BA2\u5355\u4EBA\u5DE5\u91D1\u989D\u6570\u636E\u3002"]})]})}):(0,A.jsx)(Bt,{open:!!t,title:o?"\u786E\u8BA4\u5220\u9664\u91C7\u8D2D\u8BA2\u5355\uFF1F":`\u786E\u8BA4\u5220\u9664${t?.entityType==="supplier"?"\u4F9B\u5E94\u5546":"\u91C7\u8D2D\u5546\u54C1"}\uFF1F`,danger:!0,confirmText:"\u786E\u8BA4\u5220\u9664",confirmDisabled:n,onCancel:r,onConfirm:i,message:o?(0,A.jsxs)("div",{className:"tcw-procurement-delete-summary is-order",children:[(0,A.jsxs)("strong",{className:"tcw-procurement-delete-warning",children:[(0,A.jsx)("i",{className:"ri-error-warning-fill","aria-hidden":"true"}),"\u5220\u9664\u540E\u5C06\u540C\u65F6\u903B\u8F91\u5220\u9664\u8BE5\u91C7\u8D2D\u8BA2\u5355\u53CA\u5176\u5168\u90E8\u5546\u54C1\u660E\u7EC6\uFF0C\u5F53\u524D\u524D\u7AEF\u4E0D\u63D0\u4F9B\u6062\u590D\uFF0C\u8BF7\u8C28\u614E\u64CD\u4F5C\u3002"]}),(0,A.jsxs)("dl",{className:"tcw-procurement-delete-details",children:[(0,A.jsxs)("div",{children:[(0,A.jsx)("dt",{children:"\u91C7\u8D2D\u5408\u540C\u7F16\u53F7"}),(0,A.jsx)("dd",{children:s||"\u2014"})]}),(0,A.jsxs)("div",{children:[(0,A.jsx)("dt",{children:"\u4F9B\u5E94\u5546"}),(0,A.jsx)("dd",{children:e?.name||"\u2014"})]}),(0,A.jsxs)("div",{children:[(0,A.jsx)("dt",{children:"\u5546\u54C1\u6761\u6570"}),(0,A.jsx)("dd",{children:a?.lineCount??0})]}),(0,A.jsxs)("div",{children:[(0,A.jsx)("dt",{children:"\u91C7\u8D2D\u91D1\u989D"}),(0,A.jsx)("dd",{children:ci(a?.contractAmountCny)})]}),(0,A.jsxs)("div",{children:[(0,A.jsx)("dt",{children:"\u5DF2\u4ED8\u6B3E"}),(0,A.jsx)("dd",{children:ci(a?.paidAmountCny)})]}),(0,A.jsxs)("div",{children:[(0,A.jsx)("dt",{children:"\u5DF2\u9000\u7A0E"}),(0,A.jsx)("dd",{children:ci(a?.refundedAmountCny)})]})]}),(0,A.jsxs)("p",{className:"tcw-procurement-delete-info",children:[(0,A.jsx)("i",{className:"ri-information-line","aria-hidden":"true"}),"\u5220\u9664\u65E7\u8BA2\u5355\u540E\uFF0C\u5982\u540E\u7EED\u91CD\u65B0\u5BFC\u5165\u540C\u7F16\u53F7\u5408\u540C\uFF0C\u5C06\u4F5C\u4E3A\u5168\u65B0\u8BB0\u5F55\u5165\u5E93\uFF0C\u4E0D\u8FC1\u79FB\u65E7\u8BA2\u5355\u4EBA\u5DE5\u91D1\u989D\u6570\u636E\u3002"]})]}):(0,A.jsx)("div",{className:"tcw-procurement-delete-summary",children:(0,A.jsx)("strong",{children:s||"\u5F53\u524D\u8BB0\u5F55"})})})}function cy({title:t,children:e}){return(0,A.jsxs)("section",{className:"tcw-procurement-review-section",children:[(0,A.jsx)("h3",{children:t}),e]})}function Qi({label:t,value:e}){return(0,A.jsxs)("div",{children:[(0,A.jsx)("span",{children:t}),(0,A.jsx)("strong",{children:String(e||"\u2014")})]})}function dy({children:t,icon:e,title:n,onClick:r}){return(0,A.jsxs)("button",{type:"button",className:"tcw-procurement-link",title:n,onClick:r,children:[(0,A.jsx)("i",{className:e,"aria-hidden":"true"}),t]})}function Ol({children:t,tone:e}){return(0,A.jsx)("span",{className:`tcw-procurement-status tcw-procurement-status--${e}`,children:t})}function Ze({label:t,value:e,required:n,type:r="text",error:i,onChange:o}){let a=De.default.useId();return(0,A.jsx)(se,{label:t,required:n,error:i,errorId:a,children:(0,A.jsx)("input",{type:r,value:String(e??""),"aria-invalid":i?!0:void 0,"aria-describedby":i?a:void 0,onChange:s=>o(s.target.value)})})}function Ba({label:t,value:e,disabled:n,onChange:r}){return(0,A.jsx)(se,{label:t,children:(0,A.jsx)("input",{type:"number",disabled:n,value:String(e??""),onChange:i=>r?.(i.target.value)})})}function iN(t){return t.level==="suppliers"?"suppliers":t.level==="orders"?"purchaseOrders":"purchaseLines"}function oN(t,e){return t==="supplier"?e.name||e.id:t==="purchaseOrder"?e.contractNo||e.id:e.productName||e.id}function aN(t){return t?.mode==="create"}function b1(t){let e=1+py(t.vatRate);return e>0?zt(t.lineAmountTaxIncluded)/e*py(t.refundRate):0}function zt(t){let e=Number(t??0);return Number.isFinite(e)?e:0}function py(t){let e=zt(t);return e>1?e/100:e}function Yi(t){if(sN(t))return null;let e=Number(t);return Number.isFinite(e)?e:Number.NaN}function sN(t){return String(t??"").trim()===""}function Ua(t){return`\xA5${zt(t).toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2})}`}function ci(t){return`\xA5${zt(t).toLocaleString("zh-CN",{maximumFractionDigits:2})}`}function hy(t){return zt(t).toLocaleString("zh-CN")}function p1(t){return`${(py(t)*100).toLocaleString("zh-CN",{maximumFractionDigits:4})}%`}function lN(t){return Object.entries(t).map(([e,n])=>({value:e,label:n}))}function Ga(t){let e=t.total??t.items.length,n=t.pageSize??ep;return{page:t.page??1,pageSize:n,total:e,pageCount:Math.max(1,Math.ceil(e/n))}}function h1(t){if(t.success===!1)throw new Error(t.message||"\u91C7\u8D2D\u64CD\u4F5C\u5931\u8D25")}function my(t,e){if(t==="suppliers")return{type:"procurement",level:"suppliers"};let n=e.parameters?.supplierId?.trim();if(!n)return null;if(t==="purchaseOrders")return{type:"procurement",level:"orders",supplierId:n};let r=e.parameters?.purchaseOrderId?.trim();return r?{type:"procurement",level:"lines",supplierId:n,orderId:r}:null}function ip(t){let e=rp(t.resultPayload),n=rp(e.supplier),r=rp(e.order),i=Array.isArray(e.lines)?e.lines.map((o,a)=>pN(rp(o),a)):[];return{supplier:uN(n),order:dN(r),lines:i,sourceFileName:t.sourceFileName??null}}function uN(t){return{...t,name:Ha(t,["name","supplierName"]),creditCode:ui(t,["creditCode","supplierCreditCode"]),address:ui(t,["address","supplierAddress"]),contactName:ui(t,["contactName"]),phone:ui(t,["phone","contactPhone"])}}function dN(t){return{...t,supplierId:Ha(t,["supplierId"]),contractNo:Ha(t,["contractNo","number"]),orderDate:x1(Ha(t,["orderDate","date","contractDate"])),contractAmountCny:ja(t,["contractAmountCny","totalAmount","amount"],"0"),paidAmountCny:ja(t,["paidAmountCny"],"0"),refundedAmountCny:ja(t,["refundedAmountCny"],"0")}}function pN(t,e){return{...t,lineNumber:fN(t,["lineNumber"],e+1),productName:Ha(t,["productName","name"]),productDescription:ui(t,["productDescription","description"]),modelSpecification:ui(t,["modelSpecification","model"]),unit:ui(t,["unit","\u5355\u4F4D","\u8BA1\u91CF\u5355\u4F4D","uom"]),quantity:ja(t,["quantity"],"0"),unitPriceTaxIncluded:ja(t,["unitPriceTaxIncluded","taxInclusiveUnitPrice","unitPrice","\u542B\u7A0E\u5355\u4EF7"],"0"),lineAmountTaxIncluded:ja(t,["lineAmountTaxIncluded","taxInclusiveTotalAmount","totalAmount","\u542B\u7A0E\u603B\u4EF7","\u542B\u7A0E\u91D1\u989D","\u4EF7\u7A0E\u5408\u8BA1","taxIncludedAmount","amountWithTax"],"0"),hsCode:ui(t,["hsCode","contractHsCode","Hs code","HS Code","\u6D77\u5173\u7F16\u7801"]),refundPolicyDate:hN(t,["refundPolicyDate"]),sourceType:t.sourceType==="MANUAL_ENTRY"?"MANUAL_ENTRY":"CONTRACT_EXTRACTED"}}function rp(t){return t&&typeof t=="object"&&!Array.isArray(t)?t:{}}function gy(t,e){for(let n of e){let r=t[n];if(r!=null&&String(r).trim()!=="")return r}}function Ha(t,e,n=""){let r=gy(t,e);return r==null?n:String(r)}function ui(t,e){return Ha(t,e).trim()||null}function hN(t,e){let n=ui(t,e);return n==null?null:x1(n)}function x1(t){let e=t.trim();if(!e)return"";let n=e.match(/^(\d{4})\s*(?:[-/.年])\s*(\d{1,2})\s*(?:[-/.月])\s*(\d{1,2})\s*(?:日)?$/);if(!n)return e;let[,r,i,o]=n;return`${r}-${i.padStart(2,"0")}-${o.padStart(2,"0")}`}function ja(t,e,n){let r=gy(t,e);return typeof r=="number"&&Number.isFinite(r)?String(r):typeof r=="string"&&r.trim()?r.trim():n}function fN(t,e,n){let r=Number(gy(t,e));return Number.isFinite(r)?r:n}var dt=be(Qt(),1);function yy(t){return String(t??"").normalize("NFKC").trim().replace(/\s+/g," ").toLocaleLowerCase("en-US")}var op=["CONTRACT_AMOUNT","TAX_RATE","PRICE_TERMS","TRANSPORT","WARRANTY","BREACH_LIABILITY","PAYMENT_TERMS"];var Z=be(Be(),1),$a=20;var I1=[{type:"CONTRACT_AMOUNT",label:"\u5408\u540C\u91D1\u989D"},{type:"TAX_RATE",label:"\u7A0E\u7387"},{type:"PRICE_TERMS",label:"\u4EF7\u683C\u6761\u6B3E"},{type:"TRANSPORT",label:"\u8FD0\u8F93/\u4EA4\u4ED8\u65B9\u5F0F"},{type:"WARRANTY",label:"\u8D28\u4FDD/\u670D\u52A1\u4FDD\u969C"},{type:"BREACH_LIABILITY",label:"\u8FDD\u7EA6\u8D23\u4EFB"},{type:"PAYMENT_TERMS",label:"\u4ED8\u6B3E\u6761\u6B3E"}],N1={HIGH:"\u9AD8\u98CE\u9669",MEDIUM:"\u4E2D\u98CE\u9669",LOW:"\u4F4E\u98CE\u9669"},P1={HIT:"\u547D\u4E2D",CLEAR:"\u672A\u547D\u4E2D",UNCHECKED:"\u672A\u68C0\u67E5"},C1=[{type:"text",key:"customerName",label:"\u5BA2\u6237\u540D\u79F0"},{type:"text",key:"contractNo",label:"\u5BA2\u6237\u5408\u540C\u7F16\u7801"},{type:"date-range",key:"signedAt",label:"\u7B7E\u8BA2\u65E5\u671F"},{type:"select",key:"overallRiskLevel",label:"\u6574\u4F53\u98CE\u9669\u7B49\u7EA7",options:k1(N1)},{type:"select",key:"sanctionStatus",label:"\u5236\u88C1\u547D\u4E2D",options:k1(P1)}];function mN({onAction:t,onFileAction:e}){return{upload:async n=>{let r=await e("upload_customer_contract",n,{documentType:"CUSTOMER_CONTRACT"});ap(r,"\u5BA2\u6237\u5408\u540C\u4E0A\u4F20\u5931\u8D25");let i=_o(r.data);if(!i.review)throw new Error("\u4E0A\u4F20\u54CD\u5E94\u7F3A\u5C11\u5BA2\u6237\u5408\u540C\u5BA1\u6838\u8349\u7A3F");return Fo(i.review)},loadReview:async n=>{let r=await t("get_customer_contract_review",{id:n});if(ap(r,"\u5BA2\u6237\u5408\u540C\u5BA1\u6838\u52A0\u8F7D\u5931\u8D25"),!r.data)throw new Error("\u5BA1\u6838\u54CD\u5E94\u7F3A\u5C11\u5BA2\u6237\u5408\u540C\u6570\u636E");let i=_o(r.data);return Fo("reviewSource"in i?i:Zi(i))},saveReview:async n=>{let r=n.reviewSource==="IMPORT_DRAFT"?await t("save_customer_contract_review",{importTaskId:A1(n.importTaskId,"\u5BFC\u5165\u4EFB\u52A1\u6807\u8BC6"),draft:gN(n)}):await t("update_customer_contract_review",{id:A1(n.customerContractId,"\u5BA2\u6237\u5408\u540C\u6807\u8BC6"),customer:n.customer,contract:{contractNo:n.contractNo,contractAmountReviewCny:n.contractAmountReviewCny,signedAt:n.signedAt},clauses:n.clauses,...n.customerTransferConfirmation?{customerTransferConfirmation:n.customerTransferConfirmation}:{}});return ap(r,"\u5BA2\u6237\u5408\u540C\u5BA1\u6838\u4FDD\u5B58\u5931\u8D25"),r},deleteContract:async(n,r)=>{let i=r?await t("delete_entity",{entityType:"customerContract",id:n},r):await t("delete_entity",{entityType:"customerContract",id:n});return ap(i,"\u5BA2\u6237\u5408\u540C\u5220\u9664\u5931\u8D25"),i}}}function Zi(t,e={}){let n=_o(t),r=_o(n.contract),i=_o(n.customer),o=Array.isArray(n.clauses)?n.clauses.map(_o):[],a=Array.isArray(n.analyses)?n.analyses.map(_o):[],s=new Map(a.map(c=>[String(c.clauseType),c])),l=o.map(c=>Xi(di(c,["sourceContent","sourceText","originalText","translatedText"]))?.trim()).find(Boolean);return Fo({reviewSource:e.reviewSource??"EXISTING_CONTRACT",...e.importTaskId?{importTaskId:e.importTaskId}:{},...r.id?{contractId:String(r.id)}:{},customer:{...i,name:R1(i,["name","customerName"]),englishName:Xi(di(i,["englishName","customerEnglishName"])),address:Xi(di(i,["address","customerAddress"])),taxNumber:Xi(di(i,["taxNumber","customerRegistrationNo"]))},contractNo:String(r.contractNo??""),signedAt:Xi(di(r,["signedAt","contractDate"])),contractAmountReviewCny:UN(di(r,["contractAmountReviewCny","contractAmount"])),overallRiskLevel:E1(r.overallRiskLevel),sanctionStatus:GN(n.sanctionStatus),sourceFileId:String(e.sourceFileId??r.sourceFileId??""),sourceFileName:String(e.sourceFileName??r.sourceFileName??""),sourcePreview:l?{kind:"TEXT",content:l}:{kind:"UNAVAILABLE"},clauses:op.map(c=>{let u=o.find(g=>g.clauseType===c),d=s.get(c),p=Xi(di(u,["sourceText","originalText","sourceContent"])),h=R1(u,["reviewedText","translatedText","clauseSummary","summary","originalText"]),m=Xi(di(u,["sourceContent","sourceText","originalText","translatedText"])),v=!!(p?.trim()||h.trim()||m?.trim())||u?.extractionStatus==="FOUND"?"FOUND":"NOT_FOUND";return{...u?.id?{id:String(u.id)}:{},clauseType:c,extractionStatus:v,sourceText:p,reviewedText:h,sourceLocation:Xi(u?.sourceLocation),sourceContent:m,analysis:d?{riskLevel:E1(d.riskLevel),riskMessageZh:String(d.riskMessageZh??""),suggestionZh:String(d.suggestionZh??"")}:Ll(c).analysis}})})}function gN(t){return{customer:t.customer,contract:{contractNo:t.contractNo,signedAt:t.signedAt,contractAmountReviewCny:t.contractAmountReviewCny},clauses:t.clauses.map(({analysis:e,...n})=>n),analyses:t.clauses.map(e=>({clauseType:e.clauseType,...e.analysis}))}}function yN(t,e=300){let n,r=()=>{n&&clearTimeout(n),n=void 0},i=(o,a,s=$a)=>{r(),t({page:o,pageSize:s,filters:a})};return{schedule:(o,a,s=$a)=>{if(r(),o!=="text"){i(1,a,s);return}n=setTimeout(()=>i(1,a,s),e)},flush:(o,a=$a)=>i(1,o,a),page:(o,a,s=$a)=>i(o,a,s),pageSize:(o,a)=>i(1,a,o),cancel:r}}function D1(){let t=null;return{register(e){return t=e,()=>{t===e&&(t=null)}},cancelCurrent(){t?.()}}}function wN(t,e){return async n=>(e(),await t(n))}function vN(){let t=!1;return{run(e){return t?null:(t=!0,e().finally(()=>{t=!1}))}}}function bN(){let t=0,e=n=>n.revision===t;return{invalidate(){t+=1},capture(){return{revision:t}},isCurrent:e,commit(n,r){return e(n)?(r(),!0):!1}}}function xN(t,e){return t||e}function O1(t){return t.type==="page"&&t.page==="customer-contract-review"?{page:1,pageSize:$a,filters:{}}:null}async function L1({isActive:t,latestQuery:e,query:n}){if(!t())return!1;try{return await n(e())!==!1}catch{return!1}}function CN({confirmGuard:t,generationGuard:e,operation:n,onCurrentResult:r,onStaleReconcile:i,onBusyChange:o}){return t.run(async()=>{let a=e.capture();o(!0);try{let s=await n(()=>e.isCurrent(a));if(!e.commit(a,()=>r(s)))try{await i?.(s)}catch{}return s}finally{o(!1)}})}function SN(t,e,n){let r=n.map(a=>a.id),i=nx([...t].map(a=>({key:a,message:""})),r),o=e.filter(a=>i.has(a.key));return{selectedIds:i.size===t.size?t:i,failures:o.length===e.length?e:o}}async function kN({selectedIds:t,rows:e,deleteContract:n,refresh:r,query:i,notify:o,isCurrent:a=()=>!0}){let s=[...t],l=new Map(e.map(h=>[h.id,h.contractNo||h.customerName||h.id])),c=await rr(s,h=>n(h,{suppressRefresh:!0})),u=e.filter(h=>!c.succeeded.includes(h.id)),d=Lr(i.page,u.length),p=c.failed.map(h=>({...h,label:l.get(h.key)??h.key}));if(!a())return{selectedIds:new Set(s),failures:p,refreshFailed:!1,stale:!0};try{let h=await r({...i,page:d});if(!a())return{selectedIds:new Set(s),failures:p,refreshFailed:!1,stale:!0};if(h===!1)return{selectedIds:new Set(s),failures:p,refreshFailed:!0,stale:!1}}catch{return a()?{selectedIds:new Set(s),failures:p,refreshFailed:!0,stale:!1}:{selectedIds:new Set(s),failures:p,refreshFailed:!1,stale:!0}}return c.failed.length===0?o?.({message:`\u5DF2\u5220\u9664 ${c.succeeded.length} \u6761`,tone:"success"}):o?.({message:`\u6210\u529F ${c.succeeded.length}\u3001\u5931\u8D25 ${c.failed.length}`,tone:c.succeeded.length>0?"warning":"error"}),{selectedIds:new Set(c.failed.map(h=>h.key)),failures:p,refreshFailed:!1,stale:!1}}function AN(t,e){return{reviewSource:t.reviewSource,...t.importTaskId?{importTaskId:t.importTaskId}:{},...t.contractId?{customerContractId:t.contractId}:{},customer:{...t.customer,name:t.customer.name.trim()},contractNo:t.contractNo.trim().toUpperCase(),signedAt:t.signedAt,contractAmountReviewCny:t.contractAmountReviewCny,sourceFileId:t.sourceFileId,...e?{customerTransferConfirmation:e}:{},clauses:op.map(n=>{let r=t.clauses.find(i=>i.clauseType===n)??Ll(n);return{...r.id?{id:r.id}:{},clauseType:n,extractionStatus:r.extractionStatus,sourceText:r.sourceText,reviewedText:r.reviewedText,sourceLocation:r.sourceLocation,sourceContent:r.sourceContent,analysis:{...r.analysis}}})}}function TN(t,e){if(t.reviewSource!=="EXISTING_CONTRACT")return null;let n=yy(e.customer.name);return yy(t.customer.name)===n?null:{type:"CONFIRMED_CUSTOMER_TRANSFER",targetNormalizedName:n}}function RN(t,e){return e.type==="cancel"||e.type==="sync-review"?null:e.type==="begin-confirm"?t?.confirming?t:t?{...t,confirming:!0}:null:t?.pending.confirmation.targetNormalizedName===e.pending.confirmation.targetNormalizedName&&t.pending.review.contractId===e.pending.review.contractId?t:{pending:e.pending,confirming:!1}}function EN(t,e){return{...t,...e}}function IN(t){for(let e of t){let n=e.reviewedText.trim();if(e.extractionStatus==="FOUND"&&!n)return`\u201C${wy(e.clauseType)}\u201D\u5DF2\u627E\u5230\u65F6\u5FC5\u987B\u586B\u5199\u4EBA\u5DE5\u5BA1\u6838\u5185\u5BB9`;if(e.extractionStatus==="NOT_FOUND"&&n)return`\u201C${wy(e.clauseType)}\u201D\u672A\u627E\u5230\u65F6\u4E0D\u80FD\u586B\u5199\u4EBA\u5DE5\u5BA1\u6838\u5185\u5BB9`}return null}function _1(t){let[e,n]=dt.default.useState({}),[r,i]=dt.default.useState(new Set),[o,a]=dt.default.useState(!1),[s,l]=dt.default.useState(!1),[c,u]=dt.default.useState([]),d=dt.default.useRef();d.current||(d.current=vN());let p=dt.default.useRef();p.current||(p.current=bN());let[h,m]=dt.default.useState(null),[f,v]=dt.default.useState("review"),[g,y]=dt.default.useState(null),w=dt.default.useMemo(()=>mN(t),[t.onAction,t.onFileAction]),b=dt.default.useCallback(()=>{m(null),t.onReviewClose?.()},[t.onReviewClose]),x=dt.default.useCallback(()=>{p.current.invalidate(),i(new Set),u([]),a(!1)},[]),C=dt.default.useMemo(()=>wN(t.onQuery,x),[t.onQuery,x]),k=dt.default.useCallback(_=>(t.onQueryRequested?.(_),C(_)),[t.onQueryRequested,C]),S=dt.default.useMemo(()=>yN(k),[k]);dt.default.useEffect(()=>{let _=t.onQueryCancelRegistration?.(S.cancel);return()=>{_?.(),S.cancel(),p.current.invalidate()}},[t.onQueryCancelRegistration,S]),dt.default.useEffect(()=>{t.importReviewState.status==="AWAITING_REVIEW"&&(v("review"),m(Fo(t.importReviewState.review)))},[t.importReviewState]),dt.default.useEffect(()=>{let _=SN(r,c,t.collection.items);_.selectedIds!==r&&i(_.selectedIds),_.failures!==c&&u(_.failures)},[t.collection.items,r,c]);let E=(_,V)=>{let G={...e,[_]:V};n(G),x();let K=S1(t.collection).pageSize;t.onQueryRequested?.({page:1,pageSize:K,filters:G}),S.schedule(C1.find(J=>J.key===_)?.type??"text",G,K)},D=async(_,V)=>{try{v(V),m(await(t.onLoadReview?t.onLoadReview(_):w.loadReview(_)))}catch(G){t.onNotify?.({message:sp(G,"\u5BA2\u6237\u5408\u540C\u5BA1\u6838\u52A0\u8F7D\u5931\u8D25"),tone:"error"})}},O=S1(t.collection),H=xN(t.busy,s),M=[{type:"text",key:"customerName",header:"\u5BA2\u6237\u540D\u79F0",width:150},{type:"text",key:"customerCode",header:"\u5BA2\u6237\u4EE3\u7801",width:90,format:zN},{type:"ellipsis",key:"contractNo",header:"\u5BA2\u6237\u5408\u540C\u7F16\u7801",width:175,maxWidth:175},{type:"custom",key:"countryOrRegion",header:"\u56FD\u5BB6/\u5730\u533A",width:105,truncate:!1,render:()=>"\u2014"},{type:"text",key:"signedAt",header:"\u7B7E\u8BA2\u65E5\u671F",width:110,truncate:!1,format:ti},{type:"text",key:"contractAmountReviewCny",header:"\u4EBA\u6C11\u5E01\u9884\u5BA1\u91D1\u989D",width:150,align:"right",truncate:!1,format:F1},{type:"custom",key:"overallRiskLevel",header:"\u6574\u4F53\u98CE\u9669\u7B49\u7EA7",width:105,align:"center",truncate:!1,render:(_,V)=>(0,Z.jsx)(MN,{item:V})},{type:"ellipsis",key:"sourceFileName",header:"\u6765\u6E90\u6587\u4EF6",width:160,maxWidth:160}];return(0,Z.jsxs)("section",{className:"tcw-contract-page tcw-contract-prototype-surface","aria-label":"\u5BA2\u6237\u5408\u540C\u5BA1\u6838",children:[(0,Z.jsx)(un,{definitions:C1,values:e,onChange:E,onQuery:()=>S.flush(e,O.pageSize),onReset:()=>{n({}),S.flush({},O.pageSize)}}),(0,Z.jsx)(Je,{children:"\u652F\u6301 PDF\u3001DOC\u3001DOCX\u3001XLS\u3001XLSX\u3001PNG\u3001JPEG\u3001WEBP\u3002\u89E3\u6790\u6210\u529F\u540E\u81EA\u52A8\u6253\u5F00\u5BA1\u6838\u3002"}),t.importReviewState.status==="PROCESSING"&&(0,Z.jsxs)("p",{className:"tcw-contract-import-status",role:"status",children:["\u6B63\u5728\u89E3\u6790 ",t.importReviewState.sourceFileName,"..."]}),t.importReviewState.status==="FAILED"&&(0,Z.jsxs)("div",{className:"tcw-contract-page-error",role:"alert",children:[t.importReviewState.message,t.importReviewState.importTaskId&&t.onRetryImport&&(0,Z.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",disabled:H,onClick:()=>{H||Promise.resolve(t.onRetryImport?.(t.importReviewState.status==="FAILED"?t.importReviewState.importTaskId:"")).catch(_=>t.onNotify?.({message:_ instanceof Error?_.message:"\u91CD\u65B0\u89E3\u6790\u5931\u8D25",tone:"error"}))},children:[(0,Z.jsx)("i",{className:"ri-restart-line","aria-hidden":"true"}),"\u91CD\u65B0\u89E3\u6790"]})]}),(0,Z.jsx)("div",{className:"tcw-contract-action-table",children:(0,Z.jsx)(ot,{columns:M,rows:t.collection.items,rowKey:"id",actionWidth:130,selection:{selectedKeys:r,onToggle:_=>{H||i(V=>yr(V,_))},onTogglePage:()=>{H||i(_=>Ao(_,t.collection.items.map(V=>V.id)))},onClear:()=>{H||i(new Set)},onDelete:()=>{H||(u([]),a(!0))},labelFor:_=>`\u9009\u62E9\u5BA2\u6237\u5408\u540C\uFF1A${_.contractNo||_.customerName||_.id}`,disabled:H},actions:_=>(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)("button",{type:"button",disabled:H,onClick:()=>{D(_.id,"review")},children:[(0,Z.jsx)("i",{className:"ri-edit-line","aria-hidden":"true"}),"\u5BA1\u6838"]}),(0,Z.jsxs)("button",{type:"button",className:"is-danger",disabled:H,onClick:()=>y(_),children:[(0,Z.jsx)("i",{className:"ri-delete-bin-line","aria-hidden":"true"}),"\u5220\u9664"]})]}),pagination:O,onPageChange:_=>S.page(_,e,O.pageSize),onPageSizeChange:_=>S.pageSize(_,e),emptyText:"\u6682\u65E0\u5BA2\u6237\u5408\u540C\u6570\u636E"})}),(0,Z.jsx)(NN,{open:!!h,mode:f,review:h,busy:H,reanalysisState:t.reanalysisState,onReanalyze:t.onReanalyze,onClose:b,onSave:async(_,V)=>{await dm(()=>w.saveReview(AN(_,V)).then(()=>{}),async()=>{await t.onQuery({page:O.page,pageSize:O.pageSize,filters:e})},t.onNotify,{success:"\u5BA2\u6237\u5408\u540C\u5BA1\u6838\u4FDD\u5B58\u6210\u529F",error:"\u5BA2\u6237\u5408\u540C\u5BA1\u6838\u4FDD\u5B58\u5931\u8D25"})&&b()}}),(0,Z.jsx)(PN,{open:!!g,contract:g,busy:H,onCancel:()=>y(null),onConfirm:async()=>{if(H||!g)return;await dm(()=>w.deleteContract(g.id).then(()=>{}),async()=>{await t.onQuery({page:O.page,pageSize:O.pageSize,filters:e})},t.onNotify,{success:"\u5BA2\u6237\u5408\u540C\u5220\u9664\u6210\u529F",error:"\u5BA2\u6237\u5408\u540C\u5220\u9664\u5931\u8D25"})&&y(null)}}),(0,Z.jsx)(En,{open:o,title:"\u6279\u91CF\u5220\u9664\u5BA2\u6237\u5408\u540C",count:r.size,message:"\u5C06\u903B\u8F91\u5220\u9664\u6240\u9009\u5BA2\u6237\u5408\u540C\u53CA\u5176\u4E03\u7C7B\u5173\u952E\u6761\u6B3E\u5BA1\u6838\u6570\u636E\uFF1B\u5220\u9664\u540E\u4E0D\u53EF\u6062\u590D\uFF1B\u5DF2\u751F\u6210\u9500\u552E\u6587\u4EF6\u5386\u53F2\u4FDD\u6301\u4E0D\u53D8\u3002",busy:H,failures:c,onCancel:()=>{s||a(!1)},onConfirm:()=>{H||r.size===0||CN({confirmGuard:d.current,generationGuard:p.current,operation:_=>kN({selectedIds:r,rows:t.collection.items,deleteContract:w.deleteContract,refresh:t.onQuery,query:{page:O.page,pageSize:O.pageSize,filters:e},notify:t.onNotify,isCurrent:_}),onCurrentResult:_=>{i(_.selectedIds),u(_.failures),!_.refreshFailed&&_.failures.length===0&&a(!1)},onStaleReconcile:async()=>{S.cancel(),await t.onBulkReconcile?.()},onBusyChange:_=>{l(_),t.onBulkBusyChange?.(_)}})}})]})}function NN({open:t,mode:e="review",review:n,busy:r,reanalysisState:i={status:"IDLE"},onReanalyze:o,onClose:a,onSave:s}){let[l,c]=dt.default.useState(()=>n?Fo(n):null),[u,d]=dt.default.useState("PAYMENT_TERMS"),[p,h]=dt.default.useState(""),[m,f]=dt.default.useReducer(RN,null);if(dt.default.useEffect(()=>{f({type:"sync-review",open:t}),t&&n&&(c(Fo(n)),d("PAYMENT_TERMS"),h(""))},[t,n]),!l)return null;let v=u==="BASIC_INFO"?null:u,g=v?l.clauses.find(S=>S.clauseType===v)??Ll(v):null,y=S=>c({...l,clauses:l.clauses.map(E=>E.clauseType===S.clauseType?S:E)}),w=async()=>{if(!l.customer.name.trim()){h("\u5BA2\u6237\u540D\u79F0\u4E3A\u5FC5\u586B\u9879");return}if(!l.contractNo.trim()){h("\u5BA2\u6237\u5408\u540C\u7F16\u7801\u4E3A\u5FC5\u586B\u9879");return}let S=l.contractNo.trim().toUpperCase();if(!/^.+X$/.test(S)){h("\u5BA2\u6237\u5408\u540C\u7F16\u7801\u5FC5\u987B\u4E3A\u57FA\u7840\u7F16\u7801\u52A0\u672B\u5C3E X");return}let E=IN(l.clauses);if(E){h(E);return}h("");let D={...l,contractNo:S},O=n?TN(n,D):null;if(O){f({type:"request",pending:{review:D,confirmation:O}});return}try{await s(D)}catch(H){h(sp(H,"\u5BA2\u6237\u5408\u540C\u5BA1\u6838\u4FDD\u5B58\u5931\u8D25"))}},b=async()=>{if(o){h("");try{c(BN(l,Fo(await o({reviewSource:l.reviewSource,customerContractId:l.contractId,importTaskId:l.importTaskId}))))}catch(S){h(sp(S,"AI \u91CD\u65B0\u5206\u6790\u5931\u8D25"))}}},x=i?.status==="RUNNING",C=e==="detail";return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(_e,{open:t,title:C?"\u5BA2\u6237\u5408\u540C\u8BE6\u60C5":"\u5BA1\u6838\u5BA2\u6237\u5408\u540C",size:"wide",onClose:a,footer:C?(0,Z.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:a,children:[(0,Z.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u5173\u95ED"]}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",disabled:r,onClick:a,children:[(0,Z.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u53D6\u6D88"]}),(0,Z.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:r,onClick:()=>{w()},children:[(0,Z.jsx)("i",{className:"ri-save-line","aria-hidden":"true"}),"\u4FDD\u5B58\u5BA1\u6838"]})]}),children:[(0,Z.jsxs)("div",{className:"tcw-contract-review-header tcw-contract-review-summary",children:[(0,Z.jsxs)("div",{className:"tcw-contract-summary-customer",children:[(0,Z.jsx)("span",{children:"\u5BA2\u6237\u540D\u79F0"}),(0,Z.jsx)("strong",{children:l.customer.name})]}),(0,Z.jsx)(DN,{review:l,readOnly:C,onChange:c}),(0,Z.jsxs)("div",{className:"tcw-contract-summary-cell",children:[(0,Z.jsx)("span",{children:"\u6574\u4F53\u98CE\u9669\u7B49\u7EA7"}),(0,Z.jsx)(lp,{level:l.overallRiskLevel})]}),(0,Z.jsx)(FN,{status:i?.status??"IDLE"})]}),i?.status==="FAILED"&&(0,Z.jsx)("div",{className:"tcw-contract-dialog-error",role:"alert",children:i.message}),p&&(0,Z.jsx)("div",{className:"tcw-contract-dialog-error",role:"alert",children:p}),(0,Z.jsxs)("div",{className:"tcw-contract-review-layout",children:[(0,Z.jsxs)("div",{className:"tcw-contract-review-toolbar",children:[(0,Z.jsxs)("strong",{children:["\u5F53\u524D",C?"\u67E5\u770B":"\u5BA1\u6838","\u5185\u5BB9\uFF1A",u==="BASIC_INFO"?"\u57FA\u7840\u4FE1\u606F":wy(u)]}),u!=="BASIC_INFO"&&!C&&o&&(0,Z.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",disabled:r||x,title:"\u91CD\u65B0\u5206\u6790\u4E03\u7C7B\u5173\u952E\u6761\u6B3E",onClick:()=>{b()},children:[(0,Z.jsx)("i",{className:"ri-refresh-line","aria-hidden":"true"}),x?"\u91CD\u65B0\u5206\u6790\u4E2D":"\u91CD\u65B0\u5206\u6790"]})]}),(0,Z.jsxs)("nav",{className:"tcw-contract-clause-tabs","aria-label":"\u5BA1\u6838\u5185\u5BB9",children:[(0,Z.jsx)("button",{type:"button",className:u==="BASIC_INFO"?"is-active":"",onClick:()=>d("BASIC_INFO"),children:"\u57FA\u7840\u4FE1\u606F"}),I1.map(S=>(0,Z.jsx)("button",{type:"button",className:S.type===u?"is-active":"",onClick:()=>d(S.type),children:S.label},S.type))]}),u==="BASIC_INFO"?(0,Z.jsx)("section",{className:"tcw-contract-basic-info",children:(0,Z.jsx)(LN,{value:l.customer,readOnly:C,onChange:S=>c({...l,customer:S})})}):g&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)("section",{className:"tcw-contract-clause-editor",children:[g.extractionStatus==="NOT_FOUND"&&(0,Z.jsx)(ct,{children:"\u5408\u540C\u7F3A\u5C11\u8BE5\u5173\u952E\u6761\u6B3E\u3002"}),(0,Z.jsxs)(se,{label:"\u6765\u6E90\u6761\u6B3E\u539F\u6587",children:[(0,Z.jsx)("textarea",{disabled:!0,rows:6,value:g.sourceText??"\u672A\u627E\u5230\u6765\u6E90\u6761\u6B3E"}),(0,Z.jsx)("small",{children:T1(g.sourceText,1e3)})]}),(0,Z.jsxs)(se,{label:"\u4EBA\u5DE5\u5BA1\u6838\u5185\u5BB9",required:!0,children:[(0,Z.jsx)("textarea",{disabled:C,rows:7,value:g.reviewedText,onChange:S=>y(EN(g,{reviewedText:S.target.value}))}),(0,Z.jsx)("small",{children:T1(g.reviewedText,2e3)})]}),(0,Z.jsx)(se,{label:"\u6765\u6E90\u4F4D\u7F6E",children:(0,Z.jsx)("input",{disabled:!0,value:g.sourceLocation??"\u2014"})})]}),(0,Z.jsxs)("section",{className:"tcw-contract-source-preview",children:[(0,Z.jsx)("div",{className:"tcw-contract-source-heading",children:(0,Z.jsx)("h3",{children:"AI \u5206\u6790\u7ED3\u679C"})}),(0,Z.jsx)("div",{className:"tcw-contract-source-main",children:(0,Z.jsx)(_N,{clause:g})})]})]})]})]}),(0,Z.jsx)(Bt,{open:!!m,title:"\u786E\u8BA4\u8F6C\u79FB\u5BA2\u6237\u5408\u540C",confirmText:"\u786E\u8BA4\u8F6C\u79FB\u5E76\u4FDD\u5B58",confirmDisabled:r||!!m?.confirming,onCancel:()=>f({type:"cancel"}),onConfirm:async()=>{if(!(!m||m.confirming)){f({type:"begin-confirm"});try{await s(m.pending.review,m.pending.confirmation),f({type:"cancel"})}catch(S){f({type:"cancel"}),h(sp(S,"\u5BA2\u6237\u5408\u540C\u5BA1\u6838\u4FDD\u5B58\u5931\u8D25"))}}},message:(0,Z.jsxs)("span",{children:["\u5BA2\u6237\u540D\u79F0\u5DF2\u7531\u201C",n?.customer.name??"","\u201D\u53D8\u66F4\u4E3A\u201C",m?.pending.review.customer.name??"","\u201D\u3002\u786E\u8BA4\u540E\u4EC5\u5C06\u5F53\u524D\u5408\u540C\u8F6C\u79FB\u5230\u76EE\u6807\u5BA2\u6237\uFF0C\u4E0D\u4FEE\u6539\u539F\u5BA2\u6237\u53CA\u5176\u5176\u4ED6\u5408\u540C\u3002"]})})]})}function PN({open:t,contract:e,busy:n,onCancel:r,onConfirm:i}){return(0,Z.jsx)(Bt,{open:t,title:"\u786E\u8BA4\u5220\u9664\u5BA2\u6237\u5408\u540C\uFF1F",danger:!0,confirmText:"\u786E\u8BA4\u5220\u9664",confirmDisabled:n,onCancel:r,onConfirm:()=>{i()},message:(0,Z.jsxs)("div",{className:"tcw-contract-delete-summary",children:[(0,Z.jsx)("strong",{className:"tcw-contract-delete-warning",children:"\u5220\u9664\u540E\u5C06\u903B\u8F91\u5220\u9664\u8BE5\u5BA2\u6237\u5408\u540C\u53CA\u5176\u4E03\u7C7B\u5173\u952E\u6761\u6B3E\u5BA1\u6838\u6570\u636E\uFF0C\u524D\u7AEF\u6682\u4E0D\u63D0\u4F9B\u6062\u590D\uFF0C\u8BF7\u8C28\u614E\u64CD\u4F5C\u3002"}),(0,Z.jsxs)("dl",{className:"tcw-contract-delete-details",children:[(0,Z.jsxs)("div",{children:[(0,Z.jsx)("dt",{children:"\u5BA2\u6237\u540D\u79F0"}),(0,Z.jsx)("dd",{children:e?.customerName??"\u2014"})]}),(0,Z.jsxs)("div",{children:[(0,Z.jsx)("dt",{children:"\u5BA2\u6237\u5408\u540C\u7F16\u7801"}),(0,Z.jsx)("dd",{children:e?.contractNo??"\u2014"})]}),(0,Z.jsxs)("div",{children:[(0,Z.jsx)("dt",{children:"\u7B7E\u8BA2\u65E5\u671F"}),(0,Z.jsx)("dd",{children:e?.signedAt??"\u2014"})]}),(0,Z.jsxs)("div",{children:[(0,Z.jsx)("dt",{children:"\u4EBA\u6C11\u5E01\u9884\u5BA1\u5408\u540C\u91D1\u989D"}),(0,Z.jsx)("dd",{children:F1(e?.contractAmountReviewCny)})]}),(0,Z.jsxs)("div",{children:[(0,Z.jsx)("dt",{children:"\u6574\u4F53\u98CE\u9669\u7B49\u7EA7"}),(0,Z.jsx)("dd",{children:e?(0,Z.jsx)(lp,{level:e.overallRiskLevel}):"\u2014"})]})]}),(0,Z.jsxs)("p",{className:"tcw-contract-delete-info",children:[(0,Z.jsx)("i",{className:"ri-information-line","aria-hidden":"true"}),"\u5220\u9664\u5408\u540C\u540E\uFF0C\u5982\u540E\u7EED\u91CD\u65B0\u4E0A\u4F20\u540C\u7F16\u53F7\u5408\u540C\uFF0C\u5C06\u4F5C\u4E3A\u5168\u65B0\u8BB0\u5F55\u5165\u5E93\uFF0C\u4E0D\u8FC1\u79FB\u65E7\u6D3E\u751F\u8BA2\u5355\u4EBA\u5DE5\u6570\u636E\uFF1B\u5DF2\u751F\u6210\u7684\u9500\u552E\u6587\u4EF6\u5386\u53F2\u4FDD\u6301\u4E0D\u53D8\u3002"]})]})})}function DN({review:t,readOnly:e,onChange:n}){return(0,Z.jsxs)(Rt,{columns:3,children:[(0,Z.jsx)(se,{label:"\u5BA2\u6237\u5408\u540C\u7F16\u7801",required:!0,children:(0,Z.jsx)("input",{disabled:e,value:t.contractNo,onChange:r=>n({...t,contractNo:r.target.value})})}),(0,Z.jsx)(se,{label:"\u7B7E\u8BA2\u65E5\u671F",children:(0,Z.jsx)("input",{disabled:e,type:"date",value:t.signedAt??"",onChange:r=>n({...t,signedAt:r.target.value})})}),(0,Z.jsx)(se,{label:"\u4EBA\u6C11\u5E01\u9884\u5BA1\u5408\u540C\u91D1\u989D",children:(0,Z.jsx)("input",{disabled:e,type:"number",min:"0",step:"0.0001",value:t.contractAmountReviewCny??"",onChange:r=>n({...t,contractAmountReviewCny:r.target.value===""?null:r.target.value})})})]})}var ON=[{key:"code",label:"\u5BA2\u6237\u4EE3\u7801"},{key:"name",label:"\u5BA2\u6237\u540D\u79F0",required:!0},{key:"shortName",label:"\u7B80\u79F0"},{key:"country",label:"\u56FD\u522B"},{key:"address",label:"\u5730\u5740",full:!0},{key:"contactName",label:"\u8054\u7CFB\u4EBA"},{key:"phone",label:"\u8054\u7CFB\u7535\u8BDD"},{key:"wechat",label:"\u5FAE\u4FE1"},{key:"email",label:"\u90AE\u7BB1"},{key:"taxNumber",label:"\u7A0E\u53F7"},{key:"paymentAccount",label:"\u6536\u6B3E\u8D26\u53F7"},{key:"bankName",label:"\u5F00\u6237\u884C"},{key:"taxpayerRating",label:"\u7EB3\u7A0E\u7B49\u7EA7"},{key:"website",label:"\u516C\u53F8\u7F51\u7AD9"},{key:"businessProducts",label:"\u7ECF\u8425\u4EA7\u54C1",full:!0}];function LN({value:t,readOnly:e,onChange:n}){return(0,Z.jsx)(Rt,{columns:3,children:ON.map(r=>(0,Z.jsx)(se,{label:r.label,required:r.required,full:r.full,children:(0,Z.jsx)("input",{disabled:e,value:String(t[r.key]??""),onChange:i=>n({...t,[r.key]:i.target.value})})},r.key))})}function _N({clause:t}){return(0,Z.jsxs)("section",{className:"tcw-contract-analysis",children:[(0,Z.jsxs)("p",{children:[(0,Z.jsx)("strong",{children:"\u98CE\u9669\u7B49\u7EA7\uFF1A"}),(0,Z.jsx)(lp,{level:t.analysis.riskLevel})]}),(0,Z.jsxs)("dl",{children:[(0,Z.jsx)("dt",{children:"\u4E2D\u6587\u98CE\u9669\u63D0\u793A"}),(0,Z.jsx)("dd",{children:t.analysis.riskMessageZh||"\u2014"}),(0,Z.jsx)("dt",{children:"\u4E2D\u6587\u4FEE\u6539\u5EFA\u8BAE"}),(0,Z.jsx)("dd",{children:t.analysis.suggestionZh||"\u2014"})]})]})}function lp({level:t}){return(0,Z.jsx)("span",{className:`tcw-contract-risk tcw-contract-risk--${t.toLowerCase()}`,children:N1[t]})}function FN({status:t}){return(0,Z.jsxs)("div",{className:"tcw-contract-summary-cell",children:[(0,Z.jsx)("span",{children:"\u6700\u65B0\u5206\u6790\u4EFB\u52A1"}),(0,Z.jsx)("strong",{className:`tcw-contract-analysis-task tcw-contract-analysis-task--${t==="RUNNING"?"running":t==="FAILED"?"failed":"success"}`,children:t==="RUNNING"?"\u5206\u6790\u4E2D":t==="FAILED"?"\u5931\u8D25":"\u6210\u529F"})]})}function MN({item:t}){return(0,Z.jsxs)("span",{className:"tcw-contract-risk-summary",children:[(0,Z.jsx)(lp,{level:t.overallRiskLevel}),(0,Z.jsxs)("span",{className:`tcw-contract-sanction-text tcw-contract-sanction-text--${t.sanctionStatus.toLowerCase()}`,children:["\u5236\u88C1",P1[t.sanctionStatus]]})]})}function Fo(t){return{...t,customer:{...t.customer},clauses:op.map(e=>({...t.clauses.find(n=>n.clauseType===e)??Ll(e),analysis:{...t.clauses.find(n=>n.clauseType===e)?.analysis??Ll(e).analysis}}))}}function BN(t,e){return t.sourcePreview.kind!=="URL"?e:{...e,sourcePreview:t.sourcePreview}}function Ll(t){return{clauseType:t,extractionStatus:"NOT_FOUND",sourceText:null,reviewedText:"",analysis:{riskLevel:"HIGH",riskMessageZh:"\u5408\u540C\u7F3A\u5C11\u8BE5\u5173\u952E\u6761\u6B3E",suggestionZh:"\u8BF7\u4EBA\u5DE5\u8865\u5145\u5E76\u786E\u8BA4\u8BE5\u5173\u952E\u6761\u6B3E\u3002"}}}function S1(t){let e=Number(t.page)||1,n=t.pageSize??$a,r=Number(t.total)||0;return{page:e,pageSize:n,total:r,pageCount:Math.max(1,Math.ceil(r/n)),items:t.items}}function ap(t,e){if(t.success===!1)throw new Error(t.message||e)}function sp(t,e){return t instanceof Error?t.message:e}function k1(t){return Object.entries(t).map(([e,n])=>({value:e,label:n}))}function wy(t){return I1.find(e=>e.type===t)?.label??t}function F1(t){let e=typeof t=="string"&&t.trim()?Number(t):NaN;return Number.isFinite(e)?`\xA5 ${e.toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2})}`:"\u2014"}function zN(t){return t==null||String(t).trim()===""?"\u2014":String(t)}function A1(t,e){if(!t)throw new Error(`${e}\u4E0D\u80FD\u4E3A\u7A7A`);return t}function T1(t,e){return`${(t??"").length}/${e}`}function _o(t){return t&&typeof t=="object"&&!Array.isArray(t)?t:{}}function Xi(t){return t==null||String(t).trim()===""?null:String(t)}function UN(t){return typeof t=="number"&&Number.isFinite(t)?String(t):typeof t=="string"&&t.trim()?t.trim():null}function di(t,e){if(t)for(let n of e){let r=t[n];if(r!=null&&String(r).trim()!=="")return r}}function R1(t,e,n=""){let r=di(t,e);return r==null?n:String(r)}function E1(t){return t==="HIGH"||t==="MEDIUM"||t==="LOW"?t:"LOW"}function GN(t){return t==="HIT"||t==="CLEAR"?t:"UNCHECKED"}var $n=be(Qt(),1);var L=be(Be(),1),HN=20,jN=[{type:"text",key:"code",label:"\u5BA2\u6237\u4EE3\u7801"},{type:"text",key:"name",label:"\u5BA2\u6237\u540D\u79F0"},{type:"text",key:"country",label:"\u56FD\u5BB6\u5730\u533A"},{type:"select",key:"profitRateStatus",label:"\u9ED8\u8BA4\u5B9A\u4EF7\u5229\u6DA6\u7387\u72B6\u6001",options:[{value:"CONFIGURED",label:"\u5DF2\u7EF4\u62A4"},{value:"MISSING",label:"\u672A\u7EF4\u62A4"}]},{type:"select",key:"sanctionStatus",label:"\u5236\u88C1\u98CE\u9669",options:[{value:"UNCHECKED",label:"\u672A\u68C0\u67E5"},{value:"CLEAR",label:"\u65E0\u547D\u4E2D"},{value:"HIT",label:"\u547D\u4E2D\u63D0\u9192"}]}],$N=[{type:"text",key:"salesOrderNo",label:"\u8BA2\u5355\u53F7"},{type:"text",key:"customerContractNo",label:"\u5BA2\u6237\u5408\u540C\u53F7"},{type:"text",key:"purchaseContractNo",label:"\u91C7\u8D2D\u5408\u540C\u53F7"},{type:"date-range",key:"orderDate",label:"\u4E0B\u5355\u65E5\u671F"},{type:"select",key:"paymentStatus",label:"\u6536\u6B3E\u72B6\u6001",options:[{value:"UNPAID",label:"\u672A\u6536\u6B3E"},{value:"PARTIAL",label:"\u90E8\u5206\u6536\u6B3E"},{value:"PAID",label:"\u5DF2\u6536\u6B3E"}]}],VN=[{type:"text",key:"productName",label:"\u5546\u54C1\u540D\u79F0"},{type:"text",key:"productDescription",label:"\u5546\u54C1\u63CF\u8FF0"},{type:"text",key:"hsCode",label:"HS\u7F16\u7801"},{type:"select",key:"complianceCategory",label:"\u5408\u89C4\u5206\u7C7B",options:[{value:"DUAL_USE",label:"\u519B\u6C11\u4E24\u7528"},{value:"OVERSEAS_SANCTION",label:"\u6D77\u5916\u5236\u88C1"}]}];function WN(t){return{page:(e,n,r,i)=>t(e,{page:n,pageSize:r,filters:i}),pageSize:(e,n,r)=>t(e,{page:1,pageSize:n,filters:r})}}function KN(t,e,n){return{customerContractId:t.customerContractId,purchaseOrderId:t.purchaseOrderId,[e]:n}}async function QN(t,e,n,r,i){let o={customerContractId:t.customerContractId,purchaseOrderId:t.purchaseOrderId,...e,...e.fileType==="CUSTOMS_DECLARATION"?{bankType:void 0}:{bankType:e.bankType}};e.fileType==="CUSTOMS_DECLARATION"&&delete o.bankType;let a=await n("preflight_sales_file",o);if(B1(a))throw new Error(z1(a,"\u9500\u552E\u6587\u4EF6\u751F\u6210\u9884\u68C0\u5931\u8D25"));let s=U1(a),l=Cy(s,"blockingReasons");if(!Ml(s)||s.allowed!==!0||l.length){let d=l.map(p=>typeof p.message=="string"?p.message:"").filter(Boolean);throw new Error(d.join("\uFF1B")||"\u9500\u552E\u6587\u4EF6\u751F\u6210\u9884\u68C0\u672A\u901A\u8FC7")}let c=await n("generate_sales_file",o);if(B1(c))throw new Error(z1(c,"\u9500\u552E\u6587\u4EF6\u751F\u6210\u5931\u8D25"));let u=cP(U1(c));return i(),r?.(t),u}function G1(t){let[e,n]=$n.default.useState({}),[r,i]=$n.default.useState(null),[o,a]=$n.default.useState(null),[s,l]=$n.default.useState(null),[c,u]=$n.default.useState(null),[d,p]=$n.default.useState(null),[h,m]=$n.default.useState(null),f=$n.default.useMemo(()=>qN(t.onAction),[t.onAction]),v=(C,k)=>{let S=ZN(C,k,t.onSalesLineLookup);p(S.query)},g=$n.default.useMemo(()=>WN(t.onQuery),[t.onQuery]),y=(C,k=1,S=e)=>{let E=C==="salesCustomers"?t.customers:C==="salesOrders"?t.orders:t.lines;return g.page(C,k,cp(E).pageSize,S)},w=C=>{n({}),y(C,1,{})};if(t.route.level==="customers"){let C=[{type:"ellipsis",key:"code",header:"\u5BA2\u6237\u4EE3\u7801",width:130},{type:"ellipsis",key:"name",header:"\u5BA2\u6237\u540D\u79F0",width:220,maxWidth:220},{type:"ellipsis",key:"country",header:"\u56FD\u5BB6\u5730\u533A",width:130},{type:"custom",key:"defaultPricingProfitRate",header:"\u9ED8\u8BA4\u5B9A\u4EF7\u5229\u6DA6\u7387",width:150,align:"right",truncate:!1,render:(S,E)=>E.profitRateStatus==="MISSING"?(0,L.jsx)("span",{className:"tcw-tag tcw-tag--warning",children:"\u672A\u7EF4\u62A4"}):qi(E.defaultPricingProfitRate)},{type:"custom",key:"sanctionStatus",header:"\u5236\u88C1\u98CE\u9669",width:120,align:"center",truncate:!1,render:(S,E)=>(0,L.jsx)(H1,{value:E.sanctionStatus})},{type:"text",key:"complianceCheckedAt",header:"\u6700\u8FD1\u68C0\u67E5\u65F6\u95F4",width:170,truncate:!1,format:ut}],k=S=>S.profitRateStatus==="MISSING"?i(S):t.onRouteChange({type:"sales",level:"orders",customerId:S.id});return(0,L.jsxs)("main",{className:"tcw-sales-files-page tcw-sales-page tcw-sales-page--customers",children:[(0,L.jsx)(vy,{title:"\u5BA2\u6237\u4FE1\u606F\u5217\u8868",description:"\u7EF4\u62A4\u9500\u552E\u5BA2\u6237\u4E3B\u4F53\uFF0C\u70B9\u51FB\u8BA2\u5355\u8BE6\u60C5\u8FDB\u5165\u8BE5\u5BA2\u6237\u7684\u9500\u552E\u8BA2\u5355\u5217\u8868\u3002"}),(0,L.jsx)(un,{definitions:jN,values:e,onChange:(S,E)=>n(D=>({...D,[S]:E})),onQuery:()=>{y("salesCustomers")},onReset:()=>w("salesCustomers")}),(0,L.jsx)(Je,{children:"\u5BA2\u6237\u9ED8\u8BA4\u5B9A\u4EF7\u5229\u6DA6\u7387\u4E0D\u80FD\u4E3A\u7A7A\uFF1B\u5236\u88C1\u547D\u4E2D\u53EA\u63D0\u793A\uFF0C\u4E0D\u963B\u6B62\u540E\u7EED\u9500\u552E\u4E1A\u52A1\u3002"}),(0,L.jsx)(ot,{columns:C,rows:t.customers.items,rowKey:"id",pagination:cp(t.customers),onPageChange:S=>{y("salesCustomers",S)},onPageSizeChange:S=>{g.pageSize("salesCustomers",S,e)},emptyText:"\u6682\u65E0\u5BA2\u6237\u6570\u636E",actionWidth:190,actions:S=>(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)("button",{type:"button",onClick:()=>k(S),children:[(0,L.jsx)("i",{className:"ri-file-list-3-line","aria-hidden":"true"}),"\u8BA2\u5355"]}),(0,L.jsxs)("button",{type:"button","aria-label":"\u7EF4\u62A4\u5BA2\u6237\u4FE1\u606F",onClick:()=>a({customer:S,enterOrders:!1}),children:[(0,L.jsx)("i",{className:"ri-user-settings-line","aria-hidden":"true"}),"\u5BA2\u6237\u7EF4\u62A4"]})]})}),(0,L.jsx)(Bt,{open:!!r,title:"\u9ED8\u8BA4\u5229\u6DA6\u7387\u672A\u7EF4\u62A4",message:"\u8BE5\u5BA2\u6237\u5C1A\u672A\u7EF4\u62A4\u9ED8\u8BA4\u5B9A\u4EF7\u5229\u6DA6\u7387\u3002\u662F\u5426\u5148\u7EF4\u62A4\u5229\u6DA6\u7387\u540E\u8FDB\u5165\u8BA2\u5355\u5217\u8868\uFF1F",onCancel:()=>i(null),onConfirm:()=>{r&&a({customer:r,enterOrders:!0}),i(null)}}),o&&(0,L.jsx)(eP,{state:o,busy:t.busy,onClose:()=>a(null),onSave:async S=>{await t.onAction("save_customer_profit_rate",{customerId:o.customer.id,rate:S});let E=o.enterOrders,D=o.customer.id;a(null),E?t.onRouteChange({type:"sales",level:"orders",customerId:D}):y("salesCustomers")}})]})}if(t.route.level==="orders"){let C=t.orders.metrics??{orderCount:0,salesAmountCny:"0",receivedAmountCny:"0",unreceivedAmountCny:"0",currentYearOrderCount:0,currentYearSalesAmountCny:"0",topProducts:[]},k=[{type:"ellipsis",key:"salesOrderNo",header:"\u8BA2\u5355\u53F7",width:170},{type:"ellipsis",key:"customerContractNo",header:"\u5BA2\u6237\u5408\u540C\u53F7",width:170},{type:"ellipsis",key:"purchaseContractNo",header:"\u91C7\u8D2D\u5408\u540C\u53F7",width:170},{type:"text",key:"orderDate",header:"\u4E0B\u5355\u65E5\u671F",width:120,truncate:!1,format:ti},{type:"text",key:"orderAmountCny",header:"\u9500\u552E\u603B\u989D CNY",width:140,align:"right",truncate:!1,format:Dn},{type:"text",key:"receivedAmountCny",header:"\u5DF2\u6536\u6B3E CNY",width:140,align:"right",truncate:!1,format:Dn},{type:"text",key:"unreceivedAmountCny",header:"\u672A\u6536\u6B3E CNY",width:140,align:"right",truncate:!1,format:Dn},{type:"custom",key:"paymentStatus",header:"\u6536\u6B3E\u72B6\u6001",width:110,align:"center",truncate:!1,render:(S,E)=>j1(E.paymentStatus)},{type:"text",key:"effectivePricingProfitRate",header:"\u8BA2\u5355\u5229\u6DA6\u7387",width:120,align:"right",truncate:!1,format:qi},{type:"text",key:"pricingProfitRateSource",header:"\u5229\u6DA6\u7387\u6765\u6E90",width:150,truncate:!1,format:xy}];return(0,L.jsxs)("main",{className:"tcw-sales-files-page tcw-sales-page tcw-sales-page--orders",children:[(0,L.jsxs)("section",{className:"tcw-context-bar",children:[(0,L.jsx)("strong",{children:"\u5BA2\u6237\u6458\u8981"}),(0,L.jsxs)("span",{children:[t.orders.customer?.code||"\u2014"," \xB7 ",t.orders.customer?.name||"\u2014"]}),(0,L.jsx)("span",{children:t.orders.customer?.country||"\u2014"})]}),(0,L.jsx)(vy,{title:"\u9500\u552E\u8BA2\u5355\u5217\u8868",description:"\u67E5\u770B\u5F53\u524D\u5BA2\u6237\u7684\u6D3E\u751F\u9500\u552E\u8BA2\u5355\uFF0C\u70B9\u51FB\u5546\u54C1\u8BE6\u60C5\u8FDB\u5165\u5546\u54C1\u5217\u8868\uFF1B\u53EF\u7EF4\u62A4\u8BA2\u5355\u5B9A\u4EF7\u5229\u6DA6\u7387\u548C\u5DF2\u6536\u6B3E\u3002",action:(0,L.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:()=>t.onRouteChange({type:"sales",level:"customers"}),children:[(0,L.jsx)("i",{className:"ri-arrow-left-line","aria-hidden":"true"}),"\u8FD4\u56DE\u5BA2\u6237\u4FE1\u606F\u5217\u8868"]})}),(0,L.jsx)("section",{className:"tcw-metric-grid",children:[["\u8BA2\u5355\u603B\u6570",String(C.orderCount)],["\u9500\u552E\u603B\u989D",Dn(C.salesAmountCny)],["\u5DF2\u6536\u6B3E",Dn(C.receivedAmountCny)],["\u672A\u6536\u6B3E",Dn(C.unreceivedAmountCny)]].map(([S,E])=>(0,L.jsxs)("article",{children:[(0,L.jsx)("span",{children:S}),(0,L.jsx)("strong",{children:E}),(0,L.jsx)("small",{children:S==="\u8BA2\u5355\u603B\u6570"?"\u7B14":"CNY"})]},S))}),(0,L.jsx)(un,{definitions:$N,values:e,onChange:(S,E)=>n(D=>({...D,[S]:E})),onQuery:()=>{y("salesOrders")},onReset:()=>w("salesOrders")}),(0,L.jsx)(ot,{columns:k,rows:t.orders.items,rowKey:S=>`${S.customerContractId}:${S.purchaseOrderId}`,pagination:cp(t.orders),onPageChange:S=>{y("salesOrders",S)},onPageSizeChange:S=>{g.pageSize("salesOrders",S,e)},emptyText:"\u6682\u65E0\u9500\u552E\u8BA2\u5355",actionWidth:360,actions:S=>(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)("button",{type:"button",onClick:()=>t.onRouteChange({type:"sales",level:"lines",customerId:S.customerId,orderKey:`${S.customerContractId}:${S.purchaseOrderId}`}),children:[(0,L.jsx)("i",{className:"ri-list-check-2","aria-hidden":"true"}),"\u5546\u54C1\u8BE6\u60C5"]}),(0,L.jsxs)("button",{type:"button","aria-label":"\u7EF4\u62A4\u9500\u552E\u8BA2\u5355\u6570\u636E",onClick:E=>{_l(E.currentTarget),l({order:S,field:"pricingProfitRateOverride"})},children:[(0,L.jsx)("i",{className:"ri-percent-line","aria-hidden":"true"}),"\u5229\u6DA6\u7387"]}),(0,L.jsxs)("button",{type:"button",onClick:E=>{_l(E.currentTarget),l({order:S,field:"receivedAmountCny"})},children:[(0,L.jsx)("i",{className:"ri-money-cny-circle-line","aria-hidden":"true"}),"\u6536\u6B3E"]}),(0,L.jsxs)("button",{type:"button","aria-label":"\u751F\u6210\u9500\u552E\u6587\u4EF6",onClick:E=>{_l(E.currentTarget),u(S)},children:[(0,L.jsx)("i",{className:"ri-file-excel-2-line","aria-hidden":"true"}),"\u751F\u6210\u6587\u4EF6"]})]})}),s&&(0,L.jsx)(tP,{state:s,busy:t.busy,onClose:()=>l(null),onSave:async S=>{let{order:E,field:D}=s;await t.onAction("save_derived_manual_data",KN(E,D,S)),l(null),y("salesOrders")}}),c&&(0,L.jsx)(nP,{order:c,busy:t.busy,onClose:()=>u(null),onConfirm:async S=>{try{let E=await QN(c,S,t.onAction,t.onOpenFiles,()=>u(null)),D=E.map(O=>`${O.field}\uFF1A${O.sourceValue}\uFF08${O.message}\uFF09`).join("\uFF1B");t.onNotify?.({message:E.length?`\u9500\u552E\u6587\u4EF6\u751F\u6210\u6210\u529F\uFF0C\u4F46\u90E8\u5206\u5B57\u6BB5\u7FFB\u8BD1\u5931\u8D25\uFF1A${D}`:"\u9500\u552E\u6587\u4EF6\u751F\u6210\u6210\u529F",tone:E.length?"warning":"success"})}catch(E){t.onNotify?.({message:E instanceof Error?E.message:"\u9500\u552E\u6587\u4EF6\u751F\u6210\u5931\u8D25",tone:"error"})}}})]})}let b=t.lines.order,x=[{type:"custom",key:"productName",header:"\u5546\u54C1\u540D\u79F0",width:190,title:(C,k)=>k.productName||void 0,render:(C,k)=>(0,L.jsxs)("button",{type:"button",className:"tcw-table-link",title:k.productName,"aria-label":`\u6309\u5546\u54C1\u540D\u79F0\u67E5\u8BE2\u6D77\u5173\u7F16\u7801\uFF1A${k.productName}`,onClick:()=>v(k,"PRODUCT_NAME"),children:[(0,L.jsx)("i",{className:"ri-search-line","aria-hidden":"true"}),k.productName]})},{type:"ellipsis",key:"productDescription",header:"\u5546\u54C1\u63CF\u8FF0",width:190,maxWidth:190},{type:"ellipsis",key:"modelSpecification",header:"\u89C4\u683C\u578B\u53F7",width:150},{type:"custom",key:"hsCode",header:"HS\u7F16\u7801",width:130,title:(C,k)=>k.hsCode||void 0,render:(C,k)=>k.hsCode?(0,L.jsxs)("button",{type:"button",className:"tcw-table-link",title:k.hsCode,"aria-label":`\u67E5\u8BE2\u6D77\u5173\u7F16\u7801\uFF1A${k.hsCode}`,onClick:()=>v(k,"HS_CODE"),children:[(0,L.jsx)("i",{className:"ri-search-line","aria-hidden":"true"}),k.hsCode]}):"\u2014"},{type:"text",key:"vatRate",header:"\u589E\u503C\u7A0E\u7387",width:100,align:"right",truncate:!1,format:qi},{type:"text",key:"refundRate",header:"\u9000\u7A0E\u7387",width:90,align:"right",truncate:!1,format:qi},{type:"custom",key:"complianceCategories",header:"\u5408\u89C4\u5206\u7C7B",width:170,title:(C,k)=>oP(k.complianceCategories),render:(C,k)=>(0,L.jsx)(iP,{values:k.complianceCategories??[]})},{type:"custom",key:"complianceMatches",header:"\u7BA1\u63A7\u98CE\u9669\u7ED3\u679C",width:160,align:"center",truncate:!1,render:(C,k)=>k.complianceMatches.length?(0,L.jsxs)("button",{type:"button",className:"tcw-sales-risk-status tcw-sales-risk-status--hit",title:`\u67E5\u770B\u5546\u54C1\u98CE\u9669\u660E\u7EC6\uFF1A${k.productName}`,"aria-label":`\u67E5\u770B\u5546\u54C1\u98CE\u9669\u660E\u7EC6\uFF1A${k.productName}`,onClick:S=>{_l(S.currentTarget),m(k)},children:[(0,L.jsx)("i",{className:"ri-error-warning-line","aria-hidden":"true"}),"\u547D\u4E2D ",k.complianceMatches.length]}):(0,L.jsx)("span",{className:"tcw-sales-risk-status tcw-sales-risk-status--clear",children:"\u65E0\u547D\u4E2D"})},{type:"text",key:"quantity",header:"\u6570\u91CF",width:100,align:"right",truncate:!1},{type:"text",key:"salesUnitPriceCny",header:"\u9500\u552E\u5355\u4EF7 CNY",width:140,align:"right",truncate:!1,format:Dn},{type:"text",key:"salesLineAmountCny",header:"\u9500\u552E\u91D1\u989D CNY",width:140,align:"right",truncate:!1,format:Dn}];return(0,L.jsxs)("main",{className:"tcw-sales-files-page tcw-sales-page tcw-sales-page--lines",children:[(0,L.jsx)(vy,{className:"tcw-sales-heading--lines",title:"\u9500\u552E\u5546\u54C1\u5217\u8868",description:"\u53EA\u8BFB\u67E5\u770B\u5F53\u524D\u9500\u552E\u8BA2\u5355\u7684\u6D3E\u751F\u5546\u54C1\u3001\u98CE\u9669\u5339\u914D\u4E0E\u9500\u552E\u91D1\u989D\u3002"}),(0,L.jsxs)("section",{className:"tcw-context-bar tcw-order-summary",children:[(0,L.jsx)("strong",{children:b?.salesOrderNo??"\u9500\u552E\u5546\u54C1"}),(0,L.jsx)("span",{children:b?.customerContractNo}),(0,L.jsx)("span",{children:b?.purchaseContractNo})]}),b&&(0,L.jsxs)(Je,{children:[xy(b.pricingProfitRateSource),"\uFF1A\u5F53\u524D\u9500\u552E\u4EF7\u683C\u6309 ",qi(b.effectivePricingProfitRate)," \u8BA1\u7B97\u3002"]}),(0,L.jsx)(un,{definitions:VN,values:e,onChange:(C,k)=>n(S=>({...S,[C]:k})),onQuery:()=>{y("salesLines")},onReset:()=>w("salesLines")}),(0,L.jsx)(ot,{columns:x,rows:t.lines.items,rowKey:"purchaseOrderLineId",pagination:cp(t.lines),onPageChange:C=>{y("salesLines",C)},onPageSizeChange:C=>{g.pageSize("salesLines",C,e)},emptyText:"\u6682\u65E0\u6D3E\u751F\u9500\u552E\u5546\u54C1",actionWidth:110,actions:C=>(0,L.jsxs)("button",{type:"button","aria-label":`\u67E5\u770B\u98CE\u9669\uFF1A${C.productName}`,onClick:k=>{_l(k.currentTarget),m(C)},children:[(0,L.jsx)("i",{className:"ri-shield-check-line","aria-hidden":"true"}),"\u67E5\u770B\u98CE\u9669"]})}),h&&(0,L.jsx)(JN,{line:h,onClose:()=>m(null)}),(0,L.jsx)(ol,{open:d!==null,initialQuery:d??"",onAction:f,onClose:()=>p(null)})]})}function YN(t,e){return e==="productName"?t.productName:t.hsCode??""}function _l(t){t.closest(".tcw-main")?.scrollTo({top:0,left:0,behavior:"auto"})}function XN(t,e){return{type:"HS_CODE_LOOKUP",field:e,query:YN(t,e==="PRODUCT_NAME"?"productName":"hsCode"),purchaseOrderLineId:t.purchaseOrderLineId}}function ZN(t,e,n){let r=XN(t,e);return n?.(r),r}function qN(t){return(e,n)=>e!=="search_hs_code"&&e!=="get_hs_code_detail"?Promise.resolve({success:!1,message:"\u9500\u552E\u5546\u54C1\u4EC5\u652F\u6301\u6D77\u5173\u7F16\u7801\u67E5\u8BE2"}):t(e,n)}function JN({line:t,onClose:e}){let n=[...new Set([...t.complianceCategories??[],...t.complianceMatches.map(l=>l.catalogType)])],r=M1(t.complianceMatches,"riskDescription"),i=M1(t.complianceMatches,"recommendation"),o=[...new Set(t.complianceMatches.map(l=>l.matchedItemName||l.controlledGoodsId).filter(l=>!!l))],a=t.complianceMatches.map((l,c)=>({...l,sequence:c+1,rowKey:`${l.controlledGoodsId??l.catalogType}-${c}`})),s=[{type:"text",key:"sequence",header:"\u5E8F\u53F7",width:70,align:"right",truncate:!1},{type:"text",key:"catalogType",header:"\u76EE\u5F55\u7C7B\u578B",width:120,truncate:!1,format:l=>up(l)},{type:"text",key:"matchedItem",header:"\u547D\u4E2D\u6761\u76EE",width:220,maxWidth:220,accessor:l=>l.matchedItemName||l.controlledGoodsId||"\u6682\u65E0"},{type:"text",key:"matchMethod",header:"\u5339\u914D\u65B9\u5F0F",width:150,truncate:!1,format:l=>aP(l)},{type:"text",key:"similarityScore",header:"\u76F8\u4F3C\u5EA6",width:100,align:"right",truncate:!1,format:l=>sP(l)}];return(0,L.jsx)(_e,{open:!0,title:"\u5546\u54C1\u98CE\u9669\u8BE6\u60C5",size:"wide",onClose:e,footer:(0,L.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",onClick:e,children:[(0,L.jsx)("i",{className:"ri-check-line","aria-hidden":"true"}),"\u6807\u8BB0\u5DF2\u9605"]}),children:(0,L.jsxs)("div",{className:"tcw-sales-risk-dialog",children:[(0,L.jsxs)("section",{"aria-labelledby":"sales-product-summary-title",children:[(0,L.jsx)("h3",{id:"sales-product-summary-title",children:"\u5546\u54C1\u4E0E\u4EF7\u683C"}),(0,L.jsxs)("dl",{className:"tcw-preflight-summary",children:[(0,L.jsxs)("div",{children:[(0,L.jsx)("dt",{children:"\u5546\u54C1\u540D\u79F0"}),(0,L.jsx)("dd",{children:t.productName})]}),(0,L.jsxs)("div",{children:[(0,L.jsx)("dt",{children:"\u82F1\u6587\u540D\u79F0"}),(0,L.jsx)("dd",{children:t.englishName||"\u6682\u65E0"})]}),(0,L.jsxs)("div",{children:[(0,L.jsx)("dt",{children:"HS\u7F16\u7801"}),(0,L.jsx)("dd",{children:t.hsCode||"\u6682\u65E0"})]}),(0,L.jsxs)("div",{children:[(0,L.jsx)("dt",{children:"\u6570\u91CF"}),(0,L.jsxs)("dd",{children:[t.quantity,t.unit?` ${t.unit}`:""]})]}),(0,L.jsxs)("div",{children:[(0,L.jsx)("dt",{children:"\u9500\u552E\u5355\u4EF7"}),(0,L.jsxs)("dd",{children:[Dn(t.salesUnitPriceCny)," CNY"]})]}),(0,L.jsxs)("div",{children:[(0,L.jsx)("dt",{children:"\u9500\u552E\u91D1\u989D"}),(0,L.jsxs)("dd",{children:[Dn(t.salesLineAmountCny)," CNY"]})]}),(0,L.jsxs)("div",{children:[(0,L.jsx)("dt",{children:"\u5546\u54C1\u63CF\u8FF0"}),(0,L.jsx)("dd",{children:t.productDescription||"\u6682\u65E0"})]}),(0,L.jsxs)("div",{children:[(0,L.jsx)("dt",{children:"\u89C4\u683C\u578B\u53F7"}),(0,L.jsx)("dd",{children:t.modelSpecification||"\u6682\u65E0"})]})]})]}),(0,L.jsxs)("section",{"aria-labelledby":"sales-product-risk-title",children:[(0,L.jsx)("h3",{id:"sales-product-risk-title",children:"\u98CE\u9669\u8BF4\u660E"}),(0,L.jsxs)("dl",{className:"tcw-preflight-summary",children:[(0,L.jsxs)("div",{children:[(0,L.jsx)("dt",{children:"\u98CE\u9669\u7C7B\u578B"}),(0,L.jsx)("dd",{children:n.length?n.map(up).join("\u3001"):"\u65E0"})]}),(0,L.jsxs)("div",{children:[(0,L.jsx)("dt",{children:"\u547D\u4E2D\u5408\u89C4\u5206\u7C7B"}),(0,L.jsx)("dd",{children:n.length?n.map(up).join("\u3001"):"\u65E0"})]}),(0,L.jsxs)("div",{className:"tcw-sales-risk-result",children:[(0,L.jsx)("dt",{children:"\u7BA1\u63A7\u98CE\u9669\u7ED3\u679C"}),(0,L.jsx)("dd",{children:t.complianceMatches.length?`\u547D\u4E2D ${t.complianceMatches.length} \u9879`:"\u65E0\u547D\u4E2D"})]}),(0,L.jsxs)("div",{className:"tcw-sales-match-result",children:[(0,L.jsx)("dt",{children:"\u5339\u914D\u7ED3\u679C"}),(0,L.jsx)("dd",{children:o.length?o.join("\u3001"):"\u65E0\u5339\u914D"})]}),(0,L.jsxs)("div",{children:[(0,L.jsx)("dt",{children:"\u547D\u4E2D\u7ED3\u679C"}),(0,L.jsx)("dd",{children:t.complianceMatches.length?`\u547D\u4E2D ${t.complianceMatches.length} \u9879`:"\u65E0\u547D\u4E2D"})]}),(0,L.jsxs)("div",{children:[(0,L.jsx)("dt",{children:"\u98CE\u9669\u8BF4\u660E"}),(0,L.jsx)("dd",{children:r.length?r.join("\uFF1B"):"\u6682\u65E0"})]}),(0,L.jsxs)("div",{children:[(0,L.jsx)("dt",{children:"\u5904\u7406\u5EFA\u8BAE"}),(0,L.jsx)("dd",{children:i.length?i.join("\uFF1B"):"\u6682\u65E0"})]})]})]}),(0,L.jsxs)("section",{"aria-labelledby":"sales-product-match-title",children:[(0,L.jsx)("h3",{id:"sales-product-match-title",children:"\u7BA1\u63A7/\u5236\u88C1\u5339\u914D\u660E\u7EC6"}),a.length?(0,L.jsx)(ot,{columns:s,rows:a,rowKey:"rowKey"}):(0,L.jsx)("p",{children:"\u6682\u65E0"})]})]})})}function vy({title:t,description:e,action:n,className:r=""}){return(0,L.jsxs)("header",{className:`tcw-sales-heading ${r}`.trim(),children:[(0,L.jsxs)("div",{children:[(0,L.jsx)("h2",{className:"tcw-list-heading",children:t}),(0,L.jsx)("p",{children:e})]}),n]})}function eP({state:t,busy:e,onClose:n,onSave:r}){let i=t.customer,[o,a]=$n.default.useState(i.defaultPricingProfitRate??""),s=[["\u5BA2\u6237\u4EE3\u7801",i.code],["\u5BA2\u6237\u540D\u79F0",i.name],["\u7B80\u79F0",i.shortName],["\u56FD\u5BB6/\u5730\u533A",i.country],["\u8054\u7CFB\u4EBA",i.contactName],["\u8054\u7CFB\u7535\u8BDD",i.phone],["\u5FAE\u4FE1",i.wechat],["\u90AE\u7BB1",i.email],["\u5BA2\u6237\u5730\u5740",i.address],["\u7A0E\u53F7",i.taxNumber],["\u6536\u6B3E\u8D26\u53F7",i.paymentAccount],["\u5F00\u6237\u884C",i.bankName],["\u7EB3\u7A0E\u7B49\u7EA7",i.taxpayerRating],["\u7F51\u7AD9",i.website],["\u7ECF\u8425\u4EA7\u54C1",i.businessProducts]];return(0,L.jsx)(_e,{open:!0,title:"\u7EF4\u62A4\u5BA2\u6237\u4FE1\u606F",size:"wide",onClose:n,footer:(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:n,children:[(0,L.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u53D6\u6D88"]}),(0,L.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:e||!$1(o),onClick:()=>{r(o)},children:[(0,L.jsx)("i",{className:"ri-save-line","aria-hidden":"true"}),"\u4FDD\u5B58"]})]}),children:(0,L.jsxs)("div",{className:"tcw-sales-customer-dialog",children:[(0,L.jsx)("section",{children:(0,L.jsxs)(Rt,{columns:2,children:[s.map(([l,c])=>(0,L.jsx)(se,{label:l,children:(0,L.jsx)("input",{disabled:!0,value:Fl(c)})},l)),(0,L.jsxs)(se,{label:"\u9ED8\u8BA4\u5B9A\u4EF7\u5229\u6DA6\u7387",required:!0,full:!0,children:[(0,L.jsx)("input",{type:"number",min:"0",step:"0.0001",value:o,onChange:l=>a(l.target.value)}),(0,L.jsx)("small",{children:"\u8BF7\u8F93\u5165\u5C0F\u6570\uFF0C\u4F8B\u5982 0.08 \u8868\u793A 8%\u3002"})]})]})}),(0,L.jsxs)("aside",{children:[(0,L.jsxs)("dl",{children:[(0,L.jsx)(Wt,{label:"\u5236\u88C1\u98CE\u9669",value:(0,L.jsx)(H1,{value:i.sanctionStatus})}),(0,L.jsx)(Wt,{label:"\u6700\u8FD1\u68C0\u67E5\u65F6\u95F4",value:by(i.complianceCheckedAt)}),(0,L.jsx)(Wt,{label:"\u521B\u5EFA\u4EBA",value:Fl(i.createdByName??i.createdById)}),(0,L.jsx)(Wt,{label:"\u521B\u5EFA\u65F6\u95F4",value:by(i.createdAt)}),(0,L.jsx)(Wt,{label:"\u6700\u540E\u7F16\u8F91\u4EBA",value:Fl(i.updatedByName??i.updatedById)}),(0,L.jsx)(Wt,{label:"\u6700\u540E\u7F16\u8F91\u65F6\u95F4",value:by(i.updatedAt)})]}),(0,L.jsx)(se,{label:"\u5907\u6CE8",children:(0,L.jsx)("textarea",{disabled:!0,rows:6,value:Fl(i.remarks)})})]}),(0,L.jsx)(Je,{children:"\u5BA2\u6237\u4E3B\u6863\u4FE1\u606F\u6765\u81EA\u9500\u552E\u5BA2\u6237\u8BB0\u5F55\uFF0C\u4EC5\u9ED8\u8BA4\u5B9A\u4EF7\u5229\u6DA6\u7387\u53EF\u5728\u6B64\u7EF4\u62A4\uFF1B\u5236\u88C1\u98CE\u9669\u53EA\u63D0\u793A\uFF0C\u4E0D\u963B\u6B62\u9500\u552E\u4E1A\u52A1\u7EE7\u7EED\u3002"})]})})}function tP({state:t,busy:e,onClose:n,onSave:r}){let i=t.field==="receivedAmountCny",o=t.order,[a,s]=$n.default.useState(i?o.receivedAmountCny:o.pricingProfitRateSource==="ORDER_OVERRIDE"?o.effectivePricingProfitRate:""),l=i?!lP(a)||Number(a)>Number(o.orderAmountCny):a!==""&&!$1(a);return(0,L.jsx)(_e,{open:!0,title:"\u7EF4\u62A4\u9500\u552E\u8BA2\u5355\u6570\u636E",size:"wide",onClose:n,footer:(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:n,children:[(0,L.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u53D6\u6D88"]}),(0,L.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:e||l,onClick:()=>{r(a)},children:[(0,L.jsx)("i",{className:"ri-save-line","aria-hidden":"true"}),"\u4FDD\u5B58"]})]}),children:(0,L.jsxs)("div",{className:"tcw-sales-order-dialog",children:[(0,L.jsx)("section",{children:(0,L.jsxs)(Rt,{columns:1,children:[(0,L.jsx)(se,{label:"\u9500\u552E\u8BA2\u5355\u7F16\u53F7",children:(0,L.jsx)("input",{disabled:!0,value:o.salesOrderNo})}),(0,L.jsx)(se,{label:"\u5BA2\u6237\u5408\u540C\u7F16\u53F7",children:(0,L.jsx)("input",{disabled:!0,value:o.customerContractNo})}),(0,L.jsx)(se,{label:"\u91C7\u8D2D\u5408\u540C\u7F16\u53F7",children:(0,L.jsx)("input",{disabled:!0,value:o.purchaseContractNo})}),(0,L.jsx)(se,{label:"\u8BA2\u5355\u65E5\u671F",children:(0,L.jsx)("input",{disabled:!0,value:Fl(o.orderDate)})}),(0,L.jsx)(se,{label:"\u5E01\u79CD",children:(0,L.jsx)("input",{disabled:!0,value:o.currencyCode})}),(0,L.jsx)(se,{label:"\u8BA2\u5355\u5B9A\u4EF7\u5229\u6DA6\u7387\u8986\u76D6\u503C",hint:i?void 0:"\u7559\u7A7A\u7EE7\u627F\u5BA2\u6237\u9ED8\u8BA4\u5B9A\u4EF7\u5229\u6DA6\u7387",children:(0,L.jsx)("input",{type:"number",min:"0",step:"0.0001",disabled:i,value:i?o.pricingProfitRateSource==="ORDER_OVERRIDE"?o.effectivePricingProfitRate:"":a,onChange:c=>s(c.target.value)})}),(0,L.jsx)(se,{label:"\u6709\u6548\u5B9A\u4EF7\u5229\u6DA6\u7387(\u81EA\u52A8\u8BA1\u7B97)",children:(0,L.jsx)("input",{disabled:!0,value:qi(i?o.effectivePricingProfitRate:a||o.effectivePricingProfitRate)})}),(0,L.jsx)(se,{label:"\u5DF2\u6536\u6B3E\u91D1\u989D(\u4EBA\u6C11\u5E01)",children:(0,L.jsx)("input",{type:"number",min:"0",max:o.orderAmountCny,step:"0.01",disabled:!i,value:i?a:o.receivedAmountCny,onChange:c=>s(c.target.value)})})]})}),(0,L.jsxs)("aside",{children:[(0,L.jsxs)("dl",{children:[(0,L.jsx)(Wt,{label:"\u9500\u552E\u8BA2\u5355\u603B\u989D\uFF08\u4EBA\u6C11\u5E01\uFF09",value:Dn(o.orderAmountCny)}),(0,L.jsx)(Wt,{label:"\u5DF2\u6536\u6B3E\u91D1\u989D(\u4EBA\u6C11\u5E01)",value:Dn(i?a:o.receivedAmountCny)}),(0,L.jsx)(Wt,{label:"\u672A\u6536\u6B3E\uFF08\u4EBA\u6C11\u5E01\uFF09",value:Dn(i?Math.max(Number(o.orderAmountCny)-Number(a||0),0):o.unreceivedAmountCny)}),(0,L.jsx)(Wt,{label:"\u56DE\u6B3E\u72B6\u6001",value:j1(o.paymentStatus)}),(0,L.jsx)(Wt,{label:"\u6240\u5C5E\u5BA2\u6237",value:o.customerName}),(0,L.jsx)(Wt,{label:"\u6709\u6548\u5B9A\u4EF7\u5229\u6DA6\u7387",value:qi(i?o.effectivePricingProfitRate:a||o.effectivePricingProfitRate)}),(0,L.jsx)(Wt,{label:"\u6570\u636E\u6765\u6E90",value:`${xy(o.pricingProfitRateSource)} + \u4EBA\u5DE5\u7EF4\u62A4`})]}),(0,L.jsx)(Je,{children:"\u5DF2\u6536\u6B3E\u91D1\u989D\u4E0D\u5F97\u5927\u4E8E\u9500\u552E\u8BA2\u5355\u603B\u989D\uFF1B\u4FEE\u6539\u4FDD\u5B58\u540E\u5373\u65F6\u5F71\u54CD\u8BA2\u5355\u8BA1\u7B97\u4E0E\u62A5\u8868\u5C55\u793A\u3002"})]}),i&&Number(a)>Number(o.orderAmountCny)&&(0,L.jsx)(ct,{children:"\u5DF2\u6536\u6B3E\u4E0D\u5F97\u8D85\u8FC7\u5B9E\u65F6\u8BA2\u5355\u603B\u989D\u3002"})]})})}function nP({order:t,busy:e,initialFileType:n="PI_CI_PL",onClose:r,onConfirm:i}){let[o,a]=$n.default.useState({fileType:n,bankType:"OVERSEAS_CNY",templateVersion:"DEFAULT_V1_2",fileNumber:`SF-${t.salesOrderNo}`,remarks:""}),s=(u,d)=>a(p=>({...p,[u]:d})),l=rP(o.fileType),c=o.fileType!=="CUSTOMS_DECLARATION";return(0,L.jsx)(_e,{open:!0,title:"\u751F\u6210\u9500\u552E\u6587\u4EF6",size:"wide",onClose:r,footer:(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:r,children:[(0,L.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u53D6\u6D88"]}),(0,L.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:e||!o.fileNumber.trim(),onClick:()=>{i(o)},children:[(0,L.jsx)("i",{className:"ri-file-add-line","aria-hidden":"true"}),"\u786E\u8BA4\u751F\u6210"]})]}),children:(0,L.jsxs)("div",{className:"tcw-sales-generate-dialog",children:[(0,L.jsxs)("dl",{className:"tcw-sales-generate-summary",children:[(0,L.jsx)(Wt,{label:"\u5BA2\u6237\u540D\u79F0",value:t.customerName}),(0,L.jsx)(Wt,{label:"\u9500\u552E\u8BA2\u5355\u7F16\u53F7",value:t.salesOrderNo}),(0,L.jsx)(Wt,{label:"\u5BA2\u6237\u5408\u540C\u7F16\u53F7",value:t.customerContractNo}),(0,L.jsx)(Wt,{label:"\u9500\u552E\u8BA2\u5355\u603B\u989D\uFF08\u4EBA\u6C11\u5E01\uFF09",value:Dn(t.orderAmountCny)}),(0,L.jsx)(Wt,{label:"\u6709\u6548\u5B9A\u4EF7\u5229\u6DA6\u7387",value:qi(t.effectivePricingProfitRate)})]}),(0,L.jsxs)("div",{className:"tcw-sales-generate-content",children:[(0,L.jsxs)("section",{children:[(0,L.jsx)(se,{label:"\u6587\u4EF6\u7C7B\u578B",required:!0,children:(0,L.jsxs)("select",{value:o.fileType,onChange:u=>s("fileType",u.target.value),children:[(0,L.jsx)("option",{value:"PI_CI_PL",children:"PI/CI/PL"}),(0,L.jsx)("option",{value:"PI",children:"PI"}),(0,L.jsx)("option",{value:"CI",children:"CI"}),(0,L.jsx)("option",{value:"PL",children:"PL"}),(0,L.jsx)("option",{value:"CUSTOMS_DECLARATION",children:"\u62A5\u5173\u5355"})]})}),c&&(0,L.jsx)(se,{label:"\u94F6\u884C\u4FE1\u606F",required:!0,children:(0,L.jsxs)("select",{value:o.bankType,onChange:u=>s("bankType",u.target.value),children:[(0,L.jsx)("option",{value:"OVERSEAS_CNY",children:"\u5883\u5916\u4EBA\u6C11\u5E01\u8D26\u6237"}),(0,L.jsx)("option",{value:"OVERSEAS_USD",children:"\u5883\u5916\u7F8E\u5143\u8D26\u6237"})]})}),(0,L.jsx)(se,{label:"\u6A21\u677F\u7248\u672C",required:!0,children:(0,L.jsx)("select",{value:o.templateVersion,onChange:u=>s("templateVersion",u.target.value),children:(0,L.jsx)("option",{value:"DEFAULT_V1_2",children:"\u9ED8\u8BA4\u6A21\u677F v1.2"})})}),(0,L.jsx)(se,{label:"\u6587\u4EF6\u7F16\u53F7",required:!0,children:(0,L.jsx)("input",{value:o.fileNumber,onChange:u=>s("fileNumber",u.target.value)})}),(0,L.jsx)(se,{label:"\u5907\u6CE8",children:(0,L.jsx)("textarea",{rows:3,maxLength:200,placeholder:"\u8BF7\u8F93\u5165\u5907\u6CE8\uFF08\u53EF\u9009\uFF0C\u81EA\u5B9A\u4E49\u8BF4\u660E\uFF09",value:o.remarks,onChange:u=>s("remarks",u.target.value)})})]}),(0,L.jsxs)("aside",{children:[(0,L.jsx)("h3",{children:"\u751F\u6210\u9884\u89C8"}),(0,L.jsx)("p",{children:"\u7CFB\u7EDF\u5C06\u57FA\u4E8E\u6240\u9009\u4FE1\u606F\u751F\u6210\u4EE5\u4E0B\u6587\u4EF6\uFF1A"}),(0,L.jsx)("ul",{children:l.map(u=>(0,L.jsxs)("li",{children:[(0,L.jsx)("i",{className:"ri-file-text-line","aria-hidden":"true"}),u.label]},u.type))})]})]}),(0,L.jsx)(ct,{children:"\u7CFB\u7EDF\u5C06\u81EA\u52A8\u5E26\u51FA\u5BA2\u6237\u4FE1\u606F\u3001\u8BA2\u5355\u5546\u54C1\u3001\u6709\u6548\u5B9A\u4EF7\u5229\u6DA6\u7387\u4E0E\u56DE\u6B3E\u4FE1\u606F\uFF0C\u751F\u6210\u540E\u8BF7\u5230\u9500\u552E\u6587\u4EF6\u7BA1\u7406\u67E5\u770B\u548C\u4E0B\u8F7D\u3002"})]})})}function rP(t){let e=[{type:"PI",label:"Proforma Invoice\uFF08\u5F62\u5F0F\u53D1\u7968\uFF09"},{type:"CI",label:"Commercial Invoice\uFF08\u5546\u4E1A\u53D1\u7968\uFF09"},{type:"PL",label:"Packing List\uFF08\u88C5\u7BB1\u5355\uFF09"},{type:"CUSTOMS_DECLARATION",label:"\u62A5\u5173\u5355"}];return t==="PI_CI_PL"?e.filter(n=>n.type!=="CUSTOMS_DECLARATION"):e.filter(n=>n.type===t)}function Wt({label:t,value:e}){return(0,L.jsxs)("div",{children:[(0,L.jsx)("dt",{children:t}),(0,L.jsx)("dd",{children:e})]})}function Fl(t){return t==null||t===""?"\u2014":String(t)}function by(t){return t?new Date(String(t)).toLocaleString("zh-CN"):"\u2014"}function H1({value:t}){return(0,L.jsx)("span",{className:`tcw-tag${t==="HIT"?" tcw-tag--danger":t==="UNCHECKED"?" tcw-tag--warning":""}`,children:t==="HIT"?"\u547D\u4E2D\u63D0\u9192":t==="CLEAR"?"\u65E0\u547D\u4E2D":"\u672A\u68C0\u67E5"})}function iP({values:t}){return(0,L.jsx)("div",{className:"tcw-tag-list",children:t.length?t.map(e=>(0,L.jsx)("span",{className:"tcw-tag",children:e==="DUAL_USE"?"\u519B\u6C11\u4E24\u7528":"\u6D77\u5916\u5236\u88C1"},e)):(0,L.jsx)("span",{children:"\u2014"})})}function up(t){return t==="DUAL_USE"?"\u519B\u6C11\u4E24\u7528":"\u6D77\u5916\u5236\u88C1"}function oP(t){return t?.length?t.map(up).join("\u3001"):void 0}function cp(t){let e=t.pageSize??HN,n=t.total??0;return{total:n,page:t.page??1,pageSize:e,pageCount:Math.max(1,Math.ceil(n/e))}}function Dn(t){let e=Number(t);return Number.isFinite(e)?e.toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2}):"\u2014"}function qi(t){let e=Number(t);return Number.isFinite(e)?`${(e*100).toFixed(2)}%`:"\u2014"}function j1(t){return t==="PAID"?"\u5DF2\u6536\u6B3E":t==="PARTIAL"?"\u90E8\u5206\u6536\u6B3E":"\u672A\u6536\u6B3E"}function xy(t){return t==="ORDER_OVERRIDE"?"\u8BA2\u5355\u5355\u72EC\u5229\u6DA6\u7387":"\u7EE7\u627F\u5BA2\u6237\u9ED8\u8BA4\u5229\u6DA6\u7387"}function aP(t){return t==="HS_CODE_EXACT"?"\u6D77\u5173\u7F16\u7801\u7CBE\u786E\u5339\u914D":t==="NAME_CONTAINS"?"\u5546\u54C1\u540D\u79F0\u5305\u542B\u5339\u914D":"\u540D\u79F0\u76F8\u4F3C\u5EA6\u5339\u914D"}function sP(t){let e=Number(t);return t!=null&&t!==""&&Number.isFinite(e)?`${(e*100).toFixed(2)}%`:"\u6682\u65E0"}function M1(t,e){return[...new Set(t.map(n=>n[e]?.trim()).filter(n=>!!n))]}function $1(t){return t.trim()!==""&&Number.isFinite(Number(t))&&Number(t)>=0}function lP(t){return t.trim()!==""&&Number.isFinite(Number(t))&&Number(t)>=0}function B1(t){return!!(t&&typeof t=="object"&&"success"in t&&t.success===!1)}function z1(t,e){return t.message||t.error?.message||e}function Ml(t){return!!(t&&typeof t=="object"&&!Array.isArray(t))}function U1(t){return Ml(t)&&"data"in t?t.data:t}function Cy(t,e){return Ml(t)&&Array.isArray(t[e])?t[e].filter(Ml):[]}function cP(t){if(!Ml(t))return[];let e=Cy(t,"files");return(e.length?e:[t]).flatMap(r=>Cy(r,"translationFailures")).filter(uP)}function uP(t){return t.code==="TRANSLATION_FAILED"&&typeof t.field=="string"&&typeof t.sourceValue=="string"&&typeof t.message=="string"}var At=be(Qt(),1);var T=be(Be(),1),Y1=20,dP=[{type:"text",key:"salesOrderNo",label:"\u9500\u552E\u8BA2\u5355\u7F16\u53F7"},{type:"text",key:"customerContractNo",label:"\u5BA2\u6237\u5408\u540C\u7F16\u7801"},{type:"text",key:"purchaseContractNo",label:"\u91C7\u8D2D\u5408\u540C\u7F16\u53F7"},{type:"text",key:"supplierName",label:"\u4F9B\u5E94\u5546"},{type:"text",key:"customerName",label:"\u5BA2\u6237"}],pP=[{type:"text",key:"fileName",label:"\u6587\u4EF6\u7F16\u53F7/\u6587\u4EF6\u540D\u79F0"},{type:"text",key:"customerName",label:"\u5BA2\u6237\u540D\u79F0"},{type:"text",key:"salesOrderNo",label:"\u9500\u552E\u8BA2\u5355\u7F16\u53F7"},{type:"select",key:"fileType",label:"\u6587\u4EF6\u7C7B\u578B",options:[{value:"PI",label:"PI\uFF08\u5F62\u5F0F\u53D1\u7968\uFF09"},{value:"CI",label:"CI\uFF08\u5546\u4E1A\u53D1\u7968\uFF09"},{value:"PL",label:"PL\uFF08\u88C5\u7BB1\u5355\uFF09"},{value:"CUSTOMS_DECLARATION",label:"\u62A5\u5173\u5355"}]}],hP=[{type:"PI",label:"PI",icon:"ri-file-text-line"},{type:"CI",label:"CI",icon:"ri-bill-line"},{type:"PL",label:"PL",icon:"ri-archive-line"},{type:"CUSTOMS_DECLARATION",label:"\u62A5\u5173\u5355",icon:"ri-government-line"}];async function fP({selectedIds:t,rows:e,deleteFile:n,refresh:r,query:i,notify:o,isCurrent:a=()=>!0}){let s=[...t],l=new Map(e.map(p=>[p.id,p.fileName||p.id])),c=await rr(s,p=>n(p,{suppressRefresh:!0})),u=c.failed.map(p=>({...p,label:l.get(p.key)??p.key})),d=Lr(i.page,e.filter(p=>!c.succeeded.includes(p.id)).length);if(!a())return{selectedIds:new Set(s),failures:u,refreshFailed:!1,stale:!0};try{let p=await r({...i,page:d});if(!a())return{selectedIds:new Set(s),failures:u,refreshFailed:!1,stale:!0};if(p===!1)return{selectedIds:new Set(s),failures:u,refreshFailed:!0,stale:!1}}catch{return a()?{selectedIds:new Set(s),failures:u,refreshFailed:!0,stale:!1}:{selectedIds:new Set(s),failures:u,refreshFailed:!1,stale:!0}}return u.length===0?o?.({message:`\u5DF2\u5220\u9664 ${c.succeeded.length} \u6761`,tone:"success"}):o?.({message:`\u6210\u529F ${c.succeeded.length}\u3001\u5931\u8D25 ${u.length}`,tone:c.succeeded.length>0?"warning":"error"}),{selectedIds:new Set(u.map(p=>p.key)),failures:u,refreshFailed:!1,stale:!1}}function mP(t,e,n){let r=new Set(n.map(i=>i.id));return{selectedIds:new Set([...t].filter(i=>r.has(i))),failures:e.filter(i=>r.has(i.key))}}function gP(t,e){return t||!e}function yP(t,e,n){let r=new Set(t);for(let i of e)n?r.add(i):r.delete(i);return r}function wP(t){return{orders:(e,n,r)=>t("salesFileOrders",{page:e,pageSize:n,filters:r}),ordersPageSize:(e,n)=>t("salesFileOrders",{page:1,pageSize:e,filters:n}),archive:(e,n,r)=>t("generatedFiles",{page:e,pageSize:n,filters:r}),history:(e,n,r)=>t("generatedFiles",Va(r,e,n)),historyPageSize:(e,n)=>t("generatedFiles",Va(n,1,e))}}function X1(t){let[e,n]=At.default.useState({}),[r,i]=At.default.useState(null),[o,a]=At.default.useState(null),[s,l]=At.default.useState(null),[c,u]=At.default.useState(null),[d,p]=At.default.useState(null),[h,m]=At.default.useState(t.initialView==="generation"),[f,v]=At.default.useState(new Set),[g,y]=At.default.useState(!1),[w,b]=At.default.useState(!1),[x,C]=At.default.useState([]),k=!!t.activeOrder,S=k?`history:${t.activeOrder.customerContractId}:${t.activeOrder.purchaseOrderId}`:h?"generation":"archive",E=At.default.useRef(null);E.current||(E.current=Hu());let D=At.default.useRef(null);D.current||(D.current=ju(S)),D.current.observeIdentity(S);let O=At.default.useMemo(()=>wP(t.onQuery),[t.onQuery]),H=pi(t.orders).pageSize,M=pi(t.history).pageSize,_=At.default.useCallback(()=>{D.current.invalidate(),v(new Set),C([]),y(!1)},[]),V=(B=1,U=e)=>(_(),O.orders(B,H,U)),G=At.default.useRef({page:pi(t.history).page,pageSize:M,filters:{},...t.activeOrder?{parameters:{customerContractId:t.activeOrder.customerContractId,purchaseOrderId:t.activeOrder.purchaseOrderId}}:{}}),K=B=>(_(),G.current=B,t.onQueryRequested?.(B),t.onQuery("generatedFiles",B)),J=(B=1)=>t.activeOrder&&K(Va(t.activeOrder,B,M)),ie=t.busy||t.externalBulkBusy||w,ue=B=>({selectedKeys:f,onToggle:U=>{ie||v(q=>yr(q,U))},onTogglePage:U=>{ie||v(q=>yP(q,B.map(le=>le.id),U))},onClear:()=>{ie||v(new Set)},onDelete:()=>{ie||(C([]),y(!0))},labelFor:U=>`\u9009\u62E9\u9500\u552E\u6587\u4EF6\uFF1A${U.fileName||U.id}`,disabled:ie}),we=B=>{if(ie||f.size===0)return;$u({confirmGuard:E.current,generationGuard:D.current,operation:q=>fP({selectedIds:f,rows:t.history.items,deleteFile:(le,ne)=>t.onAction("delete_entity",{entityType:"generatedFile",id:le},ne),refresh:le=>t.onQuery("generatedFiles",le),query:B,notify:t.onNotify,isCurrent:q}),onCurrentResult:q=>{v(q.selectedIds),C(q.failures),!q.refreshFailed&&q.failures.length===0&&y(!1)},onStaleReconcile:async()=>{await t.onBulkReconcile?.()},onBusyChange:q=>{b(q),t.onBulkBusyChange?.(q)}})?.catch(()=>{})};At.default.useEffect(()=>_(),[t.activeOrder,h,_]),At.default.useEffect(()=>(t.onBulkViewActiveChange?.(gP(k,h)),()=>{t.onBulkViewActiveChange?.(!1),D.current.invalidate()}),[t.onBulkViewActiveChange,k,h]),At.default.useEffect(()=>{let B=mP(f,x,t.history.items);B.selectedIds.size!==f.size&&v(B.selectedIds),B.failures.length!==x.length&&C(B.failures)},[t.history.items]);let Y=async(B,U)=>{if(U==="CUSTOMS_DECLARATION"){await Q(Q1(B,U));return}i({order:B,type:U})},Q=async B=>{try{let U=await t.onAction("preflight_sales_file",B);i(null),a({input:B,result:U.data})}catch(U){t.onNotify?.({message:U instanceof Error?U.message:"\u751F\u6210\u9884\u68C0\u5931\u8D25",tone:"error"})}},F=B=>{(t.onDownload?Promise.resolve(t.onDownload(B)):t.onAction("download_sales_file",{id:B.id}).then(()=>{})).catch(q=>t.onNotify?.({message:q instanceof Error?q.message:"\u9500\u552E\u6587\u4EF6\u4E0B\u8F7D\u5931\u8D25",tone:"error"}))};if(k){let B=!!t.onEdit,U=[{type:"ellipsis",key:"salesOrderNoSnapshot",header:"\u9500\u552E\u8BA2\u5355\u7F16\u53F7",width:180},{type:"text",key:"fileType",header:"\u6587\u4EF6\u7C7B\u578B",width:100,truncate:!1,format:Bl},{type:"ellipsis",key:"fileName",header:"\u6587\u4EF6\u540D",width:260,maxWidth:260},{type:"text",key:"generatedAt",header:"\u751F\u6210\u65F6\u95F4",width:180,truncate:!1,format:ut},{type:"text",key:"lastEditedAt",header:"\u6700\u540E\u7F16\u8F91\u65F6\u95F4",width:180,truncate:!1,format:ut}];return(0,T.jsxs)("main",{className:"tcw-sales-files-page tcw-sales-files-page--history",children:[(0,T.jsx)("header",{className:"tcw-sales-heading",children:(0,T.jsxs)("div",{children:[(0,T.jsx)("h2",{className:"tcw-list-heading",children:"\u9500\u552E\u6587\u4EF6\u5217\u8868"}),(0,T.jsx)("p",{children:B?"\u7BA1\u7406\u5F53\u524D\u9500\u552E\u8BA2\u5355\u7684\u5386\u53F2\u751F\u6210\u6587\u4EF6\uFF0C\u652F\u6301\u4E0B\u8F7D\u3001\u5728\u7EBF\u5BA1\u6838\u4E0E\u903B\u8F91\u5220\u9664\u3002":"\u7BA1\u7406\u5F53\u524D\u9500\u552E\u8BA2\u5355\u7684\u5386\u53F2\u751F\u6210\u6587\u4EF6\uFF0C\u652F\u6301\u4E0B\u8F7D\u4E0E\u903B\u8F91\u5220\u9664\u3002"})]})}),(0,T.jsxs)("section",{className:"tcw-context-bar",children:[(0,T.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:()=>{_(),t.onOpenSalesOrder(null),K({page:1,pageSize:M,filters:{}})},children:[(0,T.jsx)("i",{className:"ri-arrow-left-line","aria-hidden":"true"}),"\u8FD4\u56DE"]}),(0,T.jsx)("strong",{children:"\u5386\u53F2\u6587\u4EF6"}),(0,T.jsx)("span",{children:t.activeOrder?.salesOrderNo})]}),(0,T.jsx)(ot,{columns:U,rows:t.history.items,rowKey:"id",selection:ue(t.history.items),pagination:pi(t.history),onPageChange:q=>{J(q)},onPageSizeChange:q=>{t.activeOrder&&K(Va(t.activeOrder,1,q))},emptyText:"\u6682\u65E0\u5386\u53F2\u751F\u6210\u6587\u4EF6",actionWidth:B?230:170,actions:q=>(0,T.jsxs)(T.Fragment,{children:[(0,T.jsxs)("button",{type:"button",disabled:ie,onClick:()=>F(q),children:[(0,T.jsx)("i",{className:"ri-download-line","aria-hidden":"true"}),"\u4E0B\u8F7D"]}),B&&(0,T.jsxs)("button",{type:"button",disabled:ie,onClick:()=>t.onEdit?.(q),children:[(0,T.jsx)("i",{className:"ri-edit-box-line","aria-hidden":"true"}),"\u5BA1\u6838"]}),(0,T.jsxs)("button",{type:"button",className:"is-danger",disabled:ie,onClick:()=>u(q),children:[(0,T.jsx)("i",{className:"ri-delete-bin-line","aria-hidden":"true"}),"\u5220\u9664"]})]})}),c&&(0,T.jsx)(K1,{file:c,order:t.activeOrder??void 0,busy:ie,onCancel:()=>u(null),onConfirm:async()=>{if(!ie)try{await t.onAction("delete_entity",{entityType:"generatedFile",id:c.id}),t.onNotify?.({message:"\u5386\u53F2\u6587\u4EF6\u5220\u9664\u6210\u529F",tone:"success"}),u(null),await J()}catch(q){t.onNotify?.({message:q instanceof Error?q.message:"\u5386\u53F2\u6587\u4EF6\u5220\u9664\u5931\u8D25",tone:"error"})}}}),(0,T.jsx)(En,{open:g,title:"\u6279\u91CF\u5220\u9664\u9500\u552E\u6587\u4EF6",count:f.size,message:"\u5C06\u5220\u9664\u6240\u9009\u9500\u552E\u6587\u4EF6\uFF1B\u5220\u9664\u540E\u4E0D\u53EF\u6062\u590D\uFF1B\u8BA2\u5355\u53CA\u5176\u4ED6\u4E1A\u52A1\u6570\u636E\u4E0D\u53D7\u5F71\u54CD\u3002",busy:ie,failures:x,onCancel:()=>{w||y(!1)},onConfirm:()=>we(Va(t.activeOrder,pi(t.history).page,pi(t.history).pageSize))})]})}if(!h){let B=le=>q1(le,t.orders.items),U=(le,ne,ae)=>t.onQuery("generatedFiles",{page:le,pageSize:ne,filters:ae}),q=t.history.items[0];return(0,T.jsxs)("main",{className:"tcw-sales-files-page tcw-file-prototype-page",children:[(0,T.jsx)(vP,{files:t.history,orders:t.orders.items,busy:ie,navigationBusy:t.busy,selection:ue(t.history.items),onQuery:(le,ne,ae)=>K({page:le,pageSize:ne,filters:ae}),onInvalidate:_,onDetail:p,onDownload:F,onExcelEdit:t.onEdit,onDelete:u,onGenerate:()=>{_(),t.onBulkViewActiveChange?.(!1),m(!0)}}),t.visualPrototypeState==="upload"&&(0,T.jsx)(xP,{busy:t.busy,orders:t.orders.items,onClose:t.onPrototypeStateClose??V1}),d&&(0,T.jsx)(CP,{file:d,order:B(d),onClose:()=>p(null),onDownload:()=>F(d)}),t.visualPrototypeState==="form-editor"&&q&&(0,T.jsx)(SP,{file:q,order:B(q),busy:t.busy,onClose:t.onPrototypeStateClose??V1}),c&&(0,T.jsx)(K1,{file:c,order:B(c),busy:ie,onCancel:()=>u(null),onConfirm:async()=>{if(!ie)try{await t.onAction("delete_entity",{entityType:"generatedFile",id:c.id}),t.onNotify?.({message:"\u9500\u552E\u6587\u4EF6\u5220\u9664\u6210\u529F",tone:"success"}),u(null),_(),await U(1,pi(t.history).pageSize,{})}catch(le){t.onNotify?.({message:le instanceof Error?le.message:"\u9500\u552E\u6587\u4EF6\u5220\u9664\u5931\u8D25",tone:"error"})}}}),(0,T.jsx)(En,{open:g,title:"\u6279\u91CF\u5220\u9664\u9500\u552E\u6587\u4EF6",count:f.size,message:"\u5C06\u5220\u9664\u6240\u9009\u9500\u552E\u6587\u4EF6\uFF1B\u5220\u9664\u540E\u4E0D\u53EF\u6062\u590D\uFF1B\u8BA2\u5355\u53CA\u5176\u4ED6\u4E1A\u52A1\u6570\u636E\u4E0D\u53D7\u5F71\u54CD\u3002",busy:ie,failures:x,onCancel:()=>{w||y(!1)},onConfirm:()=>we(G.current)})]})}let ee=[{type:"ellipsis",key:"salesOrderNo",header:"\u9500\u552E\u8BA2\u5355\u7F16\u53F7",width:180},{type:"ellipsis",key:"customerContractNo",header:"\u5BA2\u6237\u5408\u540C\u7F16\u7801",width:180},{type:"ellipsis",key:"purchaseContractNo",header:"\u91C7\u8D2D\u5408\u540C\u7F16\u53F7",width:180},{type:"ellipsis",key:"supplierName",header:"\u4F9B\u5E94\u5546",width:210,maxWidth:210},{type:"ellipsis",key:"customerName",header:"\u5BA2\u6237",width:210,maxWidth:210},{type:"text",key:"orderAmountCny",header:"\u9500\u552E\u603B\u989D CNY",width:150,align:"right",truncate:!1,format:Wa},{type:"text",key:"receivedAmountCny",header:"\u5DF2\u6536\u6B3E CNY",width:150,align:"right",truncate:!1,format:Wa},{type:"text",key:"unreceivedAmountCny",header:"\u672A\u6536\u6B3E CNY",width:150,align:"right",truncate:!1,format:Wa}];return(0,T.jsxs)("main",{className:"tcw-sales-files-page tcw-sales-files-page--orders",children:[(0,T.jsx)("div",{className:"tcw-sales-file-mode-row",children:(0,T.jsx)(Z1,{mode:"order",busy:t.busy,onModeChange:B=>{B==="standard"&&(t.onBulkViewActiveChange?.(!0),m(!1))}})}),s&&(0,T.jsx)(EP,{result:s}),(0,T.jsx)(un,{definitions:dP,values:e,onChange:(B,U)=>n(q=>({...q,[B]:U})),onQuery:()=>{V()},onReset:()=>{n({}),V(1,{})}}),(0,T.jsx)(ot,{columns:ee,rows:t.orders.items,rowKey:B=>`${B.customerContractId}:${B.purchaseOrderId}`,pagination:pi(t.orders),onPageChange:B=>{V(B)},onPageSizeChange:B=>{_(),O.ordersPageSize(B,e)},emptyText:"\u6682\u65E0\u5DF2\u5173\u8054\u7684\u6D3E\u751F\u9500\u552E\u8BA2\u5355",actionWidth:330,actions:B=>(0,T.jsxs)(T.Fragment,{children:[hP.map(U=>(0,T.jsxs)("button",{type:"button",disabled:ie,onClick:()=>{Y(B,U.type)},children:[(0,T.jsx)("i",{className:U.icon,"aria-hidden":"true"}),U.type==="CUSTOMS_DECLARATION"?"\u62A5\u5173":U.label]},U.type)),(0,T.jsxs)("button",{type:"button",disabled:t.busy,onClick:()=>{_(),t.onBulkViewActiveChange?.(!0),t.onOpenSalesOrder(B),K(Va(B,1,Y1))},children:[(0,T.jsx)("i",{className:"ri-history-line","aria-hidden":"true"}),"\u5386\u53F2"]})]})}),r&&(0,T.jsx)(TP,{generation:r,banks:t.banks,busy:t.busy,onClose:()=>i(null),onGenerate:B=>Q(Q1(r.order,r.type,B))}),o&&(0,T.jsx)(RP,{busy:t.busy,result:o.result,onCancel:()=>a(null),onConfirm:async()=>{try{let U=(await t.onAction("generate_sales_file",o.input)).data;t.onNotify?.({message:`\u6587\u4EF6\u5DF2\u751F\u6210\uFF1A${U.fileName}`,tone:"success"}),l(U.translationFailures.length?U:null),a(null)}catch(B){t.onNotify?.({message:B instanceof Error?B.message:"\u6587\u4EF6\u751F\u6210\u5931\u8D25",tone:"error"})}}})]})}function V1(){}function vP({files:t,orders:e,busy:n,navigationBusy:r=!1,selection:i,onQuery:o,onInvalidate:a,onDetail:s,onDownload:l,onExcelEdit:c,onDelete:u,onGenerate:d}){let[p,h]=At.default.useState({}),m=pi(t),f=[{type:"ellipsis",key:"id",header:"\u6587\u4EF6\u7F16\u53F7",width:160},{type:"ellipsis",key:"customerName",header:"\u5BA2\u6237\u540D\u79F0",width:190,accessor:w=>w.customerName??q1(w,e)?.customerName??"\u2014"},{type:"ellipsis",key:"salesOrderNoSnapshot",header:"\u9500\u552E\u8BA2\u5355\u7F16\u53F7",width:150},{type:"text",key:"fileType",header:"\u6587\u4EF6\u7C7B\u578B",width:130,truncate:!1,format:zl},{type:"text",key:"templateVersion",header:"\u6A21\u677F\u7248\u672C",width:100,accessor:()=>"\u2014",truncate:!1},{type:"text",key:"currency",header:"\u5E01\u79CD",width:80,accessor:()=>"\u2014",truncate:!1},{type:"text",key:"status",header:"\u6587\u4EF6\u72B6\u6001",width:100,align:"center",accessor:()=>"\u2014",truncate:!1},{type:"text",key:"creator",header:"\u751F\u6210\u4EBA",width:90,accessor:()=>"\u2014",truncate:!1},{type:"text",key:"generatedAt",header:"\u751F\u6210\u65F6\u95F4",width:170,truncate:!1,format:ut}],v=(w=1,b=p)=>o(w,m.pageSize,b),g=!!c,y=g?196:152;return(0,T.jsxs)("section",{className:"tcw-file-prototype-list",children:[d&&(0,T.jsx)("div",{className:"tcw-sales-file-mode-row",children:(0,T.jsx)(Z1,{mode:"standard",busy:r,onModeChange:w=>{w==="order"&&d()}})}),(0,T.jsx)(un,{definitions:pP,values:p,onChange:(w,b)=>{a?.(),h(x=>({...x,[w]:b}))},onQuery:()=>{v()},onReset:()=>{a?.(),h({}),v(1,{})}}),(0,T.jsx)(Je,{children:g?"\u9500\u552E\u6587\u4EF6\u7531\u9500\u552E\u8BA2\u5355\u751F\u6210\uFF0C\u652F\u6301\u5F52\u6863\u67E5\u8BE2\u3001\u5728\u7EBF\u5BA1\u6838\u3001\u4E0B\u8F7D\u4E0E\u5220\u9664\u3002":"\u9500\u552E\u6587\u4EF6\u7531\u9500\u552E\u8BA2\u5355\u751F\u6210\uFF0C\u652F\u6301\u5F52\u6863\u67E5\u8BE2\u3001\u4E0B\u8F7D\u4E0E\u5220\u9664\u3002"}),(0,T.jsx)(ot,{columns:f,rows:t.items,rowKey:"id",selection:i,pagination:m,onPageChange:w=>{v(w)},onPageSizeChange:w=>{o(1,w,p)},emptyText:"\u6682\u65E0\u5F52\u6863\u9500\u552E\u6587\u4EF6",actionWidth:y,actions:w=>(0,T.jsx)(bP,{file:w,busy:n,onDownload:l,onExcelEdit:c,onDelete:u})})]})}function Z1({mode:t,busy:e,onModeChange:n}){return(0,T.jsxs)("div",{className:"tcw-segmented-control tcw-sales-file-mode-switch",role:"group","aria-label":"\u9500\u552E\u6587\u4EF6\u751F\u6210\u65B9\u5F0F",children:[(0,T.jsxs)("button",{type:"button","aria-pressed":t==="standard",disabled:e,onClick:()=>n("standard"),children:[(0,T.jsx)("i",{className:"ri-file-list-3-line","aria-hidden":"true"}),"\u666E\u901A\u751F\u6210"]}),(0,T.jsxs)("button",{type:"button","aria-pressed":t==="order",disabled:e,onClick:()=>n("order"),children:[(0,T.jsx)("i",{className:"ri-file-add-line","aria-hidden":"true"}),"\u6309\u8BA2\u5355\u751F\u6210"]})]})}function bP({file:t,busy:e=!1,onDownload:n,onExcelEdit:r,onDelete:i}){return(0,T.jsxs)(T.Fragment,{children:[r&&(0,T.jsxs)("button",{type:"button",disabled:e,onClick:()=>r(t),children:[(0,T.jsx)("i",{className:"ri-file-excel-2-line","aria-hidden":"true"}),"\u5728\u7EBF\u5BA1\u6838"]}),(0,T.jsxs)("button",{type:"button",disabled:e,onClick:()=>n(t),children:[(0,T.jsx)("i",{className:"ri-download-line","aria-hidden":"true"}),"\u4E0B\u8F7D"]}),(0,T.jsxs)("button",{type:"button",className:"is-danger",disabled:e,onClick:()=>i(t),children:[(0,T.jsx)("i",{className:"ri-delete-bin-line","aria-hidden":"true"}),"\u5220\u9664"]})]})}function xP({orders:t,onClose:e}){let n=t[0];return(0,T.jsx)(_e,{open:!0,title:"\u4E0A\u4F20\u9500\u552E\u6587\u4EF6",size:"wide",onClose:e,footer:(0,T.jsxs)(T.Fragment,{children:[(0,T.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:e,children:[(0,T.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u53D6\u6D88"]}),(0,T.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:!0,title:"\u5F53\u524D\u540E\u7AEF\u672A\u63D0\u4F9B\u9500\u552E\u6587\u4EF6\u4E0A\u4F20\u63A5\u53E3",children:[(0,T.jsx)("i",{className:"ri-upload-cloud-2-line","aria-hidden":"true"}),"\u6682\u4E0D\u53EF\u7528"]})]}),children:(0,T.jsxs)("div",{className:"tcw-file-prototype-upload",children:[(0,T.jsx)(ct,{children:"\u5F53\u524D\u540E\u7AEF\u672A\u63D0\u4F9B\u9500\u552E\u6587\u4EF6\u4E0A\u4F20\u63A5\u53E3\uFF0C\u6682\u4E0D\u53EF\u4E0A\u4F20\u3002\u8BF7\u901A\u8FC7\u201C\u6309\u8BA2\u5355\u751F\u6210\u201D\u521B\u5EFA\u9500\u552E\u6587\u4EF6\u3002"}),(0,T.jsxs)("div",{className:"tcw-file-prototype-upload-grid",children:[(0,T.jsxs)("section",{children:[(0,T.jsx)(se,{label:"\u6587\u4EF6\u7C7B\u578B",required:!0,children:(0,T.jsx)("select",{disabled:!0,value:"",children:(0,T.jsx)("option",{value:"",children:"\u6682\u4E0D\u53EF\u7528"})})}),(0,T.jsx)(se,{label:"\u5173\u8054\u5BA2\u6237",required:!0,children:(0,T.jsx)("input",{disabled:!0,value:n?.customerName??"",readOnly:!0,placeholder:"\u2014"})}),(0,T.jsx)(se,{label:"\u5173\u8054\u9500\u552E\u8BA2\u5355",required:!0,children:(0,T.jsx)("input",{disabled:!0,value:n?.salesOrderNo??"",readOnly:!0,placeholder:"\u2014"})}),(0,T.jsx)(se,{label:"\u6A21\u677F\u7248\u672C",children:(0,T.jsx)("select",{disabled:!0,value:"",children:(0,T.jsx)("option",{value:"",children:"\u2014"})})}),(0,T.jsx)(se,{label:"\u6587\u4EF6\u7F16\u53F7",required:!0,children:(0,T.jsx)("input",{disabled:!0,value:"",readOnly:!0,placeholder:"\u2014"})}),(0,T.jsx)(se,{label:"\u6587\u4EF6\u8BF4\u660E/\u5907\u6CE8",children:(0,T.jsx)("textarea",{disabled:!0,value:"",readOnly:!0,placeholder:"\u2014"})})]}),(0,T.jsxs)("section",{children:[(0,T.jsxs)("h3",{children:["\u4E0A\u4F20\u6587\u4EF6 ",(0,T.jsx)("b",{children:"*"})]}),(0,T.jsx)(Js,{accept:".pdf,.doc,.docx,.xls,.xlsx",disabled:!0,onFile:()=>{}}),(0,T.jsxs)("aside",{children:[(0,T.jsxs)("h3",{children:[(0,T.jsx)("i",{className:"ri-information-line","aria-hidden":"true"}),"\u529F\u80FD\u4E0D\u53EF\u7528"]}),(0,T.jsx)("p",{children:"\u672A\u914D\u7F6E\u9500\u552E\u6587\u4EF6\u4E0A\u4F20 API\uFF0C\u7CFB\u7EDF\u4E0D\u4F1A\u63A5\u6536\u6587\u4EF6\u6216\u62A5\u544A\u4E0A\u4F20\u6210\u529F\u3002"})]})]})]})]})})}function CP({file:t,order:e,bank:n,onClose:r,onDownload:i}){return(0,T.jsx)(_e,{open:!0,title:"\u9500\u552E\u6587\u4EF6\u8BE6\u60C5",size:"wide",onClose:r,footer:(0,T.jsxs)(T.Fragment,{children:[(0,T.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:r,children:[(0,T.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u5173\u95ED"]}),(0,T.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",onClick:i,children:[(0,T.jsx)("i",{className:"ri-download-line","aria-hidden":"true"}),"\u4E0B\u8F7D\u6587\u4EF6"]})]}),children:(0,T.jsxs)("div",{className:"tcw-file-prototype-detail",children:[(0,T.jsxs)("dl",{className:"tcw-file-prototype-summary",children:[(0,T.jsx)(Xe,{label:"\u5BA2\u6237\u540D\u79F0",value:e?.customerName??"\u2014"}),(0,T.jsx)(Xe,{label:"\u6587\u4EF6\u7C7B\u578B",value:zl(t.fileType)}),(0,T.jsx)(Xe,{label:"\u751F\u6210\u4EBA",value:"\u2014"}),(0,T.jsx)(Xe,{label:"\u9500\u552E\u8BA2\u5355\u7F16\u53F7",value:t.salesOrderNoSnapshot}),(0,T.jsx)(Xe,{label:"\u6A21\u677F\u7248\u672C",value:"\u2014"}),(0,T.jsx)(Xe,{label:"\u751F\u6210\u65F6\u95F4",value:ut(t.generatedAt)}),(0,T.jsx)(Xe,{label:"\u6587\u4EF6\u7F16\u53F7",value:t.id}),(0,T.jsx)(Xe,{label:"\u5E01\u79CD",value:e?.currencyCode??"\u2014"}),(0,T.jsx)(Xe,{label:"\u6587\u4EF6\u72B6\u6001",value:"\u2014"})]}),(0,T.jsxs)("div",{className:"tcw-file-prototype-detail-grid",children:[(0,T.jsxs)("section",{children:[(0,T.jsx)("h3",{children:"\u6587\u4EF6\u9884\u89C8"}),(0,T.jsx)(kP,{file:t,order:e})]}),(0,T.jsxs)("aside",{children:[(0,T.jsxs)(Sy,{title:"\u94F6\u884C\u4FE1\u606F",children:[(0,T.jsx)(Xe,{label:"\u94F6\u884C\u540D\u79F0",value:n?.bankName??"\u2014"}),(0,T.jsx)(Xe,{label:"\u94F6\u884C\u5730\u5740",value:n?.bankAddress??"\u2014"}),(0,T.jsx)(Xe,{label:"SWIFT \u4EE3\u7801",value:n?.swiftCode??"\u2014"}),(0,T.jsx)(Xe,{label:"\u8D26\u6237\u540D\u79F0",value:n?.beneficiary??"\u2014"}),(0,T.jsx)(Xe,{label:"\u8D26\u53F7",value:n?.accountNo??"\u2014"}),(0,T.jsx)(Xe,{label:"\u94F6\u884C\u8D26\u6237\u5E01\u79CD",value:n?AP(n.bankType):"\u2014"})]}),(0,T.jsx)(Sy,{title:"\u5907\u6CE8",children:(0,T.jsx)("p",{children:"\u2014"})}),(0,T.jsxs)(Sy,{title:"\u6700\u8FD1\u7F16\u8F91",children:[(0,T.jsx)(Xe,{label:"\u7F16\u8F91\u4EBA",value:"\u2014"}),(0,T.jsx)(Xe,{label:"\u7F16\u8F91\u65F6\u95F4",value:t.lastEditedAt?ut(t.lastEditedAt):"\u2014"}),(0,T.jsx)(Xe,{label:"\u7F16\u8F91\u8BF4\u660E",value:"\u2014"})]})]})]})]})})}function SP({file:t,order:e,bank:n,onClose:r}){return(0,T.jsx)(_e,{open:!0,title:"\u7F16\u8F91\u9500\u552E\u6587\u4EF6",size:"wide",onClose:r,footer:(0,T.jsxs)(T.Fragment,{children:[(0,T.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:r,children:[(0,T.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u53D6\u6D88"]}),(0,T.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:!0,title:"\u7ED3\u6784\u5316\u8868\u5355\u4FDD\u5B58\u6682\u4E0D\u53EF\u7528",children:[(0,T.jsx)("i",{className:"ri-save-line","aria-hidden":"true"}),"\u6682\u4E0D\u53EF\u7528"]})]}),children:(0,T.jsxs)("div",{className:"tcw-file-prototype-editor",children:[(0,T.jsxs)("div",{className:"tcw-file-prototype-editor-fields",children:[(0,T.jsxs)("section",{children:[(0,T.jsx)("h3",{children:"\u57FA\u7840\u4FE1\u606F"}),(0,T.jsx)(se,{label:"\u6587\u4EF6\u7C7B\u578B",children:(0,T.jsx)("input",{disabled:!0,value:zl(t.fileType),readOnly:!0})}),(0,T.jsx)(se,{label:"\u6587\u4EF6\u7F16\u53F7",children:(0,T.jsx)("input",{disabled:!0,value:t.id,readOnly:!0})}),(0,T.jsx)(se,{label:"\u5BA2\u6237\u540D\u79F0",children:(0,T.jsx)("input",{disabled:!0,value:e?.customerName??"",readOnly:!0,placeholder:"\u2014"})}),(0,T.jsx)(se,{label:"\u9500\u552E\u8BA2\u5355\u7F16\u53F7",children:(0,T.jsx)("input",{disabled:!0,value:t.salesOrderNoSnapshot,readOnly:!0})}),(0,T.jsx)(se,{label:"\u6A21\u677F\u7248\u672C",children:(0,T.jsx)("input",{disabled:!0,value:"",readOnly:!0,placeholder:"\u2014"})}),(0,T.jsx)(se,{label:"\u94F6\u884C\u4FE1\u606F",children:(0,T.jsx)("input",{disabled:!0,value:n?.bankName??"",readOnly:!0,placeholder:"\u2014"})}),(0,T.jsx)(se,{label:"\u5E01\u79CD",children:(0,T.jsx)("input",{disabled:!0,value:e?.currencyCode??"",readOnly:!0,placeholder:"\u2014"})}),(0,T.jsx)(se,{label:"\u5907\u6CE8",children:(0,T.jsx)("textarea",{disabled:!0,value:"",readOnly:!0,placeholder:"\u2014"})}),(0,T.jsx)(W1,{label:"\u662F\u5426\u52A0\u76D6\u516C\u53F8\u7AE0",checked:!1,disabled:!0}),(0,T.jsx)(W1,{label:"\u662F\u5426\u663E\u793A\u82F1\u6587\u540D\u79F0",checked:!1,disabled:!0})]}),(0,T.jsxs)("section",{children:[(0,T.jsx)("h3",{children:"\u5173\u952E\u4E1A\u52A1\u4FE1\u606F"}),(0,T.jsx)(se,{label:"\u6709\u6548\u5B9A\u4EF7\u5229\u6DA6\u7387",children:(0,T.jsxs)("div",{className:"tcw-file-prototype-percent",children:[(0,T.jsx)("input",{disabled:!0,value:e?Number(e.effectivePricingProfitRate)*100:"",readOnly:!0,placeholder:"\u2014"}),(0,T.jsx)("span",{children:"%"})]})}),(0,T.jsx)(se,{label:"\u6536\u6B3E\u8D26\u6237",children:(0,T.jsx)("input",{disabled:!0,value:n?.accountNo??"",readOnly:!0,placeholder:"\u2014"})}),(0,T.jsx)(se,{label:"\u53D1\u7968\u62AC\u5934",children:(0,T.jsx)("textarea",{disabled:!0,value:e?.supplierName??"",readOnly:!0,placeholder:"\u2014"})}),(0,T.jsx)(se,{label:"\u6536\u8D27\u4EBA\u4FE1\u606F",children:(0,T.jsx)("textarea",{disabled:!0,value:e?.customerName??"",readOnly:!0,placeholder:"\u2014"})}),(0,T.jsx)(se,{label:"\u88C5\u7BB1\u5907\u6CE8",children:(0,T.jsx)("textarea",{disabled:!0,value:"",readOnly:!0,placeholder:"\u2014"})}),(0,T.jsx)(ct,{children:"\u5F53\u524D\u540E\u7AEF\u53EA\u652F\u6301\u5DE5\u4F5C\u7C3F\u5728\u7EBF\u5BA1\u6838\uFF0C\u4E0D\u652F\u6301\u6301\u4E45\u5316\u6B64\u7ED3\u6784\u5316\u8868\u5355\u3002\u8BF7\u4F7F\u7528\u5217\u8868\u4E2D\u7684\u201C\u5728\u7EBF\u5BA1\u6838\u201D\u529F\u80FD\u7F16\u8F91\u5E76\u4FDD\u5B58\u5DE5\u4F5C\u7C3F\u3002"})]})]}),(0,T.jsxs)("aside",{className:"tcw-file-prototype-editor-preview",children:[(0,T.jsx)("h3",{children:"\u9884\u89C8\u751F\u6210\u5185\u5BB9"}),(0,T.jsx)("p",{children:"\u4EC5\u5C55\u793A\u5F53\u524D API \u8FD4\u56DE\u7684\u6587\u4EF6\u4FE1\u606F\uFF1A"}),(0,T.jsxs)("div",{children:[(0,T.jsx)("i",{className:"ri-file-text-line","aria-hidden":"true"}),(0,T.jsxs)("span",{children:[(0,T.jsx)("strong",{children:t.fileName}),(0,T.jsxs)("small",{children:[zl(t.fileType),(0,T.jsx)("br",{}),"\u5E01\u79CD\uFF1A",e?.currencyCode??"\u2014"]})]})]}),(0,T.jsx)(Je,{children:"\u7ED3\u6784\u5316\u8868\u5355\u4FDD\u5B58\u6682\u4E0D\u53EF\u7528\uFF0C\u672C\u9875\u4E0D\u4F1A\u62A5\u544A\u4FDD\u5B58\u6210\u529F\u3002"})]})]})})}function Sy({title:t,children:e}){return(0,T.jsxs)("section",{className:"tcw-file-prototype-detail-block",children:[(0,T.jsx)("h3",{children:t}),(0,T.jsx)("dl",{children:e})]})}function W1({label:t,checked:e,disabled:n=!1,onChange:r}){return(0,T.jsxs)("label",{className:"tcw-file-prototype-switch",children:[(0,T.jsx)("span",{children:t}),(0,T.jsxs)("button",{type:"button",role:"switch","aria-checked":e,disabled:n,onClick:()=>r?.(!e),children:[(0,T.jsx)("i",{className:e?"ri-toggle-fill":"ri-toggle-line","aria-hidden":"true"}),e?"\u662F":"\u5426"]})]})}function kP({file:t,order:e}){let n=e?.currencyCode??"\u2014";return(0,T.jsxs)("article",{className:"tcw-file-prototype-document",children:[(0,T.jsx)("header",{children:(0,T.jsx)("strong",{children:J1(t.fileType).toUpperCase()})}),(0,T.jsxs)("div",{children:[(0,T.jsxs)("p",{children:[(0,T.jsx)("b",{children:"Exporter / Shipper"}),(0,T.jsx)("br",{}),e?.supplierName??"\u2014"]}),(0,T.jsxs)("p",{children:[(0,T.jsx)("b",{children:"Consignee"}),(0,T.jsx)("br",{}),e?.customerName??"\u2014"]})]}),(0,T.jsxs)("table",{children:[(0,T.jsx)("thead",{children:(0,T.jsxs)("tr",{children:[(0,T.jsx)("th",{children:"No."}),(0,T.jsx)("th",{children:"Description of Goods"}),(0,T.jsx)("th",{children:"HS Code"}),(0,T.jsx)("th",{children:"Quantity"}),(0,T.jsxs)("th",{children:["Amount (",n,")"]})]})}),(0,T.jsx)("tbody",{children:e?.lines.length?e.lines.map((r,i)=>(0,T.jsxs)("tr",{children:[(0,T.jsx)("td",{children:i+1}),(0,T.jsx)("td",{children:r.productName||"\u2014"}),(0,T.jsx)("td",{children:r.hsCode||"\u2014"}),(0,T.jsx)("td",{children:r.quantity||"\u2014"}),(0,T.jsx)("td",{children:Wa(r.salesLineAmountCny)})]},r.purchaseOrderLineId)):(0,T.jsx)("tr",{children:(0,T.jsx)("td",{colSpan:5,children:"\u2014"})})})]}),(0,T.jsxs)("footer",{children:[(0,T.jsxs)("span",{children:["Invoice No.: ",t.id]}),(0,T.jsxs)("strong",{children:["Total Amount (",n,"): ",e?Wa(e.orderAmountCny):"\u2014"]})]})]})}function q1(t,e){return e.find(n=>n.customerContractId===t.customerContractId&&n.purchaseOrderId===t.purchaseOrderId)??e.find(n=>n.salesOrderNo===t.salesOrderNoSnapshot)}function zl(t){return t==="PI"?"PI\uFF08\u5F62\u5F0F\u53D1\u7968\uFF09":t==="CI"?"CI\uFF08\u5546\u4E1A\u53D1\u7968\uFF09":t==="PL"?"PL\uFF08\u88C5\u7BB1\u5355\uFF09":t==="CUSTOMS_DECLARATION"?"\u62A5\u5173\u5355":String(t??"\u2014")}function AP(t){return t==="OVERSEAS_CNY"?"CNY":"USD"}function TP({generation:t,banks:e,busy:n,onClose:r,onGenerate:i}){let o=e.filter(IP),[a,s]=At.default.useState(o[0]?.bankType??""),l=t.order;return(0,T.jsx)(_e,{open:!0,title:`\u751F\u6210 ${Bl(t.type)}`,size:"wide",onClose:r,footer:(0,T.jsxs)(T.Fragment,{children:[(0,T.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:r,children:[(0,T.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u53D6\u6D88"]}),(0,T.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:n||!a,onClick:()=>a&&void i(a),children:[(0,T.jsx)("i",{className:"ri-shield-check-line","aria-hidden":"true"}),"\u751F\u6210\u9884\u68C0"]})]}),children:(0,T.jsxs)("div",{className:"tcw-sales-bank-dialog",children:[(0,T.jsxs)("dl",{className:"tcw-bank-order-summary",children:[(0,T.jsx)(Xe,{label:"\u5BA2\u6237\u540D\u79F0",value:l.customerName}),(0,T.jsx)(Xe,{label:"\u9500\u552E\u8BA2\u5355\u7F16\u53F7",value:l.salesOrderNo}),(0,T.jsx)(Xe,{label:"\u5BA2\u6237\u5408\u540C\u7F16\u53F7",value:l.customerContractNo}),(0,T.jsx)(Xe,{label:"\u9500\u552E\u8BA2\u5355\u603B\u989D\uFF08\u4EBA\u6C11\u5E01\uFF09",value:Wa(l.orderAmountCny)}),(0,T.jsx)(Xe,{label:"\u6709\u6548\u5B9A\u4EF7\u5229\u6DA6\u7387",value:eS(l.effectivePricingProfitRate)})]}),(0,T.jsxs)("div",{className:"tcw-bank-dialog-grid",children:[(0,T.jsxs)("section",{children:[(0,T.jsx)(se,{label:"\u6587\u4EF6\u7C7B\u578B",children:(0,T.jsx)("input",{disabled:!0,value:Bl(t.type)})}),(0,T.jsx)(se,{label:"\u94F6\u884C\u8D26\u6237",required:!0,children:(0,T.jsxs)("select",{value:a,onChange:c=>s(c.target.value),children:[(0,T.jsx)("option",{value:"",children:"\u8BF7\u9009\u62E9\u5DF2\u5B8C\u6574\u914D\u7F6E\u7684\u94F6\u884C"}),o.map(c=>(0,T.jsxs)("option",{value:c.bankType,children:[c.bankType==="OVERSEAS_CNY"?"\u5883\u5916\u4EBA\u6C11\u5E01\u8D26\u6237":"\u5883\u5916\u7F8E\u5143\u8D26\u6237"," \xB7 ",c.bankName]},c.bankType))]})})]}),(0,T.jsxs)("aside",{children:[(0,T.jsx)("h3",{children:"\u751F\u6210\u9884\u89C8"}),(0,T.jsx)("p",{children:"\u7CFB\u7EDF\u5C06\u57FA\u4E8E\u5F53\u524D\u8BA2\u5355\u4E0E\u94F6\u884C\u4FE1\u606F\u751F\u6210\uFF1A"}),(0,T.jsxs)("div",{className:"tcw-bank-preview-file",children:[(0,T.jsx)("i",{className:"ri-file-excel-2-line","aria-hidden":"true"}),(0,T.jsxs)("span",{children:[(0,T.jsx)("strong",{children:J1(t.type)}),(0,T.jsxs)("small",{children:[Bl(t.type)," \xB7 CNY"]})]})]})]})]}),!o.length&&(0,T.jsx)(ct,{children:"\u6CA1\u6709\u5DF2\u5B8C\u6574\u914D\u7F6E\u7684\u5883\u5916\u4EBA\u6C11\u5E01\u6216\u5883\u5916\u7F8E\u5143\u94F6\u884C\u8D26\u6237\uFF0C\u8BF7\u5148\u5728\u7CFB\u7EDF\u8BBE\u7F6E\u4E2D\u7EF4\u62A4\u3002"}),(0,T.jsx)(Je,{children:"\u4E1A\u52A1\u91D1\u989D\u548C\u751F\u6210\u6587\u4EF6\u9ED8\u8BA4\u4F7F\u7528 CNY\u3002\u63D0\u4EA4\u540E\u5148\u6267\u884C\u5B9E\u65F6\u5408\u89C4\u9884\u68C0\uFF0C\u9884\u68C0\u901A\u8FC7\u540E\u65B9\u53EF\u786E\u8BA4\u751F\u6210\u3002"})]})})}function K1({file:t,order:e,busy:n,onCancel:r,onConfirm:i}){return(0,T.jsx)(_e,{open:!0,title:"\u786E\u8BA4\u5220\u9664\u9500\u552E\u6587\u4EF6\uFF1F",onClose:r,footer:(0,T.jsxs)(T.Fragment,{children:[(0,T.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:r,children:[(0,T.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u53D6\u6D88"]}),(0,T.jsxs)("button",{type:"button",className:"tcw-button tcw-button--danger",disabled:n,onClick:()=>{i()},children:[(0,T.jsx)("i",{className:"ri-delete-bin-line","aria-hidden":"true"}),"\u786E\u8BA4\u5220\u9664"]})]}),children:(0,T.jsxs)("div",{className:"tcw-sales-file-delete-dialog",children:[(0,T.jsxs)("div",{className:"tcw-delete-critical",children:[(0,T.jsx)("i",{className:"ri-error-warning-fill","aria-hidden":"true"}),(0,T.jsx)("strong",{children:"\u5220\u9664\u540E\u5C06\u79FB\u9664\u8BE5\u9500\u552E\u6587\u4EF6\u7684\u5F52\u6863\u8BB0\u5F55\u53CA\u5728\u7EBF\u7F16\u8F91\u8BB0\u5F55\uFF0C\u6B64\u64CD\u4F5C\u5728\u524D\u7AEF\u65E0\u6CD5\u64A4\u9500\uFF0C\u8BF7\u8C28\u614E\u64CD\u4F5C\u3002"})]}),(0,T.jsxs)("dl",{children:[(0,T.jsx)(Xe,{label:"\u6587\u4EF6\u7F16\u53F7",value:t.id}),(0,T.jsx)(Xe,{label:"\u5BA2\u6237\u540D\u79F0",value:e?.customerName??"\u2014"}),(0,T.jsx)(Xe,{label:"\u9500\u552E\u8BA2\u5355\u7F16\u53F7",value:t.salesOrderNoSnapshot}),(0,T.jsx)(Xe,{label:"\u6587\u4EF6\u7C7B\u578B",value:zl(t.fileType)}),(0,T.jsx)(Xe,{label:"\u751F\u6210\u65F6\u95F4",value:ut(t.generatedAt)}),(0,T.jsx)(Xe,{label:"\u6587\u4EF6\u72B6\u6001",value:"\u2014"})]}),(0,T.jsxs)("p",{children:[(0,T.jsx)("i",{className:"ri-information-line","aria-hidden":"true"}),"\u5220\u9664\u6587\u4EF6\u4E0D\u4F1A\u5220\u9664\u539F\u59CB\u9500\u552E\u8BA2\u5355\u6570\u636E\uFF0C\u8BA2\u5355\u53CA\u5176\u4ED6\u4E1A\u52A1\u6570\u636E\u4E0D\u53D7\u5F71\u54CD\u3002"]})]})})}function Xe({label:t,value:e}){return(0,T.jsxs)("div",{children:[(0,T.jsx)("dt",{children:t}),(0,T.jsx)("dd",{children:e})]})}function J1(t){return t==="PI"?"Proforma Invoice":t==="CI"?"Commercial Invoice":t==="PL"?"Packing List":"Customs Declaration"}function RP({busy:t,result:e,onCancel:n,onConfirm:r}){return(0,T.jsx)(_e,{open:!0,title:"\u751F\u6210\u9884\u68C0\u786E\u8BA4",onClose:n,footer:(0,T.jsxs)(T.Fragment,{children:[(0,T.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:n,children:[(0,T.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u53D6\u6D88"]}),(0,T.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:t||!e.allowed,onClick:()=>{r()},children:[(0,T.jsx)("i",{className:"ri-file-add-line","aria-hidden":"true"}),"\u786E\u8BA4\u751F\u6210"]})]}),children:(0,T.jsxs)("div",{className:"tcw-sales-file-dialog",children:[(0,T.jsxs)("dl",{className:"tcw-preflight-summary",children:[(0,T.jsxs)("div",{children:[(0,T.jsx)("dt",{children:"\u6587\u4EF6\u7C7B\u578B"}),(0,T.jsx)("dd",{children:Bl(e.fileType)})]}),(0,T.jsxs)("div",{children:[(0,T.jsx)("dt",{children:"\u4E1A\u52A1\u5E01\u79CD"}),(0,T.jsx)("dd",{children:e.currencyCode})]}),(0,T.jsxs)("div",{children:[(0,T.jsx)("dt",{children:"\u5408\u89C4\u5229\u6DA6\u7387"}),(0,T.jsx)("dd",{children:eS(e.complianceProfitRate)})]}),(0,T.jsxs)("div",{children:[(0,T.jsx)("dt",{children:"\u6362\u6C47\u6210\u672C"}),(0,T.jsx)("dd",{children:e.exchangeCost??"\u4E0D\u9002\u7528"})]})]}),e.blockingReasons.length>0&&(0,T.jsxs)(ct,{children:[(0,T.jsx)("strong",{children:"\u7981\u6B62\u751F\u6210"}),(0,T.jsx)("ul",{children:e.blockingReasons.map(i=>(0,T.jsx)("li",{children:i.message},i.code))})]}),e.warnings.length>0&&(0,T.jsxs)(ct,{children:[(0,T.jsx)("strong",{children:"\u8D1F\u5229\u6DA6\u5546\u54C1"}),(0,T.jsx)("ul",{children:e.warnings.map(i=>(0,T.jsxs)("li",{children:[i.productName?`${i.productName}\uFF1A`:"",i.message]},i.purchaseOrderLineId??i.productName))})]}),e.allowed&&(0,T.jsx)(Je,{children:"\u9884\u68C0\u5DF2\u901A\u8FC7\u3002\u786E\u8BA4\u540E\u670D\u52A1\u7AEF\u5C06\u91CD\u65B0\u6821\u9A8C\u5E76\u751F\u6210\u6587\u4EF6\u3002"})]})})}function EP({result:t}){return t.translationFailures.length?(0,T.jsxs)(ct,{children:[(0,T.jsx)("strong",{children:"\u6587\u4EF6\u5DF2\u751F\u6210\uFF0C\u4F46\u4EE5\u4E0B\u5B57\u6BB5\u7FFB\u8BD1\u5931\u8D25"}),(0,T.jsx)("ul",{children:t.translationFailures.map(e=>(0,T.jsxs)("li",{children:[(0,T.jsx)("b",{children:e.field}),"\uFF1A",e.sourceValue,"\uFF08",e.message,"\uFF09"]},e.field))})]}):null}function IP(t){return[t.beneficiary,t.bankName,t.bankAddress,t.accountNo].every(n=>String(n??"").trim())&&(t.bankType==="OVERSEAS_CNY"?!!String(t.cnapsCode??"").trim():!!String(t.swiftCode??"").trim())}function Q1(t,e,n){return{customerContractId:t.customerContractId,purchaseOrderId:t.purchaseOrderId,fileType:e,...n?{bankType:n}:{}}}function Va(t,e,n){return{page:e,pageSize:n,filters:{},parameters:{customerContractId:t.customerContractId,purchaseOrderId:t.purchaseOrderId}}}function pi(t){let e=t.pageSize??Y1,n=t.total??0;return{total:n,page:t.page??1,pageSize:e,pageCount:Math.max(1,Math.ceil(n/e))}}function Wa(t){let e=Number(t);return Number.isFinite(e)?e.toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2}):"\u2014"}function eS(t){let e=Number(t);return t!=null&&Number.isFinite(e)?`${(e*100).toFixed(2)}%`:"\u2014"}function Bl(t){return t==="CUSTOMS_DECLARATION"?"\u62A5\u5173\u5355":String(t??"\u2014")}var Vn=be(Qt(),1);var Ka=9e15,no=1e9,ky="0123456789abcdef",hp="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",fp="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",Ay={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-Ka,maxE:Ka,crypto:!1},iS,hi,Te=!0,gp="[DecimalError] ",to=gp+"Invalid argument: ",oS=gp+"Precision limit exceeded",aS=gp+"crypto unavailable",sS="[object Decimal]",pn=Math.floor,Ut=Math.pow,NP=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,PP=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,DP=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,lS=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,br=1e7,xe=7,OP=9007199254740991,LP=hp.length-1,Ty=fp.length-1,te={toStringTag:sS};te.absoluteValue=te.abs=function(){var t=new this.constructor(this);return t.s<0&&(t.s=1),ve(t)};te.ceil=function(){return ve(new this.constructor(this),this.e+1,2)};te.clampedTo=te.clamp=function(t,e){var n,r=this,i=r.constructor;if(t=new i(t),e=new i(e),!t.s||!e.s)return new i(NaN);if(t.gt(e))throw Error(to+e);return n=r.cmp(t),n<0?t:r.cmp(e)>0?e:new i(r)};te.comparedTo=te.cmp=function(t){var e,n,r,i,o=this,a=o.d,s=(t=new o.constructor(t)).d,l=o.s,c=t.s;if(!a||!s)return!l||!c?NaN:l!==c?l:a===s?0:!a^l<0?1:-1;if(!a[0]||!s[0])return a[0]?l:s[0]?-c:0;if(l!==c)return l;if(o.e!==t.e)return o.e>t.e^l<0?1:-1;for(r=a.length,i=s.length,e=0,n=r<i?r:i;e<n;++e)if(a[e]!==s[e])return a[e]>s[e]^l<0?1:-1;return r===i?0:r>i^l<0?1:-1};te.cosine=te.cos=function(){var t,e,n=this,r=n.constructor;return n.d?n.d[0]?(t=r.precision,e=r.rounding,r.precision=t+Math.max(n.e,n.sd())+xe,r.rounding=1,n=_P(r,hS(r,n)),r.precision=t,r.rounding=e,ve(hi==2||hi==3?n.neg():n,t,e,!0)):new r(1):new r(NaN)};te.cubeRoot=te.cbrt=function(){var t,e,n,r,i,o,a,s,l,c,u=this,d=u.constructor;if(!u.isFinite()||u.isZero())return new d(u);for(Te=!1,o=u.s*Ut(u.s*u,1/3),!o||Math.abs(o)==1/0?(n=en(u.d),t=u.e,(o=(t-n.length+1)%3)&&(n+=o==1||o==-2?"0":"00"),o=Ut(n,1/3),t=pn((t+1)/3)-(t%3==(t<0?-1:2)),o==1/0?n="5e"+t:(n=o.toExponential(),n=n.slice(0,n.indexOf("e")+1)+t),r=new d(n),r.s=u.s):r=new d(o.toString()),a=(t=d.precision)+3;;)if(s=r,l=s.times(s).times(s),c=l.plus(u),r=nt(c.plus(u).times(s),c.plus(l),a+2,1),en(s.d).slice(0,a)===(n=en(r.d)).slice(0,a))if(n=n.slice(a-3,a+1),n=="9999"||!i&&n=="4999"){if(!i&&(ve(s,t+1,0),s.times(s).times(s).eq(u))){r=s;break}a+=4,i=1}else{(!+n||!+n.slice(1)&&n.charAt(0)=="5")&&(ve(r,t+1,1),e=!r.times(r).times(r).eq(u));break}return Te=!0,ve(r,t,d.rounding,e)};te.decimalPlaces=te.dp=function(){var t,e=this.d,n=NaN;if(e){if(t=e.length-1,n=(t-pn(this.e/xe))*xe,t=e[t],t)for(;t%10==0;t/=10)n--;n<0&&(n=0)}return n};te.dividedBy=te.div=function(t){return nt(this,new this.constructor(t))};te.dividedToIntegerBy=te.divToInt=function(t){var e=this,n=e.constructor;return ve(nt(e,new n(t),0,1,1),n.precision,n.rounding)};te.equals=te.eq=function(t){return this.cmp(t)===0};te.floor=function(){return ve(new this.constructor(this),this.e+1,3)};te.greaterThan=te.gt=function(t){return this.cmp(t)>0};te.greaterThanOrEqualTo=te.gte=function(t){var e=this.cmp(t);return e==1||e===0};te.hyperbolicCosine=te.cosh=function(){var t,e,n,r,i,o=this,a=o.constructor,s=new a(1);if(!o.isFinite())return new a(o.s?1/0:NaN);if(o.isZero())return s;n=a.precision,r=a.rounding,a.precision=n+Math.max(o.e,o.sd())+4,a.rounding=1,i=o.d.length,i<32?(t=Math.ceil(i/3),e=(1/wp(4,t)).toString()):(t=16,e="2.3283064365386962890625e-10"),o=Qa(a,1,o.times(e),new a(1),!0);for(var l,c=t,u=new a(8);c--;)l=o.times(o),o=s.minus(l.times(u.minus(l.times(u))));return ve(o,a.precision=n,a.rounding=r,!0)};te.hyperbolicSine=te.sinh=function(){var t,e,n,r,i=this,o=i.constructor;if(!i.isFinite()||i.isZero())return new o(i);if(e=o.precision,n=o.rounding,o.precision=e+Math.max(i.e,i.sd())+4,o.rounding=1,r=i.d.length,r<3)i=Qa(o,2,i,i,!0);else{t=1.4*Math.sqrt(r),t=t>16?16:t|0,i=i.times(1/wp(5,t)),i=Qa(o,2,i,i,!0);for(var a,s=new o(5),l=new o(16),c=new o(20);t--;)a=i.times(i),i=i.times(s.plus(a.times(l.times(a).plus(c))))}return o.precision=e,o.rounding=n,ve(i,e,n,!0)};te.hyperbolicTangent=te.tanh=function(){var t,e,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+7,r.rounding=1,nt(n.sinh(),n.cosh(),r.precision=t,r.rounding=e)):new r(n.s)};te.inverseCosine=te.acos=function(){var t=this,e=t.constructor,n=t.abs().cmp(1),r=e.precision,i=e.rounding;return n!==-1?n===0?t.isNeg()?Br(e,r,i):new e(0):new e(NaN):t.isZero()?Br(e,r+4,i).times(.5):(e.precision=r+6,e.rounding=1,t=new e(1).minus(t).div(t.plus(1)).sqrt().atan(),e.precision=r,e.rounding=i,t.times(2))};te.inverseHyperbolicCosine=te.acosh=function(){var t,e,n=this,r=n.constructor;return n.lte(1)?new r(n.eq(1)?0:NaN):n.isFinite()?(t=r.precision,e=r.rounding,r.precision=t+Math.max(Math.abs(n.e),n.sd())+4,r.rounding=1,Te=!1,n=n.times(n).minus(1).sqrt().plus(n),Te=!0,r.precision=t,r.rounding=e,n.ln()):new r(n)};te.inverseHyperbolicSine=te.asinh=function(){var t,e,n=this,r=n.constructor;return!n.isFinite()||n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+2*Math.max(Math.abs(n.e),n.sd())+6,r.rounding=1,Te=!1,n=n.times(n).plus(1).sqrt().plus(n),Te=!0,r.precision=t,r.rounding=e,n.ln())};te.inverseHyperbolicTangent=te.atanh=function(){var t,e,n,r,i=this,o=i.constructor;return i.isFinite()?i.e>=0?new o(i.abs().eq(1)?i.s/0:i.isZero()?i:NaN):(t=o.precision,e=o.rounding,r=i.sd(),Math.max(r,t)<2*-i.e-1?ve(new o(i),t,e,!0):(o.precision=n=r-i.e,i=nt(i.plus(1),new o(1).minus(i),n+t,1),o.precision=t+4,o.rounding=1,i=i.ln(),o.precision=t,o.rounding=e,i.times(.5))):new o(NaN)};te.inverseSine=te.asin=function(){var t,e,n,r,i=this,o=i.constructor;return i.isZero()?new o(i):(e=i.abs().cmp(1),n=o.precision,r=o.rounding,e!==-1?e===0?(t=Br(o,n+4,r).times(.5),t.s=i.s,t):new o(NaN):(o.precision=n+6,o.rounding=1,i=i.div(new o(1).minus(i.times(i)).sqrt().plus(1)).atan(),o.precision=n,o.rounding=r,i.times(2)))};te.inverseTangent=te.atan=function(){var t,e,n,r,i,o,a,s,l,c=this,u=c.constructor,d=u.precision,p=u.rounding;if(c.isFinite()){if(c.isZero())return new u(c);if(c.abs().eq(1)&&d+4<=Ty)return a=Br(u,d+4,p).times(.25),a.s=c.s,a}else{if(!c.s)return new u(NaN);if(d+4<=Ty)return a=Br(u,d+4,p).times(.5),a.s=c.s,a}for(u.precision=s=d+10,u.rounding=1,n=Math.min(28,s/xe+2|0),t=n;t;--t)c=c.div(c.times(c).plus(1).sqrt().plus(1));for(Te=!1,e=Math.ceil(s/xe),r=1,l=c.times(c),a=new u(c),i=c;t!==-1;)if(i=i.times(l),o=a.minus(i.div(r+=2)),i=i.times(l),a=o.plus(i.div(r+=2)),a.d[e]!==void 0)for(t=e;a.d[t]===o.d[t]&&t--;);return n&&(a=a.times(2<<n-1)),Te=!0,ve(a,u.precision=d,u.rounding=p,!0)};te.isFinite=function(){return!!this.d};te.isInteger=te.isInt=function(){return!!this.d&&pn(this.e/xe)>this.d.length-2};te.isNaN=function(){return!this.s};te.isNegative=te.isNeg=function(){return this.s<0};te.isPositive=te.isPos=function(){return this.s>0};te.isZero=function(){return!!this.d&&this.d[0]===0};te.lessThan=te.lt=function(t){return this.cmp(t)<0};te.lessThanOrEqualTo=te.lte=function(t){return this.cmp(t)<1};te.logarithm=te.log=function(t){var e,n,r,i,o,a,s,l,c=this,u=c.constructor,d=u.precision,p=u.rounding,h=5;if(t==null)t=new u(10),e=!0;else{if(t=new u(t),n=t.d,t.s<0||!n||!n[0]||t.eq(1))return new u(NaN);e=t.eq(10)}if(n=c.d,c.s<0||!n||!n[0]||c.eq(1))return new u(n&&!n[0]?-1/0:c.s!=1?NaN:n?0:1/0);if(e)if(n.length>1)o=!0;else{for(i=n[0];i%10===0;)i/=10;o=i!==1}if(Te=!1,s=d+h,a=eo(c,s),r=e?mp(u,s+10):eo(t,s),l=nt(a,r,s,1),Ul(l.d,i=d,p))do if(s+=10,a=eo(c,s),r=e?mp(u,s+10):eo(t,s),l=nt(a,r,s,1),!o){+en(l.d).slice(i+1,i+15)+1==1e14&&(l=ve(l,d+1,0));break}while(Ul(l.d,i+=10,p));return Te=!0,ve(l,d,p)};te.minus=te.sub=function(t){var e,n,r,i,o,a,s,l,c,u,d,p,h=this,m=h.constructor;if(t=new m(t),!h.d||!t.d)return!h.s||!t.s?t=new m(NaN):h.d?t.s=-t.s:t=new m(t.d||h.s!==t.s?h:NaN),t;if(h.s!=t.s)return t.s=-t.s,h.plus(t);if(c=h.d,p=t.d,s=m.precision,l=m.rounding,!c[0]||!p[0]){if(p[0])t.s=-t.s;else if(c[0])t=new m(h);else return new m(l===3?-0:0);return Te?ve(t,s,l):t}if(n=pn(t.e/xe),u=pn(h.e/xe),c=c.slice(),o=u-n,o){for(d=o<0,d?(e=c,o=-o,a=p.length):(e=p,n=u,a=c.length),r=Math.max(Math.ceil(s/xe),a)+2,o>r&&(o=r,e.length=1),e.reverse(),r=o;r--;)e.push(0);e.reverse()}else{for(r=c.length,a=p.length,d=r<a,d&&(a=r),r=0;r<a;r++)if(c[r]!=p[r]){d=c[r]<p[r];break}o=0}for(d&&(e=c,c=p,p=e,t.s=-t.s),a=c.length,r=p.length-a;r>0;--r)c[a++]=0;for(r=p.length;r>o;){if(c[--r]<p[r]){for(i=r;i&&c[--i]===0;)c[i]=br-1;--c[i],c[r]+=br}c[r]-=p[r]}for(;c[--a]===0;)c.pop();for(;c[0]===0;c.shift())--n;return c[0]?(t.d=c,t.e=yp(c,n),Te?ve(t,s,l):t):new m(l===3?-0:0)};te.modulo=te.mod=function(t){var e,n=this,r=n.constructor;return t=new r(t),!n.d||!t.s||t.d&&!t.d[0]?new r(NaN):!t.d||n.d&&!n.d[0]?ve(new r(n),r.precision,r.rounding):(Te=!1,r.modulo==9?(e=nt(n,t.abs(),0,3,1),e.s*=t.s):e=nt(n,t,0,r.modulo,1),e=e.times(t),Te=!0,n.minus(e))};te.naturalExponential=te.exp=function(){return Ry(this)};te.naturalLogarithm=te.ln=function(){return eo(this)};te.negated=te.neg=function(){var t=new this.constructor(this);return t.s=-t.s,ve(t)};te.plus=te.add=function(t){var e,n,r,i,o,a,s,l,c,u,d=this,p=d.constructor;if(t=new p(t),!d.d||!t.d)return!d.s||!t.s?t=new p(NaN):d.d||(t=new p(t.d||d.s===t.s?d:NaN)),t;if(d.s!=t.s)return t.s=-t.s,d.minus(t);if(c=d.d,u=t.d,s=p.precision,l=p.rounding,!c[0]||!u[0])return u[0]||(t=new p(d)),Te?ve(t,s,l):t;if(o=pn(d.e/xe),r=pn(t.e/xe),c=c.slice(),i=o-r,i){for(i<0?(n=c,i=-i,a=u.length):(n=u,r=o,a=c.length),o=Math.ceil(s/xe),a=o>a?o+1:a+1,i>a&&(i=a,n.length=1),n.reverse();i--;)n.push(0);n.reverse()}for(a=c.length,i=u.length,a-i<0&&(i=a,n=u,u=c,c=n),e=0;i;)e=(c[--i]=c[i]+u[i]+e)/br|0,c[i]%=br;for(e&&(c.unshift(e),++r),a=c.length;c[--a]==0;)c.pop();return t.d=c,t.e=yp(c,r),Te?ve(t,s,l):t};te.precision=te.sd=function(t){var e,n=this;if(t!==void 0&&t!==!!t&&t!==1&&t!==0)throw Error(to+t);return n.d?(e=cS(n.d),t&&n.e+1>e&&(e=n.e+1)):e=NaN,e};te.round=function(){var t=this,e=t.constructor;return ve(new e(t),t.e+1,e.rounding)};te.sine=te.sin=function(){var t,e,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+Math.max(n.e,n.sd())+xe,r.rounding=1,n=MP(r,hS(r,n)),r.precision=t,r.rounding=e,ve(hi>2?n.neg():n,t,e,!0)):new r(NaN)};te.squareRoot=te.sqrt=function(){var t,e,n,r,i,o,a=this,s=a.d,l=a.e,c=a.s,u=a.constructor;if(c!==1||!s||!s[0])return new u(!c||c<0&&(!s||s[0])?NaN:s?a:1/0);for(Te=!1,c=Math.sqrt(+a),c==0||c==1/0?(e=en(s),(e.length+l)%2==0&&(e+="0"),c=Math.sqrt(e),l=pn((l+1)/2)-(l<0||l%2),c==1/0?e="5e"+l:(e=c.toExponential(),e=e.slice(0,e.indexOf("e")+1)+l),r=new u(e)):r=new u(c.toString()),n=(l=u.precision)+3;;)if(o=r,r=o.plus(nt(a,o,n+2,1)).times(.5),en(o.d).slice(0,n)===(e=en(r.d)).slice(0,n))if(e=e.slice(n-3,n+1),e=="9999"||!i&&e=="4999"){if(!i&&(ve(o,l+1,0),o.times(o).eq(a))){r=o;break}n+=4,i=1}else{(!+e||!+e.slice(1)&&e.charAt(0)=="5")&&(ve(r,l+1,1),t=!r.times(r).eq(a));break}return Te=!0,ve(r,l,u.rounding,t)};te.tangent=te.tan=function(){var t,e,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+10,r.rounding=1,n=n.sin(),n.s=1,n=nt(n,new r(1).minus(n.times(n)).sqrt(),t+10,0),r.precision=t,r.rounding=e,ve(hi==2||hi==4?n.neg():n,t,e,!0)):new r(NaN)};te.times=te.mul=function(t){var e,n,r,i,o,a,s,l,c,u=this,d=u.constructor,p=u.d,h=(t=new d(t)).d;if(t.s*=u.s,!p||!p[0]||!h||!h[0])return new d(!t.s||p&&!p[0]&&!h||h&&!h[0]&&!p?NaN:!p||!h?t.s/0:t.s*0);for(n=pn(u.e/xe)+pn(t.e/xe),l=p.length,c=h.length,l<c&&(o=p,p=h,h=o,a=l,l=c,c=a),o=[],a=l+c,r=a;r--;)o.push(0);for(r=c;--r>=0;){for(e=0,i=l+r;i>r;)s=o[i]+h[r]*p[i-r-1]+e,o[i--]=s%br|0,e=s/br|0;o[i]=(o[i]+e)%br|0}for(;!o[--a];)o.pop();return e?++n:o.shift(),t.d=o,t.e=yp(o,n),Te?ve(t,d.precision,d.rounding):t};te.toBinary=function(t,e){return Ey(this,2,t,e)};te.toDecimalPlaces=te.toDP=function(t,e){var n=this,r=n.constructor;return n=new r(n),t===void 0?n:(On(t,0,no),e===void 0?e=r.rounding:On(e,0,8),ve(n,t+n.e+1,e))};te.toExponential=function(t,e){var n,r=this,i=r.constructor;return t===void 0?n=zr(r,!0):(On(t,0,no),e===void 0?e=i.rounding:On(e,0,8),r=ve(new i(r),t+1,e),n=zr(r,!0,t+1)),r.isNeg()&&!r.isZero()?"-"+n:n};te.toFixed=function(t,e){var n,r,i=this,o=i.constructor;return t===void 0?n=zr(i):(On(t,0,no),e===void 0?e=o.rounding:On(e,0,8),r=ve(new o(i),t+i.e+1,e),n=zr(r,!1,t+r.e+1)),i.isNeg()&&!i.isZero()?"-"+n:n};te.toFraction=function(t){var e,n,r,i,o,a,s,l,c,u,d,p,h=this,m=h.d,f=h.constructor;if(!m)return new f(h);if(c=n=new f(1),r=l=new f(0),e=new f(r),o=e.e=cS(m)-h.e-1,a=o%xe,e.d[0]=Ut(10,a<0?xe+a:a),t==null)t=o>0?e:c;else{if(s=new f(t),!s.isInt()||s.lt(c))throw Error(to+s);t=s.gt(e)?o>0?e:c:s}for(Te=!1,s=new f(en(m)),u=f.precision,f.precision=o=m.length*xe*2;d=nt(s,e,0,1,1),i=n.plus(d.times(r)),i.cmp(t)!=1;)n=r,r=i,i=c,c=l.plus(d.times(i)),l=i,i=e,e=s.minus(d.times(i)),s=i;return i=nt(t.minus(n),r,0,1,1),l=l.plus(i.times(c)),n=n.plus(i.times(r)),l.s=c.s=h.s,p=nt(c,r,o,1).minus(h).abs().cmp(nt(l,n,o,1).minus(h).abs())<1?[c,r]:[l,n],f.precision=u,Te=!0,p};te.toHexadecimal=te.toHex=function(t,e){return Ey(this,16,t,e)};te.toNearest=function(t,e){var n=this,r=n.constructor;if(n=new r(n),t==null){if(!n.d)return n;t=new r(1),e=r.rounding}else{if(t=new r(t),e===void 0?e=r.rounding:On(e,0,8),!n.d)return t.s?n:t;if(!t.d)return t.s&&(t.s=n.s),t}return t.d[0]?(Te=!1,n=nt(n,t,0,e,1).times(t),Te=!0,ve(n)):(t.s=n.s,n=t),n};te.toNumber=function(){return+this};te.toOctal=function(t,e){return Ey(this,8,t,e)};te.toPower=te.pow=function(t){var e,n,r,i,o,a,s=this,l=s.constructor,c=+(t=new l(t));if(!s.d||!t.d||!s.d[0]||!t.d[0])return new l(Ut(+s,c));if(s=new l(s),s.eq(1))return s;if(r=l.precision,o=l.rounding,t.eq(1))return ve(s,r,o);if(e=pn(t.e/xe),e>=t.d.length-1&&(n=c<0?-c:c)<=OP)return i=uS(l,s,n,r),t.s<0?new l(1).div(i):ve(i,r,o);if(a=s.s,a<0){if(e<t.d.length-1)return new l(NaN);if((t.d[e]&1)==0&&(a=1),s.e==0&&s.d[0]==1&&s.d.length==1)return s.s=a,s}return n=Ut(+s,c),e=n==0||!isFinite(n)?pn(c*(Math.log("0."+en(s.d))/Math.LN10+s.e+1)):new l(n+"").e,e>l.maxE+1||e<l.minE-1?new l(e>0?a/0:0):(Te=!1,l.rounding=s.s=1,n=Math.min(12,(e+"").length),i=Ry(t.times(eo(s,r+n)),r),i.d&&(i=ve(i,r+5,1),Ul(i.d,r,o)&&(e=r+10,i=ve(Ry(t.times(eo(s,e+n)),e),e+5,1),+en(i.d).slice(r+1,r+15)+1==1e14&&(i=ve(i,r+1,0)))),i.s=a,Te=!0,l.rounding=o,ve(i,r,o))};te.toPrecision=function(t,e){var n,r=this,i=r.constructor;return t===void 0?n=zr(r,r.e<=i.toExpNeg||r.e>=i.toExpPos):(On(t,1,no),e===void 0?e=i.rounding:On(e,0,8),r=ve(new i(r),t,e),n=zr(r,t<=r.e||r.e<=i.toExpNeg,t)),r.isNeg()&&!r.isZero()?"-"+n:n};te.toSignificantDigits=te.toSD=function(t,e){var n=this,r=n.constructor;return t===void 0?(t=r.precision,e=r.rounding):(On(t,1,no),e===void 0?e=r.rounding:On(e,0,8)),ve(new r(n),t,e)};te.toString=function(){var t=this,e=t.constructor,n=zr(t,t.e<=e.toExpNeg||t.e>=e.toExpPos);return t.isNeg()&&!t.isZero()?"-"+n:n};te.truncated=te.trunc=function(){return ve(new this.constructor(this),this.e+1,1)};te.valueOf=te.toJSON=function(){var t=this,e=t.constructor,n=zr(t,t.e<=e.toExpNeg||t.e>=e.toExpPos);return t.isNeg()?"-"+n:n};function en(t){var e,n,r,i=t.length-1,o="",a=t[0];if(i>0){for(o+=a,e=1;e<i;e++)r=t[e]+"",n=xe-r.length,n&&(o+=Ji(n)),o+=r;a=t[e],r=a+"",n=xe-r.length,n&&(o+=Ji(n))}else if(a===0)return"0";for(;a%10===0;)a/=10;return o+a}function On(t,e,n){if(t!==~~t||t<e||t>n)throw Error(to+t)}function Ul(t,e,n,r){var i,o,a,s;for(o=t[0];o>=10;o/=10)--e;return--e<0?(e+=xe,i=0):(i=Math.ceil((e+1)/xe),e%=xe),o=Ut(10,xe-e),s=t[i]%o|0,r==null?e<3?(e==0?s=s/100|0:e==1&&(s=s/10|0),a=n<4&&s==99999||n>3&&s==49999||s==5e4||s==0):a=(n<4&&s+1==o||n>3&&s+1==o/2)&&(t[i+1]/o/100|0)==Ut(10,e-2)-1||(s==o/2||s==0)&&(t[i+1]/o/100|0)==0:e<4?(e==0?s=s/1e3|0:e==1?s=s/100|0:e==2&&(s=s/10|0),a=(r||n<4)&&s==9999||!r&&n>3&&s==4999):a=((r||n<4)&&s+1==o||!r&&n>3&&s+1==o/2)&&(t[i+1]/o/1e3|0)==Ut(10,e-3)-1,a}function dp(t,e,n){for(var r,i=[0],o,a=0,s=t.length;a<s;){for(o=i.length;o--;)i[o]*=e;for(i[0]+=ky.indexOf(t.charAt(a++)),r=0;r<i.length;r++)i[r]>n-1&&(i[r+1]===void 0&&(i[r+1]=0),i[r+1]+=i[r]/n|0,i[r]%=n)}return i.reverse()}function _P(t,e){var n,r,i;if(e.isZero())return e;r=e.d.length,r<32?(n=Math.ceil(r/3),i=(1/wp(4,n)).toString()):(n=16,i="2.3283064365386962890625e-10"),t.precision+=n,e=Qa(t,1,e.times(i),new t(1));for(var o=n;o--;){var a=e.times(e);e=a.times(a).minus(a).times(8).plus(1)}return t.precision-=n,e}var nt=(function(){function t(r,i,o){var a,s=0,l=r.length;for(r=r.slice();l--;)a=r[l]*i+s,r[l]=a%o|0,s=a/o|0;return s&&r.unshift(s),r}function e(r,i,o,a){var s,l;if(o!=a)l=o>a?1:-1;else for(s=l=0;s<o;s++)if(r[s]!=i[s]){l=r[s]>i[s]?1:-1;break}return l}function n(r,i,o,a){for(var s=0;o--;)r[o]-=s,s=r[o]<i[o]?1:0,r[o]=s*a+r[o]-i[o];for(;!r[0]&&r.length>1;)r.shift()}return function(r,i,o,a,s,l){var c,u,d,p,h,m,f,v,g,y,w,b,x,C,k,S,E,D,O,H,M=r.constructor,_=r.s==i.s?1:-1,V=r.d,G=i.d;if(!V||!V[0]||!G||!G[0])return new M(!r.s||!i.s||(V?G&&V[0]==G[0]:!G)?NaN:V&&V[0]==0||!G?_*0:_/0);for(l?(h=1,u=r.e-i.e):(l=br,h=xe,u=pn(r.e/h)-pn(i.e/h)),O=G.length,E=V.length,g=new M(_),y=g.d=[],d=0;G[d]==(V[d]||0);d++);if(G[d]>(V[d]||0)&&u--,o==null?(C=o=M.precision,a=M.rounding):s?C=o+(r.e-i.e)+1:C=o,C<0)y.push(1),m=!0;else{if(C=C/h+2|0,d=0,O==1){for(p=0,G=G[0],C++;(d<E||p)&&C--;d++)k=p*l+(V[d]||0),y[d]=k/G|0,p=k%G|0;m=p||d<E}else{for(p=l/(G[0]+1)|0,p>1&&(G=t(G,p,l),V=t(V,p,l),O=G.length,E=V.length),S=O,w=V.slice(0,O),b=w.length;b<O;)w[b++]=0;H=G.slice(),H.unshift(0),D=G[0],G[1]>=l/2&&++D;do p=0,c=e(G,w,O,b),c<0?(x=w[0],O!=b&&(x=x*l+(w[1]||0)),p=x/D|0,p>1?(p>=l&&(p=l-1),f=t(G,p,l),v=f.length,b=w.length,c=e(f,w,v,b),c==1&&(p--,n(f,O<v?H:G,v,l))):(p==0&&(c=p=1),f=G.slice()),v=f.length,v<b&&f.unshift(0),n(w,f,b,l),c==-1&&(b=w.length,c=e(G,w,O,b),c<1&&(p++,n(w,O<b?H:G,b,l))),b=w.length):c===0&&(p++,w=[0]),y[d++]=p,c&&w[0]?w[b++]=V[S]||0:(w=[V[S]],b=1);while((S++<E||w[0]!==void 0)&&C--);m=w[0]!==void 0}y[0]||y.shift()}if(h==1)g.e=u,iS=m;else{for(d=1,p=y[0];p>=10;p/=10)d++;g.e=d+u*h-1,ve(g,s?o+g.e+1:o,a,m)}return g}})();function ve(t,e,n,r){var i,o,a,s,l,c,u,d,p,h=t.constructor;e:if(e!=null){if(d=t.d,!d)return t;for(i=1,s=d[0];s>=10;s/=10)i++;if(o=e-i,o<0)o+=xe,a=e,u=d[p=0],l=u/Ut(10,i-a-1)%10|0;else if(p=Math.ceil((o+1)/xe),s=d.length,p>=s)if(r){for(;s++<=p;)d.push(0);u=l=0,i=1,o%=xe,a=o-xe+1}else break e;else{for(u=s=d[p],i=1;s>=10;s/=10)i++;o%=xe,a=o-xe+i,l=a<0?0:u/Ut(10,i-a-1)%10|0}if(r=r||e<0||d[p+1]!==void 0||(a<0?u:u%Ut(10,i-a-1)),c=n<4?(l||r)&&(n==0||n==(t.s<0?3:2)):l>5||l==5&&(n==4||r||n==6&&(o>0?a>0?u/Ut(10,i-a):0:d[p-1])%10&1||n==(t.s<0?8:7)),e<1||!d[0])return d.length=0,c?(e-=t.e+1,d[0]=Ut(10,(xe-e%xe)%xe),t.e=-e||0):d[0]=t.e=0,t;if(o==0?(d.length=p,s=1,p--):(d.length=p+1,s=Ut(10,xe-o),d[p]=a>0?(u/Ut(10,i-a)%Ut(10,a)|0)*s:0),c)for(;;)if(p==0){for(o=1,a=d[0];a>=10;a/=10)o++;for(a=d[0]+=s,s=1;a>=10;a/=10)s++;o!=s&&(t.e++,d[0]==br&&(d[0]=1));break}else{if(d[p]+=s,d[p]!=br)break;d[p--]=0,s=1}for(o=d.length;d[--o]===0;)d.pop()}return Te&&(t.e>h.maxE?(t.d=null,t.e=NaN):t.e<h.minE&&(t.e=0,t.d=[0])),t}function zr(t,e,n){if(!t.isFinite())return pS(t);var r,i=t.e,o=en(t.d),a=o.length;return e?(n&&(r=n-a)>0?o=o.charAt(0)+"."+o.slice(1)+Ji(r):a>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(t.e<0?"e":"e+")+t.e):i<0?(o="0."+Ji(-i-1)+o,n&&(r=n-a)>0&&(o+=Ji(r))):i>=a?(o+=Ji(i+1-a),n&&(r=n-i-1)>0&&(o=o+"."+Ji(r))):((r=i+1)<a&&(o=o.slice(0,r)+"."+o.slice(r)),n&&(r=n-a)>0&&(i+1===a&&(o+="."),o+=Ji(r))),o}function yp(t,e){var n=t[0];for(e*=xe;n>=10;n/=10)e++;return e}function mp(t,e,n){if(e>LP)throw Te=!0,n&&(t.precision=n),Error(oS);return ve(new t(hp),e,1,!0)}function Br(t,e,n){if(e>Ty)throw Error(oS);return ve(new t(fp),e,n,!0)}function cS(t){var e=t.length-1,n=e*xe+1;if(e=t[e],e){for(;e%10==0;e/=10)n--;for(e=t[0];e>=10;e/=10)n++}return n}function Ji(t){for(var e="";t--;)e+="0";return e}function uS(t,e,n,r){var i,o=new t(1),a=Math.ceil(r/xe+4);for(Te=!1;;){if(n%2&&(o=o.times(e),nS(o.d,a)&&(i=!0)),n=pn(n/2),n===0){n=o.d.length-1,i&&o.d[n]===0&&++o.d[n];break}e=e.times(e),nS(e.d,a)}return Te=!0,o}function tS(t){return t.d[t.d.length-1]&1}function dS(t,e,n){for(var r,i,o=new t(e[0]),a=0;++a<e.length;){if(i=new t(e[a]),!i.s){o=i;break}r=o.cmp(i),(r===n||r===0&&o.s===n)&&(o=i)}return o}function Ry(t,e){var n,r,i,o,a,s,l,c=0,u=0,d=0,p=t.constructor,h=p.rounding,m=p.precision;if(!t.d||!t.d[0]||t.e>17)return new p(t.d?t.d[0]?t.s<0?0:1/0:1:t.s?t.s<0?0:t:NaN);for(e==null?(Te=!1,l=m):l=e,s=new p(.03125);t.e>-2;)t=t.times(s),d+=5;for(r=Math.log(Ut(2,d))/Math.LN10*2+5|0,l+=r,n=o=a=new p(1),p.precision=l;;){if(o=ve(o.times(t),l,1),n=n.times(++u),s=a.plus(nt(o,n,l,1)),en(s.d).slice(0,l)===en(a.d).slice(0,l)){for(i=d;i--;)a=ve(a.times(a),l,1);if(e==null)if(c<3&&Ul(a.d,l-r,h,c))p.precision=l+=10,n=o=s=new p(1),u=0,c++;else return ve(a,p.precision=m,h,Te=!0);else return p.precision=m,a}a=s}}function eo(t,e){var n,r,i,o,a,s,l,c,u,d,p,h=1,m=10,f=t,v=f.d,g=f.constructor,y=g.rounding,w=g.precision;if(f.s<0||!v||!v[0]||!f.e&&v[0]==1&&v.length==1)return new g(v&&!v[0]?-1/0:f.s!=1?NaN:v?0:f);if(e==null?(Te=!1,u=w):u=e,g.precision=u+=m,n=en(v),r=n.charAt(0),Math.abs(o=f.e)<15e14){for(;r<7&&r!=1||r==1&&n.charAt(1)>3;)f=f.times(t),n=en(f.d),r=n.charAt(0),h++;o=f.e,r>1?(f=new g("0."+n),o++):f=new g(r+"."+n.slice(1))}else return c=mp(g,u+2,w).times(o+""),f=eo(new g(r+"."+n.slice(1)),u-m).plus(c),g.precision=w,e==null?ve(f,w,y,Te=!0):f;for(d=f,l=a=f=nt(f.minus(1),f.plus(1),u,1),p=ve(f.times(f),u,1),i=3;;){if(a=ve(a.times(p),u,1),c=l.plus(nt(a,new g(i),u,1)),en(c.d).slice(0,u)===en(l.d).slice(0,u))if(l=l.times(2),o!==0&&(l=l.plus(mp(g,u+2,w).times(o+""))),l=nt(l,new g(h),u,1),e==null)if(Ul(l.d,u-m,y,s))g.precision=u+=m,c=a=f=nt(d.minus(1),d.plus(1),u,1),p=ve(f.times(f),u,1),i=s=1;else return ve(l,g.precision=w,y,Te=!0);else return g.precision=w,l;l=c,i+=2}}function pS(t){return String(t.s*t.s/0)}function pp(t,e){var n,r,i;for((n=e.indexOf("."))>-1&&(e=e.replace(".","")),(r=e.search(/e/i))>0?(n<0&&(n=r),n+=+e.slice(r+1),e=e.substring(0,r)):n<0&&(n=e.length),r=0;e.charCodeAt(r)===48;r++);for(i=e.length;e.charCodeAt(i-1)===48;--i);if(e=e.slice(r,i),e){if(i-=r,t.e=n=n-r-1,t.d=[],r=(n+1)%xe,n<0&&(r+=xe),r<i){for(r&&t.d.push(+e.slice(0,r)),i-=xe;r<i;)t.d.push(+e.slice(r,r+=xe));e=e.slice(r),r=xe-e.length}else r-=i;for(;r--;)e+="0";t.d.push(+e),Te&&(t.e>t.constructor.maxE?(t.d=null,t.e=NaN):t.e<t.constructor.minE&&(t.e=0,t.d=[0]))}else t.e=0,t.d=[0];return t}function FP(t,e){var n,r,i,o,a,s,l,c,u;if(e.indexOf("_")>-1){if(e=e.replace(/(\d)_(?=\d)/g,"$1"),lS.test(e))return pp(t,e)}else if(e==="Infinity"||e==="NaN")return+e||(t.s=NaN),t.e=NaN,t.d=null,t;if(PP.test(e))n=16,e=e.toLowerCase();else if(NP.test(e))n=2;else if(DP.test(e))n=8;else throw Error(to+e);for(o=e.search(/p/i),o>0?(l=+e.slice(o+1),e=e.substring(2,o)):e=e.slice(2),o=e.indexOf("."),a=o>=0,r=t.constructor,a&&(e=e.replace(".",""),s=e.length,o=s-o,i=uS(r,new r(n),o,o*2)),c=dp(e,n,br),u=c.length-1,o=u;c[o]===0;--o)c.pop();return o<0?new r(t.s*0):(t.e=yp(c,u),t.d=c,Te=!1,a&&(t=nt(t,i,s*4)),l&&(t=t.times(Math.abs(l)<54?Ut(2,l):Ya.pow(2,l))),Te=!0,t)}function MP(t,e){var n,r=e.d.length;if(r<3)return e.isZero()?e:Qa(t,2,e,e);n=1.4*Math.sqrt(r),n=n>16?16:n|0,e=e.times(1/wp(5,n)),e=Qa(t,2,e,e);for(var i,o=new t(5),a=new t(16),s=new t(20);n--;)i=e.times(e),e=e.times(o.plus(i.times(a.times(i).minus(s))));return e}function Qa(t,e,n,r,i){var o,a,s,l,c=1,u=t.precision,d=Math.ceil(u/xe);for(Te=!1,l=n.times(n),s=new t(r);;){if(a=nt(s.times(l),new t(e++*e++),u,1),s=i?r.plus(a):r.minus(a),r=nt(a.times(l),new t(e++*e++),u,1),a=s.plus(r),a.d[d]!==void 0){for(o=d;a.d[o]===s.d[o]&&o--;);if(o==-1)break}o=s,s=r,r=a,a=o,c++}return Te=!0,a.d.length=d+1,a}function wp(t,e){for(var n=t;--e;)n*=t;return n}function hS(t,e){var n,r=e.s<0,i=Br(t,t.precision,1),o=i.times(.5);if(e=e.abs(),e.lte(o))return hi=r?4:1,e;if(n=e.divToInt(i),n.isZero())hi=r?3:2;else{if(e=e.minus(n.times(i)),e.lte(o))return hi=tS(n)?r?2:3:r?4:1,e;hi=tS(n)?r?1:4:r?3:2}return e.minus(i).abs()}function Ey(t,e,n,r){var i,o,a,s,l,c,u,d,p,h=t.constructor,m=n!==void 0;if(m?(On(n,1,no),r===void 0?r=h.rounding:On(r,0,8)):(n=h.precision,r=h.rounding),!t.isFinite())u=pS(t);else{for(u=zr(t),a=u.indexOf("."),m?(i=2,e==16?n=n*4-3:e==8&&(n=n*3-2)):i=e,a>=0&&(u=u.replace(".",""),p=new h(1),p.e=u.length-a,p.d=dp(zr(p),10,i),p.e=p.d.length),d=dp(u,10,i),o=l=d.length;d[--l]==0;)d.pop();if(!d[0])u=m?"0p+0":"0";else{if(a<0?o--:(t=new h(t),t.d=d,t.e=o,t=nt(t,p,n,r,0,i),d=t.d,o=t.e,c=iS),a=d[n],s=i/2,c=c||d[n+1]!==void 0,c=r<4?(a!==void 0||c)&&(r===0||r===(t.s<0?3:2)):a>s||a===s&&(r===4||c||r===6&&d[n-1]&1||r===(t.s<0?8:7)),d.length=n,c)for(;++d[--n]>i-1;)d[n]=0,n||(++o,d.unshift(1));for(l=d.length;!d[l-1];--l);for(a=0,u="";a<l;a++)u+=ky.charAt(d[a]);if(m){if(l>1)if(e==16||e==8){for(a=e==16?4:3,--l;l%a;l++)u+="0";for(d=dp(u,i,e),l=d.length;!d[l-1];--l);for(a=1,u="1.";a<l;a++)u+=ky.charAt(d[a])}else u=u.charAt(0)+"."+u.slice(1);u=u+(o<0?"p":"p+")+o}else if(o<0){for(;++o;)u="0"+u;u="0."+u}else if(++o>l)for(o-=l;o--;)u+="0";else o<l&&(u=u.slice(0,o)+"."+u.slice(o))}u=(e==16?"0x":e==2?"0b":e==8?"0o":"")+u}return t.s<0?"-"+u:u}function nS(t,e){if(t.length>e)return t.length=e,!0}function BP(t){return new this(t).abs()}function zP(t){return new this(t).acos()}function UP(t){return new this(t).acosh()}function GP(t,e){return new this(t).plus(e)}function HP(t){return new this(t).asin()}function jP(t){return new this(t).asinh()}function $P(t){return new this(t).atan()}function VP(t){return new this(t).atanh()}function WP(t,e){t=new this(t),e=new this(e);var n,r=this.precision,i=this.rounding,o=r+4;return!t.s||!e.s?n=new this(NaN):!t.d&&!e.d?(n=Br(this,o,1).times(e.s>0?.25:.75),n.s=t.s):!e.d||t.isZero()?(n=e.s<0?Br(this,r,i):new this(0),n.s=t.s):!t.d||e.isZero()?(n=Br(this,o,1).times(.5),n.s=t.s):e.s<0?(this.precision=o,this.rounding=1,n=this.atan(nt(t,e,o,1)),e=Br(this,o,1),this.precision=r,this.rounding=i,n=t.s<0?n.minus(e):n.plus(e)):n=this.atan(nt(t,e,o,1)),n}function KP(t){return new this(t).cbrt()}function QP(t){return ve(t=new this(t),t.e+1,2)}function YP(t,e,n){return new this(t).clamp(e,n)}function XP(t){if(!t||typeof t!="object")throw Error(gp+"Object expected");var e,n,r,i=t.defaults===!0,o=["precision",1,no,"rounding",0,8,"toExpNeg",-Ka,0,"toExpPos",0,Ka,"maxE",0,Ka,"minE",-Ka,0,"modulo",0,9];for(e=0;e<o.length;e+=3)if(n=o[e],i&&(this[n]=Ay[n]),(r=t[n])!==void 0)if(pn(r)===r&&r>=o[e+1]&&r<=o[e+2])this[n]=r;else throw Error(to+n+": "+r);if(n="crypto",i&&(this[n]=Ay[n]),(r=t[n])!==void 0)if(r===!0||r===!1||r===0||r===1)if(r)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[n]=!0;else throw Error(aS);else this[n]=!1;else throw Error(to+n+": "+r);return this}function ZP(t){return new this(t).cos()}function qP(t){return new this(t).cosh()}function fS(t){var e,n,r;function i(o){var a,s,l,c=this;if(!(c instanceof i))return new i(o);if(c.constructor=i,rS(o)){c.s=o.s,Te?!o.d||o.e>i.maxE?(c.e=NaN,c.d=null):o.e<i.minE?(c.e=0,c.d=[0]):(c.e=o.e,c.d=o.d.slice()):(c.e=o.e,c.d=o.d?o.d.slice():o.d);return}if(l=typeof o,l==="number"){if(o===0){c.s=1/o<0?-1:1,c.e=0,c.d=[0];return}if(o<0?(o=-o,c.s=-1):c.s=1,o===~~o&&o<1e7){for(a=0,s=o;s>=10;s/=10)a++;Te?a>i.maxE?(c.e=NaN,c.d=null):a<i.minE?(c.e=0,c.d=[0]):(c.e=a,c.d=[o]):(c.e=a,c.d=[o]);return}if(o*0!==0){o||(c.s=NaN),c.e=NaN,c.d=null;return}return pp(c,o.toString())}if(l==="string")return(s=o.charCodeAt(0))===45?(o=o.slice(1),c.s=-1):(s===43&&(o=o.slice(1)),c.s=1),lS.test(o)?pp(c,o):FP(c,o);if(l==="bigint")return o<0?(o=-o,c.s=-1):c.s=1,pp(c,o.toString());throw Error(to+o)}if(i.prototype=te,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.EUCLID=9,i.config=i.set=XP,i.clone=fS,i.isDecimal=rS,i.abs=BP,i.acos=zP,i.acosh=UP,i.add=GP,i.asin=HP,i.asinh=jP,i.atan=$P,i.atanh=VP,i.atan2=WP,i.cbrt=KP,i.ceil=QP,i.clamp=YP,i.cos=ZP,i.cosh=qP,i.div=JP,i.exp=e2,i.floor=t2,i.hypot=n2,i.ln=r2,i.log=i2,i.log10=a2,i.log2=o2,i.max=s2,i.min=l2,i.mod=c2,i.mul=u2,i.pow=d2,i.random=p2,i.round=h2,i.sign=f2,i.sin=m2,i.sinh=g2,i.sqrt=y2,i.sub=w2,i.sum=v2,i.tan=b2,i.tanh=x2,i.trunc=C2,t===void 0&&(t={}),t&&t.defaults!==!0)for(r=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],e=0;e<r.length;)t.hasOwnProperty(n=r[e++])||(t[n]=this[n]);return i.config(t),i}function JP(t,e){return new this(t).div(e)}function e2(t){return new this(t).exp()}function t2(t){return ve(t=new this(t),t.e+1,3)}function n2(){var t,e,n=new this(0);for(Te=!1,t=0;t<arguments.length;)if(e=new this(arguments[t++]),e.d)n.d&&(n=n.plus(e.times(e)));else{if(e.s)return Te=!0,new this(1/0);n=e}return Te=!0,n.sqrt()}function rS(t){return t instanceof Ya||t&&t.toStringTag===sS||!1}function r2(t){return new this(t).ln()}function i2(t,e){return new this(t).log(e)}function o2(t){return new this(t).log(2)}function a2(t){return new this(t).log(10)}function s2(){return dS(this,arguments,-1)}function l2(){return dS(this,arguments,1)}function c2(t,e){return new this(t).mod(e)}function u2(t,e){return new this(t).mul(e)}function d2(t,e){return new this(t).pow(e)}function p2(t){var e,n,r,i,o=0,a=new this(1),s=[];if(t===void 0?t=this.precision:On(t,1,no),r=Math.ceil(t/xe),this.crypto)if(crypto.getRandomValues)for(e=crypto.getRandomValues(new Uint32Array(r));o<r;)i=e[o],i>=429e7?e[o]=crypto.getRandomValues(new Uint32Array(1))[0]:s[o++]=i%1e7;else if(crypto.randomBytes){for(e=crypto.randomBytes(r*=4);o<r;)i=e[o]+(e[o+1]<<8)+(e[o+2]<<16)+((e[o+3]&127)<<24),i>=214e7?crypto.randomBytes(4).copy(e,o):(s.push(i%1e7),o+=4);o=r/4}else throw Error(aS);else for(;o<r;)s[o++]=Math.random()*1e7|0;for(r=s[--o],t%=xe,r&&t&&(i=Ut(10,xe-t),s[o]=(r/i|0)*i);s[o]===0;o--)s.pop();if(o<0)n=0,s=[0];else{for(n=-1;s[0]===0;n-=xe)s.shift();for(r=1,i=s[0];i>=10;i/=10)r++;r<xe&&(n-=xe-r)}return a.e=n,a.d=s,a}function h2(t){return ve(t=new this(t),t.e+1,this.rounding)}function f2(t){return t=new this(t),t.d?t.d[0]?t.s:0*t.s:t.s||NaN}function m2(t){return new this(t).sin()}function g2(t){return new this(t).sinh()}function y2(t){return new this(t).sqrt()}function w2(t,e){return new this(t).sub(e)}function v2(){var t=0,e=arguments,n=new this(e[t]);for(Te=!1;n.s&&++t<e.length;)n=n.plus(e[t]);return Te=!0,ve(n,this.precision,this.rounding)}function b2(t){return new this(t).tan()}function x2(t){return new this(t).tanh()}function C2(t){return ve(t=new this(t),t.e+1,1)}te[Symbol.for("nodejs.util.inspect.custom")]=te.toString;te[Symbol.toStringTag]="Decimal";var Ya=te.constructor=fS(Ay);hp=new Ya(hp);fp=new Ya(fp);function It(t){let e=Number(t??0);return Number.isFinite(e)?e.toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2}):"0.00"}function Ur(t){let e=Number(t??0);if(!Number.isFinite(e))return"0.00";let n=Math.abs(e);return n>=1e8?`${It(e/1e8)} \u4EBF`:n>=1e4?`${It(e/1e4)} \u4E07`:It(e)}function Gl(t){let e=Number(t??0);return Number.isFinite(e)?`${(e*100).toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2})}%`:"0.00%"}function fi(t,e){let n=Number(e)||0;return Gl(n>0?(Number(t)||0)/n:0)}function mS(...t){return t.reduce((e,n)=>e.plus(String(n??0)),new Ya(0)).toString()}function Hl(t){return typeof t=="string"&&t?t.slice(0,10):""}var gS=be(Qt(),1);var Ve=be(Be(),1);function yS({points:t}){let e=Array.from({length:12},(u,d)=>t.find(p=>p.month===d+1)??{month:d+1,purchaseAmountCny:"0",salesAmountCny:"0",estimatedGrossProfitCny:"0",receivedCny:"0"}),n=["purchaseAmountCny","salesAmountCny","estimatedGrossProfitCny","receivedCny"],i=Math.max(...e.flatMap(u=>n.map(d=>Number(u[d])||0)),1)/1e4,o=Math.max(1,Math.ceil(i/5)*5),a=Array.from({length:5},(u,d)=>o-o/4*d),s=u=>e.map((d,p)=>({x:58+p*(514/11),y:132-(Number(d[u])||0)/1e4/o*104})),l=u=>s(u).map(d=>`${d.x.toFixed(1)},${d.y.toFixed(1)}`).join(" "),c=u=>u==="salesAmountCny"?"is-sales":u==="purchaseAmountCny"?"is-purchase":u==="receivedCny"?"is-received":"is-profit";return(0,Ve.jsxs)("div",{className:"tcw-analytics-line-chart",children:[(0,Ve.jsx)("span",{className:"tcw-analytics-trend-unit",children:"\u91D1\u989D\uFF08\u4E07\u5143\uFF09"}),(0,Ve.jsxs)("svg",{viewBox:"0 0 600 170",role:"img","aria-label":"\u6708\u5EA6\u7ECF\u8425\u8D8B\u52BF\u6298\u7EBF\u56FE",children:[(0,Ve.jsx)("g",{className:"tcw-analytics-line-grid",children:[28,54,80,106,132].map((u,d)=>(0,Ve.jsxs)(gS.default.Fragment,{children:[(0,Ve.jsx)("line",{x1:"58",x2:"572",y1:u,y2:u}),(0,Ve.jsx)("text",{className:"tcw-analytics-trend-axis",x:"45",y:u+4,children:S2(a[d])})]},u))}),n.map(u=>(0,Ve.jsx)("polyline",{className:c(u),points:l(u)},u)),n.flatMap(u=>s(u).map((d,p)=>(0,Ve.jsx)("circle",{className:c(u),cx:d.x,cy:d.y,r:"2.6"},`${u}-${p}`))),e.map((u,d)=>(0,Ve.jsxs)("text",{x:58+d*(514/11),y:"157",children:[u.month,"\u6708"]},u.month))]})]})}function wS({kpis:t}){let e=[["\u5DF2\u6536\u6B3E",t.receivedCny,"#16a34a"],["\u672A\u6536\u6B3E",t.unreceivedCny,"#f97316"],["\u5DF2\u4ED8\u6B3E",t.paidCny,"#1769ff"],["\u672A\u4ED8\u6B3E",t.unpaidCny,"#ff7a00"],["\u5DF2\u9000\u7A0E",t.refundedCny,"#26b6c8"],["\u672A\u9000\u7A0E",t.unrefundedCny,"#ff4d55"]],n=Math.max(e.reduce((i,o)=>i+(Number(o[1])||0),0),1),r=Math.max(...e.map(i=>Number(i[1])||0),1);return(0,Ve.jsxs)("div",{className:"tcw-analytics-money-structure",children:[(0,Ve.jsxs)("div",{className:"tcw-analytics-money-head",children:[(0,Ve.jsx)("span",{children:"\u91D1\u989D\uFF08\u4E07\u5143\uFF09"}),(0,Ve.jsx)("span",{children:"\u5360\u6BD4"})]}),e.map(([i,o,a])=>(0,Ve.jsxs)("div",{className:"tcw-analytics-money-row",children:[(0,Ve.jsxs)("span",{children:[(0,Ve.jsx)("i",{style:{background:a}}),i]}),(0,Ve.jsx)("em",{children:(0,Ve.jsx)("i",{style:{width:`${(Number(o)||0)/r*100}%`,background:a}})}),(0,Ve.jsx)("b",{children:It((Number(o)||0)/1e4)}),(0,Ve.jsx)("strong",{children:fi(o,n)})]},i))]})}function vS({items:t,onOpen:e}){let n=t.reduce((s,l)=>s+l.count,0),r=["#1769ff","#26b6c8","#ff9f1c","#8b5cf6","#5ac85a"],i=0,o=t.map((s,l)=>{let c=i;return i+=n>0?s.count/n*100:0,`${r[l%r.length]} ${c.toFixed(2)}% ${i.toFixed(2)}%`}).join(", "),a={"--risk-donut":n>0?`conic-gradient(${o})`:"conic-gradient(#edf2f7 0 100%)"};return(0,Ve.jsxs)("div",{className:"tcw-analytics-risk-distribution","data-analytics-entry":"compliance-risk",children:[(0,Ve.jsxs)("div",{className:"tcw-analytics-donut",style:a,children:[(0,Ve.jsx)("strong",{children:"\u5408\u8BA1"}),(0,Ve.jsx)("span",{children:n})]}),(0,Ve.jsx)("dl",{children:t.map((s,l)=>(0,Ve.jsxs)("button",{type:"button",onClick:()=>e(s),children:[(0,Ve.jsxs)("dt",{children:[(0,Ve.jsx)("i",{className:"ri-checkbox-blank-circle-fill",style:{color:r[l%r.length]},"aria-hidden":"true"}),s.label]}),(0,Ve.jsxs)("dd",{children:[s.count," (",fi(s.count,n),")"]})]},s.key))})]})}function S2(t){return t.toLocaleString("zh-CN",{maximumFractionDigits:t<10?1:0})}var j=be(Be(),1);function xS({data:t,onOpenDetail:e}){let n=t.dashboard,r=[["\u91C7\u8D2D\u603B\u989D",Ur(n.kpis.purchaseTotalCny),"ri-shopping-cart-line","money"],["\u9500\u552E\u603B\u989D",Ur(n.kpis.salesTotalCny),"ri-bar-chart-line","money"],["\u5DF2\u6536\u6B3E\u91D1\u989D",Ur(n.kpis.receivedCny),"ri-time-line","success"],["\u672A\u6536\u6B3E\u91D1\u989D",Ur(n.kpis.unreceivedCny),"ri-alarm-warning-line","warn"],["\u5DF2\u4ED8\u6B3E\u91D1\u989D",Ur(n.kpis.paidCny),"ri-secure-payment-line","success"],["\u672A\u4ED8\u6B3E\u91D1\u989D",Ur(n.kpis.unpaidCny),"ri-error-warning-line","warn"],["\u672A\u9000\u7A0E\u91D1\u989D",Ur(n.kpis.unrefundedCny),"ri-refund-2-line","warn"],["\u9884\u8BA1\u6BDB\u5229\u7387",Gl(n.kpis.estimatedGrossProfitRate),"ri-funds-box-line","success"],["\u5408\u89C4\u5F85\u529E\u6570",`${n.kpis.complianceTodoCount} \u9879`,"ri-shield-check-line","warn"],["\u98CE\u9669\u655E\u53E3\u91D1\u989D",Ur(n.kpis.riskExposureCny),"ri-shield-flash-line","risk"]],i=["\u7EDF\u8BA1\u5468\u671F\u5185\u91C7\u8D2D\u8BA2\u5355","\u7EDF\u8BA1\u5468\u671F\u5185\u9500\u552E\u8BA2\u5355",`\u56DE\u6B3E\u7387 ${fi(n.kpis.receivedCny,n.kpis.salesTotalCny)}`,`\u9500\u552E\u5360\u6BD4 ${fi(n.kpis.unreceivedCny,n.kpis.salesTotalCny)}`,`\u4ED8\u6B3E\u7387 ${fi(n.kpis.paidCny,n.kpis.purchaseTotalCny)}`,`\u91C7\u8D2D\u5360\u6BD4 ${fi(n.kpis.unpaidCny,n.kpis.purchaseTotalCny)}`,`\u9000\u7A0E\u7F3A\u53E3 ${fi(n.kpis.unrefundedCny,mS(n.kpis.refundedCny,n.kpis.unrefundedCny))}`,`\u9884\u8BA1\u6BDB\u5229 ${Ur(n.kpis.estimatedGrossProfitCny)}`,`\u5171 ${n.todos.length} \u7C7B`,"\u4E94\u7C7B\u5408\u89C4\u4E8B\u9879\u5173\u8054\u91D1\u989D"];return(0,j.jsxs)("section",{className:"tcw-analytics-cockpit","aria-label":"\u5916\u8D38\u5408\u89C4\u7ECF\u8425\u9A7E\u9A76\u8231",children:[(0,j.jsx)("div",{className:"tcw-analytics-kpi-grid",children:r.map(([o,a,s,l],c)=>(0,j.jsxs)("article",{className:`is-${l}`,children:[(0,j.jsx)("span",{children:o}),(0,j.jsx)("i",{className:s,"aria-hidden":"true"}),(0,j.jsx)("strong",{children:a}),(0,j.jsx)("small",{children:i[c]})]},o))}),(0,j.jsxs)("div",{className:"tcw-analytics-cockpit-layout",children:[(0,j.jsxs)("div",{className:"tcw-analytics-layout-row tcw-analytics-layout-row--charts",children:[(0,j.jsx)(Gr,{title:"\u5408\u89C4\u5F85\u529E\u961F\u5217",icon:"ri-list-check-3",className:"tcw-analytics-panel--queue",children:(0,j.jsx)(k2,{rows:n.todos,onOpen:o=>e({kind:"COMPLIANCE_TODO",categoryKey:o.key,title:`${o.label}\u660E\u7EC6`})})}),(0,j.jsxs)(Gr,{title:"\u6708\u5EA6\u7ECF\u8425\u8D8B\u52BF",icon:"ri-bar-chart-box-line",className:"tcw-analytics-panel--trend",children:[(0,j.jsxs)("div",{className:"tcw-analytics-chart-legend",children:[(0,j.jsxs)("span",{children:[(0,j.jsx)("i",{className:"is-sales"}),"\u9500\u552E\u989D"]}),(0,j.jsxs)("span",{children:[(0,j.jsx)("i",{className:"is-purchase"}),"\u91C7\u8D2D\u989D"]}),(0,j.jsxs)("span",{children:[(0,j.jsx)("i",{className:"is-profit"}),"\u9884\u8BA1\u6BDB\u5229"]}),(0,j.jsxs)("span",{children:[(0,j.jsx)("i",{className:"is-received"}),"\u56DE\u6B3E\u91D1\u989D"]})]}),(0,j.jsx)(yS,{points:n.monthlyTrend})]}),(0,j.jsx)(Gr,{title:"\u8D44\u91D1\u98CE\u9669\u7ED3\u6784",icon:"ri-stack-line",className:"tcw-analytics-panel--capital",children:(0,j.jsx)(wS,{kpis:n.kpis})}),(0,j.jsx)(Gr,{title:"\u5408\u89C4\u98CE\u9669\u5206\u5E03",icon:"ri-donut-chart-line",className:"tcw-analytics-panel--risk",children:(0,j.jsx)(vS,{items:n.riskDistribution,onOpen:o=>e({kind:"COMPLIANCE_RISK",categoryKey:o.key,title:`${o.label}\u660E\u7EC6`})})})]}),(0,j.jsxs)("div",{className:"tcw-analytics-layout-row tcw-analytics-layout-row--top5",children:[(0,j.jsx)(Gr,{title:"\u5BA2\u6237\u4EF7\u503C TOP5",icon:"ri-vip-crown-line",children:(0,j.jsx)(A2,{rows:n.customerValueTop5})}),(0,j.jsx)(Gr,{title:"\u672A\u6536\u98CE\u9669 TOP5",icon:"ri-bank-line",children:(0,j.jsx)(T2,{rows:n.receivableRiskTop5})}),(0,j.jsx)(Gr,{title:"\u4F9B\u5E94\u5546\u98CE\u9669 TOP5",icon:"ri-truck-line",children:(0,j.jsx)(R2,{rows:n.supplierRiskTop5})})]}),(0,j.jsxs)("div",{className:"tcw-analytics-layout-row tcw-analytics-layout-row--bottom",children:[(0,j.jsx)(Gr,{title:"\u5F02\u5E38\u9500\u552E\u6587\u4EF6\u590D\u6838",icon:"ri-file-search-line",className:"tcw-analytics-panel--files",action:(0,j.jsx)(bS,{entry:"sales-file-review",onClick:()=>e({kind:"SALES_FILE_REVIEW",title:"\u5F02\u5E38\u9500\u552E\u6587\u4EF6\u590D\u6838\u660E\u7EC6"})}),children:(0,j.jsx)(E2,{rows:n.salesFileReviews})}),(0,j.jsx)(Gr,{title:"\u98CE\u9669\u8BA2\u5355\u660E\u7EC6",icon:"ri-file-warning-line",className:"tcw-analytics-panel--risk-orders",action:(0,j.jsx)(bS,{entry:"risk-order",onClick:()=>e({kind:"RISK_ORDER",title:"\u98CE\u9669\u8BA2\u5355\u660E\u7EC6"})}),children:(0,j.jsx)(I2,{rows:n.riskOrders})}),(0,j.jsx)(Gr,{title:"\u6307\u6807\u6570\u636E\u6765\u6E90",icon:"ri-database-2-line",className:"tcw-analytics-panel--source",children:(0,j.jsx)(N2,{rows:n.dataSources})})]})]})]})}function Gr({title:t,icon:e,className:n="",action:r,children:i}){return(0,j.jsxs)("section",{className:`tcw-analytics-panel ${n}`.trim(),children:[(0,j.jsxs)("header",{children:[(0,j.jsxs)("strong",{children:[(0,j.jsx)("i",{className:e,"aria-hidden":"true"}),t]}),r]}),i]})}function bS({entry:t,onClick:e}){return(0,j.jsxs)("button",{type:"button",className:"tcw-analytics-view-all","data-analytics-entry":t,onClick:e,children:[(0,j.jsx)("i",{className:"ri-arrow-right-line","aria-hidden":"true"}),"\u67E5\u770B\u5168\u90E8"]})}function k2({rows:t,onOpen:e}){return t.length?(0,j.jsxs)("div",{className:"tcw-analytics-todo-board","data-analytics-entry":"compliance-todo",children:[(0,j.jsxs)("div",{className:"tcw-analytics-todo-head",children:[(0,j.jsx)("span",{children:"\u5F85\u529E\u4E8B\u9879"}),(0,j.jsx)("span",{children:"\u6570\u91CF"}),(0,j.jsx)("span",{children:"\u5173\u8054\u91D1\u989D"}),(0,j.jsx)("span",{children:"\u4F18\u5148\u7EA7"})]}),t.map(n=>(0,j.jsxs)("button",{type:"button",className:"tcw-analytics-todo-row",onClick:()=>e(n),children:[(0,j.jsxs)("span",{title:n.description,children:[(0,j.jsx)("i",{className:"ri-file-list-2-line","aria-hidden":"true"}),n.label]}),(0,j.jsx)("b",{children:n.count}),(0,j.jsx)("em",{children:n.amountCny?It(n.amountCny):""}),(0,j.jsx)(P2,{status:n.priority==="high"?"HIGH":n.priority==="medium"?"MEDIUM":"LOW"})]},n.key))]}):(0,j.jsx)(Xa,{text:"\u6682\u65E0\u5408\u89C4\u5F85\u529E"})}function A2({rows:t}){return t.length?(0,j.jsxs)("table",{className:"tcw-analytics-dashboard-table tcw-analytics-table--customer",children:[(0,j.jsx)("thead",{children:(0,j.jsxs)("tr",{children:[(0,j.jsx)("th",{}),(0,j.jsx)("th",{children:"\u5BA2\u6237\u540D\u79F0"}),(0,j.jsx)("th",{children:"\u9500\u552E\u989D"}),(0,j.jsx)("th",{children:"\u9884\u8BA1\u6BDB\u5229"}),(0,j.jsx)("th",{children:"\u6BDB\u5229\u7387"}),(0,j.jsx)("th",{children:"\u672A\u6536\u6B3E\u91D1\u989D"}),(0,j.jsx)("th",{children:"\u98CE\u9669\u5185\u5BB9"})]})}),(0,j.jsx)("tbody",{children:t.map((e,n)=>(0,j.jsxs)("tr",{children:[(0,j.jsx)("td",{children:n+1}),(0,j.jsx)("td",{title:e.customerName,children:e.customerName}),(0,j.jsx)("td",{title:It(e.salesAmountCny),children:It(e.salesAmountCny)}),(0,j.jsx)("td",{title:It(e.estimatedGrossProfitCny),children:It(e.estimatedGrossProfitCny)}),(0,j.jsx)("td",{title:Gl(e.estimatedGrossProfitRate),children:Gl(e.estimatedGrossProfitRate)}),(0,j.jsx)("td",{title:It(e.unreceivedCny),children:It(e.unreceivedCny)}),(0,j.jsx)("td",{children:(0,j.jsx)(CS,{labels:D2(e),tone:e.riskStatus})})]},e.customerId))})]}):(0,j.jsx)(Xa,{text:"\u6682\u65E0\u5BA2\u6237\u4EF7\u503C\u6392\u540D"})}function T2({rows:t}){return t.length?(0,j.jsxs)("table",{className:"tcw-analytics-dashboard-table tcw-analytics-table--receivable",children:[(0,j.jsx)("thead",{children:(0,j.jsxs)("tr",{children:[(0,j.jsx)("th",{children:"\u5BA2\u6237\u540D\u79F0"}),(0,j.jsx)("th",{children:"\u672A\u6536\u6B3E\u91D1\u989D"}),(0,j.jsx)("th",{children:"\u5173\u8054\u9500\u552E\u8BA2\u5355\u6570"}),(0,j.jsx)("th",{children:"\u6700\u8FD1\u8BA2\u5355\u65E5\u671F"})]})}),(0,j.jsx)("tbody",{children:t.map(e=>(0,j.jsxs)("tr",{children:[(0,j.jsx)("td",{title:e.customerName,children:e.customerName}),(0,j.jsx)("td",{title:It(e.unreceivedCny),children:It(e.unreceivedCny)}),(0,j.jsx)("td",{title:String(e.orderCount),children:e.orderCount}),(0,j.jsx)("td",{title:Hl(e.latestOrderDate),children:Hl(e.latestOrderDate)})]},e.customerId))})]}):(0,j.jsx)(Xa,{text:"\u6682\u65E0\u672A\u6536\u98CE\u9669"})}function R2({rows:t}){return t.length?(0,j.jsxs)("table",{className:"tcw-analytics-dashboard-table tcw-analytics-table--supplier",children:[(0,j.jsx)("thead",{children:(0,j.jsxs)("tr",{children:[(0,j.jsx)("th",{children:"\u4F9B\u5E94\u5546\u540D\u79F0"}),(0,j.jsx)("th",{children:"\u672A\u4ED8\u6B3E\u91D1\u989D"}),(0,j.jsx)("th",{children:"\u98CE\u9669\u5185\u5BB9"}),(0,j.jsx)("th",{children:"\u5236\u88C1\u72B6\u6001"}),(0,j.jsx)("th",{children:"\u5173\u8054\u91C7\u8D2D\u8BA2\u5355\u6570"}),(0,j.jsx)("th",{children:"\u5546\u54C1\u98CE\u9669\u547D\u4E2D\u6570"})]})}),(0,j.jsx)("tbody",{children:t.map(e=>{let n=e.sanctionHitCount>0?"\u547D\u4E2D\u5236\u88C1":"\u672A\u547D\u4E2D";return(0,j.jsxs)("tr",{children:[(0,j.jsx)("td",{title:e.supplierName,children:e.supplierName}),(0,j.jsx)("td",{title:It(e.unpaidCny),children:It(e.unpaidCny)}),(0,j.jsx)("td",{children:(0,j.jsx)(CS,{labels:O2(e),tone:e.riskStatus})}),(0,j.jsx)("td",{children:(0,j.jsx)("span",{title:n,className:e.sanctionHitCount>0?"tcw-analytics-status is-danger":"tcw-analytics-status is-ok",children:n})}),(0,j.jsx)("td",{title:String(e.purchaseOrderCount),children:e.purchaseOrderCount}),(0,j.jsx)("td",{title:String(e.productRiskHitCount),children:e.productRiskHitCount})]},e.supplierId)})})]}):(0,j.jsx)(Xa,{text:"\u6682\u65E0\u4F9B\u5E94\u5546\u98CE\u9669"})}function E2({rows:t}){return t.length?(0,j.jsxs)("table",{className:"tcw-analytics-dashboard-table tcw-analytics-table--files",children:[(0,j.jsx)("thead",{children:(0,j.jsxs)("tr",{children:[(0,j.jsx)("th",{children:"\u6587\u4EF6\u7F16\u53F7"}),(0,j.jsx)("th",{children:"\u6587\u4EF6\u7C7B\u578B"}),(0,j.jsx)("th",{children:"\u5173\u8054\u9500\u552E\u8BA2\u5355"}),(0,j.jsx)("th",{children:"\u5F02\u5E38\u539F\u56E0"})]})}),(0,j.jsx)("tbody",{children:t.map(e=>(0,j.jsxs)("tr",{children:[(0,j.jsx)("td",{title:e.fileName,children:e.fileName}),(0,j.jsx)("td",{title:e.fileType,children:e.fileType}),(0,j.jsx)("td",{title:e.salesOrderNo,children:e.salesOrderNo}),(0,j.jsx)("td",{title:e.reason,children:e.reason})]},e.fileId))})]}):(0,j.jsx)(Xa,{text:"\u6682\u65E0\u5F02\u5E38\u9500\u552E\u6587\u4EF6"})}function I2({rows:t}){return t.length?(0,j.jsxs)("table",{className:"tcw-analytics-dashboard-table tcw-analytics-risk-orders",children:[(0,j.jsx)("thead",{children:(0,j.jsxs)("tr",{children:[(0,j.jsx)("th",{children:"\u8BA2\u5355\u7F16\u53F7"}),(0,j.jsx)("th",{children:"\u4E1A\u52A1\u5BF9\u8C61"}),(0,j.jsx)("th",{children:"\u98CE\u9669\u7C7B\u578B"}),(0,j.jsx)("th",{children:"\u98CE\u9669\u91D1\u989D"}),(0,j.jsx)("th",{children:"\u72B6\u6001"})]})}),(0,j.jsx)("tbody",{children:t.map(e=>(0,j.jsxs)("tr",{children:[(0,j.jsx)("td",{title:e.orderNo,children:e.orderNo}),(0,j.jsx)("td",{title:e.partyName,children:e.partyName}),(0,j.jsx)("td",{children:(0,j.jsx)("em",{title:e.riskType,children:e.riskType})}),(0,j.jsx)("td",{title:It(e.riskAmountCny),children:It(e.riskAmountCny)}),(0,j.jsx)("td",{children:(0,j.jsx)("span",{title:e.status,className:"tcw-analytics-status is-warn",children:e.status})})]},e.orderKey))})]}):(0,j.jsx)(Xa,{text:"\u6682\u65E0\u98CE\u9669\u8BA2\u5355"})}function N2({rows:t}){let e=["ri-file-list-3-line","ri-file-chart-line","ri-file-shield-2-line","ri-file-warning-line","ri-file-check-line","ri-file-copy-2-line","ri-file-paper-2-line","ri-file-text-line","ri-file-list-2-line","ri-refund-2-line","ri-file-search-line","ri-exchange-cny-line"];return(0,j.jsx)("div",{className:"tcw-analytics-source-list",children:t.map((n,r)=>(0,j.jsxs)("div",{className:"tcw-analytics-source-item",title:`${n.label}\uFF1A${n.description}`,children:[(0,j.jsx)("i",{className:e[r%e.length],"aria-hidden":"true"}),(0,j.jsx)("strong",{children:n.label})]},n.label))})}function P2({status:t}){let e=t==="HIGH"?"\u9AD8":t==="MEDIUM"?"\u4E2D":t==="LOW"?"\u4F4E":t;return(0,j.jsx)("span",{className:`tcw-analytics-risk-badge is-${t.toLowerCase()}`,children:e})}function CS({labels:t,tone:e}){return(0,j.jsx)("span",{className:"tcw-analytics-risk-tags",title:t.join("\u3001"),children:t.map(n=>(0,j.jsx)("span",{title:n,className:`tcw-analytics-status ${e==="HIGH"?"is-danger":e==="MEDIUM"?"is-warn":"is-ok"}`,children:n},n))})}function D2(t){return Number(t.unreceivedCny)>0?["\u672A\u6536\u6B3E"]:["\u65E0\u660E\u663E\u8D44\u91D1\u98CE\u9669"]}function O2(t){let e=[...t.sanctionHitCount>0?["\u5236\u88C1\u547D\u4E2D"]:[],...t.productRiskHitCount>0?["\u5546\u54C1\u98CE\u9669"]:[],...Number(t.unpaidCny)>0?["\u672A\u4ED8\u6B3E"]:[]];return e.length?e:["\u65E0\u660E\u663E\u98CE\u9669"]}function Xa({text:t}){return(0,j.jsx)("small",{className:"tcw-analytics-empty",children:t})}var xn=be(Be(),1);function Iy({title:t,page:e,busy:n,error:r,onBack:i,onPageChange:o,onPageSizeChange:a,onAction:s}){let l=L2(e.items);return(0,xn.jsxs)("section",{className:"tcw-analytics-detail-page","aria-label":t,children:[(0,xn.jsxs)("header",{className:"tcw-analytics-detail-header",children:[(0,xn.jsxs)("div",{children:[(0,xn.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:i,children:[(0,xn.jsx)("i",{className:"ri-arrow-left-line","aria-hidden":"true"}),"\u8FD4\u56DE\u9A7E\u9A76\u8231"]}),(0,xn.jsx)("h2",{children:t})]}),(0,xn.jsxs)("span",{children:["\u5171 ",e.total," \u6761"]})]}),r&&(0,xn.jsx)(ct,{children:r}),n&&(0,xn.jsxs)("div",{className:"tcw-inline-loading",role:"status",children:[(0,xn.jsx)("span",{className:"tcw-spinner","aria-hidden":"true"}),"\u660E\u7EC6\u52A0\u8F7D\u4E2D"]}),(0,xn.jsx)(ot,{columns:l,rows:e.items,rowKey:"id",pagination:e,onPageChange:o,onPageSizeChange:a,emptyText:"\u5F53\u524D\u7EDF\u8BA1\u9879\u6682\u65E0\u660E\u7EC6",actionWidth:92,actions:c=>(0,xn.jsxs)("button",{type:"button",className:"tcw-button tcw-button--text",onClick:()=>s(c),children:[(0,xn.jsx)("i",{className:_2(c.action.kind),"aria-hidden":"true"}),c.action.label]})})]})}function L2(t){let e=[{type:"ellipsis",key:"referenceNo",header:"\u4E1A\u52A1\u7F16\u53F7",width:180,maxWidth:180},{type:"ellipsis",key:"categoryLabel",header:"\u4E1A\u52A1\u5206\u7C7B",width:150,maxWidth:150}];return t.some(n=>n.subjectName)&&e.push({type:"ellipsis",key:"subjectName",header:"\u4E1A\u52A1\u5BF9\u8C61",width:180,maxWidth:180}),t.some(n=>n.businessDate)&&e.push({type:"text",key:"businessDate",header:"\u4E1A\u52A1\u65E5\u671F",width:120,format:n=>Hl(n)}),t.some(n=>n.reason)&&e.push({type:"ellipsis",key:"reason",header:"\u5F02\u5E38\u539F\u56E0",width:260,maxWidth:260}),t.some(n=>n.amountCny!=null)&&e.push({type:"text",key:"amountCny",header:"\u98CE\u9669\u91D1\u989D",width:150,align:"right",format:n=>It(n)}),e.push({type:"text",key:"status",header:"\u72B6\u6001",width:110,align:"center"}),e}function _2(t){return t==="SALES_FILE_REVIEW"?"ri-file-search-line":t==="CUSTOMER_CONTRACT_REVIEW"||t==="PURCHASE_CONTRACT_REVIEW"?"ri-shield-check-line":t==="SALES_ORDER_VIEW"||t==="PURCHASE_ORDER_VIEW"?"ri-eye-line":"ri-arrow-right-line"}var $e=be(Be(),1),SS=()=>({items:[],page:1,pageSize:20,total:0,pageCount:1});function AS({data:t,committedQuery:e,detailRefreshKey:n=0,busy:r,error:i,onQuery:o,onDetailQuery:a,onDetailAction:s,onExportXlsx:l}){let c=e??{filters:{orderDate:Ny(t.currentYear)},page:1,pageSize:20},[u,d]=Vn.default.useState(c.filters),[p,h]=Vn.default.useState(()=>kS(c,t.currentYear)),[m,f]=Vn.default.useState(!1),[v,g]=Vn.default.useState(null),[y,w]=Vn.default.useState(SS),[b,x]=Vn.default.useState(!1),[C,k]=Vn.default.useState(null),S=Vn.default.useRef(Or()),E=Vn.default.useRef(n);Vn.default.useEffect(()=>{d(c.filters),h(kS(c,t.currentYear))},[c,t.currentYear]);let D=V=>o({filters:V,page:1,pageSize:c.pageSize}),O=V=>{let G={orderDate:V==="year"?Ny(t.currentYear):TS()};h(V),f(!1),d(G),D(G)},H=()=>{h("custom"),f(!1),D(u)},M=Vn.default.useCallback(async(V,G,K)=>{let J=S.current.begin();x(!0),k(null);try{let ie=await a({kind:V.kind,categoryKey:V.categoryKey,filters:u,page:G,pageSize:K});if(G>ie.pageCount&&(ie=await a({kind:V.kind,categoryKey:V.categoryKey,filters:u,page:ie.pageCount,pageSize:K})),!S.current.commit(J))return;w(ie)}catch(ie){if(!S.current.commit(J))return;k(ie instanceof Error?ie.message:"\u660E\u7EC6\u52A0\u8F7D\u5931\u8D25"),w({items:[],page:G,pageSize:K,total:0,pageCount:1})}finally{S.current.finish(J),S.current.activeCount()===0&&x(!1)}},[u,a]),_=V=>{g(V),w(SS()),M(V,1,20)};return Vn.default.useEffect(()=>{E.current!==n&&(E.current=n,v&&M(v,y.page,y.pageSize))},[y.page,y.pageSize,n,M,v]),v?(0,$e.jsx)(Iy,{title:v.title,page:y,busy:b,error:C,onBack:()=>{S.current.invalidate(),g(null),k(null),x(!1)},onPageChange:V=>{M(v,V,y.pageSize)},onPageSizeChange:V=>{M(v,1,V)},onAction:V=>{s?.(V)}}):(0,$e.jsxs)("section",{className:"tcw-analytics-page","aria-label":"\u6570\u636E\u5206\u6790",children:[(0,$e.jsxs)("div",{className:"tcw-analytics-cockpit-hero",children:[(0,$e.jsxs)("div",{children:[(0,$e.jsx)("h1",{children:"\u5916\u8D38\u5408\u89C4\u7ECF\u8425\u9A7E\u9A76\u8231"}),(0,$e.jsx)("p",{children:"\u7ECF\u8425\u8D44\u91D1\u3001\u5408\u540C\u5BA1\u6838\u3001\u5546\u54C1\u7BA1\u63A7\u3001\u5236\u88C1\u547D\u4E2D\u3001\u5229\u6DA6\u5F02\u5E38\u7EDF\u4E00\u76D1\u63A7"})]}),(0,$e.jsxs)("div",{className:"tcw-analytics-page-actions",children:[l&&(0,$e.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:()=>{l({filters:u,format:"XLSX"})},children:[(0,$e.jsx)("i",{className:"ri-download-2-line","aria-hidden":"true"}),"\u5BFC\u51FA\u62A5\u8868"]}),(0,$e.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:()=>{D(u)},children:[(0,$e.jsx)("i",{className:"ri-refresh-line","aria-hidden":"true"}),"\u5237\u65B0"]})]})]}),(0,$e.jsx)("div",{className:"tcw-analytics-query",children:(0,$e.jsxs)("div",{className:"tcw-analytics-toolbar",children:[(0,$e.jsx)("span",{className:"tcw-analytics-label",children:"\u7EDF\u8BA1\u5468\u671F\uFF1A"}),(0,$e.jsxs)("div",{className:"tcw-segmented-control tcw-analytics-period",role:"group","aria-label":"\u7EDF\u8BA1\u65F6\u95F4",children:[(0,$e.jsxs)("button",{type:"button","aria-pressed":p==="year",onClick:()=>O("year"),children:[(0,$e.jsx)("i",{className:"ri-calendar-event-line","aria-hidden":"true"}),"\u672C\u5E74"]}),(0,$e.jsxs)("button",{type:"button","aria-pressed":p==="month",onClick:()=>O("month"),children:[(0,$e.jsx)("i",{className:"ri-calendar-check-line","aria-hidden":"true"}),"\u672C\u6708"]}),(0,$e.jsxs)("button",{type:"button","aria-pressed":p==="custom",onClick:()=>{h("custom"),f(!0)},children:[(0,$e.jsx)("i",{className:"ri-calendar-2-line","aria-hidden":"true"}),"\u81EA\u5B9A\u4E49\u533A\u95F4"]})]}),m&&(0,$e.jsxs)("div",{className:"tcw-analytics-custom-range",children:[(0,$e.jsx)("input",{type:"date","aria-label":"\u7EDF\u8BA1\u5F00\u59CB\u65E5\u671F",value:u.orderDate?.from??"",onChange:V=>d({orderDate:{...u.orderDate,from:V.target.value}})}),(0,$e.jsx)("span",{children:"\u81F3"}),(0,$e.jsx)("input",{type:"date","aria-label":"\u7EDF\u8BA1\u7ED3\u675F\u65E5\u671F",value:u.orderDate?.to??"",onChange:V=>d({orderDate:{...u.orderDate,to:V.target.value}})}),(0,$e.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:H,children:[(0,$e.jsx)("i",{className:"ri-check-line","aria-hidden":"true"}),"\u5E94\u7528"]})]})]})}),(0,$e.jsx)(xS,{data:t,onOpenDetail:_}),i&&(0,$e.jsx)(ct,{children:i}),r&&(0,$e.jsxs)("div",{className:"tcw-inline-loading",role:"status",children:[(0,$e.jsx)("span",{className:"tcw-spinner","aria-hidden":"true"}),"\u6570\u636E\u52A0\u8F7D\u4E2D"]})]})}function Ny(t){return{from:`${t}-01-01`,to:`${t}-12-31`}}function TS(t=new Date){let n=new Intl.DateTimeFormat("en-CA",{timeZone:"Asia/Shanghai",year:"numeric",month:"2-digit",day:"2-digit"}).format(t);return{from:`${n.slice(0,7)}-01`,to:n}}function kS(t,e){let n=t.filters.orderDate;if(!n?.from&&!n?.to)return"year";let r=Ny(e),i=TS();return n?.from===r.from&&n?.to===r.to?"year":n?.from===i.from&&n?.to===i.to?"month":"custom"}var Oe=be(Qt(),1);function RS({upload:t,discard:e,apply:n,notify:r}){let i=!0,o=0,a=null,s=l=>e(l);return{async upload(l){let c=++o;try{let u=await t(l);if(!i||c!==o)return s(u),null;let d=a;return a=u,d&&d!==u&&s(d),n(u),r?.({message:"\u516C\u53F8 Logo \u4E0A\u4F20\u6210\u529F",tone:"success"}),u}catch(u){return i&&c===o&&r?.({message:u instanceof Error?u.message:"\u516C\u53F8 Logo \u4E0A\u4F20\u5931\u8D25",tone:"error"}),null}},discardDraft(){o+=1;let l=a;a=null,l&&s(l)},markSaved(l){a===l&&(a=null)},dispose(){if(!i)return;i=!1,o+=1;let l=a;a=null,l&&s(l)}}}var N=be(Be(),1);async function F2({selectedIds:t,rows:e,onDeleteRate:n,refresh:r,query:i,notify:o,isCurrent:a=()=>!0}){let s=new Map(e.filter(h=>!!h.id).map(h=>[h.id,{request:{settingsType:"rate",id:h.id,expectedRevision:h.revision??0},label:`${h.year}\u5E74${String(h.month).padStart(2,"0")}\u6708 ${h.currencyCode??"USD"}`}])),l=[...t].filter(h=>s.has(h)),c=await rr(l,h=>n(s.get(h).request,{suppressRefresh:!0})),u=c.failed.map(h=>({...h,label:s.get(h.key)?.label??h.key})),d=e.filter(h=>!h.id||!c.succeeded.includes(h.id)),p=Lr(i.page,d.length);if(!a())return{selectedIds:new Set(l),failures:u,refreshFailed:!1,stale:!0};try{let h=await r({...i,page:p});if(!a())return{selectedIds:new Set(l),failures:u,refreshFailed:!1,stale:!0};if(h===!1)return{selectedIds:new Set(l),failures:u,refreshFailed:!0,stale:!1}}catch{return a()?{selectedIds:new Set(l),failures:u,refreshFailed:!0,stale:!1}:{selectedIds:new Set(l),failures:u,refreshFailed:!1,stale:!0}}return u.length===0?o?.({message:`\u5DF2\u5220\u9664 ${c.succeeded.length} \u6761`,tone:"success"}):o?.({message:`\u6210\u529F ${c.succeeded.length}\u3001\u5931\u8D25 ${u.length}`,tone:c.succeeded.length>0?"warning":"error"}),{selectedIds:new Set(u.map(h=>h.key)),failures:u,refreshFailed:!1,stale:!1}}function M2(t,e,n){let r=new Set(n.flatMap(i=>i.id?[i.id]:[]));return{selectedIds:new Set([...t].filter(i=>r.has(i))),failures:e.filter(i=>r.has(i.key))}}function B2(t,e,n){let r=new Set(t);for(let i of e)i.id&&(n?r.add(i.id):r.delete(i.id));return r}function ES({onSave:t,onRestoreDefault:e,onDeleteRate:n}){return{saveCompany:r=>{let{revision:i,...o}=r;return t({settingsType:"company",expectedRevision:i,values:o})},saveBank:r=>{let{revision:i,...o}=r;return t({settingsType:"bank",expectedRevision:i,values:o})},saveProfit:r=>t({settingsType:"profit",expectedRevision:r.revision,values:{status:r.status,minimumOrderProfitRate:r.minimumOrderProfitRate,exchangeCostMinimum:r.exchangeCostMinimum,exchangeCostMaximum:r.exchangeCostMaximum}}),saveRate:r=>t({settingsType:"rate",expectedRevision:r.revision??0,values:{...r,sourceType:"MANUAL",currencyCode:"USD"}}),restoreCompany:r=>e({settingsType:"company",expectedRevision:r}),restoreBank:r=>e({settingsType:"bank",bankType:r.bankType,expectedRevision:r.revision}),restoreProfit:r=>e({settingsType:"profit",expectedRevision:r}),deleteRate:r=>n({settingsType:"rate",id:r.id??"",expectedRevision:r.revision??0})}}function Py(t,e){return t.revision===e.revision?t:e}async function Vl(t,e){let n=await t();return n&&e(),n}var $l=[{key:"COMPANY",label:"\u516C\u53F8\u4FE1\u606F"},{key:"BANK",label:"\u94F6\u884C\u4FE1\u606F"},{key:"MONTHLY_RATE",label:"\u6708\u5EA6\u6C47\u7387"}];function z2(t,e){if(e!=="ArrowLeft"&&e!=="ArrowRight")return t;let n=$l.findIndex(r=>r.key===t);return $l[(n+(e==="ArrowRight"?1:$l.length-1))%$l.length].key}function IS(t){return t.toLowerCase().replace("_","-")}function U2(t){return t==="COMPANY"?"\u516C\u53F8\u914D\u7F6E\u5141\u8BB8\u4FDD\u5B58\u4E0D\u5B8C\u6574\u5185\u5BB9\uFF0C\u751F\u6210\u6587\u4EF6\u65F6\u4F18\u5148\u5199\u5165\u975E\u7A7A\u914D\u7F6E\uFF0C\u7F3A\u5931\u5B57\u6BB5\u4FDD\u7559\u6A21\u677F\u9ED8\u8BA4\u503C\u3002":t==="BANK"?"\u7CFB\u7EDF\u4EC5\u7EF4\u62A4\u4EE5\u4E0A\u4E24\u7C7B\u56FA\u5B9A\u6536\u6B3E\u94F6\u884C\u4FE1\u606F\uFF08\u4EBA\u6C11\u5E01\u3001\u7F8E\u5143\uFF09\uFF0C\u4E0D\u652F\u6301\u65B0\u589E\u6216\u7EF4\u62A4\u591A\u6761\u8BB0\u5F55\u3002\u751F\u6210\u7684\u6587\u4EF6\u5C06\u4FDD\u5B58\u5F53\u524D\u94F6\u884C\u4FE1\u606F\u5FEB\u7167\uFF0C\u8BF7\u5728\u4FEE\u6539\u540E\u91CD\u65B0\u751F\u6210\u4EE5\u786E\u4FDD\u6587\u4EF6\u4FE1\u606F\u51C6\u786E\u3002":(0,N.jsxs)(N.Fragment,{children:["\u8BF4\u660E",(0,N.jsx)("br",{}),"\u3000\xB7 \u6BCF\u4E2A\u7EC4\u7EC7 + \u81EA\u7136\u6708 + \u5E01\u79CD\uFF0C\u53EA\u5141\u8BB8\u5B58\u5728\u4E00\u6761\u6709\u6548\u8BB0\u5F55\u3002",(0,N.jsx)("br",{}),"\u3000\xB7 \u5E01\u79CD\u56FA\u5B9A\u4E3A USD\u3002",(0,N.jsx)("br",{}),"\u3000\xB7 \u6C47\u7387\u542B\u4E49\u4E3A\uFF1A1 \u7F8E\u5143\u5151\u6362\u591A\u5C11\u4EBA\u6C11\u5E01\u3002",(0,N.jsx)("br",{}),"\u3000\xB7 \u82E5\u672A\u7EF4\u62A4\u5FC5\u586B\u6708\u4EFD\u7684\u6C47\u7387\uFF0C\u53EF\u80FD\u5BFC\u81F4\u542B\u53EF\u9000\u7A0E\u5546\u54C1\u7684\u8BA2\u5355\u65E0\u6CD5\u751F\u6210\u6587\u4EF6\u3002"]})}function Dy({tab:t}){return(0,N.jsx)("div",{className:"tcw-settings-page-notice-slot",children:(0,N.jsx)(Je,{children:U2(t)})})}function NS({data:t,busy:e,onSave:n,onRestoreDefault:r,onDeleteRate:i,onRateQuery:o,onRateQueryRequested:a,onBulkReconcile:s,externalBulkBusy:l=!1,onBulkBusyChange:c,onBulkViewActiveChange:u,onUploadLogo:d,onDiscardLogo:p,initialTab:h="COMPANY",onNotify:m}){let[f,v]=Oe.default.useState(h),[g,y]=Oe.default.useState(null),[w,b]=Oe.default.useState(null),x=Oe.default.useRef({}),C=e||l,k=async(O,H)=>wr(O,m,{success:H,error:"\u8BBE\u7F6E\u64CD\u4F5C\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5"}),S=async()=>{if(!g)return;let O=ES({onSave:n,onRestoreDefault:r,onDeleteRate:i}),H=g.settingsType==="company"?()=>O.restoreCompany(g.expectedRevision):g.settingsType==="bank"?()=>O.restoreBank(Za(t,g.bankType)):()=>O.restoreProfit(g.expectedRevision);await Vl(()=>k(H,"\u5DF2\u6062\u590D\u7CFB\u7EDF\u9ED8\u8BA4\u914D\u7F6E"),()=>y(null))},E=(O,H)=>{let M=z2(H,O.key);M!==H&&(O.preventDefault(),u?.(M==="MONTHLY_RATE"),v(M),x.current[M]?.focus())},D=IS(f);return Oe.default.useEffect(()=>(u?.(f==="MONTHLY_RATE"),()=>u?.(!1)),[f,u]),(0,N.jsxs)("section",{className:"tcw-settings-page","data-settings-page":"typed",children:[(0,N.jsx)("div",{className:"tcw-settings-tabs",role:"tablist","aria-label":"\u7CFB\u7EDF\u8BBE\u7F6E",children:$l.map(O=>{let H=IS(O.key);return(0,N.jsxs)("button",{ref:M=>{x.current[O.key]=M},id:`settings-tab-${H}`,type:"button",role:"tab","aria-selected":f===O.key,"aria-controls":`settings-panel-${H}`,tabIndex:f===O.key?0:-1,className:f===O.key?"is-active":"",onClick:()=>{u?.(O.key==="MONTHLY_RATE"),v(O.key)},onKeyDown:M=>E(M,O.key),children:[(0,N.jsx)("i",{className:O.key==="COMPANY"?"ri-building-line":O.key==="BANK"?"ri-bank-line":"ri-exchange-dollar-line","aria-hidden":"true"}),O.label]},O.key)})}),(0,N.jsxs)("div",{className:"tcw-settings-content",id:`settings-panel-${D}`,role:"tabpanel","aria-labelledby":`settings-tab-${D}`,tabIndex:0,children:[f==="COMPANY"&&(0,N.jsx)(G2,{value:t.company,busy:C,onSave:O=>k(()=>n({settingsType:"company",expectedRevision:t.company.revision,values:O}),"\u4F01\u4E1A\u4FE1\u606F\u4FDD\u5B58\u6210\u529F"),onUploadLogo:d,onDiscardLogo:p,onNotify:m,onRestore:()=>y({settingsType:"company",expectedRevision:t.company.revision})}),f==="BANK"&&(0,N.jsx)(H2,{data:t,busy:C,onEdit:b,onRestore:O=>{let H=Za(t,O);y({settingsType:"bank",bankType:O,expectedRevision:H.revision})}}),f==="MONTHLY_RATE"&&(0,N.jsx)(K2,{profit:t.profit,rates:t.rates,busy:e,externalBulkBusy:l,onQuery:o??(()=>{}),onQueryRequested:a,onBulkReconcile:s,onBulkBusyChange:c,onSaveProfit:O=>k(()=>ES({onSave:n,onRestoreDefault:r,onDeleteRate:i}).saveProfit(O),"\u5229\u6DA6\u4E0E\u6362\u6C47\u89C4\u5219\u4FDD\u5B58\u6210\u529F"),onRestoreProfit:()=>y({settingsType:"profit",expectedRevision:t.profit.revision}),onSave:O=>k(()=>n({settingsType:"rate",expectedRevision:O.revision??0,values:O}),"\u6708\u5EA6\u7F8E\u5143\u6C47\u7387\u4FDD\u5B58\u6210\u529F"),onDelete:O=>k(()=>i(O),"\u6708\u5EA6\u7F8E\u5143\u6C47\u7387\u5220\u9664\u6210\u529F"),onBulkDelete:i,onNotify:m})]}),w&&(0,N.jsx)(j2,{bankType:w,value:Za(t,w),busy:C,onClose:()=>b(null),onSave:O=>k(()=>n({settingsType:"bank",expectedRevision:Za(t,w).revision,values:O}),`${w==="OVERSEAS_CNY"?"\u4EBA\u6C11\u5E01":"\u7F8E\u5143"}\u6536\u6B3E\u94F6\u884C\u4FDD\u5B58\u6210\u529F`)}),g&&(0,N.jsx)(Z2,{request:g,data:t,busy:C,onClose:()=>y(null),onConfirm:()=>{S()}})]})}function G2({value:t,busy:e,onSave:n,onUploadLogo:r,onDiscardLogo:i,onRestore:o,onNotify:a}){let[s,l]=Oe.default.useState(t),[c,u]=Oe.default.useState(null),d=Oe.default.useRef(t.revision),p=Oe.default.useRef(null),h=Oe.default.useRef({onUploadLogo:r,onDiscardLogo:i,onNotify:a});h.current={onUploadLogo:r,onDiscardLogo:i,onNotify:a};let m=b=>{p.current&&URL.revokeObjectURL(p.current),p.current=b,u(b)},f=Oe.default.useRef(null);f.current||(f.current=RS({upload:b=>h.current.onUploadLogo(b),discard:b=>{Promise.resolve(h.current.onDiscardLogo(b)).catch(x=>h.current.onNotify?.({message:x instanceof Error?x.message:"\u516C\u53F8 Logo \u6E05\u7406\u5931\u8D25",tone:"error"}))},apply:b=>l(x=>({...x,logoFileId:b})),notify:b=>h.current.onNotify?.(b)})),Oe.default.useEffect(()=>{d.current!==t.revision&&(d.current=t.revision,f.current?.discardDraft(),m(null)),l(b=>Py(b,t))},[t]),Oe.default.useEffect(()=>()=>{f.current?.dispose(),p.current&&URL.revokeObjectURL(p.current)},[]);let v=async b=>{let x=URL.createObjectURL(b);m(x),!await f.current?.upload(b)&&p.current===x&&m(null)},g=async()=>{let{revision:b,logoPreviewUrl:x,...C}=s;await n(C)&&f.current?.markSaved(s.logoFileId??null)},y=b=>({value:String(s[b]??""),onChange:x=>l(C=>({...C,[b]:x.target.value||null}))}),w=c??s.logoPreviewUrl;return(0,N.jsxs)("div",{className:"tcw-settings-company-form",children:[(0,N.jsxs)("div",{className:"tcw-settings-card tcw-settings-company-card",children:[(0,N.jsx)(We,{label:"\u516C\u53F8 Logo",children:(0,N.jsxs)("div",{className:"tcw-settings-logo-field",children:[w&&(0,N.jsx)("div",{className:"tcw-settings-logo-preview",children:(0,N.jsx)("img",{src:w,alt:"\u516C\u53F8 Logo \u9884\u89C8"})}),(0,N.jsxs)("label",{className:"tcw-settings-upload",children:[(0,N.jsx)("input",{type:"file",accept:"image/png,image/jpeg",disabled:e,onChange:b=>{let x=b.target.files?.[0];b.currentTarget.value="",x&&v(x)}}),(0,N.jsx)("i",{className:"ri-upload-cloud-2-line","aria-hidden":"true"}),(0,N.jsxs)("span",{children:["\u70B9\u51FB\u4E0A\u4F20\u6216\u62D6\u62FD\u6587\u4EF6\u5230\u6B64\u5904",(0,N.jsx)("small",{children:s.logoFileId?`\u5DF2\u4E0A\u4F20\uFF1A${s.logoFileId}`:"\u652F\u6301 JPG\u3001PNG \u683C\u5F0F\uFF0C\u5EFA\u8BAE\u5C3A\u5BF8 200\xD7200px \u4EE5\u5185"})]})]})]})}),(0,N.jsx)(We,{label:"\u516C\u53F8\u4E2D\u6587\u540D\u79F0",children:(0,N.jsx)("input",{...y("companyNameZh")})}),(0,N.jsx)(We,{label:"\u516C\u53F8\u82F1\u6587\u540D\u79F0",children:(0,N.jsx)("input",{...y("companyNameEn")})}),(0,N.jsx)(We,{label:"\u7EDF\u4E00\u793E\u4F1A\u4FE1\u7528\u4EE3\u7801",children:(0,N.jsx)("input",{...y("unifiedSocialCreditCode")})}),(0,N.jsx)(We,{label:"\u4E2D\u6587\u5730\u5740",children:(0,N.jsx)("textarea",{maxLength:200,placeholder:"\u8BF7\u586B\u5199\u4E2D\u6587\u5730\u5740\uFF08\u9009\u586B\uFF09",...y("addressZh")})}),(0,N.jsx)(We,{label:"\u82F1\u6587\u5730\u5740",children:(0,N.jsx)("textarea",{maxLength:300,...y("addressEn")})}),(0,N.jsx)(We,{label:"\u7535\u8BDD",children:(0,N.jsx)("input",{...y("phone")})}),(0,N.jsx)(We,{label:"\u90AE\u7BB1",children:(0,N.jsx)("input",{type:"email",...y("email")})}),(0,N.jsx)(We,{label:"\u4FEE\u8BA2\u53F7",hint:!0,children:(0,N.jsx)("input",{value:t.revision,readOnly:!0})}),(0,N.jsx)(We,{label:"\u6700\u540E\u4FEE\u6539\u65F6\u95F4",children:(0,N.jsx)("input",{value:"\u2014",readOnly:!0})})]}),(0,N.jsxs)("div",{className:"tcw-settings-form-actions",children:[(0,N.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:e,onClick:()=>{g()},children:[(0,N.jsx)("i",{className:"ri-save-line","aria-hidden":"true"}),"\u4FDD\u5B58"]}),(0,N.jsx)(DS,{busy:e,onClick:o})]}),(0,N.jsx)(Dy,{tab:"COMPANY"})]})}function H2({data:t,busy:e,onEdit:n,onRestore:r}){return(0,N.jsxs)("div",{className:"tcw-settings-bank-list",children:[$2.map(i=>{let o=Za(t,i);return(0,N.jsxs)("section",{className:"tcw-settings-card tcw-settings-bank-card","aria-labelledby":`bank-overview-${i}`,children:[(0,N.jsxs)("header",{children:[(0,N.jsxs)("h2",{id:`bank-overview-${i}`,children:[Oy(i)," ",(0,N.jsxs)("span",{children:["/ ",i]})]}),(0,N.jsxs)("div",{children:[(0,N.jsxs)("button",{type:"button",className:"tcw-button tcw-button--outline",disabled:e,onClick:()=>n(i),children:[(0,N.jsx)("i",{className:"ri-edit-line","aria-hidden":"true"}),"\u7F16\u8F91"]}),(0,N.jsx)(DS,{busy:e,onClick:()=>r(i)})]})]}),(0,N.jsxs)("div",{className:"tcw-settings-bank-grid",children:[(0,N.jsx)(ro,{label:"Beneficiary",value:o.beneficiary}),(0,N.jsx)(ro,{label:"CNAPS Code",value:o.cnapsCode}),(0,N.jsx)(ro,{label:"Bank Name",value:o.bankName}),(0,N.jsx)(ro,{label:"Account No.",value:o.accountNo}),(0,N.jsx)(ro,{label:"Bank Address",value:o.bankAddress,multiline:!0}),(0,N.jsx)(ro,{label:"Swift Code",value:o.swiftCode}),(0,N.jsx)(ro,{label:"\u4FEE\u8BA2\u53F7",value:String(o.revision)}),(0,N.jsx)(ro,{label:"\u6700\u540E\u4FEE\u6539\u65F6\u95F4",value:"\u2014"})]})]},i)}),(0,N.jsx)(Dy,{tab:"BANK"})]})}function j2({bankType:t,value:e,busy:n,onSave:r,onClose:i}){let[o,a]=Oe.default.useState(e),[s,l]=Oe.default.useState(null);Oe.default.useEffect(()=>a(d=>Py(d,e)),[e]);let c=(d,p)=>a(h=>({...h,[d]:p}));return(0,N.jsx)(_e,{open:!0,title:"\u7F16\u8F91\u94F6\u884C\u4FE1\u606F",onClose:i,footer:(0,N.jsxs)(N.Fragment,{children:[(0,N.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:i,children:[(0,N.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u53D6\u6D88"]}),(0,N.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:n,onClick:async()=>{let d=tD(o);if(l(d),!d){let{revision:p,...h}=o;await Vl(()=>r(h),i)}},children:[(0,N.jsx)("i",{className:"ri-save-line","aria-hidden":"true"}),"\u4FDD\u5B58"]})]}),children:(0,N.jsxs)("div",{className:"tcw-settings-bank-dialog",children:[(0,N.jsxs)("p",{children:[Oy(t)," ",(0,N.jsxs)("b",{children:["/ ",t]})]}),s&&(0,N.jsx)(ct,{children:s}),PS.map(d=>(0,N.jsx)(We,{label:d.label.split("\uFF08")[0],required:!0,children:d.key==="bankAddress"?(0,N.jsx)("textarea",{value:o[d.key],onChange:p=>c(d.key,p.target.value)}):(0,N.jsx)("input",{value:o[d.key],onChange:p=>c(d.key,p.target.value)})},d.key)),(0,N.jsx)(We,{label:"\u4FEE\u8BA2\u53F7",hint:!0,children:(0,N.jsx)("input",{value:e.revision,readOnly:!0})}),(0,N.jsx)(Je,{children:"\u4FDD\u5B58\u540E\u5C06\u66F4\u65B0\u5F53\u524D\u94F6\u884C\u914D\u7F6E\u4FE1\u606F\uFF0C\u5E76\u81EA\u52A8\u5C06\u4FEE\u8BA2\u53F7\u52A0 1\u3002\u7CFB\u7EDF\u4E2D\u5DF2\u751F\u6210\u7684\u5386\u53F2\u6587\u4EF6\u5C06\u4E0D\u53D7\u6B64\u53D8\u66F4\u5F71\u54CD\u3002"})]})})}var PS=[{key:"beneficiary",label:"Beneficiary\uFF08\u6536\u6B3E\u4EBA\uFF09"},{key:"bankName",label:"Bank Name\uFF08\u94F6\u884C\u540D\u79F0\uFF09"},{key:"bankAddress",label:"Bank Address\uFF08\u94F6\u884C\u5730\u5740\uFF09"},{key:"cnapsCode",label:"CNAPS Code"},{key:"accountNo",label:"Account No.\uFF08\u8D26\u53F7\uFF09"},{key:"swiftCode",label:"SWIFT Code"}],$2=["OVERSEAS_CNY","OVERSEAS_USD"];function Oy(t){switch(t){case"OVERSEAS_CNY":return"\u56FD\u5916\u6536\u6B3E\u94F6\u884C\uFF08\u4EBA\u6C11\u5E01\uFF09";case"OVERSEAS_USD":return"\u56FD\u5916\u6536\u6B3E\u94F6\u884C\uFF08\u7F8E\u5143\uFF09"}}function V2(t){return{page:(e,n)=>t({page:e,pageSize:n}),pageSize:e=>t({page:1,pageSize:e})}}function W2(t,e){if(!e||e.id)return{variant:"current",showProfitSnapshot:!0,showFilters:!0,items:t.items};let n=e.year;return{variant:"rate-create",showProfitSnapshot:!1,showFilters:!1,items:[6,5,4,3,2,1].map(i=>{let o=t.items.find(s=>s.year===n&&s.month===i),a=t.items.find(s=>s.year===n)??t.items[0];return o??{...a??{currencyCode:"USD",usdToCnyRate:"",sourceType:"MANUAL",sourceReference:"\u5916\u6C47\u7BA1\u7406\u5C40\u9996\u65E5\u6C47\u7387"},id:`rate-create-background-${n}-${i}`,year:n,month:i,revision:0}})}}function K2({profit:t,rates:e,busy:n,externalBulkBusy:r,onQuery:i,onQueryRequested:o,onBulkReconcile:a,onBulkBusyChange:s,onSaveProfit:l,onRestoreProfit:c,onSave:u,onDelete:d,onBulkDelete:p,onNotify:h}){let[m,f]=Oe.default.useState(null),[v,g]=Oe.default.useState(null),[y,w]=Oe.default.useState(!1),[b,x]=Oe.default.useState(null),[C,k]=Oe.default.useState(()=>String(e.items[0]?.year??"")),[S,E]=Oe.default.useState(""),[D,O]=Oe.default.useState(new Set),[H,M]=Oe.default.useState(!1),[_,V]=Oe.default.useState(!1),[G,K]=Oe.default.useState([]),J=Oe.default.useRef(null);J.current||(J.current=Hu());let ie=Oe.default.useRef(null);ie.current||(ie.current=ju("monthly-rate"));let ue=[...new Set(e.items.map(ne=>ne.year))].sort((ne,ae)=>ae-ne),we=W2(e,m),Y=we.variant==="rate-create"?we.items:we.items.filter(ne=>(!C||String(ne.year)===C)&&(!S||String(ne.month)===S)),Q={...e,items:Y,page:1,total:Y.length,pageCount:1},F=n||r||_,ee=Oe.default.useCallback(()=>{ie.current.invalidate(),O(new Set),K([]),M(!1)},[]),B=Oe.default.useCallback(ne=>(ee(),o?.(ne),i(ne)),[ee,i,o]),U=Oe.default.useMemo(()=>V2(B),[B]);Oe.default.useEffect(()=>()=>{ie.current.invalidate()},[]),Oe.default.useEffect(()=>{let ne=M2(D,G,e.items);ne.selectedIds.size!==D.size&&O(ne.selectedIds),ne.failures.length!==G.length&&K(ne.failures)},[e.items]);let q=async ne=>{if(!b)return;let ae={settingsType:"rate",id:b.id??"",expectedRevision:b.revision??0};if(!ne){x(null);return}await Vl(()=>d(ae),()=>x(null))},le=[{type:"text",key:"year",header:"\u5E74\u4EFD",width:90,truncate:!1},{type:"text",key:"month",header:"\u6708\u4EFD",width:90,truncate:!1,format:ne=>`${String(ne).padStart(2,"0")}\u6708`},{type:"text",key:"currencyCode",header:"\u5E01\u79CD\u4EE3\u7801",width:115,truncate:!1,format:ne=>String(ne??"USD")},{type:"text",key:"usdToCnyRate",header:"\u7F8E\u5143\u5151\u4EBA\u6C11\u5E01\u6C47\u7387",width:180,align:"right",truncate:!1},{type:"text",key:"sourceReference",header:"\u6765\u6E90\u8BF4\u660E",width:150,maxWidth:150},{type:"text",key:"revision",header:"\u4FEE\u8BA2\u53F7",width:90,align:"right",truncate:!1,format:ne=>String(ne??0)},{type:"text",key:"updatedAt",header:"\u6700\u540E\u4FEE\u6539\u65F6\u95F4",width:200,truncate:!1,accessor:ne=>ut(ne.updatedAt)}];return(0,N.jsxs)("div",{className:`tcw-settings-rate-page is-${we.variant}`,children:[we.showProfitSnapshot&&(0,N.jsxs)("section",{className:"tcw-settings-card tcw-settings-profit-snapshot",children:[(0,N.jsxs)("header",{children:[(0,N.jsx)("h2",{children:"\u6708\u5EA6\u5916\u6C47\u7BA1\u7406\u5C40\u9996\u65E5\u6C47\u7387 - \u89C4\u5219\u5FEB\u7167\uFF08\u5F53\u524D\u751F\u6548\uFF09"}),(0,N.jsxs)("div",{children:[(0,N.jsxs)("button",{type:"button",className:"tcw-button tcw-button--outline",disabled:F,onClick:()=>w(!0),children:[(0,N.jsx)("i",{className:"ri-edit-line","aria-hidden":"true"}),"\u7F16\u8F91\u89C4\u5219"]}),(0,N.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",disabled:F,onClick:c,children:[(0,N.jsx)("i",{className:"ri-restart-line","aria-hidden":"true"}),"\u6062\u590D\u89C4\u5219\u9ED8\u8BA4"]})]})]}),(0,N.jsxs)("div",{children:[(0,N.jsx)(jl,{label:"\u6700\u4F4E\u6574\u5355\u5408\u89C4\u5229\u6DA6\u7387",value:`${Number(t.minimumOrderProfitRate)*100}%`}),(0,N.jsx)(jl,{label:"\u6362\u6C47\u6210\u672C\u4E0B\u9650",value:t.exchangeCostMinimum}),(0,N.jsx)(jl,{label:"\u6362\u6C47\u6210\u672C\u4E0A\u9650",value:t.exchangeCostMaximum}),(0,N.jsx)(jl,{label:"\u72B6\u6001",value:J2(t.status),status:!0}),(0,N.jsx)(jl,{label:"\u4FEE\u8BA2\u53F7",value:String(t.revision)})]})]}),(0,N.jsxs)("section",{className:"tcw-settings-card tcw-settings-rate-card",children:[(0,N.jsxs)("header",{children:[(0,N.jsx)("h2",{children:"\u6708\u5EA6\u5916\u6C47\u7BA1\u7406\u5C40\u9996\u65E5\u6C47\u7387"}),(0,N.jsxs)("div",{children:[(0,N.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:F,onClick:()=>f(eD()),children:[(0,N.jsx)("i",{className:"ri-add-line","aria-hidden":"true"}),"\u65B0\u589E\u6708\u5EA6\u6C47\u7387"]}),(0,N.jsxs)("button",{type:"button",className:"tcw-button tcw-button--outline tcw-settings-rate-import-button",disabled:F,onClick:()=>h?.({message:"\u6708\u5EA6\u6C47\u7387\u6279\u91CF\u5BFC\u5165\u5F85\u63A5\u5165",tone:"info"}),children:[(0,N.jsx)("i",{className:"ri-upload-2-line","aria-hidden":"true"}),"\u6279\u91CF\u5BFC\u5165"]})]})]}),we.showFilters&&(0,N.jsxs)("div",{className:"tcw-settings-rate-filters",children:[(0,N.jsxs)("label",{children:[(0,N.jsx)("span",{children:"\u5E74\u4EFD"}),(0,N.jsxs)("select",{value:C,onChange:ne=>{ee(),k(ne.target.value)},children:[(0,N.jsx)("option",{value:"",children:"\u5168\u90E8\u5E74\u4EFD"}),ue.map(ne=>(0,N.jsx)("option",{value:ne,children:ne},ne))]})]}),(0,N.jsxs)("label",{children:[(0,N.jsx)("span",{children:"\u6708\u4EFD"}),(0,N.jsxs)("select",{value:S,onChange:ne=>{ee(),E(ne.target.value)},children:[(0,N.jsx)("option",{value:"",children:"\u8BF7\u9009\u62E9\u6708\u4EFD"}),Array.from({length:12},(ne,ae)=>ae+1).map(ne=>(0,N.jsxs)("option",{value:ne,children:[String(ne).padStart(2,"0"),"\u6708"]},ne))]})]})]}),(0,N.jsx)(ot,{columns:le,rows:Y,rowKey:ne=>ne.id??`${ne.year}-${ne.month}`,selection:we.variant==="current"?{selectedKeys:D,isSelectable:ne=>!!ne.id,onToggle:ne=>{F||O(ae=>yr(ae,ne))},onTogglePage:ne=>{F||O(ae=>B2(ae,Y,ne))},onClear:()=>{F||O(new Set)},onDelete:()=>{F||(K([]),M(!0))},labelFor:ne=>`\u9009\u62E9\u6708\u5EA6\u6C47\u7387\uFF1A${ne.year}\u5E74${String(ne.month).padStart(2,"0")}\u6708 ${ne.currencyCode??"USD"}`,disabled:F}:void 0,actionWidth:150,actions:ne=>(0,N.jsxs)(N.Fragment,{children:[(0,N.jsxs)("button",{type:"button",disabled:F,onClick:()=>g(ne),children:[(0,N.jsx)("i",{className:"ri-eye-line","aria-hidden":"true"}),"\u67E5\u770B"]}),(0,N.jsxs)("button",{type:"button",disabled:F,onClick:()=>f(ne),children:[(0,N.jsx)("i",{className:"ri-edit-line","aria-hidden":"true"}),"\u7F16\u8F91"]}),ne.id&&(0,N.jsxs)("button",{type:"button",className:"is-danger",disabled:F,onClick:()=>x(ne),children:[(0,N.jsx)("i",{className:"ri-delete-bin-line","aria-hidden":"true"}),"\u5220\u9664"]})]}),pagination:Q,onPageChange:ne=>{ee(),U.page(ne,e.pageSize)},onPageSizeChange:ne=>{ee(),U.pageSize(ne)},emptyText:"\u6682\u65E0\u6708\u5EA6\u6C47\u7387"})]}),(0,N.jsx)(Dy,{tab:"MONTHLY_RATE"}),(0,N.jsx)(En,{open:H,title:"\u6279\u91CF\u5220\u9664\u6708\u5EA6\u6C47\u7387",count:D.size,message:"\u5C06\u5220\u9664\u6240\u9009\u6708\u5EA6\u6C47\u7387\uFF1B\u5220\u9664\u540E\u4E0D\u53EF\u6062\u590D\uFF1B\u5DF2\u751F\u6210\u7684\u5386\u53F2\u6587\u4EF6\u4E0D\u53D7\u5F71\u54CD\u3002",busy:F,failures:G,onCancel:()=>{_||M(!1)},onConfirm:()=>{if(F||D.size===0)return;$u({confirmGuard:J.current,generationGuard:ie.current,operation:ae=>F2({selectedIds:D,rows:e.items,onDeleteRate:(re,me)=>Promise.resolve(p(re,me)),refresh:i,query:{page:e.page,pageSize:e.pageSize},notify:h,isCurrent:ae}),onCurrentResult:ae=>{O(ae.selectedIds),K(ae.failures),!ae.refreshFailed&&ae.failures.length===0&&M(!1)},onStaleReconcile:async()=>{await a?.()},onBusyChange:ae=>{V(ae),s?.(ae)}})?.catch(()=>{})}}),v&&(0,N.jsx)(Q2,{value:v,onClose:()=>g(null)}),m&&(0,N.jsx)(Y2,{value:m,busy:F,onClose:()=>f(null),onSave:u}),y&&(0,N.jsx)(X2,{value:t,busy:F,onClose:()=>w(!1),onSave:l}),b&&(0,N.jsx)(q2,{value:b,busy:F,onCancel:()=>{q(!1)},onConfirm:()=>{q(!0)}})]})}function Q2({value:t,onClose:e}){return(0,N.jsx)(_e,{open:!0,title:"\u67E5\u770B\u6708\u5EA6\u6C47\u7387",onClose:e,footer:(0,N.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:e,children:[(0,N.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u5173\u95ED"]}),children:(0,N.jsxs)("div",{className:"tcw-settings-rate-dialog tcw-settings-rate-view-dialog",children:[(0,N.jsx)(We,{label:"\u5E74\u4EFD",children:(0,N.jsx)("input",{value:t.year,readOnly:!0})}),(0,N.jsx)(We,{label:"\u6708\u4EFD",children:(0,N.jsx)("input",{value:String(t.month).padStart(2,"0"),readOnly:!0})}),(0,N.jsx)(We,{label:"\u5E01\u79CD\u4EE3\u7801",children:(0,N.jsx)("input",{value:t.currencyCode??"USD",readOnly:!0})}),(0,N.jsx)(We,{label:"\u7F8E\u5143\u5151\u4EBA\u6C11\u5E01\u6C47\u7387",children:(0,N.jsx)("input",{value:t.usdToCnyRate,readOnly:!0})}),(0,N.jsx)(We,{label:"\u6765\u6E90\u8BF4\u660E",children:(0,N.jsx)("input",{value:t.sourceReference,readOnly:!0})}),(0,N.jsx)(We,{label:"\u4FEE\u8BA2\u53F7",hint:!0,children:(0,N.jsx)("input",{value:t.revision??0,readOnly:!0})}),(0,N.jsx)(We,{label:"\u6700\u540E\u4FEE\u6539\u65F6\u95F4",children:(0,N.jsx)("input",{value:ut(t.updatedAt),readOnly:!0})})]})})}function Y2({value:t,busy:e,onClose:n,onSave:r}){let[i,o]=Oe.default.useState(t),[a,s]=Oe.default.useState(null),l=async()=>{let c=nD(i);s(c),c||await Vl(()=>r({...i,sourceType:"MANUAL",currencyCode:"USD"}),n)};return(0,N.jsx)(_e,{open:!0,title:i.id?"\u7F16\u8F91\u6708\u5EA6\u6C47\u7387":"\u65B0\u589E\u6708\u5EA6\u6C47\u7387",onClose:n,footer:(0,N.jsxs)(N.Fragment,{children:[(0,N.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:n,children:[(0,N.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u53D6\u6D88"]}),(0,N.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:e,onClick:l,children:[(0,N.jsx)("i",{className:"ri-save-line","aria-hidden":"true"}),"\u4FDD\u5B58"]})]}),children:(0,N.jsxs)("div",{className:"tcw-settings-rate-dialog",children:[(0,N.jsx)(Je,{children:"\u540C\u4E00\u81EA\u7136\u6708\u53EA\u5141\u8BB8\u4E00\u6761\u8BB0\u5F55\u3002"}),a&&(0,N.jsx)(ct,{children:a}),(0,N.jsx)(We,{label:"\u5E74\u4EFD",required:!0,children:(0,N.jsx)("input",{type:"number",min:"2000",max:"9999",step:"1",value:i.year,onChange:c=>o(u=>({...u,year:Number(c.target.value)}))})}),(0,N.jsx)(We,{label:"\u6708\u4EFD",required:!0,children:(0,N.jsx)("select",{value:i.month,onChange:c=>o(u=>({...u,month:Number(c.target.value)})),children:Array.from({length:12},(c,u)=>(0,N.jsx)("option",{value:u+1,children:String(u+1).padStart(2,"0")},u+1))})}),(0,N.jsx)(We,{label:"\u5E01\u79CD\u4EE3\u7801",required:!0,children:(0,N.jsx)("input",{value:"USD",readOnly:!0})}),(0,N.jsx)(We,{label:"\u7F8E\u5143\u5151\u4EBA\u6C11\u5E01\u6C47\u7387",required:!0,children:(0,N.jsx)("input",{type:"number",min:"0",step:"0.00000001",value:i.usdToCnyRate,onChange:c=>o(u=>({...u,usdToCnyRate:c.target.value}))})}),(0,N.jsx)(We,{label:"\u6765\u6E90\u8BF4\u660E",required:!0,children:(0,N.jsx)("input",{value:i.sourceReference,onChange:c=>o(u=>({...u,sourceReference:c.target.value}))})}),(0,N.jsx)(We,{label:"\u4FEE\u8BA2\u53F7",hint:!0,children:(0,N.jsx)("input",{value:i.id?i.revision??0:"R00",readOnly:!0})}),(0,N.jsx)(We,{label:"\u751F\u6548\u8303\u56F4",children:(0,N.jsx)("input",{value:`${i.year}-${String(i.month).padStart(2,"0")}-01 ~ ${i.year}-${String(i.month).padStart(2,"0")}-${new Date(i.year,i.month,0).getDate()}`,readOnly:!0})})]})})}function X2({value:t,busy:e,onClose:n,onSave:r}){let[i,o]=Oe.default.useState(t),[a,s]=Oe.default.useState(null);return Oe.default.useEffect(()=>o(c=>Py(c,t)),[t]),(0,N.jsx)(_e,{open:!0,title:"\u7F16\u8F91\u5229\u6DA6\u4E0E\u6362\u6C47\u89C4\u5219",onClose:n,footer:(0,N.jsxs)(N.Fragment,{children:[(0,N.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:n,children:[(0,N.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u53D6\u6D88"]}),(0,N.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:e,onClick:async()=>{let c=rD(i);s(c),c||await Vl(()=>r(i),n)},children:[(0,N.jsx)("i",{className:"ri-save-line","aria-hidden":"true"}),"\u4FDD\u5B58\u89C4\u5219"]})]}),children:(0,N.jsxs)("div",{className:"tcw-settings-profit-dialog",children:[a&&(0,N.jsx)(ct,{children:a}),(0,N.jsx)(We,{label:"\u914D\u7F6E\u72B6\u6001",required:!0,children:(0,N.jsxs)("select",{value:i.status,onChange:c=>o(u=>({...u,status:c.target.value})),children:[(0,N.jsx)("option",{value:"ACTIVE",children:"\u542F\u7528"}),(0,N.jsx)("option",{value:"UNCONFIGURED",children:"\u672A\u914D\u7F6E"})]})}),(0,N.jsx)(We,{label:"\u6700\u4F4E\u6574\u5355\u5229\u6DA6\u7387",required:!0,children:(0,N.jsx)("input",{type:"number",min:"0",step:"0.0001",value:i.minimumOrderProfitRate,onChange:c=>o(u=>({...u,minimumOrderProfitRate:c.target.value}))})}),(0,N.jsx)(We,{label:"\u6362\u6C47\u6210\u672C\u4E0B\u9650",required:!0,children:(0,N.jsx)("input",{type:"number",step:"0.01",value:i.exchangeCostMinimum,onChange:c=>o(u=>({...u,exchangeCostMinimum:c.target.value}))})}),(0,N.jsx)(We,{label:"\u6362\u6C47\u6210\u672C\u4E0A\u9650",required:!0,children:(0,N.jsx)("input",{type:"number",step:"0.01",value:i.exchangeCostMaximum,onChange:c=>o(u=>({...u,exchangeCostMaximum:c.target.value}))})}),(0,N.jsx)(We,{label:"\u4FEE\u8BA2\u53F7",hint:!0,children:(0,N.jsx)("input",{value:i.revision,readOnly:!0})}),(0,N.jsxs)("section",{className:"tcw-settings-profit-formula","aria-label":"\u5F53\u524D\u8BA1\u7B97\u89C4\u5219",children:[(0,N.jsx)("h3",{children:"\u5F53\u524D\u8BA1\u7B97\u89C4\u5219"}),(0,N.jsxs)("dl",{children:[(0,N.jsx)("dt",{children:"\u9500\u552E\u5355\u4EF7"}),(0,N.jsx)("dd",{children:"\u9500\u552E\u5355\u4EF7 = \u91C7\u8D2D\u542B\u7A0E\u5355\u4EF7 \xD7 (1 + \u5B9A\u4EF7\u5229\u6DA6\u7387)\uFF0C\u56DB\u820D\u4E94\u5165\u5230\u6574\u6570"}),(0,N.jsx)("dt",{children:"\u9500\u552E\u91D1\u989D"}),(0,N.jsx)("dd",{children:"\u9500\u552E\u91D1\u989D = \u9500\u552E\u5355\u4EF7 \xD7 \u6570\u91CF\uFF0C\u56DB\u820D\u4E94\u5165\u5230\u6574\u6570"}),(0,N.jsx)("dt",{children:"\u6709\u9000\u7A0E\u65F6"}),(0,N.jsx)("dd",{children:"\u5408\u89C4\u5229\u6DA6 = \u9500\u552E\u91D1\u989D - \u91C7\u8D2D\u542B\u7A0E\u91D1\u989D + \u9884\u8BA1\u9000\u7A0E\uFF1B\u9884\u8BA1\u9000\u7A0E = \u91C7\u8D2D\u4E0D\u542B\u7A0E\u91D1\u989D \xD7 \u9000\u7A0E\u7387"}),(0,N.jsx)("dt",{children:"\u65E0\u9000\u7A0E\u65F6"}),(0,N.jsx)("dd",{children:"\u5408\u89C4\u5229\u6DA6 = \u9500\u552E\u91D1\u989D - \u91C7\u8D2D\u542B\u7A0E\u91D1\u989D - \u9500\u9879\u7A0E\u5DEE\u989D"}),(0,N.jsx)("dt",{children:"\u6574\u5355\u5229\u6DA6\u7387"}),(0,N.jsx)("dd",{children:"\u6574\u5355\u5408\u89C4\u5229\u6DA6\u7387 = \u6574\u5355\u5408\u89C4\u5229\u6DA6 \xF7 \u6574\u5355\u91C7\u8D2D\u542B\u7A0E\u91D1\u989D"}),(0,N.jsx)("dt",{children:"\u6362\u6C47\u6210\u672C"}),(0,N.jsx)("dd",{children:"\u6362\u6C47\u6210\u672C = \u53EF\u9000\u7A0E\u5546\u54C1\u91C7\u8D2D\u4E0D\u542B\u7A0E\u91D1\u989D\u5408\u8BA1 \xF7 (\u53EF\u9000\u7A0E\u5546\u54C1\u9500\u552E\u91D1\u989D\u5408\u8BA1 \xF7 \u6708\u5EA6 USD \u6C47\u7387)"})]}),(0,N.jsx)("p",{children:"\u6700\u4F4E\u6574\u5355\u5229\u6DA6\u7387\uFF1A\u4F4E\u4E8E\u8BE5\u503C\u65F6\u7981\u6B62\u751F\u6210\u9500\u552E\u6587\u4EF6\u3002"}),(0,N.jsx)("p",{children:"\u6362\u6C47\u6210\u672C\u4E0B\u9650 / \u4E0A\u9650\uFF1A\u8D85\u51FA\u8303\u56F4\u65F6\u7981\u6B62\u751F\u6210\u9500\u552E\u6587\u4EF6\u3002"})]}),(0,N.jsx)(Je,{children:"\u6700\u4F4E\u6574\u5355\u5229\u6DA6\u7387\u4F7F\u7528\u5C0F\u6570\u8868\u793A\uFF0C\u4F8B\u5982 0.05 \u8868\u793A 5%\u3002\u4FDD\u5B58\u540E\u4FEE\u8BA2\u53F7\u81EA\u52A8\u589E\u52A0\u3002"})]})})}function Z2({request:t,data:e,busy:n,onClose:r,onConfirm:i}){let o=t.settingsType==="bank"?Za(e,t.bankType):null;return(0,N.jsx)(_e,{open:!0,title:o?"\u786E\u8BA4\u6062\u590D\u94F6\u884C\u9ED8\u8BA4\u4FE1\u606F\uFF1F":"\u786E\u8BA4\u6062\u590D\u7CFB\u7EDF\u9ED8\u8BA4\u914D\u7F6E\uFF1F",onClose:r,footer:(0,N.jsxs)(N.Fragment,{children:[(0,N.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:r,children:[(0,N.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u53D6\u6D88"]}),(0,N.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:n,onClick:i,children:[(0,N.jsx)("i",{className:"ri-restart-line","aria-hidden":"true"}),"\u786E\u8BA4\u6062\u590D\u9ED8\u8BA4"]})]}),children:(0,N.jsxs)("div",{className:"tcw-settings-restore-dialog",children:[(0,N.jsxs)(ct,{children:["\u6B64\u64CD\u4F5C\u5C06\u8986\u76D6\u5F53\u524D\u81EA\u5B9A\u4E49\u7684\u914D\u7F6E\u4FE1\u606F\uFF0C\u6062\u590D\u4E3A\u7CFB\u7EDF\u9ED8\u8BA4\u914D\u7F6E\u3002",(0,N.jsx)("br",{}),"\u539F\u6709\u914D\u7F6E\u5C06\u4FDD\u5B58\u5728\u5386\u53F2\u8BB0\u5F55\u4E2D\uFF0C\u60A8\u53EF\u4EE5\u968F\u65F6\u67E5\u770B\u3002"]}),o?(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)("p",{children:"\u5C06\u6062\u590D\u4EE5\u4E0B\u76EE\u6807\u7684\u9ED8\u8BA4\u4FE1\u606F\uFF1A"}),(0,N.jsxs)("h3",{children:[(0,N.jsx)("i",{className:"ri-bank-line","aria-hidden":"true"}),Oy(o.bankType),"\u3000/ ",o.bankType]}),(0,N.jsx)("h4",{children:"\u9ED8\u8BA4\u4FE1\u606F\u9884\u89C8"}),(0,N.jsx)("p",{className:"tcw-settings-default-note",children:"\u7CFB\u7EDF\u5185\u7F6E\u9ED8\u8BA4\u94F6\u884C\u5B57\u6BB5\u7531\u670D\u52A1\u7AEF\u914D\u7F6E\u63D0\u4F9B\uFF0C\u5C06\u5728\u786E\u8BA4\u540E\u6574\u4F53\u6062\u590D\u3002\u5F53\u524D\u63A5\u53E3\u672A\u8FD4\u56DE\u9ED8\u8BA4\u503C\u9884\u89C8\uFF0C\u56E0\u6B64\u6B64\u5904\u4E0D\u5C55\u793A\u53EF\u80FD\u8FC7\u671F\u6216\u4E0D\u51C6\u786E\u7684\u4FE1\u606F\u3002"}),(0,N.jsxs)("small",{children:[(0,N.jsx)("i",{className:"ri-information-line","aria-hidden":"true"}),"\u6062\u590D\u540E\uFF0C\u94F6\u884C\u4FE1\u606F\u7684\u6240\u6709\u5B57\u6BB5\u5C06\u91CD\u7F6E\u4E3A\u7CFB\u7EDF\u9ED8\u8BA4\u503C\u3002"]})]}):(0,N.jsx)("p",{children:"\u5F53\u524D\u81EA\u5B9A\u4E49\u5185\u5BB9\u5C06\u88AB\u7CFB\u7EDF\u9ED8\u8BA4\u503C\u8986\u76D6\uFF0C\u539F\u914D\u7F6E\u4ECD\u4F1A\u4FDD\u7559\u5728\u8BBE\u7F6E\u5386\u53F2\u4E2D\u3002"})]})})}function q2({value:t,busy:e,onCancel:n,onConfirm:r}){return(0,N.jsx)(_e,{open:!0,title:"\u786E\u8BA4\u5220\u9664\u6708\u5EA6\u6C47\u7387\uFF1F",onClose:n,footer:(0,N.jsxs)(N.Fragment,{children:[(0,N.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:n,children:[(0,N.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u53D6\u6D88"]}),(0,N.jsxs)("button",{type:"button",className:"tcw-button tcw-button--danger",disabled:e,onClick:r,children:[(0,N.jsx)("i",{className:"ri-delete-bin-line","aria-hidden":"true"}),"\u786E\u8BA4\u5220\u9664"]})]}),children:(0,N.jsxs)("div",{className:"tcw-settings-delete-dialog",children:[(0,N.jsxs)("p",{children:["\u5220\u9664\u540E\uFF0C\u8BE5\u6708\u5EA6\u6C47\u7387\u5C06\u8FDB\u884C\u903B\u8F91\u5220\u9664\uFF0C\u540E\u7AEF\u8BB0\u5F55\u5C06\u6C38\u4E45\u4FDD\u7559\uFF0C\u4E0D\u53EF\u6062\u590D\u3002",(0,N.jsx)("br",{}),"\u5DF2\u751F\u6210\u7684\u5386\u53F2\u6587\u4EF6\u6216\u8BB0\u5F55\u4E0D\u53D7\u5F71\u54CD\u3002"]}),(0,N.jsx)("p",{children:"\u5F85\u5220\u9664\u7684\u6708\u5EA6\u6C47\u7387\u4FE1\u606F\u5982\u4E0B\uFF1A"}),(0,N.jsxs)("dl",{children:[(0,N.jsxs)("div",{children:[(0,N.jsx)("dt",{children:"\u5E74\u4EFD"}),(0,N.jsx)("dd",{children:t.year})]}),(0,N.jsxs)("div",{children:[(0,N.jsx)("dt",{children:"\u6708\u4EFD"}),(0,N.jsx)("dd",{children:String(t.month).padStart(2,"0")})]}),(0,N.jsxs)("div",{children:[(0,N.jsx)("dt",{children:"\u5E01\u79CD"}),(0,N.jsx)("dd",{children:t.currencyCode??"USD"})]}),(0,N.jsxs)("div",{children:[(0,N.jsx)("dt",{children:"\u7F8E\u5143\u5151\u4EBA\u6C11\u5E01\u6C47\u7387"}),(0,N.jsx)("dd",{children:t.usdToCnyRate})]}),(0,N.jsxs)("div",{children:[(0,N.jsx)("dt",{children:"\u6765\u6E90\u8BF4\u660E"}),(0,N.jsx)("dd",{children:t.sourceReference})]}),(0,N.jsxs)("div",{children:[(0,N.jsx)("dt",{children:"\u4FEE\u8BA2\u53F7"}),(0,N.jsx)("dd",{children:t.revision??0})]})]})]})})}function We({label:t,required:e,hint:n,children:r}){return(0,N.jsxs)("label",{className:"tcw-settings-row",children:[(0,N.jsxs)("span",{children:[e&&(0,N.jsx)("b",{children:"*"}),t,n&&(0,N.jsx)("i",{className:"ri-information-line","aria-hidden":"true"})]}),(0,N.jsx)("div",{children:r})]})}function ro({label:t,value:e,multiline:n}){return(0,N.jsxs)("label",{className:`tcw-settings-bank-value${n?" is-multiline":""}`,children:[(0,N.jsx)("span",{children:t}),n?(0,N.jsx)("textarea",{value:e,readOnly:!0}):(0,N.jsx)("input",{value:e,readOnly:!0})]})}function jl({label:t,value:e,status:n}){return(0,N.jsxs)("div",{children:[(0,N.jsx)("span",{children:t}),(0,N.jsx)("strong",{className:n?"is-status":"",children:e})]})}function J2(t){return t==="ACTIVE"?"\u542F\u7528":"\u672A\u914D\u7F6E"}function DS({busy:t,onClick:e}){return(0,N.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",disabled:t,onClick:e,children:[(0,N.jsx)("i",{className:"ri-restart-line","aria-hidden":"true"}),"\u6062\u590D\u7CFB\u7EDF\u9ED8\u8BA4"]})}function Za(t,e){return t.banks.find(n=>n.bankType===e)??{bankType:e,beneficiary:"",bankName:"",bankAddress:"",cnapsCode:"",accountNo:"",swiftCode:"",revision:0}}function eD(){let[t]=ut(new Date).split(" "),[e,n]=t.split("-").map(Number);return{year:e,month:n,currencyCode:"USD",usdToCnyRate:"",sourceType:"MANUAL",sourceReference:"\u4EBA\u5DE5\u6C47\u7387"}}function tD(t){for(let e of PS)if(!t[e.key].trim())return`${e.label.split("\uFF08")[0]} \u4E3A\u5FC5\u586B\u9879`;return null}function nD(t){if(!Number.isInteger(t.year)||t.year<2e3||t.year>9999)return"\u5E74\u4EFD\u5FC5\u987B\u662F 2000 \u81F3 9999 \u4E4B\u95F4\u7684\u6574\u6570";if(!Number.isInteger(t.month)||t.month<1||t.month>12)return"\u6708\u4EFD\u5FC5\u987B\u662F 1 \u81F3 12 \u4E4B\u95F4\u7684\u6574\u6570";let e=Number(t.usdToCnyRate);return Number.isFinite(e)?e<=0?"\u7F8E\u5143\u5151\u4EBA\u6C11\u5E01\u6C47\u7387\u5FC5\u987B\u5927\u4E8E 0":t.sourceType!=="MANUAL"?"\u6C47\u7387\u6765\u6E90\u5FC5\u987B\u4E3A\u4EBA\u5DE5\u6C47\u7387":t.sourceReference.trim()?null:"\u6765\u6E90\u8BF4\u660E\u4E3A\u5FC5\u586B\u9879":"\u7F8E\u5143\u5151\u4EBA\u6C11\u5E01\u6C47\u7387\u5FC5\u987B\u662F\u6709\u9650\u6570\u503C"}function rD(t){let e=Number(t.minimumOrderProfitRate),n=Number(t.exchangeCostMinimum),r=Number(t.exchangeCostMaximum);return[e,n,r].every(Number.isFinite)?e<0?"\u6700\u4F4E\u6574\u5355\u5229\u6DA6\u7387\u4E0D\u80FD\u5C0F\u4E8E 0":n>r?"\u6362\u6C47\u6210\u672C\u4E0B\u9650\u4E0D\u80FD\u5927\u4E8E\u4E0A\u9650":null:"\u5229\u6DA6\u7387\u548C\u6362\u6C47\u6210\u672C\u5FC5\u987B\u662F\u6709\u9650\u6570\u503C"}var OS=["customer-contract-review","purchase-contract-review","product-risk-review","sanction-review","sales-file-review"];var _S=new Set(["QUEUED","EXTRACTING","AI_PARSING","VALIDATING","PERSISTING"]),vp=1200*1e3;function Ly(t,e){if(t?.status===e.status)return null;if(e.status==="EXTRACTING"||e.status==="AI_PARSING")return{tone:"info",message:"\u6587\u4EF6\u5F00\u59CB\u89E3\u6790"};let n=e.documentType==="CONTROLLED_CATALOG"||e.documentType==="SANCTION_CATALOG";return e.status==="AWAITING_REVIEW"?n?{tone:"info",message:"\u76EE\u5F55\u89E3\u6790\u5B8C\u6210\uFF0C\u6B63\u5728\u81EA\u52A8\u590D\u6838"}:{tone:"success",message:"\u5408\u540C\u89E3\u6790\u5B8C\u6210\uFF0C\u8BF7\u5BA1\u6838"}:e.status==="SUCCEEDED"?{tone:"success",message:n?"\u76EE\u5F55\u5BFC\u5165\u5B8C\u6210":"\u5408\u540C\u89E3\u6790\u5B8C\u6210"}:e.status==="FAILED"||e.status==="TIMED_OUT"?{tone:"error",message:e.errorMessage||(n?"\u76EE\u5F55\u89E3\u6790\u5931\u8D25":"\u5408\u540C\u89E3\u6790\u5931\u8D25")}:null}var Mo=class extends Error{constructor(n,r){super(n);this.task=r;this.name="ContractImportError"}};async function FS({start:t,pollTask:e,wait:n=tl,now:r=Date.now,intervalMs:i=2e3,timeoutMs:o=vp,onTransition:a,onPollError:s,signal:l}){if(t.success===!1)throw new Error(t.message||"\u5408\u540C\u89E3\u6790\u542F\u52A8\u5931\u8D25");if(!t.data?.task)throw new Error("\u4E0A\u4F20\u54CD\u5E94\u7F3A\u5C11\u5408\u540C\u89E3\u6790\u4EFB\u52A1\u4FE1\u606F");let c=t.data.task;if(c.status==="AWAITING_REVIEW"||c.status==="SUCCEEDED")return{task:c};LS(c);let u=el({now:r,timeoutMs:o,maxTimeoutMs:vp});for(i=Math.max(1,i);u.active();){await n(i,l);let d=await nl(h=>h?e(c.id,h):e(c.id),s,l);if(!d.ok)continue;let p=d.value.task;if(a?.(c,p),c=p,c.status==="AWAITING_REVIEW"||c.status==="SUCCEEDED")return{task:c};if(LS(c),!_S.has(c.status))throw new Error(`\u4E0D\u652F\u6301\u7684\u5408\u540C\u5BFC\u5165\u4EFB\u52A1\u72B6\u6001\uFF1A${c.status}`)}throw u.expired("\u5408\u540C\u4EFB\u52A1\u89C2\u5BDF\u7A97\u53E3\u5DF2\u7ED3\u675F",c)}function MS(t){return t.filter(e=>(e.documentType==="PURCHASE_CONTRACT"||e.documentType==="CUSTOMER_CONTRACT")&&_S.has(e.status))}function BS(t,e){let n=new Set(t.map(r=>r.retryOfTaskId).filter(r=>!!r));return oD(t.filter(r=>r.documentType===e&&(r.status==="FAILED"||r.status==="TIMED_OUT")&&!n.has(r.id)))}async function _y({start:t,poll:e,wait:n=tl,now:r=Date.now,intervalMs:i=2e3,timeoutMs:o=vp,onPollError:a,signal:s}){if(!t.run)throw new Error("\u91CD\u65B0\u5206\u6790\u54CD\u5E94\u7F3A\u5C11\u4EFB\u52A1\u4FE1\u606F");if(t.run.status==="SUCCEEDED"&&(t.review||t.task))return t;iD(t.run);let l=el({now:r,timeoutMs:o,maxTimeoutMs:vp});i=Math.max(1,i);let c=t.run;for(;l.active();){await n(i,s);let u=await nl(p=>p?e(t.run.id,p):e(t.run.id),a,s);if(!u.ok)continue;let d=u.value;if(c=d.run,d.run.status==="SUCCEEDED")return d;if(d.run.status==="FAILED"||d.run.status==="TIMED_OUT")throw new Error(d.run.errorMessage||"AI \u91CD\u65B0\u5206\u6790\u5931\u8D25");if(d.run.status!=="PENDING"&&d.run.status!=="RUNNING")throw new Error(`\u4E0D\u652F\u6301\u7684\u91CD\u65B0\u5206\u6790\u72B6\u6001\uFF1A${d.run.status}`)}throw l.expired("AI \u91CD\u65B0\u5206\u6790\u89C2\u5BDF\u7A97\u53E3\u5DF2\u7ED3\u675F",c)}function LS(t){if(t.status==="CANCELED")throw new Mo("\u4EFB\u52A1\u5DF2\u53D6\u6D88",t);if(t.status==="FAILED"||t.status==="TIMED_OUT")throw new Mo(t.errorMessage||(t.status==="TIMED_OUT"?"\u5408\u540C\u89E3\u6790\u8D85\u65F6\uFF0C\u8BF7\u91CD\u65B0\u89E3\u6790":"\u5408\u540C\u89E3\u6790\u5931\u8D25\uFF0C\u8BF7\u91CD\u65B0\u89E3\u6790"),t)}function iD(t){if(t.status==="FAILED"||t.status==="TIMED_OUT")throw new Error(t.errorMessage||"AI \u91CD\u65B0\u5206\u6790\u5931\u8D25")}function oD(t){return[...t].sort((e,n)=>String(n.updatedAt??"").localeCompare(String(e.updatedAt??"")))[0]??null}var aD=new Set(["AWAITING_REVIEW","SUCCEEDED","FAILED","TIMED_OUT"]);function $S(t){let e=null,n=null,r=null,i=null,o=null,a=0,s=0,l=null,c=Promise.resolve();return{beginSelectionIntent(){return s+=1,s},isSelectionIntentCurrent(u){return s===u},restoreSelectedTaskIntent(u){return s!==u||e===null?!1:(l=s,!0)},isSelectedTaskIntentCurrent(){return l!==null&&s===l},beginSelection(u){return s+=1,l=s,a+=1,e===u?(o=null,s):(e=u,n=null,r=null,i=null,o=null,s)},isSelected(u){return e===u},selectedTask(){return n},clear(){s+=1,a+=1,e=null,l=null,n=null,r=null,i=null,o=null},sync(u,d){if(e!==u.id)return Promise.resolve();let p=d!==void 0;p&&(r=d??null),(!n||cD(u,n)>=0)&&(n=u);let h=n,m=lD(h),f=++a,v=async()=>{if(e!==h.id||a!==f)return;let y=i!==m||p,w=sD(h),b=w.observerConversationId,x=!!b&&o!==b;!y&&!x||(await t.setContext(w,r),i=m,!(e!==h.id||a!==f)&&x&&b&&await t.openConversation(b,w)!==!1&&(o=b))},g=c.then(v,v);return c=g.then(()=>{},()=>{}),g}}}function VS(t){if(!t||typeof t!="object"||Array.isArray(t))return!1;let e=t;return(e.result&&typeof e.result=="object"&&!Array.isArray(e.result)?e.result:e).success===!0}function My(t,e,n){return t.beginSelection(e.id),t.sync(e,n)}function WS(t,e){let n=e.find(o=>t.isSelected(o.id));if(n)return t.sync(n);let r=t.selectedTask();if(!r||!io(r)||!t.isSelectedTaskIntentCurrent())return Promise.resolve();let i=e.find(o=>XS(r,o));return i?My(t,i):Promise.resolve()}function sD(t){return{id:t.id,documentType:t.documentType,sourceFileName:t.sourceFileName??null,status:t.status,progress:"progress"in t?t.progress??null:null,retryOfTaskId:t.retryOfTaskId??null,errorCode:t.errorCode??null,errorMessage:t.errorMessage??null,observerConversationId:t.observerConversationId??null,queuedAt:t.queuedAt??null,startedAt:t.startedAt??null,completedAt:t.completedAt??null,updatedAt:t.updatedAt??null}}function lD(t){let e="progress"in t?qa(t.progress?.progressVersion)??0:0;return`${t.id}:${t.status}:${e}:${t.observerConversationId??""}:${t.updatedAt??""}`}function cD(t,e){let n=zS(t)-zS(e);if(n!==0)return n;let r=US(t)-US(e);return r!==0?r:GS(t.status)-GS(e.status)}function zS(t){let e=t.updatedAt??t.completedAt??t.startedAt??t.queuedAt??t.createdAt??"",n=Date.parse(e);return Number.isFinite(n)?n:0}function US(t){return"progress"in t?qa(t.progress?.progressVersion)??0:0}function GS(t){return{QUEUED:1,EXTRACTING:2,AI_PARSING:3,VALIDATING:4,AWAITING_REVIEW:5,PERSISTING:6,SUCCEEDED:7,FAILED:7,TIMED_OUT:7,CANCELED:7}[t]??0}function By(t,e){return t.documentType==="CONTROLLED_CATALOG"?e.type==="page"&&e.page==="controlled-goods"?"controlledGoods":null:t.documentType==="SANCTION_CATALOG"?e.type==="page"&&e.page==="sanctioned-companies"?"sanctionedCompanies":null:t.documentType==="PURCHASE_CONTRACT"?e.type==="procurement"?"procurement":null:t.documentType==="CUSTOMER_CONTRACT"&&e.type==="page"&&e.page==="customer-contract-review"?"customerContracts":null}function zy(t){return aD.has(t.status)?`${t.id}:${t.documentType}:${t.status}:${t.completedAt??t.updatedAt??t.startedAt??t.queuedAt??""}`:null}function KS(t,e){return t.map(Bo).filter(n=>n!==null&&n.id!==e)}function Uy(t,e,n={},r){for(let i of Fy(t)){let o=Bo(i.task)??Bo(i.importTask)??Bo(i.import_task)??Bo(i);if(o)return o;let a=mi(i.task),s=mi(i.importTask),l=mi(i.import_task),c=bp(a)??bp(s)??bp(l)??bp(i),u=Wl(e,n,a)??Wl(e,n,s)??Wl(e,n,l)??Wl(e,n,i);if(c&&u)return{...Sp(l),...Sp(s),...Sp(a),...s,...a,id:c,documentType:u,...YS(u,n,i,l,s,a),status:Cp(a)??Cp(s)??Cp(l)??Cp(i)??"QUEUED",sourceFileName:xp(r,a)??xp(r,s)??xp(r,l)??xp(r,i)}}return uD(t,e,n,r)}function Ap(t,e,n=new Set){let r=new Map,i=e.map(Bo).filter(o=>o!==null&&!io(o));for(let o of[...t,...e]){let a=Bo(o);a&&io(a)&&i.some(s=>XS(a,s))||a&&!n.has(a.id)&&r.set(a.id,a)}return[...r.values()].sort((o,a)=>String(a.updatedAt??a.queuedAt??a.createdAt??"").localeCompare(String(o.updatedAt??o.queuedAt??o.createdAt??"")))}function QS(t){if(t.status==="SUCCEEDED")return 100;if(t.status==="AWAITING_REVIEW")return 92;if(t.status==="FAILED"||t.status==="TIMED_OUT")return null;let e=t.progress??null,n=qa(e?.processedCount),r=qa(e?.totalCandidates)??qa(e?.totalCount),i=fD(e?.successCount,e?.duplicateCount,e?.invalidCount,e?.reviewPendingCount),o=r!==null&&r>0?r:i>0?i:null;return n!==null&&o!==null?Math.min(90,Math.max(5,n/o*90)):{QUEUED:8,EXTRACTING:24,AI_PARSING:54,VALIDATING:74,PERSISTING:88}[t.status]??null}function Fy(t){let e=[],n=new Set,r=(i,o=0)=>{if(Array.isArray(i)){for(let s of i)r(s,o+1);return}let a=mi(i);!Object.keys(a).length||n.has(a)||o>6||(n.add(a),e.push(a),r(a.tasks,o+1),r(a.items,o+1),r(a.importTasks,o+1),r(a.import_tasks,o+1),r(a.data,o+1),r(a.result,o+1),r(a.payload,o+1),r(a.response,o+1),r(a.body,o+1))};return r(t),e}function bp(t){if(typeof t.taskId=="string")return t.taskId;if(typeof t.taskId=="number"&&Number.isFinite(t.taskId))return String(t.taskId);if(typeof t.importTaskId=="string")return t.importTaskId;if(typeof t.importTaskId=="number"&&Number.isFinite(t.importTaskId))return String(t.importTaskId);if(typeof t.task_id=="string")return t.task_id;if(typeof t.task_id=="number"&&Number.isFinite(t.task_id))return String(t.task_id);if(typeof t.import_task_id=="string")return t.import_task_id;if(typeof t.import_task_id=="number"&&Number.isFinite(t.import_task_id))return String(t.import_task_id);if(typeof t.jobId=="string")return t.jobId;if(typeof t.jobId=="number"&&Number.isFinite(t.jobId))return String(t.jobId);if(typeof t.job_id=="string")return t.job_id;if(typeof t.job_id=="number"&&Number.isFinite(t.job_id))return String(t.job_id);if(typeof t.runId=="string")return t.runId;if(typeof t.runId=="number"&&Number.isFinite(t.runId))return String(t.runId);if(typeof t.run_id=="string")return t.run_id;if(typeof t.run_id=="number"&&Number.isFinite(t.run_id))return String(t.run_id);if(typeof t.id=="string")return t.id;if(typeof t.id=="number"&&Number.isFinite(t.id))return String(t.id);let e=mi(t.error),n=mi(e.details);return typeof n.taskId=="string"?n.taskId:typeof n.task_id=="string"?n.task_id:null}function Wl(t,e,n){return typeof n.documentType=="string"?n.documentType:typeof n.document_type=="string"?n.document_type:typeof e.documentType=="string"?e.documentType:typeof e.document_type=="string"?e.document_type:t?{upload_controlled_catalog:"CONTROLLED_CATALOG",upload_sanction_catalog:"SANCTION_CATALOG",upload_purchase_contract:"PURCHASE_CONTRACT",upload_customer_contract:"CUSTOMER_CONTRACT"}[t]??null:null}function xp(t,e){return typeof e.sourceFileName=="string"?e.sourceFileName:typeof e.source_file_name=="string"?e.source_file_name:t?.name}function uD(t,e,n,r){let i=Wl(e,n,{}),o=r?.name;if(!i||!o||!dD(t))return null;let a=new Date().toISOString();return{id:`local-upload:${i}:${encodeURIComponent(o)}:${Date.now()}`,documentType:i,...YS(i,n),status:"QUEUED",sourceFileName:o,createdAt:a,queuedAt:a,updatedAt:a}}function YS(t,...e){if(t!=="CONTROLLED_CATALOG")return{};for(let n of e){let r=n.catalogType??n.catalog_type;if(r==="DUAL_USE"||r==="OVERSEAS_SANCTION")return{catalogType:r}}return{}}function dD(t){for(let e of Fy(t))if(e.success===!1||e.error)return!1;return Fy(t).some(e=>e.success===!0||pD(e)||hD(e.message))}function pD(t){return t.channel==="xpertai.remote_component"&&t.type==="result"}function hD(t){let e=typeof t=="string"?t:`${String(mi(t).zh_Hans??"")} ${String(mi(t).en_US??"")}`;return["\u4E0A\u4F20\u6210\u529F","\u4E0A\u4F20\u5B8C\u6210","\u6587\u4EF6\u4E0A\u4F20\u6210\u529F","\u5DF2\u4E0A\u4F20"].some(n=>e.includes(n))}function Cp(t){return typeof t.status=="string"?kp(t.status):typeof t.state=="string"?kp(t.state):null}function io(t){return t.id.startsWith("local-upload:")}function HS(t){return`${t.documentType}:${t.sourceFileName??""}`}function XS(t,e){if(!io(t)||io(e)||HS(t)!==HS(e))return!1;let n=jS(t),r=jS(e);return n!==null&&r!==null&&r>=n}function jS(t){let e=t.createdAt??t.queuedAt;if(typeof e!="string")return null;let n=Date.parse(e);return Number.isFinite(n)?n:null}function Bo(t){let e=Sp(mi(t));return typeof e.id=="string"&&typeof e.status=="string"&&typeof e.documentType=="string"?e:null}function Sp(t){return{...t,...t.id===void 0&&t.taskId!==void 0?{id:t.taskId}:{},...t.id===void 0&&t.task_id!==void 0?{id:t.task_id}:{},...t.id===void 0&&t.importTaskId!==void 0?{id:t.importTaskId}:{},...t.id===void 0&&t.import_task_id!==void 0?{id:t.import_task_id}:{},...t.id===void 0&&t.jobId!==void 0?{id:t.jobId}:{},...t.id===void 0&&t.job_id!==void 0?{id:t.job_id}:{},...t.id===void 0&&t.runId!==void 0?{id:t.runId}:{},...t.id===void 0&&t.run_id!==void 0?{id:t.run_id}:{},...t.documentType===void 0&&t.document_type!==void 0?{documentType:t.document_type}:{},...typeof t.status=="string"?{status:kp(t.status)}:{},...t.status===void 0&&typeof t.state=="string"?{status:kp(t.state)}:{},...t.sourceFileName===void 0&&t.source_file_name!==void 0?{sourceFileName:t.source_file_name}:{}}}function kp(t){return t.trim().toUpperCase()}function qa(t){let e=Number(t);return Number.isFinite(e)?e:null}function fD(...t){return t.reduce((e,n)=>e+(qa(n)??0),0)}function mi(t){return t&&typeof t=="object"&&!Array.isArray(t)?t:{}}var mD=["refresh","load_excel_editor_runtime","seed_demo_data","save_controlled_goods","update_controlled_goods","save_sanctioned_company","update_sanctioned_company","save_purchase_review","save_customer_contract_review","update_supplier","update_purchase_order","add_purchase_line","update_purchase_line","update_customer","save_customer_profit_rate","save_derived_manual_data","get_customer_contract_review","update_customer_contract_review","reanalyze_customer_contract","consume_customer_contract_reanalysis_result","delete_entity","clear_controlled_catalog","clear_sanction_catalog","save_settings","restore_settings_default","delete_settings_rate","discard_company_logo","export_analytics","preflight_sales_file","generate_sales_file","download_sales_file","download_import_issues","retry_import_task","resolve_stalled_catalog_import","resolve_catalog_import_issue","delete_import_task","download_source_file","preview_source_file","save_edited_sales_file","search_hs_code","get_hs_code_detail","translate_purchase_product_name"],gD=new Set(mD);function Gy(t){return typeof t=="string"&&gD.has(t)}function qS(){let t=!1;return{async run(e,n=()=>{}){if(t)throw new Error("\u64CD\u4F5C\u6B63\u5728\u6267\u884C\uFF0C\u8BF7\u7A0D\u5019");t=!0,n(!0);try{return await e()}finally{t=!1,n(!1)}}}}var ZS={refresh:"silent",load_excel_editor_runtime:"silent",seed_demo_data:"silent",save_controlled_goods:"silent",update_controlled_goods:"silent",save_sanctioned_company:"silent",update_sanctioned_company:"silent",save_purchase_review:"silent",save_customer_contract_review:"silent",update_supplier:"silent",update_purchase_order:"silent",add_purchase_line:"silent",update_purchase_line:"silent",update_customer:"silent",save_customer_profit_rate:{tone:"success",fallback:"\u5BA2\u6237\u5229\u6DA6\u7387\u4FDD\u5B58\u6210\u529F"},save_derived_manual_data:{tone:"success",fallback:"\u9500\u552E\u4EBA\u5DE5\u6570\u636E\u4FDD\u5B58\u6210\u529F"},get_customer_contract_review:"silent",update_customer_contract_review:"silent",reanalyze_customer_contract:"silent",consume_customer_contract_reanalysis_result:"silent",delete_entity:"silent",clear_controlled_catalog:"silent",clear_sanction_catalog:"silent",save_settings:"silent",restore_settings_default:"silent",delete_settings_rate:"silent",discard_company_logo:"silent",export_analytics:"silent",preflight_sales_file:"silent",generate_sales_file:"silent",download_sales_file:{tone:"success",fallback:"\u9500\u552E\u6587\u4EF6\u4E0B\u8F7D\u6210\u529F"},download_import_issues:{tone:"success",fallback:"\u5BFC\u5165\u95EE\u9898 Excel \u4E0B\u8F7D\u6210\u529F"},retry_import_task:"silent",resolve_stalled_catalog_import:"silent",resolve_catalog_import_issue:"silent",delete_import_task:"silent",download_source_file:"silent",preview_source_file:"silent",save_edited_sales_file:"silent",search_hs_code:"silent",get_hs_code_detail:"silent",translate_purchase_product_name:"silent"},yD=new Set(["save_controlled_goods","update_controlled_goods","save_sanctioned_company","update_sanctioned_company","save_purchase_review","save_customer_contract_review","update_supplier","update_purchase_order","add_purchase_line","update_purchase_line","update_customer_contract_review","delete_entity"]);async function JS({actionKey:t,mutate:e,refresh:n,notify:r,onResult:i,resolveMessage:o=wD,suppressRefresh:a}){try{if(!Gy(t))throw new Error(`\u672A\u914D\u7F6E\u64CD\u4F5C\u901A\u77E5\u7B56\u7565\uFF1A${String(t)}`);let s=ZS[t],l=await e();if(l.success===!1)throw new Error(o(l)||"\u64CD\u4F5C\u5931\u8D25");if(i?.(l),l.refresh&&yD.has(t)&&!a)try{await n()}catch{r?.({message:"\u6570\u636E\u5237\u65B0\u5931\u8D25",tone:"error"})}return s!=="silent"&&r?.({message:o(l)||s.fallback,tone:s.tone}),l}catch(s){let l=Gy(t)?ZS[t]:void 0;throw(l===void 0||l!=="silent")&&r?.({message:s instanceof Error?s.message:"\u64CD\u4F5C\u5931\u8D25",tone:"error"}),s}}function wD(t){return t.message||t.error?.message||""}var Pe=be(Be(),1),vD={home:{title:"\u9996\u9875",subtitle:"\u67E5\u770B\u7CFB\u7EDF\u98CE\u9669\u64CD\u4F5C\u63D0\u793A\u4E0E\u5916\u8D38\u5408\u89C4\u4E1A\u52A1\u6D41\u7A0B\u3002"},"controlled-goods":{title:"\u7BA1\u63A7\u5546\u54C1\u76EE\u5F55",subtitle:"\u7EF4\u62A4\u519B\u6C11\u4E24\u7528\u7269\u8D44\u548C\u6D77\u5916\u5236\u88C1\u5546\u54C1\u76EE\u5F55\u3002"},"sanctioned-companies":{title:"\u516C\u53F8\u5236\u88C1\u76EE\u5F55",subtitle:"\u7EF4\u62A4\u88AB\u5236\u88C1\u516C\u53F8\u4FE1\u606F\u5E76\u652F\u6301\u4F9B\u5E94\u5546\u3001\u5BA2\u6237\u98CE\u9669\u6821\u9A8C\u3002"},procurement:{title:"\u91C7\u8D2D\u5408\u89C4\u7BA1\u7406",subtitle:"\u7BA1\u7406\u4F9B\u5E94\u5546\u3001\u91C7\u8D2D\u8BA2\u5355\u53CA\u91C7\u8D2D\u5546\u54C1\u5408\u89C4\u4FE1\u606F\u3002"},"customer-contract-review":{title:"\u5BA2\u6237\u5408\u540C\u5BA1\u6838",subtitle:"\u5BA1\u6838\u5BA2\u6237\u5408\u540C\u5173\u952E\u6761\u6B3E\u53CA AI \u98CE\u9669\u5EFA\u8BAE\u3002"},sales:{title:"",subtitle:""},"sales-files":{title:"\u9500\u552E\u6587\u4EF6\u7BA1\u7406",subtitle:"\u6821\u9A8C\u5E76\u751F\u6210\u9500\u552E\u4E1A\u52A1\u6587\u4EF6\uFF0C\u7BA1\u7406\u5386\u53F2\u5DE5\u4F5C\u7C3F\u3002"},analytics:{title:"",subtitle:""},settings:{title:"\u7CFB\u7EDF\u8BBE\u7F6E",subtitle:"\u7EF4\u62A4\u4F01\u4E1A\u3001\u94F6\u884C\u3001\u6C47\u7387\u548C\u5229\u6DA6\u89C4\u5219\u3002"}},bD={suppliers:{title:"\u4F9B\u5E94\u5546\u5217\u8868",subtitle:"\u7BA1\u7406\u4F9B\u5E94\u5546\u6863\u6848\uFF0C\u5E76\u901A\u8FC7\u4F9B\u5E94\u5546\u4EE3\u7801\u8FDB\u5165\u8BE5\u4F9B\u5E94\u5546\u7684\u91C7\u8D2D\u8BA2\u5355\u5217\u8868\u3002"},orders:{title:"\u91C7\u8D2D\u8BA2\u5355\u5217\u8868",subtitle:"\u67E5\u770B\u5F53\u524D\u4F9B\u5E94\u5546\u7684\u91C7\u8D2D\u8BA2\u5355\u3001\u91D1\u989D\u53CA\u5408\u89C4\u72B6\u6001\u3002"},lines:{title:"\u91C7\u8D2D\u5546\u54C1\u5217\u8868",subtitle:"\u67E5\u770B\u5F53\u524D\u91C7\u8D2D\u8BA2\u5355\u7684\u5546\u54C1\u660E\u7EC6\u53CA\u5408\u89C4\u72B6\u6001\u3002"}},Re=K0(),ek={filters:{},page:1,pageSize:20},tk=0,xD=3e4;function CD(t,e){let n=t.kind==="CONTRACT_IMPORT"?t.completion.task:t.result.run,r=e.kind==="CONTRACT_IMPORT"?e.completion.task:e.result.run;return Px(n,r)}var Tp=class extends Error{constructor(n,r){super(n);this.code=r;this.name="ActionResponseError"}},Kl=null;function SD(){let[t,e]=z.default.useState({type:"page",page:"home"}),n=z.default.useRef(t),r=z.default.useRef(0),i=z.default.useRef(null),o=z.default.useRef(Or()),a=z.default.useRef(Or()),s=z.default.useRef(null),l=z.default.useRef(Or()),c=z.default.useRef(Or()),u=z.default.useRef(X0()),d=z.default.useRef(null),p=z.default.useRef({page:1,pageSize:20,filters:{}}),h=z.default.useRef(!1),m=z.default.useRef(cm()),f=z.default.useRef({page:1,pageSize:20,filters:{}}),v=z.default.useRef({page:1,pageSize:20,filters:{}}),g=z.default.useRef({page:1,pageSize:20,filters:{}}),y=z.default.useRef(null),w=z.default.useRef(D1()),b=z.default.useRef({page:1,pageSize:20}),x=z.default.useRef({page:1,pageSize:20}),C=z.default.useRef(!1),k=z.default.useRef(cm()),S=z.default.useRef(J0(ek)),[E,D]=z.default.useState(ek),O=z.default.useRef(null),[H,M]=z.default.useState(void 0),[_,V]=z.default.useState(()=>Dr(null)),G=z.default.useRef([]),K=z.default.useRef(new Set),[J,ie]=z.default.useState(!1),[ue,we]=z.default.useState(!1),Y=z.default.useRef(qS()),[Q,F]=z.default.useState(!1),[ee,B]=z.default.useState(!1),[U,q]=z.default.useState(!1),[le,ne]=z.default.useState(!1),[ae,re]=z.default.useState(!1),[me,qe]=z.default.useState(null),[Ot,St]=z.default.useState(!1),[yi,oo]=z.default.useState(!1),[xr,Xl]=z.default.useState({CONTROLLED_CATALOG:null,SANCTION_CATALOG:null}),[Vy,Zl]=z.default.useState({CONTROLLED_CATALOG:null,SANCTION_CATALOG:null}),ql=z.default.useRef(Yu()),Jl=z.default.useRef(Yu()),Rp=z.default.useRef(Yu()),Ja=z.default.useRef(new Set),Ep=z.default.useRef(new Set),es=z.default.useRef(Dx(R=>R.kind==="CONTRACT_IMPORT"?R.completion.task.id:R.result.run.id,CD)),sr=z.default.useRef(null),Wy=z.default.useRef(()=>{}),ts=z.default.useRef(null),Lt=z.default.useRef(ex()),ns=z.default.useRef(async()=>{}),Ky=z.default.useRef(async()=>{}),Ip=z.default.useRef(new Set),Cr=z.default.useRef(null);Cr.current||(Cr.current=$S({setContext:async(R,P)=>{await Re.invokeClientCommand("assistant.context.set",{key:"tradeComplianceTask",context:{task:R,relatedRecords:P}})},openConversation:async R=>{let P=await Re.invokeClientCommand("workbench.navigation.open",{target:"assistant.conversation",conversationId:R});return VS(P)}}));let Wn=z.default.useRef(()=>{}),[Np,gk]=z.default.useState({supplier:null,order:null,metrics:null}),[ec,wi]=z.default.useState(null),[Pp,vi]=z.default.useState(null),[zo,Sr]=z.default.useState({status:"IDLE"}),[yk,Hr]=z.default.useState({status:"IDLE"}),[tc,Qy]=z.default.useState(null),[Yy,nc]=z.default.useState(null),[Dp,Op]=z.default.useState([]),[Uo]=z.default.useState(()=>wx(R=>Op(P=>pm(P,R)))),[wk,Xy]=z.default.useState(null),[vk,bk]=z.default.useState(0),ge=z.default.useCallback(R=>{Op(P=>yx(P,R,vx))},[]),xk=z.default.useCallback(R=>{Uo.dismiss(R),Op(P=>pm(P,R))},[Uo]),ao=z.default.useCallback(R=>{ge({message:R instanceof Error?R.message:"\u4EFB\u52A1\u64CD\u4F5C\u5931\u8D25",tone:"error"})},[ge]),bi=z.default.useCallback(R=>{ge({message:R instanceof Error?`\u4EFB\u52A1\u72B6\u6001\u5237\u65B0\u5931\u8D25\uFF1A${R.message}`:"\u4EFB\u52A1\u72B6\u6001\u5237\u65B0\u5931\u8D25",tone:"error"})},[ge]),so=z.default.useCallback(R=>{ni(R)||Ca(R)||ge({message:R instanceof Error?`\u540E\u53F0\u4EFB\u52A1\u8DDF\u8E2A\u5931\u8D25\uFF1A${R.message}`:"\u540E\u53F0\u4EFB\u52A1\u8DDF\u8E2A\u5931\u8D25",tone:"error"})},[ge]),lr=z.default.useCallback(R=>{K.current.has(R.id)||V(P=>{let $=Ap(P.importTasks.items,[R],K.current);return{...P,importTasks:{...P.importTasks,items:$,total:Math.max(Ct(P.importTasks.total,0),$.length),page:Ct(P.importTasks.page,1),pageSize:P.importTasks.pageSize??100}}})},[]),Zy=z.default.useCallback(R=>{V(P=>{let $=P.importTasks.items.some(X=>pt(X).id===R),W=KS(P.importTasks.items,R);return{...P,importTasks:{...P.importTasks,items:W,total:Math.max(W.length,Ct(P.importTasks.total,W.length)-($?1:0))}}})},[]),qy=z.default.useCallback(async R=>{let P=Cr.current,$=P.beginSelection(R.id),W=pt(Me(await Re.requestData({parameters:{collection:"importTask",taskId:R.id}})));if(!P.isSelected(R.id)||!P.isSelectionIntentCurrent($))return;let X=pt(W.task),ye=typeof X.id=="string"?{...R,...X}:R;await P.sync(ye,W)},[]),rs=z.default.useCallback(async R=>{try{let P=pt(Me(await Re.requestData(MD()))),$=Dr({summary:{importTasks:P}}).importTasks;return $.items.length>0||Ct($.total,0)>0?$:R.importTasks}catch{return R.importTasks}},[]),Jy=z.default.useCallback(R=>{if(O.current?.(),O.current=null,M(void 0),R.visualCheck!==!0)return;let P=()=>M("upload"),$=()=>M("form-editor");window.addEventListener("sales-file-upload",P),window.addEventListener("sales-file-form-editor",$),O.current=()=>{window.removeEventListener("sales-file-upload",P),window.removeEventListener("sales-file-form-editor",$)}},[]),jt=z.default.useCallback(async(R,P=1,$=20,W={})=>{let X=Rn($),ye=tx(R,P,X,W);if(!ye)return!1;let Le=String(pt(ye.parameters).collection),Qe=Le==="analytics"?S.current:l.current,kr=Le==="analytics"?DD(P,X,W):null,lo=kr?S.current.begin(kr):l.current.begin();ie(!0);try{let ft=pt(Me(await Re.requestData(ye)));if(!Qe.commit(lo)||n.current!==R&&JSON.stringify(n.current)!==JSON.stringify(R))return!1;if(Le==="analytics")D(S.current.committed()),V(Ar=>({...Ar,analytics:Dr({summary:{analytics:ft}}).analytics}));else if(Le==="settings"){let Ar=Dr({summary:{settings:ft}}).settings,lw={page:Ar.rates.page,pageSize:Ar.rates.pageSize};b.current=lw,x.current=lw,V(qk=>({...qk,settings:Ar}))}else V(Ar=>({...Ar,[Le]:{...ft,items:Array.isArray(ft.items)?ft.items:[],total:Ct(ft.total,0),page:Ct(ft.page,P),pageSize:X}}));return R.type==="procurement"&&gk(Ar=>({supplier:ft.supplier&&typeof ft.supplier=="object"?ft.supplier:R.level==="suppliers"?null:Ar.supplier,order:ft.order&&typeof ft.order=="object"?ft.order:null,metrics:ft.metrics&&typeof ft.metrics=="object"?ft.metrics:R.level==="orders"?null:Ar.metrics})),!0}catch(ft){return Qe.isLatest(lo)&&(Le==="analytics"&&D({...S.current.committed()}),ge({message:ft instanceof Error?`\u9875\u9762\u52A0\u8F7D\u5931\u8D25\uFF1A${ft.message}`:"\u9875\u9762\u52A0\u8F7D\u5931\u8D25",tone:"error"})),!1}finally{Qe.finish(lo),ie(l.current.activeCount()+o.current.activeCount()+S.current.activeCount()>0)}},[]),xi=z.default.useCallback(async R=>{let P=R??i.current;if(!P)return;let $=o.current,W=$.begin();ie(!0);try{let X=await Re.requestData(ak(P.initialQuery?.parameters));if($.isLatest(W)){let ye=Dr(X),Le=await rs(ye);Re.configure({uploadPolicy:ye.uploadPolicy}),V(Qe=>ik(Qe,{...ye,importTasks:Le},K.current)),await jt(n.current)}}catch(X){$.isLatest(W)&&ge({message:X instanceof Error?`\u5237\u65B0\u5931\u8D25\uFF1A${X.message}`:"\u5237\u65B0\u5931\u8D25",tone:"error"})}finally{$.finish(W),ie($.activeCount()+l.current.activeCount()+S.current.activeCount()>0)}},[rs,jt]),ht=z.default.useCallback(async()=>{let R=i.current;if(!R)return!1;let P=a.current,$=P.begin();try{let W=await Re.requestData(ak(R.initialQuery?.parameters));if(!P.commit($))return!1;let X=Dr(W),ye=await rs(X);return V(Le=>({...Le,controlledGoods:X.controlledGoods,controlledBatches:X.controlledBatches,sanctionedCompanies:X.sanctionedCompanies,sanctionBatches:X.sanctionBatches,importTasks:{...ye,items:Ap(Le.importTasks.items,ye.items,K.current),total:Math.max(Ct(ye.total,0),ye.items.length,Le.importTasks.items.length)},customerContractAnalyses:X.customerContractAnalyses})),!0}catch(W){return P.isLatest($)&&ge({message:W instanceof Error?`\u4EFB\u52A1\u72B6\u6001\u5237\u65B0\u5931\u8D25\uFF1A${W.message}`:"\u4EFB\u52A1\u72B6\u6001\u5237\u65B0\u5931\u8D25",tone:"error"}),!1}finally{P.finish($)}},[rs]),Ln=z.default.useCallback(()=>{s.current==null&&(s.current=window.setInterval(()=>{ht().then(R=>{!R||s.current==null||PD(G.current)||(window.clearInterval(s.current),s.current=null)})},2e3))},[ht]);z.default.useEffect(()=>{G.current=_.importTasks.items},[_.importTasks.items]),z.default.useEffect(()=>{WS(Cr.current,_.importTasks.items).catch(ao)},[_.importTasks.items,ao]),z.default.useEffect(()=>{let R=new Map;for(let P of _.importTasks.items){let $=zy(P);if(!$||Ip.current.has($))continue;Ip.current.add($);let W=By(P,n.current);W&&R.set(W,P)}for(let P of R.values())Ky.current(P).catch(ao)},[_.importTasks.items,ao]),z.default.useEffect(()=>()=>{s.current!=null&&window.clearInterval(s.current),ts.current!=null&&window.clearTimeout(ts.current)},[]),z.default.useEffect(()=>()=>ql.current.abortAll(),[]),z.default.useEffect(()=>()=>Jl.current.abortAll(),[]),z.default.useEffect(()=>()=>Rp.current.abortAll(),[]),z.default.useEffect(()=>(Re.start({onInit(R){Jy(pt(R.initialQuery?.parameters)),i.current=R;let P=Dr(R.payload);Re.configure({uploadPolicy:P.uploadPolicy}),V($=>ik($,P,K.current)),xi(R)},onHostEvent(){xi()}}),()=>{O.current?.(),O.current=null,Lt.current.dispose(),Re.destroy()}),[Jy,xi]),z.default.useEffect(()=>()=>Uo.dispose(),[Uo]),z.default.useEffect(()=>{let R=window.setTimeout(()=>Re.reportResize(),0);return()=>window.clearTimeout(R)},[t,_,J]),z.default.useEffect(()=>{Uo.sync(Dp)},[Uo,Dp]);let Ke=z.default.useCallback(R=>Y.current.run(R,we),[]),Kn=z.default.useCallback(async(R,P,$={})=>Ke(()=>JS({actionKey:R,mutate:async()=>Gt(Me(await Re.executeAction(R,P))),refresh:xi,notify:ge,resolveMessage:Kt,onResult:W=>{(R==="download_import_issues"||R==="download_sales_file")&&lk(W.data)},...$})),[xi,Ke]),Ck=z.default.useCallback((R,P,$={})=>Kn(R,P,$),[Kn]),is=z.default.useCallback(()=>{ts.current==null&&(ts.current=window.setTimeout(()=>{ts.current=null,Wy.current()},0))},[]),rc=z.default.useCallback(R=>{es.current.enqueue(R),is()},[is]),ic=z.default.useCallback(async(R,P)=>{if(!R.data?.task.id)throw new Error("\u89E3\u6790\u54CD\u5E94\u7F3A\u5C11\u4EFB\u52A1\u6807\u8BC6");let W=R.data?.task.documentType;W&&(Xl(X=>({...X,[W]:null})),Zl(X=>({...X,[W]:null})));try{let X=await Zx({start:R,pollTask:async ye=>sk(Me(await Re.requestData({parameters:{collection:"importTask",taskId:ye}}))),refresh:ht,signal:P,onTransition:(ye,Le)=>{lr(Le);let Qe=Ly(ye,Le);Qe&&ge(Qe)},onPollError:ye=>ge({message:`\u4EFB\u52A1\u72B6\u6001\u67E5\u8BE2\u5931\u8D25\uFF1A${ye.message}`,tone:"error"})});return lr(X.task),Xl(ye=>({...ye,[X.task.documentType]:X})),await ns.current(X.task),X}catch(X){throw ni(X)?X:Ca(X)?(ge({message:"\u4EFB\u52A1\u4ECD\u5728\u540E\u53F0\u5904\u7406\u4E2D\uFF0C\u5C06\u7EE7\u7EED\u8DDF\u8E2A",tone:"info"}),Ln(),X):(X instanceof To?(Zl(ye=>({...ye,[X.task.documentType]:X.task})),await ns.current(X.task)):ge({message:X instanceof Error?X.message:"\u76EE\u5F55\u89E3\u6790\u5931\u8D25",tone:"error"}),X)}},[ht,Ln,lr]),oc=z.default.useCallback(async(R,P)=>{let $=R.data?.task;if(!$)throw new Error("\u89E3\u6790\u54CD\u5E94\u7F3A\u5C11\u5408\u540C\u4EFB\u52A1\u6807\u8BC6");$.documentType==="PURCHASE_CONTRACT"?(Lt.current.clear("purchase"),wi($),vi(null)):(Lt.current.clear("customer"),Sr({status:"PROCESSING",importTaskId:$.id,sourceFileName:$.sourceFileName??"\u5BA2\u6237\u5408\u540C"}));try{let W=await FS({start:R,signal:P,pollTask:async X=>dk(Me(await Re.requestData({parameters:{collection:"importTask",taskId:X}}))),onTransition:(X,ye)=>{lr(ye);let Le=Ly(X,ye);Le&&ge(Le)},onPollError:X=>ge({message:`\u4EFB\u52A1\u72B6\u6001\u67E5\u8BE2\u5931\u8D25\uFF1A${X.message}`,tone:"error"})});return W.task.status==="AWAITING_REVIEW"&&rc({kind:"CONTRACT_IMPORT",completion:W}),lr(W.task),await ns.current(W.task),W}catch(W){if(ni(W))throw W;if(Ca(W))throw ge({message:"\u4EFB\u52A1\u4ECD\u5728\u540E\u53F0\u5904\u7406\u4E2D\uFF0C\u5C06\u7EE7\u7EED\u8DDF\u8E2A",tone:"info"}),Ln(),W;let X=W instanceof Mo?W.task:$;throw $.documentType==="PURCHASE_CONTRACT"?(wi({...X,status:X.status==="TIMED_OUT"?"TIMED_OUT":"FAILED",errorMessage:W instanceof Error?W.message:"\u91C7\u8D2D\u5408\u540C\u89E3\u6790\u5931\u8D25"}),vi(null)):Sr({status:"FAILED",importTaskId:X.id,message:W instanceof Error?W.message:"\u5BA2\u6237\u5408\u540C\u89E3\u6790\u5931\u8D25"}),await ns.current(X),W instanceof Mo||ge({message:W instanceof Error?W.message:"\u5408\u540C\u89E3\u6790\u5931\u8D25",tone:"error"}),W}},[rc,Ln,lr]),ew=z.default.useCallback(R=>{if(R.documentType==="PURCHASE_CONTRACT"||R.documentType==="CUSTOMER_CONTRACT"){let P=Jl.current.run(R.id,$=>oc({success:!0,data:{task:R}},$));P&&P.catch(so);return}if(R.documentType==="CONTROLLED_CATALOG"||R.documentType==="SANCTION_CATALOG"){let P=ql.current.run(R.id,$=>ic({success:!0,data:{task:R}},$));P&&P.catch(so)}},[so,oc,ic]),tw=z.default.useCallback(async(R,P)=>{let $=pt(P.data),W=Uy(P,R);if(R==="upload_customer_contract"&&$.review){Lt.current.clear("customer");let X=W?{...W,status:"AWAITING_REVIEW"}:null;X?.id&&(sr.current=X.id,Ja.current.add(X.id),lr(X));let ye=Zi($.review,{reviewSource:"IMPORT_DRAFT",importTaskId:X?.id,sourceFileId:X?.sourceFileId??"",sourceFileName:X?.sourceFileName??""});return Sr({status:"AWAITING_REVIEW",importTaskId:X?.id??"",review:await Yl(ye,Lt.current)}),Wn.current({type:"page",page:"customer-contract-review"}),!0}if(R==="upload_purchase_contract"&&W?.documentType==="PURCHASE_CONTRACT"&&W.resultPayload){Lt.current.clear("purchase");let X={...W,status:"AWAITING_REVIEW"};sr.current=X.id,Ja.current.add(X.id),lr(X);let ye=ip(X);return wi(X),vi(await Hy(ye,X,Lt.current)),Wn.current({type:"procurement",level:"suppliers"}),!0}return!1},[lr]),Go=z.default.useCallback(async(R,P,$,W=!0)=>{let X=Cr.current.beginSelectionIntent();return Ke(async()=>{try{let ye=await Re.executeFileAction(R,P,$),Le=Gt(Me(ye)),Qe=Uy(Le,R,$,P);if(Qe&&(lr(Qe),Cr.current.isSelectionIntentCurrent(X)&&My(Cr.current,Qe,{task:Qe}).catch(ao),io(Qe)?Ln():ew(Qe)),Le.success===!1)throw Ql(Le,"\u4E0A\u4F20\u5931\u8D25");return await ht().catch(kr=>{bi(kr instanceof Error?kr:new Error(String(kr)))}),await tw(R,Le),ge({message:Kt(Le)||"\u89E3\u6790\u4EFB\u52A1\u5DF2\u63D0\u4EA4",tone:"info"}),Le}catch(ye){throw Cr.current.restoreSelectedTaskIntent(X),await ht().catch(Le=>{bi(Le instanceof Error?Le:new Error(String(Le)))}),W&&!(ye instanceof To)&&ge({message:ye instanceof Error?ye.message:"\u4E0A\u4F20\u5931\u8D25",tone:"error"}),ye}})},[ht,bi,ao,tw,Ke,Ln,ew,lr]),nw=z.default.useCallback((R,P,$)=>Go(R,P,$,!1),[Go]);z.default.useEffect(()=>{let R=_.importTasks.items;Zl({CONTROLLED_CATALOG:xm(R,"CONTROLLED_CATALOG",xr.CONTROLLED_CATALOG?.task),SANCTION_CATALOG:xm(R,"SANCTION_CATALOG",xr.SANCTION_CATALOG?.task)});for(let P of qx(R)){let $=ql.current.run(P.id,W=>ic({success:!0,data:{task:P}},W));$&&$.catch(so)}},[_.importTasks.items,so,xr,ic]),z.default.useEffect(()=>{let R=_.importTasks.items;for(let P of MS(R)){if(Ja.current.has(P.id))continue;let $=Jl.current.run(P.id,W=>oc({success:!0,data:{task:P}},W));$&&$.catch(so)}for(let P of["PURCHASE_CONTRACT","CUSTOMER_CONTRACT"]){let $=BS(R,P),W=R.some(X=>X.documentType===P&&(X.status==="AWAITING_REVIEW"||["QUEUED","EXTRACTING","AI_PARSING","VALIDATING","PERSISTING"].includes(X.status)));!W&&$&&(P==="PURCHASE_CONTRACT"?wi($):Sr({status:"FAILED",importTaskId:$.id,message:$.errorMessage||"\u5BA2\u6237\u5408\u540C\u89E3\u6790\u5931\u8D25\uFF0C\u8BF7\u91CD\u65B0\u89E3\u6790"})),!sr.current&&!W&&!$&&R.some(X=>X.documentType===P&&X.status==="SUCCEEDED")&&(P==="PURCHASE_CONTRACT"?(wi(null),vi(null)):Sr({status:"IDLE"}))}},[_.importTasks.items,so,oc]);let ac=z.default.useCallback(async R=>Ke(async()=>{try{let P=await Xu(()=>Re.executeAction("retry_import_task",{taskId:R}),ht,bi),$=Gt(Me(P));if($.success===!1)throw Ql($,"\u91CD\u65B0\u89E3\u6790\u5931\u8D25");ge({message:Kt($)||"\u91CD\u65B0\u89E3\u6790\u4EFB\u52A1\u5DF2\u63D0\u4EA4",tone:"info"})}catch(P){throw P instanceof To||ge({message:P instanceof Error?P.message:"\u91CD\u65B0\u89E3\u6790\u5931\u8D25",tone:"error"}),P}}),[ht,bi,Ke]),sc=z.default.useCallback(async R=>Ke(async()=>{try{let P=await Xu(()=>Re.executeAction("retry_import_task",{taskId:R}),ht,bi),$=Gt(Me(P));if($.success===!1)throw Ql($,"\u91CD\u65B0\u89E3\u6790\u5931\u8D25");ge({message:Kt($)||"\u91CD\u65B0\u89E3\u6790\u4EFB\u52A1\u5DF2\u63D0\u4EA4",tone:"info"})}catch(P){throw ge({message:P instanceof Error?P.message:"\u91CD\u65B0\u89E3\u6790\u5931\u8D25",tone:"error"}),P}}),[ht,bi,Ke]),lc=z.default.useCallback(async(R,P)=>Ke(async()=>{let $=Gt(Me(await Re.executeAction("delete_import_task",{taskId:R.id})));if($.success===!1)throw Ql($,"\u4EFB\u52A1\u5220\u9664\u5931\u8D25");K.current.add(R.id),ql.current.abort(R.id),Jl.current.abort(R.id),Zy(R.id),Xl(W=>{let X=W[R.documentType];return!X||X.task.id!==R.id?W:{...W,[R.documentType]:null}}),Zl(W=>{let X=W[R.documentType];return!X||X.id!==R.id?W:{...W,[R.documentType]:null}}),R.documentType==="PURCHASE_CONTRACT"&&ec?.id===R.id&&(wi(null),vi(null)),R.documentType==="CUSTOMER_CONTRACT"&&zo.status!=="IDLE"&&zo.importTaskId===R.id&&Sr({status:"IDLE"}),Cr.current?.isSelected(R.id)&&(Cr.current.clear(),await Re.invokeClientCommand("assistant.context.set",{key:"tradeComplianceTask",clear:!0}).catch(()=>{}),await Re.invokeClientCommand("assistant.chat.send_message",{text:`\u4EFB\u52A1\u201C${R.sourceFileName||jy(R.documentType)}\u201D\u5DF2\u53D6\u6D88\u5E76\u5220\u9664\u3002`,clientMessageId:`trade-task:${R.id}:deleted`}).catch(()=>{})),P.refresh&&await ht()}),[zo,ht,ec,Zy,Ke]),rw=z.default.useCallback(async R=>{await lc(R,{refresh:!0})},[lc]),Sk=z.default.useCallback(async R=>{let P=new Map(_.importTasks.items.map(W=>[W.id,W])),$=await rr(R.map(W=>W.id),async W=>{let X=P.get(W);if(!X)throw new Error("\u4EFB\u52A1\u5DF2\u4E0D\u5B58\u5728");await lc(X,{refresh:!1})});return await ht(),$.failed.map(W=>({id:W.key,message:W.message}))},[_.importTasks.items,lc,ht]),os=z.default.useCallback(async R=>{if(R.status==="FAILED"||R.status==="TIMED_OUT"){R.documentType==="PURCHASE_CONTRACT"||R.documentType==="CUSTOMER_CONTRACT"?await sc(R.id):await ac(R.id);return}if(R.status!=="AWAITING_REVIEW")return;if(R.documentType==="CONTROLLED_CATALOG"||R.documentType==="SANCTION_CATALOG"){let W=sk(Me(await Re.requestData({parameters:{collection:"importTask",taskId:R.id}})));Xl(X=>({...X,[W.task.documentType]:W})),Wn.current({type:"page",page:W.task.documentType==="CONTROLLED_CATALOG"?"controlled-goods":"sanctioned-companies"});return}let P=dk(Me(await Re.requestData({parameters:{collection:"importTask",taskId:R.id}}))).task;if(sr.current=P.id,P.documentType==="PURCHASE_CONTRACT"){Lt.current.clear("purchase");let W=ip(P);wi(P),vi(await Hy(W,P,Lt.current)),Wn.current({type:"procurement",level:"suppliers"});return}Lt.current.clear("customer");let $=Zi(P.resultPayload,{reviewSource:"IMPORT_DRAFT",importTaskId:P.id,sourceFileId:P.sourceFileId??"",sourceFileName:P.sourceFileName??""});Sr({status:"AWAITING_REVIEW",importTaskId:P.id,review:await Yl($,Lt.current)}),Wn.current({type:"page",page:"customer-contract-review"})},[sc,ac]),cc=z.default.useCallback(async R=>{let P;if(R.review)P=Zi(R.review,{reviewSource:"EXISTING_CONTRACT"});else if(R.task)P=Zi(R.task.resultPayload,{reviewSource:"IMPORT_DRAFT",importTaskId:R.task.id,sourceFileId:R.task.sourceFileId??"",sourceFileName:R.task.sourceFileName??""});else throw new Error("\u91CD\u65B0\u5206\u6790\u7ED3\u679C\u7F3A\u5C11\u5408\u540C\u5BA1\u6838\u6570\u636E");let $=await Yl(P,Lt.current);return Sr({status:"AWAITING_REVIEW",importTaskId:R.task?.id??R.run.importTaskId??"",review:$}),Wn.current({type:"page",page:"customer-contract-review"}),$},[]),uc=z.default.useCallback(async R=>Ke(async()=>{let P=Gt(Me(await Re.executeAction("consume_customer_contract_reanalysis_result",{runId:R})));if(P.success===!1)throw new Error(Kt(P)||"\u786E\u8BA4\u91CD\u65B0\u5206\u6790\u7ED3\u679C\u5931\u8D25")}),[Ke]),kk=z.default.useCallback(async R=>{Hr({status:"RUNNING",message:"AI \u91CD\u65B0\u5206\u6790\u4E2D"});try{let P=await Ke(()=>Xu(()=>Re.executeAction("reanalyze_customer_contract",{reviewSource:R.reviewSource,...R.customerContractId?{id:R.customerContractId}:{},...R.importTaskId?{importTaskId:R.importTaskId}:{}}),ht,bi)),$=Gt(Me(P));if($.success===!1||!$.data)throw Ql($,"AI \u91CD\u65B0\u5206\u6790\u542F\u52A8\u5931\u8D25");ge({message:Kt($)||"AI \u91CD\u65B0\u5206\u6790\u4EFB\u52A1\u5DF2\u63D0\u4EA4",tone:"info"});let W=Rp.current.run($.data.run.id,Le=>_y({start:$.data,signal:Le,poll:async Qe=>pk(Me(await Re.requestData({parameters:{collection:"customerContractAnalysis",runId:Qe}}))),onPollError:Qe=>ge({message:`\u4EFB\u52A1\u72B6\u6001\u67E5\u8BE2\u5931\u8D25\uFF1A${Qe.message}`,tone:"error"})}));if(!W)throw new Error("\u8BE5 AI \u91CD\u65B0\u5206\u6790\u4EFB\u52A1\u6B63\u5728\u8DDF\u8E2A\u4E2D");let X=await W,ye=await cc(X);return await uc(X.run.id),Ep.current.add(X.run.id),Hr({status:"IDLE"}),ge({message:"AI \u91CD\u65B0\u5206\u6790\u5B8C\u6210",tone:"success"}),await ht(),ye}catch(P){throw ni(P)?P:P instanceof Tp&&P.code==="IMPORT_QUEUE_UNAVAILABLE"?(Hr({status:"RUNNING",message:"\u4EFB\u52A1\u5DF2\u4FDD\u5B58\uFF0C\u7B49\u5F85\u961F\u5217\u670D\u52A1\u6062\u590D"}),ge({message:P.message,tone:"info"}),Ln(),P):Ca(P)?(Hr({status:"RUNNING",message:"AI \u91CD\u65B0\u5206\u6790\u4ECD\u5728\u540E\u53F0\u5904\u7406\u4E2D"}),ge({message:"\u4EFB\u52A1\u4ECD\u5728\u540E\u53F0\u5904\u7406\u4E2D\uFF0C\u5C06\u7EE7\u7EED\u8DDF\u8E2A",tone:"info"}),Ln(),P):(Hr({status:"FAILED",message:P instanceof Error?P.message:"AI \u91CD\u65B0\u5206\u6790\u5931\u8D25"}),ge({message:P instanceof Error?P.message:"AI \u91CD\u65B0\u5206\u6790\u5931\u8D25",tone:"error"}),P)}},[cc,uc,ht,Ke,Ln]);z.default.useEffect(()=>{for(let R of _.customerContractAnalyses.items){if(!(R.recoveryType==="ACTIVE_POLL"||R.recoveryType==="SUCCEEDED_RESULT")||Ep.current.has(R.run.id))continue;let $=Rp.current.run(R.run.id,W=>_y({start:{run:R.run},signal:W,poll:async X=>pk(Me(await Re.requestData({parameters:{collection:"customerContractAnalysis",runId:X}}))),onPollError:X=>ge({message:`\u4EFB\u52A1\u72B6\u6001\u67E5\u8BE2\u5931\u8D25\uFF1A${X.message}`,tone:"error"})}));$&&(Hr({status:"RUNNING",message:"AI \u91CD\u65B0\u5206\u6790\u4E2D"}),ge({message:"\u5DF2\u6062\u590D AI \u91CD\u65B0\u5206\u6790\u4EFB\u52A1",tone:"info"}),$.then(W=>{rc({kind:"REANALYSIS",result:W})}).catch(W=>{if(!ni(W)){if(Ca(W)){Hr({status:"RUNNING",message:"AI \u91CD\u65B0\u5206\u6790\u4ECD\u5728\u540E\u53F0\u5904\u7406\u4E2D"}),ge({message:"\u4EFB\u52A1\u4ECD\u5728\u540E\u53F0\u5904\u7406\u4E2D\uFF0C\u5C06\u7EE7\u7EED\u8DDF\u8E2A",tone:"info"}),Ln();return}Hr({status:"FAILED",message:W instanceof Error?W.message:"AI \u91CD\u65B0\u5206\u6790\u5931\u8D25"}),ge({message:W instanceof Error?W.message:"AI \u91CD\u65B0\u5206\u6790\u5931\u8D25",tone:"error"})}}))}},[_.customerContractAnalyses.items,rc,Ln]);let Ak=z.default.useCallback(async()=>{if(sr.current){if(zo.status==="AWAITING_REVIEW"||!!Pp)return;sr.current=null}let P=es.current.peek();if(!P)return;let $=P.kind==="CONTRACT_IMPORT"?P.completion.task.id:P.result.run.id;sr.current=$;try{if(P.kind==="CONTRACT_IMPORT"){let W=P.completion.task;if(W.documentType==="PURCHASE_CONTRACT"){Lt.current.clear("purchase");let X=ip(W);wi(W),vi(await Hy(X,W,Lt.current)),Wn.current({type:"procurement",level:"suppliers"})}else if(W.documentType==="CUSTOMER_CONTRACT"){Lt.current.clear("customer");let X=Zi(W.resultPayload,{reviewSource:"IMPORT_DRAFT",importTaskId:W.id,sourceFileId:W.sourceFileId??"",sourceFileName:W.sourceFileName??""});Sr({status:"AWAITING_REVIEW",importTaskId:W.id,review:await Yl(X,Lt.current)}),Wn.current({type:"page",page:"customer-contract-review"})}else{es.current.ack($),Ja.current.add($),sr.current=null,is();return}es.current.ack($),Ja.current.add($);return}await cc(P.result),await uc(P.result.run.id),es.current.ack($),Ep.current.add(P.result.run.id),Hr({status:"IDLE"}),ge({message:"AI \u91CD\u65B0\u5206\u6790\u5B8C\u6210",tone:"success"}),await ht()}catch(W){sr.current=null,ge({message:W instanceof Error?W.message:"\u5BA1\u6838\u7ED3\u679C\u6062\u590D\u5931\u8D25",tone:"error"}),Ln()}},[cc,uc,zo.status,ht,ec,Pp,Ln]);Wy.current=()=>{Ak()};let Tk=z.default.useCallback(async R=>{let P=Gt(Me(await Re.executeAction("get_customer_contract_review",{id:R})));if(P.success===!1||!P.data)throw new Error(Kt(P)||"\u5BA2\u6237\u5408\u540C\u5BA1\u6838\u52A0\u8F7D\u5931\u8D25");let $=pt(P.data),W="reviewSource"in $?$:Zi($,{reviewSource:"EXISTING_CONTRACT"});return Yl(W,Lt.current)},[]),Rk=z.default.useCallback(()=>{Lt.current.clear("purchase"),vi(null),sr.current=null},[is]),Ek=z.default.useCallback(()=>{Lt.current.clear("customer"),Sr({status:"IDLE"}),sr.current=null},[is]),iw=z.default.useCallback(async R=>{let P=Rn(R.pageSize),$=pt(Me(await Re.requestData({page:R.page,pageSize:P,parameters:{collection:"importIssues",documentType:R.documentType,batchId:R.batchId,issueType:R.issueType}})));return{items:Array.isArray($.items)?$.items:[],total:Ct($.total,0),page:Ct($.page,R.page),pageSize:P}},[]),ow=z.default.useCallback(async R=>{let P=Rn(R.pageSize),$=R.documentType==="CONTROLLED_CATALOG"?"controlledBatchHistory":"sanctionBatchHistory",W=pt(Me(await Re.requestData({page:R.page,pageSize:P,parameters:{collection:$}})));return{items:Array.isArray(W.items)?W.items:[],total:Ct(W.total,0),page:Ct(W.page,R.page),pageSize:P}},[]),Qn=z.default.useCallback(async(R,P)=>{R==="controlledGoods"?v.current=P:g.current=P;let $=Rn(P.pageSize),W=o.current,X=W.begin();ie(!0);try{let ye=async ft=>pt(Me(await Re.requestData({page:ft,pageSize:$,parameters:{collection:R,filters:yn(P.filters),batchId:P.batchId,refreshNonce:$y()}}))),Le=P.page,Qe=await ye(Le),kr=Ct(Qe.total,0),lo=Math.max(1,Math.ceil(kr/$));if(P.page>lo){if(!W.isLatest(X))return!1;Le=lo,Qe=await ye(lo),kr=Ct(Qe.total,0)}return W.isLatest(X)?(V(ft=>({...ft,[R]:{...ft[R],items:Array.isArray(Qe.items)?Qe.items:[],total:kr,page:Ct(Qe.page,Le),pageSize:$}})),!0):!1}catch(ye){return W.isLatest(X)&&ge({message:ye instanceof Error?`\u67E5\u8BE2\u5931\u8D25\uFF1A${ye.message}`:"\u67E5\u8BE2\u5931\u8D25",tone:"error"}),!1}finally{W.finish(X),ie(W.activeCount()>0)}},[]),Ik=z.default.useCallback(async()=>{try{await Kn("clear_controlled_catalog",{},{suppressRefresh:!0}),St(!1),V(R=>({...R,controlledGoods:{...R.controlledGoods,items:[],total:0,page:1},controlledBatches:{...R.controlledBatches,items:[],total:0,page:1}})),ge({message:"\u7BA1\u63A7\u5546\u54C1\u76EE\u5F55\u5DF2\u6E05\u7A7A",tone:"success"}),await Qn("controlledGoods",{page:1,pageSize:v.current.pageSize,filters:v.current.filters})}catch(R){ge({message:R instanceof Error?`\u7BA1\u63A7\u5546\u54C1\u76EE\u5F55\u6E05\u7A7A\u5931\u8D25\uFF1A${R.message}`:"\u7BA1\u63A7\u5546\u54C1\u76EE\u5F55\u6E05\u7A7A\u5931\u8D25",tone:"error"})}},[Kn,Qn]),Nk=z.default.useCallback(async()=>{try{await Kn("clear_sanction_catalog",{},{suppressRefresh:!0}),oo(!1),V(R=>({...R,sanctionedCompanies:{...R.sanctionedCompanies,items:[],total:0,page:1},sanctionBatches:{...R.sanctionBatches,items:[],total:0,page:1}})),ge({message:"\u516C\u53F8\u5236\u88C1\u76EE\u5F55\u5DF2\u6E05\u7A7A",tone:"success"}),await Qn("sanctionedCompanies",{page:1,pageSize:g.current.pageSize,filters:g.current.filters})}catch(R){ge({message:R instanceof Error?`\u516C\u53F8\u5236\u88C1\u76EE\u5F55\u6E05\u7A7A\u5931\u8D25\uFF1A${R.message}`:"\u516C\u53F8\u5236\u88C1\u76EE\u5F55\u6E05\u7A7A\u5931\u8D25",tone:"error"})}},[Kn,Qn]),aw=z.default.useCallback(async(R,P)=>Ke(async()=>Gt(Me(await Re.executeAction("resolve_stalled_catalog_import",{taskId:R,decision:P})))),[Ke]),Lp=z.default.useCallback(async R=>{x.current=R;let P=Rn(R.pageSize),$=c.current,W=r.current,X=$.begin();ie(!0);try{let ye=pt(Me(await Re.requestData({page:R.page,pageSize:P,parameters:{collection:"monthlyRates"}})));if(!$.commit(X)||!Y0(W,r.current,n.current))return!1;let Le={page:Ct(ye.page,R.page),pageSize:P};return b.current=Le,x.current=Le,V(Qe=>({...Qe,settings:Dr({summary:{settings:{...Qe.settings,rates:{...ye,pageSize:P}}}}).settings})),!0}catch(ye){return $.isLatest(X)&&ge({message:ye instanceof Error?`\u6708\u5EA6\u6C47\u7387\u52A0\u8F7D\u5931\u8D25\uFF1A${ye.message}`:"\u6708\u5EA6\u6C47\u7387\u52A0\u8F7D\u5931\u8D25",tone:"error"}),!1}finally{$.finish(X),ie($.activeCount()+o.current.activeCount()+l.current.activeCount()>0)}},[]),_p=z.default.useCallback(async(R,P)=>{y.current={collection:R,query:P};let $=my(R,P);return $?await jt($,P.page,P.pageSize,P.filters):!1},[jt]),as=z.default.useCallback(async R=>(f.current=R,await jt({type:"page",page:"customer-contract-review"},R.page,R.pageSize,R.filters)),[jt]),Pk=z.default.useCallback(R=>{f.current=R},[]),Fp=z.default.useCallback(async R=>{let P=By(R,n.current);if(P==="controlledGoods"){await Qn("controlledGoods",v.current);return}if(P==="sanctionedCompanies"){await Qn("sanctionedCompanies",g.current);return}if(P==="procurement"){let $=AD(y.current,n.current);$&&await _p($.collection,$.query);return}P==="customerContracts"&&await as(f.current)},[Qn,as,_p]);Ky.current=Fp;let Dk=z.default.useCallback(async R=>{let P=zy(R);P&&Ip.current.add(P),await ht(),await Fp(R)},[ht,Fp]);ns.current=Dk;let Ok=z.default.useCallback(R=>w.current.register(R),[]),Lk=z.default.useCallback(()=>{let R=n.current.type==="page"&&n.current.page==="customer-contract-review";return R&&w.current.cancelCurrent(),L1({isActive:()=>R,latestQuery:()=>f.current,query:as})},[as]),_k=z.default.useCallback(async(R,P)=>{await jt(n.current,P.page,P.pageSize,P.filters)},[jt]),Ho=z.default.useCallback(async(R,P)=>{let $=Rn(P.pageSize);if(R==="salesFileOrders")return await jt({type:"page",page:"sales-files"},P.page,$,P.filters);p.current={...P,pageSize:$};let W=sm(P.parameters);return d.current=W,await Z0({gate:u.current,key:W,request:async()=>pt(Me(await Re.requestData({page:P.page,pageSize:$,parameters:{collection:R,...P.parameters,filters:yn(P.filters)}}))),isCurrent:()=>d.current===W,commit:X=>V(ye=>({...ye,generatedFiles:{...X,items:Array.isArray(X.items)?X.items:[],total:Ct(X.total,0),page:Ct(X.page,P.page),pageSize:$}})),onError:X=>ge({message:X instanceof Error?`\u5386\u53F2\u751F\u6210\u6587\u4EF6\u52A0\u8F7D\u5931\u8D25\uFF1A${X.message}`:"\u5386\u53F2\u751F\u6210\u6587\u4EF6\u52A0\u8F7D\u5931\u8D25",tone:"error"}),onStart:()=>ie(!0),onFinish:()=>ie(u.current.activeCount()+o.current.activeCount()+l.current.activeCount()+S.current.activeCount()>0)})},[jt]),dc=z.default.useCallback(()=>({isActive:()=>n.current.type==="page"&&n.current.page==="sales-files"&&h.current,latestQuery:()=>p.current,query:R=>Ho("generatedFiles",R),onBusyChange:ne}),[Ho]),pc=z.default.useCallback(()=>({isActive:()=>n.current.type==="page"&&n.current.page==="settings"&&C.current,latestQuery:()=>x.current,query:Lp,onBusyChange:re}),[Lp]),Fk=z.default.useCallback(R=>{h.current=R,R&&m.current.activate(dc())},[dc]),Mk=z.default.useCallback(R=>{C.current=R,R&&k.current.activate(pc())},[pc]),Bk=z.default.useCallback(()=>m.current.reconcile(dc()),[dc]),zk=z.default.useCallback(()=>k.current.reconcile(pc()),[pc]),sw=z.default.useCallback(async R=>{let P={...R,pageSize:Rn(R.pageSize)},$=S.current,W=$.begin(P);ie(!0),Xy(null);try{let X=pt(Me(await Re.requestData({page:P.page,pageSize:P.pageSize,parameters:{collection:"analytics",filters:yn(P.filters)}})));if(!$.commit(W))return;D($.committed()),V(ye=>({...ye,analytics:Dr({summary:{analytics:X}}).analytics}))}catch(X){if(!$.isLatest(W))return;let ye=X instanceof Error?X.message:"\u7EDF\u8BA1\u67E5\u8BE2\u5931\u8D25";D({...$.committed()}),Xy(ye),ge({message:`\u7EDF\u8BA1\u67E5\u8BE2\u5931\u8D25\uFF1A${ye}`,tone:"error"})}finally{$.finish(W),ie($.activeCount()+o.current.activeCount()+l.current.activeCount()>0)}},[rs]),Uk=z.default.useCallback(async R=>{let P=Rn(R.pageSize),$=pt(Me(await Re.requestData({page:R.page,pageSize:P,parameters:{collection:"analyticsDetails",kind:R.kind,categoryKey:R.categoryKey,filters:yn(R.filters)}})));return OD($,R.page,P)},[]),Gk=z.default.useCallback(async R=>{try{await Ke(async()=>{let $={filters:S.current.committed().filters,format:"XLSX"},W=Gt(Me(await Re.executeAction("export_analytics",$)));if(W.success===!1)throw new Error(Kt(W)||"\u5206\u6790\u5BFC\u51FA\u5931\u8D25");lk(W.data),ge({message:"\u5206\u6790\u6570\u636E\u5BFC\u51FA\u6210\u529F",tone:"success"})})}catch(P){ge({message:P instanceof Error?P.message:"\u5206\u6790\u5BFC\u51FA\u5931\u8D25",tone:"error"})}},[Ke]),Hk=z.default.useCallback(R=>{let P=R.action;if(P.kind==="CUSTOMER_CONTRACT_REVIEW"){if(!P.importTaskId){ge({message:"\u5BA2\u6237\u5408\u540C\u5F85\u5BA1\u4EFB\u52A1\u7F3A\u5C11\u4EFB\u52A1\u6807\u8BC6",tone:"error"});return}os({id:P.importTaskId,documentType:"CUSTOMER_CONTRACT",status:"AWAITING_REVIEW",sourceFileName:R.referenceNo}).catch($=>ge({message:$ instanceof Error?$.message:"\u5408\u540C\u5BA1\u6838\u4EFB\u52A1\u6253\u5F00\u5931\u8D25",tone:"error"}));return}if(P.kind==="PURCHASE_CONTRACT_REVIEW"){if(!P.importTaskId){ge({message:"\u91C7\u8D2D\u5408\u540C\u5F85\u5BA1\u4EFB\u52A1\u7F3A\u5C11\u4EFB\u52A1\u6807\u8BC6",tone:"error"});return}os({id:P.importTaskId,documentType:"PURCHASE_CONTRACT",status:"AWAITING_REVIEW",sourceFileName:R.referenceNo}).catch($=>ge({message:$ instanceof Error?$.message:"\u5408\u540C\u5BA1\u6838\u4EFB\u52A1\u6253\u5F00\u5931\u8D25",tone:"error"}));return}if(P.kind==="SALES_FILE_REVIEW"){if(!P.customerContractId||!P.purchaseOrderId||!P.salesOrderNoSnapshot||!P.fileType||!P.fileName||!P.storageFileId||P.editVersion==null||!P.generatedAt){ge({message:"\u9500\u552E\u6587\u4EF6\u590D\u6838\u6570\u636E\u4E0D\u5B8C\u6574",tone:"error"});return}nc({id:R.id,customerContractId:P.customerContractId,purchaseOrderId:P.purchaseOrderId,salesOrderNoSnapshot:P.salesOrderNoSnapshot,fileType:P.fileType,fileName:P.fileName,storageFileId:P.storageFileId,editVersion:P.editVersion,generatedAt:P.generatedAt});return}if(P.kind==="PURCHASE_ORDER_VIEW"&&P.supplierId&&P.purchaseOrderId){Wn.current({type:"procurement",level:"lines",supplierId:P.supplierId,orderId:P.purchaseOrderId});return}if(P.kind==="SALES_ORDER_VIEW"){Wn.current({type:"sales",level:"lines",customerId:P.customerId,orderKey:`${P.customerContractId}:${P.purchaseOrderId}`});return}ge({message:"\u5F53\u524D\u660E\u7EC6\u7F3A\u5C11\u53EF\u8DF3\u8F6C\u7684\u4E1A\u52A1\u6807\u8BC6",tone:"error"})},[os,ge]),jk=z.default.useCallback(async R=>Ke(async()=>{let P=Gt(Me(await Re.executeAction("save_settings",R)));if(P.success===!1)throw new Error(Kt(P)||"\u8BBE\u7F6E\u4FDD\u5B58\u5931\u8D25");await jt({type:"page",page:"settings"},b.current.page,b.current.pageSize)}),[jt,Ke]),$k=z.default.useCallback(async R=>Ke(async()=>{let P=Gt(Me(await Re.executeAction("restore_settings_default",R)));if(P.success===!1)throw new Error(Kt(P)||"\u6062\u590D\u7CFB\u7EDF\u9ED8\u8BA4\u5931\u8D25");await jt({type:"page",page:"settings"},b.current.page,b.current.pageSize)}),[jt,Ke]),Vk=z.default.useCallback(async(R,P={})=>Ke(async()=>{let $=Gt(Me(await Re.executeAction("delete_settings_rate",R)));if($.success===!1)throw new Error(Kt($)||"\u6708\u5EA6\u6C47\u7387\u5220\u9664\u5931\u8D25");if(P.suppressRefresh)return;let{page:W,pageSize:X}=b.current,ye=q0(W,X,_.settings.rates.total);await jt({type:"page",page:"settings"},ye,X)}),[_.settings.rates.total,jt,Ke]),Wk=z.default.useCallback(async R=>Ke(async()=>{let P=Gt(Me(await Re.executeFileAction("upload_company_logo",R,{})));if(P.success===!1||!P.data?.logoFileId)throw new Error(Kt(P)||"\u516C\u53F8 Logo \u4E0A\u4F20\u5931\u8D25");return P.data.logoFileId}),[Ke]),Kk=z.default.useCallback(async R=>Ke(async()=>{let P=Gt(Me(await Re.executeAction("discard_company_logo",{logoFileId:R})));if(P.success===!1)throw new Error(Kt(P)||"\u516C\u53F8 Logo \u8349\u7A3F\u6E05\u7406\u5931\u8D25")}),[Ke]),Qk=z.default.useCallback(R=>{Qy(R),R&&(Wn.current({type:"page",page:"sales-files"}),Ho("generatedFiles",{page:1,pageSize:20,filters:{},parameters:{customerContractId:R.customerContractId,purchaseOrderId:R.purchaseOrderId}}))},[Ho]),Yk=z.default.useCallback(R=>{let P=d.current;P&&u.current.invalidate(P),d.current=sm(R??void 0),Qy(R)},[]),hc=z.default.useCallback(R=>{if(r.current+=1,c.current.invalidate(),f.current=O1(R)??f.current,R.type==="page"&&R.page==="settings"&&(x.current={page:1,pageSize:20}),n.current=R,e(R),R.type==="page"&&R.page==="controlled-goods"){Qn("controlledGoods",v.current);return}if(R.type==="page"&&R.page==="sanctioned-companies"){Qn("sanctionedCompanies",g.current);return}jt(R)},[jt,Qn]);Wn.current=hc;let _t=kD(t),Mp=t.type==="procurement"?bD[t.level]:vD[_t],Xk=z.default.useMemo(()=>RD(_.importTasks.items,os,qy,rw),[_.importTasks.items,rw,os,qy]),Zk=_t==="procurement"&&t.type==="procurement"?t.level==="suppliers"?(0,Pe.jsx)(ck,{label:"\u4E0A\u4F20\u91C7\u8D2D\u5408\u540C",busy:J||ue,onFile:R=>Go("upload_purchase_contract",R,{documentType:"PURCHASE_CONTRACT"}),onError:R=>ge({message:R,tone:"error"})}):void 0:_t==="customer-contract-review"?(0,Pe.jsx)(ck,{label:"\u4E0A\u4F20\u5BA2\u6237\u5408\u540C",busy:J||ue||Q,onFile:R=>Go("upload_customer_contract",R,{documentType:"CUSTOMER_CONTRACT"}),onError:R=>ge({message:R,tone:"error"})}):void 0;return(0,Pe.jsxs)(Pe.Fragment,{children:[(0,Pe.jsxs)(Rx,{route:t,breadcrumbs:Ex(t),title:Mp.title,subtitle:_t==="home"?void 0:Mp.subtitle,topbarActions:(0,Pe.jsx)(mx,{items:Xk,busy:J||ue,onBulkDelete:Sk,onActionError:ao}),commands:_t==="controlled-goods"||_t==="sanctioned-companies"?(0,Pe.jsx)(sC,{busy:J||ue,onUpload:()=>qe("upload"),onCreate:()=>qe("create"),onHistory:()=>qe("history"),onClear:_t==="controlled-goods"?()=>St(!0):()=>oo(!0)}):Zk,busy:J||ue,onRouteChange:hc,onRefresh:()=>{xi()},children:[_t==="home"&&(0,Pe.jsx)(vC,{}),_t==="controlled-goods"&&(0,Pe.jsx)(oC,{collection:_.controlledGoods,batches:_.controlledBatches.items,busy:J||ue,onAction:Kn,onFileAction:nw,onRefresh:xi,onQuery:R=>Qn("controlledGoods",R),onIssueQuery:iw,onHistoryQuery:ow,tasks:_.importTasks.items,onResolveStalledImport:aw,onRefreshTasks:ht,importCompletion:xr.CONTROLLED_CATALOG,importFailure:Vy.CONTROLLED_CATALOG,onRetryImport:ac,command:me,onCommandHandled:()=>qe(null),onNotify:ge}),_t==="sanctioned-companies"&&(0,Pe.jsx)(aC,{collection:_.sanctionedCompanies,batches:_.sanctionBatches.items,busy:J||ue,onAction:Kn,onFileAction:nw,onRefresh:xi,onQuery:R=>Qn("sanctionedCompanies",R),onIssueQuery:iw,onHistoryQuery:ow,tasks:_.importTasks.items,onResolveStalledImport:aw,onRefreshTasks:ht,importCompletion:xr.SANCTION_CATALOG,importFailure:Vy.SANCTION_CATALOG,onRetryImport:ac,command:me,onCommandHandled:()=>qe(null),onNotify:ge}),_t==="procurement"&&t.type==="procurement"&&(0,Pe.jsx)(y1,{route:t,suppliers:_.suppliers,purchaseOrders:_.purchaseOrders,purchaseLines:_.purchaseLines,supplier:Np.supplier,order:Np.order,metrics:Np.metrics,importTask:ec,reviewDraft:Pp,busy:J||ue,onQuery:_p,onAction:Kn,onFileAction:Go,onRouteChange:hc,onRetryImport:sc,onReviewClose:Rk,onNotify:ge}),_t==="customer-contract-review"&&(0,Pe.jsx)(_1,{collection:_.customerContracts,busy:J||ue||Q,importReviewState:zo,onQuery:as,onAction:Kn,onFileAction:Go,onReanalyze:kk,onLoadReview:Tk,onReviewClose:Ek,reanalysisState:yk,onRetryImport:sc,onQueryRequested:Pk,onQueryCancelRegistration:Ok,onBulkReconcile:Lk,onBulkBusyChange:F,onNotify:ge}),_t==="sales"&&t.type==="sales"&&(0,Pe.jsx)(G1,{route:t,customers:_.salesCustomers,orders:_.salesOrders,lines:_.salesLines,busy:J||ue,onQuery:_k,onAction:Kn,onRouteChange:hc,onOpenFiles:Qk,onNotify:ge}),_t==="sales-files"&&(0,Pe.jsx)(X1,{orders:_.salesFileOrders,history:_.generatedFiles,activeOrder:tc,visualPrototypeState:H,onPrototypeStateClose:()=>M(void 0),banks:_.settings.banks,busy:J||ue,externalBulkBusy:ee||le,onQuery:Ho,onBulkReconcile:Bk,onBulkBusyChange:B,onBulkViewActiveChange:Fk,onAction:Ck,onOpenSalesOrder:Yk,onDownload:R=>Kn("download_sales_file",{id:R.id}).then(()=>{}),onEdit:async R=>nc(R),onNotify:ge}),_t==="analytics"&&(0,Pe.jsx)(AS,{data:_.analytics,committedQuery:E,detailRefreshKey:vk,busy:J||ue,error:wk,onQuery:sw,onDetailQuery:Uk,onDetailAction:Hk,onExportXlsx:Gk}),_t==="settings"&&(0,Pe.jsx)(NS,{data:_.settings,busy:J||ue,externalBulkBusy:U||ae,onSave:jk,onRestoreDefault:$k,onDeleteRate:Vk,onRateQuery:Lp,onBulkReconcile:zk,onBulkBusyChange:q,onBulkViewActiveChange:Mk,onUploadLogo:Wk,onDiscardLogo:Kk,onNotify:ge}),!["home","controlled-goods","sanctioned-companies","procurement","customer-contract-review","sales","sales-files","analytics","settings"].includes(_t)&&(0,Pe.jsxs)("section",{className:"tcw-page-placeholder","data-page":_t,children:[(0,Pe.jsx)(Je,{children:"\u9875\u9762\u57FA\u7840\u7ED3\u6784\u5DF2\u5C31\u7EEA\uFF0C\u4E1A\u52A1\u5185\u5BB9\u5C06\u5728\u5BF9\u5E94\u9875\u9762\u6A21\u5757\u4E2D\u52A0\u8F7D\u3002"}),(0,Pe.jsx)("div",{className:"tcw-placeholder-body","aria-label":`${Mp.title}\u9875\u9762\u5185\u5BB9`})]})]}),(0,Pe.jsx)(sx,{visible:J||ue||Q,label:ue||Q?"\u64CD\u4F5C\u5904\u7406\u4E2D":"\u6570\u636E\u52A0\u8F7D\u4E2D"}),(0,Pe.jsx)(lx,{items:Dp,onClose:xk}),Yy&&(0,Pe.jsx)(UD,{file:Yy,runMutation:Ke,onNotify:ge,onClose:()=>nc(null),onSaved:()=>{nc(null),_t==="analytics"?(bk(R=>R+1),sw(S.current.committed())):tc&&Ho("generatedFiles",{page:1,pageSize:20,filters:{},parameters:{customerContractId:tc.customerContractId,purchaseOrderId:tc.purchaseOrderId}})}}),(0,Pe.jsx)(Bt,{open:Ot,title:"\u786E\u8BA4\u6E05\u7A7A\u7BA1\u63A7\u5546\u54C1\u76EE\u5F55",message:"\u5C06\u6C38\u4E45\u5220\u9664\u5F53\u524D\u7EC4\u7EC7\u5168\u90E8\u7BA1\u63A7\u5546\u54C1\uFF0C\u65E0\u6CD5\u6062\u590D\u3002\u5236\u88C1\u76EE\u5F55\u3001\u91C7\u8D2D\u8BA2\u5355\u548C\u5176\u4ED6\u4E1A\u52A1\u6570\u636E\u4E0D\u4F1A\u88AB\u5220\u9664\u3002",confirmText:"\u786E\u8BA4\u6E05\u7A7A",danger:!0,busy:ue,onCancel:()=>{ue||St(!1)},onConfirm:()=>{Ik()}}),(0,Pe.jsx)(Bt,{open:yi,title:"\u786E\u8BA4\u6E05\u7A7A\u516C\u53F8\u5236\u88C1\u76EE\u5F55",message:"\u5C06\u6C38\u4E45\u5220\u9664\u5F53\u524D\u7EC4\u7EC7\u5168\u90E8\u5236\u88C1\u516C\u53F8\u8BB0\u5F55\uFF0C\u65E0\u6CD5\u6062\u590D\u3002\u7BA1\u63A7\u5546\u54C1\u76EE\u5F55\u3001\u91C7\u8D2D\u8BA2\u5355\u548C\u5176\u4ED6\u4E1A\u52A1\u6570\u636E\u4E0D\u4F1A\u88AB\u5220\u9664\u3002",confirmText:"\u786E\u8BA4\u6E05\u7A7A",danger:!0,busy:ue,onCancel:()=>{ue||oo(!1)},onConfirm:()=>{Nk()}})]})}function kD(t){return t.type==="procurement"?"procurement":t.type==="sales"?"sales":t.page}function nk(t){return t.type!=="procurement"?null:t.level==="suppliers"?{collection:"suppliers",query:{page:1,pageSize:20,filters:{}}}:t.level==="orders"?{collection:"purchaseOrders",query:{page:1,pageSize:20,filters:{reviewStatus:"PENDING"},parameters:{supplierId:t.supplierId,reviewStatus:"PENDING"}}}:{collection:"purchaseLines",query:{page:1,pageSize:20,filters:{reviewStatus:"PENDING"},parameters:{supplierId:t.supplierId,purchaseOrderId:t.orderId,reviewStatus:"PENDING"}}}}function AD(t,e){if(e.type!=="procurement")return null;if(!t)return nk(e);let n=my(t.collection,t.query);return n&&TD(n,e)?t:nk(e)}function TD(t,e){return JSON.stringify(t)===JSON.stringify(e)}function RD(t,e,n,r){return[...t].filter(i=>["QUEUED","EXTRACTING","AI_PARSING","VALIDATING","PERSISTING","SUCCEEDED","FAILED","TIMED_OUT"].includes(i.status)).sort((i,o)=>String(o.updatedAt??o.queuedAt??o.createdAt??"").localeCompare(String(i.updatedAt??i.queuedAt??i.createdAt??""))).map(i=>{let o=rk(i.status);return{id:i.id,title:i.sourceFileName||jy(i.documentType),subtitle:ID(i),status:i.status,statusLabel:ED(i.status),tone:o,updatedAt:ND(i.updatedAt??i.queuedAt??i.createdAt),progressPercent:QS(i),onSelect:()=>n(i),deleteLabel:rk(i.status)==="running"?"\u53D6\u6D88\u5E76\u5220\u9664\u4EFB\u52A1":"\u5220\u9664\u4EFB\u52A1",onDelete:()=>r(i),...i.status==="FAILED"||i.status==="TIMED_OUT"?{actionLabel:"\u91CD\u8BD5",onAction:()=>e(i)}:{}}})}function rk(t){return t==="SUCCEEDED"?"success":t==="FAILED"||t==="TIMED_OUT"?"failed":t==="QUEUED"||t==="EXTRACTING"||t==="AI_PARSING"||t==="VALIDATING"||t==="PERSISTING"?"running":"idle"}function ED(t){return{QUEUED:"\u6392\u961F\u4E2D",EXTRACTING:"\u63D0\u53D6\u4E2D",AI_PARSING:"AI \u89E3\u6790\u4E2D",VALIDATING:"\u6821\u9A8C\u4E2D",PERSISTING:"\u5165\u5E93\u4E2D",SUCCEEDED:"\u6210\u529F",FAILED:"\u5931\u8D25",TIMED_OUT:"\u8D85\u65F6",CANCELED:"\u5DF2\u53D6\u6D88"}[t]??t}function ID(t){let e=jy(t.documentType);if(t.documentType!=="CONTROLLED_CATALOG")return e;let n={OVERSEAS_SANCTION:"\u6D77\u5916\u5236\u88C1",DUAL_USE:"\u519B\u6C11\u4E24\u7528\u7269\u8D44"}[t.catalogType??""];return n?`${e} \xB7 ${n}`:e}function jy(t){return{CONTROLLED_CATALOG:"\u7BA1\u63A7\u5546\u54C1\u76EE\u5F55",SANCTION_CATALOG:"\u516C\u53F8\u5236\u88C1\u76EE\u5F55",PURCHASE_CONTRACT:"\u91C7\u8D2D\u5408\u540C\u89E3\u6790",CUSTOMER_CONTRACT:"\u5BA2\u6237\u5408\u540C\u89E3\u6790"}[t]??t}function ND(t){if(typeof t!="string"||!t)return null;let e=new Date(t);return Number.isFinite(e.getTime())?new Intl.DateTimeFormat("zh-CN",{timeZone:"Asia/Shanghai",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",hour12:!1}).format(e).replace(/\//g,"/"):t}function ik(t,e,n){let r=Ap(t.importTasks.items,e.importTasks.items,n);return{...e,importTasks:{...e.importTasks,items:r,total:Math.max(Ct(e.importTasks.total,0),e.importTasks.items.length,t.importTasks.items.length,r.length),page:Ct(e.importTasks.page,Ct(t.importTasks.page,1)),pageSize:e.importTasks.pageSize??t.importTasks.pageSize??100}}}function PD(t){return t.some(e=>{let n=e&&typeof e=="object"&&!Array.isArray(e)?e:null;return n?io(n):!1})}function DD(t,e,n){let r=Rn(e),i=n.orderDate,o=i&&typeof i=="object"&&!Array.isArray(i)?i:null,a=o?{from:gi(o.from),to:gi(o.to)}:void 0;return{page:t,pageSize:r,filters:a?.from||a?.to?{orderDate:a}:{}}}function gi(t){return(typeof t=="string"?t.trim():"")||void 0}function OD(t,e,n){let r=Array.isArray(t.items)?t.items.map(LD):[],i=Math.max(0,Ct(t.total,r.length)),o=Math.max(1,Ct(t.pageCount,Math.ceil(i/n)));return{items:r,total:i,page:Math.max(1,Ct(t.page,e)),pageSize:n,pageCount:o}}function LD(t){let e=pt(t),n=OS.find(r=>r===e.categoryKey)??(e.categoryKey==="risk-order"?"risk-order":null);if(!n)throw new Error("\u5206\u6790\u660E\u7EC6\u4E1A\u52A1\u5206\u7C7B\u65E0\u6548");return{id:Ht(e.id,"\u660E\u7EC6\u6807\u8BC6"),categoryKey:n,categoryLabel:Ht(e.categoryLabel,"\u4E1A\u52A1\u5206\u7C7B"),referenceNo:Ht(e.referenceNo,"\u4E1A\u52A1\u7F16\u53F7"),...gi(e.subjectName)?{subjectName:gi(e.subjectName)}:{},...gi(e.businessDate)?{businessDate:gi(e.businessDate)}:{},...gi(e.reason)?{reason:gi(e.reason)}:{},...e.amountCny==null?{}:{amountCny:Ht(e.amountCny,"\u98CE\u9669\u91D1\u989D")},status:Ht(e.status,"\u72B6\u6001"),action:_D(e.action)}}function _D(t){let e=pt(t),n=Ht(e.id,"\u64CD\u4F5C\u6807\u8BC6");if(e.kind==="CUSTOMER_CONTRACT_REVIEW")return{kind:e.kind,label:"\u5BA1\u6838",id:n,importTaskId:Ht(e.importTaskId,"\u5BA2\u6237\u5408\u540C\u4EFB\u52A1\u6807\u8BC6")};if(e.kind==="PURCHASE_CONTRACT_REVIEW")return{kind:e.kind,label:"\u5BA1\u6838",id:n,importTaskId:Ht(e.importTaskId,"\u91C7\u8D2D\u5408\u540C\u4EFB\u52A1\u6807\u8BC6")};if(e.kind==="PURCHASE_ORDER_VIEW")return{kind:e.kind,label:ok(e.label),id:n,purchaseOrderId:Ht(e.purchaseOrderId,"\u91C7\u8D2D\u8BA2\u5355\u6807\u8BC6"),supplierId:Ht(e.supplierId,"\u4F9B\u5E94\u5546\u6807\u8BC6")};if(e.kind==="SALES_ORDER_VIEW")return{kind:e.kind,label:ok(e.label),id:n,customerId:Ht(e.customerId,"\u5BA2\u6237\u6807\u8BC6"),customerContractId:Ht(e.customerContractId,"\u5BA2\u6237\u5408\u540C\u6807\u8BC6"),purchaseOrderId:Ht(e.purchaseOrderId,"\u91C7\u8D2D\u8BA2\u5355\u6807\u8BC6")};if(e.kind==="SALES_FILE_REVIEW"){let r=["PI","CI","PL","CUSTOMS_DECLARATION"].find(o=>o===e.fileType),i=Number(e.editVersion);if(!r||!Number.isInteger(i)||i<0)throw new Error("\u9500\u552E\u6587\u4EF6\u590D\u6838\u64CD\u4F5C\u6570\u636E\u65E0\u6548");return{kind:e.kind,label:"\u590D\u6838",id:n,customerContractId:Ht(e.customerContractId,"\u5BA2\u6237\u5408\u540C\u6807\u8BC6"),purchaseOrderId:Ht(e.purchaseOrderId,"\u91C7\u8D2D\u8BA2\u5355\u6807\u8BC6"),salesOrderNoSnapshot:Ht(e.salesOrderNoSnapshot,"\u9500\u552E\u8BA2\u5355\u7F16\u53F7"),fileType:r,fileName:Ht(e.fileName,"\u6587\u4EF6\u540D"),storageFileId:Ht(e.storageFileId,"\u5B58\u50A8\u6587\u4EF6\u6807\u8BC6"),editVersion:i,generatedAt:Ht(e.generatedAt,"\u751F\u6210\u65F6\u95F4")}}throw new Error("\u5206\u6790\u660E\u7EC6\u64CD\u4F5C\u7C7B\u578B\u65E0\u6548")}function ok(t){if(t==="\u67E5\u770B"||t==="\u8DDF\u8FDB")return t;throw new Error("\u5206\u6790\u660E\u7EC6\u64CD\u4F5C\u540D\u79F0\u65E0\u6548")}function Ht(t,e){let n=gi(t);if(!n)throw new Error(`${e}\u4E0D\u80FD\u4E3A\u7A7A`);return n}function Gt(t){return t&&typeof t=="object"&&!Array.isArray(t)?t:{success:!0,data:t}}function Kt(t){if(typeof t.message=="string")return t.message;if(t.message&&typeof t.message=="object"){let e=t.message;return String(e.zh_Hans??e.en_US??"")}return""}function Ql(t,e){return new Tp(Kt(t)||e,t.error?.code)}function pt(t){return t&&typeof t=="object"&&!Array.isArray(t)?t:{}}function FD(t){let e={...pt(t)};return delete e.collection,delete e.filters,delete e.taskId,delete e.runId,delete e.customerContractId,delete e.purchaseOrderId,e}function ak(t){return{page:1,pageSize:100,search:$y(),parameters:FD(t)}}function MD(){return{page:1,pageSize:100,parameters:{collection:"importTasks",filters:"{}",refreshNonce:$y()}}}function $y(){return tk+=1,`__tcw_summary_refresh__:${Date.now()}:${tk}`}function Ct(t,e){let n=Number(t);return Number.isFinite(n)?n:e}function sk(t){let e=pt(t);if(!e.task||typeof e.task!="object")throw new Error("\u8F6E\u8BE2\u54CD\u5E94\u7F3A\u5C11\u5BFC\u5165\u4EFB\u52A1");return e}function lk(t){let e=pt(t);if(typeof e.base64!="string"||typeof e.fileName!="string")throw new Error("\u4E0B\u8F7D\u54CD\u5E94\u7F3A\u5C11\u6587\u4EF6\u5185\u5BB9");let n=atob(e.base64),r=Uint8Array.from(n,a=>a.charCodeAt(0)),i=URL.createObjectURL(new Blob([r],{type:typeof e.mimeType=="string"?e.mimeType:"application/octet-stream"})),o=document.createElement("a");o.href=i,o.download=e.fileName,o.click(),setTimeout(()=>URL.revokeObjectURL(i),xD)}function ck({label:t,busy:e,onFile:n,onError:r}){return(0,Pe.jsxs)("label",{className:"tcw-button tcw-button--primary",children:[(0,Pe.jsx)("i",{className:"ri-upload-cloud-2-line","aria-hidden":"true"}),t,(0,Pe.jsx)("input",{className:"tcw-procurement-file-input",type:"file",accept:".pdf,.doc,.docx,.xls,.xlsx,.png,.jpg,.jpeg,.webp",disabled:e,onChange:i=>{let o=i.target.files?.[0];i.currentTarget.value="",o&&n(o).catch(a=>r?.(a instanceof Error?a.message:"\u5408\u540C\u4E0A\u4F20\u5931\u8D25"))}})]})}async function Hy(t,e,n){if(t.sourceFileUrl||!e.sourceFileId)return t;let r=await fk(e.sourceFileId,"purchase",n);return r.previewKind==="URL"?{...t,sourceFileUrl:r.url}:r.previewKind==="TEXT"?{...t,sourceFileUrl:BD(e.sourceFileName??"\u91C7\u8D2D\u5408\u540C\u6E90\u6587\u4EF6",r.content)}:t}async function Yl(t,e){if(t.sourcePreview.kind==="URL"||!t.sourceFileId)return t;let n=await fk(t.sourceFileId,"customer",e);return n.previewKind==="URL"?{...t,sourcePreview:{kind:"URL",url:n.url}}:n.previewKind==="TEXT"?{...t,sourcePreview:{kind:"TEXT",content:n.content}}:{...t,sourcePreview:{kind:"UNAVAILABLE",message:n.message}}}async function fk(t,e,n){let r=Gt(Me(await Re.executeAction("preview_source_file",{sourceFileId:t})));if(r.success===!1)throw new Error(Kt(r)||"\u6E90\u6587\u4EF6\u52A0\u8F7D\u5931\u8D25");let i=pt(r.data);if(i.previewKind==="TEXT"&&typeof i.content=="string")return{previewKind:"TEXT",content:i.content};if(i.previewKind==="URL"&&typeof i.base64=="string"&&typeof i.mimeType=="string"){let o=atob(i.base64),a=Uint8Array.from(o,s=>s.charCodeAt(0));return{previewKind:"URL",url:n.replace(e,URL.createObjectURL(new Blob([a],{type:i.mimeType})))}}if(i.previewKind==="UNAVAILABLE")return{previewKind:"UNAVAILABLE",message:typeof i.message=="string"?i.message:"\u6E90\u6587\u4EF6\u6682\u65E0\u6CD5\u5728\u7EBF\u9884\u89C8"};throw new Error("\u6E90\u6587\u4EF6\u9884\u89C8\u54CD\u5E94\u7C7B\u578B\u65E0\u6548")}function BD(t,e){let n=`<!doctype html><html lang="zh-Hans"><head><meta charset="utf-8"><title>${uk(t)}</title><style>body{margin:0;padding:16px;font:14px/1.7 system-ui,sans-serif;color:#1f2937;background:#fff}pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}</style></head><body><pre>${uk(e)}</pre></body></html>`;return`data:text/html;charset=utf-8,${encodeURIComponent(n)}`}function uk(t){return t.replace(/[&<>"']/g,e=>({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"})[e]??e)}function dk(t){let e=pt(t);if(!e.task||typeof e.task!="object")throw new Error("\u8F6E\u8BE2\u54CD\u5E94\u7F3A\u5C11\u5408\u540C\u5BFC\u5165\u4EFB\u52A1");return e}function pk(t){let e=pt(t);if(!e.run||typeof e.run!="object")throw new Error("\u8F6E\u8BE2\u54CD\u5E94\u7F3A\u5C11\u91CD\u65B0\u5206\u6790\u4EFB\u52A1");return e}async function zD(){let t=window;return t.TradeComplianceExcelEditor?.open?t.TradeComplianceExcelEditor:Kl||(Kl=(async()=>{let e=Gt(Me(await Re.executeAction("load_excel_editor_runtime",{})));if(e.success===!1)throw new Error(Kt(e)||"Excel \u7F16\u8F91\u5668\u8FD0\u884C\u65F6\u52A0\u8F7D\u5931\u8D25");let n=e.data?.script,r=e.data?.css;if(typeof n!="string"||!n.trim()||typeof r!="string")throw new Error("Excel \u7F16\u8F91\u5668\u8FD0\u884C\u65F6\u54CD\u5E94\u4E0D\u5B8C\u6574");let i=document.head.querySelector("style[data-trade-compliance-editor-styles]");i||(i=document.createElement("style"),i.dataset.tradeComplianceEditorStyles="true",i.textContent=r,document.head.appendChild(i));let o=document.body.querySelector("script[data-trade-compliance-editor-runtime]");o||(o=document.createElement("script"),o.dataset.tradeComplianceEditorRuntime="true",o.textContent=n,document.body.appendChild(o));let a=t.TradeComplianceExcelEditor;if(!a?.open)throw new Error("Excel \u7F16\u8F91\u5668\u8FD0\u884C\u65F6\u521D\u59CB\u5316\u5931\u8D25");return a})().catch(e=>{throw document.querySelector("script[data-trade-compliance-editor-runtime]")?.remove(),document.querySelector("style[data-trade-compliance-editor-styles]")?.remove(),Kl=null,e}),Kl)}function UD({file:t,runMutation:e,onClose:n,onSaved:r,onNotify:i}){let o=z.default.useRef(null),a=z.default.useRef(null),[s,l]=z.default.useState(""),[c,u]=z.default.useState(!1),[d,p]=z.default.useState(!1);z.default.useEffect(()=>{let m=!1;return p(!1),(async()=>{try{let f=Gt(Me(await Re.executeAction("download_sales_file",{id:t.id})));if(f.success===!1)throw new Error(Kt(f)||"\u9500\u552E\u6587\u4EF6\u52A0\u8F7D\u5931\u8D25");let v=pt(f.data);if(typeof v.base64!="string"||typeof v.storageFileId!="string"||!Number.isInteger(v.editVersion)||!o.current)throw new Error("\u9500\u552E\u6587\u4EF6\u54CD\u5E94\u7F3A\u5C11\u5DE5\u4F5C\u7C3F\u5185\u5BB9\u6216\u7248\u672C\u4FE1\u606F");let g=await zD(),y=o.current;if(m||!y)return;let w=await g.open({container:y,base64:v.base64,onSave:async b=>{await e(async()=>{let x=Gt(Me(await Re.executeAction("save_edited_sales_file",{id:t.id,base64:b,editVersion:v.editVersion,expectedStorageFileId:v.storageFileId})));if(x.success===!1)throw new Error(Kt(x)||"\u5DE5\u4F5C\u7C3F\u4FDD\u5B58\u5931\u8D25")})}});m?w.dispose():(a.current=w,p(!0))}catch(f){m||l(f instanceof Error?f.message:"Excel \u7F16\u8F91\u5668\u52A0\u8F7D\u5931\u8D25")}})(),()=>{m=!0,a.current?.dispose(),a.current=null}},[t.id,e]);let h=async()=>{if(a.current){u(!0);try{await a.current.save(),i({message:"\u5DE5\u4F5C\u7C3F\u4FDD\u5B58\u6210\u529F",tone:"success"}),r()}catch(m){i({message:m instanceof Error?m.message:"\u5DE5\u4F5C\u7C3F\u4FDD\u5B58\u5931\u8D25",tone:"error"})}finally{u(!1)}}};return(0,Pe.jsxs)("section",{className:"tcw-excel-editor","aria-label":"\u9500\u552E\u6587\u4EF6\u5168\u5C4F\u5BA1\u6838",children:[(0,Pe.jsxs)("header",{children:[(0,Pe.jsx)("strong",{children:t.fileName}),(0,Pe.jsxs)("div",{children:[(0,Pe.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:n,children:[(0,Pe.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u5173\u95ED"]}),(0,Pe.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:c||!d,onClick:()=>{h()},children:[(0,Pe.jsx)("i",{className:"ri-save-line","aria-hidden":"true"}),"\u4FDD\u5B58\u5F53\u524D\u6587\u4EF6"]})]})]}),s&&(0,Pe.jsx)("div",{className:"tcw-editor-error",role:"alert",children:s}),(0,Pe.jsx)("div",{ref:o,className:"tcw-excel-editor-canvas"})]})}var mk=document.getElementById("root");if(!mk)throw new Error("\u7F3A\u5C11\u8FDC\u7A0B\u7EC4\u4EF6\u6302\u8F7D\u8282\u70B9");(0,hk.createRoot)(mk).render((0,Pe.jsx)(SD,{}));})();
21
+ `)){let o=document.createElement("div");o.append(i?document.createTextNode(i):document.createElement("br")),n.append(o)}return e.updateEdited({rect:this.getPDFRect(),popup:this._uiManager.hasCommentManager()||this.hasEditedComment?this.comment:{text:this.#e}}),n}resetAnnotationElement(e){super.resetAnnotationElement(e),e.resetEdited()}},de=class{static PRECISION=1e-4;toSVGPath(){tt("Abstract method `toSVGPath` must be implemented.")}get box(){tt("Abstract getter `box` must be implemented.")}serialize(e,n){tt("Abstract method `serialize` must be implemented.")}static _rescale(e,n,r,i,o,a){a||=new Float32Array(e.length);for(let s=0,l=e.length;s<l;s+=2)a[s]=n+e[s]*i,a[s+1]=r+e[s+1]*o;return a}static _rescaleAndSwap(e,n,r,i,o,a){a||=new Float32Array(e.length);for(let s=0,l=e.length;s<l;s+=2)a[s]=n+e[s+1]*i,a[s+1]=r+e[s]*o;return a}static _translate(e,n,r,i){i||=new Float32Array(e.length);for(let o=0,a=e.length;o<a;o+=2)i[o]=n+e[o],i[o+1]=r+e[o+1];return i}static svgRound(e){return Math.round(e*1e4)}static _normalizePoint(e,n,r,i,o){switch(o){case 90:return[1-n/r,e/i];case 180:return[1-e/r,1-n/i];case 270:return[n/r,1-e/i];default:return[e/r,n/i]}}static _normalizePagePoint(e,n,r){switch(r){case 90:return[1-n,e];case 180:return[1-e,1-n];case 270:return[n,1-e];default:return[e,n]}}static createBezierPoints(e,n,r,i,o,a){return[(e+5*r)/6,(n+5*i)/6,(5*r+o)/6,(5*i+a)/6,(r+o)/2,(i+a)/2]}},Hd=class t{#e;#t=[];#r;#n;#a=[];#i=new Float32Array(18);#o;#s;#c;#l;#p;#d;#h=[];static#g=8;static#f=2;static#u=t.#g+t.#f;constructor({x:e,y:n},r,i,o,a,s=0){this.#e=r,this.#d=o*i,this.#n=a,this.#i.set([NaN,NaN,NaN,NaN,e,n],6),this.#r=s,this.#l=t.#g*i,this.#c=t.#u*i,this.#p=i,this.#h.push(e,n)}isEmpty(){return isNaN(this.#i[8])}#m(){let e=this.#i.subarray(4,6),n=this.#i.subarray(16,18),[r,i,o,a]=this.#e;return[(this.#o+(e[0]-n[0])/2-r)/o,(this.#s+(e[1]-n[1])/2-i)/a,(this.#o+(n[0]-e[0])/2-r)/o,(this.#s+(n[1]-e[1])/2-i)/a]}add({x:e,y:n}){this.#o=e,this.#s=n;let[r,i,o,a]=this.#e,[s,l,c,u]=this.#i.subarray(8,12),d=e-c,p=n-u,h=Math.hypot(d,p);if(h<this.#c)return!1;let m=h-this.#l,f=m/h,v=f*d,g=f*p,y=s,w=l;s=c,l=u,c+=v,u+=g,this.#h?.push(e,n);let b=-g/m,x=v/m,C=b*this.#d,k=x*this.#d;return this.#i.set(this.#i.subarray(2,8),0),this.#i.set([c+C,u+k],4),this.#i.set(this.#i.subarray(14,18),12),this.#i.set([c-C,u-k],16),isNaN(this.#i[6])?(this.#a.length===0&&(this.#i.set([s+C,l+k],2),this.#a.push(NaN,NaN,NaN,NaN,(s+C-r)/o,(l+k-i)/a),this.#i.set([s-C,l-k],14),this.#t.push(NaN,NaN,NaN,NaN,(s-C-r)/o,(l-k-i)/a)),this.#i.set([y,w,s,l,c,u],6),!this.isEmpty()):(this.#i.set([y,w,s,l,c,u],6),Math.abs(Math.atan2(w-l,y-s)-Math.atan2(g,v))<Math.PI/2?([s,l,c,u]=this.#i.subarray(2,6),this.#a.push(NaN,NaN,NaN,NaN,((s+c)/2-r)/o,((l+u)/2-i)/a),[s,l,y,w]=this.#i.subarray(14,18),this.#t.push(NaN,NaN,NaN,NaN,((y+s)/2-r)/o,((w+l)/2-i)/a),!0):([y,w,s,l,c,u]=this.#i.subarray(0,6),this.#a.push(((y+5*s)/6-r)/o,((w+5*l)/6-i)/a,((5*s+c)/6-r)/o,((5*l+u)/6-i)/a,((s+c)/2-r)/o,((l+u)/2-i)/a),[c,u,s,l,y,w]=this.#i.subarray(12,18),this.#t.push(((y+5*s)/6-r)/o,((w+5*l)/6-i)/a,((5*s+c)/6-r)/o,((5*l+u)/6-i)/a,((s+c)/2-r)/o,((l+u)/2-i)/a),!0))}toSVGPath(){if(this.isEmpty())return"";let e=this.#a,n=this.#t;if(isNaN(this.#i[6])&&!this.isEmpty())return this.#y();let r=[];r.push(`M${e[4]} ${e[5]}`);for(let i=6;i<e.length;i+=6)isNaN(e[i])?r.push(`L${e[i+4]} ${e[i+5]}`):r.push(`C${e[i]} ${e[i+1]} ${e[i+2]} ${e[i+3]} ${e[i+4]} ${e[i+5]}`);this.#w(r);for(let i=n.length-6;i>=6;i-=6)isNaN(n[i])?r.push(`L${n[i+4]} ${n[i+5]}`):r.push(`C${n[i]} ${n[i+1]} ${n[i+2]} ${n[i+3]} ${n[i+4]} ${n[i+5]}`);return this.#v(r),r.join(" ")}#y(){let[e,n,r,i]=this.#e,[o,a,s,l]=this.#m();return`M${(this.#i[2]-e)/r} ${(this.#i[3]-n)/i} L${(this.#i[4]-e)/r} ${(this.#i[5]-n)/i} L${o} ${a} L${s} ${l} L${(this.#i[16]-e)/r} ${(this.#i[17]-n)/i} L${(this.#i[14]-e)/r} ${(this.#i[15]-n)/i} Z`}#v(e){let n=this.#t;e.push(`L${n[4]} ${n[5]} Z`)}#w(e){let[n,r,i,o]=this.#e,a=this.#i.subarray(4,6),s=this.#i.subarray(16,18),[l,c,u,d]=this.#m();e.push(`L${(a[0]-n)/i} ${(a[1]-r)/o} L${l} ${c} L${u} ${d} L${(s[0]-n)/i} ${(s[1]-r)/o}`)}newFreeDrawOutline(e,n,r,i,o,a){return new jd(e,n,r,i,o,a)}getOutlines(){let e=this.#a,n=this.#t,r=this.#i,[i,o,a,s]=this.#e,l=new Float32Array((this.#h?.length??0)+2);for(let d=0,p=l.length-2;d<p;d+=2)l[d]=(this.#h[d]-i)/a,l[d+1]=(this.#h[d+1]-o)/s;if(l[l.length-2]=(this.#o-i)/a,l[l.length-1]=(this.#s-o)/s,isNaN(r[6])&&!this.isEmpty())return this.#A(l);let c=new Float32Array(this.#a.length+24+this.#t.length),u=e.length;for(let d=0;d<u;d+=2){if(isNaN(e[d])){c[d]=c[d+1]=NaN;continue}c[d]=e[d],c[d+1]=e[d+1]}u=this.#b(c,u);for(let d=n.length-6;d>=6;d-=6)for(let p=0;p<6;p+=2){if(isNaN(n[d+p])){c[u]=c[u+1]=NaN,u+=2;continue}c[u]=n[d+p],c[u+1]=n[d+p+1],u+=2}return this.#S(c,u),this.newFreeDrawOutline(c,l,this.#e,this.#p,this.#r,this.#n)}#A(e){let n=this.#i,[r,i,o,a]=this.#e,[s,l,c,u]=this.#m(),d=new Float32Array(36);return d.set([NaN,NaN,NaN,NaN,(n[2]-r)/o,(n[3]-i)/a,NaN,NaN,NaN,NaN,(n[4]-r)/o,(n[5]-i)/a,NaN,NaN,NaN,NaN,s,l,NaN,NaN,NaN,NaN,c,u,NaN,NaN,NaN,NaN,(n[16]-r)/o,(n[17]-i)/a,NaN,NaN,NaN,NaN,(n[14]-r)/o,(n[15]-i)/a],0),this.newFreeDrawOutline(d,e,this.#e,this.#p,this.#r,this.#n)}#S(e,n){let r=this.#t;return e.set([NaN,NaN,NaN,NaN,r[4],r[5]],n),n+=6}#b(e,n){let r=this.#i.subarray(4,6),i=this.#i.subarray(16,18),[o,a,s,l]=this.#e,[c,u,d,p]=this.#m();return e.set([NaN,NaN,NaN,NaN,(r[0]-o)/s,(r[1]-a)/l,NaN,NaN,NaN,NaN,c,u,NaN,NaN,NaN,NaN,d,p,NaN,NaN,NaN,NaN,(i[0]-o)/s,(i[1]-a)/l],n),n+=24}},jd=class extends de{#e;#t=new Float32Array(4);#r;#n;#a;#i;#o;constructor(e,n,r,i,o,a){super(),this.#o=e,this.#a=n,this.#e=r,this.#i=i,this.#r=o,this.#n=a,this.firstPoint=[NaN,NaN],this.lastPoint=[NaN,NaN],this.#s(a);let[s,l,c,u]=this.#t;for(let d=0,p=e.length;d<p;d+=2)e[d]=(e[d]-s)/c,e[d+1]=(e[d+1]-l)/u;for(let d=0,p=n.length;d<p;d+=2)n[d]=(n[d]-s)/c,n[d+1]=(n[d+1]-l)/u}toSVGPath(){let e=[`M${this.#o[4]} ${this.#o[5]}`];for(let n=6,r=this.#o.length;n<r;n+=6){if(isNaN(this.#o[n])){e.push(`L${this.#o[n+4]} ${this.#o[n+5]}`);continue}e.push(`C${this.#o[n]} ${this.#o[n+1]} ${this.#o[n+2]} ${this.#o[n+3]} ${this.#o[n+4]} ${this.#o[n+5]}`)}return e.push("Z"),e.join(" ")}serialize([e,n,r,i],o){let a=r-e,s=i-n,l,c;switch(o){case 0:l=de._rescale(this.#o,e,i,a,-s),c=de._rescale(this.#a,e,i,a,-s);break;case 90:l=de._rescaleAndSwap(this.#o,e,n,a,s),c=de._rescaleAndSwap(this.#a,e,n,a,s);break;case 180:l=de._rescale(this.#o,r,n,-a,s),c=de._rescale(this.#a,r,n,-a,s);break;case 270:l=de._rescaleAndSwap(this.#o,r,i,-a,-s),c=de._rescaleAndSwap(this.#a,r,i,-a,-s);break}return{outline:Array.from(l),points:[Array.from(c)]}}#s(e){let n=this.#o,r=n[4],i=n[5],o=[r,i,r,i],a=r,s=i,l=r,c=i,u=e?Math.max:Math.min,d=new Float32Array(4);for(let h=6,m=n.length;h<m;h+=6){let f=n[h+4],v=n[h+5];isNaN(n[h])?(pe.pointBoundingBox(f,v,o),s>v?(a=f,s=v):s===v&&(a=u(a,f)),c<v?(l=f,c=v):c===v&&(l=u(l,f))):(d[0]=d[1]=1/0,d[2]=d[3]=-1/0,pe.bezierBoundingBox(r,i,...n.slice(h,h+6),d),pe.rectBoundingBox(d[0],d[1],d[2],d[3],o),s>d[1]?(a=d[0],s=d[1]):s===d[1]&&(a=u(a,d[0])),c<d[3]?(l=d[2],c=d[3]):c===d[3]&&(l=u(l,d[2]))),r=f,i=v}let p=this.#t;p[0]=o[0]-this.#r,p[1]=o[1]-this.#r,p[2]=o[2]-o[0]+2*this.#r,p[3]=o[3]-o[1]+2*this.#r,this.firstPoint=[a,s],this.lastPoint=[l,c]}get box(){return this.#t}newOutliner(e,n,r,i,o,a=0){return new Hd(e,n,r,i,o,a)}getNewOutline(e,n){let[r,i,o,a]=this.#t,[s,l,c,u]=this.#e,d=o*c,p=a*u,h=r*c+s,m=i*u+l,f=this.newOutliner({x:this.#a[0]*d+h,y:this.#a[1]*p+m},this.#e,this.#i,e,this.#n,n??this.#r);for(let v=2;v<this.#a.length;v+=2)f.add({x:this.#a[v]*d+h,y:this.#a[v+1]*p+m});return f.getOutlines()}},Al=class{#e;#t;#r;#n=[];#a=[];constructor(e,n=0,r=0,i=!0){let o=[1/0,1/0,-1/0,-1/0],s=10**-4;for(let{x:v,y:g,width:y,height:w}of e){let b=Math.floor((v-n)/s)*s,x=Math.ceil((v+y+n)/s)*s,C=Math.floor((g-n)/s)*s,k=Math.ceil((g+w+n)/s)*s,S=[b,C,k,!0],E=[x,C,k,!1];this.#n.push(S,E),pe.rectBoundingBox(b,C,x,k,o)}let l=o[2]-o[0]+2*r,c=o[3]-o[1]+2*r,u=o[0]-r,d=o[1]-r,p=i?-1/0:1/0,h=1/0,m=this.#n.at(i?-1:-2),f=[m[0],m[2]];for(let v of this.#n){let[g,y,w,b]=v;!b&&i?y<h?(h=y,p=g):y===h&&(p=Math.max(p,g)):b&&!i&&(y<h?(h=y,p=g):y===h&&(p=Math.min(p,g))),v[0]=(g-u)/l,v[1]=(y-d)/c,v[2]=(w-d)/c}this.#e=new Float32Array([u,d,l,c]),this.#t=[p,h],this.#r=f}getOutlines(){this.#n.sort((n,r)=>n[0]-r[0]||n[1]-r[1]||n[2]-r[2]);let e=[];for(let n of this.#n)n[3]?(e.push(...this.#l(n)),this.#s(n)):(this.#c(n),e.push(...this.#l(n)));return this.#i(e)}#i(e){let n=[],r=new Set;for(let a of e){let[s,l,c]=a;n.push([s,l,a],[s,c,a])}n.sort((a,s)=>a[1]-s[1]||a[0]-s[0]);for(let a=0,s=n.length;a<s;a+=2){let l=n[a][2],c=n[a+1][2];l.push(c),c.push(l),r.add(l),r.add(c)}let i=[],o;for(;r.size>0;){let a=r.values().next().value,[s,l,c,u,d]=a;r.delete(a);let p=s,h=l;for(o=[s,c],i.push(o);;){let m;if(r.has(u))m=u;else if(r.has(d))m=d;else break;r.delete(m),[s,l,c,u,d]=m,p!==s&&(o.push(p,h,s,h===l?l:c),p=s),h=h===l?c:l}o.push(p,h)}return new Yg(i,this.#e,this.#t,this.#r)}#o(e){let n=this.#a,r=0,i=n.length-1;for(;r<=i;){let o=r+i>>1,a=n[o][0];if(a===e)return o;a<e?r=o+1:i=o-1}return i+1}#s([,e,n]){let r=this.#o(e);this.#a.splice(r,0,[e,n])}#c([,e,n]){let r=this.#o(e);for(let i=r;i<this.#a.length;i++){let[o,a]=this.#a[i];if(o!==e)break;if(o===e&&a===n){this.#a.splice(i,1);return}}for(let i=r-1;i>=0;i--){let[o,a]=this.#a[i];if(o!==e)break;if(o===e&&a===n){this.#a.splice(i,1);return}}}#l(e){let[n,r,i]=e,o=[[n,r,i]],a=this.#o(i);for(let s=0;s<a;s++){let[l,c]=this.#a[s];for(let u=0,d=o.length;u<d;u++){let[,p,h]=o[u];if(!(c<=p||h<=l)){if(p>=l){if(h>c)o[u][1]=c;else{if(d===1)return[];o.splice(u,1),u--,d--}continue}o[u][2]=l,h>c&&o.push([n,c,h])}}}return o}},Yg=class extends de{#e;#t;constructor(e,n,r,i){super(),this.#t=e,this.#e=n,this.firstPoint=r,this.lastPoint=i}toSVGPath(){let e=[];for(let n of this.#t){let[r,i]=n;e.push(`M${r} ${i}`);for(let o=2;o<n.length;o+=2){let a=n[o],s=n[o+1];a===r?(e.push(`V${s}`),i=s):s===i&&(e.push(`H${a}`),r=a)}e.push("Z")}return e.join(" ")}serialize([e,n,r,i],o){let a=[],s=r-e,l=i-n;for(let c of this.#t){let u=new Array(c.length);for(let d=0;d<c.length;d+=2)u[d]=e+c[d]*s,u[d+1]=i-c[d+1]*l;a.push(u)}return a}get box(){return this.#e}get classNamesForOutlining(){return["highlightOutline"]}},Tl=class extends Hd{newFreeDrawOutline(e,n,r,i,o,a){return new Xg(e,n,r,i,o,a)}},Xg=class extends jd{newOutliner(e,n,r,i,o,a=0){return new Tl(e,n,r,i,o,a)}},$d=class t extends at{#e=null;#t=0;#r;#n=null;#a=null;#i=null;#o=null;#s=0;#c=null;#l=null;#p=null;#d=!1;#h=null;#g=null;#f=null;#u="";#m;#y="";static _defaultColor=null;static _defaultOpacity=1;static _defaultThickness=12;static _type="highlight";static _editorType=Ee.HIGHLIGHT;static _freeHighlightId=-1;static _freeHighlight=null;static _freeHighlightClipId="";static get _keyboardManager(){let e=t.prototype;return Ne(this,"_keyboardManager",new No([[["ArrowLeft","mac+ArrowLeft"],e._moveCaret,{args:[0]}],[["ArrowRight","mac+ArrowRight"],e._moveCaret,{args:[1]}],[["ArrowUp","mac+ArrowUp"],e._moveCaret,{args:[2]}],[["ArrowDown","mac+ArrowDown"],e._moveCaret,{args:[3]}]]))}constructor(e){super({...e,name:"highlightEditor"}),this.color=e.color||t._defaultColor,this.#m=e.thickness||t._defaultThickness,this.opacity=e.opacity||t._defaultOpacity,this.#r=e.boxes||null,this.#y=e.methodOfCreation||"",this.#u=e.text||"",this._isDraggable=!1,this.defaultL10nId="pdfjs-editor-highlight-editor",e.highlightId>-1?(this.#d=!0,this.#w(e),this.#C()):this.#r&&(this.#e=e.anchorNode,this.#t=e.anchorOffset,this.#o=e.focusNode,this.#s=e.focusOffset,this.#v(),this.#C(),this.rotate(this.rotation)),this.annotationElementId||this._uiManager.a11yAlert("pdfjs-editor-highlight-added-alert")}get telemetryInitialData(){return{action:"added",type:this.#d?"free_highlight":"highlight",color:this._uiManager.getNonHCMColorName(this.color),thickness:this.#m,methodOfCreation:this.#y}}get telemetryFinalData(){return{type:"highlight",color:this._uiManager.getNonHCMColorName(this.color)}}static computeTelemetryFinalData(e){return{numberOfColors:e.get("color").size}}#v(){let e=new Al(this.#r,.001);this.#l=e.getOutlines(),[this.x,this.y,this.width,this.height]=this.#l.box;let n=new Al(this.#r,.0025,.001,this._uiManager.direction==="ltr");this.#i=n.getOutlines();let{firstPoint:r}=this.#l;this.#h=[(r[0]-this.x)/this.width,(r[1]-this.y)/this.height];let{lastPoint:i}=this.#i;this.#g=[(i[0]-this.x)/this.width,(i[1]-this.y)/this.height]}#w({highlightOutlines:e,highlightId:n,clipPathId:r}){this.#l=e;let i=1.5;if(this.#i=e.getNewOutline(this.#m/2+i,.0025),n>=0)this.#p=n,this.#n=r,this.parent.drawLayer.finalizeDraw(n,{bbox:e.box,path:{d:e.toSVGPath()}}),this.#f=this.parent.drawLayer.drawOutline({rootClass:{highlightOutline:!0,free:!0},bbox:this.#i.box,path:{d:this.#i.toSVGPath()}},!0);else if(this.parent){let d=this.parent.viewport.rotation;this.parent.drawLayer.updateProperties(this.#p,{bbox:t.#k(this.#l.box,(d-this.rotation+360)%360),path:{d:e.toSVGPath()}}),this.parent.drawLayer.updateProperties(this.#f,{bbox:t.#k(this.#i.box,d),path:{d:this.#i.toSVGPath()}})}let[o,a,s,l]=e.box;switch(this.rotation){case 0:this.x=o,this.y=a,this.width=s,this.height=l;break;case 90:{let[d,p]=this.parentDimensions;this.x=a,this.y=1-o,this.width=s*p/d,this.height=l*d/p;break}case 180:this.x=1-o,this.y=1-a,this.width=s,this.height=l;break;case 270:{let[d,p]=this.parentDimensions;this.x=1-a,this.y=o,this.width=s*p/d,this.height=l*d/p;break}}let{firstPoint:c}=e;this.#h=[(c[0]-o)/s,(c[1]-a)/l];let{lastPoint:u}=this.#i;this.#g=[(u[0]-o)/s,(u[1]-a)/l]}static initialize(e,n){at.initialize(e,n),t._defaultColor||=n.highlightColors?.values().next().value||"#fff066"}static updateDefaultParams(e,n){switch(e){case ze.HIGHLIGHT_COLOR:t._defaultColor=n;break;case ze.HIGHLIGHT_THICKNESS:t._defaultThickness=n;break}}translateInPage(e,n){}get toolbarPosition(){return this.#g}get commentButtonPosition(){return this.#h}updateParams(e,n){switch(e){case ze.HIGHLIGHT_COLOR:this.#A(n);break;case ze.HIGHLIGHT_THICKNESS:this.#S(n);break}}static get defaultPropertiesToUpdate(){return[[ze.HIGHLIGHT_COLOR,t._defaultColor],[ze.HIGHLIGHT_THICKNESS,t._defaultThickness]]}get propertiesToUpdate(){return[[ze.HIGHLIGHT_COLOR,this.color||t._defaultColor],[ze.HIGHLIGHT_THICKNESS,this.#m||t._defaultThickness],[ze.HIGHLIGHT_FREE,this.#d]]}onUpdatedColor(){this.parent?.drawLayer.updateProperties(this.#p,{root:{fill:this.color,"fill-opacity":this.opacity}}),this.#a?.updateColor(this.color),super.onUpdatedColor()}#A(e){let n=(o,a)=>{this.color=o,this.opacity=a,this.onUpdatedColor()},r=this.color,i=this.opacity;this.addCommands({cmd:n.bind(this,e,t._defaultOpacity),undo:n.bind(this,r,i),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:ze.HIGHLIGHT_COLOR,overwriteIfSameType:!0,keepUndo:!0}),this._reportTelemetry({action:"color_changed",color:this._uiManager.getNonHCMColorName(e)},!0)}#S(e){let n=this.#m,r=i=>{this.#m=i,this.#b(i)};this.addCommands({cmd:r.bind(this,e),undo:r.bind(this,n),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:ze.INK_THICKNESS,overwriteIfSameType:!0,keepUndo:!0}),this._reportTelemetry({action:"thickness_changed",thickness:e},!0)}get toolbarButtons(){return this._uiManager.highlightColors?[["colorPicker",this.#a=new xl({editor:this})]]:super.toolbarButtons}disableEditing(){super.disableEditing(),this.div.classList.toggle("disabled",!0)}enableEditing(){super.enableEditing(),this.div.classList.toggle("disabled",!1)}fixAndSetPosition(){return super.fixAndSetPosition(this.#I())}getBaseTranslation(){return[0,0]}getRect(e,n){return super.getRect(e,n,this.#I())}onceAdded(e){this.annotationElementId||this.parent.addUndoableEditor(this),e&&this.div.focus()}remove(){this.#R(),this._reportTelemetry({action:"deleted"}),super.remove()}rebuild(){this.parent&&(super.rebuild(),this.div!==null&&(this.#C(),this.isAttachedToDOM||this.parent.add(this)))}setParent(e){let n=!1;this.parent&&!e?this.#R():e&&(this.#C(e),n=!this.parent&&this.div?.classList.contains("selectedEditor")),super.setParent(e),this.show(this._isVisible),n&&this.select()}#b(e){this.#d&&(this.#w({highlightOutlines:this.#l.getNewOutline(e/2)}),this.fixAndSetPosition(),this.setDims(this.width,this.height))}#R(){this.#p===null||!this.parent||(this.parent.drawLayer.remove(this.#p),this.#p=null,this.parent.drawLayer.remove(this.#f),this.#f=null)}#C(e=this.parent){this.#p===null&&({id:this.#p,clipPathId:this.#n}=e.drawLayer.draw({bbox:this.#l.box,root:{viewBox:"0 0 1 1",fill:this.color,"fill-opacity":this.opacity},rootClass:{highlight:!0,free:this.#d},path:{d:this.#l.toSVGPath()}},!1,!0),this.#f=e.drawLayer.drawOutline({rootClass:{highlightOutline:!0,free:this.#d},bbox:this.#i.box,path:{d:this.#i.toSVGPath()}},this.#d),this.#c&&(this.#c.style.clipPath=this.#n))}static#k([e,n,r,i],o){switch(o){case 90:return[1-n-i,e,i,r];case 180:return[1-e-r,1-n-i,r,i];case 270:return[n,1-e-r,i,r]}return[e,n,r,i]}rotate(e){let{drawLayer:n}=this.parent,r;this.#d?(e=(e-this.rotation+360)%360,r=t.#k(this.#l.box,e)):r=t.#k([this.x,this.y,this.width,this.height],e),n.updateProperties(this.#p,{bbox:r,root:{"data-main-rotation":e}}),n.updateProperties(this.#f,{bbox:t.#k(this.#i.box,e),root:{"data-main-rotation":e}})}render(){if(this.div)return this.div;let e=super.render();this.#u&&(e.setAttribute("aria-label",this.#u),e.setAttribute("role","mark")),this.#d?e.classList.add("free"):this.div.addEventListener("keydown",this.#N.bind(this),{signal:this._uiManager._signal});let n=this.#c=document.createElement("div");return e.append(n),n.setAttribute("aria-hidden","true"),n.className="internal",n.style.clipPath=this.#n,this.setDims(this.width,this.height),XC(this,this.#c,["pointerover","pointerleave"]),this.enableEditing(),e}pointerover(){this.isSelected||this.parent?.drawLayer.updateProperties(this.#f,{rootClass:{hovered:!0}})}pointerleave(){this.isSelected||this.parent?.drawLayer.updateProperties(this.#f,{rootClass:{hovered:!1}})}#N(e){t._keyboardManager.exec(this,e)}_moveCaret(e){switch(this.parent.unselect(this),e){case 0:case 2:this.#E(!0);break;case 1:case 3:this.#E(!1);break}}#E(e){if(!this.#e)return;let n=window.getSelection();e?n.setPosition(this.#e,this.#t):n.setPosition(this.#o,this.#s)}select(){super.select(),this.#f&&this.parent?.drawLayer.updateProperties(this.#f,{rootClass:{hovered:!1,selected:!0}})}unselect(){super.unselect(),this.#f&&(this.parent?.drawLayer.updateProperties(this.#f,{rootClass:{selected:!1}}),this.#d||this.#E(!1))}get _mustFixPosition(){return!this.#d}show(e=this._isVisible){super.show(e),this.parent&&(this.parent.drawLayer.updateProperties(this.#p,{rootClass:{hidden:!e}}),this.parent.drawLayer.updateProperties(this.#f,{rootClass:{hidden:!e}}))}#I(){return this.#d?this.rotation:0}#M(){if(this.#d)return null;let[e,n]=this.pageDimensions,[r,i]=this.pageTranslation,o=this.#r,a=new Float32Array(o.length*8),s=0;for(let{x:l,y:c,width:u,height:d}of o){let p=l*e+r,h=(1-c)*n+i;a[s]=a[s+4]=p,a[s+1]=a[s+3]=h,a[s+2]=a[s+6]=p+u*e,a[s+5]=a[s+7]=h-d*n,s+=8}return a}#D(e){return this.#l.serialize(e,this.#I())}static startHighlighting(e,n,{target:r,x:i,y:o}){let{x:a,y:s,width:l,height:c}=r.getBoundingClientRect(),u=new AbortController,d=e.combinedSignal(u),p=h=>{u.abort(),this.#B(e,h)};window.addEventListener("blur",p,{signal:d}),window.addEventListener("pointerup",p,{signal:d}),window.addEventListener("pointerdown",bt,{capture:!0,passive:!1,signal:d}),window.addEventListener("contextmenu",jn,{signal:d}),r.addEventListener("pointermove",this.#L.bind(this,e),{signal:d}),this._freeHighlight=new Tl({x:i,y:o},[a,s,l,c],e.scale,this._defaultThickness/2,n,.001),{id:this._freeHighlightId,clipPathId:this._freeHighlightClipId}=e.drawLayer.draw({bbox:[0,0,1,1],root:{viewBox:"0 0 1 1",fill:this._defaultColor,"fill-opacity":this._defaultOpacity},rootClass:{highlight:!0,free:!0},path:{d:this._freeHighlight.toSVGPath()}},!0,!0)}static#L(e,n){this._freeHighlight.add(n)&&e.drawLayer.updateProperties(this._freeHighlightId,{path:{d:this._freeHighlight.toSVGPath()}})}static#B(e,n){this._freeHighlight.isEmpty()?e.drawLayer.remove(this._freeHighlightId):e.createAndAddNewEditor(n,!1,{highlightId:this._freeHighlightId,highlightOutlines:this._freeHighlight.getOutlines(),clipPathId:this._freeHighlightClipId,methodOfCreation:"main_toolbar"}),this._freeHighlightId=-1,this._freeHighlight=null,this._freeHighlightClipId=""}static async deserialize(e,n,r){let i=null;if(e instanceof zd){let{data:{quadPoints:m,rect:f,rotation:v,id:g,color:y,opacity:w,popupRef:b,richText:x,contentsObj:C,creationDate:k,modificationDate:S},parent:{page:{pageNumber:E}}}=e;i=e={annotationType:Ee.HIGHLIGHT,color:Array.from(y),opacity:w,quadPoints:m,boxes:null,pageIndex:E-1,rect:f.slice(0),rotation:v,annotationElementId:g,id:g,deleted:!1,popupRef:b,richText:x,comment:C?.str||null,creationDate:k,modificationDate:S}}else if(e instanceof kl){let{data:{inkLists:m,rect:f,rotation:v,id:g,color:y,borderStyle:{rawWidth:w},popupRef:b,richText:x,contentsObj:C,creationDate:k,modificationDate:S},parent:{page:{pageNumber:E}}}=e;i=e={annotationType:Ee.HIGHLIGHT,color:Array.from(y),thickness:w,inkLists:m,boxes:null,pageIndex:E-1,rect:f.slice(0),rotation:v,annotationElementId:g,id:g,deleted:!1,popupRef:b,richText:x,comment:C?.str||null,creationDate:k,modificationDate:S}}let{color:o,quadPoints:a,inkLists:s,opacity:l}=e,c=await super.deserialize(e,n,r);c.color=pe.makeHexColor(...o),c.opacity=l||1,s&&(c.#m=e.thickness),c._initialData=i,e.comment&&c.setCommentData(e);let[u,d]=c.pageDimensions,[p,h]=c.pageTranslation;if(a){let m=c.#r=[];for(let f=0;f<a.length;f+=8)m.push({x:(a[f]-p)/u,y:1-(a[f+1]-h)/d,width:(a[f+2]-a[f])/u,height:(a[f+1]-a[f+5])/d});c.#v(),c.#C(),c.rotate(c.rotation)}else if(s){c.#d=!0;let m=s[0],f={x:m[0]-p,y:d-(m[1]-h)},v=new Tl(f,[0,0,u,d],1,c.#m/2,!0,.001);for(let w=0,b=m.length;w<b;w+=2)f.x=m[w]-p,f.y=d-(m[w+1]-h),v.add(f);let{id:g,clipPathId:y}=n.drawLayer.draw({bbox:[0,0,1,1],root:{viewBox:"0 0 1 1",fill:c.color,"fill-opacity":c._defaultOpacity},rootClass:{highlight:!0,free:!0},path:{d:v.toSVGPath()}},!0,!0);c.#w({highlightOutlines:v.getOutlines(),highlightId:g,clipPathId:y}),c.#C(),c.rotate(c.parentRotation)}return c}serialize(e=!1){if(this.isEmpty()||e)return null;if(this.deleted)return this.serializeDeleted();let n=at._colorManager.convert(this._uiManager.getNonHCMColor(this.color)),r=super.serialize(e);return Object.assign(r,{color:n,opacity:this.opacity,thickness:this.#m,quadPoints:this.#M(),outlines:this.#D(r.rect)}),this.addComment(r),this.annotationElementId&&!this.#_(r)?null:(r.id=this.annotationElementId,r)}#_(e){let{color:n}=this._initialData;return this.hasEditedComment||e.color.some((r,i)=>r!==n[i])}renderAnnotationElement(e){return this.deleted?(e.hide(),null):(e.updateEdited({rect:this.getPDFRect(),popup:this.comment}),null)}static canCreateNewEmptyEditor(){return!1}},Vd=class{#e=Object.create(null);updateProperty(e,n){this[e]=n,this.updateSVGProperty(e,n)}updateProperties(e){if(e)for(let[n,r]of Object.entries(e))n.startsWith("_")||this.updateProperty(n,r)}updateSVGProperty(e,n){this.#e[e]=n}toSVGProperties(){let e=this.#e;return this.#e=Object.create(null),{root:e}}reset(){this.#e=Object.create(null)}updateAll(e=this){this.updateProperties(e)}clone(){tt("Not implemented")}},Wd=class t extends at{#e=null;#t;_colorPicker=null;_drawId=null;static _currentDrawId=-1;static _currentParent=null;static#r=null;static#n=null;static#a=null;static#i=NaN;static#o=null;static#s=null;static#c=NaN;static _INNER_MARGIN=3;constructor(e){super(e),this.#t=e.mustBeCommitted||!1,this._addOutlines(e)}onUpdatedColor(){this._colorPicker?.update(this.color),super.onUpdatedColor()}_addOutlines(e){e.drawOutlines&&(this.#l(e),this.#h())}#l({drawOutlines:e,drawId:n,drawingOptions:r}){this.#e=e,this._drawingOptions||=r,this.annotationElementId||this._uiManager.a11yAlert(`pdfjs-editor-${this.editorType}-added-alert`),n>=0?(this._drawId=n,this.parent.drawLayer.finalizeDraw(n,e.defaultProperties)):this._drawId=this.#p(e,this.parent),this.#u(e.box)}#p(e,n){let{id:r}=n.drawLayer.draw(t._mergeSVGProperties(this._drawingOptions.toSVGProperties(),e.defaultSVGProperties),!1,!1);return r}static _mergeSVGProperties(e,n){let r=new Set(Object.keys(e));for(let[i,o]of Object.entries(n))r.has(i)?Object.assign(e[i],o):e[i]=o;return e}static getDefaultDrawingOptions(e){tt("Not implemented")}static get typesMap(){tt("Not implemented")}static get isDrawer(){return!0}static get supportMultipleDrawings(){return!1}static updateDefaultParams(e,n){let r=this.typesMap.get(e);r&&this._defaultDrawingOptions.updateProperty(r,n),this._currentParent&&(t.#r.updateProperty(r,n),this._currentParent.drawLayer.updateProperties(this._currentDrawId,this._defaultDrawingOptions.toSVGProperties()))}updateParams(e,n){let r=this.constructor.typesMap.get(e);r&&this._updateProperty(e,r,n)}static get defaultPropertiesToUpdate(){let e=[],n=this._defaultDrawingOptions;for(let[r,i]of this.typesMap)e.push([r,n[i]]);return e}get propertiesToUpdate(){let e=[],{_drawingOptions:n}=this;for(let[r,i]of this.constructor.typesMap)e.push([r,n[i]]);return e}_updateProperty(e,n,r){let i=this._drawingOptions,o=i[n],a=s=>{i.updateProperty(n,s);let l=this.#e.updateProperty(n,s);l&&this.#u(l),this.parent?.drawLayer.updateProperties(this._drawId,i.toSVGProperties()),e===this.colorType&&this.onUpdatedColor()};this.addCommands({cmd:a.bind(this,r),undo:a.bind(this,o),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:e,overwriteIfSameType:!0,keepUndo:!0})}_onResizing(){this.parent?.drawLayer.updateProperties(this._drawId,t._mergeSVGProperties(this.#e.getPathResizingSVGProperties(this.#f()),{bbox:this.#m()}))}_onResized(){this.parent?.drawLayer.updateProperties(this._drawId,t._mergeSVGProperties(this.#e.getPathResizedSVGProperties(this.#f()),{bbox:this.#m()}))}_onTranslating(e,n){this.parent?.drawLayer.updateProperties(this._drawId,{bbox:this.#m()})}_onTranslated(){this.parent?.drawLayer.updateProperties(this._drawId,t._mergeSVGProperties(this.#e.getPathTranslatedSVGProperties(this.#f(),this.parentDimensions),{bbox:this.#m()}))}_onStartDragging(){this.parent?.drawLayer.updateProperties(this._drawId,{rootClass:{moving:!0}})}_onStopDragging(){this.parent?.drawLayer.updateProperties(this._drawId,{rootClass:{moving:!1}})}commit(){super.commit(),this.disableEditMode(),this.disableEditing()}disableEditing(){super.disableEditing(),this.div.classList.toggle("disabled",!0)}enableEditing(){super.enableEditing(),this.div.classList.toggle("disabled",!1)}getBaseTranslation(){return[0,0]}get isResizable(){return!0}onceAdded(e){this.annotationElementId||this.parent.addUndoableEditor(this),this._isDraggable=!0,this.#t&&(this.#t=!1,this.commit(),this.parent.setSelected(this),e&&this.isOnScreen&&this.div.focus())}remove(){this.#d(),super.remove()}rebuild(){this.parent&&(super.rebuild(),this.div!==null&&(this.#h(),this.#u(this.#e.box),this.isAttachedToDOM||this.parent.add(this)))}setParent(e){let n=!1;this.parent&&!e?(this._uiManager.removeShouldRescale(this),this.#d()):e&&(this._uiManager.addShouldRescale(this),this.#h(e),n=!this.parent&&this.div?.classList.contains("selectedEditor")),super.setParent(e),n&&this.select()}#d(){this._drawId===null||!this.parent||(this.parent.drawLayer.remove(this._drawId),this._drawId=null,this._drawingOptions.reset())}#h(e=this.parent){if(!(this._drawId!==null&&this.parent===e)){if(this._drawId!==null){this.parent.drawLayer.updateParent(this._drawId,e.drawLayer);return}this._drawingOptions.updateAll(),this._drawId=this.#p(this.#e,e)}}#g([e,n,r,i]){let{parentDimensions:[o,a],rotation:s}=this;switch(s){case 90:return[n,1-e,r*(a/o),i*(o/a)];case 180:return[1-e,1-n,r,i];case 270:return[1-n,e,r*(a/o),i*(o/a)];default:return[e,n,r,i]}}#f(){let{x:e,y:n,width:r,height:i,parentDimensions:[o,a],rotation:s}=this;switch(s){case 90:return[1-n,e,r*(o/a),i*(a/o)];case 180:return[1-e,1-n,r,i];case 270:return[n,1-e,r*(o/a),i*(a/o)];default:return[e,n,r,i]}}#u(e){[this.x,this.y,this.width,this.height]=this.#g(e),this.div&&(this.fixAndSetPosition(),this.setDims()),this._onResized()}#m(){let{x:e,y:n,width:r,height:i,rotation:o,parentRotation:a,parentDimensions:[s,l]}=this;switch((o*4+a)/90){case 1:return[1-n-i,e,i,r];case 2:return[1-e-r,1-n-i,r,i];case 3:return[n,1-e-r,i,r];case 4:return[e,n-r*(s/l),i*(l/s),r*(s/l)];case 5:return[1-n,e,r*(s/l),i*(l/s)];case 6:return[1-e-i*(l/s),1-n,i*(l/s),r*(s/l)];case 7:return[n-r*(s/l),1-e-i*(l/s),r*(s/l),i*(l/s)];case 8:return[e-r,n-i,r,i];case 9:return[1-n,e-r,i,r];case 10:return[1-e,1-n,r,i];case 11:return[n-i,1-e,i,r];case 12:return[e-i*(l/s),n,i*(l/s),r*(s/l)];case 13:return[1-n-r*(s/l),e-i*(l/s),r*(s/l),i*(l/s)];case 14:return[1-e,1-n-r*(s/l),i*(l/s),r*(s/l)];case 15:return[n,1-e,r*(s/l),i*(l/s)];default:return[e,n,r,i]}}rotate(){this.parent&&this.parent.drawLayer.updateProperties(this._drawId,t._mergeSVGProperties({bbox:this.#m()},this.#e.updateRotation((this.parentRotation-this.rotation+360)%360)))}onScaleChanging(){this.parent&&this.#u(this.#e.updateParentDimensions(this.parentDimensions,this.parent.scale))}static onScaleChangingWhenDrawing(){}render(){if(this.div)return this.div;let e,n;this._isCopy&&(e=this.x,n=this.y);let r=super.render();r.classList.add("draw");let i=document.createElement("div");return r.append(i),i.setAttribute("aria-hidden","true"),i.className="internal",this.setDims(),this._uiManager.addShouldRescale(this),this.disableEditing(),this._isCopy&&this._moveAfterPaste(e,n),r}static createDrawerInstance(e,n,r,i,o){tt("Not implemented")}static startDrawing(e,n,r,i){let{target:o,offsetX:a,offsetY:s,pointerId:l,pointerType:c}=i;if(t.#o&&t.#o!==c)return;let{viewport:{rotation:u}}=e,{width:d,height:p}=o.getBoundingClientRect(),h=t.#n=new AbortController,m=e.combinedSignal(h);if(t.#i||=l,t.#o??=c,window.addEventListener("pointerup",f=>{t.#i===f.pointerId?this._endDraw(f):t.#s?.delete(f.pointerId)},{signal:m}),window.addEventListener("pointercancel",f=>{t.#i===f.pointerId?this._currentParent.endDrawingSession():t.#s?.delete(f.pointerId)},{signal:m}),window.addEventListener("pointerdown",f=>{t.#o===f.pointerType&&((t.#s||=new Set).add(f.pointerId),t.#r.isCancellable()&&(t.#r.removeLastElement(),t.#r.isEmpty()?this._currentParent.endDrawingSession(!0):this._endDraw(null)))},{capture:!0,passive:!1,signal:m}),window.addEventListener("contextmenu",jn,{signal:m}),o.addEventListener("pointermove",this._drawMove.bind(this),{signal:m}),o.addEventListener("touchmove",f=>{f.timeStamp===t.#c&&bt(f)},{signal:m}),e.toggleDrawing(),n._editorUndoBar?.hide(),t.#r){e.drawLayer.updateProperties(this._currentDrawId,t.#r.startNew(a,s,d,p,u));return}n.updateUIForDefaultProperties(this),t.#r=this.createDrawerInstance(a,s,d,p,u),t.#a=this.getDefaultDrawingOptions(),this._currentParent=e,{id:this._currentDrawId}=e.drawLayer.draw(this._mergeSVGProperties(t.#a.toSVGProperties(),t.#r.defaultSVGProperties),!0,!1)}static _drawMove(e){if(t.#c=-1,!t.#r)return;let{offsetX:n,offsetY:r,pointerId:i}=e;if(t.#i===i){if(t.#s?.size>=1){this._endDraw(e);return}this._currentParent.drawLayer.updateProperties(this._currentDrawId,t.#r.add(n,r)),t.#c=e.timeStamp,bt(e)}}static _cleanup(e){e&&(this._currentDrawId=-1,this._currentParent=null,t.#r=null,t.#a=null,t.#o=null,t.#c=NaN),t.#n&&(t.#n.abort(),t.#n=null,t.#i=NaN,t.#s=null)}static _endDraw(e){let n=this._currentParent;if(n){if(n.toggleDrawing(!0),this._cleanup(!1),e?.target===n.div&&n.drawLayer.updateProperties(this._currentDrawId,t.#r.end(e.offsetX,e.offsetY)),this.supportMultipleDrawings){let r=t.#r,i=this._currentDrawId,o=r.getLastElement();n.addCommands({cmd:()=>{n.drawLayer.updateProperties(i,r.setLastElement(o))},undo:()=>{n.drawLayer.updateProperties(i,r.removeLastElement())},mustExec:!1,type:ze.DRAW_STEP});return}this.endDrawing(!1)}}static endDrawing(e){let n=this._currentParent;if(!n)return null;if(n.toggleDrawing(!0),n.cleanUndoStack(ze.DRAW_STEP),!t.#r.isEmpty()){let{pageDimensions:[r,i],scale:o}=n,a=n.createAndAddNewEditor({offsetX:0,offsetY:0},!1,{drawId:this._currentDrawId,drawOutlines:t.#r.getOutlines(r*o,i*o,o,this._INNER_MARGIN),drawingOptions:t.#a,mustBeCommitted:!e});return this._cleanup(!0),a}return n.drawLayer.remove(this._currentDrawId),this._cleanup(!0),null}createDrawingOptions(e){}static deserializeDraw(e,n,r,i,o,a){tt("Not implemented")}static async deserialize(e,n,r){let{rawDims:{pageWidth:i,pageHeight:o,pageX:a,pageY:s}}=n.viewport,l=this.deserializeDraw(a,s,i,o,this._INNER_MARGIN,e),c=await super.deserialize(e,n,r);return c.createDrawingOptions(e),c.#l({drawOutlines:l}),c.#h(),c.onScaleChanging(),c.rotate(),c}serializeDraw(e){let[n,r]=this.pageTranslation,[i,o]=this.pageDimensions;return this.#e.serialize([n,r,i,o],e)}renderAnnotationElement(e){return e.updateEdited({rect:this.getPDFRect()}),null}static canCreateNewEmptyEditor(){return!1}},Zg=class{#e=new Float64Array(6);#t;#r;#n;#a;#i;#o="";#s=0;#c=new Oo;#l;#p;constructor(e,n,r,i,o,a){this.#l=r,this.#p=i,this.#n=o,this.#a=a,[e,n]=this.#d(e,n);let s=this.#t=[NaN,NaN,NaN,NaN,e,n];this.#i=[e,n],this.#r=[{line:s,points:this.#i}],this.#e.set(s,0)}updateProperty(e,n){e==="stroke-width"&&(this.#a=n)}#d(e,n){return de._normalizePoint(e,n,this.#l,this.#p,this.#n)}isEmpty(){return!this.#r||this.#r.length===0}isCancellable(){return this.#i.length<=10}add(e,n){[e,n]=this.#d(e,n);let[r,i,o,a]=this.#e.subarray(2,6),s=e-o,l=n-a;return Math.hypot(this.#l*s,this.#p*l)<=2?null:(this.#i.push(e,n),isNaN(r)?(this.#e.set([o,a,e,n],2),this.#t.push(NaN,NaN,NaN,NaN,e,n),{path:{d:this.toSVGPath()}}):(isNaN(this.#e[0])&&this.#t.splice(6,6),this.#e.set([r,i,o,a,e,n],0),this.#t.push(...de.createBezierPoints(r,i,o,a,e,n)),{path:{d:this.toSVGPath()}}))}end(e,n){let r=this.add(e,n);return r||(this.#i.length===2?{path:{d:this.toSVGPath()}}:null)}startNew(e,n,r,i,o){this.#l=r,this.#p=i,this.#n=o,[e,n]=this.#d(e,n);let a=this.#t=[NaN,NaN,NaN,NaN,e,n];this.#i=[e,n];let s=this.#r.at(-1);return s&&(s.line=new Float32Array(s.line),s.points=new Float32Array(s.points)),this.#r.push({line:a,points:this.#i}),this.#e.set(a,0),this.#s=0,this.toSVGPath(),null}getLastElement(){return this.#r.at(-1)}setLastElement(e){return this.#r?(this.#r.push(e),this.#t=e.line,this.#i=e.points,this.#s=0,{path:{d:this.toSVGPath()}}):this.#c.setLastElement(e)}removeLastElement(){if(!this.#r)return this.#c.removeLastElement();this.#r.pop(),this.#o="";for(let e=0,n=this.#r.length;e<n;e++){let{line:r,points:i}=this.#r[e];this.#t=r,this.#i=i,this.#s=0,this.toSVGPath()}return{path:{d:this.#o}}}toSVGPath(){let e=de.svgRound(this.#t[4]),n=de.svgRound(this.#t[5]);if(this.#i.length===2)return this.#o=`${this.#o} M ${e} ${n} Z`,this.#o;if(this.#i.length<=6){let i=this.#o.lastIndexOf("M");this.#o=`${this.#o.slice(0,i)} M ${e} ${n}`,this.#s=6}if(this.#i.length===4){let i=de.svgRound(this.#t[10]),o=de.svgRound(this.#t[11]);return this.#o=`${this.#o} L ${i} ${o}`,this.#s=12,this.#o}let r=[];this.#s===0&&(r.push(`M ${e} ${n}`),this.#s=6);for(let i=this.#s,o=this.#t.length;i<o;i+=6){let[a,s,l,c,u,d]=this.#t.slice(i,i+6).map(de.svgRound);r.push(`C${a} ${s} ${l} ${c} ${u} ${d}`)}return this.#o+=r.join(" "),this.#s=this.#t.length,this.#o}getOutlines(e,n,r,i){let o=this.#r.at(-1);return o.line=new Float32Array(o.line),o.points=new Float32Array(o.points),this.#c.build(this.#r,e,n,r,this.#n,this.#a,i),this.#e=null,this.#t=null,this.#r=null,this.#o=null,this.#c}get defaultSVGProperties(){return{root:{viewBox:"0 0 10000 10000"},rootClass:{draw:!0},bbox:[0,0,1,1]}}},Oo=class extends de{#e;#t=0;#r;#n;#a;#i;#o;#s;#c;build(e,n,r,i,o,a,s){this.#a=n,this.#i=r,this.#o=i,this.#s=o,this.#c=a,this.#r=s??0,this.#n=e,this.#d()}get thickness(){return this.#c}setLastElement(e){return this.#n.push(e),{path:{d:this.toSVGPath()}}}removeLastElement(){return this.#n.pop(),{path:{d:this.toSVGPath()}}}toSVGPath(){let e=[];for(let{line:n}of this.#n){if(e.push(`M${de.svgRound(n[4])} ${de.svgRound(n[5])}`),n.length===6){e.push("Z");continue}if(n.length===12&&isNaN(n[6])){e.push(`L${de.svgRound(n[10])} ${de.svgRound(n[11])}`);continue}for(let r=6,i=n.length;r<i;r+=6){let[o,a,s,l,c,u]=n.subarray(r,r+6).map(de.svgRound);e.push(`C${o} ${a} ${s} ${l} ${c} ${u}`)}}return e.join("")}serialize([e,n,r,i],o){let a=[],s=[],[l,c,u,d]=this.#p(),p,h,m,f,v,g,y,w,b;switch(this.#s){case 0:b=de._rescale,p=e,h=n+i,m=r,f=-i,v=e+l*r,g=n+(1-c-d)*i,y=e+(l+u)*r,w=n+(1-c)*i;break;case 90:b=de._rescaleAndSwap,p=e,h=n,m=r,f=i,v=e+c*r,g=n+l*i,y=e+(c+d)*r,w=n+(l+u)*i;break;case 180:b=de._rescale,p=e+r,h=n,m=-r,f=i,v=e+(1-l-u)*r,g=n+c*i,y=e+(1-l)*r,w=n+(c+d)*i;break;case 270:b=de._rescaleAndSwap,p=e+r,h=n+i,m=-r,f=-i,v=e+(1-c-d)*r,g=n+(1-l-u)*i,y=e+(1-c)*r,w=n+(1-l)*i;break}for(let{line:x,points:C}of this.#n)a.push(b(x,p,h,m,f,o?new Array(x.length):null)),s.push(b(C,p,h,m,f,o?new Array(C.length):null));return{lines:a,points:s,rect:[v,g,y,w]}}static deserialize(e,n,r,i,o,{paths:{lines:a,points:s},rotation:l,thickness:c}){let u=[],d,p,h,m,f;switch(l){case 0:f=de._rescale,d=-e/r,p=n/i+1,h=1/r,m=-1/i;break;case 90:f=de._rescaleAndSwap,d=-n/i,p=-e/r,h=1/i,m=1/r;break;case 180:f=de._rescale,d=e/r+1,p=-n/i,h=-1/r,m=1/i;break;case 270:f=de._rescaleAndSwap,d=n/i+1,p=e/r+1,h=-1/i,m=-1/r;break}if(!a){a=[];for(let g of s){let y=g.length;if(y===2){a.push(new Float32Array([NaN,NaN,NaN,NaN,g[0],g[1]]));continue}if(y===4){a.push(new Float32Array([NaN,NaN,NaN,NaN,g[0],g[1],NaN,NaN,NaN,NaN,g[2],g[3]]));continue}let w=new Float32Array(3*(y-2));a.push(w);let[b,x,C,k]=g.subarray(0,4);w.set([NaN,NaN,NaN,NaN,b,x],0);for(let S=4;S<y;S+=2){let E=g[S],D=g[S+1];w.set(de.createBezierPoints(b,x,C,k,E,D),(S-2)*3),[b,x,C,k]=[C,k,E,D]}}}for(let g=0,y=a.length;g<y;g++)u.push({line:f(a[g].map(w=>w??NaN),d,p,h,m),points:f(s[g].map(w=>w??NaN),d,p,h,m)});let v=new this.prototype.constructor;return v.build(u,r,i,1,l,c,o),v}#l(e=this.#c){let n=this.#r+e/2*this.#o;return this.#s%180===0?[n/this.#a,n/this.#i]:[n/this.#i,n/this.#a]}#p(){let[e,n,r,i]=this.#e,[o,a]=this.#l(0);return[e+o,n+a,r-2*o,i-2*a]}#d(){let e=this.#e=new Float32Array([1/0,1/0,-1/0,-1/0]);for(let{line:i}of this.#n){if(i.length<=12){for(let s=4,l=i.length;s<l;s+=6)pe.pointBoundingBox(i[s],i[s+1],e);continue}let o=i[4],a=i[5];for(let s=6,l=i.length;s<l;s+=6){let[c,u,d,p,h,m]=i.subarray(s,s+6);pe.bezierBoundingBox(o,a,c,u,d,p,h,m,e),o=h,a=m}}let[n,r]=this.#l();e[0]=dn(e[0]-n,0,1),e[1]=dn(e[1]-r,0,1),e[2]=dn(e[2]+n,0,1),e[3]=dn(e[3]+r,0,1),e[2]-=e[0],e[3]-=e[1]}get box(){return this.#e}updateProperty(e,n){return e==="stroke-width"?this.#h(n):null}#h(e){let[n,r]=this.#l();this.#c=e;let[i,o]=this.#l(),[a,s]=[i-n,o-r],l=this.#e;return l[0]-=a,l[1]-=s,l[2]+=2*a,l[3]+=2*s,l}updateParentDimensions([e,n],r){let[i,o]=this.#l();this.#a=e,this.#i=n,this.#o=r;let[a,s]=this.#l(),l=a-i,c=s-o,u=this.#e;return u[0]-=l,u[1]-=c,u[2]+=2*l,u[3]+=2*c,u}updateRotation(e){return this.#t=e,{path:{transform:this.rotationTransform}}}get viewBox(){return this.#e.map(de.svgRound).join(" ")}get defaultProperties(){let[e,n]=this.#e;return{root:{viewBox:this.viewBox},path:{"transform-origin":`${de.svgRound(e)} ${de.svgRound(n)}`}}}get rotationTransform(){let[,,e,n]=this.#e,r=0,i=0,o=0,a=0,s=0,l=0;switch(this.#t){case 90:i=n/e,o=-e/n,s=e;break;case 180:r=-1,a=-1,s=e,l=n;break;case 270:i=-n/e,o=e/n,l=n;break;default:return""}return`matrix(${r} ${i} ${o} ${a} ${de.svgRound(s)} ${de.svgRound(l)})`}getPathResizingSVGProperties([e,n,r,i]){let[o,a]=this.#l(),[s,l,c,u]=this.#e;if(Math.abs(c-o)<=de.PRECISION||Math.abs(u-a)<=de.PRECISION){let f=e+r/2-(s+c/2),v=n+i/2-(l+u/2);return{path:{"transform-origin":`${de.svgRound(e)} ${de.svgRound(n)}`,transform:`${this.rotationTransform} translate(${f} ${v})`}}}let d=(r-2*o)/(c-2*o),p=(i-2*a)/(u-2*a),h=c/r,m=u/i;return{path:{"transform-origin":`${de.svgRound(s)} ${de.svgRound(l)}`,transform:`${this.rotationTransform} scale(${h} ${m}) translate(${de.svgRound(o)} ${de.svgRound(a)}) scale(${d} ${p}) translate(${de.svgRound(-o)} ${de.svgRound(-a)})`}}}getPathResizedSVGProperties([e,n,r,i]){let[o,a]=this.#l(),s=this.#e,[l,c,u,d]=s;if(s[0]=e,s[1]=n,s[2]=r,s[3]=i,Math.abs(u-o)<=de.PRECISION||Math.abs(d-a)<=de.PRECISION){let v=e+r/2-(l+u/2),g=n+i/2-(c+d/2);for(let{line:y,points:w}of this.#n)de._translate(y,v,g,y),de._translate(w,v,g,w);return{root:{viewBox:this.viewBox},path:{"transform-origin":`${de.svgRound(e)} ${de.svgRound(n)}`,transform:this.rotationTransform||null,d:this.toSVGPath()}}}let p=(r-2*o)/(u-2*o),h=(i-2*a)/(d-2*a),m=-p*(l+o)+e+o,f=-h*(c+a)+n+a;if(p!==1||h!==1||m!==0||f!==0)for(let{line:v,points:g}of this.#n)de._rescale(v,m,f,p,h,v),de._rescale(g,m,f,p,h,g);return{root:{viewBox:this.viewBox},path:{"transform-origin":`${de.svgRound(e)} ${de.svgRound(n)}`,transform:this.rotationTransform||null,d:this.toSVGPath()}}}getPathTranslatedSVGProperties([e,n],r){let[i,o]=r,a=this.#e,s=e-a[0],l=n-a[1];if(this.#a===i&&this.#i===o)for(let{line:c,points:u}of this.#n)de._translate(c,s,l,c),de._translate(u,s,l,u);else{let c=this.#a/i,u=this.#i/o;this.#a=i,this.#i=o;for(let{line:d,points:p}of this.#n)de._rescale(d,s,l,c,u,d),de._rescale(p,s,l,c,u,p);a[2]*=c,a[3]*=u}return a[0]=e,a[1]=n,{root:{viewBox:this.viewBox},path:{d:this.toSVGPath(),"transform-origin":`${de.svgRound(e)} ${de.svgRound(n)}`}}}get defaultSVGProperties(){let e=this.#e;return{root:{viewBox:this.viewBox},rootClass:{draw:!0},path:{d:this.toSVGPath(),"transform-origin":`${de.svgRound(e[0])} ${de.svgRound(e[1])}`,transform:this.rotationTransform||null},bbox:e}}},Kd=class t extends Vd{constructor(e){super(),this._viewParameters=e,super.updateProperties({fill:"none",stroke:at._defaultLineColor,"stroke-opacity":1,"stroke-width":1,"stroke-linecap":"round","stroke-linejoin":"round","stroke-miterlimit":10})}updateSVGProperty(e,n){e==="stroke-width"&&(n??=this["stroke-width"],n*=this._viewParameters.realScale),super.updateSVGProperty(e,n)}clone(){let e=new t(this._viewParameters);return e.updateAll(this),e}},qg=class t extends Wd{static _type="ink";static _editorType=Ee.INK;static _defaultDrawingOptions=null;constructor(e){super({...e,name:"inkEditor"}),this._willKeepAspectRatio=!0,this.defaultL10nId="pdfjs-editor-ink-editor"}static initialize(e,n){at.initialize(e,n),this._defaultDrawingOptions=new Kd(n.viewParameters)}static getDefaultDrawingOptions(e){let n=this._defaultDrawingOptions.clone();return n.updateProperties(e),n}static get supportMultipleDrawings(){return!0}static get typesMap(){return Ne(this,"typesMap",new Map([[ze.INK_THICKNESS,"stroke-width"],[ze.INK_COLOR,"stroke"],[ze.INK_OPACITY,"stroke-opacity"]]))}static createDrawerInstance(e,n,r,i,o){return new Zg(e,n,r,i,o,this._defaultDrawingOptions["stroke-width"])}static deserializeDraw(e,n,r,i,o,a){return Oo.deserialize(e,n,r,i,o,a)}static async deserialize(e,n,r){let i=null;if(e instanceof kl){let{data:{inkLists:a,rect:s,rotation:l,id:c,color:u,opacity:d,borderStyle:{rawWidth:p},popupRef:h,richText:m,contentsObj:f,creationDate:v,modificationDate:g},parent:{page:{pageNumber:y}}}=e;i=e={annotationType:Ee.INK,color:Array.from(u),thickness:p,opacity:d,paths:{points:a},boxes:null,pageIndex:y-1,rect:s.slice(0),rotation:l,annotationElementId:c,id:c,deleted:!1,popupRef:h,richText:m,comment:f?.str||null,creationDate:v,modificationDate:g}}let o=await super.deserialize(e,n,r);return o._initialData=i,e.comment&&o.setCommentData(e),o}get toolbarButtons(){return this._colorPicker||=new Od(this),[["colorPicker",this._colorPicker]]}get colorType(){return ze.INK_COLOR}get color(){return this._drawingOptions.stroke}get opacity(){return this._drawingOptions["stroke-opacity"]}onScaleChanging(){if(!this.parent)return;super.onScaleChanging();let{_drawId:e,_drawingOptions:n,parent:r}=this;n.updateSVGProperty("stroke-width"),r.drawLayer.updateProperties(e,n.toSVGProperties())}static onScaleChangingWhenDrawing(){let e=this._currentParent;e&&(super.onScaleChangingWhenDrawing(),this._defaultDrawingOptions.updateSVGProperty("stroke-width"),e.drawLayer.updateProperties(this._currentDrawId,this._defaultDrawingOptions.toSVGProperties()))}createDrawingOptions({color:e,thickness:n,opacity:r}){this._drawingOptions=t.getDefaultDrawingOptions({stroke:pe.makeHexColor(...e),"stroke-width":n,"stroke-opacity":r})}serialize(e=!1){if(this.isEmpty())return null;if(this.deleted)return this.serializeDeleted();let{lines:n,points:r}=this.serializeDraw(e),{_drawingOptions:{stroke:i,"stroke-opacity":o,"stroke-width":a}}=this,s=Object.assign(super.serialize(e),{color:at._colorManager.convert(i),opacity:o,thickness:a,paths:{lines:n,points:r}});return this.addComment(s),e?(s.isCopy=!0,s):this.annotationElementId&&!this.#e(s)?null:(s.id=this.annotationElementId,s)}#e(e){let{color:n,thickness:r,opacity:i,pageIndex:o}=this._initialData;return this.hasEditedComment||this._hasBeenMoved||this._hasBeenResized||e.color.some((a,s)=>a!==n[s])||e.thickness!==r||e.opacity!==i||e.pageIndex!==o}renderAnnotationElement(e){if(this.deleted)return e.hide(),null;let{points:n,rect:r}=this.serializeDraw(!1);return e.updateEdited({rect:r,thickness:this._drawingOptions["stroke-width"],points:n,popup:this.comment}),null}},Rl=class extends Oo{toSVGPath(){let e=super.toSVGPath();return e.endsWith("Z")||(e+="Z"),e}},dd=8,cl=3,ai=class{static#e={maxDim:512,sigmaSFactor:.02,sigmaR:25,kernelSize:16};static#t(e,n,r,i){return r-=e,i-=n,r===0?i>0?0:4:r===1?i+6:2-i}static#r=new Int32Array([0,1,-1,1,-1,0,-1,-1,0,-1,1,-1,1,0,1,1]);static#n(e,n,r,i,o,a,s){let l=this.#t(r,i,o,a);for(let c=0;c<8;c++){let u=(-c+l-s+16)%8,d=this.#r[2*u],p=this.#r[2*u+1];if(e[(r+d)*n+(i+p)]!==0)return u}return-1}static#a(e,n,r,i,o,a,s){let l=this.#t(r,i,o,a);for(let c=0;c<8;c++){let u=(c+l+s+16)%8,d=this.#r[2*u],p=this.#r[2*u+1];if(e[(r+d)*n+(i+p)]!==0)return u}return-1}static#i(e,n,r,i){let o=e.length,a=new Int32Array(o);for(let u=0;u<o;u++)a[u]=e[u]<=i?1:0;for(let u=1;u<r-1;u++)a[u*n]=a[u*n+n-1]=0;for(let u=0;u<n;u++)a[u]=a[n*r-1-u]=0;let s=1,l,c=[];for(let u=1;u<r-1;u++){l=1;for(let d=1;d<n-1;d++){let p=u*n+d,h=a[p];if(h===0)continue;let m=u,f=d;if(h===1&&a[p-1]===0)s+=1,f-=1;else if(h>=1&&a[p+1]===0)s+=1,f+=1,h>1&&(l=h);else{h!==1&&(l=Math.abs(h));continue}let v=[d,u],g=f===d+1,y={isHole:g,points:v,id:s,parent:0};c.push(y);let w;for(let O of c)if(O.id===l){w=O;break}w?w.isHole?y.parent=g?w.parent:l:y.parent=g?l:w.parent:y.parent=g?l:0;let b=this.#n(a,n,u,d,m,f,0);if(b===-1){a[p]=-s,a[p]!==1&&(l=Math.abs(a[p]));continue}let x=this.#r[2*b],C=this.#r[2*b+1],k=u+x,S=d+C;m=k,f=S;let E=u,D=d;for(;;){let O=this.#a(a,n,E,D,m,f,1);x=this.#r[2*O],C=this.#r[2*O+1];let H=E+x,M=D+C;v.push(M,H);let _=E*n+D;if(a[_+1]===0?a[_]=-s:a[_]===1&&(a[_]=s),H===u&&M===d&&E===k&&D===S){a[p]!==1&&(l=Math.abs(a[p]));break}else m=E,f=D,E=H,D=M}}}return c}static#o(e,n,r,i){if(r-n<=4){for(let k=n;k<r-2;k+=2)i.push(e[k],e[k+1]);return}let o=e[n],a=e[n+1],s=e[r-4]-o,l=e[r-3]-a,c=Math.hypot(s,l),u=s/c,d=l/c,p=u*a-d*o,h=l/s,m=1/c,f=Math.atan(h),v=Math.cos(f),g=Math.sin(f),y=m*(Math.abs(v)+Math.abs(g)),w=m*(1-y+y**2),b=Math.max(Math.atan(Math.abs(g+v)*w),Math.atan(Math.abs(g-v)*w)),x=0,C=n;for(let k=n+2;k<r-2;k+=2){let S=Math.abs(p-u*e[k+1]+d*e[k]);S>x&&(C=k,x=S)}x>(c*b)**2?(this.#o(e,n,C+2,i),this.#o(e,C,r,i)):i.push(o,a)}static#s(e){let n=[],r=e.length;return this.#o(e,0,r,n),n.push(e[r-2],e[r-1]),n.length<=4?null:n}static#c(e,n,r,i,o,a){let s=new Float32Array(a**2),l=-2*i**2,c=a>>1;for(let f=0;f<a;f++){let v=(f-c)**2;for(let g=0;g<a;g++)s[f*a+g]=Math.exp((v+(g-c)**2)/l)}let u=new Float32Array(256),d=-2*o**2;for(let f=0;f<256;f++)u[f]=Math.exp(f**2/d);let p=e.length,h=new Uint8Array(p),m=new Uint32Array(256);for(let f=0;f<r;f++)for(let v=0;v<n;v++){let g=f*n+v,y=e[g],w=0,b=0;for(let C=0;C<a;C++){let k=f+C-c;if(!(k<0||k>=r))for(let S=0;S<a;S++){let E=v+S-c;if(E<0||E>=n)continue;let D=e[k*n+E],O=s[C*a+S]*u[Math.abs(D-y)];w+=D*O,b+=O}}let x=h[g]=Math.round(w/b);m[x]++}return[h,m]}static#l(e){let n=new Uint32Array(256);for(let r of e)n[r]++;return n}static#p(e){let n=e.length,r=new Uint8ClampedArray(n>>2),i=-1/0,o=1/0;for(let s=0,l=r.length;s<l;s++){let c=r[s]=e[s<<2];i=Math.max(i,c),o=Math.min(o,c)}let a=255/(i-o);for(let s=0,l=r.length;s<l;s++)r[s]=(r[s]-o)*a;return r}static#d(e){let n,r=-1/0,i=-1/0,o=e.findIndex(l=>l!==0),a=o,s=o;for(n=o;n<256;n++){let l=e[n];l>r&&(n-a>i&&(i=n-a,s=n-1),r=l,a=n)}for(n=s-1;n>=0&&!(e[n]>e[n+1]);n--);return n}static#h(e){let n=e,{width:r,height:i}=e,{maxDim:o}=this.#e,a=r,s=i;if(r>o||i>o){let p=r,h=i,m=Math.log2(Math.max(r,i)/o),f=Math.floor(m);m=m===f?f-1:f;for(let g=0;g<m;g++){a=Math.ceil(p/2),s=Math.ceil(h/2);let y=new OffscreenCanvas(a,s);y.getContext("2d").drawImage(e,0,0,p,h,0,0,a,s),p=a,h=s,e!==n&&e.close(),e=y.transferToImageBitmap()}let v=Math.min(o/a,o/s);a=Math.round(a*v),s=Math.round(s*v)}let c=new OffscreenCanvas(a,s).getContext("2d",{willReadFrequently:!0});c.fillStyle="white",c.fillRect(0,0,a,s),c.filter="grayscale(1)",c.drawImage(e,0,0,e.width,e.height,0,0,a,s);let u=c.getImageData(0,0,a,s).data;return[this.#p(u),a,s]}static extractContoursFromText(e,{fontFamily:n,fontStyle:r,fontWeight:i},o,a,s,l){let c=new OffscreenCanvas(1,1),u=c.getContext("2d",{alpha:!1}),d=200,p=u.font=`${r} ${i} ${d}px ${n}`,{actualBoundingBoxLeft:h,actualBoundingBoxRight:m,actualBoundingBoxAscent:f,actualBoundingBoxDescent:v,fontBoundingBoxAscent:g,fontBoundingBoxDescent:y,width:w}=u.measureText(e),b=1.5,x=Math.ceil(Math.max(Math.abs(h)+Math.abs(m)||0,w)*b),C=Math.ceil(Math.max(Math.abs(f)+Math.abs(v)||d,Math.abs(g)+Math.abs(y)||d)*b);c=new OffscreenCanvas(x,C),u=c.getContext("2d",{alpha:!0,willReadFrequently:!0}),u.font=p,u.filter="grayscale(1)",u.fillStyle="white",u.fillRect(0,0,x,C),u.fillStyle="black",u.fillText(e,x*(b-1)/2,C*(3-b)/2);let k=this.#p(u.getImageData(0,0,x,C).data),S=this.#l(k),E=this.#d(S),D=this.#i(k,x,C,E);return this.processDrawnLines({lines:{curves:D,width:x,height:C},pageWidth:o,pageHeight:a,rotation:s,innerMargin:l,mustSmooth:!0,areContours:!0})}static process(e,n,r,i,o){let[a,s,l]=this.#h(e),[c,u]=this.#c(a,s,l,Math.hypot(s,l)*this.#e.sigmaSFactor,this.#e.sigmaR,this.#e.kernelSize),d=this.#d(u),p=this.#i(c,s,l,d);return this.processDrawnLines({lines:{curves:p,width:s,height:l},pageWidth:n,pageHeight:r,rotation:i,innerMargin:o,mustSmooth:!0,areContours:!0})}static processDrawnLines({lines:e,pageWidth:n,pageHeight:r,rotation:i,innerMargin:o,mustSmooth:a,areContours:s}){i%180!==0&&([n,r]=[r,n]);let{curves:l,width:c,height:u}=e,d=e.thickness??0,p=[],h=Math.min(n/c,r/u),m=h/n,f=h/r,v=[];for(let{points:y}of l){let w=a?this.#s(y):y;if(!w)continue;v.push(w);let b=w.length,x=new Float32Array(b),C=new Float32Array(3*(b===2?2:b-2));if(p.push({line:C,points:x}),b===2){x[0]=w[0]*m,x[1]=w[1]*f,C.set([NaN,NaN,NaN,NaN,x[0],x[1]],0);continue}let[k,S,E,D]=w;k*=m,S*=f,E*=m,D*=f,x.set([k,S,E,D],0),C.set([NaN,NaN,NaN,NaN,k,S],0);for(let O=4;O<b;O+=2){let H=x[O]=w[O]*m,M=x[O+1]=w[O+1]*f;C.set(de.createBezierPoints(k,S,E,D,H,M),(O-2)*3),[k,S,E,D]=[E,D,H,M]}}if(p.length===0)return null;let g=s?new Rl:new Oo;return g.build(p,n,r,1,i,s?0:d,o),{outline:g,newCurves:v,areContours:s,thickness:d,width:c,height:u}}static async compressSignature({outlines:e,areContours:n,thickness:r,width:i,height:o}){let a=1/0,s=-1/0,l=0;for(let w of e){l+=w.length;for(let b=2,x=w.length;b<x;b++){let C=w[b]-w[b-2];a=Math.min(a,C),s=Math.max(s,C)}}let c;a>=-128&&s<=127?c=Int8Array:a>=-32768&&s<=32767?c=Int16Array:c=Int32Array;let u=e.length,d=dd+cl*u,p=new Uint32Array(d),h=0;p[h++]=d*Uint32Array.BYTES_PER_ELEMENT+(l-2*u)*c.BYTES_PER_ELEMENT,p[h++]=0,p[h++]=i,p[h++]=o,p[h++]=n?0:1,p[h++]=Math.max(0,Math.floor(r??0)),p[h++]=u,p[h++]=c.BYTES_PER_ELEMENT;for(let w of e)p[h++]=w.length-2,p[h++]=w[0],p[h++]=w[1];let m=new CompressionStream("deflate-raw"),f=m.writable.getWriter();await f.ready,f.write(p);let v=c.prototype.constructor;for(let w of e){let b=new v(w.length-2);for(let x=2,C=w.length;x<C;x++)b[x-2]=w[x]-w[x-2];f.write(b)}f.close();let g=await new Response(m.readable).arrayBuffer(),y=new Uint8Array(g);return $C(y)}static async decompressSignature(e){try{let n=eI(e),{readable:r,writable:i}=new DecompressionStream("deflate-raw"),o=i.getWriter();await o.ready,o.write(n).then(async()=>{await o.ready,await o.close()}).catch(()=>{});let a=null,s=0;for await(let w of r)a||=new Uint8Array(new Uint32Array(w.buffer,0,4)[0]),a.set(w,s),s+=w.length;let l=new Uint32Array(a.buffer,0,a.length>>2),c=l[1];if(c!==0)throw new Error(`Invalid version: ${c}`);let u=l[2],d=l[3],p=l[4]===0,h=l[5],m=l[6],f=l[7],v=[],g=(dd+cl*m)*Uint32Array.BYTES_PER_ELEMENT,y;switch(f){case Int8Array.BYTES_PER_ELEMENT:y=new Int8Array(a.buffer,g);break;case Int16Array.BYTES_PER_ELEMENT:y=new Int16Array(a.buffer,g);break;case Int32Array.BYTES_PER_ELEMENT:y=new Int32Array(a.buffer,g);break}s=0;for(let w=0;w<m;w++){let b=l[cl*w+dd],x=new Float32Array(b+2);v.push(x);for(let C=0;C<cl-1;C++)x[C]=l[cl*w+dd+C+1];for(let C=0;C<b;C++)x[C+2]=x[C]+y[s++]}return{areContours:p,thickness:h,outlines:v,width:u,height:d}}catch(n){return ke(`decompressSignature: ${n}`),null}}},Jg=class t extends Vd{constructor(){super(),super.updateProperties({fill:at._defaultLineColor,"stroke-width":0})}clone(){let e=new t;return e.updateAll(this),e}},ey=class t extends Kd{constructor(e){super(e),super.updateProperties({stroke:at._defaultLineColor,"stroke-width":1})}clone(){let e=new t(this._viewParameters);return e.updateAll(this),e}},ty=class t extends Wd{#e=!1;#t=null;#r=null;#n=null;static _type="signature";static _editorType=Ee.SIGNATURE;static _defaultDrawingOptions=null;constructor(e){super({...e,mustBeCommitted:!0,name:"signatureEditor"}),this._willKeepAspectRatio=!0,this.#r=e.signatureData||null,this.#t=null,this.defaultL10nId="pdfjs-editor-signature-editor1"}static initialize(e,n){at.initialize(e,n),this._defaultDrawingOptions=new Jg,this._defaultDrawnSignatureOptions=new ey(n.viewParameters)}static getDefaultDrawingOptions(e){let n=this._defaultDrawingOptions.clone();return n.updateProperties(e),n}static get supportMultipleDrawings(){return!1}static get typesMap(){return Ne(this,"typesMap",new Map)}static get isDrawer(){return!1}get telemetryFinalData(){return{type:"signature",hasDescription:!!this.#t}}static computeTelemetryFinalData(e){let n=e.get("hasDescription");return{hasAltText:n.get(!0)??0,hasNoAltText:n.get(!1)??0}}get isResizable(){return!0}onScaleChanging(){this._drawId!==null&&super.onScaleChanging()}render(){if(this.div)return this.div;let e,n,{_isCopy:r}=this;if(r&&(this._isCopy=!1,e=this.x,n=this.y),super.render(),this._drawId===null)if(this.#r){let{lines:i,mustSmooth:o,areContours:a,description:s,uuid:l,heightInPage:c}=this.#r,{rawDims:{pageWidth:u,pageHeight:d},rotation:p}=this.parent.viewport,h=ai.processDrawnLines({lines:i,pageWidth:u,pageHeight:d,rotation:p,innerMargin:t._INNER_MARGIN,mustSmooth:o,areContours:a});this.addSignature(h,c,s,l)}else this.div.setAttribute("data-l10n-args",JSON.stringify({description:""})),this.div.hidden=!0,this._uiManager.getSignature(this);else this.div.setAttribute("data-l10n-args",JSON.stringify({description:this.#t||""}));return r&&(this._isCopy=!0,this._moveAfterPaste(e,n)),this.div}setUuid(e){this.#n=e,this.addEditToolbar()}getUuid(){return this.#n}get description(){return this.#t}set description(e){this.#t=e,this.div&&(this.div.setAttribute("data-l10n-args",JSON.stringify({description:e})),super.addEditToolbar().then(n=>{n?.updateEditSignatureButton(e)}))}getSignaturePreview(){let{newCurves:e,areContours:n,thickness:r,width:i,height:o}=this.#r,a=Math.max(i,o),s=ai.processDrawnLines({lines:{curves:e.map(l=>({points:l})),thickness:r,width:i,height:o},pageWidth:a,pageHeight:a,rotation:0,innerMargin:0,mustSmooth:!1,areContours:n});return{areContours:n,outline:s.outline}}get toolbarButtons(){return this._uiManager.signatureManager?[["editSignature",this._uiManager.signatureManager]]:super.toolbarButtons}addSignature(e,n,r,i){let{x:o,y:a}=this,{outline:s}=this.#r=e;this.#e=s instanceof Rl,this.description=r;let l;this.#e?l=t.getDefaultDrawingOptions():(l=t._defaultDrawnSignatureOptions.clone(),l.updateProperties({"stroke-width":s.thickness})),this._addOutlines({drawOutlines:s,drawingOptions:l});let[,c]=this.pageDimensions,u=n/c;u=u>=1?.5:u,this.width*=u/this.height,this.width>=1&&(u*=.9/this.width,this.width=.9),this.height=u,this.setDims(),this.x=o,this.y=a,this.center(),this._onResized(),this.onScaleChanging(),this.rotate(),this._uiManager.addToAnnotationStorage(this),this.setUuid(i),this._reportTelemetry({action:"pdfjs.signature.inserted",data:{hasBeenSaved:!!i,hasDescription:!!r}}),this.div.hidden=!1}getFromImage(e){let{rawDims:{pageWidth:n,pageHeight:r},rotation:i}=this.parent.viewport;return ai.process(e,n,r,i,t._INNER_MARGIN)}getFromText(e,n){let{rawDims:{pageWidth:r,pageHeight:i},rotation:o}=this.parent.viewport;return ai.extractContoursFromText(e,n,r,i,o,t._INNER_MARGIN)}getDrawnSignature(e){let{rawDims:{pageWidth:n,pageHeight:r},rotation:i}=this.parent.viewport;return ai.processDrawnLines({lines:e,pageWidth:n,pageHeight:r,rotation:i,innerMargin:t._INNER_MARGIN,mustSmooth:!1,areContours:!1})}createDrawingOptions({areContours:e,thickness:n}){e?this._drawingOptions=t.getDefaultDrawingOptions():(this._drawingOptions=t._defaultDrawnSignatureOptions.clone(),this._drawingOptions.updateProperties({"stroke-width":n}))}serialize(e=!1){if(this.isEmpty())return null;let{lines:n,points:r}=this.serializeDraw(e),{_drawingOptions:{"stroke-width":i}}=this,o=Object.assign(super.serialize(e),{isSignature:!0,areContours:this.#e,color:[0,0,0],thickness:this.#e?0:i});return this.addComment(o),e?(o.paths={lines:n,points:r},o.uuid=this.#n,o.isCopy=!0):o.lines=n,this.#t&&(o.accessibilityData={type:"Figure",alt:this.#t}),o}static deserializeDraw(e,n,r,i,o,a){return a.areContours?Rl.deserialize(e,n,r,i,o,a):Oo.deserialize(e,n,r,i,o,a)}static async deserialize(e,n,r){let i=await super.deserialize(e,n,r);return i.#e=e.areContours,i.description=e.accessibilityData?.alt||"",i.#n=e.uuid,i}},ny=class extends at{#e=null;#t=null;#r=null;#n=null;#a=null;#i="";#o=null;#s=!1;#c=null;#l=!1;#p=!1;static _type="stamp";static _editorType=Ee.STAMP;constructor(e){super({...e,name:"stampEditor"}),this.#n=e.bitmapUrl,this.#a=e.bitmapFile,this.defaultL10nId="pdfjs-editor-stamp-editor"}static initialize(e,n){at.initialize(e,n)}static isHandlingMimeForPasting(e){return md.includes(e)}static paste(e,n){n.pasteEditor({mode:Ee.STAMP},{bitmapFile:e.getAsFile()})}altTextFinish(){this._uiManager.useNewAltTextFlow&&(this.div.hidden=!1),super.altTextFinish()}get telemetryFinalData(){return{type:"stamp",hasAltText:!!this.altTextData?.altText}}static computeTelemetryFinalData(e){let n=e.get("hasAltText");return{hasAltText:n.get(!0)??0,hasNoAltText:n.get(!1)??0}}#d(e,n=!1){if(!e){this.remove();return}this.#e=e.bitmap,n||(this.#t=e.id,this.#l=e.isSvg),e.file&&(this.#i=e.file.name),this.#f()}#h(){if(this.#r=null,this._uiManager.enableWaiting(!1),!!this.#o){if(this._uiManager.useNewAltTextWhenAddingImage&&this._uiManager.useNewAltTextFlow&&this.#e){this.addEditToolbar().then(()=>{this._editToolbar.hide(),this._uiManager.editAltText(this,!0)});return}if(!this._uiManager.useNewAltTextWhenAddingImage&&this._uiManager.useNewAltTextFlow&&this.#e){this._reportTelemetry({action:"pdfjs.image.image_added",data:{alt_text_modal:!1,alt_text_type:"empty"}});try{this.mlGuessAltText()}catch{}}this.div.focus()}}async mlGuessAltText(e=null,n=!0){if(this.hasAltTextData())return null;let{mlManager:r}=this._uiManager;if(!r)throw new Error("No ML.");if(!await r.isEnabledFor("altText"))throw new Error("ML isn't enabled for alt text.");let{data:i,width:o,height:a}=e||this.copyCanvas(null,null,!0).imageData,s=await r.guess({name:"altText",request:{data:i,width:o,height:a,channels:i.length/(o*a)}});if(!s)throw new Error("No response from the AI service.");if(s.error)throw new Error("Error from the AI service.");if(s.cancel)return null;if(!s.output)throw new Error("No valid response from the AI service.");let l=s.output;return await this.setGuessedAltText(l),n&&!this.hasAltTextData()&&(this.altTextData={alt:l,decorative:!1}),l}#g(){if(this.#t){this._uiManager.enableWaiting(!0),this._uiManager.imageManager.getFromId(this.#t).then(r=>this.#d(r,!0)).finally(()=>this.#h());return}if(this.#n){let r=this.#n;this.#n=null,this._uiManager.enableWaiting(!0),this.#r=this._uiManager.imageManager.getFromUrl(r).then(i=>this.#d(i)).finally(()=>this.#h());return}if(this.#a){let r=this.#a;this.#a=null,this._uiManager.enableWaiting(!0),this.#r=this._uiManager.imageManager.getFromFile(r).then(i=>this.#d(i)).finally(()=>this.#h());return}let e=document.createElement("input");e.type="file",e.accept=md.join(",");let n=this._uiManager._signal;this.#r=new Promise(r=>{e.addEventListener("change",async()=>{if(!e.files||e.files.length===0)this.remove();else{this._uiManager.enableWaiting(!0);let i=await this._uiManager.imageManager.getFromFile(e.files[0]);this._reportTelemetry({action:"pdfjs.image.image_selected",data:{alt_text_modal:this._uiManager.useNewAltTextFlow}}),this.#d(i)}r()},{signal:n}),e.addEventListener("cancel",()=>{this.remove(),r()},{signal:n})}).finally(()=>this.#h()),e.click()}remove(){this.#t&&(this.#e=null,this._uiManager.imageManager.deleteId(this.#t),this.#o?.remove(),this.#o=null,this.#c&&(clearTimeout(this.#c),this.#c=null)),super.remove()}rebuild(){if(!this.parent){this.#t&&this.#g();return}super.rebuild(),this.div!==null&&(this.#t&&this.#o===null&&this.#g(),this.isAttachedToDOM||this.parent.add(this))}onceAdded(e){this._isDraggable=!0,e&&this.div.focus()}isEmpty(){return!(this.#r||this.#e||this.#n||this.#a||this.#t||this.#s)}get toolbarButtons(){return[["altText",this.createAltText()]]}get isResizable(){return!0}render(){if(this.div)return this.div;let e,n;return this._isCopy&&(e=this.x,n=this.y),super.render(),this.div.hidden=!0,this.createAltText(),this.#s||(this.#e?this.#f():this.#g()),this._isCopy&&this._moveAfterPaste(e,n),this._uiManager.addShouldRescale(this),this.div}setCanvas(e,n){let{id:r,bitmap:i}=this._uiManager.imageManager.getFromCanvas(e,n);n.remove(),r&&this._uiManager.imageManager.isValidId(r)&&(this.#t=r,i&&(this.#e=i),this.#s=!1,this.#f())}_onResized(){this.onScaleChanging()}onScaleChanging(){if(!this.parent)return;this.#c!==null&&clearTimeout(this.#c);let e=200;this.#c=setTimeout(()=>{this.#c=null,this.#m()},e)}#f(){let{div:e}=this,{width:n,height:r}=this.#e,[i,o]=this.pageDimensions,a=.75;if(this.width)n=this.width*i,r=this.height*o;else if(n>a*i||r>a*o){let l=Math.min(a*i/n,a*o/r);n*=l,r*=l}this._uiManager.enableWaiting(!1);let s=this.#o=document.createElement("canvas");s.setAttribute("role","img"),this.addContainer(s),this.width=n/i,this.height=r/o,this.setDims(),this._initialOptions?.isCentered?this.center():this.fixAndSetPosition(),this._initialOptions=null,(!this._uiManager.useNewAltTextWhenAddingImage||!this._uiManager.useNewAltTextFlow||this.annotationElementId)&&(e.hidden=!1),this.#m(),this.#p||(this.parent.addUndoableEditor(this),this.#p=!0),this._reportTelemetry({action:"inserted_image"}),this.#i&&this.div.setAttribute("aria-description",this.#i),this.annotationElementId||this._uiManager.a11yAlert("pdfjs-editor-stamp-added-alert")}copyCanvas(e,n,r=!1){e||(e=224);let{width:i,height:o}=this.#e,a=new Mr,s=this.#e,l=i,c=o,u=null;if(n){if(i>n||o>n){let C=Math.min(n/i,n/o);l=Math.floor(i*C),c=Math.floor(o*C)}u=document.createElement("canvas");let p=u.width=Math.ceil(l*a.sx),h=u.height=Math.ceil(c*a.sy);this.#l||(s=this.#u(p,h));let m=u.getContext("2d");m.filter=this._uiManager.hcmFilter;let f="white",v="#cfcfd8";this._uiManager.hcmFilter!=="none"?v="black":Pm.isDarkMode&&(f="#8f8f9d",v="#42414d");let g=15,y=g*a.sx,w=g*a.sy,b=new OffscreenCanvas(y*2,w*2),x=b.getContext("2d");x.fillStyle=f,x.fillRect(0,0,y*2,w*2),x.fillStyle=v,x.fillRect(0,0,y,w),x.fillRect(y,w,y,w),m.fillStyle=m.createPattern(b,"repeat"),m.fillRect(0,0,p,h),m.drawImage(s,0,0,s.width,s.height,0,0,p,h)}let d=null;if(r){let p,h;if(a.symmetric&&s.width<e&&s.height<e)p=s.width,h=s.height;else if(s=this.#e,i>e||o>e){let v=Math.min(e/i,e/o);p=Math.floor(i*v),h=Math.floor(o*v),this.#l||(s=this.#u(p,h))}let f=new OffscreenCanvas(p,h).getContext("2d",{willReadFrequently:!0});f.drawImage(s,0,0,s.width,s.height,0,0,p,h),d={width:p,height:h,data:f.getImageData(0,0,p,h).data}}return{canvas:u,width:l,height:c,imageData:d}}#u(e,n){let{width:r,height:i}=this.#e,o=r,a=i,s=this.#e;for(;o>2*e||a>2*n;){let l=o,c=a;o>2*e&&(o=o>=16384?Math.floor(o/2)-1:Math.ceil(o/2)),a>2*n&&(a=a>=16384?Math.floor(a/2)-1:Math.ceil(a/2));let u=new OffscreenCanvas(o,a);u.getContext("2d").drawImage(s,0,0,l,c,0,0,o,a),s=u.transferToImageBitmap()}return s}#m(){let[e,n]=this.parentDimensions,{width:r,height:i}=this,o=new Mr,a=Math.ceil(r*e*o.sx),s=Math.ceil(i*n*o.sy),l=this.#o;if(!l||l.width===a&&l.height===s)return;l.width=a,l.height=s;let c=this.#l?this.#e:this.#u(a,s),u=l.getContext("2d");u.filter=this._uiManager.hcmFilter,u.drawImage(c,0,0,c.width,c.height,0,0,a,s)}#y(e){if(e){if(this.#l){let i=this._uiManager.imageManager.getSvgUrl(this.#t);if(i)return i}let n=document.createElement("canvas");return{width:n.width,height:n.height}=this.#e,n.getContext("2d").drawImage(this.#e,0,0),n.toDataURL()}if(this.#l){let[n,r]=this.pageDimensions,i=Math.round(this.width*n*si.PDF_TO_CSS_UNITS),o=Math.round(this.height*r*si.PDF_TO_CSS_UNITS),a=new OffscreenCanvas(i,o);return a.getContext("2d").drawImage(this.#e,0,0,this.#e.width,this.#e.height,0,0,i,o),a.transferToImageBitmap()}return structuredClone(this.#e)}static async deserialize(e,n,r){let i=null,o=!1;if(e instanceof Ud){let{data:{rect:f,rotation:v,id:g,structParent:y,popupRef:w,richText:b,contentsObj:x,creationDate:C,modificationDate:k},container:S,parent:{page:{pageNumber:E}},canvas:D}=e,O,H;D?(delete e.canvas,{id:O,bitmap:H}=r.imageManager.getFromCanvas(S.id,D),D.remove()):(o=!0,e._hasNoCanvas=!0);let M=(await n._structTree.getAriaAttributes(`${ay}${g}`))?.get("aria-label")||"";i=e={annotationType:Ee.STAMP,bitmapId:O,bitmap:H,pageIndex:E-1,rect:f.slice(0),rotation:v,annotationElementId:g,id:g,deleted:!1,accessibilityData:{decorative:!1,altText:M},isSvg:!1,structParent:y,popupRef:w,richText:b,comment:x?.str||null,creationDate:C,modificationDate:k}}let a=await super.deserialize(e,n,r),{rect:s,bitmap:l,bitmapUrl:c,bitmapId:u,isSvg:d,accessibilityData:p}=e;o?(r.addMissingCanvas(e.id,a),a.#s=!0):u&&r.imageManager.isValidId(u)?(a.#t=u,l&&(a.#e=l)):a.#n=c,a.#l=d;let[h,m]=a.pageDimensions;return a.width=(s[2]-s[0])/h,a.height=(s[3]-s[1])/m,p&&(a.altTextData=p),a._initialData=i,e.comment&&a.setCommentData(e),a.#p=!!i,a}serialize(e=!1,n=null){if(this.isEmpty())return null;if(this.deleted)return this.serializeDeleted();let r=Object.assign(super.serialize(e),{bitmapId:this.#t,isSvg:this.#l});if(this.addComment(r),e)return r.bitmapUrl=this.#y(!0),r.accessibilityData=this.serializeAltText(!0),r.isCopy=!0,r;let{decorative:i,altText:o}=this.serializeAltText(!1);if(!i&&o&&(r.accessibilityData={type:"Figure",alt:o}),this.annotationElementId){let s=this.#v(r);return s.isSame?null:(s.isSameAltText?delete r.accessibilityData:r.accessibilityData.structParent=this._initialData.structParent??-1,r.id=this.annotationElementId,delete r.bitmapId,r)}if(n===null)return r;n.stamps||=new Map;let a=this.#l?(r.rect[2]-r.rect[0])*(r.rect[3]-r.rect[1]):null;if(!n.stamps.has(this.#t))n.stamps.set(this.#t,{area:a,serialized:r}),r.bitmap=this.#y(!1);else if(this.#l){let s=n.stamps.get(this.#t);a>s.area&&(s.area=a,s.serialized.bitmap.close(),s.serialized.bitmap=this.#y(!1))}return r}#v(e){let{pageIndex:n,accessibilityData:{altText:r}}=this._initialData,i=e.pageIndex===n,o=(e.accessibilityData?.alt||"")===r;return{isSame:!this.hasEditedComment&&!this._hasBeenMoved&&!this._hasBeenResized&&i&&o,isSameAltText:o}}renderAnnotationElement(e){return this.deleted?(e.hide(),null):(e.updateEdited({rect:this.getPDFRect(),popup:this.comment}),null)}},Qd=class t{#e;#t=!1;#r=null;#n=null;#a=null;#i=new Map;#o=!1;#s=!1;#c=!1;#l=null;#p=null;#d=null;#h=null;#g=null;#f=-1;#u;static _initialized=!1;static#m=new Map([Qg,qg,ny,$d,ty].map(e=>[e._editorType,e]));constructor({uiManager:e,pageIndex:n,div:r,structTreeLayer:i,accessibilityManager:o,annotationLayer:a,drawLayer:s,textLayer:l,viewport:c,l10n:u}){let d=[...t.#m.values()];if(!t._initialized){t._initialized=!0;for(let p of d)p.initialize(u,e)}e.registerEditorTypes(d),this.#u=e,this.pageIndex=n,this.div=r,this.#e=o,this.#r=a,this.viewport=c,this.#d=l,this.drawLayer=s,this._structTree=i,this.#u.addLayer(this)}get isEmpty(){return this.#i.size===0}get isInvisible(){return this.isEmpty&&this.#u.getMode()===Ee.NONE}updateToolbar(e){this.#u.updateToolbar(e)}updateMode(e=this.#u.getMode()){switch(this.#b(),e){case Ee.NONE:this.div.classList.toggle("nonEditing",!0),this.disableTextSelection(),this.togglePointerEvents(!1),this.toggleAnnotationLayerPointerEvents(!0),this.disableClick();return;case Ee.INK:this.disableTextSelection(),this.togglePointerEvents(!0),this.enableClick();break;case Ee.HIGHLIGHT:this.enableTextSelection(),this.togglePointerEvents(!1),this.disableClick();break;default:this.disableTextSelection(),this.togglePointerEvents(!0),this.enableClick()}this.toggleAnnotationLayerPointerEvents(!1);let{classList:n}=this.div;if(n.toggle("nonEditing",!1),e===Ee.POPUP)n.toggle("commentEditing",!0);else{n.toggle("commentEditing",!1);for(let r of t.#m.values())n.toggle(`${r._type}Editing`,e===r._editorType)}this.div.hidden=!1}hasTextLayer(e){return e===this.#d?.div}setEditingState(e){this.#u.setEditingState(e)}addCommands(e){this.#u.addCommands(e)}cleanUndoStack(e){this.#u.cleanUndoStack(e)}toggleDrawing(e=!1){this.div.classList.toggle("drawing",!e)}togglePointerEvents(e=!1){this.div.classList.toggle("disabled",!e)}toggleAnnotationLayerPointerEvents(e=!1){this.#r?.div.classList.toggle("disabled",!e)}get#y(){return this.#i.size!==0?this.#i.values():this.#u.getEditors(this.pageIndex)}async enable(){this.#c=!0,this.div.tabIndex=0,this.togglePointerEvents(!0),this.div.classList.toggle("nonEditing",!1),this.#g?.abort(),this.#g=null;let e=new Set;for(let r of this.#y)r.enableEditing(),r.show(!0),r.annotationElementId&&(this.#u.removeChangedExistingAnnotation(r),e.add(r.annotationElementId));let n=this.#r;if(n)for(let r of n.getEditableAnnotations()){if(r.hide(),this.#u.isDeletedAnnotationElement(r.data.id)||e.has(r.data.id))continue;let i=await this.deserialize(r);i&&(this.addOrRebuild(i),i.enableEditing())}this.#c=!1,this.#u._eventBus.dispatch("editorsrendered",{source:this,pageNumber:this.pageIndex+1})}disable(){if(this.#s=!0,this.div.tabIndex=-1,this.togglePointerEvents(!1),this.div.classList.toggle("nonEditing",!0),this.#d&&!this.#g){this.#g=new AbortController;let r=this.#u.combinedSignal(this.#g);this.#d.div.addEventListener("pointerdown",i=>{let{clientX:a,clientY:s,timeStamp:l}=i,c=this.#f;if(l-c>500){this.#f=l;return}this.#f=-1;let{classList:u}=this.div;u.toggle("getElements",!0);let d=document.elementsFromPoint(a,s);if(u.toggle("getElements",!1),!this.div.contains(d[0]))return;let p,h=new RegExp(`^${hl}[0-9]+$`);for(let f of d)if(h.test(f.id)){p=f.id;break}if(!p)return;let m=this.#i.get(p);m?.annotationElementId===null&&(i.stopPropagation(),i.preventDefault(),m.dblclick(i))},{signal:r,capture:!0})}let e=this.#r;if(e){let r=new Map,i=new Map;for(let a of this.#y){if(a.disableEditing(),!a.annotationElementId){a.updateFakeAnnotationElement(e);continue}if(a.serialize()!==null){r.set(a.annotationElementId,a);continue}else i.set(a.annotationElementId,a);this.getEditableAnnotation(a.annotationElementId)?.show(),a.remove()}let o=e.getEditableAnnotations();for(let a of o){let{id:s}=a.data;if(this.#u.isDeletedAnnotationElement(s)){a.updateEdited({deleted:!0});continue}let l=i.get(s);if(l){l.resetAnnotationElement(a),l.show(!1),a.show();continue}l=r.get(s),l&&(this.#u.addChangedExistingAnnotation(l),l.renderAnnotationElement(a)&&l.show(!1)),a.show()}}this.#b(),this.isEmpty&&(this.div.hidden=!0);let{classList:n}=this.div;for(let r of t.#m.values())n.remove(`${r._type}Editing`);this.disableTextSelection(),this.toggleAnnotationLayerPointerEvents(!0),this.#s=!1}getEditableAnnotation(e){return this.#r?.getEditableAnnotation(e)||null}setActiveEditor(e){this.#u.getActive()!==e&&this.#u.setActiveEditor(e)}enableTextSelection(){if(this.div.tabIndex=-1,this.#d?.div&&!this.#h){this.#h=new AbortController;let e=this.#u.combinedSignal(this.#h);this.#d.div.addEventListener("pointerdown",this.#v.bind(this),{signal:e}),this.#d.div.classList.add("highlighting")}}disableTextSelection(){this.div.tabIndex=0,this.#d?.div&&this.#h&&(this.#h.abort(),this.#h=null,this.#d.div.classList.remove("highlighting"))}#v(e){this.#u.unselectAll();let{target:n}=e;if(n===this.#d.div||(n.getAttribute("role")==="img"||n.classList.contains("endOfContent"))&&this.#d.div.contains(n)){let{isMac:r}=Dt.platform;if(e.button!==0||e.ctrlKey&&r)return;this.#u.showAllEditors("highlight",!0,!0),this.#d.div.classList.add("free"),this.toggleDrawing(),$d.startHighlighting(this,this.#u.direction==="ltr",{target:this.#d.div,x:e.x,y:e.y}),this.#d.div.addEventListener("pointerup",()=>{this.#d.div.classList.remove("free"),this.toggleDrawing(!0)},{once:!0,signal:this.#u._signal}),e.preventDefault()}}enableClick(){if(this.#n)return;this.#n=new AbortController;let e=this.#u.combinedSignal(this.#n);this.div.addEventListener("pointerdown",this.pointerdown.bind(this),{signal:e});let n=this.pointerup.bind(this);this.div.addEventListener("pointerup",n,{signal:e}),this.div.addEventListener("pointercancel",n,{signal:e})}disableClick(){this.#n?.abort(),this.#n=null}attach(e){this.#i.set(e.id,e);let{annotationElementId:n}=e;n&&this.#u.isDeletedAnnotationElement(n)&&this.#u.removeDeletedAnnotationElement(e)}detach(e){this.#i.delete(e.id),this.#e?.removePointerInTextLayer(e.contentDiv),!this.#s&&e.annotationElementId&&this.#u.addDeletedAnnotationElement(e)}remove(e){this.detach(e),this.#u.removeEditor(e),e.div.remove(),e.isAttachedToDOM=!1}changeParent(e){e.parent!==this&&(e.parent&&e.annotationElementId&&(this.#u.addDeletedAnnotationElement(e.annotationElementId),at.deleteAnnotationElement(e),e.annotationElementId=null),this.attach(e),e.parent?.detach(e),e.setParent(this),e.div&&e.isAttachedToDOM&&(e.div.remove(),this.div.append(e.div)))}add(e){if(!(e.parent===this&&e.isAttachedToDOM)){if(this.changeParent(e),this.#u.addEditor(e),this.attach(e),!e.isAttachedToDOM){let n=e.render();this.div.append(n),e.isAttachedToDOM=!0}e.fixAndSetPosition(),e.onceAdded(!this.#c),this.#u.addToAnnotationStorage(e),e._reportTelemetry(e.telemetryInitialData)}}moveEditorInDOM(e){if(!e.isAttachedToDOM)return;let{activeElement:n}=document;e.div.contains(n)&&!this.#a&&(e._focusEventsAllowed=!1,this.#a=setTimeout(()=>{this.#a=null,e.div.contains(document.activeElement)?e._focusEventsAllowed=!0:(e.div.addEventListener("focusin",()=>{e._focusEventsAllowed=!0},{once:!0,signal:this.#u._signal}),n.focus())},0)),e._structTreeParentId=this.#e?.moveElementInDOM(this.div,e.div,e.contentDiv,!0)}addOrRebuild(e){e.needsToBeRebuilt()?(e.parent||=this,e.rebuild(),e.show()):this.add(e)}addUndoableEditor(e){let n=()=>e._uiManager.rebuild(e),r=()=>{e.remove()};this.addCommands({cmd:n,undo:r,mustExec:!1})}getEditorByUID(e){for(let n of this.#i.values())if(n.uid===e)return n;return null}getNextId(){return this.#u.getId()}get#w(){return t.#m.get(this.#u.getMode())}combinedSignal(e){return this.#u.combinedSignal(e)}#A(e){let n=this.#w;return n?new n.prototype.constructor(e):null}canCreateNewEmptyEditor(){return this.#w?.canCreateNewEmptyEditor()}async pasteEditor(e,n){this.updateToolbar(e),await this.#u.updateMode(e.mode);let{offsetX:r,offsetY:i}=this.#S(),o=this.getNextId(),a=this.#A({parent:this,id:o,x:r,y:i,uiManager:this.#u,isCentered:!0,...n});a&&this.add(a)}async deserialize(e){return await t.#m.get(e.annotationType??e.annotationEditorType)?.deserialize(e,this,this.#u)||null}createAndAddNewEditor(e,n,r={}){let i=this.getNextId(),o=this.#A({parent:this,id:i,x:e.offsetX,y:e.offsetY,uiManager:this.#u,isCentered:n,...r});return o&&this.add(o),o}get boundingClientRect(){return this.div.getBoundingClientRect()}#S(){let{x:e,y:n,width:r,height:i}=this.boundingClientRect,o=Math.max(0,e),a=Math.max(0,n),s=Math.min(window.innerWidth,e+r),l=Math.min(window.innerHeight,n+i),c=(o+s)/2-e,u=(a+l)/2-n,[d,p]=this.viewport.rotation%180===0?[c,u]:[u,c];return{offsetX:d,offsetY:p}}addNewEditor(e={}){this.createAndAddNewEditor(this.#S(),!0,e)}setSelected(e){this.#u.setSelected(e)}toggleSelected(e){this.#u.toggleSelected(e)}unselect(e){this.#u.unselect(e)}pointerup(e){let{isMac:n}=Dt.platform;if(e.button!==0||e.ctrlKey&&n||e.target!==this.div||!this.#o||(this.#o=!1,this.#w?.isDrawer&&this.#w.supportMultipleDrawings))return;if(!this.#t){this.#t=!0;return}let r=this.#u.getMode();if(r===Ee.STAMP||r===Ee.SIGNATURE){this.#u.unselectAll();return}this.createAndAddNewEditor(e,!1)}pointerdown(e){if(this.#u.getMode()===Ee.HIGHLIGHT&&this.enableTextSelection(),this.#o){this.#o=!1;return}let{isMac:n}=Dt.platform;if(e.button!==0||e.ctrlKey&&n||e.target!==this.div)return;if(this.#o=!0,this.#w?.isDrawer){this.startDrawingSession(e);return}let r=this.#u.getActive();this.#t=!r||r.isEmpty()}startDrawingSession(e){if(this.div.focus({preventScroll:!0}),this.#l){this.#w.startDrawing(this,this.#u,!1,e);return}this.#u.setCurrentDrawingSession(this),this.#l=new AbortController;let n=this.#u.combinedSignal(this.#l);this.div.addEventListener("blur",({relatedTarget:r})=>{r&&!this.div.contains(r)&&(this.#p=null,this.commitOrRemove())},{signal:n}),this.#w.startDrawing(this,this.#u,!1,e)}pause(e){if(e){let{activeElement:n}=document;this.div.contains(n)&&(this.#p=n);return}this.#p&&setTimeout(()=>{this.#p?.focus(),this.#p=null},0)}endDrawingSession(e=!1){return this.#l?(this.#u.setCurrentDrawingSession(null),this.#l.abort(),this.#l=null,this.#p=null,this.#w.endDrawing(e)):null}findNewParent(e,n,r){let i=this.#u.findParent(n,r);return i===null||i===this?!1:(i.changeParent(e),!0)}commitOrRemove(){return this.#l?(this.endDrawingSession(),!0):!1}onScaleChanging(){this.#l&&this.#w.onScaleChangingWhenDrawing(this)}destroy(){this.commitOrRemove(),this.#u.getActive()?.parent===this&&(this.#u.commitOrRemove(),this.#u.setActiveEditor(null)),this.#a&&(clearTimeout(this.#a),this.#a=null);for(let e of this.#i.values())this.#e?.removePointerInTextLayer(e.contentDiv),e.setParent(null),e.isAttachedToDOM=!1,e.div.remove();this.div=null,this.#i.clear(),this.#u.removeLayer(this)}#b(){for(let e of this.#i.values())e.isEmpty()&&e.remove()}render({viewport:e}){this.viewport=e,Wi(this.div,e);for(let n of this.#u.getEditors(this.pageIndex))this.add(n),n.rebuild();this.updateMode()}update({viewport:e}){this.#u.commitOrRemove(),this.#b();let n=this.viewport.rotation,r=e.rotation;if(this.viewport=e,Wi(this.div,{rotation:r}),n!==r)for(let i of this.#i.values())i.rotate(r)}get pageDimensions(){let{pageWidth:e,pageHeight:n}=this.viewport.rawDims;return[e,n]}get scale(){return this.#u.viewParameters.realScale}},Yd=class t{#e=null;#t=new Map;#r=new Map;static#n=0;constructor({pageIndex:e}){this.pageIndex=e}setParent(e){if(!this.#e){this.#e=e;return}if(this.#e!==e){if(this.#t.size>0)for(let n of this.#t.values())n.remove(),e.append(n);this.#e=e}}static get _svgFactory(){return Ne(this,"_svgFactory",new Po)}static#a(e,[n,r,i,o]){let{style:a}=e;a.top=`${100*r}%`,a.left=`${100*n}%`,a.width=`${100*i}%`,a.height=`${100*o}%`}#i(){let e=t._svgFactory.create(1,1,!0);return this.#e.append(e),e.setAttribute("aria-hidden",!0),e}#o(e,n){let r=t._svgFactory.createElement("clipPath");e.append(r);let i=`clip_${n}`;r.setAttribute("id",i),r.setAttribute("clipPathUnits","objectBoundingBox");let o=t._svgFactory.createElement("use");return r.append(o),o.setAttribute("href",`#${n}`),o.classList.add("clip"),i}#s(e,n){for(let[r,i]of Object.entries(n))i===null?e.removeAttribute(r):e.setAttribute(r,i)}draw(e,n=!1,r=!1){let i=t.#n++,o=this.#i(),a=t._svgFactory.createElement("defs");o.append(a);let s=t._svgFactory.createElement("path");a.append(s);let l=`path_p${this.pageIndex}_${i}`;s.setAttribute("id",l),s.setAttribute("vector-effect","non-scaling-stroke"),n&&this.#r.set(i,s);let c=r?this.#o(a,l):null,u=t._svgFactory.createElement("use");return o.append(u),u.setAttribute("href",`#${l}`),this.updateProperties(o,e),this.#t.set(i,o),{id:i,clipPathId:`url(#${c})`}}drawOutline(e,n){let r=t.#n++,i=this.#i(),o=t._svgFactory.createElement("defs");i.append(o);let a=t._svgFactory.createElement("path");o.append(a);let s=`path_p${this.pageIndex}_${r}`;a.setAttribute("id",s),a.setAttribute("vector-effect","non-scaling-stroke");let l;if(n){let d=t._svgFactory.createElement("mask");o.append(d),l=`mask_p${this.pageIndex}_${r}`,d.setAttribute("id",l),d.setAttribute("maskUnits","objectBoundingBox");let p=t._svgFactory.createElement("rect");d.append(p),p.setAttribute("width","1"),p.setAttribute("height","1"),p.setAttribute("fill","white");let h=t._svgFactory.createElement("use");d.append(h),h.setAttribute("href",`#${s}`),h.setAttribute("stroke","none"),h.setAttribute("fill","black"),h.setAttribute("fill-rule","nonzero"),h.classList.add("mask")}let c=t._svgFactory.createElement("use");i.append(c),c.setAttribute("href",`#${s}`),l&&c.setAttribute("mask",`url(#${l})`);let u=c.cloneNode();return i.append(u),c.classList.add("mainOutline"),u.classList.add("secondaryOutline"),this.updateProperties(i,e),this.#t.set(r,i),r}finalizeDraw(e,n){this.#r.delete(e),this.updateProperties(e,n)}updateProperties(e,n){if(!n)return;let{root:r,bbox:i,rootClass:o,path:a}=n,s=typeof e=="number"?this.#t.get(e):e;if(s){if(r&&this.#s(s,r),i&&t.#a(s,i),o){let{classList:l}=s;for(let[c,u]of Object.entries(o))l.toggle(c,u)}if(a){let c=s.firstChild.firstChild;this.#s(c,a)}}}updateParent(e,n){if(n===this)return;let r=this.#t.get(e);r&&(n.#e.append(r),this.#t.delete(e),n.#t.set(e,r))}remove(e){this.#r.delete(e),this.#e!==null&&(this.#t.get(e).remove(),this.#t.delete(e))}destroy(){this.#e=null;for(let e of this.#t.values())e.remove();this.#t.clear(),this.#r.clear()}};globalThis._pdfjsTestingUtils={HighlightOutliner:Al};globalThis.pdfjsLib={AbortException:vr,AnnotationEditorLayer:Qd,AnnotationEditorParamsType:ze,AnnotationEditorType:Ee,AnnotationEditorUIManager:Ki,AnnotationLayer:Gd,AnnotationMode:oi,AnnotationType:Et,applyOpacity:QC,build:a1,ColorPicker:xl,createValidAbsoluteUrl:ry,CSSConstants:gd,DOMSVGFactory:Po,DrawLayer:Yd,FeatureTest:Dt,fetchData:Fa,findContrastColor:YC,getDocument:i1,getFilenameFromUrl:VC,getPdfFilenameFromUrl:WC,getRGB:Ma,getUuid:oy,getXfaPageViewport:KC,GlobalWorkerOptions:Vi,ImageKind:dl,InvalidPDFException:Pa,isDataScheme:Nl,isPdfFile:qd,isValidExplicitDest:ZC,MathClamp:dn,noContextMenu:jn,normalizeUnicode:jC,OPS:Na,OutputScale:Mr,PasswordResponses:GC,PDFDataRangeTransport:bl,PDFDateString:Oa,PDFWorker:_a,PermissionFlag:UC,PixelsPerInch:si,RenderingCancelledException:Da,renderRichText:sy,ResponseException:Io,setLayerDimensions:Wi,shadow:Ne,SignatureExtractor:ai,stopEvent:bt,SupportedImageMimeTypes:md,TextLayer:La,TouchManager:yl,updateUrlHash:iy,Util:pe,VerbosityLevel:El,version:o1,XfaLayer:ml}});var z=be(Qt(),1),hk=be(H0(),1);var va=Object.freeze({maxUploadMb:20}),Fu={...va};function ba(t){let e=t&&typeof t=="object"&&!Array.isArray(t)?Number(t.maxUploadMb):Number.NaN;return{maxUploadMb:Number.isInteger(e)&&e>0?e:va.maxUploadMb}}function j0(t){return Fu=ba(t),{...Fu}}function Mu(){return{...Fu}}var kR={pdf:["application/pdf"],doc:["application/msword"],docx:["application/vnd.openxmlformats-officedocument.wordprocessingml.document"],xls:["application/vnd.ms-excel"],xlsx:["application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],png:["image/png"],jpg:["image/jpeg"],jpeg:["image/jpeg"],webp:["image/webp"]};function Bu(t,e,n=Fu){if(!Number.isFinite(t.size)||t.size<0)throw new Error("\u65E0\u6CD5\u786E\u8BA4\u4E0A\u4F20\u6587\u4EF6\u5927\u5C0F");let r=ba(n);if(t.size>r.maxUploadMb*1024*1024)throw new Error(`\u6587\u4EF6\u4E0D\u80FD\u8D85\u8FC7 ${r.maxUploadMb} MB`);let i=t.name.trim().split(".").pop()?.toLocaleLowerCase()??"",o=kR[i];if(!o)throw new Error("\u4EC5\u652F\u6301 PDF\u3001Word\u3001Excel\u3001PNG\u3001JPEG \u548C WEBP \u6587\u4EF6");let a=t.type.trim().toLocaleLowerCase();if(a&&!o.includes(a))throw new Error("\u6587\u4EF6\u6269\u5C55\u540D\u4E0E MIME \u7C7B\u578B\u4E0D\u5339\u914D");if(e&&!AR(i,a||o[0],e))throw new Error("\u6587\u4EF6\u7C7B\u578B\u4E0D\u7B26\u5408\u5F53\u524D\u4E0A\u4F20\u8981\u6C42");return{extension:i,mimeType:a||o[0]}}function AR(t,e,n){let r=n.split(",").map(i=>i.trim().toLocaleLowerCase()).filter(Boolean);return r.length?r.some(i=>i.startsWith(".")?i.slice(1)===t:i.endsWith("/*")?e.startsWith(`${i.slice(0,-1)}`):i===e):!0}var TR=["PI","CI","PL","CUSTOMS_DECLARATION"],ZD=[...TR,"PI_CI_PL"];var $0={upload_controlled_catalog:"trade-compliance-workbench/uploads/controlled-catalogs",upload_sanction_catalog:"trade-compliance-workbench/uploads/sanction-catalogs",upload_purchase_contract:"trade-compliance-workbench/uploads/purchase-contracts",upload_customer_contract:"trade-compliance-workbench/uploads/customer-contracts"};var V0="xpertai.remote_component",W0=1,RR=12e4;function K0(t={}){let e=t.target??window,n=t.parent??window.parent,r=t.timeoutMs??RR,i={...va},o=null,a=null,s=0,l={},c=!1,u=new Map,d=(m,f={},v)=>{if(!o&&m!=="ready")return;let g=m==="ready"?"*":a??"*";n.postMessage({channel:V0,protocolVersion:W0,instanceId:o,type:m,...f},g,v)},p=(m,f,v)=>{let g=`tcw-${Date.now()}-${++s}`;return new Promise((y,w)=>{let b=setTimeout(()=>{u.delete(g),w(new Error("\u8BF7\u6C42\u8D85\u65F6"))},r);u.set(g,{resolve:y,reject:w,timer:b}),d(m,{requestId:g,...f},v)})},h=m=>{if(m.source!==n)return;let f=IR(m.data)?m.data:null;if(!f)return;if(f.type==="init"){let g=PR(f.instanceId);if(!NR(m.origin)||g===null||a!==null&&(m.origin!==a||g!==o))return;a=m.origin,o=g,l.onInit?.({manifest:f.manifest,payload:f.payload,initialQuery:DR(f.initialQuery),locale:OR(f.locale),theme:f.theme});return}if(a===null||m.origin!==a||!o||f.instanceId!==o)return;if(f.type==="hostEvent"){l.onHostEvent?.(f.event);return}if(!f.requestId)return;let v=u.get(f.requestId);v&&(clearTimeout(v.timer),u.delete(f.requestId),f.type==="error"?v.reject(new Error(LR(f.message)||"\u8FDC\u7A0B\u8BF7\u6C42\u5931\u8D25")):v.resolve(f))};return{configure(m){i=ba(m.uploadPolicy),j0(i)},start(m){l=m,c||(e.addEventListener("message",h),c=!0),d("ready")},destroy(){c&&e.removeEventListener("message",h),c=!1,o=null,a=null;for(let m of u.values())clearTimeout(m.timer),m.reject(new Error("\u8FDC\u7A0B\u7EC4\u4EF6\u5DF2\u9500\u6BC1"));u.clear()},requestData(m={}){return p("requestData",{query:m})},executeAction(m,f={},v={},g){return p("executeAction",{actionKey:m,targetId:g,input:f,parameters:v})},async executeFileAction(m,f,v={},g={},y){Bu(f,void 0,i);let w=await f.arrayBuffer(),b=ER(m),x=b?{...v,originalFileName:f.name,workspaceUploadPath:b}:v;return p("executeFileAction",{actionKey:m,targetId:y,input:x,parameters:g,file:{name:f.name,originalname:f.name,type:f.type,size:f.size,lastModified:f.lastModified,buffer:w}},[w])},invokeClientCommand(m,f={}){return p("invokeClientCommand",{commandKey:m,payload:f})},reportResize(m=document.documentElement.scrollHeight,f=document.documentElement.scrollWidth){d("resize",{height:Math.max(720,Math.ceil(m)),width:Math.ceil(f),viewportBound:!0})},notify(m,f="success"){d("notify",{message:m,level:f})}}}function ER(t){return $0[t]}function IR(t){if(!t||typeof t!="object"||Array.isArray(t))return!1;let e=t;return e.channel===V0&&e.protocolVersion===W0&&typeof e.type=="string"}function NR(t){try{let e=new URL(t);return(e.protocol==="http:"||e.protocol==="https:")&&e.origin===t}catch{return!1}}function PR(t){return typeof t=="string"&&t.trim()?t:null}function DR(t){return t&&typeof t=="object"&&!Array.isArray(t)?t:void 0}function OR(t){return typeof t=="string"?t:void 0}function LR(t){if(typeof t=="string")return t;if(t&&typeof t=="object"){let e=t;return String(e.zh_Hans??e.en_US??"")}return""}var om=[10,20,50,100];function ji(t){return om.some(e=>e===t)}function Rn(t,e=20){let n=Number(t);return ji(n)?n:e}function yn(t){return JSON.stringify(t)}var sn=()=>({items:[]});function am(){return{uploadPolicy:{...va},dashboard:{},controlledGoods:sn(),controlledBatches:sn(),sanctionedCompanies:sn(),sanctionBatches:sn(),suppliers:sn(),purchaseOrders:sn(),purchaseLines:sn(),customers:sn(),customerContracts:sn(),customerContractAnalyses:sn(),derivedSalesOrders:[],salesCustomers:sn(),salesOrders:sn(),salesLines:sn(),salesFileOrders:sn(),generatedFiles:sn(),settings:{company:{logoFileId:null,logoPreviewUrl:null,companyNameZh:null,companyNameEn:null,unifiedSocialCreditCode:null,addressZh:null,addressEn:null,phone:null,email:null,revision:0},banks:[],profit:{status:"UNCONFIGURED",ruleVersion:"COMPLIANCE_V1",minimumOrderProfitRate:"0.05",exchangeCostMinimum:"5",exchangeCostMaximum:"8",revision:0},rates:{items:[],total:0,page:1,pageSize:20,pageCount:1}},analytics:{currentYear:Number(new Intl.DateTimeFormat("en-US",{timeZone:"Asia/Shanghai",year:"numeric"}).format(new Date)),dashboard:MR()},importTasks:sn()}}function Dr(t){let e=nr(Me(t)),n=nr(e.summary??e),r=am(),i=ln(n.importTasks??n.importTask??n.tasks);return{...r,...n,uploadPolicy:ba(n.uploadPolicy),controlledGoods:ln(n.controlledGoods),controlledBatches:ln(n.controlledBatches),sanctionedCompanies:ln(n.sanctionedCompanies),sanctionBatches:ln(n.sanctionBatches),suppliers:ln(n.suppliers),purchaseOrders:ln(n.purchaseOrders),purchaseLines:ln(n.purchaseLines),customers:ln(n.customers),customerContracts:ln(n.customerContracts),customerContractAnalyses:ln(n.customerContractAnalyses),derivedSalesOrders:Array.isArray(n.derivedSalesOrders)?n.derivedSalesOrders:[],salesCustomers:ln(n.salesCustomers),salesOrders:ln(n.salesOrders),salesLines:ln(n.salesLines),salesFileOrders:ln(n.salesFileOrders),generatedFiles:ln(n.generatedFiles),settings:_R(n.settings),importTasks:i,dashboard:nr(n.dashboard),analytics:FR(n.analytics)}}function Or(){let t=0,e=new Set;return{begin(){let n=++t;return e.add(n),n},isLatest(n){return n===t},commit(n){return n===t},invalidate(){t+=1},finish(n){e.delete(n)},activeCount(){return e.size}}}function Y0(t,e,n){return t===e&&n.type==="page"&&n.page==="settings"}function X0(){let t=new Map,e=n=>{let r=t.get(n);return r||(r=Or(),t.set(n,r)),r};return{begin:n=>e(n).begin(),isLatest:(n,r)=>t.get(n)?.isLatest(r)??!1,commit:(n,r)=>t.get(n)?.commit(r)??!1,finish(n,r){let i=t.get(n);i&&(i.finish(r),i.activeCount()===0&&t.delete(n))},invalidate:n=>t.get(n)?.invalidate(),activeCount:()=>Array.from(t.values()).reduce((n,r)=>n+r.activeCount(),0),trackedKeyCount:()=>t.size}}async function Z0({gate:t,key:e,request:n,isCurrent:r,commit:i,onError:o,onStart:a,onFinish:s}){let l=t.begin(e);try{a();let c=await n();return!t.commit(e,l)||!r()?!1:(i(c),!0)}catch(c){return t.isLatest(e,l)&&r()&&o(c),!1}finally{t.finish(e,l),s()}}function sm(t){let e=String(t?.customerContractId??"").trim(),n=String(t?.purchaseOrderId??"").trim();return e&&n?`${e}:${n}`:"__all_generated_files__"}function q0(t,e,n){let r=Math.max(0,n-1),i=Math.max(1,Math.ceil(r/Math.max(1,e)));return Math.min(i,Math.max(1,t))}function J0(t){let e=0,n=t,r=new Set,i=new Map;return{begin(o){let a=++e;return r.add(a),i.set(a,o),a},isLatest(o){return o===e},commit(o){if(o!==e)return!1;let a=i.get(o);return a===void 0?!1:(n=a,!0)},finish(o){r.delete(o),i.delete(o)},activeCount(){return r.size},committed(){return n}}}function ex(t=e=>URL.revokeObjectURL(e)){let e=new Map,n=r=>{r?.startsWith("blob:")&&t(r)};return{replace(r,i){let o=e.get(r);return o!==i&&n(o),e.set(r,i),i},clear(r){n(e.get(r)),e.delete(r)},current(r){return e.get(r)??null},dispose(){for(let r of e.values())n(r);e.clear()}}}function tx(t,e=1,n=20,r={}){let i=Rn(n);if(t.type==="procurement"&&t.level==="suppliers")return{page:e,pageSize:i,parameters:{collection:"suppliers",filters:yn(r)}};if(t.type==="procurement"&&t.level==="orders")return{page:e,pageSize:i,parameters:{collection:"purchaseOrders",supplierId:t.supplierId,filters:yn(r)}};if(t.type==="procurement"&&t.level==="lines")return{page:e,pageSize:i,parameters:{collection:"purchaseLines",purchaseOrderId:t.orderId,filters:yn(r)}};if(t.type==="page"&&t.page==="customer-contract-review")return{page:e,pageSize:i,parameters:{collection:"customerContracts",filters:yn(r)}};if(t.type==="sales"&&t.level==="customers")return{page:e,pageSize:i,parameters:{collection:"salesCustomers",filters:yn(r)}};if(t.type==="sales"&&t.level==="orders")return{page:e,pageSize:i,parameters:{collection:"salesOrders",customerId:t.customerId,filters:yn(r)}};if(t.type==="sales"&&t.level==="lines")return{page:e,pageSize:i,parameters:{collection:"salesLines",customerId:t.customerId,orderKey:t.orderKey,filters:yn(r)}};if(t.type==="page"&&t.page==="sales-files")return{page:e,pageSize:i,parameters:{collection:"salesFileOrders",filters:yn(r)}};if(t.type==="page"&&t.page==="analytics"){let o=UR(r.orderDate)?r.orderDate:void 0;return{page:e,pageSize:i,parameters:{collection:"analytics",filters:yn(o?{orderDate:o}:{})}}}return t.type==="page"&&t.page==="settings"?{page:e,pageSize:i,parameters:{collection:"settings"}}:null}function Me(t){let e=nr(t);return"payload"in e?e.payload:"data"in e?e.data:"result"in e?e.result:t}function ln(t){let e=nr(t);if(e.pageSize!==void 0){let n=Number(e.pageSize);return ji(n)?{...e,items:Array.isArray(e.items)?e.items.filter(Gu):[],pageSize:n}:{items:[],page:1,pageSize:20,total:0}}return{...e,items:Array.isArray(e.items)?e.items.filter(Gu):[]}}function _R(t){let e=nr(t),n=am().settings,r=nr(e.rates),i=Number(r.pageSize),o=ji(i)?{items:Array.isArray(r.items)?r.items.filter(Gu):[],total:$i(r.total),page:Uu(r.page,1),pageSize:i,pageCount:Uu(r.pageCount,1)}:n.rates;return{company:{...n.company,...nr(e.company)},profit:{...n.profit,...nr(e.profit)},banks:Array.isArray(e.banks)?e.banks:[],rates:o}}function FR(t){let e=nr(t),n=am().analytics;return{currentYear:Uu(e.currentYear,n.currentYear),dashboard:BR(e.dashboard)}}function MR(){return{kpis:{purchaseTotalCny:"0.00",salesTotalCny:"0.00",receivedCny:"0.00",unreceivedCny:"0.00",paidCny:"0.00",unpaidCny:"0.00",refundedCny:"0.00",unrefundedCny:"0.00",estimatedGrossProfitCny:"0.00",estimatedGrossProfitRate:"0.00000000",complianceTodoCount:0,riskExposureCny:"0.00"},monthlyTrend:[],todos:[],riskDistribution:[],customerValueTop5:[],receivableRiskTop5:[],supplierRiskTop5:[],salesFileReviews:[],riskOrders:[],dataSources:[]}}function BR(t){let e=nr(t),n=nr(e.kpis);return{kpis:{purchaseTotalCny:Ae(n.purchaseTotalCny,"0.00"),salesTotalCny:Ae(n.salesTotalCny,"0.00"),receivedCny:Ae(n.receivedCny,"0.00"),unreceivedCny:Ae(n.unreceivedCny,"0.00"),paidCny:Ae(n.paidCny,"0.00"),unpaidCny:Ae(n.unpaidCny,"0.00"),refundedCny:Ae(n.refundedCny,"0.00"),unrefundedCny:Ae(n.unrefundedCny,"0.00"),estimatedGrossProfitCny:Ae(n.estimatedGrossProfitCny,"0.00"),estimatedGrossProfitRate:Ae(n.estimatedGrossProfitRate,"0.00000000"),complianceTodoCount:$i(n.complianceTodoCount),riskExposureCny:Ae(n.riskExposureCny,"0.00")},monthlyTrend:ei(e.monthlyTrend).map(r=>({month:Uu(r.month,1),purchaseAmountCny:Ae(r.purchaseAmountCny,"0.00"),salesAmountCny:Ae(r.salesAmountCny,"0.00"),estimatedGrossProfitCny:Ae(r.estimatedGrossProfitCny,"0.00"),receivedCny:Ae(r.receivedCny,"0.00")})),todos:ei(e.todos).filter(r=>zu(r.key)!==null).map(r=>({key:zu(r.key),label:Ae(r.label),count:$i(r.count),...r.amountCny==null?{}:{amountCny:Ae(r.amountCny,"0.00")},priority:zR(r.priority),description:Ae(r.description)})),riskDistribution:ei(e.riskDistribution).filter(r=>zu(r.key)!==null).map(r=>({key:zu(r.key),label:Ae(r.label),count:$i(r.count),...r.amountCny==null?{}:{amountCny:Ae(r.amountCny,"0.00")}})),customerValueTop5:ei(e.customerValueTop5).map(r=>({customerId:Ae(r.customerId),customerName:Ae(r.customerName),salesAmountCny:Ae(r.salesAmountCny,"0.00"),estimatedGrossProfitCny:Ae(r.estimatedGrossProfitCny,"0.00"),estimatedGrossProfitRate:Ae(r.estimatedGrossProfitRate,"0.00000000"),unreceivedCny:Ae(r.unreceivedCny,"0.00"),riskStatus:Q0(r.riskStatus)})),receivableRiskTop5:ei(e.receivableRiskTop5).map(r=>({customerId:Ae(r.customerId),customerName:Ae(r.customerName),unreceivedCny:Ae(r.unreceivedCny,"0.00"),orderCount:$i(r.orderCount),latestOrderDate:r.latestOrderDate==null?null:Ae(r.latestOrderDate)})),supplierRiskTop5:ei(e.supplierRiskTop5).map(r=>({supplierId:Ae(r.supplierId),supplierName:Ae(r.supplierName),unpaidCny:Ae(r.unpaidCny,"0.00"),sanctionHitCount:$i(r.sanctionHitCount),productRiskHitCount:$i(r.productRiskHitCount),purchaseOrderCount:$i(r.purchaseOrderCount),riskStatus:Q0(r.riskStatus)})),salesFileReviews:ei(e.salesFileReviews).map(r=>({fileId:Ae(r.fileId),fileName:Ae(r.fileName),fileType:Ae(r.fileType),salesOrderNo:Ae(r.salesOrderNo),reason:Ae(r.reason),generatedAt:Ae(r.generatedAt)})),riskOrders:ei(e.riskOrders).map(r=>({orderKey:Ae(r.orderKey),orderNo:Ae(r.orderNo),partyName:Ae(r.partyName),riskType:Ae(r.riskType),riskAmountCny:Ae(r.riskAmountCny,"0.00"),status:Ae(r.status)})),dataSources:ei(e.dataSources).map(r=>({label:Ae(r.label),description:Ae(r.description)}))}}function ei(t){return Array.isArray(t)?t.filter(Gu):[]}function zR(t){return t==="high"||t==="medium"||t==="low"?t:"medium"}function Q0(t){return t==="HIGH"||t==="MEDIUM"||t==="LOW"?t:"MEDIUM"}function zu(t){return t==="customer-contract-review"||t==="purchase-contract-review"||t==="product-risk-review"||t==="sanction-review"||t==="sales-file-review"?t:null}function Ae(t,e=""){return t==null?e:String(t)}function Uu(t,e){let n=Number(t);return Number.isInteger(n)&&n>0?n:e}function $i(t){let e=Number(t);return Number.isInteger(e)&&e>=0?e:0}function nr(t){return t&&typeof t=="object"&&!Array.isArray(t)?t:{}}function Gu(t){return!!(t&&typeof t=="object"&&!Array.isArray(t))}function UR(t){return!!(t&&typeof t=="object"&&!Array.isArray(t))}var um=be(Qt(),1);function lm(t,e){if(e.length===0)return"none";let n=e.filter(r=>t.has(r)).length;return n===0?"none":n===e.length?"all":"some"}function yr(t,e){let n=new Set(t);return n.has(e)?n.delete(e):n.add(e),n}function Ao(t,e){return lm(t,e)==="all"?new Set:new Set(e)}async function rr(t,e){let n={succeeded:[],failed:[]};for(let r of t)try{await e(r),n.succeeded.push(r)}catch(i){n.failed.push({key:r,message:i instanceof Error?i.message:"\u5220\u9664\u5931\u8D25"})}return n}function nx(t,e){let n=new Set(e);return new Set(t.map(({key:r})=>r).filter(r=>n.has(r)))}function Lr(t,e){return t>1&&e===0?t-1:t}function Hu(){let t=!1;return{run(e){return t?null:(t=!0,e().finally(()=>{t=!1}))}}}function ju(t){let e=0,n=t,r=i=>i.revision===e&&i.identity===n;return{invalidate(){e+=1},observeIdentity(i){n!==i&&(n=i,e+=1)},capture(){return{revision:e,identity:n}},isCurrent:r,commit(i,o){return r(i)?(o(),!0):!1}}}function $u({confirmGuard:t,generationGuard:e,operation:n,onCurrentResult:r,onStaleReconcile:i,onBusyChange:o}){return t.run(async()=>{let a=e.capture();o(!0);try{let s=await n(()=>e.isCurrent(a));if(!e.commit(a,()=>r(s)))try{await i?.(s)}catch{}return s}finally{o(!1)}})}async function GR({isActive:t,latestQuery:e,query:n}){if(!t())return!1;try{return await n(e())!==!1}catch{return!1}}function cm(){let t=!1,e=null,n=r=>{if(e)return e;t=!1,r.onBusyChange(!0);let i=GR(r).finally(()=>{e=null,r.onBusyChange(!1)});return e=i,i};return{reconcile(r){return r.isActive()?n(r):(t=!0,Promise.resolve(!1))},activate(r){return!t||!r.isActive()?Promise.resolve(!1):n(r)},hasPending(){return t}}}var Wu=be(Qt(),1);var Se=be(Be(),1);function _e({open:t,title:e,size:n="normal",children:r,footer:i,closeDisabled:o=!1,busy:a=!1,onClose:s}){let l=Wu.default.useId(),c=Wu.default.useRef(null);return Wu.default.useEffect(()=>{if(!t)return;let u=c.current,d=document.activeElement instanceof HTMLElement?document.activeElement:null;return(ax(u)[0]??u)?.focus(),()=>d?.focus()},[t]),t?(0,Se.jsx)("div",{className:"tcw-modal-backdrop",role:"presentation",children:(0,Se.jsxs)("section",{ref:c,className:`tcw-modal tcw-modal--${n}`,role:"dialog","aria-modal":"true","aria-labelledby":l,"aria-busy":a||void 0,tabIndex:-1,onKeyDown:u=>YR(u,c.current,o?()=>{}:s),children:[(0,Se.jsxs)("header",{children:[(0,Se.jsx)("h2",{id:l,children:e}),(0,Se.jsx)("button",{type:"button",className:"tcw-icon-button",title:"\u5173\u95ED","aria-label":"\u5173\u95ED",disabled:o,onClick:s,children:(0,Se.jsx)("i",{className:"ri-close-line","aria-hidden":"true"})})]}),(0,Se.jsx)("div",{className:"tcw-modal-body",children:r}),i&&(0,Se.jsx)("footer",{children:i})]})}):null}function Rt({children:t,columns:e=2}){return(0,Se.jsx)("div",{className:`tcw-field-grid tcw-field-grid--${e}`,children:t})}function se({label:t,required:e,full:n,hint:r,error:i,errorId:o,children:a}){return(0,Se.jsxs)("label",{className:`tcw-form-field${n?" tcw-form-field--full":""}${i?" is-invalid":""}`,children:[(0,Se.jsxs)("span",{children:[e&&(0,Se.jsx)("b",{children:"*"}),t]}),a,r&&(0,Se.jsx)("small",{children:r}),i&&(0,Se.jsx)("small",{id:i?o:void 0,className:"tcw-form-field-error",role:"alert",children:i})]})}function Ku({editor:t,source:e,editorTitle:n="\u8BC6\u522B\u5185\u5BB9",sourceTitle:r="\u6E90\u6587\u4EF6\u5185\u5BB9"}){return(0,Se.jsxs)("div",{className:"tcw-review-split",children:[(0,Se.jsxs)("section",{children:[(0,Se.jsx)("h3",{children:n}),t]}),(0,Se.jsxs)("section",{children:[(0,Se.jsx)("h3",{children:r}),e]})]})}function Js({accept:t,disabled:e,onFile:n,onError:r}){let i=Mu(),o=l=>{try{Bu(l,t),n(l)}catch(c){let u=c instanceof Error?c.message:"\u6587\u4EF6\u6821\u9A8C\u5931\u8D25";if(r)r(u);else throw c}};return(0,Se.jsxs)("label",{className:`tcw-upload-zone${e?" is-disabled":""}`,"aria-disabled":e,onDragOver:l=>{l.preventDefault(),e||(l.dataTransfer.dropEffect="copy")},onDrop:l=>{if(l.preventDefault(),e)return;let c=l.dataTransfer.files?.[0];c&&o(c)},children:[(0,Se.jsx)("i",{className:"ri-upload-cloud-2-line","aria-hidden":"true"}),(0,Se.jsx)("strong",{children:"\u70B9\u51FB\u6216\u62D6\u62FD\u6587\u4EF6\u5230\u6B64\u5904\u4E0A\u4F20"}),(0,Se.jsxs)("span",{children:["\u652F\u6301 PDF\u3001Word\u3001Excel \u548C\u5E38\u89C1\u56FE\u7247\u683C\u5F0F\uFF0C\u5355\u4E2A\u6587\u4EF6\u4E0D\u8D85\u8FC7 ",i.maxUploadMb," MB"]}),(0,Se.jsx)("input",{type:"file",accept:t,disabled:e,onChange:l=>{let c=l.target.files?.[0];l.currentTarget.value="",c&&o(c)}})]})}function QR({key:t,shiftKey:e,activeIndex:n,focusableCount:r}){return t==="Escape"?"close":t!=="Tab"||r<1?"none":e&&n<=0?"last":!e&&n>=r-1?"first":"none"}function YR(t,e,n){let r=ax(e),i=r.indexOf(document.activeElement),o=QR({key:t.key,shiftKey:t.shiftKey,activeIndex:i,focusableCount:r.length});if(o==="close"){t.preventDefault(),n();return}if(t.key==="Tab"&&!r.length){t.preventDefault(),e?.focus();return}(o==="first"||o==="last")&&(t.preventDefault(),r[o==="first"?0:r.length-1]?.focus())}function ax(t){return t?Array.from(t.querySelectorAll('button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"])')):[]}function Bt({open:t,title:e,message:n,confirmText:r="\u786E\u8BA4",cancelText:i="\u53D6\u6D88",danger:o,confirmDisabled:a,busy:s=!1,onCancel:l,onConfirm:c}){return(0,Se.jsxs)(_e,{open:t,title:e,closeDisabled:s,busy:s,onClose:l,footer:(0,Se.jsxs)(Se.Fragment,{children:[(0,Se.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",disabled:s,onClick:l,children:[(0,Se.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),i]}),(0,Se.jsxs)("button",{type:"button",className:`tcw-button tcw-button--${o?"danger":"primary"}`,disabled:s||a,onClick:c,children:[(0,Se.jsx)("i",{className:o?"ri-delete-bin-line":"ri-check-line","aria-hidden":"true"}),r]})]}),children:[(0,Se.jsxs)("div",{className:`tcw-confirm-message${o?" is-danger":""}`,children:[(0,Se.jsx)("i",{className:o?"ri-error-warning-line":"ri-question-line","aria-hidden":"true"}),(0,Se.jsx)("p",{children:n})]}),s&&(0,Se.jsx)("p",{role:"status","aria-live":"polite",children:"\u5904\u7406\u4E2D..."})]})}function sx({visible:t,label:e="\u5904\u7406\u4E2D\uFF0C\u8BF7\u7A0D\u5019"}){return t?(0,Se.jsxs)("div",{className:"tcw-loading-blocker",role:"status","aria-live":"polite",children:[(0,Se.jsx)("span",{className:"tcw-spinner","aria-hidden":"true"}),(0,Se.jsx)("strong",{children:e})]}):null}function XR({message:t,tone:e,onClose:n}){return t?(0,Se.jsxs)("div",{className:`tcw-toast tcw-toast--${e}`,role:e==="error"?"alert":"status",children:[(0,Se.jsx)("i",{className:ZR(e),"aria-hidden":"true"}),(0,Se.jsx)("span",{children:t}),n&&(0,Se.jsx)("button",{type:"button",title:"\u5173\u95ED","aria-label":"\u5173\u95ED",onClick:n,children:(0,Se.jsx)("i",{className:"ri-close-line","aria-hidden":"true"})})]}):null}function lx({items:t,onClose:e}){return t.length?(0,Se.jsx)("div",{className:"tcw-toast-stack","aria-label":"\u64CD\u4F5C\u63D0\u793A",children:t.map(n=>(0,Se.jsx)(XR,{message:n.message,tone:n.tone,onClose:()=>e(n.id)},n.id))}):null}function ZR(t){return t==="success"?"ri-checkbox-circle-line":t==="error"?"ri-close-circle-line":t==="warning"?"ri-error-warning-line":"ri-information-line"}var cn=be(Be(),1);function cx({count:t,disabled:e,onClear:n,onDelete:r}){return(0,cn.jsxs)("div",{className:"tcw-bulk-action-bar",role:"toolbar","aria-label":"\u6279\u91CF\u64CD\u4F5C",children:[(0,cn.jsxs)("strong",{children:["\u5DF2\u9009\u62E9 ",t," \u9879"]}),(0,cn.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",disabled:e,onClick:n,children:[(0,cn.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u6E05\u9664\u9009\u62E9"]}),(0,cn.jsxs)("button",{type:"button",className:"tcw-button tcw-button--danger-subtle",disabled:e,onClick:r,children:[(0,cn.jsx)("i",{className:"ri-delete-bin-line","aria-hidden":"true"}),"\u6279\u91CF\u5220\u9664"]})]})}function En({open:t,title:e,count:n,message:r,busy:i,failures:o=[],onCancel:a,onConfirm:s}){return(0,cn.jsx)(Bt,{open:t,title:e,message:(0,cn.jsxs)("span",{className:"tcw-bulk-delete-message",children:[(0,cn.jsxs)("span",{children:["\u5C06\u5220\u9664 ",n," \u9879\u3002"]}),(0,cn.jsx)("span",{children:r}),o.length>0&&(0,cn.jsx)("span",{className:"tcw-bulk-delete-failures",role:"alert","aria-label":"\u5220\u9664\u5931\u8D25\u8BE6\u60C5",children:o.map((l,c)=>(0,cn.jsxs)("span",{children:[(0,cn.jsx)("strong",{children:l.label}),(0,cn.jsx)("span",{children:l.message})]},`${l.label}-${c}`))})]}),confirmText:i?"\u5220\u9664\u4E2D":"\u786E\u8BA4\u5220\u9664",danger:!0,confirmDisabled:i,onCancel:a,onConfirm:s})}var fe=be(Be(),1);function un({definitions:t,values:e,onChange:n,onQuery:r,onReset:i}){return(0,fe.jsx)("section",{className:"tcw-filter-panel","aria-label":"\u7B5B\u9009\u6761\u4EF6",children:(0,fe.jsxs)("div",{className:"tcw-filter-grid",children:[t.map(o=>(0,fe.jsx)(qR,{definition:o,value:e[o.key],onChange:a=>n(o.key,a)},o.key)),(0,fe.jsxs)("div",{className:"tcw-filter-actions",children:[r&&(0,fe.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:r,children:[(0,fe.jsx)("i",{className:"ri-search-line","aria-hidden":"true"}),"\u67E5\u8BE2"]}),(0,fe.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:i,children:[(0,fe.jsx)("i",{className:"ri-restart-line","aria-hidden":"true"}),"\u91CD\u7F6E"]})]})]})})}function qR({definition:t,value:e,onChange:n}){if(t.type==="date-range"||t.type==="amount-range"){let r=sE(e)?e:{},i=t.type==="date-range"?"date":"number";return(0,fe.jsxs)("label",{className:"tcw-filter-control tcw-filter-control--range",children:[(0,fe.jsx)("span",{children:t.label}),(0,fe.jsxs)("div",{children:[(0,fe.jsx)("input",{type:i,value:String(r.from??""),disabled:t.disabled,"aria-label":`${t.label}\u8D77\u59CB\u503C`,onChange:o=>n({...r,from:o.target.value})}),(0,fe.jsx)("em",{children:"\u81F3"}),(0,fe.jsx)("input",{type:i,value:String(r.to??""),disabled:t.disabled,"aria-label":`${t.label}\u7ED3\u675F\u503C`,onChange:o=>n({...r,to:o.target.value})})]})]})}return t.type==="select"?(0,fe.jsxs)("label",{className:"tcw-filter-control",children:[(0,fe.jsx)("span",{children:t.label}),(0,fe.jsxs)("select",{value:String(e??""),disabled:t.disabled,onChange:r=>n(r.target.value),children:[(0,fe.jsx)("option",{value:"",children:t.placeholder??"\u5168\u90E8"}),t.options.map(r=>(0,fe.jsx)("option",{value:r.value,children:r.label},r.value))]})]}):(0,fe.jsxs)("label",{className:"tcw-filter-control",children:[(0,fe.jsx)("span",{children:t.label}),(0,fe.jsx)("input",{type:"search",value:String(e??""),disabled:t.disabled,placeholder:t.placeholder??`\u8BF7\u8F93\u5165${t.label}`,onChange:r=>n(r.target.value)})]})}function ot({columns:t,rows:e,rowKey:n,actions:r,actionHeader:i="\u64CD\u4F5C",actionWidth:o=180,pagination:a,onPageChange:s,onPageSizeChange:l,emptyText:c="\u6682\u65E0\u6570\u636E",selection:u}){let d=e.map((v,g)=>aE(v,g,n)),p=u?e.flatMap((v,g)=>u.isSelectable?.(v)===!1?[]:[d[g]]):d,h=u?lm(u.selectedKeys,p):"none",m=t.length+(u?1:0)+(r?1:0),f=tE(o);return(0,fe.jsxs)("section",{className:"tcw-grid-section",children:[u&&u.selectedKeys.size>0&&(0,fe.jsx)(cx,{count:u.selectedKeys.size,disabled:u.disabled,onClear:u.onClear,onDelete:u.onDelete}),(0,fe.jsx)("div",{className:"tcw-table-scroll",children:(0,fe.jsxs)("table",{className:"tcw-data-table",children:[(0,fe.jsx)("thead",{children:(0,fe.jsxs)("tr",{children:[u&&(0,fe.jsx)("th",{className:"tcw-selection-column",children:(0,fe.jsx)(ux,{ariaLabel:"\u9009\u62E9\u5F53\u524D\u9875\u5168\u90E8\u8BB0\u5F55",checked:h==="all",indeterminate:h==="some",disabled:u.disabled||p.length===0,onChange:v=>u.onTogglePage(v)})}),t.map(v=>(0,fe.jsx)("th",{style:dx(v),className:fx(v.align),children:v.header},v.key)),r&&(0,fe.jsx)("th",{className:"action-column tcw-align-center",style:f,children:i})]})}),(0,fe.jsx)("tbody",{children:e.length===0?(0,fe.jsx)("tr",{className:"tcw-empty-row",children:(0,fe.jsx)("td",{colSpan:m,children:c})}):e.map((v,g)=>{let y=d[g],w=u?.selectedKeys.has(y)??!1,b=u?.isSelectable?.(v)!==!1;return(0,fe.jsxs)("tr",{className:w?"is-selected":void 0,children:[u&&(0,fe.jsx)("td",{className:"tcw-selection-column",children:b&&(0,fe.jsx)(ux,{ariaLabel:u.labelFor(v),checked:w,disabled:u.disabled,onChange:()=>u.onToggle(y)})}),t.map(x=>(0,fe.jsx)(JR,{column:x,row:v},x.key)),r&&(0,fe.jsx)("td",{className:"action-column tcw-align-center",style:f,children:(0,fe.jsx)("div",{className:"tcw-row-actions",children:r(v)})})]},y)})})]})}),a&&(0,fe.jsx)(iE,{state:a,onPageChange:s,onPageSizeChange:l})]})}function ux({ariaLabel:t,checked:e,indeterminate:n=!1,disabled:r,onChange:i}){let o=um.default.useRef(null);return um.default.useEffect(()=>{o.current&&(o.current.indeterminate=n)},[n]),(0,fe.jsx)("input",{ref:o,className:"tcw-selection-checkbox",type:"checkbox","aria-label":t,checked:e,disabled:r,onChange:a=>i(a.target.checked)})}function JR({column:t,row:e}){let n=oE(e,t.accessor??t.key),r=t.truncate!==!1,i=[t.type!=="custom"?"tcw-grid-cell-text":"",r?"tcw-ellipsis":"",fx(t.align)].filter(Boolean).join(" "),o=dx(t);if(t.type==="custom")return(0,fe.jsx)("td",{className:i,style:o,title:r?t.title?.(n,e)??nE(n):void 0,children:t.render(n,e)});let a=t.format?t.format(n,e):hx(n);return(0,fe.jsx)("td",{className:i,style:o,title:r&&px(n)?a:void 0,children:a})}var eE=220;function dx(t){let e=t.maxWidth??t.width??eE;return{...t.width?{width:t.width}:{},maxWidth:e}}function tE(t){return{width:t,minWidth:t,maxWidth:t}}function px(t){return t!=null&&t!==""&&(!Array.isArray(t)||t.length>0)}function nE(t){return px(t)?hx(t):void 0}function rE(t,e){if(e<=7)return Array.from({length:Math.max(0,e)},(i,o)=>o+1);let r=[...new Set([1,e,t-1,t,t+1].filter(i=>i>=1&&i<=e))].sort((i,o)=>i-o);return r.flatMap((i,o)=>o>0&&i-r[o-1]>1?["ellipsis",i]:[i])}function iE({state:t,onPageChange:e,onPageSizeChange:n}){let r=rE(t.page,t.pageCount);return(0,fe.jsxs)("div",{className:"tcw-pagination",children:[(0,fe.jsxs)("span",{className:"tcw-pagination-total",children:["\u5171 ",t.total," \u6761\u8BB0\u5F55"]}),(0,fe.jsxs)("div",{className:"tcw-pagination-controls",children:[(0,fe.jsxs)("button",{type:"button","aria-label":"\u4E0A\u4E00\u9875",disabled:t.page<=1,onClick:()=>e?.(t.page-1),children:[(0,fe.jsx)("i",{className:"ri-arrow-left-s-line","aria-hidden":"true"}),"\u4E0A\u4E00\u9875"]}),(0,fe.jsx)("div",{className:"tcw-pagination-pages",children:r.map((i,o)=>i==="ellipsis"?(0,fe.jsx)("span",{className:"tcw-pagination-ellipsis","aria-hidden":"true",children:"\u2026"},`ellipsis-${o}`):(0,fe.jsx)("button",{type:"button",className:"tcw-pagination-page-button","aria-label":`\u7B2C ${i} \u9875`,"aria-current":i===t.page?"page":void 0,disabled:i===t.page,onClick:()=>e?.(i),children:i},i))}),(0,fe.jsxs)("button",{type:"button","aria-label":"\u4E0B\u4E00\u9875",disabled:t.page>=t.pageCount,onClick:()=>e?.(t.page+1),children:[(0,fe.jsx)("i",{className:"ri-arrow-right-s-line","aria-hidden":"true"}),"\u4E0B\u4E00\u9875"]}),(0,fe.jsx)("select",{"aria-label":"\u6BCF\u9875\u6761\u6570",value:t.pageSize,onChange:i=>{let o=Number(i.target.value);ji(o)&&n?.(o)},children:om.map(i=>(0,fe.jsxs)("option",{value:i,children:[i," \u6761/\u9875"]},i))})]})]})}function Je({children:t}){return(0,fe.jsxs)("div",{className:"tcw-notice tcw-notice--info",role:"status",children:[(0,fe.jsx)("i",{className:"ri-information-line","aria-hidden":"true"}),(0,fe.jsx)("span",{children:t})]})}function ct({children:t}){return(0,fe.jsxs)("div",{className:"tcw-notice tcw-notice--risk",role:"alert",children:[(0,fe.jsx)("i",{className:"ri-error-warning-line","aria-hidden":"true"}),(0,fe.jsx)("span",{children:t})]})}function oE(t,e){return typeof e=="function"?e(t):t[e]}function aE(t,e,n){return String(typeof n=="function"?n(t,e):t[n]??e)}function hx(t){return t==null||t===""?"\u2014":Array.isArray(t)?t.join("\u3001"):String(t)}function fx(t){return t?`tcw-align-${t}`:""}function sE(t){return!!(t&&typeof t=="object"&&!Array.isArray(t))}var wn=be(Qt(),1);var Ce=be(Be(),1);function lE(t,e){return e&&(t==="Enter"||t===" ")}function cE(t,e,n){return t!==e&&!n}function uE(t,e){let n=new Set(e);return t.filter(r=>n.has(r.id))}function mx({items:t,busy:e=!1,defaultOpen:n=!1,onBulkDelete:r,onActionError:i}){let[o,a]=wn.default.useState(n),[s,l]=wn.default.useState(null),[c,u]=wn.default.useState(new Set),[d,p]=wn.default.useState(!1),[h,m]=wn.default.useState(!1),[f,v]=wn.default.useState([]),g=wn.default.useRef(!1),y=wn.default.useRef(null),w=wn.default.useRef(null),b=t.filter(Q=>Q.tone==="running"||Q.tone==="success"||Q.tone==="failed"),x=b.filter(Q=>Q.tone==="running").length,C=b.filter(Q=>Q.tone==="success").length,k=b.filter(Q=>Q.tone==="failed").length,S=x+C+k,E=b.slice(0,12),D=E.map(Q=>Q.id),O=JSON.stringify(D),H=wn.default.useRef(O),M=wn.default.useRef(D),_=wn.default.useRef(O);H.current=O,M.current=D;let V=E.filter(Q=>c.has(Q.id)),G=V.some(Q=>Q.tone==="running"),K=e||h;wn.default.useEffect(()=>{let Q=_.current;if(_.current=O,!o){u(new Set),p(!1),v([]);return}cE(Q,O,g.current)&&(u(new Set),p(!1),v([]))},[o,O]),wn.default.useEffect(()=>{if(!o)return;let Q=ee=>{y.current?.contains(ee.target)||a(!1)},F=ee=>{ee.key==="Escape"&&(a(!1),w.current?.focus())};return document.addEventListener("pointerdown",Q),document.addEventListener("keydown",F),()=>{document.removeEventListener("pointerdown",Q),document.removeEventListener("keydown",F)}},[o]);let J=Q=>{Q.onSelect&&(a(!1),Promise.resolve(Q.onSelect()).catch(F=>i?.(F,Q)))},ie=()=>{if(!s?.onDelete)return;let Q=s,F=s.onDelete;Promise.resolve(F()).then(()=>{l(null),a(!1)}).catch(ee=>i?.(ee,Q))},ue=Q=>u(F=>{let ee=new Set(F);return ee.has(Q)?ee.delete(Q):ee.add(Q),ee}),we=()=>u(Q=>Q.size===D.length?new Set:new Set(D)),Y=()=>{if(!r||V.length===0||K||g.current)return;let Q=[...V];g.current=!0,m(!0),r(Q).then(F=>{let ee=uE(F,M.current),B=new Set(ee.map(U=>U.id));_.current=H.current,u(B),v(ee.map(U=>({key:U.id,label:Q.find(q=>q.id===U.id)?.title??U.id,message:U.message}))),ee.length===0&&(p(!1),a(!1))}).catch(F=>i?.(F,Q[0])).finally(()=>{g.current=!1,m(!1)})};return(0,Ce.jsxs)("div",{ref:y,className:`tcw-task-menu${o?" is-open":""}`,children:[(0,Ce.jsxs)("button",{ref:w,type:"button",className:"tcw-task-trigger","aria-label":S>0?`\u4EFB\u52A1 ${S}`:"\u4EFB\u52A1","aria-haspopup":"dialog","aria-expanded":o,onClick:()=>a(Q=>!Q),children:[(0,Ce.jsx)("span",{className:"tcw-task-trigger-icon","aria-hidden":"true",children:(0,Ce.jsx)("i",{className:"ri-pulse-line"})}),(0,Ce.jsx)("span",{children:"\u4EFB\u52A1"}),S>0&&(0,Ce.jsx)("em",{children:S}),(0,Ce.jsx)("i",{className:o?"ri-arrow-up-s-line":"ri-arrow-down-s-line","aria-hidden":"true"})]}),o&&(0,Ce.jsxs)("section",{className:"tcw-task-popover",role:"dialog","aria-label":"\u4EFB\u52A1\u72B6\u6001",children:[(0,Ce.jsxs)("header",{children:[(0,Ce.jsxs)("div",{children:[(0,Ce.jsx)("strong",{children:"\u4EFB\u52A1\u72B6\u6001"}),(0,Ce.jsx)("small",{children:"\u76D1\u63A7\u4E0A\u4F20\u3001\u89E3\u6790\u3001\u6210\u529F\u548C\u5931\u8D25\u4EFB\u52A1"})]}),(0,Ce.jsxs)("span",{children:[b.length," \u4E2A\u4EFB\u52A1"]})]}),(0,Ce.jsxs)("div",{className:"tcw-task-summary","aria-label":"\u4EFB\u52A1\u7EDF\u8BA1",children:[(0,Ce.jsxs)("span",{children:["\u8FDB\u884C\u4E2D ",x]}),(0,Ce.jsxs)("span",{children:["\u6210\u529F ",C]}),(0,Ce.jsxs)("span",{children:["\u5931\u8D25 ",k]})]}),(0,Ce.jsxs)("div",{className:"tcw-task-list",children:[E.length>0&&r&&(0,Ce.jsxs)("div",{className:"tcw-task-bulk-bar",children:[(0,Ce.jsxs)("label",{children:[(0,Ce.jsx)("input",{type:"checkbox","aria-label":"\u9009\u62E9\u5F53\u524D\u5168\u90E8\u4EFB\u52A1",checked:c.size>0&&c.size===D.length,onChange:we,disabled:K}),"\u5168\u9009"]}),c.size>0&&(0,Ce.jsxs)(Ce.Fragment,{children:[(0,Ce.jsxs)("span",{children:["\u5DF2\u9009\u62E9 ",c.size," \u4E2A\u4EFB\u52A1"]}),(0,Ce.jsxs)("button",{type:"button",className:"tcw-button tcw-button--danger-subtle",disabled:K,onClick:()=>{v([]),p(!0)},children:[(0,Ce.jsx)("i",{className:"ri-delete-bin-line","aria-hidden":"true"}),G?"\u53D6\u6D88\u5E76\u5220\u9664":"\u6279\u91CF\u5220\u9664"]})]})]}),E.length===0?(0,Ce.jsxs)("div",{className:"tcw-task-empty",children:[(0,Ce.jsx)("i",{className:"ri-checkbox-circle-line","aria-hidden":"true"}),"\u6682\u65E0\u540E\u53F0\u4EFB\u52A1"]}):E.map(Q=>(0,Ce.jsx)(dE,{item:Q,busy:K,selected:c.has(Q.id),selectable:!!r,onToggle:()=>ue(Q.id),onSelect:()=>J(Q),onDelete:()=>l(Q),onActionError:i},Q.id))]})]}),(0,Ce.jsx)(Bt,{open:!!s,title:s?.tone==="running"?"\u53D6\u6D88\u5E76\u5220\u9664\u4EFB\u52A1\uFF1F":"\u5220\u9664\u4EFB\u52A1\uFF1F",message:s?.tone==="running"?`\u5C06\u53D6\u6D88\u201C${s.title}\u201D\u5E76\u6E05\u7406\u672A\u63D0\u4EA4\u7684\u4EFB\u52A1\u6570\u636E\uFF0C\u5DF2\u5165\u5E93\u4E1A\u52A1\u6570\u636E\u4F1A\u4FDD\u7559\u3002`:`\u5C06\u5220\u9664\u201C${s?.title??""}\u201D\u7684\u4EFB\u52A1\u8BB0\u5F55\u548C\u672A\u63D0\u4EA4\u7684\u4E34\u65F6\u6570\u636E\uFF0C\u5DF2\u5165\u5E93\u4E1A\u52A1\u6570\u636E\u4F1A\u4FDD\u7559\u3002`,confirmText:s?.tone==="running"?"\u53D6\u6D88\u5E76\u5220\u9664":"\u786E\u8BA4\u5220\u9664",danger:!0,confirmDisabled:e,onCancel:()=>l(null),onConfirm:ie}),(0,Ce.jsx)(En,{open:d,title:G?`\u53D6\u6D88\u5E76\u5220\u9664 ${c.size} \u4E2A\u4EFB\u52A1`:`\u5220\u9664 ${c.size} \u4E2A\u4EFB\u52A1`,count:c.size,message:G?"\u5C06\u53D6\u6D88\u8FD0\u884C\u4E2D\u7684\u4EFB\u52A1\u5E76\u5220\u9664\u6240\u9009\u4EFB\u52A1\u8BB0\u5F55\u548C\u672A\u63D0\u4EA4\u4E34\u65F6\u6570\u636E\uFF0C\u5DF2\u5165\u5E93\u4E1A\u52A1\u6570\u636E\u4F1A\u4FDD\u7559\u3002":"\u5C06\u5220\u9664\u6240\u9009\u4EFB\u52A1\u8BB0\u5F55\u548C\u672A\u63D0\u4EA4\u4E34\u65F6\u6570\u636E\uFF0C\u5DF2\u5165\u5E93\u4E1A\u52A1\u6570\u636E\u4F1A\u4FDD\u7559\u3002",busy:K,failures:f,onCancel:()=>{h||p(!1)},onConfirm:Y})]})}function dE({item:t,busy:e,selected:n,selectable:r,onToggle:i,onSelect:o,onDelete:a,onActionError:s}){let l=t.progressPercent==null?null:Math.max(0,Math.min(100,Math.round(t.progressPercent))),c=!!(t.actionLabel&&t.onAction),u=!!t.onDelete,d=h=>{h.stopPropagation(),Promise.resolve(t.onAction?.()).catch(m=>s?.(m,t))},p=h=>{h.stopPropagation(),a()};return(0,Ce.jsxs)("article",{className:`tcw-task-row tcw-task-row--${t.tone}${r?" has-selection":""}${t.onSelect?" is-selectable":""}`,tabIndex:t.onSelect?0:-1,onClick:o,onKeyDown:h=>{t.onSelect&&lE(h.key,h.currentTarget===h.target)&&(h.preventDefault(),o())},children:[r&&(0,Ce.jsx)("input",{className:"tcw-task-row-checkbox",type:"checkbox","aria-label":`\u9009\u62E9\u4EFB\u52A1\uFF1A${t.title}`,checked:n,disabled:e,onClick:h=>h.stopPropagation(),onChange:h=>{h.stopPropagation(),i()}}),(0,Ce.jsx)("span",{className:"tcw-task-row-icon","aria-hidden":"true",children:(0,Ce.jsx)("i",{className:pE(t.tone)})}),(0,Ce.jsxs)("div",{className:"tcw-task-row-body",children:[(0,Ce.jsx)("div",{className:"tcw-task-row-title",children:(0,Ce.jsx)("strong",{title:t.title,children:t.title})}),(0,Ce.jsxs)("p",{children:[t.subtitle,t.updatedAt?` \xB7 ${t.updatedAt}`:""]}),l!=null&&(0,Ce.jsx)("div",{className:"tcw-task-progress","aria-label":`\u8FDB\u5EA6 ${l}%`,children:(0,Ce.jsx)("span",{style:{width:`${l}%`}})})]}),(0,Ce.jsx)("span",{className:"tcw-task-row-status",children:t.statusLabel}),(0,Ce.jsxs)("div",{className:"tcw-task-row-actions",children:[c&&(0,Ce.jsxs)("button",{type:"button",className:"tcw-task-row-action",disabled:e,onClick:d,children:[(0,Ce.jsx)("i",{className:"ri-arrow-right-line","aria-hidden":"true"}),t.actionLabel]}),u&&(0,Ce.jsx)("button",{type:"button",className:"tcw-task-row-delete",disabled:e,"aria-label":t.deleteLabel??`\u5220\u9664\u4EFB\u52A1\uFF1A${t.title}`,title:t.deleteLabel??"\u5220\u9664\u4EFB\u52A1",onClick:p,children:(0,Ce.jsx)("i",{className:"ri-delete-bin-line","aria-hidden":"true"})})]})]})}function pE(t){return t==="running"?"ri-loader-4-line":t==="review"?"ri-file-search-line":t==="failed"?"ri-error-warning-line":t==="success"?"ri-checkbox-circle-line":"ri-time-line"}async function wr(t,e,n){try{return await t(),e?.({message:n.success,tone:"success"}),!0}catch(r){return e?.({message:r instanceof Error?r.message:n.error,tone:"error"}),!1}}async function dm(t,e,n,r){if(!await wr(t,n,r))return!1;try{await e()}catch{n?.({message:"\u6570\u636E\u5237\u65B0\u5931\u8D25",tone:"error"})}return!0}function yx(t,e,n){let r=n(),i=r,o=2;for(;t.some(a=>a.id===i);)i=`${r}-${o++}`;return[...t,{...e,id:i,durationMs:e.durationMs??4e3}]}function pm(t,e){return t.filter(n=>n.id!==e)}function wx(t){let e=new Map,n=r=>{let i=e.get(r);i!==void 0&&clearTimeout(i),e.delete(r)};return{sync(r){let i=new Set(r.map(o=>o.id));for(let o of e.keys())i.has(o)||n(o);for(let o of r){if(e.has(o.id))continue;let a=setTimeout(()=>{e.delete(o.id),t(o.id)},o.durationMs);e.set(o.id,a)}},dismiss:n,dispose(){for(let r of[...e.keys()])n(r)}}}var gx=0;function vx(){return gx+=1,`toast-${Date.now()}-${gx}`}var xa=be(Qt(),1);var bx="trade-compliance-workbench.sidebar-collapsed.v1";function xx(t){try{return t?.getItem(bx)==="true"}catch{return!1}}function Cx(t,e){try{t?.setItem(bx,String(e))}catch{}}function Sx(t,e,n){return e?!n:t}var Ge=be(Be(),1),Tx=[{page:"home",label:"\u9996\u9875",icon:"ri-home-5-line",route:{type:"page",page:"home"}},{page:"procurement",label:"\u91C7\u8D2D\u5408\u89C4\u7BA1\u7406",icon:"ri-file-list-3-line",route:{type:"procurement",level:"suppliers"}},{page:"customer-contract-review",label:"\u5BA2\u6237\u5408\u540C\u5BA1\u6838",icon:"ri-file-search-line",route:{type:"page",page:"customer-contract-review"}},{page:"sales",label:"\u9500\u552E\u5408\u89C4\u7BA1\u7406",icon:"ri-shopping-bag-3-line",route:{type:"sales",level:"customers"}},{page:"sales-files",label:"\u9500\u552E\u6587\u4EF6\u7BA1\u7406",icon:"ri-file-excel-2-line",route:{type:"page",page:"sales-files"}},{page:"controlled-goods",label:"\u7BA1\u63A7\u5546\u54C1\u76EE\u5F55",icon:"ri-shield-check-line",route:{type:"page",page:"controlled-goods"}},{page:"sanctioned-companies",label:"\u516C\u53F8\u5236\u88C1\u76EE\u5F55",icon:"ri-building-2-line",route:{type:"page",page:"sanctioned-companies"}},{page:"analytics",label:"\u6570\u636E\u5206\u6790",icon:"ri-pie-chart-line",route:{type:"page",page:"analytics"}},{page:"settings",label:"\u7CFB\u7EDF\u8BBE\u7F6E",icon:"ri-settings-3-line",route:{type:"page",page:"settings"}}];function Rx({route:t,breadcrumbs:e,title:n,subtitle:r,commands:i,topbarActions:o,busy:a,children:s,onRouteChange:l,onRefresh:c}){let[u,d]=xa.default.useState(()=>xx(kx())),[p,h]=xa.default.useState(Ax),[m,f]=xa.default.useState(!1),v=Sx(u,p,m);return xa.default.useEffect(()=>{if(typeof window>"u")return;let w=()=>h(Ax());return window.addEventListener("resize",w),()=>window.removeEventListener("resize",w)},[]),(0,Ge.jsx)(hE,{route:t,breadcrumbs:e,title:n,subtitle:r,commands:i,topbarActions:o,busy:a,onRouteChange:w=>{p&&f(!1),l(w)},onRefresh:c,sidebarCollapsed:v,onSidebarToggle:()=>{if(p){f(w=>!w);return}d(w=>{let b=!w;return Cx(kx(),b),b})},children:s})}function hE({route:t,breadcrumbs:e,title:n,subtitle:r,commands:i,topbarActions:o,busy:a,children:s,onRouteChange:l,onRefresh:c,sidebarCollapsed:u,onSidebarToggle:d}){let p=mE(t),h=p!=="home"&&!!(n||r||i);return(0,Ge.jsxs)("div",{className:`tcw-app-frame tcw-page-${p}${u?" is-sidebar-collapsed":""}`,"data-current-page":p,children:[(0,Ge.jsxs)("aside",{className:"tcw-sidebar",children:[(0,Ge.jsxs)("div",{className:"tcw-brand",children:[(0,Ge.jsx)("span",{className:"tcw-brand-mark","aria-hidden":"true",children:(0,Ge.jsx)("i",{className:"ri-shield-check-fill"})}),(0,Ge.jsx)("strong",{children:"\u5916\u8D38\u5408\u89C4\u5DE5\u4F5C\u53F0"})]}),(0,Ge.jsx)("nav",{className:"tcw-navigation","aria-label":"\u5916\u8D38\u5408\u89C4\u5DE5\u4F5C\u53F0\u5BFC\u822A",children:Tx.map(m=>{let f=p===m.page;return(0,Ge.jsx)("div",{className:`tcw-nav-row${f?" is-active":""}`,children:(0,Ge.jsxs)("button",{type:"button",className:"tcw-nav-item","aria-label":`\u8FDB\u5165${m.label}`,"aria-current":f?"page":void 0,onClick:()=>l(m.route),children:[(0,Ge.jsx)("i",{className:m.icon,"aria-hidden":"true"}),(0,Ge.jsx)("span",{className:"tcw-nav-label",children:m.label})]})},m.page)})}),(0,Ge.jsxs)("button",{type:"button",className:"tcw-sidebar-toggle",title:u?"\u5C55\u5F00\u83DC\u5355":"\u6536\u8D77\u83DC\u5355","aria-label":u?"\u5C55\u5F00\u83DC\u5355":"\u6536\u8D77\u83DC\u5355",onClick:d,children:[(0,Ge.jsx)("i",{className:u?"ri-menu-unfold-line":"ri-arrow-left-s-line","aria-hidden":"true"}),(0,Ge.jsx)("span",{children:u?"\u5C55\u5F00\u83DC\u5355":"\u6536\u8D77\u83DC\u5355"})]})]}),(0,Ge.jsxs)("main",{className:"tcw-main",children:[(0,Ge.jsxs)("header",{className:"tcw-topbar",children:[(0,Ge.jsx)("nav",{className:"tcw-breadcrumbs","aria-label":"\u9762\u5305\u5C51",children:e.map((m,f)=>{let v=f===e.length-1;return(0,Ge.jsxs)(xa.default.Fragment,{children:[f>0&&(0,Ge.jsx)("i",{className:"ri-arrow-right-s-line","aria-hidden":"true"}),!v&&m.route?(0,Ge.jsx)("button",{type:"button",className:m.label==="\u9996\u9875"?"tcw-breadcrumb-home":void 0,"data-breadcrumb":"true",title:m.label==="\u9996\u9875"?"\u8FD4\u56DE\u9996\u9875":void 0,"aria-label":m.label==="\u9996\u9875"?"\u8FD4\u56DE\u9996\u9875":void 0,onClick:()=>l(m.route),children:m.label==="\u9996\u9875"?(0,Ge.jsx)("i",{className:"ri-home-5-line","aria-hidden":"true"}):m.label}):(0,Ge.jsx)("span",{"aria-current":v?"page":void 0,children:m.label})]},`${m.label}-${f}`)})}),(0,Ge.jsxs)("div",{className:"tcw-topbar-actions",children:[o,(0,Ge.jsx)("button",{type:"button",className:"tcw-icon-button",title:"\u5237\u65B0","aria-label":"\u5237\u65B0",disabled:a,onClick:c,children:(0,Ge.jsx)("i",{className:"ri-refresh-line","aria-hidden":"true"})})]})]}),(0,Ge.jsxs)("div",{className:"tcw-content",children:[h&&(0,Ge.jsxs)("div",{className:"tcw-page-heading",children:[(0,Ge.jsxs)("div",{children:[(0,Ge.jsx)("h1",{children:n}),r&&(0,Ge.jsx)("p",{children:r})]}),i&&(0,Ge.jsx)("div",{className:"tcw-page-commands",children:i})]}),s]})]})]})}function Ex(t){if(t.type==="page")return t.page==="home"?[{label:"\u9996\u9875"}]:[{label:"\u9996\u9875",route:{type:"page",page:"home"}},{label:fE(t.page)}];if(t.type==="procurement"){let n=[{label:"\u9996\u9875",route:{type:"page",page:"home"}},t.level==="suppliers"?{label:"\u91C7\u8D2D\u5408\u89C4\u7BA1\u7406"}:{label:"\u91C7\u8D2D\u5408\u89C4\u7BA1\u7406",route:{type:"procurement",level:"suppliers"}}];return t.level==="orders"&&n.push({label:"\u91C7\u8D2D\u8BA2\u5355"}),t.level==="lines"&&n.push({label:"\u91C7\u8D2D\u8BA2\u5355",route:{type:"procurement",level:"orders",supplierId:t.supplierId}},{label:"\u91C7\u8D2D\u5546\u54C1"}),n}let e=[{label:"\u9996\u9875",route:{type:"page",page:"home"}},t.level==="customers"?{label:"\u9500\u552E\u5408\u89C4\u7BA1\u7406"}:{label:"\u9500\u552E\u5408\u89C4\u7BA1\u7406",route:{type:"sales",level:"customers"}}];return t.level==="orders"&&e.push({label:"\u9500\u552E\u8BA2\u5355"}),t.level==="lines"&&e.push({label:"\u9500\u552E\u8BA2\u5355",route:{type:"sales",level:"orders",customerId:t.customerId}},{label:"\u9500\u552E\u5546\u54C1"}),e}function fE(t){return Tx.find(e=>e.page===t)?.label??t}function mE(t){return t.type==="procurement"?"procurement":t.type==="sales"?"sales":t.page}function kx(){try{return typeof window>"u"?void 0:window.localStorage}catch{return}}function Ax(){try{return typeof window<"u"&&window.innerWidth<=620}catch{return!1}}var ce=be(Qt(),1);var gE="Asia/Shanghai",yE=new Intl.DateTimeFormat("zh-CN",{timeZone:gE,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",hourCycle:"h23"});function ut(t){if(t==null||t===""||!(t instanceof Date)&&typeof t!="string"||typeof t=="string"&&!Ix(t))return"\u2014";let e=t instanceof Date?t:new Date(t);if(Number.isNaN(e.getTime()))return"\u2014";let n=Object.fromEntries(yE.formatToParts(e).map(r=>[r.type,r.value]));return`${n.year}-${n.month}-${n.day} ${n.hour}:${n.minute}:${n.second}`}function Ix(t){let e=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2})(?:\.\d+)?(Z|[+-]\d{2}:\d{2})$/.exec(t);if(!e)return!1;let[,n,r,i,o,a,s,l]=e;if(!Nx(Number(n),Number(r),Number(i))||Number(o)>23||Number(a)>59||Number(s)>59)return!1;if(l!=="Z"){let[c,u]=l.slice(1).split(":").map(Number);if(c>14||u>59||c===14&&u!==0)return!1}return!0}function ti(t){if(t==null||t==="")return"\u2014";let e=String(t),r=/^(\d{4})-(\d{2})-(\d{2})$/.exec(e)??(Ix(e)?/^(\d{4})-(\d{2})-(\d{2})/.exec(e):null);if(!r)return"\u2014";let[,i,o,a]=r;return Nx(Number(i),Number(o),Number(a))?`${i}-${o}-${a}`:"\u2014"}function Nx(t,e,n){let r=new Date(Date.UTC(t,e-1,n));return r.getUTCFullYear()===t&&r.getUTCMonth()+1===e&&r.getUTCDate()===n}var Qu=class extends Error{constructor(n,r){super(n);this.lastObserved=r;this.name="PollingObservationTimeout"}};function Ca(t){return t instanceof Qu}function el({now:t,timeoutMs:e,maxTimeoutMs:n}){let r=t()+Math.min(n,Math.max(1,e));return{active:()=>t()<r,expired(i,o){return new Qu(i,o)}}}function tl(t,e){return hm(e),new Promise((n,r)=>{let i=setTimeout(a,Math.max(0,t));e?.addEventListener("abort",s,{once:!0});function o(){clearTimeout(i),e?.removeEventListener("abort",s)}function a(){o(),n()}function s(){o(),r(fm(e))}})}async function nl(t,e,n){hm(n);try{let r=await t(n);return hm(n),{ok:!0,value:r}}catch(r){if(ni(r)||n?.aborted)throw fm(n,r);let i=r instanceof Error?r:new Error(String(r));return e?.(i),{ok:!1}}}function ni(t){return t instanceof Error&&t.name==="AbortError"}function Yu(){let t=new Map;return{run(e,n){if(t.has(e))return null;let r=new AbortController;t.set(e,r);let i;try{i=n(r.signal)}catch(o){i=Promise.reject(o)}return Promise.resolve(i).finally(()=>{t.get(e)===r&&t.delete(e)})},activeIds:()=>[...t.keys()],abort(e){t.get(e)?.abort()},abortAll(){for(let e of t.values())e.abort()}}}function Px(t,e){let n=t.queuedAt??t.createdAt??"",r=e.queuedAt??e.createdAt??"";return n.localeCompare(r)||t.id.localeCompare(e.id)}function Dx(t,e){let n=new Map,r=new Set,i=new Set;function o(){let a=[...n.entries()];return e&&a.sort((s,l)=>e(s[1],l[1])),a[0]??null}return{enqueue(a){let s=t(a);return r.has(s)||i.has(s)||n.has(s)?!1:(n.set(s,a),!0)},peek(){return o()?.[1]??null},ack(a){let s=o();return!s||s[0]!==a?!1:(n.delete(a),r.add(a),!0)},remove(a){return i.add(a),n.delete(a)}}}async function Xu(t,e,n){let r;try{r=await t()}catch(i){throw await e().catch(o=>{n?.(o instanceof Error?o:new Error(String(o)))}),i}return await e(),r}function hm(t){if(t?.aborted)throw fm(t)}function fm(t,e){if(ni(t?.reason))return t.reason;if(ni(e))return e;let n=new Error("Polling aborted");return n.name="AbortError",n}var mm=be(Qt(),1);var je=be(Be(),1),wE={DUAL_USE:"\u4E24\u7528\u7269\u9879",OVERSEAS_SANCTION:"\u5883\u5916\u7BA1\u5236"},vE={APPEND:"\u8FFD\u52A0\u5BFC\u5165",REPLACE_BATCH:"\u8986\u76D6\u6279\u6B21"};function Zu(t,e){return{page:1,pageSize:e,filters:{},batchId:t}}function Ox(t){return t.lifecycleStatus==="DRAFT"?"\u89E3\u6790\u4E2D":t.lifecycleStatus==="REVIEWING"?"\u5F85\u590D\u6838":t.lifecycleStatus==="FAILED"?"\u5BFC\u5165\u5931\u8D25":t.deletedAt?"\u5DF2\u66FF\u6362":t.lifecycleStatus==="ACTIVE"?"\u5DF2\u751F\u6548":"\u5F53\u524D\u6709\u6548"}function Sa(t){return!!t.deletedAt||t.lifecycleStatus!=null&&t.lifecycleStatus!=="ACTIVE"}function Lx(t,e){return(t.documentType==="CONTROLLED_CATALOG"||t.documentType==="SANCTION_CATALOG")&&t.status==="AWAITING_REVIEW"&&t.completedAt==null&&t.progress?.mode==="FAST_PIPELINE"&&!!t.resultEntityId&&t.resultEntityId===e.id&&t.id===e.importTaskId}function gm(t,e){return{task:t,decision:e}}function ym(){return null}async function _x(t,e,n=()=>{}){return t?(await e(t.task,t.decision,n)).committed:!1}async function qu({task:t,decision:e,resolve:n,onCommitted:r,refreshTask:i,refreshCatalog:o,refreshHistory:a,notify:s}){try{let l=await n(t.id,e);if(l.success===!1)throw new Error(l.error?.message||l.message||"\u76EE\u5F55\u5BFC\u5165\u6062\u590D\u5931\u8D25");let c=xE(l.data),u=CE(t,e,c.task);r?.(u);let d=await kE([["\u4EFB\u52A1\u72B6\u6001\u5237\u65B0\u5931\u8D25",i],["\u76EE\u5F55\u6570\u636E\u5237\u65B0\u5931\u8D25",o],["\u5BFC\u5165\u8BB0\u5F55\u5237\u65B0\u5931\u8D25",a]]),p=SE(u,c.task);return d.length>0?(s?.({message:bE(u,p,d),tone:"warning"}),{committed:!0,refreshed:!1,outcome:u}):(s?.({message:p,tone:u==="PUBLISH_FAILED"?"warning":"success"}),{committed:!0,refreshed:!0,outcome:u})}catch(l){return s?.({message:l instanceof Error?l.message:"\u76EE\u5F55\u5BFC\u5165\u6062\u590D\u5931\u8D25",tone:"error"}),{committed:!1,refreshed:!1,outcome:null}}}function bE(t,e,n){let r=t==="DISCARDED"?"\u5BFC\u5165\u6279\u6B21\u5DF2\u4F5C\u5E9F":e,i=t==="DISCARDED"?"\uFF1B\u8BF7\u91CD\u65B0\u4E0A\u4F20\uFF0C\u5E76\u4F7F\u7528\u5237\u65B0\u6309\u94AE\u91CD\u8BD5":"\uFF0C\u8BF7\u4F7F\u7528\u5237\u65B0\u6309\u94AE\u91CD\u8BD5";return`${r}\uFF0C\u4F46\u5237\u65B0\u5931\u8D25\uFF08${n.join("\uFF1B")}\uFF09${i}`}function xE(t){if(!t||!t.task||!t.batchCounts)throw new Error("\u76EE\u5F55\u5BFC\u5165\u6062\u590D\u54CD\u5E94\u7F3A\u5C11\u4EFB\u52A1\u6216\u6279\u6B21\u7EDF\u8BA1");return t}function CE(t,e,n){if(n.id!==t.id||n.documentType!==t.documentType)throw new Error("\u76EE\u5F55\u5BFC\u5165\u6062\u590D\u8FD4\u56DE\u4E86\u4E0D\u5339\u914D\u7684\u4EFB\u52A1");if(e==="PUBLISH_VALID_ROWS"&&n.status==="SUCCEEDED")return"PUBLISHED";if(e==="PUBLISH_VALID_ROWS"&&n.status==="FAILED")return"PUBLISH_FAILED";if(e==="DISCARD_AND_REIMPORT"&&n.status==="FAILED")return"DISCARDED";throw new Error(`\u76EE\u5F55\u5BFC\u5165\u6062\u590D\u7ED3\u679C\u72B6\u6001\u5F02\u5E38\uFF1A${n.status}`)}function SE(t,e){return t==="PUBLISHED"?"\u6709\u6548\u8BB0\u5F55\u5DF2\u4FDD\u7559\u5E76\u751F\u6548":t==="DISCARDED"?"\u5BFC\u5165\u6279\u6B21\u5DF2\u4F5C\u5E9F\uFF0C\u8BF7\u91CD\u65B0\u4E0A\u4F20":e.errorMessage||"\u672A\u53D1\u73B0\u53EF\u53D1\u5E03\u7684\u6709\u6548\u8BB0\u5F55\uFF0C\u5BFC\u5165\u4EFB\u52A1\u5DF2\u7ED3\u675F"}async function kE(t){let e=[];for(let[n,r]of t){let i=await AE(r,n);i&&e.push(i)}return e}async function AE(t,e){try{return await t()===!1?e:null}catch(n){return`${e}\uFF1A${n instanceof Error?n.message:String(n)}`}}function Ju({open:t,documentType:e,collection:n,tasks:r=[],loading:i,error:o,busy:a,onClose:s,onPageChange:l,onPageSizeChange:c,onRetry:u,onViewIssues:d,onDownloadIssues:p,onViewRecords:h,onResolveStalledImport:m}){let[f,v]=mm.default.useState(null),[g,y]=mm.default.useState(!1),w=e==="CONTROLLED_CATALOG",b=[{type:"ellipsis",key:"sourceFileName",header:"\u6765\u6E90\u6587\u4EF6",width:210,maxWidth:210},...w?[{type:"text",key:"catalogType",header:"\u76EE\u5F55\u7C7B\u578B",width:110,truncate:!1,format:E=>wE[String(E??"")]||"\u2014"}]:[],{type:"text",key:"createdAt",header:"\u5BFC\u5165\u65F6\u95F4",width:170,truncate:!1,format:ut},{type:"text",key:"importMode",header:"\u5BFC\u5165\u65B9\u5F0F",width:100,truncate:!1,format:E=>vE[String(E??"")]||"\u8FFD\u52A0\u5BFC\u5165"},{type:"custom",key:"lifecycleStatus",header:"\u6279\u6B21\u72B6\u6001",width:100,align:"center",render:(E,D)=>(0,je.jsx)("span",{className:`tcw-catalog-history-status is-${String(D.deletedAt?"replaced":D.lifecycleStatus??"active").toLowerCase()}`,children:Ox(D)})},{type:"text",key:"totalCount",header:"\u603B\u6570",width:72,align:"right",truncate:!1,format:rl},{type:"text",key:"successCount",header:"\u6210\u529F",width:72,align:"right",truncate:!1,format:rl},{type:"text",key:"duplicateCount",header:"\u91CD\u590D",width:72,align:"right",truncate:!1,format:rl},{type:"text",key:"invalidCount",header:"\u65E0\u6548",width:72,align:"right",truncate:!1,format:rl},{type:"text",key:"skippedCount",header:"\u8DF3\u8FC7",width:72,align:"right",truncate:!1,format:rl}],x=Rn(n.pageSize),C=Number(n.total)||0,k={page:Number(n.page)||1,pageSize:x,total:C,pageCount:Math.max(1,Math.ceil(C/x))},S=()=>{!f||!m||g||(y(!0),_x(f,m,()=>v(ym())).catch(()=>{}).finally(()=>y(!1)))};return(0,je.jsxs)(je.Fragment,{children:[(0,je.jsx)(_e,{open:t,title:w?"\u7BA1\u63A7\u5546\u54C1\u5BFC\u5165\u8BB0\u5F55":"\u516C\u53F8\u5236\u88C1\u76EE\u5F55\u5BFC\u5165\u8BB0\u5F55",size:"wide",closeDisabled:g,onClose:s,footer:(0,je.jsxs)(je.Fragment,{children:[(0,je.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary","aria-label":"\u5237\u65B0\u5BFC\u5165\u8BB0\u5F55",disabled:a||i||g,onClick:u,children:[(0,je.jsx)("i",{className:"ri-refresh-line","aria-hidden":"true"}),"\u5237\u65B0"]}),(0,je.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:g,onClick:s,children:[(0,je.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u5173\u95ED"]})]}),children:(0,je.jsxs)("div",{className:"tcw-catalog-history tcw-catalog-history-dialog","data-document-type":e,children:[i&&(0,je.jsx)("p",{className:"tcw-catalog-history-message",role:"status",children:"\u6B63\u5728\u52A0\u8F7D\u5BFC\u5165\u8BB0\u5F55..."}),o&&(0,je.jsxs)("div",{className:"tcw-catalog-issue-error",role:"alert",children:[(0,je.jsx)("span",{children:o}),(0,je.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",disabled:a||i,onClick:u,children:[(0,je.jsx)("i",{className:"ri-refresh-line","aria-hidden":"true"}),"\u91CD\u65B0\u52A0\u8F7D"]})]}),!i&&!o&&(0,je.jsx)(ot,{columns:b,rows:n.items,rowKey:"id",actionWidth:420,actions:E=>{let D=Number(E.duplicateCount||0)+Number(E.invalidCount||0),O=Number(E.duplicateCount||0)>0?"DUPLICATE":"INVALID",H=r.find(M=>M.documentType===e&&Lx(M,E));return(0,je.jsxs)(je.Fragment,{children:[D>0&&(0,je.jsxs)("button",{type:"button",disabled:a,onClick:()=>d(E,O),children:[(0,je.jsx)("i",{className:"ri-file-search-line","aria-hidden":"true"}),"\u67E5\u770B\u5F02\u5E38"]}),D>0&&(0,je.jsxs)("button",{type:"button",disabled:a,onClick:()=>p(E),children:[(0,je.jsx)("i",{className:"ri-file-excel-2-line","aria-hidden":"true"}),"\u4E0B\u8F7D\u5F02\u5E38"]}),Number(E.successCount||0)>0&&(0,je.jsxs)("button",{type:"button",disabled:a,onClick:()=>h(E),children:[(0,je.jsx)("i",{className:"ri-table-view","aria-hidden":"true"}),"\u67E5\u770B\u6570\u636E"]}),H&&m&&(0,je.jsxs)("button",{type:"button",disabled:a||g,onClick:()=>v(gm(H,"PUBLISH_VALID_ROWS")),children:[(0,je.jsx)("i",{className:"ri-checkbox-circle-line","aria-hidden":"true"}),"\u4FDD\u7559\u6709\u6548\u8BB0\u5F55"]}),H&&m&&(0,je.jsxs)("button",{type:"button",disabled:a||g,onClick:()=>v(gm(H,"DISCARD_AND_REIMPORT")),children:[(0,je.jsx)("i",{className:"ri-delete-bin-line","aria-hidden":"true"}),"\u4F5C\u5E9F\u540E\u91CD\u5BFC"]})]})},pagination:k,onPageChange:l,onPageSizeChange:c,emptyText:"\u6682\u65E0\u5BFC\u5165\u8BB0\u5F55"})]})}),(0,je.jsx)(Bt,{open:!!f,title:f?.decision==="PUBLISH_VALID_ROWS"?"\u786E\u8BA4\u4FDD\u7559\u6709\u6548\u8BB0\u5F55":"\u786E\u8BA4\u4F5C\u5E9F\u540E\u91CD\u5BFC",message:f?.decision==="PUBLISH_VALID_ROWS"?"\u672A\u5B8C\u6210\u590D\u6838\u7684\u8BB0\u5F55\u5C06\u4F5C\u4E3A\u5F02\u5E38\u8DF3\u8FC7\uFF0C\u5DF2\u89E3\u6790\u7684\u6709\u6548\u8BB0\u5F55\u5C06\u7ACB\u5373\u751F\u6548\u3002":"\u5F53\u524D\u5BFC\u5165\u6279\u6B21\u53CA\u5176\u4E2D\u8BB0\u5F55\u5C06\u4F5C\u5E9F\uFF0C\u9700\u91CD\u65B0\u4E0A\u4F20\u6E90\u6587\u4EF6\u3002",confirmText:f?.decision==="PUBLISH_VALID_ROWS"?"\u4FDD\u7559\u6709\u6548\u8BB0\u5F55":"\u4F5C\u5E9F\u540E\u91CD\u5BFC",danger:f?.decision==="DISCARD_AND_REIMPORT",busy:g,onCancel:()=>v(ym()),onConfirm:S})]})}function rl(t){let e=Number(t);return Number.isFinite(e)?String(e):"0"}var I=be(Be(),1),ir=20,TE=".pdf,.doc,.docx,.xls,.xlsx,.png,.jpg,.jpeg,.webp",Vx=()=>`\u652F\u6301 PDF\u3001DOC\u3001DOCX\u3001XLS\u3001XLSX\u3001PNG\u3001JPEG\u3001WEBP\uFF0C\u5355\u6587\u4EF6\u6700\u5927 ${Mu().maxUploadMb} MB\u3002`,il={DUAL_USE:"\u519B\u6C11\u4E24\u7528\u7269\u8D44",OVERSEAS_SANCTION:"\u6D77\u5916\u5236\u88C1"},bm={FILE_IMPORT:"\u6587\u4EF6\u5BFC\u5165",MANUAL_ENTRY:"\u624B\u5DE5\u65B0\u589E"},Fx=[{type:"select",key:"catalogType",label:"\u76EE\u5F55\u7C7B\u578B",options:Cm(il)},{type:"text",key:"sourceFileName",label:"\u6765\u6E90\u6587\u4EF6",placeholder:"\u8BF7\u8F93\u5165\u6765\u6E90\u6587\u4EF6\u540D\u79F0"},{type:"text",key:"productName",label:"\u5546\u54C1\u540D\u79F0"},{type:"text",key:"hsCode",label:"\u6D77\u5173\u7F16\u7801"}],Mx=[{type:"text",key:"sourceFileName",label:"\u6765\u6E90\u6587\u4EF6",placeholder:"\u8BF7\u8F93\u5165\u6765\u6E90\u6587\u4EF6\u540D\u79F0"},{type:"text",key:"companyName",label:"\u516C\u53F8\u540D\u79F0"},{type:"text",key:"countryOrRegion",label:"\u56FD\u5BB6\u6216\u5730\u533A"},{type:"date-range",key:"effectiveDate",label:"\u751F\u6548\u65E5\u671F"}];function Wx({onAction:t,onFileAction:e}){let n=async(i,o,a)=>{let s=a?await t(i,o,a):await t(i,o);return td(s),s},r=async(i,o,a)=>{let s=await e(i,o,a);return td(s),s};return{uploadControlledCatalog:(i,o)=>r("upload_controlled_catalog",i,o),uploadSanctionCatalog:(i,o)=>r("upload_sanction_catalog",i,o),saveControlledGoods:i=>n("save_controlled_goods",{...i,sourceType:"MANUAL_ENTRY"}),updateControlledGoods:i=>n("update_controlled_goods",i),saveSanctionedCompany:i=>n("save_sanctioned_company",{...Bx(i),sourceType:"MANUAL_ENTRY"}),updateSanctionedCompany:i=>n("update_sanctioned_company",Bx(i)),deleteEntity:(i,o,a)=>n("delete_entity",{entityType:i,id:o},a),clearControlledCatalog:()=>n("clear_controlled_catalog",{}),clearSanctionCatalog:()=>n("clear_sanction_catalog",{}),searchHsCode:(i,o=1)=>t("search_hs_code",{keywords:i,page:o}),getHsCodeDetail:i=>t("get_hs_code_detail",i),downloadImportIssues:async(i,o)=>{let a=await t("download_import_issues",{documentType:i,batchId:o});return td(a),a},resolveImportIssue:i=>n("resolve_catalog_import_issue",i),retryImportTask:i=>t("retry_import_task",{taskId:i})}}function Bx(t){let{sanctionListSource:e,...n}=t;return n}function Kx(t,e){return async n=>(e(),await t(n))}function Qx(t,e,n){let r=new Set(n.map(a=>a.id)),i=[...t].filter(a=>r.has(a)),o=e.filter(a=>r.has(a.key));return{selectedIds:i.length===t.size?t:new Set(i),failures:o.length===e.length?e:o}}async function Yx({selectedIds:t,rows:e,entityType:n,labelFor:r,deleteEntity:i,refresh:o,query:a,notify:s}){let l=[...t],c=new Map(e.map(f=>[f.id,r(f)])),u=await rr(l,f=>i(n,f,{suppressRefresh:!0})),d=e.filter(f=>!u.succeeded.includes(f.id)),p=Lr(a.page??1,d.length),h=u.failed.map(f=>({...f,label:c.get(f.key)??f.key}));try{if(await o({...a,page:p})===!1)return{selectedIds:new Set(l),failures:h,refreshFailed:!0}}catch(f){return s?.({message:`\u6570\u636E\u5237\u65B0\u5931\u8D25\uFF1A${In(f,"\u672A\u77E5\u9519\u8BEF")}`,tone:"error"}),{selectedIds:new Set(l),failures:h,refreshFailed:!0}}let m=new Set(u.failed.map(f=>f.key));return u.failed.length===0?s?.({message:`\u5DF2\u5220\u9664 ${u.succeeded.length} \u6761`,tone:"success"}):s?.({message:`\u6210\u529F ${u.succeeded.length}\u3001\u5931\u8D25 ${u.failed.length}`,tone:u.succeeded.length>0?"warning":"error"}),{selectedIds:m,failures:h,refreshFailed:!1}}var Xx=new Set(["QUEUED","EXTRACTING","AI_PARSING","VALIDATING","AWAITING_REVIEW","PERSISTING"]),zx=1200*1e3,To=class extends Error{constructor(n,r){super(n);this.task=r;this.name="CatalogImportError"}};async function Zx({start:t,pollTask:e,refresh:n,wait:r=tl,now:i=Date.now,intervalMs:o=2e3,timeoutMs:a=zx,onTransition:s,onPollError:l,signal:c}){if(td(t),!GE(t.data))throw new Error("\u4E0A\u4F20\u54CD\u5E94\u7F3A\u5C11\u89E3\u6790\u4EFB\u52A1\u4FE1\u606F");let u=el({now:i,timeoutMs:a,maxTimeoutMs:zx});o=Math.max(1,o);let d=t.data.task,p=d.id;for(;u.active();){await r(o,c);let h=await nl(v=>v?e(p,v):e(p),l,c);if(!h.ok)continue;let m=h.value;s?.(d,m.task),d=m.task;let f=m.task.status;if(f==="SUCCEEDED"){if(!m.batch)throw new Error("\u5BFC\u5165\u6210\u529F\u4F46\u672A\u8FD4\u56DE\u6279\u6B21\u6C47\u603B");return await n(),m}if(f==="FAILED"||f==="TIMED_OUT")throw await n(),new To(m.task.errorMessage||(f==="TIMED_OUT"?"\u76EE\u5F55\u89E3\u6790\u8D85\u65F6\uFF0C\u8BF7\u91CD\u65B0\u89E3\u6790":"\u76EE\u5F55\u89E3\u6790\u5931\u8D25\uFF0C\u8BF7\u91CD\u65B0\u89E3\u6790"),m.task);if(!Xx.has(f))throw new Error(`\u4E0D\u652F\u6301\u7684\u5BFC\u5165\u4EFB\u52A1\u72B6\u6001\uFF1A${f}`)}throw u.expired("\u76EE\u5F55\u4EFB\u52A1\u89C2\u5BDF\u7A97\u53E3\u5DF2\u7ED3\u675F",d)}function qx(t){return t.filter(e=>(e.documentType==="CONTROLLED_CATALOG"||e.documentType==="SANCTION_CATALOG")&&Xx.has(e.status))}function xm(t,e,n){let r=t.filter(s=>s.documentType===e);n?.documentType===e&&!r.some(s=>s.id===n.id)&&r.push(n);let i=new Set(r.map(s=>s.retryOfTaskId).filter(s=>!!s)),o=r.filter(s=>s.documentType===e&&(s.status==="FAILED"||s.status==="TIMED_OUT")&&!i.has(s.id)).sort((s,l)=>String(l.updatedAt??"").localeCompare(String(s.updatedAt??"")))[0]??null;if(!o)return null;let a=r.filter(s=>s.status==="SUCCEEDED").sort((s,l)=>String(l.updatedAt??"").localeCompare(String(s.updatedAt??"")))[0];return a?.updatedAt&&o.updatedAt&&a.updatedAt>=o.updatedAt?null:o}function Jx(t,e=300){let n=null,r=()=>{n&&clearTimeout(n),n=null},i=(o,a,s=ir)=>{r(),t(o,a,s)};return{schedule(o,a,s=ir){if(r(),o!=="text"){i(1,a,s);return}n=setTimeout(()=>{n=null,t(1,a,s)},e)},flush:(o,a=ir)=>i(1,o,a),page:(o,a,s=ir)=>i(o,a,s),pageSize:(o,a)=>i(1,a,o),cancel:r}}function eC(t){let e=null,n=t;return{updateQuery(r){n=r},observe(r,i){!r||r.task.status!=="SUCCEEDED"||r.task.id===e||(e=r.task.id,n(i.page,i.filters,i.pageSize))}}}var tC={catalogType:"",replaceBatchId:"",file:null,error:"",confirming:!1,submitting:!1};function RE(t,e){return e.type==="reset"?tC:e.type==="select-catalog-type"?{...t,catalogType:e.catalogType,replaceBatchId:"",error:""}:e.type==="select-batch"?{...t,replaceBatchId:e.batchId}:e.type==="select-file"?{...t,file:e.file,error:""}:e.type==="set-error"?{...t,error:e.error}:e.type==="confirm-replace"?{...t,confirming:!0}:e.type==="cancel-replace"?{...t,confirming:!1}:{...t,submitting:e.submitting}}function EE(t,e){return t&&!e.confirming}function nC(t,e){let n=new Map(e.map(r=>[r.id,r.sourceFileName]));return t.map(r=>({...r,sourceFileName:r.batchId&&n.has(r.batchId)?n.get(r.batchId):r.sourceFileName}))}function rC(t,e){let[n,r]=ce.default.useState({open:!1,collection:{items:[],page:1,pageSize:ir},loading:!1,error:""}),i=ce.default.useCallback(async(s=1,l=ir)=>{if(r(c=>({...c,open:!0,loading:!0,error:""})),!e){r(c=>({...c,loading:!1,error:"\u5BFC\u5165\u8BB0\u5F55\u67E5\u8BE2\u6682\u4E0D\u53EF\u7528"}));return}try{let c=await e({documentType:t,page:s,pageSize:l});return r({open:!0,collection:c,loading:!1,error:""}),!0}catch(c){return r(u=>({...u,loading:!1,error:In(c,"\u5BFC\u5165\u8BB0\u5F55\u52A0\u8F7D\u5931\u8D25")})),!1}},[t,e]),o=ce.default.useCallback(()=>{i()},[i]),a=ce.default.useCallback(()=>r(s=>({...s,open:!1})),[]);return{state:n,open:o,close:a,load:i}}async function IE(t,e){try{return{collection:await t(e),error:""}}catch(n){return{collection:{items:[],page:e.page,pageSize:e.pageSize},error:`\u52A0\u8F7D\u5BFC\u5165\u95EE\u9898\u660E\u7EC6\u5931\u8D25\uFF1A${In(n,"\u672A\u77E5\u9519\u8BEF")}`}}}function iC(t){let e=0,n=!0,r=!1,i="",o={items:[],page:1,pageSize:ir};return{mount(){n=!0},async load(a,s){let l=++e;r=!0,s.batchId!==i&&(i=s.batchId,o={items:[],page:s.page,pageSize:s.pageSize}),n&&t({batchId:s.batchId,issueType:s.issueType,collection:o,loading:!0,error:""});let c=await IE(a,s);n&&r&&l===e&&(o=c.collection,t({batchId:s.batchId,issueType:s.issueType,collection:c.collection,loading:!1,error:c.error}))},close(){r=!1,e+=1,i="",o={items:[],page:1,pageSize:ir}},dispose(){n=!1,r=!1,e+=1,i="",o={items:[],page:1,pageSize:ir}}}}function oC(t){let[e,n]=ce.default.useState({}),[r,i]=ce.default.useState(null),[o,a]=ce.default.useState(new Set),[s,l]=ce.default.useState(!1),[c,u]=ce.default.useState(!1),[d,p]=ce.default.useState([]),[h,m]=ce.default.useState(!1),[f,v]=ce.default.useState(null),[g,y]=ce.default.useState(null),[w,b]=ce.default.useState(null),[x,C]=ce.default.useState(null),[k,S]=ce.default.useState(null),E=ce.default.useRef();E.current||(E.current=iC(S));let D=ce.default.useMemo(()=>Wx(t),[t.onAction,t.onFileAction,t.onRefresh]),O=nC(t.collection.items,t.batches),H=vn(t.collection),M=rC("CONTROLLED_CATALOG",t.onHistoryQuery),_=async(F,ee,B)=>!t.onResolveStalledImport||!t.onRefreshTasks?{committed:!1,refreshed:!1,outcome:null}:await qu({task:F,decision:ee,resolve:t.onResolveStalledImport,onCommitted:B,refreshTask:t.onRefreshTasks,refreshCatalog:()=>G(H.page,e,H.pageSize),refreshHistory:()=>M.load(Number(M.state.collection.page)||1,vn(M.state.collection).pageSize),notify:t.onNotify});ce.default.useEffect(()=>{let F=Qx(o,d,O);F.selectedIds!==o&&a(F.selectedIds),F.failures!==d&&p(F.failures)},[O,o,d]),ce.default.useEffect(()=>{t.command==="upload"&&m(!0),t.command==="create"&&v({mode:"create",item:null}),t.command==="history"&&M.open(),t.command&&t.onCommandHandled?.()},[t.command,t.onCommandHandled,M.open]);let V=ce.default.useMemo(()=>Kx(t.onQuery,()=>a(new Set)),[t.onQuery]),G=ce.default.useCallback((F,ee,B)=>V({page:F,pageSize:B,filters:ee,...r?{batchId:r.id}:{}}),[V,r]),K=ce.default.useRef();K.current||(K.current=eC((F,ee,B)=>{G(F,ee,B)})),K.current.updateQuery((F,ee,B)=>{G(F,ee,B)});let J=ce.default.useMemo(()=>Jx((F,ee,B)=>{G(F,ee,B)}),[G]);ce.default.useEffect(()=>()=>J.cancel(),[J]),ce.default.useEffect(()=>(E.current?.mount(),()=>E.current?.dispose()),[]),ce.default.useEffect(()=>K.current?.observe(t.importCompletion,{page:H.page,pageSize:H.pageSize,filters:e}),[t.importCompletion,H.page,H.pageSize,e]);let ie=(F,ee)=>{let B={...e,[F]:ee};n(B),J.schedule(Fx.find(U=>U.key===F)?.type??"text",B,H.pageSize)},ue=async(F,ee,B=1,U=ir)=>{t.onIssueQuery&&await E.current?.load(t.onIssueQuery,{documentType:"CONTROLLED_CATALOG",batchId:F,issueType:ee,page:B,pageSize:U})},we=async F=>{let ee=k;if(!ee)return;F&&C(F);let B=vn(ee.collection),U=ee.collection.items.length<=1&&B.page>1?B.page-1:B.page;await ue(ee.batchId,ee.issueType,U,B.pageSize),await t.onQuery({page:H.page,pageSize:H.pageSize,filters:e,...r?{batchId:r.id}:{}})},Y=x??(t.importCompletion?.task.documentType==="CONTROLLED_CATALOG"?t.importCompletion.batch??null:null),Q=[{type:"custom",key:"productName",header:"\u5546\u54C1\u540D\u79F0",width:180,title:(F,ee)=>ee.productName||void 0,render:(F,ee)=>(0,I.jsx)(vm,{iconClass:"ri-search-line",title:ee.productName||"\u2014",ariaLabel:`\u6309\u5546\u54C1\u540D\u79F0\u67E5\u8BE2\u6D77\u5173\u7F16\u7801\uFF1A${ee.productName||"\u2014"}`,onClick:()=>b({query:Hx(ee,"productName"),item:ee}),children:ee.productName||"\u2014"})},{type:"custom",key:"hsCode",header:"\u6D77\u5173\u7F16\u7801",width:130,title:(F,ee)=>ee.hsCode||void 0,render:(F,ee)=>ee.hsCode?(0,I.jsx)(vm,{iconClass:"ri-search-line",title:ee.hsCode,ariaLabel:`\u6309\u7F16\u7801\u67E5\u8BE2\u6D77\u5173\u7F16\u7801\uFF1A${ee.hsCode}`,onClick:()=>b({query:Hx(ee,"hsCode"),item:ee}),children:ee.hsCode}):"\u2014"},{type:"text",key:"catalogType",header:"\u76EE\u5F55\u7C7B\u578B",width:130,truncate:!1,format:F=>nd(F,il)},{type:"ellipsis",key:"controlDescription",header:"\u7BA1\u63A7\u8BF4\u660E",width:220,maxWidth:220},{type:"text",key:"sourceType",header:"\u6765\u6E90\u7C7B\u578B",width:110,truncate:!1,format:F=>nd(F,bm)},{type:"ellipsis",key:"sourceFileName",header:"\u6765\u6E90\u6587\u4EF6",width:190,maxWidth:190},{type:"text",key:"updatedAt",header:"\u66F4\u65B0\u65F6\u95F4",width:170,truncate:!1,format:ut}];return(0,I.jsxs)("section",{className:"tcw-catalog-page tcw-catalog-page--controlled","aria-label":"\u7BA1\u63A7\u5546\u54C1\u76EE\u5F55",children:[(0,I.jsx)(un,{definitions:Fx,values:e,onChange:ie,onQuery:()=>J.flush(e,H.pageSize),onReset:()=>{i(null),n({}),V({page:1,pageSize:H.pageSize,filters:{}})}}),(0,I.jsx)(Je,{children:Vx()}),r&&(0,I.jsxs)("div",{className:"tcw-catalog-batch-filter",children:[(0,I.jsxs)("span",{children:[(0,I.jsx)("i",{className:"ri-history-line","aria-hidden":"true"}),"\u6B63\u5728\u67E5\u770B\u5BFC\u5165\u6279\u6B21\uFF1A",(0,I.jsx)("strong",{children:r.sourceFileName||r.id}),r.deletedAt&&(0,I.jsx)("em",{children:"\u5DF2\u66FF\u6362"})]}),(0,I.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:()=>{i(null),n({}),V({page:1,pageSize:H.pageSize,filters:{}})},children:[(0,I.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u9000\u51FA\u6279\u6B21\u67E5\u770B"]})]}),t.importFailure?.documentType==="CONTROLLED_CATALOG"&&(0,I.jsx)(mC,{task:t.importFailure,busy:t.busy,onRetry:t.onRetryImport,onNotify:t.onNotify}),Y&&(0,I.jsx)(fC,{documentType:"CONTROLLED_CATALOG",batch:Y,busy:t.busy,onDownload:(F,ee)=>D.downloadImportIssues(F,ee),onView:(F,ee)=>ue(F,ee),onNotify:t.onNotify}),(0,I.jsx)(ot,{columns:Q,rows:O,rowKey:"id",selection:r&&Sa(r)?void 0:{selectedKeys:o,onToggle:F=>a(ee=>yr(ee,F)),onTogglePage:()=>a(F=>Ao(F,O.map(ee=>ee.id))),onClear:()=>a(new Set),onDelete:()=>{p([]),l(!0)},labelFor:F=>`\u9009\u62E9\u7BA1\u63A7\u5546\u54C1\uFF1A${F.productName||"\u672A\u547D\u540D\u8BB0\u5F55"}`,disabled:t.busy||c},actionWidth:160,actions:r&&Sa(r)?void 0:F=>(0,I.jsxs)("button",{type:"button",className:"tcw-catalog-operation-button is-danger",disabled:t.busy||c,onClick:()=>y(F),children:[(0,I.jsx)("i",{className:"ri-delete-bin-line","aria-hidden":"true"}),"\u5220\u9664"]}),pagination:H,onPageChange:F=>J.page(F,e,H.pageSize),onPageSizeChange:F=>J.pageSize(F,e),emptyText:"\u6682\u65E0\u7BA1\u63A7\u5546\u54C1\u6570\u636E"}),(0,I.jsx)(lC,{open:h,kind:"controlled",batches:t.batches,busy:t.busy,onClose:()=>m(!1),onNotify:t.onNotify,onUpload:async(F,ee)=>{let B=await D.uploadControlledCatalog(F,ee),U=wC(B.data);U.batch&&C(U.batch),m(!1)}}),(0,I.jsx)(PE,{open:!!f,mode:f?.mode??"create",item:f?.item??null,busy:t.busy,onClose:()=>v(null),onSave:async F=>{await wr(async()=>{f?.mode==="review"&&f.item?await D.updateControlledGoods({...F,id:f.item.id}):await D.saveControlledGoods(F),await t.onQuery({page:H.page,pageSize:H.pageSize,filters:e,...r?{batchId:r.id}:{}})},t.onNotify,{success:f?.mode==="review"?"\u7BA1\u63A7\u5546\u54C1\u4FDD\u5B58\u6210\u529F":"\u7BA1\u63A7\u5546\u54C1\u65B0\u589E\u6210\u529F",error:"\u7BA1\u63A7\u5546\u54C1\u4FDD\u5B58\u5931\u8D25"})&&v(null)}}),(0,I.jsx)(Bt,{open:!!g,title:"\u786E\u8BA4\u5220\u9664\u7BA1\u63A7\u5546\u54C1",message:`\u5220\u9664\u201C${g?.productName??""}\u201D\u540E\uFF0C\u8BE5\u8BB0\u5F55\u5C06\u88AB\u903B\u8F91\u5220\u9664\u3002`,confirmText:"\u786E\u8BA4\u5220\u9664",danger:!0,onCancel:()=>y(null),onConfirm:()=>{g&&wr(()=>D.deleteEntity("controlledGoods",g.id).then(()=>{}),t.onNotify,{success:"\u7BA1\u63A7\u5546\u54C1\u5220\u9664\u6210\u529F",error:"\u7BA1\u63A7\u5546\u54C1\u5220\u9664\u5931\u8D25"}).then(F=>{F&&y(null)})}}),(0,I.jsx)(En,{open:s,title:"\u6279\u91CF\u5220\u9664\u7BA1\u63A7\u5546\u54C1",count:o.size,message:"\u8BB0\u5F55\u5C06\u88AB\u903B\u8F91\u5220\u9664\uFF0C\u540E\u7EED\u5BA1\u67E5\u4E0E\u67E5\u8BE2\u4E0D\u518D\u4F7F\u7528\u8FD9\u4E9B\u7BA1\u63A7\u5546\u54C1\u3002",busy:c,failures:d,onCancel:()=>{c||l(!1)},onConfirm:()=>{c||o.size===0||(u(!0),Yx({selectedIds:o,rows:O,entityType:"controlledGoods",labelFor:F=>F.productName||F.id,deleteEntity:D.deleteEntity,refresh:t.onQuery,query:{page:H.page,pageSize:H.pageSize,filters:e,...r?{batchId:r.id}:{}},notify:t.onNotify}).then(F=>{a(F.selectedIds),p(F.failures),!F.refreshFailed&&F.failures.length===0&&l(!1)}).finally(()=>u(!1)))}}),(0,I.jsx)(ol,{open:w!==null,initialQuery:w?.query??"",onAction:t.onAction,onClose:()=>b(null),onBind:async F=>{if(!w)return;let ee=zE(w.item,F.code);if(!ee){b(null);return}await wr(async()=>{await D.updateControlledGoods(ee),await t.onQuery({page:H.page,pageSize:H.pageSize,filters:e,...r?{batchId:r.id}:{}})},t.onNotify,{success:"\u7BA1\u63A7\u5546\u54C1\u6D77\u5173\u7F16\u7801\u5DF2\u7ED1\u5B9A",error:"\u6D77\u5173\u7F16\u7801\u7ED1\u5B9A\u5931\u8D25"})&&b(null)}}),(0,I.jsx)(gC,{open:!!k,documentType:"CONTROLLED_CATALOG",batchId:k?.batchId??"",issueType:k?.issueType??"DUPLICATE",collection:k?.collection??{items:[]},loading:k?.loading??!1,error:k?.error??"",busy:t.busy,onClose:()=>{E.current?.close(),S(null)},onIssueTypeChange:F=>{k&&ue(k.batchId,F)},onPageChange:F=>{k&&ue(k.batchId,k.issueType,F,vn(k.collection).pageSize)},onPageSizeChange:F=>{k&&ue(k.batchId,k.issueType,1,F)},onRetry:()=>{k&&ue(k.batchId,k.issueType,Number(k.collection.page)||1,vn(k.collection).pageSize)},onResolveIssue:async(F,ee)=>{let U=(await D.resolveImportIssue({documentType:"CONTROLLED_CATALOG",batchId:k?.batchId??"",issueId:F.id,payload:ee})).data;await we(U.batch),t.onNotify?.({message:"\u65E0\u6548\u95EE\u9898\u5DF2\u4FEE\u6B63\u5165\u5E93",tone:"success"})}}),(0,I.jsx)(Ju,{open:M.state.open,documentType:"CONTROLLED_CATALOG",collection:M.state.collection,tasks:t.tasks,loading:M.state.loading,error:M.state.error,busy:t.busy,onClose:M.close,onPageChange:F=>{M.load(F,vn(M.state.collection).pageSize)},onPageSizeChange:F=>{M.load(1,F)},onRetry:()=>{M.load(Number(M.state.collection.page)||1,vn(M.state.collection).pageSize)},onViewIssues:(F,ee)=>{M.close(),ue(F.id,ee)},onDownloadIssues:F=>{D.downloadImportIssues("CONTROLLED_CATALOG",F.id).catch(ee=>t.onNotify?.({message:In(ee,"\u5F02\u5E38\u660E\u7EC6\u4E0B\u8F7D\u5931\u8D25"),tone:"error"}))},onViewRecords:F=>{M.close(),i(F),n({}),V(Zu(F.id,H.pageSize))},onResolveStalledImport:t.onResolveStalledImport&&t.onRefreshTasks?_:void 0})]})}function aC(t){let[e,n]=ce.default.useState({}),[r,i]=ce.default.useState(null),[o,a]=ce.default.useState(new Set),[s,l]=ce.default.useState(!1),[c,u]=ce.default.useState(!1),[d,p]=ce.default.useState([]),[h,m]=ce.default.useState(!1),[f,v]=ce.default.useState(null),[g,y]=ce.default.useState(null),[w,b]=ce.default.useState(null),[x,C]=ce.default.useState(null),k=ce.default.useRef();k.current||(k.current=iC(C));let S=ce.default.useMemo(()=>Wx(t),[t.onAction,t.onFileAction,t.onRefresh]),E=nC(t.collection.items,t.batches),D=vn(t.collection),O=rC("SANCTION_CATALOG",t.onHistoryQuery),H=async(Y,Q,F)=>!t.onResolveStalledImport||!t.onRefreshTasks?{committed:!1,refreshed:!1,outcome:null}:await qu({task:Y,decision:Q,resolve:t.onResolveStalledImport,onCommitted:F,refreshTask:t.onRefreshTasks,refreshCatalog:()=>_(D.page,e,D.pageSize),refreshHistory:()=>O.load(Number(O.state.collection.page)||1,vn(O.state.collection).pageSize),notify:t.onNotify});ce.default.useEffect(()=>{let Y=Qx(o,d,E);Y.selectedIds!==o&&a(Y.selectedIds),Y.failures!==d&&p(Y.failures)},[E,o,d]),ce.default.useEffect(()=>{t.command==="upload"&&m(!0),t.command==="create"&&v({mode:"create",item:null}),t.command==="history"&&O.open(),t.command&&t.onCommandHandled?.()},[t.command,t.onCommandHandled,O.open]);let M=ce.default.useMemo(()=>Kx(t.onQuery,()=>a(new Set)),[t.onQuery]),_=ce.default.useCallback((Y,Q,F)=>M({page:Y,pageSize:F,filters:Q,...r?{batchId:r.id}:{}}),[M,r]),V=ce.default.useRef();V.current||(V.current=eC((Y,Q,F)=>{_(Y,Q,F)})),V.current.updateQuery((Y,Q,F)=>{_(Y,Q,F)});let G=ce.default.useMemo(()=>Jx((Y,Q,F)=>{_(Y,Q,F)}),[_]);ce.default.useEffect(()=>()=>G.cancel(),[G]),ce.default.useEffect(()=>(k.current?.mount(),()=>k.current?.dispose()),[]),ce.default.useEffect(()=>V.current?.observe(t.importCompletion,{page:D.page,pageSize:D.pageSize,filters:e}),[t.importCompletion,D.page,D.pageSize,e]);let K=(Y,Q)=>{let F={...e,[Y]:Q};n(F),G.schedule(Mx.find(ee=>ee.key===Y)?.type??"text",F,D.pageSize)},J=async(Y,Q,F=1,ee=ir)=>{t.onIssueQuery&&await k.current?.load(t.onIssueQuery,{documentType:"SANCTION_CATALOG",batchId:Y,issueType:Q,page:F,pageSize:ee})},ie=async Y=>{let Q=x;if(!Q)return;Y&&b(Y);let F=vn(Q.collection),ee=Q.collection.items.length<=1&&F.page>1?F.page-1:F.page;await J(Q.batchId,Q.issueType,ee,F.pageSize),await t.onQuery({page:D.page,pageSize:D.pageSize,filters:e,...r?{batchId:r.id}:{}})},ue=w??(t.importCompletion?.task.documentType==="SANCTION_CATALOG"?t.importCompletion.batch??null:null),we=[{type:"custom",key:"companyName",header:"\u516C\u53F8\u540D\u79F0",width:210,title:(Y,Q)=>Q.companyName||void 0,render:(Y,Q)=>(0,I.jsx)(vm,{iconClass:"ri-eye-line",title:Q.companyName||"\u2014",ariaLabel:`\u67E5\u770B\u5236\u88C1\u516C\u53F8\u8BE6\u60C5\uFF1A${Q.companyName||"\u2014"}`,onClick:()=>v({mode:"detail",item:Q}),children:Q.companyName||"\u2014"})},{type:"text",key:"countryOrRegion",header:"\u56FD\u5BB6\u6216\u5730\u533A",width:120},{type:"text",key:"effectiveDate",header:"\u751F\u6548\u65E5\u671F",width:120,truncate:!1,format:ti},{type:"ellipsis",key:"sanctionReason",header:"\u5236\u88C1\u539F\u56E0",width:220,maxWidth:220},{type:"text",key:"sourceType",header:"\u6765\u6E90\u7C7B\u578B",width:110,truncate:!1,format:Y=>nd(Y,bm)},{type:"ellipsis",key:"sourceFileName",header:"\u6765\u6E90\u6587\u4EF6",width:190,maxWidth:190},{type:"text",key:"updatedAt",header:"\u66F4\u65B0\u65F6\u95F4",width:170,truncate:!1,format:ut}];return(0,I.jsxs)("section",{className:"tcw-catalog-page tcw-catalog-page--sanction","aria-label":"\u516C\u53F8\u5236\u88C1\u76EE\u5F55",children:[(0,I.jsx)(un,{definitions:Mx,values:e,onChange:K,onQuery:()=>G.flush(e,D.pageSize),onReset:()=>{i(null),n({}),M({page:1,pageSize:D.pageSize,filters:{}})}}),(0,I.jsx)(Je,{children:Vx()}),r&&(0,I.jsxs)("div",{className:"tcw-catalog-batch-filter",children:[(0,I.jsxs)("span",{children:[(0,I.jsx)("i",{className:"ri-history-line","aria-hidden":"true"}),"\u6B63\u5728\u67E5\u770B\u5BFC\u5165\u6279\u6B21\uFF1A",(0,I.jsx)("strong",{children:r.sourceFileName||r.id}),r.deletedAt&&(0,I.jsx)("em",{children:"\u5DF2\u66FF\u6362"})]}),(0,I.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:()=>{i(null),n({}),M({page:1,pageSize:D.pageSize,filters:{}})},children:[(0,I.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u9000\u51FA\u6279\u6B21\u67E5\u770B"]})]}),t.importFailure?.documentType==="SANCTION_CATALOG"&&(0,I.jsx)(mC,{task:t.importFailure,busy:t.busy,onRetry:t.onRetryImport,onNotify:t.onNotify}),ue&&(0,I.jsx)(fC,{documentType:"SANCTION_CATALOG",batch:ue,busy:t.busy,onDownload:(Y,Q)=>S.downloadImportIssues(Y,Q),onView:(Y,Q)=>J(Y,Q),onNotify:t.onNotify}),(0,I.jsx)(ot,{columns:we,rows:E,rowKey:"id",selection:r&&Sa(r)?void 0:{selectedKeys:o,onToggle:Y=>a(Q=>yr(Q,Y)),onTogglePage:()=>a(Y=>Ao(Y,E.map(Q=>Q.id))),onClear:()=>a(new Set),onDelete:()=>{p([]),l(!0)},labelFor:Y=>`\u9009\u62E9\u5236\u88C1\u516C\u53F8\uFF1A${Y.companyName||"\u672A\u547D\u540D\u8BB0\u5F55"}`,disabled:t.busy||c},actionWidth:160,actions:r&&Sa(r)?void 0:Y=>(0,I.jsxs)("button",{type:"button",className:"tcw-catalog-operation-button is-danger",disabled:t.busy||c,onClick:()=>y(Y),children:[(0,I.jsx)("i",{className:"ri-delete-bin-line","aria-hidden":"true"}),"\u5220\u9664"]}),pagination:D,onPageChange:Y=>G.page(Y,e,D.pageSize),onPageSizeChange:Y=>G.pageSize(Y,e),emptyText:"\u6682\u65E0\u5236\u88C1\u516C\u53F8\u6570\u636E"}),(0,I.jsx)(lC,{open:h,kind:"sanction",batches:t.batches,busy:t.busy,onClose:()=>m(!1),onNotify:t.onNotify,onUpload:async(Y,Q)=>{let F=await S.uploadSanctionCatalog(Y,Q),ee=wC(F.data);ee.batch&&b(ee.batch),m(!1)}}),(0,I.jsx)(DE,{open:!!f,mode:f?.mode??"create",item:f?.item??null,busy:t.busy,onClose:()=>v(null),onSave:async Y=>{await wr(async()=>{f?.mode==="review"&&f.item?await S.updateSanctionedCompany({...Y,id:f.item.id}):await S.saveSanctionedCompany(Y),await t.onQuery({page:D.page,pageSize:D.pageSize,filters:e,...r?{batchId:r.id}:{}})},t.onNotify,{success:f?.mode==="review"?"\u5236\u88C1\u516C\u53F8\u4FDD\u5B58\u6210\u529F":"\u5236\u88C1\u516C\u53F8\u65B0\u589E\u6210\u529F",error:"\u5236\u88C1\u516C\u53F8\u4FDD\u5B58\u5931\u8D25"})&&v(null)}}),(0,I.jsx)(Bt,{open:!!g,title:"\u786E\u8BA4\u5220\u9664\u5236\u88C1\u516C\u53F8",message:`\u5220\u9664\u201C${g?.companyName??""}\u201D\u540E\uFF0C\u8BE5\u8BB0\u5F55\u5C06\u88AB\u903B\u8F91\u5220\u9664\u3002`,confirmText:"\u786E\u8BA4\u5220\u9664",danger:!0,onCancel:()=>y(null),onConfirm:()=>{g&&wr(()=>S.deleteEntity("sanctionedCompany",g.id).then(()=>{}),t.onNotify,{success:"\u5236\u88C1\u516C\u53F8\u5220\u9664\u6210\u529F",error:"\u5236\u88C1\u516C\u53F8\u5220\u9664\u5931\u8D25"}).then(Y=>{Y&&y(null)})}}),(0,I.jsx)(En,{open:s,title:"\u6279\u91CF\u5220\u9664\u5236\u88C1\u516C\u53F8",count:o.size,message:"\u8BB0\u5F55\u5C06\u88AB\u903B\u8F91\u5220\u9664\uFF0C\u540E\u7EED\u5BA1\u67E5\u4E0E\u67E5\u8BE2\u4E0D\u518D\u4F7F\u7528\u8FD9\u4E9B\u5236\u88C1\u516C\u53F8\u3002",busy:c,failures:d,onCancel:()=>{c||l(!1)},onConfirm:()=>{c||o.size===0||(u(!0),Yx({selectedIds:o,rows:E,entityType:"sanctionedCompany",labelFor:Y=>Y.companyName||Y.id,deleteEntity:S.deleteEntity,refresh:t.onQuery,query:{page:D.page,pageSize:D.pageSize,filters:e,...r?{batchId:r.id}:{}},notify:t.onNotify}).then(Y=>{a(Y.selectedIds),p(Y.failures),!Y.refreshFailed&&Y.failures.length===0&&l(!1)}).finally(()=>u(!1)))}}),(0,I.jsx)(gC,{open:!!x,documentType:"SANCTION_CATALOG",batchId:x?.batchId??"",issueType:x?.issueType??"DUPLICATE",collection:x?.collection??{items:[]},loading:x?.loading??!1,error:x?.error??"",busy:t.busy,onClose:()=>{k.current?.close(),C(null)},onIssueTypeChange:Y=>{x&&J(x.batchId,Y)},onPageChange:Y=>{x&&J(x.batchId,x.issueType,Y,vn(x.collection).pageSize)},onPageSizeChange:Y=>{x&&J(x.batchId,x.issueType,1,Y)},onRetry:()=>{x&&J(x.batchId,x.issueType,Number(x.collection.page)||1,vn(x.collection).pageSize)},onResolveIssue:async(Y,Q)=>{let ee=(await S.resolveImportIssue({documentType:"SANCTION_CATALOG",batchId:x?.batchId??"",issueId:Y.id,payload:Q})).data;await ie(ee.batch),t.onNotify?.({message:"\u65E0\u6548\u95EE\u9898\u5DF2\u4FEE\u6B63\u5165\u5E93",tone:"success"})}}),(0,I.jsx)(Ju,{open:O.state.open,documentType:"SANCTION_CATALOG",collection:O.state.collection,tasks:t.tasks,loading:O.state.loading,error:O.state.error,busy:t.busy,onClose:O.close,onPageChange:Y=>{O.load(Y,vn(O.state.collection).pageSize)},onPageSizeChange:Y=>{O.load(1,Y)},onRetry:()=>{O.load(Number(O.state.collection.page)||1,vn(O.state.collection).pageSize)},onViewIssues:(Y,Q)=>{O.close(),J(Y.id,Q)},onDownloadIssues:Y=>{S.downloadImportIssues("SANCTION_CATALOG",Y.id).catch(Q=>t.onNotify?.({message:In(Q,"\u5F02\u5E38\u660E\u7EC6\u4E0B\u8F7D\u5931\u8D25"),tone:"error"}))},onViewRecords:Y=>{O.close(),i(Y),n({}),M(Zu(Y.id,D.pageSize))},onResolveStalledImport:t.onResolveStalledImport&&t.onRefreshTasks?H:void 0})]})}function sC({busy:t,onUpload:e,onCreate:n,onHistory:r,onClear:i}){return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:t,onClick:e,children:[(0,I.jsx)("i",{className:"ri-upload-cloud-2-line","aria-hidden":"true"}),"\u4E0A\u4F20\u76EE\u5F55\u6587\u4EF6"]}),(0,I.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",disabled:t,onClick:n,children:[(0,I.jsx)("i",{className:"ri-add-line","aria-hidden":"true"}),"\u624B\u5DE5\u65B0\u589E"]}),(0,I.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",disabled:t,onClick:r,children:[(0,I.jsx)("i",{className:"ri-history-line","aria-hidden":"true"}),"\u5BFC\u5165\u8BB0\u5F55"]}),i&&(0,I.jsxs)("button",{type:"button",className:"tcw-button tcw-button--danger-subtle",disabled:t,onClick:i,children:[(0,I.jsx)("i",{className:"ri-delete-bin-6-line","aria-hidden":"true"}),"\u6E05\u7A7A\u76EE\u5F55"]})]})}function lC({open:t,kind:e,batches:n,busy:r=!1,onClose:i,onUpload:o,onNotify:a}){let[s,l]=ce.default.useReducer(RE,tC),c=r||s.submitting;ce.default.useEffect(()=>{t||l({type:"reset"})},[t,e]);let u=e==="controlled"&&s.catalogType?n.filter(f=>f.catalogType===s.catalogType):n,d=u.find(f=>f.id===s.replaceBatchId),p=()=>e==="controlled"?{documentType:"CONTROLLED_CATALOG",catalogType:s.catalogType,...s.replaceBatchId?{replaceBatchId:s.replaceBatchId}:{}}:{documentType:"SANCTION_CATALOG",...s.replaceBatchId?{replaceBatchId:s.replaceBatchId}:{}},h=async()=>{if(s.file){l({type:"set-submitting",submitting:!0});try{await o(s.file,p()),l({type:"reset"})}catch(f){a?.({message:In(f,"\u76EE\u5F55\u4E0A\u4F20\u5931\u8D25"),tone:"error"}),l({type:"cancel-replace"})}finally{l({type:"set-submitting",submitting:!1})}}},m=async()=>{if(e==="controlled"&&!s.catalogType){l({type:"set-error",error:"\u8BF7\u9009\u62E9\u76EE\u5F55\u7C7B\u578B"});return}if(!s.file){l({type:"set-error",error:"\u8BF7\u9009\u62E9\u76EE\u5F55\u6587\u4EF6"});return}if(s.replaceBatchId){l({type:"confirm-replace"});return}await h()};return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)(_e,{open:EE(t,s),title:e==="controlled"?"\u4E0A\u4F20\u7BA1\u63A7\u5546\u54C1\u76EE\u5F55":"\u4E0A\u4F20\u516C\u53F8\u5236\u88C1\u76EE\u5F55",onClose:i,footer:(0,I.jsxs)(I.Fragment,{children:[(0,I.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",disabled:c,onClick:i,children:[(0,I.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u53D6\u6D88"]}),(0,I.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:c,onClick:()=>{m()},children:[(0,I.jsx)("i",{className:"ri-upload-cloud-2-line","aria-hidden":"true"}),"\u4E0A\u4F20\u76EE\u5F55"]})]}),children:(0,I.jsxs)(Rt,{columns:1,children:[e==="controlled"&&(0,I.jsx)(se,{label:"\u9009\u62E9\u76EE\u5F55\u7C7B\u578B",required:!0,children:(0,I.jsxs)("select",{value:s.catalogType,disabled:c,onChange:f=>l({type:"select-catalog-type",catalogType:f.target.value}),children:[(0,I.jsx)("option",{value:"",children:"\u8BF7\u9009\u62E9\u76EE\u5F55\u7C7B\u578B"}),Cm(il).map(f=>(0,I.jsx)("option",{value:f.value,children:f.label},f.value))]})}),(0,I.jsx)(se,{label:"\u8986\u76D6\u5386\u53F2\u6279\u6B21",hint:"\u4E0D\u9009\u62E9\u65F6\u6309\u65B0\u589E\u6279\u6B21\u5BFC\u5165",children:(0,I.jsxs)("select",{value:s.replaceBatchId,disabled:c||e==="controlled"&&!s.catalogType,onChange:f=>l({type:"select-batch",batchId:f.target.value}),children:[(0,I.jsx)("option",{value:"",children:"\u4E0D\u8986\u76D6\uFF0C\u65B0\u589E\u6279\u6B21"}),u.map(f=>(0,I.jsxs)("option",{value:f.id,children:[f.sourceFileName||f.id,"\uFF08",f.totalCount??0," \u6761\uFF09"]},f.id))]})}),(0,I.jsx)(Js,{accept:TE,disabled:c,onFile:f=>l({type:"select-file",file:f}),onError:f=>l({type:"set-error",error:f})}),s.file&&(0,I.jsxs)("p",{children:["\u5DF2\u9009\u62E9\uFF1A",(0,I.jsx)("strong",{children:s.file.name})]}),s.error&&(0,I.jsx)("p",{role:"alert",children:s.error})]})}),(0,I.jsx)(NE,{open:s.confirming,kind:e,batch:d??null,fileName:s.file?.name??"",busy:c,onCancel:()=>l({type:"cancel-replace"}),onConfirm:()=>{h()}})]})}function NE({open:t,kind:e,batch:n,fileName:r,busy:i=!1,onCancel:o,onConfirm:a}){let s=n?.catalogType?il[n.catalogType]:"\u516C\u53F8\u5236\u88C1\u76EE\u5F55",l=e==="controlled"?"\u8986\u76D6\u540E\uFF0C\u65B0\u6587\u4EF6\u53EA\u6709\u5728\u89E3\u6790\u6210\u529F\u5E76\u901A\u8FC7\u57FA\u7840\u6821\u9A8C\u540E\uFF0C\u65E7\u6279\u6B21\u53CA\u5176\u6587\u4EF6\u5BFC\u5165\u5546\u54C1\u624D\u4F1A\u88AB\u903B\u8F91\u5220\u9664\u3002":"\u53EA\u6709\u65B0\u6587\u4EF6\u89E3\u6790\u6210\u529F\u5E76\u901A\u8FC7\u57FA\u7840\u6821\u9A8C\u540E\uFF0C\u65E7\u6279\u6B21\u53CA\u5176\u516C\u53F8\u8BB0\u5F55\u624D\u4F1A\u88AB\u903B\u8F91\u5220\u9664\u3002";return(0,I.jsx)(_e,{open:t,title:e==="controlled"?"\u786E\u8BA4\u8986\u76D6\u5386\u53F2\u76EE\u5F55\uFF1F":"\u786E\u8BA4\u8986\u76D6\u5386\u53F2\u5236\u88C1\u76EE\u5F55\uFF1F",onClose:o,footer:(0,I.jsxs)(I.Fragment,{children:[(0,I.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:o,children:[(0,I.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u53D6\u6D88"]}),(0,I.jsxs)("button",{type:"button",className:"tcw-button tcw-button--danger",disabled:i,onClick:a,children:[(0,I.jsx)("i",{className:"ri-upload-cloud-2-line","aria-hidden":"true"}),"\u786E\u8BA4\u4E0A\u4F20\u5E76\u8986\u76D6"]})]}),children:(0,I.jsxs)("div",{className:`tcw-catalog-replace-dialog tcw-catalog-replace-dialog--${e}`,children:[(0,I.jsx)("div",{className:"tcw-catalog-replace-warning tcw-notice--risk",role:"alert",children:(0,I.jsx)("span",{children:l})}),(0,I.jsxs)("dl",{className:"tcw-catalog-replace-summary",children:[e==="controlled"&&(0,I.jsxs)(I.Fragment,{children:[(0,I.jsx)("dt",{children:"\u76EE\u5F55\u7C7B\u578B\uFF1A"}),(0,I.jsx)("dd",{children:(0,I.jsx)("span",{className:"tcw-catalog-type-badge",children:s})})]}),(0,I.jsx)("dt",{children:"\u88AB\u8986\u76D6\u6587\u4EF6\uFF1A"}),(0,I.jsx)("dd",{children:n?.sourceFileName||"\u2014"}),(0,I.jsx)("dt",{children:e==="controlled"?"\u73B0\u6709\u5546\u54C1\u6570\u91CF\uFF1A":"\u73B0\u6709\u8BB0\u5F55\u6570\u91CF\uFF1A"}),(0,I.jsx)("dd",{className:"tcw-catalog-replace-count",children:n?.totalCount??0}),(0,I.jsx)("dt",{children:"\u6700\u8FD1\u66F4\u65B0\u65F6\u95F4\uFF1A"}),(0,I.jsx)("dd",{children:ut(n?.updatedAt||n?.createdAt)}),(0,I.jsx)("dt",{children:"\u65B0\u4E0A\u4F20\u6587\u4EF6\uFF1A"}),(0,I.jsx)("dd",{children:r||"\u2014"})]})]})})}function PE({open:t,mode:e,item:n,busy:r=!1,onClose:i,onSave:o}){let[a,s]=ce.default.useState(()=>wm(n)),[l,c]=ce.default.useState("");ce.default.useEffect(()=>{t&&(s(wm(n)),c(""))},[t,n]);let u=(0,I.jsx)(cC,{value:a,onChange:s}),d=async()=>{if(!a.catalogType||!a.productName.trim()){c("\u76EE\u5F55\u7C7B\u578B\u548C\u5546\u54C1\u540D\u79F0\u4E3A\u5FC5\u586B\u9879");return}try{await o({...a,productName:a.productName.trim(),hsCode:a.hsCode?.trim(),controlDescription:a.controlDescription?.trim()})}catch(h){c(In(h,"\u7BA1\u63A7\u5546\u54C1\u4FDD\u5B58\u5931\u8D25"))}},p=e==="review"&&n?.sourceType==="FILE_IMPORT";return(0,I.jsx)(_e,{open:t,title:e==="create"?"\u65B0\u589E\u7BA1\u63A7\u5546\u54C1":"\u5BA1\u6838\u7BA1\u63A7\u5546\u54C1",size:p?"wide":"normal",onClose:i,footer:(0,I.jsxs)(I.Fragment,{children:[(0,I.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:i,children:[(0,I.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u53D6\u6D88"]}),(0,I.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:r,onClick:()=>{d()},children:[(0,I.jsx)("i",{className:"ri-save-line","aria-hidden":"true"}),"\u4FDD\u5B58"]})]}),children:(0,I.jsx)("div",{className:`tcw-catalog-dialog ${p?"tcw-catalog-dialog--review tcw-catalog-dialog--controlled-review":"tcw-catalog-dialog--controlled-create"}`,children:p?(0,I.jsx)(Ku,{editor:(0,I.jsxs)(I.Fragment,{children:[u,l&&(0,I.jsx)("p",{role:"alert",children:l})]}),source:(0,I.jsx)(hC,{item:n}),sourceTitle:"\u6765\u6E90\u8BC1\u636E\uFF08\u53EA\u8BFB\uFF09"}):(0,I.jsxs)(I.Fragment,{children:[e==="create"&&(0,I.jsx)(pC,{}),u,l&&(0,I.jsx)("p",{role:"alert",children:l})]})})})}function cC({value:t,onChange:e}){return(0,I.jsxs)(Rt,{columns:1,children:[(0,I.jsxs)(se,{label:"\u76EE\u5F55\u7C7B\u578B",required:!0,children:[(0,I.jsxs)("select",{value:t.catalogType,onChange:n=>e({...t,catalogType:n.target.value}),children:[(0,I.jsx)("option",{value:"",children:"\u8BF7\u9009\u62E9\u76EE\u5F55\u7C7B\u578B"}),Cm(il).map(n=>(0,I.jsx)("option",{value:n.value,children:n.label},n.value))]}),(0,I.jsx)("small",{children:"\u519B\u6C11\u4E24\u7528\u7269\u8D44 / \u6D77\u5916\u5236\u88C1"})]}),(0,I.jsx)(se,{label:"\u5546\u54C1\u540D\u79F0",required:!0,children:(0,I.jsx)("input",{placeholder:"\u8BF7\u8F93\u5165\u5546\u54C1\u540D\u79F0",value:t.productName,onChange:n=>e({...t,productName:n.target.value})})}),(0,I.jsx)(se,{label:"\u6D77\u5173\u7F16\u7801",children:(0,I.jsx)("input",{placeholder:"\u8BF7\u8F93\u5165\u6D77\u5173\u7F16\u7801\uFF08\u53EF\u9009\uFF09",value:t.hsCode??"",onChange:n=>e({...t,hsCode:n.target.value})})}),(0,I.jsx)(se,{label:"\u7BA1\u63A7\u8BF4\u660E",children:(0,I.jsxs)("div",{className:"tcw-counted-textarea",children:[(0,I.jsx)("textarea",{rows:5,maxLength:500,placeholder:"\u8BF7\u8F93\u5165\u7BA1\u63A7\u8BF4\u660E\uFF08\u53EF\u9009\uFF09",value:t.controlDescription??"",onChange:n=>e({...t,controlDescription:n.target.value})}),(0,I.jsxs)("small",{className:"tcw-character-count",children:[t.controlDescription?.length??0,"/500"]})]})})]})}function DE({open:t,mode:e,item:n,busy:r=!1,onClose:i,onSave:o}){let[a,s]=ce.default.useState(()=>$x(n)),[l,c]=ce.default.useState("");ce.default.useEffect(()=>{t&&(s($x(n)),c(""))},[t,n]);let u=(0,I.jsx)(dC,{value:a,disabled:e==="detail",singleLineReason:e==="create",onChange:s}),d=async()=>{let f=uC(a);if(f){c(f);return}try{await o({...a,companyName:a.companyName.trim()})}catch(v){c(In(v,"\u5236\u88C1\u516C\u53F8\u4FDD\u5B58\u5931\u8D25"))}},p=e==="create"?"\u65B0\u589E\u5236\u88C1\u516C\u53F8":e==="review"?"\u5BA1\u6838\u5236\u88C1\u516C\u53F8":"\u5236\u88C1\u516C\u53F8\u8BE6\u60C5",h=e==="detail"?(0,I.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",onClick:i,children:[(0,I.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u5173\u95ED"]}):(0,I.jsxs)(I.Fragment,{children:[(0,I.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:i,children:[(0,I.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u53D6\u6D88"]}),(0,I.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:r,onClick:()=>{d()},children:[(0,I.jsx)("i",{className:"ri-save-line","aria-hidden":"true"}),"\u4FDD\u5B58"]})]}),m=e!=="create"&&n?.sourceType==="FILE_IMPORT";return(0,I.jsx)(_e,{open:t,title:p,size:m?"wide":"normal",onClose:i,footer:h,children:(0,I.jsx)("div",{className:`tcw-catalog-dialog ${m?"tcw-catalog-dialog--review tcw-catalog-dialog--sanction-review":"tcw-catalog-dialog--sanction-create"}`,children:m?(0,I.jsx)(Ku,{editor:(0,I.jsxs)(I.Fragment,{children:[u,l&&(0,I.jsx)("p",{role:"alert",children:l})]}),source:(0,I.jsx)(hC,{item:n}),editorTitle:"\u7F16\u8F91\u4FE1\u606F",sourceTitle:"\u6765\u6E90\u8BC1\u636E\uFF08\u53EA\u8BFB\uFF09"}):(0,I.jsxs)(I.Fragment,{children:[e==="create"&&(0,I.jsx)(pC,{}),u,l&&(0,I.jsx)("p",{role:"alert",children:l})]})})})}function uC(t){return!t.companyName.trim()||!t.effectiveDate?.trim()||!t.sanctionReason?.trim()?"\u516C\u53F8\u540D\u79F0\u3001\u53D1\u5E03/\u751F\u6548\u65E5\u671F\u548C\u5236\u88C1\u539F\u56E0\u4E3A\u5FC5\u586B\u9879":""}function dC({value:t,disabled:e,singleLineReason:n,onChange:r}){return(0,I.jsxs)(Rt,{columns:1,children:[(0,I.jsx)(se,{label:"\u516C\u53F8\u540D\u79F0",required:!0,children:(0,I.jsx)("input",{disabled:e,placeholder:"\u8BF7\u8F93\u5165\u516C\u53F8\u540D\u79F0",value:t.companyName,onChange:i=>r({...t,companyName:i.target.value})})}),(0,I.jsx)(se,{label:"\u56FD\u5BB6\u6216\u5730\u533A",children:(0,I.jsx)("input",{disabled:e,placeholder:"\u8BF7\u8F93\u5165\u56FD\u5BB6\u6216\u5730\u533A",value:t.countryOrRegion??"",onChange:i=>r({...t,countryOrRegion:i.target.value})})}),(0,I.jsx)(se,{label:"\u53D1\u5E03/\u751F\u6548\u65E5\u671F",required:!0,children:(0,I.jsx)("input",{type:"date",disabled:e,value:t.effectiveDate??"",onChange:i=>r({...t,effectiveDate:i.target.value})})}),(0,I.jsx)(se,{label:"\u5236\u88C1\u539F\u56E0",required:!0,children:n?(0,I.jsx)("input",{disabled:e,maxLength:500,placeholder:"\u8BF7\u8F93\u5165\u5236\u88C1\u539F\u56E0",value:t.sanctionReason??"",onChange:i=>r({...t,sanctionReason:i.target.value})}):(0,I.jsxs)("div",{className:"tcw-counted-textarea",children:[(0,I.jsx)("textarea",{disabled:e,rows:4,maxLength:500,placeholder:"\u8BF7\u8F93\u5165\u5236\u88C1\u539F\u56E0",value:t.sanctionReason??"",onChange:i=>r({...t,sanctionReason:i.target.value})}),(0,I.jsxs)("small",{className:"tcw-character-count",children:[t.sanctionReason?.length??0,"/500"]})]})}),(0,I.jsx)(se,{label:"\u5907\u6CE8",children:(0,I.jsxs)("div",{className:"tcw-counted-textarea",children:[(0,I.jsx)("textarea",{disabled:e,rows:3,maxLength:500,placeholder:"\u8BF7\u8F93\u5165\u5907\u6CE8\uFF08\u53EF\u9009\uFF09",value:t.remarks??"",onChange:i=>r({...t,remarks:i.target.value})}),(0,I.jsxs)("small",{className:"tcw-character-count",children:[t.remarks?.length??0,"/500"]})]})})]})}function pC(){return(0,I.jsxs)("div",{className:"tcw-catalog-manual-source","aria-label":"\u6765\u6E90\u7C7B\u578B\uFF1A\u624B\u5DE5\u65B0\u589E",children:[(0,I.jsx)("span",{children:"\u6765\u6E90\u7C7B\u578B\uFF1A"}),(0,I.jsx)("strong",{className:"tcw-catalog-source-badge",children:"\u624B\u5DE5\u65B0\u589E"})]})}function hC({item:t}){return(0,I.jsxs)(Rt,{columns:1,children:[(0,I.jsx)(se,{label:"\u6765\u6E90\u7C7B\u578B",children:(0,I.jsx)("input",{disabled:!0,value:nd(t?.sourceType,bm)})}),(0,I.jsx)(se,{label:"\u6765\u6E90\u6587\u4EF6",children:(0,I.jsx)("input",{disabled:!0,value:t?.sourceFileName??"\u2014"})}),(0,I.jsx)(se,{label:"\u6765\u6E90\u4F4D\u7F6E",children:(0,I.jsx)("input",{disabled:!0,value:t?.sourceLocation??"\u2014"})}),(0,I.jsx)(se,{label:"\u6765\u6E90\u539F\u6587",children:(0,I.jsx)("textarea",{disabled:!0,rows:5,value:t?.sourceContent??"\u2014"})})]})}function fC({documentType:t,batch:e,busy:n,onDownload:r,onView:i,onNotify:o}){if((e.duplicateCount??0)+(e.invalidCount??0)===0)return null;let s=(e.duplicateCount??0)>0?"DUPLICATE":"INVALID";return(0,I.jsxs)(Je,{children:[(0,I.jsxs)("span",{children:["\u5DF2\u5BFC\u5165 ",e.successCount??0," \u6761\uFF0C\u5F02\u5E38 ",e.invalidCount??0," \u6761\uFF08\u5176\u4E2D\u8DF3\u8FC7 ",e.skippedCount??0," \u6761\uFF09\uFF0C\u91CD\u590D ",e.duplicateCount??0,"\u3002"]}),i&&(0,I.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",disabled:n,onClick:()=>{i(e.id,s)},children:[(0,I.jsx)("i",{className:"ri-list-check-2","aria-hidden":"true"}),"\u67E5\u770B\u660E\u7EC6"]}),(0,I.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",disabled:n,onClick:()=>{r(t,e.id).catch(l=>o?.({message:In(l,"\u5BFC\u5165\u95EE\u9898 Excel \u4E0B\u8F7D\u5931\u8D25"),tone:"error"}))},children:[(0,I.jsx)("i",{className:"ri-download-line","aria-hidden":"true"}),"\u4E0B\u8F7D Excel"]})]})}function mC({task:t,busy:e,onRetry:n,onNotify:r}){return t.status!=="FAILED"&&t.status!=="TIMED_OUT"?null:(0,I.jsxs)("div",{className:"tcw-catalog-import-failure",role:"alert",children:[(0,I.jsxs)("div",{children:[(0,I.jsx)("strong",{children:t.status==="TIMED_OUT"?"\u76EE\u5F55\u89E3\u6790\u8D85\u65F6":"\u76EE\u5F55\u89E3\u6790\u5931\u8D25"}),(0,I.jsx)("p",{children:t.errorMessage||"\u89E3\u6790\u4EFB\u52A1\u672A\u5B8C\u6210\uFF0C\u8BF7\u91CD\u65B0\u89E3\u6790\u3002"})]}),n&&(0,I.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:e,onClick:()=>{n(t.id).catch(i=>r?.({message:In(i,"\u91CD\u65B0\u89E3\u6790\u5931\u8D25"),tone:"error"}))},children:[(0,I.jsx)("i",{className:"ri-restart-line","aria-hidden":"true"}),"\u91CD\u65B0\u89E3\u6790"]})]})}function gC({open:t,documentType:e,batchId:n,issueType:r,collection:i,loading:o,error:a,busy:s,onClose:l,onIssueTypeChange:c,onPageChange:u,onPageSizeChange:d,onRetry:p,onResolveIssue:h}){let[m,f]=ce.default.useState(null);ce.default.useEffect(()=>{(!t||r!=="INVALID")&&f(null)},[t,r]);let v=[{type:"ellipsis",key:"sourceLocation",header:"\u6765\u6E90\u4F4D\u7F6E",width:160,maxWidth:160},...r==="DUPLICATE"?[{type:"ellipsis",key:"duplicateTarget",header:"\u91CD\u590D\u5BF9\u8C61",width:260,maxWidth:260}]:[],{type:"ellipsis",key:"message",header:"\u95EE\u9898\u8BF4\u660E",width:220,maxWidth:220}],g=!a,y=()=>f(null);return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsxs)(_e,{open:t,title:"\u5BFC\u5165\u95EE\u9898\u660E\u7EC6",size:"wide",onClose:l,footer:(0,I.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",onClick:l,children:[(0,I.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u5173\u95ED"]}),children:[(0,I.jsxs)("div",{className:"tcw-catalog-issue-toolbar","data-document-type":e,"data-batch-id":n,children:[(0,I.jsxs)("button",{type:"button",className:r==="DUPLICATE"?"is-active":"",disabled:s||o,onClick:()=>c("DUPLICATE"),children:[(0,I.jsx)("i",{className:"ri-file-copy-line","aria-hidden":"true"}),"\u91CD\u590D"]}),(0,I.jsxs)("button",{type:"button",className:r==="INVALID"?"is-active":"",disabled:s||o,onClick:()=>c("INVALID"),children:[(0,I.jsx)("i",{className:"ri-error-warning-line","aria-hidden":"true"}),"\u65E0\u6548"]})]}),(0,I.jsxs)("div",{className:"tcw-catalog-issue-content",children:[g&&(0,I.jsx)(ot,{columns:v,rows:i.items,rowKey:"id",pagination:vn(i),onPageChange:u,onPageSizeChange:d,emptyText:r==="DUPLICATE"?"\u6682\u65E0\u91CD\u590D\u6570\u636E":"\u6682\u65E0\u65E0\u6548\u6570\u636E",actionWidth:150,actions:r==="INVALID"&&h?w=>(0,I.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",disabled:s||o,onClick:()=>f(w),children:[(0,I.jsx)("i",{className:"ri-edit-2-line","aria-hidden":"true"}),"\u4FEE\u6B63\u5165\u5E93"]}):void 0}),o&&(0,I.jsx)("p",{className:"tcw-catalog-issue-status",role:"status",children:"\u6B63\u5728\u52A0\u8F7D\u5BFC\u5165\u95EE\u9898\u660E\u7EC6..."}),a&&(0,I.jsxs)("div",{className:"tcw-catalog-issue-error",role:"alert",children:[(0,I.jsx)("span",{children:a}),(0,I.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",disabled:s||o,onClick:p,children:[(0,I.jsx)("i",{className:"ri-refresh-line","aria-hidden":"true"}),"\u91CD\u65B0\u52A0\u8F7D"]})]})]})]}),(0,I.jsx)(OE,{open:!!m,documentType:e,issue:m,busy:s||o,onClose:y,onSave:async w=>{!m||!h||(await h(m,w),y())}})]})}function OE({open:t,documentType:e,issue:n,busy:r,onClose:i,onSave:o}){let[a,s]=ce.default.useState(()=>Ux(n)),[l,c]=ce.default.useState(()=>Gx(n)),[u,d]=ce.default.useState("");ce.default.useEffect(()=>{t&&(s(Ux(n)),c(Gx(n)),d(""))},[t,n]);let p=async()=>{try{if(e==="CONTROLLED_CATALOG"){if(!a.productName.trim()){d("\u5546\u54C1\u540D\u79F0\u4E3A\u5FC5\u586B\u9879");return}await o({...a,productName:a.productName.trim(),hsCode:a.hsCode?.trim(),controlDescription:a.controlDescription?.trim()})}else{let m=uC(l);if(m){d(m);return}await o({...l,companyName:l.companyName.trim()})}}catch(m){d(In(m,"\u4FEE\u6B63\u5165\u5E93\u5931\u8D25"))}};return(0,I.jsx)(_e,{open:t,title:"\u4FEE\u6B63\u65E0\u6548\u95EE\u9898\u5E76\u5165\u5E93",size:"wide",onClose:i,footer:(0,I.jsxs)(I.Fragment,{children:[(0,I.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",disabled:r,onClick:i,children:[(0,I.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u53D6\u6D88"]}),(0,I.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:r,onClick:()=>{p()},children:[(0,I.jsx)("i",{className:"ri-save-line","aria-hidden":"true"}),"\u4FDD\u5B58\u5165\u5E93"]})]}),children:(0,I.jsx)(Ku,{editor:(0,I.jsxs)(I.Fragment,{children:[e==="CONTROLLED_CATALOG"?(0,I.jsx)(cC,{value:a,onChange:s}):(0,I.jsx)(dC,{value:l,disabled:!1,singleLineReason:!1,onChange:c}),u&&(0,I.jsx)("p",{role:"alert",children:u})]}),source:(0,I.jsx)(LE,{issue:n}),editorTitle:"\u4FEE\u6B63\u4FE1\u606F",sourceTitle:"\u95EE\u9898\u6765\u6E90\uFF08\u53EA\u8BFB\uFF09"})})}function LE({issue:t}){return(0,I.jsxs)(Rt,{columns:1,children:[(0,I.jsx)(se,{label:"\u6765\u6E90\u4F4D\u7F6E",children:(0,I.jsx)("input",{disabled:!0,value:t?.sourceLocation??"\u2014"})}),(0,I.jsx)(se,{label:"\u95EE\u9898\u8BF4\u660E",children:(0,I.jsx)("input",{disabled:!0,value:t?.message??"\u2014"})}),(0,I.jsx)(se,{label:"\u6765\u6E90\u539F\u6587",children:(0,I.jsx)("textarea",{disabled:!0,rows:8,value:t?.sourceContent??"\u2014"})})]})}function Ux(t){let e=yC(t);return{catalogType:_E(e.catalogType)??"DUAL_USE",productName:ri(e.productName),hsCode:ri(e.hsCode),controlDescription:ri(e.controlDescription)}}function Gx(t){let e=yC(t);return{companyName:ri(e.companyName),countryOrRegion:ri(e.countryOrRegion),sanctionListSource:ri(e.sanctionListSource),effectiveDate:ri(e.effectiveDate),sanctionReason:ri(e.sanctionReason),remarks:ri(e.remarks)}}function yC(t){let e=t?.parsedPayload;return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}function ri(t){return typeof t=="string"?t:t==null?"":String(t)}function _E(t){return t==="DUAL_USE"||t==="OVERSEAS_SANCTION"?t:null}function FE(t,e){return{keywords:t.trim(),page:1,pageSize:e}}function ed(t=1,e=20){return{items:[],total:0,page:t,pageSize:e,pageCount:1}}function ol({open:t,initialQuery:e,onAction:n,onClose:r,onBind:i}){let[o,a]=ce.default.useState(e),[s,l]=ce.default.useState(()=>ed()),[c,u]=ce.default.useState(null),[d,p]=ce.default.useState(""),[h,m]=ce.default.useState(!1),[f,v]=ce.default.useState(null),g=ce.default.useRef(Or()),y=ce.default.useRef(n);y.current=n;let w=ce.default.useCallback(async(S,E=1,D=20)=>{let O=S.trim();if(!O){p("\u8BF7\u8F93\u5165\u5546\u54C1\u540D\u79F0\u6216\u6D77\u5173\u7F16\u7801");return}m(!0),p(""),u(null);let H=g.current.begin();try{let M=await y.current("search_hs_code",{keywords:O,page:E,pageSize:D});if(M.success===!1)throw new Error(M.message||"\u6D77\u5173\u7F16\u7801\u67E5\u8BE2\u5931\u8D25");if(!g.current.commit(H))return;l(UE(M.data)?M.data:ed(E,D))}catch(M){if(!g.current.isLatest(H))return;p(In(M,"\u6D77\u5173\u7F16\u7801\u67E5\u8BE2\u5931\u8D25")),l(ed(E,D))}finally{g.current.finish(H),g.current.isLatest(H)&&m(!1)}},[]);ce.default.useEffect(()=>{if(!t){g.current.invalidate(),m(!1);return}return a(e),l(ed()),w(e,1),()=>g.current.invalidate()},[t,e,w]);let b=async S=>{m(!0),p("");let E=g.current.begin();try{let D=await y.current("get_hs_code_detail",{code:S.code,...S.detailUrl?{detailUrl:S.detailUrl}:{}});if(D.success===!1)throw new Error(D.message||"\u6D77\u5173\u7F16\u7801\u8BE6\u60C5\u67E5\u8BE2\u5931\u8D25");if(!g.current.commit(E))return;u(Ro(D.data)?D.data:{})}catch(D){if(!g.current.isLatest(E))return;p(In(D,"\u6D77\u5173\u7F16\u7801\u8BE6\u60C5\u67E5\u8BE2\u5931\u8D25"))}finally{g.current.finish(E),g.current.isLatest(E)&&m(!1)}},x=async S=>{if(!(!i||f)){v(S.code),p("");try{await i(S)}catch(E){p(In(E,"\u6D77\u5173\u7F16\u7801\u7ED1\u5B9A\u5931\u8D25"))}finally{v(null)}}},C=()=>{g.current.invalidate(),m(!1),r()};return(0,I.jsxs)(_e,{open:t,title:"\u6D77\u5173\u7F16\u7801\u67E5\u8BE2",size:"wide",onClose:C,footer:(0,I.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",onClick:C,children:[(0,I.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u5173\u95ED"]}),children:[(0,I.jsxs)("form",{className:"tcw-hs-lookup-form",onSubmit:S=>{S.preventDefault(),w(o,1)},children:[(0,I.jsx)(se,{label:"\u5546\u54C1\u540D\u79F0\u6216\u6D77\u5173\u7F16\u7801",required:!0,children:(0,I.jsx)("input",{value:o,onChange:S=>a(S.target.value)})}),(0,I.jsx)("div",{className:"tcw-hs-lookup-action",children:(0,I.jsxs)("button",{type:"submit",className:"tcw-button tcw-button--secondary",disabled:h,children:[(0,I.jsx)("i",{className:"ri-search-line","aria-hidden":"true"}),"\u67E5\u8BE2"]})})]}),d&&(0,I.jsx)("p",{role:"alert",children:d}),(0,I.jsx)("div",{className:"tcw-hs-results","aria-busy":h||void 0,children:c?(0,I.jsx)(BE,{detail:c,onBack:()=>u(null)}):(0,I.jsx)(ot,{columns:[{type:"text",key:"code",header:"\u6D77\u5173\u7F16\u7801",width:130},{type:"ellipsis",key:"name",header:"\u5546\u54C1\u540D\u79F0",width:220,maxWidth:220},{type:"ellipsis",key:"englishName",header:"\u82F1\u6587\u540D\u79F0",width:220,maxWidth:220},{type:"text",key:"unit",header:"\u5355\u4F4D",width:90,truncate:!1},{type:"text",key:"taxRefundRate",header:"\u9000\u7A0E\u7387",width:90,align:"right",truncate:!1}],rows:s.items,rowKey:S=>S.code,pagination:s,onPageChange:S=>{w(o,S,s.pageSize)},onPageSizeChange:S=>{let E=FE(o,S);w(E.keywords,E.page,E.pageSize)},actionWidth:i?190:120,actions:S=>(0,I.jsx)(ME,{result:S,loading:h||f===S.code,onDetail:()=>{b(S)},onBind:i?()=>{x(S)}:void 0}),emptyText:h?"\u67E5\u8BE2\u4E2D":"\u6682\u65E0\u6D77\u5173\u7F16\u7801\u7ED3\u679C"})})]})}function ME({result:t,loading:e,onDetail:n,onBind:r}){return(0,I.jsxs)(I.Fragment,{children:[(0,I.jsxs)("button",{type:"button",disabled:e,onClick:n,children:[(0,I.jsx)("i",{className:"ri-eye-line","aria-hidden":"true"}),"\u8BE6\u60C5"]}),r&&(0,I.jsxs)("button",{type:"button",disabled:e||!t.code,onClick:r,children:[(0,I.jsx)("i",{className:"ri-link","aria-hidden":"true"}),"\u7ED1\u5B9A"]})]})}function BE({detail:t,onBack:e}){let n=(t.sections??[]).filter(r=>(r.rows?.length??0)>0);return(0,I.jsxs)("article",{className:"tcw-hs-detail",children:[(0,I.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary tcw-hs-detail-back",onClick:e,children:[(0,I.jsx)("i",{className:"ri-arrow-left-line","aria-hidden":"true"}),"\u8FD4\u56DE\u67E5\u8BE2\u7ED3\u679C"]}),(0,I.jsxs)("header",{className:"tcw-hs-detail-heading",children:[(0,I.jsxs)("div",{children:[(0,I.jsx)("span",{children:"\u6D77\u5173\u7F16\u7801"}),(0,I.jsx)("h3",{children:t.code||"\u2014"})]}),(0,I.jsx)("p",{children:t.name||t.title||"\u2014"})]}),(0,I.jsxs)("dl",{className:"tcw-hs-detail-meta",children:[(0,I.jsxs)("div",{children:[(0,I.jsx)("dt",{children:"\u67E5\u8BE2\u65F6\u95F4"}),(0,I.jsx)("dd",{children:ut(t.queriedAt)})]}),t.sourceUrl&&(0,I.jsxs)("div",{children:[(0,I.jsx)("dt",{children:"\u6570\u636E\u6765\u6E90"}),(0,I.jsx)("dd",{children:(0,I.jsx)("a",{href:t.sourceUrl,target:"_blank",rel:"noreferrer",children:t.sourceUrl})})]})]}),(0,I.jsxs)("div",{className:"tcw-hs-detail-sections",children:[n.map((r,i)=>(0,I.jsxs)("section",{className:"tcw-hs-detail-section",children:[(0,I.jsx)("h4",{children:r.title||"\u8BE6\u60C5"}),(0,I.jsx)("dl",{className:"tcw-hs-detail-fields",children:r.rows.map((o,a)=>(0,I.jsxs)("div",{children:[(0,I.jsx)("dt",{children:o.label||"\u5B57\u6BB5"}),(0,I.jsx)("dd",{children:o.value||"\u2014"})]},`${o.label??"row"}-${a}`))})]},`${r.title??"detail"}-${i}`)),!n.length&&(0,I.jsxs)("div",{className:"tcw-hs-detail-empty",role:"status",children:[(0,I.jsx)("i",{className:"ri-file-list-3-line","aria-hidden":"true"}),(0,I.jsx)("span",{children:"\u6682\u65E0\u7ED3\u6784\u5316\u8BE6\u60C5\u6570\u636E"})]})]})]})}function Hx(t,e){return String(t[e]??"").trim()}function zE(t,e){let n=jx(e);return!n||jx(t.hsCode)===n?null:{...wm(t),id:t.id,hsCode:n}}function jx(t){return String(t??"").replace(/\s/g,"").trim()}function wm(t){return{catalogType:t?.catalogType??"DUAL_USE",productName:t?.productName??"",hsCode:t?.hsCode??"",controlDescription:t?.controlDescription??""}}function $x(t){return{companyName:t?.companyName??"",countryOrRegion:t?.countryOrRegion??"",effectiveDate:t?.effectiveDate??"",sanctionReason:t?.sanctionReason??"",remarks:t?.remarks??""}}function vm({children:t,iconClass:e,title:n,ariaLabel:r,onClick:i}){return(0,I.jsx)("span",{className:"tcw-row-actions tcw-catalog-table-link",children:(0,I.jsxs)("button",{type:"button",title:n,"aria-label":r,onClick:i,children:[(0,I.jsx)("i",{className:e,"aria-hidden":"true"}),(0,I.jsx)("span",{children:t})]})})}function Cm(t){return Object.entries(t).map(([e,n])=>({value:e,label:String(n)}))}function nd(t,e){return typeof t=="string"&&t in e?e[t]:t?String(t):"\u2014"}function UE(t){return Ro(t)&&Array.isArray(t.items)&&t.items.every(e=>Ro(e)&&typeof e.code=="string")&&Number.isInteger(t.total)&&Number(t.total)>=0&&Number.isInteger(t.page)&&Number(t.page)>=1&&ji(Number(t.pageSize))&&Number.isInteger(t.pageCount)&&Number(t.pageCount)>=1}function Ro(t){return!!(t&&typeof t=="object"&&!Array.isArray(t))}function In(t,e){return t instanceof Error?t.message:e}function td(t){if(t.success===!1)throw new Error(typeof t.message=="string"&&t.message?t.message:"\u64CD\u4F5C\u5931\u8D25")}function vn(t){let e=t.pageSize??ir,n=Number(t.total)>=0?Number(t.total):t.items.length,r=Math.max(1,Math.ceil(n/e));return{page:Math.min(r,Math.max(1,Number(t.page)||1)),pageSize:e,total:n,pageCount:r}}function wC(t){if(!Ro(t)||!Ro(t.task))throw new Error("\u4E0A\u4F20\u5B8C\u6210\u54CD\u5E94\u7F3A\u5C11\u4EFB\u52A1\u4FE1\u606F");return t}function GE(t){return Ro(t)&&Ro(t.task)&&typeof t.task.id=="string"&&typeof t.task.documentType=="string"&&typeof t.task.status=="string"}var et=be(Be(),1),HE=[{key:"catalog-replace",title:"\u8986\u76D6\u7BA1\u63A7\u76EE\u5F55",description:"\u786E\u8BA4\u76EE\u5F55\u7C7B\u578B\u548C\u88AB\u8986\u76D6\u7684\u5386\u53F2\u6587\u4EF6\u3002\u8986\u76D6\u6279\u6B21\u5148\u4F5C\u4E3A\u8349\u7A3F\u89E3\u6790\u548C\u590D\u6838\uFF0C\u5BA1\u6838\u53D1\u5E03\u540E\u751F\u6548\uFF1B\u539F\u6709\u6548\u76EE\u5F55\u5728\u53D1\u5E03\u5B8C\u6210\u524D\u6301\u7EED\u53EF\u7528\u3002",icon:"ri-folder-open-line"},{key:"duplicate-contract",title:"\u91CD\u590D\u4E0A\u4F20\u5408\u540C",description:"\u91C7\u8D2D\u5408\u540C\u548C\u5BA2\u6237\u5408\u540C\u5747\u4E0D\u5141\u8BB8\u8986\u76D6\uFF1B\u53D1\u73B0\u76F8\u540C\u5408\u540C\u7F16\u7801\u65F6\u7CFB\u7EDF\u4F1A\u963B\u6B62\u4E0A\u4F20\u3002\u786E\u9700\u91CD\u4F20\u65F6\u5FC5\u987B\u5148\u903B\u8F91\u5220\u9664\u65E7\u5408\u540C\u3002",icon:"ri-upload-cloud-2-line"},{key:"catalog-impact",title:"\u8986\u76D6\u76EE\u5F55",description:"\u7BA1\u63A7\u5546\u54C1\u76EE\u5F55\u548C\u516C\u53F8\u5236\u88C1\u76EE\u5F55\u5728\u53D1\u5E03\u6210\u529F\u540E\u91CD\u65B0\u8BA1\u7B97\u98CE\u9669\u7ED3\u679C\uFF0C\u8BF7\u786E\u8BA4\u88AB\u8986\u76D6\u6587\u4EF6\u548C\u8BB0\u5F55\u6570\u91CF\u3002",icon:"ri-book-open-line"},{key:"delete-data",title:"\u5220\u9664\u4E1A\u52A1\u6570\u636E",description:"\u5220\u9664\u4F9B\u5E94\u5546\u3001\u5BA2\u6237\u3001\u8BA2\u5355\u3001\u5546\u54C1\u3001\u76EE\u5F55\u8BB0\u5F55\u6216\u5386\u53F2\u6587\u4EF6\u524D\uFF0C\u8BF7\u786E\u8BA4\u5176\u4E0B\u6E38\u5F71\u54CD\u3002\u4E1A\u52A1\u5220\u9664\u548C\u76EE\u5F55\u8986\u76D6\u5747\u4E3A\u903B\u8F91\u5220\u9664\u3002",icon:"ri-delete-bin-line"},{key:"payments",title:"\u7EF4\u62A4\u4ED8\u6B3E/\u6536\u6B3E/\u9000\u7A0E",description:"\u91C7\u8D2D\u548C\u9500\u552E\u91D1\u989D\u7EDF\u4E00\u4F7F\u7528\u4EBA\u6C11\u5E01\uFF1B\u91D1\u989D\u8D85\u8FC7\u8BA2\u5355\u603B\u989D\u6216\u9884\u8BA1\u9000\u7A0E\u989D\u65F6\u7CFB\u7EDF\u5C06\u7981\u6B62\u4FDD\u5B58\u3002",icon:"ri-money-cny-circle-line"},{key:"profit",title:"\u7EF4\u62A4\u5229\u6DA6\u7387",description:"\u5BA2\u6237\u9ED8\u8BA4\u5229\u6DA6\u7387\u4F1A\u5B9E\u65F6\u5F71\u54CD\u5176\u5168\u90E8\u672A\u5355\u72EC\u8BBE\u7F6E\u5229\u6DA6\u7387\u7684\u6D3E\u751F\u9500\u552E\u8BA2\u5355\uFF0C\u5386\u53F2\u751F\u6210\u6587\u4EF6\u4E0D\u4F1A\u81EA\u52A8\u66F4\u65B0\u3002",icon:"ri-line-chart-line"},{key:"risk-review",title:"\u6838\u5BF9\u98CE\u9669",description:"\u7CFB\u7EDF\u4F1A\u5339\u914D\u7BA1\u63A7\u5546\u54C1\u76EE\u5F55\u548C\u516C\u53F8\u5236\u88C1\u76EE\u5F55\uFF1B\u547D\u4E2D\u5236\u88C1\u516C\u53F8\u53EA\u63D0\u793A\u3001\u4E0D\u963B\u6B62\u4FDD\u5B58\uFF0C\u4F46\u5FC5\u987B\u4EBA\u5DE5\u6838\u5BF9\u98CE\u9669\u660E\u7EC6\u3002",icon:"ri-shield-check-line"},{key:"generate-file",title:"\u751F\u6210\u9500\u552E\u6587\u4EF6",description:"\u751F\u6210\u524D\u8BF7\u786E\u8BA4\u516C\u53F8\u4FE1\u606F\u3001\u94F6\u884C\u4FE1\u606F\u548C\u5229\u6DA6\u7387\u89C4\u5219\u3002\u6A21\u677F\u8F85\u52A9\u5B57\u6BB5\u7531\u7528\u6237\u5728\u751F\u6210\u540E\u7684 Excel \u4E2D\u5BA1\u6838\u4FEE\u6539\u3002",icon:"ri-file-excel-line"},{key:"edit-excel",title:"\u5728\u7EBF\u7F16\u8F91 Excel",description:"\u5386\u53F2\u6587\u4EF6\u5728\u7EBF\u4FDD\u5B58\u4F1A\u76F4\u63A5\u8986\u76D6\u5F53\u524D\u6587\u4EF6\uFF0C\u4E0D\u4FDD\u7559\u65E7\u7248\u672C\uFF0C\u4E5F\u4E0D\u4F1A\u53CD\u5411\u66F4\u65B0\u91C7\u8D2D\u5408\u540C\u3001\u5BA2\u6237\u5408\u540C\u6216\u6570\u636E\u5206\u6790\u6570\u636E\u3002",icon:"ri-edit-box-line"},{key:"confirm",title:"\u64CD\u4F5C\u524D\u8BF7\u786E\u8BA4",description:"\u5916\u8D38\u5408\u89C4\u6570\u636E\u4F1A\u76F4\u63A5\u5F71\u54CD\u5408\u540C\u5173\u8054\u3001\u5229\u6DA6\u6821\u9A8C\u3001\u9500\u552E\u6587\u4EF6\u548C\u7ECF\u8425\u62A5\u8868\u3002\u6267\u884C\u9AD8\u98CE\u9669\u64CD\u4F5C\u524D\uFF0C\u8BF7\u52A1\u5FC5\u6838\u5BF9\u4E1A\u52A1\u5BF9\u8C61\u548C\u6570\u636E\u5185\u5BB9\u3002",icon:"ri-error-warning-line"}],jE=[{key:"catalogs",title:"\u7EF4\u62A4\u7BA1\u63A7\u5546\u54C1\u4E0E\u516C\u53F8\u5236\u88C1\u76EE\u5F55",titleLines:["\u7EF4\u62A4\u7BA1\u63A7\u5546\u54C1\u4E0E","\u516C\u53F8\u5236\u88C1\u76EE\u5F55"],description:"\u4E0A\u4F20\u5E76\u7EF4\u62A4\u7BA1\u63A7\u5546\u54C1\u76EE\u5F55\u548C\u516C\u53F8\u5236\u88C1\u76EE\u5F55",icon:"ri-book-open-line",tone:"blue",layout:{area:"step-1",desktop:"right",tablet:"right",mobile:"down"}},{key:"contracts",title:"\u4E0A\u4F20\u5E76\u5BA1\u6838\u91C7\u8D2D\u5408\u540C\u548C\u5BA2\u6237\u5408\u540C",titleLines:["\u4E0A\u4F20\u5E76\u5BA1\u6838\u91C7\u8D2D","\u5408\u540C\u548C\u5BA2\u6237\u5408\u540C"],description:"\u4E0A\u4F20\u91C7\u8D2D\u5408\u540C\u548C\u5BA2\u6237\u5408\u540C\u5E76\u8FDB\u884C\u5BA1\u6838\u5165\u5E93",icon:"ri-file-upload-line",tone:"green",layout:{area:"step-2",desktop:"right",tablet:"down",mobile:"down"}},{key:"risk-match",title:"\u5546\u54C1\u53CA\u516C\u53F8\u98CE\u9669\u5339\u914D",titleLines:["\u5546\u54C1\u53CA\u516C\u53F8","\u98CE\u9669\u5339\u914D"],description:"\u7CFB\u7EDF\u5339\u914D\u76EE\u5F55\u8FDB\u884C\u5546\u54C1\u548C\u516C\u53F8\u98CE\u9669\u8BC6\u522B",icon:"ri-shield-check-line",tone:"violet",layout:{area:"step-3",desktop:"right",tablet:"left",mobile:"down"}},{key:"derive-sales",title:"\u81EA\u52A8\u6D3E\u751F\u9500\u552E\u8BA2\u5355",titleLines:["\u81EA\u52A8\u6D3E\u751F","\u9500\u552E\u8BA2\u5355"],description:"\u6839\u636E\u5BA2\u6237\u5408\u540C\u81EA\u52A8\u5173\u8054\u91C7\u8D2D\u5408\u540C\u5E76\u6D3E\u751F\u8BA2\u5355",icon:"ri-shopping-cart-line",tone:"orange",layout:{area:"step-4",desktop:"right",tablet:"down",mobile:"down"}},{key:"profit-check",title:"\u5229\u6DA6\u7387\u6821\u9A8C",titleLines:["\u5229\u6DA6\u7387\u6821\u9A8C"],description:"\u6821\u9A8C\u5229\u6DA6\u7387\u662F\u5426\u7B26\u5408\u4F01\u4E1A\u89C4\u5219\u548C\u8981\u6C42",icon:"ri-percent-line",tone:"blue",layout:{area:"step-5",desktop:"right",tablet:"right",mobile:"down"}},{key:"bank",title:"\u9009\u62E9\u94F6\u884C\u4FE1\u606F\uFF08\u62A5\u5173\u5355\u8DF3\u8FC7\uFF09",titleLines:["\u9009\u62E9\u94F6\u884C\u4FE1\u606F","\uFF08\u62A5\u5173\u5355\u8DF3\u8FC7\uFF09"],description:"\u9009\u62E9\u6216\u786E\u8BA4\u94F6\u884C\u4FE1\u606F\u7528\u4E8E\u76F8\u5173\u5355\u636E",icon:"ri-bank-line",tone:"green",layout:{area:"step-6",desktop:"right",tablet:"down",mobile:"down"}},{key:"review-files",title:"\u751F\u6210\u5E76\u5728\u7EBF\u5BA1\u6838\u9500\u552E\u6587\u4EF6",titleLines:["\u751F\u6210\u5E76\u5728\u7EBF\u5BA1\u6838","\u9500\u552E\u6587\u4EF6"],description:"\u751F\u6210\u9500\u552E\u6587\u4EF6\u5E76\u5728 Excel \u4E2D\u5BA1\u6838\u4FEE\u6539",icon:"ri-file-check-line",tone:"violet",layout:{area:"step-7",desktop:"right",tablet:"left",mobile:"down"}},{key:"analytics",title:"\u6570\u636E\u5206\u6790",titleLines:["\u6570\u636E\u5206\u6790"],description:"\u67E5\u770B\u4E1A\u52A1\u6570\u636E\u548C\u7ECF\u8425\u5206\u6790\u62A5\u8868",icon:"ri-bar-chart-line",tone:"blue",layout:{area:"step-8",desktop:null,tablet:null,mobile:null}}];function vC(){return(0,et.jsxs)("div",{className:"tcw-home-page",children:[(0,et.jsxs)("section",{className:"tcw-home-section tcw-home-section--risk","aria-labelledby":"risk-operation-title",children:[(0,et.jsxs)("h2",{id:"risk-operation-title",className:"tcw-home-section-title",children:[(0,et.jsx)("i",{className:"ri-shield-flash-line","aria-hidden":"true"}),"\u98CE\u9669\u64CD\u4F5C\u63D0\u793A"]}),(0,et.jsx)("div",{className:"tcw-home-risk-matrix",children:HE.map(t=>(0,et.jsxs)("article",{className:"tcw-home-risk-item","data-risk-operation":t.key,children:[(0,et.jsxs)("div",{className:"tcw-home-risk-heading",children:[(0,et.jsx)("i",{className:t.icon,"aria-hidden":"true"}),(0,et.jsx)("h3",{children:t.title})]}),(0,et.jsx)("p",{children:t.description})]},t.key))})]}),(0,et.jsxs)("section",{className:"tcw-home-section tcw-home-section--workflow","aria-labelledby":"workflow-title",children:[(0,et.jsxs)("div",{className:"tcw-home-workflow-heading",children:[(0,et.jsx)("h2",{id:"workflow-title",className:"tcw-home-section-title",children:"\u4E1A\u52A1\u6D41\u7A0B\u56FE"}),(0,et.jsx)("p",{children:"\u8BF7\u6309\u7167\u4EE5\u4E0B\u4E1A\u52A1\u6D41\u7A0B\u8FDB\u884C\u64CD\u4F5C"})]}),(0,et.jsx)("div",{className:"tcw-home-workflow",children:jE.map((t,e)=>{let{layout:n}=t;return(0,et.jsxs)("article",{className:`tcw-home-workflow-step tcw-home-workflow-step--${t.tone}`,style:{gridArea:n.area},"data-workflow-step":t.key,children:[(0,et.jsx)("span",{className:"tcw-home-step-number",children:e+1}),(0,et.jsx)("i",{className:t.icon,"aria-hidden":"true"}),(0,et.jsx)("h3",{"aria-label":t.title,children:t.titleLines.map(r=>(0,et.jsx)("span",{className:"tcw-home-step-title-line",children:r},r))}),(0,et.jsx)("p",{children:t.description}),n.desktop&&(0,et.jsx)("i",{className:"ri-arrow-right-line tcw-home-workflow-connector","data-workflow-connector":!0,"data-desktop-direction":n.desktop,"data-tablet-direction":n.tablet??void 0,"data-mobile-direction":n.mobile??void 0,"aria-hidden":"true"})]},t.key)})}),(0,et.jsxs)("div",{className:"tcw-home-footer-notice",children:[(0,et.jsx)("i",{className:"ri-information-line","aria-hidden":"true"}),(0,et.jsx)("span",{children:"\u6240\u6709\u4E1A\u52A1\u6570\u636E\u6309\u79DF\u6237 + \u7EC4\u7EC7\u9694\u79BB\uFF0C\u5171\u4EAB\u7EC4\u7EC7\u5185\u6570\u636E\u3002\u672C\u5DE5\u4F5C\u53F0\u4EC5\u63D0\u4F9B\u4E1A\u52A1\u64CD\u4F5C\u5165\u53E3\uFF0C\u5177\u4F53\u8868\u683C\u548C\u7EDF\u8BA1\u62A5\u8868\u8BF7\u524D\u5F80\u5404\u529F\u80FD\u6A21\u5757\u67E5\u770B\u3002"})]})]})]})}var De=be(Qt(),1);var A=be(Be(),1),cN={},ep=20,f1={UNCHECKED:"\u672A\u68C0\u67E5",CLEAR:"\u65E0\u547D\u4E2D",HIT:"\u547D\u4E2D\u63D0\u9192"},za={PENDING:"\u5F85\u5BA1\u6838",REVIEWED:"\u5DF2\u5BA1\u6838"},m1={DUAL_USE:"\u519B\u6C11\u4E24\u7528",OVERSEAS_SANCTION:"\u6D77\u5916\u5236\u88C1"},fy={CONTRACT_EXTRACTED:"\u5408\u540C\u63D0\u53D6",MANUAL_ENTRY:"\u624B\u5DE5\u65B0\u589E"},CI=[{type:"text",key:"code",label:"\u4F9B\u5E94\u5546\u4EE3\u7801"},{type:"text",key:"name",label:"\u4F9B\u5E94\u5546\u540D\u79F0"},{type:"text",key:"shortName",label:"\u7B80\u79F0"},{type:"text",key:"contactName",label:"\u8054\u7CFB\u4EBA"},{type:"text",key:"phone",label:"\u8054\u7CFB\u7535\u8BDD"}],SI=[{type:"text",key:"contractNo",label:"\u91C7\u8D2D\u8BA2\u5355\u7F16\u53F7"},{type:"text",key:"customerContractNo",label:"\u5BA2\u6237\u5408\u540C\u7F16\u53F7"},{type:"text",key:"supplierName",label:"\u4F9B\u5E94\u5546"},{type:"date-range",key:"orderDate",label:"\u4E0B\u5355\u65E5\u671F"}],kI=[{type:"text",key:"productName",label:"\u5546\u54C1\u540D\u79F0"},{type:"text",key:"productDescription",label:"\u5546\u54C1\u63CF\u8FF0"},{type:"text",key:"hsCode",label:"\u6D77\u5173\u7F16\u7801"},{type:"select",key:"complianceCategory",label:"\u5408\u89C4\u5206\u7C7B",options:lN(m1)}];function AI(t,e=300){let n=null,r=()=>{n&&clearTimeout(n),n=null};return{schedule(i,o,a=ep){if(r(),i!=="text"){t(1,o,a);return}n=setTimeout(()=>{n=null,t(1,o,a)},e)},flush(i,o=ep){r(),t(1,i,o)},page(i,o,a=ep){r(),t(i,o,a)},pageSize(i,o){r(),t(1,o,i)},cancel:r}}function TI({onAction:t,onFileAction:e}){let n=async(r,i,o)=>{let a=o?await t(r,i,o):await t(r,i);return h1(a),a};return{uploadPurchaseContract:async r=>{let i=await e("upload_purchase_contract",r,{documentType:"PURCHASE_CONTRACT"});return h1(i),i},savePurchaseReview:(r,i)=>n("save_purchase_review",{importTaskId:r,draft:RI(i)}),updateSupplier:r=>n("update_supplier",{...r}),updatePurchaseOrder:r=>n("update_purchase_order",{...r}),addPurchaseLine:(r,i)=>n("add_purchase_line",{...uy(i),purchaseOrderId:r,sourceType:"MANUAL_ENTRY"}),updatePurchaseLine:r=>n("update_purchase_line",{...uy(r)}),deleteEntity:(r,i,o)=>n("delete_entity",{entityType:r,id:i},o)}}function RI(t){return{...t,lines:t.lines.map(uy)}}function uy(t){return{...t,refundPolicyReference:null,refundPolicyDate:null,refundValidationMethod:null}}function EI(t){return t==="suppliers"?"supplier":t==="purchaseOrders"?"purchaseOrder":"purchaseLine"}function u1(t){return t.level==="suppliers"?"suppliers":t.level==="orders"?`orders:${t.supplierId}`:`lines:${t.supplierId}:${t.orderId}`}function II(t,e,n){let r=typeof e!="string",i=r?e:{code:e},o=tp(i.code);if(!o||!r&&tp(t.hsCode)===o)return null;let a=Dl(i.englishName),s=Dl(n),l=a??s,c=NI(i.taxRefundRate),u={...t,hsCode:o,...r?{hsCodeSource:"HS_LOOKUP"}:{},...l?{englishName:l,englishNameSource:a?"HS_LOOKUP":"AI_TRANSLATION"}:{},...c!=null?{refundRate:c,refundRateSource:"HS_LOOKUP"}:{}};return tp(t.hsCode)===u.hsCode&&t.hsCodeSource===u.hsCodeSource&&String(t.englishName??"")===String(u.englishName??"")&&t.englishNameSource===u.englishNameSource&&String(t.refundRate??"")===String(u.refundRate??"")&&t.refundRateSource===u.refundRateSource?null:u}function tp(t){return String(t??"").replace(/\s/g,"").trim()}function Dl(t){return String(t??"").trim()||null}function NI(t){let e=Dl(t);if(!e)return null;if(e.endsWith("%")){let r=Number(e.slice(0,-1).trim());return Number.isFinite(r)?String(r/100):null}let n=Number(e);return Number.isFinite(n)?e:null}function PI(t,e){return async(n,r)=>(e(),await t(n,r))}function DI(){let t=!1;return{run(e){return t?null:(t=!0,e().finally(()=>{t=!1}))}}}function OI(t){let e=t,n=0,r=i=>i.identity===e&&i.revision===n;return{observeIdentity(i){return i===e?!1:(e=i,n+=1,!0)},invalidate(){n+=1},capture(){return{identity:e,revision:n}},isCurrent:r,commit(i,o){return r(i)?(o(),!0):!1}}}function LI(t,e){return t||e}function _I({confirmGuard:t,generationGuard:e,operation:n,onCurrentResult:r,onBusyChange:i}){return t.run(async()=>{let o=e.capture();i(!0);try{let a=await n(()=>e.isCurrent(o));return e.commit(o,()=>r(a)),a}finally{i(!1)}})}function FI(t,e,n){let r=new Set(n.map(a=>a.id)),i=[...t].filter(a=>r.has(a)),o=e.filter(a=>r.has(a.key));return{selectedIds:i.length===t.size?t:new Set(i),failures:o.length===e.length?e:o}}async function MI({selectedIds:t,rows:e,entityType:n,labelFor:r,deleteEntity:i,refresh:o,collection:a,query:s,notify:l,isCurrent:c=()=>!0}){let u=[...t],d=new Map(e.map(v=>[v.id,r(v)])),p=await rr(u,v=>i(n,v,{suppressRefresh:!0})),h=e.filter(v=>!p.succeeded.includes(v.id)),m=Lr(s.page,h.length),f=p.failed.map(v=>({...v,label:d.get(v.key)??v.key}));if(!c())return{selectedIds:new Set(u),failures:f,refreshFailed:!1,stale:!0};try{let v=await o(a,{...s,page:m});if(!c())return{selectedIds:new Set(u),failures:f,refreshFailed:!1,stale:!0};if(v===!1)return{selectedIds:new Set(u),failures:f,refreshFailed:!0,stale:!1}}catch{return c()?{selectedIds:new Set(u),failures:f,refreshFailed:!0,stale:!1}:{selectedIds:new Set(u),failures:f,refreshFailed:!1,stale:!0}}return p.failed.length===0?l?.({message:`\u5DF2\u5220\u9664 ${p.succeeded.length} \u6761`,tone:"success"}):l?.({message:`\u6210\u529F ${p.succeeded.length}\u3001\u5931\u8D25 ${p.failed.length}`,tone:p.succeeded.length>0?"warning":"error"}),{selectedIds:new Set(p.failed.map(v=>v.key)),failures:f,refreshFailed:!1,stale:!1}}function g1(t){let e=[];t.supplier.name.trim()||e.push("\u4F9B\u5E94\u5546\u540D\u79F0\u4E3A\u5FC5\u586B\u9879"),t.order.contractNo.trim()||e.push("\u91C7\u8D2D\u5408\u540C\u7F16\u53F7\u4E3A\u5FC5\u586B\u9879");let n=Yi(t.order.contractAmountCny),r=Yi(t.order.paidAmountCny),i=Yi(t.order.refundedAmountCny);n!==null&&(!Number.isFinite(n)||n<0)&&e.push("\u91C7\u8D2D\u8BA2\u5355\u603B\u989D\u5FC5\u987B\u4E3A\u6709\u6548\u91D1\u989D"),r!==null&&(!Number.isFinite(r)||r<0)&&e.push("\u5DF2\u4ED8\u6B3E\u4E0D\u80FD\u4E3A\u8D1F\u6570"),r!==null&&n!==null&&Number.isFinite(r)&&Number.isFinite(n)&&r>n&&e.push("\u5DF2\u4ED8\u6B3E\u4E0D\u80FD\u8D85\u8FC7\u91C7\u8D2D\u8BA2\u5355\u603B\u989D"),i!==null&&(!Number.isFinite(i)||i<0)&&e.push("\u5DF2\u9000\u7A0E\u4E0D\u80FD\u4E3A\u8D1F\u6570"),t.order.amountMismatch&&!t.order.amountMismatchConfirmed&&e.push("\u8BA2\u5355\u603B\u989D\u5DEE\u5F02\u5FC5\u987B\u786E\u8BA4"),t.lines.length||e.push("\u91C7\u8D2D\u5408\u540C\u5FC5\u987B\u5305\u542B\u81F3\u5C11\u4E00\u6761\u5546\u54C1"),t.lines.forEach((a,s)=>{let l=`\u7B2C${s+1}\u6761\u5546\u54C1`;a.productName.trim()||e.push(`${l}\u540D\u79F0\u4E3A\u5FC5\u586B\u9879`);let c=Yi(a.quantity),u=Yi(a.unitPriceTaxIncluded),d=Yi(a.lineAmountTaxIncluded),p=Yi(a.vatRate),h=Yi(a.refundRate);c!==null&&(!Number.isFinite(c)||c<=0)&&e.push(`${l}\u6570\u91CF\u5FC5\u987B\u5927\u4E8E0`),u!==null&&(!Number.isFinite(u)||u<0)&&e.push(`${l}\u542B\u7A0E\u5355\u4EF7\u4E0D\u80FD\u4E3A\u8D1F\u6570`),d!==null&&(!Number.isFinite(d)||d<0)&&e.push(`${l}\u542B\u7A0E\u91D1\u989D\u4E0D\u80FD\u4E3A\u8D1F\u6570`),p!==null&&(!Number.isFinite(p)||p<0||p>1)&&e.push(`${l}\u589E\u503C\u7A0E\u7387\u5FC5\u987B\u57280\u52301\u4E4B\u95F4`),h!==null&&(!Number.isFinite(h)||h<0||h>1)&&e.push(`${l}\u9000\u7A0E\u7387\u5FC5\u987B\u57280\u52301\u4E4B\u95F4`),a.amountMismatch&&!a.amountMismatchConfirmed&&e.push(`${l}\u91D1\u989D\u5DEE\u5F02\u5FC5\u987B\u786E\u8BA4`)});let o=t.lines.reduce((a,s)=>a+b1(s),0);return i!==null&&Number.isFinite(i)&&i>o&&e.push("\u5DF2\u9000\u7A0E\u4E0D\u80FD\u8D85\u8FC7\u9884\u8BA1\u9000\u7A0E\u603B\u989D"),e}function BI(t,e){let n=np();for(let r of g1(t))GI(n,r);return e&&(n.contractNo=e),n}function zI(t,e){if(e.kind==="root")return{...t,[e.field]:void 0};let n=t.lines[e.index];if(!n)return t;let r={...n,[e.field]:void 0};return{...t,lines:{...t.lines,[e.index]:r}}}function UI(t){return!!(t.supplierName||t.contractNo||t.contractAmountCny||t.paidAmountCny||t.refundedAmountCny||Object.values(t.lines).some(e=>Object.values(e).some(Boolean)))}function np(){return{lines:{}}}function d1(t){return t?{...np(),contractNo:t}:np()}function GI(t,e){if(e==="\u4F9B\u5E94\u5546\u540D\u79F0\u4E3A\u5FC5\u586B\u9879"){t.supplierName=e;return}if(e.includes("\u91C7\u8D2D\u5408\u540C\u7F16\u53F7")){t.contractNo=e;return}if(e.includes("\u5DF2\u4ED8\u6B3E")){t.paidAmountCny=e;return}if(e.includes("\u5DF2\u9000\u7A0E")){t.refundedAmountCny=e;return}if(e.includes("\u91C7\u8D2D\u8BA2\u5355\u603B\u989D")){t.contractAmountCny=e;return}let n=e.match(/^第(\d+)条商品(.+)$/);if(!n)return;let r=Number(n[1])-1,i=HI(n[2]);i&&(t.lines[r]={...t.lines[r],[i]:e})}function HI(t){return t.includes("\u540D\u79F0")?"productName":t.includes("\u6570\u91CF")?"quantity":t.includes("\u542B\u7A0E\u5355\u4EF7")?"unitPriceTaxIncluded":t.includes("\u542B\u7A0E\u91D1\u989D")||t.includes("\u91D1\u989D\u5DEE\u5F02")?"lineAmountTaxIncluded":t.includes("\u589E\u503C\u7A0E\u7387")?"vatRate":t.includes("\u9000\u7A0E\u7387")?"refundRate":null}function y1(t){let e=u1(t.route),[n,r]=De.default.useState({}),[i,o]=De.default.useState("PENDING"),[a,s]=De.default.useState("PENDING"),[l,c]=De.default.useState(new Set),[u,d]=De.default.useState(!1),[p,h]=De.default.useState(!1),[m,f]=De.default.useState([]),v=De.default.useRef();v.current||(v.current=DI());let g=De.default.useRef();g.current||(g.current=OI(e)),g.current.observeIdentity(e);let[y,w]=De.default.useState(null),[b,x]=De.default.useState(null),[C,k]=De.default.useState(null),[S,E]=De.default.useState(null),[D,O]=De.default.useState(t.reviewDraft),H=De.default.useCallback(()=>{O(null),t.onReviewClose?.()},[t.onReviewClose]),M=De.default.useMemo(()=>TI(t),[t.onAction,t.onFileAction]),_=iN(t.route),V=_==="suppliers"?CI:_==="purchaseOrders"?SI:kI,G=Ga(_==="suppliers"?t.suppliers:_==="purchaseOrders"?t.purchaseOrders:t.purchaseLines),K=G.pageSize,J=_==="suppliers"?t.suppliers.items:_==="purchaseOrders"?t.purchaseOrders.items:t.purchaseLines.items,ie=De.default.useMemo(()=>PI(t.onQuery,()=>{g.current.invalidate(),c(new Set),f([]),d(!1)}),[t.onQuery]),ue=De.default.useCallback((re,me,qe)=>ie(_,{page:re,pageSize:qe,filters:_==="purchaseOrders"?{...me,reviewStatus:me.reviewStatus??i}:_==="purchaseLines"?{...me,reviewStatus:me.reviewStatus??a}:me,parameters:t.route.level==="orders"?{supplierId:t.route.supplierId,reviewStatus:String(me.reviewStatus??i)}:t.route.level==="lines"?{supplierId:t.route.supplierId,purchaseOrderId:t.route.orderId,reviewStatus:String(me.reviewStatus??a)}:void 0}),[_,a,i,t.route,ie]),we=De.default.useMemo(()=>AI((re,me,qe)=>{ue(re,me,qe)}),[ue]);De.default.useEffect(()=>()=>we.cancel(),[we]),De.default.useEffect(()=>{O(t.reviewDraft)},[t.reviewDraft]),De.default.useEffect(()=>{c(new Set),f([]),d(!1)},[e]),De.default.useEffect(()=>{t.route.level==="orders"&&o("PENDING"),t.route.level==="lines"&&s("PENDING")},[t.route.level,e]),De.default.useEffect(()=>{let re=FI(l,m,J);re.selectedIds!==l&&c(re.selectedIds),re.failures!==m&&f(re.failures)},[J,l,m]);let Y=(re,me)=>{let qe={...n,[re]:me};r(qe),we.schedule(V.find(Ot=>Ot.key===re)?.type??"text",qe,K)},Q=()=>{r({}),we.flush({},K)},F=async(re,me)=>wr(async()=>{await re()},t.onNotify,{success:me,error:"\u91C7\u8D2D\u64CD\u4F5C\u5931\u8D25"}),ee=re=>aN(C)?M.addPurchaseLine(t.order?.id??"",re):re.id?M.updatePurchaseLine({...re,id:re.id}):Promise.reject(new Error("\u91C7\u8D2D\u5546\u54C1\u6807\u8BC6\u4E0D\u80FD\u4E3A\u7A7A")),B=re=>{re.type==="procurement"?g.current.observeIdentity(u1(re)):g.current.invalidate(),c(new Set),f([]),d(!1),t.onRouteChange(re)},U=!!(t.importTask&&(D||t.importTask.duplicateContractError)),q={...t,onRouteChange:B},le=LI(t.busy,p),ne={selectedIds:l,onToggle:re=>c(me=>yr(me,re)),onTogglePage:re=>c(me=>Ao(me,re)),onClear:()=>c(new Set),onBulkDelete:()=>{f([]),d(!0)},disabled:le},ae=_==="suppliers"?{title:"\u6279\u91CF\u5220\u9664\u4F9B\u5E94\u5546",message:"\u6240\u9009\u4F9B\u5E94\u5546\u5C06\u88AB\u903B\u8F91\u5220\u9664\uFF0C\u540E\u7EED\u91C7\u8D2D\u5408\u540C\u4E0D\u518D\u5F52\u5165\u8FD9\u4E9B\u4F9B\u5E94\u5546\u4E3B\u6863\u3002"}:_==="purchaseOrders"?{title:"\u6279\u91CF\u5220\u9664\u91C7\u8D2D\u8BA2\u5355",message:"\u5C06\u540C\u65F6\u903B\u8F91\u5220\u9664\u6240\u9009\u91C7\u8D2D\u8BA2\u5355\u53CA\u5176\u5168\u90E8\u5546\u54C1\u660E\u7EC6\uFF1B\u540E\u7EED\u91CD\u65B0\u5BFC\u5165\u540C\u7F16\u53F7\u5408\u540C\u5C06\u4F5C\u4E3A\u5168\u65B0\u8BB0\u5F55\u5165\u5E93\uFF0C\u4E0D\u8FC1\u79FB\u65E7\u8BA2\u5355\u4EBA\u5DE5\u91D1\u989D\u6570\u636E\u3002"}:{title:"\u6279\u91CF\u5220\u9664\u91C7\u8D2D\u5546\u54C1",message:"\u6240\u9009\u91C7\u8D2D\u5546\u54C1\u5C06\u88AB\u903B\u8F91\u5220\u9664\uFF0C\u4E0D\u5F71\u54CD\u5F53\u524D\u91C7\u8D2D\u8BA2\u5355\u4E2D\u7684\u5176\u4ED6\u5546\u54C1\u3002"};return(0,A.jsxs)("section",{className:"tcw-procurement-page tcw-procurement-prototype-surface","data-procurement-level":t.route.level,children:[t.importTask&&(t.importTask.status==="FAILED"||t.importTask.status==="TIMED_OUT")&&(0,A.jsxs)("div",{className:"tcw-procurement-import-failure",role:"alert",children:[t.importTask.errorMessage||"\u91C7\u8D2D\u5408\u540C\u89E3\u6790\u5931\u8D25",t.onRetryImport&&(0,A.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",disabled:le,onClick:()=>{le||Promise.resolve(t.onRetryImport?.(t.importTask.id)).catch(re=>t.onNotify?.({message:re instanceof Error?re.message:"\u91CD\u65B0\u89E3\u6790\u5931\u8D25",tone:"error"}))},children:[(0,A.jsx)("i",{className:"ri-restart-line","aria-hidden":"true"}),"\u91CD\u65B0\u89E3\u6790"]})]}),t.route.level==="suppliers"&&(0,A.jsx)(jI,{props:q,...ne,filters:n,definitions:V,onFilter:Y,onSubmit:()=>we.flush(n,K),onReset:Q,onPage:re=>we.page(re,n,K),onPageSize:re=>we.pageSize(re,n),onSupplierDialog:w,onDelete:re=>E({entityType:"supplier",item:re})}),t.route.level==="orders"&&(0,A.jsx)($I,{props:q,...ne,filters:n,definitions:V,reviewStatus:i,onReviewStatus:re=>{o(re),c(new Set),we.flush({...n,reviewStatus:re},K)},onFilter:Y,onSubmit:()=>we.flush(n,K),onReset:Q,onPage:re=>we.page(re,n,K),onPageSize:re=>we.pageSize(re,n),onOrderDialog:x,onDelete:re=>E({entityType:"purchaseOrder",item:re})}),t.route.level==="lines"&&(0,A.jsx)(VI,{props:q,...ne,filters:n,definitions:V,reviewStatus:a,onReviewStatus:re=>{s(re),c(new Set),we.flush({...n,reviewStatus:re},K)},onFilter:Y,onSubmit:()=>we.flush(n,K),onReset:Q,onPage:re=>we.page(re,n,K),onPageSize:re=>we.pageSize(re,n),onLineDialog:k,onDelete:re=>E({entityType:"purchaseLine",item:re})}),(0,A.jsx)(KI,{state:y,busy:le,onClose:()=>w(null),onSave:re=>F(()=>M.updateSupplier(re),"\u4F9B\u5E94\u5546\u4E3B\u6863\u5DF2\u4FDD\u5B58").then(me=>{me&&w(null)})}),(0,A.jsx)(QI,{state:b,lines:t.purchaseLines.items,busy:le,onClose:()=>x(null),onSave:re=>F(()=>M.updatePurchaseOrder(re),"\u91C7\u8D2D\u8BA2\u5355\u5DF2\u4FDD\u5B58").then(me=>{me&&x(null)})}),(0,A.jsx)(YI,{state:C,order:t.order??null,busy:le,onAction:t.onAction,onClose:()=>k(null),onSave:re=>F(()=>ee(re),"\u91C7\u8D2D\u5546\u54C1\u5DF2\u4FDD\u5B58").then(me=>{me&&k(null)})}),(0,A.jsx)(ZI,{open:U,task:t.importTask,draft:D,busy:le,onChange:O,onClose:H,onSave:re=>F(()=>M.savePurchaseReview(t.importTask.id,re),"\u91C7\u8D2D\u5408\u540C\u5BA1\u6838\u5DF2\u4FDD\u5B58").then(me=>{me&&H()})}),(0,A.jsx)(rN,{target:S,supplier:t.supplier??null,busy:le,onCancel:()=>E(null),onConfirm:()=>{le||!S?.item.id||F(()=>M.deleteEntity(S.entityType,S.item.id),"\u5DF2\u903B\u8F91\u5220\u9664").then(re=>{re&&E(null)})}}),(0,A.jsx)(En,{open:u,title:ae.title,count:l.size,message:ae.message,busy:le,failures:m,onCancel:()=>{p||d(!1)},onConfirm:()=>{if(le||l.size===0)return;let re=EI(_);_I({confirmGuard:v.current,generationGuard:g.current,operation:me=>MI({selectedIds:l,rows:J,entityType:re,labelFor:qe=>oN(re,qe),deleteEntity:M.deleteEntity,refresh:t.onQuery,collection:_,query:{page:G.page,pageSize:G.pageSize,filters:_==="purchaseOrders"?{...n,reviewStatus:i}:_==="purchaseLines"?{...n,reviewStatus:a}:n,parameters:t.route.level==="orders"?{supplierId:t.route.supplierId,reviewStatus:i}:t.route.level==="lines"?{supplierId:t.route.supplierId,purchaseOrderId:t.route.orderId,reviewStatus:a}:void 0},notify:t.onNotify,isCurrent:me}),onCurrentResult:me=>{c(me.selectedIds),f(me.failures),!me.refreshFailed&&me.failures.length===0&&d(!1)},onBusyChange:h})}})]})}function jI({props:t,filters:e,definitions:n,onFilter:r,onSubmit:i,onReset:o,onPage:a,onPageSize:s,onSupplierDialog:l,onDelete:c,selectedIds:u,onToggle:d,onTogglePage:p,onClear:h,onBulkDelete:m,disabled:f}){let v=y=>y.id&&t.onRouteChange({type:"procurement",level:"orders",supplierId:y.id});return(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(un,{definitions:n,values:e,onChange:r,onQuery:i,onReset:o}),(0,A.jsx)(Je,{children:"\u91C7\u8D2D\u5408\u540C\u4E0A\u4F20\u540E\u81EA\u52A8\u5F52\u5165\u4F9B\u5E94\u5546\uFF1B\u540C\u540D\u4F9B\u5E94\u5546\u5F52\u5E76\u5230\u540C\u4E00\u4E3B\u6863\u3002\u70B9\u51FB\u4F9B\u5E94\u5546\u4EE3\u7801\u3001\u4F9B\u5E94\u5546\u540D\u79F0\u6216\u8BA2\u5355\u8BE6\u60C5\u8FDB\u5165\u91C7\u8D2D\u8BA2\u5355\u5217\u8868\u3002"}),(0,A.jsx)(ot,{columns:[{type:"custom",key:"code",header:"\u4F9B\u5E94\u5546\u4EE3\u7801",width:130,title:(y,w)=>w.code||void 0,render:(y,w)=>(0,A.jsx)(dy,{icon:"ri-file-list-3-line",title:w.code||void 0,onClick:()=>v(w),children:w.code||"\u2014"})},{type:"custom",key:"name",header:"\u4F9B\u5E94\u5546\u540D\u79F0",width:240,maxWidth:240,title:(y,w)=>w.name||void 0,render:(y,w)=>(0,A.jsx)(dy,{icon:"ri-file-list-3-line",title:w.name||void 0,onClick:()=>v(w),children:w.name||"\u2014"})},{type:"text",key:"shortName",header:"\u7B80\u79F0",width:140},{type:"text",key:"contactName",header:"\u8054\u7CFB\u4EBA",width:130},{type:"text",key:"phone",header:"\u8054\u7CFB\u7535\u8BDD",width:160},{type:"text",key:"countryOrRegion",header:"\u56FD\u522B/\u5730\u533A",width:120,format:y=>String(y||"\u2014")},{type:"custom",key:"sanctionStatus",header:"\u5236\u88C1\u98CE\u9669",width:110,align:"center",truncate:!1,render:(y,w)=>(0,A.jsx)(Ol,{tone:w.sanctionStatus==="HIT"?"danger":w.sanctionStatus==="CLEAR"?"success":"muted",children:f1[w.sanctionStatus??"UNCHECKED"]})},{type:"text",key:"createdAt",header:"\u521B\u5EFA\u65F6\u95F4",width:170,truncate:!1,format:ut}],rows:t.suppliers.items,rowKey:"id",selection:{selectedKeys:u,onToggle:d,onTogglePage:()=>p(t.suppliers.items.map(y=>y.id)),onClear:h,onDelete:m,labelFor:y=>`\u9009\u62E9\u4F9B\u5E94\u5546\uFF1A${y.name||"\u672A\u547D\u540D\u8BB0\u5F55"}`,disabled:f},pagination:Ga(t.suppliers),onPageChange:a,onPageSizeChange:s,emptyText:"\u6682\u65E0\u4F9B\u5E94\u5546\u6570\u636E",actionWidth:190,actions:y=>(0,A.jsxs)(A.Fragment,{children:[(0,A.jsxs)("button",{type:"button",onClick:()=>v(y),children:[(0,A.jsx)("i",{className:"ri-file-list-3-line","aria-hidden":"true"}),"\u8BA2\u5355\u8BE6\u60C5"]}),(0,A.jsxs)("button",{type:"button",disabled:f,onClick:()=>l({mode:"review",item:y}),children:[(0,A.jsx)("i",{className:"ri-edit-line","aria-hidden":"true"}),"\u5BA1\u6838"]}),(0,A.jsxs)("button",{type:"button",className:"is-danger",disabled:f,onClick:()=>c(y),children:[(0,A.jsx)("i",{className:"ri-delete-bin-line","aria-hidden":"true"}),"\u5220\u9664"]})]})})]})}function $I({props:t,filters:e,definitions:n,reviewStatus:r,onReviewStatus:i,onFilter:o,onSubmit:a,onReset:s,onPage:l,onPageSize:c,onOrderDialog:u,onDelete:d,selectedIds:p,onToggle:h,onTogglePage:m,onClear:f,onBulkDelete:v,disabled:g}){let y=b=>b.id&&t.onRouteChange({type:"procurement",level:"lines",supplierId:t.route.level==="orders"?t.route.supplierId:b.supplierId,orderId:b.id}),w=[{type:"custom",key:"contractNo",header:"\u91C7\u8D2D\u8BA2\u5355\u7F16\u53F7",width:160,title:(b,x)=>x.contractNo,render:(b,x)=>(0,A.jsx)(dy,{icon:"ri-file-list-2-line",title:x.contractNo,onClick:()=>y(x),children:x.contractNo})},{type:"text",key:"customerContractNo",header:"\u5BA2\u6237\u5408\u540C\u7F16\u53F7",width:160,format:b=>String(b||"\u672A\u5173\u8054")},{type:"text",key:"supplierName",header:"\u4F9B\u5E94\u5546",width:250,accessor:()=>t.supplier?.name??"\u2014"},{type:"text",key:"orderDate",header:"\u4E0B\u5355\u65E5\u671F",width:120,truncate:!1,format:ti},{type:"text",key:"contractAmountCny",header:"\u91C7\u8D2D\u91D1\u989D\uFF08\u4EBA\u6C11\u5E01\uFF09",width:160,align:"right",truncate:!1,format:Ua},{type:"text",key:"paidAmountCny",header:"\u5DF2\u4ED8\u6B3E",width:130,align:"right",truncate:!1,format:Ua},{type:"text",key:"refundedAmountCny",header:"\u5DF2\u9000\u7A0E",width:130,align:"right",truncate:!1,format:Ua},{type:"custom",key:"reviewStatus",header:"\u5BA1\u6838\u72B6\u6001",width:100,align:"center",truncate:!1,render:(b,x)=>(0,A.jsx)(Ol,{tone:x.reviewStatus==="REVIEWED"?"success":"warning",children:za[x.reviewStatus==="REVIEWED"?"REVIEWED":"PENDING"]})}];return(0,A.jsxs)(A.Fragment,{children:[t.supplier&&(0,A.jsx)(w1,{level:"supplier",supplier:t.supplier,onRouteChange:t.onRouteChange}),t.metrics&&(0,A.jsx)(WI,{metrics:t.metrics}),(0,A.jsx)(un,{definitions:n,values:e,onChange:o,onQuery:a,onReset:s}),(0,A.jsx)("div",{className:"tcw-procurement-review-tabs",role:"tablist","aria-label":"\u5BA1\u6838\u72B6\u6001",children:Object.keys(za).map(b=>(0,A.jsxs)("button",{type:"button",role:"tab","aria-selected":r===b,className:`tcw-procurement-review-tab${r===b?" is-active":""}`,onClick:()=>i(b),children:[(0,A.jsx)("i",{className:b==="PENDING"?"ri-time-line":"ri-checkbox-circle-line","aria-hidden":"true"}),za[b]]},b))}),(0,A.jsx)(ot,{columns:w,rows:t.purchaseOrders.items,rowKey:"id",selection:{selectedKeys:p,onToggle:h,onTogglePage:()=>m(t.purchaseOrders.items.map(b=>b.id)),onClear:f,onDelete:v,labelFor:b=>`\u9009\u62E9\u91C7\u8D2D\u8BA2\u5355\uFF1A${b.contractNo||"\u672A\u7F16\u53F7\u8BB0\u5F55"}`,disabled:g},pagination:Ga(t.purchaseOrders),onPageChange:l,onPageSizeChange:c,emptyText:"\u6682\u65E0\u91C7\u8D2D\u8BA2\u5355\u6570\u636E",actionWidth:190,actions:b=>(0,A.jsxs)(A.Fragment,{children:[(0,A.jsxs)("button",{type:"button",onClick:()=>y(b),children:[(0,A.jsx)("i",{className:"ri-file-list-2-line","aria-hidden":"true"}),"\u5546\u54C1\u8BE6\u60C5"]}),(0,A.jsxs)("button",{type:"button",disabled:g,onClick:()=>u({mode:"review",item:b}),children:[(0,A.jsx)("i",{className:"ri-edit-line","aria-hidden":"true"}),"\u5BA1\u6838"]}),(0,A.jsxs)("button",{type:"button",className:"is-danger",disabled:g,onClick:()=>d(b),children:[(0,A.jsx)("i",{className:"ri-delete-bin-line","aria-hidden":"true"}),"\u5220\u9664"]})]})})]})}function VI({props:t,filters:e,definitions:n,reviewStatus:r,onReviewStatus:i,onFilter:o,onSubmit:a,onReset:s,onPage:l,onPageSize:c,onLineDialog:u,onDelete:d,selectedIds:p,onToggle:h,onTogglePage:m,onClear:f,onBulkDelete:v,disabled:g}){let y=[{type:"ellipsis",key:"productName",header:"\u5546\u54C1\u540D\u79F0",width:170,maxWidth:170},{type:"ellipsis",key:"productDescription",header:"\u5546\u54C1\u63CF\u8FF0",width:190,maxWidth:190},{type:"text",key:"modelSpecification",header:"\u89C4\u683C\u578B\u53F7",width:150},{type:"text",key:"complianceCategories",header:"\u547D\u4E2D\u5408\u89C4\u5206\u7C7B",width:150,format:b=>Array.isArray(b)&&b.length?b.map(x=>m1[x]).join("\u3001"):"\u65E0\u547D\u4E2D"},{type:"text",key:"unit",header:"\u5355\u4F4D",width:80,truncate:!1},{type:"text",key:"quantity",header:"\u6570\u91CF",width:110,align:"right",truncate:!1,format:hy},{type:"text",key:"unitPriceTaxIncluded",header:"\u542B\u7A0E\u5355\u4EF7",width:120,align:"right",truncate:!1,format:Ua},{type:"text",key:"lineAmountTaxIncluded",header:"\u542B\u7A0E\u91D1\u989D",width:130,align:"right",truncate:!1,format:Ua},{type:"text",key:"vatRate",header:"\u589E\u503C\u7A0E\u7387",width:100,align:"right",truncate:!1,format:p1},{type:"text",key:"hsCode",header:"\u6D77\u5173\u7F16\u7801",width:130},{type:"text",key:"refundRate",header:"\u9000\u7A0E\u7387",width:90,align:"right",truncate:!1,format:p1},{type:"custom",key:"reviewStatus",header:"\u5BA1\u6838\u72B6\u6001",width:100,align:"center",truncate:!1,render:(b,x)=>(0,A.jsx)(Ol,{tone:x.reviewStatus==="REVIEWED"?"success":"warning",children:za[x.reviewStatus==="REVIEWED"?"REVIEWED":"PENDING"]})},{type:"text",key:"sourceType",header:"\u6765\u6E90\u7C7B\u578B",width:110,truncate:!1,format:b=>fy[b]??"\u2014"}],w={purchaseOrderId:t.order?.id??"",sourceType:"MANUAL_ENTRY",productName:"",quantity:"",unitPriceTaxIncluded:"",lineAmountTaxIncluded:""};return(0,A.jsxs)(A.Fragment,{children:[t.supplier&&t.order&&(0,A.jsx)(w1,{level:"order",supplier:t.supplier,order:t.order,onRouteChange:t.onRouteChange}),(0,A.jsx)("div",{className:"tcw-procurement-toolbar",children:(0,A.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:g||!t.order?.id,onClick:()=>{g||u({mode:"create",item:w})},children:[(0,A.jsx)("i",{className:"ri-add-line","aria-hidden":"true"}),"\u65B0\u589E\u5546\u54C1"]})}),(0,A.jsx)(un,{definitions:n,values:e,onChange:o,onQuery:a,onReset:s}),(0,A.jsx)("div",{className:"tcw-procurement-review-tabs",role:"tablist","aria-label":"\u5BA1\u6838\u72B6\u6001",children:Object.keys(za).map(b=>(0,A.jsxs)("button",{type:"button",role:"tab","aria-selected":r===b,className:`tcw-procurement-review-tab${r===b?" is-active":""}`,onClick:()=>i(b),children:[(0,A.jsx)("i",{className:b==="PENDING"?"ri-time-line":"ri-checkbox-circle-line","aria-hidden":"true"}),za[b]]},b))}),(0,A.jsx)(Je,{children:"\u53EF\u901A\u8FC7\u5BA1\u6838\u5B8C\u5584\u82F1\u6587\u540D\u79F0\u3001\u6D77\u5173\u7F16\u7801\u3001\u9000\u7A0E\u7387\u548C\u98CE\u9669\u5339\u914D\u4FE1\u606F\u3002"}),(0,A.jsx)(ot,{columns:y,rows:t.purchaseLines.items,rowKey:"id",selection:{selectedKeys:p,onToggle:h,onTogglePage:()=>m(t.purchaseLines.items.map(b=>b.id)),onClear:f,onDelete:v,labelFor:b=>`\u9009\u62E9\u91C7\u8D2D\u5546\u54C1\uFF1A${b.productName||"\u672A\u547D\u540D\u8BB0\u5F55"}`,disabled:g},pagination:Ga(t.purchaseLines),onPageChange:l,onPageSizeChange:c,emptyText:"\u6682\u65E0\u91C7\u8D2D\u5546\u54C1\u6570\u636E",actionWidth:120,actions:b=>(0,A.jsxs)(A.Fragment,{children:[(0,A.jsxs)("button",{type:"button",disabled:g,onClick:()=>u({mode:"review",item:b}),children:[(0,A.jsx)("i",{className:"ri-edit-line","aria-hidden":"true"}),"\u5BA1\u6838"]}),(0,A.jsxs)("button",{type:"button",className:"is-danger",disabled:g,onClick:()=>d(b),children:[(0,A.jsx)("i",{className:"ri-delete-bin-line","aria-hidden":"true"}),"\u5220\u9664"]})]})})]})}function w1(t){return(0,A.jsx)("section",{className:`tcw-procurement-context tcw-procurement-context--${t.level}`,"aria-label":t.level==="supplier"?"\u4F9B\u5E94\u5546\u4E0A\u4E0B\u6587":"\u91C7\u8D2D\u8BA2\u5355\u4E0A\u4E0B\u6587",children:t.level==="supplier"?(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(Qi,{label:"\u4F9B\u5E94\u5546\u4EE3\u7801",value:t.supplier.code}),(0,A.jsx)(Qi,{label:"\u4F9B\u5E94\u5546\u540D\u79F0",value:t.supplier.name}),(0,A.jsx)(Qi,{label:"\u8054\u7CFB\u4EBA",value:t.supplier.contactName}),(0,A.jsx)(Qi,{label:"\u8054\u7CFB\u7535\u8BDD",value:t.supplier.phone})]}):(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(Qi,{label:"\u4F9B\u5E94\u5546",value:t.supplier.name}),(0,A.jsx)(Qi,{label:"\u91C7\u8D2D\u5408\u540C\u7F16\u53F7",value:t.order.contractNo}),(0,A.jsx)(Qi,{label:"\u4E0B\u5355\u65E5\u671F",value:ti(t.order.orderDate)}),(0,A.jsx)(Qi,{label:"\u91C7\u8D2D\u91D1\u989D",value:Ua(t.order.contractAmountCny)})]})})}function WI({metrics:t}){let e=[["\u8BA2\u5355\u603B\u6570",hy(t.totalOrderCount),"ri-clipboard-line","blue"],["\u91C7\u8D2D\u603B\u91D1\u989D",ci(t.totalPurchaseAmountCny),"ri-wallet-3-line","green"],["\u672C\u5E74\u8BA2\u5355\u6570",hy(t.currentYearOrderCount),"ri-calendar-check-line","orange"],["\u672C\u5E74\u91C7\u8D2D\u91D1\u989D",ci(t.currentYearPurchaseAmountCny),"ri-bar-chart-grouped-line","violet"]];return(0,A.jsxs)("section",{className:"tcw-procurement-metrics","aria-label":"\u91C7\u8D2D\u7EDF\u8BA1",children:[e.map(([n,r,i,o])=>(0,A.jsxs)("div",{className:`tcw-procurement-metric tcw-procurement-metric--${o}`,children:[(0,A.jsx)("i",{className:`${i} tcw-procurement-metric-icon`,"aria-hidden":"true"}),(0,A.jsxs)("div",{className:"tcw-procurement-metric-copy",children:[(0,A.jsx)("span",{children:n}),(0,A.jsx)("strong",{children:r})]})]},n)),(0,A.jsxs)("div",{className:"tcw-procurement-top",children:[(0,A.jsx)("span",{children:"\u91C7\u8D2D\u5546\u54C1TOP5"}),t.topProducts.length?(0,A.jsx)("ol",{children:t.topProducts.map(n=>(0,A.jsxs)("li",{children:[(0,A.jsx)("span",{children:n.productName}),(0,A.jsx)("strong",{children:ci(n.amountCny)})]},n.productName))}):(0,A.jsx)("small",{children:"\u6682\u65E0\u5546\u54C1\u6570\u636E"})]})]})}function KI({state:t,busy:e,onClose:n,onSave:r}){let[i,o]=De.default.useState(t?.item??null);if(De.default.useEffect(()=>o(t?.item??null),[t]),!t||!i)return null;let a=t.mode==="detail",s=[["code","\u4F9B\u5E94\u5546\u4EE3\u7801"],["name","\u4F9B\u5E94\u5546\u540D\u79F0",!0],["shortName","\u7B80\u79F0"],["countryOrRegion","\u56FD\u522B/\u5730\u533A"],["contactName","\u8054\u7CFB\u4EBA"],["phone","\u8054\u7CFB\u7535\u8BDD"],["wechat","\u5FAE\u4FE1"],["email","\u90AE\u7BB1"],["address","\u5730\u5740"],["taxNumber","\u7A0E\u53F7"],["paymentAccount","\u6536\u6B3E\u8D26\u53F7"],["bankName","\u5F00\u6237\u884C"],["taxpayerRating","\u7EB3\u7A0E\u7B49\u7EA7"],["website","\u516C\u53F8\u7F51\u7AD9"],["businessProducts","\u7ECF\u8425\u4EA7\u54C1"]];return(0,A.jsxs)(_e,{open:!0,title:t.mode==="detail"?"\u4F9B\u5E94\u5546\u8BE6\u60C5":"\u4F9B\u5E94\u5546\u8BE6\u60C5\u5BA1\u6838",size:"wide",onClose:n,footer:a?(0,A.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:n,children:[(0,A.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u5173\u95ED"]}):(0,A.jsxs)(A.Fragment,{children:[(0,A.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:n,children:[(0,A.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u53D6\u6D88"]}),(0,A.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:e||!i.name.trim(),onClick:()=>{r(i)},children:[(0,A.jsx)("i",{className:"ri-save-line","aria-hidden":"true"}),"\u4FDD\u5B58"]})]}),children:[(0,A.jsxs)("p",{className:"tcw-procurement-dialog-kicker",children:["\u6765\u6E90\uFF1A\u91C7\u8D2D\u5408\u540C\u5F52\u5E76 ",(0,A.jsxs)("span",{children:["\u6700\u8FD1\u5236\u88C1\u68C0\u67E5\uFF1A",i.complianceCheckedAt?ut(i.complianceCheckedAt):"\u5C1A\u672A\u68C0\u67E5"]})]}),(0,A.jsxs)("div",{className:"tcw-procurement-supplier-review",children:[(0,A.jsx)(Rt,{columns:1,children:s.map(([l,c,u])=>(0,A.jsx)(se,{label:c,required:u,children:(0,A.jsx)("input",{disabled:a,value:String(i[l]??""),onChange:d=>o({...i,[l]:d.target.value})})},l))}),(0,A.jsxs)("aside",{children:[(0,A.jsx)(se,{label:"\u5907\u6CE8",children:(0,A.jsx)("textarea",{rows:6,disabled:a,value:i.remarks??"",onChange:l=>o({...i,remarks:l.target.value})})}),(0,A.jsxs)("dl",{children:[(0,A.jsxs)("div",{children:[(0,A.jsx)("dt",{children:"\u5236\u88C1\u98CE\u9669"}),(0,A.jsx)("dd",{children:(0,A.jsx)(Ol,{tone:i.sanctionStatus==="HIT"?"danger":"success",children:f1[i.sanctionStatus??"UNCHECKED"]})})]}),(0,A.jsxs)("div",{children:[(0,A.jsx)("dt",{children:"\u521B\u5EFA\u4EBA"}),(0,A.jsx)("dd",{children:i.createdByName||"\u2014"})]}),(0,A.jsxs)("div",{children:[(0,A.jsx)("dt",{children:"\u521B\u5EFA\u65F6\u95F4"}),(0,A.jsx)("dd",{children:ut(i.createdAt)})]}),(0,A.jsxs)("div",{children:[(0,A.jsx)("dt",{children:"\u6700\u540E\u7F16\u8F91\u4EBA"}),(0,A.jsx)("dd",{children:i.updatedByName||"\u2014"})]}),(0,A.jsxs)("div",{children:[(0,A.jsx)("dt",{children:"\u6700\u540E\u7F16\u8F91\u65F6\u95F4"}),(0,A.jsx)("dd",{children:ut(i.updatedAt)})]})]}),(0,A.jsx)(Je,{children:"\u5236\u88C1\u98CE\u9669\u4E3A\u7CFB\u7EDF\u6700\u8FD1\u4E00\u6B21\u68C0\u67E5\u7ED3\u679C\uFF0C\u4FDD\u5B58\u540E\u5C06\u89E6\u53D1\u65B0\u7684\u5236\u88C1\u68C0\u67E5\u3002"})]})]})]})}function QI({state:t,lines:e,busy:n,onClose:r,onSave:i}){let[o,a]=De.default.useState(t?.item??null);if(De.default.useEffect(()=>a(t?.item??null),[t]),!t||!o)return null;let s=t.mode==="detail",l=o.estimatedRefundAmountCny??e.filter(u=>u.purchaseOrderId===o.id).reduce((u,d)=>u+b1(d),0).toFixed(2),c=zt(o.paidAmountCny)>zt(o.contractAmountCny)?"\u5DF2\u4ED8\u6B3E\u4E0D\u80FD\u8D85\u8FC7\u91C7\u8D2D\u8BA2\u5355\u603B\u989D":zt(o.refundedAmountCny)>zt(l)?"\u5DF2\u9000\u7A0E\u4E0D\u80FD\u8D85\u8FC7\u9884\u8BA1\u9000\u7A0E\u603B\u989D":"";return(0,A.jsxs)(_e,{open:!0,title:s?"\u91C7\u8D2D\u8BA2\u5355\u8BE6\u60C5":"\u91C7\u8D2D\u8BA2\u5355\u5BA1\u6838",size:"wide",onClose:r,footer:s?(0,A.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:r,children:[(0,A.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u5173\u95ED"]}):(0,A.jsxs)(A.Fragment,{children:[(0,A.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:r,children:[(0,A.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u53D6\u6D88"]}),(0,A.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:n||!!c||!o.orderDate,onClick:()=>{i(o)},children:[(0,A.jsx)("i",{className:"ri-save-line","aria-hidden":"true"}),"\u4FDD\u5B58"]})]}),children:[c&&(0,A.jsx)(ct,{children:c}),(0,A.jsxs)(Rt,{columns:2,children:[(0,A.jsx)(se,{label:"\u91C7\u8D2D\u5408\u540C\u7F16\u53F7",required:!0,children:(0,A.jsx)("input",{disabled:!0,value:o.contractNo})}),(0,A.jsx)(se,{label:"\u4E0B\u5355\u65E5\u671F",required:!0,children:(0,A.jsx)("input",{type:"date",disabled:s,value:o.orderDate,onChange:u=>a({...o,orderDate:u.target.value})})}),(0,A.jsx)(Ba,{label:"\u91C7\u8D2D\u8BA2\u5355\u603B\u989D",disabled:s,value:o.contractAmountCny,onChange:u=>a({...o,contractAmountCny:u})}),(0,A.jsx)(Ba,{label:"\u5DF2\u4ED8\u6B3E",disabled:s,value:o.paidAmountCny,onChange:u=>a({...o,paidAmountCny:u})}),(0,A.jsx)(Ba,{label:"\u672A\u4ED8\u6B3E",disabled:!0,value:String(Math.max(zt(o.contractAmountCny)-zt(o.paidAmountCny),0))}),(0,A.jsx)(Ba,{label:"\u5DF2\u9000\u7A0E",disabled:s,value:o.refundedAmountCny,onChange:u=>a({...o,refundedAmountCny:u})}),(0,A.jsx)(Ba,{label:"\u9884\u8BA1\u9000\u7A0E\u603B\u989D",disabled:!0,value:l}),(0,A.jsx)(Ba,{label:"\u672A\u9000\u7A0E",disabled:!0,value:String(Math.max(zt(l)-zt(o.refundedAmountCny),0))}),(0,A.jsx)(se,{label:"\u5339\u914D\u5BA2\u6237\u5408\u540C",children:(0,A.jsx)("input",{disabled:!0,value:o.customerContractNo||"\u672A\u5173\u8054"})}),(0,A.jsx)(se,{label:"\u6765\u6E90\u6587\u4EF6",children:(0,A.jsx)("input",{disabled:!0,value:o.sourceFileName||"\u2014"})})]})]})}function YI({state:t,order:e,busy:n,onAction:r,onClose:i,onSave:o}){let[a,s]=De.default.useState(t?.item??null),[l,c]=De.default.useState(!1);if(De.default.useEffect(()=>s(t?.item??null),[t]),!t||!a)return null;let u=zt(a.quantity)*zt(a.unitPriceTaxIncluded),d=g1({supplier:{name:"line-review"},order:e??{supplierId:"",contractNo:"line-review",orderDate:"",contractAmountCny:a.lineAmountTaxIncluded},lines:[a]}).filter(m=>m.startsWith("\u7B2C1\u6761\u5546\u54C1")||m.includes("\u4E0B\u5355\u65E5\u671F")),p=(m,f)=>m!=="search_hs_code"&&m!=="get_hs_code_detail"&&m!=="translate_purchase_product_name"?Promise.resolve({success:!1,message:"\u91C7\u8D2D\u5546\u54C1\u4EC5\u652F\u6301\u6D77\u5173\u7F16\u7801\u67E5\u8BE2"}):r(m,f),h=async m=>{let f=Dl(m.englishName)?null:await XI(p,a.productName),v=II(a,m,f);if(!v){c(!1);return}s(v),c(!1)};return(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(_e,{open:!0,title:t.mode==="create"?"\u65B0\u589E\u5546\u54C1":"\u91C7\u8D2D\u5546\u54C1\u5BA1\u6838",size:"wide",onClose:i,footer:(0,A.jsxs)(A.Fragment,{children:[(0,A.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:i,children:[(0,A.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u53D6\u6D88"]}),(0,A.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:n||d.length>0,onClick:()=>{o(a)},children:[(0,A.jsx)("i",{className:"ri-save-line","aria-hidden":"true"}),"\u4FDD\u5B58"]})]}),children:(0,A.jsxs)("div",{className:"tcw-procurement-line-form",children:[(0,A.jsxs)("div",{className:"tcw-procurement-source-label",children:["\u6765\u6E90\u7C7B\u578B\uFF1A",fy[a.sourceType]]}),t.mode==="review"&&d.length>0&&(0,A.jsx)(ct,{children:d.join("\uFF1B")}),(0,A.jsxs)(Rt,{columns:2,children:[(0,A.jsx)(Ze,{label:"\u5546\u54C1\u540D\u79F0",required:!0,value:a.productName,onChange:m=>s({...a,productName:m})}),(0,A.jsx)(Ze,{label:"\u5546\u54C1\u63CF\u8FF0",value:a.productDescription,onChange:m=>s({...a,productDescription:m})}),(0,A.jsx)(Ze,{label:"\u89C4\u683C\u578B\u53F7",value:a.modelSpecification,onChange:m=>s({...a,modelSpecification:m})}),(0,A.jsx)(Ze,{label:"\u5355\u4F4D",required:!0,value:a.unit,onChange:m=>s({...a,unit:m})}),(0,A.jsx)(Ze,{label:"\u6570\u91CF",required:!0,type:"number",value:a.quantity,onChange:m=>s({...a,quantity:m,lineAmountTaxIncluded:String(zt(m)*zt(a.unitPriceTaxIncluded))})}),(0,A.jsx)(Ze,{label:"\u542B\u7A0E\u5355\u4EF7\uFF08\u4EBA\u6C11\u5E01\uFF09",required:!0,type:"number",value:a.unitPriceTaxIncluded,onChange:m=>s({...a,unitPriceTaxIncluded:m,lineAmountTaxIncluded:String(zt(a.quantity)*zt(m))})}),(0,A.jsx)(Ze,{label:"\u542B\u7A0E\u91D1\u989D\uFF08\u4EBA\u6C11\u5E01\uFF09",required:!0,type:"number",value:a.lineAmountTaxIncluded||String(u),onChange:m=>s({...a,lineAmountTaxIncluded:m})}),(0,A.jsx)(Ze,{label:"\u589E\u503C\u7A0E\u7387",type:"number",value:a.vatRate,onChange:m=>s({...a,vatRate:m})}),(0,A.jsx)(se,{label:"\u6D77\u5173\u7F16\u7801",children:(0,A.jsxs)("div",{className:"tcw-procurement-inline-field",children:[(0,A.jsx)("input",{value:a.hsCode??"",onChange:m=>s(v1(a,m.target.value))}),(0,A.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:()=>c(!0),children:[(0,A.jsx)("i",{className:"ri-search-line","aria-hidden":"true"}),"HS\u7F16\u7801\u67E5\u8BE2"]})]})}),(0,A.jsx)(Ze,{label:"\u9000\u7A0E\u7387",required:!0,type:"number",value:a.refundRate,onChange:m=>s({...a,refundRate:m})}),(0,A.jsx)(Ze,{label:"\u82F1\u6587\u540D\u79F0",value:a.englishName,onChange:m=>s({...a,englishName:m})})]})]})}),(0,A.jsx)(ol,{open:l,initialQuery:a.hsCode||a.englishName||a.productName,onAction:p,onClose:()=>c(!1),onBind:h})]})}function v1(t,e){let n=tp(e);return{...t,hsCode:e,hsCodeSource:n?"MANUAL":null}}async function XI(t,e){try{let n=await t("translate_purchase_product_name",{productName:e});return n.success===!1?null:Dl(n.data?.englishName)}catch{return null}}function ZI({open:t,task:e,draft:n,busy:r,onChange:i,onClose:o,onSave:a}){let[s,l]=De.default.useState(!1),[c,u]=De.default.useState(()=>d1(e?.duplicateContractError));De.default.useEffect(()=>{l(!1),u(d1(e?.duplicateContractError))},[t,e?.id,e?.duplicateContractError]);let d=(m,f)=>{f&&u(v=>zI(v,f)),i(m)},p=()=>{if(!n)return;let m=BI(n,c.contractNo===e?.duplicateContractError?e?.duplicateContractError:null);l(!0),u(m),!UI(m)&&a(n)},h=s||c.contractNo?c:np();return(0,A.jsx)(_e,{open:t,title:"\u91C7\u8D2D\u5408\u540C\u5BA1\u6838",size:"wide",onClose:o,footer:(0,A.jsxs)(A.Fragment,{children:[(0,A.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:o,children:[(0,A.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u53D6\u6D88"]}),(0,A.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:r||!n,onClick:p,children:[(0,A.jsx)("i",{className:"ri-check-double-line","aria-hidden":"true"}),"\u5BA1\u6838\u5E76\u5165\u5E93"]})]}),children:n?(0,A.jsxs)("div",{className:"tcw-procurement-review-compact",children:[(0,A.jsxs)("section",{className:"tcw-procurement-review-editor-pane",children:[(0,A.jsx)("h3",{children:"\u8BC6\u522B\u5185\u5BB9"}),(0,A.jsxs)("div",{className:"tcw-procurement-review-editor",children:[(0,A.jsx)(cy,{title:"\u4F9B\u5E94\u5546\u4FE1\u606F",children:(0,A.jsx)(JI,{supplier:n.supplier,errors:h,onChange:(m,f)=>d({...n,supplier:m},f)})}),(0,A.jsx)(cy,{title:"\u8BA2\u5355\u4FE1\u606F",children:(0,A.jsxs)(Rt,{columns:3,children:[(0,A.jsx)(Ze,{label:"\u91C7\u8D2D\u5408\u540C\u7F16\u53F7",required:!0,value:n.order.contractNo,error:h.contractNo,onChange:m=>d({...n,order:{...n.order,contractNo:m}},{kind:"root",field:"contractNo"})}),(0,A.jsx)(Ze,{label:"\u4E0B\u5355\u65E5\u671F",type:"date",value:n.order.orderDate,onChange:m=>d({...n,order:{...n.order,orderDate:m}})}),(0,A.jsx)(Ze,{label:"\u91C7\u8D2D\u603B\u989D\uFF08\u4EBA\u6C11\u5E01\uFF09",type:"number",value:n.order.contractAmountCny,error:h.contractAmountCny,onChange:m=>d({...n,order:{...n.order,contractAmountCny:m}},{kind:"root",field:"contractAmountCny"})}),(0,A.jsx)(Ze,{label:"\u5DF2\u4ED8\u6B3E",type:"number",value:n.order.paidAmountCny,error:h.paidAmountCny,onChange:m=>d({...n,order:{...n.order,paidAmountCny:m}},{kind:"root",field:"paidAmountCny"})}),(0,A.jsx)(Ze,{label:"\u5DF2\u9000\u7A0E",type:"number",value:n.order.refundedAmountCny,error:h.refundedAmountCny,onChange:m=>d({...n,order:{...n.order,refundedAmountCny:m}},{kind:"root",field:"refundedAmountCny"})})]})}),(0,A.jsx)(cy,{title:`\u5168\u90E8\u5546\u54C1\uFF08${n.lines.length}\uFF09`,children:(0,A.jsx)("div",{className:"tcw-procurement-review-lines",children:n.lines.map((m,f)=>(0,A.jsx)(qI,{index:f,line:m,errors:h.lines[f]??{},onChange:(v,g)=>d({...n,lines:n.lines.map((y,w)=>w===f?v:y)},g)},m.id??f))})})]})]}),(0,A.jsxs)("section",{className:"tcw-procurement-review-source-pane",children:[(0,A.jsx)("h3",{children:"\u6E90\u6587\u4EF6\u5185\u5BB9"}),(0,A.jsx)(eN,{draft:n,task:e})]})]}):(0,A.jsx)(ct,{children:e?.errorMessage||"\u91C7\u8D2D\u5408\u540C\u89E3\u6790\u7ED3\u679C\u4E0D\u53EF\u7528"})})}function qI({line:t,index:e,errors:n,onChange:r}){let i=o=>({kind:"line",index:e,field:o});return(0,A.jsxs)("section",{className:"tcw-procurement-review-line",children:[(0,A.jsxs)("h4",{children:["\u5546\u54C1 ",e+1," ",(0,A.jsx)(Ol,{tone:"muted",children:fy[t.sourceType]})]}),(0,A.jsxs)(Rt,{columns:3,children:[(0,A.jsx)(Ze,{label:"\u5546\u54C1\u540D\u79F0",required:!0,value:t.productName,error:n.productName,onChange:o=>r({...t,productName:o},i("productName"))}),(0,A.jsx)(Ze,{label:"\u5546\u54C1\u63CF\u8FF0",value:t.productDescription,onChange:o=>r({...t,productDescription:o})}),(0,A.jsx)(Ze,{label:"\u89C4\u683C\u578B\u53F7",value:t.modelSpecification,onChange:o=>r({...t,modelSpecification:o})}),(0,A.jsx)(Ze,{label:"\u5355\u4F4D",value:t.unit,onChange:o=>r({...t,unit:o})}),(0,A.jsx)(Ze,{label:"\u6570\u91CF",type:"number",value:t.quantity,error:n.quantity,onChange:o=>r({...t,quantity:o},i("quantity"))}),(0,A.jsx)(Ze,{label:"\u542B\u7A0E\u91D1\u989D",type:"number",value:t.lineAmountTaxIncluded,error:n.lineAmountTaxIncluded,onChange:o=>r({...t,lineAmountTaxIncluded:o},i("lineAmountTaxIncluded"))}),(0,A.jsx)(Ze,{label:"\u6D77\u5173\u7F16\u7801",value:t.hsCode,onChange:o=>r(v1(t,o))}),t.amountMismatch&&(0,A.jsx)(se,{label:"\u91D1\u989D\u5DEE\u5F02\u786E\u8BA4",required:!0,children:(0,A.jsxs)("label",{className:"tcw-procurement-checkbox",children:[(0,A.jsx)("input",{type:"checkbox",checked:!!t.amountMismatchConfirmed,onChange:o=>r({...t,amountMismatchConfirmed:o.target.checked},i("lineAmountTaxIncluded"))}),"\u786E\u8BA4\u4FDD\u7559\u5408\u540C\u539F\u59CB\u91D1\u989D"]})})]}),(0,A.jsxs)("details",{className:"tcw-procurement-review-more",children:[(0,A.jsx)("summary",{children:"\u66F4\u591A\u5546\u54C1\u4FE1\u606F"}),(0,A.jsxs)(Rt,{columns:3,children:[(0,A.jsx)(Ze,{label:"\u82F1\u6587\u540D\u79F0",value:t.englishName,onChange:o=>r({...t,englishName:o})}),(0,A.jsx)(Ze,{label:"\u542B\u7A0E\u5355\u4EF7",type:"number",value:t.unitPriceTaxIncluded,error:n.unitPriceTaxIncluded,onChange:o=>r({...t,unitPriceTaxIncluded:o},i("unitPriceTaxIncluded"))}),(0,A.jsx)(Ze,{label:"\u589E\u503C\u7A0E\u7387",type:"number",value:t.vatRate,error:n.vatRate,onChange:o=>r({...t,vatRate:o},i("vatRate"))}),(0,A.jsx)(Ze,{label:"\u9000\u7A0E\u7387",type:"number",value:t.refundRate,error:n.refundRate,onChange:o=>r({...t,refundRate:o},i("refundRate"))})]})]})]})}function JI({supplier:t,errors:e,onChange:n}){let r=[["name","\u4F9B\u5E94\u5546\u540D\u79F0",!0],["code","\u4F9B\u5E94\u5546\u4EE3\u7801"],["shortName","\u7B80\u79F0"]],i=[["countryOrRegion","\u56FD\u522B/\u5730\u533A"],["address","\u5730\u5740"],["contactName","\u8054\u7CFB\u4EBA"],["phone","\u8054\u7CFB\u7535\u8BDD"],["wechat","\u5FAE\u4FE1"],["email","\u90AE\u7BB1"],["taxNumber","\u7A0E\u53F7"],["paymentAccount","\u6536\u6B3E\u8D26\u53F7"],["bankName","\u5F00\u6237\u884C"],["taxpayerRating","\u7EB3\u7A0E\u7B49\u7EA7"],["website","\u516C\u53F8\u7F51\u7AD9"],["businessProducts","\u7ECF\u8425\u4EA7\u54C1"]];return(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)(Rt,{columns:3,children:r.map(([o,a,s])=>(0,A.jsx)(Ze,{label:a,required:s,value:t[o],error:o==="name"?e.supplierName:void 0,onChange:l=>n({...t,[o]:l},o==="name"?{kind:"root",field:"supplierName"}:void 0)},o))}),(0,A.jsxs)("details",{className:"tcw-procurement-review-more",children:[(0,A.jsx)("summary",{children:"\u66F4\u591A\u4F9B\u5E94\u5546\u4FE1\u606F"}),(0,A.jsx)(Rt,{columns:3,children:i.map(([o,a])=>(0,A.jsx)(Ze,{label:a,value:t[o],onChange:s=>n({...t,[o]:s})},o))})]})]})}function eN({draft:t,task:e}){let n=t.lines.find(i=>i.sourceContent)?.sourceContent??t.sourceText,r=t.lines.find(i=>i.sourceContent)?.sourceLocation;return(0,A.jsxs)("div",{className:"tcw-procurement-source",children:[(0,A.jsx)("strong",{children:t.sourceFileName||e?.sourceFileName||"\u91C7\u8D2D\u5408\u540C\u6E90\u6587\u4EF6"}),t.sourceFileUrl?(0,A.jsx)(tN,{url:t.sourceFileUrl,fileName:t.sourceFileName||e?.sourceFileName||"\u91C7\u8D2D\u5408\u540C\u6E90\u6587\u4EF6",fallback:n?(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)("small",{children:r||"\u6765\u6E90\u4F4D\u7F6E\u672A\u6807\u6CE8"}),(0,A.jsx)("pre",{children:n})]}):(0,A.jsx)("pre",{children:"\u6E90\u6587\u4EF6\u6682\u65E0\u6CD5\u5728\u7EBF\u9884\u89C8"})}):n?(0,A.jsxs)(A.Fragment,{children:[(0,A.jsx)("small",{children:r||"\u6765\u6E90\u4F4D\u7F6E\u672A\u6807\u6CE8"}),(0,A.jsx)("pre",{children:n})]}):(0,A.jsx)("pre",{children:"\u6E90\u6587\u4EF6\u6682\u65E0\u6CD5\u5728\u7EBF\u9884\u89C8"})]})}function tN({url:t,fileName:e,fallback:n}){let r=De.default.useRef(null),[i,o]=De.default.useState("loading"),[a,s]=De.default.useState(null);return De.default.useEffect(()=>{let l=!1,c=new AbortController;async function u(){try{o("loading"),s(null);let{GlobalWorkerOptions:d,getDocument:p}=await Promise.resolve().then(()=>(c1(),s1));d.workerSrc=new URL("pdfjs-dist/legacy/build/pdf.worker.mjs",cN.url).toString();let m=await p({url:t,useWorkerFetch:!1,useSystemFonts:!0}).promise;if(l||c.signal.aborted){await m.destroy().catch(()=>{});return}await nN(m,r.current),l||o("ready"),await m.destroy().catch(()=>{})}catch(d){if(l||c.signal.aborted)return;s(d instanceof Error?d.message:"PDF \u9884\u89C8\u5931\u8D25"),o("failed")}}return u(),()=>{l=!0,c.abort()}},[t]),i==="failed"?(0,A.jsxs)("div",{className:"tcw-procurement-pdf-preview is-failed","data-pdf-url":t,children:[(0,A.jsxs)("div",{className:"tcw-procurement-pdf-preview-toolbar",children:[(0,A.jsx)("span",{children:e}),(0,A.jsxs)("a",{className:"tcw-button tcw-button--secondary",href:t,target:"_blank",rel:"noreferrer",children:[(0,A.jsx)("i",{className:"ri-download-line","aria-hidden":"true"}),"\u4E0B\u8F7D\u539F\u6587\u4EF6"]})]}),(0,A.jsxs)("div",{className:"tcw-procurement-pdf-preview-fallback",children:[(0,A.jsx)("strong",{children:"PDF \u9884\u89C8\u5931\u8D25"}),(0,A.jsx)("small",{children:a||"\u5F53\u524D\u6587\u4EF6\u65E0\u6CD5\u76F4\u63A5\u6E32\u67D3\uFF0C\u5DF2\u56DE\u9000\u5230\u6587\u672C\u5185\u5BB9\u3002"}),n]})]}):(0,A.jsxs)("div",{className:"tcw-procurement-pdf-preview","data-pdf-url":t,children:[(0,A.jsxs)("div",{className:"tcw-procurement-pdf-preview-toolbar",children:[(0,A.jsx)("span",{children:e}),(0,A.jsxs)("a",{className:"tcw-button tcw-button--secondary",href:t,target:"_blank",rel:"noreferrer",children:[(0,A.jsx)("i",{className:"ri-download-line","aria-hidden":"true"}),"\u6253\u5F00\u539F\u6587\u4EF6"]})]}),(0,A.jsx)("canvas",{ref:r,"aria-label":`${e} \u9884\u89C8`}),(0,A.jsx)("small",{children:i==="loading"?"\u6B63\u5728\u6E32\u67D3\u7B2C\u4E00\u9875\u9884\u89C8\u2026":"\u4EC5\u9884\u89C8\u7B2C\u4E00\u9875\uFF0C\u5B8C\u6574\u6587\u4EF6\u53EF\u6253\u5F00\u539F\u6587\u4EF6\u67E5\u770B\u3002"})]})}async function nN(t,e){if(!e)throw new Error("PDF \u9884\u89C8\u5BB9\u5668\u4E0D\u53EF\u7528");let n=await t.getPage(1),r=n.getViewport({scale:1.2}),i=window.devicePixelRatio||1;e.width=Math.floor(r.width*i),e.height=Math.floor(r.height*i),e.style.width=`${Math.floor(r.width)}px`,e.style.height=`${Math.floor(r.height)}px`;let o=e.getContext("2d");if(!o)throw new Error("PDF \u753B\u5E03\u4E0D\u53EF\u7528");o.setTransform(i,0,0,i,0,0),await n.render({canvasContext:o,canvas:e,viewport:r}).promise}function rN({target:t,supplier:e,busy:n,onCancel:r,onConfirm:i}){let o=t?.entityType==="purchaseOrder",a=o?t.item:null,s=t?.entityType==="supplier"?t.item.name:t?.entityType==="purchaseOrder"?t.item.contractNo:t?.item?.productName;return o?(0,A.jsx)(_e,{open:!!t,title:"\u786E\u8BA4\u5220\u9664\u91C7\u8D2D\u8BA2\u5355\uFF1F",onClose:r,footer:(0,A.jsxs)(A.Fragment,{children:[(0,A.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:r,children:[(0,A.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u53D6\u6D88"]}),(0,A.jsxs)("button",{type:"button",className:"tcw-button tcw-button--danger",disabled:n,onClick:i,children:[(0,A.jsx)("i",{className:"ri-delete-bin-line","aria-hidden":"true"}),"\u786E\u8BA4\u5220\u9664"]})]}),children:(0,A.jsxs)("div",{className:"tcw-procurement-delete-summary is-order",children:[(0,A.jsxs)("strong",{className:"tcw-procurement-delete-warning",children:[(0,A.jsx)("i",{className:"ri-error-warning-fill","aria-hidden":"true"}),"\u5220\u9664\u540E\u5C06\u540C\u65F6\u903B\u8F91\u5220\u9664\u8BE5\u91C7\u8D2D\u8BA2\u5355\u53CA\u5176\u5168\u90E8\u5546\u54C1\u660E\u7EC6\uFF0C\u5F53\u524D\u524D\u7AEF\u4E0D\u63D0\u4F9B\u6062\u590D\uFF0C\u8BF7\u8C28\u614E\u64CD\u4F5C\u3002"]}),(0,A.jsxs)("dl",{className:"tcw-procurement-delete-details",children:[(0,A.jsxs)("div",{children:[(0,A.jsx)("dt",{children:"\u91C7\u8D2D\u5408\u540C\u7F16\u53F7"}),(0,A.jsx)("dd",{children:s||"\u2014"})]}),(0,A.jsxs)("div",{children:[(0,A.jsx)("dt",{children:"\u4F9B\u5E94\u5546"}),(0,A.jsx)("dd",{children:e?.name||"\u2014"})]}),(0,A.jsxs)("div",{children:[(0,A.jsx)("dt",{children:"\u5546\u54C1\u6761\u6570"}),(0,A.jsx)("dd",{children:a?.lineCount??0})]}),(0,A.jsxs)("div",{children:[(0,A.jsx)("dt",{children:"\u91C7\u8D2D\u91D1\u989D"}),(0,A.jsx)("dd",{children:ci(a?.contractAmountCny)})]}),(0,A.jsxs)("div",{children:[(0,A.jsx)("dt",{children:"\u5DF2\u4ED8\u6B3E"}),(0,A.jsx)("dd",{children:ci(a?.paidAmountCny)})]}),(0,A.jsxs)("div",{children:[(0,A.jsx)("dt",{children:"\u5DF2\u9000\u7A0E"}),(0,A.jsx)("dd",{children:ci(a?.refundedAmountCny)})]})]}),(0,A.jsxs)("p",{className:"tcw-procurement-delete-info",children:[(0,A.jsx)("i",{className:"ri-information-line","aria-hidden":"true"}),"\u5220\u9664\u65E7\u8BA2\u5355\u540E\uFF0C\u5982\u540E\u7EED\u91CD\u65B0\u5BFC\u5165\u540C\u7F16\u53F7\u5408\u540C\uFF0C\u5C06\u4F5C\u4E3A\u5168\u65B0\u8BB0\u5F55\u5165\u5E93\uFF0C\u4E0D\u8FC1\u79FB\u65E7\u8BA2\u5355\u4EBA\u5DE5\u91D1\u989D\u6570\u636E\u3002"]})]})}):(0,A.jsx)(Bt,{open:!!t,title:o?"\u786E\u8BA4\u5220\u9664\u91C7\u8D2D\u8BA2\u5355\uFF1F":`\u786E\u8BA4\u5220\u9664${t?.entityType==="supplier"?"\u4F9B\u5E94\u5546":"\u91C7\u8D2D\u5546\u54C1"}\uFF1F`,danger:!0,confirmText:"\u786E\u8BA4\u5220\u9664",confirmDisabled:n,onCancel:r,onConfirm:i,message:o?(0,A.jsxs)("div",{className:"tcw-procurement-delete-summary is-order",children:[(0,A.jsxs)("strong",{className:"tcw-procurement-delete-warning",children:[(0,A.jsx)("i",{className:"ri-error-warning-fill","aria-hidden":"true"}),"\u5220\u9664\u540E\u5C06\u540C\u65F6\u903B\u8F91\u5220\u9664\u8BE5\u91C7\u8D2D\u8BA2\u5355\u53CA\u5176\u5168\u90E8\u5546\u54C1\u660E\u7EC6\uFF0C\u5F53\u524D\u524D\u7AEF\u4E0D\u63D0\u4F9B\u6062\u590D\uFF0C\u8BF7\u8C28\u614E\u64CD\u4F5C\u3002"]}),(0,A.jsxs)("dl",{className:"tcw-procurement-delete-details",children:[(0,A.jsxs)("div",{children:[(0,A.jsx)("dt",{children:"\u91C7\u8D2D\u5408\u540C\u7F16\u53F7"}),(0,A.jsx)("dd",{children:s||"\u2014"})]}),(0,A.jsxs)("div",{children:[(0,A.jsx)("dt",{children:"\u4F9B\u5E94\u5546"}),(0,A.jsx)("dd",{children:e?.name||"\u2014"})]}),(0,A.jsxs)("div",{children:[(0,A.jsx)("dt",{children:"\u5546\u54C1\u6761\u6570"}),(0,A.jsx)("dd",{children:a?.lineCount??0})]}),(0,A.jsxs)("div",{children:[(0,A.jsx)("dt",{children:"\u91C7\u8D2D\u91D1\u989D"}),(0,A.jsx)("dd",{children:ci(a?.contractAmountCny)})]}),(0,A.jsxs)("div",{children:[(0,A.jsx)("dt",{children:"\u5DF2\u4ED8\u6B3E"}),(0,A.jsx)("dd",{children:ci(a?.paidAmountCny)})]}),(0,A.jsxs)("div",{children:[(0,A.jsx)("dt",{children:"\u5DF2\u9000\u7A0E"}),(0,A.jsx)("dd",{children:ci(a?.refundedAmountCny)})]})]}),(0,A.jsxs)("p",{className:"tcw-procurement-delete-info",children:[(0,A.jsx)("i",{className:"ri-information-line","aria-hidden":"true"}),"\u5220\u9664\u65E7\u8BA2\u5355\u540E\uFF0C\u5982\u540E\u7EED\u91CD\u65B0\u5BFC\u5165\u540C\u7F16\u53F7\u5408\u540C\uFF0C\u5C06\u4F5C\u4E3A\u5168\u65B0\u8BB0\u5F55\u5165\u5E93\uFF0C\u4E0D\u8FC1\u79FB\u65E7\u8BA2\u5355\u4EBA\u5DE5\u91D1\u989D\u6570\u636E\u3002"]})]}):(0,A.jsx)("div",{className:"tcw-procurement-delete-summary",children:(0,A.jsx)("strong",{children:s||"\u5F53\u524D\u8BB0\u5F55"})})})}function cy({title:t,children:e}){return(0,A.jsxs)("section",{className:"tcw-procurement-review-section",children:[(0,A.jsx)("h3",{children:t}),e]})}function Qi({label:t,value:e}){return(0,A.jsxs)("div",{children:[(0,A.jsx)("span",{children:t}),(0,A.jsx)("strong",{children:String(e||"\u2014")})]})}function dy({children:t,icon:e,title:n,onClick:r}){return(0,A.jsxs)("button",{type:"button",className:"tcw-procurement-link",title:n,onClick:r,children:[(0,A.jsx)("i",{className:e,"aria-hidden":"true"}),t]})}function Ol({children:t,tone:e}){return(0,A.jsx)("span",{className:`tcw-procurement-status tcw-procurement-status--${e}`,children:t})}function Ze({label:t,value:e,required:n,type:r="text",error:i,onChange:o}){let a=De.default.useId();return(0,A.jsx)(se,{label:t,required:n,error:i,errorId:a,children:(0,A.jsx)("input",{type:r,value:String(e??""),"aria-invalid":i?!0:void 0,"aria-describedby":i?a:void 0,onChange:s=>o(s.target.value)})})}function Ba({label:t,value:e,disabled:n,onChange:r}){return(0,A.jsx)(se,{label:t,children:(0,A.jsx)("input",{type:"number",disabled:n,value:String(e??""),onChange:i=>r?.(i.target.value)})})}function iN(t){return t.level==="suppliers"?"suppliers":t.level==="orders"?"purchaseOrders":"purchaseLines"}function oN(t,e){return t==="supplier"?e.name||e.id:t==="purchaseOrder"?e.contractNo||e.id:e.productName||e.id}function aN(t){return t?.mode==="create"}function b1(t){let e=1+py(t.vatRate);return e>0?zt(t.lineAmountTaxIncluded)/e*py(t.refundRate):0}function zt(t){let e=Number(t??0);return Number.isFinite(e)?e:0}function py(t){let e=zt(t);return e>1?e/100:e}function Yi(t){if(sN(t))return null;let e=Number(t);return Number.isFinite(e)?e:Number.NaN}function sN(t){return String(t??"").trim()===""}function Ua(t){return`\xA5${zt(t).toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2})}`}function ci(t){return`\xA5${zt(t).toLocaleString("zh-CN",{maximumFractionDigits:2})}`}function hy(t){return zt(t).toLocaleString("zh-CN")}function p1(t){return`${(py(t)*100).toLocaleString("zh-CN",{maximumFractionDigits:4})}%`}function lN(t){return Object.entries(t).map(([e,n])=>({value:e,label:n}))}function Ga(t){let e=t.total??t.items.length,n=t.pageSize??ep;return{page:t.page??1,pageSize:n,total:e,pageCount:Math.max(1,Math.ceil(e/n))}}function h1(t){if(t.success===!1)throw new Error(t.message||"\u91C7\u8D2D\u64CD\u4F5C\u5931\u8D25")}function my(t,e){if(t==="suppliers")return{type:"procurement",level:"suppliers"};let n=e.parameters?.supplierId?.trim();if(!n)return null;if(t==="purchaseOrders")return{type:"procurement",level:"orders",supplierId:n};let r=e.parameters?.purchaseOrderId?.trim();return r?{type:"procurement",level:"lines",supplierId:n,orderId:r}:null}function ip(t){let e=rp(t.resultPayload),n=rp(e.supplier),r=rp(e.order),i=Array.isArray(e.lines)?e.lines.map((o,a)=>pN(rp(o),a)):[];return{supplier:uN(n),order:dN(r),lines:i,sourceFileName:t.sourceFileName??null}}function uN(t){return{...t,name:Ha(t,["name","supplierName"]),creditCode:ui(t,["creditCode","supplierCreditCode"]),address:ui(t,["address","supplierAddress"]),contactName:ui(t,["contactName"]),phone:ui(t,["phone","contactPhone"])}}function dN(t){return{...t,supplierId:Ha(t,["supplierId"]),contractNo:Ha(t,["contractNo","number"]),orderDate:x1(Ha(t,["orderDate","date","contractDate"])),contractAmountCny:ja(t,["contractAmountCny","totalAmount","amount"],"0"),paidAmountCny:ja(t,["paidAmountCny"],"0"),refundedAmountCny:ja(t,["refundedAmountCny"],"0")}}function pN(t,e){return{...t,lineNumber:fN(t,["lineNumber"],e+1),productName:Ha(t,["productName","name"]),productDescription:ui(t,["productDescription","description"]),modelSpecification:ui(t,["modelSpecification","model"]),unit:ui(t,["unit","\u5355\u4F4D","\u8BA1\u91CF\u5355\u4F4D","uom"]),quantity:ja(t,["quantity"],"0"),unitPriceTaxIncluded:ja(t,["unitPriceTaxIncluded","taxInclusiveUnitPrice","unitPrice","\u542B\u7A0E\u5355\u4EF7"],"0"),lineAmountTaxIncluded:ja(t,["lineAmountTaxIncluded","taxInclusiveTotalAmount","totalAmount","\u542B\u7A0E\u603B\u4EF7","\u542B\u7A0E\u91D1\u989D","\u4EF7\u7A0E\u5408\u8BA1","taxIncludedAmount","amountWithTax"],"0"),hsCode:ui(t,["hsCode","contractHsCode","Hs code","HS Code","\u6D77\u5173\u7F16\u7801"]),refundPolicyDate:hN(t,["refundPolicyDate"]),sourceType:t.sourceType==="MANUAL_ENTRY"?"MANUAL_ENTRY":"CONTRACT_EXTRACTED"}}function rp(t){return t&&typeof t=="object"&&!Array.isArray(t)?t:{}}function gy(t,e){for(let n of e){let r=t[n];if(r!=null&&String(r).trim()!=="")return r}}function Ha(t,e,n=""){let r=gy(t,e);return r==null?n:String(r)}function ui(t,e){return Ha(t,e).trim()||null}function hN(t,e){let n=ui(t,e);return n==null?null:x1(n)}function x1(t){let e=t.trim();if(!e)return"";let n=e.match(/^(\d{4})\s*(?:[-/.年])\s*(\d{1,2})\s*(?:[-/.月])\s*(\d{1,2})\s*(?:日)?$/);if(!n)return e;let[,r,i,o]=n;return`${r}-${i.padStart(2,"0")}-${o.padStart(2,"0")}`}function ja(t,e,n){let r=gy(t,e);return typeof r=="number"&&Number.isFinite(r)?String(r):typeof r=="string"&&r.trim()?r.trim():n}function fN(t,e,n){let r=Number(gy(t,e));return Number.isFinite(r)?r:n}var dt=be(Qt(),1);function yy(t){return String(t??"").normalize("NFKC").trim().replace(/\s+/g," ").toLocaleLowerCase("en-US")}var op=["CONTRACT_AMOUNT","TAX_RATE","PRICE_TERMS","TRANSPORT","WARRANTY","BREACH_LIABILITY","PAYMENT_TERMS"];var Z=be(Be(),1),$a=20;var I1=[{type:"CONTRACT_AMOUNT",label:"\u5408\u540C\u91D1\u989D"},{type:"TAX_RATE",label:"\u7A0E\u7387"},{type:"PRICE_TERMS",label:"\u4EF7\u683C\u6761\u6B3E"},{type:"TRANSPORT",label:"\u8FD0\u8F93/\u4EA4\u4ED8\u65B9\u5F0F"},{type:"WARRANTY",label:"\u8D28\u4FDD/\u670D\u52A1\u4FDD\u969C"},{type:"BREACH_LIABILITY",label:"\u8FDD\u7EA6\u8D23\u4EFB"},{type:"PAYMENT_TERMS",label:"\u4ED8\u6B3E\u6761\u6B3E"}],N1={HIGH:"\u9AD8\u98CE\u9669",MEDIUM:"\u4E2D\u98CE\u9669",LOW:"\u4F4E\u98CE\u9669"},P1={HIT:"\u547D\u4E2D",CLEAR:"\u672A\u547D\u4E2D",UNCHECKED:"\u672A\u68C0\u67E5"},C1=[{type:"text",key:"customerName",label:"\u5BA2\u6237\u540D\u79F0"},{type:"text",key:"contractNo",label:"\u5BA2\u6237\u5408\u540C\u7F16\u7801"},{type:"date-range",key:"signedAt",label:"\u7B7E\u8BA2\u65E5\u671F"},{type:"select",key:"overallRiskLevel",label:"\u6574\u4F53\u98CE\u9669\u7B49\u7EA7",options:k1(N1)},{type:"select",key:"sanctionStatus",label:"\u5236\u88C1\u547D\u4E2D",options:k1(P1)}];function mN({onAction:t,onFileAction:e}){return{upload:async n=>{let r=await e("upload_customer_contract",n,{documentType:"CUSTOMER_CONTRACT"});ap(r,"\u5BA2\u6237\u5408\u540C\u4E0A\u4F20\u5931\u8D25");let i=_o(r.data);if(!i.review)throw new Error("\u4E0A\u4F20\u54CD\u5E94\u7F3A\u5C11\u5BA2\u6237\u5408\u540C\u5BA1\u6838\u8349\u7A3F");return Fo(i.review)},loadReview:async n=>{let r=await t("get_customer_contract_review",{id:n});if(ap(r,"\u5BA2\u6237\u5408\u540C\u5BA1\u6838\u52A0\u8F7D\u5931\u8D25"),!r.data)throw new Error("\u5BA1\u6838\u54CD\u5E94\u7F3A\u5C11\u5BA2\u6237\u5408\u540C\u6570\u636E");let i=_o(r.data);return Fo("reviewSource"in i?i:Zi(i))},saveReview:async n=>{let r=n.reviewSource==="IMPORT_DRAFT"?await t("save_customer_contract_review",{importTaskId:A1(n.importTaskId,"\u5BFC\u5165\u4EFB\u52A1\u6807\u8BC6"),draft:gN(n)}):await t("update_customer_contract_review",{id:A1(n.customerContractId,"\u5BA2\u6237\u5408\u540C\u6807\u8BC6"),customer:n.customer,contract:{contractNo:n.contractNo,contractAmountReviewCny:n.contractAmountReviewCny,signedAt:n.signedAt},clauses:n.clauses,...n.customerTransferConfirmation?{customerTransferConfirmation:n.customerTransferConfirmation}:{}});return ap(r,"\u5BA2\u6237\u5408\u540C\u5BA1\u6838\u4FDD\u5B58\u5931\u8D25"),r},deleteContract:async(n,r)=>{let i=r?await t("delete_entity",{entityType:"customerContract",id:n},r):await t("delete_entity",{entityType:"customerContract",id:n});return ap(i,"\u5BA2\u6237\u5408\u540C\u5220\u9664\u5931\u8D25"),i}}}function Zi(t,e={}){let n=_o(t),r=_o(n.contract),i=_o(n.customer),o=Array.isArray(n.clauses)?n.clauses.map(_o):[],a=Array.isArray(n.analyses)?n.analyses.map(_o):[],s=new Map(a.map(c=>[String(c.clauseType),c])),l=o.map(c=>Xi(di(c,["sourceContent","sourceText","originalText","translatedText"]))?.trim()).find(Boolean);return Fo({reviewSource:e.reviewSource??"EXISTING_CONTRACT",...e.importTaskId?{importTaskId:e.importTaskId}:{},...r.id?{contractId:String(r.id)}:{},customer:{...i,name:R1(i,["name","customerName"]),englishName:Xi(di(i,["englishName","customerEnglishName"])),address:Xi(di(i,["address","customerAddress"])),taxNumber:Xi(di(i,["taxNumber","customerRegistrationNo"]))},contractNo:String(r.contractNo??""),signedAt:Xi(di(r,["signedAt","contractDate"])),contractAmountReviewCny:UN(di(r,["contractAmountReviewCny","contractAmount"])),overallRiskLevel:E1(r.overallRiskLevel),sanctionStatus:GN(n.sanctionStatus),sourceFileId:String(e.sourceFileId??r.sourceFileId??""),sourceFileName:String(e.sourceFileName??r.sourceFileName??""),sourcePreview:l?{kind:"TEXT",content:l}:{kind:"UNAVAILABLE"},clauses:op.map(c=>{let u=o.find(g=>g.clauseType===c),d=s.get(c),p=Xi(di(u,["sourceText","originalText","sourceContent"])),h=R1(u,["reviewedText","translatedText","clauseSummary","summary","originalText"]),m=Xi(di(u,["sourceContent","sourceText","originalText","translatedText"])),v=!!(p?.trim()||h.trim()||m?.trim())||u?.extractionStatus==="FOUND"?"FOUND":"NOT_FOUND";return{...u?.id?{id:String(u.id)}:{},clauseType:c,extractionStatus:v,sourceText:p,reviewedText:h,sourceLocation:Xi(u?.sourceLocation),sourceContent:m,analysis:d?{riskLevel:E1(d.riskLevel),riskMessageZh:String(d.riskMessageZh??""),suggestionZh:String(d.suggestionZh??"")}:Ll(c).analysis}})})}function gN(t){return{customer:t.customer,contract:{contractNo:t.contractNo,signedAt:t.signedAt,contractAmountReviewCny:t.contractAmountReviewCny},clauses:t.clauses.map(({analysis:e,...n})=>n),analyses:t.clauses.map(e=>({clauseType:e.clauseType,...e.analysis}))}}function yN(t,e=300){let n,r=()=>{n&&clearTimeout(n),n=void 0},i=(o,a,s=$a)=>{r(),t({page:o,pageSize:s,filters:a})};return{schedule:(o,a,s=$a)=>{if(r(),o!=="text"){i(1,a,s);return}n=setTimeout(()=>i(1,a,s),e)},flush:(o,a=$a)=>i(1,o,a),page:(o,a,s=$a)=>i(o,a,s),pageSize:(o,a)=>i(1,a,o),cancel:r}}function D1(){let t=null;return{register(e){return t=e,()=>{t===e&&(t=null)}},cancelCurrent(){t?.()}}}function wN(t,e){return async n=>(e(),await t(n))}function vN(){let t=!1;return{run(e){return t?null:(t=!0,e().finally(()=>{t=!1}))}}}function bN(){let t=0,e=n=>n.revision===t;return{invalidate(){t+=1},capture(){return{revision:t}},isCurrent:e,commit(n,r){return e(n)?(r(),!0):!1}}}function xN(t,e){return t||e}function O1(t){return t.type==="page"&&t.page==="customer-contract-review"?{page:1,pageSize:$a,filters:{}}:null}async function L1({isActive:t,latestQuery:e,query:n}){if(!t())return!1;try{return await n(e())!==!1}catch{return!1}}function CN({confirmGuard:t,generationGuard:e,operation:n,onCurrentResult:r,onStaleReconcile:i,onBusyChange:o}){return t.run(async()=>{let a=e.capture();o(!0);try{let s=await n(()=>e.isCurrent(a));if(!e.commit(a,()=>r(s)))try{await i?.(s)}catch{}return s}finally{o(!1)}})}function SN(t,e,n){let r=n.map(a=>a.id),i=nx([...t].map(a=>({key:a,message:""})),r),o=e.filter(a=>i.has(a.key));return{selectedIds:i.size===t.size?t:i,failures:o.length===e.length?e:o}}async function kN({selectedIds:t,rows:e,deleteContract:n,refresh:r,query:i,notify:o,isCurrent:a=()=>!0}){let s=[...t],l=new Map(e.map(h=>[h.id,h.contractNo||h.customerName||h.id])),c=await rr(s,h=>n(h,{suppressRefresh:!0})),u=e.filter(h=>!c.succeeded.includes(h.id)),d=Lr(i.page,u.length),p=c.failed.map(h=>({...h,label:l.get(h.key)??h.key}));if(!a())return{selectedIds:new Set(s),failures:p,refreshFailed:!1,stale:!0};try{let h=await r({...i,page:d});if(!a())return{selectedIds:new Set(s),failures:p,refreshFailed:!1,stale:!0};if(h===!1)return{selectedIds:new Set(s),failures:p,refreshFailed:!0,stale:!1}}catch{return a()?{selectedIds:new Set(s),failures:p,refreshFailed:!0,stale:!1}:{selectedIds:new Set(s),failures:p,refreshFailed:!1,stale:!0}}return c.failed.length===0?o?.({message:`\u5DF2\u5220\u9664 ${c.succeeded.length} \u6761`,tone:"success"}):o?.({message:`\u6210\u529F ${c.succeeded.length}\u3001\u5931\u8D25 ${c.failed.length}`,tone:c.succeeded.length>0?"warning":"error"}),{selectedIds:new Set(c.failed.map(h=>h.key)),failures:p,refreshFailed:!1,stale:!1}}function AN(t,e){return{reviewSource:t.reviewSource,...t.importTaskId?{importTaskId:t.importTaskId}:{},...t.contractId?{customerContractId:t.contractId}:{},customer:{...t.customer,name:t.customer.name.trim()},contractNo:t.contractNo.trim().toUpperCase(),signedAt:t.signedAt,contractAmountReviewCny:t.contractAmountReviewCny,sourceFileId:t.sourceFileId,...e?{customerTransferConfirmation:e}:{},clauses:op.map(n=>{let r=t.clauses.find(i=>i.clauseType===n)??Ll(n);return{...r.id?{id:r.id}:{},clauseType:n,extractionStatus:r.extractionStatus,sourceText:r.sourceText,reviewedText:r.reviewedText,sourceLocation:r.sourceLocation,sourceContent:r.sourceContent,analysis:{...r.analysis}}})}}function TN(t,e){if(t.reviewSource!=="EXISTING_CONTRACT")return null;let n=yy(e.customer.name);return yy(t.customer.name)===n?null:{type:"CONFIRMED_CUSTOMER_TRANSFER",targetNormalizedName:n}}function RN(t,e){return e.type==="cancel"||e.type==="sync-review"?null:e.type==="begin-confirm"?t?.confirming?t:t?{...t,confirming:!0}:null:t?.pending.confirmation.targetNormalizedName===e.pending.confirmation.targetNormalizedName&&t.pending.review.contractId===e.pending.review.contractId?t:{pending:e.pending,confirming:!1}}function EN(t,e){return{...t,...e}}function IN(t){for(let e of t){let n=e.reviewedText.trim();if(e.extractionStatus==="FOUND"&&!n)return`\u201C${wy(e.clauseType)}\u201D\u5DF2\u627E\u5230\u65F6\u5FC5\u987B\u586B\u5199\u4EBA\u5DE5\u5BA1\u6838\u5185\u5BB9`;if(e.extractionStatus==="NOT_FOUND"&&n)return`\u201C${wy(e.clauseType)}\u201D\u672A\u627E\u5230\u65F6\u4E0D\u80FD\u586B\u5199\u4EBA\u5DE5\u5BA1\u6838\u5185\u5BB9`}return null}function _1(t){let[e,n]=dt.default.useState({}),[r,i]=dt.default.useState(new Set),[o,a]=dt.default.useState(!1),[s,l]=dt.default.useState(!1),[c,u]=dt.default.useState([]),d=dt.default.useRef();d.current||(d.current=vN());let p=dt.default.useRef();p.current||(p.current=bN());let[h,m]=dt.default.useState(null),[f,v]=dt.default.useState("review"),[g,y]=dt.default.useState(null),w=dt.default.useMemo(()=>mN(t),[t.onAction,t.onFileAction]),b=dt.default.useCallback(()=>{m(null),t.onReviewClose?.()},[t.onReviewClose]),x=dt.default.useCallback(()=>{p.current.invalidate(),i(new Set),u([]),a(!1)},[]),C=dt.default.useMemo(()=>wN(t.onQuery,x),[t.onQuery,x]),k=dt.default.useCallback(_=>(t.onQueryRequested?.(_),C(_)),[t.onQueryRequested,C]),S=dt.default.useMemo(()=>yN(k),[k]);dt.default.useEffect(()=>{let _=t.onQueryCancelRegistration?.(S.cancel);return()=>{_?.(),S.cancel(),p.current.invalidate()}},[t.onQueryCancelRegistration,S]),dt.default.useEffect(()=>{t.importReviewState.status==="AWAITING_REVIEW"&&(v("review"),m(Fo(t.importReviewState.review)))},[t.importReviewState]),dt.default.useEffect(()=>{let _=SN(r,c,t.collection.items);_.selectedIds!==r&&i(_.selectedIds),_.failures!==c&&u(_.failures)},[t.collection.items,r,c]);let E=(_,V)=>{let G={...e,[_]:V};n(G),x();let K=S1(t.collection).pageSize;t.onQueryRequested?.({page:1,pageSize:K,filters:G}),S.schedule(C1.find(J=>J.key===_)?.type??"text",G,K)},D=async(_,V)=>{try{v(V),m(await(t.onLoadReview?t.onLoadReview(_):w.loadReview(_)))}catch(G){t.onNotify?.({message:sp(G,"\u5BA2\u6237\u5408\u540C\u5BA1\u6838\u52A0\u8F7D\u5931\u8D25"),tone:"error"})}},O=S1(t.collection),H=xN(t.busy,s),M=[{type:"text",key:"customerName",header:"\u5BA2\u6237\u540D\u79F0",width:150},{type:"text",key:"customerCode",header:"\u5BA2\u6237\u4EE3\u7801",width:90,format:zN},{type:"ellipsis",key:"contractNo",header:"\u5BA2\u6237\u5408\u540C\u7F16\u7801",width:175,maxWidth:175},{type:"custom",key:"countryOrRegion",header:"\u56FD\u5BB6/\u5730\u533A",width:105,truncate:!1,render:()=>"\u2014"},{type:"text",key:"signedAt",header:"\u7B7E\u8BA2\u65E5\u671F",width:110,truncate:!1,format:ti},{type:"text",key:"contractAmountReviewCny",header:"\u4EBA\u6C11\u5E01\u9884\u5BA1\u91D1\u989D",width:150,align:"right",truncate:!1,format:F1},{type:"custom",key:"overallRiskLevel",header:"\u6574\u4F53\u98CE\u9669\u7B49\u7EA7",width:105,align:"center",truncate:!1,render:(_,V)=>(0,Z.jsx)(MN,{item:V})},{type:"ellipsis",key:"sourceFileName",header:"\u6765\u6E90\u6587\u4EF6",width:160,maxWidth:160}];return(0,Z.jsxs)("section",{className:"tcw-contract-page tcw-contract-prototype-surface","aria-label":"\u5BA2\u6237\u5408\u540C\u5BA1\u6838",children:[(0,Z.jsx)(un,{definitions:C1,values:e,onChange:E,onQuery:()=>S.flush(e,O.pageSize),onReset:()=>{n({}),S.flush({},O.pageSize)}}),(0,Z.jsx)(Je,{children:"\u652F\u6301 PDF\u3001DOC\u3001DOCX\u3001XLS\u3001XLSX\u3001PNG\u3001JPEG\u3001WEBP\u3002\u89E3\u6790\u6210\u529F\u540E\u81EA\u52A8\u6253\u5F00\u5BA1\u6838\u3002"}),t.importReviewState.status==="PROCESSING"&&(0,Z.jsxs)("p",{className:"tcw-contract-import-status",role:"status",children:["\u6B63\u5728\u89E3\u6790 ",t.importReviewState.sourceFileName,"..."]}),t.importReviewState.status==="FAILED"&&(0,Z.jsxs)("div",{className:"tcw-contract-page-error",role:"alert",children:[t.importReviewState.message,t.importReviewState.importTaskId&&t.onRetryImport&&(0,Z.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",disabled:H,onClick:()=>{H||Promise.resolve(t.onRetryImport?.(t.importReviewState.status==="FAILED"?t.importReviewState.importTaskId:"")).catch(_=>t.onNotify?.({message:_ instanceof Error?_.message:"\u91CD\u65B0\u89E3\u6790\u5931\u8D25",tone:"error"}))},children:[(0,Z.jsx)("i",{className:"ri-restart-line","aria-hidden":"true"}),"\u91CD\u65B0\u89E3\u6790"]})]}),(0,Z.jsx)("div",{className:"tcw-contract-action-table",children:(0,Z.jsx)(ot,{columns:M,rows:t.collection.items,rowKey:"id",actionWidth:130,selection:{selectedKeys:r,onToggle:_=>{H||i(V=>yr(V,_))},onTogglePage:()=>{H||i(_=>Ao(_,t.collection.items.map(V=>V.id)))},onClear:()=>{H||i(new Set)},onDelete:()=>{H||(u([]),a(!0))},labelFor:_=>`\u9009\u62E9\u5BA2\u6237\u5408\u540C\uFF1A${_.contractNo||_.customerName||_.id}`,disabled:H},actions:_=>(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)("button",{type:"button",disabled:H,onClick:()=>{D(_.id,"review")},children:[(0,Z.jsx)("i",{className:"ri-edit-line","aria-hidden":"true"}),"\u5BA1\u6838"]}),(0,Z.jsxs)("button",{type:"button",className:"is-danger",disabled:H,onClick:()=>y(_),children:[(0,Z.jsx)("i",{className:"ri-delete-bin-line","aria-hidden":"true"}),"\u5220\u9664"]})]}),pagination:O,onPageChange:_=>S.page(_,e,O.pageSize),onPageSizeChange:_=>S.pageSize(_,e),emptyText:"\u6682\u65E0\u5BA2\u6237\u5408\u540C\u6570\u636E"})}),(0,Z.jsx)(NN,{open:!!h,mode:f,review:h,busy:H,reanalysisState:t.reanalysisState,onReanalyze:t.onReanalyze,onClose:b,onSave:async(_,V)=>{await dm(()=>w.saveReview(AN(_,V)).then(()=>{}),async()=>{await t.onQuery({page:O.page,pageSize:O.pageSize,filters:e})},t.onNotify,{success:"\u5BA2\u6237\u5408\u540C\u5BA1\u6838\u4FDD\u5B58\u6210\u529F",error:"\u5BA2\u6237\u5408\u540C\u5BA1\u6838\u4FDD\u5B58\u5931\u8D25"})&&b()}}),(0,Z.jsx)(PN,{open:!!g,contract:g,busy:H,onCancel:()=>y(null),onConfirm:async()=>{if(H||!g)return;await dm(()=>w.deleteContract(g.id).then(()=>{}),async()=>{await t.onQuery({page:O.page,pageSize:O.pageSize,filters:e})},t.onNotify,{success:"\u5BA2\u6237\u5408\u540C\u5220\u9664\u6210\u529F",error:"\u5BA2\u6237\u5408\u540C\u5220\u9664\u5931\u8D25"})&&y(null)}}),(0,Z.jsx)(En,{open:o,title:"\u6279\u91CF\u5220\u9664\u5BA2\u6237\u5408\u540C",count:r.size,message:"\u5C06\u903B\u8F91\u5220\u9664\u6240\u9009\u5BA2\u6237\u5408\u540C\u53CA\u5176\u4E03\u7C7B\u5173\u952E\u6761\u6B3E\u5BA1\u6838\u6570\u636E\uFF1B\u5220\u9664\u540E\u4E0D\u53EF\u6062\u590D\uFF1B\u5DF2\u751F\u6210\u9500\u552E\u6587\u4EF6\u5386\u53F2\u4FDD\u6301\u4E0D\u53D8\u3002",busy:H,failures:c,onCancel:()=>{s||a(!1)},onConfirm:()=>{H||r.size===0||CN({confirmGuard:d.current,generationGuard:p.current,operation:_=>kN({selectedIds:r,rows:t.collection.items,deleteContract:w.deleteContract,refresh:t.onQuery,query:{page:O.page,pageSize:O.pageSize,filters:e},notify:t.onNotify,isCurrent:_}),onCurrentResult:_=>{i(_.selectedIds),u(_.failures),!_.refreshFailed&&_.failures.length===0&&a(!1)},onStaleReconcile:async()=>{S.cancel(),await t.onBulkReconcile?.()},onBusyChange:_=>{l(_),t.onBulkBusyChange?.(_)}})}})]})}function NN({open:t,mode:e="review",review:n,busy:r,reanalysisState:i={status:"IDLE"},onReanalyze:o,onClose:a,onSave:s}){let[l,c]=dt.default.useState(()=>n?Fo(n):null),[u,d]=dt.default.useState("PAYMENT_TERMS"),[p,h]=dt.default.useState(""),[m,f]=dt.default.useReducer(RN,null);if(dt.default.useEffect(()=>{f({type:"sync-review",open:t}),t&&n&&(c(Fo(n)),d("PAYMENT_TERMS"),h(""))},[t,n]),!l)return null;let v=u==="BASIC_INFO"?null:u,g=v?l.clauses.find(S=>S.clauseType===v)??Ll(v):null,y=S=>c({...l,clauses:l.clauses.map(E=>E.clauseType===S.clauseType?S:E)}),w=async()=>{if(!l.customer.name.trim()){h("\u5BA2\u6237\u540D\u79F0\u4E3A\u5FC5\u586B\u9879");return}if(!l.contractNo.trim()){h("\u5BA2\u6237\u5408\u540C\u7F16\u7801\u4E3A\u5FC5\u586B\u9879");return}let S=l.contractNo.trim().toUpperCase();if(!/^.+X$/.test(S)){h("\u5BA2\u6237\u5408\u540C\u7F16\u7801\u5FC5\u987B\u4E3A\u57FA\u7840\u7F16\u7801\u52A0\u672B\u5C3E X");return}let E=IN(l.clauses);if(E){h(E);return}h("");let D={...l,contractNo:S},O=n?TN(n,D):null;if(O){f({type:"request",pending:{review:D,confirmation:O}});return}try{await s(D)}catch(H){h(sp(H,"\u5BA2\u6237\u5408\u540C\u5BA1\u6838\u4FDD\u5B58\u5931\u8D25"))}},b=async()=>{if(o){h("");try{c(BN(l,Fo(await o({reviewSource:l.reviewSource,customerContractId:l.contractId,importTaskId:l.importTaskId}))))}catch(S){h(sp(S,"AI \u91CD\u65B0\u5206\u6790\u5931\u8D25"))}}},x=i?.status==="RUNNING",C=e==="detail";return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)(_e,{open:t,title:C?"\u5BA2\u6237\u5408\u540C\u8BE6\u60C5":"\u5BA1\u6838\u5BA2\u6237\u5408\u540C",size:"wide",onClose:a,footer:C?(0,Z.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:a,children:[(0,Z.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u5173\u95ED"]}):(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",disabled:r,onClick:a,children:[(0,Z.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u53D6\u6D88"]}),(0,Z.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:r,onClick:()=>{w()},children:[(0,Z.jsx)("i",{className:"ri-save-line","aria-hidden":"true"}),"\u4FDD\u5B58\u5BA1\u6838"]})]}),children:[(0,Z.jsxs)("div",{className:"tcw-contract-review-header tcw-contract-review-summary",children:[(0,Z.jsxs)("div",{className:"tcw-contract-summary-customer",children:[(0,Z.jsx)("span",{children:"\u5BA2\u6237\u540D\u79F0"}),(0,Z.jsx)("strong",{children:l.customer.name})]}),(0,Z.jsx)(DN,{review:l,readOnly:C,onChange:c}),(0,Z.jsxs)("div",{className:"tcw-contract-summary-cell",children:[(0,Z.jsx)("span",{children:"\u6574\u4F53\u98CE\u9669\u7B49\u7EA7"}),(0,Z.jsx)(lp,{level:l.overallRiskLevel})]}),(0,Z.jsx)(FN,{status:i?.status??"IDLE"})]}),i?.status==="FAILED"&&(0,Z.jsx)("div",{className:"tcw-contract-dialog-error",role:"alert",children:i.message}),p&&(0,Z.jsx)("div",{className:"tcw-contract-dialog-error",role:"alert",children:p}),(0,Z.jsxs)("div",{className:"tcw-contract-review-layout",children:[(0,Z.jsxs)("div",{className:"tcw-contract-review-toolbar",children:[(0,Z.jsxs)("strong",{children:["\u5F53\u524D",C?"\u67E5\u770B":"\u5BA1\u6838","\u5185\u5BB9\uFF1A",u==="BASIC_INFO"?"\u57FA\u7840\u4FE1\u606F":wy(u)]}),u!=="BASIC_INFO"&&!C&&o&&(0,Z.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",disabled:r||x,title:"\u91CD\u65B0\u5206\u6790\u4E03\u7C7B\u5173\u952E\u6761\u6B3E",onClick:()=>{b()},children:[(0,Z.jsx)("i",{className:"ri-refresh-line","aria-hidden":"true"}),x?"\u91CD\u65B0\u5206\u6790\u4E2D":"\u91CD\u65B0\u5206\u6790"]})]}),(0,Z.jsxs)("nav",{className:"tcw-contract-clause-tabs","aria-label":"\u5BA1\u6838\u5185\u5BB9",children:[(0,Z.jsx)("button",{type:"button",className:u==="BASIC_INFO"?"is-active":"",onClick:()=>d("BASIC_INFO"),children:"\u57FA\u7840\u4FE1\u606F"}),I1.map(S=>(0,Z.jsx)("button",{type:"button",className:S.type===u?"is-active":"",onClick:()=>d(S.type),children:S.label},S.type))]}),u==="BASIC_INFO"?(0,Z.jsx)("section",{className:"tcw-contract-basic-info",children:(0,Z.jsx)(LN,{value:l.customer,readOnly:C,onChange:S=>c({...l,customer:S})})}):g&&(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)("section",{className:"tcw-contract-clause-editor",children:[g.extractionStatus==="NOT_FOUND"&&(0,Z.jsx)(ct,{children:"\u5408\u540C\u7F3A\u5C11\u8BE5\u5173\u952E\u6761\u6B3E\u3002"}),(0,Z.jsxs)(se,{label:"\u6765\u6E90\u6761\u6B3E\u539F\u6587",children:[(0,Z.jsx)("textarea",{disabled:!0,rows:6,value:g.sourceText??"\u672A\u627E\u5230\u6765\u6E90\u6761\u6B3E"}),(0,Z.jsx)("small",{children:T1(g.sourceText,1e3)})]}),(0,Z.jsxs)(se,{label:"\u4EBA\u5DE5\u5BA1\u6838\u5185\u5BB9",required:!0,children:[(0,Z.jsx)("textarea",{disabled:C,rows:7,value:g.reviewedText,onChange:S=>y(EN(g,{reviewedText:S.target.value}))}),(0,Z.jsx)("small",{children:T1(g.reviewedText,2e3)})]}),(0,Z.jsx)(se,{label:"\u6765\u6E90\u4F4D\u7F6E",children:(0,Z.jsx)("input",{disabled:!0,value:g.sourceLocation??"\u2014"})})]}),(0,Z.jsxs)("section",{className:"tcw-contract-source-preview",children:[(0,Z.jsx)("div",{className:"tcw-contract-source-heading",children:(0,Z.jsx)("h3",{children:"AI \u5206\u6790\u7ED3\u679C"})}),(0,Z.jsx)("div",{className:"tcw-contract-source-main",children:(0,Z.jsx)(_N,{clause:g})})]})]})]})]}),(0,Z.jsx)(Bt,{open:!!m,title:"\u786E\u8BA4\u8F6C\u79FB\u5BA2\u6237\u5408\u540C",confirmText:"\u786E\u8BA4\u8F6C\u79FB\u5E76\u4FDD\u5B58",confirmDisabled:r||!!m?.confirming,onCancel:()=>f({type:"cancel"}),onConfirm:async()=>{if(!(!m||m.confirming)){f({type:"begin-confirm"});try{await s(m.pending.review,m.pending.confirmation),f({type:"cancel"})}catch(S){f({type:"cancel"}),h(sp(S,"\u5BA2\u6237\u5408\u540C\u5BA1\u6838\u4FDD\u5B58\u5931\u8D25"))}}},message:(0,Z.jsxs)("span",{children:["\u5BA2\u6237\u540D\u79F0\u5DF2\u7531\u201C",n?.customer.name??"","\u201D\u53D8\u66F4\u4E3A\u201C",m?.pending.review.customer.name??"","\u201D\u3002\u786E\u8BA4\u540E\u4EC5\u5C06\u5F53\u524D\u5408\u540C\u8F6C\u79FB\u5230\u76EE\u6807\u5BA2\u6237\uFF0C\u4E0D\u4FEE\u6539\u539F\u5BA2\u6237\u53CA\u5176\u5176\u4ED6\u5408\u540C\u3002"]})})]})}function PN({open:t,contract:e,busy:n,onCancel:r,onConfirm:i}){return(0,Z.jsx)(Bt,{open:t,title:"\u786E\u8BA4\u5220\u9664\u5BA2\u6237\u5408\u540C\uFF1F",danger:!0,confirmText:"\u786E\u8BA4\u5220\u9664",confirmDisabled:n,onCancel:r,onConfirm:()=>{i()},message:(0,Z.jsxs)("div",{className:"tcw-contract-delete-summary",children:[(0,Z.jsx)("strong",{className:"tcw-contract-delete-warning",children:"\u5220\u9664\u540E\u5C06\u903B\u8F91\u5220\u9664\u8BE5\u5BA2\u6237\u5408\u540C\u53CA\u5176\u4E03\u7C7B\u5173\u952E\u6761\u6B3E\u5BA1\u6838\u6570\u636E\uFF0C\u524D\u7AEF\u6682\u4E0D\u63D0\u4F9B\u6062\u590D\uFF0C\u8BF7\u8C28\u614E\u64CD\u4F5C\u3002"}),(0,Z.jsxs)("dl",{className:"tcw-contract-delete-details",children:[(0,Z.jsxs)("div",{children:[(0,Z.jsx)("dt",{children:"\u5BA2\u6237\u540D\u79F0"}),(0,Z.jsx)("dd",{children:e?.customerName??"\u2014"})]}),(0,Z.jsxs)("div",{children:[(0,Z.jsx)("dt",{children:"\u5BA2\u6237\u5408\u540C\u7F16\u7801"}),(0,Z.jsx)("dd",{children:e?.contractNo??"\u2014"})]}),(0,Z.jsxs)("div",{children:[(0,Z.jsx)("dt",{children:"\u7B7E\u8BA2\u65E5\u671F"}),(0,Z.jsx)("dd",{children:e?.signedAt??"\u2014"})]}),(0,Z.jsxs)("div",{children:[(0,Z.jsx)("dt",{children:"\u4EBA\u6C11\u5E01\u9884\u5BA1\u5408\u540C\u91D1\u989D"}),(0,Z.jsx)("dd",{children:F1(e?.contractAmountReviewCny)})]}),(0,Z.jsxs)("div",{children:[(0,Z.jsx)("dt",{children:"\u6574\u4F53\u98CE\u9669\u7B49\u7EA7"}),(0,Z.jsx)("dd",{children:e?(0,Z.jsx)(lp,{level:e.overallRiskLevel}):"\u2014"})]})]}),(0,Z.jsxs)("p",{className:"tcw-contract-delete-info",children:[(0,Z.jsx)("i",{className:"ri-information-line","aria-hidden":"true"}),"\u5220\u9664\u5408\u540C\u540E\uFF0C\u5982\u540E\u7EED\u91CD\u65B0\u4E0A\u4F20\u540C\u7F16\u53F7\u5408\u540C\uFF0C\u5C06\u4F5C\u4E3A\u5168\u65B0\u8BB0\u5F55\u5165\u5E93\uFF0C\u4E0D\u8FC1\u79FB\u65E7\u6D3E\u751F\u8BA2\u5355\u4EBA\u5DE5\u6570\u636E\uFF1B\u5DF2\u751F\u6210\u7684\u9500\u552E\u6587\u4EF6\u5386\u53F2\u4FDD\u6301\u4E0D\u53D8\u3002"]})]})})}function DN({review:t,readOnly:e,onChange:n}){return(0,Z.jsxs)(Rt,{columns:3,children:[(0,Z.jsx)(se,{label:"\u5BA2\u6237\u5408\u540C\u7F16\u7801",required:!0,children:(0,Z.jsx)("input",{disabled:e,value:t.contractNo,onChange:r=>n({...t,contractNo:r.target.value})})}),(0,Z.jsx)(se,{label:"\u7B7E\u8BA2\u65E5\u671F",children:(0,Z.jsx)("input",{disabled:e,type:"date",value:t.signedAt??"",onChange:r=>n({...t,signedAt:r.target.value})})}),(0,Z.jsx)(se,{label:"\u4EBA\u6C11\u5E01\u9884\u5BA1\u5408\u540C\u91D1\u989D",children:(0,Z.jsx)("input",{disabled:e,type:"number",min:"0",step:"0.0001",value:t.contractAmountReviewCny??"",onChange:r=>n({...t,contractAmountReviewCny:r.target.value===""?null:r.target.value})})})]})}var ON=[{key:"code",label:"\u5BA2\u6237\u4EE3\u7801"},{key:"name",label:"\u5BA2\u6237\u540D\u79F0",required:!0},{key:"shortName",label:"\u7B80\u79F0"},{key:"country",label:"\u56FD\u522B"},{key:"address",label:"\u5730\u5740",full:!0},{key:"contactName",label:"\u8054\u7CFB\u4EBA"},{key:"phone",label:"\u8054\u7CFB\u7535\u8BDD"},{key:"wechat",label:"\u5FAE\u4FE1"},{key:"email",label:"\u90AE\u7BB1"},{key:"taxNumber",label:"\u7A0E\u53F7"},{key:"paymentAccount",label:"\u6536\u6B3E\u8D26\u53F7"},{key:"bankName",label:"\u5F00\u6237\u884C"},{key:"taxpayerRating",label:"\u7EB3\u7A0E\u7B49\u7EA7"},{key:"website",label:"\u516C\u53F8\u7F51\u7AD9"},{key:"businessProducts",label:"\u7ECF\u8425\u4EA7\u54C1",full:!0}];function LN({value:t,readOnly:e,onChange:n}){return(0,Z.jsx)(Rt,{columns:3,children:ON.map(r=>(0,Z.jsx)(se,{label:r.label,required:r.required,full:r.full,children:(0,Z.jsx)("input",{disabled:e,value:String(t[r.key]??""),onChange:i=>n({...t,[r.key]:i.target.value})})},r.key))})}function _N({clause:t}){return(0,Z.jsxs)("section",{className:"tcw-contract-analysis",children:[(0,Z.jsxs)("p",{children:[(0,Z.jsx)("strong",{children:"\u98CE\u9669\u7B49\u7EA7\uFF1A"}),(0,Z.jsx)(lp,{level:t.analysis.riskLevel})]}),(0,Z.jsxs)("dl",{children:[(0,Z.jsx)("dt",{children:"\u4E2D\u6587\u98CE\u9669\u63D0\u793A"}),(0,Z.jsx)("dd",{children:t.analysis.riskMessageZh||"\u2014"}),(0,Z.jsx)("dt",{children:"\u4E2D\u6587\u4FEE\u6539\u5EFA\u8BAE"}),(0,Z.jsx)("dd",{children:t.analysis.suggestionZh||"\u2014"})]})]})}function lp({level:t}){return(0,Z.jsx)("span",{className:`tcw-contract-risk tcw-contract-risk--${t.toLowerCase()}`,children:N1[t]})}function FN({status:t}){return(0,Z.jsxs)("div",{className:"tcw-contract-summary-cell",children:[(0,Z.jsx)("span",{children:"\u6700\u65B0\u5206\u6790\u4EFB\u52A1"}),(0,Z.jsx)("strong",{className:`tcw-contract-analysis-task tcw-contract-analysis-task--${t==="RUNNING"?"running":t==="FAILED"?"failed":"success"}`,children:t==="RUNNING"?"\u5206\u6790\u4E2D":t==="FAILED"?"\u5931\u8D25":"\u6210\u529F"})]})}function MN({item:t}){return(0,Z.jsxs)("span",{className:"tcw-contract-risk-summary",children:[(0,Z.jsx)(lp,{level:t.overallRiskLevel}),(0,Z.jsxs)("span",{className:`tcw-contract-sanction-text tcw-contract-sanction-text--${t.sanctionStatus.toLowerCase()}`,children:["\u5236\u88C1",P1[t.sanctionStatus]]})]})}function Fo(t){return{...t,customer:{...t.customer},clauses:op.map(e=>({...t.clauses.find(n=>n.clauseType===e)??Ll(e),analysis:{...t.clauses.find(n=>n.clauseType===e)?.analysis??Ll(e).analysis}}))}}function BN(t,e){return t.sourcePreview.kind!=="URL"?e:{...e,sourcePreview:t.sourcePreview}}function Ll(t){return{clauseType:t,extractionStatus:"NOT_FOUND",sourceText:null,reviewedText:"",analysis:{riskLevel:"HIGH",riskMessageZh:"\u5408\u540C\u7F3A\u5C11\u8BE5\u5173\u952E\u6761\u6B3E",suggestionZh:"\u8BF7\u4EBA\u5DE5\u8865\u5145\u5E76\u786E\u8BA4\u8BE5\u5173\u952E\u6761\u6B3E\u3002"}}}function S1(t){let e=Number(t.page)||1,n=t.pageSize??$a,r=Number(t.total)||0;return{page:e,pageSize:n,total:r,pageCount:Math.max(1,Math.ceil(r/n)),items:t.items}}function ap(t,e){if(t.success===!1)throw new Error(t.message||e)}function sp(t,e){return t instanceof Error?t.message:e}function k1(t){return Object.entries(t).map(([e,n])=>({value:e,label:n}))}function wy(t){return I1.find(e=>e.type===t)?.label??t}function F1(t){let e=typeof t=="string"&&t.trim()?Number(t):NaN;return Number.isFinite(e)?`\xA5 ${e.toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2})}`:"\u2014"}function zN(t){return t==null||String(t).trim()===""?"\u2014":String(t)}function A1(t,e){if(!t)throw new Error(`${e}\u4E0D\u80FD\u4E3A\u7A7A`);return t}function T1(t,e){return`${(t??"").length}/${e}`}function _o(t){return t&&typeof t=="object"&&!Array.isArray(t)?t:{}}function Xi(t){return t==null||String(t).trim()===""?null:String(t)}function UN(t){return typeof t=="number"&&Number.isFinite(t)?String(t):typeof t=="string"&&t.trim()?t.trim():null}function di(t,e){if(t)for(let n of e){let r=t[n];if(r!=null&&String(r).trim()!=="")return r}}function R1(t,e,n=""){let r=di(t,e);return r==null?n:String(r)}function E1(t){return t==="HIGH"||t==="MEDIUM"||t==="LOW"?t:"LOW"}function GN(t){return t==="HIT"||t==="CLEAR"?t:"UNCHECKED"}var $n=be(Qt(),1);var L=be(Be(),1),HN=20,jN=[{type:"text",key:"code",label:"\u5BA2\u6237\u4EE3\u7801"},{type:"text",key:"name",label:"\u5BA2\u6237\u540D\u79F0"},{type:"text",key:"country",label:"\u56FD\u5BB6\u5730\u533A"},{type:"select",key:"profitRateStatus",label:"\u9ED8\u8BA4\u5B9A\u4EF7\u5229\u6DA6\u7387\u72B6\u6001",options:[{value:"CONFIGURED",label:"\u5DF2\u7EF4\u62A4"},{value:"MISSING",label:"\u672A\u7EF4\u62A4"}]},{type:"select",key:"sanctionStatus",label:"\u5236\u88C1\u98CE\u9669",options:[{value:"UNCHECKED",label:"\u672A\u68C0\u67E5"},{value:"CLEAR",label:"\u65E0\u547D\u4E2D"},{value:"HIT",label:"\u547D\u4E2D\u63D0\u9192"}]}],$N=[{type:"text",key:"salesOrderNo",label:"\u8BA2\u5355\u53F7"},{type:"text",key:"customerContractNo",label:"\u5BA2\u6237\u5408\u540C\u53F7"},{type:"text",key:"purchaseContractNo",label:"\u91C7\u8D2D\u5408\u540C\u53F7"},{type:"date-range",key:"orderDate",label:"\u4E0B\u5355\u65E5\u671F"},{type:"select",key:"paymentStatus",label:"\u6536\u6B3E\u72B6\u6001",options:[{value:"UNPAID",label:"\u672A\u6536\u6B3E"},{value:"PARTIAL",label:"\u90E8\u5206\u6536\u6B3E"},{value:"PAID",label:"\u5DF2\u6536\u6B3E"}]}],VN=[{type:"text",key:"productName",label:"\u5546\u54C1\u540D\u79F0"},{type:"text",key:"productDescription",label:"\u5546\u54C1\u63CF\u8FF0"},{type:"text",key:"hsCode",label:"HS\u7F16\u7801"},{type:"select",key:"complianceCategory",label:"\u5408\u89C4\u5206\u7C7B",options:[{value:"DUAL_USE",label:"\u519B\u6C11\u4E24\u7528"},{value:"OVERSEAS_SANCTION",label:"\u6D77\u5916\u5236\u88C1"}]}];function WN(t){return{page:(e,n,r,i)=>t(e,{page:n,pageSize:r,filters:i}),pageSize:(e,n,r)=>t(e,{page:1,pageSize:n,filters:r})}}function KN(t,e,n){return{customerContractId:t.customerContractId,purchaseOrderId:t.purchaseOrderId,[e]:n}}async function QN(t,e,n,r,i){let o={customerContractId:t.customerContractId,purchaseOrderId:t.purchaseOrderId,...e,...e.fileType==="CUSTOMS_DECLARATION"?{bankType:void 0}:{bankType:e.bankType}};e.fileType==="CUSTOMS_DECLARATION"&&delete o.bankType;let a=await n("preflight_sales_file",o);if(B1(a))throw new Error(z1(a,"\u9500\u552E\u6587\u4EF6\u751F\u6210\u9884\u68C0\u5931\u8D25"));let s=U1(a),l=Cy(s,"blockingReasons");if(!Ml(s)||s.allowed!==!0||l.length){let d=l.map(p=>typeof p.message=="string"?p.message:"").filter(Boolean);throw new Error(d.join("\uFF1B")||"\u9500\u552E\u6587\u4EF6\u751F\u6210\u9884\u68C0\u672A\u901A\u8FC7")}let c=await n("generate_sales_file",o);if(B1(c))throw new Error(z1(c,"\u9500\u552E\u6587\u4EF6\u751F\u6210\u5931\u8D25"));let u=cP(U1(c));return i(),r?.(t),u}function G1(t){let[e,n]=$n.default.useState({}),[r,i]=$n.default.useState(null),[o,a]=$n.default.useState(null),[s,l]=$n.default.useState(null),[c,u]=$n.default.useState(null),[d,p]=$n.default.useState(null),[h,m]=$n.default.useState(null),f=$n.default.useMemo(()=>qN(t.onAction),[t.onAction]),v=(C,k)=>{let S=ZN(C,k,t.onSalesLineLookup);p(S.query)},g=$n.default.useMemo(()=>WN(t.onQuery),[t.onQuery]),y=(C,k=1,S=e)=>{let E=C==="salesCustomers"?t.customers:C==="salesOrders"?t.orders:t.lines;return g.page(C,k,cp(E).pageSize,S)},w=C=>{n({}),y(C,1,{})};if(t.route.level==="customers"){let C=[{type:"ellipsis",key:"code",header:"\u5BA2\u6237\u4EE3\u7801",width:130},{type:"ellipsis",key:"name",header:"\u5BA2\u6237\u540D\u79F0",width:220,maxWidth:220},{type:"ellipsis",key:"country",header:"\u56FD\u5BB6\u5730\u533A",width:130},{type:"custom",key:"defaultPricingProfitRate",header:"\u9ED8\u8BA4\u5B9A\u4EF7\u5229\u6DA6\u7387",width:150,align:"right",truncate:!1,render:(S,E)=>E.profitRateStatus==="MISSING"?(0,L.jsx)("span",{className:"tcw-tag tcw-tag--warning",children:"\u672A\u7EF4\u62A4"}):qi(E.defaultPricingProfitRate)},{type:"custom",key:"sanctionStatus",header:"\u5236\u88C1\u98CE\u9669",width:120,align:"center",truncate:!1,render:(S,E)=>(0,L.jsx)(H1,{value:E.sanctionStatus})},{type:"text",key:"complianceCheckedAt",header:"\u6700\u8FD1\u68C0\u67E5\u65F6\u95F4",width:170,truncate:!1,format:ut}],k=S=>S.profitRateStatus==="MISSING"?i(S):t.onRouteChange({type:"sales",level:"orders",customerId:S.id});return(0,L.jsxs)("main",{className:"tcw-sales-files-page tcw-sales-page tcw-sales-page--customers",children:[(0,L.jsx)(vy,{title:"\u5BA2\u6237\u4FE1\u606F\u5217\u8868",description:"\u7EF4\u62A4\u9500\u552E\u5BA2\u6237\u4E3B\u4F53\uFF0C\u70B9\u51FB\u8BA2\u5355\u8BE6\u60C5\u8FDB\u5165\u8BE5\u5BA2\u6237\u7684\u9500\u552E\u8BA2\u5355\u5217\u8868\u3002"}),(0,L.jsx)(un,{definitions:jN,values:e,onChange:(S,E)=>n(D=>({...D,[S]:E})),onQuery:()=>{y("salesCustomers")},onReset:()=>w("salesCustomers")}),(0,L.jsx)(Je,{children:"\u5BA2\u6237\u9ED8\u8BA4\u5B9A\u4EF7\u5229\u6DA6\u7387\u4E0D\u80FD\u4E3A\u7A7A\uFF1B\u5236\u88C1\u547D\u4E2D\u53EA\u63D0\u793A\uFF0C\u4E0D\u963B\u6B62\u540E\u7EED\u9500\u552E\u4E1A\u52A1\u3002"}),(0,L.jsx)(ot,{columns:C,rows:t.customers.items,rowKey:"id",pagination:cp(t.customers),onPageChange:S=>{y("salesCustomers",S)},onPageSizeChange:S=>{g.pageSize("salesCustomers",S,e)},emptyText:"\u6682\u65E0\u5BA2\u6237\u6570\u636E",actionWidth:190,actions:S=>(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)("button",{type:"button",onClick:()=>k(S),children:[(0,L.jsx)("i",{className:"ri-file-list-3-line","aria-hidden":"true"}),"\u8BA2\u5355"]}),(0,L.jsxs)("button",{type:"button","aria-label":"\u7EF4\u62A4\u5BA2\u6237\u4FE1\u606F",onClick:()=>a({customer:S,enterOrders:!1}),children:[(0,L.jsx)("i",{className:"ri-user-settings-line","aria-hidden":"true"}),"\u5BA2\u6237\u7EF4\u62A4"]})]})}),(0,L.jsx)(Bt,{open:!!r,title:"\u9ED8\u8BA4\u5229\u6DA6\u7387\u672A\u7EF4\u62A4",message:"\u8BE5\u5BA2\u6237\u5C1A\u672A\u7EF4\u62A4\u9ED8\u8BA4\u5B9A\u4EF7\u5229\u6DA6\u7387\u3002\u662F\u5426\u5148\u7EF4\u62A4\u5229\u6DA6\u7387\u540E\u8FDB\u5165\u8BA2\u5355\u5217\u8868\uFF1F",onCancel:()=>i(null),onConfirm:()=>{r&&a({customer:r,enterOrders:!0}),i(null)}}),o&&(0,L.jsx)(eP,{state:o,busy:t.busy,onClose:()=>a(null),onSave:async S=>{await t.onAction("save_customer_profit_rate",{customerId:o.customer.id,rate:S});let E=o.enterOrders,D=o.customer.id;a(null),E?t.onRouteChange({type:"sales",level:"orders",customerId:D}):y("salesCustomers")}})]})}if(t.route.level==="orders"){let C=t.orders.metrics??{orderCount:0,salesAmountCny:"0",receivedAmountCny:"0",unreceivedAmountCny:"0",currentYearOrderCount:0,currentYearSalesAmountCny:"0",topProducts:[]},k=[{type:"ellipsis",key:"salesOrderNo",header:"\u8BA2\u5355\u53F7",width:170},{type:"ellipsis",key:"customerContractNo",header:"\u5BA2\u6237\u5408\u540C\u53F7",width:170},{type:"ellipsis",key:"purchaseContractNo",header:"\u91C7\u8D2D\u5408\u540C\u53F7",width:170},{type:"text",key:"orderDate",header:"\u4E0B\u5355\u65E5\u671F",width:120,truncate:!1,format:ti},{type:"text",key:"orderAmountCny",header:"\u9500\u552E\u603B\u989D CNY",width:140,align:"right",truncate:!1,format:Dn},{type:"text",key:"receivedAmountCny",header:"\u5DF2\u6536\u6B3E CNY",width:140,align:"right",truncate:!1,format:Dn},{type:"text",key:"unreceivedAmountCny",header:"\u672A\u6536\u6B3E CNY",width:140,align:"right",truncate:!1,format:Dn},{type:"custom",key:"paymentStatus",header:"\u6536\u6B3E\u72B6\u6001",width:110,align:"center",truncate:!1,render:(S,E)=>j1(E.paymentStatus)},{type:"text",key:"effectivePricingProfitRate",header:"\u8BA2\u5355\u5229\u6DA6\u7387",width:120,align:"right",truncate:!1,format:qi},{type:"text",key:"pricingProfitRateSource",header:"\u5229\u6DA6\u7387\u6765\u6E90",width:150,truncate:!1,format:xy}];return(0,L.jsxs)("main",{className:"tcw-sales-files-page tcw-sales-page tcw-sales-page--orders",children:[(0,L.jsxs)("section",{className:"tcw-context-bar",children:[(0,L.jsx)("strong",{children:"\u5BA2\u6237\u6458\u8981"}),(0,L.jsxs)("span",{children:[t.orders.customer?.code||"\u2014"," \xB7 ",t.orders.customer?.name||"\u2014"]}),(0,L.jsx)("span",{children:t.orders.customer?.country||"\u2014"})]}),(0,L.jsx)(vy,{title:"\u9500\u552E\u8BA2\u5355\u5217\u8868",description:"\u67E5\u770B\u5F53\u524D\u5BA2\u6237\u7684\u6D3E\u751F\u9500\u552E\u8BA2\u5355\uFF0C\u70B9\u51FB\u5546\u54C1\u8BE6\u60C5\u8FDB\u5165\u5546\u54C1\u5217\u8868\uFF1B\u53EF\u7EF4\u62A4\u8BA2\u5355\u5B9A\u4EF7\u5229\u6DA6\u7387\u548C\u5DF2\u6536\u6B3E\u3002",action:(0,L.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:()=>t.onRouteChange({type:"sales",level:"customers"}),children:[(0,L.jsx)("i",{className:"ri-arrow-left-line","aria-hidden":"true"}),"\u8FD4\u56DE\u5BA2\u6237\u4FE1\u606F\u5217\u8868"]})}),(0,L.jsx)("section",{className:"tcw-metric-grid",children:[["\u8BA2\u5355\u603B\u6570",String(C.orderCount)],["\u9500\u552E\u603B\u989D",Dn(C.salesAmountCny)],["\u5DF2\u6536\u6B3E",Dn(C.receivedAmountCny)],["\u672A\u6536\u6B3E",Dn(C.unreceivedAmountCny)]].map(([S,E])=>(0,L.jsxs)("article",{children:[(0,L.jsx)("span",{children:S}),(0,L.jsx)("strong",{children:E}),(0,L.jsx)("small",{children:S==="\u8BA2\u5355\u603B\u6570"?"\u7B14":"CNY"})]},S))}),(0,L.jsx)(un,{definitions:$N,values:e,onChange:(S,E)=>n(D=>({...D,[S]:E})),onQuery:()=>{y("salesOrders")},onReset:()=>w("salesOrders")}),(0,L.jsx)(ot,{columns:k,rows:t.orders.items,rowKey:S=>`${S.customerContractId}:${S.purchaseOrderId}`,pagination:cp(t.orders),onPageChange:S=>{y("salesOrders",S)},onPageSizeChange:S=>{g.pageSize("salesOrders",S,e)},emptyText:"\u6682\u65E0\u9500\u552E\u8BA2\u5355",actionWidth:360,actions:S=>(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)("button",{type:"button",onClick:()=>t.onRouteChange({type:"sales",level:"lines",customerId:S.customerId,orderKey:`${S.customerContractId}:${S.purchaseOrderId}`}),children:[(0,L.jsx)("i",{className:"ri-list-check-2","aria-hidden":"true"}),"\u5546\u54C1\u8BE6\u60C5"]}),(0,L.jsxs)("button",{type:"button","aria-label":"\u7EF4\u62A4\u9500\u552E\u8BA2\u5355\u6570\u636E",onClick:E=>{_l(E.currentTarget),l({order:S,field:"pricingProfitRateOverride"})},children:[(0,L.jsx)("i",{className:"ri-percent-line","aria-hidden":"true"}),"\u5229\u6DA6\u7387"]}),(0,L.jsxs)("button",{type:"button",onClick:E=>{_l(E.currentTarget),l({order:S,field:"receivedAmountCny"})},children:[(0,L.jsx)("i",{className:"ri-money-cny-circle-line","aria-hidden":"true"}),"\u6536\u6B3E"]}),(0,L.jsxs)("button",{type:"button","aria-label":"\u751F\u6210\u9500\u552E\u6587\u4EF6",onClick:E=>{_l(E.currentTarget),u(S)},children:[(0,L.jsx)("i",{className:"ri-file-excel-2-line","aria-hidden":"true"}),"\u751F\u6210\u6587\u4EF6"]})]})}),s&&(0,L.jsx)(tP,{state:s,busy:t.busy,onClose:()=>l(null),onSave:async S=>{let{order:E,field:D}=s;await t.onAction("save_derived_manual_data",KN(E,D,S)),l(null),y("salesOrders")}}),c&&(0,L.jsx)(nP,{order:c,busy:t.busy,onClose:()=>u(null),onConfirm:async S=>{try{let E=await QN(c,S,t.onAction,t.onOpenFiles,()=>u(null)),D=E.map(O=>`${O.field}\uFF1A${O.sourceValue}\uFF08${O.message}\uFF09`).join("\uFF1B");t.onNotify?.({message:E.length?`\u9500\u552E\u6587\u4EF6\u751F\u6210\u6210\u529F\uFF0C\u4F46\u90E8\u5206\u5B57\u6BB5\u7FFB\u8BD1\u5931\u8D25\uFF1A${D}`:"\u9500\u552E\u6587\u4EF6\u751F\u6210\u6210\u529F",tone:E.length?"warning":"success"})}catch(E){t.onNotify?.({message:E instanceof Error?E.message:"\u9500\u552E\u6587\u4EF6\u751F\u6210\u5931\u8D25",tone:"error"})}}})]})}let b=t.lines.order,x=[{type:"custom",key:"productName",header:"\u5546\u54C1\u540D\u79F0",width:190,title:(C,k)=>k.productName||void 0,render:(C,k)=>(0,L.jsxs)("button",{type:"button",className:"tcw-table-link",title:k.productName,"aria-label":`\u6309\u5546\u54C1\u540D\u79F0\u67E5\u8BE2\u6D77\u5173\u7F16\u7801\uFF1A${k.productName}`,onClick:()=>v(k,"PRODUCT_NAME"),children:[(0,L.jsx)("i",{className:"ri-search-line","aria-hidden":"true"}),k.productName]})},{type:"ellipsis",key:"productDescription",header:"\u5546\u54C1\u63CF\u8FF0",width:190,maxWidth:190},{type:"ellipsis",key:"modelSpecification",header:"\u89C4\u683C\u578B\u53F7",width:150},{type:"custom",key:"hsCode",header:"HS\u7F16\u7801",width:130,title:(C,k)=>k.hsCode||void 0,render:(C,k)=>k.hsCode?(0,L.jsxs)("button",{type:"button",className:"tcw-table-link",title:k.hsCode,"aria-label":`\u67E5\u8BE2\u6D77\u5173\u7F16\u7801\uFF1A${k.hsCode}`,onClick:()=>v(k,"HS_CODE"),children:[(0,L.jsx)("i",{className:"ri-search-line","aria-hidden":"true"}),k.hsCode]}):"\u2014"},{type:"text",key:"vatRate",header:"\u589E\u503C\u7A0E\u7387",width:100,align:"right",truncate:!1,format:qi},{type:"text",key:"refundRate",header:"\u9000\u7A0E\u7387",width:90,align:"right",truncate:!1,format:qi},{type:"custom",key:"complianceCategories",header:"\u5408\u89C4\u5206\u7C7B",width:170,title:(C,k)=>oP(k.complianceCategories),render:(C,k)=>(0,L.jsx)(iP,{values:k.complianceCategories??[]})},{type:"custom",key:"complianceMatches",header:"\u7BA1\u63A7\u98CE\u9669\u7ED3\u679C",width:160,align:"center",truncate:!1,render:(C,k)=>k.complianceMatches.length?(0,L.jsxs)("button",{type:"button",className:"tcw-sales-risk-status tcw-sales-risk-status--hit",title:`\u67E5\u770B\u5546\u54C1\u98CE\u9669\u660E\u7EC6\uFF1A${k.productName}`,"aria-label":`\u67E5\u770B\u5546\u54C1\u98CE\u9669\u660E\u7EC6\uFF1A${k.productName}`,onClick:S=>{_l(S.currentTarget),m(k)},children:[(0,L.jsx)("i",{className:"ri-error-warning-line","aria-hidden":"true"}),"\u547D\u4E2D ",k.complianceMatches.length]}):(0,L.jsx)("span",{className:"tcw-sales-risk-status tcw-sales-risk-status--clear",children:"\u65E0\u547D\u4E2D"})},{type:"text",key:"quantity",header:"\u6570\u91CF",width:100,align:"right",truncate:!1},{type:"text",key:"salesUnitPriceCny",header:"\u9500\u552E\u5355\u4EF7 CNY",width:140,align:"right",truncate:!1,format:Dn},{type:"text",key:"salesLineAmountCny",header:"\u9500\u552E\u91D1\u989D CNY",width:140,align:"right",truncate:!1,format:Dn}];return(0,L.jsxs)("main",{className:"tcw-sales-files-page tcw-sales-page tcw-sales-page--lines",children:[(0,L.jsx)(vy,{className:"tcw-sales-heading--lines",title:"\u9500\u552E\u5546\u54C1\u5217\u8868",description:"\u53EA\u8BFB\u67E5\u770B\u5F53\u524D\u9500\u552E\u8BA2\u5355\u7684\u6D3E\u751F\u5546\u54C1\u3001\u98CE\u9669\u5339\u914D\u4E0E\u9500\u552E\u91D1\u989D\u3002"}),(0,L.jsxs)("section",{className:"tcw-context-bar tcw-order-summary",children:[(0,L.jsx)("strong",{children:b?.salesOrderNo??"\u9500\u552E\u5546\u54C1"}),(0,L.jsx)("span",{children:b?.customerContractNo}),(0,L.jsx)("span",{children:b?.purchaseContractNo})]}),b&&(0,L.jsxs)(Je,{children:[xy(b.pricingProfitRateSource),"\uFF1A\u5F53\u524D\u9500\u552E\u4EF7\u683C\u6309 ",qi(b.effectivePricingProfitRate)," \u8BA1\u7B97\u3002"]}),(0,L.jsx)(un,{definitions:VN,values:e,onChange:(C,k)=>n(S=>({...S,[C]:k})),onQuery:()=>{y("salesLines")},onReset:()=>w("salesLines")}),(0,L.jsx)(ot,{columns:x,rows:t.lines.items,rowKey:"purchaseOrderLineId",pagination:cp(t.lines),onPageChange:C=>{y("salesLines",C)},onPageSizeChange:C=>{g.pageSize("salesLines",C,e)},emptyText:"\u6682\u65E0\u6D3E\u751F\u9500\u552E\u5546\u54C1",actionWidth:110,actions:C=>(0,L.jsxs)("button",{type:"button","aria-label":`\u67E5\u770B\u98CE\u9669\uFF1A${C.productName}`,onClick:k=>{_l(k.currentTarget),m(C)},children:[(0,L.jsx)("i",{className:"ri-shield-check-line","aria-hidden":"true"}),"\u67E5\u770B\u98CE\u9669"]})}),h&&(0,L.jsx)(JN,{line:h,onClose:()=>m(null)}),(0,L.jsx)(ol,{open:d!==null,initialQuery:d??"",onAction:f,onClose:()=>p(null)})]})}function YN(t,e){return e==="productName"?t.productName:t.hsCode??""}function _l(t){t.closest(".tcw-main")?.scrollTo({top:0,left:0,behavior:"auto"})}function XN(t,e){return{type:"HS_CODE_LOOKUP",field:e,query:YN(t,e==="PRODUCT_NAME"?"productName":"hsCode"),purchaseOrderLineId:t.purchaseOrderLineId}}function ZN(t,e,n){let r=XN(t,e);return n?.(r),r}function qN(t){return(e,n)=>e!=="search_hs_code"&&e!=="get_hs_code_detail"?Promise.resolve({success:!1,message:"\u9500\u552E\u5546\u54C1\u4EC5\u652F\u6301\u6D77\u5173\u7F16\u7801\u67E5\u8BE2"}):t(e,n)}function JN({line:t,onClose:e}){let n=[...new Set([...t.complianceCategories??[],...t.complianceMatches.map(l=>l.catalogType)])],r=M1(t.complianceMatches,"riskDescription"),i=M1(t.complianceMatches,"recommendation"),o=[...new Set(t.complianceMatches.map(l=>l.matchedItemName||l.controlledGoodsId).filter(l=>!!l))],a=t.complianceMatches.map((l,c)=>({...l,sequence:c+1,rowKey:`${l.controlledGoodsId??l.catalogType}-${c}`})),s=[{type:"text",key:"sequence",header:"\u5E8F\u53F7",width:70,align:"right",truncate:!1},{type:"text",key:"catalogType",header:"\u76EE\u5F55\u7C7B\u578B",width:120,truncate:!1,format:l=>up(l)},{type:"text",key:"matchedItem",header:"\u547D\u4E2D\u6761\u76EE",width:220,maxWidth:220,accessor:l=>l.matchedItemName||l.controlledGoodsId||"\u6682\u65E0"},{type:"text",key:"matchMethod",header:"\u5339\u914D\u65B9\u5F0F",width:150,truncate:!1,format:l=>aP(l)},{type:"text",key:"similarityScore",header:"\u76F8\u4F3C\u5EA6",width:100,align:"right",truncate:!1,format:l=>sP(l)}];return(0,L.jsx)(_e,{open:!0,title:"\u5546\u54C1\u98CE\u9669\u8BE6\u60C5",size:"wide",onClose:e,footer:(0,L.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",onClick:e,children:[(0,L.jsx)("i",{className:"ri-check-line","aria-hidden":"true"}),"\u6807\u8BB0\u5DF2\u9605"]}),children:(0,L.jsxs)("div",{className:"tcw-sales-risk-dialog",children:[(0,L.jsxs)("section",{"aria-labelledby":"sales-product-summary-title",children:[(0,L.jsx)("h3",{id:"sales-product-summary-title",children:"\u5546\u54C1\u4E0E\u4EF7\u683C"}),(0,L.jsxs)("dl",{className:"tcw-preflight-summary",children:[(0,L.jsxs)("div",{children:[(0,L.jsx)("dt",{children:"\u5546\u54C1\u540D\u79F0"}),(0,L.jsx)("dd",{children:t.productName})]}),(0,L.jsxs)("div",{children:[(0,L.jsx)("dt",{children:"\u82F1\u6587\u540D\u79F0"}),(0,L.jsx)("dd",{children:t.englishName||"\u6682\u65E0"})]}),(0,L.jsxs)("div",{children:[(0,L.jsx)("dt",{children:"HS\u7F16\u7801"}),(0,L.jsx)("dd",{children:t.hsCode||"\u6682\u65E0"})]}),(0,L.jsxs)("div",{children:[(0,L.jsx)("dt",{children:"\u6570\u91CF"}),(0,L.jsxs)("dd",{children:[t.quantity,t.unit?` ${t.unit}`:""]})]}),(0,L.jsxs)("div",{children:[(0,L.jsx)("dt",{children:"\u9500\u552E\u5355\u4EF7"}),(0,L.jsxs)("dd",{children:[Dn(t.salesUnitPriceCny)," CNY"]})]}),(0,L.jsxs)("div",{children:[(0,L.jsx)("dt",{children:"\u9500\u552E\u91D1\u989D"}),(0,L.jsxs)("dd",{children:[Dn(t.salesLineAmountCny)," CNY"]})]}),(0,L.jsxs)("div",{children:[(0,L.jsx)("dt",{children:"\u5546\u54C1\u63CF\u8FF0"}),(0,L.jsx)("dd",{children:t.productDescription||"\u6682\u65E0"})]}),(0,L.jsxs)("div",{children:[(0,L.jsx)("dt",{children:"\u89C4\u683C\u578B\u53F7"}),(0,L.jsx)("dd",{children:t.modelSpecification||"\u6682\u65E0"})]})]})]}),(0,L.jsxs)("section",{"aria-labelledby":"sales-product-risk-title",children:[(0,L.jsx)("h3",{id:"sales-product-risk-title",children:"\u98CE\u9669\u8BF4\u660E"}),(0,L.jsxs)("dl",{className:"tcw-preflight-summary",children:[(0,L.jsxs)("div",{children:[(0,L.jsx)("dt",{children:"\u98CE\u9669\u7C7B\u578B"}),(0,L.jsx)("dd",{children:n.length?n.map(up).join("\u3001"):"\u65E0"})]}),(0,L.jsxs)("div",{children:[(0,L.jsx)("dt",{children:"\u547D\u4E2D\u5408\u89C4\u5206\u7C7B"}),(0,L.jsx)("dd",{children:n.length?n.map(up).join("\u3001"):"\u65E0"})]}),(0,L.jsxs)("div",{className:"tcw-sales-risk-result",children:[(0,L.jsx)("dt",{children:"\u7BA1\u63A7\u98CE\u9669\u7ED3\u679C"}),(0,L.jsx)("dd",{children:t.complianceMatches.length?`\u547D\u4E2D ${t.complianceMatches.length} \u9879`:"\u65E0\u547D\u4E2D"})]}),(0,L.jsxs)("div",{className:"tcw-sales-match-result",children:[(0,L.jsx)("dt",{children:"\u5339\u914D\u7ED3\u679C"}),(0,L.jsx)("dd",{children:o.length?o.join("\u3001"):"\u65E0\u5339\u914D"})]}),(0,L.jsxs)("div",{children:[(0,L.jsx)("dt",{children:"\u547D\u4E2D\u7ED3\u679C"}),(0,L.jsx)("dd",{children:t.complianceMatches.length?`\u547D\u4E2D ${t.complianceMatches.length} \u9879`:"\u65E0\u547D\u4E2D"})]}),(0,L.jsxs)("div",{children:[(0,L.jsx)("dt",{children:"\u98CE\u9669\u8BF4\u660E"}),(0,L.jsx)("dd",{children:r.length?r.join("\uFF1B"):"\u6682\u65E0"})]}),(0,L.jsxs)("div",{children:[(0,L.jsx)("dt",{children:"\u5904\u7406\u5EFA\u8BAE"}),(0,L.jsx)("dd",{children:i.length?i.join("\uFF1B"):"\u6682\u65E0"})]})]})]}),(0,L.jsxs)("section",{"aria-labelledby":"sales-product-match-title",children:[(0,L.jsx)("h3",{id:"sales-product-match-title",children:"\u7BA1\u63A7/\u5236\u88C1\u5339\u914D\u660E\u7EC6"}),a.length?(0,L.jsx)(ot,{columns:s,rows:a,rowKey:"rowKey"}):(0,L.jsx)("p",{children:"\u6682\u65E0"})]})]})})}function vy({title:t,description:e,action:n,className:r=""}){return(0,L.jsxs)("header",{className:`tcw-sales-heading ${r}`.trim(),children:[(0,L.jsxs)("div",{children:[(0,L.jsx)("h2",{className:"tcw-list-heading",children:t}),(0,L.jsx)("p",{children:e})]}),n]})}function eP({state:t,busy:e,onClose:n,onSave:r}){let i=t.customer,[o,a]=$n.default.useState(i.defaultPricingProfitRate??""),s=[["\u5BA2\u6237\u4EE3\u7801",i.code],["\u5BA2\u6237\u540D\u79F0",i.name],["\u7B80\u79F0",i.shortName],["\u56FD\u5BB6/\u5730\u533A",i.country],["\u8054\u7CFB\u4EBA",i.contactName],["\u8054\u7CFB\u7535\u8BDD",i.phone],["\u5FAE\u4FE1",i.wechat],["\u90AE\u7BB1",i.email],["\u5BA2\u6237\u5730\u5740",i.address],["\u7A0E\u53F7",i.taxNumber],["\u6536\u6B3E\u8D26\u53F7",i.paymentAccount],["\u5F00\u6237\u884C",i.bankName],["\u7EB3\u7A0E\u7B49\u7EA7",i.taxpayerRating],["\u7F51\u7AD9",i.website],["\u7ECF\u8425\u4EA7\u54C1",i.businessProducts]];return(0,L.jsx)(_e,{open:!0,title:"\u7EF4\u62A4\u5BA2\u6237\u4FE1\u606F",size:"wide",onClose:n,footer:(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:n,children:[(0,L.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u53D6\u6D88"]}),(0,L.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:e||!$1(o),onClick:()=>{r(o)},children:[(0,L.jsx)("i",{className:"ri-save-line","aria-hidden":"true"}),"\u4FDD\u5B58"]})]}),children:(0,L.jsxs)("div",{className:"tcw-sales-customer-dialog",children:[(0,L.jsx)("section",{children:(0,L.jsxs)(Rt,{columns:2,children:[s.map(([l,c])=>(0,L.jsx)(se,{label:l,children:(0,L.jsx)("input",{disabled:!0,value:Fl(c)})},l)),(0,L.jsxs)(se,{label:"\u9ED8\u8BA4\u5B9A\u4EF7\u5229\u6DA6\u7387",required:!0,full:!0,children:[(0,L.jsx)("input",{type:"number",min:"0",step:"0.0001",value:o,onChange:l=>a(l.target.value)}),(0,L.jsx)("small",{children:"\u8BF7\u8F93\u5165\u5C0F\u6570\uFF0C\u4F8B\u5982 0.08 \u8868\u793A 8%\u3002"})]})]})}),(0,L.jsxs)("aside",{children:[(0,L.jsxs)("dl",{children:[(0,L.jsx)(Wt,{label:"\u5236\u88C1\u98CE\u9669",value:(0,L.jsx)(H1,{value:i.sanctionStatus})}),(0,L.jsx)(Wt,{label:"\u6700\u8FD1\u68C0\u67E5\u65F6\u95F4",value:by(i.complianceCheckedAt)}),(0,L.jsx)(Wt,{label:"\u521B\u5EFA\u4EBA",value:Fl(i.createdByName??i.createdById)}),(0,L.jsx)(Wt,{label:"\u521B\u5EFA\u65F6\u95F4",value:by(i.createdAt)}),(0,L.jsx)(Wt,{label:"\u6700\u540E\u7F16\u8F91\u4EBA",value:Fl(i.updatedByName??i.updatedById)}),(0,L.jsx)(Wt,{label:"\u6700\u540E\u7F16\u8F91\u65F6\u95F4",value:by(i.updatedAt)})]}),(0,L.jsx)(se,{label:"\u5907\u6CE8",children:(0,L.jsx)("textarea",{disabled:!0,rows:6,value:Fl(i.remarks)})})]}),(0,L.jsx)(Je,{children:"\u5BA2\u6237\u4E3B\u6863\u4FE1\u606F\u6765\u81EA\u9500\u552E\u5BA2\u6237\u8BB0\u5F55\uFF0C\u4EC5\u9ED8\u8BA4\u5B9A\u4EF7\u5229\u6DA6\u7387\u53EF\u5728\u6B64\u7EF4\u62A4\uFF1B\u5236\u88C1\u98CE\u9669\u53EA\u63D0\u793A\uFF0C\u4E0D\u963B\u6B62\u9500\u552E\u4E1A\u52A1\u7EE7\u7EED\u3002"})]})})}function tP({state:t,busy:e,onClose:n,onSave:r}){let i=t.field==="receivedAmountCny",o=t.order,[a,s]=$n.default.useState(i?o.receivedAmountCny:o.pricingProfitRateSource==="ORDER_OVERRIDE"?o.effectivePricingProfitRate:""),l=i?!lP(a)||Number(a)>Number(o.orderAmountCny):a!==""&&!$1(a);return(0,L.jsx)(_e,{open:!0,title:"\u7EF4\u62A4\u9500\u552E\u8BA2\u5355\u6570\u636E",size:"wide",onClose:n,footer:(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:n,children:[(0,L.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u53D6\u6D88"]}),(0,L.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:e||l,onClick:()=>{r(a)},children:[(0,L.jsx)("i",{className:"ri-save-line","aria-hidden":"true"}),"\u4FDD\u5B58"]})]}),children:(0,L.jsxs)("div",{className:"tcw-sales-order-dialog",children:[(0,L.jsx)("section",{children:(0,L.jsxs)(Rt,{columns:1,children:[(0,L.jsx)(se,{label:"\u9500\u552E\u8BA2\u5355\u7F16\u53F7",children:(0,L.jsx)("input",{disabled:!0,value:o.salesOrderNo})}),(0,L.jsx)(se,{label:"\u5BA2\u6237\u5408\u540C\u7F16\u53F7",children:(0,L.jsx)("input",{disabled:!0,value:o.customerContractNo})}),(0,L.jsx)(se,{label:"\u91C7\u8D2D\u5408\u540C\u7F16\u53F7",children:(0,L.jsx)("input",{disabled:!0,value:o.purchaseContractNo})}),(0,L.jsx)(se,{label:"\u8BA2\u5355\u65E5\u671F",children:(0,L.jsx)("input",{disabled:!0,value:Fl(o.orderDate)})}),(0,L.jsx)(se,{label:"\u5E01\u79CD",children:(0,L.jsx)("input",{disabled:!0,value:o.currencyCode})}),(0,L.jsx)(se,{label:"\u8BA2\u5355\u5B9A\u4EF7\u5229\u6DA6\u7387\u8986\u76D6\u503C",hint:i?void 0:"\u7559\u7A7A\u7EE7\u627F\u5BA2\u6237\u9ED8\u8BA4\u5B9A\u4EF7\u5229\u6DA6\u7387",children:(0,L.jsx)("input",{type:"number",min:"0",step:"0.0001",disabled:i,value:i?o.pricingProfitRateSource==="ORDER_OVERRIDE"?o.effectivePricingProfitRate:"":a,onChange:c=>s(c.target.value)})}),(0,L.jsx)(se,{label:"\u6709\u6548\u5B9A\u4EF7\u5229\u6DA6\u7387(\u81EA\u52A8\u8BA1\u7B97)",children:(0,L.jsx)("input",{disabled:!0,value:qi(i?o.effectivePricingProfitRate:a||o.effectivePricingProfitRate)})}),(0,L.jsx)(se,{label:"\u5DF2\u6536\u6B3E\u91D1\u989D(\u4EBA\u6C11\u5E01)",children:(0,L.jsx)("input",{type:"number",min:"0",max:o.orderAmountCny,step:"0.01",disabled:!i,value:i?a:o.receivedAmountCny,onChange:c=>s(c.target.value)})})]})}),(0,L.jsxs)("aside",{children:[(0,L.jsxs)("dl",{children:[(0,L.jsx)(Wt,{label:"\u9500\u552E\u8BA2\u5355\u603B\u989D\uFF08\u4EBA\u6C11\u5E01\uFF09",value:Dn(o.orderAmountCny)}),(0,L.jsx)(Wt,{label:"\u5DF2\u6536\u6B3E\u91D1\u989D(\u4EBA\u6C11\u5E01)",value:Dn(i?a:o.receivedAmountCny)}),(0,L.jsx)(Wt,{label:"\u672A\u6536\u6B3E\uFF08\u4EBA\u6C11\u5E01\uFF09",value:Dn(i?Math.max(Number(o.orderAmountCny)-Number(a||0),0):o.unreceivedAmountCny)}),(0,L.jsx)(Wt,{label:"\u56DE\u6B3E\u72B6\u6001",value:j1(o.paymentStatus)}),(0,L.jsx)(Wt,{label:"\u6240\u5C5E\u5BA2\u6237",value:o.customerName}),(0,L.jsx)(Wt,{label:"\u6709\u6548\u5B9A\u4EF7\u5229\u6DA6\u7387",value:qi(i?o.effectivePricingProfitRate:a||o.effectivePricingProfitRate)}),(0,L.jsx)(Wt,{label:"\u6570\u636E\u6765\u6E90",value:`${xy(o.pricingProfitRateSource)} + \u4EBA\u5DE5\u7EF4\u62A4`})]}),(0,L.jsx)(Je,{children:"\u5DF2\u6536\u6B3E\u91D1\u989D\u4E0D\u5F97\u5927\u4E8E\u9500\u552E\u8BA2\u5355\u603B\u989D\uFF1B\u4FEE\u6539\u4FDD\u5B58\u540E\u5373\u65F6\u5F71\u54CD\u8BA2\u5355\u8BA1\u7B97\u4E0E\u62A5\u8868\u5C55\u793A\u3002"})]}),i&&Number(a)>Number(o.orderAmountCny)&&(0,L.jsx)(ct,{children:"\u5DF2\u6536\u6B3E\u4E0D\u5F97\u8D85\u8FC7\u5B9E\u65F6\u8BA2\u5355\u603B\u989D\u3002"})]})})}function nP({order:t,busy:e,initialFileType:n="PI_CI_PL",onClose:r,onConfirm:i}){let[o,a]=$n.default.useState({fileType:n,bankType:"OVERSEAS_CNY",templateVersion:"DEFAULT_V1_2",fileNumber:`SF-${t.salesOrderNo}`,remarks:""}),s=(u,d)=>a(p=>({...p,[u]:d})),l=rP(o.fileType),c=o.fileType!=="CUSTOMS_DECLARATION";return(0,L.jsx)(_e,{open:!0,title:"\u751F\u6210\u9500\u552E\u6587\u4EF6",size:"wide",onClose:r,footer:(0,L.jsxs)(L.Fragment,{children:[(0,L.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:r,children:[(0,L.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u53D6\u6D88"]}),(0,L.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:e||!o.fileNumber.trim(),onClick:()=>{i(o)},children:[(0,L.jsx)("i",{className:"ri-file-add-line","aria-hidden":"true"}),"\u786E\u8BA4\u751F\u6210"]})]}),children:(0,L.jsxs)("div",{className:"tcw-sales-generate-dialog",children:[(0,L.jsxs)("dl",{className:"tcw-sales-generate-summary",children:[(0,L.jsx)(Wt,{label:"\u5BA2\u6237\u540D\u79F0",value:t.customerName}),(0,L.jsx)(Wt,{label:"\u9500\u552E\u8BA2\u5355\u7F16\u53F7",value:t.salesOrderNo}),(0,L.jsx)(Wt,{label:"\u5BA2\u6237\u5408\u540C\u7F16\u53F7",value:t.customerContractNo}),(0,L.jsx)(Wt,{label:"\u9500\u552E\u8BA2\u5355\u603B\u989D\uFF08\u4EBA\u6C11\u5E01\uFF09",value:Dn(t.orderAmountCny)}),(0,L.jsx)(Wt,{label:"\u6709\u6548\u5B9A\u4EF7\u5229\u6DA6\u7387",value:qi(t.effectivePricingProfitRate)})]}),(0,L.jsxs)("div",{className:"tcw-sales-generate-content",children:[(0,L.jsxs)("section",{children:[(0,L.jsx)(se,{label:"\u6587\u4EF6\u7C7B\u578B",required:!0,children:(0,L.jsxs)("select",{value:o.fileType,onChange:u=>s("fileType",u.target.value),children:[(0,L.jsx)("option",{value:"PI_CI_PL",children:"PI/CI/PL"}),(0,L.jsx)("option",{value:"PI",children:"PI"}),(0,L.jsx)("option",{value:"CI",children:"CI"}),(0,L.jsx)("option",{value:"PL",children:"PL"}),(0,L.jsx)("option",{value:"CUSTOMS_DECLARATION",children:"\u62A5\u5173\u5355"})]})}),c&&(0,L.jsx)(se,{label:"\u94F6\u884C\u4FE1\u606F",required:!0,children:(0,L.jsxs)("select",{value:o.bankType,onChange:u=>s("bankType",u.target.value),children:[(0,L.jsx)("option",{value:"OVERSEAS_CNY",children:"\u5883\u5916\u4EBA\u6C11\u5E01\u8D26\u6237"}),(0,L.jsx)("option",{value:"OVERSEAS_USD",children:"\u5883\u5916\u7F8E\u5143\u8D26\u6237"})]})}),(0,L.jsx)(se,{label:"\u6A21\u677F\u7248\u672C",required:!0,children:(0,L.jsx)("select",{value:o.templateVersion,onChange:u=>s("templateVersion",u.target.value),children:(0,L.jsx)("option",{value:"DEFAULT_V1_2",children:"\u9ED8\u8BA4\u6A21\u677F v1.2"})})}),(0,L.jsx)(se,{label:"\u6587\u4EF6\u7F16\u53F7",required:!0,children:(0,L.jsx)("input",{value:o.fileNumber,onChange:u=>s("fileNumber",u.target.value)})}),(0,L.jsx)(se,{label:"\u5907\u6CE8",children:(0,L.jsx)("textarea",{rows:3,maxLength:200,placeholder:"\u8BF7\u8F93\u5165\u5907\u6CE8\uFF08\u53EF\u9009\uFF0C\u81EA\u5B9A\u4E49\u8BF4\u660E\uFF09",value:o.remarks,onChange:u=>s("remarks",u.target.value)})})]}),(0,L.jsxs)("aside",{children:[(0,L.jsx)("h3",{children:"\u751F\u6210\u9884\u89C8"}),(0,L.jsx)("p",{children:"\u7CFB\u7EDF\u5C06\u57FA\u4E8E\u6240\u9009\u4FE1\u606F\u751F\u6210\u4EE5\u4E0B\u6587\u4EF6\uFF1A"}),(0,L.jsx)("ul",{children:l.map(u=>(0,L.jsxs)("li",{children:[(0,L.jsx)("i",{className:"ri-file-text-line","aria-hidden":"true"}),u.label]},u.type))})]})]}),(0,L.jsx)(ct,{children:"\u7CFB\u7EDF\u5C06\u81EA\u52A8\u5E26\u51FA\u5BA2\u6237\u4FE1\u606F\u3001\u8BA2\u5355\u5546\u54C1\u3001\u6709\u6548\u5B9A\u4EF7\u5229\u6DA6\u7387\u4E0E\u56DE\u6B3E\u4FE1\u606F\uFF0C\u751F\u6210\u540E\u8BF7\u5230\u9500\u552E\u6587\u4EF6\u7BA1\u7406\u67E5\u770B\u548C\u4E0B\u8F7D\u3002"})]})})}function rP(t){let e=[{type:"PI",label:"Proforma Invoice\uFF08\u5F62\u5F0F\u53D1\u7968\uFF09"},{type:"CI",label:"Commercial Invoice\uFF08\u5546\u4E1A\u53D1\u7968\uFF09"},{type:"PL",label:"Packing List\uFF08\u88C5\u7BB1\u5355\uFF09"},{type:"CUSTOMS_DECLARATION",label:"\u62A5\u5173\u5355"}];return t==="PI_CI_PL"?e.filter(n=>n.type!=="CUSTOMS_DECLARATION"):e.filter(n=>n.type===t)}function Wt({label:t,value:e}){return(0,L.jsxs)("div",{children:[(0,L.jsx)("dt",{children:t}),(0,L.jsx)("dd",{children:e})]})}function Fl(t){return t==null||t===""?"\u2014":String(t)}function by(t){return t?new Date(String(t)).toLocaleString("zh-CN"):"\u2014"}function H1({value:t}){return(0,L.jsx)("span",{className:`tcw-tag${t==="HIT"?" tcw-tag--danger":t==="UNCHECKED"?" tcw-tag--warning":""}`,children:t==="HIT"?"\u547D\u4E2D\u63D0\u9192":t==="CLEAR"?"\u65E0\u547D\u4E2D":"\u672A\u68C0\u67E5"})}function iP({values:t}){return(0,L.jsx)("div",{className:"tcw-tag-list",children:t.length?t.map(e=>(0,L.jsx)("span",{className:"tcw-tag",children:e==="DUAL_USE"?"\u519B\u6C11\u4E24\u7528":"\u6D77\u5916\u5236\u88C1"},e)):(0,L.jsx)("span",{children:"\u2014"})})}function up(t){return t==="DUAL_USE"?"\u519B\u6C11\u4E24\u7528":"\u6D77\u5916\u5236\u88C1"}function oP(t){return t?.length?t.map(up).join("\u3001"):void 0}function cp(t){let e=t.pageSize??HN,n=t.total??0;return{total:n,page:t.page??1,pageSize:e,pageCount:Math.max(1,Math.ceil(n/e))}}function Dn(t){let e=Number(t);return Number.isFinite(e)?e.toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2}):"\u2014"}function qi(t){let e=Number(t);return Number.isFinite(e)?`${(e*100).toFixed(2)}%`:"\u2014"}function j1(t){return t==="PAID"?"\u5DF2\u6536\u6B3E":t==="PARTIAL"?"\u90E8\u5206\u6536\u6B3E":"\u672A\u6536\u6B3E"}function xy(t){return t==="ORDER_OVERRIDE"?"\u8BA2\u5355\u5355\u72EC\u5229\u6DA6\u7387":"\u7EE7\u627F\u5BA2\u6237\u9ED8\u8BA4\u5229\u6DA6\u7387"}function aP(t){return t==="HS_CODE_EXACT"?"\u6D77\u5173\u7F16\u7801\u7CBE\u786E\u5339\u914D":t==="NAME_CONTAINS"?"\u5546\u54C1\u540D\u79F0\u5305\u542B\u5339\u914D":"\u540D\u79F0\u76F8\u4F3C\u5EA6\u5339\u914D"}function sP(t){let e=Number(t);return t!=null&&t!==""&&Number.isFinite(e)?`${(e*100).toFixed(2)}%`:"\u6682\u65E0"}function M1(t,e){return[...new Set(t.map(n=>n[e]?.trim()).filter(n=>!!n))]}function $1(t){return t.trim()!==""&&Number.isFinite(Number(t))&&Number(t)>=0}function lP(t){return t.trim()!==""&&Number.isFinite(Number(t))&&Number(t)>=0}function B1(t){return!!(t&&typeof t=="object"&&"success"in t&&t.success===!1)}function z1(t,e){return t.message||t.error?.message||e}function Ml(t){return!!(t&&typeof t=="object"&&!Array.isArray(t))}function U1(t){return Ml(t)&&"data"in t?t.data:t}function Cy(t,e){return Ml(t)&&Array.isArray(t[e])?t[e].filter(Ml):[]}function cP(t){if(!Ml(t))return[];let e=Cy(t,"files");return(e.length?e:[t]).flatMap(r=>Cy(r,"translationFailures")).filter(uP)}function uP(t){return t.code==="TRANSLATION_FAILED"&&typeof t.field=="string"&&typeof t.sourceValue=="string"&&typeof t.message=="string"}var At=be(Qt(),1);var T=be(Be(),1),Y1=20,dP=[{type:"text",key:"salesOrderNo",label:"\u9500\u552E\u8BA2\u5355\u7F16\u53F7"},{type:"text",key:"customerContractNo",label:"\u5BA2\u6237\u5408\u540C\u7F16\u7801"},{type:"text",key:"purchaseContractNo",label:"\u91C7\u8D2D\u5408\u540C\u7F16\u53F7"},{type:"text",key:"supplierName",label:"\u4F9B\u5E94\u5546"},{type:"text",key:"customerName",label:"\u5BA2\u6237"}],pP=[{type:"text",key:"fileName",label:"\u6587\u4EF6\u7F16\u53F7/\u6587\u4EF6\u540D\u79F0"},{type:"text",key:"customerName",label:"\u5BA2\u6237\u540D\u79F0"},{type:"text",key:"salesOrderNo",label:"\u9500\u552E\u8BA2\u5355\u7F16\u53F7"},{type:"select",key:"fileType",label:"\u6587\u4EF6\u7C7B\u578B",options:[{value:"PI",label:"PI\uFF08\u5F62\u5F0F\u53D1\u7968\uFF09"},{value:"CI",label:"CI\uFF08\u5546\u4E1A\u53D1\u7968\uFF09"},{value:"PL",label:"PL\uFF08\u88C5\u7BB1\u5355\uFF09"},{value:"CUSTOMS_DECLARATION",label:"\u62A5\u5173\u5355"}]}],hP=[{type:"PI",label:"PI",icon:"ri-file-text-line"},{type:"CI",label:"CI",icon:"ri-bill-line"},{type:"PL",label:"PL",icon:"ri-archive-line"},{type:"CUSTOMS_DECLARATION",label:"\u62A5\u5173\u5355",icon:"ri-government-line"}];async function fP({selectedIds:t,rows:e,deleteFile:n,refresh:r,query:i,notify:o,isCurrent:a=()=>!0}){let s=[...t],l=new Map(e.map(p=>[p.id,p.fileName||p.id])),c=await rr(s,p=>n(p,{suppressRefresh:!0})),u=c.failed.map(p=>({...p,label:l.get(p.key)??p.key})),d=Lr(i.page,e.filter(p=>!c.succeeded.includes(p.id)).length);if(!a())return{selectedIds:new Set(s),failures:u,refreshFailed:!1,stale:!0};try{let p=await r({...i,page:d});if(!a())return{selectedIds:new Set(s),failures:u,refreshFailed:!1,stale:!0};if(p===!1)return{selectedIds:new Set(s),failures:u,refreshFailed:!0,stale:!1}}catch{return a()?{selectedIds:new Set(s),failures:u,refreshFailed:!0,stale:!1}:{selectedIds:new Set(s),failures:u,refreshFailed:!1,stale:!0}}return u.length===0?o?.({message:`\u5DF2\u5220\u9664 ${c.succeeded.length} \u6761`,tone:"success"}):o?.({message:`\u6210\u529F ${c.succeeded.length}\u3001\u5931\u8D25 ${u.length}`,tone:c.succeeded.length>0?"warning":"error"}),{selectedIds:new Set(u.map(p=>p.key)),failures:u,refreshFailed:!1,stale:!1}}function mP(t,e,n){let r=new Set(n.map(i=>i.id));return{selectedIds:new Set([...t].filter(i=>r.has(i))),failures:e.filter(i=>r.has(i.key))}}function gP(t,e){return t||!e}function yP(t,e,n){let r=new Set(t);for(let i of e)n?r.add(i):r.delete(i);return r}function wP(t){return{orders:(e,n,r)=>t("salesFileOrders",{page:e,pageSize:n,filters:r}),ordersPageSize:(e,n)=>t("salesFileOrders",{page:1,pageSize:e,filters:n}),archive:(e,n,r)=>t("generatedFiles",{page:e,pageSize:n,filters:r}),history:(e,n,r)=>t("generatedFiles",Va(r,e,n)),historyPageSize:(e,n)=>t("generatedFiles",Va(n,1,e))}}function X1(t){let[e,n]=At.default.useState({}),[r,i]=At.default.useState(null),[o,a]=At.default.useState(null),[s,l]=At.default.useState(null),[c,u]=At.default.useState(null),[d,p]=At.default.useState(null),[h,m]=At.default.useState(t.initialView==="generation"),[f,v]=At.default.useState(new Set),[g,y]=At.default.useState(!1),[w,b]=At.default.useState(!1),[x,C]=At.default.useState([]),k=!!t.activeOrder,S=k?`history:${t.activeOrder.customerContractId}:${t.activeOrder.purchaseOrderId}`:h?"generation":"archive",E=At.default.useRef(null);E.current||(E.current=Hu());let D=At.default.useRef(null);D.current||(D.current=ju(S)),D.current.observeIdentity(S);let O=At.default.useMemo(()=>wP(t.onQuery),[t.onQuery]),H=pi(t.orders).pageSize,M=pi(t.history).pageSize,_=At.default.useCallback(()=>{D.current.invalidate(),v(new Set),C([]),y(!1)},[]),V=(B=1,U=e)=>(_(),O.orders(B,H,U)),G=At.default.useRef({page:pi(t.history).page,pageSize:M,filters:{},...t.activeOrder?{parameters:{customerContractId:t.activeOrder.customerContractId,purchaseOrderId:t.activeOrder.purchaseOrderId}}:{}}),K=B=>(_(),G.current=B,t.onQueryRequested?.(B),t.onQuery("generatedFiles",B)),J=(B=1)=>t.activeOrder&&K(Va(t.activeOrder,B,M)),ie=t.busy||t.externalBulkBusy||w,ue=B=>({selectedKeys:f,onToggle:U=>{ie||v(q=>yr(q,U))},onTogglePage:U=>{ie||v(q=>yP(q,B.map(le=>le.id),U))},onClear:()=>{ie||v(new Set)},onDelete:()=>{ie||(C([]),y(!0))},labelFor:U=>`\u9009\u62E9\u9500\u552E\u6587\u4EF6\uFF1A${U.fileName||U.id}`,disabled:ie}),we=B=>{if(ie||f.size===0)return;$u({confirmGuard:E.current,generationGuard:D.current,operation:q=>fP({selectedIds:f,rows:t.history.items,deleteFile:(le,ne)=>t.onAction("delete_entity",{entityType:"generatedFile",id:le},ne),refresh:le=>t.onQuery("generatedFiles",le),query:B,notify:t.onNotify,isCurrent:q}),onCurrentResult:q=>{v(q.selectedIds),C(q.failures),!q.refreshFailed&&q.failures.length===0&&y(!1)},onStaleReconcile:async()=>{await t.onBulkReconcile?.()},onBusyChange:q=>{b(q),t.onBulkBusyChange?.(q)}})?.catch(()=>{})};At.default.useEffect(()=>_(),[t.activeOrder,h,_]),At.default.useEffect(()=>(t.onBulkViewActiveChange?.(gP(k,h)),()=>{t.onBulkViewActiveChange?.(!1),D.current.invalidate()}),[t.onBulkViewActiveChange,k,h]),At.default.useEffect(()=>{let B=mP(f,x,t.history.items);B.selectedIds.size!==f.size&&v(B.selectedIds),B.failures.length!==x.length&&C(B.failures)},[t.history.items]);let Y=async(B,U)=>{if(U==="CUSTOMS_DECLARATION"){await Q(Q1(B,U));return}i({order:B,type:U})},Q=async B=>{try{let U=await t.onAction("preflight_sales_file",B);i(null),a({input:B,result:U.data})}catch(U){t.onNotify?.({message:U instanceof Error?U.message:"\u751F\u6210\u9884\u68C0\u5931\u8D25",tone:"error"})}},F=B=>{(t.onDownload?Promise.resolve(t.onDownload(B)):t.onAction("download_sales_file",{id:B.id}).then(()=>{})).catch(q=>t.onNotify?.({message:q instanceof Error?q.message:"\u9500\u552E\u6587\u4EF6\u4E0B\u8F7D\u5931\u8D25",tone:"error"}))};if(k){let B=!!t.onEdit,U=[{type:"ellipsis",key:"salesOrderNoSnapshot",header:"\u9500\u552E\u8BA2\u5355\u7F16\u53F7",width:180},{type:"text",key:"fileType",header:"\u6587\u4EF6\u7C7B\u578B",width:100,truncate:!1,format:Bl},{type:"ellipsis",key:"fileName",header:"\u6587\u4EF6\u540D",width:260,maxWidth:260},{type:"text",key:"generatedAt",header:"\u751F\u6210\u65F6\u95F4",width:180,truncate:!1,format:ut},{type:"text",key:"lastEditedAt",header:"\u6700\u540E\u7F16\u8F91\u65F6\u95F4",width:180,truncate:!1,format:ut}];return(0,T.jsxs)("main",{className:"tcw-sales-files-page tcw-sales-files-page--history",children:[(0,T.jsx)("header",{className:"tcw-sales-heading",children:(0,T.jsxs)("div",{children:[(0,T.jsx)("h2",{className:"tcw-list-heading",children:"\u9500\u552E\u6587\u4EF6\u5217\u8868"}),(0,T.jsx)("p",{children:B?"\u7BA1\u7406\u5F53\u524D\u9500\u552E\u8BA2\u5355\u7684\u5386\u53F2\u751F\u6210\u6587\u4EF6\uFF0C\u652F\u6301\u4E0B\u8F7D\u3001\u5728\u7EBF\u5BA1\u6838\u4E0E\u903B\u8F91\u5220\u9664\u3002":"\u7BA1\u7406\u5F53\u524D\u9500\u552E\u8BA2\u5355\u7684\u5386\u53F2\u751F\u6210\u6587\u4EF6\uFF0C\u652F\u6301\u4E0B\u8F7D\u4E0E\u903B\u8F91\u5220\u9664\u3002"})]})}),(0,T.jsxs)("section",{className:"tcw-context-bar",children:[(0,T.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:()=>{_(),t.onOpenSalesOrder(null),K({page:1,pageSize:M,filters:{}})},children:[(0,T.jsx)("i",{className:"ri-arrow-left-line","aria-hidden":"true"}),"\u8FD4\u56DE"]}),(0,T.jsx)("strong",{children:"\u5386\u53F2\u6587\u4EF6"}),(0,T.jsx)("span",{children:t.activeOrder?.salesOrderNo})]}),(0,T.jsx)(ot,{columns:U,rows:t.history.items,rowKey:"id",selection:ue(t.history.items),pagination:pi(t.history),onPageChange:q=>{J(q)},onPageSizeChange:q=>{t.activeOrder&&K(Va(t.activeOrder,1,q))},emptyText:"\u6682\u65E0\u5386\u53F2\u751F\u6210\u6587\u4EF6",actionWidth:B?230:170,actions:q=>(0,T.jsxs)(T.Fragment,{children:[(0,T.jsxs)("button",{type:"button",disabled:ie,onClick:()=>F(q),children:[(0,T.jsx)("i",{className:"ri-download-line","aria-hidden":"true"}),"\u4E0B\u8F7D"]}),B&&(0,T.jsxs)("button",{type:"button",disabled:ie,onClick:()=>t.onEdit?.(q),children:[(0,T.jsx)("i",{className:"ri-edit-box-line","aria-hidden":"true"}),"\u5BA1\u6838"]}),(0,T.jsxs)("button",{type:"button",className:"is-danger",disabled:ie,onClick:()=>u(q),children:[(0,T.jsx)("i",{className:"ri-delete-bin-line","aria-hidden":"true"}),"\u5220\u9664"]})]})}),c&&(0,T.jsx)(K1,{file:c,order:t.activeOrder??void 0,busy:ie,onCancel:()=>u(null),onConfirm:async()=>{if(!ie)try{await t.onAction("delete_entity",{entityType:"generatedFile",id:c.id}),t.onNotify?.({message:"\u5386\u53F2\u6587\u4EF6\u5220\u9664\u6210\u529F",tone:"success"}),u(null),await J()}catch(q){t.onNotify?.({message:q instanceof Error?q.message:"\u5386\u53F2\u6587\u4EF6\u5220\u9664\u5931\u8D25",tone:"error"})}}}),(0,T.jsx)(En,{open:g,title:"\u6279\u91CF\u5220\u9664\u9500\u552E\u6587\u4EF6",count:f.size,message:"\u5C06\u5220\u9664\u6240\u9009\u9500\u552E\u6587\u4EF6\uFF1B\u5220\u9664\u540E\u4E0D\u53EF\u6062\u590D\uFF1B\u8BA2\u5355\u53CA\u5176\u4ED6\u4E1A\u52A1\u6570\u636E\u4E0D\u53D7\u5F71\u54CD\u3002",busy:ie,failures:x,onCancel:()=>{w||y(!1)},onConfirm:()=>we(Va(t.activeOrder,pi(t.history).page,pi(t.history).pageSize))})]})}if(!h){let B=le=>q1(le,t.orders.items),U=(le,ne,ae)=>t.onQuery("generatedFiles",{page:le,pageSize:ne,filters:ae}),q=t.history.items[0];return(0,T.jsxs)("main",{className:"tcw-sales-files-page tcw-file-prototype-page",children:[(0,T.jsx)(vP,{files:t.history,orders:t.orders.items,busy:ie,navigationBusy:t.busy,selection:ue(t.history.items),onQuery:(le,ne,ae)=>K({page:le,pageSize:ne,filters:ae}),onInvalidate:_,onDetail:p,onDownload:F,onExcelEdit:t.onEdit,onDelete:u,onGenerate:()=>{_(),t.onBulkViewActiveChange?.(!1),m(!0)}}),t.visualPrototypeState==="upload"&&(0,T.jsx)(xP,{busy:t.busy,orders:t.orders.items,onClose:t.onPrototypeStateClose??V1}),d&&(0,T.jsx)(CP,{file:d,order:B(d),onClose:()=>p(null),onDownload:()=>F(d)}),t.visualPrototypeState==="form-editor"&&q&&(0,T.jsx)(SP,{file:q,order:B(q),busy:t.busy,onClose:t.onPrototypeStateClose??V1}),c&&(0,T.jsx)(K1,{file:c,order:B(c),busy:ie,onCancel:()=>u(null),onConfirm:async()=>{if(!ie)try{await t.onAction("delete_entity",{entityType:"generatedFile",id:c.id}),t.onNotify?.({message:"\u9500\u552E\u6587\u4EF6\u5220\u9664\u6210\u529F",tone:"success"}),u(null),_(),await U(1,pi(t.history).pageSize,{})}catch(le){t.onNotify?.({message:le instanceof Error?le.message:"\u9500\u552E\u6587\u4EF6\u5220\u9664\u5931\u8D25",tone:"error"})}}}),(0,T.jsx)(En,{open:g,title:"\u6279\u91CF\u5220\u9664\u9500\u552E\u6587\u4EF6",count:f.size,message:"\u5C06\u5220\u9664\u6240\u9009\u9500\u552E\u6587\u4EF6\uFF1B\u5220\u9664\u540E\u4E0D\u53EF\u6062\u590D\uFF1B\u8BA2\u5355\u53CA\u5176\u4ED6\u4E1A\u52A1\u6570\u636E\u4E0D\u53D7\u5F71\u54CD\u3002",busy:ie,failures:x,onCancel:()=>{w||y(!1)},onConfirm:()=>we(G.current)})]})}let ee=[{type:"ellipsis",key:"salesOrderNo",header:"\u9500\u552E\u8BA2\u5355\u7F16\u53F7",width:180},{type:"ellipsis",key:"customerContractNo",header:"\u5BA2\u6237\u5408\u540C\u7F16\u7801",width:180},{type:"ellipsis",key:"purchaseContractNo",header:"\u91C7\u8D2D\u5408\u540C\u7F16\u53F7",width:180},{type:"ellipsis",key:"supplierName",header:"\u4F9B\u5E94\u5546",width:210,maxWidth:210},{type:"ellipsis",key:"customerName",header:"\u5BA2\u6237",width:210,maxWidth:210},{type:"text",key:"orderAmountCny",header:"\u9500\u552E\u603B\u989D CNY",width:150,align:"right",truncate:!1,format:Wa},{type:"text",key:"receivedAmountCny",header:"\u5DF2\u6536\u6B3E CNY",width:150,align:"right",truncate:!1,format:Wa},{type:"text",key:"unreceivedAmountCny",header:"\u672A\u6536\u6B3E CNY",width:150,align:"right",truncate:!1,format:Wa}];return(0,T.jsxs)("main",{className:"tcw-sales-files-page tcw-sales-files-page--orders",children:[(0,T.jsx)("div",{className:"tcw-sales-file-mode-row",children:(0,T.jsx)(Z1,{mode:"order",busy:t.busy,onModeChange:B=>{B==="standard"&&(t.onBulkViewActiveChange?.(!0),m(!1))}})}),s&&(0,T.jsx)(EP,{result:s}),(0,T.jsx)(un,{definitions:dP,values:e,onChange:(B,U)=>n(q=>({...q,[B]:U})),onQuery:()=>{V()},onReset:()=>{n({}),V(1,{})}}),(0,T.jsx)(ot,{columns:ee,rows:t.orders.items,rowKey:B=>`${B.customerContractId}:${B.purchaseOrderId}`,pagination:pi(t.orders),onPageChange:B=>{V(B)},onPageSizeChange:B=>{_(),O.ordersPageSize(B,e)},emptyText:"\u6682\u65E0\u5DF2\u5173\u8054\u7684\u6D3E\u751F\u9500\u552E\u8BA2\u5355",actionWidth:330,actions:B=>(0,T.jsxs)(T.Fragment,{children:[hP.map(U=>(0,T.jsxs)("button",{type:"button",disabled:ie,onClick:()=>{Y(B,U.type)},children:[(0,T.jsx)("i",{className:U.icon,"aria-hidden":"true"}),U.type==="CUSTOMS_DECLARATION"?"\u62A5\u5173":U.label]},U.type)),(0,T.jsxs)("button",{type:"button",disabled:t.busy,onClick:()=>{_(),t.onBulkViewActiveChange?.(!0),t.onOpenSalesOrder(B),K(Va(B,1,Y1))},children:[(0,T.jsx)("i",{className:"ri-history-line","aria-hidden":"true"}),"\u5386\u53F2"]})]})}),r&&(0,T.jsx)(TP,{generation:r,banks:t.banks,busy:t.busy,onClose:()=>i(null),onGenerate:B=>Q(Q1(r.order,r.type,B))}),o&&(0,T.jsx)(RP,{busy:t.busy,result:o.result,onCancel:()=>a(null),onConfirm:async()=>{try{let U=(await t.onAction("generate_sales_file",o.input)).data;t.onNotify?.({message:`\u6587\u4EF6\u5DF2\u751F\u6210\uFF1A${U.fileName}`,tone:"success"}),l(U.translationFailures.length?U:null),a(null)}catch(B){t.onNotify?.({message:B instanceof Error?B.message:"\u6587\u4EF6\u751F\u6210\u5931\u8D25",tone:"error"})}}})]})}function V1(){}function vP({files:t,orders:e,busy:n,navigationBusy:r=!1,selection:i,onQuery:o,onInvalidate:a,onDetail:s,onDownload:l,onExcelEdit:c,onDelete:u,onGenerate:d}){let[p,h]=At.default.useState({}),m=pi(t),f=[{type:"ellipsis",key:"id",header:"\u6587\u4EF6\u7F16\u53F7",width:160},{type:"ellipsis",key:"customerName",header:"\u5BA2\u6237\u540D\u79F0",width:190,accessor:w=>w.customerName??q1(w,e)?.customerName??"\u2014"},{type:"ellipsis",key:"salesOrderNoSnapshot",header:"\u9500\u552E\u8BA2\u5355\u7F16\u53F7",width:150},{type:"text",key:"fileType",header:"\u6587\u4EF6\u7C7B\u578B",width:130,truncate:!1,format:zl},{type:"text",key:"templateVersion",header:"\u6A21\u677F\u7248\u672C",width:100,accessor:()=>"\u2014",truncate:!1},{type:"text",key:"currency",header:"\u5E01\u79CD",width:80,accessor:()=>"\u2014",truncate:!1},{type:"text",key:"status",header:"\u6587\u4EF6\u72B6\u6001",width:100,align:"center",accessor:()=>"\u2014",truncate:!1},{type:"text",key:"creator",header:"\u751F\u6210\u4EBA",width:90,accessor:()=>"\u2014",truncate:!1},{type:"text",key:"generatedAt",header:"\u751F\u6210\u65F6\u95F4",width:170,truncate:!1,format:ut}],v=(w=1,b=p)=>o(w,m.pageSize,b),g=!!c,y=g?196:152;return(0,T.jsxs)("section",{className:"tcw-file-prototype-list",children:[d&&(0,T.jsx)("div",{className:"tcw-sales-file-mode-row",children:(0,T.jsx)(Z1,{mode:"standard",busy:r,onModeChange:w=>{w==="order"&&d()}})}),(0,T.jsx)(un,{definitions:pP,values:p,onChange:(w,b)=>{a?.(),h(x=>({...x,[w]:b}))},onQuery:()=>{v()},onReset:()=>{a?.(),h({}),v(1,{})}}),(0,T.jsx)(Je,{children:g?"\u9500\u552E\u6587\u4EF6\u7531\u9500\u552E\u8BA2\u5355\u751F\u6210\uFF0C\u652F\u6301\u5F52\u6863\u67E5\u8BE2\u3001\u5728\u7EBF\u5BA1\u6838\u3001\u4E0B\u8F7D\u4E0E\u5220\u9664\u3002":"\u9500\u552E\u6587\u4EF6\u7531\u9500\u552E\u8BA2\u5355\u751F\u6210\uFF0C\u652F\u6301\u5F52\u6863\u67E5\u8BE2\u3001\u4E0B\u8F7D\u4E0E\u5220\u9664\u3002"}),(0,T.jsx)(ot,{columns:f,rows:t.items,rowKey:"id",selection:i,pagination:m,onPageChange:w=>{v(w)},onPageSizeChange:w=>{o(1,w,p)},emptyText:"\u6682\u65E0\u5F52\u6863\u9500\u552E\u6587\u4EF6",actionWidth:y,actions:w=>(0,T.jsx)(bP,{file:w,busy:n,onDownload:l,onExcelEdit:c,onDelete:u})})]})}function Z1({mode:t,busy:e,onModeChange:n}){return(0,T.jsxs)("div",{className:"tcw-segmented-control tcw-sales-file-mode-switch",role:"group","aria-label":"\u9500\u552E\u6587\u4EF6\u751F\u6210\u65B9\u5F0F",children:[(0,T.jsxs)("button",{type:"button","aria-pressed":t==="standard",disabled:e,onClick:()=>n("standard"),children:[(0,T.jsx)("i",{className:"ri-file-list-3-line","aria-hidden":"true"}),"\u666E\u901A\u751F\u6210"]}),(0,T.jsxs)("button",{type:"button","aria-pressed":t==="order",disabled:e,onClick:()=>n("order"),children:[(0,T.jsx)("i",{className:"ri-file-add-line","aria-hidden":"true"}),"\u6309\u8BA2\u5355\u751F\u6210"]})]})}function bP({file:t,busy:e=!1,onDownload:n,onExcelEdit:r,onDelete:i}){return(0,T.jsxs)(T.Fragment,{children:[r&&(0,T.jsxs)("button",{type:"button",disabled:e,onClick:()=>r(t),children:[(0,T.jsx)("i",{className:"ri-file-excel-2-line","aria-hidden":"true"}),"\u5728\u7EBF\u5BA1\u6838"]}),(0,T.jsxs)("button",{type:"button",disabled:e,onClick:()=>n(t),children:[(0,T.jsx)("i",{className:"ri-download-line","aria-hidden":"true"}),"\u4E0B\u8F7D"]}),(0,T.jsxs)("button",{type:"button",className:"is-danger",disabled:e,onClick:()=>i(t),children:[(0,T.jsx)("i",{className:"ri-delete-bin-line","aria-hidden":"true"}),"\u5220\u9664"]})]})}function xP({orders:t,onClose:e}){let n=t[0];return(0,T.jsx)(_e,{open:!0,title:"\u4E0A\u4F20\u9500\u552E\u6587\u4EF6",size:"wide",onClose:e,footer:(0,T.jsxs)(T.Fragment,{children:[(0,T.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:e,children:[(0,T.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u53D6\u6D88"]}),(0,T.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:!0,title:"\u5F53\u524D\u540E\u7AEF\u672A\u63D0\u4F9B\u9500\u552E\u6587\u4EF6\u4E0A\u4F20\u63A5\u53E3",children:[(0,T.jsx)("i",{className:"ri-upload-cloud-2-line","aria-hidden":"true"}),"\u6682\u4E0D\u53EF\u7528"]})]}),children:(0,T.jsxs)("div",{className:"tcw-file-prototype-upload",children:[(0,T.jsx)(ct,{children:"\u5F53\u524D\u540E\u7AEF\u672A\u63D0\u4F9B\u9500\u552E\u6587\u4EF6\u4E0A\u4F20\u63A5\u53E3\uFF0C\u6682\u4E0D\u53EF\u4E0A\u4F20\u3002\u8BF7\u901A\u8FC7\u201C\u6309\u8BA2\u5355\u751F\u6210\u201D\u521B\u5EFA\u9500\u552E\u6587\u4EF6\u3002"}),(0,T.jsxs)("div",{className:"tcw-file-prototype-upload-grid",children:[(0,T.jsxs)("section",{children:[(0,T.jsx)(se,{label:"\u6587\u4EF6\u7C7B\u578B",required:!0,children:(0,T.jsx)("select",{disabled:!0,value:"",children:(0,T.jsx)("option",{value:"",children:"\u6682\u4E0D\u53EF\u7528"})})}),(0,T.jsx)(se,{label:"\u5173\u8054\u5BA2\u6237",required:!0,children:(0,T.jsx)("input",{disabled:!0,value:n?.customerName??"",readOnly:!0,placeholder:"\u2014"})}),(0,T.jsx)(se,{label:"\u5173\u8054\u9500\u552E\u8BA2\u5355",required:!0,children:(0,T.jsx)("input",{disabled:!0,value:n?.salesOrderNo??"",readOnly:!0,placeholder:"\u2014"})}),(0,T.jsx)(se,{label:"\u6A21\u677F\u7248\u672C",children:(0,T.jsx)("select",{disabled:!0,value:"",children:(0,T.jsx)("option",{value:"",children:"\u2014"})})}),(0,T.jsx)(se,{label:"\u6587\u4EF6\u7F16\u53F7",required:!0,children:(0,T.jsx)("input",{disabled:!0,value:"",readOnly:!0,placeholder:"\u2014"})}),(0,T.jsx)(se,{label:"\u6587\u4EF6\u8BF4\u660E/\u5907\u6CE8",children:(0,T.jsx)("textarea",{disabled:!0,value:"",readOnly:!0,placeholder:"\u2014"})})]}),(0,T.jsxs)("section",{children:[(0,T.jsxs)("h3",{children:["\u4E0A\u4F20\u6587\u4EF6 ",(0,T.jsx)("b",{children:"*"})]}),(0,T.jsx)(Js,{accept:".pdf,.doc,.docx,.xls,.xlsx",disabled:!0,onFile:()=>{}}),(0,T.jsxs)("aside",{children:[(0,T.jsxs)("h3",{children:[(0,T.jsx)("i",{className:"ri-information-line","aria-hidden":"true"}),"\u529F\u80FD\u4E0D\u53EF\u7528"]}),(0,T.jsx)("p",{children:"\u672A\u914D\u7F6E\u9500\u552E\u6587\u4EF6\u4E0A\u4F20 API\uFF0C\u7CFB\u7EDF\u4E0D\u4F1A\u63A5\u6536\u6587\u4EF6\u6216\u62A5\u544A\u4E0A\u4F20\u6210\u529F\u3002"})]})]})]})]})})}function CP({file:t,order:e,bank:n,onClose:r,onDownload:i}){return(0,T.jsx)(_e,{open:!0,title:"\u9500\u552E\u6587\u4EF6\u8BE6\u60C5",size:"wide",onClose:r,footer:(0,T.jsxs)(T.Fragment,{children:[(0,T.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:r,children:[(0,T.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u5173\u95ED"]}),(0,T.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",onClick:i,children:[(0,T.jsx)("i",{className:"ri-download-line","aria-hidden":"true"}),"\u4E0B\u8F7D\u6587\u4EF6"]})]}),children:(0,T.jsxs)("div",{className:"tcw-file-prototype-detail",children:[(0,T.jsxs)("dl",{className:"tcw-file-prototype-summary",children:[(0,T.jsx)(Xe,{label:"\u5BA2\u6237\u540D\u79F0",value:e?.customerName??"\u2014"}),(0,T.jsx)(Xe,{label:"\u6587\u4EF6\u7C7B\u578B",value:zl(t.fileType)}),(0,T.jsx)(Xe,{label:"\u751F\u6210\u4EBA",value:"\u2014"}),(0,T.jsx)(Xe,{label:"\u9500\u552E\u8BA2\u5355\u7F16\u53F7",value:t.salesOrderNoSnapshot}),(0,T.jsx)(Xe,{label:"\u6A21\u677F\u7248\u672C",value:"\u2014"}),(0,T.jsx)(Xe,{label:"\u751F\u6210\u65F6\u95F4",value:ut(t.generatedAt)}),(0,T.jsx)(Xe,{label:"\u6587\u4EF6\u7F16\u53F7",value:t.id}),(0,T.jsx)(Xe,{label:"\u5E01\u79CD",value:e?.currencyCode??"\u2014"}),(0,T.jsx)(Xe,{label:"\u6587\u4EF6\u72B6\u6001",value:"\u2014"})]}),(0,T.jsxs)("div",{className:"tcw-file-prototype-detail-grid",children:[(0,T.jsxs)("section",{children:[(0,T.jsx)("h3",{children:"\u6587\u4EF6\u9884\u89C8"}),(0,T.jsx)(kP,{file:t,order:e})]}),(0,T.jsxs)("aside",{children:[(0,T.jsxs)(Sy,{title:"\u94F6\u884C\u4FE1\u606F",children:[(0,T.jsx)(Xe,{label:"\u94F6\u884C\u540D\u79F0",value:n?.bankName??"\u2014"}),(0,T.jsx)(Xe,{label:"\u94F6\u884C\u5730\u5740",value:n?.bankAddress??"\u2014"}),(0,T.jsx)(Xe,{label:"SWIFT \u4EE3\u7801",value:n?.swiftCode??"\u2014"}),(0,T.jsx)(Xe,{label:"\u8D26\u6237\u540D\u79F0",value:n?.beneficiary??"\u2014"}),(0,T.jsx)(Xe,{label:"\u8D26\u53F7",value:n?.accountNo??"\u2014"}),(0,T.jsx)(Xe,{label:"\u94F6\u884C\u8D26\u6237\u5E01\u79CD",value:n?AP(n.bankType):"\u2014"})]}),(0,T.jsx)(Sy,{title:"\u5907\u6CE8",children:(0,T.jsx)("p",{children:"\u2014"})}),(0,T.jsxs)(Sy,{title:"\u6700\u8FD1\u7F16\u8F91",children:[(0,T.jsx)(Xe,{label:"\u7F16\u8F91\u4EBA",value:"\u2014"}),(0,T.jsx)(Xe,{label:"\u7F16\u8F91\u65F6\u95F4",value:t.lastEditedAt?ut(t.lastEditedAt):"\u2014"}),(0,T.jsx)(Xe,{label:"\u7F16\u8F91\u8BF4\u660E",value:"\u2014"})]})]})]})]})})}function SP({file:t,order:e,bank:n,onClose:r}){return(0,T.jsx)(_e,{open:!0,title:"\u7F16\u8F91\u9500\u552E\u6587\u4EF6",size:"wide",onClose:r,footer:(0,T.jsxs)(T.Fragment,{children:[(0,T.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:r,children:[(0,T.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u53D6\u6D88"]}),(0,T.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:!0,title:"\u7ED3\u6784\u5316\u8868\u5355\u4FDD\u5B58\u6682\u4E0D\u53EF\u7528",children:[(0,T.jsx)("i",{className:"ri-save-line","aria-hidden":"true"}),"\u6682\u4E0D\u53EF\u7528"]})]}),children:(0,T.jsxs)("div",{className:"tcw-file-prototype-editor",children:[(0,T.jsxs)("div",{className:"tcw-file-prototype-editor-fields",children:[(0,T.jsxs)("section",{children:[(0,T.jsx)("h3",{children:"\u57FA\u7840\u4FE1\u606F"}),(0,T.jsx)(se,{label:"\u6587\u4EF6\u7C7B\u578B",children:(0,T.jsx)("input",{disabled:!0,value:zl(t.fileType),readOnly:!0})}),(0,T.jsx)(se,{label:"\u6587\u4EF6\u7F16\u53F7",children:(0,T.jsx)("input",{disabled:!0,value:t.id,readOnly:!0})}),(0,T.jsx)(se,{label:"\u5BA2\u6237\u540D\u79F0",children:(0,T.jsx)("input",{disabled:!0,value:e?.customerName??"",readOnly:!0,placeholder:"\u2014"})}),(0,T.jsx)(se,{label:"\u9500\u552E\u8BA2\u5355\u7F16\u53F7",children:(0,T.jsx)("input",{disabled:!0,value:t.salesOrderNoSnapshot,readOnly:!0})}),(0,T.jsx)(se,{label:"\u6A21\u677F\u7248\u672C",children:(0,T.jsx)("input",{disabled:!0,value:"",readOnly:!0,placeholder:"\u2014"})}),(0,T.jsx)(se,{label:"\u94F6\u884C\u4FE1\u606F",children:(0,T.jsx)("input",{disabled:!0,value:n?.bankName??"",readOnly:!0,placeholder:"\u2014"})}),(0,T.jsx)(se,{label:"\u5E01\u79CD",children:(0,T.jsx)("input",{disabled:!0,value:e?.currencyCode??"",readOnly:!0,placeholder:"\u2014"})}),(0,T.jsx)(se,{label:"\u5907\u6CE8",children:(0,T.jsx)("textarea",{disabled:!0,value:"",readOnly:!0,placeholder:"\u2014"})}),(0,T.jsx)(W1,{label:"\u662F\u5426\u52A0\u76D6\u516C\u53F8\u7AE0",checked:!1,disabled:!0}),(0,T.jsx)(W1,{label:"\u662F\u5426\u663E\u793A\u82F1\u6587\u540D\u79F0",checked:!1,disabled:!0})]}),(0,T.jsxs)("section",{children:[(0,T.jsx)("h3",{children:"\u5173\u952E\u4E1A\u52A1\u4FE1\u606F"}),(0,T.jsx)(se,{label:"\u6709\u6548\u5B9A\u4EF7\u5229\u6DA6\u7387",children:(0,T.jsxs)("div",{className:"tcw-file-prototype-percent",children:[(0,T.jsx)("input",{disabled:!0,value:e?Number(e.effectivePricingProfitRate)*100:"",readOnly:!0,placeholder:"\u2014"}),(0,T.jsx)("span",{children:"%"})]})}),(0,T.jsx)(se,{label:"\u6536\u6B3E\u8D26\u6237",children:(0,T.jsx)("input",{disabled:!0,value:n?.accountNo??"",readOnly:!0,placeholder:"\u2014"})}),(0,T.jsx)(se,{label:"\u53D1\u7968\u62AC\u5934",children:(0,T.jsx)("textarea",{disabled:!0,value:e?.supplierName??"",readOnly:!0,placeholder:"\u2014"})}),(0,T.jsx)(se,{label:"\u6536\u8D27\u4EBA\u4FE1\u606F",children:(0,T.jsx)("textarea",{disabled:!0,value:e?.customerName??"",readOnly:!0,placeholder:"\u2014"})}),(0,T.jsx)(se,{label:"\u88C5\u7BB1\u5907\u6CE8",children:(0,T.jsx)("textarea",{disabled:!0,value:"",readOnly:!0,placeholder:"\u2014"})}),(0,T.jsx)(ct,{children:"\u5F53\u524D\u540E\u7AEF\u53EA\u652F\u6301\u5DE5\u4F5C\u7C3F\u5728\u7EBF\u5BA1\u6838\uFF0C\u4E0D\u652F\u6301\u6301\u4E45\u5316\u6B64\u7ED3\u6784\u5316\u8868\u5355\u3002\u8BF7\u4F7F\u7528\u5217\u8868\u4E2D\u7684\u201C\u5728\u7EBF\u5BA1\u6838\u201D\u529F\u80FD\u7F16\u8F91\u5E76\u4FDD\u5B58\u5DE5\u4F5C\u7C3F\u3002"})]})]}),(0,T.jsxs)("aside",{className:"tcw-file-prototype-editor-preview",children:[(0,T.jsx)("h3",{children:"\u9884\u89C8\u751F\u6210\u5185\u5BB9"}),(0,T.jsx)("p",{children:"\u4EC5\u5C55\u793A\u5F53\u524D API \u8FD4\u56DE\u7684\u6587\u4EF6\u4FE1\u606F\uFF1A"}),(0,T.jsxs)("div",{children:[(0,T.jsx)("i",{className:"ri-file-text-line","aria-hidden":"true"}),(0,T.jsxs)("span",{children:[(0,T.jsx)("strong",{children:t.fileName}),(0,T.jsxs)("small",{children:[zl(t.fileType),(0,T.jsx)("br",{}),"\u5E01\u79CD\uFF1A",e?.currencyCode??"\u2014"]})]})]}),(0,T.jsx)(Je,{children:"\u7ED3\u6784\u5316\u8868\u5355\u4FDD\u5B58\u6682\u4E0D\u53EF\u7528\uFF0C\u672C\u9875\u4E0D\u4F1A\u62A5\u544A\u4FDD\u5B58\u6210\u529F\u3002"})]})]})})}function Sy({title:t,children:e}){return(0,T.jsxs)("section",{className:"tcw-file-prototype-detail-block",children:[(0,T.jsx)("h3",{children:t}),(0,T.jsx)("dl",{children:e})]})}function W1({label:t,checked:e,disabled:n=!1,onChange:r}){return(0,T.jsxs)("label",{className:"tcw-file-prototype-switch",children:[(0,T.jsx)("span",{children:t}),(0,T.jsxs)("button",{type:"button",role:"switch","aria-checked":e,disabled:n,onClick:()=>r?.(!e),children:[(0,T.jsx)("i",{className:e?"ri-toggle-fill":"ri-toggle-line","aria-hidden":"true"}),e?"\u662F":"\u5426"]})]})}function kP({file:t,order:e}){let n=e?.currencyCode??"\u2014";return(0,T.jsxs)("article",{className:"tcw-file-prototype-document",children:[(0,T.jsx)("header",{children:(0,T.jsx)("strong",{children:J1(t.fileType).toUpperCase()})}),(0,T.jsxs)("div",{children:[(0,T.jsxs)("p",{children:[(0,T.jsx)("b",{children:"Exporter / Shipper"}),(0,T.jsx)("br",{}),e?.supplierName??"\u2014"]}),(0,T.jsxs)("p",{children:[(0,T.jsx)("b",{children:"Consignee"}),(0,T.jsx)("br",{}),e?.customerName??"\u2014"]})]}),(0,T.jsxs)("table",{children:[(0,T.jsx)("thead",{children:(0,T.jsxs)("tr",{children:[(0,T.jsx)("th",{children:"No."}),(0,T.jsx)("th",{children:"Description of Goods"}),(0,T.jsx)("th",{children:"HS Code"}),(0,T.jsx)("th",{children:"Quantity"}),(0,T.jsxs)("th",{children:["Amount (",n,")"]})]})}),(0,T.jsx)("tbody",{children:e?.lines.length?e.lines.map((r,i)=>(0,T.jsxs)("tr",{children:[(0,T.jsx)("td",{children:i+1}),(0,T.jsx)("td",{children:r.productName||"\u2014"}),(0,T.jsx)("td",{children:r.hsCode||"\u2014"}),(0,T.jsx)("td",{children:r.quantity||"\u2014"}),(0,T.jsx)("td",{children:Wa(r.salesLineAmountCny)})]},r.purchaseOrderLineId)):(0,T.jsx)("tr",{children:(0,T.jsx)("td",{colSpan:5,children:"\u2014"})})})]}),(0,T.jsxs)("footer",{children:[(0,T.jsxs)("span",{children:["Invoice No.: ",t.id]}),(0,T.jsxs)("strong",{children:["Total Amount (",n,"): ",e?Wa(e.orderAmountCny):"\u2014"]})]})]})}function q1(t,e){return e.find(n=>n.customerContractId===t.customerContractId&&n.purchaseOrderId===t.purchaseOrderId)??e.find(n=>n.salesOrderNo===t.salesOrderNoSnapshot)}function zl(t){return t==="PI"?"PI\uFF08\u5F62\u5F0F\u53D1\u7968\uFF09":t==="CI"?"CI\uFF08\u5546\u4E1A\u53D1\u7968\uFF09":t==="PL"?"PL\uFF08\u88C5\u7BB1\u5355\uFF09":t==="CUSTOMS_DECLARATION"?"\u62A5\u5173\u5355":String(t??"\u2014")}function AP(t){return t==="OVERSEAS_CNY"?"CNY":"USD"}function TP({generation:t,banks:e,busy:n,onClose:r,onGenerate:i}){let o=e.filter(IP),[a,s]=At.default.useState(o[0]?.bankType??""),l=t.order;return(0,T.jsx)(_e,{open:!0,title:`\u751F\u6210 ${Bl(t.type)}`,size:"wide",onClose:r,footer:(0,T.jsxs)(T.Fragment,{children:[(0,T.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:r,children:[(0,T.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u53D6\u6D88"]}),(0,T.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:n||!a,onClick:()=>a&&void i(a),children:[(0,T.jsx)("i",{className:"ri-shield-check-line","aria-hidden":"true"}),"\u751F\u6210\u9884\u68C0"]})]}),children:(0,T.jsxs)("div",{className:"tcw-sales-bank-dialog",children:[(0,T.jsxs)("dl",{className:"tcw-bank-order-summary",children:[(0,T.jsx)(Xe,{label:"\u5BA2\u6237\u540D\u79F0",value:l.customerName}),(0,T.jsx)(Xe,{label:"\u9500\u552E\u8BA2\u5355\u7F16\u53F7",value:l.salesOrderNo}),(0,T.jsx)(Xe,{label:"\u5BA2\u6237\u5408\u540C\u7F16\u53F7",value:l.customerContractNo}),(0,T.jsx)(Xe,{label:"\u9500\u552E\u8BA2\u5355\u603B\u989D\uFF08\u4EBA\u6C11\u5E01\uFF09",value:Wa(l.orderAmountCny)}),(0,T.jsx)(Xe,{label:"\u6709\u6548\u5B9A\u4EF7\u5229\u6DA6\u7387",value:eS(l.effectivePricingProfitRate)})]}),(0,T.jsxs)("div",{className:"tcw-bank-dialog-grid",children:[(0,T.jsxs)("section",{children:[(0,T.jsx)(se,{label:"\u6587\u4EF6\u7C7B\u578B",children:(0,T.jsx)("input",{disabled:!0,value:Bl(t.type)})}),(0,T.jsx)(se,{label:"\u94F6\u884C\u8D26\u6237",required:!0,children:(0,T.jsxs)("select",{value:a,onChange:c=>s(c.target.value),children:[(0,T.jsx)("option",{value:"",children:"\u8BF7\u9009\u62E9\u5DF2\u5B8C\u6574\u914D\u7F6E\u7684\u94F6\u884C"}),o.map(c=>(0,T.jsxs)("option",{value:c.bankType,children:[c.bankType==="OVERSEAS_CNY"?"\u5883\u5916\u4EBA\u6C11\u5E01\u8D26\u6237":"\u5883\u5916\u7F8E\u5143\u8D26\u6237"," \xB7 ",c.bankName]},c.bankType))]})})]}),(0,T.jsxs)("aside",{children:[(0,T.jsx)("h3",{children:"\u751F\u6210\u9884\u89C8"}),(0,T.jsx)("p",{children:"\u7CFB\u7EDF\u5C06\u57FA\u4E8E\u5F53\u524D\u8BA2\u5355\u4E0E\u94F6\u884C\u4FE1\u606F\u751F\u6210\uFF1A"}),(0,T.jsxs)("div",{className:"tcw-bank-preview-file",children:[(0,T.jsx)("i",{className:"ri-file-excel-2-line","aria-hidden":"true"}),(0,T.jsxs)("span",{children:[(0,T.jsx)("strong",{children:J1(t.type)}),(0,T.jsxs)("small",{children:[Bl(t.type)," \xB7 CNY"]})]})]})]})]}),!o.length&&(0,T.jsx)(ct,{children:"\u6CA1\u6709\u5DF2\u5B8C\u6574\u914D\u7F6E\u7684\u5883\u5916\u4EBA\u6C11\u5E01\u6216\u5883\u5916\u7F8E\u5143\u94F6\u884C\u8D26\u6237\uFF0C\u8BF7\u5148\u5728\u7CFB\u7EDF\u8BBE\u7F6E\u4E2D\u7EF4\u62A4\u3002"}),(0,T.jsx)(Je,{children:"\u4E1A\u52A1\u91D1\u989D\u548C\u751F\u6210\u6587\u4EF6\u9ED8\u8BA4\u4F7F\u7528 CNY\u3002\u63D0\u4EA4\u540E\u5148\u6267\u884C\u5B9E\u65F6\u5408\u89C4\u9884\u68C0\uFF0C\u9884\u68C0\u901A\u8FC7\u540E\u65B9\u53EF\u786E\u8BA4\u751F\u6210\u3002"})]})})}function K1({file:t,order:e,busy:n,onCancel:r,onConfirm:i}){return(0,T.jsx)(_e,{open:!0,title:"\u786E\u8BA4\u5220\u9664\u9500\u552E\u6587\u4EF6\uFF1F",onClose:r,footer:(0,T.jsxs)(T.Fragment,{children:[(0,T.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:r,children:[(0,T.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u53D6\u6D88"]}),(0,T.jsxs)("button",{type:"button",className:"tcw-button tcw-button--danger",disabled:n,onClick:()=>{i()},children:[(0,T.jsx)("i",{className:"ri-delete-bin-line","aria-hidden":"true"}),"\u786E\u8BA4\u5220\u9664"]})]}),children:(0,T.jsxs)("div",{className:"tcw-sales-file-delete-dialog",children:[(0,T.jsxs)("div",{className:"tcw-delete-critical",children:[(0,T.jsx)("i",{className:"ri-error-warning-fill","aria-hidden":"true"}),(0,T.jsx)("strong",{children:"\u5220\u9664\u540E\u5C06\u79FB\u9664\u8BE5\u9500\u552E\u6587\u4EF6\u7684\u5F52\u6863\u8BB0\u5F55\u53CA\u5728\u7EBF\u7F16\u8F91\u8BB0\u5F55\uFF0C\u6B64\u64CD\u4F5C\u5728\u524D\u7AEF\u65E0\u6CD5\u64A4\u9500\uFF0C\u8BF7\u8C28\u614E\u64CD\u4F5C\u3002"})]}),(0,T.jsxs)("dl",{children:[(0,T.jsx)(Xe,{label:"\u6587\u4EF6\u7F16\u53F7",value:t.id}),(0,T.jsx)(Xe,{label:"\u5BA2\u6237\u540D\u79F0",value:e?.customerName??"\u2014"}),(0,T.jsx)(Xe,{label:"\u9500\u552E\u8BA2\u5355\u7F16\u53F7",value:t.salesOrderNoSnapshot}),(0,T.jsx)(Xe,{label:"\u6587\u4EF6\u7C7B\u578B",value:zl(t.fileType)}),(0,T.jsx)(Xe,{label:"\u751F\u6210\u65F6\u95F4",value:ut(t.generatedAt)}),(0,T.jsx)(Xe,{label:"\u6587\u4EF6\u72B6\u6001",value:"\u2014"})]}),(0,T.jsxs)("p",{children:[(0,T.jsx)("i",{className:"ri-information-line","aria-hidden":"true"}),"\u5220\u9664\u6587\u4EF6\u4E0D\u4F1A\u5220\u9664\u539F\u59CB\u9500\u552E\u8BA2\u5355\u6570\u636E\uFF0C\u8BA2\u5355\u53CA\u5176\u4ED6\u4E1A\u52A1\u6570\u636E\u4E0D\u53D7\u5F71\u54CD\u3002"]})]})})}function Xe({label:t,value:e}){return(0,T.jsxs)("div",{children:[(0,T.jsx)("dt",{children:t}),(0,T.jsx)("dd",{children:e})]})}function J1(t){return t==="PI"?"Proforma Invoice":t==="CI"?"Commercial Invoice":t==="PL"?"Packing List":"Customs Declaration"}function RP({busy:t,result:e,onCancel:n,onConfirm:r}){return(0,T.jsx)(_e,{open:!0,title:"\u751F\u6210\u9884\u68C0\u786E\u8BA4",onClose:n,footer:(0,T.jsxs)(T.Fragment,{children:[(0,T.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:n,children:[(0,T.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u53D6\u6D88"]}),(0,T.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:t||!e.allowed,onClick:()=>{r()},children:[(0,T.jsx)("i",{className:"ri-file-add-line","aria-hidden":"true"}),"\u786E\u8BA4\u751F\u6210"]})]}),children:(0,T.jsxs)("div",{className:"tcw-sales-file-dialog",children:[(0,T.jsxs)("dl",{className:"tcw-preflight-summary",children:[(0,T.jsxs)("div",{children:[(0,T.jsx)("dt",{children:"\u6587\u4EF6\u7C7B\u578B"}),(0,T.jsx)("dd",{children:Bl(e.fileType)})]}),(0,T.jsxs)("div",{children:[(0,T.jsx)("dt",{children:"\u4E1A\u52A1\u5E01\u79CD"}),(0,T.jsx)("dd",{children:e.currencyCode})]}),(0,T.jsxs)("div",{children:[(0,T.jsx)("dt",{children:"\u5408\u89C4\u5229\u6DA6\u7387"}),(0,T.jsx)("dd",{children:eS(e.complianceProfitRate)})]}),(0,T.jsxs)("div",{children:[(0,T.jsx)("dt",{children:"\u6362\u6C47\u6210\u672C"}),(0,T.jsx)("dd",{children:e.exchangeCost??"\u4E0D\u9002\u7528"})]})]}),e.blockingReasons.length>0&&(0,T.jsxs)(ct,{children:[(0,T.jsx)("strong",{children:"\u7981\u6B62\u751F\u6210"}),(0,T.jsx)("ul",{children:e.blockingReasons.map(i=>(0,T.jsx)("li",{children:i.message},i.code))})]}),e.warnings.length>0&&(0,T.jsxs)(ct,{children:[(0,T.jsx)("strong",{children:"\u8D1F\u5229\u6DA6\u5546\u54C1"}),(0,T.jsx)("ul",{children:e.warnings.map(i=>(0,T.jsxs)("li",{children:[i.productName?`${i.productName}\uFF1A`:"",i.message]},i.purchaseOrderLineId??i.productName))})]}),e.allowed&&(0,T.jsx)(Je,{children:"\u9884\u68C0\u5DF2\u901A\u8FC7\u3002\u786E\u8BA4\u540E\u670D\u52A1\u7AEF\u5C06\u91CD\u65B0\u6821\u9A8C\u5E76\u751F\u6210\u6587\u4EF6\u3002"})]})})}function EP({result:t}){return t.translationFailures.length?(0,T.jsxs)(ct,{children:[(0,T.jsx)("strong",{children:"\u6587\u4EF6\u5DF2\u751F\u6210\uFF0C\u4F46\u4EE5\u4E0B\u5B57\u6BB5\u7FFB\u8BD1\u5931\u8D25"}),(0,T.jsx)("ul",{children:t.translationFailures.map(e=>(0,T.jsxs)("li",{children:[(0,T.jsx)("b",{children:e.field}),"\uFF1A",e.sourceValue,"\uFF08",e.message,"\uFF09"]},e.field))})]}):null}function IP(t){return[t.beneficiary,t.bankName,t.bankAddress,t.accountNo].every(n=>String(n??"").trim())&&(t.bankType==="OVERSEAS_CNY"?!!String(t.cnapsCode??"").trim():!!String(t.swiftCode??"").trim())}function Q1(t,e,n){return{customerContractId:t.customerContractId,purchaseOrderId:t.purchaseOrderId,fileType:e,...n?{bankType:n}:{}}}function Va(t,e,n){return{page:e,pageSize:n,filters:{},parameters:{customerContractId:t.customerContractId,purchaseOrderId:t.purchaseOrderId}}}function pi(t){let e=t.pageSize??Y1,n=t.total??0;return{total:n,page:t.page??1,pageSize:e,pageCount:Math.max(1,Math.ceil(n/e))}}function Wa(t){let e=Number(t);return Number.isFinite(e)?e.toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2}):"\u2014"}function eS(t){let e=Number(t);return t!=null&&Number.isFinite(e)?`${(e*100).toFixed(2)}%`:"\u2014"}function Bl(t){return t==="CUSTOMS_DECLARATION"?"\u62A5\u5173\u5355":String(t??"\u2014")}var Vn=be(Qt(),1);var Ka=9e15,no=1e9,ky="0123456789abcdef",hp="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",fp="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",Ay={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-Ka,maxE:Ka,crypto:!1},iS,hi,Te=!0,gp="[DecimalError] ",to=gp+"Invalid argument: ",oS=gp+"Precision limit exceeded",aS=gp+"crypto unavailable",sS="[object Decimal]",pn=Math.floor,Ut=Math.pow,NP=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,PP=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,DP=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,lS=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,br=1e7,xe=7,OP=9007199254740991,LP=hp.length-1,Ty=fp.length-1,te={toStringTag:sS};te.absoluteValue=te.abs=function(){var t=new this.constructor(this);return t.s<0&&(t.s=1),ve(t)};te.ceil=function(){return ve(new this.constructor(this),this.e+1,2)};te.clampedTo=te.clamp=function(t,e){var n,r=this,i=r.constructor;if(t=new i(t),e=new i(e),!t.s||!e.s)return new i(NaN);if(t.gt(e))throw Error(to+e);return n=r.cmp(t),n<0?t:r.cmp(e)>0?e:new i(r)};te.comparedTo=te.cmp=function(t){var e,n,r,i,o=this,a=o.d,s=(t=new o.constructor(t)).d,l=o.s,c=t.s;if(!a||!s)return!l||!c?NaN:l!==c?l:a===s?0:!a^l<0?1:-1;if(!a[0]||!s[0])return a[0]?l:s[0]?-c:0;if(l!==c)return l;if(o.e!==t.e)return o.e>t.e^l<0?1:-1;for(r=a.length,i=s.length,e=0,n=r<i?r:i;e<n;++e)if(a[e]!==s[e])return a[e]>s[e]^l<0?1:-1;return r===i?0:r>i^l<0?1:-1};te.cosine=te.cos=function(){var t,e,n=this,r=n.constructor;return n.d?n.d[0]?(t=r.precision,e=r.rounding,r.precision=t+Math.max(n.e,n.sd())+xe,r.rounding=1,n=_P(r,hS(r,n)),r.precision=t,r.rounding=e,ve(hi==2||hi==3?n.neg():n,t,e,!0)):new r(1):new r(NaN)};te.cubeRoot=te.cbrt=function(){var t,e,n,r,i,o,a,s,l,c,u=this,d=u.constructor;if(!u.isFinite()||u.isZero())return new d(u);for(Te=!1,o=u.s*Ut(u.s*u,1/3),!o||Math.abs(o)==1/0?(n=en(u.d),t=u.e,(o=(t-n.length+1)%3)&&(n+=o==1||o==-2?"0":"00"),o=Ut(n,1/3),t=pn((t+1)/3)-(t%3==(t<0?-1:2)),o==1/0?n="5e"+t:(n=o.toExponential(),n=n.slice(0,n.indexOf("e")+1)+t),r=new d(n),r.s=u.s):r=new d(o.toString()),a=(t=d.precision)+3;;)if(s=r,l=s.times(s).times(s),c=l.plus(u),r=nt(c.plus(u).times(s),c.plus(l),a+2,1),en(s.d).slice(0,a)===(n=en(r.d)).slice(0,a))if(n=n.slice(a-3,a+1),n=="9999"||!i&&n=="4999"){if(!i&&(ve(s,t+1,0),s.times(s).times(s).eq(u))){r=s;break}a+=4,i=1}else{(!+n||!+n.slice(1)&&n.charAt(0)=="5")&&(ve(r,t+1,1),e=!r.times(r).times(r).eq(u));break}return Te=!0,ve(r,t,d.rounding,e)};te.decimalPlaces=te.dp=function(){var t,e=this.d,n=NaN;if(e){if(t=e.length-1,n=(t-pn(this.e/xe))*xe,t=e[t],t)for(;t%10==0;t/=10)n--;n<0&&(n=0)}return n};te.dividedBy=te.div=function(t){return nt(this,new this.constructor(t))};te.dividedToIntegerBy=te.divToInt=function(t){var e=this,n=e.constructor;return ve(nt(e,new n(t),0,1,1),n.precision,n.rounding)};te.equals=te.eq=function(t){return this.cmp(t)===0};te.floor=function(){return ve(new this.constructor(this),this.e+1,3)};te.greaterThan=te.gt=function(t){return this.cmp(t)>0};te.greaterThanOrEqualTo=te.gte=function(t){var e=this.cmp(t);return e==1||e===0};te.hyperbolicCosine=te.cosh=function(){var t,e,n,r,i,o=this,a=o.constructor,s=new a(1);if(!o.isFinite())return new a(o.s?1/0:NaN);if(o.isZero())return s;n=a.precision,r=a.rounding,a.precision=n+Math.max(o.e,o.sd())+4,a.rounding=1,i=o.d.length,i<32?(t=Math.ceil(i/3),e=(1/wp(4,t)).toString()):(t=16,e="2.3283064365386962890625e-10"),o=Qa(a,1,o.times(e),new a(1),!0);for(var l,c=t,u=new a(8);c--;)l=o.times(o),o=s.minus(l.times(u.minus(l.times(u))));return ve(o,a.precision=n,a.rounding=r,!0)};te.hyperbolicSine=te.sinh=function(){var t,e,n,r,i=this,o=i.constructor;if(!i.isFinite()||i.isZero())return new o(i);if(e=o.precision,n=o.rounding,o.precision=e+Math.max(i.e,i.sd())+4,o.rounding=1,r=i.d.length,r<3)i=Qa(o,2,i,i,!0);else{t=1.4*Math.sqrt(r),t=t>16?16:t|0,i=i.times(1/wp(5,t)),i=Qa(o,2,i,i,!0);for(var a,s=new o(5),l=new o(16),c=new o(20);t--;)a=i.times(i),i=i.times(s.plus(a.times(l.times(a).plus(c))))}return o.precision=e,o.rounding=n,ve(i,e,n,!0)};te.hyperbolicTangent=te.tanh=function(){var t,e,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+7,r.rounding=1,nt(n.sinh(),n.cosh(),r.precision=t,r.rounding=e)):new r(n.s)};te.inverseCosine=te.acos=function(){var t=this,e=t.constructor,n=t.abs().cmp(1),r=e.precision,i=e.rounding;return n!==-1?n===0?t.isNeg()?Br(e,r,i):new e(0):new e(NaN):t.isZero()?Br(e,r+4,i).times(.5):(e.precision=r+6,e.rounding=1,t=new e(1).minus(t).div(t.plus(1)).sqrt().atan(),e.precision=r,e.rounding=i,t.times(2))};te.inverseHyperbolicCosine=te.acosh=function(){var t,e,n=this,r=n.constructor;return n.lte(1)?new r(n.eq(1)?0:NaN):n.isFinite()?(t=r.precision,e=r.rounding,r.precision=t+Math.max(Math.abs(n.e),n.sd())+4,r.rounding=1,Te=!1,n=n.times(n).minus(1).sqrt().plus(n),Te=!0,r.precision=t,r.rounding=e,n.ln()):new r(n)};te.inverseHyperbolicSine=te.asinh=function(){var t,e,n=this,r=n.constructor;return!n.isFinite()||n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+2*Math.max(Math.abs(n.e),n.sd())+6,r.rounding=1,Te=!1,n=n.times(n).plus(1).sqrt().plus(n),Te=!0,r.precision=t,r.rounding=e,n.ln())};te.inverseHyperbolicTangent=te.atanh=function(){var t,e,n,r,i=this,o=i.constructor;return i.isFinite()?i.e>=0?new o(i.abs().eq(1)?i.s/0:i.isZero()?i:NaN):(t=o.precision,e=o.rounding,r=i.sd(),Math.max(r,t)<2*-i.e-1?ve(new o(i),t,e,!0):(o.precision=n=r-i.e,i=nt(i.plus(1),new o(1).minus(i),n+t,1),o.precision=t+4,o.rounding=1,i=i.ln(),o.precision=t,o.rounding=e,i.times(.5))):new o(NaN)};te.inverseSine=te.asin=function(){var t,e,n,r,i=this,o=i.constructor;return i.isZero()?new o(i):(e=i.abs().cmp(1),n=o.precision,r=o.rounding,e!==-1?e===0?(t=Br(o,n+4,r).times(.5),t.s=i.s,t):new o(NaN):(o.precision=n+6,o.rounding=1,i=i.div(new o(1).minus(i.times(i)).sqrt().plus(1)).atan(),o.precision=n,o.rounding=r,i.times(2)))};te.inverseTangent=te.atan=function(){var t,e,n,r,i,o,a,s,l,c=this,u=c.constructor,d=u.precision,p=u.rounding;if(c.isFinite()){if(c.isZero())return new u(c);if(c.abs().eq(1)&&d+4<=Ty)return a=Br(u,d+4,p).times(.25),a.s=c.s,a}else{if(!c.s)return new u(NaN);if(d+4<=Ty)return a=Br(u,d+4,p).times(.5),a.s=c.s,a}for(u.precision=s=d+10,u.rounding=1,n=Math.min(28,s/xe+2|0),t=n;t;--t)c=c.div(c.times(c).plus(1).sqrt().plus(1));for(Te=!1,e=Math.ceil(s/xe),r=1,l=c.times(c),a=new u(c),i=c;t!==-1;)if(i=i.times(l),o=a.minus(i.div(r+=2)),i=i.times(l),a=o.plus(i.div(r+=2)),a.d[e]!==void 0)for(t=e;a.d[t]===o.d[t]&&t--;);return n&&(a=a.times(2<<n-1)),Te=!0,ve(a,u.precision=d,u.rounding=p,!0)};te.isFinite=function(){return!!this.d};te.isInteger=te.isInt=function(){return!!this.d&&pn(this.e/xe)>this.d.length-2};te.isNaN=function(){return!this.s};te.isNegative=te.isNeg=function(){return this.s<0};te.isPositive=te.isPos=function(){return this.s>0};te.isZero=function(){return!!this.d&&this.d[0]===0};te.lessThan=te.lt=function(t){return this.cmp(t)<0};te.lessThanOrEqualTo=te.lte=function(t){return this.cmp(t)<1};te.logarithm=te.log=function(t){var e,n,r,i,o,a,s,l,c=this,u=c.constructor,d=u.precision,p=u.rounding,h=5;if(t==null)t=new u(10),e=!0;else{if(t=new u(t),n=t.d,t.s<0||!n||!n[0]||t.eq(1))return new u(NaN);e=t.eq(10)}if(n=c.d,c.s<0||!n||!n[0]||c.eq(1))return new u(n&&!n[0]?-1/0:c.s!=1?NaN:n?0:1/0);if(e)if(n.length>1)o=!0;else{for(i=n[0];i%10===0;)i/=10;o=i!==1}if(Te=!1,s=d+h,a=eo(c,s),r=e?mp(u,s+10):eo(t,s),l=nt(a,r,s,1),Ul(l.d,i=d,p))do if(s+=10,a=eo(c,s),r=e?mp(u,s+10):eo(t,s),l=nt(a,r,s,1),!o){+en(l.d).slice(i+1,i+15)+1==1e14&&(l=ve(l,d+1,0));break}while(Ul(l.d,i+=10,p));return Te=!0,ve(l,d,p)};te.minus=te.sub=function(t){var e,n,r,i,o,a,s,l,c,u,d,p,h=this,m=h.constructor;if(t=new m(t),!h.d||!t.d)return!h.s||!t.s?t=new m(NaN):h.d?t.s=-t.s:t=new m(t.d||h.s!==t.s?h:NaN),t;if(h.s!=t.s)return t.s=-t.s,h.plus(t);if(c=h.d,p=t.d,s=m.precision,l=m.rounding,!c[0]||!p[0]){if(p[0])t.s=-t.s;else if(c[0])t=new m(h);else return new m(l===3?-0:0);return Te?ve(t,s,l):t}if(n=pn(t.e/xe),u=pn(h.e/xe),c=c.slice(),o=u-n,o){for(d=o<0,d?(e=c,o=-o,a=p.length):(e=p,n=u,a=c.length),r=Math.max(Math.ceil(s/xe),a)+2,o>r&&(o=r,e.length=1),e.reverse(),r=o;r--;)e.push(0);e.reverse()}else{for(r=c.length,a=p.length,d=r<a,d&&(a=r),r=0;r<a;r++)if(c[r]!=p[r]){d=c[r]<p[r];break}o=0}for(d&&(e=c,c=p,p=e,t.s=-t.s),a=c.length,r=p.length-a;r>0;--r)c[a++]=0;for(r=p.length;r>o;){if(c[--r]<p[r]){for(i=r;i&&c[--i]===0;)c[i]=br-1;--c[i],c[r]+=br}c[r]-=p[r]}for(;c[--a]===0;)c.pop();for(;c[0]===0;c.shift())--n;return c[0]?(t.d=c,t.e=yp(c,n),Te?ve(t,s,l):t):new m(l===3?-0:0)};te.modulo=te.mod=function(t){var e,n=this,r=n.constructor;return t=new r(t),!n.d||!t.s||t.d&&!t.d[0]?new r(NaN):!t.d||n.d&&!n.d[0]?ve(new r(n),r.precision,r.rounding):(Te=!1,r.modulo==9?(e=nt(n,t.abs(),0,3,1),e.s*=t.s):e=nt(n,t,0,r.modulo,1),e=e.times(t),Te=!0,n.minus(e))};te.naturalExponential=te.exp=function(){return Ry(this)};te.naturalLogarithm=te.ln=function(){return eo(this)};te.negated=te.neg=function(){var t=new this.constructor(this);return t.s=-t.s,ve(t)};te.plus=te.add=function(t){var e,n,r,i,o,a,s,l,c,u,d=this,p=d.constructor;if(t=new p(t),!d.d||!t.d)return!d.s||!t.s?t=new p(NaN):d.d||(t=new p(t.d||d.s===t.s?d:NaN)),t;if(d.s!=t.s)return t.s=-t.s,d.minus(t);if(c=d.d,u=t.d,s=p.precision,l=p.rounding,!c[0]||!u[0])return u[0]||(t=new p(d)),Te?ve(t,s,l):t;if(o=pn(d.e/xe),r=pn(t.e/xe),c=c.slice(),i=o-r,i){for(i<0?(n=c,i=-i,a=u.length):(n=u,r=o,a=c.length),o=Math.ceil(s/xe),a=o>a?o+1:a+1,i>a&&(i=a,n.length=1),n.reverse();i--;)n.push(0);n.reverse()}for(a=c.length,i=u.length,a-i<0&&(i=a,n=u,u=c,c=n),e=0;i;)e=(c[--i]=c[i]+u[i]+e)/br|0,c[i]%=br;for(e&&(c.unshift(e),++r),a=c.length;c[--a]==0;)c.pop();return t.d=c,t.e=yp(c,r),Te?ve(t,s,l):t};te.precision=te.sd=function(t){var e,n=this;if(t!==void 0&&t!==!!t&&t!==1&&t!==0)throw Error(to+t);return n.d?(e=cS(n.d),t&&n.e+1>e&&(e=n.e+1)):e=NaN,e};te.round=function(){var t=this,e=t.constructor;return ve(new e(t),t.e+1,e.rounding)};te.sine=te.sin=function(){var t,e,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+Math.max(n.e,n.sd())+xe,r.rounding=1,n=MP(r,hS(r,n)),r.precision=t,r.rounding=e,ve(hi>2?n.neg():n,t,e,!0)):new r(NaN)};te.squareRoot=te.sqrt=function(){var t,e,n,r,i,o,a=this,s=a.d,l=a.e,c=a.s,u=a.constructor;if(c!==1||!s||!s[0])return new u(!c||c<0&&(!s||s[0])?NaN:s?a:1/0);for(Te=!1,c=Math.sqrt(+a),c==0||c==1/0?(e=en(s),(e.length+l)%2==0&&(e+="0"),c=Math.sqrt(e),l=pn((l+1)/2)-(l<0||l%2),c==1/0?e="5e"+l:(e=c.toExponential(),e=e.slice(0,e.indexOf("e")+1)+l),r=new u(e)):r=new u(c.toString()),n=(l=u.precision)+3;;)if(o=r,r=o.plus(nt(a,o,n+2,1)).times(.5),en(o.d).slice(0,n)===(e=en(r.d)).slice(0,n))if(e=e.slice(n-3,n+1),e=="9999"||!i&&e=="4999"){if(!i&&(ve(o,l+1,0),o.times(o).eq(a))){r=o;break}n+=4,i=1}else{(!+e||!+e.slice(1)&&e.charAt(0)=="5")&&(ve(r,l+1,1),t=!r.times(r).eq(a));break}return Te=!0,ve(r,l,u.rounding,t)};te.tangent=te.tan=function(){var t,e,n=this,r=n.constructor;return n.isFinite()?n.isZero()?new r(n):(t=r.precision,e=r.rounding,r.precision=t+10,r.rounding=1,n=n.sin(),n.s=1,n=nt(n,new r(1).minus(n.times(n)).sqrt(),t+10,0),r.precision=t,r.rounding=e,ve(hi==2||hi==4?n.neg():n,t,e,!0)):new r(NaN)};te.times=te.mul=function(t){var e,n,r,i,o,a,s,l,c,u=this,d=u.constructor,p=u.d,h=(t=new d(t)).d;if(t.s*=u.s,!p||!p[0]||!h||!h[0])return new d(!t.s||p&&!p[0]&&!h||h&&!h[0]&&!p?NaN:!p||!h?t.s/0:t.s*0);for(n=pn(u.e/xe)+pn(t.e/xe),l=p.length,c=h.length,l<c&&(o=p,p=h,h=o,a=l,l=c,c=a),o=[],a=l+c,r=a;r--;)o.push(0);for(r=c;--r>=0;){for(e=0,i=l+r;i>r;)s=o[i]+h[r]*p[i-r-1]+e,o[i--]=s%br|0,e=s/br|0;o[i]=(o[i]+e)%br|0}for(;!o[--a];)o.pop();return e?++n:o.shift(),t.d=o,t.e=yp(o,n),Te?ve(t,d.precision,d.rounding):t};te.toBinary=function(t,e){return Ey(this,2,t,e)};te.toDecimalPlaces=te.toDP=function(t,e){var n=this,r=n.constructor;return n=new r(n),t===void 0?n:(On(t,0,no),e===void 0?e=r.rounding:On(e,0,8),ve(n,t+n.e+1,e))};te.toExponential=function(t,e){var n,r=this,i=r.constructor;return t===void 0?n=zr(r,!0):(On(t,0,no),e===void 0?e=i.rounding:On(e,0,8),r=ve(new i(r),t+1,e),n=zr(r,!0,t+1)),r.isNeg()&&!r.isZero()?"-"+n:n};te.toFixed=function(t,e){var n,r,i=this,o=i.constructor;return t===void 0?n=zr(i):(On(t,0,no),e===void 0?e=o.rounding:On(e,0,8),r=ve(new o(i),t+i.e+1,e),n=zr(r,!1,t+r.e+1)),i.isNeg()&&!i.isZero()?"-"+n:n};te.toFraction=function(t){var e,n,r,i,o,a,s,l,c,u,d,p,h=this,m=h.d,f=h.constructor;if(!m)return new f(h);if(c=n=new f(1),r=l=new f(0),e=new f(r),o=e.e=cS(m)-h.e-1,a=o%xe,e.d[0]=Ut(10,a<0?xe+a:a),t==null)t=o>0?e:c;else{if(s=new f(t),!s.isInt()||s.lt(c))throw Error(to+s);t=s.gt(e)?o>0?e:c:s}for(Te=!1,s=new f(en(m)),u=f.precision,f.precision=o=m.length*xe*2;d=nt(s,e,0,1,1),i=n.plus(d.times(r)),i.cmp(t)!=1;)n=r,r=i,i=c,c=l.plus(d.times(i)),l=i,i=e,e=s.minus(d.times(i)),s=i;return i=nt(t.minus(n),r,0,1,1),l=l.plus(i.times(c)),n=n.plus(i.times(r)),l.s=c.s=h.s,p=nt(c,r,o,1).minus(h).abs().cmp(nt(l,n,o,1).minus(h).abs())<1?[c,r]:[l,n],f.precision=u,Te=!0,p};te.toHexadecimal=te.toHex=function(t,e){return Ey(this,16,t,e)};te.toNearest=function(t,e){var n=this,r=n.constructor;if(n=new r(n),t==null){if(!n.d)return n;t=new r(1),e=r.rounding}else{if(t=new r(t),e===void 0?e=r.rounding:On(e,0,8),!n.d)return t.s?n:t;if(!t.d)return t.s&&(t.s=n.s),t}return t.d[0]?(Te=!1,n=nt(n,t,0,e,1).times(t),Te=!0,ve(n)):(t.s=n.s,n=t),n};te.toNumber=function(){return+this};te.toOctal=function(t,e){return Ey(this,8,t,e)};te.toPower=te.pow=function(t){var e,n,r,i,o,a,s=this,l=s.constructor,c=+(t=new l(t));if(!s.d||!t.d||!s.d[0]||!t.d[0])return new l(Ut(+s,c));if(s=new l(s),s.eq(1))return s;if(r=l.precision,o=l.rounding,t.eq(1))return ve(s,r,o);if(e=pn(t.e/xe),e>=t.d.length-1&&(n=c<0?-c:c)<=OP)return i=uS(l,s,n,r),t.s<0?new l(1).div(i):ve(i,r,o);if(a=s.s,a<0){if(e<t.d.length-1)return new l(NaN);if((t.d[e]&1)==0&&(a=1),s.e==0&&s.d[0]==1&&s.d.length==1)return s.s=a,s}return n=Ut(+s,c),e=n==0||!isFinite(n)?pn(c*(Math.log("0."+en(s.d))/Math.LN10+s.e+1)):new l(n+"").e,e>l.maxE+1||e<l.minE-1?new l(e>0?a/0:0):(Te=!1,l.rounding=s.s=1,n=Math.min(12,(e+"").length),i=Ry(t.times(eo(s,r+n)),r),i.d&&(i=ve(i,r+5,1),Ul(i.d,r,o)&&(e=r+10,i=ve(Ry(t.times(eo(s,e+n)),e),e+5,1),+en(i.d).slice(r+1,r+15)+1==1e14&&(i=ve(i,r+1,0)))),i.s=a,Te=!0,l.rounding=o,ve(i,r,o))};te.toPrecision=function(t,e){var n,r=this,i=r.constructor;return t===void 0?n=zr(r,r.e<=i.toExpNeg||r.e>=i.toExpPos):(On(t,1,no),e===void 0?e=i.rounding:On(e,0,8),r=ve(new i(r),t,e),n=zr(r,t<=r.e||r.e<=i.toExpNeg,t)),r.isNeg()&&!r.isZero()?"-"+n:n};te.toSignificantDigits=te.toSD=function(t,e){var n=this,r=n.constructor;return t===void 0?(t=r.precision,e=r.rounding):(On(t,1,no),e===void 0?e=r.rounding:On(e,0,8)),ve(new r(n),t,e)};te.toString=function(){var t=this,e=t.constructor,n=zr(t,t.e<=e.toExpNeg||t.e>=e.toExpPos);return t.isNeg()&&!t.isZero()?"-"+n:n};te.truncated=te.trunc=function(){return ve(new this.constructor(this),this.e+1,1)};te.valueOf=te.toJSON=function(){var t=this,e=t.constructor,n=zr(t,t.e<=e.toExpNeg||t.e>=e.toExpPos);return t.isNeg()?"-"+n:n};function en(t){var e,n,r,i=t.length-1,o="",a=t[0];if(i>0){for(o+=a,e=1;e<i;e++)r=t[e]+"",n=xe-r.length,n&&(o+=Ji(n)),o+=r;a=t[e],r=a+"",n=xe-r.length,n&&(o+=Ji(n))}else if(a===0)return"0";for(;a%10===0;)a/=10;return o+a}function On(t,e,n){if(t!==~~t||t<e||t>n)throw Error(to+t)}function Ul(t,e,n,r){var i,o,a,s;for(o=t[0];o>=10;o/=10)--e;return--e<0?(e+=xe,i=0):(i=Math.ceil((e+1)/xe),e%=xe),o=Ut(10,xe-e),s=t[i]%o|0,r==null?e<3?(e==0?s=s/100|0:e==1&&(s=s/10|0),a=n<4&&s==99999||n>3&&s==49999||s==5e4||s==0):a=(n<4&&s+1==o||n>3&&s+1==o/2)&&(t[i+1]/o/100|0)==Ut(10,e-2)-1||(s==o/2||s==0)&&(t[i+1]/o/100|0)==0:e<4?(e==0?s=s/1e3|0:e==1?s=s/100|0:e==2&&(s=s/10|0),a=(r||n<4)&&s==9999||!r&&n>3&&s==4999):a=((r||n<4)&&s+1==o||!r&&n>3&&s+1==o/2)&&(t[i+1]/o/1e3|0)==Ut(10,e-3)-1,a}function dp(t,e,n){for(var r,i=[0],o,a=0,s=t.length;a<s;){for(o=i.length;o--;)i[o]*=e;for(i[0]+=ky.indexOf(t.charAt(a++)),r=0;r<i.length;r++)i[r]>n-1&&(i[r+1]===void 0&&(i[r+1]=0),i[r+1]+=i[r]/n|0,i[r]%=n)}return i.reverse()}function _P(t,e){var n,r,i;if(e.isZero())return e;r=e.d.length,r<32?(n=Math.ceil(r/3),i=(1/wp(4,n)).toString()):(n=16,i="2.3283064365386962890625e-10"),t.precision+=n,e=Qa(t,1,e.times(i),new t(1));for(var o=n;o--;){var a=e.times(e);e=a.times(a).minus(a).times(8).plus(1)}return t.precision-=n,e}var nt=(function(){function t(r,i,o){var a,s=0,l=r.length;for(r=r.slice();l--;)a=r[l]*i+s,r[l]=a%o|0,s=a/o|0;return s&&r.unshift(s),r}function e(r,i,o,a){var s,l;if(o!=a)l=o>a?1:-1;else for(s=l=0;s<o;s++)if(r[s]!=i[s]){l=r[s]>i[s]?1:-1;break}return l}function n(r,i,o,a){for(var s=0;o--;)r[o]-=s,s=r[o]<i[o]?1:0,r[o]=s*a+r[o]-i[o];for(;!r[0]&&r.length>1;)r.shift()}return function(r,i,o,a,s,l){var c,u,d,p,h,m,f,v,g,y,w,b,x,C,k,S,E,D,O,H,M=r.constructor,_=r.s==i.s?1:-1,V=r.d,G=i.d;if(!V||!V[0]||!G||!G[0])return new M(!r.s||!i.s||(V?G&&V[0]==G[0]:!G)?NaN:V&&V[0]==0||!G?_*0:_/0);for(l?(h=1,u=r.e-i.e):(l=br,h=xe,u=pn(r.e/h)-pn(i.e/h)),O=G.length,E=V.length,g=new M(_),y=g.d=[],d=0;G[d]==(V[d]||0);d++);if(G[d]>(V[d]||0)&&u--,o==null?(C=o=M.precision,a=M.rounding):s?C=o+(r.e-i.e)+1:C=o,C<0)y.push(1),m=!0;else{if(C=C/h+2|0,d=0,O==1){for(p=0,G=G[0],C++;(d<E||p)&&C--;d++)k=p*l+(V[d]||0),y[d]=k/G|0,p=k%G|0;m=p||d<E}else{for(p=l/(G[0]+1)|0,p>1&&(G=t(G,p,l),V=t(V,p,l),O=G.length,E=V.length),S=O,w=V.slice(0,O),b=w.length;b<O;)w[b++]=0;H=G.slice(),H.unshift(0),D=G[0],G[1]>=l/2&&++D;do p=0,c=e(G,w,O,b),c<0?(x=w[0],O!=b&&(x=x*l+(w[1]||0)),p=x/D|0,p>1?(p>=l&&(p=l-1),f=t(G,p,l),v=f.length,b=w.length,c=e(f,w,v,b),c==1&&(p--,n(f,O<v?H:G,v,l))):(p==0&&(c=p=1),f=G.slice()),v=f.length,v<b&&f.unshift(0),n(w,f,b,l),c==-1&&(b=w.length,c=e(G,w,O,b),c<1&&(p++,n(w,O<b?H:G,b,l))),b=w.length):c===0&&(p++,w=[0]),y[d++]=p,c&&w[0]?w[b++]=V[S]||0:(w=[V[S]],b=1);while((S++<E||w[0]!==void 0)&&C--);m=w[0]!==void 0}y[0]||y.shift()}if(h==1)g.e=u,iS=m;else{for(d=1,p=y[0];p>=10;p/=10)d++;g.e=d+u*h-1,ve(g,s?o+g.e+1:o,a,m)}return g}})();function ve(t,e,n,r){var i,o,a,s,l,c,u,d,p,h=t.constructor;e:if(e!=null){if(d=t.d,!d)return t;for(i=1,s=d[0];s>=10;s/=10)i++;if(o=e-i,o<0)o+=xe,a=e,u=d[p=0],l=u/Ut(10,i-a-1)%10|0;else if(p=Math.ceil((o+1)/xe),s=d.length,p>=s)if(r){for(;s++<=p;)d.push(0);u=l=0,i=1,o%=xe,a=o-xe+1}else break e;else{for(u=s=d[p],i=1;s>=10;s/=10)i++;o%=xe,a=o-xe+i,l=a<0?0:u/Ut(10,i-a-1)%10|0}if(r=r||e<0||d[p+1]!==void 0||(a<0?u:u%Ut(10,i-a-1)),c=n<4?(l||r)&&(n==0||n==(t.s<0?3:2)):l>5||l==5&&(n==4||r||n==6&&(o>0?a>0?u/Ut(10,i-a):0:d[p-1])%10&1||n==(t.s<0?8:7)),e<1||!d[0])return d.length=0,c?(e-=t.e+1,d[0]=Ut(10,(xe-e%xe)%xe),t.e=-e||0):d[0]=t.e=0,t;if(o==0?(d.length=p,s=1,p--):(d.length=p+1,s=Ut(10,xe-o),d[p]=a>0?(u/Ut(10,i-a)%Ut(10,a)|0)*s:0),c)for(;;)if(p==0){for(o=1,a=d[0];a>=10;a/=10)o++;for(a=d[0]+=s,s=1;a>=10;a/=10)s++;o!=s&&(t.e++,d[0]==br&&(d[0]=1));break}else{if(d[p]+=s,d[p]!=br)break;d[p--]=0,s=1}for(o=d.length;d[--o]===0;)d.pop()}return Te&&(t.e>h.maxE?(t.d=null,t.e=NaN):t.e<h.minE&&(t.e=0,t.d=[0])),t}function zr(t,e,n){if(!t.isFinite())return pS(t);var r,i=t.e,o=en(t.d),a=o.length;return e?(n&&(r=n-a)>0?o=o.charAt(0)+"."+o.slice(1)+Ji(r):a>1&&(o=o.charAt(0)+"."+o.slice(1)),o=o+(t.e<0?"e":"e+")+t.e):i<0?(o="0."+Ji(-i-1)+o,n&&(r=n-a)>0&&(o+=Ji(r))):i>=a?(o+=Ji(i+1-a),n&&(r=n-i-1)>0&&(o=o+"."+Ji(r))):((r=i+1)<a&&(o=o.slice(0,r)+"."+o.slice(r)),n&&(r=n-a)>0&&(i+1===a&&(o+="."),o+=Ji(r))),o}function yp(t,e){var n=t[0];for(e*=xe;n>=10;n/=10)e++;return e}function mp(t,e,n){if(e>LP)throw Te=!0,n&&(t.precision=n),Error(oS);return ve(new t(hp),e,1,!0)}function Br(t,e,n){if(e>Ty)throw Error(oS);return ve(new t(fp),e,n,!0)}function cS(t){var e=t.length-1,n=e*xe+1;if(e=t[e],e){for(;e%10==0;e/=10)n--;for(e=t[0];e>=10;e/=10)n++}return n}function Ji(t){for(var e="";t--;)e+="0";return e}function uS(t,e,n,r){var i,o=new t(1),a=Math.ceil(r/xe+4);for(Te=!1;;){if(n%2&&(o=o.times(e),nS(o.d,a)&&(i=!0)),n=pn(n/2),n===0){n=o.d.length-1,i&&o.d[n]===0&&++o.d[n];break}e=e.times(e),nS(e.d,a)}return Te=!0,o}function tS(t){return t.d[t.d.length-1]&1}function dS(t,e,n){for(var r,i,o=new t(e[0]),a=0;++a<e.length;){if(i=new t(e[a]),!i.s){o=i;break}r=o.cmp(i),(r===n||r===0&&o.s===n)&&(o=i)}return o}function Ry(t,e){var n,r,i,o,a,s,l,c=0,u=0,d=0,p=t.constructor,h=p.rounding,m=p.precision;if(!t.d||!t.d[0]||t.e>17)return new p(t.d?t.d[0]?t.s<0?0:1/0:1:t.s?t.s<0?0:t:NaN);for(e==null?(Te=!1,l=m):l=e,s=new p(.03125);t.e>-2;)t=t.times(s),d+=5;for(r=Math.log(Ut(2,d))/Math.LN10*2+5|0,l+=r,n=o=a=new p(1),p.precision=l;;){if(o=ve(o.times(t),l,1),n=n.times(++u),s=a.plus(nt(o,n,l,1)),en(s.d).slice(0,l)===en(a.d).slice(0,l)){for(i=d;i--;)a=ve(a.times(a),l,1);if(e==null)if(c<3&&Ul(a.d,l-r,h,c))p.precision=l+=10,n=o=s=new p(1),u=0,c++;else return ve(a,p.precision=m,h,Te=!0);else return p.precision=m,a}a=s}}function eo(t,e){var n,r,i,o,a,s,l,c,u,d,p,h=1,m=10,f=t,v=f.d,g=f.constructor,y=g.rounding,w=g.precision;if(f.s<0||!v||!v[0]||!f.e&&v[0]==1&&v.length==1)return new g(v&&!v[0]?-1/0:f.s!=1?NaN:v?0:f);if(e==null?(Te=!1,u=w):u=e,g.precision=u+=m,n=en(v),r=n.charAt(0),Math.abs(o=f.e)<15e14){for(;r<7&&r!=1||r==1&&n.charAt(1)>3;)f=f.times(t),n=en(f.d),r=n.charAt(0),h++;o=f.e,r>1?(f=new g("0."+n),o++):f=new g(r+"."+n.slice(1))}else return c=mp(g,u+2,w).times(o+""),f=eo(new g(r+"."+n.slice(1)),u-m).plus(c),g.precision=w,e==null?ve(f,w,y,Te=!0):f;for(d=f,l=a=f=nt(f.minus(1),f.plus(1),u,1),p=ve(f.times(f),u,1),i=3;;){if(a=ve(a.times(p),u,1),c=l.plus(nt(a,new g(i),u,1)),en(c.d).slice(0,u)===en(l.d).slice(0,u))if(l=l.times(2),o!==0&&(l=l.plus(mp(g,u+2,w).times(o+""))),l=nt(l,new g(h),u,1),e==null)if(Ul(l.d,u-m,y,s))g.precision=u+=m,c=a=f=nt(d.minus(1),d.plus(1),u,1),p=ve(f.times(f),u,1),i=s=1;else return ve(l,g.precision=w,y,Te=!0);else return g.precision=w,l;l=c,i+=2}}function pS(t){return String(t.s*t.s/0)}function pp(t,e){var n,r,i;for((n=e.indexOf("."))>-1&&(e=e.replace(".","")),(r=e.search(/e/i))>0?(n<0&&(n=r),n+=+e.slice(r+1),e=e.substring(0,r)):n<0&&(n=e.length),r=0;e.charCodeAt(r)===48;r++);for(i=e.length;e.charCodeAt(i-1)===48;--i);if(e=e.slice(r,i),e){if(i-=r,t.e=n=n-r-1,t.d=[],r=(n+1)%xe,n<0&&(r+=xe),r<i){for(r&&t.d.push(+e.slice(0,r)),i-=xe;r<i;)t.d.push(+e.slice(r,r+=xe));e=e.slice(r),r=xe-e.length}else r-=i;for(;r--;)e+="0";t.d.push(+e),Te&&(t.e>t.constructor.maxE?(t.d=null,t.e=NaN):t.e<t.constructor.minE&&(t.e=0,t.d=[0]))}else t.e=0,t.d=[0];return t}function FP(t,e){var n,r,i,o,a,s,l,c,u;if(e.indexOf("_")>-1){if(e=e.replace(/(\d)_(?=\d)/g,"$1"),lS.test(e))return pp(t,e)}else if(e==="Infinity"||e==="NaN")return+e||(t.s=NaN),t.e=NaN,t.d=null,t;if(PP.test(e))n=16,e=e.toLowerCase();else if(NP.test(e))n=2;else if(DP.test(e))n=8;else throw Error(to+e);for(o=e.search(/p/i),o>0?(l=+e.slice(o+1),e=e.substring(2,o)):e=e.slice(2),o=e.indexOf("."),a=o>=0,r=t.constructor,a&&(e=e.replace(".",""),s=e.length,o=s-o,i=uS(r,new r(n),o,o*2)),c=dp(e,n,br),u=c.length-1,o=u;c[o]===0;--o)c.pop();return o<0?new r(t.s*0):(t.e=yp(c,u),t.d=c,Te=!1,a&&(t=nt(t,i,s*4)),l&&(t=t.times(Math.abs(l)<54?Ut(2,l):Ya.pow(2,l))),Te=!0,t)}function MP(t,e){var n,r=e.d.length;if(r<3)return e.isZero()?e:Qa(t,2,e,e);n=1.4*Math.sqrt(r),n=n>16?16:n|0,e=e.times(1/wp(5,n)),e=Qa(t,2,e,e);for(var i,o=new t(5),a=new t(16),s=new t(20);n--;)i=e.times(e),e=e.times(o.plus(i.times(a.times(i).minus(s))));return e}function Qa(t,e,n,r,i){var o,a,s,l,c=1,u=t.precision,d=Math.ceil(u/xe);for(Te=!1,l=n.times(n),s=new t(r);;){if(a=nt(s.times(l),new t(e++*e++),u,1),s=i?r.plus(a):r.minus(a),r=nt(a.times(l),new t(e++*e++),u,1),a=s.plus(r),a.d[d]!==void 0){for(o=d;a.d[o]===s.d[o]&&o--;);if(o==-1)break}o=s,s=r,r=a,a=o,c++}return Te=!0,a.d.length=d+1,a}function wp(t,e){for(var n=t;--e;)n*=t;return n}function hS(t,e){var n,r=e.s<0,i=Br(t,t.precision,1),o=i.times(.5);if(e=e.abs(),e.lte(o))return hi=r?4:1,e;if(n=e.divToInt(i),n.isZero())hi=r?3:2;else{if(e=e.minus(n.times(i)),e.lte(o))return hi=tS(n)?r?2:3:r?4:1,e;hi=tS(n)?r?1:4:r?3:2}return e.minus(i).abs()}function Ey(t,e,n,r){var i,o,a,s,l,c,u,d,p,h=t.constructor,m=n!==void 0;if(m?(On(n,1,no),r===void 0?r=h.rounding:On(r,0,8)):(n=h.precision,r=h.rounding),!t.isFinite())u=pS(t);else{for(u=zr(t),a=u.indexOf("."),m?(i=2,e==16?n=n*4-3:e==8&&(n=n*3-2)):i=e,a>=0&&(u=u.replace(".",""),p=new h(1),p.e=u.length-a,p.d=dp(zr(p),10,i),p.e=p.d.length),d=dp(u,10,i),o=l=d.length;d[--l]==0;)d.pop();if(!d[0])u=m?"0p+0":"0";else{if(a<0?o--:(t=new h(t),t.d=d,t.e=o,t=nt(t,p,n,r,0,i),d=t.d,o=t.e,c=iS),a=d[n],s=i/2,c=c||d[n+1]!==void 0,c=r<4?(a!==void 0||c)&&(r===0||r===(t.s<0?3:2)):a>s||a===s&&(r===4||c||r===6&&d[n-1]&1||r===(t.s<0?8:7)),d.length=n,c)for(;++d[--n]>i-1;)d[n]=0,n||(++o,d.unshift(1));for(l=d.length;!d[l-1];--l);for(a=0,u="";a<l;a++)u+=ky.charAt(d[a]);if(m){if(l>1)if(e==16||e==8){for(a=e==16?4:3,--l;l%a;l++)u+="0";for(d=dp(u,i,e),l=d.length;!d[l-1];--l);for(a=1,u="1.";a<l;a++)u+=ky.charAt(d[a])}else u=u.charAt(0)+"."+u.slice(1);u=u+(o<0?"p":"p+")+o}else if(o<0){for(;++o;)u="0"+u;u="0."+u}else if(++o>l)for(o-=l;o--;)u+="0";else o<l&&(u=u.slice(0,o)+"."+u.slice(o))}u=(e==16?"0x":e==2?"0b":e==8?"0o":"")+u}return t.s<0?"-"+u:u}function nS(t,e){if(t.length>e)return t.length=e,!0}function BP(t){return new this(t).abs()}function zP(t){return new this(t).acos()}function UP(t){return new this(t).acosh()}function GP(t,e){return new this(t).plus(e)}function HP(t){return new this(t).asin()}function jP(t){return new this(t).asinh()}function $P(t){return new this(t).atan()}function VP(t){return new this(t).atanh()}function WP(t,e){t=new this(t),e=new this(e);var n,r=this.precision,i=this.rounding,o=r+4;return!t.s||!e.s?n=new this(NaN):!t.d&&!e.d?(n=Br(this,o,1).times(e.s>0?.25:.75),n.s=t.s):!e.d||t.isZero()?(n=e.s<0?Br(this,r,i):new this(0),n.s=t.s):!t.d||e.isZero()?(n=Br(this,o,1).times(.5),n.s=t.s):e.s<0?(this.precision=o,this.rounding=1,n=this.atan(nt(t,e,o,1)),e=Br(this,o,1),this.precision=r,this.rounding=i,n=t.s<0?n.minus(e):n.plus(e)):n=this.atan(nt(t,e,o,1)),n}function KP(t){return new this(t).cbrt()}function QP(t){return ve(t=new this(t),t.e+1,2)}function YP(t,e,n){return new this(t).clamp(e,n)}function XP(t){if(!t||typeof t!="object")throw Error(gp+"Object expected");var e,n,r,i=t.defaults===!0,o=["precision",1,no,"rounding",0,8,"toExpNeg",-Ka,0,"toExpPos",0,Ka,"maxE",0,Ka,"minE",-Ka,0,"modulo",0,9];for(e=0;e<o.length;e+=3)if(n=o[e],i&&(this[n]=Ay[n]),(r=t[n])!==void 0)if(pn(r)===r&&r>=o[e+1]&&r<=o[e+2])this[n]=r;else throw Error(to+n+": "+r);if(n="crypto",i&&(this[n]=Ay[n]),(r=t[n])!==void 0)if(r===!0||r===!1||r===0||r===1)if(r)if(typeof crypto<"u"&&crypto&&(crypto.getRandomValues||crypto.randomBytes))this[n]=!0;else throw Error(aS);else this[n]=!1;else throw Error(to+n+": "+r);return this}function ZP(t){return new this(t).cos()}function qP(t){return new this(t).cosh()}function fS(t){var e,n,r;function i(o){var a,s,l,c=this;if(!(c instanceof i))return new i(o);if(c.constructor=i,rS(o)){c.s=o.s,Te?!o.d||o.e>i.maxE?(c.e=NaN,c.d=null):o.e<i.minE?(c.e=0,c.d=[0]):(c.e=o.e,c.d=o.d.slice()):(c.e=o.e,c.d=o.d?o.d.slice():o.d);return}if(l=typeof o,l==="number"){if(o===0){c.s=1/o<0?-1:1,c.e=0,c.d=[0];return}if(o<0?(o=-o,c.s=-1):c.s=1,o===~~o&&o<1e7){for(a=0,s=o;s>=10;s/=10)a++;Te?a>i.maxE?(c.e=NaN,c.d=null):a<i.minE?(c.e=0,c.d=[0]):(c.e=a,c.d=[o]):(c.e=a,c.d=[o]);return}if(o*0!==0){o||(c.s=NaN),c.e=NaN,c.d=null;return}return pp(c,o.toString())}if(l==="string")return(s=o.charCodeAt(0))===45?(o=o.slice(1),c.s=-1):(s===43&&(o=o.slice(1)),c.s=1),lS.test(o)?pp(c,o):FP(c,o);if(l==="bigint")return o<0?(o=-o,c.s=-1):c.s=1,pp(c,o.toString());throw Error(to+o)}if(i.prototype=te,i.ROUND_UP=0,i.ROUND_DOWN=1,i.ROUND_CEIL=2,i.ROUND_FLOOR=3,i.ROUND_HALF_UP=4,i.ROUND_HALF_DOWN=5,i.ROUND_HALF_EVEN=6,i.ROUND_HALF_CEIL=7,i.ROUND_HALF_FLOOR=8,i.EUCLID=9,i.config=i.set=XP,i.clone=fS,i.isDecimal=rS,i.abs=BP,i.acos=zP,i.acosh=UP,i.add=GP,i.asin=HP,i.asinh=jP,i.atan=$P,i.atanh=VP,i.atan2=WP,i.cbrt=KP,i.ceil=QP,i.clamp=YP,i.cos=ZP,i.cosh=qP,i.div=JP,i.exp=e2,i.floor=t2,i.hypot=n2,i.ln=r2,i.log=i2,i.log10=a2,i.log2=o2,i.max=s2,i.min=l2,i.mod=c2,i.mul=u2,i.pow=d2,i.random=p2,i.round=h2,i.sign=f2,i.sin=m2,i.sinh=g2,i.sqrt=y2,i.sub=w2,i.sum=v2,i.tan=b2,i.tanh=x2,i.trunc=C2,t===void 0&&(t={}),t&&t.defaults!==!0)for(r=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],e=0;e<r.length;)t.hasOwnProperty(n=r[e++])||(t[n]=this[n]);return i.config(t),i}function JP(t,e){return new this(t).div(e)}function e2(t){return new this(t).exp()}function t2(t){return ve(t=new this(t),t.e+1,3)}function n2(){var t,e,n=new this(0);for(Te=!1,t=0;t<arguments.length;)if(e=new this(arguments[t++]),e.d)n.d&&(n=n.plus(e.times(e)));else{if(e.s)return Te=!0,new this(1/0);n=e}return Te=!0,n.sqrt()}function rS(t){return t instanceof Ya||t&&t.toStringTag===sS||!1}function r2(t){return new this(t).ln()}function i2(t,e){return new this(t).log(e)}function o2(t){return new this(t).log(2)}function a2(t){return new this(t).log(10)}function s2(){return dS(this,arguments,-1)}function l2(){return dS(this,arguments,1)}function c2(t,e){return new this(t).mod(e)}function u2(t,e){return new this(t).mul(e)}function d2(t,e){return new this(t).pow(e)}function p2(t){var e,n,r,i,o=0,a=new this(1),s=[];if(t===void 0?t=this.precision:On(t,1,no),r=Math.ceil(t/xe),this.crypto)if(crypto.getRandomValues)for(e=crypto.getRandomValues(new Uint32Array(r));o<r;)i=e[o],i>=429e7?e[o]=crypto.getRandomValues(new Uint32Array(1))[0]:s[o++]=i%1e7;else if(crypto.randomBytes){for(e=crypto.randomBytes(r*=4);o<r;)i=e[o]+(e[o+1]<<8)+(e[o+2]<<16)+((e[o+3]&127)<<24),i>=214e7?crypto.randomBytes(4).copy(e,o):(s.push(i%1e7),o+=4);o=r/4}else throw Error(aS);else for(;o<r;)s[o++]=Math.random()*1e7|0;for(r=s[--o],t%=xe,r&&t&&(i=Ut(10,xe-t),s[o]=(r/i|0)*i);s[o]===0;o--)s.pop();if(o<0)n=0,s=[0];else{for(n=-1;s[0]===0;n-=xe)s.shift();for(r=1,i=s[0];i>=10;i/=10)r++;r<xe&&(n-=xe-r)}return a.e=n,a.d=s,a}function h2(t){return ve(t=new this(t),t.e+1,this.rounding)}function f2(t){return t=new this(t),t.d?t.d[0]?t.s:0*t.s:t.s||NaN}function m2(t){return new this(t).sin()}function g2(t){return new this(t).sinh()}function y2(t){return new this(t).sqrt()}function w2(t,e){return new this(t).sub(e)}function v2(){var t=0,e=arguments,n=new this(e[t]);for(Te=!1;n.s&&++t<e.length;)n=n.plus(e[t]);return Te=!0,ve(n,this.precision,this.rounding)}function b2(t){return new this(t).tan()}function x2(t){return new this(t).tanh()}function C2(t){return ve(t=new this(t),t.e+1,1)}te[Symbol.for("nodejs.util.inspect.custom")]=te.toString;te[Symbol.toStringTag]="Decimal";var Ya=te.constructor=fS(Ay);hp=new Ya(hp);fp=new Ya(fp);function It(t){let e=Number(t??0);return Number.isFinite(e)?e.toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2}):"0.00"}function Ur(t){let e=Number(t??0);if(!Number.isFinite(e))return"0.00";let n=Math.abs(e);return n>=1e8?`${It(e/1e8)} \u4EBF`:n>=1e4?`${It(e/1e4)} \u4E07`:It(e)}function Gl(t){let e=Number(t??0);return Number.isFinite(e)?`${(e*100).toLocaleString("zh-CN",{minimumFractionDigits:2,maximumFractionDigits:2})}%`:"0.00%"}function fi(t,e){let n=Number(e)||0;return Gl(n>0?(Number(t)||0)/n:0)}function mS(...t){return t.reduce((e,n)=>e.plus(String(n??0)),new Ya(0)).toString()}function Hl(t){return typeof t=="string"&&t?t.slice(0,10):""}var gS=be(Qt(),1);var Ve=be(Be(),1);function yS({points:t}){let e=Array.from({length:12},(u,d)=>t.find(p=>p.month===d+1)??{month:d+1,purchaseAmountCny:"0",salesAmountCny:"0",estimatedGrossProfitCny:"0",receivedCny:"0"}),n=["purchaseAmountCny","salesAmountCny","estimatedGrossProfitCny","receivedCny"],i=Math.max(...e.flatMap(u=>n.map(d=>Number(u[d])||0)),1)/1e4,o=Math.max(1,Math.ceil(i/5)*5),a=Array.from({length:5},(u,d)=>o-o/4*d),s=u=>e.map((d,p)=>({x:58+p*(514/11),y:132-(Number(d[u])||0)/1e4/o*104})),l=u=>s(u).map(d=>`${d.x.toFixed(1)},${d.y.toFixed(1)}`).join(" "),c=u=>u==="salesAmountCny"?"is-sales":u==="purchaseAmountCny"?"is-purchase":u==="receivedCny"?"is-received":"is-profit";return(0,Ve.jsxs)("div",{className:"tcw-analytics-line-chart",children:[(0,Ve.jsx)("span",{className:"tcw-analytics-trend-unit",children:"\u91D1\u989D\uFF08\u4E07\u5143\uFF09"}),(0,Ve.jsxs)("svg",{viewBox:"0 0 600 170",role:"img","aria-label":"\u6708\u5EA6\u7ECF\u8425\u8D8B\u52BF\u6298\u7EBF\u56FE",children:[(0,Ve.jsx)("g",{className:"tcw-analytics-line-grid",children:[28,54,80,106,132].map((u,d)=>(0,Ve.jsxs)(gS.default.Fragment,{children:[(0,Ve.jsx)("line",{x1:"58",x2:"572",y1:u,y2:u}),(0,Ve.jsx)("text",{className:"tcw-analytics-trend-axis",x:"45",y:u+4,children:S2(a[d])})]},u))}),n.map(u=>(0,Ve.jsx)("polyline",{className:c(u),points:l(u)},u)),n.flatMap(u=>s(u).map((d,p)=>(0,Ve.jsx)("circle",{className:c(u),cx:d.x,cy:d.y,r:"2.6"},`${u}-${p}`))),e.map((u,d)=>(0,Ve.jsxs)("text",{x:58+d*(514/11),y:"157",children:[u.month,"\u6708"]},u.month))]})]})}function wS({kpis:t}){let e=[["\u5DF2\u6536\u6B3E",t.receivedCny,"#16a34a"],["\u672A\u6536\u6B3E",t.unreceivedCny,"#f97316"],["\u5DF2\u4ED8\u6B3E",t.paidCny,"#1769ff"],["\u672A\u4ED8\u6B3E",t.unpaidCny,"#ff7a00"],["\u5DF2\u9000\u7A0E",t.refundedCny,"#26b6c8"],["\u672A\u9000\u7A0E",t.unrefundedCny,"#ff4d55"]],n=Math.max(e.reduce((i,o)=>i+(Number(o[1])||0),0),1),r=Math.max(...e.map(i=>Number(i[1])||0),1);return(0,Ve.jsxs)("div",{className:"tcw-analytics-money-structure",children:[(0,Ve.jsxs)("div",{className:"tcw-analytics-money-head",children:[(0,Ve.jsx)("span",{children:"\u91D1\u989D\uFF08\u4E07\u5143\uFF09"}),(0,Ve.jsx)("span",{children:"\u5360\u6BD4"})]}),e.map(([i,o,a])=>(0,Ve.jsxs)("div",{className:"tcw-analytics-money-row",children:[(0,Ve.jsxs)("span",{children:[(0,Ve.jsx)("i",{style:{background:a}}),i]}),(0,Ve.jsx)("em",{children:(0,Ve.jsx)("i",{style:{width:`${(Number(o)||0)/r*100}%`,background:a}})}),(0,Ve.jsx)("b",{children:It((Number(o)||0)/1e4)}),(0,Ve.jsx)("strong",{children:fi(o,n)})]},i))]})}function vS({items:t,onOpen:e}){let n=t.reduce((s,l)=>s+l.count,0),r=["#1769ff","#26b6c8","#ff9f1c","#8b5cf6","#5ac85a"],i=0,o=t.map((s,l)=>{let c=i;return i+=n>0?s.count/n*100:0,`${r[l%r.length]} ${c.toFixed(2)}% ${i.toFixed(2)}%`}).join(", "),a={"--risk-donut":n>0?`conic-gradient(${o})`:"conic-gradient(#edf2f7 0 100%)"};return(0,Ve.jsxs)("div",{className:"tcw-analytics-risk-distribution","data-analytics-entry":"compliance-risk",children:[(0,Ve.jsxs)("div",{className:"tcw-analytics-donut",style:a,children:[(0,Ve.jsx)("strong",{children:"\u5408\u8BA1"}),(0,Ve.jsx)("span",{children:n})]}),(0,Ve.jsx)("dl",{children:t.map((s,l)=>(0,Ve.jsxs)("button",{type:"button",onClick:()=>e(s),children:[(0,Ve.jsxs)("dt",{children:[(0,Ve.jsx)("i",{className:"ri-checkbox-blank-circle-fill",style:{color:r[l%r.length]},"aria-hidden":"true"}),s.label]}),(0,Ve.jsxs)("dd",{children:[s.count," (",fi(s.count,n),")"]})]},s.key))})]})}function S2(t){return t.toLocaleString("zh-CN",{maximumFractionDigits:t<10?1:0})}var j=be(Be(),1);function xS({data:t,onOpenDetail:e}){let n=t.dashboard,r=[["\u91C7\u8D2D\u603B\u989D",Ur(n.kpis.purchaseTotalCny),"ri-shopping-cart-line","money"],["\u9500\u552E\u603B\u989D",Ur(n.kpis.salesTotalCny),"ri-bar-chart-line","money"],["\u5DF2\u6536\u6B3E\u91D1\u989D",Ur(n.kpis.receivedCny),"ri-time-line","success"],["\u672A\u6536\u6B3E\u91D1\u989D",Ur(n.kpis.unreceivedCny),"ri-alarm-warning-line","warn"],["\u5DF2\u4ED8\u6B3E\u91D1\u989D",Ur(n.kpis.paidCny),"ri-secure-payment-line","success"],["\u672A\u4ED8\u6B3E\u91D1\u989D",Ur(n.kpis.unpaidCny),"ri-error-warning-line","warn"],["\u672A\u9000\u7A0E\u91D1\u989D",Ur(n.kpis.unrefundedCny),"ri-refund-2-line","warn"],["\u9884\u8BA1\u6BDB\u5229\u7387",Gl(n.kpis.estimatedGrossProfitRate),"ri-funds-box-line","success"],["\u5408\u89C4\u5F85\u529E\u6570",`${n.kpis.complianceTodoCount} \u9879`,"ri-shield-check-line","warn"],["\u98CE\u9669\u655E\u53E3\u91D1\u989D",Ur(n.kpis.riskExposureCny),"ri-shield-flash-line","risk"]],i=["\u7EDF\u8BA1\u5468\u671F\u5185\u91C7\u8D2D\u8BA2\u5355","\u7EDF\u8BA1\u5468\u671F\u5185\u9500\u552E\u8BA2\u5355",`\u56DE\u6B3E\u7387 ${fi(n.kpis.receivedCny,n.kpis.salesTotalCny)}`,`\u9500\u552E\u5360\u6BD4 ${fi(n.kpis.unreceivedCny,n.kpis.salesTotalCny)}`,`\u4ED8\u6B3E\u7387 ${fi(n.kpis.paidCny,n.kpis.purchaseTotalCny)}`,`\u91C7\u8D2D\u5360\u6BD4 ${fi(n.kpis.unpaidCny,n.kpis.purchaseTotalCny)}`,`\u9000\u7A0E\u7F3A\u53E3 ${fi(n.kpis.unrefundedCny,mS(n.kpis.refundedCny,n.kpis.unrefundedCny))}`,`\u9884\u8BA1\u6BDB\u5229 ${Ur(n.kpis.estimatedGrossProfitCny)}`,`\u5171 ${n.todos.length} \u7C7B`,"\u4E94\u7C7B\u5408\u89C4\u4E8B\u9879\u5173\u8054\u91D1\u989D"];return(0,j.jsxs)("section",{className:"tcw-analytics-cockpit","aria-label":"\u5916\u8D38\u5408\u89C4\u7ECF\u8425\u9A7E\u9A76\u8231",children:[(0,j.jsx)("div",{className:"tcw-analytics-kpi-grid",children:r.map(([o,a,s,l],c)=>(0,j.jsxs)("article",{className:`is-${l}`,children:[(0,j.jsx)("span",{children:o}),(0,j.jsx)("i",{className:s,"aria-hidden":"true"}),(0,j.jsx)("strong",{children:a}),(0,j.jsx)("small",{children:i[c]})]},o))}),(0,j.jsxs)("div",{className:"tcw-analytics-cockpit-layout",children:[(0,j.jsxs)("div",{className:"tcw-analytics-layout-row tcw-analytics-layout-row--charts",children:[(0,j.jsx)(Gr,{title:"\u5408\u89C4\u5F85\u529E\u961F\u5217",icon:"ri-list-check-3",className:"tcw-analytics-panel--queue",children:(0,j.jsx)(k2,{rows:n.todos,onOpen:o=>e({kind:"COMPLIANCE_TODO",categoryKey:o.key,title:`${o.label}\u660E\u7EC6`})})}),(0,j.jsxs)(Gr,{title:"\u6708\u5EA6\u7ECF\u8425\u8D8B\u52BF",icon:"ri-bar-chart-box-line",className:"tcw-analytics-panel--trend",children:[(0,j.jsxs)("div",{className:"tcw-analytics-chart-legend",children:[(0,j.jsxs)("span",{children:[(0,j.jsx)("i",{className:"is-sales"}),"\u9500\u552E\u989D"]}),(0,j.jsxs)("span",{children:[(0,j.jsx)("i",{className:"is-purchase"}),"\u91C7\u8D2D\u989D"]}),(0,j.jsxs)("span",{children:[(0,j.jsx)("i",{className:"is-profit"}),"\u9884\u8BA1\u6BDB\u5229"]}),(0,j.jsxs)("span",{children:[(0,j.jsx)("i",{className:"is-received"}),"\u56DE\u6B3E\u91D1\u989D"]})]}),(0,j.jsx)(yS,{points:n.monthlyTrend})]}),(0,j.jsx)(Gr,{title:"\u8D44\u91D1\u98CE\u9669\u7ED3\u6784",icon:"ri-stack-line",className:"tcw-analytics-panel--capital",children:(0,j.jsx)(wS,{kpis:n.kpis})}),(0,j.jsx)(Gr,{title:"\u5408\u89C4\u98CE\u9669\u5206\u5E03",icon:"ri-donut-chart-line",className:"tcw-analytics-panel--risk",children:(0,j.jsx)(vS,{items:n.riskDistribution,onOpen:o=>e({kind:"COMPLIANCE_RISK",categoryKey:o.key,title:`${o.label}\u660E\u7EC6`})})})]}),(0,j.jsxs)("div",{className:"tcw-analytics-layout-row tcw-analytics-layout-row--top5",children:[(0,j.jsx)(Gr,{title:"\u5BA2\u6237\u4EF7\u503C TOP5",icon:"ri-vip-crown-line",children:(0,j.jsx)(A2,{rows:n.customerValueTop5})}),(0,j.jsx)(Gr,{title:"\u672A\u6536\u98CE\u9669 TOP5",icon:"ri-bank-line",children:(0,j.jsx)(T2,{rows:n.receivableRiskTop5})}),(0,j.jsx)(Gr,{title:"\u4F9B\u5E94\u5546\u98CE\u9669 TOP5",icon:"ri-truck-line",children:(0,j.jsx)(R2,{rows:n.supplierRiskTop5})})]}),(0,j.jsxs)("div",{className:"tcw-analytics-layout-row tcw-analytics-layout-row--bottom",children:[(0,j.jsx)(Gr,{title:"\u5F02\u5E38\u9500\u552E\u6587\u4EF6\u590D\u6838",icon:"ri-file-search-line",className:"tcw-analytics-panel--files",action:(0,j.jsx)(bS,{entry:"sales-file-review",onClick:()=>e({kind:"SALES_FILE_REVIEW",title:"\u5F02\u5E38\u9500\u552E\u6587\u4EF6\u590D\u6838\u660E\u7EC6"})}),children:(0,j.jsx)(E2,{rows:n.salesFileReviews})}),(0,j.jsx)(Gr,{title:"\u98CE\u9669\u8BA2\u5355\u660E\u7EC6",icon:"ri-file-warning-line",className:"tcw-analytics-panel--risk-orders",action:(0,j.jsx)(bS,{entry:"risk-order",onClick:()=>e({kind:"RISK_ORDER",title:"\u98CE\u9669\u8BA2\u5355\u660E\u7EC6"})}),children:(0,j.jsx)(I2,{rows:n.riskOrders})}),(0,j.jsx)(Gr,{title:"\u6307\u6807\u6570\u636E\u6765\u6E90",icon:"ri-database-2-line",className:"tcw-analytics-panel--source",children:(0,j.jsx)(N2,{rows:n.dataSources})})]})]})]})}function Gr({title:t,icon:e,className:n="",action:r,children:i}){return(0,j.jsxs)("section",{className:`tcw-analytics-panel ${n}`.trim(),children:[(0,j.jsxs)("header",{children:[(0,j.jsxs)("strong",{children:[(0,j.jsx)("i",{className:e,"aria-hidden":"true"}),t]}),r]}),i]})}function bS({entry:t,onClick:e}){return(0,j.jsxs)("button",{type:"button",className:"tcw-analytics-view-all","data-analytics-entry":t,onClick:e,children:[(0,j.jsx)("i",{className:"ri-arrow-right-line","aria-hidden":"true"}),"\u67E5\u770B\u5168\u90E8"]})}function k2({rows:t,onOpen:e}){return t.length?(0,j.jsxs)("div",{className:"tcw-analytics-todo-board","data-analytics-entry":"compliance-todo",children:[(0,j.jsxs)("div",{className:"tcw-analytics-todo-head",children:[(0,j.jsx)("span",{children:"\u5F85\u529E\u4E8B\u9879"}),(0,j.jsx)("span",{children:"\u6570\u91CF"}),(0,j.jsx)("span",{children:"\u5173\u8054\u91D1\u989D"}),(0,j.jsx)("span",{children:"\u4F18\u5148\u7EA7"})]}),t.map(n=>(0,j.jsxs)("button",{type:"button",className:"tcw-analytics-todo-row",onClick:()=>e(n),children:[(0,j.jsxs)("span",{title:n.description,children:[(0,j.jsx)("i",{className:"ri-file-list-2-line","aria-hidden":"true"}),n.label]}),(0,j.jsx)("b",{children:n.count}),(0,j.jsx)("em",{children:n.amountCny?It(n.amountCny):""}),(0,j.jsx)(P2,{status:n.priority==="high"?"HIGH":n.priority==="medium"?"MEDIUM":"LOW"})]},n.key))]}):(0,j.jsx)(Xa,{text:"\u6682\u65E0\u5408\u89C4\u5F85\u529E"})}function A2({rows:t}){return t.length?(0,j.jsxs)("table",{className:"tcw-analytics-dashboard-table tcw-analytics-table--customer",children:[(0,j.jsx)("thead",{children:(0,j.jsxs)("tr",{children:[(0,j.jsx)("th",{}),(0,j.jsx)("th",{children:"\u5BA2\u6237\u540D\u79F0"}),(0,j.jsx)("th",{children:"\u9500\u552E\u989D"}),(0,j.jsx)("th",{children:"\u9884\u8BA1\u6BDB\u5229"}),(0,j.jsx)("th",{children:"\u6BDB\u5229\u7387"}),(0,j.jsx)("th",{children:"\u672A\u6536\u6B3E\u91D1\u989D"}),(0,j.jsx)("th",{children:"\u98CE\u9669\u5185\u5BB9"})]})}),(0,j.jsx)("tbody",{children:t.map((e,n)=>(0,j.jsxs)("tr",{children:[(0,j.jsx)("td",{children:n+1}),(0,j.jsx)("td",{title:e.customerName,children:e.customerName}),(0,j.jsx)("td",{title:It(e.salesAmountCny),children:It(e.salesAmountCny)}),(0,j.jsx)("td",{title:It(e.estimatedGrossProfitCny),children:It(e.estimatedGrossProfitCny)}),(0,j.jsx)("td",{title:Gl(e.estimatedGrossProfitRate),children:Gl(e.estimatedGrossProfitRate)}),(0,j.jsx)("td",{title:It(e.unreceivedCny),children:It(e.unreceivedCny)}),(0,j.jsx)("td",{children:(0,j.jsx)(CS,{labels:D2(e),tone:e.riskStatus})})]},e.customerId))})]}):(0,j.jsx)(Xa,{text:"\u6682\u65E0\u5BA2\u6237\u4EF7\u503C\u6392\u540D"})}function T2({rows:t}){return t.length?(0,j.jsxs)("table",{className:"tcw-analytics-dashboard-table tcw-analytics-table--receivable",children:[(0,j.jsx)("thead",{children:(0,j.jsxs)("tr",{children:[(0,j.jsx)("th",{children:"\u5BA2\u6237\u540D\u79F0"}),(0,j.jsx)("th",{children:"\u672A\u6536\u6B3E\u91D1\u989D"}),(0,j.jsx)("th",{children:"\u5173\u8054\u9500\u552E\u8BA2\u5355\u6570"}),(0,j.jsx)("th",{children:"\u6700\u8FD1\u8BA2\u5355\u65E5\u671F"})]})}),(0,j.jsx)("tbody",{children:t.map(e=>(0,j.jsxs)("tr",{children:[(0,j.jsx)("td",{title:e.customerName,children:e.customerName}),(0,j.jsx)("td",{title:It(e.unreceivedCny),children:It(e.unreceivedCny)}),(0,j.jsx)("td",{title:String(e.orderCount),children:e.orderCount}),(0,j.jsx)("td",{title:Hl(e.latestOrderDate),children:Hl(e.latestOrderDate)})]},e.customerId))})]}):(0,j.jsx)(Xa,{text:"\u6682\u65E0\u672A\u6536\u98CE\u9669"})}function R2({rows:t}){return t.length?(0,j.jsxs)("table",{className:"tcw-analytics-dashboard-table tcw-analytics-table--supplier",children:[(0,j.jsx)("thead",{children:(0,j.jsxs)("tr",{children:[(0,j.jsx)("th",{children:"\u4F9B\u5E94\u5546\u540D\u79F0"}),(0,j.jsx)("th",{children:"\u672A\u4ED8\u6B3E\u91D1\u989D"}),(0,j.jsx)("th",{children:"\u98CE\u9669\u5185\u5BB9"}),(0,j.jsx)("th",{children:"\u5236\u88C1\u72B6\u6001"}),(0,j.jsx)("th",{children:"\u5173\u8054\u91C7\u8D2D\u8BA2\u5355\u6570"}),(0,j.jsx)("th",{children:"\u5546\u54C1\u98CE\u9669\u547D\u4E2D\u6570"})]})}),(0,j.jsx)("tbody",{children:t.map(e=>{let n=e.sanctionHitCount>0?"\u547D\u4E2D\u5236\u88C1":"\u672A\u547D\u4E2D";return(0,j.jsxs)("tr",{children:[(0,j.jsx)("td",{title:e.supplierName,children:e.supplierName}),(0,j.jsx)("td",{title:It(e.unpaidCny),children:It(e.unpaidCny)}),(0,j.jsx)("td",{children:(0,j.jsx)(CS,{labels:O2(e),tone:e.riskStatus})}),(0,j.jsx)("td",{children:(0,j.jsx)("span",{title:n,className:e.sanctionHitCount>0?"tcw-analytics-status is-danger":"tcw-analytics-status is-ok",children:n})}),(0,j.jsx)("td",{title:String(e.purchaseOrderCount),children:e.purchaseOrderCount}),(0,j.jsx)("td",{title:String(e.productRiskHitCount),children:e.productRiskHitCount})]},e.supplierId)})})]}):(0,j.jsx)(Xa,{text:"\u6682\u65E0\u4F9B\u5E94\u5546\u98CE\u9669"})}function E2({rows:t}){return t.length?(0,j.jsxs)("table",{className:"tcw-analytics-dashboard-table tcw-analytics-table--files",children:[(0,j.jsx)("thead",{children:(0,j.jsxs)("tr",{children:[(0,j.jsx)("th",{children:"\u6587\u4EF6\u7F16\u53F7"}),(0,j.jsx)("th",{children:"\u6587\u4EF6\u7C7B\u578B"}),(0,j.jsx)("th",{children:"\u5173\u8054\u9500\u552E\u8BA2\u5355"}),(0,j.jsx)("th",{children:"\u5F02\u5E38\u539F\u56E0"})]})}),(0,j.jsx)("tbody",{children:t.map(e=>(0,j.jsxs)("tr",{children:[(0,j.jsx)("td",{title:e.fileName,children:e.fileName}),(0,j.jsx)("td",{title:e.fileType,children:e.fileType}),(0,j.jsx)("td",{title:e.salesOrderNo,children:e.salesOrderNo}),(0,j.jsx)("td",{title:e.reason,children:e.reason})]},e.fileId))})]}):(0,j.jsx)(Xa,{text:"\u6682\u65E0\u5F02\u5E38\u9500\u552E\u6587\u4EF6"})}function I2({rows:t}){return t.length?(0,j.jsxs)("table",{className:"tcw-analytics-dashboard-table tcw-analytics-risk-orders",children:[(0,j.jsx)("thead",{children:(0,j.jsxs)("tr",{children:[(0,j.jsx)("th",{children:"\u8BA2\u5355\u7F16\u53F7"}),(0,j.jsx)("th",{children:"\u4E1A\u52A1\u5BF9\u8C61"}),(0,j.jsx)("th",{children:"\u98CE\u9669\u7C7B\u578B"}),(0,j.jsx)("th",{children:"\u98CE\u9669\u91D1\u989D"}),(0,j.jsx)("th",{children:"\u72B6\u6001"})]})}),(0,j.jsx)("tbody",{children:t.map(e=>(0,j.jsxs)("tr",{children:[(0,j.jsx)("td",{title:e.orderNo,children:e.orderNo}),(0,j.jsx)("td",{title:e.partyName,children:e.partyName}),(0,j.jsx)("td",{children:(0,j.jsx)("em",{title:e.riskType,children:e.riskType})}),(0,j.jsx)("td",{title:It(e.riskAmountCny),children:It(e.riskAmountCny)}),(0,j.jsx)("td",{children:(0,j.jsx)("span",{title:e.status,className:"tcw-analytics-status is-warn",children:e.status})})]},e.orderKey))})]}):(0,j.jsx)(Xa,{text:"\u6682\u65E0\u98CE\u9669\u8BA2\u5355"})}function N2({rows:t}){let e=["ri-file-list-3-line","ri-file-chart-line","ri-file-shield-2-line","ri-file-warning-line","ri-file-check-line","ri-file-copy-2-line","ri-file-paper-2-line","ri-file-text-line","ri-file-list-2-line","ri-refund-2-line","ri-file-search-line","ri-exchange-cny-line"];return(0,j.jsx)("div",{className:"tcw-analytics-source-list",children:t.map((n,r)=>(0,j.jsxs)("div",{className:"tcw-analytics-source-item",title:`${n.label}\uFF1A${n.description}`,children:[(0,j.jsx)("i",{className:e[r%e.length],"aria-hidden":"true"}),(0,j.jsx)("strong",{children:n.label})]},n.label))})}function P2({status:t}){let e=t==="HIGH"?"\u9AD8":t==="MEDIUM"?"\u4E2D":t==="LOW"?"\u4F4E":t;return(0,j.jsx)("span",{className:`tcw-analytics-risk-badge is-${t.toLowerCase()}`,children:e})}function CS({labels:t,tone:e}){return(0,j.jsx)("span",{className:"tcw-analytics-risk-tags",title:t.join("\u3001"),children:t.map(n=>(0,j.jsx)("span",{title:n,className:`tcw-analytics-status ${e==="HIGH"?"is-danger":e==="MEDIUM"?"is-warn":"is-ok"}`,children:n},n))})}function D2(t){return Number(t.unreceivedCny)>0?["\u672A\u6536\u6B3E"]:["\u65E0\u660E\u663E\u8D44\u91D1\u98CE\u9669"]}function O2(t){let e=[...t.sanctionHitCount>0?["\u5236\u88C1\u547D\u4E2D"]:[],...t.productRiskHitCount>0?["\u5546\u54C1\u98CE\u9669"]:[],...Number(t.unpaidCny)>0?["\u672A\u4ED8\u6B3E"]:[]];return e.length?e:["\u65E0\u660E\u663E\u98CE\u9669"]}function Xa({text:t}){return(0,j.jsx)("small",{className:"tcw-analytics-empty",children:t})}var xn=be(Be(),1);function Iy({title:t,page:e,busy:n,error:r,onBack:i,onPageChange:o,onPageSizeChange:a,onAction:s}){let l=L2(e.items);return(0,xn.jsxs)("section",{className:"tcw-analytics-detail-page","aria-label":t,children:[(0,xn.jsxs)("header",{className:"tcw-analytics-detail-header",children:[(0,xn.jsxs)("div",{children:[(0,xn.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:i,children:[(0,xn.jsx)("i",{className:"ri-arrow-left-line","aria-hidden":"true"}),"\u8FD4\u56DE\u9A7E\u9A76\u8231"]}),(0,xn.jsx)("h2",{children:t})]}),(0,xn.jsxs)("span",{children:["\u5171 ",e.total," \u6761"]})]}),r&&(0,xn.jsx)(ct,{children:r}),n&&(0,xn.jsxs)("div",{className:"tcw-inline-loading",role:"status",children:[(0,xn.jsx)("span",{className:"tcw-spinner","aria-hidden":"true"}),"\u660E\u7EC6\u52A0\u8F7D\u4E2D"]}),(0,xn.jsx)(ot,{columns:l,rows:e.items,rowKey:"id",pagination:e,onPageChange:o,onPageSizeChange:a,emptyText:"\u5F53\u524D\u7EDF\u8BA1\u9879\u6682\u65E0\u660E\u7EC6",actionWidth:92,actions:c=>(0,xn.jsxs)("button",{type:"button",className:"tcw-button tcw-button--text",onClick:()=>s(c),children:[(0,xn.jsx)("i",{className:_2(c.action.kind),"aria-hidden":"true"}),c.action.label]})})]})}function L2(t){let e=[{type:"ellipsis",key:"referenceNo",header:"\u4E1A\u52A1\u7F16\u53F7",width:180,maxWidth:180},{type:"ellipsis",key:"categoryLabel",header:"\u4E1A\u52A1\u5206\u7C7B",width:150,maxWidth:150}];return t.some(n=>n.subjectName)&&e.push({type:"ellipsis",key:"subjectName",header:"\u4E1A\u52A1\u5BF9\u8C61",width:180,maxWidth:180}),t.some(n=>n.businessDate)&&e.push({type:"text",key:"businessDate",header:"\u4E1A\u52A1\u65E5\u671F",width:120,format:n=>Hl(n)}),t.some(n=>n.reason)&&e.push({type:"ellipsis",key:"reason",header:"\u5F02\u5E38\u539F\u56E0",width:260,maxWidth:260}),t.some(n=>n.amountCny!=null)&&e.push({type:"text",key:"amountCny",header:"\u98CE\u9669\u91D1\u989D",width:150,align:"right",format:n=>It(n)}),e.push({type:"text",key:"status",header:"\u72B6\u6001",width:110,align:"center"}),e}function _2(t){return t==="SALES_FILE_REVIEW"?"ri-file-search-line":t==="CUSTOMER_CONTRACT_REVIEW"||t==="PURCHASE_CONTRACT_REVIEW"?"ri-shield-check-line":t==="SALES_ORDER_VIEW"||t==="PURCHASE_ORDER_VIEW"?"ri-eye-line":"ri-arrow-right-line"}var $e=be(Be(),1),SS=()=>({items:[],page:1,pageSize:20,total:0,pageCount:1});function AS({data:t,committedQuery:e,detailRefreshKey:n=0,busy:r,error:i,onQuery:o,onDetailQuery:a,onDetailAction:s,onExportXlsx:l}){let c=e??{filters:{orderDate:Ny(t.currentYear)},page:1,pageSize:20},[u,d]=Vn.default.useState(c.filters),[p,h]=Vn.default.useState(()=>kS(c,t.currentYear)),[m,f]=Vn.default.useState(!1),[v,g]=Vn.default.useState(null),[y,w]=Vn.default.useState(SS),[b,x]=Vn.default.useState(!1),[C,k]=Vn.default.useState(null),S=Vn.default.useRef(Or()),E=Vn.default.useRef(n);Vn.default.useEffect(()=>{d(c.filters),h(kS(c,t.currentYear))},[c,t.currentYear]);let D=V=>o({filters:V,page:1,pageSize:c.pageSize}),O=V=>{let G={orderDate:V==="year"?Ny(t.currentYear):TS()};h(V),f(!1),d(G),D(G)},H=()=>{h("custom"),f(!1),D(u)},M=Vn.default.useCallback(async(V,G,K)=>{let J=S.current.begin();x(!0),k(null);try{let ie=await a({kind:V.kind,categoryKey:V.categoryKey,filters:u,page:G,pageSize:K});if(G>ie.pageCount&&(ie=await a({kind:V.kind,categoryKey:V.categoryKey,filters:u,page:ie.pageCount,pageSize:K})),!S.current.commit(J))return;w(ie)}catch(ie){if(!S.current.commit(J))return;k(ie instanceof Error?ie.message:"\u660E\u7EC6\u52A0\u8F7D\u5931\u8D25"),w({items:[],page:G,pageSize:K,total:0,pageCount:1})}finally{S.current.finish(J),S.current.activeCount()===0&&x(!1)}},[u,a]),_=V=>{g(V),w(SS()),M(V,1,20)};return Vn.default.useEffect(()=>{E.current!==n&&(E.current=n,v&&M(v,y.page,y.pageSize))},[y.page,y.pageSize,n,M,v]),v?(0,$e.jsx)(Iy,{title:v.title,page:y,busy:b,error:C,onBack:()=>{S.current.invalidate(),g(null),k(null),x(!1)},onPageChange:V=>{M(v,V,y.pageSize)},onPageSizeChange:V=>{M(v,1,V)},onAction:V=>{s?.(V)}}):(0,$e.jsxs)("section",{className:"tcw-analytics-page","aria-label":"\u6570\u636E\u5206\u6790",children:[(0,$e.jsxs)("div",{className:"tcw-analytics-cockpit-hero",children:[(0,$e.jsxs)("div",{children:[(0,$e.jsx)("h1",{children:"\u5916\u8D38\u5408\u89C4\u7ECF\u8425\u9A7E\u9A76\u8231"}),(0,$e.jsx)("p",{children:"\u7ECF\u8425\u8D44\u91D1\u3001\u5408\u540C\u5BA1\u6838\u3001\u5546\u54C1\u7BA1\u63A7\u3001\u5236\u88C1\u547D\u4E2D\u3001\u5229\u6DA6\u5F02\u5E38\u7EDF\u4E00\u76D1\u63A7"})]}),(0,$e.jsxs)("div",{className:"tcw-analytics-page-actions",children:[l&&(0,$e.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:()=>{l({filters:u,format:"XLSX"})},children:[(0,$e.jsx)("i",{className:"ri-download-2-line","aria-hidden":"true"}),"\u5BFC\u51FA\u62A5\u8868"]}),(0,$e.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:()=>{D(u)},children:[(0,$e.jsx)("i",{className:"ri-refresh-line","aria-hidden":"true"}),"\u5237\u65B0"]})]})]}),(0,$e.jsx)("div",{className:"tcw-analytics-query",children:(0,$e.jsxs)("div",{className:"tcw-analytics-toolbar",children:[(0,$e.jsx)("span",{className:"tcw-analytics-label",children:"\u7EDF\u8BA1\u5468\u671F\uFF1A"}),(0,$e.jsxs)("div",{className:"tcw-segmented-control tcw-analytics-period",role:"group","aria-label":"\u7EDF\u8BA1\u65F6\u95F4",children:[(0,$e.jsxs)("button",{type:"button","aria-pressed":p==="year",onClick:()=>O("year"),children:[(0,$e.jsx)("i",{className:"ri-calendar-event-line","aria-hidden":"true"}),"\u672C\u5E74"]}),(0,$e.jsxs)("button",{type:"button","aria-pressed":p==="month",onClick:()=>O("month"),children:[(0,$e.jsx)("i",{className:"ri-calendar-check-line","aria-hidden":"true"}),"\u672C\u6708"]}),(0,$e.jsxs)("button",{type:"button","aria-pressed":p==="custom",onClick:()=>{h("custom"),f(!0)},children:[(0,$e.jsx)("i",{className:"ri-calendar-2-line","aria-hidden":"true"}),"\u81EA\u5B9A\u4E49\u533A\u95F4"]})]}),m&&(0,$e.jsxs)("div",{className:"tcw-analytics-custom-range",children:[(0,$e.jsx)("input",{type:"date","aria-label":"\u7EDF\u8BA1\u5F00\u59CB\u65E5\u671F",value:u.orderDate?.from??"",onChange:V=>d({orderDate:{...u.orderDate,from:V.target.value}})}),(0,$e.jsx)("span",{children:"\u81F3"}),(0,$e.jsx)("input",{type:"date","aria-label":"\u7EDF\u8BA1\u7ED3\u675F\u65E5\u671F",value:u.orderDate?.to??"",onChange:V=>d({orderDate:{...u.orderDate,to:V.target.value}})}),(0,$e.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:H,children:[(0,$e.jsx)("i",{className:"ri-check-line","aria-hidden":"true"}),"\u5E94\u7528"]})]})]})}),(0,$e.jsx)(xS,{data:t,onOpenDetail:_}),i&&(0,$e.jsx)(ct,{children:i}),r&&(0,$e.jsxs)("div",{className:"tcw-inline-loading",role:"status",children:[(0,$e.jsx)("span",{className:"tcw-spinner","aria-hidden":"true"}),"\u6570\u636E\u52A0\u8F7D\u4E2D"]})]})}function Ny(t){return{from:`${t}-01-01`,to:`${t}-12-31`}}function TS(t=new Date){let n=new Intl.DateTimeFormat("en-CA",{timeZone:"Asia/Shanghai",year:"numeric",month:"2-digit",day:"2-digit"}).format(t);return{from:`${n.slice(0,7)}-01`,to:n}}function kS(t,e){let n=t.filters.orderDate;if(!n?.from&&!n?.to)return"year";let r=Ny(e),i=TS();return n?.from===r.from&&n?.to===r.to?"year":n?.from===i.from&&n?.to===i.to?"month":"custom"}var Oe=be(Qt(),1);function RS({upload:t,discard:e,apply:n,notify:r}){let i=!0,o=0,a=null,s=l=>e(l);return{async upload(l){let c=++o;try{let u=await t(l);if(!i||c!==o)return s(u),null;let d=a;return a=u,d&&d!==u&&s(d),n(u),r?.({message:"\u516C\u53F8 Logo \u4E0A\u4F20\u6210\u529F",tone:"success"}),u}catch(u){return i&&c===o&&r?.({message:u instanceof Error?u.message:"\u516C\u53F8 Logo \u4E0A\u4F20\u5931\u8D25",tone:"error"}),null}},discardDraft(){o+=1;let l=a;a=null,l&&s(l)},markSaved(l){a===l&&(a=null)},dispose(){if(!i)return;i=!1,o+=1;let l=a;a=null,l&&s(l)}}}var N=be(Be(),1);async function F2({selectedIds:t,rows:e,onDeleteRate:n,refresh:r,query:i,notify:o,isCurrent:a=()=>!0}){let s=new Map(e.filter(h=>!!h.id).map(h=>[h.id,{request:{settingsType:"rate",id:h.id,expectedRevision:h.revision??0},label:`${h.year}\u5E74${String(h.month).padStart(2,"0")}\u6708 ${h.currencyCode??"USD"}`}])),l=[...t].filter(h=>s.has(h)),c=await rr(l,h=>n(s.get(h).request,{suppressRefresh:!0})),u=c.failed.map(h=>({...h,label:s.get(h.key)?.label??h.key})),d=e.filter(h=>!h.id||!c.succeeded.includes(h.id)),p=Lr(i.page,d.length);if(!a())return{selectedIds:new Set(l),failures:u,refreshFailed:!1,stale:!0};try{let h=await r({...i,page:p});if(!a())return{selectedIds:new Set(l),failures:u,refreshFailed:!1,stale:!0};if(h===!1)return{selectedIds:new Set(l),failures:u,refreshFailed:!0,stale:!1}}catch{return a()?{selectedIds:new Set(l),failures:u,refreshFailed:!0,stale:!1}:{selectedIds:new Set(l),failures:u,refreshFailed:!1,stale:!0}}return u.length===0?o?.({message:`\u5DF2\u5220\u9664 ${c.succeeded.length} \u6761`,tone:"success"}):o?.({message:`\u6210\u529F ${c.succeeded.length}\u3001\u5931\u8D25 ${u.length}`,tone:c.succeeded.length>0?"warning":"error"}),{selectedIds:new Set(u.map(h=>h.key)),failures:u,refreshFailed:!1,stale:!1}}function M2(t,e,n){let r=new Set(n.flatMap(i=>i.id?[i.id]:[]));return{selectedIds:new Set([...t].filter(i=>r.has(i))),failures:e.filter(i=>r.has(i.key))}}function B2(t,e,n){let r=new Set(t);for(let i of e)i.id&&(n?r.add(i.id):r.delete(i.id));return r}function ES({onSave:t,onRestoreDefault:e,onDeleteRate:n}){return{saveCompany:r=>{let{revision:i,...o}=r;return t({settingsType:"company",expectedRevision:i,values:o})},saveBank:r=>{let{revision:i,...o}=r;return t({settingsType:"bank",expectedRevision:i,values:o})},saveProfit:r=>t({settingsType:"profit",expectedRevision:r.revision,values:{status:r.status,minimumOrderProfitRate:r.minimumOrderProfitRate,exchangeCostMinimum:r.exchangeCostMinimum,exchangeCostMaximum:r.exchangeCostMaximum}}),saveRate:r=>t({settingsType:"rate",expectedRevision:r.revision??0,values:{...r,sourceType:"MANUAL",currencyCode:"USD"}}),restoreCompany:r=>e({settingsType:"company",expectedRevision:r}),restoreBank:r=>e({settingsType:"bank",bankType:r.bankType,expectedRevision:r.revision}),restoreProfit:r=>e({settingsType:"profit",expectedRevision:r}),deleteRate:r=>n({settingsType:"rate",id:r.id??"",expectedRevision:r.revision??0})}}function Py(t,e){return t.revision===e.revision?t:e}async function Vl(t,e){let n=await t();return n&&e(),n}var $l=[{key:"COMPANY",label:"\u516C\u53F8\u4FE1\u606F"},{key:"BANK",label:"\u94F6\u884C\u4FE1\u606F"},{key:"MONTHLY_RATE",label:"\u6708\u5EA6\u6C47\u7387"}];function z2(t,e){if(e!=="ArrowLeft"&&e!=="ArrowRight")return t;let n=$l.findIndex(r=>r.key===t);return $l[(n+(e==="ArrowRight"?1:$l.length-1))%$l.length].key}function IS(t){return t.toLowerCase().replace("_","-")}function U2(t){return t==="COMPANY"?"\u516C\u53F8\u914D\u7F6E\u5141\u8BB8\u4FDD\u5B58\u4E0D\u5B8C\u6574\u5185\u5BB9\uFF0C\u751F\u6210\u6587\u4EF6\u65F6\u4F18\u5148\u5199\u5165\u975E\u7A7A\u914D\u7F6E\uFF0C\u7F3A\u5931\u5B57\u6BB5\u4FDD\u7559\u6A21\u677F\u9ED8\u8BA4\u503C\u3002":t==="BANK"?"\u7CFB\u7EDF\u4EC5\u7EF4\u62A4\u4EE5\u4E0A\u4E24\u7C7B\u56FA\u5B9A\u6536\u6B3E\u94F6\u884C\u4FE1\u606F\uFF08\u4EBA\u6C11\u5E01\u3001\u7F8E\u5143\uFF09\uFF0C\u4E0D\u652F\u6301\u65B0\u589E\u6216\u7EF4\u62A4\u591A\u6761\u8BB0\u5F55\u3002\u751F\u6210\u7684\u6587\u4EF6\u5C06\u4FDD\u5B58\u5F53\u524D\u94F6\u884C\u4FE1\u606F\u5FEB\u7167\uFF0C\u8BF7\u5728\u4FEE\u6539\u540E\u91CD\u65B0\u751F\u6210\u4EE5\u786E\u4FDD\u6587\u4EF6\u4FE1\u606F\u51C6\u786E\u3002":(0,N.jsxs)(N.Fragment,{children:["\u8BF4\u660E",(0,N.jsx)("br",{}),"\u3000\xB7 \u6BCF\u4E2A\u7EC4\u7EC7 + \u81EA\u7136\u6708 + \u5E01\u79CD\uFF0C\u53EA\u5141\u8BB8\u5B58\u5728\u4E00\u6761\u6709\u6548\u8BB0\u5F55\u3002",(0,N.jsx)("br",{}),"\u3000\xB7 \u5E01\u79CD\u56FA\u5B9A\u4E3A USD\u3002",(0,N.jsx)("br",{}),"\u3000\xB7 \u6C47\u7387\u542B\u4E49\u4E3A\uFF1A1 \u7F8E\u5143\u5151\u6362\u591A\u5C11\u4EBA\u6C11\u5E01\u3002",(0,N.jsx)("br",{}),"\u3000\xB7 \u82E5\u672A\u7EF4\u62A4\u5FC5\u586B\u6708\u4EFD\u7684\u6C47\u7387\uFF0C\u53EF\u80FD\u5BFC\u81F4\u542B\u53EF\u9000\u7A0E\u5546\u54C1\u7684\u8BA2\u5355\u65E0\u6CD5\u751F\u6210\u6587\u4EF6\u3002"]})}function Dy({tab:t}){return(0,N.jsx)("div",{className:"tcw-settings-page-notice-slot",children:(0,N.jsx)(Je,{children:U2(t)})})}function NS({data:t,busy:e,onSave:n,onRestoreDefault:r,onDeleteRate:i,onRateQuery:o,onRateQueryRequested:a,onBulkReconcile:s,externalBulkBusy:l=!1,onBulkBusyChange:c,onBulkViewActiveChange:u,onUploadLogo:d,onDiscardLogo:p,initialTab:h="COMPANY",onNotify:m}){let[f,v]=Oe.default.useState(h),[g,y]=Oe.default.useState(null),[w,b]=Oe.default.useState(null),x=Oe.default.useRef({}),C=e||l,k=async(O,H)=>wr(O,m,{success:H,error:"\u8BBE\u7F6E\u64CD\u4F5C\u5931\u8D25\uFF0C\u8BF7\u7A0D\u540E\u91CD\u8BD5"}),S=async()=>{if(!g)return;let O=ES({onSave:n,onRestoreDefault:r,onDeleteRate:i}),H=g.settingsType==="company"?()=>O.restoreCompany(g.expectedRevision):g.settingsType==="bank"?()=>O.restoreBank(Za(t,g.bankType)):()=>O.restoreProfit(g.expectedRevision);await Vl(()=>k(H,"\u5DF2\u6062\u590D\u7CFB\u7EDF\u9ED8\u8BA4\u914D\u7F6E"),()=>y(null))},E=(O,H)=>{let M=z2(H,O.key);M!==H&&(O.preventDefault(),u?.(M==="MONTHLY_RATE"),v(M),x.current[M]?.focus())},D=IS(f);return Oe.default.useEffect(()=>(u?.(f==="MONTHLY_RATE"),()=>u?.(!1)),[f,u]),(0,N.jsxs)("section",{className:"tcw-settings-page","data-settings-page":"typed",children:[(0,N.jsx)("div",{className:"tcw-settings-tabs",role:"tablist","aria-label":"\u7CFB\u7EDF\u8BBE\u7F6E",children:$l.map(O=>{let H=IS(O.key);return(0,N.jsxs)("button",{ref:M=>{x.current[O.key]=M},id:`settings-tab-${H}`,type:"button",role:"tab","aria-selected":f===O.key,"aria-controls":`settings-panel-${H}`,tabIndex:f===O.key?0:-1,className:f===O.key?"is-active":"",onClick:()=>{u?.(O.key==="MONTHLY_RATE"),v(O.key)},onKeyDown:M=>E(M,O.key),children:[(0,N.jsx)("i",{className:O.key==="COMPANY"?"ri-building-line":O.key==="BANK"?"ri-bank-line":"ri-exchange-dollar-line","aria-hidden":"true"}),O.label]},O.key)})}),(0,N.jsxs)("div",{className:"tcw-settings-content",id:`settings-panel-${D}`,role:"tabpanel","aria-labelledby":`settings-tab-${D}`,tabIndex:0,children:[f==="COMPANY"&&(0,N.jsx)(G2,{value:t.company,busy:C,onSave:O=>k(()=>n({settingsType:"company",expectedRevision:t.company.revision,values:O}),"\u4F01\u4E1A\u4FE1\u606F\u4FDD\u5B58\u6210\u529F"),onUploadLogo:d,onDiscardLogo:p,onNotify:m,onRestore:()=>y({settingsType:"company",expectedRevision:t.company.revision})}),f==="BANK"&&(0,N.jsx)(H2,{data:t,busy:C,onEdit:b,onRestore:O=>{let H=Za(t,O);y({settingsType:"bank",bankType:O,expectedRevision:H.revision})}}),f==="MONTHLY_RATE"&&(0,N.jsx)(K2,{profit:t.profit,rates:t.rates,busy:e,externalBulkBusy:l,onQuery:o??(()=>{}),onQueryRequested:a,onBulkReconcile:s,onBulkBusyChange:c,onSaveProfit:O=>k(()=>ES({onSave:n,onRestoreDefault:r,onDeleteRate:i}).saveProfit(O),"\u5229\u6DA6\u4E0E\u6362\u6C47\u89C4\u5219\u4FDD\u5B58\u6210\u529F"),onRestoreProfit:()=>y({settingsType:"profit",expectedRevision:t.profit.revision}),onSave:O=>k(()=>n({settingsType:"rate",expectedRevision:O.revision??0,values:O}),"\u6708\u5EA6\u7F8E\u5143\u6C47\u7387\u4FDD\u5B58\u6210\u529F"),onDelete:O=>k(()=>i(O),"\u6708\u5EA6\u7F8E\u5143\u6C47\u7387\u5220\u9664\u6210\u529F"),onBulkDelete:i,onNotify:m})]}),w&&(0,N.jsx)(j2,{bankType:w,value:Za(t,w),busy:C,onClose:()=>b(null),onSave:O=>k(()=>n({settingsType:"bank",expectedRevision:Za(t,w).revision,values:O}),`${w==="OVERSEAS_CNY"?"\u4EBA\u6C11\u5E01":"\u7F8E\u5143"}\u6536\u6B3E\u94F6\u884C\u4FDD\u5B58\u6210\u529F`)}),g&&(0,N.jsx)(Z2,{request:g,data:t,busy:C,onClose:()=>y(null),onConfirm:()=>{S()}})]})}function G2({value:t,busy:e,onSave:n,onUploadLogo:r,onDiscardLogo:i,onRestore:o,onNotify:a}){let[s,l]=Oe.default.useState(t),[c,u]=Oe.default.useState(null),d=Oe.default.useRef(t.revision),p=Oe.default.useRef(null),h=Oe.default.useRef({onUploadLogo:r,onDiscardLogo:i,onNotify:a});h.current={onUploadLogo:r,onDiscardLogo:i,onNotify:a};let m=b=>{p.current&&URL.revokeObjectURL(p.current),p.current=b,u(b)},f=Oe.default.useRef(null);f.current||(f.current=RS({upload:b=>h.current.onUploadLogo(b),discard:b=>{Promise.resolve(h.current.onDiscardLogo(b)).catch(x=>h.current.onNotify?.({message:x instanceof Error?x.message:"\u516C\u53F8 Logo \u6E05\u7406\u5931\u8D25",tone:"error"}))},apply:b=>l(x=>({...x,logoFileId:b})),notify:b=>h.current.onNotify?.(b)})),Oe.default.useEffect(()=>{d.current!==t.revision&&(d.current=t.revision,f.current?.discardDraft(),m(null)),l(b=>Py(b,t))},[t]),Oe.default.useEffect(()=>()=>{f.current?.dispose(),p.current&&URL.revokeObjectURL(p.current)},[]);let v=async b=>{let x=URL.createObjectURL(b);m(x),!await f.current?.upload(b)&&p.current===x&&m(null)},g=async()=>{let{revision:b,logoPreviewUrl:x,...C}=s;await n(C)&&f.current?.markSaved(s.logoFileId??null)},y=b=>({value:String(s[b]??""),onChange:x=>l(C=>({...C,[b]:x.target.value||null}))}),w=c??s.logoPreviewUrl;return(0,N.jsxs)("div",{className:"tcw-settings-company-form",children:[(0,N.jsxs)("div",{className:"tcw-settings-card tcw-settings-company-card",children:[(0,N.jsx)(We,{label:"\u516C\u53F8 Logo",children:(0,N.jsxs)("div",{className:"tcw-settings-logo-field",children:[w&&(0,N.jsx)("div",{className:"tcw-settings-logo-preview",children:(0,N.jsx)("img",{src:w,alt:"\u516C\u53F8 Logo \u9884\u89C8"})}),(0,N.jsxs)("label",{className:"tcw-settings-upload",children:[(0,N.jsx)("input",{type:"file",accept:"image/png,image/jpeg",disabled:e,onChange:b=>{let x=b.target.files?.[0];b.currentTarget.value="",x&&v(x)}}),(0,N.jsx)("i",{className:"ri-upload-cloud-2-line","aria-hidden":"true"}),(0,N.jsxs)("span",{children:["\u70B9\u51FB\u4E0A\u4F20\u6216\u62D6\u62FD\u6587\u4EF6\u5230\u6B64\u5904",(0,N.jsx)("small",{children:s.logoFileId?`\u5DF2\u4E0A\u4F20\uFF1A${s.logoFileId}`:"\u652F\u6301 JPG\u3001PNG \u683C\u5F0F\uFF0C\u5EFA\u8BAE\u5C3A\u5BF8 200\xD7200px \u4EE5\u5185"})]})]})]})}),(0,N.jsx)(We,{label:"\u516C\u53F8\u4E2D\u6587\u540D\u79F0",children:(0,N.jsx)("input",{...y("companyNameZh")})}),(0,N.jsx)(We,{label:"\u516C\u53F8\u82F1\u6587\u540D\u79F0",children:(0,N.jsx)("input",{...y("companyNameEn")})}),(0,N.jsx)(We,{label:"\u7EDF\u4E00\u793E\u4F1A\u4FE1\u7528\u4EE3\u7801",children:(0,N.jsx)("input",{...y("unifiedSocialCreditCode")})}),(0,N.jsx)(We,{label:"\u4E2D\u6587\u5730\u5740",children:(0,N.jsx)("textarea",{maxLength:200,placeholder:"\u8BF7\u586B\u5199\u4E2D\u6587\u5730\u5740\uFF08\u9009\u586B\uFF09",...y("addressZh")})}),(0,N.jsx)(We,{label:"\u82F1\u6587\u5730\u5740",children:(0,N.jsx)("textarea",{maxLength:300,...y("addressEn")})}),(0,N.jsx)(We,{label:"\u7535\u8BDD",children:(0,N.jsx)("input",{...y("phone")})}),(0,N.jsx)(We,{label:"\u90AE\u7BB1",children:(0,N.jsx)("input",{type:"email",...y("email")})}),(0,N.jsx)(We,{label:"\u4FEE\u8BA2\u53F7",hint:!0,children:(0,N.jsx)("input",{value:t.revision,readOnly:!0})}),(0,N.jsx)(We,{label:"\u6700\u540E\u4FEE\u6539\u65F6\u95F4",children:(0,N.jsx)("input",{value:"\u2014",readOnly:!0})})]}),(0,N.jsxs)("div",{className:"tcw-settings-form-actions",children:[(0,N.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:e,onClick:()=>{g()},children:[(0,N.jsx)("i",{className:"ri-save-line","aria-hidden":"true"}),"\u4FDD\u5B58"]}),(0,N.jsx)(DS,{busy:e,onClick:o})]}),(0,N.jsx)(Dy,{tab:"COMPANY"})]})}function H2({data:t,busy:e,onEdit:n,onRestore:r}){return(0,N.jsxs)("div",{className:"tcw-settings-bank-list",children:[$2.map(i=>{let o=Za(t,i);return(0,N.jsxs)("section",{className:"tcw-settings-card tcw-settings-bank-card","aria-labelledby":`bank-overview-${i}`,children:[(0,N.jsxs)("header",{children:[(0,N.jsxs)("h2",{id:`bank-overview-${i}`,children:[Oy(i)," ",(0,N.jsxs)("span",{children:["/ ",i]})]}),(0,N.jsxs)("div",{children:[(0,N.jsxs)("button",{type:"button",className:"tcw-button tcw-button--outline",disabled:e,onClick:()=>n(i),children:[(0,N.jsx)("i",{className:"ri-edit-line","aria-hidden":"true"}),"\u7F16\u8F91"]}),(0,N.jsx)(DS,{busy:e,onClick:()=>r(i)})]})]}),(0,N.jsxs)("div",{className:"tcw-settings-bank-grid",children:[(0,N.jsx)(ro,{label:"Beneficiary",value:o.beneficiary}),(0,N.jsx)(ro,{label:"CNAPS Code",value:o.cnapsCode}),(0,N.jsx)(ro,{label:"Bank Name",value:o.bankName}),(0,N.jsx)(ro,{label:"Account No.",value:o.accountNo}),(0,N.jsx)(ro,{label:"Bank Address",value:o.bankAddress,multiline:!0}),(0,N.jsx)(ro,{label:"Swift Code",value:o.swiftCode}),(0,N.jsx)(ro,{label:"\u4FEE\u8BA2\u53F7",value:String(o.revision)}),(0,N.jsx)(ro,{label:"\u6700\u540E\u4FEE\u6539\u65F6\u95F4",value:"\u2014"})]})]},i)}),(0,N.jsx)(Dy,{tab:"BANK"})]})}function j2({bankType:t,value:e,busy:n,onSave:r,onClose:i}){let[o,a]=Oe.default.useState(e),[s,l]=Oe.default.useState(null);Oe.default.useEffect(()=>a(d=>Py(d,e)),[e]);let c=(d,p)=>a(h=>({...h,[d]:p}));return(0,N.jsx)(_e,{open:!0,title:"\u7F16\u8F91\u94F6\u884C\u4FE1\u606F",onClose:i,footer:(0,N.jsxs)(N.Fragment,{children:[(0,N.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:i,children:[(0,N.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u53D6\u6D88"]}),(0,N.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:n,onClick:async()=>{let d=tD(o);if(l(d),!d){let{revision:p,...h}=o;await Vl(()=>r(h),i)}},children:[(0,N.jsx)("i",{className:"ri-save-line","aria-hidden":"true"}),"\u4FDD\u5B58"]})]}),children:(0,N.jsxs)("div",{className:"tcw-settings-bank-dialog",children:[(0,N.jsxs)("p",{children:[Oy(t)," ",(0,N.jsxs)("b",{children:["/ ",t]})]}),s&&(0,N.jsx)(ct,{children:s}),PS.map(d=>(0,N.jsx)(We,{label:d.label.split("\uFF08")[0],required:!0,children:d.key==="bankAddress"?(0,N.jsx)("textarea",{value:o[d.key],onChange:p=>c(d.key,p.target.value)}):(0,N.jsx)("input",{value:o[d.key],onChange:p=>c(d.key,p.target.value)})},d.key)),(0,N.jsx)(We,{label:"\u4FEE\u8BA2\u53F7",hint:!0,children:(0,N.jsx)("input",{value:e.revision,readOnly:!0})}),(0,N.jsx)(Je,{children:"\u4FDD\u5B58\u540E\u5C06\u66F4\u65B0\u5F53\u524D\u94F6\u884C\u914D\u7F6E\u4FE1\u606F\uFF0C\u5E76\u81EA\u52A8\u5C06\u4FEE\u8BA2\u53F7\u52A0 1\u3002\u7CFB\u7EDF\u4E2D\u5DF2\u751F\u6210\u7684\u5386\u53F2\u6587\u4EF6\u5C06\u4E0D\u53D7\u6B64\u53D8\u66F4\u5F71\u54CD\u3002"})]})})}var PS=[{key:"beneficiary",label:"Beneficiary\uFF08\u6536\u6B3E\u4EBA\uFF09"},{key:"bankName",label:"Bank Name\uFF08\u94F6\u884C\u540D\u79F0\uFF09"},{key:"bankAddress",label:"Bank Address\uFF08\u94F6\u884C\u5730\u5740\uFF09"},{key:"cnapsCode",label:"CNAPS Code"},{key:"accountNo",label:"Account No.\uFF08\u8D26\u53F7\uFF09"},{key:"swiftCode",label:"SWIFT Code"}],$2=["OVERSEAS_CNY","OVERSEAS_USD"];function Oy(t){switch(t){case"OVERSEAS_CNY":return"\u56FD\u5916\u6536\u6B3E\u94F6\u884C\uFF08\u4EBA\u6C11\u5E01\uFF09";case"OVERSEAS_USD":return"\u56FD\u5916\u6536\u6B3E\u94F6\u884C\uFF08\u7F8E\u5143\uFF09"}}function V2(t){return{page:(e,n)=>t({page:e,pageSize:n}),pageSize:e=>t({page:1,pageSize:e})}}function W2(t,e){if(!e||e.id)return{variant:"current",showProfitSnapshot:!0,showFilters:!0,items:t.items};let n=e.year;return{variant:"rate-create",showProfitSnapshot:!1,showFilters:!1,items:[6,5,4,3,2,1].map(i=>{let o=t.items.find(s=>s.year===n&&s.month===i),a=t.items.find(s=>s.year===n)??t.items[0];return o??{...a??{currencyCode:"USD",usdToCnyRate:"",sourceType:"MANUAL",sourceReference:"\u5916\u6C47\u7BA1\u7406\u5C40\u9996\u65E5\u6C47\u7387"},id:`rate-create-background-${n}-${i}`,year:n,month:i,revision:0}})}}function K2({profit:t,rates:e,busy:n,externalBulkBusy:r,onQuery:i,onQueryRequested:o,onBulkReconcile:a,onBulkBusyChange:s,onSaveProfit:l,onRestoreProfit:c,onSave:u,onDelete:d,onBulkDelete:p,onNotify:h}){let[m,f]=Oe.default.useState(null),[v,g]=Oe.default.useState(null),[y,w]=Oe.default.useState(!1),[b,x]=Oe.default.useState(null),[C,k]=Oe.default.useState(()=>String(e.items[0]?.year??"")),[S,E]=Oe.default.useState(""),[D,O]=Oe.default.useState(new Set),[H,M]=Oe.default.useState(!1),[_,V]=Oe.default.useState(!1),[G,K]=Oe.default.useState([]),J=Oe.default.useRef(null);J.current||(J.current=Hu());let ie=Oe.default.useRef(null);ie.current||(ie.current=ju("monthly-rate"));let ue=[...new Set(e.items.map(ne=>ne.year))].sort((ne,ae)=>ae-ne),we=W2(e,m),Y=we.variant==="rate-create"?we.items:we.items.filter(ne=>(!C||String(ne.year)===C)&&(!S||String(ne.month)===S)),Q={...e,items:Y,page:1,total:Y.length,pageCount:1},F=n||r||_,ee=Oe.default.useCallback(()=>{ie.current.invalidate(),O(new Set),K([]),M(!1)},[]),B=Oe.default.useCallback(ne=>(ee(),o?.(ne),i(ne)),[ee,i,o]),U=Oe.default.useMemo(()=>V2(B),[B]);Oe.default.useEffect(()=>()=>{ie.current.invalidate()},[]),Oe.default.useEffect(()=>{let ne=M2(D,G,e.items);ne.selectedIds.size!==D.size&&O(ne.selectedIds),ne.failures.length!==G.length&&K(ne.failures)},[e.items]);let q=async ne=>{if(!b)return;let ae={settingsType:"rate",id:b.id??"",expectedRevision:b.revision??0};if(!ne){x(null);return}await Vl(()=>d(ae),()=>x(null))},le=[{type:"text",key:"year",header:"\u5E74\u4EFD",width:90,truncate:!1},{type:"text",key:"month",header:"\u6708\u4EFD",width:90,truncate:!1,format:ne=>`${String(ne).padStart(2,"0")}\u6708`},{type:"text",key:"currencyCode",header:"\u5E01\u79CD\u4EE3\u7801",width:115,truncate:!1,format:ne=>String(ne??"USD")},{type:"text",key:"usdToCnyRate",header:"\u7F8E\u5143\u5151\u4EBA\u6C11\u5E01\u6C47\u7387",width:180,align:"right",truncate:!1},{type:"text",key:"sourceReference",header:"\u6765\u6E90\u8BF4\u660E",width:150,maxWidth:150},{type:"text",key:"revision",header:"\u4FEE\u8BA2\u53F7",width:90,align:"right",truncate:!1,format:ne=>String(ne??0)},{type:"text",key:"updatedAt",header:"\u6700\u540E\u4FEE\u6539\u65F6\u95F4",width:200,truncate:!1,accessor:ne=>ut(ne.updatedAt)}];return(0,N.jsxs)("div",{className:`tcw-settings-rate-page is-${we.variant}`,children:[we.showProfitSnapshot&&(0,N.jsxs)("section",{className:"tcw-settings-card tcw-settings-profit-snapshot",children:[(0,N.jsxs)("header",{children:[(0,N.jsx)("h2",{children:"\u6708\u5EA6\u5916\u6C47\u7BA1\u7406\u5C40\u9996\u65E5\u6C47\u7387 - \u89C4\u5219\u5FEB\u7167\uFF08\u5F53\u524D\u751F\u6548\uFF09"}),(0,N.jsxs)("div",{children:[(0,N.jsxs)("button",{type:"button",className:"tcw-button tcw-button--outline",disabled:F,onClick:()=>w(!0),children:[(0,N.jsx)("i",{className:"ri-edit-line","aria-hidden":"true"}),"\u7F16\u8F91\u89C4\u5219"]}),(0,N.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",disabled:F,onClick:c,children:[(0,N.jsx)("i",{className:"ri-restart-line","aria-hidden":"true"}),"\u6062\u590D\u89C4\u5219\u9ED8\u8BA4"]})]})]}),(0,N.jsxs)("div",{children:[(0,N.jsx)(jl,{label:"\u6700\u4F4E\u6574\u5355\u5408\u89C4\u5229\u6DA6\u7387",value:`${Number(t.minimumOrderProfitRate)*100}%`}),(0,N.jsx)(jl,{label:"\u6362\u6C47\u6210\u672C\u4E0B\u9650",value:t.exchangeCostMinimum}),(0,N.jsx)(jl,{label:"\u6362\u6C47\u6210\u672C\u4E0A\u9650",value:t.exchangeCostMaximum}),(0,N.jsx)(jl,{label:"\u72B6\u6001",value:J2(t.status),status:!0}),(0,N.jsx)(jl,{label:"\u4FEE\u8BA2\u53F7",value:String(t.revision)})]})]}),(0,N.jsxs)("section",{className:"tcw-settings-card tcw-settings-rate-card",children:[(0,N.jsxs)("header",{children:[(0,N.jsx)("h2",{children:"\u6708\u5EA6\u5916\u6C47\u7BA1\u7406\u5C40\u9996\u65E5\u6C47\u7387"}),(0,N.jsxs)("div",{children:[(0,N.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:F,onClick:()=>f(eD()),children:[(0,N.jsx)("i",{className:"ri-add-line","aria-hidden":"true"}),"\u65B0\u589E\u6708\u5EA6\u6C47\u7387"]}),(0,N.jsxs)("button",{type:"button",className:"tcw-button tcw-button--outline tcw-settings-rate-import-button",disabled:F,onClick:()=>h?.({message:"\u6708\u5EA6\u6C47\u7387\u6279\u91CF\u5BFC\u5165\u5F85\u63A5\u5165",tone:"info"}),children:[(0,N.jsx)("i",{className:"ri-upload-2-line","aria-hidden":"true"}),"\u6279\u91CF\u5BFC\u5165"]})]})]}),we.showFilters&&(0,N.jsxs)("div",{className:"tcw-settings-rate-filters",children:[(0,N.jsxs)("label",{children:[(0,N.jsx)("span",{children:"\u5E74\u4EFD"}),(0,N.jsxs)("select",{value:C,onChange:ne=>{ee(),k(ne.target.value)},children:[(0,N.jsx)("option",{value:"",children:"\u5168\u90E8\u5E74\u4EFD"}),ue.map(ne=>(0,N.jsx)("option",{value:ne,children:ne},ne))]})]}),(0,N.jsxs)("label",{children:[(0,N.jsx)("span",{children:"\u6708\u4EFD"}),(0,N.jsxs)("select",{value:S,onChange:ne=>{ee(),E(ne.target.value)},children:[(0,N.jsx)("option",{value:"",children:"\u8BF7\u9009\u62E9\u6708\u4EFD"}),Array.from({length:12},(ne,ae)=>ae+1).map(ne=>(0,N.jsxs)("option",{value:ne,children:[String(ne).padStart(2,"0"),"\u6708"]},ne))]})]})]}),(0,N.jsx)(ot,{columns:le,rows:Y,rowKey:ne=>ne.id??`${ne.year}-${ne.month}`,selection:we.variant==="current"?{selectedKeys:D,isSelectable:ne=>!!ne.id,onToggle:ne=>{F||O(ae=>yr(ae,ne))},onTogglePage:ne=>{F||O(ae=>B2(ae,Y,ne))},onClear:()=>{F||O(new Set)},onDelete:()=>{F||(K([]),M(!0))},labelFor:ne=>`\u9009\u62E9\u6708\u5EA6\u6C47\u7387\uFF1A${ne.year}\u5E74${String(ne.month).padStart(2,"0")}\u6708 ${ne.currencyCode??"USD"}`,disabled:F}:void 0,actionWidth:150,actions:ne=>(0,N.jsxs)(N.Fragment,{children:[(0,N.jsxs)("button",{type:"button",disabled:F,onClick:()=>g(ne),children:[(0,N.jsx)("i",{className:"ri-eye-line","aria-hidden":"true"}),"\u67E5\u770B"]}),(0,N.jsxs)("button",{type:"button",disabled:F,onClick:()=>f(ne),children:[(0,N.jsx)("i",{className:"ri-edit-line","aria-hidden":"true"}),"\u7F16\u8F91"]}),ne.id&&(0,N.jsxs)("button",{type:"button",className:"is-danger",disabled:F,onClick:()=>x(ne),children:[(0,N.jsx)("i",{className:"ri-delete-bin-line","aria-hidden":"true"}),"\u5220\u9664"]})]}),pagination:Q,onPageChange:ne=>{ee(),U.page(ne,e.pageSize)},onPageSizeChange:ne=>{ee(),U.pageSize(ne)},emptyText:"\u6682\u65E0\u6708\u5EA6\u6C47\u7387"})]}),(0,N.jsx)(Dy,{tab:"MONTHLY_RATE"}),(0,N.jsx)(En,{open:H,title:"\u6279\u91CF\u5220\u9664\u6708\u5EA6\u6C47\u7387",count:D.size,message:"\u5C06\u5220\u9664\u6240\u9009\u6708\u5EA6\u6C47\u7387\uFF1B\u5220\u9664\u540E\u4E0D\u53EF\u6062\u590D\uFF1B\u5DF2\u751F\u6210\u7684\u5386\u53F2\u6587\u4EF6\u4E0D\u53D7\u5F71\u54CD\u3002",busy:F,failures:G,onCancel:()=>{_||M(!1)},onConfirm:()=>{if(F||D.size===0)return;$u({confirmGuard:J.current,generationGuard:ie.current,operation:ae=>F2({selectedIds:D,rows:e.items,onDeleteRate:(re,me)=>Promise.resolve(p(re,me)),refresh:i,query:{page:e.page,pageSize:e.pageSize},notify:h,isCurrent:ae}),onCurrentResult:ae=>{O(ae.selectedIds),K(ae.failures),!ae.refreshFailed&&ae.failures.length===0&&M(!1)},onStaleReconcile:async()=>{await a?.()},onBusyChange:ae=>{V(ae),s?.(ae)}})?.catch(()=>{})}}),v&&(0,N.jsx)(Q2,{value:v,onClose:()=>g(null)}),m&&(0,N.jsx)(Y2,{value:m,busy:F,onClose:()=>f(null),onSave:u}),y&&(0,N.jsx)(X2,{value:t,busy:F,onClose:()=>w(!1),onSave:l}),b&&(0,N.jsx)(q2,{value:b,busy:F,onCancel:()=>{q(!1)},onConfirm:()=>{q(!0)}})]})}function Q2({value:t,onClose:e}){return(0,N.jsx)(_e,{open:!0,title:"\u67E5\u770B\u6708\u5EA6\u6C47\u7387",onClose:e,footer:(0,N.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:e,children:[(0,N.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u5173\u95ED"]}),children:(0,N.jsxs)("div",{className:"tcw-settings-rate-dialog tcw-settings-rate-view-dialog",children:[(0,N.jsx)(We,{label:"\u5E74\u4EFD",children:(0,N.jsx)("input",{value:t.year,readOnly:!0})}),(0,N.jsx)(We,{label:"\u6708\u4EFD",children:(0,N.jsx)("input",{value:String(t.month).padStart(2,"0"),readOnly:!0})}),(0,N.jsx)(We,{label:"\u5E01\u79CD\u4EE3\u7801",children:(0,N.jsx)("input",{value:t.currencyCode??"USD",readOnly:!0})}),(0,N.jsx)(We,{label:"\u7F8E\u5143\u5151\u4EBA\u6C11\u5E01\u6C47\u7387",children:(0,N.jsx)("input",{value:t.usdToCnyRate,readOnly:!0})}),(0,N.jsx)(We,{label:"\u6765\u6E90\u8BF4\u660E",children:(0,N.jsx)("input",{value:t.sourceReference,readOnly:!0})}),(0,N.jsx)(We,{label:"\u4FEE\u8BA2\u53F7",hint:!0,children:(0,N.jsx)("input",{value:t.revision??0,readOnly:!0})}),(0,N.jsx)(We,{label:"\u6700\u540E\u4FEE\u6539\u65F6\u95F4",children:(0,N.jsx)("input",{value:ut(t.updatedAt),readOnly:!0})})]})})}function Y2({value:t,busy:e,onClose:n,onSave:r}){let[i,o]=Oe.default.useState(t),[a,s]=Oe.default.useState(null),l=async()=>{let c=nD(i);s(c),c||await Vl(()=>r({...i,sourceType:"MANUAL",currencyCode:"USD"}),n)};return(0,N.jsx)(_e,{open:!0,title:i.id?"\u7F16\u8F91\u6708\u5EA6\u6C47\u7387":"\u65B0\u589E\u6708\u5EA6\u6C47\u7387",onClose:n,footer:(0,N.jsxs)(N.Fragment,{children:[(0,N.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:n,children:[(0,N.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u53D6\u6D88"]}),(0,N.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:e,onClick:l,children:[(0,N.jsx)("i",{className:"ri-save-line","aria-hidden":"true"}),"\u4FDD\u5B58"]})]}),children:(0,N.jsxs)("div",{className:"tcw-settings-rate-dialog",children:[(0,N.jsx)(Je,{children:"\u540C\u4E00\u81EA\u7136\u6708\u53EA\u5141\u8BB8\u4E00\u6761\u8BB0\u5F55\u3002"}),a&&(0,N.jsx)(ct,{children:a}),(0,N.jsx)(We,{label:"\u5E74\u4EFD",required:!0,children:(0,N.jsx)("input",{type:"number",min:"2000",max:"9999",step:"1",value:i.year,onChange:c=>o(u=>({...u,year:Number(c.target.value)}))})}),(0,N.jsx)(We,{label:"\u6708\u4EFD",required:!0,children:(0,N.jsx)("select",{value:i.month,onChange:c=>o(u=>({...u,month:Number(c.target.value)})),children:Array.from({length:12},(c,u)=>(0,N.jsx)("option",{value:u+1,children:String(u+1).padStart(2,"0")},u+1))})}),(0,N.jsx)(We,{label:"\u5E01\u79CD\u4EE3\u7801",required:!0,children:(0,N.jsx)("input",{value:"USD",readOnly:!0})}),(0,N.jsx)(We,{label:"\u7F8E\u5143\u5151\u4EBA\u6C11\u5E01\u6C47\u7387",required:!0,children:(0,N.jsx)("input",{type:"number",min:"0",step:"0.00000001",value:i.usdToCnyRate,onChange:c=>o(u=>({...u,usdToCnyRate:c.target.value}))})}),(0,N.jsx)(We,{label:"\u6765\u6E90\u8BF4\u660E",required:!0,children:(0,N.jsx)("input",{value:i.sourceReference,onChange:c=>o(u=>({...u,sourceReference:c.target.value}))})}),(0,N.jsx)(We,{label:"\u4FEE\u8BA2\u53F7",hint:!0,children:(0,N.jsx)("input",{value:i.id?i.revision??0:"R00",readOnly:!0})}),(0,N.jsx)(We,{label:"\u751F\u6548\u8303\u56F4",children:(0,N.jsx)("input",{value:`${i.year}-${String(i.month).padStart(2,"0")}-01 ~ ${i.year}-${String(i.month).padStart(2,"0")}-${new Date(i.year,i.month,0).getDate()}`,readOnly:!0})})]})})}function X2({value:t,busy:e,onClose:n,onSave:r}){let[i,o]=Oe.default.useState(t),[a,s]=Oe.default.useState(null);return Oe.default.useEffect(()=>o(c=>Py(c,t)),[t]),(0,N.jsx)(_e,{open:!0,title:"\u7F16\u8F91\u5229\u6DA6\u4E0E\u6362\u6C47\u89C4\u5219",onClose:n,footer:(0,N.jsxs)(N.Fragment,{children:[(0,N.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:n,children:[(0,N.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u53D6\u6D88"]}),(0,N.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:e,onClick:async()=>{let c=rD(i);s(c),c||await Vl(()=>r(i),n)},children:[(0,N.jsx)("i",{className:"ri-save-line","aria-hidden":"true"}),"\u4FDD\u5B58\u89C4\u5219"]})]}),children:(0,N.jsxs)("div",{className:"tcw-settings-profit-dialog",children:[a&&(0,N.jsx)(ct,{children:a}),(0,N.jsx)(We,{label:"\u914D\u7F6E\u72B6\u6001",required:!0,children:(0,N.jsxs)("select",{value:i.status,onChange:c=>o(u=>({...u,status:c.target.value})),children:[(0,N.jsx)("option",{value:"ACTIVE",children:"\u542F\u7528"}),(0,N.jsx)("option",{value:"UNCONFIGURED",children:"\u672A\u914D\u7F6E"})]})}),(0,N.jsx)(We,{label:"\u6700\u4F4E\u6574\u5355\u5229\u6DA6\u7387",required:!0,children:(0,N.jsx)("input",{type:"number",min:"0",step:"0.0001",value:i.minimumOrderProfitRate,onChange:c=>o(u=>({...u,minimumOrderProfitRate:c.target.value}))})}),(0,N.jsx)(We,{label:"\u6362\u6C47\u6210\u672C\u4E0B\u9650",required:!0,children:(0,N.jsx)("input",{type:"number",step:"0.01",value:i.exchangeCostMinimum,onChange:c=>o(u=>({...u,exchangeCostMinimum:c.target.value}))})}),(0,N.jsx)(We,{label:"\u6362\u6C47\u6210\u672C\u4E0A\u9650",required:!0,children:(0,N.jsx)("input",{type:"number",step:"0.01",value:i.exchangeCostMaximum,onChange:c=>o(u=>({...u,exchangeCostMaximum:c.target.value}))})}),(0,N.jsx)(We,{label:"\u4FEE\u8BA2\u53F7",hint:!0,children:(0,N.jsx)("input",{value:i.revision,readOnly:!0})}),(0,N.jsxs)("section",{className:"tcw-settings-profit-formula","aria-label":"\u5F53\u524D\u8BA1\u7B97\u89C4\u5219",children:[(0,N.jsx)("h3",{children:"\u5F53\u524D\u8BA1\u7B97\u89C4\u5219"}),(0,N.jsxs)("dl",{children:[(0,N.jsx)("dt",{children:"\u9500\u552E\u5355\u4EF7"}),(0,N.jsx)("dd",{children:"\u9500\u552E\u5355\u4EF7 = \u91C7\u8D2D\u542B\u7A0E\u5355\u4EF7 \xD7 (1 + \u5B9A\u4EF7\u5229\u6DA6\u7387)\uFF0C\u56DB\u820D\u4E94\u5165\u5230\u6574\u6570"}),(0,N.jsx)("dt",{children:"\u9500\u552E\u91D1\u989D"}),(0,N.jsx)("dd",{children:"\u9500\u552E\u91D1\u989D = \u9500\u552E\u5355\u4EF7 \xD7 \u6570\u91CF\uFF0C\u56DB\u820D\u4E94\u5165\u5230\u6574\u6570"}),(0,N.jsx)("dt",{children:"\u6709\u9000\u7A0E\u65F6"}),(0,N.jsx)("dd",{children:"\u5408\u89C4\u5229\u6DA6 = \u9500\u552E\u91D1\u989D - \u91C7\u8D2D\u542B\u7A0E\u91D1\u989D + \u9884\u8BA1\u9000\u7A0E\uFF1B\u9884\u8BA1\u9000\u7A0E = \u91C7\u8D2D\u4E0D\u542B\u7A0E\u91D1\u989D \xD7 \u9000\u7A0E\u7387"}),(0,N.jsx)("dt",{children:"\u65E0\u9000\u7A0E\u65F6"}),(0,N.jsx)("dd",{children:"\u5408\u89C4\u5229\u6DA6 = \u9500\u552E\u91D1\u989D - \u91C7\u8D2D\u542B\u7A0E\u91D1\u989D - \u9500\u9879\u7A0E\u5DEE\u989D"}),(0,N.jsx)("dt",{children:"\u6574\u5355\u5229\u6DA6\u7387"}),(0,N.jsx)("dd",{children:"\u6574\u5355\u5408\u89C4\u5229\u6DA6\u7387 = \u6574\u5355\u5408\u89C4\u5229\u6DA6 \xF7 \u6574\u5355\u91C7\u8D2D\u542B\u7A0E\u91D1\u989D"}),(0,N.jsx)("dt",{children:"\u6362\u6C47\u6210\u672C"}),(0,N.jsx)("dd",{children:"\u6362\u6C47\u6210\u672C = \u53EF\u9000\u7A0E\u5546\u54C1\u91C7\u8D2D\u4E0D\u542B\u7A0E\u91D1\u989D\u5408\u8BA1 \xF7 (\u53EF\u9000\u7A0E\u5546\u54C1\u9500\u552E\u91D1\u989D\u5408\u8BA1 \xF7 \u6708\u5EA6 USD \u6C47\u7387)"})]}),(0,N.jsx)("p",{children:"\u6700\u4F4E\u6574\u5355\u5229\u6DA6\u7387\uFF1A\u4F4E\u4E8E\u8BE5\u503C\u65F6\u7981\u6B62\u751F\u6210\u9500\u552E\u6587\u4EF6\u3002"}),(0,N.jsx)("p",{children:"\u6362\u6C47\u6210\u672C\u4E0B\u9650 / \u4E0A\u9650\uFF1A\u8D85\u51FA\u8303\u56F4\u65F6\u7981\u6B62\u751F\u6210\u9500\u552E\u6587\u4EF6\u3002"})]}),(0,N.jsx)(Je,{children:"\u6700\u4F4E\u6574\u5355\u5229\u6DA6\u7387\u4F7F\u7528\u5C0F\u6570\u8868\u793A\uFF0C\u4F8B\u5982 0.05 \u8868\u793A 5%\u3002\u4FDD\u5B58\u540E\u4FEE\u8BA2\u53F7\u81EA\u52A8\u589E\u52A0\u3002"})]})})}function Z2({request:t,data:e,busy:n,onClose:r,onConfirm:i}){let o=t.settingsType==="bank"?Za(e,t.bankType):null;return(0,N.jsx)(_e,{open:!0,title:o?"\u786E\u8BA4\u6062\u590D\u94F6\u884C\u9ED8\u8BA4\u4FE1\u606F\uFF1F":"\u786E\u8BA4\u6062\u590D\u7CFB\u7EDF\u9ED8\u8BA4\u914D\u7F6E\uFF1F",onClose:r,footer:(0,N.jsxs)(N.Fragment,{children:[(0,N.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:r,children:[(0,N.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u53D6\u6D88"]}),(0,N.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:n,onClick:i,children:[(0,N.jsx)("i",{className:"ri-restart-line","aria-hidden":"true"}),"\u786E\u8BA4\u6062\u590D\u9ED8\u8BA4"]})]}),children:(0,N.jsxs)("div",{className:"tcw-settings-restore-dialog",children:[(0,N.jsxs)(ct,{children:["\u6B64\u64CD\u4F5C\u5C06\u8986\u76D6\u5F53\u524D\u81EA\u5B9A\u4E49\u7684\u914D\u7F6E\u4FE1\u606F\uFF0C\u6062\u590D\u4E3A\u7CFB\u7EDF\u9ED8\u8BA4\u914D\u7F6E\u3002",(0,N.jsx)("br",{}),"\u539F\u6709\u914D\u7F6E\u5C06\u4FDD\u5B58\u5728\u5386\u53F2\u8BB0\u5F55\u4E2D\uFF0C\u60A8\u53EF\u4EE5\u968F\u65F6\u67E5\u770B\u3002"]}),o?(0,N.jsxs)(N.Fragment,{children:[(0,N.jsx)("p",{children:"\u5C06\u6062\u590D\u4EE5\u4E0B\u76EE\u6807\u7684\u9ED8\u8BA4\u4FE1\u606F\uFF1A"}),(0,N.jsxs)("h3",{children:[(0,N.jsx)("i",{className:"ri-bank-line","aria-hidden":"true"}),Oy(o.bankType),"\u3000/ ",o.bankType]}),(0,N.jsx)("h4",{children:"\u9ED8\u8BA4\u4FE1\u606F\u9884\u89C8"}),(0,N.jsx)("p",{className:"tcw-settings-default-note",children:"\u7CFB\u7EDF\u5185\u7F6E\u9ED8\u8BA4\u94F6\u884C\u5B57\u6BB5\u7531\u670D\u52A1\u7AEF\u914D\u7F6E\u63D0\u4F9B\uFF0C\u5C06\u5728\u786E\u8BA4\u540E\u6574\u4F53\u6062\u590D\u3002\u5F53\u524D\u63A5\u53E3\u672A\u8FD4\u56DE\u9ED8\u8BA4\u503C\u9884\u89C8\uFF0C\u56E0\u6B64\u6B64\u5904\u4E0D\u5C55\u793A\u53EF\u80FD\u8FC7\u671F\u6216\u4E0D\u51C6\u786E\u7684\u4FE1\u606F\u3002"}),(0,N.jsxs)("small",{children:[(0,N.jsx)("i",{className:"ri-information-line","aria-hidden":"true"}),"\u6062\u590D\u540E\uFF0C\u94F6\u884C\u4FE1\u606F\u7684\u6240\u6709\u5B57\u6BB5\u5C06\u91CD\u7F6E\u4E3A\u7CFB\u7EDF\u9ED8\u8BA4\u503C\u3002"]})]}):(0,N.jsx)("p",{children:"\u5F53\u524D\u81EA\u5B9A\u4E49\u5185\u5BB9\u5C06\u88AB\u7CFB\u7EDF\u9ED8\u8BA4\u503C\u8986\u76D6\uFF0C\u539F\u914D\u7F6E\u4ECD\u4F1A\u4FDD\u7559\u5728\u8BBE\u7F6E\u5386\u53F2\u4E2D\u3002"})]})})}function q2({value:t,busy:e,onCancel:n,onConfirm:r}){return(0,N.jsx)(_e,{open:!0,title:"\u786E\u8BA4\u5220\u9664\u6708\u5EA6\u6C47\u7387\uFF1F",onClose:n,footer:(0,N.jsxs)(N.Fragment,{children:[(0,N.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:n,children:[(0,N.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u53D6\u6D88"]}),(0,N.jsxs)("button",{type:"button",className:"tcw-button tcw-button--danger",disabled:e,onClick:r,children:[(0,N.jsx)("i",{className:"ri-delete-bin-line","aria-hidden":"true"}),"\u786E\u8BA4\u5220\u9664"]})]}),children:(0,N.jsxs)("div",{className:"tcw-settings-delete-dialog",children:[(0,N.jsxs)("p",{children:["\u5220\u9664\u540E\uFF0C\u8BE5\u6708\u5EA6\u6C47\u7387\u5C06\u8FDB\u884C\u903B\u8F91\u5220\u9664\uFF0C\u540E\u7AEF\u8BB0\u5F55\u5C06\u6C38\u4E45\u4FDD\u7559\uFF0C\u4E0D\u53EF\u6062\u590D\u3002",(0,N.jsx)("br",{}),"\u5DF2\u751F\u6210\u7684\u5386\u53F2\u6587\u4EF6\u6216\u8BB0\u5F55\u4E0D\u53D7\u5F71\u54CD\u3002"]}),(0,N.jsx)("p",{children:"\u5F85\u5220\u9664\u7684\u6708\u5EA6\u6C47\u7387\u4FE1\u606F\u5982\u4E0B\uFF1A"}),(0,N.jsxs)("dl",{children:[(0,N.jsxs)("div",{children:[(0,N.jsx)("dt",{children:"\u5E74\u4EFD"}),(0,N.jsx)("dd",{children:t.year})]}),(0,N.jsxs)("div",{children:[(0,N.jsx)("dt",{children:"\u6708\u4EFD"}),(0,N.jsx)("dd",{children:String(t.month).padStart(2,"0")})]}),(0,N.jsxs)("div",{children:[(0,N.jsx)("dt",{children:"\u5E01\u79CD"}),(0,N.jsx)("dd",{children:t.currencyCode??"USD"})]}),(0,N.jsxs)("div",{children:[(0,N.jsx)("dt",{children:"\u7F8E\u5143\u5151\u4EBA\u6C11\u5E01\u6C47\u7387"}),(0,N.jsx)("dd",{children:t.usdToCnyRate})]}),(0,N.jsxs)("div",{children:[(0,N.jsx)("dt",{children:"\u6765\u6E90\u8BF4\u660E"}),(0,N.jsx)("dd",{children:t.sourceReference})]}),(0,N.jsxs)("div",{children:[(0,N.jsx)("dt",{children:"\u4FEE\u8BA2\u53F7"}),(0,N.jsx)("dd",{children:t.revision??0})]})]})]})})}function We({label:t,required:e,hint:n,children:r}){return(0,N.jsxs)("label",{className:"tcw-settings-row",children:[(0,N.jsxs)("span",{children:[e&&(0,N.jsx)("b",{children:"*"}),t,n&&(0,N.jsx)("i",{className:"ri-information-line","aria-hidden":"true"})]}),(0,N.jsx)("div",{children:r})]})}function ro({label:t,value:e,multiline:n}){return(0,N.jsxs)("label",{className:`tcw-settings-bank-value${n?" is-multiline":""}`,children:[(0,N.jsx)("span",{children:t}),n?(0,N.jsx)("textarea",{value:e,readOnly:!0}):(0,N.jsx)("input",{value:e,readOnly:!0})]})}function jl({label:t,value:e,status:n}){return(0,N.jsxs)("div",{children:[(0,N.jsx)("span",{children:t}),(0,N.jsx)("strong",{className:n?"is-status":"",children:e})]})}function J2(t){return t==="ACTIVE"?"\u542F\u7528":"\u672A\u914D\u7F6E"}function DS({busy:t,onClick:e}){return(0,N.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",disabled:t,onClick:e,children:[(0,N.jsx)("i",{className:"ri-restart-line","aria-hidden":"true"}),"\u6062\u590D\u7CFB\u7EDF\u9ED8\u8BA4"]})}function Za(t,e){return t.banks.find(n=>n.bankType===e)??{bankType:e,beneficiary:"",bankName:"",bankAddress:"",cnapsCode:"",accountNo:"",swiftCode:"",revision:0}}function eD(){let[t]=ut(new Date).split(" "),[e,n]=t.split("-").map(Number);return{year:e,month:n,currencyCode:"USD",usdToCnyRate:"",sourceType:"MANUAL",sourceReference:"\u4EBA\u5DE5\u6C47\u7387"}}function tD(t){for(let e of PS)if(!t[e.key].trim())return`${e.label.split("\uFF08")[0]} \u4E3A\u5FC5\u586B\u9879`;return null}function nD(t){if(!Number.isInteger(t.year)||t.year<2e3||t.year>9999)return"\u5E74\u4EFD\u5FC5\u987B\u662F 2000 \u81F3 9999 \u4E4B\u95F4\u7684\u6574\u6570";if(!Number.isInteger(t.month)||t.month<1||t.month>12)return"\u6708\u4EFD\u5FC5\u987B\u662F 1 \u81F3 12 \u4E4B\u95F4\u7684\u6574\u6570";let e=Number(t.usdToCnyRate);return Number.isFinite(e)?e<=0?"\u7F8E\u5143\u5151\u4EBA\u6C11\u5E01\u6C47\u7387\u5FC5\u987B\u5927\u4E8E 0":t.sourceType!=="MANUAL"?"\u6C47\u7387\u6765\u6E90\u5FC5\u987B\u4E3A\u4EBA\u5DE5\u6C47\u7387":t.sourceReference.trim()?null:"\u6765\u6E90\u8BF4\u660E\u4E3A\u5FC5\u586B\u9879":"\u7F8E\u5143\u5151\u4EBA\u6C11\u5E01\u6C47\u7387\u5FC5\u987B\u662F\u6709\u9650\u6570\u503C"}function rD(t){let e=Number(t.minimumOrderProfitRate),n=Number(t.exchangeCostMinimum),r=Number(t.exchangeCostMaximum);return[e,n,r].every(Number.isFinite)?e<0?"\u6700\u4F4E\u6574\u5355\u5229\u6DA6\u7387\u4E0D\u80FD\u5C0F\u4E8E 0":n>r?"\u6362\u6C47\u6210\u672C\u4E0B\u9650\u4E0D\u80FD\u5927\u4E8E\u4E0A\u9650":null:"\u5229\u6DA6\u7387\u548C\u6362\u6C47\u6210\u672C\u5FC5\u987B\u662F\u6709\u9650\u6570\u503C"}var OS=["customer-contract-review","purchase-contract-review","product-risk-review","sanction-review","sales-file-review"];var _S=new Set(["QUEUED","EXTRACTING","AI_PARSING","VALIDATING","PERSISTING"]),vp=1200*1e3;function Ly(t,e){if(t?.status===e.status)return null;if(e.status==="EXTRACTING"||e.status==="AI_PARSING")return{tone:"info",message:"\u6587\u4EF6\u5F00\u59CB\u89E3\u6790"};let n=e.documentType==="CONTROLLED_CATALOG"||e.documentType==="SANCTION_CATALOG";return e.status==="AWAITING_REVIEW"?n?{tone:"info",message:"\u76EE\u5F55\u89E3\u6790\u5B8C\u6210\uFF0C\u6B63\u5728\u81EA\u52A8\u590D\u6838"}:{tone:"success",message:"\u5408\u540C\u89E3\u6790\u5B8C\u6210\uFF0C\u8BF7\u5BA1\u6838"}:e.status==="SUCCEEDED"?{tone:"success",message:n?"\u76EE\u5F55\u5BFC\u5165\u5B8C\u6210":"\u5408\u540C\u89E3\u6790\u5B8C\u6210"}:e.status==="FAILED"||e.status==="TIMED_OUT"?{tone:"error",message:e.errorMessage||(n?"\u76EE\u5F55\u89E3\u6790\u5931\u8D25":"\u5408\u540C\u89E3\u6790\u5931\u8D25")}:null}var Mo=class extends Error{constructor(n,r){super(n);this.task=r;this.name="ContractImportError"}};async function FS({start:t,pollTask:e,wait:n=tl,now:r=Date.now,intervalMs:i=2e3,timeoutMs:o=vp,onTransition:a,onPollError:s,signal:l}){if(t.success===!1)throw new Error(t.message||"\u5408\u540C\u89E3\u6790\u542F\u52A8\u5931\u8D25");if(!t.data?.task)throw new Error("\u4E0A\u4F20\u54CD\u5E94\u7F3A\u5C11\u5408\u540C\u89E3\u6790\u4EFB\u52A1\u4FE1\u606F");let c=t.data.task;if(c.status==="AWAITING_REVIEW"||c.status==="SUCCEEDED")return{task:c};LS(c);let u=el({now:r,timeoutMs:o,maxTimeoutMs:vp});for(i=Math.max(1,i);u.active();){await n(i,l);let d=await nl(h=>h?e(c.id,h):e(c.id),s,l);if(!d.ok)continue;let p=d.value.task;if(a?.(c,p),c=p,c.status==="AWAITING_REVIEW"||c.status==="SUCCEEDED")return{task:c};if(LS(c),!_S.has(c.status))throw new Error(`\u4E0D\u652F\u6301\u7684\u5408\u540C\u5BFC\u5165\u4EFB\u52A1\u72B6\u6001\uFF1A${c.status}`)}throw u.expired("\u5408\u540C\u4EFB\u52A1\u89C2\u5BDF\u7A97\u53E3\u5DF2\u7ED3\u675F",c)}function MS(t){return t.filter(e=>(e.documentType==="PURCHASE_CONTRACT"||e.documentType==="CUSTOMER_CONTRACT")&&_S.has(e.status))}function BS(t,e){let n=new Set(t.map(r=>r.retryOfTaskId).filter(r=>!!r));return oD(t.filter(r=>r.documentType===e&&(r.status==="FAILED"||r.status==="TIMED_OUT")&&!n.has(r.id)))}async function _y({start:t,poll:e,wait:n=tl,now:r=Date.now,intervalMs:i=2e3,timeoutMs:o=vp,onPollError:a,signal:s}){if(!t.run)throw new Error("\u91CD\u65B0\u5206\u6790\u54CD\u5E94\u7F3A\u5C11\u4EFB\u52A1\u4FE1\u606F");if(t.run.status==="SUCCEEDED"&&(t.review||t.task))return t;iD(t.run);let l=el({now:r,timeoutMs:o,maxTimeoutMs:vp});i=Math.max(1,i);let c=t.run;for(;l.active();){await n(i,s);let u=await nl(p=>p?e(t.run.id,p):e(t.run.id),a,s);if(!u.ok)continue;let d=u.value;if(c=d.run,d.run.status==="SUCCEEDED")return d;if(d.run.status==="FAILED"||d.run.status==="TIMED_OUT")throw new Error(d.run.errorMessage||"AI \u91CD\u65B0\u5206\u6790\u5931\u8D25");if(d.run.status!=="PENDING"&&d.run.status!=="RUNNING")throw new Error(`\u4E0D\u652F\u6301\u7684\u91CD\u65B0\u5206\u6790\u72B6\u6001\uFF1A${d.run.status}`)}throw l.expired("AI \u91CD\u65B0\u5206\u6790\u89C2\u5BDF\u7A97\u53E3\u5DF2\u7ED3\u675F",c)}function LS(t){if(t.status==="CANCELED")throw new Mo("\u4EFB\u52A1\u5DF2\u53D6\u6D88",t);if(t.status==="FAILED"||t.status==="TIMED_OUT")throw new Mo(t.errorMessage||(t.status==="TIMED_OUT"?"\u5408\u540C\u89E3\u6790\u8D85\u65F6\uFF0C\u8BF7\u91CD\u65B0\u89E3\u6790":"\u5408\u540C\u89E3\u6790\u5931\u8D25\uFF0C\u8BF7\u91CD\u65B0\u89E3\u6790"),t)}function iD(t){if(t.status==="FAILED"||t.status==="TIMED_OUT")throw new Error(t.errorMessage||"AI \u91CD\u65B0\u5206\u6790\u5931\u8D25")}function oD(t){return[...t].sort((e,n)=>String(n.updatedAt??"").localeCompare(String(e.updatedAt??"")))[0]??null}var aD=new Set(["AWAITING_REVIEW","SUCCEEDED","FAILED","TIMED_OUT"]);function $S(t){let e=null,n=null,r=null,i=null,o=null,a=0,s=0,l=null,c=Promise.resolve();return{beginSelectionIntent(){return s+=1,s},isSelectionIntentCurrent(u){return s===u},restoreSelectedTaskIntent(u){return s!==u||e===null?!1:(l=s,!0)},isSelectedTaskIntentCurrent(){return l!==null&&s===l},beginSelection(u){return s+=1,l=s,a+=1,e===u?(o=null,s):(e=u,n=null,r=null,i=null,o=null,s)},isSelected(u){return e===u},selectedTask(){return n},clear(){s+=1,a+=1,e=null,l=null,n=null,r=null,i=null,o=null},sync(u,d){if(e!==u.id)return Promise.resolve();let p=d!==void 0;p&&(r=d??null),(!n||cD(u,n)>=0)&&(n=u);let h=n,m=lD(h),f=++a,v=async()=>{if(e!==h.id||a!==f)return;let y=i!==m||p,w=sD(h),b=w.observerConversationId,x=!!b&&o!==b;!y&&!x||(await t.setContext(w,r),i=m,!(e!==h.id||a!==f)&&x&&b&&await t.openConversation(b,w)!==!1&&(o=b))},g=c.then(v,v);return c=g.then(()=>{},()=>{}),g}}}function VS(t){if(!t||typeof t!="object"||Array.isArray(t))return!1;let e=t;return(e.result&&typeof e.result=="object"&&!Array.isArray(e.result)?e.result:e).success===!0}function My(t,e,n){return t.beginSelection(e.id),t.sync(e,n)}function WS(t,e){let n=e.find(o=>t.isSelected(o.id));if(n)return t.sync(n);let r=t.selectedTask();if(!r||!io(r)||!t.isSelectedTaskIntentCurrent())return Promise.resolve();let i=e.find(o=>XS(r,o));return i?My(t,i):Promise.resolve()}function sD(t){return{id:t.id,documentType:t.documentType,sourceFileName:t.sourceFileName??null,status:t.status,progress:"progress"in t?t.progress??null:null,retryOfTaskId:t.retryOfTaskId??null,errorCode:t.errorCode??null,errorMessage:t.errorMessage??null,observerConversationId:t.observerConversationId??null,queuedAt:t.queuedAt??null,startedAt:t.startedAt??null,completedAt:t.completedAt??null,updatedAt:t.updatedAt??null}}function lD(t){let e="progress"in t?qa(t.progress?.progressVersion)??0:0;return`${t.id}:${t.status}:${e}:${t.observerConversationId??""}:${t.updatedAt??""}`}function cD(t,e){let n=zS(t)-zS(e);if(n!==0)return n;let r=US(t)-US(e);return r!==0?r:GS(t.status)-GS(e.status)}function zS(t){let e=t.updatedAt??t.completedAt??t.startedAt??t.queuedAt??t.createdAt??"",n=Date.parse(e);return Number.isFinite(n)?n:0}function US(t){return"progress"in t?qa(t.progress?.progressVersion)??0:0}function GS(t){return{QUEUED:1,EXTRACTING:2,AI_PARSING:3,VALIDATING:4,AWAITING_REVIEW:5,PERSISTING:6,SUCCEEDED:7,FAILED:7,TIMED_OUT:7,CANCELED:7}[t]??0}function By(t,e){return t.documentType==="CONTROLLED_CATALOG"?e.type==="page"&&e.page==="controlled-goods"?"controlledGoods":null:t.documentType==="SANCTION_CATALOG"?e.type==="page"&&e.page==="sanctioned-companies"?"sanctionedCompanies":null:t.documentType==="PURCHASE_CONTRACT"?e.type==="procurement"?"procurement":null:t.documentType==="CUSTOMER_CONTRACT"&&e.type==="page"&&e.page==="customer-contract-review"?"customerContracts":null}function zy(t){return aD.has(t.status)?`${t.id}:${t.documentType}:${t.status}:${t.completedAt??t.updatedAt??t.startedAt??t.queuedAt??""}`:null}function KS(t,e){return t.map(Bo).filter(n=>n!==null&&n.id!==e)}function Uy(t,e,n={},r){for(let i of Fy(t)){let o=Bo(i.task)??Bo(i.importTask)??Bo(i.import_task)??Bo(i);if(o)return o;let a=mi(i.task),s=mi(i.importTask),l=mi(i.import_task),c=bp(a)??bp(s)??bp(l)??bp(i),u=Wl(e,n,a)??Wl(e,n,s)??Wl(e,n,l)??Wl(e,n,i);if(c&&u)return{...Sp(l),...Sp(s),...Sp(a),...s,...a,id:c,documentType:u,...YS(u,n,i,l,s,a),status:Cp(a)??Cp(s)??Cp(l)??Cp(i)??"QUEUED",sourceFileName:xp(r,a)??xp(r,s)??xp(r,l)??xp(r,i)}}return uD(t,e,n,r)}function Ap(t,e,n=new Set){let r=new Map,i=e.map(Bo).filter(o=>o!==null&&!io(o));for(let o of[...t,...e]){let a=Bo(o);a&&io(a)&&i.some(s=>XS(a,s))||a&&!n.has(a.id)&&r.set(a.id,a)}return[...r.values()].sort((o,a)=>String(a.updatedAt??a.queuedAt??a.createdAt??"").localeCompare(String(o.updatedAt??o.queuedAt??o.createdAt??"")))}function QS(t){if(t.status==="SUCCEEDED")return 100;if(t.status==="AWAITING_REVIEW")return 92;if(t.status==="FAILED"||t.status==="TIMED_OUT")return null;let e=t.progress??null,n=qa(e?.processedCount),r=qa(e?.totalCandidates)??qa(e?.totalCount),i=fD(e?.successCount,e?.duplicateCount,e?.invalidCount,e?.reviewPendingCount),o=r!==null&&r>0?r:i>0?i:null;return n!==null&&o!==null?Math.min(90,Math.max(5,n/o*90)):{QUEUED:8,EXTRACTING:24,AI_PARSING:54,VALIDATING:74,PERSISTING:88}[t.status]??null}function Fy(t){let e=[],n=new Set,r=(i,o=0)=>{if(Array.isArray(i)){for(let s of i)r(s,o+1);return}let a=mi(i);!Object.keys(a).length||n.has(a)||o>6||(n.add(a),e.push(a),r(a.tasks,o+1),r(a.items,o+1),r(a.importTasks,o+1),r(a.import_tasks,o+1),r(a.data,o+1),r(a.result,o+1),r(a.payload,o+1),r(a.response,o+1),r(a.body,o+1))};return r(t),e}function bp(t){if(typeof t.taskId=="string")return t.taskId;if(typeof t.taskId=="number"&&Number.isFinite(t.taskId))return String(t.taskId);if(typeof t.importTaskId=="string")return t.importTaskId;if(typeof t.importTaskId=="number"&&Number.isFinite(t.importTaskId))return String(t.importTaskId);if(typeof t.task_id=="string")return t.task_id;if(typeof t.task_id=="number"&&Number.isFinite(t.task_id))return String(t.task_id);if(typeof t.import_task_id=="string")return t.import_task_id;if(typeof t.import_task_id=="number"&&Number.isFinite(t.import_task_id))return String(t.import_task_id);if(typeof t.jobId=="string")return t.jobId;if(typeof t.jobId=="number"&&Number.isFinite(t.jobId))return String(t.jobId);if(typeof t.job_id=="string")return t.job_id;if(typeof t.job_id=="number"&&Number.isFinite(t.job_id))return String(t.job_id);if(typeof t.runId=="string")return t.runId;if(typeof t.runId=="number"&&Number.isFinite(t.runId))return String(t.runId);if(typeof t.run_id=="string")return t.run_id;if(typeof t.run_id=="number"&&Number.isFinite(t.run_id))return String(t.run_id);if(typeof t.id=="string")return t.id;if(typeof t.id=="number"&&Number.isFinite(t.id))return String(t.id);let e=mi(t.error),n=mi(e.details);return typeof n.taskId=="string"?n.taskId:typeof n.task_id=="string"?n.task_id:null}function Wl(t,e,n){return typeof n.documentType=="string"?n.documentType:typeof n.document_type=="string"?n.document_type:typeof e.documentType=="string"?e.documentType:typeof e.document_type=="string"?e.document_type:t?{upload_controlled_catalog:"CONTROLLED_CATALOG",upload_sanction_catalog:"SANCTION_CATALOG",upload_purchase_contract:"PURCHASE_CONTRACT",upload_customer_contract:"CUSTOMER_CONTRACT"}[t]??null:null}function xp(t,e){return typeof e.sourceFileName=="string"?e.sourceFileName:typeof e.source_file_name=="string"?e.source_file_name:t?.name}function uD(t,e,n,r){let i=Wl(e,n,{}),o=r?.name;if(!i||!o||!dD(t))return null;let a=new Date().toISOString();return{id:`local-upload:${i}:${encodeURIComponent(o)}:${Date.now()}`,documentType:i,...YS(i,n),status:"QUEUED",sourceFileName:o,createdAt:a,queuedAt:a,updatedAt:a}}function YS(t,...e){if(t!=="CONTROLLED_CATALOG")return{};for(let n of e){let r=n.catalogType??n.catalog_type;if(r==="DUAL_USE"||r==="OVERSEAS_SANCTION")return{catalogType:r}}return{}}function dD(t){for(let e of Fy(t))if(e.success===!1||e.error)return!1;return Fy(t).some(e=>e.success===!0||pD(e)||hD(e.message))}function pD(t){return t.channel==="xpertai.remote_component"&&t.type==="result"}function hD(t){let e=typeof t=="string"?t:`${String(mi(t).zh_Hans??"")} ${String(mi(t).en_US??"")}`;return["\u4E0A\u4F20\u6210\u529F","\u4E0A\u4F20\u5B8C\u6210","\u6587\u4EF6\u4E0A\u4F20\u6210\u529F","\u5DF2\u4E0A\u4F20"].some(n=>e.includes(n))}function Cp(t){return typeof t.status=="string"?kp(t.status):typeof t.state=="string"?kp(t.state):null}function io(t){return t.id.startsWith("local-upload:")}function HS(t){return`${t.documentType}:${t.sourceFileName??""}`}function XS(t,e){if(!io(t)||io(e)||HS(t)!==HS(e))return!1;let n=jS(t),r=jS(e);return n!==null&&r!==null&&r>=n}function jS(t){let e=t.createdAt??t.queuedAt;if(typeof e!="string")return null;let n=Date.parse(e);return Number.isFinite(n)?n:null}function Bo(t){let e=Sp(mi(t));return typeof e.id=="string"&&typeof e.status=="string"&&typeof e.documentType=="string"?e:null}function Sp(t){return{...t,...t.id===void 0&&t.taskId!==void 0?{id:t.taskId}:{},...t.id===void 0&&t.task_id!==void 0?{id:t.task_id}:{},...t.id===void 0&&t.importTaskId!==void 0?{id:t.importTaskId}:{},...t.id===void 0&&t.import_task_id!==void 0?{id:t.import_task_id}:{},...t.id===void 0&&t.jobId!==void 0?{id:t.jobId}:{},...t.id===void 0&&t.job_id!==void 0?{id:t.job_id}:{},...t.id===void 0&&t.runId!==void 0?{id:t.runId}:{},...t.id===void 0&&t.run_id!==void 0?{id:t.run_id}:{},...t.documentType===void 0&&t.document_type!==void 0?{documentType:t.document_type}:{},...typeof t.status=="string"?{status:kp(t.status)}:{},...t.status===void 0&&typeof t.state=="string"?{status:kp(t.state)}:{},...t.sourceFileName===void 0&&t.source_file_name!==void 0?{sourceFileName:t.source_file_name}:{}}}function kp(t){return t.trim().toUpperCase()}function qa(t){let e=Number(t);return Number.isFinite(e)?e:null}function fD(...t){return t.reduce((e,n)=>e+(qa(n)??0),0)}function mi(t){return t&&typeof t=="object"&&!Array.isArray(t)?t:{}}var mD=["refresh","load_excel_editor_runtime","seed_demo_data","save_controlled_goods","update_controlled_goods","save_sanctioned_company","update_sanctioned_company","save_purchase_review","save_customer_contract_review","update_supplier","update_purchase_order","add_purchase_line","update_purchase_line","update_customer","save_customer_profit_rate","save_derived_manual_data","get_customer_contract_review","update_customer_contract_review","reanalyze_customer_contract","consume_customer_contract_reanalysis_result","delete_entity","clear_controlled_catalog","clear_sanction_catalog","save_settings","restore_settings_default","delete_settings_rate","discard_company_logo","export_analytics","preflight_sales_file","generate_sales_file","download_sales_file","download_import_issues","retry_import_task","resolve_stalled_catalog_import","resolve_catalog_import_issue","delete_import_task","download_source_file","preview_source_file","save_edited_sales_file","search_hs_code","get_hs_code_detail","translate_purchase_product_name"],gD=new Set(mD);function Gy(t){return typeof t=="string"&&gD.has(t)}function qS(){let t=!1;return{async run(e,n=()=>{}){if(t)throw new Error("\u64CD\u4F5C\u6B63\u5728\u6267\u884C\uFF0C\u8BF7\u7A0D\u5019");t=!0,n(!0);try{return await e()}finally{t=!1,n(!1)}}}}var ZS={refresh:"silent",load_excel_editor_runtime:"silent",seed_demo_data:"silent",save_controlled_goods:"silent",update_controlled_goods:"silent",save_sanctioned_company:"silent",update_sanctioned_company:"silent",save_purchase_review:"silent",save_customer_contract_review:"silent",update_supplier:"silent",update_purchase_order:"silent",add_purchase_line:"silent",update_purchase_line:"silent",update_customer:"silent",save_customer_profit_rate:{tone:"success",fallback:"\u5BA2\u6237\u5229\u6DA6\u7387\u4FDD\u5B58\u6210\u529F"},save_derived_manual_data:{tone:"success",fallback:"\u9500\u552E\u4EBA\u5DE5\u6570\u636E\u4FDD\u5B58\u6210\u529F"},get_customer_contract_review:"silent",update_customer_contract_review:"silent",reanalyze_customer_contract:"silent",consume_customer_contract_reanalysis_result:"silent",delete_entity:"silent",clear_controlled_catalog:"silent",clear_sanction_catalog:"silent",save_settings:"silent",restore_settings_default:"silent",delete_settings_rate:"silent",discard_company_logo:"silent",export_analytics:"silent",preflight_sales_file:"silent",generate_sales_file:"silent",download_sales_file:{tone:"success",fallback:"\u9500\u552E\u6587\u4EF6\u4E0B\u8F7D\u6210\u529F"},download_import_issues:{tone:"success",fallback:"\u5BFC\u5165\u95EE\u9898 Excel \u4E0B\u8F7D\u6210\u529F"},retry_import_task:"silent",resolve_stalled_catalog_import:"silent",resolve_catalog_import_issue:"silent",delete_import_task:"silent",download_source_file:"silent",preview_source_file:"silent",save_edited_sales_file:"silent",search_hs_code:"silent",get_hs_code_detail:"silent",translate_purchase_product_name:"silent"},yD=new Set(["save_controlled_goods","update_controlled_goods","save_sanctioned_company","update_sanctioned_company","save_purchase_review","save_customer_contract_review","update_supplier","update_purchase_order","add_purchase_line","update_purchase_line","update_customer_contract_review","delete_entity"]);async function JS({actionKey:t,mutate:e,refresh:n,notify:r,onResult:i,resolveMessage:o=wD,suppressRefresh:a}){try{if(!Gy(t))throw new Error(`\u672A\u914D\u7F6E\u64CD\u4F5C\u901A\u77E5\u7B56\u7565\uFF1A${String(t)}`);let s=ZS[t],l=await e();if(l.success===!1)throw new Error(o(l)||"\u64CD\u4F5C\u5931\u8D25");if(i?.(l),l.refresh&&yD.has(t)&&!a)try{await n()}catch{r?.({message:"\u6570\u636E\u5237\u65B0\u5931\u8D25",tone:"error"})}return s!=="silent"&&r?.({message:o(l)||s.fallback,tone:s.tone}),l}catch(s){let l=Gy(t)?ZS[t]:void 0;throw(l===void 0||l!=="silent")&&r?.({message:s instanceof Error?s.message:"\u64CD\u4F5C\u5931\u8D25",tone:"error"}),s}}function wD(t){return t.message||t.error?.message||""}var Pe=be(Be(),1),vD={home:{title:"\u9996\u9875",subtitle:"\u67E5\u770B\u7CFB\u7EDF\u98CE\u9669\u64CD\u4F5C\u63D0\u793A\u4E0E\u5916\u8D38\u5408\u89C4\u4E1A\u52A1\u6D41\u7A0B\u3002"},"controlled-goods":{title:"\u7BA1\u63A7\u5546\u54C1\u76EE\u5F55",subtitle:"\u7EF4\u62A4\u519B\u6C11\u4E24\u7528\u7269\u8D44\u548C\u6D77\u5916\u5236\u88C1\u5546\u54C1\u76EE\u5F55\u3002"},"sanctioned-companies":{title:"\u516C\u53F8\u5236\u88C1\u76EE\u5F55",subtitle:"\u7EF4\u62A4\u88AB\u5236\u88C1\u516C\u53F8\u4FE1\u606F\u5E76\u652F\u6301\u4F9B\u5E94\u5546\u3001\u5BA2\u6237\u98CE\u9669\u6821\u9A8C\u3002"},procurement:{title:"\u91C7\u8D2D\u5408\u89C4\u7BA1\u7406",subtitle:"\u7BA1\u7406\u4F9B\u5E94\u5546\u3001\u91C7\u8D2D\u8BA2\u5355\u53CA\u91C7\u8D2D\u5546\u54C1\u5408\u89C4\u4FE1\u606F\u3002"},"customer-contract-review":{title:"\u5BA2\u6237\u5408\u540C\u5BA1\u6838",subtitle:"\u5BA1\u6838\u5BA2\u6237\u5408\u540C\u5173\u952E\u6761\u6B3E\u53CA AI \u98CE\u9669\u5EFA\u8BAE\u3002"},sales:{title:"",subtitle:""},"sales-files":{title:"\u9500\u552E\u6587\u4EF6\u7BA1\u7406",subtitle:"\u6821\u9A8C\u5E76\u751F\u6210\u9500\u552E\u4E1A\u52A1\u6587\u4EF6\uFF0C\u7BA1\u7406\u5386\u53F2\u5DE5\u4F5C\u7C3F\u3002"},analytics:{title:"",subtitle:""},settings:{title:"\u7CFB\u7EDF\u8BBE\u7F6E",subtitle:"\u7EF4\u62A4\u4F01\u4E1A\u3001\u94F6\u884C\u3001\u6C47\u7387\u548C\u5229\u6DA6\u89C4\u5219\u3002"}},bD={suppliers:{title:"\u4F9B\u5E94\u5546\u5217\u8868",subtitle:"\u7BA1\u7406\u4F9B\u5E94\u5546\u6863\u6848\uFF0C\u5E76\u901A\u8FC7\u4F9B\u5E94\u5546\u4EE3\u7801\u8FDB\u5165\u8BE5\u4F9B\u5E94\u5546\u7684\u91C7\u8D2D\u8BA2\u5355\u5217\u8868\u3002"},orders:{title:"\u91C7\u8D2D\u8BA2\u5355\u5217\u8868",subtitle:"\u67E5\u770B\u5F53\u524D\u4F9B\u5E94\u5546\u7684\u91C7\u8D2D\u8BA2\u5355\u3001\u91D1\u989D\u53CA\u5408\u89C4\u72B6\u6001\u3002"},lines:{title:"\u91C7\u8D2D\u5546\u54C1\u5217\u8868",subtitle:"\u67E5\u770B\u5F53\u524D\u91C7\u8D2D\u8BA2\u5355\u7684\u5546\u54C1\u660E\u7EC6\u53CA\u5408\u89C4\u72B6\u6001\u3002"}},Re=K0(),ek={filters:{},page:1,pageSize:20},tk=0,xD=3e4;function CD(t,e){let n=t.kind==="CONTRACT_IMPORT"?t.completion.task:t.result.run,r=e.kind==="CONTRACT_IMPORT"?e.completion.task:e.result.run;return Px(n,r)}var Tp=class extends Error{constructor(n,r){super(n);this.code=r;this.name="ActionResponseError"}},Kl=null;function SD(){let[t,e]=z.default.useState({type:"page",page:"home"}),n=z.default.useRef(t),r=z.default.useRef(0),i=z.default.useRef(null),o=z.default.useRef(Or()),a=z.default.useRef(Or()),s=z.default.useRef(null),l=z.default.useRef(Or()),c=z.default.useRef(Or()),u=z.default.useRef(X0()),d=z.default.useRef(null),p=z.default.useRef({page:1,pageSize:20,filters:{}}),h=z.default.useRef(!1),m=z.default.useRef(cm()),f=z.default.useRef({page:1,pageSize:20,filters:{}}),v=z.default.useRef({page:1,pageSize:20,filters:{}}),g=z.default.useRef({page:1,pageSize:20,filters:{}}),y=z.default.useRef(null),w=z.default.useRef(D1()),b=z.default.useRef({page:1,pageSize:20}),x=z.default.useRef({page:1,pageSize:20}),C=z.default.useRef(!1),k=z.default.useRef(cm()),S=z.default.useRef(J0(ek)),[E,D]=z.default.useState(ek),O=z.default.useRef(null),[H,M]=z.default.useState(void 0),[_,V]=z.default.useState(()=>Dr(null)),G=z.default.useRef([]),K=z.default.useRef(new Set),[J,ie]=z.default.useState(!1),[ue,we]=z.default.useState(!1),Y=z.default.useRef(qS()),[Q,F]=z.default.useState(!1),[ee,B]=z.default.useState(!1),[U,q]=z.default.useState(!1),[le,ne]=z.default.useState(!1),[ae,re]=z.default.useState(!1),[me,qe]=z.default.useState(null),[Ot,St]=z.default.useState(!1),[yi,oo]=z.default.useState(!1),[xr,Xl]=z.default.useState({CONTROLLED_CATALOG:null,SANCTION_CATALOG:null}),[Vy,Zl]=z.default.useState({CONTROLLED_CATALOG:null,SANCTION_CATALOG:null}),ql=z.default.useRef(Yu()),Jl=z.default.useRef(Yu()),Rp=z.default.useRef(Yu()),Ja=z.default.useRef(new Set),Ep=z.default.useRef(new Set),es=z.default.useRef(Dx(R=>R.kind==="CONTRACT_IMPORT"?R.completion.task.id:R.result.run.id,CD)),sr=z.default.useRef(null),Wy=z.default.useRef(()=>{}),ts=z.default.useRef(null),Lt=z.default.useRef(ex()),ns=z.default.useRef(async()=>{}),Ky=z.default.useRef(async()=>{}),Ip=z.default.useRef(new Set),Cr=z.default.useRef(null);Cr.current||(Cr.current=$S({setContext:async(R,P)=>{await Re.invokeClientCommand("assistant.context.set",{key:"tradeComplianceTask",context:{task:R,relatedRecords:P}})},openConversation:async R=>{let P=await Re.invokeClientCommand("workbench.navigation.open",{target:"assistant.conversation",conversationId:R});return VS(P)}}));let Wn=z.default.useRef(()=>{}),[Np,gk]=z.default.useState({supplier:null,order:null,metrics:null}),[ec,wi]=z.default.useState(null),[Pp,vi]=z.default.useState(null),[zo,Sr]=z.default.useState({status:"IDLE"}),[yk,Hr]=z.default.useState({status:"IDLE"}),[tc,Qy]=z.default.useState(null),[Yy,nc]=z.default.useState(null),[Dp,Op]=z.default.useState([]),[Uo]=z.default.useState(()=>wx(R=>Op(P=>pm(P,R)))),[wk,Xy]=z.default.useState(null),[vk,bk]=z.default.useState(0),ge=z.default.useCallback(R=>{Op(P=>yx(P,R,vx))},[]),xk=z.default.useCallback(R=>{Uo.dismiss(R),Op(P=>pm(P,R))},[Uo]),ao=z.default.useCallback(R=>{ge({message:R instanceof Error?R.message:"\u4EFB\u52A1\u64CD\u4F5C\u5931\u8D25",tone:"error"})},[ge]),bi=z.default.useCallback(R=>{ge({message:R instanceof Error?`\u4EFB\u52A1\u72B6\u6001\u5237\u65B0\u5931\u8D25\uFF1A${R.message}`:"\u4EFB\u52A1\u72B6\u6001\u5237\u65B0\u5931\u8D25",tone:"error"})},[ge]),so=z.default.useCallback(R=>{ni(R)||Ca(R)||ge({message:R instanceof Error?`\u540E\u53F0\u4EFB\u52A1\u8DDF\u8E2A\u5931\u8D25\uFF1A${R.message}`:"\u540E\u53F0\u4EFB\u52A1\u8DDF\u8E2A\u5931\u8D25",tone:"error"})},[ge]),lr=z.default.useCallback(R=>{K.current.has(R.id)||V(P=>{let $=Ap(P.importTasks.items,[R],K.current);return{...P,importTasks:{...P.importTasks,items:$,total:Math.max(Ct(P.importTasks.total,0),$.length),page:Ct(P.importTasks.page,1),pageSize:P.importTasks.pageSize??100}}})},[]),Zy=z.default.useCallback(R=>{V(P=>{let $=P.importTasks.items.some(X=>pt(X).id===R),W=KS(P.importTasks.items,R);return{...P,importTasks:{...P.importTasks,items:W,total:Math.max(W.length,Ct(P.importTasks.total,W.length)-($?1:0))}}})},[]),qy=z.default.useCallback(async R=>{let P=Cr.current,$=P.beginSelection(R.id),W=pt(Me(await Re.requestData({parameters:{collection:"importTask",taskId:R.id}})));if(!P.isSelected(R.id)||!P.isSelectionIntentCurrent($))return;let X=pt(W.task),ye=typeof X.id=="string"?{...R,...X}:R;await P.sync(ye,W)},[]),rs=z.default.useCallback(async R=>{try{let P=pt(Me(await Re.requestData(MD()))),$=Dr({summary:{importTasks:P}}).importTasks;return $.items.length>0||Ct($.total,0)>0?$:R.importTasks}catch{return R.importTasks}},[]),Jy=z.default.useCallback(R=>{if(O.current?.(),O.current=null,M(void 0),R.visualCheck!==!0)return;let P=()=>M("upload"),$=()=>M("form-editor");window.addEventListener("sales-file-upload",P),window.addEventListener("sales-file-form-editor",$),O.current=()=>{window.removeEventListener("sales-file-upload",P),window.removeEventListener("sales-file-form-editor",$)}},[]),jt=z.default.useCallback(async(R,P=1,$=20,W={})=>{let X=Rn($),ye=tx(R,P,X,W);if(!ye)return!1;let Le=String(pt(ye.parameters).collection),Qe=Le==="analytics"?S.current:l.current,kr=Le==="analytics"?DD(P,X,W):null,lo=kr?S.current.begin(kr):l.current.begin();ie(!0);try{let ft=pt(Me(await Re.requestData(ye)));if(!Qe.commit(lo)||n.current!==R&&JSON.stringify(n.current)!==JSON.stringify(R))return!1;if(Le==="analytics")D(S.current.committed()),V(Ar=>({...Ar,analytics:Dr({summary:{analytics:ft}}).analytics}));else if(Le==="settings"){let Ar=Dr({summary:{settings:ft}}).settings,lw={page:Ar.rates.page,pageSize:Ar.rates.pageSize};b.current=lw,x.current=lw,V(qk=>({...qk,settings:Ar}))}else V(Ar=>({...Ar,[Le]:{...ft,items:Array.isArray(ft.items)?ft.items:[],total:Ct(ft.total,0),page:Ct(ft.page,P),pageSize:X}}));return R.type==="procurement"&&gk(Ar=>({supplier:ft.supplier&&typeof ft.supplier=="object"?ft.supplier:R.level==="suppliers"?null:Ar.supplier,order:ft.order&&typeof ft.order=="object"?ft.order:null,metrics:ft.metrics&&typeof ft.metrics=="object"?ft.metrics:R.level==="orders"?null:Ar.metrics})),!0}catch(ft){return Qe.isLatest(lo)&&(Le==="analytics"&&D({...S.current.committed()}),ge({message:ft instanceof Error?`\u9875\u9762\u52A0\u8F7D\u5931\u8D25\uFF1A${ft.message}`:"\u9875\u9762\u52A0\u8F7D\u5931\u8D25",tone:"error"})),!1}finally{Qe.finish(lo),ie(l.current.activeCount()+o.current.activeCount()+S.current.activeCount()>0)}},[]),xi=z.default.useCallback(async R=>{let P=R??i.current;if(!P)return;let $=o.current,W=$.begin();ie(!0);try{let X=await Re.requestData(ak(P.initialQuery?.parameters));if($.isLatest(W)){let ye=Dr(X),Le=await rs(ye);Re.configure({uploadPolicy:ye.uploadPolicy}),V(Qe=>ik(Qe,{...ye,importTasks:Le},K.current)),await jt(n.current)}}catch(X){$.isLatest(W)&&ge({message:X instanceof Error?`\u5237\u65B0\u5931\u8D25\uFF1A${X.message}`:"\u5237\u65B0\u5931\u8D25",tone:"error"})}finally{$.finish(W),ie($.activeCount()+l.current.activeCount()+S.current.activeCount()>0)}},[rs,jt]),ht=z.default.useCallback(async()=>{let R=i.current;if(!R)return!1;let P=a.current,$=P.begin();try{let W=await Re.requestData(ak(R.initialQuery?.parameters));if(!P.commit($))return!1;let X=Dr(W),ye=await rs(X);return V(Le=>({...Le,controlledGoods:X.controlledGoods,controlledBatches:X.controlledBatches,sanctionedCompanies:X.sanctionedCompanies,sanctionBatches:X.sanctionBatches,importTasks:{...ye,items:Ap(Le.importTasks.items,ye.items,K.current),total:Math.max(Ct(ye.total,0),ye.items.length,Le.importTasks.items.length)},customerContractAnalyses:X.customerContractAnalyses})),!0}catch(W){return P.isLatest($)&&ge({message:W instanceof Error?`\u4EFB\u52A1\u72B6\u6001\u5237\u65B0\u5931\u8D25\uFF1A${W.message}`:"\u4EFB\u52A1\u72B6\u6001\u5237\u65B0\u5931\u8D25",tone:"error"}),!1}finally{P.finish($)}},[rs]),Ln=z.default.useCallback(()=>{s.current==null&&(s.current=window.setInterval(()=>{ht().then(R=>{!R||s.current==null||PD(G.current)||(window.clearInterval(s.current),s.current=null)})},2e3))},[ht]);z.default.useEffect(()=>{G.current=_.importTasks.items},[_.importTasks.items]),z.default.useEffect(()=>{WS(Cr.current,_.importTasks.items).catch(ao)},[_.importTasks.items,ao]),z.default.useEffect(()=>{let R=new Map;for(let P of _.importTasks.items){let $=zy(P);if(!$||Ip.current.has($))continue;Ip.current.add($);let W=By(P,n.current);W&&R.set(W,P)}for(let P of R.values())Ky.current(P).catch(ao)},[_.importTasks.items,ao]),z.default.useEffect(()=>()=>{s.current!=null&&window.clearInterval(s.current),ts.current!=null&&window.clearTimeout(ts.current)},[]),z.default.useEffect(()=>()=>ql.current.abortAll(),[]),z.default.useEffect(()=>()=>Jl.current.abortAll(),[]),z.default.useEffect(()=>()=>Rp.current.abortAll(),[]),z.default.useEffect(()=>(Re.start({onInit(R){Jy(pt(R.initialQuery?.parameters)),i.current=R;let P=Dr(R.payload);Re.configure({uploadPolicy:P.uploadPolicy}),V($=>ik($,P,K.current)),xi(R)},onHostEvent(){xi()}}),()=>{O.current?.(),O.current=null,Lt.current.dispose(),Re.destroy()}),[Jy,xi]),z.default.useEffect(()=>()=>Uo.dispose(),[Uo]),z.default.useEffect(()=>{let R=window.setTimeout(()=>Re.reportResize(),0);return()=>window.clearTimeout(R)},[t,_,J]),z.default.useEffect(()=>{Uo.sync(Dp)},[Uo,Dp]);let Ke=z.default.useCallback(R=>Y.current.run(R,we),[]),Kn=z.default.useCallback(async(R,P,$={})=>Ke(()=>JS({actionKey:R,mutate:async()=>Gt(Me(await Re.executeAction(R,P))),refresh:xi,notify:ge,resolveMessage:Kt,onResult:W=>{(R==="download_import_issues"||R==="download_sales_file")&&lk(W.data)},...$})),[xi,Ke]),Ck=z.default.useCallback((R,P,$={})=>Kn(R,P,$),[Kn]),is=z.default.useCallback(()=>{ts.current==null&&(ts.current=window.setTimeout(()=>{ts.current=null,Wy.current()},0))},[]),rc=z.default.useCallback(R=>{es.current.enqueue(R),is()},[is]),ic=z.default.useCallback(async(R,P)=>{if(!R.data?.task.id)throw new Error("\u89E3\u6790\u54CD\u5E94\u7F3A\u5C11\u4EFB\u52A1\u6807\u8BC6");let W=R.data?.task.documentType;W&&(Xl(X=>({...X,[W]:null})),Zl(X=>({...X,[W]:null})));try{let X=await Zx({start:R,pollTask:async ye=>sk(Me(await Re.requestData({parameters:{collection:"importTask",taskId:ye}}))),refresh:ht,signal:P,onTransition:(ye,Le)=>{lr(Le);let Qe=Ly(ye,Le);Qe&&ge(Qe)},onPollError:ye=>ge({message:`\u4EFB\u52A1\u72B6\u6001\u67E5\u8BE2\u5931\u8D25\uFF1A${ye.message}`,tone:"error"})});return lr(X.task),Xl(ye=>({...ye,[X.task.documentType]:X})),await ns.current(X.task),X}catch(X){throw ni(X)?X:Ca(X)?(ge({message:"\u4EFB\u52A1\u4ECD\u5728\u540E\u53F0\u5904\u7406\u4E2D\uFF0C\u5C06\u7EE7\u7EED\u8DDF\u8E2A",tone:"info"}),Ln(),X):(X instanceof To?(Zl(ye=>({...ye,[X.task.documentType]:X.task})),await ns.current(X.task)):ge({message:X instanceof Error?X.message:"\u76EE\u5F55\u89E3\u6790\u5931\u8D25",tone:"error"}),X)}},[ht,Ln,lr]),oc=z.default.useCallback(async(R,P)=>{let $=R.data?.task;if(!$)throw new Error("\u89E3\u6790\u54CD\u5E94\u7F3A\u5C11\u5408\u540C\u4EFB\u52A1\u6807\u8BC6");$.documentType==="PURCHASE_CONTRACT"?(Lt.current.clear("purchase"),wi($),vi(null)):(Lt.current.clear("customer"),Sr({status:"PROCESSING",importTaskId:$.id,sourceFileName:$.sourceFileName??"\u5BA2\u6237\u5408\u540C"}));try{let W=await FS({start:R,signal:P,pollTask:async X=>dk(Me(await Re.requestData({parameters:{collection:"importTask",taskId:X}}))),onTransition:(X,ye)=>{lr(ye);let Le=Ly(X,ye);Le&&ge(Le)},onPollError:X=>ge({message:`\u4EFB\u52A1\u72B6\u6001\u67E5\u8BE2\u5931\u8D25\uFF1A${X.message}`,tone:"error"})});return W.task.status==="AWAITING_REVIEW"&&rc({kind:"CONTRACT_IMPORT",completion:W}),lr(W.task),await ns.current(W.task),W}catch(W){if(ni(W))throw W;if(Ca(W))throw ge({message:"\u4EFB\u52A1\u4ECD\u5728\u540E\u53F0\u5904\u7406\u4E2D\uFF0C\u5C06\u7EE7\u7EED\u8DDF\u8E2A",tone:"info"}),Ln(),W;let X=W instanceof Mo?W.task:$;throw $.documentType==="PURCHASE_CONTRACT"?(wi({...X,status:X.status==="TIMED_OUT"?"TIMED_OUT":"FAILED",errorMessage:W instanceof Error?W.message:"\u91C7\u8D2D\u5408\u540C\u89E3\u6790\u5931\u8D25"}),vi(null)):Sr({status:"FAILED",importTaskId:X.id,message:W instanceof Error?W.message:"\u5BA2\u6237\u5408\u540C\u89E3\u6790\u5931\u8D25"}),await ns.current(X),W instanceof Mo||ge({message:W instanceof Error?W.message:"\u5408\u540C\u89E3\u6790\u5931\u8D25",tone:"error"}),W}},[rc,Ln,lr]),ew=z.default.useCallback(R=>{if(R.documentType==="PURCHASE_CONTRACT"||R.documentType==="CUSTOMER_CONTRACT"){let P=Jl.current.run(R.id,$=>oc({success:!0,data:{task:R}},$));P&&P.catch(so);return}if(R.documentType==="CONTROLLED_CATALOG"||R.documentType==="SANCTION_CATALOG"){let P=ql.current.run(R.id,$=>ic({success:!0,data:{task:R}},$));P&&P.catch(so)}},[so,oc,ic]),tw=z.default.useCallback(async(R,P)=>{let $=pt(P.data),W=Uy(P,R);if(R==="upload_customer_contract"&&$.review){Lt.current.clear("customer");let X=W?{...W,status:"AWAITING_REVIEW"}:null;X?.id&&(sr.current=X.id,Ja.current.add(X.id),lr(X));let ye=Zi($.review,{reviewSource:"IMPORT_DRAFT",importTaskId:X?.id,sourceFileId:X?.sourceFileId??"",sourceFileName:X?.sourceFileName??""});return Sr({status:"AWAITING_REVIEW",importTaskId:X?.id??"",review:await Yl(ye,Lt.current)}),Wn.current({type:"page",page:"customer-contract-review"}),!0}if(R==="upload_purchase_contract"&&W?.documentType==="PURCHASE_CONTRACT"&&W.resultPayload){Lt.current.clear("purchase");let X={...W,status:"AWAITING_REVIEW"};sr.current=X.id,Ja.current.add(X.id),lr(X);let ye=ip(X);return wi(X),vi(await Hy(ye,X,Lt.current)),Wn.current({type:"procurement",level:"suppliers"}),!0}return!1},[lr]),Go=z.default.useCallback(async(R,P,$,W=!0)=>{let X=Cr.current.beginSelectionIntent();return Ke(async()=>{try{let ye=await Re.executeFileAction(R,P,$),Le=Gt(Me(ye)),Qe=Uy(Le,R,$,P);if(Qe&&(lr(Qe),Cr.current.isSelectionIntentCurrent(X)&&My(Cr.current,Qe,{task:Qe}).catch(ao),io(Qe)?Ln():ew(Qe)),Le.success===!1)throw Ql(Le,"\u4E0A\u4F20\u5931\u8D25");return await ht().catch(kr=>{bi(kr instanceof Error?kr:new Error(String(kr)))}),await tw(R,Le),ge({message:Kt(Le)||"\u89E3\u6790\u4EFB\u52A1\u5DF2\u63D0\u4EA4",tone:"info"}),Le}catch(ye){throw Cr.current.restoreSelectedTaskIntent(X),await ht().catch(Le=>{bi(Le instanceof Error?Le:new Error(String(Le)))}),W&&!(ye instanceof To)&&ge({message:ye instanceof Error?ye.message:"\u4E0A\u4F20\u5931\u8D25",tone:"error"}),ye}})},[ht,bi,ao,tw,Ke,Ln,ew,lr]),nw=z.default.useCallback((R,P,$)=>Go(R,P,$,!1),[Go]);z.default.useEffect(()=>{let R=_.importTasks.items;Zl({CONTROLLED_CATALOG:xm(R,"CONTROLLED_CATALOG",xr.CONTROLLED_CATALOG?.task),SANCTION_CATALOG:xm(R,"SANCTION_CATALOG",xr.SANCTION_CATALOG?.task)});for(let P of qx(R)){let $=ql.current.run(P.id,W=>ic({success:!0,data:{task:P}},W));$&&$.catch(so)}},[_.importTasks.items,so,xr,ic]),z.default.useEffect(()=>{let R=_.importTasks.items;for(let P of MS(R)){if(Ja.current.has(P.id))continue;let $=Jl.current.run(P.id,W=>oc({success:!0,data:{task:P}},W));$&&$.catch(so)}for(let P of["PURCHASE_CONTRACT","CUSTOMER_CONTRACT"]){let $=BS(R,P),W=R.some(X=>X.documentType===P&&(X.status==="AWAITING_REVIEW"||["QUEUED","EXTRACTING","AI_PARSING","VALIDATING","PERSISTING"].includes(X.status)));!W&&$&&(P==="PURCHASE_CONTRACT"?wi($):Sr({status:"FAILED",importTaskId:$.id,message:$.errorMessage||"\u5BA2\u6237\u5408\u540C\u89E3\u6790\u5931\u8D25\uFF0C\u8BF7\u91CD\u65B0\u89E3\u6790"})),!sr.current&&!W&&!$&&R.some(X=>X.documentType===P&&X.status==="SUCCEEDED")&&(P==="PURCHASE_CONTRACT"?(wi(null),vi(null)):Sr({status:"IDLE"}))}},[_.importTasks.items,so,oc]);let ac=z.default.useCallback(async R=>Ke(async()=>{try{let P=await Xu(()=>Re.executeAction("retry_import_task",{taskId:R}),ht,bi),$=Gt(Me(P));if($.success===!1)throw Ql($,"\u91CD\u65B0\u89E3\u6790\u5931\u8D25");ge({message:Kt($)||"\u91CD\u65B0\u89E3\u6790\u4EFB\u52A1\u5DF2\u63D0\u4EA4",tone:"info"})}catch(P){throw P instanceof To||ge({message:P instanceof Error?P.message:"\u91CD\u65B0\u89E3\u6790\u5931\u8D25",tone:"error"}),P}}),[ht,bi,Ke]),sc=z.default.useCallback(async R=>Ke(async()=>{try{let P=await Xu(()=>Re.executeAction("retry_import_task",{taskId:R}),ht,bi),$=Gt(Me(P));if($.success===!1)throw Ql($,"\u91CD\u65B0\u89E3\u6790\u5931\u8D25");ge({message:Kt($)||"\u91CD\u65B0\u89E3\u6790\u4EFB\u52A1\u5DF2\u63D0\u4EA4",tone:"info"})}catch(P){throw ge({message:P instanceof Error?P.message:"\u91CD\u65B0\u89E3\u6790\u5931\u8D25",tone:"error"}),P}}),[ht,bi,Ke]),lc=z.default.useCallback(async(R,P)=>Ke(async()=>{let $=Gt(Me(await Re.executeAction("delete_import_task",{taskId:R.id})));if($.success===!1)throw Ql($,"\u4EFB\u52A1\u5220\u9664\u5931\u8D25");K.current.add(R.id),ql.current.abort(R.id),Jl.current.abort(R.id),Zy(R.id),Xl(W=>{let X=W[R.documentType];return!X||X.task.id!==R.id?W:{...W,[R.documentType]:null}}),Zl(W=>{let X=W[R.documentType];return!X||X.id!==R.id?W:{...W,[R.documentType]:null}}),R.documentType==="PURCHASE_CONTRACT"&&ec?.id===R.id&&(wi(null),vi(null)),R.documentType==="CUSTOMER_CONTRACT"&&zo.status!=="IDLE"&&zo.importTaskId===R.id&&Sr({status:"IDLE"}),Cr.current?.isSelected(R.id)&&(Cr.current.clear(),await Re.invokeClientCommand("assistant.context.set",{key:"tradeComplianceTask",clear:!0}).catch(()=>{}),await Re.invokeClientCommand("assistant.chat.send_message",{text:`\u4EFB\u52A1\u201C${R.sourceFileName||jy(R.documentType)}\u201D\u5DF2\u53D6\u6D88\u5E76\u5220\u9664\u3002`,clientMessageId:`trade-task:${R.id}:deleted`}).catch(()=>{})),P.refresh&&await ht()}),[zo,ht,ec,Zy,Ke]),rw=z.default.useCallback(async R=>{await lc(R,{refresh:!0})},[lc]),Sk=z.default.useCallback(async R=>{let P=new Map(_.importTasks.items.map(W=>[W.id,W])),$=await rr(R.map(W=>W.id),async W=>{let X=P.get(W);if(!X)throw new Error("\u4EFB\u52A1\u5DF2\u4E0D\u5B58\u5728");await lc(X,{refresh:!1})});return await ht(),$.failed.map(W=>({id:W.key,message:W.message}))},[_.importTasks.items,lc,ht]),os=z.default.useCallback(async R=>{if(R.status==="FAILED"||R.status==="TIMED_OUT"){R.documentType==="PURCHASE_CONTRACT"||R.documentType==="CUSTOMER_CONTRACT"?await sc(R.id):await ac(R.id);return}if(R.status!=="AWAITING_REVIEW")return;if(R.documentType==="CONTROLLED_CATALOG"||R.documentType==="SANCTION_CATALOG"){let W=sk(Me(await Re.requestData({parameters:{collection:"importTask",taskId:R.id}})));Xl(X=>({...X,[W.task.documentType]:W})),Wn.current({type:"page",page:W.task.documentType==="CONTROLLED_CATALOG"?"controlled-goods":"sanctioned-companies"});return}let P=dk(Me(await Re.requestData({parameters:{collection:"importTask",taskId:R.id}}))).task;if(sr.current=P.id,P.documentType==="PURCHASE_CONTRACT"){Lt.current.clear("purchase");let W=ip(P);wi(P),vi(await Hy(W,P,Lt.current)),Wn.current({type:"procurement",level:"suppliers"});return}Lt.current.clear("customer");let $=Zi(P.resultPayload,{reviewSource:"IMPORT_DRAFT",importTaskId:P.id,sourceFileId:P.sourceFileId??"",sourceFileName:P.sourceFileName??""});Sr({status:"AWAITING_REVIEW",importTaskId:P.id,review:await Yl($,Lt.current)}),Wn.current({type:"page",page:"customer-contract-review"})},[sc,ac]),cc=z.default.useCallback(async R=>{let P;if(R.review)P=Zi(R.review,{reviewSource:"EXISTING_CONTRACT"});else if(R.task)P=Zi(R.task.resultPayload,{reviewSource:"IMPORT_DRAFT",importTaskId:R.task.id,sourceFileId:R.task.sourceFileId??"",sourceFileName:R.task.sourceFileName??""});else throw new Error("\u91CD\u65B0\u5206\u6790\u7ED3\u679C\u7F3A\u5C11\u5408\u540C\u5BA1\u6838\u6570\u636E");let $=await Yl(P,Lt.current);return Sr({status:"AWAITING_REVIEW",importTaskId:R.task?.id??R.run.importTaskId??"",review:$}),Wn.current({type:"page",page:"customer-contract-review"}),$},[]),uc=z.default.useCallback(async R=>Ke(async()=>{let P=Gt(Me(await Re.executeAction("consume_customer_contract_reanalysis_result",{runId:R})));if(P.success===!1)throw new Error(Kt(P)||"\u786E\u8BA4\u91CD\u65B0\u5206\u6790\u7ED3\u679C\u5931\u8D25")}),[Ke]),kk=z.default.useCallback(async R=>{Hr({status:"RUNNING",message:"AI \u91CD\u65B0\u5206\u6790\u4E2D"});try{let P=await Ke(()=>Xu(()=>Re.executeAction("reanalyze_customer_contract",{reviewSource:R.reviewSource,...R.customerContractId?{id:R.customerContractId}:{},...R.importTaskId?{importTaskId:R.importTaskId}:{}}),ht,bi)),$=Gt(Me(P));if($.success===!1||!$.data)throw Ql($,"AI \u91CD\u65B0\u5206\u6790\u542F\u52A8\u5931\u8D25");ge({message:Kt($)||"AI \u91CD\u65B0\u5206\u6790\u4EFB\u52A1\u5DF2\u63D0\u4EA4",tone:"info"});let W=Rp.current.run($.data.run.id,Le=>_y({start:$.data,signal:Le,poll:async Qe=>pk(Me(await Re.requestData({parameters:{collection:"customerContractAnalysis",runId:Qe}}))),onPollError:Qe=>ge({message:`\u4EFB\u52A1\u72B6\u6001\u67E5\u8BE2\u5931\u8D25\uFF1A${Qe.message}`,tone:"error"})}));if(!W)throw new Error("\u8BE5 AI \u91CD\u65B0\u5206\u6790\u4EFB\u52A1\u6B63\u5728\u8DDF\u8E2A\u4E2D");let X=await W,ye=await cc(X);return await uc(X.run.id),Ep.current.add(X.run.id),Hr({status:"IDLE"}),ge({message:"AI \u91CD\u65B0\u5206\u6790\u5B8C\u6210",tone:"success"}),await ht(),ye}catch(P){throw ni(P)?P:P instanceof Tp&&P.code==="IMPORT_QUEUE_UNAVAILABLE"?(Hr({status:"RUNNING",message:"\u4EFB\u52A1\u5DF2\u4FDD\u5B58\uFF0C\u7B49\u5F85\u961F\u5217\u670D\u52A1\u6062\u590D"}),ge({message:P.message,tone:"info"}),Ln(),P):Ca(P)?(Hr({status:"RUNNING",message:"AI \u91CD\u65B0\u5206\u6790\u4ECD\u5728\u540E\u53F0\u5904\u7406\u4E2D"}),ge({message:"\u4EFB\u52A1\u4ECD\u5728\u540E\u53F0\u5904\u7406\u4E2D\uFF0C\u5C06\u7EE7\u7EED\u8DDF\u8E2A",tone:"info"}),Ln(),P):(Hr({status:"FAILED",message:P instanceof Error?P.message:"AI \u91CD\u65B0\u5206\u6790\u5931\u8D25"}),ge({message:P instanceof Error?P.message:"AI \u91CD\u65B0\u5206\u6790\u5931\u8D25",tone:"error"}),P)}},[cc,uc,ht,Ke,Ln]);z.default.useEffect(()=>{for(let R of _.customerContractAnalyses.items){if(!(R.recoveryType==="ACTIVE_POLL"||R.recoveryType==="SUCCEEDED_RESULT")||Ep.current.has(R.run.id))continue;let $=Rp.current.run(R.run.id,W=>_y({start:{run:R.run},signal:W,poll:async X=>pk(Me(await Re.requestData({parameters:{collection:"customerContractAnalysis",runId:X}}))),onPollError:X=>ge({message:`\u4EFB\u52A1\u72B6\u6001\u67E5\u8BE2\u5931\u8D25\uFF1A${X.message}`,tone:"error"})}));$&&(Hr({status:"RUNNING",message:"AI \u91CD\u65B0\u5206\u6790\u4E2D"}),ge({message:"\u5DF2\u6062\u590D AI \u91CD\u65B0\u5206\u6790\u4EFB\u52A1",tone:"info"}),$.then(W=>{rc({kind:"REANALYSIS",result:W})}).catch(W=>{if(!ni(W)){if(Ca(W)){Hr({status:"RUNNING",message:"AI \u91CD\u65B0\u5206\u6790\u4ECD\u5728\u540E\u53F0\u5904\u7406\u4E2D"}),ge({message:"\u4EFB\u52A1\u4ECD\u5728\u540E\u53F0\u5904\u7406\u4E2D\uFF0C\u5C06\u7EE7\u7EED\u8DDF\u8E2A",tone:"info"}),Ln();return}Hr({status:"FAILED",message:W instanceof Error?W.message:"AI \u91CD\u65B0\u5206\u6790\u5931\u8D25"}),ge({message:W instanceof Error?W.message:"AI \u91CD\u65B0\u5206\u6790\u5931\u8D25",tone:"error"})}}))}},[_.customerContractAnalyses.items,rc,Ln]);let Ak=z.default.useCallback(async()=>{if(sr.current){if(zo.status==="AWAITING_REVIEW"||!!Pp)return;sr.current=null}let P=es.current.peek();if(!P)return;let $=P.kind==="CONTRACT_IMPORT"?P.completion.task.id:P.result.run.id;sr.current=$;try{if(P.kind==="CONTRACT_IMPORT"){let W=P.completion.task;if(W.documentType==="PURCHASE_CONTRACT"){Lt.current.clear("purchase");let X=ip(W);wi(W),vi(await Hy(X,W,Lt.current)),Wn.current({type:"procurement",level:"suppliers"})}else if(W.documentType==="CUSTOMER_CONTRACT"){Lt.current.clear("customer");let X=Zi(W.resultPayload,{reviewSource:"IMPORT_DRAFT",importTaskId:W.id,sourceFileId:W.sourceFileId??"",sourceFileName:W.sourceFileName??""});Sr({status:"AWAITING_REVIEW",importTaskId:W.id,review:await Yl(X,Lt.current)}),Wn.current({type:"page",page:"customer-contract-review"})}else{es.current.ack($),Ja.current.add($),sr.current=null,is();return}es.current.ack($),Ja.current.add($);return}await cc(P.result),await uc(P.result.run.id),es.current.ack($),Ep.current.add(P.result.run.id),Hr({status:"IDLE"}),ge({message:"AI \u91CD\u65B0\u5206\u6790\u5B8C\u6210",tone:"success"}),await ht()}catch(W){sr.current=null,ge({message:W instanceof Error?W.message:"\u5BA1\u6838\u7ED3\u679C\u6062\u590D\u5931\u8D25",tone:"error"}),Ln()}},[cc,uc,zo.status,ht,ec,Pp,Ln]);Wy.current=()=>{Ak()};let Tk=z.default.useCallback(async R=>{let P=Gt(Me(await Re.executeAction("get_customer_contract_review",{id:R})));if(P.success===!1||!P.data)throw new Error(Kt(P)||"\u5BA2\u6237\u5408\u540C\u5BA1\u6838\u52A0\u8F7D\u5931\u8D25");let $=pt(P.data),W="reviewSource"in $?$:Zi($,{reviewSource:"EXISTING_CONTRACT"});return Yl(W,Lt.current)},[]),Rk=z.default.useCallback(()=>{Lt.current.clear("purchase"),vi(null),sr.current=null},[is]),Ek=z.default.useCallback(()=>{Lt.current.clear("customer"),Sr({status:"IDLE"}),sr.current=null},[is]),iw=z.default.useCallback(async R=>{let P=Rn(R.pageSize),$=pt(Me(await Re.requestData({page:R.page,pageSize:P,parameters:{collection:"importIssues",documentType:R.documentType,batchId:R.batchId,issueType:R.issueType}})));return{items:Array.isArray($.items)?$.items:[],total:Ct($.total,0),page:Ct($.page,R.page),pageSize:P}},[]),ow=z.default.useCallback(async R=>{let P=Rn(R.pageSize),$=R.documentType==="CONTROLLED_CATALOG"?"controlledBatchHistory":"sanctionBatchHistory",W=pt(Me(await Re.requestData({page:R.page,pageSize:P,parameters:{collection:$}})));return{items:Array.isArray(W.items)?W.items:[],total:Ct(W.total,0),page:Ct(W.page,R.page),pageSize:P}},[]),Qn=z.default.useCallback(async(R,P)=>{R==="controlledGoods"?v.current=P:g.current=P;let $=Rn(P.pageSize),W=o.current,X=W.begin();ie(!0);try{let ye=async ft=>pt(Me(await Re.requestData({page:ft,pageSize:$,parameters:{collection:R,filters:yn(P.filters),batchId:P.batchId,refreshNonce:$y()}}))),Le=P.page,Qe=await ye(Le),kr=Ct(Qe.total,0),lo=Math.max(1,Math.ceil(kr/$));if(P.page>lo){if(!W.isLatest(X))return!1;Le=lo,Qe=await ye(lo),kr=Ct(Qe.total,0)}return W.isLatest(X)?(V(ft=>({...ft,[R]:{...ft[R],items:Array.isArray(Qe.items)?Qe.items:[],total:kr,page:Ct(Qe.page,Le),pageSize:$}})),!0):!1}catch(ye){return W.isLatest(X)&&ge({message:ye instanceof Error?`\u67E5\u8BE2\u5931\u8D25\uFF1A${ye.message}`:"\u67E5\u8BE2\u5931\u8D25",tone:"error"}),!1}finally{W.finish(X),ie(W.activeCount()>0)}},[]),Ik=z.default.useCallback(async()=>{try{await Kn("clear_controlled_catalog",{},{suppressRefresh:!0}),St(!1),V(R=>({...R,controlledGoods:{...R.controlledGoods,items:[],total:0,page:1},controlledBatches:{...R.controlledBatches,items:[],total:0,page:1}})),ge({message:"\u7BA1\u63A7\u5546\u54C1\u76EE\u5F55\u5DF2\u6E05\u7A7A",tone:"success"}),await Qn("controlledGoods",{page:1,pageSize:v.current.pageSize,filters:v.current.filters})}catch(R){ge({message:R instanceof Error?`\u7BA1\u63A7\u5546\u54C1\u76EE\u5F55\u6E05\u7A7A\u5931\u8D25\uFF1A${R.message}`:"\u7BA1\u63A7\u5546\u54C1\u76EE\u5F55\u6E05\u7A7A\u5931\u8D25",tone:"error"})}},[Kn,Qn]),Nk=z.default.useCallback(async()=>{try{await Kn("clear_sanction_catalog",{},{suppressRefresh:!0}),oo(!1),V(R=>({...R,sanctionedCompanies:{...R.sanctionedCompanies,items:[],total:0,page:1},sanctionBatches:{...R.sanctionBatches,items:[],total:0,page:1}})),ge({message:"\u516C\u53F8\u5236\u88C1\u76EE\u5F55\u5DF2\u6E05\u7A7A",tone:"success"}),await Qn("sanctionedCompanies",{page:1,pageSize:g.current.pageSize,filters:g.current.filters})}catch(R){ge({message:R instanceof Error?`\u516C\u53F8\u5236\u88C1\u76EE\u5F55\u6E05\u7A7A\u5931\u8D25\uFF1A${R.message}`:"\u516C\u53F8\u5236\u88C1\u76EE\u5F55\u6E05\u7A7A\u5931\u8D25",tone:"error"})}},[Kn,Qn]),aw=z.default.useCallback(async(R,P)=>Ke(async()=>Gt(Me(await Re.executeAction("resolve_stalled_catalog_import",{taskId:R,decision:P})))),[Ke]),Lp=z.default.useCallback(async R=>{x.current=R;let P=Rn(R.pageSize),$=c.current,W=r.current,X=$.begin();ie(!0);try{let ye=pt(Me(await Re.requestData({page:R.page,pageSize:P,parameters:{collection:"monthlyRates"}})));if(!$.commit(X)||!Y0(W,r.current,n.current))return!1;let Le={page:Ct(ye.page,R.page),pageSize:P};return b.current=Le,x.current=Le,V(Qe=>({...Qe,settings:Dr({summary:{settings:{...Qe.settings,rates:{...ye,pageSize:P}}}}).settings})),!0}catch(ye){return $.isLatest(X)&&ge({message:ye instanceof Error?`\u6708\u5EA6\u6C47\u7387\u52A0\u8F7D\u5931\u8D25\uFF1A${ye.message}`:"\u6708\u5EA6\u6C47\u7387\u52A0\u8F7D\u5931\u8D25",tone:"error"}),!1}finally{$.finish(X),ie($.activeCount()+o.current.activeCount()+l.current.activeCount()>0)}},[]),_p=z.default.useCallback(async(R,P)=>{y.current={collection:R,query:P};let $=my(R,P);return $?await jt($,P.page,P.pageSize,P.filters):!1},[jt]),as=z.default.useCallback(async R=>(f.current=R,await jt({type:"page",page:"customer-contract-review"},R.page,R.pageSize,R.filters)),[jt]),Pk=z.default.useCallback(R=>{f.current=R},[]),Fp=z.default.useCallback(async R=>{let P=By(R,n.current);if(P==="controlledGoods"){await Qn("controlledGoods",v.current);return}if(P==="sanctionedCompanies"){await Qn("sanctionedCompanies",g.current);return}if(P==="procurement"){let $=AD(y.current,n.current);$&&await _p($.collection,$.query);return}P==="customerContracts"&&await as(f.current)},[Qn,as,_p]);Ky.current=Fp;let Dk=z.default.useCallback(async R=>{let P=zy(R);P&&Ip.current.add(P),await ht(),await Fp(R)},[ht,Fp]);ns.current=Dk;let Ok=z.default.useCallback(R=>w.current.register(R),[]),Lk=z.default.useCallback(()=>{let R=n.current.type==="page"&&n.current.page==="customer-contract-review";return R&&w.current.cancelCurrent(),L1({isActive:()=>R,latestQuery:()=>f.current,query:as})},[as]),_k=z.default.useCallback(async(R,P)=>{await jt(n.current,P.page,P.pageSize,P.filters)},[jt]),Ho=z.default.useCallback(async(R,P)=>{let $=Rn(P.pageSize);if(R==="salesFileOrders")return await jt({type:"page",page:"sales-files"},P.page,$,P.filters);p.current={...P,pageSize:$};let W=sm(P.parameters);return d.current=W,await Z0({gate:u.current,key:W,request:async()=>pt(Me(await Re.requestData({page:P.page,pageSize:$,parameters:{collection:R,...P.parameters,filters:yn(P.filters)}}))),isCurrent:()=>d.current===W,commit:X=>V(ye=>({...ye,generatedFiles:{...X,items:Array.isArray(X.items)?X.items:[],total:Ct(X.total,0),page:Ct(X.page,P.page),pageSize:$}})),onError:X=>ge({message:X instanceof Error?`\u5386\u53F2\u751F\u6210\u6587\u4EF6\u52A0\u8F7D\u5931\u8D25\uFF1A${X.message}`:"\u5386\u53F2\u751F\u6210\u6587\u4EF6\u52A0\u8F7D\u5931\u8D25",tone:"error"}),onStart:()=>ie(!0),onFinish:()=>ie(u.current.activeCount()+o.current.activeCount()+l.current.activeCount()+S.current.activeCount()>0)})},[jt]),dc=z.default.useCallback(()=>({isActive:()=>n.current.type==="page"&&n.current.page==="sales-files"&&h.current,latestQuery:()=>p.current,query:R=>Ho("generatedFiles",R),onBusyChange:ne}),[Ho]),pc=z.default.useCallback(()=>({isActive:()=>n.current.type==="page"&&n.current.page==="settings"&&C.current,latestQuery:()=>x.current,query:Lp,onBusyChange:re}),[Lp]),Fk=z.default.useCallback(R=>{h.current=R,R&&m.current.activate(dc())},[dc]),Mk=z.default.useCallback(R=>{C.current=R,R&&k.current.activate(pc())},[pc]),Bk=z.default.useCallback(()=>m.current.reconcile(dc()),[dc]),zk=z.default.useCallback(()=>k.current.reconcile(pc()),[pc]),sw=z.default.useCallback(async R=>{let P={...R,pageSize:Rn(R.pageSize)},$=S.current,W=$.begin(P);ie(!0),Xy(null);try{let X=pt(Me(await Re.requestData({page:P.page,pageSize:P.pageSize,parameters:{collection:"analytics",filters:yn(P.filters)}})));if(!$.commit(W))return;D($.committed()),V(ye=>({...ye,analytics:Dr({summary:{analytics:X}}).analytics}))}catch(X){if(!$.isLatest(W))return;let ye=X instanceof Error?X.message:"\u7EDF\u8BA1\u67E5\u8BE2\u5931\u8D25";D({...$.committed()}),Xy(ye),ge({message:`\u7EDF\u8BA1\u67E5\u8BE2\u5931\u8D25\uFF1A${ye}`,tone:"error"})}finally{$.finish(W),ie($.activeCount()+o.current.activeCount()+l.current.activeCount()>0)}},[rs]),Uk=z.default.useCallback(async R=>{let P=Rn(R.pageSize),$=pt(Me(await Re.requestData({page:R.page,pageSize:P,parameters:{collection:"analyticsDetails",kind:R.kind,categoryKey:R.categoryKey,filters:yn(R.filters)}})));return OD($,R.page,P)},[]),Gk=z.default.useCallback(async R=>{try{await Ke(async()=>{let $={filters:S.current.committed().filters,format:"XLSX"},W=Gt(Me(await Re.executeAction("export_analytics",$)));if(W.success===!1)throw new Error(Kt(W)||"\u5206\u6790\u5BFC\u51FA\u5931\u8D25");lk(W.data),ge({message:"\u5206\u6790\u6570\u636E\u5BFC\u51FA\u6210\u529F",tone:"success"})})}catch(P){ge({message:P instanceof Error?P.message:"\u5206\u6790\u5BFC\u51FA\u5931\u8D25",tone:"error"})}},[Ke]),Hk=z.default.useCallback(R=>{let P=R.action;if(P.kind==="CUSTOMER_CONTRACT_REVIEW"){if(!P.importTaskId){ge({message:"\u5BA2\u6237\u5408\u540C\u5F85\u5BA1\u4EFB\u52A1\u7F3A\u5C11\u4EFB\u52A1\u6807\u8BC6",tone:"error"});return}os({id:P.importTaskId,documentType:"CUSTOMER_CONTRACT",status:"AWAITING_REVIEW",sourceFileName:R.referenceNo}).catch($=>ge({message:$ instanceof Error?$.message:"\u5408\u540C\u5BA1\u6838\u4EFB\u52A1\u6253\u5F00\u5931\u8D25",tone:"error"}));return}if(P.kind==="PURCHASE_CONTRACT_REVIEW"){if(!P.importTaskId){ge({message:"\u91C7\u8D2D\u5408\u540C\u5F85\u5BA1\u4EFB\u52A1\u7F3A\u5C11\u4EFB\u52A1\u6807\u8BC6",tone:"error"});return}os({id:P.importTaskId,documentType:"PURCHASE_CONTRACT",status:"AWAITING_REVIEW",sourceFileName:R.referenceNo}).catch($=>ge({message:$ instanceof Error?$.message:"\u5408\u540C\u5BA1\u6838\u4EFB\u52A1\u6253\u5F00\u5931\u8D25",tone:"error"}));return}if(P.kind==="SALES_FILE_REVIEW"){if(!P.customerContractId||!P.purchaseOrderId||!P.salesOrderNoSnapshot||!P.fileType||!P.fileName||!P.storageFileId||P.editVersion==null||!P.generatedAt){ge({message:"\u9500\u552E\u6587\u4EF6\u590D\u6838\u6570\u636E\u4E0D\u5B8C\u6574",tone:"error"});return}nc({id:R.id,customerContractId:P.customerContractId,purchaseOrderId:P.purchaseOrderId,salesOrderNoSnapshot:P.salesOrderNoSnapshot,fileType:P.fileType,fileName:P.fileName,storageFileId:P.storageFileId,editVersion:P.editVersion,generatedAt:P.generatedAt});return}if(P.kind==="PURCHASE_ORDER_VIEW"&&P.supplierId&&P.purchaseOrderId){Wn.current({type:"procurement",level:"lines",supplierId:P.supplierId,orderId:P.purchaseOrderId});return}if(P.kind==="SALES_ORDER_VIEW"){Wn.current({type:"sales",level:"lines",customerId:P.customerId,orderKey:`${P.customerContractId}:${P.purchaseOrderId}`});return}ge({message:"\u5F53\u524D\u660E\u7EC6\u7F3A\u5C11\u53EF\u8DF3\u8F6C\u7684\u4E1A\u52A1\u6807\u8BC6",tone:"error"})},[os,ge]),jk=z.default.useCallback(async R=>Ke(async()=>{let P=Gt(Me(await Re.executeAction("save_settings",R)));if(P.success===!1)throw new Error(Kt(P)||"\u8BBE\u7F6E\u4FDD\u5B58\u5931\u8D25");await jt({type:"page",page:"settings"},b.current.page,b.current.pageSize)}),[jt,Ke]),$k=z.default.useCallback(async R=>Ke(async()=>{let P=Gt(Me(await Re.executeAction("restore_settings_default",R)));if(P.success===!1)throw new Error(Kt(P)||"\u6062\u590D\u7CFB\u7EDF\u9ED8\u8BA4\u5931\u8D25");await jt({type:"page",page:"settings"},b.current.page,b.current.pageSize)}),[jt,Ke]),Vk=z.default.useCallback(async(R,P={})=>Ke(async()=>{let $=Gt(Me(await Re.executeAction("delete_settings_rate",R)));if($.success===!1)throw new Error(Kt($)||"\u6708\u5EA6\u6C47\u7387\u5220\u9664\u5931\u8D25");if(P.suppressRefresh)return;let{page:W,pageSize:X}=b.current,ye=q0(W,X,_.settings.rates.total);await jt({type:"page",page:"settings"},ye,X)}),[_.settings.rates.total,jt,Ke]),Wk=z.default.useCallback(async R=>Ke(async()=>{let P=Gt(Me(await Re.executeFileAction("upload_company_logo",R,{})));if(P.success===!1||!P.data?.logoFileId)throw new Error(Kt(P)||"\u516C\u53F8 Logo \u4E0A\u4F20\u5931\u8D25");return P.data.logoFileId}),[Ke]),Kk=z.default.useCallback(async R=>Ke(async()=>{let P=Gt(Me(await Re.executeAction("discard_company_logo",{logoFileId:R})));if(P.success===!1)throw new Error(Kt(P)||"\u516C\u53F8 Logo \u8349\u7A3F\u6E05\u7406\u5931\u8D25")}),[Ke]),Qk=z.default.useCallback(R=>{Qy(R),R&&(Wn.current({type:"page",page:"sales-files"}),Ho("generatedFiles",{page:1,pageSize:20,filters:{},parameters:{customerContractId:R.customerContractId,purchaseOrderId:R.purchaseOrderId}}))},[Ho]),Yk=z.default.useCallback(R=>{let P=d.current;P&&u.current.invalidate(P),d.current=sm(R??void 0),Qy(R)},[]),hc=z.default.useCallback(R=>{if(r.current+=1,c.current.invalidate(),f.current=O1(R)??f.current,R.type==="page"&&R.page==="settings"&&(x.current={page:1,pageSize:20}),n.current=R,e(R),R.type==="page"&&R.page==="controlled-goods"){Qn("controlledGoods",v.current);return}if(R.type==="page"&&R.page==="sanctioned-companies"){Qn("sanctionedCompanies",g.current);return}jt(R)},[jt,Qn]);Wn.current=hc;let _t=kD(t),Mp=t.type==="procurement"?bD[t.level]:vD[_t],Xk=z.default.useMemo(()=>RD(_.importTasks.items,os,qy,rw),[_.importTasks.items,rw,os,qy]),Zk=_t==="procurement"&&t.type==="procurement"?t.level==="suppliers"?(0,Pe.jsx)(ck,{label:"\u4E0A\u4F20\u91C7\u8D2D\u5408\u540C",busy:J||ue,onFile:R=>Go("upload_purchase_contract",R,{documentType:"PURCHASE_CONTRACT"}),onError:R=>ge({message:R,tone:"error"})}):void 0:_t==="customer-contract-review"?(0,Pe.jsx)(ck,{label:"\u4E0A\u4F20\u5BA2\u6237\u5408\u540C",busy:J||ue||Q,onFile:R=>Go("upload_customer_contract",R,{documentType:"CUSTOMER_CONTRACT"}),onError:R=>ge({message:R,tone:"error"})}):void 0;return(0,Pe.jsxs)(Pe.Fragment,{children:[(0,Pe.jsxs)(Rx,{route:t,breadcrumbs:Ex(t),title:Mp.title,subtitle:_t==="home"?void 0:Mp.subtitle,topbarActions:(0,Pe.jsx)(mx,{items:Xk,busy:J||ue,onBulkDelete:Sk,onActionError:ao}),commands:_t==="controlled-goods"||_t==="sanctioned-companies"?(0,Pe.jsx)(sC,{busy:J||ue,onUpload:()=>qe("upload"),onCreate:()=>qe("create"),onHistory:()=>qe("history"),onClear:_t==="controlled-goods"?()=>St(!0):()=>oo(!0)}):Zk,busy:J||ue,onRouteChange:hc,onRefresh:()=>{xi()},children:[_t==="home"&&(0,Pe.jsx)(vC,{}),_t==="controlled-goods"&&(0,Pe.jsx)(oC,{collection:_.controlledGoods,batches:_.controlledBatches.items,busy:J||ue,onAction:Kn,onFileAction:nw,onRefresh:xi,onQuery:R=>Qn("controlledGoods",R),onIssueQuery:iw,onHistoryQuery:ow,tasks:_.importTasks.items,onResolveStalledImport:aw,onRefreshTasks:ht,importCompletion:xr.CONTROLLED_CATALOG,importFailure:Vy.CONTROLLED_CATALOG,onRetryImport:ac,command:me,onCommandHandled:()=>qe(null),onNotify:ge}),_t==="sanctioned-companies"&&(0,Pe.jsx)(aC,{collection:_.sanctionedCompanies,batches:_.sanctionBatches.items,busy:J||ue,onAction:Kn,onFileAction:nw,onRefresh:xi,onQuery:R=>Qn("sanctionedCompanies",R),onIssueQuery:iw,onHistoryQuery:ow,tasks:_.importTasks.items,onResolveStalledImport:aw,onRefreshTasks:ht,importCompletion:xr.SANCTION_CATALOG,importFailure:Vy.SANCTION_CATALOG,onRetryImport:ac,command:me,onCommandHandled:()=>qe(null),onNotify:ge}),_t==="procurement"&&t.type==="procurement"&&(0,Pe.jsx)(y1,{route:t,suppliers:_.suppliers,purchaseOrders:_.purchaseOrders,purchaseLines:_.purchaseLines,supplier:Np.supplier,order:Np.order,metrics:Np.metrics,importTask:ec,reviewDraft:Pp,busy:J||ue,onQuery:_p,onAction:Kn,onFileAction:Go,onRouteChange:hc,onRetryImport:sc,onReviewClose:Rk,onNotify:ge}),_t==="customer-contract-review"&&(0,Pe.jsx)(_1,{collection:_.customerContracts,busy:J||ue||Q,importReviewState:zo,onQuery:as,onAction:Kn,onFileAction:Go,onReanalyze:kk,onLoadReview:Tk,onReviewClose:Ek,reanalysisState:yk,onRetryImport:sc,onQueryRequested:Pk,onQueryCancelRegistration:Ok,onBulkReconcile:Lk,onBulkBusyChange:F,onNotify:ge}),_t==="sales"&&t.type==="sales"&&(0,Pe.jsx)(G1,{route:t,customers:_.salesCustomers,orders:_.salesOrders,lines:_.salesLines,busy:J||ue,onQuery:_k,onAction:Kn,onRouteChange:hc,onOpenFiles:Qk,onNotify:ge}),_t==="sales-files"&&(0,Pe.jsx)(X1,{orders:_.salesFileOrders,history:_.generatedFiles,activeOrder:tc,visualPrototypeState:H,onPrototypeStateClose:()=>M(void 0),banks:_.settings.banks,busy:J||ue,externalBulkBusy:ee||le,onQuery:Ho,onBulkReconcile:Bk,onBulkBusyChange:B,onBulkViewActiveChange:Fk,onAction:Ck,onOpenSalesOrder:Yk,onDownload:R=>Kn("download_sales_file",{id:R.id}).then(()=>{}),onEdit:async R=>nc(R),onNotify:ge}),_t==="analytics"&&(0,Pe.jsx)(AS,{data:_.analytics,committedQuery:E,detailRefreshKey:vk,busy:J||ue,error:wk,onQuery:sw,onDetailQuery:Uk,onDetailAction:Hk,onExportXlsx:Gk}),_t==="settings"&&(0,Pe.jsx)(NS,{data:_.settings,busy:J||ue,externalBulkBusy:U||ae,onSave:jk,onRestoreDefault:$k,onDeleteRate:Vk,onRateQuery:Lp,onBulkReconcile:zk,onBulkBusyChange:q,onBulkViewActiveChange:Mk,onUploadLogo:Wk,onDiscardLogo:Kk,onNotify:ge}),!["home","controlled-goods","sanctioned-companies","procurement","customer-contract-review","sales","sales-files","analytics","settings"].includes(_t)&&(0,Pe.jsxs)("section",{className:"tcw-page-placeholder","data-page":_t,children:[(0,Pe.jsx)(Je,{children:"\u9875\u9762\u57FA\u7840\u7ED3\u6784\u5DF2\u5C31\u7EEA\uFF0C\u4E1A\u52A1\u5185\u5BB9\u5C06\u5728\u5BF9\u5E94\u9875\u9762\u6A21\u5757\u4E2D\u52A0\u8F7D\u3002"}),(0,Pe.jsx)("div",{className:"tcw-placeholder-body","aria-label":`${Mp.title}\u9875\u9762\u5185\u5BB9`})]})]}),(0,Pe.jsx)(sx,{visible:J||ue||Q,label:ue||Q?"\u64CD\u4F5C\u5904\u7406\u4E2D":"\u6570\u636E\u52A0\u8F7D\u4E2D"}),(0,Pe.jsx)(lx,{items:Dp,onClose:xk}),Yy&&(0,Pe.jsx)(UD,{file:Yy,runMutation:Ke,onNotify:ge,onClose:()=>nc(null),onSaved:()=>{nc(null),_t==="analytics"?(bk(R=>R+1),sw(S.current.committed())):tc&&Ho("generatedFiles",{page:1,pageSize:20,filters:{},parameters:{customerContractId:tc.customerContractId,purchaseOrderId:tc.purchaseOrderId}})}}),(0,Pe.jsx)(Bt,{open:Ot,title:"\u786E\u8BA4\u6E05\u7A7A\u7BA1\u63A7\u5546\u54C1\u76EE\u5F55",message:"\u5C06\u6C38\u4E45\u5220\u9664\u5F53\u524D\u7EC4\u7EC7\u5168\u90E8\u7BA1\u63A7\u5546\u54C1\uFF0C\u65E0\u6CD5\u6062\u590D\u3002\u5236\u88C1\u76EE\u5F55\u3001\u91C7\u8D2D\u8BA2\u5355\u548C\u5176\u4ED6\u4E1A\u52A1\u6570\u636E\u4E0D\u4F1A\u88AB\u5220\u9664\u3002",confirmText:"\u786E\u8BA4\u6E05\u7A7A",danger:!0,busy:ue,onCancel:()=>{ue||St(!1)},onConfirm:()=>{Ik()}}),(0,Pe.jsx)(Bt,{open:yi,title:"\u786E\u8BA4\u6E05\u7A7A\u516C\u53F8\u5236\u88C1\u76EE\u5F55",message:"\u5C06\u6C38\u4E45\u5220\u9664\u5F53\u524D\u7EC4\u7EC7\u5168\u90E8\u5236\u88C1\u516C\u53F8\u8BB0\u5F55\uFF0C\u65E0\u6CD5\u6062\u590D\u3002\u7BA1\u63A7\u5546\u54C1\u76EE\u5F55\u3001\u91C7\u8D2D\u8BA2\u5355\u548C\u5176\u4ED6\u4E1A\u52A1\u6570\u636E\u4E0D\u4F1A\u88AB\u5220\u9664\u3002",confirmText:"\u786E\u8BA4\u6E05\u7A7A",danger:!0,busy:ue,onCancel:()=>{ue||oo(!1)},onConfirm:()=>{Nk()}})]})}function kD(t){return t.type==="procurement"?"procurement":t.type==="sales"?"sales":t.page}function nk(t){return t.type!=="procurement"?null:t.level==="suppliers"?{collection:"suppliers",query:{page:1,pageSize:20,filters:{}}}:t.level==="orders"?{collection:"purchaseOrders",query:{page:1,pageSize:20,filters:{reviewStatus:"PENDING"},parameters:{supplierId:t.supplierId,reviewStatus:"PENDING"}}}:{collection:"purchaseLines",query:{page:1,pageSize:20,filters:{reviewStatus:"PENDING"},parameters:{supplierId:t.supplierId,purchaseOrderId:t.orderId,reviewStatus:"PENDING"}}}}function AD(t,e){if(e.type!=="procurement")return null;if(!t)return nk(e);let n=my(t.collection,t.query);return n&&TD(n,e)?t:nk(e)}function TD(t,e){return JSON.stringify(t)===JSON.stringify(e)}function RD(t,e,n,r){return[...t].filter(i=>["QUEUED","EXTRACTING","AI_PARSING","VALIDATING","PERSISTING","SUCCEEDED","FAILED","TIMED_OUT"].includes(i.status)).sort((i,o)=>String(o.updatedAt??o.queuedAt??o.createdAt??"").localeCompare(String(i.updatedAt??i.queuedAt??i.createdAt??""))).map(i=>{let o=rk(i.status);return{id:i.id,title:i.sourceFileName||jy(i.documentType),subtitle:ID(i),status:i.status,statusLabel:ED(i.status),tone:o,updatedAt:ND(i.updatedAt??i.queuedAt??i.createdAt),progressPercent:QS(i),onSelect:()=>n(i),deleteLabel:rk(i.status)==="running"?"\u53D6\u6D88\u5E76\u5220\u9664\u4EFB\u52A1":"\u5220\u9664\u4EFB\u52A1",onDelete:()=>r(i),...i.status==="FAILED"||i.status==="TIMED_OUT"?{actionLabel:"\u91CD\u8BD5",onAction:()=>e(i)}:{}}})}function rk(t){return t==="SUCCEEDED"?"success":t==="FAILED"||t==="TIMED_OUT"?"failed":t==="QUEUED"||t==="EXTRACTING"||t==="AI_PARSING"||t==="VALIDATING"||t==="PERSISTING"?"running":"idle"}function ED(t){return{QUEUED:"\u6392\u961F\u4E2D",EXTRACTING:"\u63D0\u53D6\u4E2D",AI_PARSING:"AI \u89E3\u6790\u4E2D",VALIDATING:"\u6821\u9A8C\u4E2D",PERSISTING:"\u5165\u5E93\u4E2D",SUCCEEDED:"\u6210\u529F",FAILED:"\u5931\u8D25",TIMED_OUT:"\u8D85\u65F6",CANCELED:"\u5DF2\u53D6\u6D88"}[t]??t}function ID(t){let e=jy(t.documentType);if(t.documentType!=="CONTROLLED_CATALOG")return e;let n={OVERSEAS_SANCTION:"\u6D77\u5916\u5236\u88C1",DUAL_USE:"\u519B\u6C11\u4E24\u7528\u7269\u8D44"}[t.catalogType??""],r=n?`${e} \xB7 ${n}`:e,i=Number(t.progress?.reviewPendingCount??0);return i>0?`${r} \xB7 \u5F85\u5904\u7406 ${i} \u6761`:r}function jy(t){return{CONTROLLED_CATALOG:"\u7BA1\u63A7\u5546\u54C1\u76EE\u5F55",SANCTION_CATALOG:"\u516C\u53F8\u5236\u88C1\u76EE\u5F55",PURCHASE_CONTRACT:"\u91C7\u8D2D\u5408\u540C\u89E3\u6790",CUSTOMER_CONTRACT:"\u5BA2\u6237\u5408\u540C\u89E3\u6790"}[t]??t}function ND(t){if(typeof t!="string"||!t)return null;let e=new Date(t);return Number.isFinite(e.getTime())?new Intl.DateTimeFormat("zh-CN",{timeZone:"Asia/Shanghai",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",hour12:!1}).format(e).replace(/\//g,"/"):t}function ik(t,e,n){let r=Ap(t.importTasks.items,e.importTasks.items,n);return{...e,importTasks:{...e.importTasks,items:r,total:Math.max(Ct(e.importTasks.total,0),e.importTasks.items.length,t.importTasks.items.length,r.length),page:Ct(e.importTasks.page,Ct(t.importTasks.page,1)),pageSize:e.importTasks.pageSize??t.importTasks.pageSize??100}}}function PD(t){return t.some(e=>{let n=e&&typeof e=="object"&&!Array.isArray(e)?e:null;return n?io(n):!1})}function DD(t,e,n){let r=Rn(e),i=n.orderDate,o=i&&typeof i=="object"&&!Array.isArray(i)?i:null,a=o?{from:gi(o.from),to:gi(o.to)}:void 0;return{page:t,pageSize:r,filters:a?.from||a?.to?{orderDate:a}:{}}}function gi(t){return(typeof t=="string"?t.trim():"")||void 0}function OD(t,e,n){let r=Array.isArray(t.items)?t.items.map(LD):[],i=Math.max(0,Ct(t.total,r.length)),o=Math.max(1,Ct(t.pageCount,Math.ceil(i/n)));return{items:r,total:i,page:Math.max(1,Ct(t.page,e)),pageSize:n,pageCount:o}}function LD(t){let e=pt(t),n=OS.find(r=>r===e.categoryKey)??(e.categoryKey==="risk-order"?"risk-order":null);if(!n)throw new Error("\u5206\u6790\u660E\u7EC6\u4E1A\u52A1\u5206\u7C7B\u65E0\u6548");return{id:Ht(e.id,"\u660E\u7EC6\u6807\u8BC6"),categoryKey:n,categoryLabel:Ht(e.categoryLabel,"\u4E1A\u52A1\u5206\u7C7B"),referenceNo:Ht(e.referenceNo,"\u4E1A\u52A1\u7F16\u53F7"),...gi(e.subjectName)?{subjectName:gi(e.subjectName)}:{},...gi(e.businessDate)?{businessDate:gi(e.businessDate)}:{},...gi(e.reason)?{reason:gi(e.reason)}:{},...e.amountCny==null?{}:{amountCny:Ht(e.amountCny,"\u98CE\u9669\u91D1\u989D")},status:Ht(e.status,"\u72B6\u6001"),action:_D(e.action)}}function _D(t){let e=pt(t),n=Ht(e.id,"\u64CD\u4F5C\u6807\u8BC6");if(e.kind==="CUSTOMER_CONTRACT_REVIEW")return{kind:e.kind,label:"\u5BA1\u6838",id:n,importTaskId:Ht(e.importTaskId,"\u5BA2\u6237\u5408\u540C\u4EFB\u52A1\u6807\u8BC6")};if(e.kind==="PURCHASE_CONTRACT_REVIEW")return{kind:e.kind,label:"\u5BA1\u6838",id:n,importTaskId:Ht(e.importTaskId,"\u91C7\u8D2D\u5408\u540C\u4EFB\u52A1\u6807\u8BC6")};if(e.kind==="PURCHASE_ORDER_VIEW")return{kind:e.kind,label:ok(e.label),id:n,purchaseOrderId:Ht(e.purchaseOrderId,"\u91C7\u8D2D\u8BA2\u5355\u6807\u8BC6"),supplierId:Ht(e.supplierId,"\u4F9B\u5E94\u5546\u6807\u8BC6")};if(e.kind==="SALES_ORDER_VIEW")return{kind:e.kind,label:ok(e.label),id:n,customerId:Ht(e.customerId,"\u5BA2\u6237\u6807\u8BC6"),customerContractId:Ht(e.customerContractId,"\u5BA2\u6237\u5408\u540C\u6807\u8BC6"),purchaseOrderId:Ht(e.purchaseOrderId,"\u91C7\u8D2D\u8BA2\u5355\u6807\u8BC6")};if(e.kind==="SALES_FILE_REVIEW"){let r=["PI","CI","PL","CUSTOMS_DECLARATION"].find(o=>o===e.fileType),i=Number(e.editVersion);if(!r||!Number.isInteger(i)||i<0)throw new Error("\u9500\u552E\u6587\u4EF6\u590D\u6838\u64CD\u4F5C\u6570\u636E\u65E0\u6548");return{kind:e.kind,label:"\u590D\u6838",id:n,customerContractId:Ht(e.customerContractId,"\u5BA2\u6237\u5408\u540C\u6807\u8BC6"),purchaseOrderId:Ht(e.purchaseOrderId,"\u91C7\u8D2D\u8BA2\u5355\u6807\u8BC6"),salesOrderNoSnapshot:Ht(e.salesOrderNoSnapshot,"\u9500\u552E\u8BA2\u5355\u7F16\u53F7"),fileType:r,fileName:Ht(e.fileName,"\u6587\u4EF6\u540D"),storageFileId:Ht(e.storageFileId,"\u5B58\u50A8\u6587\u4EF6\u6807\u8BC6"),editVersion:i,generatedAt:Ht(e.generatedAt,"\u751F\u6210\u65F6\u95F4")}}throw new Error("\u5206\u6790\u660E\u7EC6\u64CD\u4F5C\u7C7B\u578B\u65E0\u6548")}function ok(t){if(t==="\u67E5\u770B"||t==="\u8DDF\u8FDB")return t;throw new Error("\u5206\u6790\u660E\u7EC6\u64CD\u4F5C\u540D\u79F0\u65E0\u6548")}function Ht(t,e){let n=gi(t);if(!n)throw new Error(`${e}\u4E0D\u80FD\u4E3A\u7A7A`);return n}function Gt(t){return t&&typeof t=="object"&&!Array.isArray(t)?t:{success:!0,data:t}}function Kt(t){if(typeof t.message=="string")return t.message;if(t.message&&typeof t.message=="object"){let e=t.message;return String(e.zh_Hans??e.en_US??"")}return""}function Ql(t,e){return new Tp(Kt(t)||e,t.error?.code)}function pt(t){return t&&typeof t=="object"&&!Array.isArray(t)?t:{}}function FD(t){let e={...pt(t)};return delete e.collection,delete e.filters,delete e.taskId,delete e.runId,delete e.customerContractId,delete e.purchaseOrderId,e}function ak(t){return{page:1,pageSize:100,search:$y(),parameters:FD(t)}}function MD(){return{page:1,pageSize:100,parameters:{collection:"importTasks",filters:"{}",refreshNonce:$y()}}}function $y(){return tk+=1,`__tcw_summary_refresh__:${Date.now()}:${tk}`}function Ct(t,e){let n=Number(t);return Number.isFinite(n)?n:e}function sk(t){let e=pt(t);if(!e.task||typeof e.task!="object")throw new Error("\u8F6E\u8BE2\u54CD\u5E94\u7F3A\u5C11\u5BFC\u5165\u4EFB\u52A1");return e}function lk(t){let e=pt(t);if(typeof e.base64!="string"||typeof e.fileName!="string")throw new Error("\u4E0B\u8F7D\u54CD\u5E94\u7F3A\u5C11\u6587\u4EF6\u5185\u5BB9");let n=atob(e.base64),r=Uint8Array.from(n,a=>a.charCodeAt(0)),i=URL.createObjectURL(new Blob([r],{type:typeof e.mimeType=="string"?e.mimeType:"application/octet-stream"})),o=document.createElement("a");o.href=i,o.download=e.fileName,o.click(),setTimeout(()=>URL.revokeObjectURL(i),xD)}function ck({label:t,busy:e,onFile:n,onError:r}){return(0,Pe.jsxs)("label",{className:"tcw-button tcw-button--primary",children:[(0,Pe.jsx)("i",{className:"ri-upload-cloud-2-line","aria-hidden":"true"}),t,(0,Pe.jsx)("input",{className:"tcw-procurement-file-input",type:"file",accept:".pdf,.doc,.docx,.xls,.xlsx,.png,.jpg,.jpeg,.webp",disabled:e,onChange:i=>{let o=i.target.files?.[0];i.currentTarget.value="",o&&n(o).catch(a=>r?.(a instanceof Error?a.message:"\u5408\u540C\u4E0A\u4F20\u5931\u8D25"))}})]})}async function Hy(t,e,n){if(t.sourceFileUrl||!e.sourceFileId)return t;let r=await fk(e.sourceFileId,"purchase",n);return r.previewKind==="URL"?{...t,sourceFileUrl:r.url}:r.previewKind==="TEXT"?{...t,sourceFileUrl:BD(e.sourceFileName??"\u91C7\u8D2D\u5408\u540C\u6E90\u6587\u4EF6",r.content)}:t}async function Yl(t,e){if(t.sourcePreview.kind==="URL"||!t.sourceFileId)return t;let n=await fk(t.sourceFileId,"customer",e);return n.previewKind==="URL"?{...t,sourcePreview:{kind:"URL",url:n.url}}:n.previewKind==="TEXT"?{...t,sourcePreview:{kind:"TEXT",content:n.content}}:{...t,sourcePreview:{kind:"UNAVAILABLE",message:n.message}}}async function fk(t,e,n){let r=Gt(Me(await Re.executeAction("preview_source_file",{sourceFileId:t})));if(r.success===!1)throw new Error(Kt(r)||"\u6E90\u6587\u4EF6\u52A0\u8F7D\u5931\u8D25");let i=pt(r.data);if(i.previewKind==="TEXT"&&typeof i.content=="string")return{previewKind:"TEXT",content:i.content};if(i.previewKind==="URL"&&typeof i.base64=="string"&&typeof i.mimeType=="string"){let o=atob(i.base64),a=Uint8Array.from(o,s=>s.charCodeAt(0));return{previewKind:"URL",url:n.replace(e,URL.createObjectURL(new Blob([a],{type:i.mimeType})))}}if(i.previewKind==="UNAVAILABLE")return{previewKind:"UNAVAILABLE",message:typeof i.message=="string"?i.message:"\u6E90\u6587\u4EF6\u6682\u65E0\u6CD5\u5728\u7EBF\u9884\u89C8"};throw new Error("\u6E90\u6587\u4EF6\u9884\u89C8\u54CD\u5E94\u7C7B\u578B\u65E0\u6548")}function BD(t,e){let n=`<!doctype html><html lang="zh-Hans"><head><meta charset="utf-8"><title>${uk(t)}</title><style>body{margin:0;padding:16px;font:14px/1.7 system-ui,sans-serif;color:#1f2937;background:#fff}pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}</style></head><body><pre>${uk(e)}</pre></body></html>`;return`data:text/html;charset=utf-8,${encodeURIComponent(n)}`}function uk(t){return t.replace(/[&<>"']/g,e=>({"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"})[e]??e)}function dk(t){let e=pt(t);if(!e.task||typeof e.task!="object")throw new Error("\u8F6E\u8BE2\u54CD\u5E94\u7F3A\u5C11\u5408\u540C\u5BFC\u5165\u4EFB\u52A1");return e}function pk(t){let e=pt(t);if(!e.run||typeof e.run!="object")throw new Error("\u8F6E\u8BE2\u54CD\u5E94\u7F3A\u5C11\u91CD\u65B0\u5206\u6790\u4EFB\u52A1");return e}async function zD(){let t=window;return t.TradeComplianceExcelEditor?.open?t.TradeComplianceExcelEditor:Kl||(Kl=(async()=>{let e=Gt(Me(await Re.executeAction("load_excel_editor_runtime",{})));if(e.success===!1)throw new Error(Kt(e)||"Excel \u7F16\u8F91\u5668\u8FD0\u884C\u65F6\u52A0\u8F7D\u5931\u8D25");let n=e.data?.script,r=e.data?.css;if(typeof n!="string"||!n.trim()||typeof r!="string")throw new Error("Excel \u7F16\u8F91\u5668\u8FD0\u884C\u65F6\u54CD\u5E94\u4E0D\u5B8C\u6574");let i=document.head.querySelector("style[data-trade-compliance-editor-styles]");i||(i=document.createElement("style"),i.dataset.tradeComplianceEditorStyles="true",i.textContent=r,document.head.appendChild(i));let o=document.body.querySelector("script[data-trade-compliance-editor-runtime]");o||(o=document.createElement("script"),o.dataset.tradeComplianceEditorRuntime="true",o.textContent=n,document.body.appendChild(o));let a=t.TradeComplianceExcelEditor;if(!a?.open)throw new Error("Excel \u7F16\u8F91\u5668\u8FD0\u884C\u65F6\u521D\u59CB\u5316\u5931\u8D25");return a})().catch(e=>{throw document.querySelector("script[data-trade-compliance-editor-runtime]")?.remove(),document.querySelector("style[data-trade-compliance-editor-styles]")?.remove(),Kl=null,e}),Kl)}function UD({file:t,runMutation:e,onClose:n,onSaved:r,onNotify:i}){let o=z.default.useRef(null),a=z.default.useRef(null),[s,l]=z.default.useState(""),[c,u]=z.default.useState(!1),[d,p]=z.default.useState(!1);z.default.useEffect(()=>{let m=!1;return p(!1),(async()=>{try{let f=Gt(Me(await Re.executeAction("download_sales_file",{id:t.id})));if(f.success===!1)throw new Error(Kt(f)||"\u9500\u552E\u6587\u4EF6\u52A0\u8F7D\u5931\u8D25");let v=pt(f.data);if(typeof v.base64!="string"||typeof v.storageFileId!="string"||!Number.isInteger(v.editVersion)||!o.current)throw new Error("\u9500\u552E\u6587\u4EF6\u54CD\u5E94\u7F3A\u5C11\u5DE5\u4F5C\u7C3F\u5185\u5BB9\u6216\u7248\u672C\u4FE1\u606F");let g=await zD(),y=o.current;if(m||!y)return;let w=await g.open({container:y,base64:v.base64,onSave:async b=>{await e(async()=>{let x=Gt(Me(await Re.executeAction("save_edited_sales_file",{id:t.id,base64:b,editVersion:v.editVersion,expectedStorageFileId:v.storageFileId})));if(x.success===!1)throw new Error(Kt(x)||"\u5DE5\u4F5C\u7C3F\u4FDD\u5B58\u5931\u8D25")})}});m?w.dispose():(a.current=w,p(!0))}catch(f){m||l(f instanceof Error?f.message:"Excel \u7F16\u8F91\u5668\u52A0\u8F7D\u5931\u8D25")}})(),()=>{m=!0,a.current?.dispose(),a.current=null}},[t.id,e]);let h=async()=>{if(a.current){u(!0);try{await a.current.save(),i({message:"\u5DE5\u4F5C\u7C3F\u4FDD\u5B58\u6210\u529F",tone:"success"}),r()}catch(m){i({message:m instanceof Error?m.message:"\u5DE5\u4F5C\u7C3F\u4FDD\u5B58\u5931\u8D25",tone:"error"})}finally{u(!1)}}};return(0,Pe.jsxs)("section",{className:"tcw-excel-editor","aria-label":"\u9500\u552E\u6587\u4EF6\u5168\u5C4F\u5BA1\u6838",children:[(0,Pe.jsxs)("header",{children:[(0,Pe.jsx)("strong",{children:t.fileName}),(0,Pe.jsxs)("div",{children:[(0,Pe.jsxs)("button",{type:"button",className:"tcw-button tcw-button--secondary",onClick:n,children:[(0,Pe.jsx)("i",{className:"ri-close-line","aria-hidden":"true"}),"\u5173\u95ED"]}),(0,Pe.jsxs)("button",{type:"button",className:"tcw-button tcw-button--primary",disabled:c||!d,onClick:()=>{h()},children:[(0,Pe.jsx)("i",{className:"ri-save-line","aria-hidden":"true"}),"\u4FDD\u5B58\u5F53\u524D\u6587\u4EF6"]})]})]}),s&&(0,Pe.jsx)("div",{className:"tcw-editor-error",role:"alert",children:s}),(0,Pe.jsx)("div",{ref:o,className:"tcw-excel-editor-canvas"})]})}var mk=document.getElementById("root");if(!mk)throw new Error("\u7F3A\u5C11\u8FDC\u7A0B\u7EC4\u4EF6\u6302\u8F7D\u8282\u70B9");(0,hk.createRoot)(mk).render((0,Pe.jsx)(SD,{}));})();
22
22
  /*! Bundled license information:
23
23
 
24
24
  react/cjs/react.production.min.js: