@ibiz-template/runtime 0.0.4-beta.1 → 0.0.4-beta.2

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.
@@ -0,0 +1 @@
1
+ System.register(["@ibiz-template/core","lodash-es","qx-util","ramda"],(function(e){"use strict";var t,s,r,i,n,a,o,E,c,h,l,u,d,D,I,p,_;return{setters:[function(e){t=e.RuntimeError,s=e.ModelError,r=e.RuntimeModelError,i=e.IBizContext,n=e.pluralLower,a=e.MenuPermissionMode,o=e.Net},function(e){E=e.isEmpty},function(e){c=e.notNilEmpty,h=e.isNilOrEmpty,l=e.QXEvent,u=e.createUUID},function(e){d=e.isNil,D=e.isEmpty,I=e.clone,p=e.equals,_=e.where}],execute:function(){e({calcNavParams:function(e,t){const{deName:s,navFilter:r,pickupDEFName:i,navContexts:n,navParams:a}=e,{context:o,params:E,datum:c,derValue:h}=t,l={},u={},d=h||c[s];d&&(s&&(l[s]=d),r&&(u[r]=d),i&&(u[`n_${i}_eq`]=d));const D=V(n,o,E,c),I=V(a,o,E,c);return Object.assign(l,D),Object.assign(u,I),{resultContext:l,resultParams:u}},calcResPath:ne,calcRouteContext:function(e,t,s){let r=[];t.forEach((t=>{const s=[];for(let r=0;r<t.length;r++){const i=[],n=t[r],a=e[n.name];a&&(i.push(n.name),i.push(a),s.push(i))}r.push(s)})),r=r.sort(((e,t)=>t.length-e.length));const[i]=r;if(i){const e={};return i.forEach((([t,s])=>{e[t]=s})),e}return{}},compare:B,compareNumber:S,contains:L,convertNavData:V,convertNavDataByArray:g,convertNavDataByObject:w,getWFContext:function(e){const t={};e.param09&&(t.srfprocessinstanceid=e.param09);return t},install:function(){const{ibiz:e}=window;e.hub=new class{constructor(){this.convert=new class{constructor(){this.appMenu=new class{parse(e){return e}}}},this.appMap=new Map,this.apps=new Map,this.view2appMap=new Map,this.views=new Map,this.dataEntities=new Map,this.defaultAppIndexViewName="Index"}registerModelLoaderProvider(e){this.modelLoaderProvider=e}registerApp(e){this.apps.set(e.codeName,e)}registerAppView(e){this.views.set(e.codeName,e)}registerAppDataEntity(e,t=ibiz.env.appId){this.dataEntities.has(t)||this.dataEntities.set(t,new Map);this.dataEntities.get(t).set(e.codeName,e)}setAppView(e,t=ibiz.env.appId){this.view2appMap.set(e,t)}async getAppView(e){const s=this.view2appMap.get(e)||ibiz.env.appId;if(this.appMap.has(s)||await this.createApp(s),this.views.has(e))return this.views.get(e);if(this.modelLoaderProvider){const t=await this.modelLoaderProvider.getAppView(s,e);return this.registerAppView(t),t}throw new t(`视图[${e}]不存在`)}async getAppDataEntity(e,s=ibiz.env.appId){if(this.dataEntities.has(s)){const t=this.dataEntities.get(s);if(t.has(e))return t.get(e)}if(this.modelLoaderProvider){const t=await this.modelLoaderProvider.getAppDataEntity(s,e);return this.registerAppDataEntity(t,s),t}throw new t(`未找到应用实体[${e}]`)}async createApp(e){if(this.appMap.has(e))return this.appMap.get(e);let s;if(this.apps.has(e))s=this.apps.get(e);else{if(!this.modelLoaderProvider)throw new t(`未找到应用[${e}]模型`);s=await this.modelLoaderProvider.getApp(e),this.registerApp(s)}const r=new We(s);return this.appMap.set(e,r),await r.init(),r}async getAppAsync(e=ibiz.env.appId){return this.createApp(e)}getApp(e){let t=null;return t=e?e instanceof Object?e.id:e:ibiz.env.appId,this.appMap.get(t)}},e.register=new T,e.config=new class{constructor(){this.enableDataInfoBar=!0,this.defaultCodeListCacheTimeout=36e5,this.gridEditShowMode="cell",this.gridEditSaveMode="cell-blur",this.defaultTimerLogicInterval=6e4}},e.auth=new Ae,x(),z()},installCommand:x,openRedirectView:y,presetUIActionProvider:z,strContain:v,testCond:N,toLocalOpenWFRedirectView:async function(e,t){},verifyDeRules:function e(t,s,r){const i={isPast:!0,infoMessage:r.ruleInfo};if(function(e){return"GROUP"===e.condType}(r)){const n=[];n&&n.length>0&&(i.isPast=function(e,t,s="AND",r=!1){if(!((null==e?void 0:e.length)>0))return!1;let i="AND"===s;for(let r=0,n=e.length;r<n;r++){const n=t(e[r],r);if("AND"===s){if(!n){i=!1;break}}else if("OR"===s&&n){i=!0;break}}return r?!i:i}(n,(r=>{const{isPast:n,infoMessage:a}=e(t,s,r);return i.infoMessage=a,n}),r.condOp,!!r.notMode),!i.isPast&&("AND"===r.condOp&&r.notMode||"OR"===r.condOp&&!r.notMode)&&(i.infoMessage=r.ruleInfo))}else{t=null==r?void 0:r.defname.toLowerCase();try{if(function(e){return"SIMPLE"===e.condType}(r))i.isPast=!function(e,t,s,r,i,n,a){Object.is(i,"CURTIME")&&(s=`${new Date}`);if(Object.is(i,"ENTITYFIELD")){s=n[s=s?s.toLowerCase():""]?n[s]:s}(d(r)||D(r))&&(r="内容必须符合值规则");const o=N(e,t,s);if(!o&&a)throw new Error(r);return!o}(s[t],r.condOp,r.paramValue,r.ruleInfo,r.paramType,s,r.keyCond);else if(function(e){return"VALUERANGE2"===e.condType}(r))i.isPast=!function(e,t,s,r,i,n,a){h(n)&&(n="值必须符合值范围规则");if(h(e)){if(a)throw new Error("值为空");return n="值为空",!0}if(b(e,/^-?\d*\.?\d+$/,"",a))return!0;const o=Number.parseFloat(e);if(null!==t)if(s){if(o<t){if(a)throw new Error(n);return!0}}else if(o<=t){if(a)throw new Error(n);return!0}if(null!=r)if(i){if(o>r){if(a)throw new Error(n);return!0}}else if(o>=r){if(a)throw new Error(n);return!0}return n="",!1}(s[t],r.minValue,r.includeMinValue,r.maxValue,r.includeMaxValue,r.ruleInfo,r.keyCond);else if(function(e){return"REGEX"===e.condType}(r))i.isPast=!b(s[t],r.regExCode,r.ruleInfo,r.keyCond);else if(function(e){return"STRINGLENGTH"===e.condType}(r))i.isPast=!function(e,t,s,r,i,n,a){h(n)&&(n="内容长度必须符合范围规则");if(h(e)){if(a)throw new Error("值为空");return n="值为空",!0}const o=e.length;if(null!==t)if(s){if(o<t){if(a)throw new Error(n);return!0}}else if(o<=t){if(a)throw new Error(n);return!0}if(null!==r)if(i){if(o>r){if(a)throw new Error(n);return!0}}else if(o>=r){if(a)throw new Error(n);return!0}return n="",!1}(s[t],r.minValue,r.includeMinValue,r.maxValue,r.includeMaxValue,r.ruleInfo,r.keyCond);else if(function(e){return"SYSVALUERULE"===e.condType}(r)&&(null==r?void 0:r.sysValueRule)){const{ruleType:e,regExCode:n,scriptCode:a,ruleInfo:o}=r.sysValueRule;if(i.infoMessage=r.ruleInfo||o,"REG"===e)i.isPast=!b(s[t],n,i.infoMessage,r.keyCond);else if("SCRIPT"===e){const{isPast:e,infoMessage:n}=function(e,t,s,r,i){h(r)&&(r="值必须符合脚本规则");const n=t;let a="",o=!0;const E=e=>{o=!1,(null==e?void 0:e.length)>0?e.forEach((e=>{(null==e?void 0:e.message)&&(a+=e.message)})):(null==e?void 0:e.message)&&(a=e.message)};try{const t=new Function("value","data",s)(e,n);"boolean"==typeof t&&(o=t)}catch(e){ibiz.log.error(e),E(e)}if(r="",!o&&i)throw new Error(r);return{isPast:o,infoMessage:a||r}}(s[t],s,a,i.infoMessage,r.keyCond);i.isPast=e,i.infoMessage=n||i.infoMessage}}}catch(e){i.isPast=!1}i.isPast=r.notMode?!i.isPast:i.isPast}return i},verifyFormGroupLogic:function e(t,i){if(function(e){return"GROUP"===e.logicType}(i)){const s=i.defdlogics;if(!s||0===s.length)throw new r(i,"发现空逻辑组,逻辑无法正常执行!");let n=!0;if("AND"===i.groupOP){const r=s.find((s=>!e(t,s)));n=void 0===r}else if("OR"===i.groupOP){const s=i.defdlogics.find((s=>e(t,s)));n=void 0!==s}return i.notMode?!n:n}if(function(e){return"SINGLE"===e.logicType}(i))return N(t[i.defdname.toLowerCase()],i.condOP,i.value);throw new s(i,`未支持的逻辑类型${i.logicType}`)},verifyPanelGroupLogic:function e(t,i){if(function(e){return"GROUP"===e.logicType}(i)){const s=i.panelItemLogics;if(!s||0===s.length)throw new r(i,"发现空逻辑组,逻辑无法正常执行!");let n=!0;if("AND"===i.groupOP){const r=s.find((s=>!e(t,s)));n=void 0===r}else if("OR"===i.groupOP){const s=i.panelItemLogics.find((s=>e(t,s)));n=void 0!==s}return i.notMode?!n:n}if(function(e){return"SINGLE"===e.logicType}(i))return N(t[i.dstModelField.toLowerCase()],i.condOp,i.value);throw new s(i,`未支持的逻辑类型${i.logicType}`)}});var A=e("RegisterBase",class{constructor(){this.providers=new Map}register(e,t){this.providers.set(e,t)}unRegister(e){this.providers.delete(e)}getByKey(e){return this.providers.get(e)}}),P=e("UIActionRegister",class extends A{async get(e){const{uiactionTag:s}=e,r=e.uiactionMode;if("SYS"===r){const e=`${r}_${s}`;if(this.providers.has(e))return this.providers.get(e);throw new t(`找不到系统预置界面行为${s}对应的适配器`)}if(this.providers.has(r))return this.providers.get(r);throw new t(`找不界面行为模式${r}对应的适配器`)}}),T=e("RegisterCenter",class{constructor(){this.uiAction=new P}}),W=class{constructor(){ibiz.commands.register(W.TAG,this.exec.bind(this))}async exec(e,t,s={},r={}){const i=e.navigateContexts;i&&Object.assign(t,i);const n=e.navigateParams;switch(n&&Object.assign(s,n),e.appFuncType){case"APPVIEW":return this.openAppView(e,t,s,r);case"OPENHTMLPAGE":return this.openHtmlPage(e);case"PDTAPPFUNC":return this.openPdAppFunc(e,t,s);case"JAVASCRIPT":return this.executeJavaScript(e,t,s);case"CUSTOM":return this.custom(e,t,s);default:throw new Error(`未知的应用功能类型: ${e.appFuncType}`)}}async openAppView(e,t,s,r){}openHtmlPage(e){const t=e.htmlPageUrl;window.open(t,"_blank")}openPdAppFunc(e,t,s){throw ibiz.log.warn("openPdAppFunc",e,t,s),new Error("未实现")}executeJavaScript(e,t,s){throw ibiz.log.warn("executeJavaScript",e,t,s),new Error("未实现")}custom(e,t,s){throw ibiz.log.warn("custom",e,t,s),new Error("未实现")}},f=e("AppFuncCommand",W);function V(e,...t){return!e||E(e)?{}:"[object Array]"===Object.prototype.toString.call(e)?g(e,...t):"[object Object]"===Object.prototype.toString.call(e)?w(e,...t):{}}function g(e,...t){const s={};for(const r of e)if(c(r.value)&&!r.rawValue){const e=t.find((e=>!h(e)&&(e[r.value]||Object.prototype.hasOwnProperty.call(e,r.value))));e&&(s[r.key.toLowerCase()]=e[r.value])}else s[r.key.toLowerCase()]=r.value||null;return s}function w(e,...t){const s={},r=/^%(.+)%$/;for(const i in e)if(c(e[i])&&r.test(e[i])){const r=e[i].substring(1,e[i].length-1),n=t.find((e=>Object.prototype.hasOwnProperty.call(e,r)));n&&(s[i.toLowerCase()]=n[r])}else s[i.toLowerCase()]=e[i]||null;return s}f.TAG="ibiz.app-func.exec";e("AppDEUIActionUtil",class{static async exec(e,t,s,r,i){const n=await ibiz.register.uiAction.get(e);return(await n.getHandler()).exec(e,t,s||[],r,i)}});var R=e("UIActionHandler",class{async exec(e,t,s,r,i){const n={refresh:e.reloadData,closeView:e.closeEditView};if(!await this.isConfirm(e))return this.returnError(n);const a=await this.execAction(e,t,s,r,i);if(Object.assign(n,a),!0===n.cancel)return this.returnError(n);const o=await this.doNextAction(e,n.nextContext||t,n.data||s,n.nextParams||r,i);return o&&(Object.assign(n,o),!0===o.cancel)?this.returnError(n):n}returnError(e){return Object.assign(e,{refresh:!1,closeView:!1})}async isConfirm(e){return!e.enableConfirm||!e.confirmMsg||ibiz.modal.confirm({title:e.confirmMsg})}async doNextAction(e,t,s,r,i){}async handleParams(e,t,s,r){let i=[];if(-1!==["MULTIDATA","MULTIKEY"].indexOf(e.actionTarget))throw new Error(`数据类型${e.actionTarget}暂未支持,请配置无数据或单项数据主键`);const n=s[0]||{};switch(n.srfkey||n[""],e.actionTarget){case"NONE":case"SINGLEKEY":i=[];break;case"SINGLEDATA":i=[s[0]];break;case"MULTIDATA":i=s}const a=t.clone(),o=e.navigateContexts||[],E=(null==i?void 0:i[0])||{},c=V(o,t,r,E);Object.assign(a,c);return{resultContext:a,resultData:i,resultParams:V(e.navigateParams,t,r,E)}}}),M=e("CommonSysUIActionHandler",class extends R{async execAction(e,t,s,r,i){const{neuron:n,event:a,view:o}=i,E=e.uiactionTag,c={};if("New"===E){if(!o.newData)throw new Error("该视图不存在newData能力");await o.newData(a)}if("Edit"===E){if(!o.openData)throw new Error("该视图不存在openData能力");await o.openData(null==s?void 0:s[0],a)}if(-1!==["SaveAndExit","Save","SaveRow"].indexOf(E)){if(!n.save)throw new Error("该视图不存在save能力");await n.save()}if("SaveAndNew"===E){if(!n.saveAndNew)throw new Error("该视图不存在saveAndNew能力");await n.saveAndNew()}if("Remove"===E||"RemoveAndExit"===E){if(!n.remove)throw new Error("该视图不存在remove能力");await n.remove()}if("NewRow"===E){if(!n.newRow)throw new Error("该视图不存在newRow能力");await n.newRow()}if("ToggleFilter"===E){if(!n.toggleFilter)throw new Error("该视图不存在ToggleFilter能力");n.toggleFilter()}if("Import"===E){if(!n.importData)throw new Error("该视图不存在Import能力");n.importData()}if("ExportExcel"===E){if(!n.exportData)throw new Error("该视图不存在ExportExcel能力");n.exportData(a)}if("SaveAndStart"===E){if(!n.wfStart)throw new Error("该视图不存在SaveAndStart能力");await n.wfStart()}if("ViewWFStep"===E){if(!n.wfSubmit)throw new Error("该视图不存在ViewWFStep能力");await n.wfSubmit()}return-1!==["SaveAndExit","Exit","RemoveAndExit"].indexOf(E)&&(c.closeView=!0),-1!==["Refresh"].indexOf(E)&&(c.refresh=!0),c}}),O=e("BackendUIActionHandler",class extends R{async openSelectView(e,t,s,r){}async execAction(e,t,s,r,i){return{}}}),m=e("FrontUIActionHandler",class extends R{async execAction(e,t,s,r,i){return{}}}),C=e("WFWithdrawUIActionHandler",class extends R{async execAction(e,t,s,r,i){let n=!1;return await ibiz.modal.confirm({title:"提示",desc:"是否确认执行撤回操作?"})&&(null==i?void 0:i.neuron)&&(await i.neuron.wfWithdraw(t,r,(null==s?void 0:s[0])||[]),n=!0),{refresh:!1,closeView:n}}});async function y(e,t,r={},i=[]){throw new s(e,`未支持的重定向视图类型: ${e.viewType}`)}function N(e,s,r){if(Object.is(s,"IN"))return L(e,r);if(Object.is(s,"NOTIN"))return!L(e,r);switch(s){case"EQ":return`${e}`==`${r}`;case"NOTEQ":return`${e}`!=`${r}`;case"LT":return B(e,r)<0;case"LTANDEQ":return B(e,r)<=0;case"GT":return B(e,r)>0;case"GTANDEQ":return B(e,r)>=0;case"ISNULL":return h(e);case"ISNOTNULL":return c(e);case"TESTNULL":return d(e);case"IN":return L(e,r);case"NOTIN":return!L(e,r);case"LIKE":return v(e,r);case"LEFTLIKE":return v(e,r,"start");case"RIGHTLIKE":return v(e,r,"end");default:throw new t(`值操作:${s},暂未支持`)}}function B(e,s){const r=Number(e),i=Number(s);if(!Number.isNaN(r)&&!Number.isNaN(i))return S(r,i);const n=new Date(e).getTime(),a=new Date(s).getTime();if(!Number.isNaN(n)&&!Number.isNaN(a))return S(n,a);throw new t(`${e} 和 ${s} 无法比较大小`)}function S(e,t){return Number.isNaN(e)&&(e=0),Number.isNaN(t)&&(t=0),e>t?1:e<t?-1:0}function L(e,s){if(!s||"string"!=typeof s)throw new t("范围比较的条件值不存或者不是字符串");if(e){return s.split(",").includes(`${e}`)}return!1}function v(e,t,s){if(!e||!t)return!1;const r=`${e}`.toUpperCase(),i=`${t}`.toUpperCase(),n=r.indexOf(i);switch(s){case"start":return 0===n;case"end":return n+i.length===r.length;default:return-1!==n}}function b(e,t,s,r){h(s)&&(s="值必须符合正则规则");if(h(e)){if(r)throw new Error("值为空");return s="值为空",!0}if(!new RegExp(t).test(e)){if(r)throw new Error(s);return!0}return s="",!1}var F=class{constructor(){ibiz.commands.register(F.TAG,this.exec.bind(this))}async exec(e,t,s={},r={}){if(e.redirectView)return y(e,0,s,r.data);const{openMode:i="INDEXVIEWTAB"}=e;switch(i){case"INDEXVIEWTAB":default:return this.openIndexViewTab(e,t,s);case"POPUP":throw new Error("未支持的视图打开模式: POPUP");case"POPUPMODAL":return this.openModal(e,t,s);case"POPUPAPP":throw new Error("未支持的视图打开模式: POPUPAPP");case"POPOVER":return this.openPopover(e,r.event,t,s);case"DRAWER_LEFT":case"DRAWER_RIGHT":case"DRAWER_TOP":case"DRAWER_BOTTOM":return this.openDrawer(e,t,s);case"USER":return this.openUserCustom(e,t,s)}}openIndexViewTab(e,t,s={}){return ibiz.openView.root(e,t,s)}async openModal(e,t,s={}){return ibiz.openView.modal(e,t,s)}async openPopover(e,t,s,r={}){return ibiz.openView.popover(e,t,s,r)}async openDrawer(e,t,s={}){return ibiz.openView.drawer(e,t,s)}async openUserCustom(e,t,s={}){return ibiz.openView.custom(e,t,s)}},U=e("OpenAppViewCommand",F);function x(){new f,new U}U.TAG="ibiz.app-view.open";var X=e("BackendUIActionProvider",class{async getHandler(){return this.handler||(this.handler=new O),this.handler}}),G=e("CommonSysUIActionProvider",class{async getHandler(){return this.handler||(this.handler=new M),this.handler}}),$=e("FrontUIActionProvider",class{async getHandler(){return this.handler||(this.handler=new m),this.handler}}),k=e("WFWithdrawUIActionProvider",class{async getHandler(){return this.handler||(this.handler=new C),this.handler}});function z(){const{uiAction:e}=ibiz.register;e&&(e.register("FRONT",new $),e.register("BACKEND",new X),e.register("SYS_New",new G),e.register("SYS_Edit",new G),e.register("SYS_Save",new G),e.register("SYS_SaveAndExit",new G),e.register("SYS_SaveRow",new G),e.register("SYS_SaveAndNew",new G),e.register("SYS_Remove",new G),e.register("SYS_RemoveAndExit",new G),e.register("SYS_NewRow",new G),e.register("SYS_SaveAndStart",new G),e.register("SYS_ViewWFStep",new G),e.register("SYS_ToggleFilter",new G),e.register("SYS_Exit",new G),e.register("SYS_Refresh",new G),e.register("SYS_Import",new G),e.register("SYS_ExportExcel",new G),e.register("DEUIACTION_WFWithdraw",new k))}var K=e("AppCounter",class{constructor(e){this.model=e,this.destroyed=!1,this.context=i.create(),this.params={},this.evt=new l,this.data={}}get isDestroyed(){return this.destroyed}async init(e,t){}setParams(e,t){e&&(this.context=I(e)),t&&(this.params=I(t))}interval(){this.destroyInterval(),this.intervalTimer=setInterval((()=>{this.evt.getSize("change")>0&&this.load()}),this.model.timer||6e3)}destroyInterval(){this.intervalTimer&&(clearInterval(this.intervalTimer),this.intervalTimer=null)}async load(){const e=await this.service.exec(this.action,this.context,this.params);return e.ok&&(this.data=e.data,this.evt.emit("change",this.data)),this.data}refresh(e,t){return this.setParams(e,t),this.load()}onChange(e,t=!0){this.evt.on("change",e),t&&c(this.data)&&e(this.data)}offChange(e){this.evt.off("change",e)}getCounter(e){return this.data[e.toLowerCase()]||0}destroy(){this.destroyed=!0,this.context.destroy(),this.destroyInterval(),this.evt.reset()}}),Y=class{constructor(){this.psModelGroupCondBase=null}parse(e){if(e instanceof Array){const t=this.createPSModelGroupCond();t.parse(e),this.psModelGroupCondBase=t}}testSingleCond(e,t,s){try{if("ISNULL"===e)return null==t;if("ISNOTNULL"===e)return null!=t;if("EQ"===e||"ABSEQ"===e||"GT"===e||"GTANDEQ"===e||"LT"===e||"LTANDEQ"===e||"NOTEQ"===e){let r=-1;if(t==s?r=0:t>s&&(r=1),"EQ"===e||"ABSEQ"===e)return 0===r;if("GT"===e)return r>0;if("GTANDEQ"===e)return r>=0;if("LT"===e)return r<0;if("LTANDEQ"===e)return r<=0;if("NOTEQ"===e)return 0!==r}if("LIKE"===e)return null!=t&&null!=s&&-1!==t.toString().toUpperCase().indexOf(s.toString().toUpperCase());if("LEFTLIKE"===e)return null!=t&&null!=s&&0===t.toString().toUpperCase().indexOf(s.toString().toUpperCase())}catch(e){ibiz.log.error(e)}return!1}getPSModelGroupCondBase(){return this.psModelGroupCondBase}},H=class{constructor(){this.strCondOp=null}getCondOp(){return this.strCondOp}setCondOp(e){this.strCondOp=e}},j=class extends H{parse(e){const t=e.length;let s=!0,r=!1,i=!1;for(let n=0;n<t;n++)if(s){const t=e[n];this.setCondOp(t),s=!1,r=!0}else if(r){const t=e[n];this.setParam(t),r=!1,i=!0}else if(i){const t=e[n];if(t instanceof Object&&!(t instanceof Array)){const e=t;null!=e.type&&this.setValueType(e.type.toString()),null!=e.value&&this.setValue(e.value.toString())}else this.setValue(t);break}}getValueType(){return this.strValueType}setValueType(e){this.strValueType=e}getValue(){return this.strValue}setValue(e){this.strValue=e}getParamType(){return this.strParamType}setParamType(e){this.strParamType=e}getParam(){return this.strParam}setParam(e){this.strParam=e}},q=class extends H{constructor(){super(...arguments),this.childCondList=[],this.bNotMode=!1}parse(e){const t=e.length;let s=!0,r=!0,i=!1;for(let n=0;n<t;n++){if(s&&r){if("!"===e[n]){this.setNotMode(!0),s=!1;continue}}if(r){const t=e[n];this.setCondOp(t),r=!1,s=!1,i=!0}else if(i){const t=e[n];if(!(t instanceof Array))throw new Error("值必须为数组");t.forEach((e=>{if(e.length>0){const t=e[0].toString();if("!"===t||"OR"===t||"AND"===t){const t=new q;t.parse(e),this.childCondList.push(t)}else{const t=new j;t.parse(e),this.childCondList.push(t)}}}))}}}setNotMode(e){this.bNotMode=e}isNotMode(){return this.bNotMode}getChildPSModelCondBases(){return this.childCondList}},Q=class extends q{},Z=class extends j{},J=class extends Y{test(e,t){return this.testCond(this.getPSModelGroupCondBase(),e,t)}testCond(e,t,s){if(e instanceof q){const r=e.getChildPSModelCondBases();if(null==r||D(r))return!e.isNotMode();const i="AND"===e.getCondOp();let n=i;for(let e=0;e<r.length;e++){const a=r[e];if(this.testCond(a,t,s)){if(!i){n=!0;break}}else if(i){n=!1;break}}return e.isNotMode()?!n:n}if(e instanceof j){D(e.getParam())&&ibiz.log.warn("没有指定属性名称",e);const r=t[e.getParam().toLowerCase()];let i=null;const n=e.getValueType(),a=e.getValue();return null==n||D(n)?i=e.getValue():(D(a)&&ibiz.log.warn("没有指定上下文参数名称"),J.PARAMTYPE_WEBCONTEXT===n?i=s.data[a.toLowerCase()]:J.PARAMTYPE_DATACONTEXT===n&&(i=s.getValue(a.toLowerCase()))),this.testSingleCond(e.getCondOp(),r,i)}return ibiz.log.warn("无法识别的条件对象",e),!1}createPSModelSingleCond(){return new Z}createPSModelGroupCond(){return new Q}},ee=e("PSDEDQCondEngine",J);ee.PARAMTYPE_DATACONTEXT="DATACONTEXT",ee.PARAMTYPE_WEBCONTEXT="WEBCONTEXT",e("DEDQCondUtil",class{static getCond(e){if(this.map.has(e))return this.map.get(e);const t=e.dedqgroupConditions;if(t){const s=new ee;return s.parse(["OR",this.calcCond(t)]),this.map.set(e,s),s}return null}static calcCond(e){const t=[];return e.forEach((e=>{const s=[];if("GROUP"===e.condType){const t=e;t.notMode&&s.push("!"),s.push(e.condOp);const r=t.dedqconditions;if(r){const e=this.calcCond(r);s.push(e)}}else{if("SINGLE"!==e.condType)throw new Error(`暂未支持的查询条件类型: ${e.condType}`);{const t=e;s.push(t.fieldName),t.condValue||s.push("")}}t.push(s)})),t}}).map=new WeakMap;var te=e("DynamicCodeListCache",class{constructor(e){this.cache=new Map,this.isPredefined=!1,this.codeList=e}async init(){return this.initPromise=(async()=>{const{predefinedType:e}=this.codeList;if(e){if(this.isPredefined=!0,!["OPERATOR","RUNTIME"].includes(e))throw new s(this.codeList,`预定义类型${e}暂不支持`)}else this.initPromise=void 0})(),this.initPromise}convertData(e){return Object.freeze({})}async load(e={},t={}){if(this.isPredefined){t.size||(t.size=1e4);const e=await this.app.net.get(`/dictionaries/codelist/${this.codeList.codeName}`,t);return Object.freeze(e.data.items)}return!this.entity||this.methodName,[]}async get(e={},t={}){if(this.initPromise&&await this.initPromise,!this.codeList.enableCache)return this.load(e,t);const s=JSON.stringify(e)+JSON.stringify(t);if(this.cache.has(s)){const e=this.cache.get(s);if(e.expirationTime>(new Date).getTime())return e.promise?e.promise:e.items;this.cache.delete(s)}const r=this.load(e,t),i=-1===this.codeList.cacheTimeout?ibiz.config.defaultCodeListCacheTimeout:this.codeList.cacheTimeout,n={expirationTime:(new Date).getTime()+i,promise:r};this.cache.set(s,n);const a=await r;return n.items=a,delete n.promise,a}});function se(e,s){if(null!=s){const{srfkey:e}=s;if(!d(e)&&!D(e))return!0}throw new t(`执行「${e}」不存在「srfkey」无法处理`)}function re(e,s){const{srfsessionid:r}=s;if(!d(r)&&!D(r))return!0;throw new t(`执行「${e}」不存在「srfsessionid」无法处理`)}var ie=e("EntityCache",class{constructor(){this.cacheMap=new Map}forceAdd(e,t){const s=this.getCacheByTag(e).get(t.srfkey);s&&(s.assign(t),ibiz.log.warn("forceAdd",t.srfkey,t))}forceUpdate(e,t){this.getCacheByTag(e).set(t.srfkey,I(t)),ibiz.log.warn("forceUpdate",t.srfkey,t)}forceDelete(e,t){this.getCacheByTag(e).delete(t),ibiz.log.warn("forceDelete",t)}add(e,t){try{re("add",e),(d(t.srfkey)||D(t.srfkey))&&(t.srfkey=u()),t.srftempdate=(new Date).getTime();return this.getCacheByTag(e).set(t.srfkey,I(t)),ibiz.log.warn("add",t.srfkey,t),t}catch(e){return ibiz.log.error(e),null}}get(e,t){try{re("get",e);const s=this.getCacheByTag(e).get(t);return ibiz.log.warn("get",t,s),I(s)}catch(e){return ibiz.log.error(e),null}}update(e,t){try{re("update",e),se("update",t),t.srftempdate=(new Date).getTime();const s=this.getCacheByTag(e),r=s.get(t.srfkey);if(r)return r.assign(t),s.set(t.srfkey,r),ibiz.log.warn("update",t.srfkey,t),I(r);throw new Error("数据不存在,无法更新!")}catch(e){return ibiz.log.error(e),null}}delete(e,t){try{re("delete",e);const s=this.getCacheByTag(e),r=t;if(s.has(r)){const e=s.get(r);return e.srftempdate=(new Date).getTime(),s.delete(r),ibiz.log.warn("delete",r),e}return null}catch(e){return ibiz.log.error(e),null}}createBatch(e,t){try{re("add",e);const s=this.getCacheByTag(e);for(let e=0;e<t.length;e++){const r=t[e];(d(r.srfkey)||D(r.srfkey))&&(r.srfkey=u()),r.srftempdate=(new Date).getTime();const i=I(r);s.set(r.srfkey,i),t[e]=i,ibiz.log.warn("add",r.srfkey,r)}return t}catch(e){ibiz.log.error(e)}return[]}updateBatch(e,t){try{re("update",e);const s=this.getCacheByTag(e);for(let e=0;e<t.length;e++){const r=t[e];se("update",r),r.srftempdate=(new Date).getTime();const i=s.get(r.srfkey);if(!i)throw new Error(`数据[${r.srfdename}-${r.srfmajortext}(${r.srfkey})]不存在,无法更新!`);i.assign(r),s.set(r.srfkey,i),ibiz.log.warn("update",r.srfkey,r),t[e]=I(i)}return t}catch(e){return ibiz.log.error(e),null}}deleteBatch(e,t){try{re("delete",e)}catch(e){return ibiz.log.error(e),t}const s=this.getCacheByTag(e),r=[];for(let e=0;e<t.length;e++){const i=t[e];s.has(i)||r.push(i)}if(r.length>0)throw new Error(`未找到以下数据「${r.join("、")}」,无法删除!`);for(let e=0;e<t.length;e++){const r=t[e];s.delete(r),ibiz.log.warn("delete",r)}return[]}checkData(e,t){return-1!==this.getList(e).findIndex((e=>e.srfkey===t))}getList(e){try{re("getList",e);const t=this.getCacheByTag(e);if(!t)return[];const s=t.values();return Array.from(s)}catch(e){return ibiz.log.error(e),[]}}generatePred(e={}){const t={};e.srfkey&&(t.srfkey=p(e.srfkey)),delete e.srfkey;for(const s in e)if(Object.prototype.hasOwnProperty.call(e,s)){const r=e[s];t[s]=p(r)}return _(t)}clear(e){const t=e.srfsessionid;this.cacheMap.size>0&&this.cacheMap.delete(t)}getCacheByTag(e){const t=e.srfsessionid;return this.cacheMap.has(t)||this.cacheMap.set(t,new Map),this.cacheMap.get(t)}});function ne(e,t){let s=[];t.forEach((t=>{let r=[];for(let s=0;s<t.length-1;s++){const i=t[s],n=e[i.name];n?(r.push(i.plural),r.push(n)):r=[]}s.push(r)})),s=s.sort(((e,t)=>t.length-e.length));const[r]=s;return r?`${r.length>1?"/":""}${r.join("/")}`:""}var ae=e("ControlType",(e=>(e.APP_MENU="APPMENU",e.GRID="GRID",e.FORM="FORM",e.SEARCHFORM="SEARCHFORM",e.TOOLBAR="TOOLBAR",e.DRBAR="DRBAR",e.VIEWPANEL="VIEWPANEL",e.PICKUP_VIEW_PANEL="PICKUPVIEWPANEL",e.DATAVIEW="DATAVIEW",e.TREEGRID="TREEGRID",e.WF_EXPBAR="WFEXPBAR",e.TREEVIEW="TREEVIEW",e.TREE_EXP_BAR="TREEEXPBAR",e.TAB_VIEWPANEL="TABVIEWPANEL",e.DRTAB="DRTAB",e.CHART="CHART",e.REPORT_PANEL="REPORTPANEL",e.LIST="LIST",e.MOB_MDCTRL="MOBMDCTRL",e.MULTI_EDIT_VIEWPANEL="MULTIEDITVIEWPANEL",e.WIZARD_PANEL="WIZARDPANEL",e.UPDATE_PANEL="UPDATEPANEL",e.SEARCHBAR="SEARCHBAR",e.DASHBOARD="DASHBOARD",e.CALENDAR="CALENDAR",e.PANEL="PANEL",e.VIEW_LAYOUT_PANEL="VIEWLAYOUTPANEL",e.MAP="MAP",e.GANTT="GANTT",e.TREE_GRIDEX="TREEGRIDEX",e.KANBAN="KANBAN",e.CALENDAR_EXPBAR="CALENDAREXPBAR",e.CHART_EXPBAR="CHARTEXPBAR",e.DATA_VIEW_EXPBAR="DATAVIEWEXPBAR",e.GANTT_EXPBAR="GANTTEXPBAR",e.GRID_EXPBAR="GRIDEXPBAR",e.LIST_EXPBAR="LISTEXPBAR",e.MAP_EXPBAR="MAPEXPBAR",e.STATE_WIZARD_PANEL="STATEWIZARDPANEL",e.TAB_EXP_PANEL="TABEXPPANEL",e.CUSTOM="CUSTOM",e))(ae||{})),oe=e("ViewType",(e=>(e.APP_INDEX_VIEW="APPINDEXVIEW",e.DE_GRID_VIEW="DEGRIDVIEW",e.DE_EDIT_VIEW="DEEDITVIEW",e.APP_DATA_UPLOAD_VIEW="APPDATAUPLOADVIEW",e.APP_ERROR_VIEW="APPERRORVIEW",e.APP_FILE_UPLOAD_VIEW="APPFILEUPLOADVIEW",e.APP_FUN_PICKUP_VIEW="APPFUNCPICKUPVIEW",e.APP_LOGIN_VIEW="APPLOGINVIEW",e.APP_LOGOUT_VIEW="APPLOGOUTVIEW",e.APP_PANEL_VIEW="APPPANELVIEW",e.APP_PIC_UPLOAD_VIEW="APPPICUPLOADVIEW",e.APP_PORTAL_VIEW="APPPORTALVIEW",e.APP_REDIRECT_VIEW="APPREDIRECTVIEW",e.APP_START_VIEW="APPSTARTVIEW",e.APP_WELCOME_VIEW="APPWELCOMEVIEW",e.APP_WF_ADD_STEP_AFTER_VIEW="APPWFADDSTEPAFTERVIEW",e.APP_WF_ADD_STEP_BEFORE_VIEW="APPWFADDSTEPBEFOREVIEW",e.APP_WF_REDIRECT_VIEW="APPWFREDIRECTVIEW",e.APP_WF_SENDBAC_VIEW="APPWFSENDBACKVIEW",e.APP_WF_STEP_ACTOR_VIEW="APPWFSTEPACTORVIEW",e.APP_WF_STEP_DATA_VIEW="APPWFSTEPDATAVIEW",e.APP_WF_STEP_TRACE_VIEW="APPWFSTEPTRACEVIEW",e.APP_WF_SUPPLY_INFO_VIEW="APPWFSUPPLYINFOVIEW",e.APP_WF_TAKE_ADVICE_VIEW="APPWFTAKEADVICEVIEW",e.DE_CALENDAR_EXP_VIEW="DECALENDAREXPVIEW",e.DE_CALENDAR_VIEW="DECALENDARVIEW",e.DE_CHART_EXP_VIEW="DECHARTEXPVIEW",e.DE_CHART_VIEW="DECHARTVIEW",e.DE_CHART_VIEW9="DECHARTVIEW9",e.DE_CUSTOM_VIEW="DECUSTOMVIEW",e.DE_DATA_VIEW="DEDATAVIEW",e.DE_DATA_VIEW9="DEDATAVIEW9",e.DE_DATAVIEW_EXP_VIEW="DEDATAVIEWEXPVIEW",e.DE_EDIT_VIEW2="DEEDITVIEW2",e.DE_EDIT_VIEW3="DEEDITVIEW3",e.DE_EDIT_VIEW4="DEEDITVIEW4",e.DE_EDIT_VIEW9="DEEDITVIEW9",e.DE_FORM_PICKUP_DATA_VIEW="DEFORMPICKUPDATAVIEW",e.DE_GANTT_EXP_VIEW="DEGANTTEXPVIEW",e.DE_GANTT_VIEW="DEGANTTVIEW",e.DE_GANTT_VIEW9="DEGANTTVIEW9",e.DE_GRID_EXP_VIEW="DEGRIDEXPVIEW",e.DE_GRID_VIEW2="DEGRIDVIEW2",e.DE_GRID_VIEW4="DEGRIDVIEW4",e.DE_GRID_VIEW8="DEGRIDVIEW8",e.DE_GRID_VIEW9="DEGRIDVIEW9",e.DE_HTML_VIEW="DEHTMLVIEW",e.DE_INDEX_PICKUP_DATA_VIEW="DEINDEXPICKUPDATAVIEW",e.DE_INDEX_VIEW="DEINDEXVIEW",e.DE_KANBAN_VIEW="DEKANBANVIEW",e.DE_KANBAN_VIEW9="DEKANBANVIEW9",e.DE_LIST_EXP_VIEW="DELISTEXPVIEW",e.DE_LIST_VIEW="DELISTVIEW",e.DE_LIST_VIEW9="DELISTVIEW9",e.DE_MAP_EXP_VIEW="DEMAPEXPVIEW",e.DE_MAP_VIEW="DEMAPVIEW",e.DE_MAP_VIEW9="DEMAPVIEW9",e.DE_MD_CUSTOM_VIEW="DEMDCUSTOMVIEW",e.DE_MEDITVIEW9="DEMEDITVIEW9",e.DE_MOB_CALENDAR_EXP_VIEW="DEMOBCALENDAREXPVIEW",e.DE_MOB_CALENDAR_VIEW="DEMOBCALENDARVIEW",e.DE_MOB_CALENDAR_VIEW9="DEMOBCALENDARVIEW9",e.DE_MOB_CHART_EXP_VIEW="DEMOBCHARTEXPVIEW",e.DE_MO_BCHART_VIEW="DEMOBCHARTVIEW",e.D_EMOB_CHART_VIEW9="DEMOBCHARTVIEW9",e.DE_MOB_CUSTOM_VIEW="DEMOBCUSTOMVIEW",e.DE_MOB_DATA_VIEW="DEMOBDATAVIEW",e.DE_MOB_DATA_VIEW_EXP_VIEW="DEMOBDATAVIEWEXPVIEW",e.DE_MOB_EDIT_VIEW="DEMOBEDITVIEW",e.DE_MOB_EDIT_VIEW3="DEMOBEDITVIEW3",e.DE_MOB_EDITVIEW9="DEMOBEDITVIEW9",e.DE_MOB_FORM_PICKUP_MDVIEW="DEMOBFORMPICKUPMDVIEW",e.DE_MOB_GANTT_EXP_VIEW="DEMOBGANTTEXPVIEW",e.DE_MOB_GANTT_VIEW="DEMOBGANTTVIEW",e.DE_MOB_GANTT_VIEW9="DEMOBGANTTVIEW9",e.DE_MOB_HTML_VIEW="DEMOBHTMLVIEW",e.DE_MOB_INDEX_PICKUP_MDVIEW="DEMOBINDEXPICKUPMDVIEW",e.DE_MOB_LIST_EXP_VIEW="DEMOBLISTEXPVIEW",e.DE_MOB_LIST_VIEW="DEMOBLISTVIEW",e.DE_MOB_MAP_VIEW="DEMOBMAPVIEW",e.DE_MOB_MAP_VIEW9="DEMOBMAPVIEW9",e.DE_MOB_MDVIEW="DEMOBMDVIEW",e.DE_MOB_MDVIEW9="DEMOBMDVIEW9",e.DE_MOB_MEDIT_VIEW9="DEMOBMEDITVIEW9",e.DE_MOB_MPICKUP_VIEW="DEMOBMPICKUPVIEW",e.DE_MOB_OPT_VIEW="DEMOBOPTVIEW",e.DE_MOB_PANEL_VIEW="DEMOBPANELVIEW",e.DE_MOB_PANEL_VIEW9="DEMOBPANELVIEW9",e.DE_MOB_PICKUP_LIST_VIEW="DEMOBPICKUPLISTVIEW",e.DE_MOB_PICKUP_MDVIEW="DEMOBPICKUPMDVIEW",e.DE_MOB_PICKUP_TREE_VIEW="DEMOBPICKUPTREEVIEW",e.DE_MOB_PICKUP_VIEW="DEMOBPICKUPVIEW",e.DE_MOB_PORTAL_VIEW="DEMOBPORTALVIEW",e.DE_MOB_PORTAL_VIEW9="DEMOBPORTALVIEW9",e.DE_MOB_REDIRECT_VIEW="DEMOBREDIRECTVIEW",e.DE_MOB_REPORT_VIEW="DEMOBREPORTVIEW",e.DE_MOB_TAB_EXP_VIEW="DEMOBTABEXPVIEW",e.DE_MOB_TAB_EXP_VIEW9="DEMOBTABEXPVIEW9",e.DE_MOB_TAB_SEARCH_VIEW="DEMOBTABSEARCHVIEW",e.DE_MOB_TAB_SEARCH_VIEW9="DEMOBTABSEARCHVIEW9",e.DE_MOB_TREE_EXP_VIEW="DEMOBTREEEXPVIEW",e.DEMOBTREEEXPVIEW9="DEMOBTREEEXPVIEW9",e.DE_MOB_TREE_VIEW="DEMOBTREEVIEW",e.DE_MOB_WFACTION_VIEW="DEMOBWFACTIONVIEW",e.DE_MOB_WF_DATA_REDIRECT_VIEW="DEMOBWFDATAREDIRECTVIEW",e.DE_MOB_WF_DYNAACTIO_NVIEW="DEMOBWFDYNAACTIONVIEW",e.DE_MOB_WFDYNA_EDIT_VIEW="DEMOBWFDYNAEDITVIEW",e.DE_MOB_WF_DYNA_EDIT_VIEW3="DEMOBWFDYNAEDITVIEW3",e.DE_MOB_WF_DYNA_EXP_MDVIEW="DEMOBWFDYNAEXPMDVIEW",e.DE_MO_BWF_DYNA_START_VIEW="DEMOBWFDYNASTARTVIEW",e.DE_MOB_WF_EDIT_VIEW="DEMOBWFEDITVIEW",e.DE_MOB_WF_EDIT_VIEW3="DEMOBWFEDITVIEW3",e.DE_MOB_WF_MDVIEW="DEMOBWFMDVIEW",e.DE_MOB_WF_PROXY_RESULT_VIEW="DEMOBWFPROXYRESULTVIEW",e.DE_MOB_WF_PROXY_START_VIEW="DEMOBWFPROXYSTARTVIEW",e.DE_MOB_WF_START_VIEW="DEMOBWFSTARTVIEW",e.DE_MOB_WIZARD_VIEW="DEMOBWIZARDVIEW",e.DE_MPICKUP_VIEW="DEMPICKUPVIEW",e.DE_MPICKUP_VIEW2="DEMPICKUPVIEW2",e.DE_OPT_VIEW="DEOPTVIEW",e.DE_PANEL_VIEW="DEPANELVIEW",e.DE_PANEL_VIEW9="DEPANELVIEW9",e.DE_PICKUP_DATA_VIEW="DEPICKUPDATAVIEW",e.DE_PICKUP_GRID_VIEW="DEPICKUPGRIDVIEW",e.DE_PICKUP_TREE_VIEW="DEPICKUPTREEVIEW",e.DE_PICKUP_VIEW="DEPICKUPVIEW",e.DE_PICKUP_VIEW2="DEPICKUPVIEW2",e.DE_PICK_UP_VIEW3="DEPICKUPVIEW3",e.DE_PORTAL_VIEW="DEPORTALVIEW",e.DE_PORTAL_VIEW9="DEPORTALVIEW9",e.DE_REDIRECT_VIEW="DEREDIRECTVIEW",e.DE_REPORT_VIEW="DEREPORTVIEW",e.DE_TAB_EXP_VIEW="DETABEXPVIEW",e.DE_TAB_EXP_VIEW9="DETABEXPVIEW9",e.DE_TAB_SEARCH_VIEW="DETABSEARCHVIEW",e.DE_TAB_SEARCH_VIEW9="DETABSEARCHVIEW9",e.DE_TREE_EXP_VIEW="DETREEEXPVIEW",e.DE_TREE_EXP_VIEW2="DETREEEXPVIEW2",e.DE_TREE_EXP_VIEW3="DETREEEXPVIEW3",e.DE_TREE_GRID_EXVIEW="DETREEGRIDEXVIEW",e.DE_TREE_GRID_EXVIEW9="DETREEGRIDEXVIEW9",e.DE_TREE_GRID_VIEW="DETREEGRIDVIEW",e.DE_TREE_GRID_VIEW9="DETREEGRIDVIEW9",e.DE_TREE_VIEW="DETREEVIEW",e.DE_TREE_VIEW9="DETREEVIEW9",e.DE_WF_ACTION_VIEW="DEWFACTIONVIEW",e.DE_WF_DATA_REDIRECT_VIEW="DEWFDATAREDIRECTVIEW",e.DE_WF_DYNA_ACTION_VIEW="DEWFDYNAACTIONVIEW",e.DE_WF_DYNA_EDIT_VIEW="DEWFDYNAEDITVIEW",e.DE_WF_DYNA_EDIT_VIEW3="DEWFDYNAEDITVIEW3",e.DE_WF_DYNA_EXP_GRID_VIEW="DEWFDYNAEXPGRIDVIEW",e.DE_WF_DYNA_START_VIEW="DEWFDYNASTARTVIEW",e.DE_WF_EDIT_PROXY_DATA_VIEW="DEWFEDITPROXYDATAVIEW",e.DE_WF_EDIT_VIEW="DEWFEDITVIEW",e.DE_WF_EDIT_VIEW2="DEWFEDITVIEW2",e.DE_WF_EDIT_VIEW3="DEWFEDITVIEW3",e.DE_WF_EDIT_VIEW9="DEWFEDITVIEW9",e.DE_WF_EXP_VIEW="DEWFEXPVIEW",e.DE_WF_GRID_VIEW="DEWFGRIDVIEW",e.DE_WF_PROXY_DATA_VIEW="DEWFPROXYDATAVIEW",e.DE_WF_PROXY_RESULT_VIEW="DEWFPROXYRESULTVIEW",e.DE_WF_PROXY_START_VIEW="DEWFPROXYSTARTVIEW",e.DE_WF_START_VIEW="DEWFSTARTVIEW",e.DE_WIZARD_VIEW="DEWIZARDVIEW",e))(oe||{})),Ee=e("ViewMode",(e=>(e.ROUTE="ROUTE",e.MODAL="MODAL",e.DRAWER="DRAWER",e.EMBED="EMBED",e.POPOVER="POPOVER",e))(Ee||{})),ce=e("StudioViewEvents",class{});ce.onViewMounted="onMounted",ce.onViewDestroyed="onDestroyed";var he=e("StudioPanelEvents",class{});he.onClick="onClick",he.onChange="onChange",he.onEnter="onEnter",he.onLeave="onLeave";var le=e("StudioControlEvents",class{});le.onBeforeLoad="onBeforeLoad",le.onLoadSuccess="onLoadSuccess",le.onLoadError="onLoadError",le.onBeforeLoadDraft="onBeforeLoadDraft",le.onLoadDraftSuccess="onLoadDraftSuccess",le.onLoadDraftError="onLoadDraftError",le.onBeforeSave="onBeforeSave",le.onSaveSuccess="onSaveSuccess",le.onSaveError="onSaveError",le.onBeforeRemove="onBeforeRemove",le.onRemoveSuccess="onRemoveSuccess",le.onRemoveError="onRemoveError",le.CLICK="onClick";e("SearchFilter",class{constructor(e,t){if(this.page=0,this.size=1e3,this.data={},this.sortField="srfordervalue",this.sortMode="ASC",this.context=e,t){if(d(t.page)||D(t.page)||(this.page=t.page),d(t.size)||D(t.size)||(this.size=t.size),d(t.query)||D(t.query)||(this.query=t.query),!d(t.sort)&&!D(t.sort)){const e=t.sort.split(",");e.length>=1&&([this.sortField]=e),e.length>=2&&(this.sortMode=e[1].toUpperCase())}d(t.srfparentkey)||D(t.srfparentkey)||(this.srfparentkey=t.srfparentkey),d(t.srfparentdename)||D(t.srfparentdename)||(this.srfparentdename=t.srfparentdename),this.data={...t},delete this.data.page,delete this.data.size,delete this.data.query,delete this.data.sort,delete this.data.srfparentkey,delete this.data.srfparentdename}}getValue(e){return this.data[e]?this.data[e]:this.context[e]}});var ue=e("ServicePathUtil",class{constructor(e){this.app=e,this.allDERss=[],this.entityRsMap=new Map,this.entityRsPathMap=new Map}async init(){if(this.allDERss.length>0)return;const e=this.app.appDataEntityList||[];this.allDERss=this.app.appDERSs,e.forEach((e=>{const t=this.allDERss.filter((t=>t.minorDECodeName===e?t:null));t.length>0&&this.entityRsMap.set(e,t)}))}calcPaths(e){if(this.entityRsPathMap.has(e))return this.entityRsPathMap.get(e);const t=this.entityRsMap.get(e);if(t){const s=this.calcDeepPath(t);this.deepFillPath(e,[e],s);const r=this.entityRsPathMap.get(e);if(r){const t=this.sortPath(r);return this.entityRsPathMap.set(e,t),t}}return[[{deName:e,name:e.toLowerCase(),plural:n(e)}]]}calcDeepPath(e,t=0){if(t>10)throw new Error("服务路径计算超过最大层级 10");t+=1;const s=[];return e.forEach((e=>{const r=this.entityRsMap.get(e.majorDECodeName)||[];s.push([e,this.calcDeepPath(r,t)])})),s}deepFillPath(e,t,s){s.forEach((s=>{const[r,i]=s;if(i.length>0)this.deepFillPath(e,[...t,r.majorDECodeName],i);else{this.entityRsPathMap.has(e)||this.entityRsPathMap.set(e,[]);this.entityRsPathMap.get(e).push([...t.map((e=>({deName:e,name:e.toLowerCase(),plural:n(e)}))),{deName:r.majorDECodeName,name:r.majorDECodeName.toLowerCase(),plural:n(r.majorDECodeName)}].reverse())}}))}sortPath(e){return e.sort(((e,t)=>t.length-e.length))}}),de=e("CodeListService",class{constructor(e){this.appModel=e,this.allCodeLists=new Map,this.cache=new Map}async initAllCodeList(){if(0!==this.allCodeLists.size)return null}getStatic(e){const t=e.codeName;if(this.cache.has(t))return this.cache.get(t);const s=e.codeItems;let r=[];return(null==s?void 0:s.length)&&(r=this.formatStaticItems(s,e.codeItemValueNumber)),this.cache.set(t,Object.freeze(r)),r}formatStaticItems(e,t){return e.map((e=>{var s;const r={text:e.text,value:t?Number(e.value):e.value,color:e.color,id:e.codeName};return(null==(s=e.codeItems)?void 0:s.length)&&(r.children=this.formatStaticItems(e.codeItems,t)),Object.freeze(r)}))}async getDynamicCodeList(e,t={},s={}){let r;const i=e.codeName;return this.cache.has(i)?r=this.cache.get(i):(r=new te(e),this.cache.set(i,r),await r.init()),r.get(t,s)}async get(e,t,s){0===this.allCodeLists.size&&await this.initAllCodeList();const r=this.allCodeLists.get(e);if(!r)throw new Error(`找不到${e}代码表`);return"STATIC"===r.codeListType?this.getStatic(r):"DYNAMIC"===r.codeListType?this.getDynamicCodeList(r,t,s):[]}});e("CounterService",class{static async getCounter(e,t,s){const r=e.id;if(this.counterMap.has(r)){const e=this.counterMap.get(r);if(!1===e.isDestroyed)return e;this.counterMap.delete(r)}const i=new K(e);return await i.init(t,s),this.counterMap.set(r,i),i}static async getCounterByRef(e,t,s){return{}}}).counterMap=new Map;var De=e("WorkFlowService",class{constructor(e){this.model=e,this.commonBaseUrl=""}getBaseUrl(){return this.commonBaseUrl}getActiveData(e,t){return t.srfprocessinstanceid&&(e.srfprocessinstanceid=t.srfprocessinstanceid),e}async getWFStep(e){const{processDefinitionKey:t,taskDefinitionKey:s}=e;return this.app.net.get(`${this.getBaseUrl()}/process-definitions/${t}/usertasks/${s}`)}async getWFLink(e,t){const s=e[this.model.codeName],{taskDefinitionKey:r}=e;return this.app.net.post(`${this.getBaseUrl()}/${s}/usertasks/${r}/ways`,{activedata:this.getActiveData(t,e)})}async getWFHistory(e){const t=e[this.model.codeName];return this.app.net.get(`${this.getBaseUrl()}/${t}/process-instances/alls/history`)}async getWFProcessDiagram(e){const t=e[this.model.codeName];return this.app.net.request(`${this.getBaseUrl()}/${t}/process-instances/alls/processdiagram`,{method:"post",data:{},responseType:"blob"})}async getWFVersion(){return this.app.net.get(`${this.getBaseUrl()}/process-definitions2`)}async wfStart(e,t,s){return this.app.net.post(`${this.getBaseUrl()}/${e[this.model.codeName]}/process-instances`,{...t,activedata:this.getActiveData(s,e)})}async wfSubmit(e,t,s){return this.app.net.post(`${this.getBaseUrl()}/${e[this.model.codeName]}/tasks/${t.taskId}`,{...t,activedata:this.getActiveData(s,e)})}async wfWithdraw(e,t,s){return this.app.net.post(`${this.getBaseUrl()}/${e[this.model.codeName]}/tasks/${t.taskId}/withdraw`,{...t,activedata:this.getActiveData(s,e)})}async exec(e,s,r={},i={}){switch(e){case"WFSTART":return this.wfStart(s,r,i);case"WFSUBMIT":return this.wfSubmit(s,r,i);default:throw new t(`「${e}」未实现`)}}}),Ie=(e("EntityService",class{constructor(e,t){this.model=e,this.paths=t,this.methodMap=new Map,this.local=new ie,this.wf=new De(e),this.file=new class{constructor(e,t){this.model=e,this.paths=t}exportData(e,t,s,r){const i=`${ne(s,this.paths)}/${this.model.codeName2}/exportdata/${t.toLowerCase()}/?srfexporttag=${e.codeName}`;return ibiz.net.request(i,{method:"post",data:r,responseType:"blob"})}}(e,t)}getMethod(e){if(this.methodMap.has(e))return this.methodMap.get(e);throw new s(this.model,`未支持的服务方法: ${e}`)}exec(e,s,r={},i={}){const n=this.getMethod(e);if(n)return n.exec(s,r,i);throw new t(`${this.model.codeName}未支持「${e}」方法`)}getPath(e,s,r={},i={}){const n=this.getMethod(e);if(n)return n.exec(s,r,i);throw new t(`${this.model.codeName}未支持「${e}」方法`)}}),e("Srfuf",(e=>(e[e.CREATE=0]="CREATE",e[e.UPDATE=1]="UPDATE",e))(Ie||{}))),pe=e("ControlVO",class{get srfuf(){return d(this.$origin.srfuf)?this.srfkey?1:0:this.$origin.srfuf}constructor(e,t){e&&t&&(Object.defineProperty(this,"$origin",{enumerable:!1,configurable:!0,value:e||{}}),Object.defineProperty(this,"$dataUIMap",{enumerable:!1,configurable:!0,value:t||new Map}),this.$dataUIMap.forEach(((e,t)=>{const s=e.dataKey;this.linkProperty(t,s,e.isOriginField)})),Object.keys(e).forEach((e=>{Object.prototype.hasOwnProperty.call(this,e)||this.linkProperty(e,e)})))}linkProperty(e,t,s=!0){"srfuf"!==e&&(s||Object.prototype.hasOwnProperty.call(this.$origin,e)?Object.defineProperty(this,e,{enumerable:!0,configurable:!0,get(){return this.$origin[t]},set(e){this.$origin[t]=e}}):Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:null}))}getOrigin(){return this.$origin}getRequestData(){const e={...this.$origin};return this.$dataUIMap.forEach((t=>{t.isRequestNeed!==t.isOriginField&&(e[t.dataKey]=this[t.uiKey])})),e}setOrigin(e){this.$origin=e instanceof pe?e.getOrigin():e}mergeOrigin(e){Object.assign(this.$origin,e instanceof pe?e.getOrigin():e)}reactiveInit(){this.$dataUIMap.forEach(((e,t)=>{void 0===this.$origin[t]&&(this.$origin[t]=null)}))}}),_e=class{constructor(e,t,s,r){this.leaf=!1,this.parent=r,this.parent?this.context={...this.parent.context}:this.context={},this.nodeId=e.id}},Ae=(e("TreeDataSetNodeData",class extends _e{constructor(e,t,s,r){super(e,t,s,r);const{data:i}=t;this.deData=i,this.text=i.srfmajortext,this.value=i.srfkey,this.id=r?`${r.id}:${e.id}${i.srfkey}`:e.id+i.srfkey,this.id=this.id.toLowerCase()}}),e("TreeStaticNodeData",class extends _e{constructor(e,t,s,r){var i;if(super(e,t,s,r),this.id=r?`${r.id}:${e.id}`:e.id,this.id=this.id.toLowerCase(),this.text=e.text,r&&s){let e=r;for(let t=1;t<s.parentValueLevel;t++)e=null==e?void 0:e.parent;(null==e?void 0:e.deData)&&(this.deData=e.deData)}this.value=e.nodeValue||(null==(i=this.deData)?void 0:i.value)}}),e("UIMapField",class{constructor(e,t,s={}){this.isOriginField=!1,this.isRequestNeed=!0,this.uiKey=e,this.dataKey=t,d(s.isOriginField)||(this.isOriginField=s.isOriginField),d(s.isRequestNeed)||(this.isRequestNeed=s.isRequestNeed)}}),e("AuthService",class{async v7login(e,t){return await ibiz.net.post("/v7/login",{loginname:e,password:t},{},{})}async v7logout(){return await ibiz.net.get("/v7/logout",{})}})),Pe=e("AuthorityService",class{constructor(e){this.appModel=e,this.isInit=!1,this.resCodes=[],this.enableResValidate=!0,this.rtMenuCodes=[]}async init(e=ibiz.appData){if(!e)throw new t("没有appData数据");e.unires&&(this.resCodes=e.unires),!1===e.enablepermissionvalid&&(this.enableResValidate=!1),e.appmenu&&(this.rtMenuCodes=e.appmenu)}async hasOwnOPPrivs(e,t){const{appModel:s}=this,r=[];return s.deopprivs&&r.push(...s.deopprivs),(null==t?void 0:t.deopprivs)&&r.push(...t.deopprivs),!1}hasMenuPermitted(e){if(!ibiz.env.enablePermission)return!0;switch(ibiz.env.menuPermissionMode){case a.RT:return this.calcMenuPermissionByRT(e);case a.RESOURCE:return this.calcMenuPermissionByResource(e);case a.MIXIN:return this.calcMenuPermissionByResource(e)||this.calcMenuPermissionByRT(e);default:return!0}}calcMenuPermissionByRT(e){return!1}calcMenuPermissionByResource(e){return!this.enableResValidate||!e.accessKey||this.resCodes.includes(e.accessKey)}hasUIActionPermitted(e,t,s){const{dataAccessAction:r}=e;if(r){if(this.enableResValidate&&!this.hasOwnOPPrivs(r,s))return!1;if(t){if(t.srfopprivs&&!t.srfopprivs.includes(r))return!1;if(!this.calcDeMainStatePermission(r,t,s))return!1}}return!0}calcDeMainStatePermission(e,t,s){return!0}}),Te=e("ServiceUtil",class{constructor(e){this.appModel=e,this.cache=new Map,this.allEntities=new Map}async initAllEntities(){this.allEntities.size}async getService(e){return this.cache.get(e)}clearTempCache(e){this.cache.forEach((t=>{t.local.clear(e)}))}}),We=e("Application",class{constructor(e){this.model=e,this.appDataEntityList=[],this.appDERSs=[],this.net=new o({baseURL:`${ibiz.env.baseUrl}/${e.id}`}),this.resourcePathUtil=new ue(this),this.es=new Te(e),this.codeList=new de(e),this.authority=new Pe(e)}get appId(){return this.model.appId}async init(){await this.resourcePathUtil.init(),await this.authority.init()}});e("PluginStaticResource",class{constructor(e){this.styleElementMap=new Map,this.baseDir=e.substring(0,e.lastIndexOf("/"))}dir(e){return this.baseDir+e}async loadStyle(e){const t=e.map((e=>{const t=this.dir(e);return!this.styleElementMap.has(t)&&(this.styleElementMap.set(t,null),new Promise(((e,s)=>{const r=document.createElement("link");r.setAttribute("type","text/css"),r.setAttribute("rel","stylesheet"),r.setAttribute("href",t),r.onload=e,r.onerror=s,document.head.appendChild(r)})))}));await Promise.all(t)}}),e("RemotePluginItem",class{constructor(e,t,s){this.tag=e,this.repo=t,this.config=s}})}}}));
package/out/app-hub.d.ts CHANGED
@@ -71,6 +71,14 @@ export declare class AppHub {
71
71
  * @type {ModelLoaderProvider}
72
72
  */
73
73
  protected modelLoaderProvider?: ModelLoaderProvider;
74
+ /**
75
+ * 默认首页视图名称
76
+ *
77
+ * @author chitanda
78
+ * @date 2023-04-19 20:04:22
79
+ * @type {string}
80
+ */
81
+ defaultAppIndexViewName: string;
74
82
  /**
75
83
  * 注册模型加载适配器
76
84
  *
@@ -1 +1 @@
1
- {"version":3,"file":"app-hub.d.ts","sourceRoot":"","sources":["../src/app-hub.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAE1E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC;;;;;;;GAOG;AACH,qBAAa,MAAM;IACjB;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,UAAiB;IAEjC;;;;;;;OAOG;IACH,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAa;IAEvD;;;;;;;OAOG;IACH,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAa;IAEtD;;;;;;;OAOG;IACH,SAAS,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAa;IAEvD;;;;;;;OAOG;IACH,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAa;IAEnD;;;;;;;OAOG;IACH,SAAS,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAa;IAE7E;;;;;;OAMG;IACH,SAAS,CAAC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAEpD;;;;;;OAMG;IACH,2BAA2B,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAIhE;;;;;;OAMG;IACH,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAItC;;;;;;OAMG;IACH,eAAe,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAItC;;;;;;;OAOG;IACH,qBAAqB,CACnB,KAAK,EAAE,cAAc,EACrB,KAAK,GAAE,MAAuB,GAC7B,IAAI;IAQP;;;;;;;OAOG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,MAAuB,GAAG,IAAI;IAI9D;;;;;;;OAOG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAgBjD;;;;;;;;OAQG;IACG,gBAAgB,CACpB,IAAI,EAAE,MAAM,EACZ,KAAK,GAAE,MAAuB,GAC7B,OAAO,CAAC,cAAc,CAAC;IAiB1B;;;;;;;OAOG;cACa,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAmB3D;;;;;;;OAOG;IACG,WAAW,CAAC,GAAG,GAAE,MAAuB,GAAG,OAAO,CAAC,WAAW,CAAC;IAIrE;;;;;;;OAOG;IACH,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,WAAW;CAajD"}
1
+ {"version":3,"file":"app-hub.d.ts","sourceRoot":"","sources":["../src/app-hub.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAE1E,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAEhC;;;;;;;GAOG;AACH,qBAAa,MAAM;IACjB;;;;;OAKG;IACH,QAAQ,CAAC,OAAO,UAAiB;IAEjC;;;;;;;OAOG;IACH,SAAS,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAa;IAEvD;;;;;;;OAOG;IACH,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAa;IAEtD;;;;;;;OAOG;IACH,SAAS,CAAC,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAa;IAEvD;;;;;;;OAOG;IACH,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAa;IAEnD;;;;;;;OAOG;IACH,SAAS,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAa;IAE7E;;;;;;OAMG;IACH,SAAS,CAAC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;IAEpD;;;;;;OAMG;IACH,uBAAuB,EAAE,MAAM,CAAW;IAE1C;;;;;;OAMG;IACH,2BAA2B,CAAC,QAAQ,EAAE,mBAAmB,GAAG,IAAI;IAIhE;;;;;;OAMG;IACH,WAAW,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAItC;;;;;;OAMG;IACH,eAAe,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAItC;;;;;;;OAOG;IACH,qBAAqB,CACnB,KAAK,EAAE,cAAc,EACrB,KAAK,GAAE,MAAuB,GAC7B,IAAI;IAQP;;;;;;;OAOG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,GAAE,MAAuB,GAAG,IAAI;IAI9D;;;;;;;OAOG;IACG,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAgBjD;;;;;;;;OAQG;IACG,gBAAgB,CACpB,IAAI,EAAE,MAAM,EACZ,KAAK,GAAE,MAAuB,GAC7B,OAAO,CAAC,cAAc,CAAC;IAkB1B;;;;;;;OAOG;cACa,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IAmB3D;;;;;;;OAOG;IACG,WAAW,CAAC,GAAG,GAAE,MAAuB,GAAG,OAAO,CAAC,WAAW,CAAC;IAIrE;;;;;;;OAOG;IACH,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,YAAY,GAAG,WAAW;CAajD"}
package/out/app-hub.js CHANGED
@@ -63,6 +63,14 @@ export class AppHub {
63
63
  * @type {Map<string, Map<string, IAppDataEntity>>}
64
64
  */
65
65
  this.dataEntities = new Map();
66
+ /**
67
+ * 默认首页视图名称
68
+ *
69
+ * @author chitanda
70
+ * @date 2023-04-19 20:04:22
71
+ * @type {string}
72
+ */
73
+ this.defaultAppIndexViewName = 'Index';
66
74
  }
67
75
  /**
68
76
  * 注册模型加载适配器
@@ -130,7 +138,7 @@ export class AppHub {
130
138
  */
131
139
  async getAppView(name) {
132
140
  const appId = this.view2appMap.get(name) || ibiz.env.appId;
133
- if (this.appMap.has(appId)) {
141
+ if (!this.appMap.has(appId)) {
134
142
  await this.createApp(appId);
135
143
  }
136
144
  if (this.views.has(name)) {
@@ -162,6 +170,7 @@ export class AppHub {
162
170
  if (this.modelLoaderProvider) {
163
171
  const entity = await this.modelLoaderProvider.getAppDataEntity(appId, name);
164
172
  this.registerAppDataEntity(entity, appId);
173
+ return entity;
165
174
  }
166
175
  throw new RuntimeError(`未找到应用实体[${name}]`);
167
176
  }
@@ -10,7 +10,16 @@ import { AuthorityService, CodeListService, ServicePathUtil, ServiceUtil } from
10
10
  * @class Application
11
11
  */
12
12
  export declare class Application {
13
- readonly appModel: IApplication;
13
+ readonly model: IApplication;
14
+ /**
15
+ * 当前应用标识
16
+ *
17
+ * @author chitanda
18
+ * @date 2023-04-19 22:04:55
19
+ * @readonly
20
+ * @type {string}
21
+ */
22
+ get appId(): string;
14
23
  /**
15
24
  * 应用请求服务
16
25
  *
@@ -71,9 +80,9 @@ export declare class Application {
71
80
  *
72
81
  * @author chitanda
73
82
  * @date 2022-12-22 15:12:26
74
- * @param {IApplication} appModel
83
+ * @param {IApplication} model
75
84
  */
76
- constructor(appModel: IApplication);
85
+ constructor(model: IApplication);
77
86
  /**
78
87
  * 初始化应用
79
88
  *
@@ -1 +1 @@
1
- {"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,WAAW,EACZ,MAAM,WAAW,CAAC;AAEnB;;;;;;;GAOG;AACH,qBAAa,WAAW;aAsEM,QAAQ,EAAE,YAAY;IArElD;;;;;;OAMG;IACH,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAElB;;;;;;OAMG;IACH,QAAQ,CAAC,gBAAgB,EAAE,eAAe,CAAC;IAE3C;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,EAAE,WAAW,CAAC;IAEzB;;;;;;OAMG;IACH,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IAEnC;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IAErC;;;;;;OAMG;IACH,QAAQ,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAM;IAE1C;;;;;;OAMG;IACH,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAM;IAEnC;;;;;;OAMG;gBACyB,QAAQ,EAAE,YAAY;IAUlD;;;;;;OAMG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAI5B"}
1
+ {"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,WAAW,EACZ,MAAM,WAAW,CAAC;AAEnB;;;;;;;GAOG;AACH,qBAAa,WAAW;aAkFM,KAAK,EAAE,YAAY;IAjF/C;;;;;;;OAOG;IACH,IAAI,KAAK,IAAI,MAAM,CAElB;IAED;;;;;;OAMG;IACH,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC;IAElB;;;;;;OAMG;IACH,QAAQ,CAAC,gBAAgB,EAAE,eAAe,CAAC;IAE3C;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,EAAE,WAAW,CAAC;IAEzB;;;;;;OAMG;IACH,QAAQ,CAAC,QAAQ,EAAE,eAAe,CAAC;IAEnC;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,EAAE,gBAAgB,CAAC;IAErC;;;;;;OAMG;IACH,QAAQ,CAAC,iBAAiB,EAAE,MAAM,EAAE,CAAM;IAE1C;;;;;;OAMG;IACH,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAM;IAEnC;;;;;;OAMG;gBACyB,KAAK,EAAE,YAAY;IAU/C;;;;;;OAMG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;CAI5B"}
@@ -9,15 +9,26 @@ import { AuthorityService, CodeListService, ServicePathUtil, ServiceUtil, } from
9
9
  * @class Application
10
10
  */
11
11
  export class Application {
12
+ /**
13
+ * 当前应用标识
14
+ *
15
+ * @author chitanda
16
+ * @date 2023-04-19 22:04:55
17
+ * @readonly
18
+ * @type {string}
19
+ */
20
+ get appId() {
21
+ return this.model.appId;
22
+ }
12
23
  /**
13
24
  * Creates an instance of Application.
14
25
  *
15
26
  * @author chitanda
16
27
  * @date 2022-12-22 15:12:26
17
- * @param {IApplication} appModel
28
+ * @param {IApplication} model
18
29
  */
19
- constructor(appModel) {
20
- this.appModel = appModel;
30
+ constructor(model) {
31
+ this.model = model;
21
32
  /**
22
33
  * 应用实体清单, 存储应用实体的代码标识
23
34
  *
@@ -35,12 +46,12 @@ export class Application {
35
46
  */
36
47
  this.appDERSs = [];
37
48
  this.net = new Net({
38
- baseURL: `${ibiz.env.baseUrl}/${appModel.id}`,
49
+ baseURL: `${ibiz.env.baseUrl}/${model.id}`,
39
50
  });
40
51
  this.resourcePathUtil = new ServicePathUtil(this);
41
- this.es = new ServiceUtil(appModel);
42
- this.codeList = new CodeListService(appModel);
43
- this.authority = new AuthorityService(appModel);
52
+ this.es = new ServiceUtil(model);
53
+ this.codeList = new CodeListService(model);
54
+ this.authority = new AuthorityService(model);
44
55
  }
45
56
  /**
46
57
  * 初始化应用
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ibiz-template/runtime",
3
- "version": "0.0.4-beta.1",
3
+ "version": "0.0.4-beta.2",
4
4
  "description": "控制器包",
5
5
  "type": "module",
6
6
  "main": "out/index.js",
@@ -17,7 +17,7 @@
17
17
  ],
18
18
  "scripts": {
19
19
  "dev": "tsc --watch",
20
- "build": "npm run lint && node scripts/build.js && tsc --build",
20
+ "build": "npm run lint && node scripts/build.js && npm run build:rollup && tsc --build",
21
21
  "build:rollup": "rollup -c",
22
22
  "lint": "eslint 'src/**/*.ts'",
23
23
  "lint:fix": "eslint --fix 'src/**/*.ts'",
@@ -28,8 +28,8 @@
28
28
  "author": "chitanda",
29
29
  "license": "MIT",
30
30
  "devDependencies": {
31
- "@ibiz-template/core": "^0.0.4-beta.1",
32
- "@ibiz/model-core": "^0.0.2",
31
+ "@ibiz-template/core": "^0.0.4-beta.2",
32
+ "@ibiz/model-core": "^0.0.3",
33
33
  "@types/qs": "^6.9.7",
34
34
  "async-validator": "^4.2.5",
35
35
  "dayjs": "^1.11.7",
@@ -39,14 +39,14 @@
39
39
  "ramda": "^0.29.0"
40
40
  },
41
41
  "peerDependencies": {
42
- "@ibiz-template/core": "^0.0.3-beta.5",
43
- "@ibiz/model-core": "^0.0.2",
42
+ "@ibiz-template/core": "workspace:^0.0.4-beta.1",
43
+ "@ibiz/model-core": "^0.0.3",
44
44
  "async-validator": "^4.2.5",
45
45
  "dayjs": "^1.11.7",
46
46
  "lodash-es": "^4.17.21",
47
47
  "qs": "^6.11.0",
48
48
  "qx-util": "^0.4.8",
49
- "ramda": "^0.28.0"
49
+ "ramda": "^0.29.0"
50
50
  },
51
- "gitHead": "2a299785cb6ccc9b25353e77d40d864d94c0c496"
51
+ "gitHead": "a73f681e207d0807797308452cf2e1946e973457"
52
52
  }
package/src/app-hub.ts CHANGED
@@ -80,6 +80,15 @@ export class AppHub {
80
80
  */
81
81
  protected modelLoaderProvider?: ModelLoaderProvider;
82
82
 
83
+ /**
84
+ * 默认首页视图名称
85
+ *
86
+ * @author chitanda
87
+ * @date 2023-04-19 20:04:22
88
+ * @type {string}
89
+ */
90
+ defaultAppIndexViewName: string = 'Index';
91
+
83
92
  /**
84
93
  * 注册模型加载适配器
85
94
  *
@@ -154,8 +163,8 @@ export class AppHub {
154
163
  */
155
164
  async getAppView(name: string): Promise<IAppView> {
156
165
  const appId = this.view2appMap.get(name) || ibiz.env.appId;
157
- if (this.appMap.has(appId)) {
158
- await this.createApp(appId!);
166
+ if (!this.appMap.has(appId)) {
167
+ await this.createApp(appId);
159
168
  }
160
169
  if (this.views.has(name)) {
161
170
  return this.views.get(name)!;
@@ -193,6 +202,7 @@ export class AppHub {
193
202
  name,
194
203
  );
195
204
  this.registerAppDataEntity(entity, appId);
205
+ return entity;
196
206
  }
197
207
  throw new RuntimeError(`未找到应用实体[${name}]`);
198
208
  }
@@ -16,6 +16,18 @@ import {
16
16
  * @class Application
17
17
  */
18
18
  export class Application {
19
+ /**
20
+ * 当前应用标识
21
+ *
22
+ * @author chitanda
23
+ * @date 2023-04-19 22:04:55
24
+ * @readonly
25
+ * @type {string}
26
+ */
27
+ get appId(): string {
28
+ return this.model.appId!;
29
+ }
30
+
19
31
  /**
20
32
  * 应用请求服务
21
33
  *
@@ -83,16 +95,16 @@ export class Application {
83
95
  *
84
96
  * @author chitanda
85
97
  * @date 2022-12-22 15:12:26
86
- * @param {IApplication} appModel
98
+ * @param {IApplication} model
87
99
  */
88
- constructor(public readonly appModel: IApplication) {
100
+ constructor(public readonly model: IApplication) {
89
101
  this.net = new Net({
90
- baseURL: `${ibiz.env.baseUrl}/${appModel.id}`,
102
+ baseURL: `${ibiz.env.baseUrl}/${model.id}`,
91
103
  });
92
104
  this.resourcePathUtil = new ServicePathUtil(this);
93
- this.es = new ServiceUtil(appModel);
94
- this.codeList = new CodeListService(appModel);
95
- this.authority = new AuthorityService(appModel);
105
+ this.es = new ServiceUtil(model);
106
+ this.codeList = new CodeListService(model);
107
+ this.authority = new AuthorityService(model);
96
108
  }
97
109
 
98
110
  /**
package/dist/index.umd.js DELETED
@@ -1 +0,0 @@
1
- var z=class{constructor(){this.enableDataInfoBar=!0;this.defaultCodeListCacheTimeout=36e5;this.gridEditShowMode="cell";this.gridEditSaveMode="cell-blur";this.defaultTimerLogicInterval=6e4}};import{RuntimeError as Ut}from"@ibiz-template/core";var Y=class{constructor(){this.providers=new Map}register(t,e){this.providers.set(t,e)}unRegister(t){this.providers.delete(t)}getByKey(t){return this.providers.get(t)}};var j=class extends Y{async get(t){let{uiactionTag:e}=t,r=t.uiactionMode;if(r==="SYS"){let o=`${r}_${e}`;if(this.providers.has(o))return this.providers.get(o);throw new Ut(`\u627E\u4E0D\u5230\u7CFB\u7EDF\u9884\u7F6E\u754C\u9762\u884C\u4E3A${e}\u5BF9\u5E94\u7684\u9002\u914D\u5668`)}else{if(this.providers.has(r))return this.providers.get(r);throw new Ut(`\u627E\u4E0D\u754C\u9762\u884C\u4E3A\u6A21\u5F0F${r}\u5BF9\u5E94\u7684\u9002\u914D\u5668`)}}};var Q=class{constructor(){this.uiAction=new j}};var Pt=class{constructor(){ibiz.commands.register(Pt.TAG,this.exec.bind(this))}async exec(t,e,r={},o={}){let i=t.navigateContexts;i&&Object.assign(e,i);let a=t.navigateParams;switch(a&&Object.assign(r,a),t.appFuncType){case"APPVIEW":return this.openAppView(t,e,r,o);case"OPENHTMLPAGE":return this.openHtmlPage(t);case"PDTAPPFUNC":return this.openPdAppFunc(t,e,r);case"JAVASCRIPT":return this.executeJavaScript(t,e,r);case"CUSTOM":return this.custom(t,e,r);default:throw new Error(`\u672A\u77E5\u7684\u5E94\u7528\u529F\u80FD\u7C7B\u578B: ${t.appFuncType}`)}}async openAppView(t,e,r,o){}openHtmlPage(t){let e=t.htmlPageUrl;window.open(e,"_blank")}openPdAppFunc(t,e,r){throw ibiz.log.warn("openPdAppFunc",t,e,r),new Error("\u672A\u5B9E\u73B0")}executeJavaScript(t,e,r){throw ibiz.log.warn("executeJavaScript",t,e,r),new Error("\u672A\u5B9E\u73B0")}custom(t,e,r){throw ibiz.log.warn("custom",t,e,r),new Error("\u672A\u5B9E\u73B0")}},L=Pt;L.TAG="ibiz.app-func.exec";import{isEmpty as Ee}from"lodash-es";import{isNilOrEmpty as Ie,notNilEmpty as wt}from"qx-util";function W(s,...t){return!s||Ee(s)?{}:Object.prototype.toString.call(s)==="[object Array]"?ce(s,...t):Object.prototype.toString.call(s)==="[object Object]"?pe(s,...t):{}}function ce(s,...t){let e={};for(let r of s)if(wt(r.value)&&!r.rawValue){let o=t.find(i=>Ie(i)?!1:i[r.value]||Object.prototype.hasOwnProperty.call(i,r.value));o&&(e[r.key.toLowerCase()]=o[r.value])}else e[r.key.toLowerCase()]=r.value||null;return e}function pe(s,...t){let e={},r=/^%(.+)%$/;for(let o in s)if(wt(s[o])&&r.test(s[o])){let i=s[o].substring(1,s[o].length-1),a=t.find(E=>Object.prototype.hasOwnProperty.call(E,i));a&&(e[o.toLowerCase()]=a[i])}else e[o.toLowerCase()]=s[o]||null;return e}function le(s,t){let{deName:e,navFilter:r,pickupDEFName:o,navContexts:i,navParams:a}=s,{context:E,params:I,datum:c,derValue:l}=t,f={},_={},R=l||c[e];R&&(e&&(f[e]=R),r&&(_[r]=R),o&&(_[`n_${o}_eq`]=R));let ut=W(i,E,I,c),K=W(a,E,I,c);return Object.assign(f,ut),Object.assign(_,K),{resultContext:f,resultParams:_}}var Ft=class{static async exec(t,e,r,o,i){return(await(await ibiz.register.uiAction.get(t)).getHandler()).exec(t,e,r||[],o,i)}};var d=class{async exec(t,e,r,o,i){let a={refresh:t.reloadData,closeView:t.closeEditView};if(!await this.isConfirm(t))return this.returnError(a);let E=await this.execAction(t,e,r,o,i);if(Object.assign(a,E),a.cancel===!0)return this.returnError(a);let I=await this.doNextAction(t,a.nextContext||e,a.data||r,a.nextParams||o,i);return I&&(Object.assign(a,I),I.cancel===!0)?this.returnError(a):a}returnError(t){return Object.assign(t,{refresh:!1,closeView:!1})}async isConfirm(t){return t.enableConfirm&&t.confirmMsg?ibiz.modal.confirm({title:t.confirmMsg}):!0}async doNextAction(t,e,r,o,i){}async handleParams(t,e,r,o){let i=[];if(["MULTIDATA","MULTIKEY"].indexOf(t.actionTarget)!==-1)throw new Error(`\u6570\u636E\u7C7B\u578B${t.actionTarget}\u6682\u672A\u652F\u6301,\u8BF7\u914D\u7F6E\u65E0\u6570\u636E\u6216\u5355\u9879\u6570\u636E\u4E3B\u952E`);let a="",E=r[0]||{},I=E.srfkey||E[a||""];switch(t.actionTarget){case"NONE":i=[];break;case"SINGLEDATA":i=[r[0]];break;case"MULTIDATA":i=r;break;case"SINGLEKEY":i=a?[{[a]:I}]:[];break;default:break}let c=e.clone(),l=t.navigateContexts||[];if(a&&["SINGLEKEY","SINGLEDATA"].includes(t.actionTarget)){let{valueItem:K,paramItem:se}=t,ne=se||a,ae=K?E[K]:I;c[ne]=ae}let f=(i==null?void 0:i[0])||{},_=W(l,e,o,f);Object.assign(c,_);let R=t.navigateParams,ut=W(R,e,o,f);return{resultContext:c,resultData:i,resultParams:ut}}};var q=class extends d{async execAction(t,e,r,o,i){let{neuron:a,event:E,view:I}=i,c=t.uiactionTag,l={};if(c==="New"){if(!I.newData)throw new Error("\u8BE5\u89C6\u56FE\u4E0D\u5B58\u5728newData\u80FD\u529B");await I.newData(E)}if(c==="Edit"){if(!I.openData)throw new Error("\u8BE5\u89C6\u56FE\u4E0D\u5B58\u5728openData\u80FD\u529B");await I.openData(r==null?void 0:r[0],E)}if(["SaveAndExit","Save","SaveRow"].indexOf(c)!==-1){if(!a.save)throw new Error("\u8BE5\u89C6\u56FE\u4E0D\u5B58\u5728save\u80FD\u529B");await a.save()}if(c==="SaveAndNew"){if(!a.saveAndNew)throw new Error("\u8BE5\u89C6\u56FE\u4E0D\u5B58\u5728saveAndNew\u80FD\u529B");await a.saveAndNew()}if(c==="Remove"||c==="RemoveAndExit"){if(!a.remove)throw new Error("\u8BE5\u89C6\u56FE\u4E0D\u5B58\u5728remove\u80FD\u529B");await a.remove()}if(c==="NewRow"){if(!a.newRow)throw new Error("\u8BE5\u89C6\u56FE\u4E0D\u5B58\u5728newRow\u80FD\u529B");await a.newRow()}if(c==="ToggleFilter"){if(!a.toggleFilter)throw new Error("\u8BE5\u89C6\u56FE\u4E0D\u5B58\u5728ToggleFilter\u80FD\u529B");a.toggleFilter()}if(c==="Import"){if(!a.importData)throw new Error("\u8BE5\u89C6\u56FE\u4E0D\u5B58\u5728Import\u80FD\u529B");a.importData()}if(c==="ExportExcel"){if(!a.exportData)throw new Error("\u8BE5\u89C6\u56FE\u4E0D\u5B58\u5728ExportExcel\u80FD\u529B");a.exportData(E)}if(c==="SaveAndStart"){if(!a.wfStart)throw new Error("\u8BE5\u89C6\u56FE\u4E0D\u5B58\u5728SaveAndStart\u80FD\u529B");await a.wfStart()}if(c==="ViewWFStep"){if(!a.wfSubmit)throw new Error("\u8BE5\u89C6\u56FE\u4E0D\u5B58\u5728ViewWFStep\u80FD\u529B");await a.wfSubmit()}return["SaveAndExit","Exit","RemoveAndExit"].indexOf(c)!==-1&&(l.closeView=!0),["Refresh"].indexOf(c)!==-1&&(l.refresh=!0),l}};var Z=class extends d{async openSelectView(t,e,r,o){}async execAction(t,e,r,o,i){return{}}};var J=class extends d{async execAction(t,e,r,o,i){return{}}};var tt=class extends d{async execAction(t,e,r,o,i){let a=await ibiz.modal.confirm({title:"\u63D0\u793A",desc:"\u662F\u5426\u786E\u8BA4\u6267\u884C\u64A4\u56DE\u64CD\u4F5C\uFF1F"}),E=!1;return a&&(i!=null&&i.neuron)&&(await i.neuron.wfWithdraw(e,o,(r==null?void 0:r[0])||[]),E=!0),{refresh:!1,closeView:E}}};import{ModelError as me}from"@ibiz-template/core";async function At(s,t,e={},r=[]){throw new me(s,`\u672A\u652F\u6301\u7684\u91CD\u5B9A\u5411\u89C6\u56FE\u7C7B\u578B: ${s.viewType}`)}async function De(s,t){}import{RuntimeError as gt}from"@ibiz-template/core";import{isNilOrEmpty as fe,notNilEmpty as de}from"qx-util";import{isNil as ue}from"ramda";function O(s,t,e){if(Object.is(t,"IN"))return rt(s,e);if(Object.is(t,"NOTIN"))return!rt(s,e);switch(t){case"EQ":return`${s}`==`${e}`;case"NOTEQ":return`${s}`!=`${e}`;case"LT":return et(s,e)<0;case"LTANDEQ":return et(s,e)<=0;case"GT":return et(s,e)>0;case"GTANDEQ":return et(s,e)>=0;case"ISNULL":return fe(s);case"ISNOTNULL":return de(s);case"TESTNULL":return ue(s);case"IN":return rt(s,e);case"NOTIN":return!rt(s,e);case"LIKE":return ht(s,e);case"LEFTLIKE":return ht(s,e,"start");case"RIGHTLIKE":return ht(s,e,"end");default:throw new gt(`\u503C\u64CD\u4F5C\uFF1A${t}\uFF0C\u6682\u672A\u652F\u6301`)}}function et(s,t){let e=Number(s),r=Number(t);if(!Number.isNaN(e)&&!Number.isNaN(r))return yt(e,r);let o=new Date(s).getTime(),i=new Date(t).getTime();if(!Number.isNaN(o)&&!Number.isNaN(i))return yt(o,i);throw new gt(`${s} \u548C ${t} \u65E0\u6CD5\u6BD4\u8F83\u5927\u5C0F`)}function yt(s,t){return Number.isNaN(s)&&(s=0),Number.isNaN(t)&&(t=0),s>t?1:s<t?-1:0}function rt(s,t){if(!t||typeof t!="string")throw new gt("\u8303\u56F4\u6BD4\u8F83\u7684\u6761\u4EF6\u503C\u4E0D\u5B58\u6216\u8005\u4E0D\u662F\u5B57\u7B26\u4E32");return s?t.split(",").includes(`${s}`):!1}function ht(s,t,e){if(!s||!t)return!1;let r=`${s}`.toUpperCase(),o=`${t}`.toUpperCase(),i=r.indexOf(o);switch(e){case"start":return i===0;case"end":return i+o.length===r.length;default:return i!==-1}}import{isNilOrEmpty as h}from"qx-util";import{isEmpty as Pe,isNil as Ae}from"ramda";function he(s){return s.condType==="GROUP"}function ge(s){return s.condType==="SIMPLE"}function _e(s){return s.condType==="VALUERANGE2"}function Re(s){return s.condType==="REGEX"}function We(s){return s.condType==="STRINGLENGTH"}function Oe(s){return s.condType==="SYSVALUERULE"}function Me(s,t,e){let r={isPast:!0,infoMessage:e.ruleInfo};if(he(e)){let o=[];o&&o.length>0&&(r.isPast=Ce(o,i=>{let{isPast:a,infoMessage:E}=Me(s,t,i);return r.infoMessage=E,a},e.condOp,!!e.notMode),!r.isPast&&(e.condOp==="AND"&&e.notMode||e.condOp==="OR"&&!e.notMode)&&(r.infoMessage=e.ruleInfo))}else{s=e==null?void 0:e.defname.toLowerCase();try{if(ge(e))r.isPast=!Ne(t[s],e.condOp,e.paramValue,e.ruleInfo,e.paramType,t,e.keyCond);else if(_e(e))r.isPast=!xe(t[s],e.minValue,e.includeMinValue,e.maxValue,e.includeMaxValue,e.ruleInfo,e.keyCond);else if(Re(e))r.isPast=!_t(t[s],e.regExCode,e.ruleInfo,e.keyCond);else if(We(e))r.isPast=!Te(t[s],e.minValue,e.includeMinValue,e.maxValue,e.includeMaxValue,e.ruleInfo,e.keyCond);else if(Oe(e)&&(e!=null&&e.sysValueRule)){let{ruleType:o,regExCode:i,scriptCode:a,ruleInfo:E}=e.sysValueRule;if(r.infoMessage=e.ruleInfo||E,o==="REG")r.isPast=!_t(t[s],i,r.infoMessage,e.keyCond);else if(o==="SCRIPT"){let{isPast:I,infoMessage:c}=Se(t[s],t,a,r.infoMessage,e.keyCond);r.isPast=I,r.infoMessage=c||r.infoMessage}}}catch(o){r.isPast=!1}r.isPast=e.notMode?!r.isPast:r.isPast}return r}function Ce(s,t,e="AND",r=!1){if(!((s==null?void 0:s.length)>0))return!1;let o=e==="AND";for(let i=0,a=s.length;i<a;i++){let E=t(s[i],i);if(e==="AND"){if(!E){o=!1;break}}else if(e==="OR"&&E){o=!0;break}}return r?!o:o}function Ne(s,t,e,r,o,i,a){Object.is(o,"CURTIME")&&(e=`${new Date}`),Object.is(o,"ENTITYFIELD")&&(e=e?e.toLowerCase():"",e=i[e]?i[e]:e),(Ae(r)||Pe(r))&&(r="\u5185\u5BB9\u5FC5\u987B\u7B26\u5408\u503C\u89C4\u5219");let E=O(s,t,e);if(!E&&a)throw new Error(r);return!E}function Te(s,t,e,r,o,i,a){if(h(i)&&(i="\u5185\u5BB9\u957F\u5EA6\u5FC5\u987B\u7B26\u5408\u8303\u56F4\u89C4\u5219"),h(s)){if(a)throw new Error("\u503C\u4E3A\u7A7A");return i="\u503C\u4E3A\u7A7A",!0}let I=s.length;if(t!==null){if(e){if(I<t){if(a)throw new Error(i);return!0}}else if(I<=t){if(a)throw new Error(i);return!0}}if(r!==null){if(o){if(I>r){if(a)throw new Error(i);return!0}}else if(I>=r){if(a)throw new Error(i);return!0}}return i="",!1}function _t(s,t,e,r){if(h(e)&&(e="\u503C\u5FC5\u987B\u7B26\u5408\u6B63\u5219\u89C4\u5219"),h(s)){if(r)throw new Error("\u503C\u4E3A\u7A7A");return e="\u503C\u4E3A\u7A7A",!0}if(!new RegExp(t).test(s)){if(r)throw new Error(e);return!0}return e="",!1}function xe(s,t,e,r,o,i,a){if(h(i)&&(i="\u503C\u5FC5\u987B\u7B26\u5408\u503C\u8303\u56F4\u89C4\u5219"),h(s)){if(a)throw new Error("\u503C\u4E3A\u7A7A");return i="\u503C\u4E3A\u7A7A",!0}if(_t(s,/^-?\d*\.?\d+$/,"",a))return!0;let c=Number.parseFloat(s);if(t!==null){if(e){if(c<t){if(a)throw new Error(i);return!0}}else if(c<=t){if(a)throw new Error(i);return!0}}if(r!=null){if(o){if(c>r){if(a)throw new Error(i);return!0}}else if(c>=r){if(a)throw new Error(i);return!0}}return i="",!1}function Se(s,t,e,r,o){h(r)&&(r="\u503C\u5FC5\u987B\u7B26\u5408\u811A\u672C\u89C4\u5219");let i=t,a="",E=!0,I=c=>{E=!1,(c==null?void 0:c.length)>0?c.forEach(l=>{l!=null&&l.message&&(a+=l.message)}):c!=null&&c.message&&(a=c.message)};try{let l=new Function("value","data",e)(s,i);typeof l=="boolean"&&(E=l)}catch(c){ibiz.log.error(c),I(c)}if(r="",!E&&o)throw new Error(r);return{isPast:E,infoMessage:a||r}}import{ModelError as Le,RuntimeModelError as Ve}from"@ibiz-template/core";function ve(s){return s.logicType==="GROUP"}function Be(s){return s.logicType==="SINGLE"}function Gt(s,t){if(ve(t)){let e=t.defdlogics;if(!e||e.length===0)throw new Ve(t,"\u53D1\u73B0\u7A7A\u903B\u8F91\u7EC4\uFF0C\u903B\u8F91\u65E0\u6CD5\u6B63\u5E38\u6267\u884C\uFF01");let r=!0;return t.groupOP==="AND"?r=e.find(i=>!Gt(s,i))===void 0:t.groupOP==="OR"&&(r=t.defdlogics.find(i=>Gt(s,i))!==void 0),t.notMode?!r:r}if(Be(t))return O(s[t.defdname.toLowerCase()],t.condOP,t.value);throw new Le(t,`\u672A\u652F\u6301\u7684\u903B\u8F91\u7C7B\u578B${t.logicType}`)}import{ModelError as be,RuntimeModelError as Ue}from"@ibiz-template/core";function we(s){return s.logicType==="GROUP"}function Fe(s){return s.logicType==="SINGLE"}function kt(s,t){if(we(t)){let e=t.panelItemLogics;if(!e||e.length===0)throw new Ue(t,"\u53D1\u73B0\u7A7A\u903B\u8F91\u7EC4\uFF0C\u903B\u8F91\u65E0\u6CD5\u6B63\u5E38\u6267\u884C\uFF01");let r=!0;return t.groupOP==="AND"?r=e.find(i=>!kt(s,i))===void 0:t.groupOP==="OR"&&(r=t.panelItemLogics.find(i=>kt(s,i))!==void 0),t.notMode?!r:r}if(Fe(t))return O(s[t.dstModelField.toLowerCase()],t.condOp,t.value);throw new be(t,`\u672A\u652F\u6301\u7684\u903B\u8F91\u7C7B\u578B${t.logicType}`)}function to(s){let t={};return s.param09&&(t.srfprocessinstanceid=s.param09),t}var Rt=class{constructor(){ibiz.commands.register(Rt.TAG,this.exec.bind(this))}async exec(t,e,r={},o={}){if(t.redirectView)return At(t,e,r,o.data);let{openMode:i="INDEXVIEWTAB"}=t;switch(i){case"INDEXVIEWTAB":return this.openIndexViewTab(t,e,r);case"POPUP":throw new Error("\u672A\u652F\u6301\u7684\u89C6\u56FE\u6253\u5F00\u6A21\u5F0F: POPUP");case"POPUPMODAL":return this.openModal(t,e,r);case"POPUPAPP":throw new Error("\u672A\u652F\u6301\u7684\u89C6\u56FE\u6253\u5F00\u6A21\u5F0F: POPUPAPP");case"POPOVER":return this.openPopover(t,o.event,e,r);case"DRAWER_LEFT":case"DRAWER_RIGHT":case"DRAWER_TOP":case"DRAWER_BOTTOM":return this.openDrawer(t,e,r);case"USER":return this.openUserCustom(t,e,r);default:return this.openIndexViewTab(t,e,r)}}openIndexViewTab(t,e,r={}){return ibiz.openView.root(t,e,r)}async openModal(t,e,r={}){return ibiz.openView.modal(t,e,r)}async openPopover(t,e,r,o={}){return ibiz.openView.popover(t,e,r,o)}async openDrawer(t,e,r={}){return ibiz.openView.drawer(t,e,r)}async openUserCustom(t,e,r={}){return ibiz.openView.custom(t,e,r)}},V=Rt;V.TAG="ibiz.app-view.open";function Xt(){new L,new V}var ot=class{async getHandler(){return this.handler||(this.handler=new Z),this.handler}};var m=class{async getHandler(){return this.handler||(this.handler=new q),this.handler}};var it=class{async getHandler(){return this.handler||(this.handler=new J),this.handler}};var st=class{async getHandler(){return this.handler||(this.handler=new tt),this.handler}};function Ht(){let{uiAction:s}=ibiz.register;s&&(s.register("FRONT",new it),s.register("BACKEND",new ot),s.register("SYS_New",new m),s.register("SYS_Edit",new m),s.register("SYS_Save",new m),s.register("SYS_SaveAndExit",new m),s.register("SYS_SaveRow",new m),s.register("SYS_SaveAndNew",new m),s.register("SYS_Remove",new m),s.register("SYS_RemoveAndExit",new m),s.register("SYS_NewRow",new m),s.register("SYS_SaveAndStart",new m),s.register("SYS_ViewWFStep",new m),s.register("SYS_ToggleFilter",new m),s.register("SYS_Exit",new m),s.register("SYS_Refresh",new m),s.register("SYS_Import",new m),s.register("SYS_ExportExcel",new m),s.register("DEUIACTION_WFWithdraw",new st))}import{IBizContext as ye}from"@ibiz-template/core";import{notNilEmpty as Ge,QXEvent as ke}from"qx-util";import{clone as $t}from"ramda";var v=class{constructor(t){this.model=t;this.destroyed=!1;this.context=ye.create();this.params={};this.evt=new ke;this.data={}}get isDestroyed(){return this.destroyed}async init(t,e){}setParams(t,e){t&&(this.context=$t(t)),e&&(this.params=$t(e))}interval(){this.destroyInterval(),this.intervalTimer=setInterval(()=>{this.evt.getSize("change")>0&&this.load()},this.model.timer||6e3)}destroyInterval(){this.intervalTimer&&(clearInterval(this.intervalTimer),this.intervalTimer=null)}async load(){let t=await this.service.exec(this.action,this.context,this.params);return t.ok&&(this.data=t.data,this.evt.emit("change",this.data)),this.data}refresh(t,e){return this.setParams(t,e),this.load()}onChange(t,e=!0){this.evt.on("change",t),e&&Ge(this.data)&&t(this.data)}offChange(t){this.evt.off("change",t)}getCounter(t){return this.data[t.toLowerCase()]||0}destroy(){this.destroyed=!0,this.context.destroy(),this.destroyInterval(),this.evt.reset()}};import{isEmpty as It}from"ramda";var nt=class{constructor(){this.psModelGroupCondBase=null}parse(t){if(t instanceof Array){let e=this.createPSModelGroupCond();e.parse(t),this.psModelGroupCondBase=e}}testSingleCond(t,e,r){try{if("ISNULL"===t)return e==null;if("ISNOTNULL"===t)return e!=null;if("EQ"===t||"ABSEQ"===t||"GT"===t||"GTANDEQ"===t||"LT"===t||"LTANDEQ"===t||"NOTEQ"===t){let o=-1;if(e==r?o=0:e>r&&(o=1),"EQ"===t||"ABSEQ"===t)return o===0;if("GT"===t)return o>0;if("GTANDEQ"===t)return o>=0;if("LT"===t)return o<0;if("LTANDEQ"===t)return o<=0;if("NOTEQ"===t)return o!==0}if("LIKE"===t)return e!=null&&r!=null?e.toString().toUpperCase().indexOf(r.toString().toUpperCase())!==-1:!1;if("LEFTLIKE"===t)return e!=null&&r!=null?e.toString().toUpperCase().indexOf(r.toString().toUpperCase())===0:!1}catch(o){ibiz.log.error(o)}return!1}getPSModelGroupCondBase(){return this.psModelGroupCondBase}};var M=class{constructor(){this.strCondOp=null}getCondOp(){return this.strCondOp}setCondOp(t){this.strCondOp=t}};var P=class extends M{parse(e){let r=e.length,o=!0,i=!1,a=!1;for(let E=0;E<r;E++){if(o){let I=e[E];this.setCondOp(I),o=!1,i=!0;continue}if(i){let I=e[E];this.setParam(I),i=!1,a=!0;continue}if(a){let I=e[E];if(I instanceof Object&&!(I instanceof Array)){let c=I;c.type!=null&&this.setValueType(c.type.toString()),c.value!=null&&this.setValue(c.value.toString())}else this.setValue(I);break}}}getValueType(){return this.strValueType}setValueType(e){this.strValueType=e}getValue(){return this.strValue}setValue(e){this.strValue=e}getParamType(){return this.strParamType}setParamType(e){this.strParamType=e}getParam(){return this.strParam}setParam(e){this.strParam=e}};var A=class extends M{constructor(){super(...arguments);this.childCondList=[];this.bNotMode=!1}parse(e){let r=e.length,o=!0,i=!0,a=!1;for(let E=0;E<r;E++){if(o&&i&&e[E]==="!"){this.setNotMode(!0),o=!1;continue}if(i){let I=e[E];this.setCondOp(I),i=!1,o=!1,a=!0;continue}if(a){let I=e[E];if(I instanceof Array)I.forEach(c=>{if(c.length>0){let l=c[0].toString();if(l==="!"||"OR"===l||"AND"===l){let f=new A;f.parse(c),this.childCondList.push(f)}else{let f=new P;f.parse(c),this.childCondList.push(f)}}});else throw new Error("\u503C\u5FC5\u987B\u4E3A\u6570\u7EC4")}}}setNotMode(e){this.bNotMode=e}isNotMode(){return this.bNotMode}getChildPSModelCondBases(){return this.childCondList}};var at=class extends A{};var Et=class extends P{};var ct=class extends nt{test(t,e){return this.testCond(this.getPSModelGroupCondBase(),t,e)}testCond(t,e,r){if(t instanceof A){let o=t.getChildPSModelCondBases();if(o==null||It(o))return!t.isNotMode();let i="AND"===t.getCondOp(),a=i;for(let E=0;E<o.length;E++){let I=o[E];if(this.testCond(I,e,r)){if(!i){a=!0;break}}else if(i){a=!1;break}}return t.isNotMode()?!a:a}if(t instanceof P){It(t.getParam())&&ibiz.log.warn("\u6CA1\u6709\u6307\u5B9A\u5C5E\u6027\u540D\u79F0",t);let o=e[t.getParam().toLowerCase()],i=null,a=t.getValueType(),E=t.getValue();return a!=null&&!It(a)?(It(E)&&ibiz.log.warn("\u6CA1\u6709\u6307\u5B9A\u4E0A\u4E0B\u6587\u53C2\u6570\u540D\u79F0"),ct.PARAMTYPE_WEBCONTEXT===a?i=r.data[E.toLowerCase()]:ct.PARAMTYPE_DATACONTEXT===a&&(i=r.getValue(E.toLowerCase()))):i=t.getValue(),this.testSingleCond(t.getCondOp(),o,i)}return ibiz.log.warn("\u65E0\u6CD5\u8BC6\u522B\u7684\u6761\u4EF6\u5BF9\u8C61",t),!1}createPSModelSingleCond(){return new Et}createPSModelGroupCond(){return new at}},g=ct;g.PARAMTYPE_DATACONTEXT="DATACONTEXT",g.PARAMTYPE_WEBCONTEXT="WEBCONTEXT";var pt=class{static getCond(t){if(this.map.has(t))return this.map.get(t);let e=t.dedqgroupConditions;if(e){let r=new g;return r.parse(["OR",this.calcCond(e)]),this.map.set(t,r),r}return null}static calcCond(t){let e=[];return t.forEach(r=>{let o=[];if(r.condType==="GROUP"){let i=r;i.notMode&&o.push("!"),o.push(r.condOp);let a=i.dedqconditions;if(a){let E=this.calcCond(a);o.push(E)}}else if(r.condType==="SINGLE"){let i=r;o.push(i.fieldName),i.condValue||o.push("")}else throw new Error(`\u6682\u672A\u652F\u6301\u7684\u67E5\u8BE2\u6761\u4EF6\u7C7B\u578B: ${r.condType}`);e.push(o)}),e}};pt.map=new WeakMap;import{ModelError as Xe}from"@ibiz-template/core";var B=class{constructor(t){this.cache=new Map;this.isPredefined=!1;this.codeList=t}async init(){let t=async()=>{let{predefinedType:e}=this.codeList;if(e){if(this.isPredefined=!0,!["OPERATOR","RUNTIME"].includes(e))throw new Xe(this.codeList,`\u9884\u5B9A\u4E49\u7C7B\u578B${e}\u6682\u4E0D\u652F\u6301`);return}this.initPromise=void 0};return this.initPromise=t(),this.initPromise}convertData(t){return Object.freeze({})}async load(t={},e={}){if(this.isPredefined){e.size||(e.size=1e4);let r=await this.app.net.get(`/dictionaries/codelist/${this.codeList.codeName}`,e);return Object.freeze(r.data.items)}return(!this.entity||!this.methodName)&&new Error("\u52A8\u6001\u4EE3\u7801\u8868\u627E\u4E0D\u5230\u5B9E\u4F53\u6216\u6570\u636E\u96C6"),[]}async get(t={},e={}){if(this.initPromise&&await this.initPromise,!this.codeList.enableCache)return this.load(t,e);let r=JSON.stringify(t)+JSON.stringify(e);if(this.cache.has(r)){let I=this.cache.get(r);if(I.expirationTime>new Date().getTime())return I.promise?I.promise:I.items;this.cache.delete(r)}let o=this.load(t,e),i=this.codeList.cacheTimeout===-1?ibiz.config.defaultCodeListCacheTimeout:this.codeList.cacheTimeout,a={expirationTime:new Date().getTime()+i,promise:o};this.cache.set(r,a);let E=await o;return a.items=E,delete a.promise,E}};import{where as He,equals as Qt,clone as C,isNil as qt,isEmpty as Zt}from"ramda";import{createUUID as Jt}from"qx-util";import{RuntimeError as zt}from"@ibiz-template/core";import{isEmpty as Yt,isNil as jt}from"ramda";function Wt(s,t){if(t!=null){let{srfkey:e}=t;if(!jt(e)&&!Yt(e))return!0}throw new zt(`\u6267\u884C\u300C${s}\u300D\u4E0D\u5B58\u5728\u300Csrfkey\u300D\u65E0\u6CD5\u5904\u7406`)}function u(s,t){let{srfsessionid:e}=t;if(!jt(e)&&!Yt(e))return!0;throw new zt(`\u6267\u884C\u300C${s}\u300D\u4E0D\u5B58\u5728\u300Csrfsessionid\u300D\u65E0\u6CD5\u5904\u7406`)}var b=class{constructor(){this.cacheMap=new Map}forceAdd(t,e){let o=this.getCacheByTag(t).get(e.srfkey);o&&(o.assign(e),ibiz.log.warn("forceAdd",e.srfkey,e))}forceUpdate(t,e){this.getCacheByTag(t).set(e.srfkey,C(e)),ibiz.log.warn("forceUpdate",e.srfkey,e)}forceDelete(t,e){this.getCacheByTag(t).delete(e),ibiz.log.warn("forceDelete",e)}add(t,e){try{return u("add",t),(qt(e.srfkey)||Zt(e.srfkey))&&(e.srfkey=Jt()),e.srftempdate=new Date().getTime(),this.getCacheByTag(t).set(e.srfkey,C(e)),ibiz.log.warn("add",e.srfkey,e),e}catch(r){return ibiz.log.error(r),null}}get(t,e){try{u("get",t);let o=this.getCacheByTag(t).get(e);return ibiz.log.warn("get",e,o),C(o)}catch(r){return ibiz.log.error(r),null}}update(t,e){try{u("update",t),Wt("update",e),e.srftempdate=new Date().getTime();let r=this.getCacheByTag(t),o=r.get(e.srfkey);if(o)return o.assign(e),r.set(e.srfkey,o),ibiz.log.warn("update",e.srfkey,e),C(o);throw new Error("\u6570\u636E\u4E0D\u5B58\u5728\uFF0C\u65E0\u6CD5\u66F4\u65B0!")}catch(r){return ibiz.log.error(r),null}}delete(t,e){try{u("delete",t);let r=this.getCacheByTag(t),o=e;if(r.has(o)){let i=r.get(o);return i.srftempdate=new Date().getTime(),r.delete(o),ibiz.log.warn("delete",o),i}return null}catch(r){return ibiz.log.error(r),null}}createBatch(t,e){try{u("add",t);let r=this.getCacheByTag(t);for(let o=0;o<e.length;o++){let i=e[o];(qt(i.srfkey)||Zt(i.srfkey))&&(i.srfkey=Jt()),i.srftempdate=new Date().getTime();let a=C(i);r.set(i.srfkey,a),e[o]=a,ibiz.log.warn("add",i.srfkey,i)}return e}catch(r){ibiz.log.error(r)}return[]}updateBatch(t,e){try{u("update",t);let r=this.getCacheByTag(t);for(let o=0;o<e.length;o++){let i=e[o];Wt("update",i),i.srftempdate=new Date().getTime();let a=r.get(i.srfkey);if(a)a.assign(i),r.set(i.srfkey,a),ibiz.log.warn("update",i.srfkey,i),e[o]=C(a);else throw new Error(`\u6570\u636E[${i.srfdename}-${i.srfmajortext}(${i.srfkey})]\u4E0D\u5B58\u5728\uFF0C\u65E0\u6CD5\u66F4\u65B0!`)}return e}catch(r){return ibiz.log.error(r),null}}deleteBatch(t,e){try{u("delete",t)}catch(i){return ibiz.log.error(i),e}let r=this.getCacheByTag(t),o=[];for(let i=0;i<e.length;i++){let a=e[i];r.has(a)||o.push(a)}if(o.length>0)throw new Error(`\u672A\u627E\u5230\u4EE5\u4E0B\u6570\u636E\u300C${o.join("\u3001")}\u300D\uFF0C\u65E0\u6CD5\u5220\u9664!`);for(let i=0;i<e.length;i++){let a=e[i];r.delete(a),ibiz.log.warn("delete",a)}return[]}checkData(t,e){return this.getList(t).findIndex(i=>i.srfkey===e)!==-1}getList(t){try{u("getList",t);let e=this.getCacheByTag(t);if(!e)return[];let r=e.values();return Array.from(r)}catch(e){return ibiz.log.error(e),[]}}generatePred(t={}){let e={};t.srfkey&&(e.srfkey=Qt(t.srfkey)),delete t.srfkey;for(let r in t)if(Object.prototype.hasOwnProperty.call(t,r)){let o=t[r];e[r]=Qt(o)}return He(e)}clear(t){let e=t.srfsessionid;this.cacheMap.size>0&&this.cacheMap.delete(e)}getCacheByTag(t){let e=t.srfsessionid;return this.cacheMap.has(e)||this.cacheMap.set(e,new Map),this.cacheMap.get(e)}};function Ot(s,t){let e=[];t.forEach(o=>{let i=[];for(let a=0;a<o.length-1;a++){let E=o[a],I=s[E.name];I?(i.push(E.plural),i.push(I)):i=[]}e.push(i)}),e=e.sort((o,i)=>i.length-o.length);let[r]=e;return r?`${r.length>1?"/":""}${r.join("/")}`:""}var te=(p=>(p.APP_MENU="APPMENU",p.GRID="GRID",p.FORM="FORM",p.SEARCHFORM="SEARCHFORM",p.TOOLBAR="TOOLBAR",p.DRBAR="DRBAR",p.VIEWPANEL="VIEWPANEL",p.PICKUP_VIEW_PANEL="PICKUPVIEWPANEL",p.DATAVIEW="DATAVIEW",p.TREEGRID="TREEGRID",p.WF_EXPBAR="WFEXPBAR",p.TREEVIEW="TREEVIEW",p.TREE_EXP_BAR="TREEEXPBAR",p.TAB_VIEWPANEL="TABVIEWPANEL",p.DRTAB="DRTAB",p.CHART="CHART",p.REPORT_PANEL="REPORTPANEL",p.LIST="LIST",p.MOB_MDCTRL="MOBMDCTRL",p.MULTI_EDIT_VIEWPANEL="MULTIEDITVIEWPANEL",p.WIZARD_PANEL="WIZARDPANEL",p.UPDATE_PANEL="UPDATEPANEL",p.SEARCHBAR="SEARCHBAR",p.DASHBOARD="DASHBOARD",p.CALENDAR="CALENDAR",p.PANEL="PANEL",p.VIEW_LAYOUT_PANEL="VIEWLAYOUTPANEL",p.MAP="MAP",p.GANTT="GANTT",p.TREE_GRIDEX="TREEGRIDEX",p.KANBAN="KANBAN",p.CALENDAR_EXPBAR="CALENDAREXPBAR",p.CHART_EXPBAR="CHARTEXPBAR",p.DATA_VIEW_EXPBAR="DATAVIEWEXPBAR",p.GANTT_EXPBAR="GANTTEXPBAR",p.GRID_EXPBAR="GRIDEXPBAR",p.LIST_EXPBAR="LISTEXPBAR",p.MAP_EXPBAR="MAPEXPBAR",p.STATE_WIZARD_PANEL="STATEWIZARDPANEL",p.TAB_EXP_PANEL="TABEXPPANEL",p.CUSTOM="CUSTOM",p))(te||{});var Mt=(n=>(n.APP_INDEX_VIEW="APPINDEXVIEW",n.DE_GRID_VIEW="DEGRIDVIEW",n.DE_EDIT_VIEW="DEEDITVIEW",n.APP_DATA_UPLOAD_VIEW="APPDATAUPLOADVIEW",n.APP_ERROR_VIEW="APPERRORVIEW",n.APP_FILE_UPLOAD_VIEW="APPFILEUPLOADVIEW",n.APP_FUN_PICKUP_VIEW="APPFUNCPICKUPVIEW",n.APP_LOGIN_VIEW="APPLOGINVIEW",n.APP_LOGOUT_VIEW="APPLOGOUTVIEW",n.APP_PANEL_VIEW="APPPANELVIEW",n.APP_PIC_UPLOAD_VIEW="APPPICUPLOADVIEW",n.APP_PORTAL_VIEW="APPPORTALVIEW",n.APP_REDIRECT_VIEW="APPREDIRECTVIEW",n.APP_START_VIEW="APPSTARTVIEW",n.APP_WELCOME_VIEW="APPWELCOMEVIEW",n.APP_WF_ADD_STEP_AFTER_VIEW="APPWFADDSTEPAFTERVIEW",n.APP_WF_ADD_STEP_BEFORE_VIEW="APPWFADDSTEPBEFOREVIEW",n.APP_WF_REDIRECT_VIEW="APPWFREDIRECTVIEW",n.APP_WF_SENDBAC_VIEW="APPWFSENDBACKVIEW",n.APP_WF_STEP_ACTOR_VIEW="APPWFSTEPACTORVIEW",n.APP_WF_STEP_DATA_VIEW="APPWFSTEPDATAVIEW",n.APP_WF_STEP_TRACE_VIEW="APPWFSTEPTRACEVIEW",n.APP_WF_SUPPLY_INFO_VIEW="APPWFSUPPLYINFOVIEW",n.APP_WF_TAKE_ADVICE_VIEW="APPWFTAKEADVICEVIEW",n.DE_CALENDAR_EXP_VIEW="DECALENDAREXPVIEW",n.DE_CALENDAR_VIEW="DECALENDARVIEW",n.DE_CHART_EXP_VIEW="DECHARTEXPVIEW",n.DE_CHART_VIEW="DECHARTVIEW",n.DE_CHART_VIEW9="DECHARTVIEW9",n.DE_CUSTOM_VIEW="DECUSTOMVIEW",n.DE_DATA_VIEW="DEDATAVIEW",n.DE_DATA_VIEW9="DEDATAVIEW9",n.DE_DATAVIEW_EXP_VIEW="DEDATAVIEWEXPVIEW",n.DE_EDIT_VIEW2="DEEDITVIEW2",n.DE_EDIT_VIEW3="DEEDITVIEW3",n.DE_EDIT_VIEW4="DEEDITVIEW4",n.DE_EDIT_VIEW9="DEEDITVIEW9",n.DE_FORM_PICKUP_DATA_VIEW="DEFORMPICKUPDATAVIEW",n.DE_GANTT_EXP_VIEW="DEGANTTEXPVIEW",n.DE_GANTT_VIEW="DEGANTTVIEW",n.DE_GANTT_VIEW9="DEGANTTVIEW9",n.DE_GRID_EXP_VIEW="DEGRIDEXPVIEW",n.DE_GRID_VIEW2="DEGRIDVIEW2",n.DE_GRID_VIEW4="DEGRIDVIEW4",n.DE_GRID_VIEW8="DEGRIDVIEW8",n.DE_GRID_VIEW9="DEGRIDVIEW9",n.DE_HTML_VIEW="DEHTMLVIEW",n.DE_INDEX_PICKUP_DATA_VIEW="DEINDEXPICKUPDATAVIEW",n.DE_INDEX_VIEW="DEINDEXVIEW",n.DE_KANBAN_VIEW="DEKANBANVIEW",n.DE_KANBAN_VIEW9="DEKANBANVIEW9",n.DE_LIST_EXP_VIEW="DELISTEXPVIEW",n.DE_LIST_VIEW="DELISTVIEW",n.DE_LIST_VIEW9="DELISTVIEW9",n.DE_MAP_EXP_VIEW="DEMAPEXPVIEW",n.DE_MAP_VIEW="DEMAPVIEW",n.DE_MAP_VIEW9="DEMAPVIEW9",n.DE_MD_CUSTOM_VIEW="DEMDCUSTOMVIEW",n.DE_MEDITVIEW9="DEMEDITVIEW9",n.DE_MOB_CALENDAR_EXP_VIEW="DEMOBCALENDAREXPVIEW",n.DE_MOB_CALENDAR_VIEW="DEMOBCALENDARVIEW",n.DE_MOB_CALENDAR_VIEW9="DEMOBCALENDARVIEW9",n.DE_MOB_CHART_EXP_VIEW="DEMOBCHARTEXPVIEW",n.DE_MO_BCHART_VIEW="DEMOBCHARTVIEW",n.D_EMOB_CHART_VIEW9="DEMOBCHARTVIEW9",n.DE_MOB_CUSTOM_VIEW="DEMOBCUSTOMVIEW",n.DE_MOB_DATA_VIEW="DEMOBDATAVIEW",n.DE_MOB_DATA_VIEW_EXP_VIEW="DEMOBDATAVIEWEXPVIEW",n.DE_MOB_EDIT_VIEW="DEMOBEDITVIEW",n.DE_MOB_EDIT_VIEW3="DEMOBEDITVIEW3",n.DE_MOB_EDITVIEW9="DEMOBEDITVIEW9",n.DE_MOB_FORM_PICKUP_MDVIEW="DEMOBFORMPICKUPMDVIEW",n.DE_MOB_GANTT_EXP_VIEW="DEMOBGANTTEXPVIEW",n.DE_MOB_GANTT_VIEW="DEMOBGANTTVIEW",n.DE_MOB_GANTT_VIEW9="DEMOBGANTTVIEW9",n.DE_MOB_HTML_VIEW="DEMOBHTMLVIEW",n.DE_MOB_INDEX_PICKUP_MDVIEW="DEMOBINDEXPICKUPMDVIEW",n.DE_MOB_LIST_EXP_VIEW="DEMOBLISTEXPVIEW",n.DE_MOB_LIST_VIEW="DEMOBLISTVIEW",n.DE_MOB_MAP_VIEW="DEMOBMAPVIEW",n.DE_MOB_MAP_VIEW9="DEMOBMAPVIEW9",n.DE_MOB_MDVIEW="DEMOBMDVIEW",n.DE_MOB_MDVIEW9="DEMOBMDVIEW9",n.DE_MOB_MEDIT_VIEW9="DEMOBMEDITVIEW9",n.DE_MOB_MPICKUP_VIEW="DEMOBMPICKUPVIEW",n.DE_MOB_OPT_VIEW="DEMOBOPTVIEW",n.DE_MOB_PANEL_VIEW="DEMOBPANELVIEW",n.DE_MOB_PANEL_VIEW9="DEMOBPANELVIEW9",n.DE_MOB_PICKUP_LIST_VIEW="DEMOBPICKUPLISTVIEW",n.DE_MOB_PICKUP_MDVIEW="DEMOBPICKUPMDVIEW",n.DE_MOB_PICKUP_TREE_VIEW="DEMOBPICKUPTREEVIEW",n.DE_MOB_PICKUP_VIEW="DEMOBPICKUPVIEW",n.DE_MOB_PORTAL_VIEW="DEMOBPORTALVIEW",n.DE_MOB_PORTAL_VIEW9="DEMOBPORTALVIEW9",n.DE_MOB_REDIRECT_VIEW="DEMOBREDIRECTVIEW",n.DE_MOB_REPORT_VIEW="DEMOBREPORTVIEW",n.DE_MOB_TAB_EXP_VIEW="DEMOBTABEXPVIEW",n.DE_MOB_TAB_EXP_VIEW9="DEMOBTABEXPVIEW9",n.DE_MOB_TAB_SEARCH_VIEW="DEMOBTABSEARCHVIEW",n.DE_MOB_TAB_SEARCH_VIEW9="DEMOBTABSEARCHVIEW9",n.DE_MOB_TREE_EXP_VIEW="DEMOBTREEEXPVIEW",n.DEMOBTREEEXPVIEW9="DEMOBTREEEXPVIEW9",n.DE_MOB_TREE_VIEW="DEMOBTREEVIEW",n.DE_MOB_WFACTION_VIEW="DEMOBWFACTIONVIEW",n.DE_MOB_WF_DATA_REDIRECT_VIEW="DEMOBWFDATAREDIRECTVIEW",n.DE_MOB_WF_DYNAACTIO_NVIEW="DEMOBWFDYNAACTIONVIEW",n.DE_MOB_WFDYNA_EDIT_VIEW="DEMOBWFDYNAEDITVIEW",n.DE_MOB_WF_DYNA_EDIT_VIEW3="DEMOBWFDYNAEDITVIEW3",n.DE_MOB_WF_DYNA_EXP_MDVIEW="DEMOBWFDYNAEXPMDVIEW",n.DE_MO_BWF_DYNA_START_VIEW="DEMOBWFDYNASTARTVIEW",n.DE_MOB_WF_EDIT_VIEW="DEMOBWFEDITVIEW",n.DE_MOB_WF_EDIT_VIEW3="DEMOBWFEDITVIEW3",n.DE_MOB_WF_MDVIEW="DEMOBWFMDVIEW",n.DE_MOB_WF_PROXY_RESULT_VIEW="DEMOBWFPROXYRESULTVIEW",n.DE_MOB_WF_PROXY_START_VIEW="DEMOBWFPROXYSTARTVIEW",n.DE_MOB_WF_START_VIEW="DEMOBWFSTARTVIEW",n.DE_MOB_WIZARD_VIEW="DEMOBWIZARDVIEW",n.DE_MPICKUP_VIEW="DEMPICKUPVIEW",n.DE_MPICKUP_VIEW2="DEMPICKUPVIEW2",n.DE_OPT_VIEW="DEOPTVIEW",n.DE_PANEL_VIEW="DEPANELVIEW",n.DE_PANEL_VIEW9="DEPANELVIEW9",n.DE_PICKUP_DATA_VIEW="DEPICKUPDATAVIEW",n.DE_PICKUP_GRID_VIEW="DEPICKUPGRIDVIEW",n.DE_PICKUP_TREE_VIEW="DEPICKUPTREEVIEW",n.DE_PICKUP_VIEW="DEPICKUPVIEW",n.DE_PICKUP_VIEW2="DEPICKUPVIEW2",n.DE_PICK_UP_VIEW3="DEPICKUPVIEW3",n.DE_PORTAL_VIEW="DEPORTALVIEW",n.DE_PORTAL_VIEW9="DEPORTALVIEW9",n.DE_REDIRECT_VIEW="DEREDIRECTVIEW",n.DE_REPORT_VIEW="DEREPORTVIEW",n.DE_TAB_EXP_VIEW="DETABEXPVIEW",n.DE_TAB_EXP_VIEW9="DETABEXPVIEW9",n.DE_TAB_SEARCH_VIEW="DETABSEARCHVIEW",n.DE_TAB_SEARCH_VIEW9="DETABSEARCHVIEW9",n.DE_TREE_EXP_VIEW="DETREEEXPVIEW",n.DE_TREE_EXP_VIEW2="DETREEEXPVIEW2",n.DE_TREE_EXP_VIEW3="DETREEEXPVIEW3",n.DE_TREE_GRID_EXVIEW="DETREEGRIDEXVIEW",n.DE_TREE_GRID_EXVIEW9="DETREEGRIDEXVIEW9",n.DE_TREE_GRID_VIEW="DETREEGRIDVIEW",n.DE_TREE_GRID_VIEW9="DETREEGRIDVIEW9",n.DE_TREE_VIEW="DETREEVIEW",n.DE_TREE_VIEW9="DETREEVIEW9",n.DE_WF_ACTION_VIEW="DEWFACTIONVIEW",n.DE_WF_DATA_REDIRECT_VIEW="DEWFDATAREDIRECTVIEW",n.DE_WF_DYNA_ACTION_VIEW="DEWFDYNAACTIONVIEW",n.DE_WF_DYNA_EDIT_VIEW="DEWFDYNAEDITVIEW",n.DE_WF_DYNA_EDIT_VIEW3="DEWFDYNAEDITVIEW3",n.DE_WF_DYNA_EXP_GRID_VIEW="DEWFDYNAEXPGRIDVIEW",n.DE_WF_DYNA_START_VIEW="DEWFDYNASTARTVIEW",n.DE_WF_EDIT_PROXY_DATA_VIEW="DEWFEDITPROXYDATAVIEW",n.DE_WF_EDIT_VIEW="DEWFEDITVIEW",n.DE_WF_EDIT_VIEW2="DEWFEDITVIEW2",n.DE_WF_EDIT_VIEW3="DEWFEDITVIEW3",n.DE_WF_EDIT_VIEW9="DEWFEDITVIEW9",n.DE_WF_EXP_VIEW="DEWFEXPVIEW",n.DE_WF_GRID_VIEW="DEWFGRIDVIEW",n.DE_WF_PROXY_DATA_VIEW="DEWFPROXYDATAVIEW",n.DE_WF_PROXY_RESULT_VIEW="DEWFPROXYRESULTVIEW",n.DE_WF_PROXY_START_VIEW="DEWFPROXYSTARTVIEW",n.DE_WF_START_VIEW="DEWFSTARTVIEW",n.DE_WIZARD_VIEW="DEWIZARDVIEW",n))(Mt||{});var ee=(i=>(i.ROUTE="ROUTE",i.MODAL="MODAL",i.DRAWER="DRAWER",i.EMBED="EMBED",i.POPOVER="POPOVER",i))(ee||{});var lt=class{};lt.onViewMounted="onMounted",lt.onViewDestroyed="onDestroyed";var N=class{};N.onClick="onClick",N.onChange="onChange",N.onEnter="onEnter",N.onLeave="onLeave";var D=class{};D.onBeforeLoad="onBeforeLoad",D.onLoadSuccess="onLoadSuccess",D.onLoadError="onLoadError",D.onBeforeLoadDraft="onBeforeLoadDraft",D.onLoadDraftSuccess="onLoadDraftSuccess",D.onLoadDraftError="onLoadDraftError",D.onBeforeSave="onBeforeSave",D.onSaveSuccess="onSaveSuccess",D.onSaveError="onSaveError",D.onBeforeRemove="onBeforeRemove",D.onRemoveSuccess="onRemoveSuccess",D.onRemoveError="onRemoveError",D.CLICK="onClick";var Mi=["DEGRIDVIEW","DEGRIDEXPVIEW","DELISTVIEW","DELISTEXPVIEW","DEDATAVIEW","DEDATAVIEWEXPVIEW","DECALENDARVIEW","DECALENDAREXPVIEW","DECHARTVIEW","DECHARTEXPVIEW","DEKANBANVIEW"];function $e(s,t,e){let r=[];t.forEach(i=>{let a=[];for(let E=0;E<i.length;E++){let I=[],c=i[E],l=s[c.name];l&&(I.push(c.name),I.push(l),a.push(I))}r.push(a)}),r=r.sort((i,a)=>a.length-i.length);let[o]=r;if(o){let i={};return o.forEach(([a,E])=>{i[a]=E}),i}return{}}import{isEmpty as T,isNil as x}from"ramda";var Ct=class{constructor(t,e){this.page=0;this.size=1e3;this.data={};this.sortField="srfordervalue";this.sortMode="ASC";if(this.context=t,e){if(!x(e.page)&&!T(e.page)&&(this.page=e.page),!x(e.size)&&!T(e.size)&&(this.size=e.size),!x(e.query)&&!T(e.query)&&(this.query=e.query),!x(e.sort)&&!T(e.sort)){let r=e.sort.split(",");r.length>=1&&([this.sortField]=r),r.length>=2&&(this.sortMode=r[1].toUpperCase())}!x(e.srfparentkey)&&!T(e.srfparentkey)&&(this.srfparentkey=e.srfparentkey),!x(e.srfparentdename)&&!T(e.srfparentdename)&&(this.srfparentdename=e.srfparentdename),this.data={...e},delete this.data.page,delete this.data.size,delete this.data.query,delete this.data.sort,delete this.data.srfparentkey,delete this.data.srfparentdename}}getValue(t){return this.data[t]?this.data[t]:this.context[t]}};import{pluralLower as Nt}from"@ibiz-template/core";var U=class{constructor(t){this.app=t;this.allDERss=[];this.entityRsMap=new Map;this.entityRsPathMap=new Map}async init(){if(this.allDERss.length>0)return;let t=this.app.appDataEntityList||[];this.allDERss=this.app.appDERSs,t.forEach(e=>{let r=this.allDERss.filter(o=>o.minorDECodeName===e?o:null);r.length>0&&this.entityRsMap.set(e,r)})}calcPaths(t){if(this.entityRsPathMap.has(t))return this.entityRsPathMap.get(t);let e=this.entityRsMap.get(t);if(e){let r=this.calcDeepPath(e);this.deepFillPath(t,[t],r);let o=this.entityRsPathMap.get(t);if(o){let i=this.sortPath(o);return this.entityRsPathMap.set(t,i),i}}return[[{deName:t,name:t.toLowerCase(),plural:Nt(t)}]]}calcDeepPath(t,e=0){if(e>10)throw new Error("\u670D\u52A1\u8DEF\u5F84\u8BA1\u7B97\u8D85\u8FC7\u6700\u5927\u5C42\u7EA7 10");e+=1;let r=[];return t.forEach(o=>{let i=this.entityRsMap.get(o.majorDECodeName)||[];r.push([o,this.calcDeepPath(i,e)])}),r}deepFillPath(t,e,r){r.forEach(o=>{let[i,a]=o;a.length>0?this.deepFillPath(t,[...e,i.majorDECodeName],a):(this.entityRsPathMap.has(t)||this.entityRsPathMap.set(t,[]),this.entityRsPathMap.get(t).push([...e.map(I=>({deName:I,name:I.toLowerCase(),plural:Nt(I)})),{deName:i.majorDECodeName,name:i.majorDECodeName.toLowerCase(),plural:Nt(i.majorDECodeName)}].reverse()))})}sortPath(t){return t.sort((e,r)=>r.length-e.length)}};var w=class{constructor(t){this.appModel=t;this.allCodeLists=new Map;this.cache=new Map}async initAllCodeList(){if(this.allCodeLists.size!==0)return null}getStatic(t){let e=t.codeName;if(this.cache.has(e))return this.cache.get(e);let r=t.codeItems,o=[];return r!=null&&r.length&&(o=this.formatStaticItems(r,t.codeItemValueNumber)),this.cache.set(e,Object.freeze(o)),o}formatStaticItems(t,e){return t.map(r=>{var i;let o={text:r.text,value:e?Number(r.value):r.value,color:r.color,id:r.codeName};return(i=r.codeItems)!=null&&i.length&&(o.children=this.formatStaticItems(r.codeItems,e)),Object.freeze(o)})}async getDynamicCodeList(t,e={},r={}){let o,i=t.codeName;return this.cache.has(i)?o=this.cache.get(i):(o=new B(t),this.cache.set(i,o),await o.init()),o.get(e,r)}async get(t,e,r){this.allCodeLists.size===0&&await this.initAllCodeList();let o=this.allCodeLists.get(t);if(!o)throw new Error(`\u627E\u4E0D\u5230${t}\u4EE3\u7801\u8868`);return o.codeListType==="STATIC"?this.getStatic(o):o.codeListType==="DYNAMIC"?this.getDynamicCodeList(o,e,r):[]}};var mt=class{static async getCounter(t,e,r){let o=t.id;if(this.counterMap.has(o)){let a=this.counterMap.get(o);if(a.isDestroyed===!1)return a;this.counterMap.delete(o)}let i=new v(t);return await i.init(e,r),this.counterMap.set(o,i),i}static async getCounterByRef(t,e,r){return{}}};mt.counterMap=new Map;import{ModelError as ze,RuntimeError as re}from"@ibiz-template/core";import{RuntimeError as Ke}from"@ibiz-template/core";var F=class{constructor(t){this.model=t;this.commonBaseUrl=""}getBaseUrl(){return this.commonBaseUrl}getActiveData(t,e){return e.srfprocessinstanceid&&(t.srfprocessinstanceid=e.srfprocessinstanceid),t}async getWFStep(t){let{processDefinitionKey:e,taskDefinitionKey:r}=t;return this.app.net.get(`${this.getBaseUrl()}/process-definitions/${e}/usertasks/${r}`)}async getWFLink(t,e){let r=t[this.model.codeName],{taskDefinitionKey:o}=t;return this.app.net.post(`${this.getBaseUrl()}/${r}/usertasks/${o}/ways`,{activedata:this.getActiveData(e,t)})}async getWFHistory(t){let e=t[this.model.codeName];return this.app.net.get(`${this.getBaseUrl()}/${e}/process-instances/alls/history`)}async getWFProcessDiagram(t){let e=t[this.model.codeName];return this.app.net.request(`${this.getBaseUrl()}/${e}/process-instances/alls/processdiagram`,{method:"post",data:{},responseType:"blob"})}async getWFVersion(){return this.app.net.get(`${this.getBaseUrl()}/process-definitions2`)}async wfStart(t,e,r){return this.app.net.post(`${this.getBaseUrl()}/${t[this.model.codeName]}/process-instances`,{...e,activedata:this.getActiveData(r,t)})}async wfSubmit(t,e,r){return this.app.net.post(`${this.getBaseUrl()}/${t[this.model.codeName]}/tasks/${e.taskId}`,{...e,activedata:this.getActiveData(r,t)})}async wfWithdraw(t,e,r){return this.app.net.post(`${this.getBaseUrl()}/${t[this.model.codeName]}/tasks/${e.taskId}/withdraw`,{...e,activedata:this.getActiveData(r,t)})}async exec(t,e,r={},o={}){switch(t){case"WFSTART":return this.wfStart(e,r,o);case"WFSUBMIT":return this.wfSubmit(e,r,o);default:throw new Ke(`\u300C${t}\u300D\u672A\u5B9E\u73B0`)}}};var Dt=class{constructor(t,e){this.model=t;this.paths=e}exportData(t,e,r,o){let a=`${Ot(r,this.paths)}/${this.model.codeName2}/exportdata/${e.toLowerCase()}/?srfexporttag=${t.codeName}`;return ibiz.net.request(a,{method:"post",data:o,responseType:"blob"})}};var Tt=class{constructor(t,e){this.model=t;this.paths=e;this.methodMap=new Map;this.local=new b;this.wf=new F(t),this.file=new Dt(t,e)}getMethod(t){if(this.methodMap.has(t))return this.methodMap.get(t);throw new ze(this.model,`\u672A\u652F\u6301\u7684\u670D\u52A1\u65B9\u6CD5: ${t}`)}exec(t,e,r={},o={}){let i=this.getMethod(t);if(i)return i.exec(e,r,o);throw new re(`${this.model.codeName}\u672A\u652F\u6301\u300C${t}\u300D\u65B9\u6CD5`)}getPath(t,e,r={},o={}){let i=this.getMethod(t);if(i)return i.exec(e,r,o);throw new re(`${this.model.codeName}\u672A\u652F\u6301\u300C${t}\u300D\u65B9\u6CD5`)}};var xt=(e=>(e[e.CREATE=0]="CREATE",e[e.UPDATE=1]="UPDATE",e))(xt||{});import{isNil as Ye}from"ramda";var y=class{get srfuf(){return Ye(this.$origin.srfuf)?this.srfkey?1:0:this.$origin.srfuf}constructor(t,e){!t||!e||(Object.defineProperty(this,"$origin",{enumerable:!1,configurable:!0,value:t||{}}),Object.defineProperty(this,"$dataUIMap",{enumerable:!1,configurable:!0,value:e||new Map}),this.$dataUIMap.forEach((r,o)=>{let i=r.dataKey;this.linkProperty(o,i,r.isOriginField)}),Object.keys(t).forEach(r=>{Object.prototype.hasOwnProperty.call(this,r)||this.linkProperty(r,r)}))}linkProperty(t,e,r=!0){t!=="srfuf"&&(r||Object.prototype.hasOwnProperty.call(this.$origin,t)?Object.defineProperty(this,t,{enumerable:!0,configurable:!0,get(){return this.$origin[e]},set(o){this.$origin[e]=o}}):Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:null}))}getOrigin(){return this.$origin}getRequestData(){let t={...this.$origin};return this.$dataUIMap.forEach(e=>{e.isRequestNeed!==e.isOriginField&&(t[e.dataKey]=this[e.uiKey])}),t}setOrigin(t){this.$origin=t instanceof y?t.getOrigin():t}mergeOrigin(t){Object.assign(this.$origin,t instanceof y?t.getOrigin():t)}reactiveInit(){this.$dataUIMap.forEach((t,e)=>{this.$origin[e]===void 0&&(this.$origin[e]=null)})}};var S=class{constructor(t,e,r,o){this.leaf=!1;this.parent=o,this.parent?this.context={...this.parent.context}:this.context={},this.nodeId=t.id}};var St=class extends S{constructor(e,r,o,i){super(e,r,o,i);let{data:a}=r;this.deData=a,this.text=a.srfmajortext,this.value=a.srfkey,this.id=i?`${i.id}:${e.id}${a.srfkey}`:e.id+a.srfkey,this.id=this.id.toLowerCase()}};var Lt=class extends S{constructor(e,r,o,i){var a;super(e,r,o,i);if(this.id=i?`${i.id}:${e.id}`:e.id,this.id=this.id.toLowerCase(),this.text=e.text,i&&o){let E=i;for(let I=1;I<o.parentValueLevel;I++)E=E==null?void 0:E.parent;E!=null&&E.deData&&(this.deData=E.deData)}this.value=e.nodeValue||((a=this.deData)==null?void 0:a.value)}};import{isNil as oe}from"ramda";var ie=class{constructor(t,e,r={}){this.isOriginField=!1;this.isRequestNeed=!0;this.uiKey=t,this.dataKey=e,oe(r.isOriginField)||(this.isOriginField=r.isOriginField),oe(r.isRequestNeed)||(this.isRequestNeed=r.isRequestNeed)}};var G=class{async v7login(t,e){return await ibiz.net.post("/v7/login",{loginname:t,password:e},{},{})}async v7logout(){return await ibiz.net.get("/v7/logout",{})}};import{MenuPermissionMode as Vt,RuntimeError as je}from"@ibiz-template/core";var k=class{constructor(t){this.appModel=t;this.isInit=!1;this.resCodes=[];this.enableResValidate=!0;this.rtMenuCodes=[]}async init(t=ibiz.appData){if(!t)throw new je("\u6CA1\u6709appData\u6570\u636E");t.unires&&(this.resCodes=t.unires),t.enablepermissionvalid===!1&&(this.enableResValidate=!1),t.appmenu&&(this.rtMenuCodes=t.appmenu)}async hasOwnOPPrivs(t,e){let{appModel:r}=this,o=[];return r.deopprivs&&o.push(...r.deopprivs),e!=null&&e.deopprivs&&o.push(...e.deopprivs),!1}hasMenuPermitted(t){if(!ibiz.env.enablePermission)return!0;switch(ibiz.env.menuPermissionMode){case Vt.RT:return this.calcMenuPermissionByRT(t);case Vt.RESOURCE:return this.calcMenuPermissionByResource(t);case Vt.MIXIN:return this.calcMenuPermissionByResource(t)||this.calcMenuPermissionByRT(t);default:return!0}}calcMenuPermissionByRT(t){return!1}calcMenuPermissionByResource(t){return this.enableResValidate&&t.accessKey?this.resCodes.includes(t.accessKey):!0}hasUIActionPermitted(t,e,r){let{dataAccessAction:i}=t;return!(i&&(this.enableResValidate&&!this.hasOwnOPPrivs(i,r)||e&&(e.srfopprivs&&!e.srfopprivs.includes(i)||!this.calcDeMainStatePermission(i,e,r))))}calcDeMainStatePermission(t,e,r){return!0}};var X=class{constructor(t){this.appModel=t;this.cache=new Map;this.allEntities=new Map}async initAllEntities(){this.allEntities.size}async getService(t){return this.cache.get(t)}clearTempCache(t){this.cache.forEach(e=>{e.local.clear(t)})}};import{RuntimeError as vt}from"@ibiz-template/core";import{Net as Qe}from"@ibiz-template/core";var H=class{constructor(t){this.appModel=t;this.appDataEntityList=[];this.appDERSs=[];this.net=new Qe({baseURL:`${ibiz.env.baseUrl}/${t.id}`}),this.resourcePathUtil=new U(this),this.es=new X(t),this.codeList=new w(t),this.authority=new k(t)}async init(){await this.resourcePathUtil.init(),await this.authority.init()}};var ft=class{parse(t){return t}};var $=class{constructor(){this.appMenu=new ft}};var dt=class{constructor(){this.convert=new $;this.appMap=new Map;this.apps=new Map;this.view2appMap=new Map;this.views=new Map;this.dataEntities=new Map}registerModelLoaderProvider(t){this.modelLoaderProvider=t}registerApp(t){this.apps.set(t.codeName,t)}registerAppView(t){this.views.set(t.codeName,t)}registerAppDataEntity(t,e=ibiz.env.appId){this.dataEntities.has(e)||this.dataEntities.set(e,new Map),this.dataEntities.get(e).set(t.codeName,t)}setAppView(t,e=ibiz.env.appId){this.view2appMap.set(t,e)}async getAppView(t){let e=this.view2appMap.get(t)||ibiz.env.appId;if(this.appMap.has(e)&&await this.createApp(e),this.views.has(t))return this.views.get(t);if(this.modelLoaderProvider){let r=await this.modelLoaderProvider.getAppView(e,t);return this.registerAppView(r),r}throw new vt(`\u89C6\u56FE[${t}]\u4E0D\u5B58\u5728`)}async getAppDataEntity(t,e=ibiz.env.appId){if(this.dataEntities.has(e)){let r=this.dataEntities.get(e);if(r.has(t))return r.get(t)}if(this.modelLoaderProvider){let r=await this.modelLoaderProvider.getAppDataEntity(e,t);this.registerAppDataEntity(r,e)}throw new vt(`\u672A\u627E\u5230\u5E94\u7528\u5B9E\u4F53[${t}]`)}async createApp(t){if(this.appMap.has(t))return this.appMap.get(t);let e;if(this.apps.has(t))e=this.apps.get(t);else if(this.modelLoaderProvider)e=await this.modelLoaderProvider.getApp(t),this.registerApp(e);else throw new vt(`\u672A\u627E\u5230\u5E94\u7528[${t}]\u6A21\u578B`);let r=new H(e);return this.appMap.set(t,r),await r.init(),r}async getAppAsync(t=ibiz.env.appId){return this.createApp(t)}getApp(t){let e=null;return t?t instanceof Object?e=t.id:e=t:e=ibiz.env.appId,this.appMap.get(e)}};function qe(){let{ibiz:s}=window;s.hub=new dt,s.register=new Q,s.config=new z,s.auth=new G,Xt(),Ht()}var Bt=class{constructor(t){this.styleElementMap=new Map;this.baseDir=t.substring(0,t.lastIndexOf("/"))}dir(t){return this.baseDir+t}async loadStyle(t){let e=t.map(r=>{let o=this.dir(r);return this.styleElementMap.has(o)?!1:(this.styleElementMap.set(o,null),new Promise((i,a)=>{let E=document.createElement("link");E.setAttribute("type","text/css"),E.setAttribute("rel","stylesheet"),E.setAttribute("href",o),E.onload=i,E.onerror=a,document.head.appendChild(E)}))});await Promise.all(e)}};var bt=class{constructor(t,e,r){this.tag=t,this.repo=e,this.config=r}};export{v as AppCounter,Ft as AppDEUIActionUtil,L as AppFuncCommand,H as Application,G as AuthService,k as AuthorityService,Z as BackendUIActionHandler,ot as BackendUIActionProvider,w as CodeListService,q as CommonSysUIActionHandler,m as CommonSysUIActionProvider,te as ControlType,y as ControlVO,mt as CounterService,pt as DEDQCondUtil,B as DynamicCodeListCache,b as EntityCache,Tt as EntityService,J as FrontUIActionHandler,it as FrontUIActionProvider,V as OpenAppViewCommand,g as PSDEDQCondEngine,Bt as PluginStaticResource,Y as RegisterBase,Q as RegisterCenter,bt as RemotePluginItem,Ct as SearchFilter,U as ServicePathUtil,X as ServiceUtil,xt as Srfuf,D as StudioControlEvents,N as StudioPanelEvents,lt as StudioViewEvents,St as TreeDataSetNodeData,Lt as TreeStaticNodeData,d as UIActionHandler,j as UIActionRegister,ie as UIMapField,ee as ViewMode,Mt as ViewType,tt as WFWithdrawUIActionHandler,st as WFWithdrawUIActionProvider,F as WorkFlowService,le as calcNavParams,Ot as calcResPath,$e as calcRouteContext,et as compare,yt as compareNumber,rt as contains,W as convertNavData,ce as convertNavDataByArray,pe as convertNavDataByObject,to as getWFContext,qe as install,Xt as installCommand,At as openRedirectView,Ht as presetUIActionProvider,ht as strContain,O as testCond,De as toLocalOpenWFRedirectView,Me as verifyDeRules,Gt as verifyFormGroupLogic,kt as verifyPanelGroupLogic};