vue2-client 1.8.430 → 1.8.432
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/.env.gaslink +19 -0
- package/package.json +2 -1
- package/src/base-client/components/common/XFormGroup/demo.vue +40 -40
- package/src/base-client/components/common/XReport/index.js +3 -3
- package/src/base-client/components/common/XReportGrid/XReport.vue +9 -3
- package/src/base-client/components/common/XReportGrid/XReportDesign.vue +14 -1
- package/src/base-client/components/common/XReportGrid/XReportTrGroup.vue +6 -1
- package/src/pages/DynamicStatistics/FavoriteList.vue +51 -51
- package/src/pages/WorkflowDetail/WorkFlowDemo.vue +21 -0
- package/src/pages/WorkflowDetail/WorkflowDetail.vue +44 -119
- package/src/pages/WorkflowDetail/WorkflowPageDetail/LeaveMessage.vue +28 -104
- package/src/pages/WorkflowDetail/WorkflowPageDetail/{ApplyBaseInformation.vue → WorkFlowBaseInformation.vue} +11 -11
- package/src/pages/WorkflowDetail/WorkflowPageDetail/{ApplyBaseInformationDetails.vue → WorkFlowBaseInformationDetails.vue} +8 -17
- package/src/pages/WorkflowDetail/WorkflowPageDetail/{ApplyHandle.vue → WorkFlowHandle.vue} +62 -416
- package/src/pages/WorkflowDetail/WorkflowPageDetail/{ApplyHandleReso.vue → WorkFlowHandleReso.vue} +37 -232
- package/src/pages/WorkflowDetail/WorkflowPageDetail/{ApplyTimeline.vue → WorkFlowTimeline.vue} +2 -2
- package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkOrderParentDetails.vue +43 -70
- package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowDetailResso.vue +42 -72
- package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkflowListResolution.vue +37 -113
- package/src/pages/WorkflowDetail/WorkflowPageDetail/{ApplyWorkflowLog.vue → WorkflowLog.vue} +6 -6
- package/src/router/async/router.map.js +2 -1
- package/src/services/api/common.js +3 -1
- package/src/services/api/entity.js +18 -18
- package/src/services/api/index.js +2 -2
- package/src/services/api/restTools.js +22 -1
- package/src/services/api/workFlow.js +63 -0
- package/src/utils/waterMark.js +31 -31
- package/vue.config.js +5 -0
- package/src/services/api/applyService/apiApply.js +0 -187
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<!-- 抽屉 -->
|
|
3
3
|
<a-drawer
|
|
4
4
|
:visible="visible"
|
|
5
|
-
|
|
5
|
+
width="85vw"
|
|
6
6
|
:placement="direction"
|
|
7
7
|
title="流程详情"
|
|
8
8
|
@close="onClose"
|
|
@@ -10,44 +10,26 @@
|
|
|
10
10
|
>
|
|
11
11
|
<div>
|
|
12
12
|
<!-- 基础信息 -->
|
|
13
|
-
<
|
|
13
|
+
<workflow-base-information
|
|
14
14
|
v-if="details"
|
|
15
15
|
ref="baseInformation"
|
|
16
|
-
:
|
|
16
|
+
:workflow-id="workflowId"
|
|
17
17
|
:details="details"
|
|
18
18
|
:visible="visible"
|
|
19
19
|
/>
|
|
20
20
|
<div :style="{ height: screenHeight * 0.9 + 'px' }">
|
|
21
21
|
<a-card style="margin-top: 20px">
|
|
22
22
|
<a-tabs :activeKey="activeKey" @change="changeTab">
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
<!-- <a-tab-pane key="1" tab="基础信息">
|
|
26
|
-
<div v-if="activeKey === '1'">
|
|
27
|
-
<apply-statistics :loading="!(details.f_sub_state && steps)" :chart-data="chartData"/>
|
|
28
|
-
<apply-process-view
|
|
29
|
-
:loading="!(details.f_sub_state && steps)"
|
|
30
|
-
>
|
|
31
|
-
<apply-timeline
|
|
32
|
-
:apply-id="applyId"
|
|
33
|
-
:steps="steps"
|
|
34
|
-
:current-step-id="details.f_step_id"
|
|
35
|
-
:state="details.f_state === 1"/>
|
|
36
|
-
</apply-process-view>
|
|
37
|
-
</div>
|
|
38
|
-
</a-tab-pane> -->
|
|
39
|
-
<!-- 第二个标签页,显示流程信息,根据当前节点显示历史记录、填写表单、控制流程按钮 -->
|
|
40
|
-
<a-tab-pane key="2" tab="查看 / 编辑进度">
|
|
41
|
-
<apply-handle
|
|
23
|
+
<a-tab-pane key="1" tab="查看 / 编辑进度">
|
|
24
|
+
<WorkFlowHandle
|
|
42
25
|
v-if="
|
|
43
|
-
activeKey === '
|
|
26
|
+
activeKey === '1' &&
|
|
44
27
|
details.f_state !== undefined &&
|
|
45
28
|
steps !== undefined
|
|
46
29
|
"
|
|
47
|
-
ref="
|
|
48
|
-
:
|
|
49
|
-
:
|
|
50
|
-
:applyState="details.f_state === 1"
|
|
30
|
+
ref="workflowHandle"
|
|
31
|
+
:workflow-id="workflowId"
|
|
32
|
+
:workflowState="details.f_state === 1"
|
|
51
33
|
:complete-time="details.f_complete_time"
|
|
52
34
|
:stepsForChild="steps"
|
|
53
35
|
:visible="visible"
|
|
@@ -56,8 +38,8 @@
|
|
|
56
38
|
@refresh="stepChanged"
|
|
57
39
|
/>
|
|
58
40
|
</a-tab-pane>
|
|
59
|
-
<a-tab-pane key="
|
|
60
|
-
<
|
|
41
|
+
<a-tab-pane key="2" tab="任务流转记录">
|
|
42
|
+
<workflow-log v-if="activeKey === '2'" :workflow-id="workflowId" />
|
|
61
43
|
</a-tab-pane>
|
|
62
44
|
<a-tab-pane key="4">
|
|
63
45
|
<span slot="tab">
|
|
@@ -67,35 +49,14 @@
|
|
|
67
49
|
<a-row>
|
|
68
50
|
<a-col :span="14">
|
|
69
51
|
<leave-message
|
|
52
|
+
:workflowId="this.workflowId"
|
|
70
53
|
:projectName="details.f_task_name"
|
|
71
54
|
:data="messageList"
|
|
72
55
|
:loading="messageLoading"
|
|
73
|
-
:submit-message="submitMessage"
|
|
74
|
-
@refresh="getMessage"
|
|
75
56
|
@success="success"/>
|
|
76
57
|
</a-col>
|
|
77
58
|
</a-row>
|
|
78
59
|
</a-tab-pane>
|
|
79
|
-
<!-- 第三个标签页,显示用户表 -->
|
|
80
|
-
<!-- <a-tab-pane key="3" tab="用户">
|
|
81
|
-
<x-form-table
|
|
82
|
-
v-if="fixedAddForm && activeKey === '3'"
|
|
83
|
-
ref="xFormTableOne"
|
|
84
|
-
:fixed-add-form="fixedAddForm"
|
|
85
|
-
:fixed-query-form="fixedQueryForm"
|
|
86
|
-
queryParamsName="applyCustomerQueryParams"
|
|
87
|
-
/>
|
|
88
|
-
</a-tab-pane> -->
|
|
89
|
-
<!-- 第四个标签页,显示表具表 -->
|
|
90
|
-
<!-- <a-tab-pane key="4" tab="表具">
|
|
91
|
-
<x-form-table
|
|
92
|
-
v-if="fixedAddForm && activeKey === '4'"
|
|
93
|
-
ref="xFormTableTwo"
|
|
94
|
-
:fixed-add-form="fixedAddForm"
|
|
95
|
-
:fixed-query-form="fixedQueryForm"
|
|
96
|
-
queryParamsName="applyMetersQueryParams"
|
|
97
|
-
/>
|
|
98
|
-
</a-tab-pane> -->
|
|
99
60
|
</a-tabs>
|
|
100
61
|
</a-card>
|
|
101
62
|
</div>
|
|
@@ -105,21 +66,21 @@
|
|
|
105
66
|
|
|
106
67
|
<script>
|
|
107
68
|
import { mapState } from 'vuex'
|
|
108
|
-
import
|
|
109
|
-
import
|
|
69
|
+
import workflowBaseInformation from './WorkflowPageDetail/WorkFlowBaseInformation.vue'
|
|
70
|
+
import WorkFlowHandle from './WorkflowPageDetail/WorkFlowHandle.vue'
|
|
110
71
|
import XFormTable from '@vue2-client/base-client/components/common/XFormTable/XFormTable'
|
|
111
|
-
import {
|
|
112
|
-
import {
|
|
113
|
-
import
|
|
72
|
+
import { postByServiceName } from '@/services/api/restTools'
|
|
73
|
+
import { workFlowViewApi } from '@/services/api/workFlow'
|
|
74
|
+
import WorkflowLog from './WorkflowPageDetail/WorkflowLog.vue'
|
|
114
75
|
import LeaveMessage from './WorkflowPageDetail/LeaveMessage'
|
|
115
76
|
|
|
116
77
|
export default {
|
|
117
78
|
name: 'WorkflowDetail',
|
|
118
79
|
components: {
|
|
119
|
-
|
|
120
|
-
|
|
80
|
+
workflowBaseInformation,
|
|
81
|
+
WorkFlowHandle,
|
|
121
82
|
XFormTable,
|
|
122
|
-
|
|
83
|
+
WorkflowLog,
|
|
123
84
|
LeaveMessage
|
|
124
85
|
},
|
|
125
86
|
data () {
|
|
@@ -129,7 +90,7 @@ export default {
|
|
|
129
90
|
// 页面高度
|
|
130
91
|
screenHeight: document.documentElement.clientHeight,
|
|
131
92
|
// 控制当前标签页
|
|
132
|
-
activeKey: '
|
|
93
|
+
activeKey: '1',
|
|
133
94
|
// 保存流程和留言信息
|
|
134
95
|
steps: undefined,
|
|
135
96
|
// 基础信息
|
|
@@ -147,6 +108,9 @@ export default {
|
|
|
147
108
|
// 留言数据
|
|
148
109
|
messageList: [],
|
|
149
110
|
messageLoading: true,
|
|
111
|
+
workflowId: '',
|
|
112
|
+
direction: '',
|
|
113
|
+
visible: false
|
|
150
114
|
}
|
|
151
115
|
},
|
|
152
116
|
computed: {
|
|
@@ -154,47 +118,33 @@ export default {
|
|
|
154
118
|
...mapState('setting', ['isMobile'])
|
|
155
119
|
},
|
|
156
120
|
props: {
|
|
157
|
-
applyId: {
|
|
158
|
-
type: String,
|
|
159
|
-
required: true
|
|
160
|
-
},
|
|
161
|
-
direction: {
|
|
162
|
-
type: String,
|
|
163
|
-
required: false,
|
|
164
|
-
default: ''
|
|
165
|
-
},
|
|
166
|
-
visible: {
|
|
167
|
-
type: Boolean,
|
|
168
|
-
default: false
|
|
169
|
-
}
|
|
170
121
|
},
|
|
171
122
|
mounted () {
|
|
172
|
-
this.init()
|
|
123
|
+
// this.init()
|
|
173
124
|
},
|
|
174
125
|
methods: {
|
|
175
126
|
// 内部组件更新了当前步骤后的回调
|
|
176
127
|
stepChanged () {
|
|
177
128
|
this.loading = true
|
|
178
|
-
this.
|
|
129
|
+
this.reload()
|
|
179
130
|
},
|
|
180
131
|
// 获取所有步骤
|
|
181
132
|
getSteps () {
|
|
182
|
-
return
|
|
183
|
-
|
|
133
|
+
return postByServiceName(workFlowViewApi.getStepNoteAndHandler, {
|
|
134
|
+
workflowId: this.workflowId
|
|
184
135
|
})
|
|
185
136
|
.then(res => {
|
|
186
137
|
this.steps = res
|
|
187
|
-
console.log('所有步骤', this.steps)
|
|
188
138
|
}, err => {
|
|
189
139
|
console.log(err)
|
|
190
140
|
})
|
|
191
141
|
},
|
|
192
142
|
// 关闭抽屉的回调
|
|
193
143
|
onClose () {
|
|
194
|
-
if (this.$refs.
|
|
195
|
-
this.$refs.
|
|
144
|
+
if (this.$refs.workflowHandle !== undefined) {
|
|
145
|
+
this.$refs.workflowHandle.onClose()
|
|
196
146
|
}
|
|
197
|
-
this
|
|
147
|
+
this.visible = false
|
|
198
148
|
this.activeKey = '2'
|
|
199
149
|
this.allStepDown = false
|
|
200
150
|
this.details = {}
|
|
@@ -206,8 +156,8 @@ export default {
|
|
|
206
156
|
// 获取基础信息
|
|
207
157
|
getBaseInfo () {
|
|
208
158
|
this.loading = true
|
|
209
|
-
return
|
|
210
|
-
|
|
159
|
+
return postByServiceName(workFlowViewApi.getWorkFlowBasicInfo, {
|
|
160
|
+
workflowId: this.workflowId
|
|
211
161
|
})
|
|
212
162
|
.then(res => {
|
|
213
163
|
res.f_sub_state = this.steps[res.f_step_id - 1].name
|
|
@@ -220,53 +170,28 @@ export default {
|
|
|
220
170
|
console.log(err)
|
|
221
171
|
})
|
|
222
172
|
},
|
|
223
|
-
|
|
224
|
-
async init () {
|
|
225
|
-
this.getMessage()
|
|
173
|
+
async reload () {
|
|
226
174
|
await this.getSteps()
|
|
227
175
|
await this.getBaseInfo()
|
|
228
|
-
this.fixedQueryForm.
|
|
229
|
-
this.fixedAddForm.
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
176
|
+
this.fixedQueryForm.a_f_workflow_id = this.workflowId
|
|
177
|
+
this.fixedAddForm.a_f_workflow_id = this.workflowId
|
|
178
|
+
},
|
|
179
|
+
// 初始化两张固定表
|
|
180
|
+
async init ({ workflowId, direction, visible = true }) {
|
|
181
|
+
this.workflowId = workflowId
|
|
182
|
+
this.direction = direction
|
|
183
|
+
this.visible = visible
|
|
184
|
+
await this.reload()
|
|
236
185
|
},
|
|
237
186
|
// 切换标签页
|
|
238
187
|
changeTab (id) {
|
|
239
188
|
this.activeKey = id
|
|
240
189
|
},
|
|
241
|
-
// 获取留言
|
|
242
|
-
getMessage () {
|
|
243
|
-
console.log('数据', this.details)
|
|
244
|
-
console.log('流程', this.steps)
|
|
245
|
-
this.messageLoading = true
|
|
246
|
-
post(applyDetailViewApi.getApplyLeaveMessage, {
|
|
247
|
-
applyId: this.applyId
|
|
248
|
-
}).then(res => {
|
|
249
|
-
this.messageList = res
|
|
250
|
-
this.messageLoading = false
|
|
251
|
-
})
|
|
252
|
-
},
|
|
253
|
-
// 提交留言
|
|
254
|
-
submitMessage (data) {
|
|
255
|
-
data.f_apply_id = this.applyId
|
|
256
|
-
return post('/api/af-apply/entity/save/t_apply_leave_message', data)
|
|
257
|
-
},
|
|
258
190
|
// 提交完成后事件
|
|
259
191
|
success () {
|
|
260
192
|
this.$emit('success')
|
|
261
193
|
}
|
|
262
|
-
}
|
|
263
|
-
watch: {
|
|
264
|
-
visible (newVal) {
|
|
265
|
-
if (newVal) {
|
|
266
|
-
this.init()
|
|
267
|
-
}
|
|
268
|
-
},
|
|
269
|
-
},
|
|
194
|
+
}
|
|
270
195
|
}
|
|
271
196
|
</script>
|
|
272
197
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<a-spin size="large" :spinning="
|
|
2
|
+
<a-spin size="large" :spinning="messageLoading">
|
|
3
3
|
<a-comment>
|
|
4
4
|
<a-avatar slot="avatar" size="large" style="background:#6877ee">{{ user.name.substr(0, 1) }}</a-avatar>
|
|
5
5
|
<div slot="content">
|
|
@@ -7,27 +7,13 @@
|
|
|
7
7
|
<a-space>
|
|
8
8
|
<a-button type="primary" :loading="submitting" :disabled="messageText.trim() === ''" @click="onSubmit">提交
|
|
9
9
|
</a-button>
|
|
10
|
-
<!-- <a-button
|
|
11
|
-
type="primary"
|
|
12
|
-
:loading="submittingWeChat"
|
|
13
|
-
:disabled="messageText.trim() === ''"
|
|
14
|
-
@click="onWeChatSubmit">提交并微信推送
|
|
15
|
-
</a-button>
|
|
16
|
-
<a-select
|
|
17
|
-
v-model="checkedChargePerson"
|
|
18
|
-
placeholder="请选择或搜索"
|
|
19
|
-
:options="chargePersonOptions"
|
|
20
|
-
:disabled="messageText.trim() === ''"
|
|
21
|
-
show-search
|
|
22
|
-
style="width: 195px"
|
|
23
|
-
/>-->
|
|
24
10
|
</a-space>
|
|
25
11
|
</div>
|
|
26
12
|
</a-comment>
|
|
27
|
-
<a-empty v-if="!
|
|
13
|
+
<a-empty v-if="!messageList.length"/>
|
|
28
14
|
<div class="comment">
|
|
29
15
|
<a-comment
|
|
30
|
-
v-for="message in
|
|
16
|
+
v-for="message in messageList"
|
|
31
17
|
:key="message.id"
|
|
32
18
|
:author="message.f_created_by"
|
|
33
19
|
:content="message.f_content"
|
|
@@ -46,32 +32,24 @@
|
|
|
46
32
|
<script>
|
|
47
33
|
import { formatDate } from '@vue2-client/utils/util'
|
|
48
34
|
import { mapState } from 'vuex'
|
|
49
|
-
import {
|
|
50
|
-
import {
|
|
51
|
-
|
|
35
|
+
import { postByServiceName } from '@vue2-client/services/api/restTools'
|
|
36
|
+
import { workFlowViewApi } from '@/services/api/workFlow'
|
|
52
37
|
|
|
53
38
|
export default {
|
|
54
39
|
name: 'LeaveMessage',
|
|
55
40
|
props: {
|
|
56
|
-
|
|
57
|
-
type:
|
|
58
|
-
required: true
|
|
59
|
-
},
|
|
60
|
-
loading: {
|
|
61
|
-
type: Boolean,
|
|
62
|
-
required: false
|
|
63
|
-
},
|
|
64
|
-
submitMessage: {
|
|
65
|
-
type: Function,
|
|
41
|
+
projectName: {
|
|
42
|
+
type: String,
|
|
66
43
|
required: true
|
|
67
44
|
},
|
|
68
|
-
|
|
45
|
+
workflowId: {
|
|
69
46
|
type: String,
|
|
70
47
|
required: true
|
|
71
48
|
},
|
|
72
49
|
},
|
|
73
50
|
data () {
|
|
74
51
|
return {
|
|
52
|
+
messageList: [],
|
|
75
53
|
submitting: false,
|
|
76
54
|
submittingPerson: false,
|
|
77
55
|
submittingWeChat: false,
|
|
@@ -83,29 +61,11 @@ export default {
|
|
|
83
61
|
// 人员信息
|
|
84
62
|
empTree: [],
|
|
85
63
|
messageText: '',
|
|
86
|
-
information: []
|
|
64
|
+
information: [],
|
|
65
|
+
messageLoading: false
|
|
87
66
|
}
|
|
88
67
|
},
|
|
89
|
-
mounted () {
|
|
90
|
-
post(applyDetailViewApi.getEmpTree, {}).then(res => {
|
|
91
|
-
this.empTree = res
|
|
92
|
-
this.empTree.forEach(department => {
|
|
93
|
-
if (department.children) {
|
|
94
|
-
const children = department.children.map(parson => {
|
|
95
|
-
return { label: parson.title.split('_')[0], key: parson.key.split('_')[0] }
|
|
96
|
-
})
|
|
97
|
-
this.chargePersonOptions.push(...children)
|
|
98
|
-
}
|
|
99
|
-
})
|
|
100
|
-
// eslint-disable-next-line array-callback-return
|
|
101
|
-
const index = this.chargePersonOptions.findIndex(item => {
|
|
102
|
-
if (item.label === this.user.name) {
|
|
103
|
-
return true
|
|
104
|
-
}
|
|
105
|
-
})
|
|
106
|
-
this.chargePersonOptions.splice(index, 1)
|
|
107
|
-
})
|
|
108
|
-
},
|
|
68
|
+
mounted () {},
|
|
109
69
|
computed: {
|
|
110
70
|
...mapState('account', ['user'])
|
|
111
71
|
},
|
|
@@ -113,57 +73,6 @@ export default {
|
|
|
113
73
|
format (date) {
|
|
114
74
|
return formatDate(date, 'yyyy-MM-dd hh:mm:ss')
|
|
115
75
|
},
|
|
116
|
-
onWeChatSubmit () {
|
|
117
|
-
if (this.checkedChargePerson === undefined || this.checkedChargePerson === null) {
|
|
118
|
-
this.$message.error('请选择推送人')
|
|
119
|
-
return
|
|
120
|
-
}
|
|
121
|
-
this.submitting = true
|
|
122
|
-
post(applyDetailViewApi.saveWatchData, {
|
|
123
|
-
first: '留言推送',
|
|
124
|
-
keyword1: this.projectName,
|
|
125
|
-
keyword2: this.messageText,
|
|
126
|
-
keyword3: '',
|
|
127
|
-
keyword4: '',
|
|
128
|
-
remark: '',
|
|
129
|
-
name: this.checkedChargePerson,
|
|
130
|
-
operator: this.user.name
|
|
131
|
-
}
|
|
132
|
-
).then(res => {
|
|
133
|
-
this.information = res
|
|
134
|
-
if (this.information.code === 200) {
|
|
135
|
-
this.submitMessage({
|
|
136
|
-
f_created_by: this.user.name,
|
|
137
|
-
f_content: this.messageText.trim()
|
|
138
|
-
}).then(() => {
|
|
139
|
-
this.submitting = false
|
|
140
|
-
this.$message.success('留言成功并且推送成功')
|
|
141
|
-
this.messageText = ''
|
|
142
|
-
this.$emit('refresh')
|
|
143
|
-
}).catch(() => {
|
|
144
|
-
this.submitting = false
|
|
145
|
-
this.$message.error('推送并且留言失败,请重试')
|
|
146
|
-
})
|
|
147
|
-
} else {
|
|
148
|
-
this.$message.error(this.information.msg)
|
|
149
|
-
}
|
|
150
|
-
})
|
|
151
|
-
// this.submitMessage({
|
|
152
|
-
// f_created_by: this.user.name,
|
|
153
|
-
// f_content: this.messageText.trim()
|
|
154
|
-
// }).then(() => {
|
|
155
|
-
// this.submitting = false
|
|
156
|
-
// this.$message.success('留言成功')
|
|
157
|
-
// this.messageText = ''
|
|
158
|
-
// this.$emit('refresh')
|
|
159
|
-
// }).catch(() => {
|
|
160
|
-
// this.submitting = false
|
|
161
|
-
// this.$message.error('留言失败,请重试')
|
|
162
|
-
// })
|
|
163
|
-
},
|
|
164
|
-
openPersonnel () {
|
|
165
|
-
this.summaryVisible = true
|
|
166
|
-
},
|
|
167
76
|
onSubmit () {
|
|
168
77
|
this.submitting = true
|
|
169
78
|
this.submitMessage({
|
|
@@ -178,7 +87,22 @@ export default {
|
|
|
178
87
|
this.submitting = false
|
|
179
88
|
this.$message.error('留言失败,请重试')
|
|
180
89
|
})
|
|
181
|
-
}
|
|
90
|
+
},
|
|
91
|
+
// 获取留言
|
|
92
|
+
getMessage () {
|
|
93
|
+
this.messageLoading = true
|
|
94
|
+
postByServiceName(workFlowViewApi.getWorkFlowLeaveMessage, {
|
|
95
|
+
workflowId: this.workflowId
|
|
96
|
+
}).then(res => {
|
|
97
|
+
this.messageList = res
|
|
98
|
+
this.messageLoading = false
|
|
99
|
+
})
|
|
100
|
+
},
|
|
101
|
+
// 提交留言
|
|
102
|
+
submitMessage (data) {
|
|
103
|
+
data.f_workflow_id = this.workflowId
|
|
104
|
+
return postByServiceName('/entity/save/t_workflow_leave_message', data)
|
|
105
|
+
},
|
|
182
106
|
}
|
|
183
107
|
}
|
|
184
108
|
</script>
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
<div class="info-tag" style="background: #34d6af">
|
|
25
25
|
<div><a-icon type="carry-out" theme="filled" style="font-size: 16px" /></div>
|
|
26
26
|
<div class="content">
|
|
27
|
-
<div class="title">{{ format(details.
|
|
27
|
+
<div class="title">{{ format(details.f_workflow_date, 'yyyy-MM-dd') }}</div>
|
|
28
28
|
<div class="sub-text">创建日期</div>
|
|
29
29
|
</div>
|
|
30
30
|
</div>
|
|
@@ -93,10 +93,10 @@
|
|
|
93
93
|
</div>
|
|
94
94
|
</div>
|
|
95
95
|
<!-- 第五个 -->
|
|
96
|
-
<div v-show="details.
|
|
96
|
+
<div v-show="details.f_workflow_parentid" @click="ordRecord" class="info-tag" style="background: #31c565">
|
|
97
97
|
<div><a-icon type="profile" theme="filled" style="font-size: 16px" /></div>
|
|
98
98
|
<div class="content">
|
|
99
|
-
<div class="title">{{ details.
|
|
99
|
+
<div class="title">{{ details.f_workflow_parentid }}</div>
|
|
100
100
|
<div class="sub-text">父级工单编号</div>
|
|
101
101
|
</div>
|
|
102
102
|
</div>
|
|
@@ -107,7 +107,7 @@
|
|
|
107
107
|
</a-modal>
|
|
108
108
|
<!-- 父级工单 -->
|
|
109
109
|
<a-modal v-model="masterWorkOrderVisible" title="主工单" :footer="null" :z-index="1001" :width="1500">
|
|
110
|
-
<work-order-parent-details :
|
|
110
|
+
<work-order-parent-details :workflow-id="details.f_workflow_parentid"></work-order-parent-details>
|
|
111
111
|
</a-modal>
|
|
112
112
|
</div>
|
|
113
113
|
</template>
|
|
@@ -115,9 +115,9 @@
|
|
|
115
115
|
<script>
|
|
116
116
|
import { mapState } from 'vuex'
|
|
117
117
|
import { formatDate } from '@vue2-client/utils/util'
|
|
118
|
-
import {
|
|
118
|
+
import { postByServiceName } from '@vue2-client/services/api/restTools'
|
|
119
119
|
import moment from 'moment'
|
|
120
|
-
import {
|
|
120
|
+
import { workFlowViewApi } from '@/services/api/workFlow'
|
|
121
121
|
import WorkOrderParentDetails from './WorkOrderParentDetails'
|
|
122
122
|
|
|
123
123
|
export default {
|
|
@@ -156,7 +156,7 @@ export default {
|
|
|
156
156
|
masterWorkOrderVisible: false,
|
|
157
157
|
// 完成时间修改记录表格列
|
|
158
158
|
changeRecordColumns: [
|
|
159
|
-
{ dataIndex: '
|
|
159
|
+
{ dataIndex: 'f_workflow_id', title: '任务id' },
|
|
160
160
|
{ dataIndex: 'f_complete_oldtime', title: '原整体完成时间' },
|
|
161
161
|
{ dataIndex: 'f_set_time', title: '修改后完成时间', customRender (text) { return formatDate(text, 'yyyy-MM-dd') } },
|
|
162
162
|
{ dataIndex: 'f_name', title: '节点名称' },
|
|
@@ -211,8 +211,8 @@ export default {
|
|
|
211
211
|
this.$message.info('当前环节截止时间不能晚于整体完成时间')
|
|
212
212
|
return
|
|
213
213
|
}
|
|
214
|
-
|
|
215
|
-
|
|
214
|
+
postByServiceName(workFlowViewApi.updateWorkFlowCompleteTime, {
|
|
215
|
+
workflowId: this.details.id,
|
|
216
216
|
completeTime: this.completeTime,
|
|
217
217
|
overdueTime: this.overdueTime,
|
|
218
218
|
name: this.currUser.name,
|
|
@@ -226,8 +226,8 @@ export default {
|
|
|
226
226
|
showChangeRecord () {
|
|
227
227
|
this.changeRecordLoading = true
|
|
228
228
|
this.changeRecordVisible = true
|
|
229
|
-
|
|
230
|
-
|
|
229
|
+
postByServiceName(workFlowViewApi.getWorkFlowCompleteTimeChange, {
|
|
230
|
+
workflowId: this.details.id
|
|
231
231
|
}).then(res => {
|
|
232
232
|
this.changeRecordDataSource = res
|
|
233
233
|
this.changeRecordLoading = false
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
<div class="info-tag" style="background: #34d6af">
|
|
25
25
|
<div><a-icon type="carry-out" theme="filled" style="font-size: 16px" /></div>
|
|
26
26
|
<div class="content">
|
|
27
|
-
<div class="title">{{ format(details.
|
|
27
|
+
<div class="title">{{ format(details.f_workflow_date, 'yyyy-MM-dd') }}</div>
|
|
28
28
|
<div class="sub-text">创建日期</div>
|
|
29
29
|
</div>
|
|
30
30
|
</div>
|
|
@@ -103,9 +103,9 @@
|
|
|
103
103
|
<script>
|
|
104
104
|
import { mapState } from 'vuex'
|
|
105
105
|
import { formatDate } from '@vue2-client/utils/util'
|
|
106
|
-
import {
|
|
106
|
+
import { postByServiceName } from '@vue2-client/services/api/restTools'
|
|
107
107
|
import moment from 'moment'
|
|
108
|
-
import {
|
|
108
|
+
import { workFlowViewApi } from '@/services/api/workFlow'
|
|
109
109
|
import WorkOrderParentDetails from './WorkOrderParentDetails'
|
|
110
110
|
|
|
111
111
|
export default {
|
|
@@ -142,7 +142,7 @@ export default {
|
|
|
142
142
|
changeRecordVisible: false,
|
|
143
143
|
// 完成时间修改记录表格列
|
|
144
144
|
changeRecordColumns: [
|
|
145
|
-
{ dataIndex: '
|
|
145
|
+
{ dataIndex: 'f_workflow_id', title: '任务id' },
|
|
146
146
|
{ dataIndex: 'f_complete_oldtime', title: '原整体完成时间' },
|
|
147
147
|
{ dataIndex: 'f_set_time', title: '修改后完成时间', customRender (text) { return formatDate(text, 'yyyy-MM-dd') } },
|
|
148
148
|
{ dataIndex: 'f_name', title: '节点名称' },
|
|
@@ -160,10 +160,6 @@ export default {
|
|
|
160
160
|
}
|
|
161
161
|
},
|
|
162
162
|
props: {
|
|
163
|
-
visible: {
|
|
164
|
-
type: Boolean,
|
|
165
|
-
required: true
|
|
166
|
-
},
|
|
167
163
|
details: {
|
|
168
164
|
type: Object,
|
|
169
165
|
required: true
|
|
@@ -197,8 +193,8 @@ export default {
|
|
|
197
193
|
this.$message.info('当前环节截止时间不能晚于整体完成时间')
|
|
198
194
|
return
|
|
199
195
|
}
|
|
200
|
-
|
|
201
|
-
|
|
196
|
+
postByServiceName(workFlowViewApi.updateWorkFlowCompleteTime, {
|
|
197
|
+
workflowId: this.details.id,
|
|
202
198
|
completeTime: this.completeTime,
|
|
203
199
|
overdueTime: this.overdueTime,
|
|
204
200
|
name: this.currUser.name,
|
|
@@ -212,8 +208,8 @@ export default {
|
|
|
212
208
|
showChangeRecord () {
|
|
213
209
|
this.changeRecordLoading = true
|
|
214
210
|
this.changeRecordVisible = true
|
|
215
|
-
|
|
216
|
-
|
|
211
|
+
postByServiceName(workFlowViewApi.getWorkFlowCompleteTimeChange, {
|
|
212
|
+
workflowId: this.details.id
|
|
217
213
|
}).then(res => {
|
|
218
214
|
this.changeRecordDataSource = res
|
|
219
215
|
this.changeRecordLoading = false
|
|
@@ -221,11 +217,6 @@ export default {
|
|
|
221
217
|
}
|
|
222
218
|
},
|
|
223
219
|
watch: {
|
|
224
|
-
visible (newVal) {
|
|
225
|
-
if (newVal) {
|
|
226
|
-
this.init()
|
|
227
|
-
}
|
|
228
|
-
},
|
|
229
220
|
details: {
|
|
230
221
|
deep: true,
|
|
231
222
|
handler (newVal) {
|