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.
- package/dist/assets/package-DzZffoYf.json +235 -0
- package/dist/chunks/DictDisplay.vue_vue_type_script_setup_true_lang-iElc7rx4.js +1 -0
- package/dist/src/components/AsideCardList/AsideCardList.vue.js +1 -1
- package/dist/src/components/OperationAuth/operationAuth.vue.js +1 -1
- package/dist/src/components/dict/DictDisplay.vue.js +1 -1
- package/dist/src/components/shell/SubAppShell.vue.d.ts +45 -0
- package/dist/src/components/shell/SubAppShell.vue.js +1 -0
- package/dist/src/components/workflow/TaskOperation.vue.js +1 -1
- package/dist/src/components/workflow/WorkflowTodoShell.vue.d.ts +6 -2
- package/dist/src/components/workflow/WorkflowTodoShell.vue.js +5 -5
- package/dist/src/hooks/useMenuNavigate.d.ts +27 -0
- package/dist/src/hooks/useMenuNavigate.js +1 -0
- package/dist/src/hooks/useMenuParams.d.ts +32 -0
- package/dist/src/hooks/useMenuParams.js +1 -0
- package/dist/src/hooks/useOpenNewMenu.d.ts +8 -4
- package/dist/src/hooks/useOpenNewMenu.js +1 -1
- package/dist/src/hooks/usePermissionHooks.js +1 -1
- package/dist/src/hooks/useWorkflowTaskView.d.ts +43 -0
- package/dist/src/hooks/useWorkflowTaskView.js +1 -0
- package/dist/src/hooks/workflowTodo.d.ts +14 -7
- package/dist/src/hooks/workflowTodo.js +1 -1
- package/dist/src/interface/workflow/IWfTaskVo.d.ts +11 -0
- package/dist/src/mixin/globalMixin.js +1 -1
- package/dist/src/plugins/plugins.js +1 -1
- package/dist/src/plugins/renderDialog.js +1 -1
- package/dist/src/utils/frontendBus.d.ts +11 -3
- package/dist/src/utils/frontendBus.js +1 -1
- package/dist/src/utils/modules.js +2 -2
- package/dist/src/utils/routeMetaParams.d.ts +16 -0
- package/dist/src/utils/routeMetaParams.js +1 -1
- package/dist/styles/element-ui.css +1 -1
- package/dist/vite/sharedRuntime.d.ts +3 -0
- package/dist/vite/sharedRuntime.js +4 -0
- package/package.json +8 -2
- 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-
|
|
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
|
|
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-
|
|
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 {
|
|
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>;
|