2 lines
3.2 KiB
Java
2 lines
3.2 KiB
Java
import{d as O,f as h,w as m,ah as y,aC as w,as as v,aF as x,ar as V,F as k,aD as B,au as P,av as $}from"./vue-vendor-C7Zq48Yl.js";import{u as L,f as C}from"./index-BI6CMai0.js";import{h as N}from"./main.index-Cs5ETdXF.js";import"./antd-vue-vendor-BPnV8VqP.js";import"./vxe-table-vendor-B88kchpX.js";import"./usePopBiz-CG0vVpgI.js";import"./useMethods-DVip17X8.js";import"./index-Dg4HCEvo.js";var R=(t,o,r)=>new Promise((u,l)=>{var f=n=>{try{d(r.next(n))}catch(s){l(s)}},p=n=>{try{d(r.throw(n))}catch(s){l(s)}},d=n=>n.done?u(n.value):Promise.resolve(n.value).then(f,p);d((r=r.apply(t,o)).next())});const S="/online/cgform/api/querySelectOptions",T=O({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}=L(),u=h(""),l=h([]),f=h(!0);function p(e){let i=e||"";o("change",i),g(i)}m(()=>t.condition,e=>{f.value=!0,e&&n()},{immediate:!0}),m(()=>t.pidValue,e=>{e==="-1"?l.value=[]:n()}),m(()=>t.value,(e,i)=>{e?u.value=e:(u.value=[],i&&(o("change",""),o("next","-1"))),e&&!i&&d(e)},{immediate:!0});function d(e){return R(this,null,function*(){if(t.idField===t.store)o("next",e);else if(t.origin===!0)yield b(),g(e);else{let i=yield F();g(e,i)}})}function n(){let e=s();t.origin===!0?e.condition=t.condition:e.pidValue=t.pidValue,l.value=[],C.get({url:S,params:e},{isTransformResponse:!1}).then(i=>{i.success?l.value=[...i.result]:r.warning("联动组件数据加载失败,请检查配置!")})}function s(){return{table:t.table,txt:t.txt,key:t.store,idField:t.idField,pidField:t.pidField}}function F(){return new Promise(e=>{if(!t.value)u.value=[],e([]);else{let i=s();t.isNumber===!0?i.condition=`${t.store} = ${t.value}`:i.condition=`${t.store} = '${t.value}'`,C.get({url:S,params:i},{isTransformResponse:!1}).then(a=>{a.success?e(a.result):(r.warning("联动组件数据加载失败,请检查配置!"),e([]))})}})}function b(){return new Promise(e=>{(function i(a){a>10&&e([]);let c=l.value;c&&c.length>0?e(c):setTimeout(()=>{i(a++)},300)})(0)})}function g(e,i=[]){if(e&&e.length>0){(!i||i.length==0)&&(i=l.value);let a=i.filter(c=>c.store===e);if(a&&a.length>0){let c=a[0].id;o("next",c)}}}return{selectedValue:u,dictOptions:l,handleChange:p,filterOption:(e,i)=>{var a;return((a=i.children()[0])==null?void 0:a.children.toLowerCase().indexOf(e.toLowerCase()))>=0}}}}),_=["title"];function D(t,o,r,u,l,f){const p=y("a-select-option"),d=y("a-select");return v(),w(d,{"show-search":"","filter-option":t.filterOption,placeholder:t.placeholder,value:t.selectedValue,onChange:t.handleChange,allowClear:"",style:{width:"100%"}},{default:x(()=>[(v(!0),V(k,null,B(t.dictOptions,(n,s)=>(v(),w(p,{key:s,value:n.store},{default:x(()=>[P("span",{style:{display:"inline-block",width:"100%"},title:n.label},$(n.label),9,_)]),_:2},1032,["value"]))),128))]),_:1},8,["filter-option","placeholder","value","onChange"])}const G=N(T,[["render",D]]);export{G as default};
|