f13946e2 by lxs

数据资产登记更新

1 parent d24705fc
......@@ -27,6 +27,7 @@ import {
getTenantDetailInfo,
getImageContent
} from "@/api/modules/queryService";
import { passFlowData, rejectFlowData, revokeFlowData } from "@/api/modules/workFlowService";
import useDataAssetStore from "@/store/modules/dataAsset";
import { changeNum, getDownloadUrl, download } from '@/utils/common';
......@@ -256,16 +257,10 @@ const getDetailInfo = () => {
fullscreenLoading.value = false;
if (res.code == proxy.$passCode) {
const data = res.data || {};
let { approveVO } = data;
detailInfo.value = data;
assetDetailInfo.value = data;
deploymentId.value = data.camundaDeploymentId;
// if (fullPath === route.fullPath) {
// document.title = `详情-${data.daName}`;
// }
// let tab: any = userStore.tabbar.find((tab: any) => tab.fullPath === fullPath);
// if (tab) {
// tab.meta.title = `详情-${data.daName}`;
// }
deploymentId.value = approveVO.camundaDeploymentId;
isTextTruncated();
} else {
ElMessage.error(res.msg);
......@@ -502,10 +497,11 @@ const btnClick = (btn) => {
type: 'warning',
}).then(() => {
let params = {
bizGuid: detailInfo.value.guid,
funcCode: detailInfo.value.funcCode
guid: detailInfo.value.approveVO.approveGuid,
flowType: detailInfo.value.approveVO.flowType,
approveStaffGuid: userData.staffGuid,
}
registerApproveCancel(params).then((res: any) => {
revokeFlowData(params).then((res: any) => {
if (res?.code == proxy.$passCode) {
if (res.data) {
ElMessage.success('该审批流程撤销成功!');
......@@ -849,11 +845,12 @@ const passDialogBtnClick = (btn, info) => {
return;
}
let params = {
bizGuid: detailInfo.value.guid,
funcCode: detailInfo.value.funcCode,
approveSuggest: info.approveSuggest
guid: detailInfo.value.approveVO.approveGuid,
flowType: detailInfo.value.approveVO.flowType,
approveSuggest: info.approveSuggest,
approveStaffGuid: userData.staffGuid,
}
submitPromise.value = registerApproveAllow(params).then((res: any) => {
submitPromise.value = passFlowData(params).then((res: any) => {
submitPromise.value = null;
if (res?.code == proxy.$passCode) {
if (res.data) {
......@@ -986,11 +983,12 @@ const rejectDialogBtnClick = (btn, info) => {
}
//资产登记的驳回。
let params = {
bizGuid: detailInfo.value.guid,
funcCode: detailInfo.value.funcCode,
approveSuggest: info.approveSuggest
guid: detailInfo.value.approveVO.approveGuid,
flowType: detailInfo.value.approveVO.flowType,
approveSuggest: info.approveSuggest,
approveStaffGuid: userData.staffGuid,
}
registerApproveBackup(params).then((res: any) => {
rejectFlowData(params).then((res: any) => {
if (res?.code == proxy.$passCode) {
if (res.data) {
ElMessage.success('驳回成功');
......@@ -1124,30 +1122,35 @@ const handleClickDamCatalogDetail = () => {
<div style="display: flex;align-items: center;">
<div class="title1">{{ assetDetailInfo.daName ?? '--' }}</div>
<div v-if="assetDetailInfo.dataSensitivityLevelName?.length" class="dataLabel">{{
(assetDetailInfo.dataSensitivityLevelName?.filter(u => u != '其他')?.join('、') +
(assetDetailInfo.dataSensitivityLevelOther ? `、${assetDetailInfo.dataSensitivityLevelOther}` : ''))
}}
(assetDetailInfo.dataSensitivityLevelName?.filter(u => u != '其他')?.join('、') +
(assetDetailInfo.dataSensitivityLevelOther ? `、${assetDetailInfo.dataSensitivityLevelOther}` : ''))
}}
</div>
<div v-if="assetDetailInfo.bizOwnName?.length" class="dataLabel">{{
assetDetailInfo.bizOwnName?.filter(u => u != '其他')?.join('、') + (assetDetailInfo.bizOwn?.includes(4)
?
((assetDetailInfo.bizOwnName?.length > 1 ? '、' : '') + assetDetailInfo.bizOwnOther) : '') }}</div>
assetDetailInfo.bizOwnName?.filter(u => u != '其他')?.join('、') + (assetDetailInfo.bizOwn?.includes(4)
?
((assetDetailInfo.bizOwnName?.length > 1 ? '、' : '') + assetDetailInfo.bizOwnOther) : '') }}</div>
<div :class="['dataLabel', assetDetailInfo.isPersonalInfo != 'Y' ? 'dataLabel1' : '']">{{
assetDetailInfo.isPersonalInfo == 'Y' ? '涉及个人信息' : '不涉及个人信息' }}</div>
assetDetailInfo.isPersonalInfo == 'Y' ? '涉及个人信息' : '不涉及个人信息' }}</div>
</div>
<div style="display: flex">
<div v-if="tabsInfo.tabs.find(t => t.name == 'qualityEvaluate')" class="right-label" :style="{ 'margin-right': tabsInfo.tabs.find(t => t.name == 'costAssess') ? '8px' : '0px' }">评分:<span
style="color: var(--el-color-primary);font-weight: 600;font-size: 16px;">{{ evaDetailInfo.qualityScore + '分' }}</span>
<div v-if="tabsInfo.tabs.find(t => t.name == 'qualityEvaluate')" class="right-label"
:style="{ 'margin-right': tabsInfo.tabs.find(t => t.name == 'costAssess') ? '8px' : '0px' }">
评分:<span style="color: var(--el-color-primary);font-weight: 600;font-size: 16px;">{{
evaDetailInfo.qualityScore + '分' }}</span>
</div>
<div v-if="tabsInfo.tabs.find(t => t.name == 'costAssess')" class="right-label">价值:<span
style="color: var(--el-color-primary);font-weight: 600;font-size: 16px">{{ changeNum(costAssessDetailInfo.assessmentMoney ?? 0, 2, true) + '元' }}</span>
style="color: var(--el-color-primary);font-weight: 600;font-size: 16px">{{
changeNum(costAssessDetailInfo.assessmentMoney ?? 0, 2, true) + '元' }}</span>
</div>
</div>
</div>
<div class="applicationScenarios"
:style="{ 'margin-right': (isTruncated && !isExpanded) ? '30px' : '0px', WebkitLineClamp: (!isTruncated ? 'inherit' : (isExpanded ? 'inherit' : 2)), WebkitBoxOrient: 'vertical' }">
{{ assetDetailInfo.applicationScenarios || '--' }}<span v-if="isTruncated" class="text_btn expand_btn" :style="{ position: isExpanded ? 'inherit' : 'absolute', 'margin-left': isExpanded ? '4px' : '0px' }" @click="handleExpand()" v-preReClick>{{ isExpanded ?
'收起' : '展开' }}</span></div>
{{ assetDetailInfo.applicationScenarios || '--' }}<span v-if="isTruncated" class="text_btn expand_btn"
:style="{ position: isExpanded ? 'inherit' : 'absolute', 'margin-left': isExpanded ? '4px' : '0px' }"
@click="handleExpand()" v-preReClick>{{ isExpanded ?
'收起' : '展开' }}</span></div>
</div>
</div>
<div class="info-content">
......@@ -1160,13 +1163,13 @@ const handleClickDamCatalogDetail = () => {
<div class="list_item">
<span class="item_label">保护情况:</span>
<span class="item_value">{{ (assetDetailInfo.dataProtection == 6 ? assetDetailInfo.dataProtectionOther :
assetDetailInfo.dataProtectionName) ?? '--' }}</span>
assetDetailInfo.dataProtectionName) ?? '--' }}</span>
</div>
<div class="list_item">
<span class="item_label">所属行业:</span>
<span class="item_value"><ellipsis-tooltip :content="(assetDetailInfo.ownIndustryName?.filter(u => u != '其他')?.join(',') +
(assetDetailInfo.ownIndustry?.includes(4)
? ((assetDetailInfo.ownIndustryName?.length > 1 ? ',' : '') + assetDetailInfo.ownIndustryOther) : '')) ?? '--'"
(assetDetailInfo.ownIndustry?.includes(4)
? ((assetDetailInfo.ownIndustryName?.length > 1 ? ',' : '') + assetDetailInfo.ownIndustryOther) : '')) ?? '--'"
class-name="w100f" :refName="'tooltipOver' + 'ownIndustryName'"></ellipsis-tooltip></span>
</div>
<div class="list_item">
......@@ -1174,13 +1177,15 @@ const handleClickDamCatalogDetail = () => {
<span class="item_value"><ellipsis-tooltip :content="assetDetailInfo.exchangeName ?? '--'"
class-name="w100f" :refName="'tooltipOver' + 'exchangeName'"></ellipsis-tooltip></span>
</div>
<div class="list_item">
<div class="list_item">
<span class="item_label">数据规模():</span>
<span class="item_value">{{ assetDetailInfo.dataScale !=null ? changeNum(assetDetailInfo.dataScale, 0) : '--' }}</span>
<span class="item_value">{{ assetDetailInfo.dataScale != null ? changeNum(assetDetailInfo.dataScale, 0) :
'--' }}</span>
</div>
<div class="list_item">
<span class="item_label">所属主题:</span>
<span class="item_value">{{ assetDetailInfo.subjectDomainName || assetDetailInfo.subjectDomain || '--' }}</span>
<span class="item_value">{{ assetDetailInfo.subjectDomainName || assetDetailInfo.subjectDomain || '--'
}}</span>
</div>
</div>
<div class="first-col" style="width: 250px;">
......@@ -1195,8 +1200,8 @@ const handleClickDamCatalogDetail = () => {
<div class="list_item">
<span class="item_label">更新频率:</span>
<span class="item_value">{{ (assetDetailInfo.updateFrequencyName?.filter(u => u != '其他')?.join(',') +
(assetDetailInfo.updateFrequency?.includes(7) ? ((assetDetailInfo.updateFrequencyName > 1 ? ',' : '')
+ assetDetailInfo.updateFrequencyOther) : '')) ?? '--' }}</span>
(assetDetailInfo.updateFrequency?.includes(7) ? ((assetDetailInfo.updateFrequencyName > 1 ? ',' : '')
+ assetDetailInfo.updateFrequencyOther) : '')) ?? '--' }}</span>
</div>
<div class="list_item">
<span class="item_label">质量及价值评估:</span>
......@@ -1204,7 +1209,8 @@ const handleClickDamCatalogDetail = () => {
</div>
<div class="list_item">
<span class="item_label">病例总数():</span>
<span class="item_value">{{ assetDetailInfo.caseNumber ? changeNum(assetDetailInfo.caseNumber, 0) : '--' }}</span>
<span class="item_value">{{ assetDetailInfo.caseNumber ? changeNum(assetDetailInfo.caseNumber, 0) : '--'
}}</span>
</div>
<div class="list_item" v-if="assetDetailInfo.damGuid">
<span class="item_label">数据库类型:</span>
......@@ -1214,23 +1220,22 @@ const handleClickDamCatalogDetail = () => {
<div class="last-col">
<div class="list_item">
<span class="item_label">覆盖地域:</span>
<span class="item_value"><ellipsis-tooltip
:content="assetDetailInfo.coverageArea?.[0]?.[0] == 'all' ? '全国' : (assetDetailInfo.coverageAreaName?.map(c =>
c.join('/')).join(',') ?? '--')"
class-name="w100f pr8" :refName="'tooltipOver' + 'coverageAreaName'"></ellipsis-tooltip></span>
<span class="item_value"><ellipsis-tooltip :content="assetDetailInfo.coverageArea?.[0]?.[0] == 'all' ? '全国' : (assetDetailInfo.coverageAreaName?.map(c =>
c.join('/')).join(',') ?? '--')" class-name="w100f pr8"
:refName="'tooltipOver' + 'coverageAreaName'"></ellipsis-tooltip></span>
</div>
<div class="list_item">
<span class="item_label">取得方式:</span>
<span class="item_value"><ellipsis-tooltip :content="(assetDetailInfo.dataGetWayName?.filter(u => u != '其他')?.join(',') +
(assetDetailInfo.dataGetWay?.includes(8) ?
((assetDetailInfo.dataGetWayName?.length > 1 ? ',' : '') + assetDetailInfo.dataGetWayOther) : '')) ?? '--'"
(assetDetailInfo.dataGetWay?.includes(8) ?
((assetDetailInfo.dataGetWayName?.length > 1 ? ',' : '') + assetDetailInfo.dataGetWayOther) : '')) ?? '--'"
class-name="w100f" :refName="'tooltipOver' + 'dataGetWayName'"></ellipsis-tooltip>
</span>
</div>
<div class="list_item">
<span class="item_label">其他交易所:</span>
<span class="item_value">{{ assetDetailInfo.isRegistered == 'N' ? '无' :
(assetDetailInfo.registeredExchangeName?.join(',') ?? '--') }}</span>
(assetDetailInfo.registeredExchangeName?.join(',') ?? '--') }}</span>
</div>
<div class="list_item">
<span class="item_label">资产类型:</span>
......@@ -1238,11 +1243,13 @@ const handleClickDamCatalogDetail = () => {
</div>
<div class="list_item">
<span class="item_label">数据时间范围:</span>
<span class="item_value">{{ assetDetailInfo.dataStartDate ? `${assetDetailInfo.dataStartDate}至${assetDetailInfo.dataEndDate}` : '--' }}</span>
<span class="item_value">{{ assetDetailInfo.dataStartDate ?
`${assetDetailInfo.dataStartDate}至${assetDetailInfo.dataEndDate}` : '--' }}</span>
</div>
<div class="list_item" v-if="assetDetailInfo.damGuid">
<span class="item_label">数据来源:</span>
<span class="item_value">{{ dataSourcesList.find(d => d.value == assetDetailInfo.dataSources)?.label || '--' }}</span>
<span class="item_label">数据来源:</span>
<span class="item_value">{{ dataSourcesList.find(d => d.value == assetDetailInfo.dataSources)?.label ||
'--' }}</span>
</div>
</div>
</div>
......@@ -1257,8 +1264,9 @@ const handleClickDamCatalogDetail = () => {
<!-- <span class="small-title">资产内容</span> -->
<div class="list_item isFile" :style="{ width: '40%', 'margin-right': '28px' }"
v-if="assetDetailInfo.registerAttachment?.registerLetter?.length">
<div class="item_label" :style="{ width: 'auto', display: 'flex', 'justify-content': 'space-between', 'margin-right': '8px' }">
<span >数据登记承诺及收集函</span>
<div class="item_label"
:style="{ width: 'auto', display: 'flex', 'justify-content': 'space-between', 'margin-right': '8px' }">
<span>数据登记承诺及收集函</span>
<span class="text_btn" v-if="assetDetailInfo.damGuid" @click="handleClickDamCatalogDetail">查看表详情</span>
</div>
<span v-for="(item) in (assetDetailInfo.registerAttachment?.registerLetter || [])" class="item_value"
......@@ -1334,7 +1342,7 @@ const handleClickDamCatalogDetail = () => {
</div>
</span>
</div>
<div class="list_item is_block isFile" :style="{ width: '40%','margin-right': '28px' }"
<div class="list_item is_block isFile" :style="{ width: '40%', 'margin-right': '28px' }"
v-if="(detailType != 'asset' && detailType != 'qualityEvaluate' || assetDetailInfo.isEvaluationAssessment == 'Y') && assetDetailInfo.registerAttachment?.costAssessmentFile?.length">
<span class="item_label" :style="{ width: 'auto', 'text-align': 'left' }">数据价值评估</span>
<span v-for="(item) in (assetDetailInfo.registerAttachment?.costAssessmentFile || [])" class="item_value"
......@@ -1621,7 +1629,7 @@ const handleClickDamCatalogDetail = () => {
<div class="list_item">
<span class="item_label">类型:</span>
<span class="item_value">{{ detailInfo.documentType == 1 ? 'A证' : (detailInfo.documentType == 2 ? 'B证' :
'C证') }}</span>
'C证') }}</span>
</div>
<div class="list_item is_block" v-if="detailInfo.documentFile?.length" :style="{ 'max-width': '700px' }">
<span class="item_label">证件:</span>
......
......@@ -23,6 +23,7 @@ import {
getRegisterTenant,
getExchangeList
} from "@/api/modules/dataAsset";
import { passFlowData, rejectFlowData, revokeFlowData } from "@/api/modules/workFlowService";
import useDataAssetStore from "@/store/modules/dataAsset";
import useUserStore from "@/store/modules/user";
......@@ -145,7 +146,6 @@ const getTableBtns = (row, includeDetail = true) => {
console.log(userData)
let btnsArr: any[] = [];
if (row.approveState == 'N') {//只有草稿中的详情是可以编辑的
includeDetail && btnsArr.push({ label: "详情", value: "path_detail" })
includeDetail && btnsArr.push({ label: "编辑", value: "edit" })
if (row.tenantGuid == userData.tenantGuid) {
btnsArr.push({ label: "删除", value: "delete" });
......@@ -209,10 +209,11 @@ const tableBtnClick = (scope, btn) => {
}).then(() => {
listDataLoading.value = true;
let params = {
bizGuid: row.guid,
funcCode: row.funcCode
guid: row.approveVO.approveGuid,
flowType: row.approveVO.flowType,
approveStaffGuid: userData.staffGuid,
}
registerApproveCancel(params).then((res: any) => {
revokeFlowData(params).then((res: any) => {
listDataLoading.value = false;
if (res?.code == proxy.$passCode) {
if (res.data) {
......@@ -424,11 +425,12 @@ const passDialogBtnClick = (btn, info) => {
if (btn.value == 'submit') {
listDataLoading.value = true;
let params = {
bizGuid: currTableData.value.guid,
funcCode: currTableData.value.funcCode,
approveSuggest: info.approveSuggest
guid: currTableData.value.approveVO.approveGuid,
flowType: currTableData.value.approveVO.flowType,
approveSuggest: info.approveSuggest,
approveStaffGuid: userData.staffGuid,
}
registerApproveAllow(params).then((res: any) => {
passFlowData(params).then((res: any) => {
listDataLoading.value = false;
if (res?.code == proxy.$passCode) {
if (res.data) {
......@@ -491,11 +493,12 @@ const rejectDialogBtnClick = (btn, info) => {
}
listDataLoading.value = true;
let params = {
bizGuid: currTableData.value.guid,
funcCode: currTableData.value.funcCode,
approveSuggest: info.approveSuggest
guid: currTableData.value.approveVO.approveGuid,
flowType: currTableData.value.approveVO.flowType,
approveSuggest: info.approveSuggest,
approveStaffGuid: userData.staffGuid,
}
registerApproveBackup(params).then((res: any) => {
rejectFlowData(params).then((res: any) => {
listDataLoading.value = false;
if (res?.code == proxy.$passCode) {
if (res.data) {
......
......@@ -405,9 +405,10 @@ onBeforeMount(() => {
fullscreenLoading.value = false;
if (res.code == proxy.$passCode) {
const data = res.data || {}
let { approveVO } = data;
draftDetailInfo.value = data;
deploymentId.value = data.camundaDeploymentId;
processInstanceId.value = data.camundaInstanceId
deploymentId.value = approveVO.camundaDeploymentId;
processInstanceId.value = approveVO.camundaInstanceId
let coverageArea = '';
let coverageAreas = [];
let damTypeItem = baseFormItems.value.find(item => item.field == 'damType');
......@@ -743,14 +744,6 @@ const baseFormItems: any = ref([
clearable: true,
required: true,
}, {
label: "数据时间范围",
type: "date-picker",
field: "dateRange",
default: null,
placeholder: "开始时间~结束时间",
clearable: true,
required: true,
}, {
label: '病例总数(例)',
type: 'input',
placeholder: '请输入',
......@@ -760,7 +753,6 @@ const baseFormItems: any = ref([
default: '',
required: false
}, {
}, {
label: '数据覆盖地域',
type: 'checkbox-select',
placeholder: '全国',
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!