no message
This commit is contained in:
@@ -13,12 +13,15 @@ export const headTop = defineComponent({
|
||||
},
|
||||
|
||||
setup(props) {
|
||||
onMounted(() => {});
|
||||
onMounted(() => {
|
||||
getHistorySearch();
|
||||
});
|
||||
|
||||
let state = ref(0); // 是否已经签到
|
||||
|
||||
let userInfoWinTimerCount = 0;
|
||||
const userInfoWinTimer = setInterval(() => {
|
||||
if (location.host == "127.0.0.1:5501") return;
|
||||
if (todaysignedState) {
|
||||
state.value = todaysigned;
|
||||
clearInterval(userInfoWinTimer);
|
||||
@@ -40,21 +43,52 @@ export const headTop = defineComponent({
|
||||
});
|
||||
};
|
||||
|
||||
let input = ref("");
|
||||
let defaultSearchText = ref("屯特");
|
||||
const goSearch = () => {
|
||||
const searchText = input.value || defaultSearchText.value;
|
||||
redirectToExternalWebsite("/search/" + searchText);
|
||||
};
|
||||
|
||||
let pitchState = ref(false);
|
||||
|
||||
let page = ref(...props.page);
|
||||
|
||||
// console.log("page", page.value);
|
||||
|
||||
return { page, pitchState, state, signIn, input, defaultSearchText, goSearch };
|
||||
let input = ref("");
|
||||
let defaultSearchText = ref("屯特");
|
||||
|
||||
let historySearchList = ref([]); // 历史搜索数据
|
||||
// 获取历史搜索
|
||||
const getHistorySearch = () => {
|
||||
const data = JSON.parse(localStorage.getItem("history-search")) || [];
|
||||
console.log("data", data);
|
||||
historySearchList.value = data;
|
||||
};
|
||||
|
||||
// 跳转搜索
|
||||
const searchEvent = (value) => {
|
||||
const kw = value || input.value || defaultSearchText.value;
|
||||
historySearchList.value.unshift(kw);
|
||||
historySearchList.value = [...new Set(historySearchList.value)];
|
||||
if (historySearchList.value.length > 10) historySearchList.value = historySearchList.value.splice(0, 10);
|
||||
localStorage.setItem("history-search", JSON.stringify(historySearchList.value));
|
||||
|
||||
redirectToExternalWebsite("/search/" + kw);
|
||||
searchInputBlur();
|
||||
};
|
||||
|
||||
let searchHistoryShowState = ref(false); // 历史记录的展开状态
|
||||
let searchInputState = ref(false); // 搜索框的状态
|
||||
// 切换历史记录展示状态
|
||||
const searchInputFocus = () => {
|
||||
searchInputState.value = true;
|
||||
if (historySearchList.value.length == 0) return;
|
||||
searchHistoryShowState.value = true;
|
||||
};
|
||||
const searchInputBlur = () => {
|
||||
setTimeout(() => {
|
||||
searchInputState.value = false;
|
||||
searchHistoryShowState.value = false;
|
||||
}, 200);
|
||||
};
|
||||
|
||||
return { historySearchList, searchEvent, searchInputState, searchHistoryShowState, searchInputFocus, searchInputBlur, page, pitchState, state, signIn, input, defaultSearchText };
|
||||
},
|
||||
|
||||
template: `<div class="head-top flexacenter"> <a href="/" class="flexacenter" target="_blank"> <img class="logo" src="https://oss.gter.net/logo" alt="" /> </a> <div class="flex1"></div> <div class="input-box flexacenter" :class="{'pitch': pitchState}"> <input class="input flex1" type="text" :placeholder="'大家都在搜:' + defaultSearchText" @keyup.enter="goSearch" v-model="input" @focus="pitchState = true" @blur="pitchState = false" /> <img class="icon" src="/img/search-icon.svg" @click="goSearch" /> </div> <div class="post-list flexacenter" v-if="page == 'details'"> <a href="/publish" target="_blank" style="margin-right: 10px"> <img class="post-item" src="/img/post-thread.png" /> </a> <a href="https://offer.gter.net/post" target="_blank" style="margin-right: 10px"> <img class="post-item" src="/img/post-offer.png" /> </a> <a href="https://offer.gter.net/post/summary" target="_blank" style="margin-right: 10px"> <img class="post-item" src="/img/post-summary.png" /> </a> <a href="https://interviewexperience.gter.net/publish" target="_blank" style="margin-right: 10px"> <img class="post-item" src="/img/post-mj.png" /> </a> <a href="https://vote.gter.net/publish" target="_blank" style="margin-right: 10px"> <img class="post-item" src="/img/post-vote.png" /> </a> </div> <template v-else> <div class="sign-in sign-in-no flexacenter" v-if="state == 0" @click="signIn()" v-cloak> <img class="sign-in-bj" src="/img/sign-in-bj.svg" /> <img class="coin-bj" src="/img/coin-bj.svg" /> <img class="coin-icon" src="/img/coin-icon.png" /> <span class="text flex1">签到领寄托币</span> <div class="sign-go flexcenter"> <img class="sign-go-bj" src="/img/sign-go.svg" /> GO </div> <img class="petal1" src="/img/petal1.png" /> <img class="petal2" src="/img/petal2.png" /> <img class="petal3" src="/img/petal3.png" /> </div> <div class="sign-in sign-in-already flexcenter" v-else> <img class="sign-icon" src="/img/sign-icon.png" /> <span>已签到,明天再来</span> </div> </template></div>`,
|
||||
template: `<div class="head-top flexacenter"> <a href="/" class="flexacenter" target="_blank"> <img class="logo" src="https://oss.gter.net/logo" alt="" /> </a> <div class="flex1"></div> <div class="input-box flexacenter" :class="{'pitch': searchInputState}"> <input class="input flex1" type="text" :placeholder="'大家都在搜:' + defaultSearchText" @keyup.enter="searchEvent()" v-model="input" @focus="searchInputFocus" @blur="searchInputBlur" /> <img class="icon" src="/img/search-icon.svg" @click="searchEvent()" /> <div class="search-box-history" v-if="searchHistoryShowState"> <div class="search-box-history-title">历史搜索</div> <div class="search-box-history-list"> <div class="search-box-history-item one-line-display" v-for="(item,index) in historySearchList " :key="index" @click="searchEvent(item)">{{ item }}</div> </div> </div> </div> <div class="post-list flexacenter" v-if="page == 'details'"> <a href="/publish" target="_blank" style="margin-right: 10px"> <img class="post-item" src="/img/post-thread.png" /> </a> <a href="https://offer.gter.net/post" target="_blank" style="margin-right: 10px"> <img class="post-item" src="/img/post-offer.png" /> </a> <a href="https://offer.gter.net/post/summary" target="_blank" style="margin-right: 10px"> <img class="post-item" src="/img/post-summary.png" /> </a> <a href="https://interviewexperience.gter.net/publish" target="_blank" style="margin-right: 10px"> <img class="post-item" src="/img/post-mj.png" /> </a> <a href="https://vote.gter.net/publish" target="_blank" style="margin-right: 10px"> <img class="post-item" src="/img/post-vote.png" /> </a> </div> <template v-else> <div class="sign-in sign-in-no flexacenter" v-if="state == 0" @click="signIn()" v-cloak> <img class="sign-in-bj" src="/img/sign-in-bj.svg" /> <img class="coin-bj" src="/img/coin-bj.svg" /> <img class="coin-icon" src="/img/coin-icon.png" /> <span class="text flex1">签到领寄托币</span> <div class="sign-go flexcenter"> <img class="sign-go-bj" src="/img/sign-go.svg" /> GO </div> <img class="petal1" src="/img/petal1.png" /> <img class="petal2" src="/img/petal2.png" /> <img class="petal3" src="/img/petal3.png" /> </div> <div class="sign-in sign-in-already flexcenter" v-else> <img class="sign-icon" src="/img/sign-icon.png" /> <span>已签到,明天再来</span> </div> </template></div>`,
|
||||
});
|
||||
|
||||
@@ -3,9 +3,16 @@
|
||||
<img class="logo" src="https://oss.gter.net/logo" alt="" />
|
||||
</a>
|
||||
<div class="flex1"></div>
|
||||
<div class="input-box flexacenter" :class="{'pitch': pitchState}">
|
||||
<input class="input flex1" type="text" :placeholder="'大家都在搜:' + defaultSearchText" @keyup.enter="goSearch" v-model="input" @focus="pitchState = true" @blur="pitchState = false" />
|
||||
<img class="icon" src="/img/search-icon.svg" @click="goSearch" />
|
||||
<div class="input-box flexacenter" :class="{'pitch': searchInputState}">
|
||||
<input class="input flex1" type="text" :placeholder="'大家都在搜:' + defaultSearchText" @keyup.enter="searchEvent()" v-model="input" @focus="searchInputFocus" @blur="searchInputBlur" />
|
||||
<img class="icon" src="/img/search-icon.svg" @click="searchEvent()" />
|
||||
|
||||
<div class="search-box-history" v-if="searchHistoryShowState">
|
||||
<div class="search-box-history-title">历史搜索</div>
|
||||
<div class="search-box-history-list">
|
||||
<div class="search-box-history-item one-line-display" v-for="(item,index) in historySearchList " :key="index" @click="searchEvent(item)">{{ item }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="post-list flexacenter" v-if="page == 'details'">
|
||||
<a href="/publish" target="_blank" style="margin-right: 10px">
|
||||
@@ -43,4 +50,4 @@
|
||||
<span>已签到,明天再来</span>
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -121,5 +121,5 @@ export const itemBottom = defineComponent({
|
||||
like,
|
||||
},
|
||||
|
||||
template: `<a class="comment flexacenter" v-if="item?.commentreviews && !Array.isArray(item?.commentreviews)" :href="item.url" target="_blank"> <img class="icon" :src="item?.commentreviews?.avatar" /> <div class="text one-line-display">{{ item?.commentreviews?.content || "[图]" }}</div></a><template v-if="item.comment_list?.length != 0"> <a class="comment flexacenter" style="margin-bottom: 15px" v-for="(item, index) in item.comment_list" :key="index" :href="item.url" target="_blank"> <img class="icon" :src="item.avatar" /> <div class="text one-line-display">{{ item.content || "[图]" }}</div> </a></template><div class="bottom flexacenter"> <div class="bottom-item like flexacenter" @click="likeClick()" v-if="item?.type != 'tenement'"> <img v-if="item.is_like" class="icon" src="/img/like-red-icon.png" /> <img v-else class="icon" src="/img/like-icon.png" /> <div class="text">{{ item.likes || "赞" }}</div> </div> <div class="bottom-item flexacenter" @click="collectClick()"> <img v-if="item.is_collect" class="icon" src="/img/collect-golden.svg" /> <img v-else class="icon" src="/img/collect-gray.png" /> <div class="text">{{ item.collections || "收藏" }}</div> </div> <a class="bottom-item flexacenter" v-if="item?.type != 'tenement'" :href="'/details/' + item.uniqid" target="_blank"> <img class="icon" src="/img/discuss-icon.png" /> <div class="text">{{ item.comments || "讨论" }}</div> </a> <a class="bottom-item flexacenter" v-if="item?.type != 'tenement'" :href="'/details/' + item.uniqid" target="_blank"> <img class="icon" src="/img/bi-copper-icon.png" /> <div class="text">{{ item.coins || "投币" }}</div> </a> <div class="bottom-item share flexacenter"> <img class="icon" src="/img/share-gray.png" /> <div class="text">转发</div> <div class="share-box flexcenter"> <div class="share-item flexcenter" @click="copyLinkClick()"> <img class="share-icon" src="/img/copy-black-icon.png" /> <div class="text">复制链接</div> </div> <!-- 鼠标移入 加载二维码 --> <div class="share-item wenxin flexcenter" @mouseenter="showQRcode"> <img class="share-icon" src="/img/weixin-icon.png" /> <div class="text">微信转发</div> <div class="QRcode-box flexcenter"> <img v-if="QRcode" class="QRcode" :src="QRcode" /> <div v-else class="QRcode flexcenter"> <img class="load" src="/img/load-icon.svg" /> </div> <div class="text">微信扫码</div> </div> </div> </div> </div></div><like v-if="isLikeGif"></like>`,
|
||||
template: `<a class="comment flexacenter" v-if="item?.commentreviews && !Array.isArray(item?.commentreviews)" :href="item.url" target="_blank"> <img class="icon" :src="item?.commentreviews?.avatar" /> <div class="text one-line-display">{{ item?.commentreviews?.content || "[图]" }}</div></a><template v-if="item.comment_list?.length != 0"> <a class="comment flexacenter" style="margin-bottom: 15px" v-for="(item, index) in item.comment_list" :key="index" :href="item.url" target="_blank"> <img class="icon" :src="item.avatar" /> <div class="text one-line-display">{{ item.content || "[图]" }}</div> </a></template><div class="bottom flexacenter"> <div class="bottom-item like flexacenter" @click="likeClick()" v-if="item?.type != 'tenement'"> <img v-if="item.is_like" class="icon" src="/img/like-red-icon.png" /> <img v-else class="icon" src="/img/like-icon.png" /> <div class="text">{{ item.likes || "赞" }}</div> </div> <div class="bottom-item flexacenter" @click="collectClick()"> <img v-if="item.is_collect" class="icon" src="/img/collect-golden.svg" /> <img v-else class="icon" src="/img/collect-gray.png" /> <div class="text">{{ item.collections || "收藏" }}</div> </div> <a class="bottom-item flexacenter" v-if="item?.type != 'tenement'" :href="'/details/' + item.uniqid" target="_blank"> <img class="icon" src="/img/discuss-icon.png" /> <div class="text">{{ item.comments || "讨论" }}</div> </a> <a class="bottom-item flexacenter" v-if="item?.type != 'tenement'" :href="'/details/' + item.uniqid" target="_blank"> <img class="icon" src="/img/bi-copper-icon.png" /> <div class="text">{{ item.coins || "投币" }}</div> </a> <div class="bottom-item share flexacenter"> <img class="icon" src="/img/share-gray.png" style="width: 19px; height: 19px;" /> <div class="text">转发</div> <div class="share-box flexcenter"> <div class="share-item flexcenter" @click="copyLinkClick()"> <img class="share-icon" src="/img/copy-black-icon.png" /> <div class="text">复制链接</div> </div> <!-- 鼠标移入 加载二维码 --> <div class="share-item wenxin flexcenter" @mouseenter="showQRcode"> <img class="share-icon" src="/img/weixin-icon.png" /> <div class="text">微信转发</div> <div class="QRcode-box flexcenter"> <img v-if="QRcode" class="QRcode" :src="QRcode" /> <div v-else class="QRcode flexcenter"> <img class="load" src="/img/load-icon.svg" /> </div> <div class="text">微信扫码</div> </div> </div> </div> </div></div><like v-if="isLikeGif"></like>`,
|
||||
});
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
</a>
|
||||
|
||||
<div class="bottom-item share flexacenter">
|
||||
<img class="icon" src="/img/share-gray.png" />
|
||||
<img class="icon" src="/img/share-gray.png" style="width: 19px; height: 19px;" />
|
||||
<div class="text">转发</div>
|
||||
<div class="share-box flexcenter">
|
||||
<div class="share-item flexcenter" @click="copyLinkClick()">
|
||||
@@ -56,4 +56,4 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<like v-if="isLikeGif"></like>
|
||||
<like v-if="isLikeGif"></like>
|
||||
|
||||
@@ -33,7 +33,6 @@ export const itemHead = defineComponent({
|
||||
sectionn.value = item.value.sectionn || [];
|
||||
|
||||
const sectionNameSet = new Set(sectionn.value.map((item) => item.name));
|
||||
console.log(item.value.tags, "tags");
|
||||
tags.value = item.value?.tags || [];
|
||||
tags.value = tags.value?.filter((tagName) => !sectionNameSet.has(tagName)) || [];
|
||||
|
||||
@@ -101,7 +100,6 @@ export const itemHead = defineComponent({
|
||||
// 删除
|
||||
const deleteItem = () => {
|
||||
const target = item.value;
|
||||
console.log("deleteItem", target, target.token);
|
||||
managerDelete(target.token)
|
||||
.then(() => {
|
||||
const targetNode = itemHead.value;
|
||||
@@ -139,7 +137,6 @@ export const itemHead = defineComponent({
|
||||
};
|
||||
|
||||
const cutAnonymousState = (state) => {
|
||||
console.log("state", state);
|
||||
const target = item.value;
|
||||
ajax("/v2/api/forum/postTopicAnonymousStatus", {
|
||||
token: target.token,
|
||||
@@ -165,5 +162,5 @@ export const itemHead = defineComponent({
|
||||
report,
|
||||
},
|
||||
|
||||
template: `<div class="item-head flexacenter" ref="itemHead"> <div class="user-box flexacenter" @click="goPersonalHomepage(item?.user?.uin, item?.user?.uid)"> <img class="avatar" :src="item?.user?.avatar || item.avatar" /> <div class="name">{{ item?.user?.nickname || item.nickname || "匿名用户" }}</div> <img class="group" v-if="info?.group?.image" :src="info?.group?.image" /> </div> <div class="time">{{ timestamp }}</div> <div class="flex1"></div> <div class="circlePen flexcenter" @click="openedit(item.type)" v-if="page == 'edit' && (item.type == 'offer' || item.type == 'offer_summary')"> <img class="icon" src="/img/pen-icon.png" /> </div> <div class="flexacenter" style="position: relative;"> <div class="anonymous-box flexcenter" @click.stop="cutAnonymous" v-if="page == 'edit' && (item.type == 'vote' || item.type == 'interviewexperience')"> <span v-if="item.anonymous == 0">公开</span> <span v-else>匿名</span> </div> <!-- 是否 公开发表 --> <template v-if="anonymousState"> <div class="mask" @click.stop="cutAnonymous"></div> <div class="isPublicityBox"> <div class="isPublicity-item" :class="{'green': item.anonymous == 0}" @click.stop="cutAnonymousState(0)">公开发表 <img v-if="item.anonymous == 0" class="isPublicityIcon" src="/img/u1829.svg"></image> </div> <div class="isPublicity-item" :class="{'green': item.anonymous != 0}" @click.stop="cutAnonymousState(1)">匿名发表 <img v-if="item.anonymous != 0" class="isPublicityIcon" src="/img/u1829.svg"></image> </div> </div> </template> </div> <div class="view flexacenter"> <img class="icon" src="/img/eye-icon.svg" /> <div class="text">{{ item.views }}</div> </div> <div v-if="item.type != 'tenement'" class="btn flexcenter" @click.stop="cutShow"> <img class="icon" src="/img/dot-dot-dot-gray.png" /> </div> <div v-if="show"> <div class="mask" @click.stop="cutShow"></div> <div class="operate"> <div class="item" @click.stop="report">举报</div> <template v-if="ismanager"> <div class="item" @click.stop="hide">{{ item.hidden == 0 ? "隐藏" : "显示" }}</div> <div class="item" @click.stop="recommend">{{ item.recommend == 1 ? "取消" : "" }}推荐</div> <div class="item" @click.stop="essence">{{ item.best == 1 ? "取消" : "" }}精华</div> </template> <template v-if="item.type == 'thread' && item.ismyself"> <div class="item" @click.stop="edit">编辑</div> <div class="item" @click.stop="deleteItem">删除</div> </template> <div class="item" v-if="page == 'edit' && item.type == 'vote'" @click.stop="deleteItem">删除</div> </div> </div></div><div class="label flexflex" v-if="sectionn?.length || tags?.length || item.recommend == 1 || item.best == 1"> <img class="item icon" v-if="item.recommend == 1 && item.best != 1" src="/img/recommend-icon.png" /> <img class="item icon" v-if="item.best == 1" src="/img/essence-icon.png" /> <a class="item blue" v-for="(item, index) in sectionn" :key="item" :href="'/section/' + item.uniqid" target="_blank">{{ item.name }}</a> <a class="item" v-for="(item, index) in tags" :key="item" :href="'/tag/' + item" target="_blank">{{ item }}</a></div><report v-if="reportState" :itemdata="item"></report>`,
|
||||
template: `<div class="item-head flexacenter" ref="itemHead"> <div class="user-box flexacenter" @click="goPersonalHomepage(item?.user?.uin, item?.user?.uid)"> <img class="avatar" :src="item?.user?.avatar || item.avatar" /> <div class="name">{{ item?.user?.nickname || item.nickname || "匿名用户" }}</div> <img class="group" v-if="item.user?.groupimage" :src="item.user?.groupimage" /> </div> <div class="time">{{ timestamp }}</div> <div class="flex1"></div> <div class="circlePen flexcenter" @click="openedit(item.type)" v-if="page == 'edit' && (item.type == 'offer' || item.type == 'offer_summary')"> <img class="icon" src="/img/pen-icon.png" /> </div> <div class="flexacenter" style="position: relative;"> <div class="anonymous-box flexcenter" @click.stop="cutAnonymous" v-if="page == 'edit' && (item.type == 'vote' || item.type == 'interviewexperience')"> <span v-if="item.anonymous == 0">公开</span> <span v-else>匿名</span> </div> <!-- 是否 公开发表 --> <template v-if="anonymousState"> <div class="mask" @click.stop="cutAnonymous"></div> <div class="isPublicityBox"> <div class="isPublicity-item" :class="{'green': item.anonymous == 0}" @click.stop="cutAnonymousState(0)">公开发表 <img v-if="item.anonymous == 0" class="isPublicityIcon" src="/img/u1829.svg"></image> </div> <div class="isPublicity-item" :class="{'green': item.anonymous != 0}" @click.stop="cutAnonymousState(1)">匿名发表 <img v-if="item.anonymous != 0" class="isPublicityIcon" src="/img/u1829.svg"></image> </div> </div> </template> </div> <div class="view flexacenter"> <img class="icon" src="/img/eye-icon.svg" /> <div class="text">{{ item.views }}</div> </div> <div v-if="item.type != 'tenement'" class="btn flexcenter" @click.stop="cutShow"> <img class="icon" src="/img/dot-dot-dot-gray.png" /> </div> <div v-if="show"> <div class="mask" @click.stop="cutShow"></div> <div class="operate"> <div class="item" @click.stop="report">举报</div> <template v-if="ismanager"> <div class="item" @click.stop="hide">{{ item.hidden == 0 ? "隐藏" : "显示" }}</div> <div class="item" @click.stop="recommend">{{ item.recommend == 1 ? "取消" : "" }}推荐</div> <div class="item" @click.stop="essence">{{ item.best == 1 ? "取消" : "" }}精华</div> </template> <template v-if="item.type == 'thread' && item.ismyself"> <div class="item" @click.stop="edit">编辑</div> <div class="item" @click.stop="deleteItem">删除</div> </template> <div class="item" v-if="page == 'edit' && item.type == 'vote'" @click.stop="deleteItem">删除</div> </div> </div></div><div class="label flexflex" v-if="sectionn?.length || tags?.length || item.recommend == 1 || item.best == 1"> <img class="item icon" v-if="item.recommend == 1 && item.best != 1" src="/img/recommend-icon.png" /> <img class="item icon" v-if="item.best == 1" src="/img/essence-icon.png" /> <a class="item blue" v-for="(item, index) in sectionn" :key="item" :href="'/section/' + item.uniqid" target="_blank">{{ item.name }}</a> <a class="item" v-for="(item, index) in tags" :key="item" :href="'/tag/' + item" target="_blank">{{ item }}</a></div><report v-if="reportState" :itemdata="item"></report>`,
|
||||
});
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<div class="user-box flexacenter" @click="goPersonalHomepage(item?.user?.uin, item?.user?.uid)">
|
||||
<img class="avatar" :src="item?.user?.avatar || item.avatar" />
|
||||
<div class="name">{{ item?.user?.nickname || item.nickname || "匿名用户" }}</div>
|
||||
<img class="group" v-if="info?.group?.image" :src="info?.group?.image" />
|
||||
<img class="group" v-if="item.user?.groupimage" :src="item.user?.groupimage" />
|
||||
</div>
|
||||
|
||||
<div class="time">{{ timestamp }}</div>
|
||||
|
||||
@@ -20,6 +20,13 @@ export const itemSummary = defineComponent({
|
||||
|
||||
setup(props) {
|
||||
let item = ref({ ...props.itemdata });
|
||||
|
||||
// console.log("item", item.value.data);offerlist
|
||||
// item.value?.data?.offerlist?.length = 2;
|
||||
// if (item.value?.data?.offerlist?.length > 2) {
|
||||
// item.value.data.offerlist.length = 2;
|
||||
// }
|
||||
|
||||
item.value['url'] = '/details/' + item.value.uniqid;
|
||||
|
||||
return { item };
|
||||
@@ -30,5 +37,5 @@ export const itemSummary = defineComponent({
|
||||
itemHead,
|
||||
},
|
||||
|
||||
template: `<div class="item-box item-summary"> <item-head :itemdata="item" :page="page"></item-head> <a class="title" v-if="item.title" :href="item.url" target="_blank">{{ item.title }}</a> <a class="message one-line-display" :href="item.url" target="_blank" v-if="item.content">{{ item.content }}</a> <a class="total flexacenter" :href="item.url" target="_blank"> <div>共</div> <div class="num">{{ item.data.offercount }}</div> <div>个Offer</div> </a> <a class="list flexacenter" :href="item.url" target="_blank"> <div class="item flexflex" v-for="(it,i) in item.data.offerlist" :key="i"> <div class="item-content flexflex"> <div class="school flexacenter"> <img class="icon" v-if="it.schoollogo" :src="it.schoollogo" mode="heightFix"></image> <div class="name one-line-display flex1">{{ it.schoolname }}</div> </div> <div class="major one-line-display" v-if="it.professional">{{ it.professional }}</div> <div class="info flexacenter"> {{ it.semester || '25Fall' }} <div class="line"></div> {{ it.degree || 'MSc' }} <div class="line"></div> <div class="results" :class="['r' + it.apply_results]">{{ it.apply_results_text || 'Offer' }}</div> </div> </div> </div> <div v-if="item.data.offercount > 3" class="item more flexcenter"> <div class="item-content flexcenter"> <div class="">查看更多</div> <img class="icon" src="/img/arrows-circle-dark-blue.svg" mode="heightFix"></image> </div> </div> </a> <item-bottom :itemdata="item" :page="page"></item-bottom></div>`,
|
||||
template: `<div class="item-box item-summary"> <item-head :itemdata="item" :page="page"></item-head> <a class="title" v-if="item.title" :href="item.url" target="_blank">{{ item.title }}</a> <a class="message one-line-display" :href="item.url" target="_blank" v-if="item.content">{{ item.content }}</a> <a class="total flexacenter" :href="item.url" target="_blank"> <div>共</div> <div class="num">{{ item.data.offercount }}</div> <div>个Offer</div> </a> <a class="list flexacenter" :href="item.url" target="_blank"> <template v-for="(it,i) in item.data.offerlist" :key="i"> <div class="item flexflex" v-if="i < 2"> <div class="item-content flexflex"> <div class="school flexacenter"> <img class="icon" v-if="it.schoollogo" :src="it.schoollogo" mode="heightFix"></image> <div class="name one-line-display flex1">{{ it.schoolname }}</div> </div> <div class="major one-line-display" v-if="it.professional">{{ it.professional }}</div> <div class="info flexacenter"> {{ it.semester || '25Fall' }} <div class="line"></div> {{ it.degree || 'MSc' }} <div class="line"></div> <div class="results" :class="['r' + it.apply_results]">{{ it.apply_results_text || 'Offer' }}</div> </div> </div> </div> </template> <div v-if="item.data.offercount > 2" class="item more flexcenter"> <div class="item-content flexcenter"> <div class="">查看更多</div> <img class="icon" src="/img/arrows-circle-dark-blue.svg" mode="heightFix"></image> </div> </div> </a> <item-bottom :itemdata="item" :page="page"></item-bottom></div>`,
|
||||
});
|
||||
|
||||
@@ -8,24 +8,26 @@
|
||||
<div>个Offer</div>
|
||||
</a>
|
||||
<a class="list flexacenter" :href="item.url" target="_blank">
|
||||
<div class="item flexflex" v-for="(it,i) in item.data.offerlist" :key="i">
|
||||
<div class="item-content flexflex">
|
||||
<div class="school flexacenter">
|
||||
<img class="icon" v-if="it.schoollogo" :src="it.schoollogo" mode="heightFix"></image>
|
||||
<div class="name one-line-display flex1">{{ it.schoolname }}</div>
|
||||
</div>
|
||||
<div class="major one-line-display" v-if="it.professional">{{ it.professional }}</div>
|
||||
<div class="info flexacenter">
|
||||
{{ it.semester || '25Fall' }}
|
||||
<div class="line"></div>
|
||||
{{ it.degree || 'MSc' }}
|
||||
<div class="line"></div>
|
||||
<div class="results" :class="['r' + it.apply_results]">{{ it.apply_results_text || 'Offer' }}</div>
|
||||
<template v-for="(it,i) in item.data.offerlist" :key="i">
|
||||
<div class="item flexflex" v-if="i < 2">
|
||||
<div class="item-content flexflex">
|
||||
<div class="school flexacenter">
|
||||
<img class="icon" v-if="it.schoollogo" :src="it.schoollogo" mode="heightFix"></image>
|
||||
<div class="name one-line-display flex1">{{ it.schoolname }}</div>
|
||||
</div>
|
||||
<div class="major one-line-display" v-if="it.professional">{{ it.professional }}</div>
|
||||
<div class="info flexacenter">
|
||||
{{ it.semester || '25Fall' }}
|
||||
<div class="line"></div>
|
||||
{{ it.degree || 'MSc' }}
|
||||
<div class="line"></div>
|
||||
<div class="results" :class="['r' + it.apply_results]">{{ it.apply_results_text || 'Offer' }}</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
</div>
|
||||
<div v-if="item.data.offercount > 3" class="item more flexcenter">
|
||||
<div v-if="item.data.offercount > 2" class="item more flexcenter">
|
||||
<div class="item-content flexcenter">
|
||||
<div class="">查看更多</div>
|
||||
<img class="icon" src="/img/arrows-circle-dark-blue.svg" mode="heightFix"></image>
|
||||
|
||||
Reference in New Issue
Block a user