| | |
| | | <template> |
| | | <div class="property-panel"> |
| | | <div class="w-[370px] bg-white p-3 rounded"> |
| | | <div class="property-panel bg-white flex-col w-[340px]" style="display: flex"> |
| | | <div class="bg-white rounded flex-0 h-full flex flex-col"> |
| | | <div class="header flex-items-center pb-1.5" style="border-bottom: 1px solid black"> |
| | | <div class="flex-items-center"> |
| | | <span class="ywifont ywicon-guanbi cursor-pointer mr-1.5" @click="closeClick"></span> |
| | | <span class="text-lg font-bold">{{ propertyTitle }}</span> |
| | | <div class="flex-items-center w-full"> |
| | | <span class="ywifont ywicon-guanbi cursor-pointer mr-1.5 flex-0" @click="closeClick"></span> |
| | | <span class="text-lg font-bold over-ellipsis flex-auto">{{ propertyTitle }}</span> |
| | | </div> |
| | | </div> |
| | | <div class="content rounded-lg max-h-[700px] overflow-y-auto min-h-[600px]"> |
| | | <el-collapse v-model="activeNames" @change="handleChange" class="mt-2 h-full"> |
| | | <div class="content rounded-lg overflow-y-auto mt-2"> |
| | | <el-collapse v-model="activeNames" @change="handleChange" class="h-full"> |
| | | <el-collapse-item v-for="group in propertyGroupList" :key="group.type" :title="group.title" :name="group.type" class=""> |
| | | <el-table |
| | | class="collapse-table" |
| | |
| | | > |
| | | <el-table-column prop="date" label="Date" min-width="40%" show-overflow-tooltip> |
| | | <template #default="scope"> |
| | | {{ scope.row.info.title }} |
| | | |
| | | <div v-if="scope.row.info.unit" class="flex-items-center"> |
| | | <el-tooltip :disabled="disableTooltip" effect="dark" :content="scope.row.info.title" placement="top-start"> |
| | | <span class="over-ellipsis " @mouseover="textMouseOver($event)"> {{ scope.row.info.title }}</span> |
| | | </el-tooltip> |
| | | |
| | | <span> {{`(${scope.row.info.unit})`}}</span> |
| | | </div> |
| | | <span v-else>{{ scope.row.info.title }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="name" label="Name"> |
| | |
| | | const emit = defineEmits(['close']); |
| | | const activeNames = ref(['1']); |
| | | const { disableTooltip, textMouseOver } = useTextOverflow(); |
| | | |
| | | |
| | | |
| | | const handleChange = (val) => {}; |
| | | const closeClick = () => { |
| | |
| | | const otype = feature.get('otype'); |
| | | const oname = feature.get('oname'); |
| | | if (!otype) return; |
| | | |
| | | const otypeProperty = props.propertyMap?.[otype] ?? {}; |
| | | propertyTitle.value = otypeProperty.title; |
| | | console.log('🚀 ~ otypeProperty:', otypeProperty); |
| | | propertyTitle.value = `${otypeProperty.title}: ${oname}`; |
| | | const vpropsMap = otypeProperty.vprops ?? {}; |
| | | console.log('🚀 ~ vpropsMap:', vpropsMap); |
| | | const config = props.propertyConfigMap?.[otype] ?? {}; |
| | | console.log('🚀 ~ config:', config); |
| | | const specialList = ['ONAME', 'OTYPE']; |
| | | |
| | | const vpropsList: any[] = []; |
| | |
| | | border-top: unset; |
| | | border-bottom: unset; |
| | | .el-collapse-item { |
| | | :deep(.el-collapse-item__wrap) { |
| | | border: none; |
| | | } |
| | | :deep(.el-collapse-item__header) { |
| | | background-color: #e5e5e5; |
| | | padding-left: 4px; |