import{at as t,a9 as e,b as s,e as i,w as n,q as a,aC as o,g as l,v as r,Q as h,a0 as c,y as u,z as p,_ as d,aD as m,G as g,l as w,as as f,d as b,r as v,h as _,D as x,E as y,s as C,A as P,j as S,k as j,aw as k}from"./index-f6e54d8f.js";import{u as T,_ as V}from"./Form.560e79c3.js";import{_ as $}from"./_plugin-vue_export-helper.1b428a4d.js";import{_ as U}from"./u-button.2c931c97.js";import{_ as B}from"./Layout.7385e6f6.js";import{u as z}from"./data.21f13c2b.js";import{j as A}from"./server.1e332dda.js";import"./uni-icons.7467b650.js";import"./uni-datetime-picker.abd2526b.js";import"./u-loading-icon.3bd3dc6a.js";import"./u-icon.de9898cd.js";import"./index.8a212d2d.js";import"./uni-popup.1c525271.js";import"./dayjs.min.1cfb48de.js";import"./uni-cloud.es.9367344b.js";import"./Search.vue_vue_type_script_setup_true_lang.fed60e7a.js";import"./u-popup.02d14dc4.js";let D="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";let N=function(t){var e,s,i,n,a,o,l,r="",h=0;for(t=function(t){t=t.replace(/\r\n/g,"\n");for(var e="",s=0;s127&&i<2048?(e+=String.fromCharCode(i>>6|192),e+=String.fromCharCode(63&i|128)):(e+=String.fromCharCode(i>>12|224),e+=String.fromCharCode(i>>6&63|128),e+=String.fromCharCode(63&i|128))}return e}(t);h>2,a=(3&e)<<4|(s=t.charCodeAt(h++))>>4,o=(15&s)<<2|(i=t.charCodeAt(h++))>>6,l=63&i,isNaN(s)?o=l=64:isNaN(i)&&(l=64),r=r+D.charAt(n)+D.charAt(a)+D.charAt(o)+D.charAt(l);return r};const F=$({cxt:null,data:()=>({VERSION:"1.0.0",cid:"cvs",show:!1,ctrl:null,listeners:[],prevView:"",draws:[],lines:[],line:null}),props:{value:{default:""},title:{type:String,default:"请签字"},disabled:{type:Boolean,default:!1}},watch:{value(){this.prevView=this.value}},computed:{titles(){return this.title.split("")},absPrevView(){return this.prevView}},mounted(){this.prevView=this.value},methods:{onOK(){let t=this.ctrl.getValue();this.$emit("input",t),this.prevView=t,this.hideSignature();let e=this.listeners.shift();e&&e(t)},touchSignature(){let t=this.prevView;t&&t.length||this.showSignature()},showSignature(){this.disabled||(this.ctrl?this.show||(this.clearSignature(),this.show=!0):this.initCtrl())},async getSyncSignature(){return this.showSignature(),await new Promise((async t=>{this.listeners.push((e=>{if(e){const s=atob(e.split(",")[1]),i=new Array(s.length);for(let t=0;t{t(null)})),this.hideSignature()},hideSignature(){this.ctrl&&this.ctrl.clear(),this.show=!1},clearSignature(){this.ctrl&&this.ctrl.clear()},async initCtrl(){this.show=!0;let s=t(this.cid,this);this.cxt=s,this.ctrl={width:0,height:0,clear:()=>{this.lines=[],e().in(this).select("."+this.cid).boundingClientRect((t=>{t&&(s.clearRect(0,0,t.width,t.height),t.width&&t.height&&(this.ctrl.width=t.width,this.ctrl.height=t.height))})).exec(),this.redraw()},getValue:()=>{if(!this.lines.length)return"";let t=this._get_svg();return"data:image/svg+xml;base64,"+N(t)}},this.$nextTick((function(){this.ctrl.clear()}))},_get_svg(){let t=[],e=this.ctrl.width,s=this.ctrl.height,i=90!=Math.abs(-90)?e:s,n=90==Math.abs(-90)?e:s,a=e/2,o=s/2,l=Math.PI,r=Math.cos(-90*l/180),h=Math.sin(-90*l/180),c=(i-e)/2,u=(n-s)/2,p=function(t){{let e=(t.x-a)*r-(t.y-o)*h+a,s=(t.x-a)*h+(t.y-o)*r+o;return{x:e+c,y:s+u}}};return this.lines.map((e=>{if(e.points.length<2)return;let s=p(e.start),i=[`M ${s.x} ${Number(s.y)}`];e.points.map((t=>{let e=p(t);i.push(`L ${e.x} ${Number(e.y)}`)})),t.push(``)})),`${t.join("\n")}`},_get_svg_raw(){let t=[];return this.lines.map((e=>{if(e.points.length<2)return;let s=[`M ${e.start.x} ${Number(e.start.y)}`];e.points.map((t=>{s.push(`L ${t.x} ${Number(t.y)}`)})),t.push(``)})),`${t.join("\n")}`},_get_point:t=>({x:t.changedTouches[0].x.toFixed(1),y:t.changedTouches[0].y.toFixed(1)}),touchstart(t){let e=this._get_point(t);this.line={start:e,points:[e]},this.lines.push(this.line)},touchmove(t){let e=this._get_point(t);this.line.points.push(e),this.tm||(this.tm=setTimeout((()=>{this.redraw(),this.tm=0}),10))},touchend(t){let e=this._get_point(t);this.line.points.push(e),this.line.end=e,this.redraw()},redraw(){let t=this.cxt;t.setStrokeStyle("#000"),t.setLineWidth(3),this.lines.map((e=>{t.beginPath(),e.points.length<2||(t.moveTo(e.start.x,e.start.y),e.points.map((e=>{t.lineTo(e.x,e.y)})),t.stroke())})),t.draw()},canvasIdErrorCallback:function(t){console.error(t.detail.errMsg)}}},[["render",function(t,e,b,v,_,x){const y=g,C=w,P=f;return s(),i(C,{class:"signature-wrap"},{default:n((()=>[a('\t\t'),a('\t\t\t'),a("\t\t"),b.disabled?a("v-if",!0):o((s(),i(C,{key:0,class:"signature-contain"},{default:n((()=>[l(C,{class:"signature-main",style:{"z-index":"3000"}},{default:n((()=>[l(C,{class:"signature-title"},{default:n((()=>[(s(!0),r(h,null,c(x.titles,(t=>(s(),i(y,null,{default:n((()=>[u(p(t),1)])),_:2},1024)))),256))])),_:1}),l(P,{"disable-scroll":"true",class:d(["signature",_.cid]),"canvas-id":"cvs",onTouchstart:x.touchstart,onTouchmove:x.touchmove,onTouchend:x.touchend},null,8,["class","onTouchstart","onTouchmove","onTouchend"]),l(C,{class:"signature-btns"},{default:n((()=>[l(C,{class:"btn btn-cancel cu-btn bg-main margin-tb-sm text-white",onClick:e[0]||(e[0]=t=>x.cancelSignature())},{default:n((()=>[l(y,null,{default:n((()=>[u("取")])),_:1}),l(y,null,{default:n((()=>[u("消")])),_:1})])),_:1}),l(C,{class:"btn btn-clear cu-btn bg-main margin-tb-sm text-white",onClick:e[1]||(e[1]=t=>{x.clearSignature()})},{default:n((()=>[l(y,null,{default:n((()=>[u("清")])),_:1}),l(y,null,{default:n((()=>[u("空")])),_:1})])),_:1}),l(C,{class:"btn btn-ok cu-btn bg-main margin-tb-sm text-white",onClick:e[2]||(e[2]=t=>x.onOK())},{default:n((()=>[l(y,null,{default:n((()=>[u("确")])),_:1}),l(y,null,{default:n((()=>[u("定")])),_:1})])),_:1})])),_:1})])),_:1})])),_:1},512)),[[m,_.show]])])),_:1})}],["__scopeId","data-v-b0c489e5"]]),L=b({__name:"RecordMaterials",setup(t){v(null);const e=v(null),a=v("签名"),[o,{getValue:r,setValue:h}]=T({formsProps:{labelWidth:120},schema:[{field:"sfzrxy",label:"身份证人像页",component:"BasicUpload",itemProps:{labelPosition:"top"},componentProps:{}},{field:"sfzghy",label:"身份证国徽页",component:"BasicUpload",itemProps:{labelPosition:"top"},componentProps:{}},{field:"dyxlbyz",label:"第一学历毕业证",component:"BasicUpload",itemProps:{labelPosition:"top"},componentProps:{}},{field:"dyxlxwz",label:"第一学历学位证",component:"BasicUpload",itemProps:{labelPosition:"top"},componentProps:{}},{field:"zgxlbyz",label:"最高学历毕业证",component:"BasicUpload",itemProps:{labelPosition:"top"},componentProps:{}},{field:"zgxlxwz",label:"最高学历学位证",component:"BasicUpload",itemProps:{labelPosition:"top"},componentProps:{}},{field:"pthzm",label:"普通话证明",component:"BasicUpload",itemProps:{labelPosition:"top"},componentProps:{}},{field:"jszgz",label:"教师资格证",component:"BasicUpload",itemProps:{labelPosition:"top"},componentProps:{}}]}),{getFile:c,setFile:u}=z();h(c);const p=v("");async function d(){const t=await r();if(!p.value){const t=await e.value.getSyncSignature();p.value=t.base64}x("提交中...");const s={...c,...t,sign_file:p.value};u(s);const i=await A(s);y(),1===i.resultCode?(C({url:"/pages/base/message/index"}),P({title:"提交成功",icon:"success"})):P({title:"提交失败",icon:"none"})}return(t,r)=>{const h=S(j("BasicForm"),V),c=S(j("BasicSign"),F),u=w,p=S(j("u-button"),U),m=S(j("BasicLayout"),B);return s(),i(m,null,{bottom:n((()=>[l(u,{class:"flex-row items-center pb-10 pt-5"},{default:n((()=>[l(p,{text:"返回",class:"ml-15 mr-7",plain:!0,onClick:_(k)},null,8,["onClick"]),l(p,{text:"签名",class:"mr-15 mr-7",type:"primary",onClick:d})])),_:1})])),default:n((()=>[l(u,{class:"p-15"},{default:n((()=>[l(h,{onRegister:_(o)},null,8,["onRegister"]),l(c,{ref_key:"signCompRef",ref:e,title:a.value},null,8,["title"])])),_:1})])),_:1})}}});export{L as default};