@qynpm/ui 1.0.46 → 1.0.47
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.
- package/CHANGELOG.md +8 -0
- package/dist/index.cjs +2 -2
- package/dist/index.mjs +3 -3
- package/dist/qy-legacy-selection-dialog/index.cjs +2 -2
- package/dist/qy-legacy-selection-dialog/index.mjs +2 -2
- package/dist/qy-selection-dialog/index.cjs +2 -2
- package/dist/qy-selection-dialog/index.mjs +2 -2
- package/dist/shared/{index-DwHM9eYc.cjs → index-BJZjXeoT.cjs} +1 -1
- package/dist/shared/index-BxGP8OkE.cjs +1 -0
- package/dist/shared/{index-PM5yNugz.mjs → index-CbSGTE1S.mjs} +211 -206
- package/dist/shared/{index-VtM0GmfU.mjs → index-DAU1WtID.mjs} +1 -1
- package/package.json +2 -1
- package/dist/shared/index-CZs0V4ze.cjs +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const Ve=require("element-plus"),e=require("vue"),u=require("element-plus"),J=require("./index.vue_vue_type_style_index_0_lang-DGV7FQlw.cjs"),Se=require("./index-C6G9eVku.cjs"),H=require("./index-5UAiwqdT.cjs"),ke=require("./index-CB0v25oB.cjs"),Be=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),be={class:"qy-selection-dialog"},xe={class:"qy-selection-dialog__main"},Ne={key:0,class:"qy-selection-dialog__selected"},qe={class:"qy-selection-dialog__selected-tags"},Ee={key:0,class:"qy-selection-dialog__selected-actions"},Pe={key:1,class:"qy-selection-dialog__search-row"},Ae={key:0,class:"qy-selection-dialog__toolbar"},Te={key:2,class:"qy-selection-dialog__pagination"},_e={class:"qy-selection-dialog__paste-actions"},Ke=e.defineComponent({name:"QySelectionDialog",inheritAttrs:!1,__name:"index",props:{modelValue:{default:()=>[]},open:{type:Boolean,default:!0},title:{default:"选择数据"},width:{default:"1200px"},fetchMethod:{type:Function,default:void 0},query:{type:Function,default:void 0},responseFormatter:{type:Function,default:void 0},selectionMode:{default:void 0},selection:{default:"single"},selected:{default:()=>[]},rowKey:{default:"id"},mainKey:{default:void 0},labelKey:{default:"name"},tagName:{default:void 0},searchKey:{default:"conditions"},queryParams:{default:()=>({})},category:{type:[Array,Function,Boolean],default:!1},categoryFormatter:{type:[Function,Array],default:void 0},categoryOptions:{default:()=>[]},categoryFetchMethod:{type:[Function,null],default:null},type:{type:[Array,Boolean],default:!1},typeOptions:{default:()=>[]},typeSelectionProps:{default:()=>({})},typeSelectProps:{default:()=>({})},tableProps:{default:()=>({})},showSelected:{type:Boolean,default:!0},showSearch:{type:Boolean,default:!0},showPagination:{type:Boolean,default:!0},showCopyPaste:{type:Boolean,default:!1},append:{type:Boolean,default:!1},showAppend:{type:Boolean,default:!1},pageSizes:{default:()=>[10,20,50,100]}},emits:["update:modelValue","update:open","error","selection-change","confirm","submit","cancel","close","append","loaded"],setup(d,{expose:G,emit:W}){const l=d,f=W,X=e.useAttrs(),R=e.useSlots(),E=e.getCurrentInstance(),p=e.ref(null),m=e.ref([]),c=e.ref([]);let k=!1,z=0;const C=e.ref([]),B=e.ref(!1);let b=0,P=0,x=!1;function A(){b+=1,P+=1,B.value=!1}e.watch(()=>l.open,A,{flush:"sync"}),e.onBeforeUnmount(()=>{x=!0,A()});function V(t){return!x&&l.open&&t===b}const T=e.ref(0),g=e.ref(!1),N=e.ref(""),r=e.reactive({category:[],type:"",page:1,pageSize:10,...l.searchKey?{[l.searchKey]:""}:{},...l.queryParams}),v=e.computed(()=>l.selectionMode?l.selectionMode:l.selection==="multi"?"multiple":l.selection),M=e.computed(()=>l.mainKey||l.rowKey),Y=e.computed(()=>l.tagName||l.labelKey),$=e.computed(()=>l.typeOptions.length?l.typeOptions:l.type||[]),Z=e.computed(()=>({...l.typeSelectionProps,...l.typeSelectProps})),_=e.computed(()=>l.tableProps||{}),ee=e.computed(()=>l.showSearch||!!X["search-visible"]),I=e.computed(()=>l.showAppend||l.append),te=e.computed(()=>I.value||!!R.toolbar||!!R.bar),D=e.computed(()=>l.fetchMethod||l.query),K=e.computed(()=>oe()?l.modelValue:l.selected);function oe(){const t=(E==null?void 0:E.vnode.props)||{};return Object.prototype.hasOwnProperty.call(t,"modelValue")||Object.prototype.hasOwnProperty.call(t,"model-value")||Object.prototype.hasOwnProperty.call(t,"onUpdate:modelValue")}e.watch([()=>l.modelValue,()=>l.selected,()=>l.open],()=>{l.open&&(c.value=w(K.value),S())},{immediate:!0,deep:!0}),e.watch([()=>l.categoryOptions,()=>l.category],t=>{if(Array.isArray(l.category)&&l.category.length){C.value=l.category;return}C.value=l.categoryOptions||[]},{immediate:!0}),e.watch(g,t=>{t||(N.value="")});async function le(){const t=++b;c.value=w(K.value);try{await ae(t)}catch(o){V(t)&&f("error",o);return}V(t)&&(await h(),V(t)&&S())}async function ae(t){const o=l.categoryFetchMethod||(typeof l.category=="function"?l.category:null);if(!o)return;const n=await o();V(t)&&(C.value=ce(n))}async function h(){if(!D.value||!l.open||x)return;const t=b,o=++P,n=()=>V(t)&&o===P;B.value=!0;try{const a=await D.value(ie());if(!n())return;const s=l.responseFormatter?await l.responseFormatter(a):a;if(!n())return;const{rows:L,total:Ce}=ue(s);return k=!0,m.value=L,T.value=Ce,f("loaded",L),S(),s}catch(a){n()&&f("error",a)}finally{n()&&(B.value=!1)}}function y(){return r.page=1,h()}function ne(){return r.page=1,h()}function O(){return Object.assign(r,{category:[],type:"",page:1,pageSize:r.pageSize,...l.searchKey?{[l.searchKey]:""}:{},...l.queryParams}),h()}function re(){f("append")}function ue(t){if(Array.isArray(t))return{rows:t,total:t.length};const o=t==null?void 0:t.data;if(Array.isArray(o))return{rows:o,total:(t==null?void 0:t.total)??o.length};const n=(t==null?void 0:t.records)||(t==null?void 0:t.rows)||(o==null?void 0:o.records)||[],a=(t==null?void 0:t.total)??(o==null?void 0:o.total)??n.length;return{rows:n,total:a}}function ce(t){const o=(t==null?void 0:t.data)??t;if(!Array.isArray(o))return[];if(typeof l.categoryFormatter=="function")return l.categoryFormatter(o);if(Array.isArray(l.categoryFormatter)){const[n,a]=l.categoryFormatter;return o.map(s=>({...s,label:s[n],value:s[a],children:Array.isArray(s.children)?U(s.children,n,a):s.children}))}return o}function U(t,o,n){return t.map(a=>({...a,label:a[o],value:a[n],children:Array.isArray(a.children)?U(a.children,o,n):a.children}))}function ie(){const t={...l.queryParams,...r};return l.searchKey&&(t[l.searchKey]=String(t[l.searchKey]||"").trim()),t.category=se(),t}function se(){if(Object.prototype.hasOwnProperty.call(l.queryParams,"category"))return l.queryParams.category;const t=r.category;return Array.isArray(t)?t:t?[t]:[]}function de(t){var o,n;if(v.value!=="none"){if(v.value==="single"){c.value=[t],(o=p.value)==null||o.setCurrentRow(t),q();return}pe(t)&&((n=p.value)==null||n.toggleRowSelection(t,!F(t)))}}function fe(t){if(v.value!=="multiple"||k)return;const o=new Set(m.value.map(i)),n=new Set(t.map(i));c.value=c.value.filter(a=>!o.has(i(a))||n.has(i(a))),t.filter(a=>o.has(i(a))).forEach(a=>{F(a)||c.value.push(a)}),q()}function ye(t){c.value=c.value.filter(o=>i(o)!==i(t)),S(),q()}function S(){const t=++z;k=!0,e.nextTick(()=>{if(t===z)try{if(!p.value||!l.open||x)return;if(v.value==="single"){const[n]=c.value,a=m.value.find(s=>n&&i(s)===i(n));p.value.setCurrentRow(a);return}if(v.value!=="multiple")return;const o=new Set(c.value.map(i));p.value.clearSelection(),m.value.forEach(n=>{var a;o.has(i(n))&&((a=p.value)==null||a.toggleRowSelection(n,!0))})}finally{k=!1}})}function pe(t){var n;const o=(n=_.value)==null?void 0:n.selectable;return typeof o=="function"?o(t)!==!1:!0}function F(t){return c.value.some(o=>i(o)===i(t))}function i(t){return j(t,M.value)}function me(t){return j(t,Y.value)??i(t)}function j(t,o){if(!(!t||!o))return o.split(".").reduce((n,a)=>n==null?void 0:n[a],t)}function q(){const t=w(c.value);f("selection-change",t)}function ge(){const t=w(c.value);f("update:modelValue",t),f("confirm",t),f("submit",{selection:t,rows:t,query:{...r}})}function ve(t){(t==="escape"||t==="overlay")&&Q()}function Q(){A(),c.value=w(K.value),f("update:open",!1),f("cancel"),f("close")}async function he(){var o;const t=JSON.stringify(c.value);await((o=navigator.clipboard)==null?void 0:o.writeText(t)),u.ElMessage.success("复制成功")}function we(){try{const t=JSON.parse(N.value);if(!Array.isArray(t)){u.ElMessage.error("粘贴内容需要是数组");return}t.forEach(o=>{F(o)||c.value.push(o)}),g.value=!1,q(),S()}catch(t){u.ElMessage.error(`粘贴错误: ${(t==null?void 0:t.message)||"内容格式错误"}`)}}function w(t=[]){return t.map(o=>({...o}))}return G({search:y,handleSearch:h,handleQuerySearch:y,resetSearch:O,getTableRef:()=>p.value,getTableData:()=>m.value,getSelection:()=>w(c.value)}),(t,o)=>{const n=Ve.ElLoadingDirective;return e.openBlock(),e.createBlock(J._sfc_main,{open:d.open,title:d.title,width:d.width,onOpened:le,onConfirm:ge,onCancel:Q,onClose:ve},{default:e.withCtx(()=>[e.createElementVNode("div",be,[e.renderSlot(t.$slots,"side",{},void 0,!0),e.createElementVNode("div",xe,[d.showSelected?(e.openBlock(),e.createElementBlock("div",Ne,[o[12]||(o[12]=e.createElementVNode("span",{class:"qy-selection-dialog__selected-label"},"已选项",-1)),e.createElementVNode("div",qe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,a=>(e.openBlock(),e.createBlock(H.Tag,{key:i(a),closable:"",class:"qy-selection-dialog__selected-tag",onClose:s=>ye(a)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(me(a)),1)]),_:2},1032,["onClose"]))),128)),c.value.length?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(H.Tag,{key:0,tone:"info"},{default:e.withCtx(()=>[...o[9]||(o[9]=[e.createTextVNode("无",-1)])]),_:1}))]),d.showCopyPaste?(e.openBlock(),e.createElementBlock("div",Ee,[e.createVNode(e.unref(u.ElButton),{size:"small",onClick:he},{default:e.withCtx(()=>[...o[10]||(o[10]=[e.createTextVNode("复制",-1)])]),_:1}),e.createVNode(e.unref(u.ElButton),{size:"small",onClick:o[0]||(o[0]=a=>g.value=!0)},{default:e.withCtx(()=>[...o[11]||(o[11]=[e.createTextVNode("粘贴",-1)])]),_:1})])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),ee.value?(e.openBlock(),e.createElementBlock("div",Pe,[e.createVNode(e.unref(u.ElForm),{class:"qy-selection-dialog__search",inline:"",model:r},{default:e.withCtx(()=>[e.renderSlot(t.$slots,"search",{query:r,search:y,reset:O},()=>[C.value.length?(e.openBlock(),e.createBlock(e.unref(u.ElFormItem),{key:0,label:"分类"},{default:e.withCtx(()=>[e.createVNode(ke.TreeSelect,{modelValue:r.category,"onUpdate:modelValue":o[1]||(o[1]=a=>r.category=a),class:"qy-selection-dialog__category",options:C.value,clearable:"",filterable:"","check-strictly":"","render-after-expand":!1,onChange:y},null,8,["modelValue","options"])]),_:1})):e.createCommentVNode("",!0),$.value.length?(e.openBlock(),e.createBlock(e.unref(u.ElFormItem),{key:1,label:"类型"},{default:e.withCtx(()=>[e.createVNode(Se.Select,e.mergeProps({modelValue:r.type,"onUpdate:modelValue":o[2]||(o[2]=a=>r.type=a),class:"qy-selection-dialog__type",options:$.value,placeholder:"请选择类型",clearable:""},Z.value,{onChange:y}),null,16,["modelValue","options"])]),_:1})):e.createCommentVNode("",!0),d.searchKey?(e.openBlock(),e.createBlock(e.unref(u.ElFormItem),{key:2,label:"搜索"},{default:e.withCtx(()=>[e.createVNode(e.unref(u.ElInput),{modelValue:r[d.searchKey],"onUpdate:modelValue":o[3]||(o[3]=a=>r[d.searchKey]=a),clearable:"",placeholder:"请输入",class:"qy-selection-dialog__search-input",onKeydown:e.withKeys(e.withModifiers(y,["prevent"]),["enter"])},null,8,["modelValue","onKeydown"])]),_:1})):e.createCommentVNode("",!0),e.createVNode(e.unref(u.ElFormItem),null,{default:e.withCtx(()=>[e.createVNode(e.unref(u.ElButton),{type:"primary",onClick:y},{default:e.withCtx(()=>[...o[13]||(o[13]=[e.createTextVNode("查询",-1)])]),_:1}),e.createVNode(e.unref(u.ElButton),{onClick:O},{default:e.withCtx(()=>[...o[14]||(o[14]=[e.createTextVNode("重置",-1)])]),_:1})]),_:1})],!0)]),_:3},8,["model"]),te.value?(e.openBlock(),e.createElementBlock("div",Ae,[I.value?(e.openBlock(),e.createBlock(e.unref(u.ElButton),{key:0,type:"primary",onClick:re},{default:e.withCtx(()=>[...o[15]||(o[15]=[e.createTextVNode(" 新增 ",-1)])]),_:1})):e.createCommentVNode("",!0),e.renderSlot(t.$slots,"toolbar",{query:r,search:y},void 0,!0),e.renderSlot(t.$slots,"bar",{query:r,search:y},void 0,!0)])):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.withDirectives((e.openBlock(),e.createBlock(e.unref(u.ElTable),e.mergeProps({ref_key:"tableRef",ref:p,data:m.value,"row-key":M.value,border:"","highlight-current-row":"","max-height":"550px"},_.value,{onSelectionChange:fe,onRowClick:de}),{default:e.withCtx(()=>{var a;return[v.value==="multiple"?(e.openBlock(),e.createBlock(e.unref(u.ElTableColumn),{key:0,type:"selection","reserve-selection":"",width:"42",selectable:(a=_.value)==null?void 0:a.selectable},null,8,["selectable"])):e.createCommentVNode("",!0),e.renderSlot(t.$slots,"columns",{},void 0,!0),e.renderSlot(t.$slots,"cols",{},void 0,!0)]}),_:3},16,["data","row-key"])),[[n,B.value]]),d.showPagination&&T.value>0?(e.openBlock(),e.createElementBlock("div",Te,[e.createVNode(e.unref(u.ElPagination),{"current-page":r.page,"onUpdate:currentPage":o[4]||(o[4]=a=>r.page=a),"page-size":r.pageSize,"onUpdate:pageSize":o[5]||(o[5]=a=>r.pageSize=a),total:T.value,"page-sizes":d.pageSizes,layout:"total, sizes, prev, pager, next, jumper",onSizeChange:ne,onCurrentChange:h},null,8,["current-page","page-size","total","page-sizes"])])):e.createCommentVNode("",!0)])]),e.createVNode(J._sfc_main,{open:g.value,title:"粘贴数据","show-footer":!1,width:"560px","onUpdate:open":o[8]||(o[8]=a=>g.value=a)},{default:e.withCtx(()=>[e.createVNode(e.unref(u.ElInput),{modelValue:N.value,"onUpdate:modelValue":o[6]||(o[6]=a=>N.value=a),type:"textarea",rows:8},null,8,["modelValue"]),e.createElementVNode("div",_e,[e.createVNode(e.unref(u.ElButton),{onClick:o[7]||(o[7]=a=>g.value=!1)},{default:e.withCtx(()=>[...o[16]||(o[16]=[e.createTextVNode("取消",-1)])]),_:1}),e.createVNode(e.unref(u.ElButton),{type:"primary",onClick:we},{default:e.withCtx(()=>[...o[17]||(o[17]=[e.createTextVNode("确认",-1)])]),_:1})])]),_:1},8,["open"])]),_:3},8,["open","title","width"])}}}),Oe=Be._export_sfc(Ke,[["__scopeId","data-v-125cb10b"]]);exports.Component=Oe;
|