Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
Z
zrch-risk-39
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
Administrator
zrch-risk-39
Commits
e4c90ebb
提交
e4c90ebb
authored
4月 07, 2026
作者:
kxjia
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
完善问题
上级
2d318c87
显示空白字符变更
内嵌
并排
正在显示
13 个修改的文件
包含
189 行增加
和
238 行删除
+189
-238
ApprovalPanel.vue
zrch-risk-client-39/src/views/common/ApprovalPanel.vue
+18
-22
CurrentFormPanel.vue
zrch-risk-client-39/src/views/common/CurrentFormPanel.vue
+7
-2
FlowHistoryDrawer.vue
zrch-risk-client-39/src/views/common/FlowHistoryDrawer.vue
+43
-8
FlowHistoryRecord.vue
zrch-risk-client-39/src/views/common/FlowHistoryRecord.vue
+2
-9
TaskAssigneeDrawer.vue
zrch-risk-client-39/src/views/common/TaskAssigneeDrawer.vue
+40
-116
WorkFlowFormDrawer.vue
zrch-risk-client-39/src/views/common/WorkFlowFormDrawer.vue
+13
-1
Detail.vue
...9/src/views/flowable/task/myProcess/components/Detail.vue
+0
-1
StProblemCheckList.vue
...-39/src/views/project/problemCheck/StProblemCheckList.vue
+4
-6
StProblemExecList.vue
...t-39/src/views/project/problemCheck/StProblemExecList.vue
+8
-5
StProblemIndex.vue
...ient-39/src/views/project/problemCheck/StProblemIndex.vue
+37
-51
StProblemPlanApprovalList.vue
.../views/project/problemCheck/StProblemPlanApprovalList.vue
+12
-9
StProblemPlanList.vue
...t-39/src/views/project/problemCheck/StProblemPlanList.vue
+3
-4
StProblemCheckPlanForm.vue
...roject/problemCheck/components/StProblemCheckPlanForm.vue
+2
-4
没有找到文件。
zrch-risk-client-39/src/views/common/ApprovalPanel.vue
浏览文件 @
e4c90ebb
...
@@ -33,10 +33,10 @@
...
@@ -33,10 +33,10 @@
import
{
ref
,
onMounted
,
nextTick
}
from
'vue'
import
{
ref
,
onMounted
,
nextTick
}
from
'vue'
import
{
useForm
,
BasicForm
,
FormSchema
}
from
'/@/components/Form'
import
{
useForm
,
BasicForm
,
FormSchema
}
from
'/@/components/Form'
import
{
CheckCircleOutlined
,
CloseCircleOutlined
}
from
'@ant-design/icons-vue'
import
{
CheckCircleOutlined
,
CloseCircleOutlined
}
from
'@ant-design/icons-vue'
import
{
complete
,
getMyTaskFlow
,
getRejectNode
}
from
'/@/components/Process/api/todo'
import
{
complete
,
getMyTaskFlow
,
getRejectNode
,
rejectTask
}
from
'/@/components/Process/api/todo'
import
{
message
}
from
'ant-design-vue'
import
{
message
}
from
'ant-design-vue'
const
emit
=
defineEmits
([
'update:visible'
,
'success'
,
'error'
,
'close'
])
const
emit
=
defineEmits
([
'update:visible'
,
'success'
,
'error'
,
'close'
,
'approval-fail'
])
const
props
=
defineProps
({
const
props
=
defineProps
({
beforeFlowNode
:
{
beforeFlowNode
:
{
type
:
Object
,
type
:
Object
,
...
@@ -48,6 +48,8 @@
...
@@ -48,6 +48,8 @@
dataId
:
{
type
:
String
,
default
:
''
},
dataId
:
{
type
:
String
,
default
:
''
},
})
})
const
formSchemas
:
FormSchema
[]
=
[
const
formSchemas
:
FormSchema
[]
=
[
{
{
label
:
'审批结果'
,
label
:
'审批结果'
,
...
@@ -119,10 +121,11 @@
...
@@ -119,10 +121,11 @@
}
}
const
handleSaveApp
=
async
()
=>
{
const
handleSaveApp
=
async
()
=>
{
const
formDataTmp
=
await
validate
()
const
formDataTmp
=
await
validate
()
const
myTaskFlow
=
await
getMyTaskFlow
({
deploymentId
:
props
.
deployId
,
dataId
:
props
.
dataId
})
const
myTaskFlow
=
await
getMyTaskFlow
({
deploymentId
:
props
.
deployId
,
dataId
:
props
.
dataId
})
if
(
myTaskFlow
?.
taskId
)
{
if
(
myTaskFlow
?.
taskId
)
{
alert
(
JSON
.
stringify
(
myTaskFlow
))
const
reviewStatus
=
formDataTmp
.
reviewStatus
;
const
reviewStatus
=
formDataTmp
.
reviewStatus
;
if
(
reviewStatus
===
true
)
{
if
(
reviewStatus
===
true
)
{
await
complete
({
await
complete
({
...
@@ -132,28 +135,21 @@
...
@@ -132,28 +135,21 @@
comment
:
formDataTmp
.
comment
,
comment
:
formDataTmp
.
comment
,
values
:
{
values
:
{
approval
:
formDataTmp
.
approvalUser
||
formDataTmp
.
approvalRole
,
approval
:
formDataTmp
.
approvalUser
||
formDataTmp
.
approvalRole
,
approvalType
:
formDataTmp
.
userType
approvalType
:
props
.
userType
},
},
})
})
}
else
{
}
else
{
const
rejectNode
=
await
getRejectNode
({
// await rejectTask({
deployId
:
props
.
deployId
,
// instanceId: myTaskFlow.procInsId || '',
taskId
:
myTaskFlow
.
taskId
,
// deployId: myTaskFlow.deployId || '',
isApproved
:
false
,
// taskId: myTaskFlow.taskId,
})
// comment: formDataTmp.comment,
alert
(
JSON
.
stringify
(
rejectNode
))
// values: {
if
(
rejectNode
?.
targetNode
)
{
// rejectNode: props.beforeFlowNode,
await
complete
({
// },
instanceId
:
myTaskFlow
.
procInsId
||
''
,
// })
deployId
:
myTaskFlow
.
deployId
||
''
,
emit
(
'approval-fail'
,
props
.
dataId
)
taskId
:
myTaskFlow
.
taskId
,
comment
:
formDataTmp
.
comment
,
values
:
{
rejectNode
:
rejectNode
.
targetNode
,
},
})
}
}
}
}
emit
(
'success'
,
props
.
dataId
)
emit
(
'success'
,
props
.
dataId
)
...
@@ -162,7 +158,7 @@
...
@@ -162,7 +158,7 @@
handleClose
()
handleClose
()
})
})
}
}
}
onMounted
(
async
()
=>
{
onMounted
(
async
()
=>
{
if
(
props
.
userType
===
'user'
)
{
if
(
props
.
userType
===
'user'
)
{
...
...
zrch-risk-client-39/src/views/common/CurrentFormPanel.vue
浏览文件 @
e4c90ebb
...
@@ -4,6 +4,10 @@
...
@@ -4,6 +4,10 @@
<template
#
title
>
<template
#
title
>
<div
class=
"form-header"
>
<div
class=
"form-header"
>
<span
class=
"form-title"
>
当前待办[
{{
editableNode
?.
name
||
'无'
}}
]
</span>
<span
class=
"form-title"
>
当前待办[
{{
editableNode
?.
name
||
'无'
}}
]
</span>
<a-button
color=
"blue"
v-if=
"!isEditStatus"
@
click=
"handleSetEditStatus"
>
转阅
</a-button>
<a-button
color=
"blue"
v-if=
"!isEditStatus"
@
click=
"handleSetEditStatus"
>
转发
</a-button>
<a-button
color=
"blue"
v-if=
"!isEditStatus"
@
click=
"handleSetEditStatus"
>
退回
</a-button>
<a-button
color=
"blue"
v-if=
"!isEditStatus"
@
click=
"handleSetEditStatus"
>
编辑
</a-button>
<a-button
color=
"blue"
v-if=
"!isEditStatus"
@
click=
"handleSetEditStatus"
>
编辑
</a-button>
<a-button
color=
"blue"
v-if=
"isEditStatus"
@
click=
"handleSetEditStatus"
>
只读
</a-button>
<a-button
color=
"blue"
v-if=
"isEditStatus"
@
click=
"handleSetEditStatus"
>
只读
</a-button>
</div>
</div>
...
@@ -255,8 +259,9 @@ function createErrorComponent(msg: string) {
...
@@ -255,8 +259,9 @@ function createErrorComponent(msg: string) {
// 处理编辑状态切换
// 处理编辑状态切换
function
handleSetEditStatus
()
{
function
handleSetEditStatus
()
{
isEditStatus
.
value
=
!
isEditStatus
.
value
isEditStatus
.
value
=
!
isEditStatus
.
value
if
(
formComponentRef
.
value
&&
typeof
formComponentRef
.
value
.
formDisabled
===
'function'
)
{
if
(
formComponentRef
.
value
&&
typeof
formComponentRef
.
value
.
setFormDisabledStatus
===
'function'
)
{
//formComponentRef.value.formDisabled(isEditStatus.value)
formComponentRef
.
value
.
setFormDisabledStatus
(
false
)
}
}
}
}
...
...
zrch-risk-client-39/src/views/common/FlowHistoryDrawer.vue
浏览文件 @
e4c90ebb
...
@@ -3,29 +3,63 @@
...
@@ -3,29 +3,63 @@
@
register=
"registerBasicDrawer"
@
register=
"registerBasicDrawer"
:header-style=
"
{ backgroundColor: '#018ffb', borderBottom: '1px solid #e8eef2' }">
:header-style=
"
{ backgroundColor: '#018ffb', borderBottom: '1px solid #e8eef2' }">
<div
class=
"drawer-content"
>
<div
class=
"drawer-content"
>
<a-tabs
v-model:activeKey=
"activeKey"
type=
"card"
@
change=
"handleTabChange"
>
<a-tab-pane
key=
"chart"
tab=
"流程图"
>
<FlowHistoryChart
ref=
"refFlowHistoryChart"
/>
<FlowHistoryChart
ref=
"refFlowHistoryChart"
/>
<FlowHistoryRecord
:procInsId=
"procInsId"
/>
</a-tab-pane>
<a-tab-pane
key=
"record"
tab=
"记录"
>
<FlowHistoryRecord
ref=
"refFlowHistoryRecord"
/>
</a-tab-pane>
</a-tabs>
</div>
</div>
</BasicDrawer>
</BasicDrawer>
</
template
>
</
template
>
<
script
lang=
"ts"
setup
>
<
script
lang=
"ts"
setup
>
import
{
defineComponent
,
ref
}
from
'vue'
;
import
{
nextTick
,
ref
}
from
'vue'
;
import
{
BasicDrawer
,
useDrawerInner
}
from
'/@/components/Drawer'
;
import
{
BasicDrawer
,
useDrawerInner
}
from
'/@/components/Drawer'
;
import
FlowHistoryChart
from
'./FlowHistoryChart.vue'
;
import
FlowHistoryChart
from
'./FlowHistoryChart.vue'
;
import
FlowHistoryRecord
from
'./FlowHistoryRecord.vue'
;
import
FlowHistoryRecord
from
'./FlowHistoryRecord.vue'
;
const
activeKey
=
ref
(
'chart'
);
const
procInsId
=
ref
(
''
);
const
procInsId
=
ref
(
''
);
const
dataId
=
ref
(
''
);
const
dataId
=
ref
(
''
);
const
deployId
=
ref
(
''
);
const
deployId
=
ref
(
''
);
const
refFlowHistoryChart
=
ref
();
const
refFlowHistoryChart
=
ref
();
const
refFlowHistoryRecord
=
ref
();
const
curData
=
ref
({});
const
callback
=
(
data
)
=>
{
const
callback
=
(
data
)
=>
{
refFlowHistoryChart
.
value
.
loadData
(
data
);
curData
.
value
=
data
;
handleTabChange
(
'chart'
);
}
}
const
handleTabChange
=
(
key
)
=>
{
const
[
registerBasicDrawer
,
{
closeDrawer
,
setDrawerProps
}]
=
useDrawerInner
(
callback
);
if
(
key
===
'chart'
)
{
nextTick
(()
=>
{
const
handleCloseDrawer
=
()
=>
{
refFlowHistoryChart
.
value
.
loadData
(
curData
.
value
);
closeDrawer
();
})
}
else
if
(
key
===
'record'
)
{
nextTick
(()
=>
{
refFlowHistoryRecord
.
value
.
loadData
(
curData
.
value
);
})
}
}
activeKey
.
value
=
key
;
}
const
[
registerBasicDrawer
,
{
closeDrawer
,
setDrawerProps
}]
=
useDrawerInner
(
callback
);
</
script
>
</
script
>
<
style
scoped
>
.drawer-content
{
height
:
100%
;
}
.drawer-content
:deep
(
.ant-tabs
)
{
height
:
100%
;
}
.drawer-content
:deep
(
.ant-tabs-content
)
{
height
:
calc
(
100%
-
40px
);
overflow-y
:
auto
;
}
</
style
>
\ No newline at end of file
zrch-risk-client-39/src/views/common/FlowHistoryRecord.vue
浏览文件 @
e4c90ebb
...
@@ -82,16 +82,10 @@
...
@@ -82,16 +82,10 @@
import
{
flowRecord
}
from
'/@/components/Process/api/finished'
;
import
{
flowRecord
}
from
'/@/components/Process/api/finished'
;
import
dayjs
from
'dayjs'
;
import
dayjs
from
'dayjs'
;
// Props
const
props
=
defineProps
<
{
procInsId
:
string
;
}
>
();
// 响应式数据
const
loading
=
ref
(
false
);
const
loading
=
ref
(
false
);
const
flowRecordList
=
ref
<
any
[]
>
([]);
const
flowRecordList
=
ref
<
any
[]
>
([]);
// 方法
const
formatTime
=
(
time
:
string
)
=>
{
const
formatTime
=
(
time
:
string
)
=>
{
if
(
!
time
)
return
''
;
if
(
!
time
)
return
''
;
return
dayjs
(
time
).
format
(
'YYYY-MM-DD HH:mm:ss'
);
return
dayjs
(
time
).
format
(
'YYYY-MM-DD HH:mm:ss'
);
...
@@ -113,10 +107,9 @@
...
@@ -113,10 +107,9 @@
const
loadData
=
async
(
data
)
=>
{
const
loadData
=
async
(
data
)
=>
{
try
{
try
{
loading
.
value
=
true
;
loading
.
value
=
true
;
const
res
=
await
flowRecord
({
procInsId
:
props
.
procIns
Id
});
const
res
=
await
flowRecord
({
procInsId
:
data
.
procInsId
,
deployId
:
data
.
deploy
Id
});
flowRecordList
.
value
=
res
.
flowList
||
[];
flowRecordList
.
value
=
res
.
flowList
||
[];
}
catch
(
error
)
{
}
catch
(
error
)
{
console
.
error
(
'加载流转记录失败:'
,
error
);
message
.
error
(
'加载流转记录失败'
);
message
.
error
(
'加载流转记录失败'
);
throw
error
;
throw
error
;
}
finally
{
}
finally
{
...
...
zrch-risk-client-39/src/views/common/TaskAssigneeDrawer.vue
浏览文件 @
e4c90ebb
<
template
>
<
template
>
<
a-drawer
<
BasicDrawer
title=
"任务指派"
title=
"任务指派"
:visible=
"visible"
width=
"30%"
width=
"30%"
:closable=
"true"
:closable=
"true"
:mask-closable=
"false"
:mask-closable=
"false"
:destroy-on-close=
"true"
:destroy-on-close=
"true"
:footer=
"null"
:footer=
"null"
@
close=
"handleClose
"
@
register=
"registerBasicDrawer
"
class=
"task-assignee-drawer
"
:header-style=
"
{ backgroundColor: '#018ffb', borderBottom: '1px solid #e8eef2' }
"
>
>
<div
class=
"drawer-content"
>
<div
class=
"drawer-content"
style=
"height: 80vh"
>
<a-card
title=
"选择任务指派人"
:bordered=
"false"
class=
"assignee-card"
>
<a-card
title=
"选择任务指派人"
:bordered=
"false"
class=
"assignee-card"
>
<a-form
layout=
"vertical"
>
<a-form
layout=
"vertical"
>
<a-form-item
label=
"用户类型"
required
>
<a-form-item
label=
"用户类型"
required
>
...
@@ -88,30 +87,30 @@
...
@@ -88,30 +87,30 @@
:showButton=
"false"
:showButton=
"false"
labelKey=
"realname"
labelKey=
"realname"
/>
/>
</
a-d
rawer>
</
BasicD
rawer>
</template>
</template>
<
script
lang=
"ts"
setup
>
<
script
lang=
"ts"
setup
>
import
{
ref
,
computed
,
watch
,
nextTick
}
from
'vue'
import
{
ref
,
computed
,
watch
,
nextTick
}
from
'vue'
import
{
message
}
from
'ant-design-vue'
import
{
message
}
from
'ant-design-vue'
import
{
useModal
}
from
'/@/components/Modal'
import
{
useModal
}
from
'/@/components/Modal'
import
{
BasicDrawer
,
useDrawerInner
}
from
'/@/components/Drawer'
import
{
UserOutlined
,
TeamOutlined
}
from
'@ant-design/icons-vue'
import
{
UserOutlined
,
TeamOutlined
}
from
'@ant-design/icons-vue'
import
UserSelectModal
from
'/@/components/Form/src/jeecg/components/modal/UserSelectModal.vue'
import
UserSelectModal
from
'/@/components/Form/src/jeecg/components/modal/UserSelectModal.vue'
import
RoleSelectModal
from
'/@/components/Form/src/jeecg/components/modal/RoleSelectModal.vue'
import
RoleSelectModal
from
'/@/components/Form/src/jeecg/components/modal/RoleSelectModal.vue'
import
{
complete
,
getMyTaskFlow
}
from
'/@/components/Process/api/todo'
import
{
complete
,
getMyTaskFlow
}
from
'/@/components/Process/api/todo'
const
props
=
defineProps
({
visible
:
{
type
:
Boolean
,
default
:
false
},
formData
:
{
type
:
Object
,
default
:
()
=>
({})
},
assignee
:
{
type
:
String
,
default
:
null
},
userType
:
{
type
:
String
,
default
:
'user'
},
deployId
:
{
type
:
String
,
default
:
''
},
required
:
{
type
:
Boolean
,
default
:
true
},
assigneeName
:
{
type
:
String
,
default
:
null
},
dataId
:
{
type
:
String
,
default
:
''
}
})
const
emit
=
defineEmits
([
'update:visible'
,
'success'
,
'error'
,
'close'
])
interface
formDadta
{
assignee
:
string
userType
:
string
deployId
?:
string
required
?:
string
assigneeName
?:
string
dataId
?:
string
}
const
emit
=
defineEmits
([
'success'
,
'error'
,
'close'
])
const
[
registerSelUserModal
,
{
openModal
:
userOpenModal
}]
=
useModal
()
const
[
registerSelUserModal
,
{
openModal
:
userOpenModal
}]
=
useModal
()
const
[
registerSelRoleModal
,
{
openModal
:
roleOpenModal
}]
=
useModal
()
const
[
registerSelRoleModal
,
{
openModal
:
roleOpenModal
}]
=
useModal
()
...
@@ -121,41 +120,25 @@ const localUserType = ref<'user' | 'role'>('user')
...
@@ -121,41 +120,25 @@ const localUserType = ref<'user' | 'role'>('user')
const
assigneeId
=
ref
(
''
)
const
assigneeId
=
ref
(
''
)
const
assigneeDisplayName
=
ref
(
''
)
const
assigneeDisplayName
=
ref
(
''
)
const
confirmLoading
=
ref
(
false
)
const
confirmLoading
=
ref
(
false
)
const
drawerHistoryVisible
=
ref
(
false
)
const
dataId
=
ref
(
''
)
const
deployId
=
ref
(
''
)
// 计算属性
const
hasAssignee
=
computed
(()
=>
!!
assigneeId
.
value
)
// 使用 useDrawerInner 接收外部传入的数据
const
[
registerBasicDrawer
,
{
closeDrawer
,
setDrawerProps
}]
=
useDrawerInner
((
data
)
=>
{
const
validateStatus
=
computed
(()
=>
{
if
(
data
)
{
if
(
!
props
.
required
||
hasAssignee
.
value
)
return
''
dataId
.
value
=
data
.
dataId
||
''
return
'error'
deployId
.
value
=
data
.
deployId
||
''
})
if
(
data
.
assignee
)
{
localUserType
.
value
=
data
.
userType
===
'role'
?
'role'
:
'user'
const
validateHelp
=
computed
(()
=>
assigneeId
.
value
=
data
.
assignee
validateStatus
.
value
===
'error'
?
`请选择
${
localUserType
.
value
===
'user'
?
'用户'
:
'角色'
}
`
:
''
if
(
data
.
assigneeName
)
{
)
assigneeDisplayName
.
value
=
data
.
assigneeName
// 初始化数据
const
initData
=
()
=>
{
assigneeId
.
value
=
''
assigneeDisplayName
.
value
=
''
if
(
props
.
assignee
)
{
localUserType
.
value
=
props
.
userType
===
'role'
?
'role'
:
'user'
assigneeId
.
value
=
props
.
assignee
if
(
props
.
assigneeName
)
{
assigneeDisplayName
.
value
=
props
.
assigneeName
}
}
}
else
{
}
else
{
localUserType
.
value
=
props
.
userType
===
'role'
?
'role'
:
'user'
localUserType
.
value
=
data
.
userType
===
'role'
?
'role'
:
'user'
}
}
}
}
})
const
resetDrawer
=
()
=>
{
localUserType
.
value
=
props
.
userType
===
'role'
?
'role'
:
'user'
assigneeId
.
value
=
''
assigneeDisplayName
.
value
=
''
}
const
clearAssignee
=
()
=>
{
const
clearAssignee
=
()
=>
{
assigneeId
.
value
=
''
assigneeId
.
value
=
''
...
@@ -172,7 +155,6 @@ const handleSelect = () => {
...
@@ -172,7 +155,6 @@ const handleSelect = () => {
// 选择用户回调
// 选择用户回调
const
onSelectUserOk
=
(
options
:
any
[],
values
:
any
[])
=>
{
const
onSelectUserOk
=
(
options
:
any
[],
values
:
any
[])
=>
{
alert
(
JSON
.
stringify
(
options
))
if
(
!
values
?.
length
)
return
if
(
!
values
?.
length
)
return
assigneeId
.
value
=
values
[
0
]
assigneeId
.
value
=
values
[
0
]
assigneeDisplayName
.
value
=
options
[
0
]?.
label
||
''
assigneeDisplayName
.
value
=
options
[
0
]?.
label
||
''
...
@@ -181,7 +163,6 @@ const onSelectUserOk = (options: any[], values: any[]) => {
...
@@ -181,7 +163,6 @@ const onSelectUserOk = (options: any[], values: any[]) => {
// 选择角色回调
// 选择角色回调
const
onSelectRoleOk
=
(
options
:
any
[],
values
:
any
[])
=>
{
const
onSelectRoleOk
=
(
options
:
any
[],
values
:
any
[])
=>
{
alert
(
JSON
.
stringify
(
options
))
if
(
!
values
?.
length
)
return
if
(
!
values
?.
length
)
return
assigneeId
.
value
=
values
[
0
]
assigneeId
.
value
=
values
[
0
]
assigneeDisplayName
.
value
=
options
[
0
]?.
label
||
''
assigneeDisplayName
.
value
=
options
[
0
]?.
label
||
''
...
@@ -189,27 +170,23 @@ const onSelectRoleOk = (options: any[], values: any[]) => {
...
@@ -189,27 +170,23 @@ const onSelectRoleOk = (options: any[], values: any[]) => {
}
}
const
handleClose
=
()
=>
{
const
handleClose
=
()
=>
{
emit
(
'update:visible'
,
false
)
closeDrawer
(
)
emit
(
'close'
)
emit
(
'close'
)
}
}
const
handleConfirm
=
async
()
=>
{
const
handleConfirm
=
async
()
=>
{
if
(
props
.
required
&&
!
assigneeId
.
value
)
{
message
.
error
(
`请选择
${
localUserType
.
value
===
'user'
?
'用户'
:
'角色'
}
`
)
return
}
confirmLoading
.
value
=
true
confirmLoading
.
value
=
true
try
{
try
{
const
dataId
=
props
.
dataId
?.
id
||
''
if
(
dataId
.
value
&&
deployId
.
value
)
{
if
(
dataId
&&
props
.
deployId
)
{
const
myTaskFlow
=
await
getMyTaskFlow
({
deploymentId
:
deployId
.
value
,
dataId
:
dataId
.
value
})
const
myTaskFlow
=
await
getMyTaskFlow
({
deploymentId
:
props
.
deployId
,
dataId
})
if
(
myTaskFlow
?.
taskId
)
{
if
(
myTaskFlow
?.
taskId
)
{
await
complete
({
await
complete
({
instanceId
:
myTaskFlow
.
procInsId
||
''
,
instanceId
:
myTaskFlow
.
procInsId
||
''
,
deployId
:
myTaskFlow
.
deployId
||
''
,
deployId
:
myTaskFlow
.
deployId
||
''
,
taskId
:
myTaskFlow
.
taskId
,
taskId
:
myTaskFlow
.
taskId
,
comment
:
''
,
dataId
:
dataId
.
value
,
comment
:
'eeeeeee'
,
values
:
{
values
:
{
approval
:
assigneeId
.
value
,
approval
:
assigneeId
.
value
,
approvalType
:
localUserType
.
value
approvalType
:
localUserType
.
value
...
@@ -218,7 +195,7 @@ const handleConfirm = async () => {
...
@@ -218,7 +195,7 @@ const handleConfirm = async () => {
}
}
}
}
emit
(
'success'
,
props
.
dataId
)
emit
(
'success'
,
dataId
.
value
)
nextTick
(()
=>
{
nextTick
(()
=>
{
message
.
success
(
'任务发送成功'
)
message
.
success
(
'任务发送成功'
)
handleClose
()
handleClose
()
...
@@ -229,7 +206,7 @@ const handleConfirm = async () => {
...
@@ -229,7 +206,7 @@ const handleConfirm = async () => {
}
finally
{
}
finally
{
confirmLoading
.
value
=
false
confirmLoading
.
value
=
false
}
}
}
}
// 对外暴露的方法
// 对外暴露的方法
const
getAssigneeData
=
()
=>
({
const
getAssigneeData
=
()
=>
({
...
@@ -251,32 +228,7 @@ const setRoleInfo = (roleId: string, roleNameValue: string) => {
...
@@ -251,32 +228,7 @@ const setRoleInfo = (roleId: string, roleNameValue: string) => {
localUserType
.
value
=
'role'
localUserType
.
value
=
'role'
}
}
const
openHistoryDrawer
=
()
=>
{
drawerHistoryVisible
.
value
=
true
;
};
// 监听 visible 变化
watch
(()
=>
props
.
visible
,
(
newVal
)
=>
{
if
(
newVal
)
{
initData
()
}
else
{
resetDrawer
()
}
},
{
immediate
:
true
})
watch
(()
=>
props
.
assignee
,
()
=>
{
if
(
props
.
visible
)
initData
()
})
watch
(()
=>
props
.
userType
,
()
=>
{
if
(
props
.
visible
&&
!
props
.
assignee
)
{
localUserType
.
value
=
props
.
userType
===
'role'
?
'role'
:
'user'
}
})
defineExpose
({
defineExpose
({
resetDrawer
,
getAssigneeData
,
getAssigneeData
,
submit
:
handleConfirm
,
submit
:
handleConfirm
,
setUserInfo
,
setUserInfo
,
...
@@ -285,34 +237,6 @@ defineExpose({
...
@@ -285,34 +237,6 @@ defineExpose({
</
script
>
</
script
>
<
style
scoped
lang=
"scss"
>
<
style
scoped
lang=
"scss"
>
.task-assignee-drawer
{
:deep
(
.ant-drawer-body
)
{
padding
:
0
;
height
:
100%
;
overflow
:
hidden
;
}
:deep
(
.ant-drawer-header
)
{
background-color
:
#f5f7fa
;
border-bottom
:
1px
solid
#e8eef2
;
padding
:
16px
24px
;
.ant-drawer-title
{
font-size
:
16px
;
font-weight
:
500
;
color
:
#1f2f3d
;
}
.ant-drawer-close
{
color
:
#8c8c8c
;
&
:hover
{
color
:
#1f2f3d
;
}
}
}
}
.drawer-content
{
.drawer-content
{
height
:
100%
;
height
:
100%
;
overflow-y
:
auto
;
overflow-y
:
auto
;
...
...
zrch-risk-client-39/src/views/common/WorkFlowFormDrawer.vue
浏览文件 @
e4c90ebb
...
@@ -43,12 +43,14 @@
...
@@ -43,12 +43,14 @@
<ApprovalPanel
style=
"width: 100%;height: 100%;"
<ApprovalPanel
style=
"width: 100%;height: 100%;"
ref=
"approvalPanelRef"
ref=
"approvalPanelRef"
:current-node=
"editableNode"
:current-node=
"editableNode"
:before-flow-node=
"workflowNodes[props.currentNodeIndex - 1]"
:deploy-id=
"props.deployId"
:deploy-id=
"props.deployId"
:data-id=
"props.dataId"
:data-id=
"props.dataId"
:assignee=
"props.assignee"
:assignee=
"props.assignee"
:user-type=
"props.userType"
:user-type=
"props.userType"
@
update:approval-data=
"handleApprovalDataUpdate"
@
update:approval-data=
"handleApprovalDataUpdate"
@
success=
"handleApprovalSuccess"
@
success=
"handleApprovalSuccess"
@
approval-fail=
"handleApprovalFail"
/>
/>
</a-col>
</a-col>
...
@@ -197,7 +199,7 @@ const props = defineProps({
...
@@ -197,7 +199,7 @@ const props = defineProps({
})
})
const
emit
=
defineEmits
([
'update:visible'
,
'submit'
,
'close'
,
'form-data-update'
])
const
emit
=
defineEmits
([
'update:visible'
,
'submit'
,
'close'
,
'form-data-update'
,
'success'
,
'approval-fail'
])
// 状态
// 状态
const
submitLoading
=
ref
(
false
)
const
submitLoading
=
ref
(
false
)
...
@@ -251,6 +253,7 @@ function handleFormMounted({ nodeId, instance }: { nodeId: string; instance: any
...
@@ -251,6 +253,7 @@ function handleFormMounted({ nodeId, instance }: { nodeId: string; instance: any
function
handleApprovalSuccess
(
dataId
:
string
)
{
function
handleApprovalSuccess
(
dataId
:
string
)
{
if
(
dataId
===
props
.
dataId
)
{
if
(
dataId
===
props
.
dataId
)
{
message
.
success
(
'审核成功'
)
message
.
success
(
'审核成功'
)
emit
(
'success'
,
dataId
)
handleClose
()
handleClose
()
}
}
}
}
...
@@ -319,6 +322,15 @@ function handleClose() {
...
@@ -319,6 +322,15 @@ function handleClose() {
emit
(
'close'
)
emit
(
'close'
)
}
}
// 处理审核失败
function
handleApprovalFail
(
dataId
:
string
)
{
if
(
dataId
===
props
.
dataId
)
{
message
.
error
(
'审核失败'
)
emit
(
'approval-fail'
,
dataId
)
handleClose
()
}
}
// 重置数据
// 重置数据
function
resetFormData
()
{
function
resetFormData
()
{
if
(
currentFormPanelRef
.
value
)
{
if
(
currentFormPanelRef
.
value
)
{
...
...
zrch-risk-client-39/src/views/flowable/task/myProcess/components/Detail.vue
浏览文件 @
e4c90ebb
...
@@ -206,7 +206,6 @@ if (key === '3') {
...
@@ -206,7 +206,6 @@ if (key === '3') {
deployId
:
taskForm
.
deployId
,
deployId
:
taskForm
.
deployId
,
}).
then
((
res
)
=>
{
}).
then
((
res
)
=>
{
flowData
.
value
=
res
flowData
.
value
=
res
console
.
log
(
"xml88888888888888888"
,
JSON
.
stringify
(
res
))
})
})
}
}
}
}
...
...
zrch-risk-client-39/src/views/project/problemCheck/StProblemCheckList.vue
浏览文件 @
e4c90ebb
...
@@ -170,15 +170,15 @@
...
@@ -170,15 +170,15 @@
emit
(
"sendWorkFlow"
,
record
)
emit
(
"sendWorkFlow"
,
record
)
}
}
async
function
handleUpdate
(
dataId
)
{
async
function
handleUpdate
(
dataId
,
flowNode
)
{
let
record
=
{
let
record
=
{
bmpNodeId
:
props
.
nextF
lowNode
.
id
,
bmpNodeId
:
f
lowNode
.
id
,
deployId
:
props
.
nextF
lowNode
.
deployId
,
deployId
:
f
lowNode
.
deployId
,
bpmStatus
:
2
,
bpmStatus
:
2
,
id
:
dataId
id
:
dataId
}
}
await
saveOrUpdate
(
record
,
true
).
then
(
res
=>
{
await
saveOrUpdate
(
record
,
true
).
then
(
res
=>
{
handleSuccess
(
null
);
(
selectedRowKeys
.
value
=
[])
&&
reload
(
);
})
})
}
}
...
@@ -192,8 +192,6 @@
...
@@ -192,8 +192,6 @@
})
})
}
}
defineExpose
({
defineExpose
({
handleUpdate
,
handleUpdate
,
handleStartUpdate
handleStartUpdate
...
...
zrch-risk-client-39/src/views/project/problemCheck/StProblemExecList.vue
浏览文件 @
e4c90ebb
...
@@ -89,11 +89,14 @@
...
@@ -89,11 +89,14 @@
}
}
async
function
handleUpdate
(
dataId
)
{
async
function
handleUpdate
(
dataId
,
flowNode
)
{
await
saveOrUpdate
({
let
record
=
{
bmpNodeId
:
props
.
nextFlowNode
.
id
,
bmpNodeId
:
flowNode
.
id
,
id
:
dataId
,
deployId
:
flowNode
.
deployId
,
},
true
).
then
(
res
=>
{
bpmStatus
:
2
,
id
:
dataId
}
await
saveOrUpdate
(
record
,
true
).
then
(
res
=>
{
handleSuccess
();
handleSuccess
();
})
})
}
}
...
...
zrch-risk-client-39/src/views/project/problemCheck/StProblemIndex.vue
浏览文件 @
e4c90ebb
...
@@ -34,20 +34,15 @@
...
@@ -34,20 +34,15 @@
@
close=
"handleDrawerClose"
@
close=
"handleDrawerClose"
@
form-data-update=
"handleMultiFormDataUpdate"
@
form-data-update=
"handleMultiFormDataUpdate"
width=
"90%"
width=
"90%"
@
success=
"handlSendSuccess"
@
approval-fail=
"handlApprovalFail"
/>
/>
<TaskAssigneeDrawer
v-model:visible=
"drawerTaskVisible"
<task-assignee-drawer
@
register=
"registerAssigneeDrawer"
:user-type=
"userType"
:assignee=
"assignee"
:deploy-id=
"deployId"
:custom-next-api=
"customNextApi"
:form-data=
"formData"
:data-id=
"dataId"
@
success=
"handlSendSuccess"
@
success=
"handlSendSuccess"
@
error=
"handleError"
@
error=
"handleError"
/>
/>
</div>
</div>
</
template
>
</
template
>
...
@@ -57,7 +52,9 @@
...
@@ -57,7 +52,9 @@
import
{
definitionStart
,
definitionStartByDeployId
,
addMyTaskFlow
}
from
"/@/components/Process/api/definition"
;
import
{
definitionStart
,
definitionStartByDeployId
,
addMyTaskFlow
}
from
"/@/components/Process/api/definition"
;
import
WorkFlowFormDrawer
from
'/@/views/common/WorkFlowFormDrawer.vue'
;
import
WorkFlowFormDrawer
from
'/@/views/common/WorkFlowFormDrawer.vue'
;
import
TaskAssigneeDrawer
from
'/@/views/common/TaskAssigneeDrawer.vue'
import
TaskAssigneeDrawer
from
'/@/views/common/TaskAssigneeDrawer.vue'
import
{
CONNREFUSED
}
from
'dns'
;
import
{
useDrawer
}
from
'/@/components/Drawer'
;
const
[
registerAssigneeDrawer
,
{
openDrawer
:
openAssigneeDrawer
}]
=
useDrawer
();
const
formTableName
=
"st_problem_check"
;
const
formTableName
=
"st_problem_check"
;
const
workflowNodes
=
ref
<
any
[]
>
([]);
const
workflowNodes
=
ref
<
any
[]
>
([]);
...
@@ -104,7 +101,7 @@ import { CONNREFUSED } from 'dns';
...
@@ -104,7 +101,7 @@ import { CONNREFUSED } from 'dns';
function
handleTabChange
(
key
)
{
function
handleTabChange
(
key
)
{
activeTab
.
value
=
key
;
activeTab
.
value
=
key
;
currentMultiFormIndex
.
value
=
key
-
1
;
currentMultiFormIndex
.
value
=
key
-
1
;
currentNode
.
value
=
workflowNodes
.
value
[
key
-
1
];
currentNode
.
value
=
workflowNodes
.
value
[
currentMultiFormIndex
.
value
];
}
}
function
loadComponent
(
url
:
string
)
{
function
loadComponent
(
url
:
string
)
{
...
@@ -154,13 +151,14 @@ import { CONNREFUSED } from 'dns';
...
@@ -154,13 +151,14 @@ import { CONNREFUSED } from 'dns';
const
deployId
=
currentNode
.
value
.
deployId
||
''
;
const
deployId
=
currentNode
.
value
.
deployId
||
''
;
const
startResRaw
=
await
definitionStartByDeployId
(
deployId
,
formData
);
const
startResRaw
=
await
definitionStartByDeployId
(
deployId
,
formData
);
let
myTaskFlow
=
{}
let
myTaskFlow
=
{}
if
(
startResRaw
?.
procInsId
)
{
procInsId
.
value
=
startResRaw
.
procInsId
;
if
(
startResRaw
?.
instanceId
)
{
procInsId
.
value
=
startResRaw
.
instanceId
;
alert
(
procInsId
.
value
)
myTaskFlow
[
"taskId"
]
=
startResRaw
.
taskId
;
myTaskFlow
[
"taskId"
]
=
startResRaw
.
taskId
;
myTaskFlow
[
"deployId"
]
=
startResRaw
.
deployId
;
myTaskFlow
[
"deployId"
]
=
startResRaw
.
deployId
;
myTaskFlow
[
"procInsId"
]
=
startResRaw
.
procIns
Id
;
myTaskFlow
[
"procInsId"
]
=
startResRaw
.
instance
Id
;
myTaskFlow
[
"executionId"
]
=
startResRaw
.
executionId
;
myTaskFlow
[
"executionId"
]
=
startResRaw
.
executionId
;
myTaskFlow
[
"procDefId"
]
=
startResRaw
.
instanceId
;
myTaskFlow
[
"targetId"
]
=
data
.
id
;
myTaskFlow
[
"targetId"
]
=
data
.
id
;
myTaskFlow
[
"taskDefinitionKey"
]
=
currentNode
.
value
.
id
;
myTaskFlow
[
"taskDefinitionKey"
]
=
currentNode
.
value
.
id
;
myTaskFlow
[
"formTableName"
]
=
formTableName
;
myTaskFlow
[
"formTableName"
]
=
formTableName
;
...
@@ -179,7 +177,7 @@ import { CONNREFUSED } from 'dns';
...
@@ -179,7 +177,7 @@ import { CONNREFUSED } from 'dns';
if
(
currentFormComponent
&&
typeof
currentFormComponent
.
handleUpdate
===
'function'
)
{
if
(
currentFormComponent
&&
typeof
currentFormComponent
.
handleUpdate
===
'function'
)
{
currentFormComponent
.
handleStartUpdate
({
currentFormComponent
.
handleStartUpdate
({
dataId
:
data
.
id
,
dataId
:
data
.
id
,
procInsId
:
startResRaw
.
procInsId
,
procInsId
:
procInsId
.
value
,
});
});
}
else
{
}
else
{
console
.
warn
(
'当前组件实例不存在或没有 handleUpdate 方法'
);
console
.
warn
(
'当前组件实例不存在或没有 handleUpdate 方法'
);
...
@@ -191,10 +189,16 @@ import { CONNREFUSED } from 'dns';
...
@@ -191,10 +189,16 @@ import { CONNREFUSED } from 'dns';
drawerTaskVisible
.
value
=
true
;
drawerTaskVisible
.
value
=
true
;
dataId
.
value
=
data
.
id
;
dataId
.
value
=
data
.
id
;
deployId
.
value
=
currentNode
.
value
.
deployId
||
''
;
deployId
.
value
=
currentNode
.
value
.
deployId
||
''
;
await
setNextNodeUser
();
openAssigneeDrawer
(
true
,
{
assignee
:
assignee
.
value
,
assigneeName
:
''
,
userType
:
userType
.
value
,
dataId
:
data
.
id
,
deployId
:
deployId
.
value
,
})
await
setNextNodeUser
();
}
}
const
setNextNodeUser
=
async
()
=>
{
const
setNextNodeUser
=
async
()
=>
{
...
@@ -205,7 +209,7 @@ import { CONNREFUSED } from 'dns';
...
@@ -205,7 +209,7 @@ import { CONNREFUSED } from 'dns';
if
(
userTypes
.
length
>
0
)
{
if
(
userTypes
.
length
>
0
)
{
userType
.
value
=
userTypes
[
0
].
value
||
''
;
userType
.
value
=
userTypes
[
0
].
value
||
''
;
if
(
userType
.
value
===
"role"
){
if
(
userType
.
value
===
"role"
){
if
(
nextNode
.
candidateGroups
){
if
(
nextNode
.
candidateGroups
&&
nextNode
.
candidateGroups
.
length
>
0
){
assignee
.
value
=
nextNode
.
candidateGroups
[
0
].
id
;
assignee
.
value
=
nextNode
.
candidateGroups
[
0
].
id
;
}
}
}
else
{
}
else
{
...
@@ -215,37 +219,6 @@ import { CONNREFUSED } from 'dns';
...
@@ -215,37 +219,6 @@ import { CONNREFUSED } from 'dns';
}
}
// const handleOpenMultiForm = (params: {
// nodeIndex?: number;
// title?: string;
// procDefId?: string;
// formData?: Record
<
string
,
any
>
;
// }) => {
// if (params.nodeIndex !== undefined) {
// currentMultiFormIndex.value = params.nodeIndex;
// } else {
// currentMultiFormIndex.value = activeTab.value - 1;
// }
// if (params.title) {
// drawerTitle.value = params.title;
// } else {
// const currentNode = workflowNodes.value[currentMultiFormIndex.value];
// drawerTitle.value = currentNode ? `${currentNode.name} - 历史表单查看` : '表单处理';
// }
// if (params.procDefId) {
// currentProcDefId.value = params.procDefId;
// } else if (workflowNodes.value[currentMultiFormIndex.value]) {
// currentProcDefId.value = workflowNodes.value[currentMultiFormIndex.value].procDefId || '';
// }
// if (params.formData) {
// externalFormData.value = params.formData;
// } else {
// externalFormData.value = {};
// }
// drawerVisible.value = true;
// };
const
handleMultiFormSubmit
=
async
(
submitData
:
{
const
handleMultiFormSubmit
=
async
(
submitData
:
{
nodeId
:
string
;
nodeName
:
string
;
formData
:
any
;
procDefId
:
string
;
nodeId
:
string
;
nodeName
:
string
;
formData
:
any
;
procDefId
:
string
;
})
=>
{
})
=>
{
...
@@ -268,6 +241,7 @@ import { CONNREFUSED } from 'dns';
...
@@ -268,6 +241,7 @@ import { CONNREFUSED } from 'dns';
};
};
const
handleMultiFormDataUpdate
=
(
data
:
any
)
=>
{
const
handleMultiFormDataUpdate
=
(
data
:
any
)
=>
{
//alert(JSON.stringify(data))
console
.
log
(
'多表单数据更新:'
,
data
);
console
.
log
(
'多表单数据更新:'
,
data
);
// 可以在这里实时保存数据到本地
// 可以在这里实时保存数据到本地
};
};
...
@@ -276,7 +250,8 @@ import { CONNREFUSED } from 'dns';
...
@@ -276,7 +250,8 @@ import { CONNREFUSED } from 'dns';
function
handlSendSuccess
(
dataId
:
any
)
{
function
handlSendSuccess
(
dataId
:
any
)
{
const
currentFormComponent
=
getCurrentFormComponent
();
const
currentFormComponent
=
getCurrentFormComponent
();
if
(
currentFormComponent
&&
typeof
currentFormComponent
.
handleUpdate
===
'function'
)
{
if
(
currentFormComponent
&&
typeof
currentFormComponent
.
handleUpdate
===
'function'
)
{
currentFormComponent
.
handleUpdate
(
dataId
);
const
nextNode
=
workflowNodes
.
value
[
currentMultiFormIndex
.
value
+
1
];
currentFormComponent
.
handleUpdate
(
dataId
,
nextNode
);
}
else
{
}
else
{
console
.
warn
(
'当前组件实例不存在或没有 handleUpdate 方法'
);
console
.
warn
(
'当前组件实例不存在或没有 handleUpdate 方法'
);
}
}
...
@@ -286,6 +261,17 @@ import { CONNREFUSED } from 'dns';
...
@@ -286,6 +261,17 @@ import { CONNREFUSED } from 'dns';
console
.
error
(
'任务处理失败:'
,
error
)
console
.
error
(
'任务处理失败:'
,
error
)
}
}
async
function
handlApprovalFail
(
dataId
:
any
)
{
const
currentFormComponent
=
getCurrentFormComponent
();
if
(
currentFormComponent
&&
typeof
currentFormComponent
.
handleUpdate
===
'function'
)
{
const
beforeNode
=
workflowNodes
.
value
[
currentMultiFormIndex
.
value
-
1
];
alert
(
JSON
.
stringify
(
beforeNode
))
await
currentFormComponent
.
handleUpdate
(
dataId
,
beforeNode
);
}
else
{
console
.
warn
(
'当前组件实例不存在或没有 handleUpdate 方法'
);
}
}
async
function
handleOpenMultiForm
(
data
:
any
)
{
async
function
handleOpenMultiForm
(
data
:
any
)
{
...
...
zrch-risk-client-39/src/views/project/problemCheck/StProblemPlanApprovalList.vue
浏览文件 @
e4c90ebb
...
@@ -81,18 +81,21 @@
...
@@ -81,18 +81,21 @@
label
:
'计划审核'
,
label
:
'计划审核'
,
onClick
:
handlePlanApproval
.
bind
(
null
,
record
),
onClick
:
handlePlanApproval
.
bind
(
null
,
record
),
},
},
{
//
{
label
:
'提交'
,
//
label: '提交',
onClick
:
handleSendNext
.
bind
(
null
,
record
),
//
onClick: handleSendNext.bind(null, record),
},
//
},
];
];
}
}
async
function
handleUpdate
(
dataId
)
{
async
function
handleUpdate
(
dataId
,
flowNode
)
{
await
saveOrUpdate
({
let
record
=
{
bmpNodeId
:
props
.
nextFlowNode
.
id
,
bmpNodeId
:
flowNode
.
id
,
id
:
dataId
,
deployId
:
flowNode
.
deployId
,
},
true
).
then
(
res
=>
{
bpmStatus
:
2
,
id
:
dataId
}
await
saveOrUpdate
(
record
,
true
).
then
(
res
=>
{
handleSuccess
();
handleSuccess
();
})
})
}
}
...
...
zrch-risk-client-39/src/views/project/problemCheck/StProblemPlanList.vue
浏览文件 @
e4c90ebb
...
@@ -86,10 +86,10 @@
...
@@ -86,10 +86,10 @@
];
];
}
}
async
function
handleUpdate
(
dataId
)
{
async
function
handleUpdate
(
dataId
,
flowNode
)
{
let
record
=
{
let
record
=
{
bmpNodeId
:
props
.
nextF
lowNode
.
id
,
bmpNodeId
:
f
lowNode
.
id
,
deployId
:
props
.
nextF
lowNode
.
deployId
,
deployId
:
f
lowNode
.
deployId
,
bpmStatus
:
2
,
bpmStatus
:
2
,
id
:
dataId
id
:
dataId
}
}
...
@@ -103,7 +103,6 @@
...
@@ -103,7 +103,6 @@
})
})
</
script
>
</
script
>
<
style
scoped
></
style
>
<
style
scoped
></
style
>
zrch-risk-client-39/src/views/project/problemCheck/components/StProblemCheckPlanForm.vue
浏览文件 @
e4c90ebb
...
@@ -118,10 +118,8 @@
...
@@ -118,10 +118,8 @@
initFormData
(
props
.
dataId
);
initFormData
(
props
.
dataId
);
const
setFormDisabledStatus
=
(
isEdit
:
boolean
)
=>
{
const
setFormDisabledStatus
=
(
isEdit
:
boolean
)
=>
{
if
(
props
.
disabled
===
false
)
{
setProps
({
disabled
:
isEdit
});
return
false
;
return
isEdit
}
return
true
;
};
};
return
{
return
{
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论