unione-form-vue 0.1.21 → 0.1.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.umd.js +2 -2
- package/dist/style.css +1 -1
- package/dist/version/version.d.ts +1 -1
- package/package.json +1 -1
package/dist/index.umd.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(ie,P){typeof exports=="object"&&typeof module<"u"?P(exports,require("unione-base-vue"),require("vue"),require("ant-design-vue"),require("lodash-es"),require("vue-codemirror"),require("@codemirror/lang-javascript"),require("vuedraggable"),require("@hufe921/canvas-editor"),require("dayjs"),require("prismjs"),require("@codemirror/lang-json"),require("@codemirror/lang-html"),require("@codemirror/lang-css"),require("@codemirror/lang-sql"),require("@ant-design/icons-vue"),require("uuid"),require("vue-router")):typeof define=="function"&&define.amd?define(["exports","unione-base-vue","vue","ant-design-vue","lodash-es","vue-codemirror","@codemirror/lang-javascript","vuedraggable","@hufe921/canvas-editor","dayjs","prismjs","@codemirror/lang-json","@codemirror/lang-html","@codemirror/lang-css","@codemirror/lang-sql","@ant-design/icons-vue","uuid","vue-router"],P):(ie=typeof globalThis<"u"?globalThis:ie||self,P(ie.index={},ie.UnioneBaseVue,ie.Vue,ie.antDesignVue,ie.lodashEs,ie.vueCodemirror,ie.langJavascript,ie.draggable,ie.canvasEditor,ie.dayjs,ie.prism,ie.langJson,ie.langHtml,ie.langCss,ie.langSql,ie.iconsVue,ie.uuid,ie.vueRouter))})(this,function(ie,P,e,te,Xt,Zt,Da,On,fe,ld,Ua,La,od,ad,id,gt,rd,sd){"use strict";const dd={isDebug:!1,axios:{form:"/portal",flow:"/flow"},listPageUrl:"/data/page/list",addPageUrl:"/data/page/add",editPageUrl:"/data/page/edit",viewPageUrl:"/data/page/view",formRules:[]},to=e.ref(dd);function Le(t){return t&&(to.value=P.utils.obj.set(to.value,t)),to.value}const cd={...{...{submit:"提交","submit.ok":"已提交","submit.error":"提交失败","confirm.ok":"确定","confirm.cancel":"取消","global.setting.title":"设置"},...{"pages.home":"首页"},...{"pages.layouts.userLayout.title":"user layout"}}},ud={...{submit:"Submit","submit.ok":"Submitted","submit.error":"Submit Failed","confirm.ok":"Yes","confirm.cancel":"No","global.setting.title":"Settings"},...{"pages.home":"Home"},...{"pages.layouts.userLayout.title":"user layout"}},fd=e.ref([cd,ud]);function pd(t,n){return P.locales.loadLanguage(t,()=>new Promise((l,o)=>{const a=fd.value.filter(i=>i.localeName==t);if(n)if(typeof n=="function")n().then(i=>{if(a.length==0){const d={...i,localeName:t};l(d)}else{const d={...a[0],...i};l(d)}});else if(a.length==0){const i={...n,localeName:t};l(i)}else{const i={...a[0],...n};l(i)}else a.length>0?l(a[0]):o("local language not defined ,lang:"+t)}))}const no={...P.locales};no.loadLanguage=pd;class md{$psn;$pid;$store;$forms;$model;$params;$refObj;$refData;constructor(n,l){this.$psn=n,this.$pid="",this.$store={},this.$forms={},this.$params={},this.$refObj={},this.$refData={},this.$model=l}params(n){if(n){this.$params=n,n.id&&(this.$pid=n.id,this.$psn&&this.use(this.$psn,"form").detail(this.$pid));for(const l in this.$store)this.$store[l].$params=n}return this.$params}psn(n){return n&&(this.$psn=n),this.$psn}regRef(n,l){}setRefData(n,l,o){}use(n,l,o){let a=this.$store[n];return a||(a=new lo(n,l,this.$model),this.$store[n]=a,a.$params=this.$params),o&&(a.$form=o,this.$forms[n]=o),a}useForm(n,l,o){const a=this.use(n,"form",l);return this.$psn==n&&this.$pid&&a.detail(this.$pid).then(i=>{o&&o(i)}),a}data(n){return this.$store[n]}form(n){return n?this.$forms[n]:this.$forms}primary(){return this.data(this.$psn)}dsnList(){return Object.keys(this.$store)}}class lo{$sid;$dsn;$type;$data;$dialog;$model;$form;$params;$store;constructor(n,l,o){typeof n=="string"?(this.$dsn=n,this.$store={controller:"/api/data/storage/v1"}):(this.$store=n,this.$dsn=""),this.$type=l,this.$data=e.ref(l=="form"?{}:{body:[],total:0}),this.$dialog=P.useDialog(),this.$model=e.ref(o||"run")}$isStorage(){return this.$store.controller.indexOf("/api/data/storage")>=0}store(n){return n&&(this.$store=n),this.$store}data(){return this.$type=="form"?this.$data.value||{}:this.$data.value||[]}setValue(n){this.$data.value=n,this.$form?.setValue(n)}reset(n){this.$data.value=n||{},this.$form?.setValue(n||{}),this.$form?.reset(),this.$sid=""}$processParams(n,l,o){if(o)o.forEach(a=>{if(a.name.startsWith("$")){const i=a.name.substring(1);l[i]==null&&l[i]==null&&(this.$params[i]!=null&&this.$params[i]!=null?(l[a.alias||i]=this.$params[i],P.utils.obj.setValue(l,a.alias||i,P.utils.obj.getValue(this.$params,i))):a.value!=null&&a.value!=null&&P.utils.obj.setValue(l,a.alias||i,a.value))}else l[n][a.name]==null&&l[n][a.name]==null&&(this.$params[a.name]!=null&&this.$params[a.name]!=null?P.utils.obj.setValue(l[n],a.alias||a.name,P.utils.obj.getValue(this.$params,a.name)):a.value!=null&&a.value!=null&&P.utils.obj.setValue(l[n],a.alias||a.name,a.value))});else if(this.$params)for(const a in this.$params)l[n][a]==null&&l[n][a]==null&&this.$params[a]!=null&&this.$params[a]!=null&&(l[n][a]=this.$params[a]);return l}request(n){return new Promise((l,o)=>{const a=te.message.loading("数据请求中..."),i=this.$store.controller+n.url;P.axios[this.$store.ctx||"form"]({method:"post",...n,url:i}).then(d=>{d.success?l(d):(d.silence||this.$dialog.error({content:d.message||"未知错误,请联系管理员"}),o({info:"数据请求失败,model sn:"+this.$dsn+",url:"+i,options:n,result:d}))}).catch(d=>{this.$dialog.error({content:"未知错误,请联系管理员"}),o({info:"数据请求失败,model sn:"+this.$dsn+",url:"+i,options:n,err:d})}).finally(()=>{a()})})}find(n){const l=this.$store.controller+(this.$store.findUrl||"/find");return!n&&this.$store.findParams&&(n={dsn:this.$dsn}),this.$isStorage()&&(n.dsn=this.$dsn+(this.$model!="run"?"@dev":"")),n&&(n=this.$processParams("body",n,this.$store.findParams)),new Promise((o,a)=>{const i=te.message.loading("数据加载中...");P.axios[this.$store.ctx||"form"]({url:l,method:"post",data:n}).then(d=>{d.success?(this.$data.value=d,o(d)):(d.silence||this.$dialog.error({content:d.message||"未知错误,请联系管理员"}),a({info:"数据加载失败,model sn:"+this.$dsn,url:l,params:n,result:d}))}).catch(d=>{this.$dialog.error({content:"未知错误,请联系管理员"}),a({info:"数据加载失败,model sn:"+this.$dsn,url:l,params:n,err:d})}).finally(()=>{i()})})}save(n){const l=this.$store.controller+(this.$store.saveUrl||"/save");return this.$isStorage()?(n.dsn=this.$dsn+(this.$model!="run"?"@dev":""),n=this.$processParams("params",n,this.$store.saveParams),this.$params?.id&&(n.id=this.$params.id),this.$sid&&(n.id=this.$sid)):(n=this.$processParams("data",n,this.$store.saveParams),this.$params?.id&&(n.data.id=this.$params.id)),new Promise((o,a)=>{const i=te.message.loading("数据提交中...");P.axios[this.$store.ctx||"form"]({url:l,method:"post",data:this.$isStorage()?n:n.data}).then(d=>{d.success?(this.$type=="form"&&(this.$data.value=d.body||{},this.$sid=d.id),d.silence||te.message.success(d.message),o(d)):(d.silence||this.$dialog.error({content:d.message||"未知错误,请联系管理员"}),a({info:"数据保存失败,model sn:"+this.$dsn,url:l,data:n,result:d}))}).catch(d=>{this.$dialog.error({content:"未知错误,请联系管理员"}),a({info:"数据保存失败,model sn:"+this.$dsn,url:l,data:n,err:d})}).finally(()=>{i()})})}loadByIds(n){return new Promise((l,o)=>{const a=te.message.loading("数据加载中..."),i=this.$store.controller+"/loadByIds";P.axios[this.$store.ctx||"form"]({url:i,method:"post",data:this.$isStorage()?{ids:n,dsn:this.$dsn+(this.$model!="run"?"@dev":"")}:n}).then(d=>{d.success?l(d):(d.silence||this.$dialog.error({content:d.message||"未知错误,请联系管理员"}),o({info:"数据加载失败,model sn:"+this.$dsn,ids:n,result:d}))}).catch(d=>{this.$dialog.error({content:"未知错误,请联系管理员"}),o({info:"数据加载失败,model sn:"+this.$dsn,ids:n,err:d})}).finally(()=>{a()})})}detail(n){return new Promise((l,o)=>{const a=te.message.loading("数据加载中..."),i=this.$store.controller+"/detail";P.axios[this.$store.ctx||"form"]({url:i,method:"post",headers:{"Content-Type":"application/json"},data:this.$isStorage()?{id:n,dsn:this.$dsn+(this.$model!="run"?"@dev":"")}:n}).then(d=>{d.success?(this.$type=="form"&&(this.$data.value=d.body||{},this.$sid=d.id),l(d)):(d.silence||this.$dialog.error({content:d.message||"未知错误,请联系管理员"}),o({info:"加载数据详情失败,model sn:"+this.$dsn,url:i,id:n,result:d}))}).catch(d=>{this.$dialog.error({content:"未知错误,请联系管理员"}),o({info:"加载数据详情失败,model sn:"+this.$dsn,url:i,id:n,err:d})}).finally(()=>{a()})})}deleteByIds(n){return new Promise((l,o)=>{this.$dialog.confirm({content:"确定要删除选中记录么?共"+n.length+"条。",onOk:()=>{const a=te.message.loading("数据处理中..."),i=this.$store.controller+"/delete";P.axios[this.$store.ctx||"form"]({url:i,method:"post",data:this.$isStorage()?{ids:n,dsn:this.$dsn+(this.$model!="run"?"@dev":"")}:n}).then(d=>{d.success?l(d):(d.silence||this.$dialog.error({content:d.message||"未知错误,请联系管理员"}),o({info:"数据删除失败,model sn:"+this.$dsn,url:i,ids:n,result:d}))}).catch(d=>{this.$dialog.error({content:"未知错误,请联系管理员"}),o({info:"数据删除失败,model sn:"+this.$dsn,url:i,ids:n,err:d})}).finally(()=>{a()})}})})}}class gd{$event;$onces;$delayEmit;constructor(){this.$event={},this.$onces={},this.$delayEmit={}}$on(n,l){if(this.$event[n]=l,this.$delayEmit[n]){const o=this.$delayEmit[n];l(o)}}$emit(n,l){if(this.$onces[n]){const o=this.$onces[n];delete this.$onces[n],o(l)}this.$event[n]?this.$event[n](l):(this.$delayEmit[n]=l,setTimeout(()=>{delete this.$delayEmit[n]},1e3*10))}$once(n,l){this.$onces[n]=l}$off(n){delete this.$event[n]}}function oo(t){const n=t.toLowerCase().split("_"),l=[];l.push(n[0]);for(let o=1;o<n.length;o++){const a=n[o];a&&(l.push(a.charAt(0).toUpperCase()),a.length>1&&l.push(a.substring(1)))}return l.join("")}const ja="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";function Pa(t=10){const n=Date.now().toString(),l=new Uint32Array(t);crypto.getRandomValues(l);let o="";for(let a=0;a<t;a++){const i=(parseInt(n[a%n.length],10)+l[a])%ja.length;o+=ja[i]}return o}function qa(t,n){const l={data:{},error:[]};return t.filter(o=>o.visible!=!1).forEach(o=>{if(o.control)if(o.name=="this"){if(o.event?.validate&&typeof o.event.validate=="function"){const a=o.event.validate(n,n);a?.error&&l.error.push({name:o.name,title:o.title,message:a.error}),a?.data&&P.utils.obj.set(l.data,a.data)}}else{const a=P.utils.obj.getValue(n,o.name);if(o.event?.visible&&typeof o.event.visible=="function"&&!o.event.visible(a,n))return;if((a||a==0||a==!1)&&P.utils.obj.setValue(l.data,o.name,a),o.event?.validate&&typeof o.event.validate=="function"){const i=o.event.validate(a,n);i?.error&&l.error.push({name:o.name,title:o.title,message:i.error}),i?.data&&P.utils.obj.set(l.data,i.data)}else o.props?.required&&!a&&a!==0&&l.error.push({name:o.name,title:o.title,message:o.title+"不能为空"})}if(o.widgets?.length){const a=qa(o.widgets,n);P.utils.obj.set(l.data,a.data),l.error.push(...a.error)}}),l}const je={...P.utils,toHump:oo,randomStr:Pa,form:{validate:qa}},ao=[{name:"undo",title:"撤销",exec:t=>{t.undo()}},{name:"redo",title:"重做",exec:t=>{t.redo()}},{name:"add",title:"新增组件",exec:(t,n)=>{if(!n){te.message.error("添加组件失败,组件定义不能为空");return}if(!n.widget){te.message.error("添加组件失败,组件widget不能为空");return}if(n.wid||(n.wid=je.randomStr(32)),n.pid){const o=t.$widgetMap.value[n.pid];o&&(o.widgets||(o.widgets=[]),o.widgets.splice(n.index,0,n))}else t.$widgetList.value.splice(n.index,0,n);const l=o=>{o.widgets?.forEach(a=>{a.pid=o.wid,a.wid||(a.wid=je.randomStr(32)),t.$widgetMap.value[a.wid]=a,l(a)})};return l(n),t.widgetActive.value=n,t.$widgetMap.value[n.wid]=n,t.$status.value.size=Object.keys(t.$widgetMap.value).length,{name:"del",params:{wid:n.wid}}}},{name:"copy",title:"复制组件",exec:(t,n)=>{if(!n){te.message.error("复制组件失败,组件wid不能为空");return}let l=t.$widgetMap.value[n];if(!l){te.message.error("复制组件失败,组件定义不能为空");return}if(l=JSON.parse(JSON.stringify(l)),l.wid=je.randomStr(32),l.pid){const a=t.$widgetMap.value[l.pid];a&&(a.widgets||(a.widgets=[]),a.widgets.push(l))}else t.$widgetList.value.push(l);const o=a=>{a.widgets?.forEach(i=>{i.pid=a.wid,i.wid||(i.wid=je.randomStr(32)),t.$widgetMap.value[i.wid]=i,o(i)})};return o(l),t.widgetActive.value=l,t.$widgetMap.value[l.wid]=l,t.$status.value.size=Object.keys(t.$widgetMap.value).length,{name:"del",params:{wid:l.wid}}}},{name:"del",title:"删除组件",exec:(t,n)=>{if(!n){te.message.error("删除组件失败,组件wid不能为空");return}const l=t.$widgetMap.value[n];if(l){if(!l.pid||!t.$widgetMap.value[l.pid])t.$widgetList.value=t.$widgetList.value.filter(a=>a.wid!==l.wid);else if(l.pid){const a=t.$widgetMap.value[l.pid];a&&(a.widgets=a.widgets.filter(i=>i.wid!==l.wid))}const o=a=>{a.widgets?.forEach(i=>{o(i),delete t.$widgetMap.value[i.wid]})};return o(l),t.widgetActive.value={},delete t.$widgetMap.value[l.wid],t.$status.value.size=Object.keys(t.$widgetMap.value).length,{name:"add",params:l}}}},{name:"clear",title:"清空组件",exec:t=>{t.widgetActive.value={},t.$widgetMap.value={},t.$widgetList.value=[],t.$cmdUndo.value=[],t.$cmdRedo.value=[],t.$cmdExes.value=[],t.$cmdUndo.value=[],t.$cmdRedo.value=[],t.$cmdExes.value=[],t.$cmdMap.value=[],t.$status.value={cmdCount:0,undoCount:0,redoCount:0,exeCount:0,size:0},t.$axiosProccess.value={},t.$status.value.size=Object.keys(t.$widgetMap.value).length}},{name:"update",title:"更新组件",exec:(t,n)=>{if(!n){te.message.error("更新组件失败,组件定义不能为空");return}if(!n.wid){te.message.error("更新组件失败,组件wid不能为空");return}const l=t.$widgetMap.value[n.wid];if(l){const o=P.utils.obj.ext({},l);return P.utils.obj.set(l,n),{name:"update",params:o}}}},{name:"setActive",title:"设置组件激活",exec:(t,n)=>{if(!n){te.message.error("设置组件激活失败,组件wid不能为空");return}const l=t.$widgetMap.value[n];if(l)return t.widgetActive.value=l,{name:"disActive",params:n}}},{name:"disActive",title:"取消组件激活",exec:(t,n)=>{if(!n){te.message.error("取消组件激活失败,组件wid不能为空");return}if(t.$widgetMap.value[n])return t.widgetActive.value=null,{name:"setActive",params:n}}},{name:"move",title:"移动组件",exec:(t,{wid:n,pid:l,oldIndex:o,newIndex:a})=>{if(!n){te.message.error("移动组件失败,组件wid不能为空");return}const i=t.$widgetMap.value[n];if(i){const d=i.pid;if(l&&l!==d){const r=t.$widgetMap.value[d];r&&(r.widgets=r.widgets.filter(s=>s.wid!==i.wid))}if(l){const r=t.$widgetMap.value[l];r&&(l===d&&(r.widgets=r.widgets.filter(s=>s.wid!==i.wid)),r.widgets.splice(a,0,i),i.pid=l)}else t.$widgetList.value.splice(a,0,i);return{name:"move",params:{wid:n,pid:d,oldIndex:a,newIndex:o}}}}}];class Ve{define;ebus;model;widgetActive;type;$widgetList;$widgetMap;$dataManager;dataModels;$axiosProccess;$dialog;$cmdMap;$cmdUndo;$cmdRedo;$cmdExes;$undoSize;$status;static conponents=e.ref({});static regComponent=(n,l)=>{};static buildComponent=n=>{Array.isArray(n)||(n=[n]),n.forEach(l=>{const o={...l};o.configs&&(o.configs=JSON.parse(o.configs)),o.props?o.props=JSON.parse(o.props):o.props={},Ve.conponents.value[o.control||o.widget||o.name]=o}),n.filter(l=>l.isCustom==1).forEach(l=>{if(!l.configs){console.error("widget config is empty, widget id:"+l.id);return}try{const o=JSON.parse(l.configs),a=new Function("return"+o.script)();a.template=o.template,a.style=o.style,a.widget=l.widget||l.name,Ve.regComponent(a.widget,e.defineAsyncComponent(()=>Promise.resolve(a)));const i=document.querySelector('style[data-widget="'+a.widget+'"]');if(o.style)if(o.style=o.style.replace(/\.([a-zA-Z0-9_-]+)/g,"."+a.widget+" .$1"),o.style=o.style.replace("."+a.widget+" ."+a.widget,"."+a.widget),i)i.innerHTML=o.style;else{const d=document.createElement("style");d.setAttribute("data-widget",a.widget+""),d.innerHTML=o.style,document.head.appendChild(d)}else i&&i.remove()}catch(o){console.error("widget script error,widget id:"+l.id,o)}})};constructor(n={sn:"new_",title:"新建页面",types:"setting",vers:1,configs:{widgets:[],dsnList:[]}},l){const o=n.configs||{};this.dataModels=e.ref(o.dataModels||[]),this.widgetActive=e.ref({}),this.model=e.ref(l?.model||"run"),this.type=e.ref(n.types||"setting"),this.define=n,this.ebus=new gd,this.$widgetList=e.ref([]),this.$widgetMap=e.ref({}),this.$dataManager=new md(o.dsnList?o.dsnList[0]:"",this.model.value),this.$undoSize=e.ref(l?.undoSize||1e3),this.$cmdUndo=e.ref([]),this.$cmdRedo=e.ref([]),this.$cmdExes=e.ref([]),this.$cmdMap=e.ref({}),this.$status=e.ref({cmdCount:0,undoCount:0,redoCount:0,exeCount:0,size:0}),this.$axiosProccess=e.ref({}),this.$dialog=P.useDialog(),this.regCmd(ao),this.loadConfig(o),this.ebus.$on("cmd:exec",({name:a,params:i})=>{if(a=="undo"){this.undo();return}if(a=="redo"){this.redo();return}this.exeCmd(a,i)}),e.nextTick(()=>{this.ebus.$emit("engine:inited")})}sn(){return this.define.sn}load(n,l){if(!n)return Promise.reject("sn is empty");if(this.define.sn=n,n.endsWith(":view")&&(this.model.value="view"),n=="new_")return console.log("新建/本地页面sn:"+n+",define:",l),l&&l.configs&&(this.define=l,this.type.value=this.define.types||"setting",this.loadConfig(l.configs)),Promise.resolve();const o=sessionStorage.getItem("PAGE_DEFINE:"+n);return o&&this.model.value=="run"?(this.define=JSON.parse(o),this.type.value=this.define.types||"setting",this.loadConfig(this.define.configs),console.log("从会话缓存中加载页面sn:"+n+",define:",this.define),Promise.resolve()):new Promise((a,i)=>{P.axios.form({url:"/api/page/define/load/"+n,method:"post"}).then(d=>{d.success?(this.define=d.body,this.type.value=this.define.types||"setting",d.body.configs?this.define.configs=d.body.configs:this.define.configs={widgets:[],dsnList:[]},this.loadConfig(this.define.configs),sessionStorage.setItem("PAGE_DEFINE:"+n,JSON.stringify(this.define)),console.log("从远程服务加载页面sn:"+n+",define:",this.define),a(this.define)):l&&l.configs&&(this.define=l,this.loadConfig(l.configs),a(this.define))}).catch(d=>{i(d)})})}save(){return new Promise((n,l)=>{if(this.$axiosProccess.value.save){console.warn("unione form editor save process runing,sn:"+this.define.sn),l();return}this.$axiosProccess.value.save=!0;const o={...this.define.configs||{},widgets:this.$widgetList.value,dsnList:this.$dataManager.dsnList()},a={...this.define};a.configs=JSON.stringify(o),P.axios.form({url:"/api/page/define/save",method:"post",data:a}).then(i=>{this.$axiosProccess.value.save=!1,i.success?(te.message.success(i.message),this.define=i.body,sessionStorage.setItem("PAGE_DEFINE:"+this.define.sn,JSON.stringify(this.define)),this.load(this.define.sn,this.define),n(i.body)):(this.$dialog.error({content:i.message}),l())}).catch(i=>{console.error("页面配置保存失败",i),this.$dialog.error({content:"页面配置保存失败"})}).finally(()=>{this.$axiosProccess.value.save=!1})})}loadConfig(n){n.dsnList?.length&&this.$dataManager.psn(n.dsnList[0]),this.$widgetList.value=n.widgets||[],this.$widgetMap.value={},this.$processWidget(this.$widgetList.value),this.$status.value||(this.$status.value={}),this.$status.value.size=Object.keys(this.$widgetMap.value).length}setModel(n){typeof this.model=="string"?this.model=n:this.model.value=n}widget(n){return this.$widgetMap.value?this.$widgetMap.value[n]:null}widgets(n){if(n)this.$widgetList.value=n,this.$widgetMap.value={},this.$processWidget(n);else return this.$widgetList.value}$processWidget(n,l){n.forEach(o=>{o.wid||(o.wid="w:"+Xt.uniqueId()),l&&(o.pid=l.wid),this.$widgetMap.value[o.wid]=o,o?.widgets&&this.$processWidget(o.widgets,o)})}dataManager(){return this.$dataManager}regCmd(n){Array.isArray(n)?n.forEach(l=>{this.$cmdMap.value[l.name]=l}):this.$cmdMap.value[n.name]=n,this.$status.value.cmdCount=Object.keys(this.$cmdMap.value).length}offCmd(n){Array.isArray(n)?n.forEach(l=>{delete this.$cmdMap.value[l]}):delete this.$cmdMap.value[n],this.$status.value.cmdCount=Object.keys(this.$cmdMap.value).length}exeCmd(n,l){const o=this.$cmdMap.value[n];if(console.log("UFEngine exe cmd,name:"+n+",cmd:",o,l),o&&o.exec){const a=o.exec(this,l);a&&(this.$cmdUndo.value.push({name:a.name,params:a.params}),this.$cmdExes.value.push({name:n,params:l}),this.$cmdUndo.value.length>this.$undoSize.value&&(this.$cmdUndo.value.shift(),this.$cmdExes.value.shift())),this.$status.value.exeCount=this.$status.value.exeCount+1,this.$status.value.undoCount=this.$cmdUndo.value.length}}undo(){if(this.$cmdUndo.value.length){const n=this.$cmdUndo.value.pop(),l=this.$cmdExes.value.pop();if(!n||!l)return;const o=this.$cmdMap.value[n.name];o&&o.exec&&(o.exec(this,n.params),this.$cmdRedo.value.push({name:l.name,params:l.params}),this.$cmdRedo.value.length>this.$undoSize.value&&this.$cmdRedo.value.shift()),this.$status.value.undoCount=this.$cmdUndo.value.length,this.$status.value.redoCount=this.$cmdRedo.value.length}}redo(){if(this.$cmdRedo.value.length){const n=this.$cmdRedo.value.pop();if(this.$status.value.redoCount=this.$cmdRedo.value.length,!n)return;this.exeCmd(n.name,n.params)}}status(){return this.$status}}const hd={key:0},bd=["onClick"],yd=e.defineComponent({__name:"btnSetting",props:{preset:{type:Array,default(){return[]}}},setup(t,{expose:n}){const l=t,o=e.ref([{title:"序号",dataIndex:"index",key:"index",width:"30px",fixed:"left",align:"center",customRender:({index:w})=>w+1},{title:"参数名称",dataIndex:"name",key:"name",width:"60px",align:"center"},{title:"参数标题",dataIndex:"title",key:"title",width:"80px",align:"center"},{title:"参数value",dataIndex:"value",key:"value",width:"100px",align:"center"}]),a=e.ref({selectedRowKeys:[],columnWidth:"25px",onChange:w=>{a.value.selectedRowKeys=w}}),i={mounted:w=>w.focus()},d=e.ref({});function r(){const w=Object.keys(d.value);if(w.length)for(let k in w){const B=b.value.form.action.params[k];B&&d.value[k]&&Object.keys(d.value[k]).forEach(S=>{B[S]=d.value[k][S]})}d.value={}}function s(w,k,B){r();const S={};S[B]=k[B]||"",B=="showIndex"&&(S[B]=k.show?.query?.index),d.value[w]=S}function f(w,k,B){if(!k||!B){d.value={};return}const S=d.value[w][B];k[B]=S,d.value={}}function c(){b.value.form.action.params.push({title:"新建",name:"",value:""})}function g(){}const m=e.ref(""),p=e.ref({title:[{required:!0,message:"按钮标题不能为空"}],name:[{required:!0,message:"按钮名称不能为空"},{validator:(w,k)=>m.value!=k&&l.preset.includes(k)?Promise.reject("预设按钮名称,请使用其他名称,["+l.preset.join(",")+"]"):Promise.resolve(),trigger:"change"}]}),A=e.ref([Da.javascript()]),b=e.ref({title:"按钮设置",visible:!1,form:{},helps:{}}),h=e.ref();function u(w,k,B={}){w=JSON.parse(JSON.stringify(w)),w.event||(w.event={}),w.props||(w.props={}),w.action||(w.action={}),Object.keys(w.action).includes("maskClosable")||(w.action.maskClosable=!0),w.action.params||(w.action.params=[]),m.value=w.name,b.value.form=w,b.value.helps=B,b.value.visible=!0,h.value=k}const v=e.ref(null);function N(){v.value&&v.value.validate().then(()=>{b.value.visible=!1,h.value(b.value.form)})}return n({open:u,close}),(w,k)=>{const B=e.resolveComponent("a-input"),S=e.resolveComponent("a-form-item"),y=e.resolveComponent("a-select"),x=e.resolveComponent("a-input-number"),E=e.resolveComponent("a-checkbox"),_=e.resolveComponent("a-tab-pane"),C=e.resolveComponent("a-switch"),O=e.resolveComponent("a-button"),T=e.resolveComponent("a-divider"),V=e.resolveComponent("ToolOutlined"),$=e.resolveComponent("a-tooltip"),I=e.resolveComponent("a-table"),F=e.resolveComponent("a-tabs"),j=e.resolveComponent("a-form"),U=e.resolveComponent("a-modal");return e.openBlock(),e.createBlock(U,{visible:b.value.visible,"onUpdate:visible":k[23]||(k[23]=M=>b.value.visible=M),title:b.value.title,centered:"",width:"50%",onOk:N},{default:e.withCtx(()=>[e.createVNode(j,{name:"basic",ref_key:"form",ref:v,rules:p.value,model:b.value.form,"label-col":{span:5},"wrapper-col":{span:19},autocomplete:"off",class:"form-mix btn-setting-form"},{default:e.withCtx(()=>[e.createVNode(F,null,{default:e.withCtx(()=>[e.createVNode(_,{key:"base",tab:"基本设置"},{default:e.withCtx(()=>[e.createVNode(S,{label:"操作标题",required:"",name:"title"},{default:e.withCtx(()=>[e.createVNode(B,{value:b.value.form.title,"onUpdate:value":k[0]||(k[0]=M=>b.value.form.title=M)},null,8,["value"])]),_:1}),e.createVNode(S,{label:"操作名称",name:"name",required:""},{default:e.withCtx(()=>[e.createVNode(B,{value:b.value.form.name,"onUpdate:value":k[1]||(k[1]=M=>b.value.form.name=M),disabled:l.preset.includes(b.value.form.name)},null,8,["value","disabled"])]),_:1}),e.createVNode(S,{label:"操作图标"},{default:e.withCtx(()=>[e.createVNode(B,{value:b.value.form.icon,"onUpdate:value":k[2]||(k[2]=M=>b.value.form.icon=M)},null,8,["value"])]),_:1}),e.createVNode(S,{label:"按钮类型"},{default:e.withCtx(()=>[e.createVNode(y,{value:b.value.form.type,"onUpdate:value":k[3]||(k[3]=M=>b.value.form.type=M),allowClear:"",options:[{value:"primary",label:"主要按钮"},{value:"ghost",label:"幽灵按钮"},{value:"dashed",label:"虚线按钮"},{value:"link",label:"连接按钮"},{value:"text",label:"文本按钮"},{value:"default",label:"默认按钮"}]},null,8,["value"])]),_:1}),e.createVNode(S,{label:"显示顺序"},{default:e.withCtx(()=>[e.createVNode(x,{value:b.value.form.index,"onUpdate:value":k[4]||(k[4]=M=>b.value.form.index=M)},null,8,["value"])]),_:1}),e.createVNode(S,{label:"按钮大小"},{default:e.withCtx(()=>[e.createVNode(y,{value:b.value.form.size,"onUpdate:value":k[5]||(k[5]=M=>b.value.form.size=M),options:[{value:"small",label:"小"},{value:"middle",label:"中"},{value:"large",label:"大"}]},null,8,["value"])]),_:1}),e.createVNode(S,{label:"按钮特性"},{default:e.withCtx(()=>[e.createVNode(E,{checked:b.value.form.props.block,"onUpdate:checked":k[6]||(k[6]=M=>b.value.form.props.block=M)},{default:e.withCtx(()=>k[24]||(k[24]=[e.createTextVNode("自适应 ")])),_:1},8,["checked"]),e.createVNode(E,{checked:b.value.form.props.danger,"onUpdate:checked":k[7]||(k[7]=M=>b.value.form.props.danger=M)},{default:e.withCtx(()=>k[25]||(k[25]=[e.createTextVNode("危险 ")])),_:1},8,["checked"]),e.createVNode(E,{checked:b.value.form.props.ghost,"onUpdate:checked":k[8]||(k[8]=M=>b.value.form.props.ghost=M)},{default:e.withCtx(()=>k[26]||(k[26]=[e.createTextVNode("幽灵 ")])),_:1},8,["checked"])]),_:1})]),_:1}),e.createVNode(_,{key:"action",tab:"响应设置"},{default:e.withCtx(()=>[e.createVNode(S,{label:"响应方式",required:""},{default:e.withCtx(()=>[e.createVNode(y,{value:b.value.form.action.type,"onUpdate:value":k[9]||(k[9]=M=>b.value.form.action.type=M),options:[{value:"link",label:"连接"},{value:"route",label:"路由"},{value:"drawer",label:"抽屉"},{value:"dialog",label:"对话框"}]},null,8,["value"])]),_:1}),["drawer","dialog"].includes(b.value.form.action.type)?(e.openBlock(),e.createBlock(S,{key:0,label:"页面编码",help:"根据该页面编码渲染页面内容"},{default:e.withCtx(()=>[e.createVNode(B,{value:b.value.form.action.psn,"onUpdate:value":k[10]||(k[10]=M=>b.value.form.action.psn=M)},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),["drawer","dialog"].includes(b.value.form.action.type)?(e.openBlock(),e.createBlock(S,{key:1,label:"组件名称",help:"组件方式渲染,Vue全局注册的组件名称,且监听params参数,psn参数"},{default:e.withCtx(()=>[e.createVNode(B,{value:b.value.form.action.component,"onUpdate:value":k[11]||(k[11]=M=>b.value.form.action.component=M)},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),e.createVNode(S,{label:"连接地址"},{default:e.withCtx(()=>[e.createVNode(B,{value:b.value.form.action.href,"onUpdate:value":k[12]||(k[12]=M=>b.value.form.action.href=M)},null,8,["value"])]),_:1}),["link","route"].includes(b.value.form.action.type)?(e.openBlock(),e.createBlock(S,{key:2,label:"连接方式"},{default:e.withCtx(()=>[e.createVNode(y,{value:b.value.form.action.target,"onUpdate:value":k[13]||(k[13]=M=>b.value.form.action.target=M),options:[{value:"_blank",label:"新卡片页"},{value:"_self",label:"当前页面"}]},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),["drawer"].includes(b.value.form.action.type)?(e.openBlock(),e.createBlock(S,{key:3,label:"抽屉位置"},{default:e.withCtx(()=>[e.createVNode(y,{value:b.value.form.action.position,"onUpdate:value":k[14]||(k[14]=M=>b.value.form.action.position=M),options:[{value:"left",label:"左侧"},{value:"right",label:"右侧"}]},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),["drawer","dialog"].includes(b.value.form.action.type)?(e.openBlock(),e.createBlock(S,{key:4,label:"显示标题",required:""},{default:e.withCtx(()=>[e.createVNode(B,{value:b.value.form.action.title,"onUpdate:value":k[15]||(k[15]=M=>b.value.form.action.title=M)},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),["drawer","dialog"].includes(b.value.form.action.type)?(e.openBlock(),e.createBlock(S,{key:5,label:"蒙层关闭"},{default:e.withCtx(()=>[e.createVNode(C,{checked:b.value.form.action.maskClosable,"onUpdate:checked":k[16]||(k[16]=M=>b.value.form.action.maskClosable=M),"checked-children":"开","un-checked-children":"关"},null,8,["checked"])]),_:1})):e.createCommentVNode("",!0),["drawer","dialog"].includes(b.value.form.action.type)?(e.openBlock(),e.createBlock(S,{key:6,label:"显示宽度"},{default:e.withCtx(()=>[e.createVNode(x,{value:b.value.form.action.width,"onUpdate:value":k[17]||(k[17]=M=>b.value.form.action.width=M)},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),["dialog"].includes(b.value.form.action.type)?(e.openBlock(),e.createBlock(S,{key:7,label:"显示高度"},{default:e.withCtx(()=>[e.createVNode(x,{value:b.value.form.action.height,"onUpdate:value":k[18]||(k[18]=M=>b.value.form.action.height=M)},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),e.createVNode(T,{orientation:"left"},{default:e.withCtx(()=>[k[29]||(k[29]=e.createTextVNode("参数列表 ")),e.createVNode(O,{size:"small",class:"param-btn",onClick:c},{default:e.withCtx(()=>k[27]||(k[27]=[e.createTextVNode("添加")])),_:1}),e.createVNode(O,{size:"small",class:"param-btn",danger:"",onClick:g},{default:e.withCtx(()=>k[28]||(k[28]=[e.createTextVNode("删除")])),_:1})]),_:1}),e.createVNode(I,{columns:o.value,"data-source":b.value.form.action.params,bordered:"",pagination:!1,"row-selection":a.value,"row-key":"name",size:"small"},{headerCell:e.withCtx(({column:M})=>[["name","title"].includes(M.key)?(e.openBlock(),e.createElementBlock("span",hd,[e.createVNode(V),e.createTextVNode(" "+e.toDisplayString(M.title),1)])):e.createCommentVNode("",!0),["value"].includes(M.key)?(e.openBlock(),e.createBlock($,{key:1,title:"支持常量和变量,变量使用{row.属性}方式获取"},{default:e.withCtx(()=>[e.createElementVNode("span",null,[e.createVNode(V),e.createTextVNode(" "+e.toDisplayString(M.title),1)])]),_:2},1024)):e.createCommentVNode("",!0)]),bodyCell:e.withCtx(({column:M,text:Q,record:D,index:R})=>[["name","title","value"].includes(M.dataIndex)?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["edit-field",(!d.value[R]||!Object.keys(d.value[R]).includes(M.dataIndex))&&!Q&&"empty"]),onClick:J=>s(R,D,M.dataIndex)},[d.value[R]&&Object.keys(d.value[R]).includes(M.dataIndex)?e.withDirectives((e.openBlock(),e.createBlock(B,{key:0,value:d.value[R][M.dataIndex],"onUpdate:value":J=>d.value[R][M.dataIndex]=J,onBlur:J=>f(R,D,M.dataIndex),style:{margin:"-5px 0"}},null,8,["value","onUpdate:value","onBlur"])),[[i]]):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(Q),1)],64))],10,bd)):e.createCommentVNode("",!0)]),_:1},8,["columns","data-source","row-selection"])]),_:1}),e.createVNode(_,{key:"event",tab:"事件设置"},{default:e.withCtx(()=>[e.createVNode(S,{label:"点击事件",help:b.value.helps.clickScript||"点击事件处理脚本,上下文参数:ctx,当前按钮对象:btn,当前事件对象:event,返回false则不触发默认逻辑"},{default:e.withCtx(()=>[e.createVNode(e.unref(Zt.Codemirror),{modelValue:b.value.form.event.clickScript,"onUpdate:modelValue":k[19]||(k[19]=M=>b.value.form.event.clickScript=M),placeholder:"请输入点击事件处理脚本",style:{height:"250px"},autofocus:!0,"indent-with-tab":!0,tabSize:8,extensions:A.value,scrollbarStyle:null},null,8,["modelValue","extensions"])]),_:1},8,["help"]),e.createVNode(S,{label:"禁用逻辑",help:b.value.helps.disableScript||"按钮禁用逻辑控制脚本,上下文参数:ctx,当前按钮对象:btn,返回true禁用,否则可用"},{default:e.withCtx(()=>[e.createVNode(e.unref(Zt.Codemirror),{modelValue:b.value.form.event.disableScript,"onUpdate:modelValue":k[20]||(k[20]=M=>b.value.form.event.disableScript=M),placeholder:"请输入按钮禁用逻辑",style:{height:"250px"},autofocus:!0,"indent-with-tab":!0,tabSize:8,extensions:A.value,scrollbarStyle:null},null,8,["modelValue","extensions"])]),_:1},8,["help"]),e.createVNode(S,{label:"显示逻辑",help:b.value.helps.visibleScript||"按钮显示逻辑控制脚本,上下文参数:ctx,当前按钮对象:btn,返回false隐藏,否则可见"},{default:e.withCtx(()=>[e.createVNode(e.unref(Zt.Codemirror),{modelValue:b.value.form.event.visibleScript,"onUpdate:modelValue":k[21]||(k[21]=M=>b.value.form.event.visibleScript=M),placeholder:"请输入按钮显示逻辑",style:{height:"250px"},autofocus:!0,"indent-with-tab":!0,tabSize:8,extensions:A.value,scrollbarStyle:null},null,8,["modelValue","extensions"])]),_:1},8,["help"]),e.createVNode(S,{label:"动态标题",help:b.value.helps.titleScript||"按钮显示标题控制脚本,上下文参数:ctx,当前按钮对象:btn"},{default:e.withCtx(()=>[e.createVNode(e.unref(Zt.Codemirror),{modelValue:b.value.form.event.titleScript,"onUpdate:modelValue":k[22]||(k[22]=M=>b.value.form.event.titleScript=M),placeholder:"请输入按钮动态标题逻辑",style:{height:"250px"},autofocus:!0,"indent-with-tab":!0,tabSize:8,extensions:A.value,scrollbarStyle:null},null,8,["modelValue","extensions"])]),_:1},8,["help"])]),_:1})]),_:1})]),_:1},8,["rules","model"])]),_:1},8,["visible","title"])}}}),Z=(t,n)=>{const l=t.__vccOpts||t;for(const[o,a]of n)l[o]=a;return l},dl=Z(yd,[["__scopeId","data-v-18621ac1"]]),vd={key:0,class:"widget-opts"},kd={class:"widget-setting-dialog"},ht=Z(e.defineComponent({name:"UnioneWidget",__name:"widget",props:{wid:{type:String,required:!1},engine:{type:Object,required:!1},settingTitle:{type:String,default:"组件设置"},custome:{type:Boolean,default:!1},model:{type:String}},emits:["setting","saving"],setup(t,{expose:n,emit:l}){const o=t,a=l,i=e.ref(),d=e.ref(),r=e.ref(!1);function s(){d.value&&(r.value=!0),a("setting")}function f(){a("saving"),r.value=!1}function c(){return i.value?.clientHeight}function g(){return i.value?.clientWidth}const m=e.computed(()=>o.model||o.engine?.model||"run"),p=e.computed(()=>{const u=o.engine?.widgetActive||{};return u.wid?u.wid==o.wid:!1});function A(){o.engine&&o.wid&&m.value=="edit"&&(console.log("widget click,wid:"+o.wid+",widget",o.engine.$widgetMap[o.wid]),o.engine.ebus.$emit("cmd:exec",{name:"setActive",params:o.wid}))}function b(){o.engine&&o.wid&&o.engine.ebus.$emit("cmd:exec",{name:"del",params:o.wid})}function h(){o.engine&&o.wid&&o.engine.ebus.$emit("cmd:exec",{name:"copy",params:o.wid})}return n({getHeight:c,getWidth:g}),(u,v)=>{const N=e.resolveComponent("CopyOutlined"),w=e.resolveComponent("DeleteOutlined"),k=e.resolveComponent("SettingOutlined"),B=e.resolveComponent("a-tooltip"),S=e.resolveComponent("a-modal");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["unione-widget",m.value,p.value&&"active"]),ref_key:"widgetDom",ref:i,onClick:e.withModifiers(A,["stop"])},[m.value=="edit"?(e.openBlock(),e.createElementBlock("div",vd,[e.createVNode(N,{class:"opt",onClick:e.withModifiers(h,["stop"])}),e.createVNode(w,{class:"opt",onClick:e.withModifiers(b,["stop"])}),e.createVNode(B,{title:t.settingTitle},{default:e.withCtx(()=>[u.$slots["widget-setting"]||t.custome?(e.openBlock(),e.createBlock(k,{key:0,class:"widget-setting opt",onClick:s})):e.createCommentVNode("",!0)]),_:1},8,["title"])])):e.createCommentVNode("",!0),e.renderSlot(u.$slots,"default",{},void 0,!0),m.value=="edit"&&u.$slots["widget-setting"]?(e.openBlock(),e.createBlock(S,{key:1,title:t.settingTitle,ref_key:"settingModal",ref:d,open:r.value,"onUpdate:open":v[0]||(v[0]=y=>r.value=y),centered:"",width:"80%",onOk:f},{default:e.withCtx(()=>[e.createElementVNode("div",kd,[e.renderSlot(u.$slots,"widget-setting",{},void 0,!0)])]),_:3},8,["title","open"])):e.createCommentVNode("",!0)],2)}}}),[["__scopeId","data-v-5ce8d58a"]]),wd={class:"title"},Cd={class:"opts"},Ad=["src"],xd={class:"head-title"},Nd={class:"title"},Sd={class:"opts"},_d=["src"],Vd=Z(e.defineComponent({name:"UnioneBtn",__name:"btn",props:{wid:{type:String,required:!1},engine:{type:Object,required:!1},disabled:{type:Boolean,default:!1},type:{type:String},widget:{type:Object,required:!0,default(){return{}}},preset:{type:Array,default(){return[]}},ctx:{type:Object,default(){return{}}}},emits:["click"],setup(t,{emit:n}){const l=Le(),o=t,a=e.getCurrentInstance(),i=e.computed(()=>a?.appContext?.app),d=P.useSession(),r=e.computed(()=>o.engine?.widget(o.wid)||o.widget||{});e.watch(()=>r.value.event,()=>{f()},{deep:!0}),e.onMounted(()=>{f()});const s=e.ref({});function f(){r.value?.event&&(r.value.event.clickScript?s.value.click=new Function("ctx","btn","event",r.value.event.clickScript):typeof r.value.event.click=="function"?s.value.click=r.value.event.click:r.value.event.click?.enable&&r.value.event.click.scriptText&&(s.value.click=new Function("ctx","btn","event",r.value.event.click.scriptText)),r.value.event.disableScript?s.value.disable=new Function("ctx","btn",r.value.event.disableScript):typeof r.value.event.disable=="function"?s.value.disable=r.value.event.disable:r.value.event.disable?.enable&&r.value.event.disable.scriptText&&(s.value.disable=new Function("ctx","btn",r.value.event.disable.scriptText)),r.value.event.visibleScript?s.value.visible=new Function("ctx","btn",r.value.event.visibleScript):typeof r.value.event.visible=="function"?s.value.visible=r.value.event.visible:r.value.event.visible?.enable&&r.value.event.visible.scriptText&&(s.value.visible=new Function("ctx","btn",r.value.event.visible.scriptText)),r.value.event.titleScript?s.value.title=new Function("ctx","btn",r.value.event.titleScript):typeof r.value.event.title=="function"?s.value.title=r.value.event.title:r.value.event.title?.enable&&r.value.event.title.scriptText&&(s.value.title=new Function("ctx","btn",r.value.event.title.scriptText)))}const c=e.computed(()=>s.value.title?s.value.title(b.value,r.value):typeof r.value.title=="function"?r.value.title(b.value,r.value):r.value.title),g=e.computed(()=>s.value.visible?s.value.visible(b.value,r.value)!=!1:r.value.visible!=!1),m=e.computed(()=>o.disabled==!0?!0:s.value.disable?s.value.disable(b.value,r.value):r.value.disable==!0),p=e.ref(null);function A(){p.value?.open(r.value,x=>{console.log("btn props",x),Object.keys(x).forEach(E=>{r.value[E]=x[E]}),console.log("props btn",r.value)})}const b=e.computed(()=>({...o.ctx,user:d.getPrincipal(),token:d.getToken()})),h=e.ref({open:!1,ismax:!1}),u=e.computed(()=>{if(r.value.action?.href){let x=r.value.action.href;const E=x.matchAll("{[a-zA-Z.]*}"),_=[];let C=null;for(;C=E.next();){if(C&&C.value&&C.value[0]){let O=C.value[0].substring(1,C.value[0].length-1);_.includes(O)||_.push(O)}if(C.done)break}if(_.length>0)for(let O=0;O<_.length;O++){let T=_[O],V=P.utils.obj.getValue(b.value,T);V?V instanceof Object?x=x.replaceAll("{"+T+"}",JSON.stringify(V)):Array.isArray(V)?x=x.replaceAll("{"+T+"}",V.join(",")):x=x.replaceAll("{"+T+"}",V):x=x.replaceAll("{"+T+"}","")}return x.indexOf("?")==-1&&(x+="?"),(!r.value.action.component||r.value.action.component=="iframe")&&(x=x+"&isIframe=1"),x}return""}),v=e.computed(()=>{const x={};let E=r.value.action?.href||r.value.action?.link;if(E){const _=E.matchAll("{[a-zA-Z0-9.]*}"),C=[];let O=null;for(;O=_.next();){if(O&&O.value&&O.value[0]){let V=O.value[0].substring(1,O.value[0].length-1);C.includes(V)||C.push(V)}if(O.done)break}if(C.length>0)for(let V=0;V<C.length;V++){let $=C[V],I=P.utils.obj.getValue(b.value,$);I?I instanceof Object?E=E.replaceAll("{"+$+"}",JSON.stringify(I)):Array.isArray(I)?E=E.replaceAll("{"+$+"}",I.join(",")):E=E.replaceAll("{"+$+"}",I):E=E.replaceAll("{"+$+"}","")}const T=E.split("?")[1];T&&T.split("&").forEach(V=>{const $=V.split("=");$[0]&&$[1]&&(x[$[0]]=$[1])})}return r.value.action?.params&&r.value.action.params.filter(_=>_.value+"").forEach(_=>{if(new RegExp("\\{[a-zA-Z0-9\\.]*\\}").test(_.value)){let O=P.utils.obj.getValue(b.value,_.value);x[_.name]=O}else x[_.name]=_.value}),x}),N=n,w=e.inject("route"),k=e.inject("router");function B(x){if(l.isDebug&&console.log("unione btn click",r.value,x),!(s.value.click&&s.value.click(b.value,r.value,x)==!1)){if(r.value.action?.type=="drawer"||r.value.action?.type=="dialog"){h.value.open=!0;return}else if(r.value.action?.type=="route"){if(r.value.action.component&&i.value?.component(r.value.action.component)){const E=r.value.action.psn,_=w.path+"/"+r.value.name,C=r.value.action.title||r.value.title||r.value.label||r.value.name,O=w.name+":"+r.value.name;k.hasRoute(O)||k.addRoute(w.name,{path:_,name:O,title:C,component:i.value.component(r.value.action.component)}),k.push({path:_,query:{...v.value,psn:E}});return}if(r.value.action?.href||r.value.action?.link){if(r.value.action.link&&o.engine?.type.value=="code")return;k.push({path:r.value.action.href||r.value.action?.link,query:v.value});return}}N("click",{btn:r.value,event:x,ctx:b.value})}}function S(x){N("click",x)}function y(){o.engine?.ebus.$emit("table-list-search")}return(x,E)=>{const _=e.resolveComponent("a-button"),C=e.resolveComponent("unione-btn"),O=e.resolveComponent("a-dropdown"),T=e.resolveComponent("FullscreenOutlined"),V=e.resolveComponent("FullscreenExitOutlined"),$=e.resolveComponent("CloseOutlined"),I=e.resolveComponent("a-drawer"),F=e.resolveComponent("a-modal");return r.value.enable!=!1&&g.value?(e.openBlock(),e.createBlock(ht,{key:0,class:e.normalizeClass(["unione-btn",r.value.props?.block&&"unione-btn-block"]),model:t.engine?.model.value,onSetting:A,custome:!0,"setting-title":"按钮设置"},{default:e.withCtx(()=>[!r.value.widget||r.value.widget=="button"||r.value.widget=="unione-button"?(e.openBlock(),e.createBlock(_,e.mergeProps({key:0,disabled:m.value,size:r.value.size||"small",type:t.type||t.widget.type,shape:r.value.shape,class:"unione-btn-"+r.value.name,loading:r.value.loading,target:r.value.action?.target,title:r.value.tooltip,onClick:B},r.value.props),e.createSlots({default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(c.value)+" ",1)]),_:2},[r.value.icon?{name:"icon",fn:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.value.icon)))]),key:"0"}:void 0]),1040,["disabled","size","type","shape","class","loading","target","title"])):e.createCommentVNode("",!0),r.value.widget=="dropdown"?(e.openBlock(),e.createBlock(O,{key:1,trigger:[r.value.trigger||"hover"],class:e.normalizeClass([r.value.size||"small"])},{overlay:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(["dropdown-overlay",r.value.layout])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value.items,j=>(e.openBlock(),e.createBlock(C,{key:j.name,class:"item",widget:j,engine:t.engine,preset:t.preset,ctx:t.ctx,onClick:E[0]||(E[0]=U=>S(U))},null,8,["widget","engine","preset","ctx"]))),128))],2)]),default:e.withCtx(()=>[e.createVNode(_,{size:r.value.size||"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(c.value),1)]),_:1},8,["size"])]),_:1},8,["trigger","class"])):e.createCommentVNode("",!0),r.value.action?.type=="drawer"?(e.openBlock(),e.createBlock(I,{key:2,class:"unione-btn-drawer",open:h.value.open,"onUpdate:open":E[4]||(E[4]=j=>h.value.open=j),placement:r.value.action?.position,maskClosable:r.value.action?.maskClosable,width:h.value.ismax?"100%":r.value.action?.width,closable:!1,bodyStyle:{padding:0,overflow:!r.value.action.component||r.value.action.component=="iframe"?"hidden":"auto"}},{title:e.withCtx(()=>[e.createElementVNode("div",wd,[r.value.action?.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.value.action?.icon),{key:0,style:{"margin-right":"5px"}})):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(r.value.action?.title),1)])]),extra:e.withCtx(()=>[e.createElementVNode("div",Cd,[h.value.ismax?(e.openBlock(),e.createBlock(V,{key:1,class:"opt",onClick:E[2]||(E[2]=j=>h.value.ismax=!1)})):(e.openBlock(),e.createBlock(T,{key:0,class:"opt",onClick:E[1]||(E[1]=j=>h.value.ismax=!0)})),e.createVNode($,{class:"opt",onClick:E[3]||(E[3]=j=>h.value.open=!1)})])]),footer:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(["footer-btn","btn-"+r.value.wid])},null,2)]),default:e.withCtx(()=>[!r.value.action.component||r.value.action.component=="iframe"?(e.openBlock(),e.createElementBlock("iframe",{key:0,class:"unione-iframe unione-btn-iframe",src:u.value},null,8,Ad)):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.value.action.component),{key:1,psn:r.value.action.psn,params:v.value,actype:"drawer",teleport:".btn-"+r.value.wid,onReloadTableList:y},null,40,["psn","params","teleport"]))]),_:1},8,["open","placement","maskClosable","width","bodyStyle"])):e.createCommentVNode("",!0),r.value.action?.type=="dialog"?(e.openBlock(),e.createBlock(F,{key:3,class:"unione-btn-dialog",open:h.value.open,"onUpdate:open":E[8]||(E[8]=j=>h.value.open=j),width:h.value.ismax?"100%":r.value.action?.width,"wrap-class-name":[h.value.ismax&&"unione-modal-full"],maskClosable:r.value.action?.maskClosable,centered:"",closable:!1},{title:e.withCtx(()=>[e.createElementVNode("div",xd,[e.createElementVNode("div",Nd,[r.value.action?.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.value.action?.icon),{key:0,style:{"margin-right":"5px"}})):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(r.value.action?.title),1)]),e.createElementVNode("div",Sd,[h.value.ismax?(e.openBlock(),e.createBlock(V,{key:1,class:"opt",onClick:E[6]||(E[6]=j=>h.value.ismax=!1)})):(e.openBlock(),e.createBlock(T,{key:0,class:"opt",onClick:E[5]||(E[5]=j=>h.value.ismax=!0)})),e.createVNode($,{class:"opt",onClick:E[7]||(E[7]=j=>h.value.open=!1)})])])]),footer:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(["footer-btn","btn-"+r.value.wid])},null,2)]),default:e.withCtx(()=>[!r.value.action.component||r.value.action.component=="iframe"?(e.openBlock(),e.createElementBlock("iframe",{key:0,class:"unione-iframe unione-btn-iframe",src:u.value,style:e.normalizeStyle({height:r.value.action?.height?r.value.action?.height+"px":""})},null,12,_d)):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.value.action.component),{key:1,psn:r.value.action.psn,params:v.value,actype:"dialog",teleport:".btn-"+r.value.wid,onReloadTableList:y},null,40,["psn","params","teleport"]))]),_:1},8,["open","width","wrap-class-name","maskClosable"])):e.createCommentVNode("",!0),e.createVNode(dl,{ref_key:"btnSetting",ref:p,preset:o.preset},null,8,["preset"])]),_:1},8,["class","model"])):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-664f71aa"]]);function be(t,n=350){let l=null;return o=>{clearTimeout(l),l=setTimeout(()=>{t(o)},n)}}const Bd=e.defineComponent({name:"UnioneWidgetRender",__name:"render",props:{wid:{type:String,required:!1},engine:{type:Object,required:!1},define:{type:Object,required:!1},widget:{type:Object,required:!0}},setup(t){const n=t,l=e.computed(()=>n.engine?.widget(n.wid)||n.widget||{}),o=e.computed(()=>n.define?e.defineAsyncComponent(()=>Promise.resolve(n.define)):l.value.widget);return e.watch(()=>n.define?.style,be(a=>{if(!n.define)return;a&&(a=a.replace(/\.([a-zA-Z0-9_-]+)/g,"."+n.define.widget+" .$1"),a=a.replace("."+n.define.widget+" ."+n.define.widget,"."+n.define.widget));const i=document.querySelector('style[data-widget="'+n.define.widget+'"]');if(i)i.innerHTML=a;else{const d=document.createElement("style");d.setAttribute("data-widget",n.define.widget+""),d.innerHTML=a,document.head.appendChild(d)}},500),{immediate:!0}),(a,i)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.value),e.mergeProps({wid:t.wid,engine:t.engine,widget:l.value,class:l.value.widget},l.value.props),null,16,["wid","engine","widget","class"]))}}),Ed={key:1},Od={key:1,class:"widget-container"},Td=e.defineComponent({name:"UnioneContainer",__name:"container",props:e.mergeModels({wid:{type:String,required:!1},widget:{type:Object,required:!1},engine:{type:Object,required:!1},disabled:{type:Boolean,default:!1}},{formValue:{type:Object,required:!1,default:()=>{}},formValueModifiers:{}}),emits:["update:formValue"],setup(t){const n=t,l=e.useModel(t,"formValue"),o=e.ref([]),a=e.computed(()=>n.engine&&n.wid?n.engine.$widgetMap[n.wid]||n.widget||{}:n.widget||{});e.watch(()=>a.value,()=>{a.value?.widgets?o.value=[...a.value.widgets]:o.value=[]},{deep:!0,immediate:!0});const i=e.computed(()=>n.engine?.model||"run");function d(r){if(console.log("handleChange",r),r.added&&n.engine&&(r.added.element.index=r.added.newIndex,r.added.element.pid=a.value?.wid||"",n.engine.ebus.$emit("cmd:exec",{name:"add",params:r.added.element})),r.moved&&n.engine){const s=r.moved.element;n.engine.ebus.$emit("cmd:exec",{name:"move",params:{wid:s.wid,pid:s.pid,oldIndex:r.moved.oldIndex,newIndex:r.moved.newIndex}})}}return(r,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["unione-container",i.value])},[a.value&&t.engine&&i.value=="edit"?(e.openBlock(),e.createBlock(e.unref(On),{key:0,class:"widget-container",group:"widget-container",list:o.value,onChange:d,"item-key":"wid"},{item:e.withCtx(({element:f})=>[f.widget?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(f.widget),e.mergeProps({key:0,widget:f,engine:t.engine,disabled:t.disabled,formValue:l.value,"onUpdate:formValue":s[0]||(s[0]=c=>l.value=c)},f.props),null,16,["widget","engine","disabled","formValue"])):(e.openBlock(),e.createElementBlock("div",Ed,"组件为空名称:"+e.toDisplayString(f.title||f.id),1))]),_:1},8,["list"])):(e.openBlock(),e.createElementBlock("div",Od,[e.renderSlot(r.$slots,"default",{},()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,f=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:f.wid},[f.widget?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(f.widget),e.mergeProps({key:0,widget:f,engine:t.engine,disabled:t.disabled,formValue:l.value,"onUpdate:formValue":s[1]||(s[1]=c=>l.value=c),ref_for:!0},f.props),null,16,["widget","engine","disabled","formValue"])):e.createCommentVNode("",!0)],64))),128))])]))],2))}}),Rd={key:0,class:"unione-widget-empty-tip"},Fd=Z(e.defineComponent({name:"UnioneTabs",__name:"tabs",props:e.mergeModels({wid:{type:String,required:!1},engine:{type:Object,required:!1},widget:{type:Object,required:!1}},{formValue:{type:Object,default:()=>{}},formValueModifiers:{}}),emits:["update:formValue"],setup(t){const n=t,l=e.useModel(t,"formValue"),o=e.ref(),a=e.computed(()=>n.engine?.widget(n.wid)||n.widget);return e.watch(()=>a.value?.widgets,()=>{o.value&&!a.value?.widgets.find(d=>d.wid===o.value)&&a.value?.widgets.length&&(o.value=a.value?.widgets[0]?.wid)}),e.onMounted(()=>{o.value=a.value?.widgets[0]?.wid}),(i,d)=>{const r=e.resolveComponent("UnioneContainer"),s=e.resolveComponent("a-tab-pane"),f=e.resolveComponent("a-tabs");return e.openBlock(),e.createBlock(ht,{class:e.normalizeClass(["unione-layout","unione-layout-tabs"]),wid:a.value.wid,engine:n.engine},{default:e.withCtx(()=>[a.value?(e.openBlock(),e.createBlock(f,e.mergeProps({key:0,activeKey:o.value,"onUpdate:activeKey":d[1]||(d[1]=c=>o.value=c)},a.value.props),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value.widgets,c=>(e.openBlock(),e.createBlock(s,{class:"unione-layout-tab-pane",key:c.wid},{tab:e.withCtx(()=>[e.createElementVNode("span",null,[c.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(c.icon),{key:0})):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(c.title),1)])]),default:e.withCtx(()=>[e.createVNode(r,{engine:t.engine,wid:c.wid,widget:c,formValue:l.value,"onUpdate:formValue":d[0]||(d[0]=g=>l.value=g)},{default:e.withCtx(()=>[e.renderSlot(i.$slots,"default",{},void 0,!0)]),_:2},1032,["engine","wid","widget","formValue"]),c.widgets.length?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Rd,e.toDisplayString(c.emptyTips),1))]),_:2},1024))),128))]),_:3},16,["activeKey"])):e.createCommentVNode("",!0)]),_:3},8,["wid","engine"])}}}),[["__scopeId","data-v-d6fb1cbe"]]),$d={class:"title"},Id={class:"text"},Md={key:0,class:"reactive"},Dd={key:1,class:"opts"},Ud={class:"warp"},Ld=Z(e.defineComponent({name:"UnioneSection",__name:"section",props:e.mergeModels({title:{type:String,required:!1},icon:{type:String,required:!1},type:{type:String,required:!1},location:{type:String,default:"left"},reactive:{type:Boolean,default:!1},wid:{type:String,required:!1},engine:{type:Object,required:!1},widget:{type:Object,required:!1}},{formValue:{type:Object,default:()=>{}},formValueModifiers:{},modelValue:{type:Boolean,default:!0},modelModifiers:{}}),emits:["update:formValue","update:modelValue"],setup(t){const n=t,l=e.useModel(t,"formValue"),o=e.computed(()=>n.engine?.widget(n.wid)||n.widget||{}),a=e.computed(()=>o.value?.title||n.title),i=e.computed(()=>o.value?.props?.icon||n.icon),d=e.computed(()=>o.value?.props?.type||n.type),r=e.computed(()=>o.value?.props?.bottomLine||!1),s=e.useModel(t,"modelValue");function f(){n.reactive&&(s.value=!s.value)}return(c,g)=>{const m=e.resolveComponent("UnioneContainer");return e.openBlock(),e.createBlock(ht,{class:e.normalizeClass(["unione-layout","unione-layout-section",s.value?"open":"close"]),wid:o.value.wid,engine:n.engine},{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(["head",t.location,t.reactive&&"reactive",r.value&&"bottom-line"]),onClick:f},[e.createElementVNode("div",$d,[d.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["type",d.value])},null,2)):e.createCommentVNode("",!0),i.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(i.value),{key:1,class:"icon"})):e.createCommentVNode("",!0),e.createElementVNode("span",Id,e.toDisplayString(a.value),1)]),t.reactive?(e.openBlock(),e.createElementBlock("div",Md,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(s.value?"UpOutlined":"DownOutlined")))])):e.createCommentVNode("",!0),t.location=="left"?(e.openBlock(),e.createElementBlock("div",Dd,[e.renderSlot(c.$slots,"opts",{},void 0,!0)])):e.createCommentVNode("",!0)],2),e.withDirectives(e.createElementVNode("div",Ud,[e.createVNode(m,{engine:t.engine,wid:o.value.wid,formValue:l.value,"onUpdate:formValue":g[0]||(g[0]=p=>l.value=p)},{default:e.withCtx(()=>[e.renderSlot(c.$slots,"default",{},void 0,!0)]),_:3},8,["engine","wid","formValue"])],512),[[e.vShow,s.value]])]),_:3},8,["class","wid","engine"])}}}),[["__scopeId","data-v-48cb56cd"]]),jd={class:"unione-props-setting unione-form-setting"},Pd={class:"unione-form-btns"},qd={key:0},zd=["onClick"],Qd={class:"field-txt"},Hd=["onClick"],Yd={key:1,class:"field-txt"},Wd=["onClick"],Kd={key:0,class:"field-txt"},Gd={key:3,class:"edit-field"},Jd={key:0},Xd=["onClick"],Zd=Z(e.defineComponent({__name:"formSetting",props:{wid:{type:String,required:!0},editor:{type:Object,required:!0}},setup(t){const n=t,l=e.ref([{title:"序号",dataIndex:"index",key:"index",width:"30px",fixed:"left",align:"center",customRender:({index:y})=>y+1},{title:"字段名称",dataIndex:"name",key:"name",width:"70px",rowDrag:!0,resizable:!0,fixed:"left",align:"center"},{title:"字段标题",dataIndex:"title",key:"title",width:"90px",align:"center"},{title:"控件类型",dataIndex:"widget",key:"widget",width:"60px",align:"center"},{title:"验证规则",dataIndex:"rules",key:"rules",width:"60px",align:"center"},{title:"表单",dataIndex:"isForm",key:"isForm",width:"40px",align:"center"},{title:"详情",dataIndex:"isView",key:"isView",width:"40px",align:"center"},{title:"转换器",dataIndex:"convertName",key:"convertName",width:"50px",align:"center"}]),o=e.computed(()=>{const y=n.editor.widget(n.wid)||{};return y.configs||(y.configs={}),y.configs.settings||(y.configs.settings={}),y.configs.settings.btns||(y.configs.settings.btns=[]),y}),a=e.computed(()=>(n.editor.dataModels()||[]).map(x=>({value:x.sn,label:x.title+"("+x.name+")"}))),i=e.computed(()=>{const y=o.value.configs.settings.btns,x=y.map(E=>E.name);if(!x.includes("save")){const E={title:"保存",type:"primary",index:0,visible:!0,name:"save"};y.splice(E.index,0,E)}if(!x.includes("submit")){const E={title:"提交",type:"primary",index:1,visible:!0,name:"submit"};let _=E.index||1;y.splice(_,0,E)}if(!x.includes("reset")){const E={title:"重置",type:"default",index:2,visible:!0,props:{danger:!0},name:"reset"};y.splice(E.index,0,E)}if(!x.includes("back")){const E={title:"返回",type:"default",index:3,visible:!0,name:"back"};y.splice(E.index,0,E)}return y}),d=e.ref(null);function r(y){d.value&&d.value.open(y,x=>{x.visible=!0,Object.keys(x).forEach(E=>{y[E]=x[E]}),o.value.configs.settings.btns.sort((E,_)=>{const C=E.index||1,O=_.index||1;return C-O}),o.value.configs.settings.btns=[...o.value.configs.btns]})}function s(){const y=o.value.configs.settings.btns.length+1;let x={title:"新增",name:"new_"+y,index:y,size:"small",visible:!0,type:"default",props:{block:!1,ghost:!1,danger:!1},event:{}};x.name="new_"+o.value.configs.settings.btns.length;const E=o.value.configs.settings.btns.filter(_=>_.name==x.name).length;E>0&&(x.name=x.name+E),o.value.configs.settings.btns.push(x),n.editor.widget(n.wid,o.value),d.value.open(x,_=>{Object.keys(_).forEach(C=>{x[C]=_[C]}),o.value.configs.btns=[...o.value.configs.btns]})}function f(y){const x=()=>{if(["save","submit","reset","back"].includes(y.name))y.visible=!1,o.value.configs.settings.btns=[...o.value.configs.settings.btns];else{const E=[];o.value.configs.settings.btns.forEach(_=>{_.name!=y.name&&E.push(_)}),o.value.configs.settings.btns=E}};te.Modal.confirm({title:"确认信息",content:"请确定删除该工具?",onOk:()=>{x()}})}const c=e.ref({visible:!1,field:{},props:{},widgets:[{value:"a-input",label:"文本框"},{value:"a-textarea",label:"文本域"},{value:"a-input",label:"文本框"},{value:"a-checkbox",label:"多选框"},{value:"a-radio",label:"单选框"},{value:"a-input-number",label:"数值框"},{value:"a-select",label:"下拉框"},{value:"a-tree-select",label:"下拉树"},{value:"a-date-picker",label:"日期框"},{value:"a-input-password",label:"密码框"},{value:"a-input-search",label:"搜索框"},{value:"a-upload",label:"文件框"},{value:"unione-avatar",label:"头像框",disabled:!0},{value:"unione-picture-card",label:"照片墙"},{value:"a-switch",label:"开关"},{value:"a-slider",label:"滑块"}],widgetName:y=>{const x=c.value.widgets.filter(E=>E.value==y);return x[0]?x[0].label:y},toSetting:()=>{}}),g=e.ref({visible:!1,field:{},props:{},showInfo:y=>{let x="";return y.rules&&(x=y.rules.filter(E=>E.enable).length||""),x&&(x="("+x+")"),x},toSetting:()=>{const y=g.value.props,x={name:"range",trigger:y.trigger,whitespace:y.whitespace,message:y.rangeMessage};y.rangeMin!=null&&y.rangeMin!=null&&(x.min=y.rangeMin,x.enable=!0),y.rangeMax!=null&&y.rangeMax!=null&&(x.max=y.rangeMax,x.enable=!0);const E={name:"reg",trigger:y.trigger,whitespace:y.whitespace,message:y.regMessage};y.regExpress&&(E.pattern=y.regExpress,E.enable=!0),g.value.field.rules=[x,E],g.value.visible=!1,g.value.props={},console.log("rule",g.value.field.rules)}});function m(y){g.value.visible=!0,g.value.field=y;const x=y.rules||[],E={trigger:"change",whitespace:!0};x.forEach(_=>{_.name=="reg"&&(E.trigger=_.trigger,E.whitespace=_.whitespace,E.regExpress=_.pattern,E.regMessage=_.message),_.name=="range"&&(E.rangeMin=_.min,E.rangeMax=_.max,E.rangeMessage=_.message)}),g.value.props=E}const p=e.ref({title:"列头设置",prop:"isList",visible:!1,field:{},show:{},toSetting:()=>{p.value.visible=!1}});function A(y,x){const E=v.value.filter(C=>C.name==y.name);E.forEach(C=>{x!="isSort"?C[x]=!0:C[x]=!C[x]});const _=E[0];if(!(!_||x=="isSort")){switch(p.value.prop=x,p.value.field=y,_.show||(_.show={}),x){case"isQuery":_.show.query||(_.show.query={}),p.value.show=_.show.query,p.value.title=`查询设置/${y.title}(${y.name})`;break;case"isForm":_.show.form||(_.show.form={}),p.value.show=_.show.form,p.value.title=`表单设置/${y.title}(${y.name})`;break;case"isView":_.show.view||(_.show.view={}),p.value.show=_.show.view,p.value.title=`详情设置/${y.title}(${y.name})`;break;case"isList":_.show.list||(_.show.list={}),p.value.show=_.show.list,p.value.title=`列头设置/${y.title}(${y.name})`;break}p.value.visible=!0}}const b=e.ref({visible:!1,field:{},convert:{},optionColumn:[{title:"选项标题",dataIndex:"label"},{title:"选项值",dataIndex:"value"},{title:"操作",dataIndex:"action",width:"20%"}],toAddOption:()=>{b.value.convert.options||(b.value.convert.options=[]),b.value.convert.options.push({label:"",value:""})},toDelOption:(y,x)=>{b.value.convert.options.splice(y,1)},toSetting:()=>{b.value.visible=!1}});function h(y){b.value.visible=!0,b.value.field=y,b.value.convert=y.convert||{}}const u=e.computed(()=>n.editor?.dataModel(o.value.dataModel||"none")||{}),v=e.computed(()=>u.value.fields?.length?u.value.fields:[]),N={mounted:y=>y.focus()},w=e.ref({});function k(y,x){const E={};x=="convertName"?E[x]=y.convert?.type:E[x]=y[x]||"",w.value={},w.value[y.name]=E}function B(y,x){{w.value={};return}}function S(y,x){v.value.filter(_=>_.name==y.name).forEach(_=>{_[x]=!_[x]})}return(y,x)=>{const E=e.resolveComponent("a-divider"),_=e.resolveComponent("CloseOutlined"),C=e.resolveComponent("a-button"),O=e.resolveComponent("PlusOutlined"),T=e.resolveComponent("a-select"),V=e.resolveComponent("ToolOutlined"),$=e.resolveComponent("a-checkbox"),I=e.resolveComponent("a-table"),F=e.resolveComponent("a-select-option"),j=e.resolveComponent("a-form-item"),U=e.resolveComponent("a-form"),M=e.resolveComponent("a-modal"),Q=e.resolveComponent("a-checkbox-group"),D=e.resolveComponent("a-input-number"),R=e.resolveComponent("a-input"),J=e.resolveComponent("a-col"),q=e.resolveComponent("a-row");return e.openBlock(),e.createElementBlock("div",jd,[e.createVNode(E,{orientation:"left"},{default:e.withCtx(()=>x[23]||(x[23]=[e.createTextVNode("按钮设置")])),_:1}),e.createElementVNode("div",Pd,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,L=>(e.openBlock(),e.createBlock(C,e.mergeProps({key:L.name,class:["btn",L.name,!L.visible&&"deleted"],type:L.visible?L.type:"default",size:L.size,ref_for:!0},L.props||{},{onClick:ee=>r(L)}),e.createSlots({default:e.withCtx(()=>[e.createTextVNode(" "+e.toDisplayString(L.title)+" ",1),L.visible?(e.openBlock(),e.createBlock(_,{key:0,class:"btn-del",onClick:e.withModifiers(ee=>f(L),["stop"])},null,8,["onClick"])):e.createCommentVNode("",!0)]),_:2},[L.icon?{name:"icon",fn:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(L.icon)))]),key:"0"}:void 0]),1040,["class","type","size","onClick"]))),128)),e.createVNode(C,{class:e.normalizeClass(["btn","btn-add"]),size:"small",onClick:x[0]||(x[0]=L=>s())},{default:e.withCtx(()=>[e.createVNode(O)]),_:1})]),e.createVNode(E,{orientation:"left"},{default:e.withCtx(()=>x[24]||(x[24]=[e.createTextVNode("表单设置")])),_:1}),x[36]||(x[36]=e.createTextVNode(" 数据模型:")),e.createVNode(T,{class:"data-model-list",options:a.value,value:o.value.dataModel,"onUpdate:value":x[1]||(x[1]=L=>o.value.dataModel=L)},null,8,["options","value"]),e.createVNode(I,{columns:l.value,"data-source":v.value,bordered:"",scroll:{x:800},pagination:!1,"row-key":"name",size:"small"},{headerCell:e.withCtx(({column:L})=>[["widget","rules","convertName"].includes(L.key)?(e.openBlock(),e.createElementBlock("span",qd,[e.createVNode(V),e.createTextVNode(" "+e.toDisplayString(L.title),1)])):e.createCommentVNode("",!0)]),bodyCell:e.withCtx(({column:L,text:ee,record:W})=>[["rules"].includes(L.dataIndex)?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["edit-field",!g.value.showInfo(W)&&"empty"]),onClick:se=>m(W)},[e.createElementVNode("span",Qd,e.toDisplayString(g.value.showInfo(W)),1),g.value.showInfo(W)?(e.openBlock(),e.createBlock(C,{key:0,type:"link"},{default:e.withCtx(()=>x[25]||(x[25]=[e.createTextVNode("设置")])),_:1})):e.createCommentVNode("",!0)],10,zd)):["widget"].includes(L.dataIndex)?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["edit-field",(!w.value[W.name]||!Object.keys(w.value[W.name]).includes(L.dataIndex))&&!ee&&"empty"]),onClick:se=>k(W,L.dataIndex)},[w.value[W.name]&&Object.keys(w.value[W.name]).includes(L.dataIndex)?e.withDirectives((e.openBlock(),e.createBlock(T,{key:0,value:W[L.dataIndex],"onUpdate:value":se=>W[L.dataIndex]=se,options:c.value.widgets,onBlur:x[2]||(x[2]=se=>B())},null,8,["value","onUpdate:value","options"])),[[N]]):(e.openBlock(),e.createElementBlock("span",Yd,e.toDisplayString(c.value.widgetName(ee)),1))],10,Hd)):["convertName"].includes(L.dataIndex)?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(["edit-field",(!w.value[W.name]||!Object.keys(w.value[W.name]).includes(L.dataIndex))&&!W.convert?.type&&"empty"]),onClick:se=>k(W,L.dataIndex)},[w.value[W.name]&&Object.keys(w.value[W.name]).includes(L.dataIndex)?e.withDirectives((e.openBlock(),e.createBlock(T,{key:0,value:W[L.dataIndex],"onUpdate:value":se=>W[L.dataIndex]=se,options:[{value:"dict",label:"字典"},{value:"option",label:"静态"}],onBlur:x[3]||(x[3]=se=>B())},null,8,["value","onUpdate:value"])),[[N]]):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[W.convert?.type?(e.openBlock(),e.createElementBlock("span",Kd,e.toDisplayString(W.convert.type=="dict"?"字典":"静态"),1)):e.createCommentVNode("",!0),W.convert?.type?(e.openBlock(),e.createBlock(C,{key:1,type:"link",onClick:e.withModifiers(se=>h(W),["stop"])},{default:e.withCtx(()=>x[26]||(x[26]=[e.createTextVNode("设置")])),_:2},1032,["onClick"])):e.createCommentVNode("",!0)],64))],10,Wd)):["isForm","isView"].includes(L.dataIndex)?(e.openBlock(),e.createElementBlock("div",Gd,[e.createVNode($,{checked:W[L.dataIndex],onClick:se=>S(W,L.dataIndex)},null,8,["checked","onClick"]),e.createVNode(C,{type:"link",onClick:se=>A(W,L.dataIndex)},{default:e.withCtx(()=>x[27]||(x[27]=[e.createTextVNode("设置")])),_:2},1032,["onClick"])])):e.createCommentVNode("",!0)]),_:1},8,["columns","data-source"]),e.createVNode(M,{visible:c.value.visible,"onUpdate:visible":x[5]||(x[5]=L=>c.value.visible=L),title:"控件设置",onOk:c.value.toSetting},{default:e.withCtx(()=>[e.createVNode(U,{model:c.value.props,name:"basic","label-col":{span:6},"wrapper-col":{span:18},autocomplete:"off"},{default:e.withCtx(()=>[c.value.field.widget=="a-select"?(e.openBlock(),e.createBlock(j,{key:0,label:"下拉框类型"},{default:e.withCtx(()=>[e.createVNode(T,{value:c.value.props.mode,"onUpdate:value":x[4]||(x[4]=L=>c.value.props.mode=L),allowClear:!0},{default:e.withCtx(()=>[e.createVNode(F,{value:"multiple"},{default:e.withCtx(()=>x[28]||(x[28]=[e.createTextVNode("多选")])),_:1}),e.createVNode(F,{value:"tags"},{default:e.withCtx(()=>x[29]||(x[29]=[e.createTextVNode("标签")])),_:1})]),_:1},8,["value"])]),_:1})):e.createCommentVNode("",!0)]),_:1},8,["model"])]),_:1},8,["visible","onOk"]),e.createVNode(M,{visible:g.value.visible,"onUpdate:visible":x[13]||(x[13]=L=>g.value.visible=L),title:"规则设置",onOk:g.value.toSetting},{default:e.withCtx(()=>[e.createVNode(U,{model:g.value.props,name:"basic","label-col":{span:6},"wrapper-col":{span:18},autocomplete:"off",class:"form-mix"},{default:e.withCtx(()=>[e.createVNode(E,{orientation:"left"},{default:e.withCtx(()=>x[30]||(x[30]=[e.createTextVNode("基本设置")])),_:1}),e.createVNode(j,{label:"触发时机"},{default:e.withCtx(()=>[e.createVNode(Q,{value:g.value.props.trigger,"onUpdate:value":x[6]||(x[6]=L=>g.value.props.trigger=L),options:["change","blur"]},null,8,["value"])]),_:1}),g.value.field.isNull?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(j,{key:0,label:"忽略空格",class:"checkbox-tips"},{default:e.withCtx(()=>[e.createVNode($,{value:g.value.props.whitespace,"onUpdate:value":x[7]||(x[7]=L=>g.value.props.whitespace=L),checked:g.value.props.whitespace},{default:e.withCtx(()=>x[31]||(x[31]=[e.createTextVNode(" 必填验证开启时,是否忽略空格 ")])),_:1},8,["value","checked"])]),_:1})),e.createVNode(E,{orientation:"left"},{default:e.withCtx(()=>x[32]||(x[32]=[e.createTextVNode("数值区间")])),_:1}),e.createVNode(j,{label:"有效区间"},{default:e.withCtx(()=>[e.createVNode(D,{value:g.value.props.rangeMin,"onUpdate:value":x[8]||(x[8]=L=>g.value.props.rangeMin=L)},null,8,["value"]),x[33]||(x[33]=e.createElementVNode("span",{style:{margin:"auto 5px"}},null,-1)),e.createVNode(D,{value:g.value.props.rangeMax,"onUpdate:value":x[9]||(x[9]=L=>g.value.props.rangeMax=L)},null,8,["value"])]),_:1}),e.createVNode(j,{label:"错误提示"},{default:e.withCtx(()=>[e.createVNode(R,{value:g.value.props.rangeMessage,"onUpdate:value":x[10]||(x[10]=L=>g.value.props.rangeMessage=L)},null,8,["value"])]),_:1}),e.createVNode(E,{orientation:"left"},{default:e.withCtx(()=>x[34]||(x[34]=[e.createTextVNode("正则验证")])),_:1}),e.createVNode(j,{label:"表达式"},{default:e.withCtx(()=>[e.createVNode(R,{value:g.value.props.regExpress,"onUpdate:value":x[11]||(x[11]=L=>g.value.props.regExpress=L)},null,8,["value"])]),_:1}),e.createVNode(j,{label:"错误提示"},{default:e.withCtx(()=>[e.createVNode(R,{value:g.value.props.regMessage,"onUpdate:value":x[12]||(x[12]=L=>g.value.props.regMessage=L)},null,8,["value"])]),_:1})]),_:1},8,["model"])]),_:1},8,["visible","onOk"]),e.createVNode(M,{visible:p.value.visible,"onUpdate:visible":x[20]||(x[20]=L=>p.value.visible=L),title:p.value.title,onOk:p.value.toSetting},{default:e.withCtx(()=>[e.createVNode(U,{model:p.value.show,name:"basic","label-col":{span:6},"wrapper-col":{span:18},autocomplete:"off"},{default:e.withCtx(()=>[e.createVNode(j,{label:"显示顺序"},{default:e.withCtx(()=>[e.createVNode(D,{value:p.value.show.index,"onUpdate:value":x[14]||(x[14]=L=>p.value.show.index=L)},null,8,["value"])]),_:1}),["isQuery"].includes(p.value.prop)?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(j,{key:0,label:"显示宽度"},{default:e.withCtx(()=>[e.createVNode(R,{value:p.value.show.width,"onUpdate:value":x[15]||(x[15]=L=>p.value.show.width=L)},null,8,["value"])]),_:1})),["isForm","isView"].includes(p.value.prop)?(e.openBlock(),e.createBlock(j,{key:1,label:"标题宽度"},{default:e.withCtx(()=>[e.createVNode(R,{value:p.value.show.labelWidth,"onUpdate:value":x[16]||(x[16]=L=>p.value.show.labelWidth=L)},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),["isForm","isView"].includes(p.value.prop)?(e.openBlock(),e.createBlock(j,{key:2,label:"控件宽度"},{default:e.withCtx(()=>[e.createVNode(R,{value:p.value.show.valueWidth,"onUpdate:value":x[17]||(x[17]=L=>p.value.show.valueWidth=L)},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),["isList"].includes(p.value.prop)?(e.openBlock(),e.createBlock(j,{key:3,label:"固定位置"},{default:e.withCtx(()=>[e.createVNode(T,{value:p.value.show.fixed,"onUpdate:value":x[18]||(x[18]=L=>p.value.show.fixed=L),options:[{value:"",label:"无"},{value:"left",label:"靠左"},{value:"right",label:"靠右"}]},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),["isList"].includes(p.value.prop)?(e.openBlock(),e.createBlock(j,{key:4,label:"对齐方式"},{default:e.withCtx(()=>[e.createVNode(T,{value:p.value.show.align,"onUpdate:value":x[19]||(x[19]=L=>p.value.show.align=L),options:[{value:"left",label:"左对齐"},{value:"center",label:"居中"},{value:"right",label:"右对齐"}]},null,8,["value"])]),_:1})):e.createCommentVNode("",!0)]),_:1},8,["model"])]),_:1},8,["visible","title","onOk"]),e.createVNode(M,{visible:b.value.visible,"onUpdate:visible":x[22]||(x[22]=L=>b.value.visible=L),title:b.value.convert.type=="dict"?"字典设置":"选项设置",onOk:b.value.toSetting},{default:e.withCtx(()=>[b.value.convert.type!="dict"?(e.openBlock(),e.createElementBlock("div",Jd,[e.createVNode(C,{class:"editable-add-btn",style:{"margin-bottom":"8px"},onClick:b.value.toAddOption},{default:e.withCtx(()=>x[35]||(x[35]=[e.createTextVNode("新增")])),_:1},8,["onClick"]),e.createVNode(I,{columns:b.value.optionColumn,"data-source":b.value.convert.options,size:"small"},{bodyCell:e.withCtx(({column:L,record:ee,index:W})=>[L.dataIndex==="label"?(e.openBlock(),e.createBlock(R,{key:0,value:ee.label,"onUpdate:value":se=>ee.label=se,style:{margin:"-5px 0"}},null,8,["value","onUpdate:value"])):e.createCommentVNode("",!0),L.dataIndex==="value"?(e.openBlock(),e.createBlock(R,{key:1,value:ee.value,"onUpdate:value":se=>ee.value=se,style:{margin:"-5px 0"}},null,8,["value","onUpdate:value"])):e.createCommentVNode("",!0),L.dataIndex==="action"?(e.openBlock(),e.createElementBlock("a",{key:2,onClick:se=>b.value.toDelOption(W,ee)},"删除",8,Xd)):e.createCommentVNode("",!0)]),_:1},8,["columns","data-source"])])):e.createCommentVNode("",!0),b.value.convert.type=="dict"?(e.openBlock(),e.createBlock(U,{key:1,model:b.value.convert,name:"basic","label-col":{span:8},"wrapper-col":{span:16},autocomplete:"off"},{default:e.withCtx(()=>[e.createVNode(q,{type:"flex",style:{width:"100%"}},{default:e.withCtx(()=>[e.createVNode(J,{span:24,order:1},{default:e.withCtx(()=>[e.createVNode(j,{label:"字典名称:"},{default:e.withCtx(()=>[e.createVNode(R,{value:b.value.convert.dict,"onUpdate:value":x[21]||(x[21]=L=>b.value.convert.dict=L)},null,8,["value"])]),_:1})]),_:1})]),_:1})]),_:1},8,["model"])):e.createCommentVNode("",!0)]),_:1},8,["visible","title","onOk"]),e.createVNode(dl,{ref_key:"btnSetting",ref:d},null,512)])}}}),[["__scopeId","data-v-c0f75bb9"]]),ec={key:0,class:"form-left"},tc={key:1,class:"form-warp"},nc={key:2,class:"form-right"},lc=Z(e.defineComponent({__name:"form",props:{wid:{type:String,required:!1},engine:{type:Object,required:!1},widget:{type:Object,required:!1},form:{type:Object,required:!1},model:{type:String}},emits:["onload"],setup(t,{expose:n,emit:l}){const o=t,a=l,i=e.ref(!1),d=e.ref(!1),r=e.ref(),s=e.ref({}),f=e.ref(null),c=e.ref(new Ve);e.onMounted(()=>{if(s.value||(s.value={}),o.engine?c.value=o.engine:c.value.loadConfig({widgets:m.value}),g.value.dsn){const C=c.value.dataManager();g.value.primary&&C.psn(g.value.dsn),f.value.setDisabled=y,f.value.getValue=N,f.value.setValue=w,f.value.reset=k,r.value=C.useForm(g.value.dsn,f.value,O=>{s.value=O.body||{},a("onload",s.value)})}(o.model||o.form?.model)&&c.value.setModel(o.model||o.form?.model),B()});const g=e.computed(()=>o.wid&&c.value.$widgetMap[o.wid]?c.value.$widgetMap[o.wid]:o.widget||o.form||{widgets:[]}),m=e.computed(()=>{let C=g.value.widgets||[];!C.length&&o.form?.fields&&(C=o.form.fields);const O=T=>{T.forEach(V=>{V.wid||(V.wid=Xt.uniqueId("w:")),V.name&&(V.widget||(V.widget="unione-form-item"),!V.control&&V.widget=="unione-form-item"&&(V.control="a-input")),V.widgets&&O(V.widgets)})};return O(C),C}),p=e.computed(()=>m.value.filter(C=>C.float=="left")),A=e.computed(()=>m.value.filter(C=>!C.float)),b=e.computed(()=>m.value.filter(C=>C.float=="right")),h=e.inject("pageSetting",{}),u=e.computed(()=>g.value.setting||o.form?.setting||h?.form||{}),v=e.computed(()=>{const C={};return u.value&&(C.labelAlign=u.value.labelAlign||"right",C.layout="horizontal",u.value.labelAlign=="top"&&(C.labelAlign="left",C.layout="vertical"),C.size=u.value.formSize||"default"),C});e.provide("formSetting",u.value),e.provide("formChanged",C=>{i.value=C});function N(){return s.value}function w(C){s.value=C||{},i.value=!0,B()}function k(){s.value={},i.value=!1,B(),c.value.ebus.$emit("form-reset")}function B(){const C=O=>{if(O.name&&(O.value||O.value==0)){if(O.event?.visible){let V=null;if(typeof O.event.visible=="function"?V=O.event.visible:O.event.visible.enable&&(V=new Function("value","ctx",O.event.visible.scriptText)),V&&!V(O.value,s.value))return}const T=P.utils.obj.getValue(s.value,O.name);(!T&&T!=0||T=="undefined")&&P.utils.obj.setValue(s.value,O.name,O.value)}O.widgets?.forEach(T=>{C(T)})};m.value.forEach(O=>{C(O)})}function S(){return new Promise((C,O)=>{f.value.validate().then(T=>{C(s.value)}).catch(T=>{O(T)})})}function y(C=!0){d.value=C,c.value.ebus.$emit("form-disabled",C)}function x(){return g.value.widgets||[]}function E(){return i.value}function _(){i.value=!1}return n({validate:S,getValue:N,setValue:w,reset:k,setDisabled:y,getWidgets:x,isChanged:E,recover:_}),(C,O)=>{const T=e.resolveComponent("UnioneContainer"),V=e.resolveComponent("a-form");return c.value?(e.openBlock(),e.createBlock(ht,{key:0,class:"unione-form-widget","setting-title":"表单设置",engine:c.value},e.createSlots({default:e.withCtx(()=>[e.createVNode(V,e.mergeProps({ref_key:"formObj",ref:f,model:s.value,class:["unione-form",c.value.model,"form-layout-col-"+(u.value.showColumn||1)]},v.value,{labelCol:{span:u.value.labelWidth||4},wrapperCol:{span:24-u.value.labelWidth||4}}),{default:e.withCtx(()=>[e.createVNode(T,{engine:c.value,wid:g.value.wid,disabled:d.value,formValue:s.value,"onUpdate:formValue":O[0]||(O[0]=$=>s.value=$),class:"form-widget-container"},{default:e.withCtx(()=>[p.value?.length&&s.value?(e.openBlock(),e.createElementBlock("div",ec,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,$=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent($.widget),{key:$.name,widget:$,engine:c.value,disabled:d.value,formValue:s.value},null,8,["widget","engine","disabled","formValue"]))),128))])):e.createCommentVNode("",!0),s.value?(e.openBlock(),e.createElementBlock("div",tc,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(A.value,$=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent($.widget),e.mergeProps({key:$.name,widget:$,engine:c.value,disabled:d.value,formValue:s.value,ref_for:!0},$.props),null,16,["widget","engine","disabled","formValue"]))),128))])):e.createCommentVNode("",!0),b.value?.length&&s.value?(e.openBlock(),e.createElementBlock("div",nc,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value,$=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent($.widget),e.mergeProps({key:$.name,widget:$,engine:c.value,disabled:d.value,formValue:s.value,ref_for:!0},$.props),null,16,["widget","engine","disabled","formValue"]))),128))])):e.createCommentVNode("",!0)]),_:1},8,["engine","wid","disabled","formValue"])]),_:1},16,["model","class","labelCol","wrapperCol"])]),_:2},[t.engine&&g.value.wid?{name:"widget-setting",fn:e.withCtx(()=>[e.createVNode(Zd,{wid:g.value.wid,editor:t.engine},null,8,["wid","editor"])]),key:"0"}:void 0]),1032,["engine"])):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-a880ace9"]]);function za(t,n=!1){const l=Le();if(!t)return Promise.reject("字典名称不能为空");const o=localStorage.getItem("UNIONE-DICT-"+t);return o&&n==!1?Promise.resolve(JSON.parse(o)):(l.isDebug&&console.log("进入:加载字典数据方法,dict name:"+t+",force:"+n),new Promise((a,i)=>{P.axios.admin({url:"/api/base/dict/load/"+t}).then(d=>{if(d.success){const r=d.body.filter(s=>s.dictName!=s.dictKey);r.forEach(s=>{s.value=s.dictKey,s.label=s.dictValue}),r.length?(localStorage.setItem("UNIONE-DICT-"+t,JSON.stringify(r)),a(r)):i("字典加载失败,dict:"+t+",字典项列表为空")}else l.isDebug&&console.error("字典加载失败,dict:"+t,d),i("字典加载失败,dict:"+t+",error:"+d.message)})}))}async function Qa(t,n){const l=Le();if(n==null||n==null||n=="undefined"||!(n+"").length)return Promise.reject("字典key为空");const o=typeof n=="number"?[n+""]:n.split(","),a=await za(t),i=a.filter(d=>o.includes(d.dictKey));return i.length>0?Promise.resolve(i):(l.isDebug&&console.log("字典项匹配失败,name:"+t+",key:"+n+"options:",a),Promise.reject("字典项匹配失败,name:"+t+",key:"+n))}async function oc(t,n){const l=await Qa(t,n);return Promise.resolve(l.map(o=>o.dictValue).join(","))}const Ha={load:za,getLabel:oc,getOption:Qa};class st{types;convertObj;config;options;constructor(n){this.config=Le(),(!n||!n.types)&&this.config.isDebug&&console.error("转换器定义不能为空,type不能为空",n),n.valueField||(n.valueField="id"),n.labelField||(n.labelField="title"),this.types=n.types,this.convertObj=n,this.options=n.options||[]}load(n,l=!1){return!(n==null||n==null||n=="undefined"||!(n+"").length)&&this.options?.length&&this.options.filter(o=>o.value==n).length?Promise.resolve(this.options):this.convertObj.types=="dict"?new Promise((o,a)=>{if(!this.convertObj.dictName)return this.config.isDebug&&console.error("字典名称不能为空,id:"+this.convertObj.id),a();Ha.load(this.convertObj.dictName,l).then(i=>{this.options=i,typeof n=="number"&&this.options.forEach(d=>{d.value=parseInt(d.value)}),o(this.options)})}):this.convertObj.types=="option"?(this.options=this.convertObj.options||[],this.convertObj.options?.length?Promise.resolve(this.convertObj.options):(this.config.isDebug&&console.error("静态转换器选项为空,id:"+this.convertObj.id,this.convertObj),Promise.reject())):!this.convertObj.id&&this.convertObj.types!="local"?(this.config.isDebug&&console.error("转换器id不能为空,type:"+this.convertObj.types),Promise.reject()):new Promise((o,a)=>{const i={body:this.convertObj.params||{}};this.convertObj.pidField&&(i.pid=-1);const d=this.convertObj.types=="local"?this.convertObj.url:"/api/data/convertor/"+this.convertObj.id;if(!d)return a("转换器url不能为空,type:"+this.convertObj.types+",id:"+this.convertObj.id);P.axios[this.convertObj.ctx||"admin"]({url:d,data:i,method:"POST"}).then(r=>{r.success?(this.options=r.body,this.$processOptions(this.options),typeof n=="number"&&this.options.forEach(s=>{s.value=parseInt(s.value)}),n==null||n==null||n=="undefined"||!(n+"").length?this.options.length?o(this.options):(this.config.isDebug&&console.error("数据选项为空,type:"+this.convertObj.types+",id:"+this.convertObj.id,r),a("数据选项为空,type:"+this.convertObj.types+",id:"+this.convertObj.id)):this.options.filter(f=>f.value==n).length?o(this.options):(i.body||(i.body={}),i.body[this.convertObj.valueField||"id"]=n,P.axios[this.convertObj.ctx||"admin"]({url:d,data:i,method:"POST"}).then(f=>{if(f.success){const c={};this.options.forEach(g=>{c[n]=!0}),f.body.forEach(g=>{c[g.value]||this.options.push(g)}),o(this.options)}else a("数据选项为空,type:"+this.convertObj.types+",id:"+this.convertObj.id)}))):(this.config.isDebug&&console.error("数据选项加载失败,type:"+this.convertObj.types+",id:"+this.convertObj.id,r),a("数据选项加载失败,type:"+this.convertObj.types+",id:"+this.convertObj.id+",error:"+r.message))})})}convert(n){if(n==null||n==null||n=="undefined"||!(n+"").length)return Promise.reject("value为空");if(this.convertObj.types=="dict")return this.convertObj.dictName?Ha.getLabel(this.convertObj.dictName,n):Promise.reject("字典名称不能为空");const l=typeof n=="number"?[n]:n.split(",");if(this.convertObj.types=="option"){if(this.convertObj.options?.length){const o=this.convertObj.options.filter(a=>l.includes(a.value)).map(a=>a.label);return o.length?Promise.resolve(o.join(",")):(this.config.isDebug&&console.error("静态转换器选项匹配失败,id:"+this.convertObj.id+",value:"+n,this.convertObj),Promise.reject())}return this.config.isDebug&&console.error("静态转换器选项为空,id:"+this.convertObj.id),Promise.reject()}if(this.options?.length){const o=this.options.filter(a=>l.includes(a.value)).map(a=>a.label);if(o.length)return Promise.resolve(o.join(","))}return new Promise((o,a)=>{this.load(n).then(i=>{const d=i.filter(r=>l.includes(r.value)).map(r=>r.label);if(d.length)return Promise.resolve(d.join(","));a()})})}children(n=-1){return this.config.isDebug&&console.log("进入:加载下级数据项方法,id:"+this.convertObj.id+",type:"+this.convertObj.types+",pid:"+n),this.convertObj.pidField?this.convertObj.types=="dict"||this.convertObj.types=="option"?(this.config.isDebug&&console.error("字典/静态转换器不支持该方法,type:"+this.convertObj.types+",id:"+this.convertObj.id),Promise.reject()):new Promise((o,a)=>{const i=this.convertObj.types=="local"?this.convertObj.url:"/api/data/convertor/"+this.convertObj.id;P.axios[this.convertObj.ctx||"admin"]({url:i,data:n,method:"POST"}).then(d=>{d.success?(this.$processOptions(d.body),this.options=[...this.options,...d.body],o(d.body)):(this.config.isDebug&&console.error("加载下级数据项失败,type:"+this.convertObj.types+",id:"+this.convertObj.id+",pid:"+n,d),a())})}):(this.config.isDebug&&console.error("转换器未设置parentField,id:"+this.convertObj.id),Promise.reject())}search(n){if(this.config.isDebug&&console.log("进入:搜索数据选项方法,id:"+this.convertObj.id+",type:"+this.convertObj.types+",keywords:"+n),this.convertObj.types=="dict"||this.convertObj.types=="option")return Promise.resolve(this.options.filter(o=>o.label.indexOf(n)>=0));const l={...this.convertObj.params||{}};return new Promise(o=>{const a=this.convertObj.types=="local"?this.convertObj.url:"/api/data/convertor/"+this.convertObj.id;P.axios[this.convertObj.ctx||"admin"]({url:a,data:{body:{...l},keywords:n},method:"POST"}).then(i=>{i.success?(this.$processOptions(i.body),o(i.body)):o([])})})}$processOptions(n){return this.convertObj.types=="local"&&!this.convertObj.process&&n.forEach(l=>{this.convertObj.idField&&(l.id=l[this.convertObj.idField]),this.convertObj.pidField&&(l.pid=l[this.convertObj.pidField]),l.value=l[this.convertObj.valueField||"id"],l.label=l[this.convertObj.labelField||"title"]}),this.convertObj.process?this.convertObj.process(n):n}}const io=[{name:"number",title:"数字",express:String.raw`/^\d+$/`,error:"请输入正确的数字"},{name:"money",title:"金额",express:String.raw`/^([1-9][\d]*|0)(\.[\d]+)?$/`,error:"请输入正确的金额"},{name:"tel",title:"手机号",express:String.raw`/^1[3456789]\d{9}$/`,error:"请输入正确的手机号码"},{name:"phone",title:"手机/电话",express:String.raw`/^1[3456789]\d{9}$|^0\d{2,3}-?\d{7,8}$/`,error:"请输入正确的联系方式"},{name:"email",title:"邮箱",express:String.raw`/^[a-z0-9]+([._\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$/`,error:"请输入正确的邮箱"},{name:"idcard",title:"身份证号码",express:String.raw`/^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/`,error:"请输入正确的身份证号码"}];function Ya(){const t=Le();if(t.formRules?.length){const n={};io.forEach(o=>{n[o.name]=o});const l=[...io];return t.formRules.forEach(o=>{const a=n[o.name];a?Object.assign(a,o):l.push(a)}),l}return io}const Wa={loadAdvances:Ya},ac=["innerHTML"],ic={key:2,class:"text-view"},rc=Z(e.defineComponent({__name:"formItem",props:e.mergeModels({wid:{type:String,required:!1},engine:{type:Object,required:!1},widget:{type:Object,required:!1},formValue:{type:Object,required:!0},disabled:{type:Boolean,defualt:!1},allowClear:{type:Boolean,default:!1}},{value:{},valueModifiers:{}}),emits:["update:value"],setup(t){const n=t,l=e.useModel(t,"value"),o=e.computed(()=>d.value.showFormat?d.value.showFormat.call(this,l.value,{label:k.value,form:n.formValue}):k.value||l.value),a=e.inject("formSetting"),i=e.inject("formChanged");e.onMounted(()=>{const B=P.utils.obj.getValue(n.formValue,r.value.name);B!=null&&typeof B<"u"&&B!=""&&(l.value=B),b.value=Ya()});const d=e.ref({}),r=e.computed(()=>{const B=n.engine?.widget(n.wid)||n.widget||{};return B.event&&Object.keys(B.event).forEach(S=>{const y=B.event[S];y&&(d.value[S]=null,typeof y=="function"?d.value[S]=y:y.enable&&y.scriptText&&(d.value[S]=new Function("value","ctx",y.scriptText)))}),B});e.watch(()=>P.utils.obj.getValue(n.formValue,r.value.name),(B,S)=>{B!=S&&(l.value=B)});const s=e.computed(()=>d.value.disabled?d.value.disabled(l.value,n.formValue):n.disabled),f=e.computed(()=>!(d.value.visible&&d.value.visible(l.value,n.formValue)==!1||r.value.view?.visible=="1")),c=e.computed(()=>{if(r.value.view?.hideLabel=="0")return"";if(d.value.title)return d.value.title(l.value,n.formValue)||r.value.title;if(n.engine&&r.value.name){let B=null,S=n.engine.widget(r.value.pid||"-1");for(;S;){if(S.dsn){B=S.dsn;break}if(!S.pid)break;S=n.engine.widget(S.pid)}if(B&&n.engine.dataModels){const y=n.engine.dataModels.find(x=>x.dsn===B);if(y){const x=y.fields.filter(E=>E.name==r.value.name)[0];if(x&&x.title)return r.value.title=x.title,x.title}}else if(n.engine.dataModels){const y=n.engine.dataModels[0];if(y){const x=y.fields.filter(E=>E.name==r.value.name)[0];if(x&&x.title)return r.value.title=x.title,x.title}}}return r.value.title});function g(){d.value.blur&&d.value.blur(l.value,n.formValue)}function m(B){r.value.name&&(P.utils.obj.setValue(n.formValue,r.value.name,l.value),p(B))}const p=be(()=>{if(i&&i(!0),d.value.change){d.value.change(l.value,n.formValue);return}r.value.change&&r.value.change(l.value,n.formValue)}),A=e.computed(()=>{let B=r.value.props?.required;if(d.value.required)try{B=d.value.required(l.value,n.formValue)}catch(S){console.error("form item required event error:",S)}return!!B}),b=e.ref({}),h=e.computed(()=>{const B=[],S=r.value.rule||{};if(A.value&&B.push({required:!0,whitespace:S?.whitespace||!1,trigger:S?.trigger||a?.ruleTrigger||"change",validator:(y,x)=>(S?.whitespace&&x&&typeof x=="string"&&(x=x.trim()),x!=null&&x!=null&&(x+"").replace(/\s+/g,"").length>0?Promise.resolve():Promise.reject(c.value+"不能为空!"))}),S.advance&&b.value[S.advance]){const y=b.value[S.advance];B.push({pattern:y.pattern,message:y.message||"表单验证不通过!",trigger:S.trigger||a?.ruleTrigger||"change"})}return S.regExpress&&B.push({pattern:S.regExpress,message:S.regMessage||"表单验证不通过!",trigger:S.trigger||a?.ruleTrigger||"change"}),r.value.dataLen&&B.push({validator:(y,x)=>x&&(x+"").length>r.value.dataLen?Promise.reject("最大长度["+r.value.dataLen+"],当前:["+(x+"").length+"]"):Promise.resolve(),trigger:S?.trigger||a?.ruleTrigger||"change"}),B}),u=e.computed(()=>{const B=r.value.props||{};if(r.value.control=="a-input-number"){const y=r.value.rule||{};y.rangeMin!=null&&y.rangeMin!=null&&(B.min=y.rangeMin),y.rangeMax!=null&&y.rangeMax!=null&&(B.max=y.rangeMax)}r.value.control=="a-date-picker"&&r.value.view?.dataFormat&&(B.format=r.value.view.dataFormat,B.valueFormat=r.value.view.dataFormat),r.value.required&&(B.required=r.value.required);const S={...B};return delete S.prefix,delete S.suffix,S}),v=e.computed(()=>{const B=r.value.css||{},S=["form-item-"+r.value.name];return B.cssName&&S.push(B.cssName),a?.platform=="app"?B.cssName?typeof B.cssName=="string"&&B.cssName.indexOf("all-line")<0&&S.push("all-line"):S.push("all-line"):r.value.view?.width&&(r.value.view.width>=3?(!B.cssName||typeof B.cssName=="string"&&B.cssName.indexOf("all-line")<0)&&S.push("all-line"):r.value.view.width==2&&S.push("2in-line")),S}),N=e.computed(()=>{let B=r.value.view?.labelWidth;return B?{span:B}:null}),w=e.computed(()=>({span:24-N.value?.span||0})),k=e.ref();return e.watch(l,()=>{(l.value||l.value==0)&&n.engine?.model=="view"&&r.value.convert&&new st(r.value.convert).convert(l.value+"").then(B=>{k.value=B})}),(B,S)=>{const y=e.resolveComponent("a-form-item");return e.openBlock(),e.createBlock(ht,{class:e.normalizeClass(["unione-form-item",v.value]),style:e.normalizeStyle(r.value.css?.cssText),wid:r.value.wid,engine:n.engine},{default:e.withCtx(()=>[f.value?(e.openBlock(),e.createBlock(y,{key:0,label:c.value,name:r.value.name,labelCol:N.value,wrapperCol:w.value,required:A.value,rules:h.value,help:(!n.engine||n.engine.model.value!="view")&&r.value.props?.help,tooltip:r.value.props?.tooltip,class:e.normalizeClass([r.value.view?.gridWidth&&"ant-col-"+r.value.view?.gridWidth])},{default:e.withCtx(()=>[!n.engine||r.value.view=="self"||n.engine.model!="view"&&r.value.view!="html"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.value.control||r.value.widget||"a-input"),e.mergeProps({key:0,wid:r.value.wid,widget:r.value,engine:n.engine,disabled:s.value,allowClear:t.allowClear,onChange:m,onBlur:g,value:l.value,"onUpdate:value":S[0]||(S[0]=x=>l.value=x),formValue:t.formValue},u.value,{style:{width:r.value.view?.valueWidth,...r.value.css?.props}}),e.createSlots({_:2},[r.value.props?.prefix?{name:"prefix",fn:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.value.props?.prefix)))]),key:"0"}:void 0,r.value.props?.suffix?{name:"suffix",fn:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.value.props?.suffix)))]),key:"1"}:void 0]),1040,["wid","widget","engine","disabled","allowClear","value","formValue","style"])):r.value.view=="html"?(e.openBlock(),e.createElementBlock("div",{key:1,class:"text-view text-html",innerHTML:o.value},null,8,ac)):(e.openBlock(),e.createElementBlock("div",ic,e.toDisplayString(o.value),1)),e.renderSlot(B.$slots,"default",{},void 0,!0)]),_:3},8,["label","name","labelCol","wrapperCol","required","rules","help","tooltip","class"])):e.createCommentVNode("",!0)]),_:3},8,["class","style","wid","engine"])}}}),[["__scopeId","data-v-800ee59e"]]),sc=Z(e.defineComponent({__name:"selectBox",props:e.mergeModels({wid:{type:String,required:!1},engine:{type:Object,required:!1},widget:{type:Object,required:!1},convert:{type:Object,required:!1},options:{type:Array,required:!1},formValue:{type:Object},mode:{type:String,default:"combobox"},valueType:{type:String,default:"string"}},{value:{},valueModifiers:{}}),emits:e.mergeModels(["change"],["update:value"]),setup(t,{emit:n}){const l=Le(),o=n,a=t,i=e.ref(),d=e.useModel(t,"value"),r=e.ref([]),s=e.computed(()=>r.value?.length?r.value:a.options?.length?a.options:[]),f=e.computed(()=>{const N=h.value.convert||a.convert||{};if(N.refValue){const w={};return N.refValue.split(",").forEach(B=>{const S=B.split("=");S.length==1?w[S[0]]=P.utils.obj.getValue(a.formValue,S[0]):w[S[0]]=P.utils.obj.getValue(a.formValue,S[1])}),w}return{}}),c=e.computed(()=>(h.value.convert||a.convert||{}).search||!1),g=be(N=>{const w=h.value.convert||a.convert||{};w.params={...A.value,...f.value},u.value.search(N).then(k=>{l.isDebug&&console.log(h.value.name+" search ",N,k),e.nextTick(()=>{r.value=[...k]})})},500);function m(N,w){b.value.select&&b.value.select(N,{option:w,formValue:a.formValue})}function p(){v()}const A=e.ref();e.onMounted(()=>{const N=h.value.convert||a.convert||{};A.value=N.params||{},N.params={...A.value,...f.value},a.mode=="multiple"&&typeof d.value=="string"&&(i.value=d.value.split(",")),u.value.load(d.value).then(w=>{r.value=w})});const b=e.ref({}),h=e.computed(()=>{const N=a.engine?.widget(a.wid)||a.widget||{};return N.event&&Object.keys(N.event).forEach(w=>{const k=N.event[w];k&&(b.value[w]=null,typeof k=="function"?b.value[w]=k:k.enable&&k.scriptText&&(b.value[w]=new Function("value","ctx",k.scriptText)))}),N}),u=e.computed(()=>{const N=h.value.convert||a.convert||{};return new st(N)});e.watch(()=>h.value.convert||a.convert||{},be(()=>{l.isDebug&&console.log(h.value.name+" convert changed",d.value),a.engine?.model=="edit"&&u.value.load().then(N=>{r.value=N})}),{deep:!0}),e.watch(d,be(()=>{d.value!=null&&d.value!==""&&d.value!==void 0&&(d.value+"").length>0&&(a.mode=="multiple"&&typeof d.value=="string"?i.value=d.value.split(","):(i.value=d.value,r.value[0]&&(typeof r.value[0].value=="number"?i.value=Number(i.value):typeof r.value[0].value=="string"&&(i.value=String(i.value)))),u.value.types!="dict"&&u.value.types!="option"&&(r.value.find(w=>w.value===d.value)||(l.isDebug&&console.log(h.value.name+" model value changed",d.value),u.value.load(d.value).then(w=>{r.value=w}))))},200)),e.watch(()=>f.value,be(()=>{if(l.isDebug&&console.log(h.value.name+" ref value changed",f.value),f.value&&u.value.types!="dict"&&u.value.types!="option"){const N=h.value.convert||a.convert||{};N.params={...A.value,...f.value},r.value.find(k=>k.value===d.value)||u.value.load(d.value,!0).then(k=>{r.value=k})}},200),{deep:!0}),e.watch(i,v);function v(){Array.isArray(i.value)&&a.valueType=="string"?d.value=i.value.join(","):d.value=i.value,o("change",d.value)}return(N,w)=>{const k=e.resolveComponent("a-select");return e.openBlock(),e.createBlock(k,{class:"unione-form-select",options:s.value,showSearch:c.value,mode:t.mode,filterOption:!u.value?.search,value:i.value,"onUpdate:value":w[0]||(w[0]=B=>i.value=B),onSearch:e.unref(g),onSelect:m,onChange:p},null,8,["options","showSearch","mode","filterOption","value","onSearch"])}}}),[["__scopeId","data-v-a72e89d0"]]),dc=Z(e.defineComponent({__name:"switchBox",props:e.mergeModels({engine:{type:Object,required:!1},widget:{type:Object,required:!1},convert:{type:Object,required:!1}},{value:{},valueModifiers:{}}),emits:e.mergeModels(["change"],["update:value"]),setup(t,{emit:n}){const l=n,o=t,a=e.useModel(t,"value");function i(g){l("change",g)}const d=e.ref({});e.onMounted(()=>{f.value.load(a.value).then(g=>{c(g)})});const r=e.ref({}),s=e.computed(()=>{const g=o.widget||{};return g.event&&Object.keys(g.event).forEach(m=>{const p=g.event[m];p&&(r.value[m]=null,typeof p=="function"?r.value[m]=p:p.enable&&p.scriptText&&(r.value[m]=new Function("value","ctx",p.scriptText)))}),g}),f=e.computed(()=>{const g=s.value.convert||o.convert||{};return new st(g)});function c(g){g.forEach(m=>{m.value&&(m.value===!0||m.value=="1"||m.value=="true"||m.value=="TRUE")?(d.value.checkedChildren=m.label,m.value===!0||m.value=="true"||m.value=="TRUE"?d.value.checkedValue=!0:d.value.checkedValue=Number.isNaN(m.value)?m.value:Number(m.value)):(d.value.unCheckedChildren=m.label,m.value===!1||m.value=="false"||m.value=="FALSE"?d.value.unCheckedValue=!1:d.value.unCheckedValue=Number.isNaN(m.value)?m.value:Number(m.value))})}return e.watch(()=>s.value.convert||o.convert||{},be(()=>{f.value.load().then(g=>{c(g)})}),{deep:!0}),(g,m)=>{const p=e.resolveComponent("a-switch");return e.openBlock(),e.createBlock(p,e.mergeProps({class:"unione-form-switch"},d.value,{checked:a.value,"onUpdate:checked":m[0]||(m[0]=A=>a.value=A),onChange:i}),null,16,["checked"])}}}),[["__scopeId","data-v-e4555df5"]]),cc=Z(e.defineComponent({__name:"radioBox",props:e.mergeModels({wid:{type:String,required:!1},engine:{type:Object,required:!1},widget:{type:Object,required:!1},convert:{type:Object,required:!1},options:{type:Array,required:!1},formValue:{type:Object},layout:{type:String,default:"horizontal"}},{value:{},valueModifiers:{}}),emits:["update:value"],setup(t){const n=t,l=e.useModel(t,"value"),o=e.ref([]),a=e.computed(()=>o.value?.length?o.value:n.options?.length?n.options:[]),i=e.computed(()=>{const g=s.value.convert||n.convert||{};if(g.refValue){const m={};return g.refValue.split(",").forEach(A=>{const b=A.split("=");b.length==1?m[b[0]]=P.utils.obj.getValue(n.formValue,b[0]):m[b[0]]=P.utils.obj.getValue(n.formValue,b[1])}),console.log(s.value.name+" ref field:"+g.refValue+",ref value",m),m}return{}}),d=e.ref();e.onMounted(()=>{const g=s.value.convert||n.convert||{};d.value=g.params||{},g.params={...d.value,...i.value},f.value.load(l.value||s.value.value).then(m=>{o.value=m})});const r=e.ref({}),s=e.computed(()=>{const g=n.engine?.widget(n.wid)||n.widget||{};return g.event&&Object.keys(g.event).forEach(m=>{const p=g.event[m];p&&(r.value[m]=null,typeof p=="function"?r.value[m]=p:p.enable&&p.scriptText&&(r.value[m]=new Function("value","ctx",p.scriptText)))}),g}),f=e.computed(()=>{const g=s.value.convert||n.convert||{};return new st(g)});e.watch(()=>s.value.convert||n.convert||{},be(()=>{f.value.load().then(g=>{o.value=g})}),{deep:!0}),e.watch(()=>i.value,()=>{if(console.log(s.value.name+" ref value changed",i.value),i.value){const g=s.value.convert||n.convert||{};g.params={...d.value,...i.value},f.value.load(void 0,!0).then(m=>{o.value=m})}},{deep:!0});function c(g){r.value?.select&&r.value.select(g.value,{option:g,formValue:n.formValue})}return(g,m)=>{const p=e.resolveComponent("QuestionCircleOutlined"),A=e.resolveComponent("a-tooltip"),b=e.resolveComponent("a-radio"),h=e.resolveComponent("a-radio-group");return e.openBlock(),e.createBlock(h,{class:e.normalizeClass(["unione-form-radio",t.layout]),value:l.value,"onUpdate:value":m[0]||(m[0]=u=>l.value=u)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,u=>(e.openBlock(),e.createBlock(b,{key:u.value,value:u.value,onClick:v=>c(u)},{default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(u.label),1),u.help?(e.openBlock(),e.createBlock(A,{key:0,title:u.help},{default:e.withCtx(()=>[e.createVNode(p,{class:"icon"})]),_:2},1032,["title"])):e.createCommentVNode("",!0)]),_:2},1032,["value","onClick"]))),128))]),_:1},8,["class","value"])}}}),[["__scopeId","data-v-747bb329"]]),uc=Z(e.defineComponent({__name:"checkBox",props:e.mergeModels({wid:{type:String,required:!1},engine:{type:Object,required:!1},returnType:{type:String,default:"string"},widget:{type:Object,required:!1},convert:{type:Object,required:!1},options:{type:Array,required:!1},formValue:{type:Object},layout:{type:String,default:"horizontal"}},{value:{},valueModifiers:{}}),emits:e.mergeModels(["change"],["update:value"]),setup(t,{emit:n}){const l=t,o=e.useModel(t,"value"),a=e.ref(),i=e.ref([]),d=e.computed(()=>{const A=c.value.convert||l.convert||{};return A.types=="option"?A.options||[]:i.value?.length?i.value:l.options?.length?l.options:[]}),r=e.computed(()=>{const A=c.value.convert||l.convert||{};if(A.refValue){const b={};return A.refValue.split(",").forEach(u=>{const v=u.split("=");v.length==1?b[v[0]]=P.utils.obj.getValue(l.formValue,v[0]):b[v[0]]=P.utils.obj.getValue(l.formValue,v[1])}),console.log(c.value.name+" ref field:"+A.refValue+",ref value",b),b}return{}}),s=e.ref();e.onMounted(()=>{const A=o.value||c.value.value||"";l.returnType==="string"?a.value=A.split(","):a.value=A;const b=c.value.convert||l.convert||{};s.value=b.params||{},b.params={...s.value,...r.value},p.value.load().then(h=>{i.value=h})});const f=e.ref({}),c=e.computed(()=>{const A=l.engine?.widget(l.wid)||l.widget||{};return A.event&&Object.keys(A.event).forEach(b=>{const h=A.event[b];f.value[b]=null,h.enable&&h.scriptText&&(f.value[b]=new Function("value","ctx",h.scriptText))}),A}),g=n;function m(A){l.returnType==="string"?o.value=A.join(","):o.value=A,console.log("checkbox changed",o.value),g("change",o.value)}const p=e.computed(()=>{const A=c.value.convert||l.convert||{};return new st(A)});return e.watch(()=>c.value.convert||l.convert||{},be(()=>{p.value.load().then(A=>{i.value=A})}),{deep:!0}),e.watch(()=>o.value,()=>{a.value=Array.isArray(o.value)?o.value:[],o.value&&!Array.isArray(o.value)&&(a.value=o.value.split(","))}),e.watch(()=>r.value,()=>{if(console.log(c.value.name+" ref value changed",r.value),r.value){a.value=[],l.returnType==="string"?o.value="":o.value=[];const A=c.value.convert||l.convert||{};A.params={...s.value,...r.value},p.value.load(void 0,!0).then(b=>{i.value=b})}},{deep:!0}),(A,b)=>{const h=e.resolveComponent("QuestionCircleOutlined"),u=e.resolveComponent("a-tooltip"),v=e.resolveComponent("a-checkbox-group");return e.openBlock(),e.createBlock(v,{class:e.normalizeClass(["unione-form-checkbox",t.layout]),options:d.value,value:a.value,"onUpdate:value":b[0]||(b[0]=N=>a.value=N),onChange:m},{label:e.withCtx(N=>[e.createElementVNode("span",null,e.toDisplayString(N.label),1),N.help?(e.openBlock(),e.createBlock(u,{key:0,title:N.help},{default:e.withCtx(()=>[e.createVNode(h,{class:"icon"})]),_:2},1032,["title"])):e.createCommentVNode("",!0)]),_:1},8,["class","options","value"])}}}),[["__scopeId","data-v-676fca1e"]]),fc=Z(e.defineComponent({__name:"checkSwitch",props:e.mergeModels({wid:{type:String,required:!1},engine:{type:Object,required:!1},model:{type:Object,default(){return{checked:!0,unchecked:!1}}},widget:{type:Object,required:!1},convert:{type:Object,required:!1},options:{type:Array,required:!1},formValue:{type:Object},layout:{type:String,default:"horizontal"}},{value:{},valueModifiers:{}}),emits:e.mergeModels(["change"],["update:value"]),setup(t,{emit:n}){const l=t,o=e.useModel(t,"value"),a=e.ref([]),i=e.computed(()=>{const p=s.value.convert||l.convert||{};return p.types=="option"?p.options||[]:a.value?.length?a.value:l.options?.length?l.options:[]}),d=e.computed(()=>{const p=s.value.convert||l.convert||{};if(p.refValue){const A={};return p.refValue.split(",").forEach(h=>{const u=h.split("=");u.length==1?A[u[0]]=P.utils.obj.getValue(l.formValue,u[0]):A[u[0]]=P.utils.obj.getValue(l.formValue,u[1])}),console.log(s.value.name+" ref field:"+p.refValue+",ref value",A),A}return{}}),r=e.ref();e.onMounted(()=>{o.value||(o.value={},f("change",o.value));const p=s.value.convert||l.convert||{};r.value=p.params||{},p.params={...r.value,...d.value},m.value.load().then(A=>{a.value=A})});const s=e.computed(()=>l.engine?.widget(l.wid)||l.widget||{}),f=n;function c(p){s.value.name=="this"&&l.formValue?l.formValue[p.value]==l.model.checked?l.formValue[p.value]=l.model.unchecked:l.formValue[p.value]=l.model.checked:(o.value||(o.value={}),o.value[p.value]==l.model.checked?o.value[p.value]=l.model.unchecked:o.value[p.value]=l.model.checked,f("change",o.value))}function g(p){return s.value.name=="this"&&l.formValue?l.formValue[p.value]==l.model.checked:(o.value||(o.value={}),o.value&&o.value[p.value]==l.model.checked)}const m=e.computed(()=>{const p=s.value.convert||l.convert||{};return new st(p)});return e.watch(()=>s.value.convert||l.convert||{},be(()=>{m.value.load().then(p=>{a.value=p})}),{deep:!0}),e.watch(()=>d.value,()=>{if(d.value){const p=s.value.convert||l.convert||{};p.params={...r.value,...d.value},m.value.load(void 0,!0).then(A=>{a.value=A})}},{deep:!0}),(p,A)=>{const b=e.resolveComponent("QuestionCircleOutlined"),h=e.resolveComponent("a-tooltip"),u=e.resolveComponent("a-checkbox");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["unione-check-switch",t.layout])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,v=>(e.openBlock(),e.createBlock(u,{key:v.value,checked:g(v),onChange:N=>c(v)},{default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(v.label),1),v.help?(e.openBlock(),e.createBlock(h,{key:0,title:v.help},{default:e.withCtx(()=>[e.createVNode(b,{class:"icon"})]),_:2},1032,["title"])):e.createCommentVNode("",!0)]),_:2},1032,["checked","onChange"]))),128))],2)}}}),[["__scopeId","data-v-3e89bc45"]]),pc=Z(e.defineComponent({__name:"pwdBox",props:{value:{},valueModifiers:{}},emits:["update:value"],setup(t){const n=e.ref(),l=e.useModel(t,"value");return e.watch(()=>n.value,()=>{n.value?l.value=P.utils.sm2Encrypt(n.value):l.value=""}),(o,a)=>{const i=e.resolveComponent("a-input-password");return e.openBlock(),e.createBlock(i,{class:"unione-form-password",value:n.value,"onUpdate:value":a[0]||(a[0]=d=>n.value=d)},null,8,["value"])}}}),[["__scopeId","data-v-4515a2af"]]),mc=Z(e.defineComponent({__name:"randomInput",props:e.mergeModels({wid:{type:String,required:!1},engine:{type:Object,required:!1},widget:{type:Object,required:!1},len:{type:Number,default:10},disabled:{type:Boolean,defualt:!1}},{value:{},valueModifiers:{}}),emits:["update:value"],setup(t){const n=t,l=e.useModel(t,"value");function o(){n.disabled||(l.value=Pa(n.len))}return e.onMounted(()=>{e.nextTick(()=>{(!l.value||typeof l.value>"u")&&(n.disabled||o())}),n.engine?.ebus.$on("form-reset",()=>{n.disabled||o()})}),(a,i)=>{const d=e.resolveComponent("SyncOutlined"),r=e.resolveComponent("a-input");return e.openBlock(),e.createBlock(r,{class:"unione-form-random-input",value:l.value,"onUpdate:value":i[0]||(i[0]=s=>l.value=s),disabled:t.disabled},{suffix:e.withCtx(()=>[e.createVNode(d,{style:{color:"rgba(0, 0, 0, 0.45)"},onClick:o})]),_:1},8,["value","disabled"])}}}),[["__scopeId","data-v-f2fb0f2e"]]),gc=["disabled"],hc=Z(e.defineComponent({__name:"uploadBox",props:e.mergeModels({wid:{type:String,required:!1},engine:{type:Object,required:!1},widget:{type:Object,required:!1},listType:{type:String,default:"text"},formValue:{type:Object},btnLabel:{type:String,default:"上传文件"},valueType:{type:String,default:"array"},autoUpload:{type:Boolean,default:!1},beforeUpload:{type:Function,required:!1},disabled:{type:Boolean,default:!1}},{value:{},valueModifiers:{}}),emits:e.mergeModels(["change"],["update:value"]),setup(t,{emit:n}){const l=t,o=n,a=e.useModel(t,"value"),i=e.ref([]);e.watch(a,()=>{i.value=[],a.value&&(Array.isArray(a.value)?i.value=a.value:(a.value.startsWith("[")&&a.value.endsWith("]")||a.value.startsWith("{")&&a.value.endsWith("}"))&&(i.value=JSON.parse(a.value)))});function d(s){return l.beforeUpload?l.beforeUpload(s):l.autoUpload}function r({fileList:s}){l.valueType=="array"?(a.value=s,o("change",s)):(a.value=JSON.stringify(s),o("change",JSON.stringify(s)))}return(s,f)=>{const c=e.resolveComponent("upload-outlined"),g=e.resolveComponent("a-button"),m=e.resolveComponent("plus-outlined"),p=e.resolveComponent("a-upload");return e.openBlock(),e.createBlock(p,{class:"unione-form-upload-box","file-list":i.value,"onUpdate:fileList":f[0]||(f[0]=A=>i.value=A),disabled:t.disabled||t.engine?.model=="view",beforeUpload:d,"list-type":t.listType,onChange:r},{default:e.withCtx(()=>[(!t.disabled||t.engine?.model!="view")&&t.listType=="text"?(e.openBlock(),e.createBlock(g,{key:0,disabled:t.disabled},{default:e.withCtx(()=>[e.createVNode(c),e.createTextVNode(" "+e.toDisplayString(t.btnLabel),1)]),_:1},8,["disabled"])):e.createCommentVNode("",!0),(!t.disabled||t.engine?.model!="view")&&t.listType!="text"?(e.openBlock(),e.createElementBlock("div",{key:1,class:"btn-upload-pic",disabled:t.disabled},[e.createVNode(m),f[1]||(f[1]=e.createElementVNode("span",{class:"text"},"Upload",-1))],8,gc)):e.createCommentVNode("",!0)]),_:1},8,["file-list","disabled","list-type"])}}}),[["__scopeId","data-v-c4b004a7"]]),ro=[{title:"线框风格",name:"Outlined",groups:[{title:"通用图标",icons:["AccountBookOutlined","AimOutlined","AlertOutlined","ApartmentOutlined","ApiOutlined","AppstoreAddOutlined","AppstoreOutlined","AudioOutlined","AudioMutedOutlined","AuditOutlined","BankOutlined","BarcodeOutlined","BarsOutlined","BellOutlined","BlockOutlined","BookOutlined","BorderOutlined","BorderlessTableOutlined","BranchesOutlined","BugOutlined","BuildOutlined","BulbOutlined","CalculatorOutlined","CalendarOutlined","CameraOutlined","CarOutlined","CarryOutOutlined","CiCircleOutlined","CiOutlined","ClearOutlined","CloudDownloadOutlined","CloudOutlined","CloudServerOutlined","CloudSyncOutlined","CloudUploadOutlined","ClusterOutlined","CodeOutlined","CoffeeOutlined","CommentOutlined","CompassOutlined","CompressOutlined","ConsoleSqlOutlined","ContactsOutlined","ContainerOutlined","ControlOutlined","CopyrightCircleOutlined","CopyrightOutlined","CreditCardOutlined","CrownOutlined","CustomerServiceOutlined","DashboardOutlined","DatabaseOutlined","DeleteColumnOutlined","DeleteRowOutlined","DeliveredProcedureOutlined","DeploymentUnitOutlined","DesktopOutlined","DingtalkOutlined","DisconnectOutlined","DislikeOutlined","DollarCircleOutlined","DollarOutlined","DownloadOutlined","EllipsisOutlined","EnvironmentOutlined","EuroCircleOutlined","EuroOutlined","ExceptionOutlined","ExpandAltOutlined","ExpandOutlined","ExperimentOutlined","ExportOutlined","EyeOutlined","EyeInvisibleOutlined","FieldBinaryOutlined","FieldNumberOutlined","FieldStringOutlined","FieldTimeOutlined","FileAddOutlined","FileDoneOutlined","FileExcelOutlined","FileExclamationOutlined","FileOutlined","FileGifOutlined","FileImageOutlined","FileJpgOutlined","FileMarkdownOutlined","FilePdfOutlined","FilePptOutlined","FileProtectOutlined","FileSearchOutlined","FileSyncOutlined","FileTextOutlined","FileUnknownOutlined","FileWordOutlined","FileZipOutlined","FilterOutlined","FireOutlined","FlagOutlined","FolderAddOutlined","FolderOutlined","FolderOpenOutlined","FolderViewOutlined","ForkOutlined","FormatPainterOutlined","FrownOutlined","FunctionOutlined","FundProjectionScreenOutlined","FundViewOutlined","FunnelPlotOutlined","GatewayOutlined","GifOutlined","GiftOutlined","GlobalOutlined","GoldOutlined","GroupOutlined","HddOutlined","HeartOutlined","HistoryOutlined","HolderOutlined","HomeOutlined","HourglassOutlined","IdcardOutlined","ImportOutlined","InboxOutlined","InsertRowAboveOutlined","InsertRowBelowOutlined","InsertRowLeftOutlined","InsertRowRightOutlined","InsuranceOutlined","InteractionOutlined","KeyOutlined","LaptopOutlined","LayoutOutlined","LikeOutlined","LineOutlined","LinkOutlined","Loading3QuartersOutlined","LoadingOutlined","LockOutlined","MacCommandOutlined","MailOutlined","ManOutlined","MedicineBoxOutlined","MehOutlined","MenuOutlined","MergeCellsOutlined","MessageOutlined","MobileOutlined","MoneyCollectOutlined","MonitorOutlined","MoreOutlined","NodeCollapseOutlined","NodeExpandOutlined","NodeIndexOutlined","NotificationOutlined","NumberOutlined","OneToOneOutlined","PaperClipOutlined","PartitionOutlined","PayCircleOutlined","PercentageOutlined","PhoneOutlined","PictureOutlined","PlaySquareOutlined","PoundCircleOutlined","PoundOutlined","PoweroffOutlined","PrinterOutlined","ProfileOutlined","ProjectOutlined","PropertySafetyOutlined","PullRequestOutlined","PushpinOutlined","QrcodeOutlined","ReadOutlined","ReconciliationOutlined","RedEnvelopeOutlined","ReloadOutlined","RestOutlined","RobotOutlined","RocketOutlined","RotateLeftOutlined","RotateRightOutlined","SafetyCertificateOutlined","SafetyOutlined","SaveOutlined","ScanOutlined","ScheduleOutlined","SearchOutlined","SecurityScanOutlined","SelectOutlined","SendOutlined","SettingOutlined","ShakeOutlined","ShareAltOutlined","ShopOutlined","ShoppingCartOutlined","ShoppingOutlined","SisternodeOutlined","SkinOutlined","SmileOutlined","SolutionOutlined","SoundOutlined","SplitCellsOutlined","StarOutlined","SubnodeOutlined","SwitcherOutlined","SyncOutlined","TableOutlined","TabletOutlined","TagOutlined","TagsOutlined","TeamOutlined","ThunderboltOutlined","ToTopOutlined","ToolOutlined","TrademarkCircleOutlined","TrademarkOutlined","TransactionOutlined","TranslationOutlined","TrophyOutlined","UngroupOutlined","UnlockOutlined","UploadOutlined","UsbOutlined","UserAddOutlined","UserDeleteOutlined","UserOutlined","UserSwitchOutlined","UsergroupAddOutlined","UsergroupDeleteOutlined","VerifiedOutlined","VideoCameraAddOutlined","VideoCameraOutlined","WalletOutlined","WhatsAppOutlined","WifiOutlined","WomanOutlined"]},{title:"方向图标",icons:["StepBackwardOutlined","StepForwardOutlined","FastBackwardOutlined","FastForwardOutlined","ShrinkOutlined","ArrowsAltOutlined","DownOutlined","UpOutlined","LeftOutlined","RightOutlined","CaretUpOutlined","CaretDownOutlined","CaretLeftOutlined","CaretRightOutlined","UpCircleOutlined","DownCircleOutlined","LeftCircleOutlined","RightCircleOutlined","DoubleRightOutlined","DoubleLeftOutlined","VerticalLeftOutlined","VerticalRightOutlined","VerticalAlignTopOutlined","VerticalAlignMiddleOutlined","VerticalAlignBottomOutlined","ForwardOutlined","BackwardOutlined","RollbackOutlined","EnterOutlined","RetweetOutlined","SwapOutlined","SwapLeftOutlined","SwapRightOutlined","ArrowUpOutlined","ArrowDownOutlined","ArrowLeftOutlined","ArrowRightOutlined","PlayCircleOutlined","UpSquareOutlined","DownSquareOutlined","LeftSquareOutlined","RightSquareOutlined","LoginOutlined","LogoutOutlined","MenuFoldOutlined","MenuUnfoldOutlined","BorderBottomOutlined","BorderHorizontalOutlined","BorderInnerOutlined","BorderOuterOutlined","BorderLeftOutlined","BorderRightOutlined","BorderTopOutlined","BorderVerticleOutlined","PicCenterOutlined","PicLeftOutlined","PicRightOutlined","RadiusBottomleftOutlined","RadiusBottomrightOutlined","RadiusUpleftOutlined","RadiusUprightOutlined","FullscreenOutlined","FullscreenExitOutlined"]},{title:"提示图标",icons:["QuestionOutlined","QuestionCircleOutlined","PlusOutlined","PlusCircleOutlined","PauseOutlined","PauseCircleOutlined","MinusOutlined","MinusCircleOutlined","PlusSquareOutlined","MinusSquareOutlined","InfoOutlined","InfoCircleOutlined","ExclamationOutlined","ExclamationCircleOutlined","CloseOutlined","CloseCircleOutlined","CloseSquareOutlined","CheckOutlined","CheckCircleOutlined","CheckSquareOutlined","ClockCircleOutlined","WarningOutlined","IssuesCloseOutlined","StopOutlined"]},{title:"编辑图标",icons:["EditOutlined","FormOutlined","CopyOutlined","ScissorOutlined","DeleteOutlined","SnippetsOutlined","DiffOutlined","HighlightOutlined","AlignCenterOutlined","AlignLeftOutlined","AlignRightOutlined","BgColorsOutlined","BoldOutlined","ItalicOutlined","UnderlineOutlined","StrikethroughOutlined","RedoOutlined","UndoOutlined","ZoomInOutlined","ZoomOutOutlined","FontColorsOutlined","FontSizeOutlined","LineHeightOutlined","DashOutlined","SmallDashOutlined","SortAscendingOutlined","SortDescendingOutlined","DragOutlined","OrderedListOutlined","UnorderedListOutlined","RadiusSettingOutlined","ColumnWidthOutlined","ColumnHeightOutlined"]},{title:"数据图标",icons:["AreaChartOutlined","PieChartOutlined","BarChartOutlined","DotChartOutlined","LineChartOutlined","RadarChartOutlined","HeatMapOutlined","FallOutlined","RiseOutlined","StockOutlined","BoxPlotOutlined","FundOutlined","SlidersOutlined"]},{title:"品牌图标",icons:["AndroidOutlined","AppleOutlined","WindowsOutlined","IeOutlined","ChromeOutlined","GithubOutlined","AliwangwangOutlined","DingdingOutlined","WeiboSquareOutlined","WeiboCircleOutlined","TaobaoCircleOutlined","Html5Outlined","WeiboOutlined","TwitterOutlined","WechatOutlined","YoutubeOutlined","AlipayCircleOutlined","TaobaoOutlined","SkypeOutlined","QqOutlined","MediumWorkmarkOutlined","GitlabOutlined","MediumOutlined","LinkedinOutlined","GooglePlusOutlined","DropboxOutlined","FacebookOutlined","CodepenOutlined","CodeSandboxOutlined","AmazonOutlined","GoogleOutlined","CodepenCircleOutlined","AlipayOutlined","AntDesignOutlined","AntCloudOutlined","AliyunOutlined","ZhihuOutlined","SlackOutlined","SlackSquareOutlined","BehanceOutlined","BehanceSquareOutlined","DribbbleOutlined","DribbbleSquareOutlined","InstagramOutlined","YuqueOutlined","AlibabaOutlined","YahooOutlined","RedditOutlined","SketchOutlined"]}]},{title:"实底风格",name:"Filled",groups:[{title:"通用图标",icons:["AccountBookFilled","AlertFilled","AlipaySquareFilled","AmazonCircleFilled","AmazonSquareFilled","ApiFilled","AppstoreFilled","AudioFilled","BankFilled","BehanceCircleFilled","BellFilled","BookFilled","BugFilled","BuildFilled","BulbFilled","CalculatorFilled","CalendarFilled","CameraFilled","CarFilled","CarryOutFilled","CiCircleFilled","CloudFilled","CodeFilled","CodeSandboxSquareFilled","CodepenSquareFilled","CompassFilled","ContactsFilled","ContainerFilled","ControlFilled","CopyrightCircleFilled","CreditCardFilled","CrownFilled","CustomerServiceFilled","DashboardFilled","DatabaseFilled","DingtalkCircleFilled","DingtalkSquareFilled","DislikeFilled","DollarCircleFilled","DribbbleCircleFilled","DropboxCircleFilled","DropboxSquareFilled","EnvironmentFilled","EuroCircleFilled","ExperimentFilled","EyeFilled","EyeInvisibleFilled","FileAddFilled","FileExcelFilled","FileExclamationFilled","FileFilled","FileImageFilled","FileMarkdownFilled","FilePdfFilled","FilePptFilled","FileTextFilled","FileUnknownFilled","FileWordFilled","FileZipFilled","FilterFilled","FireFilled","FlagFilled","FolderAddFilled","FolderFilled","FolderOpenFilled","FormatPainterFilled","FrownFilled","FunnelPlotFilled","GiftFilled","GoldFilled","GoldenFilled","GoogleCircleFilled","GooglePlusCircleFilled","GooglePlusSquareFilled","GoogleSquareFilled","HddFilled","HeartFilled","HomeFilled","HourglassFilled","IdcardFilled","IeCircleFilled","IeSquareFilled","InsuranceFilled","InteractionFilled","LayoutFilled","LikeFilled","LockFilled","MacCommandFilled","MailFilled","MedicineBoxFilled","MediumCircleFilled","MediumSquareFilled","MehFilled","MessageFilled","MobileFilled","MoneyCollectFilled","NotificationFilled","PayCircleFilled","PhoneFilled","PictureFilled","PlaySquareFilled","PoundCircleFilled","PrinterFilled","ProfileFilled","ProjectFilled","PropertySafetyFilled","PushpinFilled","QqCircleFilled","QqSquareFilled","ReadFilled","ReconciliationFilled","RedEnvelopeFilled","RedditCircleFilled","RedditSquareFilled","RestFilled","RobotFilled","RocketFilled","SafetyCertificateFilled","SaveFilled","ScheduleFilled","SecurityScanFilled","SettingFilled","ShopFilled","ShoppingFilled","SignalFilled","SketchCircleFilled","SketchSquareFilled","SkinFilled","SlackCircleFilled","SmileFilled","SoundFilled","StarFilled","SwitcherFilled","TabletFilled","TagFilled","TagsFilled","TaobaoSquareFilled","ThunderboltFilled","ToolFilled","TrademarkCircleFilled","TrophyFilled","TwitterCircleFilled","TwitterSquareFilled","UnlockFilled","UsbFilled","VideoCameraFilled","WalletFilled","ZhihuCircleFilled","ZhihuSquareFilled"]},{title:"方向图标",icons:["StepBackwardFilled","StepForwardFilled","FastBackwardFilled","FastForwardFilled","CaretUpFilled","CaretDownFilled","CaretLeftFilled","CaretRightFilled","UpCircleFilled","DownCircleFilled","LeftCircleFilled","RightCircleFilled","ForwardFilled","BackwardFilled","PlayCircleFilled","UpSquareFilled","DownSquareFilled","LeftSquareFilled","RightSquareFilled"]},{title:"提示图标",icons:["QuestionCircleFilled","PlusCircleFilled","PauseCircleFilled","MinusCircleFilled","PlusSquareFilled","MinusSquareFilled","InfoCircleFilled","ExclamationCircleFilled","CloseCircleFilled","CloseSquareFilled","CheckCircleFilled","CheckSquareFilled","ClockCircleFilled","WarningFilled","StopFilled"]},{title:"编辑图标",icons:["EditFilled","CopyFilled","DeleteFilled","SnippetsFilled","DiffFilled","HighlightFilled"]},{title:"数据图标",icons:["PieChartFilled","BoxPlotFilled","FundFilled","SlidersFilled"]},{title:"品牌图标",icons:["AndroidFilled","AppleFilled","WindowsFilled","ChromeFilled","GithubFilled","AliwangwangFilled","WeiboSquareFilled","WeiboCircleFilled","TaobaoCircleFilled","Html5Filled","WechatFilled","YoutubeFilled","AlipayCircleFilled","SkypeFilled","GitlabFilled","LinkedinFilled","FacebookFilled","CodeSandboxCircleFilled","CodepenCircleFilled","SlackSquareFilled","BehanceSquareFilled","DribbbleSquareFilled","InstagramFilled","YuqueFilled","YahooFilled"]}]},{title:"双色风格",name:"TowTone",enable:!1,groups:[{title:"方向图标",icons:["UpCircleTowTone","DownCircleTowTone","LeftCircleTowTone","RightCircleTowTone","PlayCircleTowTone","UpSquareTowTone","DownSquareTowTone","LeftSquareTowTone","RightSquareTowTone"]},{title:"提示图标",icons:["QuestionCircleTowTone","PlusCircleTowTone","PauseCircleTowTone","MinusCircleTowTone","PlusSquareTowTone","MinusSquareTowTone","InfoCircleTowTone","ExclamationCircleTowTone","CloseCircleTowTone","CloseSquareTowTone","CheckCircleTowTone","CheckSquareTowTone","ClockCircleTowTone","WarningTowTone","StopTowTone"]},{title:"编辑图标",icons:["EditTowTone","CopyTowTone","DeleteTowTone","SnippetsTowTone","DiffTowTone","HighlightTowTone"]},{title:"数据图标",icons:["PieChartTowTone","BoxPlotTowTone","FundTowTone","SlidersTowTone"]},{title:"品牌图标",icons:["Html5TowTone"]},{title:"通用图标",icons:["AccountBookTowTone","AlertTowTone","ApiTowTone","AppstoreTowTone","AudioTowTone","BankTowTone","BellTowTone","BookTowTone","BugTowTone","BuildTowTone","BulbTowTone","CalculatorTowTone","CalendarTowTone","CameraTowTone","CarTowTone","CarryOutTowTone","CiCircleTowTone","CiTowTone","CloudTowTone","CodeTowTone","CompassTowTone","ContactsTowTone","ContainerTowTone","ControlTowTone","CopyrightCircleTowTone","CopyrightTowTone","CreditCardTowTone","CrownTowTone","CustomerServiceTowTone","DashboardTowTone","DatabaseTowTone","DislikeTowTone","DollarCircleTowTone","DollarTowTone","EnvironmentTowTone","EuroCircleTowTone","EuroTowTone","ExperimentTowTone","EyeTowTone","EyeInvisibleTowTone","FileAddTowTone","FileExcelTowTone","FileExclamationTowTone","FileTowTone","FileImageTowTone","FileMarkdownTowTone","FilePdfTowTone","FilePptTowTone","FileTextTowTone","FileUnknownTowTone","FileWordTowTone","FileZipTowTone","FilterTowTone","FireTowTone","FlagTowTone","FolderAddTowTone","FolderTowTone","FolderOpenTowTone","FrownTowTone","FunnelPlotTowTone","GiftTowTone","GoldTowTone","HddTowTone","HeartTowTone","HomeTowTone","HourglassTowTone","IdcardTowTone","InsuranceTowTone","InteractionTowTone","LayoutTowTone","LikeTowTone","LockTowTone","MailTowTone","MedicineBoxTowTone","MehTowTone","MessageTowTone","MobileTowTone","MoneyCollectTowTone","NotificationTowTone","PhoneTowTone","PictureTowTone","PlaySquareTowTone","PoundCircleTowTone","PrinterTowTone","ProfileTowTone","ProjectTowTone","PropertySafetyTowTone","PushpinTowTone","ReconciliationTowTone","RedEnvelopeTowTone","RestTowTone","RocketTowTone","SafetyCertificateTowTone","SaveTowTone","ScheduleTowTone","SecurityScanTowTone","SettingTowTone","ShopTowTone","ShoppingTowTone","SkinTowTone","SmileTowTone","SoundTowTone","StarTowTone","SwitcherTowTone","TabletTowTone","TagTowTone","TagsTowTone","ThunderboltTowTone","ToolTowTone","TrademarkCircleTowTone","TrophyTowTone","UnlockTowTone","UsbTowTone","VideoCameraTowTone","WalletTowTone"]}]}],bc={class:"icon-select-warp"},yc={class:"icon-search"},vc={class:"icon-list"},kc={class:"label"},Ka=Z(e.defineComponent({__name:"icon-list",setup(t,{expose:n}){const l=e.ref(),o=e.ref(0),a=e.ref(),i=e.ref(""),d=e.ref(ro),r=be(()=>{if(!i.value){d.value=ro;return}const c=i.value.toLowerCase(),g=JSON.parse(JSON.stringify(ro));g.forEach(m=>{m.groups.forEach(p=>{p.icons=p.icons.filter(A=>A.toLowerCase().includes(c))}),m.groups=m.groups.filter(p=>p.icons.length>0)}),d.value=g});function s(c){a.value=c}function f(){return a.value}return n({getSelected:f}),(c,g)=>{const m=e.resolveComponent("a-input"),p=e.resolveComponent("a-col"),A=e.resolveComponent("a-row"),b=e.resolveComponent("a-collapse-panel"),h=e.resolveComponent("a-empty"),u=e.resolveComponent("a-collapse"),v=e.resolveComponent("a-tab-pane"),N=e.resolveComponent("a-tabs");return e.openBlock(),e.createElementBlock("div",bc,[e.createElementVNode("div",yc,[e.createVNode(m,{value:i.value,"onUpdate:value":g[0]||(g[0]=w=>i.value=w),placeholder:"搜索icon(回车)...",allowClear:"",onChange:e.unref(r)},null,8,["value","onChange"])]),e.createElementVNode("div",vc,[e.createVNode(N,{activeKey:l.value,"onUpdate:activeKey":g[2]||(g[2]=w=>l.value=w)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,w=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:w.name},[w.enable!=!1?(e.openBlock(),e.createBlock(v,{tab:w.title,key:w.name},{default:e.withCtx(()=>[w.groups.length?(e.openBlock(),e.createBlock(u,{key:0,activeKey:o.value,"onUpdate:activeKey":g[1]||(g[1]=k=>o.value=k),accordion:"",ghost:""},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.groups,(k,B)=>(e.openBlock(),e.createBlock(b,{class:"group",key:B,header:k.title},{default:e.withCtx(()=>[e.createVNode(A,{gutter:10},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.icons,S=>(e.openBlock(),e.createBlock(p,{span:4,key:S,class:e.normalizeClass(["icon-item","icon-"+S,a.value==S&&"selected"]),onClick:y=>s(S)},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(S))),e.createElementVNode("div",kc,e.toDisplayString(S.substr(0,S.length-w.name.length)),1)]),_:2},1032,["class","onClick"]))),128))]),_:2},1024)]),_:2},1032,["header"]))),128)),w.groups.length==0?(e.openBlock(),e.createBlock(h,{key:0,description:"暂无数据"})):e.createCommentVNode("",!0)]),_:2},1032,["activeKey"])):e.createCommentVNode("",!0)]),_:2},1032,["tab"])):e.createCommentVNode("",!0)],64))),128))]),_:1},8,["activeKey"])])])}}}),[["__scopeId","data-v-0f290eff"]]),wc={class:"icon-select"},Cc={key:1,class:"empty"},Ac=Z(e.defineComponent({name:"IconSelect",__name:"index",props:e.mergeModels({title:{type:String,default:"图标选择"},show:{type:String,default:"drawer"},position:{type:String,default:"right"},width:{type:Number,default:600},allowClear:{type:Boolean,default:!0}},{value:{},valueModifiers:{},visible:{},visibleModifiers:{}}),emits:e.mergeModels(["ok","change"],["update:value","update:visible"]),setup(t,{emit:n}){const l=P.useDialog(),o=t,a=e.useModel(t,"value"),i=e.useModel(t,"visible");function d(){i.value=!0}const r=n,s=e.ref();function f(){const g=s.value.getSelected();if(g){a.value=g,i.value=!1,r("change",g),r("ok",g);return}l.warning({content:"请选择图标"})}function c(){a.value="",r("change","")}return(g,m)=>{const p=e.resolveComponent("CloseCircleFilled"),A=e.resolveComponent("a-button"),b=e.resolveComponent("a-drawer"),h=e.resolveComponent("a-modal");return e.openBlock(),e.createElementBlock("div",wc,[e.createElementVNode("div",{class:"icon-box",onClick:d},[a.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a.value),{key:0,class:"view"})):(e.openBlock(),e.createElementBlock("span",Cc,[m[3]||(m[3]=e.createElementVNode("span",null,"选择",-1)),(e.openBlock(),e.createBlock(e.resolveDynamicComponent("SearchOutlined")))])),t.allowClear&&a.value?(e.openBlock(),e.createBlock(p,{key:2,onClick:e.withModifiers(c,["stop"]),class:"clear-icon"})):e.createCommentVNode("",!0)]),o.show=="drawer"?(e.openBlock(),e.createBlock(b,{key:0,title:t.title,width:o.width,visible:i.value,"onUpdate:visible":m[1]||(m[1]=u=>i.value=u),placement:o.position,maskClosable:!1,bodyStyle:{padding:10},class:"icon-select-drawer"},{footer:e.withCtx(()=>[e.createVNode(A,{type:"primary",onClick:f},{default:e.withCtx(()=>m[4]||(m[4]=[e.createTextVNode("确定")])),_:1}),e.createVNode(A,{onClick:m[0]||(m[0]=u=>i.value=!1)},{default:e.withCtx(()=>m[5]||(m[5]=[e.createTextVNode("取消")])),_:1})]),default:e.withCtx(()=>[e.createVNode(Ka,{ref_key:"listObj",ref:s},null,512)]),_:1},8,["title","width","visible","placement"])):e.createCommentVNode("",!0),o.show=="dialog"?(e.openBlock(),e.createBlock(h,{key:1,title:t.title,width:o.width,open:i.value,"onUpdate:open":m[2]||(m[2]=u=>i.value=u),centered:o.position=="center",maskClosable:!1,class:"icon-select-dialog",onOk:f},{default:e.withCtx(()=>[e.createVNode(Ka,{ref_key:"listObj",ref:s},null,512)]),_:1},8,["title","width","open","centered"])):e.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-9d3db12b"]]),xc={key:0,class:"unione-form-code-input"},Nc={class:"opts"},Sc={class:"code-line"},_c={class:"btns"},Vc=Z(e.defineComponent({__name:"codeInput",props:e.mergeModels({wid:{type:String,required:!1},engine:{type:Object,required:!1},widget:{type:Object,required:!1},disabled:{type:Boolean,defualt:!1},placeholder:{type:String,required:!1}},{value:{},valueModifiers:{}}),emits:e.mergeModels(["change"],["update:value"]),setup(t,{emit:n}){const l=n,o=e.useModel(t,"value"),a=e.computed(()=>o.value?.scriptText?o.value.scriptText.split(`
|
|
1
|
+
(function(ie,P){typeof exports=="object"&&typeof module<"u"?P(exports,require("unione-base-vue"),require("vue"),require("ant-design-vue"),require("lodash-es"),require("vue-codemirror"),require("@codemirror/lang-javascript"),require("vuedraggable"),require("@hufe921/canvas-editor"),require("dayjs"),require("prismjs"),require("@codemirror/lang-json"),require("@codemirror/lang-html"),require("@codemirror/lang-css"),require("@codemirror/lang-sql"),require("@ant-design/icons-vue"),require("uuid"),require("vue-router")):typeof define=="function"&&define.amd?define(["exports","unione-base-vue","vue","ant-design-vue","lodash-es","vue-codemirror","@codemirror/lang-javascript","vuedraggable","@hufe921/canvas-editor","dayjs","prismjs","@codemirror/lang-json","@codemirror/lang-html","@codemirror/lang-css","@codemirror/lang-sql","@ant-design/icons-vue","uuid","vue-router"],P):(ie=typeof globalThis<"u"?globalThis:ie||self,P(ie.index={},ie.UnioneBaseVue,ie.Vue,ie.antDesignVue,ie.lodashEs,ie.vueCodemirror,ie.langJavascript,ie.draggable,ie.canvasEditor,ie.dayjs,ie.prism,ie.langJson,ie.langHtml,ie.langCss,ie.langSql,ie.iconsVue,ie.uuid,ie.vueRouter))})(this,function(ie,P,e,te,Xt,Zt,Da,On,fe,ld,Ua,La,od,ad,id,gt,rd,sd){"use strict";const dd={isDebug:!1,axios:{form:"/portal",flow:"/flow"},listPageUrl:"/data/page/list",addPageUrl:"/data/page/add",editPageUrl:"/data/page/edit",viewPageUrl:"/data/page/view",formRules:[]},to=e.ref(dd);function Le(t){return t&&(to.value=P.utils.obj.set(to.value,t)),to.value}const cd={...{...{submit:"提交","submit.ok":"已提交","submit.error":"提交失败","confirm.ok":"确定","confirm.cancel":"取消","global.setting.title":"设置"},...{"pages.home":"首页"},...{"pages.layouts.userLayout.title":"user layout"}}},ud={...{submit:"Submit","submit.ok":"Submitted","submit.error":"Submit Failed","confirm.ok":"Yes","confirm.cancel":"No","global.setting.title":"Settings"},...{"pages.home":"Home"},...{"pages.layouts.userLayout.title":"user layout"}},fd=e.ref([cd,ud]);function pd(t,n){return P.locales.loadLanguage(t,()=>new Promise((l,o)=>{const a=fd.value.filter(i=>i.localeName==t);if(n)if(typeof n=="function")n().then(i=>{if(a.length==0){const d={...i,localeName:t};l(d)}else{const d={...a[0],...i};l(d)}});else if(a.length==0){const i={...n,localeName:t};l(i)}else{const i={...a[0],...n};l(i)}else a.length>0?l(a[0]):o("local language not defined ,lang:"+t)}))}const no={...P.locales};no.loadLanguage=pd;class md{$psn;$pid;$store;$forms;$model;$params;$refObj;$refData;constructor(n,l){this.$psn=n,this.$pid="",this.$store={},this.$forms={},this.$params={},this.$refObj={},this.$refData={},this.$model=l}params(n){if(n){this.$params=n,n.id&&(this.$pid=n.id,this.$psn&&this.use(this.$psn,"form").detail(this.$pid));for(const l in this.$store)this.$store[l].$params=n}return this.$params}psn(n){return n&&(this.$psn=n),this.$psn}regRef(n,l){}setRefData(n,l,o){}use(n,l,o){let a=this.$store[n];return a||(a=new lo(n,l,this.$model),this.$store[n]=a,a.$params=this.$params),o&&(a.$form=o,this.$forms[n]=o),a}useForm(n,l,o){const a=this.use(n,"form",l);return this.$psn==n&&this.$pid&&a.detail(this.$pid).then(i=>{o&&o(i)}),a}data(n){return this.$store[n]}form(n){return n?this.$forms[n]:this.$forms}primary(){return this.data(this.$psn)}dsnList(){return Object.keys(this.$store)}}class lo{$sid;$dsn;$type;$data;$dialog;$model;$form;$params;$store;constructor(n,l,o){typeof n=="string"?(this.$dsn=n,this.$store={controller:"/api/data/storage/v1"}):(this.$store=n,this.$dsn=""),this.$type=l,this.$data=e.ref(l=="form"?{}:{body:[],total:0}),this.$dialog=P.useDialog(),this.$model=e.ref(o||"run")}$isStorage(){return this.$store.controller.indexOf("/api/data/storage")>=0}store(n){return n&&(this.$store=n),this.$store}data(){return this.$type=="form"?this.$data.value||{}:this.$data.value||[]}setValue(n){this.$data.value=n,this.$form?.setValue(n)}reset(n){this.$data.value=n||{},this.$form?.setValue(n||{}),this.$form?.reset(),this.$sid=""}$processParams(n,l,o){if(o)o.forEach(a=>{if(a.name.startsWith("$")){const i=a.name.substring(1);l[i]==null&&l[i]==null&&(this.$params[i]!=null&&this.$params[i]!=null?(l[a.alias||i]=this.$params[i],P.utils.obj.setValue(l,a.alias||i,P.utils.obj.getValue(this.$params,i))):a.value!=null&&a.value!=null&&P.utils.obj.setValue(l,a.alias||i,a.value))}else l[n][a.name]==null&&l[n][a.name]==null&&(this.$params[a.name]!=null&&this.$params[a.name]!=null?P.utils.obj.setValue(l[n],a.alias||a.name,P.utils.obj.getValue(this.$params,a.name)):a.value!=null&&a.value!=null&&P.utils.obj.setValue(l[n],a.alias||a.name,a.value))});else if(this.$params)for(const a in this.$params)l[n][a]==null&&l[n][a]==null&&this.$params[a]!=null&&this.$params[a]!=null&&(l[n][a]=this.$params[a]);return l}request(n){return new Promise((l,o)=>{const a=te.message.loading("数据请求中..."),i=this.$store.controller+n.url;P.axios[this.$store.ctx||"form"]({method:"post",...n,url:i}).then(d=>{d.success?l(d):(d.silence||this.$dialog.error({content:d.message||"未知错误,请联系管理员"}),o({info:"数据请求失败,model sn:"+this.$dsn+",url:"+i,options:n,result:d}))}).catch(d=>{this.$dialog.error({content:"未知错误,请联系管理员"}),o({info:"数据请求失败,model sn:"+this.$dsn+",url:"+i,options:n,err:d})}).finally(()=>{a()})})}find(n){const l=this.$store.controller+(this.$store.findUrl||"/find");return!n&&this.$store.findParams&&(n={dsn:this.$dsn}),this.$isStorage()&&(n.dsn=this.$dsn+(this.$model!="run"?"@dev":"")),n&&(n=this.$processParams("body",n,this.$store.findParams)),new Promise((o,a)=>{const i=te.message.loading("数据加载中...");P.axios[this.$store.ctx||"form"]({url:l,method:"post",data:n}).then(d=>{d.success?(this.$data.value=d,o(d)):(d.silence||this.$dialog.error({content:d.message||"未知错误,请联系管理员"}),a({info:"数据加载失败,model sn:"+this.$dsn,url:l,params:n,result:d}))}).catch(d=>{this.$dialog.error({content:"未知错误,请联系管理员"}),a({info:"数据加载失败,model sn:"+this.$dsn,url:l,params:n,err:d})}).finally(()=>{i()})})}save(n){const l=this.$store.controller+(this.$store.saveUrl||"/save");return this.$isStorage()?(n.dsn=this.$dsn+(this.$model!="run"?"@dev":""),n=this.$processParams("params",n,this.$store.saveParams),this.$params?.id&&(n.id=this.$params.id),this.$sid&&(n.id=this.$sid)):(n=this.$processParams("data",n,this.$store.saveParams),this.$params?.id&&(n.data.id=this.$params.id)),new Promise((o,a)=>{const i=te.message.loading("数据提交中...");P.axios[this.$store.ctx||"form"]({url:l,method:"post",data:this.$isStorage()?n:n.data}).then(d=>{d.success?(this.$type=="form"&&(this.$data.value=d.body||{},this.$sid=d.id),d.silence||te.message.success(d.message),o(d)):(d.silence||this.$dialog.error({content:d.message||"未知错误,请联系管理员"}),a({info:"数据保存失败,model sn:"+this.$dsn,url:l,data:n,result:d}))}).catch(d=>{this.$dialog.error({content:"未知错误,请联系管理员"}),a({info:"数据保存失败,model sn:"+this.$dsn,url:l,data:n,err:d})}).finally(()=>{i()})})}loadByIds(n){return new Promise((l,o)=>{const a=te.message.loading("数据加载中..."),i=this.$store.controller+"/loadByIds";P.axios[this.$store.ctx||"form"]({url:i,method:"post",data:this.$isStorage()?{ids:n,dsn:this.$dsn+(this.$model!="run"?"@dev":"")}:n}).then(d=>{d.success?l(d):(d.silence||this.$dialog.error({content:d.message||"未知错误,请联系管理员"}),o({info:"数据加载失败,model sn:"+this.$dsn,ids:n,result:d}))}).catch(d=>{this.$dialog.error({content:"未知错误,请联系管理员"}),o({info:"数据加载失败,model sn:"+this.$dsn,ids:n,err:d})}).finally(()=>{a()})})}detail(n){return new Promise((l,o)=>{const a=te.message.loading("数据加载中..."),i=this.$store.controller+"/detail";P.axios[this.$store.ctx||"form"]({url:i,method:"post",headers:{"Content-Type":"application/json"},data:this.$isStorage()?{id:n,dsn:this.$dsn+(this.$model!="run"?"@dev":"")}:n}).then(d=>{d.success?(this.$type=="form"&&(this.$data.value=d.body||{},this.$sid=d.id),l(d)):(d.silence||this.$dialog.error({content:d.message||"未知错误,请联系管理员"}),o({info:"加载数据详情失败,model sn:"+this.$dsn,url:i,id:n,result:d}))}).catch(d=>{this.$dialog.error({content:"未知错误,请联系管理员"}),o({info:"加载数据详情失败,model sn:"+this.$dsn,url:i,id:n,err:d})}).finally(()=>{a()})})}deleteByIds(n){return new Promise((l,o)=>{this.$dialog.confirm({content:"确定要删除选中记录么?共"+n.length+"条。",onOk:()=>{const a=te.message.loading("数据处理中..."),i=this.$store.controller+"/delete";P.axios[this.$store.ctx||"form"]({url:i,method:"post",data:this.$isStorage()?{ids:n,dsn:this.$dsn+(this.$model!="run"?"@dev":"")}:n}).then(d=>{d.success?l(d):(d.silence||this.$dialog.error({content:d.message||"未知错误,请联系管理员"}),o({info:"数据删除失败,model sn:"+this.$dsn,url:i,ids:n,result:d}))}).catch(d=>{this.$dialog.error({content:"未知错误,请联系管理员"}),o({info:"数据删除失败,model sn:"+this.$dsn,url:i,ids:n,err:d})}).finally(()=>{a()})}})})}}class gd{$event;$onces;$delayEmit;constructor(){this.$event={},this.$onces={},this.$delayEmit={}}$on(n,l){if(this.$event[n]=l,this.$delayEmit[n]){const o=this.$delayEmit[n];l(o)}}$emit(n,l){if(this.$onces[n]){const o=this.$onces[n];delete this.$onces[n],o(l)}this.$event[n]?this.$event[n](l):(this.$delayEmit[n]=l,setTimeout(()=>{delete this.$delayEmit[n]},1e3*10))}$once(n,l){this.$onces[n]=l}$off(n){delete this.$event[n]}}function oo(t){const n=t.toLowerCase().split("_"),l=[];l.push(n[0]);for(let o=1;o<n.length;o++){const a=n[o];a&&(l.push(a.charAt(0).toUpperCase()),a.length>1&&l.push(a.substring(1)))}return l.join("")}const ja="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";function Pa(t=10){const n=Date.now().toString(),l=new Uint32Array(t);crypto.getRandomValues(l);let o="";for(let a=0;a<t;a++){const i=(parseInt(n[a%n.length],10)+l[a])%ja.length;o+=ja[i]}return o}function qa(t,n){const l={data:{},error:[]};return t.filter(o=>o.visible!=!1).forEach(o=>{if(o.control)if(o.name=="this"){if(o.event?.validate&&typeof o.event.validate=="function"){const a=o.event.validate(n,n);a?.error&&l.error.push({name:o.name,title:o.title,message:a.error}),a?.data&&P.utils.obj.set(l.data,a.data)}}else{const a=P.utils.obj.getValue(n,o.name);if(o.event?.visible&&typeof o.event.visible=="function"&&!o.event.visible(a,n))return;if((a||a==0||a==!1)&&P.utils.obj.setValue(l.data,o.name,a),o.event?.validate&&typeof o.event.validate=="function"){const i=o.event.validate(a,n);i?.error&&l.error.push({name:o.name,title:o.title,message:i.error}),i?.data&&P.utils.obj.set(l.data,i.data)}else o.props?.required&&!a&&a!==0&&l.error.push({name:o.name,title:o.title,message:o.title+"不能为空"})}if(o.widgets?.length){const a=qa(o.widgets,n);P.utils.obj.set(l.data,a.data),l.error.push(...a.error)}}),l}const je={...P.utils,toHump:oo,randomStr:Pa,form:{validate:qa}},ao=[{name:"model",title:"设置模式",exec:(t,n)=>{if(!n||!["run","view","edit","preview"].includes(n)){te.message.error("模式错误,可选值:run,view,edit,preview,input:"+n);return}t.model.value=n}},{name:"undo",title:"撤销",exec:t=>{t.undo()}},{name:"redo",title:"重做",exec:t=>{t.redo()}},{name:"add",title:"新增组件",exec:(t,n)=>{if(!n){te.message.error("添加组件失败,组件定义不能为空");return}if(!n.widget){te.message.error("添加组件失败,组件widget不能为空");return}if(n.wid||(n.wid=je.randomStr(32)),n.pid){const o=t.$widgetMap.value[n.pid];o&&(o.widgets||(o.widgets=[]),o.widgets.splice(n.index,0,n))}else t.$widgetList.value.splice(n.index,0,n);const l=o=>{o.widgets?.forEach(a=>{a.pid=o.wid,a.wid||(a.wid=je.randomStr(32)),t.$widgetMap.value[a.wid]=a,l(a)})};return l(n),t.widgetActive.value=n,t.$widgetMap.value[n.wid]=n,t.$status.value.size=Object.keys(t.$widgetMap.value).length,{name:"del",params:{wid:n.wid}}}},{name:"copy",title:"复制组件",exec:(t,n)=>{if(!n){te.message.error("复制组件失败,组件wid不能为空");return}let l=t.$widgetMap.value[n];if(!l){te.message.error("复制组件失败,组件定义不能为空");return}if(l=JSON.parse(JSON.stringify(l)),l.wid=je.randomStr(32),l.pid){const a=t.$widgetMap.value[l.pid];a&&(a.widgets||(a.widgets=[]),a.widgets.push(l))}else t.$widgetList.value.push(l);const o=a=>{a.widgets?.forEach(i=>{i.pid=a.wid,i.wid||(i.wid=je.randomStr(32)),t.$widgetMap.value[i.wid]=i,o(i)})};return o(l),t.widgetActive.value=l,t.$widgetMap.value[l.wid]=l,t.$status.value.size=Object.keys(t.$widgetMap.value).length,{name:"del",params:{wid:l.wid}}}},{name:"del",title:"删除组件",exec:(t,n)=>{if(!n){te.message.error("删除组件失败,组件wid不能为空");return}const l=t.$widgetMap.value[n];if(l){if(!l.pid||!t.$widgetMap.value[l.pid])t.$widgetList.value=t.$widgetList.value.filter(a=>a.wid!==l.wid);else if(l.pid){const a=t.$widgetMap.value[l.pid];a&&(a.widgets=a.widgets.filter(i=>i.wid!==l.wid))}const o=a=>{a.widgets?.forEach(i=>{o(i),delete t.$widgetMap.value[i.wid]})};return o(l),t.widgetActive.value={},delete t.$widgetMap.value[l.wid],t.$status.value.size=Object.keys(t.$widgetMap.value).length,{name:"add",params:l}}}},{name:"clear",title:"清空组件",exec:t=>{t.widgetActive.value={},t.$widgetMap.value={},t.$widgetList.value=[],t.$cmdUndo.value=[],t.$cmdRedo.value=[],t.$cmdExes.value=[],t.$cmdUndo.value=[],t.$cmdRedo.value=[],t.$cmdExes.value=[],t.$cmdMap.value=[],t.$status.value={cmdCount:0,undoCount:0,redoCount:0,exeCount:0,size:0},t.$axiosProccess.value={},t.$status.value.size=Object.keys(t.$widgetMap.value).length}},{name:"update",title:"更新组件",exec:(t,n)=>{if(!n){te.message.error("更新组件失败,组件定义不能为空");return}if(!n.wid){te.message.error("更新组件失败,组件wid不能为空");return}const l=t.$widgetMap.value[n.wid];if(l){const o=P.utils.obj.ext({},l);return P.utils.obj.set(l,n),{name:"update",params:o}}}},{name:"setActive",title:"设置组件激活",exec:(t,n)=>{if(!n){te.message.error("设置组件激活失败,组件wid不能为空");return}const l=t.$widgetMap.value[n];if(l)return t.widgetActive.value=l,{name:"disActive",params:n}}},{name:"disActive",title:"取消组件激活",exec:(t,n)=>{if(!n){te.message.error("取消组件激活失败,组件wid不能为空");return}if(t.$widgetMap.value[n])return t.widgetActive.value=null,{name:"setActive",params:n}}},{name:"move",title:"移动组件",exec:(t,{wid:n,pid:l,oldIndex:o,newIndex:a})=>{if(!n){te.message.error("移动组件失败,组件wid不能为空");return}const i=t.$widgetMap.value[n];if(i){const d=i.pid;if(l&&l!==d){const r=t.$widgetMap.value[d];r&&(r.widgets=r.widgets.filter(s=>s.wid!==i.wid))}if(l){const r=t.$widgetMap.value[l];r&&(l===d&&(r.widgets=r.widgets.filter(s=>s.wid!==i.wid)),r.widgets.splice(a,0,i),i.pid=l)}else t.$widgetList.value.splice(a,0,i);return{name:"move",params:{wid:n,pid:d,oldIndex:a,newIndex:o}}}}}];class Ve{define;ebus;model;widgetActive;type;$widgetList;$widgetMap;$dataManager;dataModels;$axiosProccess;$dialog;$cmdMap;$cmdUndo;$cmdRedo;$cmdExes;$undoSize;$status;static conponents=e.ref({});static regComponent=(n,l)=>{};static buildComponent=n=>{Array.isArray(n)||(n=[n]),n.forEach(l=>{const o={...l};o.configs&&(o.configs=JSON.parse(o.configs)),o.props?o.props=JSON.parse(o.props):o.props={},Ve.conponents.value[o.control||o.widget||o.name]=o}),n.filter(l=>l.isCustom==1).forEach(l=>{if(!l.configs){console.error("widget config is empty, widget id:"+l.id);return}try{const o=JSON.parse(l.configs),a=new Function("return"+o.script)();a.template=o.template,a.style=o.style,a.widget=l.widget||l.name,Ve.regComponent(a.widget,e.defineAsyncComponent(()=>Promise.resolve(a)));const i=document.querySelector('style[data-widget="'+a.widget+'"]');if(o.style)if(o.style=o.style.replace(/\.([a-zA-Z0-9_-]+)/g,"."+a.widget+" .$1"),o.style=o.style.replace("."+a.widget+" ."+a.widget,"."+a.widget),i)i.innerHTML=o.style;else{const d=document.createElement("style");d.setAttribute("data-widget",a.widget+""),d.innerHTML=o.style,document.head.appendChild(d)}else i&&i.remove()}catch(o){console.error("widget script error,widget id:"+l.id,o)}})};constructor(n={sn:"new_",title:"新建页面",types:"setting",vers:1,configs:{widgets:[],dsnList:[]}},l){const o=n.configs||{};this.dataModels=e.ref(o.dataModels||[]),this.widgetActive=e.ref({}),this.model=e.ref(l?.model||"run"),this.type=e.ref(n.types||"setting"),this.define=n,this.ebus=new gd,this.$widgetList=e.ref([]),this.$widgetMap=e.ref({}),this.$dataManager=new md(o.dsnList?o.dsnList[0]:"",this.model.value),this.$undoSize=e.ref(l?.undoSize||1e3),this.$cmdUndo=e.ref([]),this.$cmdRedo=e.ref([]),this.$cmdExes=e.ref([]),this.$cmdMap=e.ref({}),this.$status=e.ref({cmdCount:0,undoCount:0,redoCount:0,exeCount:0,size:0}),this.$axiosProccess=e.ref({}),this.$dialog=P.useDialog(),this.regCmd(ao),this.loadConfig(o),this.ebus.$on("cmd:exec",({name:a,params:i})=>{if(a=="undo"){this.undo();return}if(a=="redo"){this.redo();return}this.exeCmd(a,i)}),e.nextTick(()=>{this.ebus.$emit("engine:inited")})}sn(){return this.define.sn}load(n,l){if(!n)return Promise.reject("sn is empty");if(this.define.sn=n,n.endsWith(":view")&&(this.model.value="view"),n=="new_")return console.log("新建/本地页面sn:"+n+",define:",l),l&&l.configs&&(this.define=l,this.type.value=this.define.types||"setting",this.loadConfig(l.configs)),Promise.resolve();const o=sessionStorage.getItem("PAGE_DEFINE:"+n);return o&&this.model.value=="run"?(this.define=JSON.parse(o),this.type.value=this.define.types||"setting",this.loadConfig(this.define.configs),console.log("从会话缓存中加载页面sn:"+n+",define:",this.define),Promise.resolve()):new Promise((a,i)=>{P.axios.form({url:"/api/page/define/load/"+n,method:"post"}).then(d=>{d.success?(this.define=d.body,this.type.value=this.define.types||"setting",d.body.configs?this.define.configs=d.body.configs:this.define.configs={widgets:[],dsnList:[]},this.loadConfig(this.define.configs),sessionStorage.setItem("PAGE_DEFINE:"+n,JSON.stringify(this.define)),console.log("从远程服务加载页面sn:"+n+",define:",this.define),a(this.define)):l&&l.configs&&(this.define=l,this.loadConfig(l.configs),a(this.define))}).catch(d=>{i(d)})})}save(){return new Promise((n,l)=>{if(this.$axiosProccess.value.save){console.warn("unione form editor save process runing,sn:"+this.define.sn),l();return}this.$axiosProccess.value.save=!0;const o={...this.define.configs||{},widgets:this.$widgetList.value,dsnList:this.$dataManager.dsnList()},a={...this.define};a.configs=JSON.stringify(o),P.axios.form({url:"/api/page/define/save",method:"post",data:a}).then(i=>{this.$axiosProccess.value.save=!1,i.success?(te.message.success(i.message),this.define=i.body,sessionStorage.setItem("PAGE_DEFINE:"+this.define.sn,JSON.stringify(this.define)),this.load(this.define.sn,this.define),n(i.body)):(this.$dialog.error({content:i.message}),l())}).catch(i=>{console.error("页面配置保存失败",i),this.$dialog.error({content:"页面配置保存失败"})}).finally(()=>{this.$axiosProccess.value.save=!1})})}loadConfig(n){n.dsnList?.length&&this.$dataManager.psn(n.dsnList[0]),this.$widgetList.value=n.widgets||[],this.$widgetMap.value={},this.$processWidget(this.$widgetList.value),this.$status.value||(this.$status.value={}),this.$status.value.size=Object.keys(this.$widgetMap.value).length}setModel(n){typeof this.model=="string"?this.model=n:this.model.value=n}widget(n){return this.$widgetMap.value?this.$widgetMap.value[n]:null}widgets(n){if(n)this.$widgetList.value=n,this.$widgetMap.value={},this.$processWidget(n);else return this.$widgetList.value}$processWidget(n,l){n.forEach(o=>{o.wid||(o.wid="w:"+Xt.uniqueId()),l&&(o.pid=l.wid),this.$widgetMap.value[o.wid]=o,o?.widgets&&this.$processWidget(o.widgets,o)})}dataManager(){return this.$dataManager}regCmd(n){Array.isArray(n)?n.forEach(l=>{this.$cmdMap.value[l.name]=l}):this.$cmdMap.value[n.name]=n,this.$status.value.cmdCount=Object.keys(this.$cmdMap.value).length}offCmd(n){Array.isArray(n)?n.forEach(l=>{delete this.$cmdMap.value[l]}):delete this.$cmdMap.value[n],this.$status.value.cmdCount=Object.keys(this.$cmdMap.value).length}exeCmd(n,l){const o=this.$cmdMap.value[n];if(console.log("UFEngine exe cmd,name:"+n+",cmd:",o,l),o&&o.exec){const a=o.exec(this,l);a&&(this.$cmdUndo.value.push({name:a.name,params:a.params}),this.$cmdExes.value.push({name:n,params:l}),this.$cmdUndo.value.length>this.$undoSize.value&&(this.$cmdUndo.value.shift(),this.$cmdExes.value.shift())),this.$status.value.exeCount=this.$status.value.exeCount+1,this.$status.value.undoCount=this.$cmdUndo.value.length}}undo(){if(this.$cmdUndo.value.length){const n=this.$cmdUndo.value.pop(),l=this.$cmdExes.value.pop();if(!n||!l)return;const o=this.$cmdMap.value[n.name];o&&o.exec&&(o.exec(this,n.params),this.$cmdRedo.value.push({name:l.name,params:l.params}),this.$cmdRedo.value.length>this.$undoSize.value&&this.$cmdRedo.value.shift()),this.$status.value.undoCount=this.$cmdUndo.value.length,this.$status.value.redoCount=this.$cmdRedo.value.length}}redo(){if(this.$cmdRedo.value.length){const n=this.$cmdRedo.value.pop();if(this.$status.value.redoCount=this.$cmdRedo.value.length,!n)return;this.exeCmd(n.name,n.params)}}status(){return this.$status}}const hd={key:0},bd=["onClick"],yd=e.defineComponent({__name:"btnSetting",props:{preset:{type:Array,default(){return[]}}},setup(t,{expose:n}){const l=t,o=e.ref([{title:"序号",dataIndex:"index",key:"index",width:"30px",fixed:"left",align:"center",customRender:({index:w})=>w+1},{title:"参数名称",dataIndex:"name",key:"name",width:"60px",align:"center"},{title:"参数标题",dataIndex:"title",key:"title",width:"80px",align:"center"},{title:"参数value",dataIndex:"value",key:"value",width:"100px",align:"center"}]),a=e.ref({selectedRowKeys:[],columnWidth:"25px",onChange:w=>{a.value.selectedRowKeys=w}}),i={mounted:w=>w.focus()},d=e.ref({});function r(){const w=Object.keys(d.value);if(w.length)for(let k in w){const B=b.value.form.action.params[k];B&&d.value[k]&&Object.keys(d.value[k]).forEach(S=>{B[S]=d.value[k][S]})}d.value={}}function s(w,k,B){r();const S={};S[B]=k[B]||"",B=="showIndex"&&(S[B]=k.show?.query?.index),d.value[w]=S}function f(w,k,B){if(!k||!B){d.value={};return}const S=d.value[w][B];k[B]=S,d.value={}}function c(){b.value.form.action.params.push({title:"新建",name:"",value:""})}function g(){}const m=e.ref(""),p=e.ref({title:[{required:!0,message:"按钮标题不能为空"}],name:[{required:!0,message:"按钮名称不能为空"},{validator:(w,k)=>m.value!=k&&l.preset.includes(k)?Promise.reject("预设按钮名称,请使用其他名称,["+l.preset.join(",")+"]"):Promise.resolve(),trigger:"change"}]}),A=e.ref([Da.javascript()]),b=e.ref({title:"按钮设置",visible:!1,form:{},helps:{}}),h=e.ref();function u(w,k,B={}){w=JSON.parse(JSON.stringify(w)),w.event||(w.event={}),w.props||(w.props={}),w.action||(w.action={}),Object.keys(w.action).includes("maskClosable")||(w.action.maskClosable=!0),w.action.params||(w.action.params=[]),m.value=w.name,b.value.form=w,b.value.helps=B,b.value.visible=!0,h.value=k}const v=e.ref(null);function N(){v.value&&v.value.validate().then(()=>{b.value.visible=!1,h.value(b.value.form)})}return n({open:u,close}),(w,k)=>{const B=e.resolveComponent("a-input"),S=e.resolveComponent("a-form-item"),y=e.resolveComponent("a-select"),x=e.resolveComponent("a-input-number"),E=e.resolveComponent("a-checkbox"),_=e.resolveComponent("a-tab-pane"),C=e.resolveComponent("a-switch"),O=e.resolveComponent("a-button"),T=e.resolveComponent("a-divider"),V=e.resolveComponent("ToolOutlined"),$=e.resolveComponent("a-tooltip"),I=e.resolveComponent("a-table"),F=e.resolveComponent("a-tabs"),j=e.resolveComponent("a-form"),U=e.resolveComponent("a-modal");return e.openBlock(),e.createBlock(U,{visible:b.value.visible,"onUpdate:visible":k[23]||(k[23]=M=>b.value.visible=M),title:b.value.title,centered:"",width:"50%",onOk:N},{default:e.withCtx(()=>[e.createVNode(j,{name:"basic",ref_key:"form",ref:v,rules:p.value,model:b.value.form,"label-col":{span:5},"wrapper-col":{span:19},autocomplete:"off",class:"form-mix btn-setting-form"},{default:e.withCtx(()=>[e.createVNode(F,null,{default:e.withCtx(()=>[e.createVNode(_,{key:"base",tab:"基本设置"},{default:e.withCtx(()=>[e.createVNode(S,{label:"操作标题",required:"",name:"title"},{default:e.withCtx(()=>[e.createVNode(B,{value:b.value.form.title,"onUpdate:value":k[0]||(k[0]=M=>b.value.form.title=M)},null,8,["value"])]),_:1}),e.createVNode(S,{label:"操作名称",name:"name",required:""},{default:e.withCtx(()=>[e.createVNode(B,{value:b.value.form.name,"onUpdate:value":k[1]||(k[1]=M=>b.value.form.name=M),disabled:l.preset.includes(b.value.form.name)},null,8,["value","disabled"])]),_:1}),e.createVNode(S,{label:"操作图标"},{default:e.withCtx(()=>[e.createVNode(B,{value:b.value.form.icon,"onUpdate:value":k[2]||(k[2]=M=>b.value.form.icon=M)},null,8,["value"])]),_:1}),e.createVNode(S,{label:"按钮类型"},{default:e.withCtx(()=>[e.createVNode(y,{value:b.value.form.type,"onUpdate:value":k[3]||(k[3]=M=>b.value.form.type=M),allowClear:"",options:[{value:"primary",label:"主要按钮"},{value:"ghost",label:"幽灵按钮"},{value:"dashed",label:"虚线按钮"},{value:"link",label:"连接按钮"},{value:"text",label:"文本按钮"},{value:"default",label:"默认按钮"}]},null,8,["value"])]),_:1}),e.createVNode(S,{label:"显示顺序"},{default:e.withCtx(()=>[e.createVNode(x,{value:b.value.form.index,"onUpdate:value":k[4]||(k[4]=M=>b.value.form.index=M)},null,8,["value"])]),_:1}),e.createVNode(S,{label:"按钮大小"},{default:e.withCtx(()=>[e.createVNode(y,{value:b.value.form.size,"onUpdate:value":k[5]||(k[5]=M=>b.value.form.size=M),options:[{value:"small",label:"小"},{value:"middle",label:"中"},{value:"large",label:"大"}]},null,8,["value"])]),_:1}),e.createVNode(S,{label:"按钮特性"},{default:e.withCtx(()=>[e.createVNode(E,{checked:b.value.form.props.block,"onUpdate:checked":k[6]||(k[6]=M=>b.value.form.props.block=M)},{default:e.withCtx(()=>k[24]||(k[24]=[e.createTextVNode("自适应 ")])),_:1},8,["checked"]),e.createVNode(E,{checked:b.value.form.props.danger,"onUpdate:checked":k[7]||(k[7]=M=>b.value.form.props.danger=M)},{default:e.withCtx(()=>k[25]||(k[25]=[e.createTextVNode("危险 ")])),_:1},8,["checked"]),e.createVNode(E,{checked:b.value.form.props.ghost,"onUpdate:checked":k[8]||(k[8]=M=>b.value.form.props.ghost=M)},{default:e.withCtx(()=>k[26]||(k[26]=[e.createTextVNode("幽灵 ")])),_:1},8,["checked"])]),_:1})]),_:1}),e.createVNode(_,{key:"action",tab:"响应设置"},{default:e.withCtx(()=>[e.createVNode(S,{label:"响应方式",required:""},{default:e.withCtx(()=>[e.createVNode(y,{value:b.value.form.action.type,"onUpdate:value":k[9]||(k[9]=M=>b.value.form.action.type=M),options:[{value:"link",label:"连接"},{value:"route",label:"路由"},{value:"drawer",label:"抽屉"},{value:"dialog",label:"对话框"}]},null,8,["value"])]),_:1}),["drawer","dialog"].includes(b.value.form.action.type)?(e.openBlock(),e.createBlock(S,{key:0,label:"页面编码",help:"根据该页面编码渲染页面内容"},{default:e.withCtx(()=>[e.createVNode(B,{value:b.value.form.action.psn,"onUpdate:value":k[10]||(k[10]=M=>b.value.form.action.psn=M)},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),["drawer","dialog"].includes(b.value.form.action.type)?(e.openBlock(),e.createBlock(S,{key:1,label:"组件名称",help:"组件方式渲染,Vue全局注册的组件名称,且监听params参数,psn参数"},{default:e.withCtx(()=>[e.createVNode(B,{value:b.value.form.action.component,"onUpdate:value":k[11]||(k[11]=M=>b.value.form.action.component=M)},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),e.createVNode(S,{label:"连接地址"},{default:e.withCtx(()=>[e.createVNode(B,{value:b.value.form.action.href,"onUpdate:value":k[12]||(k[12]=M=>b.value.form.action.href=M)},null,8,["value"])]),_:1}),["link","route"].includes(b.value.form.action.type)?(e.openBlock(),e.createBlock(S,{key:2,label:"连接方式"},{default:e.withCtx(()=>[e.createVNode(y,{value:b.value.form.action.target,"onUpdate:value":k[13]||(k[13]=M=>b.value.form.action.target=M),options:[{value:"_blank",label:"新卡片页"},{value:"_self",label:"当前页面"}]},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),["drawer"].includes(b.value.form.action.type)?(e.openBlock(),e.createBlock(S,{key:3,label:"抽屉位置"},{default:e.withCtx(()=>[e.createVNode(y,{value:b.value.form.action.position,"onUpdate:value":k[14]||(k[14]=M=>b.value.form.action.position=M),options:[{value:"left",label:"左侧"},{value:"right",label:"右侧"}]},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),["drawer","dialog"].includes(b.value.form.action.type)?(e.openBlock(),e.createBlock(S,{key:4,label:"显示标题",required:""},{default:e.withCtx(()=>[e.createVNode(B,{value:b.value.form.action.title,"onUpdate:value":k[15]||(k[15]=M=>b.value.form.action.title=M)},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),["drawer","dialog"].includes(b.value.form.action.type)?(e.openBlock(),e.createBlock(S,{key:5,label:"蒙层关闭"},{default:e.withCtx(()=>[e.createVNode(C,{checked:b.value.form.action.maskClosable,"onUpdate:checked":k[16]||(k[16]=M=>b.value.form.action.maskClosable=M),"checked-children":"开","un-checked-children":"关"},null,8,["checked"])]),_:1})):e.createCommentVNode("",!0),["drawer","dialog"].includes(b.value.form.action.type)?(e.openBlock(),e.createBlock(S,{key:6,label:"显示宽度"},{default:e.withCtx(()=>[e.createVNode(x,{value:b.value.form.action.width,"onUpdate:value":k[17]||(k[17]=M=>b.value.form.action.width=M)},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),["dialog"].includes(b.value.form.action.type)?(e.openBlock(),e.createBlock(S,{key:7,label:"显示高度"},{default:e.withCtx(()=>[e.createVNode(x,{value:b.value.form.action.height,"onUpdate:value":k[18]||(k[18]=M=>b.value.form.action.height=M)},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),e.createVNode(T,{orientation:"left"},{default:e.withCtx(()=>[k[29]||(k[29]=e.createTextVNode("参数列表 ")),e.createVNode(O,{size:"small",class:"param-btn",onClick:c},{default:e.withCtx(()=>k[27]||(k[27]=[e.createTextVNode("添加")])),_:1}),e.createVNode(O,{size:"small",class:"param-btn",danger:"",onClick:g},{default:e.withCtx(()=>k[28]||(k[28]=[e.createTextVNode("删除")])),_:1})]),_:1}),e.createVNode(I,{columns:o.value,"data-source":b.value.form.action.params,bordered:"",pagination:!1,"row-selection":a.value,"row-key":"name",size:"small"},{headerCell:e.withCtx(({column:M})=>[["name","title"].includes(M.key)?(e.openBlock(),e.createElementBlock("span",hd,[e.createVNode(V),e.createTextVNode(" "+e.toDisplayString(M.title),1)])):e.createCommentVNode("",!0),["value"].includes(M.key)?(e.openBlock(),e.createBlock($,{key:1,title:"支持常量和变量,变量使用{row.属性}方式获取"},{default:e.withCtx(()=>[e.createElementVNode("span",null,[e.createVNode(V),e.createTextVNode(" "+e.toDisplayString(M.title),1)])]),_:2},1024)):e.createCommentVNode("",!0)]),bodyCell:e.withCtx(({column:M,text:Q,record:D,index:R})=>[["name","title","value"].includes(M.dataIndex)?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["edit-field",(!d.value[R]||!Object.keys(d.value[R]).includes(M.dataIndex))&&!Q&&"empty"]),onClick:J=>s(R,D,M.dataIndex)},[d.value[R]&&Object.keys(d.value[R]).includes(M.dataIndex)?e.withDirectives((e.openBlock(),e.createBlock(B,{key:0,value:d.value[R][M.dataIndex],"onUpdate:value":J=>d.value[R][M.dataIndex]=J,onBlur:J=>f(R,D,M.dataIndex),style:{margin:"-5px 0"}},null,8,["value","onUpdate:value","onBlur"])),[[i]]):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(Q),1)],64))],10,bd)):e.createCommentVNode("",!0)]),_:1},8,["columns","data-source","row-selection"])]),_:1}),e.createVNode(_,{key:"event",tab:"事件设置"},{default:e.withCtx(()=>[e.createVNode(S,{label:"点击事件",help:b.value.helps.clickScript||"点击事件处理脚本,上下文参数:ctx,当前按钮对象:btn,当前事件对象:event,返回false则不触发默认逻辑"},{default:e.withCtx(()=>[e.createVNode(e.unref(Zt.Codemirror),{modelValue:b.value.form.event.clickScript,"onUpdate:modelValue":k[19]||(k[19]=M=>b.value.form.event.clickScript=M),placeholder:"请输入点击事件处理脚本",style:{height:"250px"},autofocus:!0,"indent-with-tab":!0,tabSize:8,extensions:A.value,scrollbarStyle:null},null,8,["modelValue","extensions"])]),_:1},8,["help"]),e.createVNode(S,{label:"禁用逻辑",help:b.value.helps.disableScript||"按钮禁用逻辑控制脚本,上下文参数:ctx,当前按钮对象:btn,返回true禁用,否则可用"},{default:e.withCtx(()=>[e.createVNode(e.unref(Zt.Codemirror),{modelValue:b.value.form.event.disableScript,"onUpdate:modelValue":k[20]||(k[20]=M=>b.value.form.event.disableScript=M),placeholder:"请输入按钮禁用逻辑",style:{height:"250px"},autofocus:!0,"indent-with-tab":!0,tabSize:8,extensions:A.value,scrollbarStyle:null},null,8,["modelValue","extensions"])]),_:1},8,["help"]),e.createVNode(S,{label:"显示逻辑",help:b.value.helps.visibleScript||"按钮显示逻辑控制脚本,上下文参数:ctx,当前按钮对象:btn,返回false隐藏,否则可见"},{default:e.withCtx(()=>[e.createVNode(e.unref(Zt.Codemirror),{modelValue:b.value.form.event.visibleScript,"onUpdate:modelValue":k[21]||(k[21]=M=>b.value.form.event.visibleScript=M),placeholder:"请输入按钮显示逻辑",style:{height:"250px"},autofocus:!0,"indent-with-tab":!0,tabSize:8,extensions:A.value,scrollbarStyle:null},null,8,["modelValue","extensions"])]),_:1},8,["help"]),e.createVNode(S,{label:"动态标题",help:b.value.helps.titleScript||"按钮显示标题控制脚本,上下文参数:ctx,当前按钮对象:btn"},{default:e.withCtx(()=>[e.createVNode(e.unref(Zt.Codemirror),{modelValue:b.value.form.event.titleScript,"onUpdate:modelValue":k[22]||(k[22]=M=>b.value.form.event.titleScript=M),placeholder:"请输入按钮动态标题逻辑",style:{height:"250px"},autofocus:!0,"indent-with-tab":!0,tabSize:8,extensions:A.value,scrollbarStyle:null},null,8,["modelValue","extensions"])]),_:1},8,["help"])]),_:1})]),_:1})]),_:1},8,["rules","model"])]),_:1},8,["visible","title"])}}}),Z=(t,n)=>{const l=t.__vccOpts||t;for(const[o,a]of n)l[o]=a;return l},dl=Z(yd,[["__scopeId","data-v-18621ac1"]]),vd={key:0,class:"widget-opts"},kd={class:"widget-setting-dialog"},ht=Z(e.defineComponent({name:"UnioneWidget",__name:"widget",props:{wid:{type:String,required:!1},engine:{type:Object,required:!1},settingTitle:{type:String,default:"组件设置"},custome:{type:Boolean,default:!1},model:{type:String}},emits:["setting","saving"],setup(t,{expose:n,emit:l}){const o=t,a=l,i=e.ref(),d=e.ref(),r=e.ref(!1);function s(){d.value&&(r.value=!0),a("setting")}function f(){a("saving"),r.value=!1}function c(){return i.value?.clientHeight}function g(){return i.value?.clientWidth}const m=e.computed(()=>o.model||o.engine?.model||"run"),p=e.computed(()=>{const u=o.engine?.widgetActive||{};return u.wid?u.wid==o.wid:!1});function A(){o.engine&&o.wid&&m.value=="edit"&&(console.log("widget click,wid:"+o.wid+",widget",o.engine.$widgetMap[o.wid]),o.engine.ebus.$emit("cmd:exec",{name:"setActive",params:o.wid}))}function b(){o.engine&&o.wid&&o.engine.ebus.$emit("cmd:exec",{name:"del",params:o.wid})}function h(){o.engine&&o.wid&&o.engine.ebus.$emit("cmd:exec",{name:"copy",params:o.wid})}return n({getHeight:c,getWidth:g}),(u,v)=>{const N=e.resolveComponent("CopyOutlined"),w=e.resolveComponent("DeleteOutlined"),k=e.resolveComponent("SettingOutlined"),B=e.resolveComponent("a-tooltip"),S=e.resolveComponent("a-modal");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["unione-widget",m.value,p.value&&"active"]),ref_key:"widgetDom",ref:i,onClick:e.withModifiers(A,["stop"])},[m.value=="edit"?(e.openBlock(),e.createElementBlock("div",vd,[e.createVNode(N,{class:"opt",onClick:e.withModifiers(h,["stop"])}),e.createVNode(w,{class:"opt",onClick:e.withModifiers(b,["stop"])}),e.createVNode(B,{title:t.settingTitle},{default:e.withCtx(()=>[u.$slots["widget-setting"]||t.custome?(e.openBlock(),e.createBlock(k,{key:0,class:"widget-setting opt",onClick:s})):e.createCommentVNode("",!0)]),_:1},8,["title"])])):e.createCommentVNode("",!0),e.renderSlot(u.$slots,"default",{},void 0,!0),m.value=="edit"&&u.$slots["widget-setting"]?(e.openBlock(),e.createBlock(S,{key:1,title:t.settingTitle,ref_key:"settingModal",ref:d,open:r.value,"onUpdate:open":v[0]||(v[0]=y=>r.value=y),centered:"",width:"80%",onOk:f},{default:e.withCtx(()=>[e.createElementVNode("div",kd,[e.renderSlot(u.$slots,"widget-setting",{},void 0,!0)])]),_:3},8,["title","open"])):e.createCommentVNode("",!0)],2)}}}),[["__scopeId","data-v-5ce8d58a"]]),wd={class:"title"},Cd={class:"opts"},Ad=["src"],xd={class:"head-title"},Nd={class:"title"},Sd={class:"opts"},_d=["src"],Vd=Z(e.defineComponent({name:"UnioneBtn",__name:"btn",props:{wid:{type:String,required:!1},engine:{type:Object,required:!1},disabled:{type:Boolean,default:!1},type:{type:String},widget:{type:Object,required:!0,default(){return{}}},preset:{type:Array,default(){return[]}},ctx:{type:Object,default(){return{}}}},emits:["click"],setup(t,{emit:n}){const l=Le(),o=t,a=e.getCurrentInstance(),i=e.computed(()=>a?.appContext?.app),d=P.useSession(),r=e.computed(()=>o.engine?.widget(o.wid)||o.widget||{});e.watch(()=>r.value.event,()=>{f()},{deep:!0}),e.onMounted(()=>{f()});const s=e.ref({});function f(){r.value?.event&&(r.value.event.clickScript?s.value.click=new Function("ctx","btn","event",r.value.event.clickScript):typeof r.value.event.click=="function"?s.value.click=r.value.event.click:r.value.event.click?.enable&&r.value.event.click.scriptText&&(s.value.click=new Function("ctx","btn","event",r.value.event.click.scriptText)),r.value.event.disableScript?s.value.disable=new Function("ctx","btn",r.value.event.disableScript):typeof r.value.event.disable=="function"?s.value.disable=r.value.event.disable:r.value.event.disable?.enable&&r.value.event.disable.scriptText&&(s.value.disable=new Function("ctx","btn",r.value.event.disable.scriptText)),r.value.event.visibleScript?s.value.visible=new Function("ctx","btn",r.value.event.visibleScript):typeof r.value.event.visible=="function"?s.value.visible=r.value.event.visible:r.value.event.visible?.enable&&r.value.event.visible.scriptText&&(s.value.visible=new Function("ctx","btn",r.value.event.visible.scriptText)),r.value.event.titleScript?s.value.title=new Function("ctx","btn",r.value.event.titleScript):typeof r.value.event.title=="function"?s.value.title=r.value.event.title:r.value.event.title?.enable&&r.value.event.title.scriptText&&(s.value.title=new Function("ctx","btn",r.value.event.title.scriptText)))}const c=e.computed(()=>s.value.title?s.value.title(b.value,r.value):typeof r.value.title=="function"?r.value.title(b.value,r.value):r.value.title),g=e.computed(()=>s.value.visible?s.value.visible(b.value,r.value)!=!1:r.value.visible!=!1),m=e.computed(()=>o.disabled==!0?!0:s.value.disable?s.value.disable(b.value,r.value):r.value.disable==!0),p=e.ref(null);function A(){p.value?.open(r.value,x=>{console.log("btn props",x),Object.keys(x).forEach(E=>{r.value[E]=x[E]}),console.log("props btn",r.value)})}const b=e.computed(()=>({...o.ctx,user:d.getPrincipal(),token:d.getToken()})),h=e.ref({open:!1,ismax:!1}),u=e.computed(()=>{if(r.value.action?.href){let x=r.value.action.href;const E=x.matchAll("{[a-zA-Z.]*}"),_=[];let C=null;for(;C=E.next();){if(C&&C.value&&C.value[0]){let O=C.value[0].substring(1,C.value[0].length-1);_.includes(O)||_.push(O)}if(C.done)break}if(_.length>0)for(let O=0;O<_.length;O++){let T=_[O],V=P.utils.obj.getValue(b.value,T);V?V instanceof Object?x=x.replaceAll("{"+T+"}",JSON.stringify(V)):Array.isArray(V)?x=x.replaceAll("{"+T+"}",V.join(",")):x=x.replaceAll("{"+T+"}",V):x=x.replaceAll("{"+T+"}","")}return x.indexOf("?")==-1&&(x+="?"),(!r.value.action.component||r.value.action.component=="iframe")&&(x=x+"&isIframe=1"),x}return""}),v=e.computed(()=>{const x={};let E=r.value.action?.href||r.value.action?.link;if(E){const _=E.matchAll("{[a-zA-Z0-9.]*}"),C=[];let O=null;for(;O=_.next();){if(O&&O.value&&O.value[0]){let V=O.value[0].substring(1,O.value[0].length-1);C.includes(V)||C.push(V)}if(O.done)break}if(C.length>0)for(let V=0;V<C.length;V++){let $=C[V],I=P.utils.obj.getValue(b.value,$);I?I instanceof Object?E=E.replaceAll("{"+$+"}",JSON.stringify(I)):Array.isArray(I)?E=E.replaceAll("{"+$+"}",I.join(",")):E=E.replaceAll("{"+$+"}",I):E=E.replaceAll("{"+$+"}","")}const T=E.split("?")[1];T&&T.split("&").forEach(V=>{const $=V.split("=");$[0]&&$[1]&&(x[$[0]]=$[1])})}return r.value.action?.params&&r.value.action.params.filter(_=>_.value+"").forEach(_=>{if(new RegExp("\\{[a-zA-Z0-9\\.]*\\}").test(_.value)){let O=P.utils.obj.getValue(b.value,_.value);x[_.name]=O}else x[_.name]=_.value}),x}),N=n,w=e.inject("route"),k=e.inject("router");function B(x){if(l.isDebug&&console.log("unione btn click",r.value,x),!(s.value.click&&s.value.click(b.value,r.value,x)==!1)){if(r.value.action?.type=="drawer"||r.value.action?.type=="dialog"){h.value.open=!0;return}else if(r.value.action?.type=="route"){if(r.value.action.component&&i.value?.component(r.value.action.component)){const E=r.value.action.psn,_=w.path+"/"+r.value.name,C=r.value.action.title||r.value.title||r.value.label||r.value.name,O=w.name+":"+r.value.name;k.hasRoute(O)||k.addRoute(w.name,{path:_,name:O,title:C,component:i.value.component(r.value.action.component)}),k.push({path:_,query:{...v.value,psn:E}});return}if(r.value.action?.href||r.value.action?.link){if(r.value.action.link&&o.engine?.type.value=="code")return;k.push({path:r.value.action.href||r.value.action?.link,query:v.value});return}}N("click",{btn:r.value,event:x,ctx:b.value})}}function S(x){N("click",x)}function y(){o.engine?.ebus.$emit("table-list-search")}return(x,E)=>{const _=e.resolveComponent("a-button"),C=e.resolveComponent("unione-btn"),O=e.resolveComponent("a-dropdown"),T=e.resolveComponent("FullscreenOutlined"),V=e.resolveComponent("FullscreenExitOutlined"),$=e.resolveComponent("CloseOutlined"),I=e.resolveComponent("a-drawer"),F=e.resolveComponent("a-modal");return r.value.enable!=!1&&g.value?(e.openBlock(),e.createBlock(ht,{key:0,class:e.normalizeClass(["unione-btn",r.value.props?.block&&"unione-btn-block"]),model:t.engine?.model.value,onSetting:A,custome:!0,"setting-title":"按钮设置"},{default:e.withCtx(()=>[!r.value.widget||r.value.widget=="button"||r.value.widget=="unione-button"?(e.openBlock(),e.createBlock(_,e.mergeProps({key:0,disabled:m.value,size:r.value.size||"small",type:t.type||t.widget.type,shape:r.value.shape,class:"unione-btn-"+r.value.name,loading:r.value.loading,target:r.value.action?.target,title:r.value.tooltip,onClick:B},r.value.props),e.createSlots({default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(c.value)+" ",1)]),_:2},[r.value.icon?{name:"icon",fn:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.value.icon)))]),key:"0"}:void 0]),1040,["disabled","size","type","shape","class","loading","target","title"])):e.createCommentVNode("",!0),r.value.widget=="dropdown"?(e.openBlock(),e.createBlock(O,{key:1,trigger:[r.value.trigger||"hover"],class:e.normalizeClass([r.value.size||"small"])},{overlay:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(["dropdown-overlay",r.value.layout])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.value.items,j=>(e.openBlock(),e.createBlock(C,{key:j.name,class:"item",widget:j,engine:t.engine,preset:t.preset,ctx:t.ctx,onClick:E[0]||(E[0]=U=>S(U))},null,8,["widget","engine","preset","ctx"]))),128))],2)]),default:e.withCtx(()=>[e.createVNode(_,{size:r.value.size||"small"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(c.value),1)]),_:1},8,["size"])]),_:1},8,["trigger","class"])):e.createCommentVNode("",!0),r.value.action?.type=="drawer"?(e.openBlock(),e.createBlock(I,{key:2,class:"unione-btn-drawer",open:h.value.open,"onUpdate:open":E[4]||(E[4]=j=>h.value.open=j),placement:r.value.action?.position,maskClosable:r.value.action?.maskClosable,width:h.value.ismax?"100%":r.value.action?.width,closable:!1,bodyStyle:{padding:0,overflow:!r.value.action.component||r.value.action.component=="iframe"?"hidden":"auto"}},{title:e.withCtx(()=>[e.createElementVNode("div",wd,[r.value.action?.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.value.action?.icon),{key:0,style:{"margin-right":"5px"}})):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(r.value.action?.title),1)])]),extra:e.withCtx(()=>[e.createElementVNode("div",Cd,[h.value.ismax?(e.openBlock(),e.createBlock(V,{key:1,class:"opt",onClick:E[2]||(E[2]=j=>h.value.ismax=!1)})):(e.openBlock(),e.createBlock(T,{key:0,class:"opt",onClick:E[1]||(E[1]=j=>h.value.ismax=!0)})),e.createVNode($,{class:"opt",onClick:E[3]||(E[3]=j=>h.value.open=!1)})])]),footer:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(["footer-btn","btn-"+r.value.wid])},null,2)]),default:e.withCtx(()=>[!r.value.action.component||r.value.action.component=="iframe"?(e.openBlock(),e.createElementBlock("iframe",{key:0,class:"unione-iframe unione-btn-iframe",src:u.value},null,8,Ad)):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.value.action.component),{key:1,psn:r.value.action.psn,params:v.value,actype:"drawer",teleport:".btn-"+r.value.wid,onReloadTableList:y},null,40,["psn","params","teleport"]))]),_:1},8,["open","placement","maskClosable","width","bodyStyle"])):e.createCommentVNode("",!0),r.value.action?.type=="dialog"?(e.openBlock(),e.createBlock(F,{key:3,class:"unione-btn-dialog",open:h.value.open,"onUpdate:open":E[8]||(E[8]=j=>h.value.open=j),width:h.value.ismax?"100%":r.value.action?.width,"wrap-class-name":[h.value.ismax&&"unione-modal-full"],maskClosable:r.value.action?.maskClosable,centered:"",closable:!1},{title:e.withCtx(()=>[e.createElementVNode("div",xd,[e.createElementVNode("div",Nd,[r.value.action?.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.value.action?.icon),{key:0,style:{"margin-right":"5px"}})):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(r.value.action?.title),1)]),e.createElementVNode("div",Sd,[h.value.ismax?(e.openBlock(),e.createBlock(V,{key:1,class:"opt",onClick:E[6]||(E[6]=j=>h.value.ismax=!1)})):(e.openBlock(),e.createBlock(T,{key:0,class:"opt",onClick:E[5]||(E[5]=j=>h.value.ismax=!0)})),e.createVNode($,{class:"opt",onClick:E[7]||(E[7]=j=>h.value.open=!1)})])])]),footer:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(["footer-btn","btn-"+r.value.wid])},null,2)]),default:e.withCtx(()=>[!r.value.action.component||r.value.action.component=="iframe"?(e.openBlock(),e.createElementBlock("iframe",{key:0,class:"unione-iframe unione-btn-iframe",src:u.value,style:e.normalizeStyle({height:r.value.action?.height?r.value.action?.height+"px":""})},null,12,_d)):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.value.action.component),{key:1,psn:r.value.action.psn,params:v.value,actype:"dialog",teleport:".btn-"+r.value.wid,onReloadTableList:y},null,40,["psn","params","teleport"]))]),_:1},8,["open","width","wrap-class-name","maskClosable"])):e.createCommentVNode("",!0),e.createVNode(dl,{ref_key:"btnSetting",ref:p,preset:o.preset},null,8,["preset"])]),_:1},8,["class","model"])):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-664f71aa"]]);function be(t,n=350){let l=null;return o=>{clearTimeout(l),l=setTimeout(()=>{t(o)},n)}}const Bd=e.defineComponent({name:"UnioneWidgetRender",__name:"render",props:{wid:{type:String,required:!1},engine:{type:Object,required:!1},define:{type:Object,required:!1},widget:{type:Object,required:!0}},setup(t){const n=t,l=e.computed(()=>n.engine?.widget(n.wid)||n.widget||{}),o=e.computed(()=>n.define?e.defineAsyncComponent(()=>Promise.resolve(n.define)):l.value.widget);return e.watch(()=>n.define?.style,be(a=>{if(!n.define)return;a&&(a=a.replace(/\.([a-zA-Z0-9_-]+)/g,"."+n.define.widget+" .$1"),a=a.replace("."+n.define.widget+" ."+n.define.widget,"."+n.define.widget));const i=document.querySelector('style[data-widget="'+n.define.widget+'"]');if(i)i.innerHTML=a;else{const d=document.createElement("style");d.setAttribute("data-widget",n.define.widget+""),d.innerHTML=a,document.head.appendChild(d)}},500),{immediate:!0}),(a,i)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(o.value),e.mergeProps({wid:t.wid,engine:t.engine,widget:l.value,class:l.value.widget},l.value.props),null,16,["wid","engine","widget","class"]))}}),Ed={key:1},Od={key:1,class:"widget-container"},Td=e.defineComponent({name:"UnioneContainer",__name:"container",props:e.mergeModels({wid:{type:String,required:!1},widget:{type:Object,required:!1},engine:{type:Object,required:!1},disabled:{type:Boolean,default:!1}},{formValue:{type:Object,required:!1,default:()=>{}},formValueModifiers:{}}),emits:["update:formValue"],setup(t){const n=t,l=e.useModel(t,"formValue"),o=e.ref([]),a=e.computed(()=>n.engine&&n.wid?n.engine.$widgetMap[n.wid]||n.widget||{}:n.widget||{});e.watch(()=>a.value,()=>{a.value?.widgets?o.value=[...a.value.widgets]:o.value=[]},{deep:!0,immediate:!0});const i=e.computed(()=>n.engine?.model||"run");function d(r){if(console.log("handleChange",r),r.added&&n.engine&&(r.added.element.index=r.added.newIndex,r.added.element.pid=a.value?.wid||"",n.engine.ebus.$emit("cmd:exec",{name:"add",params:r.added.element})),r.moved&&n.engine){const s=r.moved.element;n.engine.ebus.$emit("cmd:exec",{name:"move",params:{wid:s.wid,pid:s.pid,oldIndex:r.moved.oldIndex,newIndex:r.moved.newIndex}})}}return(r,s)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["unione-container",i.value])},[a.value&&t.engine&&i.value=="edit"?(e.openBlock(),e.createBlock(e.unref(On),{key:0,class:"widget-container",group:"widget-container",list:o.value,onChange:d,"item-key":"wid"},{item:e.withCtx(({element:f})=>[f.widget?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(f.widget),e.mergeProps({key:0,widget:f,engine:t.engine,disabled:t.disabled,formValue:l.value,"onUpdate:formValue":s[0]||(s[0]=c=>l.value=c)},f.props),null,16,["widget","engine","disabled","formValue"])):(e.openBlock(),e.createElementBlock("div",Ed,"组件为空名称:"+e.toDisplayString(f.title||f.id),1))]),_:1},8,["list"])):(e.openBlock(),e.createElementBlock("div",Od,[e.renderSlot(r.$slots,"default",{},()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(o.value,f=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:f.wid},[f.widget?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(f.widget),e.mergeProps({key:0,widget:f,engine:t.engine,disabled:t.disabled,formValue:l.value,"onUpdate:formValue":s[1]||(s[1]=c=>l.value=c),ref_for:!0},f.props),null,16,["widget","engine","disabled","formValue"])):e.createCommentVNode("",!0)],64))),128))])]))],2))}}),Rd={key:0,class:"unione-widget-empty-tip"},Fd=Z(e.defineComponent({name:"UnioneTabs",__name:"tabs",props:e.mergeModels({wid:{type:String,required:!1},engine:{type:Object,required:!1},widget:{type:Object,required:!1}},{formValue:{type:Object,default:()=>{}},formValueModifiers:{}}),emits:["update:formValue"],setup(t){const n=t,l=e.useModel(t,"formValue"),o=e.ref(),a=e.computed(()=>n.engine?.widget(n.wid)||n.widget);return e.watch(()=>a.value?.widgets,()=>{o.value&&!a.value?.widgets.find(d=>d.wid===o.value)&&a.value?.widgets.length&&(o.value=a.value?.widgets[0]?.wid)}),e.onMounted(()=>{o.value=a.value?.widgets[0]?.wid}),(i,d)=>{const r=e.resolveComponent("UnioneContainer"),s=e.resolveComponent("a-tab-pane"),f=e.resolveComponent("a-tabs");return e.openBlock(),e.createBlock(ht,{class:e.normalizeClass(["unione-layout","unione-layout-tabs"]),wid:a.value.wid,engine:n.engine},{default:e.withCtx(()=>[a.value?(e.openBlock(),e.createBlock(f,e.mergeProps({key:0,activeKey:o.value,"onUpdate:activeKey":d[1]||(d[1]=c=>o.value=c)},a.value.props),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value.widgets,c=>(e.openBlock(),e.createBlock(s,{class:"unione-layout-tab-pane",key:c.wid},{tab:e.withCtx(()=>[e.createElementVNode("span",null,[c.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(c.icon),{key:0})):e.createCommentVNode("",!0),e.createTextVNode(" "+e.toDisplayString(c.title),1)])]),default:e.withCtx(()=>[e.createVNode(r,{engine:t.engine,wid:c.wid,widget:c,formValue:l.value,"onUpdate:formValue":d[0]||(d[0]=g=>l.value=g)},{default:e.withCtx(()=>[e.renderSlot(i.$slots,"default",{},void 0,!0)]),_:2},1032,["engine","wid","widget","formValue"]),c.widgets.length?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",Rd,e.toDisplayString(c.emptyTips),1))]),_:2},1024))),128))]),_:3},16,["activeKey"])):e.createCommentVNode("",!0)]),_:3},8,["wid","engine"])}}}),[["__scopeId","data-v-d6fb1cbe"]]),$d={class:"title"},Id={class:"text"},Md={key:0,class:"reactive"},Dd={key:1,class:"opts"},Ud={class:"warp"},Ld=Z(e.defineComponent({name:"UnioneSection",__name:"section",props:e.mergeModels({title:{type:String,required:!1},icon:{type:String,required:!1},type:{type:String,required:!1},location:{type:String,default:"left"},reactive:{type:Boolean,default:!1},wid:{type:String,required:!1},engine:{type:Object,required:!1},widget:{type:Object,required:!1}},{formValue:{type:Object,default:()=>{}},formValueModifiers:{},modelValue:{type:Boolean,default:!0},modelModifiers:{}}),emits:["update:formValue","update:modelValue"],setup(t){const n=t,l=e.useModel(t,"formValue"),o=e.computed(()=>n.engine?.widget(n.wid)||n.widget||{}),a=e.computed(()=>o.value?.title||n.title),i=e.computed(()=>o.value?.props?.icon||n.icon),d=e.computed(()=>o.value?.props?.type||n.type),r=e.computed(()=>o.value?.props?.bottomLine||!1),s=e.useModel(t,"modelValue");function f(){n.reactive&&(s.value=!s.value)}return(c,g)=>{const m=e.resolveComponent("UnioneContainer");return e.openBlock(),e.createBlock(ht,{class:e.normalizeClass(["unione-layout","unione-layout-section",s.value?"open":"close"]),wid:o.value.wid,engine:n.engine},{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(["head",t.location,t.reactive&&"reactive",r.value&&"bottom-line"]),onClick:f},[e.createElementVNode("div",$d,[d.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["type",d.value])},null,2)):e.createCommentVNode("",!0),i.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(i.value),{key:1,class:"icon"})):e.createCommentVNode("",!0),e.createElementVNode("span",Id,e.toDisplayString(a.value),1)]),t.reactive?(e.openBlock(),e.createElementBlock("div",Md,[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(s.value?"UpOutlined":"DownOutlined")))])):e.createCommentVNode("",!0),t.location=="left"?(e.openBlock(),e.createElementBlock("div",Dd,[e.renderSlot(c.$slots,"opts",{},void 0,!0)])):e.createCommentVNode("",!0)],2),e.withDirectives(e.createElementVNode("div",Ud,[e.createVNode(m,{engine:t.engine,wid:o.value.wid,formValue:l.value,"onUpdate:formValue":g[0]||(g[0]=p=>l.value=p)},{default:e.withCtx(()=>[e.renderSlot(c.$slots,"default",{},void 0,!0)]),_:3},8,["engine","wid","formValue"])],512),[[e.vShow,s.value]])]),_:3},8,["class","wid","engine"])}}}),[["__scopeId","data-v-48cb56cd"]]),jd={class:"unione-props-setting unione-form-setting"},Pd={class:"unione-form-btns"},qd={key:0},zd=["onClick"],Qd={class:"field-txt"},Hd=["onClick"],Yd={key:1,class:"field-txt"},Wd=["onClick"],Kd={key:0,class:"field-txt"},Gd={key:3,class:"edit-field"},Jd={key:0},Xd=["onClick"],Zd=Z(e.defineComponent({__name:"formSetting",props:{wid:{type:String,required:!0},editor:{type:Object,required:!0}},setup(t){const n=t,l=e.ref([{title:"序号",dataIndex:"index",key:"index",width:"30px",fixed:"left",align:"center",customRender:({index:y})=>y+1},{title:"字段名称",dataIndex:"name",key:"name",width:"70px",rowDrag:!0,resizable:!0,fixed:"left",align:"center"},{title:"字段标题",dataIndex:"title",key:"title",width:"90px",align:"center"},{title:"控件类型",dataIndex:"widget",key:"widget",width:"60px",align:"center"},{title:"验证规则",dataIndex:"rules",key:"rules",width:"60px",align:"center"},{title:"表单",dataIndex:"isForm",key:"isForm",width:"40px",align:"center"},{title:"详情",dataIndex:"isView",key:"isView",width:"40px",align:"center"},{title:"转换器",dataIndex:"convertName",key:"convertName",width:"50px",align:"center"}]),o=e.computed(()=>{const y=n.editor.widget(n.wid)||{};return y.configs||(y.configs={}),y.configs.settings||(y.configs.settings={}),y.configs.settings.btns||(y.configs.settings.btns=[]),y}),a=e.computed(()=>(n.editor.dataModels()||[]).map(x=>({value:x.sn,label:x.title+"("+x.name+")"}))),i=e.computed(()=>{const y=o.value.configs.settings.btns,x=y.map(E=>E.name);if(!x.includes("save")){const E={title:"保存",type:"primary",index:0,visible:!0,name:"save"};y.splice(E.index,0,E)}if(!x.includes("submit")){const E={title:"提交",type:"primary",index:1,visible:!0,name:"submit"};let _=E.index||1;y.splice(_,0,E)}if(!x.includes("reset")){const E={title:"重置",type:"default",index:2,visible:!0,props:{danger:!0},name:"reset"};y.splice(E.index,0,E)}if(!x.includes("back")){const E={title:"返回",type:"default",index:3,visible:!0,name:"back"};y.splice(E.index,0,E)}return y}),d=e.ref(null);function r(y){d.value&&d.value.open(y,x=>{x.visible=!0,Object.keys(x).forEach(E=>{y[E]=x[E]}),o.value.configs.settings.btns.sort((E,_)=>{const C=E.index||1,O=_.index||1;return C-O}),o.value.configs.settings.btns=[...o.value.configs.btns]})}function s(){const y=o.value.configs.settings.btns.length+1;let x={title:"新增",name:"new_"+y,index:y,size:"small",visible:!0,type:"default",props:{block:!1,ghost:!1,danger:!1},event:{}};x.name="new_"+o.value.configs.settings.btns.length;const E=o.value.configs.settings.btns.filter(_=>_.name==x.name).length;E>0&&(x.name=x.name+E),o.value.configs.settings.btns.push(x),n.editor.widget(n.wid,o.value),d.value.open(x,_=>{Object.keys(_).forEach(C=>{x[C]=_[C]}),o.value.configs.btns=[...o.value.configs.btns]})}function f(y){const x=()=>{if(["save","submit","reset","back"].includes(y.name))y.visible=!1,o.value.configs.settings.btns=[...o.value.configs.settings.btns];else{const E=[];o.value.configs.settings.btns.forEach(_=>{_.name!=y.name&&E.push(_)}),o.value.configs.settings.btns=E}};te.Modal.confirm({title:"确认信息",content:"请确定删除该工具?",onOk:()=>{x()}})}const c=e.ref({visible:!1,field:{},props:{},widgets:[{value:"a-input",label:"文本框"},{value:"a-textarea",label:"文本域"},{value:"a-input",label:"文本框"},{value:"a-checkbox",label:"多选框"},{value:"a-radio",label:"单选框"},{value:"a-input-number",label:"数值框"},{value:"a-select",label:"下拉框"},{value:"a-tree-select",label:"下拉树"},{value:"a-date-picker",label:"日期框"},{value:"a-input-password",label:"密码框"},{value:"a-input-search",label:"搜索框"},{value:"a-upload",label:"文件框"},{value:"unione-avatar",label:"头像框",disabled:!0},{value:"unione-picture-card",label:"照片墙"},{value:"a-switch",label:"开关"},{value:"a-slider",label:"滑块"}],widgetName:y=>{const x=c.value.widgets.filter(E=>E.value==y);return x[0]?x[0].label:y},toSetting:()=>{}}),g=e.ref({visible:!1,field:{},props:{},showInfo:y=>{let x="";return y.rules&&(x=y.rules.filter(E=>E.enable).length||""),x&&(x="("+x+")"),x},toSetting:()=>{const y=g.value.props,x={name:"range",trigger:y.trigger,whitespace:y.whitespace,message:y.rangeMessage};y.rangeMin!=null&&y.rangeMin!=null&&(x.min=y.rangeMin,x.enable=!0),y.rangeMax!=null&&y.rangeMax!=null&&(x.max=y.rangeMax,x.enable=!0);const E={name:"reg",trigger:y.trigger,whitespace:y.whitespace,message:y.regMessage};y.regExpress&&(E.pattern=y.regExpress,E.enable=!0),g.value.field.rules=[x,E],g.value.visible=!1,g.value.props={},console.log("rule",g.value.field.rules)}});function m(y){g.value.visible=!0,g.value.field=y;const x=y.rules||[],E={trigger:"change",whitespace:!0};x.forEach(_=>{_.name=="reg"&&(E.trigger=_.trigger,E.whitespace=_.whitespace,E.regExpress=_.pattern,E.regMessage=_.message),_.name=="range"&&(E.rangeMin=_.min,E.rangeMax=_.max,E.rangeMessage=_.message)}),g.value.props=E}const p=e.ref({title:"列头设置",prop:"isList",visible:!1,field:{},show:{},toSetting:()=>{p.value.visible=!1}});function A(y,x){const E=v.value.filter(C=>C.name==y.name);E.forEach(C=>{x!="isSort"?C[x]=!0:C[x]=!C[x]});const _=E[0];if(!(!_||x=="isSort")){switch(p.value.prop=x,p.value.field=y,_.show||(_.show={}),x){case"isQuery":_.show.query||(_.show.query={}),p.value.show=_.show.query,p.value.title=`查询设置/${y.title}(${y.name})`;break;case"isForm":_.show.form||(_.show.form={}),p.value.show=_.show.form,p.value.title=`表单设置/${y.title}(${y.name})`;break;case"isView":_.show.view||(_.show.view={}),p.value.show=_.show.view,p.value.title=`详情设置/${y.title}(${y.name})`;break;case"isList":_.show.list||(_.show.list={}),p.value.show=_.show.list,p.value.title=`列头设置/${y.title}(${y.name})`;break}p.value.visible=!0}}const b=e.ref({visible:!1,field:{},convert:{},optionColumn:[{title:"选项标题",dataIndex:"label"},{title:"选项值",dataIndex:"value"},{title:"操作",dataIndex:"action",width:"20%"}],toAddOption:()=>{b.value.convert.options||(b.value.convert.options=[]),b.value.convert.options.push({label:"",value:""})},toDelOption:(y,x)=>{b.value.convert.options.splice(y,1)},toSetting:()=>{b.value.visible=!1}});function h(y){b.value.visible=!0,b.value.field=y,b.value.convert=y.convert||{}}const u=e.computed(()=>n.editor?.dataModel(o.value.dataModel||"none")||{}),v=e.computed(()=>u.value.fields?.length?u.value.fields:[]),N={mounted:y=>y.focus()},w=e.ref({});function k(y,x){const E={};x=="convertName"?E[x]=y.convert?.type:E[x]=y[x]||"",w.value={},w.value[y.name]=E}function B(y,x){{w.value={};return}}function S(y,x){v.value.filter(_=>_.name==y.name).forEach(_=>{_[x]=!_[x]})}return(y,x)=>{const E=e.resolveComponent("a-divider"),_=e.resolveComponent("CloseOutlined"),C=e.resolveComponent("a-button"),O=e.resolveComponent("PlusOutlined"),T=e.resolveComponent("a-select"),V=e.resolveComponent("ToolOutlined"),$=e.resolveComponent("a-checkbox"),I=e.resolveComponent("a-table"),F=e.resolveComponent("a-select-option"),j=e.resolveComponent("a-form-item"),U=e.resolveComponent("a-form"),M=e.resolveComponent("a-modal"),Q=e.resolveComponent("a-checkbox-group"),D=e.resolveComponent("a-input-number"),R=e.resolveComponent("a-input"),J=e.resolveComponent("a-col"),q=e.resolveComponent("a-row");return e.openBlock(),e.createElementBlock("div",jd,[e.createVNode(E,{orientation:"left"},{default:e.withCtx(()=>x[23]||(x[23]=[e.createTextVNode("按钮设置")])),_:1}),e.createElementVNode("div",Pd,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,L=>(e.openBlock(),e.createBlock(C,e.mergeProps({key:L.name,class:["btn",L.name,!L.visible&&"deleted"],type:L.visible?L.type:"default",size:L.size,ref_for:!0},L.props||{},{onClick:ee=>r(L)}),e.createSlots({default:e.withCtx(()=>[e.createTextVNode(" "+e.toDisplayString(L.title)+" ",1),L.visible?(e.openBlock(),e.createBlock(_,{key:0,class:"btn-del",onClick:e.withModifiers(ee=>f(L),["stop"])},null,8,["onClick"])):e.createCommentVNode("",!0)]),_:2},[L.icon?{name:"icon",fn:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(L.icon)))]),key:"0"}:void 0]),1040,["class","type","size","onClick"]))),128)),e.createVNode(C,{class:e.normalizeClass(["btn","btn-add"]),size:"small",onClick:x[0]||(x[0]=L=>s())},{default:e.withCtx(()=>[e.createVNode(O)]),_:1})]),e.createVNode(E,{orientation:"left"},{default:e.withCtx(()=>x[24]||(x[24]=[e.createTextVNode("表单设置")])),_:1}),x[36]||(x[36]=e.createTextVNode(" 数据模型:")),e.createVNode(T,{class:"data-model-list",options:a.value,value:o.value.dataModel,"onUpdate:value":x[1]||(x[1]=L=>o.value.dataModel=L)},null,8,["options","value"]),e.createVNode(I,{columns:l.value,"data-source":v.value,bordered:"",scroll:{x:800},pagination:!1,"row-key":"name",size:"small"},{headerCell:e.withCtx(({column:L})=>[["widget","rules","convertName"].includes(L.key)?(e.openBlock(),e.createElementBlock("span",qd,[e.createVNode(V),e.createTextVNode(" "+e.toDisplayString(L.title),1)])):e.createCommentVNode("",!0)]),bodyCell:e.withCtx(({column:L,text:ee,record:W})=>[["rules"].includes(L.dataIndex)?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["edit-field",!g.value.showInfo(W)&&"empty"]),onClick:se=>m(W)},[e.createElementVNode("span",Qd,e.toDisplayString(g.value.showInfo(W)),1),g.value.showInfo(W)?(e.openBlock(),e.createBlock(C,{key:0,type:"link"},{default:e.withCtx(()=>x[25]||(x[25]=[e.createTextVNode("设置")])),_:1})):e.createCommentVNode("",!0)],10,zd)):["widget"].includes(L.dataIndex)?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["edit-field",(!w.value[W.name]||!Object.keys(w.value[W.name]).includes(L.dataIndex))&&!ee&&"empty"]),onClick:se=>k(W,L.dataIndex)},[w.value[W.name]&&Object.keys(w.value[W.name]).includes(L.dataIndex)?e.withDirectives((e.openBlock(),e.createBlock(T,{key:0,value:W[L.dataIndex],"onUpdate:value":se=>W[L.dataIndex]=se,options:c.value.widgets,onBlur:x[2]||(x[2]=se=>B())},null,8,["value","onUpdate:value","options"])),[[N]]):(e.openBlock(),e.createElementBlock("span",Yd,e.toDisplayString(c.value.widgetName(ee)),1))],10,Hd)):["convertName"].includes(L.dataIndex)?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(["edit-field",(!w.value[W.name]||!Object.keys(w.value[W.name]).includes(L.dataIndex))&&!W.convert?.type&&"empty"]),onClick:se=>k(W,L.dataIndex)},[w.value[W.name]&&Object.keys(w.value[W.name]).includes(L.dataIndex)?e.withDirectives((e.openBlock(),e.createBlock(T,{key:0,value:W[L.dataIndex],"onUpdate:value":se=>W[L.dataIndex]=se,options:[{value:"dict",label:"字典"},{value:"option",label:"静态"}],onBlur:x[3]||(x[3]=se=>B())},null,8,["value","onUpdate:value"])),[[N]]):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[W.convert?.type?(e.openBlock(),e.createElementBlock("span",Kd,e.toDisplayString(W.convert.type=="dict"?"字典":"静态"),1)):e.createCommentVNode("",!0),W.convert?.type?(e.openBlock(),e.createBlock(C,{key:1,type:"link",onClick:e.withModifiers(se=>h(W),["stop"])},{default:e.withCtx(()=>x[26]||(x[26]=[e.createTextVNode("设置")])),_:2},1032,["onClick"])):e.createCommentVNode("",!0)],64))],10,Wd)):["isForm","isView"].includes(L.dataIndex)?(e.openBlock(),e.createElementBlock("div",Gd,[e.createVNode($,{checked:W[L.dataIndex],onClick:se=>S(W,L.dataIndex)},null,8,["checked","onClick"]),e.createVNode(C,{type:"link",onClick:se=>A(W,L.dataIndex)},{default:e.withCtx(()=>x[27]||(x[27]=[e.createTextVNode("设置")])),_:2},1032,["onClick"])])):e.createCommentVNode("",!0)]),_:1},8,["columns","data-source"]),e.createVNode(M,{visible:c.value.visible,"onUpdate:visible":x[5]||(x[5]=L=>c.value.visible=L),title:"控件设置",onOk:c.value.toSetting},{default:e.withCtx(()=>[e.createVNode(U,{model:c.value.props,name:"basic","label-col":{span:6},"wrapper-col":{span:18},autocomplete:"off"},{default:e.withCtx(()=>[c.value.field.widget=="a-select"?(e.openBlock(),e.createBlock(j,{key:0,label:"下拉框类型"},{default:e.withCtx(()=>[e.createVNode(T,{value:c.value.props.mode,"onUpdate:value":x[4]||(x[4]=L=>c.value.props.mode=L),allowClear:!0},{default:e.withCtx(()=>[e.createVNode(F,{value:"multiple"},{default:e.withCtx(()=>x[28]||(x[28]=[e.createTextVNode("多选")])),_:1}),e.createVNode(F,{value:"tags"},{default:e.withCtx(()=>x[29]||(x[29]=[e.createTextVNode("标签")])),_:1})]),_:1},8,["value"])]),_:1})):e.createCommentVNode("",!0)]),_:1},8,["model"])]),_:1},8,["visible","onOk"]),e.createVNode(M,{visible:g.value.visible,"onUpdate:visible":x[13]||(x[13]=L=>g.value.visible=L),title:"规则设置",onOk:g.value.toSetting},{default:e.withCtx(()=>[e.createVNode(U,{model:g.value.props,name:"basic","label-col":{span:6},"wrapper-col":{span:18},autocomplete:"off",class:"form-mix"},{default:e.withCtx(()=>[e.createVNode(E,{orientation:"left"},{default:e.withCtx(()=>x[30]||(x[30]=[e.createTextVNode("基本设置")])),_:1}),e.createVNode(j,{label:"触发时机"},{default:e.withCtx(()=>[e.createVNode(Q,{value:g.value.props.trigger,"onUpdate:value":x[6]||(x[6]=L=>g.value.props.trigger=L),options:["change","blur"]},null,8,["value"])]),_:1}),g.value.field.isNull?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(j,{key:0,label:"忽略空格",class:"checkbox-tips"},{default:e.withCtx(()=>[e.createVNode($,{value:g.value.props.whitespace,"onUpdate:value":x[7]||(x[7]=L=>g.value.props.whitespace=L),checked:g.value.props.whitespace},{default:e.withCtx(()=>x[31]||(x[31]=[e.createTextVNode(" 必填验证开启时,是否忽略空格 ")])),_:1},8,["value","checked"])]),_:1})),e.createVNode(E,{orientation:"left"},{default:e.withCtx(()=>x[32]||(x[32]=[e.createTextVNode("数值区间")])),_:1}),e.createVNode(j,{label:"有效区间"},{default:e.withCtx(()=>[e.createVNode(D,{value:g.value.props.rangeMin,"onUpdate:value":x[8]||(x[8]=L=>g.value.props.rangeMin=L)},null,8,["value"]),x[33]||(x[33]=e.createElementVNode("span",{style:{margin:"auto 5px"}},null,-1)),e.createVNode(D,{value:g.value.props.rangeMax,"onUpdate:value":x[9]||(x[9]=L=>g.value.props.rangeMax=L)},null,8,["value"])]),_:1}),e.createVNode(j,{label:"错误提示"},{default:e.withCtx(()=>[e.createVNode(R,{value:g.value.props.rangeMessage,"onUpdate:value":x[10]||(x[10]=L=>g.value.props.rangeMessage=L)},null,8,["value"])]),_:1}),e.createVNode(E,{orientation:"left"},{default:e.withCtx(()=>x[34]||(x[34]=[e.createTextVNode("正则验证")])),_:1}),e.createVNode(j,{label:"表达式"},{default:e.withCtx(()=>[e.createVNode(R,{value:g.value.props.regExpress,"onUpdate:value":x[11]||(x[11]=L=>g.value.props.regExpress=L)},null,8,["value"])]),_:1}),e.createVNode(j,{label:"错误提示"},{default:e.withCtx(()=>[e.createVNode(R,{value:g.value.props.regMessage,"onUpdate:value":x[12]||(x[12]=L=>g.value.props.regMessage=L)},null,8,["value"])]),_:1})]),_:1},8,["model"])]),_:1},8,["visible","onOk"]),e.createVNode(M,{visible:p.value.visible,"onUpdate:visible":x[20]||(x[20]=L=>p.value.visible=L),title:p.value.title,onOk:p.value.toSetting},{default:e.withCtx(()=>[e.createVNode(U,{model:p.value.show,name:"basic","label-col":{span:6},"wrapper-col":{span:18},autocomplete:"off"},{default:e.withCtx(()=>[e.createVNode(j,{label:"显示顺序"},{default:e.withCtx(()=>[e.createVNode(D,{value:p.value.show.index,"onUpdate:value":x[14]||(x[14]=L=>p.value.show.index=L)},null,8,["value"])]),_:1}),["isQuery"].includes(p.value.prop)?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(j,{key:0,label:"显示宽度"},{default:e.withCtx(()=>[e.createVNode(R,{value:p.value.show.width,"onUpdate:value":x[15]||(x[15]=L=>p.value.show.width=L)},null,8,["value"])]),_:1})),["isForm","isView"].includes(p.value.prop)?(e.openBlock(),e.createBlock(j,{key:1,label:"标题宽度"},{default:e.withCtx(()=>[e.createVNode(R,{value:p.value.show.labelWidth,"onUpdate:value":x[16]||(x[16]=L=>p.value.show.labelWidth=L)},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),["isForm","isView"].includes(p.value.prop)?(e.openBlock(),e.createBlock(j,{key:2,label:"控件宽度"},{default:e.withCtx(()=>[e.createVNode(R,{value:p.value.show.valueWidth,"onUpdate:value":x[17]||(x[17]=L=>p.value.show.valueWidth=L)},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),["isList"].includes(p.value.prop)?(e.openBlock(),e.createBlock(j,{key:3,label:"固定位置"},{default:e.withCtx(()=>[e.createVNode(T,{value:p.value.show.fixed,"onUpdate:value":x[18]||(x[18]=L=>p.value.show.fixed=L),options:[{value:"",label:"无"},{value:"left",label:"靠左"},{value:"right",label:"靠右"}]},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),["isList"].includes(p.value.prop)?(e.openBlock(),e.createBlock(j,{key:4,label:"对齐方式"},{default:e.withCtx(()=>[e.createVNode(T,{value:p.value.show.align,"onUpdate:value":x[19]||(x[19]=L=>p.value.show.align=L),options:[{value:"left",label:"左对齐"},{value:"center",label:"居中"},{value:"right",label:"右对齐"}]},null,8,["value"])]),_:1})):e.createCommentVNode("",!0)]),_:1},8,["model"])]),_:1},8,["visible","title","onOk"]),e.createVNode(M,{visible:b.value.visible,"onUpdate:visible":x[22]||(x[22]=L=>b.value.visible=L),title:b.value.convert.type=="dict"?"字典设置":"选项设置",onOk:b.value.toSetting},{default:e.withCtx(()=>[b.value.convert.type!="dict"?(e.openBlock(),e.createElementBlock("div",Jd,[e.createVNode(C,{class:"editable-add-btn",style:{"margin-bottom":"8px"},onClick:b.value.toAddOption},{default:e.withCtx(()=>x[35]||(x[35]=[e.createTextVNode("新增")])),_:1},8,["onClick"]),e.createVNode(I,{columns:b.value.optionColumn,"data-source":b.value.convert.options,size:"small"},{bodyCell:e.withCtx(({column:L,record:ee,index:W})=>[L.dataIndex==="label"?(e.openBlock(),e.createBlock(R,{key:0,value:ee.label,"onUpdate:value":se=>ee.label=se,style:{margin:"-5px 0"}},null,8,["value","onUpdate:value"])):e.createCommentVNode("",!0),L.dataIndex==="value"?(e.openBlock(),e.createBlock(R,{key:1,value:ee.value,"onUpdate:value":se=>ee.value=se,style:{margin:"-5px 0"}},null,8,["value","onUpdate:value"])):e.createCommentVNode("",!0),L.dataIndex==="action"?(e.openBlock(),e.createElementBlock("a",{key:2,onClick:se=>b.value.toDelOption(W,ee)},"删除",8,Xd)):e.createCommentVNode("",!0)]),_:1},8,["columns","data-source"])])):e.createCommentVNode("",!0),b.value.convert.type=="dict"?(e.openBlock(),e.createBlock(U,{key:1,model:b.value.convert,name:"basic","label-col":{span:8},"wrapper-col":{span:16},autocomplete:"off"},{default:e.withCtx(()=>[e.createVNode(q,{type:"flex",style:{width:"100%"}},{default:e.withCtx(()=>[e.createVNode(J,{span:24,order:1},{default:e.withCtx(()=>[e.createVNode(j,{label:"字典名称:"},{default:e.withCtx(()=>[e.createVNode(R,{value:b.value.convert.dict,"onUpdate:value":x[21]||(x[21]=L=>b.value.convert.dict=L)},null,8,["value"])]),_:1})]),_:1})]),_:1})]),_:1},8,["model"])):e.createCommentVNode("",!0)]),_:1},8,["visible","title","onOk"]),e.createVNode(dl,{ref_key:"btnSetting",ref:d},null,512)])}}}),[["__scopeId","data-v-c0f75bb9"]]),ec={key:0,class:"form-left"},tc={key:1,class:"form-warp"},nc={key:2,class:"form-right"},lc=Z(e.defineComponent({__name:"form",props:{wid:{type:String,required:!1},engine:{type:Object,required:!1},widget:{type:Object,required:!1},form:{type:Object,required:!1},model:{type:String}},emits:["onload"],setup(t,{expose:n,emit:l}){const o=t,a=l,i=e.ref(!1),d=e.ref(!1),r=e.ref(),s=e.ref({}),f=e.ref(null),c=e.ref(new Ve);e.watch(()=>o.model,(C,O)=>{C&&C!=O&&c.value.exeCmd("model",C)}),e.onMounted(()=>{if(s.value||(s.value={}),o.engine?c.value=o.engine:c.value.loadConfig({widgets:m.value}),g.value.dsn){const C=c.value.dataManager();g.value.primary&&C.psn(g.value.dsn),f.value.setDisabled=y,f.value.getValue=N,f.value.setValue=w,f.value.reset=k,r.value=C.useForm(g.value.dsn,f.value,O=>{s.value=O.body||{},a("onload",s.value)})}(o.model||o.form?.model)&&c.value.exeCmd("model",o.model||o.form?.model),B()});const g=e.computed(()=>o.wid&&c.value.$widgetMap[o.wid]?c.value.$widgetMap[o.wid]:o.widget||o.form||{widgets:[]}),m=e.computed(()=>{let C=g.value.widgets||[];!C.length&&o.form?.fields&&(C=o.form.fields);const O=T=>{T.forEach(V=>{V.wid||(V.wid=Xt.uniqueId("w:")),V.name&&(V.widget||(V.widget="unione-form-item"),!V.control&&V.widget=="unione-form-item"&&(V.control="a-input")),V.widgets&&O(V.widgets)})};return O(C),C}),p=e.computed(()=>m.value.filter(C=>C.float=="left")),A=e.computed(()=>m.value.filter(C=>!C.float)),b=e.computed(()=>m.value.filter(C=>C.float=="right")),h=e.inject("pageSetting",{}),u=e.computed(()=>g.value.setting||o.form?.setting||h?.form||{}),v=e.computed(()=>{const C={};return u.value&&(C.labelAlign=u.value.labelAlign||"right",C.layout="horizontal",u.value.labelAlign=="top"&&(C.labelAlign="left",C.layout="vertical"),C.size=u.value.formSize||"default"),C});e.provide("formSetting",u.value),e.provide("formChanged",C=>{i.value=C});function N(){return s.value}function w(C){s.value=C||{},i.value=!0,B()}function k(){s.value={},i.value=!1,B(),c.value.ebus.$emit("form-reset")}function B(){const C=O=>{if(O.name&&(O.value||O.value==0)){if(O.event?.visible){let V=null;if(typeof O.event.visible=="function"?V=O.event.visible:O.event.visible.enable&&(V=new Function("value","ctx",O.event.visible.scriptText)),V&&!V(O.value,s.value))return}const T=P.utils.obj.getValue(s.value,O.name);(!T&&T!=0||T=="undefined")&&P.utils.obj.setValue(s.value,O.name,O.value)}O.widgets?.forEach(T=>{C(T)})};m.value.forEach(O=>{C(O)})}function S(){return new Promise((C,O)=>{f.value.validate().then(T=>{C(s.value)}).catch(T=>{O(T)})})}function y(C=!0){d.value=C,c.value.ebus.$emit("form-disabled",C)}function x(){return g.value.widgets||[]}function E(){return i.value}function _(){i.value=!1}return n({validate:S,getValue:N,setValue:w,reset:k,setDisabled:y,getWidgets:x,isChanged:E,recover:_}),(C,O)=>{const T=e.resolveComponent("UnioneContainer"),V=e.resolveComponent("a-form");return c.value?(e.openBlock(),e.createBlock(ht,{key:0,class:"unione-form-widget","setting-title":"表单设置",engine:c.value},e.createSlots({default:e.withCtx(()=>[e.createVNode(V,e.mergeProps({ref_key:"formObj",ref:f,model:s.value,class:["unione-form",c.value.model,"form-layout-col-"+(u.value.showColumn||1)]},v.value,{labelCol:{span:u.value.labelWidth||4},wrapperCol:{span:24-u.value.labelWidth||4}}),{default:e.withCtx(()=>[e.createVNode(T,{engine:c.value,wid:g.value.wid,disabled:d.value,formValue:s.value,"onUpdate:formValue":O[0]||(O[0]=$=>s.value=$),class:"form-widget-container"},{default:e.withCtx(()=>[p.value?.length&&s.value?(e.openBlock(),e.createElementBlock("div",ec,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(p.value,$=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent($.widget),{key:$.name,widget:$,engine:c.value,disabled:d.value,formValue:s.value},null,8,["widget","engine","disabled","formValue"]))),128))])):e.createCommentVNode("",!0),s.value?(e.openBlock(),e.createElementBlock("div",tc,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(A.value,$=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent($.widget),e.mergeProps({key:$.name,widget:$,engine:c.value,disabled:d.value,formValue:s.value,ref_for:!0},$.props),null,16,["widget","engine","disabled","formValue"]))),128))])):e.createCommentVNode("",!0),b.value?.length&&s.value?(e.openBlock(),e.createElementBlock("div",nc,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value,$=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent($.widget),e.mergeProps({key:$.name,widget:$,engine:c.value,disabled:d.value,formValue:s.value,ref_for:!0},$.props),null,16,["widget","engine","disabled","formValue"]))),128))])):e.createCommentVNode("",!0)]),_:1},8,["engine","wid","disabled","formValue"])]),_:1},16,["model","class","labelCol","wrapperCol"])]),_:2},[t.engine&&g.value.wid?{name:"widget-setting",fn:e.withCtx(()=>[e.createVNode(Zd,{wid:g.value.wid,editor:t.engine},null,8,["wid","editor"])]),key:"0"}:void 0]),1032,["engine"])):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-565b094c"]]);function za(t,n=!1){const l=Le();if(!t)return Promise.reject("字典名称不能为空");const o=localStorage.getItem("UNIONE-DICT-"+t);return o&&n==!1?Promise.resolve(JSON.parse(o)):(l.isDebug&&console.log("进入:加载字典数据方法,dict name:"+t+",force:"+n),new Promise((a,i)=>{P.axios.admin({url:"/api/base/dict/load/"+t}).then(d=>{if(d.success){const r=d.body.filter(s=>s.dictName!=s.dictKey);r.forEach(s=>{s.value=s.dictKey,s.label=s.dictValue}),r.length?(localStorage.setItem("UNIONE-DICT-"+t,JSON.stringify(r)),a(r)):i("字典加载失败,dict:"+t+",字典项列表为空")}else l.isDebug&&console.error("字典加载失败,dict:"+t,d),i("字典加载失败,dict:"+t+",error:"+d.message)})}))}async function Qa(t,n){const l=Le();if(n==null||n==null||n=="undefined"||!(n+"").length)return Promise.reject("字典key为空");const o=typeof n=="number"?[n+""]:n.split(","),a=await za(t),i=a.filter(d=>o.includes(d.dictKey));return i.length>0?Promise.resolve(i):(l.isDebug&&console.log("字典项匹配失败,name:"+t+",key:"+n+"options:",a),Promise.reject("字典项匹配失败,name:"+t+",key:"+n))}async function oc(t,n){const l=await Qa(t,n);return Promise.resolve(l.map(o=>o.dictValue).join(","))}const Ha={load:za,getLabel:oc,getOption:Qa};class st{types;convertObj;config;options;constructor(n){this.config=Le(),(!n||!n.types)&&this.config.isDebug&&console.error("转换器定义不能为空,type不能为空",n),n.valueField||(n.valueField="id"),n.labelField||(n.labelField="title"),this.types=n.types,this.convertObj=n,this.options=n.options||[]}load(n,l=!1){return!(n==null||n==null||n=="undefined"||!(n+"").length)&&this.options?.length&&this.options.filter(o=>o.value==n).length?Promise.resolve(this.options):this.convertObj.types=="dict"?new Promise((o,a)=>{if(!this.convertObj.dictName)return this.config.isDebug&&console.error("字典名称不能为空,id:"+this.convertObj.id),a();Ha.load(this.convertObj.dictName,l).then(i=>{this.options=i,typeof n=="number"&&this.options.forEach(d=>{d.value=parseInt(d.value)}),o(this.options)})}):this.convertObj.types=="option"?(this.options=this.convertObj.options||[],this.convertObj.options?.length?Promise.resolve(this.convertObj.options):(this.config.isDebug&&console.error("静态转换器选项为空,id:"+this.convertObj.id,this.convertObj),Promise.reject())):!this.convertObj.id&&this.convertObj.types!="local"?(this.config.isDebug&&console.error("转换器id不能为空,type:"+this.convertObj.types),Promise.reject()):new Promise((o,a)=>{const i={body:this.convertObj.params||{}};this.convertObj.pidField&&(i.pid=-1);const d=this.convertObj.types=="local"?this.convertObj.url:"/api/data/convertor/"+this.convertObj.id;if(!d)return a("转换器url不能为空,type:"+this.convertObj.types+",id:"+this.convertObj.id);P.axios[this.convertObj.ctx||"admin"]({url:d,data:i,method:"POST"}).then(r=>{r.success?(this.options=r.body,this.$processOptions(this.options),typeof n=="number"&&this.options.forEach(s=>{s.value=parseInt(s.value)}),n==null||n==null||n=="undefined"||!(n+"").length?this.options.length?o(this.options):(this.config.isDebug&&console.error("数据选项为空,type:"+this.convertObj.types+",id:"+this.convertObj.id,r),a("数据选项为空,type:"+this.convertObj.types+",id:"+this.convertObj.id)):this.options.filter(f=>f.value==n).length?o(this.options):(i.body||(i.body={}),i.body[this.convertObj.valueField||"id"]=n,P.axios[this.convertObj.ctx||"admin"]({url:d,data:i,method:"POST"}).then(f=>{if(f.success){const c={};this.options.forEach(g=>{c[n]=!0}),f.body.forEach(g=>{c[g.value]||this.options.push(g)}),o(this.options)}else a("数据选项为空,type:"+this.convertObj.types+",id:"+this.convertObj.id)}))):(this.config.isDebug&&console.error("数据选项加载失败,type:"+this.convertObj.types+",id:"+this.convertObj.id,r),a("数据选项加载失败,type:"+this.convertObj.types+",id:"+this.convertObj.id+",error:"+r.message))})})}convert(n){if(n==null||n==null||n=="undefined"||!(n+"").length)return Promise.reject("value为空");if(this.convertObj.types=="dict")return this.convertObj.dictName?Ha.getLabel(this.convertObj.dictName,n):Promise.reject("字典名称不能为空");const l=typeof n=="number"?[n]:n.split(",");if(this.convertObj.types=="option"){if(this.convertObj.options?.length){const o=this.convertObj.options.filter(a=>l.includes(a.value)).map(a=>a.label);return o.length?Promise.resolve(o.join(",")):(this.config.isDebug&&console.error("静态转换器选项匹配失败,id:"+this.convertObj.id+",value:"+n,this.convertObj),Promise.reject())}return this.config.isDebug&&console.error("静态转换器选项为空,id:"+this.convertObj.id),Promise.reject()}if(this.options?.length){const o=this.options.filter(a=>l.includes(a.value)).map(a=>a.label);if(o.length)return Promise.resolve(o.join(","))}return new Promise((o,a)=>{this.load(n).then(i=>{const d=i.filter(r=>l.includes(r.value)).map(r=>r.label);if(d.length)return Promise.resolve(d.join(","));a()})})}children(n=-1){return this.config.isDebug&&console.log("进入:加载下级数据项方法,id:"+this.convertObj.id+",type:"+this.convertObj.types+",pid:"+n),this.convertObj.pidField?this.convertObj.types=="dict"||this.convertObj.types=="option"?(this.config.isDebug&&console.error("字典/静态转换器不支持该方法,type:"+this.convertObj.types+",id:"+this.convertObj.id),Promise.reject()):new Promise((o,a)=>{const i=this.convertObj.types=="local"?this.convertObj.url:"/api/data/convertor/"+this.convertObj.id;P.axios[this.convertObj.ctx||"admin"]({url:i,data:n,method:"POST"}).then(d=>{d.success?(this.$processOptions(d.body),this.options=[...this.options,...d.body],o(d.body)):(this.config.isDebug&&console.error("加载下级数据项失败,type:"+this.convertObj.types+",id:"+this.convertObj.id+",pid:"+n,d),a())})}):(this.config.isDebug&&console.error("转换器未设置parentField,id:"+this.convertObj.id),Promise.reject())}search(n){if(this.config.isDebug&&console.log("进入:搜索数据选项方法,id:"+this.convertObj.id+",type:"+this.convertObj.types+",keywords:"+n),this.convertObj.types=="dict"||this.convertObj.types=="option")return Promise.resolve(this.options.filter(o=>o.label.indexOf(n)>=0));const l={...this.convertObj.params||{}};return new Promise(o=>{const a=this.convertObj.types=="local"?this.convertObj.url:"/api/data/convertor/"+this.convertObj.id;P.axios[this.convertObj.ctx||"admin"]({url:a,data:{body:{...l},keywords:n},method:"POST"}).then(i=>{i.success?(this.$processOptions(i.body),o(i.body)):o([])})})}$processOptions(n){return this.convertObj.types=="local"&&!this.convertObj.process&&n.forEach(l=>{this.convertObj.idField&&(l.id=l[this.convertObj.idField]),this.convertObj.pidField&&(l.pid=l[this.convertObj.pidField]),l.value=l[this.convertObj.valueField||"id"],l.label=l[this.convertObj.labelField||"title"]}),this.convertObj.process?this.convertObj.process(n):n}}const io=[{name:"number",title:"数字",express:String.raw`/^\d+$/`,error:"请输入正确的数字"},{name:"money",title:"金额",express:String.raw`/^([1-9][\d]*|0)(\.[\d]+)?$/`,error:"请输入正确的金额"},{name:"tel",title:"手机号",express:String.raw`/^1[3456789]\d{9}$/`,error:"请输入正确的手机号码"},{name:"phone",title:"手机/电话",express:String.raw`/^1[3456789]\d{9}$|^0\d{2,3}-?\d{7,8}$/`,error:"请输入正确的联系方式"},{name:"email",title:"邮箱",express:String.raw`/^[a-z0-9]+([._\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$/`,error:"请输入正确的邮箱"},{name:"idcard",title:"身份证号码",express:String.raw`/^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/`,error:"请输入正确的身份证号码"}];function Ya(){const t=Le();if(t.formRules?.length){const n={};io.forEach(o=>{n[o.name]=o});const l=[...io];return t.formRules.forEach(o=>{const a=n[o.name];a?Object.assign(a,o):l.push(a)}),l}return io}const Wa={loadAdvances:Ya},ac=["innerHTML"],ic={key:2,class:"text-view"},rc=Z(e.defineComponent({__name:"formItem",props:e.mergeModels({wid:{type:String,required:!1},engine:{type:Object,required:!1},widget:{type:Object,required:!1},formValue:{type:Object,required:!0},disabled:{type:Boolean,defualt:!1},allowClear:{type:Boolean,default:!1}},{value:{},valueModifiers:{}}),emits:["update:value"],setup(t){const n=t,l=e.useModel(t,"value"),o=e.computed(()=>d.value.showFormat?d.value.showFormat.call(this,l.value,{label:k.value,form:n.formValue}):k.value||l.value),a=e.inject("formSetting"),i=e.inject("formChanged");e.onMounted(()=>{const B=P.utils.obj.getValue(n.formValue,r.value.name);B!=null&&typeof B<"u"&&B!=""&&(l.value=B),b.value=Ya()});const d=e.ref({}),r=e.computed(()=>{const B=n.engine?.widget(n.wid)||n.widget||{};return B.event&&Object.keys(B.event).forEach(S=>{const y=B.event[S];y&&(d.value[S]=null,typeof y=="function"?d.value[S]=y:y.enable&&y.scriptText&&(d.value[S]=new Function("value","ctx",y.scriptText)))}),B});e.watch(()=>P.utils.obj.getValue(n.formValue,r.value.name),(B,S)=>{B!=S&&(l.value=B)});const s=e.computed(()=>d.value.disabled?d.value.disabled(l.value,n.formValue):n.disabled),f=e.computed(()=>!(d.value.visible&&d.value.visible(l.value,n.formValue)==!1||r.value.view?.visible=="1")),c=e.computed(()=>{if(r.value.view?.hideLabel=="0")return"";if(d.value.title)return d.value.title(l.value,n.formValue)||r.value.title;if(n.engine&&r.value.name){let B=null,S=n.engine.widget(r.value.pid||"-1");for(;S;){if(S.dsn){B=S.dsn;break}if(!S.pid)break;S=n.engine.widget(S.pid)}if(B&&n.engine.dataModels){const y=n.engine.dataModels.find(x=>x.dsn===B);if(y){const x=y.fields.filter(E=>E.name==r.value.name)[0];if(x&&x.title)return r.value.title=x.title,x.title}}else if(n.engine.dataModels){const y=n.engine.dataModels[0];if(y){const x=y.fields.filter(E=>E.name==r.value.name)[0];if(x&&x.title)return r.value.title=x.title,x.title}}}return r.value.title});function g(){d.value.blur&&d.value.blur(l.value,n.formValue)}function m(B){r.value.name&&(P.utils.obj.setValue(n.formValue,r.value.name,l.value),p(B))}const p=be(()=>{if(i&&i(!0),d.value.change){d.value.change(l.value,n.formValue);return}r.value.change&&r.value.change(l.value,n.formValue)}),A=e.computed(()=>{let B=r.value.props?.required;if(d.value.required)try{B=d.value.required(l.value,n.formValue)}catch(S){console.error("form item required event error:",S)}return!!B}),b=e.ref({}),h=e.computed(()=>{const B=[],S=r.value.rule||{};if(A.value&&B.push({required:!0,whitespace:S?.whitespace||!1,trigger:S?.trigger||a?.ruleTrigger||"change",validator:(y,x)=>(S?.whitespace&&x&&typeof x=="string"&&(x=x.trim()),x!=null&&x!=null&&(x+"").replace(/\s+/g,"").length>0?Promise.resolve():Promise.reject(c.value+"不能为空!"))}),S.advance&&b.value[S.advance]){const y=b.value[S.advance];B.push({pattern:y.pattern,message:y.message||"表单验证不通过!",trigger:S.trigger||a?.ruleTrigger||"change"})}return S.regExpress&&B.push({pattern:S.regExpress,message:S.regMessage||"表单验证不通过!",trigger:S.trigger||a?.ruleTrigger||"change"}),r.value.dataLen&&B.push({validator:(y,x)=>x&&(x+"").length>r.value.dataLen?Promise.reject("最大长度["+r.value.dataLen+"],当前:["+(x+"").length+"]"):Promise.resolve(),trigger:S?.trigger||a?.ruleTrigger||"change"}),B}),u=e.computed(()=>{const B=r.value.props||{};if(r.value.control=="a-input-number"){const y=r.value.rule||{};y.rangeMin!=null&&y.rangeMin!=null&&(B.min=y.rangeMin),y.rangeMax!=null&&y.rangeMax!=null&&(B.max=y.rangeMax)}r.value.control=="a-date-picker"&&r.value.view?.dataFormat&&(B.format=r.value.view.dataFormat,B.valueFormat=r.value.view.dataFormat),r.value.required&&(B.required=r.value.required);const S={...B};return delete S.prefix,delete S.suffix,S}),v=e.computed(()=>{const B=r.value.css||{},S=["form-item-"+r.value.name];return B.cssName&&S.push(B.cssName),a?.platform=="app"?B.cssName?typeof B.cssName=="string"&&B.cssName.indexOf("all-line")<0&&S.push("all-line"):S.push("all-line"):r.value.view?.width&&(r.value.view.width>=3?(!B.cssName||typeof B.cssName=="string"&&B.cssName.indexOf("all-line")<0)&&S.push("all-line"):r.value.view.width==2&&S.push("2in-line")),S}),N=e.computed(()=>{let B=r.value.view?.labelWidth;return B?{span:B}:null}),w=e.computed(()=>({span:24-N.value?.span||0})),k=e.ref();return e.watch(l,()=>{(l.value||l.value==0)&&n.engine?.model=="view"&&r.value.convert&&new st(r.value.convert).convert(l.value+"").then(B=>{k.value=B})}),(B,S)=>{const y=e.resolveComponent("a-form-item");return e.openBlock(),e.createBlock(ht,{class:e.normalizeClass(["unione-form-item",v.value]),style:e.normalizeStyle(r.value.css?.cssText),wid:r.value.wid,engine:n.engine},{default:e.withCtx(()=>[f.value?(e.openBlock(),e.createBlock(y,{key:0,label:c.value,name:r.value.name,labelCol:N.value,wrapperCol:w.value,required:A.value,rules:h.value,help:(!n.engine||n.engine.model.value!="view")&&r.value.props?.help,tooltip:r.value.props?.tooltip,class:e.normalizeClass([r.value.view?.gridWidth&&"ant-col-"+r.value.view?.gridWidth])},{default:e.withCtx(()=>[!n.engine||r.value.view=="self"||n.engine.model!="view"&&r.value.view!="html"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.value.control||r.value.widget||"a-input"),e.mergeProps({key:0,wid:r.value.wid,widget:r.value,engine:n.engine,disabled:s.value,allowClear:t.allowClear,onChange:m,onBlur:g,value:l.value,"onUpdate:value":S[0]||(S[0]=x=>l.value=x),formValue:t.formValue},u.value,{style:{width:r.value.view?.valueWidth,...r.value.css?.props}}),e.createSlots({_:2},[r.value.props?.prefix?{name:"prefix",fn:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.value.props?.prefix)))]),key:"0"}:void 0,r.value.props?.suffix?{name:"suffix",fn:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.value.props?.suffix)))]),key:"1"}:void 0]),1040,["wid","widget","engine","disabled","allowClear","value","formValue","style"])):r.value.view=="html"?(e.openBlock(),e.createElementBlock("div",{key:1,class:"text-view text-html",innerHTML:o.value},null,8,ac)):(e.openBlock(),e.createElementBlock("div",ic,e.toDisplayString(o.value),1)),e.renderSlot(B.$slots,"default",{},void 0,!0)]),_:3},8,["label","name","labelCol","wrapperCol","required","rules","help","tooltip","class"])):e.createCommentVNode("",!0)]),_:3},8,["class","style","wid","engine"])}}}),[["__scopeId","data-v-800ee59e"]]),sc=Z(e.defineComponent({__name:"selectBox",props:e.mergeModels({wid:{type:String,required:!1},engine:{type:Object,required:!1},widget:{type:Object,required:!1},convert:{type:Object,required:!1},options:{type:Array,required:!1},formValue:{type:Object},mode:{type:String,default:"combobox"},valueType:{type:String,default:"string"}},{value:{},valueModifiers:{}}),emits:e.mergeModels(["change"],["update:value"]),setup(t,{emit:n}){const l=Le(),o=n,a=t,i=e.ref(),d=e.useModel(t,"value"),r=e.ref([]),s=e.computed(()=>r.value?.length?r.value:a.options?.length?a.options:[]),f=e.computed(()=>{const N=h.value.convert||a.convert||{};if(N.refValue){const w={};return N.refValue.split(",").forEach(B=>{const S=B.split("=");S.length==1?w[S[0]]=P.utils.obj.getValue(a.formValue,S[0]):w[S[0]]=P.utils.obj.getValue(a.formValue,S[1])}),w}return{}}),c=e.computed(()=>(h.value.convert||a.convert||{}).search||!1),g=be(N=>{const w=h.value.convert||a.convert||{};w.params={...A.value,...f.value},u.value.search(N).then(k=>{l.isDebug&&console.log(h.value.name+" search ",N,k),e.nextTick(()=>{r.value=[...k]})})},500);function m(N,w){b.value.select&&b.value.select(N,{option:w,formValue:a.formValue})}function p(){v()}const A=e.ref();e.onMounted(()=>{const N=h.value.convert||a.convert||{};A.value=N.params||{},N.params={...A.value,...f.value},a.mode=="multiple"&&typeof d.value=="string"&&(i.value=d.value.split(",")),u.value.load(d.value).then(w=>{r.value=w})});const b=e.ref({}),h=e.computed(()=>{const N=a.engine?.widget(a.wid)||a.widget||{};return N.event&&Object.keys(N.event).forEach(w=>{const k=N.event[w];k&&(b.value[w]=null,typeof k=="function"?b.value[w]=k:k.enable&&k.scriptText&&(b.value[w]=new Function("value","ctx",k.scriptText)))}),N}),u=e.computed(()=>{const N=h.value.convert||a.convert||{};return new st(N)});e.watch(()=>h.value.convert||a.convert||{},be(()=>{l.isDebug&&console.log(h.value.name+" convert changed",d.value),a.engine?.model=="edit"&&u.value.load().then(N=>{r.value=N})}),{deep:!0}),e.watch(d,be(()=>{d.value!=null&&d.value!==""&&d.value!==void 0&&(d.value+"").length>0&&(a.mode=="multiple"&&typeof d.value=="string"?i.value=d.value.split(","):(i.value=d.value,r.value[0]&&(typeof r.value[0].value=="number"?i.value=Number(i.value):typeof r.value[0].value=="string"&&(i.value=String(i.value)))),u.value.types!="dict"&&u.value.types!="option"&&(r.value.find(w=>w.value===d.value)||(l.isDebug&&console.log(h.value.name+" model value changed",d.value),u.value.load(d.value).then(w=>{r.value=w}))))},200)),e.watch(()=>f.value,be(()=>{if(l.isDebug&&console.log(h.value.name+" ref value changed",f.value),f.value&&u.value.types!="dict"&&u.value.types!="option"){const N=h.value.convert||a.convert||{};N.params={...A.value,...f.value},r.value.find(k=>k.value===d.value)||u.value.load(d.value,!0).then(k=>{r.value=k})}},200),{deep:!0}),e.watch(i,v);function v(){Array.isArray(i.value)&&a.valueType=="string"?d.value=i.value.join(","):d.value=i.value,o("change",d.value)}return(N,w)=>{const k=e.resolveComponent("a-select");return e.openBlock(),e.createBlock(k,{class:"unione-form-select",options:s.value,showSearch:c.value,mode:t.mode,filterOption:!u.value?.search,value:i.value,"onUpdate:value":w[0]||(w[0]=B=>i.value=B),onSearch:e.unref(g),onSelect:m,onChange:p},null,8,["options","showSearch","mode","filterOption","value","onSearch"])}}}),[["__scopeId","data-v-a72e89d0"]]),dc=Z(e.defineComponent({__name:"switchBox",props:e.mergeModels({engine:{type:Object,required:!1},widget:{type:Object,required:!1},convert:{type:Object,required:!1}},{value:{},valueModifiers:{}}),emits:e.mergeModels(["change"],["update:value"]),setup(t,{emit:n}){const l=n,o=t,a=e.useModel(t,"value");function i(g){l("change",g)}const d=e.ref({});e.onMounted(()=>{f.value.load(a.value).then(g=>{c(g)})});const r=e.ref({}),s=e.computed(()=>{const g=o.widget||{};return g.event&&Object.keys(g.event).forEach(m=>{const p=g.event[m];p&&(r.value[m]=null,typeof p=="function"?r.value[m]=p:p.enable&&p.scriptText&&(r.value[m]=new Function("value","ctx",p.scriptText)))}),g}),f=e.computed(()=>{const g=s.value.convert||o.convert||{};return new st(g)});function c(g){g.forEach(m=>{m.value&&(m.value===!0||m.value=="1"||m.value=="true"||m.value=="TRUE")?(d.value.checkedChildren=m.label,m.value===!0||m.value=="true"||m.value=="TRUE"?d.value.checkedValue=!0:d.value.checkedValue=Number.isNaN(m.value)?m.value:Number(m.value)):(d.value.unCheckedChildren=m.label,m.value===!1||m.value=="false"||m.value=="FALSE"?d.value.unCheckedValue=!1:d.value.unCheckedValue=Number.isNaN(m.value)?m.value:Number(m.value))})}return e.watch(()=>s.value.convert||o.convert||{},be(()=>{f.value.load().then(g=>{c(g)})}),{deep:!0}),(g,m)=>{const p=e.resolveComponent("a-switch");return e.openBlock(),e.createBlock(p,e.mergeProps({class:"unione-form-switch"},d.value,{checked:a.value,"onUpdate:checked":m[0]||(m[0]=A=>a.value=A),onChange:i}),null,16,["checked"])}}}),[["__scopeId","data-v-e4555df5"]]),cc=Z(e.defineComponent({__name:"radioBox",props:e.mergeModels({wid:{type:String,required:!1},engine:{type:Object,required:!1},widget:{type:Object,required:!1},convert:{type:Object,required:!1},options:{type:Array,required:!1},formValue:{type:Object},layout:{type:String,default:"horizontal"}},{value:{},valueModifiers:{}}),emits:["update:value"],setup(t){const n=t,l=e.useModel(t,"value"),o=e.ref([]),a=e.computed(()=>o.value?.length?o.value:n.options?.length?n.options:[]),i=e.computed(()=>{const g=s.value.convert||n.convert||{};if(g.refValue){const m={};return g.refValue.split(",").forEach(A=>{const b=A.split("=");b.length==1?m[b[0]]=P.utils.obj.getValue(n.formValue,b[0]):m[b[0]]=P.utils.obj.getValue(n.formValue,b[1])}),console.log(s.value.name+" ref field:"+g.refValue+",ref value",m),m}return{}}),d=e.ref();e.onMounted(()=>{const g=s.value.convert||n.convert||{};d.value=g.params||{},g.params={...d.value,...i.value},f.value.load(l.value||s.value.value).then(m=>{o.value=m})});const r=e.ref({}),s=e.computed(()=>{const g=n.engine?.widget(n.wid)||n.widget||{};return g.event&&Object.keys(g.event).forEach(m=>{const p=g.event[m];p&&(r.value[m]=null,typeof p=="function"?r.value[m]=p:p.enable&&p.scriptText&&(r.value[m]=new Function("value","ctx",p.scriptText)))}),g}),f=e.computed(()=>{const g=s.value.convert||n.convert||{};return new st(g)});e.watch(()=>s.value.convert||n.convert||{},be(()=>{f.value.load().then(g=>{o.value=g})}),{deep:!0}),e.watch(()=>i.value,()=>{if(console.log(s.value.name+" ref value changed",i.value),i.value){const g=s.value.convert||n.convert||{};g.params={...d.value,...i.value},f.value.load(void 0,!0).then(m=>{o.value=m})}},{deep:!0});function c(g){r.value?.select&&r.value.select(g.value,{option:g,formValue:n.formValue})}return(g,m)=>{const p=e.resolveComponent("QuestionCircleOutlined"),A=e.resolveComponent("a-tooltip"),b=e.resolveComponent("a-radio"),h=e.resolveComponent("a-radio-group");return e.openBlock(),e.createBlock(h,{class:e.normalizeClass(["unione-form-radio",t.layout]),value:l.value,"onUpdate:value":m[0]||(m[0]=u=>l.value=u)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,u=>(e.openBlock(),e.createBlock(b,{key:u.value,value:u.value,onClick:v=>c(u)},{default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(u.label),1),u.help?(e.openBlock(),e.createBlock(A,{key:0,title:u.help},{default:e.withCtx(()=>[e.createVNode(p,{class:"icon"})]),_:2},1032,["title"])):e.createCommentVNode("",!0)]),_:2},1032,["value","onClick"]))),128))]),_:1},8,["class","value"])}}}),[["__scopeId","data-v-747bb329"]]),uc=Z(e.defineComponent({__name:"checkBox",props:e.mergeModels({wid:{type:String,required:!1},engine:{type:Object,required:!1},returnType:{type:String,default:"string"},widget:{type:Object,required:!1},convert:{type:Object,required:!1},options:{type:Array,required:!1},formValue:{type:Object},layout:{type:String,default:"horizontal"}},{value:{},valueModifiers:{}}),emits:e.mergeModels(["change"],["update:value"]),setup(t,{emit:n}){const l=t,o=e.useModel(t,"value"),a=e.ref(),i=e.ref([]),d=e.computed(()=>{const A=c.value.convert||l.convert||{};return A.types=="option"?A.options||[]:i.value?.length?i.value:l.options?.length?l.options:[]}),r=e.computed(()=>{const A=c.value.convert||l.convert||{};if(A.refValue){const b={};return A.refValue.split(",").forEach(u=>{const v=u.split("=");v.length==1?b[v[0]]=P.utils.obj.getValue(l.formValue,v[0]):b[v[0]]=P.utils.obj.getValue(l.formValue,v[1])}),console.log(c.value.name+" ref field:"+A.refValue+",ref value",b),b}return{}}),s=e.ref();e.onMounted(()=>{const A=o.value||c.value.value||"";l.returnType==="string"?a.value=A.split(","):a.value=A;const b=c.value.convert||l.convert||{};s.value=b.params||{},b.params={...s.value,...r.value},p.value.load().then(h=>{i.value=h})});const f=e.ref({}),c=e.computed(()=>{const A=l.engine?.widget(l.wid)||l.widget||{};return A.event&&Object.keys(A.event).forEach(b=>{const h=A.event[b];f.value[b]=null,h.enable&&h.scriptText&&(f.value[b]=new Function("value","ctx",h.scriptText))}),A}),g=n;function m(A){l.returnType==="string"?o.value=A.join(","):o.value=A,console.log("checkbox changed",o.value),g("change",o.value)}const p=e.computed(()=>{const A=c.value.convert||l.convert||{};return new st(A)});return e.watch(()=>c.value.convert||l.convert||{},be(()=>{p.value.load().then(A=>{i.value=A})}),{deep:!0}),e.watch(()=>o.value,()=>{a.value=Array.isArray(o.value)?o.value:[],o.value&&!Array.isArray(o.value)&&(a.value=o.value.split(","))}),e.watch(()=>r.value,()=>{if(console.log(c.value.name+" ref value changed",r.value),r.value){a.value=[],l.returnType==="string"?o.value="":o.value=[];const A=c.value.convert||l.convert||{};A.params={...s.value,...r.value},p.value.load(void 0,!0).then(b=>{i.value=b})}},{deep:!0}),(A,b)=>{const h=e.resolveComponent("QuestionCircleOutlined"),u=e.resolveComponent("a-tooltip"),v=e.resolveComponent("a-checkbox-group");return e.openBlock(),e.createBlock(v,{class:e.normalizeClass(["unione-form-checkbox",t.layout]),options:d.value,value:a.value,"onUpdate:value":b[0]||(b[0]=N=>a.value=N),onChange:m},{label:e.withCtx(N=>[e.createElementVNode("span",null,e.toDisplayString(N.label),1),N.help?(e.openBlock(),e.createBlock(u,{key:0,title:N.help},{default:e.withCtx(()=>[e.createVNode(h,{class:"icon"})]),_:2},1032,["title"])):e.createCommentVNode("",!0)]),_:1},8,["class","options","value"])}}}),[["__scopeId","data-v-676fca1e"]]),fc=Z(e.defineComponent({__name:"checkSwitch",props:e.mergeModels({wid:{type:String,required:!1},engine:{type:Object,required:!1},model:{type:Object,default(){return{checked:!0,unchecked:!1}}},widget:{type:Object,required:!1},convert:{type:Object,required:!1},options:{type:Array,required:!1},formValue:{type:Object},layout:{type:String,default:"horizontal"}},{value:{},valueModifiers:{}}),emits:e.mergeModels(["change"],["update:value"]),setup(t,{emit:n}){const l=t,o=e.useModel(t,"value"),a=e.ref([]),i=e.computed(()=>{const p=s.value.convert||l.convert||{};return p.types=="option"?p.options||[]:a.value?.length?a.value:l.options?.length?l.options:[]}),d=e.computed(()=>{const p=s.value.convert||l.convert||{};if(p.refValue){const A={};return p.refValue.split(",").forEach(h=>{const u=h.split("=");u.length==1?A[u[0]]=P.utils.obj.getValue(l.formValue,u[0]):A[u[0]]=P.utils.obj.getValue(l.formValue,u[1])}),console.log(s.value.name+" ref field:"+p.refValue+",ref value",A),A}return{}}),r=e.ref();e.onMounted(()=>{o.value||(o.value={},f("change",o.value));const p=s.value.convert||l.convert||{};r.value=p.params||{},p.params={...r.value,...d.value},m.value.load().then(A=>{a.value=A})});const s=e.computed(()=>l.engine?.widget(l.wid)||l.widget||{}),f=n;function c(p){s.value.name=="this"&&l.formValue?l.formValue[p.value]==l.model.checked?l.formValue[p.value]=l.model.unchecked:l.formValue[p.value]=l.model.checked:(o.value||(o.value={}),o.value[p.value]==l.model.checked?o.value[p.value]=l.model.unchecked:o.value[p.value]=l.model.checked,f("change",o.value))}function g(p){return s.value.name=="this"&&l.formValue?l.formValue[p.value]==l.model.checked:(o.value||(o.value={}),o.value&&o.value[p.value]==l.model.checked)}const m=e.computed(()=>{const p=s.value.convert||l.convert||{};return new st(p)});return e.watch(()=>s.value.convert||l.convert||{},be(()=>{m.value.load().then(p=>{a.value=p})}),{deep:!0}),e.watch(()=>d.value,()=>{if(d.value){const p=s.value.convert||l.convert||{};p.params={...r.value,...d.value},m.value.load(void 0,!0).then(A=>{a.value=A})}},{deep:!0}),(p,A)=>{const b=e.resolveComponent("QuestionCircleOutlined"),h=e.resolveComponent("a-tooltip"),u=e.resolveComponent("a-checkbox");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["unione-check-switch",t.layout])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,v=>(e.openBlock(),e.createBlock(u,{key:v.value,checked:g(v),onChange:N=>c(v)},{default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(v.label),1),v.help?(e.openBlock(),e.createBlock(h,{key:0,title:v.help},{default:e.withCtx(()=>[e.createVNode(b,{class:"icon"})]),_:2},1032,["title"])):e.createCommentVNode("",!0)]),_:2},1032,["checked","onChange"]))),128))],2)}}}),[["__scopeId","data-v-3e89bc45"]]),pc=Z(e.defineComponent({__name:"pwdBox",props:{value:{},valueModifiers:{}},emits:["update:value"],setup(t){const n=e.ref(),l=e.useModel(t,"value");return e.watch(()=>n.value,()=>{n.value?l.value=P.utils.sm2Encrypt(n.value):l.value=""}),(o,a)=>{const i=e.resolveComponent("a-input-password");return e.openBlock(),e.createBlock(i,{class:"unione-form-password",value:n.value,"onUpdate:value":a[0]||(a[0]=d=>n.value=d)},null,8,["value"])}}}),[["__scopeId","data-v-4515a2af"]]),mc=Z(e.defineComponent({__name:"randomInput",props:e.mergeModels({wid:{type:String,required:!1},engine:{type:Object,required:!1},widget:{type:Object,required:!1},len:{type:Number,default:10},disabled:{type:Boolean,defualt:!1}},{value:{},valueModifiers:{}}),emits:["update:value"],setup(t){const n=t,l=e.useModel(t,"value");function o(){n.disabled||(l.value=Pa(n.len))}return e.onMounted(()=>{e.nextTick(()=>{(!l.value||typeof l.value>"u")&&(n.disabled||o())}),n.engine?.ebus.$on("form-reset",()=>{n.disabled||o()})}),(a,i)=>{const d=e.resolveComponent("SyncOutlined"),r=e.resolveComponent("a-input");return e.openBlock(),e.createBlock(r,{class:"unione-form-random-input",value:l.value,"onUpdate:value":i[0]||(i[0]=s=>l.value=s),disabled:t.disabled},{suffix:e.withCtx(()=>[e.createVNode(d,{style:{color:"rgba(0, 0, 0, 0.45)"},onClick:o})]),_:1},8,["value","disabled"])}}}),[["__scopeId","data-v-f2fb0f2e"]]),gc=["disabled"],hc=Z(e.defineComponent({__name:"uploadBox",props:e.mergeModels({wid:{type:String,required:!1},engine:{type:Object,required:!1},widget:{type:Object,required:!1},listType:{type:String,default:"text"},formValue:{type:Object},btnLabel:{type:String,default:"上传文件"},valueType:{type:String,default:"array"},autoUpload:{type:Boolean,default:!1},beforeUpload:{type:Function,required:!1},disabled:{type:Boolean,default:!1}},{value:{},valueModifiers:{}}),emits:e.mergeModels(["change"],["update:value"]),setup(t,{emit:n}){const l=t,o=n,a=e.useModel(t,"value"),i=e.ref([]);e.watch(a,()=>{i.value=[],a.value&&(Array.isArray(a.value)?i.value=a.value:(a.value.startsWith("[")&&a.value.endsWith("]")||a.value.startsWith("{")&&a.value.endsWith("}"))&&(i.value=JSON.parse(a.value)))});function d(s){return l.beforeUpload?l.beforeUpload(s):l.autoUpload}function r({fileList:s}){l.valueType=="array"?(a.value=s,o("change",s)):(a.value=JSON.stringify(s),o("change",JSON.stringify(s)))}return(s,f)=>{const c=e.resolveComponent("upload-outlined"),g=e.resolveComponent("a-button"),m=e.resolveComponent("plus-outlined"),p=e.resolveComponent("a-upload");return e.openBlock(),e.createBlock(p,{class:"unione-form-upload-box","file-list":i.value,"onUpdate:fileList":f[0]||(f[0]=A=>i.value=A),disabled:t.disabled||t.engine?.model=="view",beforeUpload:d,"list-type":t.listType,onChange:r},{default:e.withCtx(()=>[(!t.disabled||t.engine?.model!="view")&&t.listType=="text"?(e.openBlock(),e.createBlock(g,{key:0,disabled:t.disabled},{default:e.withCtx(()=>[e.createVNode(c),e.createTextVNode(" "+e.toDisplayString(t.btnLabel),1)]),_:1},8,["disabled"])):e.createCommentVNode("",!0),(!t.disabled||t.engine?.model!="view")&&t.listType!="text"?(e.openBlock(),e.createElementBlock("div",{key:1,class:"btn-upload-pic",disabled:t.disabled},[e.createVNode(m),f[1]||(f[1]=e.createElementVNode("span",{class:"text"},"Upload",-1))],8,gc)):e.createCommentVNode("",!0)]),_:1},8,["file-list","disabled","list-type"])}}}),[["__scopeId","data-v-c4b004a7"]]),ro=[{title:"线框风格",name:"Outlined",groups:[{title:"通用图标",icons:["AccountBookOutlined","AimOutlined","AlertOutlined","ApartmentOutlined","ApiOutlined","AppstoreAddOutlined","AppstoreOutlined","AudioOutlined","AudioMutedOutlined","AuditOutlined","BankOutlined","BarcodeOutlined","BarsOutlined","BellOutlined","BlockOutlined","BookOutlined","BorderOutlined","BorderlessTableOutlined","BranchesOutlined","BugOutlined","BuildOutlined","BulbOutlined","CalculatorOutlined","CalendarOutlined","CameraOutlined","CarOutlined","CarryOutOutlined","CiCircleOutlined","CiOutlined","ClearOutlined","CloudDownloadOutlined","CloudOutlined","CloudServerOutlined","CloudSyncOutlined","CloudUploadOutlined","ClusterOutlined","CodeOutlined","CoffeeOutlined","CommentOutlined","CompassOutlined","CompressOutlined","ConsoleSqlOutlined","ContactsOutlined","ContainerOutlined","ControlOutlined","CopyrightCircleOutlined","CopyrightOutlined","CreditCardOutlined","CrownOutlined","CustomerServiceOutlined","DashboardOutlined","DatabaseOutlined","DeleteColumnOutlined","DeleteRowOutlined","DeliveredProcedureOutlined","DeploymentUnitOutlined","DesktopOutlined","DingtalkOutlined","DisconnectOutlined","DislikeOutlined","DollarCircleOutlined","DollarOutlined","DownloadOutlined","EllipsisOutlined","EnvironmentOutlined","EuroCircleOutlined","EuroOutlined","ExceptionOutlined","ExpandAltOutlined","ExpandOutlined","ExperimentOutlined","ExportOutlined","EyeOutlined","EyeInvisibleOutlined","FieldBinaryOutlined","FieldNumberOutlined","FieldStringOutlined","FieldTimeOutlined","FileAddOutlined","FileDoneOutlined","FileExcelOutlined","FileExclamationOutlined","FileOutlined","FileGifOutlined","FileImageOutlined","FileJpgOutlined","FileMarkdownOutlined","FilePdfOutlined","FilePptOutlined","FileProtectOutlined","FileSearchOutlined","FileSyncOutlined","FileTextOutlined","FileUnknownOutlined","FileWordOutlined","FileZipOutlined","FilterOutlined","FireOutlined","FlagOutlined","FolderAddOutlined","FolderOutlined","FolderOpenOutlined","FolderViewOutlined","ForkOutlined","FormatPainterOutlined","FrownOutlined","FunctionOutlined","FundProjectionScreenOutlined","FundViewOutlined","FunnelPlotOutlined","GatewayOutlined","GifOutlined","GiftOutlined","GlobalOutlined","GoldOutlined","GroupOutlined","HddOutlined","HeartOutlined","HistoryOutlined","HolderOutlined","HomeOutlined","HourglassOutlined","IdcardOutlined","ImportOutlined","InboxOutlined","InsertRowAboveOutlined","InsertRowBelowOutlined","InsertRowLeftOutlined","InsertRowRightOutlined","InsuranceOutlined","InteractionOutlined","KeyOutlined","LaptopOutlined","LayoutOutlined","LikeOutlined","LineOutlined","LinkOutlined","Loading3QuartersOutlined","LoadingOutlined","LockOutlined","MacCommandOutlined","MailOutlined","ManOutlined","MedicineBoxOutlined","MehOutlined","MenuOutlined","MergeCellsOutlined","MessageOutlined","MobileOutlined","MoneyCollectOutlined","MonitorOutlined","MoreOutlined","NodeCollapseOutlined","NodeExpandOutlined","NodeIndexOutlined","NotificationOutlined","NumberOutlined","OneToOneOutlined","PaperClipOutlined","PartitionOutlined","PayCircleOutlined","PercentageOutlined","PhoneOutlined","PictureOutlined","PlaySquareOutlined","PoundCircleOutlined","PoundOutlined","PoweroffOutlined","PrinterOutlined","ProfileOutlined","ProjectOutlined","PropertySafetyOutlined","PullRequestOutlined","PushpinOutlined","QrcodeOutlined","ReadOutlined","ReconciliationOutlined","RedEnvelopeOutlined","ReloadOutlined","RestOutlined","RobotOutlined","RocketOutlined","RotateLeftOutlined","RotateRightOutlined","SafetyCertificateOutlined","SafetyOutlined","SaveOutlined","ScanOutlined","ScheduleOutlined","SearchOutlined","SecurityScanOutlined","SelectOutlined","SendOutlined","SettingOutlined","ShakeOutlined","ShareAltOutlined","ShopOutlined","ShoppingCartOutlined","ShoppingOutlined","SisternodeOutlined","SkinOutlined","SmileOutlined","SolutionOutlined","SoundOutlined","SplitCellsOutlined","StarOutlined","SubnodeOutlined","SwitcherOutlined","SyncOutlined","TableOutlined","TabletOutlined","TagOutlined","TagsOutlined","TeamOutlined","ThunderboltOutlined","ToTopOutlined","ToolOutlined","TrademarkCircleOutlined","TrademarkOutlined","TransactionOutlined","TranslationOutlined","TrophyOutlined","UngroupOutlined","UnlockOutlined","UploadOutlined","UsbOutlined","UserAddOutlined","UserDeleteOutlined","UserOutlined","UserSwitchOutlined","UsergroupAddOutlined","UsergroupDeleteOutlined","VerifiedOutlined","VideoCameraAddOutlined","VideoCameraOutlined","WalletOutlined","WhatsAppOutlined","WifiOutlined","WomanOutlined"]},{title:"方向图标",icons:["StepBackwardOutlined","StepForwardOutlined","FastBackwardOutlined","FastForwardOutlined","ShrinkOutlined","ArrowsAltOutlined","DownOutlined","UpOutlined","LeftOutlined","RightOutlined","CaretUpOutlined","CaretDownOutlined","CaretLeftOutlined","CaretRightOutlined","UpCircleOutlined","DownCircleOutlined","LeftCircleOutlined","RightCircleOutlined","DoubleRightOutlined","DoubleLeftOutlined","VerticalLeftOutlined","VerticalRightOutlined","VerticalAlignTopOutlined","VerticalAlignMiddleOutlined","VerticalAlignBottomOutlined","ForwardOutlined","BackwardOutlined","RollbackOutlined","EnterOutlined","RetweetOutlined","SwapOutlined","SwapLeftOutlined","SwapRightOutlined","ArrowUpOutlined","ArrowDownOutlined","ArrowLeftOutlined","ArrowRightOutlined","PlayCircleOutlined","UpSquareOutlined","DownSquareOutlined","LeftSquareOutlined","RightSquareOutlined","LoginOutlined","LogoutOutlined","MenuFoldOutlined","MenuUnfoldOutlined","BorderBottomOutlined","BorderHorizontalOutlined","BorderInnerOutlined","BorderOuterOutlined","BorderLeftOutlined","BorderRightOutlined","BorderTopOutlined","BorderVerticleOutlined","PicCenterOutlined","PicLeftOutlined","PicRightOutlined","RadiusBottomleftOutlined","RadiusBottomrightOutlined","RadiusUpleftOutlined","RadiusUprightOutlined","FullscreenOutlined","FullscreenExitOutlined"]},{title:"提示图标",icons:["QuestionOutlined","QuestionCircleOutlined","PlusOutlined","PlusCircleOutlined","PauseOutlined","PauseCircleOutlined","MinusOutlined","MinusCircleOutlined","PlusSquareOutlined","MinusSquareOutlined","InfoOutlined","InfoCircleOutlined","ExclamationOutlined","ExclamationCircleOutlined","CloseOutlined","CloseCircleOutlined","CloseSquareOutlined","CheckOutlined","CheckCircleOutlined","CheckSquareOutlined","ClockCircleOutlined","WarningOutlined","IssuesCloseOutlined","StopOutlined"]},{title:"编辑图标",icons:["EditOutlined","FormOutlined","CopyOutlined","ScissorOutlined","DeleteOutlined","SnippetsOutlined","DiffOutlined","HighlightOutlined","AlignCenterOutlined","AlignLeftOutlined","AlignRightOutlined","BgColorsOutlined","BoldOutlined","ItalicOutlined","UnderlineOutlined","StrikethroughOutlined","RedoOutlined","UndoOutlined","ZoomInOutlined","ZoomOutOutlined","FontColorsOutlined","FontSizeOutlined","LineHeightOutlined","DashOutlined","SmallDashOutlined","SortAscendingOutlined","SortDescendingOutlined","DragOutlined","OrderedListOutlined","UnorderedListOutlined","RadiusSettingOutlined","ColumnWidthOutlined","ColumnHeightOutlined"]},{title:"数据图标",icons:["AreaChartOutlined","PieChartOutlined","BarChartOutlined","DotChartOutlined","LineChartOutlined","RadarChartOutlined","HeatMapOutlined","FallOutlined","RiseOutlined","StockOutlined","BoxPlotOutlined","FundOutlined","SlidersOutlined"]},{title:"品牌图标",icons:["AndroidOutlined","AppleOutlined","WindowsOutlined","IeOutlined","ChromeOutlined","GithubOutlined","AliwangwangOutlined","DingdingOutlined","WeiboSquareOutlined","WeiboCircleOutlined","TaobaoCircleOutlined","Html5Outlined","WeiboOutlined","TwitterOutlined","WechatOutlined","YoutubeOutlined","AlipayCircleOutlined","TaobaoOutlined","SkypeOutlined","QqOutlined","MediumWorkmarkOutlined","GitlabOutlined","MediumOutlined","LinkedinOutlined","GooglePlusOutlined","DropboxOutlined","FacebookOutlined","CodepenOutlined","CodeSandboxOutlined","AmazonOutlined","GoogleOutlined","CodepenCircleOutlined","AlipayOutlined","AntDesignOutlined","AntCloudOutlined","AliyunOutlined","ZhihuOutlined","SlackOutlined","SlackSquareOutlined","BehanceOutlined","BehanceSquareOutlined","DribbbleOutlined","DribbbleSquareOutlined","InstagramOutlined","YuqueOutlined","AlibabaOutlined","YahooOutlined","RedditOutlined","SketchOutlined"]}]},{title:"实底风格",name:"Filled",groups:[{title:"通用图标",icons:["AccountBookFilled","AlertFilled","AlipaySquareFilled","AmazonCircleFilled","AmazonSquareFilled","ApiFilled","AppstoreFilled","AudioFilled","BankFilled","BehanceCircleFilled","BellFilled","BookFilled","BugFilled","BuildFilled","BulbFilled","CalculatorFilled","CalendarFilled","CameraFilled","CarFilled","CarryOutFilled","CiCircleFilled","CloudFilled","CodeFilled","CodeSandboxSquareFilled","CodepenSquareFilled","CompassFilled","ContactsFilled","ContainerFilled","ControlFilled","CopyrightCircleFilled","CreditCardFilled","CrownFilled","CustomerServiceFilled","DashboardFilled","DatabaseFilled","DingtalkCircleFilled","DingtalkSquareFilled","DislikeFilled","DollarCircleFilled","DribbbleCircleFilled","DropboxCircleFilled","DropboxSquareFilled","EnvironmentFilled","EuroCircleFilled","ExperimentFilled","EyeFilled","EyeInvisibleFilled","FileAddFilled","FileExcelFilled","FileExclamationFilled","FileFilled","FileImageFilled","FileMarkdownFilled","FilePdfFilled","FilePptFilled","FileTextFilled","FileUnknownFilled","FileWordFilled","FileZipFilled","FilterFilled","FireFilled","FlagFilled","FolderAddFilled","FolderFilled","FolderOpenFilled","FormatPainterFilled","FrownFilled","FunnelPlotFilled","GiftFilled","GoldFilled","GoldenFilled","GoogleCircleFilled","GooglePlusCircleFilled","GooglePlusSquareFilled","GoogleSquareFilled","HddFilled","HeartFilled","HomeFilled","HourglassFilled","IdcardFilled","IeCircleFilled","IeSquareFilled","InsuranceFilled","InteractionFilled","LayoutFilled","LikeFilled","LockFilled","MacCommandFilled","MailFilled","MedicineBoxFilled","MediumCircleFilled","MediumSquareFilled","MehFilled","MessageFilled","MobileFilled","MoneyCollectFilled","NotificationFilled","PayCircleFilled","PhoneFilled","PictureFilled","PlaySquareFilled","PoundCircleFilled","PrinterFilled","ProfileFilled","ProjectFilled","PropertySafetyFilled","PushpinFilled","QqCircleFilled","QqSquareFilled","ReadFilled","ReconciliationFilled","RedEnvelopeFilled","RedditCircleFilled","RedditSquareFilled","RestFilled","RobotFilled","RocketFilled","SafetyCertificateFilled","SaveFilled","ScheduleFilled","SecurityScanFilled","SettingFilled","ShopFilled","ShoppingFilled","SignalFilled","SketchCircleFilled","SketchSquareFilled","SkinFilled","SlackCircleFilled","SmileFilled","SoundFilled","StarFilled","SwitcherFilled","TabletFilled","TagFilled","TagsFilled","TaobaoSquareFilled","ThunderboltFilled","ToolFilled","TrademarkCircleFilled","TrophyFilled","TwitterCircleFilled","TwitterSquareFilled","UnlockFilled","UsbFilled","VideoCameraFilled","WalletFilled","ZhihuCircleFilled","ZhihuSquareFilled"]},{title:"方向图标",icons:["StepBackwardFilled","StepForwardFilled","FastBackwardFilled","FastForwardFilled","CaretUpFilled","CaretDownFilled","CaretLeftFilled","CaretRightFilled","UpCircleFilled","DownCircleFilled","LeftCircleFilled","RightCircleFilled","ForwardFilled","BackwardFilled","PlayCircleFilled","UpSquareFilled","DownSquareFilled","LeftSquareFilled","RightSquareFilled"]},{title:"提示图标",icons:["QuestionCircleFilled","PlusCircleFilled","PauseCircleFilled","MinusCircleFilled","PlusSquareFilled","MinusSquareFilled","InfoCircleFilled","ExclamationCircleFilled","CloseCircleFilled","CloseSquareFilled","CheckCircleFilled","CheckSquareFilled","ClockCircleFilled","WarningFilled","StopFilled"]},{title:"编辑图标",icons:["EditFilled","CopyFilled","DeleteFilled","SnippetsFilled","DiffFilled","HighlightFilled"]},{title:"数据图标",icons:["PieChartFilled","BoxPlotFilled","FundFilled","SlidersFilled"]},{title:"品牌图标",icons:["AndroidFilled","AppleFilled","WindowsFilled","ChromeFilled","GithubFilled","AliwangwangFilled","WeiboSquareFilled","WeiboCircleFilled","TaobaoCircleFilled","Html5Filled","WechatFilled","YoutubeFilled","AlipayCircleFilled","SkypeFilled","GitlabFilled","LinkedinFilled","FacebookFilled","CodeSandboxCircleFilled","CodepenCircleFilled","SlackSquareFilled","BehanceSquareFilled","DribbbleSquareFilled","InstagramFilled","YuqueFilled","YahooFilled"]}]},{title:"双色风格",name:"TowTone",enable:!1,groups:[{title:"方向图标",icons:["UpCircleTowTone","DownCircleTowTone","LeftCircleTowTone","RightCircleTowTone","PlayCircleTowTone","UpSquareTowTone","DownSquareTowTone","LeftSquareTowTone","RightSquareTowTone"]},{title:"提示图标",icons:["QuestionCircleTowTone","PlusCircleTowTone","PauseCircleTowTone","MinusCircleTowTone","PlusSquareTowTone","MinusSquareTowTone","InfoCircleTowTone","ExclamationCircleTowTone","CloseCircleTowTone","CloseSquareTowTone","CheckCircleTowTone","CheckSquareTowTone","ClockCircleTowTone","WarningTowTone","StopTowTone"]},{title:"编辑图标",icons:["EditTowTone","CopyTowTone","DeleteTowTone","SnippetsTowTone","DiffTowTone","HighlightTowTone"]},{title:"数据图标",icons:["PieChartTowTone","BoxPlotTowTone","FundTowTone","SlidersTowTone"]},{title:"品牌图标",icons:["Html5TowTone"]},{title:"通用图标",icons:["AccountBookTowTone","AlertTowTone","ApiTowTone","AppstoreTowTone","AudioTowTone","BankTowTone","BellTowTone","BookTowTone","BugTowTone","BuildTowTone","BulbTowTone","CalculatorTowTone","CalendarTowTone","CameraTowTone","CarTowTone","CarryOutTowTone","CiCircleTowTone","CiTowTone","CloudTowTone","CodeTowTone","CompassTowTone","ContactsTowTone","ContainerTowTone","ControlTowTone","CopyrightCircleTowTone","CopyrightTowTone","CreditCardTowTone","CrownTowTone","CustomerServiceTowTone","DashboardTowTone","DatabaseTowTone","DislikeTowTone","DollarCircleTowTone","DollarTowTone","EnvironmentTowTone","EuroCircleTowTone","EuroTowTone","ExperimentTowTone","EyeTowTone","EyeInvisibleTowTone","FileAddTowTone","FileExcelTowTone","FileExclamationTowTone","FileTowTone","FileImageTowTone","FileMarkdownTowTone","FilePdfTowTone","FilePptTowTone","FileTextTowTone","FileUnknownTowTone","FileWordTowTone","FileZipTowTone","FilterTowTone","FireTowTone","FlagTowTone","FolderAddTowTone","FolderTowTone","FolderOpenTowTone","FrownTowTone","FunnelPlotTowTone","GiftTowTone","GoldTowTone","HddTowTone","HeartTowTone","HomeTowTone","HourglassTowTone","IdcardTowTone","InsuranceTowTone","InteractionTowTone","LayoutTowTone","LikeTowTone","LockTowTone","MailTowTone","MedicineBoxTowTone","MehTowTone","MessageTowTone","MobileTowTone","MoneyCollectTowTone","NotificationTowTone","PhoneTowTone","PictureTowTone","PlaySquareTowTone","PoundCircleTowTone","PrinterTowTone","ProfileTowTone","ProjectTowTone","PropertySafetyTowTone","PushpinTowTone","ReconciliationTowTone","RedEnvelopeTowTone","RestTowTone","RocketTowTone","SafetyCertificateTowTone","SaveTowTone","ScheduleTowTone","SecurityScanTowTone","SettingTowTone","ShopTowTone","ShoppingTowTone","SkinTowTone","SmileTowTone","SoundTowTone","StarTowTone","SwitcherTowTone","TabletTowTone","TagTowTone","TagsTowTone","ThunderboltTowTone","ToolTowTone","TrademarkCircleTowTone","TrophyTowTone","UnlockTowTone","UsbTowTone","VideoCameraTowTone","WalletTowTone"]}]}],bc={class:"icon-select-warp"},yc={class:"icon-search"},vc={class:"icon-list"},kc={class:"label"},Ka=Z(e.defineComponent({__name:"icon-list",setup(t,{expose:n}){const l=e.ref(),o=e.ref(0),a=e.ref(),i=e.ref(""),d=e.ref(ro),r=be(()=>{if(!i.value){d.value=ro;return}const c=i.value.toLowerCase(),g=JSON.parse(JSON.stringify(ro));g.forEach(m=>{m.groups.forEach(p=>{p.icons=p.icons.filter(A=>A.toLowerCase().includes(c))}),m.groups=m.groups.filter(p=>p.icons.length>0)}),d.value=g});function s(c){a.value=c}function f(){return a.value}return n({getSelected:f}),(c,g)=>{const m=e.resolveComponent("a-input"),p=e.resolveComponent("a-col"),A=e.resolveComponent("a-row"),b=e.resolveComponent("a-collapse-panel"),h=e.resolveComponent("a-empty"),u=e.resolveComponent("a-collapse"),v=e.resolveComponent("a-tab-pane"),N=e.resolveComponent("a-tabs");return e.openBlock(),e.createElementBlock("div",bc,[e.createElementVNode("div",yc,[e.createVNode(m,{value:i.value,"onUpdate:value":g[0]||(g[0]=w=>i.value=w),placeholder:"搜索icon(回车)...",allowClear:"",onChange:e.unref(r)},null,8,["value","onChange"])]),e.createElementVNode("div",vc,[e.createVNode(N,{activeKey:l.value,"onUpdate:activeKey":g[2]||(g[2]=w=>l.value=w)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,w=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:w.name},[w.enable!=!1?(e.openBlock(),e.createBlock(v,{tab:w.title,key:w.name},{default:e.withCtx(()=>[w.groups.length?(e.openBlock(),e.createBlock(u,{key:0,activeKey:o.value,"onUpdate:activeKey":g[1]||(g[1]=k=>o.value=k),accordion:"",ghost:""},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.groups,(k,B)=>(e.openBlock(),e.createBlock(b,{class:"group",key:B,header:k.title},{default:e.withCtx(()=>[e.createVNode(A,{gutter:10},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(k.icons,S=>(e.openBlock(),e.createBlock(p,{span:4,key:S,class:e.normalizeClass(["icon-item","icon-"+S,a.value==S&&"selected"]),onClick:y=>s(S)},{default:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(S))),e.createElementVNode("div",kc,e.toDisplayString(S.substr(0,S.length-w.name.length)),1)]),_:2},1032,["class","onClick"]))),128))]),_:2},1024)]),_:2},1032,["header"]))),128)),w.groups.length==0?(e.openBlock(),e.createBlock(h,{key:0,description:"暂无数据"})):e.createCommentVNode("",!0)]),_:2},1032,["activeKey"])):e.createCommentVNode("",!0)]),_:2},1032,["tab"])):e.createCommentVNode("",!0)],64))),128))]),_:1},8,["activeKey"])])])}}}),[["__scopeId","data-v-0f290eff"]]),wc={class:"icon-select"},Cc={key:1,class:"empty"},Ac=Z(e.defineComponent({name:"IconSelect",__name:"index",props:e.mergeModels({title:{type:String,default:"图标选择"},show:{type:String,default:"drawer"},position:{type:String,default:"right"},width:{type:Number,default:600},allowClear:{type:Boolean,default:!0}},{value:{},valueModifiers:{},visible:{},visibleModifiers:{}}),emits:e.mergeModels(["ok","change"],["update:value","update:visible"]),setup(t,{emit:n}){const l=P.useDialog(),o=t,a=e.useModel(t,"value"),i=e.useModel(t,"visible");function d(){i.value=!0}const r=n,s=e.ref();function f(){const g=s.value.getSelected();if(g){a.value=g,i.value=!1,r("change",g),r("ok",g);return}l.warning({content:"请选择图标"})}function c(){a.value="",r("change","")}return(g,m)=>{const p=e.resolveComponent("CloseCircleFilled"),A=e.resolveComponent("a-button"),b=e.resolveComponent("a-drawer"),h=e.resolveComponent("a-modal");return e.openBlock(),e.createElementBlock("div",wc,[e.createElementVNode("div",{class:"icon-box",onClick:d},[a.value?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a.value),{key:0,class:"view"})):(e.openBlock(),e.createElementBlock("span",Cc,[m[3]||(m[3]=e.createElementVNode("span",null,"选择",-1)),(e.openBlock(),e.createBlock(e.resolveDynamicComponent("SearchOutlined")))])),t.allowClear&&a.value?(e.openBlock(),e.createBlock(p,{key:2,onClick:e.withModifiers(c,["stop"]),class:"clear-icon"})):e.createCommentVNode("",!0)]),o.show=="drawer"?(e.openBlock(),e.createBlock(b,{key:0,title:t.title,width:o.width,visible:i.value,"onUpdate:visible":m[1]||(m[1]=u=>i.value=u),placement:o.position,maskClosable:!1,bodyStyle:{padding:10},class:"icon-select-drawer"},{footer:e.withCtx(()=>[e.createVNode(A,{type:"primary",onClick:f},{default:e.withCtx(()=>m[4]||(m[4]=[e.createTextVNode("确定")])),_:1}),e.createVNode(A,{onClick:m[0]||(m[0]=u=>i.value=!1)},{default:e.withCtx(()=>m[5]||(m[5]=[e.createTextVNode("取消")])),_:1})]),default:e.withCtx(()=>[e.createVNode(Ka,{ref_key:"listObj",ref:s},null,512)]),_:1},8,["title","width","visible","placement"])):e.createCommentVNode("",!0),o.show=="dialog"?(e.openBlock(),e.createBlock(h,{key:1,title:t.title,width:o.width,open:i.value,"onUpdate:open":m[2]||(m[2]=u=>i.value=u),centered:o.position=="center",maskClosable:!1,class:"icon-select-dialog",onOk:f},{default:e.withCtx(()=>[e.createVNode(Ka,{ref_key:"listObj",ref:s},null,512)]),_:1},8,["title","width","open","centered"])):e.createCommentVNode("",!0)])}}}),[["__scopeId","data-v-9d3db12b"]]),xc={key:0,class:"unione-form-code-input"},Nc={class:"opts"},Sc={class:"code-line"},_c={class:"btns"},Vc=Z(e.defineComponent({__name:"codeInput",props:e.mergeModels({wid:{type:String,required:!1},engine:{type:Object,required:!1},widget:{type:Object,required:!1},disabled:{type:Boolean,defualt:!1},placeholder:{type:String,required:!1}},{value:{},valueModifiers:{}}),emits:e.mergeModels(["change"],["update:value"]),setup(t,{emit:n}){const l=n,o=e.useModel(t,"value"),a=e.computed(()=>o.value?.scriptText?o.value.scriptText.split(`
|
|
2
2
|
`).length:0),i=e.ref({types:"option",options:[{label:"启用",value:!0},{label:"禁用",value:!1}]}),d=e.ref(!1),r=e.ref(!1);function s(){r.value=!0,d.value=!1}return e.watch(()=>o.value,()=>{o.value||(o.value={enable:!1,scriptText:""}),l("change",o.value)},{deep:!0}),e.onMounted(()=>{o.value||(o.value={enable:!1,scriptText:""})}),(f,c)=>{const g=e.resolveComponent("unione-switch-box"),m=e.resolveComponent("CodeOutlined"),p=e.resolveComponent("EditOutlined"),A=e.resolveComponent("unione-code-editor"),b=e.resolveComponent("a-button"),h=e.resolveComponent("a-drawer");return o.value?(e.openBlock(),e.createElementBlock("div",xc,[e.createElementVNode("div",Nc,[e.createVNode(g,{value:o.value.enable,"onUpdate:value":c[0]||(c[0]=u=>o.value.enable=u),convert:i.value,size:"small"},null,8,["value","convert"]),e.createElementVNode("div",Sc,[e.createVNode(m),e.createTextVNode(e.toDisplayString(a.value)+"行",1)]),e.createElementVNode("div",{class:"opt code-view",onClick:c[1]||(c[1]=u=>d.value=!d.value)},[e.createVNode(m),e.createTextVNode(e.toDisplayString(d.value?"隐藏代码":"显示代码"),1)]),e.createElementVNode("div",{class:"opt edit-code",onClick:s},[e.createVNode(p),c[7]||(c[7]=e.createTextVNode("编辑代码"))])]),d.value?(e.openBlock(),e.createBlock(A,{key:0,value:o.value.scriptText,"onUpdate:value":c[2]||(c[2]=u=>o.value.scriptText=u),engine:t.engine,placeholder:t.placeholder},null,8,["value","engine","placeholder"])):e.createCommentVNode("",!0),e.createVNode(h,{title:"编辑代码",open:r.value,"onUpdate:open":c[6]||(c[6]=u=>r.value=u),placement:"right",class:"drawer-form",width:800,bodyStyle:{padding:0}},{footer:e.withCtx(()=>[e.createElementVNode("div",_c,[e.createVNode(b,{onClick:c[4]||(c[4]=u=>r.value=!1)},{default:e.withCtx(()=>c[8]||(c[8]=[e.createTextVNode("取消")])),_:1}),e.createVNode(b,{type:"primary",onClick:c[5]||(c[5]=u=>r.value=!1)},{default:e.withCtx(()=>c[9]||(c[9]=[e.createTextVNode("保存")])),_:1})])]),default:e.withCtx(()=>[e.createVNode(A,{value:o.value.scriptText,"onUpdate:value":c[3]||(c[3]=u=>o.value.scriptText=u),engine:t.engine,placeholder:t.placeholder},null,8,["value","engine","placeholder"])]),_:1},8,["open"])])):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-3119b8c7"]]);function Ga(t){return e.getCurrentScope()?(e.onScopeDispose(t),!0):!1}function It(t){return typeof t=="function"?t():e.unref(t)}const cl=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const Bc=Object.prototype.toString,Ec=t=>Bc.call(t)==="[object Object]",en=()=>{},Oc=Tc();function Tc(){var t,n;return cl&&((t=window?.navigator)==null?void 0:t.userAgent)&&(/iP(?:ad|hone|od)/.test(window.navigator.userAgent)||((n=window?.navigator)==null?void 0:n.maxTouchPoints)>2&&/iPad|Macintosh/.test(window?.navigator.userAgent))}function Ja(t,n){function l(...o){return new Promise((a,i)=>{Promise.resolve(t(()=>n.apply(this,o),{fn:n,thisArg:this,args:o})).then(a).catch(i)})}return l}const Xa=t=>t();function Rc(t,n={}){let l,o,a=en;const i=r=>{clearTimeout(r),a(),a=en};return r=>{const s=It(t),f=It(n.maxWait);return l&&i(l),s<=0||f!==void 0&&f<=0?(o&&(i(o),o=null),Promise.resolve(r())):new Promise((c,g)=>{a=n.rejectOnCancel?g:c,f&&!o&&(o=setTimeout(()=>{l&&i(l),o=null,c(r())},f)),l=setTimeout(()=>{o&&i(o),o=null,c(r())},s)})}}function Fc(t=Xa){const n=e.ref(!0);function l(){n.value=!1}function o(){n.value=!0}const a=(...i)=>{n.value&&t(...i)};return{isActive:e.readonly(n),pause:l,resume:o,eventFilter:a}}function $c(t){let n;function l(){return n||(n=t()),n}return l.reset=async()=>{const o=n;n=void 0,o&&await o},l}function Ic(t){return e.getCurrentInstance()}function bt(t,n=200,l={}){return Ja(Rc(n,l),t)}function Mc(t,n,l={}){const{eventFilter:o=Xa,...a}=l;return e.watch(t,Ja(o,n),a)}function Dc(t,n,l={}){const{eventFilter:o,...a}=l,{eventFilter:i,pause:d,resume:r,isActive:s}=Fc(o);return{stop:Mc(t,n,{...a,eventFilter:i}),pause:d,resume:r,isActive:s}}function Mt(t,n=!0,l){Ic()?e.onMounted(t,l):n?t():e.nextTick(t)}function Uc(t,n,l={}){const{immediate:o=!0}=l,a=e.ref(!1);let i=null;function d(){i&&(clearTimeout(i),i=null)}function r(){a.value=!1,d()}function s(...f){d(),a.value=!0,i=setTimeout(()=>{a.value=!1,i=null,t(...f)},It(n))}return o&&(a.value=!0,cl&&s()),Ga(r),{isPending:e.readonly(a),start:s,stop:r}}function Oe(t,n,l){const o=e.watch(t,(a,i,d)=>{a&&(l?.once&&e.nextTick(()=>o()),n(a,i,d))},{...l,once:!1});return o}function Tn(t){var n;const l=It(t);return(n=l?.$el)!=null?n:l}const Rn=cl?window:void 0,Za=cl?window.navigator:void 0;function Dt(...t){let n,l,o,a;if(typeof t[0]=="string"||Array.isArray(t[0])?([l,o,a]=t,n=Rn):[n,l,o,a]=t,!n)return en;Array.isArray(l)||(l=[l]),Array.isArray(o)||(o=[o]);const i=[],d=()=>{i.forEach(c=>c()),i.length=0},r=(c,g,m,p)=>(c.addEventListener(g,m,p),()=>c.removeEventListener(g,m,p)),s=e.watch(()=>[Tn(n),It(a)],([c,g])=>{if(d(),!c)return;const m=Ec(g)?{...g}:g;i.push(...l.flatMap(p=>o.map(A=>r(c,p,A,m))))},{immediate:!0,flush:"post"}),f=()=>{s(),d()};return Ga(f),f}let ei=!1;function Lc(t,n,l={}){const{window:o=Rn,ignore:a=[],capture:i=!0,detectIframe:d=!1}=l;if(!o)return en;Oc&&!ei&&(ei=!0,Array.from(o.document.body.children).forEach(m=>m.addEventListener("click",en)),o.document.documentElement.addEventListener("click",en));let r=!0;const s=m=>a.some(p=>{if(typeof p=="string")return Array.from(o.document.querySelectorAll(p)).some(A=>A===m.target||m.composedPath().includes(A));{const A=Tn(p);return A&&(m.target===A||m.composedPath().includes(A))}}),c=[Dt(o,"click",m=>{const p=Tn(t);if(!(!p||p===m.target||m.composedPath().includes(p))){if(m.detail===0&&(r=!s(m)),!r){r=!0;return}n(m)}},{passive:!0,capture:i}),Dt(o,"pointerdown",m=>{const p=Tn(t);r=!s(m)&&!!(p&&!m.composedPath().includes(p))},{passive:!0}),d&&Dt(o,"blur",m=>{setTimeout(()=>{var p;const A=Tn(t);((p=o.document.activeElement)==null?void 0:p.tagName)==="IFRAME"&&!A?.contains(o.document.activeElement)&&n(m)},0)})].filter(Boolean);return()=>c.forEach(m=>m())}function jc(){const t=e.ref(!1),n=e.getCurrentInstance();return n&&e.onMounted(()=>{t.value=!0},n),t}function ti(t){const n=jc();return e.computed(()=>(n.value,!!t()))}function ni(t,n={}){const{controls:l=!1,navigator:o=Za}=n,a=ti(()=>o&&"permissions"in o);let i;const d=typeof t=="string"?{name:t}:t,r=e.ref(),s=()=>{i&&(r.value=i.state)},f=$c(async()=>{if(a.value){if(!i)try{i=await o.permissions.query(d),Dt(i,"change",s),s()}catch{r.value="prompt"}return i}});return f(),l?{state:r,isSupported:a,query:f}:r}function Pc(t={}){const{navigator:n=Za,read:l=!1,source:o,copiedDuring:a=1500,legacy:i=!1}=t,d=ti(()=>n&&"clipboard"in n),r=ni("clipboard-read"),s=ni("clipboard-write"),f=e.computed(()=>d.value||i),c=e.ref(""),g=e.ref(!1),m=Uc(()=>g.value=!1,a);function p(){d.value&&u(r.value)?n.clipboard.readText().then(v=>{c.value=v}):c.value=h()}f.value&&l&&Dt(["copy","cut"],p);async function A(v=It(o)){f.value&&v!=null&&(d.value&&u(s.value)?await n.clipboard.writeText(v):b(v),c.value=v,g.value=!0,m.start())}function b(v){const N=document.createElement("textarea");N.value=v??"",N.style.position="absolute",N.style.opacity="0",document.body.appendChild(N),N.select(),document.execCommand("copy"),N.remove()}function h(){var v,N,w;return(w=(N=(v=document?.getSelection)==null?void 0:v.call(document))==null?void 0:N.toString())!=null?w:""}function u(v){return v==="granted"||v==="prompt"}return{isSupported:f,text:c,copied:g,copy:A}}const ul=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},fl="__vueuse_ssr_handlers__",qc=zc();function zc(){return fl in ul||(ul[fl]=ul[fl]||{}),ul[fl]}function Qc(t,n){return qc[t]||n}function Hc(t){return t==null?"any":t instanceof Set?"set":t instanceof Map?"map":t instanceof Date?"date":typeof t=="boolean"?"boolean":typeof t=="string"?"string":typeof t=="object"?"object":Number.isNaN(t)?"any":"number"}const Yc={boolean:{read:t=>t==="true",write:t=>String(t)},object:{read:t=>JSON.parse(t),write:t=>JSON.stringify(t)},number:{read:t=>Number.parseFloat(t),write:t=>String(t)},any:{read:t=>t,write:t=>String(t)},string:{read:t=>t,write:t=>String(t)},map:{read:t=>new Map(JSON.parse(t)),write:t=>JSON.stringify(Array.from(t.entries()))},set:{read:t=>new Set(JSON.parse(t)),write:t=>JSON.stringify(Array.from(t))},date:{read:t=>new Date(t),write:t=>t.toISOString()}},li="vueuse-storage";function Wc(t,n,l,o={}){var a;const{flush:i="pre",deep:d=!0,listenToStorageChanges:r=!0,writeDefaults:s=!0,mergeDefaults:f=!1,shallow:c,window:g=Rn,eventFilter:m,onError:p=E=>{console.error(E)},initOnMounted:A}=o,b=(c?e.shallowRef:e.ref)(typeof n=="function"?n():n);if(!l)try{l=Qc("getDefaultStorage",()=>{var E;return(E=Rn)==null?void 0:E.localStorage})()}catch(E){p(E)}if(!l)return b;const h=It(n),u=Hc(h),v=(a=o.serializer)!=null?a:Yc[u],{pause:N,resume:w}=Dc(b,()=>B(b.value),{flush:i,deep:d,eventFilter:m});g&&r&&Mt(()=>{Dt(g,"storage",y),Dt(g,li,x),A&&y()}),A||y();function k(E,_){g&&g.dispatchEvent(new CustomEvent(li,{detail:{key:t,oldValue:E,newValue:_,storageArea:l}}))}function B(E){try{const _=l.getItem(t);if(E==null)k(_,null),l.removeItem(t);else{const C=v.write(E);_!==C&&(l.setItem(t,C),k(_,C))}}catch(_){p(_)}}function S(E){const _=E?E.newValue:l.getItem(t);if(_==null)return s&&h!=null&&l.setItem(t,v.write(h)),h;if(!E&&f){const C=v.read(_);return typeof f=="function"?f(C,h):u==="object"&&!Array.isArray(C)?{...h,...C}:C}else return typeof _!="string"?_:v.read(_)}function y(E){if(!(E&&E.storageArea!==l)){if(E&&E.key==null){b.value=h;return}if(!(E&&E.key!==t)){N();try{E?.newValue!==v.write(b.value)&&(b.value=S(E))}catch(_){p(_)}finally{E?e.nextTick(w):w()}}}}function x(E){y(E.detail)}return b}function so(t,n,l={}){const{window:o=Rn}=l;return Wc(t,n,o?.localStorage,l)}function pl(t){"@babel/helpers - typeof";return pl=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(n){return typeof n}:function(n){return n&&typeof Symbol=="function"&&n.constructor===Symbol&&n!==Symbol.prototype?"symbol":typeof n},pl(t)}var Kc=/^\s+/,Gc=/\s+$/;function G(t,n){if(t=t||"",n=n||{},t instanceof G)return t;if(!(this instanceof G))return new G(t,n);var l=Jc(t);this._originalInput=t,this._r=l.r,this._g=l.g,this._b=l.b,this._a=l.a,this._roundA=Math.round(100*this._a)/100,this._format=n.format||l.format,this._gradientType=n.gradientType,this._r<1&&(this._r=Math.round(this._r)),this._g<1&&(this._g=Math.round(this._g)),this._b<1&&(this._b=Math.round(this._b)),this._ok=l.ok}G.prototype={isDark:function(){return this.getBrightness()<128},isLight:function(){return!this.isDark()},isValid:function(){return this._ok},getOriginalInput:function(){return this._originalInput},getFormat:function(){return this._format},getAlpha:function(){return this._a},getBrightness:function(){var n=this.toRgb();return(n.r*299+n.g*587+n.b*114)/1e3},getLuminance:function(){var n=this.toRgb(),l,o,a,i,d,r;return l=n.r/255,o=n.g/255,a=n.b/255,l<=.03928?i=l/12.92:i=Math.pow((l+.055)/1.055,2.4),o<=.03928?d=o/12.92:d=Math.pow((o+.055)/1.055,2.4),a<=.03928?r=a/12.92:r=Math.pow((a+.055)/1.055,2.4),.2126*i+.7152*d+.0722*r},setAlpha:function(n){return this._a=di(n),this._roundA=Math.round(100*this._a)/100,this},toHsv:function(){var n=ai(this._r,this._g,this._b);return{h:n.h*360,s:n.s,v:n.v,a:this._a}},toHsvString:function(){var n=ai(this._r,this._g,this._b),l=Math.round(n.h*360),o=Math.round(n.s*100),a=Math.round(n.v*100);return this._a==1?"hsv("+l+", "+o+"%, "+a+"%)":"hsva("+l+", "+o+"%, "+a+"%, "+this._roundA+")"},toHsl:function(){var n=oi(this._r,this._g,this._b);return{h:n.h*360,s:n.s,l:n.l,a:this._a}},toHslString:function(){var n=oi(this._r,this._g,this._b),l=Math.round(n.h*360),o=Math.round(n.s*100),a=Math.round(n.l*100);return this._a==1?"hsl("+l+", "+o+"%, "+a+"%)":"hsla("+l+", "+o+"%, "+a+"%, "+this._roundA+")"},toHex:function(n){return ii(this._r,this._g,this._b,n)},toHexString:function(n){return"#"+this.toHex(n)},toHex8:function(n){return tu(this._r,this._g,this._b,this._a,n)},toHex8String:function(n){return"#"+this.toHex8(n)},toRgb:function(){return{r:Math.round(this._r),g:Math.round(this._g),b:Math.round(this._b),a:this._a}},toRgbString:function(){return this._a==1?"rgb("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+")":"rgba("+Math.round(this._r)+", "+Math.round(this._g)+", "+Math.round(this._b)+", "+this._roundA+")"},toPercentageRgb:function(){return{r:Math.round(ge(this._r,255)*100)+"%",g:Math.round(ge(this._g,255)*100)+"%",b:Math.round(ge(this._b,255)*100)+"%",a:this._a}},toPercentageRgbString:function(){return this._a==1?"rgb("+Math.round(ge(this._r,255)*100)+"%, "+Math.round(ge(this._g,255)*100)+"%, "+Math.round(ge(this._b,255)*100)+"%)":"rgba("+Math.round(ge(this._r,255)*100)+"%, "+Math.round(ge(this._g,255)*100)+"%, "+Math.round(ge(this._b,255)*100)+"%, "+this._roundA+")"},toName:function(){return this._a===0?"transparent":this._a<1?!1:pu[ii(this._r,this._g,this._b,!0)]||!1},toFilter:function(n){var l="#"+ri(this._r,this._g,this._b,this._a),o=l,a=this._gradientType?"GradientType = 1, ":"";if(n){var i=G(n);o="#"+ri(i._r,i._g,i._b,i._a)}return"progid:DXImageTransform.Microsoft.gradient("+a+"startColorstr="+l+",endColorstr="+o+")"},toString:function(n){var l=!!n;n=n||this._format;var o=!1,a=this._a<1&&this._a>=0,i=!l&&a&&(n==="hex"||n==="hex6"||n==="hex3"||n==="hex4"||n==="hex8"||n==="name");return i?n==="name"&&this._a===0?this.toName():this.toRgbString():(n==="rgb"&&(o=this.toRgbString()),n==="prgb"&&(o=this.toPercentageRgbString()),(n==="hex"||n==="hex6")&&(o=this.toHexString()),n==="hex3"&&(o=this.toHexString(!0)),n==="hex4"&&(o=this.toHex8String(!0)),n==="hex8"&&(o=this.toHex8String()),n==="name"&&(o=this.toName()),n==="hsl"&&(o=this.toHslString()),n==="hsv"&&(o=this.toHsvString()),o||this.toHexString())},clone:function(){return G(this.toString())},_applyModification:function(n,l){var o=n.apply(null,[this].concat([].slice.call(l)));return this._r=o._r,this._g=o._g,this._b=o._b,this.setAlpha(o._a),this},lighten:function(){return this._applyModification(au,arguments)},brighten:function(){return this._applyModification(iu,arguments)},darken:function(){return this._applyModification(ru,arguments)},desaturate:function(){return this._applyModification(nu,arguments)},saturate:function(){return this._applyModification(lu,arguments)},greyscale:function(){return this._applyModification(ou,arguments)},spin:function(){return this._applyModification(su,arguments)},_applyCombination:function(n,l){return n.apply(null,[this].concat([].slice.call(l)))},analogous:function(){return this._applyCombination(uu,arguments)},complement:function(){return this._applyCombination(du,arguments)},monochromatic:function(){return this._applyCombination(fu,arguments)},splitcomplement:function(){return this._applyCombination(cu,arguments)},triad:function(){return this._applyCombination(si,[3])},tetrad:function(){return this._applyCombination(si,[4])}},G.fromRatio=function(t,n){if(pl(t)=="object"){var l={};for(var o in t)t.hasOwnProperty(o)&&(o==="a"?l[o]=t[o]:l[o]=Fn(t[o]));t=l}return G(t,n)};function Jc(t){var n={r:0,g:0,b:0},l=1,o=null,a=null,i=null,d=!1,r=!1;return typeof t=="string"&&(t=bu(t)),pl(t)=="object"&&(yt(t.r)&&yt(t.g)&&yt(t.b)?(n=Xc(t.r,t.g,t.b),d=!0,r=String(t.r).substr(-1)==="%"?"prgb":"rgb"):yt(t.h)&&yt(t.s)&&yt(t.v)?(o=Fn(t.s),a=Fn(t.v),n=eu(t.h,o,a),d=!0,r="hsv"):yt(t.h)&&yt(t.s)&&yt(t.l)&&(o=Fn(t.s),i=Fn(t.l),n=Zc(t.h,o,i),d=!0,r="hsl"),t.hasOwnProperty("a")&&(l=t.a)),l=di(l),{ok:d,format:t.format||r,r:Math.min(255,Math.max(n.r,0)),g:Math.min(255,Math.max(n.g,0)),b:Math.min(255,Math.max(n.b,0)),a:l}}function Xc(t,n,l){return{r:ge(t,255)*255,g:ge(n,255)*255,b:ge(l,255)*255}}function oi(t,n,l){t=ge(t,255),n=ge(n,255),l=ge(l,255);var o=Math.max(t,n,l),a=Math.min(t,n,l),i,d,r=(o+a)/2;if(o==a)i=d=0;else{var s=o-a;switch(d=r>.5?s/(2-o-a):s/(o+a),o){case t:i=(n-l)/s+(n<l?6:0);break;case n:i=(l-t)/s+2;break;case l:i=(t-n)/s+4;break}i/=6}return{h:i,s:d,l:r}}function Zc(t,n,l){var o,a,i;t=ge(t,360),n=ge(n,100),l=ge(l,100);function d(f,c,g){return g<0&&(g+=1),g>1&&(g-=1),g<1/6?f+(c-f)*6*g:g<1/2?c:g<2/3?f+(c-f)*(2/3-g)*6:f}if(n===0)o=a=i=l;else{var r=l<.5?l*(1+n):l+n-l*n,s=2*l-r;o=d(s,r,t+1/3),a=d(s,r,t),i=d(s,r,t-1/3)}return{r:o*255,g:a*255,b:i*255}}function ai(t,n,l){t=ge(t,255),n=ge(n,255),l=ge(l,255);var o=Math.max(t,n,l),a=Math.min(t,n,l),i,d,r=o,s=o-a;if(d=o===0?0:s/o,o==a)i=0;else{switch(o){case t:i=(n-l)/s+(n<l?6:0);break;case n:i=(l-t)/s+2;break;case l:i=(t-n)/s+4;break}i/=6}return{h:i,s:d,v:r}}function eu(t,n,l){t=ge(t,360)*6,n=ge(n,100),l=ge(l,100);var o=Math.floor(t),a=t-o,i=l*(1-n),d=l*(1-a*n),r=l*(1-(1-a)*n),s=o%6,f=[l,d,i,i,r,l][s],c=[r,l,l,d,i,i][s],g=[i,i,r,l,l,d][s];return{r:f*255,g:c*255,b:g*255}}function ii(t,n,l,o){var a=[lt(Math.round(t).toString(16)),lt(Math.round(n).toString(16)),lt(Math.round(l).toString(16))];return o&&a[0].charAt(0)==a[0].charAt(1)&&a[1].charAt(0)==a[1].charAt(1)&&a[2].charAt(0)==a[2].charAt(1)?a[0].charAt(0)+a[1].charAt(0)+a[2].charAt(0):a.join("")}function tu(t,n,l,o,a){var i=[lt(Math.round(t).toString(16)),lt(Math.round(n).toString(16)),lt(Math.round(l).toString(16)),lt(ci(o))];return a&&i[0].charAt(0)==i[0].charAt(1)&&i[1].charAt(0)==i[1].charAt(1)&&i[2].charAt(0)==i[2].charAt(1)&&i[3].charAt(0)==i[3].charAt(1)?i[0].charAt(0)+i[1].charAt(0)+i[2].charAt(0)+i[3].charAt(0):i.join("")}function ri(t,n,l,o){var a=[lt(ci(o)),lt(Math.round(t).toString(16)),lt(Math.round(n).toString(16)),lt(Math.round(l).toString(16))];return a.join("")}G.equals=function(t,n){return!t||!n?!1:G(t).toRgbString()==G(n).toRgbString()},G.random=function(){return G.fromRatio({r:Math.random(),g:Math.random(),b:Math.random()})};function nu(t,n){n=n===0?0:n||10;var l=G(t).toHsl();return l.s-=n/100,l.s=ml(l.s),G(l)}function lu(t,n){n=n===0?0:n||10;var l=G(t).toHsl();return l.s+=n/100,l.s=ml(l.s),G(l)}function ou(t){return G(t).desaturate(100)}function au(t,n){n=n===0?0:n||10;var l=G(t).toHsl();return l.l+=n/100,l.l=ml(l.l),G(l)}function iu(t,n){n=n===0?0:n||10;var l=G(t).toRgb();return l.r=Math.max(0,Math.min(255,l.r-Math.round(255*-(n/100)))),l.g=Math.max(0,Math.min(255,l.g-Math.round(255*-(n/100)))),l.b=Math.max(0,Math.min(255,l.b-Math.round(255*-(n/100)))),G(l)}function ru(t,n){n=n===0?0:n||10;var l=G(t).toHsl();return l.l-=n/100,l.l=ml(l.l),G(l)}function su(t,n){var l=G(t).toHsl(),o=(l.h+n)%360;return l.h=o<0?360+o:o,G(l)}function du(t){var n=G(t).toHsl();return n.h=(n.h+180)%360,G(n)}function si(t,n){if(isNaN(n)||n<=0)throw new Error("Argument to polyad must be a positive number");for(var l=G(t).toHsl(),o=[G(t)],a=360/n,i=1;i<n;i++)o.push(G({h:(l.h+i*a)%360,s:l.s,l:l.l}));return o}function cu(t){var n=G(t).toHsl(),l=n.h;return[G(t),G({h:(l+72)%360,s:n.s,l:n.l}),G({h:(l+216)%360,s:n.s,l:n.l})]}function uu(t,n,l){n=n||6,l=l||30;var o=G(t).toHsl(),a=360/l,i=[G(t)];for(o.h=(o.h-(a*n>>1)+720)%360;--n;)o.h=(o.h+a)%360,i.push(G(o));return i}function fu(t,n){n=n||6;for(var l=G(t).toHsv(),o=l.h,a=l.s,i=l.v,d=[],r=1/n;n--;)d.push(G({h:o,s:a,v:i})),i=(i+r)%1;return d}G.mix=function(t,n,l){l=l===0?0:l||50;var o=G(t).toRgb(),a=G(n).toRgb(),i=l/100,d={r:(a.r-o.r)*i+o.r,g:(a.g-o.g)*i+o.g,b:(a.b-o.b)*i+o.b,a:(a.a-o.a)*i+o.a};return G(d)},G.readability=function(t,n){var l=G(t),o=G(n);return(Math.max(l.getLuminance(),o.getLuminance())+.05)/(Math.min(l.getLuminance(),o.getLuminance())+.05)},G.isReadable=function(t,n,l){var o=G.readability(t,n),a,i;switch(i=!1,a=yu(l),a.level+a.size){case"AAsmall":case"AAAlarge":i=o>=4.5;break;case"AAlarge":i=o>=3;break;case"AAAsmall":i=o>=7;break}return i},G.mostReadable=function(t,n,l){var o=null,a=0,i,d,r,s;l=l||{},d=l.includeFallbackColors,r=l.level,s=l.size;for(var f=0;f<n.length;f++)i=G.readability(t,n[f]),i>a&&(a=i,o=G(n[f]));return G.isReadable(t,o,{level:r,size:s})||!d?o:(l.includeFallbackColors=!1,G.mostReadable(t,["#fff","#000"],l))};var co=G.names={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"0ff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000",blanchedalmond:"ffebcd",blue:"00f",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",burntsienna:"ea7e5d",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"0ff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkgrey:"a9a9a9",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkslategrey:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dimgrey:"696969",dodgerblue:"1e90ff",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"f0f",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",grey:"808080",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgray:"d3d3d3",lightgreen:"90ee90",lightgrey:"d3d3d3",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslategray:"789",lightslategrey:"789",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"0f0",limegreen:"32cd32",linen:"faf0e6",magenta:"f0f",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370db",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"db7093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",rebeccapurple:"663399",red:"f00",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",slategrey:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",wheat:"f5deb3",white:"fff",whitesmoke:"f5f5f5",yellow:"ff0",yellowgreen:"9acd32"},pu=G.hexNames=mu(co);function mu(t){var n={};for(var l in t)t.hasOwnProperty(l)&&(n[t[l]]=l);return n}function di(t){return t=parseFloat(t),(isNaN(t)||t<0||t>1)&&(t=1),t}function ge(t,n){gu(t)&&(t="100%");var l=hu(t);return t=Math.min(n,Math.max(0,parseFloat(t))),l&&(t=parseInt(t*n,10)/100),Math.abs(t-n)<1e-6?1:t%n/parseFloat(n)}function ml(t){return Math.min(1,Math.max(0,t))}function Pe(t){return parseInt(t,16)}function gu(t){return typeof t=="string"&&t.indexOf(".")!=-1&&parseFloat(t)===1}function hu(t){return typeof t=="string"&&t.indexOf("%")!=-1}function lt(t){return t.length==1?"0"+t:""+t}function Fn(t){return t<=1&&(t=t*100+"%"),t}function ci(t){return Math.round(parseFloat(t)*255).toString(16)}function ui(t){return Pe(t)/255}var ot=function(){var t="[-\\+]?\\d+%?",n="[-\\+]?\\d*\\.\\d+%?",l="(?:"+n+")|(?:"+t+")",o="[\\s|\\(]+("+l+")[,|\\s]+("+l+")[,|\\s]+("+l+")\\s*\\)?",a="[\\s|\\(]+("+l+")[,|\\s]+("+l+")[,|\\s]+("+l+")[,|\\s]+("+l+")\\s*\\)?";return{CSS_UNIT:new RegExp(l),rgb:new RegExp("rgb"+o),rgba:new RegExp("rgba"+a),hsl:new RegExp("hsl"+o),hsla:new RegExp("hsla"+a),hsv:new RegExp("hsv"+o),hsva:new RegExp("hsva"+a),hex3:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex6:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,hex4:/^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,hex8:/^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/}}();function yt(t){return!!ot.CSS_UNIT.exec(t)}function bu(t){t=t.replace(Kc,"").replace(Gc,"").toLowerCase();var n=!1;if(co[t])t=co[t],n=!0;else if(t=="transparent")return{r:0,g:0,b:0,a:0,format:"name"};var l;return(l=ot.rgb.exec(t))?{r:l[1],g:l[2],b:l[3]}:(l=ot.rgba.exec(t))?{r:l[1],g:l[2],b:l[3],a:l[4]}:(l=ot.hsl.exec(t))?{h:l[1],s:l[2],l:l[3]}:(l=ot.hsla.exec(t))?{h:l[1],s:l[2],l:l[3],a:l[4]}:(l=ot.hsv.exec(t))?{h:l[1],s:l[2],v:l[3]}:(l=ot.hsva.exec(t))?{h:l[1],s:l[2],v:l[3],a:l[4]}:(l=ot.hex8.exec(t))?{r:Pe(l[1]),g:Pe(l[2]),b:Pe(l[3]),a:ui(l[4]),format:n?"name":"hex8"}:(l=ot.hex6.exec(t))?{r:Pe(l[1]),g:Pe(l[2]),b:Pe(l[3]),format:n?"name":"hex"}:(l=ot.hex4.exec(t))?{r:Pe(l[1]+""+l[1]),g:Pe(l[2]+""+l[2]),b:Pe(l[3]+""+l[3]),a:ui(l[4]+""+l[4]),format:n?"name":"hex8"}:(l=ot.hex3.exec(t))?{r:Pe(l[1]+""+l[1]),g:Pe(l[2]+""+l[2]),b:Pe(l[3]+""+l[3]),format:n?"name":"hex"}:!1}function yu(t){var n,l;return t=t||{level:"AA",size:"small"},n=(t.level||"AA").toUpperCase(),l=(t.size||"small").toLowerCase(),n!=="AA"&&n!=="AAA"&&(n="AA"),l!=="small"&&l!=="large"&&(l="small"),{level:n,size:l}}var Ut=Ut||{};Ut.stringify=function(){var t={"visit_linear-gradient":function(n){return t.visit_gradient(n)},"visit_repeating-linear-gradient":function(n){return t.visit_gradient(n)},"visit_radial-gradient":function(n){return t.visit_gradient(n)},"visit_repeating-radial-gradient":function(n){return t.visit_gradient(n)},visit_gradient:function(n){var l=t.visit(n.orientation);return l&&(l+=", "),n.type+"("+l+t.visit(n.colorStops)+")"},visit_shape:function(n){var l=n.value,o=t.visit(n.at),a=t.visit(n.style);return a&&(l+=" "+a),o&&(l+=" at "+o),l},"visit_default-radial":function(n){var l="",o=t.visit(n.at);return o&&(l+=o),l},"visit_extent-keyword":function(n){var l=n.value,o=t.visit(n.at);return o&&(l+=" at "+o),l},"visit_position-keyword":function(n){return n.value},visit_position:function(n){return t.visit(n.value.x)+" "+t.visit(n.value.y)},"visit_%":function(n){return n.value+"%"},visit_em:function(n){return n.value+"em"},visit_px:function(n){return n.value+"px"},visit_calc:function(n){return"calc("+n.value+")"},visit_literal:function(n){return t.visit_color(n.value,n)},visit_hex:function(n){return t.visit_color("#"+n.value,n)},visit_rgb:function(n){return t.visit_color("rgb("+n.value.join(", ")+")",n)},visit_rgba:function(n){return t.visit_color("rgba("+n.value.join(", ")+")",n)},visit_hsl:function(n){return t.visit_color("hsl("+n.value[0]+", "+n.value[1]+"%, "+n.value[2]+"%)",n)},visit_hsla:function(n){return t.visit_color("hsla("+n.value[0]+", "+n.value[1]+"%, "+n.value[2]+"%, "+n.value[3]+")",n)},visit_var:function(n){return t.visit_color("var("+n.value+")",n)},visit_color:function(n,l){var o=n,a=t.visit(l.length);return a&&(o+=" "+a),o},visit_angular:function(n){return n.value+"deg"},visit_directional:function(n){return"to "+n.value},visit_array:function(n){var l="",o=n.length;return n.forEach(function(a,i){l+=t.visit(a),i<o-1&&(l+=", ")}),l},visit_object:function(n){return n.width&&n.height?t.visit(n.width)+" "+t.visit(n.height):""},visit:function(n){if(!n)return"";if(n instanceof Array)return t.visit_array(n);if(typeof n=="object"&&!n.type)return t.visit_object(n);if(n.type){var l=t["visit_"+n.type];if(l)return l(n);throw Error("Missing visitor visit_"+n.type)}else throw Error("Invalid node.")}};return function(n){return t.visit(n)}}();var Ut=Ut||{};Ut.parse=function(){var t={linearGradient:/^(\-(webkit|o|ms|moz)\-)?(linear\-gradient)/i,repeatingLinearGradient:/^(\-(webkit|o|ms|moz)\-)?(repeating\-linear\-gradient)/i,radialGradient:/^(\-(webkit|o|ms|moz)\-)?(radial\-gradient)/i,repeatingRadialGradient:/^(\-(webkit|o|ms|moz)\-)?(repeating\-radial\-gradient)/i,sideOrCorner:/^to (left (top|bottom)|right (top|bottom)|top (left|right)|bottom (left|right)|left|right|top|bottom)/i,extentKeywords:/^(closest\-side|closest\-corner|farthest\-side|farthest\-corner|contain|cover)/,positionKeywords:/^(left|center|right|top|bottom)/i,pixelValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))px/,percentageValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))\%/,emValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))em/,angleValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))deg/,radianValue:/^(-?(([0-9]*\.[0-9]+)|([0-9]+\.?)))rad/,startCall:/^\(/,endCall:/^\)/,comma:/^,/,hexColor:/^\#([0-9a-fA-F]+)/,literalColor:/^([a-zA-Z]+)/,rgbColor:/^rgb/i,rgbaColor:/^rgba/i,varColor:/^var/i,calcValue:/^calc/i,variableName:/^(--[a-zA-Z0-9-,\s\#]+)/,number:/^(([0-9]*\.[0-9]+)|([0-9]+\.?))/,hslColor:/^hsl/i,hslaColor:/^hsla/i},n="";function l(Q){var D=new Error(n+": "+Q);throw D.source=n,D}function o(){var Q=a();return n.length>0&&l("Invalid input not EOF"),Q}function a(){return N(i)}function i(){return d("linear-gradient",t.linearGradient,s)||d("repeating-linear-gradient",t.repeatingLinearGradient,s)||d("radial-gradient",t.radialGradient,g)||d("repeating-radial-gradient",t.repeatingRadialGradient,g)}function d(Q,D,R){return r(D,function(J){var q=R();return q&&(U(t.comma)||l("Missing comma before color stops")),{type:Q,orientation:q,colorStops:N(w)}})}function r(Q,D){var R=U(Q);if(R){U(t.startCall)||l("Missing (");var J=D(R);return U(t.endCall)||l("Missing )"),J}}function s(){var Q=f();if(Q)return Q;var D=j("position-keyword",t.positionKeywords,1);return D?{type:"directional",value:D.value}:c()}function f(){return j("directional",t.sideOrCorner,1)}function c(){return j("angular",t.angleValue,1)||j("angular",t.radianValue,1)}function g(){var Q,D=m(),R;return D&&(Q=[],Q.push(D),R=n,U(t.comma)&&(D=m(),D?Q.push(D):n=R)),Q}function m(){var Q=p()||A();if(Q)Q.at=h();else{var D=b();if(D){Q=D;var R=h();R&&(Q.at=R)}else{var J=h();if(J)Q={type:"default-radial",at:J};else{var q=u();q&&(Q={type:"default-radial",at:q})}}}return Q}function p(){var Q=j("shape",/^(circle)/i,0);return Q&&(Q.style=F()||b()),Q}function A(){var Q=j("shape",/^(ellipse)/i,0);return Q&&(Q.style=u()||V()||b()),Q}function b(){return j("extent-keyword",t.extentKeywords,1)}function h(){if(j("position",/^at/,0)){var Q=u();return Q||l("Missing positioning value"),Q}}function u(){var Q=v();if(Q.x||Q.y)return{type:"position",value:Q}}function v(){return{x:V(),y:V()}}function N(Q){var D=Q(),R=[];if(D)for(R.push(D);U(t.comma);)D=Q(),D?R.push(D):l("One extra comma");return R}function w(){var Q=k();return Q||l("Expected color definition"),Q.length=V(),Q}function k(){return S()||C()||_()||x()||y()||E()||B()}function B(){return j("literal",t.literalColor,0)}function S(){return j("hex",t.hexColor,1)}function y(){return r(t.rgbColor,function(){return{type:"rgb",value:N(T)}})}function x(){return r(t.rgbaColor,function(){return{type:"rgba",value:N(T)}})}function E(){return r(t.varColor,function(){return{type:"var",value:O()}})}function _(){return r(t.hslColor,function(){var Q=U(t.percentageValue);Q&&l("HSL hue value must be a number in degrees (0-360) or normalized (-360 to 360), not a percentage");var D=T();U(t.comma);var R=U(t.percentageValue),J=R?R[1]:null;U(t.comma),R=U(t.percentageValue);var q=R?R[1]:null;return(!J||!q)&&l("Expected percentage value for saturation and lightness in HSL"),{type:"hsl",value:[D,J,q]}})}function C(){return r(t.hslaColor,function(){var Q=T();U(t.comma);var D=U(t.percentageValue),R=D?D[1]:null;U(t.comma),D=U(t.percentageValue);var J=D?D[1]:null;U(t.comma);var q=T();return(!R||!J)&&l("Expected percentage value for saturation and lightness in HSLA"),{type:"hsla",value:[Q,R,J,q]}})}function O(){return U(t.variableName)[1]}function T(){return U(t.number)[1]}function V(){return j("%",t.percentageValue,1)||$()||I()||F()}function $(){return j("position-keyword",t.positionKeywords,1)}function I(){return r(t.calcValue,function(){for(var Q=1,D=0;Q>0&&D<n.length;){var R=n.charAt(D);R==="("?Q++:R===")"&&Q--,D++}Q>0&&l("Missing closing parenthesis in calc() expression");var J=n.substring(0,D-1);return M(D-1),{type:"calc",value:J}})}function F(){return j("px",t.pixelValue,1)||j("em",t.emValue,1)}function j(Q,D,R){var J=U(D);if(J)return{type:Q,value:J[R]}}function U(Q){var D,R;return R=/^[\n\r\t\s]+/.exec(n),R&&M(R[0].length),D=Q.exec(n),D&&M(D[0].length),D}function M(Q){n=n.substr(Q)}return function(Q){return n=Q.toString().trim(),n.endsWith(";")&&(n=n.slice(0,-1)),o()}}();var vu=Ut.parse,ku=Ut.stringify,Me="top",Ke="bottom",Ge="right",De="left",uo="auto",$n=[Me,Ke,Ge,De],tn="start",In="end",wu="clippingParents",fi="viewport",Mn="popper",Cu="reference",pi=$n.reduce(function(t,n){return t.concat([n+"-"+tn,n+"-"+In])},[]),mi=[].concat($n,[uo]).reduce(function(t,n){return t.concat([n,n+"-"+tn,n+"-"+In])},[]),Au="beforeRead",xu="read",Nu="afterRead",Su="beforeMain",_u="main",Vu="afterMain",Bu="beforeWrite",Eu="write",Ou="afterWrite",Tu=[Au,xu,Nu,Su,_u,Vu,Bu,Eu,Ou];function dt(t){return t?(t.nodeName||"").toLowerCase():null}function qe(t){if(t==null)return window;if(t.toString()!=="[object Window]"){var n=t.ownerDocument;return n&&n.defaultView||window}return t}function Lt(t){var n=qe(t).Element;return t instanceof n||t instanceof Element}function Je(t){var n=qe(t).HTMLElement;return t instanceof n||t instanceof HTMLElement}function fo(t){if(typeof ShadowRoot>"u")return!1;var n=qe(t).ShadowRoot;return t instanceof n||t instanceof ShadowRoot}function Ru(t){var n=t.state;Object.keys(n.elements).forEach(function(l){var o=n.styles[l]||{},a=n.attributes[l]||{},i=n.elements[l];!Je(i)||!dt(i)||(Object.assign(i.style,o),Object.keys(a).forEach(function(d){var r=a[d];r===!1?i.removeAttribute(d):i.setAttribute(d,r===!0?"":r)}))})}function Fu(t){var n=t.state,l={popper:{position:n.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(n.elements.popper.style,l.popper),n.styles=l,n.elements.arrow&&Object.assign(n.elements.arrow.style,l.arrow),function(){Object.keys(n.elements).forEach(function(o){var a=n.elements[o],i=n.attributes[o]||{},d=Object.keys(n.styles.hasOwnProperty(o)?n.styles[o]:l[o]),r=d.reduce(function(s,f){return s[f]="",s},{});!Je(a)||!dt(a)||(Object.assign(a.style,r),Object.keys(i).forEach(function(s){a.removeAttribute(s)}))})}}const $u={name:"applyStyles",enabled:!0,phase:"write",fn:Ru,effect:Fu,requires:["computeStyles"]};function ct(t){return t.split("-")[0]}var jt=Math.max,gl=Math.min,nn=Math.round;function po(){var t=navigator.userAgentData;return t!=null&&t.brands&&Array.isArray(t.brands)?t.brands.map(function(n){return n.brand+"/"+n.version}).join(" "):navigator.userAgent}function gi(){return!/^((?!chrome|android).)*safari/i.test(po())}function ln(t,n,l){n===void 0&&(n=!1),l===void 0&&(l=!1);var o=t.getBoundingClientRect(),a=1,i=1;n&&Je(t)&&(a=t.offsetWidth>0&&nn(o.width)/t.offsetWidth||1,i=t.offsetHeight>0&&nn(o.height)/t.offsetHeight||1);var d=Lt(t)?qe(t):window,r=d.visualViewport,s=!gi()&&l,f=(o.left+(s&&r?r.offsetLeft:0))/a,c=(o.top+(s&&r?r.offsetTop:0))/i,g=o.width/a,m=o.height/i;return{width:g,height:m,top:c,right:f+g,bottom:c+m,left:f,x:f,y:c}}function mo(t){var n=ln(t),l=t.offsetWidth,o=t.offsetHeight;return Math.abs(n.width-l)<=1&&(l=n.width),Math.abs(n.height-o)<=1&&(o=n.height),{x:t.offsetLeft,y:t.offsetTop,width:l,height:o}}function hi(t,n){var l=n.getRootNode&&n.getRootNode();if(t.contains(n))return!0;if(l&&fo(l)){var o=n;do{if(o&&t.isSameNode(o))return!0;o=o.parentNode||o.host}while(o)}return!1}function vt(t){return qe(t).getComputedStyle(t)}function Iu(t){return["table","td","th"].indexOf(dt(t))>=0}function Vt(t){return((Lt(t)?t.ownerDocument:t.document)||window.document).documentElement}function hl(t){return dt(t)==="html"?t:t.assignedSlot||t.parentNode||(fo(t)?t.host:null)||Vt(t)}function bi(t){return!Je(t)||vt(t).position==="fixed"?null:t.offsetParent}function Mu(t){var n=/firefox/i.test(po()),l=/Trident/i.test(po());if(l&&Je(t)){var o=vt(t);if(o.position==="fixed")return null}var a=hl(t);for(fo(a)&&(a=a.host);Je(a)&&["html","body"].indexOf(dt(a))<0;){var i=vt(a);if(i.transform!=="none"||i.perspective!=="none"||i.contain==="paint"||["transform","perspective"].indexOf(i.willChange)!==-1||n&&i.willChange==="filter"||n&&i.filter&&i.filter!=="none")return a;a=a.parentNode}return null}function Dn(t){for(var n=qe(t),l=bi(t);l&&Iu(l)&&vt(l).position==="static";)l=bi(l);return l&&(dt(l)==="html"||dt(l)==="body"&&vt(l).position==="static")?n:l||Mu(t)||n}function go(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function Un(t,n,l){return jt(t,gl(n,l))}function Du(t,n,l){var o=Un(t,n,l);return o>l?l:o}function yi(){return{top:0,right:0,bottom:0,left:0}}function vi(t){return Object.assign({},yi(),t)}function ki(t,n){return n.reduce(function(l,o){return l[o]=t,l},{})}var Uu=function(n,l){return n=typeof n=="function"?n(Object.assign({},l.rects,{placement:l.placement})):n,vi(typeof n!="number"?n:ki(n,$n))};function Lu(t){var n,l=t.state,o=t.name,a=t.options,i=l.elements.arrow,d=l.modifiersData.popperOffsets,r=ct(l.placement),s=go(r),f=[De,Ge].indexOf(r)>=0,c=f?"height":"width";if(!(!i||!d)){var g=Uu(a.padding,l),m=mo(i),p=s==="y"?Me:De,A=s==="y"?Ke:Ge,b=l.rects.reference[c]+l.rects.reference[s]-d[s]-l.rects.popper[c],h=d[s]-l.rects.reference[s],u=Dn(i),v=u?s==="y"?u.clientHeight||0:u.clientWidth||0:0,N=b/2-h/2,w=g[p],k=v-m[c]-g[A],B=v/2-m[c]/2+N,S=Un(w,B,k),y=s;l.modifiersData[o]=(n={},n[y]=S,n.centerOffset=S-B,n)}}function ju(t){var n=t.state,l=t.options,o=l.element,a=o===void 0?"[data-popper-arrow]":o;a!=null&&(typeof a=="string"&&(a=n.elements.popper.querySelector(a),!a)||hi(n.elements.popper,a)&&(n.elements.arrow=a))}const Pu={name:"arrow",enabled:!0,phase:"main",fn:Lu,effect:ju,requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function on(t){return t.split("-")[1]}var qu={top:"auto",right:"auto",bottom:"auto",left:"auto"};function zu(t,n){var l=t.x,o=t.y,a=n.devicePixelRatio||1;return{x:nn(l*a)/a||0,y:nn(o*a)/a||0}}function wi(t){var n,l=t.popper,o=t.popperRect,a=t.placement,i=t.variation,d=t.offsets,r=t.position,s=t.gpuAcceleration,f=t.adaptive,c=t.roundOffsets,g=t.isFixed,m=d.x,p=m===void 0?0:m,A=d.y,b=A===void 0?0:A,h=typeof c=="function"?c({x:p,y:b}):{x:p,y:b};p=h.x,b=h.y;var u=d.hasOwnProperty("x"),v=d.hasOwnProperty("y"),N=De,w=Me,k=window;if(f){var B=Dn(l),S="clientHeight",y="clientWidth";if(B===qe(l)&&(B=Vt(l),vt(B).position!=="static"&&r==="absolute"&&(S="scrollHeight",y="scrollWidth")),B=B,a===Me||(a===De||a===Ge)&&i===In){w=Ke;var x=g&&B===k&&k.visualViewport?k.visualViewport.height:B[S];b-=x-o.height,b*=s?1:-1}if(a===De||(a===Me||a===Ke)&&i===In){N=Ge;var E=g&&B===k&&k.visualViewport?k.visualViewport.width:B[y];p-=E-o.width,p*=s?1:-1}}var _=Object.assign({position:r},f&&qu),C=c===!0?zu({x:p,y:b},qe(l)):{x:p,y:b};if(p=C.x,b=C.y,s){var O;return Object.assign({},_,(O={},O[w]=v?"0":"",O[N]=u?"0":"",O.transform=(k.devicePixelRatio||1)<=1?"translate("+p+"px, "+b+"px)":"translate3d("+p+"px, "+b+"px, 0)",O))}return Object.assign({},_,(n={},n[w]=v?b+"px":"",n[N]=u?p+"px":"",n.transform="",n))}function Qu(t){var n=t.state,l=t.options,o=l.gpuAcceleration,a=o===void 0?!0:o,i=l.adaptive,d=i===void 0?!0:i,r=l.roundOffsets,s=r===void 0?!0:r,f={placement:ct(n.placement),variation:on(n.placement),popper:n.elements.popper,popperRect:n.rects.popper,gpuAcceleration:a,isFixed:n.options.strategy==="fixed"};n.modifiersData.popperOffsets!=null&&(n.styles.popper=Object.assign({},n.styles.popper,wi(Object.assign({},f,{offsets:n.modifiersData.popperOffsets,position:n.options.strategy,adaptive:d,roundOffsets:s})))),n.modifiersData.arrow!=null&&(n.styles.arrow=Object.assign({},n.styles.arrow,wi(Object.assign({},f,{offsets:n.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:s})))),n.attributes.popper=Object.assign({},n.attributes.popper,{"data-popper-placement":n.placement})}const Hu={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:Qu,data:{}};var bl={passive:!0};function Yu(t){var n=t.state,l=t.instance,o=t.options,a=o.scroll,i=a===void 0?!0:a,d=o.resize,r=d===void 0?!0:d,s=qe(n.elements.popper),f=[].concat(n.scrollParents.reference,n.scrollParents.popper);return i&&f.forEach(function(c){c.addEventListener("scroll",l.update,bl)}),r&&s.addEventListener("resize",l.update,bl),function(){i&&f.forEach(function(c){c.removeEventListener("scroll",l.update,bl)}),r&&s.removeEventListener("resize",l.update,bl)}}const Wu={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:Yu,data:{}};var Ku={left:"right",right:"left",bottom:"top",top:"bottom"};function yl(t){return t.replace(/left|right|bottom|top/g,function(n){return Ku[n]})}var Gu={start:"end",end:"start"};function Ci(t){return t.replace(/start|end/g,function(n){return Gu[n]})}function ho(t){var n=qe(t),l=n.pageXOffset,o=n.pageYOffset;return{scrollLeft:l,scrollTop:o}}function bo(t){return ln(Vt(t)).left+ho(t).scrollLeft}function Ju(t,n){var l=qe(t),o=Vt(t),a=l.visualViewport,i=o.clientWidth,d=o.clientHeight,r=0,s=0;if(a){i=a.width,d=a.height;var f=gi();(f||!f&&n==="fixed")&&(r=a.offsetLeft,s=a.offsetTop)}return{width:i,height:d,x:r+bo(t),y:s}}function Xu(t){var n,l=Vt(t),o=ho(t),a=(n=t.ownerDocument)==null?void 0:n.body,i=jt(l.scrollWidth,l.clientWidth,a?a.scrollWidth:0,a?a.clientWidth:0),d=jt(l.scrollHeight,l.clientHeight,a?a.scrollHeight:0,a?a.clientHeight:0),r=-o.scrollLeft+bo(t),s=-o.scrollTop;return vt(a||l).direction==="rtl"&&(r+=jt(l.clientWidth,a?a.clientWidth:0)-i),{width:i,height:d,x:r,y:s}}function yo(t){var n=vt(t),l=n.overflow,o=n.overflowX,a=n.overflowY;return/auto|scroll|overlay|hidden/.test(l+a+o)}function Ai(t){return["html","body","#document"].indexOf(dt(t))>=0?t.ownerDocument.body:Je(t)&&yo(t)?t:Ai(hl(t))}function Ln(t,n){var l;n===void 0&&(n=[]);var o=Ai(t),a=o===((l=t.ownerDocument)==null?void 0:l.body),i=qe(o),d=a?[i].concat(i.visualViewport||[],yo(o)?o:[]):o,r=n.concat(d);return a?r:r.concat(Ln(hl(d)))}function vo(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function Zu(t,n){var l=ln(t,!1,n==="fixed");return l.top=l.top+t.clientTop,l.left=l.left+t.clientLeft,l.bottom=l.top+t.clientHeight,l.right=l.left+t.clientWidth,l.width=t.clientWidth,l.height=t.clientHeight,l.x=l.left,l.y=l.top,l}function xi(t,n,l){return n===fi?vo(Ju(t,l)):Lt(n)?Zu(n,l):vo(Xu(Vt(t)))}function ef(t){var n=Ln(hl(t)),l=["absolute","fixed"].indexOf(vt(t).position)>=0,o=l&&Je(t)?Dn(t):t;return Lt(o)?n.filter(function(a){return Lt(a)&&hi(a,o)&&dt(a)!=="body"}):[]}function tf(t,n,l,o){var a=n==="clippingParents"?ef(t):[].concat(n),i=[].concat(a,[l]),d=i[0],r=i.reduce(function(s,f){var c=xi(t,f,o);return s.top=jt(c.top,s.top),s.right=gl(c.right,s.right),s.bottom=gl(c.bottom,s.bottom),s.left=jt(c.left,s.left),s},xi(t,d,o));return r.width=r.right-r.left,r.height=r.bottom-r.top,r.x=r.left,r.y=r.top,r}function Ni(t){var n=t.reference,l=t.element,o=t.placement,a=o?ct(o):null,i=o?on(o):null,d=n.x+n.width/2-l.width/2,r=n.y+n.height/2-l.height/2,s;switch(a){case Me:s={x:d,y:n.y-l.height};break;case Ke:s={x:d,y:n.y+n.height};break;case Ge:s={x:n.x+n.width,y:r};break;case De:s={x:n.x-l.width,y:r};break;default:s={x:n.x,y:n.y}}var f=a?go(a):null;if(f!=null){var c=f==="y"?"height":"width";switch(i){case tn:s[f]=s[f]-(n[c]/2-l[c]/2);break;case In:s[f]=s[f]+(n[c]/2-l[c]/2);break}}return s}function jn(t,n){n===void 0&&(n={});var l=n,o=l.placement,a=o===void 0?t.placement:o,i=l.strategy,d=i===void 0?t.strategy:i,r=l.boundary,s=r===void 0?wu:r,f=l.rootBoundary,c=f===void 0?fi:f,g=l.elementContext,m=g===void 0?Mn:g,p=l.altBoundary,A=p===void 0?!1:p,b=l.padding,h=b===void 0?0:b,u=vi(typeof h!="number"?h:ki(h,$n)),v=m===Mn?Cu:Mn,N=t.rects.popper,w=t.elements[A?v:m],k=tf(Lt(w)?w:w.contextElement||Vt(t.elements.popper),s,c,d),B=ln(t.elements.reference),S=Ni({reference:B,element:N,strategy:"absolute",placement:a}),y=vo(Object.assign({},N,S)),x=m===Mn?y:B,E={top:k.top-x.top+u.top,bottom:x.bottom-k.bottom+u.bottom,left:k.left-x.left+u.left,right:x.right-k.right+u.right},_=t.modifiersData.offset;if(m===Mn&&_){var C=_[a];Object.keys(E).forEach(function(O){var T=[Ge,Ke].indexOf(O)>=0?1:-1,V=[Me,Ke].indexOf(O)>=0?"y":"x";E[O]+=C[V]*T})}return E}function nf(t,n){n===void 0&&(n={});var l=n,o=l.placement,a=l.boundary,i=l.rootBoundary,d=l.padding,r=l.flipVariations,s=l.allowedAutoPlacements,f=s===void 0?mi:s,c=on(o),g=c?r?pi:pi.filter(function(A){return on(A)===c}):$n,m=g.filter(function(A){return f.indexOf(A)>=0});m.length===0&&(m=g);var p=m.reduce(function(A,b){return A[b]=jn(t,{placement:b,boundary:a,rootBoundary:i,padding:d})[ct(b)],A},{});return Object.keys(p).sort(function(A,b){return p[A]-p[b]})}function lf(t){if(ct(t)===uo)return[];var n=yl(t);return[Ci(t),n,Ci(n)]}function of(t){var n=t.state,l=t.options,o=t.name;if(!n.modifiersData[o]._skip){for(var a=l.mainAxis,i=a===void 0?!0:a,d=l.altAxis,r=d===void 0?!0:d,s=l.fallbackPlacements,f=l.padding,c=l.boundary,g=l.rootBoundary,m=l.altBoundary,p=l.flipVariations,A=p===void 0?!0:p,b=l.allowedAutoPlacements,h=n.options.placement,u=ct(h),v=u===h,N=s||(v||!A?[yl(h)]:lf(h)),w=[h].concat(N).reduce(function(R,J){return R.concat(ct(J)===uo?nf(n,{placement:J,boundary:c,rootBoundary:g,padding:f,flipVariations:A,allowedAutoPlacements:b}):J)},[]),k=n.rects.reference,B=n.rects.popper,S=new Map,y=!0,x=w[0],E=0;E<w.length;E++){var _=w[E],C=ct(_),O=on(_)===tn,T=[Me,Ke].indexOf(C)>=0,V=T?"width":"height",$=jn(n,{placement:_,boundary:c,rootBoundary:g,altBoundary:m,padding:f}),I=T?O?Ge:De:O?Ke:Me;k[V]>B[V]&&(I=yl(I));var F=yl(I),j=[];if(i&&j.push($[C]<=0),r&&j.push($[I]<=0,$[F]<=0),j.every(function(R){return R})){x=_,y=!1;break}S.set(_,j)}if(y)for(var U=A?3:1,M=function(J){var q=w.find(function(L){var ee=S.get(L);if(ee)return ee.slice(0,J).every(function(W){return W})});if(q)return x=q,"break"},Q=U;Q>0;Q--){var D=M(Q);if(D==="break")break}n.placement!==x&&(n.modifiersData[o]._skip=!0,n.placement=x,n.reset=!0)}}const af={name:"flip",enabled:!0,phase:"main",fn:of,requiresIfExists:["offset"],data:{_skip:!1}};function Si(t,n,l){return l===void 0&&(l={x:0,y:0}),{top:t.top-n.height-l.y,right:t.right-n.width+l.x,bottom:t.bottom-n.height+l.y,left:t.left-n.width-l.x}}function _i(t){return[Me,Ge,Ke,De].some(function(n){return t[n]>=0})}function rf(t){var n=t.state,l=t.name,o=n.rects.reference,a=n.rects.popper,i=n.modifiersData.preventOverflow,d=jn(n,{elementContext:"reference"}),r=jn(n,{altBoundary:!0}),s=Si(d,o),f=Si(r,a,i),c=_i(s),g=_i(f);n.modifiersData[l]={referenceClippingOffsets:s,popperEscapeOffsets:f,isReferenceHidden:c,hasPopperEscaped:g},n.attributes.popper=Object.assign({},n.attributes.popper,{"data-popper-reference-hidden":c,"data-popper-escaped":g})}const sf={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:rf};function df(t,n,l){var o=ct(t),a=[De,Me].indexOf(o)>=0?-1:1,i=typeof l=="function"?l(Object.assign({},n,{placement:t})):l,d=i[0],r=i[1];return d=d||0,r=(r||0)*a,[De,Ge].indexOf(o)>=0?{x:r,y:d}:{x:d,y:r}}function cf(t){var n=t.state,l=t.options,o=t.name,a=l.offset,i=a===void 0?[0,0]:a,d=mi.reduce(function(c,g){return c[g]=df(g,n.rects,i),c},{}),r=d[n.placement],s=r.x,f=r.y;n.modifiersData.popperOffsets!=null&&(n.modifiersData.popperOffsets.x+=s,n.modifiersData.popperOffsets.y+=f),n.modifiersData[o]=d}const uf={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:cf};function ff(t){var n=t.state,l=t.name;n.modifiersData[l]=Ni({reference:n.rects.reference,element:n.rects.popper,strategy:"absolute",placement:n.placement})}const pf={name:"popperOffsets",enabled:!0,phase:"read",fn:ff,data:{}};function mf(t){return t==="x"?"y":"x"}function gf(t){var n=t.state,l=t.options,o=t.name,a=l.mainAxis,i=a===void 0?!0:a,d=l.altAxis,r=d===void 0?!1:d,s=l.boundary,f=l.rootBoundary,c=l.altBoundary,g=l.padding,m=l.tether,p=m===void 0?!0:m,A=l.tetherOffset,b=A===void 0?0:A,h=jn(n,{boundary:s,rootBoundary:f,padding:g,altBoundary:c}),u=ct(n.placement),v=on(n.placement),N=!v,w=go(u),k=mf(w),B=n.modifiersData.popperOffsets,S=n.rects.reference,y=n.rects.popper,x=typeof b=="function"?b(Object.assign({},n.rects,{placement:n.placement})):b,E=typeof x=="number"?{mainAxis:x,altAxis:x}:Object.assign({mainAxis:0,altAxis:0},x),_=n.modifiersData.offset?n.modifiersData.offset[n.placement]:null,C={x:0,y:0};if(B){if(i){var O,T=w==="y"?Me:De,V=w==="y"?Ke:Ge,$=w==="y"?"height":"width",I=B[w],F=I+h[T],j=I-h[V],U=p?-y[$]/2:0,M=v===tn?S[$]:y[$],Q=v===tn?-y[$]:-S[$],D=n.elements.arrow,R=p&&D?mo(D):{width:0,height:0},J=n.modifiersData["arrow#persistent"]?n.modifiersData["arrow#persistent"].padding:yi(),q=J[T],L=J[V],ee=Un(0,S[$],R[$]),W=N?S[$]/2-U-ee-q-E.mainAxis:M-ee-q-E.mainAxis,se=N?-S[$]/2+U+ee+L+E.mainAxis:Q+ee+L+E.mainAxis,z=n.elements.arrow&&Dn(n.elements.arrow),H=z?w==="y"?z.clientTop||0:z.clientLeft||0:0,Y=(O=_?.[w])!=null?O:0,X=I+W-Y-H,ne=I+se-Y,pe=Un(p?gl(F,X):F,I,p?jt(j,ne):j);B[w]=pe,C[w]=pe-I}if(r){var nt,_t=w==="x"?Me:De,ue=w==="x"?Ke:Ge,rt=B[k],En=k==="y"?"height":"width",Js=rt+h[_t],Xs=rt-h[ue],Ma=[Me,De].indexOf(u)!==-1,Zs=(nt=_?.[k])!=null?nt:0,ed=Ma?Js:rt-S[En]-y[En]-Zs+E.altAxis,td=Ma?rt+S[En]+y[En]-Zs-E.altAxis:Xs,nd=p&&Ma?Du(ed,rt,td):Un(p?ed:Js,rt,p?td:Xs);B[k]=nd,C[k]=nd-rt}n.modifiersData[o]=C}}const hf={name:"preventOverflow",enabled:!0,phase:"main",fn:gf,requiresIfExists:["offset"]};function bf(t){return{scrollLeft:t.scrollLeft,scrollTop:t.scrollTop}}function yf(t){return t===qe(t)||!Je(t)?ho(t):bf(t)}function vf(t){var n=t.getBoundingClientRect(),l=nn(n.width)/t.offsetWidth||1,o=nn(n.height)/t.offsetHeight||1;return l!==1||o!==1}function kf(t,n,l){l===void 0&&(l=!1);var o=Je(n),a=Je(n)&&vf(n),i=Vt(n),d=ln(t,a,l),r={scrollLeft:0,scrollTop:0},s={x:0,y:0};return(o||!o&&!l)&&((dt(n)!=="body"||yo(i))&&(r=yf(n)),Je(n)?(s=ln(n,!0),s.x+=n.clientLeft,s.y+=n.clientTop):i&&(s.x=bo(i))),{x:d.left+r.scrollLeft-s.x,y:d.top+r.scrollTop-s.y,width:d.width,height:d.height}}function wf(t){var n=new Map,l=new Set,o=[];t.forEach(function(i){n.set(i.name,i)});function a(i){l.add(i.name);var d=[].concat(i.requires||[],i.requiresIfExists||[]);d.forEach(function(r){if(!l.has(r)){var s=n.get(r);s&&a(s)}}),o.push(i)}return t.forEach(function(i){l.has(i.name)||a(i)}),o}function Cf(t){var n=wf(t);return Tu.reduce(function(l,o){return l.concat(n.filter(function(a){return a.phase===o}))},[])}function Af(t){var n;return function(){return n||(n=new Promise(function(l){Promise.resolve().then(function(){n=void 0,l(t())})})),n}}function xf(t){var n=t.reduce(function(l,o){var a=l[o.name];return l[o.name]=a?Object.assign({},a,o,{options:Object.assign({},a.options,o.options),data:Object.assign({},a.data,o.data)}):o,l},{});return Object.keys(n).map(function(l){return n[l]})}var Vi={placement:"bottom",modifiers:[],strategy:"absolute"};function Bi(){for(var t=arguments.length,n=new Array(t),l=0;l<t;l++)n[l]=arguments[l];return!n.some(function(o){return!(o&&typeof o.getBoundingClientRect=="function")})}function Nf(t){t===void 0&&(t={});var n=t,l=n.defaultModifiers,o=l===void 0?[]:l,a=n.defaultOptions,i=a===void 0?Vi:a;return function(r,s,f){f===void 0&&(f=i);var c={placement:"bottom",orderedModifiers:[],options:Object.assign({},Vi,i),modifiersData:{},elements:{reference:r,popper:s},attributes:{},styles:{}},g=[],m=!1,p={state:c,setOptions:function(u){var v=typeof u=="function"?u(c.options):u;b(),c.options=Object.assign({},i,c.options,v),c.scrollParents={reference:Lt(r)?Ln(r):r.contextElement?Ln(r.contextElement):[],popper:Ln(s)};var N=Cf(xf([].concat(o,c.options.modifiers)));return c.orderedModifiers=N.filter(function(w){return w.enabled}),A(),p.update()},forceUpdate:function(){if(!m){var u=c.elements,v=u.reference,N=u.popper;if(Bi(v,N)){c.rects={reference:kf(v,Dn(N),c.options.strategy==="fixed"),popper:mo(N)},c.reset=!1,c.placement=c.options.placement,c.orderedModifiers.forEach(function(E){return c.modifiersData[E.name]=Object.assign({},E.data)});for(var w=0;w<c.orderedModifiers.length;w++){if(c.reset===!0){c.reset=!1,w=-1;continue}var k=c.orderedModifiers[w],B=k.fn,S=k.options,y=S===void 0?{}:S,x=k.name;typeof B=="function"&&(c=B({state:c,options:y,name:x,instance:p})||c)}}}},update:Af(function(){return new Promise(function(h){p.forceUpdate(),h(c)})}),destroy:function(){b(),m=!0}};if(!Bi(r,s))return p;p.setOptions(f).then(function(h){!m&&f.onFirstUpdate&&f.onFirstUpdate(h)});function A(){c.orderedModifiers.forEach(function(h){var u=h.name,v=h.options,N=v===void 0?{}:v,w=h.effect;if(typeof w=="function"){var k=w({state:c,name:u,instance:p,options:N}),B=function(){};g.push(k||B)}})}function b(){g.forEach(function(h){return h()}),g=[]}return p}}var Sf=[Wu,pf,Hu,$u,uf,af,hf,Pu,sf],_f=Nf({defaultModifiers:Sf});/*!
|
|
3
3
|
* is-plain-object <https://github.com/jonschlinkert/is-plain-object>
|
|
4
4
|
*
|
|
@@ -43,7 +43,7 @@ $2`),b=b.replace(/\{/g,`{
|
|
|
43
43
|
`),b=b.replace(/\}/g,`
|
|
44
44
|
}`);let h=0;const u=b.split(`
|
|
45
45
|
`),v=[];for(let N of u)N=N.trim(),N&&((N.startsWith("}")||N==="case:"||N==="default:")&&(h=Math.max(0,h-1)),v.push(" ".repeat(h)+N),(N.endsWith("{")||N.endsWith(":"))&&h++);return v.join(`
|
|
46
|
-
`)}catch(h){return console.error("JavaScript 格式化失败,返回原始代码",h),b}}return n({formatCode:g}),(b,h)=>(e.openBlock(),e.createElementBlock("div",fv,[h[1]||(h[1]=e.createElementVNode("div",{class:"left-mask"},null,-1)),e.createVNode(e.unref(Zt.Codemirror),{ref_key:"codeEditor",ref:o,modelValue:s.value,"onUpdate:modelValue":h[0]||(h[0]=u=>s.value=u),style:{height:"100%"},autofocus:!0,placeholder:t.placeholder,onChange:c,"indent-with-tab":!0,tabSize:4,extensions:i.value,scrollbarStyle:null,disabled:f.value=="view"},null,8,["modelValue","placeholder","extensions","disabled"])]))}}),[["__scopeId","data-v-62282752"]]),mv={class:"page-setting-dialog"},Cn=e.defineComponent({__name:"page",props:{settingTitle:{type:String,default:"页面设置"},engine:{type:Object,required:!1}},emits:["setting","saving"],setup(t,{emit:n}){const l=t,o=e.computed(()=>l.engine?.model?.value),a=P.useSession(),i=e.computed(()=>a.getPrincipal()),d=e.ref(!1);e.provide("closeSetting",()=>{l.engine?.save().then(m=>{d.value=!1})});function r(){d.value=!0}function s(){l.engine?.save().then(m=>{console.log("res",m)})}function f(){l.engine?.save().then(m=>{console.log("res",m)})}const c=e.ref("");function g(m){c.value||(c.value=o.value),m?l.engine?.setModel("edit"):l.engine?.setModel(c.value)}return(m,p)=>{const A=e.resolveComponent("SettingOutlined"),b=e.resolveComponent("a-tooltip"),h=e.resolveComponent("SaveOutlined"),u=e.resolveComponent("FormOutlined"),v=e.resolveComponent("StopOutlined"),N=e.resolveComponent("a-modal");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["unione-page",o.value])},[o.value=="edit"&&m.$slots["page-setting"]&&i.value?.userRoles?.includes("FORM-ADMIN")?(e.openBlock(),e.createBlock(b,{key:0,title:t.settingTitle},{default:e.withCtx(()=>[e.createVNode(A,{class:"page-setting",onClick:r})]),_:1},8,["title"])):e.createCommentVNode("",!0),o.value=="edit"&&m.$slots["page-setting"]&&i.value?.userRoles?.includes("FORM-ADMIN")?(e.openBlock(),e.createBlock(b,{key:1,title:"保存页面"},{default:e.withCtx(()=>[e.createVNode(h,{class:"btn-save",onClick:s})]),_:1})):e.createCommentVNode("",!0),o.value!="edit"&&i.value?.userRoles?.includes("FORM-ADMIN")?(e.openBlock(),e.createBlock(b,{key:2,title:"编辑页面"},{default:e.withCtx(()=>[e.createVNode(u,{class:"btn-edit",onClick:p[0]||(p[0]=w=>g(!0))})]),_:1})):e.createCommentVNode("",!0),o.value=="edit"&&m.$slots["page-setting"]&&i.value?.userRoles?.includes("FORM-ADMIN")?(e.openBlock(),e.createBlock(b,{key:3,title:"退出编辑"},{default:e.withCtx(()=>[e.createVNode(v,{class:"btn-edit",onClick:p[1]||(p[1]=w=>g(!1))})]),_:1})):e.createCommentVNode("",!0),e.renderSlot(m.$slots,"default"),o.value=="edit"?(e.openBlock(),e.createBlock(N,{key:4,title:l.settingTitle,open:d.value,"onUpdate:open":p[2]||(p[2]=w=>d.value=w),centered:"",width:"85%",onOk:f},{default:e.withCtx(()=>[e.createElementVNode("div",mv,[e.renderSlot(m.$slots,"page-setting")])]),_:3},8,["title","open"])):e.createCommentVNode("",!0)],2)}}}),gv={class:"unione-props-setting data-field-manage"},hv={key:0},bv={key:1},yv={key:2},vv={key:3},kv={key:4},wv={key:5},Cv={key:6},Av=["onClick"],xv=["onClick"],Nv=["onClick"],Sv={key:1},_v=Z(e.defineComponent({__name:"dataFieldMange",props:{modelValue:{required:!0},modelModifiers:{}},emits:["update:modelValue"],setup(t){const n=e.ref([{title:"序号",dataIndex:"index",key:"index",width:"35px",fixed:"left",align:"center",customRender:({index:m})=>m+1},{title:"名称",dataIndex:"name",key:"name",width:"70px",rowDrag:!0,resizable:!0,fixed:"left",align:"center"},{title:"标题",dataIndex:"title",key:"title",width:"100px",align:"center"},{title:"数据类型",dataIndex:"dataType",key:"dataType",width:"80px",align:"center"},{title:"长度",dataIndex:"dataLen",key:"dataLen",width:"60px",align:"center"},{title:"小数点",dataIndex:"dataPrec",key:"dataPrec",width:"60px",align:"center"},{title:"默认值",dataIndex:"defaultValue",key:"defaultValue",width:"60px",align:"center"},{title:"主键",dataIndex:"isPk",key:"isPk",width:"40px",align:"center"},{title:"外键",dataIndex:"isFk",key:"isFk",width:"30px",align:"center"},{title:"非空",dataIndex:"isNull",key:"isNull",width:"30px",align:"center"},{title:"同步",dataIndex:"syncDbEnable",key:"syncDbEnable",width:"30px",align:"center"},{title:"备注",dataIndex:"descs",key:"descs",width:"140px",align:"center"}]),l=e.useModel(t,"modelValue"),o=e.ref({selectedRowKeys:[],columnWidth:"25px",onChange:m=>{m.forEach(p=>{o.value.selectedRowKeys.includes(p)||o.value.selectedRowKeys.push(p);const A=[];l.value.forEach(b=>{!m.includes(b.name)&&o.value.selectedRowKeys.includes(b.name)&&A.push(b.name)}),A.length&&(o.value.selectedRowKeys=o.value.selectedRowKeys.filter(b=>!A.includes(b)))})}}),a={mounted:m=>m.focus()},i=e.ref({});function d(){const m=Object.keys(i.value);if(m.length)for(let p in m){const A=l.value.filter(b=>b.name==p);if(A&&A[0]){let b=i.value[p];Object.keys(b).forEach(h=>{A[0][h]=b[h]})}}i.value={}}function r(m,p){d();const A={};A[p]=m[p]||"",i.value[m.name]=A}function s(m,p){if(!m||!p){i.value={};return}const A=i.value[m.name][p];if(p=="name"&&l.value.filter(h=>h[p]==A&&h.name!=m.name).length>0){te.Modal.warn({title:"提示信息",content:"字段名称["+A+"]已存在"});return}m[p]=A,i.value={}}function f(m,p){l.value.filter(b=>b.name==m.name).forEach(b=>{b[p]=!b[p]})}function c(){if(d(),l.value.filter(A=>A.name=="new_").length>0){i.value.new_={name:"new_"};return}const p={title:"",name:"new_",isPk:0,dataType:"String"};l.value.push(p),i.value[p.name]={name:"new_"}}function g(){if(!o.value.selectedRowKeys.length){te.Modal.info({title:"提示信息",content:"请选择要删除的字段!"});return}te.Modal.confirm({title:"确认信息",content:"确定要删除选中的["+o.value.selectedRowKeys.length+"]字段么?",onOk:()=>{l.value=l.value.filter(m=>!o.value.selectedRowKeys.includes(m.name)),o.value.selectedRowKeys=[]}})}return(m,p)=>{const A=e.resolveComponent("a-button"),b=e.resolveComponent("a-tooltip"),h=e.resolveComponent("a-input"),u=e.resolveComponent("a-input-number"),v=e.resolveComponent("a-select-option"),N=e.resolveComponent("a-select"),w=e.resolveComponent("a-checkbox"),k=e.resolveComponent("a-table");return e.openBlock(),e.createElementBlock("div",gv,[e.createVNode(A,{class:"btn btn-add",type:"primary",onClick:c,size:"small"},{default:e.withCtx(()=>p[1]||(p[1]=[e.createTextVNode("新增")])),_:1}),e.createVNode(A,{class:"btn btn-delete",type:"primary",danger:"",onClick:g,size:"small"},{default:e.withCtx(()=>p[2]||(p[2]=[e.createTextVNode(" 删除 ")])),_:1}),e.createVNode(k,{columns:n.value,"data-source":l.value,pagination:!1,bordered:"","row-selection":o.value,scroll:{x:1150},"row-key":"name",size:"small",sticky:""},{headerCell:e.withCtx(({column:B})=>[B.key==="name"?(e.openBlock(),e.createElementBlock("span",hv,[p[3]||(p[3]=e.createElementVNode("span",{style:{color:"red","margin-right":"3px","font-size":"16px"}},"*",-1)),e.createVNode(e.unref(gt.FormOutlined)),e.createTextVNode(" "+e.toDisplayString(B.title),1)])):e.createCommentVNode("",!0),B.key==="title"?(e.openBlock(),e.createElementBlock("span",bv,[p[4]||(p[4]=e.createElementVNode("span",{style:{color:"red","margin-right":"3px","font-size":"16px"}},"*",-1)),e.createVNode(e.unref(gt.FormOutlined)),e.createTextVNode(" "+e.toDisplayString(B.title),1)])):e.createCommentVNode("",!0),B.key==="descs"?(e.openBlock(),e.createElementBlock("span",yv,[e.createVNode(e.unref(gt.FormOutlined)),e.createTextVNode(" "+e.toDisplayString(B.title),1)])):e.createCommentVNode("",!0),B.key==="dataLen"?(e.openBlock(),e.createElementBlock("span",vv,[e.createVNode(e.unref(gt.FormOutlined)),e.createTextVNode(" "+e.toDisplayString(B.title),1)])):e.createCommentVNode("",!0),B.key==="dataPrec"?(e.openBlock(),e.createElementBlock("span",kv,[e.createVNode(e.unref(gt.FormOutlined)),e.createTextVNode(" "+e.toDisplayString(B.title),1)])):e.createCommentVNode("",!0),B.key==="defaultValue"?(e.openBlock(),e.createElementBlock("span",wv,[e.createVNode(e.unref(gt.FormOutlined)),e.createTextVNode(" "+e.toDisplayString(B.title),1)])):e.createCommentVNode("",!0),B.key==="dataType"?(e.openBlock(),e.createElementBlock("span",Cv,[e.createVNode(e.unref(gt.FormOutlined)),e.createTextVNode(" "+e.toDisplayString(B.title),1)])):e.createCommentVNode("",!0),B.key==="isPk"?(e.openBlock(),e.createBlock(b,{key:7,title:"至少配置一个主键字段"},{default:e.withCtx(()=>[p[5]||(p[5]=e.createElementVNode("span",{style:{color:"red","margin-right":"3px","font-size":"16px"}},"*",-1)),e.createTextVNode(e.toDisplayString(B.title),1)]),_:2},1024)):e.createCommentVNode("",!0),B.key==="isFk"?(e.openBlock(),e.createBlock(b,{key:8,title:"是否是外键字段"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(B.title),1)]),_:2},1024)):e.createCommentVNode("",!0),B.key==="isNull"?(e.openBlock(),e.createBlock(b,{key:9,title:"是否允许为空"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(B.title),1)]),_:2},1024)):e.createCommentVNode("",!0),B.key==="syncDbEnable"?(e.openBlock(),e.createBlock(b,{key:10,title:"是否同步到数据库"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(B.title),1)]),_:2},1024)):e.createCommentVNode("",!0)]),bodyCell:e.withCtx(({column:B,text:S,record:y})=>[["name","title","descs","defaultValue"].includes(B.dataIndex)?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["edit-field",(!i.value[y.name]||!Object.keys(i.value[y.name]).includes(B.dataIndex))&&!S&&"empty"]),onClick:x=>r(y,B.dataIndex)},[i.value[y.name]&&Object.keys(i.value[y.name]).includes(B.dataIndex)?e.withDirectives((e.openBlock(),e.createBlock(h,{key:0,value:i.value[y.name][B.dataIndex],"onUpdate:value":x=>i.value[y.name][B.dataIndex]=x,onBlur:x=>s(y,B.dataIndex),style:{margin:"-5px 0"}},null,8,["value","onUpdate:value","onBlur"])),[[a]]):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(S||" "),1)],64))],10,Av)):e.createCommentVNode("",!0),["dataLen","dataPrec"].includes(B.dataIndex)?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["edit-field",(!i.value[y.name]||!Object.keys(i.value[y.name]).includes(B.dataIndex))&&!S&&"empty"]),onClick:x=>r(y,B.dataIndex)},[i.value[y.name]&&Object.keys(i.value[y.name]).includes(B.dataIndex)?e.withDirectives((e.openBlock(),e.createBlock(u,{key:0,value:i.value[y.name][B.dataIndex],"onUpdate:value":x=>i.value[y.name][B.dataIndex]=x,onBlur:x=>s(y,B.dataIndex),style:{margin:"-5px 0"}},null,8,["value","onUpdate:value","onBlur"])),[[a]]):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(S||" "),1)],64))],10,xv)):["dataType"].includes(B.dataIndex)?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(["edit-field",(!i.value[y.name]||!Object.keys(i.value[y.name]).includes(B.dataIndex))&&!S&&"empty"]),onClick:x=>r(y,B.dataIndex)},[i.value[y.name]&&Object.keys(i.value[y.name]).includes(B.dataIndex)?e.withDirectives((e.openBlock(),e.createBlock(N,{key:0,value:y[B.dataIndex],"onUpdate:value":x=>y[B.dataIndex]=x,onBlur:p[0]||(p[0]=x=>s())},{default:e.withCtx(()=>[e.createVNode(v,{key:"String",value:"String"}),e.createVNode(v,{key:"Long",value:"Long"}),e.createVNode(v,{key:"Short",value:"Short"}),e.createVNode(v,{key:"Integer",value:"Integer"}),e.createVNode(v,{key:"Float",value:"Float"}),e.createVNode(v,{key:"Double",value:"Double"}),e.createVNode(v,{key:"Date",value:"Date"}),e.createVNode(v,{key:"Timestamp",value:"Timestamp"})]),_:2},1032,["value","onUpdate:value"])),[[a]]):(e.openBlock(),e.createElementBlock("span",Sv,e.toDisplayString(S),1))],10,Nv)):["syncDbEnable","isFk","isPk"].includes(B.dataIndex)?(e.openBlock(),e.createBlock(w,{key:3,checked:y[B.dataIndex],onClick:x=>f(y,B.dataIndex)},null,8,["checked","onClick"])):["isNull"].includes(B.dataIndex)?(e.openBlock(),e.createBlock(w,{key:4,checked:!y[B.dataIndex],onClick:x=>f(y,B.dataIndex)},null,8,["checked","onClick"])):e.createCommentVNode("",!0)]),_:1},8,["columns","data-source","row-selection"])])}}}),[["__scopeId","data-v-924cabd1"]]),Vv={class:"unione-props-setting data-field-setting"},Bv={key:0},Ev=["onClick"],Ov={class:"field-txt"},Tv=["onClick"],Rv={key:1,class:"field-txt"},Fv=["onClick"],$v={key:1},Iv=["onClick"],Mv={key:0,class:"field-txt"},Dv={key:4,class:"edit-field"},Uv={key:0},Lv=["onClick"],jv=Z(e.defineComponent({__name:"dataFieldSetting",props:{modelValue:{required:!0},modelModifiers:{}},emits:["update:modelValue"],setup(t){const n=e.ref([{title:"序号",dataIndex:"index",key:"index",width:"30px",fixed:"left",align:"center",customRender:({index:u})=>u+1},{title:"字段名称",dataIndex:"name",key:"name",width:"70px",rowDrag:!0,resizable:!0,fixed:"left",align:"center"},{title:"字段标题",dataIndex:"title",key:"title",width:"90px",align:"center"},{title:"控件类型",dataIndex:"widget",key:"widget",width:"60px",align:"center"},{title:"验证规则",dataIndex:"rules",key:"rules",width:"60px",align:"center"},{title:"表单",dataIndex:"isForm",key:"isForm",width:"40px",align:"center"},{title:"详情",dataIndex:"isView",key:"isView",width:"40px",align:"center"},{title:"列表",dataIndex:"isList",key:"isList",width:"40px",align:"center"},{title:"排序",dataIndex:"isSort",key:"isSort",width:"40px",align:"center"},{title:"查询",dataIndex:"isQuery",key:"isQuery",width:"40px",align:"center"},{title:"查询类型",dataIndex:"queryType",key:"queryType",width:"60px",align:"center"},{title:"转换器",dataIndex:"convertName",key:"convertName",width:"50px",align:"center"}]),l=e.useModel(t,"modelValue"),o={mounted:u=>u.focus()},a=e.ref({});function i(){const u=Object.keys(a.value);if(u.length)for(let v in u){const N=l.value.filter(w=>w.name==v);if(N&&N[0]){let w=a.value[v];Object.keys(w).forEach(k=>{k=="convertName"?(N[0].convert||(N[0].convert={}),N[0].convert.type=w[k]):N[0][k]=w[k]})}}a.value={}}function d(u,v){i();const N={};v=="convertName"?(u.convert||(u.convert={}),N[v]=u.convert?.type):N[v]=u[v]||"",a.value[u.name]=N}function r(u,v){{a.value={};return}}function s(u,v){l.value.filter(w=>w.name==u.name).forEach(w=>{w[v]=!w[v]})}const f=e.ref({title:"列头设置",prop:"isList",visible:!1,field:{},show:{},toSetting:()=>{f.value.visible=!1}});function c(u,v){const N=l.value.filter(k=>k.name==u.name);N.forEach(k=>{v!="isSort"?k[v]=!0:k[v]=!k[v]});const w=N[0];if(!(!w||v=="isSort")){switch(f.value.prop=v,f.value.field=u,w.show||(w.show={}),v){case"isQuery":w.show.query||(w.show.query={}),f.value.show=w.show.query,f.value.title=`查询设置/${u.title}(${u.name})`;break;case"isForm":w.show.form||(w.show.form={}),f.value.show=w.show.form,f.value.title=`表单设置/${u.title}(${u.name})`;break;case"isView":w.show.view||(w.show.view={}),f.value.show=w.show.view,f.value.title=`详情设置/${u.title}(${u.name})`;break;case"isList":w.show.list||(w.show.list={}),f.value.show=w.show.list,f.value.title=`列头设置/${u.title}(${u.name})`;break}f.value.visible=!0}}const g=e.ref({options:[{value:"keywords",label:"关键字"},{value:"equle",label:"精确"},{value:"like",label:"模糊"},{value:"like-right",label:"右模糊"},{value:"like-left",label:"左模糊"},{value:"range",label:"范围"}],showLabel:u=>{const v=g.value.options.filter(N=>N.value==u);return v[0]?v[0].label:u}}),m=e.ref({visible:!1,field:{},props:{},showInfo:u=>{let v="";return u.rules&&(v=u.rules.filter(N=>N.enable).length||""),v&&(v="("+v+")"),v},toSetting:()=>{const u=m.value.props,v={name:"range",trigger:u.trigger,whitespace:u.whitespace,message:u.rangeMessage};u.rangeMin!=null&&u.rangeMin!=null&&(v.min=u.rangeMin,v.enable=!0),u.rangeMax!=null&&u.rangeMax!=null&&(v.max=u.rangeMax,v.enable=!0);const N={name:"reg",trigger:u.trigger,whitespace:u.whitespace,message:u.regMessage};u.regExpress&&(N.pattern=u.regExpress,N.enable=!0),m.value.field.rules=[v,N],m.value.visible=!1,m.value.props={},console.log("rule",m.value.field.rules)}});function p(u){m.value.visible=!0,m.value.field=u;const v=u.rules||[],N={trigger:"change",whitespace:!0};v.forEach(w=>{w.name=="reg"&&(N.trigger=w.trigger,N.whitespace=w.whitespace,N.regExpress=w.pattern,N.regMessage=w.message),w.name=="range"&&(N.rangeMin=w.min,N.rangeMax=w.max,N.rangeMessage=w.message)}),m.value.props=N}const A=e.ref({visible:!1,field:{},props:{},widgets:[{value:"a-input",label:"文本框"},{value:"a-textarea",label:"文本域"},{value:"a-input",label:"文本框"},{value:"a-checkbox",label:"多选框"},{value:"a-radio",label:"单选框"},{value:"a-input-number",label:"数值框"},{value:"a-select",label:"下拉框"},{value:"a-tree-select",label:"下拉树"},{value:"a-date-picker",label:"日期框"},{value:"a-input-password",label:"密码框"},{value:"a-input-search",label:"搜索框"},{value:"a-upload",label:"文件框"},{value:"unione-avatar",label:"头像框",disabled:!0},{value:"unione-picture-card",label:"照片墙"},{value:"a-switch",label:"开关"},{value:"a-slider",label:"滑块"}],widgetName:u=>{const v=A.value.widgets.filter(N=>N.value==u);return v[0]?v[0].label:u},toSetting:()=>{}}),b=e.ref({visible:!1,field:{},convert:{},optionColumn:[{title:"选项标题",dataIndex:"label"},{title:"选项值",dataIndex:"value"},{title:"操作",dataIndex:"action",width:"20%"}],toAddOption:()=>{b.value.convert.options||(b.value.convert.options=[]),b.value.convert.options.push({label:"",value:""})},toDelOption:(u,v)=>{b.value.convert.options.splice(u,1)},toSetting:()=>{b.value.visible=!1}});function h(u){b.value.visible=!0,b.value.field=u,b.value.convert=u.convert||{}}return(u,v)=>{const N=e.resolveComponent("ToolOutlined"),w=e.resolveComponent("a-button"),k=e.resolveComponent("a-select"),B=e.resolveComponent("a-checkbox"),S=e.resolveComponent("a-table"),y=e.resolveComponent("a-input-number"),x=e.resolveComponent("a-form-item"),E=e.resolveComponent("a-input"),_=e.resolveComponent("a-form"),C=e.resolveComponent("a-modal"),O=e.resolveComponent("a-col"),T=e.resolveComponent("a-row"),V=e.resolveComponent("a-select-option"),$=e.resolveComponent("a-divider"),I=e.resolveComponent("a-checkbox-group");return e.openBlock(),e.createElementBlock("div",Vv,[e.createVNode(S,{columns:n.value,"data-source":l.value,bordered:"",scroll:{x:1e3},pagination:!1,"row-key":"name",size:"small"},{headerCell:e.withCtx(({column:F})=>[["widget","queryType","rules","convertName"].includes(F.key)?(e.openBlock(),e.createElementBlock("span",Bv,[e.createVNode(N),e.createTextVNode(" "+e.toDisplayString(F.title),1)])):e.createCommentVNode("",!0)]),bodyCell:e.withCtx(({column:F,text:j,record:U})=>[["rules"].includes(F.dataIndex)?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["edit-field",!m.value.showInfo(U)&&"empty"]),onClick:M=>p(U)},[e.createElementVNode("span",Ov,e.toDisplayString(m.value.showInfo(U)),1),m.value.showInfo(U)?(e.openBlock(),e.createBlock(w,{key:0,type:"link"},{default:e.withCtx(()=>v[22]||(v[22]=[e.createTextVNode("设置")])),_:1})):e.createCommentVNode("",!0)],10,Ev)):["widget"].includes(F.dataIndex)?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["edit-field",(!a.value[U.name]||!Object.keys(a.value[U.name]).includes(F.dataIndex))&&!j&&"empty"]),onClick:M=>d(U,F.dataIndex)},[a.value[U.name]&&Object.keys(a.value[U.name]).includes(F.dataIndex)?e.withDirectives((e.openBlock(),e.createBlock(k,{key:0,value:U[F.dataIndex],"onUpdate:value":M=>U[F.dataIndex]=M,allowClear:!0,options:A.value.widgets,onBlur:v[0]||(v[0]=M=>r())},null,8,["value","onUpdate:value","options"])),[[o]]):(e.openBlock(),e.createElementBlock("span",Rv,e.toDisplayString(A.value.widgetName(j)),1))],10,Tv)):["queryType"].includes(F.dataIndex)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[U.isQuery?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["edit-field",(!a.value[U.name]||!Object.keys(a.value[U.name]).includes(F.dataIndex))&&!j&&"empty"]),onClick:M=>d(U,F.dataIndex)},[a.value[U.name]&&Object.keys(a.value[U.name]).includes(F.dataIndex)?e.withDirectives((e.openBlock(),e.createBlock(k,{key:0,value:U[F.dataIndex],"onUpdate:value":M=>U[F.dataIndex]=M,allowClear:!0,options:g.value.options,onBlur:v[1]||(v[1]=M=>r())},null,8,["value","onUpdate:value","options"])),[[o]]):(e.openBlock(),e.createElementBlock("span",$v,e.toDisplayString(g.value.showLabel(j)),1))],10,Fv)):e.createCommentVNode("",!0)],64)):["convertName"].includes(F.dataIndex)?(e.openBlock(),e.createElementBlock("div",{key:3,class:e.normalizeClass(["edit-field",(!a.value[U.name]||!Object.keys(a.value[U.name]).includes(F.dataIndex))&&!U.convert?.type&&"empty"]),onClick:M=>d(U,F.dataIndex)},[a.value[U.name]&&Object.keys(a.value[U.name]).includes(F.dataIndex)?e.withDirectives((e.openBlock(),e.createBlock(k,{key:0,value:U.convert.type,"onUpdate:value":M=>U.convert.type=M,options:[{value:"dict",label:"字典"},{value:"option",label:"静态"}],allowClear:!0,onBlur:v[2]||(v[2]=M=>r())},null,8,["value","onUpdate:value"])),[[o]]):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[U.convert?.type?(e.openBlock(),e.createElementBlock("span",Mv,e.toDisplayString(U.convert.type=="dict"?"字典":"静态"),1)):e.createCommentVNode("",!0),U.convert?.type?(e.openBlock(),e.createBlock(w,{key:1,type:"link",onClick:e.withModifiers(M=>h(U),["stop"])},{default:e.withCtx(()=>v[23]||(v[23]=[e.createTextVNode("设置")])),_:2},1032,["onClick"])):e.createCommentVNode("",!0)],64))],10,Iv)):["isQuery","isForm","isView","isList","isSort"].includes(F.dataIndex)?(e.openBlock(),e.createElementBlock("div",Dv,[e.createVNode(B,{checked:U[F.dataIndex],onClick:M=>s(U,F.dataIndex)},null,8,["checked","onClick"]),e.createVNode(w,{type:"link",onClick:M=>c(U,F.dataIndex)},{default:e.withCtx(()=>v[24]||(v[24]=[e.createTextVNode("设置")])),_:2},1032,["onClick"])])):e.createCommentVNode("",!0)]),_:1},8,["columns","data-source"]),e.createVNode(C,{visible:f.value.visible,"onUpdate:visible":v[9]||(v[9]=F=>f.value.visible=F),title:f.value.title,onOk:f.value.toSetting},{default:e.withCtx(()=>[e.createVNode(_,{model:f.value.show,name:"basic","label-col":{span:6},"wrapper-col":{span:18},autocomplete:"off"},{default:e.withCtx(()=>[e.createVNode(x,{label:"显示顺序"},{default:e.withCtx(()=>[e.createVNode(y,{value:f.value.show.index,"onUpdate:value":v[3]||(v[3]=F=>f.value.show.index=F)},null,8,["value"])]),_:1}),["isQuery"].includes(f.value.prop)?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(x,{key:0,label:"显示宽度"},{default:e.withCtx(()=>[e.createVNode(E,{value:f.value.show.width,"onUpdate:value":v[4]||(v[4]=F=>f.value.show.width=F)},null,8,["value"])]),_:1})),["isForm","isView"].includes(f.value.prop)?(e.openBlock(),e.createBlock(x,{key:1,label:"标题宽度"},{default:e.withCtx(()=>[e.createVNode(E,{value:f.value.show.labelWidth,"onUpdate:value":v[5]||(v[5]=F=>f.value.show.labelWidth=F)},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),["isForm","isView"].includes(f.value.prop)?(e.openBlock(),e.createBlock(x,{key:2,label:"控件宽度"},{default:e.withCtx(()=>[e.createVNode(E,{value:f.value.show.valueWidth,"onUpdate:value":v[6]||(v[6]=F=>f.value.show.valueWidth=F)},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),["isList"].includes(f.value.prop)?(e.openBlock(),e.createBlock(x,{key:3,label:"固定位置"},{default:e.withCtx(()=>[e.createVNode(k,{value:f.value.show.fixed,"onUpdate:value":v[7]||(v[7]=F=>f.value.show.fixed=F),options:[{value:"",label:"无"},{value:"left",label:"靠左"},{value:"right",label:"靠右"}]},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),["isList"].includes(f.value.prop)?(e.openBlock(),e.createBlock(x,{key:4,label:"对齐方式"},{default:e.withCtx(()=>[e.createVNode(k,{value:f.value.show.align,"onUpdate:value":v[8]||(v[8]=F=>f.value.show.align=F),options:[{value:"left",label:"左对齐"},{value:"center",label:"居中"},{value:"right",label:"右对齐"}]},null,8,["value"])]),_:1})):e.createCommentVNode("",!0)]),_:1},8,["model"])]),_:1},8,["visible","title","onOk"]),e.createVNode(C,{visible:b.value.visible,"onUpdate:visible":v[11]||(v[11]=F=>b.value.visible=F),title:b.value.convert.type=="dict"?"字典设置":"选项设置",onOk:b.value.toSetting},{default:e.withCtx(()=>[b.value.convert.type!="dict"?(e.openBlock(),e.createElementBlock("div",Uv,[e.createVNode(w,{class:"editable-add-btn",style:{"margin-bottom":"8px"},onClick:b.value.toAddOption},{default:e.withCtx(()=>v[25]||(v[25]=[e.createTextVNode("新增")])),_:1},8,["onClick"]),e.createVNode(S,{columns:b.value.optionColumn,"data-source":b.value.convert.options,size:"small"},{bodyCell:e.withCtx(({column:F,record:j,index:U})=>[F.dataIndex==="label"?(e.openBlock(),e.createBlock(E,{key:0,value:j.label,"onUpdate:value":M=>j.label=M,style:{margin:"-5px 0"}},null,8,["value","onUpdate:value"])):e.createCommentVNode("",!0),F.dataIndex==="value"?(e.openBlock(),e.createBlock(E,{key:1,value:j.value,"onUpdate:value":M=>j.value=M,style:{margin:"-5px 0"}},null,8,["value","onUpdate:value"])):e.createCommentVNode("",!0),F.dataIndex==="action"?(e.openBlock(),e.createElementBlock("a",{key:2,onClick:M=>b.value.toDelOption(U,j)},"删除",8,Lv)):e.createCommentVNode("",!0)]),_:1},8,["columns","data-source"])])):e.createCommentVNode("",!0),b.value.convert.type=="dict"?(e.openBlock(),e.createBlock(_,{key:1,model:b.value.convert,name:"basic","label-col":{span:8},"wrapper-col":{span:16},autocomplete:"off"},{default:e.withCtx(()=>[e.createVNode(T,{type:"flex",style:{width:"100%"}},{default:e.withCtx(()=>[e.createVNode(O,{span:24,order:1},{default:e.withCtx(()=>[e.createVNode(x,{label:"字典名称:"},{default:e.withCtx(()=>[e.createVNode(E,{value:b.value.convert.dict,"onUpdate:value":v[10]||(v[10]=F=>b.value.convert.dict=F)},null,8,["value"])]),_:1})]),_:1})]),_:1})]),_:1},8,["model"])):e.createCommentVNode("",!0)]),_:1},8,["visible","title","onOk"]),e.createVNode(C,{visible:A.value.visible,"onUpdate:visible":v[13]||(v[13]=F=>A.value.visible=F),title:"控件设置",onOk:A.value.toSetting},{default:e.withCtx(()=>[e.createVNode(_,{model:A.value.props,name:"basic","label-col":{span:6},"wrapper-col":{span:18},autocomplete:"off"},{default:e.withCtx(()=>[A.value.field.widget=="a-select"?(e.openBlock(),e.createBlock(x,{key:0,label:"下拉框类型"},{default:e.withCtx(()=>[e.createVNode(k,{value:A.value.props.mode,"onUpdate:value":v[12]||(v[12]=F=>A.value.props.mode=F),allowClear:!0},{default:e.withCtx(()=>[e.createVNode(V,{value:"multiple"},{default:e.withCtx(()=>v[26]||(v[26]=[e.createTextVNode("多选")])),_:1}),e.createVNode(V,{value:"tags"},{default:e.withCtx(()=>v[27]||(v[27]=[e.createTextVNode("标签")])),_:1})]),_:1},8,["value"])]),_:1})):e.createCommentVNode("",!0)]),_:1},8,["model"])]),_:1},8,["visible","onOk"]),e.createVNode(C,{visible:m.value.visible,"onUpdate:visible":v[21]||(v[21]=F=>m.value.visible=F),title:"规则设置",onOk:m.value.toSetting},{default:e.withCtx(()=>[e.createVNode(_,{model:m.value.props,name:"basic","label-col":{span:6},"wrapper-col":{span:18},autocomplete:"off",class:"form-mix"},{default:e.withCtx(()=>[e.createVNode($,{orientation:"left"},{default:e.withCtx(()=>v[28]||(v[28]=[e.createTextVNode("基本设置")])),_:1}),e.createVNode(x,{label:"触发时机"},{default:e.withCtx(()=>[e.createVNode(I,{value:m.value.props.trigger,"onUpdate:value":v[14]||(v[14]=F=>m.value.props.trigger=F),options:["change","blur"]},null,8,["value"])]),_:1}),m.value.field.isNull?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(x,{key:0,label:"忽略空格",class:"checkbox-tips"},{default:e.withCtx(()=>[e.createVNode(B,{value:m.value.props.whitespace,"onUpdate:value":v[15]||(v[15]=F=>m.value.props.whitespace=F),checked:m.value.props.whitespace},{default:e.withCtx(()=>v[29]||(v[29]=[e.createTextVNode(" 必填验证开启时,是否忽略空格 ")])),_:1},8,["value","checked"])]),_:1})),e.createVNode($,{orientation:"left"},{default:e.withCtx(()=>v[30]||(v[30]=[e.createTextVNode("数值区间")])),_:1}),e.createVNode(x,{label:"有效区间"},{default:e.withCtx(()=>[e.createVNode(y,{value:m.value.props.rangeMin,"onUpdate:value":v[16]||(v[16]=F=>m.value.props.rangeMin=F)},null,8,["value"]),v[31]||(v[31]=e.createElementVNode("span",{style:{margin:"auto 5px"}},null,-1)),e.createVNode(y,{value:m.value.props.rangeMax,"onUpdate:value":v[17]||(v[17]=F=>m.value.props.rangeMax=F)},null,8,["value"])]),_:1}),e.createVNode(x,{label:"错误提示"},{default:e.withCtx(()=>[e.createVNode(E,{value:m.value.props.rangeMessage,"onUpdate:value":v[18]||(v[18]=F=>m.value.props.rangeMessage=F)},null,8,["value"])]),_:1}),e.createVNode($,{orientation:"left"},{default:e.withCtx(()=>v[32]||(v[32]=[e.createTextVNode("正则验证")])),_:1}),e.createVNode(x,{label:"表达式"},{default:e.withCtx(()=>[e.createVNode(E,{value:m.value.props.regExpress,"onUpdate:value":v[19]||(v[19]=F=>m.value.props.regExpress=F)},null,8,["value"])]),_:1}),e.createVNode(x,{label:"错误提示"},{default:e.withCtx(()=>[e.createVNode(E,{value:m.value.props.regMessage,"onUpdate:value":v[20]||(v[20]=F=>m.value.props.regMessage=F)},null,8,["value"])]),_:1})]),_:1},8,["model"])]),_:1},8,["visible","onOk"])])}}}),[["__scopeId","data-v-61a576fb"]]),Pv={class:"unione-props-setting data-field"},qv=Z(e.defineComponent({__name:"dataField",props:e.mergeModels({filter:{type:Array,default(){return[]}}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const n=e.useModel(t,"modelValue");return(l,o)=>{const a=e.resolveComponent("OrderedListOutlined"),i=e.resolveComponent("a-tab-pane"),d=e.resolveComponent("ToolOutlined"),r=e.resolveComponent("a-tabs");return e.openBlock(),e.createElementBlock("div",Pv,[e.createVNode(r,null,{default:e.withCtx(()=>[e.createVNode(i,{key:"field-mange"},{tab:e.withCtx(()=>[e.createVNode(a),o[2]||(o[2]=e.createTextVNode("字段管理 "))]),default:e.withCtx(()=>[e.createVNode(_v,{modelValue:n.value,"onUpdate:modelValue":o[0]||(o[0]=s=>n.value=s)},null,8,["modelValue"])]),_:1}),e.createVNode(i,{key:"field-setting"},{tab:e.withCtx(()=>[e.createVNode(d),o[3]||(o[3]=e.createTextVNode("字段设置 "))]),default:e.withCtx(()=>[e.createVNode(jv,{modelValue:n.value,"onUpdate:modelValue":o[1]||(o[1]=s=>n.value=s)},null,8,["modelValue"])]),_:1})]),_:1})])}}}),[["__scopeId","data-v-94fbac74"]]),zv={key:0,class:"data-model-list"},Qv=["onClick"],Hv=Z(e.defineComponent({__name:"dataDefine",props:{limit:{type:Number,default:100},engine:{type:Object,required:!0}},setup(t,{expose:n}){const l=e.computed(()=>a.engine.dataModels()),o=e.ref({sn:"new_",title:"新建数据",configs:{fields:[]}});e.onMounted(()=>{l.value&&l.value[0]&&(o.value=l.value[0])});const a=t;function i(g){o.value=g}function d(){if(l.value.length>=a.limit){te.Modal.warn({title:"提示信息",content:"数据模型数量超出限制!"});return}const g=rd.v4(),m={sn:g,title:"新建数据",name:"new_",configs:{fields:[]}};o.value=m,console.log("data model added",m),a.engine.dataModel(g,m)}const r={title:[{required:!0,message:"数据标题不能为空",trigger:"change"}],name:[{required:!0,message:"数据名称不能为空",trigger:"change"}],url:[{required:!0,message:"数据URl不能为空",trigger:"change"}]},s=e.ref(),f=e.inject("closeSetting");function c(){s.value.validate().then(g=>{f&&f()})}return n({toSaving:c}),(g,m)=>{const p=e.resolveComponent("a-input"),A=e.resolveComponent("a-form-item"),b=e.resolveComponent("a-textarea"),h=e.resolveComponent("a-form");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["unione-props-setting","data-define",a.limit<=1&&"center"])},[a.limit>1?(e.openBlock(),e.createElementBlock("div",zv,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,u=>(e.openBlock(),e.createElementBlock("div",{key:u.sn,class:e.normalizeClass(["title",o.value&&o.value.sn==u.sn&&"slt"]),onClick:v=>i(u)},e.toDisplayString(u.title),11,Qv))),128)),e.createElementVNode("div",{class:"title btn-add",onClick:d},"+")])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["data-model-form",a.limit<=1&&"center"])},[e.createVNode(h,{ref_key:"formObj",ref:s,rules:r,model:o.value,"label-col":{span:4},"wrapper-col":{span:20}},{default:e.withCtx(()=>[e.createVNode(A,{label:"数据标题",name:"title",required:""},{default:e.withCtx(()=>[e.createVNode(p,{value:o.value.title,"onUpdate:value":m[0]||(m[0]=u=>o.value.title=u)},null,8,["value"])]),_:1}),e.createVNode(A,{label:"数据名称",name:"name",required:""},{default:e.withCtx(()=>[e.createVNode(p,{value:o.value.name,"onUpdate:value":m[1]||(m[1]=u=>o.value.name=u)},null,8,["value"])]),_:1}),e.createVNode(A,{label:"数据URL",name:"url",required:"",tooltip:"数据请求url,统一使用post请求,保存接口:url/save,修改接口:url/update,查询接口:url/find,删除接口:url/delete,详情接口:url/detail"},{default:e.withCtx(()=>[e.createVNode(p,{value:o.value.url,"onUpdate:value":m[2]||(m[2]=u=>o.value.url=u)},null,8,["value"])]),_:1}),e.createVNode(A,{label:"数据说明",name:"descs"},{default:e.withCtx(()=>[e.createVNode(b,{value:o.value.descs,"onUpdate:value":m[3]||(m[3]=u=>o.value.descs=u)},null,8,["value"])]),_:1})]),_:1},8,["model"]),o.value.configs?(e.openBlock(),e.createBlock(qv,{key:0,modelValue:o.value.configs.fields,"onUpdate:modelValue":m[4]||(m[4]=u=>o.value.configs.fields=u)},null,8,["modelValue"])):e.createCommentVNode("",!0)],2)],2)}}}),[["__scopeId","data-v-f9794f01"]]),Yv={class:"unione-props-setting unione-page-setting"},An=Z(e.defineComponent({__name:"pageSetting",props:{engine:{type:Object,required:!0}},setup(t){const n=t,l=e.ref({});return e.onMounted(()=>{l.value=n.engine.define.value}),(o,a)=>{const i=e.resolveComponent("a-form-item"),d=e.resolveComponent("a-input"),r=e.resolveComponent("a-switch"),s=e.resolveComponent("a-textarea"),f=e.resolveComponent("a-form"),c=e.resolveComponent("a-tab-pane"),g=e.resolveComponent("a-tabs");return e.openBlock(),e.createElementBlock("div",Yv,[e.createVNode(g,{type:"card"},{default:e.withCtx(()=>[e.createVNode(c,{key:"pageDefine",tab:"页面设置"},{default:e.withCtx(()=>[e.createVNode(f,{model:l.value,name:"basic","label-col":{span:5},"wrapper-col":{span:16},autocomplete:"off",class:"form-mix"},{default:e.withCtx(()=>[l.value.sn&&l.value.sn!="new_"?(e.openBlock(),e.createBlock(i,{key:0,label:"页面编码"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.value.sn)+"/V"+e.toDisplayString(l.value.vers),1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(i,{label:"页面标题",required:""},{default:e.withCtx(()=>[e.createVNode(d,{value:l.value.title,"onUpdate:value":a[0]||(a[0]=m=>l.value.title=m)},null,8,["value"])]),_:1}),e.createVNode(i,{label:"页面组件",required:""},{default:e.withCtx(()=>[e.createVNode(d,{value:l.value.component,"onUpdate:value":a[1]||(a[1]=m=>l.value.component=m)},null,8,["value"])]),_:1}),e.createVNode(i,{label:"icon图标"},{default:e.withCtx(()=>[e.createVNode(d,{value:l.value.icon,"onUpdate:value":a[2]||(a[2]=m=>l.value.icon=m)},null,8,["value"])]),_:1}),e.createVNode(i,{label:"是否全局"},{default:e.withCtx(()=>[e.createVNode(r,{checked:l.value.isGlobal,"onUpdate:checked":a[3]||(a[3]=m=>l.value.isGlobal=m),checkedValue:1,checkedChildren:"是",unCheckedChildren:"否",unCheckedValue:0},null,8,["checked"])]),_:1}),e.createVNode(i,{label:"是否模版"},{default:e.withCtx(()=>[e.createVNode(r,{checked:l.value.isTmpl,"onUpdate:checked":a[4]||(a[4]=m=>l.value.isTmpl=m),checkedValue:1,checkedChildren:"是",unCheckedChildren:"否",unCheckedValue:0},null,8,["checked"])]),_:1}),e.createVNode(i,{label:"页面备注"},{default:e.withCtx(()=>[e.createVNode(s,{value:l.value.descs,"onUpdate:value":a[5]||(a[5]=m=>l.value.descs=m),placeholder:"请输入页面备注...",rows:4},null,8,["value"])]),_:1})]),_:1},8,["model"])]),_:1}),e.createVNode(c,{key:"dataDefine",tab:"数据设置"},{default:e.withCtx(()=>[e.createVNode(Hv,{engine:t.engine},null,8,["engine"])]),_:1})]),_:1})])}}}),[["__scopeId","data-v-3e30f978"]]),vs=Z(e.defineComponent({__name:"editor",props:{psn:{type:String,required:!1},params:{type:Object,default(){return{}}},pageDefine:{type:Object,required:!1}},setup(t){console.log("unione page view setup .....");const n=t,l={sn:"new_",title:"新建页面",types:"setting",vers:1,configs:{widgetList:[],dataModels:[]},component:"unione-page-view"},o=new Ve,a=e.computed(()=>o.$widgetList.value||[]);e.watch(()=>n.pageDefine,d=>{d&&o.load(i.value,d)});const i=e.ref("new_");return e.onMounted(()=>{const d=e.inject("route");console.log("unione page view route",d),i.value=n.psn||d?.query?.psn||d?.meta?.psn||"new_",console.log("unione page view,psn:"+i.value),o.setModel("run");const r=n.pageDefine||l;r.types=d?.query?.ptypes||d?.meta?.ptypes||"setting",o.load(i.value,r)}),(d,r)=>(e.openBlock(),e.createBlock(Cn,{class:"unione-page-view","setting-title":"页面设置",engine:e.unref(o)},e.createSlots({default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,s=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(s.render||s.widget),{key:s.wid,wid:s.wid,widget:s,engine:e.unref(o)},null,8,["wid","widget","engine"]))),128))]),_:2},[e.unref(o)?{name:"page-setting",fn:e.withCtx(()=>[e.createVNode(An,{engine:e.unref(o)},null,8,["engine"])]),key:"0"}:void 0]),1032,["engine"]))}}),[["__scopeId","data-v-bab30435"]]),ks=e.defineComponent({__name:"list",props:e.mergeModels({psn:{type:String,required:!1},params:{type:Object,default(){return{}}},auto:{type:Boolean,default:!0},storage:{type:Object,required:!0},fields:{type:Array,required:!0},queryBtns:{type:Array,required:!1},operation:{type:Object,required:!1},selection:{type:Object,required:!1},leftBtns:{type:Object,required:!1},rightBtns:{type:Object,required:!1}},{define:{type:Object,default(){return{sn:"new_",title:"新建页面",types:"code",vers:1,configs:{widgets:[{widget:"unione-query",dsn:"",primary:!0,fields:[]},{widget:"unione-table",dsn:"",columns:[]}],dsnList:[]},component:"unione-page-list"}}},defineModifiers:{}}),emits:e.mergeModels(["btnClick"],["update:define"]),setup(t,{expose:n,emit:l}){const o=t,a=e.ref(null),i=e.useModel(t,"define");e.watch(()=>i.value.configs,(v,N)=>{v!=N&&r.load(g.value,i.value)},{deep:!0});function d(){if(i.value.configs.widgets[0].props||(i.value.configs.widgets[0].props={}),i.value.configs.widgets[0].props.auto=o.auto,o.fields?.length){i.value.configs.widgets[0].dsn="primary",i.value.configs.widgets[0].fields=o.fields.filter(N=>N.isQuery),i.value.configs.widgets[0].btns=o.queryBtns||[],i.value.configs.widgets[0].params=o.params||{},i.value.configs.dsnList=["primary"],i.value.configs.widgets[1].dsn="primary";const v=o.fields.filter(N=>N.isPk)[0];v&&v.name&&(i.value.configs.widgets[1].dataKey=v.name),i.value.configs.widgets[1].columns=o.fields.filter(N=>N.hidden!=!0),i.value.configs.widgets[1].operation=o.operation,o.selection==!1?i.value.configs.widgets[1].selection=!1:o.selection&&(i.value.configs.widgets[1].selection=o.selection),i.value.configs.widgets[1].leftBtns=o.leftBtns==!1?!1:o.leftBtns||[],i.value.configs.widgets[1].rightBtns=o.rightBtns==!1?!1:o.rightBtns||[],r.dataManager().use("primary","list").store(o.storage)}}const r=new Ve,s=e.computed(()=>r.$widgetList.value||[]),f=l;function c(v){f("btnClick",v)}const g=e.ref("new_");e.onMounted(()=>{const v=e.inject("route");console.log("unione page view route",v),g.value=o.psn||v?.query?.psn||v?.meta?.psn||"new_",console.log("unione page view,psn:"+g.value),r.setModel(v?.query?.model||v?.meta?.model||"run");const N={...o.params||{},...v?.query||{},...v?.params||{}};r.dataManager().params(N),d(),r.load(g.value,i.value)});function m(){return r.dataManager().use("primary","list")}function p(v){v?r.ebus.$emit("table-list-search",v):r.ebus.$emit("table-list-reload")}function A(v){r.dataManager().params(v),r.ebus.$emit("query-form-params",v),r.ebus.$emit("table-list-search",{params:v})}function b(){return a.value?a.value[0]:null}function h(){return a.value?a.value[0].getSelected():null}function u(){a.value&&a.value[0].clearSelected()}return n({storage:m,engine:r,reload:p,setParams:A,getTable:b,getSelected:h,clearSelected:u}),(v,N)=>(e.openBlock(),e.createBlock(Cn,{class:"unione-page-table","setting-title":"页面设置",engine:e.unref(r)},e.createSlots({default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,w=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:w.wid},[w.widget=="unione-table"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(w.widget),{key:0,wid:w.wid,widget:w,engine:e.unref(r),onBtnClick:c,ref_for:!0,ref_key:"table",ref:a},null,40,["wid","widget","engine"])):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(w.widget),{key:1,wid:w.wid,widget:w,engine:e.unref(r),onBtnClick:c},null,40,["wid","widget","engine"]))],64))),128))]),_:2},[e.unref(r)?{name:"page-setting",fn:e.withCtx(()=>[e.createVNode(An,{engine:e.unref(r)},null,8,["engine"])]),key:"0"}:void 0]),1032,["engine"]))}}),Wv={key:1,class:"form-btns"},Kv={class:"form-btns"},ws=Z(e.defineComponent({__name:"form",props:{psn:{type:String,required:!1},model:{type:String},params:{type:Object,default(){return{}}},pageDefine:{type:Object,required:!1},storage:{type:Object,required:!1},fields:{type:Array,required:!1},btns:{type:Object,required:!1},event:{type:Object,required:!1},setting:{type:Object,required:!1},actype:{type:String,default:"route"},teleport:{type:String}},emits:["submit","save","reset","back","btnClick","reload-table-list"],setup(t,{expose:n,emit:l}){const o=e.inject("router"),a=P.useDialog(),i=t,d=l,r={sn:"new_",title:"新建页面",types:"code",vers:1,configs:{widgets:[],dsnList:[]},component:"unione-page-form"};function s(){if(i.fields?.length){const y={widget:"unione-form",dsn:"primary",primary:!0,widgets:i.fields,setting:i.setting||{}};r.configs.widgets=[y]}i.storage&&(r.configs.dsnList=["primary"],f.dataManager().use("primary","form").store(i.storage)),r.configs.btns=i.btns||[],i.btns==!1&&(r.configs.btns=!1),r.configs.event=i.event||{}}const f=new Ve,c=e.computed(()=>f.$widgetList.value||[]),g=e.ref({});function m(){g.value={};const y=f.define?.configs?.event||{};Object.keys(y).forEach(x=>{const E=y[x];E&&(typeof E=="function"?g.value[x]=E:E.enable&&E.scriptText&&(g.value[x]=new Function("formValue",E.scriptText)))})}function p(y){g.value.onLoad&&g.value.onLoad(y)}const A=e.ref({}),b=e.computed(()=>{const y=f.define?.configs?.btns||[],x=y.map(E=>E.name);if(!x.includes("save")){const E={title:"保存",type:"primary",index:0,visible:!0,size:"default",name:"save"};y.splice(E.index,0,E)}if(!x.includes("submit")){const E={title:"提交",type:"primary",index:1,visible:!1,size:"default",name:"submit"};let _=E.index||1;y.splice(_,0,E)}if(!x.includes("reset")){const E={title:"重置",type:"default",index:2,visible:!0,size:"default",props:{danger:!0},name:"reset"};y.splice(E.index,0,E)}if(!x.includes("back")){const E={title:"返回",type:"default",index:3,visible:!0,size:"default",name:"back"};y.splice(E.index,0,E)}return f.model.value=="view"&&y.filter(E=>["save","submit","reset"].includes(E.name)).forEach(E=>{E.visible=!1}),(i.actype!="route"||B.query.actype&&B.query.actype!="route")&&y.filter(E=>["back"].includes(E.name)).forEach(E=>{E.visible=!1}),y});async function h({btn:y,event:x}){if(y.name=="save"){const _=await N();_.success&&_.body&&(A.value.id=_.body),d("save",{btn:y,event:x,formData:A.value}),d("btnClick",{btn:y,event:x,formData:A.value});return}if(y.name=="reset"){w(),d("reset",{btn:y,event:x}),d("btnClick",{btn:y,event:x});return}if(y.name=="back"){k(),d("back",{btn:y,event:x}),d("btnClick",{btn:y,event:x});return}if(y.name=="submit"){a.confirm({content:"提交当前表单吗?",onOk:async()=>{const _=await N();_.success&&_.body&&(A.value.id=_.body),d("submit",{btn:y,event:x,formData:A.value}),d("btnClick",{btn:y,event:x,formData:A.value})}});return}const E=await u();d("btnClick",{btn:y,event:x,formData:E})}async function u(){const y=f.dataManager().primary().data(),x=f.dataManager().form();A.value={...y};for(let E in x){const _=f.dataManager().data(E).data();f.dataManager().psn()!=E&&(A.value[E]={..._})}return A.value}async function v(y=!0){const x=f.dataManager().form();let E={};for(let _ in x){const C=y?await x[_].validate():x[_].getValue();f.dataManager().psn()==_?E={...E.value,...C}:E[_]=C}if(!(g.value.beforeSubmit&&g.value.beforeSubmit(E)==!1))return{data:E,id:f.dataManager().$pid}}async function N(){const y=f.dataManager().form();A.value={};for(let E in y){const _=await y[E].validate();f.dataManager().psn()==E?A.value={...A.value,..._}:A.value[E]=_}if(g.value.beforeSubmit&&g.value.beforeSubmit(A.value)==!1)return;const x=await f.dataManager().primary().save({data:A.value,params:f.dataManager().params});if(x.success)return g.value.afterSubmit&&g.value.afterSubmit(x),d("reload-table-list"),x}function w(y){f.dataManager().primary().reset(y)}function k(){o.back()}e.watch(()=>i.pageDefine,y=>{y&&f.load(S.value,y)});const B=e.inject("route"),S=e.ref("new_");return e.onMounted(()=>{console.log("unione page form route",B),S.value=i.psn||B?.query?.psn||B?.meta?.psn||"new_",console.log("unione page form,psn:"+S.value),f.setModel(i.model||B?.query?.model||B?.meta?.model||"run");const y={...i.params||{},...B?.query||{},...B?.params||{}};f.dataManager().params(y),s(),f.load(S.value,i.pageDefine||r).then(()=>{m()})}),n({save:N,toReset:w,toBack:k,getData:v}),(y,x)=>{const E=e.resolveComponent("unione-form"),_=e.resolveComponent("unione-btn");return e.openBlock(),e.createBlock(Cn,{class:"unione-page-form","setting-title":"页面设置",engine:e.unref(f)},e.createSlots({default:e.withCtx(()=>[c.value?.length?(e.openBlock(),e.createBlock(E,{key:0,engine:e.unref(f),wid:c.value[0].wid,onOnload:p},null,8,["engine","wid"])):e.createCommentVNode("",!0),!t.teleport&&c.value?.length&&i.btns!=!1?(e.openBlock(),e.createElementBlock("div",Wv,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value,C=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:C.name},[C.visible!=!1?(e.openBlock(),e.createBlock(_,{key:0,widget:C,engine:e.unref(f),ctx:{formData:A.value},onClick:h},null,8,["widget","engine","ctx"])):e.createCommentVNode("",!0)],64))),128))])):c.value?.length&&i.btns!=!1?(e.openBlock(),e.createBlock(e.Teleport,{key:2,to:t.teleport,defer:""},[e.createElementVNode("div",Kv,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value,C=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:C.name},[C.visible!=!1?(e.openBlock(),e.createBlock(_,{key:0,widget:C,engine:e.unref(f),ctx:{formData:A.value},onClick:h},null,8,["widget","engine","ctx"])):e.createCommentVNode("",!0)],64))),128))])],8,["to"])):e.createCommentVNode("",!0)]),_:2},[e.unref(f)?{name:"page-setting",fn:e.withCtx(()=>[e.createVNode(An,{engine:e.unref(f)},null,8,["engine"])]),key:"0"}:void 0]),1032,["engine"])}}}),[["__scopeId","data-v-b3c0a209"]]),Gv=["onMouseover"],Jv={key:0,class:"node-opts"},Xv={key:2,class:"tree-empty"},Zv={class:"form-warp"},ek={class:"form-btns"},Cs=Z(e.defineComponent({__name:"tree",props:{psn:{type:String,required:!1},params:{type:Object,default(){return{}}},storage:{type:Object,required:!0},fields:{type:Array,required:!1},setting:{type:Object,default(){return{}}},opts:{type:Object,required:!1},btns:{type:Object,required:!1},event:{type:Object,required:!1}},emits:["btnClick","treeClick","select"],setup(t,{expose:n,emit:l}){const o=P.useDialog(),a=e.inject("router"),i=t,d={sn:"new_",title:"新建页面",types:"code",vers:1,configs:{widgets:[],dsnList:[]},component:"unione-page-tree"};function r(){if(i.fields?.length){const z={widget:"unione-form",dsn:"primary",primary:!0,widgets:i.fields};d.configs.widgets=[z]}d.configs.dsnList=["primary"],i.storage&&s.dataManager().use("primary","form").store(i.storage),d.configs.btns=i.btns||[],i.btns==!1&&(d.configs.btns=!1),d.configs.opts=i.opts||[],i.opts==!1&&(d.configs.opts=!1),d.configs.event=i.event||{},d.configs.setting=i.setting||{}}const s=new Ve,f=e.ref(!1),c=e.ref([]),g=e.ref({}),m=e.ref(null),p=e.ref(null),A=e.ref([]),b=e.ref([]),h=e.ref(0),u=e.computed(()=>{const z={searchEnable:!0,disabled:!1,draggable:!1,multiple:!1,selectable:!0,autoselect:!1,checkable:!1,showLine:!0,showIcon:!0,idField:"id",pidField:"pid",labelField:"title",leafField:"isLeaf",iconField:"iconName",badgeDot:"badgeDot",badgeCount:"badgeCount",...i.setting?.tree||{}};return s.define?.configs?.tree||z}),v=e.computed(()=>u.value.searchEnable),N=e.computed(()=>{const z=s.define?.configs?.opts;if(typeof z=="boolean"&&z==!1)return!1;const H=(z||[]).map(X=>typeof X=="string"?{name:X,visible:!1}:X),Y=[];return H.forEach(X=>{Y.push(X.name)}),console.log("opts addBtn",H),H.filter(X=>X.name=="add")[0]||{visible:!0,name:"add",icon:"PlusOutlined",title:"新建",props:{block:!0,type:"dashed"}}}),w=e.computed(()=>{const z=s.define?.configs?.opts;if(typeof z=="boolean"&&z==!1)return[];const H=(z||[]).map(ne=>typeof ne=="string"?{name:ne,visible:!1}:ne),Y=[],X=[];return H.forEach(ne=>{X.push(ne.name),ne.name!="add"&&Y.push(ne)}),X.includes("delete")||Y.splice(1,0,{visible:!0,name:"delete",icon:"DeleteOutlined",tooltip:"删除",props:{type:"text"}}),X.includes("child")||Y.splice(2,0,{visible:!0,name:"child",icon:"PlusOutlined",tooltip:"创建下级",props:{type:"text"}}),console.log("opts menuBtn",Y),Y});function k(z,H){const{btn:Y,event:X}=z;X.stopPropagation();const ne=g.value[H[u.value.idField]];if(console.log("onTreeMenuClick,btn:",Y),console.log("onTreeMenuClick,node:",H),console.log("onTreeMenuClick,curentNode:",ne),Y.name=="child"){if(/^new_.*/.test(ne[u.value.idField])||$.value.preCreate&&$.value.preCreate(ne)==!1)return;const pe=g.value[ne[u.value.idField]];pe.isLeaf=!1,m.value={},m.value[u.value.pidField]=pe[u.value.idField],m.value[u.value.labelField]="新建...",m.value[u.value.idField]="new_"+h.value,m.value.parentNode=pe,h.value=h.value+1,pe.children||(pe.children=[],b.value.push(pe[u.value.idField])),$.value.createNode&&$.value.createNode(m.value,pe,s.dataManager().params()),g.value[m.value[u.value.idField]]=m.value,pe.children.push(m.value),A.value=[m.value[u.value.idField]],s.dataManager().primary().setValue(m.value)}Y.name=="delete"&&ee(ne),j("btnClick",{...z,node:ne})}function B(z,{expanded:H,node:Y}){H&&(m.value=Y.dataRef,s.dataManager().primary().setValue(m.value),T())}function S(z,H){H.selected?(m.value=H.node.dataRef,s.dataManager().primary().setValue(m.value)):m.value&&(A.value=[m.value[u.value.idField]]),j("treeClick",{keys:z,event:H}),j("select",{keys:z,event:H})}const y=e.computed(()=>{if(i.storage?.orderBy){const z=i.storage.orderBy.split(" ");return[{name:z[0],asc:z[1].toLowerCase()=="asc"}]}return[]});e.watch(()=>i.params,()=>{f.value&&(c.value=[],g.value={},m.value=null,A.value=[],b.value=[],h.value=0,s.dataManager().params(i.params||{}),console.log("params changed props.params",i.params),T())}),e.watch(()=>m.value,()=>{console.log("active node changed",m.value),E(!m.value)});const x=e.ref(null);e.watch(x,()=>{x.value&&m.value&&s.dataManager().primary().setValue(m.value)});function E(z=!0){const H=s.dataManager().form();for(let Y in H)H[Y].setDisabled(z)}function _(){if(!($.value.preCreate&&$.value.preCreate()==!1)){if(m.value={},m.value[u.value.pidField]=-1,m.value[u.value.labelField]="新建...",m.value[u.value.idField]="new_"+h.value,h.value=h.value+1,$.value.createNode&&$.value.createNode(m.value,null,s.dataManager().params()),m.value[u.value.pidField]==-1)c.value.push(m.value);else{const z=g.value[m.value[u.value.pidField]];z?(z.children||(z.children=[]),z.children.push(m.value)):c.value.push(m.value)}A.value=[m.value[u.value.idField]],g.value[m.value[u.value.idField]]=m.value,s.dataManager().primary().setValue(m.value)}}const C=e.ref(""),O=be(z=>{s.dataManager().primary().find({page:1,pageSize:9999,keywords:z||C.value,needCount:!1,body:u.value.async==!1?null:{},sorts:y.value}).then(H=>{if(g.value={},c.value=[],H.body?.length){const Y={};H.body.forEach(X=>{Y[X[u.value.idField]]=X}),H.body.forEach(X=>{const ne=Y[X[u.value.pidField]];ne?(ne.children||(ne.children=[],ne.isLeaf=!1),ne.children.push(X)):c.value.push(X)})}})},400);function T(){return new Promise((z,H)=>{const Y={};if(Y[u.value.pidField]=i.params[u.value.pidField]||-1,m.value){if(m.value.children?.length||u.value.async==!1){z(m.value.children);return}Y[u.value.pidField]=m.value[u.value.idField],s.dataManager().primary().find({page:1,pageSize:999,body:Y,sorts:y.value}).then(X=>{m.value.children=X.body||[],m.value.children.forEach(ne=>{ne.isLeaf=!!ne[u.value.leafField],g.value[ne[u.value.idField]]=ne,ne.parentNode=g.value[ne[u.value.pidField]]}),z(X.body)})}else{const X=u.value.async==!1?null:{page:1,pageSize:999,body:Y,sorts:y.value};s.dataManager().primary().find(X).then(ne=>{if(u.value.async==!1){if(c.value=[],ne.body?.length){const pe={};ne.body.forEach(nt=>{pe[nt[u.value.idField]]=nt}),ne.body.forEach(nt=>{const _t=pe[nt[u.value.pidField]];_t?(_t.children||(_t.children=[],_t.isLeaf=!1),_t.children.push(nt)):c.value.push(nt)})}z(ne.body)}else c.value=ne.body||[],c.value.forEach(pe=>{pe.isLeaf=!!pe[u.value.leafField],g.value[pe[u.value.idField]]=pe}),z(ne.body)})}})}const V=e.computed(()=>s.$widgetList.value||[]),$=e.computed(()=>{const z={...s.define?.configs?.event||{}};for(const H in z)z[H]&&typeof z[H]!="function"&&z[H].enable&&z[H].scriptText&&(H=="createNode"&&(z[H]=new Function("node","parent","params",z[H].scriptText)),H=="preCreate"?z[H]=new Function("parent",z[H].scriptText):z[H]=new Function("data","event",z[H].scriptText));return z}),I=e.computed(()=>s.define?.configs?.setting||i.setting||{});e.provide("pageSetting",I.value);const F=e.computed(()=>{const z=s.define?.configs?.btns||i.btns;if(typeof z=="boolean"&&z==!1)return[];const H=(s.define?.configs?.btns||i.btns||[]).map(X=>typeof X=="string"?{name:X,visible:!1}:{size:"default",...X}),Y=H.map(X=>X.name);if(!Y.includes("save")){const X={title:"保存",type:"primary",index:0,visible:!0,size:"default",name:"save"};H.splice(X.index,0,X)}if(!Y.includes("reset")){const X={title:"重置",type:"default",index:1,visible:!0,size:"default",props:{danger:!0},name:"reset"};H.splice(X.index,0,X)}if(!Y.includes("back")){const X={title:"返回",type:"default",index:H.length,visible:!0,size:"default",name:"back"};H.splice(X.index,0,X)}return s.model.value=="view"&&H.filter(X=>["save","submit","reset"].includes(X.name)).forEach(X=>{X.visible=!1}),H}),j=l;function U(z){const{btn:H,event:Y}=z;H.name=="save"&&M({btn:H,event:Y}),H.name=="reset",H.name=="back"&&D(),j("btnClick",z)}async function M(z){const H=s.dataManager().form();let Y={...m.value};for(let X in H){const ne=await H[X].validate();if(s.dataManager().psn()==X)for(let pe in ne)Y[pe]=ne[pe];else Y[X]=ne}if(Y[u.value.pidField]&&(Y[u.value.pidField]+"").startsWith("new_")){o.error({content:"请先保存父节点!"});return}Y[u.value.idField]&&(Y[u.value.idField]+"").startsWith("new_")&&delete Y[u.value.idField],delete Y.parentNode,delete Y.children,Y[u.value.leafField]=Y[u.value.leafField]?1:0,$.value.preSave&&$.value.preSave(Y,z),console.log("=======form data=====",Y),s.dataManager().primary().save({data:Y}).then(X=>{console.log("save result:",X),m.value[u.value.idField]=X.body,A.value=[X.body],g.value[X.body]=m.value,m.value.children?.forEach(ne=>{ne[u.value.pidField]=X.body}),$.value.postSaved&&$.value.postSaved(Y,z)})}function Q(){}function D(){a.back()}function R(){return s.dataManager().primary()}function J(z,H){if(z&&H){const Y=g.value[z];z!=H[u.value.idField]&&(Y[u.value.idField]=H[u.value.idField],g.value[H[u.value.idField]]=Y),Object.keys(H).forEach(X=>{Y[X]=P.utils.obj.set(Y[X],H[X])})}else if(z&&!H){H=z;const Y=g.value[H[u.value.idField]];Y&&Object.keys(H).forEach(X=>{Y[X]=P.utils.obj.set(Y[X],H[X])})}}function q(z){m.value&&(m.value[u.value.idField]!=z[u.value.idField]&&(m.value[u.value.idField]==z[u.value.idField],A.value=[z[u.value.idField]],g.value[z[u.value.idField]]=m.value),P.utils.obj.set(m.value,z))}function L(z){return g.value[z]}function ee(z){$.value.preDelete&&$.value.preDelete(z)==!1||(z[u.value.idField]&&(z[u.value.idField]+"").startsWith("new_")?(z.parentNode?z.parentNode.children=z.parentNode.children.filter(H=>H[u.value.idField]!=z[u.value.idField]):c.value=c.value.filter(H=>H[u.value.idField]!=z[u.value.idField]),delete g.value[z[u.value.idField]]):s.dataManager().primary().deleteByIds([z[u.value.idField]]).then(()=>{if(z.parentNode){const H=g.value[z[u.value.pidField]];H.children=H.children.filter(Y=>Y[u.value.idField]!=z[u.value.idField])}else c.value=c.value.filter(H=>H[u.value.idField]!=z[u.value.idField]);delete g.value[z[u.value.idField]]}))}function W(){c.value=[],g.value={},m.value=null,p.value=null,A.value=[],b.value=[],h.value=0,T().then(z=>{if(z&&z[0]&&u.value.selectable&&u.value.autoselect){const H={...z[0],dataRef:z[0]};A.value=[z[0].id],j("select",{keys:A.value,event:{node:H}})}})}const se=e.ref("new_");return e.onMounted(()=>{const z=e.inject("route");console.log("unione page tree route",z),se.value=i.psn||z?.query?.psn||z?.meta?.psn||"new_",console.log("unione page tree,psn:"+se.value),s.setModel(z?.query?.model||z?.meta?.model||"run");const H={...i.params||{},...z?.query||{},...z?.params||{}};s.dataManager().params(H),r(),s.load(se.value,d),e.nextTick(()=>{E(!0)}),T().then(Y=>{if(Y&&Y[0]&&u.value.selectable&&u.value.autoselect){const X={...Y[0],dataRef:Y[0]};A.value=[Y[0].id],j("select",{keys:A.value,event:{node:X}})}}),f.value=!0}),n({storage:R,save:M,toBack:D,toReset:Q,setNode:J,setActiveNode:q,getNode:L,delNode:ee,reload:W}),(z,H)=>{const Y=e.resolveComponent("SearchOutlined"),X=e.resolveComponent("a-input"),ne=e.resolveComponent("unione-btn"),pe=e.resolveComponent("a-badge"),nt=e.resolveComponent("a-tree"),_t=e.resolveComponent("a-empty");return e.openBlock(),e.createBlock(Cn,{class:"unione-page-tree","setting-title":"页面设置",engine:e.unref(s)},e.createSlots({default:e.withCtx(()=>[e.createElementVNode("div",{class:"tree-warp",onContextmenu:H[4]||(H[4]=e.withModifiers(()=>{},["prevent"]))},[e.renderSlot(z.$slots,"tree-top",{},void 0,!0),v.value?(e.openBlock(),e.createBlock(X,{key:0,size:"small",class:"input-search",placeholder:"输入关键字搜索...",value:C.value,"onUpdate:value":H[0]||(H[0]=ue=>C.value=ue),onChange:e.unref(O),onPressEnter:e.unref(O)},{suffix:e.withCtx(()=>[e.createVNode(Y)]),_:1},8,["value","onChange","onPressEnter"])):e.createCommentVNode("",!0),N.value?(e.openBlock(),e.createBlock(ne,{key:1,widget:N.value,onClick:_},null,8,["widget"])):e.createCommentVNode("",!0),e.createVNode(nt,{"show-line":u.value.showLine,"show-icon":u.value.showIcon,disabled:u.value.disabled,blockNode:!0,draggable:u.value.draggable,multiple:u.value.multiple,selectable:u.value.selectable,checkable:u.value.checkable,fieldNames:{title:u.value.labelField,key:u.value.idField},selectedKeys:A.value,"onUpdate:selectedKeys":H[2]||(H[2]=ue=>A.value=ue),expandedKeys:b.value,"onUpdate:expandedKeys":H[3]||(H[3]=ue=>b.value=ue),"tree-data":c.value,onExpand:B,onSelect:S},e.createSlots({icon:e.withCtx(({dataRef:ue})=>[ue[u.value.iconField]?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(ue[u.value.iconField]),{key:0,class:"node-icon"})):e.createCommentVNode("",!0)]),_:2},[w.value?.length?{name:"title",fn:e.withCtx(({dataRef:ue})=>[e.createElementVNode("div",{class:"node-label",onMouseover:()=>p.value=ue,onMouseleave:H[1]||(H[1]=()=>p.value=null)},[e.createVNode(pe,{dot:ue[u.value.badgeDot],count:ue[u.value.badgeCount]},{default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(ue[u.value.labelField]),1)]),_:2},1032,["dot","count"]),m.value&&m.value[u.value.idField]==ue[u.value.idField]||p.value&&p.value[u.value.idField]==ue[u.value.idField]?(e.openBlock(),e.createElementBlock("div",Jv,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.value,rt=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[!$.value.btnVisible||$.value.btnVisible(rt,ue)?(e.openBlock(),e.createBlock(ne,{key:rt.name,widget:rt,ctx:{node:ue},onClick:En=>k(En,ue)},null,8,["widget","ctx","onClick"])):e.createCommentVNode("",!0)],64))),256))])):e.createCommentVNode("",!0)],40,Gv)]),key:"0"}:void 0]),1032,["show-line","show-icon","disabled","draggable","multiple","selectable","checkable","fieldNames","selectedKeys","expandedKeys","tree-data"]),!c.value||!c.value.length?(e.openBlock(),e.createElementBlock("div",Xv,[e.renderSlot(z.$slots,"tree-empty",{},()=>[e.createVNode(_t)],!0)])):e.createCommentVNode("",!0)],32),e.createElementVNode("div",Zv,[e.renderSlot(z.$slots,"form-warp",{},()=>[e.createElementVNode("div",{ref_key:"formWarp",ref:x},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(V.value,ue=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(ue.widget),{key:ue.wid,wid:ue.wid,widget:ue,engine:e.unref(s)},null,8,["wid","widget","engine"]))),128)),e.createElementVNode("div",ek,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(F.value,ue=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:ue.name},[ue.visible!=!1?(e.openBlock(),e.createBlock(ne,{key:0,widget:ue,engine:e.unref(s),disabled:!m.value,ctx:{formData:m.value},onClick:U},null,8,["widget","engine","disabled","ctx"])):e.createCommentVNode("",!0)],64))),128))])],512)],!0)])]),_:2},[e.unref(s)?{name:"page-setting",fn:e.withCtx(()=>[e.createVNode(An,{engine:e.unref(s)},null,8,["engine"])]),key:"0"}:void 0]),1032,["engine"])}}}),[["__scopeId","data-v-e2c0d9cc"]]),tk={class:"form-define form-base"},nk=Z(e.defineComponent({name:"UnioneFormDesignBaseInfo",__name:"baseInfo",props:{define:{type:Object,default(){return{}}},defineModifiers:{}},emits:["update:define"],setup(t,{expose:n}){const l=P.useDialog(),o=e.useModel(t,"define"),a=e.ref(),i=e.ref({isPrimary:!1,fields:[{title:"数据类型",name:"category",control:"unione-select-box",value:"sql",convert:{types:"dict",dictName:"DATACATEGORY"}},{title:"数据源",name:"dsId",control:"unione-select-box",convert:{types:"local",url:"/api/data/source/find",search:!0},props:{required:!0}},{title:"数据名称",name:"name",control:"unione-data-table-selector",refValue:"dsId",props:{required:!0,modelField:{title:"title",dsId:"dsId"}},rules:{whitespace:!0},event:{select:(f,{row:c})=>{s(c)}}},{title:"数据标题",name:"title",dataLen:10,props:{required:!0}},{title:"数据编码",name:"sn",control:"unione-random-input",dataLen:50,event:{disabled:(f,c)=>!!c.id}},{title:"无列表",name:"isNoList",control:"unione-switch-box",value:0,convert:{types:"dict",dictName:"TUREORFALSE"}},{title:"描述",name:"descs",control:"a-textarea"}],setting:{showColumn:1,labelWidth:4}});function d(){return a.value.validate()}function r(f){a.value.setValue(f)}function s({dsId:f,name:c}){if(!f||!c)return;const g=new FormData;g.append("dsId",f),g.append("table",c),P.axios.form({url:"/api/data/define/load/db/field",method:"post",data:g}).then(m=>{if(m.success){o.value.configs=P.utils.obj.set(o.value.configs,{fields:m.body}),o.value.configs.form.dataModels||(o.value.configs.form.dataModels=[]);const p={title:o.value.title,group:"master",types:"form",name:o.value.name,dsn:o.value.sn,fields:[]},A={};p.fields.forEach(b=>{A[b.name]=b.binded}),p.fields=m.body.map(b=>({name:b.name,title:b.title,dataValue:b.dataValue,dataType:b.dataType,dataLen:b.dataLen,dataPrec:b.dataPrec,isPk:b.isPk,isFk:b.configs?.fkey?.enable?1:0,isNull:b.isNull,widget:b.configs?.widget?.name,descs:b.descs,binded:A[b.name]||!1})),o.value.configs.form.dataModels=o.value.configs.form.dataModels.filter(b=>b.group!=="master"),o.value.configs.form.dataModels.splice(0,0,p)}else l.error({content:"加载数据表字段失败"})})}return e.onMounted(()=>{a.value.setValue(o.value)}),n({save:d,load:r}),(f,c)=>{const g=e.resolveComponent("unione-form");return e.openBlock(),e.createElementBlock("div",tk,[e.createVNode(g,{form:i.value,ref_key:"formObj",ref:a},null,8,["form"])])}}}),[["__scopeId","data-v-588abc8f"]]),lk={class:"unione-props-setting data-field-manage"},ok=["onClick"],ak={key:0},ik={key:1},rk=["onClick"],sk=["onClick"],dk=["onClick"],ck={key:1},ya=Z(e.defineComponent({__name:"dataFieldMange",props:e.mergeModels({pagination:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const n=P.useDialog(),l=t,o=e.ref([{title:"序号",dataIndex:"index",key:"index",width:"35px",fixed:"left",align:"center",customRender:({index:N})=>N+1},{title:"名称",dataIndex:"name",key:"name",width:"120px",rowDrag:!0,resizable:!0,fixed:"left",align:"center"},{title:"标题",dataIndex:"title",key:"title",width:"120px",align:"center"},{title:"数据类型",dataIndex:"dataType",key:"dataType",width:"80px",align:"center"},{title:"长度",dataIndex:"dataLen",key:"dataLen",width:"60px",align:"center"},{title:"小数点",dataIndex:"dataPrec",key:"dataPrec",width:"60px",align:"center"},{title:"默认值",dataIndex:"dataValue",key:"dataValue",width:"60px",align:"center"},{title:"主键",dataIndex:"isPk",key:"isPk",width:"40px",align:"center"},{title:"外键",dataIndex:"isFk",key:"isFk",width:"30px",align:"center"},{title:"非空",dataIndex:"isNull",key:"isNull",width:"30px",align:"center"},{title:"备注",dataIndex:"descs",key:"descs",width:"100px",align:"center"}]),a=e.useModel(t,"modelValue"),i=e.ref({ID:{title:"主键[ID]",dataType:"Long",dataLen:19,isPk:1,isNull:0,checked:!0,binded:!1},TENANT_ID:{title:"租户ID[TENANT_ID]",dataType:"Long",dataLen:19,isPk:0,isNull:0,checked:!0,binded:!1},ORG_ID:{title:"机构ID[ORG_ID]",dataType:"Long",dataLen:19,isPk:0,isNull:0,checked:!0,binded:!1},USER_ID:{title:"用户ID[USER_ID]",dataType:"Long",dataLen:19,isPk:0,isNull:0,checked:!0,binded:!1},DEL_FLAG:{title:"删除标志[DEL_FLAG]",dataType:"Integer",dataLen:1,isPk:0,isNull:0,checked:!0,binded:!1},CREATED:{title:"创建时间[CREATED]",dataType:"Timestamp",dataLen:0,isPk:0,isNull:0,checked:!0,binded:!1},CREATED_BY:{title:"创建人[CREATED_BY]",dataType:"Long",dataLen:19,isPk:0,isNull:0,checked:!0,binded:!1},LAST_UPDATED:{title:"更新时间[LAST_UPDATED]",dataType:"Timestamp",dataLen:0,isPk:0,isNull:0,checked:!0,binded:!1},LAST_UPDATED_BY:{title:"更新人[LAST_UPDATED_BY]",dataType:"Long",dataLen:19,isPk:0,isNull:0,checked:!0,binded:!1}}),d=e.computed(()=>{const N={hadCount:0,newCount:0,unbinded:0},w={};return Object.keys(i.value).forEach(k=>{i.value[k].binded=!1}),a.value?.forEach(k=>{(k.stsField&&i.value[k.stsField]||i.value[k.name])&&(N.hadCount++,k.stsField||(k.stsField=k.name),w[k.stsField]=k,i.value[k.stsField].checked=!0,i.value[k.stsField].binded=!0)}),Object.keys(i.value).forEach(k=>{!w[k]&&i.value[k].checked&&N.newCount++}),N.unbinded=Object.keys(i.value).length-N.hadCount,N});function r(){d.value.unbinded<=0||Object.keys(i.value).forEach(N=>{const w=i.value[N];(w.checked||d.value.newCount<=0)&&!w.binded&&(w.binded=!0,a.value.push({name:N,title:w.title.split("[")[0],dataType:w.dataType,dataLen:w.dataLen,dataPrec:0,dataValue:"",isPk:w.isPk,isNull:w.isNull,syncEnable:1,descs:"",stsField:N,configs:{}}))})}const s=e.ref({selectedRowKeys:[],columnWidth:"25px",onChange:N=>{l.pagination||(s.value.selectedRowKeys=[]),N.forEach(w=>{s.value.selectedRowKeys.includes(w)||s.value.selectedRowKeys.push(w);const k=[];a.value.forEach(B=>{!N.includes(B.name)&&s.value.selectedRowKeys.includes(B.name)&&k.push(B.name)}),k.length&&(s.value.selectedRowKeys=s.value.selectedRowKeys.filter(B=>!k.includes(B)))})}}),f={mounted:N=>N.focus()},c=e.ref({});function g(){const N=Object.keys(c.value);if(N.length)for(let w in N){const k=a.value.filter(B=>B.name==w);if(k&&k[0]){let B=c.value[w];Object.keys(B).forEach(S=>{k[0][S]=B[S]})}}c.value={}}function m(N,w){if(l.disabled)return;g();const k={};k[w]=N[w]||"",c.value[N.name]=k}const p=["SELECT","INSERT","UPDATE","DELETE","MERGE","CALL","CREATE","ALTER","DROP","TRUNCATE","RENAME","COMMENT","COMMIT","ROLLBACK","SAVEPOINT","SET","TRANSACTION","WHERE","AND","OR","NOT","IN","BETWEEN","LIKE","IS","NULL","JOIN","INNER","LEFT","RIGHT","FULL","JOIN","ON","AS","GROUP","HAVING","ORDER","ASC","DESC","LIMIT","COUNT","SUM","AVG","MAX","MIN","DISTINCT","CASE","WHEN","THEN","IF","ELSE","FROM","TABLE","VIEW","INDEX","PRIMARY","KEY","FOREIGN","UNIQUE","INT","VARCHAR","DATE","TIME","DATETIME","BOOLEAN","FLOAT","DECIMAL"];function A(N,w){if(!N||!w){c.value={};return}const k=c.value[N.name][w];if(w=="name"){let B=N.name.toUpperCase().trim();if(!/^[A-Z0-9_]+$/.test(B)||/[0-9]/.test(B[0])){n.error("字段名称必须为大写字母,数字和下划线组成,且不能以数字开头");return}if(p.indexOf(B)!==-1&&(B=B+"_1"),a.value.filter(y=>y[w]==k&&y.name!=N.name).length>0){te.Modal.warn({title:"提示信息",content:"字段名称["+k+"]已存在"});return}N[w]=B}N[w]=k,c.value={}}function b(N,w){const k=a.value.filter(B=>B.name==N.name)[0];return w=="isFk"?k.configs?.fkey?.enable:k[w]==1}function h(N,w){const k=a.value.filter(B=>B.name==N.name)[0];w=="isFk"?(k.configs||(k.configs={}),k.configs.fkey||(k.configs.fkey={}),k.configs.fkey.enable=!k.configs.fkey.enable):k[w]!=1?k[w]=1:k[w]=0}function u(){if(g(),a.value.filter(k=>k.name=="NEW_").length>0){c.value.NEW_={name:"NEW_"};return}const w={title:"",name:"NEW_",dataType:"String",isPk:0,isNull:0,configs:{}};a.value.push(w),c.value[w.name]={name:"NEW_"}}function v(){if(!s.value.selectedRowKeys.length){te.Modal.info({title:"提示信息",content:"请选择要删除的字段!"});return}te.Modal.confirm({title:"确认信息",content:"确定要删除选中的["+s.value.selectedRowKeys.length+"]字段么?",onOk:()=>{a.value=a.value.filter(N=>!s.value.selectedRowKeys.includes(N.name)),s.value.selectedRowKeys=[]}})}return(N,w)=>{const k=e.resolveComponent("a-checkbox"),B=e.resolveComponent("a-menu-item"),S=e.resolveComponent("a-menu"),y=e.resolveComponent("DownOutlined"),x=e.resolveComponent("a-button"),E=e.resolveComponent("a-dropdown"),_=e.resolveComponent("a-tooltip"),C=e.resolveComponent("a-input"),O=e.resolveComponent("a-input-number"),T=e.resolveComponent("a-select-option"),V=e.resolveComponent("a-select"),$=e.resolveComponent("a-table");return e.openBlock(),e.createElementBlock("div",lk,[e.createVNode(E,{class:"btn btn-std",disabled:t.disabled},{overlay:e.withCtx(()=>[e.createVNode(S,null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,(I,F)=>(e.openBlock(),e.createBlock(B,{key:F},{default:e.withCtx(()=>[e.createElementVNode("div",{onClick:e.withModifiers(j=>I.checked=!I.checked,["stop","prevent"]),class:"std-field"},[e.createVNode(k,{checked:I.checked,"onUpdate:checked":j=>I.checked=j,disabled:I.binded},null,8,["checked","onUpdate:checked","disabled"]),e.createTextVNode(e.toDisplayString(I.title),1)],8,ok)]),_:2},1024))),128)),e.createVNode(B,{key:"ALL",onClick:r,disabled:d.value.unbinded<=0},{default:e.withCtx(()=>[e.createTextVNode("一键添加"+e.toDisplayString(d.value.newCount?`(${d.value.newCount})`:"所有"),1)]),_:1},8,["disabled"])]),_:1})]),default:e.withCtx(()=>[e.createVNode(x,{size:"small"},{default:e.withCtx(()=>[w[1]||(w[1]=e.createTextVNode(" 标准字段 ")),e.createVNode(y)]),_:1})]),_:1},8,["disabled"]),e.createVNode(x,{class:"btn btn-add",type:"primary",onClick:u,size:"small",disabled:t.disabled},{default:e.withCtx(()=>w[2]||(w[2]=[e.createTextVNode("新增")])),_:1},8,["disabled"]),e.createVNode(x,{class:"btn btn-delete",type:"primary",danger:"",onClick:v,size:"small"},{default:e.withCtx(()=>w[3]||(w[3]=[e.createTextVNode("删除")])),_:1}),e.createVNode($,{columns:o.value,"data-source":a.value,pagination:t.pagination,bordered:"","row-selection":s.value,scroll:{x:1150},"row-key":"name",size:"small"},{headerCell:e.withCtx(({column:I})=>[["name","title"].includes(I.key)?(e.openBlock(),e.createElementBlock("span",ak,[w[4]||(w[4]=e.createElementVNode("span",{style:{color:"red","margin-right":"3px","font-size":"16px"}},"*",-1)),e.createVNode(e.unref(gt.FormOutlined)),e.createTextVNode(" "+e.toDisplayString(I.title),1)])):e.createCommentVNode("",!0),["descs","dataLen","dataPrec","dataValue","dataType"].includes(I.key)?(e.openBlock(),e.createElementBlock("span",ik,[e.createVNode(e.unref(gt.FormOutlined)),e.createTextVNode(" "+e.toDisplayString(I.title),1)])):e.createCommentVNode("",!0),I.key==="isPk"?(e.openBlock(),e.createBlock(_,{key:2,title:"至少配置一个主键字段"},{default:e.withCtx(()=>[w[5]||(w[5]=e.createElementVNode("span",{style:{color:"red","margin-right":"3px","font-size":"16px"}},"*",-1)),e.createTextVNode(e.toDisplayString(I.title),1)]),_:2},1024)):e.createCommentVNode("",!0),I.key==="isFk"?(e.openBlock(),e.createBlock(_,{key:3,title:"是否是外键字段"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(I.title),1)]),_:2},1024)):e.createCommentVNode("",!0),I.key==="isNull"?(e.openBlock(),e.createBlock(_,{key:4,title:"是否允许为空"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(I.title),1)]),_:2},1024)):e.createCommentVNode("",!0),I.key==="syncEnable"?(e.openBlock(),e.createBlock(_,{key:5,title:"是否同步到数据库"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(I.title),1)]),_:2},1024)):e.createCommentVNode("",!0)]),bodyCell:e.withCtx(({column:I,text:F,record:j})=>[["name","title","descs","dataValue"].includes(I.dataIndex)?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["edit-field",(!c.value[j.name]||!Object.keys(c.value[j.name]).includes(I.dataIndex))&&!F&&"empty"]),onClick:U=>m(j,I.dataIndex)},[c.value[j.name]&&Object.keys(c.value[j.name]).includes(I.dataIndex)?e.withDirectives((e.openBlock(),e.createBlock(C,{key:0,value:c.value[j.name][I.dataIndex],"onUpdate:value":U=>c.value[j.name][I.dataIndex]=U,onBlur:U=>A(j,I.dataIndex),onChange:U=>c.value[j.name][I.dataIndex]=c.value[j.name][I.dataIndex].toUpperCase(),style:{margin:"-5px 0"}},null,8,["value","onUpdate:value","onBlur","onChange"])),[[f]]):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(F||" "),1)],64))],10,rk)):e.createCommentVNode("",!0),["dataLen","dataPrec"].includes(I.dataIndex)?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["edit-field",(!c.value[j.name]||!Object.keys(c.value[j.name]).includes(I.dataIndex))&&!F&&"empty"]),onClick:U=>m(j,I.dataIndex)},[c.value[j.name]&&Object.keys(c.value[j.name]).includes(I.dataIndex)?e.withDirectives((e.openBlock(),e.createBlock(O,{key:0,value:c.value[j.name][I.dataIndex],"onUpdate:value":U=>c.value[j.name][I.dataIndex]=U,onBlur:U=>A(j,I.dataIndex),style:{margin:"-5px 0"}},null,8,["value","onUpdate:value","onBlur"])),[[f]]):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(F||" "),1)],64))],10,sk)):["dataType"].includes(I.dataIndex)?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(["edit-field",(!c.value[j.name]||!Object.keys(c.value[j.name]).includes(I.dataIndex))&&!F&&"empty"]),onClick:U=>m(j,I.dataIndex)},[c.value[j.name]&&Object.keys(c.value[j.name]).includes(I.dataIndex)?e.withDirectives((e.openBlock(),e.createBlock(V,{key:0,value:j[I.dataIndex],"onUpdate:value":U=>j[I.dataIndex]=U,onBlur:w[0]||(w[0]=U=>A())},{default:e.withCtx(()=>[e.createVNode(T,{key:"String",value:"String"}),e.createVNode(T,{key:"Long",value:"Long"}),e.createVNode(T,{key:"Short",value:"Short"}),e.createVNode(T,{key:"Integer",value:"Integer"}),e.createVNode(T,{key:"Float",value:"Float"}),e.createVNode(T,{key:"Double",value:"Double"}),e.createVNode(T,{key:"Date",value:"Date"}),e.createVNode(T,{key:"Timestamp",value:"Timestamp"})]),_:2},1032,["value","onUpdate:value"])),[[f]]):(e.openBlock(),e.createElementBlock("span",ck,e.toDisplayString(F),1))],10,dk)):["syncEnable","isFk","isPk"].includes(I.dataIndex)?(e.openBlock(),e.createBlock(k,{key:3,checked:b(j,I.dataIndex),onClick:U=>h(j,I.dataIndex),disabled:t.disabled},null,8,["checked","onClick","disabled"])):["isNull"].includes(I.dataIndex)?(e.openBlock(),e.createBlock(k,{key:4,checked:!b(j,I.dataIndex),onClick:U=>h(j,I.dataIndex),disabled:t.disabled},null,8,["checked","onClick","disabled"])):e.createCommentVNode("",!0)]),_:1},8,["columns","data-source","pagination","row-selection"])])}}}),[["__scopeId","data-v-60dcc955"]]),uk={class:"unione-props-setting data-field-setting"},fk={key:0},pk=["onClick"],mk={class:"field-txt"},gk=["onClick"],hk={key:1,class:"field-txt"},bk=["onClick"],yk={key:0,class:"field-txt"},vk={key:3,class:"edit-field"},kk=["onClick"],va=Z(e.defineComponent({__name:"dataFieldSetting",props:e.mergeModels({pagination:{type:Boolean,default:!0},inCols:{type:Array,default:()=>[]}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const n=P.useSession(),l=e.ref([La.json()]),o=t,a=e.computed(()=>{const S=[{title:"序号",dataIndex:"index",key:"index",width:"30px",fixed:"left",align:"center",customRender:({index:y})=>y+1},{title:"字段名称",dataIndex:"name",key:"name",width:"70px",rowDrag:!0,resizable:!0,fixed:"left",align:"center"},{title:"字段标题",dataIndex:"title",key:"title",width:"90px",align:"center"},{title:"控件类型",dataIndex:"widget",key:"widget",width:"60px",align:"center"},{title:"验证规则",dataIndex:"rules",key:"rules",width:"60px",align:"center"},{title:"表单",dataIndex:"form",key:"form",width:"40px",align:"center"},{title:"详情",dataIndex:"view",key:"view",width:"40px",align:"center"},{title:"列表",dataIndex:"list",key:"list",width:"40px",align:"center"},{title:"排序",dataIndex:"sort",key:"sort",width:"40px",align:"center"},{title:"查询",dataIndex:"query",key:"query",width:"40px",align:"center"},{title:"转换器",dataIndex:"convertName",key:"convertName",width:"50px",align:"center"}];return o.inCols.length?S.filter(y=>o.inCols.includes(y.dataIndex)):S}),i=e.useModel(t,"modelValue"),d={mounted:S=>S.focus()},r=e.ref({});function s(){const S=Object.keys(r.value);if(S.length)for(let y in S){const x=i.value.filter(E=>E.name==y);if(x&&x[0]){let E=r.value[y];Object.keys(E).forEach(_=>{_=="convertName"?(x[0].convert||(x[0].convert={}),x[0].convert.type=E[_]):x[0][_]=E[_]})}}r.value={}}function f(S,y){s();const x={};y=="convertName"?(S.convert||(S.convert={}),x[y]=S.convert?.type):x[y]=S[y]||"",r.value[S.name]=x}function c(S,y){{r.value={};return}}function g(S,y){switch(y){case"query":return S.configs?.query?.enable;case"form":return S.configs?.show?.form?.enable;case"view":return S.configs?.show?.view?.enable;case"list":return S.configs?.show?.list?.enable;case"sort":return S.configs?.sort?.enable}}function m(S,y){switch(y){case"query":S.configs=P.utils.obj.ext(S.configs,{query:{enable:!1}}),S.configs.query.enable=!S.configs.query.enable;break;case"form":S.configs=P.utils.obj.ext(S.configs,{show:{form:{enable:!1}}}),S.configs.show.form.enable=!S.configs.show.form.enable;break;case"view":S.configs=P.utils.obj.ext(S.configs,{show:{view:{enable:!1}}}),S.configs.show.view.enable=!S.configs.show.view.enable;break;case"list":S.configs=P.utils.obj.ext(S.configs,{show:{list:{enable:!1}}}),S.configs.show.list.enable=!S.configs.show.list.enable;break;case"sort":S.configs=P.utils.obj.ext(S.configs,{sort:{enable:!1}}),S.configs.sort.enable=!S.configs.sort.enable;break}console.log("record.configs",S.configs)}const p=e.ref({title:"列头设置",prop:"list",visible:!1,field:{},show:{},toSetting:()=>{p.value.visible=!1}});function A(S,y){switch(p.value.prop=y,p.value.field=S,S.configs||(S.configs={}),S.configs.show||(S.configs.show={}),y){case"query":S.configs.query||(S.configs.query={}),S.configs.query.types||(S.configs.query.types="EQ"),p.value.show=S.configs.query,p.value.title=`查询设置/${S.title}(${S.name})`;break;case"form":S.configs.show.form||(S.configs.show.form={}),p.value.show=S.configs.show.form,p.value.title=`表单设置/${S.title}(${S.name})`;break;case"view":S.configs.show.view||(S.configs.show.view={}),p.value.show=S.configs.show.view,p.value.title=`详情设置/${S.title}(${S.name})`;break;case"list":S.configs.show.list||(S.configs.show.list={}),p.value.show=S.configs.show.list,p.value.title=`列头设置/${S.title}(${S.name})`;break;case"sort":S.configs.sort||(S.configs.sort={}),p.value.show=S.configs.sort,p.value.title=`排序设置/${S.title}(${S.name})`;break}p.value.visible=!0}const b=e.ref({options:[{value:"keywords",label:"关键字"},{value:"equle",label:"精确"},{value:"like",label:"模糊"},{value:"like-right",label:"右模糊"},{value:"like-left",label:"左模糊"},{value:"range",label:"范围"}],showLabel:S=>{const y=b.value.options.filter(x=>x.value==S);return y[0]?y[0].label:S}}),h=e.ref({visible:!1,field:{},props:{},advances:Wa.loadAdvances(),showInfo:S=>{let y=0;if(S.configs?.rule){const x=S.configs.rule;x.advance&&y++,typeof x.rangeMin<"u"&&y++,typeof x.rangeMax<"u"&&y++,typeof x.regExpress<"u"&&y++}if(y>0)return"("+y+")"},toSetting:()=>{const S=h.value.props;h.value.field.configs=P.utils.obj.set(h.value.field.configs,{rule:{...S}}),h.value.visible=!1,h.value.props={}}});function u(S){h.value.visible=!0,h.value.field=S,h.value.props=S.configs?.rule||{}}const v=e.ref({visible:!1,field:{},widget:{},widgets:[],widgetName:S=>{const y=S.configs?.widget?.name,x=v.value.widgets.filter(E=>E.value==y);return x[0]?x[0].label:y},toSetting:(S,y)=>{S.configs||(S.configs={}),S.configs.widget||(S.configs.widget={}),S.configs.widget.name=y},toclose:()=>{v.value.visible=!1}});function N(){const S=n.getStorage("UNIONE-WIDGETLIST");S?v.value.widgets=JSON.parse(S):P.axios.form({url:"/api/page/widget/load",method:"post",data:{types:"form",app:"form"}}).then(y=>{if(y.success){const x=y.body.map(E=>({value:E.name,label:E.title}));v.value.widgets=x,n.setStorage("UNIONE-WIDGETLIST",JSON.stringify(x))}})}function w(S){v.value.field=S,S.configs=P.utils.obj.ext(S.configs,{widget:{props:{}}}),v.value.widget=S.configs.widget,v.value.visible=!0}const k=e.ref({visible:!1,field:{},convert:{},types:[{value:"dict",label:"字典"},{value:"option",label:"静态"},{value:"dbtable",label:"数据集"},{value:"remote",label:"远程接口"},{value:"local",label:"本地接口"}],optionColumn:[{title:"选项标题",dataIndex:"label"},{title:"选项值",dataIndex:"value"},{title:"操作",dataIndex:"action",width:"20%"}],getTypes:(S,y="--")=>k.value.types.filter(x=>x.value==S)[0]?.label||y,toAddOption:()=>{k.value.convert.options||(k.value.convert.options=[]),k.value.convert.options.push({label:"",value:""})},toDelOption:(S,y)=>{k.value.convert.options.splice(S,1)},toSetting:()=>{k.value.visible=!1}});function B(S){k.value.visible=!0,k.value.field=S,S.configs||(S.configs={}),S.configs.convert||(S.configs.convert={}),k.value.convert=S.configs.convert}return e.onMounted(()=>{N()}),(S,y)=>{const x=e.resolveComponent("ToolOutlined"),E=e.resolveComponent("a-button"),_=e.resolveComponent("a-select"),C=e.resolveComponent("a-checkbox"),O=e.resolveComponent("a-table"),T=e.resolveComponent("a-switch"),V=e.resolveComponent("a-form-item"),$=e.resolveComponent("a-select-option"),I=e.resolveComponent("a-input-number"),F=e.resolveComponent("a-form"),j=e.resolveComponent("a-modal"),U=e.resolveComponent("a-input"),M=e.resolveComponent("unione-select-box"),Q=e.resolveComponent("a-checkbox-group"),D=e.resolveComponent("unione-section");return e.openBlock(),e.createElementBlock("div",uk,[e.createVNode(O,{columns:a.value,"data-source":i.value,bordered:"",scroll:{x:1e3},pagination:t.pagination,"row-key":"name",size:"small"},{headerCell:e.withCtx(({column:R})=>[["widget","queryType","rules","convertName"].includes(R.key)?(e.openBlock(),e.createElementBlock("span",fk,[e.createVNode(x),e.createTextVNode(" "+e.toDisplayString(R.title),1)])):e.createCommentVNode("",!0)]),bodyCell:e.withCtx(({column:R,text:J,record:q})=>[["rules"].includes(R.dataIndex)?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["edit-field",!h.value.showInfo(q)&&"empty"]),onClick:L=>u(q)},[e.createElementVNode("span",mk,e.toDisplayString(h.value.showInfo(q)),1),h.value.showInfo(q)?(e.openBlock(),e.createBlock(E,{key:0,type:"link"},{default:e.withCtx(()=>y[50]||(y[50]=[e.createTextVNode("设置")])),_:1})):e.createCommentVNode("",!0)],10,pk)):["widget"].includes(R.dataIndex)?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["edit-field",(!r.value[q.name]||!Object.keys(r.value[q.name]).includes(R.dataIndex))&&!J&&"empty"]),onClick:L=>f(q,R.dataIndex)},[r.value[q.name]&&Object.keys(r.value[q.name]).includes(R.dataIndex)?e.withDirectives((e.openBlock(),e.createBlock(_,{key:0,value:q.configs?.widget?.name,allowClear:!0,options:v.value.widgets,onChange:L=>v.value.toSetting(q,L),onBlur:y[0]||(y[0]=L=>c())},null,8,["value","options","onChange"])),[[d]]):(e.openBlock(),e.createElementBlock("span",hk,e.toDisplayString(v.value.widgetName(q)),1)),e.createVNode(E,{type:"link",onClick:e.withModifiers(L=>w(q),["stop"])},{default:e.withCtx(()=>y[51]||(y[51]=[e.createTextVNode("设置")])),_:2},1032,["onClick"])],10,gk)):["convertName"].includes(R.dataIndex)?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(["edit-field",(!r.value[q.name]||!Object.keys(r.value[q.name]).includes(R.dataIndex))&&!q.convert?.type&&"empty"]),onClick:L=>B(q)},[q.configs?.convert?.types?(e.openBlock(),e.createElementBlock("span",yk,e.toDisplayString(k.value.getTypes(q.configs.convert.types)),1)):e.createCommentVNode("",!0)],10,bk)):["query","form","view","list","sort"].includes(R.dataIndex)?(e.openBlock(),e.createElementBlock("div",vk,[e.createVNode(C,{checked:g(q,R.dataIndex),onClick:L=>m(q,R.dataIndex)},null,8,["checked","onClick"]),e.createVNode(E,{type:"link",onClick:L=>A(q,R.dataIndex)},{default:e.withCtx(()=>y[52]||(y[52]=[e.createTextVNode("设置")])),_:2},1032,["onClick"])])):e.createCommentVNode("",!0)]),_:1},8,["columns","data-source","pagination"]),e.createVNode(j,{visible:p.value.visible,"onUpdate:visible":y[14]||(y[14]=R=>p.value.visible=R),width:600,title:p.value.title,onOk:p.value.toSetting},{default:e.withCtx(()=>[e.createVNode(F,{model:p.value.show,name:"basic","label-col":{span:6},"wrapper-col":{span:18},autocomplete:"off",class:e.normalizeClass(["field-setting-form","form-mix",p.value.prop])},{default:e.withCtx(()=>[e.createVNode(V,{label:"启用状态"},{default:e.withCtx(()=>[e.createVNode(T,{checked:p.value.show.enable,"onUpdate:checked":y[1]||(y[1]=R=>p.value.show.enable=R),checkedChildren:"启用",unCheckedChildren:"停用"},null,8,["checked"])]),_:1}),p.value.prop=="sort"?(e.openBlock(),e.createBlock(V,{key:0,label:"默认排序"},{default:e.withCtx(()=>[e.createVNode(T,{checked:p.value.show.defoult,"onUpdate:checked":y[2]||(y[2]=R=>p.value.show.defoult=R),checkedChildren:"是",unCheckedChildren:"否"},null,8,["checked"])]),_:1})):e.createCommentVNode("",!0),p.value.prop=="sort"?(e.openBlock(),e.createBlock(V,{key:1,label:"排序方式"},{default:e.withCtx(()=>[e.createVNode(T,{checked:p.value.show.asc,"onUpdate:checked":y[3]||(y[3]=R=>p.value.show.asc=R),checkedChildren:"升序",unCheckedChildren:"降序"},null,8,["checked"])]),_:1})):e.createCommentVNode("",!0),p.value.prop=="query"&&p.value.show.types=="ADVANCE"?(e.openBlock(),e.createBlock(V,{key:2,label:"高级查询"})):e.createCommentVNode("",!0),p.value.prop=="query"?(e.openBlock(),e.createBlock(V,{key:3,label:"默认查询",tooltip:"开启后该字段加入关键字查询"},{default:e.withCtx(()=>[e.createVNode(T,{checked:p.value.show.defoult,"onUpdate:checked":y[4]||(y[4]=R=>p.value.show.defoult=R),checkedChildren:"是",unCheckedChildren:"否"},null,8,["checked"])]),_:1})):e.createCommentVNode("",!0),p.value.prop=="query"?(e.openBlock(),e.createBlock(V,{key:4,label:"默认显示",tooltip:"开启后,在查询表单中默认显示该查询字段"},{default:e.withCtx(()=>[e.createVNode(T,{checked:p.value.show.visible,"onUpdate:checked":y[5]||(y[5]=R=>p.value.show.visible=R),checkedChildren:"是",unCheckedChildren:"否"},null,8,["checked"])]),_:1})):e.createCommentVNode("",!0),p.value.prop=="query"?(e.openBlock(),e.createBlock(V,{key:5,label:"查询方式"},{default:e.withCtx(()=>[e.createVNode(_,{value:p.value.show.types,"onUpdate:value":y[6]||(y[6]=R=>p.value.show.types=R)},{default:e.withCtx(()=>[e.createVNode($,{key:"EQ",value:"EQ"},{default:e.withCtx(()=>y[53]||(y[53]=[e.createTextVNode("精确查询")])),_:1}),e.createVNode($,{key:"LIKE",value:"LIKE"},{default:e.withCtx(()=>y[54]||(y[54]=[e.createTextVNode("模糊查询")])),_:1}),e.createVNode($,{key:"LLIKE",value:"LLIKE"},{default:e.withCtx(()=>y[55]||(y[55]=[e.createTextVNode("左模糊")])),_:1}),e.createVNode($,{key:"RLIKE",value:"RLIKE"},{default:e.withCtx(()=>y[56]||(y[56]=[e.createTextVNode("右模糊")])),_:1}),e.createVNode($,{key:"RANGE",value:"RANGE"},{default:e.withCtx(()=>y[57]||(y[57]=[e.createTextVNode("范围查询")])),_:1}),e.createVNode($,{key:"ADVANCE",value:"ADVANCE"},{default:e.withCtx(()=>y[58]||(y[58]=[e.createTextVNode("高级查询")])),_:1})]),_:1},8,["value"])]),_:1})):e.createCommentVNode("",!0),["query","sort"].includes(p.value.prop)?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(V,{key:6,label:"显示顺序",tooltip:"默认根据字段顺序显示,若需调整字段显示顺序,可以通过这里设置!"},{default:e.withCtx(()=>[e.createVNode(I,{value:p.value.show.index,"onUpdate:value":y[7]||(y[7]=R=>p.value.show.index=R)},null,8,["value"])]),_:1})),["form","view"].includes(p.value.prop)?(e.openBlock(),e.createBlock(V,{key:7,label:"显示宽度",tooltip:"字段显示宽度,0-24,设置成0,根据表单默认配置"},{default:e.withCtx(()=>[e.createVNode(I,{min:0,max:24,value:p.value.show.width,"onUpdate:value":y[8]||(y[8]=R=>p.value.show.width=R)},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),["list"].includes(p.value.prop)?(e.openBlock(),e.createBlock(V,{key:8,label:"显示宽度",tooltip:"字段显示宽度"},{default:e.withCtx(()=>[e.createVNode(I,{min:0,value:p.value.show.width,"onUpdate:value":y[9]||(y[9]=R=>p.value.show.width=R)},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),["form","view"].includes(p.value.prop)?(e.openBlock(),e.createBlock(V,{key:9,label:"标题宽度",tooltip:"表单title部分显示宽度,0-24"},{default:e.withCtx(()=>[e.createVNode(I,{min:0,max:24,value:p.value.show.labelWidth,"onUpdate:value":y[10]||(y[10]=R=>p.value.show.labelWidth=R)},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),["form","view"].includes(p.value.prop)?(e.openBlock(),e.createBlock(V,{key:10,label:"控件宽度",tooltip:"表单组件部分显示宽度,0-24"},{default:e.withCtx(()=>[e.createVNode(I,{min:0,max:24,value:p.value.show.valueWidth,"onUpdate:value":y[11]||(y[11]=R=>p.value.show.valueWidth=R)},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),["list"].includes(p.value.prop)?(e.openBlock(),e.createBlock(V,{key:11,label:"固定位置"},{default:e.withCtx(()=>[e.createVNode(_,{value:p.value.show.fixed,"onUpdate:value":y[12]||(y[12]=R=>p.value.show.fixed=R),allowClear:"",options:[{value:"left",label:"靠左"},{value:"right",label:"靠右"}]},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),["list"].includes(p.value.prop)?(e.openBlock(),e.createBlock(V,{key:12,label:"对齐方式"},{default:e.withCtx(()=>[e.createVNode(_,{value:p.value.show.align,"onUpdate:value":y[13]||(y[13]=R=>p.value.show.align=R),options:[{value:"left",label:"左对齐"},{value:"center",label:"居中"},{value:"right",label:"右对齐"}]},null,8,["value"])]),_:1})):e.createCommentVNode("",!0)]),_:1},8,["model","class"])]),_:1},8,["visible","title","onOk"]),e.createVNode(j,{visible:k.value.visible,"onUpdate:visible":y[33]||(y[33]=R=>k.value.visible=R),width:600,title:k.value.getTypes(k.value.convert.types,"转换")+"设置",onOk:k.value.toSetting},{default:e.withCtx(()=>[e.createVNode(F,{model:k.value.convert,name:"basic","label-col":{span:5},"wrapper-col":{span:17},autocomplete:"off",class:"form-mix"},{default:e.withCtx(()=>[e.createVNode(V,{label:"转换类型"},{default:e.withCtx(()=>[e.createVNode(_,{value:k.value.convert.types,"onUpdate:value":y[15]||(y[15]=R=>k.value.convert.types=R),allowClear:!0,options:k.value.types},null,8,["value","options"])]),_:1}),["unione-select-box","unione-tree-box"].includes(k.value.field.widget?.name)?(e.openBlock(),e.createBlock(V,{key:0,label:"是否搜索"},{default:e.withCtx(()=>[e.createVNode(T,{checked:p.value.convert.search,"onUpdate:checked":y[16]||(y[16]=R=>p.value.convert.search=R),checkedChildren:"启用",unCheckedChildren:"停用"},null,8,["checked"])]),_:1})):e.createCommentVNode("",!0),k.value.convert.types=="option"?(e.openBlock(),e.createBlock(V,{key:1,label:"选项设置"},{default:e.withCtx(()=>[e.createVNode(E,{class:"editable-add-btn",style:{"margin-bottom":"8px"},onClick:k.value.toAddOption},{default:e.withCtx(()=>y[59]||(y[59]=[e.createTextVNode("新增")])),_:1},8,["onClick"]),e.createVNode(O,{columns:k.value.optionColumn,"data-source":k.value.convert.options,size:"small"},{bodyCell:e.withCtx(({column:R,record:J,index:q})=>[R.dataIndex==="label"?(e.openBlock(),e.createBlock(U,{key:0,value:J.label,"onUpdate:value":L=>J.label=L,style:{margin:"-5px 0"}},null,8,["value","onUpdate:value"])):e.createCommentVNode("",!0),R.dataIndex==="value"?(e.openBlock(),e.createBlock(U,{key:1,value:J.value,"onUpdate:value":L=>J.value=L,style:{margin:"-5px 0"}},null,8,["value","onUpdate:value"])):e.createCommentVNode("",!0),R.dataIndex==="action"?(e.openBlock(),e.createElementBlock("a",{key:2,onClick:L=>k.value.toDelOption(q,J)},"删除",8,kk)):e.createCommentVNode("",!0)]),_:1},8,["columns","data-source"])]),_:1})):e.createCommentVNode("",!0),["dbtable","remote"].includes(k.value.convert.types)?(e.openBlock(),e.createBlock(V,{key:2,label:"数据源"},{default:e.withCtx(()=>[e.createVNode(M,{value:k.value.convert.dsId,"onUpdate:value":y[17]||(y[17]=R=>k.value.convert.dsId=R),convert:{types:"local",url:"/api/data/source/find",search:!0}},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),k.value.convert.types=="dbtable"?(e.openBlock(),e.createBlock(V,{key:3,label:"table名称"},{default:e.withCtx(()=>[e.createVNode(U,{value:k.value.convert.tableName,"onUpdate:value":y[18]||(y[18]=R=>k.value.convert.tableName=R)},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),k.value.convert.types=="dbtable"?(e.openBlock(),e.createBlock(V,{key:4,label:"table名称"},{default:e.withCtx(()=>[e.createVNode(U,{value:k.value.convert.tableName,"onUpdate:value":y[19]||(y[19]=R=>k.value.convert.tableName=R)},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),k.value.convert.types=="dbtable"&&["unione-tree-box"].includes(k.value.field.widget?.name)?(e.openBlock(),e.createBlock(V,{key:5,label:"主键字段"},{default:e.withCtx(()=>[e.createVNode(U,{value:k.value.convert.idField,"onUpdate:value":y[20]||(y[20]=R=>k.value.convert.idField=R)},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),k.value.convert.types=="dbtable"&&["unione-tree-box"].includes(k.value.field.widget?.name)?(e.openBlock(),e.createBlock(V,{key:6,label:"父级字段"},{default:e.withCtx(()=>[e.createVNode(U,{value:k.value.convert.pidField,"onUpdate:value":y[21]||(y[21]=R=>k.value.convert.pidField=R)},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),k.value.convert.types=="dbtable"?(e.openBlock(),e.createBlock(V,{key:7,label:"value字段"},{default:e.withCtx(()=>[e.createVNode(U,{value:k.value.convert.valueField,"onUpdate:value":y[22]||(y[22]=R=>k.value.convert.valueField=R)},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),k.value.convert.types=="dbtable"?(e.openBlock(),e.createBlock(V,{key:8,label:"label字段"},{default:e.withCtx(()=>[e.createVNode(U,{value:k.value.convert.labelField,"onUpdate:value":y[23]||(y[23]=R=>k.value.convert.labelField=R)},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),k.value.convert.types=="dbtable"?(e.openBlock(),e.createBlock(V,{key:9,label:"扩展字段",tooltip:"默认只加载value,label字段,可以通过该属性加载其他更多字段,多个字段用逗号分隔"},{default:e.withCtx(()=>[e.createVNode(U,{value:k.value.convert.tableField,"onUpdate:value":y[24]||(y[24]=R=>k.value.convert.tableField=R)},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),k.value.convert.types=="dbtable"?(e.openBlock(),e.createBlock(V,{key:10,label:"数据过滤",tooltip:"支持数据条件过滤,eg:sex=1"},{default:e.withCtx(()=>[e.createVNode(U,{value:k.value.convert.tableWhere,"onUpdate:value":y[25]||(y[25]=R=>k.value.convert.tableWhere=R)},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),k.value.convert.types=="dbtable"?(e.openBlock(),e.createBlock(V,{key:11,label:"数据排序",tooltip:"设置数据进行排序方式,eg:age desc"},{default:e.withCtx(()=>[e.createVNode(U,{value:k.value.convert.tableOrder,"onUpdate:value":y[26]||(y[26]=R=>k.value.convert.tableOrder=R)},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),k.value.convert.types=="dbtable"?(e.openBlock(),e.createBlock(V,{key:12,label:"数据排序",tooltip:"设置数据进行排序方式,eg:age desc"},{default:e.withCtx(()=>[e.createVNode(U,{value:k.value.convert.tableOrder,"onUpdate:value":y[27]||(y[27]=R=>k.value.convert.tableOrder=R)},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),k.value.convert.types=="dbtable"?(e.openBlock(),e.createBlock(V,{key:13,label:"异步加载"},{default:e.withCtx(()=>[e.createVNode(T,{checked:k.value.convert.isAsync,"onUpdate:checked":y[28]||(y[28]=R=>k.value.convert.isAsync=R),checkedChildren:"是",unCheckedChildren:"否"},null,8,["checked"])]),_:1})):e.createCommentVNode("",!0),k.value.convert.types=="dbtable"?(e.openBlock(),e.createBlock(V,{key:14,label:"分页加载"},{default:e.withCtx(()=>[e.createVNode(T,{checked:k.value.convert.isPaging,"onUpdate:checked":y[29]||(y[29]=R=>k.value.convert.isPaging=R),checkedChildren:"是",unCheckedChildren:"否"},null,8,["checked"])]),_:1})):e.createCommentVNode("",!0),k.value.convert.types=="dict"?(e.openBlock(),e.createBlock(V,{key:15,label:"字典名称"},{default:e.withCtx(()=>[e.createVNode(U,{value:k.value.convert.dictName,"onUpdate:value":y[30]||(y[30]=R=>k.value.convert.dictName=R)},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),["local","remote"].includes(k.value.convert.types)?(e.openBlock(),e.createBlock(V,{key:16,label:"接口地址",tooltip:"统一使用POST请求,json提交,标准结构:{body:{参数}}"},{default:e.withCtx(()=>[e.createVNode(U,{value:k.value.convert.url,"onUpdate:value":y[31]||(y[31]=R=>k.value.convert.url=R)},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),["local","remote"].includes(k.value.convert.types)?(e.openBlock(),e.createBlock(V,{key:17,label:"接口参数",tooltip:"标准json对象/数组,直接使用该参数进行接口请求,请求确保结构和接口匹配!"},{default:e.withCtx(()=>[e.createVNode(e.unref(Zt.Codemirror),{modelValue:k.value.convert.params,"onUpdate:modelValue":y[32]||(y[32]=R=>k.value.convert.params=R),placeholder:"接口请求参数,eg:{sex:1}",style:{height:"250px"},autofocus:!0,"indent-with-tab":!0,tabSize:8,extensions:l.value,scrollbarStyle:null},null,8,["modelValue","extensions"])]),_:1})):e.createCommentVNode("",!0)]),_:1},8,["model"])]),_:1},8,["visible","title","onOk"]),e.createVNode(j,{visible:v.value.visible,"onUpdate:visible":y[40]||(y[40]=R=>v.value.visible=R),width:600,title:"控件设置",onOk:v.value.toclose},{default:e.withCtx(()=>[e.createVNode(F,{model:v.value.props,name:"basic","label-col":{span:6},"wrapper-col":{span:18},autocomplete:"off",class:"form-mix"},{default:e.withCtx(()=>[e.createVNode(V,{label:"组件类型"},{default:e.withCtx(()=>[e.withDirectives(e.createVNode(_,{value:v.value.widget.name,"onUpdate:value":y[34]||(y[34]=R=>v.value.widget.name=R),allowClear:!0,options:v.value.widgets},null,8,["value","options"]),[[d]])]),_:1}),e.createVNode(V,{label:"输入提示"},{default:e.withCtx(()=>[e.createVNode(U,{value:v.value.widget.placeholder,"onUpdate:value":y[35]||(y[35]=R=>v.value.widget.placeholder=R)},null,8,["value"])]),_:1}),e.createVNode(V,{label:"帮助说明"},{default:e.withCtx(()=>[e.createVNode(U,{value:v.value.widget.help,"onUpdate:value":y[36]||(y[36]=R=>v.value.widget.help=R)},null,8,["value"])]),_:1}),e.createVNode(V,{label:"提示文本"},{default:e.withCtx(()=>[e.createVNode(U,{value:v.value.widget.tooltip,"onUpdate:value":y[37]||(y[37]=R=>v.value.widget.tooltip=R)},null,8,["value"])]),_:1}),["a-date-picker"].includes(v.value.widget.name)?(e.openBlock(),e.createBlock(V,{key:0,label:"显示格式"},{default:e.withCtx(()=>[e.createVNode(U,{value:v.value.field.dataFormat,"onUpdate:value":y[38]||(y[38]=R=>v.value.field.dataFormat=R)},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),v.value.widget.name=="unione-select-box"?(e.openBlock(),e.createBlock(V,{key:1,label:"下拉框类型"},{default:e.withCtx(()=>[e.createVNode(_,{value:v.value.widget.props.mode,"onUpdate:value":y[39]||(y[39]=R=>v.value.widget.props.mode=R),allowClear:!0},{default:e.withCtx(()=>[e.createVNode($,{value:"multiple"},{default:e.withCtx(()=>y[60]||(y[60]=[e.createTextVNode("多选")])),_:1}),e.createVNode($,{value:"tags"},{default:e.withCtx(()=>y[61]||(y[61]=[e.createTextVNode("标签")])),_:1})]),_:1},8,["value"])]),_:1})):e.createCommentVNode("",!0)]),_:1},8,["model"])]),_:1},8,["visible","onOk"]),e.createVNode(j,{visible:h.value.visible,"onUpdate:visible":y[49]||(y[49]=R=>h.value.visible=R),width:600,title:"规则设置",onOk:h.value.toSetting},{default:e.withCtx(()=>[e.createVNode(F,{model:h.value.props,name:"basic","label-col":{span:6},"wrapper-col":{span:18},autocomplete:"off",class:"form-mix"},{default:e.withCtx(()=>[e.createVNode(D,{title:"基本设置",type:"line"},{default:e.withCtx(()=>[e.createVNode(V,{label:"触发时机"},{default:e.withCtx(()=>[e.createVNode(Q,{value:h.value.props.trigger,"onUpdate:value":y[41]||(y[41]=R=>h.value.props.trigger=R),options:["change","blur"]},null,8,["value"])]),_:1}),h.value.field.isNull?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(V,{key:0,label:"忽略空格",class:"checkbox-tips"},{default:e.withCtx(()=>[e.createVNode(C,{checked:h.value.props.whitespace,"onUpdate:checked":y[42]||(y[42]=R=>h.value.props.whitespace=R)},{default:e.withCtx(()=>y[62]||(y[62]=[e.createTextVNode(" 必填验证开启时,是否忽略空格 ")])),_:1},8,["checked"])]),_:1})),e.createVNode(V,{label:"预设类型"},{default:e.withCtx(()=>[e.createVNode(_,{options:h.value.advances,fieldNames:{label:"title",value:"name"},value:h.value.props.advance,"onUpdate:value":y[43]||(y[43]=R=>h.value.props.advance=R)},null,8,["options","value"])]),_:1})]),_:1}),["Long","Short","Integer","Float","Double"].includes(h.value.field.dataType)?(e.openBlock(),e.createBlock(D,{key:0,title:"数值验证",type:"line"},{default:e.withCtx(()=>[e.createVNode(V,{label:"有效区间"},{default:e.withCtx(()=>[e.createVNode(I,{value:h.value.props.rangeMin,"onUpdate:value":y[44]||(y[44]=R=>h.value.props.rangeMin=R)},null,8,["value"]),y[63]||(y[63]=e.createElementVNode("span",{style:{margin:"auto 5px"}},null,-1)),e.createVNode(I,{value:h.value.props.rangeMax,"onUpdate:value":y[45]||(y[45]=R=>h.value.props.rangeMax=R)},null,8,["value"])]),_:1}),e.createVNode(V,{label:"错误提示"},{default:e.withCtx(()=>[e.createVNode(U,{value:h.value.props.rangeMessage,"onUpdate:value":y[46]||(y[46]=R=>h.value.props.rangeMessage=R)},null,8,["value"])]),_:1})]),_:1})):e.createCommentVNode("",!0),e.createVNode(D,{title:"正则验证",type:"line"},{default:e.withCtx(()=>[e.createVNode(V,{label:"表达式"},{default:e.withCtx(()=>[e.createVNode(U,{value:h.value.props.regExpress,"onUpdate:value":y[47]||(y[47]=R=>h.value.props.regExpress=R)},null,8,["value"])]),_:1}),e.createVNode(V,{label:"错误提示"},{default:e.withCtx(()=>[e.createVNode(U,{value:h.value.props.regMessage,"onUpdate:value":y[48]||(y[48]=R=>h.value.props.regMessage=R)},null,8,["value"])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1},8,["visible","onOk"])])}}}),[["__scopeId","data-v-30eeaca3"]]),wk={class:"form-define form-data unione-page-tree"},Ck={class:"warp"},Ak={class:"left tree-warp"},xk=["onMouseover"],Nk={key:0,class:"node-opts"},Sk={class:"right"},_k={class:"btn-panel"},Vk={class:"tips"},Bk=Z(e.defineComponent({name:"UnioneFormDesignDataInfo",__name:"dataInfo",props:{define:{type:Object,default(){return{configs:{fields:[],filters:[],form:{dataModels:[],widgets:[]},table:{}}}}},defineModifiers:{}},emits:["update:define"],setup(t){const n=P.useDialog(),l=e.useModel(t,"define");e.watch(()=>l.value?.configs?.fields,(m,p)=>{l.value.configs.form.dataModels||(l.value.configs.form.dataModels=[]);const A={title:l.value.title,group:"master",types:"form",name:l.value.name,dsn:l.value.sn,fields:[]},b={};A.fields.forEach(h=>{b[h.name]=h.binded}),A.fields=m.map(h=>({name:h.name,title:h.title,dataValue:h.dataValue,dataType:h.dataType,dataLen:h.dataLen,dataPrec:h.dataPrec,isPk:h.isPk,isFk:h.configs?.fkey?.enable?1:0,isNull:h.isNull,widget:h.configs?.widget?.name,descs:h.descs,binded:b[h.name]||!1})),l.value.configs.form.dataModels=l.value.configs.form.dataModels.filter(h=>h.group!=="master"),l.value.configs.form.dataModels.splice(0,0,A)},{deep:!0});const o=e.ref({group:"master"}),a=e.ref({selectedKeys:["master"],expandedKeys:["master","link","sub"],iconMap:{master:"FormOutlined",link:"BlockOutlined",sub:"BoxPlotOutlined"},data:[{title:"主数据",dsn:"master",group:"master"},{title:"子数据[1*n]",dsn:"sub",group:"sub",isLeaf:!1,children:[]},{title:"关联数据[n*1]",dsn:"link",group:"link",isLeaf:!1,children:[]}],onSelect:(m,{node:p})=>{o.value=p.dataRef,e.nextTick(()=>{["sub","link"].includes(p.dsn)?(r.value?.setDisabled(!0),r.value?.reset()):r.value?.setDisabled(!1),!["sub","link"].includes(p.dsn)&&(p.group=="sub"||p.group=="link")&&r.value?.setValue(p.dataRef)}),d.value=[],p.group=="link"&&(d.value=l.value.configs?.fields?.filter(A=>A.configs?.fkey?.enable).map(A=>({label:A.title+"["+A.name+"]",value:A.name})),i.value="关联字段为主数据中的外键字段"),p.group=="sub"&&(d.value=o.value?.fields?.filter(A=>A.configs?.fkey?.enable).map(A=>({label:A.title+"["+A.name+"]",value:A.name})),i.value="关联字段为子数据中的外键字段")},addNode:m=>{const p={title:m.group=="sub"?"子数据":"绑定关联数据",name:"",dsn:je.randomStr(15),vers:1,group:m.group,types:m.group=="sub"?"inner":"setting",fields:[]};m.children.push(p),a.value.selectedKeys=[p.dsn],a.value.expandedKeys=[m.dsn],o.value=p,d.value=[],e.nextTick(()=>{r.value.setDisabled(!1),r.value.setValue(p)})},delNode:m=>{n.confirm({content:"确认删除吗?",onOk:()=>{const p=m.group=="sub"?a.value.data[1]:a.value.data[2];p.children=p.children.filter(A=>A.dsn!=m.dsn),a.value.selectedKeys=a.value.selectedKeys.filter(A=>A!=m.dsn),a.value.expandedKeys=a.value.expandedKeys.filter(A=>A!=m.dsn),a.value.data=[...a.value.data]}})}});e.watch(()=>a.value.data[1].children,(m,p)=>{l.value.configs.form.dataModels=l.value.configs.form.dataModels.filter(A=>A.group!=="sub"),m.forEach(A=>{A.fields.forEach(b=>{b.configs?.fkey?.enable&&(b.isFk=1)})}),l.value.configs.form.dataModels.splice(1,0,...m),d.value=o.value?.fields?.filter(A=>A.configs?.fkey?.enable).map(A=>({label:A.title+"["+A.name+"]",value:A.name}))},{deep:!0}),e.watch(()=>a.value.data[2].children,(m,p)=>{l.value.configs.form.dataModels=l.value.configs.form.dataModels.filter(A=>A.group!=="link"),m.forEach(A=>{A.fields.forEach(b=>{b.configs?.fkey?.enable&&(b.isFk=1)})}),l.value.configs.form.dataModels.splice(1,0,...m)},{deep:!0});const i=e.ref(""),d=e.ref([]),r=e.ref(null),s=e.ref({fields:[{title:"数据标题",name:"title",required:!0,control:"unione-data-model-selector",props:{dsId:l.value?.dsId,modelField:{title:"title",id:"id",name:"name",sn:"dsn",vers:"vers",types:"types"},nids:[l.value?.id]},event:{disabled:(m,p)=>p.types!="inner",visible:(m,p)=>p.group!="link",select:(m,{formValue:p,row:A,type:b})=>{b=="define"?(o.value.types=A.types,f(A)):(o.value.types="inner",p.id="",p.dsn="",p.vers=1,p.types="inner",c({dsId:A.dsId,name:A.name}))}}},{title:"数据标题",name:"title",required:!0,event:{disabled:()=>!0,visible:(m,p)=>p.group=="link"}},{title:"数据名称",name:"name",required:!0,event:{disabled:(m,p)=>p.types!="inner"||!!p.id}},{title:"数据编码",name:"dsn",required:!0,event:{disabled:(m,p)=>p.types!="inner"||!!p.id}},{title:"版本",name:"vers",props:{disabled:!0}},{title:"关联字段",name:"linkField",control:"unione-select-box",props:{options:d,help:i},required:!0}],setting:{showColumn:1,labelWidth:5}});function f(m){P.axios.form({url:"/api/data/field/find",method:"post",data:{body:{defineId:m.id},pageSize:1e3}}).then(p=>{p.success&&(o.value.fields=p.body)})}function c({dsId:m,name:p}){if(!m||!p)return;const A=new FormData;A.append("dsId",m),A.append("table",p),P.axios.form({url:"/api/data/define/load/db/field",method:"post",data:A}).then(b=>{b.success?o.value.fields=b.body:n.error({content:"加载数据表字段失败"})})}const g=e.ref({loading:!1,toasync:()=>{g.value.loading=!0,P.axios.form({url:"/api/data/define/async",method:"post",headers:{"Content-Type":"application/json"},data:l.value.id}).then(m=>{g.value.loading=!1,m.success?(n.success({content:"同步成功"}),l.value.syncFlag=1):n.error({content:"同步失败"})})}});return e.onMounted(()=>{l.value?.configs?.form?.dataModels&&(l.value.configs.form.dataModels.forEach(m=>{m.fields&&m.fields.forEach(p=>{p.isFk==1&&(p.configs={fkey:{enable:!0}})})}),a.value.data[1].children=l.value.configs.form.dataModels.filter(m=>m.group==="sub"),a.value.data[2].children=l.value.configs.form.dataModels.filter(m=>m.group==="link"))}),(m,p)=>{const A=e.resolveComponent("PlusOutlined"),b=e.resolveComponent("DeleteOutlined"),h=e.resolveComponent("a-tree"),u=e.resolveComponent("a-button"),v=e.resolveComponent("FormOutlined"),N=e.resolveComponent("unione-form"),w=e.resolveComponent("a-tab-pane"),k=e.resolveComponent("a-tabs"),B=e.resolveComponent("OrderedListOutlined"),S=e.resolveComponent("AlertOutlined");return e.openBlock(),e.createElementBlock("div",wk,[e.createElementVNode("div",Ck,[e.createElementVNode("div",Ak,[e.createVNode(h,{"show-line":"","show-icon":"",blockNode:"","default-expanded-keys":a.value.expandedKeys,selectedKeys:a.value.selectedKeys,"onUpdate:selectedKeys":p[1]||(p[1]=y=>a.value.selectedKeys=y),"tree-data":a.value.data,fieldNames:{key:"dsn"},onSelect:a.value.onSelect},{icon:e.withCtx(({dataRef:y})=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a.value.iconMap[y.group])))]),title:e.withCtx(({dataRef:y})=>[e.createElementVNode("div",{class:"node-label",onMouseover:()=>a.value.mshoverNode=y,onMouseleave:p[0]||(p[0]=()=>a.value.mshoverNode=null)},[e.createElementVNode("span",null,e.toDisplayString(y.title),1),["sub"].includes(y.group)&&(a.value.mshoverNode?.dsn==y.dsn||o.value?.dsn==y.dsn)?(e.openBlock(),e.createElementBlock("div",Nk,[["sub","link"].includes(y.dsn)?(e.openBlock(),e.createBlock(A,{key:0,class:"opt btn-add",onClick:e.withModifiers(x=>a.value.addNode(y),["stop"])},null,8,["onClick"])):e.createCommentVNode("",!0),["sub","link"].includes(y.dsn)?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(b,{key:1,class:"opt btn-del",onClick:e.withModifiers(x=>a.value.delNode(y),["stop"])},null,8,["onClick"]))])):e.createCommentVNode("",!0)],40,xk)]),_:1},8,["default-expanded-keys","selectedKeys","tree-data","onSelect"])]),e.createElementVNode("div",Sk,[e.createElementVNode("div",_k,[e.createVNode(u,{onClick:g.value.toasync,loading:g.value.loading},{default:e.withCtx(()=>p[6]||(p[6]=[e.createTextVNode("同步模型")])),_:1},8,["onClick","loading"])]),o.value.group!="master"?(e.openBlock(),e.createBlock(k,{key:0},{default:e.withCtx(()=>[e.createVNode(w,{key:"field-mange"},{tab:e.withCtx(()=>[e.createVNode(v),p[7]||(p[7]=e.createTextVNode("关联设置 "))]),default:e.withCtx(()=>[e.createVNode(N,{form:s.value,ref_key:"formRef",ref:r,style:{width:"50%"},class:"form-data-info"},null,8,["form"])]),_:1})]),_:1})):e.createCommentVNode("",!0),l.value.configs?(e.openBlock(),e.createBlock(k,{key:1},{default:e.withCtx(()=>[e.createVNode(w,{key:"field-mange"},{tab:e.withCtx(()=>[e.createVNode(B),p[8]||(p[8]=e.createTextVNode("字段管理 "))]),default:e.withCtx(()=>[o.value.group==="master"?(e.openBlock(),e.createBlock(ya,{key:0,modelValue:l.value.configs.fields,"onUpdate:modelValue":p[2]||(p[2]=y=>l.value.configs.fields=y),pagination:!1},null,8,["modelValue"])):(e.openBlock(),e.createBlock(ya,{key:1,modelValue:o.value.fields,"onUpdate:modelValue":p[3]||(p[3]=y=>o.value.fields=y),disabled:o.value.types!="inner",pagination:!1},null,8,["modelValue","disabled"]))]),_:1}),e.createVNode(w,{key:"field-setting",class:"field-setting"},{tab:e.withCtx(()=>[e.createVNode(B),p[9]||(p[9]=e.createTextVNode("字段设置 "))]),default:e.withCtx(()=>[o.value.group==="master"?(e.openBlock(),e.createBlock(va,{key:0,modelValue:l.value.configs.fields,"onUpdate:modelValue":p[4]||(p[4]=y=>l.value.configs.fields=y),pagination:!1,inCols:["name","title","widget","rules","convertName"]},null,8,["modelValue"])):(e.openBlock(),e.createBlock(va,{key:1,modelValue:o.value.fields,"onUpdate:modelValue":p[5]||(p[5]=y=>o.value.fields=y),pagination:!1,inCols:["name","title","widget","rules","convertName"]},null,8,["modelValue"]))]),_:1})]),_:1})):e.createCommentVNode("",!0),e.createElementVNode("div",Vk,[e.createVNode(S,{style:{"font-size":"16px"}}),p[10]||(p[10]=e.createTextVNode("数据模型可以为空,表单设计过程中将自动生成"))])])])])}}}),[["__scopeId","data-v-526789c4"]]),Ek={class:"form-define widget-list"},Ok={class:"title"},Tk={class:"btn-widgets"},Rk=["id"],Fk=Z(e.defineComponent({name:"UnioneFormDesignWidgetList",__name:"widgetList",setup(t){const n=e.ref({activeTab:"widgets",activePanel:"form",groups:[{title:"表单组件",key:"form",icon:"FormOutlined",items:[]},{title:"高级组件",key:"advance",icon:"ToolOutlined",items:[]},{title:"系统组件",key:"sys",icon:"AppstoreOutlined",items:[]},{title:"布局组件",key:"layout",icon:"LayoutOutlined",items:[]},{title:"图表组件",key:"chart",icon:"PieChartOutlined",items:[]},{title:"业务组件",key:"biz",icon:"BlockOutlined",items:[]}]});function l(){P.axios.admin({url:"/api/page/widget/load",method:"post",data:{}}).then(a=>{a.success&&(n.value.groups.forEach(i=>{i.items=a.body.filter(d=>d.types===i.key).map(d=>{try{return{...JSON.parse(d.props),wid:d.id}}catch{return console.warn("组件配置异常",d.id,d.name,d.title),null}}).filter(d=>d!==null)}),Ve.buildComponent(a.body))})}function o(a){const i=JSON.parse(JSON.stringify(a));return i.wid=je.randomStr(32),i}return e.onMounted(()=>{l()}),(a,i)=>{const d=e.resolveComponent("a-button"),r=e.resolveComponent("a-empty"),s=e.resolveComponent("a-collapse-panel"),f=e.resolveComponent("a-collapse");return e.openBlock(),e.createElementBlock("div",Ek,[e.createVNode(f,{bordered:!1,expandIconPosition:"end",ghost:"",activeKey:n.value.activePanel,"onUpdate:activeKey":i[0]||(i[0]=c=>n.value.activePanel=c)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value.groups,c=>(e.openBlock(),e.createBlock(s,{key:c.key},{header:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(c.icon||"EditOutlined"))),e.createElementVNode("span",Ok,e.toDisplayString(c.title),1)]),default:e.withCtx(()=>[e.createElementVNode("div",Tk,[e.createVNode(e.unref(On),{list:c.items,sort:!1,animation:300,chosenClass:"widget-chosen",clone:o,group:{name:"widget-container",pull:"clone",put:!1},handle:".btn-widget","item-key":"id"},{item:e.withCtx(({element:g})=>[e.createElementVNode("div",{class:"btn-widget",id:g.id},[e.createVNode(d,null,{icon:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(g.icon||"EditOutlined")))]),default:e.withCtx(()=>[e.createTextVNode(" "+e.toDisplayString(g.title),1)]),_:2},1024)],8,Rk)]),_:2},1032,["list"])]),c.items.length===0?(e.openBlock(),e.createBlock(r,{key:0})):e.createCommentVNode("",!0)]),_:2},1024))),128))]),_:1},8,["activeKey"])])}}}),[["__scopeId","data-v-9d07436d"]]),$k={key:0,class:"form-define form-props"},Ik=Z(e.defineComponent({__name:"formProps",props:e.mergeModels({engine:{type:Object}},{define:{type:Object,default(){return{configs:{setting:{}}}}},defineModifiers:{}}),emits:["update:define"],setup(t){const n=e.useModel(t,"define"),l=e.ref(),o=e.ref({isPrimary:!1,fields:[{title:"表单大小",name:"setting.formSize",control:"unione-radio-box",value:"default",convert:{types:"options",options:[{label:"默认",value:"default"},{label:"小型",value:"small"},{label:"大型",value:"large"}]}},{title:"对齐方式",name:"setting.labelAlign",control:"unione-radio-box",value:"right",convert:{types:"options",options:[{label:"右对齐",value:"right"},{label:"左对齐",value:"left"},{label:"上下对齐",value:"top"}]}},{title:"显示列数",name:"setting.showColumn",control:"unione-radio-box",value:1,convert:{types:"options",options:[{label:"1列",value:1},{label:"2列",value:2},{label:"3列",value:3},{label:"4列",value:4}]}},{title:"标题宽度",name:"setting.labelWidth",control:"unione-slider-box",value:4,props:{min:2,max:24,step:0,marks:{2:{label:"2",style:{color:""}},4:{label:"4",style:{color:""}},6:{label:"6",style:{color:""}},8:{label:"8",style:{color:""}},10:{label:"10",style:{color:""}},12:{label:"12",style:{color:""}},14:{label:"14",style:{color:""}},16:{label:"16",style:{color:""}},18:{label:"18",style:{color:""}},20:{label:"20",style:{color:""}},22:{label:"22",style:{color:""}},24:{label:"24",style:{color:""}}}}},{title:"表单样式",name:"setting.css"},{title:"溯源日志",name:"setting.isTraceLog",control:"unione-switch-box",value:0,props:{tooltip:"开启后,更新表单,详情表单页面将显示溯源日志"},convert:{types:"dict",dictName:"TUREORFALSE"}},{title:"表单权限",name:"setting.enablePermis",control:"unione-switch-box",value:0,props:{tooltip:"开启后,需要有权限用户才可以操作表单,包括:查看,编辑权限"},convert:{types:"dict",dictName:"TUREORFALSE"}},{title:"业务组件",name:"setting.bizKey",props:{tooltip:"开启后,新增/修改时根据业务组件查重,保证唯一性"}},{title:"表单按钮",widget:"unione-section",props:{type:"line",bottomLine:!0}},{name:"btns",control:"unione-page-btn-setting",value:[{name:"save",enable:!0,title:"保存",label:"保存"},{name:"reset",enable:!0,title:"重置",label:"重置"},{name:"back",enable:!0,title:"返回",label:"返回"}],props:{preset:["save","reset","back"],uncheckable:["save","reset","back"]}},{title:"表单事件",widget:"unione-section",props:{type:"line",bottomLine:!0}},{title:"onLoad",name:"event.onLoad",control:"unione-code-input",props:{help:"表单加载完成事件"}},{title:"beforeSubmit",name:"event.beforeSubmit",control:"unione-code-input",props:{help:"提交前自定义逻辑,返回false,取消提交"}},{title:"afterSubmit",name:"event.afterSubmit",control:"unione-code-input",props:{help:"提交后自定义逻辑"}}],setting:{showColumn:1,labelWidth:24,layout:"vertical"}});return e.onMounted(()=>{n.value.configs.form||(n.value.configs.form={}),n.value.configs.form.setting||(n.value.configs.form.setting={}),n.value.configs.form.event||(n.value.configs.form.event={}),l.value.setValue(n.value.configs.form)}),(a,i)=>{const d=e.resolveComponent("unione-form");return n.value.configs?(e.openBlock(),e.createElementBlock("div",$k,[e.createVNode(d,{form:o.value,ref_key:"formObj",ref:l},null,8,["form"])])):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-ba857283"]]),Mk={class:"widget-setting"},Dk={class:"opts"},Uk={class:"title"},Lk={class:"props-list"},jk={key:0,class:"opts"},Pk={class:"btns"},As=Z(e.defineComponent({name:"UnioneWidgetSetting",__name:"setting",props:e.mergeModels({model:{type:String,default:"run"},tabs:{type:Array,default(){return[]}},engine:{type:Object}},{props:{type:Array,default(){return[{title:"组件属性",key:"props",icon:"UnorderedListOutlined",index:0},{title:"组件样式",key:"css",icon:"ControlOutlined",index:1}]}},propsModifiers:{},widget:{type:Object},widgetModifiers:{}}),emits:["update:props","update:widget"],setup(t){const n=P.useDialog(),l=t,o=e.ref({}),a=e.useModel(t,"props"),i=e.useModel(t,"widget");e.watch(()=>i.value,(h,u)=>{(!u||!u.wid)&&h?.wid&&d.value[0]&&(f.value=d.value[0].key,a.value?.forEach(v=>{const N=v.key;v.list&&v.list[0]?.key&&(o.value[N]=v.list[0].key)}))}),e.provide("formSetting",{labelWidth:24,labelAlign:"top"});const d=e.computed(()=>!i.value||Object.keys(i.value).length<=0?l.tabs||[]:[...a.value,...l.tabs].sort((u,v)=>(u.index||0)-(v.index||0))),r=e.ref(),s=e.ref({title:"新增属性",placement:"right",visible:!1,panel:null,group:null,props:null,target:null,form:{fields:[{title:"属性标题",name:"title",required:!0,event:{title:()=>c.value=="panel"?"面板标题":c.value=="group"?"分组标题":"属性标题"}},{title:"属性名称",name:"name",required:!0,event:{visible:(h,u)=>c.value=="props"&&u.control!="unione-widget-name"}},{title:"面板名称",name:"key",required:!0,event:{visible:()=>c.value=="panel"||c.value=="group",title:()=>c.value=="panel"?"面板名称":"分组名称"}},{title:"默认值",name:"value",event:{visible:(h,u)=>c.value=="props"&&u.control!="unione-widget-name"}},{title:"面板图标",name:"icon",control:"unione-icon-select",event:{visible:()=>c.value=="panel"||c.value=="group",title:()=>c.value=="panel"?"面板图标":"分组图标"}},{title:"显示顺序",name:"index",control:"a-input-number"},{title:"是否只读",name:"props.disabled",control:"unione-switch-box",value:!1,convert:{types:"dict",dictName:"TRUEORFALSE"},event:{visible:(h,u)=>c.value=="props"&&u.control!="unione-widget-name"}},{title:"控件类型",name:"control",control:"unione-select-box",value:"a-input",required:!0,props:{options:[{label:"开关",value:"unione-switch-box"},{label:"输入框",value:"a-input"},{label:"单选框",value:"unione-radio-box"},{label:"复选框",value:"unione-check-box"},{label:"文本域",value:"a-textarea"},{label:"数值框",value:"a-input-number"},{label:"下拉选择框",value:"unione-select-box"},{label:"图标选择框",value:"unione-icon-select"},{label:"颜色选择框",value:"unione-color-box"},{label:"图片选择框",value:"unione-upload-box",props:{listType:"picture-card",accept:"image/*",maxCount:9}},{label:"代码编辑框",value:"unione-code-editor"},{label:"代码输入框",value:"unione-code-input"},{label:"滑块输入条",value:"unione-slider-box"},{label:"转换器设置",value:"unione-convert-setting"},{label:"选项设置",value:"unione-item-setting"},{label:"数据绑定",value:"unione-data-bind"},{label:"数据标题",value:"unione-data-title"},{label:"控件名称",value:"unione-widget-name"}]},event:{visible:()=>c.value=="props",select:(h,{option:u,formValue:v})=>{u.props&&["unione-upload-box"].includes(h)?v.props=u.props:delete v.props}}},{title:"选项设置",name:"convert",control:"unione-convert-setting",required:!0,props:{exclude:["local"],widgetName:"$control"},event:{visible:(h,u)=>c.value=="props"&&["unione-select-box","unione-check-box","unione-radio-box","unione-switch-box"].includes(u.control)}},{title:"滑块设置",name:"props",control:"unione-slider-setting",event:{visible:(h,u)=>c.value=="props"&&["unione-slider-box"].includes(u.control)}},{title:"最小值",name:"props.min",control:"a-input-number",event:{visible:(h,u)=>c.value=="props"&&["a-input-number"].includes(u.control)}},{title:"最大值",name:"props.max",control:"a-input-number",event:{visible:(h,u)=>c.value=="props"&&["a-input-number"].includes(u.control)}},{title:"步长",name:"props.step",control:"a-input-number",event:{visible:(h,u)=>c.value=="props"&&["a-input-number"].includes(u.control)}},{title:"前缀",name:"props.addonBefore",event:{visible:(h,u)=>c.value=="props"&&["a-input-number","a-input"].includes(u.control)}},{title:"后缀",name:"props.addonAfter",event:{visible:(h,u)=>c.value=="props"&&["a-input-number","a-input"].includes(u.control)}},{title:"对象结构",name:"props.factory",control:"unione-code-editor",props:{help:'对象结构,用于自定义选项的结构,例如:{icon:"",title:"",xxx:[]}'},event:{visible:(h,u)=>c.value=="props"&&["unione-item-setting"].includes(u.control)}},{title:"绑定类型",name:"props.type",control:"unione-select-box",value:"name",props:{options:[{label:"名称",value:"name"},{label:"表格",value:"table"}]},event:{visible:(h,u)=>c.value=="props"&&["unione-data-bind"].includes(u.control)}}],setting:{showColumn:1,labelWidth:5}}}),f=e.ref("props"),c=e.ref("panel");function g(h,u,v){c.value=h,s.value.target=null,s.value.visible=!0,s.value.panel=u,s.value.group=v,s.value.props=null,h=="panel"?s.value.title="新增属性面板":h=="group"?s.value.title="新增分组":s.value.title="新增属性",e.nextTick(()=>{r.value.reset()})}function m(h,u,v,N){n.confirm({content:"确定删除吗?",onOk:()=>{h=="panel"?a.value.splice(u.index,1):h=="group"?u.list.splice(v.index,1):v.list=v.list.filter(w=>w.key!=N.key),a.value=[...a.value]}})}function p(h,u,v,N){c.value=h,s.value.visible=!0,s.value.panel=u,s.value.group=v,s.value.props=N,h=="panel"?(s.value.title="编辑属性面板",s.value.target=u,e.nextTick(()=>{r.value.setValue(u)})):h=="group"?(s.value.title="编辑分组",s.value.target=v,e.nextTick(()=>{r.value.setValue(v)})):(s.value.title="编辑属性",s.value.target=N,e.nextTick(()=>{r.value.setValue(N)}))}function A(){r.value.validate().then(h=>{if(s.value.visible=!1,c.value=="props"&&typeof i.value=="object"&&P.utils.obj.setValue(i.value,h.name,h.value||h.value==0||typeof h.value=="boolean"?h.value:""),s.value.target){c.value=="props"&&(s.value.group.list=s.value.group.list.filter(u=>u.key!=h.key),s.value.group.list.splice(h.index,0,{...h}));return}c.value=="panel"?(h.list=[],h.index>=0?a.value.splice(h.index,0,h):(h.index=a.value.length,a.value.push(h)),a.value=[...a.value]):c.value=="group"?(s.value.panel.list||(s.value.panel.list=[]),h.list=[],h.index>=0?s.value.panel.list.splice(h.index,0,h):(h.index=s.value.panel.list.length,s.value.panel.list.push(h)),o.value[s.value.panel.key]=h.key,s.value.panel={...s.value.panel}):(s.value.group.list||(s.value.group.list=[]),h.key=je.randomStr(10),h.index>=0?s.value.group.list.splice(h.index,0,h):(h.index=s.value.group.list.length,s.value.group.list.push(h)),s.value.group={...s.value.group})})}function b(h){h.list.forEach((u,v)=>{u.index=v})}return e.onMounted(()=>{o.value={},a.value&&a.value.forEach(h=>{const u=h.key;h.list&&h.list[0]?.key&&(o.value[u]=h.list[0].key)}),d.value[0]&&(f.value=d.value[0].key)}),(h,u)=>{const v=e.resolveComponent("PlusOutlined"),N=e.resolveComponent("a-button"),w=e.resolveComponent("FormOutlined"),k=e.resolveComponent("DeleteOutlined"),B=e.resolveComponent("unione-form-item"),S=e.resolveComponent("a-empty"),y=e.resolveComponent("a-collapse-panel"),x=e.resolveComponent("a-collapse"),E=e.resolveComponent("a-tab-pane"),_=e.resolveComponent("a-tabs"),C=e.resolveComponent("unione-form"),O=e.resolveComponent("a-drawer");return e.openBlock(),e.createElementBlock("div",Mk,[e.createVNode(_,{activeKey:f.value,"onUpdate:activeKey":u[1]||(u[1]=T=>f.value=T)},{rightExtra:e.withCtx(()=>[t.model=="design"?(e.openBlock(),e.createBlock(N,{key:0,size:"small",shape:"circle",onClick:u[0]||(u[0]=T=>g("panel"))},{default:e.withCtx(()=>[e.createVNode(v)]),_:1})):e.createCommentVNode("",!0)]),default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.model=="design"?a.value:d.value,T=>(e.openBlock(),e.createBlock(E,{key:T.key},{tab:e.withCtx(()=>[T.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(T.icon),{key:0})):e.createCommentVNode("",!0),e.createTextVNode(e.toDisplayString(T.title)+" ",1),e.createElementVNode("div",Dk,[t.model=="design"?(e.openBlock(),e.createBlock(w,{key:0,class:"opt",onClick:V=>p("panel",T)},null,8,["onClick"])):e.createCommentVNode("",!0),t.model=="design"?(e.openBlock(),e.createBlock(k,{key:1,class:"opt",onClick:V=>m("panel",T)},null,8,["onClick"])):e.createCommentVNode("",!0)])]),default:e.withCtx(()=>[e.createVNode(x,{bordered:!1,expandIconPosition:"end",ghost:"",activeKey:o.value[T.key],"onUpdate:activeKey":V=>o.value[T.key]=V},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(T.list,V=>(e.openBlock(),e.createBlock(y,{key:V.key,class:"props-group"},{header:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(V.icon||"EditOutlined"))),e.createElementVNode("span",Uk,e.toDisplayString(V.title),1)]),extra:e.withCtx(()=>[t.model=="design"?(e.openBlock(),e.createBlock(w,{key:0,class:"opt",onClick:e.withModifiers($=>p("group",T,V),["stop"])},null,8,["onClick"])):e.createCommentVNode("",!0),t.model=="design"?(e.openBlock(),e.createBlock(k,{key:1,class:"opt",onClick:e.withModifiers($=>m("group",T,V),["stop"])},null,8,["onClick"])):e.createCommentVNode("",!0),t.model=="design"?(e.openBlock(),e.createBlock(v,{key:2,class:"opt",onClick:e.withModifiers($=>g("props",T,V),["stop"])},null,8,["onClick"])):e.createCommentVNode("",!0)]),default:e.withCtx(()=>[e.createElementVNode("div",Lk,[e.createVNode(e.unref(On),{list:V.list,"onUpdate:list":$=>V.list=$,animation:300,handle:".ant-form-item-label",sort:!0,disabled:t.model!="design",onEnd:$=>b(V)},{item:e.withCtx(({element:$})=>[(e.openBlock(),e.createBlock(B,{key:$.key,widget:$,formValue:i.value,class:"drag",allowClear:"",engine:t.engine,model:"design"},{default:e.withCtx(()=>[t.model=="design"?(e.openBlock(),e.createElementBlock("div",jk,[e.createVNode(w,{class:"opt",onClick:e.withModifiers(I=>p("props",T,V,$),["stop"])},null,8,["onClick"]),e.createVNode(k,{class:"opt",onClick:e.withModifiers(I=>m("props",T,V,$),["stop"])},null,8,["onClick"])])):e.createCommentVNode("",!0)]),_:2},1032,["widget","formValue","engine"]))]),_:2},1032,["list","onUpdate:list","disabled","onEnd"])]),V.list?.length?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(S,{key:0}))]),_:2},1024))),128))]),_:2},1032,["activeKey","onUpdate:activeKey"]),e.renderSlot(h.$slots,T.key,{},()=>[t.model=="design"?(e.openBlock(),e.createBlock(N,{key:0,onClick:V=>g("group",T),type:"dashed",block:""},{default:e.withCtx(()=>u[4]||(u[4]=[e.createTextVNode("新建分组")])),_:2},1032,["onClick"])):e.createCommentVNode("",!0)],!0)]),_:2},1024))),128))]),_:3},8,["activeKey"]),e.createVNode(O,{title:s.value.title,width:550,visible:s.value.visible,"onUpdate:visible":u[3]||(u[3]=T=>s.value.visible=T),placement:s.value.placement,class:"drawer-form"},{footer:e.withCtx(()=>[e.createElementVNode("div",Pk,[e.createVNode(N,{onClick:u[2]||(u[2]=T=>s.value.visible=!1)},{default:e.withCtx(()=>u[5]||(u[5]=[e.createTextVNode("取消")])),_:1}),e.createVNode(N,{type:"primary",onClick:A},{default:e.withCtx(()=>u[6]||(u[6]=[e.createTextVNode("保存")])),_:1})])]),default:e.withCtx(()=>[e.createVNode(C,{form:s.value.form,ref_key:"formRef",ref:r},null,8,["form"])]),_:1},8,["title","visible","placement"])])}}}),[["__scopeId","data-v-62658eca"]]),qk={class:"form-define form-editor"},zk={class:"widget-list"},Qk={class:"top-opts"},Hk={class:"left"},Yk={class:"right"},Wk={class:"editor-form"},Kk={key:1,class:"tips"},Gk={class:"widget-props"},Jk=Z(e.defineComponent({name:"UnioneFormDesignBaseInfo",__name:"formEditor",props:{define:{type:Object,default(){return{configs:{widgets:[]}}}},defineModifiers:{}},emits:["update:define"],setup(t,{expose:n}){const l=P.useDialog(),o=e.useModel(t,"define"),a=e.ref(),i=e.computed(()=>a.value?.status()||{}),d=e.ref(),r=e.computed(()=>a.value?.widgetActive),s=e.computed(()=>r.value?Ve.conponents.value[r.value.control||r.value.widget||r.value.name]?.configs.props:null);e.watch(()=>o.value.configs.form.dataModels,(m,p)=>{m!==p&&(a.value.dataModels=m)}),e.watch(()=>o.value.configs.form.setting,m=>{a.value.$widgetMap["primary-form"].setting=je.obj.set(a.value.$widgetMap["primary-form"].setting,m||{})},{deep:!0});function f(m,p){a.value&&(m=="clear"?l.confirm({content:"确认清空组件吗?",onOk:()=>{a.value.ebus.$emit("cmd:exec",{name:m,params:p}),e.nextTick(()=>{o.value.configs.form.widgets=[],o.value.configs.form.widgets.push({wid:"primary-form",widget:"unione-form",primary:!0,widgets:[]}),a.value=new Ve({sn:o.value.sn,title:o.value.title,types:o.value.types,vers:o.value.vers,fields:o.value.configs.fields,configs:o.value.configs.form},{model:"edit"})})}}):a.value.ebus.$emit("cmd:exec",{name:m,params:p}))}function c(){return new Promise((m,p)=>{const A=a.value.$widgetMap,b=[];for(const h in A){const u=A[h];if(!u.widget||u.widget!="unione-form-item")continue;const v={wid:u.wid,title:u.title,items:[]};if(!u.name)v.items.push("请绑定数据字段");else{let N=null,w=a.value.widget(u.pid);for(;w;){if(w.dsn){N=w.dsn;break}w=a.value.widget(w.pid)}if(N&&a.value.dataModels){const k=a.value.dataModels.find(B=>B.dsn===N);if(k)k.fields.filter(S=>S.name==u.name)[0]||v.items.push("绑定的数据字段不存在");else{const B=a.value.dataModels[0];B&&(B.fields.filter(y=>y.name==u.name)[0]||v.items.push("绑定的数据字段不存在"))}}}v.items.length&&b.push(v)}if(b.length){p(b);return}m(o.value)})}function g(m){a.value?.ebus.$emit("cmd:exec",{name:"setActive",params:m})}return e.onMounted(()=>{o.value.configs.form||(o.value.configs.form={}),o.value.configs.form.widgets||(o.value.configs.form.widgets=[]),o.value.configs.form.widgets.length||o.value.configs.form.widgets.push({wid:"primary-form",widget:"unione-form",widgets:[]}),a.value=new Ve({sn:o.value.sn,title:o.value.title,types:o.value.types,vers:o.value.vers,fields:o.value.configs.fields,configs:o.value.configs.form},{model:"edit"})}),n({save:c,scrollToWidget:g}),(m,p)=>{const A=e.resolveComponent("a-tab-pane"),b=e.resolveComponent("a-empty"),h=e.resolveComponent("a-tabs"),u=e.resolveComponent("DesktopOutlined"),v=e.resolveComponent("MobileOutlined"),N=e.resolveComponent("UndoOutlined"),w=e.resolveComponent("RedoOutlined"),k=e.resolveComponent("ClearOutlined"),B=e.resolveComponent("PlayCircleOutlined"),S=e.resolveComponent("unione-form"),y=e.resolveComponent("a-card");return e.openBlock(),e.createElementBlock("div",qk,[e.createElementVNode("div",zk,[e.createVNode(h,null,{default:e.withCtx(()=>[e.createVNode(A,{key:"widgets",tab:"控件"},{default:e.withCtx(()=>[e.createVNode(Fk)]),_:1}),e.createVNode(A,{key:"tmpls",tab:"模板"},{default:e.withCtx(()=>[e.createVNode(b)]),_:1})]),_:1})]),e.createVNode(y,{class:"editor-container",bodyStyle:{padding:0}},{title:e.withCtx(()=>[e.createElementVNode("div",Qk,[e.createElementVNode("div",Hk,[e.createVNode(u,{class:"opt active"}),e.createVNode(v,{class:"opt"})]),e.createElementVNode("div",Yk,[e.createVNode(N,{class:"opt",disabled:i.value.undoCount===0,onClick:p[0]||(p[0]=x=>f("undo")),title:"撤销"},null,8,["disabled"]),e.createVNode(w,{class:"opt",disabled:i.value.redoCount===0,onClick:p[1]||(p[1]=x=>f("redo")),title:"重做"},null,8,["disabled"]),e.createVNode(k,{class:"opt",onClick:p[2]||(p[2]=x=>f("clear")),title:"清空"}),e.createVNode(B,{class:"opt"})])])]),default:e.withCtx(()=>[e.createElementVNode("div",Wk,[a.value&&a.value.$widgetList.length>0?(e.openBlock(),e.createBlock(S,{key:0,engine:a.value,wid:"primary-form",model:"design"},null,8,["engine"])):e.createCommentVNode("",!0),i.value.size<=1?(e.openBlock(),e.createElementBlock("div",Kk,"请从左侧拖拽组件或者点击添加组件")):e.createCommentVNode("",!0)])]),_:1}),e.createElementVNode("div",Gk,[e.createVNode(As,{tabs:[{icon:"FormOutlined",title:"表单属性",key:"form",index:3}],props:s.value,widget:r.value,engine:a.value,ref_key:"widgetSettingRef",ref:d},{form:e.withCtx(()=>[e.createVNode(Ik,{define:o.value,"onUpdate:define":p[3]||(p[3]=x=>o.value=x),engine:a.value},null,8,["define","engine"])]),_:1},8,["props","widget","engine"])])])}}}),[["__scopeId","data-v-e066c759"]]);/**!
|
|
46
|
+
`)}catch(h){return console.error("JavaScript 格式化失败,返回原始代码",h),b}}return n({formatCode:g}),(b,h)=>(e.openBlock(),e.createElementBlock("div",fv,[h[1]||(h[1]=e.createElementVNode("div",{class:"left-mask"},null,-1)),e.createVNode(e.unref(Zt.Codemirror),{ref_key:"codeEditor",ref:o,modelValue:s.value,"onUpdate:modelValue":h[0]||(h[0]=u=>s.value=u),style:{height:"100%"},autofocus:!0,placeholder:t.placeholder,onChange:c,"indent-with-tab":!0,tabSize:4,extensions:i.value,scrollbarStyle:null,disabled:f.value=="view"},null,8,["modelValue","placeholder","extensions","disabled"])]))}}),[["__scopeId","data-v-62282752"]]),mv={class:"page-setting-dialog"},Cn=e.defineComponent({__name:"page",props:{settingTitle:{type:String,default:"页面设置"},engine:{type:Object,required:!1}},emits:["setting","saving"],setup(t,{emit:n}){const l=t,o=e.computed(()=>l.engine?.model?.value),a=P.useSession(),i=e.computed(()=>a.getPrincipal()),d=e.ref(!1);e.provide("closeSetting",()=>{l.engine?.save().then(m=>{d.value=!1})});function r(){d.value=!0}function s(){l.engine?.save().then(m=>{console.log("res",m)})}function f(){l.engine?.save().then(m=>{console.log("res",m)})}const c=e.ref("");function g(m){c.value||(c.value=o.value),m?l.engine?.setModel("edit"):l.engine?.setModel(c.value)}return(m,p)=>{const A=e.resolveComponent("SettingOutlined"),b=e.resolveComponent("a-tooltip"),h=e.resolveComponent("SaveOutlined"),u=e.resolveComponent("FormOutlined"),v=e.resolveComponent("StopOutlined"),N=e.resolveComponent("a-modal");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["unione-page",o.value])},[o.value=="edit"&&m.$slots["page-setting"]&&i.value?.userRoles?.includes("FORM-ADMIN")?(e.openBlock(),e.createBlock(b,{key:0,title:t.settingTitle},{default:e.withCtx(()=>[e.createVNode(A,{class:"page-setting",onClick:r})]),_:1},8,["title"])):e.createCommentVNode("",!0),o.value=="edit"&&m.$slots["page-setting"]&&i.value?.userRoles?.includes("FORM-ADMIN")?(e.openBlock(),e.createBlock(b,{key:1,title:"保存页面"},{default:e.withCtx(()=>[e.createVNode(h,{class:"btn-save",onClick:s})]),_:1})):e.createCommentVNode("",!0),o.value!="edit"&&i.value?.userRoles?.includes("FORM-ADMIN")?(e.openBlock(),e.createBlock(b,{key:2,title:"编辑页面"},{default:e.withCtx(()=>[e.createVNode(u,{class:"btn-edit",onClick:p[0]||(p[0]=w=>g(!0))})]),_:1})):e.createCommentVNode("",!0),o.value=="edit"&&m.$slots["page-setting"]&&i.value?.userRoles?.includes("FORM-ADMIN")?(e.openBlock(),e.createBlock(b,{key:3,title:"退出编辑"},{default:e.withCtx(()=>[e.createVNode(v,{class:"btn-edit",onClick:p[1]||(p[1]=w=>g(!1))})]),_:1})):e.createCommentVNode("",!0),e.renderSlot(m.$slots,"default"),o.value=="edit"?(e.openBlock(),e.createBlock(N,{key:4,title:l.settingTitle,open:d.value,"onUpdate:open":p[2]||(p[2]=w=>d.value=w),centered:"",width:"85%",onOk:f},{default:e.withCtx(()=>[e.createElementVNode("div",mv,[e.renderSlot(m.$slots,"page-setting")])]),_:3},8,["title","open"])):e.createCommentVNode("",!0)],2)}}}),gv={class:"unione-props-setting data-field-manage"},hv={key:0},bv={key:1},yv={key:2},vv={key:3},kv={key:4},wv={key:5},Cv={key:6},Av=["onClick"],xv=["onClick"],Nv=["onClick"],Sv={key:1},_v=Z(e.defineComponent({__name:"dataFieldMange",props:{modelValue:{required:!0},modelModifiers:{}},emits:["update:modelValue"],setup(t){const n=e.ref([{title:"序号",dataIndex:"index",key:"index",width:"35px",fixed:"left",align:"center",customRender:({index:m})=>m+1},{title:"名称",dataIndex:"name",key:"name",width:"70px",rowDrag:!0,resizable:!0,fixed:"left",align:"center"},{title:"标题",dataIndex:"title",key:"title",width:"100px",align:"center"},{title:"数据类型",dataIndex:"dataType",key:"dataType",width:"80px",align:"center"},{title:"长度",dataIndex:"dataLen",key:"dataLen",width:"60px",align:"center"},{title:"小数点",dataIndex:"dataPrec",key:"dataPrec",width:"60px",align:"center"},{title:"默认值",dataIndex:"defaultValue",key:"defaultValue",width:"60px",align:"center"},{title:"主键",dataIndex:"isPk",key:"isPk",width:"40px",align:"center"},{title:"外键",dataIndex:"isFk",key:"isFk",width:"30px",align:"center"},{title:"非空",dataIndex:"isNull",key:"isNull",width:"30px",align:"center"},{title:"同步",dataIndex:"syncDbEnable",key:"syncDbEnable",width:"30px",align:"center"},{title:"备注",dataIndex:"descs",key:"descs",width:"140px",align:"center"}]),l=e.useModel(t,"modelValue"),o=e.ref({selectedRowKeys:[],columnWidth:"25px",onChange:m=>{m.forEach(p=>{o.value.selectedRowKeys.includes(p)||o.value.selectedRowKeys.push(p);const A=[];l.value.forEach(b=>{!m.includes(b.name)&&o.value.selectedRowKeys.includes(b.name)&&A.push(b.name)}),A.length&&(o.value.selectedRowKeys=o.value.selectedRowKeys.filter(b=>!A.includes(b)))})}}),a={mounted:m=>m.focus()},i=e.ref({});function d(){const m=Object.keys(i.value);if(m.length)for(let p in m){const A=l.value.filter(b=>b.name==p);if(A&&A[0]){let b=i.value[p];Object.keys(b).forEach(h=>{A[0][h]=b[h]})}}i.value={}}function r(m,p){d();const A={};A[p]=m[p]||"",i.value[m.name]=A}function s(m,p){if(!m||!p){i.value={};return}const A=i.value[m.name][p];if(p=="name"&&l.value.filter(h=>h[p]==A&&h.name!=m.name).length>0){te.Modal.warn({title:"提示信息",content:"字段名称["+A+"]已存在"});return}m[p]=A,i.value={}}function f(m,p){l.value.filter(b=>b.name==m.name).forEach(b=>{b[p]=!b[p]})}function c(){if(d(),l.value.filter(A=>A.name=="new_").length>0){i.value.new_={name:"new_"};return}const p={title:"",name:"new_",isPk:0,dataType:"String"};l.value.push(p),i.value[p.name]={name:"new_"}}function g(){if(!o.value.selectedRowKeys.length){te.Modal.info({title:"提示信息",content:"请选择要删除的字段!"});return}te.Modal.confirm({title:"确认信息",content:"确定要删除选中的["+o.value.selectedRowKeys.length+"]字段么?",onOk:()=>{l.value=l.value.filter(m=>!o.value.selectedRowKeys.includes(m.name)),o.value.selectedRowKeys=[]}})}return(m,p)=>{const A=e.resolveComponent("a-button"),b=e.resolveComponent("a-tooltip"),h=e.resolveComponent("a-input"),u=e.resolveComponent("a-input-number"),v=e.resolveComponent("a-select-option"),N=e.resolveComponent("a-select"),w=e.resolveComponent("a-checkbox"),k=e.resolveComponent("a-table");return e.openBlock(),e.createElementBlock("div",gv,[e.createVNode(A,{class:"btn btn-add",type:"primary",onClick:c,size:"small"},{default:e.withCtx(()=>p[1]||(p[1]=[e.createTextVNode("新增")])),_:1}),e.createVNode(A,{class:"btn btn-delete",type:"primary",danger:"",onClick:g,size:"small"},{default:e.withCtx(()=>p[2]||(p[2]=[e.createTextVNode(" 删除 ")])),_:1}),e.createVNode(k,{columns:n.value,"data-source":l.value,pagination:!1,bordered:"","row-selection":o.value,scroll:{x:1150},"row-key":"name",size:"small",sticky:""},{headerCell:e.withCtx(({column:B})=>[B.key==="name"?(e.openBlock(),e.createElementBlock("span",hv,[p[3]||(p[3]=e.createElementVNode("span",{style:{color:"red","margin-right":"3px","font-size":"16px"}},"*",-1)),e.createVNode(e.unref(gt.FormOutlined)),e.createTextVNode(" "+e.toDisplayString(B.title),1)])):e.createCommentVNode("",!0),B.key==="title"?(e.openBlock(),e.createElementBlock("span",bv,[p[4]||(p[4]=e.createElementVNode("span",{style:{color:"red","margin-right":"3px","font-size":"16px"}},"*",-1)),e.createVNode(e.unref(gt.FormOutlined)),e.createTextVNode(" "+e.toDisplayString(B.title),1)])):e.createCommentVNode("",!0),B.key==="descs"?(e.openBlock(),e.createElementBlock("span",yv,[e.createVNode(e.unref(gt.FormOutlined)),e.createTextVNode(" "+e.toDisplayString(B.title),1)])):e.createCommentVNode("",!0),B.key==="dataLen"?(e.openBlock(),e.createElementBlock("span",vv,[e.createVNode(e.unref(gt.FormOutlined)),e.createTextVNode(" "+e.toDisplayString(B.title),1)])):e.createCommentVNode("",!0),B.key==="dataPrec"?(e.openBlock(),e.createElementBlock("span",kv,[e.createVNode(e.unref(gt.FormOutlined)),e.createTextVNode(" "+e.toDisplayString(B.title),1)])):e.createCommentVNode("",!0),B.key==="defaultValue"?(e.openBlock(),e.createElementBlock("span",wv,[e.createVNode(e.unref(gt.FormOutlined)),e.createTextVNode(" "+e.toDisplayString(B.title),1)])):e.createCommentVNode("",!0),B.key==="dataType"?(e.openBlock(),e.createElementBlock("span",Cv,[e.createVNode(e.unref(gt.FormOutlined)),e.createTextVNode(" "+e.toDisplayString(B.title),1)])):e.createCommentVNode("",!0),B.key==="isPk"?(e.openBlock(),e.createBlock(b,{key:7,title:"至少配置一个主键字段"},{default:e.withCtx(()=>[p[5]||(p[5]=e.createElementVNode("span",{style:{color:"red","margin-right":"3px","font-size":"16px"}},"*",-1)),e.createTextVNode(e.toDisplayString(B.title),1)]),_:2},1024)):e.createCommentVNode("",!0),B.key==="isFk"?(e.openBlock(),e.createBlock(b,{key:8,title:"是否是外键字段"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(B.title),1)]),_:2},1024)):e.createCommentVNode("",!0),B.key==="isNull"?(e.openBlock(),e.createBlock(b,{key:9,title:"是否允许为空"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(B.title),1)]),_:2},1024)):e.createCommentVNode("",!0),B.key==="syncDbEnable"?(e.openBlock(),e.createBlock(b,{key:10,title:"是否同步到数据库"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(B.title),1)]),_:2},1024)):e.createCommentVNode("",!0)]),bodyCell:e.withCtx(({column:B,text:S,record:y})=>[["name","title","descs","defaultValue"].includes(B.dataIndex)?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["edit-field",(!i.value[y.name]||!Object.keys(i.value[y.name]).includes(B.dataIndex))&&!S&&"empty"]),onClick:x=>r(y,B.dataIndex)},[i.value[y.name]&&Object.keys(i.value[y.name]).includes(B.dataIndex)?e.withDirectives((e.openBlock(),e.createBlock(h,{key:0,value:i.value[y.name][B.dataIndex],"onUpdate:value":x=>i.value[y.name][B.dataIndex]=x,onBlur:x=>s(y,B.dataIndex),style:{margin:"-5px 0"}},null,8,["value","onUpdate:value","onBlur"])),[[a]]):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(S||" "),1)],64))],10,Av)):e.createCommentVNode("",!0),["dataLen","dataPrec"].includes(B.dataIndex)?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["edit-field",(!i.value[y.name]||!Object.keys(i.value[y.name]).includes(B.dataIndex))&&!S&&"empty"]),onClick:x=>r(y,B.dataIndex)},[i.value[y.name]&&Object.keys(i.value[y.name]).includes(B.dataIndex)?e.withDirectives((e.openBlock(),e.createBlock(u,{key:0,value:i.value[y.name][B.dataIndex],"onUpdate:value":x=>i.value[y.name][B.dataIndex]=x,onBlur:x=>s(y,B.dataIndex),style:{margin:"-5px 0"}},null,8,["value","onUpdate:value","onBlur"])),[[a]]):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(S||" "),1)],64))],10,xv)):["dataType"].includes(B.dataIndex)?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(["edit-field",(!i.value[y.name]||!Object.keys(i.value[y.name]).includes(B.dataIndex))&&!S&&"empty"]),onClick:x=>r(y,B.dataIndex)},[i.value[y.name]&&Object.keys(i.value[y.name]).includes(B.dataIndex)?e.withDirectives((e.openBlock(),e.createBlock(N,{key:0,value:y[B.dataIndex],"onUpdate:value":x=>y[B.dataIndex]=x,onBlur:p[0]||(p[0]=x=>s())},{default:e.withCtx(()=>[e.createVNode(v,{key:"String",value:"String"}),e.createVNode(v,{key:"Long",value:"Long"}),e.createVNode(v,{key:"Short",value:"Short"}),e.createVNode(v,{key:"Integer",value:"Integer"}),e.createVNode(v,{key:"Float",value:"Float"}),e.createVNode(v,{key:"Double",value:"Double"}),e.createVNode(v,{key:"Date",value:"Date"}),e.createVNode(v,{key:"Timestamp",value:"Timestamp"})]),_:2},1032,["value","onUpdate:value"])),[[a]]):(e.openBlock(),e.createElementBlock("span",Sv,e.toDisplayString(S),1))],10,Nv)):["syncDbEnable","isFk","isPk"].includes(B.dataIndex)?(e.openBlock(),e.createBlock(w,{key:3,checked:y[B.dataIndex],onClick:x=>f(y,B.dataIndex)},null,8,["checked","onClick"])):["isNull"].includes(B.dataIndex)?(e.openBlock(),e.createBlock(w,{key:4,checked:!y[B.dataIndex],onClick:x=>f(y,B.dataIndex)},null,8,["checked","onClick"])):e.createCommentVNode("",!0)]),_:1},8,["columns","data-source","row-selection"])])}}}),[["__scopeId","data-v-924cabd1"]]),Vv={class:"unione-props-setting data-field-setting"},Bv={key:0},Ev=["onClick"],Ov={class:"field-txt"},Tv=["onClick"],Rv={key:1,class:"field-txt"},Fv=["onClick"],$v={key:1},Iv=["onClick"],Mv={key:0,class:"field-txt"},Dv={key:4,class:"edit-field"},Uv={key:0},Lv=["onClick"],jv=Z(e.defineComponent({__name:"dataFieldSetting",props:{modelValue:{required:!0},modelModifiers:{}},emits:["update:modelValue"],setup(t){const n=e.ref([{title:"序号",dataIndex:"index",key:"index",width:"30px",fixed:"left",align:"center",customRender:({index:u})=>u+1},{title:"字段名称",dataIndex:"name",key:"name",width:"70px",rowDrag:!0,resizable:!0,fixed:"left",align:"center"},{title:"字段标题",dataIndex:"title",key:"title",width:"90px",align:"center"},{title:"控件类型",dataIndex:"widget",key:"widget",width:"60px",align:"center"},{title:"验证规则",dataIndex:"rules",key:"rules",width:"60px",align:"center"},{title:"表单",dataIndex:"isForm",key:"isForm",width:"40px",align:"center"},{title:"详情",dataIndex:"isView",key:"isView",width:"40px",align:"center"},{title:"列表",dataIndex:"isList",key:"isList",width:"40px",align:"center"},{title:"排序",dataIndex:"isSort",key:"isSort",width:"40px",align:"center"},{title:"查询",dataIndex:"isQuery",key:"isQuery",width:"40px",align:"center"},{title:"查询类型",dataIndex:"queryType",key:"queryType",width:"60px",align:"center"},{title:"转换器",dataIndex:"convertName",key:"convertName",width:"50px",align:"center"}]),l=e.useModel(t,"modelValue"),o={mounted:u=>u.focus()},a=e.ref({});function i(){const u=Object.keys(a.value);if(u.length)for(let v in u){const N=l.value.filter(w=>w.name==v);if(N&&N[0]){let w=a.value[v];Object.keys(w).forEach(k=>{k=="convertName"?(N[0].convert||(N[0].convert={}),N[0].convert.type=w[k]):N[0][k]=w[k]})}}a.value={}}function d(u,v){i();const N={};v=="convertName"?(u.convert||(u.convert={}),N[v]=u.convert?.type):N[v]=u[v]||"",a.value[u.name]=N}function r(u,v){{a.value={};return}}function s(u,v){l.value.filter(w=>w.name==u.name).forEach(w=>{w[v]=!w[v]})}const f=e.ref({title:"列头设置",prop:"isList",visible:!1,field:{},show:{},toSetting:()=>{f.value.visible=!1}});function c(u,v){const N=l.value.filter(k=>k.name==u.name);N.forEach(k=>{v!="isSort"?k[v]=!0:k[v]=!k[v]});const w=N[0];if(!(!w||v=="isSort")){switch(f.value.prop=v,f.value.field=u,w.show||(w.show={}),v){case"isQuery":w.show.query||(w.show.query={}),f.value.show=w.show.query,f.value.title=`查询设置/${u.title}(${u.name})`;break;case"isForm":w.show.form||(w.show.form={}),f.value.show=w.show.form,f.value.title=`表单设置/${u.title}(${u.name})`;break;case"isView":w.show.view||(w.show.view={}),f.value.show=w.show.view,f.value.title=`详情设置/${u.title}(${u.name})`;break;case"isList":w.show.list||(w.show.list={}),f.value.show=w.show.list,f.value.title=`列头设置/${u.title}(${u.name})`;break}f.value.visible=!0}}const g=e.ref({options:[{value:"keywords",label:"关键字"},{value:"equle",label:"精确"},{value:"like",label:"模糊"},{value:"like-right",label:"右模糊"},{value:"like-left",label:"左模糊"},{value:"range",label:"范围"}],showLabel:u=>{const v=g.value.options.filter(N=>N.value==u);return v[0]?v[0].label:u}}),m=e.ref({visible:!1,field:{},props:{},showInfo:u=>{let v="";return u.rules&&(v=u.rules.filter(N=>N.enable).length||""),v&&(v="("+v+")"),v},toSetting:()=>{const u=m.value.props,v={name:"range",trigger:u.trigger,whitespace:u.whitespace,message:u.rangeMessage};u.rangeMin!=null&&u.rangeMin!=null&&(v.min=u.rangeMin,v.enable=!0),u.rangeMax!=null&&u.rangeMax!=null&&(v.max=u.rangeMax,v.enable=!0);const N={name:"reg",trigger:u.trigger,whitespace:u.whitespace,message:u.regMessage};u.regExpress&&(N.pattern=u.regExpress,N.enable=!0),m.value.field.rules=[v,N],m.value.visible=!1,m.value.props={},console.log("rule",m.value.field.rules)}});function p(u){m.value.visible=!0,m.value.field=u;const v=u.rules||[],N={trigger:"change",whitespace:!0};v.forEach(w=>{w.name=="reg"&&(N.trigger=w.trigger,N.whitespace=w.whitespace,N.regExpress=w.pattern,N.regMessage=w.message),w.name=="range"&&(N.rangeMin=w.min,N.rangeMax=w.max,N.rangeMessage=w.message)}),m.value.props=N}const A=e.ref({visible:!1,field:{},props:{},widgets:[{value:"a-input",label:"文本框"},{value:"a-textarea",label:"文本域"},{value:"a-input",label:"文本框"},{value:"a-checkbox",label:"多选框"},{value:"a-radio",label:"单选框"},{value:"a-input-number",label:"数值框"},{value:"a-select",label:"下拉框"},{value:"a-tree-select",label:"下拉树"},{value:"a-date-picker",label:"日期框"},{value:"a-input-password",label:"密码框"},{value:"a-input-search",label:"搜索框"},{value:"a-upload",label:"文件框"},{value:"unione-avatar",label:"头像框",disabled:!0},{value:"unione-picture-card",label:"照片墙"},{value:"a-switch",label:"开关"},{value:"a-slider",label:"滑块"}],widgetName:u=>{const v=A.value.widgets.filter(N=>N.value==u);return v[0]?v[0].label:u},toSetting:()=>{}}),b=e.ref({visible:!1,field:{},convert:{},optionColumn:[{title:"选项标题",dataIndex:"label"},{title:"选项值",dataIndex:"value"},{title:"操作",dataIndex:"action",width:"20%"}],toAddOption:()=>{b.value.convert.options||(b.value.convert.options=[]),b.value.convert.options.push({label:"",value:""})},toDelOption:(u,v)=>{b.value.convert.options.splice(u,1)},toSetting:()=>{b.value.visible=!1}});function h(u){b.value.visible=!0,b.value.field=u,b.value.convert=u.convert||{}}return(u,v)=>{const N=e.resolveComponent("ToolOutlined"),w=e.resolveComponent("a-button"),k=e.resolveComponent("a-select"),B=e.resolveComponent("a-checkbox"),S=e.resolveComponent("a-table"),y=e.resolveComponent("a-input-number"),x=e.resolveComponent("a-form-item"),E=e.resolveComponent("a-input"),_=e.resolveComponent("a-form"),C=e.resolveComponent("a-modal"),O=e.resolveComponent("a-col"),T=e.resolveComponent("a-row"),V=e.resolveComponent("a-select-option"),$=e.resolveComponent("a-divider"),I=e.resolveComponent("a-checkbox-group");return e.openBlock(),e.createElementBlock("div",Vv,[e.createVNode(S,{columns:n.value,"data-source":l.value,bordered:"",scroll:{x:1e3},pagination:!1,"row-key":"name",size:"small"},{headerCell:e.withCtx(({column:F})=>[["widget","queryType","rules","convertName"].includes(F.key)?(e.openBlock(),e.createElementBlock("span",Bv,[e.createVNode(N),e.createTextVNode(" "+e.toDisplayString(F.title),1)])):e.createCommentVNode("",!0)]),bodyCell:e.withCtx(({column:F,text:j,record:U})=>[["rules"].includes(F.dataIndex)?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["edit-field",!m.value.showInfo(U)&&"empty"]),onClick:M=>p(U)},[e.createElementVNode("span",Ov,e.toDisplayString(m.value.showInfo(U)),1),m.value.showInfo(U)?(e.openBlock(),e.createBlock(w,{key:0,type:"link"},{default:e.withCtx(()=>v[22]||(v[22]=[e.createTextVNode("设置")])),_:1})):e.createCommentVNode("",!0)],10,Ev)):["widget"].includes(F.dataIndex)?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["edit-field",(!a.value[U.name]||!Object.keys(a.value[U.name]).includes(F.dataIndex))&&!j&&"empty"]),onClick:M=>d(U,F.dataIndex)},[a.value[U.name]&&Object.keys(a.value[U.name]).includes(F.dataIndex)?e.withDirectives((e.openBlock(),e.createBlock(k,{key:0,value:U[F.dataIndex],"onUpdate:value":M=>U[F.dataIndex]=M,allowClear:!0,options:A.value.widgets,onBlur:v[0]||(v[0]=M=>r())},null,8,["value","onUpdate:value","options"])),[[o]]):(e.openBlock(),e.createElementBlock("span",Rv,e.toDisplayString(A.value.widgetName(j)),1))],10,Tv)):["queryType"].includes(F.dataIndex)?(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[U.isQuery?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["edit-field",(!a.value[U.name]||!Object.keys(a.value[U.name]).includes(F.dataIndex))&&!j&&"empty"]),onClick:M=>d(U,F.dataIndex)},[a.value[U.name]&&Object.keys(a.value[U.name]).includes(F.dataIndex)?e.withDirectives((e.openBlock(),e.createBlock(k,{key:0,value:U[F.dataIndex],"onUpdate:value":M=>U[F.dataIndex]=M,allowClear:!0,options:g.value.options,onBlur:v[1]||(v[1]=M=>r())},null,8,["value","onUpdate:value","options"])),[[o]]):(e.openBlock(),e.createElementBlock("span",$v,e.toDisplayString(g.value.showLabel(j)),1))],10,Fv)):e.createCommentVNode("",!0)],64)):["convertName"].includes(F.dataIndex)?(e.openBlock(),e.createElementBlock("div",{key:3,class:e.normalizeClass(["edit-field",(!a.value[U.name]||!Object.keys(a.value[U.name]).includes(F.dataIndex))&&!U.convert?.type&&"empty"]),onClick:M=>d(U,F.dataIndex)},[a.value[U.name]&&Object.keys(a.value[U.name]).includes(F.dataIndex)?e.withDirectives((e.openBlock(),e.createBlock(k,{key:0,value:U.convert.type,"onUpdate:value":M=>U.convert.type=M,options:[{value:"dict",label:"字典"},{value:"option",label:"静态"}],allowClear:!0,onBlur:v[2]||(v[2]=M=>r())},null,8,["value","onUpdate:value"])),[[o]]):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[U.convert?.type?(e.openBlock(),e.createElementBlock("span",Mv,e.toDisplayString(U.convert.type=="dict"?"字典":"静态"),1)):e.createCommentVNode("",!0),U.convert?.type?(e.openBlock(),e.createBlock(w,{key:1,type:"link",onClick:e.withModifiers(M=>h(U),["stop"])},{default:e.withCtx(()=>v[23]||(v[23]=[e.createTextVNode("设置")])),_:2},1032,["onClick"])):e.createCommentVNode("",!0)],64))],10,Iv)):["isQuery","isForm","isView","isList","isSort"].includes(F.dataIndex)?(e.openBlock(),e.createElementBlock("div",Dv,[e.createVNode(B,{checked:U[F.dataIndex],onClick:M=>s(U,F.dataIndex)},null,8,["checked","onClick"]),e.createVNode(w,{type:"link",onClick:M=>c(U,F.dataIndex)},{default:e.withCtx(()=>v[24]||(v[24]=[e.createTextVNode("设置")])),_:2},1032,["onClick"])])):e.createCommentVNode("",!0)]),_:1},8,["columns","data-source"]),e.createVNode(C,{visible:f.value.visible,"onUpdate:visible":v[9]||(v[9]=F=>f.value.visible=F),title:f.value.title,onOk:f.value.toSetting},{default:e.withCtx(()=>[e.createVNode(_,{model:f.value.show,name:"basic","label-col":{span:6},"wrapper-col":{span:18},autocomplete:"off"},{default:e.withCtx(()=>[e.createVNode(x,{label:"显示顺序"},{default:e.withCtx(()=>[e.createVNode(y,{value:f.value.show.index,"onUpdate:value":v[3]||(v[3]=F=>f.value.show.index=F)},null,8,["value"])]),_:1}),["isQuery"].includes(f.value.prop)?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(x,{key:0,label:"显示宽度"},{default:e.withCtx(()=>[e.createVNode(E,{value:f.value.show.width,"onUpdate:value":v[4]||(v[4]=F=>f.value.show.width=F)},null,8,["value"])]),_:1})),["isForm","isView"].includes(f.value.prop)?(e.openBlock(),e.createBlock(x,{key:1,label:"标题宽度"},{default:e.withCtx(()=>[e.createVNode(E,{value:f.value.show.labelWidth,"onUpdate:value":v[5]||(v[5]=F=>f.value.show.labelWidth=F)},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),["isForm","isView"].includes(f.value.prop)?(e.openBlock(),e.createBlock(x,{key:2,label:"控件宽度"},{default:e.withCtx(()=>[e.createVNode(E,{value:f.value.show.valueWidth,"onUpdate:value":v[6]||(v[6]=F=>f.value.show.valueWidth=F)},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),["isList"].includes(f.value.prop)?(e.openBlock(),e.createBlock(x,{key:3,label:"固定位置"},{default:e.withCtx(()=>[e.createVNode(k,{value:f.value.show.fixed,"onUpdate:value":v[7]||(v[7]=F=>f.value.show.fixed=F),options:[{value:"",label:"无"},{value:"left",label:"靠左"},{value:"right",label:"靠右"}]},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),["isList"].includes(f.value.prop)?(e.openBlock(),e.createBlock(x,{key:4,label:"对齐方式"},{default:e.withCtx(()=>[e.createVNode(k,{value:f.value.show.align,"onUpdate:value":v[8]||(v[8]=F=>f.value.show.align=F),options:[{value:"left",label:"左对齐"},{value:"center",label:"居中"},{value:"right",label:"右对齐"}]},null,8,["value"])]),_:1})):e.createCommentVNode("",!0)]),_:1},8,["model"])]),_:1},8,["visible","title","onOk"]),e.createVNode(C,{visible:b.value.visible,"onUpdate:visible":v[11]||(v[11]=F=>b.value.visible=F),title:b.value.convert.type=="dict"?"字典设置":"选项设置",onOk:b.value.toSetting},{default:e.withCtx(()=>[b.value.convert.type!="dict"?(e.openBlock(),e.createElementBlock("div",Uv,[e.createVNode(w,{class:"editable-add-btn",style:{"margin-bottom":"8px"},onClick:b.value.toAddOption},{default:e.withCtx(()=>v[25]||(v[25]=[e.createTextVNode("新增")])),_:1},8,["onClick"]),e.createVNode(S,{columns:b.value.optionColumn,"data-source":b.value.convert.options,size:"small"},{bodyCell:e.withCtx(({column:F,record:j,index:U})=>[F.dataIndex==="label"?(e.openBlock(),e.createBlock(E,{key:0,value:j.label,"onUpdate:value":M=>j.label=M,style:{margin:"-5px 0"}},null,8,["value","onUpdate:value"])):e.createCommentVNode("",!0),F.dataIndex==="value"?(e.openBlock(),e.createBlock(E,{key:1,value:j.value,"onUpdate:value":M=>j.value=M,style:{margin:"-5px 0"}},null,8,["value","onUpdate:value"])):e.createCommentVNode("",!0),F.dataIndex==="action"?(e.openBlock(),e.createElementBlock("a",{key:2,onClick:M=>b.value.toDelOption(U,j)},"删除",8,Lv)):e.createCommentVNode("",!0)]),_:1},8,["columns","data-source"])])):e.createCommentVNode("",!0),b.value.convert.type=="dict"?(e.openBlock(),e.createBlock(_,{key:1,model:b.value.convert,name:"basic","label-col":{span:8},"wrapper-col":{span:16},autocomplete:"off"},{default:e.withCtx(()=>[e.createVNode(T,{type:"flex",style:{width:"100%"}},{default:e.withCtx(()=>[e.createVNode(O,{span:24,order:1},{default:e.withCtx(()=>[e.createVNode(x,{label:"字典名称:"},{default:e.withCtx(()=>[e.createVNode(E,{value:b.value.convert.dict,"onUpdate:value":v[10]||(v[10]=F=>b.value.convert.dict=F)},null,8,["value"])]),_:1})]),_:1})]),_:1})]),_:1},8,["model"])):e.createCommentVNode("",!0)]),_:1},8,["visible","title","onOk"]),e.createVNode(C,{visible:A.value.visible,"onUpdate:visible":v[13]||(v[13]=F=>A.value.visible=F),title:"控件设置",onOk:A.value.toSetting},{default:e.withCtx(()=>[e.createVNode(_,{model:A.value.props,name:"basic","label-col":{span:6},"wrapper-col":{span:18},autocomplete:"off"},{default:e.withCtx(()=>[A.value.field.widget=="a-select"?(e.openBlock(),e.createBlock(x,{key:0,label:"下拉框类型"},{default:e.withCtx(()=>[e.createVNode(k,{value:A.value.props.mode,"onUpdate:value":v[12]||(v[12]=F=>A.value.props.mode=F),allowClear:!0},{default:e.withCtx(()=>[e.createVNode(V,{value:"multiple"},{default:e.withCtx(()=>v[26]||(v[26]=[e.createTextVNode("多选")])),_:1}),e.createVNode(V,{value:"tags"},{default:e.withCtx(()=>v[27]||(v[27]=[e.createTextVNode("标签")])),_:1})]),_:1},8,["value"])]),_:1})):e.createCommentVNode("",!0)]),_:1},8,["model"])]),_:1},8,["visible","onOk"]),e.createVNode(C,{visible:m.value.visible,"onUpdate:visible":v[21]||(v[21]=F=>m.value.visible=F),title:"规则设置",onOk:m.value.toSetting},{default:e.withCtx(()=>[e.createVNode(_,{model:m.value.props,name:"basic","label-col":{span:6},"wrapper-col":{span:18},autocomplete:"off",class:"form-mix"},{default:e.withCtx(()=>[e.createVNode($,{orientation:"left"},{default:e.withCtx(()=>v[28]||(v[28]=[e.createTextVNode("基本设置")])),_:1}),e.createVNode(x,{label:"触发时机"},{default:e.withCtx(()=>[e.createVNode(I,{value:m.value.props.trigger,"onUpdate:value":v[14]||(v[14]=F=>m.value.props.trigger=F),options:["change","blur"]},null,8,["value"])]),_:1}),m.value.field.isNull?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(x,{key:0,label:"忽略空格",class:"checkbox-tips"},{default:e.withCtx(()=>[e.createVNode(B,{value:m.value.props.whitespace,"onUpdate:value":v[15]||(v[15]=F=>m.value.props.whitespace=F),checked:m.value.props.whitespace},{default:e.withCtx(()=>v[29]||(v[29]=[e.createTextVNode(" 必填验证开启时,是否忽略空格 ")])),_:1},8,["value","checked"])]),_:1})),e.createVNode($,{orientation:"left"},{default:e.withCtx(()=>v[30]||(v[30]=[e.createTextVNode("数值区间")])),_:1}),e.createVNode(x,{label:"有效区间"},{default:e.withCtx(()=>[e.createVNode(y,{value:m.value.props.rangeMin,"onUpdate:value":v[16]||(v[16]=F=>m.value.props.rangeMin=F)},null,8,["value"]),v[31]||(v[31]=e.createElementVNode("span",{style:{margin:"auto 5px"}},null,-1)),e.createVNode(y,{value:m.value.props.rangeMax,"onUpdate:value":v[17]||(v[17]=F=>m.value.props.rangeMax=F)},null,8,["value"])]),_:1}),e.createVNode(x,{label:"错误提示"},{default:e.withCtx(()=>[e.createVNode(E,{value:m.value.props.rangeMessage,"onUpdate:value":v[18]||(v[18]=F=>m.value.props.rangeMessage=F)},null,8,["value"])]),_:1}),e.createVNode($,{orientation:"left"},{default:e.withCtx(()=>v[32]||(v[32]=[e.createTextVNode("正则验证")])),_:1}),e.createVNode(x,{label:"表达式"},{default:e.withCtx(()=>[e.createVNode(E,{value:m.value.props.regExpress,"onUpdate:value":v[19]||(v[19]=F=>m.value.props.regExpress=F)},null,8,["value"])]),_:1}),e.createVNode(x,{label:"错误提示"},{default:e.withCtx(()=>[e.createVNode(E,{value:m.value.props.regMessage,"onUpdate:value":v[20]||(v[20]=F=>m.value.props.regMessage=F)},null,8,["value"])]),_:1})]),_:1},8,["model"])]),_:1},8,["visible","onOk"])])}}}),[["__scopeId","data-v-61a576fb"]]),Pv={class:"unione-props-setting data-field"},qv=Z(e.defineComponent({__name:"dataField",props:e.mergeModels({filter:{type:Array,default(){return[]}}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const n=e.useModel(t,"modelValue");return(l,o)=>{const a=e.resolveComponent("OrderedListOutlined"),i=e.resolveComponent("a-tab-pane"),d=e.resolveComponent("ToolOutlined"),r=e.resolveComponent("a-tabs");return e.openBlock(),e.createElementBlock("div",Pv,[e.createVNode(r,null,{default:e.withCtx(()=>[e.createVNode(i,{key:"field-mange"},{tab:e.withCtx(()=>[e.createVNode(a),o[2]||(o[2]=e.createTextVNode("字段管理 "))]),default:e.withCtx(()=>[e.createVNode(_v,{modelValue:n.value,"onUpdate:modelValue":o[0]||(o[0]=s=>n.value=s)},null,8,["modelValue"])]),_:1}),e.createVNode(i,{key:"field-setting"},{tab:e.withCtx(()=>[e.createVNode(d),o[3]||(o[3]=e.createTextVNode("字段设置 "))]),default:e.withCtx(()=>[e.createVNode(jv,{modelValue:n.value,"onUpdate:modelValue":o[1]||(o[1]=s=>n.value=s)},null,8,["modelValue"])]),_:1})]),_:1})])}}}),[["__scopeId","data-v-94fbac74"]]),zv={key:0,class:"data-model-list"},Qv=["onClick"],Hv=Z(e.defineComponent({__name:"dataDefine",props:{limit:{type:Number,default:100},engine:{type:Object,required:!0}},setup(t,{expose:n}){const l=e.computed(()=>a.engine.dataModels()),o=e.ref({sn:"new_",title:"新建数据",configs:{fields:[]}});e.onMounted(()=>{l.value&&l.value[0]&&(o.value=l.value[0])});const a=t;function i(g){o.value=g}function d(){if(l.value.length>=a.limit){te.Modal.warn({title:"提示信息",content:"数据模型数量超出限制!"});return}const g=rd.v4(),m={sn:g,title:"新建数据",name:"new_",configs:{fields:[]}};o.value=m,console.log("data model added",m),a.engine.dataModel(g,m)}const r={title:[{required:!0,message:"数据标题不能为空",trigger:"change"}],name:[{required:!0,message:"数据名称不能为空",trigger:"change"}],url:[{required:!0,message:"数据URl不能为空",trigger:"change"}]},s=e.ref(),f=e.inject("closeSetting");function c(){s.value.validate().then(g=>{f&&f()})}return n({toSaving:c}),(g,m)=>{const p=e.resolveComponent("a-input"),A=e.resolveComponent("a-form-item"),b=e.resolveComponent("a-textarea"),h=e.resolveComponent("a-form");return e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["unione-props-setting","data-define",a.limit<=1&&"center"])},[a.limit>1?(e.openBlock(),e.createElementBlock("div",zv,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.value,u=>(e.openBlock(),e.createElementBlock("div",{key:u.sn,class:e.normalizeClass(["title",o.value&&o.value.sn==u.sn&&"slt"]),onClick:v=>i(u)},e.toDisplayString(u.title),11,Qv))),128)),e.createElementVNode("div",{class:"title btn-add",onClick:d},"+")])):e.createCommentVNode("",!0),e.createElementVNode("div",{class:e.normalizeClass(["data-model-form",a.limit<=1&&"center"])},[e.createVNode(h,{ref_key:"formObj",ref:s,rules:r,model:o.value,"label-col":{span:4},"wrapper-col":{span:20}},{default:e.withCtx(()=>[e.createVNode(A,{label:"数据标题",name:"title",required:""},{default:e.withCtx(()=>[e.createVNode(p,{value:o.value.title,"onUpdate:value":m[0]||(m[0]=u=>o.value.title=u)},null,8,["value"])]),_:1}),e.createVNode(A,{label:"数据名称",name:"name",required:""},{default:e.withCtx(()=>[e.createVNode(p,{value:o.value.name,"onUpdate:value":m[1]||(m[1]=u=>o.value.name=u)},null,8,["value"])]),_:1}),e.createVNode(A,{label:"数据URL",name:"url",required:"",tooltip:"数据请求url,统一使用post请求,保存接口:url/save,修改接口:url/update,查询接口:url/find,删除接口:url/delete,详情接口:url/detail"},{default:e.withCtx(()=>[e.createVNode(p,{value:o.value.url,"onUpdate:value":m[2]||(m[2]=u=>o.value.url=u)},null,8,["value"])]),_:1}),e.createVNode(A,{label:"数据说明",name:"descs"},{default:e.withCtx(()=>[e.createVNode(b,{value:o.value.descs,"onUpdate:value":m[3]||(m[3]=u=>o.value.descs=u)},null,8,["value"])]),_:1})]),_:1},8,["model"]),o.value.configs?(e.openBlock(),e.createBlock(qv,{key:0,modelValue:o.value.configs.fields,"onUpdate:modelValue":m[4]||(m[4]=u=>o.value.configs.fields=u)},null,8,["modelValue"])):e.createCommentVNode("",!0)],2)],2)}}}),[["__scopeId","data-v-f9794f01"]]),Yv={class:"unione-props-setting unione-page-setting"},An=Z(e.defineComponent({__name:"pageSetting",props:{engine:{type:Object,required:!0}},setup(t){const n=t,l=e.ref({});return e.onMounted(()=>{l.value=n.engine.define.value}),(o,a)=>{const i=e.resolveComponent("a-form-item"),d=e.resolveComponent("a-input"),r=e.resolveComponent("a-switch"),s=e.resolveComponent("a-textarea"),f=e.resolveComponent("a-form"),c=e.resolveComponent("a-tab-pane"),g=e.resolveComponent("a-tabs");return e.openBlock(),e.createElementBlock("div",Yv,[e.createVNode(g,{type:"card"},{default:e.withCtx(()=>[e.createVNode(c,{key:"pageDefine",tab:"页面设置"},{default:e.withCtx(()=>[e.createVNode(f,{model:l.value,name:"basic","label-col":{span:5},"wrapper-col":{span:16},autocomplete:"off",class:"form-mix"},{default:e.withCtx(()=>[l.value.sn&&l.value.sn!="new_"?(e.openBlock(),e.createBlock(i,{key:0,label:"页面编码"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(l.value.sn)+"/V"+e.toDisplayString(l.value.vers),1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(i,{label:"页面标题",required:""},{default:e.withCtx(()=>[e.createVNode(d,{value:l.value.title,"onUpdate:value":a[0]||(a[0]=m=>l.value.title=m)},null,8,["value"])]),_:1}),e.createVNode(i,{label:"页面组件",required:""},{default:e.withCtx(()=>[e.createVNode(d,{value:l.value.component,"onUpdate:value":a[1]||(a[1]=m=>l.value.component=m)},null,8,["value"])]),_:1}),e.createVNode(i,{label:"icon图标"},{default:e.withCtx(()=>[e.createVNode(d,{value:l.value.icon,"onUpdate:value":a[2]||(a[2]=m=>l.value.icon=m)},null,8,["value"])]),_:1}),e.createVNode(i,{label:"是否全局"},{default:e.withCtx(()=>[e.createVNode(r,{checked:l.value.isGlobal,"onUpdate:checked":a[3]||(a[3]=m=>l.value.isGlobal=m),checkedValue:1,checkedChildren:"是",unCheckedChildren:"否",unCheckedValue:0},null,8,["checked"])]),_:1}),e.createVNode(i,{label:"是否模版"},{default:e.withCtx(()=>[e.createVNode(r,{checked:l.value.isTmpl,"onUpdate:checked":a[4]||(a[4]=m=>l.value.isTmpl=m),checkedValue:1,checkedChildren:"是",unCheckedChildren:"否",unCheckedValue:0},null,8,["checked"])]),_:1}),e.createVNode(i,{label:"页面备注"},{default:e.withCtx(()=>[e.createVNode(s,{value:l.value.descs,"onUpdate:value":a[5]||(a[5]=m=>l.value.descs=m),placeholder:"请输入页面备注...",rows:4},null,8,["value"])]),_:1})]),_:1},8,["model"])]),_:1}),e.createVNode(c,{key:"dataDefine",tab:"数据设置"},{default:e.withCtx(()=>[e.createVNode(Hv,{engine:t.engine},null,8,["engine"])]),_:1})]),_:1})])}}}),[["__scopeId","data-v-3e30f978"]]),vs=Z(e.defineComponent({__name:"editor",props:{psn:{type:String,required:!1},params:{type:Object,default(){return{}}},pageDefine:{type:Object,required:!1}},setup(t){console.log("unione page view setup .....");const n=t,l={sn:"new_",title:"新建页面",types:"setting",vers:1,configs:{widgetList:[],dataModels:[]},component:"unione-page-view"},o=new Ve,a=e.computed(()=>o.$widgetList.value||[]);e.watch(()=>n.pageDefine,d=>{d&&o.load(i.value,d)});const i=e.ref("new_");return e.onMounted(()=>{const d=e.inject("route");console.log("unione page view route",d),i.value=n.psn||d?.query?.psn||d?.meta?.psn||"new_",console.log("unione page view,psn:"+i.value),o.setModel("run");const r=n.pageDefine||l;r.types=d?.query?.ptypes||d?.meta?.ptypes||"setting",o.load(i.value,r)}),(d,r)=>(e.openBlock(),e.createBlock(Cn,{class:"unione-page-view","setting-title":"页面设置",engine:e.unref(o)},e.createSlots({default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,s=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(s.render||s.widget),{key:s.wid,wid:s.wid,widget:s,engine:e.unref(o)},null,8,["wid","widget","engine"]))),128))]),_:2},[e.unref(o)?{name:"page-setting",fn:e.withCtx(()=>[e.createVNode(An,{engine:e.unref(o)},null,8,["engine"])]),key:"0"}:void 0]),1032,["engine"]))}}),[["__scopeId","data-v-bab30435"]]),ks=e.defineComponent({__name:"list",props:e.mergeModels({psn:{type:String,required:!1},params:{type:Object,default(){return{}}},auto:{type:Boolean,default:!0},storage:{type:Object,required:!0},fields:{type:Array,required:!0},queryBtns:{type:Array,required:!1},operation:{type:Object,required:!1},selection:{type:Object,required:!1},leftBtns:{type:Object,required:!1},rightBtns:{type:Object,required:!1}},{define:{type:Object,default(){return{sn:"new_",title:"新建页面",types:"code",vers:1,configs:{widgets:[{widget:"unione-query",dsn:"",primary:!0,fields:[]},{widget:"unione-table",dsn:"",columns:[]}],dsnList:[]},component:"unione-page-list"}}},defineModifiers:{}}),emits:e.mergeModels(["btnClick"],["update:define"]),setup(t,{expose:n,emit:l}){const o=t,a=e.ref(null),i=e.useModel(t,"define");e.watch(()=>i.value.configs,(v,N)=>{v!=N&&r.load(g.value,i.value)},{deep:!0});function d(){if(i.value.configs.widgets[0].props||(i.value.configs.widgets[0].props={}),i.value.configs.widgets[0].props.auto=o.auto,o.fields?.length){i.value.configs.widgets[0].dsn="primary",i.value.configs.widgets[0].fields=o.fields.filter(N=>N.isQuery),i.value.configs.widgets[0].btns=o.queryBtns||[],i.value.configs.widgets[0].params=o.params||{},i.value.configs.dsnList=["primary"],i.value.configs.widgets[1].dsn="primary";const v=o.fields.filter(N=>N.isPk)[0];v&&v.name&&(i.value.configs.widgets[1].dataKey=v.name),i.value.configs.widgets[1].columns=o.fields.filter(N=>N.hidden!=!0),i.value.configs.widgets[1].operation=o.operation,o.selection==!1?i.value.configs.widgets[1].selection=!1:o.selection&&(i.value.configs.widgets[1].selection=o.selection),i.value.configs.widgets[1].leftBtns=o.leftBtns==!1?!1:o.leftBtns||[],i.value.configs.widgets[1].rightBtns=o.rightBtns==!1?!1:o.rightBtns||[],r.dataManager().use("primary","list").store(o.storage)}}const r=new Ve,s=e.computed(()=>r.$widgetList.value||[]),f=l;function c(v){f("btnClick",v)}const g=e.ref("new_");e.onMounted(()=>{const v=e.inject("route");console.log("unione page view route",v),g.value=o.psn||v?.query?.psn||v?.meta?.psn||"new_",console.log("unione page view,psn:"+g.value),r.setModel(v?.query?.model||v?.meta?.model||"run");const N={...o.params||{},...v?.query||{},...v?.params||{}};r.dataManager().params(N),d(),r.load(g.value,i.value)});function m(){return r.dataManager().use("primary","list")}function p(v){v?r.ebus.$emit("table-list-search",v):r.ebus.$emit("table-list-reload")}function A(v){r.dataManager().params(v),r.ebus.$emit("query-form-params",v),r.ebus.$emit("table-list-search",{params:v})}function b(){return a.value?a.value[0]:null}function h(){return a.value?a.value[0].getSelected():null}function u(){a.value&&a.value[0].clearSelected()}return n({storage:m,engine:r,reload:p,setParams:A,getTable:b,getSelected:h,clearSelected:u}),(v,N)=>(e.openBlock(),e.createBlock(Cn,{class:"unione-page-table","setting-title":"页面设置",engine:e.unref(r)},e.createSlots({default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(s.value,w=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:w.wid},[w.widget=="unione-table"?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(w.widget),{key:0,wid:w.wid,widget:w,engine:e.unref(r),onBtnClick:c,ref_for:!0,ref_key:"table",ref:a},null,40,["wid","widget","engine"])):(e.openBlock(),e.createBlock(e.resolveDynamicComponent(w.widget),{key:1,wid:w.wid,widget:w,engine:e.unref(r),onBtnClick:c},null,40,["wid","widget","engine"]))],64))),128))]),_:2},[e.unref(r)?{name:"page-setting",fn:e.withCtx(()=>[e.createVNode(An,{engine:e.unref(r)},null,8,["engine"])]),key:"0"}:void 0]),1032,["engine"]))}}),Wv={key:1,class:"form-btns"},Kv={class:"form-btns"},ws=Z(e.defineComponent({__name:"form",props:{psn:{type:String,required:!1},model:{type:String},params:{type:Object,default(){return{}}},pageDefine:{type:Object,required:!1},storage:{type:Object,required:!1},fields:{type:Array,required:!1},btns:{type:Object,required:!1},event:{type:Object,required:!1},setting:{type:Object,required:!1},actype:{type:String,default:"route"},teleport:{type:String}},emits:["submit","save","reset","back","btnClick","reload-table-list"],setup(t,{expose:n,emit:l}){const o=e.inject("router"),a=P.useDialog(),i=t,d=l,r={sn:"new_",title:"新建页面",types:"code",vers:1,configs:{widgets:[],dsnList:[]},component:"unione-page-form"};function s(){if(i.fields?.length){const y={widget:"unione-form",dsn:"primary",primary:!0,widgets:i.fields,setting:i.setting||{}};r.configs.widgets=[y]}i.storage&&(r.configs.dsnList=["primary"],f.dataManager().use("primary","form").store(i.storage)),r.configs.btns=i.btns||[],i.btns==!1&&(r.configs.btns=!1),r.configs.event=i.event||{}}const f=new Ve,c=e.computed(()=>f.$widgetList.value||[]),g=e.ref({});function m(){g.value={};const y=f.define?.configs?.event||{};Object.keys(y).forEach(x=>{const E=y[x];E&&(typeof E=="function"?g.value[x]=E:E.enable&&E.scriptText&&(g.value[x]=new Function("formValue",E.scriptText)))})}function p(y){g.value.onLoad&&g.value.onLoad(y)}const A=e.ref({}),b=e.computed(()=>{const y=f.define?.configs?.btns||[],x=y.map(E=>E.name);if(!x.includes("save")){const E={title:"保存",type:"primary",index:0,visible:!0,size:"default",name:"save"};y.splice(E.index,0,E)}if(!x.includes("submit")){const E={title:"提交",type:"primary",index:1,visible:!1,size:"default",name:"submit"};let _=E.index||1;y.splice(_,0,E)}if(!x.includes("reset")){const E={title:"重置",type:"default",index:2,visible:!0,size:"default",props:{danger:!0},name:"reset"};y.splice(E.index,0,E)}if(!x.includes("back")){const E={title:"返回",type:"default",index:3,visible:!0,size:"default",name:"back"};y.splice(E.index,0,E)}return f.model.value=="view"&&y.filter(E=>["save","submit","reset"].includes(E.name)).forEach(E=>{E.visible=!1}),(i.actype!="route"||B.query.actype&&B.query.actype!="route")&&y.filter(E=>["back"].includes(E.name)).forEach(E=>{E.visible=!1}),y});async function h({btn:y,event:x}){if(y.name=="save"){const _=await N();_.success&&_.body&&(A.value.id=_.body),d("save",{btn:y,event:x,formData:A.value}),d("btnClick",{btn:y,event:x,formData:A.value});return}if(y.name=="reset"){w(),d("reset",{btn:y,event:x}),d("btnClick",{btn:y,event:x});return}if(y.name=="back"){k(),d("back",{btn:y,event:x}),d("btnClick",{btn:y,event:x});return}if(y.name=="submit"){a.confirm({content:"提交当前表单吗?",onOk:async()=>{const _=await N();_.success&&_.body&&(A.value.id=_.body),d("submit",{btn:y,event:x,formData:A.value}),d("btnClick",{btn:y,event:x,formData:A.value})}});return}const E=await u();d("btnClick",{btn:y,event:x,formData:E})}async function u(){const y=f.dataManager().primary().data(),x=f.dataManager().form();A.value={...y};for(let E in x){const _=f.dataManager().data(E).data();f.dataManager().psn()!=E&&(A.value[E]={..._})}return A.value}async function v(y=!0){const x=f.dataManager().form();let E={};for(let _ in x){const C=y?await x[_].validate():x[_].getValue();f.dataManager().psn()==_?E={...E.value,...C}:E[_]=C}if(!(g.value.beforeSubmit&&g.value.beforeSubmit(E)==!1))return{data:E,id:f.dataManager().$pid}}async function N(){const y=f.dataManager().form();A.value={};for(let E in y){const _=await y[E].validate();f.dataManager().psn()==E?A.value={...A.value,..._}:A.value[E]=_}if(g.value.beforeSubmit&&g.value.beforeSubmit(A.value)==!1)return;const x=await f.dataManager().primary().save({data:A.value,params:f.dataManager().params});if(x.success)return g.value.afterSubmit&&g.value.afterSubmit(x),d("reload-table-list"),x}function w(y){f.dataManager().primary().reset(y)}function k(){o.back()}e.watch(()=>i.pageDefine,y=>{y&&f.load(S.value,y)}),e.watch(()=>i.model,(y,x)=>{y&&y!=x&&f.exeCmd("model",y)});const B=e.inject("route"),S=e.ref("new_");return e.onMounted(()=>{console.log("unione page form route",B),S.value=i.psn||B?.query?.psn||B?.meta?.psn||"new_",console.log("unione page form,psn:"+S.value),f.setModel(i.model||B?.query?.model||B?.meta?.model||"run");const y={...i.params||{},...B?.query||{},...B?.params||{}};f.dataManager().params(y),s(),f.load(S.value,i.pageDefine||r).then(()=>{m()})}),n({save:N,toReset:w,toBack:k,getData:v}),(y,x)=>{const E=e.resolveComponent("unione-form"),_=e.resolveComponent("unione-btn");return e.openBlock(),e.createBlock(Cn,{class:"unione-page-form","setting-title":"页面设置",engine:e.unref(f)},e.createSlots({default:e.withCtx(()=>[c.value?.length?(e.openBlock(),e.createBlock(E,{key:0,engine:e.unref(f),wid:c.value[0].wid,onOnload:p},null,8,["engine","wid"])):e.createCommentVNode("",!0),!t.teleport&&c.value?.length&&i.btns!=!1?(e.openBlock(),e.createElementBlock("div",Wv,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value,C=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:C.name},[C.visible!=!1?(e.openBlock(),e.createBlock(_,{key:0,widget:C,engine:e.unref(f),ctx:{formData:A.value},onClick:h},null,8,["widget","engine","ctx"])):e.createCommentVNode("",!0)],64))),128))])):c.value?.length&&i.btns!=!1?(e.openBlock(),e.createBlock(e.Teleport,{key:2,to:t.teleport,defer:""},[e.createElementVNode("div",Kv,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value,C=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:C.name},[C.visible!=!1?(e.openBlock(),e.createBlock(_,{key:0,widget:C,engine:e.unref(f),ctx:{formData:A.value},onClick:h},null,8,["widget","engine","ctx"])):e.createCommentVNode("",!0)],64))),128))])],8,["to"])):e.createCommentVNode("",!0)]),_:2},[e.unref(f)?{name:"page-setting",fn:e.withCtx(()=>[e.createVNode(An,{engine:e.unref(f)},null,8,["engine"])]),key:"0"}:void 0]),1032,["engine"])}}}),[["__scopeId","data-v-8304b712"]]),Gv=["onMouseover"],Jv={key:0,class:"node-opts"},Xv={key:2,class:"tree-empty"},Zv={class:"form-warp"},ek={class:"form-btns"},Cs=Z(e.defineComponent({__name:"tree",props:{psn:{type:String,required:!1},params:{type:Object,default(){return{}}},storage:{type:Object,required:!0},fields:{type:Array,required:!1},setting:{type:Object,default(){return{}}},opts:{type:Object,required:!1},btns:{type:Object,required:!1},event:{type:Object,required:!1}},emits:["btnClick","treeClick","select"],setup(t,{expose:n,emit:l}){const o=P.useDialog(),a=e.inject("router"),i=t,d={sn:"new_",title:"新建页面",types:"code",vers:1,configs:{widgets:[],dsnList:[]},component:"unione-page-tree"};function r(){if(i.fields?.length){const z={widget:"unione-form",dsn:"primary",primary:!0,widgets:i.fields};d.configs.widgets=[z]}d.configs.dsnList=["primary"],i.storage&&s.dataManager().use("primary","form").store(i.storage),d.configs.btns=i.btns||[],i.btns==!1&&(d.configs.btns=!1),d.configs.opts=i.opts||[],i.opts==!1&&(d.configs.opts=!1),d.configs.event=i.event||{},d.configs.setting=i.setting||{}}const s=new Ve,f=e.ref(!1),c=e.ref([]),g=e.ref({}),m=e.ref(null),p=e.ref(null),A=e.ref([]),b=e.ref([]),h=e.ref(0),u=e.computed(()=>{const z={searchEnable:!0,disabled:!1,draggable:!1,multiple:!1,selectable:!0,autoselect:!1,checkable:!1,showLine:!0,showIcon:!0,idField:"id",pidField:"pid",labelField:"title",leafField:"isLeaf",iconField:"iconName",badgeDot:"badgeDot",badgeCount:"badgeCount",...i.setting?.tree||{}};return s.define?.configs?.tree||z}),v=e.computed(()=>u.value.searchEnable),N=e.computed(()=>{const z=s.define?.configs?.opts;if(typeof z=="boolean"&&z==!1)return!1;const H=(z||[]).map(X=>typeof X=="string"?{name:X,visible:!1}:X),Y=[];return H.forEach(X=>{Y.push(X.name)}),console.log("opts addBtn",H),H.filter(X=>X.name=="add")[0]||{visible:!0,name:"add",icon:"PlusOutlined",title:"新建",props:{block:!0,type:"dashed"}}}),w=e.computed(()=>{const z=s.define?.configs?.opts;if(typeof z=="boolean"&&z==!1)return[];const H=(z||[]).map(ne=>typeof ne=="string"?{name:ne,visible:!1}:ne),Y=[],X=[];return H.forEach(ne=>{X.push(ne.name),ne.name!="add"&&Y.push(ne)}),X.includes("delete")||Y.splice(1,0,{visible:!0,name:"delete",icon:"DeleteOutlined",tooltip:"删除",props:{type:"text"}}),X.includes("child")||Y.splice(2,0,{visible:!0,name:"child",icon:"PlusOutlined",tooltip:"创建下级",props:{type:"text"}}),console.log("opts menuBtn",Y),Y});function k(z,H){const{btn:Y,event:X}=z;X.stopPropagation();const ne=g.value[H[u.value.idField]];if(console.log("onTreeMenuClick,btn:",Y),console.log("onTreeMenuClick,node:",H),console.log("onTreeMenuClick,curentNode:",ne),Y.name=="child"){if(/^new_.*/.test(ne[u.value.idField])||$.value.preCreate&&$.value.preCreate(ne)==!1)return;const pe=g.value[ne[u.value.idField]];pe.isLeaf=!1,m.value={},m.value[u.value.pidField]=pe[u.value.idField],m.value[u.value.labelField]="新建...",m.value[u.value.idField]="new_"+h.value,m.value.parentNode=pe,h.value=h.value+1,pe.children||(pe.children=[],b.value.push(pe[u.value.idField])),$.value.createNode&&$.value.createNode(m.value,pe,s.dataManager().params()),g.value[m.value[u.value.idField]]=m.value,pe.children.push(m.value),A.value=[m.value[u.value.idField]],s.dataManager().primary().setValue(m.value)}Y.name=="delete"&&ee(ne),j("btnClick",{...z,node:ne})}function B(z,{expanded:H,node:Y}){H&&(m.value=Y.dataRef,s.dataManager().primary().setValue(m.value),T())}function S(z,H){H.selected?(m.value=H.node.dataRef,s.dataManager().primary().setValue(m.value)):m.value&&(A.value=[m.value[u.value.idField]]),j("treeClick",{keys:z,event:H}),j("select",{keys:z,event:H})}const y=e.computed(()=>{if(i.storage?.orderBy){const z=i.storage.orderBy.split(" ");return[{name:z[0],asc:z[1].toLowerCase()=="asc"}]}return[]});e.watch(()=>i.params,()=>{f.value&&(c.value=[],g.value={},m.value=null,A.value=[],b.value=[],h.value=0,s.dataManager().params(i.params||{}),console.log("params changed props.params",i.params),T())}),e.watch(()=>m.value,()=>{console.log("active node changed",m.value),E(!m.value)});const x=e.ref(null);e.watch(x,()=>{x.value&&m.value&&s.dataManager().primary().setValue(m.value)});function E(z=!0){const H=s.dataManager().form();for(let Y in H)H[Y].setDisabled(z)}function _(){if(!($.value.preCreate&&$.value.preCreate()==!1)){if(m.value={},m.value[u.value.pidField]=-1,m.value[u.value.labelField]="新建...",m.value[u.value.idField]="new_"+h.value,h.value=h.value+1,$.value.createNode&&$.value.createNode(m.value,null,s.dataManager().params()),m.value[u.value.pidField]==-1)c.value.push(m.value);else{const z=g.value[m.value[u.value.pidField]];z?(z.children||(z.children=[]),z.children.push(m.value)):c.value.push(m.value)}A.value=[m.value[u.value.idField]],g.value[m.value[u.value.idField]]=m.value,s.dataManager().primary().setValue(m.value)}}const C=e.ref(""),O=be(z=>{s.dataManager().primary().find({page:1,pageSize:9999,keywords:z||C.value,needCount:!1,body:u.value.async==!1?null:{},sorts:y.value}).then(H=>{if(g.value={},c.value=[],H.body?.length){const Y={};H.body.forEach(X=>{Y[X[u.value.idField]]=X}),H.body.forEach(X=>{const ne=Y[X[u.value.pidField]];ne?(ne.children||(ne.children=[],ne.isLeaf=!1),ne.children.push(X)):c.value.push(X)})}})},400);function T(){return new Promise((z,H)=>{const Y={};if(Y[u.value.pidField]=i.params[u.value.pidField]||-1,m.value){if(m.value.children?.length||u.value.async==!1){z(m.value.children);return}Y[u.value.pidField]=m.value[u.value.idField],s.dataManager().primary().find({page:1,pageSize:999,body:Y,sorts:y.value}).then(X=>{m.value.children=X.body||[],m.value.children.forEach(ne=>{ne.isLeaf=!!ne[u.value.leafField],g.value[ne[u.value.idField]]=ne,ne.parentNode=g.value[ne[u.value.pidField]]}),z(X.body)})}else{const X=u.value.async==!1?null:{page:1,pageSize:999,body:Y,sorts:y.value};s.dataManager().primary().find(X).then(ne=>{if(u.value.async==!1){if(c.value=[],ne.body?.length){const pe={};ne.body.forEach(nt=>{pe[nt[u.value.idField]]=nt}),ne.body.forEach(nt=>{const _t=pe[nt[u.value.pidField]];_t?(_t.children||(_t.children=[],_t.isLeaf=!1),_t.children.push(nt)):c.value.push(nt)})}z(ne.body)}else c.value=ne.body||[],c.value.forEach(pe=>{pe.isLeaf=!!pe[u.value.leafField],g.value[pe[u.value.idField]]=pe}),z(ne.body)})}})}const V=e.computed(()=>s.$widgetList.value||[]),$=e.computed(()=>{const z={...s.define?.configs?.event||{}};for(const H in z)z[H]&&typeof z[H]!="function"&&z[H].enable&&z[H].scriptText&&(H=="createNode"&&(z[H]=new Function("node","parent","params",z[H].scriptText)),H=="preCreate"?z[H]=new Function("parent",z[H].scriptText):z[H]=new Function("data","event",z[H].scriptText));return z}),I=e.computed(()=>s.define?.configs?.setting||i.setting||{});e.provide("pageSetting",I.value);const F=e.computed(()=>{const z=s.define?.configs?.btns||i.btns;if(typeof z=="boolean"&&z==!1)return[];const H=(s.define?.configs?.btns||i.btns||[]).map(X=>typeof X=="string"?{name:X,visible:!1}:{size:"default",...X}),Y=H.map(X=>X.name);if(!Y.includes("save")){const X={title:"保存",type:"primary",index:0,visible:!0,size:"default",name:"save"};H.splice(X.index,0,X)}if(!Y.includes("reset")){const X={title:"重置",type:"default",index:1,visible:!0,size:"default",props:{danger:!0},name:"reset"};H.splice(X.index,0,X)}if(!Y.includes("back")){const X={title:"返回",type:"default",index:H.length,visible:!0,size:"default",name:"back"};H.splice(X.index,0,X)}return s.model.value=="view"&&H.filter(X=>["save","submit","reset"].includes(X.name)).forEach(X=>{X.visible=!1}),H}),j=l;function U(z){const{btn:H,event:Y}=z;H.name=="save"&&M({btn:H,event:Y}),H.name=="reset",H.name=="back"&&D(),j("btnClick",z)}async function M(z){const H=s.dataManager().form();let Y={...m.value};for(let X in H){const ne=await H[X].validate();if(s.dataManager().psn()==X)for(let pe in ne)Y[pe]=ne[pe];else Y[X]=ne}if(Y[u.value.pidField]&&(Y[u.value.pidField]+"").startsWith("new_")){o.error({content:"请先保存父节点!"});return}Y[u.value.idField]&&(Y[u.value.idField]+"").startsWith("new_")&&delete Y[u.value.idField],delete Y.parentNode,delete Y.children,Y[u.value.leafField]=Y[u.value.leafField]?1:0,$.value.preSave&&$.value.preSave(Y,z),console.log("=======form data=====",Y),s.dataManager().primary().save({data:Y}).then(X=>{console.log("save result:",X),m.value[u.value.idField]=X.body,A.value=[X.body],g.value[X.body]=m.value,m.value.children?.forEach(ne=>{ne[u.value.pidField]=X.body}),$.value.postSaved&&$.value.postSaved(Y,z)})}function Q(){}function D(){a.back()}function R(){return s.dataManager().primary()}function J(z,H){if(z&&H){const Y=g.value[z];z!=H[u.value.idField]&&(Y[u.value.idField]=H[u.value.idField],g.value[H[u.value.idField]]=Y),Object.keys(H).forEach(X=>{Y[X]=P.utils.obj.set(Y[X],H[X])})}else if(z&&!H){H=z;const Y=g.value[H[u.value.idField]];Y&&Object.keys(H).forEach(X=>{Y[X]=P.utils.obj.set(Y[X],H[X])})}}function q(z){m.value&&(m.value[u.value.idField]!=z[u.value.idField]&&(m.value[u.value.idField]==z[u.value.idField],A.value=[z[u.value.idField]],g.value[z[u.value.idField]]=m.value),P.utils.obj.set(m.value,z))}function L(z){return g.value[z]}function ee(z){$.value.preDelete&&$.value.preDelete(z)==!1||(z[u.value.idField]&&(z[u.value.idField]+"").startsWith("new_")?(z.parentNode?z.parentNode.children=z.parentNode.children.filter(H=>H[u.value.idField]!=z[u.value.idField]):c.value=c.value.filter(H=>H[u.value.idField]!=z[u.value.idField]),delete g.value[z[u.value.idField]]):s.dataManager().primary().deleteByIds([z[u.value.idField]]).then(()=>{if(z.parentNode){const H=g.value[z[u.value.pidField]];H.children=H.children.filter(Y=>Y[u.value.idField]!=z[u.value.idField])}else c.value=c.value.filter(H=>H[u.value.idField]!=z[u.value.idField]);delete g.value[z[u.value.idField]]}))}function W(){c.value=[],g.value={},m.value=null,p.value=null,A.value=[],b.value=[],h.value=0,T().then(z=>{if(z&&z[0]&&u.value.selectable&&u.value.autoselect){const H={...z[0],dataRef:z[0]};A.value=[z[0].id],j("select",{keys:A.value,event:{node:H}})}})}const se=e.ref("new_");return e.onMounted(()=>{const z=e.inject("route");console.log("unione page tree route",z),se.value=i.psn||z?.query?.psn||z?.meta?.psn||"new_",console.log("unione page tree,psn:"+se.value),s.setModel(z?.query?.model||z?.meta?.model||"run");const H={...i.params||{},...z?.query||{},...z?.params||{}};s.dataManager().params(H),r(),s.load(se.value,d),e.nextTick(()=>{E(!0)}),T().then(Y=>{if(Y&&Y[0]&&u.value.selectable&&u.value.autoselect){const X={...Y[0],dataRef:Y[0]};A.value=[Y[0].id],j("select",{keys:A.value,event:{node:X}})}}),f.value=!0}),n({storage:R,save:M,toBack:D,toReset:Q,setNode:J,setActiveNode:q,getNode:L,delNode:ee,reload:W}),(z,H)=>{const Y=e.resolveComponent("SearchOutlined"),X=e.resolveComponent("a-input"),ne=e.resolveComponent("unione-btn"),pe=e.resolveComponent("a-badge"),nt=e.resolveComponent("a-tree"),_t=e.resolveComponent("a-empty");return e.openBlock(),e.createBlock(Cn,{class:"unione-page-tree","setting-title":"页面设置",engine:e.unref(s)},e.createSlots({default:e.withCtx(()=>[e.createElementVNode("div",{class:"tree-warp",onContextmenu:H[4]||(H[4]=e.withModifiers(()=>{},["prevent"]))},[e.renderSlot(z.$slots,"tree-top",{},void 0,!0),v.value?(e.openBlock(),e.createBlock(X,{key:0,size:"small",class:"input-search",placeholder:"输入关键字搜索...",value:C.value,"onUpdate:value":H[0]||(H[0]=ue=>C.value=ue),onChange:e.unref(O),onPressEnter:e.unref(O)},{suffix:e.withCtx(()=>[e.createVNode(Y)]),_:1},8,["value","onChange","onPressEnter"])):e.createCommentVNode("",!0),N.value?(e.openBlock(),e.createBlock(ne,{key:1,widget:N.value,onClick:_},null,8,["widget"])):e.createCommentVNode("",!0),e.createVNode(nt,{"show-line":u.value.showLine,"show-icon":u.value.showIcon,disabled:u.value.disabled,blockNode:!0,draggable:u.value.draggable,multiple:u.value.multiple,selectable:u.value.selectable,checkable:u.value.checkable,fieldNames:{title:u.value.labelField,key:u.value.idField},selectedKeys:A.value,"onUpdate:selectedKeys":H[2]||(H[2]=ue=>A.value=ue),expandedKeys:b.value,"onUpdate:expandedKeys":H[3]||(H[3]=ue=>b.value=ue),"tree-data":c.value,onExpand:B,onSelect:S},e.createSlots({icon:e.withCtx(({dataRef:ue})=>[ue[u.value.iconField]?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(ue[u.value.iconField]),{key:0,class:"node-icon"})):e.createCommentVNode("",!0)]),_:2},[w.value?.length?{name:"title",fn:e.withCtx(({dataRef:ue})=>[e.createElementVNode("div",{class:"node-label",onMouseover:()=>p.value=ue,onMouseleave:H[1]||(H[1]=()=>p.value=null)},[e.createVNode(pe,{dot:ue[u.value.badgeDot],count:ue[u.value.badgeCount]},{default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(ue[u.value.labelField]),1)]),_:2},1032,["dot","count"]),m.value&&m.value[u.value.idField]==ue[u.value.idField]||p.value&&p.value[u.value.idField]==ue[u.value.idField]?(e.openBlock(),e.createElementBlock("div",Jv,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.value,rt=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[!$.value.btnVisible||$.value.btnVisible(rt,ue)?(e.openBlock(),e.createBlock(ne,{key:rt.name,widget:rt,ctx:{node:ue},onClick:En=>k(En,ue)},null,8,["widget","ctx","onClick"])):e.createCommentVNode("",!0)],64))),256))])):e.createCommentVNode("",!0)],40,Gv)]),key:"0"}:void 0]),1032,["show-line","show-icon","disabled","draggable","multiple","selectable","checkable","fieldNames","selectedKeys","expandedKeys","tree-data"]),!c.value||!c.value.length?(e.openBlock(),e.createElementBlock("div",Xv,[e.renderSlot(z.$slots,"tree-empty",{},()=>[e.createVNode(_t)],!0)])):e.createCommentVNode("",!0)],32),e.createElementVNode("div",Zv,[e.renderSlot(z.$slots,"form-warp",{},()=>[e.createElementVNode("div",{ref_key:"formWarp",ref:x},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(V.value,ue=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(ue.widget),{key:ue.wid,wid:ue.wid,widget:ue,engine:e.unref(s)},null,8,["wid","widget","engine"]))),128)),e.createElementVNode("div",ek,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(F.value,ue=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:ue.name},[ue.visible!=!1?(e.openBlock(),e.createBlock(ne,{key:0,widget:ue,engine:e.unref(s),disabled:!m.value,ctx:{formData:m.value},onClick:U},null,8,["widget","engine","disabled","ctx"])):e.createCommentVNode("",!0)],64))),128))])],512)],!0)])]),_:2},[e.unref(s)?{name:"page-setting",fn:e.withCtx(()=>[e.createVNode(An,{engine:e.unref(s)},null,8,["engine"])]),key:"0"}:void 0]),1032,["engine"])}}}),[["__scopeId","data-v-e2c0d9cc"]]),tk={class:"form-define form-base"},nk=Z(e.defineComponent({name:"UnioneFormDesignBaseInfo",__name:"baseInfo",props:{define:{type:Object,default(){return{}}},defineModifiers:{}},emits:["update:define"],setup(t,{expose:n}){const l=P.useDialog(),o=e.useModel(t,"define"),a=e.ref(),i=e.ref({isPrimary:!1,fields:[{title:"数据类型",name:"category",control:"unione-select-box",value:"sql",convert:{types:"dict",dictName:"DATACATEGORY"}},{title:"数据源",name:"dsId",control:"unione-select-box",convert:{types:"local",url:"/api/data/source/find",search:!0},props:{required:!0}},{title:"数据名称",name:"name",control:"unione-data-table-selector",refValue:"dsId",props:{required:!0,modelField:{title:"title",dsId:"dsId"}},rules:{whitespace:!0},event:{select:(f,{row:c})=>{s(c)}}},{title:"数据标题",name:"title",dataLen:10,props:{required:!0}},{title:"数据编码",name:"sn",control:"unione-random-input",dataLen:50,event:{disabled:(f,c)=>!!c.id}},{title:"无列表",name:"isNoList",control:"unione-switch-box",value:0,convert:{types:"dict",dictName:"TUREORFALSE"}},{title:"描述",name:"descs",control:"a-textarea"}],setting:{showColumn:1,labelWidth:4}});function d(){return a.value.validate()}function r(f){a.value.setValue(f)}function s({dsId:f,name:c}){if(!f||!c)return;const g=new FormData;g.append("dsId",f),g.append("table",c),P.axios.form({url:"/api/data/define/load/db/field",method:"post",data:g}).then(m=>{if(m.success){o.value.configs=P.utils.obj.set(o.value.configs,{fields:m.body}),o.value.configs.form.dataModels||(o.value.configs.form.dataModels=[]);const p={title:o.value.title,group:"master",types:"form",name:o.value.name,dsn:o.value.sn,fields:[]},A={};p.fields.forEach(b=>{A[b.name]=b.binded}),p.fields=m.body.map(b=>({name:b.name,title:b.title,dataValue:b.dataValue,dataType:b.dataType,dataLen:b.dataLen,dataPrec:b.dataPrec,isPk:b.isPk,isFk:b.configs?.fkey?.enable?1:0,isNull:b.isNull,widget:b.configs?.widget?.name,descs:b.descs,binded:A[b.name]||!1})),o.value.configs.form.dataModels=o.value.configs.form.dataModels.filter(b=>b.group!=="master"),o.value.configs.form.dataModels.splice(0,0,p)}else l.error({content:"加载数据表字段失败"})})}return e.onMounted(()=>{a.value.setValue(o.value)}),n({save:d,load:r}),(f,c)=>{const g=e.resolveComponent("unione-form");return e.openBlock(),e.createElementBlock("div",tk,[e.createVNode(g,{form:i.value,ref_key:"formObj",ref:a},null,8,["form"])])}}}),[["__scopeId","data-v-588abc8f"]]),lk={class:"unione-props-setting data-field-manage"},ok=["onClick"],ak={key:0},ik={key:1},rk=["onClick"],sk=["onClick"],dk=["onClick"],ck={key:1},ya=Z(e.defineComponent({__name:"dataFieldMange",props:e.mergeModels({pagination:{type:Boolean,default:!0},disabled:{type:Boolean,default:!1}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const n=P.useDialog(),l=t,o=e.ref([{title:"序号",dataIndex:"index",key:"index",width:"35px",fixed:"left",align:"center",customRender:({index:N})=>N+1},{title:"名称",dataIndex:"name",key:"name",width:"120px",rowDrag:!0,resizable:!0,fixed:"left",align:"center"},{title:"标题",dataIndex:"title",key:"title",width:"120px",align:"center"},{title:"数据类型",dataIndex:"dataType",key:"dataType",width:"80px",align:"center"},{title:"长度",dataIndex:"dataLen",key:"dataLen",width:"60px",align:"center"},{title:"小数点",dataIndex:"dataPrec",key:"dataPrec",width:"60px",align:"center"},{title:"默认值",dataIndex:"dataValue",key:"dataValue",width:"60px",align:"center"},{title:"主键",dataIndex:"isPk",key:"isPk",width:"40px",align:"center"},{title:"外键",dataIndex:"isFk",key:"isFk",width:"30px",align:"center"},{title:"非空",dataIndex:"isNull",key:"isNull",width:"30px",align:"center"},{title:"备注",dataIndex:"descs",key:"descs",width:"100px",align:"center"}]),a=e.useModel(t,"modelValue"),i=e.ref({ID:{title:"主键[ID]",dataType:"Long",dataLen:19,isPk:1,isNull:0,checked:!0,binded:!1},TENANT_ID:{title:"租户ID[TENANT_ID]",dataType:"Long",dataLen:19,isPk:0,isNull:0,checked:!0,binded:!1},ORG_ID:{title:"机构ID[ORG_ID]",dataType:"Long",dataLen:19,isPk:0,isNull:0,checked:!0,binded:!1},USER_ID:{title:"用户ID[USER_ID]",dataType:"Long",dataLen:19,isPk:0,isNull:0,checked:!0,binded:!1},DEL_FLAG:{title:"删除标志[DEL_FLAG]",dataType:"Integer",dataLen:1,isPk:0,isNull:0,checked:!0,binded:!1},CREATED:{title:"创建时间[CREATED]",dataType:"Timestamp",dataLen:0,isPk:0,isNull:0,checked:!0,binded:!1},CREATED_BY:{title:"创建人[CREATED_BY]",dataType:"Long",dataLen:19,isPk:0,isNull:0,checked:!0,binded:!1},LAST_UPDATED:{title:"更新时间[LAST_UPDATED]",dataType:"Timestamp",dataLen:0,isPk:0,isNull:0,checked:!0,binded:!1},LAST_UPDATED_BY:{title:"更新人[LAST_UPDATED_BY]",dataType:"Long",dataLen:19,isPk:0,isNull:0,checked:!0,binded:!1}}),d=e.computed(()=>{const N={hadCount:0,newCount:0,unbinded:0},w={};return Object.keys(i.value).forEach(k=>{i.value[k].binded=!1}),a.value?.forEach(k=>{(k.stsField&&i.value[k.stsField]||i.value[k.name])&&(N.hadCount++,k.stsField||(k.stsField=k.name),w[k.stsField]=k,i.value[k.stsField].checked=!0,i.value[k.stsField].binded=!0)}),Object.keys(i.value).forEach(k=>{!w[k]&&i.value[k].checked&&N.newCount++}),N.unbinded=Object.keys(i.value).length-N.hadCount,N});function r(){d.value.unbinded<=0||Object.keys(i.value).forEach(N=>{const w=i.value[N];(w.checked||d.value.newCount<=0)&&!w.binded&&(w.binded=!0,a.value.push({name:N,title:w.title.split("[")[0],dataType:w.dataType,dataLen:w.dataLen,dataPrec:0,dataValue:"",isPk:w.isPk,isNull:w.isNull,syncEnable:1,descs:"",stsField:N,configs:{}}))})}const s=e.ref({selectedRowKeys:[],columnWidth:"25px",onChange:N=>{l.pagination||(s.value.selectedRowKeys=[]),N.forEach(w=>{s.value.selectedRowKeys.includes(w)||s.value.selectedRowKeys.push(w);const k=[];a.value.forEach(B=>{!N.includes(B.name)&&s.value.selectedRowKeys.includes(B.name)&&k.push(B.name)}),k.length&&(s.value.selectedRowKeys=s.value.selectedRowKeys.filter(B=>!k.includes(B)))})}}),f={mounted:N=>N.focus()},c=e.ref({});function g(){const N=Object.keys(c.value);if(N.length)for(let w in N){const k=a.value.filter(B=>B.name==w);if(k&&k[0]){let B=c.value[w];Object.keys(B).forEach(S=>{k[0][S]=B[S]})}}c.value={}}function m(N,w){if(l.disabled)return;g();const k={};k[w]=N[w]||"",c.value[N.name]=k}const p=["SELECT","INSERT","UPDATE","DELETE","MERGE","CALL","CREATE","ALTER","DROP","TRUNCATE","RENAME","COMMENT","COMMIT","ROLLBACK","SAVEPOINT","SET","TRANSACTION","WHERE","AND","OR","NOT","IN","BETWEEN","LIKE","IS","NULL","JOIN","INNER","LEFT","RIGHT","FULL","JOIN","ON","AS","GROUP","HAVING","ORDER","ASC","DESC","LIMIT","COUNT","SUM","AVG","MAX","MIN","DISTINCT","CASE","WHEN","THEN","IF","ELSE","FROM","TABLE","VIEW","INDEX","PRIMARY","KEY","FOREIGN","UNIQUE","INT","VARCHAR","DATE","TIME","DATETIME","BOOLEAN","FLOAT","DECIMAL"];function A(N,w){if(!N||!w){c.value={};return}const k=c.value[N.name][w];if(w=="name"){let B=N.name.toUpperCase().trim();if(!/^[A-Z0-9_]+$/.test(B)||/[0-9]/.test(B[0])){n.error("字段名称必须为大写字母,数字和下划线组成,且不能以数字开头");return}if(p.indexOf(B)!==-1&&(B=B+"_1"),a.value.filter(y=>y[w]==k&&y.name!=N.name).length>0){te.Modal.warn({title:"提示信息",content:"字段名称["+k+"]已存在"});return}N[w]=B}N[w]=k,c.value={}}function b(N,w){const k=a.value.filter(B=>B.name==N.name)[0];return w=="isFk"?k.configs?.fkey?.enable:k[w]==1}function h(N,w){const k=a.value.filter(B=>B.name==N.name)[0];w=="isFk"?(k.configs||(k.configs={}),k.configs.fkey||(k.configs.fkey={}),k.configs.fkey.enable=!k.configs.fkey.enable):k[w]!=1?k[w]=1:k[w]=0}function u(){if(g(),a.value.filter(k=>k.name=="NEW_").length>0){c.value.NEW_={name:"NEW_"};return}const w={title:"",name:"NEW_",dataType:"String",isPk:0,isNull:0,configs:{}};a.value.push(w),c.value[w.name]={name:"NEW_"}}function v(){if(!s.value.selectedRowKeys.length){te.Modal.info({title:"提示信息",content:"请选择要删除的字段!"});return}te.Modal.confirm({title:"确认信息",content:"确定要删除选中的["+s.value.selectedRowKeys.length+"]字段么?",onOk:()=>{a.value=a.value.filter(N=>!s.value.selectedRowKeys.includes(N.name)),s.value.selectedRowKeys=[]}})}return(N,w)=>{const k=e.resolveComponent("a-checkbox"),B=e.resolveComponent("a-menu-item"),S=e.resolveComponent("a-menu"),y=e.resolveComponent("DownOutlined"),x=e.resolveComponent("a-button"),E=e.resolveComponent("a-dropdown"),_=e.resolveComponent("a-tooltip"),C=e.resolveComponent("a-input"),O=e.resolveComponent("a-input-number"),T=e.resolveComponent("a-select-option"),V=e.resolveComponent("a-select"),$=e.resolveComponent("a-table");return e.openBlock(),e.createElementBlock("div",lk,[e.createVNode(E,{class:"btn btn-std",disabled:t.disabled},{overlay:e.withCtx(()=>[e.createVNode(S,null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(i.value,(I,F)=>(e.openBlock(),e.createBlock(B,{key:F},{default:e.withCtx(()=>[e.createElementVNode("div",{onClick:e.withModifiers(j=>I.checked=!I.checked,["stop","prevent"]),class:"std-field"},[e.createVNode(k,{checked:I.checked,"onUpdate:checked":j=>I.checked=j,disabled:I.binded},null,8,["checked","onUpdate:checked","disabled"]),e.createTextVNode(e.toDisplayString(I.title),1)],8,ok)]),_:2},1024))),128)),e.createVNode(B,{key:"ALL",onClick:r,disabled:d.value.unbinded<=0},{default:e.withCtx(()=>[e.createTextVNode("一键添加"+e.toDisplayString(d.value.newCount?`(${d.value.newCount})`:"所有"),1)]),_:1},8,["disabled"])]),_:1})]),default:e.withCtx(()=>[e.createVNode(x,{size:"small"},{default:e.withCtx(()=>[w[1]||(w[1]=e.createTextVNode(" 标准字段 ")),e.createVNode(y)]),_:1})]),_:1},8,["disabled"]),e.createVNode(x,{class:"btn btn-add",type:"primary",onClick:u,size:"small",disabled:t.disabled},{default:e.withCtx(()=>w[2]||(w[2]=[e.createTextVNode("新增")])),_:1},8,["disabled"]),e.createVNode(x,{class:"btn btn-delete",type:"primary",danger:"",onClick:v,size:"small"},{default:e.withCtx(()=>w[3]||(w[3]=[e.createTextVNode("删除")])),_:1}),e.createVNode($,{columns:o.value,"data-source":a.value,pagination:t.pagination,bordered:"","row-selection":s.value,scroll:{x:1150},"row-key":"name",size:"small"},{headerCell:e.withCtx(({column:I})=>[["name","title"].includes(I.key)?(e.openBlock(),e.createElementBlock("span",ak,[w[4]||(w[4]=e.createElementVNode("span",{style:{color:"red","margin-right":"3px","font-size":"16px"}},"*",-1)),e.createVNode(e.unref(gt.FormOutlined)),e.createTextVNode(" "+e.toDisplayString(I.title),1)])):e.createCommentVNode("",!0),["descs","dataLen","dataPrec","dataValue","dataType"].includes(I.key)?(e.openBlock(),e.createElementBlock("span",ik,[e.createVNode(e.unref(gt.FormOutlined)),e.createTextVNode(" "+e.toDisplayString(I.title),1)])):e.createCommentVNode("",!0),I.key==="isPk"?(e.openBlock(),e.createBlock(_,{key:2,title:"至少配置一个主键字段"},{default:e.withCtx(()=>[w[5]||(w[5]=e.createElementVNode("span",{style:{color:"red","margin-right":"3px","font-size":"16px"}},"*",-1)),e.createTextVNode(e.toDisplayString(I.title),1)]),_:2},1024)):e.createCommentVNode("",!0),I.key==="isFk"?(e.openBlock(),e.createBlock(_,{key:3,title:"是否是外键字段"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(I.title),1)]),_:2},1024)):e.createCommentVNode("",!0),I.key==="isNull"?(e.openBlock(),e.createBlock(_,{key:4,title:"是否允许为空"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(I.title),1)]),_:2},1024)):e.createCommentVNode("",!0),I.key==="syncEnable"?(e.openBlock(),e.createBlock(_,{key:5,title:"是否同步到数据库"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(I.title),1)]),_:2},1024)):e.createCommentVNode("",!0)]),bodyCell:e.withCtx(({column:I,text:F,record:j})=>[["name","title","descs","dataValue"].includes(I.dataIndex)?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["edit-field",(!c.value[j.name]||!Object.keys(c.value[j.name]).includes(I.dataIndex))&&!F&&"empty"]),onClick:U=>m(j,I.dataIndex)},[c.value[j.name]&&Object.keys(c.value[j.name]).includes(I.dataIndex)?e.withDirectives((e.openBlock(),e.createBlock(C,{key:0,value:c.value[j.name][I.dataIndex],"onUpdate:value":U=>c.value[j.name][I.dataIndex]=U,onBlur:U=>A(j,I.dataIndex),onChange:U=>c.value[j.name][I.dataIndex]=c.value[j.name][I.dataIndex].toUpperCase(),style:{margin:"-5px 0"}},null,8,["value","onUpdate:value","onBlur","onChange"])),[[f]]):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(F||" "),1)],64))],10,rk)):e.createCommentVNode("",!0),["dataLen","dataPrec"].includes(I.dataIndex)?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["edit-field",(!c.value[j.name]||!Object.keys(c.value[j.name]).includes(I.dataIndex))&&!F&&"empty"]),onClick:U=>m(j,I.dataIndex)},[c.value[j.name]&&Object.keys(c.value[j.name]).includes(I.dataIndex)?e.withDirectives((e.openBlock(),e.createBlock(O,{key:0,value:c.value[j.name][I.dataIndex],"onUpdate:value":U=>c.value[j.name][I.dataIndex]=U,onBlur:U=>A(j,I.dataIndex),style:{margin:"-5px 0"}},null,8,["value","onUpdate:value","onBlur"])),[[f]]):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(F||" "),1)],64))],10,sk)):["dataType"].includes(I.dataIndex)?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(["edit-field",(!c.value[j.name]||!Object.keys(c.value[j.name]).includes(I.dataIndex))&&!F&&"empty"]),onClick:U=>m(j,I.dataIndex)},[c.value[j.name]&&Object.keys(c.value[j.name]).includes(I.dataIndex)?e.withDirectives((e.openBlock(),e.createBlock(V,{key:0,value:j[I.dataIndex],"onUpdate:value":U=>j[I.dataIndex]=U,onBlur:w[0]||(w[0]=U=>A())},{default:e.withCtx(()=>[e.createVNode(T,{key:"String",value:"String"}),e.createVNode(T,{key:"Long",value:"Long"}),e.createVNode(T,{key:"Short",value:"Short"}),e.createVNode(T,{key:"Integer",value:"Integer"}),e.createVNode(T,{key:"Float",value:"Float"}),e.createVNode(T,{key:"Double",value:"Double"}),e.createVNode(T,{key:"Date",value:"Date"}),e.createVNode(T,{key:"Timestamp",value:"Timestamp"})]),_:2},1032,["value","onUpdate:value"])),[[f]]):(e.openBlock(),e.createElementBlock("span",ck,e.toDisplayString(F),1))],10,dk)):["syncEnable","isFk","isPk"].includes(I.dataIndex)?(e.openBlock(),e.createBlock(k,{key:3,checked:b(j,I.dataIndex),onClick:U=>h(j,I.dataIndex),disabled:t.disabled},null,8,["checked","onClick","disabled"])):["isNull"].includes(I.dataIndex)?(e.openBlock(),e.createBlock(k,{key:4,checked:!b(j,I.dataIndex),onClick:U=>h(j,I.dataIndex),disabled:t.disabled},null,8,["checked","onClick","disabled"])):e.createCommentVNode("",!0)]),_:1},8,["columns","data-source","pagination","row-selection"])])}}}),[["__scopeId","data-v-60dcc955"]]),uk={class:"unione-props-setting data-field-setting"},fk={key:0},pk=["onClick"],mk={class:"field-txt"},gk=["onClick"],hk={key:1,class:"field-txt"},bk=["onClick"],yk={key:0,class:"field-txt"},vk={key:3,class:"edit-field"},kk=["onClick"],va=Z(e.defineComponent({__name:"dataFieldSetting",props:e.mergeModels({pagination:{type:Boolean,default:!0},inCols:{type:Array,default:()=>[]}},{modelValue:{required:!0},modelModifiers:{}}),emits:["update:modelValue"],setup(t){const n=P.useSession(),l=e.ref([La.json()]),o=t,a=e.computed(()=>{const S=[{title:"序号",dataIndex:"index",key:"index",width:"30px",fixed:"left",align:"center",customRender:({index:y})=>y+1},{title:"字段名称",dataIndex:"name",key:"name",width:"70px",rowDrag:!0,resizable:!0,fixed:"left",align:"center"},{title:"字段标题",dataIndex:"title",key:"title",width:"90px",align:"center"},{title:"控件类型",dataIndex:"widget",key:"widget",width:"60px",align:"center"},{title:"验证规则",dataIndex:"rules",key:"rules",width:"60px",align:"center"},{title:"表单",dataIndex:"form",key:"form",width:"40px",align:"center"},{title:"详情",dataIndex:"view",key:"view",width:"40px",align:"center"},{title:"列表",dataIndex:"list",key:"list",width:"40px",align:"center"},{title:"排序",dataIndex:"sort",key:"sort",width:"40px",align:"center"},{title:"查询",dataIndex:"query",key:"query",width:"40px",align:"center"},{title:"转换器",dataIndex:"convertName",key:"convertName",width:"50px",align:"center"}];return o.inCols.length?S.filter(y=>o.inCols.includes(y.dataIndex)):S}),i=e.useModel(t,"modelValue"),d={mounted:S=>S.focus()},r=e.ref({});function s(){const S=Object.keys(r.value);if(S.length)for(let y in S){const x=i.value.filter(E=>E.name==y);if(x&&x[0]){let E=r.value[y];Object.keys(E).forEach(_=>{_=="convertName"?(x[0].convert||(x[0].convert={}),x[0].convert.type=E[_]):x[0][_]=E[_]})}}r.value={}}function f(S,y){s();const x={};y=="convertName"?(S.convert||(S.convert={}),x[y]=S.convert?.type):x[y]=S[y]||"",r.value[S.name]=x}function c(S,y){{r.value={};return}}function g(S,y){switch(y){case"query":return S.configs?.query?.enable;case"form":return S.configs?.show?.form?.enable;case"view":return S.configs?.show?.view?.enable;case"list":return S.configs?.show?.list?.enable;case"sort":return S.configs?.sort?.enable}}function m(S,y){switch(y){case"query":S.configs=P.utils.obj.ext(S.configs,{query:{enable:!1}}),S.configs.query.enable=!S.configs.query.enable;break;case"form":S.configs=P.utils.obj.ext(S.configs,{show:{form:{enable:!1}}}),S.configs.show.form.enable=!S.configs.show.form.enable;break;case"view":S.configs=P.utils.obj.ext(S.configs,{show:{view:{enable:!1}}}),S.configs.show.view.enable=!S.configs.show.view.enable;break;case"list":S.configs=P.utils.obj.ext(S.configs,{show:{list:{enable:!1}}}),S.configs.show.list.enable=!S.configs.show.list.enable;break;case"sort":S.configs=P.utils.obj.ext(S.configs,{sort:{enable:!1}}),S.configs.sort.enable=!S.configs.sort.enable;break}console.log("record.configs",S.configs)}const p=e.ref({title:"列头设置",prop:"list",visible:!1,field:{},show:{},toSetting:()=>{p.value.visible=!1}});function A(S,y){switch(p.value.prop=y,p.value.field=S,S.configs||(S.configs={}),S.configs.show||(S.configs.show={}),y){case"query":S.configs.query||(S.configs.query={}),S.configs.query.types||(S.configs.query.types="EQ"),p.value.show=S.configs.query,p.value.title=`查询设置/${S.title}(${S.name})`;break;case"form":S.configs.show.form||(S.configs.show.form={}),p.value.show=S.configs.show.form,p.value.title=`表单设置/${S.title}(${S.name})`;break;case"view":S.configs.show.view||(S.configs.show.view={}),p.value.show=S.configs.show.view,p.value.title=`详情设置/${S.title}(${S.name})`;break;case"list":S.configs.show.list||(S.configs.show.list={}),p.value.show=S.configs.show.list,p.value.title=`列头设置/${S.title}(${S.name})`;break;case"sort":S.configs.sort||(S.configs.sort={}),p.value.show=S.configs.sort,p.value.title=`排序设置/${S.title}(${S.name})`;break}p.value.visible=!0}const b=e.ref({options:[{value:"keywords",label:"关键字"},{value:"equle",label:"精确"},{value:"like",label:"模糊"},{value:"like-right",label:"右模糊"},{value:"like-left",label:"左模糊"},{value:"range",label:"范围"}],showLabel:S=>{const y=b.value.options.filter(x=>x.value==S);return y[0]?y[0].label:S}}),h=e.ref({visible:!1,field:{},props:{},advances:Wa.loadAdvances(),showInfo:S=>{let y=0;if(S.configs?.rule){const x=S.configs.rule;x.advance&&y++,typeof x.rangeMin<"u"&&y++,typeof x.rangeMax<"u"&&y++,typeof x.regExpress<"u"&&y++}if(y>0)return"("+y+")"},toSetting:()=>{const S=h.value.props;h.value.field.configs=P.utils.obj.set(h.value.field.configs,{rule:{...S}}),h.value.visible=!1,h.value.props={}}});function u(S){h.value.visible=!0,h.value.field=S,h.value.props=S.configs?.rule||{}}const v=e.ref({visible:!1,field:{},widget:{},widgets:[],widgetName:S=>{const y=S.configs?.widget?.name,x=v.value.widgets.filter(E=>E.value==y);return x[0]?x[0].label:y},toSetting:(S,y)=>{S.configs||(S.configs={}),S.configs.widget||(S.configs.widget={}),S.configs.widget.name=y},toclose:()=>{v.value.visible=!1}});function N(){const S=n.getStorage("UNIONE-WIDGETLIST");S?v.value.widgets=JSON.parse(S):P.axios.form({url:"/api/page/widget/load",method:"post",data:{types:"form",app:"form"}}).then(y=>{if(y.success){const x=y.body.map(E=>({value:E.name,label:E.title}));v.value.widgets=x,n.setStorage("UNIONE-WIDGETLIST",JSON.stringify(x))}})}function w(S){v.value.field=S,S.configs=P.utils.obj.ext(S.configs,{widget:{props:{}}}),v.value.widget=S.configs.widget,v.value.visible=!0}const k=e.ref({visible:!1,field:{},convert:{},types:[{value:"dict",label:"字典"},{value:"option",label:"静态"},{value:"dbtable",label:"数据集"},{value:"remote",label:"远程接口"},{value:"local",label:"本地接口"}],optionColumn:[{title:"选项标题",dataIndex:"label"},{title:"选项值",dataIndex:"value"},{title:"操作",dataIndex:"action",width:"20%"}],getTypes:(S,y="--")=>k.value.types.filter(x=>x.value==S)[0]?.label||y,toAddOption:()=>{k.value.convert.options||(k.value.convert.options=[]),k.value.convert.options.push({label:"",value:""})},toDelOption:(S,y)=>{k.value.convert.options.splice(S,1)},toSetting:()=>{k.value.visible=!1}});function B(S){k.value.visible=!0,k.value.field=S,S.configs||(S.configs={}),S.configs.convert||(S.configs.convert={}),k.value.convert=S.configs.convert}return e.onMounted(()=>{N()}),(S,y)=>{const x=e.resolveComponent("ToolOutlined"),E=e.resolveComponent("a-button"),_=e.resolveComponent("a-select"),C=e.resolveComponent("a-checkbox"),O=e.resolveComponent("a-table"),T=e.resolveComponent("a-switch"),V=e.resolveComponent("a-form-item"),$=e.resolveComponent("a-select-option"),I=e.resolveComponent("a-input-number"),F=e.resolveComponent("a-form"),j=e.resolveComponent("a-modal"),U=e.resolveComponent("a-input"),M=e.resolveComponent("unione-select-box"),Q=e.resolveComponent("a-checkbox-group"),D=e.resolveComponent("unione-section");return e.openBlock(),e.createElementBlock("div",uk,[e.createVNode(O,{columns:a.value,"data-source":i.value,bordered:"",scroll:{x:1e3},pagination:t.pagination,"row-key":"name",size:"small"},{headerCell:e.withCtx(({column:R})=>[["widget","queryType","rules","convertName"].includes(R.key)?(e.openBlock(),e.createElementBlock("span",fk,[e.createVNode(x),e.createTextVNode(" "+e.toDisplayString(R.title),1)])):e.createCommentVNode("",!0)]),bodyCell:e.withCtx(({column:R,text:J,record:q})=>[["rules"].includes(R.dataIndex)?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(["edit-field",!h.value.showInfo(q)&&"empty"]),onClick:L=>u(q)},[e.createElementVNode("span",mk,e.toDisplayString(h.value.showInfo(q)),1),h.value.showInfo(q)?(e.openBlock(),e.createBlock(E,{key:0,type:"link"},{default:e.withCtx(()=>y[50]||(y[50]=[e.createTextVNode("设置")])),_:1})):e.createCommentVNode("",!0)],10,pk)):["widget"].includes(R.dataIndex)?(e.openBlock(),e.createElementBlock("div",{key:1,class:e.normalizeClass(["edit-field",(!r.value[q.name]||!Object.keys(r.value[q.name]).includes(R.dataIndex))&&!J&&"empty"]),onClick:L=>f(q,R.dataIndex)},[r.value[q.name]&&Object.keys(r.value[q.name]).includes(R.dataIndex)?e.withDirectives((e.openBlock(),e.createBlock(_,{key:0,value:q.configs?.widget?.name,allowClear:!0,options:v.value.widgets,onChange:L=>v.value.toSetting(q,L),onBlur:y[0]||(y[0]=L=>c())},null,8,["value","options","onChange"])),[[d]]):(e.openBlock(),e.createElementBlock("span",hk,e.toDisplayString(v.value.widgetName(q)),1)),e.createVNode(E,{type:"link",onClick:e.withModifiers(L=>w(q),["stop"])},{default:e.withCtx(()=>y[51]||(y[51]=[e.createTextVNode("设置")])),_:2},1032,["onClick"])],10,gk)):["convertName"].includes(R.dataIndex)?(e.openBlock(),e.createElementBlock("div",{key:2,class:e.normalizeClass(["edit-field",(!r.value[q.name]||!Object.keys(r.value[q.name]).includes(R.dataIndex))&&!q.convert?.type&&"empty"]),onClick:L=>B(q)},[q.configs?.convert?.types?(e.openBlock(),e.createElementBlock("span",yk,e.toDisplayString(k.value.getTypes(q.configs.convert.types)),1)):e.createCommentVNode("",!0)],10,bk)):["query","form","view","list","sort"].includes(R.dataIndex)?(e.openBlock(),e.createElementBlock("div",vk,[e.createVNode(C,{checked:g(q,R.dataIndex),onClick:L=>m(q,R.dataIndex)},null,8,["checked","onClick"]),e.createVNode(E,{type:"link",onClick:L=>A(q,R.dataIndex)},{default:e.withCtx(()=>y[52]||(y[52]=[e.createTextVNode("设置")])),_:2},1032,["onClick"])])):e.createCommentVNode("",!0)]),_:1},8,["columns","data-source","pagination"]),e.createVNode(j,{visible:p.value.visible,"onUpdate:visible":y[14]||(y[14]=R=>p.value.visible=R),width:600,title:p.value.title,onOk:p.value.toSetting},{default:e.withCtx(()=>[e.createVNode(F,{model:p.value.show,name:"basic","label-col":{span:6},"wrapper-col":{span:18},autocomplete:"off",class:e.normalizeClass(["field-setting-form","form-mix",p.value.prop])},{default:e.withCtx(()=>[e.createVNode(V,{label:"启用状态"},{default:e.withCtx(()=>[e.createVNode(T,{checked:p.value.show.enable,"onUpdate:checked":y[1]||(y[1]=R=>p.value.show.enable=R),checkedChildren:"启用",unCheckedChildren:"停用"},null,8,["checked"])]),_:1}),p.value.prop=="sort"?(e.openBlock(),e.createBlock(V,{key:0,label:"默认排序"},{default:e.withCtx(()=>[e.createVNode(T,{checked:p.value.show.defoult,"onUpdate:checked":y[2]||(y[2]=R=>p.value.show.defoult=R),checkedChildren:"是",unCheckedChildren:"否"},null,8,["checked"])]),_:1})):e.createCommentVNode("",!0),p.value.prop=="sort"?(e.openBlock(),e.createBlock(V,{key:1,label:"排序方式"},{default:e.withCtx(()=>[e.createVNode(T,{checked:p.value.show.asc,"onUpdate:checked":y[3]||(y[3]=R=>p.value.show.asc=R),checkedChildren:"升序",unCheckedChildren:"降序"},null,8,["checked"])]),_:1})):e.createCommentVNode("",!0),p.value.prop=="query"&&p.value.show.types=="ADVANCE"?(e.openBlock(),e.createBlock(V,{key:2,label:"高级查询"})):e.createCommentVNode("",!0),p.value.prop=="query"?(e.openBlock(),e.createBlock(V,{key:3,label:"默认查询",tooltip:"开启后该字段加入关键字查询"},{default:e.withCtx(()=>[e.createVNode(T,{checked:p.value.show.defoult,"onUpdate:checked":y[4]||(y[4]=R=>p.value.show.defoult=R),checkedChildren:"是",unCheckedChildren:"否"},null,8,["checked"])]),_:1})):e.createCommentVNode("",!0),p.value.prop=="query"?(e.openBlock(),e.createBlock(V,{key:4,label:"默认显示",tooltip:"开启后,在查询表单中默认显示该查询字段"},{default:e.withCtx(()=>[e.createVNode(T,{checked:p.value.show.visible,"onUpdate:checked":y[5]||(y[5]=R=>p.value.show.visible=R),checkedChildren:"是",unCheckedChildren:"否"},null,8,["checked"])]),_:1})):e.createCommentVNode("",!0),p.value.prop=="query"?(e.openBlock(),e.createBlock(V,{key:5,label:"查询方式"},{default:e.withCtx(()=>[e.createVNode(_,{value:p.value.show.types,"onUpdate:value":y[6]||(y[6]=R=>p.value.show.types=R)},{default:e.withCtx(()=>[e.createVNode($,{key:"EQ",value:"EQ"},{default:e.withCtx(()=>y[53]||(y[53]=[e.createTextVNode("精确查询")])),_:1}),e.createVNode($,{key:"LIKE",value:"LIKE"},{default:e.withCtx(()=>y[54]||(y[54]=[e.createTextVNode("模糊查询")])),_:1}),e.createVNode($,{key:"LLIKE",value:"LLIKE"},{default:e.withCtx(()=>y[55]||(y[55]=[e.createTextVNode("左模糊")])),_:1}),e.createVNode($,{key:"RLIKE",value:"RLIKE"},{default:e.withCtx(()=>y[56]||(y[56]=[e.createTextVNode("右模糊")])),_:1}),e.createVNode($,{key:"RANGE",value:"RANGE"},{default:e.withCtx(()=>y[57]||(y[57]=[e.createTextVNode("范围查询")])),_:1}),e.createVNode($,{key:"ADVANCE",value:"ADVANCE"},{default:e.withCtx(()=>y[58]||(y[58]=[e.createTextVNode("高级查询")])),_:1})]),_:1},8,["value"])]),_:1})):e.createCommentVNode("",!0),["query","sort"].includes(p.value.prop)?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(V,{key:6,label:"显示顺序",tooltip:"默认根据字段顺序显示,若需调整字段显示顺序,可以通过这里设置!"},{default:e.withCtx(()=>[e.createVNode(I,{value:p.value.show.index,"onUpdate:value":y[7]||(y[7]=R=>p.value.show.index=R)},null,8,["value"])]),_:1})),["form","view"].includes(p.value.prop)?(e.openBlock(),e.createBlock(V,{key:7,label:"显示宽度",tooltip:"字段显示宽度,0-24,设置成0,根据表单默认配置"},{default:e.withCtx(()=>[e.createVNode(I,{min:0,max:24,value:p.value.show.width,"onUpdate:value":y[8]||(y[8]=R=>p.value.show.width=R)},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),["list"].includes(p.value.prop)?(e.openBlock(),e.createBlock(V,{key:8,label:"显示宽度",tooltip:"字段显示宽度"},{default:e.withCtx(()=>[e.createVNode(I,{min:0,value:p.value.show.width,"onUpdate:value":y[9]||(y[9]=R=>p.value.show.width=R)},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),["form","view"].includes(p.value.prop)?(e.openBlock(),e.createBlock(V,{key:9,label:"标题宽度",tooltip:"表单title部分显示宽度,0-24"},{default:e.withCtx(()=>[e.createVNode(I,{min:0,max:24,value:p.value.show.labelWidth,"onUpdate:value":y[10]||(y[10]=R=>p.value.show.labelWidth=R)},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),["form","view"].includes(p.value.prop)?(e.openBlock(),e.createBlock(V,{key:10,label:"控件宽度",tooltip:"表单组件部分显示宽度,0-24"},{default:e.withCtx(()=>[e.createVNode(I,{min:0,max:24,value:p.value.show.valueWidth,"onUpdate:value":y[11]||(y[11]=R=>p.value.show.valueWidth=R)},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),["list"].includes(p.value.prop)?(e.openBlock(),e.createBlock(V,{key:11,label:"固定位置"},{default:e.withCtx(()=>[e.createVNode(_,{value:p.value.show.fixed,"onUpdate:value":y[12]||(y[12]=R=>p.value.show.fixed=R),allowClear:"",options:[{value:"left",label:"靠左"},{value:"right",label:"靠右"}]},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),["list"].includes(p.value.prop)?(e.openBlock(),e.createBlock(V,{key:12,label:"对齐方式"},{default:e.withCtx(()=>[e.createVNode(_,{value:p.value.show.align,"onUpdate:value":y[13]||(y[13]=R=>p.value.show.align=R),options:[{value:"left",label:"左对齐"},{value:"center",label:"居中"},{value:"right",label:"右对齐"}]},null,8,["value"])]),_:1})):e.createCommentVNode("",!0)]),_:1},8,["model","class"])]),_:1},8,["visible","title","onOk"]),e.createVNode(j,{visible:k.value.visible,"onUpdate:visible":y[33]||(y[33]=R=>k.value.visible=R),width:600,title:k.value.getTypes(k.value.convert.types,"转换")+"设置",onOk:k.value.toSetting},{default:e.withCtx(()=>[e.createVNode(F,{model:k.value.convert,name:"basic","label-col":{span:5},"wrapper-col":{span:17},autocomplete:"off",class:"form-mix"},{default:e.withCtx(()=>[e.createVNode(V,{label:"转换类型"},{default:e.withCtx(()=>[e.createVNode(_,{value:k.value.convert.types,"onUpdate:value":y[15]||(y[15]=R=>k.value.convert.types=R),allowClear:!0,options:k.value.types},null,8,["value","options"])]),_:1}),["unione-select-box","unione-tree-box"].includes(k.value.field.widget?.name)?(e.openBlock(),e.createBlock(V,{key:0,label:"是否搜索"},{default:e.withCtx(()=>[e.createVNode(T,{checked:p.value.convert.search,"onUpdate:checked":y[16]||(y[16]=R=>p.value.convert.search=R),checkedChildren:"启用",unCheckedChildren:"停用"},null,8,["checked"])]),_:1})):e.createCommentVNode("",!0),k.value.convert.types=="option"?(e.openBlock(),e.createBlock(V,{key:1,label:"选项设置"},{default:e.withCtx(()=>[e.createVNode(E,{class:"editable-add-btn",style:{"margin-bottom":"8px"},onClick:k.value.toAddOption},{default:e.withCtx(()=>y[59]||(y[59]=[e.createTextVNode("新增")])),_:1},8,["onClick"]),e.createVNode(O,{columns:k.value.optionColumn,"data-source":k.value.convert.options,size:"small"},{bodyCell:e.withCtx(({column:R,record:J,index:q})=>[R.dataIndex==="label"?(e.openBlock(),e.createBlock(U,{key:0,value:J.label,"onUpdate:value":L=>J.label=L,style:{margin:"-5px 0"}},null,8,["value","onUpdate:value"])):e.createCommentVNode("",!0),R.dataIndex==="value"?(e.openBlock(),e.createBlock(U,{key:1,value:J.value,"onUpdate:value":L=>J.value=L,style:{margin:"-5px 0"}},null,8,["value","onUpdate:value"])):e.createCommentVNode("",!0),R.dataIndex==="action"?(e.openBlock(),e.createElementBlock("a",{key:2,onClick:L=>k.value.toDelOption(q,J)},"删除",8,kk)):e.createCommentVNode("",!0)]),_:1},8,["columns","data-source"])]),_:1})):e.createCommentVNode("",!0),["dbtable","remote"].includes(k.value.convert.types)?(e.openBlock(),e.createBlock(V,{key:2,label:"数据源"},{default:e.withCtx(()=>[e.createVNode(M,{value:k.value.convert.dsId,"onUpdate:value":y[17]||(y[17]=R=>k.value.convert.dsId=R),convert:{types:"local",url:"/api/data/source/find",search:!0}},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),k.value.convert.types=="dbtable"?(e.openBlock(),e.createBlock(V,{key:3,label:"table名称"},{default:e.withCtx(()=>[e.createVNode(U,{value:k.value.convert.tableName,"onUpdate:value":y[18]||(y[18]=R=>k.value.convert.tableName=R)},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),k.value.convert.types=="dbtable"?(e.openBlock(),e.createBlock(V,{key:4,label:"table名称"},{default:e.withCtx(()=>[e.createVNode(U,{value:k.value.convert.tableName,"onUpdate:value":y[19]||(y[19]=R=>k.value.convert.tableName=R)},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),k.value.convert.types=="dbtable"&&["unione-tree-box"].includes(k.value.field.widget?.name)?(e.openBlock(),e.createBlock(V,{key:5,label:"主键字段"},{default:e.withCtx(()=>[e.createVNode(U,{value:k.value.convert.idField,"onUpdate:value":y[20]||(y[20]=R=>k.value.convert.idField=R)},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),k.value.convert.types=="dbtable"&&["unione-tree-box"].includes(k.value.field.widget?.name)?(e.openBlock(),e.createBlock(V,{key:6,label:"父级字段"},{default:e.withCtx(()=>[e.createVNode(U,{value:k.value.convert.pidField,"onUpdate:value":y[21]||(y[21]=R=>k.value.convert.pidField=R)},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),k.value.convert.types=="dbtable"?(e.openBlock(),e.createBlock(V,{key:7,label:"value字段"},{default:e.withCtx(()=>[e.createVNode(U,{value:k.value.convert.valueField,"onUpdate:value":y[22]||(y[22]=R=>k.value.convert.valueField=R)},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),k.value.convert.types=="dbtable"?(e.openBlock(),e.createBlock(V,{key:8,label:"label字段"},{default:e.withCtx(()=>[e.createVNode(U,{value:k.value.convert.labelField,"onUpdate:value":y[23]||(y[23]=R=>k.value.convert.labelField=R)},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),k.value.convert.types=="dbtable"?(e.openBlock(),e.createBlock(V,{key:9,label:"扩展字段",tooltip:"默认只加载value,label字段,可以通过该属性加载其他更多字段,多个字段用逗号分隔"},{default:e.withCtx(()=>[e.createVNode(U,{value:k.value.convert.tableField,"onUpdate:value":y[24]||(y[24]=R=>k.value.convert.tableField=R)},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),k.value.convert.types=="dbtable"?(e.openBlock(),e.createBlock(V,{key:10,label:"数据过滤",tooltip:"支持数据条件过滤,eg:sex=1"},{default:e.withCtx(()=>[e.createVNode(U,{value:k.value.convert.tableWhere,"onUpdate:value":y[25]||(y[25]=R=>k.value.convert.tableWhere=R)},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),k.value.convert.types=="dbtable"?(e.openBlock(),e.createBlock(V,{key:11,label:"数据排序",tooltip:"设置数据进行排序方式,eg:age desc"},{default:e.withCtx(()=>[e.createVNode(U,{value:k.value.convert.tableOrder,"onUpdate:value":y[26]||(y[26]=R=>k.value.convert.tableOrder=R)},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),k.value.convert.types=="dbtable"?(e.openBlock(),e.createBlock(V,{key:12,label:"数据排序",tooltip:"设置数据进行排序方式,eg:age desc"},{default:e.withCtx(()=>[e.createVNode(U,{value:k.value.convert.tableOrder,"onUpdate:value":y[27]||(y[27]=R=>k.value.convert.tableOrder=R)},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),k.value.convert.types=="dbtable"?(e.openBlock(),e.createBlock(V,{key:13,label:"异步加载"},{default:e.withCtx(()=>[e.createVNode(T,{checked:k.value.convert.isAsync,"onUpdate:checked":y[28]||(y[28]=R=>k.value.convert.isAsync=R),checkedChildren:"是",unCheckedChildren:"否"},null,8,["checked"])]),_:1})):e.createCommentVNode("",!0),k.value.convert.types=="dbtable"?(e.openBlock(),e.createBlock(V,{key:14,label:"分页加载"},{default:e.withCtx(()=>[e.createVNode(T,{checked:k.value.convert.isPaging,"onUpdate:checked":y[29]||(y[29]=R=>k.value.convert.isPaging=R),checkedChildren:"是",unCheckedChildren:"否"},null,8,["checked"])]),_:1})):e.createCommentVNode("",!0),k.value.convert.types=="dict"?(e.openBlock(),e.createBlock(V,{key:15,label:"字典名称"},{default:e.withCtx(()=>[e.createVNode(U,{value:k.value.convert.dictName,"onUpdate:value":y[30]||(y[30]=R=>k.value.convert.dictName=R)},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),["local","remote"].includes(k.value.convert.types)?(e.openBlock(),e.createBlock(V,{key:16,label:"接口地址",tooltip:"统一使用POST请求,json提交,标准结构:{body:{参数}}"},{default:e.withCtx(()=>[e.createVNode(U,{value:k.value.convert.url,"onUpdate:value":y[31]||(y[31]=R=>k.value.convert.url=R)},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),["local","remote"].includes(k.value.convert.types)?(e.openBlock(),e.createBlock(V,{key:17,label:"接口参数",tooltip:"标准json对象/数组,直接使用该参数进行接口请求,请求确保结构和接口匹配!"},{default:e.withCtx(()=>[e.createVNode(e.unref(Zt.Codemirror),{modelValue:k.value.convert.params,"onUpdate:modelValue":y[32]||(y[32]=R=>k.value.convert.params=R),placeholder:"接口请求参数,eg:{sex:1}",style:{height:"250px"},autofocus:!0,"indent-with-tab":!0,tabSize:8,extensions:l.value,scrollbarStyle:null},null,8,["modelValue","extensions"])]),_:1})):e.createCommentVNode("",!0)]),_:1},8,["model"])]),_:1},8,["visible","title","onOk"]),e.createVNode(j,{visible:v.value.visible,"onUpdate:visible":y[40]||(y[40]=R=>v.value.visible=R),width:600,title:"控件设置",onOk:v.value.toclose},{default:e.withCtx(()=>[e.createVNode(F,{model:v.value.props,name:"basic","label-col":{span:6},"wrapper-col":{span:18},autocomplete:"off",class:"form-mix"},{default:e.withCtx(()=>[e.createVNode(V,{label:"组件类型"},{default:e.withCtx(()=>[e.withDirectives(e.createVNode(_,{value:v.value.widget.name,"onUpdate:value":y[34]||(y[34]=R=>v.value.widget.name=R),allowClear:!0,options:v.value.widgets},null,8,["value","options"]),[[d]])]),_:1}),e.createVNode(V,{label:"输入提示"},{default:e.withCtx(()=>[e.createVNode(U,{value:v.value.widget.placeholder,"onUpdate:value":y[35]||(y[35]=R=>v.value.widget.placeholder=R)},null,8,["value"])]),_:1}),e.createVNode(V,{label:"帮助说明"},{default:e.withCtx(()=>[e.createVNode(U,{value:v.value.widget.help,"onUpdate:value":y[36]||(y[36]=R=>v.value.widget.help=R)},null,8,["value"])]),_:1}),e.createVNode(V,{label:"提示文本"},{default:e.withCtx(()=>[e.createVNode(U,{value:v.value.widget.tooltip,"onUpdate:value":y[37]||(y[37]=R=>v.value.widget.tooltip=R)},null,8,["value"])]),_:1}),["a-date-picker"].includes(v.value.widget.name)?(e.openBlock(),e.createBlock(V,{key:0,label:"显示格式"},{default:e.withCtx(()=>[e.createVNode(U,{value:v.value.field.dataFormat,"onUpdate:value":y[38]||(y[38]=R=>v.value.field.dataFormat=R)},null,8,["value"])]),_:1})):e.createCommentVNode("",!0),v.value.widget.name=="unione-select-box"?(e.openBlock(),e.createBlock(V,{key:1,label:"下拉框类型"},{default:e.withCtx(()=>[e.createVNode(_,{value:v.value.widget.props.mode,"onUpdate:value":y[39]||(y[39]=R=>v.value.widget.props.mode=R),allowClear:!0},{default:e.withCtx(()=>[e.createVNode($,{value:"multiple"},{default:e.withCtx(()=>y[60]||(y[60]=[e.createTextVNode("多选")])),_:1}),e.createVNode($,{value:"tags"},{default:e.withCtx(()=>y[61]||(y[61]=[e.createTextVNode("标签")])),_:1})]),_:1},8,["value"])]),_:1})):e.createCommentVNode("",!0)]),_:1},8,["model"])]),_:1},8,["visible","onOk"]),e.createVNode(j,{visible:h.value.visible,"onUpdate:visible":y[49]||(y[49]=R=>h.value.visible=R),width:600,title:"规则设置",onOk:h.value.toSetting},{default:e.withCtx(()=>[e.createVNode(F,{model:h.value.props,name:"basic","label-col":{span:6},"wrapper-col":{span:18},autocomplete:"off",class:"form-mix"},{default:e.withCtx(()=>[e.createVNode(D,{title:"基本设置",type:"line"},{default:e.withCtx(()=>[e.createVNode(V,{label:"触发时机"},{default:e.withCtx(()=>[e.createVNode(Q,{value:h.value.props.trigger,"onUpdate:value":y[41]||(y[41]=R=>h.value.props.trigger=R),options:["change","blur"]},null,8,["value"])]),_:1}),h.value.field.isNull?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(V,{key:0,label:"忽略空格",class:"checkbox-tips"},{default:e.withCtx(()=>[e.createVNode(C,{checked:h.value.props.whitespace,"onUpdate:checked":y[42]||(y[42]=R=>h.value.props.whitespace=R)},{default:e.withCtx(()=>y[62]||(y[62]=[e.createTextVNode(" 必填验证开启时,是否忽略空格 ")])),_:1},8,["checked"])]),_:1})),e.createVNode(V,{label:"预设类型"},{default:e.withCtx(()=>[e.createVNode(_,{options:h.value.advances,fieldNames:{label:"title",value:"name"},value:h.value.props.advance,"onUpdate:value":y[43]||(y[43]=R=>h.value.props.advance=R)},null,8,["options","value"])]),_:1})]),_:1}),["Long","Short","Integer","Float","Double"].includes(h.value.field.dataType)?(e.openBlock(),e.createBlock(D,{key:0,title:"数值验证",type:"line"},{default:e.withCtx(()=>[e.createVNode(V,{label:"有效区间"},{default:e.withCtx(()=>[e.createVNode(I,{value:h.value.props.rangeMin,"onUpdate:value":y[44]||(y[44]=R=>h.value.props.rangeMin=R)},null,8,["value"]),y[63]||(y[63]=e.createElementVNode("span",{style:{margin:"auto 5px"}},null,-1)),e.createVNode(I,{value:h.value.props.rangeMax,"onUpdate:value":y[45]||(y[45]=R=>h.value.props.rangeMax=R)},null,8,["value"])]),_:1}),e.createVNode(V,{label:"错误提示"},{default:e.withCtx(()=>[e.createVNode(U,{value:h.value.props.rangeMessage,"onUpdate:value":y[46]||(y[46]=R=>h.value.props.rangeMessage=R)},null,8,["value"])]),_:1})]),_:1})):e.createCommentVNode("",!0),e.createVNode(D,{title:"正则验证",type:"line"},{default:e.withCtx(()=>[e.createVNode(V,{label:"表达式"},{default:e.withCtx(()=>[e.createVNode(U,{value:h.value.props.regExpress,"onUpdate:value":y[47]||(y[47]=R=>h.value.props.regExpress=R)},null,8,["value"])]),_:1}),e.createVNode(V,{label:"错误提示"},{default:e.withCtx(()=>[e.createVNode(U,{value:h.value.props.regMessage,"onUpdate:value":y[48]||(y[48]=R=>h.value.props.regMessage=R)},null,8,["value"])]),_:1})]),_:1})]),_:1},8,["model"])]),_:1},8,["visible","onOk"])])}}}),[["__scopeId","data-v-30eeaca3"]]),wk={class:"form-define form-data unione-page-tree"},Ck={class:"warp"},Ak={class:"left tree-warp"},xk=["onMouseover"],Nk={key:0,class:"node-opts"},Sk={class:"right"},_k={class:"btn-panel"},Vk={class:"tips"},Bk=Z(e.defineComponent({name:"UnioneFormDesignDataInfo",__name:"dataInfo",props:{define:{type:Object,default(){return{configs:{fields:[],filters:[],form:{dataModels:[],widgets:[]},table:{}}}}},defineModifiers:{}},emits:["update:define"],setup(t){const n=P.useDialog(),l=e.useModel(t,"define");e.watch(()=>l.value?.configs?.fields,(m,p)=>{l.value.configs.form.dataModels||(l.value.configs.form.dataModels=[]);const A={title:l.value.title,group:"master",types:"form",name:l.value.name,dsn:l.value.sn,fields:[]},b={};A.fields.forEach(h=>{b[h.name]=h.binded}),A.fields=m.map(h=>({name:h.name,title:h.title,dataValue:h.dataValue,dataType:h.dataType,dataLen:h.dataLen,dataPrec:h.dataPrec,isPk:h.isPk,isFk:h.configs?.fkey?.enable?1:0,isNull:h.isNull,widget:h.configs?.widget?.name,descs:h.descs,binded:b[h.name]||!1})),l.value.configs.form.dataModels=l.value.configs.form.dataModels.filter(h=>h.group!=="master"),l.value.configs.form.dataModels.splice(0,0,A)},{deep:!0});const o=e.ref({group:"master"}),a=e.ref({selectedKeys:["master"],expandedKeys:["master","link","sub"],iconMap:{master:"FormOutlined",link:"BlockOutlined",sub:"BoxPlotOutlined"},data:[{title:"主数据",dsn:"master",group:"master"},{title:"子数据[1*n]",dsn:"sub",group:"sub",isLeaf:!1,children:[]},{title:"关联数据[n*1]",dsn:"link",group:"link",isLeaf:!1,children:[]}],onSelect:(m,{node:p})=>{o.value=p.dataRef,e.nextTick(()=>{["sub","link"].includes(p.dsn)?(r.value?.setDisabled(!0),r.value?.reset()):r.value?.setDisabled(!1),!["sub","link"].includes(p.dsn)&&(p.group=="sub"||p.group=="link")&&r.value?.setValue(p.dataRef)}),d.value=[],p.group=="link"&&(d.value=l.value.configs?.fields?.filter(A=>A.configs?.fkey?.enable).map(A=>({label:A.title+"["+A.name+"]",value:A.name})),i.value="关联字段为主数据中的外键字段"),p.group=="sub"&&(d.value=o.value?.fields?.filter(A=>A.configs?.fkey?.enable).map(A=>({label:A.title+"["+A.name+"]",value:A.name})),i.value="关联字段为子数据中的外键字段")},addNode:m=>{const p={title:m.group=="sub"?"子数据":"绑定关联数据",name:"",dsn:je.randomStr(15),vers:1,group:m.group,types:m.group=="sub"?"inner":"setting",fields:[]};m.children.push(p),a.value.selectedKeys=[p.dsn],a.value.expandedKeys=[m.dsn],o.value=p,d.value=[],e.nextTick(()=>{r.value.setDisabled(!1),r.value.setValue(p)})},delNode:m=>{n.confirm({content:"确认删除吗?",onOk:()=>{const p=m.group=="sub"?a.value.data[1]:a.value.data[2];p.children=p.children.filter(A=>A.dsn!=m.dsn),a.value.selectedKeys=a.value.selectedKeys.filter(A=>A!=m.dsn),a.value.expandedKeys=a.value.expandedKeys.filter(A=>A!=m.dsn),a.value.data=[...a.value.data]}})}});e.watch(()=>a.value.data[1].children,(m,p)=>{l.value.configs.form.dataModels=l.value.configs.form.dataModels.filter(A=>A.group!=="sub"),m.forEach(A=>{A.fields.forEach(b=>{b.configs?.fkey?.enable&&(b.isFk=1)})}),l.value.configs.form.dataModels.splice(1,0,...m),d.value=o.value?.fields?.filter(A=>A.configs?.fkey?.enable).map(A=>({label:A.title+"["+A.name+"]",value:A.name}))},{deep:!0}),e.watch(()=>a.value.data[2].children,(m,p)=>{l.value.configs.form.dataModels=l.value.configs.form.dataModels.filter(A=>A.group!=="link"),m.forEach(A=>{A.fields.forEach(b=>{b.configs?.fkey?.enable&&(b.isFk=1)})}),l.value.configs.form.dataModels.splice(1,0,...m)},{deep:!0});const i=e.ref(""),d=e.ref([]),r=e.ref(null),s=e.ref({fields:[{title:"数据标题",name:"title",required:!0,control:"unione-data-model-selector",props:{dsId:l.value?.dsId,modelField:{title:"title",id:"id",name:"name",sn:"dsn",vers:"vers",types:"types"},nids:[l.value?.id]},event:{disabled:(m,p)=>p.types!="inner",visible:(m,p)=>p.group!="link",select:(m,{formValue:p,row:A,type:b})=>{b=="define"?(o.value.types=A.types,f(A)):(o.value.types="inner",p.id="",p.dsn="",p.vers=1,p.types="inner",c({dsId:A.dsId,name:A.name}))}}},{title:"数据标题",name:"title",required:!0,event:{disabled:()=>!0,visible:(m,p)=>p.group=="link"}},{title:"数据名称",name:"name",required:!0,event:{disabled:(m,p)=>p.types!="inner"||!!p.id}},{title:"数据编码",name:"dsn",required:!0,event:{disabled:(m,p)=>p.types!="inner"||!!p.id}},{title:"版本",name:"vers",props:{disabled:!0}},{title:"关联字段",name:"linkField",control:"unione-select-box",props:{options:d,help:i},required:!0}],setting:{showColumn:1,labelWidth:5}});function f(m){P.axios.form({url:"/api/data/field/find",method:"post",data:{body:{defineId:m.id},pageSize:1e3}}).then(p=>{p.success&&(o.value.fields=p.body)})}function c({dsId:m,name:p}){if(!m||!p)return;const A=new FormData;A.append("dsId",m),A.append("table",p),P.axios.form({url:"/api/data/define/load/db/field",method:"post",data:A}).then(b=>{b.success?o.value.fields=b.body:n.error({content:"加载数据表字段失败"})})}const g=e.ref({loading:!1,toasync:()=>{g.value.loading=!0,P.axios.form({url:"/api/data/define/async",method:"post",headers:{"Content-Type":"application/json"},data:l.value.id}).then(m=>{g.value.loading=!1,m.success?(n.success({content:"同步成功"}),l.value.syncFlag=1):n.error({content:"同步失败"})})}});return e.onMounted(()=>{l.value?.configs?.form?.dataModels&&(l.value.configs.form.dataModels.forEach(m=>{m.fields&&m.fields.forEach(p=>{p.isFk==1&&(p.configs={fkey:{enable:!0}})})}),a.value.data[1].children=l.value.configs.form.dataModels.filter(m=>m.group==="sub"),a.value.data[2].children=l.value.configs.form.dataModels.filter(m=>m.group==="link"))}),(m,p)=>{const A=e.resolveComponent("PlusOutlined"),b=e.resolveComponent("DeleteOutlined"),h=e.resolveComponent("a-tree"),u=e.resolveComponent("a-button"),v=e.resolveComponent("FormOutlined"),N=e.resolveComponent("unione-form"),w=e.resolveComponent("a-tab-pane"),k=e.resolveComponent("a-tabs"),B=e.resolveComponent("OrderedListOutlined"),S=e.resolveComponent("AlertOutlined");return e.openBlock(),e.createElementBlock("div",wk,[e.createElementVNode("div",Ck,[e.createElementVNode("div",Ak,[e.createVNode(h,{"show-line":"","show-icon":"",blockNode:"","default-expanded-keys":a.value.expandedKeys,selectedKeys:a.value.selectedKeys,"onUpdate:selectedKeys":p[1]||(p[1]=y=>a.value.selectedKeys=y),"tree-data":a.value.data,fieldNames:{key:"dsn"},onSelect:a.value.onSelect},{icon:e.withCtx(({dataRef:y})=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(a.value.iconMap[y.group])))]),title:e.withCtx(({dataRef:y})=>[e.createElementVNode("div",{class:"node-label",onMouseover:()=>a.value.mshoverNode=y,onMouseleave:p[0]||(p[0]=()=>a.value.mshoverNode=null)},[e.createElementVNode("span",null,e.toDisplayString(y.title),1),["sub"].includes(y.group)&&(a.value.mshoverNode?.dsn==y.dsn||o.value?.dsn==y.dsn)?(e.openBlock(),e.createElementBlock("div",Nk,[["sub","link"].includes(y.dsn)?(e.openBlock(),e.createBlock(A,{key:0,class:"opt btn-add",onClick:e.withModifiers(x=>a.value.addNode(y),["stop"])},null,8,["onClick"])):e.createCommentVNode("",!0),["sub","link"].includes(y.dsn)?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(b,{key:1,class:"opt btn-del",onClick:e.withModifiers(x=>a.value.delNode(y),["stop"])},null,8,["onClick"]))])):e.createCommentVNode("",!0)],40,xk)]),_:1},8,["default-expanded-keys","selectedKeys","tree-data","onSelect"])]),e.createElementVNode("div",Sk,[e.createElementVNode("div",_k,[e.createVNode(u,{onClick:g.value.toasync,loading:g.value.loading},{default:e.withCtx(()=>p[6]||(p[6]=[e.createTextVNode("同步模型")])),_:1},8,["onClick","loading"])]),o.value.group!="master"?(e.openBlock(),e.createBlock(k,{key:0},{default:e.withCtx(()=>[e.createVNode(w,{key:"field-mange"},{tab:e.withCtx(()=>[e.createVNode(v),p[7]||(p[7]=e.createTextVNode("关联设置 "))]),default:e.withCtx(()=>[e.createVNode(N,{form:s.value,ref_key:"formRef",ref:r,style:{width:"50%"},class:"form-data-info"},null,8,["form"])]),_:1})]),_:1})):e.createCommentVNode("",!0),l.value.configs?(e.openBlock(),e.createBlock(k,{key:1},{default:e.withCtx(()=>[e.createVNode(w,{key:"field-mange"},{tab:e.withCtx(()=>[e.createVNode(B),p[8]||(p[8]=e.createTextVNode("字段管理 "))]),default:e.withCtx(()=>[o.value.group==="master"?(e.openBlock(),e.createBlock(ya,{key:0,modelValue:l.value.configs.fields,"onUpdate:modelValue":p[2]||(p[2]=y=>l.value.configs.fields=y),pagination:!1},null,8,["modelValue"])):(e.openBlock(),e.createBlock(ya,{key:1,modelValue:o.value.fields,"onUpdate:modelValue":p[3]||(p[3]=y=>o.value.fields=y),disabled:o.value.types!="inner",pagination:!1},null,8,["modelValue","disabled"]))]),_:1}),e.createVNode(w,{key:"field-setting",class:"field-setting"},{tab:e.withCtx(()=>[e.createVNode(B),p[9]||(p[9]=e.createTextVNode("字段设置 "))]),default:e.withCtx(()=>[o.value.group==="master"?(e.openBlock(),e.createBlock(va,{key:0,modelValue:l.value.configs.fields,"onUpdate:modelValue":p[4]||(p[4]=y=>l.value.configs.fields=y),pagination:!1,inCols:["name","title","widget","rules","convertName"]},null,8,["modelValue"])):(e.openBlock(),e.createBlock(va,{key:1,modelValue:o.value.fields,"onUpdate:modelValue":p[5]||(p[5]=y=>o.value.fields=y),pagination:!1,inCols:["name","title","widget","rules","convertName"]},null,8,["modelValue"]))]),_:1})]),_:1})):e.createCommentVNode("",!0),e.createElementVNode("div",Vk,[e.createVNode(S,{style:{"font-size":"16px"}}),p[10]||(p[10]=e.createTextVNode("数据模型可以为空,表单设计过程中将自动生成"))])])])])}}}),[["__scopeId","data-v-526789c4"]]),Ek={class:"form-define widget-list"},Ok={class:"title"},Tk={class:"btn-widgets"},Rk=["id"],Fk=Z(e.defineComponent({name:"UnioneFormDesignWidgetList",__name:"widgetList",setup(t){const n=e.ref({activeTab:"widgets",activePanel:"form",groups:[{title:"表单组件",key:"form",icon:"FormOutlined",items:[]},{title:"高级组件",key:"advance",icon:"ToolOutlined",items:[]},{title:"系统组件",key:"sys",icon:"AppstoreOutlined",items:[]},{title:"布局组件",key:"layout",icon:"LayoutOutlined",items:[]},{title:"图表组件",key:"chart",icon:"PieChartOutlined",items:[]},{title:"业务组件",key:"biz",icon:"BlockOutlined",items:[]}]});function l(){P.axios.admin({url:"/api/page/widget/load",method:"post",data:{}}).then(a=>{a.success&&(n.value.groups.forEach(i=>{i.items=a.body.filter(d=>d.types===i.key).map(d=>{try{return{...JSON.parse(d.props),wid:d.id}}catch{return console.warn("组件配置异常",d.id,d.name,d.title),null}}).filter(d=>d!==null)}),Ve.buildComponent(a.body))})}function o(a){const i=JSON.parse(JSON.stringify(a));return i.wid=je.randomStr(32),i}return e.onMounted(()=>{l()}),(a,i)=>{const d=e.resolveComponent("a-button"),r=e.resolveComponent("a-empty"),s=e.resolveComponent("a-collapse-panel"),f=e.resolveComponent("a-collapse");return e.openBlock(),e.createElementBlock("div",Ek,[e.createVNode(f,{bordered:!1,expandIconPosition:"end",ghost:"",activeKey:n.value.activePanel,"onUpdate:activeKey":i[0]||(i[0]=c=>n.value.activePanel=c)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value.groups,c=>(e.openBlock(),e.createBlock(s,{key:c.key},{header:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(c.icon||"EditOutlined"))),e.createElementVNode("span",Ok,e.toDisplayString(c.title),1)]),default:e.withCtx(()=>[e.createElementVNode("div",Tk,[e.createVNode(e.unref(On),{list:c.items,sort:!1,animation:300,chosenClass:"widget-chosen",clone:o,group:{name:"widget-container",pull:"clone",put:!1},handle:".btn-widget","item-key":"id"},{item:e.withCtx(({element:g})=>[e.createElementVNode("div",{class:"btn-widget",id:g.id},[e.createVNode(d,null,{icon:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(g.icon||"EditOutlined")))]),default:e.withCtx(()=>[e.createTextVNode(" "+e.toDisplayString(g.title),1)]),_:2},1024)],8,Rk)]),_:2},1032,["list"])]),c.items.length===0?(e.openBlock(),e.createBlock(r,{key:0})):e.createCommentVNode("",!0)]),_:2},1024))),128))]),_:1},8,["activeKey"])])}}}),[["__scopeId","data-v-9d07436d"]]),$k={key:0,class:"form-define form-props"},Ik=Z(e.defineComponent({__name:"formProps",props:e.mergeModels({engine:{type:Object}},{define:{type:Object,default(){return{configs:{setting:{}}}}},defineModifiers:{}}),emits:["update:define"],setup(t){const n=e.useModel(t,"define"),l=e.ref(),o=e.ref({isPrimary:!1,fields:[{title:"表单大小",name:"setting.formSize",control:"unione-radio-box",value:"default",convert:{types:"options",options:[{label:"默认",value:"default"},{label:"小型",value:"small"},{label:"大型",value:"large"}]}},{title:"对齐方式",name:"setting.labelAlign",control:"unione-radio-box",value:"right",convert:{types:"options",options:[{label:"右对齐",value:"right"},{label:"左对齐",value:"left"},{label:"上下对齐",value:"top"}]}},{title:"显示列数",name:"setting.showColumn",control:"unione-radio-box",value:1,convert:{types:"options",options:[{label:"1列",value:1},{label:"2列",value:2},{label:"3列",value:3},{label:"4列",value:4}]}},{title:"标题宽度",name:"setting.labelWidth",control:"unione-slider-box",value:4,props:{min:2,max:24,step:0,marks:{2:{label:"2",style:{color:""}},4:{label:"4",style:{color:""}},6:{label:"6",style:{color:""}},8:{label:"8",style:{color:""}},10:{label:"10",style:{color:""}},12:{label:"12",style:{color:""}},14:{label:"14",style:{color:""}},16:{label:"16",style:{color:""}},18:{label:"18",style:{color:""}},20:{label:"20",style:{color:""}},22:{label:"22",style:{color:""}},24:{label:"24",style:{color:""}}}}},{title:"表单样式",name:"setting.css"},{title:"溯源日志",name:"setting.isTraceLog",control:"unione-switch-box",value:0,props:{tooltip:"开启后,更新表单,详情表单页面将显示溯源日志"},convert:{types:"dict",dictName:"TUREORFALSE"}},{title:"表单权限",name:"setting.enablePermis",control:"unione-switch-box",value:0,props:{tooltip:"开启后,需要有权限用户才可以操作表单,包括:查看,编辑权限"},convert:{types:"dict",dictName:"TUREORFALSE"}},{title:"业务组件",name:"setting.bizKey",props:{tooltip:"开启后,新增/修改时根据业务组件查重,保证唯一性"}},{title:"表单按钮",widget:"unione-section",props:{type:"line",bottomLine:!0}},{name:"btns",control:"unione-page-btn-setting",value:[{name:"save",enable:!0,title:"保存",label:"保存"},{name:"reset",enable:!0,title:"重置",label:"重置"},{name:"back",enable:!0,title:"返回",label:"返回"}],props:{preset:["save","reset","back"],uncheckable:["save","reset","back"]}},{title:"表单事件",widget:"unione-section",props:{type:"line",bottomLine:!0}},{title:"onLoad",name:"event.onLoad",control:"unione-code-input",props:{help:"表单加载完成事件"}},{title:"beforeSubmit",name:"event.beforeSubmit",control:"unione-code-input",props:{help:"提交前自定义逻辑,返回false,取消提交"}},{title:"afterSubmit",name:"event.afterSubmit",control:"unione-code-input",props:{help:"提交后自定义逻辑"}}],setting:{showColumn:1,labelWidth:24,layout:"vertical"}});return e.onMounted(()=>{n.value.configs.form||(n.value.configs.form={}),n.value.configs.form.setting||(n.value.configs.form.setting={}),n.value.configs.form.event||(n.value.configs.form.event={}),l.value.setValue(n.value.configs.form)}),(a,i)=>{const d=e.resolveComponent("unione-form");return n.value.configs?(e.openBlock(),e.createElementBlock("div",$k,[e.createVNode(d,{form:o.value,ref_key:"formObj",ref:l},null,8,["form"])])):e.createCommentVNode("",!0)}}}),[["__scopeId","data-v-ba857283"]]),Mk={class:"widget-setting"},Dk={class:"opts"},Uk={class:"title"},Lk={class:"props-list"},jk={key:0,class:"opts"},Pk={class:"btns"},As=Z(e.defineComponent({name:"UnioneWidgetSetting",__name:"setting",props:e.mergeModels({model:{type:String,default:"run"},tabs:{type:Array,default(){return[]}},engine:{type:Object}},{props:{type:Array,default(){return[{title:"组件属性",key:"props",icon:"UnorderedListOutlined",index:0},{title:"组件样式",key:"css",icon:"ControlOutlined",index:1}]}},propsModifiers:{},widget:{type:Object},widgetModifiers:{}}),emits:["update:props","update:widget"],setup(t){const n=P.useDialog(),l=t,o=e.ref({}),a=e.useModel(t,"props"),i=e.useModel(t,"widget");e.watch(()=>i.value,(h,u)=>{(!u||!u.wid)&&h?.wid&&d.value[0]&&(f.value=d.value[0].key,a.value?.forEach(v=>{const N=v.key;v.list&&v.list[0]?.key&&(o.value[N]=v.list[0].key)}))}),e.provide("formSetting",{labelWidth:24,labelAlign:"top"});const d=e.computed(()=>!i.value||Object.keys(i.value).length<=0?l.tabs||[]:[...a.value,...l.tabs].sort((u,v)=>(u.index||0)-(v.index||0))),r=e.ref(),s=e.ref({title:"新增属性",placement:"right",visible:!1,panel:null,group:null,props:null,target:null,form:{fields:[{title:"属性标题",name:"title",required:!0,event:{title:()=>c.value=="panel"?"面板标题":c.value=="group"?"分组标题":"属性标题"}},{title:"属性名称",name:"name",required:!0,event:{visible:(h,u)=>c.value=="props"&&u.control!="unione-widget-name"}},{title:"面板名称",name:"key",required:!0,event:{visible:()=>c.value=="panel"||c.value=="group",title:()=>c.value=="panel"?"面板名称":"分组名称"}},{title:"默认值",name:"value",event:{visible:(h,u)=>c.value=="props"&&u.control!="unione-widget-name"}},{title:"面板图标",name:"icon",control:"unione-icon-select",event:{visible:()=>c.value=="panel"||c.value=="group",title:()=>c.value=="panel"?"面板图标":"分组图标"}},{title:"显示顺序",name:"index",control:"a-input-number"},{title:"是否只读",name:"props.disabled",control:"unione-switch-box",value:!1,convert:{types:"dict",dictName:"TRUEORFALSE"},event:{visible:(h,u)=>c.value=="props"&&u.control!="unione-widget-name"}},{title:"控件类型",name:"control",control:"unione-select-box",value:"a-input",required:!0,props:{options:[{label:"开关",value:"unione-switch-box"},{label:"输入框",value:"a-input"},{label:"单选框",value:"unione-radio-box"},{label:"复选框",value:"unione-check-box"},{label:"文本域",value:"a-textarea"},{label:"数值框",value:"a-input-number"},{label:"下拉选择框",value:"unione-select-box"},{label:"图标选择框",value:"unione-icon-select"},{label:"颜色选择框",value:"unione-color-box"},{label:"图片选择框",value:"unione-upload-box",props:{listType:"picture-card",accept:"image/*",maxCount:9}},{label:"代码编辑框",value:"unione-code-editor"},{label:"代码输入框",value:"unione-code-input"},{label:"滑块输入条",value:"unione-slider-box"},{label:"转换器设置",value:"unione-convert-setting"},{label:"选项设置",value:"unione-item-setting"},{label:"数据绑定",value:"unione-data-bind"},{label:"数据标题",value:"unione-data-title"},{label:"控件名称",value:"unione-widget-name"}]},event:{visible:()=>c.value=="props",select:(h,{option:u,formValue:v})=>{u.props&&["unione-upload-box"].includes(h)?v.props=u.props:delete v.props}}},{title:"选项设置",name:"convert",control:"unione-convert-setting",required:!0,props:{exclude:["local"],widgetName:"$control"},event:{visible:(h,u)=>c.value=="props"&&["unione-select-box","unione-check-box","unione-radio-box","unione-switch-box"].includes(u.control)}},{title:"滑块设置",name:"props",control:"unione-slider-setting",event:{visible:(h,u)=>c.value=="props"&&["unione-slider-box"].includes(u.control)}},{title:"最小值",name:"props.min",control:"a-input-number",event:{visible:(h,u)=>c.value=="props"&&["a-input-number"].includes(u.control)}},{title:"最大值",name:"props.max",control:"a-input-number",event:{visible:(h,u)=>c.value=="props"&&["a-input-number"].includes(u.control)}},{title:"步长",name:"props.step",control:"a-input-number",event:{visible:(h,u)=>c.value=="props"&&["a-input-number"].includes(u.control)}},{title:"前缀",name:"props.addonBefore",event:{visible:(h,u)=>c.value=="props"&&["a-input-number","a-input"].includes(u.control)}},{title:"后缀",name:"props.addonAfter",event:{visible:(h,u)=>c.value=="props"&&["a-input-number","a-input"].includes(u.control)}},{title:"对象结构",name:"props.factory",control:"unione-code-editor",props:{help:'对象结构,用于自定义选项的结构,例如:{icon:"",title:"",xxx:[]}'},event:{visible:(h,u)=>c.value=="props"&&["unione-item-setting"].includes(u.control)}},{title:"绑定类型",name:"props.type",control:"unione-select-box",value:"name",props:{options:[{label:"名称",value:"name"},{label:"表格",value:"table"}]},event:{visible:(h,u)=>c.value=="props"&&["unione-data-bind"].includes(u.control)}}],setting:{showColumn:1,labelWidth:5}}}),f=e.ref("props"),c=e.ref("panel");function g(h,u,v){c.value=h,s.value.target=null,s.value.visible=!0,s.value.panel=u,s.value.group=v,s.value.props=null,h=="panel"?s.value.title="新增属性面板":h=="group"?s.value.title="新增分组":s.value.title="新增属性",e.nextTick(()=>{r.value.reset()})}function m(h,u,v,N){n.confirm({content:"确定删除吗?",onOk:()=>{h=="panel"?a.value.splice(u.index,1):h=="group"?u.list.splice(v.index,1):v.list=v.list.filter(w=>w.key!=N.key),a.value=[...a.value]}})}function p(h,u,v,N){c.value=h,s.value.visible=!0,s.value.panel=u,s.value.group=v,s.value.props=N,h=="panel"?(s.value.title="编辑属性面板",s.value.target=u,e.nextTick(()=>{r.value.setValue(u)})):h=="group"?(s.value.title="编辑分组",s.value.target=v,e.nextTick(()=>{r.value.setValue(v)})):(s.value.title="编辑属性",s.value.target=N,e.nextTick(()=>{r.value.setValue(N)}))}function A(){r.value.validate().then(h=>{if(s.value.visible=!1,c.value=="props"&&typeof i.value=="object"&&P.utils.obj.setValue(i.value,h.name,h.value||h.value==0||typeof h.value=="boolean"?h.value:""),s.value.target){c.value=="props"&&(s.value.group.list=s.value.group.list.filter(u=>u.key!=h.key),s.value.group.list.splice(h.index,0,{...h}));return}c.value=="panel"?(h.list=[],h.index>=0?a.value.splice(h.index,0,h):(h.index=a.value.length,a.value.push(h)),a.value=[...a.value]):c.value=="group"?(s.value.panel.list||(s.value.panel.list=[]),h.list=[],h.index>=0?s.value.panel.list.splice(h.index,0,h):(h.index=s.value.panel.list.length,s.value.panel.list.push(h)),o.value[s.value.panel.key]=h.key,s.value.panel={...s.value.panel}):(s.value.group.list||(s.value.group.list=[]),h.key=je.randomStr(10),h.index>=0?s.value.group.list.splice(h.index,0,h):(h.index=s.value.group.list.length,s.value.group.list.push(h)),s.value.group={...s.value.group})})}function b(h){h.list.forEach((u,v)=>{u.index=v})}return e.onMounted(()=>{o.value={},a.value&&a.value.forEach(h=>{const u=h.key;h.list&&h.list[0]?.key&&(o.value[u]=h.list[0].key)}),d.value[0]&&(f.value=d.value[0].key)}),(h,u)=>{const v=e.resolveComponent("PlusOutlined"),N=e.resolveComponent("a-button"),w=e.resolveComponent("FormOutlined"),k=e.resolveComponent("DeleteOutlined"),B=e.resolveComponent("unione-form-item"),S=e.resolveComponent("a-empty"),y=e.resolveComponent("a-collapse-panel"),x=e.resolveComponent("a-collapse"),E=e.resolveComponent("a-tab-pane"),_=e.resolveComponent("a-tabs"),C=e.resolveComponent("unione-form"),O=e.resolveComponent("a-drawer");return e.openBlock(),e.createElementBlock("div",Mk,[e.createVNode(_,{activeKey:f.value,"onUpdate:activeKey":u[1]||(u[1]=T=>f.value=T)},{rightExtra:e.withCtx(()=>[t.model=="design"?(e.openBlock(),e.createBlock(N,{key:0,size:"small",shape:"circle",onClick:u[0]||(u[0]=T=>g("panel"))},{default:e.withCtx(()=>[e.createVNode(v)]),_:1})):e.createCommentVNode("",!0)]),default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.model=="design"?a.value:d.value,T=>(e.openBlock(),e.createBlock(E,{key:T.key},{tab:e.withCtx(()=>[T.icon?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(T.icon),{key:0})):e.createCommentVNode("",!0),e.createTextVNode(e.toDisplayString(T.title)+" ",1),e.createElementVNode("div",Dk,[t.model=="design"?(e.openBlock(),e.createBlock(w,{key:0,class:"opt",onClick:V=>p("panel",T)},null,8,["onClick"])):e.createCommentVNode("",!0),t.model=="design"?(e.openBlock(),e.createBlock(k,{key:1,class:"opt",onClick:V=>m("panel",T)},null,8,["onClick"])):e.createCommentVNode("",!0)])]),default:e.withCtx(()=>[e.createVNode(x,{bordered:!1,expandIconPosition:"end",ghost:"",activeKey:o.value[T.key],"onUpdate:activeKey":V=>o.value[T.key]=V},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(T.list,V=>(e.openBlock(),e.createBlock(y,{key:V.key,class:"props-group"},{header:e.withCtx(()=>[(e.openBlock(),e.createBlock(e.resolveDynamicComponent(V.icon||"EditOutlined"))),e.createElementVNode("span",Uk,e.toDisplayString(V.title),1)]),extra:e.withCtx(()=>[t.model=="design"?(e.openBlock(),e.createBlock(w,{key:0,class:"opt",onClick:e.withModifiers($=>p("group",T,V),["stop"])},null,8,["onClick"])):e.createCommentVNode("",!0),t.model=="design"?(e.openBlock(),e.createBlock(k,{key:1,class:"opt",onClick:e.withModifiers($=>m("group",T,V),["stop"])},null,8,["onClick"])):e.createCommentVNode("",!0),t.model=="design"?(e.openBlock(),e.createBlock(v,{key:2,class:"opt",onClick:e.withModifiers($=>g("props",T,V),["stop"])},null,8,["onClick"])):e.createCommentVNode("",!0)]),default:e.withCtx(()=>[e.createElementVNode("div",Lk,[e.createVNode(e.unref(On),{list:V.list,"onUpdate:list":$=>V.list=$,animation:300,handle:".ant-form-item-label",sort:!0,disabled:t.model!="design",onEnd:$=>b(V)},{item:e.withCtx(({element:$})=>[(e.openBlock(),e.createBlock(B,{key:$.key,widget:$,formValue:i.value,class:"drag",allowClear:"",engine:t.engine,model:"design"},{default:e.withCtx(()=>[t.model=="design"?(e.openBlock(),e.createElementBlock("div",jk,[e.createVNode(w,{class:"opt",onClick:e.withModifiers(I=>p("props",T,V,$),["stop"])},null,8,["onClick"]),e.createVNode(k,{class:"opt",onClick:e.withModifiers(I=>m("props",T,V,$),["stop"])},null,8,["onClick"])])):e.createCommentVNode("",!0)]),_:2},1032,["widget","formValue","engine"]))]),_:2},1032,["list","onUpdate:list","disabled","onEnd"])]),V.list?.length?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(S,{key:0}))]),_:2},1024))),128))]),_:2},1032,["activeKey","onUpdate:activeKey"]),e.renderSlot(h.$slots,T.key,{},()=>[t.model=="design"?(e.openBlock(),e.createBlock(N,{key:0,onClick:V=>g("group",T),type:"dashed",block:""},{default:e.withCtx(()=>u[4]||(u[4]=[e.createTextVNode("新建分组")])),_:2},1032,["onClick"])):e.createCommentVNode("",!0)],!0)]),_:2},1024))),128))]),_:3},8,["activeKey"]),e.createVNode(O,{title:s.value.title,width:550,visible:s.value.visible,"onUpdate:visible":u[3]||(u[3]=T=>s.value.visible=T),placement:s.value.placement,class:"drawer-form"},{footer:e.withCtx(()=>[e.createElementVNode("div",Pk,[e.createVNode(N,{onClick:u[2]||(u[2]=T=>s.value.visible=!1)},{default:e.withCtx(()=>u[5]||(u[5]=[e.createTextVNode("取消")])),_:1}),e.createVNode(N,{type:"primary",onClick:A},{default:e.withCtx(()=>u[6]||(u[6]=[e.createTextVNode("保存")])),_:1})])]),default:e.withCtx(()=>[e.createVNode(C,{form:s.value.form,ref_key:"formRef",ref:r},null,8,["form"])]),_:1},8,["title","visible","placement"])])}}}),[["__scopeId","data-v-62658eca"]]),qk={class:"form-define form-editor"},zk={class:"widget-list"},Qk={class:"top-opts"},Hk={class:"left"},Yk={class:"right"},Wk={class:"editor-form"},Kk={key:1,class:"tips"},Gk={class:"widget-props"},Jk=Z(e.defineComponent({name:"UnioneFormDesignBaseInfo",__name:"formEditor",props:{define:{type:Object,default(){return{configs:{widgets:[]}}}},defineModifiers:{}},emits:["update:define"],setup(t,{expose:n}){const l=P.useDialog(),o=e.useModel(t,"define"),a=e.ref(),i=e.computed(()=>a.value?.status()||{}),d=e.ref(),r=e.computed(()=>a.value?.widgetActive),s=e.computed(()=>r.value?Ve.conponents.value[r.value.control||r.value.widget||r.value.name]?.configs.props:null);e.watch(()=>o.value.configs.form.dataModels,(m,p)=>{m!==p&&(a.value.dataModels=m)}),e.watch(()=>o.value.configs.form.setting,m=>{a.value.$widgetMap["primary-form"].setting=je.obj.set(a.value.$widgetMap["primary-form"].setting,m||{})},{deep:!0});function f(m,p){a.value&&(m=="clear"?l.confirm({content:"确认清空组件吗?",onOk:()=>{a.value.ebus.$emit("cmd:exec",{name:m,params:p}),e.nextTick(()=>{o.value.configs.form.widgets=[],o.value.configs.form.widgets.push({wid:"primary-form",widget:"unione-form",primary:!0,widgets:[]}),a.value=new Ve({sn:o.value.sn,title:o.value.title,types:o.value.types,vers:o.value.vers,fields:o.value.configs.fields,configs:o.value.configs.form},{model:"edit"})})}}):a.value.ebus.$emit("cmd:exec",{name:m,params:p}))}function c(){return new Promise((m,p)=>{const A=a.value.$widgetMap,b=[];for(const h in A){const u=A[h];if(!u.widget||u.widget!="unione-form-item")continue;const v={wid:u.wid,title:u.title,items:[]};if(!u.name)v.items.push("请绑定数据字段");else{let N=null,w=a.value.widget(u.pid);for(;w;){if(w.dsn){N=w.dsn;break}w=a.value.widget(w.pid)}if(N&&a.value.dataModels){const k=a.value.dataModels.find(B=>B.dsn===N);if(k)k.fields.filter(S=>S.name==u.name)[0]||v.items.push("绑定的数据字段不存在");else{const B=a.value.dataModels[0];B&&(B.fields.filter(y=>y.name==u.name)[0]||v.items.push("绑定的数据字段不存在"))}}}v.items.length&&b.push(v)}if(b.length){p(b);return}m(o.value)})}function g(m){a.value?.ebus.$emit("cmd:exec",{name:"setActive",params:m})}return e.onMounted(()=>{o.value.configs.form||(o.value.configs.form={}),o.value.configs.form.widgets||(o.value.configs.form.widgets=[]),o.value.configs.form.widgets.length||o.value.configs.form.widgets.push({wid:"primary-form",widget:"unione-form",widgets:[]}),a.value=new Ve({sn:o.value.sn,title:o.value.title,types:o.value.types,vers:o.value.vers,fields:o.value.configs.fields,configs:o.value.configs.form},{model:"edit"})}),n({save:c,scrollToWidget:g}),(m,p)=>{const A=e.resolveComponent("a-tab-pane"),b=e.resolveComponent("a-empty"),h=e.resolveComponent("a-tabs"),u=e.resolveComponent("DesktopOutlined"),v=e.resolveComponent("MobileOutlined"),N=e.resolveComponent("UndoOutlined"),w=e.resolveComponent("RedoOutlined"),k=e.resolveComponent("ClearOutlined"),B=e.resolveComponent("PlayCircleOutlined"),S=e.resolveComponent("unione-form"),y=e.resolveComponent("a-card");return e.openBlock(),e.createElementBlock("div",qk,[e.createElementVNode("div",zk,[e.createVNode(h,null,{default:e.withCtx(()=>[e.createVNode(A,{key:"widgets",tab:"控件"},{default:e.withCtx(()=>[e.createVNode(Fk)]),_:1}),e.createVNode(A,{key:"tmpls",tab:"模板"},{default:e.withCtx(()=>[e.createVNode(b)]),_:1})]),_:1})]),e.createVNode(y,{class:"editor-container",bodyStyle:{padding:0}},{title:e.withCtx(()=>[e.createElementVNode("div",Qk,[e.createElementVNode("div",Hk,[e.createVNode(u,{class:"opt active"}),e.createVNode(v,{class:"opt"})]),e.createElementVNode("div",Yk,[e.createVNode(N,{class:"opt",disabled:i.value.undoCount===0,onClick:p[0]||(p[0]=x=>f("undo")),title:"撤销"},null,8,["disabled"]),e.createVNode(w,{class:"opt",disabled:i.value.redoCount===0,onClick:p[1]||(p[1]=x=>f("redo")),title:"重做"},null,8,["disabled"]),e.createVNode(k,{class:"opt",onClick:p[2]||(p[2]=x=>f("clear")),title:"清空"}),e.createVNode(B,{class:"opt"})])])]),default:e.withCtx(()=>[e.createElementVNode("div",Wk,[a.value&&a.value.$widgetList.length>0?(e.openBlock(),e.createBlock(S,{key:0,engine:a.value,wid:"primary-form",model:"design"},null,8,["engine"])):e.createCommentVNode("",!0),i.value.size<=1?(e.openBlock(),e.createElementBlock("div",Kk,"请从左侧拖拽组件或者点击添加组件")):e.createCommentVNode("",!0)])]),_:1}),e.createElementVNode("div",Gk,[e.createVNode(As,{tabs:[{icon:"FormOutlined",title:"表单属性",key:"form",index:3}],props:s.value,widget:r.value,engine:a.value,ref_key:"widgetSettingRef",ref:d},{form:e.withCtx(()=>[e.createVNode(Ik,{define:o.value,"onUpdate:define":p[3]||(p[3]=x=>o.value=x),engine:a.value},null,8,["define","engine"])]),_:1},8,["props","widget","engine"])])])}}}),[["__scopeId","data-v-e066c759"]]);/**!
|
|
47
47
|
* Sortable 1.14.0
|
|
48
48
|
* @author RubaXa <trash@rubaxa.org>
|
|
49
49
|
* @author owenm <owen23355@gmail.com>
|