adtec-hnyzfc-core-package 1.6.9 → 1.7.0
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/DictDisplay.vue_vue_type_script_setup_true_lang-DT27bVnE.js +1 -0
- package/dist/src/api/DocumentApi.d.ts +7 -1
- package/dist/src/api/DocumentApi.js +1 -1
- package/dist/src/components/OperationAuth/operationAuth.vue.d.ts +9 -2
- package/dist/src/components/OperationAuth/operationAuth.vue.js +1 -1
- package/dist/src/components/dict/DictDisplay.vue.d.ts +11 -1
- package/dist/src/components/dict/DictDisplay.vue.js +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/components/upload/OfficePreviewHeaderBar.vue.d.ts +9 -5
- package/dist/src/components/upload/OfficePreviewHeaderBar.vue.js +2 -2
- package/dist/src/hooks/createDialogHooks.js +6 -6
- package/dist/src/hooks/workflowTodo.js +1 -1
- package/dist/src/mixin/globalMixin.js +1 -1
- package/dist/src/packages/index.d.ts +3 -0
- 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.d.ts +6 -1
- package/dist/src/utils/fileDownload.js +1 -1
- package/dist/src/utils/modules.js +2 -2
- package/dist/src/utils/uploadAccept.js +1 -1
- package/dist/styles/element-ui.css +1 -1
- package/package.json +1 -1
- package/dist/chunks/DictDisplay.vue_vue_type_script_setup_true_lang-DiFlFWi1.js +0 -1
- package/dist/chunks/operationAuth.vue_vue_type_script_lang-BgqMGXbQ.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{defineComponent as D,computed as t,openBlock as v,createBlock as x,withCtx as S,createTextVNode as f,toDisplayString as m,createElementBlock as b,Fragment as w,createCommentVNode as A,createElementVNode as h,normalizeStyle as N,renderSlot as V}from"vue";import B from"../src/hooks/useDictHooks.js";import{_ as E}from"./ElTagDisplay.vue_vue_type_script_setup_true_lang-DQXuYsW_.js";const P=D({__name:"DictDisplay",props:{dictType:{},value:{default:void 0},mode:{default:"tag"},aliasKey:{default:void 0},item:{default:void 0}},setup(i){const o=i,{getDict:p,getDictData:y}=B(),s={primary:"#0070d2",success:"#0d9e31",warning:"#e6710b",danger:"#cf2613",error:"#cf2613",info:"#909399"},c={primary:"primary",success:"success",info:"info",warning:"warning",danger:"danger",error:"danger"},l=t(()=>{if(o.item)return o.item;const e=y(String(o.value??""),o.dictType);return e&&e.value!==void 0?e:void 0}),g=()=>{const e=l.value?.remark;if(e)try{const r=JSON.parse(e);if(r&&typeof r=="object")return r}catch{}},a=t(()=>g()),u=t(()=>o.mode==="tag"?a.value?.tag:a.value?.text),_=t(()=>u.value?.aliases??a.value?.aliases),n=t(()=>{const e=u.value?.color;return typeof e=="string"?e.trim().toLowerCase():void 0}),d=t(()=>{const e=o.aliasKey?_.value?.[o.aliasKey]:void 0;return e??l.value?.label??""}),k=t(()=>{const e=n.value;return e?c[e]:"primary"}),C=t(()=>{const e=n.value;return e&&!c[e]?e:void 0}),T=t(()=>{const e=n.value;if(e){if(s[e])return{color:s[e]};if(/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/.test(e))return{color:e}}});return p([o.dictType]),(e,r)=>i.mode==="tag"?(v(),x(E,{key:0,type:k.value,color:C.value,"disable-transitions":""},{default:S(()=>[f(m(d.value),1)]),_:1},8,["type","color"])):(v(),b(w,{key:1},[A(" 文字模式支持自定义内容(如版本号前带图标),颜色仍由字典备注统一控制 "),h("span",{style:N(T.value)},[V(e.$slots,"default",{},()=>[f(m(d.value||"—"),1)])],4)],2112))}});export{P as _};
|
|
@@ -33,9 +33,15 @@ declare const _default: {
|
|
|
33
33
|
* format:original(默认,原始附件)/ pdf(Office 文档导出 PDF,后端转换后同样叠加水印)。
|
|
34
34
|
* 返回后端 Content-Disposition 指定的文件名,前端据此命名可保证 .pdf 等后缀与内容一致。
|
|
35
35
|
*/
|
|
36
|
-
|
|
36
|
+
/** 下载附件:action 取 raw(原件,无水印)/ watermark(下载,带水印,默认)/ pdf(导出 PDF) */
|
|
37
|
+
downloadFile(id: string, action?: string): Promise<{
|
|
37
38
|
blob: Blob;
|
|
38
39
|
fileName?: string;
|
|
39
40
|
}>;
|
|
41
|
+
/**
|
|
42
|
+
* 当前用户对该附件可用的下载动作:raw(原件,无水印)/ watermark(下载,带水印)/ pdf(导出 PDF)。
|
|
43
|
+
* 由后端按“文档类型 + 用户角色/用户”解析,前端只负责按结果渲染下载菜单。
|
|
44
|
+
*/
|
|
45
|
+
getDownloadActions(id: string): Promise<string[]>;
|
|
40
46
|
};
|
|
41
47
|
export default _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import
|
|
1
|
+
import s from"../utils/request.js";import r 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 o="/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()},A={getUpLoadFilesVoById(e){return s.get(o+"getUpLoadFilesVoById/"+e)},getFileAccessAddress(e){return s.get(o+"getFileAccessAddress",{id:e})},async createRichTextImageUrl(e){const{url:t}=await this.createPreviewSession(e),i=/\/preview\/fileView\/([^/]+)\//.exec(t||"");if(!i?.[1])throw new Error("预览会话创建失败");return`${o}preview/fileView/${encodeURIComponent(i[1])}/image`},getUpLoadFilesByBussinessIds(e,t){const i=t===void 0?o+"getUpLoadFilesByBussinessIds":o+"getUpLoadFilesByBussinessIds/"+t;return s.post(i,e)},delSysUploadFile(e){return s.get(o+"delSysUploadFile/"+e)},getBusinessDocuments(e,t){return s.get(o+"getBusinessDocuments/"+e+"/"+t)},fileStatusConfirmation(e){return s.post(o+"fileStatusConfirmation",e)},delSysUploadFiles(e){return s.post(o+"delSysUploadFiles",e)},updateFilesCreateBy(e,t){return s.post(o+"updateFilesCreateBy",{ids:e,createBy:t})},createPreviewSession(e){return s.postWithOptions(o+"preview/session/"+e,void 0,{skipGlobalLoading:!0})},async downloadFile(e,t){const i=await r({url:o+"preview/download/"+e+(t?"?mode="+t:""),method:"get",responseType:"blob"});return{blob:i.data,fileName:n(i.headers?.["content-disposition"])}},async getDownloadActions(e){return(await s.get(o+"preview/downloadActions/"+e))?.actions??[]}};export{A as default};
|
|
@@ -19,7 +19,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
19
19
|
alias?: string
|
|
20
20
|
/** 按钮级覆盖:图标/文字颜色。 */
|
|
21
21
|
| undefined;
|
|
22
|
-
color?: string
|
|
22
|
+
color?: string
|
|
23
|
+
/** 展示形态:button=按权限点配置渲染按钮(默认);menuItem=下拉菜单项(图标+权限色+文字) */
|
|
24
|
+
| undefined;
|
|
25
|
+
displayMode?: ("button" | "menuItem") | undefined;
|
|
23
26
|
}, () => VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
24
27
|
[key: string]: any;
|
|
25
28
|
}> | VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
@@ -44,8 +47,12 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
44
47
|
alias?: string
|
|
45
48
|
/** 按钮级覆盖:图标/文字颜色。 */
|
|
46
49
|
| undefined;
|
|
47
|
-
color?: string
|
|
50
|
+
color?: string
|
|
51
|
+
/** 展示形态:button=按权限点配置渲染按钮(默认);menuItem=下拉菜单项(图标+权限色+文字) */
|
|
52
|
+
| undefined;
|
|
53
|
+
displayMode?: ("button" | "menuItem") | undefined;
|
|
48
54
|
}> & Readonly<{}>, {
|
|
49
55
|
noConfig: boolean;
|
|
56
|
+
displayMode: string;
|
|
50
57
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
51
58
|
export default _default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{defineComponent as H,computed as a,isVNode as p,h as n,resolveComponent as c,resolveDynamicComponent as N,cloneVNode as J}from"vue";import K from"../../hooks/useBehaviorAction.js";import Y from"../../hooks/useOperationAuth.js";import{_ as $}from"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.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"vue-router";import"../../stores/permissionStore.js";import"pinia";import"../../utils/frontendBus.js";import"../../utils/operationAuth.js";import"../../stores/userInfoStore.js";import"../../utils/userSessionStorage.js";const T={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)"},j=H({name:"OperationAuth",props:{operCode:{type:[String,Array],required:!0},menuCode:String,noConfig:Boolean,loadType:String,icon:String,remark:String,alias:String,color:String,displayMode:{type:String,default:"button"}},setup(r,{slots:i}){const{getOperation:L}=Y(),{runBehaviorAction:V}=K(),z=a(()=>Array.isArray(r.operCode)?r.operCode:[r.operCode]),m=a(()=>L(z.value,r.menuCode)),x=a(()=>!!m.value),I=a(()=>{const e=r.remark??m.value?.remark;if(!e)return{alias:"",color:""};try{const t=JSON.parse(e);return{alias:t?.aliases?.alias1||t?.aliases?.alias||"",color:t?.color||t?.icon?.color||t?.text?.color||""}}catch{return{alias:"",color:""}}}),s=a(()=>(r.icon??m.value?.icon??"").trim()),C=a(()=>r.alias||I.value.alias||m.value?.name||""),S=a(()=>m.value?.code||z.value[0]||""),f=a(()=>C.value||S.value||"未命名操作"),y=a(()=>({"data-behavior-operation-code":S.value,"data-behavior-operation-name":f.value,"data-behavior-scope":"manual","data-track-code":S.value,"data-track-name":f.value})),b=a(()=>r.color||I.value.color||""),v=a(()=>b.value.trim().toLowerCase()),u=a(()=>v.value!==""&&v.value in T),h=a(()=>{if(u.value)return v.value==="error"?"danger":v.value}),g=a(()=>{if(u.value)return;const e=b.value.trim();if(e)return{color:T[v.value]||e}}),B=a(()=>r.loadType??m.value?.loadType??""),k=a(()=>String(B.value??"")),P=a(()=>{const e=i.default?.()[0];if(!e||!p(e))return!1;const t=e.type||{},l=String(t?.name||t?.__name||"").replace(/[^a-zA-Z]/g,"");return/^elicon/i.test(l)?!0:/^elbutton$/i.test(l)&&!!e.props?.icon}),w=a(()=>{const e=i.default?.()[0];if(!e||!p(e))return!1;const t=e.type||{};return String(t?.name||t?.__name||"").replace(/[^a-zA-Z]/g,"").toLowerCase()==="elbutton"&&k.value==="20"}),_=a(()=>r.displayMode==="menuItem"?"menuItem":r.noConfig?"slot":w.value||P.value?"icon":k.value==="10"?"text":k.value==="20"?"icon":k.value==="30"?"iconText":"slot"),M=a(()=>i.default?.()[0]?.props?.onClick),A=a(()=>{const e=i.default?.()[0];return p(e)&&e.props?.["data-behavior-scope"]==="manual"}),O=e=>{const t=M.value;return Array.isArray(t)?t.reduce((o,l)=>typeof l=="function"?l(...e):o,void 0):typeof t=="function"?t(...e):void 0},d=(...e)=>A.value?O(e):V({code:S.value,name:f.value,actionType:"CLICK"},()=>O(e)),Z=e=>{if(e.type==="button")return!0;const t=e.type,o=String(t?.name||t?.__name||"").replace(/[^a-zA-Z]/g,"").toLowerCase();return o==="elbutton"||o==="eliconbtn"||o==="eliconsearch"},E=e=>{const t=e.type;return String(t?.name||t?.__name||"").replace(/[^a-zA-Z]/g,"").toLowerCase()==="eliconbtn"},W=e=>u.value||!E(e)?{}:{neutral:!0},R=()=>(i.default?.()||[]).map(t=>{if(!p(t)||!Z(t))return t;const o=J(t,{...y.value,...A.value?{}:{onClick:d},type:u.value?h.value:void 0,...W(t),style:b.value.trim()?g.value:void 0});return!A.value&&o.props&&(o.props.onClick=d),o});return()=>{if(!x.value)return null;if(_.value==="icon"){const e=i.default?.()[0],t=p(e)?e.props||{}:{};if(w.value){const o={...t};delete o.modelValue,delete o.tip,delete o.elementType,delete o.neutral,delete o.icon;const l=s.value||"adtec-tips",q=n(c("el-icon"),{},()=>l.startsWith("adtec-")?n("svg",{class:"icon","aria-hidden":"true"},[n("use",{href:"#"+l})]):n(N(l))),D=n(c("el-button"),{...o,...y.value,type:u.value?h.value:void 0,title:f.value,"aria-label":f.value,style:[o.style,g.value],onClick:d},{icon:()=>q});return n(c("el-tooltip"),{content:f.value,placement:"top"},{default:()=>D})}return n(c("el-icon-btn"),{...t,...y.value,modelValue:s.value||t.modelValue||"adtec-tips",tip:C.value||t.tip,type:u.value?h.value:void 0,neutral:!u.value,style:g.value,onClick:d})}if(_.value==="text"){const e=i.default?.()[0],o={...p(e)?e.props||{}:{}};return delete o.modelValue,delete o.tip,delete o.icon,n(c("el-button"),{...o,...y.value,type:u.value?h.value:void 0,size:P.value?"small":o.size,style:[o.style,g.value],onClick:d},()=>C.value)}if(_.value==="iconText"){const e=i.default?.()[0],t=p(e)?e.props||{}:{},o=s.value?n(c("el-icon"),{},()=>s.value.startsWith("adtec-")?n("svg",{class:"icon","aria-hidden":"true"},[n("use",{href:"#"+s.value})]):n(N(s.value))):void 0;return n(c("el-button"),{...t,...y.value,type:h.value,style:[t.style,g.value],onClick:d},[o,n("span",{},C.value)])}if(_.value==="menuItem"){const e=s.value,t=v.value?{color:T[v.value]||b.value.trim()}:void 0;return n("span",{...y.value,class:"operation-auth-menu-item",style:t,onClick:d},[e?n(c("el-icon"),{},()=>e.startsWith("adtec-")?n("svg",{class:"icon","aria-hidden":"true"},[n("use",{href:"#"+e})]):n(N(e))):void 0,n("span",{},C.value)])}return R()}}}),ye=$(j,[["__scopeId","data-v-6a3579c4"]]);export{ye as default};
|
|
@@ -11,10 +11,20 @@ type __VLS_Props = {
|
|
|
11
11
|
/** 已加载的字典项,传入时跳过缓存查找 */
|
|
12
12
|
item?: ISysDictDataCacheVo;
|
|
13
13
|
};
|
|
14
|
-
declare
|
|
14
|
+
declare var __VLS_5: {};
|
|
15
|
+
type __VLS_Slots = {} & {
|
|
16
|
+
default?: (props: typeof __VLS_5) => any;
|
|
17
|
+
};
|
|
18
|
+
declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
15
19
|
item: ISysDictDataCacheVo;
|
|
16
20
|
mode: "tag" | "text";
|
|
17
21
|
value: string | number;
|
|
18
22
|
aliasKey: string;
|
|
19
23
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
24
|
+
declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
|
|
20
25
|
export default _default;
|
|
26
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
27
|
+
new (): {
|
|
28
|
+
$slots: S;
|
|
29
|
+
};
|
|
30
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as o}from"../../../chunks/DictDisplay.vue_vue_type_script_setup_true_lang-
|
|
1
|
+
import{_ as o}from"../../../chunks/DictDisplay.vue_vue_type_script_setup_true_lang-DT27bVnE.js";import"vue";import"../../hooks/useDictHooks.js";import"../../api/SysDictCacheApi.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"element-plus";import"../../utils/frontendBus.js";import"../../utils/globalLoading.js";import"../../utils/workflowTaskContext.js";import"../../config/GlobalLoadingConfig.js";import"../../stores/dictStore.js";import"pinia";import"../../stores/userInfoStore.js";import"../../utils/userSessionStorage.js";import"../../utils/FrameworkUtils.js";import"xlsx-js-style";import"../../../chunks/ElTagDisplay.vue_vue_type_script_setup_true_lang-DQXuYsW_.js";export{o as default};
|
|
@@ -35,7 +35,7 @@ declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {
|
|
|
35
35
|
zoomIn: () => void;
|
|
36
36
|
zoomOut: () => void;
|
|
37
37
|
resetZoom: () => void;
|
|
38
|
-
download: (
|
|
38
|
+
download: (action?: string) => Promise<void>;
|
|
39
39
|
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
40
40
|
close: () => any;
|
|
41
41
|
error: (err?: unknown) => any;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{defineComponent as
|
|
2
|
-
切换时淡出过渡,避免 spinner 相位/进度条状态差异造成的跳动 `),
|
|
1
|
+
import{defineComponent as Oe,useModel as De,ref as s,computed as d,watch as H,nextTick as Pe,onMounted as Te,onBeforeUnmount as be,openBlock as N,createElementBlock as _,normalizeClass as ze,createBlock as $,unref as D,createCommentVNode as B,createElementVNode as L,createVNode as Ae,Transition as Ze,withCtx as q,normalizeStyle as Ve,createTextVNode as We,mergeModels as re}from"vue";import{ElEmpty as He,ElButton as _e,ElMessage as U}from"element-plus";import le from"../../api/DocumentApi.js";import $e from"../../utils/FrameworkUtils.js";import qe from"../../utils/fileDownload.js";import{resolveOfficeFileExt as Ue,canExportPdf as Xe,MAX_RICH_PREVIEW_ZOOM as ne,MIN_OFFICE_ZOOM as se,clampRichPreviewZoom as ie,OFFICE_ZOOM_STEP as ce}from"../../utils/officePreviewUtil.js";import Qe from"./OfficePreviewHeaderBar.vue.js";import{_ as je}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 Je={class:"fileview-frame-wrap"},Ke={key:0,class:"preview-loading-overlay"},Ye=["src","title"],Ge=Oe({__name:"OfficePreview",props:re({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},deferRefresh:{type:Boolean,default:!1},lostDescription:{default:"附件已丢失或无权访问"},attachmentLost:{type:Boolean,default:!1}},{scale:{default:1},scaleModifiers:{}}),emits:re(["loaded","error","download","refresh","toggle-fullscreen","close"],["update:scale"]),setup(c,{expose:de,emit:ue}){const o=c,n=De(c,"scale"),v=ue,g=s(""),x=s(null),E=s(!1),h=s(!1),M=s(""),u=s(""),S=s(-1),C=s(0),I=s(!1),f=s(!1),P=s(!1);let R=0;const fe=new Set(["pdf","doc","docx","xls","xlsx","ppt","pptx","txt","csv","html","htm","xml","json","md"]),me=d(()=>M.value||o.lostDescription),X=d(()=>o.title||o.fileName),Q=d(()=>Ue(o.fileType,o.fileName,o.url)),j=d(()=>o.showSearch&&!h.value&&fe.has(Q.value)),ve=d(()=>o.showZoom&&!h.value),J=d(()=>o.showDownload&&Xe(Q.value)),he=["raw","watermark","pdf"],k=s([]),T=d(()=>{if(!o.showDownload)return[];const t=J.value?["watermark","pdf"]:["watermark"];return(k.value.length?k.value:t).filter(a=>a==="pdf"?J.value:he.includes(a))}),we=async()=>{const t=o.fileId;if(k.value=[],!(!t||!o.showDownload))try{k.value=await le.getDownloadActions(t)}catch{}},pe=d(()=>o.downloadLoading||P.value),ye=d(()=>f.value&&n.value!==1),ge=d(()=>{if(!ye.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}},A=t=>{const e=Number(t?.total||0);C.value=e,S.value=e>0?Number(t?.index||0):-1,e===0&&u.value&&U.warning("未找到匹配内容")},xe=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(se,Math.min(ne,n.value));return a.style.zoom=String(l),a.style.width=`${100/l}%`,a.style.height=`${100/l}%`,!0}}catch{}return!1},F=()=>{!f.value&&xe(z())||b({command:"zoom",scale:n.value})},K=()=>{n.value=ie(n.value+ce),F()},Y=()=>{n.value=ie(n.value-ce),F()},G=()=>{n.value=1,F()};let i={query:"",matches:[],index:-1};const Ee=(t,e)=>{const a=[],l=t.body;if(!l)return a;const r=e.toLocaleLowerCase(),w=t.createTreeWalker(l,NodeFilter.SHOW_TEXT,{acceptNode:m=>{const y=m.parentElement;return!y||!m.nodeValue||!m.nodeValue.trim()||y.closest("script, style, noscript, input, textarea, #wm_div_id")?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT}});let p=w.nextNode();for(;p;){const m=p.nodeValue?.toLocaleLowerCase()||"";let y=m.indexOf(r);for(;y!==-1;)a.push({node:p,start:y,end:y+e.length}),y=m.indexOf(r,y+Math.max(1,e.length));p=w.nextNode()}return a},Se=(t,e,a)=>{const l=t?.document;if(!l?.body)return null;(a==="first"||i.query!==e)&&(i={query:e,matches:Ee(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 m=t?.getSelection?.();m?.removeAllRanges(),m?.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(A):A(r);return}catch{}if(!f.value){const r=Se(a,e,t);if(r){A(r);return}}b({command:"search",query:e,direction:t})},Ce=()=>{i={query:"",matches:[],index:-1};const t=z(),e=t?.adtecFileViewAdapter;if(e?.clearSearch)try{e.clearSearch();return}catch{}if(!f.value)try{t?.getSelection?.()?.removeAllRanges()}catch{}b({command:"clear-search"})},Ie=t=>{const e=t.trim();if(u.value=e,S.value=-1,C.value=0,!e){ee();return}if(f.value){U.warning("当前预览服务不支持内容搜索,请下载后查看");return}Z("first")},ee=()=>{u.value="",S.value=-1,C.value=0,Ce()},Ne=()=>{u.value&&Z("prev")},Fe=()=>{u.value&&Z("next")},te=t=>{if(!(t.source!==x.value?.contentWindow||t.data?.source!=="adtec-fileview")){if(t.data.type==="ready"){I.value=!0,f.value=!1,F();return}if(t.data.type==="search-result"){const e=Number(t.data.total||0);C.value=e,S.value=e>0?Number(t.data.index||0):-1,e===0&&u.value&&U.warning("未找到匹配内容")}}},O=new Set,Be=()=>{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},V=()=>{[window,Be()].forEach(e=>{if(!(!e||O.has(e)))try{e.addEventListener("message",te),O.add(e)}catch{}})},Le=()=>{O.forEach(t=>{try{t.removeEventListener("message",te)}catch{}}),O.clear()},oe=async()=>{const t=++R;if(g.value="",E.value=!1,h.value=!1,M.value="",n.value=1,u.value="",S.value=-1,C.value=0,I.value=!1,f.value=!1,o.attachmentLost){h.value=!0,v("error");return}E.value=!0;try{if(o.fileId){const e=await le.createPreviewSession(o.fileId);if(t!==R)return;g.value=e.url;return}if(o.url.startsWith("/api/doc/preview/fileView/")){g.value=o.url;return}throw new Error("为保护附件地址,旧版文件直链已停止预览,请使用附件 ID 打开")}catch(e){if(t!==R)return;E.value=!1,h.value=!0,M.value=e?.msg||e?.message||"文件预览失败,请下载后查看",v("error",e)}},ae=()=>{oe()},Me=()=>{v("refresh"),!o.deferRefresh&&ae()},W=async(t="watermark")=>{if(v("download",t),!!o.fileId){P.value=!0;try{await qe(o.fileId,o.fileName,t)}catch(e){$e.messageError(e)}finally{P.value=!1}}},Re=()=>{E.value=!1,V();const t=x.value?.contentWindow;if(t&&!I.value)try{t.adtecPreviewBridge&&(I.value=!0,f.value=!1)}catch{}I.value||window.setTimeout(()=>{I.value||(f.value=!0)},1500),F(),v("loaded")},ke=t=>{E.value=!1,h.value=!0,M.value="文件预览服务暂不可用,请稍后重试或下载后查看",v("error",t)};return H(()=>[o.fileId,o.url,o.attachmentLost],()=>void oe(),{immediate:!0}),H(g,t=>{t&&Pe(()=>V())}),H(()=>[o.fileId,o.showDownload],()=>void we(),{immediate:!0}),Te(()=>V()),be(()=>{R++,Le()}),de({reloadPreview:ae,zoomIn:K,zoomOut:Y,resetZoom:G,download:W}),(t,e)=>(N(),_("div",{class:ze(["office-preview-root",{"is-fullscreen":c.fullscreen}])},[c.showHeader?(N(),$(Qe,{key:0,title:X.value,"title-only":!j.value,zoom:n.value,"search-query":u.value,"search-index":S.value,"search-total":C.value,"show-search":j.value,"show-page-nav":!1,"show-zoom":ve.value,"show-download":c.showDownload,"download-actions":T.value,"show-refresh":c.showRefresh,"show-fullscreen":c.showFullscreen,"show-close":c.showClose,fullscreen:c.fullscreen,"download-loading":pe.value,"refresh-loading":c.refreshLoading,"min-zoom":D(se),"max-zoom":D(ne),onZoomIn:K,onZoomOut:Y,onZoomReset:G,onSearch:Ie,onSearchClear:ee,onSearchPrev:Ne,onSearchNext:Fe,onDownload:W,onRefresh:Me,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","download-actions","show-refresh","show-fullscreen","show-close","fullscreen","download-loading","refresh-loading","min-zoom","max-zoom"])):B("v-if",!0),B(` 外层加载层与预览页内层样式完全一致(spinner + 正在加载文件... + 进度条),
|
|
2
|
+
切换时淡出过渡,避免 spinner 相位/进度条状态差异造成的跳动 `),L("div",Je,[Ae(Ze,{name:"preview-loading-fade"},{default:q(()=>[E.value?(N(),_("div",Ke,[...e[3]||(e[3]=[L("div",{class:"preview-loading-spinner"},null,-1),L("div",{class:"preview-loading-text"},"正在加载文件...",-1),L("div",{class:"preview-loading-progress"},[L("div",{class:"preview-loading-bar is-indeterminate"})],-1)])])):B("v-if",!0)]),_:1}),g.value&&!h.value?(N(),_("iframe",{key:g.value,ref_key:"previewFrameRef",ref:x,class:"fileview-frame",style:Ve(ge.value),src:g.value,title:X.value||"文件预览",referrerpolicy:"same-origin",onLoad:Re,onError:ke},null,44,Ye)):h.value?(N(),$(D(He),{key:1,description:me.value},{default:q(()=>[T.value.length?(N(),$(D(_e),{key:0,type:"primary",onClick:e[2]||(e[2]=a=>W(T.value[0]))},{default:q(()=>[...e[4]||(e[4]=[We(" 下载 ",-1)])]),_:1})):B("v-if",!0)]),_:1},8,["description"])):B("v-if",!0)])],2))}}),Ft=je(Ge,[["__scopeId","data-v-349383c2"]]);export{Ft as default};
|
|
@@ -11,8 +11,12 @@ type __VLS_Props = {
|
|
|
11
11
|
showPageNav?: boolean;
|
|
12
12
|
showZoom?: boolean;
|
|
13
13
|
showDownload?: boolean;
|
|
14
|
-
/**
|
|
15
|
-
|
|
14
|
+
/**
|
|
15
|
+
* 允许的下载动作(后端按“文档类型 + 用户角色/用户”解析):
|
|
16
|
+
* raw=下载原件(无水印)、watermark=下载(带水印)、pdf=下载 PDF。
|
|
17
|
+
* 多个动作渲染成下载菜单,只有一个时渲染成单个下载按钮,为空则不显示下载入口。
|
|
18
|
+
*/
|
|
19
|
+
downloadActions?: string[];
|
|
16
20
|
showRefresh?: boolean;
|
|
17
21
|
showFullscreen?: boolean;
|
|
18
22
|
showClose?: boolean;
|
|
@@ -28,7 +32,7 @@ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {
|
|
|
28
32
|
"zoom-in": () => any;
|
|
29
33
|
"zoom-out": () => any;
|
|
30
34
|
"zoom-reset": () => any;
|
|
31
|
-
download: (
|
|
35
|
+
download: (action: string) => any;
|
|
32
36
|
refresh: () => any;
|
|
33
37
|
"toggle-fullscreen": () => any;
|
|
34
38
|
"page-prev": () => any;
|
|
@@ -42,7 +46,7 @@ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {
|
|
|
42
46
|
"onZoom-in"?: (() => any) | undefined;
|
|
43
47
|
"onZoom-out"?: (() => any) | undefined;
|
|
44
48
|
"onZoom-reset"?: (() => any) | undefined;
|
|
45
|
-
onDownload?: ((
|
|
49
|
+
onDownload?: ((action: string) => any) | undefined;
|
|
46
50
|
onRefresh?: (() => any) | undefined;
|
|
47
51
|
"onToggle-fullscreen"?: (() => any) | undefined;
|
|
48
52
|
"onPage-prev"?: (() => any) | undefined;
|
|
@@ -65,7 +69,7 @@ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {
|
|
|
65
69
|
showPageNav: boolean;
|
|
66
70
|
showZoom: boolean;
|
|
67
71
|
showDownload: boolean;
|
|
68
|
-
|
|
72
|
+
downloadActions: string[];
|
|
69
73
|
showRefresh: boolean;
|
|
70
74
|
showFullscreen: boolean;
|
|
71
75
|
downloadLoading: boolean;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{defineComponent as
|
|
1
|
+
import{defineComponent as A,computed as B,ref as F,watch as I,resolveComponent as h,openBlock as a,createElementBlock as r,normalizeClass as N,toDisplayString as b,createCommentVNode as u,createVNode as o,unref as l,withCtx as d,createElementVNode as f,Fragment as g,createBlock as c,renderList as V,createTextVNode as p}from"vue";import{ArrowUp as S,ArrowDown as M,ArrowLeft as R,ArrowRight as E,ZoomOut as Q,ZoomIn as H,RefreshRight as U,Loading as k,Download as P,Refresh as W,Close as x,FullScreen as X}from"@element-plus/icons-vue";import{ElIcon as s}from"element-plus";import{MAX_PDF_ZOOM as j,MIN_OFFICE_ZOOM as q}from"../../utils/officePreviewUtil.js";import{_ as G}from"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";const J=["title"],K={key:1,class:"header-search"},Y={key:0,class:"search-count"},_={class:"header-actions"},ee=["disabled"],te={class:"page-label"},le=["disabled"],oe=["disabled"],ae={class:"zoom-label"},ne=["disabled"],de=["disabled"],se=["title","disabled"],ie=["disabled"],re=["title"],ue=A({__name:"OfficePreviewHeaderBar",props:{title:{default:""},titleOnly:{type:Boolean,default:!1},zoom:{default:1},currentPage:{default:1},totalPages:{default:0},searchQuery:{default:""},searchIndex:{default:-1},searchTotal:{default:0},showSearch:{type:Boolean,default:!0},showPageNav:{type:Boolean,default:!0},showZoom:{type:Boolean,default:!0},showDownload:{type:Boolean,default:!1},downloadActions:{default:()=>[]},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},minZoom:{default:q},maxZoom:{default:j}},emits:["zoom-in","zoom-out","zoom-reset","download","refresh","toggle-fullscreen","close","page-prev","page-next","search","search-clear","search-prev","search-next"],setup(e,{emit:z}){const y=e,L=[{action:"raw",label:"下载原件(无水印)"},{action:"watermark",label:"下载"},{action:"pdf",label:"下载 PDF"}],m=B(()=>L.filter(v=>y.downloadActions.includes(v.action))),i=z,w=F(y.searchQuery),O=B(()=>Math.round(y.zoom*100));I(()=>y.searchQuery,v=>{w.value=v});const C=()=>{i("search",w.value.trim())};return(v,t)=>{const $=h("el-search-input"),D=h("el-dropdown-item"),T=h("el-dropdown-menu"),Z=h("el-dropdown");return a(),r("div",{class:N(["office-preview-header",{"is-title-only":e.titleOnly}])},[e.title?(a(),r("div",{key:0,class:"header-title",title:e.title},b(e.title),9,J)):u("v-if",!0),e.showSearch?(a(),r("div",K,[o($,{modelValue:w.value,"onUpdate:modelValue":t[0]||(t[0]=n=>w.value=n),class:"search-input",clearable:"",placeholder:"搜索文档内容",panel:!1,"action-tip":"查找",onSearch:C,onChange:C,onClear:t[1]||(t[1]=n=>i("search-clear"))},null,8,["modelValue"]),e.searchTotal>0?(a(),r("span",Y,b(e.searchIndex+1)+"/"+b(e.searchTotal),1)):u("v-if",!0),e.searchTotal>0?(a(),r("button",{key:1,class:"toolbar-btn",type:"button",title:"上一处",onClick:t[2]||(t[2]=n=>i("search-prev"))},[o(l(s),null,{default:d(()=>[o(l(S))]),_:1})])):u("v-if",!0),e.searchTotal>0?(a(),r("button",{key:2,class:"toolbar-btn",type:"button",title:"下一处",onClick:t[3]||(t[3]=n=>i("search-next"))},[o(l(s),null,{default:d(()=>[o(l(M))]),_:1})])):u("v-if",!0)])):u("v-if",!0),f("div",_,[e.showPageNav&&e.totalPages>0?(a(),r(g,{key:0},[f("button",{class:"toolbar-btn",type:"button",title:"上一页",disabled:e.currentPage<=1,onClick:t[4]||(t[4]=n=>i("page-prev"))},[o(l(s),null,{default:d(()=>[o(l(R))]),_:1})],8,ee),f("span",te,b(e.currentPage)+" / "+b(e.totalPages),1),f("button",{class:"toolbar-btn",type:"button",title:"下一页",disabled:e.currentPage>=e.totalPages,onClick:t[5]||(t[5]=n=>i("page-next"))},[o(l(s),null,{default:d(()=>[o(l(E))]),_:1})],8,le),t[14]||(t[14]=f("span",{class:"toolbar-divider"},null,-1))],64)):u("v-if",!0),e.showZoom?(a(),r(g,{key:1},[f("button",{class:"toolbar-btn",type:"button",title:"缩小",disabled:e.zoom<=e.minZoom,onClick:t[6]||(t[6]=n=>i("zoom-out"))},[o(l(s),null,{default:d(()=>[o(l(Q))]),_:1})],8,oe),f("span",ae,b(O.value)+"%",1),f("button",{class:"toolbar-btn",type:"button",title:"放大",disabled:e.zoom>=e.maxZoom,onClick:t[7]||(t[7]=n=>i("zoom-in"))},[o(l(s),null,{default:d(()=>[o(l(H))]),_:1})],8,ne),f("button",{class:"toolbar-btn",type:"button",title:"重置缩放",onClick:t[8]||(t[8]=n=>i("zoom-reset"))},[o(l(s),null,{default:d(()=>[o(l(U))]),_:1})]),t[15]||(t[15]=f("span",{class:"toolbar-divider"},null,-1))],64)):u("v-if",!0),u(` 下载菜单不 Teleport:预览浮层(FileView 90% 遮罩)与全屏/全屏兜底都会把
|
|
2
2
|
Element Plus 浮层(默认 z-index 2000 起)压在下面,Teleport 到 body 后菜单会被遮住,
|
|
3
|
-
表现为“点下载没反应”。留在预览容器内即可跟随容器层级,全屏时也仍在视口内。 `),e.showDownload&&
|
|
3
|
+
表现为“点下载没反应”。留在预览容器内即可跟随容器层级,全屏时也仍在视口内。 `),e.showDownload&&m.value.length>1?(a(),c(Z,{key:2,trigger:"click",teleported:!1,disabled:e.downloadLoading,onCommand:t[9]||(t[9]=n=>i("download",n))},{dropdown:d(()=>[o(T,null,{default:d(()=>[(a(!0),r(g,null,V(m.value,n=>(a(),c(D,{key:n.action,command:n.action},{default:d(()=>[p(b(n.label),1)]),_:2},1032,["command"]))),128))]),_:1})]),default:d(()=>[f("button",{class:"toolbar-btn",type:"button",title:"下载",disabled:e.downloadLoading},[e.downloadLoading?(a(),c(l(s),{key:0,class:"is-loading"},{default:d(()=>[o(l(k))]),_:1})):(a(),c(l(s),{key:1},{default:d(()=>[o(l(P))]),_:1}))],8,de)]),_:1},8,["disabled"])):e.showDownload&&m.value.length===1?(a(),r("button",{key:3,class:"toolbar-btn",type:"button",title:m.value[0].label,disabled:e.downloadLoading,onClick:t[10]||(t[10]=n=>i("download",m.value[0].action))},[e.downloadLoading?(a(),c(l(s),{key:0,class:"is-loading"},{default:d(()=>[o(l(k))]),_:1})):(a(),c(l(s),{key:1},{default:d(()=>[o(l(P))]),_:1}))],8,se)):u("v-if",!0),e.showRefresh?(a(),r("button",{key:4,class:"toolbar-btn",type:"button",title:"刷新附件",disabled:e.refreshLoading,onClick:t[11]||(t[11]=n=>i("refresh"))},[e.refreshLoading?(a(),c(l(s),{key:0,class:"is-loading"},{default:d(()=>[o(l(k))]),_:1})):(a(),c(l(s),{key:1},{default:d(()=>[o(l(W))]),_:1}))],8,ie)):u("v-if",!0),e.showFullscreen?(a(),r("button",{key:5,class:"toolbar-btn",type:"button",title:e.fullscreen?"退出全屏":"全屏",onClick:t[12]||(t[12]=n=>i("toggle-fullscreen"))},[o(l(s),null,{default:d(()=>[e.fullscreen?(a(),c(l(x),{key:0})):(a(),c(l(X),{key:1}))]),_:1})],8,re)):u("v-if",!0),e.showClose?(a(),r("button",{key:6,class:"toolbar-btn toolbar-btn--close",type:"button",title:"关闭",onClick:t[13]||(t[13]=n=>i("close"))},[o(l(s),null,{default:d(()=>[o(l(x))]),_:1})])):u("v-if",!0)])],2)}}}),we=G(ue,[["__scopeId","data-v-0bd340ec"]]);export{we as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{computed as
|
|
1
|
+
import{computed as $,ref as y,unref as v,createApp as ho,nextTick as go,h as n}from"vue";import uo,{ElDrawer as po,ElDialog as bo,ElButton as q}from"element-plus";import H from"../stores/storeConfig.js";/* empty css */import*as P from"@element-plus/icons-vue";import"../config/ElementPlusConfig.js";import{installVxeGrid as fo}from"../config/VxeTableConfig.js";import mo from"element-plus/es/locale/lang/zh-cn";import _o from"./useListenerHooks.js";import{permissionStore as ko}from"../stores/permissionStore.js";import yo from"../components/icon/ElIcons.vue.js";import vo from"../components/ElDialogBody/ElDialogBody.vue.js";import xo from"crypto-js/enc-base64";import wo from"crypto-js/enc-utf8";import{frontendBus as D}from"../utils/frontendBus.js";import{GLOBAL_LOADING_EVENT as V,notifyDialogLoadingScope as So}from"../utils/globalLoading.js";import Eo 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 Lo={},Io="subAppModalOverlay",x="adtec-subapp-modal-open";let F=0;const p=[],k=new Map;let S=!1;const w=new WeakMap,Oo=()=>{for(let o=p.length-1;o>=0;o--)if(p[o].open.value)return p[o]},U=o=>{if(!o?.id)return;if(o.phase==="start"){const t=Oo();if(!t)return;k.set(o.id,t),t.requestLoadingIds.add(o.id),t.requestLoading.value=!0;return}const e=k.get(o.id);e&&(k.delete(o.id),e.requestLoadingIds.delete(o.id),e.requestLoading.value=e.requestLoadingIds.size>0)},Co=o=>{p.push(o),!S&&(D.on(V,U),S=!0)},Do=o=>{const e=p.indexOf(o);e>-1&&p.splice(e,1),o.requestLoadingIds.forEach(t=>k.delete(t)),o.requestLoadingIds.clear(),o.requestLoading.value=!1,!(p.length>0||!S)&&(D.off(V,U),S=!1,k.clear())},Ao=o=>{const e=Lo||{};return o.applicationModule||e.VITE_APPLICATION_MODULE||e.VITE_APP_MODULE||String(o.router.currentRoute.value.meta.applicationModule||"")},z=(o,e,t)=>{if(typeof window>"u"||!window.__POWERED_BY_WUJIE__)return;const r=Ao(o);if(!r||(t&&!e.overlayId&&(e.overlayId=`${r}-${Date.now()}-${++F}`),!e.overlayId))return;const d={applicationModule:r,overlayId:e.overlayId,open:t};D.emit(Io,d),t||(e.overlayId=void 0)},N=(o,e)=>{e&&!o.overlayId&&(o.overlayId=`dialog-${Date.now()}-${++F}`),o.overlayId&&So({id:o.overlayId,open:e})};function Mo(){const e="dialog-hooks-styles",t=document.getElementById(e);if(t&&(t.textContent||"").includes("/* dialog-hooks v24 */"))return;t?.remove();const r=document.createElement("style");r.id=e,r.type="text/css",r.innerHTML=`
|
|
2
2
|
/* dialog-hooks v24 */
|
|
3
3
|
/* 抽屉组件 - 无滚动条样式 */
|
|
4
4
|
.dialog-hooks-no-scroll.el-drawer .el-drawer__body {
|
|
@@ -276,14 +276,14 @@ import{computed as P,ref as x,unref as w,createApp as co,nextTick as ho,h as d}f
|
|
|
276
276
|
|
|
277
277
|
/* 非当前子应用被宿主提升以显示弹窗时,仅隐藏其页面壳;是否添加该状态类
|
|
278
278
|
由宿主根据当前路由判断,当前子应用自己的页面始终保留在遮罩下方。 */
|
|
279
|
-
html.${
|
|
279
|
+
html.${x} #app > .subapp-main {
|
|
280
280
|
visibility: hidden !important;
|
|
281
281
|
pointer-events: none !important;
|
|
282
282
|
}
|
|
283
|
-
html.${
|
|
284
|
-
html.${
|
|
285
|
-
html.${
|
|
283
|
+
html.${x},
|
|
284
|
+
html.${x} body,
|
|
285
|
+
html.${x} #app {
|
|
286
286
|
background: transparent !important;
|
|
287
287
|
background-color: transparent !important;
|
|
288
288
|
}
|
|
289
|
-
`,document.head.appendChild(
|
|
289
|
+
`,document.head.appendChild(r)}const To=8;function j(o){const e=[];return o.querySelectorAll(".el-dialog-body__content").forEach(t=>e.push(t)),o.querySelectorAll(".el-drawer__body, .el-dialog__body").forEach(t=>{t.querySelector(".el-dialog-body__content")||e.push(t)}),e}function A(o){const e=[o];return o.querySelectorAll("*").forEach(t=>{if(t.clientWidth<=0&&t.clientHeight<=0)return;const r=t.scrollHeight>t.clientHeight+1||t.scrollWidth>t.clientWidth+1,d=t.offsetWidth-t.clientWidth>0&&G(t)>0;(r||d)&&e.push(t)}),e}function W(o){return o==="auto"||o==="scroll"||o==="overlay"}function G(o){const e=getComputedStyle(o);if(!W(e.overflowX)&&!W(e.overflowY))return 0;const t=(parseFloat(e.borderLeftWidth)||0)+(parseFloat(e.borderRightWidth)||0);return Math.max(0,o.offsetWidth-o.clientWidth-t)}const R=new WeakSet;function Bo(o){j(o).forEach(e=>{A(e).forEach(t=>{R.has(t)||(R.add(t),$o(t))})})}function $o(o){let e;const t=()=>{o.classList.add("is-scrolling"),e&&window.clearTimeout(e),e=window.setTimeout(()=>o.classList.remove("is-scrolling"),600)};o.addEventListener("scroll",t,{passive:!0}),o.addEventListener("mouseenter",t),o.addEventListener("mouseleave",()=>{e&&window.clearTimeout(e),o.classList.remove("is-scrolling")})}function O(o){j(o).forEach(e=>{const t=w.get(e);if(!e.isConnected){t?.observer.disconnect(),t?.mutationObserver?.disconnect(),w.delete(e);return}if(typeof ResizeObserver>"u"){Y(e,A(e));return}let r=t;if(!r){const d={observer:new ResizeObserver(()=>C(e)),targets:new Set};r=d,w.set(e,d)}C(e),typeof MutationObserver<"u"&&!r.mutationObserver&&(r.mutationObserver=new MutationObserver(()=>{e.isConnected&&C(e)}),r.mutationObserver.observe(e,{childList:!0,subtree:!0,characterData:!0}))})}function C(o){const e=w.get(o);if(!e||!o.isConnected)return;const t=new Set(A(o));e.targets.forEach(r=>{t.has(r)||e.observer.unobserve(r)}),t.forEach(r=>{e.targets.has(r)||e.observer.observe(r,{box:"content-box"})}),e.targets=t,Y(o,t)}function qo(o){return o.closest("[class*='vxe'], [class*='umo']")!==null}function Y(o,e){let t=0;for(const r of e)r!==o&&qo(r)||(t=Math.max(t,G(r)));o.style.setProperty("--dialog-hooks-scrollbar",`${Math.min(To,Math.max(0,t))}px`)}function Po(o,e,t){return o===!1?{enabled:!1,scroll:t,class:void 0,contentClass:void 0}:o===!0||o===void 0?{enabled:o===!0?!0:e,scroll:t,class:void 0,contentClass:void 0}:{enabled:o.enabled??e,scroll:o.scroll??t,class:o.class,contentClass:o.contentClass}}function zo(o,e){if(e)return e;try{const t=o.router.currentRoute.value.meta?.sysMenuData?.icon;if(t)return t}catch{}try{const t=sessionStorage.getItem("permissionStore");if(t){const r=JSON.parse(xo.parse(t).toString(wo));if(r?.activeMenuInfo?.icon)return r.activeMenuInfo.icon}}catch{}try{return ko(H).getActiveMenuInfo?.icon||""}catch{return""}}function $e(o){return function(t){const r=[],d=()=>r[r.length-1],K=i=>{const a=v(i?.data),m=v(i?.row),_=v(i?.formData),u=i?.id??i?.taskId??i?.selectedId??a?.id??m?.id??_?.id;return u==null||u===""?"":String(u)},J=(i,a,m,_="drawer",u,eo=!0)=>{Mo();const{icon:to,hideConfirm:E,hideFooter:ro,dialogBody:lo,...c}=m||{},f=Po(lo,o.defaultDialogBody??!0,eo),ao=`${_}|${typeof i=="string"?i:i?.__name||i?.name||""}|${c.title||""}|${K(a)}`,M=y(!1),T=y(!1),l={open:y(!0),loading:$(()=>M.value||T.value),manualLoading:M,requestLoading:T,requestLoadingIds:new Set,childInstance:y(),app:null,div:null,closing:!1,renderKey:ao,actionName:c.title||"确认"},io=Object.fromEntries(Object.entries(a||{}).map(([s,g])=>[s,v(g)])),so={...c,class:["dialog-hooks-host",...f.enabled?["dialog-hooks-body-contained"]:[],...f.scroll?[]:["dialog-hooks-no-scroll"],"dialog-hooks-scroll-auto",...Array.isArray(c.class)?c.class:c.class?[c.class]:[]]},no=c.onClosed,L=typeof c.title=="string"&&c.title,B=L?zo(o,to):"",co=()=>n("div",{class:"dialog-hooks-header"},[B?n("div",{class:"dialog-hooks-header-icon"},[n(yo,{modelValue:B})]):null,n("div",{class:"dialog-hooks-header-title"},[c.title]),l.loading.value&&!E?null:n("button",{type:"button",class:"dialog-hooks-header-close",onClick:()=>b(l)},[n(P.Close)])]),h=ho(()=>n(_==="drawer"?po:bo,{...so,modelValue:l.open.value,showClose:L?!1:c.showClose??!0,onClosed(){N(l,!1),z(o,l,!1),Do(l),no?.();const s=r.indexOf(l);s>-1&&r.splice(s,1),l.app?.unmount(),l.div?.parentNode&&l.div.parentNode.removeChild(l.div),l.app=null,l.div=null},onClose(){b(l)}},{...L?{header:co}:{},default:()=>{const s=n(i,{...io,loading:l.loading.value,"onUpdate:loading":g=>{l.manualLoading.value=g},ref:l.childInstance});return f.enabled?n(vo,{scroll:f.scroll,class:f.class,contentClass:f.contentClass},{default:()=>s}):s},...ro?{}:{footer:()=>{if(u&&u.length){const s=u.map(g=>typeof g=="function"?g():g);return n("div",{className:"dialog-footer"},s)}return n("div",{className:"dialog-footer"},[n(q,{onClick:()=>b(l),loading:!E&&l.loading.value},"取 消"),E?null:n(q,{type:"primary",onClick:()=>X(l),loading:l.loading.value},"确 认")])}}}));o.plugins?.forEach(s=>h.use(s)),h.use(uo,{locale:mo}),h.use(H),h.use(o.router);for(const[s,g]of Object.entries(P))h.component(s,g);fo(h),o.setupApp?.(h);const I=document.createElement("div");return document.body.appendChild(I),l.app=h,l.div=I,r.push(l),Co(l),N(l,!0),z(o,l,!0),h.mount(I),go(()=>{Bo(document.body),O(document.body),l.childInstance.value?.resetQuery?.(),setTimeout(()=>{O(document.body),window.dispatchEvent(new Event("resize"))},350),setTimeout(()=>O(document.body),1200)}),_o(),{cancel:()=>b(l)}},X=async i=>{const a=i||d();if(!a)return;const{runBehaviorAction:m}=Eo();await m({code:`dialog:${a.renderKey}:confirm`,name:a.actionName||"确认",actionType:"SUBMIT"},async()=>{try{a.manualLoading.value=!0,await a.childInstance.value?.confirm?.(),t&&b(a)}catch{}finally{a.manualLoading.value=!1}})},b=i=>{const a=i||d();!a||!a.open.value||(a.closing=!0,a.open.value=!1)},Q=i=>{const a=d();a&&(a.manualLoading.value=i)},Z=()=>d()?.loading.value??!1,oo=$(()=>d()?.childInstance.value);return{render:J,cancel:b,setLoading:Q,getLoading:Z,instance:oo}}}export{$e as createDialogHooks,$e as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{isRef as
|
|
1
|
+
import{isRef as h,ref as v,nextTick as U}from"vue";import{frontendBus as T}from"../utils/frontendBus.js";import{ElMessage as f}from"element-plus";import{userInfoStore as p}from"../stores/userInfoStore.js";import C from"./usePermissionHooks.js";import O from"./useOpenNewMenu.js";import{handleTree as k}from"../utils/tree.js";import x from"../utils/request.js";import B from"../utils/commonUtils.js";import{setWorkflowTaskContext as w}from"../utils/workflowTaskContext.js";import P from"../api/workflow/workflowInstApi.js";import"pinia";import"../utils/userSessionStorage.js";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";import"vue-router";import"../stores/permissionStore.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"../utils/routeMetaParams.js";import"../utils/FrameworkUtils.js";import"xlsx-js-style";import"../utils/AxiosConfig.js";import"../utils/globalLoading.js";import"../config/GlobalLoadingConfig.js";import"./useDeleteConfirmHooks.js";import"./useBehaviorAction.js";async function b(e,o,t){const{openMenu:a}=C();if(!e.value||!e.value.nodeTag){f.error("未设置待办处理界面!");return}const n=e.value.nodeTag,c=n.indexOf(":")>-1?n.split(":")[1]||"":n,u=n.indexOf(":")>-1?n.split(":")[0]:"",s=u==="system"||n.indexOf(":")===-1,i=Object.entries(e.value).map(([r,d])=>({code:r,value:d}));if(o?.value&&Array.isArray(o.value)&&o.value.length>0){for(const r of o.value)if(!(!r||typeof r!="object")){if("code"in r&&"value"in r){i.push({code:String(r.code),value:r.value});continue}for(const d in r)i.push({code:d,value:r[d]||""})}}if(w(i),n.indexOf("/")>-1){s?o&&t?(t.value=!1,o.value.params=null,await U(async()=>{t.value=!0,o.value.params=o})):f.error("未设置待办处理界面!"):(sessionStorage.setItem("workflow_todo_pending",JSON.stringify({time:Date.now(),params:i})),T.emit(u.toUpperCase()+"WorkflowTodoHandleBus",i));return}let m=p().getUserInfo.menuList.find(r=>r.code===c);if(m||(await _(),m=p().getUserInfo.menuList.find(r=>r.code===c)),!m){f.error("未找到该菜单");return}if(s){sessionStorage.setItem("workflow_todo_"+c,JSON.stringify(i)),w(i,[m.id,m.code].filter(Boolean).map(String)),await a(m,i),T.emit(c+"_message",i);return}const l=String(e.value.businessId||e.value.applyId||e.value.procInsId||e.value.taskId||""),g=c+B.jsonToUrlQuery({businessId:l});sessionStorage.setItem("workflow_todo_"+g,JSON.stringify(i)),i.push({code:"menuCode",value:g}),w(i,[m.id,m.code,g,m.code+l].filter(Boolean).map(String));try{const{handleView:r}=O(c,void 0);await r(l,e.value.taskName,{businessId:l})}catch(r){console.error("[workflowTodo] 打开待办处理页面失败",r),f.error("打开待办处理页面失败:"+(r?.message||r));return}setTimeout(()=>{T.emit(u.toUpperCase()+"WorkflowTodoHandleBus",i)},1e3)}async function pe(e){const o=(h(e)?e.value:e)||{},t=Object.fromEntries(Object.entries(o).filter(([,n])=>n!=null)),a=await N(t);if(!a.nodeTag){f.error("未设置流程查看界面!");return}await b(v(a),v([{code:"source",value:"view"}]))}async function N(e){const o=String(e.procInsId||"");if(!o)return e;try{const t=await P.getProcessTaskList(o),a=t?.hisTasks||[],n=t?.activeTasks||[],c=L(e,a,n);if(c)return y(e,c,!0);const u=[...a].filter(I).sort((s,i)=>S(s.createTime,i.createTime))[0];return u?y(e,u,!1):e}catch(t){return console.warn("[workflowTodo] 流程查看定位业务组件节点失败,按传入任务查看",t),e}}function L(e,o,t){const a=String(p().getUserInfo.userCode||"");if(!a)return;const n=s=>String(s?.assigneeId||"")===a;if(!(String(e.startUserId||"")===a||o.some(n)||t.some(n)))return;const u=o.filter(s=>n(s)&&I(s)).sort((s,i)=>S(i.finishTime||i.createTime,s.finishTime||s.createTime))[0];return u||t.filter(s=>n(s)&&I(s))[0]}function I(e){return String(e?.nodeTag||"").includes("/")}function y(e,o,t){return{...e,taskId:t?String(o.taskId||""):"",taskName:o.taskName,taskDefKey:o.taskDefKey,nodeTag:o.nodeTag,nodeParam:o.nodeParam}}function S(e,o){return String(e||"").localeCompare(String(o||""))}async function _(){try{const e=p(),o=await x.get("/api/system/login/getUserPermission/web"),t=e.getUserInfo;e.setUserInfo({...o,menuTreeList:k(o.menuList,"id","parentId"),userBaseInfo:t.userBaseInfo,passwordExpired:t.passwordExpired,isComplete:t.isComplete})}catch(e){console.warn("刷新用户权限失败",e)}}export{pe as showProcessView,b as showTodoDialog};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import
|
|
1
|
+
import p from"../components/OperationAuth/operationAuth.vue.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-BkJW9BQw.js";import n from"../components/ElContentPanel/ElContentPanel.vue.js";import s 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 E from"../components/icon/ElIcons.vue.js";import d from"../components/icon/ElIconBtn.vue.js";import v from"../components/Search/ElIconSearch.vue.js";import $ 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-CctW6HRv.js";import{_ as M}from"../../chunks/DictDisplay.vue_vue_type_script_setup_true_lang-DT27bVnE.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 O}from"../../chunks/ElCellLink.vue_vue_type_script_setup_true_lang-DXGj9pCT.js";import{_ as y}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"../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"../interface/enum/FlexEnum.js";import"@vueuse/core";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:n,ElSplitPanel:s,ElCardSection:_,AttachmentPreview:f,ElDialogBody:l,ElGrid:c,ElSearch:h,ElTitle:u,ElIcons:E,ElIconBtn:d,ElIconSearch:v,ElSearchInput:$,ElTooltip:I,userSelect:P,mdmUserSelect:A,ElScrollbars:D,ElTotalTools:L,ElCardList:T,KFrame:C,ElPagePagination:S,ElCellLink:O,ElTagDisplay:y,DictDisplay:M,DragHandleIcon:F,ElCircleBadge:N,AsideCardList:U,ElNumericInput:x,ElIndicatorInput:B,ElTabsPanel:K}};export{Mr as globalMixin};
|
|
@@ -218,6 +218,7 @@ declare const _default: {
|
|
|
218
218
|
remark?: string | undefined;
|
|
219
219
|
alias?: string | undefined;
|
|
220
220
|
color?: string | undefined;
|
|
221
|
+
displayMode?: ("button" | "menuItem") | undefined;
|
|
221
222
|
}, () => globalThis.VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
222
223
|
[key: string]: any;
|
|
223
224
|
}> | globalThis.VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
@@ -231,8 +232,10 @@ declare const _default: {
|
|
|
231
232
|
remark?: string | undefined;
|
|
232
233
|
alias?: string | undefined;
|
|
233
234
|
color?: string | undefined;
|
|
235
|
+
displayMode?: ("button" | "menuItem") | undefined;
|
|
234
236
|
}> & Readonly<{}>, {
|
|
235
237
|
noConfig: boolean;
|
|
238
|
+
displayMode: string;
|
|
236
239
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
237
240
|
ElSearch: {
|
|
238
241
|
new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<{}> & Readonly<{
|
|
@@ -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-BkJW9BQw.js";import t from"../components/icon/ElIcons.vue.js";import m from"../components/icon/ElIconBtn.vue.js";import
|
|
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-BkJW9BQw.js";import t from"../components/icon/ElIcons.vue.js";import m from"../components/icon/ElIconBtn.vue.js";import i from"../components/OperationAuth/operationAuth.vue.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_CONFIG_TYPE as Ao,INDICATOR_RANGE_TYPE as Fo,evaluateComputedIndicators as Co,evaluateIndicatorFormula as Ro,formatIndicatorDisplayValue as xo,formatIndicatorFormulaResult as go,formatIndicatorRangeValue as Mo,isComputedIndicator as No,isIndicatorReadonly as ho,parseIndicatorRangeValue as vo,parseIndicatorTags as Po,resolveComputedIndicatorValue as So,validateIndicatorValue as Vo}from"../components/ElIndicatorInput/interface.js";import{useDescForm as Lo}from"../hooks/useDescForm.js";import{default as Bo}from"../hooks/useOperationAuth.js";import{default as Yo}from"../hooks/useFileOpen.js";import{matchOperation as ko,resolveOperationList as jo,resolveOperationMenu as qo}from"../utils/operationAuth.js";import{DATE_FORMAT as zo,DATE_TIME_FORMAT as Ho,DATE_TIME_MILLISECONDS_FORMAT as Jo,formatDateTime as Ko}from"../utils/dateTime.js";import I 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:I};export{zo as DATE_FORMAT,Ho as DATE_TIME_FORMAT,Jo 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_CONFIG_TYPE,Fo as INDICATOR_RANGE_TYPE,To as default,Co as evaluateComputedIndicators,Ro as evaluateIndicatorFormula,Ko as formatDateTime,xo as formatIndicatorDisplayValue,go as formatIndicatorFormulaResult,Mo as formatIndicatorRangeValue,No as isComputedIndicator,ho as isIndicatorReadonly,ko as matchOperation,vo as parseIndicatorRangeValue,Po as parseIndicatorTags,So as resolveComputedIndicatorValue,jo as resolveOperationList,qo as resolveOperationMenu,Lo as useDescForm,Yo as useFileOpen,Bo as useOperationAuth,Vo as validateIndicatorValue};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{globalMixin as o}from"../mixin/globalMixin.js";import"
|
|
1
|
+
import{globalMixin as o}from"../mixin/globalMixin.js";import"../components/OperationAuth/operationAuth.vue.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/_plugin-vue_export-helper-DlAUqK2U.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/ElDescForm.vue_vue_type_style_index_0_lang-BkJW9BQw.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-CctW6HRv.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-DT27bVnE.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};
|