import{y as t,Z as i,b as s,n as e,C as o,$ as a,v as r,c as n,w as m,x as d,i as l,o as h,d as f,e as u,t as p,Y as c}from"./index-SkMwYp4A.js";import{_ as y}from"./index.DpQ3ENA7.js";import{r as b}from"./uni-app.es.CLg-FFkP.js";import{_ as g}from"./u-button.jt1ETu3V.js";import{b as j,g as I,u as D,c as _}from"./visualDev.DpHqb5fs.js";import{_ as w}from"./_plugin-vue_export-helper.BCo6x5W8.js";import"./index.BQ4Q40-J.js";import"./u-loading.eM3Fv-8t.js";import"./u-popup.BNAuGnsz.js";import"./u-icon.B_i_-WON.js";import"./u-line.KDpy2xUL.js";import"./u-input.Di9R83OG.js";import"./emitter.DrjJCwnj.js";import"./u-upload.BTsFmrIZ.js";import"./uni-icons.DmXNHBqU.js";import"./MultSelect.DDi9kJC2.js";import"./u-search.CxG-eagL.js";import"./u-checkbox-group.BadOOTm2.js";import"./u-radio-group.A0W220Xz.js";import"./resources.DipqUmnN.js";import"./mp-html.DzaI2vdm.js";import"./u-form.Bln2oe40.js";import"./u-tabs.ulqF34S4.js";import"./u-badge.BSIGIQXo.js";import"./index.BL6MjNPH.js";import"./index.D0kAVF1h.js";import"./u-tag.lH2Rbofe.js";import"./ly-tree.2iZbZvcn.js";import"./ly-checkbox.CfEEjYT5.js";import"./index.CgRY1hWt.js";import"./index.C3181hrr.js";import"./index.C03_XWvX.js";import"./base.Ojmbfs5I.js";import"./index.CLjSZOq8.js";import"./u-avatar.hpQ7hPO7.js";import"./index.BUa-nzhR.js";import"./u-action-sheet.Cav0ix_6.js";const F=w({data:()=>({webType:"",showPage:!1,btnLoading:!1,loading:!0,isPreview:"0",modelId:"",formConf:{},formData:{},dataForm:{id:"",data:""},btnType:"",formPermissionList:{},formList:[],key:+new Date,config:{},clickType:"submit",prevDis:!1,nextDis:!1,index:0,userInfo:{},isAdd:!1}),onLoad(s){this.userInfo=t("userInfo")||{},this.config=JSON.parse(this.jnpf.base64.decode(s.config)),this.index=this.config.index,this.formPermissionList=this.config.currentMenu?JSON.parse(decodeURIComponent(this.config.currentMenu)):[],this.formList=this.formPermissionList.formList,this.btnType=this.config.btnType||"",this.modelId=this.config.modelId,this.isPreview=this.config.isPreview||"0",this.dataForm.id=this.config.id||"",i({title:this.dataForm.id?"编辑":"新建"}),this.getConfigData()},methods:{getConfigData(){j(this.modelId).then((t=>{200===t.code&&t.data?(this.formConf=t.data.formData?JSON.parse(t.data.formData):{},this.showPage=!0,this.initData()):s({title:"暂无此页面",icon:"none",complete:()=>{setTimeout((()=>{e()}),1500)}})}))},initData(){this.$nextTick((()=>{if(this.dataForm.id){let t={modelId:this.modelId,id:this.dataForm.id,type:1};o("dynamicModelExtra",t),I(this.modelId,this.dataForm.id).then((t=>{this.dataForm=t.data,this.dataForm.data&&(this.formData={...JSON.parse(this.dataForm.data),id:this.dataForm.id},this.fillFormData(this.formConf,this.formData),this.$nextTick((()=>{this.loading=!1})))}))}else this.isAdd=!0,this.formData={},this.loading=!1,this.fillFormData(this.formConf,this.formData);this.key=+new Date}))},fillFormData(t,i){this.key=+new Date;const s=(t,e)=>{for(let o=0;ot.id)):o[0].id);const m=this.userInfo.roleIds;"roleSelect"===n.jnpfKey&&Array.isArray(m)&&m.length&&(n.defaultValue=a.multiple?m:m[0]);const d=this.userInfo.groupIds;"groupSelect"===n.jnpfKey&&Array.isArray(d)&&d.length&&(n.defaultValue=a.multiple?d:d[0]);const l=this.userInfo.userId;"userSelect"===n.jnpfKey&&l&&(n.defaultValue=a.multiple?[l]:l),"usersSelect"===n.jnpfKey&&l&&(n.defaultValue=a.multiple?[l+"--user"]:l+"--user"),"sign"===n.jnpfKey&&this.userInfo.signImg&&(n.defaultValue=this.userInfo.signImg)}const s=this.$permission.hasBtnP("btn_detail",this.formPermissionList.menuId),o=this.$permission.hasBtnP("btn_edit",this.formPermissionList.menuId);this.dataForm.id&&!o&&s&&(a.disabled=s);let m=!!n.noShow&&n.noShow,d=!1;if((!n.visibility||Array.isArray(n.visibility)&&n.visibility.includes("app"))&&(d=!0),this.$set(n,"isVisibility",d),this.formPermissionList.useFormPermission){let t=n.isSubTable?e.__vModel__+"-"+r:r;m=!0,this.formList&&this.formList.length&&(m=!this.formList.some((i=>i.enCode===t))),m=n.noShow?n.noShow:m,this.$set(n,"noShow",m)}}else{let t=!!n.noShow&&n.noShow,i=!1;(!n.visibility||Array.isArray(n.visibility)&&n.visibility.includes("app"))&&(i=!0),this.$set(n,"isVisibility",i),this.$set(n,"noShow",t)}n&&n.children&&Array.isArray(n.children)&&s(n.children,a)}};s(t.fields),t.formData=i,this.key=+new Date},sumbitForm(t,i){if(!t)return;this.btnLoading=!0;const o={...this.formData,...t};this.dataForm.data=JSON.stringify(o),i&&"function"==typeof i&&i();(this.dataForm.id?D:_)(this.modelId,this.dataForm).then((t=>{s({title:t.msg,complete:()=>{setTimeout((()=>{"save_add"==this.clickType&&(this.key=+new Date,this.$nextTick((()=>{this.$refs.dynamicForm&&this.$refs.dynamicForm.resetForm()}))),this.btnLoading=!1,this.initData(),"save_proceed"!=this.clickType&&"save_add"!=this.clickType&&(a("refresh"),e())}),1500)}})})).catch((()=>{this.btnLoading=!1}))},commonSubmit(t){this.clickType=t,this.submit(t)},submit(t){if(this.clickType=t,"1"==this.isPreview)return this.$u.toast("功能预览不支持数据保存");this.$refs.dynamicForm&&this.$refs.dynamicForm.submitForm()}}},[["render",function(t,i,s,e,o,a){const j=b(r("JnpfParser"),y),I=b(r("u-button"),g),D=l;return o.showPage?(h(),n(D,{key:0,class:"dynamicModel-form-v jnpf-wrap jnpf-wrap-form"},{default:m((()=>[o.loading?d("",!0):(h(),n(j,{formConf:o.formConf,ref:"dynamicForm",onSubmit:a.sumbitForm,key:o.key},null,8,["formConf","onSubmit"])),"btn_edit"===o.btnType||"btn_add"===o.btnType?(h(),n(D,{key:1,class:"buttom-actions"},{default:m((()=>[f(I,{class:"buttom-btn",type:"primary",onClick:c(a.submit,["stop"]),loading:o.btnLoading},{default:m((()=>[u(p(o.formConf.confirmButtonText||"确定"),1)])),_:1},8,["onClick","loading"]),f(I,{class:"buttom-btn",onClick:c(t.jnpf.goBack,["stop"])},{default:m((()=>[u(p(o.formConf.cancelButtonText||"取消"),1)])),_:1},8,["onClick"])])),_:1})):d("",!0)])),_:1})):d("",!0)}],["__scopeId","data-v-af2f9860"]]);export{F as default};