|
|
@@ -22,6 +22,7 @@
|
|
|
<el-descriptions-item label="所学专业:">{{ props.info?.major || '-'}}</el-descriptions-item>
|
|
|
<el-descriptions-item label="从事专业:">{{ props.info?.job || '-'}}</el-descriptions-item>
|
|
|
<el-descriptions-item label="通讯地址:">{{ props.info?.address || '-'}}</el-descriptions-item>
|
|
|
+ <el-descriptions-item label="所在行政区:">{{ props.info?.adcode || '-'}}</el-descriptions-item>
|
|
|
<el-descriptions-item label="联系电话:">{{ props.info?.phone || '-'}}</el-descriptions-item>
|
|
|
<el-descriptions-item label="传真电话:">{{ props.info?.faxPhone || '-'}}</el-descriptions-item>
|
|
|
<el-descriptions-item label="随机因子:">{{ props.info?.factor || '-'}}</el-descriptions-item>
|
|
|
@@ -37,55 +38,63 @@
|
|
|
</div>
|
|
|
|
|
|
<div class="pt-30">
|
|
|
- <div v-if="props.info?.attachments" class="flex1 pt-20">
|
|
|
+ <div v-if="props.info?.attachments?.length" class="flex1 pt-20">
|
|
|
<div class="c-333 mb-10">附件:</div>
|
|
|
<FileLook v-model="props.info.attachments" :span="6"></FileLook>
|
|
|
</div>
|
|
|
+ <div v-if="info?.images" class="flex1 pt-20">
|
|
|
+ <div class="c-333 mb-10">附件:</div>
|
|
|
+ <div class="d-flex flex-w">
|
|
|
+ <template v-for="(item, index) in info?.images.split(',')" :key="index">
|
|
|
+ <ImagePreview class="mr-20" :src="item" width="120px" height="120px"></ImagePreview>
|
|
|
+ </template>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</template>
|
|
|
<script setup name="ExpertInfo" lang="ts">
|
|
|
-import {ref} from 'vue'
|
|
|
+import { ref } from 'vue';
|
|
|
import { FileLook } from '@/views/models';
|
|
|
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
|
|
|
-const dict = proxy?.useDict('lm_person_type', 'sys_sex_type', 'dm_position_status','dm_educational_type');
|
|
|
-const { lm_person_type, sys_sex_type,dm_position_status,dm_educational_type } = toRefs<any>(dict);
|
|
|
+const dict = proxy?.useDict('lm_person_type', 'sys_sex_type', 'dm_position_status', 'dm_educational_type');
|
|
|
+const { lm_person_type, sys_sex_type, dm_position_status, dm_educational_type } = toRefs<any>(dict);
|
|
|
const props = defineProps({
|
|
|
- info: {
|
|
|
- type: Object, // 指定类型
|
|
|
- required: true, // 是否必传
|
|
|
- default: () => ({}) // 默认值
|
|
|
- }
|
|
|
-})
|
|
|
-const formatBytes = (bytes, decimals = 2)=> {
|
|
|
- if (bytes === 0) return '0 Bytes';
|
|
|
- const k = 1024;
|
|
|
- const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB'];
|
|
|
- const i = Math.floor(Math.log(bytes) / Math.log(k));
|
|
|
+ info: {
|
|
|
+ type: Object, // 指定类型
|
|
|
+ required: true, // 是否必传
|
|
|
+ default: () => ({}) // 默认值
|
|
|
+ }
|
|
|
+});
|
|
|
+const formatBytes = (bytes, decimals = 2) => {
|
|
|
+ if (bytes === 0) return '0 Bytes';
|
|
|
+ const k = 1024;
|
|
|
+ const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB'];
|
|
|
+ const i = Math.floor(Math.log(bytes) / Math.log(k));
|
|
|
|
|
|
- // Handle Bytes case separately to avoid decimals
|
|
|
- if (i === 0) return `${bytes} ${sizes[i]}`;
|
|
|
+ // Handle Bytes case separately to avoid decimals
|
|
|
+ if (i === 0) return `${bytes} ${sizes[i]}`;
|
|
|
|
|
|
- return `${parseFloat((bytes / Math.pow(k, i)).toFixed(decimals))} ${sizes[i]}`;
|
|
|
-}
|
|
|
+ return `${parseFloat((bytes / Math.pow(k, i)).toFixed(decimals))} ${sizes[i]}`;
|
|
|
+};
|
|
|
</script>
|
|
|
<style scoped>
|
|
|
-.av-img{
|
|
|
+.av-img {
|
|
|
height: 150px;
|
|
|
width: 150px;
|
|
|
object-fit: contain;
|
|
|
}
|
|
|
-.info-out{
|
|
|
+.info-out {
|
|
|
display: flex;
|
|
|
margin-bottom: 30px;
|
|
|
}
|
|
|
-.info{
|
|
|
+.info {
|
|
|
display: flex;
|
|
|
flex-direction: column;
|
|
|
justify-content: space-between;
|
|
|
- margin-left: 20px;
|
|
|
+ margin-left: 20px;
|
|
|
}
|
|
|
-.info span{
|
|
|
+.info span {
|
|
|
border-style: solid;
|
|
|
border-width: 1px;
|
|
|
border-color: var(--el-color-primary);
|
|
|
@@ -95,16 +104,16 @@ const formatBytes = (bytes, decimals = 2)=> {
|
|
|
padding: 3px;
|
|
|
background-color: #59a6f645;
|
|
|
}
|
|
|
-.jianjie{
|
|
|
+.jianjie {
|
|
|
/* border: 1px solid; */
|
|
|
}
|
|
|
-.jianjie-fist{
|
|
|
- background-color: aliceblue;
|
|
|
- height: 30px;
|
|
|
- padding: 4px;
|
|
|
- border-bottom: 1px solid;
|
|
|
+.jianjie-fist {
|
|
|
+ background-color: aliceblue;
|
|
|
+ height: 30px;
|
|
|
+ padding: 4px;
|
|
|
+ border-bottom: 1px solid;
|
|
|
}
|
|
|
-.fujian{
|
|
|
+.fujian {
|
|
|
border: 1px solid aliceblue;
|
|
|
width: 400px;
|
|
|
height: 70px;
|
|
|
@@ -113,13 +122,13 @@ const formatBytes = (bytes, decimals = 2)=> {
|
|
|
justify-content: space-between;
|
|
|
cursor: pointer;
|
|
|
}
|
|
|
-.file{
|
|
|
+.file {
|
|
|
display: flex;
|
|
|
align-items: stretch;
|
|
|
flex-direction: column;
|
|
|
justify-content: space-around;
|
|
|
}
|
|
|
-.down{
|
|
|
+.down {
|
|
|
background-color: var(--el-color-primary);
|
|
|
width: 50px;
|
|
|
display: flex;
|