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
8211b987
authored
2025-12-11 15:12:14 +0800
by
lihua
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
验收修改
1 parent
0d7ae088
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
199 additions
and
223 deletions
src/api/modules/dataSmartContract.ts
src/views/data_asset/dataDelivery.vue
src/views/data_asset/registerCatalogDetail.vue
src/views/data_product/productListing.vue
src/views/data_product/productListingDetail.vue
src/views/data_smart_contract/smartContractDetail.vue
src/api/modules/dataSmartContract.ts
View file @
8211b98
...
...
@@ -218,7 +218,7 @@ export const continueContractNegotiate = (params) => request({
/** 获取可选的企业下拉列表,认证过之后带标识的 */
export
const
getContractTenantList
=
(
tenantName
=
''
)
=>
request
({
url
:
`
${
import
.
meta
.
env
.
VITE_APP_DIGITAL_CONTRACT_URL
}
/
connector-invoke
/get-enterprise?tenantName=
${
tenantName
}
`
,
url
:
`
${
import
.
meta
.
env
.
VITE_APP_DIGITAL_CONTRACT_URL
}
/
tenant
/get-enterprise?tenantName=
${
tenantName
}
`
,
method
:
'get'
})
...
...
src/views/data_asset/dataDelivery.vue
View file @
8211b98
...
...
@@ -217,19 +217,19 @@ const tableInfo = ref({
let
deliveryStatus
=
row
.
deliveryStatus
;
if
(
deliveryStatus
==
2
)
{
//已交付有删除按钮
btns
.
push
({
value
:
'del'
,
label
:
'
删除
'
,
click
:
(
scope
)
=>
{
proxy
.
$openMessageBox
(
"此操作将永久
删除
, 是否继续?"
,
()
=>
{
value
:
'del'
,
label
:
'
销毁
'
,
click
:
(
scope
)
=>
{
proxy
.
$openMessageBox
(
"此操作将永久
销毁数据
, 是否继续?"
,
()
=>
{
deleteDeliveryContract
([
scope
.
row
.
guid
]).
then
((
res
:
any
)
=>
{
if
(
res
?.
code
==
proxy
.
$passCode
)
{
page
.
value
.
curr
=
1
;
getTableData
();
proxy
.
$ElMessage
.
success
(
'
删除
成功'
);
proxy
.
$ElMessage
.
success
(
'
销毁
成功'
);
}
else
{
res
?.
msg
&&
proxy
.
$ElMessage
.
error
(
res
?.
msg
);
}
});
},
()
=>
{
proxy
.
$ElMessage
.
info
(
"已取消"
);
proxy
.
$ElMessage
.
info
(
"已取消
销毁
"
);
})
}
});
...
...
src/views/data_asset/registerCatalogDetail.vue
View file @
8211b98
...
...
@@ -117,7 +117,9 @@ const processInstanceId = ref('');
const
registerDetailTableInfo
=
ref
({
id
:
'register-data-table'
,
rowKey
:
'guid'
,
height
:
220
,
height
:
'auto'
,
minPanelHeight
:
'60px'
,
minHeight
:
'60px'
,
loading
:
false
,
fields
:
[{
label
:
"序号"
,
type
:
"index"
,
width
:
56
,
align
:
"center"
},
{
label
:
"事项"
,
field
:
"title"
,
width
:
160
,
align
:
"left"
},
...
...
src/views/data_product/productListing.vue
View file @
8211b98
...
...
@@ -19,7 +19,6 @@ import { getParamsList, getDamTypesList } from "@/api/modules/dataAsset";
import
{
changeNum
,
}
from
"@/utils/common"
;
import
{
chunk
}
from
"@/api/modules/common"
;
import
{
passFlowData
,
rejectFlowData
,
revokeFlowData
,
isMyFirstNode
}
from
"@/api/modules/workFlowService"
;
const
{
proxy
}
=
getCurrentInstance
()
as
any
;
...
...
@@ -633,15 +632,16 @@ onBeforeMount(() => {
proxy
.
$ElMessage
.
error
(
res
.
msg
);
}
})
getParamsList
({
dictType
:
"数据产品上架审批合规信息"
,
}).
then
((
res
:
any
)
=>
{
if
(
res
.
code
==
proxy
.
$passCode
)
{
assetsSafeInfo
.
value
=
res
.
data
||
[];
}
else
{
proxy
.
$ElMessage
.
error
(
res
.
msg
);
}
})
// 连接器没有通过和驳回,不需要审批通过时填写合规信息。
// getParamsList({
// dictType: "数据产品上架审批合规信息",
// }).then((res: any) => {
// if (res.code == proxy.$passCode) {
// assetsSafeInfo.value = res.data || [];
// } else {
// proxy.$ElMessage.error(res.msg);
// }
// })
})
const
assetsSafeInfo
=
ref
<
any
>
()
...
...
@@ -928,7 +928,7 @@ const rejectDialogBtnClick = (btn, info) => {
@
tableSwitchBeforeChange=
"tableSwitchBeforeChange"
/>
</div>
<el-dialog
v-model=
"dialogVisible"
:title=
"dialogTitle"
width=
"550px"
:close-on-click-modal=
"false"
>
<
Form
ref=
"listingFormRef"
:itemList=
"formInfo.items"
:rules=
"formInfo.rules"
/
>
<
!--
<Form
ref=
"listingFormRef"
:itemList=
"formInfo.items"
:rules=
"formInfo.rules"
/>
--
>
<el-input
type=
"textarea"
:rows=
"3"
maxlength=
"100"
v-model=
"approveSuggest"
resize=
"none"
:placeholder=
"dynamicPlaceholder"
/>
<template
#
footer
>
...
...
src/views/data_product/productListingDetail.vue
View file @
8211b98
...
...
@@ -387,85 +387,85 @@ const formInfo = ref<any>({
// width: 'calc(33.33% - 20px)!important'
// },
},
{
label
:
'登记证'
,
tip
:
'支持扩展名:.jpg .png .jpeg'
,
accept
:
'.jpg, .png, .jpeg '
,
type
:
'upload-file'
,
placeholder
:
'请选择'
,
field
:
'registrationCertificateInfo'
,
default
:
[],
limit
:
1
,
block
:
false
,
required
:
false
,
visible
:
true
},
{
label
:
'质量评估报告'
,
tip
:
'支持扩展名:.png .pdf'
,
accept
:
'.png, .pdf'
,
type
:
'upload-file'
,
placeholder
:
'请选择'
,
field
:
'qualityEvaluationFileInfo'
,
default
:
[],
limit
:
1
,
block
:
false
,
required
:
false
,
visible
:
true
},
{
label
:
"质量评估机构"
,
type
:
"select"
,
placeholder
:
"请选择"
,
field
:
"qualityEvaluationInstitution"
,
default
:
''
,
options
:
[],
props
:
{
value
:
'tenantName'
,
label
:
'tenantName'
},
allowCreate
:
true
,
filterable
:
true
,
clearable
:
true
,
disabled
:
false
,
required
:
false
,
visible
:
true
,
col
:
'mr8'
,
style
:
{
// / width: 'calc(50% - 16px)!important'
},
},
{
label
:
'价值评估报告'
,
tip
:
'支持扩展名:.png .pdf'
,
accept
:
'.png, .pdf'
,
type
:
'upload-file'
,
placeholder
:
'请选择'
,
field
:
'costAssessmentFileInfo'
,
default
:
[],
limit
:
1
,
block
:
false
,
required
:
false
,
visible
:
true
},
{
label
:
"价值评估机构"
,
type
:
"select"
,
placeholder
:
"请选择"
,
field
:
"costAssessmentInstitution"
,
default
:
''
,
options
:
[],
props
:
{
value
:
'tenantName'
,
label
:
'tenantName'
},
allowCreate
:
true
,
filterable
:
true
,
clearable
:
true
,
disabled
:
false
,
required
:
false
,
visible
:
true
},
//
{
//
label: '登记证',
//
tip: '支持扩展名:.jpg .png .jpeg',
//
accept: '.jpg, .png, .jpeg ',
//
type: 'upload-file',
//
placeholder: '请选择',
//
field: 'registrationCertificateInfo',
//
default: [],
//
limit: 1,
//
block: false,
//
required: false,
//
visible: true
//
},
//
{
//
label: '质量评估报告',
//
tip: '支持扩展名:.png .pdf',
//
accept: '.png, .pdf',
//
type: 'upload-file',
//
placeholder: '请选择',
//
field: 'qualityEvaluationFileInfo',
//
default: [],
//
limit: 1,
//
block: false,
//
required: false,
//
visible: true
//
},
//
{
//
label: "质量评估机构",
//
type: "select",
//
placeholder: "请选择",
//
field: "qualityEvaluationInstitution",
//
default: '',
//
options: [],
//
props: {
//
value: 'tenantName',
//
label: 'tenantName'
//
},
//
allowCreate: true,
//
filterable: true,
//
clearable: true,
//
disabled: false,
//
required: false,
//
visible: true,
//
col: 'mr8',
//
style: {
//
// / width: 'calc(50% - 16px)!important'
//
},
//
},
//
{
//
label: '价值评估报告',
//
tip: '支持扩展名:.png .pdf',
//
accept: '.png, .pdf',
//
type: 'upload-file',
//
placeholder: '请选择',
//
field: 'costAssessmentFileInfo',
//
default: [],
//
limit: 1,
//
block: false,
//
required: false,
//
visible: true
//
},
//
{
//
label: "价值评估机构",
//
type: "select",
//
placeholder: "请选择",
//
field: "costAssessmentInstitution",
//
default: '',
//
options: [],
//
props: {
//
value: 'tenantName',
//
label: 'tenantName'
//
},
//
allowCreate: true,
//
filterable: true,
//
clearable: true,
//
disabled: false,
//
required: false,
//
visible: true
//
},
{
label
:
'承诺函'
,
tip
:
'支持扩展名:.png .pdf'
,
...
...
@@ -473,7 +473,7 @@ const formInfo = ref<any>({
type
:
'upload-file'
,
placeholder
:
'请选择'
,
field
:
'commitmentLetterInfo'
,
templateUrl
:
''
,
//
templateUrl: '',
default
:
[],
limit
:
1
,
block
:
true
,
...
...
@@ -487,7 +487,7 @@ const formInfo = ref<any>({
type
:
'upload-file'
,
placeholder
:
'请选择'
,
field
:
'accreditFileInfo'
,
templateUrl
:
''
,
//
templateUrl: '',
default
:
[],
limit
:
1
,
block
:
true
,
...
...
@@ -495,19 +495,33 @@ const formInfo = ref<any>({
visible
:
true
},
{
label
:
'
商品详细介绍(签章版)
'
,
tip
:
'支持扩展名:.png .pdf'
,
accept
:
'.png, .pdf'
,
label
:
'
其它证明文件
'
,
tip
:
'支持扩展名:.png .pdf
.rar .zip
'
,
accept
:
'.png, .pdf
, .rar, .zip
'
,
type
:
'upload-file'
,
placeholder
:
'请选择'
,
field
:
'productDetailInfo'
,
templateUrl
:
''
,
//
templateUrl: '',
default
:
[],
limit
:
1
,
block
:
true
,
required
:
tru
e
,
required
:
fals
e
,
visible
:
true
},
// {
// label: '商品详细介绍(签章版)',
// tip: '支持扩展名:.png .pdf',
// accept: '.png, .pdf',
// type: 'upload-file',
// placeholder: '请选择',
// field: 'productDetailInfo',
// templateUrl: '',
// default: [],
// limit: 1,
// block: true,
// required: true,
// visible: true
// },
{
label
:
""
,
type
:
"input"
,
...
...
@@ -617,7 +631,7 @@ const formInfo = ref<any>({
},
trigger
:
'change'
},
],
// 校验授权文件
// 校验授权文件
accreditFileInfo
:
[
{
validator
:
(
rule
:
any
,
value
:
any
,
callback
:
any
)
=>
{
...
...
@@ -630,19 +644,19 @@ const formInfo = ref<any>({
},
trigger
:
'change'
},
],
// 校验商品详细介绍
productDetailInfo
:
[
{
validator
:
(
rule
:
any
,
value
:
any
,
callback
:
any
)
=>
{
let
formInline
=
listingFormRef
.
value
.
formInline
;
if
(
!
value
?.
length
)
{
callback
(
new
Error
(
'请上传商品详细介绍'
))
}
else
{
callback
();
}
},
trigger
:
'change'
},
],
//
//
校验商品详细介绍
//
productDetailInfo: [
//
{
//
validator: (rule: any, value: any, callback: any) => {
//
let formInline = listingFormRef.value.formInline;
//
if (!value?.length) {
//
callback(new Error('请上传商品详细介绍'))
//
} else {
//
callback();
//
}
//
}, trigger: 'change'
//
},
//
],
}
})
...
...
@@ -690,9 +704,9 @@ const getProductDetail = async () => {
// if (res.data.commitmentLetter && res.data.commitmentLetter.length) {
// flowDetail.value.commitmentLetter = { name: res.data.commitmentLetter[0].name, url: res.data.commitmentLetter[0].url }
// }
//
if (res.data.accreditFile && res.data.accreditFile.length) {
//
flowDetail.value.accreditFile = { name: res.data.accreditFile[0].name, url: res.data.accreditFile[0].url }
//
}
if
(
res
.
data
.
accreditFile
&&
res
.
data
.
accreditFile
.
length
)
{
flowDetail
.
value
.
accreditFile
=
{
name
:
res
.
data
.
accreditFile
[
0
].
name
,
url
:
res
.
data
.
accreditFile
[
0
].
url
}
}
// if (res.data.productDetail && res.data.productDetail.length) {
// flowDetail.value.productDetail = { name: res.data.productDetail[0].name, url: res.data.productDetail[0].url }
// }
...
...
@@ -1228,24 +1242,7 @@ const selectChange = async (val, row, info) => {
currProductInfo
.
value
=
dataInfo
;
let
coverageArea
=
(
data
.
length
&&
data
[
0
].
coverageArea
)
?
data
[
0
].
coverageArea
:
[];
await
setFormItems
({
...
info
,
...
dataInfo
,
coverageArea
:
coverageArea
,
content
:
dataInfo
.
propertyDescription
||
dataInfo
.
sceneDescription
||
info
.
content
});
// formInfo.value.items.forEach((item: any) => {
// if (item.field == 'costAssessmentFileInfo') {
// item.default = data?.[0]?.assessmentFile || [];
// } else if (item.field == 'qualityEvaluationFileInfo') {
// item.default = data?.[0]?.evaluationFile || [];
// } else if (item.field == 'qualityEvaluationFileInfo') {
// item.default = data?.[0]?.evaluationFile || [];
// } else if (item.field == 'commitmentLetterInfo') {
// item.default = data?.[0]?.commitmentLetter || [];
// } else if (item.field == 'qualityEvaluationInstitution') {
// item.default = data?.[0]?.qualityEvaluationInstitution || '';
// } else if (item.field == 'costAssessmentInstitution') {
// item.default = data?.[0]?.costAssessmentInstitution || '';
// } else if (item.field == 'pricingWay') {
// item.default = data?.[0]?.pricingWay || '';
// }
// });
// formInfo.value.items.at(0).default = val;
formInfo
.
value
.
items
.
at
(
1
).
default
=
data
.
length
?
data
[
0
].
damType
:
''
;
// formInfo.value.items.at(2).default = data.length ? data[0].subjectDomain : '';
...
...
@@ -1338,7 +1335,7 @@ onBeforeMount(async () => {
// case 1: 数交易所 case 2: 门户
if
(
route
.
query
.
case
==
'2'
)
{
formInfo
.
value
.
items
.
forEach
(
item
=>
{
if
(
item
.
field
==
'productCode'
||
item
.
field
==
'damCode'
||
item
.
field
==
'exchangeName'
||
item
.
field
==
'registrationCertificateInfo'
||
item
.
field
==
'qualityEvaluationFileInfo'
||
item
.
field
==
'qualityEvaluationInstitution'
||
item
.
field
==
'costAssessmentFileInfo'
||
item
.
field
==
'costAssessmentInstitution'
||
item
.
field
==
'commitmentLetterInfo'
||
item
.
field
==
'accreditFileInfo'
||
item
.
field
==
'productDetailInfo'
)
{
if
(
item
.
field
==
'productCode'
||
item
.
field
==
'damCode'
||
item
.
field
==
'exchangeName'
||
item
.
field
==
'registrationCertificateInfo'
||
item
.
field
==
'qualityEvaluationFileInfo'
||
item
.
field
==
'qualityEvaluationInstitution'
||
item
.
field
==
'costAssessmentFileInfo'
||
item
.
field
==
'costAssessmentInstitution'
)
{
item
.
visible
=
false
;
}
})
...
...
@@ -1346,18 +1343,18 @@ onBeforeMount(async () => {
if
(
detailType
&&
detailType
!=
'add'
)
{
getProductDetail
();
}
if
(
detailType
==
'detail'
)
{
getParamsList
({
dictType
:
"数据产品上架审批合规信息"
,
}).
then
((
res
:
any
)
=>
{
if
(
res
.
code
==
proxy
.
$passCode
)
{
assetsSafeInfo
.
value
=
res
.
data
||
[];
}
else
{
proxy
.
$ElMessage
.
error
(
res
.
msg
);
}
})
// return; //详情不需要调用以下接口
}
//
if (detailType == 'detail') {
//
getParamsList({
//
dictType: "数据产品上架审批合规信息",
//
}).then((res: any) => {
//
if (res.code == proxy.$passCode) {
//
assetsSafeInfo.value = res.data || [];
//
} else {
//
proxy.$ElMessage.error(res.msg);
//
}
//
})
//
// return; //详情不需要调用以下接口
//
}
if
(
detailType
!=
'detail'
)
{
await
getTableData
();
getProducts
();
...
...
@@ -1659,8 +1656,6 @@ const passFormInfo = ref<any>({
}
})
const passListingFormRef = ref<any>();
const clearFormValues = (formInline) => {
Object.keys(formInline).forEach(key => {
formInline[key] = '';
...
...
@@ -1668,74 +1663,49 @@ const clearFormValues = (formInline) => {
};
const passSubmit = () => {
passListingFormRef.value.ruleFormRef.validate().then((valid) => {
if (valid) {
let complianceInfoMap = {}
passFormInfo.value.items.forEach((item) => {
assetsSafeInfo.value.forEach((item1) => {
if (item.label == item1.label) {
complianceInfoMap[item1.value] = passListingFormRef.value.formInline[item.field];
}
})
})
dialogBtnLoading.value = true;
productRejectFlowData({
guid: flowDetail.value.approveVO.approveGuid,
flowType: flowDetail.value.approveVO.flowType,
approveSuggest: approveSuggest.value,
approveStaffGuid: userData.staffGuid,
complianceInfoMap: complianceInfoMap,
approveState: 'Y',
bizGuid: flowDetail.value.approveVO.bizGuid
}, flowDetail.value.tenantGuid).then((res: any) => {
dialogBtnLoading.value = false;
if (res.code == '00000') {
ElMessage.success('审批通过!')
dialogVisible.value = false;
getProductDetail();
approvalProcessRef.value?.renderProcessNodes()
} else {
ElMessage.error(res.msg)
}
})
dialogBtnLoading.value = true;
productRejectFlowData({
guid: flowDetail.value.approveVO.approveGuid,
flowType: flowDetail.value.approveVO.flowType,
approveSuggest: approveSuggest.value,
approveStaffGuid: userData.staffGuid,
complianceInfoMap: {},
approveState: 'Y',
bizGuid: flowDetail.value.approveVO.bizGuid
}, flowDetail.value.tenantGuid).then((res: any) => {
dialogBtnLoading.value = false;
if (res.code == '00000') {
ElMessage.success('审批通过!')
dialogVisible.value = false;
getProductDetail();
approvalProcessRef.value?.renderProcessNodes()
} else {
ElMessage.error(res.msg)
}
})
}
const rejectSubmit = async () => {
if (!approveSuggest.value) return ElMessage.error('请填写驳回理由!')
passListingFormRef.value.ruleFormRef.validate().then((valid) => {
if (valid) {
let complianceInfoMap = {}
passFormInfo.value.items.forEach((item) => {
assetsSafeInfo.value.forEach((item1) => {
if (item.label == item1.label) {
complianceInfoMap[item1.value] = passListingFormRef.value.formInline[item.field];
}
})
})
dialogBtnLoading.value = true;
productRejectFlowData({
guid: flowDetail.value.approveVO.approveGuid,
flowType: flowDetail.value.approveVO.flowType,
approveSuggest: approveSuggest.value,
approveStaffGuid: userData.staffGuid,
complianceInfoMap: complianceInfoMap,
bizGuid: flowDetail.value.approveVO.bizGuid,
approveState: 'R'
}, flowDetail.value.tenantGuid).then((res: any) => {
dialogBtnLoading.value = false;
if (res.code == '00000') {
ElMessage.success('驳回成功!')
dialogVisible.value = false;
//getDetail
getProductDetail();
approvalProcessRef.value?.renderProcessNodes();
} else {
ElMessage.error(res.msg)
}
})
dialogBtnLoading.value = true;
productRejectFlowData({
guid: flowDetail.value.approveVO.approveGuid,
flowType: flowDetail.value.approveVO.flowType,
approveSuggest: approveSuggest.value,
approveStaffGuid: userData.staffGuid,
complianceInfoMap: {},
bizGuid: flowDetail.value.approveVO.bizGuid,
approveState: 'R'
}, flowDetail.value.tenantGuid).then((res: any) => {
dialogBtnLoading.value = false;
if (res.code == '00000') {
ElMessage.success('驳回成功!')
dialogVisible.value = false;
//getDetail
getProductDetail();
approvalProcessRef.value?.renderProcessNodes();
} else {
ElMessage.error(res.msg)
}
})
}
...
...
@@ -1926,7 +1896,10 @@ const viewProductDetail = () => {
<div
class=
"list_panel"
v-else
>
<div
class=
"list_item"
>
<span
class=
"item_label"
>
数据产品名称:
</span>
<span
class=
"item_value link"
@
click=
"viewProductDetail"
>
{{
flowDetail
.
damName
||
'--'
}}
</span>
<span
class=
"item_value link"
@
click=
"viewProductDetail"
>
<ellipsis-tooltip
:content=
"flowDetail.damName || '--'"
class-name=
"w100f mr8-i"
:refName=
"'tooltipOver' + 'damName'"
></ellipsis-tooltip>
</span>
</div>
<div
class=
"list_item"
>
<span
class=
"item_label"
>
资产类型:
</span>
...
...
@@ -1952,7 +1925,7 @@ const viewProductDetail = () => {
<span
class=
"item_label"
>
定价方式:
</span>
<span
class=
"item_value"
>
{{
priceWayInfo
||
'--'
}}
</span>
</div>
<div
v-show=
"flowDetail.dataSource != '1'"
class=
"list_item"
>
<div
v-show=
"flowDetail.dataSource != '1'
&& priceWayInfo != '面议'
"
class=
"list_item"
>
<span
class=
"item_label"
>
定价金额:
</span>
<span
class=
"item_value"
>
{{
prcieInfo
||
'--'
}}
</span>
</div>
...
...
@@ -2057,7 +2030,8 @@ const viewProductDetail = () => {
</div>
</div>
</div>
<div
class=
"panel_wrap"
v-if=
"(detailType == 'detail') && flowDetail.complianceInfo && Object.keys(flowDetail.complianceInfo).length > 0"
>
<!-- <div class="panel_wrap"
v-if="(detailType == 'detail') && flowDetail.complianceInfo && Object.keys(flowDetail.complianceInfo).length > 0">
<div class="panel_header">
<div class="header_title">
<span class="title_text">
...
...
@@ -2101,7 +2075,7 @@ const viewProductDetail = () => {
</div>
</div>
</div>
</div>
</div>
-->
<div
class=
"panel_wrap"
v-if=
"!dGuid"
>
<div
class=
"panel_header"
>
<div
class=
"header_title"
>
...
...
@@ -2171,7 +2145,7 @@ const viewProductDetail = () => {
</div>
</div>
<el-dialog
v-model=
"dialogVisible"
:title=
"dialogTitle"
width=
"550px"
:close-on-click-modal=
"false"
>
<
Form
ref=
"passListingFormRef"
:itemList=
"passFormInfo.items"
:rules=
"passFormInfo.rules"
/
>
<
!-- <Form ref="passListingFormRef" :itemList="passFormInfo.items" :rules="passFormInfo.rules" /> --
>
<el-input
type=
"textarea"
:rows=
"3"
maxlength=
"100"
v-model=
"approveSuggest"
resize=
"none"
:placeholder=
"dynamicPlaceholder"
/>
<
template
#
footer
>
...
...
src/views/data_smart_contract/smartContractDetail.vue
View file @
8211b98
...
...
@@ -1433,19 +1433,19 @@ onActivated(() => {
<el-table
ref=
"execContractTableRef"
:data=
"execContractTableInfo.data"
:highlight-current-row=
"true"
stripe
v-loading=
"execContractTableInfo.loading"
border
height=
"100%"
tooltip-effect=
"light"
row-key=
"guid"
:style=
"
{
width: '100%',
height: '3
0
0px',
height: '3
5
0px',
display: 'inline-block',
}">
<el-table-column
type=
"expand"
>
<template
#
default=
"scope"
>
<div
class=
"h-title mt6"
>
履约证明
</div>
<div
class=
"list_panel"
style=
"width: 1200px;"
>
<div
class=
"list_item"
>
<div
class=
"list_item
is_block
"
>
<span
class=
"item_label"
>
日志摘要:
</span>
<span
class=
"item_value"
><ellipsis-tooltip
:content=
"scope.row?.contractProof?.logHash || '--'"
class-name=
"w100f mr8-i"
:refName=
"'tooltipOver' + 'logHash'"
></ellipsis-tooltip></span>
</div>
<div
class=
"list_item"
>
<div
class=
"list_item
is_block
"
>
<span
class=
"item_label"
>
区块链交易ID:
</span>
<span
class=
"item_value row"
><ellipsis-tooltip
:content=
"scope.row?.contractProof?.blockchainTx || '--'"
class-name=
"w100f mr8-i"
...
...
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