From e86f8e77a71c7db45ea670177944aa7207a9444a Mon Sep 17 00:00:00 2001
From: zoujiandong <10130823232@qq.com>
Date: Thu, 4 Sep 2025 10:22:51 +0800
Subject: [PATCH] =?UTF-8?q?9.4=E4=B8=8A=E5=8D=88=E6=8F=90=E4=BA=A4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
api/api.js | 34 +++
components/dialog/dialog.vue | 6 +-
pages.json | 61 ++++-
pages/index/index.vue | 39 ++-
pages_app/followDetail/followDetail.vue | 116 ++++++++
pages_app/groupEdit/groupEdit.vue | 155 ++++++++---
pages_app/groupManage/groupManage.vue | 251 +++++++++++++++++
pages_app/patientGroup/patientGroup.vue | 34 ++-
pages_app/patientMsg/patientMsg.vue | 283 ++++++++++++++++++--
pages_app/patientRemark/patientRemark.vue | 70 ++++-
pages_app/patientSetting/patientSetting.vue | 78 ++++--
pages_app/ppt/ppt.vue | 26 +-
pages_app/schedule/schedule.vue | 21 +-
pages_app/selectPatient/selectPatient.vue | 31 ++-
pages_app/visit/visit.vue | 230 ++++++++++++++--
pages_app/visitNote/visitNote.vue | 84 ++++++
static/item_visitplan_fg.png | Bin 0 -> 1401 bytes
17 files changed, 1364 insertions(+), 155 deletions(-)
create mode 100644 pages_app/followDetail/followDetail.vue
create mode 100644 pages_app/groupManage/groupManage.vue
create mode 100644 pages_app/visitNote/visitNote.vue
create mode 100644 static/item_visitplan_fg.png
diff --git a/api/api.js b/api/api.js
index 632281b..9eeb581 100644
--- a/api/api.js
+++ b/api/api.js
@@ -340,6 +340,40 @@ const api = {
groupList(data){
return request('/expertAPI/groupListU', data, 'post', false);
},
+ patientListByGroup(data){
+ return request('/expertAPI/patientListByGroupU', data, 'post', false);
+ },
+ groupDelete(data){
+ return request('/expertAPI/deleteGroupU', data, 'post', false);
+ },
+ groupAdd(data){
+ return request('/expertAPI/addGroupU', data, 'post', false);
+ },
+ groupUpdate(data){
+ return request('/expertAPI/updateGroupU', data, 'post', false);
+ },
+ updateNicknameNote(data){
+ return request('/expertAPI/updateNicknameNote', data, 'post', false);
+ },
+ patientCard(data){
+ return request('/expertAPI/patientCard', data, 'post', false);
+ },
+ patientCardUpdateGroup(data){
+ return request('/expertAPI/patientCardUpdateGroup', data, 'post', false);
+ },
+ addFollowUps(data){
+ return request('/expertAPI/addFollowUps', data, 'post', false);
+ },
+ getFollowUp(data){
+ return request('/expertAPI/getFollowUp', data, 'post', false);
+ },
+ deleteFollowUp(data){
+ return request('/expertAPI/deleteFollowUp', data, 'post', false);
+ },
+ cancelRes(data){
+ return request('/expertAPI/cancelRes', data, 'post', false);
+ },
+
}
export default api
\ No newline at end of file
diff --git a/components/dialog/dialog.vue b/components/dialog/dialog.vue
index 8586016..51a3d7b 100644
--- a/components/dialog/dialog.vue
+++ b/components/dialog/dialog.vue
@@ -100,7 +100,7 @@
console.log('格式化后的内容数组:', lines);
return lines;
}
- const emit = defineEmits(['close'])
+ const emit = defineEmits(['close','confirm'])
@@ -109,7 +109,9 @@
}
const onconfirm=()=>{
- emit('close')
+ emit('confirm')
+ emit('close');
+
}
diff --git a/pages.json b/pages.json
index 2d8faaf..7a0f795 100644
--- a/pages.json
+++ b/pages.json
@@ -212,6 +212,7 @@
"path": "login/login",
"style": {
"navigationStyle": "custom",
+ "navigationBarRightButton":{ "hide": true},
"navigationBarTitleText": "uni-app分页",
"app": {
"bounce": "none"
@@ -222,6 +223,7 @@
"path": "video/video",
"style": {
"navigationStyle": "custom",
+ "navigationBarRightButton":{ "hide": true},
"navigationBarTitleText": "uni-app分页",
"app": {
"bounce": "none"
@@ -232,6 +234,7 @@
"path": "myPatient/myPatient",
"style": {
"navigationStyle": "custom",
+ "navigationBarRightButton":{ "hide": true},
"navigationBarTitleText": "uni-app分页",
"app": {
"bounce": "none"
@@ -242,6 +245,7 @@
"path": "patientSetting/patientSetting",
"style": {
"navigationStyle": "custom",
+ "navigationBarRightButton":{ "hide": true},
"navigationBarTitleText": "uni-app分页",
"app": {
"bounce": "none"
@@ -252,6 +256,7 @@
"path": "patientRemark/patientRemark",
"style": {
"navigationStyle": "custom",
+ "navigationBarRightButton":{ "hide": true},
"navigationBarTitleText": "uni-app分页",
"app": {
"bounce": "none"
@@ -262,6 +267,18 @@
"path": "groupEdit/groupEdit",
"style": {
"navigationStyle": "custom",
+ "navigationBarRightButton":{ "hide": true},
+ "navigationBarTitleText": "uni-app分页",
+ "app": {
+ "bounce": "none"
+ }
+ }
+ },
+ {
+ "path": "groupManage/groupManage",
+ "style": {
+ "navigationStyle": "custom",
+ "navigationBarRightButton":{ "hide": true},
"navigationBarTitleText": "uni-app分页",
"app": {
"bounce": "none"
@@ -272,17 +289,40 @@
"path": "selectPatient/selectPatient",
"style": {
"navigationStyle": "custom",
+ "navigationBarRightButton":{ "hide": true},
+ "navigationBarTitleText": "uni-app分页",
+ "app": {
+ "bounce": "none"
+ }
+ }
+ },
+ {
+ "path": "visitNote/visitNote",
+ "style": {
+ "navigationStyle": "custom",
+ "navigationBarRightButton":{ "hide": true},
+ "navigationBarTitleText": "uni-app分页",
+ "app": {
+ "bounce": "none"
+ }
+ }
+ },
+ {
+ "path": "followDetail/followDetail",
+ "style": {
+ "navigationStyle": "custom",
+ "navigationBarRightButton":{ "hide": true},
"navigationBarTitleText": "uni-app分页",
"app": {
"bounce": "none"
}
}
},
-
{
"path": "videoDetail/videoDetail",
"style": {
"navigationStyle": "custom",
+ "navigationBarRightButton":{ "hide": true},
"navigationBarTitleText": "uni-app分页",
"app": {
"bounce": "none"
@@ -293,6 +333,7 @@
"path": "myFlower/myFlower",
"style": {
"navigationStyle": "custom",
+ "navigationBarRightButton":{ "hide": true},
"navigationBarTitleText": "uni-app分页",
"app": {
"bounce": "none"
@@ -543,6 +584,7 @@
{
"path": "setting/setting",
"style": {
+
"navigationStyle": "custom",
"navigationBarTitleText": "uni-app分页",
"app": {
@@ -564,6 +606,7 @@
"path": "visit/visit",
"style": {
"navigationStyle": "custom",
+ "navigationBarRightButton":{ "hide": true},
"navigationBarTitleText": "uni-app分页",
"app": {
"bounce": "none"
@@ -574,6 +617,7 @@
"path": "patientDetail/patientDetail",
"style": {
"navigationStyle": "custom",
+ "navigationBarRightButton":{ "hide": true},
"navigationBarTitleText": "uni-app分页",
"app": {
"bounce": "none"
@@ -817,6 +861,21 @@
"backgroundColor": "#F8F8F8",
"app-plus": {
"background": "#efeff4"
+ },
+ "mp-weixin": {
+ "navigationStyle": "custom"
+ },
+ "mp-alipay": {
+ "navigationStyle": "custom"
+ },
+ "mp-baidu": {
+ "navigationStyle": "custom"
+ },
+ "mp-toutiao": {
+ "navigationStyle": "custom"
+ },
+ "mp-qq": {
+ "navigationStyle": "custom"
}
},
"condition" : { //模式配置,仅开发期间生效
diff --git a/pages/index/index.vue b/pages/index/index.vue
index 513001a..385533c 100644
--- a/pages/index/index.vue
+++ b/pages/index/index.vue
@@ -216,12 +216,12 @@
- 今天是我们相识的第211天
- 本周共签到2次
- 已经连续签到2天
+ 今天是我们相识的第{{signInfo.gdxzday}}天
+ 本周共签到{{signInfo.totalDay}}次
+ 已经连续签到{{signInfo.continuous_day}}天
连续签到获取更多积分
-
- 我是新闻内容
+
+ {{signInfo.news.summary}}
@@ -253,6 +253,7 @@
import sign from "@/static/home_qiandao_icon.png"
import signImg from "@/static/sign_in_bng_big.png"
import dayjs from 'dayjs'
+ import docUrl from "@/utils/docUrl.js"
const expertDetail=reactive({})
const showSign=ref(false)
// 定义refs
@@ -512,7 +513,23 @@
url: '/pages/guide/list'
});
};
-
+ const goNews=()=>{
+ let url=docUrl+signInfo.news.path;
+ // #ifdef H5
+ window.open(url, '_blank');
+ // #endif
+
+ // #ifdef APP-PLUS
+ plus.runtime.openURL(url);
+ // #endif
+
+ // #ifdef MP
+ const encoded = encodeURIComponent(url);
+ uni.navigateTo({
+ url: `/pages_app/webview/webview?url=${encoded}`
+ });
+ // #endif
+ }
// 点击顶部轮播图
const onBannerClick = (item,index) => {
if (!item) return;
@@ -833,7 +850,7 @@
url: '/pages_course/course/course'
});
};
-
+ const signInfo=reactive({})
// 签到点击事件
const onSignClick = async () => {
// 如果已经签到,显示提示
@@ -848,13 +865,15 @@
score_type:1
});
- if (res && res.code === 200) {
+ if (res && res.code ==1) {
// 签到成功
isSignedIn.value = true;
uni.showToast({
- title: '签到成功,获得10积分',
- icon: 'success'
+ title: '签到成功,获得'+res.bonuspoints+'积分',
+ icon: 'none'
});
+ Object.assign(signInfo,res);
+
// 显示签到弹窗
showSign.value = true;
diff --git a/pages_app/followDetail/followDetail.vue b/pages_app/followDetail/followDetail.vue
new file mode 100644
index 0000000..631c490
--- /dev/null
+++ b/pages_app/followDetail/followDetail.vue
@@ -0,0 +1,116 @@
+
+
+
+
+
+
+
+
+ 患者
+ {{ patientName }}
+
+
+ 日期
+ {{ datetime }}
+
+
+ 随访内容
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages_app/groupEdit/groupEdit.vue b/pages_app/groupEdit/groupEdit.vue
index b4fadb3..5f5d88b 100644
--- a/pages_app/groupEdit/groupEdit.vue
+++ b/pages_app/groupEdit/groupEdit.vue
@@ -2,7 +2,7 @@
- 保存
+ 保存
@@ -26,30 +26,35 @@
+
添加组患者
-
-
-
-
- {{ m.realName || '未知' }}
-
-
-
-
+
+
+
+
+ {{ m.realName || '未知' }}
+
+ ——
+
+
+
+
-
+
+
+
diff --git a/pages_app/patientGroup/patientGroup.vue b/pages_app/patientGroup/patientGroup.vue
index 5a72cf0..c98d52f 100644
--- a/pages_app/patientGroup/patientGroup.vue
+++ b/pages_app/patientGroup/patientGroup.vue
@@ -11,9 +11,11 @@
height="140rpx"
:border="false"
backgroundColor="#eeeeee"
- />
-
-
+ >
+
+ 新建
+
+
@@ -65,7 +67,7 @@
-
+
@@ -102,6 +104,7 @@ import groupDownImg from "@/static/groupup_big.png"
import api from '@/api/api.js';
import docUrl from '@/utils/docUrl'
import dayjs from 'dayjs'
+import navTo from '@/utils/navTo.js'
const list_sort = ref(0);
const group_sort = ref(0);
@@ -143,8 +146,9 @@ const toggleGroup = (idx) => {
};
const editGroup = (group) => {
- // TODO: 跳转到分组编辑页或弹窗编辑
- uni.showToast({ title: `编辑:${group.name || '未命名分组'}`, icon: 'none' });
+ navTo({
+ url: `/pages_app/groupEdit/groupEdit?uuid=${group.uuid}`
+ })
};
// 分组排序弹窗状态
@@ -173,7 +177,11 @@ const chooseGroupSort = (type) => {
closeGroupSort();
fetchGroupList();
};
-
+const addGroup = () => {
+ navTo({
+ url: `/pages_app/groupEdit/groupEdit`
+ })
+}
const toggleInnerSort = () => {
showInnerSort.value = !showInnerSort.value;
if (showInnerSort.value) showGroupSort.value = false;
@@ -250,6 +258,14 @@ const createNew = () => {
.popup-item.active .item-text {
color: #8B2316;
}
+.save-text{
+ color:#8B2316;
+ font-size: 30rpx;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+
+ }
.status-bar {
display: flex;
justify-content: space-between;
@@ -454,7 +470,9 @@ const createNew = () => {
align-items:center;
}
.imgbox{
- margin-top: 4rpx;
+ &.active{
+ margin-top: -20rpx;
+ }
margin-right: 8rpx;
}
.right-edit{
diff --git a/pages_app/patientMsg/patientMsg.vue b/pages_app/patientMsg/patientMsg.vue
index 69aa27b..1af7678 100644
--- a/pages_app/patientMsg/patientMsg.vue
+++ b/pages_app/patientMsg/patientMsg.vue
@@ -87,7 +87,7 @@
-
+
@@ -117,18 +117,49 @@
+
-
-
-
-
- {{ item.messagePreview }}
+
+
+
+
+
+
+ {{ formatDay(item.datetime) }}
+
+
+
+
+
+ {{ item.note }}
+
+
+
+
+
+
+
+
+ 加载中...
+
+
+
+
+ 没有更多数据了
-
-
+
+
@@ -175,7 +206,7 @@
diff --git a/pages_app/patientRemark/patientRemark.vue b/pages_app/patientRemark/patientRemark.vue
index d903a0e..2144d30 100644
--- a/pages_app/patientRemark/patientRemark.vue
+++ b/pages_app/patientRemark/patientRemark.vue
@@ -12,34 +12,79 @@
/>
备注
-
+
-
+
分组
-
-
+
+
描述
-
+
-
+
+
diff --git a/static/item_visitplan_fg.png b/static/item_visitplan_fg.png
new file mode 100644
index 0000000000000000000000000000000000000000..3345a2086cb14219cc01a0d4630c9d9220518967
GIT binary patch
literal 1401
zcmeAS@N?(olHy`uVBq!ia0vp^d_dg8!3HFK3}!F^DajJoh?3y^w370~qErUQl>DSr
z1<%~X^wgl##FWaylc_cg49pstArU1JzCKpT`MG+DAT@dwxdlMo3=B5*6$OdO*{LN8
zNvY|XdA3ULckfqH$V{%1*XSQL?vFu&J;D8jzb>
zlBiITo0C^;Rbi_HHrEQs1_|pcDS(xfWZNo192Makpx~Tel&WB=XQrEMU}mmhZmDNz
zYHn^~uA^XNU}&muV61O!plf7oWny4uVx#~CNh+i#(Mch>H3D2mX`VkM*2oZxQ#zd*s+860W~8or6i
znRy^VO|ULsUn|eN;*!L?
z#oXD=$upayIra%uny)Cls{UWkEsGgBf1KZMv0|F@Yx+Mw)%(W;A6&V(D7odf
z$NyD--g|sdzA4onQ2q6Oz{ZdN?Kd&E=SaIZ9sB%B
z+T(Mk;_-CO?iu<5@7XgOvaC3cFt(VOF@IE3D02|n%>3x9!<}aD#pVLn4K{Bws91
zc*^|UCjtr|8a1caDl;2POMC2-xS5vH+p2JA>7GdkZR{pCHqW2mICuK=gF1Ti4(?pS
z>VpW#8Uz_~!N7wv{j24J8tpIeJfVDXik`$S&Nmj=4ko^?SPmQvIb4
zZ&;61PdM_8X`{V|@IsaCvMsPv;EjqyRUs_wb`kli$#-5%PY!6S%_B`oZ
zx8SzZ7B{yd(@Xc=+|-sSCO_u5aDqj5r|0&Gl`n3b@Y&XTrexbhre2*d+a|WY^OI$e
zeks37$Jtfc`0w0PHcWpkTIQUx`r};cvP9iw=5p;s<;&`-^0kn!{9ba
Vs_4b4=dVD8p{J{#%Q~loCIC*J24(;N
literal 0
HcmV?d00001