vue2-client 1.14.92 → 1.14.94
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/.history/public/his/editor/editor_20250606134713.html +51 -0
- package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527173925.vue +509 -0
- package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527174316.vue +524 -0
- package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527174419.vue +524 -0
- package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527174422.vue +524 -0
- package/.history/src/base-client/components/common/XAddReport/XAddReport_20250611172825.vue +207 -0
- package/.history/src/base-client/components/common/XAddReport/XAddReport_20250611172945.vue +211 -0
- package/.history/src/base-client/components/common/XAddReport/XAddReport_20250611172949.vue +212 -0
- package/.history/src/base-client/components/common/XAddReport/XAddReport_20250611173010.vue +212 -0
- package/.history/src/base-client/components/common/XForm/XFormItem_20250508134122.vue +1320 -0
- package/.history/src/base-client/components/common/XForm/XFormItem_20250527171604.vue +1332 -0
- package/.history/src/base-client/components/common/XForm/XFormItem_20250527171613.vue +1331 -0
- package/.history/src/base-client/components/common/XForm/XFormItem_20250527171703.vue +1331 -0
- package/.history/src/base-client/components/common/XForm/XFormItem_20250527171720.vue +1331 -0
- package/.history/src/base-client/components/common/XForm/XFormItem_20250527174327.vue +1339 -0
- package/.history/src/base-client/components/common/XReportGrid/XReportTrGroup_20250612092804.vue +731 -0
- package/.history/src/base-client/components/common/XReportGrid/XReportTrGroup_20250612112546.vue +748 -0
- package/.history/src/base-client/components/common/XReportGrid/XReportTrGroup_20250612113808.vue +748 -0
- package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115237.vue +1071 -0
- package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115346.vue +1078 -0
- package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115350.vue +1077 -0
- package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115415.vue +1077 -0
- package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115429.vue +1077 -0
- package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611091619.vue +442 -0
- package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092547.vue +442 -0
- package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092552.vue +442 -0
- package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092744.vue +475 -0
- package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092955.vue +475 -0
- package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092957.vue +475 -0
- package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611095652.vue +477 -0
- package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611095701.vue +477 -0
- package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611095704.vue +477 -0
- package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100005.vue +473 -0
- package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100011.vue +473 -0
- package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100014.vue +473 -0
- package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100833.vue +473 -0
- package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100853.vue +473 -0
- package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100940.vue +473 -0
- package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101011.vue +473 -0
- package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101013.vue +473 -0
- package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101014.vue +473 -0
- package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101159.vue +473 -0
- package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101238.vue +474 -0
- package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101240.vue +474 -0
- package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101242.vue +474 -0
- package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101404.vue +472 -0
- package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101410.vue +472 -0
- package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101459.vue +472 -0
- package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101500.vue +472 -0
- package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101502.vue +472 -0
- package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101504.vue +472 -0
- package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101610.vue +501 -0
- package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101700.vue +501 -0
- package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101702.vue +501 -0
- package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101741.vue +504 -0
- package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101749.vue +504 -0
- package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101759.vue +504 -0
- package/.history/src/base-client/components/his/XHisEditor/dome_20250611091349.vue +131 -0
- package/.history/src/base-client/components/his/XHisEditor/dome_20250611105854.vue +160 -0
- package/.history/src/base-client/components/his/XHisEditor/dome_20250611105902.vue +160 -0
- package/.history/src/base-client/components/his/XHisEditor/dome_20250611105924.vue +160 -0
- package/.history/src/base-client/components/his/XHisEditor/dome_20250611105932.vue +158 -0
- package/.history/src/base-client/components/his/XList/XList_20250609135848.vue +173 -0
- package/.history/src/base-client/components/his/XList/XList_20250609141026.vue +222 -0
- package/.history/src/base-client/components/his/XList/XList_20250609141035.vue +229 -0
- package/.history/src/base-client/components/his/XList/XList_20250609141103.vue +229 -0
- package/.history/src/base-client/components/his/XList/XList_20250609141105.vue +229 -0
- package/.history/src/base-client/components/his/XList/XList_20250609141334.vue +241 -0
- package/.history/src/base-client/components/his/XList/XList_20250609141404.vue +241 -0
- package/.history/src/base-client/components/his/XList/XList_20250609141406.vue +241 -0
- package/.history/src/base-client/components/his/XList/XList_20250609141801.vue +245 -0
- package/.history/src/base-client/components/his/XList/XList_20250609142033.vue +245 -0
- package/.history/src/base-client/components/his/XList/XList_20250609142038.vue +245 -0
- package/.history/src/base-client/components/his/XList/XList_20250609142435.vue +255 -0
- package/.history/src/base-client/components/his/XList/XList_20250609142503.vue +255 -0
- package/.history/src/base-client/components/his/XList/XList_20250609142504.vue +255 -0
- package/.history/src/base-client/components/his/XList/XList_20250609143012.vue +270 -0
- package/.history/src/base-client/components/his/XList/XList_20250609143044.vue +270 -0
- package/.history/src/base-client/components/his/XList/XList_20250609143046.vue +270 -0
- package/.history/src/base-client/components/his/XList/XList_20250609143210.vue +270 -0
- package/.history/src/base-client/components/his/XList/XList_20250609144339.vue +294 -0
- package/.history/src/base-client/components/his/XList/XList_20250609144410.vue +294 -0
- package/.history/src/base-client/components/his/XList/XList_20250609144412.vue +294 -0
- package/.history/src/base-client/components/his/XList/XList_20250609144647.vue +303 -0
- package/.history/src/base-client/components/his/XList/XList_20250609144716.vue +303 -0
- package/.history/src/base-client/components/his/XList/XList_20250609144729.vue +303 -0
- package/.history/src/base-client/components/his/XList/XList_20250609151232.vue +288 -0
- package/.history/src/base-client/components/his/XList/XList_20250609151247.vue +288 -0
- package/.history/src/base-client/components/his/XList/XList_20250609151252.vue +288 -0
- package/.history/src/base-client/components/his/XList/XList_20250609161220.vue +317 -0
- package/.history/src/base-client/components/his/XList/XList_20250609161258.vue +306 -0
- package/.history/src/base-client/components/his/XList/XList_20250609161319.vue +306 -0
- package/.history/src/base-client/components/his/XList/XList_20250609161320.vue +306 -0
- package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250609151519.vue +222 -0
- package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250612155514.vue +183 -0
- package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250612155556.vue +183 -0
- package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250612155600.vue +183 -0
- package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250612181609.vue +206 -0
- package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250612181629.vue +209 -0
- package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613095553.vue +242 -0
- package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613095610.vue +242 -0
- package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613095612.vue +242 -0
- package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613100041.vue +251 -0
- package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613100047.vue +251 -0
- package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613100054.vue +250 -0
- package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613100105.vue +250 -0
- package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613100107.vue +250 -0
- package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613100114.vue +250 -0
- package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613140844.vue +238 -0
- package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613140910.vue +238 -0
- package/.history/src/base-client/components/his/XShiftSchedule/XShiftSchedule_20250613140912.vue +238 -0
- package/Users/objecrt/af-vue2-client/src/base-client/components/his/XShiftSchedule/XShiftSchedule.vue +36 -0
- package/docs/Logic/345/207/275/346/225/260/344/275/277/347/224/250/347/233/270/345/205/263.md +1 -0
- package/docs//345/207/275/346/225/260/344/275/277/347/224/250/347/233/270/345/205/263.md +4 -2
- package/package.json +1 -1
- package/src/base-client/components/TreeList/TreeList.vue +91 -0
- package/src/base-client/components/TreeList/TreeNode.vue +81 -0
- package/src/base-client/components/common/XCardSet/XTiltle.vue +191 -0
- package/src/base-client/components/his/XCharge/XCharge.vue +1 -0
- package/src/base-client/components/his/XTextCard/XTextCard.vue +207 -207
- package/src/base-client/components/his/XTreeRows/TreeNode.vue +100 -100
- package/src/base-client/components/his/XTreeRows/XTreeRows.vue +197 -197
- package/src/base-client/components/his/threeTestOrders/editor.vue +111 -111
- package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowHandle.vue +60 -21
- package/src/pages/addressSelect/addressDemo.vue +24 -24
@@ -1,111 +1,111 @@
|
|
1
|
-
<template>
|
2
|
-
<!-- 根据实际部署环境修改 editor.html 的路径 -->
|
3
|
-
<iframe
|
4
|
-
src="/his/editor/editor.html"
|
5
|
-
width="100%"
|
6
|
-
height="800"
|
7
|
-
frameborder="0"
|
8
|
-
@load="onIframeLoad"
|
9
|
-
ref="editorIframe">
|
10
|
-
</iframe>
|
11
|
-
</template>
|
12
|
-
|
13
|
-
<script setup>
|
14
|
-
|
15
|
-
import { ref, onBeforeUnmount } from 'vue'
|
16
|
-
|
17
|
-
const editorIframe = ref(null)
|
18
|
-
const checkEditorTimer = ref(null)
|
19
|
-
const checkCount = ref(0)
|
20
|
-
const editor = ref(null)
|
21
|
-
const iframeWindow = ref(null)
|
22
|
-
// 对外暴露的获取editor方法
|
23
|
-
const getEditor = () => {
|
24
|
-
if (editor.value) {
|
25
|
-
return editor.value
|
26
|
-
}
|
27
|
-
if (iframeWindow.value && iframeWindow.value.editor) {
|
28
|
-
editor.value = iframeWindow.value.editor
|
29
|
-
return editor.value
|
30
|
-
}
|
31
|
-
if (editorIframe.value && editorIframe.value.contentWindow && editorIframe.value.contentWindow.editor) {
|
32
|
-
editor.value = editorIframe.value.contentWindow.editor
|
33
|
-
return editor.value
|
34
|
-
}
|
35
|
-
return null
|
36
|
-
}
|
37
|
-
// 创建体温单方法
|
38
|
-
const createVitalSigns = (data) => {
|
39
|
-
const editorObj = getEditor()
|
40
|
-
if (!editorObj) {
|
41
|
-
throw new Error('editor对象未初始化,无法创建体温单')
|
42
|
-
}
|
43
|
-
if (typeof editorObj.createVitalSigns === 'function') {
|
44
|
-
return editorObj.createVitalSigns(data)
|
45
|
-
} else {
|
46
|
-
throw new Error('editor对象未包含createVitalSigns方法')
|
47
|
-
}
|
48
|
-
}
|
49
|
-
|
50
|
-
// 检查editor对象是否已初始化
|
51
|
-
const startEditorCheck = (frameWindow, iframe) => {
|
52
|
-
if (checkEditorTimer.value) {
|
53
|
-
clearInterval(checkEditorTimer.value)
|
54
|
-
}
|
55
|
-
checkCount.value = 0
|
56
|
-
checkEditorTimer.value = setInterval(() => {
|
57
|
-
checkCount.value++
|
58
|
-
try {
|
59
|
-
const editorObj = frameWindow.editor
|
60
|
-
if (editorObj && typeof editorObj.createVitalSigns === 'function') {
|
61
|
-
clearInterval(checkEditorTimer.value)
|
62
|
-
editor.value = editorObj
|
63
|
-
// 将editor对象暴露到全局
|
64
|
-
window.iframeEditor = editorObj
|
65
|
-
window.iframeWindow = frameWindow
|
66
|
-
// 触发事件
|
67
|
-
emit('editor-ready', editorObj)
|
68
|
-
emit('load', { target: iframe, editor: editorObj })
|
69
|
-
// 发送消息通知
|
70
|
-
window.parent.postMessage({ type: 'editorReady' }, '*')
|
71
|
-
}
|
72
|
-
} catch (err) {
|
73
|
-
console.error('检查editor对象时出错:', err)
|
74
|
-
}
|
75
|
-
if (checkCount.value >= 20) {
|
76
|
-
clearInterval(checkEditorTimer.value)
|
77
|
-
console.error('Editor 对象加载失败')
|
78
|
-
}
|
79
|
-
}, 500)
|
80
|
-
}
|
81
|
-
// iframe加载完成的处理
|
82
|
-
const onIframeLoad = (e) => {
|
83
|
-
const iframe = e.target
|
84
|
-
const frameWindow = iframe.contentWindow
|
85
|
-
iframeWindow.value = frameWindow
|
86
|
-
if (!frameWindow) {
|
87
|
-
console.error('无法访问 iframe 内容')
|
88
|
-
return
|
89
|
-
}
|
90
|
-
startEditorCheck(frameWindow, iframe)
|
91
|
-
}
|
92
|
-
// 组件销毁前清理
|
93
|
-
onBeforeUnmount(() => {
|
94
|
-
if (checkEditorTimer.value) {
|
95
|
-
clearInterval(checkEditorTimer.value)
|
96
|
-
}
|
97
|
-
})
|
98
|
-
// 暴露方法给父组件
|
99
|
-
defineExpose({ getEditor, createVitalSigns })
|
100
|
-
|
101
|
-
// 定义事件
|
102
|
-
const emit = defineEmits(['editor-ready', 'load'])
|
103
|
-
</script>
|
104
|
-
|
105
|
-
<style scoped>
|
106
|
-
iframe {
|
107
|
-
border: none;
|
108
|
-
width: 100%;
|
109
|
-
min-height: 800px;
|
110
|
-
}
|
111
|
-
</style>
|
1
|
+
<template>
|
2
|
+
<!-- 根据实际部署环境修改 editor.html 的路径 -->
|
3
|
+
<iframe
|
4
|
+
src="/his/editor/editor.html"
|
5
|
+
width="100%"
|
6
|
+
height="800"
|
7
|
+
frameborder="0"
|
8
|
+
@load="onIframeLoad"
|
9
|
+
ref="editorIframe">
|
10
|
+
</iframe>
|
11
|
+
</template>
|
12
|
+
|
13
|
+
<script setup>
|
14
|
+
|
15
|
+
import { ref, onBeforeUnmount } from 'vue'
|
16
|
+
|
17
|
+
const editorIframe = ref(null)
|
18
|
+
const checkEditorTimer = ref(null)
|
19
|
+
const checkCount = ref(0)
|
20
|
+
const editor = ref(null)
|
21
|
+
const iframeWindow = ref(null)
|
22
|
+
// 对外暴露的获取editor方法
|
23
|
+
const getEditor = () => {
|
24
|
+
if (editor.value) {
|
25
|
+
return editor.value
|
26
|
+
}
|
27
|
+
if (iframeWindow.value && iframeWindow.value.editor) {
|
28
|
+
editor.value = iframeWindow.value.editor
|
29
|
+
return editor.value
|
30
|
+
}
|
31
|
+
if (editorIframe.value && editorIframe.value.contentWindow && editorIframe.value.contentWindow.editor) {
|
32
|
+
editor.value = editorIframe.value.contentWindow.editor
|
33
|
+
return editor.value
|
34
|
+
}
|
35
|
+
return null
|
36
|
+
}
|
37
|
+
// 创建体温单方法
|
38
|
+
const createVitalSigns = (data) => {
|
39
|
+
const editorObj = getEditor()
|
40
|
+
if (!editorObj) {
|
41
|
+
throw new Error('editor对象未初始化,无法创建体温单')
|
42
|
+
}
|
43
|
+
if (typeof editorObj.createVitalSigns === 'function') {
|
44
|
+
return editorObj.createVitalSigns(data)
|
45
|
+
} else {
|
46
|
+
throw new Error('editor对象未包含createVitalSigns方法')
|
47
|
+
}
|
48
|
+
}
|
49
|
+
|
50
|
+
// 检查editor对象是否已初始化
|
51
|
+
const startEditorCheck = (frameWindow, iframe) => {
|
52
|
+
if (checkEditorTimer.value) {
|
53
|
+
clearInterval(checkEditorTimer.value)
|
54
|
+
}
|
55
|
+
checkCount.value = 0
|
56
|
+
checkEditorTimer.value = setInterval(() => {
|
57
|
+
checkCount.value++
|
58
|
+
try {
|
59
|
+
const editorObj = frameWindow.editor
|
60
|
+
if (editorObj && typeof editorObj.createVitalSigns === 'function') {
|
61
|
+
clearInterval(checkEditorTimer.value)
|
62
|
+
editor.value = editorObj
|
63
|
+
// 将editor对象暴露到全局
|
64
|
+
window.iframeEditor = editorObj
|
65
|
+
window.iframeWindow = frameWindow
|
66
|
+
// 触发事件
|
67
|
+
emit('editor-ready', editorObj)
|
68
|
+
emit('load', { target: iframe, editor: editorObj })
|
69
|
+
// 发送消息通知
|
70
|
+
window.parent.postMessage({ type: 'editorReady' }, '*')
|
71
|
+
}
|
72
|
+
} catch (err) {
|
73
|
+
console.error('检查editor对象时出错:', err)
|
74
|
+
}
|
75
|
+
if (checkCount.value >= 20) {
|
76
|
+
clearInterval(checkEditorTimer.value)
|
77
|
+
console.error('Editor 对象加载失败')
|
78
|
+
}
|
79
|
+
}, 500)
|
80
|
+
}
|
81
|
+
// iframe加载完成的处理
|
82
|
+
const onIframeLoad = (e) => {
|
83
|
+
const iframe = e.target
|
84
|
+
const frameWindow = iframe.contentWindow
|
85
|
+
iframeWindow.value = frameWindow
|
86
|
+
if (!frameWindow) {
|
87
|
+
console.error('无法访问 iframe 内容')
|
88
|
+
return
|
89
|
+
}
|
90
|
+
startEditorCheck(frameWindow, iframe)
|
91
|
+
}
|
92
|
+
// 组件销毁前清理
|
93
|
+
onBeforeUnmount(() => {
|
94
|
+
if (checkEditorTimer.value) {
|
95
|
+
clearInterval(checkEditorTimer.value)
|
96
|
+
}
|
97
|
+
})
|
98
|
+
// 暴露方法给父组件
|
99
|
+
defineExpose({ getEditor, createVitalSigns })
|
100
|
+
|
101
|
+
// 定义事件
|
102
|
+
const emit = defineEmits(['editor-ready', 'load'])
|
103
|
+
</script>
|
104
|
+
|
105
|
+
<style scoped>
|
106
|
+
iframe {
|
107
|
+
border: none;
|
108
|
+
width: 100%;
|
109
|
+
min-height: 800px;
|
110
|
+
}
|
111
|
+
</style>
|
@@ -209,10 +209,10 @@
|
|
209
209
|
</a-form-item>
|
210
210
|
</a-form>
|
211
211
|
</a-tab-pane>
|
212
|
-
<a-tab-pane v-if="canSubmit && !beforeStepActive && showPrevBtn && !workflowState" key="3" tab="工单拆分">
|
213
|
-
|
212
|
+
<!-- <a-tab-pane v-if="canSubmit && !beforeStepActive && showPrevBtn && !workflowState" key="3" tab="工单拆分">
|
213
|
+
<!– 分配工单 –>
|
214
214
|
<workflow-list-resolution :workflow-project-id="workflowId" :details="details"></workflow-list-resolution>
|
215
|
-
</a-tab-pane
|
215
|
+
</a-tab-pane>-->
|
216
216
|
</a-tabs>
|
217
217
|
</template>
|
218
218
|
</div>
|
@@ -257,33 +257,56 @@ export default {
|
|
257
257
|
...mapState('account', { currUser: 'user' }),
|
258
258
|
canSubmit () {
|
259
259
|
// 对于超级管理员直接认为可以提交
|
260
|
-
if (this.currUser.
|
260
|
+
if (this.currUser.ename === '1') {
|
261
261
|
return true
|
262
262
|
}
|
263
263
|
// currentStepId可能还没初始化,此处拿不到先返回false
|
264
264
|
if (!this.currentStepId) {
|
265
265
|
return false
|
266
266
|
}
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
// 检查角色和部门权限
|
273
|
-
if (step && step.properties && step.properties.chargePerson) {
|
274
|
-
if (step.properties.chargePerson.personList && step.properties.chargePerson.personList.length > 0) {
|
267
|
+
// 如果当前选中节点不是正在进行的节点,则判断viewers权限
|
268
|
+
if (this.activeStepId !== this.currentStepId) {
|
269
|
+
const activeStep = this.stepsForChild[this.activeStepId - 1]
|
270
|
+
const viewers = activeStep?.properties?.otherProperty?.viewers ?? []
|
271
|
+
if (viewers.length > 0) {
|
275
272
|
// 使用some方法判断当前人员是否满足任一条件
|
276
|
-
return
|
273
|
+
return viewers.some(item => {
|
277
274
|
if (item.type === 'role') {
|
278
275
|
// 检查rolestr是否存在并包含指定角色
|
279
|
-
return this.currUser.rolestr && this.currUser.rolestr.includes(item.name)
|
276
|
+
return this.currUser.rolestr && this.currUser.rolestr.split(',').includes(item.name)
|
280
277
|
}
|
281
278
|
if (item.type === 'department') {
|
282
|
-
// 检查
|
283
|
-
return this.currUser.
|
279
|
+
// 检查depname是否存在并包含指定部门
|
280
|
+
return this.currUser.depname && this.currUser.deps.includes(item.name)
|
284
281
|
}
|
285
282
|
return false
|
286
283
|
})
|
284
|
+
} else {
|
285
|
+
return true
|
286
|
+
}
|
287
|
+
} else {
|
288
|
+
const step = this.stepsForChild[this.currentStepId - 1]
|
289
|
+
// 检查角色和部门权限
|
290
|
+
if (step && step.properties && step.properties.chargePerson) {
|
291
|
+
if (step.properties.chargePerson.personList && step.properties.chargePerson.personList.length > 0) {
|
292
|
+
// 使用some方法判断当前人员是否满足任一条件
|
293
|
+
return step.properties.chargePerson.personList.some(item => {
|
294
|
+
if (item.type === 'role') {
|
295
|
+
// 检查rolestr是否存在并包含指定角色
|
296
|
+
return this.currUser.rolestr && this.currUser.rolestr.split(',').includes(item.name)
|
297
|
+
}
|
298
|
+
if (item.type === 'department') {
|
299
|
+
// 检查parentname是否存在并包含指定部门
|
300
|
+
return this.currUser.parentname && this.currUser.parentname.includes(item.name)
|
301
|
+
}
|
302
|
+
return false
|
303
|
+
})
|
304
|
+
}
|
305
|
+
}
|
306
|
+
|
307
|
+
// 检查handler是否包含当前用户
|
308
|
+
if (step && step.handler) {
|
309
|
+
return step.handler.includes(this.currUser.name)
|
287
310
|
}
|
288
311
|
}
|
289
312
|
return false
|
@@ -476,6 +499,8 @@ export default {
|
|
476
499
|
.then(res => {
|
477
500
|
res.state = this.stepsForChild[res.id - 1].name
|
478
501
|
this.currentStepId = res.id
|
502
|
+
// 获取到当前步骤后复制下一步时间
|
503
|
+
this.deadline = this.getDefaultDeadline(this.stepsForChild[this.currentStepId - 1].properties?.otherProperty?.nextNodeInterval)
|
479
504
|
this.currentStep = res
|
480
505
|
this.getDirection()
|
481
506
|
}, err => {
|
@@ -686,6 +711,7 @@ export default {
|
|
686
711
|
this.showForm = true
|
687
712
|
this.$nextTick(() => {
|
688
713
|
this.$refs.xAddForm && this.$refs.xAddForm.init({
|
714
|
+
...properties.form,
|
689
715
|
businessType: '修改',
|
690
716
|
formItems: this.stepDefine,
|
691
717
|
layout: properties.form.xAddFormLayout,
|
@@ -735,6 +761,15 @@ export default {
|
|
735
761
|
}
|
736
762
|
}
|
737
763
|
},
|
764
|
+
// 获取表单字段实际值
|
765
|
+
getRealKey (key, isHandleFormKey) {
|
766
|
+
if (key === 'selected_id') return key
|
767
|
+
if (isHandleFormKey) {
|
768
|
+
return key.substring(key.indexOf('_') + 1)
|
769
|
+
} else {
|
770
|
+
return key
|
771
|
+
}
|
772
|
+
},
|
738
773
|
// 加载完成
|
739
774
|
resolveStep () {
|
740
775
|
// 获取当前步骤的按钮组配置
|
@@ -750,6 +785,7 @@ export default {
|
|
750
785
|
async activeStep (stepId) {
|
751
786
|
// 开启加载
|
752
787
|
this.loadingHistory = true
|
788
|
+
this.activeStepId = stepId
|
753
789
|
// 获取激活节点的步骤名
|
754
790
|
this.activeStepName = this.getStepNameByStepId(stepId)
|
755
791
|
// 清空回显数据
|
@@ -764,10 +800,13 @@ export default {
|
|
764
800
|
formCompletedDataPreview = JSON.parse(JSON.stringify(this.formCompletedData))
|
765
801
|
// 使用字段定义中内容,将回显数据的列名,替换为定义的中文名
|
766
802
|
const formData = formCompletedDataPreview.data
|
803
|
+
const isKeyHandle = this.stepsDefine[stepId - 1]?.properties?.form?.isKeyHandle || false
|
767
804
|
for (const key in formData) {
|
768
805
|
for (let i = 0; i < this.targetStepDefine.length; i++) {
|
769
806
|
const stepDefine = this.targetStepDefine[i]
|
770
|
-
|
807
|
+
// 兼容下旧代码,这里是否处理key根据表单配置中的isKeyHandle来决定,也有另一种情况如果处理完的key在表单中已经重复会将未处理的key直接存进去(新增表单的逻辑)
|
808
|
+
// 所以两种都判断下命中任意一个都算
|
809
|
+
if (key === this.getRealKey(stepDefine.model, isKeyHandle) || key === stepDefine.model) {
|
771
810
|
if (!['FilesId', 'Images'].includes(key)) {
|
772
811
|
// 读取字典值
|
773
812
|
if (stepDefine.formType === 'select' && stepDefine.selectType === 'key') {
|
@@ -840,7 +879,7 @@ export default {
|
|
840
879
|
// return false
|
841
880
|
// }
|
842
881
|
const stepHandler = this.getStepHandler()
|
843
|
-
if (!
|
882
|
+
if (this.needSelectPerson && !this.checkedChargePerson) {
|
844
883
|
this.$message.error('请设置下一环节处理人')
|
845
884
|
return false
|
846
885
|
}
|
@@ -898,9 +937,9 @@ export default {
|
|
898
937
|
})
|
899
938
|
},
|
900
939
|
// 获取默认截止时间
|
901
|
-
getDefaultDeadline () {
|
940
|
+
getDefaultDeadline (day = 1) {
|
902
941
|
const date = new Date()
|
903
|
-
date.setDate(date.getDate() +
|
942
|
+
date.setDate(date.getDate() + day)
|
904
943
|
date.setHours(date.getHours() + 2)
|
905
944
|
return formatDate(date, 'yyyy-MM-dd hh:mm')
|
906
945
|
},
|
@@ -979,7 +1018,7 @@ export default {
|
|
979
1018
|
if (personItem.type === 'role') {
|
980
1019
|
// 根据角色获取人员
|
981
1020
|
filteredUsers = allUser.filter(user =>
|
982
|
-
user.rolestr && user.rolestr.includes(personItem.name)
|
1021
|
+
user.rolestr && user.rolestr.split(',').includes(personItem.name)
|
983
1022
|
).map(user => {
|
984
1023
|
return { label: user.label, value: user.value }
|
985
1024
|
})
|
@@ -1,24 +1,24 @@
|
|
1
|
-
<template>
|
2
|
-
<!-- 测试界面——测试地址选择新增组件-->
|
3
|
-
<div>
|
4
|
-
<a-button @click="open">打开选择地址弹窗</a-button>
|
5
|
-
<address-select :addressShow="showDialog"/>
|
6
|
-
</div>
|
7
|
-
</template>
|
8
|
-
|
9
|
-
<script>
|
10
|
-
import AddressSelect from '@/pages/addressSelect'
|
11
|
-
|
12
|
-
export default {
|
13
|
-
components: { AddressSelect },
|
14
|
-
data: () => ({
|
15
|
-
showDialog: false
|
16
|
-
}),
|
17
|
-
methods: {
|
18
|
-
open () {
|
19
|
-
console.log('打开选择地址弹窗')
|
20
|
-
this.showDialog = true
|
21
|
-
}
|
22
|
-
}
|
23
|
-
}
|
24
|
-
</script>
|
1
|
+
<template>
|
2
|
+
<!-- 测试界面——测试地址选择新增组件-->
|
3
|
+
<div>
|
4
|
+
<a-button @click="open">打开选择地址弹窗</a-button>
|
5
|
+
<address-select :addressShow="showDialog"/>
|
6
|
+
</div>
|
7
|
+
</template>
|
8
|
+
|
9
|
+
<script>
|
10
|
+
import AddressSelect from '@/pages/addressSelect'
|
11
|
+
|
12
|
+
export default {
|
13
|
+
components: { AddressSelect },
|
14
|
+
data: () => ({
|
15
|
+
showDialog: false
|
16
|
+
}),
|
17
|
+
methods: {
|
18
|
+
open () {
|
19
|
+
console.log('打开选择地址弹窗')
|
20
|
+
this.showDialog = true
|
21
|
+
}
|
22
|
+
}
|
23
|
+
}
|
24
|
+
</script>
|