"use strict";const e=require("../../common/vendor.js"),a=require("../../request/api.js"),t=require("../../utils/draftCache.js"),l=require("../../utils/useDraftCache.js"),u=require("../../utils/upload.js");if(!Array){(e.resolveComponent("up-textarea")+e.resolveComponent("up-input")+e.resolveComponent("up-datetime-picker")+e.resolveComponent("up-checkbox")+e.resolveComponent("u-popup")+e.resolveComponent("up-upload")+e.resolveComponent("wd-signature"))()}Math||((()=>"../../uni_modules/uview-plus/components/u-textarea/u-textarea.js")+(()=>"../../uni_modules/uview-plus/components/u-input/u-input.js")+(()=>"../../uni_modules/uview-plus/components/u-datetime-picker/u-datetime-picker.js")+(()=>"../../uni_modules/uview-plus/components/u-checkbox/u-checkbox.js")+(()=>"../../uni_modules/uview-plus/components/u-popup/u-popup.js")+(()=>"../../uni_modules/uview-plus/components/u-upload/u-upload.js")+(()=>"../../node-modules/wot-design-uni/components/wd-signature/wd-signature.js"))();const n={__name:"rectification",setup(n){const r=e.ref(""),o=e.ref(""),s=e.ref(""),i=e.ref(!1),v=e.ref(300),c=e.ref(300),d=e.ref(!0),f=e.ref(""),g=e.ref(""),p=e.ref(340),m=e.ref(null),h=e.ref(!0),y=e.ref(!1),w=e.ref(""),I=e.ref(!1);let S=null;const C=()=>{clearTimeout(S),h.value=!0,w.value="",m.value&&m.value.clear()},x=e=>{const a=e?u.toSubmitFileUrl(e):"";if(!a)return d.value=!0,g.value="",f.value="",w.value="",void(h.value=!0);g.value=a,f.value=a,w.value="",d.value=!1,h.value=!1},T=e=>{e&&(w.value=e,f.value=e,g.value="",d.value=!1,h.value=!1)},P=()=>{h.value=!1},M=()=>{h.value=!1},b=()=>{h.value=!0,w.value=""},R=()=>{h.value=!1,clearTimeout(S),S=setTimeout((()=>{!d.value||h.value||!m.value||y.value||I.value||(I.value=!0,m.value.confirm())}),600)},A=()=>{console.error("签名图片加载失败:",f.value),e.index.showToast({title:"签名图片加载失败",icon:"none"})},N=()=>{clearTimeout(S),h.value=!0,d.value=!0,f.value="",g.value="",w.value="",e.nextTick$1((()=>{m.value&&m.value.clear()}))},D=e.reactive({rectifyPlan:"",rectificationMeasures:"",controlMeasures:"",rectifyResult:"",planCost:"",actualCost:""}),L=e.ref(""),k=e.ref(!1),_=e.ref(Date.now()),j=e.ref(""),F=e=>{if(!e)return"";const a=new Date(e);if(Number.isNaN(a.getTime()))return"";return`${a.getFullYear()}-${String(a.getMonth()+1).padStart(2,"0")}-${String(a.getDate()).padStart(2,"0")} ${String(a.getHours()).padStart(2,"0")}:${String(a.getMinutes()).padStart(2,"0")}:${String(a.getSeconds()).padStart(2,"0")}`},U=e=>{if(!e)return null;const a=decodeURIComponent(String(e)).trim().replace("T"," ").replace(/-/g,"/"),t=new Date(a).getTime();return Number.isNaN(t)?null:t},E=e=>{const a=U(e);a?L.value=F(a):e&&(L.value=String(e).trim().replace("T"," "))},B=e=>null==e||""===e?[]:Array.isArray(e)?e.map((e=>String(e))).filter(Boolean):String(e).split(",").map((e=>String(e).trim())).filter(Boolean),$=(e,a)=>{const t=new Map;return(a||[]).forEach((e=>{(e.users||[]).forEach((a=>{t.set(String(a.userId),le(a,e))}))})),e.map((e=>t.get(String(e)))).filter(Boolean)},q=(e,a)=>{const t=new Map(a.map((e=>[e.id,e])));return e.forEach((e=>{const a=String(e);if(t.has(a))return;const l=K.value.find((e=>String(e.userId)===a));var u;l&&t.set(a,(u=l,{id:String(u.userId),name:te(u),deptName:u.deptName||""}))})),e.map((e=>t.get(String(e)))).filter(Boolean)},z=e=>{_.value=e.value,j.value=F(e.value),k.value=!1},H=e.ref([]),V=e.ref([]),K=e.ref([]),W=e.ref(!1),Y=e.ref([]),G=e.ref([]),J=e.ref(0),O=e.ref([]),Q=e.ref(!1),X=e.ref([]),Z=e.ref([]),ee=e.ref(0),ae=e.ref([]),te=e=>e.postName?`${e.nickName}_${e.postName}`:e.nickName||"",le=(e,a)=>({id:String(e.userId),name:te(e),deptName:a.deptName}),ue=e=>0===e.length?"":e.length<=2?e.map((e=>e.name)).join("、"):`${e[0].name}等${e.length}人`,ne=e.computed((()=>ue(G.value))),re=e.computed((()=>ue(Z.value))),oe=e.computed((()=>{const e=H.value[J.value];return(null==e?void 0:e.users)||[]})),se=e.computed((()=>{const e=fe(O.value);return ue(e)})),ie=e.computed((()=>new Set(O.value.map((e=>String(e)))))),ve=e.computed((()=>{const e=V.value[ee.value];return(null==e?void 0:e.users)||[]})),ce=e.computed((()=>{const e=ge(ae.value);return ue(e)})),de=e.computed((()=>new Set(ae.value.map((e=>String(e)))))),fe=e=>{let a=$(e,H.value);if(a.length[e.id,e])));t.forEach((e=>{l.has(e.id)||l.set(e.id,e)})),a=e.map((e=>l.get(String(e)))).filter(Boolean)}return q(e,a)},ge=e=>{let a=$(e,V.value);return q(e,a)},pe=e=>{G.value=fe(e)},me=e=>{Z.value=ge(e)},he=e=>{var a;if(!(null==(a=e.users)?void 0:a.length))return 0;const t=new Set(O.value.map(String));return e.users.filter((e=>t.has(String(e.userId)))).length},ye=e=>{var a;if(!(null==(a=e.users)?void 0:a.length))return 0;const t=new Set(ae.value.map(String));return e.users.filter((e=>t.has(String(e.userId)))).length};const we=()=>{O.value=[...Y.value];const e=H.value.findIndex((e=>{var a;return(null==(a=e.users)?void 0:a.length)>0}));J.value=e>=0?e:0,W.value=!0},Ie=()=>{W.value=!1},Se=()=>{ae.value=[...X.value];const e=V.value.findIndex((e=>{var a;return(null==(a=e.users)?void 0:a.length)>0}));ee.value=e>=0?e:0,Q.value=!0},Ce=()=>{Q.value=!1},xe=()=>{Y.value=O.value.map((e=>String(e))),pe(Y.value),W.value=!1},Te=()=>{X.value=ae.value.map((e=>String(e))),me(X.value),Q.value=!1},Pe=async()=>{try{const e=await a.getDepartmentPersonUsers();0===e.code&&e.data&&(H.value=e.data,Y.value.length>0&&pe(Y.value))}catch(e){console.error("获取安全管理人员列表失败:",e)}},Me=async()=>{console.log("当前hazardId:",r.value);try{const e=await a.getDeptUsersWithSubordinates({hazardId:r.value});0===e.code&&e.data&&(V.value=e.data,X.value.length>0&&me(X.value),console.log("整改责任人部门树:",V.value))}catch(e){console.error("获取整改责任人列表失败:",e)}},be=async()=>{await Promise.all([Pe(),Me()]),Y.value.length>0&&pe(Y.value)},Re=e.ref([]),Ae=e.getCurrentInstance(),{afterRead:Ne,deletePic:De}=u.createUploadListHandlers(Re,{watermark:{canvasId:"watermarkCanvas",canvasWidthRef:v,canvasHeightRef:c,instance:Ae}}),Le=async()=>{const t=Re.value.filter((e=>"success"===e.status)).map((e=>u.buildAttachmentItem(e))),l={hazardId:r.value,assignId:o.value,rectifyPlan:D.rectifyPlan,rectificationMeasures:D.rectificationMeasures,controlMeasures:D.controlMeasures,rectifyResult:D.rectifyResult,planCost:Number(D.planCost)||0,actualCost:Number(D.actualCost)||0,attachments:t,manageIds:Y.value.map((e=>Number(e))),memberIds:X.value.map((e=>Number(e))),rectifyTime:j.value||F(_.value),signPath:g.value||""};s.value&&(l.rectifyId=s.value);try{const t=await a.submitRectification(l);e.index.hideLoading(),0===t.code?(Be(!1),e.index.showToast({title:i.value?"保存成功":"提交成功",icon:"success"}),setTimeout((()=>{e.index.navigateBack()}),1500)):e.index.showToast({title:t.msg||(i.value?"保存失败":"提交失败"),icon:"none"})}catch(n){e.index.hideLoading(),console.error("提交整改失败:",n),e.index.showToast({title:"操作失败",icon:"none"})}finally{y.value=!1}},ke=async()=>{if(D.rectifyPlan)if(D.rectificationMeasures)if(D.controlMeasures)if(D.rectifyResult)if(j.value)if(0!==G.value.length)if(0!==Z.value.length)if(d.value){if(!m.value||h.value)return void e.index.showToast({title:"请进行电子签名",icon:"none"});y.value=!0,e.index.showLoading({title:"正在提交...",mask:!0}),m.value.confirm()}else{if(!g.value&&!w.value)return void e.index.showToast({title:"请进行电子签名",icon:"none"});y.value=!0,e.index.showLoading({title:"正在提交...",mask:!0});try{if(!g.value&&w.value){const{url:e}=await u.uploadToCloud(w.value);x(e)}await Le()}catch(a){y.value=!1,e.index.hideLoading(),console.error("签名上传失败:",a),e.index.showToast({title:"签名上传失败,请重试",icon:"none"})}}else e.index.showToast({title:"请选择整改责任人",icon:"none"});else e.index.showToast({title:"请选择安全管理人员",icon:"none"});else e.index.showToast({title:"请选择实际整改时间",icon:"none"});else e.index.showToast({title:"请输入整改完成情况",icon:"none"});else e.index.showToast({title:"请输入管控措施",icon:"none"});else e.index.showToast({title:"请输入整改措施",icon:"none"});else e.index.showToast({title:"请输入整改方案",icon:"none"})},_e=async()=>{try{e.index.showLoading({title:"加载中..."});const t=await a.getRectifyDetail({rectifyId:s.value});if(e.index.hideLoading(),0===t.code&&t.data){const a=t.data;D.rectifyPlan=a.rectifyPlan||"",D.rectificationMeasures=a.rectificationMeasures||"",D.controlMeasures=a.controlMeasures||"",D.rectifyResult=a.rectifyResult||"",D.planCost=a.planCost?String(a.planCost):"",D.actualCost=a.actualCost?String(a.actualCost):"",a.deadline&&E(a.deadline),a.rectifyTime&&(e=>{const a=U(e);a?(_.value=a,j.value=F(a)):e&&(j.value=String(e).trim().replace("T"," "))})(a.rectifyTime);const l=(e=>e&&(e.signPath||e.signUrl||e.signature||e.signatureUrl||e.signaturePath)||"")(a);console.log("整改详情签名路径:",l),x(l),r.value=a.hazardId||"",o.value=a.assignId||"",K.value=[...Array.isArray(a.managers)?a.managers:[],...Array.isArray(a.members)?a.members:[]];const n=(e=>{const a=B(e.manageIds??e.managerIds);return a.length>0?a:Array.isArray(e.managers)&&e.managers.length>0?e.managers.map((e=>String(e.userId))).filter(Boolean):[]})(a),s=B(a.memberIds);n.length>0&&(Y.value=n),s.length>0?X.value=s:a.rectifierId&&(X.value=[String(a.rectifierId)]),await be(),a.attachments&&a.attachments.length>0&&(Re.value=a.attachments.map((e=>u.mapServerFileToUploadItem(e)))),e.index.setNavigationBarTitle({title:"编辑整改信息"})}}catch(t){e.index.hideLoading(),console.error("获取整改详情失败:",t),e.index.showToast({title:"获取详情失败",icon:"none"})}},je=e.ref(!1),Fe=async()=>{if(r.value){je.value=!0;try{const t=await a.getHiddenDangerDetail({hazardId:r.value,assignId:o.value});if(0!==t.code||!t.data)return void e.index.showToast({title:"获取隐患详情失败",icon:"none"});const{title:l,description:u}=t.data,n=await a.generateRectifyPlan({title:l,description:u});0===n.code&&n.data?(n.data.rawResponse&&(D.rectifyPlan=n.data.rawResponse),e.index.showToast({title:"AI生成完成",icon:"success",duration:2e3})):e.index.showToast({title:n.msg||"AI生成失败",icon:"none"})}catch(t){console.error("AI生成整改方案失败:",t),e.index.showToast({title:"AI生成失败,请重试",icon:"none"})}finally{je.value=!1}}else e.index.showToast({title:"缺少隐患信息",icon:"none"})},Ue=e.ref([]),{showRestoreBanner:Ee,clear:Be,restore:$e,save:qe,bindAutoSave:ze}=l.useDraftCache({getKey:()=>t.buildDraftKey(t.DRAFT_NS.RECTIFY,r.value,s.value),getFallbackKeys:()=>{const e=t.buildDraftKey(t.DRAFT_NS.RECTIFY,r.value,s.value),a=t.buildDraftKeyCompact(t.DRAFT_NS.RECTIFY,r.value,s.value);return a!==e?[a]:[]},getPayload:()=>({formData:{rectifyPlan:D.rectifyPlan,rectificationMeasures:D.rectificationMeasures,controlMeasures:D.controlMeasures,rectifyResult:D.rectifyResult,planCost:D.planCost,actualCost:D.actualCost},fileList1:Re.value,signatureServerPath:g.value,signatureUrl:f.value,signatureLocalPath:w.value,showCanvas:d.value,signaturePaths:Ue.value}),hasContent:e=>{const a=e.formData||{};return!!(a.rectifyPlan||a.rectificationMeasures||a.controlMeasures||a.rectifyResult||a.planCost||a.actualCost||e.fileList1&&e.fileList1.length>0||e.signatureServerPath||e.signatureLocalPath||e.signaturePaths&&e.signaturePaths.length>0)},applyPayload:e=>{const a=e.formData||{};D.rectifyPlan=a.rectifyPlan||"",D.rectificationMeasures=a.rectificationMeasures||"",D.controlMeasures=a.controlMeasures||"",D.rectifyResult=a.rectifyResult||"",D.planCost=a.planCost||"",D.actualCost=a.actualCost||"",Re.value=e.fileList1||[],Ue.value=e.signaturePaths||[],e.signatureServerPath||e.signatureUrl?x(e.signatureServerPath||e.signatureUrl):e.signatureLocalPath?T(e.signatureLocalPath):!1===e.showCanvas&&(d.value=!1)},clearForm:()=>{D.rectifyPlan="",D.rectificationMeasures="",D.controlMeasures="",D.rectifyResult="",D.planCost="",D.actualCost="",Re.value=[],g.value="",f.value="",w.value="",d.value=!0,Ue.value=[],m.value&&m.value.clear()},canSave:()=>!(!r.value&&!s.value),onAfterRestore:e=>{var a;e.signatureServerPath||e.signatureUrl||e.signatureLocalPath||(null==(a=e.signaturePaths)?void 0:a.length)>0&&setTimeout((()=>{m.value&&(h.value=!1)}),450)}});return ze((()=>[D.rectifyPlan,D.rectificationMeasures,D.controlMeasures,D.rectifyResult,D.planCost,D.actualCost,Re.value,g.value,f.value,w.value,d.value,Ue.value])),e.onHide((()=>{d.value&&!h.value&&m.value&&!I.value&&(I.value=!0,m.value.confirm()),qe()})),e.onLoad((a=>{try{const a=e.index.getSystemInfoSync();p.value=a.windowWidth-40}catch(t){console.error("获取系统信息失败:",t)}a.hazardId&&(r.value=a.hazardId),a.assignId&&(o.value=a.assignId),a.rectifyId||be(),a.rectifyId?(s.value=a.rectifyId,i.value="1"===a.isEdit,_e()):($e(),_.value=Date.now(),j.value=F(_.value)),a.deadline&&E(a.deadline)})),(a,t)=>e.e({a:e.unref(Ee)},e.unref(Ee)?{b:e.o((a=>e.unref(Be)(!0)))}:{},{c:!je.value},(je.value,{}),{d:e.t(je.value?"AI生成中...":"AI生成整改方案"),e:je.value,f:je.value,g:e.o(Fe),h:e.o((e=>D.rectifyPlan=e)),i:e.p({placeholder:"请输入内容",maxlength:-1,autoHeight:!0,modelValue:D.rectifyPlan}),j:e.o((e=>D.rectificationMeasures=e)),k:e.p({placeholder:"请输入整改措施",modelValue:D.rectificationMeasures}),l:e.o((e=>D.controlMeasures=e)),m:e.p({placeholder:"请输入管控措施",modelValue:D.controlMeasures}),n:e.o((e=>D.rectifyResult=e)),o:e.p({placeholder:"请输入内容",modelValue:D.rectifyResult}),p:e.o((e=>D.planCost=e)),q:e.p({placeholder:"请输入内容",type:"number",modelValue:D.planCost}),r:e.o((e=>D.actualCost=e)),s:e.p({placeholder:"请输入内容",type:"number",modelValue:D.actualCost}),t:e.t(L.value||"暂无"),v:L.value?"":1,w:e.t(j.value||"请选择实际整改时间"),x:j.value?"":1,y:e.o((e=>k.value=!0)),z:e.o(z),A:e.o((e=>k.value=!1)),B:e.o((e=>k.value=!1)),C:e.o((e=>_.value=e)),D:e.p({show:k.value,mode:"datetime",modelValue:_.value}),E:e.t(G.value.length>0?ne.value:"请选择安全管理人员(可多选)"),F:0===G.value.length?1:"",G:e.o(we),H:e.t(Z.value.length>0?re.value:"请选择整改责任人(可多选)"),I:0===Z.value.length?1:"",J:e.o(Se),K:e.o(Ie),L:O.value.length>0},O.value.length>0?{M:e.t(O.value.length),N:e.t(se.value)}:{},{O:e.f(H.value,((a,t,l)=>e.e({a:e.t(a.deptName),b:he(a)>0},he(a)>0?{c:e.t(he(a))}:{},{d:"manager-dept-"+a.deptId,e:e.n({active:J.value===t}),f:e.o((e=>J.value=t),"manager-dept-"+a.deptId)}))),P:0===oe.value.length},0===oe.value.length?{}:{Q:e.f(oe.value,((a,t,l)=>({a:e.o((e=>function(e,a){const t=String(e);a?ie.value.has(t)||(O.value=[...O.value,t]):O.value=O.value.filter((e=>String(e)!==t))}(a.userId,e)),"manager-user-"+a.userId),b:"7a18ae51-8-"+l+",7a18ae51-7",c:e.p({usedAlone:!0,checked:ie.value.has(String(a.userId)),label:te(a),activeColor:"#2667E9",shape:"square"}),d:"manager-user-"+a.userId})))},{R:"manager-dept-users-"+J.value,S:e.o(Ie),T:e.o(xe),U:e.o(Ie),V:e.p({show:W.value,mode:"bottom",round:"20"}),W:e.o(Ce),X:ae.value.length>0},ae.value.length>0?{Y:e.t(ae.value.length),Z:e.t(ce.value)}:{},{aa:e.f(V.value,((a,t,l)=>e.e({a:e.t(a.deptName),b:ye(a)>0},ye(a)>0?{c:e.t(ye(a))}:{},{d:a.deptId,e:e.n({active:ee.value===t}),f:e.o((e=>ee.value=t),a.deptId)}))),ab:0===ve.value.length},0===ve.value.length?{}:{ac:e.f(ve.value,((a,t,l)=>({a:e.o((e=>function(e,a){const t=String(e);a?de.value.has(t)||(ae.value=[...ae.value,t]):ae.value=ae.value.filter((e=>String(e)!==t))}(a.userId,e)),"user-"+a.userId),b:"7a18ae51-10-"+l+",7a18ae51-9",c:e.p({usedAlone:!0,checked:de.value.has(String(a.userId)),label:te(a),activeColor:"#2667E9",shape:"square"}),d:"user-"+a.userId})))},{ad:"dept-users-"+ee.value,ae:e.o(Ce),af:e.o(Te),ag:e.o(Ce),ah:e.p({show:Q.value,mode:"bottom",round:"20"}),ai:e.o(e.unref(Ne)),aj:e.o(e.unref(De)),ak:e.p({fileList:Re.value,name:"1",multiple:!0,imageMode:"aspectFill",maxCount:10}),al:!Q.value&&!W.value&&!k.value},Q.value||W.value||k.value?{}:{am:v.value,an:c.value,ao:v.value+"px",ap:c.value+"px"},{aq:d.value},d.value?{ar:e.o(C)}:{as:e.o(N)},{at:!d.value},d.value?{}:e.e({av:f.value},f.value?{aw:f.value,ax:e.o(A)}:{}),{ay:d.value&&!Q.value&&!W.value&&!k.value},!d.value||Q.value||W.value||k.value?{}:{az:e.sr(m,"7a18ae51-12",{k:"signatureRef"}),aA:e.o((a=>(async a=>{if(I.value)return I.value=!1,T(a),void qe();try{const{url:e}=await u.uploadToCloud(a);x(e),qe(),y.value&&await Le()}catch(t){y.value=!1,e.index.hideLoading(),console.error("签名上传失败:",t),e.index.showToast({title:"签名上传失败,请重试",icon:"none"})}})(a.tempFilePath))),aB:e.o(P),aC:e.o(M),aD:e.o(R),aE:e.o(b),aF:e.p({width:p.value,height:160,backgroundColor:"#f8f8f8",penColor:"#000000",lineWidth:3,enableHistory:!1})},{aG:e.t(i.value?"保存修改":"提交整改"),aH:e.o(ke),aI:e.gei(a,"")})}},r=e._export_sfc(n,[["__scopeId","data-v-7a18ae51"]]);wx.createPage(r);