feat: 添加租房模块图标和功能优化

fix: 修复投票状态显示逻辑
refactor: 重命名ajaxget为ajaxGet
style: 优化CSS样式和布局
docs: 更新组件文档和注释
This commit is contained in:
DESKTOP-RQ919RC\Pc
2025-11-04 19:05:40 +08:00
parent a7d803f633
commit 07f4401f67
28 changed files with 735 additions and 241 deletions

View File

@@ -61,11 +61,22 @@ export const itemTenement = defineComponent({
let item = ref({ ...props.itemdata });
// console.log("item", item.value);
item.value = handleHousing(item.value);
item.value['url'] = '/details/' + item.value.uniqid;
item.value["url"] = "https://fang.gter.net/detail?id=" + item.value.uniqid;
let sectionn = ref([]);
let tags = ref([]);
if (item.value.type == "tenement") {
const tabList = item.value?.tabList || [];
sectionn.value = ["香港租房", tabList[0]];
tags.value = tabList.slice(1) || [];
}
if (item.value.images?.length > 4) item.value.images = item.value.images.slice(0, 4);
console.log("item.value", item.value);
return { item };
return { sectionn, tags, item };
},
components: {
@@ -73,5 +84,5 @@ export const itemTenement = defineComponent({
itemHead,
},
template: `<div class="item-box item-tenement"> <item-head :itemdata="item"></item-head> <a class="title" :href="item.url" target="_blank">{{ item.title }}</a> <a class="site-box flexacenter" :href="item.url" target="_blank"> <template v-if="item.intermediary == 6"> <div class="site-item flexacenter" v-for="(item, index) in item.location" :key="index"> <img class="site-icon" src="/img/orientation.png"> {{ item }} </div> </template> <div v-else class="site-item flexacenter"> <img class="site-icon" src="/img/orientation.png"> {{ item.location || '' }} </div> </a> <a class="price-section flexacenter" :href="item.url" target="_blank"> <div class="unit">HK$</div> <div class="price">{{ item.rent }}</div> <span class="text">/月</span> <div class="rentalduration">[ 租期{{ item.rentalduration }} ]</div> </a> <a class="picture flexacenter" :href="item.url" target="_blank" v-if="item.images?.length != 0"> <img class="picture-item" v-for="(item, index) in item.images" :key="index" :src="item" alt=""> </a> <item-bottom :itemdata="item"></item-bottom></div>`,
template: `<div class="item-box item-tenement"> <item-head :itemdata="item"></item-head> <div class="label flexflex" v-if="sectionn?.length || tags?.length"> <img class="item icon" v-if="item.isintermediary == 1" style="width: 94px; cursor: auto;" src="/img/intermediary-icon.png" /> <img class="item icon" v-if="item.verified == 1" style="width: 94px; cursor: auto;" src="/img/attestation-icon.png" /> <div class="item blue" v-for="(item, index) in sectionn" :key="item" style="cursor: auto;">{{ item }}</div> <div class="item" v-for="(item, index) in tags" :key="item" style="cursor: auto;">{{ item }}</div> </div> <a class="title" :href="item.url" target="_blank">{{ item.subject }}</a> <a class="site-box flexacenter" :href="item.url" target="_blank"> <template v-if="item.intermediary == 6"> <div class="site-item flexacenter" v-for="(item, index) in item.location" :key="index"> <img class="site-icon" src="/img/orientation.png"> {{ item }} </div> </template> <div v-else class="site-item flexacenter"> <img class="site-icon" src="/img/orientation.png"> {{ item.location || '' }} </div> </a> <a class="price-section flexacenter" :href="item.url" target="_blank"> <div class="unit">HK$</div> <div class="price">{{ item.rent }}</div> <span class="text">/月</span> <div class="rentalduration">[ 租期{{ item.rentalduration }} ]</div> </a> <a class="picture flexacenter" :href="item.url" target="_blank" v-if="item.images?.length != 0"> <img class="picture-item" v-for="(item, index) in item.images" :key="index" :src="item" alt=""> </a> <item-bottom :itemdata="item"></item-bottom></div>`,
});