Files
qhmes/web-dist/js/OnlineSelectCascade-BuXb37Ka.js
2026-06-16 18:19:57 +08:00

2 lines
3.0 KiB
Java

var _=(t,o,r)=>new Promise((d,i)=>{var g=a=>{try{c(r.next(a))}catch(u){i(u)}},f=a=>{try{c(r.throw(a))}catch(u){i(u)}},c=a=>a.done?d(a.value):Promise.resolve(a.value).then(g,f);c((r=r.apply(t,o)).next())});import{s as F,d as C,au as $,av as T,aw as k}from"./index-X7Y8jykP.js";import{e as B,h as p,r as y,y as O,z as S,A as v,C as L,F as N,D as V,Q as E,G as P}from"./vue-vendor-DNhG1Cve.js";import"./emoji-mart-vue-fast-R0uJEDq-.js";const w="/online/cgform/api/querySelectOptions",I=B({name:"OnlineSelectCascade",props:{table:{type:String,default:""},txt:{type:String,default:""},store:{type:String,default:""},idField:{type:String,default:""},pidField:{type:String,default:""},pidValue:{type:String,default:"-1"},origin:{type:Boolean,default:!1},condition:{type:String,default:""},value:{type:String,default:""},isNumber:{type:Boolean,default:!1},placeholder:{type:String,default:"请选择"}},emits:["change","next"],setup(t,{emit:o}){const{createMessage:r}=F(),d=y(""),i=y([]),g=y(!0);function f(e){let n=e||"";o("change",n),h(n)}p(()=>t.condition,e=>{g.value=!0,e&&a()},{immediate:!0}),p(()=>t.pidValue,e=>{e==="-1"?i.value=[]:a()}),p(()=>t.value,(e,n)=>{e?d.value=e:(d.value=[],n&&(o("change",""),o("next","-1"))),e&&!n&&c(e)},{immediate:!0});function c(e){return _(this,null,function*(){if(t.idField===t.store)o("next",e);else if(t.origin===!0)yield b(),h(e);else{let n=yield x();h(e,n)}})}function a(){let e=u();t.origin===!0?e.condition=t.condition:e.pidValue=t.pidValue,i.value=[],C.get({url:w,params:e},{isTransformResponse:!1}).then(n=>{n.success?i.value=[...n.result]:r.warning("联动组件数据加载失败,请检查配置!")})}function u(){return{table:t.table,txt:t.txt,key:t.store,idField:t.idField,pidField:t.pidField}}function x(){return new Promise(e=>{if(!t.value)d.value=[],e([]);else{let n=u();t.isNumber===!0?n.condition=`${t.store} = ${t.value}`:n.condition=`${t.store} = '${t.value}'`,C.get({url:w,params:n},{isTransformResponse:!1}).then(l=>{l.success?e(l.result):(r.warning("联动组件数据加载失败,请检查配置!"),e([]))})}})}function b(){return new Promise(e=>{(function l(s){s>10&&e([]);let m=i.value;m&&m.length>0?e(m):setTimeout(()=>{l(s++)},300)})(0)})}function h(e,n=[]){if(e&&e.length>0){(!n||n.length==0)&&(n=i.value);let l=n.filter(s=>s.store===e);if(l&&l.length>0){let s=l[0].id;o("next",s)}}}return{selectedValue:d,dictOptions:i,handleChange:f,filterOption:(e,n)=>{var s;return((s=n.children()[0])==null?void 0:s.children.toLowerCase().indexOf(e.toLowerCase()))>=0}}}}),R=["title"];function D(t,o,r,d,i,g){const f=k,c=T;return S(),O(c,{"show-search":"","filter-option":t.filterOption,placeholder:t.placeholder,value:t.selectedValue,onChange:t.handleChange,allowClear:"",style:{width:"100%"}},{default:v(()=>[(S(!0),L(N,null,V(t.dictOptions,(a,u)=>(S(),O(f,{key:u,value:a.store},{default:v(()=>[E("span",{style:{display:"inline-block",width:"100%"},title:a.label},P(a.label),9,R)]),_:2},1032,["value"]))),128))]),_:1},8,["filter-option","placeholder","value","onChange"])}const G=$(I,[["render",D]]);export{G as default};