feat: 更新组件样式和功能,优化路由链接和用户体验

refactor: 重构组件模板,统一使用相对路径和内部路由

style: 调整CSS样式,修复布局和间距问题

fix: 修复投票和offer组件链接错误问题

chore: 添加新图片资源并更新相关引用路径

perf: 移除调试日志,优化页面加载性能

docs: 更新组件注释和文档说明

test: 更新测试用例以适配新功能

ci: 调整构建配置以支持新资源文件

build: 更新依赖项以兼容新功能
This commit is contained in:
DESKTOP-RQ919RC\Pc
2025-11-03 19:20:55 +08:00
parent 7bdeff17f6
commit 671732d277
45 changed files with 390 additions and 197 deletions

View File

@@ -16,16 +16,7 @@ export const itemMj = defineComponent({
setup(props) {
let item = ref({ ...props.itemdata });
// item.value.title = "【投41票】" + item.value.title;
// res["timestamp"] = util.strtimeago(res.release_at, 4);
// const data = res.data;
// const option = data.option || [];
// res["isvote"] = option.some((item) => item.selected == 1);
// const time = util.handleDeadline(data.deadline);
// res["time"] = time;
// this.setData({
// item: res,
// });
item.value['url'] = '/details/' + item.value.uniqid;
return { item };
},
@@ -34,5 +25,5 @@ export const itemMj = defineComponent({
itemHead,
},
template: `<div class="item-box item-mj"> <item-head :itemdata="item"></item-head> <div class="school flexacenter"> <img class="icon" :src="item.data.schoollogo" mode="heightFix"></image> <div class="text flex1 one-line-display">{{ item.data.schoolname }}</div> </div> <div class="major flexacenter" v-if="item.data.professional"> <div class="key">{{ item.data.project ? '专业' : '项目/专业' }}</div> <div class="value flex1 one-line-display">{{ item.data.professional }}</div> </div> <div class="major flexacenter" v-if="item.data.project"> <div class="key">项目</div> <div class="value flex1 one-line-display">{{ item.data.project }}</div> </div> <div class="major flexacenter" v-if="item.data.interviewtime"> <div class="key">面试</div> <div class="value time flex1 one-line-display">{{ item.data.interviewtime }}</div> </div> <div class="message" v-if="item.content">{{ item.content }}</div> <item-bottom :itemdata="item"></item-bottom></div>`,
template: `<div class="item-box item-mj"> <item-head :itemdata="item"></item-head> <a class="school flexacenter" :href="item.url" target="_blank"> <img class="icon" v-if="item.data.schoollogo" :src="item.data.schoollogo" mode="heightFix"></image> <div class="text flex1 one-line-display">{{ item.data.schoolname }}</div> </a> <a class="major flexacenter" v-if="item.data.professional" :href="item.url" target="_blank"> <div class="key">{{ item.data.project ? '专业' : '项目/专业' }}</div> <div class="value flex1 one-line-display">{{ item.data.professional }}</div> </a> <a class="major flexacenter" v-if="item.data.project" :href="item.url" target="_blank"> <div class="key">项目</div> <div class="value flex1 one-line-display">{{ item.data.project }}</div> </a> <a class="major flexacenter" v-if="item.data.interviewtime" :href="item.url" target="_blank"> <div class="key">面试</div> <div class="value time flex1 one-line-display">{{ item.data.interviewtime }}</div> </a> <a class="message" v-if="item.content" :href="item.url" target="_blank">{{ item.content }}</a> <item-bottom :itemdata="item"></item-bottom></div>`,
});

View File

@@ -1,26 +1,26 @@
<div class="item-box item-mj">
<item-head :itemdata="item"></item-head>
<div class="school flexacenter">
<img class="icon" :src="item.data.schoollogo" mode="heightFix"></image>
<a class="school flexacenter" :href="item.url" target="_blank">
<img class="icon" v-if="item.data.schoollogo" :src="item.data.schoollogo" mode="heightFix"></image>
<div class="text flex1 one-line-display">{{ item.data.schoolname }}</div>
</div>
</a>
<div class="major flexacenter" v-if="item.data.professional">
<a class="major flexacenter" v-if="item.data.professional" :href="item.url" target="_blank">
<div class="key">{{ item.data.project ? '专业' : '项目/专业' }}</div>
<div class="value flex1 one-line-display">{{ item.data.professional }}</div>
</div>
</a>
<div class="major flexacenter" v-if="item.data.project">
<a class="major flexacenter" v-if="item.data.project" :href="item.url" target="_blank">
<div class="key">项目</div>
<div class="value flex1 one-line-display">{{ item.data.project }}</div>
</div>
</a>
<div class="major flexacenter" v-if="item.data.interviewtime">
<a class="major flexacenter" v-if="item.data.interviewtime" :href="item.url" target="_blank">
<div class="key">面试</div>
<div class="value time flex1 one-line-display">{{ item.data.interviewtime }}</div>
</div>
</a>
<div class="message" v-if="item.content">{{ item.content }}</div>
<a class="message" v-if="item.content" :href="item.url" target="_blank">{{ item.content }}</a>
<item-bottom :itemdata="item"></item-bottom>
</div>