数据资产登记更新
Showing
9 changed files
with
132 additions
and
50 deletions
| ... | @@ -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'] | ... | ... |
| ... | @@ -85,8 +85,8 @@ export const getProduct = (params) => request({ | ... | @@ -85,8 +85,8 @@ export const getProduct = (params) => request({ |
| 85 | // 查看平台会员信息 | 85 | // 查看平台会员信息 |
| 86 | export const getTenantInfo = (params) => request({ | 86 | export const getTenantInfo = (params) => request({ |
| 87 | // url: `${import.meta.env.VITE_APP_PERSONAL_URL}/tenant/getByGuid/${params}`, | 87 | // url: `${import.meta.env.VITE_APP_PERSONAL_URL}/tenant/getByGuid/${params}`, |
| 88 | // url: `http://localhost:9000/circulation/ms-data-circulation-portal-service/enterprise/detail-by-name`, | 88 | url: `http://localhost:9000/circulation/ms-data-circulation-portal-service/enterprise/detail-by-name`, |
| 89 | url: `http://192.168.6.22:29900/circulation/ms-data-circulation-portal-service/enterprise/detail-by-name`, | 89 | // url: `http://192.168.6.22:29900/circulation/ms-data-circulation-portal-service/enterprise/detail-by-name`, |
| 90 | method: 'get', | 90 | method: 'get', |
| 91 | params | 91 | params |
| 92 | }) | 92 | }) | ... | ... |
src/components/CarouselPanel/index.ts
0 → 100644
| 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> |
| ... | @@ -617,7 +617,7 @@ const panelChange = (scope, row) => { | ... | @@ -617,7 +617,7 @@ const panelChange = (scope, row) => { |
| 617 | required_mark: item.required, | 617 | required_mark: item.required, |
| 618 | }">{{ | 618 | }">{{ |
| 619 | item.label | 619 | item.label |
| 620 | }}</span> | 620 | }}</span> |
| 621 | 621 | ||
| 622 | </span> | 622 | </span> |
| 623 | <div class="header_title_tooltip" style="width: auto" v-if="item.tooltip"> | 623 | <div class="header_title_tooltip" style="width: auto" v-if="item.tooltip"> |
| ... | @@ -710,7 +710,7 @@ const panelChange = (scope, row) => { | ... | @@ -710,7 +710,7 @@ const panelChange = (scope, row) => { |
| 710 | <div class="item_panel" :class="{ is_block: panel.block }" v-for="panel in item.children"> | 710 | <div class="item_panel" :class="{ is_block: panel.block }" v-for="panel in item.children"> |
| 711 | <label :class="{ required_mark: panel.required }">{{ | 711 | <label :class="{ required_mark: panel.required }">{{ |
| 712 | panel.label | 712 | panel.label |
| 713 | }}</label> | 713 | }}</label> |
| 714 | <el-checkbox v-if="panel.type == 'checkbox'" v-model="formInline[panel.field]" | 714 | <el-checkbox v-if="panel.type == 'checkbox'" v-model="formInline[panel.field]" |
| 715 | :disabled="panel.disabled || readonly" :true-label="panel.trueValue ?? true" | 715 | :disabled="panel.disabled || readonly" :true-label="panel.trueValue ?? true" |
| 716 | :false-label="panel.falseValue ?? false">{{ panel.placeholder }}</el-checkbox> | 716 | :false-label="panel.falseValue ?? false">{{ panel.placeholder }}</el-checkbox> |
| ... | @@ -793,7 +793,7 @@ const panelChange = (scope, row) => { | ... | @@ -793,7 +793,7 @@ const panelChange = (scope, row) => { |
| 793 | <span class="item-label" slot="label"> | 793 | <span class="item-label" slot="label"> |
| 794 | <span v-if="child.label" :class="{ required_mark: child.required }">{{ | 794 | <span v-if="child.label" :class="{ required_mark: child.required }">{{ |
| 795 | child.label | 795 | child.label |
| 796 | }}</span> | 796 | }}</span> |
| 797 | </span> | 797 | </span> |
| 798 | <el-select v-if="child.type == 'select'" v-model="formInline[child.field]" | 798 | <el-select v-if="child.type == 'select'" v-model="formInline[child.field]" |
| 799 | :placeholder="child.placeholder" :disabled="child.disabled || readonly" :filterable="child.filterable" | 799 | :placeholder="child.placeholder" :disabled="child.disabled || readonly" :filterable="child.filterable" |
| ... | @@ -852,7 +852,7 @@ const panelChange = (scope, row) => { | ... | @@ -852,7 +852,7 @@ const panelChange = (scope, row) => { |
| 852 | <span class="item-label" slot="label"> | 852 | <span class="item-label" slot="label"> |
| 853 | <span :class="{ required_mark: child.required }">{{ | 853 | <span :class="{ required_mark: child.required }">{{ |
| 854 | child.label | 854 | child.label |
| 855 | }}</span> | 855 | }}</span> |
| 856 | </span> | 856 | </span> |
| 857 | <el-cascader v-if="child.type == 'cascader'" v-model="formInline[child.field]" :props="child.props" | 857 | <el-cascader v-if="child.type == 'cascader'" v-model="formInline[child.field]" :props="child.props" |
| 858 | :options="child.options" :show-all-levels="child.showAllLevels ?? true" | 858 | :options="child.options" :show-all-levels="child.showAllLevels ?? true" |
| ... | @@ -895,7 +895,7 @@ const panelChange = (scope, row) => { | ... | @@ -895,7 +895,7 @@ const panelChange = (scope, row) => { |
| 895 | <div class="item_panel" v-for="child in item.children"> | 895 | <div class="item_panel" v-for="child in item.children"> |
| 896 | <label :class="{ required_mark: child.required }">{{ | 896 | <label :class="{ required_mark: child.required }">{{ |
| 897 | child.label | 897 | child.label |
| 898 | }}</label> | 898 | }}</label> |
| 899 | <div class="tool_item"> | 899 | <div class="tool_item"> |
| 900 | <el-select v-model="formInline[child.field]" :class="{ is_block: child.block }" | 900 | <el-select v-model="formInline[child.field]" :class="{ is_block: child.block }" |
| 901 | :placeholder="child.placeholder" :multiple="child.multiple" :collapse-tags="child.collapse" | 901 | :placeholder="child.placeholder" :multiple="child.multiple" :collapse-tags="child.collapse" |
| ... | @@ -970,7 +970,7 @@ const panelChange = (scope, row) => { | ... | @@ -970,7 +970,7 @@ const panelChange = (scope, row) => { |
| 970 | <span class="item-label" slot="label"> | 970 | <span class="item-label" slot="label"> |
| 971 | <span :class="{ required_mark: child.required }">{{ | 971 | <span :class="{ required_mark: child.required }">{{ |
| 972 | child.label | 972 | child.label |
| 973 | }}</span> | 973 | }}</span> |
| 974 | </span> | 974 | </span> |
| 975 | <el-input :class="[child.col, { is_block: child.block }]" v-model="formInline[child.field]" | 975 | <el-input :class="[child.col, { is_block: child.block }]" v-model="formInline[child.field]" |
| 976 | :rows="child.rows ?? 4" type="textarea" :placeholder="child.placeholder" | 976 | :rows="child.rows ?? 4" type="textarea" :placeholder="child.placeholder" |
| ... | @@ -1026,7 +1026,7 @@ const panelChange = (scope, row) => { | ... | @@ -1026,7 +1026,7 @@ const panelChange = (scope, row) => { |
| 1026 | <span class="item-label" slot="label"> | 1026 | <span class="item-label" slot="label"> |
| 1027 | <span :class="{ required_mark: child.required }">{{ | 1027 | <span :class="{ required_mark: child.required }">{{ |
| 1028 | child.label | 1028 | child.label |
| 1029 | }}</span> | 1029 | }}</span> |
| 1030 | </span> | 1030 | </span> |
| 1031 | <div class="input_group" :class="[child.col]" v-if="child.type == 'input-group'"> | 1031 | <div class="input_group" :class="[child.col]" v-if="child.type == 'input-group'"> |
| 1032 | <template v-for="(group, c) in child.children"> | 1032 | <template v-for="(group, c) in child.children"> |
| ... | @@ -1035,13 +1035,14 @@ const panelChange = (scope, row) => { | ... | @@ -1035,13 +1035,14 @@ const panelChange = (scope, row) => { |
| 1035 | <span class="item-label" slot="label"> | 1035 | <span class="item-label" slot="label"> |
| 1036 | <span :class="{ required_mark: group.required }">{{ | 1036 | <span :class="{ required_mark: group.required }">{{ |
| 1037 | group.label | 1037 | group.label |
| 1038 | }}</span> | 1038 | }}</span> |
| 1039 | </span> | 1039 | </span> |
| 1040 | <el-select v-if="group.type == 'select'" v-model="formInline[group.field]" | 1040 | <el-select v-if="group.type == 'select'" v-model="formInline[group.field]" |
| 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" |
| ... | @@ -1176,7 +1177,7 @@ const panelChange = (scope, row) => { | ... | @@ -1176,7 +1177,7 @@ const panelChange = (scope, row) => { |
| 1176 | <span class="item-label" slot="label"> | 1177 | <span class="item-label" slot="label"> |
| 1177 | <span :class="{ required_mark: child.required }">{{ | 1178 | <span :class="{ required_mark: child.required }">{{ |
| 1178 | child.label | 1179 | child.label |
| 1179 | }}</span> | 1180 | }}</span> |
| 1180 | </span> | 1181 | </span> |
| 1181 | <el-select v-if="child.type == 'select'" v-model="formInline[child.field]" | 1182 | <el-select v-if="child.type == 'select'" v-model="formInline[child.field]" |
| 1182 | :placeholder="child.placeholder" :clearable="child.clearable" :disabled="child.disabled || readonly" | 1183 | :placeholder="child.placeholder" :clearable="child.clearable" :disabled="child.disabled || readonly" |
| ... | @@ -1227,7 +1228,7 @@ const panelChange = (scope, row) => { | ... | @@ -1227,7 +1228,7 @@ const panelChange = (scope, row) => { |
| 1227 | <span class="item-label" slot="label" :class="[child.col]"> | 1228 | <span class="item-label" slot="label" :class="[child.col]"> |
| 1228 | <span :class="{ required_mark: child.required }">{{ | 1229 | <span :class="{ required_mark: child.required }">{{ |
| 1229 | child.label | 1230 | child.label |
| 1230 | }}</span> | 1231 | }}</span> |
| 1231 | </span> | 1232 | </span> |
| 1232 | <div class="input_popover_panel" v-if="child.type == 'input-popover-panel'"> | 1233 | <div class="input_popover_panel" v-if="child.type == 'input-popover-panel'"> |
| 1233 | <el-popover placement="bottom-start" width="100%" trigger="click" :teleported="false"> | 1234 | <el-popover placement="bottom-start" width="100%" trigger="click" :teleported="false"> |
| ... | @@ -1281,7 +1282,7 @@ const panelChange = (scope, row) => { | ... | @@ -1281,7 +1282,7 @@ const panelChange = (scope, row) => { |
| 1281 | <span class="item-label" slot="label"> | 1282 | <span class="item-label" slot="label"> |
| 1282 | <span :class="{ required_mark: child.required }">{{ | 1283 | <span :class="{ required_mark: child.required }">{{ |
| 1283 | child.label | 1284 | child.label |
| 1284 | }}</span> | 1285 | }}</span> |
| 1285 | </span> | 1286 | </span> |
| 1286 | <template v-if="child.type == 'upload-image'"> | 1287 | <template v-if="child.type == 'upload-image'"> |
| 1287 | <el-upload :class="[child.col, 'avatar-uploader', { is_block: child.block }]" action="#" | 1288 | <el-upload :class="[child.col, 'avatar-uploader', { is_block: child.block }]" action="#" | ... | ... |
| ... | @@ -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> | ... | ... |
This diff is collapsed.
Click to expand it.
-
Please register or sign in to post a comment