UNPKG

@farris/ui-vue

Version:

Farris Vue, a Farris Design based Vue3 component library.

1 lines 110 kB
(function(R,a){typeof exports=="object"&&typeof module<"u"?a(exports,require("vue"),require("../../designer/button-edit/index.umd.js"),require("../designer-canvas/index.umd.js"),require("../dynamic-resolver/index.umd.js"),require("../property-panel/index.umd.js"),require("../field-selector/index.umd.js"),require("lodash-es"),require("../notify/index.umd.js"),require("../modal/index.umd.js"),require("../button-edit/index.umd.js"),require("../layout/index.umd.js"),require("../data-grid/index.umd.js"),require("../common/index.umd.js"),require("../locale/index.umd.js"),require("../tree-grid/index.umd.js"),require("../combo-list/index.umd.js"),require("../popover/index.umd.js")):typeof define=="function"&&define.amd?define(["exports","vue","../../designer/button-edit/index.umd.js","../designer-canvas/index.umd.js","../dynamic-resolver/index.umd.js","../property-panel/index.umd.js","../field-selector/index.umd.js","lodash-es","../notify/index.umd.js","../modal/index.umd.js","../button-edit/index.umd.js","../layout/index.umd.js","../data-grid/index.umd.js","../common/index.umd.js","../locale/index.umd.js","../tree-grid/index.umd.js","../combo-list/index.umd.js","../popover/index.umd.js"],a):(R=typeof globalThis<"u"?globalThis:R||self,a(R.lookup={},R.Vue,R.FButtonEditDesign,R.designerCanvas,R.dynamicResolver,R.propertyPanel,R.fieldSelector,R.LodashES,R.notify,R.modal,R.buttonEdit,R.layout,R.dataGrid,R.common,R.locale,R.treeGrid,R.comboList,R.FPopover))})(this,function(R,a,ye,we,Be,Qe,xe,re,Ee,wt,Xe,Re,Ve,pe,Ft,je,Ke,It){"use strict";var bn=Object.defineProperty;var yn=(R,a,ye)=>a in R?bn(R,a,{enumerable:!0,configurable:!0,writable:!0,value:ye}):R[a]=ye;var te=(R,a,ye)=>yn(R,typeof a!="symbol"?a+"":a,ye);function Ye(e){return typeof e=="string"&&e.startsWith("{")&&e.endsWith("}")?(e=e.replace(/'/g,'"'),{mappingFields:JSON.parse(e)}):{mappingFields:e}}const Ze=new Map([["appearance",Be.resolveAppearance],["mappingFields",(e,i,t)=>{if(i)return Ye(i);const{mappingFields:n}=t;return Ye(n)}],["uri",(e,i,t)=>{var n;return i?{uri:i}:{uri:(n=t==null?void 0:t.dataSource)==null?void 0:n.uri}}],["idField",(e,i,t)=>{var n;return i?{idField:i}:{idField:(n=t==null?void 0:t.dataSource)==null?void 0:n.idField}}]]),et={$schema:"https://json-schema.org/draft/2020-12/schema",$id:"https://farris-design.gitee.io/lookup.schema.json",title:"lookup",description:"A Farris Input Component",type:"object",properties:{id:{description:"The unique identifier for a combo list",type:"string"},type:{description:"The type string of number combo list component",type:"string",default:"lookup"},appearance:{description:"",type:"object",properties:{class:{type:"string"},style:{type:"string"}},default:{}},binding:{description:"",type:"object",default:{}},editable:{description:"",type:"boolean",default:!1},enableLinkLabel:{description:"",type:"boolean",default:!1},label:{description:"",type:"string",default:"帮助"},lableWidth:{description:"",type:"number"},placeholder:{description:"",type:"string",default:"请选择"},readonly:{description:"",type:"boolean",default:!1},required:{description:"",type:"boolean",default:!1},tabindex:{description:"",type:"number",default:-1},textAlign:{description:"",type:"string",enum:["left","middle","right"],default:"left"},visible:{description:"",type:"boolean",default:!0},textField:{description:"帮助显示文本字段",type:"string",default:""},mappingFields:{description:"帮助字段映射",type:"object",default:{}},uri:{type:"string",default:""},dataSource:{type:"object",default:null},displayType:{type:"string",default:"list"},"onUpdate:dataMapping":{type:"object",default:null},onClear:{type:"object",default:null},context:{type:"object",default:null},enableToSelect:{type:"boolean",default:!0},idValue:{type:"string",default:""},multiSelect:{type:"boolean",default:!1},separator:{type:"string",default:","},fitColumns:{type:"boolean",default:!0},enableFavorite:{type:"boolean",default:!1},enableUserData:{type:"boolean",default:!1},showSelections:{type:"boolean",default:!0},treeToList:{type:"boolean",default:!1},navTreeToList:{type:"boolean",default:!1},showNavigation:{type:"boolean",default:!0},dictPicking:{type:"object",default:null},dictPicked:{type:"object",default:null},enableSearchBar:{type:"boolean",default:!0},searchAnyField:{type:"boolean",default:!0},dialog:{type:"object",default:null},idField:{type:"string",default:"id"},pagination:{type:"object",default:null},allowFreeInput:{type:"boolean",default:!1},loadTreeDataType:{type:"string",default:"default"},onlySelectLeaf:{type:"boolean",default:!1},enableFullTree:{type:"boolean",default:!0},beforeLoadData:{type:"object",default:null},beforeSelectData:{type:"object",default:null},enableCascade:{type:"boolean",default:!1},showCascadeControl:{type:"boolean",default:!0},cascadeItems:{type:"object",default:{both:!0,up:!0,down:!0,disable:!0}},cascadeValue:{type:"string",default:"both"},expandLevel:{type:"number",default:0},enableClear:{type:"boolean",default:!0},openType:{type:"string",default:"Modal"},enableTitle:{type:"boolean",default:!1},showIncludeChildNodes:{type:"boolean",default:!0},includeChildNodesValue:{type:"boolean",default:!0},enableEqualSearch:{type:"boolean",default:!1},onClearMapping:{type:"string",default:""},userDataKey:{type:"string",default:""}},required:["type"],ignore:["appearance","binding","visible"],events:{dictPicking:"帮助前事件",dictPicked:"帮助后事件",beforeSelectData:"数据选择确认前事件",beforeLoadData:"数据加载前事件",clear:"清空事件"}};function tt(e,i,t){return i}var Ae=(e=>(e.Both="both",e.Up="up",e.Down="down",e.Disable="disable",e))(Ae||{});const Ne=[{value:"both",text:"同步选择"},{value:"up",text:"包含上级"},{value:"down",text:"包含下级"},{value:"disable",text:"仅选择自身"}],Ue="";var ue=(e=>(e.List="LIST",e.Tree="TREELIST",e.ListList="NAVLIST",e.TreeList="NAVTREELIST",e.ListTree="NAVLISTTREE",e))(ue||{}),he=(e=>(e.default="default",e.all="all",e.async="async",e))(he||{});const ve="__lookup_active_tab__",Pt="__lookup_user_data_id__";var oe=(e=>(e.dataList="datalist",e.favorite="favorite",e))(oe||{});const ze={showPageInfo:!0,enable:!1,showLimits:!0,sizeLimits:[10,20,30,50,100],size:20,index:1,total:0,mode:"server",showGoto:!1},nt=Symbol("f_lookup-http-service_token");var Fe=(e=>(e[e.Equal=0]="Equal",e[e.NotEqual=1]="NotEqual",e[e.Greater=2]="Greater",e[e.GreaterOrEqual=3]="GreaterOrEqual",e[e.Less=4]="Less",e[e.LessOrEqual=5]="LessOrEqual",e[e.Like=6]="Like",e[e.LikeStartWith=7]="LikeStartWith",e[e.LikeEndWith=8]="LikeEndWith",e[e.NotLike=9]="NotLike",e[e.NotLikeStartWith=10]="NotLikeStartWith",e[e.NotLikeEndWith=11]="NotLikeEndWith",e[e.Is=12]="Is",e[e.IsNot=13]="IsNot",e[e.In=14]="In",e[e.NotIn=15]="NotIn",e))(Fe||{}),Ie=(e=>(e[e.Empty=0]="Empty",e[e.And=1]="And",e[e.Or=2]="Or",e))(Ie||{}),it=(e=>(e[e.Value=0]="Value",e[e.Expression=1]="Expression",e.FrontExpress="frontExpress",e))(it||{});const at={showCloseButton:!0,showMaxButton:!0,draggable:!0,resizeable:!0,enableEsc:!0,rememberSize:!0};function kt(){function e(i,t,n){const o={};return o.dictPicking=l=>t.call("dictPicking",i,[l,i],n),o.beforeLoadData=l=>t.call("beforeLoadData",i,[l,i],n),o.beforeSelectData=l=>t.call("beforeSelectData",i,[l,i],n),o.dictPicked=l=>t.call("dictPicked",i,[l,i],n),o}return{resolve:e}}const Ce={id:{type:String,require:!0},uri:{type:String,default:""},readonly:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},editable:{type:Boolean,default:!1},enableFavorite:{type:Boolean,default:!1},mappingFields:{type:Object,default:null},fitColumns:{type:Boolean,default:!0},columns:{type:Array,default:[]},idField:{type:String,default:"id"},textField:{type:String,defalut:"name"},data:{type:Array,default:[]},displayType:{type:String,default:ue.List},dialog:{type:Object,default:{title:""}},multiSelect:{type:Boolean,default:!1},showSelections:{type:Boolean,default:!0},separator:{type:String,default:","},pagination:{type:Object,default:ze},enableClear:{type:Boolean,default:!0},inputType:{type:String,default:"text"},idValue:{type:String,default:""},dictPicking:{type:Function,default:null},dictPicked:{type:Function,default:null},beforeSelectData:{type:Function,default:null},beforeLoadData:{type:Function,default:null},enableSearchBar:{type:Boolean,default:!0},searchFields:{type:Array,default:[]},searchAnyField:{type:Boolean,default:!0},navigation:{type:Object,default:null},textChangeType:{type:String,default:"any"},showNavigation:{type:Boolean,default:!0},showIncludeChildNodes:{type:Boolean,default:!0},includeChildNodesValue:{type:Boolean,default:!0},enableMultiFieldSearch:{type:Boolean,default:!1},treeToList:{type:Boolean,default:!1},navTreeToList:{type:Boolean,default:!1},loadTreeDataType:{type:String,default:he.default},enableToSelect:{type:Boolean,default:!0},customData:{type:Object,default:null},modelValue:{type:String,default:""},enableUserData:{type:Boolean,default:!1},userDataKey:{type:String,default:""},onReady:{type:Function,default:null},context:{type:Object,default:{}},placeholder:{type:String,default:"请选择"},loader:{type:Function,default:null},allowFreeInput:{type:Boolean,default:!1},onlySelectLeaf:{type:Boolean,default:!1},enableFullTree:{type:Boolean,default:!0},enableCascade:{type:Boolean,default:!1},showCascadeControl:{type:Boolean,default:!0},cascadeItems:{type:Object,default:{both:!0,up:!0,down:!0,disable:!0}},cascadeValue:{type:String,default:"both"},expandLevel:{type:Number,default:0},openType:{type:String,default:"Modal"},enableTitle:{type:Boolean,default:!1},enableEqualSearch:{type:Boolean,default:!1},togglePopupOnClickInput:{type:Boolean,default:!1}},Lt=Be.createPropsResolver(Ce,et,Ze,tt),ot=kt(),_e=Be.getPropsResolverGenerator(Ce,et,Ze,tt);function Me(e){let i=[10,20,30,50,100];return e&&(typeof e=="string"&&(i=e.replaceAll("[","").replaceAll("]","").replaceAll(" ","").split(",")),Array.isArray(e)&&(i=e)),i.map(t=>({value:parseInt(t,10)})).sort((t,n)=>t.value-n.value)}const K={convertFrom:(e,i)=>{const t=e.editor?e.editor:e;return i==="multiSelect"||i==="enableTitle"?!!t[i]:i==="separator"?t[i]||",":i==="onlySelectLeaf"?t[i]==null?!1:t[i]:i==="loadTreeDataType"?t[i]||"default":i==="placeholder"?re.isNil(t[i])?"请选择":t[i]:i==="openType"?t[i]||"Modal":t[i]},convertTo:(e,i,t)=>{const n=e.editor?e.editor:e;if(n[i]=t,i==="multiSelect"&&!t&&(n.enableCascade=!1),i==="openType"){if(t==="Popup")n.showSelections=!1,n.enableCascade=!1;else if(n.dialog){const{width:o}=n.dialog,{displayType:l}=n;l&&l.toUpperCase().indexOf("NAV")>-1&&(!o||o<520)&&(n.dialog.width=960)}}n.multiSelect&&n.openType==="Popup"&&(n.editable=!1,n.allowFreeInput=!1)}};function xt(e){let i="form_group_"+Date.now();return e&&(i=e.replace(/-/g,"_").replace(/\./g,"_")),"lookup."+i}function Et(e,i){const{enablePager:t,pageSize:n,pageList:o}=i;e.pagination=e.pagination||{},Object.assign(e.pagination,{enable:t,sizeLimits:Me(o).map(l=>l.value),size:n,showLimits:!0,showGoto:!1,mode:"server"})}const qe={convertFrom:(e,i)=>{var n;return(n=(e.editor?e.editor:e).dataSource)==null?void 0:n.displayName},convertTo:(e,i,t)=>{if(t&&t.length>0){const n=e.editor?e.editor:e,o=t[0],{name:l,id:r,metadataContent:d,code:s}=o;n.dataSource||(n.dataSource={}),n.dataSource.displayName=`${l}(${s})`,n.helpId=r;const{displayType:f,idField:c,textField:p}=d;n.displayType=f,n.dataSource.idField=c,n.textField=p,n.dataSource.type="ViewObject",n.enableEqualSearch=!1;const{pageInfo:T}=d.dataSource;Et(n,T);const{treeInfo:I}=f.toUpperCase()==="NAVTREELIST"?d.navigation:d.dataSource;if(I){const{onlySelectLeaf:C,loadDataType:g}=I;n.loadTreeDataType="default",n.onlySelectLeaf=C??!1}if(n.dataSource.uri||(n.dataSource.uri=xt(e.id)),n.dialog){const{width:C}=n.dialog;f&&f.toUpperCase().indexOf("NAV")>-1&&(!C||C<520)&&(n.dialog.width=960)}}}},Vt={convertFrom:(e,i)=>{var t;return(t=e.editor.dataSource)==null?void 0:t.idField},convertTo:(e,i,t)=>{if(t&&t.length>0){const n=t[0];e.editor.dataSource.idField=n==null?void 0:n.bindingPath}}},Nt={convertFrom:(e,i)=>{var t;return(t=e.editor)==null?void 0:t.textField},convertTo:(e,i,t)=>{if(t&&t.length>0){const n=t[0];e.editor.textField=n==null?void 0:n.bindingPath}}},Mt={convertFrom:(e,i)=>e.editor.displayType?e.editor.displayType.toUpperCase():"LIST",convertTo:(e,i,t)=>{e.editor.displayType=t}},fe={convertFrom:(e,i)=>{var l;let t=e.editor?e.editor.dialog:e.dialog;const n=e.editor?e.editor.openType:e.openType;if(t||(t={}),i==="title")return t[i]||Ue;if(!n||n==="Modal"){if(i==="width")return(l=t.displayType)!=null&&l.toUpperCase().startsWith("NAV")?t[i]||960:t[i]||590;if(i==="height")return t[i]||620;if(i==="navigatorWidth")return t[i]||320}else{if(i==="width")return t[i]||460;if(i==="height")return t[i]||380}if(i==="draggable")return!0;if(["showMaxButton","showCloseButton","resizeable","enableEsc","rememberSize"].includes(i))return t[i]==null?!0:t[i]},convertTo:(e,i,t)=>{const n=e.editor?e.editor:e;n.dialog=n.dialog||{},n.dialog[i]=t}},Dt={convertFrom:(e,i)=>{const t=e.editor?e.editor:e;if(t.pagination=t.pagination||{},i==="enable"||i==="showLimits")return t.pagination[i]==null?!1:t.pagination[i];if(i==="sizeLimits"){const n=t.pagination[i];return Me(n)}if(i==="size")return t.pagination[i]||20},convertTo:(e,i,t)=>{var o;const n=e.editor?e.editor||{}:e;if(n.pagination=n.pagination||{},i==="sizeLimits"){const l=t.map(d=>d.value);n.pagination[i]=l;const r=((o=n.pagination)==null?void 0:o.size)??20;l.includes(r)||(n.pagination.size=l[0]);return}n.pagination[i]=t}},Ot=[{label:"clear",name:"清空事件"},{label:"dictPicking",name:"帮助前事件"},{label:"beforeLoadData",name:"数据加载前事件"},{label:"beforeSelectData",name:"选择数据确认前事件"},{label:"dictPicked",name:"帮助后事件"}],Bt=[{label:"dictPicking",name:"帮助前事件"},{label:"beforeLoadData",name:"数据加载前事件"},{label:"beforeSelectData",name:"选择数据确认前事件"},{label:"dictPicked",name:"帮助后事件"}],lt=Symbol("schema_repository_token");function Rt(e,i){const t=new Map;i.forEach(o=>{t.set(o.id,o.title)});const n=o=>{var l;if(!(!o||o.length===0))for(const r of o){const d=(l=r.data)==null?void 0:l.id;d&&t.has(d)&&(r.data.name=t.get(d)),r.children&&r.children.length>0&&n(r.children)}};n(e)}function st(e,i){const t=n=>n&&n.length?n.map(o=>`${o.name}[${o.bindingPath}]`).join(","):"";return{dataSourceEditor:{type:"schema-selector",title:"选择数据源",editorParams:{propertyData:e,formBasicInfo:i.formSchemaUtils.getFormMetadataBasicInfo()},viewOptions:i.formSchemaUtils.designerMode==="PC_RTC"?[{id:"total",title:"全部",type:"List",dataSource:"Total"}]:[{id:"recommend",title:"推荐",type:"List",dataSource:"Recommand",enableGroup:!0,groupField:"category",groupFormatter:(n,o)=>`${n==="local"?"本地元数据":"最近使用"}`},{id:"total",title:"全部",type:"List",dataSource:"Total"}],repositoryToken:lt},dataSourceConverter:qe,defaultConverter:K,idFieldEditor:{type:"field-selector",textField:"bindingPath",idField:"bindingPath",disabled:!1,editorParams:{propertyData:e,formBasicInfo:i.formSchemaUtils.getFormMetadataBasicInfo()},columns:[{field:"name",title:"名称"},{field:"code",title:"编号"},{field:"bindingPath",title:"绑定字段"}],repositoryToken:xe.FieldSelectorRepositoryToken},textFieldEditor:{type:"field-selector",textField:"bindingPath",idField:"bindingPath",editorParams:{propertyData:e,formBasicInfo:i.formSchemaUtils.getFormMetadataBasicInfo()},columns:[{field:"name",title:"名称"},{field:"code",title:"编号"},{field:"bindingPath",title:"绑定字段"}],repositoryToken:xe.FieldSelectorRepositoryToken},mappingFieldsEditor:{type:"mapping-editor",modalWidth:800,modalHeight:600,editable:!1,editorParams:{propertyData:e,formBasicInfo:i.formSchemaUtils.getFormMetadataBasicInfo()},fromData:{editable:!0,formatter:(n,o)=>`${o.raw.name} [${o.raw.bindingPath}]`,idField:"bindingPath",textField:"name",valueField:"bindingPath",searchFields:["name","bindingPath"],repositoryToken:xe.FieldSelectorRepositoryToken,displayFormatter:t},toData:{editable:!1,idField:"bindingPath",textField:"name",valueField:"bindingPath",searchFields:["name","bindingPath"],dataSource:()=>{const n=i.designViewModelUtils.getAllFields2TreeByVMId(i.viewModelId);if(i.formRule){const l=i.formRule.fields.map(r=>({id:r.binding.field,title:r.label}));Rt(n,l)}const o=i.schemaService.getPrimaryField();return o?n.filter(l=>l.data.bindingPath!==o):n},formatter:(n,o)=>`${o.raw.name} [${o.raw.bindingPath}]`,displayFormatter:t}}}}function rt(e){var l,r;const i={type:"combo-list",enableClear:!1,editable:!1},t={type:"number-spinner",useThousands:!1},n=()=>e.displayType?e.displayType.toUpperCase():"",o=()=>n().startsWith("NAV")?e.showNavigation===void 0?!0:!!e.showNavigation:!1;return{openType:{description:"窗口展示方式:弹出窗口、下拉面板",title:"打开方式",type:"string",refreshPanelAfterChanged:!0,$converter:K,editor:{...i,data:[{text:"弹出窗口",value:"Modal"},{text:"下拉面板",value:"Popup"}],valueField:"value",textField:"text",idField:"value"},visible:!0,defaultValue:"Modal"},title:{description:"帮助标题",title:"标题",type:"string",visible:e.openType!=="Popup",$converter:fe},width:{description:"窗口宽度,单位:px,最小值:300px",title:"宽度",type:"number",editor:{...t,min:o()?520:300,needValid:!0},$converter:fe},height:{description:"窗口高度,单位:px,最小值:200px",title:"高度",type:"number",editor:{...t,min:200,needValid:!0},$converter:fe},showNavigation:{description:"显示导航栏",$converter:K,refreshPanelAfterChanged:!0,title:"显示导航栏",type:"boolean",visible:n().includes("NAV")&&e.openType!=="Popup"},navigatorWidth:{description:"导航栏宽度,最小200px, 最大为窗口宽度减去200px",title:"导航栏宽度",type:"number",visible:o()&&e.openType!=="Popup",editor:{...t,min:200,max:(((l=e==null?void 0:e.dialog)==null?void 0:l.width)??960)-200,needValid:!0},$converter:fe},resizeable:{description:"允许鼠标拖拽窗口边缘调整尺寸",title:"允许调整窗口尺寸",type:"boolean",visible:e.openType!=="Popup",$converter:fe},rememberSize:{description:"记录窗口尺寸",title:"记录窗口尺寸",type:"boolean",visible:!!e.enableUserData&&(((r=e==null?void 0:e.dialog)==null?void 0:r.resizeable)??!0)&&e.openType!=="Popup",$converter:fe},enableEsc:{description:"允许ESC关闭",title:"允许ESC关闭",type:"boolean",visible:e.openType!=="Popup",$converter:fe},showMaxButton:{description:"显示最大化按钮",title:"显示最大化按钮",type:"boolean",visible:e.openType!=="Popup",$converter:fe},showCloseButton:{description:"显示关闭按钮",title:"显示关闭按钮",type:"boolean",visible:e.openType!=="Popup",$converter:fe}}}function dt(e,i=!0){var l,r,d,s;const t=!((l=e.pagination)!=null&&l.enable),n=()=>e.displayType?e.displayType.toUpperCase():"",o=(f,c)=>{const p=n()!=="TREELIST"||f.treeToList;return c&&p?f.pagination&&f.pagination[c]:p};return{hide:!o(e)||t,description:"分页配置",title:"分页",parentPropertyID:"pagination",$converter:Dt,properties:{showLimits:{description:"显示每页条数选择器",title:"显示条数选择器",type:"boolean",refreshPanelAfterChanged:i,visible:o(e)},sizeLimits:{description:"每页可显示条数",title:"每页显示条数",type:"array",refreshPanelAfterChanged:i,visible:o(e,"showLimits"),editor:{columns:[{field:"value",title:"显示条数",dataType:"number",editor:{type:"number-spinner",useThousands:!1,min:10,max:1e4}}],title:"每页显示条数编辑器",modalWidth:400,modalHeight:500,type:"item-collection-editor",valueField:"value",nameField:"value",requiredFields:["value"],uniqueFields:["value"],modelValue:Me((r=e.pagination)==null?void 0:r.sizeLimits),beforeSubmit:({notifyService:f,data:c})=>!c||!c.length?(f==null||f.warning({message:"每页显示条数不能为空!"}),!1):new Set(c.map(T=>parseInt(T.value,10))).size===c.length?!0:(f==null||f.warning({message:"每页显示条数不能重复!"}),!1)}},size:{description:"默认显示条数",title:"默认显示条数",type:"number",visible:o(e),editor:{type:"combo-list",enableClear:!1,editable:!1,data:Me((d=e.pagination)==null?void 0:d.sizeLimits),textField:"value",idField:"value",valueField:"value",modelValue:(s=e.pagination)==null?void 0:s.size}}}}}class ct extends Qe.InputBaseProperty{constructor(){super(...arguments);te(this,"comboListEditor",{type:"combo-list",enableClear:!1,editable:!1});te(this,"numberEditor",{type:"number-spinner",useThousands:!1});te(this,"readonlyEditor",{...this.comboListEditor,editable:!0});te(this,"visibleEditor",{...this.comboListEditor,editable:!1});te(this,"requiredEditor",{...this.comboListEditor,editable:!1});te(this,"freeInputEditor",{...this.comboListEditor,editable:!1})}getExpressionConfig(t,n){const o=["validate"];return t.type==="form-group"&&o.push("dataPicking"),this.expressionProperty.getExpressionConfig(t,"Field",o)}getPropertyConfig(t,n,o="Card"){var u;const l=(u=t.binding)!=null&&u.field?[]:["Const","Variable","StateMachine"];this.readonlyEditor=this.getPropertyEditorParams(t,l,"readonly"),this.visibleEditor=this.getPropertyEditorParams(t,l,"visible"),this.requiredEditor=this.getPropertyEditorParams(t,l,"required"),this.freeInputEditor=this.getPropertyEditorParams(t,["Const","Variable"],"allowFreeInput");const r=this.getBasicProperties(t,n,o),d=this.getBehaviorConfig(t),s=this.getAppearanceProperties(t,n),f=this.getLookupConfig(t),c=this.getEventPropConfig(t),p=this.getDialogPropertyConfig(t),T=this.getPageConfig(t.editor),I=this.getTreePropConfig(t.editor),C=this.getSearchConfig(t),g=this.getExpressionConfig(t,"Field"),h={basic:r,appearance:s,behavior:d,lookup:f,treeConfig:I,dialog:p,pager:T,searchConfig:C,expressions:g};return t.type==="form-group"&&(h.eventsEditor=c),{type:"object",categories:h}}getGridFieldEdtiorPropConfig(t){return this.getPropertyConfig(t,null,"Grid").categories}flattenTreeNodes(t){return t.reduce((n,o)=>{var l;return n.push(o),(l=o.children)!=null&&l.length&&n.push(...this.flattenTreeNodes(o.children)),n},[])}isSimpleStringField(){var d;const t=((d=this.designViewModelField)==null?void 0:d.path)||"";if(!t||!t.includes("."))return!0;const n=t.split("."),o=this.designViewModelUtils.getAllFields2TreeByVMId(this.viewModelId);if(!(o!=null&&o.length))return!1;const l=o.find(s=>s.data.code===n[0]);if(!l)return!1;const r=[l,...this.flattenTreeNodes(l.children)];return!n.reduce((s,f,c)=>[...s,c?`${s[c-1]}.${f}`:f],[]).some(s=>{var f,c,p;return((p=(c=(f=r.find(T=>T.data.path===s))==null?void 0:f.data)==null?void 0:c.type)==null?void 0:p.$type)==="EntityType"})}getBehaviorConfig(t){return{description:"Basic Infomation",title:"行为",properties:{visible:{description:"运行时组件是否可见",title:"是否可见",type:"boolean",editor:this.visibleEditor}},setPropertyRelates:(n,o)=>{this.afterMutilEditorChanged(o,n)}}}changeBindingField(t,n){super.changeBindingField(t,n),t.editor.multiSelect=!1}getDisplayType(t){return t.displayType?t.displayType.toUpperCase():""}mapFieldsDisplayFormatter(t){return t&&t.length?t.map(n=>`${n.name}[${n.bindingPath}]`).join(","):""}getSearchConfig(t){var n;return{description:"Lookup Search Infomation",title:"搜索",parentPropertyID:"editor",properties:{enableSearchBar:{$converter:K,description:"是否启用搜索栏",refreshPanelAfterChanged:!0,title:"启用搜索栏",type:"boolean",visible:!1},searchAnyField:{description:"显示所有列",$converter:K,title:"允许查询所有列",type:"boolean",visible:t.editor.openType!=="Popup"&&t.editor.enableSearchBar==null?!0:!!t.editor.enableSearchBar},enableEqualSearch:{$converter:K,description:"是否启用等于搜索",title:"启用精确搜索",type:"boolean",visible:t.editor.openType!=="Popup"&&(((n=t.editor)==null?void 0:n.enableSearchBar)??!0)!==!1&&this.getDisplayType(t.editor)!=="TREELIST"}},hide:t.editor.openType==="Popup"}}getLookupConfig(t){var f;const n=t.editor,o=()=>{const c=this.formSchemaUtils.getFormSchema().module.entity[0].id,p=this.formSchemaUtils.getFormMetadataBasicInfo();return{propertyData:n,formBasicInfo:p,viewModelId:c,dataSourceId:n.helpId}},{dataSourceEditor:l,idFieldEditor:r,textFieldEditor:d,mappingFieldsEditor:s}=st(n,this);return{description:"Basic Infomation",title:"编辑器",setPropertyRelates:(c,p)=>{if(c)switch(c.propertyID){case"readonly":case"required":this.afterMutilEditorChanged(p,c);break}},parentPropertyID:"editor",properties:{readonly:{description:"",title:"只读",type:"boolean",$converter:"/converter/property-editor.converter",editor:this.readonlyEditor},required:{description:"",title:"必填",type:"boolean",$converter:"/converter/property-editor.converter",editor:this.requiredEditor,visible:!!((f=t.binding)!=null&&f.field)},placeholder:{description:"当控件没有值时在输入框中显示的文本",title:"提示文本",type:"string",$converter:K},enableTitle:{description:"鼠标悬停显示文本内容",title:"悬停提示",type:"boolean",$converter:K,editor:this.comboListEditor},editable:{description:"",title:"允许编辑",type:"boolean",$converter:K,refreshPanelAfterChanged:!0,editor:this.comboListEditor,visible:!(n.multiSelect&&n.openType==="Popup")},allowFreeInput:{description:"",title:"任意输入",type:"boolean",$converter:K,editor:this.freeInputEditor,visible:!!n.editable&&this.isSimpleStringField()},enableClear:{title:"启用清除按钮",type:"boolean",$converter:K},dataSource:{description:"数据源",title:"数据源",type:"string",refreshPanelAfterChanged:!0,editor:{...l,displayFormatter:c=>c&&c.length?c.map(p=>`${p.name}(${p.code})`).join(","):"",validateFunction:async c=>this.formSchemaUtils.designerMode!=="PC_RTC"?!0:this.checkSameBESource(c,t),onSubmitModal:c=>{if(c){delete n.mappingFields;const p=this.formSchemaUtils.getFormMetadataBasicInfo();return this.metadataService.getPickMetadata(p.relativePath,c[0].data).then(T=>JSON.parse(T==null?void 0:T.metadata.content))}}},$converter:qe},filterConditions:{descriptions:"帮助过滤条件",title:"过滤条件",type:"string",$converter:K,editor:{type:"filter-condition-editor",editable:!1,displayText:"点击配置",enableClear:!1,enableExpression:!0,editorParams:{propertyData:n,formBasicInfo:this.formSchemaUtils.getFormMetadataBasicInfo(),viewModelId:this.formSchemaUtils.getFormSchema().module.entity[0].id},idField:"path",repositoryToken:xe.FieldSelectorRepositoryToken,beforeOpen:async({repository:c,notifyService:p})=>{var u;if(!(n==null?void 0:n.helpId))return p==null||p.warning({message:"请先配置数据源!"}),!1;const I=o(),g=new Qe.ExpressionProperty(this.formSchemaUtils).getEntitiesAndVariables();let h={};if(c){const y=await c.getData(I),S=await c.getLookupConditions(I);h={fieldList:y,conditionList:S}}return(u=g.variables)!=null&&u.forms&&(g.variables.forms.items=g.variables.forms.items.filter(y=>y.category==="remote")),{...h,...g,isServerSide:!0}},onSubmitModal:async({loadingService:c,repository:p,conditions:T,originalConditions:I,FMessageBoxService:C})=>{if(p)try{const g=o(),h=await p.getLookupConditions(g)||[];return JSON.stringify(h)!==JSON.stringify(I.value)?(c==null||c.clearAll(),C.question("视图对象中的帮助过滤条件已更改,请点击确定同步过滤数据","",()=>{T.value=h,I.value=JSON.parse(JSON.stringify(T.value))},()=>{}),!1):(JSON.stringify(T.value)===JSON.stringify(I.value)||await p.saveFilterCondition(T.value,g,this.formSchemaUtils.getFormMetadataBasicInfo()),!0)}catch{return C==null||C.error("保存失败",""),!1}finally{c==null||c.clearAll()}}},visible:!!n.helpId},displayType:{description:"类型: 树列表、列表、双列表、左树右列表",title:"展示类型",type:"string",$converter:Mt,editor:{type:"combo-list",editable:!1,disabled:!0,data:[{text:"列表",value:"LIST"},{text:"树列表",value:"TREELIST"},{text:"双列表",value:"NAVLIST"},{text:"左树右列表",value:"NAVTREELIST"}],textField:"text",idField:"value",valueField:"value"}},idField:{description:"数据源标识字段",title:"标识字段",type:"string",editor:{...r},$converter:Vt},textField:{description:"显示文本字段",title:"文本字段",type:"string",$converter:Nt,editor:d},mappingFields:{description:"字段映射",title:"字段映射",type:"string",$converter:K,editor:{...s}},enableToSelect:{description:"数据加载后是否选中现有值",$converter:K,title:"选中已选值",type:"boolean",editor:this.comboListEditor},multiSelect:{description:"启用多选",$converter:K,title:"启用多选",type:"boolean",editor:this.comboListEditor,refreshPanelAfterChanged:!0,visible:this.isSimpleStringField()},showSelections:{description:"显示已选记录",$converter:K,title:"显示已选记录",type:"boolean",visible:!!n.multiSelect&&n.openType!=="Popup"},separator:{description:"多选分隔符",$converter:K,title:"多选分隔符",type:"string",editor:{type:"combo-list",editable:!1,disabled:!1,data:[{text:",",value:","},{text:"|",value:"|"},{text:"#",value:"#"}],textField:"text",idField:"value",valueField:"value",separator:"@"},visible:!!n.multiSelect},enableSearchBar:{description:"显示搜索工具条",$converter:K,refreshPanelAfterChanged:!0,title:"启用搜索框",type:"boolean",visible:!1},enableFavorite:{description:"启用收藏夹",$converter:K,title:"启用收藏夹",type:"boolean",visible:n.openType!=="Popup"},enableUserData:{description:"保存界面状态",$converter:K,refreshPanelAfterChanged:!0,title:"保存界面状态",type:"boolean",visible:n.openType!=="Popup"}}}}showNavigatiorWidth(t){return this.getDisplayType(t).startsWith("NAV")&&t.openType!=="Popup"?t.showNavigation===void 0?!0:!!t.showNavigation:!1}getDialogPropertyConfig(t){const n=rt(t.editor);return n.openType.$converter=K,{description:"帮助窗口尺寸配置",title:"帮助窗口",parentPropertyID:"dialog",$converter:fe,properties:n}}showPagerProperty(t,n){const o=this.getDisplayType(t)!=="TREELIST"||t.treeToList;return n&&o?t.pagination&&t.pagination[n]:o}getPageConfig(t){return dt(t)}showLoadType(t){const n=this.getDisplayType(t);return(n==="TREELIST"||n==="NAVTREELIST")&&!t.treeToList&&!t.navTreeToList}isTree(t){return this.getDisplayType(t)==="TREELIST"&&!t.treeToList}getTreePropConfig(t){return{hide:this.getDisplayType(t)!=="TREELIST"&&this.getDisplayType(t)!=="NAVTREELIST",description:"树形数据配置",title:"树形数据配置",parentPropertyID:"editor",properties:{treeToList:{description:"以列表的形式展示树结构数据",$converter:K,refreshPanelAfterChanged:!0,title:"以列表形式展示",type:"boolean",visible:this.getDisplayType(t)==="TREELIST"},navTreeToList:{description:"以列表的形式展示树结构数据",$converter:K,refreshPanelAfterChanged:!0,title:"以列表形式展示",type:"boolean",visible:this.getDisplayType(t)==="NAVTREELIST"},loadTreeDataType:{description:"树形数据加载方式",$converter:K,title:"数据加载方式",type:"string",editor:{...this.comboListEditor,data:[{value:"default",text:"默认"},{value:"all",text:"全部加载"},{value:"async",text:"分层加载"}],textField:"text",valueField:"value"},visible:this.showLoadType(t)},enableFullTree:{description:"启用构造完整树",$converter:K,title:"构造完整树",type:"boolean",visible:this.showLoadType(t)},onlySelectLeaf:{description:"仅选择叶子节点",$converter:K,title:"仅选择叶子节点",type:"boolean",visible:this.isTree(t)},enableCascade:{description:"启用级联选择",$converter:K,refreshPanelAfterChanged:!0,title:"启用级联选择",type:"boolean",visible:this.isTree(t)&&!!t.multiSelect&&t.openType!=="Popup"},showCascadeControl:{description:"是否在界面中显示级联状态",$converter:K,title:"显示级联状态",type:"boolean",visible:!!t.enableCascade&&this.isTree(t)},cascadeValue:{description:"缺省级联选择模式",$converter:K,title:"缺省级联选择模式",type:"string",visible:!!t.enableCascade&&this.isTree(t),editor:{...this.comboListEditor,data:Ne,textField:"text",valueField:"value"}},expandLevel:{description:"默认展开层级: 0: 不展开; -1: 全部展开;>0: 展开到指定级数 ",$converter:K,title:"默认展开层级",type:"number",visible:this.showLoadType(t),editor:{...this.numberEditor,min:-1,max:99,needValid:!0}}}}}getEventPropConfig(t){const n=this;let o=[...Ot];t.editor.openType==="Popup"&&(o=o.filter(d=>d.label!=="beforeSelectData")),o.push(...this.getInputCommonEvents(t));const l=n.eventsEditorUtils.formProperties(t,n.viewModelId,o);return{title:"事件",hideTitle:!0,properties:n.createBaseEventProperty(l),refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(d,s){const f=d.propertyValue;delete s[n.viewModelId],f&&(n.eventsEditorUtils.saveRelatedParameters(s,n.viewModelId,f.events,f),n.updateLinkedLabel(f,s));const c=n.designViewModelUtils.getDgViewModel(n.viewModelId);c&&n.designViewModelField&&c.changeField(n.designViewModelField.id,{valueChanging:s.fieldValueChanging,valueChanged:s.fieldValueChanged})}}}async checkSameBESource(t,n){var o,l,r,d,s;if(t&&((o=n==null?void 0:n.editor)!=null&&o.helpId)&&!n.isRtcControl){if(t.data.id===n.editor.helpId)return!0;const f=await this.metadataService.getPickMetadata("",t.data).then(g=>{var h;if((h=g==null?void 0:g.metadata)!=null&&h.content)return JSON.parse(g.metadata.content)}),c=await this.metadataService.getPickMetadata("",{id:n.editor.helpId}).then(g=>{var h;if((h=g==null?void 0:g.metadata)!=null&&h.content)return JSON.parse(g.metadata.content)}),p=(l=f==null?void 0:f.dataSource)==null?void 0:l.sourceType,T=(r=c.dataSource)==null?void 0:r.sourceType,I=(d=f==null?void 0:f.dataSource)==null?void 0:d.sourceId,C=(s=c==null?void 0:c.dataSource)==null?void 0:s.sourceId;if(p==="BE"&&T==="BE"&&I!==C)return new Ee.FNotifyService().error({message:"只允许更换同数据源的帮助元数据",position:"top-center"}),!1}return!0}}function jt(e,i){function t(n,o){const l=e.schema;return new ct(n,i).getPropertyConfig(l,o)}return{getPropsConfig:t}}const At=a.defineComponent({name:"FLookupDesign",props:Ce,emits:[],setup(e,i){const t=a.ref(),n=a.inject("design-item-context"),o=a.inject("designer-host-service"),l=jt(n,o),r=we.useDesignerComponent(t,n,l),d='<i class="f-icon f-icon-lookup"></i>',s='<i class="f-icon f-icon-arrow-chevron-down"></i>',f=a.computed(()=>e.openType==="Popup"?"Popup":"Modal"),c=a.computed(()=>f.value==="Popup"?s:d);return a.onMounted(()=>{t.value.componentInstance=r}),i.expose(r.value),()=>a.createVNode("div",{class:"f-lookup-design",ref:t},[a.createVNode(ye,{ref:t,buttonContent:c.value,readonly:!0,editable:!1,placeholder:e.placeholder},null)])}});function be(e,i){const{lookupOptions:t}=i;function n(g){return{...ze,...g}}function o(){return{enableSelectRow:!0,multiSelect:t.multiSelect,showCheckbox:t.multiSelect,multiSelectMode:"OnCheckAndClick"}}function l(){return{fitColumns:e.fitColumns,fitMode:"percentage",resizeColumn:!0}}function r(){const{displayType:g}=i.lookupOptions;return typeof g=="string"&&g in ue?!1:g.toLowerCase().startsWith("nav")}function d(){const{displayType:g,treeToList:h}=i.lookupOptions;return(g.toLowerCase()===ue.Tree.toLowerCase()||g.toLowerCase()===ue.ListTree.toLowerCase())&&!h}function s(){const{displayType:g,navTreeToList:h}=i.lookupOptions;return g.toLowerCase()===ue.TreeList.toLowerCase()&&!h}function f(){const{displayType:g,navTreeToList:h}=i.lookupOptions,u=g.toLowerCase();return u===ue.ListList.toLowerCase()||u===ue.ListTree.toLowerCase()||h}function c(){var u;return t.dialog?{width:((u=t.dialog)==null?void 0:u.navigatorWidth)||320,minWidth:200}:{width:320,minWidth:200}}function p(g){const{loadTreeDataType:h}=t;return h===he.all||h==="default"&&(g==null?void 0:g.loadDataType)==="all"}function T(g){return(g==null?void 0:g.layerType)==="pathcode"}function I(){return t.enableCascade&&t.multiSelect}function C(){return e.openType==="Popup"}return{checkPaination:n,checkMultiSelect:o,checkColumnOptions:l,isDoubleList:r,getNavigationSize:c,isTreeList:d,navIsTreeList:s,navIsList:f,isLoadAll:p,isPathCodeTree:T,isEnableCascadeCheck:I,isDropdownMode:C}}function ut(e,i,t){var l;const n=a.ref(e.searchFields||[]),o=a.ref(((l=e.navigation)==null?void 0:l.searchFields)||[]);return a.watch(()=>i==null?void 0:i.searchFields,r=>{n.value=r}),a.watch(()=>t==null?void 0:t.searchFields,r=>{o.value=r}),{searchFieldItems:n,navSearchFieldItems:o}}function Ut(e){const i=a.reactive({}),t=a.reactive({}),n=a.reactive({}),o=a.reactive({}),l=a.reactive({}),r=a.ref([]),d=a.ref(),s=a.reactive({}),f=a.reactive({canClose:!0}),c=a.ref(!1),p=["displayType","treeToList","navTreeToList","showSelections","showNavigation","multiSelect","mappingFields","loader","idField","textField","userDataKey","dialog","expandLevel","treeInfo","navTreeInfo","onlySelectLeaf","loadTreeDataType","uri","enableFullTree","cascadeValue","showCascadeControl","enableCascade","enableFavorite"];function T(){p.forEach(I=>{s[I]=e[I]})}return T(),{pageInfoState:i,lookupState:t,navigationState:n,queryState:o,searchState:l,selectionState:r,unSelectDataId:d,lookupOptions:s,searchValueChanged:c,popupState:f}}const Pe=a.ref(),ge="F_LOOKUP_HTTP_COMPOSITION_TOKEN";function zt(e,i){const t=a.inject("FLoadingService"),n=a.inject(nt),o=Ut(e),{pageInfoState:l,lookupState:r,navigationState:d,lookupOptions:s,searchValueChanged:f}=o,{searchFieldItems:c,navSearchFieldItems:p}=ut(e,r,d),T=a.ref(e.idValue),I=a.ref(!1),C=()=>{var x;const m=(x=s.displayType)==null?void 0:x.toUpperCase();return m===ue.Tree||m===ue.TreeList},g=(m,x=!1)=>{if(m){const{layerType:M,dataField:z,parentField:J,pathField:X,layerField:Y,isDetailField:G,loadDataType:ae}=m,k={layerType:M,dataField:z,parentField:J,pathField:X,layerField:Y,isDetailField:G,loadDataType:ae},{onlySelectLeaf:w,loadTreeDataType:N}=s;k.onlySelectLeaf=w,k.loadDataType=N,x?s.navTreeInfo=Object.assign(s.navTreeInfo||{},k):s.treeInfo=Object.assign(s.treeInfo||{},k)}};function h(m,x,M="like"){if(x==null||!x.trim())return[];const z=Array.from(new Set(x.trim().split(" ").filter(ae=>ae.trim())));if(!m||!z.length)return[];const X=M==="equal"?Fe.Equal:Fe.Like,Y=(m||[]).map((ae,k)=>{const w=z.map((N,A)=>({filterField:ae.value,value:N,lbracket:"",rbracket:"",relation:Ie.And,compare:X}));return w.length&&(w.length>1&&(w[0].lbracket="(",w[w.length-1].rbracket=")"),w[w.length-1].relation=Ie.Or),w}).filter(ae=>ae.length);let G=[];return Y&&Y.length&&(G=re.flatten(Y),G.length>1&&(G[0].lbracket+="(",G[G.length-1].rbracket+=")"),G[G.length-1].relation=0),G}function u(){let{expandLevel:m}=s;return m&&!re.isNaN(m)&&(m=m<-1?-1:m),m}function y(m,x){const M={};M.category=x;let z=null,J=null;if(m!=null&&m.search){const{field:X,value:Y,isNavigation:G,type:ae}=m.search,k=ae||"like";if(Y&&(M.searchValue=Y.trim()),M.searchField=X?X.trim():"*",M.searchType=k,G&&(M.category="navsearch"),!e.enableMultiFieldSearch){G&&(M.searchType="like");const w=M.searchType==="equal"&&M.searchValue?[{filterField:M.searchField,value:M.searchValue,lbracket:"",rbracket:"",relation:Ie.And,compare:Fe.Equal}]:[],N=G?p.value:c.value,A=M.searchField==="*"?h(N,Y,k):w;A&&A.length&&(G?z=A:J=A),Y===""&&M.category==="search"&&!J&&!z&&(M.category="all")}}return C()&&(M.layerNum=u()),{searchParam:M,navSearchConditions:z,searchConditions:J}}function S(m){var M,z;if(m==="fav")return{pageIndex:1,pageSize:500};let x="default";return m==="navsearch"&&(x="navigation"),{pageIndex:((M=l[x])==null?void 0:M.index)||1,pageSize:((z=l[x])==null?void 0:z.size)||20}}function P(m){const x={},M=(m==null?void 0:m.action)||"all",{searchParam:z,navSearchConditions:J,searchConditions:X}=y(m,M);X&&(x.searchConditions=X),J&&(x.navSearchConditions=J),x.enableFullTree=e.enableFullTree,x.searchValue=JSON.stringify(z);const{pageIndex:Y,pageSize:G}=S(M);return x.pageIndex=Y,x.pageSize=G,x.treeToList=e.treeToList,x.navTreeToList=e.navTreeToList,s.loadTreeDataType===he.default?x.loadTreeDataType="default":x.loadTreeDataType=s.loadTreeDataType===he.all?"loadall":"layerload",m!=null&&m.relationFilter&&(x.relationFilter=[...m.relationFilter]),m!=null&&m.navNodePathCode&&(x.navPathCode=m.navNodePathCode),m.selectedInfo&&(x.selectedInfo=m.selectedInfo),x.customData=a.toRaw(Pe.value),x.id=e.id,x}function V(m){return m==null?void 0:m.map(x=>(x.resizable=!0,x))}function B(m,x){return m.map(M=>{const z=x==null?void 0:x.find(J=>J.field.toLowerCase()===M.value.toLowerCase());return z&&(M.label=z.title),M})}function v(m){m.columns&&(m.columns=V(m.columns),m.searchFields&&(m.searchFields=B(m.searchFields,m.columns))),m.navigation&&m.navigation.columns&&(m.navigation.columns=V(m.navigation.columns),m.navigation.searchFields&&(m.navigation.searchFields=B(m.navigation.searchFields,m.navigation.columns)))}function q(){return s.loader||n&&n.getData.bind(n)}function W(m){const x=q();return x?x(s.uri,m).then(M=>(v(M),f.value=!1,M)):new Promise((M,z)=>{M({...e})})}function U(m){const x=u();return x===-1?!0:x===0?!1:m<=x}function j(m,x=!1,M="layer"){m.forEach(z=>{var J;z.collapse=x?!1:s.loadTreeDataType==="all"?!U(pe.resolveField(z.data,M)):!(z.expanded??!0),z.hasChildren=!z.leaf,(J=z.children)!=null&&J.length&&j(z.children,x,M)})}async function b(m,x){var J;const M=P(m),z=t==null?void 0:t.show();try{let X=await W(M);if(s.displayType!==X.displayType&&m.action!=="navsearch"&&(s.displayType=X.displayType),C()){const{items:Y,treeInfo:G}=X.navigation||X;if(s.loadDataType===he.default&&(s.loadTreeDataType=(G==null?void 0:G.loadDataType)||he.all),Y!=null&&Y.length&&G){const{dataField:ae,layerField:k}=G;j(Y,!1,`${ae}.${k}`)}}e.beforeLoadData&&(X=await e.beforeLoadData({data:X})),x(X)}finally{(J=z==null?void 0:z.value)==null||J.close()}}function L(m){I.value=m}function F(m,x){if(!x)return"";const{dataField:M,pathField:z}=x;return z?M?m[M][z]:pe.resolveField(m,z):""}function H(m){const x=[];return(m.selectable||m.selectable===void 0)&&x.push(m),m.children&&m.children.length&&m.children.forEach(M=>{x.push(...H(M))}),x}function Z(m,x=!1){var X;if(!(m!=null&&m.length))return m;const M=x?(X=s.navigation)==null?void 0:X.treeInfo:s.treeInfo,{dataField:z,layerField:J}=M||{};return z&&J&&j(m,!0,`${z}.${J}`),m}function _(){try{const m=T.value;return m!==""&&m!=null?m:""}catch(m){return console.error("Error in getIdValues:",m),""}}function Q(){let m=_()||[];return Array.isArray(m)||(m=(""+m).split(e.separator)),{selectedIds:m,selected:!0}}return{includeChilds:I,updateIncludeChilds:L,idValues:T,getData:W,loadData:b,updateSearchFieldTitle:B,getPathCode:F,getChildNodes:H,lookupStates:o,httpService:n,lookupRequest:q,expandAllNodes:Z,getIdQueryParams:Q,setTreeInfo:g,getFieldValue:pe.resolveField}}function ft(e,i){a.watch(()=>e.pagination,(n,o)=>{JSON.stringify(n)!==JSON.stringify(o)&&(i.default=n)}),a.watch(()=>{var n;return(n=e.navigation)==null?void 0:n.pagination},(n,o)=>{JSON.stringify(n)!==JSON.stringify(o)&&(i.navigation=n)});function t(n,o=!1){n&&(o?i.navigation={...i.navigation,...n}:i.default={...i.default,...n})}return{updatePageInfo:t}}const De="F_LOOKUP_USER_DATA_SERVICE";function _t(e,i){const t=a.inject("FLoadingService",null),{lookupStates:n,lookupRequest:o,httpService:l}=i,{lookupOptions:r}=n,d=a.computed(()=>{const C=r.userDataKey||e.id;return C?pe.encrypt(C):""}),s=a.reactive({key:d.value,data:{}});function f(){return l?l.getSettings(s.key).then(C=>(C&&C.textValue?s.data=JSON.parse(C.textValue):s.data={},e.enableUserData||(s.data.tabIndex=oe.dataList),C)):Promise.resolve()}function c({width:C,height:g}){var h;s.data.size=((h=s.data)==null?void 0:h.size)||{},s.data.size={width:C,height:g}}function p(C=!1){if((e.enableUserData||C)&&l){const{key:g,data:h}=s,u={configkey1:g,configkey2:"",configkey3:"",textvalue:JSON.stringify(h)};return l==null?void 0:l.updateSettings(g,u)}return Promise.resolve()}function T(C){const g={category:"fav",favoriteIds:C.favoriteIds};return{searchValue:JSON.stringify(g),pageIndex:1,pageSize:500,treeToList:r.treeToList}}function I(){var u;const C=T({favoriteIds:(u=s.data)==null?void 0:u.favorites}),g=t==null?void 0:t.show(),h=o();return h?h(r.uri,C).then(y=>{var S;return(S=g.value)==null||S.close(),s.favoriteItems=y&&y.items||[],y}):Promise.resolve()}return{userDataState:s,setDialogSize:c,saveUserData:p,getFavoriteData:I,getUserData:f}}const Te=Symbol("FARRIS_LOOKUP_LOCALES");function qt(e){const{getLocaleValue:i}=Ft.LocaleService;function t(f,c,p){return f===c?i(p):f}const n=t(e.placeholder,"请选择","lookup.placeholder"),o={datalist:i("lookup.datalist")||"数据列表",favorite:i("lookup.favorites")||"收藏夹"},l={ok:i("lookup.okText")||"确定",cancel:i("lookup.cancelText")||"取消",clear:i("lookup.selectedInfo.clear")||"取消已选",addFav:i("lookup.favoriteInfo.addFavTitle")||"收藏",removeFav:i("lookup.favoriteInfo.cancelFavTitle")||"取消收藏",selectionTotal:f=>i("lookup.selectedInfo.total",[f])},r={clearSelections:i("lookup.selectedInfo.confirm")||"您确认要取消所有选中记录吗?",addedFavSuccess:i("lookup.favoriteInfo.addFav")||"已添加到收藏夹。",cancelFavSuccess:i("lookup.favoriteInfo.cancelFav")||"已从收藏夹中移除。",mustChoosAdatarow:i("lookup.mustChoosAdatarow")||"请选择一条数据。",mustWriteSomething:i("lookup.mustWriteSomething")||"请输入关键字后查询。"},d={includechildren:i("lookup.includechildren")||"包含下级",both:i("lookup.cascade.enable")||"同步选择",up:i("lookup.cascade.up")||"包含上级",down:i("lookup.cascade.down")||"包含下级",disable:i("lookup.cascade.disable")||"仅选择自身"};return{searchColumns:{allColumns:i("lookup.allColumns")||"所有列",anyFields:i("lookup.anyFields")||"全部",exactLabel:i("lookup.exact")||"精确"},placeholder:n,tree:d,messages:r,tabs:o,buttons:l}}function $e(e,i){const t=a.inject(Ee.F_NOTIFY_SERVICE_TOKEN),n=a.inject(De),o=a.inject(Te),{userDataState:l}=n;l.data=l.data||{};const r="_favorite_",d=a.ref(!1);function s({id:u,data:y},S="add"){var V,B;if(u==null&&u==="")return;const P=u;l.data.favorites=((V=l.data)==null?void 0:V.favorites)||[],l.favoriteItems=l.favoriteItems||[],S==="add"?(d.value=!1,l.data.favorites=Array.from(new Set([...((B=l.data)==null?void 0:B.favorites)||[],P])),l.favoriteItems=[...l.favoriteItems,y]):(d.value=!0,l.data.favorites=l.data.favorites.filter(v=>v!==P),l.favoriteItems=l.favoriteItems.filter(v=>v[i]!==P)),n==null||n.saveUserData(!0).then(v=>{const q=S==="add"?o.messages.addedFavSuccess:o.messages.cancelFavSuccess;t==null||t.success({message:q,position:"top-center"})})}function f(u){return u?u.raw[i]:""}const c=a.computed(()=>u=>{var S,P;const y=f(u);return(P=(S=l.data)==null?void 0:S.favorites)==null?void 0:P.includes(y)});function p(u,y,S){u.stopPropagation();const P=f(y);s({id:P,data:y.raw},c.value(y)?"remove":"add")}const T=u=>c.value(u)?o.buttons.removeFav:o.buttons.addFav,I=(u,y)=>a.createVNode("button",{type:"button",onClick:S=>{p(S,y)},class:["btn btn-link f-icon f-icon-star-outline p-0",{"f-icon-star":c.value(y)}],style:"color: #ffbd8c;",title:T(y)},null),C=(u,y)=>y.disabled?"":I(u,y),g={field:r,title:"",width:50,fixed:"right",align:"center",formatter:I};function h(u,y,S=!1){const P=re.cloneDeep(y);e.enableFavorite&&(g.formatter=S?C:I,P.push(g)),u==null||u.updateColumns(P)}return{favorite:g,removeFavoriteItem:d,setColumns:h}}function We(e,i,t,n){const{selectionState:o,unSelectDataId:l,lookupOptions:r}=t,d=a.computed(()=>!(o.value&&o.value.length));n&&a.watch(()=>n.value,(s,f)=>{var c;if(s===oe.dataList&&s!==f&&!d.value){const p=o.value.map(T=>T[r.idField]);(c=i.value)==null||c.selectItemByIds(p)}}),a.watch(d,(s,f)=>{var c;s&&((c=i.value)==null||c.clearSelection())}),e.showSelections&&r.multiSelect&&a.watch(l,s=>{var f;s&&((f=i.value)==null||f.unSelectItemByIds(s))})}const Se=Symbol("LOOKUP_SELECTIONS_MANAGER");function pt(e,i){const{selectionState:t,unSelectDataId:n,lookupOptions:o}=i,l=a.computed(()=>o.idField);function r(u){return u[l.value]}function d(){let u=new Map;return t.value&&t.value.length&&(u=new Map(t.value.map(y=>[y[l.value],y]))),u}function s(){t.value=[]}function f(){return t.value||[]}function c(){return t.value.map(u=>u[l.value])}function p(u){if(!u)return;if(!l.value){console.error("idField is required");return}const y=Array.isArray(u)?u:[u],S=d();y.forEach(P=>{S.delete(P)}),t.value=Array.from(S.values()),n.value=y}function T(u){return d().has(u)}function I(u,y=!0){if(!u)return;if(!l.value){console.error("idField is required");return}const S=Array.isArray(u)?u:[u];if(!S.length)return;if(!S.every(B=>l.value in B)){console.error("Some items do not have the specified idField:",l.value);return}const P=S.map(B=>B[l.value]);if(!o.multiSelect){if(P.length&&T(P[0]))return;s()}const V=d();if(y){const B=new Map(S.map(v=>[v[l.value],v]));P.forEach(v=>{V.has(v)||V.set(v,B.get(v))})}else P.forEach(B=>{V.delete(B)});t.value=Array.from(V.values())}function C(u){if(!u||!u.length)return;const y=u.map(S=>S.data);I(y)}function g(u){if(u){const y=u.raw[l.value];p(y)}}function h(u){!u||!u.length||p(u)}return{updateSelections:I,clearSelections:s,getSelectionIds:c,getSelections:f,unSelectionsByIds:p,selectTreeNodes:C,unSelectTreeNode:g,unSelectTreeNodes:h,isSelected:T,getPrimaryKey:r}}function ht(e,i){const{getSelectionIds:t}=pt(e,i),{lookupOptions:n}=i;function o(d,s){d==null||d.updateDataSource(s||[])}function l(d){const s=t();if(s&&s.length){if(n.multiSelect){d==null||d.selectItemByIds(s);return}d==null||d.activeRowById(s[0])}}function r(d,s){o(d,s),l(d)}return{loadData:o,selectItemByIds:l,loadAndSelect:r}}function gt(e,i,t){const n=a.inject(ve,a.ref(oe.dataList)),o=a.inject(ge),l=a.inject(Se),{lookupStates:r,loadData:d,includeChilds:s,getPathCode:f,getChildNodes:c}=o,{lookupState:p,navigationState:T,pageInfoState:I,searchState:C,lookupOptions:g,queryState:h}=r,{checkPaination:u,checkMultiSelect:y,checkColumnOptions:S,navIsTreeList:P,isPathCodeTree:V}=be(e,r),{updatePageInfo:B}=ft(e,I),{updateSelections:v,isSelected:q,getPrimaryKey:W}=l,{loadAndSelect:U}=ht(e,r),j=u(e.pagination),b=y(),L=S(),F=a.ref(),H=a.ref([]),{navSelectedItems:Z,getNavigationIdField:_,getRelationFilter:Q}=t;B(j);const m=a.ref(I.default),{setColumns:x}=$e(e,g.idField),M=a.ref("lookup-datagrid");a.watch(()=>I.default,O=>{var ee;m.value=O,(ee=F.value)==null||ee.updatePagination(O)}),We(e,F,o.lookupStates,n);function z(O,ee,ie){const de={total:ee};if(ie){const{pageIndex:ce,pageSize:He,enablePager:Je,pageList:Tt}=ie;Object.assign(de,{index:ce,size:He,enable:Je})}else de.enable=!1;B(de),U(F.value,O||[]),M.value="lookup-datagrid"+(O&&O.length?"":" lookup-datagrid-empty")}const J=a.computed(()=>{var ce;if(!((ce=Z.value)!=null&&ce.length))return null;const O=Z.value,ee={relationFilter:Q(O)};if(!P()||!s.value)return ee;const{treeInfo:ie}=T,de={action:"navAllChildren",...ee};return V(ie)?Object.assign(de,{navNodePathCode:f(O[0].data,ie)}):de}),X=a.watch([()=>p==null?void 0:p.columns,()=>p==null?void 0:p.items,()=>p==null?void 0:p.pageInfo,()=>p==null?void 0:p.total,()=>p==null?void 0:p.selectedData],([O,ee,ie,de,ce])=>{F.value&&(O&&x(F.value,O),ce&&ce.length&&v(ce),ee&&z(ee,de||0,ie))});a.watch(()=>e.idValue,O=>{H.value=O.split(e.separator)});function Y(O){if(O&&O.length&&!g.multiSelect){const ee=W(O[0]);if(q(ee))return}v(O),i.emit("selectionsChanged",{items:O})}function G(O,ee){!g.multiSelect&&e.openType==="Modal"&&(v([ee]),i.emit("dblClickRow",{items:[ee]}))}function ae(O){v(O==null?void 0:O.raw,!1)}function k(){const O={search:C.default,action:"list"};!C.default&&h.value&&(O.search={field:"*",value:h.value,type:"like"}),e.openType==="Modal"&&J.value&&Object.assign(O,J.value),d(O,ee=>{z(ee.items,ee.total||0,ee.pageInfo)})}const w=re.throttle(()=>{B({index:1}),k()},200),N=a.watch(()=>Z==null?void 0:Z.value,O=>{if(g.uri){w();return}const ee=O.map(ie=>ie[_()]);i.emit("navSelectionsChanged",{items:O,ids:ee})}),A=a.watch(()=>C.default,O=>{if(g.uri){w();return}i.emit("search",O)}),E=a.watch(()=>s.value,()=>{if(g.uri&&Z.value&&Z.value.length){w();return}});function $(){X(),N(),A(),E()}a.watch(()=>g.displayType,O=>{O.toLowerCase()==="treelist"&&$()});function ne({pageSize:O,pageIndex:ee}){var ce;let ie=ee;((ce=m.value)==null?void 0:ce.size)!==O&&(ie=1);const de={size:O,index:ie,isNavigation:!1};if(B(de),g.uri){k();return}i.emit("pageSizeCh