From 4703b22d2563d2d43afdd0179b1ccffcb6e4210d Mon Sep 17 00:00:00 2001
From: zoujiandong <10130823232@qq.com>
Date: Fri, 26 Sep 2025 08:52:37 +0800
Subject: [PATCH] =?UTF-8?q?9.26=E6=97=A9=E4=B8=8A=E6=8F=90=E4=BA=A4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
api/api.js | 15 +
package.json | 9 +-
pages.json | 53 ++
pages/index/index.vue | 5 +
pages/my/my.vue | 119 ++++-
pages_app/caseList/caseList.vue | 450 +++++++++++++++++
pages_app/caseRecord/caseRecord.vue | 460 ++++++++++++++++++
pages_app/checkRecord/checkRecord.vue | 341 +++++++++++++
pages_app/patientDetail/patientDetail.vue | 95 +++-
pages_app/patientMsg/patientMsg.vue | 46 +-
pages_app/searchPatient/searchPatient.vue | 98 ++++
pages_app/selectPatient/selectPatient.vue | 8 +-
.../selectPatientSingle.vue | 8 +-
pages_app/visitPlan/visitPlan.vue | 209 ++++++++
static/point_buy.png | Bin 0 -> 1918 bytes
15 files changed, 1868 insertions(+), 48 deletions(-)
create mode 100644 pages_app/caseList/caseList.vue
create mode 100644 pages_app/caseRecord/caseRecord.vue
create mode 100644 pages_app/checkRecord/checkRecord.vue
create mode 100644 pages_app/searchPatient/searchPatient.vue
create mode 100644 pages_app/visitPlan/visitPlan.vue
create mode 100644 static/point_buy.png
diff --git a/api/api.js b/api/api.js
index 20bc648..ad4a680 100644
--- a/api/api.js
+++ b/api/api.js
@@ -556,6 +556,21 @@ const api = {
toAddNickname(data){
return request('/expertAPI/toAddNickname', data, 'post', false);
},
+ caseDetail(data){
+ return request('/expertAPI/caseDetail', data, 'post', false);
+ },
+ conditionRecordList(data){
+ return request('/expertAPI/conditionRecordList', data, 'post', false);
+ },
+ addConditionRecord(data){
+ return request('/expertAPI/addConditionRecord', data, 'post', false);
+ },
+ updateConditionRecord(data){
+ return request('/expertAPI/upConditionRecord', data, 'post', false);
+ },
+ deleteConditionRecord(data){
+ return request('/expertAPI/delConditionRecord', data, 'post', false);
+ },
}
export default api
\ No newline at end of file
diff --git a/package.json b/package.json
index 9a8f25a..100d675 100644
--- a/package.json
+++ b/package.json
@@ -8,14 +8,15 @@
"license": "ISC",
"description": "",
"dependencies": {
+ "@xkit-yx/im-store-v2": "^0.8.3",
+ "@xkit-yx/utils": "^0.7.2",
"crypto-js": "^4.2.0",
- "@xkit-yx/im-store-v2": "^0.8.3",
- "@xkit-yx/utils": "^0.7.2",
- "mobx": "^6.6.1",
- "nim-web-sdk-ng": "^10.9.30",
"dayjs": "^1.11.18",
+ "image-tools": "^1.4.0",
"js-base64": "^3.7.8",
"js-md5": "^0.8.3",
+ "mobx": "^6.6.1",
+ "nim-web-sdk-ng": "^10.9.30",
"pinyin": "^4.0.0",
"uview-plus": "^3.4.73"
}
diff --git a/pages.json b/pages.json
index db493d8..398b5ff 100644
--- a/pages.json
+++ b/pages.json
@@ -594,6 +594,58 @@
}
}
},
+ {
+ "path": "caseRecord/caseRecord",
+ "style": {
+ "navigationStyle": "custom",
+ "navigationBarTitleText": "uni-app分页",
+ "app": {
+ "bounce": "none"
+ }
+ }
+ },
+ {
+ "path": "searchPatient/searchPatient",
+ "style": {
+ "navigationStyle": "custom",
+ "navigationBarTitleText": "uni-app分页",
+ "app": {
+ "bounce": "none"
+ }
+ }
+ },
+
+ {
+ "path": "visitPlan/visitPlan",
+ "style": {
+ "navigationStyle": "custom",
+ "navigationBarTitleText": "uni-app分页",
+ "app": {
+ "bounce": "none"
+ }
+ }
+ },
+
+ {
+ "path": "caseList/caseList",
+ "style": {
+ "navigationStyle": "custom",
+ "navigationBarTitleText": "uni-app分页",
+ "app": {
+ "bounce": "none"
+ }
+ }
+ },
+ {
+ "path": "checkRecord/checkRecord",
+ "style": {
+ "navigationStyle": "custom",
+ "navigationBarTitleText": "uni-app分页",
+ "app": {
+ "bounce": "none"
+ }
+ }
+ },
{
"path": "qikan/qikan",
"style": {
@@ -999,6 +1051,7 @@
}
}
},
+
{
"path": "productDetail/productDetail",
"style": {
diff --git a/pages/index/index.vue b/pages/index/index.vue
index 33dd49d..042dab4 100644
--- a/pages/index/index.vue
+++ b/pages/index/index.vue
@@ -472,6 +472,11 @@
url='/pages_course/course/course'
}else if(name=='积分商城'){
url='/pages_goods/pointMall/pointMall'
+ }else if(name=='我的福利'){
+ url='/pages_app/myWelfare/myWelfare'
+ }else if(name=='专题e站'){
+ const encoded = encodeURIComponent('https://wx.igandan.com/Esite/index.htm#/home?fromtype=doctor')
+ url=`/pages_app/webview/webview?url=${encoded}`
}else{
url='/pages_app/myApplication/myApplication'
}
diff --git a/pages/my/my.vue b/pages/my/my.vue
index fa6baa8..6cbe561 100644
--- a/pages/my/my.vue
+++ b/pages/my/my.vue
@@ -215,12 +215,35 @@
+
+
+
+
+
+
+
+
+
+ 今天是我们相识的第{{signInfo.gdxzday}}天
+ 本周共签到{{signInfo.totalDay}}次
+ 已经连续签到{{signInfo.continuous_day}}天
+ 连续签到获取更多积分
+
+ {{signInfo.news.summary}}
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages_app/caseRecord/caseRecord.vue b/pages_app/caseRecord/caseRecord.vue
new file mode 100644
index 0000000..9efc496
--- /dev/null
+++ b/pages_app/caseRecord/caseRecord.vue
@@ -0,0 +1,460 @@
+
+
+
+
+
+
+ 修改
+ 保存
+
+
+
+
+
+
+
+
+ 日期
+
+ {{ dateTime }}
+
+
+
+
+
+
+ 描述
+
+
+
+
+
+
+
+
+ 图片
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages_app/checkRecord/checkRecord.vue b/pages_app/checkRecord/checkRecord.vue
new file mode 100644
index 0000000..dbaa862
--- /dev/null
+++ b/pages_app/checkRecord/checkRecord.vue
@@ -0,0 +1,341 @@
+
+
+
+
+
+
+
+
+
+
+
+ 疾病诊断: {{ pageData.diseaseName }}
+
+
+
+
+
+
+
+ 无检查化验报告
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ pageData.des || '暂无描述' }}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/pages_app/patientDetail/patientDetail.vue b/pages_app/patientDetail/patientDetail.vue
index dd9c257..bb51ebc 100644
--- a/pages_app/patientDetail/patientDetail.vue
+++ b/pages_app/patientDetail/patientDetail.vue
@@ -47,7 +47,7 @@
-
+
描述
补充患者关键信息,方便随访患者
@@ -62,10 +62,22 @@
- 患者病史
-
- {{ patientDetail.medicalHistoryContent }}
- {{ showAllHistory ? '收起' : '展开全部' }}
+
+ 患者病史
+
+ {{ patientDetail.medicalHistoryContent }}
+ {{ showAllHistory ? '收起' : '展开全部' }}
+
+
+
+
+ 检查报告
+
+
+ {{ $u.timeFormat(item.createDate, 'yyyy-mm-dd') }}
+ {{ item.diseaseName }}
+
+
@@ -116,8 +128,8 @@
// 计算属性:完整地址
const fullAddress = computed(() => {
- const { provName, cityName, countyName, detailed_address } = patientInfo.value;
- const addressParts = [provName, cityName, countyName, detailed_address].filter(Boolean);
+ const { provName, cityName, countyName } = patientInfo.value;
+ const addressParts = [provName, cityName, countyName].filter(Boolean);
return addressParts.length > 0 ? addressParts.join('') : '未设置';
});
@@ -127,13 +139,29 @@
patient_uuid.value = options.uuid;
});
const goBack = ()=> uni.navigateBack()
- const editPatient = ()=> uni.showToast({ title:'编辑资料', icon:'none' })
- const openGroup = ()=> uni.showToast({ title:'分组', icon:'none' })
- const editDesc = ()=> uni.showToast({ title:'编辑描述', icon:'none' })
- const sendMessage = ()=>{
+ const openCase = (uuid)=>{
navTo({
- url: '/pages_app/chat/chat?patient_uuid='+patient_uuid,
+ url:'/pages_app/checkRecord/checkRecord?uuid='+uuid
})
+ }
+ const editPatient = ()=> {
+ navTo({
+ url:'/pages_app/patientSetting/patientSetting?uuid=' + patient_uuid.value
+ })
+ }
+ const openGroup = ()=>{
+ navTo({
+ url:'/pages_app/patientRemark/patientRemark?uuid=' + patientInfo.value.uuid
+ })
+ }
+ const editDesc = ()=> uni.showToast({ title:'编辑描述', icon:'none' })
+ const sendMessage = async()=>{
+ let userId=uni.getStorageSync('userInfo').uuid.toLowerCase();
+ let conversationId=userId+'|1|'+patientInfo.value.uuid.toLowerCase();
+ await uni.$UIKitStore.uiStore.selectConversation(conversationId)
+ navTo({
+ url:'/pages_chat/chat/index'
+ })
};
const nickname = ref('');
const group = ref({});
@@ -186,17 +214,48 @@
getToAddNickname();
getPatientCard();
});
- const goMakePlan = ()=> uni.navigateTo({ url:'/pages_app/visit/visit' })
- const recordIllness = ()=> uni.showToast({ title:'记录病情', icon:'none' })
+ const goMakePlan = ()=> {
+ navTo({
+ url:'/pages_app/visitPlan/visitPlan'
+ })
+ }
+ const recordIllness = ()=> {
+ navTo({
+ url:'/pages_app/caseList/caseList?uuid='+patient_uuid.value
+ })
+ }
const toggleHistory = ()=> showAllHistory.value = !showAllHistory.value
diff --git a/pages_app/selectPatient/selectPatient.vue b/pages_app/selectPatient/selectPatient.vue
index eb7a750..0817e49 100644
--- a/pages_app/selectPatient/selectPatient.vue
+++ b/pages_app/selectPatient/selectPatient.vue
@@ -20,7 +20,7 @@
-
+
@@ -31,7 +31,7 @@
- {{ p.realName || '-' }}
+ {{ p.nickname || p.realName }}
@@ -111,7 +111,9 @@
}
}
- const onSearch = () => {}
+ const onSearch = () => {
+ patientList.value = patientList.value.filter(p => p.realName.indexOf(keyword.value) !== -1 || (p.nickname && p.nickname.indexOf(keyword.value) !== -1) || p.mobile.indexOf(keyword.value) !== -1)
+ }
const goBack = () => uni.navigateBack()
const confirmSelect = () => {
const payload = { ids: selectedIds.value, list: selectedDetail.value }
diff --git a/pages_app/selectPatientSingle/selectPatientSingle.vue b/pages_app/selectPatientSingle/selectPatientSingle.vue
index f616d18..e8e2d08 100644
--- a/pages_app/selectPatientSingle/selectPatientSingle.vue
+++ b/pages_app/selectPatientSingle/selectPatientSingle.vue
@@ -20,7 +20,7 @@
-
+
@@ -31,7 +31,7 @@
- {{ p.realName || '-' }}
+ {{ p.nickname || p.realName }}
@@ -114,7 +114,9 @@
}
}
- const onSearch = () => {}
+ const onSearch = () => {
+ patientList.value = patientList.value.filter(p => p.realName.indexOf(keyword.value) !== -1 || (p.nickname && p.nickname.indexOf(keyword.value) !== -1) || p.mobile.indexOf(keyword.value) !== -1)
+ }
const goBack = () => uni.navigateBack()
const confirmSelect = (id) => {
const payload =patientList.value.find(x => x.uuid === id)
diff --git a/pages_app/visitPlan/visitPlan.vue b/pages_app/visitPlan/visitPlan.vue
new file mode 100644
index 0000000..45603df
--- /dev/null
+++ b/pages_app/visitPlan/visitPlan.vue
@@ -0,0 +1,209 @@
+
+
+
+
+
+
+ 添加
+
+
+
+
+
+
+
+
+
+
+ {{ formatDay(item.datetime) }}
+
+
+
+
+
+
+ {{ item.note }}
+ {{ item.patientname }}
+
+
+
+
+
+
+
+ 加载中...
+
+
+ 没有更多数据了
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/static/point_buy.png b/static/point_buy.png
new file mode 100644
index 0000000000000000000000000000000000000000..2b94ce8746aa90b12faaffb3417a5f961a16d779
GIT binary patch
literal 1918
zcmaJ?c{r4L93LSwjvAt{?e_NSRCBzO!Axd_p{zz4(r8uYc!x>vykq8-iG2#GY$|e;
zT&c~`N;;R4q8ybYm7}z3I#vgfO&hgp-x0NctbL#7eSgRE`Fy^|@AG@!pMAWSniyIe
z5(oqn&t+UbK7!hpI1&G{ml|Ec2P@27fcc_QEJCP+2`&;;1OuLkFc{{;LdoW^>#!4n
zpgTwAC%^=}1B(hVS&j_5g#d#N+0*DO8e~VILu@*WO^1Nd2gIW(B~mt@
z>oFP&Uva3{$Xaw1|iZYQ!Qcstl$A0a4(Qxv)~U36^*$Q3Mz%n=KnZ7uL9Xqg=`OxwwqW
zrQylYw1@kz!yenh9i*Lpu`a&&Vt!bTJ6?%fyPR8s-!t7_Pp*rfx}zaIV420r>9yHK
zc?Z{QfLHGLt<3L8+u4v*s{w(}%H|&uVmyq@-_D66bHABoE=U!`kkdHsZ1{)+@m1pc86NRZ*78xyI(cg@;`2IJ$N9
zLHY1YBgG8AH^-b~`Yz7hZ)K8yOO#MGAtBFsTW4-$Jz4mmXni$$x5?SLdREv&-a0%8SJoNBJ94?gFzFEHt3fT*9e+DhRn=FDfhFNS1^dFtUFZ;ld5SJUh(A}2Q5(9
zDeHAcijw|aW>YSMzlP76v^=Pz>(;qdZc~of2igrsUSM?8BK$-0Sd}KPF
zr?C~do8C@af5w^Am%i%p|={kAw`|J&7ief^u4mA$=Tj}TQustO%yZTCWRCl-TT#m@DBKdxF
z@IY8m!CuQ=s@J{!s{A8llIHw=B(B(9dZ&G{08%BtJx&lVgldGxU{f7QLYj=u<6*39#%
zwMn{JkT#4k&d`z*c9mxyJe}5X`ejwSDO&SNk~Kh)o<7VzKFA~4c9sT{^?9QCEr~-Z
z*>TwGEY3BPr1Z#VOA-XfofGe=>yK3*_|*AyL!@QX0gd6-2bYpLHO=+Yyq=i|AusH7
zMl1Niifh_)v6Xz*pn5@kp;*}6^$7y9GyAun6%^(Pa?U-p9IoF5o-~RJ=wjX(*z@-h
z?_LN0lY5s{{di^L4cNX$b*H7K*p<@lWzpF#DYof|?z@yhrTk
z;tPsx+n>FemG8+OtG#tf@4dD^rCXFbD7qP%AZS