💖💖作者:IT跃迁谷毕设展
💙💙个人简介:曾长期从事计算机专业培训教学,本人也热爱上课教学,语言擅长Java、微信小程序、Python、Golang、安卓Android等。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。平常喜欢分享一些自己开发中遇到的问题的解决办法,也喜欢交流技术,大家有技术代码这一块的问题可以问我!
💛💛想说的话:感谢大家的关注与支持!
💜💜
Java实战项目集
微信小程序实战项目集
Python实战项目集
安卓Android实战项目集
大数据实战项目集
💕💕文末获取源码
口腔医生小助手-选题背景
随着社会的进步和人们生活节奏的加快,对口腔健康的重视和需求日益增长。然而,由于医疗资源的分布不均和传统就医模式的限制,许多地区尤其是偏远地区的居民难以得到及时、有效的口腔医疗服务。此外,口腔医生也面临着信息更新不及时、患者病历管理不便等问题。
基于微信小程序的口腔医生小助手,旨在解决以上问题,提高口腔医疗服务的普及率和效率。通过这款小程序,患者可以在线预约医生,了解口腔健康信息,学习口腔保健知识,同时医生也可以实时跟踪患者的病历,提高诊断准确率和管理效率。
本课题将研究并开发这款基于微信小程序的口腔医生小助手,旨在提供一种新型的口腔健康管理方式,改善患者就医体验,优化医生工作流程,推动口腔医疗事业的发展。
口腔医生小助手-技术选型
开发语言:Java+Python
数据库:MySQL
系统架构:B/S
后端框架:SpringBoot(Spring+SpringMVC+Mybatis)+Django+Flask
前端:微信小程序+uniapp+Vue+HTML+CSS+JavaScript+jQuery
口腔医生小助手-图片展示
口腔医生小助手-登录
口腔医生小助手-注册
口腔医生小助手-首页
口腔医生小助手-保护牙齿知识
口腔医生小助手-保护牙齿知识详情
口腔医生小助手-个人中心
口腔医生小助手-代码展示
async onLoad(options) {
this.ruleForm.fankuishijian = this.$utils.getCurDateTime();
let table = uni.getStorageSync("nowTable");
// 获取用户信息
let res = await this.$api.session(table);
this.user = res.data;
// ss读取
this.ruleForm.yonghuming = this.user.yonghuming
this.ro.yonghuming = true;
this.ruleForm.xingming = this.user.xingming
this.ro.xingming = true;
this.ruleForm.lianxidianhua = this.user.lianxidianhua
this.ro.lianxidianhua = true;
// 如果有登陆,获取登陆后保存的userid
this.ruleForm.userid = uni.getStorageSync("userid")
if (options.refid) {
// 如果上一级页面传递了refid,获取改refid数据信息
this.ruleForm.refid = options.refid;
this.ruleForm.nickname = uni.getStorageSync("nickname");
}
// 如果是更新操作
if (options.id) {
this.ruleForm.id = options.id;
// 获取信息
res = await this.$api.info(`yonghufankui`, this.ruleForm.id);
this.ruleForm = res.data;
}
// 跨表
this.cross = options.cross;
if(options.cross){
var obj = uni.getStorageSync('crossObj');
for (var o in obj){
if(o=='yishenggonghao'){
this.ruleForm.yishenggonghao = obj[o];
this.ro.yishenggonghao = true;
continue;
}
if(o=='yishengxingming'){
this.ruleForm.yishengxingming = obj[o];
this.ro.yishengxingming = true;
continue;
}
if(o=='yonghuming'){
this.ruleForm.yonghuming = obj[o];
this.ro.yonghuming = true;
continue;
}
if(o=='xingming'){
this.ruleForm.xingming = obj[o];
this.ro.xingming = true;
continue;
}
if(o=='lianxidianhua'){
this.ruleForm.lianxidianhua = obj[o];
this.ro.lianxidianhua = true;
continue;
}
if(o=='wentimiaoshu'){
this.ruleForm.wentimiaoshu = obj[o];
this.ro.wentimiaoshu = true;
continue;
}
if(o=='fankuishijian'){
this.ruleForm.fankuishijian = obj[o];
this.ro.fankuishijian = true;
continue;
}
}
}
this.styleChange()
},
methods: {
styleChange() {
this.$nextTick(()=>{
// document.querySelectorAll('.app-update-pv . .uni-input-input').forEach(el=>{
// el.style.backgroundColor = this.addUpdateForm.input.content.backgroundColor
// })
})
},
// 多级联动参数
// 日长控件选择日期时间
fankuishijianConfirm(val) {
console.log(val)
this.ruleForm.fankuishijian = val.result;
this.$forceUpdate();
},
getUUID () {
return new Date().getTime();
},
async onSubmitTap() {
//跨表计算判断
var obj;
//更新跨表属性
var crossuserid;
var crossrefid;
var crossoptnum;
if(this.cross){
var statusColumnName = uni.getStorageSync('statusColumnName');
var statusColumnValue = uni.getStorageSync('statusColumnValue');
if(statusColumnName!='') {
if(!obj) {
obj = uni.getStorageSync('crossObj');
}
if(!statusColumnName.startsWith("[")) {
for (var o in obj){
if(o==statusColumnName){
obj[o] = statusColumnValue;
}
}
var table = uni.getStorageSync('crossTable');
await this.$api.update(`${table}`, obj);
} else {
crossuserid=Number(uni.getStorageSync('userid'));
crossrefid=obj['id'];
crossoptnum=uni.getStorageSync('statusColumnName');
crossoptnum=crossoptnum.replace(/\[/,"").replace(/\]/,"");
}
}
}
if(crossrefid && crossuserid) {
this.ruleForm.crossuserid=crossuserid;
this.ruleForm.crossrefid=crossrefid;
let params = {
page: 1,
limit:10,
crossuserid:crossuserid,
crossrefid:crossrefid,
}
let res = await this.$api.list(`yonghufankui`, params);
if (res.data.total >= crossoptnum) {
this.$utils.msg(uni.getStorageSync('tips'));
return false;
} else {
//跨表计算
if(this.ruleForm.id){
await this.$api.update(`yonghufankui`, this.ruleForm);
}else{
await this.$api.add(`yonghufankui`, this.ruleForm);
}
this.$utils.msgBack('提交成功');
}
} else {
//跨表计算
if(this.ruleForm.id){
await this.$api.update(`yonghufankui`, this.ruleForm);
}else{
await this.$api.add(`yonghufankui`, this.ruleForm);
}
this.$utils.msgBack('提交成功');
}
},
optionsChange(e) {
this.index = e.target.value
},
bindDateChange(e) {
this.date = e.target.value
},
getDate(type) {
const date = new Date();
let year = date.getFullYear();
let month = date.getMonth() + 1;
let day = date.getDate();
if (type === 'start') {
year = year - 60;
} else if (type === 'end') {
year = year + 2;
}
month = month > 9 ? month : '0' + month;;
day = day > 9 ? day : '0' + day;
return `${year}-${month}-${day}`;
},
toggleTab(str) {
this.$refs[str].show();
}
}
}
/*
* 读取servletContext 上下文工具类
*
*/
@Service
public class ApplicationContextKit implements ServletContextAware,InitializingBean{
private ServletContext servletContext ;
@Override
public void setServletContext(ServletContext servletContext) {
this.servletContext = servletContext;
}
/**
* afterPropertiesSet 是在什么之后执行? 启动顺序是?
* 调用PropKit(SpringBeansUtil.getBean获取方式) 会不会出现找不到bean的问题?
*
* */
@Override
public void afterPropertiesSet() throws Exception {
}
/**
* 仅在项目启动完成,并且在req请求中使用!!
* @param key
* @return
*/
public static Object getReqSession(String key){
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
return request.getSession().getAttribute(key);
}
/**
* 仅在项目启动完成,并且在req请求中使用!!
* @param key
* @return
*/
public static void clearSession(String key){
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
request.getSession().removeAttribute(key);
}
}
口腔医生小助手-文档展示
口腔医生小助手-结语
💕💕
Java实战项目集
微信小程序实战项目集
Python实战项目集
安卓Android实战项目集
大数据实战项目集
💟💟如果大家有任何疑虑,欢迎在下方位置详细交流。