UNPKG

@farris/ui-vue

Version:

Farris Vue, a Farris Design based Vue3 component library.

1 lines 72 kB
(function(M,t){typeof exports=="object"&&typeof module<"u"?t(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("../modal/index.umd.js"),require("../button-edit/index.umd.js"),require("../layout/index.umd.js"),require("../data-grid/index.umd.js"),require("lodash-es"),require("../common/index.umd.js"),require("../notify/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","../modal/index.umd.js","../button-edit/index.umd.js","../layout/index.umd.js","../data-grid/index.umd.js","lodash-es","../common/index.umd.js","../notify/index.umd.js","../tree-grid/index.umd.js","../combo-list/index.umd.js","../popover/index.umd.js"],t):(M=typeof globalThis<"u"?globalThis:M||self,t(M.lookup={},M.Vue,M.FButtonEditDesign,M.designerCanvas,M.dynamicResolver,M.propertyPanel,M.fieldSelector,M.modal,M.buttonEdit,M.layout,M.dataGrid,M.LodashES,M.common,M.notify,M.treeGrid,M.comboList,M.FPopover))})(this,function(M,t,ne,qe,Pe,ye,ce,We,Ne,be,ue,ee,re,Ve,ve,Ee,Ge){"use strict";var Ot=Object.defineProperty;var Mt=(M,t,ne)=>t in M?Ot(M,t,{enumerable:!0,configurable:!0,writable:!0,value:ne}):M[t]=ne;var ie=(M,t,ne)=>Mt(M,typeof t!="symbol"?t+"":t,ne);function De(e){return typeof e=="string"&&e.startsWith("{")&&e.endsWith("}")?(e=e.replace(/'/g,'"'),{mappingFields:JSON.parse(e)}):{mappingFields:e}}const He=new Map([["appearance",Pe.resolveAppearance],["mappingFields",(e,n,a)=>{if(n)return De(n);const{mappingFields:i}=a;return De(i)}],["uri",(e,n,a)=>{var i;return n?{uri:n}:{uri:(i=a==null?void 0:a.dataSource)==null?void 0:i.uri}}],["idField",(e,n,a)=>{var i;return n?{idField:n}:{idField:(i=a==null?void 0:a.dataSource)==null?void 0:i.idField}}]]),Je={$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:"all"},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:!1},cascadeItems:{type:"object",default:{both:!0,up:!0,down:!0,disable:!0}},cascadeStatus:{type:"string",default:"both"},expandLevel:{type:"number",default:0},enableClear:{type:"boolean",default:!0},enableTitle:{type:"boolean",default:!1}},required:["type"],ignore:["id","appearance","binding","visible"],events:{dictPicking:"帮助前事件",dictPicked:"帮助后事件",beforeSelectData:"数据选择确认前事件",beforeLoadData:"数据加载前事件",clear:"清空事件"}};function Ke(e,n,a){return n}const Se=[{value:"both",text:"同步选择"},{value:"up",text:"包含上级"},{value:"down",text:"包含下级"},{value:"disable",text:"仅选择自身"}],Ce="";var X=(e=>(e.List="LIST",e.Tree="TREELIST",e.ListList="NAVLIST",e.TreeList="NAVTREELIST",e.ListTree="NAVLISTTREE",e))(X||{}),fe=(e=>(e.all="all",e.async="async",e))(fe||{});const oe="__lookup_active_tab__",Xe="__lookup_user_data_id__";var H=(e=>(e.dataList="datalist",e.favorite="favorite",e))(H||{});const Oe=Symbol("f_lookup-http-service_token");var Te=(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))(Te||{}),pe=(e=>(e[e.Empty=0]="Empty",e[e.And=1]="And",e[e.Or=2]="Or",e))(pe||{}),Me=(e=>(e[e.Value=0]="Value",e[e.Expression=1]="Expression",e.FrontExpress="frontExpress",e))(Me||{});const je={showCloseButton:!0,showMaxButton:!0,draggable:!0,resizeable:!0,enableEsc:!0,rememberSize:!0};function Qe(){function e(n,a){const i={};return i.dictPicking=l=>a.call("dictPicking",[l,n]),i.beforeLoadData=l=>a.call("beforeLoadData",[l,n]),i.beforeSelectData=l=>a.call("beforeSelectData",[l,n]),i.dictPicked=l=>a.call("dictPicked",[l,n]),i}return{resolve:e}}const se={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:X.List},dialog:{type:Object,default:{title:""}},multiSelect:{type:Boolean,default:!1},showSelections:{type:Boolean,default:!0},separator:{type:String,default:","},pagination:{type:Object,default:{enable:!1,showLimits:!0,sizeLimits:[10,20,30,50,100],size:20,index:1,total:0,mode:"server",showGoto:!1}},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:fe.all},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:!1},cascadeItems:{type:Object,default:{both:!0,up:!0,down:!0,disable:!0}},cascadeStatus:{type:String,default:"both"},expandLevel:{type:Number,default:0},enableTitle:{type:Boolean,default:!1}},Fe=Pe.createPropsResolver(se,Je,He,Ke),Be=Qe();function he(e){let n=[10,20,30,50,100];return e&&(typeof e=="string"&&(n=e.replaceAll("[","").replaceAll("]","").replaceAll(" ","").split(",")),Array.isArray(e)&&(n=e)),n.map(a=>({value:parseInt(a,10)})).sort((a,i)=>a.value-i.value)}const W={convertFrom:(e,n)=>n==="multiSelect"||n==="enableTitle"?!!e.editor[n]:n==="separator"?e.editor[n]||",":n==="onlySelectLeaf"?e.editor[n]==null?!1:e.editor[n]:n==="loadTreeDataType"?e.editor[n]||"all":e.editor[n],convertTo:(e,n,a)=>{e.editor[n]=a}};function Ye(e){let n="form_group_"+Date.now();return e&&(n=e.replaceAll("-","_").replaceAll(".","_")),"lookup."+n}function Ze(e,n){const{enablePager:a,pageSize:i,pageList:l}=n;e.pagination=e.pagination||{},Object.assign(e.pagination,{enable:a,sizeLimits:he(l).map(s=>s.value),size:i,showLimits:!0,showGoto:!1,mode:"server"})}const et={convertFrom:(e,n)=>{var a;return(a=e.editor[n])==null?void 0:a.displayName},convertTo:(e,n,a)=>{if(a&&a.length>0){const i=a[0],{name:l,id:s,metadataContent:o,code:u}=i;e.editor.dataSource||(e.editor.dataSource={}),e.editor.dataSource.displayName=`${l}(${u})`,e.editor.helpId=s;const{displayType:r,idField:b,textField:y}=o;e.editor.displayType=r,e.editor.dataSource.idField=b,e.editor.textField=y,e.editor.dataSource.type="ViewObject";const{pageInfo:g,treeInfo:x}=o.dataSource;if(Ze(e.editor,g),x){const{onlySelectLeaf:F,loadDataType:d}=x;e.editor.loadTreeDataType=d||"all",e.editor.onlySelectLeaf=F??!1}e.editor.dataSource.uri||(e.editor.dataSource.uri=Ye(e.id))}}},tt={convertFrom:(e,n)=>{var a;return(a=e.editor.dataSource)==null?void 0:a.idField},convertTo:(e,n,a)=>{if(a&&a.length>0){const i=a[0];e.editor.dataSource.idField=i==null?void 0:i.bindingPath}}},at={convertFrom:(e,n)=>{var a;return(a=e.editor)==null?void 0:a.textField},convertTo:(e,n,a)=>{if(a&&a.length>0){const i=a[0];e.editor.textField=i==null?void 0:i.bindingPath}}},it={convertFrom:(e,n)=>e.editor.displayType?e.editor.displayType.toUpperCase():"LIST",convertTo:(e,n,a)=>{e.editor.displayType=a}},Z={convertFrom:(e,n)=>{var l;const a=e.editor.dialog||{};if(n==="title")return a[n]||Ce;if(n==="width")return(l=e.editor.displayType)!=null&&l.toUpperCase().startsWith("NAV")?a[n]||960:a[n]||590;if(n==="height")return a[n]||620;if(n==="navigatorWidth")return a[n]||320;if(n==="draggable")return!0;if(["showMaxButton","showCloseButton","resizeable","enableEsc","rememberSize"].includes(n))return a[n]==null?!0:a[n]},convertTo:(e,n,a)=>{e.editor.dialog=e.editor.dialog||{},e.editor.dialog[n]=a}},we={convertFrom:(e,n)=>{const a=e.editor.pagination||{};if(n==="enable"||n==="showLimits")return a[n]==null?!1:a[n];if(n==="sizeLimits"){const i=a[n];return he(i)}if(n==="size")return a[n]||20},convertTo:(e,n,a)=>{var i,l;if(e.editor.pagination=e.editor.pagination||{},n==="sizeLimits"){const s=a.map(u=>u.value);e.editor.pagination[n]=s;const o=((l=(i=e.editor)==null?void 0:i.pagination)==null?void 0:l.size)??20;s.includes(o)||(e.editor.pagination.size=s[0]);return}e.editor.pagination[n]=a}},nt=[{label:"clear",name:"清空事件"},{label:"dictPicking",name:"帮助前事件"},{label:"beforeLoadData",name:"数据加载前事件"},{label:"beforeSelectData",name:"选择数据确认前事件"},{label:"dictPicked",name:"帮助后事件"}],Ae=Symbol("schema_repository_token");class ot extends ye.InputBaseProperty{constructor(){super(...arguments);ie(this,"comboListEditor",{type:"combo-list",enableClear:!1,editable:!1});ie(this,"numberEditor",{type:"number-spinner",useThousands:!1});ie(this,"readonlyEditor",{...this.comboListEditor,editable:!0});ie(this,"visibleEditor",{...this.comboListEditor,editable:!1});ie(this,"requiredEditor",{...this.comboListEditor,editable:!1});ie(this,"freeInputEditor",{...this.comboListEditor,editable:!1})}getExpressionConfig(a,i){const l=["validate"];return a.type==="form-group"&&l.push("dataPicking"),new ye.ExpressionProperty(this.formSchemaUtils).getExpressionConfig(a,"Field",l)}getPropertyConfig(a,i){this.readonlyEditor=this.getPropertyEditorParams(a,[],"readonly"),this.visibleEditor=this.getPropertyEditorParams(a,[],"visible"),this.requiredEditor=this.getPropertyEditorParams(a,["Const","Variable","StateMachine","Expression"],"required"),this.freeInputEditor=this.getPropertyEditorParams(a,["Const","Variable"],"allowFreeInput");const l=this.getBasicProperties(a,i),s=this.getBehaviorConfig(a),o=this.getAppearanceProperties(a,i),u=this.getLookupConfig(a),r=this.getEventPropConfig(a),b=this.getDialogPropertyConfig(a),y=this.getPageConfig(a.editor),g=this.getTreePropConfig(a.editor),x=this.getExpressionConfig(a,"Field"),F={basic:l,appearance:o,behavior:s,lookup:u,treeConfig:g,dialog:b,pager:y,expressons:x};return a.type==="form-group"&&(F.eventsEditor=r),{type:"object",categories:F}}getGridFieldEdtiorPropConfig(a){return this.getPropertyConfig(a,null).categories}flattenTreeNodes(a){return a.reduce((i,l)=>{var s;return i.push(l),(s=l.children)!=null&&s.length&&i.push(...this.flattenTreeNodes(l.children)),i},[])}isSimpleStringField(){var u;const a=((u=this.designViewModelField)==null?void 0:u.path)||"";if(!a||!a.includes("."))return!0;const i=a.split("."),l=this.designViewModelUtils.getAllFields2TreeByVMId(this.viewModelId);if(!(l!=null&&l.length))return!1;const s=l.find(r=>r.data.code===i[0]);if(!s)return!1;const o=[s,...this.flattenTreeNodes(s.children)];return!i.reduce((r,b,y)=>[...r,y?`${r[y-1]}.${b}`:b],[]).some(r=>{var b,y,g;return((g=(y=(b=o.find(x=>x.data.path===r))==null?void 0:b.data)==null?void 0:y.type)==null?void 0:g.$type)==="EntityType"})}getBehaviorConfig(a){return{description:"Basic Infomation",title:"行为",properties:{visible:{description:"运行时组件是否可见",title:"是否可见",type:"boolean",editor:this.visibleEditor}},setPropertyRelates:(i,l)=>{this.afterMutilEditorChanged(l,i)}}}changeBindingField(a,i){super.changeBindingField(a,i),a.editor.multiSelect=!1}getDisplayType(a){return a.displayType?a.displayType.toUpperCase():""}getLookupConfig(a){const i=a.editor,l=()=>{const s=this.formSchemaUtils.getFormSchema().module.entity[0].id,o=this.formSchemaUtils.getFormMetadataBasicInfo();return{propertyData:i,formBasicInfo:o,viewModelId:s,dataSourceId:i.helpId}};return{description:"Basic Infomation",title:"编辑器",setPropertyRelates:(s,o)=>{if(s)switch(s.propertyID){case"readonly":case"required":this.afterMutilEditorChanged(o,s);break}},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},placeholder:{description:"当控件没有值时在输入框中显示的文本",title:"提示文本",type:"string",$converter:W},enableTitle:{description:"鼠标悬停显示文本内容",title:"悬停提示",type:"boolean",$converter:W,editor:this.comboListEditor},editable:{description:"",title:"允许编辑",type:"boolean",$converter:W,refreshPanelAfterChanged:!0,editor:this.comboListEditor},allowFreeInput:{description:"",title:"任意输入",type:"boolean",$converter:W,editor:this.freeInputEditor,visible:!1},enableClear:{title:"启用清除按钮",type:"boolean",$converter:W},dataSource:{description:"数据源",title:"数据源",type:"string",refreshPanelAfterChanged:!0,editor:{type:"schema-selector",title:"选择数据源",editorParams:{propertyData:i,formBasicInfo:this.formSchemaUtils.getFormMetadataBasicInfo()},displayFormatter:s=>s&&s.length?s.map(o=>`${o.name}(${o.code})`).join(","):"",viewOptions:[{id:"recommend",title:"推荐",type:"List",dataSource:"Recommand",enableGroup:!0,groupField:"category",groupFormatter:(s,o)=>`${s==="local"?"本地元数据":"最近使用"}`},{id:"total",title:"全部",type:"List",dataSource:"Total"}],repositoryToken:Ae,onSubmitModal:s=>{if(s){delete i.mappingFields;const o=this.formSchemaUtils.getFormMetadataBasicInfo();return this.metadataService.getPickMetadata(o.relativePath,s[0].data).then(u=>JSON.parse(u==null?void 0:u.metadata.content))}}},$converter:et},filterConditions:{descriptions:"帮助过滤条件",title:"过滤条件",type:"string",$converter:W,editor:{type:"filter-condition-editor",editable:!1,displayText:"点击配置",enableClear:!1,enableExpression:!0,editorParams:{propertyData:i,formBasicInfo:this.formSchemaUtils.getFormMetadataBasicInfo(),viewModelId:this.formSchemaUtils.getFormSchema().module.entity[0].id},idField:"path",repositoryToken:ce.FieldSelectorRepositoryToken,beforeOpen:async({repository:s,notifyService:o})=>{var x;if(!(i==null?void 0:i.helpId))return o==null||o.warning({message:"请先配置数据源!"}),!1;const r=l(),y=new ye.ExpressionProperty(this.formSchemaUtils).getEntitiesAndVariables();let g={};if(s){const F=await s.getData(r),d=await s.getLookupConditions(r);g={fieldList:F,conditionList:d}}return(x=y.variables)!=null&&x.forms&&(y.variables.forms.items=y.variables.forms.items.filter(F=>F.category==="remote")),{...g,...y}},onSubmitModal:async({loadingService:s,repository:o,conditions:u,originalConditions:r,FMessageBoxService:b})=>{if(o)try{const y=l(),g=await o.getLookupConditions(y)||[];return JSON.stringify(g)!==JSON.stringify(r.value)?(s==null||s.clearAll(),b.question("视图对象中的帮助过滤条件已更改,请点击确定同步过滤数据","",()=>{u.value=g,r.value=JSON.parse(JSON.stringify(u.value))},()=>{}),!1):(JSON.stringify(u.value)===JSON.stringify(r.value)||await o.saveFilterCondition(u.value,y),!0)}catch{return b==null||b.error("保存失败",""),!1}finally{s==null||s.clearAll()}}},visible:!!i.helpId},displayType:{description:"类型: 树列表、列表、双列表、左树右列表",title:"展示类型",type:"string",$converter:it,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:{type:"field-selector",textField:"bindingPath",idField:"bindingPath",editorParams:{propertyData:i,formBasicInfo:this.formSchemaUtils.getFormMetadataBasicInfo()},columns:[{field:"name",title:"名称"},{field:"code",title:"编号"},{field:"bindingPath",title:"绑定字段"}],repositoryToken:ce.FieldSelectorRepositoryToken},$converter:tt,visible:!1},textField:{description:"显示文本字段",title:"文本字段",type:"string",$converter:at,editor:{type:"field-selector",textField:"bindingPath",idField:"bindingPath",editorParams:{propertyData:i,formBasicInfo:this.formSchemaUtils.getFormMetadataBasicInfo()},columns:[{field:"name",title:"名称"},{field:"code",title:"编号"},{field:"bindingPath",title:"绑定字段"}],repositoryToken:ce.FieldSelectorRepositoryToken}},mappingFields:{description:"字段映射",title:"字段映射",type:"string",$converter:W,editor:{type:"mapping-editor",modalWidth:800,modalHeight:600,editable:!1,editorParams:{propertyData:i,formBasicInfo:this.formSchemaUtils.getFormMetadataBasicInfo()},fromData:{editable:!1,formatter:(s,o)=>`${o.raw.name} [${o.raw.bindingPath}]`,idField:"bindingPath",textField:"bindingPath",valueField:"bindingPath",repositoryToken:ce.FieldSelectorRepositoryToken},toData:{idField:"bindingPath",textField:"bindingPath",valueField:"bindingPath",dataSource:()=>this.designViewModelUtils.getAllFields2TreeByVMId(this.viewModelId),formatter:(s,o)=>`${o.raw.name} [${o.raw.bindingPath}]`}}},enableToSelect:{description:"数据加载后是否选中现有值",$converter:W,title:"选中已选值",type:"boolean",editor:this.comboListEditor},multiSelect:{description:"启用多选",$converter:W,title:"启用多选",type:"boolean",editor:this.comboListEditor,refreshPanelAfterChanged:!0,visible:this.isSimpleStringField()},showSelections:{description:"显示已选记录",$converter:W,title:"显示已选记录",type:"boolean",visible:!!i.multiSelect},separator:{description:"多选分隔符",$converter:W,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:!!i.multiSelect},enableSearchBar:{description:"显示搜索工具条",$converter:W,refreshPanelAfterChanged:!0,title:"启用搜索框",type:"boolean",visible:!1},searchAnyField:{description:"显示所有列",$converter:W,title:"允许查询所有列",type:"boolean",visible:i.enableSearchBar==null?!0:!!i.enableSearchBar},enableFavorite:{description:"启用收藏夹",$converter:W,title:"启用收藏夹",type:"boolean"},enableUserData:{description:"保存界面状态",$converter:W,refreshPanelAfterChanged:!0,title:"保存界面状态",type:"boolean",visible:!0}}}}showNavigatiorWidth(a){return this.getDisplayType(a).startsWith("NAV")?a.showNavigation===void 0?!0:!!a.showNavigation:!1}getDialogPropertyConfig(a){var i,l,s,o;return{description:"帮助窗口尺寸配置",title:"帮助窗口",properties:{title:{description:"帮助标题",title:"帮助标题",type:"string",$converter:Z},width:{description:"窗口宽度,最小值:300px",title:"宽度",type:"number",refreshPanelAfterChanged:!0,$converter:Z,editor:{...this.numberEditor,min:this.showNavigatiorWidth(a.editor)?520:300}},height:{description:"窗口高度,最小值:200px",title:"高度",type:"number",$converter:Z,editor:{...this.numberEditor,min:200}},showNavigation:{description:"显示导航栏",$converter:W,refreshPanelAfterChanged:!0,title:"显示导航栏",type:"boolean",visible:this.getDisplayType(a.editor).includes("NAV")},navigatorWidth:{description:"导航栏宽度,最小200px, 最大为窗口宽度减去200px",title:"导航栏宽度",type:"number",$converter:Z,visible:this.showNavigatiorWidth(a.editor),editor:{...this.numberEditor,min:200,max:(((l=(i=a.editor)==null?void 0:i.dialog)==null?void 0:l.width)??960)-200}},resizeable:{description:"允许鼠标拖拽窗口边缘调整尺寸",title:"允许调整窗口尺寸",type:"boolean",$converter:Z,refreshPanelAfterChanged:!0},rememberSize:{description:"记录窗口尺寸",title:"记录窗口尺寸",type:"boolean",$converter:Z,visible:!!a.editor.enableUserData&&(((o=(s=a.editor)==null?void 0:s.dialog)==null?void 0:o.resizeable)??!0)},enableEsc:{description:"允许ESC关闭",title:"允许ESC关闭",type:"boolean",$converter:Z},showMaxButton:{description:"显示最大化按钮",title:"显示最大化按钮",type:"boolean",$converter:Z},showCloseButton:{description:"显示关闭按钮",title:"显示关闭按钮",type:"boolean",$converter:Z}}}}showPagerProperty(a,i){const l=this.getDisplayType(a)!=="TREELIST"||a.treeToList;return i&&l?a.pagination&&a.pagination[i]:l}getPageConfig(a){var l,s,o,u;const i=!((l=a.pagination)!=null&&l.enable);return{hide:this.getDisplayType(a)==="TREELIST"||!a.helpId||i,description:"分页配置",title:"分页",properties:{showLimits:{description:"显示每页条数选择器",title:"显示条数选择器",type:"boolean",refreshPanelAfterChanged:!0,$converter:we,visible:this.showPagerProperty(a)},sizeLimits:{description:"每页可显示条数",title:"每页显示条数",type:"array",$converter:we,refreshPanelAfterChanged:!0,visible:this.showPagerProperty(a,"showLimits"),editor:{columns:[{field:"value",title:"显示条数",dataType:"number",editor:{...this.numberEditor,min:10,max:1e4}}],title:"每页显示条数编辑器",modalWidth:400,modalHeight:500,type:"item-collection-editor",valueField:"value",nameField:"value",requiredFields:["value"],uniqueFields:["value"],modelValue:he((s=a.pagination)==null?void 0:s.sizeLimits),beforeSubmit:({notifyService:r,data:b})=>!b||!b.length?(r==null||r.warning({message:"每页显示条数不能为空!"}),!1):new Set(b.map(g=>parseInt(g.value,10))).size===b.length?!0:(r==null||r.warning({message:"每页显示条数不能重复!"}),!1)}},size:{description:"默认显示条数",title:"默认显示条数",type:"number",visible:this.showPagerProperty(a),$converter:we,editor:{...this.comboListEditor,data:he((o=a.pagination)==null?void 0:o.sizeLimits),textField:"value",idField:"value",valueField:"value",modelValue:(u=a.pagination)==null?void 0:u.size}}}}}showLoadType(a){const i=this.getDisplayType(a);return(i==="TREELIST"||i==="NAVTREELIST")&&!a.treeToList&&!a.navTreeToList}showOnlySelectLeaf(a){return this.getDisplayType(a)==="TREELIST"&&!a.treeToList}getTreePropConfig(a){return{hide:this.getDisplayType(a)!=="TREELIST"&&this.getDisplayType(a)!=="NAVTREELIST",description:"树形数据配置",title:"树形数据配置",properties:{treeToList:{description:"以列表的形式展示树结构数据",$converter:W,refreshPanelAfterChanged:!0,title:"以列表形式展示",type:"boolean",visible:this.getDisplayType(a)==="TREELIST"},navTreeToList:{description:"以列表的形式展示树结构数据",$converter:W,refreshPanelAfterChanged:!0,title:"以列表形式展示",type:"boolean",visible:this.getDisplayType(a)==="NAVTREELIST"},loadTreeDataType:{description:"树形数据加载方式",$converter:W,title:"数据加载方式",type:"string",editor:{...this.comboListEditor,data:[{value:"all",text:"全部加载"},{value:"async",text:"分层加载"}],textField:"text",valueField:"value"},visible:!1},enableFullTree:{description:"启用构造完整树",$converter:W,title:"构造完整树",type:"boolean",visible:this.showLoadType(a)},onlySelectLeaf:{description:"仅选择叶子节点",$converter:W,title:"仅选择叶子节点",type:"boolean",visible:this.showOnlySelectLeaf(a)},enableCascade:{description:"启用级联选择",$converter:W,refreshPanelAfterChanged:!0,title:"启用级联选择",type:"boolean",visible:!1},showCascadeControl:{description:"显示级联选择控件",$converter:W,title:"显示级联选择控件",type:"boolean",visible:!1},cascadeStatus:{description:"级联选择默认状态",$converter:W,title:"级联状态",type:"string",visible:!1,editor:{...this.comboListEditor,data:Se,textField:"text",valueField:"value"}},expandLevel:{description:"默认展开层级: 0: 不展开; -1: 全部展开;>0: 展开到指定级数 ",$converter:W,title:"默认展开层级",type:"number",visible:this.showLoadType(a),editor:{...this.numberEditor,min:-1,max:99}}}}}getEventPropConfig(a){const i=this,l=nt,s=i.eventsEditorUtils.formProperties(a,i.viewModelId,l),o={};return o[i.viewModelId]={type:"events-editor",editor:{initialData:s}},{title:"事件",hideTitle:!0,properties:o,refreshPanelAfterChanged:!0,tabId:"commands",tabName:"交互",setPropertyRelates(u,r){const b=u.propertyValue;delete r[i.viewModelId],b&&i.eventsEditorUtils.saveRelatedParameters(r,i.viewModelId,b.events,b);const y=i.designViewModelUtils.getDgViewModel(i.viewModelId);y&&i.designViewModelField&&y.changeField(i.designViewModelField.id,{valueChanging:r.fieldValueChanging,valueChanged:r.fieldValueChanged})}}}}function lt(e,n){function a(i,l){const s=e.schema;return new ot(i,n).getPropertyConfig(s,l)}return{getPropsConfig:a}}const rt=t.defineComponent({name:"FLookupDesign",props:se,emits:[],setup(e,n){const a=t.ref(),i=t.inject("design-item-context"),l=t.inject("designer-host-service"),s=lt(i,l),o=qe.useDesignerComponent(a,i,s);return t.onMounted(()=>{a.value.componentInstance=o}),n.expose(o.value),()=>t.createVNode("div",{class:"f-lookup-design",ref:a},[t.createVNode(ne,{ref:a,readonly:!0,editable:!1,placeholder:e.placeholder},null)])}});function le(e,n){const{lookupOptions:a}=n,i={enable:!0,sizeLimits:[10,20,30,50,100],size:20,index:1,total:0,mode:"server"};function l(d){return{...i,...d}}function s(){return{enableSelectRow:!0,multiSelect:a.multiSelect,showCheckbox:a.multiSelect,multiSelectMode:"OnCheckAndClick"}}function o(){return{fitColumns:e.fitColumns,fitMode:"percentage",resizeColumn:!0}}function u(){const{displayType:d}=n.lookupOptions;return typeof d=="string"&&d in X?!1:d.toLowerCase().startsWith("nav")}function r(){const{displayType:d,treeToList:m}=n.lookupOptions;return(d.toLowerCase()===X.Tree.toLowerCase()||d.toLowerCase()===X.ListTree.toLowerCase())&&!m}function b(){const{displayType:d,navTreeToList:m}=n.lookupOptions;return d.toLowerCase()===X.TreeList.toLowerCase()&&!m}function y(){const{displayType:d,navTreeToList:m}=n.lookupOptions,S=d.toLowerCase();return S===X.ListList.toLowerCase()||S===X.ListTree.toLowerCase()||m}function g(){var S;return a.dialog?{width:((S=a.dialog)==null?void 0:S.navigatorWidth)||320,minWidth:200}:{width:320,minWidth:200}}function x(d){const{loadTreeDataType:m}=a;return m===fe.all||m==="default"&&(d==null?void 0:d.loadDataType)==="all"}function F(d){return(d==null?void 0:d.layerType)==="pathcode"}return{checkPaination:l,checkMultiSelect:s,checkColumnOptions:o,isDoubleList:u,getNavigationSize:g,isTreeList:r,navIsTreeList:b,navIsList:y,isLoadAll:x,isPathCodeTree:F}}function ze(e,n,a){var s;const i=t.ref(e.searchFields||[]),l=t.ref(((s=e.navigation)==null?void 0:s.searchFields)||[]);return t.watch(()=>n==null?void 0:n.searchFields,o=>{i.value=o}),t.watch(()=>a==null?void 0:a.searchFields,o=>{l.value=o}),{searchFieldItems:i,navSearchFieldItems:l}}function st(e){const n=t.reactive({}),a=t.reactive({}),i=t.reactive({}),l=t.reactive({}),s=t.reactive({}),o=t.ref([]),u=t.ref(),r=t.reactive({}),b=["displayType","treeToList","navTreeToList","showSelections","showNavigation","multiSelect","mappingFields","loader","idField","textField","userDataKey","dialog","expandLevel","treeInfo","navTreeInfo","onlySelectLeaf","loadTreeDataType"];function y(){b.forEach(g=>{r[g]=e[g]})}return y(),{pageInfoState:n,lookupState:a,navigationState:i,queryState:l,searchState:s,selectionState:o,unSelectDataId:u,lookupOptions:r}}const Le=t.ref(),te="F_LOOKUP_HTTP_COMPOSITION_TOKEN";function dt(e,n){const a=t.inject("FLoadingService"),i=t.inject(Oe),l=st(e),{pageInfoState:s,lookupState:o,navigationState:u,lookupOptions:r}=l,{searchFieldItems:b,navSearchFieldItems:y}=ze(e,o,u),g=t.ref(e.uri),x=t.ref(e.idValue),F=t.ref(!1),d=()=>{var T;const c=(T=r.displayType)==null?void 0:T.toUpperCase();return c===X.Tree||c===X.TreeList},m=(c,T=!1)=>{if(c){const{layerType:p,dataField:k,parentField:E,pathField:h,layerField:v,isDetailField:N,loadDataType:C}=c,O={layerType:p,dataField:k,parentField:E,pathField:h,layerField:v,isDetailField:N,loadDataType:C},{onlySelectLeaf:R,loadTreeDataType:K}=r;O.onlySelectLeaf=R,O.loadDataType=K,T?r.navTreeInfo=Object.assign(r.navTreeInfo||{},O):r.treeInfo=Object.assign(r.treeInfo||{},O)}};function S(c,T){if(T==null||!T.trim())return[];const p=Array.from(new Set(T.trim().split(" ").filter(h=>h.trim())));if(!c||!p.length)return[];const k=(c||[]).map((h,v)=>{const N=p.map((C,O)=>({filterField:h.value,value:C,lbracket:"",rbracket:"",relation:pe.And,compare:Te.Like}));return N.length&&(N.length>1&&(N[0].lbracket="(",N[N.length-1].rbracket=")"),N[N.length-1].relation=pe.Or),N}).filter(h=>h.length);let E=[];return k&&k.length&&(E=ee.flatten(k),E.length>1&&(E[0].lbracket+="(",E[E.length-1].rbracket+=")"),E[E.length-1].relation=0),E}function j(){let{expandLevel:c}=r;return c&&!ee.isNaN(c)&&(c=c<-1?-1:c),c}function D(c,T){const p={};p.category=T;let k=null,E=null;if(c!=null&&c.search){const{field:h,value:v,isNavigation:N,type:C}=c.search,O=C||"like";if(v&&(p.searchValue=v.trim()),p.searchField=h?h.trim():"*",p.searchType=O,N&&(p.category="navsearch"),!e.enableMultiFieldSearch&&p.searchField==="*"){const R=N?y.value:b.value,K=S(R,v);K&&K.length&&(N?k=K:E=K),v===""&&p.category==="search"&&!E&&!k&&(p.category="all")}}return d()&&(p.layerNum=j()),{searchParam:p,navSearchConditions:k,searchConditions:E}}function B(c){var p,k;if(c==="fav")return{pageIndex:1,pageSize:500};let T="default";return c==="navsearch"&&(T="navigation"),{pageIndex:((p=s[T])==null?void 0:p.index)||1,pageSize:((k=s[T])==null?void 0:k.size)||20}}function L(c){const T={},p=(c==null?void 0:c.action)||"all",{searchParam:k,navSearchConditions:E,searchConditions:h}=D(c,p);h&&(T.searchConditions=h),E&&(T.navSearchConditions=E),T.enableFullTree=e.enableFullTree,T.searchValue=JSON.stringify(k);const{pageIndex:v,pageSize:N}=B(p);return T.pageIndex=v,T.pageSize=N,T.treeToList=e.treeToList,T.navTreeToList=e.navTreeToList,T.loadTreeDataType=r.loadTreeDataType,c!=null&&c.relationFilter&&(T.relationFilter=[...c.relationFilter]),c!=null&&c.navNodePathCode&&(T.navPathCode=c.navNodePathCode),c.selectedInfo&&(T.selectedInfo=c.selectedInfo),T.customData=t.toRaw(Le.value),T}function z(c){return c==null?void 0:c.map(T=>(T.resizable=!0,T))}function f(c,T){return c.map(p=>{const k=T==null?void 0:T.find(E=>E.field.toLowerCase()===p.value.toLowerCase());return k&&(p.label=k.title),p})}function w(c){c.columns&&(c.columns=z(c.columns),c.searchFields&&(c.searchFields=f(c.searchFields,c.columns))),c.navigation&&c.navigation.columns&&(c.navigation.columns=z(c.navigation.columns),c.navigation.searchFields&&(c.navigation.searchFields=f(c.navigation.searchFields,c.navigation.columns)))}function _(){return r.loader||i&&i.getData.bind(i)}function $(c){const T=_();return g.value&&T?T(g.value,c).then(p=>(w(p),p)):new Promise((p,k)=>{p({columns:[...e.columns],items:[...e.data],searchFields:[...e.searchFields],navigation:{...e.navigation}})})}function U(c){const T=j();return T===-1?!0:T===0?!1:c<=T}function P(c,T=!1,p="layer"){c.forEach(k=>{var E;k.collapse=T?!1:r.loadTreeDataType==="all"?!U(re.resolveField(k.data,p)):!(k.expanded??!0),(E=k.children)!=null&&E.length&&P(k.children,T,p)})}async function I(c,T){var E;const p=L(c),k=a==null?void 0:a.show();try{let h=await $(p);if(d()){const{items:v,treeInfo:N}=h.navigation||h;if(v!=null&&v.length&&N){const{dataField:C,layerField:O}=N;P(v,!1,`${C}.${O}`)}}e.beforeLoadData&&(h=await e.beforeLoadData({data:h})),T(h)}finally{(E=k==null?void 0:k.value)==null||E.close()}}function q(c){F.value=c}function A(c,T){const{dataField:p,pathField:k}=T;return k?p?c[p][k]:re.resolveField(c,k):""}function V(c){const T=[];return(c.selectable||c.selectable===void 0)&&T.push(c),c.children&&c.children.length&&c.children.forEach(p=>{T.push(...V(p))}),T}function G(c,T=!1){var h;if(!(c!=null&&c.length))return c;const p=T?(h=r.navigation)==null?void 0:h.treeInfo:r.treeInfo,{dataField:k,layerField:E}=p||{};return k&&E&&P(c,!0,`${k}.${E}`),c}function J(){try{const c=x.value;return c!==""&&c!=null?c:""}catch(c){return console.error("Error in getIdValues:",c),""}}function Q(){let c=J()||[];return Array.isArray(c)||(c=(""+c).split(e.separator)),{selectedIds:c,selected:!0}}return{includeChilds:F,updateIncludeChilds:q,idValues:x,getData:$,loadData:I,updateSearchFieldTitle:f,getPathCode:A,getChildNodes:V,lookupStates:l,httpService:i,lookupRequest:_,expandAllNodes:G,getIdQueryParams:Q,setTreeInfo:m,getFieldValue:re.resolveField}}function Re(e,n){t.watch(()=>e.pagination,i=>{n.default=i}),t.watch(()=>{var i;return(i=e.navigation)==null?void 0:i.pagination},i=>{n.navigation=i});function a(i,l=!1){i&&(l?n.navigation={...n.navigation,...i}:n.default={...n.default,...i})}return{updatePageInfo:a}}const Ie="F_LOOKUP_USER_DATA_SERVICE";function ct(e,n){const a=t.inject("FLoadingService",null),{lookupStates:i,lookupRequest:l,httpService:s}=n,{lookupOptions:o}=i,u=t.computed(()=>re.encrypt(o.userDataKey||e.id)),r=t.reactive({key:u.value,data:{}});function b(){return s?s.getSettings(r.key).then(d=>(d&&d.textValue?r.data=JSON.parse(d.textValue):r.data={},e.enableUserData||(r.data.tabIndex=H.dataList),d)):Promise.resolve()}function y({width:d,height:m}){var S;r.data.size=((S=r.data)==null?void 0:S.size)||{},r.data.size={width:d,height:m}}function g(){if(e.enableUserData&&s){const{key:d,data:m}=r,S={configkey1:d,configkey2:"",configkey3:"",textvalue:JSON.stringify(m)};return s==null?void 0:s.updateSettings(d,S)}return Promise.resolve()}function x(d){const m={category:"fav",favoriteIds:d.favoriteIds};return{searchValue:JSON.stringify(m),pageIndex:1,pageSize:500,treeToList:o.treeToList}}function F(){var j;const d=x({favoriteIds:(j=r.data)==null?void 0:j.favorites}),m=a==null?void 0:a.show(),S=l();return S?S(e.uri,d).then(D=>{var B;return(B=m.value)==null||B.close(),r.favoriteItems=D&&D.items||[],D}):Promise.resolve()}return{userDataState:r,setDialogSize:y,saveUserData:g,getFavoriteData:F,getUserData:b}}function ke(e,n){const a=t.inject(Ve.F_NOTIFY_SERVICE_TOKEN),i=t.inject(Ie),{userDataState:l}=i;l.data=l.data||{};const s="_favorite_",o=t.ref(!1);function u({id:m,data:S},j="add"){var B,L;if(m==null&&m==="")return;const D=m;l.data.favorites=((B=l.data)==null?void 0:B.favorites)||[],l.favoriteItems=l.favoriteItems||[],j==="add"?(o.value=!1,l.data.favorites=Array.from(new Set([...((L=l.data)==null?void 0:L.favorites)||[],D])),l.favoriteItems=[...l.favoriteItems,S]):(o.value=!0,l.data.favorites=l.data.favorites.filter(z=>z!==D),l.favoriteItems=l.favoriteItems.filter(z=>z[n]!==D)),i==null||i.saveUserData().then(z=>{const f=j==="add"?"已添加到收藏":"已从收藏中移除";a==null||a.success({message:f,position:"top-center"})})}function r(m){return m?m.raw[n]:""}const b=t.computed(()=>m=>{var j,D;const S=r(m);return(D=(j=l.data)==null?void 0:j.favorites)==null?void 0:D.includes(S)});function y(m,S,j){m.stopPropagation();const D=r(S);u({id:D,data:S.raw},b.value(S)?"remove":"add")}const g=(m,S)=>t.createVNode("button",{type:"button",onClick:j=>{y(j,S)},class:["btn btn-link f-icon f-icon-star-outline p-0",{"f-icon-star":b.value(S)}],style:"color: #ffbd8c;",title:b.value(S)?"取消收藏":"收藏"},null),x=(m,S)=>S.disabled?"":g(m,S),F={field:s,title:"",width:50,fixed:"right",align:"center",formatter:g};function d(m,S,j=!1){const D=ee.cloneDeep(S);e.enableFavorite&&(F.formatter=j?x:g,D.push(F)),m==null||m.updateColumns(D)}return{favorite:F,removeFavoriteItem:o,setColumns:d}}function xe(e,n,a,i){const{selectionState:l,unSelectDataId:s,lookupOptions:o}=a,u=t.computed(()=>!(l.value&&l.value.length));i&&t.watch(()=>i.value,(r,b)=>{var y;if(r===H.dataList&&r!==b&&!u.value){const g=l.value.map(x=>x[o.idField]);(y=n.value)==null||y.selectItemByIds(g)}}),t.watch(u,(r,b)=>{var y;r&&((y=n.value)==null||y.clearSelection())}),e.showSelections&&o.multiSelect&&t.watch(s,r=>{var b;r&&((b=n.value)==null||b.unSelectItemByIds(r))})}const de=Symbol("LOOKUP_SELECTIONS_MANAGER");function _e(e,n){const{selectionState:a,unSelectDataId:i,lookupOptions:l}=n,s=t.computed(()=>l.idField);function o(){let d=new Map;return a.value&&a.value.length&&(d=new Map(a.value.map(m=>[m[s.value],m]))),d}function u(){a.value=[]}function r(){return a.value||[]}function b(){return a.value.map(d=>d[s.value])}function y(d){if(!d)return;if(!s.value){console.error("idField is required");return}const m=Array.isArray(d)?d:[d],S=o();m.forEach(j=>{S.delete(j)}),a.value=Array.from(S.values()),i.value=m}function g(d,m=!0){if(!d)return;if(!s.value){console.error("idField is required");return}const S=Array.isArray(d)?d:[d];if(!S.length)return;if(!S.every(B=>s.value in B)){console.error("Some items do not have the specified idField:",s.value);return}l.multiSelect||u();const j=S.map(B=>B[s.value]),D=o();if(m){const B=new Map(S.map(L=>[L[s.value],L]));j.forEach(L=>{D.has(L)||D.set(L,B.get(L))})}else j.forEach(B=>{D.delete(B)});a.value=Array.from(D.values())}function x(d){if(!d||!d.length)return;const m=d.map(S=>S.data);g(m)}function F(d){if(d){const m=d.raw[s.value];y(m)}}return{updateSelections:g,clearSelections:u,getSelectionIds:b,getSelections:r,unSelectionsByIds:y,selectTreeNodes:x,unSelectTreeNode:F}}function Ue(e,n){const{getSelectionIds:a}=_e(e,n);function i(o,u){o==null||o.updateDataSource(u||[])}function l(o){const u=a();u&&u.length&&(o==null||o.selectItemByIds(u))}function s(o,u){i(o,u),l(o)}return{loadData:i,selectItemByIds:l,loadAndSelect:s}}function ut(e,n,a){const i=t.inject(oe,t.ref(H.dataList)),l=t.inject(te),s=t.inject(de),{lookupStates:o,loadData:u,includeChilds:r,getPathCode:b,getChildNodes:y}=l,{lookupState:g,navigationState:x,pageInfoState:F,searchState:d,lookupOptions:m}=o,{checkPaination:S,checkMultiSelect:j,checkColumnOptions:D,navIsTreeList:B,isLoadAll:L,isPathCodeTree:z}=le(e,o),{updatePageInfo:f}=Re(e,F),{updateSelections:w}=s,{loadAndSelect:_}=Ue(e,o),$=S(e.pagination),U=j(),P=D(),I=t.ref(),q=t.ref([]),{navSelectedItems:A,getNavigationIdField:V,getRelationFilter:G}=a;f($);const J=t.ref(F.default),{setColumns:Q}=ke(e,m.idField);t.watch(()=>F.default,C=>{var O;J.value=C,(O=I.value)==null||O.updatePagination(C)}),xe(e,I,l.lookupStates,i);function c(C,O,R){const K={total:O};if(R){const{pageIndex:Y,pageSize:Vt,enablePager:Et,pageList:Dt}=R;Object.assign(K,{index:Y,size:Vt,enable:Et,sizeLimits:Dt})}f(K),_(I.value,C||[])}const T=t.computed(()=>{if(A.value&&A.value.length){let C=A.value;if(B()&&r.value){const O=x.treeInfo;if(L(O))return C=y(C[0]),{relationFilter:G(C)};if(z(O))return{navNodePathCode:b(C[0].data,O)}}return{relationFilter:G(C)}}return null});t.watch([()=>g==null?void 0:g.columns,()=>g==null?void 0:g.items,()=>g==null?void 0:g.pageInfo,()=>g==null?void 0:g.total,()=>g==null?void 0:g.selectedData],([C,O,R,K,Y])=>{C&&Q(I.value,C),Y&&Y.length&&w(Y),c(O,K||0,R)}),t.watch(()=>e.idValue,C=>{q.value=C.split(e.separator)});function p(C){w(C)}function k(C){w(C==null?void 0:C.raw,!1)}function E(){const C={search:d.default,action:"list"};T.value&&Object.assign(C,T.value),u(C,O=>{c(O.items,O.total||0,O.pageInfo)})}const h=ee.throttle(()=>{f({index:1}),E()},200);t.watch(()=>A.value,C=>{if(e.uri){h();return}const O=C.map(R=>R[V()]);n.emit("navSelectionsChanged",{items:C,ids:O})}),t.watch(()=>d.default,C=>{if(e.uri){h();return}n.emit("search",C)}),t.watch(()=>r.value,()=>{if(e.uri&&A.value&&A.value.length){h();return}});function v({pageSize:C,pageIndex:O}){var Y;let R=O;((Y=J.value)==null?void 0:Y.size)!==C&&(R=1);const K={size:C,index:R,isNavigation:!1};if(f(K),e.uri){E();return}n.emit("pageSizeChanged",K)}function N(){return t.createVNode(ue.FDataGrid,{ref:I,pagination:J.value,summary:{enable:!1},columnOption:P,idField:m.idField,rowNumber:{enable:!1},showBorder:!0,virtualized:!0,fit:!0,selection:U,selectionValues:q.value,onSelectionChange:p,onUnSelectItem:k,onChanged:v},null)}return{datagridRef:I,selectionValues:q,renderDataGrid:N}}const me=Symbol("LOOKUP_TREEROW_OPTIONS");function ft(e,n=!1){function a(i){return(i.raw.addtional||i.raw.selectable===!1)&&(i.disabled=!0),(n?e.navTreeInfo:e.treeInfo).onlySelectLeaf&&(i.disabled=!i.raw.leaf),i}return{customRowStatus:a}}function pt(e,n){const a=t.inject(oe,t.ref(H.dataList)),i=t.inject(te),l=t.inject(me),{lookupStates:s}=i,{lookupState:o,searchState:u,lookupOptions:r}=s,b=t.inject(de),{checkMultiSelect:y,checkColumnOptions:g}=le(e,s),{setColumns:x}=ke(e,r.idField),{selectTreeNodes:F,unSelectTreeNode:d,updateSelections:m}=b,S=y(),j=g(),D=t.ref(),B=t.ref([]),{loadAndSelect:L}=Ue(e,s),{loadData:z,expandAllNodes:f}=i;function w(A){var V;(V=u.default)!=null&&V.value&&(A=f(A)),L(D.value,A||[])}xe(e,D,s,a),t.watch([()=>o==null?void 0:o.columns,()=>o==null?void 0:o.items,()=>o==null?void 0:o.pageInfo,()=>o==null?void 0:o.total,()=>o==null?void 0:o.selectedData],([A,V,G,J,Q])=>{Q&&Q.length&&m(Q),A&&x(D.value,A,!0),w(V)});function _(A){F(A)}function $(A){d(A)}function U(A="list"){z({search:u.default,action:A},V=>{w(V.items)})}t.watch(()=>u.default,A=>{if(e.uri){U("search");return}n.emit("search",A)});const P={cascadeOption:{autoCheckChildren:!1,autoCheckParent:!1},collapseField:"collapse"};function I(A){}function q(){return t.createVNode(ve.FTreeGrid,{ref:D,fit:!0,data:e.data,idField:r.idField,columns:e.columns,rowNumber:{enable:!1},columnOption:j,selection:S,showBorder:!0,virtualized:!0,displayField:"code",rowOption:l,hierarchy:P,onSelectionChange:_,onUnSelectItem:$,onExpandNode:I},null)}return{treegridRef:D,selectionTreeValues:B,renderTreeGrid:q}}const ht={fields:{type:Array,default:()=>[]},showAllColumns:{type:Boolean,default:!0},isNavigation:{type:Boolean,default:!1}},mt=t.defineComponent({name:"FLookupSearchBar",props:ht,emits:["search"],setup(e,n){const a=t.inject(te),{queryState:i}=a.lookupStates,l=t.ref(e.fields||[]),s=t.ref(""),o=t.ref(i.value),u=t.ref(e.isNavigation),r=t.ref(),b=t.computed(()=>({field:s.value,value:o.value,isNavigation:u.value}));function y(){if(!l.value.length)return;let d="";e.showAllColumns&&(d="*"),d=l.value[0].value;const m=l.value.find(S=>!!S.isDefault);m&&(d=m.value),s.value=d}t.watch(()=>e.fields,d=>{l.value=d,y()});function g(){n.emit("search",b.value)}function x(){o.value="",g()}function F(d){d.key==="Enter"&&g()}return t.onMounted(()=>{y(),u.value&&(o.value="")}),()=>t.createVNode("div",{class:"fv-lookup-search-bar d-flex flex-row"},[t.createVNode("div",{style:"width: 160px;"},[t.createVNode(Ee.FComboList,{ref:r,data:l.value,textField:"label",valueField:"value",idField:"value",modelValue:s.value,"onUpdate:modelValue":d=>s.value=d,enableClear:!1},null)]),t.createVNode("div",{class:"f-utils-fill ml-2"},[t.createVNode(Ne.FButtonEdit,{buttonContent:'<i class="f-icon f-icon-search"></i>',maxLength:200,modelValue:o.value,"onUpdate:modelValue":d=>o.value=d,onClickButton:g,enableClear:!0,onClear:x,onKeyup:F,popupOnClick:!0},null)])])}});function $e(e,n,a){const{lookupState:i,searchState:l,navigationState:s}=a,{searchFieldItems:o,navSearchFieldItems:u}=ze(e,i,s),r=t.ref([]),b=t.ref([]);function y(d,m=!1){let S=d;e.searchAnyField&&(S=[{label:"所有列",value:"*"}].concat(d)),m?b.value=S:r.value=S}y(o.value),y(u.value,!0),t.watch(()=>o.value,d=>{y(d)}),t.watch(()=>u.value,d=>{y(d,!0)});function g(d){const m={...d};if(n){l.navigation=m;return}l.default=m}const x=t.computed(()=>n?b.value||[]:r.value||[]);function F(){if(e.enableSearchBar&&x.value.length>0)return t.createVNode("div",{class:"p-2"},[t.createVNode(mt,{fields:x.value,showAllColumns:e.searchAnyField,isNavigation:n,onSearch:g},null)])}return{renderSearchBar:F}}function gt(e,n){var T;const a=t.inject(me),i=t.inject(te),{loadData:l,lookupStates:s,expandAllNodes:o,getFieldValue:u}=i,{navigationState:r,pageInfoState:b,searchState:y}=s,{renderSearchBar:g}=$e(e,!0,s),{checkPaination:x,navIsList:F,navIsTreeList:d}=le(e,s),{updatePageInfo:m}=Re(e,b),S=t.ref([]);if(F()){const p=x((T=e.navigation)==null?void 0:T.pagination);m(p,!0)}const j=t.ref(b.navigation),D={enableSelectRow:!0,multiSelect:!1,showCheckbox:!1,keepSelectingOnClick:!1},B={fitColumns:!0,fitMode:"percentage",resizeColumn:!0},L=t.ref(),z=t.ref(),f=t.ref("id");t.watch(()=>b.navigation,p=>{var k;j.value=p,(k=z.value)==null||k.updatePagination(p)});function w(p,k,E){var h,v,N;if(p=p||[],F()){const C={total:k};if(E){const{pageIndex:O,pageSize:R,enablePager:K,pageList:Y}=E;Object.assign(C,{index:O,size:R,enable:K,sizeLimits:Y})}m(C,!0),(h=z.value)==null||h.updateDataSource(p)}else d()&&((v=y.navigation)!=null&&v.value&&(p=o(p,!0)),(N=L.value)==null||N.updateDataSource(p))}function _(p){var k,E;F()?(k=z.value)==null||k.updateColumns(p):d()&&((E=L.value)==null||E.updateColumns(p))}t.watch([()=>r==null?void 0:r.columns,()=>r==null?void 0:r.items,()=>r==null?void 0:r.pageInfo,()=>r==null?void 0:r.total],([p,k,E,h])=>{p&&_(p),w(k,h||0,E)}),t.watch(()=>r==null?void 0:r.idField,p=>{f.value=p||"id"});function $(p){S.value=p}function U(p){S.value=p}function P(){l({search:y.navigation,action:"navsearch"},p=>{w(p.items,p.total||0,p.pageInfo)})}t.watch(()=>y.navigation,p=>{if(e.uri){m({index:1},!0),P();return}n.emit("search",p)});function I({pageSize:p,pageIndex:k}){var v;let E=k;((v=j.value)==null?void 0:v.size)!==p&&(E=1);const h={size:p,index:E};if(m(h,!0),e.uri){P();return}n.emit("pageSizeChanged",h)}const q={collapseField:"collapse"};function A(){return t.createVNode(ve.FTreeGrid,{ref:L,fit:!0,idField:f.value,rowNumber:{enable:!1},columnOption:B,selection:D,virtualized:!0,showBorder:!0,rowOption:a,hierarchy:q,onSelectionChange:$},null)}function V(){return t.createVNode(ue.FDataGrid,{ref:z,pagination:j.value,summary:{enable:!1},columnOption:B,idField:f.value,rowNumber:{enable:!1},showBorder:!0,fit:!0,virtualized:!0,selection:D,onSelectionChange:U,onChanged:I},null)}function G(){if(d())return A();if(F())return V()}function J(){return t.createVNode("div",{class:"d-flex h-100 w-100 flex-column"},[g(),t.createVNode("div",{class:"f-utils-fill px-2",style:"position: relative;"},[G()])])}function Q(){return f.value}function c(p){return r.relations&&r.relations.length?r.relations.map(E=>{const{groupField:h,helpField:v}=E,N={fieldName:v,fieldValue:""},C=p.map(O=>u(O,h));return N.fieldValue=C.join(","),N}):""}return{renderNavigation:J,selectedItems:S,getNavigationIdField:Q,getRelationFilter:c}}function yt(e){return typeof e=="function"||Object.prototype.toString.call(e)==="[object Object]"&&!t.isVNode(e)}const bt=t.defineComponent({name:"LookupContainer",props:se,emits:["update:modelValue","search","navSelectionsChanged","pageIndexChanged","pageSizeChanged","changeDialogOptions","clearSearch"],setup(e,n){t.inject(oe,t.ref(H.dataList));const a=t.inject(te),{lookupStates:i,getIdQueryParams:l}=a,{lookupState:s,navigationState:o,queryState:u,lookupOptions:r}=i,{renderSearchBar:b}=$e(e,!1,i),{isDoubleList:y,getNavigationSize:g,isTreeList:x}=le(e,i),{renderNavigation:F,selectedItems:d,getNavigationIdField:m,getRelationFilter:S}=gt(e,n);function j(){if(x()){const{renderTreeGrid:w}=pt(e,n);return w}const{renderDataGrid:f}=ut(e,n,{navSelectedItems:d,getNavigationIdField:m,getRelationFilter:S});return f}const D=j(),B=g();function L(f){var _;const w=(_=r.dialog)==null?void 0:_.title;w&&w!==Ce&&(f=w),n.emit("changeDialogOptions",{title:f})}function z(){const f={};e.enableToSelect&&(f.selectedInfo=l(),u.value!=null&&(f.search={field:"*",value:u.value,type:"like"},f.action="search")),a==null||a.loadData(f,w=>{w.navigation&&(Object.keys(w.navigation).forEach(_=>{var $;o[_]=($=w.navigation)==null?void 0:$[_]}),w.navigation.treeInfo&&(a==null||a.setTreeInfo(w.navigation.treeInfo,!0)),delete w.navigation),w.treeInfo&&(a==null||a.setTreeInfo(w.treeInfo)),Object.keys(w).forEach(_=>{s[_]=w[_]}),L(w.title||"")})}return t.onMounted(()=>{z(),document.body.classList.add("lookup-modal-open")}),t.onUnmounted(()=>{document.body.classList.remove("lookup-modal-open")}),()=>{let f;return t.createVNode(be.FLayout,null,{default:()=>[y()&&e.showNavigation&&t.createVNode(be.FLayoutPane,{position:"left",width:B==null?void 0:B.width,minWidth:B==null?void 0:B.minWidth},yt(f=F())?f:{default:()=>[f]}),t.createVNode(be.FLayoutPane,{position:"center"},{default:()=>[t.createVNode("div",{class:"d-flex h-100 w-100 flex-column"},[b(),t.createVNode("div",{class:"f-utils-fill px-2",style:"position: relative;"},[D()])])]})]})}}}),vt={multiSelect:{type:Boolean,default:!1},idField:{type:String,default:"id"},displayType:{type:String,default:"list"},selectedIds:{type