fix
Showing
3 changed files
with
246 additions
and
221 deletions
| ... | @@ -133,6 +133,13 @@ export const getEvaDetail = (params) => request({ | ... | @@ -133,6 +133,13 @@ export const getEvaDetail = (params) => request({ |
| 133 | params | 133 | params |
| 134 | }) | 134 | }) |
| 135 | 135 | ||
| 136 | // 获取价值评价详情 | ||
| 137 | export const getCostDetail = (params) => request({ | ||
| 138 | url: `${import.meta.env.VITE_API_NEW_PORTAL}/cost-assessment/detail`, | ||
| 139 | method: 'get', | ||
| 140 | params | ||
| 141 | }) | ||
| 142 | |||
| 136 | /** 资产价值评估相关接口 */ | 143 | /** 资产价值评估相关接口 */ |
| 137 | 144 | ||
| 138 | /** 获取资产价值评估分页列表。 */ | 145 | /** 获取资产价值评估分页列表。 */ | ... | ... |
| ... | @@ -13,7 +13,8 @@ import { | ... | @@ -13,7 +13,8 @@ import { |
| 13 | qualityAllow, | 13 | qualityAllow, |
| 14 | costAssessAllow, | 14 | costAssessAllow, |
| 15 | getRegisterCatalogTableDetail, | 15 | getRegisterCatalogTableDetail, |
| 16 | getEvaDetail | 16 | getEvaDetail, |
| 17 | getCostDetail | ||
| 17 | } from "@/api/modules/dataAsset"; | 18 | } from "@/api/modules/dataAsset"; |
| 18 | import { changeNum } from '@/utils/common' | 19 | import { changeNum } from '@/utils/common' |
| 19 | import { ElMessage, ElMessageBox } from "element-plus"; | 20 | import { ElMessage, ElMessageBox } from "element-plus"; |
| ... | @@ -28,6 +29,7 @@ const userData = JSON.parse(userStore.userData) | ... | @@ -28,6 +29,7 @@ const userData = JSON.parse(userStore.userData) |
| 28 | const fullPath = route.fullPath; | 29 | const fullPath = route.fullPath; |
| 29 | const catalogGuid = route.query.guid; | 30 | const catalogGuid = route.query.guid; |
| 30 | const evaGuid = route.query.evaGuid; | 31 | const evaGuid = route.query.evaGuid; |
| 32 | const costAssessGuid = route.query.costAssessGuid; | ||
| 31 | const detailType = ref(route.query.type); | 33 | const detailType = ref(route.query.type); |
| 32 | 34 | ||
| 33 | const { proxy } = getCurrentInstance() as any; | 35 | const { proxy } = getCurrentInstance() as any; |
| ... | @@ -76,6 +78,8 @@ const baseInfoFormItems = ref([ | ... | @@ -76,6 +78,8 @@ const baseInfoFormItems = ref([ |
| 76 | 78 | ||
| 77 | const evaDetailInfo: any = ref({}); | 79 | const evaDetailInfo: any = ref({}); |
| 78 | 80 | ||
| 81 | const costAssessDetail: any = ref({}); | ||
| 82 | |||
| 79 | const deploymentId = ref(''); | 83 | const deploymentId = ref(''); |
| 80 | 84 | ||
| 81 | const processInstanceId = ref(''); | 85 | const processInstanceId = ref(''); |
| ... | @@ -117,6 +121,19 @@ const getDetailInfo = () => { | ... | @@ -117,6 +121,19 @@ const getDetailInfo = () => { |
| 117 | } | 121 | } |
| 118 | }); | 122 | }); |
| 119 | } | 123 | } |
| 124 | if (costAssessGuid) { | ||
| 125 | getCostDetail({ guid: costAssessGuid }).then((res: any) => { | ||
| 126 | if (res.code == proxy.$passCode) { | ||
| 127 | const data = res.data || {}; | ||
| 128 | costAssessDetail.value = data; | ||
| 129 | evaDetailInfo.value = data; | ||
| 130 | deploymentId.value = data.approveVO.camundaDeploymentId; | ||
| 131 | processInstanceId.value = data.approveVO?.camundaInstanceId; | ||
| 132 | } else { | ||
| 133 | proxy.$ElMessage.error(res.msg); | ||
| 134 | } | ||
| 135 | }) | ||
| 136 | } | ||
| 120 | } | 137 | } |
| 121 | 138 | ||
| 122 | onBeforeMount(() => { | 139 | onBeforeMount(() => { |
| ... | @@ -191,9 +208,9 @@ const toolBtns: any = computed(() => { | ... | @@ -191,9 +208,9 @@ const toolBtns: any = computed(() => { |
| 191 | let btnsArr: any = [{ | 208 | let btnsArr: any = [{ |
| 192 | label: "关闭", value: "cancel", plain: true | 209 | label: "关闭", value: "cancel", plain: true |
| 193 | }]; | 210 | }]; |
| 194 | let approveVO = evaDetailInfo.value.approveVO; | 211 | let approveVO = evaDetailInfo.value.approveVO || costAssessDetail.value.approveVO; |
| 195 | let staffGuid = userData.staffGuid; | 212 | let staffGuid = userData.staffGuid; |
| 196 | if (approveVO && approveVO.approveState == 'A' && approveVO.approveStaffGuids&&approveVO.approveStaffGuids.indexOf(staffGuid) > -1) { | 213 | if (approveVO && approveVO.approveState == 'A' && approveVO.approveStaffGuids && approveVO.approveStaffGuids.indexOf(staffGuid) > -1) { |
| 197 | btnsArr.push(...[{ label: "通过", value: "pass", type: 'primary' }, { label: "驳回", value: "reject", type: 'danger', plain: true }]); | 214 | btnsArr.push(...[{ label: "通过", value: "pass", type: 'primary' }, { label: "驳回", value: "reject", type: 'danger', plain: true }]); |
| 198 | } | 215 | } |
| 199 | if (approveVO && approveVO.approveState == 'A' && approveVO.staffGuid == staffGuid) { | 216 | if (approveVO && approveVO.approveState == 'A' && approveVO.staffGuid == staffGuid) { |
| ... | @@ -597,11 +614,11 @@ const passDialogBtnClick = (btn, info) => { | ... | @@ -597,11 +614,11 @@ const passDialogBtnClick = (btn, info) => { |
| 597 | evaluationRangeEnd: info.evaluationRange[1], | 614 | evaluationRangeEnd: info.evaluationRange[1], |
| 598 | evaluationNote: info.evaluationNote, | 615 | evaluationNote: info.evaluationNote, |
| 599 | evaluationFile: info.evaluationFile?.map(file => { | 616 | evaluationFile: info.evaluationFile?.map(file => { |
| 600 | return { | 617 | return { |
| 601 | name: file.name, | 618 | name: file.name, |
| 602 | url: file.url | 619 | url: file.url |
| 603 | } | 620 | } |
| 604 | }) || [] | 621 | }) || [] |
| 605 | }).then((res: any) => { | 622 | }).then((res: any) => { |
| 606 | passDialogInfo.value.footer.btns[1].loading = false; | 623 | passDialogInfo.value.footer.btns[1].loading = false; |
| 607 | submitPromise.value = null; | 624 | submitPromise.value = null; |
| ... | @@ -719,202 +736,207 @@ const rejectDialogBtnClick = (btn, info) => { | ... | @@ -719,202 +736,207 @@ const rejectDialogBtnClick = (btn, info) => { |
| 719 | <template> | 736 | <template> |
| 720 | <div class="main-content" v-loading="fullscreenLoading"> | 737 | <div class="main-content" v-loading="fullscreenLoading"> |
| 721 | <div class="detail-content" :style="{ height: detailType == 'qualityEvaluate' ? 'calc(100% - 44px)' : '100%' }"> | 738 | <div class="detail-content" :style="{ height: detailType == 'qualityEvaluate' ? 'calc(100% - 44px)' : '100%' }"> |
| 722 | <div class="header"> | 739 | <div class="header"> |
| 723 | <div class="left-img"></div> | 740 | <div class="left-img"></div> |
| 724 | <div class="right-main"> | 741 | <div class="right-main"> |
| 725 | <div class="asset-title"> | 742 | <div class="asset-title"> |
| 726 | <div style="display: flex;align-items: center;"> | 743 | <div style="display: flex;align-items: center;"> |
| 727 | <div class="title1">{{ detailInfo.damName ?? '--' }}</div> | 744 | <div class="title1">{{ detailInfo.damName ?? '--' }}</div> |
| 728 | <div class="dataLabel">{{ detailInfo.damTypeName }}</div> | 745 | <div class="dataLabel">{{ detailInfo.damTypeName }}</div> |
| 729 | <div class="dataLabel">{{ detailInfo.subjectDomainName || detailInfo.subjectDomain }}</div> | 746 | <div class="dataLabel">{{ detailInfo.subjectDomainName || detailInfo.subjectDomain }}</div> |
| 730 | <div class="dataLabel dataLabel1" v-if="detailInfo.databaseType">{{ detailInfo.databaseType }}</div> | 747 | <div class="dataLabel dataLabel1" v-if="detailInfo.databaseType">{{ detailInfo.databaseType }}</div> |
| 731 | <div class="dataLabel dataLabel1">{{ detailInfo.dataSourcesName }}</div> | 748 | <div class="dataLabel dataLabel1">{{ detailInfo.dataSourcesName }}</div> |
| 749 | </div> | ||
| 732 | </div> | 750 | </div> |
| 751 | <div class="applicationScenarios" | ||
| 752 | :style="{ 'margin-right': (isTruncated && !isExpanded) ? '30px' : '0px', WebkitLineClamp: (!isTruncated ? 'inherit' : (isExpanded ? 'inherit' : 1)), WebkitBoxOrient: 'vertical' }"> | ||
| 753 | {{ '覆盖地域:' + (detailInfo.coverageArea?.[0]?.[0] == 'all' ? '全国' : (detailInfo.coverageAreaName?.map(c => | ||
| 754 | c.join('/')).join(',') ?? '--')) }}<span v-if="isTruncated" class="text_btn expand_btn" | ||
| 755 | :style="{ position: isExpanded ? 'inherit' : 'absolute', 'margin-left': isExpanded ? '4px' : '0px' }" | ||
| 756 | @click="handleExpand()" v-preReClick>{{ | ||
| 757 | isExpanded | ||
| 758 | ? | ||
| 759 | '收起' : '展开' }}</span></div> | ||
| 733 | </div> | 760 | </div> |
| 734 | <div class="applicationScenarios" | ||
| 735 | :style="{ 'margin-right': (isTruncated && !isExpanded) ? '30px' : '0px', WebkitLineClamp: (!isTruncated ? 'inherit' : (isExpanded ? 'inherit' : 1)), WebkitBoxOrient: 'vertical' }"> | ||
| 736 | {{ '覆盖地域:' + (detailInfo.coverageArea?.[0]?.[0] == 'all' ? '全国' : (detailInfo.coverageAreaName?.map(c => | ||
| 737 | c.join('/')).join(',') ?? '--')) }}<span v-if="isTruncated" class="text_btn expand_btn" | ||
| 738 | :style="{ position: isExpanded ? 'inherit' : 'absolute', 'margin-left': isExpanded ? '4px' : '0px' }" | ||
| 739 | @click="handleExpand()" v-preReClick>{{ | ||
| 740 | isExpanded | ||
| 741 | ? | ||
| 742 | '收起' : '展开' }}</span></div> | ||
| 743 | </div> | 761 | </div> |
| 744 | </div> | 762 | <ContentWrap id="id-assetContent" title="基础信息" description="" style="margin: 0 16px"> |
| 745 | <ContentWrap id="id-assetContent" title="基础信息" description="" style="margin: 0 16px"> | 763 | <Form ref="baseInfoFormRef" :itemList="baseInfoFormItems" formId="base-info-form" /> |
| 746 | <Form ref="baseInfoFormRef" :itemList="baseInfoFormItems" formId="base-info-form" /> | 764 | </ContentWrap> |
| 747 | </ContentWrap> | 765 | <ContentWrap id="id-table" title="资源表" description="" style="margin: 16px 16px 16px"> |
| 748 | <ContentWrap id="id-table" title="资源表" description="" style="margin: 16px 16px 16px"> | 766 | <el-table v-show="!fullscreenLoading" ref="tableRef" :data="detailInfo.damCatalogTableInfo" |
| 749 | <el-table v-show="!fullscreenLoading" ref="tableRef" :data="detailInfo.damCatalogTableInfo" | 767 | :highlight-current-row="true" stripe border @expand-change="handleTableExpandChange" height="100%" |
| 750 | :highlight-current-row="true" stripe border @expand-change="handleTableExpandChange" height="100%" | 768 | tooltip-effect="light" row-key="guid" :style="{ |
| 751 | tooltip-effect="light" row-key="guid" :style="{ | 769 | width: '100%', |
| 752 | width: '100%', | 770 | height: '400px', |
| 753 | height: '400px', | 771 | display: 'inline-block', |
| 754 | display: 'inline-block', | 772 | }"> |
| 755 | }"> | 773 | <el-table-column type="expand"> |
| 756 | <el-table-column type="expand"> | 774 | <template #default="scope"> |
| 757 | <template #default="scope"> | 775 | <el-table ref="fieldsTableRef" :data="scope.row.damCatalogTableField" :highlight-current-row="true" stripe |
| 758 | <el-table ref="fieldsTableRef" :data="scope.row.damCatalogTableField" :highlight-current-row="true" stripe | 776 | border v-loading="tableFieldsLoading[scope.row.guid]" height="100%" tooltip-effect="light" :style="{ |
| 759 | border v-loading="tableFieldsLoading[scope.row.guid]" height="100%" tooltip-effect="light" :style="{ | 777 | width: '100%', |
| 760 | width: '100%', | 778 | 'max-height': '100%', |
| 761 | 'max-height': '100%', | 779 | display: 'inline-block', |
| 762 | display: 'inline-block', | 780 | }"> |
| 763 | }"> | 781 | <el-table-column label="排序" type="index" width="56px" align="center" show-overflow-tooltip> |
| 764 | <el-table-column label="排序" type="index" width="56px" align="center" show-overflow-tooltip> | 782 | </el-table-column> |
| 765 | </el-table-column> | 783 | <el-table-column prop="chName" label="字段中文名称" width="140px" align="left" show-overflow-tooltip> |
| 766 | <el-table-column prop="chName" label="字段中文名称" width="140px" align="left" show-overflow-tooltip> | 784 | </el-table-column> |
| 767 | </el-table-column> | 785 | <el-table-column prop="enName" label="字段英文名称" width="140px" align="left" show-overflow-tooltip> |
| 768 | <el-table-column prop="enName" label="字段英文名称" width="140px" align="left" show-overflow-tooltip> | 786 | |
| 769 | 787 | </el-table-column> | |
| 770 | </el-table-column> | 788 | <el-table-column prop="dataTypeName" label="字段类型" width="110px" align="left" show-overflow-tooltip> |
| 771 | <el-table-column prop="dataTypeName" label="字段类型" width="110px" align="left" show-overflow-tooltip> | 789 | </el-table-column> |
| 772 | </el-table-column> | 790 | <el-table-column prop="fieldLength" label="长度" width="90px" align="left" show-overflow-tooltip> |
| 773 | <el-table-column prop="fieldLength" label="长度" width="90px" align="left" show-overflow-tooltip> | 791 | <template #default="scope"> |
| 774 | <template #default="scope"> | 792 | <span>{{ scope.row["fieldLength"] == null ? '--' : scope.row["fieldLength"] }}</span> |
| 775 | <span>{{ scope.row["fieldLength"] == null ? '--' : scope.row["fieldLength"] }}</span> | ||
| 776 | </template> | ||
| 777 | </el-table-column> | ||
| 778 | <el-table-column prop="fieldPrecision" label="精度" width="90px" align="left" show-overflow-tooltip> | ||
| 779 | <template #default="scope"> | ||
| 780 | |||
| 781 | <span>{{ scope.row["fieldPrecision"] == null ? '--' : scope.row["fieldPrecision"] }}</span> | ||
| 782 | </template> | ||
| 783 | </el-table-column> | ||
| 784 | <el-table-column prop="dictionaryCode" label="关联字典" width="130px" align="left" show-overflow-tooltip> | ||
| 785 | <template #default="scope"> | ||
| 786 | <span>{{ scope.row["dictionaryName"] || '--' }}</span> | ||
| 787 | </template> | ||
| 788 | </el-table-column> | ||
| 789 | <el-table-column prop="isPrimary" label="是否主键" width="90px" align="left" show-overflow-tooltip> | ||
| 790 | <template #default="scope"> | ||
| 791 | <span>{{ scope.row["isPrimary"] ? (scope.row["isPrimary"] == 'Y' ? '是' : '否') : '--' }}</span> | ||
| 792 | </template> | ||
| 793 | </el-table-column> | ||
| 794 | <el-table-column prop="notNull" label="是否必填" width="90px" align="left" show-overflow-tooltip> | ||
| 795 | <template #default="scope"> | ||
| 796 | <span>{{ scope.row["notNull"] ? (scope.row["notNull"] == 'Y' ? '是' : '否') : '--' }}</span> | ||
| 797 | </template> | ||
| 798 | </el-table-column> | ||
| 799 | <el-table-column prop="description" label="业务规则描述" width="180px" align="left" show-overflow-tooltip> | ||
| 800 | <template #default="scope"> | ||
| 801 | <span>{{ scope.row["description"] || '--' }}</span> | ||
| 802 | </template> | ||
| 803 | </el-table-column> | ||
| 804 | </el-table> | ||
| 805 | </template> | ||
| 806 | </el-table-column> | ||
| 807 | <el-table-column label="序号" type="index" width="56px" align="center" show-overflow-tooltip> | ||
| 808 | </el-table-column> | ||
| 809 | <el-table-column prop="tableChName" label="表中文名称" width="150px" align="left" show-overflow-tooltip> | ||
| 810 | </el-table-column> | ||
| 811 | <el-table-column prop="tableName" label="表英文名称" width="150px" align="left" show-overflow-tooltip> | ||
| 812 | </el-table-column> | ||
| 813 | <el-table-column prop="dataCount" label="表数据总数(条)" width="150px" align="right" show-overflow-tooltip> | ||
| 814 | <template #default="scope"> | ||
| 815 | <span>{{ scope.row["dataCount"] == null ? '--' : changeNum(scope.row["dataCount"], 0) }}</span> | ||
| 816 | </template> | ||
| 817 | </el-table-column> | ||
| 818 | <el-table-column prop="description" label="表描述" width="150px" align="left" show-overflow-tooltip> | ||
| 819 | <template #default="scope"> | ||
| 820 | <span>{{ scope.row["description"] || '--' }}</span> | ||
| 821 | </template> | ||
| 822 | </el-table-column> | ||
| 823 | <el-table-column prop="updateUserName" label="修改人" width="140px" align="left" show-overflow-tooltip> | ||
| 824 | <template #default="scope"> | ||
| 825 | <span>{{ scope.row["updateUserName"] || '--' }}</span> | ||
| 826 | </template> | ||
| 827 | </el-table-column> | ||
| 828 | <el-table-column prop="updateTime" label="修改时间" width="180px" align="left" show-overflow-tooltip> | ||
| 829 | <template #default="scope"> | ||
| 830 | <span>{{ scope.row["updateTime"] || '--' }}</span> | ||
| 831 | </template> | ||
| 832 | </el-table-column> | ||
| 833 | <el-table-column label="操作" minWidth="120px" align="left" fixed="right" show-overflow-tooltip> | ||
| 834 | <template #default="scope"> | ||
| 835 | <span class="text_btn" @click="handleTableViewData(scope)">查看样例数据</span> | ||
| 836 | </template> | ||
| 837 | </el-table-column> | ||
| 838 | </el-table> | ||
| 839 | </ContentWrap> | ||
| 840 | <ContentWrap v-if="route.query.type == 'qualityEvaluate'" id="id-assetContent" title="附件信息" description="" style="margin: 16px 16px 16px"> | ||
| 841 | <div class="list_panel mt4"> | ||
| 842 | <div class="list_item is_block isFile" v-if="evaDetailInfo?.qualityEvaluationFile?.length" :style="{ width: '40%' }"> | ||
| 843 | <span class="item_label" :style="{ width: 'auto', 'text-align': 'left' }">数据质量评价收集</span> | ||
| 844 | <span v-for="(item) in (evaDetailInfo?.qualityEvaluationFile || [])" | ||
| 845 | class="item_value" :style="{ 'padding-left': '0px' }"> | ||
| 846 | <div class="file-operate"> | ||
| 847 | <template | ||
| 848 | v-if="item.name.substring(item.name.lastIndexOf('.') + 1) == 'xls' || item.name.substring(item.name.lastIndexOf('.') + 1) == 'xlsx' || item.name.substring(item.name.lastIndexOf('.') + 1) == 'csv'"> | ||
| 849 | <img class="file-img" src="../../assets/images/excel.png" /> | ||
| 850 | </template> | ||
| 851 | <template | ||
| 852 | v-else-if="item.name.substring(item.name.lastIndexOf('.') + 1) == 'doc' || item.name.substring(item.name.lastIndexOf('.') + 1) == 'docx'"> | ||
| 853 | <img class="file-img" src="../../assets/images/word.png" /> | ||
| 854 | </template> | 793 | </template> |
| 855 | <template v-else-if="item.name.substring(item.name.lastIndexOf('.') + 1) == 'zip'"> | 794 | </el-table-column> |
| 856 | <img class="file-img" src="../../assets/images/zip.png" /> | 795 | <el-table-column prop="fieldPrecision" label="精度" width="90px" align="left" show-overflow-tooltip> |
| 796 | <template #default="scope"> | ||
| 797 | |||
| 798 | <span>{{ scope.row["fieldPrecision"] == null ? '--' : scope.row["fieldPrecision"] }}</span> | ||
| 857 | </template> | 799 | </template> |
| 858 | <template v-else-if="item.name.substring(item.name.lastIndexOf('.') + 1) == 'rar'"> | 800 | </el-table-column> |
| 859 | <img class="file-img" src="../../assets/images/RAR.png" /> | 801 | <el-table-column prop="dictionaryCode" label="关联字典" width="130px" align="left" show-overflow-tooltip> |
| 802 | <template #default="scope"> | ||
| 803 | <span>{{ scope.row["dictionaryName"] || '--' }}</span> | ||
| 860 | </template> | 804 | </template> |
| 861 | <template v-else-if="item.name.substring(item.name.lastIndexOf('.') + 1) == 'pdf'"> | 805 | </el-table-column> |
| 862 | <img class="file-img" src="../../assets/images/PDF.png" /> | 806 | <el-table-column prop="isPrimary" label="是否主键" width="90px" align="left" show-overflow-tooltip> |
| 807 | <template #default="scope"> | ||
| 808 | <span>{{ scope.row["isPrimary"] ? (scope.row["isPrimary"] == 'Y' ? '是' : '否') : '--' }}</span> | ||
| 863 | </template> | 809 | </template> |
| 864 | <template v-else-if="item.name.substring(item.name.lastIndexOf('.') + 1) == 'png'"> | 810 | </el-table-column> |
| 865 | <img class="file-img" src="../../assets/images/png.png" /> | 811 | <el-table-column prop="notNull" label="是否必填" width="90px" align="left" show-overflow-tooltip> |
| 812 | <template #default="scope"> | ||
| 813 | <span>{{ scope.row["notNull"] ? (scope.row["notNull"] == 'Y' ? '是' : '否') : '--' }}</span> | ||
| 866 | </template> | 814 | </template> |
| 867 | <template | 815 | </el-table-column> |
| 868 | v-else-if="item.name.substring(item.name.lastIndexOf('.') + 1) == 'jpg' || item.name.substring(item.name.lastIndexOf('.') + 1) == 'jpeg'"> | 816 | <el-table-column prop="description" label="业务规则描述" width="180px" align="left" show-overflow-tooltip> |
| 869 | <img class="file-img" src="../../assets/images/jpg.png" /> | 817 | <template #default="scope"> |
| 818 | <span>{{ scope.row["description"] || '--' }}</span> | ||
| 870 | </template> | 819 | </template> |
| 871 | <div class="file-name">{{ item.name }}</div> | 820 | </el-table-column> |
| 872 | <div :style="{ right: '36px' }" | 821 | </el-table> |
| 873 | v-if="item.name.substring(item.name.lastIndexOf('.') + 1) == 'pdf' || item.name.substring(item.name.lastIndexOf('.') + 1) == 'png' || item.name.substring(item.name.lastIndexOf('.') + 1) == 'jpg' || item.name.substring(item.name.lastIndexOf('.') + 1) == 'jpeg'" | 822 | </template> |
| 874 | class="file-preview" @click="onUploadFilePreview(item)">查看</div> | 823 | </el-table-column> |
| 875 | <div :style="{ right: '0px' }" class="file-preview" @click="onUploadFileDownload(item)">下载</div> | 824 | <el-table-column label="序号" type="index" width="56px" align="center" show-overflow-tooltip> |
| 876 | </div> | 825 | </el-table-column> |
| 877 | </span> | 826 | <el-table-column prop="tableChName" label="表中文名称" width="150px" align="left" show-overflow-tooltip> |
| 878 | </div> | 827 | </el-table-column> |
| 879 | </div> | 828 | <el-table-column prop="tableName" label="表英文名称" width="150px" align="left" show-overflow-tooltip> |
| 880 | </ContentWrap> | 829 | </el-table-column> |
| 881 | <ContentWrap id="id-qualityEvaluate" v-if="route.query.type == 'qualityEvaluate' && evaDetailInfo.qualityScore != null" title="质量评价" | 830 | <el-table-column prop="dataCount" label="表数据总数(条)" width="150px" align="right" show-overflow-tooltip> |
| 882 | description="资产质量评价信息" style="margin: 16px 16px 16px"> | 831 | <template #default="scope"> |
| 883 | <div class="list_panel"> | 832 | <span>{{ scope.row["dataCount"] == null ? '--' : changeNum(scope.row["dataCount"], 0) }}</span> |
| 884 | <div class="list_item"> | 833 | </template> |
| 885 | <span class="item_label">质量得分:</span> | 834 | </el-table-column> |
| 886 | <span class="item_value">{{ evaDetailInfo.qualityScore }}</span> | 835 | <el-table-column prop="description" label="表描述" width="150px" align="left" show-overflow-tooltip> |
| 887 | </div> | 836 | <template #default="scope"> |
| 888 | <div class="list_item" :style="{ width: '60%' }"> | 837 | <span>{{ scope.row["description"] || '--' }}</span> |
| 889 | <span class="item_label">评价对象范围:</span> | 838 | </template> |
| 890 | <span class="item_value">{{ evaDetailInfo.evaluationRangeStart + '~' + evaDetailInfo.evaluationRangeEnd | 839 | </el-table-column> |
| 891 | }}</span> | 840 | <el-table-column prop="updateUserName" label="修改人" width="140px" align="left" show-overflow-tooltip> |
| 892 | </div> | 841 | <template #default="scope"> |
| 893 | <div class="list_item is_block"> | 842 | <span>{{ scope.row["updateUserName"] || '--' }}</span> |
| 894 | <span class="item_label">质量评价结果:</span> | 843 | </template> |
| 895 | <span class="item_value">{{ evaDetailInfo.evaluationNote ?? '--' }}</span> | 844 | </el-table-column> |
| 896 | </div> | 845 | <el-table-column prop="updateTime" label="修改时间" width="180px" align="left" show-overflow-tooltip> |
| 897 | <div class="list_item is_block" :style="{ 'max-width': '700px' }"> | 846 | <template #default="scope"> |
| 898 | <span class="item_label">质量评价报告:</span> | 847 | <span>{{ scope.row["updateTime"] || '--' }}</span> |
| 899 | <span class="item_value"> | 848 | </template> |
| 900 | <div class="file-operate"> | 849 | </el-table-column> |
| 850 | <el-table-column label="操作" minWidth="120px" align="left" fixed="right" show-overflow-tooltip> | ||
| 851 | <template #default="scope"> | ||
| 852 | <span class="text_btn" @click="handleTableViewData(scope)">查看样例数据</span> | ||
| 853 | </template> | ||
| 854 | </el-table-column> | ||
| 855 | </el-table> | ||
| 856 | </ContentWrap> | ||
| 857 | <ContentWrap v-if="route.query.type == 'qualityEvaluate'" id="id-assetContent" title="附件信息" description="" | ||
| 858 | style="margin: 16px 16px 16px"> | ||
| 859 | <div class="list_panel mt4"> | ||
| 860 | <div class="list_item is_block isFile" v-if="evaDetailInfo?.qualityEvaluationFile?.length" | ||
| 861 | :style="{ width: '40%' }"> | ||
| 862 | <span class="item_label" :style="{ width: 'auto', 'text-align': 'left' }">数据质量评价收集</span> | ||
| 863 | <span v-for="(item) in (evaDetailInfo?.qualityEvaluationFile || [])" class="item_value" | ||
| 864 | :style="{ 'padding-left': '0px' }"> | ||
| 865 | <div class="file-operate"> | ||
| 866 | <template | ||
| 867 | v-if="item.name.substring(item.name.lastIndexOf('.') + 1) == 'xls' || item.name.substring(item.name.lastIndexOf('.') + 1) == 'xlsx' || item.name.substring(item.name.lastIndexOf('.') + 1) == 'csv'"> | ||
| 868 | <img class="file-img" src="../../assets/images/excel.png" /> | ||
| 869 | </template> | ||
| 870 | <template | ||
| 871 | v-else-if="item.name.substring(item.name.lastIndexOf('.') + 1) == 'doc' || item.name.substring(item.name.lastIndexOf('.') + 1) == 'docx'"> | ||
| 872 | <img class="file-img" src="../../assets/images/word.png" /> | ||
| 873 | </template> | ||
| 874 | <template v-else-if="item.name.substring(item.name.lastIndexOf('.') + 1) == 'zip'"> | ||
| 875 | <img class="file-img" src="../../assets/images/zip.png" /> | ||
| 876 | </template> | ||
| 877 | <template v-else-if="item.name.substring(item.name.lastIndexOf('.') + 1) == 'rar'"> | ||
| 878 | <img class="file-img" src="../../assets/images/RAR.png" /> | ||
| 879 | </template> | ||
| 880 | <template v-else-if="item.name.substring(item.name.lastIndexOf('.') + 1) == 'pdf'"> | ||
| 901 | <img class="file-img" src="../../assets/images/PDF.png" /> | 881 | <img class="file-img" src="../../assets/images/PDF.png" /> |
| 902 | <div class="file-name">{{ evaDetailInfo.evaluationFile?.[0]?.name }}</div> | 882 | </template> |
| 903 | <div :style="{ right: '36px' }" class="file-preview" | 883 | <template v-else-if="item.name.substring(item.name.lastIndexOf('.') + 1) == 'png'"> |
| 904 | @click="onUploadFilePreview(evaDetailInfo.evaluationFile?.[0])">查看</div> | 884 | <img class="file-img" src="../../assets/images/png.png" /> |
| 905 | <div :style="{ right: '0px' }" class="file-preview" | 885 | </template> |
| 906 | @click="onUploadFileDownload(evaDetailInfo.evaluationFile?.[0])">下载</div> | 886 | <template |
| 907 | </div> | 887 | v-else-if="item.name.substring(item.name.lastIndexOf('.') + 1) == 'jpg' || item.name.substring(item.name.lastIndexOf('.') + 1) == 'jpeg'"> |
| 908 | </span> | 888 | <img class="file-img" src="../../assets/images/jpg.png" /> |
| 909 | </div> | 889 | </template> |
| 890 | <div class="file-name">{{ item.name }}</div> | ||
| 891 | <div :style="{ right: '36px' }" | ||
| 892 | v-if="item.name.substring(item.name.lastIndexOf('.') + 1) == 'pdf' || item.name.substring(item.name.lastIndexOf('.') + 1) == 'png' || item.name.substring(item.name.lastIndexOf('.') + 1) == 'jpg' || item.name.substring(item.name.lastIndexOf('.') + 1) == 'jpeg'" | ||
| 893 | class="file-preview" @click="onUploadFilePreview(item)">查看</div> | ||
| 894 | <div :style="{ right: '0px' }" class="file-preview" @click="onUploadFileDownload(item)">下载</div> | ||
| 895 | </div> | ||
| 896 | </span> | ||
| 910 | </div> | 897 | </div> |
| 911 | </ContentWrap> | 898 | </div> |
| 912 | <ContentWrap v-if="route.query.type == 'qualityEvaluate'" id="id-approveInfo" title="审批信息" description="" style="margin: 16px 16px 16px"> | 899 | </ContentWrap> |
| 913 | <ApprovalProcess v-if="deploymentId" :deploymentId="deploymentId" :processInstanceId="processInstanceId"> | 900 | <ContentWrap id="id-qualityEvaluate" |
| 914 | </ApprovalProcess> | 901 | v-if="route.query.type == 'qualityEvaluate' && evaDetailInfo.qualityScore != null" title="质量评价" |
| 915 | </ContentWrap> | 902 | description="资产质量评价信息" style="margin: 16px 16px 16px"> |
| 916 | </div> | 903 | <div class="list_panel"> |
| 917 | <div class="tool_btns" v-if="toolBtns.length && route.query.type == 'qualityEvaluate'"> | 904 | <div class="list_item"> |
| 905 | <span class="item_label">质量得分:</span> | ||
| 906 | <span class="item_value">{{ evaDetailInfo.qualityScore }}</span> | ||
| 907 | </div> | ||
| 908 | <div class="list_item" :style="{ width: '60%' }"> | ||
| 909 | <span class="item_label">评价对象范围:</span> | ||
| 910 | <span class="item_value">{{ evaDetailInfo.evaluationRangeStart + '~' + evaDetailInfo.evaluationRangeEnd | ||
| 911 | }}</span> | ||
| 912 | </div> | ||
| 913 | <div class="list_item is_block"> | ||
| 914 | <span class="item_label">质量评价结果:</span> | ||
| 915 | <span class="item_value">{{ evaDetailInfo.evaluationNote ?? '--' }}</span> | ||
| 916 | </div> | ||
| 917 | <div class="list_item is_block" :style="{ 'max-width': '700px' }"> | ||
| 918 | <span class="item_label">质量评价报告:</span> | ||
| 919 | <span class="item_value"> | ||
| 920 | <div class="file-operate"> | ||
| 921 | <img class="file-img" src="../../assets/images/PDF.png" /> | ||
| 922 | <div class="file-name">{{ evaDetailInfo.evaluationFile?.[0]?.name }}</div> | ||
| 923 | <div :style="{ right: '36px' }" class="file-preview" | ||
| 924 | @click="onUploadFilePreview(evaDetailInfo.evaluationFile?.[0])">查看</div> | ||
| 925 | <div :style="{ right: '0px' }" class="file-preview" | ||
| 926 | @click="onUploadFileDownload(evaDetailInfo.evaluationFile?.[0])">下载</div> | ||
| 927 | </div> | ||
| 928 | </span> | ||
| 929 | </div> | ||
| 930 | </div> | ||
| 931 | </ContentWrap> | ||
| 932 | <ContentWrap v-if="route.query.type == 'qualityEvaluate' || 'costAssess'" id="id-approveInfo" title="审批信息" | ||
| 933 | description="" style="margin: 16px 16px 16px"> | ||
| 934 | <ApprovalProcess v-if="deploymentId" :deploymentId="deploymentId" :processInstanceId="processInstanceId"> | ||
| 935 | </ApprovalProcess> | ||
| 936 | </ContentWrap> | ||
| 937 | </div> | ||
| 938 | <div class="tool_btns" | ||
| 939 | v-if="toolBtns.length && (route.query.type == 'qualityEvaluate' || route.query.type == 'costAssess')"> | ||
| 918 | <div class="btns"> | 940 | <div class="btns"> |
| 919 | <el-button v-for="btn in toolBtns" :type="btn.type" :plain="btn.plain" @click="btnClick(btn)">{{ btn.label | 941 | <el-button v-for="btn in toolBtns" :type="btn.type" :plain="btn.plain" @click="btnClick(btn)">{{ btn.label |
| 920 | }}</el-button> | 942 | }}</el-button> |
| ... | @@ -952,6 +974,7 @@ const rejectDialogBtnClick = (btn, info) => { | ... | @@ -952,6 +974,7 @@ const rejectDialogBtnClick = (btn, info) => { |
| 952 | font-weight: 600; | 974 | font-weight: 600; |
| 953 | } | 975 | } |
| 954 | } | 976 | } |
| 977 | |||
| 955 | &.results_panel { | 978 | &.results_panel { |
| 956 | box-shadow: 0 0 0 1px #d9d9d9; | 979 | box-shadow: 0 0 0 1px #d9d9d9; |
| 957 | margin: 16px 16px 0px; | 980 | margin: 16px 16px 0px; |
| ... | @@ -1149,33 +1172,33 @@ const rejectDialogBtnClick = (btn, info) => { | ... | @@ -1149,33 +1172,33 @@ const rejectDialogBtnClick = (btn, info) => { |
| 1149 | } | 1172 | } |
| 1150 | 1173 | ||
| 1151 | .file-operate { | 1174 | .file-operate { |
| 1152 | display: flex; | 1175 | display: flex; |
| 1153 | align-items: center; | 1176 | align-items: center; |
| 1154 | position: relative; | 1177 | position: relative; |
| 1155 | 1178 | ||
| 1156 | .file-img { | 1179 | .file-img { |
| 1157 | width: 24px; | 1180 | width: 24px; |
| 1158 | height: 24px; | 1181 | height: 24px; |
| 1159 | } | 1182 | } |
| 1160 | 1183 | ||
| 1161 | &:hover { | 1184 | &:hover { |
| 1162 | background-color: #f5f5f5; | 1185 | background-color: #f5f5f5; |
| 1163 | } | 1186 | } |
| 1164 | 1187 | ||
| 1165 | .file-name { | 1188 | .file-name { |
| 1166 | color: var(--el-color-regular); | 1189 | color: var(--el-color-regular); |
| 1167 | margin-left: 4px; | 1190 | margin-left: 4px; |
| 1168 | } | 1191 | } |
| 1169 | 1192 | ||
| 1170 | .file-preview { | 1193 | .file-preview { |
| 1171 | position: absolute; | 1194 | position: absolute; |
| 1172 | cursor: pointer; | 1195 | cursor: pointer; |
| 1173 | color: var(--el-color-primary); | 1196 | color: var(--el-color-primary); |
| 1174 | margin-right: 8px; | 1197 | margin-right: 8px; |
| 1175 | } | 1198 | } |
| 1176 | } | 1199 | } |
| 1177 | 1200 | ||
| 1178 | .list_panel { | 1201 | .list_panel { |
| 1179 | display: flex; | 1202 | display: flex; |
| 1180 | flex-wrap: wrap; | 1203 | flex-wrap: wrap; |
| 1181 | display: flex; | 1204 | display: flex; | ... | ... |
| ... | @@ -369,11 +369,6 @@ const tableBtnClick = (scope, btn) => { | ... | @@ -369,11 +369,6 @@ const tableBtnClick = (scope, btn) => { |
| 369 | }); | 369 | }); |
| 370 | }); | 370 | }); |
| 371 | } else if (type === 'detail') { // 详情 | 371 | } else if (type === 'detail') { // 详情 |
| 372 | router.push({ | ||
| 373 | name: 'registerValueDetail', | ||
| 374 | query: { guid: row.registerGuid, costAssessGuid: row.guid, type: 'costAssess', daTenantGuid: row.tenantGuid } | ||
| 375 | }); | ||
| 376 | } else if (type === 'detail') { // 详情 | ||
| 377 | if (row.registerApproveState == 'Y') { | 372 | if (row.registerApproveState == 'Y') { |
| 378 | router.push({ | 373 | router.push({ |
| 379 | name: 'registerDetail', | 374 | name: 'registerDetail', |
| ... | @@ -382,7 +377,7 @@ const tableBtnClick = (scope, btn) => { | ... | @@ -382,7 +377,7 @@ const tableBtnClick = (scope, btn) => { |
| 382 | } else { | 377 | } else { |
| 383 | router.push({ | 378 | router.push({ |
| 384 | name: 'evaCatalogDetail', | 379 | name: 'evaCatalogDetail', |
| 385 | query: { guid: row.registerGuid, costAssessGuid: row.guid, type: 'costAssess' } | 380 | query: { guid: row.damGuid, costAssessGuid: row.guid, type: 'costAssess' } |
| 386 | }); | 381 | }); |
| 387 | } | 382 | } |
| 388 | } else if (type == 'productDetail') { | 383 | } else if (type == 'productDetail') { | ... | ... |
-
Please register or sign in to post a comment