2 lines
16 KiB
JavaScript
2 lines
16 KiB
JavaScript
import{e,z as a,A as l,o as t,c as s,w as o,a as i,b as u,u as c,t as n,h as d,s as r,d as f,I as p,i as m,B as _,S as v,f as k,y as b,q as y,F as g,v as h,m as C,C as x,g as R,n as w,j as T,l as V}from"./index-DNTbgx9s.js";import{_ as F}from"./home_bg.BmQJoAoC.js";import{_ as I}from"./ic_back.BKIFUCMS.js";import{o as U}from"./uni-app.es.CzDBJ3mq.js";import{s as O,c as P,d as L}from"./machine.dad22LlQ.js";import{s as N}from"./index.CZPwJ-qg.js";import{_ as A}from"./_plugin-vue_export-helper.BCo6x5W8.js";import"./api.DerpfRZx.js";const j=A({__name:"add-note-dialog",props:{visible:{type:Boolean,default:!1}},emits:["close","confirm"],setup(k,{emit:b}){const y=k,g=b,h=e(""),C=e(0),x=e(0),R=e(""),w=e(""),T=e(""),V=a((()=>N.dictUnitTypes.length>0&&C.value<N.dictUnitTypes.length?N.dictUnitTypes[C.value].dictLabel:"请选择")),F=a((()=>N.dictBusinessTypes.length>0&&x.value<N.dictBusinessTypes.length?N.dictBusinessTypes[x.value].dictLabel:"请选择"));function I(e){C.value=Number(e.detail.value)}function U(e){x.value=Number(e.detail.value)}function O(){g("close")}function P(){if(!h.value.trim())return void r({title:"请输入业务名称",icon:"none"});if(!R.value||!w.value||!T.value)return void r({title:"请输入端口号",icon:"none"});const e=N.dictUnitTypes.length>0?N.dictUnitTypes[C.value].dictLabel:"",a=N.dictBusinessTypes.length>0?N.dictBusinessTypes[x.value].dictLabel:"",l=`${h.value} ${e} ${a} ${R.value}/${w.value}/${T.value}`;g("confirm",l),g("close")}return l((()=>y.visible),(e=>{e&&(h.value="",C.value=0,x.value=0,R.value="",w.value="",T.value="")})),(e,a)=>{const l=f,r=p,b=m,y=_,g=v;return k.visible?(t(),s(b,{key:0,class:"add-note-overlay"},{default:o((()=>[i(b,{class:"add-note-content"},{default:o((()=>[i(l,{class:"dialog-title"},{default:o((()=>[u("添加备注")])),_:1}),i(g,{class:"scroll-area","scroll-y":""},{default:o((()=>[i(b,{class:"section"},{default:o((()=>[i(l,{class:"section-label"},{default:o((()=>[u("业务名称")])),_:1}),i(r,{class:"form-input",modelValue:h.value,"onUpdate:modelValue":a[0]||(a[0]=e=>h.value=e),placeholder:"请输入业务名称"},null,8,["modelValue"])])),_:1}),i(b,{class:"section"},{default:o((()=>[i(l,{class:"section-label"},{default:o((()=>[u("设备型号")])),_:1}),i(y,{mode:"selector",range:c(N).dictUnitTypes,"range-key":"dictLabel",value:C.value,onChange:I},{default:o((()=>[i(b,{class:"picker-box"},{default:o((()=>[i(l,{class:"picker-text"},{default:o((()=>[u(n(V.value),1)])),_:1})])),_:1})])),_:1},8,["range","value"])])),_:1}),i(b,{class:"section"},{default:o((()=>[i(l,{class:"section-label"},{default:o((()=>[u("业务类型")])),_:1}),i(y,{mode:"selector",range:c(N).dictBusinessTypes,"range-key":"dictLabel",value:x.value,onChange:U},{default:o((()=>[i(b,{class:"picker-box"},{default:o((()=>[i(l,{class:"picker-text"},{default:o((()=>[u(n(F.value),1)])),_:1})])),_:1})])),_:1},8,["range","value"])])),_:1}),i(b,{class:"section"},{default:o((()=>[i(l,{class:"section-label"},{default:o((()=>[u("端口号")])),_:1}),i(b,{class:"port-inputs"},{default:o((()=>[i(r,{class:"form-input port-input",modelValue:R.value,"onUpdate:modelValue":a[1]||(a[1]=e=>R.value=e),type:"number",placeholder:"1号端口数"},null,8,["modelValue"]),i(r,{class:"form-input port-input",modelValue:w.value,"onUpdate:modelValue":a[2]||(a[2]=e=>w.value=e),type:"number",placeholder:"2号端口数"},null,8,["modelValue"]),i(r,{class:"form-input port-input",modelValue:T.value,"onUpdate:modelValue":a[3]||(a[3]=e=>T.value=e),type:"number",placeholder:"3号端口数"},null,8,["modelValue"])])),_:1})])),_:1})])),_:1}),i(b,{class:"btn-row"},{default:o((()=>[i(b,{class:"btn btn-cancel",onClick:O},{default:o((()=>[i(l,{class:"btn-text"},{default:o((()=>[u("取消")])),_:1})])),_:1}),i(b,{class:"btn btn-submit",onClick:P},{default:o((()=>[i(l,{class:"btn-text-white"},{default:o((()=>[u("提交")])),_:1})])),_:1})])),_:1})])),_:1})])),_:1})):d("",!0)}}},[["__scopeId","data-v-96b571dc"]]),B=A({__name:"port-edit-dialog",props:{visible:{type:Boolean,default:!1},portId:{type:[Number,String],default:""}},emits:["close","saved"],setup(a,{emit:R}){const w=a,T=R,V=e(!1),F=e(!1),I=k({id:"",name:"",frameName:"",status:0,remarks:"",opticalAttenuation:"",opticalCableOffRemarks:"",historyRemarks:"",historyFault:[]}),U=k({status:0,remarks:"",opticalAttenuation:"",opticalCableOffRemarks:"",historyRemarks:"",historyFault:[]});function L(e){U.status=e,0===e&&(U.remarks="")}function A(){U.historyFault.push({faultTime:"",faultReason:""})}function B(e){U.remarks=U.remarks?U.remarks+"\n"+e:e,F.value=!1}function $(){T("close")}function S(){}async function H(){for(let a=0;a<U.historyFault.length;a++)if(!U.historyFault[a].faultTime||!U.historyFault[a].faultTime.trim())return void r({title:"请选择障碍发生时间!",icon:"none"});try{const e=await O({Id:Number(w.portId),Status:U.status,Remarks:U.remarks,OpticalAttenuation:U.opticalAttenuation,HistoryRemarks:U.historyRemarks,HistoryFault:U.historyFault,OpticalCableOffRemarks:U.opticalCableOffRemarks});200===e.code?(r({title:"保存成功",icon:"success"}),T("close"),T("saved")):r({title:e.msg||"保存失败",icon:"none"})}catch(e){r({title:"网络异常",icon:"none"})}}return l((()=>w.visible),(e=>{e&&w.portId&&async function(){V.value=!0;try{const e=await P(w.portId);if(200===e.code&&e.data){const a=e.data;Object.assign(I,{id:a.id,name:a.name||"",frameName:a.frameName||"",status:a.status,remarks:a.remarks||"",opticalAttenuation:a.opticalAttenuation||"",opticalCableOffRemarks:a.opticalCableOffRemarks||"",historyRemarks:a.historyRemarks||"",historyFault:a.historyFault||[]}),U.status=a.status,U.remarks=a.remarks||"",U.opticalAttenuation=a.opticalAttenuation||"",U.opticalCableOffRemarks=a.opticalCableOffRemarks||"",U.historyRemarks=a.historyRemarks||"",U.historyFault=(a.historyFault||[]).map((e=>({faultTime:e.faultTime||"",faultReason:e.faultReason||""})))}}finally{V.value=!1}}()})),(e,l)=>{const r=f,k=m,R=x,w=p,T=_,O=v;return a.visible?(t(),s(k,{key:0,class:"port-edit-overlay",onClick:C(S,["self"])},{default:o((()=>[i(k,{class:"port-edit-content"},{default:o((()=>[V.value?(t(),s(k,{key:0,class:"loading-box"},{default:o((()=>[i(r,{class:"loading-text"},{default:o((()=>[u("loading...")])),_:1})])),_:1})):(t(),s(O,{key:1,class:"scroll-area","scroll-y":""},{default:o((()=>[i(k,{class:"section"},{default:o((()=>[i(k,{class:"location-row"},{default:o((()=>[i(r,{class:"location-text"},{default:o((()=>[u("位置:"+n(I.frameName)+n(I.name),1)])),_:1}),i(k,{class:"status-badge"},{default:o((()=>[i(k,{class:b(["status-dot",1===I.status?"dot-green":"dot-red"])},null,8,["class"]),i(r,{class:"status-label"},{default:o((()=>[u(n(1===I.status?"已连接":"已断开"),1)])),_:1})])),_:1})])),_:1})])),_:1}),i(k,{class:"section"},{default:o((()=>[i(r,{class:"section-title"},{default:o((()=>[u("备注说明")])),_:1}),i(k,{class:"remarks-row"},{default:o((()=>[i(k,{class:"textarea-wrap"},{default:o((()=>[i(R,{class:"remarks-input",modelValue:U.remarks,"onUpdate:modelValue":l[0]||(l[0]=e=>U.remarks=e),maxlength:-1,placeholder:"请输入备注说明",disabled:!c(N).isPermission,"auto-height":""},null,8,["modelValue","disabled"])])),_:1}),c(N).isPermission?(t(),s(k,{key:0,class:"add-note-btn",onClick:l[1]||(l[1]=e=>F.value=!0)},{default:o((()=>[i(r,{class:"add-note-text"},{default:o((()=>[u("添加备注")])),_:1})])),_:1})):d("",!0)])),_:1})])),_:1}),i(k,{class:"section"},{default:o((()=>[i(r,{class:"section-title"},{default:o((()=>[u("光衰信息")])),_:1}),i(w,{class:"form-input",modelValue:U.opticalAttenuation,"onUpdate:modelValue":l[2]||(l[2]=e=>U.opticalAttenuation=e),placeholder:"请输入光衰信息",disabled:!c(N).isPermission},null,8,["modelValue","disabled"])])),_:1}),i(k,{class:"section"},{default:o((()=>[i(r,{class:"section-title"},{default:o((()=>[u("历史障碍记录")])),_:1}),i(k,{class:"fault-list"},{default:o((()=>[(t(!0),y(g,null,h(U.historyFault,((e,a)=>(t(),s(k,{class:"fault-item",key:a},{default:o((()=>[i(k,{class:"fault-row"},{default:o((()=>[i(T,{mode:"date",value:e.faultTime?e.faultTime.substring(0,10):"",disabled:!c(N).isPermission,onChange:e=>function(e,a){U.historyFault[a].faultTime=e.detail.value}(e,a)},{default:o((()=>[i(k,{class:"date-picker"},{default:o((()=>[i(r,{class:b(e.faultTime?"date-text":"date-placeholder")},{default:o((()=>[u(n(e.faultTime||"选择日期"),1)])),_:2},1032,["class"])])),_:2},1024)])),_:2},1032,["value","disabled","onChange"]),i(w,{class:"fault-reason-input",modelValue:e.faultReason,"onUpdate:modelValue":a=>e.faultReason=a,placeholder:"故障原因",disabled:!c(N).isPermission},null,8,["modelValue","onUpdate:modelValue","disabled"]),c(N).isPermission?(t(),s(k,{key:0,class:"delete-btn",onClick:e=>function(e){U.historyFault.splice(e,1)}(a)},{default:o((()=>[i(r,{class:"delete-btn-text"},{default:o((()=>[u("-")])),_:1})])),_:2},1032,["onClick"])):d("",!0)])),_:2},1024)])),_:2},1024)))),128))])),_:1}),c(N).isPermission?(t(),s(k,{key:0,class:"add-record-link",onClick:A},{default:o((()=>[i(r,{class:"add-record-text"},{default:o((()=>[u("添加新记录")])),_:1})])),_:1})):d("",!0)])),_:1}),i(k,{class:"section"},{default:o((()=>[i(r,{class:"section-title"},{default:o((()=>[u("光缆段信息")])),_:1}),i(w,{class:"form-input",modelValue:U.opticalCableOffRemarks,"onUpdate:modelValue":l[3]||(l[3]=e=>U.opticalCableOffRemarks=e),placeholder:"请输入光缆段信息",disabled:!c(N).isPermission},null,8,["modelValue","disabled"])])),_:1}),c(N).isPermission?(t(),s(k,{key:0,class:"section"},{default:o((()=>[i(r,{class:"section-title"},{default:o((()=>[u("改变状态")])),_:1}),i(k,{class:"status-toggle-row"},{default:o((()=>[i(k,{class:b(["toggle-btn toggle-green",{"toggle-active":1===U.status}]),onClick:l[4]||(l[4]=e=>L(1))},{default:o((()=>[i(r,{class:"toggle-text"},{default:o((()=>[u("连接")])),_:1})])),_:1},8,["class"]),i(k,{class:b(["toggle-btn toggle-red",{"toggle-active":0===U.status}]),onClick:l[5]||(l[5]=e=>L(0))},{default:o((()=>[i(r,{class:"toggle-text"},{default:o((()=>[u("断开")])),_:1})])),_:1},8,["class"])])),_:1}),i(r,{class:"hint-text"},{default:o((()=>[u("断开后只清空备注说明,其他内容不影响")])),_:1})])),_:1})):d("",!0)])),_:1})),V.value?d("",!0):(t(),s(k,{key:2,class:"btn-row"},{default:o((()=>[c(N).isPermission?(t(),y(g,{key:0},[i(k,{class:"btn btn-cancel",onClick:$},{default:o((()=>[i(r,{class:"btn-text"},{default:o((()=>[u("取消")])),_:1})])),_:1}),i(k,{class:"btn btn-submit",onClick:H},{default:o((()=>[i(r,{class:"btn-text-white"},{default:o((()=>[u("提交")])),_:1})])),_:1})],64)):(t(),s(k,{key:1,class:"btn btn-cancel btn-full",onClick:$},{default:o((()=>[i(r,{class:"btn-text"},{default:o((()=>[u("关闭")])),_:1})])),_:1}))])),_:1}))])),_:1}),i(j,{visible:F.value,onClose:l[6]||(l[6]=e=>F.value=!1),onConfirm:B},null,8,["visible"])])),_:1})):d("",!0)}}},[["__scopeId","data-v-ca192dd4"]]),$=A({__name:"index",setup(a){const l=R().statusBarHeight||0,d=e(""),r=e(""),p=e(""),_=e(0),k=e([]),C=e(!1),x=e(!1),O=e("");let P="";async function N(){C.value=!0;try{const e=await L(d.value);200===e.code&&e.data&&(k.value=e.data)}finally{C.value=!1,P&&(O.value=P,x.value=!0,P="")}}function A(){T()}function j(e){O.value=e.id,x.value=!0}function $(){x.value=!1,N()}return U((e=>{e.rackId&&(d.value=e.rackId),e.rackName&&(r.value=decodeURIComponent(e.rackName)),e.roomName&&(p.value=decodeURIComponent(e.roomName)),e.rackType&&(_.value=parseInt(e.rackType)),e.portId&&(P=e.portId),N()})),(e,a)=>{const d=V,R=f,T=m,U=v;return t(),s(T,{class:"rack-detail-page"},{default:o((()=>[i(d,{class:"bg-image",src:F,mode:"aspectFill"}),i(T,{class:"content"},{default:o((()=>[i(T,{class:"nav-bar",style:w({paddingTop:c(l)+"px"})},{default:o((()=>[i(T,{class:"nav-bar-inner"},{default:o((()=>[i(d,{class:"nav-icon",src:I,mode:"aspectFit",onClick:A}),i(R,{class:"nav-title"},{default:o((()=>[u(n(r.value)+"详情",1)])),_:1}),i(T,{class:"nav-icon-placeholder"})])),_:1})])),_:1},8,["style"]),i(T,{class:"room-name-bar"},{default:o((()=>[i(R,{class:"room-name-text"},{default:o((()=>[u(n(p.value),1)])),_:1}),i(R,{class:"rack-type-text"},{default:o((()=>[u("类型:"+n(1===_.value?"光交箱":"ODF"),1)])),_:1})])),_:1}),i(T,{class:"legend-bar"},{default:o((()=>[i(T,{class:"legend-item"},{default:o((()=>[i(T,{class:"legend-dot legend-dot-green"}),i(R,{class:"legend-label"},{default:o((()=>[u("已连接")])),_:1})])),_:1}),i(T,{class:"legend-item"},{default:o((()=>[i(T,{class:"legend-dot legend-dot-red"}),i(R,{class:"legend-label"},{default:o((()=>[u("已断开")])),_:1})])),_:1})])),_:1}),C.value?(t(),s(T,{key:0,class:"loading-box"},{default:o((()=>[i(R,{class:"loading-text"},{default:o((()=>[u("loading...")])),_:1})])),_:1})):(t(),s(T,{key:1,class:"frame-list"},{default:o((()=>[(t(!0),y(g,null,h(k.value,(e=>(t(),s(T,{class:"frame-card",key:e.id},{default:o((()=>[i(R,{class:"frame-name"},{default:o((()=>[u(n(e.name),1)])),_:2},1024),1===_.value?(t(),s(U,{key:0,class:"port-scroll","scroll-x":""},{default:o((()=>[i(T,{class:"optical-box-wrapper"},{default:o((()=>[i(T,{class:"optical-left-col"},{default:o((()=>[i(T,{class:"optical-col-header"},{default:o((()=>[i(R,{class:"optical-col-title"},{default:o((()=>[u("光交箱端子")])),_:1})])),_:1}),(t(!0),y(g,null,h(e.odfPortsList,((e,a)=>(t(),s(T,{class:"optical-port-row",key:"left-"+a},{default:o((()=>[i(R,{class:"optical-row-name"},{default:o((()=>[u(n(a+1),1)])),_:2},1024),i(T,{class:"port-list"},{default:o((()=>[(t(!0),y(g,null,h(e.rowList,((e,l)=>(t(),s(T,{class:"port-item",key:"lp-"+e.id,onClick:a=>j(e)},{default:o((()=>[i(T,{class:b(["port-circle",1===e.status?"port-green":"port-red"])},{default:o((()=>[i(R,{class:"port-tips"},{default:o((()=>[u(n(e.tips),1)])),_:2},1024)])),_:2},1032,["class"]),i(R,{class:"port-name"},{default:o((()=>{return[u(n((e=a,t=l,`${String.fromCharCode(65+e)}-${t+1}`)),1)];var e,t})),_:2},1024)])),_:2},1032,["onClick"])))),128))])),_:2},1024)])),_:2},1024)))),128))])),_:2},1024),i(T,{class:"optical-divider"}),i(T,{class:"optical-right-col"},{default:o((()=>[i(T,{class:"optical-col-header"},{default:o((()=>[i(R,{class:"optical-col-title"},{default:o((()=>[u("ODF端子")])),_:1})])),_:1}),(t(!0),y(g,null,h(e.odfPortsList,((e,a)=>(t(),s(T,{class:"optical-port-row",key:"right-"+a},{default:o((()=>[i(R,{class:"optical-row-name"},{default:o((()=>[u(n(a+1),1)])),_:2},1024),i(T,{class:"port-list"},{default:o((()=>[(t(!0),y(g,null,h(e.rowList,((e,l)=>(t(),s(T,{class:"port-item",key:"rp-"+e.id,onClick:a=>j(e)},{default:o((()=>[i(T,{class:b(["port-circle",1===e.status?"port-green":"port-red"])},{default:o((()=>[i(R,{class:"port-tips"},{default:o((()=>[u(n(e.tips),1)])),_:2},1024)])),_:2},1032,["class"]),i(R,{class:"port-name"},{default:o((()=>{return[u(n((e=a,t=l,`${e+1}-${t+1}`)),1)];var e,t})),_:2},1024)])),_:2},1032,["onClick"])))),128))])),_:2},1024)])),_:2},1024)))),128))])),_:2},1024)])),_:2},1024)])),_:2},1024)):(t(),s(U,{key:1,class:"port-scroll","scroll-x":""},{default:o((()=>[i(T,{class:"port-rows-wrapper"},{default:o((()=>[(t(!0),y(g,null,h(e.odfPortsList,((e,a)=>(t(),s(T,{class:"port-row",key:a},{default:o((()=>[i(R,{class:"row-name"},{default:o((()=>[u(n(e.name),1)])),_:2},1024),i(T,{class:"port-list"},{default:o((()=>[(t(!0),y(g,null,h(e.rowList,(e=>(t(),s(T,{class:"port-item",key:e.id,onClick:a=>j(e)},{default:o((()=>[i(T,{class:b(["port-circle",1===e.status?"port-green":"port-red"])},{default:o((()=>[i(R,{class:"port-tips"},{default:o((()=>[u(n(e.tips),1)])),_:2},1024)])),_:2},1032,["class"]),i(R,{class:"port-name"},{default:o((()=>[u(n(e.name),1)])),_:2},1024)])),_:2},1032,["onClick"])))),128))])),_:2},1024)])),_:2},1024)))),128))])),_:2},1024)])),_:2},1024))])),_:2},1024)))),128))])),_:1}))])),_:1}),i(B,{visible:x.value,portId:O.value,onClose:a[0]||(a[0]=e=>x.value=!1),onSaved:$},null,8,["visible","portId"])])),_:1})}}},[["__scopeId","data-v-0dd14690"]]);export{$ as default};
|