diff --git a/pages.json b/pages.json
index a8568de..232a597 100644
--- a/pages.json
+++ b/pages.json
@@ -1709,7 +1709,7 @@
"list": [
{
"name": "",
- "path": "pages_app/newsList/newsList",
+ "path": "pages_app/patientMsg/patientMsg",
"query": ""
}
]
diff --git a/pages_app/caseList/caseList.vue b/pages_app/caseList/caseList.vue
index e788114..fc3d93d 100644
--- a/pages_app/caseList/caseList.vue
+++ b/pages_app/caseList/caseList.vue
@@ -33,10 +33,11 @@
:lower-threshold="100"
>
-
+
+
@@ -108,6 +109,7 @@ import { onShow, onLoad } from '@dcloudio/uni-app'
import navBar from '@/components/navBar/navBar.vue'
import api from '@/api/api.js'
import docUrl from '@/utils/docUrl.js'
+import empty from '@/components/empty/empty.vue'
const patientUuid = ref('')
const getRecordList = (isRefresh = false) => {
@@ -200,7 +202,7 @@ const goBack = () => {
const addRecord = () => {
// 跳转到添加记录页面
uni.navigateTo({
- url: '/pages_app/addRecord/addRecord?patientUuid=' + patientUuid.value
+ url: '/pages_app/caseRecord/caseRecord?patientUuid=' + patientUuid.value
})
}
@@ -396,7 +398,7 @@ onMounted(() => {
height: 200rpx;
border-radius: 12rpx;
overflow: hidden;
- box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.1);
+
}
.content-image {
diff --git a/pages_app/caseRecord/caseRecord.vue b/pages_app/caseRecord/caseRecord.vue
index ca2e380..987c55b 100644
--- a/pages_app/caseRecord/caseRecord.vue
+++ b/pages_app/caseRecord/caseRecord.vue
@@ -41,6 +41,7 @@
class="description-input"
v-model="des"
placeholder="请输入患者病情"
+ :adjust-position="false"
>
@@ -347,7 +348,7 @@ const saveRecord = () => {
bottom:150rpx;
z-index:1;
overflow-y: scroll;
- padding: 30rpx;
+ padding:0 30rpx;
}
.form-item {
diff --git a/pages_app/checkRecord/checkRecord.vue b/pages_app/checkRecord/checkRecord.vue
index 7ed9447..a4ea1be 100644
--- a/pages_app/checkRecord/checkRecord.vue
+++ b/pages_app/checkRecord/checkRecord.vue
@@ -229,7 +229,12 @@ onMounted(() => {
/* 主要内容区域 */
.main-content {
- margin-top: calc(var(--status-bar-height) + 44px);
+ position: fixed;
+ top: calc(var(--status-bar-height) + 44px);
+ left: 0;
+ right:0;
+ bottom: 0rpx;
+ overflow-y: scroll;
}
@@ -314,7 +319,7 @@ onMounted(() => {
height: 200rpx;
border-radius: 12rpx;
overflow: hidden;
- box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.1);
+
}
.report-image {
diff --git a/pages_app/feedback/feedback.vue b/pages_app/feedback/feedback.vue
index 65cc9ae..dd48427 100644
--- a/pages_app/feedback/feedback.vue
+++ b/pages_app/feedback/feedback.vue
@@ -3,7 +3,7 @@
-
+
@@ -14,6 +14,7 @@
v-model="feedbackText"
:maxlength="200"
placeholder="尊敬的医生您好,若在交流过程中发现患者发布不适当内容,请您及时填写相关信息,我们将第一时间处理,谢谢您的支持。"
+ :adjust-position="false"
@input="onInput"
>
-
+
@@ -106,7 +106,7 @@
}
.visit-note-page{
- min-height: 100vh; background:#f5f5f5; padding-bottom: 120rpx;
+ background:#f5f5f5; padding-bottom: 120rpx;
}
.nav-right{ display:flex; align-items:center; }
.submit-text{ color:#8B2316; font-size: 30rpx; }
diff --git a/pages_app/groupEdit/groupEdit.vue b/pages_app/groupEdit/groupEdit.vue
index 3fac475..556c597 100644
--- a/pages_app/groupEdit/groupEdit.vue
+++ b/pages_app/groupEdit/groupEdit.vue
@@ -38,8 +38,8 @@
-
- {{ m.realName || '未知' }}
+
+ {{ m.nickname || m.realName }}
——
@@ -68,11 +68,33 @@
import delImg from "@/static/iv_delete.png"
import addImg from "@/static/addpatient.png"
import api from '@/api/api.js'
+ import defaultImg from "@/static/default.png"
import unidialog from '@/components/dialog/dialog.vue'
const groupUuid = ref('')
const groupName = ref('')
const members = ref([])
const visible = ref(false)
+ const avatarErrorMap = ref({})
+ const getAvatarKey = (member = {}) => String(member.uuid || member.id || member.realName || '')
+ const normalizeAvatarUrl = (photo) => {
+ const raw = String(photo || '').trim()
+ if (!raw) return defaultImg
+ if (/^https?:\/\//i.test(raw)) return raw
+ return `${docUrl}${raw}`
+ }
+ const getMemberAvatar = (member = {}) => {
+ const key = getAvatarKey(member)
+ if (key && avatarErrorMap.value[key]) return defaultImg
+ return normalizeAvatarUrl(member.photo)
+ }
+ const handleMemberAvatarError = (member) => {
+ const key = getAvatarKey(member)
+ if (!key) return
+ avatarErrorMap.value = {
+ ...avatarErrorMap.value,
+ [key]: true
+ }
+ }
const confirmDelete = () => {
deleteGroup();
}
@@ -186,6 +208,7 @@
})
}
const patientListByGroup = async () => {
+ avatarErrorMap.value = {}
const res = await api.patientListByGroup({
group_uuid: groupUuid.value,
list_sort:0
diff --git a/pages_app/groupManage/groupManage.vue b/pages_app/groupManage/groupManage.vue
index 1b1098a..fc32703 100644
--- a/pages_app/groupManage/groupManage.vue
+++ b/pages_app/groupManage/groupManage.vue
@@ -16,7 +16,8 @@
-
+
+
+
@@ -81,7 +83,9 @@ const loadAllGroups = async () => {
try {
const res = await api.groupList();
if (res.code === 200) {
- allGroups.value = res.data || [];
+ const hiddenGroupNames = new Set(['待分组患者', '肝系医生非患教组', '肝系医生患教组']);
+ const arr = (res.data || []).filter((item) => !hiddenGroupNames.has(String(item?.name || '').trim()));
+ allGroups.value = arr;
}
} catch (e) {
console.error("加载分组列表失败:", e);
@@ -166,8 +170,17 @@ const saveGroups = () => {
font-size: 30rpx;
color: #333;
}
+.content-box{
+ position: fixed;
+ left: 0;
+ right: 0;
+ top: calc(var(--status-bar-height) + 44px);
+ bottom: 140rpx;
+ overflow-y: scroll;
+ z-index: 1;
+}
.selected-section {
- margin-top: calc(var(--status-bar-height) + 44px);
+
min-height: 300rpx;
padding: 30rpx;
border-bottom: 20rpx solid #f0f0f0;
@@ -238,7 +251,7 @@ const saveGroups = () => {
bottom: 0;
background: #fff;
border-top: 1rpx solid #f0f0f0;
- padding: 20rpx 30rpx env(safe-area-inset-bottom);
+ padding: 20rpx 30rpx 20rpx;
}
.add-btn {
diff --git a/pages_app/idcardAuth/bankCardList.vue b/pages_app/idcardAuth/bankCardList.vue
index be03538..6cf2608 100644
--- a/pages_app/idcardAuth/bankCardList.vue
+++ b/pages_app/idcardAuth/bankCardList.vue
@@ -236,8 +236,15 @@ const getBankLogo = (bankName) => {
/* 银行卡列表样式 */
.card-list {
- margin-top: calc(var(--status-bar-height) + 44px);
+ top: calc(var(--status-bar-height) + 44px);
+ position: fixed;
+ left: 0;
+ right: 0;
+ bottom: 0rpx;
+ overflow-y: scroll;
+ z-index: 1;
padding: 30rpx;
+ box-sizing: border-box;
.swipe-right {
height: 100%;
diff --git a/pages_app/idcardAuth/idcardAuth.vue b/pages_app/idcardAuth/idcardAuth.vue
index 1300005..47ba958 100644
--- a/pages_app/idcardAuth/idcardAuth.vue
+++ b/pages_app/idcardAuth/idcardAuth.vue
@@ -68,6 +68,7 @@
class="form-input"
placeholder="请输入您的姓名"
v-model="formData.name"
+ :adjust-position="false"
placeholder-style="color: #cccccc"
/>
@@ -76,6 +77,7 @@
@@ -92,6 +94,7 @@
:class="{ 'is-filled': !!formData.cardNumber }"
placeholder="仅限借记卡"
:value="cardNumberDisplay"
+ :adjust-position="false"
@input="onCardNumberInput"
placeholder-style="color: #cccccc"
/>
@@ -108,6 +111,7 @@
class="form-input card-number-input"
placeholder="银行预留手机号"
v-model="formData.mobile"
+ :adjust-position="false"
placeholder-style="color: #cccccc"
/>
@@ -297,7 +301,7 @@ const onNextStep = async () => {
}
} catch (error) {
console.error('身份验证失败:', error);
- uni.showToast({ title: '网络错误,请重试', icon: 'none' });
+ uni.showToast({ title: res.message, icon: 'none' });
isLoading.value = false;
}
} else if (currentStep.value === 2) {
@@ -390,12 +394,17 @@ const onCancelSms = () => {
diff --git a/pages_app/patientSetting/patientSetting.vue b/pages_app/patientSetting/patientSetting.vue
index ebeec00..c8f2467 100644
--- a/pages_app/patientSetting/patientSetting.vue
+++ b/pages_app/patientSetting/patientSetting.vue
@@ -163,10 +163,23 @@
.cell-right{
display: flex;
align-items: center;
- gap: 16rpx;
+ justify-content: flex-end;
+ flex: 1;
+ margin-left: 20rpx;
+ min-width: 0;
+
.cell-desc{
+ flex: 1;
+ min-width: 0;
+ display: block;
font-size: 26rpx;
color: #999;
+ overflow: hidden;
+ margin-right: 16rpx;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ text-align: right;
+
}
}
}
diff --git a/pages_app/ppt/ppt.vue b/pages_app/ppt/ppt.vue
index 2957411..82d06df 100644
--- a/pages_app/ppt/ppt.vue
+++ b/pages_app/ppt/ppt.vue
@@ -113,17 +113,17 @@
-
+
APP下载课件为pdf格式,扫码联系平台文献助手获取原版PPT。
+
@@ -160,6 +160,7 @@
const page = ref(1);
const pageSize = ref(10);
const pptConfirm=()=>{
+ saveContactImgToAlbum();
pptVisible.value=false;
//feedBack();
}
diff --git a/pages_app/pptDetail/pptDetail.vue b/pages_app/pptDetail/pptDetail.vue
index 8e8670d..9f73e08 100644
--- a/pages_app/pptDetail/pptDetail.vue
+++ b/pages_app/pptDetail/pptDetail.vue
@@ -168,7 +168,8 @@ const nativeDownloadPopupInfo = ref({
imageLeft: 0,
imageSize: 0,
buttonTop: 0,
- buttonH: 0
+ buttonH: 0,
+ leftButtonW: 0
});
let downloadLongPressTimer = null;
let downloadLongPressTriggered = false;
@@ -289,6 +290,7 @@ function createNativeDownloadPopup() {
const dialogTop = Math.round((screenH - dialogH) / 2);
const buttonH = uni.upx2px(96);
const buttonTop = dialogH - buttonH;
+ const leftButtonW = Math.round(dialogW / 2);
const titleTop = uni.upx2px(46);
const imageSize = uni.upx2px(280);
const imageTop = titleTop + uni.upx2px(72);
@@ -306,7 +308,8 @@ function createNativeDownloadPopup() {
imageLeft,
imageSize,
buttonTop,
- buttonH
+ buttonH,
+ leftButtonW
};
nativeDownloadMaskView.value = new plus.nativeObj.View('native-download-mask', {
@@ -394,10 +397,29 @@ function createNativeDownloadPopup() {
height: '1px'
});
- nativeDownloadPopupView.value.drawText('知道了', {
+ nativeDownloadPopupView.value.drawRect({ color: '#F0F0F0' }, {
+ left: leftButtonW + 'px',
+ top: buttonTop + 'px',
+ width: '1px',
+ height: buttonH + 'px'
+ });
+
+ nativeDownloadPopupView.value.drawText('取消', {
left: '0px',
top: buttonTop + 'px',
- width: dialogW + 'px',
+ width: leftButtonW + 'px',
+ height: buttonH + 'px'
+ }, {
+ size: uni.upx2px(32) + 'px',
+ color: '#666666',
+ align: 'center',
+ verticalAlign: 'middle'
+ });
+
+ nativeDownloadPopupView.value.drawText('保存二维码', {
+ left: leftButtonW + 'px',
+ top: buttonTop + 'px',
+ width: (dialogW - leftButtonW) + 'px',
height: buttonH + 'px'
}, {
size: uni.upx2px(32) + 'px',
@@ -433,18 +455,25 @@ function createNativeDownloadPopup() {
downloadLongPressTriggered = false;
return;
}
- const { relativeY } = point;
+ const { relativeX, relativeY } = point;
if (relativeY >= info.buttonTop) {
- closeNativeDownloadPopup();
+ if (relativeX >= info.leftButtonW) {
+ // 点击“保存二维码”
+ saveNativePopupImageToAlbum();
+ closeNativeDownloadPopup();
+ } else {
+ // 点击“取消”
+ closeNativeDownloadPopup();
+ }
}
};
nativeDownloadMaskView.value.addEventListener('click', handleDownloadMaskClick, false);
nativeDownloadMaskView.value.addEventListener('touchstart', handleDownloadMaskClick, false);
nativeDownloadPopupView.value.addEventListener('click', handleDownloadPanelClick, false);
- nativeDownloadPopupView.value.addEventListener('touchstart', handleDownloadPanelTouchStart, false);
- nativeDownloadPopupView.value.addEventListener('touchend', handleDownloadPanelTouchEnd, false);
- nativeDownloadPopupView.value.addEventListener('touchcancel', handleDownloadPanelTouchEnd, false);
+ // nativeDownloadPopupView.value.addEventListener('touchstart', handleDownloadPanelTouchStart, false);
+ // nativeDownloadPopupView.value.addEventListener('touchend', handleDownloadPanelTouchEnd, false);
+ // nativeDownloadPopupView.value.addEventListener('touchcancel', handleDownloadPanelTouchEnd, false);
// #endif
}
diff --git a/pages_app/qikan/qikan.vue b/pages_app/qikan/qikan.vue
index 62ddd96..8a46848 100644
--- a/pages_app/qikan/qikan.vue
+++ b/pages_app/qikan/qikan.vue
@@ -87,6 +87,7 @@
diff --git a/pages_app/reply/reply.vue b/pages_app/reply/reply.vue
index 0e5b43f..4206cdf 100644
--- a/pages_app/reply/reply.vue
+++ b/pages_app/reply/reply.vue
@@ -26,6 +26,7 @@
@@ -80,7 +81,7 @@
-
+
@@ -94,11 +95,11 @@
取消
- 确定
+ 确定
-
+
@@ -118,6 +119,7 @@
const headerYear = ref('');
const headerDay = ref('');
const patientUuid = ref('');
+ let tempDate=('');
// 返回上一页
const goBack = () => {
uni.navigateBack();
@@ -138,6 +140,12 @@
}
})
}
+
+ const confirmDate=()=>{
+ selectedDate.value = tempDate;
+ //visits.value[dealIndex.value].date = tempDate.value;
+ show.value=false;
+ }
// 提交日程
const submitSchedule = () => {
if (!selectedPatient.value) {
@@ -196,7 +204,8 @@
headerYear.value = `${y}年`;
headerDay.value = `${m}月${dd}日周${w}`;
datetime.value = `${y}-${m}-${dd}`;
- selectedDate.value = `${y}年${m}月${dd}日(星期${w})`;
+ //selectedDate.value = `${y}年${m}月${dd}日(星期${w})`;
+ tempDate= `${y}年${m}月${dd}日(星期${w})`;
}
};
diff --git a/pages_app/visit/visit.vue b/pages_app/visit/visit.vue
index 362c10b..218f14f 100644
--- a/pages_app/visit/visit.vue
+++ b/pages_app/visit/visit.vue
@@ -310,19 +310,16 @@
}
.content {
background-color: #f5f5f5;
- min-height: 100vh;
-
- }
- .content {
- background-color: #f5f5f5;
- min-height: 100vh;
+
}
+
.nav-right { display: flex; align-items: center; }
.submit-text { font-size: 32rpx; color: #8B2316; font-weight: 500; }
.form-section {
margin-top: calc(var(--status-bar-height) + 44px);
+
// margin-top: 20rpx;
display: flex; align-items: center; justify-content: space-between;
padding: 30rpx; background: #ffffff; border-bottom: 1rpx solid #f0f0f0;
diff --git a/pages_app/visitNote/visitNote.vue b/pages_app/visitNote/visitNote.vue
index 83142a1..5cadbbf 100644
--- a/pages_app/visitNote/visitNote.vue
+++ b/pages_app/visitNote/visitNote.vue
@@ -30,7 +30,7 @@
-
+
@@ -44,7 +44,7 @@
const note = ref('请近日来医院复诊、复查')
const idx = ref(0)
onLoad((options) => {
- console.log(options.patient_name==undefined)
+ console.log(options.patient_name)
patientName.value =options.patient_name ?decodeURIComponent(options.patient_name):'';
console.log(patientName.value)
if (options?.note) note.value = decodeURIComponent(options.note)
@@ -68,10 +68,14 @@