adtec-hnyzfc-core-package 1.1.4 → 1.1.6

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.
Files changed (64) hide show
  1. package/dist/chunks/ElCopyTooltip.vue_vue_type_script_setup_true_lang-BaGdbtdl.js +1 -0
  2. package/dist/chunks/ElDescForm.vue_vue_type_style_index_0_lang-BWBYJdhP.js +1 -0
  3. package/dist/chunks/ElTitle.vue_vue_type_script_setup_true_lang-Q56tPEAu.js +1 -0
  4. package/dist/chunks/operationAuth.vue_vue_type_script_setup_true_lang-D1ZaiewR.js +1 -0
  5. package/dist/src/api/DocumentApi.d.ts +6 -2
  6. package/dist/src/api/DocumentApi.js +1 -1
  7. package/dist/src/components/ElCardList.vue.js +1 -1
  8. package/dist/src/components/ElDescForm/ElDescForm.vue.d.ts +6 -4
  9. package/dist/src/components/ElDescForm/ElDescForm.vue.js +1 -1
  10. package/dist/src/components/OperationAuth/operationAuth.vue.d.ts +2 -2
  11. package/dist/src/components/OperationAuth/operationAuth.vue.js +1 -1
  12. package/dist/src/components/Search/ElSearchInput.vue.d.ts +37 -0
  13. package/dist/src/components/Search/ElSearchInput.vue.js +2 -0
  14. package/dist/src/components/Title/ElTitle.vue.d.ts +2 -4
  15. package/dist/src/components/Title/ElTitle.vue.js +1 -1
  16. package/dist/src/components/business/comp.selectUser.vue.js +1 -1
  17. package/dist/src/components/business/comp.userForm.vue.js +1 -1
  18. package/dist/src/components/business/userSelectContent.vue.js +1 -1
  19. package/dist/src/components/tooltip/ElCopyTooltip.vue.d.ts +14 -0
  20. package/dist/src/components/tooltip/ElCopyTooltip.vue.js +1 -0
  21. package/dist/src/components/tooltip/src/tooltip.js +1 -1
  22. package/dist/src/components/upload/CustomElUpload.vue.js +1 -1
  23. package/dist/src/components/upload/FileView.vue.js +1 -1
  24. package/dist/src/components/upload/FileViewComponents.vue.d.ts +0 -1
  25. package/dist/src/components/upload/FileViewComponents.vue.js +1 -1
  26. package/dist/src/components/upload/OfficePreview.vue.d.ts +6 -5
  27. package/dist/src/components/upload/OfficePreview.vue.js +1 -1
  28. package/dist/src/components/upload/OfficePreviewHeaderBar.vue.d.ts +1 -1
  29. package/dist/src/components/upload/OfficePreviewHeaderBar.vue.js +1 -1
  30. package/dist/src/hooks/createDialogHooks.js +2 -2
  31. package/dist/src/mixin/globalMixin.js +1 -1
  32. package/dist/src/packages/index.d.ts +84 -1
  33. package/dist/src/packages/index.js +1 -1
  34. package/dist/src/plugins/plugins.js +1 -1
  35. package/dist/src/plugins/renderDialog.js +1 -1
  36. package/dist/src/utils/AxiosConfig.js +1 -1
  37. package/dist/src/utils/iconfontRuntime.d.ts +2 -0
  38. package/dist/src/utils/iconfontRuntime.js +1 -1
  39. package/dist/src/utils/modules.js +2 -2
  40. package/dist/src/utils/request.js +1 -1
  41. package/dist/styles/core.css +1 -1
  42. package/dist/styles/element-ui.css +1 -1
  43. package/dist/vite/umoIntegration.d.ts +1 -1
  44. package/dist/vite/umoIntegration.js +1 -1
  45. package/package.json +3 -6
  46. package/dist/chunks/ElDescForm.vue_vue_type_style_index_0_lang-BFA5653m.js +0 -1
  47. package/dist/chunks/ElTitle.vue_vue_type_script_setup_true_lang-B0oGtxWu.js +0 -1
  48. package/dist/chunks/operationAuth.vue_vue_type_script_setup_true_lang-C4oxU5Qi.js +0 -1
  49. package/dist/src/components/autoToolTip/ElAutoToolTip.vue.d.ts +0 -25
  50. package/dist/src/components/autoToolTip/ElAutoToolTip.vue.js +0 -1
  51. package/dist/src/components/upload/DocxJsViewer.vue.d.ts +0 -32
  52. package/dist/src/components/upload/DocxJsViewer.vue.js +0 -1
  53. package/dist/src/components/upload/ExcelJsViewer.vue.d.ts +0 -33
  54. package/dist/src/components/upload/ExcelJsViewer.vue.js +0 -1
  55. package/dist/src/components/upload/OfficePreviewToolbar.vue.d.ts +0 -41
  56. package/dist/src/components/upload/OfficePreviewToolbar.vue.js +0 -1
  57. package/dist/src/components/upload/PdfJsViewer.vue.d.ts +0 -49
  58. package/dist/src/components/upload/PdfJsViewer.vue.js +0 -1
  59. package/dist/src/utils/docxPreviewUtil.d.ts +0 -10
  60. package/dist/src/utils/docxPreviewUtil.js +0 -1
  61. package/dist/src/utils/excelPreviewUtil.d.ts +0 -41
  62. package/dist/src/utils/excelPreviewUtil.js +0 -1
  63. package/dist/src/utils/pdfSearchUtil.d.ts +0 -30
  64. package/dist/src/utils/pdfSearchUtil.js +0 -1
@@ -0,0 +1 @@
1
+ import{defineComponent as D,useAttrs as F,useSlots as G,ref as u,computed as n,onMounted as J,onUpdated as K,onBeforeUnmount as Q,openBlock as m,createBlock as X,unref as S,normalizeProps as Y,guardReactiveProps as Z,withCtx as k,createElementVNode as f,normalizeClass as z,renderSlot as E,createTextVNode as B,toDisplayString as _,createCommentVNode as ee,createElementBlock as H,Fragment as te,withModifiers as oe,nextTick as h}from"vue";import{ElTooltip as re}from"element-plus";const ne={class:"adtec-copy-tooltip__body"},le=["innerHTML"],se={class:"adtec-copy-tooltip__copy-bar"},ue=D({name:"ElCopyTooltip",inheritAttrs:!1,__name:"ElCopyTooltip",setup(ie){const o=F(),x=G(),T=u(),p=u(),d=u(!1),v=u(!1),g=u(!1);let i,c;const l=n(()=>{const e=o.content;return e==null?"":String(e)}),j=n(()=>o.rawContent===!0||o["raw-content"]===!0),L=n(()=>!!x.content||l.value.trim().length>0),a=n(()=>{const e=o["overflow-only"]??o.overflowOnly;if(e!==void 0)return e!==!1&&e!=="false"}),b=n(()=>a.value===void 0?v.value:a.value),C=n(()=>a.value===void 0?v.value:a.value),M=()=>{const e=o["virtual-triggering"]??o.virtualTriggering;return e===!0||e===""},O=e=>String(e??"").replace(/\s+/g," ").trim(),V=e=>e.matches('button, a, input, textarea, select, [role="button"], svg, .el-icon')?!0:!!e.querySelector('button, a, input, textarea, select, [role="button"], svg, .el-icon'),W=e=>e.scrollWidth>e.clientWidth+1||e.scrollHeight>e.clientHeight+1?!0:Array.from(e.querySelectorAll("*")).some(t=>t.scrollWidth>t.clientWidth+1||t.scrollHeight>t.clientHeight+1),q=e=>{if(M()||V(e))return!1;const t=O(e.innerText||e.textContent);if(!t)return!1;const r=O(l.value);return r&&r!==t?!1:Array.from(e.querySelectorAll("*")).every(y=>y.children.length===0)},s=()=>{const e=p.value;if(!e)return;const t=a.value,r=q(e),y=t===void 0?r:t,w=t===void 0?r:t;if(v.value!==r){v.value=r,h(s);return}if(b.value!==y){h(s);return}const A=w&&W(e);g.value!==A&&(g.value=A)},R=()=>{h(()=>{s(),!c&&p.value&&typeof ResizeObserver<"u"&&(c=new ResizeObserver(s),c.observe(p.value))})},N=e=>Array.isArray(e)?e.filter(Boolean).map(t=>String(t)).join(" "):e&&typeof e=="object"?Object.entries(e).filter(([,t])=>t).map(([t])=>t).join(" "):e?String(e):"",P=n(()=>{const e=o["popper-class"]??o.popperClass;return["adtec-copy-tooltip-popper",N(e)].filter(Boolean).join(" ")}),U=n(()=>{const{"popper-class":e,popperClass:t,"overflow-only":r,overflowOnly:y,...w}=o;return{...w,effect:o.effect??"light","popper-class":P.value,disabled:o.disabled===!0||o.disabled===""||!L.value||C.value&&!g.value}});J(()=>{R(),window.addEventListener("resize",s)}),K(R),Q(()=>{c?.disconnect(),c=void 0,window.removeEventListener("resize",s),i&&window.clearTimeout(i)});const I=async e=>{if(!e)return!1;try{if(navigator.clipboard?.writeText)return await navigator.clipboard.writeText(e),!0}catch{}const t=document.createElement("textarea");t.value=e,t.setAttribute("readonly",""),t.style.position="fixed",t.style.top="0",t.style.left="-9999px",t.style.opacity="0",document.body.appendChild(t),t.select();let r=!1;try{r=document.execCommand("copy")}catch{r=!1}return document.body.removeChild(t),r},$=async()=>{const e=(T.value?.innerText||l.value).trim();await I(e)&&(d.value=!0,i&&window.clearTimeout(i),i=window.setTimeout(()=>{d.value=!1},1500))};return(e,t)=>(m(),X(S(re),Y(Z(U.value)),{content:k(()=>[f("div",ne,[f("div",{ref_key:"contentRef",ref:T,class:"adtec-copy-tooltip__content"},[E(e.$slots,"content",{},()=>[j.value?(m(),H("span",{key:0,innerHTML:l.value},null,8,le)):(m(),H(te,{key:1},[B(_(l.value),1)],64))])],512),f("div",se,[f("button",{type:"button",class:z(["adtec-copy-tooltip__copy-btn",{"is-copied":d.value}]),title:"复制内容",onClick:oe($,["stop"])},_(d.value?"已复制":"复制"),3)])])]),default:k(()=>[f("span",{ref_key:"referenceRef",ref:p,class:z(["adtec-copy-tooltip__trigger",{"adtec-copy-tooltip__trigger--text":b.value,"adtec-copy-tooltip__trigger--overflow":C.value}])},[S(x).default?E(e.$slots,"default",{},()=>[B(_(l.value),1)],void 0,0):ee("v-if",!0)],2)]),_:3},16))}});export{ue as _};
@@ -0,0 +1 @@
1
+ import{defineComponent as pe,ref as de,reactive as me,onMounted as ie,onUpdated as ye,onBeforeUnmount as he,computed as N,resolveComponent as u,openBlock as s,createElementBlock as g,Fragment as S,createCommentVNode as x,createVNode as M,withKeys as ve,withCtx as i,createBlock as d,renderList as B,normalizeClass as j,createElementVNode as P,toDisplayString as F,mergeProps as h,createTextVNode as q,renderSlot as $,nextTick as I}from"vue";const be=["onMouseenter"],_e={key:11,class:"el-desc-form__readonly-slot"},W="/",ge=pe({__name:"ElDescForm",props:{model:{},fields:{},rules:{default:()=>({})},column:{default:4},border:{type:Boolean,default:!0},readonly:{type:Boolean,default:!1},title:{}},setup(a,{expose:G}){const v=a,k=de(),V=new Map,w=new Map,R=me({}),U=t=>{const o=V.get(t),l=!!o&&o.scrollWidth>o.clientWidth;R[t]!==l&&(R[t]=l)},z=()=>{I(()=>{V.forEach((t,o)=>U(o))})},H=(t,o)=>{const l=o;if(V.get(t)===l){l&&U(t);return}if(w.get(t)?.disconnect(),w.delete(t),delete R[t],!l){V.delete(t);return}if(V.set(t,l),typeof ResizeObserver<"u"){const c=new ResizeObserver(()=>U(t));c.observe(l),w.set(t,c)}I(()=>U(t))};ie(z),ye(z),he(()=>{w.forEach(t=>t.disconnect()),w.clear(),V.clear()});const y=N(()=>Math.min(4,Math.max(1,v.column||4))),J=t=>{const o=k.value?.$el;if(!o)return;const l=Array.from(o.querySelectorAll("input, textarea")).filter(m=>!m.disabled&&m.type!=="checkbox"&&m.type!=="radio"&&m.type!=="hidden"&&(m.offsetParent!==null||m.getClientRects().length>0));if(!l.length)return;const r=document.activeElement;if(!r||!l.includes(r))return;const c=l.indexOf(r),p=t.shiftKey?-1:1,_=(c+p+l.length)%l.length;t.preventDefault();const f=l[_];f.focus();try{const m=f.value.length;f.setSelectionRange(m,m)}catch{}},D=N(()=>{const t={...v.rules};for(const o of v.fields)o.rules?.length&&(t[o.prop]=[...t[o.prop]||[],...o.rules]);return t}),Q=N(()=>{const t=[];let o=y.value,l=-1;for(const r of v.fields){if(!(typeof r.show=="function"?r.show(v.model):r.show!==!1))continue;if(r.type==="textarea"){if(o<y.value&&l>=0){const m=t[l],E=Math.min(Math.max(1,m.span??1),y.value);m.span=Math.min(E+o,y.value)}const f=K(r);t.push(f),l=t.length-1,o=y.value;continue}const p=K(r);t.push(p),l=t.length-1;const _=Math.min(Math.max(1,p.span??1),y.value);o=_<o?o-_:y.value}return t}),T=t=>{const o=t.props||{};return v.readonly===!0||t.readonly===!0||o.readonly===!0},C=(t,o)=>t===o||String(t)===String(o),A=(t,o)=>{if(!t?.length)return;const l=t.find(r=>C(r.value,o));return l===void 0?void 0:String(l.label)},O=(t,o)=>{if(t?.length)for(const l of t){if(C(l.value,o))return String(l.label??l.name??"");if(l.children?.length){const r=O(l.children,o);if(r)return r}}},X=(t,o)=>{let l=t||[];const r=[];for(const c of o){const p=l.find(_=>C(_.value,c));if(!p)break;r.push(String(p.label??p.name??"")),l=p.children||[]}return r.join(" / ")},b=t=>t.trim()||W,L=t=>{const o=v.model?.[t.prop];if(o==null||typeof o=="string"&&o.trim()===""||Array.isArray(o)&&o.length===0)return W;const l=t.props||{},r=t.options;if(t.type==="select")return Array.isArray(o)?b(o.map(c=>A(r,c)??String(c)).filter(Boolean).join("、")):b(A(r,o)??String(o));if(t.type==="radio")return b(A(r,o)??String(o));if(t.type==="checkbox"){const c=Array.isArray(o)?o:[o];return b(c.map(p=>A(r,p)??String(p)).filter(Boolean).join("、"))}if(t.type==="tree-select"){const c=r||l.data;return Array.isArray(o)?b(o.map(p=>O(c,p)??String(p)).filter(Boolean).join("、")):b(O(c,o)??String(o))}if(t.type==="cascader"){const c=X(r,Array.isArray(o)?o:[o]);return b(c||(Array.isArray(o)?o.join(" / "):String(o)))}return t.type==="switch"?o===!0||o===1||o==="1"?l["active-text"]||"是":l["inactive-text"]||"否":b(String(o))},Y=t=>!!D.value[t.prop]?.some(l=>l.required),K=t=>{const o=l=>typeof l=="function"?l(v.model):l;return{...t,span:t.type==="textarea"?y.value:Math.min(Math.max(1,t.span??1),y.value),label:o(t.label),tip:t.tip?o(t.tip):void 0,options:t.options?o(t.options):void 0,placeholder:t.placeholder?o(t.placeholder):void 0,props:t.props?o(t.props):void 0}};return G({validate:()=>k.value?.validate(),resetFields:()=>k.value?.resetFields(),clearValidate:()=>k.value?.clearValidate()}),(t,o)=>{const l=u("el-title"),r=u("el-icons"),c=u("el-tooltip"),p=u("el-input"),_=u("el-input-number"),f=u("el-option"),m=u("el-select"),E=u("el-date-picker"),Z=u("el-switch"),ee=u("el-radio"),te=u("el-radio-group"),oe=u("el-checkbox"),le=u("el-checkbox-group"),ne=u("el-tree-select"),re=u("el-cascader"),ae=u("el-form-item"),se=u("el-descriptions-item"),ce=u("el-descriptions"),ue=u("el-form");return s(),g(S,null,[x(" 关闭 validate-on-rule-change:避免规则/字段异步变化时自动整表校验,导致打开弹窗瞬间闪现必填提示 "),M(ue,{ref_key:"formRef",ref:k,class:"el-desc-form",model:a.model,rules:D.value,"validate-on-rule-change":!1,onKeydown:ve(J,["tab"])},{default:i(()=>[x(" 内容块二级标题:弹窗/抽屉内表单区块统一用 el-desc-form title 声明式渲染,避免各页面手写 "),a.title?(s(),d(l,{key:0,level:"1",title:a.title,style:{"border-bottom":"var(--border)","margin-bottom":"8px"}},null,8,["title"])):x("v-if",!0),M(ce,{direction:"vertical",column:y.value,border:a.border},{default:i(()=>[(s(!0),g(S,null,B(Q.value,e=>(s(),d(se,{key:e.prop,label:e.label||void 0,span:e.span},{label:i(()=>[e.label?(s(),g("span",{key:0,class:j(["el-desc-form__label",{"el-desc-form__label--required":Y(e)}])},[q(F(e.label)+" ",1),e.tip?(s(),d(c,{key:0,content:e.tip,placement:"top","popper-class":"el-desc-form-tip-popper"},{default:i(()=>[M(r,{"model-value":"adtec-info",class:"el-desc-form__label-tip"})]),_:1},8,["content"])):x("v-if",!0)],2)):x("v-if",!0)]),default:i(()=>[M(ae,{prop:T(e)?void 0:e.prop,class:j({"el-desc-form__form-item--multiline":e.type==="textarea"}),style:{"margin-bottom":"0"},"hide-required-asterisk":""},{default:i(()=>[x(" 只读模式:统一处理文本溢出,只有内容超出单元格宽度时才打开 tooltip "),T(e)&&e.type&&e.type!=="slot"?(s(),d(c,{key:0,content:L(e),disabled:!R[e.prop],effect:"light",placement:"top","popper-class":"el-desc-form-readonly-tip-popper"},{default:i(()=>[P("span",{class:j(["el-desc-form__readonly-text",{"el-desc-form__readonly-text--multiline":e.type==="textarea"}]),onMouseenter:n=>U(e.prop)},[P("span",{ref_for:!0,ref:n=>H(e.prop,n),class:"el-desc-form__readonly-text-content"},F(L(e)),513)],42,be)]),_:2},1032,["content","disabled"])):e.type==="input"?(s(),d(p,h({key:1,modelValue:a.model[e.prop],"onUpdate:modelValue":n=>a.model[e.prop]=n},{ref_for:!0},e.props,{placeholder:e.placeholder}),null,16,["modelValue","onUpdate:modelValue","placeholder"])):e.type==="textarea"?(s(),d(p,h({key:2,modelValue:a.model[e.prop],"onUpdate:modelValue":n=>a.model[e.prop]=n,type:"textarea",autosize:{minRows:2,maxRows:4}},{ref_for:!0},e.props,{placeholder:e.placeholder}),null,16,["modelValue","onUpdate:modelValue","placeholder"])):e.type==="number"?(s(),d(_,h({key:3,modelValue:a.model[e.prop],"onUpdate:modelValue":n=>a.model[e.prop]=n},{ref_for:!0},e.props),null,16,["modelValue","onUpdate:modelValue"])):e.type==="select"?(s(),d(m,h({key:4,modelValue:a.model[e.prop],"onUpdate:modelValue":n=>a.model[e.prop]=n},{ref_for:!0},e.props,{placeholder:e.placeholder,clearable:""}),{default:i(()=>[(s(!0),g(S,null,B(e.options,n=>(s(),d(f,{key:n.value,label:n.label,value:n.value,disabled:n.disabled},null,8,["label","value","disabled"]))),128))]),_:2},1040,["modelValue","onUpdate:modelValue","placeholder"])):e.type==="date"?(s(),d(E,h({key:5,modelValue:a.model[e.prop],"onUpdate:modelValue":n=>a.model[e.prop]=n},{ref_for:!0},e.props,{type:e.props?.type||"date",placeholder:e.placeholder,style:{width:"100%"}}),null,16,["modelValue","onUpdate:modelValue","type","placeholder"])):e.type==="switch"?(s(),d(Z,h({key:6,modelValue:a.model[e.prop],"onUpdate:modelValue":n=>a.model[e.prop]=n},{ref_for:!0},e.props),null,16,["modelValue","onUpdate:modelValue"])):e.type==="radio"?(s(),d(te,h({key:7,modelValue:a.model[e.prop],"onUpdate:modelValue":n=>a.model[e.prop]=n},{ref_for:!0},e.props),{default:i(()=>[(s(!0),g(S,null,B(e.options,n=>(s(),d(ee,{key:n.value,value:n.value},{default:i(()=>[q(F(n.label),1)]),_:2},1032,["value"]))),128))]),_:2},1040,["modelValue","onUpdate:modelValue"])):e.type==="checkbox"?(s(),d(le,h({key:8,modelValue:a.model[e.prop],"onUpdate:modelValue":n=>a.model[e.prop]=n},{ref_for:!0},e.props),{default:i(()=>[(s(!0),g(S,null,B(e.options,n=>(s(),d(oe,{key:n.value,value:n.value},{default:i(()=>[q(F(n.label),1)]),_:2},1032,["value"]))),128))]),_:2},1040,["modelValue","onUpdate:modelValue"])):e.type==="tree-select"?(s(),d(ne,h({key:9,modelValue:a.model[e.prop],"onUpdate:modelValue":n=>a.model[e.prop]=n},{ref_for:!0},e.props,{placeholder:e.placeholder,style:{width:"100%"}}),null,16,["modelValue","onUpdate:modelValue","placeholder"])):e.type==="cascader"?(s(),d(re,h({key:10,modelValue:a.model[e.prop],"onUpdate:modelValue":n=>a.model[e.prop]=n,options:e.options},{ref_for:!0},e.props,{style:{width:"100%"}}),null,16,["modelValue","onUpdate:modelValue","options"])):T(e)?(s(),g("div",_e,[$(t.$slots,e.slot||e.prop,{field:e,model:a.model})])):$(t.$slots,e.slot||e.prop,{field:e,model:a.model},void 0,void 0,12)]),_:2},1032,["prop","class"])]),_:2},1032,["label","span"]))),128))]),_:3},8,["column","border"])]),_:3},8,["model","rules"])],2112)}}});export{ge as _};
@@ -0,0 +1 @@
1
+ import{defineComponent as u,resolveComponent as g,openBlock as n,createBlock as h,withCtx as l,createVNode as e,createCommentVNode as o,createElementBlock as f,Fragment as s,createTextVNode as c,toDisplayString as d,renderSlot as r}from"vue";import m from"../src/components/icon/ElIcons.vue.js";import{_ as p}from"./ElFlex.vue_vue_type_script_setup_true_lang-D3H7QH-5.js";const k=u({__name:"ElTitle",props:{title:{type:String,default:"标题"},level:{type:String,default:"0"}},setup(t){return(i,y)=>{const a=g("el-text");return n(),h(p,{align:"center",height:"44px",style:{background:"#ffffff",overflow:"hidden"}},{default:l(()=>[e(p,{align:"center",style:{overflow:"hidden"}},{default:l(()=>[o(" 一级标题:16px(页面主标题) "),t.level+""=="0"?(n(),f(s,{key:0},[e(m,{"model-value":"adtec-onetitle",style:{color:"var(--el-color-primary)","font-size":"16px"}}),e(a,{style:{"font-size":"16px","line-height":"16px","font-weight":"500"}},{default:l(()=>[c(d(t.title),1)]),_:1}),r(i.$slots,"titleRight")],64)):o("v-if",!0),o(" 二级标题:14px(区域子标题,样式同用户详情标题栏) "),t.level+""=="1"?(n(),f(s,{key:1},[e(m,{"model-value":"adtec-twotitle",style:{color:"var(--el-color-primary)","font-size":"14px"}}),e(a,{style:{"font-size":"14px","line-height":"14px","font-weight":"500"}},{default:l(()=>[c(d(t.title),1)]),_:1}),r(i.$slots,"titleRight")],64)):o("v-if",!0)]),_:3}),r(i.$slots,"default")]),_:3})}}});export{k as _};
@@ -0,0 +1 @@
1
+ import{defineComponent as R,useSlots as z,computed as o,resolveComponent as v,openBlock as l,createBlock as c,normalizeStyle as S,withCtx as T,createElementBlock as M,createElementVNode as w,resolveDynamicComponent as P,createCommentVNode as b,toDisplayString as V,renderSlot as J}from"vue";import{useRoute as U}from"vue-router";import{userInfoStore as Y}from"../src/stores/userInfoStore.js";const Z={key:0,class:"icon","aria-hidden":"true"},$=["href"],G=R({__name:"operationAuth",props:{operCode:{},menuCode:{},noConfig:{type:Boolean},loadType:{},icon:{},remark:{},alias:{},color:{}},setup(x){const A=Y(),d=z(),t=x,I=U(),L=o(()=>Array.isArray(t.operCode)?t.operCode:[t.operCode]),O=o(()=>t.menuCode?A.getUserInfo.menuList?.find(n=>n.code===t.menuCode)?.operation||[]:I.meta?.sysMenuData?.operation||[]),r=o(()=>O.value.find(e=>L.value.includes(e.code))),s=o(()=>!!r.value),p=o(()=>{const e=t.remark??r.value?.remark;if(!e)return{alias:"",color:""};try{const n=JSON.parse(e);return{alias:n?.aliases?.alias1||n?.aliases?.alias||"",color:n?.color||n?.icon?.color||n?.text?.color||""}}catch{return{alias:"",color:""}}}),a=o(()=>t.icon??r.value?.icon??""),m=o(()=>t.alias||p.value.alias||r.value?.name||""),i=o(()=>t.color||p.value.color||""),E=o(()=>a.value.indexOf("adtec-")===0),f={primary:"var(--el-color-primary)",success:"var(--el-color-success)",info:"var(--el-color-info)",warning:"var(--el-color-warning)",danger:"var(--el-color-danger)",error:"var(--el-color-danger)"},y=o(()=>{const e=i.value.trim().toLowerCase();return e!==""&&e in f}),C=o(()=>y.value?i.value.trim().toLowerCase():void 0),_=o(()=>{if(y.value)return;const e=i.value.trim();if(e)return{color:f[e.toLowerCase()]||e}}),k=o(()=>d.default?.()[0]?.props?.onClick),g=o(()=>t.loadType??r.value?.loadType??""),B=o(()=>{const e=d.default?.()[0];if(!e)return!1;const n=e.type||{},u=String(n?.name||n?.__name||"");return/^elicon/i.test(u.replace(/[^a-zA-Z]/g,""))}),h=o(()=>t.noConfig||B.value?"slot":g.value==="20"?"icon":g.value==="30"?"iconText":"slot");return(e,n)=>{const u=v("el-icon-btn"),N=v("el-icon"),D=v("el-button");return s.value&&h.value==="icon"?(l(),c(u,{key:0,"model-value":a.value||"adtec-tips",tip:m.value,type:C.value,style:S(_.value),onClick:k.value},null,8,["model-value","tip","type","style","onClick"])):s.value&&h.value==="iconText"?(l(),c(D,{key:1,type:C.value,style:S(_.value),onClick:k.value},{default:T(()=>[a.value?(l(),c(N,{key:0},{default:T(()=>[E.value?(l(),M("svg",Z,[w("use",{href:"#"+a.value},null,8,$)])):(l(),c(P(a.value),{key:1}))]),_:1})):b("v-if",!0),w("span",null,V(m.value),1)]),_:1},8,["type","style","onClick"])):s.value?J(e.$slots,"default",{},void 0,void 0,2):b("v-if",!0)}}});export{G as _};
@@ -8,7 +8,11 @@ declare const _default: {
8
8
  delSysUploadFiles(ids: string[]): Promise<Record<string, string>>;
9
9
  /** 公开注册:将附件 createBy 绑定为注册手机号 */
10
10
  updateFilesCreateBy(ids: string[], createBy: string): Promise<Record<string, string>>;
11
- /** Word(.doc / .docx)转 PDF 流,仅供预览,下载仍用原文件 */
12
- previewWordAsPdf(id: string): Promise<Blob>;
11
+ /** 创建仅供当前浏览器内嵌使用的短期预览会话。 */
12
+ createPreviewSession(id: string): Promise<{
13
+ url: string;
14
+ }>;
15
+ /** 通过鉴权接口下载原始附件,不向前端暴露存储地址。 */
16
+ downloadFile(id: string): Promise<Blob>;
13
17
  };
14
18
  export default _default;
@@ -1 +1 @@
1
- import o from"../utils/request.js";import i from"../utils/AxiosConfig.js";import"axios";import"uuid";import"../utils/encrypt.js";import"jsencrypt";import"../utils/buildUploadHeaders.js";import"ts-md5";import"../utils/behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"element-plus";import"../utils/frontendBus.js";const t="/api/doc/",c={getUpLoadFilesVoById(e){return o.get(t+"getUpLoadFilesVoById/"+e)},getUpLoadFilesByBussinessIds(e,s){const r=s===void 0?t+"getUpLoadFilesByBussinessIds":t+"getUpLoadFilesByBussinessIds/"+s;return o.post(r,e)},delSysUploadFile(e){return o.get(t+"delSysUploadFile/"+e)},getBusinessDocuments(e,s){return o.get(t+"getBusinessDocuments/"+e+"/"+s)},fileStatusConfirmation(e){return o.post(t+"fileStatusConfirmation",e)},delSysUploadFiles(e){return o.post(t+"delSysUploadFiles",e)},updateFilesCreateBy(e,s){return o.post(t+"updateFilesCreateBy",{ids:e,createBy:s})},previewWordAsPdf(e){return i({url:t+"preview/wordToPdf",method:"get",params:{id:e},responseType:"blob"}).then(s=>s.data)}};export{c as default};
1
+ import o from"../utils/request.js";import r from"../utils/AxiosConfig.js";import"axios";import"uuid";import"../utils/encrypt.js";import"jsencrypt";import"../utils/buildUploadHeaders.js";import"ts-md5";import"../utils/behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"element-plus";import"../utils/frontendBus.js";const t="/api/doc/",f={getUpLoadFilesVoById(e){return o.get(t+"getUpLoadFilesVoById/"+e)},getUpLoadFilesByBussinessIds(e,s){const i=s===void 0?t+"getUpLoadFilesByBussinessIds":t+"getUpLoadFilesByBussinessIds/"+s;return o.post(i,e)},delSysUploadFile(e){return o.get(t+"delSysUploadFile/"+e)},getBusinessDocuments(e,s){return o.get(t+"getBusinessDocuments/"+e+"/"+s)},fileStatusConfirmation(e){return o.post(t+"fileStatusConfirmation",e)},delSysUploadFiles(e){return o.post(t+"delSysUploadFiles",e)},updateFilesCreateBy(e,s){return o.post(t+"updateFilesCreateBy",{ids:e,createBy:s})},createPreviewSession(e){return o.post(t+"preview/session/"+e)},downloadFile(e){return r({url:t+"preview/download/"+e,method:"get",responseType:"blob"}).then(s=>s.data)}};export{f as default};
@@ -1 +1 @@
1
- import{defineComponent as C,useModel as V,useSlots as w,ref as E,resolveComponent as r,openBlock as l,createBlock as d,withCtx as t,createElementBlock as _,createElementVNode as M,createCommentVNode as N,Fragment as S,renderList as B,normalizeClass as L,unref as $,createVNode as c,createTextVNode as z,toDisplayString as D,renderSlot as m,mergeModels as f}from"vue";import{_ as F}from"../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";const I={key:0,class:"el-table__empty-block"},R=C({__name:"ElCardList",props:f({label:{}},{modelValue:{},modelModifiers:{}}),emits:f(["click"],["update:modelValue"]),setup(n,{expose:b,emit:v}){const x=v,a=V(n,"modelValue"),g=w(),i=E(),u=o=>{i.value=o,x("click",o)};return b({handleClick:u}),(o,p)=>{const h=r("el-text"),k=r("el-auto-tool-tip"),s=r("el-flex"),y=r("el-scrollbars");return l(),d(y,{noresize:!0,style:{width:"100%"}},{default:t(()=>[!a.value||(a.value?.length??0)==0?(l(),_("div",I,[...p[0]||(p[0]=[M("span",{class:"el-table__empty-text"},"暂无数据",-1)])])):N("v-if",!0),(l(!0),_(S,null,B(a.value,e=>(l(),d(s,{onClick:T=>u(e),vertical:!0,class:L(e===i.value?"seMeetingSel":""),style:{border:"1px solid #ddd","border-radius":"var(--el-border-radius-base)","margin-bottom":"8px",padding:"8px","padding-top":"4px",cursor:"pointer",overflow:"hidden"}},{default:t(()=>[$(g).header?m(o.$slots,"header",{data:e},void 0,!0,1):(l(),d(s,{key:0,height:"40px",align:"center",style:{"border-bottom":"var(--border)"}},{default:t(()=>[c(s,{align:"center"},{default:t(()=>[c(k,{content:e[n.label],width:"100%"},{content:t(()=>[c(h,{type:"primary",style:{"font-weight":"bold",cursor:"pointer !important"}},{default:t(()=>[z(D(e[n.label]),1)]),_:2},1024)]),_:2},1032,["content"])]),_:2},1024)]),_:2},1024)),m(o.$slots,"content",{data:e},void 0,!0)]),_:2},1032,["onClick","class"]))),256))]),_:3})}}}),A=F(R,[["__scopeId","data-v-194b91fe"]]);export{A as default};
1
+ import{defineComponent as C,useModel as V,useSlots as w,ref as E,resolveComponent as r,openBlock as l,createBlock as d,withCtx as t,createElementBlock as m,createElementVNode as M,createCommentVNode as N,Fragment as S,renderList as B,normalizeClass as L,unref as $,createVNode as c,createTextVNode as z,toDisplayString as D,renderSlot as _,mergeModels as f}from"vue";import{_ as F}from"../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";const I={key:0,class:"el-table__empty-block"},R=C({__name:"ElCardList",props:f({label:{}},{modelValue:{},modelModifiers:{}}),emits:f(["click"],["update:modelValue"]),setup(n,{expose:b,emit:v}){const x=v,a=V(n,"modelValue"),g=w(),i=E(),u=o=>{i.value=o,x("click",o)};return b({handleClick:u}),(o,p)=>{const k=r("el-text"),y=r("el-tooltip"),s=r("el-flex"),h=r("el-scrollbars");return l(),d(h,{noresize:!0,style:{width:"100%"}},{default:t(()=>[!a.value||(a.value?.length??0)==0?(l(),m("div",I,[...p[0]||(p[0]=[M("span",{class:"el-table__empty-text"},"暂无数据",-1)])])):N("v-if",!0),(l(!0),m(S,null,B(a.value,e=>(l(),d(s,{onClick:T=>u(e),vertical:!0,class:L(e===i.value?"seMeetingSel":""),style:{border:"1px solid #ddd","border-radius":"var(--el-border-radius-base)","margin-bottom":"8px",padding:"8px","padding-top":"4px",cursor:"pointer",overflow:"hidden"}},{default:t(()=>[$(g).header?_(o.$slots,"header",{data:e},void 0,!0,1):(l(),d(s,{key:0,height:"40px",align:"center",style:{"border-bottom":"var(--border)"}},{default:t(()=>[c(s,{align:"center"},{default:t(()=>[c(y,{content:e[n.label],placement:"top"},{default:t(()=>[c(k,{type:"primary",style:{"font-weight":"bold",cursor:"pointer !important"}},{default:t(()=>[z(D(e[n.label]),1)]),_:2},1024)]),_:2},1032,["content"])]),_:2},1024)]),_:2},1024)),_(o.$slots,"content",{data:e},void 0,!0)]),_:2},1032,["onClick","class"]))),256))]),_:3})}}}),A=F(R,[["__scopeId","data-v-b2c47e6c"]]);export{A as default};
@@ -17,18 +17,20 @@ type __VLS_Props = {
17
17
  border?: boolean;
18
18
  /** 只读模式:所有字段不渲染编辑框,改为文本展示 */
19
19
  readonly?: boolean;
20
+ /** 内容块二级标题(弹窗/抽屉内表单区块统一使用) */
21
+ title?: string;
20
22
  };
21
- declare var __VLS_88: string, __VLS_89: {
23
+ declare var __VLS_92: string, __VLS_93: {
22
24
  field: ResolvedDescFormField;
23
25
  model: Record<string, any>;
24
- }, __VLS_92: string, __VLS_93: {
26
+ }, __VLS_96: string, __VLS_97: {
25
27
  field: ResolvedDescFormField;
26
28
  model: Record<string, any>;
27
29
  };
28
30
  type __VLS_Slots = {} & {
29
- [K in NonNullable<typeof __VLS_88>]?: (props: typeof __VLS_89) => any;
30
- } & {
31
31
  [K in NonNullable<typeof __VLS_92>]?: (props: typeof __VLS_93) => any;
32
+ } & {
33
+ [K in NonNullable<typeof __VLS_96>]?: (props: typeof __VLS_97) => any;
32
34
  };
33
35
  declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {
34
36
  validate: () => any;
@@ -1 +1 @@
1
- import{_ as m}from"../../../chunks/ElDescForm.vue_vue_type_style_index_0_lang-BFA5653m.js";import"vue";export{m as default};
1
+ import{_ as m}from"../../../chunks/ElDescForm.vue_vue_type_style_index_0_lang-BWBYJdhP.js";import"vue";export{m as default};
@@ -14,9 +14,9 @@ type __VLS_Props = {
14
14
  /** 按钮级覆盖:图标/文字颜色 */
15
15
  color?: string;
16
16
  };
17
- declare var __VLS_19: {};
17
+ declare var __VLS_27: {};
18
18
  type __VLS_Slots = {} & {
19
- default?: (props: typeof __VLS_19) => any;
19
+ default?: (props: typeof __VLS_27) => any;
20
20
  };
21
21
  declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
22
22
  declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
@@ -1 +1 @@
1
- import{_ as o}from"../../../chunks/operationAuth.vue_vue_type_script_setup_true_lang-C4oxU5Qi.js";import"vue";import"vue-router";import"../../stores/userInfoStore.js";import"pinia";import"../../utils/userSessionStorage.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";export{o as default};
1
+ import{_ as o}from"../../../chunks/operationAuth.vue_vue_type_script_setup_true_lang-D1ZaiewR.js";import"vue";import"vue-router";import"../../stores/userInfoStore.js";import"pinia";import"../../utils/userSessionStorage.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";export{o as default};
@@ -0,0 +1,37 @@
1
+ type __VLS_Props = {
2
+ actionIcon?: string;
3
+ actionTip?: string;
4
+ showAction?: boolean;
5
+ /** 是否内置左侧搜索栏统一样式容器(48px 高、上下 0、左右 8px),默认 true */
6
+ panel?: boolean;
7
+ };
8
+ type __VLS_PublicProps = __VLS_Props & {
9
+ modelValue?: string | number | undefined;
10
+ };
11
+ declare var __VLS_15: {};
12
+ type __VLS_Slots = {} & {
13
+ append?: (props: typeof __VLS_15) => any;
14
+ };
15
+ declare const __VLS_component: import("vue").DefineComponent<__VLS_PublicProps, {
16
+ focus: () => any;
17
+ blur: () => any;
18
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
19
+ "update:modelValue": (value: string | number | undefined) => any;
20
+ } & {
21
+ search: () => any;
22
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
23
+ "onUpdate:modelValue"?: ((value: string | number | undefined) => any) | undefined;
24
+ onSearch?: (() => any) | undefined;
25
+ }>, {
26
+ actionIcon: string;
27
+ actionTip: string;
28
+ showAction: boolean;
29
+ panel: boolean;
30
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
31
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
32
+ export default _default;
33
+ type __VLS_WithSlots<T, S> = T & {
34
+ new (): {
35
+ $slots: S;
36
+ };
37
+ };
@@ -0,0 +1,2 @@
1
+ import{defineComponent as E,useAttrs as k,ref as A,useModel as B,computed as s,resolveComponent as u,openBlock as d,createElementBlock as p,Fragment as M,createCommentVNode as m,createVNode as t,normalizeStyle as f,withCtx as h,createElementVNode as K,normalizeClass as N,mergeProps as T,withKeys as z,withModifiers as v,renderSlot as R,mergeModels as y}from"vue";import q from"../icon/ElIcons.vue.js";import{_ as F}from"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"@vueuse/core";const P={key:0,class:"el-search-input__append"},U=E({name:"ElSearchInput",inheritAttrs:!1,__name:"ElSearchInput",props:y({actionIcon:{default:"adtec-query"},actionTip:{default:"查询"},showAction:{type:Boolean,default:!0},panel:{type:Boolean,default:!0}},{modelValue:{default:""},modelModifiers:{}}),emits:y(["search"],["update:modelValue"]),setup(e,{expose:_,emit:x}){const V=x,l=k(),o=A(),c=B(e,"modelValue"),b=s(()=>l.class),g=s(()=>l.style),w=s(()=>{const{class:i,style:n,...a}=l;return a}),r=()=>{V("search")};return _({focus:()=>o.value?.focus?.(),blur:()=>o.value?.blur?.()}),(i,n)=>{const a=u("el-input"),C=u("el-button"),I=u("el-flex");return d(),p(M,null,[m(` 左侧列表搜索栏统一样式容器(参考系统字典管理):48px 高、上下 0、左右 8px。
2
+ panel=false 时退化为裸输入框,由调用方自行布局 `),t(I,{align:"center",height:e.panel?"48px":void 0,style:f(e.panel?{padding:"0px 8px"}:void 0)},{default:h(()=>[K("div",{class:N(["el-search-input",b.value]),style:f(g.value)},[t(a,T({ref_key:"inputRef",ref:o,modelValue:c.value,"onUpdate:modelValue":n[0]||(n[0]=S=>c.value=S)},w.value,{onKeydown:z(v(r,["stop"]),["enter"])}),null,16,["modelValue","onKeydown"]),e.showAction?(d(),p("div",P,[R(i.$slots,"append",{},()=>[t(C,{class:"el-search-input__default-action","native-type":"button","aria-label":e.actionTip,title:e.actionTip,onClick:v(r,["stop"])},{default:h(()=>[t(q,{"model-value":e.actionIcon},null,8,["model-value"])]),_:1},8,["aria-label","title"])],!0)])):m("v-if",!0)],6)]),_:3},8,["height","style"])],2112)}}}),H=F(U,[["__scopeId","data-v-fa9b492e"]]);export{H as default};
@@ -1,12 +1,10 @@
1
- declare var __VLS_15: {}, __VLS_24: {}, __VLS_33: {}, __VLS_35: {};
1
+ declare var __VLS_15: {}, __VLS_24: {}, __VLS_26: {};
2
2
  type __VLS_Slots = {} & {
3
3
  titleRight?: (props: typeof __VLS_15) => any;
4
4
  } & {
5
5
  titleRight?: (props: typeof __VLS_24) => any;
6
6
  } & {
7
- titleRight?: (props: typeof __VLS_33) => any;
8
- } & {
9
- default?: (props: typeof __VLS_35) => any;
7
+ default?: (props: typeof __VLS_26) => any;
10
8
  };
11
9
  declare const __VLS_component: import("vue").DefineComponent<globalThis.ExtractPropTypes<{
12
10
  /**
@@ -1 +1 @@
1
- import{_ as o}from"../../../chunks/ElTitle.vue_vue_type_script_setup_true_lang-B0oGtxWu.js";import"vue";import"../icon/ElIcons.vue.js";import"@vueuse/core";import"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"../../../chunks/ElFlex.vue_vue_type_script_setup_true_lang-D3H7QH-5.js";import"../../interface/enum/FlexEnum.js";export{o as default};
1
+ import{_ as o}from"../../../chunks/ElTitle.vue_vue_type_script_setup_true_lang-Q56tPEAu.js";import"vue";import"../icon/ElIcons.vue.js";import"@vueuse/core";import"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"../../../chunks/ElFlex.vue_vue_type_script_setup_true_lang-D3H7QH-5.js";import"../../interface/enum/FlexEnum.js";export{o as default};
@@ -1 +1 @@
1
- import{_ as o}from"../../../chunks/comp.selectUser.vue_vue_type_script_setup_true_lang-BQDO393q.js";import"vue";import"@vueuse/core";import"../../api/EmployeeInfoApi.js";import"../../utils/request.js";import"../../utils/AxiosConfig.js";import"axios";import"uuid";import"../../utils/encrypt.js";import"jsencrypt";import"../../utils/buildUploadHeaders.js";import"ts-md5";import"../../utils/behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"element-plus";import"../../utils/frontendBus.js";import"./comp.userForm.vue.js";import"../../api/DeptInfoApi.js";import"../../hooks/useResetRefHooks.js";import"../../utils/FrameworkUtils.js";import"xlsx-js-style";import"../../config/vxeSelectColumn.js";import"../../../chunks/ElTagDisplay.vue_vue_type_script_setup_true_lang-Cbb3x-dA.js";import"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";export{o as default};
1
+ import{_ as o}from"../../../chunks/comp.selectUser.vue_vue_type_script_setup_true_lang-BQDO393q.js";import"vue";import"@vueuse/core";import"../../api/EmployeeInfoApi.js";import"../../utils/request.js";import"../../utils/AxiosConfig.js";import"axios";import"uuid";import"../../utils/encrypt.js";import"jsencrypt";import"../../utils/buildUploadHeaders.js";import"ts-md5";import"../../utils/behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"element-plus";import"../../utils/frontendBus.js";import"./comp.userForm.vue.js";import"../../api/DeptInfoApi.js";import"../../hooks/useResetRefHooks.js";import"../../utils/FrameworkUtils.js";import"xlsx-js-style";import"../../config/vxeSelectColumn.js";import"../../../chunks/ElTagDisplay.vue_vue_type_script_setup_true_lang-Cbb3x-dA.js";/* empty css */import"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";export{o as default};
@@ -1 +1 @@
1
- import{defineComponent as Y,ref as f,reactive as Z,resolveComponent as u,resolveDirective as ee,withDirectives as te,openBlock as C,createBlock as E,withCtx as v,createVNode as c,unref as a,createElementVNode as le,createElementBlock as oe,Fragment as ae,renderList as re,createTextVNode as se,toDisplayString as ie,mergeProps as ne,nextTick as N}from"vue";import"@vueuse/core";import{ElTooltip as de,ElMessage as ce}from"element-plus";import ue from"../../api/DeptInfoApi.js";import pe from"../../api/EmployeeInfoApi.js";import{useResetRefHooks as k}from"../../hooks/useResetRefHooks.js";import I from"../../utils/FrameworkUtils.js";import{checkboxColumn as me,radioColumn as fe}from"../../config/vxeSelectColumn.js";import{_ as ve}from"../../../chunks/ElTagDisplay.vue_vue_type_script_setup_true_lang-Cbb3x-dA.js";import{_ as ge}from"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"../../utils/request.js";import"../../utils/AxiosConfig.js";import"axios";import"uuid";import"../../utils/encrypt.js";import"jsencrypt";import"../../utils/buildUploadHeaders.js";import"ts-md5";import"../../utils/behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"../../utils/frontendBus.js";import"xlsx-js-style";const he={style:{"padding-top":"4px"}},_e=Y({__name:"comp.userForm",props:{fetchData:{type:Function,default:pe.getMdmEmployeeListByIds},defalutQueryParam:{default:{disabled:!1,deptIds:[]}},multiple:{type:Boolean,default:!0},showOrgInfo:{type:Boolean,default:!0}},emits:["success"],setup(O,{expose:P,emit:D}){const d=O,[l,z]=k({current:1,size:I.getPageSize(),...d.defalutQueryParam}),T=D,h=f([]),y=f(!1),R=f(),m=f(),g=f(""),_=f(),b=f(),[r,U]=k([]),[p,B]=k({records:[],total:0,pages:0,current:1}),L=[d.multiple?{...me,checkboxConfig:{checkMethod:({row:e})=>e.isValid==="1"}}:fe,{align:"left",field:"name",title:"用户姓名",width:120,showOverflow:!0},{align:"left",field:"postName",title:"岗位名称",width:120,showOverflow:!0},{align:"left",field:"deptName",title:"所属部门",showOverflow:!0},...d.showOrgInfo?[{align:"left",field:"orgName",title:"所属组织",width:220,showOverflow:!0}]:[]],Q=Z({border:!0,height:"100%",columnConfig:{resizable:!1},radioConfig:{highlight:!0,trigger:"row"},checkboxConfig:{highlight:!0,range:!1},columns:L}),S=({row:e,rowIndex:t})=>{if(e.isValid!=="1")return"table-row-disabled"},F=async()=>{try{h.value=await ue.getMdmOrgDeptTree({})}catch(e){I.messageError(e)}},M=e=>{e.id===g.value?(_.value=void 0,g.value="",m.value?.clearRadioRow()):(g.value=e.id,_.value=e,m.value?.setRadioRow(e))},q=({row:e,checked:t})=>{e&&(t?r.value.some(o=>o.code===e.code)||r.value.push(e):r.value=r.value.filter(o=>o.code!==e.code))},A=({checked:e})=>{const t=p.value?.records??[];if(e){const o=r.value.map(s=>s.code);t.forEach(s=>{o.includes(s.code)||r.value.push(s)})}else{const o=t.map(s=>s.code);r.value=r.value.filter(s=>!o.includes(s.code))}},J=({row:e})=>{d.multiple||M(e)},V=async()=>{y.value=!0,h.value&&h.value.length||await F(),U(),B(),R.value?.resetFields(),b.value?.setCheckedKeys([]),z(),l.value={...l.value,...d.defalutQueryParam},N(()=>{b.value?.setCheckedKeys(l.value.deptIds??[]),w()})},w=async()=>{try{y.value=!0;let e=[],t;l.value.deptIds&&l.value.deptIds.length&&l.value.deptIds.forEach(i=>{h.value.findIndex(x=>x.id===i)>=0?t=i:e.push(i)});let o=JSON.parse(JSON.stringify(l.value));o.deptIds=e,o.orgId=t,p.value=await d.fetchData(o);const s=r.value.map(i=>i.code);N(()=>{p.value.records.forEach(i=>{s.includes(i.code)&&(d.multiple?m.value?.setCheckboxRow(i,!0):i.id===g.value&&m.value?.setRadioRow(i))})}),l.value.current=p.value.current}catch(e){I.messageError(e)}finally{y.value=!1}},K=e=>{r.value=r.value.filter(o=>o.code!==e.code);const t=p.value.records.find(o=>o.code===e.code);t&&(d.multiple?m.value?.setCheckboxRow(t,!1):t.id===g.value&&(_.value=void 0,g.value="",m.value?.clearRadioRow()))};return P({confirm:async()=>{!r.value.length&&d.multiple||!_.value&&!d.multiple?ce.warning("未选择需要新增的人员!"):T("success",d.multiple?r.value:_.value)},resetQuery:V}),(e,t)=>{const o=u("el-tree-select"),s=u("el-form-item"),i=u("el-input"),x=u("el-form"),$=u("el-search"),H=u("el-title"),j=u("vxe-grid"),G=u("el-pagination"),W=u("el-flex"),X=ee("loading");return te((C(),E(W,{vertical:!0},{default:v(()=>[c($,{class:"border",style:{"border-bottom":"var(--border)"},onReset:V,onSearch:w},{default:v(()=>[c(x,{ref_key:"queryRef",ref:R,inline:!0,model:a(l),style:{width:"100%",height:"100%"},labelPosition:"top",size:"default"},{default:v(()=>[c(s,{style:{width:"220px"},label:"所属部门",prop:"deptIds"},{default:v(()=>[c(o,{ref_key:"ref_tree",ref:b,"check-strictly":"",disabled:a(l).disabled,modelValue:a(l).deptIds,"onUpdate:modelValue":t[0]||(t[0]=n=>a(l).deptIds=n),data:h.value,filterable:"",multiple:"","default-expand-all":!0,props:{label:"name",children:"children",disabled:n=>n.isValid!=="1"||a(l).disabled},"render-after-expand":!1,clearable:"","collapse-tags":"","collapse-tags-tooltip":"","node-key":"id",placeholder:"请选择所属部门"},null,8,["disabled","modelValue","data","props"])]),_:1}),c(s,{style:{width:"220px"},label:"人员编码或名称",prop:"codeorname"},{default:v(()=>[c(i,{modelValue:a(l).codeorname,"onUpdate:modelValue":t[1]||(t[1]=n=>a(l).codeorname=n),clearable:"",placeholder:"请输入人员编码或名称"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1}),c(H,{class:"border",style:{"border-bottom":"var(--border)"},title:"人员列表"}),le("div",he,[(C(!0),oe(ae,null,re(a(r),n=>(C(),E(ve,{key:n.code,closable:"",style:{margin:"2px"},onClose:be=>K(n)},{default:v(()=>[c(a(de),{placement:"top",content:n.deptName},{default:v(()=>[se(ie(n.name),1)]),_:2},1032,["content"])]),_:2},1032,["onClose"]))),128))]),c(j,ne({ref_key:"gridRef",ref:m},Q,{data:a(p)?.records,"row-class-name":S,style:{width:"100%","margin-top":"8px"},onCheckboxChange:q,onCheckboxAll:A,onCellClick:J}),null,16,["data"]),c(G,{"current-page":a(l).current,"onUpdate:currentPage":t[2]||(t[2]=n=>a(l).current=n),background:!0,"page-size":a(l).size,total:a(p)?.total?a(p)?.total:0,style:{"margin-top":"5px","margin-bottom":"5px"},onCurrentChange:w},null,8,["current-page","page-size","total"])]),_:1})),[[X,y.value]])}}}),Je=ge(_e,[["__scopeId","data-v-289d3154"]]);export{Je as default};
1
+ import{defineComponent as Z,ref as f,reactive as ee,resolveComponent as c,resolveDirective as te,withDirectives as oe,openBlock as C,createBlock as E,withCtx as v,createVNode as u,unref as r,createElementVNode as le,createElementBlock as ae,Fragment as re,renderList as se,createTextVNode as ie,toDisplayString as ne,mergeProps as de,nextTick as N}from"vue";import"@vueuse/core";import{ElMessage as ce}from"element-plus";import ue from"../../api/DeptInfoApi.js";import pe from"../../api/EmployeeInfoApi.js";import{useResetRefHooks as k}from"../../hooks/useResetRefHooks.js";import I from"../../utils/FrameworkUtils.js";import{checkboxColumn as me,radioColumn as fe}from"../../config/vxeSelectColumn.js";import{_ as ve}from"../../../chunks/ElTagDisplay.vue_vue_type_script_setup_true_lang-Cbb3x-dA.js";/* empty css */import{_ as ge}from"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"../../utils/request.js";import"../../utils/AxiosConfig.js";import"axios";import"uuid";import"../../utils/encrypt.js";import"jsencrypt";import"../../utils/buildUploadHeaders.js";import"ts-md5";import"../../utils/behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"../../utils/frontendBus.js";import"xlsx-js-style";const he={style:{"padding-top":"4px"}},_e=Z({__name:"comp.userForm",props:{fetchData:{type:Function,default:pe.getMdmEmployeeListByIds},defalutQueryParam:{default:{disabled:!1,deptIds:[]}},multiple:{type:Boolean,default:!0},showOrgInfo:{type:Boolean,default:!0}},emits:["success"],setup(O,{expose:P,emit:D}){const d=O,[o,z]=k({current:1,size:I.getPageSize(),...d.defalutQueryParam}),U=D,h=f([]),y=f(!1),R=f(),m=f(),g=f(""),_=f(),b=f(),[a,B]=k([]),[p,L]=k({records:[],total:0,pages:0,current:1}),Q=[d.multiple?{...me,checkboxConfig:{checkMethod:({row:e})=>e.isValid==="1"}}:fe,{align:"left",field:"name",title:"用户姓名",width:120,showOverflow:!0},{align:"left",field:"postName",title:"岗位名称",width:120,showOverflow:!0},{align:"left",field:"deptName",title:"所属部门",showOverflow:!0},...d.showOrgInfo?[{align:"left",field:"orgName",title:"所属组织",width:220,showOverflow:!0}]:[]],S=ee({border:!0,height:"100%",columnConfig:{resizable:!1},radioConfig:{highlight:!0,trigger:"row"},checkboxConfig:{highlight:!0,range:!1},columns:Q}),T=({row:e,rowIndex:t})=>{if(e.isValid!=="1")return"table-row-disabled"},F=async()=>{try{h.value=await ue.getMdmOrgDeptTree({})}catch(e){I.messageError(e)}},M=e=>{e.id===g.value?(_.value=void 0,g.value="",m.value?.clearRadioRow()):(g.value=e.id,_.value=e,m.value?.setRadioRow(e))},q=({row:e,checked:t})=>{e&&(t?a.value.some(l=>l.code===e.code)||a.value.push(e):a.value=a.value.filter(l=>l.code!==e.code))},A=({checked:e})=>{const t=p.value?.records??[];if(e){const l=a.value.map(s=>s.code);t.forEach(s=>{l.includes(s.code)||a.value.push(s)})}else{const l=t.map(s=>s.code);a.value=a.value.filter(s=>!l.includes(s.code))}},J=({row:e})=>{d.multiple||M(e)},V=async()=>{y.value=!0,h.value&&h.value.length||await F(),B(),L(),R.value?.resetFields(),b.value?.setCheckedKeys([]),z(),o.value={...o.value,...d.defalutQueryParam},N(()=>{b.value?.setCheckedKeys(o.value.deptIds??[]),w()})},w=async()=>{try{y.value=!0;let e=[],t;o.value.deptIds&&o.value.deptIds.length&&o.value.deptIds.forEach(i=>{h.value.findIndex(x=>x.id===i)>=0?t=i:e.push(i)});let l=JSON.parse(JSON.stringify(o.value));l.deptIds=e,l.orgId=t,p.value=await d.fetchData(l);const s=a.value.map(i=>i.code);N(()=>{p.value.records.forEach(i=>{s.includes(i.code)&&(d.multiple?m.value?.setCheckboxRow(i,!0):i.id===g.value&&m.value?.setRadioRow(i))})}),o.value.current=p.value.current}catch(e){I.messageError(e)}finally{y.value=!1}},K=e=>{a.value=a.value.filter(l=>l.code!==e.code);const t=p.value.records.find(l=>l.code===e.code);t&&(d.multiple?m.value?.setCheckboxRow(t,!1):t.id===g.value&&(_.value=void 0,g.value="",m.value?.clearRadioRow()))};return P({confirm:async()=>{!a.value.length&&d.multiple||!_.value&&!d.multiple?ce.warning("未选择需要新增的人员!"):U("success",d.multiple?a.value:_.value)},resetQuery:V}),(e,t)=>{const l=c("el-tree-select"),s=c("el-form-item"),i=c("el-input"),x=c("el-form"),$=c("el-search"),H=c("el-title"),j=c("el-tooltip"),G=c("vxe-grid"),W=c("el-pagination"),X=c("el-flex"),Y=te("loading");return oe((C(),E(X,{vertical:!0},{default:v(()=>[u($,{class:"border",style:{"border-bottom":"var(--border)"},onReset:V,onSearch:w},{default:v(()=>[u(x,{ref_key:"queryRef",ref:R,inline:!0,model:r(o),style:{width:"100%",height:"100%"},labelPosition:"top",size:"default"},{default:v(()=>[u(s,{style:{width:"220px"},label:"所属部门",prop:"deptIds"},{default:v(()=>[u(l,{ref_key:"ref_tree",ref:b,"check-strictly":"",disabled:r(o).disabled,modelValue:r(o).deptIds,"onUpdate:modelValue":t[0]||(t[0]=n=>r(o).deptIds=n),data:h.value,filterable:"",multiple:"","default-expand-all":!0,props:{label:"name",children:"children",disabled:n=>n.isValid!=="1"||r(o).disabled},"render-after-expand":!1,clearable:"","collapse-tags":"","collapse-tags-tooltip":"","node-key":"id",placeholder:"请选择所属部门"},null,8,["disabled","modelValue","data","props"])]),_:1}),u(s,{style:{width:"220px"},label:"人员编码或名称",prop:"codeorname"},{default:v(()=>[u(i,{modelValue:r(o).codeorname,"onUpdate:modelValue":t[1]||(t[1]=n=>r(o).codeorname=n),clearable:"",placeholder:"请输入人员编码或名称"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1}),u(H,{class:"border",style:{"border-bottom":"var(--border)"},title:"人员列表"}),le("div",he,[(C(!0),ae(re,null,se(r(a),n=>(C(),E(ve,{key:n.code,closable:"",style:{margin:"2px"},onClose:be=>K(n)},{default:v(()=>[u(j,{placement:"top",content:n.deptName},{default:v(()=>[ie(ne(n.name),1)]),_:2},1032,["content"])]),_:2},1032,["onClose"]))),128))]),u(G,de({ref_key:"gridRef",ref:m},S,{data:r(p)?.records,"row-class-name":T,style:{width:"100%","margin-top":"8px"},onCheckboxChange:q,onCheckboxAll:A,onCellClick:J}),null,16,["data"]),u(W,{"current-page":r(o).current,"onUpdate:currentPage":t[2]||(t[2]=n=>r(o).current=n),background:!0,"page-size":r(o).size,total:r(p)?.total?r(p)?.total:0,style:{"margin-top":"5px","margin-bottom":"5px"},onCurrentChange:w},null,8,["current-page","page-size","total"])]),_:1})),[[Y,y.value]])}}}),Ke=ge(_e,[["__scopeId","data-v-2e6ec8c3"]]);export{Ke as default};
@@ -1 +1 @@
1
- import{defineComponent as G,ref as m,shallowRef as O,onMounted as P,resolveComponent as p,resolveDirective as Q,withDirectives as W,openBlock as f,createBlock as h,withCtx as a,createVNode as n,createCommentVNode as L,normalizeStyle as M,createTextVNode as k,toDisplayString as I,createElementBlock as T,Fragment as J,renderList as X}from"vue";import{watchDebounced as Z}from"@vueuse/core";import ee from"../../api/BasicApi.js";import w from"../../api/SysUserApi.js";import"element-plus";import te from"../../utils/FrameworkUtils.js";import{_ as re}from"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"../../utils/request.js";import"../../utils/AxiosConfig.js";import"axios";import"uuid";import"../../utils/encrypt.js";import"jsencrypt";import"../../utils/buildUploadHeaders.js";import"ts-md5";import"../../utils/behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"../../utils/frontendBus.js";import"xlsx-js-style";const le=G({__name:"userSelectContent",props:{selectedUserIds:{type:Array,default:()=>[]},roleId:{type:String,default:""},multiple:{type:Boolean,default:!1},includeExternal:{type:Boolean,default:!1},onConfirm:{type:Function,default:void 0}},emits:["success"],setup(V,{expose:H,emit:R}){const U=m(!1),C=O([]),c=m([]),B=m([]),b=m([]),v=m(),_=m("");let E=new Map,D=!1;const y=V,Y=R;Z(_,l=>{v.value?.filter(l.trim())},{debounce:200,maxWait:500});const $=(l,e)=>{if(!l)return!0;const t=l.toLocaleLowerCase();return String(e.name??"").toLocaleLowerCase().includes(t)||String(e.code??"").toLocaleLowerCase().includes(t)};function z(l){const e=c.value.findIndex(t=>t.id===l.id);if(e!==-1){c.value.splice(e,1);const t=c.value.map(r=>r.id);v.value?.setCheckedKeys(t)}}const A=async()=>{b.value=[];let l=y.selectedUserIds;y.roleId&&(l=(await w.getSysRoleUserByRoleId(y.roleId)||[]).map(t=>t.sysUserInfoId).filter(Boolean)),l.length&&(c.value=await w.getInitUserListComp(l),c.value.forEach(e=>{e.id&&b.value.push(e.id)}))},N=(l,e,t)=>{e.id&&l.push({id:e.id,code:e.loginName,name:e.userName,parentId:t,type:"YH",sex:e.sex})},F=l=>{const e=new Map;return E=new Map,l.forEach(t=>{if(t.id&&E.set(t.id,t),!t.mdmDeptId)return;const r=e.get(t.mdmDeptId);r?r.push(t):e.set(t.mdmDeptId,[t])}),e},S=async()=>{if(!D){D=!0,U.value=!0,c.value=[],C.value=[],_.value="";try{const l=y.includeExternal?w.getSysUserInfoUserSelectForTransfer():w.getSysUserInfoUserSelectComp(),[e,t]=await Promise.all([ee.getMdmOrgDeptTree(),l,A()]),r=[];e.forEach(i=>{i.children?.forEach(o=>{o.parentId=i.id}),r.push(...j(i))});const d=[],s=F(t),u=new Set;r.forEach(i=>{i.type="BM",s.get(i.id)?.forEach(o=>{N(d,o,i.id),o.id&&u.add(o.id)})});const g=t.filter(i=>i.isIup==="0"&&!!i.id&&!u.has(i.id));if(g.length){const i="__external_users__";r.push({id:i,code:i,name:"外部人员",parentId:null,type:"BM"}),g.forEach(o=>N(d,o,i))}const x=K([...r,...d]);B.value=x.map(i=>i.id),C.value=x}catch(l){te.messageError(l)}finally{U.value=!1}}};P(()=>{S()});function K(l){const e=new Map,t=[];return l.forEach(r=>{e.set(r.id,{...r,children:[]})}),l.forEach(r=>{const d=e.get(r.id);if(r.parentId===null)t.push(d);else{const s=e.get(r.parentId);s&&s.children.push(d)}}),t}function j(l){const e=[];function t(r){r&&(e.push({id:r.id,code:r.code,name:r.name,parentId:r.parentId}),r.children&&r.children.length>0&&r.children.forEach(d=>t(d)))}return t(l),e}const q=()=>{const l=v.value?.getCheckedNodes().filter(e=>e.type==="YH")??[];c.value=l.map(e=>E.get(e.id)).filter(e=>e!==void 0)};return H({resetQuery:S,confirm:async()=>{await y.onConfirm?.(c.value),Y("success",c.value)},reset:()=>{c.value=[]}}),(l,e)=>{const t=p("el-title"),r=p("el-input"),d=p("el-icons"),s=p("el-flex"),u=p("el-text"),g=p("el-tree"),x=p("el-icon-btn"),i=Q("loading");return W((f(),h(s,{vertical:!0,style:{height:"100%"}},{default:a(()=>[n(s,{vertical:!1},{default:a(()=>[n(s,{vertical:!0,style:{"padding-right":"15px"}},{default:a(()=>[n(t,{title:"人员列表",style:{"border-bottom":"var(--border)"}}),n(r,{modelValue:_.value,"onUpdate:modelValue":e[0]||(e[0]=o=>_.value=o),placeholder:"请输入用户名称或者编码进行搜索"},null,8,["modelValue"]),n(s,{vertical:!0},{default:a(()=>[n(g,{style:{width:"100%"},"filter-node-method":$,"show-checkbox":"",ref_key:"ref_tree",ref:v,data:C.value,onCheck:q,"node-key":"id","default-expanded-keys":B.value,"default-checked-keys":b.value,props:{label:"name",children:"children"}},{default:a(({data:o})=>[n(s,{align:"center"},{default:a(()=>[n(s,{align:"center",justify:"center",width:"20px"},{default:a(()=>[o.type==="BM"?(f(),h(d,{key:0,"model-value":"adtec-dept",style:{color:"var(--el-color-primary)"}})):L("v-if",!0),o.type==="YH"?(f(),h(d,{key:1,"model-value":"adtec-user",style:M({color:o.sex==="1"?"#ef5fa6":"var(--el-color-primary)"})},null,8,["style"])):L("v-if",!0)]),_:2},1024),n(s,{align:"center"},{default:a(()=>[o.type==="YH"?(f(),h(u,{key:0},{default:a(()=>[k(I(o.name+`(${o.code})`),1)]),_:2},1024)):(f(),h(u,{key:1},{default:a(()=>[k(I(o.name),1)]),_:2},1024))]),_:2},1024)]),_:2},1024)]),_:1},8,["data","default-expanded-keys","default-checked-keys"])]),_:1})]),_:1}),n(s,{vertical:!0,style:{"border-left":"var(--border)","padding-left":"15px"}},{default:a(()=>[n(t,{title:`已选人员(${c.value.length})`,style:{"border-bottom":"var(--border)","margin-top":"5px"}},null,8,["title"]),n(s,{vertical:!0},{default:a(()=>[(f(!0),T(J,null,X(c.value,o=>(f(),T("div",{key:o.id,class:"user-select"},[n(s,{height:"50px",style:{"border-bottom":"var(--border)",cursor:"pointer"}},{default:a(()=>[n(s,{align:"center",width:"30px"},{default:a(()=>[n(d,{"model-value":"adtec-user",style:M([{"font-size":"20px"},{color:o.sex==="1"?"#ef5fa6":"var(--el-color-primary)"}])},null,8,["style"])]),_:2},1024),n(s,{align:"center",vertical:!0,justify:"flex-start"},{default:a(()=>[n(s,null,{default:a(()=>[n(u,null,{default:a(()=>[k(I(o.userName+`(${o.loginName})`),1)]),_:2},1024)]),_:2},1024),n(s,{align:"flex-start",height:"18px",style:{overflow:"hidden"}},{default:a(()=>[n(u,{style:{"font-size":"12px",opacity:"0.8","margin-bottom":"8px"}},{default:a(()=>[k(I(o.deptName),1)]),_:2},1024)]),_:2},1024)]),_:2},1024),n(s,{width:"50px",align:"center"},{default:a(()=>[n(x,{onClick:se=>z(o),"model-value":"adtec-close",style:{opacity:"0.8",cursor:"pointer"}},null,8,["onClick"])]),_:2},1024)]),_:2},1024)]))),128))]),_:1})]),_:1})]),_:1})]),_:1})),[[i,U.value]])}}}),Ee=re(le,[["__scopeId","data-v-03220e00"]]);export{Ee as default};
1
+ import{defineComponent as G,ref as m,shallowRef as O,onMounted as P,resolveComponent as p,resolveDirective as Q,withDirectives as W,openBlock as f,createBlock as h,withCtx as a,createVNode as n,createCommentVNode as L,normalizeStyle as M,createTextVNode as k,toDisplayString as I,createElementBlock as T,Fragment as J,renderList as X}from"vue";import{watchDebounced as Z}from"@vueuse/core";import ee from"../../api/BasicApi.js";import w from"../../api/SysUserApi.js";import"element-plus";import te from"../../utils/FrameworkUtils.js";import{_ as re}from"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"../../utils/request.js";import"../../utils/AxiosConfig.js";import"axios";import"uuid";import"../../utils/encrypt.js";import"jsencrypt";import"../../utils/buildUploadHeaders.js";import"ts-md5";import"../../utils/behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"../../utils/frontendBus.js";import"xlsx-js-style";const le=G({__name:"userSelectContent",props:{selectedUserIds:{type:Array,default:()=>[]},roleId:{type:String,default:""},multiple:{type:Boolean,default:!1},includeExternal:{type:Boolean,default:!1},onConfirm:{type:Function,default:void 0}},emits:["success"],setup(V,{expose:H,emit:R}){const U=m(!1),b=O([]),c=m([]),B=m([]),C=m([]),_=m(),v=m("");let E=new Map,D=!1;const y=V,Y=R;Z(v,l=>{_.value?.filter(l.trim())},{debounce:200,maxWait:500});const $=(l,e)=>{if(!l)return!0;const t=l.toLocaleLowerCase();return String(e.name??"").toLocaleLowerCase().includes(t)||String(e.code??"").toLocaleLowerCase().includes(t)};function z(l){const e=c.value.findIndex(t=>t.id===l.id);if(e!==-1){c.value.splice(e,1);const t=c.value.map(r=>r.id);_.value?.setCheckedKeys(t)}}const A=async()=>{C.value=[];let l=y.selectedUserIds;y.roleId&&(l=(await w.getSysRoleUserByRoleId(y.roleId)||[]).map(t=>t.sysUserInfoId).filter(Boolean)),l.length&&(c.value=await w.getInitUserListComp(l),c.value.forEach(e=>{e.id&&C.value.push(e.id)}))},N=(l,e,t)=>{e.id&&l.push({id:e.id,code:e.loginName,name:e.userName,parentId:t,type:"YH",sex:e.sex})},F=l=>{const e=new Map;return E=new Map,l.forEach(t=>{if(t.id&&E.set(t.id,t),!t.mdmDeptId)return;const r=e.get(t.mdmDeptId);r?r.push(t):e.set(t.mdmDeptId,[t])}),e},S=async()=>{if(!D){D=!0,U.value=!0,c.value=[],b.value=[],v.value="";try{const l=y.includeExternal?w.getSysUserInfoUserSelectForTransfer():w.getSysUserInfoUserSelectComp(),[e,t]=await Promise.all([ee.getMdmOrgDeptTree(),l,A()]),r=[];e.forEach(i=>{i.children?.forEach(o=>{o.parentId=i.id}),r.push(...j(i))});const d=[],s=F(t),u=new Set;r.forEach(i=>{i.type="BM",s.get(i.id)?.forEach(o=>{N(d,o,i.id),o.id&&u.add(o.id)})});const g=t.filter(i=>i.isIup==="0"&&!!i.id&&!u.has(i.id));if(g.length){const i="__external_users__";r.push({id:i,code:i,name:"外部人员",parentId:null,type:"BM"}),g.forEach(o=>N(d,o,i))}const x=K([...r,...d]);B.value=x.map(i=>i.id),b.value=x}catch(l){te.messageError(l)}finally{U.value=!1}}};P(()=>{S()});function K(l){const e=new Map,t=[];return l.forEach(r=>{e.set(r.id,{...r,children:[]})}),l.forEach(r=>{const d=e.get(r.id);if(r.parentId===null)t.push(d);else{const s=e.get(r.parentId);s&&s.children.push(d)}}),t}function j(l){const e=[];function t(r){r&&(e.push({id:r.id,code:r.code,name:r.name,parentId:r.parentId}),r.children&&r.children.length>0&&r.children.forEach(d=>t(d)))}return t(l),e}const q=()=>{const l=_.value?.getCheckedNodes().filter(e=>e.type==="YH")??[];c.value=l.map(e=>E.get(e.id)).filter(e=>e!==void 0)};return H({resetQuery:S,confirm:async()=>{await y.onConfirm?.(c.value),Y("success",c.value)},reset:()=>{c.value=[]}}),(l,e)=>{const t=p("el-title"),r=p("el-search-input"),d=p("el-icons"),s=p("el-flex"),u=p("el-text"),g=p("el-tree"),x=p("el-icon-btn"),i=Q("loading");return W((f(),h(s,{vertical:!0,style:{height:"100%"}},{default:a(()=>[n(s,{vertical:!1},{default:a(()=>[n(s,{vertical:!0,style:{"padding-right":"15px"}},{default:a(()=>[n(t,{title:"人员列表",style:{"border-bottom":"var(--border)"}}),n(r,{modelValue:v.value,"onUpdate:modelValue":e[0]||(e[0]=o=>v.value=o),"show-action":!1,placeholder:"请输入用户名称或者编码进行搜索"},null,8,["modelValue"]),n(s,{vertical:!0},{default:a(()=>[n(g,{style:{width:"100%"},"filter-node-method":$,"show-checkbox":"",ref_key:"ref_tree",ref:_,data:b.value,onCheck:q,"node-key":"id","default-expanded-keys":B.value,"default-checked-keys":C.value,props:{label:"name",children:"children"}},{default:a(({data:o})=>[n(s,{align:"center"},{default:a(()=>[n(s,{align:"center",justify:"center",width:"20px"},{default:a(()=>[o.type==="BM"?(f(),h(d,{key:0,"model-value":"adtec-dept",style:{color:"var(--el-color-primary)"}})):L("v-if",!0),o.type==="YH"?(f(),h(d,{key:1,"model-value":"adtec-user",style:M({color:o.sex==="1"?"#ef5fa6":"var(--el-color-primary)"})},null,8,["style"])):L("v-if",!0)]),_:2},1024),n(s,{align:"center"},{default:a(()=>[o.type==="YH"?(f(),h(u,{key:0},{default:a(()=>[k(I(o.name+`(${o.code})`),1)]),_:2},1024)):(f(),h(u,{key:1},{default:a(()=>[k(I(o.name),1)]),_:2},1024))]),_:2},1024)]),_:2},1024)]),_:1},8,["data","default-expanded-keys","default-checked-keys"])]),_:1})]),_:1}),n(s,{vertical:!0,style:{"border-left":"var(--border)","padding-left":"15px"}},{default:a(()=>[n(t,{title:`已选人员(${c.value.length})`,style:{"border-bottom":"var(--border)","margin-top":"5px"}},null,8,["title"]),n(s,{vertical:!0},{default:a(()=>[(f(!0),T(J,null,X(c.value,o=>(f(),T("div",{key:o.id,class:"user-select"},[n(s,{height:"50px",style:{"border-bottom":"var(--border)",cursor:"pointer"}},{default:a(()=>[n(s,{align:"center",width:"30px"},{default:a(()=>[n(d,{"model-value":"adtec-user",style:M([{"font-size":"20px"},{color:o.sex==="1"?"#ef5fa6":"var(--el-color-primary)"}])},null,8,["style"])]),_:2},1024),n(s,{align:"center",vertical:!0,justify:"flex-start"},{default:a(()=>[n(s,null,{default:a(()=>[n(u,null,{default:a(()=>[k(I(o.userName+`(${o.loginName})`),1)]),_:2},1024)]),_:2},1024),n(s,{align:"flex-start",height:"18px",style:{overflow:"hidden"}},{default:a(()=>[n(u,{style:{"font-size":"12px",opacity:"0.8","margin-bottom":"8px"}},{default:a(()=>[k(I(o.deptName),1)]),_:2},1024)]),_:2},1024)]),_:2},1024),n(s,{width:"50px",align:"center"},{default:a(()=>[n(x,{onClick:se=>z(o),"model-value":"adtec-close",style:{opacity:"0.8",cursor:"pointer"}},null,8,["onClick"])]),_:2},1024)]),_:2},1024)]))),128))]),_:1})]),_:1})]),_:1})]),_:1})),[[i,U.value]])}}}),Ee=re(le,[["__scopeId","data-v-c86b978c"]]);export{Ee as default};
@@ -0,0 +1,14 @@
1
+ declare var __VLS_6: {}, __VLS_8: {};
2
+ type __VLS_Slots = {} & {
3
+ content?: (props: typeof __VLS_6) => any;
4
+ } & {
5
+ default?: (props: typeof __VLS_8) => any;
6
+ };
7
+ declare const __VLS_component: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
8
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
9
+ export default _default;
10
+ type __VLS_WithSlots<T, S> = T & {
11
+ new (): {
12
+ $slots: S;
13
+ };
14
+ };
@@ -0,0 +1 @@
1
+ import{_ as o}from"../../../chunks/ElCopyTooltip.vue_vue_type_script_setup_true_lang-BaGdbtdl.js";/* empty css */import"vue";import"element-plus";export{o as default};
@@ -1 +1 @@
1
- import{reactive as oe,ref as D,watch as V,onMounted as ne,nextTick as h,onBeforeUnmount as ie,h as v}from"vue";function le(i,u){let b=null;return function(...o){b&&clearTimeout(b),b=window.setTimeout(()=>{i.apply(this,o)},u)}}function W(i){return i==null}function se(i){return i==null||i===""}function ae(i){if(!i.classList||!i.classList.contains("vxe-cell--label"))return i;const u=i.closest(".vxe-cell--wrapper, .vxe-tree-cell");return u&&(u.scrollHeight>u.clientHeight+1||u.scrollWidth>u.clientWidth+1)?u:i}const ce={name:"VxeTooltip",props:{modelValue:Boolean,content:[String,Number],trigger:{type:String,default:"hover"},theme:{type:String,default:"dark"},isArrow:{type:Boolean,default:!0},enterable:{type:Boolean,default:!0},enterDelay:{type:Number,default:300},leaveDelay:{type:Number,default:150}},emits:["update:modelValue"],setup(i,{slots:u,emit:b}){const o=oe({target:null,isUpdate:!1,visible:!1,tipContent:"",tipActive:!1,tipTarget:null,tipZindex:0,tipStore:{style:{},placement:"",arrowStyle:{}}}),B={},g=D(),d=D(),H=D(!1),C=()=>({scrollTop:window.scrollY||document.documentElement.scrollTop,scrollLeft:window.scrollX||document.documentElement.scrollLeft,visibleWidth:document.documentElement.clientWidth,visibleHeight:window.innerHeight||document.documentElement.clientHeight}),O=e=>{const t=e.getBoundingClientRect();return{top:t.top+C().scrollTop,left:t.left+C().scrollLeft}},S=()=>{const{tipTarget:e,tipStore:t}=o;if(!e)return;const n=g.value;if(!n)return;const{scrollTop:l,scrollLeft:f,visibleWidth:r,visibleHeight:p}=C(),{top:a,left:U}=O(e),s=6,w=n.offsetHeight,Z=n.offsetWidth;let A=U+Math.floor((e.offsetWidth-Z)/2);A=Math.max(f+s,Math.min(A,f+r-Z-s));const T=a-w-s,E=a+e.offsetHeight+s,_=T>=l+s&&T+w+s<=l+p,ee=E>=l+s&&E+w+s<=l+p;let m="top",c=T;if(_)m="top",c=T;else if(ee)m="bottom",c=E;else{const M=a-l-s;l+p-(a+e.offsetHeight)-s>=M?(m="bottom",c=Math.max(l+s,l+p-w-s)):(m="top",c=Math.max(l+s,T))}const N=m==="top"?a-l-s:l+p-(a+e.offsetHeight)-s;if(w>N&&N>50){const M=d.value?d.value.previousElementSibling:null,P=M?M.offsetHeight:0,te=Math.max(40,N-P-24);d.value&&(d.value.style.maxHeight=`${te}px`);const z=n.offsetHeight;c=m==="top"?a-z-s:a+e.offsetHeight+s,c=Math.max(l+s,Math.min(c,l+p-z-s))}const F=n.offsetHeight;m==="top"?c=Math.min(c,a-F-s):c=Math.max(c,a+e.offsetHeight+s),c=Math.max(l+s,Math.min(c,l+p-F-s)),t.style.top=`${c}px`,t.style.left=`${A}px`,t.arrowStyle={left:`${U-A+e.offsetWidth/2}px`}},$=e=>{e!==o.visible&&(o.visible=e,o.isUpdate=!0,b("update:modelValue",e))},k=()=>{const e=g.value;return e&&(e.parentNode||document.body.appendChild(e),d.value&&(d.value.style.maxHeight="")),$(!0),o.tipZindex=9999,o.tipStore.placement="top",o.tipStore.style={width:"auto",left:0,top:0,zIndex:o.tipZindex},o.tipStore.arrowStyle={left:"50%"},h().then(()=>(S(),h().then(()=>{S()})))},L=()=>{B.showDelayTip=le(()=>{o.tipActive&&k()},i.enterDelay)},x=(e,t)=>{if(!u.content&&(t===""||se(t)))return h();if(e){const{showDelayTip:l}=B,{trigger:f,enterDelay:r}=i;if(o.tipActive=!0,o.tipTarget=ae(e),o.tipContent=W(t)?"":t,r&&f==="hover")l&&l();else return k()}return h()},Y=()=>{x(o.target,i.content)},j=()=>{const{trigger:e,enterable:t,leaveDelay:n}=i;o.tipActive=!1,t&&e==="hover"?setTimeout(()=>{o.tipActive||y()},n):y()},q=()=>{o.tipActive=!0},I=()=>{const{trigger:e,enterable:t,leaveDelay:n}=i;o.tipActive=!1,t&&e==="hover"&&setTimeout(()=>{o.tipActive||y()},n)},R=e=>{e.stopPropagation();const t=d.value;if(t){const n=e.deltaY,l=t.scrollTop<=0&&n<0,f=t.scrollTop+t.clientHeight>=t.scrollHeight-1&&n>0;(l||f)&&e.preventDefault()}},X=()=>{o.visible?y():x(o.target,i.content)},y=()=>(o.tipTarget=null,o.tipActive=!1,Object.assign(o.tipStore,{style:{},placement:"",arrowStyle:null}),$(!1),h()),G={open(e,t){return x(e||o.target,t)},close:y,updatePlacement(){return h().then(()=>{const{tipTarget:e}=o,t=g.value;if(e&&t)return S(),h().then(()=>{S()})})},isActived(){return o.tipActive},setActived(e){o.tipActive=!!e}},J=()=>{const{tipContent:e}=o,t=u.content,n=[];return t?n.push(v("div",{},t({}))):n.push(v("div",{},`${e}`)),v("div",{class:"vxe-tooltip--body"},[v("div",{class:"vxe-tooltip--copy-bar"},[v("button",{type:"button",class:["vxe-tooltip--copy-btn",{"is--copied":H.value}],title:"复制内容",onClick:K},H.value?"已复制":"复制")]),v("div",{ref:d,class:"vxe-tooltip--content"},n)])},K=async()=>{const e=`${o.tipContent||""}`||(d.value?d.value.innerText:"");if(e){try{await navigator.clipboard.writeText(e)}catch{const t=document.createElement("textarea");t.value=e,t.style.position="fixed",t.style.opacity="0",document.body.appendChild(t),t.select();try{document.execCommand("copy")}catch{}document.body.removeChild(t)}H.value=!0,window.setTimeout(()=>{H.value=!1},1500)}},Q=()=>{const{theme:e,isArrow:t,enterable:n}=i,{tipActive:l,visible:f,tipStore:r}=o,p=u.default;let a;return n&&(a={onMouseenter:q,onMouseleave:I,onWheel:R}),v("div",{ref:g,class:["vxe-tooltip--wrapper",`theme--${e}`,{[`placement--${r.placement}`]:r.placement,"is--enterable":n,"is--visible":f,"is--arrow":t,"is--active":l}],style:{...r.style,transition:"opacity 0.2s ease, transform 0.2s ease",opacity:f?1:0,transform:f?"scale(1)":"scale(0.95)"},...a},[J(),t?v("div",{class:"vxe-tooltip--arrow",style:r.arrowStyle}):null,...p?p({}):[]])};return V(()=>i.enterDelay,()=>{L()}),V(()=>i.content,e=>{o.tipContent=W(e)?"":e}),V(()=>i.modelValue,e=>{o.isUpdate||(e?x(o.target,i.content):y()),o.isUpdate=!1}),ne(()=>{h(()=>{const{trigger:e,content:t}=i,n=g.value;if(n){const l=n.parentNode;if(l){o.tipContent=W(t)?"":t,o.tipZindex=1e3,Array.from(n.children).forEach((p,a)=>{a>1&&(l.insertBefore(p,n),o.target||(o.target=p))}),l.removeChild(n);const{target:r}=o;r&&(e==="hover"?(r.onmouseenter=Y,r.onmouseleave=j):e==="click"&&(r.onclick=X)),i.modelValue&&x(r,t)}}})}),ie(()=>{const{target:e}=o,t=g.value;if(e&&(e.onmouseenter=null,e.onmouseleave=null,e.onclick=null),t){const n=t.parentNode;n&&n.removeChild(t)}}),L(),{...G,renderVN:Q,reactData:o}},render(){return this.renderVN()}};export{ce as default};
1
+ import{reactive as oe,ref as D,watch as V,onMounted as ne,nextTick as h,onBeforeUnmount as ie,h as v}from"vue";function le(i,u){let b=null;return function(...o){b&&clearTimeout(b),b=window.setTimeout(()=>{i.apply(this,o)},u)}}function W(i){return i==null}function se(i){return i==null||i===""}function ae(i){if(!i.classList||!i.classList.contains("vxe-cell--label"))return i;const u=i.closest(".vxe-cell--wrapper, .vxe-tree-cell");return u&&(u.scrollHeight>u.clientHeight+1||u.scrollWidth>u.clientWidth+1)?u:i}const ce={name:"VxeTooltip",props:{modelValue:Boolean,content:[String,Number],trigger:{type:String,default:"hover"},theme:{type:String,default:"dark"},isArrow:{type:Boolean,default:!0},enterable:{type:Boolean,default:!0},enterDelay:{type:Number,default:300},leaveDelay:{type:Number,default:150}},emits:["update:modelValue"],setup(i,{slots:u,emit:b}){const o=oe({target:null,isUpdate:!1,visible:!1,tipContent:"",tipActive:!1,tipTarget:null,tipZindex:0,tipStore:{style:{},placement:"",arrowStyle:{}}}),B={},g=D(),d=D(),H=D(!1),C=()=>({scrollTop:window.scrollY||document.documentElement.scrollTop,scrollLeft:window.scrollX||document.documentElement.scrollLeft,visibleWidth:document.documentElement.clientWidth,visibleHeight:window.innerHeight||document.documentElement.clientHeight}),O=e=>{const t=e.getBoundingClientRect();return{top:t.top+C().scrollTop,left:t.left+C().scrollLeft}},S=()=>{const{tipTarget:e,tipStore:t}=o;if(!e)return;const n=g.value;if(!n)return;const{scrollTop:l,scrollLeft:f,visibleWidth:r,visibleHeight:p}=C(),{top:a,left:U}=O(e),s=6,w=n.offsetHeight,Z=n.offsetWidth;let A=U+Math.floor((e.offsetWidth-Z)/2);A=Math.max(f+s,Math.min(A,f+r-Z-s));const T=a-w-s,E=a+e.offsetHeight+s,_=T>=l+s&&T+w+s<=l+p,ee=E>=l+s&&E+w+s<=l+p;let m="top",c=T;if(_)m="top",c=T;else if(ee)m="bottom",c=E;else{const M=a-l-s;l+p-(a+e.offsetHeight)-s>=M?(m="bottom",c=Math.max(l+s,l+p-w-s)):(m="top",c=Math.max(l+s,T))}const N=m==="top"?a-l-s:l+p-(a+e.offsetHeight)-s;if(w>N&&N>50){const M=d.value?d.value.previousElementSibling:null,P=M?M.offsetHeight:0,te=Math.max(40,N-P-24);d.value&&(d.value.style.maxHeight=`${te}px`);const z=n.offsetHeight;c=m==="top"?a-z-s:a+e.offsetHeight+s,c=Math.max(l+s,Math.min(c,l+p-z-s))}const F=n.offsetHeight;m==="top"?c=Math.min(c,a-F-s):c=Math.max(c,a+e.offsetHeight+s),c=Math.max(l+s,Math.min(c,l+p-F-s)),t.style.top=`${c}px`,t.style.left=`${A}px`,t.arrowStyle={left:`${U-A+e.offsetWidth/2}px`}},$=e=>{e!==o.visible&&(o.visible=e,o.isUpdate=!0,b("update:modelValue",e))},k=()=>{const e=g.value;return e&&(e.parentNode||document.body.appendChild(e),d.value&&(d.value.style.maxHeight="")),$(!0),o.tipZindex=9999,o.tipStore.placement="top",o.tipStore.style={width:"auto",left:0,top:0,zIndex:o.tipZindex},o.tipStore.arrowStyle={left:"50%"},h().then(()=>(S(),h().then(()=>{S()})))},L=()=>{B.showDelayTip=le(()=>{o.tipActive&&k()},i.enterDelay)},x=(e,t)=>{if(!u.content&&(t===""||se(t)))return h();if(e){const{showDelayTip:l}=B,{trigger:f,enterDelay:r}=i;if(o.tipActive=!0,o.tipTarget=ae(e),o.tipContent=W(t)?"":t,r&&f==="hover")l&&l();else return k()}return h()},Y=()=>{x(o.target,i.content)},j=()=>{const{trigger:e,enterable:t,leaveDelay:n}=i;o.tipActive=!1,t&&e==="hover"?setTimeout(()=>{o.tipActive||y()},n):y()},q=()=>{o.tipActive=!0},I=()=>{const{trigger:e,enterable:t,leaveDelay:n}=i;o.tipActive=!1,t&&e==="hover"&&setTimeout(()=>{o.tipActive||y()},n)},R=e=>{e.stopPropagation();const t=d.value;if(t){const n=e.deltaY,l=t.scrollTop<=0&&n<0,f=t.scrollTop+t.clientHeight>=t.scrollHeight-1&&n>0;(l||f)&&e.preventDefault()}},X=()=>{o.visible?y():x(o.target,i.content)},y=()=>(o.tipTarget=null,o.tipActive=!1,Object.assign(o.tipStore,{style:{},placement:"",arrowStyle:null}),$(!1),h()),G={open(e,t){return x(e||o.target,t)},close:y,updatePlacement(){return h().then(()=>{const{tipTarget:e}=o,t=g.value;if(e&&t)return S(),h().then(()=>{S()})})},isActived(){return o.tipActive},setActived(e){o.tipActive=!!e}},J=()=>{const{tipContent:e}=o,t=u.content,n=[];return t?n.push(v("div",{},t({}))):n.push(v("div",{},`${e}`)),v("div",{class:"vxe-tooltip--body"},[v("div",{ref:d,class:"vxe-tooltip--content"},n),v("div",{class:"vxe-tooltip--copy-bar"},[v("button",{type:"button",class:["vxe-tooltip--copy-btn",{"is--copied":H.value}],title:"复制内容",onClick:K},H.value?"已复制":"复制")])])},K=async()=>{const e=`${o.tipContent||""}`||(d.value?d.value.innerText:"");if(e){try{await navigator.clipboard.writeText(e)}catch{const t=document.createElement("textarea");t.value=e,t.style.position="fixed",t.style.opacity="0",document.body.appendChild(t),t.select();try{document.execCommand("copy")}catch{}document.body.removeChild(t)}H.value=!0,window.setTimeout(()=>{H.value=!1},1500)}},Q=()=>{const{theme:e,isArrow:t,enterable:n}=i,{tipActive:l,visible:f,tipStore:r}=o,p=u.default;let a;return n&&(a={onMouseenter:q,onMouseleave:I,onWheel:R}),v("div",{ref:g,class:["vxe-tooltip--wrapper",`theme--${e}`,{[`placement--${r.placement}`]:r.placement,"is--enterable":n,"is--visible":f,"is--arrow":t,"is--active":l}],style:{...r.style,transition:"opacity 0.2s ease, transform 0.2s ease",opacity:f?1:0,transform:f?"scale(1)":"scale(0.95)"},...a},[J(),t?v("div",{class:"vxe-tooltip--arrow",style:r.arrowStyle}):null,...p?p({}):[]])};return V(()=>i.enterDelay,()=>{L()}),V(()=>i.content,e=>{o.tipContent=W(e)?"":e}),V(()=>i.modelValue,e=>{o.isUpdate||(e?x(o.target,i.content):y()),o.isUpdate=!1}),ne(()=>{h(()=>{const{trigger:e,content:t}=i,n=g.value;if(n){const l=n.parentNode;if(l){o.tipContent=W(t)?"":t,o.tipZindex=1e3,Array.from(n.children).forEach((p,a)=>{a>1&&(l.insertBefore(p,n),o.target||(o.target=p))}),l.removeChild(n);const{target:r}=o;r&&(e==="hover"?(r.onmouseenter=Y,r.onmouseleave=j):e==="click"&&(r.onclick=X)),i.modelValue&&x(r,t)}}})}),ie(()=>{const{target:e}=o,t=g.value;if(e&&(e.onmouseenter=null,e.onmouseleave=null,e.onclick=null),t){const n=t.parentNode;n&&n.removeChild(t)}}),L(),{...G,renderVN:Q,reactData:o}},render(){return this.renderVN()}};export{ce as default};
@@ -1 +1 @@
1
- import{defineComponent as pe,ref as w,computed as k,useModel as V,resolveComponent as y,resolveDirective as me,openBlock as u,createElementBlock as h,createBlock as S,withCtx as i,createElementVNode as _,Fragment as j,renderList as G,createVNode as m,unref as R,toDisplayString as C,withDirectives as fe,createTextVNode as D,createCommentVNode as H,normalizeStyle as ve,withModifiers as ge,mergeModels as J}from"vue";import{UploadFilled as ye}from"@element-plus/icons-vue";import{ElMessage as r,ElMessageBox as W}from"element-plus";import he from"../../hooks/useFileView.js";import U from"../../api/DocumentApi.js";import B from"../../utils/FrameworkUtils.js";import{userInfoStore as _e}from"../../stores/userInfoStore.js";import{getAcceptString as xe}from"../../utils/uploadAccept.js";import{buildUploadHeaders as we}from"../../utils/buildUploadHeaders.js";import{_ as Ce}from"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"../../utils/frontendBus.js";import"../../utils/request.js";import"../../utils/AxiosConfig.js";import"axios";import"uuid";import"../../utils/encrypt.js";import"jsencrypt";import"../../utils/behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"ts-md5";import"xlsx-js-style";import"pinia";import"../../utils/userSessionStorage.js";const Be={key:0},Fe={style:{display:"flex","flex-direction":"column"}},ke={style:{display:"flex","flex-direction":"column"}},Se=["onClick"],Ue={key:1,style:{"text-align":"center",color:"var(--el-disabled-text-color)"}},be={class:"el-upload__tip"},Ee=pe({__name:"CustomElUpload",props:J({limit:{type:Number,default:1},vertical:{type:Boolean,default:!1},accept:{type:String,default:""},business:{type:String,default:"default"},businessId:{type:String,default:"default"},isEdit:{type:Boolean,default:!0},association:{type:Boolean,default:!1},size:{type:Number,default:50},itemWidth:{type:String,default:"100%"},isConfirmDelete:{type:Boolean,default:!1},overwrite:{type:Boolean,default:!0},autoUpload:{type:Boolean,default:!0},showOptMessage:{type:Boolean,default:!0},watermarkCode:{type:String,default:()=>{}},readonlyFileIds:{type:Array,default:()=>[]},fileOwnerAccounts:{type:Array,default:()=>[]},uploadCreateBy:{type:String,default:""}},{uploadFilesList:{default:[]},uploadFilesListModifiers:{},loading:{type:Boolean},loadingModifiers:{}}),emits:J(["success"],["update:uploadFilesList","update:loading"]),setup(f,{expose:q,emit:K}){const{fileView:L}=he(),A=K,Q=_e(),v=w(),g=w([]),x=w(""),z=w([]),o=f,N=k(()=>"/api/doc/uploadFile/"+o.business+"/"+o.businessId+"/"+o.association+(o.watermarkCode?"?watermarkCode="+o.watermarkCode:"")),X=k(()=>we(N.value)),s=V(f,"uploadFilesList"),Y=e=>{x.value=e},Z=()=>{x.value=""},b=k(()=>xe(o.accept)),P=e=>{const t=e.split(".").pop()+"";return".jpg,.jpeg,.png,.gif,.bmp,.JPG,.JPEG,.PBG,.GIF,.BMP".includes(t)?"adtec-image":"txt".includes(t)?"adtec-text":"pdf".includes(t)?"adtec-pdf":"doc,docx".includes(t)?"adtec-word":"xls,xlsx".includes(t)?"adtec-excel":"ppt,pptx".includes(t)?"adtec-ppt":"adtec-text"},ee=async e=>{const t=o.uploadCreateBy?.trim(),l=e.id!=null?String(e.id):"";if(!t||!l)return e;try{await U.updateFilesCreateBy([l],t),e.createBy=t}catch(a){B.messageError(a)}return e},te=async(e,t,l)=>{if(e.code==="0"){const a=await ee(e.data);s.value.push(a)}else r.error(e.msg),v.value?.handleRemove(t);for(let a=d.value.length-1;a>=0;a--)d.value[a]===t.name&&d.value.splice(a,1);e.code==="0"&&(o.showOptMessage&&r.success("上传成功"),A("success",{files:s.value,deleteFiles:g.value})),d.value.length===0&&(c.value=!1)},c=V(f,"loading"),d=w([]),le=k(()=>z.value.some(e=>e.status!=="success"&&e.status!=="fail")),$=async e=>{if(s.value.find(p=>p.name===e.name))return r.warning(e.name+",文件已存在"),!1;if(e.size>o.size*1024*1024)return r.warning("文件大小不能超过"+o.size+"MB"),!1;const l=b.value?.split(",").map(p=>p.slice(1).toLowerCase()),a=e.name.split(".").pop()?.toLowerCase();return l&&!l.includes(a??"")?(r.error(`文件 ${e.name} 格式不支持,仅允许 ${b.value}!`),setTimeout(()=>{v.value?.clearFiles(["ready"])},1),!1):(d.value.push(e.name),!0)},F=e=>{const t=e?.id!=null?String(e.id):"";return!!t&&o.readonlyFileIds.includes(t)},ae=e=>{if(F(e))return!1;if(!e?.createBy?.trim())return!0;const t=o.fileOwnerAccounts?.map(l=>l.trim()).filter(Boolean)??[];return t.length>0?t.includes(e.createBy.trim()):Q.getUserInfo.userCode===e.createBy},oe=async e=>{if(F(e)){r.warning("该附件非您上传,无法预览或删除");return}if(e.name===x.value){if(e.createBy&&!ae(e)){r.warning("您没有权限删除此文件!");return}if(!o.isConfirmDelete&&!await W.confirm("删除不可恢复!您确定删除此附件?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}))return;v.value?.handleRemove(e)}else E(e)},ne=(e,t)=>{z.value=t},se=async(e,t)=>{if(o.limit===1&&o.overwrite&&s.value.length>=1){const l=s.value[0];if(!o.isConfirmDelete){if(!await W.confirm("只允许上传一个附件,是否点击确定覆盖原有附件?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}))return;try{c.value=!0,await U.delSysUploadFile(l.id).catch(p=>{B.messageError(p)})}catch(p){B.messageError(p);return}finally{c.value=!1}}s.value=[],v.value?.clearFiles(),e.length>0?await $(e[0])?(v.value?.handleStart(e[0]),o.autoUpload&&v.value?.submit()):s.value.push(l):g.value.push(l)}else r.warning(`最多上传${o.limit}个文件,上传文件数量已达到限制`)},ie=(e,t,l)=>{r.error("上传失败");for(let a=d.value.length-1;a>=0;a--)d.value[a]===t.name&&d.value.splice(a,1);d.value.length===0&&(c.value=!1)},E=async e=>{const t=s.value.find(l=>l.name===e.name);if(t){if(F(t)){r.warning("该附件非您上传,无法预览或删除");return}L(t.id)}},O=async(e,t=!0)=>{const l=s.value.find(a=>a.name===e.name);if(!(!l||F(l)))try{o.isConfirmDelete?g.value.push(l):await U.delSysUploadFile(l.id),s.value.splice(s.value.indexOf(l),1)}catch(a){B.messageError(a)}},re=(e,t)=>{c.value=!0};return q({remove:O,confirm:async(e=!0)=>{try{if(c.value=!0,o.isConfirmDelete&&g.value.length>0&&e&&(await U.delSysUploadFiles(g.value.map(t=>t.id)),g.value=[]),!o.autoUpload)if(le.value){v.value?.submit();return}else o.showOptMessage&&r.success("操作成功"),A("success",{files:s.value,deleteFiles:g.value});c.value=!1}catch(t){B.messageError(t),c.value=!1}}}),(e,t)=>{const l=y("el-icons"),a=y("el-auto-tool-tip"),p=y("el-icon"),T=y("el-text"),ue=y("el-tooltip"),M=y("el-flex"),ce=y("el-upload"),de=me("loading");return f.isEdit?fe((u(),S(ce,{key:1,ref_key:"ref_upload",ref:v,"file-list":s.value,onSuccess:te,onRemove:O,onPreview:E,"auto-upload":f.autoUpload,onChange:ne,onError:ie,onExceed:se,onProgress:re,"before-upload":$,drag:"",accept:b.value,action:N.value,multiple:"",limit:f.limit,headers:X.value},{file:i(({file:n})=>[m(M,{class:"file-class",onMousemove:I=>Y(n.name),onMouseout:Z,onClick:I=>E(n),height:"20px",width:f.itemWidth},{default:i(()=>[m(M,{align:"center",justify:"flex-start",style:{overflow:"hidden"}},{default:i(()=>[m(ue,{class:"box-item",content:n.name,placement:"top"},{default:i(()=>[m(T,{truncated:"",style:{cursor:"pointer"}},{default:i(()=>[m(l,{"model-value":P(n.name),style:{"margin-right":"5px"}},null,8,["model-value"]),D(" "+C(n.name),1)]),_:2},1024)]),_:2},1032,["content"])]),_:2},1024),m(M,{align:"center",justify:"flex-end",width:"50px"},{default:i(()=>[!n?.businessId&&n.percentage!==100?(u(),S(T,{key:0},{default:i(()=>[D(C(n.percentage)+"% ",1)]),_:2},1024)):H("v-if",!0),n?.businessId||n.percentage===100?(u(),S(l,{key:1,onClick:ge(I=>oe(n),["prevent","stop"]),"model-value":n.name===x.value?"adtec-close":"adtec-success",style:ve([{color:"var(--el-color-success)","font-size":"14px"},{color:n.name===x.value?"var(--el-color-danger)":"var(--el-color-success)"}])},null,8,["onClick","model-value","style"])):H("v-if",!0)]),_:2},1024)]),_:2},1032,["onMousemove","onClick","width"])]),default:i(()=>[m(p,{class:"el-icon--upload"},{default:i(()=>[m(R(ye))]),_:1}),t[0]||(t[0]=_("div",{class:"el-upload__text"},[D("拖动文件或"),_("em",null,"点击上传")],-1)),_("div",be,"最大上传文件大小"+C(f.size)+"MB",1)]),_:1},8,["file-list","auto-upload","accept","action","limit","headers"])),[[de,c.value]]):(u(),h("div",Be,[s.value?.length?(u(),S(a,{key:0},{tooltipContent:i(()=>[_("div",Fe,[(u(!0),h(j,null,G(s.value,n=>(u(),h("span",{key:n.id,style:{margin:"0 2px"}},C(n.name),1))),128))])]),content:i(()=>[_("div",ke,[(u(!0),h(j,null,G(s.value,n=>(u(),h("div",{key:n.id,class:"file-item",style:{display:"flex","align-items":"center",overflow:"hidden"}},[m(l,{"model-value":P(n.name),style:{"margin-right":"5px"}},null,8,["model-value"]),_("span",{class:"link-name",onClick:I=>R(L)(n.id)},C(n.name),9,Se)]))),128))])]),_:1})):(u(),h("div",Ue,"暂无附件"))]))}}}),tt=Ce(Ee,[["__scopeId","data-v-ef02e046"]]);export{tt as default};
1
+ import{defineComponent as de,ref as _,computed as k,useModel as V,resolveComponent as y,resolveDirective as pe,openBlock as u,createElementBlock as h,createBlock as S,withCtx as i,createElementVNode as x,Fragment as j,renderList as G,createVNode as m,unref as R,toDisplayString as C,withDirectives as me,createTextVNode as D,createCommentVNode as H,normalizeStyle as fe,withModifiers as ve,mergeModels as J}from"vue";import{UploadFilled as ge}from"@element-plus/icons-vue";import{ElMessage as r,ElMessageBox as W}from"element-plus";import ye from"../../hooks/useFileView.js";import U from"../../api/DocumentApi.js";import B from"../../utils/FrameworkUtils.js";import{userInfoStore as he}from"../../stores/userInfoStore.js";import{getAcceptString as xe}from"../../utils/uploadAccept.js";import{buildUploadHeaders as we}from"../../utils/buildUploadHeaders.js";import{_ as _e}from"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"../../utils/frontendBus.js";import"../../utils/request.js";import"../../utils/AxiosConfig.js";import"axios";import"uuid";import"../../utils/encrypt.js";import"jsencrypt";import"../../utils/behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"ts-md5";import"xlsx-js-style";import"pinia";import"../../utils/userSessionStorage.js";const Ce={key:0},Be={style:{display:"flex","flex-direction":"column"}},Fe={style:{display:"flex","flex-direction":"column"}},ke=["onClick"],Se={key:1,style:{"text-align":"center",color:"var(--el-disabled-text-color)"}},Ue={class:"el-upload__tip"},be=de({__name:"CustomElUpload",props:J({limit:{type:Number,default:1},vertical:{type:Boolean,default:!1},accept:{type:String,default:""},business:{type:String,default:"default"},businessId:{type:String,default:"default"},isEdit:{type:Boolean,default:!0},association:{type:Boolean,default:!1},size:{type:Number,default:50},itemWidth:{type:String,default:"100%"},isConfirmDelete:{type:Boolean,default:!1},overwrite:{type:Boolean,default:!0},autoUpload:{type:Boolean,default:!0},showOptMessage:{type:Boolean,default:!0},watermarkCode:{type:String,default:()=>{}},readonlyFileIds:{type:Array,default:()=>[]},fileOwnerAccounts:{type:Array,default:()=>[]},uploadCreateBy:{type:String,default:""}},{uploadFilesList:{default:[]},uploadFilesListModifiers:{},loading:{type:Boolean},loadingModifiers:{}}),emits:J(["success"],["update:uploadFilesList","update:loading"]),setup(f,{expose:q,emit:K}){const{fileView:L}=ye(),A=K,Q=he(),v=_(),g=_([]),w=_(""),z=_([]),o=f,N=k(()=>"/api/doc/uploadFile/"+o.business+"/"+o.businessId+"/"+o.association+(o.watermarkCode?"?watermarkCode="+o.watermarkCode:"")),X=k(()=>we(N.value)),s=V(f,"uploadFilesList"),Y=e=>{w.value=e},Z=()=>{w.value=""},b=k(()=>xe(o.accept)),P=e=>{const t=e.split(".").pop()+"";return".jpg,.jpeg,.png,.gif,.bmp,.JPG,.JPEG,.PBG,.GIF,.BMP".includes(t)?"adtec-image":"txt".includes(t)?"adtec-text":"pdf".includes(t)?"adtec-pdf":"doc,docx".includes(t)?"adtec-word":"xls,xlsx".includes(t)?"adtec-excel":"ppt,pptx".includes(t)?"adtec-ppt":"adtec-text"},ee=async e=>{const t=o.uploadCreateBy?.trim(),l=e.id!=null?String(e.id):"";if(!t||!l)return e;try{await U.updateFilesCreateBy([l],t),e.createBy=t}catch(a){B.messageError(a)}return e},te=async(e,t,l)=>{if(e.code==="0"){const a=await ee(e.data);s.value.push(a)}else r.error(e.msg),v.value?.handleRemove(t);for(let a=d.value.length-1;a>=0;a--)d.value[a]===t.name&&d.value.splice(a,1);e.code==="0"&&(o.showOptMessage&&r.success("上传成功"),A("success",{files:s.value,deleteFiles:g.value})),d.value.length===0&&(c.value=!1)},c=V(f,"loading"),d=_([]),le=k(()=>z.value.some(e=>e.status!=="success"&&e.status!=="fail")),$=async e=>{if(s.value.find(p=>p.name===e.name))return r.warning(e.name+",文件已存在"),!1;if(e.size>o.size*1024*1024)return r.warning("文件大小不能超过"+o.size+"MB"),!1;const l=b.value?.split(",").map(p=>p.slice(1).toLowerCase()),a=e.name.split(".").pop()?.toLowerCase();return l&&!l.includes(a??"")?(r.error(`文件 ${e.name} 格式不支持,仅允许 ${b.value}!`),setTimeout(()=>{v.value?.clearFiles(["ready"])},1),!1):(d.value.push(e.name),!0)},F=e=>{const t=e?.id!=null?String(e.id):"";return!!t&&o.readonlyFileIds.includes(t)},ae=e=>{if(F(e))return!1;if(!e?.createBy?.trim())return!0;const t=o.fileOwnerAccounts?.map(l=>l.trim()).filter(Boolean)??[];return t.length>0?t.includes(e.createBy.trim()):Q.getUserInfo.userCode===e.createBy},oe=async e=>{if(F(e)){r.warning("该附件非您上传,无法预览或删除");return}if(e.name===w.value){if(e.createBy&&!ae(e)){r.warning("您没有权限删除此文件!");return}if(!o.isConfirmDelete&&!await W.confirm("删除不可恢复!您确定删除此附件?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}))return;v.value?.handleRemove(e)}else E(e)},ne=(e,t)=>{z.value=t},se=async(e,t)=>{if(o.limit===1&&o.overwrite&&s.value.length>=1){const l=s.value[0];if(!o.isConfirmDelete){if(!await W.confirm("只允许上传一个附件,是否点击确定覆盖原有附件?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}))return;try{c.value=!0,await U.delSysUploadFile(l.id).catch(p=>{B.messageError(p)})}catch(p){B.messageError(p);return}finally{c.value=!1}}s.value=[],v.value?.clearFiles(),e.length>0?await $(e[0])?(v.value?.handleStart(e[0]),o.autoUpload&&v.value?.submit()):s.value.push(l):g.value.push(l)}else r.warning(`最多上传${o.limit}个文件,上传文件数量已达到限制`)},ie=(e,t,l)=>{r.error("上传失败");for(let a=d.value.length-1;a>=0;a--)d.value[a]===t.name&&d.value.splice(a,1);d.value.length===0&&(c.value=!1)},E=async e=>{const t=s.value.find(l=>l.name===e.name);if(t){if(F(t)){r.warning("该附件非您上传,无法预览或删除");return}L(t.id)}},O=async(e,t=!0)=>{const l=s.value.find(a=>a.name===e.name);if(!(!l||F(l)))try{o.isConfirmDelete?g.value.push(l):await U.delSysUploadFile(l.id),s.value.splice(s.value.indexOf(l),1)}catch(a){B.messageError(a)}},re=(e,t)=>{c.value=!0};return q({remove:O,confirm:async(e=!0)=>{try{if(c.value=!0,o.isConfirmDelete&&g.value.length>0&&e&&(await U.delSysUploadFiles(g.value.map(t=>t.id)),g.value=[]),!o.autoUpload)if(le.value){v.value?.submit();return}else o.showOptMessage&&r.success("操作成功"),A("success",{files:s.value,deleteFiles:g.value});c.value=!1}catch(t){B.messageError(t),c.value=!1}}}),(e,t)=>{const l=y("el-icons"),a=y("el-tooltip"),p=y("el-icon"),T=y("el-text"),M=y("el-flex"),ue=y("el-upload"),ce=pe("loading");return f.isEdit?me((u(),S(ue,{key:1,ref_key:"ref_upload",ref:v,"file-list":s.value,onSuccess:te,onRemove:O,onPreview:E,"auto-upload":f.autoUpload,onChange:ne,onError:ie,onExceed:se,onProgress:re,"before-upload":$,drag:"",accept:b.value,action:N.value,multiple:"",limit:f.limit,headers:X.value},{file:i(({file:n})=>[m(M,{class:"file-class",onMousemove:I=>Y(n.name),onMouseout:Z,onClick:I=>E(n),height:"20px",width:f.itemWidth},{default:i(()=>[m(M,{align:"center",justify:"flex-start",style:{overflow:"hidden"}},{default:i(()=>[m(a,{class:"box-item",content:n.name,placement:"top"},{default:i(()=>[m(T,{truncated:"",style:{cursor:"pointer"}},{default:i(()=>[m(l,{"model-value":P(n.name),style:{"margin-right":"5px"}},null,8,["model-value"]),D(" "+C(n.name),1)]),_:2},1024)]),_:2},1032,["content"])]),_:2},1024),m(M,{align:"center",justify:"flex-end",width:"50px"},{default:i(()=>[!n?.businessId&&n.percentage!==100?(u(),S(T,{key:0},{default:i(()=>[D(C(n.percentage)+"% ",1)]),_:2},1024)):H("v-if",!0),n?.businessId||n.percentage===100?(u(),S(l,{key:1,onClick:ve(I=>oe(n),["prevent","stop"]),"model-value":n.name===w.value?"adtec-close":"adtec-success",style:fe([{color:"var(--el-color-success)","font-size":"14px"},{color:n.name===w.value?"var(--el-color-danger)":"var(--el-color-success)"}])},null,8,["onClick","model-value","style"])):H("v-if",!0)]),_:2},1024)]),_:2},1032,["onMousemove","onClick","width"])]),default:i(()=>[m(p,{class:"el-icon--upload"},{default:i(()=>[m(R(ge))]),_:1}),t[0]||(t[0]=x("div",{class:"el-upload__text"},[D("拖动文件或"),x("em",null,"点击上传")],-1)),x("div",Ue,"最大上传文件大小"+C(f.size)+"MB",1)]),_:1},8,["file-list","auto-upload","accept","action","limit","headers"])),[[ce,c.value]]):(u(),h("div",Ce,[s.value?.length?(u(),S(a,{key:0,placement:"top"},{content:i(()=>[x("div",Be,[(u(!0),h(j,null,G(s.value,n=>(u(),h("span",{key:n.id,style:{margin:"0 2px"}},C(n.name),1))),128))])]),default:i(()=>[x("div",Fe,[(u(!0),h(j,null,G(s.value,n=>(u(),h("div",{key:n.id,class:"file-item",style:{display:"flex","align-items":"center",overflow:"hidden"}},[m(l,{"model-value":P(n.name),style:{"margin-right":"5px"}},null,8,["model-value"]),x("span",{class:"link-name",onClick:I=>R(L)(n.id)},C(n.name),9,ke)]))),128))])]),_:1})):(u(),h("div",Se,"暂无附件"))]))}}}),et=_e(be,[["__scopeId","data-v-b552e9aa"]]);export{et as default};
@@ -1 +1 @@
1
- import{defineComponent as B,useModel as I,ref as d,computed as U,watch as M,onMounted as P,onBeforeUnmount as z,resolveDirective as D,openBlock as c,createBlock as g,Teleport as j,withDirectives as q,createElementBlock as A,normalizeClass as V,unref as n,createCommentVNode as h,createElementVNode as H,mergeModels as O}from"vue";import{useVModel as F}from"@vueuse/core";import N from"../../api/framework.js";import $ from"../../utils/FrameworkUtils.js";import{toSameOriginFileUrl as G}from"../../utils/toSameOriginFileUrl.js";import J from"../../utils/AxiosConfig.js";import K from"./OfficePreview.vue.js";import Q from"./OfficePreviewToolbar.vue.js";import{isHeaderPreviewFile as W,resolveOfficeFileExt as X}from"../../utils/officePreviewUtil.js";import{_ as Y}from"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"../../utils/request.js";import"axios";import"uuid";import"../../utils/encrypt.js";import"jsencrypt";import"../../utils/buildUploadHeaders.js";import"ts-md5";import"../../utils/behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"element-plus";import"../../utils/frontendBus.js";import"xlsx-js-style";import"../../api/DocumentApi.js";import"./OfficePreviewHeaderBar.vue.js";import"@element-plus/icons-vue";import"./PdfJsViewer.vue.js";import"pdfjs-dist/legacy/build/pdf.mjs";import"pdfjs-dist/legacy/build/pdf.worker.mjs?url";import"../../utils/pdfSearchUtil.js";import"./ExcelJsViewer.vue.js";import"../../utils/excelPreviewUtil.js";import"fflate";import"./DocxJsViewer.vue.js";import"docx-preview";import"../../utils/docxPreviewUtil.js";const Z=B({__name:"FileView",props:O({title:{type:String,default:""},url:{type:String,default:""},fileId:{type:String,default:""},edit:{type:String,default:"view"}},{modelValue:{},modelModifiers:{}}),emits:O(["update:title","update:url","update:fileId","update:edit"],["update:modelValue"]),setup(k,{emit:R}){const m=I(k,"modelValue"),t=d(!1),s=d(1),E=d(null),o=d(!1),f=k,v=R,u=F(f,"title",v),b=F(f,"fileId",v),a=F(f,"url",v),i=U(()=>W(void 0,u.value,a.value)),T=U(()=>t.value&&!i.value),p=()=>E.value,x=()=>{const e=p();o.value=!!e&&document.fullscreenElement===e,document.body.style.overflow=o.value?"hidden":""},w=async()=>{try{document.fullscreenElement===p()&&await document.exitFullscreen()}catch{}o.value=!1,document.body.style.overflow=""},C=async()=>{const e=p();if(e)try{document.fullscreenElement===e?await document.exitFullscreen():await e.requestFullscreen()}catch{o.value=!o.value,document.body.style.overflow=o.value?"hidden":""}},L=async()=>{await w(),m.value=!1};M([m,a],([e,l])=>{e&&l?(i.value||(t.value=!0),s.value=1):e||(t.value=!1,s.value=1,w())},{immediate:!0}),P(()=>{document.addEventListener("fullscreenchange",x)}),z(()=>{document.removeEventListener("fullscreenchange",x),w()});const _=()=>X(void 0,u.value,a.value),S=async()=>{try{t.value=!0;const e=await N.getFileAccessAddress(b.value),l=await J({url:G(e.url),method:"get",responseType:"blob"}),y=new Blob([l.data],{type:"application/"+_()}),r=document.createElement("a");r.href=window.URL.createObjectURL(y),r.download=u.value,r.click(),window.URL.revokeObjectURL(r.href)}catch(e){$.messageError(e)}finally{t.value=!1}};return(e,l)=>{const y=D("loading");return m.value?(c(),g(j,{key:0,to:"body"},[q((c(),A("div",{"element-loading-text":"加载中,请稍后。。。",class:V(["file-view-overlay",{"is-preview-fullscreen":o.value}])},[i.value?h("v-if",!0):(c(),g(Q,{key:0,class:"file-view-toolbar",zoom:s.value,"show-zoom":!1,"show-download":!!n(a),"show-fullscreen":!0,"show-close":!0,fullscreen:o.value,"download-loading":t.value,onDownload:S,onToggleFullscreen:C,onClose:L},null,8,["zoom","show-download","fullscreen","download-loading"])),H("div",{ref_key:"previewContainerRef",ref:E,class:V(["office-preview",{"has-rich-header":i.value,"fullscreen-mode":o.value}])},[n(a)?(c(),g(K,{key:0,scale:s.value,"onUpdate:scale":l[0]||(l[0]=r=>s.value=r),url:n(a),"file-id":n(b),"file-name":n(u),"show-header":i.value,"show-download":!!n(a),"show-fullscreen":i.value,"show-close":i.value,fullscreen:o.value,"download-loading":t.value,onLoaded:l[1]||(l[1]=r=>t.value=!1),onError:l[2]||(l[2]=r=>t.value=!1),onDownload:S,onToggleFullscreen:C,onClose:L},null,8,["scale","url","file-id","file-name","show-header","show-download","show-fullscreen","show-close","fullscreen","download-loading"])):h("v-if",!0)],2)],2)),[[y,T.value]])])):h("v-if",!0)}}}),Me=Y(Z,[["__scopeId","data-v-13a17ad8"]]);export{Me as default};
1
+ import{defineComponent as k,useModel as E,ref as c,onMounted as L,onBeforeUnmount as x,openBlock as C,createBlock as R,Teleport as U,createElementVNode as w,normalizeClass as y,createVNode as I,unref as s,createCommentVNode as M,mergeModels as g}from"vue";import{useVModel as u}from"@vueuse/core";import S from"../../api/DocumentApi.js";import B from"../../utils/FrameworkUtils.js";import N from"./OfficePreview.vue.js";import{_ as O}from"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"../../utils/request.js";import"../../utils/AxiosConfig.js";import"axios";import"uuid";import"../../utils/encrypt.js";import"jsencrypt";import"../../utils/buildUploadHeaders.js";import"ts-md5";import"../../utils/behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"element-plus";import"../../utils/frontendBus.js";import"xlsx-js-style";import"../../utils/officePreviewUtil.js";import"./OfficePreviewHeaderBar.vue.js";import"@element-plus/icons-vue";const j=k({__name:"FileView",props:g({title:{type:String,default:""},url:{type:String,default:""},fileId:{type:String,default:""},edit:{type:String,default:"view"}},{modelValue:{},modelModifiers:{}}),emits:g(["update:title","update:url","update:fileId","update:edit"],["update:modelValue"]),setup(d,{emit:h}){const m=E(d,"modelValue"),n=d,r=h,f=u(n,"title",r),i=u(n,"fileId",r),F=u(n,"url",r),o=c(null),l=c(!1),a=c(!1),p=()=>{const e=o.value;l.value=!!e&&document.fullscreenElement===e,document.body.style.overflow=l.value?"hidden":""},v=async()=>{try{document.fullscreenElement===o.value&&await document.exitFullscreen()}catch{}l.value=!1,document.body.style.overflow=""},_=async()=>{const e=o.value;if(e)try{document.fullscreenElement===e?await document.exitFullscreen():await e.requestFullscreen()}catch{l.value=!l.value,document.body.style.overflow=l.value?"hidden":""}},V=async()=>{await v(),m.value=!1},b=async()=>{if(i.value)try{a.value=!0;const e=await S.downloadFile(i.value),t=document.createElement("a");t.href=URL.createObjectURL(e),t.download=f.value,t.click(),URL.revokeObjectURL(t.href)}catch(e){B.messageError(e)}finally{a.value=!1}};return L(()=>document.addEventListener("fullscreenchange",p)),x(()=>{document.removeEventListener("fullscreenchange",p),v()}),(e,t)=>m.value?(C(),R(U,{key:0,to:"body"},[w("div",{class:y(["file-view-overlay",{"is-preview-fullscreen":l.value}])},[w("div",{ref_key:"previewContainerRef",ref:o,class:y(["office-preview",{"fullscreen-mode":l.value}])},[I(N,{url:s(F),"file-id":s(i),"file-name":s(f),"show-header":"","show-download":"","show-fullscreen":"","show-close":"",fullscreen:l.value,"download-loading":a.value,onDownload:b,onToggleFullscreen:_,onClose:V},null,8,["url","file-id","file-name","fullscreen","download-loading"])],2)],2)])):M("v-if",!0)}}),ae=O(j,[["__scopeId","data-v-52672773"]]);export{ae as default};
@@ -1,4 +1,3 @@
1
- import 'vue-img-viewr/styles/index.css';
2
1
  declare const _default: import("vue").DefineComponent<{}, {
3
2
  viewFile: (id: string) => void;
4
3
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
@@ -1 +1 @@
1
- import{defineComponent as f,ref as o,openBlock as w,createBlock as v,createCommentVNode as g}from"vue";import"vue-img-viewr/styles/index.css";import{showImages as F}from"vue-img-viewr";import b from"../../api/DocumentApi.js";import U from"../../utils/FrameworkUtils.js";import k from"../../api/framework.js";import{toSameOriginFileUrl as V}from"../../utils/toSameOriginFileUrl.js";import x from"./FileView.vue.js";import I from"../../utils/AxiosConfig.js";import{getFileSuffix as _,isPreviewableSuffix as y}from"../../utils/uploadAccept.js";import"../../utils/request.js";import"axios";import"uuid";import"../../utils/encrypt.js";import"jsencrypt";import"../../utils/buildUploadHeaders.js";import"ts-md5";import"../../utils/behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"element-plus";import"../../utils/frontendBus.js";import"xlsx-js-style";import"@vueuse/core";import"./OfficePreview.vue.js";import"./OfficePreviewHeaderBar.vue.js";import"@element-plus/icons-vue";import"../../utils/officePreviewUtil.js";import"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"./PdfJsViewer.vue.js";import"pdfjs-dist/legacy/build/pdf.mjs";import"pdfjs-dist/legacy/build/pdf.worker.mjs?url";import"../../utils/pdfSearchUtil.js";import"./ExcelJsViewer.vue.js";import"../../utils/excelPreviewUtil.js";import"fflate";import"./DocxJsViewer.vue.js";import"docx-preview";import"../../utils/docxPreviewUtil.js";import"./OfficePreviewToolbar.vue.js";const we=f({__name:"FileViewComponents",setup(L,{expose:s}){const i=o(!1),p=o(""),a=o(""),n=o(""),u=o("view"),c=["jpg","jpeg","png","gif","bmp"],d=async(r,e)=>{const t=await I({url:V(e),method:"get",responseType:"blob"}),m=new Blob([t.data]),l=document.createElement("a");l.href=window.URL.createObjectURL(m),l.download=r.name,l.click(),window.URL.revokeObjectURL(l.href)};return s({viewFile:async r=>{try{const e=await b.getUpLoadFilesVoById(r),t=await k.getFileAccessAddress(e.id),m=_(e);if(!y(m)){await d(e,t.url);return}c.includes(m)?F({urls:[t.url],index:0}):(p.value=e.name,a.value=t.url,n.value=e.id,i.value=!0)}catch(e){U.messageError(e)}}}),(r,e)=>i.value?(w(),v(x,{key:0,modelValue:i.value,"onUpdate:modelValue":e[0]||(e[0]=t=>i.value=t),title:p.value,url:a.value,fileId:n.value,edit:u.value},null,8,["modelValue","title","url","fileId","edit"])):g("v-if",!0)}});export{we as default};
1
+ import{defineComponent as d,ref as l,openBlock as f,createBlock as u,createCommentVNode as v}from"vue";import n from"../../api/DocumentApi.js";import w from"../../utils/FrameworkUtils.js";import F from"./FileView.vue.js";import{getFileSuffix as V,isPreviewableSuffix as k}from"../../utils/uploadAccept.js";import"../../utils/request.js";import"../../utils/AxiosConfig.js";import"axios";import"uuid";import"../../utils/encrypt.js";import"jsencrypt";import"../../utils/buildUploadHeaders.js";import"ts-md5";import"../../utils/behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"element-plus";import"../../utils/frontendBus.js";import"xlsx-js-style";import"@vueuse/core";import"./OfficePreview.vue.js";import"../../utils/officePreviewUtil.js";import"./OfficePreviewHeaderBar.vue.js";import"@element-plus/icons-vue";import"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";const M=d({__name:"FileViewComponents",setup(U,{expose:p}){const i=l(!1),m=l(""),a=l(""),s=l("view"),c=async(o,e)=>{const t=await n.downloadFile(o),r=document.createElement("a");r.href=URL.createObjectURL(t),r.download=e,r.click(),URL.revokeObjectURL(r.href)};return p({viewFile:async o=>{try{const e=await n.getUpLoadFilesVoById(o),t=V(e);if(!k(t)){await c(e.id,e.name);return}m.value=e.name,a.value=e.id,i.value=!0}catch(e){w.messageError(e)}}}),(o,e)=>i.value?(f(),u(F,{key:0,modelValue:i.value,"onUpdate:modelValue":e[0]||(e[0]=t=>i.value=t),title:m.value,"file-id":a.value,edit:s.value},null,8,["modelValue","title","file-id","edit"])):v("v-if",!0)}});export{M as default};
@@ -1,6 +1,5 @@
1
- import { type OfficePreviewType } from '../../utils/officePreviewUtil.ts';
2
1
  type __VLS_Props = {
3
- url: string;
2
+ url?: string;
4
3
  fileId?: string;
5
4
  fileName?: string;
6
5
  fileType?: string;
@@ -15,19 +14,17 @@ type __VLS_Props = {
15
14
  fullscreen?: boolean;
16
15
  downloadLoading?: boolean;
17
16
  refreshLoading?: boolean;
18
- /** 库里有附件记录但物理文件无法加载时的提示 */
19
17
  lostDescription?: string;
20
- /** 父组件已判定附件丢失(如无下载地址)时直接展示丢失态 */
21
18
  attachmentLost?: boolean;
22
19
  };
23
20
  type __VLS_PublicProps = __VLS_Props & {
24
21
  'scale'?: number;
25
22
  };
26
23
  declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {
24
+ reloadPreview: () => void;
27
25
  zoomIn: () => void;
28
26
  zoomOut: () => void;
29
27
  resetZoom: () => void;
30
- officeType: globalThis.ComputedRef<OfficePreviewType>;
31
28
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
32
29
  close: () => any;
33
30
  error: (err?: unknown) => any;
@@ -45,6 +42,7 @@ declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {
45
42
  "onToggle-fullscreen"?: (() => any) | undefined;
46
43
  "onUpdate:scale"?: ((value: number) => any) | undefined;
47
44
  }>, {
45
+ url: string;
48
46
  showClose: boolean;
49
47
  fullscreen: boolean;
50
48
  showSearch: boolean;
@@ -55,6 +53,9 @@ declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {
55
53
  showFullscreen: boolean;
56
54
  downloadLoading: boolean;
57
55
  refreshLoading: boolean;
56
+ fileId: string;
57
+ fileName: string;
58
+ fileType: string;
58
59
  showHeader: boolean;
59
60
  lostDescription: string;
60
61
  attachmentLost: boolean;