|
@@ -11,12 +11,27 @@
|
|
|
/>
|
|
|
<Map ref="mapRef" class="map" active-map="vectorgraph" :point-type="pointType" :event-details="eventDetails" />
|
|
|
<van-text-ellipsis class="text-box" :content="detailsData.text" rows="3" expand-text="展开" collapse-text="收起" />
|
|
|
+ <div class="checked-box">
|
|
|
+ <div
|
|
|
+ v-for="(item, index) in tags"
|
|
|
+ :key="index"
|
|
|
+ :class="item.checked ? 'tag-box tag-box-active': 'tag-box'"
|
|
|
+ @click="handleClickTag(item)"
|
|
|
+ >
|
|
|
+ <div class="tag">
|
|
|
+ <i :class="item.icon" />
|
|
|
+ <van-icon v-show="!!item.checked" class="checked-icon" name="checked" />
|
|
|
+ </div>
|
|
|
+ <div class="text">{{ item.name }}</div>
|
|
|
+ <div class="text">{{ '(' + item.num + ')' }}</div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
<el-table :data="detailsData.dataList">
|
|
|
<el-table-column label="站点" prop="data1" align="center" />
|
|
|
- <el-table-column label="河流" prop="data2" align="center" />
|
|
|
+ <el-table-column label="政区" prop="data2" align="center" />
|
|
|
<el-table-column label="时间" prop="data3" align="center" />
|
|
|
- <el-table-column label="水位(m)" prop="data4" align="center" />
|
|
|
- <el-table-column label="超警戒(m)" prop="data5" align="center" sortable />
|
|
|
+ <el-table-column label="库水位(m)" prop="data4" align="center" />
|
|
|
+ <el-table-column label="超汛限水位(m)" prop="data5" align="center" sortable />
|
|
|
</el-table>
|
|
|
</div>
|
|
|
</template>
|
|
@@ -24,12 +39,22 @@
|
|
|
<script lang="ts" setup name="reservoirMonitor">
|
|
|
import searchImg from "@/assets/images/search.png";
|
|
|
import closeImg from "@/assets/images/close.png";
|
|
|
-import {onMounted, ref} from "vue";
|
|
|
+import {onMounted, reactive, ref} from "vue";
|
|
|
import {ElTable, ElTableColumn} from "element-plus";
|
|
|
|
|
|
let pointType = ref([]);
|
|
|
let eventDetails = ref({});
|
|
|
let keyword = ref('');
|
|
|
+let tags = reactive([
|
|
|
+ { name: '大型', num: 0, icon: 'icon1', checked: true },
|
|
|
+ { name: '中型', num: 0, icon: 'icon2', checked: true },
|
|
|
+ { name: '小I型', num: 0, icon: 'icon3', checked: true },
|
|
|
+ { name: '小II型', num: 0, icon: 'icon4', checked: false },
|
|
|
+ { name: '超汛限', num: 0, icon: 'icon5', checked: false },
|
|
|
+ { name: '低旱警', num: 0, icon: 'icon5', checked: false },
|
|
|
+ { name: '病险', num: 0, icon: 'icon5', checked: false },
|
|
|
+ { name: '在建', num: 0, icon: 'icon5', checked: false },
|
|
|
+]);
|
|
|
const detailsData = ref({
|
|
|
text: '',
|
|
|
dataList: []
|
|
@@ -44,6 +69,9 @@ const onSearchCancel = () => {
|
|
|
keyword.value = '';
|
|
|
initData();
|
|
|
}
|
|
|
+const handleClickTag = (item) => {
|
|
|
+ item.checked = !item.checked;
|
|
|
+}
|
|
|
const initData = () => {
|
|
|
detailsData.value = {
|
|
|
text: '就诞生了附件两款发动机了解案件来看世界分手机否结束骄傲就开了房间离开家可怜见立刻就杀了对方吉林省大家逻辑了及时了解多方了解逻辑范德萨发给收到发给对方独放个',
|
|
@@ -89,4 +117,48 @@ onMounted(() => {
|
|
|
background-color: #fff;
|
|
|
}
|
|
|
}
|
|
|
+.checked-box {
|
|
|
+ display: flex;
|
|
|
+ flex-wrap: wrap;
|
|
|
+ width: 100%;
|
|
|
+ background-color: #fff;
|
|
|
+ padding: 10px 0;
|
|
|
+ .tag-box {
|
|
|
+ width: 45px;
|
|
|
+ margin: 0 15px;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ align-items: center;
|
|
|
+ .tag {
|
|
|
+ width: 45px;
|
|
|
+ height: 45px;
|
|
|
+ border-radius: 8px;
|
|
|
+ background-color: #f4f6f8;
|
|
|
+ border: 1px solid #ededed;
|
|
|
+ display: flex;
|
|
|
+ justify-content: center;
|
|
|
+ align-items: center;
|
|
|
+ }
|
|
|
+ .text {
|
|
|
+ font-size: 14px;
|
|
|
+ text-align: center;
|
|
|
+ margin-top: 3px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .tag-box-active {
|
|
|
+ .tag {
|
|
|
+ position: relative;
|
|
|
+ .checked-icon {
|
|
|
+ color: #56bd69;
|
|
|
+ font-size: 20px;
|
|
|
+ position: absolute;
|
|
|
+ top: -10px;
|
|
|
+ right: -10px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .text {
|
|
|
+ color: #2C81FF;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
</style>
|