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