c535af3b by xukangle

Merge branch 'develop' of http://117.78.60.236:8000/csbr-daop/fe-data-asset-management into develop

2 parents 3b3f7a83 f4cc314d
...@@ -12,6 +12,7 @@ declare module '@vue/runtime-core' { ...@@ -12,6 +12,7 @@ declare module '@vue/runtime-core' {
12 ApprovalProcess: typeof import('./src/components/ApprovalProcess/src/ApprovalProcess.vue')['default'] 12 ApprovalProcess: typeof import('./src/components/ApprovalProcess/src/ApprovalProcess.vue')['default']
13 Auth: typeof import('./src/components/Auth/index.vue')['default'] 13 Auth: typeof import('./src/components/Auth/index.vue')['default']
14 AuthAll: typeof import('./src/components/AuthAll/index.vue')['default'] 14 AuthAll: typeof import('./src/components/AuthAll/index.vue')['default']
15 CarouselPanel: typeof import('./src/components/CarouselPanel/src/CarouselPanel.vue')['default']
15 ContentWrap: typeof import('./src/components/ContentWrap/src/ContentWrap.vue')['default'] 16 ContentWrap: typeof import('./src/components/ContentWrap/src/ContentWrap.vue')['default']
16 Copyright: typeof import('./src/components/Copyright/index.vue')['default'] 17 Copyright: typeof import('./src/components/Copyright/index.vue')['default']
17 Day: typeof import('./src/components/Schedule/component/day.vue')['default'] 18 Day: typeof import('./src/components/Schedule/component/day.vue')['default']
......
1 import CarouselPanel from './src/CarouselPanel.vue'
2
3 export { CarouselPanel }
1 <script setup lang="ts">
2 import { ElCarousel, ElCarouselItem } from "element-plus";
3 import { CaretBottom, CaretRight } from "@element-plus/icons-vue";
4
5 const props = defineProps({
6 carouselInfo: {
7 type: Object,
8 default: () => { },
9 },
10 });
11
12 const emits = defineEmits(["carouselChange"]);
13
14 const carouselChange = (current: number, prev: number) => {
15 emits("carouselChange", current);
16 };
17
18 </script>
19
20 <template>
21 <el-carousel :height="carouselInfo.height ?? '150px'" :indicator-position="carouselInfo.indicatorPosition ?? 'none'"
22 :arrow="carouselInfo.arrow ?? 'hover'" :trigger="carouselInfo.trigger ?? 'hover'" :loop="carouselInfo.loop ?? true"
23 :autoplay="carouselInfo.autoplay ?? true" :initial-index="carouselInfo.initialIndex ?? 0" @change="carouselChange">
24 <el-carousel-item class="carousel-item" :class="[carouselInfo.itemClass]" v-for="(item, i) in carouselInfo.list" :key="'carousel' + i">
25 <slot :carousel="item"></slot>
26 </el-carousel-item>
27 </el-carousel>
28 </template>
29
30 <style lang="scss" scoped></style>
...@@ -1041,7 +1041,8 @@ const panelChange = (scope, row) => { ...@@ -1041,7 +1041,8 @@ const panelChange = (scope, row) => {
1041 :placeholder="group.placeholder" :clearable="group.clearable" 1041 :placeholder="group.placeholder" :clearable="group.clearable"
1042 :disabled="group.disabled || readonly" :filterable="group.filterable" 1042 :disabled="group.disabled || readonly" :filterable="group.filterable"
1043 :multiple="group.multiple ?? false" :collapse-tags="group.collapse ?? false" 1043 :multiple="group.multiple ?? false" :collapse-tags="group.collapse ?? false"
1044 :collapse-tags-tooltip="group.tagsTooltip ?? false" 1044 :collapse-tags-tooltip="group.tagsTooltip ?? false" :allow-create="group.allowCreate ?? false"
1045 :default-first-option="group.allowCreate ?? false"
1045 @change="(val) => selectChange(val, group)"> 1046 @change="(val) => selectChange(val, group)">
1046 <el-option v-for="opts in group.options" 1047 <el-option v-for="opts in group.options"
1047 :label="group.props?.label ? opts[group.props.label] : opts.label" 1048 :label="group.props?.label ? opts[group.props.label] : opts.label"
......
...@@ -12,6 +12,7 @@ declare module '@vue/runtime-core' { ...@@ -12,6 +12,7 @@ declare module '@vue/runtime-core' {
12 ApprovalProcess: typeof import('./../components/ApprovalProcess/src/ApprovalProcess.vue')['default'] 12 ApprovalProcess: typeof import('./../components/ApprovalProcess/src/ApprovalProcess.vue')['default']
13 Auth: typeof import('./../components/Auth/index.vue')['default'] 13 Auth: typeof import('./../components/Auth/index.vue')['default']
14 AuthAll: typeof import('./../components/AuthAll/index.vue')['default'] 14 AuthAll: typeof import('./../components/AuthAll/index.vue')['default']
15 CarouselPanel: typeof import('./../components/CarouselPanel/src/CarouselPanel.vue')['default']
15 ContentWrap: typeof import('./../components/ContentWrap/src/ContentWrap.vue')['default'] 16 ContentWrap: typeof import('./../components/ContentWrap/src/ContentWrap.vue')['default']
16 Copyright: typeof import('./../components/Copyright/index.vue')['default'] 17 Copyright: typeof import('./../components/Copyright/index.vue')['default']
17 Day: typeof import('./../components/Schedule/component/day.vue')['default'] 18 Day: typeof import('./../components/Schedule/component/day.vue')['default']
......
...@@ -1249,15 +1249,15 @@ const formattedDate = (dateVal) => { ...@@ -1249,15 +1249,15 @@ const formattedDate = (dateVal) => {
1249 (assetDetailInfo.updateFrequency?.includes(7) ? ((assetDetailInfo.updateFrequencyName > 1 ? ',' : '') 1249 (assetDetailInfo.updateFrequency?.includes(7) ? ((assetDetailInfo.updateFrequencyName > 1 ? ',' : '')
1250 + assetDetailInfo.updateFrequencyOther) : '')) ?? '--' }}</span> 1250 + assetDetailInfo.updateFrequencyOther) : '')) ?? '--' }}</span>
1251 </div> 1251 </div>
1252 <div class="list_item">
1253 <span class="item_label">是否完成质量评估:</span>
1254 <span class="item_value">{{ assetDetailInfo.isQualityAssessment == 'Y' ? '是' : '否' }}</span>
1255 </div>
1256 <div class="list_item" v-if="(detailType == 'asset' && assetDetailInfo.isQualityAssessment == 'Y')"> 1252 <div class="list_item" v-if="(detailType == 'asset' && assetDetailInfo.isQualityAssessment == 'Y')">
1257 <span class="item_label">质量评估机构:</span> 1253 <span class="item_label">质量评估机构:</span>
1258 <span class="item_value">{{ assetDetailInfo.registerAttachment.qualityEvaluationInstitution || '--' 1254 <span class="item_value">{{ assetDetailInfo.registerAttachment.qualityEvaluationInstitution || '--'
1259 }}</span> 1255 }}</span>
1260 </div> 1256 </div>
1257 <div class="list_item" v-else-if="assetDetailInfo.isQualityAssessment != 'Y'">
1258 <span class="item_label">是否完成质量评估:</span>
1259 <span class="item_value">{{ assetDetailInfo.isQualityAssessment == 'Y' ? '是' : '否' }}</span>
1260 </div>
1261 <div class="list_item"> 1261 <div class="list_item">
1262 <span class="item_label">病例总数():</span> 1262 <span class="item_label">病例总数():</span>
1263 <span class="item_value">{{ assetDetailInfo.caseNumber ? changeNum(assetDetailInfo.caseNumber, 0) : '--' 1263 <span class="item_value">{{ assetDetailInfo.caseNumber ? changeNum(assetDetailInfo.caseNumber, 0) : '--'
...@@ -1289,15 +1289,15 @@ const formattedDate = (dateVal) => { ...@@ -1289,15 +1289,15 @@ const formattedDate = (dateVal) => {
1289 <span class="item_value">{{ assetDetailInfo.isRegistered == 'N' ? '无' : 1289 <span class="item_value">{{ assetDetailInfo.isRegistered == 'N' ? '无' :
1290 (assetDetailInfo.registeredExchangeName?.join(',') ?? '--') }}</span> 1290 (assetDetailInfo.registeredExchangeName?.join(',') ?? '--') }}</span>
1291 </div> 1291 </div>
1292 <div class="list_item">
1293 <span class="item_label">是否完成价值评估:</span>
1294 <span class="item_value">{{ assetDetailInfo.isCostAssessment == 'Y' ? '是' : '否' }}</span>
1295 </div>
1296 <div class="list_item" v-if="(detailType == 'asset' && assetDetailInfo.isCostAssessment == 'Y')"> 1292 <div class="list_item" v-if="(detailType == 'asset' && assetDetailInfo.isCostAssessment == 'Y')">
1297 <span class="item_label">价值评估机构:</span> 1293 <span class="item_label">价值评估机构:</span>
1298 <span class="item_value">{{ assetDetailInfo.registerAttachment.costAssessmentInstitution || '--' 1294 <span class="item_value">{{ assetDetailInfo.registerAttachment.costAssessmentInstitution || '--'
1299 }}</span> 1295 }}</span>
1300 </div> 1296 </div>
1297 <div class="list_item" v-else-if="assetDetailInfo.isCostAssessment != 'Y'">
1298 <span class="item_label">是否完成价值评估:</span>
1299 <span class="item_value">{{ assetDetailInfo.isCostAssessment == 'Y' ? '是' : '否' }}</span>
1300 </div>
1301 <div class="list_item"> 1301 <div class="list_item">
1302 <span class="item_label">资产类型:</span> 1302 <span class="item_label">资产类型:</span>
1303 <span class="item_value">{{ assetDetailInfo.damTypeName || '--' }}</span> 1303 <span class="item_value">{{ assetDetailInfo.damTypeName || '--' }}</span>
...@@ -1437,7 +1437,44 @@ const formattedDate = (dateVal) => { ...@@ -1437,7 +1437,44 @@ const formattedDate = (dateVal) => {
1437 </div> 1437 </div>
1438 </span> 1438 </span>
1439 </div> 1439 </div>
1440 1440 <div class="list_item is_block isFile" :style="{ width: '40%', 'margin-right': '28px' }"
1441 v-if="detailType == 'asset' && assetDetailInfo.registerAttachment?.commitmentLetter?.length">
1442 <span class="item_label" :style="{ width: 'auto', 'text-align': 'left' }">承诺函附件</span>
1443 <span v-for="(item) in (assetDetailInfo.registerAttachment?.commitmentLetter || [])" class="item_value"
1444 :style="{ 'padding-left': '0px' }">
1445 <div class="file-operate">
1446 <template
1447 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'">
1448 <img class="file-img" src="../../assets/images/excel.png" />
1449 </template>
1450 <template
1451 v-else-if="item.name.substring(item.name.lastIndexOf('.') + 1) == 'doc' || item.name.substring(item.name.lastIndexOf('.') + 1) == 'docx'">
1452 <img class="file-img" src="../../assets/images/word.png" />
1453 </template>
1454 <template v-else-if="item.name.substring(item.name.lastIndexOf('.') + 1) == 'zip'">
1455 <img class="file-img" src="../../assets/images/zip.png" />
1456 </template>
1457 <template v-else-if="item.name.substring(item.name.lastIndexOf('.') + 1) == 'rar'">
1458 <img class="file-img" src="../../assets/images/RAR.png" />
1459 </template>
1460 <template v-else-if="item.name.substring(item.name.lastIndexOf('.') + 1) == 'pdf'">
1461 <img class="file-img" src="../../assets/images/PDF.png" />
1462 </template>
1463 <template v-else-if="item.name.substring(item.name.lastIndexOf('.') + 1) == 'png'">
1464 <img class="file-img" src="../../assets/images/png.png" />
1465 </template>
1466 <template
1467 v-else-if="item.name.substring(item.name.lastIndexOf('.') + 1) == 'jpg' || item.name.substring(item.name.lastIndexOf('.') + 1) == 'jpeg'">
1468 <img class="file-img" src="../../assets/images/jpg.png" />
1469 </template>
1470 <div class="file-name">{{ item.name }}</div>
1471 <div :style="{ right: '36px' }"
1472 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'"
1473 class="file-preview" @click="onUploadFilePreview(item)">查看</div>
1474 <div :style="{ right: '0px' }" class="file-preview" @click="onUploadFileDownload(item)">下载</div>
1475 </div>
1476 </span>
1477 </div>
1441 <div class="list_item is_block isFile" :style="{ width: '40%' }" 1478 <div class="list_item is_block isFile" :style="{ width: '40%' }"
1442 v-if="(detailType == 'asset' && assetDetailInfo.isQualityAssessment == 'Y') && assetDetailInfo.registerAttachment?.evaluationFile?.length"> 1479 v-if="(detailType == 'asset' && assetDetailInfo.isQualityAssessment == 'Y') && assetDetailInfo.registerAttachment?.evaluationFile?.length">
1443 <span class="item_label" :style="{ width: 'auto', 'text-align': 'left' }">质量评估报告</span> 1480 <span class="item_label" :style="{ width: 'auto', 'text-align': 'left' }">质量评估报告</span>
...@@ -1594,7 +1631,7 @@ const formattedDate = (dateVal) => { ...@@ -1594,7 +1631,7 @@ const formattedDate = (dateVal) => {
1594 </span> 1631 </span>
1595 </div> 1632 </div>
1596 <div class="list_item is_block isFile" :style="{ width: '40%', 'margin-right': '28px' }" 1633 <div class="list_item is_block isFile" :style="{ width: '40%', 'margin-right': '28px' }"
1597 v-if="assetDetailInfo.registerAttachment?.commitmentLetter?.length"> 1634 v-if="detailType !='asset' && assetDetailInfo.registerAttachment?.commitmentLetter?.length">
1598 <span class="item_label" :style="{ width: 'auto', 'text-align': 'left' }">承诺函附件</span> 1635 <span class="item_label" :style="{ width: 'auto', 'text-align': 'left' }">承诺函附件</span>
1599 <span v-for="(item) in (assetDetailInfo.registerAttachment?.commitmentLetter || [])" class="item_value" 1636 <span v-for="(item) in (assetDetailInfo.registerAttachment?.commitmentLetter || [])" class="item_value"
1600 :style="{ 'padding-left': '0px' }"> 1637 :style="{ 'padding-left': '0px' }">
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
6 import { ref } from 'vue'; 6 import { ref } from 'vue';
7 import TableTools from "@/components/Tools/table_tools.vue"; 7 import TableTools from "@/components/Tools/table_tools.vue";
8 import { ElMessage, ElMessageBox } from 'element-plus'; 8 import { ElMessage, ElMessageBox } from 'element-plus';
9 import { CarouselPanel } from '@/components/CarouselPanel';
9 import { useRouter, useRoute } from "vue-router"; 10 import { useRouter, useRoute } from "vue-router";
10 import { MoreFilled } from "@element-plus/icons-vue"; 11 import { MoreFilled } from "@element-plus/icons-vue";
11 import { changeNum, tagMethod, tagType, } from "@/utils/common"; 12 import { changeNum, tagMethod, tagType, } from "@/utils/common";
...@@ -26,6 +27,14 @@ const path = route.path; ...@@ -26,6 +27,14 @@ const path = route.path;
26 27
27 const loading = ref(false); 28 const loading = ref(false);
28 const defaultItemLogo = new URL('@/assets/images/home-finance-product.png', import.meta.url).href 29 const defaultItemLogo = new URL('@/assets/images/home-finance-product.png', import.meta.url).href
30 const carouselInfo: any = ref({
31 list: [],
32 height: '176px',
33 loop: false,
34 autoplay: false,
35 arrow: 'hover',
36 itemClass: 'list-content'
37 })
29 const exchangeList: any = ref([]); 38 const exchangeList: any = ref([]);
30 const exchangGuid = ref(''); 39 const exchangGuid = ref('');
31 const searchItemList = ref([ 40 const searchItemList = ref([
...@@ -131,18 +140,8 @@ const tableFields = ref([{ label: "序号", type: "index", width: 56, align: "ce ...@@ -131,18 +140,8 @@ const tableFields = ref([{ label: "序号", type: "index", width: 56, align: "ce
131 { label: "修改人", field: "updateUserName", width: 140 }, 140 { label: "修改人", field: "updateUserName", width: 140 },
132 { label: "修改时间", field: "updateTime", width: 180 }]); 141 { label: "修改时间", field: "updateTime", width: 180 }]);
133 142
134 /** 是否时企业端。不是企业端,则是服务端。 */
135 const isCompanyPlatform = ref(userData.tenantType == 1);
136
137 const listDataLoading = ref(false);
138
139 const activeListType = ref('list');
140
141 const listData: any = ref([]); 143 const listData: any = ref([]);
142 144
143 /** 记录点击省略号弹出菜单的visible */
144 const cardBtnVisible: any = ref(false);
145
146 const tableInfo = ref({ 145 const tableInfo = ref({
147 id: 'asset-data-table', 146 id: 'asset-data-table',
148 rowKey: 'guid', 147 rowKey: 'guid',
...@@ -343,7 +342,12 @@ const getTableData = () => { ...@@ -343,7 +342,12 @@ const getTableData = () => {
343 const getExchangeData = () => { 342 const getExchangeData = () => {
344 getExchangeList().then((res: any) => { 343 getExchangeList().then((res: any) => {
345 if (res.code == proxy.$passCode) { 344 if (res.code == proxy.$passCode) {
346 exchangeList.value = res.data || []; 345 const data = res.data || [];
346 while (data.length) {
347 exchangeList.value.push(data.splice(0, 4));
348 }
349 carouselInfo.value.list = exchangeList.value;
350 carouselInfo.value.arrow = exchangeList.value.length > 1 ? 'hover' : 'never';
347 } else { 351 } else {
348 ElMessage.error(res.msg); 352 ElMessage.error(res.msg);
349 } 353 }
...@@ -530,9 +534,10 @@ const rejectDialogBtnClick = (btn, info) => { ...@@ -530,9 +534,10 @@ const rejectDialogBtnClick = (btn, info) => {
530 <TableTools :searchItems="searchItemList" :searchId="'register-data-search'" @search="toSearch" /> 534 <TableTools :searchItems="searchItemList" :searchId="'register-data-search'" @search="toSearch" />
531 </div> 535 </div>
532 <div class="content_main_wrap"> 536 <div class="content_main_wrap">
533 <div class="list-content"> 537 <CarouselPanel :carousel-info="carouselInfo">
534 <template v-for="(item, i) in exchangeList" :key="item.exchangeGuid"> 538 <template v-slot:default="{ carousel }">
535 <div class="card-content" :class="{ active: exchangGuid == item.exchangeGuid }"> 539 <div class="card-content" v-for="(item, i) in carousel" :key="'item-' + i"
540 :class="{ active: exchangGuid == item.exchangeGuid, mr8: i < carousel.length - 1 && (i + 1) % 4 !== 0 }">
536 <div class="header"> 541 <div class="header">
537 <img class="left-img" 542 <img class="left-img"
538 :src="(item.picUrl && typeof item.picUrl == 'string') ? item.picUrl : defaultItemLogo" alt="" /> 543 :src="(item.picUrl && typeof item.picUrl == 'string') ? item.picUrl : defaultItemLogo" alt="" />
...@@ -556,9 +561,8 @@ const rejectDialogBtnClick = (btn, info) => { ...@@ -556,9 +561,8 @@ const rejectDialogBtnClick = (btn, info) => {
556 <div class="left-btn is_block" @click="btnClick({ value: 'create', ...item })">资产登记</div> 561 <div class="left-btn is_block" @click="btnClick({ value: 'create', ...item })">资产登记</div>
557 </div> 562 </div>
558 </div> 563 </div>
559 <div v-if="i < exchangeList.length - 1" class="space_partition"></div>
560 </template> 564 </template>
561 </div> 565 </CarouselPanel>
562 <div class="table_panel_wrap"> 566 <div class="table_panel_wrap">
563 <Table :tableInfo="tableInfo" @tableBtnClick="tableBtnClick" /> 567 <Table :tableInfo="tableInfo" @tableBtnClick="tableBtnClick" />
564 <PageNav :class="[pageInfo.type]" :pageInfo="pageInfo" @pageChange="pageChange" /> 568 <PageNav :class="[pageInfo.type]" :pageInfo="pageInfo" @pageChange="pageChange" />
...@@ -572,7 +576,6 @@ const rejectDialogBtnClick = (btn, info) => { ...@@ -572,7 +576,6 @@ const rejectDialogBtnClick = (btn, info) => {
572 <style scoped lang="scss"> 576 <style scoped lang="scss">
573 .container_wrap { 577 .container_wrap {
574 padding: 0 16px; 578 padding: 0 16px;
575 overflow: hidden auto;
576 579
577 .table_tool_wrap { 580 .table_tool_wrap {
578 height: 44px; 581 height: 44px;
...@@ -586,8 +589,7 @@ const rejectDialogBtnClick = (btn, info) => { ...@@ -586,8 +589,7 @@ const rejectDialogBtnClick = (btn, info) => {
586 } 589 }
587 590
588 .table_panel_wrap { 591 .table_panel_wrap {
589 flex: 1; 592 height: calc(100% - 176px);
590 height: auto;
591 } 593 }
592 } 594 }
593 595
...@@ -724,21 +726,32 @@ const rejectDialogBtnClick = (btn, info) => { ...@@ -724,21 +726,32 @@ const rejectDialogBtnClick = (btn, info) => {
724 } 726 }
725 } 727 }
726 728
729 .list-content-wrap {
730 position: relative;
731 }
732
727 .list-content { 733 .list-content {
728 display: flex; 734 width: 100%;
729 flex-wrap: wrap; 735 height: 176px;
736 overflow: hidden;
730 737
731 .card-content { 738 .card-content {
732 width: calc(25% - 6px); 739 width: calc(25% - 6px);
733 padding: 16px; 740 padding: 16px;
734 box-shadow: 0 0 0 1px #d9d9d9;
735 margin-bottom: 8px; 741 margin-bottom: 8px;
742 min-width: 325px;
736 max-width: 400px; 743 max-width: 400px;
744 border: 1px solid var(--el-border-color-regular);
745 float: left;
737 746
738 &.active { 747 &.active {
739 box-shadow: 0 0 0 1px var(--el-color-primary); 748 box-shadow: 0 0 0 1px var(--el-color-primary);
740 } 749 }
741 750
751 &.mr8 {
752 margin-right: 8px;
753 }
754
742 .header { 755 .header {
743 display: flex; 756 display: flex;
744 margin-bottom: 16px; 757 margin-bottom: 16px;
...@@ -817,9 +830,5 @@ const rejectDialogBtnClick = (btn, info) => { ...@@ -817,9 +830,5 @@ const rejectDialogBtnClick = (btn, info) => {
817 } 830 }
818 } 831 }
819 } 832 }
820
821 .space_partition {
822 width: 8px;
823 }
824 } 833 }
825 </style> 834 </style>
......
...@@ -271,31 +271,26 @@ const setBaseFormItemsValue = (info) => { ...@@ -271,31 +271,26 @@ const setBaseFormItemsValue = (info) => {
271 } else { 271 } else {
272 item.children[1].visible = false; 272 item.children[1].visible = false;
273 } 273 }
274 } else if (item.field === 'costAssessmentInstitutionGuid') { 274 } else if (item.field == 'quality') {
275 item.default = attach.costAssessmentInstitutionGuid ? attach.costAssessmentInstitutionGuid : (attach.costAssessmentInstitution || info.costAssessmentInstitutionGuid); 275 item.children[0].default = info['isQualityAssessment'];
276 } else if (item.field === 'qualityEvaluationInstitutionGuid') { 276 item.children[1].default = attach.qualityEvaluationInstitutionGuid ? attach.qualityEvaluationInstitutionGuid : (attach.qualityEvaluationInstitution || info.qualityEvaluationInstitutionGuid);
277 item.default = attach.qualityEvaluationInstitutionGuid ? attach.qualityEvaluationInstitutionGuid : (attach.qualityEvaluationInstitution || info.qualityEvaluationInstitutionGuid); 277 if (info['isQualityAssessment'] == 'Y') {
278 } 278 item.children[1].visible = true;
279 else if (item.field == 'isQualityAssessment') {
280 item.default = info[item.field];
281 let quality = baseFormItems.value.find(item => item.field == 'qualityEvaluationInstitutionGuid');
282 if (info['isQualityAssessment'] === 'Y') {
283 quality && (quality.visible = true);
284 uploadFormItems.value[1].visible = true;
285 } else {
286 quality && (quality.visible = false);
287 uploadFormItems.value[1].visible = false;
288 }
289 } else if (item.field == 'isCostAssessment') {
290 item.default = info[item.field];
291 let quality = baseFormItems.value.find(item => item.field == 'costAssessmentInstitutionGuid');
292 if (info['isCostAssessment'] === 'Y') {
293 quality && (quality.visible = true);
294 uploadFormItems.value[2].visible = true; 279 uploadFormItems.value[2].visible = true;
295 } else { 280 } else {
296 quality && (quality.visible = false); 281 item.children[1].visible = false;
297 uploadFormItems.value[2].visible = false; 282 uploadFormItems.value[2].visible = false;
298 } 283 }
284 } else if (item.field == 'cost') {
285 item.children[0].default = info['isCostAssessment'];
286 item.children[1].default = attach.costAssessmentInstitutionGuid ? attach.costAssessmentInstitutionGuid : (attach.costAssessmentInstitution || info.costAssessmentInstitutionGuid);
287 if (info['isCostAssessment'] == 'Y') {
288 item.children[1].visible = true;
289 uploadFormItems.value[3].visible = true;
290 } else {
291 item.children[1].visible = false;
292 uploadFormItems.value[3].visible = false;
293 }
299 } else { 294 } else {
300 item.default = info[item.field]; 295 item.default = info[item.field];
301 } 296 }
...@@ -648,79 +643,97 @@ const baseFormItems: any = ref([ ...@@ -648,79 +643,97 @@ const baseFormItems: any = ref([
648 }, 643 },
649 { 644 {
650 label: "是否完成质量评估", 645 label: "是否完成质量评估",
651 type: "radio-group", 646 type: "input-group",
652 placeholder: "", 647 field: "quality",
648 default: "",
649 children: [
650 {
651 type: "select",
652 placeholder: "请选择",
653 field: "isQualityAssessment", 653 field: "isQualityAssessment",
654 default: 'N', 654 default: "N",
655 col: "w100px",
655 options: [ 656 options: [
656 { 657 {
657 label: "是", 658 label: "否",
658 value: 'Y', 659 value: "N",
659 }, 660 },
660 { 661 {
661 label: "否", 662 label: "是",
662 value: 'N', 663 value: "Y",
663 }, 664 },
664 ], 665 ],
665 required: true, 666 required: true,
666 }, 667 },
667 { 668 {
668 label: '质量评估机构', 669 label: "",
669 type: 'select', 670 type: "select",
670 placeholder: '请选择', 671 placeholder: "质量评估机构",
671 field: 'qualityEvaluationInstitutionGuid', 672 col: "w60 no-margin-r",
672 default: '', 673 field: "qualityEvaluationInstitutionGuid",
673 options: [], 674 default: [],
675 // index: 0,
674 props: { 676 props: {
675 label: 'tenantName', 677 label: 'tenantName',
676 value: 'guid' 678 value: 'guid'
677 }, 679 },
678 required: true, 680 options: [],
679 filterable: true, 681 filterable: true,
680 allowCreate: true, 682 allowCreate: true,
681 clearable: true, 683 clearable: true,
682 style: {
683 width: 'calc(33.33% - 6px)!important'
684 },
685 visible: false, 684 visible: false,
685 required: true,
686 },
687 ],
688 clearable: true,
689 required: true,
686 }, 690 },
687 { 691 {
688 label: "是否完成价值评估", 692 label: "是否完成价值评估",
689 type: "radio-group", 693 type: "input-group",
690 placeholder: "", 694 field: "cost",
695 default: "",
696 children: [
697 {
698 type: "select",
699 placeholder: "请选择",
691 field: "isCostAssessment", 700 field: "isCostAssessment",
692 default: 'N', 701 default: "N",
702 col: "w100px",
693 options: [ 703 options: [
694 { 704 {
695 label: "是", 705 label: "否",
696 value: 'Y', 706 value: "N",
697 }, 707 },
698 { 708 {
699 label: "否", 709 label: "是",
700 value: 'N', 710 value: "Y",
701 }, 711 },
702 ], 712 ],
703 required: true, 713 required: true,
704 }, 714 },
705 { 715 {
706 label: '价值评估机构', 716 label: "",
707 type: 'select', 717 type: "select",
708 placeholder: '请选择', 718 placeholder: "价值评估机构",
709 field: 'costAssessmentInstitutionGuid', 719 col: "w60 no-margin-r",
710 default: '', 720 field: "costAssessmentInstitutionGuid",
711 options: [], 721 default: [],
722 // index: 0,
712 props: { 723 props: {
713 label: 'tenantName', 724 label: 'tenantName',
714 value: 'guid' 725 value: 'guid'
715 }, 726 },
716 required: true, 727 options: [],
717 filterable: true, 728 filterable: true,
718 allowCreate: true, 729 allowCreate: true,
719 clearable: true, 730 clearable: true,
720 style: {
721 width: 'calc(33.33% - 6px)!important'
722 },
723 visible: false, 731 visible: false,
732 required: true,
733 },
734 ],
735 clearable: true,
736 required: true,
724 }, 737 },
725 { 738 {
726 label: "数据分类", 739 label: "数据分类",
...@@ -1160,14 +1173,14 @@ const baseSelectChange = (val, item, row) => { ...@@ -1160,14 +1173,14 @@ const baseSelectChange = (val, item, row) => {
1160 getTenantAttach(val).then((res: any) => { 1173 getTenantAttach(val).then((res: any) => {
1161 if (res?.code == proxy.$passCode) { 1174 if (res?.code == proxy.$passCode) {
1162 Object.assign(attachDataInfo.value, res.data || {}); 1175 Object.assign(attachDataInfo.value, res.data || {});
1163 uploadFormItems.value[0].templateUrl = attachDataInfo.value.register_letter; 1176 uploadFormItems.value[0].templateUrl = attachDataInfo.value['register_letter'] || '';
1164 uploadFormItems.value[1].templateUrl = attachDataInfo.value['commitment-letter']; 1177 uploadFormItems.value[1].templateUrl = attachDataInfo.value['commitment-letter'] || '';
1165 setUploadFormItemsValue(row); 1178 setUploadFormItemsValue(row);
1166 } else { 1179 } else {
1167 ElMessage.error(res.msg); 1180 ElMessage.error(res.msg);
1168 } 1181 }
1169 }) 1182 })
1170 } else if (item.field == 'isRegistered') { 1183 } else if (item.field == 'isRegistered' || item.field == 'isQualityAssessment' || item.field == 'isCostAssessment') {
1171 setBaseFormItemsValue(row); 1184 setBaseFormItemsValue(row);
1172 } else if (item.field == 'daName') { 1185 } else if (item.field == 'daName') {
1173 let da = registerCatalogList.value.find(r => r.guid == val); 1186 let da = registerCatalogList.value.find(r => r.guid == val);
...@@ -1602,7 +1615,29 @@ const propertyRadioGroupChange = (val, row, item) => { ...@@ -1602,7 +1615,29 @@ const propertyRadioGroupChange = (val, row, item) => {
1602 const uploadFormRef = ref(); 1615 const uploadFormRef = ref();
1603 const qualityEvaluationInstitution = ref(''); 1616 const qualityEvaluationInstitution = ref('');
1604 const costAssessmentInstitution = ref(''); 1617 const costAssessmentInstitution = ref('');
1605 /** 资产内容 */ 1618 /**
1619 * 资产内容
1620 * options: [{
1621 value: 'register_letter',
1622 label: '数据登记承诺及收集函'
1623 }, {
1624 value: 'quality_evaluation_file',
1625 label: '数据质量评价收集'
1626 }, {
1627 value: 'cost_assessment_file',
1628 label: '数据价值评估收集'
1629 }, {
1630 value: 'commitment_letter',
1631 label: '承诺函附件'
1632 }, {
1633 value: 'authorization_file',
1634 label: '授权文件'
1635 },
1636 {
1637 value: 'detail_file',
1638 label: '商品详细介绍(签章版)'
1639 }]
1640 **/
1606 const uploadFormItems: any = ref([ 1641 const uploadFormItems: any = ref([
1607 { 1642 {
1608 label: '数据登记承诺及收集函', 1643 label: '数据登记承诺及收集函',
...@@ -1614,15 +1649,15 @@ const uploadFormItems: any = ref([ ...@@ -1614,15 +1649,15 @@ const uploadFormItems: any = ref([
1614 field: 'registerLetter', 1649 field: 'registerLetter',
1615 visible: true, 1650 visible: true,
1616 }, 1651 },
1617 // { 1652 {
1618 // label: '承诺函附件', 1653 label: '承诺函附件',
1619 // tip: '支持扩展名:doc .docx .pdf .jpg .png', 1654 tip: '支持扩展名:doc .docx .pdf .jpg .png',
1620 // type: 'upload-file', 1655 type: 'upload-file',
1621 // accept: '.doc, .docx, .pdf, .jpg, .png', 1656 accept: '.doc, .docx, .pdf, .jpg, .png',
1622 // required: false, 1657 required: false,
1623 // default: [], 1658 default: [],
1624 // field: 'commitmentLetter', 1659 field: 'commitmentLetter',
1625 // }, 1660 },
1626 { 1661 {
1627 label: '上传质量评估报告', 1662 label: '上传质量评估报告',
1628 tip: '支持扩展名:.png, .pdf,单个文件不得大于5M', 1663 tip: '支持扩展名:.png, .pdf,单个文件不得大于5M',
...@@ -1643,15 +1678,6 @@ const uploadFormItems: any = ref([ ...@@ -1643,15 +1678,6 @@ const uploadFormItems: any = ref([
1643 field: 'assessmentFile', 1678 field: 'assessmentFile',
1644 visible: false, 1679 visible: false,
1645 }, 1680 },
1646 {
1647 label: '承诺函附件',
1648 tip: '支持扩展名:doc .docx .pdf .jpg .png',
1649 type: 'upload-file',
1650 accept: '.doc, .docx, .pdf, .jpg, .png',
1651 required: false,
1652 default: [],
1653 field: 'commitmentLetter',
1654 },
1655 ]); 1681 ]);
1656 1682
1657 const uploadFormRules = ref({ 1683 const uploadFormRules = ref({
...@@ -2009,11 +2035,11 @@ onBeforeMount(() => { ...@@ -2009,11 +2035,11 @@ onBeforeMount(() => {
2009 }); 2035 });
2010 } 2036 }
2011 if (data.exchangeGuid) { 2037 if (data.exchangeGuid) {
2012 getTenantAttach(userData.tenantGuid).then((res: any) => { 2038 getTenantAttach(data.exchangeGuid).then((res: any) => {
2013 if (res?.code == proxy.$passCode) { 2039 if (res?.code == proxy.$passCode) {
2014 Object.assign(attachDataInfo.value, res.data || {}); 2040 Object.assign(attachDataInfo.value, res.data || {});
2015 uploadFormItems.value[0].templateUrl = attachDataInfo.value.register_letter; 2041 uploadFormItems.value[0].templateUrl = attachDataInfo.value['register_letter'];
2016 uploadFormItems.value[3].templateUrl = attachDataInfo.value['commitment-letter']; 2042 uploadFormItems.value[1].templateUrl = attachDataInfo.value['commitment-letter'];
2017 setUploadFormItemsValue(draftDetailInfo.value); 2043 setUploadFormItemsValue(draftDetailInfo.value);
2018 } else { 2044 } else {
2019 ElMessage.error(res.msg); 2045 ElMessage.error(res.msg);
...@@ -2067,16 +2093,15 @@ onBeforeMount(() => { ...@@ -2067,16 +2093,15 @@ onBeforeMount(() => {
2067 return parentAreaData.value; 2093 return parentAreaData.value;
2068 } 2094 }
2069 }) 2095 })
2070 // getTenantAttach(userData.tenantGuid).then((res: any) => { 2096 getTenantAttach(exGuid).then((res: any) => {
2071 // if (res?.code == proxy.$passCode) { 2097 if (res?.code == proxy.$passCode) {
2072 // console.log(res.data); 2098 Object.assign(attachDataInfo.value, res.data || {});
2073 // Object.assign(attachDataInfo.value, res.data || {}); 2099 uploadFormItems.value[0].templateUrl = attachDataInfo.value['register_letter'];
2074 // uploadFormItems.value[2].templateUrl = attachDataInfo.value.quality_evaluation_file; 2100 uploadFormItems.value[1].templateUrl = attachDataInfo.value['commitment-letter'];
2075 // uploadFormItems.value[3].templateUrl = attachDataInfo.value.cost_assessment_file; 2101 } else {
2076 // } else { 2102 ElMessage.error(res.msg);
2077 // ElMessage.error(res.msg); 2103 }
2078 // } 2104 })
2079 // })
2080 // 获取资产类型 2105 // 获取资产类型
2081 getParamsList({ dictType: '资产类型' }).then((res: any) => { 2106 getParamsList({ dictType: '资产类型' }).then((res: any) => {
2082 if (res.code == proxy.$passCode) { 2107 if (res.code == proxy.$passCode) {
...@@ -2125,8 +2150,8 @@ onBeforeMount(() => { ...@@ -2125,8 +2150,8 @@ onBeforeMount(() => {
2125 getSingleList({ pageIndex: -1, pageSize: -1, tenantType: "12505" }).then((res: any) => { 2150 getSingleList({ pageIndex: -1, pageSize: -1, tenantType: "12505" }).then((res: any) => {
2126 if (res.code == proxy.$passCode) { 2151 if (res.code == proxy.$passCode) {
2127 qualityEvaluationData.value = res.data.records || []; 2152 qualityEvaluationData.value = res.data.records || [];
2128 let item = baseFormItems.value.find(item => item.field == 'qualityEvaluationInstitutionGuid'); 2153 let item = baseFormItems.value.find(item => item.field == 'quality');
2129 item && (item.options = qualityEvaluationData.value); 2154 item && (item.children[1].options = qualityEvaluationData.value);
2130 } else { 2155 } else {
2131 proxy.$ElMessage.error(res.msg); 2156 proxy.$ElMessage.error(res.msg);
2132 } 2157 }
...@@ -2135,8 +2160,8 @@ onBeforeMount(() => { ...@@ -2135,8 +2160,8 @@ onBeforeMount(() => {
2135 getSingleList({ pageIndex: -1, pageSize: -1, tenantType: "12504" }).then((res: any) => { 2160 getSingleList({ pageIndex: -1, pageSize: -1, tenantType: "12504" }).then((res: any) => {
2136 if (res.code == proxy.$passCode) { 2161 if (res.code == proxy.$passCode) {
2137 costAssessmentData.value = res.data.records || []; 2162 costAssessmentData.value = res.data.records || [];
2138 let item = baseFormItems.value.find(item => item.field == 'costAssessmentInstitutionGuid'); 2163 let item = baseFormItems.value.find(item => item.field == 'cost');
2139 item && (item.options = costAssessmentData.value); 2164 item && (item.children[1].options = costAssessmentData.value);
2140 } else { 2165 } else {
2141 proxy.$ElMessage.error(res.msg); 2166 proxy.$ElMessage.error(res.msg);
2142 } 2167 }
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!