From 1f96f089eb3546c682313d29513be04ac72e2de5 Mon Sep 17 00:00:00 2001 From: riku <risaku@163.com> Date: 星期二, 31 十月 2023 16:21:08 +0800 Subject: [PATCH] Merge branch 'master' of ssh://114.215.109.124:29418/grid-management-vue --- src/views/overlay-clue/list/components/ClueList.vue | 138 ++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 138 insertions(+), 0 deletions(-) diff --git a/src/views/overlay-clue/list/components/ClueList.vue b/src/views/overlay-clue/list/components/ClueList.vue new file mode 100644 index 0000000..9aa4250 --- /dev/null +++ b/src/views/overlay-clue/list/components/ClueList.vue @@ -0,0 +1,138 @@ +<template> + <ul class="list-container"> + <template v-for="(item, index) in dataList" :key="index"> + <li + :class=" + 'list-item ' + (item.selected ? 'list-item__selected' : '') + " + @click="selectItem(item)" + v-if="!item.delete" + > + <div class="clue-item"> + <div class="flex gap-1"> + <div class="clue-num">{{ $nf(item.cid) }}</div> + <el-text class="fy-h1" truncated>{{ item.cclueName }}</el-text> + </div> + <div class="flex gap-1"> + <div class=""> + <el-text type="info" size="small">缁撹锛�</el-text> + <el-text size="small">{{ item.conclusionCount + '/1' }}</el-text> + </div> + <div class=""> + <el-text type="info" size="small">闂锛�</el-text> + <el-text size="small">{{ item.questionCount }}</el-text> + </div> + <el-text type="info" size="small">{{item.cuploaded ? '宸叉帹閫�' : '鏈帹閫�'}}</el-text> + </div> + <el-row justify="space-between"> + <span class="flex gap-1"> + <el-tag v-if="item.csiteType" size="default" type="info">{{ + item.csiteType + }}</el-tag> + <el-tag v-if="item.cfactor" size="default" effect="" type="danger">{{ + item.cfactor + }}</el-tag> + </span> + <el-text size="small">涓嬪彂鏃堕棿锛歿{ + $tf(item.creleaseTime) + }}</el-text> + </el-row> + </div> + </li> + </template> + </ul> +</template> + +<script> +import baseMapUtil from '@/components/map/baseMapUtil'; + +var _marker; +export default { + props: { + dataList: Array + }, + emits: ['itemSelected'], + data() { + return {}; + }, + watch: {}, + methods: { + // 鍒楄〃閫夋嫨 + selectItem(item) { + this.clearSelect(); + item.selected = true; + // const lnglat = baseMapUtil.wgs84togcj02( + // item.clongitude, + // item.clatitude + // ); + baseMapUtil + .gpsConvert([item.clongitude, item.clatitude]) + .then((lnglat) => { + baseMapUtil.removeView(_marker); + _marker = baseMapUtil.addMarker(lnglat); + }); + this.$emit('itemSelected', item); + }, + clearSelect() { + this.dataList.forEach((e) => { + e.selected = false; + }); + } + } +}; +</script> +<style scoped> +.list-container { + padding: initial; + /* border: var(--el-border); */ + font-size: var(--el-font-size-base); +} + +.list-item { + padding: 4px; + list-style-type: none; + border: var(--el-border); + border-radius: var(--el-border-radius-base); + box-shadow: var(--el-box-shadow-lighter); + margin-bottom: 6px; + cursor: pointer; +} + +.list-item:hover { + background-color: var(--el-color-primary-light-9); +} + +.list-item__selected { + background-color: var(--el-color-primary-light-9); +} + +.v-enter-from, +.v-leave-to { + opacity: 0; + transform: translateX(8px); +} + +.v-enter-active, +.v-leave-active { + transition: all 0.3s ease-out; +} + +.clue-item { + display: flex; + flex-direction: column; + gap: 10px; +} + +.clue-num { + font-size: 16px; + font-weight: 700; + font-style: italic; + color: var(--el-color-primary); +} + +.clue-tag { + display: flex; + flex-direction: column; + justify-content: flex-start; +} +</style> -- Gitblit v1.9.3