cnhis-design-vue 3.2.7-beta.11 → 3.2.7-beta.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- import{defineComponent as e,inject as t,ref as n,reactive as i,computed as r,onMounted as a,watch as l,openBlock as o,createElementBlock as s,Fragment as u,createElementVNode as c,createCommentVNode as d,createVNode as p,unref as m,withCtx as y,renderList as f,createBlock as v,createTextVNode as g,toDisplayString as k,isRef as h,renderSlot as b,withModifiers as P,normalizeClass as w,mergeProps as S}from"vue";import{isObject as O}from"@vue/shared";import{useMessage as C,NButtonGroup as I,NDropdown as T,NButton as L,NIcon as F,NPopover as j,NCheckbox as M,NDivider as N}from"naive-ui";import{PrintOutline as E,SettingsOutline as x,ChevronDownSharp as _,ArrowForwardOutline as D}from"@vicons/ionicons5";import{InjectionButtonPrintEmits as J}from"../constants/index.js";import{Print as z}from"../utils/print.js";import{isIReport as U}from"../utils/browserPrint.js";import A from"./IdentityVerification.vue.js";import{format as V}from"date-fns";import"../api.js";const K={class:"newprint-button-outer"},B=c("span",{class:"label bold"},"外显设置",-1),R={class:"newprint-button-poperOver"},q={class:"print-lite"},G={class:"label bold"},H={class:"print-li"},Y={class:"print-lite"},$={class:"newprint-button-poperOver"},Q=["onMouseenter","onClick"],W={class:"label bold"},X={class:"newprint-button-poperOver"},Z={class:"print-lite"},ee={class:"label bold"},te={class:"print-li"},ne={class:"print-lite"},ie=["onClick"],re={class:"newprint-button-poperOver"},ae=["onMouseenter"],le={class:"print-lite"},oe=["onClick"];var se=e({__name:"NewPrintComponent",props:{printParams:{type:Array},params:{default:()=>[],type:Array},btnText:{default:"打印",type:String},printText:{default:"直接打印",type:String},previewText:{default:"打印预览",type:String},pdfLoadText:{default:"下载pdf",type:String},formatEditText:{default:"格式编辑",type:String},prevFn:{default:()=>Promise.resolve(),type:Function},queryPrintFormatByNumber:{default:()=>Promise.resolve({}),type:Function},queryTemplateParams:{default:()=>Promise.resolve({}),type:Function},strategy:{default:"MULTI",type:String},clickPrevFn:{default:()=>Promise.resolve(!0),type:Function},noDataMsg:{default:"请选中需要打印的数据",type:String},token:{type:String},printdlgshow:{default:"0",type:String},btnprint:{type:String,default:"1"},directPrint:{type:Boolean,default:!1},externalOptionConfig:{type:Object,default:()=>({})},signature:{type:String},showLoading:{type:Boolean,default:!0},hideButtons:{type:Array,default:()=>[]},printCopies:{type:Number,default:1},newPrintSetting:{type:Object,default:()=>({isShowPrintAll:!0,printAllType:1,isShowOutSetting:!0,customProps:{},outerPrintKeys:[],defaultFormatId:""})}},setup(e,{expose:se}){const ue=e,ce=[{label:"分割线",key:"divider"},{label:"外显设置",key:"outSetting"}],de=C();let pe;const me=t(J),ye=n(""),fe=i({spinning:!1,visible:!1,formatList:[],templateParams:[],printParams:[],originParams:{},currentFormatId:"",identityVerification:{visible:!1},isInited:!1,watchPrintParamsReformatFn:null,spinTimer:null,isClickOuterPrint:!1,curPrintParamList:[]});let ve=n([]),ge=n([{label:ue.previewText,key:"previewText"},{label:ue.pdfLoadText,key:"downloadPdf"},{label:ue.formatEditText,key:"formatEditText"},{label:"重置打印机",key:"resetPrinter"}]);const ke=i({oneMouseType:"",oneClickType:"",twoMouseType:""}),he=i({oneShow:!1,isOperation:!1,isOutSetting:!1}),be=n([]),Pe=n([]),we=r((()=>{if(!fe.currentFormatId)return{};let e=fe.currentFormatId;return fe.formatList.find((t=>t.id===e))}));r((()=>{var e;return(null==(e=we.value)?void 0:e.name)||"格式选择"}));const Se=r((()=>{let e=fe.formatList.find((e=>e.id===fe.currentFormatId));return null==e?void 0:e.templateId})),Oe=r((()=>{let e=fe.formatList.find((e=>e.id===fe.currentFormatId));return null==e?void 0:e.number})),Ce=r((()=>{var e;return null==(e=ue.newPrintSetting)?void 0:e.isShowPrintAll})),Ie=r((()=>{var e;return null==(e=ue.newPrintSetting)?void 0:e.isShowOutSetting})),Te=r((()=>{var e;return(null==(e=ue.newPrintSetting)?void 0:e.customProps)||{}})),Le=r((()=>{var e;return(null==(e=ue.newPrintSetting)?void 0:e.defaultFormatId)||""})),Fe=r((()=>{var e;return(null==(e=ue.newPrintSetting)?void 0:e.printAllType)||1})),je=r((()=>{const e=ce.map((e=>e.key));return ve.value.filter((t=>!e.includes(t.key)))})),Me=r({get:()=>je.value.every((e=>e.selected)),set(e){je.value.forEach((t=>{t.selected=e}))}}),Ne=async()=>{var e,t;(null==(t=null==(e=ue.newPrintSetting)?void 0:e.outerPrintKeys)?void 0:t.length)||await rt(),he.oneShow=!0},Ee=async e=>{if(ue.directPrint){if(fe.spinning)return;return"button"===e?void(Ce.value?await lt():Le.value?async function(e){await rt(!1);const t=be.value.find((t=>t.key==e));t&&Ge(t.templateCode,t.templateId,t.key,!1)}(Le.value):Ne()):Ne()}return Ne()},xe=(e,t)=>{ke[e]=t},_e=()=>{be.value=ve.value.filter((e=>!e.selected)),Pe.value=je.value.filter((e=>e.selected)),Je("oneShow"),Je("isOutSetting"),me("saveOuterPrint",Pe.value)},De=e=>{he[e]=!0},Je=e=>{ke.oneClickType="",he[e]=!1,"isOutSetting"==e&&(he.isOutSetting=!1)},ze=(e,t)=>{Re(!1);let n={type:t,formatId:fe.currentFormatId,templateId:(null==e?void 0:e.templateId)||Se.value,templateCode:(null==e?void 0:e.templateCode)||Oe.value};me("success",e,n)},Ue=e=>{Re(!1),me("error",e),O(e)&&"notInstalledApp"===e.type&&de.error(e.message)},Ae=e=>{Re(!1),me("cancel",e)},Ve=e=>{me("error",{message:"前置条件执行错误",type:e,preExecution:!0})},Ke=()=>JSON.stringify({...ue.token?{token:ue.token}:{}}),Be=(e=[],t)=>{var n,i;let r={},a={};if((null==(n=fe.templateParams[t].customizeDataset)?void 0:n.length)>0){const t=(null==(i=Object.keys(e[0].datasetData||{}))?void 0:i[0])||"",n=JSON.stringify(e.map((e=>JSON.parse(e.datasetData[t]))));a={datasetData:{}},a.datasetData[t]=n}else Object.keys(e[0]).forEach((t=>{a[t]=[],e.forEach((e=>{a[t].includes(e[t])||a[t].push(e[t])})),a[t]=a[t].join(",")}));return r=Object.assign({},JSON.parse(Ke()),Te.value,a),JSON.stringify(r)},Re=(e,t)=>{if(fe.isClickOuterPrint){if(e&&t){const n=Pe.value.find((e=>e.key==t));return void(n&&(n.isLoading=e))}Pe.value.forEach((e=>{e.isLoading=!1}))}else fe.spinning=e},qe=()=>fe.isClickOuterPrint?Pe.value.some((e=>e.isLoading)):fe.spinning,Ge=(e,t,n,i)=>{const r=fe.printParams[e];if(!r)return;fe.isClickOuterPrint=i,fe.currentFormatId=n;const a=fe.originParams[e]||[];He(r,e,t,n,a)},He=async(e=[],t,n,i,r=[],a)=>{let l=e.length;const o=async e=>{try{--l<=0&&ze(e,"print")}catch(e){console.log("error",e)}};ue.showLoading&&qe()&&!a||(Re(!0,i),ue.prevFn("print").then((()=>{fe.curPrintParamList=e;const a={formatId:i,templateId:n,authorizationKey:ye.value,printdlgshow:ue.printdlgshow,signature:ue.signature,copies:ue.printCopies};if("MULTI"===ue.strategy)for(let t=0;t<e.length;t++){t>0&&(a.printdlgshow="0");const n=JSON.stringify(Object.assign({},JSON.parse(Ke()),Te.value,e[t]));pe.printDirect({...a,params:n},o,Ue,Ae)}else pe.printDirect({...a,params:Be(e,t)},(e=>{e.params=r,e.templateCode=t,e.templateId=n,ze(e,"print")}),Ue,Ae)})).catch((()=>{Ve("print"),Re(!1)})).finally((()=>{fe.visible=!1})))},Ye=async(e,{templateCode:t,templateId:n,key:i},r)=>{const a=fe.printParams[t];if(a)switch(fe.isClickOuterPrint=r,fe.currentFormatId=i,e){case"previewText":(async(e=[],t,n,i)=>{ue.showLoading&&qe()||(Re(!0,i),ue.prevFn("preview").then((()=>{fe.curPrintParamList=e;const r=JSON.stringify(Object.assign({},JSON.parse(Ke()),Te.value,e[0])),a="MULTI"===ue.strategy?r:Be(e,t),l={formatId:i,templateId:n,authorizationKey:ye.value,params:a,btnprint:ue.btnprint,signature:ue.signature};pe.preview(l,(e=>{ze(e,"preview")}),Ue)})).catch((()=>{Ve("preview"),Re(!1)})).finally((()=>{fe.visible=!1})))})(a,t,n,i);break;case"formatEditText":((e=[],t,n,i)=>{ue.showLoading&&qe()||(Re(!0,i),ue.prevFn("edit").then((()=>{fe.curPrintParamList=e,fe.currentFormatId=i,fe.identityVerification.visible=!0})).catch((()=>{Ve("edit")})).finally((()=>{Re(!1)})))})(a,0,0,i);break;case"downloadPdf":(async(e=[],t,n,i)=>{ue.showLoading&&qe()||(Re(!0,i),ue.prevFn("download").then((()=>{fe.curPrintParamList=e;const r=JSON.stringify(Object.assign({},JSON.parse(Ke()),Te.value,e[0])),a="MULTI"===ue.strategy?r:Be(e,t),l={formatId:i,templateId:n,authorizationKey:ye.value,print:{print:"1",type:"1"},params:a,signature:ue.signature};pe.downloadPDF(l,(e=>ze(e,"preview")),Ue)})).catch((()=>{Ve("download"),Re(!1)})).finally((()=>{fe.visible=!1})))})(a,t,n,i);break;case"resetPrinter":(async(e=[],t,n,i)=>{if(!ue.showLoading||!qe()){Re(!0,i);try{const e=await pe.resetPrinter(i);if(Re(!1),"success"==(null==e?void 0:e.result))return void de.success(e.message||"重置打印机成功");de.warning("重置打印机失败")}catch(e){Re(!1),de.warning((null==e?void 0:e.message)||"重置打印机失败")}}})(a,0,0,i)}},$e=()=>{},Qe=(e,t=[])=>{let n={};return(t=t||[]).forEach((t=>{n=Object.assign({},et(n,t,e))})),n},We=(e,t=[])=>{let n={};return(t=t||[]).forEach((t=>{n=Object.assign({},tt(n,t,e))})),n},Xe=(e,t,n)=>{const i={};return t.forEach((t=>{let r=((e,t)=>{const n={DATE:"yyyy-MM-dd",DATETIME:"yyyy-MM-dd HH:mm:ss"};let i=t;return Object.keys(n).includes(e.type)&&t&&t instanceof Date&&(i=V(t,n[e.type])),(null==e?void 0:e.defaultValue)||i})(t,e[t[n]]);e[t[n]]&&r&&(i[t[n]]=r)})),i},Ze=({customizeDataset:e=[],param:t=[]},n={})=>{let i={};return e.forEach((e=>{const t=e.dataSetting[0].selectFieldList;i.datasetData||(i.datasetData={}),i.datasetData[e.name]=JSON.stringify(Xe(n,t,"fieldName"))})),i=Object.assign({},i,Xe(n,t,"key")),i},et=(e,t,n)=>{if(t.templateNumbers){for(let i=0;i<t.templateNumbers.length;i++){const r=t.templateNumbers[i],a=n[r];if(!a)return de.error("当前勾选的数据没有匹配的模板"),e;e[r]||(e[r]=[]),e[r].push(Ze(a,t))}return e}const i=Object.keys(n);for(let r=0;r<i.length;r++){const a=i[r],l=n[a];if(!l)return de.error("当前勾选的数据没有匹配的模板"),e;e[a]||(e[a]=[]),e[a].push(Ze(l,t))}return e},tt=(e,t,n)=>{if(t.templateNumbers){for(let i=0;i<t.templateNumbers.length;i++){const r=t.templateNumbers[i];if(!n[r])return de.error("当前勾选的数据没有匹配的模板"),e;e[r]||(e[r]=[]),e[r].push(t)}return e}const i=Object.keys(n);for(let r=0;r<i.length;r++){const a=i[r];if(!n[a])return de.error("当前勾选的数据没有匹配的模板"),e;e[a]||(e[a]=[]),e[a].push(t)}return e},nt=async e=>{fe.formatList=e?(e=>{let t=[];return e&&e.forEach((e=>{if(!e.format)return!1;t.push(...e.format.map((t=>Object.assign({},t,{templateName:e.name}))))})),t})(e.obj):[],(()=>{var e,t,n;const i=fe.formatList.map((e=>({templateCode:e.number,templateId:e.templateId,label:e.name,key:e.id,selected:!1,isLoading:!1})));ve.value.unshift(...i),Ie.value&&ve.value.push(...ce),(null==(t=null==(e=ue.newPrintSetting)?void 0:e.outerPrintKeys)?void 0:t.length)>0&&(ve.value.forEach((e=>{var t;(null==(t=ue.newPrintSetting)?void 0:t.outerPrintKeys.includes(e.key))&&(e.selected=!0)})),Pe.value=ve.value.filter((e=>e.selected))),be.value=ve.value.filter((e=>!e.selected)),ue.hideButtons.length>0&&(ge.value=ge.value.filter((e=>!ue.hideButtons.includes(e.key))));const r=sessionStorage.getItem("portal");if(r){const e=JSON.parse(r),t=(null==(n=null==e?void 0:e.user)?void 0:n.currentRoleResourceObj)||{},i=Object.keys(t);i.includes("RY7.2.21.1.M2.G94181E")||(ge.value=ge.value.filter((e=>"downloadPdf"!=e.key))),i.includes("RY7.2.21.1.M2.G33633A")||(ge.value=ge.value.filter((e=>"formatEditText"!=e.key)))}})(),fe.templateParams=(e=>{let t={};return e&&e.forEach((e=>{if(!e.templateConfig)return!1;t[e.number]=e.templateConfig})),t})(e.obj),fe.printParams=Qe(fe.templateParams,ue.params),fe.originParams=We(fe.templateParams,ue.params)},it=async()=>{var e;if(fe.isInited)return!0;fe.isInited=!0,fe.spinning=!0,(()=>{if(pe)return!1;pe=new z})();const t=await ue.queryPrintFormatByNumber();return await nt(t),(null==(e=t.obj)?void 0:e.length)>0&&(ye.value=t.obj[0].authorizationKey||""),fe.spinning=!1,!0},rt=async(e=!0)=>{if(await ue.clickPrevFn()){if(!fe.visible){if(!await it())return!1}e&&(fe.visible=!fe.visible)}},at=e=>{if(fe.identityVerification.visible=!1,U(fe.currentFormatId))return ze(null,"edit");const t=JSON.stringify(Object.assign({},JSON.parse(Ke()),Te.value,fe.curPrintParamList[0])),n="MULTI"===ue.strategy?t:Be(fe.curPrintParamList,Oe.value),i={formatId:fe.currentFormatId,templateId:Se.value,params:n,token:e};pe.editPrintFormat(i,(e=>{ze(e,"edit")}),Ue)};async function lt(){await rt(!1),(()=>{const e=Object.keys(fe.printParams);fe.isClickOuterPrint=!1;const t=fe.originParams;if(1==Fe.value)for(let n=0;n<e.length;n++){const i=e[n],r=fe.printParams[i],a=t[i]||[],l=fe.formatList.filter((e=>e.number==i));l&&l.length>0&&l.forEach((e=>{fe.currentFormatId=e.id,He(r,e.number,e.templateId,e.id,a,!0)}))}2==Fe.value&&Pe.value.forEach((e=>{const n=fe.printParams[e.templateCode],i=t[e.templateCode]||[];fe.currentFormatId=e.key,He(n,e.templateCode,e.templateId,e.key,i,!0)}))})()}return a((()=>{fe.isInited=!1})),l((()=>ue.params),(e=>{Object.keys(fe.templateParams).length>0&&(fe.printParams=Qe(fe.templateParams,ue.params),fe.originParams=We(fe.templateParams,ue.params))}),{deep:!0}),l((()=>{var e;return null==(e=ue.newPrintSetting)?void 0:e.outerPrintKeys}),(async e=>{(null==e?void 0:e.length)>0&&await rt(!1)}),{deep:!0,immediate:!0}),se({directPrint:lt}),(t,n)=>(o(),s(u,null,[c("div",K,[d(" 外显按钮集合 "),p(m(I),null,{default:y((()=>[(o(!0),s(u,null,f(Pe.value,(t=>{return o(),v(m(T),{key:t.key,class:"c-dropdown",placement:"bottom-start",trigger:"hover",onClickoutside:$e,options:(n=m(ge),i=t,fe.printParams[i.templateCode]?n:[]),onSelect:e=>Ye(e,t,!0)},{default:y((()=>[p(m(L),{disabled:!fe.printParams[t.templateCode],loading:e.showLoading&&t.isLoading,onClick:e=>Ge(t.templateCode,t.templateId,t.key,!0)},{icon:y((()=>[p(m(F),{component:m(E),size:"18"},null,8,["component"])])),default:y((()=>[g(" "+k(t.label),1)])),_:2},1032,["disabled","loading","onClick"])])),_:2},1032,["options","onSelect"]);var n,i})),128))])),_:1}),d(" 外显设置按钮 "),Pe.value.length>0&&Pe.value.length==m(je).length&&m(Ie)?(o(),v(m(j),{key:0,trigger:"click","show-arrow":!1,show:he.isOutSetting,onClickoutside:n[2]||(n[2]=e=>Je("isOutSetting"))},{trigger:y((()=>[p(m(L),{onClick:n[0]||(n[0]=e=>De("isOutSetting"))},{default:y((()=>[B,p(m(F),{style:{"margin-left":"8px"},component:m(x),size:"18"},null,8,["component"])])),_:1})])),default:y((()=>[c("div",R,[(o(!0),s(u,null,f(m(je),(e=>(o(),s("div",{class:"print-li",key:e.key},[c("div",q,[c("span",G,k(e.label),1),p(m(M),{checked:e.selected,"onUpdate:checked":t=>e.selected=t},{default:y((()=>[g("外显")])),_:2},1032,["checked","onUpdate:checked"])])])))),128)),c("div",H,[p(m(N)),c("div",Y,[p(m(L),{type:"primary",size:"small",onClick:_e},{default:y((()=>[g("保存")])),_:1}),m(je)&&m(je).length>1?(o(),v(m(M),{key:0,checked:m(Me),"onUpdate:checked":n[1]||(n[1]=e=>h(Me)?Me.value=e:null)},{default:y((()=>[g("全选")])),_:1},8,["checked"])):d("v-if",!0)])])])])),_:1},8,["show"])):(o(),s(u,{key:1},[d(" 打印全部按钮 "),p(m(j),{trigger:"click","show-arrow":!1,show:he.oneShow,onClickoutside:n[10]||(n[10]=e=>Je("oneShow"))},{trigger:y((()=>[b(t.$slots,"button",{handleClickPrintBtn:rt,printSpinning:fe.spinning,printbtnText:e.btnText,printVisible:fe.visible},(()=>[p(m(I),{class:"newprint-button-component",onClick:n[4]||(n[4]=P((()=>Ee("icon")),["stop"]))},{default:y((()=>[p(m(L),{loading:e.showLoading&&fe.spinning,onClick:n[3]||(n[3]=P((()=>Ee("button")),["stop"]))},{icon:y((()=>[p(m(F),{component:m(E),size:"18"},null,8,["component"])])),default:y((()=>[g(" "+k(m(Ce)?"打印全部":e.btnText),1)])),_:1},8,["loading"]),p(m(L),{class:"icon-select"},{icon:y((()=>[p(m(F),{component:m(_),size:"18"},null,8,["component"])])),_:1})])),_:1})]))])),default:y((()=>[c("div",$,[(o(!0),s(u,null,f(be.value,(e=>(o(),s("div",{class:w(["print-li",ke.oneMouseType==e.key||ke.oneClickType==e.key?"active":""]),key:e.key,onMouseenter:t=>xe("oneMouseType",e.key),onMouseleave:n[9]||(n[9]=e=>xe("oneMouseType","")),onClick:t=>((e,t,n)=>{if(!fe.printParams[n.templateCode])return[];xe(e,t)})("oneClickType",e.key,e)},["divider"==e.key?(o(),v(m(N),{key:0})):"outSetting"==e.key?(o(),s(u,{key:1},[d(" 第二层外显设置 "),p(m(j),{trigger:"click","show-arrow":!1,placement:"right-start",show:he.isOutSetting,onClickoutside:n[7]||(n[7]=e=>Je("isOutSetting"))},{trigger:y((()=>[c("div",{class:"print-lite",onClick:n[5]||(n[5]=e=>De("isOutSetting"))},[c("span",W,k(e.label),1),p(m(F),{color:Pe.value.length>0?"#2563F4":"",component:m(x),size:"18"},null,8,["color","component"])])])),default:y((()=>[c("div",X,[(o(!0),s(u,null,f(m(je),(e=>(o(),s("div",{class:"print-li",key:e.key},[c("div",Z,[c("span",ee,k(e.label),1),p(m(M),{checked:e.selected,"onUpdate:checked":t=>e.selected=t},{default:y((()=>[g("外显")])),_:2},1032,["checked","onUpdate:checked"])])])))),128)),c("div",te,[p(m(N)),c("div",ne,[p(m(L),{type:"primary",size:"small",onClick:_e},{default:y((()=>[g("保存")])),_:1}),m(je)&&m(je).length>1?(o(),v(m(M),{key:0,checked:m(Me),"onUpdate:checked":n[6]||(n[6]=e=>h(Me)?Me.value=e:null)},{default:y((()=>[g("全选")])),_:1},8,["checked"])):d("v-if",!0)])])])])),_:2},1032,["show"])],2112)):(o(),s(u,{key:2},[d(" 第二层功能操作 "),c("div",{class:w(["print-lite",fe.printParams[e.templateCode]?"":"isDisabled"])},[c("span",{class:"label bold",onClick:t=>Ge(e.templateCode,e.templateId,e.key,!1)},k(e.label),9,ie),fe.printParams[e.templateCode]?(o(),v(m(j),{key:0,trigger:"click","show-arrow":!1,placement:"right-start",show:he[e.key],onClickoutside:t=>Je(e.key)},{trigger:y((()=>[p(m(F),{component:m(D),size:"18",onClick:t=>De(e.key)},null,8,["component","onClick"])])),default:y((()=>[c("div",re,[(o(!0),s(u,null,f(m(ge),(t=>(o(),s("div",{class:w(["print-li",ke.twoMouseType==t.key?"active":""]),key:t.key,onMouseenter:e=>xe("twoMouseType",t.key),onMouseleave:n[8]||(n[8]=e=>xe("twoMouseType",""))},[c("div",le,[c("span",{class:"label",onClick:n=>Ye(t.key,e,!1)},k(t.label),9,oe)])],42,ae)))),128))])])),_:2},1032,["show","onClickoutside"])):d("v-if",!0)],2)],2112))],42,Q)))),128))])])),_:3},8,["show"])],2112))]),p(A,S(t.$attrs,{modelValue:fe.identityVerification.visible,"onUpdate:modelValue":n[11]||(n[11]=e=>fe.identityVerification.visible=e),formatId:fe.currentFormatId,templateId:m(Se),onSuccess:at}),null,16,["modelValue","formatId","templateId"])],64))}});export{se as default};
1
+ import{defineComponent as e,inject as t,ref as n,reactive as i,computed as r,onMounted as a,watch as l,openBlock as o,createElementBlock as s,Fragment as u,createElementVNode as c,createCommentVNode as d,createVNode as p,unref as m,withCtx as y,renderList as f,createBlock as v,createTextVNode as g,toDisplayString as k,isRef as h,renderSlot as b,withModifiers as P,normalizeClass as w,mergeProps as S}from"vue";import{isObject as O}from"@vue/shared";import{useMessage as C,NButtonGroup as I,NDropdown as T,NButton as L,NIcon as F,NPopover as j,NCheckbox as M,NDivider as N}from"naive-ui";import{PrintOutline as E,SettingsOutline as x,ChevronDownSharp as _,ArrowForwardOutline as D}from"@vicons/ionicons5";import{InjectionButtonPrintEmits as J}from"../constants/index.js";import{Print as z}from"../utils/print.js";import{isIReport as U}from"../utils/browserPrint.js";import A from"./IdentityVerification.vue.js";import{format as V}from"date-fns";import"../api.js";const K={class:"newprint-button-outer"},B=c("span",{class:"label bold"},"外显设置",-1),R={class:"newprint-button-poperOver"},q={class:"print-lite"},G={class:"label bold"},H={class:"print-li"},Y={class:"print-lite"},$={class:"newprint-button-poperOver"},Q=["onMouseenter","onClick"],W={class:"label bold"},X={class:"newprint-button-poperOver"},Z={class:"print-lite"},ee={class:"label bold"},te={class:"print-li"},ne={class:"print-lite"},ie=["onClick"],re={class:"newprint-button-poperOver"},ae=["onMouseenter"],le={class:"print-lite"},oe=["onClick"];var se=e({__name:"NewPrintComponent",props:{printParams:{type:Array},params:{default:()=>[],type:Array},btnText:{default:"打印",type:String},printText:{default:"直接打印",type:String},previewText:{default:"打印预览",type:String},pdfLoadText:{default:"下载pdf",type:String},formatEditText:{default:"格式编辑",type:String},prevFn:{default:()=>Promise.resolve(),type:Function},queryPrintFormatByNumber:{default:()=>Promise.resolve({}),type:Function},queryTemplateParams:{default:()=>Promise.resolve({}),type:Function},strategy:{default:"MULTI",type:String},clickPrevFn:{default:()=>Promise.resolve(!0),type:Function},noDataMsg:{default:"请选中需要打印的数据",type:String},token:{type:String},printdlgshow:{default:"0",type:String},btnprint:{type:String,default:"1"},directPrint:{type:Boolean,default:!1},externalOptionConfig:{type:Object,default:()=>({})},signature:{type:String},showLoading:{type:Boolean,default:!0},hideButtons:{type:Array,default:()=>[]},printCopies:{type:Number,default:1},newPrintSetting:{type:Object,default:()=>({isShowPrintAll:!0,printAllType:1,isShowOutSetting:!0,customProps:{},outerPrintKeys:[],defaultFormatId:""})}},setup(e,{expose:se}){const ue=e,ce=[{label:"分割线",key:"divider"},{label:"外显设置",key:"outSetting"}],de=C();let pe;const me=t(J),ye=n(""),fe=i({spinning:!1,visible:!1,formatList:[],templateParams:[],printParams:[],originParams:{},currentFormatId:"",identityVerification:{visible:!1},isInited:!1,watchPrintParamsReformatFn:null,spinTimer:null,isClickOuterPrint:!1,curPrintParamList:[]});let ve=n([]),ge=n([{label:ue.previewText,key:"previewText"},{label:ue.pdfLoadText,key:"downloadPdf"},{label:ue.formatEditText,key:"formatEditText"},{label:"重置打印机",key:"resetPrinter"}]);const ke=i({oneMouseType:"",oneClickType:"",twoMouseType:""}),he=i({oneShow:!1,isOperation:!1,isOutSetting:!1}),be=n([]),Pe=n([]),we=r((()=>{if(!fe.currentFormatId)return{};let e=fe.currentFormatId;return fe.formatList.find((t=>t.id===e))}));r((()=>{var e;return(null==(e=we.value)?void 0:e.name)||"格式选择"}));const Se=r((()=>{let e=fe.formatList.find((e=>e.id===fe.currentFormatId));return null==e?void 0:e.templateId})),Oe=r((()=>{let e=fe.formatList.find((e=>e.id===fe.currentFormatId));return null==e?void 0:e.number})),Ce=r((()=>{var e;return null==(e=ue.newPrintSetting)?void 0:e.isShowPrintAll})),Ie=r((()=>{var e;return null==(e=ue.newPrintSetting)?void 0:e.isShowOutSetting})),Te=r((()=>{var e;return(null==(e=ue.newPrintSetting)?void 0:e.customProps)||{}})),Le=r((()=>{var e;return(null==(e=ue.newPrintSetting)?void 0:e.defaultFormatId)||""})),Fe=r((()=>{var e;return(null==(e=ue.newPrintSetting)?void 0:e.printAllType)||1})),je=r((()=>{const e=ce.map((e=>e.key));return ve.value.filter((t=>!e.includes(t.key)))})),Me=r({get:()=>je.value.every((e=>e.selected)),set(e){je.value.forEach((t=>{t.selected=e}))}}),Ne=async()=>{var e,t;(null==(t=null==(e=ue.newPrintSetting)?void 0:e.outerPrintKeys)?void 0:t.length)||await rt(),he.oneShow=!0},Ee=async e=>{if(ue.directPrint){if(fe.spinning)return;return"button"===e?void(Ce.value?await lt():Le.value?async function(e){await rt(!1);const t=be.value.find((t=>t.key==e));t&&Ge(t.templateCode,t.templateId,t.key,!1)}(Le.value):Ne()):Ne()}return Ne()},xe=(e,t)=>{ke[e]=t},_e=()=>{be.value=ve.value.filter((e=>!e.selected)),Pe.value=je.value.filter((e=>e.selected)),Je("oneShow"),Je("isOutSetting"),me("saveOuterPrint",Pe.value)},De=e=>{he[e]=!0},Je=e=>{ke.oneClickType="",he[e]=!1,"isOutSetting"==e&&(he.isOutSetting=!1)},ze=(e,t)=>{Re(!1);let n={type:t,formatId:fe.currentFormatId,templateId:(null==e?void 0:e.templateId)||Se.value,templateCode:(null==e?void 0:e.templateCode)||Oe.value};me("success",e,n)},Ue=e=>{Re(!1),me("error",e),O(e)&&"notInstalledApp"===e.type&&de.error(e.message)},Ae=e=>{Re(!1),me("cancel",e)},Ve=e=>{me("error",{message:"前置条件执行错误",type:e,preExecution:!0})},Ke=()=>JSON.stringify({...ue.token?{token:ue.token}:{}}),Be=(e=[],t)=>{var n,i;let r={},a={};if((null==(n=fe.templateParams[t].customizeDataset)?void 0:n.length)>0){const t=(null==(i=Object.keys(e[0].datasetData||{}))?void 0:i[0])||"",n=JSON.stringify(e.map((e=>JSON.parse(e.datasetData[t]))));a={datasetData:{}},a.datasetData[t]=n}else Object.keys(e[0]).forEach((t=>{a[t]=[],e.forEach((e=>{a[t].includes(e[t])||a[t].push(e[t])})),a[t]=a[t].join(",")}));return r=Object.assign({},JSON.parse(Ke()),Te.value,a),JSON.stringify(r)},Re=(e,t)=>{if(fe.isClickOuterPrint){if(e&&t){const n=Pe.value.find((e=>e.key==t));return void(n&&(n.isLoading=e))}Pe.value.forEach((e=>{e.isLoading=!1}))}else fe.spinning=e},qe=()=>fe.isClickOuterPrint?Pe.value.some((e=>e.isLoading)):fe.spinning,Ge=(e,t,n,i)=>{const r=fe.printParams[e];if(!r)return;fe.isClickOuterPrint=i,fe.currentFormatId=n;const a=fe.originParams[e]||[];He(r,e,t,n,a)},He=async(e=[],t,n,i,r=[],a)=>{let l=e.length;const o=async e=>{try{--l<=0&&ze(e,"print")}catch(e){console.log("error",e)}};ue.showLoading&&qe()&&!a||(Re(!0,i),ue.prevFn("print").then((()=>{fe.curPrintParamList=e;const a={formatId:i,templateId:n,authorizationKey:ye.value,printdlgshow:ue.printdlgshow,signature:ue.signature,copies:ue.printCopies};if("MULTI"===ue.strategy)for(let t=0;t<e.length;t++){t>0&&(a.printdlgshow="0");const n=JSON.stringify(Object.assign({},JSON.parse(Ke()),Te.value,e[t]));pe.printDirect({...a,params:n},o,Ue,Ae)}else pe.printDirect({...a,params:Be(e,t)},(e=>{e.params=r,e.templateCode=t,e.templateId=n,ze(e,"print")}),Ue,Ae)})).catch((()=>{Ve("print"),Re(!1)})).finally((()=>{fe.visible=!1})))},Ye=async(e,{templateCode:t,templateId:n,key:i},r)=>{const a=fe.printParams[t];if(a)switch(fe.isClickOuterPrint=r,fe.currentFormatId=i,e){case"previewText":(async(e=[],t,n,i)=>{ue.showLoading&&qe()||(Re(!0,i),ue.prevFn("preview").then((()=>{fe.curPrintParamList=e;const r=JSON.stringify(Object.assign({},JSON.parse(Ke()),Te.value,e[0])),a="MULTI"===ue.strategy?r:Be(e,t),l={formatId:i,templateId:n,authorizationKey:ye.value,params:a,btnprint:ue.btnprint,signature:ue.signature};pe.preview(l,(e=>{ze(e,"preview")}),Ue)})).catch((()=>{Ve("preview"),Re(!1)})).finally((()=>{fe.visible=!1})))})(a,t,n,i);break;case"formatEditText":((e=[],t,n,i)=>{ue.showLoading&&qe()||(Re(!0,i),ue.prevFn("edit").then((()=>{fe.curPrintParamList=e,fe.currentFormatId=i,fe.identityVerification.visible=!0})).catch((()=>{Ve("edit")})).finally((()=>{Re(!1)})))})(a,0,0,i);break;case"downloadPdf":(async(e=[],t,n,i)=>{ue.showLoading&&qe()||(Re(!0,i),ue.prevFn("download").then((()=>{fe.curPrintParamList=e;const r=JSON.stringify(Object.assign({},JSON.parse(Ke()),Te.value,e[0])),a="MULTI"===ue.strategy?r:Be(e,t),l={formatId:i,templateId:n,authorizationKey:ye.value,print:{print:"1",type:"1"},params:a,signature:ue.signature};pe.downloadPDF(l,(e=>ze(e,"preview")),Ue)})).catch((()=>{Ve("download"),Re(!1)})).finally((()=>{fe.visible=!1})))})(a,t,n,i);break;case"resetPrinter":(async(e=[],t,n,i)=>{if(!ue.showLoading||!qe()){Re(!0,i);try{const e=await pe.resetPrinter(i);if(Re(!1),"success"==(null==e?void 0:e.result))return void de.success(e.message||"重置打印机成功");de.warning("重置打印机失败")}catch(e){Re(!1),de.warning((null==e?void 0:e.message)||"重置打印机失败")}}})(a,0,0,i)}},$e=()=>{},Qe=(e,t=[])=>{let n={};return(t=t||[]).forEach((t=>{n=Object.assign({},et(n,t,e))})),n},We=(e,t=[])=>{let n={};return(t=t||[]).forEach((t=>{n=Object.assign({},tt(n,t,e))})),n},Xe=(e,t,n)=>{const i={};return t.forEach((t=>{let r=((e,t)=>{const n={DATE:"yyyy-MM-dd",DATETIME:"yyyy-MM-dd HH:mm:ss"};let i=t;return Object.keys(n).includes(e.type)&&t&&t instanceof Date&&(i=V(t,n[e.type])),(null==e?void 0:e.defaultValue)||i})(t,e[t[n]]);e[t[n]]&&r&&(i[t[n]]=r)})),i},Ze=({customizeDataset:e=[],param:t=[]},n={})=>{let i={};return e.forEach((e=>{const t=e.dataSetting[0].selectFieldList;i.datasetData||(i.datasetData={}),i.datasetData[e.name]=JSON.stringify(Xe(n,t,"fieldName"))})),i=Object.assign({},i,Xe(n,t,"key")),i},et=(e,t,n)=>{if(t.templateNumbers){for(let i=0;i<t.templateNumbers.length;i++){const r=t.templateNumbers[i],a=n[r];if(!a)return de.error("当前勾选的数据没有匹配的模板"),e;e[r]||(e[r]=[]),e[r].push(Ze(a,t))}return e}const i=Object.keys(n);for(let r=0;r<i.length;r++){const a=i[r],l=n[a];if(!l)return de.error("当前勾选的数据没有匹配的模板"),e;e[a]||(e[a]=[]),e[a].push(Ze(l,t))}return e},tt=(e,t,n)=>{if(t.templateNumbers){for(let i=0;i<t.templateNumbers.length;i++){const r=t.templateNumbers[i];if(!n[r])return de.error("当前勾选的数据没有匹配的模板"),e;e[r]||(e[r]=[]),e[r].push(t)}return e}const i=Object.keys(n);for(let r=0;r<i.length;r++){const a=i[r];if(!n[a])return de.error("当前勾选的数据没有匹配的模板"),e;e[a]||(e[a]=[]),e[a].push(t)}return e},nt=async e=>{fe.formatList=e?(e=>{let t=[];return e&&e.forEach((e=>{if(!e.format)return!1;t.push(...e.format.map((t=>Object.assign({},t,{templateName:e.name}))))})),t})(e.obj):[],(()=>{var e,t,n;const i=fe.formatList.map((e=>({templateCode:e.number,templateId:e.templateId,label:e.name,key:e.id,selected:!1,isLoading:!1})));ve.value.unshift(...i),Ie.value&&ve.value.push(...ce),(null==(t=null==(e=ue.newPrintSetting)?void 0:e.outerPrintKeys)?void 0:t.length)>0&&(ve.value.forEach((e=>{var t;(null==(t=ue.newPrintSetting)?void 0:t.outerPrintKeys.includes(e.key))&&(e.selected=!0)})),Pe.value=ve.value.filter((e=>e.selected))),be.value=ve.value.filter((e=>!e.selected)),ue.hideButtons.length>0&&(ge.value=ge.value.filter((e=>!ue.hideButtons.includes(e.key))));const r=sessionStorage.getItem("portal");if(r){const e=JSON.parse(r),t=(null==(n=null==e?void 0:e.user)?void 0:n.currentRoleResourceObj)||{},i=Object.keys(t);i.includes("RY7.2.21.1.M2.G94181E")||(ge.value=ge.value.filter((e=>"downloadPdf"!=e.key))),i.includes("RY7.2.21.1.M2.G33633A")||(ge.value=ge.value.filter((e=>"formatEditText"!=e.key)))}})(),fe.templateParams=(e=>{let t={};return e&&e.forEach((e=>{if(!e.templateConfig)return!1;t[e.number]=e.templateConfig})),t})(e.obj),fe.printParams=Qe(fe.templateParams,ue.params),fe.originParams=We(fe.templateParams,ue.params)},it=async()=>{var e;if(fe.isInited)return!0;fe.isInited=!0,fe.spinning=!0,(()=>{if(pe)return!1;pe=new z})();const t=await ue.queryPrintFormatByNumber();return await nt(t),(null==(e=t.obj)?void 0:e.length)>0&&(ye.value=t.obj[0].authorizationKey||""),fe.spinning=!1,!0},rt=async(e=!0)=>{if(await ue.clickPrevFn()){if(!fe.visible){if(!await it())return!1}e&&(fe.visible=!fe.visible)}},at=e=>{if(fe.identityVerification.visible=!1,U(fe.currentFormatId))return ze(null,"edit");const t=JSON.stringify(Object.assign({},JSON.parse(Ke()),Te.value,fe.curPrintParamList[0])),n="MULTI"===ue.strategy?t:Be(fe.curPrintParamList,Oe.value),i={formatId:fe.currentFormatId,templateId:Se.value,params:n,token:e};pe.editPrintFormat(i,(e=>{ze(e,"edit")}),Ue)};async function lt(){await rt(!1),(()=>{const e=Object.keys(fe.printParams);fe.isClickOuterPrint=!1;const t=fe.originParams;if(1==Fe.value)for(let n=0;n<e.length;n++){const i=e[n],r=fe.printParams[i],a=t[i]||[],l=fe.formatList.filter((e=>e.number==i));l&&l.length>0&&l.forEach((e=>{fe.currentFormatId=e.id,He(r,e.number,e.templateId,e.id,a,!0)}))}2==Fe.value&&Pe.value.forEach((e=>{const n=fe.printParams[e.templateCode],i=t[e.templateCode]||[];fe.currentFormatId=e.key,He(n,e.templateCode,e.templateId,e.key,i,!0)}))})()}return a((()=>{fe.isInited=!1})),l((()=>ue.params),(e=>{Object.keys(fe.templateParams).length>0&&(fe.printParams=Qe(fe.templateParams,ue.params),fe.originParams=We(fe.templateParams,ue.params))}),{deep:!0}),l((()=>{var e;return null==(e=ue.newPrintSetting)?void 0:e.outerPrintKeys}),(async e=>{(null==e?void 0:e.length)>0&&await rt(!1)}),{deep:!0,immediate:!0}),se({directPrint:lt}),(t,n)=>(o(),s(u,null,[c("div",K,[d(" 外显按钮集合 "),p(m(I),null,{default:y((()=>[(o(!0),s(u,null,f(Pe.value,(t=>{return o(),v(m(T),{key:t.key,class:"c-dropdown",placement:"bottom-start",trigger:"hover",onClickoutside:$e,options:(n=m(ge),i=t,fe.printParams[i.templateCode]?n:[]),onSelect:e=>Ye(e,t,!0)},{default:y((()=>[p(m(L),{disabled:!fe.printParams[t.templateCode],loading:e.showLoading&&t.isLoading,onClick:e=>Ge(t.templateCode,t.templateId,t.key,!0)},{icon:y((()=>[p(m(F),{component:m(E),size:"18"},null,8,["component"])])),default:y((()=>[g(" "+k(t.label),1)])),_:2},1032,["disabled","loading","onClick"])])),_:2},1032,["options","onSelect"]);var n,i})),128))])),_:1}),d(" 外显设置按钮 "),Pe.value.length>0&&Pe.value.length==m(je).length&&m(Ie)&&2!=m(Fe)?(o(),v(m(j),{key:0,trigger:"click","show-arrow":!1,show:he.isOutSetting,onClickoutside:n[2]||(n[2]=e=>Je("isOutSetting"))},{trigger:y((()=>[p(m(L),{onClick:n[0]||(n[0]=e=>De("isOutSetting"))},{default:y((()=>[B,p(m(F),{style:{"margin-left":"8px"},component:m(x),size:"18"},null,8,["component"])])),_:1})])),default:y((()=>[c("div",R,[(o(!0),s(u,null,f(m(je),(e=>(o(),s("div",{class:"print-li",key:e.key},[c("div",q,[c("span",G,k(e.label),1),p(m(M),{checked:e.selected,"onUpdate:checked":t=>e.selected=t},{default:y((()=>[g("外显")])),_:2},1032,["checked","onUpdate:checked"])])])))),128)),c("div",H,[p(m(N)),c("div",Y,[p(m(L),{type:"primary",size:"small",onClick:_e},{default:y((()=>[g("保存")])),_:1}),m(je)&&m(je).length>1?(o(),v(m(M),{key:0,checked:m(Me),"onUpdate:checked":n[1]||(n[1]=e=>h(Me)?Me.value=e:null)},{default:y((()=>[g("全选")])),_:1},8,["checked"])):d("v-if",!0)])])])])),_:1},8,["show"])):(o(),s(u,{key:1},[d(" 打印全部按钮 "),p(m(j),{trigger:"click","show-arrow":!1,show:he.oneShow,onClickoutside:n[10]||(n[10]=e=>Je("oneShow"))},{trigger:y((()=>[b(t.$slots,"button",{handleClickPrintBtn:rt,printSpinning:fe.spinning,printbtnText:e.btnText,printVisible:fe.visible},(()=>[p(m(I),{class:"newprint-button-component",onClick:n[4]||(n[4]=P((()=>Ee("icon")),["stop"]))},{default:y((()=>[p(m(L),{loading:e.showLoading&&fe.spinning,onClick:n[3]||(n[3]=P((()=>Ee("button")),["stop"]))},{icon:y((()=>[p(m(F),{component:m(E),size:"18"},null,8,["component"])])),default:y((()=>[g(" "+k(m(Ce)?"打印全部":e.btnText),1)])),_:1},8,["loading"]),p(m(L),{class:"icon-select"},{icon:y((()=>[p(m(F),{component:m(_),size:"18"},null,8,["component"])])),_:1})])),_:1})]))])),default:y((()=>[c("div",$,[(o(!0),s(u,null,f(be.value,(e=>(o(),s("div",{class:w(["print-li",ke.oneMouseType==e.key||ke.oneClickType==e.key?"active":""]),key:e.key,onMouseenter:t=>xe("oneMouseType",e.key),onMouseleave:n[9]||(n[9]=e=>xe("oneMouseType","")),onClick:t=>((e,t,n)=>{if(!fe.printParams[n.templateCode])return[];xe(e,t)})("oneClickType",e.key,e)},["divider"==e.key?(o(),v(m(N),{key:0})):"outSetting"==e.key?(o(),s(u,{key:1},[d(" 第二层外显设置 "),p(m(j),{trigger:"click","show-arrow":!1,placement:"right-start",show:he.isOutSetting,onClickoutside:n[7]||(n[7]=e=>Je("isOutSetting"))},{trigger:y((()=>[c("div",{class:"print-lite",onClick:n[5]||(n[5]=e=>De("isOutSetting"))},[c("span",W,k(e.label),1),p(m(F),{color:Pe.value.length>0?"#2563F4":"",component:m(x),size:"18"},null,8,["color","component"])])])),default:y((()=>[c("div",X,[(o(!0),s(u,null,f(m(je),(e=>(o(),s("div",{class:"print-li",key:e.key},[c("div",Z,[c("span",ee,k(e.label),1),p(m(M),{checked:e.selected,"onUpdate:checked":t=>e.selected=t},{default:y((()=>[g("外显")])),_:2},1032,["checked","onUpdate:checked"])])])))),128)),c("div",te,[p(m(N)),c("div",ne,[p(m(L),{type:"primary",size:"small",onClick:_e},{default:y((()=>[g("保存")])),_:1}),m(je)&&m(je).length>1?(o(),v(m(M),{key:0,checked:m(Me),"onUpdate:checked":n[6]||(n[6]=e=>h(Me)?Me.value=e:null)},{default:y((()=>[g("全选")])),_:1},8,["checked"])):d("v-if",!0)])])])])),_:2},1032,["show"])],2112)):(o(),s(u,{key:2},[d(" 第二层功能操作 "),c("div",{class:w(["print-lite",fe.printParams[e.templateCode]?"":"isDisabled"])},[c("span",{class:"label bold",onClick:t=>Ge(e.templateCode,e.templateId,e.key,!1)},k(e.label),9,ie),fe.printParams[e.templateCode]?(o(),v(m(j),{key:0,trigger:"click","show-arrow":!1,placement:"right-start",show:he[e.key],onClickoutside:t=>Je(e.key)},{trigger:y((()=>[p(m(F),{component:m(D),size:"18",onClick:t=>De(e.key)},null,8,["component","onClick"])])),default:y((()=>[c("div",re,[(o(!0),s(u,null,f(m(ge),(t=>(o(),s("div",{class:w(["print-li",ke.twoMouseType==t.key?"active":""]),key:t.key,onMouseenter:e=>xe("twoMouseType",t.key),onMouseleave:n[8]||(n[8]=e=>xe("twoMouseType",""))},[c("div",le,[c("span",{class:"label",onClick:n=>Ye(t.key,e,!1)},k(t.label),9,oe)])],42,ae)))),128))])])),_:2},1032,["show","onClickoutside"])):d("v-if",!0)],2)],2112))],42,Q)))),128))])])),_:3},8,["show"])],2112))]),p(A,S(t.$attrs,{modelValue:fe.identityVerification.visible,"onUpdate:modelValue":n[11]||(n[11]=e=>fe.identityVerification.visible=e),formatId:fe.currentFormatId,templateId:m(Se),onSuccess:at}),null,16,["modelValue","formatId","templateId"])],64))}});export{se as default};
@@ -1 +1 @@
1
- import{defineComponent as e,ref as i,inject as t,onBeforeUnmount as l,watch as a,openBlock as o,createBlock as n,unref as s,normalizeClass as d,withCtx as c,createVNode as r,normalizeStyle as u,createElementVNode as f,createTextVNode as h,createElementBlock as v,Fragment as m,createCommentVNode as p,mergeProps as x}from"vue";import{NModal as b,NCard as y,NButton as g}from"naive-ui";import{InjectionClassifyfilterType as L}from"../../../../table-filter/src/constants/index.js";import k from"../../../../table-filter/src/components/classify-filter/index.vue.js";import z from"../../../../table-filter/src/components/bi-filter/index.vue.js";const A={class:"svg-wrap"},_={class:"flex_right"};var w=e({__name:"index",props:{visible:{type:Boolean,default:!1},modalTitle:{type:String,default:"设置分类"},conditionList:{type:Array,default:()=>[]},searchFieldList:{type:Array,default:()=>[]}},emits:["cancelSaveAdd"],setup(e,{expose:w,emit:C}){const F=e,S=i(F.visible),H=i(!1),T=i("860px");let $=i({maxHeight:"496px",height:"496px"}),j=i(null),R=null;const B=t(L);function I(){N(),R=setTimeout((()=>{j&&j.value.handleInitConditions()}),30)}function N(){R&&clearTimeout(R)}function P(){j&&j.value.saveAdd()}function U(){S.value=!1,C("cancelSaveAdd"),T.value="860px",$.value={height:"496px",maxHeight:"496px"},H.value=!1,j&&j.value.cancelSaveAdd()}function q(){H.value=!H.value;let e=document.body.clientHeight;"860px"===T.value?(T.value="100%",$.value.maxHeight=`${e}px`,$.value.height=`${e}px`):(T.value="860px",$.value.maxHeight="496px",$.value.height="")}return l((()=>{N()})),a((()=>F.visible),(e=>{S.value=e,e&&I()})),w({cancelSaveAdd:U}),(e,i)=>(o(),n(s(b),{class:d(["classification-modal-block standard-modal standard-modal-white search-filter-modal",{"modal-screen":H.value}]),show:S.value,"onUpdate:show":i[0]||(i[0]=e=>S.value=e),maskClosable:!1,width:T.value,bodyStyle:s($),closable:!1,to:"body",centered:"",onPositiveClick:P,onNegativeClick:U},{default:c((()=>[r(s(y),{style:u({width:T.value,...s($)}),title:F.modalTitle,bordered:!1,size:"huge",role:"dialog","aria-modal":"true"},{"header-extra":c((()=>[f("div",A,[f("i",{onClick:q,class:d(["iconfont-table-filter",H.value?"icon-table-filter-menzhenyishengzhanxitongtubiaozuixiaohua2":"icon-table-filter-menzhenyishengzhanxitongtubiaozuidahua"])},null,2),f("i",{onClick:U,class:"iconfont-table-filter icon-table-filter-menzhenyishengzhanxitongtubiaoguanbi"})])])),footer:c((()=>[f("div",_,[r(s(g),{onClick:U},{default:c((()=>[h("取消")])),_:1}),r(s(g),{type:"info",onClick:P},{default:c((()=>[h("保存")])),_:1})])])),default:c((()=>["1"===s(B)?(o(),v(m,{key:0},[p(" 默认配置弹窗 "),r(k,x(e.$attrs,{ref_key:"conditionApiRef",ref:j,searchFieldList:F.searchFieldList,conditionList:F.conditionList}),null,16,["searchFieldList","conditionList"])],64)):"2"===s(B)?(o(),v(m,{key:1},[p(" bi配置弹窗 "),r(z,x(e.$attrs,{ref_key:"conditionApiRef",ref:j,searchFieldList:F.searchFieldList,conditionList:F.conditionList}),null,16,["searchFieldList","conditionList"])],64)):p("v-if",!0)])),_:1},8,["style","title"])])),_:1},8,["class","show","width","bodyStyle"]))}});export{w as default};
1
+ import{defineComponent as e,ref as i,inject as t,onBeforeUnmount as l,watch as a,openBlock as n,createBlock as o,unref as s,normalizeClass as d,withCtx as c,createVNode as r,normalizeStyle as u,createElementVNode as f,createTextVNode as h,createElementBlock as v,Fragment as m,createCommentVNode as p,mergeProps as x}from"vue";import{NModal as b,NCard as g,NButton as y}from"naive-ui";import{InjectionClassifyfilterType as L}from"../../../../table-filter/src/constants/index.js";import k from"../../../../table-filter/src/components/classify-filter/index.vue.js";import z from"../../../../table-filter/src/components/bi-filter/index.vue.js";const A={class:"svg-wrap"},_={class:"flex_right"};var w=e({__name:"index",props:{visible:{type:Boolean,default:!1},modalTitle:{type:String,default:"设置分类"},conditionList:{type:Array,default:()=>[]},searchFieldList:{type:Array,default:()=>[]}},emits:["cancelSaveAdd"],setup(e,{expose:w,emit:C}){const F=e,S=i(F.visible),H=i(!1),T=i("860px");let $=i({maxHeight:"496px",height:"496px"}),j=i(null),R=null;const B=t(L);function I(){N(),R=setTimeout((()=>{j&&j.value.handleInitConditions()}),30)}function N(){R&&clearTimeout(R)}function P(){j&&j.value.saveAdd()}function U(){S.value=!1,C("cancelSaveAdd"),T.value="860px",$.value={height:"496px",maxHeight:"496px"},H.value=!1,j&&j.value.cancelSaveAdd()}function q(){H.value=!H.value;let e=document.body.clientHeight;"860px"===T.value?(T.value="100%",$.value.maxHeight=`${e}px`,$.value.height=`${e}px`):(T.value="860px",$.value.maxHeight="496px",$.value.height="")}return l((()=>{N()})),a((()=>F.visible),(e=>{S.value=e,e&&I()})),w({cancelSaveAdd:U}),(e,i)=>(n(),o(s(b),{class:d(["classification-modal-block standard-modal standard-modal-white search-filter-modal",{"modal-screen":H.value}]),show:S.value,"onUpdate:show":i[0]||(i[0]=e=>S.value=e),maskClosable:!1,width:T.value,bodyStyle:s($),closable:!1,centered:"",onPositiveClick:P,onNegativeClick:U},{default:c((()=>[r(s(g),{style:u({width:T.value,...s($)}),title:F.modalTitle,bordered:!1,size:"huge",role:"dialog","aria-modal":"true"},{"header-extra":c((()=>[f("div",A,[f("i",{onClick:q,class:d(["iconfont-table-filter",H.value?"icon-table-filter-menzhenyishengzhanxitongtubiaozuixiaohua2":"icon-table-filter-menzhenyishengzhanxitongtubiaozuidahua"])},null,2),f("i",{onClick:U,class:"iconfont-table-filter icon-table-filter-menzhenyishengzhanxitongtubiaoguanbi"})])])),footer:c((()=>[f("div",_,[r(s(y),{onClick:U},{default:c((()=>[h("取消")])),_:1}),r(s(y),{type:"info",onClick:P},{default:c((()=>[h("保存")])),_:1})])])),default:c((()=>["1"===s(B)?(n(),v(m,{key:0},[p(" 默认配置弹窗 "),r(k,x(e.$attrs,{ref_key:"conditionApiRef",ref:j,searchFieldList:F.searchFieldList,conditionList:F.conditionList}),null,16,["searchFieldList","conditionList"])],64)):"2"===s(B)?(n(),v(m,{key:1},[p(" bi配置弹窗 "),r(z,x(e.$attrs,{ref_key:"conditionApiRef",ref:j,searchFieldList:F.searchFieldList,conditionList:F.conditionList}),null,16,["searchFieldList","conditionList"])],64)):p("v-if",!0)])),_:1},8,["style","title"])])),_:1},8,["class","show","width","bodyStyle"]))}});export{w as default};
@@ -1 +1 @@
1
- import{defineComponent as e,ref as t,inject as i,watch as l,openBlock as a,createBlock as n,unref as o,normalizeClass as s,withCtx as c,createVNode as r,normalizeStyle as u,createSlots as d,createElementVNode as p,withDirectives as v,createTextVNode as m,toDisplayString as h,createCommentVNode as f,withModifiers as y,vShow as g,createElementBlock as w,renderSlot as k}from"vue";import{NModal as x,NCard as b,NTooltip as C,NIcon as z,NSwitch as S,NPopconfirm as _,NButton as D}from"naive-ui";import{ReorderTwo as I,Brush as E,DocumentOutline as N}from"@vicons/ionicons5";import P from"../../../../../shared/components/VueDraggable/src/vuedraggable.js";import{root_isShowResetButton as F}from"../../const/index.js";import{cloneDeep as M}from"lodash-es";const U={class:"svg-wrap"},V={class:"flex_between"},B={class:"table-modal-list"},O=p("div",{class:"list-title"},[p("span",{class:"list-title-item",style:{width:"6%"}}),p("span",{class:"list-title-item"}," 名称 "),p("span",{class:"list-title-item"}," 父类名称 "),p("span",{class:"list-title-item"}," 是否显示 "),p("span",{class:"list-title-item"}," 设置为默认 "),p("span",{class:"list-title-item"}," 操作 ")],-1),j=["onClick"],Y={class:"list-content-item",style:{width:"6%","text-align":"center",overflow:"initial"}},$=["title"],A=["title"],H={class:"list-content-item list-content-switch"},J={class:"list-content-item list-content-radio"},q={class:"list-content-item"},G={key:0},K=p("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 32 32"},[p("path",{d:"M12 12h2v12h-2z",fill:"currentColor"}),p("path",{d:"M18 12h2v12h-2z",fill:"currentColor"}),p("path",{d:"M4 6v2h2v20a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8h2V6zm4 22V8h16v20z",fill:"currentColor"}),p("path",{d:"M12 2h8v2h-8z",fill:"currentColor"})],-1);var L=e({__name:"index",props:{visibleIn:{type:Boolean},loading:{type:Boolean},confirm:{type:Function},edit:{type:Function,defdault:()=>({})},copy:{type:Function,defdault:()=>({})},delItem:{type:Function,defdault:()=>({})},dataSource:{type:Array,default:()=>[]},type:{type:String,default:"search"},transitionName:{type:String},getContainer:{type:Function,default:()=>document.body}},emits:["handleOk","close","resetPopconfirm","finishSubmit"],setup(e,{emit:L}){const Q=e,R=t([]),T=t(Q.visibleIn),W=t(!1),X=t("other"==Q.type?"100%":"860px"),Z=t("654px"),ee=i(F);function te(){var e;Q.type&&(le(),L("handleOk","search"==(e=Q.type)||"other"==e?{id:"",tableId:"",setting:JSON.stringify(R.value.map((e=>({isDefault:e.isDefault,isShow:e.isShow,name:e.name,type:e.type,classifyId:e.sid}))))}:void 0))}function ie(){T.value=!1,le(),L("close")}function le(){X.value="860px",Z.value="654px",W.value=!1}function ae(){W.value=!W.value;let e=document.body.clientHeight;X.value="860px"===X.value?"100%":"860px",Z.value="654px"===Z.value?`${e}px`:"654px"}function ne(e){L("resetPopconfirm",e)}function oe(e,t,i){const l=Q[e];l&&l(t,i)}return l((()=>Q.visibleIn),(e=>{T.value=e})),l((()=>Q.dataSource),(e=>{R.value=M(e)}),{immediate:!0,deep:!0}),(t,i)=>(a(),n(o(x),{show:T.value,bodyStyle:{height:Z.value,overflowY:"auto"},width:X.value,maskClosable:!1,class:s(["classification-modal-block standard-modal standard-modal-white",{"modal-screen":W.value}]),closable:!1,centered:"",transitionName:e.transitionName,getContainer:e.getContainer,"positive-text":"保存","negative-text":"取消",to:"body",onPositiveClick:te,onNegativeClick:ie},{default:c((()=>[r(o(b),{style:u({width:X.value,height:Z.value,overflowY:"auto"}),title:"设置分类",bordered:!1,size:"huge",role:"dialog","aria-modal":"true"},d({"header-extra":c((()=>[p("div",U,[p("i",{onClick:ae,class:s(["iconfont-table-filter",W.value?"icon-table-filter-menzhenyishengzhanxitongtubiaozuixiaohua2":"icon-table-filter-menzhenyishengzhanxitongtubiaozuidahua"])},null,2),p("i",{onClick:ie,class:"iconfont-table-filter icon-table-filter-menzhenyishengzhanxitongtubiaoguanbi"})])])),default:c((()=>[p("div",B,[O,r(o(P),{class:"list-content",tag:"ul",list:R.value,"item-key":"sid",animation:"300"},{item:c((({element:t})=>[v(p("li",{class:s({checked:t.checked}),onClick:e=>{return i=t,void R.value.forEach((e=>{e.sid==i.sid?e.checked=!0:e.checked=!1}));var i}},[p("span",Y,[r(o(C),{mouseEnterDelay:1},{trigger:c((()=>[r(o(z),{component:o(I),size:"24"},null,8,["component"])])),default:c((()=>[m(" 拖拽调整顺序 ")])),_:1})]),p("span",{title:t.displayCategory,class:"list-content-item"},h(t.name),9,$),p("span",{title:t.name,class:"list-content-item"},h(t.displayCategory),9,A),p("span",H,[r(o(S),{"onUpdate:value":e=>{return i=t,void R.value.forEach((e=>{e.sid==i.sid&&(e.isShow=!e.isShow,e.isShow||(i.isDefault=!1))}));var i},size:"small",value:t.isShow},null,8,["onUpdate:value","value"])]),p("span",J,[r(o(S),{"onUpdate:value":e=>{var i;(i=t).isShow&&R.value.forEach((e=>{e.sid==i.sid?e.isDefault=!e.isDefault:e.isDefault=!1}))},size:"small",value:t.isDefault},null,8,["onUpdate:value","value"])]),p("span",q,[f(" 编辑 "),v(p("span",null,[r(o(C),null,{trigger:c((()=>[r(o(z),{component:o(E),onClick:y((e=>oe("edit",t,"编辑")),["prevent","stop"])},null,8,["component","onClick"])])),default:c((()=>[m(" 编辑 ")])),_:2},1024)],512),[[g,"other"==e.type||"search"==e.type&&t.isEdit]]),f(" 复制 "),v(p("span",null,[r(o(C),null,{trigger:c((()=>[r(o(z),{component:o(N),onClick:y((e=>oe("copy",t,"复制")),["prevent","stop"])},null,8,["component","onClick"])])),default:c((()=>[m(" 复制 ")])),_:2},1024)],512),[[g,"search"==e.type||"other"==e.type]]),f(" 删除 "),t.isEdit?(a(),w("span",G,[r(o(_),{onPositiveClick:e=>oe("delItem",t,"删除")},{trigger:c((()=>[r(o(z),null,{default:c((()=>[K])),_:1})])),default:c((()=>[m(" 是否确认删除? ")])),_:2},1032,["onPositiveClick"])])):f("v-if",!0)])],10,j),[[g,"line"!=t.type]])])),_:1},8,["list"])])])),_:2},["search"==e.type?{name:"footer",fn:c((()=>[p("div",V,[p("div",null,[o(ee)?(a(),n(o(_),{key:0,placement:"top-start","positive-text":"确认","negative-text":"取消",onPositiveClick:ne},{trigger:c((()=>[r(o(D),null,{default:c((()=>[m("恢复默认设置")])),_:1})])),default:c((()=>[m(" 确认要恢复系统默认设置吗? ")])),_:1})):f("v-if",!0)]),p("div",null,[r(o(D),{onClick:ie},{default:c((()=>[m("取消")])),_:1}),k(t.$slots,"add"),r(o(D),{type:"info",onClick:te},{default:c((()=>[m("保存")])),_:1})])])])),key:"0"}:void 0]),1032,["style"])])),_:3},8,["show","bodyStyle","width","class","transitionName","getContainer"]))}});export{L as default};
1
+ import{defineComponent as e,ref as t,inject as i,watch as l,openBlock as a,createBlock as n,unref as o,normalizeClass as s,withCtx as c,createVNode as r,normalizeStyle as u,createSlots as d,createElementVNode as p,withDirectives as v,createTextVNode as m,toDisplayString as h,createCommentVNode as f,withModifiers as y,vShow as g,createElementBlock as w,renderSlot as k}from"vue";import{NModal as x,NCard as b,NTooltip as C,NIcon as z,NSwitch as S,NPopconfirm as _,NButton as D}from"naive-ui";import{ReorderTwo as I,Brush as E,DocumentOutline as N}from"@vicons/ionicons5";import P from"../../../../../shared/components/VueDraggable/src/vuedraggable.js";import{root_isShowResetButton as F}from"../../const/index.js";import{cloneDeep as M}from"lodash-es";const U={class:"svg-wrap"},V={class:"flex_between"},B={class:"table-modal-list"},O=p("div",{class:"list-title"},[p("span",{class:"list-title-item",style:{width:"6%"}}),p("span",{class:"list-title-item"}," 名称 "),p("span",{class:"list-title-item"}," 父类名称 "),p("span",{class:"list-title-item"}," 是否显示 "),p("span",{class:"list-title-item"}," 设置为默认 "),p("span",{class:"list-title-item"}," 操作 ")],-1),j=["onClick"],Y={class:"list-content-item",style:{width:"6%","text-align":"center",overflow:"initial"}},$=["title"],A=["title"],H={class:"list-content-item list-content-switch"},J={class:"list-content-item list-content-radio"},q={class:"list-content-item"},G={key:0},K=p("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 32 32"},[p("path",{d:"M12 12h2v12h-2z",fill:"currentColor"}),p("path",{d:"M18 12h2v12h-2z",fill:"currentColor"}),p("path",{d:"M4 6v2h2v20a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8h2V6zm4 22V8h16v20z",fill:"currentColor"}),p("path",{d:"M12 2h8v2h-8z",fill:"currentColor"})],-1);var L=e({__name:"index",props:{visibleIn:{type:Boolean},loading:{type:Boolean},confirm:{type:Function},edit:{type:Function,defdault:()=>({})},copy:{type:Function,defdault:()=>({})},delItem:{type:Function,defdault:()=>({})},dataSource:{type:Array,default:()=>[]},type:{type:String,default:"search"},transitionName:{type:String},getContainer:{type:Function,default:()=>document.body}},emits:["handleOk","close","resetPopconfirm","finishSubmit"],setup(e,{emit:L}){const Q=e,R=t([]),T=t(Q.visibleIn),W=t(!1),X=t("other"==Q.type?"100%":"860px"),Z=t("654px"),ee=i(F);function te(){var e;Q.type&&(le(),L("handleOk","search"==(e=Q.type)||"other"==e?{id:"",tableId:"",setting:JSON.stringify(R.value.map((e=>({isDefault:e.isDefault,isShow:e.isShow,name:e.name,type:e.type,classifyId:e.sid}))))}:void 0))}function ie(){T.value=!1,le(),L("close")}function le(){X.value="860px",Z.value="654px",W.value=!1}function ae(){W.value=!W.value;let e=document.body.clientHeight;X.value="860px"===X.value?"100%":"860px",Z.value="654px"===Z.value?`${e}px`:"654px"}function ne(e){L("resetPopconfirm",e)}function oe(e,t,i){const l=Q[e];l&&l(t,i)}return l((()=>Q.visibleIn),(e=>{T.value=e})),l((()=>Q.dataSource),(e=>{R.value=M(e)}),{immediate:!0,deep:!0}),(t,i)=>(a(),n(o(x),{show:T.value,bodyStyle:{height:Z.value,overflowY:"auto"},width:X.value,maskClosable:!1,class:s(["classification-modal-block standard-modal standard-modal-white",{"modal-screen":W.value}]),closable:!1,centered:"",transitionName:e.transitionName,getContainer:e.getContainer,"positive-text":"保存","negative-text":"取消",onPositiveClick:te,onNegativeClick:ie},{default:c((()=>[r(o(b),{style:u({width:X.value,height:Z.value,overflowY:"auto"}),title:"设置分类",bordered:!1,size:"huge",role:"dialog","aria-modal":"true"},d({"header-extra":c((()=>[p("div",U,[p("i",{onClick:ae,class:s(["iconfont-table-filter",W.value?"icon-table-filter-menzhenyishengzhanxitongtubiaozuixiaohua2":"icon-table-filter-menzhenyishengzhanxitongtubiaozuidahua"])},null,2),p("i",{onClick:ie,class:"iconfont-table-filter icon-table-filter-menzhenyishengzhanxitongtubiaoguanbi"})])])),default:c((()=>[p("div",B,[O,r(o(P),{class:"list-content",tag:"ul",list:R.value,"item-key":"sid",animation:"300"},{item:c((({element:t})=>[v(p("li",{class:s({checked:t.checked}),onClick:e=>{return i=t,void R.value.forEach((e=>{e.sid==i.sid?e.checked=!0:e.checked=!1}));var i}},[p("span",Y,[r(o(C),{mouseEnterDelay:1},{trigger:c((()=>[r(o(z),{component:o(I),size:"24"},null,8,["component"])])),default:c((()=>[m(" 拖拽调整顺序 ")])),_:1})]),p("span",{title:t.displayCategory,class:"list-content-item"},h(t.name),9,$),p("span",{title:t.name,class:"list-content-item"},h(t.displayCategory),9,A),p("span",H,[r(o(S),{"onUpdate:value":e=>{return i=t,void R.value.forEach((e=>{e.sid==i.sid&&(e.isShow=!e.isShow,e.isShow||(i.isDefault=!1))}));var i},size:"small",value:t.isShow},null,8,["onUpdate:value","value"])]),p("span",J,[r(o(S),{"onUpdate:value":e=>{var i;(i=t).isShow&&R.value.forEach((e=>{e.sid==i.sid?e.isDefault=!e.isDefault:e.isDefault=!1}))},size:"small",value:t.isDefault},null,8,["onUpdate:value","value"])]),p("span",q,[f(" 编辑 "),v(p("span",null,[r(o(C),null,{trigger:c((()=>[r(o(z),{component:o(E),onClick:y((e=>oe("edit",t,"编辑")),["prevent","stop"])},null,8,["component","onClick"])])),default:c((()=>[m(" 编辑 ")])),_:2},1024)],512),[[g,"other"==e.type||"search"==e.type&&t.isEdit]]),f(" 复制 "),v(p("span",null,[r(o(C),null,{trigger:c((()=>[r(o(z),{component:o(N),onClick:y((e=>oe("copy",t,"复制")),["prevent","stop"])},null,8,["component","onClick"])])),default:c((()=>[m(" 复制 ")])),_:2},1024)],512),[[g,"search"==e.type||"other"==e.type]]),f(" 删除 "),t.isEdit?(a(),w("span",G,[r(o(_),{onPositiveClick:e=>oe("delItem",t,"删除")},{trigger:c((()=>[r(o(z),null,{default:c((()=>[K])),_:1})])),default:c((()=>[m(" 是否确认删除? ")])),_:2},1032,["onPositiveClick"])])):f("v-if",!0)])],10,j),[[g,"line"!=t.type]])])),_:1},8,["list"])])])),_:2},["search"==e.type?{name:"footer",fn:c((()=>[p("div",V,[p("div",null,[o(ee)?(a(),n(o(_),{key:0,placement:"top-start","positive-text":"确认","negative-text":"取消",onPositiveClick:ne},{trigger:c((()=>[r(o(D),null,{default:c((()=>[m("恢复默认设置")])),_:1})])),default:c((()=>[m(" 确认要恢复系统默认设置吗? ")])),_:1})):f("v-if",!0)]),p("div",null,[r(o(D),{onClick:ie},{default:c((()=>[m("取消")])),_:1}),k(t.$slots,"add"),r(o(D),{type:"info",onClick:te},{default:c((()=>[m("保存")])),_:1})])])])),key:"0"}:void 0]),1032,["style"])])),_:3},8,["show","bodyStyle","width","class","transitionName","getContainer"]))}});export{L as default};
@@ -1 +1 @@
1
- import{defineComponent as e,ref as l,provide as a,computed as t,watch as i,onMounted as n,openBlock as o,createElementBlock as r,createElementVNode as u,Fragment as s,renderList as c,unref as d,normalizeClass as f,createCommentVNode as v,createVNode as m,withCtx as p,createTextVNode as h,toDisplayString as g,createBlock as k,withDirectives as b,vShow as y,isRef as C}from"vue";import{useMessage as _,NPopover as A,NModal as S,NCard as x,NIcon as F,NButton as q,NForm as w,NFormItem as j,NInput as I}from"naive-ui";import{CloseOutline as R,AddOutline as U}from"@vicons/ionicons5";import E from"../../table-filter/src/hooks/useMixins.js";import N from"../../table-filter/src/hooks/useRenderWidget.js";import O from"../../table-filter/src/hooks/useAdvanced.js";import P from"../../table-filter/src/components/render-widget/index.vue.js";import"moment/locale/zh-cn";import{cloneDeep as V}from"lodash-es";import{InjectionFilterApiConfig as z,InjectionFilterSearchConfig as D}from"../../table-filter/src/constants/index.js";const L={class:"quick-search-block quick-search-table"},T={class:"quick-row"},B={class:"quick-item-title"},Q={class:"quick-item-col"},M={class:"svg-wrap"},W={class:"flex_right"},G={class:"class-filter-content"},J={class:"quickSearch-content"},H=u("span",{class:"label"},"父类名称:",-1),K=["onDblclick","onClick"],X={class:"s-content"};var Y=e({__name:"index",props:{searchFieldList:{type:Array,default:()=>[]},quickSearchConfig:{type:Array,default:()=>[]},tableId:{type:String,default:""},filterApiConfig:{type:Object}},emits:["getFilterParam","onFilterSearch","clearQuickSearchConfig"],setup(e,{expose:Y,emit:Z}){const $=e,ee={classname:{required:!0,message:"请输入分类名称",trigger:["input","blur"]}},le=_(),{handleGetConfigApi:ae,outQuickSearchFn:te}=E(),{getRenderSearchConObj:ie,resetRenderWidgetValue:ne,isRender:oe}=N(),{transformData:re,getCacheDef:ue,transformParams:se}=O(),ce=l(null),de=l({classname:""});let fe=l(!1),ve=l([]),me=l([]),pe=l(!1),he=l("");const ge=l(),ke=l(),be=l([]);a(z,$.filterApiConfig),a(D,ve);let ye=t((()=>!!me.value.length&&me.value.some((e=>e.isAdd)))),Ce=t((()=>(e,l="name")=>e.alias||e[l]));function _e(){return function(e){if(!Array.isArray(e))return[];let l=[];for(let a=0;a<e.length;a++){let t=e[a];const i=ie(t);!l.find((e=>e.field_key===i.field_key))&&i&&l.push(i)}return l.filter((e=>e.value))}(ve.value)||[]}function Ae(){var e;null==(e=ce.value)||e.validate((e=>{var l;if(e)return;let a=_e();a.length||(a=[]);let t=null==(l=me.value.filter((e=>e.selected))[0])?void 0:l.value;!async function(e){var l;try{if(!await ae(e,"requestSaveTableCondiTion",{},$.filterApiConfig))return;fe.value=!1,null==(l=ce.value)||l.restoreValidation(),de.value.classname="",me.value=[],we()}catch(e){console.log(e)}}({tableId:$.tableId||"",setting:JSON.stringify({displayCategory:t,name:de.value.classname,conObj:a.map((e=>(e.unit&&(e.value=[]),e)))}),conditionList:"[]"})}))}function Se(e){setTimeout((()=>{ke.value&&ke.value.focus()}),100),pe.value=!0}function xe(){pe.value=!1,he.value&&(me.value.forEach((e=>e.selected=!1)),me.value.push({disabled:!0,value:he.value,selected:!0,isAdd:!0}),he.value="")}function Fe(e){!function(e){me.value.splice(e,1)}(e)}function qe(){fe.value=!1}function we(){je(ve.value),Z("clearQuickSearchConfig")}function je(e){Array.isArray(e)&&(e.forEach((e=>{ne(e)})),te.handlerInitSearchItem(ve.value))}return i((()=>$.searchFieldList),(e=>{e&&e.length>0&&function(){let e=V(re($.searchFieldList,{_filterApiConfig:$.filterApiConfig})).filter((e=>1==e.isShowSearch&&1!=e.filterExplicit))||[];ve.value=e||[],te.handlerInitSearchItem(ve.value)}()}),{immediate:!0,deep:!0}),i((()=>ve),(()=>{const e=_e()||[],l=se(e);Z("getFilterParam",e,l),be.value.forEach((e=>e(l)))}),{deep:!0}),n((()=>{const e=$.quickSearchConfig;if(e&&e.length>0)return l=e,void ve.value.forEach((e=>{var a,t;if(oe(e)){const i=l.find((l=>l.field_key===e.columnName));i&&(null==(a=i.value)?void 0:a.length)>0&&(e.value=ue(e,i.value),e.unit=null!=(t=i.unit)?t:"")}}));var l;je(ve.value)})),Y({openSaveToCalss:function(){let e=_e();e&&(e.length>0?fe.value=!0:le.warning("请设置搜索条件"))},clearData:we,onFilterSearch:function(){let e=_e()||[];const l=se(e);return Z("onFilterSearch",e,l,!1),ve.value},getFilterParams:function(){const e=_e()||[];return se(e)},setFilterParams:function(e){const l=e?Object.keys(e):[];l.length>0&&ve.value.forEach((a=>{var t;if(oe(a)&&l.includes(a.columnName)){const l=e[a.columnName];a.value=Array.isArray(l)&&!1===(null==(t=a.widgetCfg)?void 0:t.multiple)?l[0]:l}}))},getOriginalConfig:function(){return $.searchFieldList},onFilterChange:function(e){be.value.push(e)}}),(e,l)=>(o(),r("div",null,[u("div",L,[(o(!0),r(s,null,c(d(ve),(e=>(o(),r("div",{class:f(["quick-item",{"quick-block":e._isBlock}]),key:e.sid||e.columnName},[u("div",T,[v(" title "),u("div",B,[m(d(A),{trigger:"hover"},{trigger:p((()=>[h(g(d(Ce)(e,"title")),1)])),default:p((()=>[u("span",null,g(d(Ce)(e,"title")),1)])),_:2},1024)]),v(" content "),u("div",Q,[v(" 直接渲染组件 "),e.isRender?(o(),k(P,{key:0,cfg:e,modelValue:e.value,"onUpdate:modelValue":l=>e.value=l,unit:e.unit,"onUpdate:unit":l=>e.unit=l},null,8,["cfg","modelValue","onUpdate:modelValue","unit","onUpdate:unit"])):v("v-if",!0)])])],2)))),128))]),v(" 保存到分类的弹窗 "),m(d(S),{show:d(fe),maskClosable:!1,to:"body","positive-text":"确认","negative-text":"取消",onPositiveClick:Ae,onNegativeClick:qe,class:"classification-modal-block"},{default:p((()=>[m(d(x),{title:"设置筛选分类",style:{width:"520px"},bordered:!1,size:"huge",role:"dialog","aria-modal":"true"},{"header-extra":p((()=>[u("div",M,[m(d(F),{component:d(R),size:"24",onClick:qe},null,8,["component"])])])),footer:p((()=>[u("div",W,[m(d(q),{onClick:qe},{default:p((()=>[h("取消")])),_:1}),m(d(q),{type:"info",onClick:Ae},{default:p((()=>[h("确认")])),_:1})])])),default:p((()=>[u("div",G,[m(d(w),{ref_key:"formRef",ref:ce,"label-placement":"left",rules:ee,model:de.value},{default:p((()=>[m(d(j),{label:"筛选集名称",path:"classname"},{default:p((()=>[m(d(I),{value:de.value.classname,"onUpdate:value":l[0]||(l[0]=e=>de.value.classname=e),placeholder:"请输入分类名称",clearable:""},null,8,["value"])])),_:1})])),_:1},8,["model"]),u("div",J,[H,(o(!0),r(s,null,c(d(me),((e,l)=>(o(),r("div",{class:"parent-name",key:l,onDblclick:l=>function(e){e.disabled=!1,setTimeout((()=>{ge.value.length>0&&ge.value[0].focus()}),100)}(e),onClick:a=>function(e,l){e.disabled&&(me.value.forEach(((e,a)=>{a!==l&&(e.selected=!1)})),e.selected=!e.selected)}(e,l)},[e.disabled?(o(),r("div",{key:0,class:f(["edit-tag",{"edit-tag-select":e.selected&&e.disabled}])},[u("div",X,g(e.value),1),m(d(F),{component:d(R),class:"anticon-close",size:"20",onClick:e=>Fe(l)},null,8,["component","onClick"])],2)):(o(),k(d(I),{key:1,ref_for:!0,ref_key:"parentInputRef",ref:ge,class:"parent-input",style:{width:"100px"},value:e.value,"onUpdate:value":l=>e.value=l,disabled:e.disabled,onBlur:()=>e.disabled=!0,maxlength:20},null,8,["value","onUpdate:value","disabled","onBlur"]))],40,K)))),128)),d(ye)?v("v-if",!0):(o(),r(s,{key:0},[b(m(d(q),{dashed:"",icon:"plus",class:"ant-btn",onClick:Se},{default:p((()=>[m(d(F),{component:d(U),size:"20"},null,8,["component"]),h("添加分类 ")])),_:1},512),[[y,!d(pe)]]),b(m(d(I),{ref_key:"parentInputAddRef",ref:ke,class:"parent-input",style:{width:"100px"},value:d(he),"onUpdate:value":l[1]||(l[1]=e=>C(he)?he.value=e:he=e),valueModifiers:{trim:!0},onBlur:xe,maxlength:20},null,8,["value"]),[[y,d(pe)]])],64))])])])),_:1})])),_:1},8,["show"])]))}});export{Y as default};
1
+ import{defineComponent as e,ref as l,provide as a,computed as t,watch as i,onMounted as n,openBlock as o,createElementBlock as r,createElementVNode as u,Fragment as s,renderList as c,unref as d,normalizeClass as f,createCommentVNode as v,createVNode as m,withCtx as p,createTextVNode as h,toDisplayString as g,createBlock as k,withDirectives as b,vShow as y,isRef as C}from"vue";import{useMessage as _,NPopover as A,NModal as S,NCard as x,NIcon as F,NButton as q,NForm as w,NFormItem as j,NInput as I}from"naive-ui";import{CloseOutline as R,AddOutline as U}from"@vicons/ionicons5";import E from"../../table-filter/src/hooks/useMixins.js";import N from"../../table-filter/src/hooks/useRenderWidget.js";import O from"../../table-filter/src/hooks/useAdvanced.js";import P from"../../table-filter/src/components/render-widget/index.vue.js";import"moment/locale/zh-cn";import{cloneDeep as V}from"lodash-es";import{InjectionFilterApiConfig as z,InjectionFilterSearchConfig as D}from"../../table-filter/src/constants/index.js";const L={class:"quick-search-block quick-search-table"},T={class:"quick-row"},B={class:"quick-item-title"},Q={class:"quick-item-col"},M={class:"svg-wrap"},W={class:"flex_right"},G={class:"class-filter-content"},J={class:"quickSearch-content"},H=u("span",{class:"label"},"父类名称:",-1),K=["onDblclick","onClick"],X={class:"s-content"};var Y=e({__name:"index",props:{searchFieldList:{type:Array,default:()=>[]},quickSearchConfig:{type:Array,default:()=>[]},tableId:{type:String,default:""},filterApiConfig:{type:Object}},emits:["getFilterParam","onFilterSearch","clearQuickSearchConfig"],setup(e,{expose:Y,emit:Z}){const $=e,ee={classname:{required:!0,message:"请输入分类名称",trigger:["input","blur"]}},le=_(),{handleGetConfigApi:ae,outQuickSearchFn:te}=E(),{getRenderSearchConObj:ie,resetRenderWidgetValue:ne,isRender:oe}=N(),{transformData:re,getCacheDef:ue,transformParams:se}=O(),ce=l(null),de=l({classname:""});let fe=l(!1),ve=l([]),me=l([]),pe=l(!1),he=l("");const ge=l(),ke=l(),be=l([]);a(z,$.filterApiConfig),a(D,ve);let ye=t((()=>!!me.value.length&&me.value.some((e=>e.isAdd)))),Ce=t((()=>(e,l="name")=>e.alias||e[l]));function _e(){return function(e){if(!Array.isArray(e))return[];let l=[];for(let a=0;a<e.length;a++){let t=e[a];const i=ie(t);!l.find((e=>e.field_key===i.field_key))&&i&&l.push(i)}return l.filter((e=>e.value))}(ve.value)||[]}function Ae(){var e;null==(e=ce.value)||e.validate((e=>{var l;if(e)return;let a=_e();a.length||(a=[]);let t=null==(l=me.value.filter((e=>e.selected))[0])?void 0:l.value;!async function(e){var l;try{if(!await ae(e,"requestSaveTableCondiTion",{},$.filterApiConfig))return;fe.value=!1,null==(l=ce.value)||l.restoreValidation(),de.value.classname="",me.value=[],we()}catch(e){console.log(e)}}({tableId:$.tableId||"",setting:JSON.stringify({displayCategory:t,name:de.value.classname,conObj:a.map((e=>(e.unit&&(e.value=[]),e)))}),conditionList:"[]"})}))}function Se(e){setTimeout((()=>{ke.value&&ke.value.focus()}),100),pe.value=!0}function xe(){pe.value=!1,he.value&&(me.value.forEach((e=>e.selected=!1)),me.value.push({disabled:!0,value:he.value,selected:!0,isAdd:!0}),he.value="")}function Fe(e){!function(e){me.value.splice(e,1)}(e)}function qe(){fe.value=!1}function we(){je(ve.value),Z("clearQuickSearchConfig")}function je(e){Array.isArray(e)&&(e.forEach((e=>{ne(e)})),te.handlerInitSearchItem(ve.value))}return i((()=>$.searchFieldList),(e=>{e&&e.length>0&&function(){let e=V(re($.searchFieldList,{_filterApiConfig:$.filterApiConfig})).filter((e=>1==e.isShowSearch&&1!=e.filterExplicit))||[];ve.value=e||[],te.handlerInitSearchItem(ve.value)}()}),{immediate:!0,deep:!0}),i((()=>ve),(()=>{const e=_e()||[],l=se(e);Z("getFilterParam",e,l),be.value.forEach((e=>e(l)))}),{deep:!0}),n((()=>{const e=$.quickSearchConfig;if(e&&e.length>0)return l=e,void ve.value.forEach((e=>{var a,t;if(oe(e)){const i=l.find((l=>l.field_key===e.columnName));i&&(null==(a=i.value)?void 0:a.length)>0&&(e.value=ue(e,i.value),e.unit=null!=(t=i.unit)?t:"")}}));var l;je(ve.value)})),Y({openSaveToCalss:function(){let e=_e();e&&(e.length>0?fe.value=!0:le.warning("请设置搜索条件"))},clearData:we,onFilterSearch:function(){let e=_e()||[];const l=se(e);return Z("onFilterSearch",e,l,!1),ve.value},getFilterParams:function(){const e=_e()||[];return se(e)},setFilterParams:function(e){const l=e?Object.keys(e):[];l.length>0&&ve.value.forEach((a=>{var t;if(oe(a)&&l.includes(a.columnName)){const l=e[a.columnName];a.value=Array.isArray(l)&&!1===(null==(t=a.widgetCfg)?void 0:t.multiple)?l[0]:l}}))},getOriginalConfig:function(){return $.searchFieldList},onFilterChange:function(e){be.value.push(e)}}),(e,l)=>(o(),r("div",null,[u("div",L,[(o(!0),r(s,null,c(d(ve),(e=>(o(),r("div",{class:f(["quick-item",{"quick-block":e._isBlock}]),key:e.sid||e.columnName},[u("div",T,[v(" title "),u("div",B,[m(d(A),{trigger:"hover"},{trigger:p((()=>[h(g(d(Ce)(e,"title")),1)])),default:p((()=>[u("span",null,g(d(Ce)(e,"title")),1)])),_:2},1024)]),v(" content "),u("div",Q,[v(" 直接渲染组件 "),e.isRender?(o(),k(P,{key:0,cfg:e,modelValue:e.value,"onUpdate:modelValue":l=>e.value=l,unit:e.unit,"onUpdate:unit":l=>e.unit=l},null,8,["cfg","modelValue","onUpdate:modelValue","unit","onUpdate:unit"])):v("v-if",!0)])])],2)))),128))]),v(" 保存到分类的弹窗 "),m(d(S),{show:d(fe),maskClosable:!1,"positive-text":"确认","negative-text":"取消",onPositiveClick:Ae,onNegativeClick:qe,class:"classification-modal-block"},{default:p((()=>[m(d(x),{title:"设置筛选分类",style:{width:"520px"},bordered:!1,size:"huge",role:"dialog","aria-modal":"true"},{"header-extra":p((()=>[u("div",M,[m(d(F),{component:d(R),size:"24",onClick:qe},null,8,["component"])])])),footer:p((()=>[u("div",W,[m(d(q),{onClick:qe},{default:p((()=>[h("取消")])),_:1}),m(d(q),{type:"info",onClick:Ae},{default:p((()=>[h("确认")])),_:1})])])),default:p((()=>[u("div",G,[m(d(w),{ref_key:"formRef",ref:ce,"label-placement":"left",rules:ee,model:de.value},{default:p((()=>[m(d(j),{label:"筛选集名称",path:"classname"},{default:p((()=>[m(d(I),{value:de.value.classname,"onUpdate:value":l[0]||(l[0]=e=>de.value.classname=e),placeholder:"请输入分类名称",clearable:""},null,8,["value"])])),_:1})])),_:1},8,["model"]),u("div",J,[H,(o(!0),r(s,null,c(d(me),((e,l)=>(o(),r("div",{class:"parent-name",key:l,onDblclick:l=>function(e){e.disabled=!1,setTimeout((()=>{ge.value.length>0&&ge.value[0].focus()}),100)}(e),onClick:a=>function(e,l){e.disabled&&(me.value.forEach(((e,a)=>{a!==l&&(e.selected=!1)})),e.selected=!e.selected)}(e,l)},[e.disabled?(o(),r("div",{key:0,class:f(["edit-tag",{"edit-tag-select":e.selected&&e.disabled}])},[u("div",X,g(e.value),1),m(d(F),{component:d(R),class:"anticon-close",size:"20",onClick:e=>Fe(l)},null,8,["component","onClick"])],2)):(o(),k(d(I),{key:1,ref_for:!0,ref_key:"parentInputRef",ref:ge,class:"parent-input",style:{width:"100px"},value:e.value,"onUpdate:value":l=>e.value=l,disabled:e.disabled,onBlur:()=>e.disabled=!0,maxlength:20},null,8,["value","onUpdate:value","disabled","onBlur"]))],40,K)))),128)),d(ye)?v("v-if",!0):(o(),r(s,{key:0},[b(m(d(q),{dashed:"",icon:"plus",class:"ant-btn",onClick:Se},{default:p((()=>[m(d(F),{component:d(U),size:"20"},null,8,["component"]),h("添加分类 ")])),_:1},512),[[y,!d(pe)]]),b(m(d(I),{ref_key:"parentInputAddRef",ref:ke,class:"parent-input",style:{width:"100px"},value:d(he),"onUpdate:value":l[1]||(l[1]=e=>C(he)?he.value=e:he=e),valueModifiers:{trim:!0},onBlur:xe,maxlength:20},null,8,["value"]),[[y,d(pe)]])],64))])])])),_:1})])),_:1},8,["show"])]))}});export{Y as default};
@@ -1 +1 @@
1
- import{defineComponent as e,ref as l,inject as t,computed as a,watch as i,openBlock as o,createBlock as n,unref as s,normalizeClass as d,withCtx as r,createVNode as u,normalizeStyle as c,createElementVNode as m,createTextVNode as h,renderSlot as p,isRef as f,toDisplayString as v,h as g}from"vue";import{useMessage as b,NModal as x,NCard as w,NButton as L,NCheckbox as y,NSelect as F,NCheckboxGroup as k,NPopover as I,NPopconfirm as A,NIcon as N}from"naive-ui";import{Trash as C}from"@vicons/ionicons5";import{InjectionExportApiConfig as _}from"../constants/index.js";import P from"../../../../shared/components/VueDraggable/src/vuedraggable.js";import S from"../hooks/useAsyncData.js";import{dragFieldCheckList as z}from"../tool.js";import{cloneDeep as E}from"lodash-es";const j={class:"svg-wrap"},H={class:"flex_right"},O=m("div",{class:"tip"},"提示:支持拖动调整字段顺序,字段导出顺序为从左到右,从上到下。",-1),$={class:"flex_between"},T=["title"];var U=e({__name:"ExportModal",props:{visible:{type:Boolean,default:!1},tableListId:{type:String,default:""},curProgram:{type:Object,default:()=>({})},programOptions:{type:Array,default:()=>[]},downLoadFieldList:{type:Array,default:()=>[]},showAllFieldList:{type:Array,default:()=>[]}},emits:["cancelModal","updateCurProgram","updateFieldCheckList","updateShowAllFieldList"],setup(e,{emit:U}){const K=e,M="default",D="860px",B="496px",V={class:"select-export-popover"},q=b(),{deleteTableListExportScheme:G,exportTableListScheme:J}=S(),Q=l(!1),R=l(D),W=l({maxHeight:B,height:B}),X=l(!1),Y=l(!0),Z=l([]),ee=t(_),le=a((()=>K.curProgram.schemeId));function te(){U("updateShowAllFieldList",K.showAllFieldList)}function ae({option:e}){return g("span",e.schemeName)}function ie(e){const l=[g(I,{trigger:"hover",duration:0},{default:()=>e.schemeName,trigger:()=>g("span",{class:"content"},e.schemeName)})],t=[g(A,{placement:"top-start",positiveText:"确认",negativeText:"取消",onPositiveClick:()=>function(e){const{schemeId:l}=K.curProgram;if(l===e.schemeId)return q.warning("当前正在使用该方案,请先切换其他方案再删除");!async function(e){if(!K.tableListId)return q.warning("请传入列表id");try{await G({id:K.tableListId,schemeId:e},ee)&&q.success("删除成功")}catch(e){q.error(`获取导出方案数据请求失败:${e}`)}}(e.schemeId)}(e)},{trigger:()=>g(N,{onclick:oe},{default:()=>g(C)}),default:()=>"确定删除该导出方案吗?"})],a=e.schemeId===M?[l]:[l,t];return g("div",{class:"flex-between"},a)}function oe(e){e.stopPropagation()}function ne(e){U("updateCurProgram",e)}function se(){!async function(){if(!K.tableListId)return q.warning("请传入列表id");if(Z.value.length<1)return q.warning("请至少勾选一个字段");try{const{schemeId:e}=K.curProgram,l=K.programOptions.find((l=>l.schemeId===e)),t={fieldKeys:z(K.showAllFieldList,Z.value),lastUsedSchemeName:l?l.schemeName:"",schemeId:l?l.schemeId:"",schemeName:l?l.schemeName:"",tableListId:K.tableListId};await J(t,ee)&&(q.success("导出成功"),re())}catch(e){q.error(`获取导出方案数据请求失败:${e}`)}}()}function de(e){var l,t,a;Y.value=!1,Z.value=e?(null==(l=K.showAllFieldList)?void 0:l.map((e=>e.columnName)))||[]:(null==(a=null==(t=K.showAllFieldList)?void 0:t.filter((e=>e.fixedExport)))?void 0:a.map((e=>e.columnName)))||[]}function re(){U("cancelModal"),R.value=D,W.value={height:B,maxHeight:B},Q.value=!1}function ue(){Q.value=!Q.value;let e=document.body.clientHeight;R.value===D?(R.value="100%",W.value.maxHeight=`${e}px`,W.value.height=`${e}px`):(R.value=D,W.value.maxHeight=B,W.value.height=B)}return i((()=>Z.value),(e=>{K.showAllFieldList.length>0&&(Y.value=e.length>0&&e.length<K.showAllFieldList.length,X.value=e.length===K.showAllFieldList.length,U("updateFieldCheckList",e))}),{immediate:!0}),i((()=>K.curProgram),(e=>{e&&function(e){const l=K.programOptions.find((l=>l.schemeId===e));if(l){let t=[];const a=K.downLoadFieldList.filter((e=>e.fixedExport)).map((e=>e.columnName)),i=l.fieldKeys.filter((e=>!a.includes(e)));if(Z.value=[...i,...a],e===M){const e=E(K.downLoadFieldList);return void U("updateShowAllFieldList",e)}Z.value.forEach((e=>{const l=K.downLoadFieldList.find((l=>l.columnName===e));l&&t.push(l)}));const o=K.downLoadFieldList.filter((e=>!Z.value.includes(e.columnName))),n=[...t,...o];U("updateShowAllFieldList",n)}}(e.schemeId)}),{immediate:!0}),(l,t)=>(o(),n(s(x),{class:d(["table-export-field-modal",{"modal-screen":Q.value}]),show:e.visible,maskClosable:!1,width:R.value,bodyStyle:W.value,closable:!1,to:"body",centered:"",onPositiveClick:se,onNegativeClick:re},{default:r((()=>[u(s(w),{style:c({width:R.value,...W.value}),title:"选择导出字段",bordered:!1,size:"huge",role:"dialog","aria-modal":"true"},{"header-extra":r((()=>[m("div",j,[m("i",{onClick:ue,class:d(["iconfont-table-export-field",Q.value?"icon-table-export-field-menzhenyishengzhanxitongtubiaozuixiaohua2":"icon-table-export-field-menzhenyishengzhanxitongtubiaozuidahua"])},null,2),m("i",{onClick:re,class:"iconfont-table-export-field icon-table-export-field-menzhenyishengzhanxitongtubiaoguanbi"})])])),footer:r((()=>[m("div",H,[u(s(L),{onClick:re},{default:r((()=>[h("取消")])),_:1}),p(l.$slots,"add"),u(s(L),{type:"info",onClick:se},{default:r((()=>[h("导出")])),_:1})])])),default:r((()=>[O,m("header",$,[u(s(y),{checked:X.value,"onUpdate:checked":[t[0]||(t[0]=e=>X.value=e),de],indeterminate:Y.value},{default:r((()=>[h(" 全选 ")])),_:1},8,["checked","indeterminate"]),u(s(F),{style:{width:"200px"},value:s(le),"onUpdate:value":[t[1]||(t[1]=e=>f(le)?le.value=e:null),ne],filterable:"","label-field":"schemeName","value-field":"schemeId","show-checkmark":!1,"render-label":ie,"render-tag":ae,"menu-props":V,options:e.programOptions},null,8,["value","options"])]),u(s(k),{value:Z.value,"onUpdate:value":t[2]||(t[2]=e=>Z.value=e)},{default:r((()=>[u(s(P),{class:"draggable-checkbox-list",list:e.showAllFieldList,animation:"300",itemKey:"columnName",onEnd:te},{item:r((({element:e})=>{var l;return[u(s(y),{disabled:e.fixedExport,class:d(Z.value.includes(e.columnName)?"":"checkbox-disabled"),value:e.columnName,label:null!=(l=e.alias)?l:e.title},{default:r((()=>{var l,t;return[m("span",{title:null!=(l=e.alias)?l:e.title},v(null!=(t=e.alias)?t:e.title),9,T)]})),_:2},1032,["disabled","class","value","label"])]})),_:1},8,["list"])])),_:1},8,["value"])])),_:3},8,["style"])])),_:3},8,["class","show","width","bodyStyle"]))}});export{U as default};
1
+ import{defineComponent as e,ref as l,inject as t,computed as a,watch as i,openBlock as o,createBlock as n,unref as s,normalizeClass as d,withCtx as r,createVNode as u,normalizeStyle as c,createElementVNode as m,createTextVNode as h,renderSlot as p,isRef as f,toDisplayString as v,h as g}from"vue";import{useMessage as b,NModal as x,NCard as w,NButton as L,NCheckbox as y,NSelect as F,NCheckboxGroup as k,NPopover as I,NPopconfirm as A,NIcon as N}from"naive-ui";import{Trash as C}from"@vicons/ionicons5";import{InjectionExportApiConfig as _}from"../constants/index.js";import P from"../../../../shared/components/VueDraggable/src/vuedraggable.js";import S from"../hooks/useAsyncData.js";import{dragFieldCheckList as z}from"../tool.js";import{cloneDeep as E}from"lodash-es";const j={class:"svg-wrap"},H={class:"flex_right"},O=m("div",{class:"tip"},"提示:支持拖动调整字段顺序,字段导出顺序为从左到右,从上到下。",-1),$={class:"flex_between"},T=["title"];var U=e({__name:"ExportModal",props:{visible:{type:Boolean,default:!1},tableListId:{type:String,default:""},curProgram:{type:Object,default:()=>({})},programOptions:{type:Array,default:()=>[]},downLoadFieldList:{type:Array,default:()=>[]},showAllFieldList:{type:Array,default:()=>[]}},emits:["cancelModal","updateCurProgram","updateFieldCheckList","updateShowAllFieldList"],setup(e,{emit:U}){const K=e,M="default",D="860px",B="496px",V={class:"select-export-popover"},q=b(),{deleteTableListExportScheme:G,exportTableListScheme:J}=S(),Q=l(!1),R=l(D),W=l({maxHeight:B,height:B}),X=l(!1),Y=l(!0),Z=l([]),ee=t(_),le=a((()=>K.curProgram.schemeId));function te(){U("updateShowAllFieldList",K.showAllFieldList)}function ae({option:e}){return g("span",e.schemeName)}function ie(e){const l=[g(I,{trigger:"hover",duration:0},{default:()=>e.schemeName,trigger:()=>g("span",{class:"content"},e.schemeName)})],t=[g(A,{placement:"top-start",positiveText:"确认",negativeText:"取消",onPositiveClick:()=>function(e){const{schemeId:l}=K.curProgram;if(l===e.schemeId)return q.warning("当前正在使用该方案,请先切换其他方案再删除");!async function(e){if(!K.tableListId)return q.warning("请传入列表id");try{await G({id:K.tableListId,schemeId:e},ee)&&q.success("删除成功")}catch(e){q.error(`获取导出方案数据请求失败:${e}`)}}(e.schemeId)}(e)},{trigger:()=>g(N,{onclick:oe},{default:()=>g(C)}),default:()=>"确定删除该导出方案吗?"})],a=e.schemeId===M?[l]:[l,t];return g("div",{class:"flex-between"},a)}function oe(e){e.stopPropagation()}function ne(e){U("updateCurProgram",e)}function se(){!async function(){if(!K.tableListId)return q.warning("请传入列表id");if(Z.value.length<1)return q.warning("请至少勾选一个字段");try{const{schemeId:e}=K.curProgram,l=K.programOptions.find((l=>l.schemeId===e)),t={fieldKeys:z(K.showAllFieldList,Z.value),lastUsedSchemeName:l?l.schemeName:"",schemeId:l?l.schemeId:"",schemeName:l?l.schemeName:"",tableListId:K.tableListId};await J(t,ee)&&(q.success("导出成功"),re())}catch(e){q.error(`获取导出方案数据请求失败:${e}`)}}()}function de(e){var l,t,a;Y.value=!1,Z.value=e?(null==(l=K.showAllFieldList)?void 0:l.map((e=>e.columnName)))||[]:(null==(a=null==(t=K.showAllFieldList)?void 0:t.filter((e=>e.fixedExport)))?void 0:a.map((e=>e.columnName)))||[]}function re(){U("cancelModal"),R.value=D,W.value={height:B,maxHeight:B},Q.value=!1}function ue(){Q.value=!Q.value;let e=document.body.clientHeight;R.value===D?(R.value="100%",W.value.maxHeight=`${e}px`,W.value.height=`${e}px`):(R.value=D,W.value.maxHeight=B,W.value.height=B)}return i((()=>Z.value),(e=>{K.showAllFieldList.length>0&&(Y.value=e.length>0&&e.length<K.showAllFieldList.length,X.value=e.length===K.showAllFieldList.length,U("updateFieldCheckList",e))}),{immediate:!0}),i((()=>K.curProgram),(e=>{e&&function(e){const l=K.programOptions.find((l=>l.schemeId===e));if(l){let t=[];const a=K.downLoadFieldList.filter((e=>e.fixedExport)).map((e=>e.columnName)),i=l.fieldKeys.filter((e=>!a.includes(e)));if(Z.value=[...i,...a],e===M){const e=E(K.downLoadFieldList);return void U("updateShowAllFieldList",e)}Z.value.forEach((e=>{const l=K.downLoadFieldList.find((l=>l.columnName===e));l&&t.push(l)}));const o=K.downLoadFieldList.filter((e=>!Z.value.includes(e.columnName))),n=[...t,...o];U("updateShowAllFieldList",n)}}(e.schemeId)}),{immediate:!0}),(l,t)=>(o(),n(s(x),{class:d(["table-export-field-modal",{"modal-screen":Q.value}]),show:e.visible,maskClosable:!1,width:R.value,bodyStyle:W.value,closable:!1,centered:"",onPositiveClick:se,onNegativeClick:re},{default:r((()=>[u(s(w),{style:c({width:R.value,...W.value}),title:"选择导出字段",bordered:!1,size:"huge",role:"dialog","aria-modal":"true"},{"header-extra":r((()=>[m("div",j,[m("i",{onClick:ue,class:d(["iconfont-table-export-field",Q.value?"icon-table-export-field-menzhenyishengzhanxitongtubiaozuixiaohua2":"icon-table-export-field-menzhenyishengzhanxitongtubiaozuidahua"])},null,2),m("i",{onClick:re,class:"iconfont-table-export-field icon-table-export-field-menzhenyishengzhanxitongtubiaoguanbi"})])])),footer:r((()=>[m("div",H,[u(s(L),{onClick:re},{default:r((()=>[h("取消")])),_:1}),p(l.$slots,"add"),u(s(L),{type:"info",onClick:se},{default:r((()=>[h("导出")])),_:1})])])),default:r((()=>[O,m("header",$,[u(s(y),{checked:X.value,"onUpdate:checked":[t[0]||(t[0]=e=>X.value=e),de],indeterminate:Y.value},{default:r((()=>[h(" 全选 ")])),_:1},8,["checked","indeterminate"]),u(s(F),{style:{width:"200px"},value:s(le),"onUpdate:value":[t[1]||(t[1]=e=>f(le)?le.value=e:null),ne],filterable:"","label-field":"schemeName","value-field":"schemeId","show-checkmark":!1,"render-label":ie,"render-tag":ae,"menu-props":V,options:e.programOptions},null,8,["value","options"])]),u(s(k),{value:Z.value,"onUpdate:value":t[2]||(t[2]=e=>Z.value=e)},{default:r((()=>[u(s(P),{class:"draggable-checkbox-list",list:e.showAllFieldList,animation:"300",itemKey:"columnName",onEnd:te},{item:r((({element:e})=>{var l;return[u(s(y),{disabled:e.fixedExport,class:d(Z.value.includes(e.columnName)?"":"checkbox-disabled"),value:e.columnName,label:null!=(l=e.alias)?l:e.title},{default:r((()=>{var l,t;return[m("span",{title:null!=(l=e.alias)?l:e.title},v(null!=(t=e.alias)?t:e.title),9,T)]})),_:2},1032,["disabled","class","value","label"])]})),_:1},8,["list"])])),_:1},8,["value"])])),_:3},8,["style"])])),_:3},8,["class","show","width","bodyStyle"]))}});export{U as default};
@@ -1 +1 @@
1
- import{defineComponent as e,ref as a,reactive as t,inject as l,watch as o,openBlock as r,createBlock as i,unref as s,withCtx as c,createVNode as u,createElementVNode as m,createTextVNode as d,createElementBlock as n,Fragment as p,renderList as v,toDisplayString as f}from"vue";import{useMessage as h,NModal as j,NCard as g,NIcon as b,NButton as y,NRadioGroup as N,NRadio as P,NForm as _,NFormItem as x,NInput as k}from"naive-ui";import{CloseOutline as w}from"@vicons/ionicons5";import{InjectionExportApiConfig as I}from"../constants/index.js";import S from"../hooks/useAsyncData.js";import{dragFieldCheckList as C}from"../tool.js";import{cloneDeep as L}from"lodash-es";const A={class:"svg-wrap"},M={class:"flex_right"},O={class:"save-project-content"};var U=e({__name:"SaveProjectModal",props:{visible:{type:Boolean,default:!1},tableListId:{type:String,default:""},programOptions:{type:Array,default:()=>[]},curProgram:{type:Object,default:()=>({})},showAllFieldList:{type:Array,default:()=>[]}},emits:["cancelSaveModal"],setup(e,{emit:U}){const z=e,F=h(),{saveTableListExportScheme:K}=S(),q={projectName:{required:!0,message:"请输入方案名称",trigger:["input","blur"]}},B=[{value:"updateProject",label:"更新方案"},{value:"addProject",label:"新增方案"}],D=a(null),E=t({projectName:""}),R=a(),T=a([]),$=l(I);function G(e){R.value=e}function H(){var e;null==(e=D.value)||e.validate((async e=>{if(e)return;if(function(){const e=E.projectName.trim();let a=[];if("addProject"===R.value&&(a=z.programOptions.map((e=>e.schemeName))),"updateProject"===R.value){const{schemeName:e}=z.curProgram;a=z.programOptions.filter((a=>a.schemeName!==e)).map((e=>e.schemeName))}return!!a.includes(e)&&(F.warning(`已存在${e}的方案名称`),!0)}())return;const a=function(){const e=E.projectName.trim(),{fieldKeys:a,schemeId:t}=z.curProgram;let l={fieldKeys:C(z.showAllFieldList,a),lastUsedSchemeName:e,schemeId:"",schemeName:e,tableListId:z.tableListId};return"updateProject"===R.value&&(l.schemeId=t),l}();await K(a,$)&&(F.success("保存并导出成功"),U("cancelSaveModal"))}))}function J(){U("cancelSaveModal")}return o((()=>z.curProgram),(async e=>{if("default"===e.schemeId)T.value=B.filter((e=>"addProject"===e.value)),R.value="addProject",E.projectName="";else T.value=L(B),R.value="updateProject",E.projectName=e.schemeName}),{immediate:!0,deep:!0}),(a,t)=>(r(),i(s(j),{class:"table-export-field-modal",to:"body",show:e.visible,maskClosable:!1,"positive-text":"确认","negative-text":"取消",onPositiveClick:H,onNegativeClick:J},{default:c((()=>[u(s(g),{title:"导出并存为方案",style:{width:"520px"},bordered:!1,size:"huge",role:"dialog","aria-modal":"true"},{"header-extra":c((()=>[m("div",A,[u(s(b),{component:s(w),size:"24",onClick:J},null,8,["component"])])])),footer:c((()=>[m("div",M,[u(s(y),{onClick:J},{default:c((()=>[d("取消")])),_:1}),u(s(y),{type:"info",onClick:H},{default:c((()=>[d("确认")])),_:1})])])),default:c((()=>[m("div",O,[u(s(N),{value:R.value,"onUpdate:value":[t[0]||(t[0]=e=>R.value=e),G],name:"radiogroup"},{default:c((()=>[(r(!0),n(p,null,v(T.value,(e=>(r(),i(s(P),{key:e.value,value:e.value},{default:c((()=>[d(f(e.label),1)])),_:2},1032,["value"])))),128))])),_:1},8,["value"]),u(s(_),{ref_key:"formRef",ref:D,"label-placement":"left",rules:q,model:E},{default:c((()=>[u(s(x),{label:"方案名称",path:"projectName"},{default:c((()=>[u(s(k),{value:E.projectName,"onUpdate:value":t[1]||(t[1]=e=>E.projectName=e),placeholder:"请输入方案名称",clearable:"",maxlength:"100"},null,8,["value"])])),_:1})])),_:1},8,["model"])])])),_:1})])),_:1},8,["show"]))}});export{U as default};
1
+ import{defineComponent as e,ref as a,reactive as t,inject as l,watch as o,openBlock as r,createBlock as i,unref as s,withCtx as c,createVNode as u,createElementVNode as m,createTextVNode as d,createElementBlock as n,Fragment as p,renderList as v,toDisplayString as f}from"vue";import{useMessage as h,NModal as j,NCard as g,NIcon as b,NButton as N,NRadioGroup as y,NRadio as P,NForm as _,NFormItem as x,NInput as k}from"naive-ui";import{CloseOutline as w}from"@vicons/ionicons5";import{InjectionExportApiConfig as I}from"../constants/index.js";import S from"../hooks/useAsyncData.js";import{dragFieldCheckList as C}from"../tool.js";import{cloneDeep as L}from"lodash-es";const A={class:"svg-wrap"},M={class:"flex_right"},O={class:"save-project-content"};var U=e({__name:"SaveProjectModal",props:{visible:{type:Boolean,default:!1},tableListId:{type:String,default:""},programOptions:{type:Array,default:()=>[]},curProgram:{type:Object,default:()=>({})},showAllFieldList:{type:Array,default:()=>[]}},emits:["cancelSaveModal"],setup(e,{emit:U}){const z=e,F=h(),{saveTableListExportScheme:K}=S(),q={projectName:{required:!0,message:"请输入方案名称",trigger:["input","blur"]}},B=[{value:"updateProject",label:"更新方案"},{value:"addProject",label:"新增方案"}],D=a(null),E=t({projectName:""}),R=a(),T=a([]),$=l(I);function G(e){R.value=e}function H(){var e;null==(e=D.value)||e.validate((async e=>{if(e)return;if(function(){const e=E.projectName.trim();let a=[];if("addProject"===R.value&&(a=z.programOptions.map((e=>e.schemeName))),"updateProject"===R.value){const{schemeName:e}=z.curProgram;a=z.programOptions.filter((a=>a.schemeName!==e)).map((e=>e.schemeName))}return!!a.includes(e)&&(F.warning(`已存在${e}的方案名称`),!0)}())return;const a=function(){const e=E.projectName.trim(),{fieldKeys:a,schemeId:t}=z.curProgram;let l={fieldKeys:C(z.showAllFieldList,a),lastUsedSchemeName:e,schemeId:"",schemeName:e,tableListId:z.tableListId};return"updateProject"===R.value&&(l.schemeId=t),l}();await K(a,$)&&(F.success("保存并导出成功"),U("cancelSaveModal"))}))}function J(){U("cancelSaveModal")}return o((()=>z.curProgram),(async e=>{if("default"===e.schemeId)T.value=B.filter((e=>"addProject"===e.value)),R.value="addProject",E.projectName="";else T.value=L(B),R.value="updateProject",E.projectName=e.schemeName}),{immediate:!0,deep:!0}),(a,t)=>(r(),i(s(j),{class:"table-export-field-modal",show:e.visible,maskClosable:!1,"positive-text":"确认","negative-text":"取消",onPositiveClick:H,onNegativeClick:J},{default:c((()=>[u(s(g),{title:"导出并存为方案",style:{width:"520px"},bordered:!1,size:"huge",role:"dialog","aria-modal":"true"},{"header-extra":c((()=>[m("div",A,[u(s(b),{component:s(w),size:"24",onClick:J},null,8,["component"])])])),footer:c((()=>[m("div",M,[u(s(N),{onClick:J},{default:c((()=>[d("取消")])),_:1}),u(s(N),{type:"info",onClick:H},{default:c((()=>[d("确认")])),_:1})])])),default:c((()=>[m("div",O,[u(s(y),{value:R.value,"onUpdate:value":[t[0]||(t[0]=e=>R.value=e),G],name:"radiogroup"},{default:c((()=>[(r(!0),n(p,null,v(T.value,(e=>(r(),i(s(P),{key:e.value,value:e.value},{default:c((()=>[d(f(e.label),1)])),_:2},1032,["value"])))),128))])),_:1},8,["value"]),u(s(_),{ref_key:"formRef",ref:D,"label-placement":"left",rules:q,model:E},{default:c((()=>[u(s(x),{label:"方案名称",path:"projectName"},{default:c((()=>[u(s(k),{value:E.projectName,"onUpdate:value":t[1]||(t[1]=e=>E.projectName=e),placeholder:"请输入方案名称",clearable:"",maxlength:"100"},null,8,["value"])])),_:1})])),_:1},8,["model"])])])),_:1})])),_:1},8,["show"]))}});export{U as default};
@@ -1 +1 @@
1
- import{defineComponent as e,ref as a,inject as l,computed as t,watch as n,openBlock as u,createBlock as o,unref as i,isRef as r,withModifiers as s,withCtx as d,createVNode as v,h as c}from"vue";import{useMessage as p,NSelect as m,NTag as f}from"naive-ui";import{WidgetOptionEnums as y,WidgetValEnums as g}from"../../../types/enums.js";import{useDebounceFn as h}from"@vueuse/core";import V from"../../../hooks/useAsyncData.js";import{InjectionFilterApiConfig as b,InjectionClassifyFilterList as w}from"../../../constants/index.js";import{judgmentVariable as k}from"../../render-widget/helpers/setDefaultValue.js";import L from"../../render-widget/components/SelectDynamicOption/index.vue.js";import{isEqual as O}from"lodash-es";var S=e({__name:"SelectDynamic",props:{paramCfg:{type:Object,default:null},modelValue:{type:[Array,String,Number],default:null}},emits:["update:modelValue"],setup(e,{emit:S}){const C=e,A=p(),{getDynamicSelectData:P}=V(),j=a(!1),x=l(b),D=l(w),I=a(0),K={class:"select-dynamic-popover"},T=a(1),_=a(),E=a([]),U=a(),M=t((()=>{var e;return null==(e=C.paramCfg)?void 0:e.optionSetting})),N=t((()=>M.value===y.MULTIPLE)),$=t((()=>{const{dynamicOptionInfo:e={}}=C.paramCfg.optionInfo;return e})),B=t((()=>I.value>0&&T.value>=I.value)),F=t((()=>{if(E.value.length>0)return E.value;const e=D.value.find((e=>e.key===C.paramCfg.p_name));return e&&e.value&&e.dynamicBaseList||[]})),J=t((()=>{var e;if(Array.isArray(C.modelValue)&&C.modelValue.length>0){const e=C.modelValue;if(W(e),!N.value&&1==e.length){const a=F.value.find((a=>a.value===e[0]));return JSON.stringify(a)}return F.value.filter((a=>e.includes(a.value)))}return W([]),null!=(e=C.modelValue)?e:null})),H=t((()=>{if(Object.keys($.value).length>0){const{defaultParams:e=[]}=$.value;return!k(e)}return!0}));function W(e){E.value.forEach((a=>{a.actived=!1,Array.isArray(e)&&e.includes(a.value)&&(a.actived=!0)}))}function q(e){var a;const{defaultValue:l}=C.paramCfg._rawData;(null==(a=null==l?void 0:l.linkageFieldKeys)?void 0:a.length)>0&&l.linkageFieldKeys.forEach((e=>{const a=D.value.find((a=>a.key===e));a&&a.value&&(a.value=a.presetVal=null)})),O(C.modelValue,e)||S("update:modelValue",e)}async function z(e){T.value=e,await G(U.value,T.value)}async function G(e,a){try{if(Object.keys($.value).length>0){const{autograph:l,dataSourceId:t,dataSourceType:n,filterKeys:u,defaultParams:o=[],showKeys:i,valueKey:r}=$.value;let s={wordbookId:t,autograph:l,wordbookType:n,fieldKeys:u,page:a};u.length>0&&(s[u[0]]=e),j.value=!0;if(k(o)){const e=o.map((e=>e.value)).filter((e=>e.includes("${")));e.map((e=>e.match(/\$\{(.+?)\}/)[1])).forEach((e=>{const a=D.value.find((a=>a.key===e));a&&a.value&&a.value!==g.WHOLE&&(s[e]=a.value)}))}let d=await P(s,x);if(d){const{fieldList:e=[],rows:a=[],total:l=0}=d.map,t=a.map((e=>({...e,label:e[i[0]],value:e[r]})));return _.value=null!=e?e:[],E.value=null!=t?t:[],I.value=l,t}}}catch(e){A.error(`异步数据源下拉框数据请求失败:${e}`),console.log(e)}finally{j.value=!1}}const Q=h((async e=>{await async function(e){U.value=e.trim(),T.value=1,await G(U.value,T.value)}(e)}),300);async function R(){Object.keys($.value).length>0&&x&&await G("",T.value)}async function X(){S("update:modelValue",null),await R()}function Y(e){e&&R()}function Z({option:e,handleClose:a}){if(N.value){const l=e.value;return c(f,{style:{padding:"0 8px"},closable:!0,onClose:e=>{if(e.stopPropagation(),a(),Array.isArray(C.modelValue)&&C.modelValue.length>0){const e=C.modelValue,a=e.indexOf(l.value);if(a>-1){const l=e.splice(0,a);S("update:modelValue",l.length>0?l:null)}}}},{default:()=>c("div",l.label)})}const l=e.value?JSON.parse(e.value):{label:""};return c("div",l.label)}return n((()=>C.modelValue),(e=>{let a=[];Array.isArray(e)&&e.length>0&&(N.value||1!=e.length||(a=F.value.filter((a=>a.value===e[0]))),a=F.value.filter((a=>e.includes(a.value))));const l=D.value.find((e=>e.key===C.paramCfg.p_name));l&&l.value&&(l.dynamicBaseList=a)}),{immediate:!0,deep:!0}),H.value&&R(),(e,a)=>(u(),o(i(m),{id:"select-dynamic-popover",style:{width:"200px"},value:i(J),"onUpdate:value":a[0]||(a[0]=e=>r(J)?J.value=e:null),remote:"",clearable:"",filterable:"",to:"body",maxTagCount:"responsive",loading:j.value,multiple:i(N),menuProps:K,"render-tag":Z,onSearch:i(Q),onClear:X,"onUpdate:show":Y,onClick:a[1]||(a[1]=s((()=>{}),["stop"]))},{empty:d((()=>[v(L,{dynamicOptionInfo:i($),fieldTitleList:_.value,optionList:E.value,isMultiple:i(N),curPage:T.value,isLastPage:i(B),onUpdateSelect:q,onUpdatePage:z},null,8,["dynamicOptionInfo","fieldTitleList","optionList","isMultiple","curPage","isLastPage"])])),_:1},8,["value","loading","multiple","onSearch"]))}});export{S as default};
1
+ import{defineComponent as e,ref as a,inject as l,computed as t,watch as n,openBlock as u,createBlock as o,unref as i,isRef as r,withModifiers as s,withCtx as d,createVNode as v,h as c}from"vue";import{useMessage as p,NSelect as m,NTag as f}from"naive-ui";import{WidgetOptionEnums as y,WidgetValEnums as g}from"../../../types/enums.js";import{useDebounceFn as h}from"@vueuse/core";import V from"../../../hooks/useAsyncData.js";import{InjectionFilterApiConfig as w,InjectionClassifyFilterList as b}from"../../../constants/index.js";import{judgmentVariable as k}from"../../render-widget/helpers/setDefaultValue.js";import L from"../../render-widget/components/SelectDynamicOption/index.vue.js";import{isEqual as O}from"lodash-es";var S=e({__name:"SelectDynamic",props:{paramCfg:{type:Object,default:null},modelValue:{type:[Array,String,Number],default:null}},emits:["update:modelValue"],setup(e,{emit:S}){const C=e,A=p(),{getDynamicSelectData:P}=V(),j=a(!1),x=l(w),D=l(b),I=a(0),K={class:"select-dynamic-popover"},T=a(1),_=a(),E=a([]),U=a(),M=t((()=>{var e;return null==(e=C.paramCfg)?void 0:e.optionSetting})),N=t((()=>M.value===y.MULTIPLE)),$=t((()=>{const{dynamicOptionInfo:e={}}=C.paramCfg.optionInfo;return e})),B=t((()=>I.value>0&&T.value>=I.value)),F=t((()=>{if(E.value.length>0)return E.value;const e=D.value.find((e=>e.key===C.paramCfg.p_name));return e&&e.value&&e.dynamicBaseList||[]})),J=t((()=>{var e;if(Array.isArray(C.modelValue)&&C.modelValue.length>0){const e=C.modelValue;if(W(e),!N.value&&1==e.length){const a=F.value.find((a=>a.value===e[0]));return JSON.stringify(a)}return F.value.filter((a=>e.includes(a.value)))}return W([]),null!=(e=C.modelValue)?e:null})),H=t((()=>{if(Object.keys($.value).length>0){const{defaultParams:e=[]}=$.value;return!k(e)}return!0}));function W(e){E.value.forEach((a=>{a.actived=!1,Array.isArray(e)&&e.includes(a.value)&&(a.actived=!0)}))}function q(e){var a;const{defaultValue:l}=C.paramCfg._rawData;(null==(a=null==l?void 0:l.linkageFieldKeys)?void 0:a.length)>0&&l.linkageFieldKeys.forEach((e=>{const a=D.value.find((a=>a.key===e));a&&a.value&&(a.value=a.presetVal=null)})),O(C.modelValue,e)||S("update:modelValue",e)}async function z(e){T.value=e,await G(U.value,T.value)}async function G(e,a){try{if(Object.keys($.value).length>0){const{autograph:l,dataSourceId:t,dataSourceType:n,filterKeys:u,defaultParams:o=[],showKeys:i,valueKey:r}=$.value;let s={wordbookId:t,autograph:l,wordbookType:n,fieldKeys:u,page:a};u.length>0&&(s[u[0]]=e),j.value=!0;if(k(o)){const e=o.map((e=>e.value)).filter((e=>e.includes("${")));e.map((e=>e.match(/\$\{(.+?)\}/)[1])).forEach((e=>{const a=D.value.find((a=>a.key===e));a&&a.value&&a.value!==g.WHOLE&&(s[e]=a.value)}))}let d=await P(s,x);if(d){const{fieldList:e=[],rows:a=[],total:l=0}=d.map,t=a.map((e=>({...e,label:e[i[0]],value:e[r]})));return _.value=null!=e?e:[],E.value=null!=t?t:[],I.value=l,t}}}catch(e){A.error(`异步数据源下拉框数据请求失败:${e}`),console.log(e)}finally{j.value=!1}}const Q=h((async e=>{await async function(e){U.value=e.trim(),T.value=1,await G(U.value,T.value)}(e)}),300);async function R(){Object.keys($.value).length>0&&x&&await G("",T.value)}async function X(){S("update:modelValue",null),await R()}function Y(e){e&&R()}function Z({option:e,handleClose:a}){if(N.value){const l=e.value;return c(f,{style:{padding:"0 8px"},closable:!0,onClose:e=>{if(e.stopPropagation(),a(),Array.isArray(C.modelValue)&&C.modelValue.length>0){const e=C.modelValue,a=e.indexOf(l.value);if(a>-1){const l=e.splice(0,a);S("update:modelValue",l.length>0?l:null)}}}},{default:()=>c("div",l.label)})}const l=e.value?JSON.parse(e.value):{label:""};return c("div",l.label)}return n((()=>C.modelValue),(e=>{let a=[];Array.isArray(e)&&e.length>0&&(N.value||1!=e.length||(a=F.value.filter((a=>a.value===e[0]))),a=F.value.filter((a=>e.includes(a.value))));const l=D.value.find((e=>e.key===C.paramCfg.p_name));l&&l.value&&(l.dynamicBaseList=a)}),{immediate:!0,deep:!0}),H.value&&R(),(e,a)=>(u(),o(i(m),{id:"select-dynamic-popover",style:{width:"200px"},value:i(J),"onUpdate:value":a[0]||(a[0]=e=>r(J)?J.value=e:null),remote:"",clearable:"",filterable:"",maxTagCount:"responsive",loading:j.value,multiple:i(N),menuProps:K,"render-tag":Z,onSearch:i(Q),onClear:X,"onUpdate:show":Y,onClick:a[1]||(a[1]=s((()=>{}),["stop"]))},{empty:d((()=>[v(L,{dynamicOptionInfo:i($),fieldTitleList:_.value,optionList:E.value,isMultiple:i(N),curPage:T.value,isLastPage:i(B),onUpdateSelect:q,onUpdatePage:z},null,8,["dynamicOptionInfo","fieldTitleList","optionList","isMultiple","curPage","isLastPage"])])),_:1},8,["value","loading","multiple","onSearch"]))}});export{S as default};
@@ -1 +1 @@
1
- import{defineComponent as e,useAttrs as t,computed as r,openBlock as o,createBlock as u,unref as n,mergeProps as a}from"vue";import{NSelect as i}from"naive-ui";import{WholeSelectObj as l}from"../helpers/selectExtraMap.js";import{WidgetValEnums as p}from"../../../types/enums.js";var s=e({__name:"Select",props:{value:{type:[Array,String,Number]},componentCfg:{type:Object}},emits:["update:value"],setup(e,{emit:s}){const m=e,v=t(),f=r((()=>m.value)),c=r((()=>v.multiple)),d=r((()=>{const{widgetCfg:e}=m.componentCfg,{showWholeOption:t=!1}=e;return t})),g=r((()=>{const{widgetCfg:e}=m.componentCfg,{valueList:t=[]}=e;if(d.value){return[JSON.parse(JSON.stringify(l)),...t]}return t}));function y(e){if(d.value&&c.value&&Array.isArray(e)&&e.includes(p.WHOLE)){const t=e.slice(-1);if(t.includes(p.WHOLE))return void s("update:value",t);const r=e.filter((e=>e!==p.WHOLE));s("update:value",r)}else s("update:value",e)}return(e,t)=>(o(),u(n(i),a({to:"body"},n(v),{options:n(g),value:n(f),"onUpdate:value":y}),null,16,["options","value"]))}});export{s as default};
1
+ import{defineComponent as e,useAttrs as t,computed as r,openBlock as u,createBlock as o,unref as n,mergeProps as a}from"vue";import{NSelect as i}from"naive-ui";import{WholeSelectObj as l}from"../helpers/selectExtraMap.js";import{WidgetValEnums as p}from"../../../types/enums.js";var s=e({__name:"Select",props:{value:{type:[Array,String,Number]},componentCfg:{type:Object}},emits:["update:value"],setup(e,{emit:s}){const m=e,v=t(),f=r((()=>m.value)),c=r((()=>v.multiple)),d=r((()=>{const{widgetCfg:e}=m.componentCfg,{showWholeOption:t=!1}=e;return t})),g=r((()=>{const{widgetCfg:e}=m.componentCfg,{valueList:t=[]}=e;if(d.value){return[JSON.parse(JSON.stringify(l)),...t]}return t}));function y(e){if(d.value&&c.value&&Array.isArray(e)&&e.includes(p.WHOLE)){const t=e.slice(-1);if(t.includes(p.WHOLE))return void s("update:value",t);const r=e.filter((e=>e!==p.WHOLE));s("update:value",r)}else s("update:value",e)}return(e,t)=>(u(),o(n(i),a(n(v),{options:n(g),value:n(f),"onUpdate:value":y}),null,16,["options","value"]))}});export{s as default};
@@ -1 +1 @@
1
- import{defineComponent as e,useAttrs as a,ref as l,inject as t,computed as u,nextTick as n,openBlock as o,createBlock as i,unref as s,mergeProps as r,isRef as v,withCtx as c,createVNode as f,h as p}from"vue";import{useMessage as d,NSelect as m,NTag as y}from"naive-ui";import{useDebounceFn as g}from"@vueuse/core";import h from"../../../hooks/useAsyncData.js";import{judgmentVariable as w}from"../helpers/setDefaultValue.js";import{WholeSelectObj as S}from"../helpers/selectExtraMap.js";import{WidgetValEnums as O}from"../../../types/enums.js";import{InjectionFilterApiConfig as b,InjectionFilterSearchConfig as j}from"../../../constants/index.js";import k from"./SelectDynamicOption/index.vue.js";import{isEqual as C,cloneDeep as N}from"lodash-es";var A=e({__name:"SelectDynamic",props:{value:{type:[Array,String,Number]},componentCfg:{type:Object}},emits:["update:value"],setup(e,{emit:A}){const L=e,P=d(),D="SQL",J="API",{getDynamicSelectData:x}=h(),I=a(),E=l(null),K=l(!1),T=t(b),$=t(j),U=l(1),W=l(),_=l([JSON.parse(JSON.stringify(S))]),M=l([]),F=l(),H=l(0),Q={class:"select-dynamic-popover"},R=u((()=>I.multiple)),V=u((()=>{const{widgetCfg:e}=L.componentCfg,{dynamicOptionInfo:a={}}=e;return a})),q=u((()=>{const{widgetCfg:e}=L.componentCfg,{showWholeOption:a=!1}=e;return a&&1===U.value})),z=u((()=>H.value>0&&U.value>=H.value)),B=u((()=>{var e;if(Array.isArray(L.value)&&L.value.length>0){const e=L.value;if(X(e),e.includes(S.value)){const e=_.value.find((e=>e.value===S.value)),a=e||S;return R.value?[a]:JSON.stringify(a)}if(!R.value&&1==e.length){const a=_.value.find((a=>a.value===e[0]));return a?JSON.stringify(a):{label:e[0].includes("&")?e[0].split("&")[0]:e[0],value:e[0]}}const a=_.value.filter((a=>e.includes(a.value))),l=a.map((e=>e.value)),t=e.filter((e=>!l.includes(e))).map((e=>({label:e.includes("&")?e.split("&")[0]:e,value:e})));return[...a,...t]}return X([]),null!=(e=L.value)?e:null})),G=u((()=>{if(Object.keys(V.value).length>0){const{defaultParams:e=[]}=V.value;return w(e)&&!L.value}return!1}));function X(e){_.value.forEach((a=>{a.actived=!1,Array.isArray(e)&&e.includes(a.value)&&(a.actived=!0)}))}function Y(e){const{widgetCfg:a}=L.componentCfg,{linkageFieldKeys:l=[]}=a;C(L.value,e)||(l.forEach((e=>{const a=$.value.find((a=>a.columnName===e));a&&a.value&&(a.value=null)})),A("update:value",e))}async function Z(e){var a;U.value=e,null==(a=null==E?void 0:E.value)||a.focus(),await ee(F.value,U.value)}async function ee(e,a){try{if(K.value=!0,Object.keys(V.value).length>0){const{autograph:l,dataSourceId:t,dataSourceType:u,filterKeys:n,defaultParams:o=[],showKeys:i,valueKey:s,tableDataType:r}=V.value;let v={wordbookId:t,autograph:l,wordbookType:u,fieldKeys:n,page:a};switch(r){case D:v.keyword=e;break;case J:n.length>0&&(v[n[0]]=e)}if(w(o)){const e=o.map((e=>e.value)).filter((e=>e.includes("${")));e.map((e=>e.match(/\$\{(.+?)\}/)[1])).forEach((e=>{const a=$.value.find((a=>a.columnName===e));a&&a.value&&a.value!==O.WHOLE&&(v[e]=a.value)}))}let c=await x(v,T);if(c){const{fieldList:e=[],rows:a=[],total:l=0}=c.map,t=a.map((e=>({...e,label:e[i[0]],value:`${e[i[0]]}&${e[s]}`}))),u=N(t);q.value&&t.unshift(JSON.parse(JSON.stringify(S))),W.value=null!=e?e:[],_.value=null!=t?t:[],M.value=u,H.value=l}}}catch(e){P.error(`异步数据源下拉框数据请求失败:${e}`),console.log(e)}finally{K.value=!1}}const ae=g((async e=>{await async function(e){F.value=e.trim(),U.value=1,await ee(F.value,U.value)}(e)}),300);async function le(){Object.keys(V.value).length>0&&T&&await ee("",U.value)}async function te(){A("update:value",null),await le()}function ue(e){F.value="",e&&(U.value=1,le())}function ne({option:e,handleClose:a}){if(R.value){const l=e.value;return p(y,{style:{padding:"0 8px"},closable:!0,onClose:e=>{if(e.stopPropagation(),a(),Array.isArray(L.value)&&L.value.length>0){const e=L.value,a=e.indexOf(l.value);if(a>-1){const l=e.splice(0,a);A("update:value",l.length>0?l:null)}}}},{default:()=>p("div",l.label)})}const l=e.value?JSON.parse(e.value):{label:""};return p("div",l.label)}return n((()=>{G.value||le()})),(e,a)=>(o(),i(s(m),r({ref_key:"selectDynamicRef",ref:E},s(I),{value:s(B),"onUpdate:value":a[0]||(a[0]=e=>v(B)?B.value=e:null),remote:"",loading:K.value,"render-tag":ne,"menu-props":Q,to:"body",onSearch:s(ae),onClear:te,"onUpdate:show":ue}),{empty:c((()=>[f(k,r(s(I),{loading:K.value,dynamicOptionInfo:s(V),fieldTitleList:W.value,optionList:_.value,isMultiple:s(R),curPage:U.value,isLastPage:s(z),isShowWhole:s(q),onUpdateSelect:Y,onUpdatePage:Z}),null,16,["loading","dynamicOptionInfo","fieldTitleList","optionList","isMultiple","curPage","isLastPage","isShowWhole"])])),_:1},16,["value","loading","onSearch"]))}});export{A as default};
1
+ import{defineComponent as e,useAttrs as a,ref as l,inject as t,computed as u,nextTick as n,openBlock as o,createBlock as i,unref as s,mergeProps as r,isRef as v,withCtx as c,createVNode as f,h as p}from"vue";import{useMessage as d,NSelect as m,NTag as y}from"naive-ui";import{useDebounceFn as g}from"@vueuse/core";import h from"../../../hooks/useAsyncData.js";import{judgmentVariable as w}from"../helpers/setDefaultValue.js";import{WholeSelectObj as S}from"../helpers/selectExtraMap.js";import{WidgetValEnums as O}from"../../../types/enums.js";import{InjectionFilterApiConfig as b,InjectionFilterSearchConfig as j}from"../../../constants/index.js";import k from"./SelectDynamicOption/index.vue.js";import{isEqual as C,cloneDeep as N}from"lodash-es";var A=e({__name:"SelectDynamic",props:{value:{type:[Array,String,Number]},componentCfg:{type:Object}},emits:["update:value"],setup(e,{emit:A}){const L=e,P=d(),D="SQL",J="API",{getDynamicSelectData:x}=h(),I=a(),E=l(null),K=l(!1),T=t(b),$=t(j),U=l(1),W=l(),_=l([JSON.parse(JSON.stringify(S))]),M=l([]),F=l(),H=l(0),Q={class:"select-dynamic-popover"},R=u((()=>I.multiple)),V=u((()=>{const{widgetCfg:e}=L.componentCfg,{dynamicOptionInfo:a={}}=e;return a})),q=u((()=>{const{widgetCfg:e}=L.componentCfg,{showWholeOption:a=!1}=e;return a&&1===U.value})),z=u((()=>H.value>0&&U.value>=H.value)),B=u((()=>{var e;if(Array.isArray(L.value)&&L.value.length>0){const e=L.value;if(X(e),e.includes(S.value)){const e=_.value.find((e=>e.value===S.value)),a=e||S;return R.value?[a]:JSON.stringify(a)}if(!R.value&&1==e.length){const a=_.value.find((a=>a.value===e[0]));return a?JSON.stringify(a):{label:e[0].includes("&")?e[0].split("&")[0]:e[0],value:e[0]}}const a=_.value.filter((a=>e.includes(a.value))),l=a.map((e=>e.value)),t=e.filter((e=>!l.includes(e))).map((e=>({label:e.includes("&")?e.split("&")[0]:e,value:e})));return[...a,...t]}return X([]),null!=(e=L.value)?e:null})),G=u((()=>{if(Object.keys(V.value).length>0){const{defaultParams:e=[]}=V.value;return w(e)&&!L.value}return!1}));function X(e){_.value.forEach((a=>{a.actived=!1,Array.isArray(e)&&e.includes(a.value)&&(a.actived=!0)}))}function Y(e){const{widgetCfg:a}=L.componentCfg,{linkageFieldKeys:l=[]}=a;C(L.value,e)||(l.forEach((e=>{const a=$.value.find((a=>a.columnName===e));a&&a.value&&(a.value=null)})),A("update:value",e))}async function Z(e){var a;U.value=e,null==(a=null==E?void 0:E.value)||a.focus(),await ee(F.value,U.value)}async function ee(e,a){try{if(K.value=!0,Object.keys(V.value).length>0){const{autograph:l,dataSourceId:t,dataSourceType:u,filterKeys:n,defaultParams:o=[],showKeys:i,valueKey:s,tableDataType:r}=V.value;let v={wordbookId:t,autograph:l,wordbookType:u,fieldKeys:n,page:a};switch(r){case D:v.keyword=e;break;case J:n.length>0&&(v[n[0]]=e)}if(w(o)){const e=o.map((e=>e.value)).filter((e=>e.includes("${")));e.map((e=>e.match(/\$\{(.+?)\}/)[1])).forEach((e=>{const a=$.value.find((a=>a.columnName===e));a&&a.value&&a.value!==O.WHOLE&&(v[e]=a.value)}))}let c=await x(v,T);if(c){const{fieldList:e=[],rows:a=[],total:l=0}=c.map,t=a.map((e=>({...e,label:e[i[0]],value:`${e[i[0]]}&${e[s]}`}))),u=N(t);q.value&&t.unshift(JSON.parse(JSON.stringify(S))),W.value=null!=e?e:[],_.value=null!=t?t:[],M.value=u,H.value=l}}}catch(e){P.error(`异步数据源下拉框数据请求失败:${e}`),console.log(e)}finally{K.value=!1}}const ae=g((async e=>{await async function(e){F.value=e.trim(),U.value=1,await ee(F.value,U.value)}(e)}),300);async function le(){Object.keys(V.value).length>0&&T&&await ee("",U.value)}async function te(){A("update:value",null),await le()}function ue(e){F.value="",e&&(U.value=1,le())}function ne({option:e,handleClose:a}){if(R.value){const l=e.value;return p(y,{style:{padding:"0 8px"},closable:!0,onClose:e=>{if(e.stopPropagation(),a(),Array.isArray(L.value)&&L.value.length>0){const e=L.value,a=e.indexOf(l.value);if(a>-1){const l=e.splice(0,a);A("update:value",l.length>0?l:null)}}}},{default:()=>p("div",l.label)})}const l=e.value?JSON.parse(e.value):{label:""};return p("div",l.label)}return n((()=>{G.value||le()})),(e,a)=>(o(),i(s(m),r({ref_key:"selectDynamicRef",ref:E},s(I),{value:s(B),"onUpdate:value":a[0]||(a[0]=e=>v(B)?B.value=e:null),remote:"",loading:K.value,"render-tag":ne,"menu-props":Q,onSearch:s(ae),onClear:te,"onUpdate:show":ue}),{empty:c((()=>[f(k,r(s(I),{loading:K.value,dynamicOptionInfo:s(V),fieldTitleList:W.value,optionList:_.value,isMultiple:s(R),curPage:U.value,isLastPage:s(z),isShowWhole:s(q),onUpdateSelect:Y,onUpdatePage:Z}),null,16,["loading","dynamicOptionInfo","fieldTitleList","optionList","isMultiple","curPage","isLastPage","isShowWhole"])])),_:1},16,["value","loading","onSearch"]))}});export{A as default};
@@ -1 +1 @@
1
- import{defineComponent as e,ref as t,computed as i,withDirectives as a,openBlock as l,createElementBlock as n,normalizeStyle as o,createBlock as s,unref as c,Fragment as d,renderList as u,toDisplayString as r,createCommentVNode as p,createElementVNode as v,normalizeClass as m,withCtx as f,createTextVNode as y,createVNode as h}from"vue";import{NEmpty as g,NPopover as k,NButtonGroup as L,NButton as b,NIcon as E}from"naive-ui";import{vFlexibleResize as P}from"../../../../../../../shared/directive/flexibleResize.js";import{WidgetValEnums as x}from"../../../../types/enums.js";import{ArrowBack as M,ArrowForward as O}from"@vicons/ionicons5";import{WholeSelectObj as W}from"../../helpers/selectExtraMap.js";const _={key:0,class:"dynamic-header"},S={class:"dynamic-content"},j=["onClick"],w={key:0,class:"content"},B={class:"content"},C={class:"dynamic-pagination"};var z=e({__name:"index",props:{dynamicOptionInfo:{type:Object,default:()=>({})},fieldTitleList:{type:Array,default:()=>[]},optionList:{type:Array,default:()=>[]},isMultiple:{type:Boolean,default:!1},curPage:{type:Number,default:1},isLastPage:{type:Boolean,default:!1},isShowWhole:{type:Boolean,default:!1},loading:{type:Boolean,default:!1}},emits:["updateSelect","updatePage"],setup(e,{emit:z}){const H=e,A=t(200),I=i((()=>{var e,t;return null!=(t=null==(e=H.dynamicOptionInfo)?void 0:e.showKeys)?t:[]})),N=i((()=>I.value&&I.value.length>0?I.value.map((e=>{let t="";return H.fieldTitleList.forEach((i=>{i.columnName===e&&(t=i.title)})),t})):[])),R=i((()=>!H.optionList.filter((e=>e.label!=W.label)).length));function T(e){const t=H.curPage+e;z("updatePage",t)}function K({distance:e}){const t=A.value+e;A.value=Math.min(Math.max(t,200),1e3)}function V(){}return(t,i)=>a((l(),n("div",{class:"select-dynamic-options",style:o({minWidth:A.value+"px",position:"relative"})},[e.loading?(l(),s(c(g),{key:0,"show-icon":!1,description:"加载中..."})):(l(),n(d,{key:1},[c(R)?(l(),s(c(g),{key:0,description:"无数据"})):(l(),n(d,{key:1},[c(N)&&c(N).length>1?(l(),n("div",_,[(l(!0),n(d,null,u(c(N),(e=>(l(),n("span",{key:e,class:"name"},r(e),1)))),128))])):p("v-if",!0),v("ul",S,[(l(!0),n(d,null,u(e.optionList,(t=>(l(),n("li",{class:m(t.actived?"actived":""),key:t.value,onClick:e=>function(e){var t,i,a;if(!H.isMultiple||e.value===x.WHOLE)return null==(t=H.optionList)||t.forEach((e=>{e.actived=!1})),e.actived=!0,void z("updateSelect",[e.value]);null==(i=H.optionList)||i.forEach((e=>{e.value===x.WHOLE&&(e.actived=!1)})),e.actived?e.actived=!1:e.actived=!0;const l=null==(a=H.optionList)?void 0:a.filter((e=>e.actived)).map((e=>e.value));z("updateSelect",l)}(t)},[e.isShowWhole&&t.value===c(x).WHOLE?(l(),n("span",w,r(t.label),1)):(l(!0),n(d,{key:1},u(c(I),(e=>(l(),s(c(k),{key:e,trigger:"hover",to:"body",duration:0},{trigger:f((()=>[v("span",B,r(t[e]),1)])),default:f((()=>[y(" "+r(t[e]),1)])),_:2},1024)))),128))],10,j)))),128))]),v("div",C,[h(c(L),null,{default:f((()=>[h(c(b),{onClick:i[0]||(i[0]=e=>T(-1)),disabled:e.curPage<=1},{icon:f((()=>[h(c(E),{component:c(M),size:"16"},null,8,["component"])])),default:f((()=>[y(" 上一页 ")])),_:1},8,["disabled"]),h(c(b),{"icon-placement":"right",onClick:i[1]||(i[1]=e=>T(1)),disabled:e.isLastPage},{icon:f((()=>[h(c(E),{component:c(O),size:"16"},null,8,["component"])])),default:f((()=>[y(" 下一页 ")])),_:1},8,["disabled"])])),_:1})])],64))],64))],4)),[[c(P),{mode:"VR",onMove:K,onEnd:V}]])}});export{z as default};
1
+ import{defineComponent as e,ref as t,computed as i,withDirectives as a,openBlock as l,createElementBlock as n,normalizeStyle as o,createBlock as s,unref as c,Fragment as d,renderList as u,toDisplayString as r,createCommentVNode as p,createElementVNode as v,normalizeClass as m,withCtx as f,createTextVNode as y,createVNode as h}from"vue";import{NEmpty as g,NPopover as k,NButtonGroup as L,NButton as b,NIcon as E}from"naive-ui";import{vFlexibleResize as P}from"../../../../../../../shared/directive/flexibleResize.js";import{WidgetValEnums as x}from"../../../../types/enums.js";import{ArrowBack as M,ArrowForward as O}from"@vicons/ionicons5";import{WholeSelectObj as W}from"../../helpers/selectExtraMap.js";const _={key:0,class:"dynamic-header"},S={class:"dynamic-content"},j=["onClick"],w={key:0,class:"content"},B={class:"content"},C={class:"dynamic-pagination"};var z=e({__name:"index",props:{dynamicOptionInfo:{type:Object,default:()=>({})},fieldTitleList:{type:Array,default:()=>[]},optionList:{type:Array,default:()=>[]},isMultiple:{type:Boolean,default:!1},curPage:{type:Number,default:1},isLastPage:{type:Boolean,default:!1},isShowWhole:{type:Boolean,default:!1},loading:{type:Boolean,default:!1}},emits:["updateSelect","updatePage"],setup(e,{emit:z}){const H=e,A=t(200),I=i((()=>{var e,t;return null!=(t=null==(e=H.dynamicOptionInfo)?void 0:e.showKeys)?t:[]})),N=i((()=>I.value&&I.value.length>0?I.value.map((e=>{let t="";return H.fieldTitleList.forEach((i=>{i.columnName===e&&(t=i.title)})),t})):[])),R=i((()=>!H.optionList.filter((e=>e.label!=W.label)).length));function T(e){const t=H.curPage+e;z("updatePage",t)}function K({distance:e}){const t=A.value+e;A.value=Math.min(Math.max(t,200),1e3)}function V(){}return(t,i)=>a((l(),n("div",{class:"select-dynamic-options",style:o({minWidth:A.value+"px",position:"relative"})},[e.loading?(l(),s(c(g),{key:0,"show-icon":!1,description:"加载中..."})):(l(),n(d,{key:1},[c(R)?(l(),s(c(g),{key:0,description:"无数据"})):(l(),n(d,{key:1},[c(N)&&c(N).length>1?(l(),n("div",_,[(l(!0),n(d,null,u(c(N),(e=>(l(),n("span",{key:e,class:"name"},r(e),1)))),128))])):p("v-if",!0),v("ul",S,[(l(!0),n(d,null,u(e.optionList,(t=>(l(),n("li",{class:m(t.actived?"actived":""),key:t.value,onClick:e=>function(e){var t,i,a;if(!H.isMultiple||e.value===x.WHOLE)return null==(t=H.optionList)||t.forEach((e=>{e.actived=!1})),e.actived=!0,void z("updateSelect",[e.value]);null==(i=H.optionList)||i.forEach((e=>{e.value===x.WHOLE&&(e.actived=!1)})),e.actived?e.actived=!1:e.actived=!0;const l=null==(a=H.optionList)?void 0:a.filter((e=>e.actived)).map((e=>e.value));z("updateSelect",l)}(t)},[e.isShowWhole&&t.value===c(x).WHOLE?(l(),n("span",w,r(t.label),1)):(l(!0),n(d,{key:1},u(c(I),(e=>(l(),s(c(k),{key:e,trigger:"hover",duration:0},{trigger:f((()=>[v("span",B,r(t[e]),1)])),default:f((()=>[y(" "+r(t[e]),1)])),_:2},1024)))),128))],10,j)))),128))]),v("div",C,[h(c(L),null,{default:f((()=>[h(c(b),{onClick:i[0]||(i[0]=e=>T(-1)),disabled:e.curPage<=1},{icon:f((()=>[h(c(E),{component:c(M),size:"16"},null,8,["component"])])),default:f((()=>[y(" 上一页 ")])),_:1},8,["disabled"]),h(c(b),{"icon-placement":"right",onClick:i[1]||(i[1]=e=>T(1)),disabled:e.isLastPage},{icon:f((()=>[h(c(E),{component:c(O),size:"16"},null,8,["component"])])),default:f((()=>[y(" 下一页 ")])),_:1},8,["disabled"])])),_:1})])],64))],64))],4)),[[c(P),{mode:"VR",onMove:K,onEnd:V}]])}});export{z as default};
@@ -1 +1 @@
1
- var e="@cnhis-design-vue/shared",i="3.2.7-beta.11",s="index.ts",n={"naive-ui":"^2.30.0",vue:"^3.2.0"},a={"@vicons/ionicons5":"^0.12.0","lodash-es":"^4.17.21",moment:"^2.29.1","video.js":"^7.19.2","videojs-contrib-hls":"^5.15.0",viewerjs:"^1.10.5","xe-utils":"^3.5.4"},d={name:e,version:"3.2.7-beta.11",private:!0,main:"index.ts",peerDependencies:n,dependencies:a};export{d as default,a as dependencies,s as main,e as name,n as peerDependencies,i as version};
1
+ var e="@cnhis-design-vue/shared",i="3.2.7-beta.12",s="index.ts",n={"naive-ui":"^2.30.0",vue:"^3.2.0"},a={"@vicons/ionicons5":"^0.12.0","lodash-es":"^4.17.21",moment:"^2.29.1","video.js":"^7.19.2","videojs-contrib-hls":"^5.15.0",viewerjs:"^1.10.5","xe-utils":"^3.5.4"},d={name:e,version:"3.2.7-beta.12",private:!0,main:"index.ts",peerDependencies:n,dependencies:a};export{d as default,a as dependencies,s as main,e as name,n as peerDependencies,i as version};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cnhis-design-vue",
3
- "version": "3.2.7-beta.11",
3
+ "version": "3.2.7-beta.12",
4
4
  "license": "ISC",
5
5
  "module": "./es/components/index.js",
6
6
  "main": "./es/components/index.js",
@@ -72,5 +72,5 @@
72
72
  "iOS 7",
73
73
  "last 3 iOS versions"
74
74
  ],
75
- "gitHead": "ace4c20d60b689eb3d3c8793860bda603dffdc72"
75
+ "gitHead": "166987e73913ddabf5a2ab2d7e51d932d648743a"
76
76
  }