adtec-hnyzfc-core-package 1.5.2 → 1.5.4
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-MdgIHwF2.js +2 -0
- package/dist/chunks/ElDescForm.vue_vue_type_style_index_0_lang-DRKuI9Xa.js +1 -0
- package/dist/src/api/DocumentApi.d.ts +5 -1
- package/dist/src/api/DocumentApi.js +1 -1
- package/dist/src/api/EmployeeInfoApi.d.ts +5 -0
- package/dist/src/api/EmployeeInfoApi.js +1 -1
- package/dist/src/components/ElDescForm/ElDescForm.vue.js +1 -1
- package/dist/src/components/Search/ElSearch.vue.js +1 -1
- package/dist/src/components/business/comp.userForm.vue.d.ts +6 -0
- package/dist/src/components/business/comp.userForm.vue.js +1 -1
- package/dist/src/components/tooltip/ElCopyTooltip.vue.js +1 -1
- package/dist/src/components/upload/AttachmentPreview.vue.d.ts +1 -1
- package/dist/src/components/upload/OfficePreview.vue.d.ts +1 -1
- package/dist/src/components/upload/OfficePreview.vue.js +2 -2
- package/dist/src/hooks/createDialogHooks.js +20 -17
- package/dist/src/mixin/globalMixin.js +1 -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/fileDownload.js +1 -1
- package/dist/src/utils/modules.js +1 -1
- package/dist/styles/element-ui.css +1 -1
- package/package.json +1 -1
- package/dist/chunks/ElCopyTooltip.vue_vue_type_script_setup_true_lang-Qg1P3If6.js +0 -2
- package/dist/chunks/ElDescForm.vue_vue_type_style_index_0_lang-BU3FMUMx.js +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{defineComponent as J,useAttrs as K,useSlots as Q,ref as i,computed as n,onMounted as X,onUpdated as Y,onBeforeUnmount as Z,openBlock as g,createBlock as ee,unref as H,normalizeProps as te,guardReactiveProps as oe,withCtx as j,createElementVNode as w,normalizeClass as I,renderSlot as L,createTextVNode as M,toDisplayString as h,createCommentVNode as x,createElementBlock as T,Fragment as re,withModifiers as ne,nextTick as b}from"vue";import{ElTooltip as le}from"element-plus";const se={class:"adtec-copy-tooltip__body"},ie=["innerHTML"],ae={key:0,class:"adtec-copy-tooltip__copy-bar"},pe=J({name:"ElCopyTooltip",inheritAttrs:!1,__name:"ElCopyTooltip",setup(ce){const o=K(),C=Q(),O=i(),p=i(),v=i(!1),d=i(!1),A=i(!1),m=i(!1);let a,c;const l=n(()=>{const e=o.content;return e==null?"":String(e)}),V=n(()=>o.rawContent===!0||o["raw-content"]===!0),W=n(()=>!!C.content||l.value.trim().length>0),u=n(()=>{const e=o["overflow-only"]??o.overflowOnly;if(e!==void 0)return e!==!1&&e!=="false"}),R=n(()=>u.value===void 0?d.value:u.value),S=n(()=>u.value===void 0?d.value:u.value),_=()=>{const e=o["virtual-triggering"]??o.virtualTriggering;return e===!0||e===""},q=n(()=>!_()&&!A.value),k=e=>String(e??"").replace(/\s+/g," ").trim(),z=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'),N=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),P=e=>{if(_()||z(e))return!1;const t=k(e.innerText||e.textContent);if(!t)return!1;const r=k(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;A.value=_()||z(e);const t=u.value,r=P(e),y=t===void 0?r:t,f=t===void 0?r:t;if(d.value!==r){d.value=r,b(s);return}if(R.value!==y){b(s);return}const E=f&&N(e);m.value!==E&&(m.value=E)},B=()=>{b(()=>{s(),!c&&p.value&&typeof ResizeObserver<"u"&&(c=new ResizeObserver(s),c.observe(p.value))})},U=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):"",$=n(()=>{const e=o["popper-class"]??o.popperClass;return["adtec-copy-tooltip-popper",U(e)].filter(Boolean).join(" ")}),D=n(()=>{const{"popper-class":e,popperClass:t,"overflow-only":r,overflowOnly:y,...f}=o;return{...f,"show-after":f["show-after"]??f.showAfter??1e3,effect:o.effect??"light","popper-class":$.value,disabled:o.disabled===!0||o.disabled===""||!W.value||S.value&&!m.value}});X(()=>{B(),window.addEventListener("resize",s)}),Y(B),Z(()=>{c?.disconnect(),c=void 0,window.removeEventListener("resize",s),a&&window.clearTimeout(a)});const F=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},G=async()=>{const e=(O.value?.innerText||l.value).trim();await F(e)&&(v.value=!0,a&&window.clearTimeout(a),a=window.setTimeout(()=>{v.value=!1},1500))};return(e,t)=>(g(),ee(H(le),te(oe(D.value)),{content:j(()=>[w("div",se,[w("div",{ref_key:"contentRef",ref:O,class:"adtec-copy-tooltip__content"},[L(e.$slots,"content",{},()=>[V.value?(g(),T("span",{key:0,innerHTML:l.value},null,8,ie)):(g(),T(re,{key:1},[M(h(l.value),1)],64))])],512),x(` 仅文本溢出类 tooltip(内容被省略、需要查看/复制全文)保留复制条;
|
|
2
|
+
按钮/图标/输入控件及虚拟触发等交互型语义提示一律不显示复制功能 `),q.value?(g(),T("div",ae,[w("button",{type:"button",class:I(["adtec-copy-tooltip__copy-btn",{"is-copied":v.value}]),title:"复制内容",onClick:ne(G,["stop"])},h(v.value?"已复制":"复制"),3)])):x("v-if",!0)])]),default:j(()=>[w("span",{ref_key:"referenceRef",ref:p,class:I(["adtec-copy-tooltip__trigger",{"adtec-copy-tooltip__trigger--text":R.value,"adtec-copy-tooltip__trigger--overflow":S.value}])},[H(C).default?L(e.$slots,"default",{},()=>[M(h(l.value),1)],void 0,0):x("v-if",!0)],2)]),_:3},16))}});export{pe as _};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{defineComponent as pe,ref as de,reactive as ie,onMounted as me,onUpdated as ye,onBeforeUnmount as ve,computed as E,resolveComponent as p,openBlock as c,createBlock as d,withKeys as he,withCtx as i,createCommentVNode as S,createVNode as C,createElementBlock as x,Fragment as F,renderList as T,normalizeClass as Y,createElementVNode as z,toDisplayString as A,mergeProps as y,createTextVNode as D,renderSlot as I,nextTick as L}from"vue";import{DATE_FORMAT as fe,formatDateTime as be}from"../src/utils/dateTime.js";const _e=["onMouseenter"],Ve={key:11,class:"el-desc-form__readonly-slot"},$="—",ke=pe({__name:"ElDescForm",props:{model:{},fields:{},rules:{default:()=>({})},column:{default:4},border:{type:Boolean,default:!0},readonly:{type:Boolean,default:!1},title:{},scrollToError:{type:Boolean,default:!0},scrollIntoViewOptions:{type:Boolean,default:()=>({behavior:"smooth",block:"center"})}},setup(a,{expose:K}){const h=a,V=de(),g=new Map,k=new Map,U=ie({}),w=e=>{const o=g.get(e),l=!!o&&o.scrollWidth>o.clientWidth;U[e]!==l&&(U[e]=l)},N=()=>{L(()=>{g.forEach((e,o)=>w(o))})},P=(e,o)=>{const l=o;if(g.get(e)===l){l&&w(e);return}if(k.get(e)?.disconnect(),k.delete(e),delete U[e],!l){g.delete(e);return}if(g.set(e,l),typeof ResizeObserver<"u"){const n=new ResizeObserver(()=>w(e));n.observe(l),k.set(e,n)}L(()=>w(e))};me(N),ye(N),ve(()=>{k.forEach(e=>e.disconnect()),k.clear(),g.clear()});const f=E(()=>Math.min(4,Math.max(1,h.column||4))),H=e=>{const o=V.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 s=document.activeElement;if(!s||!l.includes(s))return;const n=l.indexOf(s),u=e.shiftKey?-1:1,b=(n+u+l.length)%l.length;e.preventDefault();const _=l[b];_.focus();try{const m=_.value.length;_.setSelectionRange(m,m)}catch{}},j=E(()=>{const e={...h.rules};for(const o of h.fields)o.rules?.length&&(e[o.prop]=[...e[o.prop]||[],...o.rules]);return e}),W=E(()=>{const e=[];let o=0,l=0;const s=n=>{for(let u=0;u<n;u+=1)e.push({prop:`__descFormFiller${l++}`,label:"",type:"slot",span:1})};for(const n of h.fields){if(!(typeof n.show=="function"?n.show(h.model):n.show!==!1))continue;const b=Q(n),_=Math.min(Math.max(1,b.span??1),f.value);_>f.value-o&&(s(f.value-o),o=0),e.push(b),o+=_,o>=f.value&&(o=0)}return o>0&&s(f.value-o),e}),M=e=>{const o=e.props||{};return h.readonly===!0||e.readonly===!0||o.readonly===!0},B=(e,o)=>e===o||String(e)===String(o),R=(e,o)=>{if(!e?.length)return;const l=e.find(s=>B(s.value,o));return l===void 0?void 0:String(l.label)},O=(e,o)=>{if(e?.length)for(const l of e){if(B(l.value,o))return String(l.label??l.name??"");if(l.children?.length){const s=O(l.children,o);if(s)return s}}},G=(e,o)=>{let l=e||[];const s=[];for(const n of o){const u=l.find(b=>B(b.value,n));if(!u)break;s.push(String(u.label??u.name??"")),l=u.children||[]}return s.join(" / ")},v=e=>e.trim()||$,q=e=>{const o=h.model?.[e.prop];if(o==null||typeof o=="string"&&o.trim()===""||Array.isArray(o)&&o.length===0)return $;const l=e.props||{},s=e.options;if(e.type==="select")return Array.isArray(o)?v(o.map(n=>R(s,n)??String(n)).filter(Boolean).join("、")):v(R(s,o)??String(o));if(e.type==="radio")return v(R(s,o)??String(o));if(e.type==="checkbox"){const n=Array.isArray(o)?o:[o];return v(n.map(u=>R(s,u)??String(u)).filter(Boolean).join("、"))}if(e.type==="tree-select"){const n=s||l.data;return Array.isArray(o)?v(o.map(u=>O(n,u)??String(u)).filter(Boolean).join("、")):v(O(n,o)??String(o))}if(e.type==="cascader"){const n=G(s,Array.isArray(o)?o:[o]);return v(n||(Array.isArray(o)?o.join(" / "):String(o)))}if(e.type==="switch")return o===!0||o===1||o==="1"?l["active-text"]||"是":l["inactive-text"]||"否";if(e.type==="date"){const n=String(l.type||"date"),u=String(l.valueFormat||l.format||"")||(n==="year"?"YYYY":n==="month"?"YYYY-MM":n==="time"?"HH:mm:ss":fe);return v(be(String(o),{format:u})||String(o))}return v(String(o))},J=e=>!!j.value[e.prop]?.some(l=>l.required),Q=e=>{const o=l=>typeof l=="function"?l(h.model):l;return{...e,span:e.type==="textarea"?f.value:Math.min(Math.max(1,e.span??1),f.value),label:o(e.label),tip:e.tip?o(e.tip):void 0,options:e.options?o(e.options):void 0,placeholder:e.placeholder?o(e.placeholder):void 0,props:e.props?o(e.props):void 0}};return K({validate:e=>V.value?.validate(e),validateField:(e,o)=>V.value?.validateField(e,o),scrollToField:e=>V.value?.scrollToField(e),resetFields:()=>V.value?.resetFields(),clearValidate:()=>V.value?.clearValidate()}),(e,o)=>{const l=p("el-title"),s=p("el-icons"),n=p("el-tooltip"),u=p("el-input"),b=p("el-numeric-input"),_=p("el-option"),m=p("el-select"),X=p("el-date-picker"),Z=p("el-switch"),ee=p("el-radio"),oe=p("el-radio-group"),te=p("el-checkbox"),le=p("el-checkbox-group"),re=p("el-tree-select"),ne=p("el-cascader"),ae=p("el-form-item"),se=p("el-descriptions-item"),ce=p("el-descriptions"),ue=p("el-form");return c(),d(ue,{ref_key:"formRef",ref:V,class:"el-desc-form",model:a.model,rules:j.value,"validate-on-rule-change":!1,"scroll-to-error":a.scrollToError,"scroll-into-view-options":a.scrollIntoViewOptions,onKeydown:he(H,["tab"])},{default:i(()=>[S(" 内容块二级标题:弹窗/抽屉内表单区块统一用 el-desc-form title 声明式渲染,避免各页面手写 "),a.title?(c(),d(l,{key:0,level:"1",title:a.title,style:{"border-bottom":"var(--border)","margin-bottom":"8px"}},null,8,["title"])):S("v-if",!0),C(ce,{direction:"vertical",column:f.value,border:a.border},{default:i(()=>[(c(!0),x(F,null,T(W.value,t=>(c(),d(se,{key:t.prop,label:t.label||void 0,span:t.span},{label:i(()=>[t.label?(c(),x("span",{key:0,class:Y(["el-desc-form__label",{"el-desc-form__label--required":J(t)}])},[D(A(t.label)+" ",1),t.tip?(c(),d(n,{key:0,content:t.tip,placement:"top","popper-class":"el-desc-form-tip-popper"},{default:i(()=>[C(s,{"model-value":"adtec-info",class:"el-desc-form__label-tip"})]),_:1},8,["content"])):S("v-if",!0)],2)):S("v-if",!0)]),default:i(()=>[C(ae,{prop:M(t)?void 0:t.prop,class:Y({"el-desc-form__form-item--multiline":t.type==="textarea"}),style:{"margin-bottom":"0"},"hide-required-asterisk":""},{default:i(()=>[S(" 只读模式:统一处理文本溢出,只有内容超出单元格宽度时才打开 tooltip "),M(t)&&t.type&&t.type!=="slot"?(c(),d(n,{key:0,content:q(t),disabled:!U[t.prop],effect:"light",placement:"top","popper-class":"el-desc-form-readonly-tip-popper"},{default:i(()=>[z("span",{class:Y(["el-desc-form__readonly-text",{"el-desc-form__readonly-text--multiline":t.type==="textarea"}]),onMouseenter:r=>w(t.prop)},[z("span",{ref_for:!0,ref:r=>P(t.prop,r),class:"el-desc-form__readonly-text-content"},A(q(t)),513)],42,_e)]),_:2},1032,["content","disabled"])):t.type==="input"?(c(),d(u,y({key:1,modelValue:a.model[t.prop],"onUpdate:modelValue":r=>a.model[t.prop]=r},{ref_for:!0},t.props,{placeholder:t.placeholder}),null,16,["modelValue","onUpdate:modelValue","placeholder"])):t.type==="textarea"?(c(),d(u,y({key:2,modelValue:a.model[t.prop],"onUpdate:modelValue":r=>a.model[t.prop]=r,type:"textarea",autosize:{minRows:2,maxRows:4}},{ref_for:!0},t.props,{placeholder:t.placeholder}),null,16,["modelValue","onUpdate:modelValue","placeholder"])):t.type==="number"?(c(),d(b,y({key:3,modelValue:a.model[t.prop],"onUpdate:modelValue":r=>a.model[t.prop]=r},{ref_for:!0},t.props),null,16,["modelValue","onUpdate:modelValue"])):t.type==="select"?(c(),d(m,y({key:4,modelValue:a.model[t.prop],"onUpdate:modelValue":r=>a.model[t.prop]=r},{ref_for:!0},t.props,{placeholder:t.placeholder,clearable:""}),{default:i(()=>[(c(!0),x(F,null,T(t.options,r=>(c(),d(_,{key:r.value,label:r.label,value:r.value,disabled:r.disabled},null,8,["label","value","disabled"]))),128))]),_:2},1040,["modelValue","onUpdate:modelValue","placeholder"])):t.type==="date"?(c(),d(X,y({key:5,modelValue:a.model[t.prop],"onUpdate:modelValue":r=>a.model[t.prop]=r},{ref_for:!0},t.props,{type:t.props?.type||"date",placeholder:t.placeholder,style:{width:"100%"}}),null,16,["modelValue","onUpdate:modelValue","type","placeholder"])):t.type==="switch"?(c(),d(Z,y({key:6,modelValue:a.model[t.prop],"onUpdate:modelValue":r=>a.model[t.prop]=r},{ref_for:!0},t.props),null,16,["modelValue","onUpdate:modelValue"])):t.type==="radio"?(c(),d(oe,y({key:7,modelValue:a.model[t.prop],"onUpdate:modelValue":r=>a.model[t.prop]=r},{ref_for:!0},t.props),{default:i(()=>[(c(!0),x(F,null,T(t.options,r=>(c(),d(ee,{key:r.value,value:r.value},{default:i(()=>[D(A(r.label),1)]),_:2},1032,["value"]))),128))]),_:2},1040,["modelValue","onUpdate:modelValue"])):t.type==="checkbox"?(c(),d(le,y({key:8,modelValue:a.model[t.prop],"onUpdate:modelValue":r=>a.model[t.prop]=r},{ref_for:!0},t.props),{default:i(()=>[(c(!0),x(F,null,T(t.options,r=>(c(),d(te,{key:r.value,value:r.value},{default:i(()=>[D(A(r.label),1)]),_:2},1032,["value"]))),128))]),_:2},1040,["modelValue","onUpdate:modelValue"])):t.type==="tree-select"?(c(),d(re,y({key:9,modelValue:a.model[t.prop],"onUpdate:modelValue":r=>a.model[t.prop]=r},{ref_for:!0},t.props,{placeholder:t.placeholder,style:{width:"100%"}}),null,16,["modelValue","onUpdate:modelValue","placeholder"])):t.type==="cascader"?(c(),d(ne,y({key:10,modelValue:a.model[t.prop],"onUpdate:modelValue":r=>a.model[t.prop]=r,options:t.options},{ref_for:!0},t.props,{style:{width:"100%"}}),null,16,["modelValue","onUpdate:modelValue","options"])):M(t)?(c(),x("div",Ve,[I(e.$slots,t.slot||t.prop,{field:t,model:a.model})])):I(e.$slots,t.slot||t.prop,{field:t,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","scroll-to-error","scroll-into-view-options"])}}});export{ke as _};
|
|
@@ -25,7 +25,11 @@ declare const _default: {
|
|
|
25
25
|
/**
|
|
26
26
|
* 通过鉴权接口下载附件,不向前端暴露存储地址。
|
|
27
27
|
* format:original(默认,原始附件)/ pdf(Office 文档导出 PDF,后端转换后同样叠加水印)。
|
|
28
|
+
* 返回后端 Content-Disposition 指定的文件名,前端据此命名可保证 .pdf 等后缀与内容一致。
|
|
28
29
|
*/
|
|
29
|
-
downloadFile(id: string, format?: string): Promise<
|
|
30
|
+
downloadFile(id: string, format?: string): Promise<{
|
|
31
|
+
blob: Blob;
|
|
32
|
+
fileName?: string;
|
|
33
|
+
}>;
|
|
30
34
|
};
|
|
31
35
|
export default _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import
|
|
1
|
+
import o from"../utils/request.js";import i from"../utils/AxiosConfig.js";import"axios";import"../utils/uuid.js";import"uuid";import"../utils/encrypt.js";import"jsencrypt";import"../utils/behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"../utils/behaviorContext.js";import"../utils/dateTime.js";import"element-plus";import"../utils/frontendBus.js";import"../utils/globalLoading.js";import"vue";import"../utils/workflowTaskContext.js";import"../config/GlobalLoadingConfig.js";const r="/api/doc/",n=e=>{if(!e)return;const t=/filename\*=(?:UTF-8|utf-8)''([^;]+)/i.exec(e);if(t?.[1])try{return decodeURIComponent(t[1].trim())}catch{}return/filename="?([^";]+)"?/i.exec(e)?.[1]?.trim()},x={getUpLoadFilesVoById(e){return o.get(r+"getUpLoadFilesVoById/"+e)},getFileAccessAddress(e){return o.get(r+"getFileAccessAddress",{id:e})},async createRichTextImageUrl(e){const{url:t}=await this.createPreviewSession(e),s=/\/preview\/fileView\/([^/]+)\//.exec(t||"");if(!s?.[1])throw new Error("预览会话创建失败");return`${r}preview/fileView/${encodeURIComponent(s[1])}/image`},getUpLoadFilesByBussinessIds(e,t){const s=t===void 0?r+"getUpLoadFilesByBussinessIds":r+"getUpLoadFilesByBussinessIds/"+t;return o.post(s,e)},delSysUploadFile(e){return o.get(r+"delSysUploadFile/"+e)},getBusinessDocuments(e,t){return o.get(r+"getBusinessDocuments/"+e+"/"+t)},fileStatusConfirmation(e){return o.post(r+"fileStatusConfirmation",e)},delSysUploadFiles(e){return o.post(r+"delSysUploadFiles",e)},updateFilesCreateBy(e,t){return o.post(r+"updateFilesCreateBy",{ids:e,createBy:t})},createPreviewSession(e){return o.post(r+"preview/session/"+e)},async downloadFile(e,t){const s=await i({url:r+"preview/download/"+e+(t?"?format="+t:""),method:"get",responseType:"blob"});return{blob:s.data,fileName:n(s.headers?.["content-disposition"])}}};export{x as default};
|
|
@@ -3,5 +3,10 @@ import type { IMdmEmployee } from '../interface/IMdmEmployee';
|
|
|
3
3
|
import type { PageData } from '../interface/PageData';
|
|
4
4
|
declare const _default: {
|
|
5
5
|
getMdmEmployeeListByIds(query: IMdmEmployeeQuery): Promise<PageData<IMdmEmployee>>;
|
|
6
|
+
/**
|
|
7
|
+
* 按人员编码精确查询人员基础信息。
|
|
8
|
+
* 用于“库里存编码、界面回显姓名/已选”的场景(编码 -> 人员信息)。
|
|
9
|
+
*/
|
|
10
|
+
getMdmEmployeeBaseInfo(userCode: string): Promise<IMdmEmployee>;
|
|
6
11
|
};
|
|
7
12
|
export default _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import o from"../utils/request.js";import"../utils/AxiosConfig.js";import"axios";import"../utils/uuid.js";import"uuid";import"../utils/encrypt.js";import"jsencrypt";import"../utils/behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"../utils/behaviorContext.js";import"../utils/dateTime.js";import"element-plus";import"../utils/frontendBus.js";import"../utils/globalLoading.js";import"vue";import"../utils/workflowTaskContext.js";import"../config/GlobalLoadingConfig.js";const m="/api/base/mdmEmployee/",
|
|
1
|
+
import o from"../utils/request.js";import"../utils/AxiosConfig.js";import"axios";import"../utils/uuid.js";import"uuid";import"../utils/encrypt.js";import"jsencrypt";import"../utils/behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"../utils/behaviorContext.js";import"../utils/dateTime.js";import"element-plus";import"../utils/frontendBus.js";import"../utils/globalLoading.js";import"vue";import"../utils/workflowTaskContext.js";import"../config/GlobalLoadingConfig.js";const m="/api/base/mdmEmployee/",c={getMdmEmployeeListByIds(t){return o.post(m+"getMdmEmployeeListByIds",t)},getMdmEmployeeBaseInfo(t){return o.get(m+"getMdmEmployeeBaseInfo",{userCode:t})}};export{c as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as o}from"../../../chunks/ElDescForm.vue_vue_type_style_index_0_lang-
|
|
1
|
+
import{_ as o}from"../../../chunks/ElDescForm.vue_vue_type_style_index_0_lang-DRKuI9Xa.js";import"vue";import"../../utils/dateTime.js";export{o as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{defineComponent as
|
|
1
|
+
import{defineComponent as U,computed as V,ref as s,inject as j,watch as d,nextTick as C,onMounted as I,onUnmounted as K,resolveComponent as k,openBlock as $,createBlock as M,withKeys as P,withCtx as a,createVNode as l,createElementVNode as S,normalizeStyle as W,renderSlot as X,createTextVNode as m,normalizeClass as q,withDirectives as _,unref as H,vShow as g,toDisplayString as F}from"vue";import{useWindowSize as G}from"@vueuse/core";import{useRouter as J}from"vue-router";import{ArrowDown as L,ArrowUp as O}from"@element-plus/icons-vue";import{_ as x}from"../../../chunks/ElFlex.vue_vue_type_script_setup_true_lang-DYk3SQcE.js";import{frontendBus as N}from"../../utils/frontendBus.js";import{_ as Q}from"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"../../interface/enum/FlexEnum.js";import"../icon/ElIcons.vue.js";const Y=U({__name:"ElSearch",emits:["reset","search"],setup(Z,{emit:T}){const B=J(),E=V(()=>B.currentRoute.value.name),i=s(),e=s("展开"),t=s("95px"),n=s(!1),r=s(),w=G(),v=j("collapsed"),c=s(!1),y=u=>{c.value=u};d(()=>v?.value,()=>{c.value=v?.value??!1}),d(c,()=>{console.log("collapsedSearch"),f()}),d(w.width,()=>{f()});const f=()=>{C(()=>{setTimeout(()=>{r.value?.children.length>0&&(r.value.children[0].offsetHeight>95?r.value.children[0].offsetHeight<=95?n.value=!1:(n.value=!0,t.value="95px",e.value="展开"):r.value.children[0].offsetHeight!==0?(n.value=!1,t.value=r.value.children[0].offsetHeight+15+"px",e.value="收起"):f())},200)})};d(w.height,()=>{f()});const A=()=>{t.value==="95px"?(t.value=i.value.children[0].scrollHeight+15+"px",e.value="收起"):(t.value="95px",e.value="展开")},R=()=>{p("reset")},b=()=>{p("search")},z=u=>{const o=u.target?.tagName;o!=="INPUT"&&o!=="TEXTAREA"||p("search")},p=T;return I(()=>{c.value=v?.value,N.on("collapsedChangeBus",y),C(()=>{i.value.children[0].scrollHeight>95?(n.value=!0,t.value="95px",e.value="展开"):(n.value=!1,t.value=i.value.children[0].scrollHeight+15+"px",e.value="收起")})}),K(()=>{N.off("collapsedChangeBus",y)}),(u,o)=>{const h=k("el-button"),D=k("el-icon");return $(),M(x,{onKeydown:P(z,["enter"]),height:t.value,style:{background:"#ffffff",padding:"15px 10px 15px 15px"}},{default:a(()=>[l(x,{style:{overflow:"hidden"}},{default:a(()=>[S("div",{ref_key:"ref_content",ref:i,style:W([{width:"100%",overflow:"hidden"},{height:t.value}])},[S("div",{ref_key:"ref_div",ref:r},[X(u.$slots,"default",{},void 0,!0)],512)],4)]),_:3}),l(x,{width:"240px",justify:"flex-end",align:"flex-start",style:{"padding-top":"30px"}},{default:a(()=>[l(h,{onClick:R},{default:a(()=>[...o[0]||(o[0]=[m("重置",-1)])]),_:1}),l(h,{type:"primary",onClick:b,class:q(E.value+"_search")},{default:a(()=>[...o[1]||(o[1]=[m("查询",-1)])]),_:1},8,["class"]),_(l(h,{type:"text",onClick:A},{default:a(()=>[l(D,null,{default:a(()=>[_(l(H(L),null,null,512),[[g,e.value==="展开"]]),_(l(H(O),null,null,512),[[g,e.value==="收起"]])]),_:1}),m(F(e.value),1)]),_:1},512),[[g,n.value]])]),_:1})]),_:3},8,["height"])}}}),ie=Q(Y,[["__scopeId","data-v-748add82"]]);export{ie as default};
|
|
@@ -6,6 +6,11 @@ interface Props<T extends IpageDataQuery, E extends IMdmEmployee> {
|
|
|
6
6
|
defalutQueryParam?: any;
|
|
7
7
|
multiple?: boolean;
|
|
8
8
|
showOrgInfo?: boolean;
|
|
9
|
+
/**
|
|
10
|
+
* 已选人员编码:打开时按编码查出人员信息放进“已选”列表并勾选,用于回显。
|
|
11
|
+
* 已选人员不在当前查询页/部门时同样会回显。
|
|
12
|
+
*/
|
|
13
|
+
selectedUserCodes?: string[];
|
|
9
14
|
}
|
|
10
15
|
type __VLS_Props = Props<IMdmEmployeeQuery, IMdmEmployee>;
|
|
11
16
|
declare const _default: import("vue").DefineComponent<__VLS_Props, {
|
|
@@ -20,5 +25,6 @@ declare const _default: import("vue").DefineComponent<__VLS_Props, {
|
|
|
20
25
|
fetchData: (data: IMdmEmployeeQuery) => Promise<PageData<IMdmEmployee>>;
|
|
21
26
|
defalutQueryParam: any;
|
|
22
27
|
showOrgInfo: boolean;
|
|
28
|
+
selectedUserCodes: string[];
|
|
23
29
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
24
30
|
export default _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{defineComponent as
|
|
1
|
+
import{defineComponent as le,ref as v,reactive as oe,resolveComponent as c,resolveDirective as ae,withDirectives as re,openBlock as w,createBlock as U,withCtx as g,createVNode as u,unref as s,createCommentVNode as E,createElementBlock as N,Fragment as se,renderList as ie,createTextVNode as ne,toDisplayString as de,mergeProps as ce,nextTick as O}from"vue";import"@vueuse/core";import{ElMessage as ue}from"element-plus";import pe from"../../api/DeptInfoApi.js";import P from"../../api/EmployeeInfoApi.js";import{useResetRefHooks as x}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-DQXuYsW_.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"../../utils/uuid.js";import"uuid";import"../../utils/encrypt.js";import"jsencrypt";import"../../utils/behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"../../utils/behaviorContext.js";import"../../utils/dateTime.js";import"../../utils/frontendBus.js";import"../../utils/globalLoading.js";import"../../utils/workflowTaskContext.js";import"../../config/GlobalLoadingConfig.js";import"xlsx-js-style";const he={key:0,class:"user-form__selected"},_e=le({__name:"comp.userForm",props:{fetchData:{type:Function,default:P.getMdmEmployeeListByIds},defalutQueryParam:{default:{disabled:!1,deptIds:[]}},multiple:{type:Boolean,default:!0},showOrgInfo:{type:Boolean,default:!0},selectedUserCodes:{default:()=>[]}},emits:["success"],setup(z,{expose:B,emit:D}){const n=z,[o,S]=x({current:1,size:I.getPageSize(),...n.defalutQueryParam}),L=D,_=v([]),y=v(!1),R=v(),m=v(),f=v(""),h=v(),b=v(),[a,Q]=x([]),[p,T]=x({records:[],total:0,pages:0,current:1}),F=[n.multiple?{...me,checkboxConfig:{checkMethod:({row:e})=>e.isValid==="1",trigger:"row"}}: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},...n.showOrgInfo?[{align:"left",field:"orgName",title:"所属组织",width:220,showOverflow:!0}]:[]],M=oe({border:!0,height:"100%",columnConfig:{resizable:!1},radioConfig:{highlight:!0,trigger:"row"},checkboxConfig:{highlight:!1,range:!1,trigger:"row"},columns:F}),q=({row:e,rowIndex:t})=>{if(e.isValid!=="1")return"table-row-disabled"},A=async()=>{try{_.value=await pe.getMdmOrgDeptTree({})}catch(e){I.messageError(e)}},J=e=>{e.id===f.value?(h.value=void 0,f.value="",m.value?.clearRadioRow()):(f.value=e.id,h.value=e,m.value?.setRadioRow(e))},K=({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))},$=({checked:e})=>{const t=p.value?.records??[];if(e){const l=a.value.map(r=>r.code);t.forEach(r=>{l.includes(r.code)||a.value.push(r)})}else{const l=t.map(r=>r.code);a.value=a.value.filter(r=>!l.includes(r.code))}},H=({row:e})=>{n.multiple||J(e)},V=async()=>{y.value=!0,_.value&&_.value.length||await A(),Q(),T(),R.value?.resetFields(),b.value?.setCheckedKeys([]),S(),o.value={...o.value,...n.defalutQueryParam},await j(),O(()=>{b.value?.setCheckedKeys(o.value.deptIds??[]),C()})},j=async()=>{const e=(n.selectedUserCodes||[]).filter(Boolean);if(!e.length)return;const t=[];await Promise.all(e.map(async l=>{try{const r=await P.getMdmEmployeeBaseInfo(l);r?.code&&t.push(r)}catch{}})),a.value=e.map(l=>t.find(r=>r.code===l)).filter(Boolean),!n.multiple&&a.value.length&&(f.value=a.value[0].id,h.value=a.value[0])},C=async()=>{try{y.value=!0;let e=[],t;o.value.deptIds&&o.value.deptIds.length&&o.value.deptIds.forEach(d=>{_.value.findIndex(k=>k.id===d)>=0?t=d:e.push(d)});let l=JSON.parse(JSON.stringify(o.value));l.deptIds=e,l.orgId=t,p.value=await n.fetchData(l);const r=a.value.map(d=>d.code);O(()=>{p.value.records.forEach(d=>{r.includes(d.code)&&(n.multiple?m.value?.setCheckboxRow(d,!0):d.id===f.value&&m.value?.setRadioRow(d))})}),o.value.current=p.value.current}catch(e){I.messageError(e)}finally{y.value=!1}},G=e=>{a.value=a.value.filter(l=>l.code!==e.code);const t=p.value.records.find(l=>l.code===e.code);t&&(n.multiple?m.value?.setCheckboxRow(t,!1):t.id===f.value&&(h.value=void 0,f.value="",m.value?.clearRadioRow()))};return B({confirm:async()=>{!a.value.length&&n.multiple||!h.value&&!n.multiple?ue.warning("未选择需要新增的人员!"):L("success",n.multiple?a.value:h.value)},resetQuery:V}),(e,t)=>{const l=c("el-tree-select"),r=c("el-form-item"),d=c("el-input"),k=c("el-form"),W=c("el-search"),X=c("el-title"),Y=c("el-tooltip"),Z=c("el-grid"),ee=c("el-flex"),te=ae("loading");return re((w(),U(ee,{vertical:!0,gap:"var(--space-8)"},{default:g(()=>[u(W,{class:"border",style:{"border-bottom":"var(--border)"},onReset:V,onSearch:C},{default:g(()=>[u(k,{ref_key:"queryRef",ref:R,inline:!0,model:s(o),style:{width:"100%",height:"100%"},labelPosition:"top",size:"default"},{default:g(()=>[u(r,{style:{width:"220px"},label:"所属部门",prop:"deptIds"},{default:g(()=>[u(l,{ref_key:"ref_tree",ref:b,"check-strictly":"",disabled:s(o).disabled,modelValue:s(o).deptIds,"onUpdate:modelValue":t[0]||(t[0]=i=>s(o).deptIds=i),data:_.value,filterable:"",multiple:"","default-expand-all":!0,props:{label:"name",children:"children",disabled:i=>i.isValid!=="1"||s(o).disabled},"render-after-expand":!1,clearable:"","collapse-tags":"","collapse-tags-tooltip":"","node-key":"id",placeholder:"请选择所属部门"},null,8,["disabled","modelValue","data","props"])]),_:1}),u(r,{style:{width:"220px"},label:"人员编码或名称",prop:"codeorname"},{default:g(()=>[u(d,{modelValue:s(o).codeorname,"onUpdate:modelValue":t[1]||(t[1]=i=>s(o).codeorname=i),clearable:"",placeholder:"请输入人员编码或名称"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1}),u(X,{class:"border",style:{"border-bottom":"var(--border)"},title:"人员列表"}),E(" 已选人员:间距由容器 gap 统一控制(空列表不渲染,避免多出一段 8px 间距) "),s(a).length?(w(),N("div",he,[(w(!0),N(se,null,ie(s(a),i=>(w(),U(ve,{key:i.code,closable:"",onClose:we=>G(i)},{default:g(()=>[u(Y,{placement:"top",content:i.deptName},{default:g(()=>[ne(de(i.name),1)]),_:2},1032,["content"])]),_:2},1032,["onClose"]))),128))])):E("v-if",!0),u(Z,ce({ref_key:"gridRef",ref:m},M,{data:s(p)?.records,total:s(p)?.total?s(p)?.total:0,pagination:"","current-page":s(o).current,"onUpdate:currentPage":t[2]||(t[2]=i=>s(o).current=i),"page-size":s(o).size,"onUpdate:pageSize":t[3]||(t[3]=i=>s(o).size=i),"row-class-name":q,style:{width:"100%"},onCheckboxChange:K,onCheckboxAll:$,onCellClick:H,onCurrentChange:C}),null,16,["data","total","current-page","page-size"])]),_:1})),[[te,y.value]])}}}),Ge=ge(_e,[["__scopeId","data-v-c6576c13"]]);export{Ge as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as o}from"../../../chunks/ElCopyTooltip.vue_vue_type_script_setup_true_lang-
|
|
1
|
+
import{_ as o}from"../../../chunks/ElCopyTooltip.vue_vue_type_script_setup_true_lang-MdgIHwF2.js";/* empty css */import"vue";import"element-plus";export{o as default};
|
|
@@ -55,6 +55,7 @@ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {
|
|
|
55
55
|
"onUpdate:fileType"?: ((type: string) => any) | undefined;
|
|
56
56
|
}>, {
|
|
57
57
|
title: string;
|
|
58
|
+
fileName: string;
|
|
58
59
|
emptyDescription: string;
|
|
59
60
|
showSearch: boolean;
|
|
60
61
|
showZoom: boolean;
|
|
@@ -62,7 +63,6 @@ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {
|
|
|
62
63
|
showRefresh: boolean;
|
|
63
64
|
showFullscreen: boolean;
|
|
64
65
|
fileId: string;
|
|
65
|
-
fileName: string;
|
|
66
66
|
fileType: string;
|
|
67
67
|
showHeader: boolean;
|
|
68
68
|
lostDescription: string;
|
|
@@ -48,6 +48,7 @@ declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {
|
|
|
48
48
|
title: string;
|
|
49
49
|
url: string;
|
|
50
50
|
showClose: boolean;
|
|
51
|
+
fileName: string;
|
|
51
52
|
fullscreen: boolean;
|
|
52
53
|
showSearch: boolean;
|
|
53
54
|
showPageNav: boolean;
|
|
@@ -58,7 +59,6 @@ declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {
|
|
|
58
59
|
downloadLoading: boolean;
|
|
59
60
|
refreshLoading: boolean;
|
|
60
61
|
fileId: string;
|
|
61
|
-
fileName: string;
|
|
62
62
|
fileType: string;
|
|
63
63
|
showHeader: boolean;
|
|
64
64
|
lostDescription: string;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{defineComponent as
|
|
2
|
-
切换时淡出过渡,避免 spinner 相位/进度条状态差异造成的跳动 `),
|
|
1
|
+
import{defineComponent as Be,useModel as Me,ref as c,computed as m,watch as ee,nextTick as Ie,onMounted as Le,onBeforeUnmount as Pe,openBlock as N,createElementBlock as W,normalizeClass as Re,createBlock as A,unref as O,createCommentVNode as M,createElementVNode as I,createVNode as Oe,Transition as Te,withCtx as H,normalizeStyle as be,createTextVNode as ze,mergeModels as te}from"vue";import{ElEmpty as ke,ElButton as Ze,ElMessage as $}from"element-plus";import De from"../../api/DocumentApi.js";import Ve from"../../utils/FrameworkUtils.js";import We from"../../utils/fileDownload.js";import{resolveOfficeFileExt as Ae,canExportPdf as He,MAX_RICH_PREVIEW_ZOOM as oe,MIN_OFFICE_ZOOM as ae,clampRichPreviewZoom as re,OFFICE_ZOOM_STEP as le}from"../../utils/officePreviewUtil.js";import $e from"./OfficePreviewHeaderBar.vue.js";import{_ as qe}from"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"../../utils/request.js";import"../../utils/AxiosConfig.js";import"axios";import"../../utils/uuid.js";import"uuid";import"../../utils/encrypt.js";import"jsencrypt";import"../../utils/behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"../../utils/behaviorContext.js";import"../../utils/dateTime.js";import"../../utils/frontendBus.js";import"../../utils/globalLoading.js";import"../../utils/workflowTaskContext.js";import"../../config/GlobalLoadingConfig.js";import"xlsx-js-style";import"@element-plus/icons-vue";const _e={class:"fileview-frame-wrap"},Ue={key:0,class:"preview-loading-overlay"},Xe=["src","title"],Qe=Be({__name:"OfficePreview",props:te({url:{default:""},fileId:{default:""},fileName:{default:""},fileType:{default:""},title:{default:""},showHeader:{type:Boolean,default:!0},showSearch:{type:Boolean,default:!0},showPageNav:{type:Boolean,default:!1},showZoom:{type:Boolean,default:!0},showDownload:{type:Boolean,default:!1},showRefresh:{type:Boolean,default:!1},showFullscreen:{type:Boolean,default:!1},showClose:{type:Boolean,default:!1},fullscreen:{type:Boolean,default:!1},downloadLoading:{type:Boolean,default:!1},refreshLoading:{type:Boolean,default:!1},lostDescription:{default:"附件已丢失或无权访问"},attachmentLost:{type:Boolean,default:!1}},{scale:{default:1},scaleModifiers:{}}),emits:te(["loaded","error","download","refresh","toggle-fullscreen","close"],["update:scale"]),setup(s,{expose:ne,emit:se}){const o=s,n=Me(s,"scale"),v=se,y=c(""),x=c(null),E=c(!1),h=c(!1),L=c(""),u=c(""),S=c(-1),F=c(0),C=c(!1),d=c(!1),T=c(!1);let P=0;const ie=new Set(["pdf","doc","docx","xls","xlsx","ppt","pptx","txt","csv","html","htm","xml","json","md"]),ce=m(()=>L.value||o.lostDescription),q=m(()=>o.title||o.fileName),_=m(()=>Ae(o.fileType,o.fileName,o.url)),U=m(()=>o.showSearch&&!h.value&&ie.has(_.value)),ue=m(()=>o.showZoom&&!h.value),de=m(()=>o.showDownload&&He(_.value)),fe=m(()=>o.downloadLoading||T.value),me=m(()=>d.value&&n.value!==1),ve=m(()=>{if(!me.value)return;const t=n.value;return{position:"absolute",top:"0",left:"0",width:`${100/t}%`,height:`${100/t}%`,transform:`scale(${t})`,transformOrigin:"top left"}}),b=t=>{x.value?.contentWindow?.postMessage({source:"adtec-office-preview",type:"command",...t},"*")},z=()=>{try{return x.value?.contentWindow||null}catch{return null}},k=t=>{const e=Number(t?.total||0);F.value=e,S.value=e>0?Number(t?.index||0):-1,e===0&&u.value&&$.warning("未找到匹配内容")},he=t=>{const e=t?.adtecFileViewAdapter;if(e?.zoom)try{return e.zoom(n.value),!0}catch{}try{const a=t?.document?.documentElement;if(a){const l=Math.max(ae,Math.min(oe,n.value));return a.style.zoom=String(l),a.style.width=`${100/l}%`,a.style.height=`${100/l}%`,!0}}catch{}return!1},B=()=>{!d.value&&he(z())||b({command:"zoom",scale:n.value})},X=()=>{n.value=re(n.value+le),B()},Q=()=>{n.value=re(n.value-le),B()},j=()=>{n.value=1,B()};let i={query:"",matches:[],index:-1};const we=(t,e)=>{const a=[],l=t.body;if(!l)return a;const r=e.toLocaleLowerCase(),w=t.createTreeWalker(l,NodeFilter.SHOW_TEXT,{acceptNode:f=>{const g=f.parentElement;return!g||!f.nodeValue||!f.nodeValue.trim()||g.closest("script, style, noscript, input, textarea, #wm_div_id")?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}});let p=w.nextNode();for(;p;){const f=p.nodeValue?.toLocaleLowerCase()||"";let g=f.indexOf(r);for(;g!==-1;)a.push({node:p,start:g,end:g+e.length}),g=f.indexOf(r,g+Math.max(1,e.length));p=w.nextNode()}return a},pe=(t,e,a)=>{const l=t?.document;if(!l?.body)return null;(a==="first"||i.query!==e)&&(i={query:e,matches:we(l,e),index:-1});const r=i.matches.length;if(r===0)return{total:0,index:-1};a==="prev"?i.index=(i.index-1+r)%r:i.index=(i.index+1)%r;const w=i.matches[i.index];try{const p=l.createRange();p.setStart(w.node,w.start),p.setEnd(w.node,w.end);const f=t?.getSelection?.();f?.removeAllRanges(),f?.addRange(p),w.node.parentElement?.scrollIntoView({block:"center",behavior:"smooth"})}catch{}return{total:r,index:i.index}},Z=t=>{const e=u.value;if(!e)return;const a=z(),l=a?.adtecFileViewAdapter;if(l?.search)try{const r=l.search(e,t);r&&typeof r.then=="function"?r.then(k):k(r);return}catch{}if(!d.value){const r=pe(a,e,t);if(r){k(r);return}}b({command:"search",query:e,direction:t})},ge=()=>{i={query:"",matches:[],index:-1};const t=z(),e=t?.adtecFileViewAdapter;if(e?.clearSearch)try{e.clearSearch();return}catch{}if(!d.value)try{t?.getSelection?.()?.removeAllRanges()}catch{}b({command:"clear-search"})},ye=t=>{const e=t.trim();if(u.value=e,S.value=-1,F.value=0,!e){J();return}if(d.value){$.warning("当前预览服务不支持内容搜索,请下载后查看");return}Z("first")},J=()=>{u.value="",S.value=-1,F.value=0,ge()},xe=()=>{u.value&&Z("prev")},Ee=()=>{u.value&&Z("next")},G=t=>{if(!(t.source!==x.value?.contentWindow||t.data?.source!=="adtec-fileview")){if(t.data.type==="ready"){C.value=!0,d.value=!1,B();return}if(t.data.type==="search-result"){const e=Number(t.data.total||0);F.value=e,S.value=e>0?Number(t.data.index||0):-1,e===0&&u.value&&$.warning("未找到匹配内容")}}},R=new Set,Se=()=>{const t=x.value;if(!t)return null;try{const e=t.contentWindow;if(e?.parent&&e.parent!==e)return e.parent}catch{}return null},D=()=>{[window,Se()].forEach(e=>{if(!(!e||R.has(e)))try{e.addEventListener("message",G),R.add(e)}catch{}})},Fe=()=>{R.forEach(t=>{try{t.removeEventListener("message",G)}catch{}}),R.clear()},K=async()=>{const t=++P;if(y.value="",E.value=!1,h.value=!1,L.value="",n.value=1,u.value="",S.value=-1,F.value=0,C.value=!1,d.value=!1,o.attachmentLost){h.value=!0,v("error");return}E.value=!0;try{if(o.fileId){const e=await De.createPreviewSession(o.fileId);if(t!==P)return;y.value=e.url;return}if(o.url.startsWith("/api/doc/preview/fileView/")){y.value=o.url;return}throw new Error("为保护附件地址,旧版文件直链已停止预览,请使用附件 ID 打开")}catch(e){if(t!==P)return;E.value=!1,h.value=!0,L.value=e?.msg||e?.message||"文件预览失败,请下载后查看",v("error",e)}},Y=()=>{v("refresh"),K()},V=async(t="original")=>{if(v("download",t),!!o.fileId){T.value=!0;try{await We(o.fileId,o.fileName,t)}catch(e){Ve.messageError(e)}finally{T.value=!1}}},Ce=()=>{E.value=!1,D();const t=x.value?.contentWindow;if(t&&!C.value)try{t.adtecPreviewBridge&&(C.value=!0,d.value=!1)}catch{}C.value||window.setTimeout(()=>{C.value||(d.value=!0)},1500),B(),v("loaded")},Ne=t=>{E.value=!1,h.value=!0,L.value="文件预览服务暂不可用,请稍后重试或下载后查看",v("error",t)};return ee(()=>[o.fileId,o.url,o.attachmentLost],()=>void K(),{immediate:!0}),ee(y,t=>{t&&Ie(()=>D())}),Le(()=>D()),Pe(()=>{P++,Fe()}),ne({reloadPreview:Y,zoomIn:X,zoomOut:Q,resetZoom:j,download:V}),(t,e)=>(N(),W("div",{class:Re(["office-preview-root",{"is-fullscreen":s.fullscreen}])},[s.showHeader?(N(),A($e,{key:0,title:q.value,"title-only":!U.value,zoom:n.value,"search-query":u.value,"search-index":S.value,"search-total":F.value,"show-search":U.value,"show-page-nav":!1,"show-zoom":ue.value,"show-download":s.showDownload,"pdf-export":de.value,"show-refresh":s.showRefresh,"show-fullscreen":s.showFullscreen,"show-close":s.showClose,fullscreen:s.fullscreen,"download-loading":fe.value,"refresh-loading":s.refreshLoading,"min-zoom":O(ae),"max-zoom":O(oe),onZoomIn:X,onZoomOut:Q,onZoomReset:j,onSearch:ye,onSearchClear:J,onSearchPrev:xe,onSearchNext:Ee,onDownload:V,onRefresh:Y,onToggleFullscreen:e[0]||(e[0]=a=>v("toggle-fullscreen")),onClose:e[1]||(e[1]=a=>v("close"))},null,8,["title","title-only","zoom","search-query","search-index","search-total","show-search","show-zoom","show-download","pdf-export","show-refresh","show-fullscreen","show-close","fullscreen","download-loading","refresh-loading","min-zoom","max-zoom"])):M("v-if",!0),M(` 外层加载层与预览页内层样式完全一致(spinner + 正在加载文件... + 进度条),
|
|
2
|
+
切换时淡出过渡,避免 spinner 相位/进度条状态差异造成的跳动 `),I("div",_e,[Oe(Te,{name:"preview-loading-fade"},{default:H(()=>[E.value?(N(),W("div",Ue,[...e[3]||(e[3]=[I("div",{class:"preview-loading-spinner"},null,-1),I("div",{class:"preview-loading-text"},"正在加载文件...",-1),I("div",{class:"preview-loading-progress"},[I("div",{class:"preview-loading-bar is-indeterminate"})],-1)])])):M("v-if",!0)]),_:1}),y.value&&!h.value?(N(),W("iframe",{key:y.value,ref_key:"previewFrameRef",ref:x,class:"fileview-frame",style:be(ve.value),src:y.value,title:q.value||"文件预览",referrerpolicy:"same-origin",onLoad:Ce,onError:Ne},null,44,Xe)):h.value?(N(),A(O(ke),{key:1,description:ce.value},{default:H(()=>[s.showDownload?(N(),A(O(Ze),{key:0,type:"primary",onClick:e[2]||(e[2]=a=>V())},{default:H(()=>[...e[4]||(e[4]=[ze(" 下载文件 ",-1)])]),_:1})):M("v-if",!0)]),_:1},8,["description"])):M("v-if",!0)])],2))}}),Et=qe(Qe,[["__scopeId","data-v-e2b19417"]]);export{Et as default};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import{computed as
|
|
2
|
-
/* dialog-hooks
|
|
1
|
+
import{computed as B,ref as v,unref as w,createApp as lo,nextTick as io,h as n}from"vue";import ao,{ElDrawer as ro,ElDialog as so,ElButton as T}from"element-plus";import V from"../stores/storeConfig.js";/* empty css */import*as $ from"@element-plus/icons-vue";import"../config/ElementPlusConfig.js";import{installVxeGrid as no}from"../config/VxeTableConfig.js";import co from"element-plus/es/locale/lang/zh-cn";import go from"./useListenerHooks.js";import{permissionStore as ho}from"../stores/permissionStore.js";import po from"../components/icon/ElIcons.vue.js";import uo from"../components/ElDialogBody/ElDialogBody.vue.js";import mo from"crypto-js/enc-base64";import fo from"crypto-js/enc-utf8";import{frontendBus as D}from"../utils/frontendBus.js";import{GLOBAL_LOADING_EVENT as R,notifyDialogLoadingScope as bo}from"../utils/globalLoading.js";import yo from"./useBehaviorAction.js";import"pinia";import"pinia-plugin-store";import"../utils/patchWujiePopperCoordinates.js";import"vxe-table";import"@vxe-ui/core";import"@vxe-ui/plugin-export-xlsx";import"exceljs";import"vxe-table/es/style.css";import"vxe-table/es/locale/lang/zh-CN";import"../components/vxeReplace/index.js";import"../components/tooltip/index.js";import"../components/tooltip/src/tooltip.js";import"../../chunks/VxeButton.vue_vue_type_script_setup_true_lang-s_mYx9TA.js";import"../../chunks/VxeInput.vue_vue_type_script_setup_true_lang-v9AqGSoL.js";import"../../chunks/VxeSelect.vue_vue_type_script_setup_true_lang-DcVggycZ.js";import"../../chunks/VxeCheckbox.vue_vue_type_script_setup_true_lang-Ccr5YD1x.js";import"../../chunks/VxeModal.vue_vue_type_script_setup_true_lang-B4gh7jFR.js";import"../../chunks/VxeLoading.vue_vue_type_script_setup_true_lang-B253kD5t.js";import"../../chunks/VxePager.vue_vue_type_script_setup_true_lang-DpOa3T96.js";import"../../chunks/VxeForm.vue_vue_type_script_setup_true_lang-DXNZ8Qzg.js";import"../utils/behaviorTrack.js";import"axios";import"../utils/uuid.js";import"uuid";import"../utils/behaviorContext.js";import"../utils/encrypt.js";import"jsencrypt";import"../utils/dateTime.js";import"../utils/operationAuth.js";import"../stores/userInfoStore.js";import"../utils/userSessionStorage.js";import"@vueuse/core";import"../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";const _o={},ko="subAppModalOverlay",x="adtec-subapp-modal-open";let H=0;const m=[],_=new Map;let I=!1;const q=new WeakSet,vo=()=>{for(let o=m.length-1;o>=0;o--)if(m[o].open.value)return m[o]},U=o=>{if(!o?.id)return;if(o.phase==="start"){const i=vo();if(!i)return;_.set(o.id,i),i.requestLoadingIds.add(o.id),i.requestLoading.value=!0;return}const e=_.get(o.id);e&&(_.delete(o.id),e.requestLoadingIds.delete(o.id),e.requestLoading.value=e.requestLoadingIds.size>0)},wo=o=>{m.push(o),!I&&(D.on(R,U),I=!0)},xo=o=>{const e=m.indexOf(o);e>-1&&m.splice(e,1),o.requestLoadingIds.forEach(i=>_.delete(i)),o.requestLoadingIds.clear(),o.requestLoading.value=!1,!(m.length>0||!I)&&(D.off(R,U),I=!1,_.clear())},Io=o=>{const e=_o||{};return o.applicationModule||e.VITE_APPLICATION_MODULE||e.VITE_APP_MODULE||String(o.router.currentRoute.value.meta.applicationModule||"")},P=(o,e,i)=>{if(typeof window>"u"||!window.__POWERED_BY_WUJIE__)return;const l=Io(o);if(!l||(i&&!e.overlayId&&(e.overlayId=`${l}-${Date.now()}-${++H}`),!e.overlayId))return;const d={applicationModule:l,overlayId:e.overlayId,open:i};D.emit(ko,d),i||(e.overlayId=void 0)},N=(o,e)=>{e&&!o.overlayId&&(o.overlayId=`dialog-${Date.now()}-${++H}`),o.overlayId&&bo({id:o.overlayId,open:e})};function Lo(){const e="dialog-hooks-styles",i=document.getElementById(e);if(i&&(i.textContent||"").includes("/* dialog-hooks v17 */"))return;i?.remove();const l=document.createElement("style");l.id=e,l.type="text/css",l.innerHTML=`
|
|
2
|
+
/* dialog-hooks v17 */
|
|
3
3
|
/* 抽屉组件 - 无滚动条样式 */
|
|
4
4
|
.dialog-hooks-no-scroll.el-drawer .el-drawer__body {
|
|
5
5
|
overflow: hidden !important;
|
|
@@ -74,7 +74,11 @@ import{computed as M,ref as v,unref as w,createApp as eo,nextTick as to,h as s}f
|
|
|
74
74
|
.dialog-hooks-host.el-drawer .el-drawer__body .el-title {
|
|
75
75
|
padding-right: 0;
|
|
76
76
|
}
|
|
77
|
-
/*
|
|
77
|
+
/* 弹窗/抽屉内容滚动条自动隐藏:平时透明,滚动或悬停时显示。
|
|
78
|
+
scrollbar-width/scrollbar-color 负责浏览器原生滚动条的显隐(各浏览器原生表现最好,
|
|
79
|
+
不要为了改宽度去掉它们);::-webkit-scrollbar 是忽略上述属性的浏览器的细滚动条兜底。
|
|
80
|
+
两种方式的实际占位宽度不同(6 / 11 / 15px…),所以右侧补偿一律走实测值,
|
|
81
|
+
见下面 --dialog-hooks-scrollbar 的说明。 */
|
|
78
82
|
.dialog-hooks-host .el-drawer__body,
|
|
79
83
|
.dialog-hooks-host .el-dialog__body,
|
|
80
84
|
.dialog-hooks-host .el-dialog-body__content {
|
|
@@ -112,19 +116,18 @@ import{computed as M,ref as v,unref as w,createApp as eo,nextTick as to,h as s}f
|
|
|
112
116
|
scrollbar-color: rgba(144, 147, 153, 0.4) transparent;
|
|
113
117
|
}
|
|
114
118
|
/* 滚动条当右侧内边距用:内容区的滚动条落在弹窗/抽屉右侧 8px 内边距里,左右边距一致。
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
}
|
|
119
|
+
滚动条占位宽度由 syncDialogScrollbarOffset 实测后写入 --dialog-hooks-scrollbar
|
|
120
|
+
(覆盖式滚动条 0、自定义细滚动条 6、原生 thin/系统滚动条 11~15 等各环境都不同,
|
|
121
|
+
写死宽度必然在某些浏览器里左右边距不等,也不再需要 scrollbar-gutter:
|
|
122
|
+
它在 Chromium 里按系统默认滚动条宽度预留,与自定义细滚动条宽度对不上,会多留一段空白):
|
|
123
|
+
- 内容层(ElDialogBody)自己滚:向右溢出同样的宽度,内容宽度与没有滚动条时保持一致;
|
|
124
|
+
- 弹窗/抽屉 body 自己滚(dialogBody=false 的特殊内容):从 8px 右内边距里扣掉同样宽度。 */
|
|
125
|
+
.dialog-hooks-host.dialog-hooks-body-contained .el-dialog-body__content {
|
|
126
|
+
margin-right: calc(-1 * var(--dialog-hooks-scrollbar, 0px));
|
|
127
|
+
}
|
|
128
|
+
.dialog-hooks-host:not(.dialog-hooks-body-contained) .el-dialog__body,
|
|
129
|
+
.dialog-hooks-host:not(.dialog-hooks-body-contained) .el-drawer__body {
|
|
130
|
+
padding-right: max(0px, calc(8px - var(--dialog-hooks-scrollbar, 0px)));
|
|
128
131
|
}
|
|
129
132
|
/* vxe 网格滚动条保持原生样式,不被上面的自动隐藏规则影响 */
|
|
130
133
|
.dialog-hooks-host .vxe-grid,
|
|
@@ -238,4 +241,4 @@ import{computed as M,ref as v,unref as w,createApp as eo,nextTick as to,h as s}f
|
|
|
238
241
|
background: transparent !important;
|
|
239
242
|
background-color: transparent !important;
|
|
240
243
|
}
|
|
241
|
-
`,document.head.appendChild(
|
|
244
|
+
`,document.head.appendChild(l)}function Eo(o){const e=!!o.querySelector(".dialog-hooks-body-contained");o.querySelectorAll(e?".el-dialog-body__content":".el-drawer__body, .el-dialog__body").forEach(l=>{let d;const u=()=>{l.classList.add("is-scrolling"),d&&window.clearTimeout(d),d=window.setTimeout(()=>l.classList.remove("is-scrolling"),600)};l.addEventListener("scroll",u,{passive:!0}),l.addEventListener("mouseenter",u),l.addEventListener("mouseleave",()=>{d&&window.clearTimeout(d),l.classList.remove("is-scrolling")})})}function z(o){const e=!!o.querySelector(".dialog-hooks-body-contained");o.querySelectorAll(e?".el-dialog-body__content":".el-drawer__body, .el-dialog__body").forEach(l=>{let d;const u=()=>{if(!l.isConnected){d?.disconnect();return}const L=Math.max(0,l.offsetWidth-l.clientWidth);l.style.setProperty("--dialog-hooks-scrollbar",`${L}px`)};typeof ResizeObserver<"u"&&!q.has(l)&&(q.add(l),d=new ResizeObserver(u),d.observe(l)),u()})}function So(o,e,i){return o===!1?{enabled:!1,scroll:i,class:void 0,contentClass:void 0}:o===!0||o===void 0?{enabled:o===!0?!0:e,scroll:i,class:void 0,contentClass:void 0}:{enabled:o.enabled??e,scroll:o.scroll??i,class:o.class,contentClass:o.contentClass}}function Co(o,e){if(e)return e;try{const i=o.router.currentRoute.value.meta?.sysMenuData?.icon;if(i)return i}catch{}try{const i=sessionStorage.getItem("permissionStore");if(i){const l=JSON.parse(mo.parse(i).toString(fo));if(l?.activeMenuInfo?.icon)return l.activeMenuInfo.icon}}catch{}try{return ho(V).getActiveMenuInfo?.icon||""}catch{return""}}function Le(o){return function(i){const l=[],d=()=>l[l.length-1],u=r=>{const a=w(r?.data),y=w(r?.row),k=w(r?.formData),p=r?.id??r?.taskId??r?.selectedId??a?.id??y?.id??k?.id;return p==null||p===""?"":String(p)},L=(r,a,y,k="drawer",p,K=!0)=>{Lo();const{icon:F,hideConfirm:E,hideFooter:J,dialogBody:Q,...c}=y||{},b=So(Q,o.defaultDialogBody??!0,K),X=`${k}|${typeof r=="string"?r:r?.__name||r?.name||""}|${c.title||""}|${u(a)}`,O=v(!1),A=v(!1),t={open:v(!0),loading:B(()=>O.value||A.value),manualLoading:O,requestLoading:A,requestLoadingIds:new Set,childInstance:v(),app:null,div:null,closing:!1,renderKey:X,actionName:c.title||"确认"},Z=Object.fromEntries(Object.entries(a||{}).map(([s,h])=>[s,w(h)])),oo={...c,class:["dialog-hooks-host",...b.enabled?["dialog-hooks-body-contained"]:[],...b.scroll?[]:["dialog-hooks-no-scroll"],"dialog-hooks-scroll-auto",...Array.isArray(c.class)?c.class:c.class?[c.class]:[]]},eo=c.onClosed,S=typeof c.title=="string"&&c.title,M=S?Co(o,F):"",to=()=>n("div",{class:"dialog-hooks-header"},[M?n("div",{class:"dialog-hooks-header-icon"},[n(po,{modelValue:M})]):null,n("div",{class:"dialog-hooks-header-title"},[c.title]),t.loading.value&&!E?null:n("button",{type:"button",class:"dialog-hooks-header-close",onClick:()=>f(t)},[n($.Close)])]),g=lo(()=>n(k==="drawer"?ro:so,{...oo,modelValue:t.open.value,showClose:S?!1:c.showClose??!0,onClosed(){N(t,!1),P(o,t,!1),xo(t),eo?.();const s=l.indexOf(t);s>-1&&l.splice(s,1),t.app?.unmount(),t.div?.parentNode&&t.div.parentNode.removeChild(t.div),t.app=null,t.div=null},onClose(){f(t)}},{...S?{header:to}:{},default:()=>{const s=n(r,{...Z,loading:t.loading.value,"onUpdate:loading":h=>{t.manualLoading.value=h},ref:t.childInstance});return b.enabled?n(uo,{scroll:b.scroll,class:b.class,contentClass:b.contentClass},{default:()=>s}):s},...J?{}:{footer:()=>{if(p&&p.length){const s=p.map(h=>typeof h=="function"?h():h);return n("div",{className:"dialog-footer"},s)}return n("div",{className:"dialog-footer"},[n(T,{onClick:()=>f(t),loading:!E&&t.loading.value},"取 消"),E?null:n(T,{type:"primary",onClick:()=>j(t),loading:t.loading.value},"确 认")])}}}));o.plugins?.forEach(s=>g.use(s)),g.use(ao,{locale:co}),g.use(V),g.use(o.router);for(const[s,h]of Object.entries($))g.component(s,h);no(g),o.setupApp?.(g);const C=document.createElement("div");return document.body.appendChild(C),t.app=g,t.div=C,l.push(t),wo(t),N(t,!0),P(o,t,!0),g.mount(C),io(()=>{Eo(t.div),z(t.div),t.childInstance.value?.resetQuery?.(),setTimeout(()=>{t.div&&z(t.div),window.dispatchEvent(new Event("resize"))},350)}),go(),{cancel:()=>f(t)}},j=async r=>{const a=r||d();if(!a)return;const{runBehaviorAction:y}=yo();await y({code:`dialog:${a.renderKey}:confirm`,name:a.actionName||"确认",actionType:"SUBMIT"},async()=>{try{a.manualLoading.value=!0,await a.childInstance.value?.confirm?.(),i&&f(a)}finally{a.manualLoading.value=!1}})},f=r=>{const a=r||d();!a||!a.open.value||(a.closing=!0,a.open.value=!1)},W=r=>{const a=d();a&&(a.manualLoading.value=r)},Y=()=>d()?.loading.value??!1,G=B(()=>d()?.childInstance.value);return{render:L,cancel:f,setLoading:W,getLoading:Y,instance:G}}}export{Le as createDialogHooks,Le as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as p}from"../../chunks/operationAuth.vue_vue_type_script_lang-BgqMGXbQ.js";import{_ as e}from"../../chunks/ElFlex.vue_vue_type_script_setup_true_lang-DYk3SQcE.js";import{_ as a}from"../../chunks/ElDescForm.vue_vue_type_style_index_0_lang-
|
|
1
|
+
import{_ as p}from"../../chunks/operationAuth.vue_vue_type_script_lang-BgqMGXbQ.js";import{_ as e}from"../../chunks/ElFlex.vue_vue_type_script_setup_true_lang-DYk3SQcE.js";import{_ as a}from"../../chunks/ElDescForm.vue_vue_type_style_index_0_lang-DRKuI9Xa.js";import s from"../components/ElContentPanel/ElContentPanel.vue.js";import n from"../components/ElSplitPanel/ElSplitPanel.vue.js";import _ from"../components/ElCardSection/ElCardSection.vue.js";import f from"../components/upload/AttachmentPreview.vue.js";import l from"../components/ElDialogBody/ElDialogBody.vue.js";import c from"../components/ElGrid/ElGrid.vue.js";import h from"../components/Search/ElSearch.vue.js";import u from"../components/Title/ElTitle.vue.js";import d from"../components/icon/ElIcons.vue.js";import E from"../components/icon/ElIconBtn.vue.js";import $ from"../components/Search/ElIconSearch.vue.js";import v from"../components/Search/ElSearchInput.vue.js";import{_ as I}from"../../chunks/ElCopyTooltip.vue_vue_type_script_setup_true_lang-MdgIHwF2.js";/* empty css */import{reportPageLeave as i,setCurrentMenu as m,reportPageActivate as b,reportFeatureOpen as g}from"../utils/behaviorTrack.js";import{_ as P}from"../../chunks/userSelect.vue_vue_type_script_setup_true_lang-DlEso2ua.js";import{_ as A}from"../../chunks/comp.selectUser.vue_vue_type_script_setup_true_lang-BQDO393q.js";import{_ as M}from"../../chunks/DictDisplay.vue_vue_type_script_setup_true_lang-DiFlFWi1.js";import{_ as D}from"../../chunks/ElScrollbars.vue_vue_type_script_setup_true_lang-0Vhrxdyr.js";import{_ as L}from"../../chunks/ElTotalTools.vue_vue_type_script_setup_true_lang-BqRnIFkw.js";import T from"../components/ElCardList.vue.js";import C from"../components/kFrame/KFrame.vue.js";import{_ as S}from"../../chunks/ElPagePagination.vue_vue_type_style_index_0_lang-CGjSyYgn.js";import{_ as y}from"../../chunks/ElCellLink.vue_vue_type_script_setup_true_lang-DXGj9pCT.js";import{_ as O}from"../../chunks/ElTagDisplay.vue_vue_type_script_setup_true_lang-DQXuYsW_.js";import{_ as F}from"../../chunks/DragHandleIcon.vue_vue_type_script_setup_true_lang-DnMWn5jY.js";import N from"../components/ElCircleBadge/ElCircleBadge.vue.js";import U from"../components/AsideCardList/AsideCardList.vue.js";import{_ as x}from"../../chunks/ElNumericInput.vue_vue_type_script_setup_true_lang-C6KlCE6f.js";import B from"../components/ElIndicatorInput/ElIndicatorInput.vue.js";import K from"../components/ElTabsPanel/ElTabsPanel.vue.js";import"vue";import"../hooks/useBehaviorAction.js";import"../utils/behaviorContext.js";import"../utils/uuid.js";import"uuid";import"axios";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"../utils/encrypt.js";import"jsencrypt";import"../utils/dateTime.js";import"../hooks/useOperationAuth.js";import"vue-router";import"../stores/permissionStore.js";import"pinia";import"../utils/frontendBus.js";import"../utils/operationAuth.js";import"../stores/userInfoStore.js";import"../utils/userSessionStorage.js";import"../interface/enum/FlexEnum.js";import"@vueuse/core";import"../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"element-plus";import"../utils/FrameworkUtils.js";import"xlsx-js-style";import"../hooks/usePreviewFullscreen.js";import"../components/upload/OfficePreview.vue.js";import"../api/DocumentApi.js";import"../utils/request.js";import"../utils/AxiosConfig.js";import"../utils/globalLoading.js";import"../utils/workflowTaskContext.js";import"../config/GlobalLoadingConfig.js";import"../utils/fileDownload.js";import"../utils/officePreviewUtil.js";import"../components/upload/OfficePreviewHeaderBar.vue.js";import"@element-plus/icons-vue";import"../components/ElGrid/ElGridColumnSetting.vue.js";import"../utils/columnSettingStorage.js";import"../components/business/userSelectContent.vue.js";import"../api/BasicApi.js";import"../api/SysUserApi.js";import"../api/EmployeeInfoApi.js";import"../components/business/comp.userForm.vue.js";import"../api/DeptInfoApi.js";import"../hooks/useResetRefHooks.js";import"../config/vxeSelectColumn.js";import"../hooks/useDictHooks.js";import"../api/SysDictCacheApi.js";import"../stores/dictStore.js";import"@vueuse/components";import"../components/kFrame/IframeOptions.js";import"../components/RichTextEditor/RichTextEditor.vue.js";import"../../chunks/preload-helper-BlTxHScW.js";import"../components/RichTextEditor/richTextHtmlUtils.js";import"../components/RichTextEditor/installUmoEditorApp.js";import"tdesign-vue-next";import"../components/RichTextEditor/richTextImageUpload.js";import"../utils/buildUploadHeaders.js";import"../components/ElIndicatorInput/interface.js";const Mr={mounted(){const t=this.$route,r=t?.meta?.sysMenuData;r?.id&&m(r);const o=this.$options?.__name||this.$options?.name;this.$options?.__isPageWrapper||this.$parent?.$options?.__isPageWrapper&&r?.id&&o&&o===t?.name&&(g(r,t.fullPath),this.__behaviorMenuId=r.id,this.__behaviorActivatedOnce=!1,this.__behaviorLeft=!1)},activated(){const t=this.$route?.meta?.sysMenuData;t?.id&&m(t);const r=this.__behaviorMenuId;if(r){if(!this.__behaviorActivatedOnce){this.__behaviorActivatedOnce=!0;return}b(r),this.__behaviorLeft=!1}},deactivated(){const t=this.__behaviorMenuId;t&&(i(t,"KEEP_ALIVE_DEACTIVATE"),this.__behaviorLeft=!0)},beforeUnmount(){const t=this.__behaviorMenuId;t&&i(t,"UNMOUNT",!0,!this.__behaviorLeft)},components:{operationAuth:p,ElFlex:e,ElDescForm:a,ElContentPanel:s,ElSplitPanel:n,ElCardSection:_,AttachmentPreview:f,ElDialogBody:l,ElGrid:c,ElSearch:h,ElTitle:u,ElIcons:d,ElIconBtn:E,ElIconSearch:$,ElSearchInput:v,ElTooltip:I,userSelect:P,mdmUserSelect:A,ElScrollbars:D,ElTotalTools:L,ElCardList:T,KFrame:C,ElPagePagination:S,ElCellLink:y,ElTagDisplay:O,DictDisplay:M,DragHandleIcon:F,ElCircleBadge:N,AsideCardList:U,ElNumericInput:x,ElIndicatorInput:B,ElTabsPanel:K}};export{Mr as globalMixin};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import"../config/ElementPlusConfig.js";import{_ as o}from"../../chunks/ElFlex.vue_vue_type_script_setup_true_lang-DYk3SQcE.js";import{_ as r}from"../../chunks/ElDescForm.vue_vue_type_style_index_0_lang-
|
|
1
|
+
import"../config/ElementPlusConfig.js";import{_ as o}from"../../chunks/ElFlex.vue_vue_type_script_setup_true_lang-DYk3SQcE.js";import{_ as r}from"../../chunks/ElDescForm.vue_vue_type_style_index_0_lang-DRKuI9Xa.js";import t from"../components/icon/ElIcons.vue.js";import m from"../components/icon/ElIconBtn.vue.js";import{_ as i}from"../../chunks/operationAuth.vue_vue_type_script_lang-BgqMGXbQ.js";import p from"../components/Search/ElSearch.vue.js";import a from"../components/Search/ElIconSearch.vue.js";import e from"../components/Search/ElSearchInput.vue.js";import{_ as l}from"../../chunks/ElCellLink.vue_vue_type_script_setup_true_lang-DXGj9pCT.js";import{_ as n}from"../../chunks/ElTagDisplay.vue_vue_type_script_setup_true_lang-DQXuYsW_.js";import s from"../components/ElCircleBadge/ElCircleBadge.vue.js";import{_ as f}from"../../chunks/ElNumericInput.vue_vue_type_script_setup_true_lang-C6KlCE6f.js";import c from"../components/ElIndicatorInput/ElIndicatorInput.vue.js";import u from"../components/ElTabsPanel/ElTabsPanel.vue.js";import{INDICATOR_RANGE_TYPE as Ao,evaluateComputedIndicators as Fo,evaluateIndicatorFormula as xo,formatIndicatorFormulaResult as Ro,formatIndicatorRangeValue as go,isComputedIndicator as Co,isIndicatorReadonly as Mo,parseIndicatorRangeValue as ho,parseIndicatorTags as vo,validateIndicatorValue as No}from"../components/ElIndicatorInput/interface.js";import{useDescForm as $o}from"../hooks/useDescForm.js";import{default as Po}from"../hooks/useOperationAuth.js";import{default as Vo}from"../hooks/useFileOpen.js";import{matchOperation as bo,resolveOperationList as ko,resolveOperationMenu as Go}from"../utils/operationAuth.js";import{DATE_FORMAT as jo,DATE_TIME_FORMAT as qo,DATE_TIME_MILLISECONDS_FORMAT as wo,formatDateTime as zo}from"../utils/dateTime.js";import _ from"element-plus";import"../utils/patchWujiePopperCoordinates.js";import"vue";import"../interface/enum/FlexEnum.js";import"@vueuse/core";import"../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"../hooks/useBehaviorAction.js";import"../utils/behaviorTrack.js";import"axios";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"../utils/uuid.js";import"uuid";import"../utils/behaviorContext.js";import"../utils/encrypt.js";import"jsencrypt";import"vue-router";import"@element-plus/icons-vue";import"../utils/frontendBus.js";import"../components/RichTextEditor/RichTextEditor.vue.js";import"../../chunks/preload-helper-BlTxHScW.js";import"../components/RichTextEditor/richTextHtmlUtils.js";import"../components/RichTextEditor/installUmoEditorApp.js";import"tdesign-vue-next";import"../components/RichTextEditor/richTextImageUpload.js";import"../api/DocumentApi.js";import"../utils/request.js";import"../utils/AxiosConfig.js";import"../utils/globalLoading.js";import"../utils/workflowTaskContext.js";import"../config/GlobalLoadingConfig.js";import"../utils/buildUploadHeaders.js";import"../stores/permissionStore.js";import"pinia";import"../stores/userInfoStore.js";import"../utils/userSessionStorage.js";import"../hooks/useFileView.js";import"../utils/FrameworkUtils.js";import"xlsx-js-style";import"../utils/fileDownload.js";import"../utils/uploadAccept.js";const To={ElFlex:o,ElDescForm:r,ElIcons:t,ElIconBtn:m,OperationAuth:i,ElSearch:p,ElIconSearch:a,ElSearchInput:e,ElCellLink:l,ElTagDisplay:n,ElCircleBadge:s,ElNumericInput:f,ElIndicatorInput:c,ElTabsPanel:u,elementPlusConfig:_};export{jo as DATE_FORMAT,qo as DATE_TIME_FORMAT,wo as DATE_TIME_MILLISECONDS_FORMAT,s as ElCircleBadge,r as ElDescForm,c as ElIndicatorInput,f as ElNumericInput,e as ElSearchInput,u as ElTabsPanel,n as ElTagDisplay,Ao as INDICATOR_RANGE_TYPE,To as default,Fo as evaluateComputedIndicators,xo as evaluateIndicatorFormula,zo as formatDateTime,Ro as formatIndicatorFormulaResult,go as formatIndicatorRangeValue,Co as isComputedIndicator,Mo as isIndicatorReadonly,bo as matchOperation,ho as parseIndicatorRangeValue,vo as parseIndicatorTags,ko as resolveOperationList,Go as resolveOperationMenu,$o as useDescForm,Vo as useFileOpen,Po as useOperationAuth,No as validateIndicatorValue};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{globalMixin as o}from"../mixin/globalMixin.js";import"../../chunks/operationAuth.vue_vue_type_script_lang-BgqMGXbQ.js";import"vue";import"../hooks/useBehaviorAction.js";import"../utils/behaviorTrack.js";import"axios";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"../utils/uuid.js";import"uuid";import"../utils/behaviorContext.js";import"../utils/encrypt.js";import"jsencrypt";import"../utils/dateTime.js";import"../hooks/useOperationAuth.js";import"vue-router";import"../stores/permissionStore.js";import"pinia";import"../utils/frontendBus.js";import"../utils/operationAuth.js";import"../stores/userInfoStore.js";import"../utils/userSessionStorage.js";import"../../chunks/ElFlex.vue_vue_type_script_setup_true_lang-DYk3SQcE.js";import"../interface/enum/FlexEnum.js";import"@vueuse/core";import"../components/icon/ElIcons.vue.js";import"../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"../../chunks/ElDescForm.vue_vue_type_style_index_0_lang-
|
|
1
|
+
import{globalMixin as o}from"../mixin/globalMixin.js";import"../../chunks/operationAuth.vue_vue_type_script_lang-BgqMGXbQ.js";import"vue";import"../hooks/useBehaviorAction.js";import"../utils/behaviorTrack.js";import"axios";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"../utils/uuid.js";import"uuid";import"../utils/behaviorContext.js";import"../utils/encrypt.js";import"jsencrypt";import"../utils/dateTime.js";import"../hooks/useOperationAuth.js";import"vue-router";import"../stores/permissionStore.js";import"pinia";import"../utils/frontendBus.js";import"../utils/operationAuth.js";import"../stores/userInfoStore.js";import"../utils/userSessionStorage.js";import"../../chunks/ElFlex.vue_vue_type_script_setup_true_lang-DYk3SQcE.js";import"../interface/enum/FlexEnum.js";import"@vueuse/core";import"../components/icon/ElIcons.vue.js";import"../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"../../chunks/ElDescForm.vue_vue_type_style_index_0_lang-DRKuI9Xa.js";import"../components/ElContentPanel/ElContentPanel.vue.js";import"../components/ElSplitPanel/ElSplitPanel.vue.js";import"../components/ElCardSection/ElCardSection.vue.js";import"../components/upload/AttachmentPreview.vue.js";import"element-plus";import"../utils/FrameworkUtils.js";import"xlsx-js-style";import"../hooks/usePreviewFullscreen.js";import"../components/upload/OfficePreview.vue.js";import"../api/DocumentApi.js";import"../utils/request.js";import"../utils/AxiosConfig.js";import"../utils/globalLoading.js";import"../utils/workflowTaskContext.js";import"../config/GlobalLoadingConfig.js";import"../utils/fileDownload.js";import"../utils/officePreviewUtil.js";import"../components/upload/OfficePreviewHeaderBar.vue.js";import"@element-plus/icons-vue";import"../components/ElDialogBody/ElDialogBody.vue.js";import"../components/ElGrid/ElGrid.vue.js";import"../components/ElGrid/ElGridColumnSetting.vue.js";import"../../chunks/DragHandleIcon.vue_vue_type_script_setup_true_lang-DnMWn5jY.js";import"../utils/columnSettingStorage.js";import"../../chunks/ElTotalTools.vue_vue_type_script_setup_true_lang-BqRnIFkw.js";import"../../chunks/ElPagePagination.vue_vue_type_style_index_0_lang-CGjSyYgn.js";import"../components/Search/ElSearch.vue.js";import"../components/Title/ElTitle.vue.js";import"../components/icon/ElIconBtn.vue.js";import"../components/Search/ElIconSearch.vue.js";import"../components/Search/ElSearchInput.vue.js";import"../../chunks/ElCopyTooltip.vue_vue_type_script_setup_true_lang-MdgIHwF2.js";/* empty css */import"../../chunks/userSelect.vue_vue_type_script_setup_true_lang-DlEso2ua.js";import"../components/business/userSelectContent.vue.js";import"../api/BasicApi.js";import"../api/SysUserApi.js";import"../../chunks/comp.selectUser.vue_vue_type_script_setup_true_lang-BQDO393q.js";import"../api/EmployeeInfoApi.js";import"../components/business/comp.userForm.vue.js";import"../api/DeptInfoApi.js";import"../hooks/useResetRefHooks.js";import"../config/vxeSelectColumn.js";import"../../chunks/ElTagDisplay.vue_vue_type_script_setup_true_lang-DQXuYsW_.js";import"../../chunks/DictDisplay.vue_vue_type_script_setup_true_lang-DiFlFWi1.js";import"../hooks/useDictHooks.js";import"../api/SysDictCacheApi.js";import"../stores/dictStore.js";import"../../chunks/ElScrollbars.vue_vue_type_script_setup_true_lang-0Vhrxdyr.js";import"@vueuse/components";import"../components/ElCardList.vue.js";import"../components/kFrame/KFrame.vue.js";import"../components/kFrame/IframeOptions.js";import"../../chunks/ElCellLink.vue_vue_type_script_setup_true_lang-DXGj9pCT.js";import"../components/ElCircleBadge/ElCircleBadge.vue.js";import"../components/AsideCardList/AsideCardList.vue.js";import"../../chunks/ElNumericInput.vue_vue_type_script_setup_true_lang-C6KlCE6f.js";import"../components/ElIndicatorInput/ElIndicatorInput.vue.js";import"../components/RichTextEditor/RichTextEditor.vue.js";import"../../chunks/preload-helper-BlTxHScW.js";import"../components/RichTextEditor/richTextHtmlUtils.js";import"../components/RichTextEditor/installUmoEditorApp.js";import"tdesign-vue-next";import"../components/RichTextEditor/richTextImageUpload.js";import"../utils/buildUploadHeaders.js";import"../components/ElIndicatorInput/interface.js";import"../components/ElTabsPanel/ElTabsPanel.vue.js";const Ri={install(i){i.mixin(o)}};export{Ri as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ref as m,createApp as g,h as t}from"vue";import v,{ElDialog as y,ElDrawer as C,ElButton as n}from"element-plus";import E from"./plugins.js";import h from"../stores/storeConfig.js";/* empty css */import"../config/ElementPlusConfig.js";import b from"element-plus/es/locale/lang/zh-cn";import"../mixin/globalMixin.js";import"../../chunks/operationAuth.vue_vue_type_script_lang-BgqMGXbQ.js";import"../hooks/useBehaviorAction.js";import"../utils/behaviorTrack.js";import"axios";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"../utils/uuid.js";import"uuid";import"../utils/behaviorContext.js";import"../utils/encrypt.js";import"jsencrypt";import"../utils/dateTime.js";import"../hooks/useOperationAuth.js";import"vue-router";import"../stores/permissionStore.js";import"pinia";import"../utils/frontendBus.js";import"../utils/operationAuth.js";import"../stores/userInfoStore.js";import"../utils/userSessionStorage.js";import"../../chunks/ElFlex.vue_vue_type_script_setup_true_lang-DYk3SQcE.js";import"../interface/enum/FlexEnum.js";import"@vueuse/core";import"../components/icon/ElIcons.vue.js";import"../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"../../chunks/ElDescForm.vue_vue_type_style_index_0_lang-
|
|
1
|
+
import{ref as m,createApp as g,h as t}from"vue";import v,{ElDialog as y,ElDrawer as C,ElButton as n}from"element-plus";import E from"./plugins.js";import h from"../stores/storeConfig.js";/* empty css */import"../config/ElementPlusConfig.js";import b from"element-plus/es/locale/lang/zh-cn";import"../mixin/globalMixin.js";import"../../chunks/operationAuth.vue_vue_type_script_lang-BgqMGXbQ.js";import"../hooks/useBehaviorAction.js";import"../utils/behaviorTrack.js";import"axios";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"../utils/uuid.js";import"uuid";import"../utils/behaviorContext.js";import"../utils/encrypt.js";import"jsencrypt";import"../utils/dateTime.js";import"../hooks/useOperationAuth.js";import"vue-router";import"../stores/permissionStore.js";import"pinia";import"../utils/frontendBus.js";import"../utils/operationAuth.js";import"../stores/userInfoStore.js";import"../utils/userSessionStorage.js";import"../../chunks/ElFlex.vue_vue_type_script_setup_true_lang-DYk3SQcE.js";import"../interface/enum/FlexEnum.js";import"@vueuse/core";import"../components/icon/ElIcons.vue.js";import"../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"../../chunks/ElDescForm.vue_vue_type_style_index_0_lang-DRKuI9Xa.js";import"../components/ElContentPanel/ElContentPanel.vue.js";import"../components/ElSplitPanel/ElSplitPanel.vue.js";import"../components/ElCardSection/ElCardSection.vue.js";import"../components/upload/AttachmentPreview.vue.js";import"../utils/FrameworkUtils.js";import"xlsx-js-style";import"../hooks/usePreviewFullscreen.js";import"../components/upload/OfficePreview.vue.js";import"../api/DocumentApi.js";import"../utils/request.js";import"../utils/AxiosConfig.js";import"../utils/globalLoading.js";import"../utils/workflowTaskContext.js";import"../config/GlobalLoadingConfig.js";import"../utils/fileDownload.js";import"../utils/officePreviewUtil.js";import"../components/upload/OfficePreviewHeaderBar.vue.js";import"@element-plus/icons-vue";import"../components/ElDialogBody/ElDialogBody.vue.js";import"../components/ElGrid/ElGrid.vue.js";import"../components/ElGrid/ElGridColumnSetting.vue.js";import"../../chunks/DragHandleIcon.vue_vue_type_script_setup_true_lang-DnMWn5jY.js";import"../utils/columnSettingStorage.js";import"../../chunks/ElTotalTools.vue_vue_type_script_setup_true_lang-BqRnIFkw.js";import"../../chunks/ElPagePagination.vue_vue_type_style_index_0_lang-CGjSyYgn.js";import"../components/Search/ElSearch.vue.js";import"../components/Title/ElTitle.vue.js";import"../components/icon/ElIconBtn.vue.js";import"../components/Search/ElIconSearch.vue.js";import"../components/Search/ElSearchInput.vue.js";import"../../chunks/ElCopyTooltip.vue_vue_type_script_setup_true_lang-MdgIHwF2.js";/* empty css */import"../../chunks/userSelect.vue_vue_type_script_setup_true_lang-DlEso2ua.js";import"../components/business/userSelectContent.vue.js";import"../api/BasicApi.js";import"../api/SysUserApi.js";import"../../chunks/comp.selectUser.vue_vue_type_script_setup_true_lang-BQDO393q.js";import"../api/EmployeeInfoApi.js";import"../components/business/comp.userForm.vue.js";import"../api/DeptInfoApi.js";import"../hooks/useResetRefHooks.js";import"../config/vxeSelectColumn.js";import"../../chunks/ElTagDisplay.vue_vue_type_script_setup_true_lang-DQXuYsW_.js";import"../../chunks/DictDisplay.vue_vue_type_script_setup_true_lang-DiFlFWi1.js";import"../hooks/useDictHooks.js";import"../api/SysDictCacheApi.js";import"../stores/dictStore.js";import"../../chunks/ElScrollbars.vue_vue_type_script_setup_true_lang-0Vhrxdyr.js";import"@vueuse/components";import"../components/ElCardList.vue.js";import"../components/kFrame/KFrame.vue.js";import"../components/kFrame/IframeOptions.js";import"../../chunks/ElCellLink.vue_vue_type_script_setup_true_lang-DXGj9pCT.js";import"../components/ElCircleBadge/ElCircleBadge.vue.js";import"../components/AsideCardList/AsideCardList.vue.js";import"../../chunks/ElNumericInput.vue_vue_type_script_setup_true_lang-C6KlCE6f.js";import"../components/ElIndicatorInput/ElIndicatorInput.vue.js";import"../components/RichTextEditor/RichTextEditor.vue.js";import"../../chunks/preload-helper-BlTxHScW.js";import"../components/RichTextEditor/richTextHtmlUtils.js";import"../components/RichTextEditor/installUmoEditorApp.js";import"tdesign-vue-next";import"../components/RichTextEditor/richTextImageUpload.js";import"../utils/buildUploadHeaders.js";import"../components/ElIndicatorInput/interface.js";import"../components/ElTabsPanel/ElTabsPanel.vue.js";import"pinia-plugin-store";import"../utils/patchWujiePopperCoordinates.js";function Ct(a,u,c,s,d="dialog"){const p=m(!0),i=m(!1),e=m(),o=g(()=>t(d==="dialog"?y:C,{...c,modelValue:p.value,onClosed(){o.unmount(),document.body.removeChild(r)},onClose(){l()}},{default:()=>t(a,{...u,ref:e}),footer:()=>t("div",{className:"dialog-footer"},[t(n,{onClick:l},()=>"取 消"),t(n,{type:"primary",onClick:f,loading:i.value},()=>"确 认")])}));o.use(E),o.use(v,{locale:b}),o.use(h),o.use(s);const r=document.createElement("div");document.body.appendChild(r),o.mount(r);async function f(){i.value=!0;try{await e.value?.confirm?.()}finally{i.value=!1}}function l(){p.value=!1}}export{Ct as renderDialog};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import
|
|
1
|
+
import a from"../api/DocumentApi.js";import"./request.js";import"./AxiosConfig.js";import"axios";import"./uuid.js";import"uuid";import"./encrypt.js";import"jsencrypt";import"./behaviorTrack.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"./behaviorContext.js";import"./dateTime.js";import"element-plus";import"./frontendBus.js";import"./globalLoading.js";import"vue";import"./workflowTaskContext.js";import"../config/GlobalLoadingConfig.js";const $=async(o,e,r)=>{if(!o)return;const{blob:t,fileName:p}=await a.downloadFile(o,r),m=URL.createObjectURL(t),i=document.createElement("a");i.href=m,i.download=p||c(e,o,r),i.click(),URL.revokeObjectURL(m)},c=(o,e,r)=>{const t=o||e;return r?.toLowerCase()==="pdf"&&!/\.pdf$/i.test(t)?t.replace(/\.[^./\\]+$/,"")+".pdf":t};export{$ as default,$ as downloadFileById};
|