import{T as i,U as t,e,J as o,n,q as r,Q as s,c as a,w as _,A as l,i as d,o as f,t as c,v as m,a0 as h}from"./index-DB1KcwyC.js";import{_ as p}from"./uni-nav-bar.D0ZjMEx3.js";import{r as u}from"./uni-app.es.kIRygv3C.js";import{_ as g}from"./u-button.BTk-MlEh.js";import{g as j,d as y}from"./webDesign.D8GW7olT.js";import{P as b}from"./Parser.Bhbn962V.js";import{_ as v}from"./_plugin-vue_export-helper.BCo6x5W8.js";import"./uni-icons.C0w8NXYe.js";import"./index.t9MjIpKW.js";import"./u-loading.CRSSRDdn.js";import"./u-popup.BmnrPRIX.js";import"./u-icon.ELsRhWNw.js";import"./u-divider.niwvC6w0.js";import"./u-line.DnSKzVfF.js";import"./u-input.CwSOgsR_.js";import"./emitter.DrjJCwnj.js";import"./u-upload.DzJ2mG48.js";import"./MultSelect.CNpCAwbR.js";import"./u-search.0dwrILGy.js";import"./u-checkbox.BSlXhXnw.js";import"./u-checkbox-group.B_fawiik.js";import"./u-radio-group.DKzk_Xx0.js";import"./resources.DipqUmnN.js";import"./mp-html.CCNmMAqA.js";import"./u-form.999ecCiO.js";import"./index.BnckI0jy.js";import"./index.DJoB_3ae.js";import"./index.C_IGyuDD.js";import"./u-action-sheet.CsCOmUOp.js";import"./u-tabs.BYtriyYp.js";import"./u-badge.C41dzxhW.js";const w=v({components:{Parser:b},data:()=>({showPage:!1,loading:!0,isPreview:"0",modelId:"",formConf:{},formData:{},dataForm:{id:"",data:""},btnType:"",formPermissionList:{},formList:[],encryption:""}),onLoad(t){let e=JSON.parse(this.jnpf.base64.decode(t.config));this.formPermissionList=e.currentMenu?JSON.parse(decodeURIComponent(e.currentMenu)):[],this.formList=this.formPermissionList.formList,this.btnType=e.jurisdictionType||"",this.modelId=e.modelId,this.encryption=e.encryption,this.isPreview=e.isPreview||"0",this.dataForm.id=e.id||"",this.setting=e,this.getConfigData(),i("refresh",(()=>{this.getConfigData()}))},beforeDestroy(){t("refresh")},methods:{recursivefilter(i,t){let e=i.filter((i=>(i=>{const t=i.__config__;if(!t||!t.jnpfKey)return!0;const e=t.jnpfKey;return!!(["input","textarea","inputNumber","switch","datePicker","timePicker","colorPicker","rate","slider","editor","link","text","alert","table","collapse","collapseItem","tabItem","tab","row","card","groupTitle","divider","location"].includes(e)||["radio","checkbox","select","cascader","treeSelect"].includes(e)&&"static"===t.dataType)})(i)));return e.forEach((i=>i.__config__&&i.__config__.children&&Array.isArray(i.__config__.children)&&(i.__config__.children=this.recursivefilter(i.__config__.children)))),e},getConfigData(){this.loading=!0,j(this.modelId,this.encryption).then((i=>{200===i.code&&i.data?(this.formConf=i.data.formData?JSON.parse(i.data.formData):{},this.beforeInit(this.formConf.fields||[]),this.showPage=!0,this.key=+new Date,this.initData()):e({title:"暂无此页面",icon:"none",complete:()=>{setTimeout((()=>{o()}),1500)}})}))},beforeInit(i){const t=i=>{for(var e=0;e<i.length;e++){const r=i[e].__config__;if(r.children&&r.children.length&&t(r.children),"tableGrid"==r.jnpfKey){let t=[];for(var o=0;o<r.children.length;o++){let i=r.children[o];for(var n=0;n<i.__config__.children.length;n++){let e=i.__config__.children[n];t.push(...e.__config__.children)}}i.splice(e,1,...t)}}};t(i)},initData(){this.$nextTick((()=>{this.dataForm.id?(this.modelId,this.dataForm.id,y(this.modelId,this.dataForm.id,this.encryption).then((i=>{if(this.dataForm=i.data,!this.dataForm.data)return;this.formData={...JSON.parse(this.dataForm.data),id:this.dataForm.id};let t=this.recursivefilter(this.formConf.fields);this.formConf.fields=t,this.fillFormData(t,this.formData),this.initRelationForm(t)}))):this.loading=!1,this.key=+new Date}))},fillFormData(i,t){const e=(i,o)=>{for(let n=0;n<i.length;n++){let r=i[n];if(r.__vModel__){if("relationForm"===r.__config__.jnpfKey||"popupSelect"===r.__config__.jnpfKey)r.__config__.defaultValue=t[r.__vModel__+"_id"],this.$set(r,"name",t[r.__vModel__]||"");else{let i=t.hasOwnProperty(r.__vModel__)?t[r.__vModel__]:r.__config__.defaultValue;!r.__config__.custom&&r.__config__.defaultCurrent&&"time"===r.__config__.jnpfKey&&(i=this.jnpf.toDate(new Date,r.format)),r.__config__.defaultValue=i}if(this.formPermissionList.useFormPermission){let i=r.__config__.isSubTable?o.__vModel__+"-"+r.__vModel__:r.__vModel__,t=!0;this.formList&&this.formList.length&&(t=!this.formList.some((t=>t.enCode===i))),t=r.__config__.noShow?r.__config__.noShow:t,this.$set(r.__config__,"noShow",t)}}else["relationFormAttr","popupAttr"].includes(r.__config__.jnpfKey)&&(r.__config__.defaultValue=t[r.relationField.split("_jnpfTable_")[0]+"_"+r.showField]);r.__config__&&r.__config__.children&&Array.isArray(r.__config__.children)&&e(r.__config__.children,r)}};e(i),this.loading=!1},initRelationForm(i){i.forEach((t=>{const e=t.__config__;if("relationFormAttr"==e.jnpfKey||"popupAttr"==e.jnpfKey){const e=t.relationField.split("_jnpfTable_")[0];i.forEach((i=>{const o=Array.isArray(i.__config__.visibility)&&!i.__config__.visibility.includes("app");e==i.__vModel__&&(o||i.__config__.noShow)&&(t.__config__.noShow=!0)}))}t.__config__.children&&t.__config__.children.length&&this.initRelationForm(t.__config__.children)}))},toDetail(i){const t=i.__config__.defaultValue;if(!t)return;let e={modelId:i.modelId,id:t,formTitle:"详情",noShowBtn:1};this.$nextTick((()=>{const i="/pages/apply/dynamicModel/detail?config="+this.base64.encode(JSON.stringify(e),"UTF-8");n({url:i})}))},handleEdit(){const i=encodeURIComponent(JSON.stringify(this.formPermissionList));let t={modelId:this.modelId,isPreview:this.isPreview,id:this.setting.id,jurisdictionType:"btn_edit",currentMenu:i,list:this.setting.list,index:this.setting.index};const e="/pages/apply/dynamicModel/form?config="+this.base64.encode(JSON.stringify(t),"UTF-8");n({url:e})}}},[["render",function(i,t,e,o,n,j){const y=d,b=u(r("uni-nav-bar"),p),v=s("Parser"),w=u(r("u-button"),g);return n.showPage?(f(),a(y,{key:0,class:"dynamicModel-form-v jnpf-wrap jnpf-wrap-form"},{default:_((()=>[c(b,{class:"nav",fixed:!0,statusBar:!0,border:!1,height:"44"},{default:_((()=>[c(y,{class:"nav-left"},{default:_((()=>[c(y,{class:"nav-left-text"},{default:_((()=>[m("详情")])),_:1})])),_:1})])),_:1}),n.loading?l("",!0):(f(),a(v,{formConf:n.formConf,formValue:n.formData,ref:"dynamicForm",key:i.key,onToDetail:j.toDetail},null,8,["formConf","formValue","onToDetail"])),c(y,{class:"buttom-actions"},{default:_((()=>[c(w,{class:"buttom-btn",onClick:h(i.jnpf.goBack,["stop"])},{default:_((()=>[m("取消")])),_:1},8,["onClick"]),"btn_edit"!==n.btnType||this.setting.noShowBtn?l("",!0):(f(),a(w,{key:0,class:"buttom-btn",type:"primary",onClick:h(j.handleEdit,["stop"])},{default:_((()=>[m("编辑 ")])),_:1},8,["onClick"]))])),_:1})])),_:1})):l("",!0)}],["__scopeId","data-v-3180be1e"]]);export{w as default};