Compare commits

..

No commits in common. '86325a00a3e525009ee14b7bc2a7e245d04a8535' and '129a21d5330c8dfdf3ab5e823e9a8bc14d136028' have entirely different histories.

@ -78,7 +78,7 @@
--commentURL: url(../file/comment.jpg);
--springBg: url(../file/bg1.jpg);
--admireImage: url(../file/bg2.jpg);
--admireImage: url(../file/bg1.jpg);
--toTop: url(../file/top.jpg);
--bannerWave1: url(../file/bannerwave1.png) repeat-x;
--bannerWave2: url(../file/bannerwave2.png) repeat-x;

Binary file not shown.

Before

Width:  |  Height:  |  Size: 146 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 555 KiB

After

Width:  |  Height:  |  Size: 114 KiB

@ -33,41 +33,22 @@
data() {
return {
sayShow: false,
// sayContent: [
// {
// "talk": ["Hi, there👋", " Vue2 Vue3 SpringBoot ~"],
// "reply": [" 😃", " 🙄"]
// }, {
// "talk": ["😘",
// "",
// ""],
// "reply": [" 😂"]
// }, {
// "talk": ["🚀",
// "👋",
// "🥝"],
// "reply": []
// }
// ],
sayContent: [
{
"talk": ["大家好👋", "欢迎来到查询药物相互作用,病友间相互交流的平台~"],
"reply": ["然后呢? 😃", "废话! 🙄"]
"talk": ["Hi, there👋", "这是一个 Vue2 Vue3 与 SpringBoot 结合的产物~"],
"reply": ["然后呢? 😃", "少废话! 🙄"]
}, {
"talk": ["😘",
"这个平台是一个温暖的港湾,让我们可以相互倾听、相互支持",
"在这里,我们可以分享经验、交流心情,共同战胜疾病的困难和挑战"],
"reply": ["这个平台有什么用吗? 😂"]
"本站平时仅用于交流和学习新知识",
"如涉及侵权请联系站长删除对应资源,谢谢!!!"],
"reply": ["这个网站有什么用吗? 😂"]
}, {
"talk": ["拥有一个专属的交流平台,我们能够找到理解和同伴🚀",
"一起度过艰难时刻,分享希望和勇气👋",
"病友们请在聊天室集合🥝"],
"talk": ["拥有自己的独立网站难道不酷吗🚀",
"那就摸鱼吧👋",
"摸鱼大军请在聊天室集合🥝"],
"reply": []
}
],
sayIndex: 0
}
},

@ -24,8 +24,6 @@
</svg>
<span>&nbsp;首页</span>
</div>
<!--头像-->
<div class="header-user-con">
<el-dropdown placement="bottom">
<el-avatar class="user-avatar" :size="40"
@ -36,7 +34,6 @@
</el-dropdown-menu>
</el-dropdown>
</div>
</div>
</div>
</template>

@ -29,7 +29,6 @@
</template>
</el-submenu>
</template>
<template v-else>
<el-menu-item :index="item.index" :key="item.index">
<i :class="item.icon"></i>
@ -62,11 +61,6 @@
index: "/userList",
title: "用户管理",
isBoss: true
}, {
icon: "el-icon-first-aid-kit",
index: "/drugReaction",
title: "药品管理",
isBoss: false
}, {
icon: "el-icon-postcard",
index: "/postList",
@ -100,7 +94,7 @@
}, {
icon: "el-icon-sugar",
index: "/loveList",
title: "科研项目管理",
title: "表白墙管理",
isBoss: true
}]
}

@ -1,324 +0,0 @@
<template>
<div>
<div>
<div class="handle-box">
<el-input v-model="queryParams.drug1" placeholder="药品A名称" class="handle-input mrb10"></el-input>
<el-input v-model="queryParams.drug2" placeholder="药品B名称" class="handle-input mrb10"></el-input>
<el-input v-model="queryParams.reaction" placeholder="相互作用效果" class="handle-input mrb10"></el-input>
<el-button type="primary" icon="el-icon-search" @click="handleQuery()"></el-button>
<el-button type="danger" @click="clearSearch()"></el-button>
<el-button type="primary" icon="el-icon-plus" @click="addDrugs()"></el-button>
</div>
<el-table :data="table1List" border class="table" header-cell-class-name="table-header">
<el-table-column prop="id" label="ID" width="55" align="center"></el-table-column>
<el-table-column prop="drug1" label="药品A名称" align="center"></el-table-column>
<el-table-column prop="drug2" label="药品B名称" align="center"></el-table-column>
<el-table-column prop="reaction" label="相互作用效果" align="center"></el-table-column>
<el-table-column label="操作" width="180" align="center">
<template slot-scope="scope">
<el-button type="text" icon="el-icon-edit" @click="handleEdit(scope.row)"></el-button>
<el-button type="text" icon="el-icon-delete" style="color: var(--orangeRed)" @click="handleDelete(scope.row)">
删除
</el-button>
</template>
</el-table-column>
</el-table>
<el-dialog title="新增药品作用" :visible.sync="dialogVisible">
<el-form :model="formData" :rules="rules" ref="drugForm" label-width="100px" class="demo-ruleForm">
<el-form-item label="药品A名称" prop="drug1">
<el-input v-model="formData.drug1"></el-input>
</el-form-item>
<el-form-item label="药品B名称" prop="drug2">
<el-input v-model="formData.drug2"></el-input>
</el-form-item>
<el-form-item label="相互作用效果" prop="reaction">
<el-input v-model="formData.reaction"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false"> </el-button>
<el-button type="primary" @click="submitForm('drugForm')"> </el-button>
</div>
</el-dialog>
<el-dialog title="编辑药品作用" :visible.sync="editVisible">
<el-form :model="changeUser" :rules="editRules" ref="editForm" label-width="100px" class="demo-ruleForm">
<el-form-item label="药品A名称" prop="drug1">
<el-input v-model="changeUser.drug1"></el-input>
</el-form-item>
<el-form-item label="药品B名称" prop="drug2">
<el-input v-model="changeUser.drug2"></el-input>
</el-form-item>
<el-form-item label="相互作用效果" prop="reaction">
<el-input v-model="changeUser.reaction"></el-input>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button @click="editVisible = false"> </el-button>
<el-button type="primary" @click="submitEditForm('editForm')"> </el-button>
</div>
</el-dialog>
<div class="pagination">
<el-pagination
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="1"
:page-sizes="[10, 15, 20, 25]"
:page-size="10"
layout="total, sizes, prev, pager, next, jumper"
:total=this.pagination.total>
</el-pagination>
</div>
</div>
</div>
</template>
<script>
import {addTable1, listTable1, listTotal} from "../../utils/table1";
import axios from "axios";
export default {
data() {
return {
pagination: {
current: 1,
size: 10,
total: 0,
searchKey: "",
userStatus: null,
userType: null
},
users: [],
table1List: [
],
//
queryParams: {
pageNum: 1,
pageSize: 10,
drug1: null,
drug2: null,
reaction: null
},
//
formData: {
drug1: "",
drug2: "",
reaction: ""
},
dialogVisible: false,
rules: {
drug1: [
{ required: true, message: "请输入药品A名称", trigger: "blur" }
],
drug2: [
{ required: true, message: "请输入药品B名称", trigger: "blur" }
],
reaction: [
{ required: true, message: "请输入相互作用效果", trigger: "blur" }
]
},
editVisible: false,
changeUser: {
id: null,
drug1: null,
drug2: null,
reaction: null
},
editRules: {
drug1: [
{ required: true, message: "请输入药品A名称", trigger: "blur" }
],
drug2: [
{ required: true, message: "请输入药品B名称", trigger: "blur" }
],
reaction: [
{ required: true, message: "请输入相互作用效果", trigger: "blur" }
]
}
}
},
computed: {},
watch: {},
created() {
// this.getUsers();
this.handleQuery();
},
mounted() {
},
methods: {
//
addDrugs(){
this.dialogVisible = true;
},
/** 查询药品作用列表条数 */
getTotal() {
listTotal(this.queryParams).then(response => {
this.pagination.total = parseInt(response);
console.log(this.pagination.total);
});
},
handleSizeChange(val) {
this.queryParams.pageSize = val; //
this.getList();
},
handleCurrentChange(val) {
this.queryParams.pageNum = val; //
this.getList();
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
this.getList();
this.getTotal();
},
/** 查询药品作用管理列表 */
getList() {
// this.loading = true;
this.table1List = []; //
listTable1(this.queryParams).then(response => {
this.table1List = response;
});
},
clearSearch() {
this.queryParams = {
pageNum: 1,
pageSize: 10,
drug1: null,
drug2: null,
reaction: null
}
},
handlePageChange(val) {
this.pagination.current = val;
this.getUsers();
},
//
submitForm(formName) {
this.$refs[formName].validate(valid => {
if (valid) {
addTable1(this.formData).then(() => {
this.dialogVisible = false;
this.getList();
this.getTotal();
this.$message({
message: "新增成功",
type: "success"
});
}).catch((error) => {
this.$message.error(error);
});
} else {
return false;
}
});
},
//
handleEdit(row) {
this.changeUser.id = row.id;
this.changeUser.drug1 = row.drug1;
this.changeUser.drug2 = row.drug2;
this.changeUser.reaction = row.reaction;
this.editVisible = true;
},
submitEditForm(formName) {
this.$refs[formName].validate(valid => {
if (valid) {
axios.put(`/system/table1/`, this.changeUser)
.then(() => {
this.editVisible = false; //
this.getList(); //
this.getTotal(); //
this.$message({
message: "编辑成功",
type: "success"
});
})
.catch(error => {
this.$message.error("编辑失败:" + error.message);
});
} else {
return false;
}
});
},
//
handleDelete(row) {
this.$confirm("此操作将永久删除该药品作用, 是否继续?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning"
}).then(() => {
axios.delete(`/system/table1/${row.id}`)
.then(() => {
this.getList();
this.getTotal();
this.$message({
message: "删除成功",
type: "success"
});
})
.catch(error => {
this.$message.error("删除失败:" + error.message);
});
}).catch(() => {});
}
}
}
</script>
<style scoped>
.handle-box {
margin-bottom: 20px;
}
.handle-select {
width: 120px;
}
.handle-input {
width: 160px;
display: inline-block;
}
.table {
width: 100%;
font-size: 14px;
}
.mrb10 {
margin-right: 10px;
margin-bottom: 10px;
}
.table-td-thumb {
display: block;
margin: auto;
width: 40px;
height: 40px;
}
.pagination {
margin: 20px 0;
text-align: right;
}
.el-switch {
margin: 5px;
}
</style>

@ -12,8 +12,8 @@
<el-table-column prop="id" label="ID" width="55" align="center"></el-table-column>
<el-table-column prop="userId" label="用户ID" align="center"></el-table-column>
<el-table-column prop="manName" label="科研人员" align="center"></el-table-column>
<el-table-column prop="womanName" label="项目" align="center"></el-table-column>
<el-table-column prop="manName" label="男生昵称" align="center"></el-table-column>
<el-table-column prop="womanName" label="女生昵称" align="center"></el-table-column>
<el-table-column label="背景封面" align="center">
<template slot-scope="scope">

@ -20,7 +20,7 @@
<el-table-column prop="username" label="用户名" align="center"></el-table-column>
<el-table-column prop="phoneNumber" label="手机号" align="center"></el-table-column>
<el-table-column prop="email" label="邮箱" align="center"></el-table-column>
<el-table-column label="援助" width="100" align="center">
<el-table-column label="赞赏" width="100" align="center">
<template slot-scope="scope">
<el-input size="medium" maxlength="30" v-model="scope.row.admire"
@blur="changeUserAdmire(scope.row)"></el-input>

@ -1,51 +1,20 @@
<template>
<div class="home">
<h1>欢迎来到后台管理界面</h1>
<p>这里你能够管理所有的配置</p>
<div class="stats-container">
<div class="stat-card">
<div class="stat-icon">
<i class="fas fa-users"></i>
</div>
<div class="stat-info">
<h2>网站今日访问量</h2>
<p>{{historyInfo.ip_count_today}}</p>
</div>
</div>
<div class="stats-container">
<div class="stat-card">
<div class="stat-icon">
<i class="fas fa-users"></i>
</div>
<div class="stat-info">
<h2>网站昨日访问量</h2>
<p>{{historyInfo.ip_count_yest}}</p>
</div>
</div>
</div>
<div class="stat-card">
<div class="stat-icon">
<i class="fas fa-shopping-cart"></i>
</div>
<div class="stat-info">
<h2>网站总访问量</h2>
<p>{{historyInfo.ip_history_count}}</p>
</div>
</div>
<div>
<div class="welcome-title">
<h2 class="playful">
<span></span>
<span></span>
<span></span>
<span></span>
</h2>
</div>
</div>
</template>
<script>
export default {
export default {
data() {
return {
historyInfo: {}
};
return {}
},
computed: {},
@ -53,74 +22,85 @@ export default {
watch: {},
created() {
this.getHistoryInfo();
},
mounted() {},
mounted() {
methods: {
getHistoryInfo() {
this.$http.get(this.$constant.baseURL + "/webInfo/getHistoryInfo", {}, true)
.then((res) => {
if (!this.$common.isEmpty(res.data)) {
this.historyInfo = res.data;
}
})
.catch((error) => {
this.$message({
message: error.message,
type: "error"
});
});
}
},
methods: {}
}
};
</script>
<style scoped>
.home {
.welcome-title {
text-align: center;
padding: 20px;
}
h1 {
font-size: 32px;
color: #333;
margin-bottom: 20px;
}
p {
font-size: 18px;
color: #666;
margin-bottom: 40px;
}
.stats-container {
display: flex;
justify-content: space-around;
}
.stat-card {
background-color: #f2f2f2;
padding: 20px;
border-radius: 5px;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.stat-icon {
font-size: 24px;
color: #333;
margin-bottom: 10px;
}
.stat-info h2 {
font-size: 18px;
color: #333;
margin-bottom: 5px;
}
.stat-info p {
font-size: 14px;
color: #666;
}
font-size: 50px;
font-weight: bold;
}
.playful span {
position: relative;
color: #5362f6;
text-shadow: 0.25px 0.25px #e485f8, 0.5px 0.5px #e485f8, 0.75px 0.75px #e485f8,
1px 1px #e485f8, 1.25px 1.25px #e485f8, 1.5px 1.5px #e485f8, 1.75px 1.75px #e485f8,
2px 2px #e485f8, 2.25px 2.25px #e485f8, 2.5px 2.5px #e485f8, 2.75px 2.75px #e485f8,
3px 3px #e485f8, 3.25px 3.25px #e485f8, 3.5px 3.5px #e485f8, 3.75px 3.75px #e485f8,
4px 4px #e485f8, 4.25px 4.25px #e485f8, 4.5px 4.5px #e485f8, 4.75px 4.75px #e485f8,
5px 5px #e485f8, 5.25px 5.25px #e485f8, 5.5px 5.5px #e485f8, 5.75px 5.75px #e485f8,
6px 6px #e485f8;
animation: scatter 1.75s infinite;
font-weight: normal;
}
.playful span:nth-child(2n) {
color: #ed625c;
text-shadow: 0.25px 0.25px #f2a063, 0.5px 0.5px #f2a063, 0.75px 0.75px #f2a063,
1px 1px #f2a063, 1.25px 1.25px #f2a063, 1.5px 1.5px #f2a063, 1.75px 1.75px #f2a063,
2px 2px #f2a063, 2.25px 2.25px #f2a063, 2.5px 2.5px #f2a063, 2.75px 2.75px #f2a063,
3px 3px #f2a063, 3.25px 3.25px #f2a063, 3.5px 3.5px #f2a063, 3.75px 3.75px #f2a063,
4px 4px #f2a063, 4.25px 4.25px #f2a063, 4.5px 4.5px #f2a063, 4.75px 4.75px #f2a063,
5px 5px #f2a063, 5.25px 5.25px #f2a063, 5.5px 5.5px #f2a063, 5.75px 5.75px #f2a063,
6px 6px #f2a063;
animation-delay: 0.3s;
}
.playful span:nth-child(3n) {
color: #ffd913;
text-shadow: 0.25px 0.25px #6ec0a9, 0.5px 0.5px #6ec0a9, 0.75px 0.75px #6ec0a9,
1px 1px #6ec0a9, 1.25px 1.25px #6ec0a9, 1.5px 1.5px #6ec0a9, 1.75px 1.75px #6ec0a9,
2px 2px #6ec0a9, 2.25px 2.25px #6ec0a9, 2.5px 2.5px #6ec0a9, 2.75px 2.75px #6ec0a9,
3px 3px #6ec0a9, 3.25px 3.25px #6ec0a9, 3.5px 3.5px #6ec0a9, 3.75px 3.75px #6ec0a9,
4px 4px #6ec0a9, 4.25px 4.25px #6ec0a9, 4.5px 4.5px #6ec0a9, 4.75px 4.75px #6ec0a9,
5px 5px #6ec0a9, 5.25px 5.25px #6ec0a9, 5.5px 5.5px #6ec0a9, 5.75px 5.75px #6ec0a9,
6px 6px #6ec0a9;
animation-delay: 0.15s;
}
.playful span:nth-child(5n) {
color: #555bff;
text-shadow: 0.25px 0.25px #e485f8, 0.5px 0.5px #e485f8, 0.75px 0.75px #e485f8,
1px 1px #e485f8, 1.25px 1.25px #e485f8, 1.5px 1.5px #e485f8, 1.75px 1.75px #e485f8,
2px 2px #e485f8, 2.25px 2.25px #e485f8, 2.5px 2.5px #e485f8, 2.75px 2.75px #e485f8,
3px 3px #e485f8, 3.25px 3.25px #e485f8, 3.5px 3.5px #e485f8, 3.75px 3.75px #e485f8,
4px 4px #e485f8, 4.25px 4.25px #e485f8, 4.5px 4.5px #e485f8, 4.75px 4.75px #e485f8,
5px 5px #e485f8, 5.25px 5.25px #e485f8, 5.5px 5.5px #e485f8, 5.75px 5.75px #e485f8,
6px 6px #e485f8;
animation-delay: 0.4s;
}
.playful span:nth-child(7n) {
color: #ff9c55;
text-shadow: 0.25px 0.25px #ff5555, 0.5px 0.5px #ff5555, 0.75px 0.75px #ff5555,
1px 1px #ff5555, 1.25px 1.25px #ff5555, 1.5px 1.5px #ff5555, 1.75px 1.75px #ff5555,
2px 2px #ff5555, 2.25px 2.25px #ff5555, 2.5px 2.5px #ff5555, 2.75px 2.75px #ff5555,
3px 3px #ff5555, 3.25px 3.25px #ff5555, 3.5px 3.5px #ff5555, 3.75px 3.75px #ff5555,
4px 4px #ff5555, 4.25px 4.25px #ff5555, 4.5px 4.5px #ff5555, 4.75px 4.75px #ff5555,
5px 5px #ff5555, 5.25px 5.25px #ff5555, 5.5px 5.5px #ff5555, 5.75px 5.75px #ff5555,
6px 6px #ff5555;
animation-delay: 0.25s;
}
</style>

@ -187,7 +187,7 @@
overflow: hidden;
border-radius: 10px;
animation: hideToShow 1s ease-in-out;
//background-color: #1d1f21;
background-color: #1d1f21;
}
.recent-post-item-image {

@ -24,11 +24,15 @@
</a>
</div>
<div style="display: inline-block;position: absolute;left: 470px;top: 208px; width: fit-content">
<!-- 写博客按钮 -->
<!-- <button class="write-blog-btn" @click="showEditor = true">-->
<!-- 写个人博客-->
<!-- </button>-->
<div style="text-align: center;display: inline-block">
<button class="publicBlog" @click="showPostEditor = true"> 写博客</button>
</div>
</div>
<!--公开文章编辑-->
<!--公开文章-->
<div id="editorPost" v-if="showPostEditor" style="background-color: #efe5fa;padding-bottom: 10px;margin-left: 35px;margin-right: 35px;border-radius: 10px;box-shadow: 0px 10px 10px 10px #d9c8fc; ">
<div>
<el-tag effect="dark" class="my-tag">
@ -249,7 +253,7 @@
{{ article.articleContent }}
</div>
<!-- 分类 标签 -->
<div class="sort-label">
<div class="sort-label" @click="$router.push({path: '/article', query: {id: article.id}})">
<span style="margin-right: 12px"
@click.stop="$router.push({path: '/sort', query: {sortId: article.sortId}})">
<svg viewBox="0 0 1024 1024" width="15" height="15" style="vertical-align: -3px;">
@ -281,17 +285,17 @@
</svg> {{ article.labelName }}
</span>
</div>
</div>
<span style="margin-left: 340px;z-index: 99">
<span style="margin-left: 7px">
<el-button type="text" icon="el-icon-edit" @click="handleEdit(article)"></el-button>
<el-button type="text" icon="el-icon-delete" style="margin-left: 7px;color: var(--orangeRed)" @click="handleDelete(article)">
删除
</el-button>
</span>
</div>
</div>
</div>
</div>
@ -369,6 +373,7 @@ export default {
showUpdateBtn: false,
showSaveBtn: true,
articleSearch: "",
// showEditor: false,
showPostEditor: false,
blogContent: "",
blogContentTitle:"",
@ -563,11 +568,11 @@ export default {
},
submitForm(formName) {
if (this.article.viewStatus === false && this.$common.isEmpty(this.article.password)) {
// this.$message({
// message: "",
// type: "error"
// });
// return;
this.$message({
message: "文章不可见时必须输入密码!",
type: "error"
});
return;
}
this.$refs[formName].validate((valid) => {
if (valid) {
@ -587,14 +592,12 @@ export default {
},
submitForm2() {
if (this.article.viewStatus === false && this.$common.isEmpty(this.article.password)) {
// this.$message({
// message: "",
// type: "error"
// });
// return;
this.$message({
message: "文章不可见时必须输入密码!",
type: "error"
});
return;
}
this.article.userId = this.$store.state.currentUser.id;
console.log(this.$store.state.currentUser.id)
this.saveArticle(this.article, "/article/updateArticle")
},
resetForm(formName) {
@ -825,6 +828,131 @@ export default {
showTip() {
this.$router.push({path: '/weiYan'});
},
cancelEdit() {
//
this.showEditor = false;
this.showUpdateBtn = false;
this.showPublishBtn = true;
this.blogContent = "";
this.blogContentTitle = "";
},
saveBlog() {
let selectedIndex = this.selectedCategoryIndex+1;
console.log('选中的分类索引号为:' + selectedIndex);
const articleVO = {
userId:this.$store.state.currentUser.id,
articleContent: this.blogContent ,//
articleTitle:this.blogContentTitle,
// ...
sortId:1,
labelId:selectedIndex,
articleCover:this.articleUp.articleCover,
viewStatus: 0,
commentStatus: 0,
recommendStatus: 0
};
console.log(this.$store.state.currentUser)
console.log(this.articleUp.articleCover+"cover")
// console.log("index:"+document.getElementById('category').select)
this.$http.post('/article/saveArticle', articleVO)
.then(response => {
//
console.log('博客保存成功!');
this.getUserArticles();
this.showEditor = false;
this.blogContent = "";
this.blogContentTitle = "";
this.$message({
message: '发布成功',
type: 'success'
});
})
.catch(error => {
//
console.error('博客保存失败:', error);
this.$message({
message: '发布失败',
type: 'error'
});
});
},
deleteArticle(article){
//
this.$http.get(`/article/deleteArticle?id=${article.id}`)
// .then(response => response.json())
.then(response => {
//
console.log('博客删除成功!');
console.log(response)
this.getUserArticles()
this.getUserArticleLabelTotalNum()
})
.catch(error => {
//
console.error('删除博客失败:', error);
});
},
updateArticle(article) {
this.showPostEditor = true;
this.blogContentTitle = article.articleTitle;
this.blogContent = article.articleContent;
this.selectedCategoryIndex = article.labelId - 1; //
this.articleUp.id = article.id;
// this.blogLabelName
// #editorArea
const editorArea = document.getElementById('editorArea');
if (editorArea) {
editorArea.scrollIntoView({ behavior: "smooth", block: "start" });
} else {
console.log("#editorArea not found");
}
},
// updateBlog(){
// this.blogContentTitle = document.getElementById('areaTitle').value
// this.blogContent = document.getElementById('areaContent').value
// // document.getElementById('category').
// this.articleUp.articleContent = document.getElementById('areaContent').value
// this.articleUp.articleTitle = document.getElementById('areaTitle').value
// this.articleUp.username = this.$store.state.currentUser.username
// this.articleUp.labelId = this.selectedCategoryIndex+1
//
// //
// this.$http.post('/article/updateArticle', this.articleUp)
// .then(response => {
// //
// console.log('');
//
// console.log(response)
// this.getUserArticles()
// this.getUserArticleLabelTotalNum()
// this.$message({
// message: '',
// type: 'success'
// });
// this.showEditor = false;
// this.showPublishBtn = true;
// this.showUpdateBtn = false;
// this.blogContent = "";
// this.blogContentTitle = "";
// })
// .catch(error => {
// //
// console.error('', error);
// this.$message({
// message: '',
// type: 'error'
// });
// this.showPublishBtn = true;
// this.showUpdateBtn = false;
// this.blogContent = "";
// this.blogContentTitle = "";
// });
// },
getBlogLabels() {
const url = "/webInfo/listLabel";
console.log("gettingLabels");
@ -834,13 +962,22 @@ export default {
console.log(response.data.data)
const labels = response.data.data;
this.blogLabels = Object.values(labels).map(label => label.labelName);
// blogLabels
// this.blogLabels = labels;
})
.catch(error => {
//
console.error(error);
});
},
handleFileChange() {
let file0 = this.$refs.fileInput.files[0];
this.file = file0;
console.log('上传的文件:', file0);
//
}
}
}
</script>

@ -2,7 +2,7 @@
<div class="myFooter-wrap" v-show="showFooter">
<div class="myFooter">
<div class="footer-title">{{$store.state.webInfo.footer}}</div>
<div class="icp">或许所有的努力都会失败但即使是战死在这条路上我也不要被疾病摧残而死我别无选择</div>
<div class="icp">本网站由 <a href="https://poetize.cn" target="_blank">Poetize</a> 强力支持</div>
</div>
</div>
</template>

@ -10,27 +10,27 @@
<div style="position: absolute;left: 0;top: 0;padding: 20px">
<!-- 标题 -->
<div style="color: var(--white);margin: 10px">
<!-- <div>-->
<!-- 记录-->
<!-- </div>-->
<div>
记录
</div>
<div style="font-size: 36px;font-weight: bold;line-height: 2">
医院推荐
百宝箱
</div>
</div>
<div class="card-container">
<!-- 收藏夹 -->
<!-- <div @click="changeFavorite(1)"-->
<!-- class="card-item">-->
<!-- <div class="favorite-image"></div>-->
<!-- <div style="position: absolute;left: 0;top: 0;padding: 20px 25px 15px">-->
<!-- <div class="card-name">-->
<!-- 收藏夹-->
<!-- </div>-->
<!-- <div class="card-desc">-->
<!-- poetize.cn 添加到您的收藏夹吧-->
<!-- </div>-->
<!-- </div>-->
<!-- </div>-->
<div @click="changeFavorite(1)"
class="card-item">
<div class="favorite-image"></div>
<div style="position: absolute;left: 0;top: 0;padding: 20px 25px 15px">
<div class="card-name">
收藏夹
</div>
<div class="card-desc">
poetize.cn 添加到您的收藏夹吧
</div>
</div>
</div>
</div>
</div>
</div>

@ -41,7 +41,7 @@
<!-- 预测研发流程 -->
<li @click="$router.push({path: '/love'})">
<div class="my-menu">
🥼 <span>研发流程</span>
🥼 <span>预测研发流程</span>
</div>
</li>
@ -53,17 +53,17 @@
</li>
<!-- 旅拍 -->
<li @click="$router.push({path: '/travel'})">
<div class="my-menu">
🌏 <span>照片</span>
📷 <span>记录</span>
</div>
</li>
<!-- 百宝箱 -->
<li @click="$router.push({path: '/favorite'})">
<div class="my-menu">
🧰 <span>医院推荐</span>
🧰 <span>百宝箱</span>
</div>
</li>
@ -74,11 +74,11 @@
</div>
</li>
<!-- 音乐 -->
<!-- <li @click="$router.push({path: '/funny'})">-->
<!-- <div class="my-menu">-->
<!-- 🎺 <span>曲乐</span>-->
<!-- </div>-->
<!-- </li>-->
<li @click="$router.push({path: '/funny'})">
<div class="my-menu">
🎺 <span>曲乐</span>
</div>
</li>
<!-- 留言 -->
<li @click="$router.push({path: '/message'})">
<div class="my-menu">
@ -86,11 +86,11 @@
</div>
</li>
<!-- 友人帐 -->
<!-- <li @click="$router.push({path: '/friend'})">-->
<!-- <div class="my-menu">-->
<!-- 💃 <span>友人帐</span>-->
<!-- </div>-->
<!-- </li>-->
<li @click="$router.push({path: '/friend'})">
<div class="my-menu">
💃 <span>友人帐</span>
</div>
</li>
<!-- 关于 -->
<li @click="$router.push({path: '/about'})">

@ -25,7 +25,8 @@
<!-- 首页文字 -->
<div class="signature-wall myCenter my-animation-hideToShow">
<h1 class="playful">
<span v-for="(a, index) in $store.state.webInfo.webTitle" :key="index">{{a}}</span>
<p> </p>
<!--<span v-for="(a, index) in $store.state.webInfo.webTitle" :key="index">{{a}}</span>-->
</h1>
<!-- 搜索 -->
@ -82,11 +83,13 @@
<div class="announcement background-opacity">
<i class="fa fa-volume-up" aria-hidden="true"></i>
<div>
<div v-for="(notice, index) in $store.state.webInfo.notices" :key="index">
{{ notice }}
</div>
<!-- <div v-for="(notice, index) in $store.state.webInfo.notices" :key="index">-->
<!-- {{ notice }}-->
<!-- </div>-->
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;世界上只有一种真正的英雄主义那就是看清生活的真相之后依然勇敢地热爱生活
</div>
</div>
<articleList :articleList="articles"></articleList>
<template>
<div class="shadow-box pagination-wrap background-opacity">
@ -111,24 +114,12 @@
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="currentPage1"
:page-sizes="[10, 15, 20, 25]"
:page-sizes="[10, 15, 20, 15]"
:page-size="10"
layout="total, sizes, prev, pager, next, jumper"
:total=this.pagination.total>
</el-pagination>
</div>
<articleList :articleList="articles"></articleList>
<div class="pagination-wrap">
<div @click="pageArticles()" class="pagination" v-if="pagination.total !== articles.length">
下一页
</div>
<div v-else style="user-select: none">
~~到底啦~~
</div>
</div>
</template>
@ -257,13 +248,13 @@ export default {
};
this.articles = [];
await this.getArticles();
// this.$nextTick(() => {
// document.querySelector('.recent-posts').scrollIntoView({
// behavior: "smooth",
// block: "start",
// inline: "nearest"
// });
// });
this.$nextTick(() => {
document.querySelector('.recent-posts').scrollIntoView({
behavior: "smooth",
block: "start",
inline: "nearest"
});
});
},
async selectArticle(articleSearch) {
this.pagination = {

@ -9,7 +9,7 @@
:size="120"
:src="!$common.isEmpty($store.state.currentUser)?$store.state.currentUser.avatar:$store.state.webInfo.avatar">
</el-avatar>
<div class="web-name">{{this.$store.state.currentUser.username}}</div>
<div class="web-name">{{webInfo.webName}}</div>
<div class="web-info">
<div class="blog-info-box">
<span>文章</span>
@ -52,39 +52,6 @@
</div>
</div>
<!-- 分类 -->
<div class="shadow-box background-opacity wow"
style="margin-top: 30px;padding: 25px 25px 5px;border-radius: 10px;animation: hideToShow 1s ease-in-out">
<div class="card-content2-title">
<i class="el-icon-folder-opened card-content2-icon"></i>
<span>药品简述</span>
</div>
<!-- <div v-for="(sort, index) in sortInfo"-->
<!-- :key="index"-->
<!-- class="post-sort"-->
<!-- @click="$router.push({path: '/sort', query: {sortId: sort.id}})">-->
<!-- <div>-->
<!-- <span v-for="(s, i) in sort.sortName.split('')" :key="i">{{ s }}</span>-->
<!-- </div>-->
<!-- </div>-->
{{drugDetails}}
</div>
<!-- 速览 -->
<div v-for="(sort, index) in sortInfo"
@click="selectSort(sort)"
:key="index"
:style="{background: $constant.sortColor[index % $constant.sortColor.length]}"
class="shadow-box-mini background-opacity wow"
style="position: relative;padding: 10px 25px 15px;border-radius: 10px;animation: hideToShow 1s ease-in-out;margin-top: 30px;cursor: pointer;color: var(--white)">
<div>速览</div>
<div class="sort-name">
{{sort.sortName}}
</div>
<div style="font-weight: bold;margin-top: 15px;white-space: nowrap;text-overflow: ellipsis;overflow: hidden">
{{sort.sortDescription}}
</div>
</div>
<!-- 推荐文章 -->
<div v-if="!$common.isEmpty(recommendArticles)"
style="padding: 25px;border-radius: 10px;margin-top: 30px;animation: hideToShow 1s ease-in-out"
@ -117,21 +84,38 @@
</div>
<!-- 速览 -->
<div v-for="(sort, index) in sortInfo"
@click="selectSort(sort)"
:key="index"
:style="{background: $constant.sortColor[index % $constant.sortColor.length]}"
class="shadow-box-mini background-opacity wow"
style="position: relative;padding: 10px 25px 15px;border-radius: 10px;animation: hideToShow 1s ease-in-out;margin-top: 30px;cursor: pointer;color: var(--white)">
<div>速览</div>
<div class="sort-name">
{{sort.sortName}}
</div>
<div style="font-weight: bold;margin-top: 15px;white-space: nowrap;text-overflow: ellipsis;overflow: hidden">
{{sort.sortDescription}}
</div>
</div>
<!-- 分类 -->
<div class="shadow-box background-opacity wow"
style="margin-top: 30px;padding: 25px 25px 5px;border-radius: 10px;animation: hideToShow 1s ease-in-out">
<div class="card-content2-title">
<i class="el-icon-folder-opened card-content2-icon"></i>
<span>药品简述</span>
</div>
<!-- <div v-for="(sort, index) in sortInfo"-->
<!-- @click="selectSort(sort)"-->
<!-- :key="index"-->
<!-- :style="{background: $constant.sortColor[index % $constant.sortColor.length]}"-->
<!-- class="shadow-box-mini background-opacity wow"-->
<!-- style="position: relative;padding: 10px 25px 15px;border-radius: 10px;animation: hideToShow 1s ease-in-out;margin-top: 30px;cursor: pointer;color: var(&#45;&#45;white)">-->
<!-- <div>速览</div>-->
<!-- <div class="sort-name">-->
<!-- {{sort.sortName}}-->
<!-- </div>-->
<!-- <div style="font-weight: bold;margin-top: 15px;white-space: nowrap;text-overflow: ellipsis;overflow: hidden">-->
<!-- {{sort.sortDescription}}-->
<!-- class="post-sort"-->
<!-- @click="$router.push({path: '/sort', query: {sortId: sort.id}})">-->
<!-- <div>-->
<!-- <span v-for="(s, i) in sort.sortName.split('')" :key="i">{{ s }}</span>-->
<!-- </div>-->
<!-- </div>-->
{{drugDetails}}
</div>
<!-- 赞赏 -->
<div class="shadow-box-mini background-opacity wow admire-box"
@ -146,14 +130,15 @@
<el-avatar
style="margin-bottom: 10px"
:size="36"
:src="item.avatar ">
:src="!$common.isEmpty($store.state.currentUser)?$store.state.currentUser.avatar:$store.state.webInfo.avatar">
</el-avatar>
<div style="margin-left: 10px;height: 36px;line-height: 36px;overflow: hidden;max-width: 80px">
{{ item.username }}
</div>
</div>
<div style="height: 36px;line-height: 36px">
{{ item.admire }}
<!-- {{ item.admire }}-->
500
</div>
</div>
</vue-seamless-scroll>

@ -11,7 +11,7 @@
<!-- 标题 -->
<div style="margin: 10px">
<div style="font-size: 36px;font-weight: bold;line-height: 1.5;margin-top: 20px">
健康亲情和爱要比成功名利更重要
让照片留下医药学的足迹
</div>
</div>
</div>
@ -89,7 +89,6 @@ export default {
created() {
this.getPhotoTitles();
this.changePhotoTitle("公益计划");
},
mounted() {

@ -83,7 +83,7 @@
<div v-if="!$common.isEmpty(currentUser.phoneNumber)">
{{ currentUser.phoneNumber }} <span class="changeInfo" @click="changeDialog('修改手机号')"></span>
</div>
<div v-else><span class="changeInfo" @click="changeDialog('绑定手机号')"></span></div>
<div v-else><span class="changeInfo" @click="changeDialog('绑定手机号')"></span></div>
</div>
<div>
<div v-if="!$common.isEmpty(currentUser.email)">

@ -123,13 +123,7 @@ const routes = [
path: '/resourcePathList',
name: 'resourcePathList',
component: () => import('../components/admin/resourcePathList')
},
, {
path: '/drugReaction',
name: 'drugReaction',
component: () => import('../components/admin/drugReaction')
}
]
}]
},
{
path: '/verify',

@ -18,7 +18,7 @@ export default {
//前后端定义的密钥AES使用16位
cryptojs_key: "aoligeimeimaobin",
qiniuUrl: "https://upload.qiniup.com",
qiniuDownload: "http://s6ondx7d9.hd-bkt.clouddn.com/",
qiniuDownload: "http://s6qc8qkjn.hd-bkt.clouddn.com/",
favoriteVideo: "http://s6q4ppvdk.hd-bkt.clouddn.com/new.mp4",
favoriteVideo2: "http://s6q4ppvdk.hd-bkt.clouddn.com/images/340c8040d037c2f3217e8a1ade444fc8.mp4",
@ -26,7 +26,7 @@ export default {
loveWeiYan: "https://s1.ax1x.com/2022/12/04/zsKgDs.jpg",
loveMessage: "https://s1.ax1x.com/2022/12/04/zsKgDs.jpg",
lovePhoto: "https://s1.ax1x.com/2022/12/04/zsKh5V.jpg",
// loveLike: "https://cdn.cbd.int//hexo-butterfly-envelope/lib/violet.jpg",
loveLike: "https://cdn.cbd.int//hexo-butterfly-envelope/lib/violet.jpg",
loveSortId: 1,
loveLabelId: 1,
@ -34,15 +34,14 @@ export default {
friendLetterTop: "https://cdn.cbd.int/hexo-butterfly-envelope/lib/before.png",
friendLetterBottom: "https://cdn.cbd.int/hexo-butterfly-envelope/lib/after.png",
friendLetterBiLi: "https://cdn.cbd.int/hexo-butterfly-envelope/lib/line.png",
friendLetterMiddle: "http://s6ondx7d9.hd-bkt.clouddn.com/images/R-C%281%29.jpg",
friendLetterMiddle: "https://cdn.cbd.int//hexo-butterfly-envelope/lib/violet.jpg",
before_color_list: ["#ff4b2b", "#EF794F", "#67C23A", "orange", "rgb(131, 123, 199)", "#23d5ab"],
tree_hole_color: ["#ee7752", "#e73c7e", "#23a6d5", "#23d5ab", "rgb(131, 123, 199)", "#23d5ab"],
// two_poem_image: ["https://s1.ax1x.com/2022/12/04/zsKgDs.jpg",
// "https://s1.ax1x.com/2022/12/04/zsKh5V.jpg"],
two_poem_image: ["https://s11.ax1x.com/2024/01/11/pF9HX24.jpg"],
two_poem_image: ["https://s1.ax1x.com/2022/12/04/zsKgDs.jpg",
"https://s1.ax1x.com/2022/12/04/zsKh5V.jpg"],
before_color_1: "black",
after_color_1: "linear-gradient(45deg, #f43f3b, #ec008c)",

@ -52,7 +52,7 @@ export function predictReaction(mol1, mol2) {
// })
// }
// // 新增药品作用管理
// export function addTable1(data) {
// return request({
// url: '/system/table1',
@ -60,14 +60,7 @@ export function predictReaction(mol1, mol2) {
// data: data
// })
// }
export function addTable1(data) {
const url = '/system/table1';
return axios.post(url, data)
.then(response => response.data)
.catch(error => console.error(error));
}
//
// // 修改药品作用管理
// export function updateTable1(data) {
// return request({

Binary file not shown.

After

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 213 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 292 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 61 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 152 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 115 KiB

Loading…
Cancel
Save