ykt-team-wxapp/pages/archive/bind-his-popup.vue
2026-06-10 11:29:08 +08:00

110 lines
2.7 KiB
Vue
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<uni-popup ref="popup" type="center" :mask-click="false">
<view class="bg-white rounded overflow-hidden" style="width: 690rpx;">
<view class="flex items-center justify-between px-15 py-12 border-b">
<view class="text-lg font-semibold text-dark">档案绑定验证</view>
<uni-icons type="closeempty" :size="24" color="#999" @click="close"></uni-icons>
</view>
<view class="px-15 pt-15 text-base text-dark">
您在"{{ corpName }}"医客通平台已存在档案请选择档案绑定
</view>
<!-- <scroll-view scroll-y="true" class="popup-content-scroll"> -->
<view class="px-15 py-12">
<view class="flex items-center p-10 mb-10 rounded-sm bg-gray">
<view class="flex-grow w-0 mr-5 text-base leading-normal text-dark">
<view class="flex items-center">
<view class="flex-shrink-0 min-w-60">姓名</view>
<view>{{ hisArchive.name }}</view>
</view>
<view class="flex items-center">
<view class="flex-shrink-0 min-w-60">手机号</view>
<view>{{ hisArchive.mobile }}</view>
</view>
</view>
</view>
</view>
<view class="footer-buttons">
<button-footer hideden-shadow confirmText="确定" :showCancel="false" @confirm="confirm()" />
</view>
</view>
</uni-popup>
</template>
<script setup>
import { computed, ref, watch } from 'vue';
import api from '@/utils/api';
import { toast } from '@/utils/widget';
import ButtonFooter from '@/components/button-footer.vue';
const emits = defineEmits(['close', 'confirm'])
const props = defineProps({
corpId: {
type: String,
default: ''
},
corpName: {
type: String,
default: ''
},
customer: {
type: Object,
default: () => ({})
},
hisArchive: {
type: Object,
default: () => ({})
},
openid: {
type: String,
default: ''
},
visible: {
type: Boolean,
default: false
}
})
const popup = ref()
const loading = ref(false);
function close() {
emits('close')
}
async function confirm() {
if (loading.value) return;
loading.value = true;
const res = await api('bindHisArchive', { id: props.customer._id, corpId: props.corpId, miniAppId: props.openid });
if (res && res.success) {
await toast('绑定成功');
emits('confirm');
} else {
toast(res?.message || '绑定失败')
}
loading.value = false;
}
watch(() => props.visible, n => {
if (n) {
popup.value && popup.value.open();
} else {
popup.value && popup.value.close()
}
})
</script>
<style lang="scss" scoped>
.min-w-60 {
min-width: 120rpx;
}
.check-icon {
width: 48rpx;
height: 48rpx;
}
.popup-content-scroll {
max-height: 50vh;
}
</style>