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.
- package/dist/chunks/ElCopyTooltip.vue_vue_type_script_setup_true_lang-BaGdbtdl.js +1 -0
- package/dist/chunks/ElDescForm.vue_vue_type_style_index_0_lang-BWBYJdhP.js +1 -0
- package/dist/chunks/ElTitle.vue_vue_type_script_setup_true_lang-Q56tPEAu.js +1 -0
- package/dist/chunks/operationAuth.vue_vue_type_script_setup_true_lang-D1ZaiewR.js +1 -0
- package/dist/src/api/DocumentApi.d.ts +6 -2
- package/dist/src/api/DocumentApi.js +1 -1
- package/dist/src/components/ElCardList.vue.js +1 -1
- package/dist/src/components/ElDescForm/ElDescForm.vue.d.ts +6 -4
- package/dist/src/components/ElDescForm/ElDescForm.vue.js +1 -1
- package/dist/src/components/OperationAuth/operationAuth.vue.d.ts +2 -2
- package/dist/src/components/OperationAuth/operationAuth.vue.js +1 -1
- package/dist/src/components/Search/ElSearchInput.vue.d.ts +37 -0
- package/dist/src/components/Search/ElSearchInput.vue.js +2 -0
- package/dist/src/components/Title/ElTitle.vue.d.ts +2 -4
- package/dist/src/components/Title/ElTitle.vue.js +1 -1
- package/dist/src/components/business/comp.selectUser.vue.js +1 -1
- package/dist/src/components/business/comp.userForm.vue.js +1 -1
- package/dist/src/components/business/userSelectContent.vue.js +1 -1
- package/dist/src/components/tooltip/ElCopyTooltip.vue.d.ts +14 -0
- package/dist/src/components/tooltip/ElCopyTooltip.vue.js +1 -0
- package/dist/src/components/tooltip/src/tooltip.js +1 -1
- package/dist/src/components/upload/CustomElUpload.vue.js +1 -1
- package/dist/src/components/upload/FileView.vue.js +1 -1
- package/dist/src/components/upload/FileViewComponents.vue.d.ts +0 -1
- package/dist/src/components/upload/FileViewComponents.vue.js +1 -1
- package/dist/src/components/upload/OfficePreview.vue.d.ts +6 -5
- package/dist/src/components/upload/OfficePreview.vue.js +1 -1
- package/dist/src/components/upload/OfficePreviewHeaderBar.vue.d.ts +1 -1
- package/dist/src/components/upload/OfficePreviewHeaderBar.vue.js +1 -1
- package/dist/src/hooks/createDialogHooks.js +2 -2
- package/dist/src/mixin/globalMixin.js +1 -1
- package/dist/src/packages/index.d.ts +84 -1
- package/dist/src/packages/index.js +1 -1
- package/dist/src/plugins/plugins.js +1 -1
- package/dist/src/plugins/renderDialog.js +1 -1
- package/dist/src/utils/AxiosConfig.js +1 -1
- package/dist/src/utils/iconfontRuntime.d.ts +2 -0
- package/dist/src/utils/iconfontRuntime.js +1 -1
- package/dist/src/utils/modules.js +2 -2
- package/dist/src/utils/request.js +1 -1
- package/dist/styles/core.css +1 -1
- package/dist/styles/element-ui.css +1 -1
- package/dist/vite/umoIntegration.d.ts +1 -1
- package/dist/vite/umoIntegration.js +1 -1
- package/package.json +3 -6
- package/dist/chunks/ElDescForm.vue_vue_type_style_index_0_lang-BFA5653m.js +0 -1
- package/dist/chunks/ElTitle.vue_vue_type_script_setup_true_lang-B0oGtxWu.js +0 -1
- package/dist/chunks/operationAuth.vue_vue_type_script_setup_true_lang-C4oxU5Qi.js +0 -1
- package/dist/src/components/autoToolTip/ElAutoToolTip.vue.d.ts +0 -25
- package/dist/src/components/autoToolTip/ElAutoToolTip.vue.js +0 -1
- package/dist/src/components/upload/DocxJsViewer.vue.d.ts +0 -32
- package/dist/src/components/upload/DocxJsViewer.vue.js +0 -1
- package/dist/src/components/upload/ExcelJsViewer.vue.d.ts +0 -33
- package/dist/src/components/upload/ExcelJsViewer.vue.js +0 -1
- package/dist/src/components/upload/OfficePreviewToolbar.vue.d.ts +0 -41
- package/dist/src/components/upload/OfficePreviewToolbar.vue.js +0 -1
- package/dist/src/components/upload/PdfJsViewer.vue.d.ts +0 -49
- package/dist/src/components/upload/PdfJsViewer.vue.js +0 -1
- package/dist/src/utils/docxPreviewUtil.d.ts +0 -10
- package/dist/src/utils/docxPreviewUtil.js +0 -1
- package/dist/src/utils/excelPreviewUtil.d.ts +0 -41
- package/dist/src/utils/excelPreviewUtil.js +0 -1
- package/dist/src/utils/pdfSearchUtil.d.ts +0 -30
- 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
|
-
/**
|
|
12
|
-
|
|
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
|
|
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
|
|
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
|
|
23
|
+
declare var __VLS_92: string, __VLS_93: {
|
|
22
24
|
field: ResolvedDescFormField;
|
|
23
25
|
model: Record<string, any>;
|
|
24
|
-
},
|
|
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-
|
|
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
|
|
17
|
+
declare var __VLS_27: {};
|
|
18
18
|
type __VLS_Slots = {} & {
|
|
19
|
-
default?: (props: typeof
|
|
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-
|
|
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: {},
|
|
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
|
-
|
|
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-
|
|
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"
|
|
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
|
|
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),
|
|
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?"已复制":"复制")])
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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;
|