vue2-client 1.16.44 → 1.16.45
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/package.json +112 -112
- package/src/base-client/components/common/HIS/HFormGroup/HFormGroup.vue +120 -120
- package/src/base-client/components/common/HIS/HFormGroup/index.js +3 -3
- package/src/base-client/components/common/HIS/demo.vue +61 -61
- package/src/base-client/components/common/Upload/Upload.vue +1 -0
- package/src/base-client/components/common/XCollapse/XCollapse.vue +460 -460
- package/src/base-client/components/common/XReportGrid/XReportTrGroup.vue +824 -824
- package/src/base-client/components/his/XHDescriptions/XHDescriptions.vue +620 -620
- package/src/base-client/components/his/XHisEditor/XHisEditor.vue +705 -705
- package/src/base-client/components/his/threeTestOrders/editor.vue +113 -113
- package/src/pages/WorkflowDetail/WorkFlowDemo3.vue +225 -203
- package/src/pages/userInfoDetailManage/ExceptionRecordQuery/index.vue +45 -45
- package/src/router/async/router.map.js +129 -129
@@ -1,113 +1,113 @@
|
|
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
|
-
// 关闭文书工具栏
|
91
|
-
iframe.contentWindow.editor.option.toolbar = false
|
92
|
-
startEditorCheck(frameWindow, iframe)
|
93
|
-
}
|
94
|
-
// 组件销毁前清理
|
95
|
-
onBeforeUnmount(() => {
|
96
|
-
if (checkEditorTimer.value) {
|
97
|
-
clearInterval(checkEditorTimer.value)
|
98
|
-
}
|
99
|
-
})
|
100
|
-
// 暴露方法给父组件
|
101
|
-
defineExpose({ getEditor, createVitalSigns })
|
102
|
-
|
103
|
-
// 定义事件
|
104
|
-
const emit = defineEmits(['editor-ready', 'load'])
|
105
|
-
</script>
|
106
|
-
|
107
|
-
<style scoped>
|
108
|
-
iframe {
|
109
|
-
border: none;
|
110
|
-
width: 100%;
|
111
|
-
min-height: 800px;
|
112
|
-
}
|
113
|
-
</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
|
+
// 关闭文书工具栏
|
91
|
+
iframe.contentWindow.editor.option.toolbar = false
|
92
|
+
startEditorCheck(frameWindow, iframe)
|
93
|
+
}
|
94
|
+
// 组件销毁前清理
|
95
|
+
onBeforeUnmount(() => {
|
96
|
+
if (checkEditorTimer.value) {
|
97
|
+
clearInterval(checkEditorTimer.value)
|
98
|
+
}
|
99
|
+
})
|
100
|
+
// 暴露方法给父组件
|
101
|
+
defineExpose({ getEditor, createVitalSigns })
|
102
|
+
|
103
|
+
// 定义事件
|
104
|
+
const emit = defineEmits(['editor-ready', 'load'])
|
105
|
+
</script>
|
106
|
+
|
107
|
+
<style scoped>
|
108
|
+
iframe {
|
109
|
+
border: none;
|
110
|
+
width: 100%;
|
111
|
+
min-height: 800px;
|
112
|
+
}
|
113
|
+
</style>
|
@@ -1,203 +1,225 @@
|
|
1
|
-
<template>
|
2
|
-
<div id="beingProcessed">
|
3
|
-
<x-form-table
|
4
|
-
title="我的工单"
|
5
|
-
ref="xFormTable"
|
6
|
-
:queryParamsName="queryParamsName"
|
7
|
-
:fixed-query-form="{
|
8
|
-
users_f_handler_id: currUser.id,
|
9
|
-
}"
|
10
|
-
@action="toDetail">
|
11
|
-
<template #leftButton>
|
12
|
-
<a-button @click="addApply">
|
13
|
-
<a-icon type="plus"/>
|
14
|
-
发起报建
|
15
|
-
</a-button>
|
16
|
-
</template>
|
17
|
-
</x-form-table>
|
18
|
-
<a-modal
|
19
|
-
v-model="applyAddFlag"
|
20
|
-
:footer="null"
|
21
|
-
:dialog-style="{ top: '5rem' }"
|
22
|
-
:z-index="1001"
|
23
|
-
title="发起报建"
|
24
|
-
:destroyOnClose="true">
|
25
|
-
<x-add-native-form ref="xForm" @onSubmit="applySubmit"/>
|
26
|
-
</a-modal>
|
27
|
-
<WorkflowDetail
|
28
|
-
ref="workFlow"
|
29
|
-
@success="success"
|
30
|
-
@nextClick="nextClick"
|
31
|
-
@x-form-item-emit-func="handleFormItemEvent"
|
32
|
-
>
|
33
|
-
</WorkflowDetail>
|
34
|
-
<!-- 地址选择器 -->
|
35
|
-
<address-select ref="addressSelect" @setAddress="setForm"></address-select>
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
},
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
this.$refs.
|
151
|
-
},
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
}
|
166
|
-
|
167
|
-
},
|
168
|
-
//
|
169
|
-
|
170
|
-
this.$refs.
|
171
|
-
},
|
172
|
-
//
|
173
|
-
|
174
|
-
this.$refs.
|
175
|
-
},
|
176
|
-
//
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
},
|
188
|
-
//
|
189
|
-
|
190
|
-
this.$refs.
|
191
|
-
},
|
192
|
-
//
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
1
|
+
<template>
|
2
|
+
<div id="beingProcessed">
|
3
|
+
<x-form-table
|
4
|
+
title="我的工单"
|
5
|
+
ref="xFormTable"
|
6
|
+
:queryParamsName="queryParamsName"
|
7
|
+
:fixed-query-form="{
|
8
|
+
users_f_handler_id: currUser.id,
|
9
|
+
}"
|
10
|
+
@action="toDetail">
|
11
|
+
<template #leftButton>
|
12
|
+
<a-button @click="addApply">
|
13
|
+
<a-icon type="plus"/>
|
14
|
+
发起报建
|
15
|
+
</a-button>
|
16
|
+
</template>
|
17
|
+
</x-form-table>
|
18
|
+
<a-modal
|
19
|
+
v-model="applyAddFlag"
|
20
|
+
:footer="null"
|
21
|
+
:dialog-style="{ top: '5rem' }"
|
22
|
+
:z-index="1001"
|
23
|
+
title="发起报建"
|
24
|
+
:destroyOnClose="true">
|
25
|
+
<x-add-native-form ref="xForm" @onSubmit="applySubmit"/>
|
26
|
+
</a-modal>
|
27
|
+
<WorkflowDetail
|
28
|
+
ref="workFlow"
|
29
|
+
@success="success"
|
30
|
+
@nextClick="nextClick"
|
31
|
+
@x-form-item-emit-func="handleFormItemEvent"
|
32
|
+
>
|
33
|
+
</WorkflowDetail>
|
34
|
+
<!-- 地址选择器 -->
|
35
|
+
<address-select ref="addressSelect" @setAddress="setForm"></address-select>
|
36
|
+
<!-- 协议新增功能 -->
|
37
|
+
<add-contract
|
38
|
+
ref="addContract"
|
39
|
+
table="报建流程"
|
40
|
+
@upFormData="upFormData"
|
41
|
+
></add-contract>
|
42
|
+
<!-- 协议作废功能 -->
|
43
|
+
<cancel-contract ref="cancelContract"></cancel-contract>
|
44
|
+
<!-- 增值收费新增 -->
|
45
|
+
<add-charge ref="addCharge"></add-charge>
|
46
|
+
<!-- 新增/编辑 用户信息 -->
|
47
|
+
<add-user ref="addUser"></add-user>
|
48
|
+
<!-- 新增 收费信息 -->
|
49
|
+
<add-apply-charge ref="addApplyCharge"></add-apply-charge>
|
50
|
+
<!-- 增值收费撤销 -->
|
51
|
+
<cancel ref="cancel"></cancel>
|
52
|
+
<!-- 增值收费批量撤销 -->
|
53
|
+
<batch-refund ref="batchRefund"></batch-refund>
|
54
|
+
</div>
|
55
|
+
</template>
|
56
|
+
|
57
|
+
<script>
|
58
|
+
import WorkflowDetail from '@vue2-client/pages/WorkflowDetail/WorkflowDetail.vue'
|
59
|
+
import XFormTable from '@vue2-client/base-client/components/common/XFormTable/XFormTable'
|
60
|
+
import XAddNativeForm from '@vue2-client/base-client/components/common/XAddNativeForm/XAddNativeForm.vue'
|
61
|
+
import { getConfigByName, runLogic } from '@vue2-client/services/api/common'
|
62
|
+
import { mapState } from 'vuex'
|
63
|
+
import AddressSelect from '@vue2-client/pages/addressSelect/index.vue'
|
64
|
+
import XFormGroup from '@vue2-client/base-client/components/common/XFormGroup'
|
65
|
+
|
66
|
+
export default {
|
67
|
+
name: 'Apply',
|
68
|
+
components: {
|
69
|
+
XFormTable,
|
70
|
+
XAddNativeForm,
|
71
|
+
WorkflowDetail,
|
72
|
+
AddressSelect,
|
73
|
+
XFormGroup,
|
74
|
+
},
|
75
|
+
// 透传给子组件的方法(目前XFormTable接了)
|
76
|
+
provide () {
|
77
|
+
return {
|
78
|
+
generalFunction: {
|
79
|
+
setCancel: this.setCancel,
|
80
|
+
chargeAdd: this.chargeAdd,
|
81
|
+
addUser: this.addUser,
|
82
|
+
editUser: this.editUser,
|
83
|
+
addContract: this.addContract,
|
84
|
+
addcharge: this.addcharge,
|
85
|
+
updateFormData: this.updateFormData,
|
86
|
+
chargeCancel: this.chargeCancel,
|
87
|
+
chargeBatchRefund: this.chargeBatchRefund,
|
88
|
+
updateContractFormData: this.updateContractFormData,
|
89
|
+
}
|
90
|
+
}
|
91
|
+
},
|
92
|
+
data () {
|
93
|
+
return {
|
94
|
+
// 查询配置文件名
|
95
|
+
queryParamsName: 'ApplyProcessCRUD',
|
96
|
+
// 发起报建弹框控制
|
97
|
+
applyAddFlag: false,
|
98
|
+
// 提交加载动画
|
99
|
+
confirmLoading: false,
|
100
|
+
refreshFn: null,
|
101
|
+
chargeVisible: false
|
102
|
+
}
|
103
|
+
},
|
104
|
+
computed: {
|
105
|
+
...mapState('account', { currUser: 'user' }),
|
106
|
+
},
|
107
|
+
methods: {
|
108
|
+
addApply () {
|
109
|
+
console.log('打开了吗')
|
110
|
+
this.applyAddFlag = true
|
111
|
+
this.$nextTick(
|
112
|
+
() => {
|
113
|
+
getConfigByName('addApplyForm', 'af-apply', (res) => {
|
114
|
+
this.$refs.xForm.init({
|
115
|
+
businessType: '新增',
|
116
|
+
title: '发起报建',
|
117
|
+
...res
|
118
|
+
})
|
119
|
+
})
|
120
|
+
}
|
121
|
+
)
|
122
|
+
},
|
123
|
+
applySubmit (formData) {
|
124
|
+
runLogic('addApply', formData).then(
|
125
|
+
res => {
|
126
|
+
this.$message.success('发起报建成功')
|
127
|
+
this.$refs.xFormTable.refreshTable(true)
|
128
|
+
this.applyAddFlag = false
|
129
|
+
}
|
130
|
+
).catch(() => {
|
131
|
+
this.applyAddFlag = false
|
132
|
+
})
|
133
|
+
},
|
134
|
+
success () {
|
135
|
+
console.log('完工')
|
136
|
+
},
|
137
|
+
toDetail (record, id) {
|
138
|
+
this.$refs.workFlow.init({
|
139
|
+
workflowId: record.ab_f_workflow_id,
|
140
|
+
stepId: record.ws_f_step_id
|
141
|
+
})
|
142
|
+
},
|
143
|
+
handleFormItemEvent (func, data, value) {
|
144
|
+
console.log('打印一下:', func, data, value)
|
145
|
+
if (func === 'selectAddress') {
|
146
|
+
this.$refs.addressSelect.setFormShow()
|
147
|
+
}
|
148
|
+
},
|
149
|
+
setForm (record) {
|
150
|
+
this.$refs.workFlow.setFormValue({ address: record.f_address, address_id: record.f_address_id })
|
151
|
+
},
|
152
|
+
nextClick ({ form, formStep, workflowId }) {
|
153
|
+
console.log('success', form, formStep, workflowId)
|
154
|
+
// const data = {
|
155
|
+
// workflowId,
|
156
|
+
// form,
|
157
|
+
// formStep
|
158
|
+
// }
|
159
|
+
// runLogic('applySubmitAfter', data, 'af-apply').then(
|
160
|
+
// res => {
|
161
|
+
// if (res) {
|
162
|
+
// // this.$message.success('提交成功!')
|
163
|
+
// this.$refs.xFormTable.refreshTable(true)
|
164
|
+
// }
|
165
|
+
// }
|
166
|
+
// )
|
167
|
+
},
|
168
|
+
// 协议作废
|
169
|
+
setCancel (record, refreshFn) {
|
170
|
+
this.$refs.cancelContract.setCancel(record, refreshFn)
|
171
|
+
},
|
172
|
+
// 增值收费新增
|
173
|
+
chargeAdd (refreshFn) {
|
174
|
+
this.$refs.addCharge.chargeAdd(this.$refs.workFlow.workflowId, refreshFn)
|
175
|
+
},
|
176
|
+
// 协议新增
|
177
|
+
addContract (refreshFn) {
|
178
|
+
this.$refs.addContract.addContract(this.$refs.workFlow.workflowId, refreshFn)
|
179
|
+
},
|
180
|
+
// 新增用户
|
181
|
+
addUser (refreshFn) {
|
182
|
+
if (this.$refs.workFlow.$refs.baseInformation.details.f_workflow_define_name != '团购报建流程') {
|
183
|
+
this.$message.success('只有团购报建流程才可以新增用户信息!')
|
184
|
+
return
|
185
|
+
}
|
186
|
+
this.$refs.addUser.addUser(this.$refs.workFlow.workflowId, refreshFn)
|
187
|
+
},
|
188
|
+
// 编辑用户
|
189
|
+
editUser (record, refreshFn, showForm) {
|
190
|
+
this.$refs.addUser.editUser(record, refreshFn, showForm)
|
191
|
+
},
|
192
|
+
// 新增收费
|
193
|
+
addcharge (refreshFn) {
|
194
|
+
this.$refs.addApplyCharge.addcharge(this.$refs.workFlow.workflowId, refreshFn)
|
195
|
+
},
|
196
|
+
// 报装缴费页面初始化
|
197
|
+
updateFormData (workflowId) {
|
198
|
+
runLogic('getApplyBusinessrecode', { f_workflow_id: workflowId }, 'af-apply').then((res) => {
|
199
|
+
this.$refs.workFlow.$refs.workflowHandle.$refs.xAddForm.setForm(res)
|
200
|
+
})
|
201
|
+
},
|
202
|
+
// 合同签订页面初始化
|
203
|
+
updateContractFormData (param) {
|
204
|
+
this.$refs.workFlow.$refs.workflowHandle.$refs.xAddForm.setForm(param)
|
205
|
+
},
|
206
|
+
// 补充协议回更表单数据
|
207
|
+
upFormData (record) {
|
208
|
+
this.$refs.workFlow.$refs.workflowHandle.$refs.xAddForm.setForm(record)
|
209
|
+
},
|
210
|
+
// 增值收费单个数据的撤销功能
|
211
|
+
chargeCancel (record, refreshFn) {
|
212
|
+
this.$refs.cancel.chargeCancel(record, refreshFn)
|
213
|
+
},
|
214
|
+
// 批量撤销(退费)
|
215
|
+
chargeBatchRefund (selectedRowKeys, selectedRows, refreshFn) {
|
216
|
+
if (selectedRowKeys.length === 0 || selectedRows.length === 0) {
|
217
|
+
this.$message.warn('请选择要退费的记录', 5)
|
218
|
+
return
|
219
|
+
}
|
220
|
+
const workflowId = this.$refs.workFlow.workflowId
|
221
|
+
this.$refs.batchRefund.selectRow(selectedRowKeys, selectedRows, refreshFn, workflowId)
|
222
|
+
}
|
223
|
+
}
|
224
|
+
}
|
225
|
+
</script>
|