formContent.DcKZEpNQ.js 12 KB

1
  1. import{G as Ve,s as he,D as ee,U as Ue}from"./api.CDRLb09v.js";import{d as L}from"./dictionary.DNabadXZ.js";import{C as S,S as xe,U as we,Y as Ce,Z as Oe,s as Re,$ as I}from"./index.BeMCodxT.js";import{a as Se,_ as le,r as b,i as je,w as Ae,aj as p,c as k,o as i,S as r,K as n,P as y,R as W,a9 as z,J as c,Q as O,b as v,M as Ie,u as s,y as $,t as We}from"./vue.D1BjjNmv.js";import{_ as ze}from"./_plugin-vue_export-helper.DlAUqK2U.js";const Te={key:1},De={slot:"prepend"},Ne={style:{padding:"0px 5px"}},Le={key:1},$e={style:{"text-align":"right",margin:"0"}},Be=["src"],Je=Se({__name:"formContent",props:["options","editableTabsItem"],setup(T){const B=T;let d=le({}),g=b([]);b([]);let x=b(!1);const te=le({title:[{required:!0,message:"必须填写"}],key:[{required:!0,message:"必须填写"}],value:[{required:!0,message:"必须填写"}]}),J=b();let M=b(S()+"api/system/file/"),E=b({Authorization:"JWT "+xe.get("token")}),q=b(""),R=b(!1);b(null);const oe=(a,l)=>{if(!a)return[];if(["img","imgs"].indexOf(l)>-1){if(Array.isArray(a))return a.map(o=>{if(typeof o=="string"){const u=o.startsWith("http")?o:S()+o.replace(/^\//,"");return{name:o.split("/").pop()||"image",url:u}}else if(o&&typeof o=="object"&&o.url)return{name:o.name||o.url.split("/").pop()||"image",url:o.url.startsWith("http")?o.url:S()+o.url.replace(/^\//,""),uid:o.uid||Date.now()+Math.random()};return o});if(typeof a=="string"){const o=a.startsWith("http")?a:S()+a.replace(/^\//,"");return[{name:a.split("/").pop()||"image",url:o}]}}return a},ae=()=>{Ve({parent:B.options.id,limit:999}).then(a=>{let l=a.data;g.value=l;const o={};for(const u of l){const _=u.key;u.value?["img","imgs"].indexOf(u.form_item_type_label)>-1?o[_]=oe(u.value,u.form_item_type_label):o[_]=u.value:[5,12,14].indexOf(u.form_item_type)!==-1?o[_]=[]:o[_]=u.value,u.form_item_type_label==="array"&&(console.log("test"),We(()=>{const V=b();console.log(V)}))}d=Object.assign(d,o)})},ne=a=>{const l=Object.keys(d),o=Object.values(d);for(const u in g.value){const _=g.value[u];_.form_item_type_label==="array"&&(_.id,""+_.key),l.map((w,C)=>{w===_.key&&(_.form_item_type_label!=="array"&&(_.value=o[C]),["img","imgs"].indexOf(_.form_item_type_label)>-1)})}a&&a.validate(u=>{u?he(g.value).then(_=>{Re("保存成功"),j&&j()}):console.log("error submit!!")})},re=a=>{},se=(a,l,o)=>{console.log(a,l),a.id&&ee(a.id).then(u=>{})},P=a=>{var l,o;q.value=a.url||((o=(l=a.response)==null?void 0:l.data)==null?void 0:o.url)||"",R.value=!0},de=a=>{if(typeof a!="string")return;const l=a.toLowerCase();return l.endsWith(".png")||l.endsWith(".jpeg")||l.endsWith(".jpg")||l.endsWith(".png")||l.endsWith(".bmp")},F=(a,l,o,u)=>{const{code:_,msg:V}=a;if(_===2e3){const{url:w}=a.data,{name:C}=l;if(!de(C))I("只允许上传图片");else{(!d[u]||!Array.isArray(d[u]))&&(d[u]=[]);const D={name:C,url:w.startsWith("http")?w:S()+w.replace(/^\//,""),uid:l.uid||Date.now()+Math.random()};d[u].push(D)}}else I("上传失败,"+JSON.stringify(V))},G=()=>{I("上传失败")},H=()=>{I("超过文件上传数量")},Q=(a,l,o)=>{var u=0;d[o]&&Array.isArray(d[o])&&(d[o].map((_,V)=>{_.uid===a.uid&&(u=V)}),d[o].splice(u,1))},ue=a=>{ee(a.id).then(l=>{})},ie=a=>{g.value[a].edit=!0,g.value[a].new_key=g.value[a].key},j=je("refreshView"),pe=a=>{a.key=JSON.parse(JSON.stringify(a.new_key)),Ue(a).then(l=>{j&&j()})};return Ae(B.options,a=>{a&&a.id&&ae()},{immediate:!0}),(a,l)=>{const o=p("el-col"),u=p("el-row"),_=p("el-input"),V=p("el-input-number"),w=p("el-date-picker"),C=p("el-option"),Y=p("el-select"),D=p("el-checkbox"),_e=p("el-checkbox-group"),fe=p("el-radio"),ce=p("el-radio-group"),Z=p("el-switch"),X=p("el-upload"),me=p("table-selector"),N=p("vxe-input"),A=p("vxe-column"),h=p("el-button"),ye=p("el-popover"),ke=p("vxe-table"),be=p("el-popconfirm"),K=p("el-form-item"),ve=p("el-form"),ge=p("el-dialog");return i(),k("div",null,[r(u,{gutter:20},{default:n(()=>[r(o,{span:4},{default:n(()=>l[4]||(l[4]=[y("变量标题")])),_:1}),r(o,{span:4},{default:n(()=>l[5]||(l[5]=[y("变量名")])),_:1}),r(o,{span:10},{default:n(()=>l[6]||(l[6]=[y("变量值")])),_:1}),r(o,{span:2,offset:1},{default:n(()=>l[7]||(l[7]=[y("是否前端配置")])),_:1}),r(o,{span:3},{default:n(()=>l[8]||(l[8]=[y("操作")])),_:1})]),_:1}),r(ve,{ref_key:"formRef",ref:J,model:s(d),"label-width":"0px","label-position":"left",style:{"margin-top":"20px"}},{default:n(()=>[(i(!0),k(W,null,z(s(g),(e,m)=>(i(),c(K,{prop:["array"].indexOf(e.form_item_type_label)>-1?"":e.key,key:m,rules:e.rule||[]},{default:n(()=>[r(o,{span:4},{default:n(()=>[e.edit?(i(),c(_,{key:0,modelValue:e.title,"onUpdate:modelValue":t=>e.title=t,style:{display:"inline-block",width:"200px"},placeholder:"请输入标题"},null,8,["modelValue","onUpdate:modelValue"])):(i(),k("span",Te,O(e.title),1))]),_:2},1024),r(o,{span:4},{default:n(()=>[e.edit?(i(),c(_,{key:0,modelValue:e.new_key,"onUpdate:modelValue":t=>e.new_key=t,style:{width:"200px"},placeholder:"请输入变量key"},{default:n(()=>[v("template",De,[v("span",Ne,O(T.editableTabsItem.key),1)])]),_:2},1032,["modelValue","onUpdate:modelValue"])):(i(),k("span",Le,O(T.editableTabsItem.key)+"."+O(e.key),1))]),_:2},1024),r(o,{span:10},{default:n(()=>[["text","textarea"].indexOf(e.form_item_type_label)>-1?(i(),c(_,{key:m,type:e.form_item_type_label,modelValue:s(d)[e.key],"onUpdate:modelValue":t=>s(d)[e.key]=t,placeholder:e.placeholder,clearable:""},null,8,["type","modelValue","onUpdate:modelValue","placeholder"])):e.form_item_type_label==="number"?(i(),c(V,{key:m+1,modelValue:s(d)[e.key],"onUpdate:modelValue":t=>s(d)[e.key]=t,min:0},null,8,["modelValue","onUpdate:modelValue"])):["datetime","date","time"].indexOf(e.form_item_type_label)>-1?(i(),c(w,{modelValue:s(d)[e.key],"onUpdate:modelValue":t=>s(d)[e.key]=t,key:m+2,type:e.form_item_type_label,placeholder:e.placeholder},null,8,["modelValue","onUpdate:modelValue","type","placeholder"])):e.form_item_type_label==="select"?(i(),c(Y,{key:m+3,modelValue:s(d)[e.key],"onUpdate:modelValue":t=>s(d)[e.key]=t,placeholder:e.placeholder,clearable:""},{default:n(()=>[(i(!0),k(W,null,z(s(L)(e.setting)||[],t=>(i(),c(C,{key:t.value,label:t.label,value:t.value},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue","placeholder"])):e.form_item_type_label==="checkbox"?(i(),c(_e,{key:m+4,modelValue:s(d)[e.key],"onUpdate:modelValue":t=>s(d)[e.key]=t,placeholder:e.placeholder},{default:n(()=>[(i(!0),k(W,null,z(s(L)(e.setting)||[],t=>(i(),c(D,{key:t.value,label:t.value,value:t.value},{default:n(()=>[y(O(t.label),1)]),_:2},1032,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue","placeholder"])):e.form_item_type_label==="radio"?(i(),c(ce,{key:m+5,modelValue:s(d)[e.key],"onUpdate:modelValue":t=>s(d)[e.key]=t,placeholder:e.placeholder,clearable:""},{default:n(()=>[(i(!0),k(W,null,z(s(L)(e.setting)||[],t=>(i(),c(fe,{key:t.value,label:t.value,value:t.value},{default:n(()=>[y(O(t.label),1)]),_:2},1032,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue","placeholder"])):e.form_item_type_label==="switch"?(i(),c(Z,{key:m+6,modelValue:s(d)[e.key],"onUpdate:modelValue":t=>s(d)[e.key]=t,"inactive-value":!1,"active-color":"#13ce66","inactive-color":"#ff4949"},null,8,["modelValue","onUpdate:modelValue"])):["img","imgs"].indexOf(e.form_item_type_label)>-1?(i(),k("div",{key:m+7},[r(X,{action:s(M),headers:s(E),name:"file",accept:"image/*","on-preview":P,"on-success":(t,f,U)=>{F(t,f,U,e.key)},"on-error":G,"on-exceed":H,"before-remove":(t,f)=>{Q(t,f,e.key)},multiple:e.form_item_type_label!=="img",limit:e.form_item_type_label==="img"?1:5,ref_for:!0,ref:"imgUpload_"+e.key,"data-keyname":e.key,"file-list":s(d)[e.key]&&Array.isArray(s(d)[e.key])?s(d)[e.key]:[],"list-type":"picture-card"},{default:n(()=>l[9]||(l[9]=[v("i",{class:"el-icon-plus"},null,-1),v("div",{slot:"tip",class:"el-upload__tip"},"请选取图片,并且只能上传jpg/png文件",-1)])),_:2},1032,["action","headers","on-success","before-remove","multiple","limit","data-keyname","file-list"])])):["file"].indexOf(e.form_item_type_label)>-1?(i(),k("div",{key:m+8},[r(X,{action:s(M),headers:s(E),name:"file","on-preview":P,"on-success":(t,f,U)=>{F(t,f,U,e.key)},"on-error":G,"on-exceed":H,"before-remove":(t,f)=>{Q(t,f,e.key)},limit:5,ref_for:!0,ref:"fileUpload_"+e.key,"data-keyname":e.key,"file-list":e.value,"list-type":"picture-card"},{default:n(()=>l[10]||(l[10]=[v("i",{class:"el-icon-plus"},null,-1),v("div",{slot:"tip",class:"el-upload__tip"},"请选取图片,并且只能上传jpg/png文件",-1)])),_:2},1032,["action","headers","on-success","before-remove","data-keyname","file-list"])])):["foreignkey","manytomany"].indexOf(e.form_item_type_label)>-1?(i(),k("div",{key:m+9},[r(me,{modelValue:s(d)[e.key],"onUpdate:modelValue":t=>s(d)[e.key]=t,"el-props":{pagination:!0,columns:e.setting.searchField},dict:{url:"/api/system/system_config/get_table_data/"+e.id+"/",value:e.setting.primarykey,label:e.setting.field},pagination:!0,multiple:e.form_item_type_label==="manytomany"},null,8,["modelValue","onUpdate:modelValue","el-props","dict","multiple"])])):e.form_item_type_label==="array"?(i(),k("div",{key:m+10},[r(ke,{border:"",resizable:"","auto-resize":"","show-overflow":"","keep-source":"",ref_for:!0,ref:"xTable_"+e.key,height:"200","edit-rules":te,"edit-config":{trigger:"click",mode:"row",showStatus:!0}},{default:n(()=>[r(A,{field:"title",title:"标题","edit-render":{autofocus:".vxe-input--inner"}},{edit:n(({row:t})=>[r(N,{modelValue:t.title,"onUpdate:modelValue":f=>t.title=f,type:"text"},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),r(A,{field:"key",title:"键名","edit-render":{autofocus:".vxe-input--inner"}},{edit:n(({row:t})=>[r(N,{modelValue:t.key,"onUpdate:modelValue":f=>t.key=f,type:"text"},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),r(A,{field:"value",title:"键值","edit-render":{}},{edit:n(({row:t})=>[r(N,{modelValue:t.value,"onUpdate:modelValue":f=>t.value=f,type:"text"},null,8,["modelValue","onUpdate:modelValue"])]),_:1}),r(A,{title:"操作",width:"100","show-overflow":""},{default:n(({row:t,index:f})=>[r(ye,{placement:"top",width:"160",modelValue:s(x),"onUpdate:modelValue":l[1]||(l[1]=U=>$(x)?x.value=U:x=U)},{default:n(()=>[l[14]||(l[14]=v("p",null,"删除后无法恢复,确定删除吗?",-1)),v("div",$e,[r(h,{size:"mini",type:"text",onClick:l[0]||(l[0]=U=>$(x)?x.value=!1:x=!1)},{default:n(()=>l[11]||(l[11]=[y("取消")])),_:1}),r(h,{type:"primary",size:"mini",onClick:U=>se(t,f,e.key)},{default:n(()=>l[12]||(l[12]=[y("确定")])),_:2},1032,["onClick"])]),r(h,{type:"text",slot:"reference"},{default:n(()=>l[13]||(l[13]=[y("删除")])),_:1})]),_:2},1032,["modelValue"])]),_:2},1024)]),_:2},1032,["edit-rules"]),v("div",null,[r(h,{size:"mini",onClick:t=>re("xTable_"+e.key)},{default:n(()=>l[15]||(l[15]=[y("追加")])),_:2},1032,["onClick"])])])):Ie("",!0)]),_:2},1024),r(o,{span:2,offset:1},{default:n(()=>[r(Z,{modelValue:e.status,"onUpdate:modelValue":t=>e.status=t,"active-color":"#13ce66","inactive-color":"#ff4949"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1024),r(o,{span:3},{default:n(()=>[e.edit?(i(),c(h,{key:0,size:"mini",type:"primary",icon:s(we),onClick:t=>pe(e)},{default:n(()=>l[16]||(l[16]=[y("保存")])),_:2},1032,["icon","onClick"])):(i(),c(h,{key:1,size:"mini",type:"primary",icon:s(Ce),onClick:t=>ie(m)},null,8,["icon","onClick"])),r(be,{title:"确定删除该条数据吗?",onConfirm:t=>ue(e)},{reference:n(()=>[r(h,{size:"mini",type:"danger",icon:s(Oe)},null,8,["icon"])]),_:2},1032,["onConfirm"])]),_:2},1024)]),_:2},1032,["prop","rules"]))),128)),r(K,null,{default:n(()=>[r(h,{type:"primary",onClick:l[2]||(l[2]=e=>ne(J.value))},{default:n(()=>l[17]||(l[17]=[y("确定")])),_:1})]),_:1})]),_:1},8,["model"]),r(ge,{modelValue:s(R),"onUpdate:modelValue":l[3]||(l[3]=e=>$(R)?R.value=e:R=e),title:"图片预览",width:"80%"},{default:n(()=>[v("img",{width:"100%",src:s(q),alt:""},null,8,Be)]),_:1},8,["modelValue"])])}}}),Ge=ze(Je,[["__scopeId","data-v-1d3a93a5"]]);export{Ge as default};