Files
ylst-h5/src/views/Home/components/LastSurvey/Index.vue
2025-03-18 10:15:52 +08:00

160 lines
3.7 KiB
Vue

<template>
<!-- 问卷 -->
<div class="last-survey">
<div class="survey_header">
<div class="flex space-between">
<div class="flex align-center">
<p class="fw-bold">最新问卷</p>
<p class="survey_header_tag">NEW</p>
</div>
<p @click="$router.push('/survey')">全部问卷 ></p>
</div>
</div>
<div class="survey_con">
<div class="flex">
<div>
<div class="survey_con_title flex align-center">
<p class="mr-10 fw-bold">{{ survey.project_name }}</p>
<p class="survey_con_num">{{ survey.answer_num }}</p>
</div>
<div class="survey_con_label flex">
<div class="flex align-center">
<img src="../../../../assets/img/publish/baoming.png" alt="" />
{{ survey.scene_name }} |
</div>
<div class="flex align-center">
<img
v-if="survey.source === 1"
src="../../../../assets/img/publish/phone.png"
alt=""
/>
<img v-else src="../../../../assets/img/publish/phone.png" alt="" />
{{ survey.source === 1 ? '移动端' : 'PC端' }} |
</div>
<div class="flex align-center">
<img src="../../../../assets/img/publish/time.png" alt="" />
{{ survey.created_at }}
</div>
</div>
</div>
<img src="" alt="" />
</div>
<div class="survey_remark">{{ survey.remarks }}</div>
</div>
</div>
</template>
<script setup>
import { ref, onMounted } from 'vue';
import { getSurveysPage } from '@/api/home/index.js';
const survey = ref({
project_name: ''
});
const fetchSurveys = async () => {
const params = {
page: 1,
per_page: 10,
group_id: 0
};
const res = await getSurveysPage(params);
if (res.data.code === 0) {
survey.value = res.data.data[0];
const sceneName = JSON.parse(JSON.stringify(survey.value.scene_name));
const nameList = sceneName.split('-');
if (nameList.length > 0) {
survey.value.scene_name = nameList[1] ? nameList[1] : nameList[0];
}
const timeList = survey.value.created_at.split(' ');
if (nameList.length) {
survey.value.created_at = timeList[0];
}
} else {
// Toast()
}
};
onMounted(() => {
fetchSurveys();
});
</script>
<style scoped lang="scss">
.last-survey {
margin-top: 6px;
padding: 10px 3px 3px;
border-radius: 10px;
background-color: #27d6ac;
color: #fff;
.survey_header {
padding: 0 10px;
font-size: 15px;
.survey_header_tag {
width: 32px;
height: 15px;
margin-left: 3px;
border-radius: 4px;
background-color: #fff;
color: #27d6ac;
font-size: 10px;
line-height: 15px;
text-align: center;
}
}
.survey_con {
margin-top: 10px;
border-radius: 10px;
background: #fff;
color: #000;
img {
height: 12px;
margin-right: 3px;
}
.survey_con_title {
//border: 1px solid red;
padding: 10px;
font-size: 15px;
.survey_con_num {
width: 30px;
height: 15px;
margin-left: 3px;
border: 1px solid #d0d0d0;
border-radius: 5px;
color: #d0d0d0;
font-size: 10px;
line-height: 15px;
text-align: center;
}
}
.survey_con_label {
margin-left: 10px;
color: #666;
font-size: 10px !important;
div {
margin-right: 5px;
}
}
.survey_remark {
box-sizing: border-box;
margin: 10px 0 0 10px;
padding: 10px 5px;
border-radius: 10px;
color: #828282;
font-weight: 400;
font-style: normal;
font-size: 12px;
}
}
}
</style>