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 @@ + + + + + \ 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 @@ + + + + + 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 @@ + + + + + + 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&UvaA0a4(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