Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
6
608-pdm-web-5g
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
pdm
608-pdm-web-5g
Commits
81d7711e
Commit
81d7711e
authored
Apr 17, 2024
by
xioln
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
更新了任务组件的过滤和修改功能
修复了任务提交时的错误 优化了任务详情处理逻辑 删除了无用的代码和流程任务组件 修改了用户密码的修改功能 添加了项目创建的功能
parent
d8a5834e
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
330 additions
and
53 deletions
+330
-53
taskDetail.js
src/api/taskDetail.js
+21
-12
form.vue
src/components/form/form.vue
+2
-1
vanInput.vue
src/components/form/vanInput.vue
+6
-0
tabs.js
src/store/modules/tabs.js
+2
-1
index.vue
src/views/InfoDetail/index.vue
+76
-8
index.vue
src/views/MsgList/index.vue
+14
-0
index.vue
...ails/components/DeeFlowExtSendOrderEditFeedBack/index.vue
+109
-0
index.vue
...rkFlowTask/taskDetails/components/taskBasicInfo/index.vue
+0
-1
index.vue
...ews/busniessComponents/workFlowTask/taskDetails/index.vue
+64
-8
changePassword.vue
src/views/tabbar/changePassword.vue
+8
-9
todoListLazyCell.vue
src/views/todoList/components/todoListLazyCell.vue
+28
-13
No files found.
src/api/taskDetail.js
View file @
81d7711e
...
...
@@ -801,38 +801,38 @@ export function getDocVersion (id) {
// ###########
// 查询业务处理表单
export
function
getBizForm
(
params
)
{
export
function
getBizForm
(
params
)
{
return
get
(
'/workflow/task/getBizForm'
,
params
)
}
// 查询可设置的环节参与人信息
export
function
getParticipant
(
params
)
{
export
function
getParticipant
(
params
)
{
return
get
(
'/workflow/activity/teamInfoList'
,
params
)
}
// 查询流程实例详情
export
function
instDetail
(
instId
)
{
export
function
instDetail
(
instId
)
{
return
get
(
`/workflow/inst/
${
instId
}
`
)
}
// 获取任务详情
export
function
getTaskDetail
(
params
,
processFlag
=
false
,
taskFlag
=
false
)
{
export
function
getTaskDetail
(
params
,
processFlag
=
false
,
taskFlag
=
false
)
{
return
get
(
`/workflow/task/
${
params
}
?processFlag=
${
processFlag
}
&taskFlag=
${
taskFlag
}
`
)
}
// 完成任务
export
function
completeTask
(
params
)
{
export
function
completeTask
(
params
)
{
return
post
(
'/workflow/template/operation'
,
params
)
// return post(`/workflow/task/${params.id}/complete`, params.obj)
}
// 查询可设置的环节参与人信签审人员
export
function
getParticipantRole
(
params
)
{
export
function
getParticipantRole
(
params
)
{
return
get
(
'/workflow/participant/'
,
params
)
}
// 查询流程任务历史
export
function
getInstTaskHisTory
(
instId
,
page
,
size
)
{
export
function
getInstTaskHisTory
(
instId
,
page
,
size
)
{
if
(
page
&&
size
)
{
return
get
(
'/workflow/task/hisTaskList'
,
{
instId
:
instId
,
...
...
@@ -847,26 +847,26 @@ export function getInstTaskHisTory(instId, page, size) {
}
// 获取流程实例详情-PBO信息
export
function
getInstancePbo
(
params
)
{
export
function
getInstancePbo
(
params
)
{
return
get
(
`/workflow/inst/
${
params
}
/bizPBO`
)
}
/** *608-5g */
export
function
findByCondition
(
params
)
{
export
function
findByCondition
(
params
)
{
return
post
(
'DxApplication/findByCondition'
,
params
)
}
// 分片上传准备
export
function
uploadPartPrepare
(
params
)
{
export
function
uploadPartPrepare
(
params
)
{
return
post
(
'/dfs/fileManager/uploadPartPrepare'
,
params
,
true
)
}
// 获取表单配置
export
function
getLayOut
(
params
)
{
export
function
getLayOut
(
params
)
{
return
get
(
'/DxModelComponent/findModelComponent'
,
params
)
}
// 获取字典
export
function
getDictListByCode
(
code
,
parentKey
,
attr
)
{
export
function
getDictListByCode
(
code
,
parentKey
,
attr
)
{
const
params
=
{
searchParams
:
{
dictState
:
'ENABLE'
},
sort
:
{
dictSeq
:
'asc'
}
...
...
@@ -878,3 +878,12 @@ export function getDictListByCode(code, parentKey, attr) {
}
return
post
(
'/DictData/search'
,
setSearchParams
(
params
))
}
// 获取流程实例详情-历史记录
export
function
getInstanceHistory
(
instId
,
params
)
{
return
get
(
'/workflow/task/hisTaskList'
,
{
instId
:
instId
,
page
:
1
,
size
:
9999
})
}
src/components/form/form.vue
View file @
81d7711e
...
...
@@ -103,7 +103,8 @@ export default {
// 判断value不是对象
return
typeof
value
!==
'object'
?
value
:
''
}
else
{
return
form
[
key
]
||
''
return
typeof
form
[
key
]
===
'object'
?
form
[
key
]?.
name
:
form
[
key
]
}
}
}
...
...
src/components/form/vanInput.vue
View file @
81d7711e
...
...
@@ -9,6 +9,8 @@
:name=
"name"
:label=
"label"
:type=
"itemObj.type"
:required=
"rules && !!rules[name]"
:rules=
"rules && rules[name]"
>
<div
v-if=
"itemObj.verifyIcon"
slot=
"button"
>
<img
:src=
"itemObj.verifyIcon"
@
click=
"getVerifyCode"
/>
...
...
@@ -39,6 +41,10 @@ export default {
label
:
{
type
:
String
,
default
:
''
},
rules
:
{
type
:
Object
,
default
:
()
=>
null
}
},
components
:
{
...
...
src/store/modules/tabs.js
View file @
81d7711e
...
...
@@ -7,7 +7,8 @@ const state = {
{
key
:
'DeeFlowDxDocumentAttrsEdit'
,
title
:
'是否归档'
},
{
key
:
'DeeFlowSecretConfirm'
,
title
:
'密级确认'
},
{
key
:
'DeeFlowDxDocumentEditReplyComments'
,
title
:
'答复意见'
},
{
key
:
'DeeFlowDxDocumentAttrsEditWhetherApplied'
,
title
:
'封面铁皮'
},
{
key
:
'DeeFlowExtSendOrderEditFeedBack'
,
title
:
'答复意见'
},
{
key
:
'DeeFlowDxDocumentAttrsEditWhetherApplied'
,
title
:
'封面贴皮'
},
{
key
:
'taskHistory'
,
title
:
'签审历史'
}
]
...
...
src/views/InfoDetail/index.vue
View file @
81d7711e
...
...
@@ -22,7 +22,7 @@
<
script
>
import
Pdf
from
'@/components/pdf/index'
import
{
getInstancePbo
,
getLayOut
,
getDictListByCode
}
from
'@/api/taskDetail'
import
{
getInstancePbo
,
getLayOut
}
from
'@/api/taskDetail'
import
DeeForm
from
'@/components/form/form'
export
default
{
...
...
@@ -40,27 +40,95 @@ export default {
dxContentItems
:
{},
url
:
''
,
form
:
{},
formData
:
[
]
formData
:
[]
}
},
created
()
{
},
async
mounted
()
{
if
(
this
.
$route
.
query
.
type
===
'ISTART'
)
{
this
.
tabs
=
[{
title
:
'基本信息'
,
key
:
'baseInfo'
}]
this
.
activeTab
=
'baseInfo'
await
this
.
getIstartFormData
()
console
.
log
(
'222'
,
JSON
.
parse
(
localStorage
.
getItem
(
'taskInfo'
)))
}
else
{
await
this
.
getFormData
()
await
this
.
getForm
()
}
},
methods
:
{
async
getForm
()
{
getMessageFormData
()
{
getLayOut
({
modelDefName
:
'XT'
,
layoutType
:
'defaultView'
}).
then
((
res
)
=>
{
if
(
res
.
items
.
content
.
length
)
{
const
jsonparse
=
JSON
.
parse
(
res
.
items
.
content
[
0
].
configDetails
)
this
.
fiiterData
(
jsonparse
.
formData
)
}
})
// this.$set(this, 'formData', formData)
// this.$set(this, 'form', JSON.parse(localStorage.getItem('taskInfo')))
},
getIstartFormData
()
{
const
formData
=
[
{
data
:
[
{
title
:
'实例ID'
,
key
:
'id'
,
component
:
{
name
:
'readable'
}
},
{
title
:
'实例名称'
,
key
:
'title'
,
component
:
{
name
:
'readable'
}
},
{
title
:
'状态'
,
key
:
'status'
,
component
:
{
name
:
'readable'
}
},
{
title
:
'当前任务'
,
key
:
'name'
,
component
:
{
name
:
'readable'
}
},
{
title
:
'处理人'
,
key
:
'instItem.ownerName'
,
component
:
{
name
:
'readable'
}
},
{
title
:
'流程启动时间'
,
key
:
'time'
,
component
:
{
name
:
'readable'
}
}
]
}
]
this
.
$set
(
this
,
'formData'
,
formData
)
this
.
$set
(
this
,
'form'
,
JSON
.
parse
(
localStorage
.
getItem
(
'taskInfo'
)))
},
async
getForm
(
oid
)
{
let
id
=
''
await
getInstancePbo
(
this
.
$route
.
query
.
oid
).
then
((
res
)
=>
{
this
.
$route
.
query
.
type
===
'MESSAGE'
?
id
=
this
.
$route
.
query
.
oid
:
await
getInstancePbo
(
this
.
$route
.
query
.
oid
).
then
((
res
)
=>
{
id
=
res
.
items
.
id
})
const
params
=
{
pageFrom
:
1
,
pageSize
:
1
,
searchItems
:
{
items
:
[{
fieldName
:
'id'
,
operator
:
'EQ'
,
value
:
id
}]
},
searchItems
:
{
items
:
[{
fieldName
:
'id'
,
operator
:
'EQ'
,
value
:
oid
||
id
}]
},
sortItem
:
[{
fieldName
:
'modifyTime'
,
sortOrder
:
'asc'
}],
openProps
:
[{
name
:
'dxContext'
},
{
name
:
'objFileLinks'
,
openProps
:
[{
name
:
'target'
,
pageFrom
:
1
,
pageSize
:
9999
}]
}]
}
...
...
src/views/MsgList/index.vue
View file @
81d7711e
...
...
@@ -213,6 +213,20 @@ export default {
this
.
$refs
.
searchList
.
style
.
height
=
'calc(100vh - 190px)'
this
.
$refs
.
searchModel
.
style
.
transitionDuration
=
'.5s'
this
.
iconButton
=
'arrow-down'
},
goDetailsInfo
(
item
)
{
console
.
log
(
item
,
JSON
.
parse
(
item
.
businessObject
))
const
itemObj
=
JSON
.
parse
(
item
.
businessObject
)
const
dxClassname
=
itemObj
?.
dxClassname
.
split
(
'vo.'
)[
1
]?.
slice
(
0
,
-
2
)
this
.
$router
.
push
({
path
:
`/InfoDetail-
${
itemObj
.
id
}
`
,
query
:
{
oid
:
itemObj
.
id
,
title
:
itemObj
.
name
,
dxClassname
:
dxClassname
,
type
:
'MESSAGE'
}
})
}
}
}
...
...
src/views/busniessComponents/workFlowTask/taskDetails/components/DeeFlowExtSendOrderEditFeedBack/index.vue
0 → 100644
View file @
81d7711e
<
template
>
<div
class=
"dee-flowExtSendOrderEditFeedBack"
>
<dee-form
ref=
"flowExtSendOrderEditFeedBack"
:form=
"form"
:form-data=
"formData"
:rules=
"rulesShow ? rules :
{}"
/>
</div>
</
template
>
<
script
>
import
DeeForm
from
'@/components/form/form'
export
default
{
props
:
{
basicData
:
{
type
:
Object
,
require
:
true
},
flowData
:
{
type
:
Object
,
require
:
true
},
selectRoute
:
{
type
:
String
}
},
components
:
{
DeeForm
},
data
()
{
return
{
form
:
{},
formData
:
[
{
data
:
[
{
title
:
'答复意见'
,
key
:
'feedback'
,
component
:
{
name
:
'el-input'
,
type
:
'textarea'
}
}
]
}
],
selectRadio
:
null
,
rules
:
{
feedback
:
[{
required
:
true
,
message
:
'请输入'
,
trigger
:
'blur'
}]
},
backFlowData
:
null
}
},
watch
:
{
},
computed
:
{
rulesShow
()
{
return
this
.
selectRoute
===
'deal'
}
},
created
()
{
},
mounted
()
{
},
methods
:
{
validate
()
{
return
new
Promise
((
resolve
,
reject
)
=>
{
this
.
$refs
.
flowExtSendOrderEditFeedBack
.
validate
().
then
(()
=>
{
const
flowData
=
this
.
backFlowData
?
this
.
backFlowData
:
this
.
flowData
const
form
=
{
...
flowData
,
...
this
.
form
,
operator
:
'MODIFY'
}
this
.
$api
.
recursion
(
'ExtSendOrder'
,
form
)
.
then
((
res
)
=>
{
if
(
res
)
{
this
.
backFlowData
=
res
.
items
resolve
(
true
)
}
})
.
catch
(()
=>
{
resolve
(
false
)
})
}).
catch
(()
=>
{
resolve
(
false
)
})
})
}
}
}
</
script
>
<
style
lang=
'scss'
>
.dee-flowExtSendOrderEditFeedBack
{
margin
:
0
10px
;
textarea
{
border
:
0
.5px
;
border-radius
:
5px
;
background-color
:
rgba
(
241
,
241
,
241
,
0
.5
);
padding
:
5px
;
resize
:
none
;
}
.pc-tips
{
color
:
#999
;
font-size
:
12px
;
margin-top
:
10px
;
margin-left
:
20px
;
}
}
</
style
>
src/views/busniessComponents/workFlowTask/taskDetails/components/taskBasicInfo/index.vue
View file @
81d7711e
...
...
@@ -47,7 +47,6 @@ export default {
methods
:
{
initData
(
data
)
{
const
x
=
this
.
basicData
console
.
log
(
'this.flowData?.dxClassname'
,
this
.
flowData
.
dxClassname
)
const
dxClassname
=
this
.
flowData
?.
dxClassname
.
split
(
'vo.'
)[
1
]?.
slice
(
0
,
-
2
)
const
formItemData
=
[]
formItemData
.
push
({
...
...
src/views/busniessComponents/workFlowTask/taskDetails/index.vue
View file @
81d7711e
...
...
@@ -140,7 +140,7 @@ export default {
this
.
$set
(
this
,
'basicData'
,
res
.
items
)
res
.
items
.
formInfo
&&
res
.
items
.
formInfo
.
forEach
((
item
)
=>
{
if
(
item
.
configName
&&
this
.
$store
.
state
.
tabs
.
tabs
.
find
(
x
=>
x
.
key
===
item
.
configName
)
&&
!
item
.
configName
.
includes
(
'DeeFlowCheckItems'
))
{
if
(
item
.
configName
&&
this
.
$store
.
state
.
tabs
.
tabs
.
find
(
x
=>
item
.
configName
.
includes
(
x
.
key
)
))
{
this
.
dynamicComponents
.
push
(
item
.
configName
.
split
(
'/'
)[
1
])
}
})
...
...
@@ -181,48 +181,104 @@ export default {
finishTask
()
{
const
validateArray
=
[]
let
vlot
=
false
this
.
dynamicComponents
.
forEach
(
item
=>
{
const
refCom
=
this
.
$refs
[
item
]
this
.
basicData
.
formInfo
&&
this
.
basicData
.
formInfo
.
forEach
(
x
=>
{
if
(
this
.
basicData
.
formInfo
)
{
this
.
basicData
.
formInfo
.
forEach
(
x
=>
{
if
(
x
.
configName
.
includes
(
item
)
&&
x
.
comType
===
'privateComponent'
&&
(
!
refCom
||
!
refCom
[
0
]))
{
vlot
=
true
}
})
}
if
(
!
refCom
||
!
refCom
[
0
]
||
vlot
)
return
const
vm
=
refCom
[
0
]
if
(
'validate'
in
vm
)
{
validateArray
.
push
(
vm
.
validate
())
}
})
if
(
vlot
)
{
this
.
$utils
.
showMessage
(
'请填写必填项'
,
'warning'
)
this
.
$refs
.
taskBtnRef
.
comLoading
=
false
return
}
this
.
dynamicComponents
.
forEach
(
item
=>
{
const
refCom
=
this
.
$refs
[
item
]
if
(
refCom
&&
'validate'
in
refCom
[
0
])
{
refCom
[
0
]
&&
refCom
[
0
]
.
validate
()
refCom
[
0
].
validate
()
this
.
$refs
.
taskBtnRef
.
comLoading
=
false
}
})
if
(
this
.
dynamicComponents
.
includes
(
'GetParticipant'
))
{
const
participants
=
{
...
this
.
participant
}
Object
.
keys
(
participants
)
&&
Object
.
keys
(
participants
)
.
forEach
(
key
=>
{
Object
.
keys
(
participants
).
forEach
(
key
=>
{
if
(
participants
[
key
].
length
===
0
)
{
delete
participants
[
key
]
}
})
if
(
!
participants
)
{
this
.
$utils
.
showMessage
(
'请设置参与者'
,
'warning'
)
this
.
$refs
.
taskBtnRef
.
comLoading
=
false
return
}
this
.
participants
=
participants
}
Promise
.
all
(
validateArray
).
then
(
asd
=>
{
this
.
completeTask
()
})
// const validateArray = []
// let vlot = false
// this.dynamicComponents.forEach(item => {
// const refCom = this.$refs[item]
// this.basicData.formInfo && this.basicData.formInfo.forEach(x => {
// if (x.configName.includes(item) && x.comType === 'privateComponent' && (!refCom || !refCom[0])) {
// vlot = true
// }
// })
// if (!refCom || !refCom[0] || vlot) return
// const vm = refCom[0]
// if ('validate' in vm) {
// validateArray.push(vm.validate())
// }
// })
// if (vlot) {
// this.$utils.showMessage('请填写必填项', 'warning')
// this.$refs.taskBtnRef.comLoading = false
// return
// }
// this.dynamicComponents.forEach(item => {
// const refCom = this.$refs[item]
// if (refCom && 'validate' in refCom[0]) {
// refCom[0] && refCom[0].validate()
// this.$refs.taskBtnRef.comLoading = false
// }
// })
// if (this.dynamicComponents.includes('GetParticipant')) {
// const participants = { ...this.participant }
// Object.keys(participants) && Object.keys(participants).forEach(key => {
// if (participants[key].length === 0) {
// delete participants[key]
// }
// })
// if (!participants) {
// this.$utils.showMessage('请设置参与者', 'warning')
// this.$refs.taskBtnRef.comLoading = false
// return
// }
// this.participants = participants
// }
// Promise.all(validateArray).then(asd => {
// this.completeTask()
// })
},
completeTask
()
{
const
taskDetailHandleFrom
=
this
.
$refs
.
taskDetailHandle
[
0
].
form
...
...
src/views/tabbar/changePassword.vue
View file @
81d7711e
...
...
@@ -28,9 +28,9 @@ export default {
userAccount
:
{
type
:
String
,
default
:
''
}
},
},
data
()
{
data
()
{
return
{
show
:
false
,
form
:
{},
...
...
@@ -68,17 +68,17 @@ export default {
clearable
:
true
,
border
:
true
}
}
,
}
]
}],
rules
:
{
oldPsd
:
[{
required
:
true
,
message
:
'请填写'
}]
}
}
},
methods
:
{
showPopup
()
{
showPopup
()
{
this
.
show
=
true
},
beforeClose
(
action
,
done
)
{
beforeClose
(
action
,
done
)
{
if
(
action
===
'confirm'
)
{
if
(
!
(
this
.
form
.
oldPassword
&&
this
.
form
.
newPassword
&&
this
.
form
.
newPasswordCon
))
{
this
.
$utils
.
showMessage
(
'请输入!'
,
'warning'
)
...
...
@@ -95,13 +95,12 @@ export default {
}
revisePassword
(
params
).
then
(
res
=>
{
this
.
$utils
.
showMessage
(
'修改成功!'
,
'success'
)
done
()
;
done
()
this
.
$store
.
dispatch
(
'user/logout'
)
})
}
else
{
done
()
;
done
()
}
}
}
}
...
...
src/views/todoList/components/todoListLazyCell.vue
View file @
81d7711e
...
...
@@ -34,7 +34,9 @@
</div>
</
template
>
<
script
>
import
{
getInstanceHistory
}
from
'@/api/taskDetail'
export
default
{
name
:
'TodoListLazyCell'
,
// name写在组件的最前方,自定义组件为必填
props
:
{
...
...
@@ -62,11 +64,23 @@ export default {
methods
:
{
// 跳转详情页面
goDetailsInfo
(
item
)
{
console
.
log
(
'item'
,
item
)
if
(
this
.
$route
.
query
.
title
===
'我发起的任务'
)
{
localStorage
.
setItem
(
'taskInfo'
,
JSON
.
stringify
(
item
))
this
.
$router
.
push
({
path
:
`/InfoDetail-
${
item
.
id
}
`
,
query
:
{
id
:
item
.
id
,
title
:
item
.
name
,
type
:
'ISTART'
}
})
}
else
{
this
.
$router
.
push
({
path
:
`/taskDetails-
${
item
.
id
}
`
,
query
:
{
id
:
item
.
id
,
procInstId
:
item
.
processInstanceId
,
procInstId
:
item
.
processInstanceId
||
item
.
instItem
.
procDefId
.
split
(
':'
)[
2
]
,
title
:
item
.
title
,
taskType
:
this
.
$route
.
query
.
title
,
procDefId
:
item
.
processDefinitionId
,
...
...
@@ -74,6 +88,7 @@ export default {
description
:
''
}
})
}
},
dealWithtaskData
()
{
if
(
this
.
allList
.
length
>
10
*
this
.
curr
)
{
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment