3.12晚上
This commit is contained in:
parent
2831de027c
commit
4e3a30b863
@ -297,7 +297,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) {
|
||||
|
||||
@ -96,7 +96,13 @@ onMounted(() => {
|
||||
}
|
||||
|
||||
.detail-content {
|
||||
margin-top: calc(var(--status-bar-height) + 44px);
|
||||
position: fixed;
|
||||
left: 0;
|
||||
right: 0;
|
||||
top: calc(var(--status-bar-height) + 44px);
|
||||
bottom: 0;
|
||||
overflow-y: auto;
|
||||
box-sizing: border-box;
|
||||
background: #ffffff;
|
||||
padding: 0 24rpx;
|
||||
}
|
||||
@ -110,14 +116,14 @@ onMounted(() => {
|
||||
}
|
||||
|
||||
.label {
|
||||
font-size: 38rpx;
|
||||
font-size: 30rpx;
|
||||
color: #2c2c2c;
|
||||
}
|
||||
|
||||
.value {
|
||||
flex: 1;
|
||||
text-align: right;
|
||||
font-size: 38rpx;
|
||||
font-size: 30rpx;
|
||||
color: #666666;
|
||||
margin-left: 20rpx;
|
||||
word-break: break-all;
|
||||
|
||||
@ -231,7 +231,7 @@ onMounted(() => {
|
||||
border-bottom: 1rpx solid #ccc;
|
||||
|
||||
.header-cell {
|
||||
font-size: 28rpx;
|
||||
font-size: 30rpx;
|
||||
color: #333;
|
||||
font-weight: 500;
|
||||
|
||||
@ -281,7 +281,7 @@ onMounted(() => {
|
||||
border-bottom: 1rpx solid #e5e5e5;
|
||||
|
||||
.cell {
|
||||
font-size: 26rpx;
|
||||
font-size: 30rpx;
|
||||
|
||||
&.business-type {
|
||||
flex: 1;
|
||||
|
||||
@ -450,7 +450,8 @@ $card: #ffffff;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 26rpx 30rpx;
|
||||
border-bottom: 2rpx solid #f2f2f2;
|
||||
background: #fff;
|
||||
border-bottom: 2rpx solid #ccc;
|
||||
font-size: 28rpx;
|
||||
color: #333;
|
||||
|
||||
@ -458,8 +459,8 @@ $card: #ffffff;
|
||||
.name { text-align: left; }
|
||||
.time { text-align: center; color: #666; }
|
||||
.qty { text-align: center; }
|
||||
.qty.plus { color: #2dbd85; }
|
||||
.qty.minus { color: #e34d4d; }
|
||||
.qty.plus { color: #333; }
|
||||
.qty.minus { color: #333; }
|
||||
}
|
||||
|
||||
.empty-wrap { padding-top: 200rpx; display: flex; flex-direction: column; align-items: center; color: #bdbdbd; }
|
||||
|
||||
@ -1,10 +1,10 @@
|
||||
<template>
|
||||
<navBar :title="from == 'msg' ? '新的患者' : '我的患者'" />
|
||||
<navBar :title="'新的患者'" />
|
||||
<view class="new-patient-page">
|
||||
<!-- 提醒区域 -->
|
||||
<view class="reminder-section">
|
||||
<view class="reminder-icon">
|
||||
<uni-icons type="notification" size="16" color="#ff9500"></uni-icons>
|
||||
<up-image :src="tipImg" width="35rpx" height="42rpx"></up-image>
|
||||
</view>
|
||||
<text class="reminder-text">提醒: 为了避免不必要的纠纷,请您务必选择线下就诊过的患者</text>
|
||||
</view>
|
||||
@ -15,7 +15,7 @@
|
||||
<view class="pending-request" v-for="(item, index) in applyList" :key="index">
|
||||
<view class="request-item">
|
||||
<view class="avatar">
|
||||
<up-image :src="docUrl+item.photo" radius="10rpx" width="80rpx" height="80rpx" ></up-image>
|
||||
<up-image :src="docUrl+item.photo" radius="10rpx" width="120rpx" height="120rpx" ></up-image>
|
||||
</view>
|
||||
<view class="request-content">
|
||||
<view class="request-time">{{ item.createDate }}</view>
|
||||
@ -23,7 +23,7 @@
|
||||
|
||||
<view class="action-buttons">
|
||||
<button class="reject-btn" @click="applyListOperate(item.uuid,3)">拒绝</button>
|
||||
<button class="agree-btn" @click="applyListOperate(item.uuid,2)">同意</button>
|
||||
<button class="agree-btn" @click="applyListOperate(item.uuid,2,item.content)">同意</button>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
@ -36,11 +36,11 @@
|
||||
<view class="history-list">
|
||||
<view class="history-item" v-for="(item, index) in historyList" :key="index">
|
||||
<view class="avatar">
|
||||
<up-image v-if="docUrl+item.patient_photo" :src="docUrl + item.patient_photo" radius="10rpx" width="80rpx" height="80rpx"></up-image>
|
||||
<up-image v-if="docUrl+item.patient_photo" :src="docUrl + item.patient_photo" radius="10rpx" width="120rpx" height="120rpx"></up-image>
|
||||
|
||||
</view>
|
||||
<view class="history-content">
|
||||
<view class="history-time">{{ formatDate(item.createDate) }}</view>
|
||||
<view class="history-time">{{ formatDate2(item.create_date) }}</view>
|
||||
<view class="nickname">昵称:{{ item.nickname || item.patient_name }}</view>
|
||||
<view class="history-text">{{ item.content}}</view>
|
||||
<view class="status-info">
|
||||
@ -66,9 +66,11 @@ import { onLoad,onShow,onBackPress} from '@dcloudio/uni-app';
|
||||
import goImg from "@/static/go_big.png"
|
||||
import api from '@/api/api.js'
|
||||
import docUrl from "@/utils/docUrl"
|
||||
import dayjs from 'dayjs'
|
||||
import navTo from "@/utils/navTo.js"
|
||||
import empty from "@/components/empty/empty.vue"
|
||||
import navBar from "@/components/navBar/navBar.vue"
|
||||
import tipImg from "@/static/sendgroup_tishi_big.png"
|
||||
const from=ref('');
|
||||
onLoad((options) => {
|
||||
if(options.from){
|
||||
@ -167,24 +169,25 @@ const getApplyList = async () => { // 申请列表
|
||||
});
|
||||
}
|
||||
};
|
||||
const applyListOperate = async (uuid,status) => {
|
||||
const applyListOperate = async (uuid,status,content) => {
|
||||
let data = {
|
||||
uuid: uuid,
|
||||
status: status
|
||||
}
|
||||
const res = await api.applyListOperate(data);
|
||||
if(res.code === 200){
|
||||
|
||||
|
||||
uni.showToast({
|
||||
title: '操作成功',
|
||||
icon: 'none',
|
||||
duration: 1500
|
||||
});
|
||||
let nickname = content.split(',')[0].replace('我是', '');
|
||||
getApplyList();
|
||||
getRelationRecordLately();
|
||||
if(status == 2){
|
||||
navTo({
|
||||
url: `/pages_app/patientRemark/patientRemark?uuid=${uuid}`
|
||||
url: `/pages_app/patientRemark/patientRemark?uuid=${uuid}&&nickname=${nickname}`
|
||||
})
|
||||
}
|
||||
}
|
||||
@ -207,6 +210,9 @@ const formatDate = (dateString) => {
|
||||
const minutes = String(date.getMinutes()).padStart(2, '0');
|
||||
return `${year}-${month}-${day} ${hours}:${minutes}`;
|
||||
};
|
||||
const formatDate2 = (dateString) => {
|
||||
return dayjs(dateString).format('YYYY-MM-DD HH:mm:ss');
|
||||
}
|
||||
|
||||
// 获取状态文本
|
||||
const getStatusText = (status) => {
|
||||
@ -219,7 +225,7 @@ const getStatusText = (status) => {
|
||||
|
||||
const addPatient = () => {
|
||||
navTo({
|
||||
url:'/pages_app/myCode/myCode'
|
||||
url:'/pages_app/myCode/myCode?from=myPatient'
|
||||
});
|
||||
// 这里可以跳转到添加患者页面
|
||||
};
|
||||
@ -325,13 +331,15 @@ const addPatient = () => {
|
||||
|
||||
.reminder-section {
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
align-items:center;
|
||||
padding: 30rpx;
|
||||
margin-top: calc(var(--status-bar-height) + 44px);
|
||||
background-color: #ffffff;
|
||||
margin-bottom: 20rpx;
|
||||
|
||||
|
||||
.reminder-icon {
|
||||
width: 35rpx;
|
||||
height: 42rpx;
|
||||
margin-right: 20rpx;
|
||||
margin-top: 4rpx;
|
||||
}
|
||||
@ -346,11 +354,12 @@ const addPatient = () => {
|
||||
|
||||
.follow-up-section {
|
||||
background-color: #ffffff;
|
||||
margin-bottom: 20rpx;
|
||||
|
||||
|
||||
.section-title {
|
||||
padding: 30rpx 30rpx 20rpx;
|
||||
padding: 30rpx 30rpx 30rpx;
|
||||
font-size: 32rpx;
|
||||
background-color: #f0f0f0;
|
||||
font-weight: normal;
|
||||
color: #333;
|
||||
border-bottom: 1rpx solid #f0f0f0;
|
||||
@ -361,11 +370,12 @@ const addPatient = () => {
|
||||
|
||||
.request-item {
|
||||
display: flex;
|
||||
gap: 20rpx;
|
||||
|
||||
|
||||
.avatar {
|
||||
width: 80rpx;
|
||||
height: 80rpx;
|
||||
width: 120rpx;
|
||||
height: 120rpx;
|
||||
margin-top: 30rpx;
|
||||
background-color: #ffb6c1;
|
||||
border-radius: 12rpx;
|
||||
display: flex;
|
||||
@ -373,8 +383,8 @@ const addPatient = () => {
|
||||
justify-content: center;
|
||||
|
||||
.avatar-icon {
|
||||
width: 40rpx;
|
||||
height: 40rpx;
|
||||
width: 120rpx;
|
||||
height: 120rpx;
|
||||
background-color: #ffffff;
|
||||
border-radius: 50%;
|
||||
}
|
||||
@ -382,7 +392,7 @@ const addPatient = () => {
|
||||
|
||||
.request-content {
|
||||
flex: 1;
|
||||
|
||||
margin-left: 20rpx;
|
||||
.request-text {
|
||||
font-size: 28rpx;
|
||||
color: #333;
|
||||
@ -444,18 +454,19 @@ const addPatient = () => {
|
||||
margin-bottom: 120rpx; // 为底部按钮留出空间
|
||||
|
||||
.section-title {
|
||||
padding: 30rpx 30rpx 20rpx;
|
||||
padding: 30rpx 30rpx 30rpx;
|
||||
font-size: 32rpx;
|
||||
font-weight: normal;
|
||||
background-color: #f0f0f0;
|
||||
color: #333;
|
||||
border-bottom: 1rpx solid #f0f0f0;
|
||||
}
|
||||
|
||||
.history-list {
|
||||
margin-bottom: 100rpx;
|
||||
margin-bottom: 30rpx;
|
||||
.history-item {
|
||||
display: flex;
|
||||
gap: 20rpx;
|
||||
|
||||
padding: 30rpx;
|
||||
border-bottom: 1rpx solid #f0f0f0;
|
||||
|
||||
@ -464,8 +475,9 @@ const addPatient = () => {
|
||||
}
|
||||
|
||||
.avatar {
|
||||
width: 80rpx;
|
||||
height: 80rpx;
|
||||
width: 120rpx;
|
||||
height: 120rpx;
|
||||
margin-top: 30rpx;
|
||||
background-color: #ffb6c1;
|
||||
border-radius: 12rpx;
|
||||
display: flex;
|
||||
@ -482,7 +494,8 @@ const addPatient = () => {
|
||||
|
||||
.history-content {
|
||||
flex: 1;
|
||||
|
||||
margin-left: 20rpx;
|
||||
min-width: 0;
|
||||
.nickname {
|
||||
font-size: 30rpx;
|
||||
font-weight: normal;
|
||||
@ -491,9 +504,14 @@ const addPatient = () => {
|
||||
}
|
||||
|
||||
.history-text {
|
||||
display: block;
|
||||
width: 100%;
|
||||
font-size: 30rpx;
|
||||
color: #333;
|
||||
line-height: 1.4;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
margin-bottom: 20rpx;
|
||||
}
|
||||
|
||||
|
||||
@ -133,16 +133,16 @@
|
||||
<up-index-item >
|
||||
<up-index-anchor :text="group.letter" />
|
||||
<view class="group-section">
|
||||
<view class="patient-item" v-for="item in group.items" :key="item.uuid || item.id" >
|
||||
<view class="patient-item" v-for="item in group.items" :key="item.uuid || item.id" @longpress="onPatientItemLongPress(item)">
|
||||
<!-- <template v-if="item.placeholder">
|
||||
<view class="patient-avatar-placeholder">
|
||||
<uni-icons type="person" size="32" color="#ffffff" @click="goPatientDetail(item.uuid)"></uni-icons>
|
||||
</view>
|
||||
</template> -->
|
||||
|
||||
<image class="patient-avatar" :src="item._avatarLoadError ? defaultImg : item.avatarUrl" mode="aspectFill" @error="handlePatientAvatarError(item)" @click="goPatientDetail(item.uuid)"></image>
|
||||
<image class="patient-avatar" :src="item._avatarLoadError ? defaultImg : item.avatarUrl" mode="aspectFill" @error="handlePatientAvatarError(item)" @click.stop="goPatientDetail(item.uuid)"></image>
|
||||
|
||||
<view class="patient-info" @click="goPatientDetail(item.uuid)">
|
||||
<view class="patient-info" >
|
||||
<text class="patient-name">{{ item.realName }}</text>
|
||||
<view class="patient-badge" v-if="item.badge">
|
||||
<text class="badge-text">{{ item.badge }}</text>
|
||||
@ -269,21 +269,27 @@
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<unidialog :visible="visible" :content="message" @close="visible=false" @confirm="deleteFollowUpFromList"></unidialog>
|
||||
</template>
|
||||
|
||||
|
||||
<script setup>
|
||||
import { ref, getCurrentInstance, computed, nextTick, shallowRef } from 'vue';
|
||||
import { onShow,onLoad,onBackPress} from "@dcloudio/uni-app";
|
||||
import { onShow,onLoad,onBackPress,onHide} from "@dcloudio/uni-app";
|
||||
import dayImg from "@/static/visit_data11.png"
|
||||
import planImg from "@/static/visitplan.png"
|
||||
import api from '@/api/api.js';
|
||||
import navTo from '@/utils/navTo.js';
|
||||
import docUrl from '@/utils/docUrl.js';
|
||||
import unidialog from '@/components/dialog/dialog.vue'
|
||||
import defaultImg from "@/static/default.png"
|
||||
import newPatientImg from "@/static/new_patient.png"
|
||||
import delImg from "@/static/iv_delete.png"
|
||||
const patientList = ref([]);
|
||||
const visible = ref(false)
|
||||
const message = ref('')
|
||||
const selectedPatientUuid = ref('')
|
||||
const selectedPatientName = ref('')
|
||||
const patientDataLoaded = ref(false);
|
||||
const patientDataLoading = ref(false);
|
||||
const firstLetterCache = new Map();
|
||||
@ -293,6 +299,9 @@
|
||||
plus.runtime.quit();
|
||||
return true;
|
||||
});
|
||||
onHide(() => {
|
||||
patientDataLoaded.value = false;
|
||||
});
|
||||
import alertImg from "@/static/patientgif.png"
|
||||
const getNavHeight = () => {
|
||||
const systemInfo = uni.getSystemInfoSync();
|
||||
@ -318,6 +327,30 @@
|
||||
url: `/pages_app/patientSetting/patientSetting?uuid=${uuid}`
|
||||
})
|
||||
}
|
||||
const onPatientItemLongPress = (item) => {
|
||||
if (!item || !item.uuid) return
|
||||
selectedPatientUuid.value = item.uuid
|
||||
selectedPatientName.value = item.realName || ''
|
||||
message.value = `确认解除[${selectedPatientName.value || '该患者'}]的随访关系?`
|
||||
visible.value = true
|
||||
}
|
||||
const deleteFollowUpFromList = async () => {
|
||||
if (!selectedPatientUuid.value) {
|
||||
visible.value = false
|
||||
return
|
||||
}
|
||||
const res = await api.cancelRes({
|
||||
patientUuid: selectedPatientUuid.value
|
||||
})
|
||||
if (res.code == 1) {
|
||||
uni.showToast({
|
||||
title: '解除成功',
|
||||
icon: 'none'
|
||||
})
|
||||
patientListByGBK()
|
||||
}
|
||||
visible.value = false
|
||||
}
|
||||
const handlePatientAvatarError = (item) => {
|
||||
if (!item) return
|
||||
item._avatarLoadError = true
|
||||
@ -766,6 +799,15 @@
|
||||
followUpLoading.value = false;
|
||||
followUpRefreshing.value = false;
|
||||
getFollowUpList(true);
|
||||
console.log("onShow");
|
||||
console.log(activeTab.value);
|
||||
if(activeTab.value == 'list'){
|
||||
getApplyList();
|
||||
switchTab('list');
|
||||
|
||||
}else if(activeTab.value == 'plan'){
|
||||
switchTab('plan')
|
||||
}
|
||||
});
|
||||
|
||||
// 加载消息列表
|
||||
@ -946,7 +988,7 @@
|
||||
}
|
||||
|
||||
.tab-text {
|
||||
font-size: 28rpx;
|
||||
font-size: 32rpx;
|
||||
color: #999999;
|
||||
transition: color 0.3s;
|
||||
}
|
||||
|
||||
@ -18,6 +18,12 @@
|
||||
<view class="label">备注</view>
|
||||
<input class="input" v-model.trim="remark" :placeholder="groupInfo.nickname || '给患者添加备注名'" placeholder-class="ph" maxlength="20"/>
|
||||
</view>
|
||||
<view class="row" v-if="nickname">
|
||||
<view class="left">申请消息为:我是{{ nickname }}</view>
|
||||
<view class="right" @click="fillNickname">
|
||||
填入
|
||||
</view>
|
||||
</view>
|
||||
<view class="form-block" @click="goGroup">
|
||||
<view class="label">分组</view>
|
||||
<view class="iptbox readonly">
|
||||
@ -35,7 +41,7 @@
|
||||
</view>
|
||||
|
||||
<view class="bottom-bar">
|
||||
<button class="save-btn" @click="updateNicknameNote">完成</button>
|
||||
<button class="save-btn" :class="{ disabled: isRemarkEmpty }" :disabled="isRemarkEmpty" @click="updateNicknameNote">完成</button>
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
@ -52,6 +58,8 @@
|
||||
const patientCardData = ref({})
|
||||
const groupInfo = ref({})
|
||||
const noteLength = computed(() => (note.value || '').length)
|
||||
const isRemarkEmpty = computed(() => !(remark.value || '').trim())
|
||||
const nickname = ref('')
|
||||
|
||||
const goBack = () => {
|
||||
uni.navigateBack()
|
||||
@ -64,6 +72,9 @@
|
||||
|
||||
onLoad((options) => {
|
||||
patientUuid.value = options.uuid || ''
|
||||
if(options.nickname){
|
||||
nickname.value = options.nickname
|
||||
}
|
||||
})
|
||||
|
||||
onShow(() => {
|
||||
@ -84,6 +95,7 @@
|
||||
})
|
||||
}
|
||||
const updateNicknameNote = async() => {
|
||||
if (isRemarkEmpty.value) return
|
||||
const res = await api.updateNicknameNote({
|
||||
patient_uuid: patientUuid.value,
|
||||
nickname: remark.value,
|
||||
@ -104,9 +116,28 @@
|
||||
uni.showToast({ title: '保存成功', icon: 'none' })
|
||||
setTimeout(() => goBack(), 700)
|
||||
}
|
||||
const fillNickname = () => {
|
||||
remark.value = nickname.value
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.row{
|
||||
margin-top: -20rpx;
|
||||
display: flex;
|
||||
background: #fff;
|
||||
padding:0 30rpx;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
.left{
|
||||
font-size: 28rpx;
|
||||
color: #666;
|
||||
}
|
||||
.right{
|
||||
font-size: 32rpx;
|
||||
color: #3ec7c0;
|
||||
}
|
||||
}
|
||||
.contentbox{
|
||||
top: calc(var(--status-bar-height) + 44px);
|
||||
position: fixed;
|
||||
@ -193,6 +224,10 @@
|
||||
border: none;
|
||||
border-radius: 12rpx;
|
||||
font-size: 32rpx;
|
||||
&.disabled{
|
||||
background: #d9d9d9;
|
||||
color: #ffffff;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
@ -113,17 +113,17 @@
|
||||
</view>
|
||||
<unidialog
|
||||
:visible="pptVisible"
|
||||
:showCancel="false"
|
||||
:showConfirm="true"
|
||||
:confirmText="'知道了'"
|
||||
:cancelText="'取消'"
|
||||
:confirmText="'保存二维码'"
|
||||
@close="pptVisible=false"
|
||||
@confirm="pptConfirm"
|
||||
>
|
||||
<template v-slot:content>
|
||||
<view class="ppt-content">
|
||||
<image :src="contactImg" width="80rpx" height="80rpx" class="contact-img" @longpress.stop.prevent="saveContactImgToAlbum"></image>
|
||||
<image :src="contactImg" width="80rpx" height="80rpx" class="contact-img"></image>
|
||||
<view class="ppt-content-title">
|
||||
<text style="color:#666">APP下载课件为pdf格式,扫码联系平台文献助手获取原版PPT。</text>
|
||||
|
||||
</view>
|
||||
</view>
|
||||
</template>
|
||||
@ -160,6 +160,7 @@
|
||||
const page = ref(1);
|
||||
const pageSize = ref(10);
|
||||
const pptConfirm=()=>{
|
||||
saveContactImgToAlbum();
|
||||
pptVisible.value=false;
|
||||
//feedBack();
|
||||
}
|
||||
|
||||
@ -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
|
||||
}
|
||||
|
||||
|
||||
@ -7,7 +7,7 @@
|
||||
<view class="form-item">
|
||||
<view class="label">医院 <text class="required">*</text></view>
|
||||
<view class="value full">
|
||||
<input class="input" v-model.trim="form.hospital_name" placeholder="请输入医院名称" @input="onHospitalInput" @keydown.enter.prevent="onHospitalEnter" />
|
||||
<input class="input hospital-input" v-model.trim="form.hospital_name" placeholder="请输入医院名称" @input="onHospitalInput" @keydown.enter.prevent="onHospitalEnter" />
|
||||
<view v-if="showHospitalList" class="suggestion">
|
||||
<view v-for="h in hospitalList" :key="h.uuid" class="suggestion-item" @click="pickHospital(h)">
|
||||
{{ h.name }}
|
||||
@ -229,7 +229,9 @@ onLoad((options) => {
|
||||
.value-text { font-size: 30rpx; color: #333; }
|
||||
.value-text.placeholder { color: #999; }
|
||||
.input { width: 100%; font-size: 30rpx; color: #333; }
|
||||
|
||||
.hospital-input{
|
||||
padding-left:24rpx;
|
||||
}
|
||||
.suggestion { position: absolute; top: 84rpx; left: 0; right: 0; background: #fff; border: 2rpx solid #eee; border-radius: 10rpx; max-height: 480rpx; overflow-y: auto; z-index: 10; }
|
||||
.suggestion-item { padding: 20rpx 24rpx; font-size: 28rpx; color: #333; border-bottom: 2rpx solid #f5f5f5; }
|
||||
.suggestion-item:last-child { border-bottom: 0; }
|
||||
|
||||
@ -238,6 +238,7 @@ const addOutPatient=async()=>{
|
||||
title: '发布成功',
|
||||
icon: 'none'
|
||||
})
|
||||
uni.$emit('updateOutPatient');
|
||||
uni.navigateBack()
|
||||
|
||||
}
|
||||
|
||||
@ -402,6 +402,7 @@ const getTypeText = (type) => {
|
||||
}
|
||||
// 方法
|
||||
const goBack = () => {
|
||||
console.log(isEdit.value);
|
||||
if(isEdit.value){
|
||||
noticeVisible.value = true;
|
||||
}else{
|
||||
@ -558,6 +559,7 @@ onShow(() => {
|
||||
fetchList();
|
||||
uni.$on('updateOutPatient',()=>{
|
||||
isEdit.value = true;
|
||||
console.log('更新');
|
||||
})
|
||||
|
||||
})
|
||||
|
||||
@ -176,6 +176,7 @@ const addStopPatient = async () => {
|
||||
note: remark.value
|
||||
})
|
||||
if(res.code==200){
|
||||
uni.$emit('updateOutPatient')
|
||||
uni.showToast({ title: '发布成功', icon: 'none' })
|
||||
uni.navigateBack()
|
||||
}
|
||||
@ -254,7 +255,8 @@ const submit = () => {
|
||||
}
|
||||
}
|
||||
.rowbox{
|
||||
width: 250rpx;
|
||||
flex:1;
|
||||
margin-left: 30rpx;
|
||||
}
|
||||
.stop-page {
|
||||
min-height: 100vh; background: #fff;
|
||||
@ -295,12 +297,12 @@ const submit = () => {
|
||||
.title-text { font-size: 32rpx; color: #8B2316; }
|
||||
.required { color: #8B2316; margin-left: 6rpx; font-size: 28rpx; }
|
||||
|
||||
.reason-row { display: flex; gap: 20rpx; flex-wrap: wrap; }
|
||||
.reason-btn { flex: 1; text-align: center; height: 80rpx; line-height: 80rpx; border: 2rpx solid #ddd; border-radius: 10rpx; color: #666; }
|
||||
.reason-row { display: flex; flex-wrap: wrap; justify-content: space-between;}
|
||||
.reason-btn { width:150rpx; text-align: center; height: 80rpx; line-height: 80rpx; border: 2rpx solid #ddd; border-radius: 10rpx; color: #666; }
|
||||
.reason-btn.active { border-color: #8B2316; color: #8B2316; background: url('@/static/addoutpa_true.png') right bottom/39rpx 39rpx no-repeat; }
|
||||
|
||||
.add-more { color: #8B2316; font-size: 28rpx; }
|
||||
.range-row { display: flex; align-items: center; gap: 20rpx; margin-bottom: 20rpx; }
|
||||
.range-row { display: flex; align-items: center; margin-bottom: 20rpx; }
|
||||
.date-input { flex: 1; height: 80rpx; border: 2rpx solid #ddd; border-radius: 10rpx; display: flex; align-items: center; padding: 0 24rpx; color: #333; }
|
||||
.placeholder { color: #999; }
|
||||
.to-text { color: #666; }
|
||||
|
||||
BIN
static/sendgroup_tishi_big.png
Normal file
BIN
static/sendgroup_tishi_big.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.5 KiB |
Loading…
x
Reference in New Issue
Block a user