vue2-client 1.16.49 → 1.16.51
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/assets/svg/female.svg +1 -0
- package/src/assets/svg/male.svg +1 -0
- package/src/base-client/components/common/HIS/HButtons/HButtons.vue +371 -371
- 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/HFormTable/HFormTable.vue +379 -257
- package/src/base-client/components/common/HIS/demo.vue +61 -61
- package/src/base-client/components/common/XCollapse/XCollapse.vue +461 -461
- package/src/base-client/components/common/XInput/XInput.vue +147 -147
- package/src/base-client/components/common/XReportGrid/XReportTrGroup.vue +824 -824
- package/src/base-client/components/common/XTable/XTable.vue +1610 -1610
- package/src/base-client/components/common/XTimeline/XTimeline.vue +454 -454
- package/src/base-client/components/his/XHisEditor/XHisEditor.vue +705 -705
- package/src/base-client/components/his/XList/XList.vue +829 -607
- package/src/base-client/components/his/threeTestOrders/editor.vue +113 -113
- package/src/pages/WorkflowDetail/WorkFlowDemo3.vue +203 -225
- package/src/pages/userInfoDetailManage/ExceptionRecordQuery/index.vue +45 -45
- package/src/router/async/router.map.js +129 -129
- package/src/services/api/common.js +0 -2
- package/.history/src/base-client/components/common/XDataCard/XDataCard_20250926145434.vue +0 -641
- package/.history/src/base-client/components/common/XDataCard/XDataCard_20250926145453.vue +0 -641
- package/.history/src/base-client/components/common/XDataCard/XDataCard_20250926145610.vue +0 -647
- package/.history/src/base-client/components/common/XDataCard/XDataCard_20250926145629.vue +0 -647
- package/.history/src/base-client/components/common/XDataCard/XDataCard_20250926145901.vue +0 -645
- package/.history/src/base-client/components/common/XDataCard/XDataCard_20250926145907.vue +0 -651
- package/.history/src/base-client/components/common/XDataCard/XDataCard_20250926145920.vue +0 -651
- package/.history/src/base-client/components/common/XDataCard/XDataCard_20250926150047.vue +0 -651
- package/.history/src/base-client/components/common/XDataCard/XDataCard_20250926151820.vue +0 -646
- package/.history/src/base-client/components/common/XDataCard/XDataCard_20250926151827.vue +0 -646
- package/.history/src/base-client/components/common/XDataCard/XDataCard_20250926152115.vue +0 -646
- package/.history/src/base-client/components/common/XDataCard/XDataCard_20250926152212.vue +0 -653
- package/.history/src/base-client/components/common/XDataCard/XDataCard_20250926152215.vue +0 -653
- package/.history/src/base-client/components/common/XDataCard/XDataCard_20250926152337.vue +0 -657
- package/.history/src/base-client/components/common/XDataCard/XDataCard_20250926152341.vue +0 -657
- package/.history/src/base-client/components/common/XDataCard/XDataCard_20250926152826.vue +0 -657
- package/.history/src/base-client/components/common/XDataCard/XDataCard_20250926152828.vue +0 -646
- package/.history/src/base-client/components/common/XDataCard/XDataCard_20250926153121.vue +0 -654
- package/.history/src/base-client/components/common/XDataCard/XDataCard_20250926153242.vue +0 -654
- package/.history/src/base-client/components/common/XDataCard/XDataCard_20250926153318.vue +0 -646
- package/.history/src/base-client/components/common/XDataCard/XDataCard_20250926153415.vue +0 -646
- package/.history/src/base-client/components/common/XDataCard/XDataCard_20250926153435.vue +0 -655
- package/.history/src/base-client/components/common/XDataCard/XDataCard_20250926153606.vue +0 -655
- package/.history/src/base-client/components/common/XDataCard/XDataCard_20250926153653.vue +0 -655
- package/src/base-client/components/common/XDataCard/test.vue +0 -367
@@ -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,225 +1,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
|
-
|
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
|
-
this.$refs.
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
if (this.$refs.workFlow.$refs.baseInformation.details.
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
},
|
188
|
-
//
|
189
|
-
|
190
|
-
this.$refs.
|
191
|
-
},
|
192
|
-
//
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
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>
|
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
|
+
</div>
|
37
|
+
</template>
|
38
|
+
|
39
|
+
<script>
|
40
|
+
import WorkflowDetail from '@vue2-client/pages/WorkflowDetail/WorkflowDetail.vue'
|
41
|
+
import XFormTable from '@vue2-client/base-client/components/common/XFormTable/XFormTable'
|
42
|
+
import XAddNativeForm from '@vue2-client/base-client/components/common/XAddNativeForm/XAddNativeForm.vue'
|
43
|
+
import { getConfigByName, runLogic } from '@vue2-client/services/api/common'
|
44
|
+
import { mapState } from 'vuex'
|
45
|
+
import AddressSelect from '@vue2-client/pages/addressSelect/index.vue'
|
46
|
+
import XFormGroup from '@vue2-client/base-client/components/common/XFormGroup'
|
47
|
+
|
48
|
+
export default {
|
49
|
+
name: 'Apply',
|
50
|
+
components: {
|
51
|
+
XFormTable,
|
52
|
+
XAddNativeForm,
|
53
|
+
WorkflowDetail,
|
54
|
+
AddressSelect,
|
55
|
+
XFormGroup,
|
56
|
+
},
|
57
|
+
// 透传给子组件的方法(目前XFormTable接了)
|
58
|
+
provide () {
|
59
|
+
return {
|
60
|
+
generalFunction: {
|
61
|
+
setCancel: this.setCancel,
|
62
|
+
chargeAdd: this.chargeAdd,
|
63
|
+
addUser: this.addUser,
|
64
|
+
editUser: this.editUser,
|
65
|
+
addContract: this.addContract,
|
66
|
+
addcharge: this.addcharge,
|
67
|
+
updateFormData: this.updateFormData,
|
68
|
+
chargeCancel: this.chargeCancel,
|
69
|
+
chargeBatchRefund: this.chargeBatchRefund,
|
70
|
+
}
|
71
|
+
}
|
72
|
+
},
|
73
|
+
data () {
|
74
|
+
return {
|
75
|
+
// 查询配置文件名
|
76
|
+
queryParamsName: 'ApplyProcessCRUD',
|
77
|
+
// 发起报建弹框控制
|
78
|
+
applyAddFlag: false,
|
79
|
+
// 提交加载动画
|
80
|
+
confirmLoading: false,
|
81
|
+
refreshFn: null,
|
82
|
+
chargeVisible: false
|
83
|
+
}
|
84
|
+
},
|
85
|
+
computed: {
|
86
|
+
...mapState('account', { currUser: 'user' }),
|
87
|
+
},
|
88
|
+
methods: {
|
89
|
+
addApply () {
|
90
|
+
console.log('打开了吗')
|
91
|
+
this.applyAddFlag = true
|
92
|
+
this.$nextTick(
|
93
|
+
() => {
|
94
|
+
getConfigByName('addApplyForm', 'af-apply', (res) => {
|
95
|
+
this.$refs.xForm.init({
|
96
|
+
businessType: '新增',
|
97
|
+
title: '发起报建',
|
98
|
+
...res
|
99
|
+
})
|
100
|
+
})
|
101
|
+
}
|
102
|
+
)
|
103
|
+
},
|
104
|
+
applySubmit (formData) {
|
105
|
+
runLogic('addApply', formData).then(
|
106
|
+
res => {
|
107
|
+
this.$message.success('发起报建成功')
|
108
|
+
this.$refs.xFormTable.refreshTable(true)
|
109
|
+
this.applyAddFlag = false
|
110
|
+
}
|
111
|
+
).catch(() => {
|
112
|
+
this.applyAddFlag = false
|
113
|
+
})
|
114
|
+
},
|
115
|
+
success () {
|
116
|
+
console.log('完工')
|
117
|
+
},
|
118
|
+
toDetail (record, id) {
|
119
|
+
this.$refs.workFlow.init({
|
120
|
+
workflowId: record.ab_f_workflow_id
|
121
|
+
})
|
122
|
+
},
|
123
|
+
handleFormItemEvent (func, data, value) {
|
124
|
+
console.log('打印一下:', func, data, value)
|
125
|
+
if (func === 'selectAddress') {
|
126
|
+
this.$refs.addressSelect.setFormShow()
|
127
|
+
}
|
128
|
+
},
|
129
|
+
setForm (record) {
|
130
|
+
this.$refs.workFlow.setFormValue({ address: record.f_address, address_id: record.f_address_id })
|
131
|
+
},
|
132
|
+
nextClick ({ form, formStep, workflowId }) {
|
133
|
+
console.log('success', form, formStep, workflowId)
|
134
|
+
const data = {
|
135
|
+
workflowId,
|
136
|
+
form,
|
137
|
+
formStep
|
138
|
+
}
|
139
|
+
runLogic('applySubmitAfter', data, 'af-apply').then(
|
140
|
+
res => {
|
141
|
+
if (res) {
|
142
|
+
// this.$message.success('提交成功!')
|
143
|
+
this.$refs.xFormTable.refreshTable(true)
|
144
|
+
}
|
145
|
+
}
|
146
|
+
)
|
147
|
+
},
|
148
|
+
// 协议作废
|
149
|
+
setCancel (record, refreshFn) {
|
150
|
+
this.$refs.cancelContract.setCancel(record, refreshFn)
|
151
|
+
},
|
152
|
+
// 增值收费新增
|
153
|
+
chargeAdd (refreshFn) {
|
154
|
+
this.$refs.addCharge.chargeAdd(this.$refs.workFlow.workflowId, refreshFn)
|
155
|
+
},
|
156
|
+
// 协议新增
|
157
|
+
addContract (refreshFn) {
|
158
|
+
this.$refs.addContract.addContract(this.$refs.workFlow.workflowId, refreshFn)
|
159
|
+
},
|
160
|
+
// 新增用户
|
161
|
+
addUser (refreshFn) {
|
162
|
+
if (this.$refs.workFlow.$refs.baseInformation.details.f_workflow_define_name != '团购报建流程') {
|
163
|
+
this.$message.success('只有团购报建流程才可以新增用户信息!')
|
164
|
+
return
|
165
|
+
}
|
166
|
+
this.$refs.addUser.addUser(this.$refs.workFlow.workflowId, refreshFn)
|
167
|
+
},
|
168
|
+
// 编辑用户
|
169
|
+
editUser (record, refreshFn) {
|
170
|
+
this.$refs.addUser.editUser(record, refreshFn)
|
171
|
+
},
|
172
|
+
// 新增收费
|
173
|
+
addcharge (refreshFn) {
|
174
|
+
this.$refs.addApplyCharge.addcharge(this.$refs.workFlow.workflowId, refreshFn)
|
175
|
+
},
|
176
|
+
// 报装缴费页面初始化
|
177
|
+
updateFormData (workflowId) {
|
178
|
+
if (this.$refs.workFlow.$refs.baseInformation.details.f_sub_state == '报装缴费') {
|
179
|
+
runLogic('getApplyBusinessrecode', { f_workflow_id: workflowId }, 'af-apply').then((res) => {
|
180
|
+
this.$refs.workFlow.$refs.workflowHandle.$refs.xAddForm.setForm(res)
|
181
|
+
})
|
182
|
+
} else if (this.$refs.workFlow.$refs.baseInformation.details.f_sub_state == '合同签订') {
|
183
|
+
runLogic('queryAgreementAmount', { workflowId: workflowId }, 'af-apply').then((res) => {
|
184
|
+
this.$refs.workFlow.$refs.workflowHandle.$refs.xAddForm.setForm({ add_amount: res[0].f_contract_money })
|
185
|
+
})
|
186
|
+
}
|
187
|
+
},
|
188
|
+
// 增值收费单个数据的撤销功能
|
189
|
+
chargeCancel (record, refreshFn) {
|
190
|
+
this.$refs.cancel.chargeCancel(record, refreshFn)
|
191
|
+
},
|
192
|
+
// 批量撤销(退费)
|
193
|
+
chargeBatchRefund (selectedRowKeys, selectedRows, refreshFn) {
|
194
|
+
if (selectedRowKeys.length === 0 || selectedRows.length === 0) {
|
195
|
+
this.$message.warn('请选择要退费的记录', 5)
|
196
|
+
return
|
197
|
+
}
|
198
|
+
const workflowId = this.$refs.workFlow.workflowId
|
199
|
+
this.$refs.batchRefund.selectRow(selectedRowKeys, selectedRows, refreshFn, workflowId)
|
200
|
+
}
|
201
|
+
}
|
202
|
+
}
|
203
|
+
</script>
|