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