110 lines
2.7 KiB
Vue
110 lines
2.7 KiB
Vue
|
|
<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>
|