2 lines
16 KiB
JavaScript
2 lines
16 KiB
JavaScript
"use strict";const e=require("../../common/vendor.js"),a=require("../../request/api.js"),t=require("../../request/request.js"),r=require("../../utils/draftCache.js"),l=require("../../utils/useDraftCache.js"),n=require("../../utils/upload.js");if(!Array){(e.resolveComponent("up-radio")+e.resolveComponent("up-radio-group")+e.resolveComponent("up-textarea")+e.resolveComponent("wd-signature"))()}Math||((()=>"../../uni_modules/uview-plus/components/u-radio/u-radio.js")+(()=>"../../uni_modules/uview-plus/components/u-radio-group/u-radio-group.js")+(()=>"../../uni_modules/uview-plus/components/u-textarea/u-textarea.js")+i+(()=>"../../node-modules/wot-design-uni/components/wd-signature/wd-signature.js"))();const i=()=>"../../components/flow/FlowAssigneePickerPopup.js",o={__name:"acceptance-approval",setup(i){const o=e.ref(""),u=e.ref(""),s=e.ref(""),v=e.ref(""),c=e.ref(""),d=e.ref(""),p=e.ref(!1),f={re_rectify:"隐患整改"},m=e.ref(""),g=e=>f[e]||"",y={agree:"agree",reject:"reject",report:"report",re_rectify:"rectify"},h=[{label:"同意",value:"agree"},{label:"驳回",value:"reject"}],w=[{label:"同意",value:"agree"},{label:"驳回",value:"reject"},{label:"上报",value:"report"}],I=[{label:"同意",value:"agree"},{label:"驳回",value:"reject"},{label:"上报",value:"report"},{label:"重新整改",value:"re_rectify"}],k=[{label:"同意",value:"agree"},{label:"驳回",value:"reject"},{label:"重新整改",value:"re_rectify"}],T=e.computed((()=>((e,a)=>{const t=String(e||""),r=String(a||"");return"supervising_leader_review_1"===t||"supervising_leader_review_2"===t?"prefecture"===r?k:I:"department_review"===t&&"town_street"===r?w:"department_review"===t||"section_chief_review"===t||"supervising_executive_review"===t?h:t?I:[]})(m.value,j()))),x=e.computed((()=>("agree"===Q.approvalOpinion||"report"===Q.approvalOpinion)&&("agree"!==Q.approvalOpinion||"验收快速审结束"!==c.value))),N=e.computed((()=>{if(!Q.approvalOpinion)return"请先选择审批意见";const e=g(Q.approvalOpinion);return e||(p.value?"加载中...":c.value||"暂无下一步流程")})),b=e=>e?e.taskId?String(e.taskId):e.flowTaskId?String(e.flowTaskId):e.currentTaskId?String(e.currentTaskId):"":"",S=e=>{if(!(null==e?void 0:e.length))return null;if(o.value){const a=e.find((e=>e.rectify&&String(e.rectify.rectifyId)===String(o.value)));if(a)return a}if(s.value){const a=e.find((e=>String(e.assignId)===String(s.value)&&e.rectify));if(a)return a}return e.find((e=>e.rectify))||null},P=e=>{if(!e)return"";if(e.taskId)return String(e.taskId);if(e.flowTaskId)return String(e.flowTaskId);if(e.currentTaskId)return String(e.currentTaskId);const a=e.assigns||[],t=S(a),r=b(t);if(r)return r;for(const l of a){const e=b(l);if(e)return e}return""},A=e=>{if(!e)return null;const a=e.branches||[];return a.find((e=>e.matched))||a[0]||null},C=e=>(null==e?void 0:e.taskKey)?String(e.taskKey):"",R=()=>{L.value="",D.value="",K.value="",F.value=""},O=()=>{const e=T.value.map((e=>e.value));Q.approvalOpinion&&!e.includes(Q.approvalOpinion)&&(Q.approvalOpinion=""),x.value||R()},_=e=>{const a=j(),t={};return a&&(t.deptType=a),"report"===e?t.reportLeader=!0:"agree"===e&&(t.reportLeader=!1),t},j=()=>{var a;const t=null==(a=(()=>{try{const a=e.index.getStorageSync("userInfo");return a?"string"==typeof a?JSON.parse(a):a:{}}catch(a){return{}}})().userIdentity)?void 0:a.deptType;return null!=t&&""!==t?String(t):""},L=e.ref(""),D=e.ref(""),K=e.ref(""),F=e.ref(""),M=e.ref(!1),q=()=>{v.value?(K.value=L.value,F.value=D.value,M.value=!0):e.index.showToast({title:"缺少任务ID",icon:"none"})},z=({identityId:e,name:a})=>{L.value=e,D.value=a,M.value=!1},V=()=>{M.value=!1},U=e.reactive({verifyId:null,resultName:"",remark:"",verifierName:"",verifyTime:""}),B=e.ref([]),W=async()=>{var e;if(v.value)try{const t=await a.getFlowNextNodes({taskId:v.value,previewVariables:_(""),includeSubProcess:true});if(0===t.code){const a=t.data&&"object"==typeof t.data?t.data:t,r=(null==(e=a)?void 0:e.currentTaskKey)?String(e.currentTaskKey):(null==e?void 0:e.taskKey)?String(e.taskKey):"";r&&(m.value=r),O()}}catch(t){console.error("获取流程上下文失败:",t)}},E=async()=>{if(!Q.approvalOpinion)return c.value="",void(d.value="");const e=g(Q.approvalOpinion);if(e)return c.value=e,void(d.value="");p.value=!0;try{const e=v.value;if(!e)return c.value="",void(d.value="");const l=await a.getFlowNextNodes(((e,a)=>{const t={taskId:e,includeSubProcess:!0};return"reject"===a?t.reject=!0:t.previewVariables=_(a),t})(e,Q.approvalOpinion));if(0===l.code){const e=l.data&&"object"==typeof l.data?l.data:l;c.value=(null==(r=null==(t=A(e))?void 0:t.nextNode)?void 0:r.taskName)||"",d.value=(e=>{var a;return C(null==(a=A(e))?void 0:a.nextNode)})(e),x.value||R()}else c.value="",d.value=""}catch(l){console.error("获取下一步流程失败:",l),c.value="",d.value=""}finally{p.value=!1}var t,r},H=e.reactive({rectifyPlan:"",rectificationMeasures:"",controlMeasures:"",rectifyResult:"",planCost:null,actualCost:null,managerNames:[],memberNames:[],rectifierName:"",rectifyStatusName:""}),J=e=>{if(!e)return"暂无";if(Array.isArray(e)){return e.filter(Boolean).join("、")||"暂无"}return"string"==typeof e&&e.trim()||"暂无"},$=e=>{if(null==e||""===e)return"暂无";const a=Number(e);return Number.isNaN(a)?"暂无":`${a.toFixed(2)} 元`},G=e.ref([]),Q=e.reactive({approvalOpinion:"",opinionRemark:""}),X=e.ref("yes"),Y=e.computed((()=>"yes"===X.value)),Z=e.ref(!1);e.watch((()=>Q.approvalOpinion),(e=>{R(),c.value="",d.value="",Z.value||(e=>{"agree"===e?Q.opinionRemark="同意":"report"===e?Q.opinionRemark="上报":e&&(Q.opinionRemark="")})(e),e&&E(),O()})),e.watch(x,(e=>{e||R()}));const ee=e.ref(!0),ae=e.ref(""),te=e.ref(""),re=e.ref(340),le=e.ref(null),ne=e.ref(!0),ie=e.ref(!1),oe=e.ref([]),ue=e.ref(""),se=e.ref(!1);let ve=null;const ce=e=>{const a=e?n.toSubmitFileUrl(e):"";if(!a)return ee.value=!0,te.value="",ae.value="",ue.value="",void(ne.value=!0);te.value=a,ae.value=a,ue.value="",ee.value=!1,ne.value=!1},de=e=>{e&&(ue.value=e,ae.value=e,te.value="",ee.value=!1,ne.value=!1)},{showRestoreBanner:pe,clear:fe,restore:me,save:ge,bindAutoSave:ye}=l.useDraftCache({getKey:()=>r.buildDraftKey(r.DRAFT_NS.ACCEPT_APPROVAL,o.value),getFallbackKeys:()=>{const e=r.buildDraftKey(r.DRAFT_NS.ACCEPT_APPROVAL,o.value),a=r.buildDraftKeyCompact(r.DRAFT_NS.ACCEPT_APPROVAL,o.value);return a!==e?[a]:[]},getPayload:()=>({formData:{approvalOpinion:Q.approvalOpinion,opinionRemark:Q.opinionRemark},selectedAssigneeIdentityId:L.value,selectedAssigneeName:D.value,signatureServerPath:te.value,signatureUrl:ae.value,signatureLocalPath:ue.value,showCanvas:ee.value,signaturePaths:oe.value,sendMsgFlagRadio:X.value}),hasContent:e=>{const a=e.formData||{};return!!(a.approvalOpinion||a.opinionRemark||e.signatureServerPath||e.signatureLocalPath||e.signaturePaths&&e.signaturePaths.length>0)},applyPayload:e=>{const a=e.formData||{};Z.value=!0,Q.approvalOpinion=a.approvalOpinion||"",Q.opinionRemark=a.opinionRemark||"",Z.value=!1,L.value=e.selectedAssigneeIdentityId||"",D.value=e.selectedAssigneeName||"",oe.value=e.signaturePaths||[],e.signatureServerPath||e.signatureUrl?ce(e.signatureServerPath||e.signatureUrl):e.signatureLocalPath?de(e.signatureLocalPath):(ee.value=void 0===e.showCanvas||e.showCanvas,te.value="",ae.value="",ue.value="",ne.value=!0),X.value="no"===e.sendMsgFlagRadio?"no":"yes"},clearForm:()=>{Q.approvalOpinion="",Q.opinionRemark="",L.value="",D.value="",te.value="",ae.value="",ue.value="",ee.value=!0,oe.value=[],le.value&&le.value.clear(),X.value="yes"},canSave:()=>!!o.value,requireInitialized:!0,onAfterRestore:async e=>{var a;v.value&&!m.value&&await W(),Q.approvalOpinion&&await E(),e.signatureServerPath||e.signatureUrl||e.signatureLocalPath||(null==(a=e.signaturePaths)?void 0:a.length)>0&&setTimeout((()=>{le.value&&(ne.value=!1)}),450)}});ye((()=>[Q.approvalOpinion,Q.opinionRemark,L.value,D.value,te.value,ae.value,ue.value,ee.value,oe.value,X.value]));const he=e=>e?(e.startsWith("http://")||e.startsWith("https://"),t.toImageUrl(e)):"",we=e=>{if(!Array.isArray(e)||0===e.length)return[];const a=e.map((e=>e.nickName||e.userName||e.name||"")).filter(Boolean);return[...new Set(a)]},Ie=e=>{const a=(t=null==e?void 0:e.verifies,Array.isArray(t)&&0!==t.length?t[t.length-1]:null);var t;if(!a)return U.verifyId=null,U.resultName="",U.remark="",U.verifierName="",U.verifyTime="",void(B.value=[]);U.verifyId=a.verifyId??null,U.resultName=(e=>e?e.resultName?e.resultName:1===e.result?"通过":2===e.result?"不通过":"":"")(a),U.remark=a.remark||"",U.verifierName=a.verifierName||"",U.verifyTime=a.verifyTime||"",B.value=a.attachments||[]},ke=e=>{e&&(H.rectifyPlan=e.rectifyPlan||"",H.rectificationMeasures=e.rectificationMeasures||"",H.controlMeasures=e.controlMeasures||"",H.rectifyResult=e.rectifyResult||"",H.planCost=e.planCost??null,H.actualCost=e.actualCost??null,H.managerNames=(e=>Array.isArray(e.managers)&&e.managers.length>0?we(e.managers):e.managerNames||[])(e),H.memberNames=(e=>Array.isArray(e.members)&&e.members.length>0?we(e.members):e.memberNames||[])(e),H.rectifierName=e.rectifierName||"",H.rectifyStatusName=e.rectifyStatusName||e.statusName||"",G.value=e.attachments||[],Ie(e))},Te=async()=>{u.value?await(async()=>{if(u.value)try{const t=await a.getHiddenDangerDetail({hazardId:u.value,assignId:s.value});if(0===t.code&&t.data){const a=S(t.data.assigns);(null==a?void 0:a.rectify)?(ke(a.rectify),!o.value&&a.rectify.rectifyId&&(o.value=String(a.rectify.rectifyId))):e.index.showToast({title:"该隐患暂无整改记录",icon:"none"});const r=b(a)||P(t.data);r&&(v.value=r)}else e.index.showToast({title:t.msg||"获取详情失败",icon:"none"})}catch(t){console.error("获取隐患详情失败:",t),e.index.showToast({title:"请求失败",icon:"none"})}})():o.value&&await(async()=>{if(o.value)try{const t=await a.getRectifyDetail({rectifyId:o.value});if(0===t.code&&t.data){ke(t.data),!u.value&&t.data.hazardId&&(u.value=String(t.data.hazardId)),!s.value&&t.data.assignId&&(s.value=String(t.data.assignId));const e=P(t.data);e&&(v.value=e)}else e.index.showToast({title:t.msg||"获取整改详情失败",icon:"none"})}catch(t){console.error("获取整改详情失败:",t),e.index.showToast({title:"获取整改详情失败",icon:"none"})}})(),await W()},xe=()=>{var a,t;return v.value?Q.approvalOpinion?(null==(a=Q.opinionRemark)?void 0:a.trim())?c.value?(t=Q.approvalOpinion,g(t)||d.value?x.value&&!L.value?(e.index.showToast({title:"请选择下一步处理人",icon:"none"}),!1):!!U.verifyId||(e.index.showToast({title:"缺少验收记录ID",icon:"none"}),!1):(e.index.showToast({title:"暂无下一步流程",icon:"none"}),!1)):(e.index.showToast({title:"暂无下一步流程",icon:"none"}),!1):(e.index.showToast({title:"请输入意见说明",icon:"none"}),!1):(e.index.showToast({title:"请选择审批意见",icon:"none"}),!1):(e.index.showToast({title:"缺少任务ID",icon:"none"}),!1)},Ne=()=>{e.index.navigateBack()},be=async()=>{if(xe())if(ee.value){if(!le.value||ne.value)return void e.index.showToast({title:"请进行电子签名",icon:"none"});ie.value=!0,e.index.showLoading({title:"正在提交...",mask:!0}),le.value.confirm()}else{if(!te.value&&!ue.value)return void e.index.showToast({title:"请进行电子签名",icon:"none"});ie.value=!0,e.index.showLoading({title:"正在提交...",mask:!0});try{if(!te.value&&ue.value){const{url:e}=await n.uploadToCloud(ue.value);ce(e)}await Se()}catch(a){ie.value=!1,e.index.hideLoading(),console.error("签名上传失败:",a),e.index.showToast({title:"签名上传失败,请重试",icon:"none"})}}},Se=async()=>{const t={taskId:v.value,bizId:Number(U.verifyId),comment:Q.opinionRemark.trim(),type:(r=Q.approvalOpinion,y[r]||""),signPath:te.value||"",sendMsgFlag:Y.value,nextStepName:c.value};var r;d.value&&(t.nextStepKey=d.value),x.value&&(t.nextAssigneeIdentityId=Number(L.value),t.nextAssigneeName=D.value,t.nextAssigneeCategory="identity"),"report"===Q.approvalOpinion&&(t.reportLeader=!0),console.log("提交审批参数:",t);try{const r=await a.flowTaskApprove(t);e.index.hideLoading(),0===r.code?(fe(!1),e.index.showToast({title:"审批成功",icon:"success"}),setTimeout((()=>{e.index.navigateBack()}),1500)):e.index.showToast({title:r.msg||"审批失败",icon:"none"})}catch(l){e.index.hideLoading(),console.error("审批失败:",l),e.index.showToast({title:"请求失败",icon:"none"})}finally{ie.value=!1}},Pe=()=>{ne.value=!1},Ae=()=>{ne.value=!1},Ce=()=>{ne.value=!0,ue.value=""},Re=()=>{ne.value=!1,clearTimeout(ve),ve=setTimeout((()=>{!ee.value||ne.value||!le.value||ie.value||se.value||(se.value=!0,le.value.confirm())}),600)},Oe=()=>{clearTimeout(ve),ne.value=!0,ue.value="",le.value&&le.value.clear()},_e=()=>{clearTimeout(ve),ne.value=!0,ee.value=!0,ae.value="",te.value="",ue.value="",e.nextTick$1((()=>{le.value&&le.value.clear()}))};return e.onHide((()=>{ee.value&&!ne.value&&le.value&&!se.value&&(se.value=!0,le.value.confirm()),ge()})),e.onLoad((async a=>{try{const a=e.index.getSystemInfoSync();re.value=a.windowWidth-40}catch(t){console.error("获取系统信息失败:",t)}a.rectifyId&&(o.value=a.rectifyId),a.hazardId&&(u.value=a.hazardId),a.assignId&&(s.value=a.assignId),a.taskId&&(v.value=a.taskId),a.taskKey&&(m.value=String(a.taskKey)),console.log("验收审批页面参数:",{rectifyId:o.value,hazardId:u.value,assignId:s.value,taskId:v.value,taskKey:m.value}),await Te(),me()})),(a,t)=>e.e({a:e.t(H.rectifyPlan||"暂无"),b:e.t(H.rectificationMeasures||"暂无"),c:e.t(H.controlMeasures||"暂无"),d:e.t(H.rectifyResult||"暂无"),e:e.t($(H.planCost)),f:e.t($(H.actualCost)),g:e.t(J(H.managerNames)),h:e.t(J(H.memberNames)),i:e.t(H.rectifyStatusName||"暂无"),j:G.value.length>0},G.value.length>0?{k:e.f(G.value,((a,t,r)=>({a:t,b:he(a.filePath),c:e.o((a=>(a=>{const t=G.value.map((e=>he(e.filePath)));e.index.previewImage({current:a,urls:t})})(t)),t)})))}:{},{l:e.t(U.resultName||"暂无"),m:e.t(U.remark||"暂无"),n:e.t(U.verifierName||"暂无"),o:e.t(U.verifyTime||"暂无"),p:B.value.length>0},B.value.length>0?{q:e.f(B.value,((a,t,r)=>({a:t,b:he(a.filePath),c:e.o((a=>(a=>{const t=B.value.map((e=>he(e.filePath)));e.index.previewImage({current:a,urls:t})})(t)),t)})))}:{},{r:e.f(T.value,((a,t,r)=>({a:a.value,b:"d462a16f-1-"+r+",d462a16f-0",c:e.p({label:a.label,name:a.value,customStyle:{marginRight:t<T.value.length-1?"24rpx":"0"}})}))),s:e.o((e=>Q.approvalOpinion=e)),t:e.p({placement:"row",activeColor:"#2667e9",modelValue:Q.approvalOpinion}),v:e.o((e=>Q.opinionRemark=e)),w:e.p({placeholder:"请输入意见说明",modelValue:Q.opinionRemark}),x:e.t(N.value),y:x.value},(x.value,{}),{z:x.value},x.value?{A:e.t(D.value||"请选择下一步处理人"),B:D.value?"":1,C:e.o(q)}:{},{D:e.o(V),E:e.o(z),F:e.o((e=>K.value=e)),G:e.o((e=>F.value=e)),H:e.p({show:M.value,"task-id":v.value,"picker-identity-id":K.value,"picker-name":F.value}),I:e.p({label:"是",name:"yes",customStyle:{marginRight:"48rpx"}}),J:e.p({label:"否",name:"no"}),K:e.o((e=>X.value=e)),L:e.p({placement:"row",activeColor:"#2667e9",modelValue:X.value}),M:ee.value},ee.value?{N:e.o(Oe)}:{O:e.o(_e)},{P:!ee.value},ee.value?{}:e.e({Q:ae.value},ae.value?{R:ae.value}:{}),{S:ee.value&&!M.value},ee.value&&!M.value?{T:e.sr(le,"d462a16f-7",{k:"signatureRef"}),U:e.o((a=>(async a=>{if(se.value)return se.value=!1,de(a),void ge();try{const{url:e}=await n.uploadToCloud(a);ce(e),ge(),ie.value&&await Se()}catch(t){ie.value=!1,e.index.hideLoading(),console.error("签名上传失败:",t),e.index.showToast({title:"签名上传失败,请重试",icon:"none"})}})(a.tempFilePath))),V:e.o(Pe),W:e.o(Ae),X:e.o(Re),Y:e.o(Ce),Z:e.p({width:re.value,height:160,backgroundColor:"#f8f8f8",penColor:"#000000",lineWidth:3,enableHistory:!1})}:{},{aa:e.o(Ne),ab:e.o(be),ac:e.gei(a,"")})}},u=e._export_sfc(o,[["__scopeId","data-v-d462a16f"]]);wx.createPage(u);
|