Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
csbr-daop
/
fe-data-trusted-space
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
423e0317
authored
2025-04-28 14:47:51 +0800
by
lihua
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
质量评估,价值评估支持不走流程配置
1 parent
013e2f9d
Show whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
1230 additions
and
147 deletions
src/api/modules/dataAsset.ts
src/api/modules/workFlowService.ts
src/components/Drawer/index.vue
src/components/Form/index.vue
src/components/Tools/table_search.vue
src/router/modules/dataAssetRegistry.ts
src/views/data_asset/contractProgress.vue
src/views/data_asset/qualityEvaluate.vue
src/views/data_asset/registerCatalogDetail.vue
src/views/data_asset/registerDetail.vue
src/views/data_asset/valueEvaluate.vue
src/api/modules/dataAsset.ts
View file @
423e031
...
...
@@ -444,6 +444,41 @@ export const getRegisterExchangeList = () => request({
method
:
'get'
})
/** 获取合同列表 */
export
const
getContractList
=
(
params
)
=>
request
({
url
:
`
${
import
.
meta
.
env
.
VITE_API_NEW_PORTAL
}
/dam-contract/page-list`
,
method
:
'post'
,
data
:
params
})
/** 新增合同 */
export
const
saveDamContract
=
(
params
)
=>
request
({
url
:
`
${
import
.
meta
.
env
.
VITE_API_NEW_PORTAL
}
/dam-contract/save`
,
method
:
'post'
,
data
:
params
})
/** 更新合同 */
export
const
updateDamContract
=
(
params
)
=>
request
({
url
:
`
${
import
.
meta
.
env
.
VITE_API_NEW_PORTAL
}
/dam-contract/update`
,
method
:
'put'
,
data
:
params
})
/** 删除合同 */
export
const
delDamContract
=
(
params
)
=>
request
({
url
:
`
${
import
.
meta
.
env
.
VITE_API_NEW_PORTAL
}
/dam-contract/delete`
,
method
:
'delete'
,
data
:
params
})
/** 获取会员列表 */
export
const
getTenantList
=
(
params
)
=>
request
({
url
:
`
${
import
.
meta
.
env
.
VITE_APP_PERSONAL_URL
}
/tenant/singlePage`
,
method
:
'post'
,
data
:
params
})
// API详情
/** 查询域名和文根 */
/** api类型,有表单类型,自定义sql. */
...
...
src/api/modules/workFlowService.ts
View file @
423e031
...
...
@@ -78,3 +78,8 @@ export const crossPlatformApprove = (params) => request({
method
:
'post'
,
data
:
{}
})
/** 功能流程配置-获取是否需要审批 */
export
const
isNeedApprove
=
(
params
)
=>
request
({
url
:
`
${
import
.
meta
.
env
.
VITE_APP_WORK_FLOW_URL
}
/func-flow-config/is-need-approve?funcCode=
${
params
.
funcCode
}
`
,
method
:
'get'
,
})
...
...
src/components/Drawer/index.vue
View file @
423e031
...
...
@@ -106,7 +106,7 @@ const getDrawerConRef = (refName) => {
}
// const drawerForm = drawerFormRef.value[0] || drawerFormRef.value;
if
(
refName
==
'drawerFormRef'
)
{
const
drawerForm
=
drawerFormRef
.
value
[
0
]
||
drawerFormRef
.
value
;
const
drawerForm
=
drawerFormRef
.
value
?.
[
0
]
||
drawerFormRef
.
value
;
return
drawerForm
}
}
...
...
@@ -153,11 +153,13 @@ const tableBtnClick = (scope, btn) => {
const
submitForm
=
async
(
formEl
:
FormInstance
|
undefined
,
btn
)
=>
{
if
(
!
formEl
)
return
;
await
formEl
.
validate
((
valid
,
fields
)
=>
{
if
(
valid
)
{
const
drawerForm
=
drawerFormRef
.
value
[
0
]
||
drawerFormRef
.
value
;
if
(
valid
)
{
const
formInfo
=
drawerForm
.
formInline
;
emits
(
"drawerBtnClick"
,
btn
,
formInfo
);
}
else
{
var
obj
=
fields
&&
Object
.
keys
(
fields
);
obj
?.[
0
]
&&
formEl
?.
scrollToField
(
obj
?.[
0
])
console
.
log
(
"error submit!"
,
fields
);
}
});
...
...
src/components/Form/index.vue
View file @
423e031
...
...
@@ -1452,7 +1452,8 @@ const panelChange = (scope, row) => {
:disabled=
"item.disabled || readonly"
@
change=
"(val) => cascaderChange(val, item)"
/>
<
template
v-else-if=
"item.type && item.type.indexOf('date') > -1"
>
<el-date-picker
:class=
"[item.col,
{ is_block: item.block }]" v-if="item.type == 'date-picker'"
v-model="formInline[item.field]" type="daterange" range-separator="至" start-placeholder="开始日期"
v-model="formInline[item.field]" type="daterange" range-separator="至" start-placeholder="开始日期" :format="item.format ?? null"
:value-format="item.valueFormat ?? null"
end-placeholder="结束日期" :unlink-panels="item.unlink ?? false" :shortcuts="item.shortcuts ?? []"
:default-value="item.defaultDate" :disabled="item.disabled ?? false" />
<el-date-picker
:class=
"[item.col,
{ is_block: item.block }]" v-else-if="item.type == 'date-year'"
...
...
src/components/Tools/table_search.vue
View file @
423e031
...
...
@@ -182,6 +182,10 @@ onMounted(() => {
<el-date-picker
v-model=
"formInline[item.field]"
type=
"datetimerange"
start-placeholder=
"开始时间"
end-placeholder=
"结束时间"
/>
</
template
>
<
template
v-else-if=
"item.type == 'date-range'"
>
<el-date-picker
v-model=
"formInline[item.field]"
type=
"daterange"
:start-placeholder=
"item.startPlaceholder ?? '开始日期'"
format=
"YYYY-MM-DD"
value-format=
"YYYY-MM-DD"
:end-placeholder=
"item.endPlaceholder ?? '结束日期'"
/>
</
template
>
<
template
v-else-if=
"item.type == 'radio-button'"
>
<el-radio-group
v-model=
"formInline[item.field]"
@
change=
"radioGroupChange"
>
<el-radio-button
v-for=
"opts in item.options"
:label=
"opts.label"
/>
...
...
src/router/modules/dataAssetRegistry.ts
View file @
423e031
...
...
@@ -217,6 +217,27 @@ const routes: RouteRecordRaw[] = [
},
},
]
},
{
path
:
'/data-asset-register/contract-progress'
,
component
:
Layout
,
meta
:
{
title
:
'合同进度一览'
,
icon
:
'ep:grid'
,
},
children
:
[
{
path
:
''
,
name
:
'contractProgress'
,
component
:
()
=>
import
(
'@/views/data_asset/contractProgress.vue'
),
meta
:
{
title
:
'合同进度一览'
,
sidebar
:
false
,
cache
:
true
,
breadcrumb
:
false
,
},
},
]
}
]
export
default
routes
...
...
src/views/data_asset/contractProgress.vue
0 → 100644
View file @
423e031
<route
lang=
"yaml"
>
name: contractProgress
</route>
<
script
lang=
"ts"
setup
name=
"contractProgress"
>
import
{
ref
}
from
'vue'
;
import
{
TableColumnWidth
,
commonPageConfig
}
from
'@/utils/enum'
;
import
{
saveDamContract
,
updateDamContract
,
delDamContract
,
getContractList
,
getParamsList
,
getTenantList
}
from
"@/api/modules/dataAsset"
;
import
{
Plus
}
from
"@element-plus/icons-vue"
;
import
TableTools
from
"@/components/Tools/table_tools.vue"
;
import
{
useValidator
}
from
'@/hooks/useValidator'
;
import
useUserStore
from
"@/store/modules/user"
;
import
{
cloneDeep
}
from
'lodash-es'
;
import
{
onUploadFileDownload
}
from
'@/api/modules/common'
;
const
{
proxy
}
=
getCurrentInstance
()
as
any
;
const
userStore
=
useUserStore
();
const
userData
=
JSON
.
parse
(
userStore
.
userData
)
const
{
required
}
=
useValidator
();
const
contractTypes
:
any
=
ref
([]);
/** 交易合同节点 */
const
tradeContractNodesList
:
any
=
ref
([]);
/** 资产合同节点 */
const
registerContractNodesList
:
any
=
ref
([]);
/** 甲方乙方的下拉会员列表 */
const
partyAList
:
any
=
ref
([]);
const
searchItemList
=
ref
([
{
type
:
"input"
,
label
:
""
,
field
:
"contractName"
,
default
:
""
,
maxlength
:
50
,
placeholder
:
"合同名称"
,
clearable
:
true
,
},
{
label
:
""
,
type
:
"select"
,
placeholder
:
"合同类型"
,
field
:
"contractTypeCode"
,
options
:
contractTypes
.
value
,
default
:
''
,
filterable
:
true
,
clearable
:
true
,
},
{
type
:
'select'
,
label
:
''
,
field
:
'contractNodeCode'
,
default
:
''
,
placeholder
:
'进展阶段'
,
options
:
[],
clearable
:
true
},
{
type
:
"date-range"
,
field
:
"dateRange"
,
default
:
null
,
startPlaceholder
:
'签约开始日期'
,
endPlaceholder
:
'签约结束日期'
,
clearable
:
true
,
required
:
true
}
]);
const
page
=
ref
({
...
commonPageConfig
,
contractName
:
''
,
contractTypeCode
:
''
,
contractNodeCode
:
''
,
dateRange
:
[]
});
const
toSearch
=
(
val
:
any
,
clear
:
boolean
=
false
)
=>
{
page
.
value
.
curr
=
1
;
if
(
clear
)
{
searchItemList
.
value
.
map
((
item
)
=>
(
item
.
default
=
""
));
page
.
value
.
contractName
=
''
;
page
.
value
.
contractTypeCode
=
""
;
page
.
value
.
contractNodeCode
=
""
;
page
.
value
.
dateRange
=
[];
searchItemList
.
value
[
2
].
options
=
[];
}
else
{
page
.
value
.
contractName
=
val
.
contractName
;
page
.
value
.
contractTypeCode
=
val
.
contractTypeCode
;
page
.
value
.
contractNodeCode
=
val
.
contractNodeCode
;
page
.
value
.
dateRange
=
val
.
dateRange
;
}
getTableData
();
};
const
tableTools
=
ref
();
const
handleSearchChange
=
(
val
,
row
,
info
)
=>
{
if
(
row
.
field
==
'contractTypeCode'
)
{
tableTools
.
value
.
toolSearch
.
formInline
.
contractNodeCode
=
''
;
searchItemList
.
value
[
2
].
options
=
val
==
'1'
?
registerContractNodesList
.
value
:
(
!
val
?
[]
:
tradeContractNodesList
.
value
);
}
}
const
getTableData
=
()
=>
{
tableInfo
.
value
.
loading
=
true
;
getContractList
({
pageSize
:
page
.
value
.
limit
,
pageIndex
:
page
.
value
.
curr
,
contractName
:
page
.
value
.
contractName
,
contractTypeCode
:
page
.
value
.
contractTypeCode
,
contractNodeCode
:
page
.
value
.
contractNodeCode
,
startDate
:
page
.
value
.
dateRange
?.[
0
]
||
''
,
endDate
:
page
.
value
.
dateRange
?.[
1
]
||
''
,
}).
then
((
res
:
any
)
=>
{
tableInfo
.
value
.
loading
=
false
if
(
res
.
code
==
proxy
.
$passCode
)
{
const
data
=
res
.
data
||
{}
tableInfo
.
value
.
data
=
data
.
records
||
[];
tableInfo
.
value
.
page
.
curr
=
data
.
pageIndex
;
tableInfo
.
value
.
page
.
rows
=
data
.
totalRows
||
0
;
}
else
{
proxy
.
$ElMessage
.
error
(
res
.
msg
);
}
})
}
const
currTableData
:
any
=
ref
({});
const
tableInfo
=
ref
({
id
:
'contract-data-table'
,
rowKey
:
'guid'
,
loading
:
false
,
fields
:
[
{
label
:
"合同名称"
,
field
:
"contractName"
,
width
:
160
,
align
:
"left"
},
{
label
:
"合同类型"
,
field
:
"contractTypeName"
,
width
:
110
},
{
label
:
"甲方名称"
,
field
:
"partyAName"
,
width
:
180
},
{
label
:
"乙方名称"
,
field
:
"partyBName"
,
width
:
180
},
{
label
:
"签约日期"
,
field
:
"signContractDate"
,
width
:
110
},
],
childFields
:
[
{
label
:
"进展节点"
,
field
:
"contractNodeName"
,
width
:
140
,
align
:
"left"
},
{
label
:
"开始日期"
,
field
:
"startDate"
,
width
:
TableColumnWidth
.
DATE
},
{
label
:
"结束日期"
,
field
:
"endDate"
,
width
:
TableColumnWidth
.
DATE
},
{
label
:
"工作内容描述"
,
field
:
"contentDescribe"
,
width
:
280
},
],
data
:
[],
page
:
{
type
:
"normal"
,
rows
:
0
,
...
page
.
value
,
}
});
const
getNodeSteps
=
(
scope
)
=>
{
let
contractNodeCodes
=
scope
.
row
.
contractNodeCodes
||
[];
return
{
list
:
contractNodeCodes
.
map
((
n
,
index
)
=>
{
return
{
// tooltip: {
// placement: 'top',
// content: n.name,
// className: 'step_title_tooltip',
// effect: 'light',
// },
title
:
n
.
name
,
value
:
index
+
1
}
}),
step
:
!
scope
.
row
.
contractNodes
?.
length
?
null
:
(
scope
.
row
.
contractNodes
.
length
-
1
)
}
}
const
contractEditFormItems
=
ref
([
{
label
:
"合同类型"
,
type
:
"select"
,
placeholder
:
"请选择"
,
field
:
"contractTypeCode"
,
options
:
contractTypes
.
value
,
default
:
''
,
filterable
:
true
,
clearable
:
true
,
required
:
true
,
},
{
type
:
"input"
,
label
:
"合同名称"
,
field
:
"contractName"
,
default
:
""
,
maxlength
:
50
,
placeholder
:
"请输入"
,
clearable
:
true
,
required
:
true
,
},
{
label
:
"甲方名称"
,
type
:
"select"
,
placeholder
:
"请选择"
,
field
:
"partyAGuid"
,
options
:
partyAList
.
value
,
props
:
{
value
:
'guid'
,
label
:
'tenantName'
},
default
:
''
,
filterable
:
true
,
clearable
:
true
,
required
:
true
,
},
{
label
:
"乙方名称"
,
type
:
"select"
,
placeholder
:
"请选择"
,
field
:
"partyBGuid"
,
options
:
partyAList
.
value
,
props
:
{
value
:
'guid'
,
label
:
'tenantName'
},
default
:
''
,
filterable
:
true
,
clearable
:
true
,
required
:
true
,
},
{
label
:
"跟进节点"
,
type
:
"select"
,
placeholder
:
"请选择"
,
field
:
"contractNodeCodes"
,
options
:
[],
multiple
:
true
,
default
:
[],
filterable
:
true
,
collapse
:
true
,
tagsTooltip
:
true
,
clearable
:
true
,
required
:
true
,
},
{
label
:
'签约日期'
,
type
:
'date'
,
placeholder
:
'请输入'
,
field
:
'signContractDate'
,
default
:
""
,
unlink
:
true
,
disabled
:
false
,
clearable
:
true
,
required
:
true
},
]);
const
contractEditFormRules
=
ref
({
contractTypeCode
:
[
required
(
'请选择合同类型'
)],
contractName
:
[
required
(
'请填写合同名称'
)],
partyAGuid
:
[
required
(
'请选择甲方名称'
)],
partyBGuid
:
[
required
(
'请选择乙方名称'
)],
contractNodeCodes
:
[
required
(
'请选择跟进节点'
)],
signContractDate
:
[
required
(
'请选择签约日期'
)],
});
/** 新增分类的form */
const
contractEditFormInfo
=
ref
({
type
:
"form"
,
title
:
""
,
col
:
"span"
,
formInfo
:
{
id
:
"add-class-form"
,
readonly
:
false
,
items
:
contractEditFormItems
.
value
,
rules
:
contractEditFormRules
.
value
,
},
});
const
drawerRef
=
ref
();
/** 新增编辑分类。 */
const
drawerInfo
=
ref
({
visible
:
false
,
direction
:
'rtl'
,
size
:
550
,
header
:
{
title
:
'新增合同'
,
},
type
:
''
,
container
:
{
contents
:
[
contractEditFormInfo
.
value
],
},
footer
:
{
visible
:
true
,
btns
:
[
{
type
:
'default'
,
label
:
'取消'
,
value
:
'cancel'
},
{
type
:
'primary'
,
label
:
'确定'
,
value
:
'save'
,
loading
:
false
},
]
}
})
const
validate
=
async
()
=>
{
if
(
!
nodesInfo
.
value
?.
length
)
{
return
true
;
}
let
taskIndex
=
0
;
for
(
const
task
of
nodesInfo
.
value
)
{
let
res
=
await
depFormRef
.
value
[
'ref-'
+
task
.
contractNodeCode
]?.
ruleFormRef
?.
validate
((
valid
,
errorItem
)
=>
{
if
(
!
valid
)
{
var
obj
=
Object
.
keys
(
errorItem
);
depFormRef
.
value
[
'ref-'
+
task
.
contractNodeCode
]?.
ruleFormRef
?.
scrollToField
(
obj
[
0
]);
return
false
;
}
})
if
(
!
res
)
{
return
res
;
}
taskIndex
++
;
}
return
true
;
}
const
drawerBtnClick
=
async
(
btn
,
info
)
=>
{
if
(
btn
.
value
==
'cancel'
)
{
drawerInfo
.
value
.
visible
=
false
;
}
else
{
if
(
info
.
partyAGuid
==
info
.
partyBGuid
)
{
proxy
.
$ElMessage
.
error
(
`甲方名称跟乙方名称不能选择同一个`
);
drawerRef
.
value
?.
getDrawerConRef
(
'drawerFormRef'
)?.
ruleFormRef
?.
scrollToField
(
'partyAGuid'
);
return
;
}
let
res
=
await
validate
();
if
(
!
res
)
{
return
}
info
.
contractNodes
=
[];
let
index
=
0
;
for
(
const
n
of
nodesInfo
.
value
)
{
let
formInline
=
depFormRef
.
value
[
'ref-'
+
n
.
contractNodeCode
].
formInline
;
if
(
index
!=
0
)
{
if
(
formInline
.
dateRange
[
0
]
<
info
.
contractNodes
[
index
-
1
].
endDate
)
{
proxy
.
$ElMessage
.
error
(
`【
${
n
.
contractNodeName
}
】的开始日期应大于等于上一个节点的结束日期`
);
depFormRef
.
value
[
'ref-'
+
n
.
contractNodeCode
]?.
ruleFormRef
?.
scrollToField
(
'dateRange'
);
return
;
}
}
info
.
contractNodes
.
push
(
Object
.
assign
({},
formInline
,
{
contractNodeCode
:
n
.
contractNodeCode
,
contractGuid
:
currTableData
.
value
.
guid
,
contractTypeCode
:
info
.
contractTypeCode
,
startDate
:
formInline
.
dateRange
[
0
],
endDate
:
formInline
.
dateRange
[
1
],
nodeAchievement
:
formInline
.
nodeAchievement
?.
map
(
n
=>
{
return
{
name
:
n
.
name
,
url
:
n
.
url
}
})
||
[]
}))
index
++
;
}
drawerInfo
.
value
.
footer
.
btns
[
1
].
loading
=
true
;
if
(
drawerInfo
.
value
.
type
==
'add'
)
{
saveDamContract
(
info
).
then
((
res
:
any
)
=>
{
drawerInfo
.
value
.
footer
.
btns
[
1
].
loading
=
false
;
if
(
res
.
code
==
proxy
.
$passCode
)
{
page
.
value
.
curr
=
1
;
getTableData
();
proxy
.
$ElMessage
.
success
(
'新增合同成功'
);
drawerInfo
.
value
.
visible
=
false
;
}
else
{
proxy
.
$ElMessage
.
error
(
res
.
msg
);
}
})
}
else
{
const
params
=
{
...
info
};
params
.
guid
=
currTableData
.
value
.
guid
;
updateDamContract
(
params
).
then
((
res
:
any
)
=>
{
drawerInfo
.
value
.
footer
.
btns
[
1
].
loading
=
false
;
if
(
res
.
code
==
proxy
.
$passCode
)
{
getTableData
();
proxy
.
$ElMessage
.
success
(
'修改合同成功'
);
drawerInfo
.
value
.
visible
=
false
;
}
else
{
proxy
.
$ElMessage
.
error
(
res
.
msg
);
}
})
}
}
}
const
drawerSelectChange
=
(
val
,
row
,
info
)
=>
{
if
(
row
.
field
==
'contractTypeCode'
)
{
contractEditFormItems
.
value
.
forEach
(
item
=>
{
item
.
default
=
info
[
item
.
field
];
if
(
item
.
field
==
'contractNodeCodes'
)
{
item
.
default
=
''
;
nodesInfo
.
value
=
[];
item
.
options
=
val
==
'1'
?
registerContractNodesList
.
value
:
(
!
val
?
[]
:
tradeContractNodesList
.
value
);
}
});
}
else
if
(
row
.
field
==
'contractNodeCodes'
)
{
info
.
contractNodeCodes
=
val
?.
sort
((
a
,
b
)
=>
parseInt
(
a
)
-
parseInt
(
b
));
let
oldNodesInfo
=
nodesInfo
.
value
;
let
nodeInfo
:
any
[]
=
[];
info
.
contractNodeCodes
?.
forEach
(
code
=>
{
let
node
=
oldNodesInfo
.
find
(
on
=>
on
.
contractNodeCode
==
code
);
if
(
node
)
{
let
formInline
=
depFormRef
.
value
[
'ref-'
+
node
.
contractNodeCode
]?.
formInline
||
{};
node
.
nodeFormItems
.
forEach
(
item
=>
{
item
.
default
=
formInline
[
item
.
field
];
})
nodeInfo
.
push
(
node
);
}
else
{
if
(
oldNodesInfo
.
length
>
0
&&
parseInt
(
code
)
<
parseInt
(
oldNodesInfo
[
oldNodesInfo
.
length
-
1
].
contractNodeCode
))
{
nodeInfo
.
push
({
contractNodeCode
:
code
,
contractNodeName
:
registerContractNodesList
.
value
.
find
(
r
=>
r
.
value
==
code
)?.
label
||
tradeContractNodesList
.
value
.
find
(
r
=>
r
.
value
==
code
)?.
label
,
nodeFormItems
:
cloneDeep
(
nodeFormItems
.
value
),
nodeFormRules
:
nodeFormRules
.
value
});
}
}
})
||
[];
nodesInfo
.
value
=
nodeInfo
;
}
}
const
contractNodeCodes
=
computed
(()
=>
{
return
drawerRef
.
value
?.
getDrawerConRef
(
'drawerFormRef'
)?.
formInline
?.
contractNodeCodes
;
})
const
handleNodeFileView
=
(
scope
)
=>
{
let
file
=
scope
.
row
?.
nodeAchievement
?.[
0
];
onUploadFileDownload
(
file
);
}
const
handleTableEdit
=
(
scope
)
=>
{
drawerInfo
.
value
.
visible
=
true
;
drawerInfo
.
value
.
type
=
'edit'
;
drawerInfo
.
value
.
header
.
title
=
'编辑合同'
;
currTableData
.
value
=
scope
.
row
;
contractEditFormItems
.
value
.
forEach
(
item
=>
{
item
.
default
=
scope
.
row
[
item
.
field
];
if
(
item
.
field
==
'contractNodeCodes'
)
{
item
.
default
=
scope
.
row
.
contractNodeCodes
?.
map
(
c
=>
c
.
code
)
||
[];
item
.
options
=
scope
.
row
.
contractTypeCode
==
'1'
?
registerContractNodesList
.
value
:
(
!
scope
.
row
.
contractTypeCode
?
[]
:
tradeContractNodesList
.
value
);
}
})
nodesInfo
.
value
=
scope
.
row
.
contractNodes
?.
map
(
node
=>
{
let
items
=
cloneDeep
(
nodeFormItems
.
value
);
items
.
forEach
(
item
=>
{
item
.
default
=
node
[
item
.
field
];
if
(
item
.
field
==
'dateRange'
)
{
item
.
default
=
[
node
.
startDate
,
node
.
endDate
];
}
})
return
Object
.
assign
({},
node
,
{
nodeFormItems
:
items
,
nodeFormRules
:
nodeFormRules
.
value
})
})
||
[];
}
const
handleTableDel
=
(
scope
)
=>
{
proxy
.
$openMessageBox
(
"确定要删除该登记合同吗?"
,
()
=>
{
delDamContract
([
scope
.
row
.
guid
]).
then
((
res
:
any
)
=>
{
if
(
res
.
code
==
proxy
.
$passCode
)
{
page
.
value
.
curr
=
1
;
getTableData
();
proxy
.
$ElMessage
.
success
(
'删除登记合同成功'
);
}
else
{
proxy
.
$ElMessage
.
error
(
res
.
msg
);
}
});
},
()
=>
{
proxy
.
$ElMessage
.
info
(
"已取消删除"
);
})
}
const
handleCreate
=
()
=>
{
drawerInfo
.
value
.
visible
=
true
;
drawerInfo
.
value
.
type
=
'add'
;
drawerInfo
.
value
.
header
.
title
=
'新增合同'
;
contractEditFormItems
.
value
.
forEach
(
item
=>
{
item
.
default
=
''
;
if
(
item
.
field
==
'partyBGuid'
)
{
item
.
default
=
userData
.
tenantGuid
;
}
})
}
const
nodesInfo
:
any
=
ref
([]);
const
depFormRef
=
ref
({});
const
setDepItemRef
=
(
el
:
any
,
index
:
string
)
=>
{
if
(
el
)
{
depFormRef
.
value
[
'ref-'
+
index
]
=
el
;
}
}
const
nodeFormItems
=
ref
([{
label
:
"开始日期~结束日期"
,
type
:
"date-picker"
,
field
:
"dateRange"
,
default
:
[],
placeholder
:
"开始日期~结束日期"
,
clearable
:
true
,
format
:
'YYYY-MM-DD'
,
valueFormat
:
'YYYY-MM-DD'
,
block
:
true
,
required
:
true
,
},
// {
// label: '开始日期',
// type: 'date',
// placeholder: '请选择',
// field: 'startDate',
// default: "",
// unlink: true,
// disabled: false,
// clearable: true,
// required: true
// }, {
// label: '结束日期',
// type: 'date',
// placeholder: '请选择',
// field: 'endDate',
// default: "",
// unlink: true,
// disabled: false,
// clearable: true,
// required: true
// },
{
label
:
'节点成果上传'
,
tip
:
'支持格式:xls .xlsx .doc .docx .rar .zip'
,
type
:
'upload-file'
,
accept
:
'.xls, .xlsx, .doc, .docx, .rar, .zip'
,
required
:
true
,
block
:
true
,
visible
:
true
,
default
:
[],
field
:
'nodeAchievement'
,
limit
:
1
,
},
{
label
:
'工作内容描述'
,
type
:
'textarea'
,
placeholder
:
'请输入'
,
field
:
'contentDescribe'
,
default
:
''
,
maxlength
:
200
,
block
:
true
,
clearable
:
true
,
},]);
const
nodeFormRules
=
ref
({
dateRange
:
[{
type
:
'array'
,
required
:
true
,
message
:
'请填写开始日期~结束日期'
,
trigger
:
'change'
,
}],
// startDate: [required('请填写开始日期')],
// endDate: [required('请填写结束日期')],
nodeAchievement
:
[{
validator
:
(
rule
:
any
,
value
:
any
,
callback
:
any
)
=>
{
if
(
!
value
?.
length
)
{
callback
(
new
Error
(
'请上传节点成果附件'
))
}
else
{
callback
();
}
},
trigger
:
'change'
}],
});
const
addNode
=
()
=>
{
let
len
=
nodesInfo
.
value
.
length
;
let
code
=
contractNodeCodes
.
value
[
len
];
let
nodeList
=
drawerRef
.
value
?.
getDrawerConRef
(
'drawerFormRef'
)?.
formInline
?.
contractTypeCode
==
'2'
?
tradeContractNodesList
.
value
:
registerContractNodesList
.
value
;
nodesInfo
.
value
.
push
({
contractNodeCode
:
code
,
contractNodeName
:
nodeList
.
find
(
r
=>
r
.
value
==
code
)?.
label
,
nodeFormItems
:
cloneDeep
(
nodeFormItems
.
value
),
nodeFormRules
:
nodeFormRules
.
value
})
}
const
handleDelNode
=
(
index
)
=>
{
proxy
.
$openMessageBox
(
"确定要删除该进展阶段节点信息录入吗?"
,
()
=>
{
nodesInfo
.
value
.
splice
(
index
,
1
);
},
()
=>
{
proxy
.
$ElMessage
.
info
(
"已取消删除"
);
})
}
onBeforeMount
(()
=>
{
getParamsList
({
dictType
:
"资产合同类型"
}).
then
((
res
:
any
)
=>
{
contractTypes
.
value
=
[];
if
(
res
.
code
==
proxy
.
$passCode
)
{
contractTypes
.
value
=
res
.
data
||
[];
searchItemList
.
value
[
1
].
options
=
contractTypes
.
value
;
contractEditFormItems
.
value
[
0
].
options
=
contractTypes
.
value
;
}
else
{
proxy
.
$ElMessage
.
error
(
res
.
msg
);
}
})
getParamsList
({
dictType
:
"交易合同节点"
}).
then
((
res
:
any
)
=>
{
tradeContractNodesList
.
value
=
[];
if
(
res
.
code
==
proxy
.
$passCode
)
{
tradeContractNodesList
.
value
=
res
.
data
||
[];
}
else
{
proxy
.
$ElMessage
.
error
(
res
.
msg
);
}
})
getParamsList
({
dictType
:
"登记合同节点"
}).
then
((
res
:
any
)
=>
{
registerContractNodesList
.
value
=
[];
if
(
res
.
code
==
proxy
.
$passCode
)
{
registerContractNodesList
.
value
=
res
.
data
||
[];
}
else
{
proxy
.
$ElMessage
.
error
(
res
.
msg
);
}
})
getTenantList
({
bizState
:
'Y'
,
pageSize
:
-
1
}).
then
((
res
:
any
)
=>
{
partyAList
.
value
=
[];
if
(
res
.
code
==
proxy
.
$passCode
)
{
partyAList
.
value
=
res
.
data
?.
records
||
[];
contractEditFormItems
.
value
[
2
].
options
=
partyAList
.
value
;
contractEditFormItems
.
value
[
3
].
options
=
partyAList
.
value
;
}
else
{
proxy
.
$ElMessage
.
error
(
res
.
msg
);
}
})
})
</
script
>
<
template
>
<div
class=
"container_wrap"
>
<div
class=
"table_tool_wrap"
>
<TableTools
ref=
"tableTools"
:searchItems=
"searchItemList"
:searchId=
"'contract-data-search'"
@
search=
"toSearch"
:init=
"true"
@
select-change=
"handleSearchChange"
/>
</div>
<div
class=
"tools_btns"
>
<el-button
type=
"primary"
@
click=
"handleCreate"
>
新增
</el-button>
</div>
<div
class=
"table_panel_wrap"
>
<el-table
v-loading=
"tableInfo.loading"
ref=
"tableRef"
:data=
"tableInfo.data"
:highlight-current-row=
"true"
stripe
border
height=
"100%"
tooltip-effect=
"light"
row-key=
"guid"
class=
"expand-table"
:style=
"
{ width: '100%', height: 'calc(100% - 8px)', margin: '8px 0px', display: 'inline-block', }">
<el-table-column
type=
"expand"
>
<template
#
default=
"scope"
>
<el-table
ref=
"fieldsTableRef"
:data=
"scope.row.contractNodes"
:highlight-current-row=
"true"
stripe
border
height=
"100%"
tooltip-effect=
"light"
:style=
"
{
width: '100%',
'max-height': '100%',
display: 'inline-block',
}">
<el-table-column
label=
"序号"
type=
"index"
width=
"56px"
align=
"center"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
v-for=
"field in tableInfo.childFields"
:prop=
"field.field"
:label=
"field.label"
:width=
"field.width"
:align=
"field.align"
show-overflow-tooltip
>
<template
#
default=
"scope"
>
<span>
{{
scope
.
row
[
field
.
field
||
''
]
||
'--'
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"附件信息"
width=
"120px"
align=
"left"
fixed=
"right"
show-overflow-tooltip
>
<
template
#
default=
"scope"
>
<span
class=
"text_btn"
@
click=
"handleNodeFileView(scope)"
>
查看
</span>
</
template
>
</el-table-column>
</el-table>
</template>
</el-table-column>
<el-table-column
label=
"序号"
type=
"index"
width=
"56px"
align=
"center"
show-overflow-tooltip
>
</el-table-column>
<el-table-column
v-for=
"field in tableInfo.fields"
:prop=
"field.field"
:label=
"field.label"
:width=
"field.width"
:align=
"field.align"
show-overflow-tooltip
>
<
template
#
default=
"scope"
>
<span>
{{
scope
.
row
[
field
.
field
||
''
]
||
'--'
}}
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"进展阶段"
width=
"450px"
align=
"center"
>
<
template
#
default=
"scope"
>
<div
class=
"custom-steps"
v-if=
"scope.row.contractNodeCodes?.length"
>
<StepBar
:steps-info=
"getNodeSteps(scope)"
/>
</div>
<span
v-else
>
--
</span>
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
width=
"100px"
align=
"left"
fixed=
"right"
show-overflow-tooltip
>
<
template
#
default=
"scope"
>
<span
class=
"text_btn"
@
click=
"handleTableEdit(scope)"
>
编辑
</span>
<span
class=
"text_btn ml4"
@
click=
"handleTableDel(scope)"
>
删除
</span>
</
template
>
</el-table-column>
</el-table>
</div>
<Drawer
:drawerInfo=
"drawerInfo"
@
drawerBtnClick=
"drawerBtnClick"
ref=
"drawerRef"
@
drawerSelectChange=
'drawerSelectChange'
>
<!-- 传递到 Form 组件中的默认插槽 -->
<
template
v-slot:default
>
<template
v-if=
"contractNodeCodes?.length > 0"
>
<div
class=
"title-label"
>
进展阶段录入
</div>
<!-- 渲染行 -->
<div
v-for=
"(row, index) in nodesInfo"
:key=
"index"
class=
"match-content-wrapper"
>
<div
class=
"title-row"
><span
class=
"title"
>
{{
row
.
contractNodeName
}}
</span><span
class=
"btns"
v-show=
"index == nodesInfo.length - 1"
@
click=
"handleDelNode(index)"
>
删除
</span></div>
<Form
:ref=
"(el: any) =>
{ setDepItemRef(el, row.contractNodeCode) }" :itemList="row.nodeFormItems"
:formId="'node-form' + index" :rules="row.nodeFormRules" col="col2" />
</div>
<!-- 新增按钮 -->
<div
class=
"bottm_tools"
v-show=
"nodesInfo.length
< contractNodeCodes
?.
length
"
@
click=
"addNode"
>
<el-icon>
<Plus
/>
</el-icon>
<span>
新增进展
</span>
</div>
</
template
>
</template>
</Drawer>
</div>
</template>
<
style
lang=
"scss"
scoped
>
.container_wrap
{
padding
:
0
16px
;
}
.table_panel_wrap
{
height
:
calc
(
100%
-
94px
);
}
.ml4
{
margin-left
:
4px
;
}
:deep
(
.custom-steps
)
{
width
:
100%
;
height
:
64px
;
display
:
flex
;
.el-steps
{
width
:
100%
;
}
}
.title-label
{
margin-bottom
:
4px
;
font-size
:
18px
;
color
:
#212121
;
}
.title-row
{
height
:
48px
;
display
:
flex
;
justify-content
:
space-between
;
align-items
:
center
;
.title
{
color
:
#212121
;
font-size
:
16px
;
font-weight
:
600
;
}
.btns
{
cursor
:
pointer
;
color
:
var
(
--el-color-primary
);
font-size
:
14px
;
}
}
.bottm_tools
{
width
:
100%
;
height
:
40px
;
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
background
:
#fafafa
;
color
:
#999
;
font-size
:
14px
;
border
:
1px
dashed
var
(
--el-border-color-regular
);
margin-bottom
:
12px
;
>span
{
margin-left
:
8px
;
}
&
:hover
{
background
:
#EBF6F7
;
border
:
1px
dashed
var
(
--el-color-primary
);
}
}
:deep
(
.el-table.expand-table
)
{
.el-table__expanded-cell.el-table__cell
{
background
:
#fff
!important
;
padding-left
:
48px
;
padding-right
:
8px
;
}
}
:deep
(
.el-steps
)
{
.el-step__head.is-finish
.el-step__icon.is-icon
{
background-color
:
transparent
;
}
}
</
style
>
\ No newline at end of file
src/views/data_asset/qualityEvaluate.vue
View file @
423e031
...
...
@@ -15,13 +15,14 @@ import {
qualityAllow
,
deleteQuality
,
updatQuality
,
getTenantList
}
from
"@/api/modules/dataAsset"
;
import
useUserStore
from
"@/store/modules/user"
;
import
useDataAssetStore
from
"@/store/modules/dataAsset"
;
import
{
getStaffDetailInfo
}
from
"@/api/modules/queryService"
;
import
{
rejectFlowData
,
revokeFlowData
,
getCamundaDeploymentId
,
getProcessNodesPromise
,
isMyFirstNode
,
passFlowData
}
from
"@/api/modules/workFlowService"
;
import
{
isNeedApprove
,
rejectFlowData
,
revokeFlowData
,
getCamundaDeploymentId
,
getProcessNodesPromise
,
isMyFirstNode
,
passFlowData
}
from
"@/api/modules/workFlowService"
;
const
assetStore
=
useDataAssetStore
();
...
...
@@ -51,7 +52,7 @@ const tableFields = ref([
{
label
:
"登记时间"
,
field
:
"registerTime"
,
width
:
120
},
// { label: "企业名称", field: "tenantName", width: 240, align: "left" },
{
label
:
"评估机构"
,
field
:
"evaluationAgencyName"
,
width
:
250
,
align
:
"left"
},
{
label
:
"审批状态"
,
field
:
"approveVO"
,
type
:
"approveTag"
,
width
:
96
,
align
:
'center'
},
{
label
:
"审批状态"
,
field
:
"approveVO"
,
type
:
"approveTag"
,
enableNoApprove
:
true
,
width
:
96
,
align
:
'center'
},
{
label
:
"主平台审批状态"
,
field
:
"crossPlatformApproveState"
,
type
:
"approveTagBtn"
,
width
:
150
,
align
:
'center'
,
btn
:
{
label
:
'查看'
,
visible
:
(
scope
)
=>
{
...
...
@@ -66,7 +67,21 @@ const tableFields = ref([
const
deploymentId
=
ref
(
''
);
onMounted
(()
=>
{
const
tenantList
:
any
=
ref
([]);
onBeforeMount
(()
=>
{
getTenantList
({
bizState
:
'Y'
,
pageSize
:
-
1
}).
then
((
res
:
any
)
=>
{
tenantList
.
value
=
[];
if
(
res
.
code
==
proxy
.
$passCode
)
{
tenantList
.
value
=
res
.
data
?.
records
||
[];
formItems
.
value
[
1
].
options
=
tenantList
.
value
;
}
else
{
proxy
.
$ElMessage
.
error
(
res
.
msg
);
}
})
});
onActivated
(()
=>
{
...
...
@@ -144,17 +159,31 @@ const getTableData = () => {
})
}
let
needApprovePromise
=
ref
();
const
needApprove
=
ref
(
true
);
const
handleCreate
=
()
=>
{
if
(
!
assetListData
.
value
.
length
)
{
ElMessage
.
warning
(
'当前没有可发起质量评价的资产!'
);
return
;
}
if
(
needApprovePromise
.
value
)
{
return
;
}
needApprovePromise
.
value
=
isNeedApprove
({
funcCode
:
'ZCZLPJ'
}).
then
((
res1
:
any
)
=>
{
needApprovePromise
.
value
=
null
;
if
(
res1
.
code
==
proxy
.
$passCode
)
{
needApprove
.
value
=
res1
.
data
;
formItems
.
value
[
0
].
visible
=
true
;
formItems
.
value
[
0
].
default
=
''
;
formItems
.
value
[
1
].
visible
=
true
;
formItems
.
value
[
1
].
default
=
[];
formItems
.
value
[
1
].
visible
=
!
needApprove
.
value
;
formItems
.
value
[
1
].
default
=
''
;
formItems
.
value
[
2
].
visible
=
true
;
formItems
.
value
[
2
].
default
=
[];
dialogInfo
.
value
.
visible
=
true
;
dialogInfo
.
value
.
type
=
''
;
if
(
needApprove
.
value
)
{
getCamundaDeploymentId
(
'10018'
,
userData
.
tenantGuid
,
userData
.
staffGuid
).
then
((
res
:
any
)
=>
{
if
(
res
.
code
==
proxy
.
$passCode
)
{
deploymentId
.
value
=
res
.
data
;
...
...
@@ -163,6 +192,11 @@ const handleCreate = () => {
proxy
.
$ElMessage
.
error
(
res
.
msg
);
}
})
}
}
else
{
proxy
.
$ElMessage
.
error
(
res1
.
msg
);
}
})
}
const
page
=
ref
({
...
...
@@ -203,7 +237,13 @@ const tableInfo = ref({
const
getTableBtns
=
(
row
)
=>
{
let
btnsArr
:
any
[]
=
[];
const
approveVO
=
row
.
approveVO
||
{};
const
approveVO
=
row
.
approveVO
;
if
(
!
approveVO
&&
row
.
isApprove
==
'N'
)
{
btnsArr
.
push
({
label
:
"编辑"
,
value
:
"redit"
});
btnsArr
.
push
({
label
:
"删除"
,
value
:
"del"
});
btnsArr
.
push
({
label
:
"详情"
,
value
:
"detail"
});
return
btnsArr
;
}
const
approveState
=
row
.
approveVO
.
approveState
||
null
;
const
approveStaffGuids
=
approveVO
.
approveStaffGuids
||
[];
const
staffGuid
=
approveVO
.
staffGuid
||
''
;
...
...
@@ -254,11 +294,21 @@ const tableBtnClick = (scope, btn) => {
currTableData
.
value
=
row
;
console
.
log
(
row
,
'-------'
);
if
(
type
==
"redit"
)
{
isNeedApprove
({
funcCode
:
'ZCZLPJ'
}).
then
((
res1
:
any
)
=>
{
if
(
res1
.
code
==
proxy
.
$passCode
)
{
needApprove
.
value
=
res1
.
data
;
formItems
.
value
[
0
].
visible
=
false
;
formItems
.
value
[
0
].
default
=
row
.
damGuid
;
formItems
.
value
[
1
].
visible
=
!
needApprove
.
value
;
formItems
.
value
[
1
].
default
=
row
.
evaluationAgencyGuid
;
formItems
.
value
[
2
].
default
=
row
.
qualityEvaluationFile
||
[];
dialogInfo
.
value
.
contents
[
0
].
formInfo
.
items
=
formItems
.
value
;
dialogInfo
.
value
.
visible
=
true
;
dialogInfo
.
value
.
type
=
'reSubmit'
;
formItems
.
value
[
0
].
visible
=
false
;
formItems
.
value
[
0
].
default
=
row
.
registerGuid
;
formItems
.
value
[
1
].
default
=
row
.
qualityEvaluationFile
||
[];
}
else
{
proxy
.
$ElMessage
.
error
(
res1
.
msg
);
}
})
}
else
if
(
type
==
"del"
)
{
delTableOpen
(
"此操作将永久删除该资产质量评价,是否继续?"
,
"warning"
);
}
else
if
(
type
===
'reject'
)
{
...
...
@@ -390,6 +440,20 @@ const formItems = ref([{
visible
:
true
,
required
:
true
},
{
label
:
'评估机构'
,
type
:
'select'
,
placeholder
:
'请选择'
,
field
:
'evaluationAgencyGuid'
,
default
:
''
,
block
:
true
,
options
:
tenantList
.
value
,
props
:
{
value
:
'guid'
,
label
:
'tenantName'
},
visible
:
false
,
required
:
true
},
{
label
:
'附件上传'
,
tip
:
'支持格式:xls .xlsx .doc .docx .rar .zip'
,
type
:
'upload-file'
,
...
...
@@ -456,6 +520,62 @@ const dialogInfo = ref({
/** 编辑质量评价发起资产申请按钮处理。 */
const
dialogBtnClick
=
(
btn
,
info
)
=>
{
if
(
btn
.
value
==
'submit'
)
{
if
(
!
needApprove
.
value
)
{
// 不需要走流程审批的提交
dialogInfo
.
value
.
footer
.
btns
[
1
].
loading
=
true
;
if
(
dialogInfo
.
value
.
type
==
'reSubmit'
)
{
updatQuality
({
guid
:
currTableData
.
value
.
guid
,
tenantGuid
:
userData
.
tenantGuid
,
damGuid
:
currTableData
.
value
.
damGuid
,
daName
:
currTableData
.
value
.
daName
,
immediateApprove
:
true
,
evaluationAgencyGuid
:
info
.
evaluationAgencyGuid
,
qualityEvaluationFile
:
info
.
qualityEvaluationFile
?.
map
(
file
=>
{
return
{
name
:
file
.
name
,
url
:
file
.
url
}
})
||
[]
}).
then
((
res
:
any
)
=>
{
dialogInfo
.
value
.
footer
.
btns
[
1
].
loading
=
false
;
if
(
res
?.
code
==
proxy
.
$passCode
)
{
ElMessage
.
success
(
'该资产质量评价重新提交成功'
);
dialogInfo
.
value
.
visible
=
false
;
page
.
value
.
curr
=
1
;
getTableData
();
}
else
{
ElMessage
.
error
(
res
.
msg
);
}
})
}
else
{
let
daInfo
=
assetListData
.
value
.
find
(
a
=>
a
.
guid
==
info
.
damGuid
);
saveQuality
({
tenantGuid
:
userData
.
tenantGuid
,
damGuid
:
info
.
damGuid
,
daName
:
daInfo
.
damName
,
immediateApprove
:
true
,
evaluationAgencyGuid
:
info
.
evaluationAgencyGuid
,
qualityEvaluationFile
:
info
.
qualityEvaluationFile
?.
map
(
file
=>
{
return
{
name
:
file
.
name
,
url
:
file
.
url
}
})
||
[]
}).
then
((
res
:
any
)
=>
{
dialogInfo
.
value
.
footer
.
btns
[
1
].
loading
=
false
;
if
(
res
?.
code
==
proxy
.
$passCode
)
{
ElMessage
.
success
(
'质量评价发起成功'
);
dialogInfo
.
value
.
visible
=
false
;
page
.
value
.
curr
=
1
;
getTableData
();
}
else
{
ElMessage
.
error
(
res
.
msg
);
}
})
}
}
else
{
// 需要走流程的审批功能。
dialogInfo
.
value
.
footer
.
btns
[
1
].
loading
=
true
;
let
submitFunc
=
()
=>
{
getProcessNodesPromise
({
...
...
@@ -540,6 +660,7 @@ const dialogBtnClick = (btn, info) => {
}
})
}
}
}
else
if
(
btn
.
value
==
'cancel'
)
{
dialogInfo
.
value
.
visible
=
false
;
}
...
...
src/views/data_asset/registerCatalogDetail.vue
View file @
423e031
...
...
@@ -114,7 +114,7 @@ const getDetailInfo = () => {
if
(
res
.
code
==
proxy
.
$passCode
)
{
const
data
=
res
.
data
||
{};
evaDetailInfo
.
value
=
data
;
deploymentId
.
value
=
data
.
approveVO
.
camundaDeploymentId
;
deploymentId
.
value
=
data
.
approveVO
?
.
camundaDeploymentId
;
processInstanceId
.
value
=
data
.
approveVO
?.
camundaInstanceId
;
}
else
{
proxy
.
$ElMessage
.
error
(
res
.
msg
);
...
...
@@ -127,7 +127,7 @@ const getDetailInfo = () => {
const
data
=
res
.
data
||
{};
costAssessDetail
.
value
=
data
;
evaDetailInfo
.
value
=
data
;
deploymentId
.
value
=
data
.
approveVO
.
camundaDeploymentId
;
deploymentId
.
value
=
data
.
approveVO
?
.
camundaDeploymentId
;
processInstanceId
.
value
=
data
.
approveVO
?.
camundaInstanceId
;
}
else
{
proxy
.
$ElMessage
.
error
(
res
.
msg
);
...
...
@@ -209,6 +209,9 @@ const toolBtns: any = computed(() => {
label: "关闭", value: "cancel", plain: true
}];
let approveVO = evaDetailInfo.value.approveVO || costAssessDetail.value.approveVO;
if (!approveVO) {
return btnsArr;
}
let staffGuid = userData.staffGuid;
if (approveVO && approveVO.approveState == 'A' && approveVO.approveStaffGuids && approveVO.approveStaffGuids.indexOf(staffGuid) > -1) {
btnsArr.push(...[{ label: "通过", value: "pass", type: 'primary' }, { label: "驳回", value: "reject", type: 'danger', plain: true }]);
...
...
@@ -1171,7 +1174,7 @@ const handleClick = () => {
</div>
</ContentWrap>
<ContentWrap
v-if=
"
route.query.type == 'qualityEvaluate' || route.query.type == 'costAssess'
"
id=
"id-approveInfo"
<ContentWrap
v-if=
"
(route.query.type == 'qualityEvaluate' && evaDetailInfo.approveVO && evaDetailInfo.isApprove !='N') || (route.query.type == 'costAssess' && costAssessDetail.approveVO && costAssessDetail.isApprove !='N')
"
id=
"id-approveInfo"
title=
"审批信息"
description=
""
style=
"margin: 16px 16px 16px"
>
<ApprovalProcess
ref=
"approvalProcessRef"
v-if=
"deploymentId"
:deploymentId=
"deploymentId"
:processInstanceId=
"processInstanceId"
>
</ApprovalProcess>
...
...
src/views/data_asset/registerDetail.vue
View file @
423e031
...
...
@@ -78,7 +78,7 @@ const getDetailInfo = () => {
const
data
=
res
.
data
||
{};
evaDetailInfo
.
value
=
data
;
detailInfo
.
value
=
data
;
deploymentId
.
value
=
data
.
approveVO
.
camundaDeploymentId
;
deploymentId
.
value
=
data
.
approveVO
?
.
camundaDeploymentId
;
processInstanceId
.
value
=
data
.
approveVO
?.
camundaInstanceId
;
//需要显示质量评价信息
if
(
data
.
qualityScore
!=
null
)
{
...
...
@@ -90,6 +90,9 @@ const getDetailInfo = () => {
tabsInfo
.
value
.
tabs
.
splice
(
3
,
1
);
}
}
if
(
evaDetailInfo
.
value
.
isApprove
==
'N'
)
{
tabsInfo
.
value
.
tabs
.
pop
();
}
if
(
fullPath
===
route
.
fullPath
)
{
document
.
title
=
`详情-
${
data
.
daName
}
`
;
}
...
...
@@ -124,7 +127,7 @@ const getDetailInfo = () => {
const
data
=
res
.
data
||
{};
costAssessDetailInfo
.
value
=
data
;
detailInfo
.
value
=
data
;
deploymentId
.
value
=
data
.
approveVO
.
camundaDeploymentId
;
deploymentId
.
value
=
data
.
approveVO
?
.
camundaDeploymentId
;
processInstanceId
.
value
=
data
.
approveVO
?.
camundaInstanceId
;
// 需要显示价值评估信息
if
(
data
.
assessmentMoney
!=
null
)
{
...
...
@@ -136,7 +139,9 @@ const getDetailInfo = () => {
tabsInfo
.
value
.
tabs
.
splice
(
3
,
1
);
}
}
if
(
costAssessDetailInfo
.
value
.
isApprove
==
'N'
)
{
tabsInfo
.
value
.
tabs
.
pop
();
}
if
(
data
.
qualityScore
)
{
// 确保"质量评价"标签存在于tabs中,并插入到"价值评估"前面
const
qualityTabIndex
=
tabsInfo
.
value
.
tabs
.
findIndex
(
tab
=>
tab
.
name
===
"qualityEvaluate"
);
...
...
@@ -285,8 +290,8 @@ const getDetailInfo = () => {
let
{
approveVO
}
=
data
;
detailInfo
.
value
=
data
;
assetDetailInfo
.
value
=
data
;
deploymentId
.
value
=
approveVO
.
camundaDeploymentId
;
processInstanceId
.
value
=
approveVO
.
camundaInstanceId
;
deploymentId
.
value
=
approveVO
?
.
camundaDeploymentId
;
processInstanceId
.
value
=
approveVO
?
.
camundaInstanceId
;
isTextTruncated
();
}
else
{
ElMessage
.
error
(
res
.
msg
);
...
...
@@ -446,6 +451,9 @@ const toolBtns: any = computed(() => {
return
btnsArr
;
}
let
approveVO
=
detailInfo
.
value
.
approveVO
;
if
(
!
approveVO
)
{
return
btnsArr
;
}
let
staffGuid
=
userData
.
staffGuid
;
if
(
approveVO
&&
approveVO
.
approveState
==
'A'
&&
approveVO
.
approveStaffGuids
&&
approveVO
.
approveStaffGuids
.
indexOf
(
staffGuid
)
>
-
1
)
{
btnsArr
.
push
(...[{
label
:
"通过"
,
value
:
"pass"
,
type
:
'primary'
},
{
label
:
"驳回"
,
value
:
"reject"
,
type
:
'danger'
,
plain
:
true
}]);
...
...
@@ -1749,7 +1757,7 @@ const passCommonDialogBtnClick = (btn, info) => {
</div>
</ContentWrap>
<ContentWrap id="
id
-
approveInfo
" title="
审批信息
" expandSwicth style="
margin
-
top
:
15
px
"
:isExpand="
approveInfoExpand
" @expand="
(
v
)
=>
approveInfoExpand
=
v
" v-if="
route
.
query
.
type
!=
'certificate'
">
:isExpand="
approveInfoExpand
" @expand="
(
v
)
=>
approveInfoExpand
=
v
" v-if="
tabsInfo
.
tabs
.
find
(
t
=>
t
.
name
==
'approveInfo'
)
&&
route
.
query
.
type
!=
'certificate'
">
<!-- <Table :tableInfo="
approveTableInfo
" /> -->
<ApprovalProcess ref="
approvalProcessRef
" v-if="
deploymentId
" :deploymentId="
deploymentId
"
:processInstanceId="
processInstanceId
">
...
...
src/views/data_asset/valueEvaluate.vue
View file @
423e031
...
...
@@ -12,14 +12,15 @@ import {
saveCostAssess
,
updateCostAssess
,
deleteCostAssess
,
costAssessAllow
costAssessAllow
,
getTenantList
}
from
"@/api/modules/dataAsset"
;
import
{
getStaffDetailInfo
}
from
"@/api/modules/queryService"
;
import
useUserStore
from
"@/store/modules/user"
;
import
useDataAssetStore
from
"@/store/modules/dataAsset"
;
import
{
getCamundaDeploymentId
,
getProcessNodesPromise
,
passFlowData
,
rejectFlowData
,
revokeFlowData
,
isMyFirstNode
}
from
'@/api/modules/workFlowService'
;
import
{
isNeedApprove
,
getCamundaDeploymentId
,
getProcessNodesPromise
,
passFlowData
,
rejectFlowData
,
revokeFlowData
,
isMyFirstNode
}
from
'@/api/modules/workFlowService'
;
import
{
changeNum
}
from
'@/utils/common'
;
const
assetStore
=
useDataAssetStore
();
...
...
@@ -43,11 +44,14 @@ const tableFields = ref([
// { label: "企业名称", field: "tenantName", width: 240, align: "left" },
{
label
:
"评估机构"
,
field
:
"evaluationAgencyName"
,
width
:
250
,
align
:
"left"
},
{
label
:
"审批状态"
,
field
:
"approveVO"
,
type
:
"approveTag"
,
width
:
96
,
align
:
'center'
label
:
"审批状态"
,
field
:
"approveVO"
,
type
:
"approveTag"
,
enableNoApprove
:
true
,
width
:
96
,
align
:
'center'
},
]);
const
deploymentId
=
ref
(
''
);
const
tenantList
:
any
=
ref
([]);
onBeforeMount
(()
=>
{
if
(
isCompanyPlatform
.
value
)
{
tableInfo
.
value
.
fields
=
tableFields
.
value
;
...
...
@@ -55,14 +59,18 @@ onBeforeMount(() => {
tableFields
.
value
.
splice
(
3
,
0
,
{
label
:
"企业名称"
,
field
:
"tenantName"
,
width
:
250
,
align
:
"left"
})
tableInfo
.
value
.
fields
=
tableFields
.
value
;
}
// getTenantAttach(userData.tenantGuid).then((res: any) => {
// if (res?.code == proxy.$passCode) {
// attachDataInfo.value = res.data || {};
// formItems.value[1].templateUrl = attachDataInfo.value.quality_evaluation_file;
// } else {
// ElMessage.error(res.msg);
// }
// })
getTenantList
({
bizState
:
'Y'
,
pageSize
:
-
1
}).
then
((
res
:
any
)
=>
{
tenantList
.
value
=
[];
if
(
res
.
code
==
proxy
.
$passCode
)
{
tenantList
.
value
=
res
.
data
?.
records
||
[];
formItems
.
value
[
1
].
options
=
tenantList
.
value
;
}
else
{
proxy
.
$ElMessage
.
error
(
res
.
msg
);
}
})
});
onActivated
(()
=>
{
...
...
@@ -140,27 +148,40 @@ const getTableData = () => {
})
}
let
needApprovePromise
=
ref
();
const
needApprove
=
ref
(
true
);
const
handleCreate
=
()
=>
{
if
(
!
assetListData
.
value
.
length
)
{
ElMessage
.
warning
(
'当前没有可发起价值评估的资产!'
);
return
;
}
formItems
.
value
[
4
].
placeholder
=
`本次评估数据资产总体质量得分为**分\n准确性:\n一致性:\n可访问性:\n规范性:\n完整性:`
;
if
(
needApprovePromise
.
value
)
{
return
;
}
needApprovePromise
.
value
=
isNeedApprove
({
funcCode
:
'ZCJZPG'
}).
then
((
res1
:
any
)
=>
{
needApprovePromise
.
value
=
null
;
if
(
res1
.
code
==
proxy
.
$passCode
)
{
needApprove
.
value
=
res1
.
data
;
formItems
.
value
[
5
].
placeholder
=
`本次评估数据资产总体质量得分为**分\n准确性:\n一致性:\n可访问性:\n规范性:\n完整性:`
;
formItems
.
value
[
0
].
visible
=
true
;
formItems
.
value
[
0
].
default
=
''
;
formItems
.
value
[
1
].
visible
=
tr
ue
;
formItems
.
value
[
1
].
default
=
[]
;
formItems
.
value
[
2
].
visible
=
fals
e
;
formItems
.
value
[
2
].
default
=
''
;
formItems
.
value
[
1
].
visible
=
!
needApprove
.
val
ue
;
formItems
.
value
[
1
].
default
=
''
;
formItems
.
value
[
2
].
visible
=
tru
e
;
formItems
.
value
[
2
].
default
=
[]
;
formItems
.
value
[
3
].
visible
=
false
;
formItems
.
value
[
3
].
default
=
''
;
formItems
.
value
[
4
].
visible
=
false
;
formItems
.
value
[
4
].
default
=
''
;
formItems
.
value
[
5
].
visible
=
false
;
formItems
.
value
[
5
].
default
=
[];
formItems
.
value
[
5
].
default
=
''
;
formItems
.
value
[
6
].
visible
=
false
;
formItems
.
value
[
6
].
default
=
[];
dialogInfo
.
value
.
visible
=
true
;
dialogInfo
.
value
.
type
=
''
;
if
(
!
deploymentId
.
value
)
{
if
(
needApprove
.
value
)
{
getCamundaDeploymentId
(
'10019'
,
userData
.
tenantGuid
,
userData
.
staffGuid
).
then
((
res
:
any
)
=>
{
if
(
res
.
code
==
proxy
.
$passCode
)
{
deploymentId
.
value
=
res
.
data
;
...
...
@@ -170,6 +191,10 @@ const handleCreate = () => {
}
})
}
}
else
{
proxy
.
$ElMessage
.
error
(
res1
.
msg
);
}
});
}
const
page
=
ref
({
...
...
@@ -210,7 +235,13 @@ const tableInfo = ref({
const
getTableBtns
=
(
row
)
=>
{
let
btnsArr
:
any
[]
=
[];
const
approveVO
=
row
.
approveVO
||
{};
const
approveVO
=
row
.
approveVO
;
if
(
!
approveVO
&&
row
.
isApprove
==
'N'
)
{
btnsArr
.
push
({
label
:
"编辑"
,
value
:
"redit"
});
btnsArr
.
push
({
label
:
"删除"
,
value
:
"del"
});
btnsArr
.
push
({
label
:
"详情"
,
value
:
"detail"
});
return
btnsArr
;
}
const
approveState
=
row
.
approveVO
.
approveState
||
null
;
const
approveStaffGuids
=
approveVO
.
approveStaffGuids
||
[];
const
staffGuid
=
approveVO
.
staffGuid
||
''
;
...
...
@@ -262,62 +293,47 @@ const tableBtnClick = (scope, btn) => {
console
.
log
(
'row'
,
row
);
currTableData
.
value
=
row
;
if
(
type
==
"redit"
)
{
// if (!row.registerGuid) {
// formItems.value[2].visible = true;
// formItems.value[3].visible = true;
// formItems.value[4].visible = true;
// formItems.value[5].visible = true;
// formItems.value[0].visible = false;
// formItems.value[0].default = row.damGuid;
// formItems.value[1].default = row.costAssessmentFile || [];
// dialogInfo.value.type = 'reSubmit';
// dialogInfo.value.visible = true;
// } else {
// formItems.value[2].visible = false;
// formItems.value[3].visible = false;
// formItems.value[4].visible = false;
// formItems.value[5].visible = false;
// formItems.value[0].visible = false;
// formItems.value[0].default = row.damGuid;
// formItems.value[1].default = row.costAssessmentFile || [];
// formItems.value[2].default = row.qualityScore;
// formItems.value[3].default = row.evaluationRangeStart && row.evaluationRangeEnd ? [row.evaluationRangeStart, row.evaluationRangeEnd] : '';
// formItems.value[4].default = row.evaluationNote;
// formItems.value[5].default = row.evaluationFile || [];
// dialogInfo.value.type = 'reSubmit';
// dialogInfo.value.visible = true;
// }
isNeedApprove
({
funcCode
:
'ZCJZPG'
}).
then
((
res1
:
any
)
=>
{
if
(
res1
.
code
==
proxy
.
$passCode
)
{
needApprove
.
value
=
res1
.
data
;
if
(
row
.
qualityEvaluationGuid
)
{
formItems
.
value
[
2
].
visible
=
false
;
formItems
.
value
[
3
].
visible
=
false
;
formItems
.
value
[
4
].
visible
=
false
;
formItems
.
value
[
5
].
visible
=
false
;
formItems
.
value
[
6
].
visible
=
false
;
formItems
.
value
[
0
].
visible
=
false
;
formItems
.
value
[
0
].
default
=
row
.
damGuid
;
formItems
.
value
[
1
].
default
=
row
.
costAssessmentFile
||
[];
formItems
.
value
[
1
].
visible
=
!
needApprove
.
value
;
formItems
.
value
[
1
].
default
=
row
.
evaluationAgencyGuid
;
formItems
.
value
[
2
].
default
=
row
.
costAssessmentFile
||
[];
// formItems.value[2].default = row.qualityScore;
formItems
.
value
[
3
].
default
=
row
.
evaluationRangeStart
&&
row
.
evaluationRangeEnd
?
[
row
.
evaluationRangeStart
,
row
.
evaluationRangeEnd
]
:
''
;
formItems
.
value
[
5
].
default
=
row
.
evaluationRangeStart
&&
row
.
evaluationRangeEnd
?
[
row
.
evaluationRangeStart
,
row
.
evaluationRangeEnd
]
:
''
;
// formItems.value[4].default = row.evaluationNote;
// formItems.value[5].default = row.evaluationFile || [];
dialogInfo
.
value
.
type
=
'reSubmit'
;
dialogInfo
.
value
.
visible
=
true
;
}
if
(
!
row
.
qualityEvaluationGuid
)
{
formItems
.
value
[
2
].
visible
=
true
;
formItems
.
value
[
3
].
visible
=
true
;
formItems
.
value
[
4
].
visible
=
true
;
formItems
.
value
[
5
].
visible
=
true
;
formItems
.
value
[
6
].
visible
=
true
;
formItems
.
value
[
0
].
visible
=
false
;
formItems
.
value
[
0
].
default
=
row
.
damGuid
;
formItems
.
value
[
1
].
default
=
row
.
costAssessmentFile
||
[];
formItems
.
value
[
2
].
default
=
changeNum
(
row
.
qualityScore
||
0
,
2
);
formItems
.
value
[
3
].
default
=
row
.
evaluationRangeStart
&&
row
.
evaluationRangeEnd
?
[
row
.
evaluationRangeStart
,
row
.
evaluationRangeEnd
]
:
''
;
formItems
.
value
[
4
].
default
=
row
.
evaluationNote
;
formItems
.
value
[
5
].
default
=
row
.
evaluationFile
||
[];
formItems
.
value
[
1
].
visible
=
!
needApprove
.
value
;
formItems
.
value
[
1
].
default
=
row
.
evaluationAgencyGuid
;
formItems
.
value
[
2
].
default
=
row
.
costAssessmentFile
||
[];
formItems
.
value
[
3
].
default
=
changeNum
(
row
.
qualityScore
||
0
,
2
);
formItems
.
value
[
4
].
default
=
row
.
evaluationRangeStart
&&
row
.
evaluationRangeEnd
?
[
row
.
evaluationRangeStart
,
row
.
evaluationRangeEnd
]
:
''
;
formItems
.
value
[
5
].
default
=
row
.
evaluationNote
;
formItems
.
value
[
6
].
default
=
row
.
evaluationFile
||
[];
dialogInfo
.
value
.
type
=
'reSubmit'
;
dialogInfo
.
value
.
visible
=
true
;
}
}
else
{
proxy
.
$ElMessage
.
error
(
res1
.
msg
);
}
});
}
else
if
(
type
==
"delete"
)
{
delTableOpen
(
"此操作将永久删除该资产价值评估,是否继续?"
,
"warning"
);
}
else
if
(
type
===
'backup'
)
{
...
...
@@ -392,71 +408,6 @@ const tableBtnClick = (scope, btn) => {
}
};
// const tableBtnClick = (scope, btn) => {
// const type = btn.value;
// const row = scope.row;
// currTableData.value = row;
// if (type === "edit") { //草稿中\已驳回\已撤销\已通过 状态,才可以编辑。
// localStorage.setItem('isRestart', btn.label == '重新提交' ? 'true' : '');
// // router.push({
// // name: 'registerStart',
// // query: { guid: row.guid, exchangeGuid: row.exchangeGuid, name: row.daName, type }
// // });
// router.push({
// name: 'registerValueDetail',
// query: { guid: row.registerGuid, costAssessGuid: row.guid, type: 'costAssess', daTenantGuid: row.tenantGuid, exchangeGuid: row.exchangeGuid }
// });
// } else if (type == "delete") {
// delTableOpen("此操作将永久删除该资产登记,是否继续?", "warning");
// } else if (type === 'revoke') { // 撤销,状态为审批中时可以撤销。
// ElMessageBox.confirm('确定撤销该资产登记审批流程吗?', "提示", {
// confirmButtonText: "确定",
// cancelButtonText: "取消",
// type: 'warning',
// }).then(() => {
// tableInfo.value.loading = true;
// let params = {
// guid: row.approveVO.approveGuid,
// flowType: row.approveVO.flowType,
// approveStaffGuid: userData.staffGuid,
// }
// revokeFlowData(params).then((res: any) => {
// tableInfo.value.loading = false;
// if (res?.code == proxy.$passCode) {
// if (res.data) {
// ElMessage.success('该审批流程撤销成功!');
// getTableData();
// } else {
// ElMessage.error('该审批流程撤销失败!');
// }
// } else {
// ElMessage.error(res.msg);
// }
// }).catch(() => {
// tableInfo.value.loading = false;
// });
// }).catch(() => {
// ElMessage({
// type: 'info',
// message: '已取消撤销'
// });
// });
// } else if (type === 'detail') { // 详情, 若是草稿中,详情就是编辑,
// // router.push({
// // name: 'registerInfoDetail',
// // query: { guid: row.guid, name: row.daName, type: 'asset' }
// // });
// router.push({
// name: 'registerValueDetail',
// query: { guid: row.registerGuid, costAssessGuid: row.guid, type: 'costAssess', daTenantGuid: row.tenantGuid }
// });
// } else if (type === 'pass') {
// passDialogInfo.value.visible = true;
// } else if (type == 'reject') {
// rejectDialogInfo.value.visible = true;
// }
// };
const
delTableOpen
=
(
msg
,
type
,
isBatch
:
boolean
=
false
)
=>
{
ElMessageBox
.
confirm
(
msg
,
"提示"
,
{
confirmButtonText
:
"确定"
,
...
...
@@ -509,6 +460,20 @@ const formItems = ref<any>([
},
visible
:
true
,
required
:
true
},
{
label
:
'评估机构'
,
type
:
'select'
,
placeholder
:
'请选择'
,
field
:
'evaluationAgencyGuid'
,
default
:
''
,
block
:
true
,
options
:
tenantList
.
value
,
props
:
{
value
:
'guid'
,
label
:
'tenantName'
},
visible
:
false
,
required
:
true
},
{
label
:
'附件上传'
,
...
...
@@ -658,24 +623,26 @@ const dialogInfo = ref({
const
handleSelectChange
=
(
val
,
row
,
info
)
=>
{
let
qualityEvaluationGuid
=
''
;
assetListData
.
value
.
forEach
((
item
)
=>
{
if
(
item
.
guid
==
val
)
{
qualityEvaluationGuid
=
item
.
qualityEvaluationGuid
;
if
(
row
.
field
!=
'registerGuid'
)
{
return
;
}
})
;
let
qualityEvaluationGuid
=
assetListData
.
value
.
find
(
item
=>
item
.
guid
==
val
)?.
qualityEvaluationGuid
;
if
(
!
qualityEvaluationGuid
)
{
formItems
.
value
[
0
].
default
=
val
;
formItems
.
value
[
2
].
visible
=
true
;
formItems
.
value
[
1
].
default
=
info
.
evaluationAgencyGuid
;
formItems
.
value
[
2
].
default
=
info
[
formItems
.
value
[
2
].
field
];
formItems
.
value
[
3
].
visible
=
true
;
formItems
.
value
[
4
].
visible
=
true
;
formItems
.
value
[
5
].
visible
=
true
;
formItems
.
value
[
6
].
visible
=
true
;
}
else
{
formItems
.
value
[
0
].
default
=
val
;
formItems
.
value
[
2
].
visible
=
false
;
formItems
.
value
[
1
].
default
=
info
.
evaluationAgencyGuid
;
formItems
.
value
[
2
].
default
=
info
[
formItems
.
value
[
2
].
field
];
formItems
.
value
[
3
].
visible
=
false
;
formItems
.
value
[
4
].
visible
=
false
;
formItems
.
value
[
5
].
visible
=
false
;
formItems
.
value
[
6
].
visible
=
false
;
}
}
...
...
@@ -709,6 +676,101 @@ const reSubmitPromise: any = ref(null);
const
dialogBtnClick
=
(
btn
,
info
)
=>
{
console
.
log
(
'btn'
,
btn
,
info
);
if
(
btn
.
value
==
'submit'
)
{
if
(
!
needApprove
.
value
)
{
dialogInfo
.
value
.
footer
.
btns
[
1
].
loading
=
true
;
if
(
dialogInfo
.
value
.
type
==
'reSubmit'
)
{
updateCostAssess
({
guid
:
currTableData
.
value
.
guid
,
immediateApprove
:
true
,
tenantGuid
:
userData
.
tenantGuid
,
daName
:
currTableData
.
value
.
daName
,
damGuid
:
currTableData
.
value
.
damGuid
,
costAssessmentFile
:
info
.
costAssessmentFile
?.
map
(
file
=>
{
return
{
name
:
file
.
name
,
url
:
file
.
url
}
})
||
[],
evaluationFile
:
info
.
evaluationFile
?.
map
(
file
=>
{
return
{
name
:
file
.
name
,
url
:
file
.
url
}
})
||
[],
qualityScore
:
info
.
qualityScore
||
null
,
evaluationRangeStart
:
info
.
evaluationRange
?
info
.
evaluationRange
[
0
]
:
null
,
evaluationRangeEnd
:
info
.
evaluationRange
?
info
.
evaluationRange
[
1
]
:
null
,
evaluationNote
:
info
.
evaluationNote
||
null
,
evaluationAgencyGuid
:
info
.
evaluationAgencyGuid
,
}).
then
((
res
:
any
)
=>
{
dialogInfo
.
value
.
footer
.
btns
[
1
].
loading
=
false
;
if
(
res
?.
code
==
proxy
.
$passCode
)
{
ElMessage
.
success
(
'该资产价值评估重新提交成功'
);
dialogInfo
.
value
.
visible
=
false
;
page
.
value
.
curr
=
1
;
getTableData
();
formItems
.
value
[
4
].
placeholder
=
`本次评估数据资产总体质量得分为**分\n准确性:\n一致性:\n可访问性:\n规范性:\n完整性:`
;
}
else
{
ElMessage
.
error
(
res
.
msg
);
}
})
}
else
{
let
params
:
any
=
{};
let
daInfo
=
assetListData
.
value
.
find
(
a
=>
a
.
guid
==
info
.
registerGuid
);
if
(
daInfo
.
qualityEvaluationGuid
)
{
//通过质量评估发起资产申请
params
=
{
immediateApprove
:
true
,
tenantGuid
:
userData
.
tenantGuid
,
daName
:
daInfo
.
damName
,
damGuid
:
daInfo
.
guid
,
costAssessmentFile
:
info
.
costAssessmentFile
?.
map
(
file
=>
{
return
{
name
:
file
.
name
,
url
:
file
.
url
}
})
||
[],
evaluationAgencyGuid
:
info
.
evaluationAgencyGuid
,
}
}
else
{
//未通过质量评估发起资产申请
params
=
{
immediateApprove
:
true
,
tenantGuid
:
userData
.
tenantGuid
,
daName
:
daInfo
.
damName
,
damGuid
:
daInfo
.
guid
,
costAssessmentFile
:
info
.
costAssessmentFile
?.
map
(
file
=>
{
return
{
name
:
file
.
name
,
url
:
file
.
url
}
})
||
[],
evaluationFile
:
info
.
evaluationFile
?.
map
(
file
=>
{
return
{
name
:
file
.
name
,
url
:
file
.
url
}
})
||
[],
qualityScore
:
info
.
qualityScore
,
evaluationRangeStart
:
info
.
evaluationRange
?
info
.
evaluationRange
[
0
]
:
null
,
evaluationRangeEnd
:
info
.
evaluationRange
?
info
.
evaluationRange
[
1
]
:
null
,
evaluationNote
:
info
.
evaluationNote
,
evaluationAgencyGuid
:
info
.
evaluationAgencyGuid
,
}
}
saveCostAssess
(
params
).
then
((
res
:
any
)
=>
{
dialogInfo
.
value
.
footer
.
btns
[
1
].
loading
=
false
;
if
(
res
?.
code
==
proxy
.
$passCode
)
{
ElMessage
.
success
(
'价值评估发起成功'
);
dialogInfo
.
value
.
visible
=
false
;
page
.
value
.
curr
=
1
;
getTableData
();
}
else
{
ElMessage
.
error
(
res
.
msg
);
}
})
}
}
else
{
let
submitFunc
=
()
=>
{
getProcessNodesPromise
({
deploymentId
:
deploymentId
.
value
,
...
...
@@ -833,6 +895,7 @@ const dialogBtnClick = (btn, info) => {
}
})
}
}
}
else
if
(
btn
.
value
==
'cancel'
)
{
dialogInfo
.
value
.
visible
=
false
;
}
...
...
Write
Preview
Styling with
Markdown
is supported
Attach a file
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 post a comment