import{F as D,M as v,r as X,av as Z,Y as ee,I as te,aw as oe,n as se,_ as ie,aH as ae,aG as le,W as re}from"./index.17037962789732.js";import"./index.170379627897337.js";import"./index.170379627897315.js";import"./index.170379627897318.js";import"./index.170379627897319.js";import"./index.170379627897314.js";import"./index.1703796278973311.js";import"./default.1703796278973.js";import"./index.17037962789737.js";import"./index.170379627897326.js";import"./index.170379627897316.js";import"./index.170379627897317.js";import"./index.170379627897327.js";import{l as ne,n as de,o as ce,p as pe}from"./product.17037962789737.js";import{a as u,f as ue}from"./comm.1703796278973.js";import me from"./index.1703796278973154.js";import{u as fe}from"./product.17037962789738.js";import{a as _e}from"./regular.1703796278973.js";import{e as ve}from"./encodeQuery.1703796278973.js";import{d as ge,k as r,v as I,r as S,o as ye,x as be,b as i,a as l,z as g,u as s,A as he,y as Ie,M as xe,F as je,G as Te,H as we}from"./vue.1703796278973.js";import{_ as Ue}from"./_plugin-vue_export-helper.1703796278973.js";import"./index.17037962789733.js";import"./dayjs.min.1703796278973.js";import"./isArray.1703796278973.js";import"./editor.api.1703796278973.js";import"./preload-helper.1703796278973.js";import"./monaco.contribution.1703796278973.js";import"./system.1703796278973.js";import"./index.170379627897332.js";import"./index.170379627897333.js";import"./index.170379627897334.js";import"./permission.1703796278973.js";import"./consts.1703796278973.js";import"./404.1703796278973.js";const k=p=>(Te("data-v-58bd0800"),p=p(),we(),p),Ne={style:{"margin-top":"10px"}},Pe=k(()=>g("span",null,"ID",-1)),Ce=k(()=>g("template",null,null,-1)),De=ge({__name:"index",props:{title:{type:String,defult:""},isAdd:{type:Number,default:0}},emits:["success"],setup(p,{expose:A,emit:x}){const d=p,y=fe(),R=r(!1),j=r(),m=r([]),n=r(!1),T=r(),b=r(!1),F=D.useForm,V=r("/images/device-product.png"),h=I(["image/jpeg","image/png","image/jpg","image/jfif","image/pjp","image/pjpeg"]),L=r([{label:"直连设备",value:"device",iconUrl:u("/device-type-1.png"),tooltip:"直连物联网平台的设备"},{label:"网关子设备",value:"childrenDevice",iconUrl:u("/device-type-2.png"),tooltip:"能挂载子设备与平台进行通信的设备"},{label:"网关设备",value:"gateway",iconUrl:u("/device/device-type-3.png"),tooltip:"作为网关的子设备,有网关代理连接到物联网平台"}]),e=I({id:void 0,name:"",classifiedId:void 0,classifiedName:"",deviceType:"",describe:void 0,photoUrl:u("/device/instance/device-card.png")}),w=I({id:[{validator:async(o,t)=>{if(t)if(console.log(t.split("").length),_e(t)){if(d.isAdd===1){const f=await ne(t);return f.status===200&&f.result?Promise.reject("ID重复"):Promise.resolve()}}else return Promise.reject("请输入英文或者数字或者-或者_");else return Promise.resolve()},trigger:"blur"},{max:64,message:"最多可输入64位字符",trigger:"change"}],name:[{required:!0,message:"请输入名称",trigger:"blur"},{max:64,message:"最多可输入64位字符",trigger:"change"}],deviceType:[{required:!0,validator:async(o,t)=>t?Promise.resolve():Promise.reject("请选择设备类型"),trigger:"blur"}],description:[{max:200,message:"最多可输入200位字符",trigger:"blur"}]}),q=(o,t)=>{e.classifiedName=t[0]},J=async()=>{de(ve({sorts:{sortIndex:"asc"}})).then(o=>{o.status===200&&(m.value=o.result,m.value=U(m.value))})},U=o=>o.map(t=>(t.key=t.id,t.children&&(t.children=U(t.children)),t)),M=o=>{d.isAdd===2?(y.refresh(o.id),e.name=o.name,e.classifiedId=o.classifiedId,e.classifiedName=o.classifiedName,e.photoUrl=o.photoUrl||V.value,e.deviceType=o.deviceType.value,e.describe=e.describe,e.id=o.id,b.value=!0):d.isAdd===1&&(y.reSet(),e.name="",e.classifiedId=void 0,e.classifiedName="",e.photoUrl=u("/device/instance/device-card.png"),e.deviceType="",e.describe=void 0,e.id=void 0,b.value=!1),n.value=!0},B=()=>{n.value=!1};F(e,w);const O=()=>{T.value.validate().then(async()=>{if(d.isAdd===1){e.id===""&&(e.id=void 0);const o=await ce(e);o.status===200?(v.success("保存成功!"),n.value=!1,x("success"),j.value.show(o.result.id)):v.error("操作失败")}else d.isAdd===2&&(e.classifiedId?e.classifiedId:e.classifiedId="",e.classifiedName?e.classifiedName:e.classifiedName="",(await pe(e)).status===200?(v.success("保存成功!"),x("success"),n.value=!1):v.error("操作失败"))}).catch(o=>{})};J();const Q=o=>{e.deviceType=o[0]};return A({show:M}),(o,t)=>{const f=S("j-pro-upload"),c=X,N=Z,P=S("AIcon"),z=ee,C=te,G=oe,H=se,E=ie,W=ae,Y=le,$=D,K=re;return ye(),be(je,null,[i(K,Ie({title:d.title,maskClosable:!1,"destroy-on-close":"",visible:s(n),"onUpdate:visible":t[5]||(t[5]=a=>xe(n)?n.value=a:null),onOk:O,onCancel:B,okText:"确定",cancelText:"取消"},o.layout,{width:"650px",confirmLoading:s(R)}),{default:l(()=>[g("div",Ne,[i($,{layout:"vertical",model:s(e),rules:s(w),ref_key:"formRef",ref:T},{default:l(()=>[i(G,{type:"flex"},{default:l(()=>[i(N,{flex:"180px"},{default:l(()=>[i(c,{name:"photoUrl"},{default:l(()=>[i(f,{modelValue:s(e).photoUrl,"onUpdate:modelValue":t[0]||(t[0]=a=>s(e).photoUrl=a),accept:s(h)&&s(h).length?s(h).toString():""},null,8,["modelValue","accept"])]),_:1})]),_:1}),i(N,{flex:"auto"},{default:l(()=>[i(c,{name:"id"},{label:l(()=>[Pe,i(z,{title:"若不填写,系统将自动生成唯一ID"},{default:l(()=>[i(P,{type:"QuestionCircleOutlined",style:{"margin-left":"2px"}})]),_:1})]),default:l(()=>[i(C,{value:s(e).id,"onUpdate:value":t[1]||(t[1]=a=>s(e).id=a),placeholder:"请输入ID",disabled:s(b)},null,8,["value","disabled"])]),_:1}),i(c,{label:"名称",name:"name"},{default:l(()=>[i(C,{value:s(e).name,"onUpdate:value":t[2]||(t[2]=a=>s(e).name=a),placeholder:"请输入名称"},null,8,["value"])]),_:1})]),_:1})]),_:1}),i(c,{label:"产品分类",name:"classifiedId"},{default:l(()=>[i(H,{showSearch:"",value:s(e).classifiedId,"onUpdate:value":t[3]||(t[3]=a=>s(e).classifiedId=a),placeholder:"请选择产品分类","tree-data":s(m),onChange:q,"allow-clear":"",fieldNames:{label:"name",value:"id",children:"children"},filterTreeNode:(a,_)=>s(ue)(a,_)},{default:l(()=>[Ce]),_:1},8,["value","tree-data","filterTreeNode"])]),_:1}),i(c,{label:"设备类型",name:"deviceType"},{default:l(()=>{var a;return[i(W,{value:s(e).deviceType,options:s(L),onChange:Q,disabled:!!((a=s(y).detail)!=null&&a.accessId)},{title:l(_=>[g("span",null,he(_.title),1),i(E,{title:_.option.tooltip},{default:l(()=>[i(P,{type:"QuestionCircleOutlined",style:{"margin-left":"2px"}})]),_:2},1032,["title"])]),_:1},8,["value","options","disabled"])]}),_:1}),i(c,{label:"说明",name:"description"},{default:l(()=>[i(Y,{maxlength:200,showCount:"","auto-size":{minRows:4,maxRows:5},value:s(e).describe,"onUpdate:value":t[4]||(t[4]=a=>s(e).describe=a),placeholder:"请输入说明"},null,8,["value"])]),_:1})]),_:1},8,["model","rules"])])]),_:1},16,["title","visible","confirmLoading"]),i(me,{ref_key:"dialogRef",ref:j},null,512)],64)}}});const mt=Ue(De,[["__scopeId","data-v-58bd0800"]]);export{mt as default};