Files
threeonecheck_web/unpackage/dist/build/mp-weixin/pages/Inspectionresult/detail.js

2 lines
11 KiB
JavaScript

"use strict";const a=require("../../common/vendor.js"),e=require("../../request/api.js"),l=require("../../utils/draftCache.js"),t=require("../../utils/useDraftCache.js"),r=require("../../components/hazard/hazardForm.js");if(!Array){(a.resolveComponent("up-icon")+a.resolveComponent("u-radio")+a.resolveComponent("u-radio-group")+a.resolveComponent("up-textarea")+a.resolveComponent("u-popup"))()}Math||((()=>"../../uni_modules/uview-plus/components/u-icon/u-icon.js")+(()=>"../../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")+u+(()=>"../../uni_modules/uview-plus/components/u-popup/u-popup.js"))();const u=()=>"../../components/hazard/HazardFormPopup.js",o={__name:"detail",setup(u){const o=a.ref(""),n=a.ref(""),s=a.ref(""),d=a.ref(""),i=a.ref(!0),v=a.ref([]),c=a.ref([]),m=a.ref(new Set),h=a.ref(!1),f=a.ref(!1),p=a.ref(-1),y=a.ref(null),z=a.ref(r.createEmptyHazardPayload()),g=[{name:"正常",value:1},{name:"异常",value:2},{name:"不涉及",value:3}],k=a=>!!a&&(2===a.status||!(null==a.taskId||!m.value.has(a.taskId))),P=a=>{const e=g.find((e=>e.value===a));return(null==e?void 0:e.name)||"-"};a.computed((()=>{var a;return d.value||(null==(a=v.value[0])?void 0:a.itemName)||"检查表"})),a.computed((()=>{var a;return(null==(a=v.value[0])?void 0:a.industryName)||""}));const I=()=>({resultLabel:"",result:null,remark:"",hazardPayload:r.createEmptyHazardPayload()}),w=a=>{if(!a)return I();const e=a.hazardPayload||r.createEmptyHazardPayload(),l=r.createEmptyHazardPayload();return{resultLabel:a.resultLabel||"",result:a.result??null,remark:a.remark||"",hazardPayload:{formData:{...l.formData,...e.formData||{}},address:e.address||"",lng:e.lng||0,lat:e.lat||0,areaId:e.areaId||"",areaName:e.areaName||"",fileList:Array.isArray(e.fileList)?[...e.fileList]:[],tagOptions:Array.isArray(e.tagOptions)?[...e.tagOptions]:[]}}},b=a=>{const e=w(a);if(e.resultLabel||null==e.result){if(e.resultLabel&&null==e.result){const a=g.find((a=>a.name===e.resultLabel));a&&(e.result=a.value)}}else{const a=g.find((a=>a.value===e.result));a&&(e.resultLabel=a.name)}return e},D=a=>{const e=I();if(!k(a))return e;e.result=a.result,e.remark=a.remark||"";const l=g.find((e=>e.value===a.result));if(l&&(e.resultLabel=l.name),2===a.result&&a.hazardName){const l=r.SOURCE_OPTIONS.findIndex((e=>e.title===a.source));e.hazardPayload={...r.createEmptyHazardPayload(),formData:{...r.createEmptyHazardPayload().formData,title:a.hazardName||"",description:a.hazardDesc||"",source:l>=0?l:0},address:a.hazardAddress||""}}return b(e)},L=a=>!!a&&!(!a.resultLabel&&null==a.result),T=a=>{var e,l;if(!a)return!1;const t=w(a),r=t.hazardPayload;return!!(t.resultLabel||null!=t.result||t.remark||(null==(e=r.formData)?void 0:e.title)||(null==(l=r.formData)?void 0:l.description)||r.fileList&&r.fileList.length>0)},x=a=>{const e=v.value[a];return!k(e)&&L(c.value[a])},N=a.computed((()=>v.value.filter(k).length)),S=a.computed((()=>v.value.filter(((a,e)=>x(e))).length)),E=a.computed((()=>Math.max(v.value.length-N.value-S.value,0))),_=a=>{const e=v.value[a];return k(e)?"check-sheet-cell--submitted":x(a)?"check-sheet-cell--pending":""},O=a.computed((()=>v.value.length?Math.round(N.value/v.value.length*100):0)),A=a=>{var e;return!!(null==(e=null==a?void 0:a.answers)?void 0:e.length)&&a.answers.some((a=>T(a)))},{showRestoreBanner:H,clear:C,restore:j,bindAutoSave:R}=t.useDraftCache({getKey:()=>l.buildDraftKey(l.DRAFT_NS.INSPECTION_SHEET,o.value,s.value),getPayload:()=>({oneTableId:o.value,taskDate:s.value,planName:d.value,answers:v.value.map(((a,e)=>{if(k(a))return null;const l=c.value[e]||I();return T(l)?{taskId:a.taskId,...JSON.parse(JSON.stringify(l))}:null})).filter(Boolean)}),hasContent:A,applyPayload:a=>{var e;(null==(e=null==a?void 0:a.answers)?void 0:e.length)&&v.value.length&&(c.value=v.value.map(((e,l)=>{if(k(e))return D(e);const t=a.answers[l];if(t&&A({answers:[t]}))return b(t);if(null!=e.taskId&&""!==e.taskId){const l=a.answers.find((a=>a.taskId===e.taskId));if(l)return b(l)}return I()})),a.planName&&!d.value&&(d.value=a.planName))},clearForm:()=>{c.value=v.value.map((a=>k(a)?D(a):I()))},canSave:()=>!!o.value&&!!s.value&&v.value.length>0,requireInitialized:!0});R((()=>c.value));const q=a.computed((()=>{var a;const e=p.value,l=e>=0?null==(a=v.value[e])?void 0:a.taskId:"";return{locationDraftKey:`hazard_location_${o.value}_${s.value}_${l||e}`}})),F=a=>{var e;return r.hasValidHazardPayload(null==(e=c.value[a])?void 0:e.hazardPayload)},V=a=>{var e;p.value=a,z.value=JSON.parse(JSON.stringify((null==(e=c.value[a])?void 0:e.hazardPayload)??r.createEmptyHazardPayload())),h.value=!0},$=a=>{const e=p.value,l=a||z.value;e>=0&&l&&c.value[e]&&(c.value[e].hazardPayload=JSON.parse(JSON.stringify(l))),h.value=!1,p.value=-1,z.value=r.createEmptyHazardPayload()},J=()=>{f.value=!0},B=()=>{f.value=!1},K=()=>{B(),M()},U=()=>{const e=(()=>{const a=[];for(let e=0;e<v.value.length;e++)!k(v.value[e])&&L(c.value[e])&&a.push(e);return a})();if(!e.length)return a.index.showToast({title:"请先填写待提交的检查项",icon:"none"}),null;for(const l of e){const e=c.value[l];if("异常"===e.resultLabel&&!r.hasValidHazardPayload(e.hazardPayload))return a.index.showToast({title:`${l+1} 项为异常,请填写隐患信息`,icon:"none"}),null}return e},M=async()=>{const t=U();if(!t)return;const u=(a=>a.filter((a=>!k(v.value[a]))).map((a=>{const e=v.value[a],l=b(c.value[a]),t={taskId:e.taskId,result:l.result,remark:l.remark||""};return"异常"===l.resultLabel&&r.hasValidHazardPayload(l.hazardPayload)&&(t.hazard=r.buildHiddenDangerParams(l.hazardPayload,{taskId:e.taskId,checkPointId:e.checkPointId})),t})))(t);if(u.length)try{a.index.showLoading({title:"提交中..."});const t=await e.submitAllTask(u);if(a.index.hideLoading(),0===t.code){const e=new Set(m.value);u.forEach((a=>{null!=a.taskId&&e.add(a.taskId)})),m.value=e,((a=[])=>{var e;const t=l.buildDraftKey(l.DRAFT_NS.INSPECTION_SHEET,o.value,s.value),{data:r}=l.loadDraftWithFallback(t);if(!(null==(e=null==r?void 0:r.answers)?void 0:e.length))return;const u=new Set(a),n=r.answers.filter((a=>null==(null==a?void 0:a.taskId)||!u.has(a.taskId)));n.length?l.saveDraftToStorage(t,{...r,answers:n}):l.removeDraft(t)})(u.map((a=>a.taskId))),a.index.showToast({title:`已成功提交 ${u.length}`,icon:"success"}),setTimeout((()=>{a.index.navigateBack()}),1500)}else a.index.showToast({title:t.msg||"提交失败",icon:"none"})}catch(n){a.index.hideLoading(),console.error("提交失败:",n),a.index.showToast({title:"提交失败",icon:"none"})}else a.index.showToast({title:"没有可提交的新检查项",icon:"none"})},G=async()=>{var l;if(!o.value||!s.value)return i.value=!1,void a.index.showToast({title:"缺少任务参数",icon:"none"});i.value=!0;try{const t=await e.getAllTask(o.value,s.value);if(0===t.code){const a=Array.isArray(t.data)?t.data:(null==(l=t.data)?void 0:l.records)||[];(a=>{const e=new Set(m.value);(a||[]).forEach((a=>{2===(null==a?void 0:a.status)&&null!=a.taskId&&e.add(a.taskId)})),m.value=e})(a),v.value=a,c.value=a.map((a=>D(a))),j()}else a.index.showToast({title:t.msg||"获取检查项失败",icon:"none"})}catch(t){console.error("获取检查项失败:",t),a.index.showToast({title:"获取检查项失败",icon:"none"})}finally{i.value=!1}};return a.onLoad((a=>{a.oneTableId?o.value=a.oneTableId:a.id&&(o.value=a.id),a.taskDate&&(s.value=decodeURIComponent(a.taskDate).split(" ")[0]),a.name&&(d.value=decodeURIComponent(a.name)),a.tableId&&(n.value=a.tableId),G()})),(e,l)=>a.e({a:i.value},i.value?{}:v.value.length?a.e({c:a.t(v.value.length),d:a.t(N.value),e:a.t(S.value),f:a.t(E.value),g:O.value+"%",h:a.p({name:"grid",size:"22",color:"#2667E9"}),i:a.o(J),j:a.unref(H)},a.unref(H)?{k:a.o((e=>a.unref(C)(!0)))}:{},{l:a.f(v.value,((e,l,t)=>{var u,o,n;return a.e({a:a.t(l+1),b:k(e)},(k(e)||x(l),{}),{c:x(l),d:a.t(e.name),e:e.point||"",f:k(e)},k(e)?a.e({g:a.t(P(e.result)),h:a.n((n=e.result,1===n?"result-tag--normal":2===n?"result-tag--abnormal":3===n?"result-tag--na":"")),i:e.remark},e.remark?{j:a.t(e.remark)}:{},{k:2===e.result},2===e.result?a.e({l:e.hazardName},e.hazardName?{m:a.t(e.hazardName)}:{},{n:e.source},e.source?{o:a.t(e.source)}:{},{p:e.hazardAddress},e.hazardAddress?{q:a.t(e.hazardAddress)}:{},{r:e.hazardDesc},e.hazardDesc?{s:a.t(e.hazardDesc)}:{}):{},{t:2===e.result&&e.hazardId},2===e.result&&e.hazardId?{v:a.o((l=>(e=>{(null==e?void 0:e.hazardId)?a.index.navigateTo({url:`/pages/hiddendanger/view?hazardId=${e.hazardId}`}):a.index.showToast({title:"暂无隐患信息",icon:"none"})})(e)),"check-item-"+l)}:{}):a.e({w:a.f(g,((e,l,r)=>({a:l,b:"f52d2210-2-"+t+"-"+r+",f52d2210-1-"+t,c:a.p({customStyle:{marginBottom:"8px",marginRight:"24rpx"},label:e.name,name:e.name})}))),x:a.o((a=>((a,e)=>{const l=c.value[a];if(!l)return;l.resultLabel=e;const t=g.find((a=>a.name===e));l.result=t?t.value:null,"异常"!==e&&(l.hazardPayload=r.createEmptyHazardPayload())})(l,a)),"check-item-"+l),y:"f52d2210-1-"+t,z:a.o((a=>c.value[l].resultLabel=a),"check-item-"+l),A:a.p({placement:"row",modelValue:c.value[l].resultLabel}),B:"异常"===c.value[l].resultLabel},"异常"===c.value[l].resultLabel?a.e({C:!F(l)},F(l)?a.e({E:a.t(c.value[l].hazardPayload.formData.title),F:a.t(null==(u=a.unref(r.LEVEL_OPTIONS)[c.value[l].hazardPayload.formData.level])?void 0:u.title),G:0===c.value[l].hazardPayload.formData.level?1:"",H:1===c.value[l].hazardPayload.formData.level?1:"",I:2===c.value[l].hazardPayload.formData.level?1:"",J:a.t((null==(o=a.unref(r.SOURCE_OPTIONS)[c.value[l].hazardPayload.formData.source])?void 0:o.title)||"-"),K:a.t(c.value[l].hazardPayload.address||"-"),L:a.t(c.value[l].hazardPayload.formData.description||"-"),M:c.value[l].hazardPayload.fileList.length>0},c.value[l].hazardPayload.fileList.length>0?{N:a.t(c.value[l].hazardPayload.fileList.length)}:{},{O:a.o((a=>V(l)),"check-item-"+l),P:a.o((a=>(a=>{c.value[a]&&(c.value[a].hazardPayload=r.createEmptyHazardPayload())})(l)),"check-item-"+l)}):{D:a.o((a=>V(l)),"check-item-"+l)}):{},{Q:"f52d2210-3-"+t,R:a.o((a=>c.value[l].remark=a),"check-item-"+l),S:a.p({placeholder:"请输入备注信息",modelValue:c.value[l].remark})}),{T:"check-item-"+l,U:"check-item-"+l,V:k(e)?1:""})})),m:S.value>0},S.value>0?{n:a.t(S.value),o:a.o(M)}:{}):{},{b:!v.value.length,p:p.value>=0},p.value>=0?{q:a.sr(y,"f52d2210-4",{k:"hazardFormRef"}),r:a.o($),s:a.o((a=>h.value=a)),t:a.o((a=>z.value=a)),v:a.p({title:"填写隐患信息",mode:"collect","body-height":"60vh","extra-params":q.value,show:h.value,modelValue:z.value})}:{},{w:a.t(v.value.length),x:a.f(v.value,((e,l,t)=>({a:a.t(l+1),b:"sheet-nav-"+l,c:a.n(_(l)),d:a.o((e=>(e=>{B(),a.nextTick$1((()=>{a.index.pageScrollTo({selector:`#check-item-${e}`,duration:300,offsetTop:-80})}))})(l)),"sheet-nav-"+l)}))),y:a.t(N.value),z:a.t(S.value),A:a.t(E.value),B:S.value>0},S.value>0?{C:a.o(K)}:{},{D:a.o(B),E:a.p({show:f.value,mode:"bottom",round:"20","safe-area-inset-bottom":!0}),F:a.gei(e,"")})}},n=a._export_sfc(o,[["__scopeId","data-v-f52d2210"]]);wx.createPage(n);