121 lines
2.5 KiB
Vue
121 lines
2.5 KiB
Vue
|
|
<template>
|
|||
|
|
<div class="list_box">
|
|||
|
|
<div class="time_box">
|
|||
|
|
<span>
|
|||
|
|
<van-icon name="clock-o" />
|
|||
|
|
 {{ item.xtCjsj }}
|
|||
|
|
</span>
|
|||
|
|
</div>
|
|||
|
|
<div class="detail_box">
|
|||
|
|
<van-image width="80px" :src="baseUrl" @click="onClickImg(baseUrl)" style="flex: 1" v-if="baseUrl">
|
|||
|
|
<template v-slot:loading>
|
|||
|
|
<van-loading type="spinner" size="20" />
|
|||
|
|
</template>
|
|||
|
|
</van-image>
|
|||
|
|
<div class="detail_item">
|
|||
|
|
<div class="item user_info">
|
|||
|
|
<span>{{ item.dkrxm }}</span>
|
|||
|
|
<!-- <span>{{ item.dkrsfzh }}</span> -->
|
|||
|
|
</div>
|
|||
|
|
<div class="item">管辖派出所:{{ item.ssbm }}</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</div>
|
|||
|
|
</template>
|
|||
|
|
|
|||
|
|
<script setup>
|
|||
|
|
import router from "../router/index.js";
|
|||
|
|
import { getBase64 } from "../utils/tools.js";
|
|||
|
|
import { defineProps, ref, watch } from "vue";
|
|||
|
|
import { getDictList, setDict } from "../utils/dict";
|
|||
|
|
import { ImagePreview } from "vant";
|
|||
|
|
import { qcckGet } from "@/api/qcckApi.js";
|
|||
|
|
const props = defineProps({
|
|||
|
|
item: Object, //列表内容
|
|||
|
|
path: String, //跳转详情的路由
|
|||
|
|
});
|
|||
|
|
const baseUrl = ref("");
|
|||
|
|
const getImageUrl = (item) => {
|
|||
|
|
qcckGet({}, `/mosty-base/minio/file/download/${item.tpid}`).then(res => {
|
|||
|
|
_getBase64(res.url)
|
|||
|
|
})
|
|||
|
|
}
|
|||
|
|
watch(
|
|||
|
|
() => props.item,
|
|||
|
|
(newValue) => {
|
|||
|
|
if (Object.keys(newValue).length > 0) getImageUrl(newValue);
|
|||
|
|
},
|
|||
|
|
{ immediate: true, deep: true }
|
|||
|
|
);
|
|||
|
|
//预览图片
|
|||
|
|
function onClickImg(url) {
|
|||
|
|
ImagePreview([url]);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//获取base64地址
|
|||
|
|
function _getBase64(item) {
|
|||
|
|
getBase64((res) => {
|
|||
|
|
baseUrl.value = res;
|
|||
|
|
}, item);
|
|||
|
|
}
|
|||
|
|
</script>
|
|||
|
|
<style lang="scss" scoped>
|
|||
|
|
@import "../assets/styles/mixin.scss";
|
|||
|
|
|
|||
|
|
.list_box {
|
|||
|
|
@include font_size($font_medium_s);
|
|||
|
|
@include font_color($font-color-theme);
|
|||
|
|
margin: 0vw 2vw 2vw 2vw;
|
|||
|
|
padding: 2vw 1vw;
|
|||
|
|
@include item_bottom_color($bottom-border-top-clore-theme);
|
|||
|
|
|
|||
|
|
.time_box {
|
|||
|
|
display: flex;
|
|||
|
|
justify-content: space-between;
|
|||
|
|
align-items: center;
|
|||
|
|
|
|||
|
|
.count_size {
|
|||
|
|
font-size: 5vw;
|
|||
|
|
display: inline-block;
|
|||
|
|
margin: 0 1vw;
|
|||
|
|
color: red;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.list_box:nth-child(1) {
|
|||
|
|
border-top: none !important;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.detail_box {
|
|||
|
|
margin-top: 1vw;
|
|||
|
|
display: flex;
|
|||
|
|
position: relative;
|
|||
|
|
|
|||
|
|
.detail_item {
|
|||
|
|
flex: 3.5;
|
|||
|
|
margin-left: 2vw;
|
|||
|
|
|
|||
|
|
.user_info {
|
|||
|
|
@include font_size($font_medium);
|
|||
|
|
font-weight: 600;
|
|||
|
|
color: #507ce9;
|
|||
|
|
|
|||
|
|
&>span {
|
|||
|
|
display: inline-block;
|
|||
|
|
margin-right: 2vw;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.item {
|
|||
|
|
line-height: 6vw;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
::v-deep .van-image__img {
|
|||
|
|
height: auto;
|
|||
|
|
max-height: 101px;
|
|||
|
|
}
|
|||
|
|
</style>
|