import{M as i,N as t,p as e,n as o,F as n,q as s,G as r,c as a,w as _,v as l,i as d,o as f,b as c,d as m,X as h}from"./index-BdZf2PuA.js";import{_ as p}from"./uni-nav-bar.C1vwI00O.js";import{r as u}from"./uni-app.es.ZCv6f5BQ.js";import{_ as g}from"./u-button.BH6kdUXs.js";import{g as y,d as j}from"./webDesign.BMb5ep79.js";import{P as b}from"./Parser.zrGVuGiL.js";import{_ as v}from"./_plugin-vue_export-helper.BCo6x5W8.js";import"./uni-icons.CHyo5EBv.js";import"./index.B9fNN9VJ.js";import"./u-loading.D1su2JwC.js";import"./u-popup.DQ2TdHJz.js";import"./u-icon.DtKBPjPl.js";import"./u-line.BREJwXou.js";import"./u-input.BnWuGEGk.js";import"./emitter.DrjJCwnj.js";import"./u-upload.FOuoweDI.js";import"./MultSelect.ViCIbKzW.js";import"./u-search.Blb2YD16.js";import"./u-checkbox-group.JjHrC70d.js";import"./u-radio-group.r3AN2FLO.js";import"./resources.DipqUmnN.js";import"./mp-html.D4R8giPX.js";import"./u-form.nKgSXrtI.js";import"./index.DaMFg0eb.js";import"./index.BOk3Mqn5.js";import"./index.DRlUEhmn.js";import"./u-action-sheet._jQEWLja.js";import"./u-tabs.DJ6mOGUd.js";import"./u-badge.C9pBlCn7.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,y(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 s=i[e].__config__;if(s.children&&s.children.length&&t(s.children),"tableGrid"==s.jnpfKey){let t=[];for(var o=0;o<s.children.length;o++){let i=s.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,j(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 s=i[n];if(s.__vModel__){if("relationForm"===s.__config__.jnpfKey||"popupSelect"===s.__config__.jnpfKey)s.__config__.defaultValue=t[s.__vModel__+"_id"],this.$set(s,"name",t[s.__vModel__]||"");else{let i=t.hasOwnProperty(s.__vModel__)?t[s.__vModel__]:s.__config__.defaultValue;!s.__config__.custom&&s.__config__.defaultCurrent&&"time"===s.__config__.jnpfKey&&(i=this.jnpf.toDate(new Date,s.format)),s.__config__.defaultValue=i}if(this.formPermissionList.useFormPermission){let i=s.__config__.isSubTable?o.__vModel__+"-"+s.__vModel__:s.__vModel__,t=!0;this.formList&&this.formList.length&&(t=!this.formList.some((t=>t.enCode===i))),t=s.__config__.noShow?s.__config__.noShow:t,this.$set(s.__config__,"noShow",t)}}else["relationFormAttr","popupAttr"].includes(s.__config__.jnpfKey)&&(s.__config__.defaultValue=t[s.relationField.split("_jnpfTable_")[0]+"_"+s.showField]);s.__config__&&s.__config__.children&&Array.isArray(s.__config__.children)&&e(s.__config__.children,s)}};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,y){const j=d,b=u(s("uni-nav-bar"),p),v=r("Parser"),w=u(s("u-button"),g);return n.showPage?(f(),a(j,{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(j,{class:"nav-left"},{default:_((()=>[c(j,{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:y.toDetail},null,8,["formConf","formValue","onToDetail"])),c(j,{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(y.handleEdit,["stop"])},{default:_((()=>[m("编辑 ")])),_:1},8,["onClick"]))])),_:1})])),_:1})):l("",!0)}],["__scopeId","data-v-3180be1e"]]);export{w as default};