adtec-hnyzfc-core-package 1.7.6 → 1.8.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.
Files changed (35) hide show
  1. package/dist/assets/package-DzZffoYf.json +235 -0
  2. package/dist/chunks/DictDisplay.vue_vue_type_script_setup_true_lang-iElc7rx4.js +1 -0
  3. package/dist/src/components/AsideCardList/AsideCardList.vue.js +1 -1
  4. package/dist/src/components/OperationAuth/operationAuth.vue.js +1 -1
  5. package/dist/src/components/dict/DictDisplay.vue.js +1 -1
  6. package/dist/src/components/shell/SubAppShell.vue.d.ts +45 -0
  7. package/dist/src/components/shell/SubAppShell.vue.js +1 -0
  8. package/dist/src/components/workflow/TaskOperation.vue.js +1 -1
  9. package/dist/src/components/workflow/WorkflowTodoShell.vue.d.ts +6 -2
  10. package/dist/src/components/workflow/WorkflowTodoShell.vue.js +5 -5
  11. package/dist/src/hooks/useMenuNavigate.d.ts +27 -0
  12. package/dist/src/hooks/useMenuNavigate.js +1 -0
  13. package/dist/src/hooks/useMenuParams.d.ts +32 -0
  14. package/dist/src/hooks/useMenuParams.js +1 -0
  15. package/dist/src/hooks/useOpenNewMenu.d.ts +8 -4
  16. package/dist/src/hooks/useOpenNewMenu.js +1 -1
  17. package/dist/src/hooks/usePermissionHooks.js +1 -1
  18. package/dist/src/hooks/useWorkflowTaskView.d.ts +43 -0
  19. package/dist/src/hooks/useWorkflowTaskView.js +1 -0
  20. package/dist/src/hooks/workflowTodo.d.ts +14 -7
  21. package/dist/src/hooks/workflowTodo.js +1 -1
  22. package/dist/src/interface/workflow/IWfTaskVo.d.ts +11 -0
  23. package/dist/src/mixin/globalMixin.js +1 -1
  24. package/dist/src/plugins/plugins.js +1 -1
  25. package/dist/src/plugins/renderDialog.js +1 -1
  26. package/dist/src/utils/frontendBus.d.ts +11 -3
  27. package/dist/src/utils/frontendBus.js +1 -1
  28. package/dist/src/utils/modules.js +2 -2
  29. package/dist/src/utils/routeMetaParams.d.ts +16 -0
  30. package/dist/src/utils/routeMetaParams.js +1 -1
  31. package/dist/styles/element-ui.css +1 -1
  32. package/dist/vite/sharedRuntime.d.ts +3 -0
  33. package/dist/vite/sharedRuntime.js +4 -0
  34. package/package.json +8 -2
  35. package/dist/chunks/DictDisplay.vue_vue_type_script_setup_true_lang-DT27bVnE.js +0 -1
@@ -0,0 +1,235 @@
1
+ {
2
+ "name": "adtec-hnyzfc-core-package",
3
+ "version": "1.8.0",
4
+ "private": false,
5
+ "type": "module",
6
+ "engines": {
7
+ "node": ">=20.19.0"
8
+ },
9
+ "main": "./dist/src/packages/index.js",
10
+ "module": "./dist/src/packages/index.js",
11
+ "types": "./dist/src/packages/index.d.ts",
12
+ "files": [
13
+ "dist",
14
+ "README.md",
15
+ "README.en.md"
16
+ ],
17
+ "sideEffects": [
18
+ "**/*.css",
19
+ "./dist/src/config/ElementPlusConfig.js"
20
+ ],
21
+ "exports": {
22
+ ".": {
23
+ "types": "./dist/src/packages/index.d.ts",
24
+ "import": "./dist/src/packages/index.js"
25
+ },
26
+ "./vite/umoIntegration": {
27
+ "types": "./dist/vite/umoIntegration.d.ts",
28
+ "import": "./dist/vite/umoIntegration.js"
29
+ },
30
+ "./prebuilt/*": "./dist/prebuilt/*",
31
+ "./src/components/vxeReplace": null,
32
+ "./src/components/vxeReplace/*": null,
33
+ "./src/components/VxeExportDialog": null,
34
+ "./src/components/VxeExportDialog/*": null,
35
+ "./src/components/vxeGrid": null,
36
+ "./src/components/vxeGrid/*": null,
37
+ "./src/components/ElGridExportDialog": {
38
+ "types": "./dist/src/components/ElGridExportDialog/index.d.ts",
39
+ "import": "./dist/src/components/ElGridExportDialog/index.js"
40
+ },
41
+ "./src/config/VxeTableConfig": null,
42
+ "./src/config/VxeTableConfig.ts": null,
43
+ "./src/config/vxeSelectColumn": null,
44
+ "./src/config/vxeSelectColumn.ts": null,
45
+ "./src/config/vxeDragRule": null,
46
+ "./src/config/vxeDragRule.ts": null,
47
+ "./src/interface/IVxeTable": null,
48
+ "./src/interface/IVxeTable.ts": null,
49
+ "./style.css": "./dist/styles/element-ui.css",
50
+ "./src/css/elementUI/index.scss": "./dist/styles/element-ui.css",
51
+ "./src/assets/style/index.less": "./dist/styles/core.css",
52
+ "./src/*.vue": {
53
+ "types": "./dist/src/*.vue.d.ts",
54
+ "import": "./dist/src/*.vue.js"
55
+ },
56
+ "./src/*.ts": {
57
+ "types": "./dist/src/*.d.ts",
58
+ "import": "./dist/src/*.js"
59
+ },
60
+ "./src/*": {
61
+ "types": "./dist/src/*.d.ts",
62
+ "import": "./dist/src/*.js"
63
+ },
64
+ "./prebuilt/umo-editor": {
65
+ "types": "./dist/prebuilt/umo-editor/umo-editor.d.ts",
66
+ "import": "./dist/prebuilt/umo-editor/umo-editor.js"
67
+ },
68
+ "./vite/sharedRuntime": {
69
+ "types": "./dist/vite/sharedRuntime.d.ts",
70
+ "import": "./dist/vite/sharedRuntime.js",
71
+ "default": "./dist/vite/sharedRuntime.js"
72
+ }
73
+ },
74
+ "scripts": {
75
+ "build:vite-integration": "node scripts/build-vite-integration.mjs",
76
+ "prepack": "npm run build && npm run verify:package",
77
+ "build": "node scripts/build-package.mjs",
78
+ "dev:watch": "CORE_PACKAGE_WATCH=1 node scripts/build-package.mjs",
79
+ "build-only": "npm run build",
80
+ "type-check": "vue-tsc --build",
81
+ "verify:package": "node scripts/verify-package.mjs",
82
+ "lint": "eslint . --fix",
83
+ "format": "prettier --write src/",
84
+ "build:shared": "node scripts/build-shared.mjs"
85
+ },
86
+ "dependencies": {
87
+ "@element-plus/icons-vue": "^2.3.1",
88
+ "@eslint/object-schema": "3.0.2",
89
+ "@floating-ui/dom": "1.7.5",
90
+ "@tool-belt/type-predicates": "1.4.1",
91
+ "@types/echarts": "^5.0.0",
92
+ "@vueuse/components": "^13.0.0",
93
+ "@vueuse/core": "^13.0.0",
94
+ "@vxe-ui/core": "^4.4.19",
95
+ "@vxe-ui/plugin-export-xlsx": "4.5.4",
96
+ "axios": "^1.7.7",
97
+ "crypto-js": "^4.2.0",
98
+ "cropperjs": "^2.1.1",
99
+ "dom-to-image-more": "3.7.2",
100
+ "echarts": "^5.6.0",
101
+ "es-drager": "1.2.11",
102
+ "exceljs": "4.4.0",
103
+ "fast-glob": "3.3.3",
104
+ "fflate": "^0.3.8",
105
+ "file-saver": "2.0.5",
106
+ "hotkeys-js": "4.0.2",
107
+ "jsbarcode": "3.12.3",
108
+ "jsencrypt": "^3.3.2",
109
+ "linq-to-ts": "^1.3.0",
110
+ "lowlight": "3.3.0",
111
+ "nzh": "1.0.14",
112
+ "pinia": "^2.3.0",
113
+ "pinia-plugin-store": "^2.2.9",
114
+ "pretty-bytes": "7.1.0",
115
+ "pure-svg-code": "1.0.6",
116
+ "scss": "^0.2.4",
117
+ "scss-loader": "^0.0.1",
118
+ "smooth-signature": "1.0.15",
119
+ "socket.io-client": "^2.3.1",
120
+ "ts-md5": "^1.3.1",
121
+ "uuid": "^11.0.3",
122
+ "vue-demi": "^0.14.10",
123
+ "vue-focus-lock": "^3.0.0",
124
+ "vue-router": "^4.5.0",
125
+ "vxe-table": "4.20.11",
126
+ "wujie-vue3": "^1.0.24",
127
+ "xlsx-js-style": "^1.2.0",
128
+ "tdesign-vue-next": "1.18.2",
129
+ "yjs": "13.6.29",
130
+ "y-protocols": "1.0.6",
131
+ "y-prosemirror": "1.0.6",
132
+ "vue-i18n": "11.2.8",
133
+ "@tiptap/core": "3.20.0",
134
+ "@tiptap/extension-bold": "3.20.0",
135
+ "@tiptap/extension-code-block": "3.20.0",
136
+ "@tiptap/extension-code-block-lowlight": "3.20.0",
137
+ "@tiptap/extension-collaboration": "3.20.0",
138
+ "@tiptap/extension-details": "3.20.0",
139
+ "@tiptap/extension-document": "3.20.0",
140
+ "@tiptap/extension-drag-handle": "3.20.0",
141
+ "@tiptap/extension-drag-handle-vue-3": "3.20.0",
142
+ "@tiptap/extension-horizontal-rule": "3.20.0",
143
+ "@tiptap/extension-image": "3.20.0",
144
+ "@tiptap/extension-invisible-characters": "3.20.0",
145
+ "@tiptap/extension-link": "3.20.0",
146
+ "@tiptap/extension-list": "3.20.0",
147
+ "@tiptap/extension-mathematics": "3.20.0",
148
+ "@tiptap/extension-mention": "3.20.0",
149
+ "@tiptap/extension-node-range": "3.20.0",
150
+ "@tiptap/extension-subscript": "3.20.0",
151
+ "@tiptap/extension-superscript": "3.20.0",
152
+ "@tiptap/extension-table": "3.20.0",
153
+ "@tiptap/extension-table-of-contents": "3.20.0",
154
+ "@tiptap/extension-text-align": "3.20.0",
155
+ "@tiptap/extension-text-style": "3.20.0",
156
+ "@tiptap/extension-typography": "3.20.0",
157
+ "@tiptap/extension-unique-id": "3.20.0",
158
+ "@tiptap/extensions": "3.20.0",
159
+ "@tiptap/pm": "3.20.0",
160
+ "@tiptap/starter-kit": "3.20.0",
161
+ "@tiptap/suggestion": "3.20.0",
162
+ "@tiptap/vue-3": "3.20.0",
163
+ "@tiptap/y-tiptap": "3.0.9"
164
+ },
165
+ "peerDependencies": {
166
+ "@tiptap/extension-collaboration": "3.20.0",
167
+ "@tiptap/y-tiptap": "3.0.2",
168
+ "element-plus": "^2.14.4",
169
+ "vue": "^3.5.41",
170
+ "y-prosemirror": "1.2.15",
171
+ "y-protocols": "1.0.6",
172
+ "yjs": "13.6.29"
173
+ },
174
+ "devDependencies": {
175
+ "@types/crypto-js": "^4.2.2",
176
+ "@types/node": "^22.10.2",
177
+ "@vitejs/plugin-vue": "^5.2.1",
178
+ "@vitejs/plugin-vue-jsx": "^4.1.1",
179
+ "@vue-macros/reactivity-transform": "3.1.2",
180
+ "@vue/eslint-config-prettier": "^10.1.0",
181
+ "@vue/eslint-config-typescript": "^14.1.3",
182
+ "@vue/tsconfig": "^0.7.0",
183
+ "element-plus": "2.14.4",
184
+ "esbuild": "^0.25.12",
185
+ "eslint": "^9.14.0",
186
+ "eslint-plugin-vue": "^9.30.0",
187
+ "less": "^4.2.0",
188
+ "npm-run-all2": "^7.0.2",
189
+ "prettier": "^3.3.3",
190
+ "sass-embedded": "^1.83.1",
191
+ "typescript": "~5.6.3",
192
+ "unplugin-auto-import": "^21.0.0",
193
+ "unplugin-vue-components": "^32.1.0",
194
+ "vite": "^6.0.5",
195
+ "vue": "^3.5.41",
196
+ "vue-tsc": "^2.1.10"
197
+ },
198
+ "description": "湖南烟支辅材项目 Vue 3 前端核心依赖包。",
199
+ "author": "",
200
+ "license": "ISC",
201
+ "pnpm": {
202
+ "overrides": {
203
+ "@tiptap/core": "3.20.0",
204
+ "@tiptap/extension-bold": "3.20.0",
205
+ "@tiptap/extension-code-block": "3.20.0",
206
+ "@tiptap/extension-code-block-lowlight": "3.20.0",
207
+ "@tiptap/extension-collaboration": "3.20.0",
208
+ "@tiptap/extension-details": "3.20.0",
209
+ "@tiptap/extension-document": "3.20.0",
210
+ "@tiptap/extension-drag-handle": "3.20.0",
211
+ "@tiptap/extension-drag-handle-vue-3": "3.20.0",
212
+ "@tiptap/extension-horizontal-rule": "3.20.0",
213
+ "@tiptap/extension-image": "3.20.0",
214
+ "@tiptap/extension-invisible-characters": "3.20.0",
215
+ "@tiptap/extension-link": "3.20.0",
216
+ "@tiptap/extension-list": "3.20.0",
217
+ "@tiptap/extension-mathematics": "3.20.0",
218
+ "@tiptap/extension-mention": "3.20.0",
219
+ "@tiptap/extension-node-range": "3.20.0",
220
+ "@tiptap/extension-subscript": "3.20.0",
221
+ "@tiptap/extension-superscript": "3.20.0",
222
+ "@tiptap/extension-table": "3.20.0",
223
+ "@tiptap/extension-table-of-contents": "3.20.0",
224
+ "@tiptap/extension-text-align": "3.20.0",
225
+ "@tiptap/extension-text-style": "3.20.0",
226
+ "@tiptap/extension-typography": "3.20.0",
227
+ "@tiptap/extension-unique-id": "3.20.0",
228
+ "@tiptap/extensions": "3.20.0",
229
+ "@tiptap/pm": "3.20.0",
230
+ "@tiptap/starter-kit": "3.20.0",
231
+ "@tiptap/suggestion": "3.20.0",
232
+ "@tiptap/vue-3": "3.20.0"
233
+ }
234
+ }
235
+ }
@@ -0,0 +1 @@
1
+ import{defineComponent as S,computed as t,openBlock as m,createBlock as h,normalizeStyle as p,withCtx as w,createTextVNode as y,toDisplayString as g,createElementBlock as A,Fragment as N,createCommentVNode as V,createElementVNode as z,renderSlot as B}from"vue";import E from"../src/hooks/useDictHooks.js";import{_ as F}from"./ElTagDisplay.vue_vue_type_script_setup_true_lang-DQXuYsW_.js";const j=S({__name:"DictDisplay",props:{dictType:{},value:{default:void 0},mode:{default:"tag"},aliasKey:{default:void 0},item:{default:void 0}},setup(l){const o=l,{getDict:_,getDictData:x}=E(),i={primary:"#0070d2",success:"#0d9e31",warning:"#e6710b",danger:"#cf2613",error:"#cf2613",info:"#909399"},s={primary:"primary",success:"success",info:"info",warning:"warning",danger:"danger",error:"danger"},c=t(()=>{if(o.item)return o.item;const e=x(String(o.value??""),o.dictType);return e&&e.value!==void 0?e:void 0}),k=()=>{const e=c.value?.remark;if(e)try{const r=JSON.parse(e);if(r&&typeof r=="object")return r}catch{}},n=t(()=>k()),u=t(()=>o.mode==="tag"?n.value?.tag:n.value?.text),C=t(()=>u.value?.aliases??n.value?.aliases),a=t(()=>{const e=u.value?.color;return typeof e=="string"?e.trim().toLowerCase():void 0}),d=t(()=>{const e=a.value;if(!e)return;const r=/^#([0-9a-f]{3})$/.exec(e);return r?`#${r[1].split("").map(f=>f+f).join("")}`:/^#([0-9a-f]{6})$/.test(e)?e:void 0}),v=t(()=>{const e=o.aliasKey?C.value?.[o.aliasKey]:void 0;return e??c.value?.label??""}),T=t(()=>{const e=a.value;return e?s[e]:"primary"}),$=t(()=>a.value&&!s[a.value]&&!d.value?a.value:void 0),b=t(()=>{const e=d.value;if(e)return{"--el-tag-text-color":e,"--el-tag-border-color":`${e}4d`,"--el-tag-bg-color":`${e}1a`}}),D=t(()=>{const e=a.value;if(e){if(i[e])return{color:i[e]};if(/^#([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$/.test(e))return{color:e}}});return _([o.dictType]),(e,r)=>l.mode==="tag"?(m(),h(F,{key:0,type:T.value,color:$.value,style:p(b.value),"disable-transitions":""},{default:w(()=>[y(g(v.value),1)]),_:1},8,["type","color","style"])):(m(),A(N,{key:1},[V(" 文字模式支持自定义内容(如版本号前带图标),颜色仍由字典备注统一控制 "),z("span",{style:p(D.value)},[B(e.$slots,"default",{},()=>[y(g(v.value||"—"),1)])],4)],2112))}});export{j as _};
@@ -1 +1 @@
1
- import{defineComponent as $,useModel as p,resolveComponent as o,openBlock as a,createBlock as s,withCtx as c,createVNode as M,renderSlot as d,createElementBlock as v,Fragment as b,renderList as w,normalizeClass as A,createCommentVNode as B,mergeModels as f}from"vue";import L from"../../utils/FrameworkUtils.js";import{_ as U}from"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"element-plus";import"xlsx-js-style";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";const D={key:1,class:"aside-card-list__items"},I=$({__name:"AsideCardList",props:f({items:{},total:{},title:{},emptyDescription:{},itemKey:{default:"id"},activeKey:{default:void 0}},{currentPage:{default:1},currentPageModifiers:{},pageSize:{default:L.getPageSize()},pageSizeModifiers:{}}),emits:f(["select","current-change","size-change"],["update:currentPage","update:pageSize"]),setup(i,{emit:y}){const r=i,m=p(i,"currentPage"),u=p(i,"pageSize"),l=y,z=(e,n)=>e?.[r.itemKey]??n,C=e=>r.activeKey!==void 0&&e?.[r.itemKey]===r.activeKey,_=e=>{l("size-change",e),l("current-change",1)};return(e,n)=>{const h=o("el-title"),k=o("el-empty"),S=o("el-card"),K=o("el-page-pagination"),P=o("el-content-panel");return a(),s(P,{class:"aside-card-list"},{default:c(()=>[M(h,{title:i.title,style:{"border-bottom":"var(--border)"}},{titleRight:c(()=>[d(e.$slots,"titleRight",{},void 0,!0)]),default:c(()=>[d(e.$slots,"actions",{},void 0,!0)]),_:3},8,["title"]),d(e.$slots,"filters",{},void 0,!0),i.items.length===0?(a(),s(k,{key:0,class:"aside-card-list__empty",description:i.emptyDescription},null,8,["description"])):(a(),v("div",D,[(a(!0),v(b,null,w(i.items,(t,g)=>(a(),s(S,{key:z(t,g),class:A(["aside-card-list__item",{active:C(t)}]),shadow:"never",onClick:N=>l("select",t)},{default:c(()=>[d(e.$slots,"default",{item:t,index:g},void 0,!0)]),_:2},1032,["class","onClick"]))),128))])),i.items.length>0?(a(),s(K,{key:2,"current-page":m.value,"onUpdate:currentPage":n[0]||(n[0]=t=>m.value=t),"page-size":u.value,"onUpdate:pageSize":n[1]||(n[1]=t=>u.value=t),total:i.total,onCurrentChange:n[2]||(n[2]=t=>l("current-change",t)),onSizeChange:_},null,8,["current-page","page-size","total"])):B("v-if",!0)]),_:3})}}}),H=U(I,[["__scopeId","data-v-4e382e40"]]);export{H as default};
1
+ import{defineComponent as $,useModel as p,resolveComponent as o,openBlock as a,createBlock as s,withCtx as c,createVNode as M,renderSlot as d,createElementBlock as v,Fragment as b,renderList as w,normalizeClass as A,createCommentVNode as B,mergeModels as f}from"vue";import L from"../../utils/FrameworkUtils.js";import{_ as U}from"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"element-plus";import"xlsx-js-style";import"crypto-js/enc-base64";import"crypto-js/enc-utf8";const D={key:1,class:"aside-card-list__items"},I=$({__name:"AsideCardList",props:f({items:{},total:{},title:{},emptyDescription:{},itemKey:{default:"id"},activeKey:{default:void 0}},{currentPage:{default:1},currentPageModifiers:{},pageSize:{default:L.getPageSize()},pageSizeModifiers:{}}),emits:f(["select","current-change","size-change"],["update:currentPage","update:pageSize"]),setup(i,{emit:y}){const r=i,m=p(i,"currentPage"),u=p(i,"pageSize"),l=y,z=(e,n)=>e?.[r.itemKey]??n,C=e=>r.activeKey!==void 0&&e?.[r.itemKey]===r.activeKey,_=e=>{l("size-change",e),l("current-change",1)};return(e,n)=>{const h=o("el-title"),k=o("el-empty"),S=o("el-card"),K=o("el-page-pagination"),P=o("el-content-panel");return a(),s(P,{class:"aside-card-list"},{default:c(()=>[M(h,{title:i.title,style:{"border-bottom":"var(--border)"}},{titleRight:c(()=>[d(e.$slots,"titleRight",{},void 0,!0)]),default:c(()=>[d(e.$slots,"actions",{},void 0,!0)]),_:3},8,["title"]),d(e.$slots,"filters",{},void 0,!0),i.items.length===0?(a(),s(k,{key:0,class:"aside-card-list__empty",description:i.emptyDescription},null,8,["description"])):(a(),v("div",D,[(a(!0),v(b,null,w(i.items,(t,g)=>(a(),s(S,{key:z(t,g),class:A(["aside-card-list__item",{active:C(t)}]),shadow:"never",onClick:N=>l("select",t)},{default:c(()=>[d(e.$slots,"default",{item:t,index:g},void 0,!0)]),_:2},1032,["class","onClick"]))),128))])),i.items.length>0?(a(),s(K,{key:2,"current-page":m.value,"onUpdate:currentPage":n[0]||(n[0]=t=>m.value=t),"page-size":u.value,"onUpdate:pageSize":n[1]||(n[1]=t=>u.value=t),total:i.total,onCurrentChange:n[2]||(n[2]=t=>l("current-change",t)),onSizeChange:_},null,8,["current-page","page-size","total"])):B("v-if",!0)]),_:3})}}}),H=U(I,[["__scopeId","data-v-c311027e"]]);export{H as default};
@@ -1 +1 @@
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};
1
+ import{defineComponent as H,computed as a,isVNode as p,h as n,resolveComponent as c,resolveDynamicComponent as A,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 N={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(l,{slots:i}){const{getOperation:B}=Y(),{runBehaviorAction:L}=K(),T=a(()=>Array.isArray(l.operCode)?l.operCode:[l.operCode]),m=a(()=>B(T.value,l.menuCode)),V=a(()=>!!m.value),z=a(()=>{const e=l.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(()=>(l.icon??m.value?.icon??"").trim()),C=a(()=>l.alias||z.value.alias||m.value?.name||""),S=a(()=>m.value?.code||T.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(()=>l.color||z.value.color||""),v=a(()=>b.value.trim().toLowerCase()),u=a(()=>v.value!==""&&v.value in N),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:N[v.value]||e}}),x=a(()=>l.loadType??m.value?.loadType??""),k=a(()=>String(x.value??"")),I=a(()=>{const e=i.default?.()[0];if(!e||!p(e))return!1;const t=e.type||{},r=String(t?.name||t?.__name||"").replace(/[^a-zA-Z]/g,"");return/^elicon/i.test(r)?!0:/^elbutton$/i.test(r)&&!!e.props?.icon}),P=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(()=>l.displayMode==="menuItem"?"menuItem":l.noConfig?"slot":P.value||I.value?"icon":k.value==="10"?"text":k.value==="20"?"icon":k.value==="30"?"iconText":"slot"),M=()=>i.default?.()[0]?.props?.onClick,w=()=>{const e=i.default?.()[0];return p(e)&&e.props?.["data-behavior-scope"]==="manual"},O=e=>{const t=M();return Array.isArray(t)?t.reduce((o,r)=>typeof r=="function"?r(...e):o,void 0):typeof t=="function"?t(...e):void 0},d=(...e)=>w()?O(e):L({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=w(),r=J(t,{...y.value,...o?{}:{onClick:d},type:u.value?h.value:void 0,...W(t),style:b.value.trim()?g.value:void 0});return!o&&r.props&&(r.props.onClick=d),r});return()=>{if(!V.value)return null;if(_.value==="icon"){const e=i.default?.()[0],t=p(e)?e.props||{}:{};if(P.value){const o={...t};delete o.modelValue,delete o.tip,delete o.elementType,delete o.neutral,delete o.icon;const r=s.value||"adtec-tips",q=n(c("el-icon"),{},()=>r.startsWith("adtec-")?n("svg",{class:"icon","aria-hidden":"true"},[n("use",{href:"#"+r})]):n(A(r))),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:I.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(A(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:N[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(A(e))):void 0,n("span",{},C.value)])}return R()}}}),ye=$(j,[["__scopeId","data-v-652290b3"]]);export{ye as default};
@@ -1 +1 @@
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"../../../chunks/request-ea_7oxLz.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};
1
+ import{_ as o}from"../../../chunks/DictDisplay.vue_vue_type_script_setup_true_lang-iElc7rx4.js";import"vue";import"../../hooks/useDictHooks.js";import"../../api/SysDictCacheApi.js";import"../../../chunks/request-ea_7oxLz.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};
@@ -0,0 +1,45 @@
1
+ import type { ISysMenuInfoVo } from '../../interface/ISysMenuInfoVo';
2
+ /** 子应用额外的业务总线监听(待办、流程详情、组件消息等),由各子应用提供 */
3
+ export interface ISubAppBusListener {
4
+ event: string;
5
+ handler: (...args: any[]) => void;
6
+ }
7
+ type __VLS_Props = {
8
+ /** 应用模块码:WORKFLOW / BASIC / YZFC */
9
+ applicationModule: string;
10
+ /** 菜单组件映射(各子应用的 import.meta.glob 结果,按 /src/... 路径索引) */
11
+ modules: Record<string, () => Promise<any>>;
12
+ /** 默认页路由名(工作流子应用是 default,业务/基础数据是 defaultIndex) */
13
+ defaultRouteName?: string;
14
+ /** 业务总线监听(会被统一注册/解绑) */
15
+ busListeners?: ISubAppBusListener[];
16
+ /** 外壳挂载后(注册完总线)的额外初始化,如恢复待办抽屉 */
17
+ onShellMounted?: () => void;
18
+ /** 外壳卸载时的额外清理 */
19
+ onShellUnmounted?: () => void;
20
+ /** wujie 环境下预热默认页(各子应用动态 import 自己的默认页) */
21
+ preloadDefaultView?: () => void;
22
+ };
23
+ declare var __VLS_1: {};
24
+ type __VLS_Slots = {} & {
25
+ popup?: (props: typeof __VLS_1) => any;
26
+ };
27
+ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {
28
+ openMenu: (menuData: ISysMenuInfoVo & {
29
+ path?: string;
30
+ }, params?: unknown) => Promise<void>;
31
+ notifyPageReady: (menuCode?: string | symbol | null) => void;
32
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
33
+ defaultRouteName: string;
34
+ busListeners: ISubAppBusListener[];
35
+ onShellMounted: () => void;
36
+ onShellUnmounted: () => void;
37
+ preloadDefaultView: () => void;
38
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
39
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
40
+ export default _default;
41
+ type __VLS_WithSlots<T, S> = T & {
42
+ new (): {
43
+ $slots: S;
44
+ };
45
+ };
@@ -0,0 +1 @@
1
+ import{defineComponent as Q,ref as M,computed as S,onMounted as z,onUnmounted as J,resolveComponent as K,resolveDirective as Y,withDirectives as $,openBlock as y,createElementBlock as X,renderSlot as Z,createElementVNode as D,createVNode as j,withCtx as F,Transition as ee,createBlock as I,KeepAlive as oe,resolveDynamicComponent as te,unref as R,createCommentVNode as ne,h as b,nextTick as N}from"vue";import{useRoute as ae,useRouter as ie}from"vue-router";import{frontendBus as p}from"../../utils/frontendBus.js";import{wujieLifecycleBus as r}from"../../utils/wujieLifecycleBus.js";import{useGlobalLoading as ue}from"../../utils/globalLoading.js";import re from"../../hooks/useListenerHooks.js";import{menuParamsToRouteQuery as se}from"../../utils/routeMetaParams.js";import{patchWujiePopperCoordinates as le}from"../../utils/patchWujiePopperCoordinates.js";import{_ as de}from"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";const ce={class:"app-root"},pe={class:"subapp-main"},fe=Q({__name:"SubAppShell",props:{applicationModule:{},modules:{},defaultRouteName:{default:"defaultIndex"},busListeners:{default:()=>[]},onShellMounted:{type:Function,default:void 0},onShellUnmounted:{type:Function,default:void 0},preloadDefaultView:{type:Function,default:void 0}},setup(P,{expose:A}){const o=P,a=ae(),d=ie();re({},o.applicationModule);const u=M([]),k=S(()=>u.value),L=new Map,f=typeof window<"u"&&!!window.__POWERED_BY_WUJIE__,{loading:T}=ue(()=>a.name),q=S(()=>!f&&T.value),W=()=>sessionStorage.getItem("embedMode")==="1",m=M(f),s=M(null);let l=null,h=0;const v=e=>{r.emit(o.applicationModule+"PageReadyBus",e??a.name)},B=()=>{typeof window>"u"||window.dispatchEvent(new Event("resize"))},V=()=>{l&&clearTimeout(l),l=setTimeout(()=>{const e=++h;requestAnimationFrame(()=>{requestAnimationFrame(async()=>{e===h&&(m.value=!1,s.value=null,await N(),le(!0),B(),requestAnimationFrame(()=>{e===h&&(v(a.name),l=null,requestAnimationFrame(()=>{B()}))}))})})},0)},g=()=>{a.name===o.defaultRouteName&&m.value||m.value&&!s.value||s.value&&a.name!==s.value||V()},O=(e,t)=>{if(!e)return null;const i=t;let n=L.get(i);return n||(n={name:i,__isPageWrapper:!0,mounted(){g()},activated(){g()},render(){return b("div",{className:W()?"vaf-page-wrapper vaf-page-wrapper--embed":"vaf-page-wrapper"},e)}},L.set(i,n)),b(n)},_=async(e,t)=>{const i=o.modules[String(e.path||"")];if(!i)return;const n=d.getRoutes().find(w=>w.name===e.code);n?n.meta={...n.meta,sysMenuData:e,applicationModule:e.applicationModule}:d.addRoute({name:e.code,path:"/"+e.code,meta:{sysMenuData:e,applicationModule:e.applicationModule},component:async()=>{const w=await i();return w.default.__name=e.code,b(w.default)}});const c=se(t);try{await d.push({name:e.code,...c?{query:c}:{}})}catch{}u.value.includes(e.code)||u.value.push(e.code),await N(),requestAnimationFrame(()=>{requestAnimationFrame(()=>{g(),f||v(e.code)})})},U=(e,t)=>{e?.applicationModule===o.applicationModule&&(s.value=e.code,_(e,t))},H=async()=>{try{await d.push({name:o.defaultRouteName}).catch(()=>{}),u.value.includes(o.defaultRouteName)||u.value.push(o.defaultRouteName)}finally{m.value||v(o.defaultRouteName)}},C=()=>{const e=window.location.hash;if(e&&e.startsWith("#/src/")){const t=e.slice(1);_({code:"hash-"+t.replace(/[^\w]+/g,"-"),path:t})}},E=()=>{C()},x=e=>{if(e?.applicationModule===o.applicationModule){const t=u.value.indexOf(e.code);t>=0&&u.value.splice(t,1)}},G=d.beforeEach((e,t)=>{e.name!==t.name&&(h++,s.value=e.name),sessionStorage.setItem("activationRouteCode",e.name)});return z(()=>{window.hasOwnProperty("pdfjsLib")||Object.defineProperty(window,"pdfjsLib",{get:()=>window.parent?.pdfjsLib,set:e=>{window.parent.pdfjsLib=e},enumerable:!0,configurable:!0}),r.off(o.applicationModule+"RouterChangeBus"),r.off(o.applicationModule+"defaultIndexBus"),r.on(o.applicationModule+"RouterChangeBus",U),r.on(o.applicationModule+"defaultIndexBus",H),p.on("wujie-router-close",x),o.busListeners.forEach(({event:e,handler:t})=>{p.off(e,t),p.on(e,t)}),o.onShellMounted?.(),f&&o.preloadDefaultView?.(),window.addEventListener("hashchange",E),C()}),J(()=>{G(),l&&clearTimeout(l),r.off(o.applicationModule+"RouterChangeBus"),r.off(o.applicationModule+"defaultIndexBus"),p.off("wujie-router-close",x),o.busListeners.forEach(({event:e,handler:t})=>{p.off(e,t)}),o.onShellUnmounted?.(),window.removeEventListener("hashchange",E)}),A({openMenu:_,notifyPageReady:v}),(e,t)=>{const i=K("router-view"),n=Y("loading");return $((y(),X("div",ce,[Z(e.$slots,"popup",{},void 0,!0),D("div",pe,[j(i,null,{default:F(({Component:c})=>[j(ee,{name:"page-open",mode:"out-in"},{default:F(()=>[(y(),I(oe,{include:k.value},[c?(y(),I(te(O(c,R(a).name)),{name:R(a).name,key:R(a).name},null,8,["name"])):ne("v-if",!0)],1032,["include"]))]),_:2},1024)]),_:1})])])),[[n,q.value]])}}}),be=de(fe,[["__scopeId","data-v-e2dfea0d"]]);export{be as default};
@@ -1 +1 @@
1
- import{defineComponent as Y,ref as v,useModel as Z,computed as _,onMounted as ee,watch as te,resolveComponent as $,openBlock as l,createElementBlock as P,createVNode as oe,withCtx as u,renderSlot as V,createBlock as p,createTextVNode as d,toDisplayString as k,createCommentVNode as m,unref as ae,Fragment as re,mergeModels as W}from"vue";import D from"../../api/workflow/workflowInstApi.js";import ie from"./components/SelectAssigneeDialog.vue.js";import{_ as ne}from"../../../chunks/AddOrMinusMultiDialog.vue_vue_type_script_setup_true_lang-BWVDdb4B.js";import se from"./components/CheckDialog.vue.js";import{runWorkflowComplete as le}from"../../hooks/workflowCompleteRunner.js";import q from"../../utils/FrameworkUtils.js";import{userInfoStore as w}from"../../stores/userInfoStore.js";import{frontendBus as L}from"../../utils/frontendBus.js";import{showProcessView as ue,showTodoDialog as me}from"../../hooks/workflowTodo.js";import{_ as pe}from"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"../../../chunks/request-ea_7oxLz.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/globalLoading.js";import"../../utils/workflowTaskContext.js";import"../../config/GlobalLoadingConfig.js";import"../business/comp.userForm.vue.js";import"@vueuse/core";import"../../api/DeptInfoApi.js";import"../../api/EmployeeInfoApi.js";import"../../hooks/useResetRefHooks.js";import"../../config/vxeSelectColumn.js";import"../../../chunks/ElTagDisplay.vue_vue_type_script_setup_true_lang-DQXuYsW_.js";/* empty css */import"xlsx-js-style";import"../../api/SysUserApi.js";import"../bpmntree/components/UserSelector/UserTag.vue.js";import"../upload/CustomElUpload.vue.js";import"@element-plus/icons-vue";import"../../hooks/useFileView.js";import"../../hooks/useFileOpen.js";import"../../utils/fileDownload.js";import"../../api/DocumentApi.js";import"../../utils/officePreviewUtil.js";import"../../utils/uploadAccept.js";import"../../hooks/useDeleteConfirmHooks.js";import"../../hooks/useBehaviorAction.js";import"../../utils/buildUploadHeaders.js";import"pinia";import"../../utils/userSessionStorage.js";import"../../../chunks/ElTextarea-CRk-I9iq.js";import"../../hooks/createDialogHooks.js";import"../../stores/storeConfig.js";import"pinia-plugin-store";import"../../config/ElementPlusConfig.js";import"../../utils/patchWujiePopperCoordinates.js";import"../../config/VxeTableConfig.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"../vxeReplace/index.js";import"../tooltip/index.js";import"../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"element-plus/es/locale/lang/zh-cn";import"../../hooks/useListenerHooks.js";import"../../stores/permissionStore.js";import"../../utils/operationAuth.js";import"../icon/ElIcons.vue.js";import"../ElDialogBody/ElDialogBody.vue.js";import"../../hooks/usePermissionHooks.js";import"vue-router";import"../../utils/routeMetaParams.js";import"../../hooks/useOpenNewMenu.js";import"../../utils/commonUtils.js";import"../../utils/tree.js";const de=Y({__name:"TaskOperation",props:W({taskId:{type:String,required:!1},showProcessBtn:{type:Boolean,required:!1,default:!1},params:{type:Object,required:!1},taskInfo:{type:Object,required:!1},showOperationsBtn:{type:Boolean,required:!1,default:!0},showCurWorkBth:{type:Boolean,required:!1,default:!0},onProcessDetail:{type:Function,required:!1},renderDialog:{type:Function,required:!1}},{butLoading:{type:Boolean,default:!1},butLoadingModifiers:{}}),emits:W(["success"],["update:butLoading"]),setup(a,{expose:E,emit:A}){const N=w(),b=v(null),i=a,n=Z(a,"butLoading"),R=A,e=v({taskId:"",comment:""}),O=i.renderDialog,g=(t,o,r,x,f,X)=>{if(!O){console.warn("[TaskOperation] 未注入 renderDialog,无法打开操作弹窗(请通过 props 传入 useDialogHooks 的 render)");return}O(t,o,r,x,f,X)},U=async()=>{if(typeof i.onProcessDetail=="function"){i.onProcessDetail(e.value);return}await ue(e.value)},T=_(()=>e.value?.operations==="assignee"),S=v(""),y=v(),K=v([{source:"edit"}]),j=async()=>{await me(v(e.value),K)},c=async t=>{if(t&&(S.value=t),!e.value)return;y.value={...e.value};let o=!1;if(t==="complete"&&i.params?.beforeCompleteFunction)try{const r=await i.params?.beforeCompleteFunction({taskId:e.value.taskId,userId:w().getUserInfo.userCode,comment:"同意。",procInsId:e.value.procInsId,procDefKey:e.value.procDefKey});if(r===!1)return;r?.readonly&&(o=!0),e.value={...e.value,...r}}catch{return}if(t==="addMulti"||t==="minusMulti")g(ne,{taskId:e.value.taskId,dialogType:t,renderDialog:g,onSuccess:I,onWorkflowSuccess:C},{title:t==="addMulti"?"加签":"减签",size:"400px"},"dialog");else if(t==="assignee")M(e.value.taskId);else{if(e.value.variables,t==="complete"&&e.value.firstSubmitNode&&i.params?.ignoreConfirm){await H();return}g(se,{taskVo:e.value,dialogType:t,taskOperate:i?.params,commentReadonly:o,renderDialog:g,onOpenAssignee:M,onSuccess:I,onWorkflowSuccess:C},{title:z(t),size:"480px",closeOnClickModal:!1},"dialog")}},z=t=>{switch(t){case"complete":return"流程审批";case"refuse":return"终止审批";case"back":return"驳回审批";case"transfer":return"转办审批";default:return"流程审批"}},H=async()=>{if(!e.value||!w().getUserInfo.userCode)return;y.value={...e.value};const t={taskId:e.value.taskId,userId:w().getUserInfo.userCode,comment:e.value.comment??"",procInsId:e.value.procInsId,procDefKey:e.value.procDefKey,variables:e.value.variables};try{if(n.value=!0,i.params?.completeFunction){const o=await i.params?.completeFunction(t);o&&o?.taskId?e.value=o:e.value=await D.getTaskInst(e.value.taskId)}else e.value=await D.taskComplete(t)}catch(o){q.messageError(o);return}finally{n.value=!1}try{await h({actionType:"complete",taskVo:e.value,askVo:t})}catch{}},M=t=>{y.value={...e.value},g(ie,{taskId:t,onSuccess:I,onWorkflowSuccess:C},{title:"指定执行人",size:"450px"},"dialog")},I=t=>{t&&(e.value=t),L.emit("todoRefresh"),L.emit("homePageRefresh"),R("success")},h=async(t,o)=>{const r={...t,actionType:t.actionType||S.value,originTask:t.originTask??y.value,taskVo:t.taskVo??e.value};await le(i.params,r),o?.refresh!==!1&&I(t.taskVo)},C=t=>h({...t,originTask:t.originTask??y.value},{refresh:!1}),F=(t,o)=>t?t.classList?.contains(o)?t:F(t.parentElement,o):null,G=()=>{const t=F(b.value,"todo-dialog-class");return t?console.log("找到满足条件的元素:",t):console.log("未找到满足条件的元素"),t};ee(()=>{G(),B()});const s=v(!1),J=async()=>{s.value=!0},Q=()=>{s.value=!1},B=async()=>{if(i.taskInfo)e.value=i.taskInfo,e.value.finishTime&&console.log("该待办已完成!");else if(i.taskId)try{J(),e.value=await D.getTaskInst(i.taskId),e.value.finishTime&&console.log("该待办已完成!")}catch(t){q.messageError(t)}finally{Q()}};return E({reload:()=>{B()}}),te(()=>i.taskId,B),(t,o)=>{const r=$("el-button"),x=$("el-flex");return l(),P("div",{ref_key:"taskFlexRef",ref:b,class:"task-operation"},[oe(x,{align:"center",justify:"flex-end"},{default:u(()=>[V(t.$slots,"left",{},void 0,!0),a.params?.cancelBtnText!==""?(l(),p(r,{key:0,loading:n.value||s.value,onClick:a.params?.cancelFunction},{default:u(()=>[d(k(a.params?.cancelBtnText??"取消"),1)]),_:1},8,["loading","onClick"])):m("v-if",!0),a.showProcessBtn&&e.value?.procInsId?(l(),p(r,{key:1,type:"info",loading:n.value||s.value,onClick:U},{default:u(()=>[...o[7]||(o[7]=[d(" 流程信息 ",-1)])]),_:1},8,["loading"])):m("v-if",!0),!T.value&&e.value?.taskId&&a.showCurWorkBth&&!a.showOperationsBtn?(l(),p(r,{key:2,loading:n.value||s.value,type:"warning",disabled:e.value?.taskId&&(!e.value?.operations||ae(N).getUserInfo.userCode!==e.value?.assigneeId),onClick:j},{default:u(()=>[d(k(e.value.taskName),1)]),_:1},8,["loading","disabled"])):m("v-if",!0),T.value?(l(),p(r,{key:3,type:"primary",loading:n.value||s.value,onClick:o[0]||(o[0]=f=>c("assignee"))},{default:u(()=>[...o[8]||(o[8]=[d("指定执行人 ",-1)])]),_:1},8,["loading"])):m("v-if",!0),!T.value&&e.value?.taskId&&e.value?.operations&&a.showOperationsBtn?(l(),P(re,{key:4},[a.params?.saveBtnText?(l(),p(r,{key:0,loading:n.value||s.value,type:"primary",onClick:a.params?.saveFunction},{default:u(()=>[d(k(a.params?.saveBtnText),1)]),_:1},8,["loading","onClick"])):m("v-if",!0),e.value?.operations.indexOf("addMulti")>-1?(l(),p(r,{key:1,type:"warning",loading:n.value||s.value,onClick:o[1]||(o[1]=f=>c("addMulti"))},{default:u(()=>[...o[9]||(o[9]=[d("加签 ",-1)])]),_:1},8,["loading"])):m("v-if",!0),e.value?.operations.indexOf("minusMulti")>-1?(l(),p(r,{key:2,type:"danger",loading:n.value||s.value,onClick:o[2]||(o[2]=f=>c("minusMulti"))},{default:u(()=>[...o[10]||(o[10]=[d("减签 ",-1)])]),_:1},8,["loading"])):m("v-if",!0),e.value?.operations.indexOf("refuse")>-1&&a.params?.refuseBtnText!==""?(l(),p(r,{key:3,loading:n.value||s.value,type:"danger",onClick:o[3]||(o[3]=f=>c("refuse"))},{default:u(()=>[d(k(a.params?.refuseBtnText??"终止"),1)]),_:1},8,["loading"])):m("v-if",!0),e.value?.operations.indexOf("transfer")>-1&&a.params?.transferBtnText!==""?(l(),p(r,{key:4,loading:n.value||s.value,type:"warning",onClick:o[4]||(o[4]=f=>c("transfer"))},{default:u(()=>[d(k(a.params?.transferBtnText??"转办"),1)]),_:1},8,["loading"])):m("v-if",!0),e.value?.operations.indexOf("back")>-1&&a.params?.backBtnText!==""?(l(),p(r,{key:5,loading:n.value||s.value,type:"danger",onClick:o[5]||(o[5]=f=>c("back"))},{default:u(()=>[d(k(a.params?.backBtnText??"驳回"),1)]),_:1},8,["loading"])):m("v-if",!0),e.value?.operations.indexOf("complete")>-1&&a.params?.completeBtnText!==""?(l(),p(r,{key:6,loading:n.value||s.value,type:"primary",onClick:o[6]||(o[6]=f=>c("complete"))},{default:u(()=>[d(k(a.params?.completeBtnText??"同意"),1)]),_:1},8,["loading"])):m("v-if",!0)],64)):m("v-if",!0),V(t.$slots,"right",{},void 0,!0)]),_:3})],512)}}}),Ht=pe(de,[["__scopeId","data-v-a84c5805"]]);export{Ht as default};
1
+ import{defineComponent as Y,ref as v,useModel as Z,computed as _,onMounted as ee,watch as te,resolveComponent as $,openBlock as l,createElementBlock as P,createVNode as oe,withCtx as u,renderSlot as V,createBlock as p,createTextVNode as d,toDisplayString as k,createCommentVNode as m,unref as ae,Fragment as re,mergeModels as W}from"vue";import D from"../../api/workflow/workflowInstApi.js";import ie from"./components/SelectAssigneeDialog.vue.js";import{_ as ne}from"../../../chunks/AddOrMinusMultiDialog.vue_vue_type_script_setup_true_lang-BWVDdb4B.js";import se from"./components/CheckDialog.vue.js";import{runWorkflowComplete as le}from"../../hooks/workflowCompleteRunner.js";import q from"../../utils/FrameworkUtils.js";import{userInfoStore as w}from"../../stores/userInfoStore.js";import{frontendBus as L}from"../../utils/frontendBus.js";import{showProcessView as ue,showTodoDialog as me}from"../../hooks/workflowTodo.js";import{_ as pe}from"../../../chunks/_plugin-vue_export-helper-DlAUqK2U.js";import"../../../chunks/request-ea_7oxLz.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/globalLoading.js";import"../../utils/workflowTaskContext.js";import"../../config/GlobalLoadingConfig.js";import"../business/comp.userForm.vue.js";import"@vueuse/core";import"../../api/DeptInfoApi.js";import"../../api/EmployeeInfoApi.js";import"../../hooks/useResetRefHooks.js";import"../../config/vxeSelectColumn.js";import"../../../chunks/ElTagDisplay.vue_vue_type_script_setup_true_lang-DQXuYsW_.js";/* empty css */import"xlsx-js-style";import"../../api/SysUserApi.js";import"../bpmntree/components/UserSelector/UserTag.vue.js";import"../upload/CustomElUpload.vue.js";import"@element-plus/icons-vue";import"../../hooks/useFileView.js";import"../../hooks/useFileOpen.js";import"../../utils/fileDownload.js";import"../../api/DocumentApi.js";import"../../utils/officePreviewUtil.js";import"../../utils/uploadAccept.js";import"../../hooks/useDeleteConfirmHooks.js";import"../../hooks/useBehaviorAction.js";import"../../utils/buildUploadHeaders.js";import"pinia";import"../../utils/userSessionStorage.js";import"../../../chunks/ElTextarea-CRk-I9iq.js";import"../../hooks/createDialogHooks.js";import"../../stores/storeConfig.js";import"pinia-plugin-store";import"../../config/ElementPlusConfig.js";import"../../utils/patchWujiePopperCoordinates.js";import"../../config/VxeTableConfig.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"../vxeReplace/index.js";import"../tooltip/index.js";import"../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"element-plus/es/locale/lang/zh-cn";import"../../hooks/useListenerHooks.js";import"../../stores/permissionStore.js";import"../../utils/operationAuth.js";import"../icon/ElIcons.vue.js";import"../ElDialogBody/ElDialogBody.vue.js";import"vue-router";import"../../hooks/useMenuNavigate.js";import"../../hooks/usePermissionHooks.js";import"../../utils/routeMetaParams.js";import"../../utils/commonUtils.js";import"../../utils/tree.js";const de=Y({__name:"TaskOperation",props:W({taskId:{type:String,required:!1},showProcessBtn:{type:Boolean,required:!1,default:!1},params:{type:Object,required:!1},taskInfo:{type:Object,required:!1},showOperationsBtn:{type:Boolean,required:!1,default:!0},showCurWorkBth:{type:Boolean,required:!1,default:!0},onProcessDetail:{type:Function,required:!1},renderDialog:{type:Function,required:!1}},{butLoading:{type:Boolean,default:!1},butLoadingModifiers:{}}),emits:W(["success"],["update:butLoading"]),setup(a,{expose:E,emit:A}){const N=w(),b=v(null),i=a,n=Z(a,"butLoading"),R=A,e=v({taskId:"",comment:""}),O=i.renderDialog,g=(t,o,r,x,f,X)=>{if(!O){console.warn("[TaskOperation] 未注入 renderDialog,无法打开操作弹窗(请通过 props 传入 useDialogHooks 的 render)");return}O(t,o,r,x,f,X)},U=async()=>{if(typeof i.onProcessDetail=="function"){i.onProcessDetail(e.value);return}await ue(e.value)},T=_(()=>e.value?.operations==="assignee"),S=v(""),y=v(),K=v([]),j=async()=>{await me(v(e.value),K)},c=async t=>{if(t&&(S.value=t),!e.value)return;y.value={...e.value};let o=!1;if(t==="complete"&&i.params?.beforeCompleteFunction)try{const r=await i.params?.beforeCompleteFunction({taskId:e.value.taskId,userId:w().getUserInfo.userCode,comment:"同意。",procInsId:e.value.procInsId,procDefKey:e.value.procDefKey});if(r===!1)return;r?.readonly&&(o=!0),e.value={...e.value,...r}}catch{return}if(t==="addMulti"||t==="minusMulti")g(ne,{taskId:e.value.taskId,dialogType:t,renderDialog:g,onSuccess:I,onWorkflowSuccess:C},{title:t==="addMulti"?"加签":"减签",size:"400px"},"dialog");else if(t==="assignee")M(e.value.taskId);else{if(e.value.variables,t==="complete"&&e.value.firstSubmitNode&&i.params?.ignoreConfirm){await H();return}g(se,{taskVo:e.value,dialogType:t,taskOperate:i?.params,commentReadonly:o,renderDialog:g,onOpenAssignee:M,onSuccess:I,onWorkflowSuccess:C},{title:z(t),size:"480px",closeOnClickModal:!1},"dialog")}},z=t=>{switch(t){case"complete":return"流程审批";case"refuse":return"终止审批";case"back":return"驳回审批";case"transfer":return"转办审批";default:return"流程审批"}},H=async()=>{if(!e.value||!w().getUserInfo.userCode)return;y.value={...e.value};const t={taskId:e.value.taskId,userId:w().getUserInfo.userCode,comment:e.value.comment??"",procInsId:e.value.procInsId,procDefKey:e.value.procDefKey,variables:e.value.variables};try{if(n.value=!0,i.params?.completeFunction){const o=await i.params?.completeFunction(t);o&&o?.taskId?e.value=o:e.value=await D.getTaskInst(e.value.taskId)}else e.value=await D.taskComplete(t)}catch(o){q.messageError(o);return}finally{n.value=!1}try{await h({actionType:"complete",taskVo:e.value,askVo:t})}catch{}},M=t=>{y.value={...e.value},g(ie,{taskId:t,onSuccess:I,onWorkflowSuccess:C},{title:"指定执行人",size:"450px"},"dialog")},I=t=>{t&&(e.value=t),L.emit("todoRefresh"),L.emit("homePageRefresh"),R("success")},h=async(t,o)=>{const r={...t,actionType:t.actionType||S.value,originTask:t.originTask??y.value,taskVo:t.taskVo??e.value};await le(i.params,r),o?.refresh!==!1&&I(t.taskVo)},C=t=>h({...t,originTask:t.originTask??y.value},{refresh:!1}),F=(t,o)=>t?t.classList?.contains(o)?t:F(t.parentElement,o):null,G=()=>{const t=F(b.value,"todo-dialog-class");return t?console.log("找到满足条件的元素:",t):console.log("未找到满足条件的元素"),t};ee(()=>{G(),B()});const s=v(!1),J=async()=>{s.value=!0},Q=()=>{s.value=!1},B=async()=>{if(i.taskInfo)e.value=i.taskInfo,e.value.finishTime&&console.log("该待办已完成!");else if(i.taskId)try{J(),e.value=await D.getTaskInst(i.taskId),e.value.finishTime&&console.log("该待办已完成!")}catch(t){q.messageError(t)}finally{Q()}};return E({reload:()=>{B()}}),te(()=>i.taskId,B),(t,o)=>{const r=$("el-button"),x=$("el-flex");return l(),P("div",{ref_key:"taskFlexRef",ref:b,class:"task-operation"},[oe(x,{align:"center",justify:"flex-end"},{default:u(()=>[V(t.$slots,"left",{},void 0,!0),a.params?.cancelBtnText!==""?(l(),p(r,{key:0,loading:n.value||s.value,onClick:a.params?.cancelFunction},{default:u(()=>[d(k(a.params?.cancelBtnText??"取消"),1)]),_:1},8,["loading","onClick"])):m("v-if",!0),a.showProcessBtn&&e.value?.procInsId?(l(),p(r,{key:1,type:"info",loading:n.value||s.value,onClick:U},{default:u(()=>[...o[7]||(o[7]=[d(" 流程信息 ",-1)])]),_:1},8,["loading"])):m("v-if",!0),!T.value&&e.value?.taskId&&a.showCurWorkBth&&!a.showOperationsBtn?(l(),p(r,{key:2,loading:n.value||s.value,type:"warning",disabled:e.value?.taskId&&(!e.value?.operations||ae(N).getUserInfo.userCode!==e.value?.assigneeId),onClick:j},{default:u(()=>[d(k(e.value.taskName),1)]),_:1},8,["loading","disabled"])):m("v-if",!0),T.value?(l(),p(r,{key:3,type:"primary",loading:n.value||s.value,onClick:o[0]||(o[0]=f=>c("assignee"))},{default:u(()=>[...o[8]||(o[8]=[d("指定执行人 ",-1)])]),_:1},8,["loading"])):m("v-if",!0),!T.value&&e.value?.taskId&&e.value?.operations&&a.showOperationsBtn?(l(),P(re,{key:4},[a.params?.saveBtnText?(l(),p(r,{key:0,loading:n.value||s.value,type:"primary",onClick:a.params?.saveFunction},{default:u(()=>[d(k(a.params?.saveBtnText),1)]),_:1},8,["loading","onClick"])):m("v-if",!0),e.value?.operations.indexOf("addMulti")>-1?(l(),p(r,{key:1,type:"warning",loading:n.value||s.value,onClick:o[1]||(o[1]=f=>c("addMulti"))},{default:u(()=>[...o[9]||(o[9]=[d("加签 ",-1)])]),_:1},8,["loading"])):m("v-if",!0),e.value?.operations.indexOf("minusMulti")>-1?(l(),p(r,{key:2,type:"danger",loading:n.value||s.value,onClick:o[2]||(o[2]=f=>c("minusMulti"))},{default:u(()=>[...o[10]||(o[10]=[d("减签 ",-1)])]),_:1},8,["loading"])):m("v-if",!0),e.value?.operations.indexOf("refuse")>-1&&a.params?.refuseBtnText!==""?(l(),p(r,{key:3,loading:n.value||s.value,type:"danger",onClick:o[3]||(o[3]=f=>c("refuse"))},{default:u(()=>[d(k(a.params?.refuseBtnText??"终止"),1)]),_:1},8,["loading"])):m("v-if",!0),e.value?.operations.indexOf("transfer")>-1&&a.params?.transferBtnText!==""?(l(),p(r,{key:4,loading:n.value||s.value,type:"warning",onClick:o[4]||(o[4]=f=>c("transfer"))},{default:u(()=>[d(k(a.params?.transferBtnText??"转办"),1)]),_:1},8,["loading"])):m("v-if",!0),e.value?.operations.indexOf("back")>-1&&a.params?.backBtnText!==""?(l(),p(r,{key:5,loading:n.value||s.value,type:"danger",onClick:o[5]||(o[5]=f=>c("back"))},{default:u(()=>[d(k(a.params?.backBtnText??"驳回"),1)]),_:1},8,["loading"])):m("v-if",!0),e.value?.operations.indexOf("complete")>-1&&a.params?.completeBtnText!==""?(l(),p(r,{key:6,loading:n.value||s.value,type:"primary",onClick:o[6]||(o[6]=f=>c("complete"))},{default:u(()=>[d(k(a.params?.completeBtnText??"同意"),1)]),_:1},8,["loading"])):m("v-if",!0)],64)):m("v-if",!0),V(t.$slots,"right",{},void 0,!0)]),_:3})],512)}}}),Ht=pe(de,[["__scopeId","data-v-edd75c34"]]);export{Ht as default};
@@ -1,9 +1,11 @@
1
1
  import { type Component } from 'vue';
2
- import type { IWfProcessInstVo, IWfTaskVo } from '../../interface/workflow/IWfTaskVo';
2
+ import type { IWfTaskVo } from '../../interface/workflow/IWfTaskVo';
3
3
  type __VLS_Props = {
4
4
  taskId: string;
5
5
  taskInfo?: IWfTaskVo;
6
6
  readonly?: boolean;
7
+ /** 入口显式声明"看的是当时那一版"(流程事项管理 / 任务快照 / 审批查看):只读 + 取快照 */
8
+ asHistory?: boolean;
7
9
  contentComponent?: Component;
8
10
  contentProps?: Record<string, unknown>;
9
11
  renderDialog?: (...args: any[]) => any;
@@ -16,8 +18,9 @@ type __VLS_PublicProps = __VLS_Props & {
16
18
  };
17
19
  declare var __VLS_17: {
18
20
  task: IWfTaskVo | undefined;
19
- process: IWfProcessInstVo | undefined;
21
+ process: import("../../interface/workflow/IWfTaskVo").IWfProcessInstVo | undefined;
20
22
  snapshot: Record<string, any> | null;
23
+ mode: import("../../hooks/useWorkflowTaskView").WorkflowTaskMode;
21
24
  };
22
25
  type __VLS_Slots = {} & {
23
26
  content?: (props: typeof __VLS_17) => any;
@@ -37,6 +40,7 @@ declare const __VLS_component: import("vue").DefineComponent<__VLS_PublicProps,
37
40
  readonly: boolean;
38
41
  renderDialog: (...args: any[]) => any;
39
42
  withdrawEnabled: boolean;
43
+ asHistory: boolean;
40
44
  taskInfo: IWfTaskVo;
41
45
  contentComponent: Component;
42
46
  contentProps: Record<string, unknown>;