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