2 lines
7.1 KiB
JavaScript
2 lines
7.1 KiB
JavaScript
import{g as a,e,f as l,y as t,c as s,w as o,s as n,i,o as u,a as c,n as f,u as r,b as d,p as m,q as _,F as v,h as p,t as g,j as b,l as k,d as h,S as y,I as C,x as w,D as x}from"./index-D5I0Z0FC.js";import{_ as T}from"./ic_back.BKIFUCMS.js";import{o as N}from"./uni-app.es.w-mylrOk.js";import{b as j,i as q,u as F}from"./trunk.BzuUoYMJ.js";import{B as I}from"./api.CP5REl0r.js";import{o as R}from"./navigation.CTXUhgsb.js";import{s as E}from"./index.DRG29rml.js";import{_ as V}from"./_plugin-vue_export-helper.BCo6x5W8.js";const B=V({__name:"index",setup(V){const B=E.hasPermi("odfcablefaults:edit"),L=a().statusBarHeight||0,S=e(""),U=e([]),$=l({}),z=l({faultTime:"",personnel:"",faultReason:"",mileage:"",cableName:"",location:"",latitude:0,longitude:0,remark:"",mileageCorrection:"",faultCount:1,faultTimes:[]}),D=e(!1),H=e(!1),M=e(""),P=e(!1),W=t((()=>{const a=[];return z.faultTime&&a.push(z.faultTime),z.faultTimes&&z.faultTimes.length>0&&z.faultTimes.forEach((e=>{a.push(e.faultTime||e.FaultTime||"")})),a.sort(),a})),A=t((()=>{const a=parseFloat(z.mileage),e=parseFloat(z.mileageCorrection);return isNaN(a)||isNaN(e)?z.mileage||"":String(Math.round(1e4*(a+e))/1e4)})),G=t((()=>z.latitude&&z.longitude&&0!==Number(z.latitude)&&0!==Number(z.longitude)));function J(){b()}async function K(){if(!D.value){D.value=!0;try{const a=await q(S.value);200===a.code&&a.data?(z.faultCount=a.data.faultCount,z.faultTimes=a.data.faultTimes||[],n({title:"频次已增加",icon:"success"})):n({title:a.msg||"操作失败",icon:"none"})}catch(a){n({title:"网络异常",icon:"none"})}finally{D.value=!1}}}function O(){M.value=z.mileageCorrection||"",H.value=!0}function Q(){H.value=!1}async function X(){if(!P.value){P.value=!0;try{const a=await F(S.value,M.value);200===a.code?(z.mileageCorrection=M.value,H.value=!1,n({title:"保存成功",icon:"success"})):n({title:a.msg||"保存失败",icon:"none"})}catch(a){n({title:"网络异常",icon:"none"})}finally{P.value=!1}}}function Y(){R(z.latitude,z.longitude,z.location||"故障地点")}return N((a=>{a.faultId&&(S.value=a.faultId),async function(){try{const a=await j(S.value);if(200===a.code&&a.data){const e=a.data;z.faultTime=e.faultTime||"",z.personnel=e.personnel||"",z.faultReason=e.faultReason||"",z.mileage=e.mileage||"",z.mileageCorrection=e.mileageCorrection||"",z.cableName=e.cableName||"",z.location=e.location||"",z.latitude=e.latitude||0,z.longitude=e.longitude||0,!z.location&&z.latitude&&z.longitude&&(z.location=`经度:${z.longitude} 纬度:${z.latitude}`),z.remark=e.remark||"",z.faultCount=e.faultCount||1,z.faultTimes=e.faultTimes||[],U.value=(e.images||[]).map(((a,e)=>{const l=a.url||a.imageUrl||"";return $[e]="loading",l.startsWith("http")?l:I+l}))}}catch(a){n({title:"加载失败",icon:"none"})}}()})),(a,e)=>{const l=k,t=h,n=i,b=y,N=C;return u(),s(n,{class:"fault-detail-page"},{default:o((()=>[c(n,{class:"content"},{default:o((()=>[c(n,{class:"nav-bar",style:f({paddingTop:r(L)+"px"})},{default:o((()=>[c(n,{class:"nav-bar-inner"},{default:o((()=>[c(l,{class:"nav-icon",src:T,mode:"aspectFit",onClick:J}),c(t,{class:"nav-title"},{default:o((()=>[d("故障详情")])),_:1}),c(n,{class:"nav-icon-placeholder"})])),_:1})])),_:1},8,["style"]),U.value.length>0?(u(),s(n,{key:0,class:"image-area"},{default:o((()=>[c(b,{class:"image-scroll","scroll-x":""},{default:o((()=>[c(n,{class:"image-grid"},{default:o((()=>[(u(!0),m(v,null,_(U.value,((a,e)=>(u(),s(n,{class:"image-wrapper",key:a,onClick:a=>function(a){x({urls:U.value,current:U.value[a]})}(e)},{default:o((()=>["loaded"!==$[e]?(u(),s(n,{key:0,class:"image-placeholder"},{default:o((()=>[c(t,{class:"placeholder-text"},{default:o((()=>[d(g("error"===$[e]?"加载失败":"加载中..."),1)])),_:2},1024)])),_:2},1024)):p("",!0),c(l,{class:w(["image-item",{"image-hidden":"loaded"!==$[e]}]),src:a,mode:"aspectFill",onLoad:a=>function(a){$[a]="loaded"}(e),onError:a=>function(a){$[a]="error"}(e)},null,8,["class","src","onLoad","onError"])])),_:2},1032,["onClick"])))),128))])),_:1})])),_:1})])),_:1})):p("",!0),c(n,{class:"info-area"},{default:o((()=>[c(n,{class:"info-row"},{default:o((()=>[c(t,{class:"info-label"},{default:o((()=>[d("故障时间")])),_:1}),c(n,{class:"info-value fault-time-list"},{default:o((()=>[(u(!0),m(v,null,_(W.value,((a,e)=>(u(),s(t,{class:"fault-time-item",key:e},{default:o((()=>[d(g(a),1)])),_:2},1024)))),128))])),_:1})])),_:1}),c(n,{class:"info-row"},{default:o((()=>[c(t,{class:"info-label"},{default:o((()=>[d("故障发生频次")])),_:1}),c(n,{class:"info-value freq-row"},{default:o((()=>[c(t,{class:"freq-value"},{default:o((()=>[d(g(z.faultCount),1)])),_:1}),r(B)?(u(),s(n,{key:0,class:"freq-btn",onClick:K},{default:o((()=>[c(t,{class:"freq-btn-text"},{default:o((()=>[d("增加频次")])),_:1})])),_:1})):p("",!0)])),_:1})])),_:1}),c(n,{class:"info-row"},{default:o((()=>[c(t,{class:"info-label"},{default:o((()=>[d("人员")])),_:1}),c(t,{class:"info-value"},{default:o((()=>[d(g(z.personnel),1)])),_:1})])),_:1}),c(n,{class:"info-row"},{default:o((()=>[c(t,{class:"info-label"},{default:o((()=>[d("故障原因")])),_:1}),c(t,{class:"info-value"},{default:o((()=>[d(g(z.faultReason),1)])),_:1})])),_:1}),c(n,{class:"info-row"},{default:o((()=>[c(t,{class:"info-label"},{default:o((()=>[d("表显故障里程")])),_:1}),c(t,{class:"info-value"},{default:o((()=>[d(g(A.value),1)])),_:1})])),_:1}),c(n,{class:"info-row"},{default:o((()=>[c(t,{class:"info-label"},{default:o((()=>[d("表显里程矫正")])),_:1}),H.value?(u(),s(n,{key:0,class:"info-value correction-row"},{default:o((()=>[c(N,{class:"correction-input",modelValue:M.value,"onUpdate:modelValue":e[0]||(e[0]=a=>M.value=a),type:"text",placeholder:"请输入","placeholder-class":"input-placeholder"},null,8,["modelValue"]),c(n,{class:"correction-btn save-btn",onClick:X},{default:o((()=>[c(t,{class:"correction-btn-text"},{default:o((()=>[d("保存")])),_:1})])),_:1}),c(n,{class:"correction-btn cancel-btn",onClick:Q},{default:o((()=>[c(t,{class:"correction-btn-text cancel-text"},{default:o((()=>[d("取消")])),_:1})])),_:1})])),_:1})):(u(),s(n,{key:1,class:"info-value correction-row"},{default:o((()=>[c(t,null,{default:o((()=>[d(g(z.mileageCorrection||"未填写"),1)])),_:1}),r(B)?(u(),s(n,{key:0,class:"correction-btn edit-btn",onClick:O},{default:o((()=>[c(t,{class:"correction-btn-text"},{default:o((()=>[d("修改")])),_:1})])),_:1})):p("",!0)])),_:1}))])),_:1}),c(n,{class:"info-row"},{default:o((()=>[c(t,{class:"info-label"},{default:o((()=>[d("所属光缆")])),_:1}),c(t,{class:"info-value"},{default:o((()=>[d(g(z.cableName),1)])),_:1})])),_:1}),c(n,{class:"info-row"},{default:o((()=>[c(t,{class:"info-label"},{default:o((()=>[d("地点")])),_:1}),c(t,{class:"info-value"},{default:o((()=>[d(g(z.location),1)])),_:1})])),_:1}),c(n,{class:"info-row last-row"},{default:o((()=>[c(t,{class:"info-label"},{default:o((()=>[d("备注")])),_:1}),c(t,{class:"info-value"},{default:o((()=>[d(g(z.remark),1)])),_:1})])),_:1})])),_:1})])),_:1}),G.value?(u(),s(n,{key:0,class:"bottom-bar"},{default:o((()=>[c(n,{class:"navigate-btn",onClick:Y},{default:o((()=>[c(t,{class:"navigate-btn-text"},{default:o((()=>[d("导航至地点")])),_:1})])),_:1})])),_:1})):p("",!0)])),_:1})}}},[["__scopeId","data-v-3f2742d5"]]);export{B as default};
|