3.12提交
This commit is contained in:
parent
08e3ba22c5
commit
2831de027c
@ -711,6 +711,9 @@ const api = {
|
|||||||
getCollect(data){
|
getCollect(data){
|
||||||
return request('/expertAPI/collection', data, 'post', false);
|
return request('/expertAPI/collection', data, 'post', false);
|
||||||
},
|
},
|
||||||
|
getDiscollect(data){
|
||||||
|
return request('/expertAPI/discollection', data, 'post', false);
|
||||||
|
},
|
||||||
getGanDanFileOrder(data){
|
getGanDanFileOrder(data){
|
||||||
return request('/expertPay/getGanDanFileOrder', data, 'post', false);
|
return request('/expertPay/getGanDanFileOrder', data, 'post', false);
|
||||||
},
|
},
|
||||||
@ -720,6 +723,9 @@ const api = {
|
|||||||
polularScienceArticleListIndexNew(data){
|
polularScienceArticleListIndexNew(data){
|
||||||
return request('/expertAPI/polularScienceArticleListIndexNew', data, 'post', false);
|
return request('/expertAPI/polularScienceArticleListIndexNew', data, 'post', false);
|
||||||
},
|
},
|
||||||
|
getNewsDetail(data){
|
||||||
|
return request('/expertAPI/newsDetial', data, 'post', false);
|
||||||
|
},
|
||||||
|
|
||||||
//https://dev-app.igandan.com/app/expertPay/getGanDanFileOrder
|
//https://dev-app.igandan.com/app/expertPay/getGanDanFileOrder
|
||||||
|
|
||||||
|
|||||||
@ -1709,7 +1709,7 @@
|
|||||||
"list": [
|
"list": [
|
||||||
{
|
{
|
||||||
"name": "",
|
"name": "",
|
||||||
"path": "pages_app/patientMsg/patientMsg",
|
"path": "pages_app/newsList/newsList",
|
||||||
"query": ""
|
"query": ""
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@ -15,7 +15,7 @@ const countDown=()=>{
|
|||||||
}
|
}
|
||||||
timer.value=setInterval(()=>{
|
timer.value=setInterval(()=>{
|
||||||
count.value++;
|
count.value++;
|
||||||
if(count.value>=5){
|
if(count.value>=8){
|
||||||
clearInterval(timer.value);
|
clearInterval(timer.value);
|
||||||
plus.runtime.quit();
|
plus.runtime.quit();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -383,7 +383,8 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
onShow(() => {
|
onShow(() => {
|
||||||
polularScienceArticleListByKeywordsNew(false);
|
|
||||||
|
polularScienceArticleListByKeywordsNew(true);
|
||||||
loadGuideTags();
|
loadGuideTags();
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
@ -513,13 +514,14 @@ $padding-small: 20rpx;
|
|||||||
border-radius: $border-radius;
|
border-radius: $border-radius;
|
||||||
padding: $padding;
|
padding: $padding;
|
||||||
display: flex;
|
display: flex;
|
||||||
gap: 24rpx;
|
|
||||||
|
|
||||||
.article-image {
|
.article-image {
|
||||||
width: 260rpx;
|
width: 260rpx;
|
||||||
height: 160rpx;
|
height: 160rpx;
|
||||||
border-radius: $border-radius-small;
|
border-radius: $border-radius-small;
|
||||||
flex-shrink: 0;
|
flex-shrink: 0;
|
||||||
|
margin-right: 24rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
.article-content {
|
.article-content {
|
||||||
|
|||||||
@ -24,6 +24,7 @@
|
|||||||
<uni-swipe-action-item
|
<uni-swipe-action-item
|
||||||
v-for="(card, index) in bankCards"
|
v-for="(card, index) in bankCards"
|
||||||
:key="card.uuid"
|
:key="card.uuid"
|
||||||
|
style="margin-bottom: 20rpx;"
|
||||||
@change="onSwipeChange($event, card)"
|
@change="onSwipeChange($event, card)"
|
||||||
>
|
>
|
||||||
<template v-slot:right>
|
<template v-slot:right>
|
||||||
@ -71,7 +72,7 @@ import empty from "@/components/empty/empty.vue"
|
|||||||
import emptyBankImg from "@/static/empty_bank.png"
|
import emptyBankImg from "@/static/empty_bank.png"
|
||||||
const bankCards = ref([]);
|
const bankCards = ref([]);
|
||||||
const openedSwipeUuid = ref('');
|
const openedSwipeUuid = ref('');
|
||||||
import { onLoad,onBackPress } from '@dcloudio/uni-app';
|
import { onLoad,onBackPress,onShow } from '@dcloudio/uni-app';
|
||||||
const from = ref('');
|
const from = ref('');
|
||||||
const returnTo = ref('');
|
const returnTo = ref('');
|
||||||
onLoad((options) => {
|
onLoad((options) => {
|
||||||
@ -82,9 +83,12 @@ onLoad((options) => {
|
|||||||
returnTo.value = decodeURIComponent(options.returnTo);
|
returnTo.value = decodeURIComponent(options.returnTo);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
onShow(() => {
|
||||||
|
getBankCardList();
|
||||||
|
});
|
||||||
onBackPress(() => {
|
onBackPress(() => {
|
||||||
if(!from.value){
|
if(!from.value){
|
||||||
uni.navigateBack();
|
plus.runtime.quit();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@ -200,9 +204,6 @@ const getBankLogo = (bankName) => {
|
|||||||
return bankLogos[bankName] || bankName.charAt(0);
|
return bankLogos[bankName] || bankName.charAt(0);
|
||||||
};
|
};
|
||||||
|
|
||||||
onMounted(() => {
|
|
||||||
getBankCardList();
|
|
||||||
});
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
@ -265,7 +266,7 @@ onMounted(() => {
|
|||||||
border-radius: 16rpx;
|
border-radius: 16rpx;
|
||||||
padding: 30rpx;
|
padding: 30rpx;
|
||||||
display: flex;
|
display: flex;
|
||||||
margin-bottom: 20rpx;
|
|
||||||
align-items: center;
|
align-items: center;
|
||||||
box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.1);
|
box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.1);
|
||||||
|
|
||||||
|
|||||||
@ -75,7 +75,7 @@
|
|||||||
<swiper-item
|
<swiper-item
|
||||||
v-for="(banner, index) in bannerList"
|
v-for="(banner, index) in bannerList"
|
||||||
:key="banner.id"
|
:key="banner.id"
|
||||||
@click="playBannerVideo(banner)"
|
@click="goToNewsDetail(banner)"
|
||||||
>
|
>
|
||||||
<view class="banner-item">
|
<view class="banner-item">
|
||||||
<image
|
<image
|
||||||
@ -112,7 +112,7 @@
|
|||||||
<uni-icons type="eye" size="14" color="#999"></uni-icons>
|
<uni-icons type="eye" size="14" color="#999"></uni-icons>
|
||||||
<text>{{ news.readnum || 0 }}</text>
|
<text>{{ news.readnum || 0 }}</text>
|
||||||
<uni-icons type="hand-up" size="14" color="#999" style="margin-left: 20rpx;"></uni-icons>
|
<uni-icons type="hand-up" size="14" color="#999" style="margin-left: 20rpx;"></uni-icons>
|
||||||
<text>{{ news.likenum || 0 }}</text>
|
<text>{{ news.agreenum || 0 }}</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@ -138,13 +138,25 @@
|
|||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref, onMounted, reactive } from 'vue';
|
import { ref, onMounted, reactive } from 'vue';
|
||||||
import { onShow, onPullDownRefresh, onReachBottom } from '@dcloudio/uni-app';
|
import { onShow, onPullDownRefresh, onReachBottom,onLoad,onBackPress} from '@dcloudio/uni-app';
|
||||||
import api from '@/api/api.js';
|
import api from '@/api/api.js';
|
||||||
import docUrl from '@/utils/docUrl.js';
|
import docUrl from '@/utils/docUrl.js';
|
||||||
import navTo from "@/utils/navTo.js";
|
import navTo from "@/utils/navTo.js";
|
||||||
import navBar from '@/components/navBar/navBar.vue';
|
import navBar from '@/components/navBar/navBar.vue';
|
||||||
import dayjs from 'dayjs';
|
import dayjs from 'dayjs';
|
||||||
import searchImg from "@/static/search.png";
|
import searchImg from "@/static/search.png";
|
||||||
|
const from=ref('');
|
||||||
|
onLoad((options) => {
|
||||||
|
if(options.from){
|
||||||
|
from.value = options.from;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
onBackPress(() => {
|
||||||
|
if(!from.value){
|
||||||
|
plus.runtime.quit();
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
});
|
||||||
// Banner相关数据
|
// Banner相关数据
|
||||||
const bannerList = ref([]);
|
const bannerList = ref([]);
|
||||||
const currentBannerIndex = ref(0);
|
const currentBannerIndex = ref(0);
|
||||||
@ -222,7 +234,11 @@
|
|||||||
|
|
||||||
// 方法
|
// 方法
|
||||||
const goBack = () => {
|
const goBack = () => {
|
||||||
uni.navigateBack();
|
if(!from.value){
|
||||||
|
plus.runtime.quit();
|
||||||
|
}else{
|
||||||
|
uni.navigateBack();
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const goToSearch = () => {
|
const goToSearch = () => {
|
||||||
@ -493,10 +509,13 @@
|
|||||||
const goToNewsDetail = (item) => {
|
const goToNewsDetail = (item) => {
|
||||||
console.log('Go to news detail:', item);
|
console.log('Go to news detail:', item);
|
||||||
// Implement navigation to news detail page
|
// Implement navigation to news detail page
|
||||||
const encoded = encodeURIComponent(docUrl+item.path);
|
//const encoded = encodeURIComponent(docUrl+item.path);
|
||||||
navTo({
|
// navTo({
|
||||||
url: `/pages_app/webview/webview?url=${encoded}&type=news&share=1&sharetitle=${item.title}`
|
// url: `/pages_app/webview/webview?url=${encoded}&type=news&share=1&sharetitle=${item.title}`
|
||||||
});
|
// });
|
||||||
|
navTo({
|
||||||
|
url: `/pages_app/webview/webviewClass?url=${encodeURIComponent(docUrl+item.path+'?fromtype=doctor')}&title=新闻详情&uuid=${item.uuid}&sharetitle=${item.title}&summary=${item.summary}&type=huanjiao_news&imgPath=${encodeURIComponent(item.headImg)}`
|
||||||
|
});
|
||||||
// uni.navigateTo({
|
// uni.navigateTo({
|
||||||
// url: `/pages_app/newsDetail/newsDetail?id=${item.uuid || item.id}`
|
// url: `/pages_app/newsDetail/newsDetail?id=${item.uuid || item.id}`
|
||||||
// });
|
// });
|
||||||
|
|||||||
@ -21,7 +21,7 @@
|
|||||||
|
|
||||||
<!-- 头部信息卡片 -->
|
<!-- 头部信息卡片 -->
|
||||||
<view class="card header-card">
|
<view class="card header-card">
|
||||||
<image class="avatar" :src="docUrl+patientInfo.photo" mode="aspectFill"></image>
|
<image class="avatar" :src="avatarSrc" mode="aspectFill" @error="handleAvatarError"></image>
|
||||||
<view class="base-info">
|
<view class="base-info">
|
||||||
<view class="name-row">
|
<view class="name-row">
|
||||||
<text class="name">{{ patientInfo.realName || '未知' }}</text>
|
<text class="name">{{ patientInfo.realName || '未知' }}</text>
|
||||||
@ -110,15 +110,24 @@
|
|||||||
import recordImg from "@/static/image_backgrond_red_big.png"
|
import recordImg from "@/static/image_backgrond_red_big.png"
|
||||||
import manImg from "@/static/new_man_big.png"
|
import manImg from "@/static/new_man_big.png"
|
||||||
import womanImg from "@/static/new_woman_big.png"
|
import womanImg from "@/static/new_woman_big.png"
|
||||||
|
import defaultImg from "@/static/default.png"
|
||||||
|
|
||||||
const showAllHistory = ref(false);
|
const showAllHistory = ref(false);
|
||||||
const patientDetail = ref({});
|
const patientDetail = ref({});
|
||||||
const patient_uuid = ref('');
|
const patient_uuid = ref('');
|
||||||
const note = ref('');
|
const note = ref('');
|
||||||
|
const avatarLoadError = ref(false);
|
||||||
// 计算属性:患者基本信息
|
// 计算属性:患者基本信息
|
||||||
const patientInfo = computed(() => {
|
const patientInfo = computed(() => {
|
||||||
return patientDetail.value.patient || {};
|
return patientDetail.value.patient || {};
|
||||||
});
|
});
|
||||||
|
const avatarSrc = computed(() => {
|
||||||
|
if (avatarLoadError.value) return defaultImg;
|
||||||
|
return patientInfo.value.photo ? (docUrl + patientInfo.value.photo) : defaultImg;
|
||||||
|
});
|
||||||
|
const handleAvatarError = () => {
|
||||||
|
avatarLoadError.value = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -205,6 +214,7 @@
|
|||||||
}).then(res=>{
|
}).then(res=>{
|
||||||
if(res.code == 200){
|
if(res.code == 200){
|
||||||
patientDetail.value = res.data;
|
patientDetail.value = res.data;
|
||||||
|
avatarLoadError.value = false;
|
||||||
console.log('患者详情数据:', res.data);
|
console.log('患者详情数据:', res.data);
|
||||||
} else {
|
} else {
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
|
|||||||
@ -97,16 +97,21 @@
|
|||||||
<!-- 患者列表区域 -->
|
<!-- 患者列表区域 -->
|
||||||
<view class="patient-list" v-if="activeTab === 'list'">
|
<view class="patient-list" v-if="activeTab === 'list'">
|
||||||
|
|
||||||
<!-- <view class="listbox" style="z-index:99;" v-if="showAlert">
|
<view class="listbox alertContent" v-if="showAlert">
|
||||||
<image :src="alertImg" class="alert-img" mode="widthFix"></image>
|
<image :src="alertImg" class="alert-img" mode="widthFix"></image>
|
||||||
<image :src="delImg" class="del-img" mode="widthFix" @click="hideAlert"></image>
|
<image :src="delImg" class="del-img" mode="widthFix" @click="hideAlert"></image>
|
||||||
</view> -->
|
</view>
|
||||||
<view class="listbox">
|
<view class="listbox" v-if="patientList.length>0">
|
||||||
<view class="special-actions" >
|
<!-- 使用 up-index-list 索引组件,数据动态渲染 -->
|
||||||
|
<up-index-list :index-list="indexList" v-if="loadFinish" >
|
||||||
|
|
||||||
|
<!-- 特殊操作项 -->
|
||||||
|
<template #header>
|
||||||
|
<view class="special-actions" >
|
||||||
<view class="action-item" @click="addNewPatient">
|
<view class="action-item" @click="addNewPatient">
|
||||||
|
|
||||||
<view class="action-icon new-patient">
|
<view class="action-icon new-patient">
|
||||||
<uni-icons type="person" size="24" color="#ffffff"></uni-icons>
|
<up-image :src="newPatientImg" width="60rpx" height="60rpx" ></up-image>
|
||||||
<uni-icons type="plus" size="16" color="#ffffff" style="position: absolute; right: 8rpx; bottom: 8rpx;"></uni-icons>
|
|
||||||
</view>
|
</view>
|
||||||
<text class="action-text">新的患者<text class="new-patient-count" v-if="applyList.length > 0">(待审核{{ applyList.length }}人)</text></text>
|
<text class="action-text">新的患者<text class="new-patient-count" v-if="applyList.length > 0">(待审核{{ applyList.length }}人)</text></text>
|
||||||
<uni-icons type="right" size="20" color="#999"></uni-icons>
|
<uni-icons type="right" size="20" color="#999"></uni-icons>
|
||||||
@ -125,17 +130,20 @@
|
|||||||
<uni-icons type="right" size="20" color="#999"></uni-icons>
|
<uni-icons type="right" size="20" color="#999"></uni-icons>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<!-- 使用 up-index-list 索引组件,数据动态渲染 -->
|
</template>
|
||||||
<up-index-list :index-list="indexList" v-if="loadFinish">
|
|
||||||
<template v-for="group in patientGroups" :key="group.letter" >
|
<template v-for="group in patientGroups" :key="group.letter" >
|
||||||
<up-index-item >
|
<up-index-item >
|
||||||
<up-index-anchor :text="group.letter" v-if="group.items.length > 0"/>
|
<up-index-anchor :text="group.letter" />
|
||||||
|
|
||||||
<view class="group-section">
|
<view class="group-section">
|
||||||
<view class="patient-item" v-for="item in group.items" :key="item.uuid || item.id" v-if="group.items.length > 0">
|
<view class="patient-item" v-for="item in group.items" :key="item.uuid || item.id" >
|
||||||
<template >
|
<!-- <template v-if="item.placeholder">
|
||||||
<image class="patient-avatar" :src="item.avatarUrl" mode="aspectFill" @click="goPatientDetail(item.uuid)"></image>
|
<view class="patient-avatar-placeholder">
|
||||||
</template>
|
<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>
|
||||||
|
|
||||||
<view class="patient-info" @click="goPatientDetail(item.uuid)">
|
<view class="patient-info" @click="goPatientDetail(item.uuid)">
|
||||||
<text class="patient-name">{{ item.realName }}</text>
|
<text class="patient-name">{{ item.realName }}</text>
|
||||||
<view class="patient-badge" v-if="item.badge">
|
<view class="patient-badge" v-if="item.badge">
|
||||||
@ -143,16 +151,40 @@
|
|||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="patient-status">
|
<view class="patient-status">
|
||||||
<up-image :src="editImg" width="35rpx" height="35rpx" @click.stop="editPatient(item.uuid)"></up-image>
|
<uni-icons type="compose" size="20" color="#8B2316" @click.stop="editPatient(item.uuid)"></uni-icons>
|
||||||
<text class="follow-date">随访于{{ item.joinDateYMD }}</text>
|
<text class="follow-date">随访于{{ item.joinDateYMD }}</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<empty v-if="group.items.length === 0" :emptyDesc="'您暂无随访患者'"></empty>
|
|
||||||
</view>
|
</view>
|
||||||
</up-index-item>
|
</up-index-item>
|
||||||
</template>
|
</template>
|
||||||
</up-index-list>
|
</up-index-list>
|
||||||
<empty v-if="patientList.length === 0"></empty>
|
|
||||||
|
</view>
|
||||||
|
<view class="listbox" v-if="patientList.length === 0">
|
||||||
|
<view class="special-actions" >
|
||||||
|
<view class="action-item" @click="addNewPatient">
|
||||||
|
<view class="action-icon new-patient">
|
||||||
|
<up-image :src="newPatientImg" width="60rpx" height="60rpx" ></up-image>
|
||||||
|
</view>
|
||||||
|
<text class="action-text">新的患者<text class="new-patient-count" v-if="applyList.length > 0">(待审核{{ applyList.length }}人)</text></text>
|
||||||
|
<uni-icons type="right" size="20" color="#999"></uni-icons>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="action-item" @click="managePatientGroups">
|
||||||
|
<view class="action-icon group-icon">
|
||||||
|
<view class="grid-icon">
|
||||||
|
<view class="grid-item"></view>
|
||||||
|
<view class="grid-item"></view>
|
||||||
|
<view class="grid-item"></view>
|
||||||
|
<view class="grid-item"></view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<text class="action-text">患者分组 <text class="new-patient-count" v-if="patientList.length > 0">(随访{{ patientList.length }}人)</text></text>
|
||||||
|
<uni-icons type="right" size="20" color="#999"></uni-icons>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<empty ></empty>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="plan" v-if="activeTab === 'plan'">
|
<view class="plan" v-if="activeTab === 'plan'">
|
||||||
@ -247,20 +279,23 @@
|
|||||||
import { onShow,onLoad,onBackPress} from "@dcloudio/uni-app";
|
import { onShow,onLoad,onBackPress} from "@dcloudio/uni-app";
|
||||||
import dayImg from "@/static/visit_data11.png"
|
import dayImg from "@/static/visit_data11.png"
|
||||||
import planImg from "@/static/visitplan.png"
|
import planImg from "@/static/visitplan.png"
|
||||||
import editImg from "@/static/edit_patitent.png"
|
|
||||||
import api from '@/api/api.js';
|
import api from '@/api/api.js';
|
||||||
import navTo from '@/utils/navTo.js';
|
import navTo from '@/utils/navTo.js';
|
||||||
import docUrl from '@/utils/docUrl.js';
|
import docUrl from '@/utils/docUrl.js';
|
||||||
|
import defaultImg from "@/static/default.png"
|
||||||
|
import newPatientImg from "@/static/new_patient.png"
|
||||||
|
import delImg from "@/static/iv_delete.png"
|
||||||
const patientList = ref([]);
|
const patientList = ref([]);
|
||||||
const showAlert = ref(false);
|
|
||||||
const patientDataLoaded = ref(false);
|
const patientDataLoaded = ref(false);
|
||||||
const patientDataLoading = ref(false);
|
const patientDataLoading = ref(false);
|
||||||
const firstLetterCache = new Map();
|
const firstLetterCache = new Map();
|
||||||
|
const showAlert = ref(false);
|
||||||
const navHeight = ref(40);
|
const navHeight = ref(40);
|
||||||
onBackPress(() => {
|
onBackPress(() => {
|
||||||
plus.runtime.quit();
|
plus.runtime.quit();
|
||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
|
import alertImg from "@/static/patientgif.png"
|
||||||
const getNavHeight = () => {
|
const getNavHeight = () => {
|
||||||
const systemInfo = uni.getSystemInfoSync();
|
const systemInfo = uni.getSystemInfoSync();
|
||||||
console.log(2223);
|
console.log(2223);
|
||||||
@ -271,17 +306,9 @@
|
|||||||
import pinyin from 'pinyin';
|
import pinyin from 'pinyin';
|
||||||
import dayjs from 'dayjs'
|
import dayjs from 'dayjs'
|
||||||
import lineImg from "@/static/item_visitplan_fg.png"
|
import lineImg from "@/static/item_visitplan_fg.png"
|
||||||
import empty from '@/components/empty/empty.vue'
|
|
||||||
import defaultImg from "@/static/default.png"
|
|
||||||
import delImg from "@/static/iv_delete.png"
|
|
||||||
const loadFinish = ref(false);
|
const loadFinish = ref(false);
|
||||||
import alertImg from "@/static/patientgif.png"
|
|
||||||
//import ConversationList from './conversation-list/index.vue'
|
//import ConversationList from './conversation-list/index.vue'
|
||||||
const title = ref('患者消息');
|
const title = ref('患者消息');
|
||||||
const hideAlert = () => {
|
|
||||||
showAlert.value = false;
|
|
||||||
uni.setStorageSync('hasAlert', true);
|
|
||||||
}
|
|
||||||
const goPatientDetail = (uuid) => {
|
const goPatientDetail = (uuid) => {
|
||||||
navTo({
|
navTo({
|
||||||
url: `/pages_app/patientDetail/patientDetail?uuid=${uuid}`
|
url: `/pages_app/patientDetail/patientDetail?uuid=${uuid}`
|
||||||
@ -293,6 +320,10 @@
|
|||||||
url: `/pages_app/patientSetting/patientSetting?uuid=${uuid}`
|
url: `/pages_app/patientSetting/patientSetting?uuid=${uuid}`
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
const handlePatientAvatarError = (item) => {
|
||||||
|
if (!item) return
|
||||||
|
item._avatarLoadError = true
|
||||||
|
}
|
||||||
const goCode = () => {
|
const goCode = () => {
|
||||||
navTo({
|
navTo({
|
||||||
url: `/pages_app/myCode/myCode`
|
url: `/pages_app/myCode/myCode`
|
||||||
@ -403,10 +434,8 @@
|
|||||||
}
|
}
|
||||||
const letters = Array.from(map.keys()).sort((a,b) => a.localeCompare(b));
|
const letters = Array.from(map.keys()).sort((a,b) => a.localeCompare(b));
|
||||||
patientGroups.value = letters.map(l => ({ letter: l, items: map.get(l) }));
|
patientGroups.value = letters.map(l => ({ letter: l, items: map.get(l) }));
|
||||||
console.log(patientGroups.value)
|
|
||||||
rebuildIndexList();
|
rebuildIndexList();
|
||||||
if(source.length === 0){
|
if(patientList.value.length==0){
|
||||||
console.log(111122)
|
|
||||||
indexList.value=[]
|
indexList.value=[]
|
||||||
}
|
}
|
||||||
nextTick(() => {
|
nextTick(() => {
|
||||||
@ -491,6 +520,10 @@
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
const hideAlert = () => {
|
||||||
|
showAlert.value = false;
|
||||||
|
uni.setStorageSync('hasAlert', true);
|
||||||
|
}
|
||||||
const patientListByGBK = async () => {
|
const patientListByGBK = async () => {
|
||||||
if (patientDataLoading.value) return;
|
if (patientDataLoading.value) return;
|
||||||
patientDataLoading.value = true;
|
patientDataLoading.value = true;
|
||||||
@ -634,15 +667,14 @@
|
|||||||
break;
|
break;
|
||||||
case 'list':
|
case 'list':
|
||||||
title.value = '患者列表';
|
title.value = '患者列表';
|
||||||
// if (patientDataLoaded.value) {
|
if (patientDataLoaded.value) {
|
||||||
// loadFinish.value = true;
|
loadFinish.value = true;
|
||||||
// break;
|
break;
|
||||||
// }
|
}
|
||||||
uni.showLoading({
|
uni.showLoading({
|
||||||
title: '加载中...',
|
title: '加载中...',
|
||||||
mask: true
|
mask: true
|
||||||
});
|
});
|
||||||
getApplyList();
|
|
||||||
patientListByGBK();
|
patientListByGBK();
|
||||||
// 显示患者列表
|
// 显示患者列表
|
||||||
break;
|
break;
|
||||||
@ -752,19 +784,23 @@
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.alert-img{
|
.alertContent{
|
||||||
position: absolute;
|
z-index:99;
|
||||||
top:0;
|
position: fixed;
|
||||||
width: 100%;
|
bottom: 100rpx;
|
||||||
bottom: 0;
|
width:100%;
|
||||||
}
|
top:calc(var(--status-bar-height) + 44px);
|
||||||
.del-img{
|
.alert-img{
|
||||||
position: absolute;
|
width:100%;
|
||||||
top: 280rpx;
|
}
|
||||||
z-index: 999;
|
.del-img{
|
||||||
right: 100rpx;
|
position: absolute;
|
||||||
width: 48rpx;
|
top: 280rpx;
|
||||||
height: 48rpx;
|
z-index: 999;
|
||||||
|
right: 100rpx;
|
||||||
|
width: 48rpx;
|
||||||
|
height: 48rpx;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.save-btn {
|
.save-btn {
|
||||||
font-size: 32rpx;
|
font-size: 32rpx;
|
||||||
@ -912,7 +948,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.tab-text {
|
.tab-text {
|
||||||
font-size: 32rpx;
|
font-size: 28rpx;
|
||||||
color: #999999;
|
color: #999999;
|
||||||
transition: color 0.3s;
|
transition: color 0.3s;
|
||||||
}
|
}
|
||||||
@ -944,21 +980,19 @@
|
|||||||
|
|
||||||
// 患者列表样式
|
// 患者列表样式
|
||||||
.patient-list {
|
.patient-list {
|
||||||
|
:deep(.u-index-list__letter){
|
||||||
|
top:50%!important;
|
||||||
|
}
|
||||||
:deep(.u-index-list__scroll-view){
|
:deep(.u-index-list__scroll-view){
|
||||||
height:calc(100vh - var(--status-bar-height) - 44px - 103rpx);
|
height:calc(100vh - var(--status-bar-height) - 44px - 103rpx);
|
||||||
}
|
}
|
||||||
:deep(.hide-index-bar .u-index-list__sidebar),
|
|
||||||
:deep(.hide-index-bar .u-index-list__index-box) {
|
|
||||||
display: none !important;
|
|
||||||
}
|
|
||||||
// position: fixed;
|
// position: fixed;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|
||||||
margin-top:calc(var(--status-bar-height) + 44px);
|
margin-top:calc(var(--status-bar-height) + 44px);
|
||||||
height:calc(100vh - var(--status-bar-height) - 44px - 103rpx);
|
height:calc(100vh - var(--status-bar-height) - 44px - 103rpx);
|
||||||
overflow-y: scroll;
|
overflow-y: scroll;
|
||||||
display: flex;
|
|
||||||
flex-direction:column;
|
|
||||||
background-color: #ffffff;
|
background-color: #ffffff;
|
||||||
|
|
||||||
bottom: 103rpx;
|
bottom: 103rpx;
|
||||||
@ -6,9 +6,7 @@
|
|||||||
left-icon="left"
|
left-icon="left"
|
||||||
:title="title"
|
:title="title"
|
||||||
@clickLeft="goBack"
|
@clickLeft="goBack"
|
||||||
|
|
||||||
color="#8B2316"
|
color="#8B2316"
|
||||||
|
|
||||||
:border="false"
|
:border="false"
|
||||||
backgroundColor="#eee"
|
backgroundColor="#eee"
|
||||||
>
|
>
|
||||||
@ -97,7 +95,7 @@
|
|||||||
<!-- 患者列表区域 -->
|
<!-- 患者列表区域 -->
|
||||||
<view class="patient-list" v-show="activeTab === 'list'">
|
<view class="patient-list" v-show="activeTab === 'list'">
|
||||||
|
|
||||||
<view class="listbox" style="z-index:99;" v-if="showAlert">
|
<view class="listbox alertContent" v-if="showAlert">
|
||||||
<image :src="alertImg" class="alert-img" mode="widthFix"></image>
|
<image :src="alertImg" class="alert-img" mode="widthFix"></image>
|
||||||
<image :src="delImg" class="del-img" mode="widthFix" @click="hideAlert"></image>
|
<image :src="delImg" class="del-img" mode="widthFix" @click="hideAlert"></image>
|
||||||
</view>
|
</view>
|
||||||
@ -109,9 +107,9 @@
|
|||||||
<template #header>
|
<template #header>
|
||||||
<view class="special-actions" >
|
<view class="special-actions" >
|
||||||
<view class="action-item" @click="addNewPatient">
|
<view class="action-item" @click="addNewPatient">
|
||||||
|
|
||||||
<view class="action-icon new-patient">
|
<view class="action-icon new-patient">
|
||||||
<uni-icons type="person" size="24" color="#ffffff"></uni-icons>
|
<up-image :src="newPatientImg" width="60rpx" height="60rpx" ></up-image>
|
||||||
<uni-icons type="plus" size="16" color="#ffffff" style="position: absolute; right: 8rpx; bottom: 8rpx;"></uni-icons>
|
|
||||||
</view>
|
</view>
|
||||||
<text class="action-text">新的患者<text class="new-patient-count" v-if="applyList.length > 0">(待审核{{ applyList.length }}人)</text></text>
|
<text class="action-text">新的患者<text class="new-patient-count" v-if="applyList.length > 0">(待审核{{ applyList.length }}人)</text></text>
|
||||||
<uni-icons type="right" size="20" color="#999"></uni-icons>
|
<uni-icons type="right" size="20" color="#999"></uni-icons>
|
||||||
@ -165,8 +163,7 @@
|
|||||||
<view class="special-actions" >
|
<view class="special-actions" >
|
||||||
<view class="action-item" @click="addNewPatient">
|
<view class="action-item" @click="addNewPatient">
|
||||||
<view class="action-icon new-patient">
|
<view class="action-icon new-patient">
|
||||||
<uni-icons type="person" size="24" color="#ffffff"></uni-icons>
|
<up-image :src="newPatientImg" width="60rpx" height="60rpx" ></up-image>
|
||||||
<uni-icons type="plus" size="16" color="#ffffff" style="position: absolute; right: 8rpx; bottom: 8rpx;"></uni-icons>
|
|
||||||
</view>
|
</view>
|
||||||
<text class="action-text">新的患者<text class="new-patient-count" v-if="applyList.length > 0">(待审核{{ applyList.length }}人)</text></text>
|
<text class="action-text">新的患者<text class="new-patient-count" v-if="applyList.length > 0">(待审核{{ applyList.length }}人)</text></text>
|
||||||
<uni-icons type="right" size="20" color="#999"></uni-icons>
|
<uni-icons type="right" size="20" color="#999"></uni-icons>
|
||||||
@ -284,6 +281,8 @@
|
|||||||
import navTo from '@/utils/navTo.js';
|
import navTo from '@/utils/navTo.js';
|
||||||
import docUrl from '@/utils/docUrl.js';
|
import docUrl from '@/utils/docUrl.js';
|
||||||
import defaultImg from "@/static/default.png"
|
import defaultImg from "@/static/default.png"
|
||||||
|
import newPatientImg from "@/static/new_patient.png"
|
||||||
|
import delImg from "@/static/iv_delete.png"
|
||||||
const patientList = ref([]);
|
const patientList = ref([]);
|
||||||
const patientDataLoaded = ref(false);
|
const patientDataLoaded = ref(false);
|
||||||
const patientDataLoading = ref(false);
|
const patientDataLoading = ref(false);
|
||||||
@ -783,6 +782,24 @@
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
.alertContent{
|
||||||
|
z-index:99;
|
||||||
|
position: fixed;
|
||||||
|
bottom: 100rpx;
|
||||||
|
width:100%;
|
||||||
|
top:calc(var(--status-bar-height) + 44px);
|
||||||
|
.alert-img{
|
||||||
|
width:100%;
|
||||||
|
}
|
||||||
|
.del-img{
|
||||||
|
position: absolute;
|
||||||
|
top: 280rpx;
|
||||||
|
z-index: 999;
|
||||||
|
right: 100rpx;
|
||||||
|
width: 48rpx;
|
||||||
|
height: 48rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
.save-btn {
|
.save-btn {
|
||||||
font-size: 32rpx;
|
font-size: 32rpx;
|
||||||
color: #8b2316;
|
color: #8b2316;
|
||||||
@ -973,8 +990,7 @@
|
|||||||
margin-top:calc(var(--status-bar-height) + 44px);
|
margin-top:calc(var(--status-bar-height) + 44px);
|
||||||
height:calc(100vh - var(--status-bar-height) - 44px - 103rpx);
|
height:calc(100vh - var(--status-bar-height) - 44px - 103rpx);
|
||||||
overflow-y: scroll;
|
overflow-y: scroll;
|
||||||
display: flex;
|
|
||||||
flex-direction:column;
|
|
||||||
background-color: #ffffff;
|
background-color: #ffffff;
|
||||||
|
|
||||||
bottom: 103rpx;
|
bottom: 103rpx;
|
||||||
|
|||||||
1250
pages_app/webview/webviewClass copy 2.vue
Normal file
1250
pages_app/webview/webviewClass copy 2.vue
Normal file
File diff suppressed because it is too large
Load Diff
1177
pages_app/webview/webviewClass copy.vue
Normal file
1177
pages_app/webview/webviewClass copy.vue
Normal file
File diff suppressed because it is too large
Load Diff
@ -26,23 +26,34 @@
|
|||||||
</uni-nav-bar>
|
</uni-nav-bar>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="bottom-box" >
|
<web-view
|
||||||
<view class="bottom-cell">
|
v-if="safeUrl"
|
||||||
<image class="bottom-cell-img" :src="readImg" />
|
:src="safeUrl"
|
||||||
|
:webview-styles="webviewStyles"
|
||||||
|
></web-view>
|
||||||
|
<view class="bottom-box">
|
||||||
|
<view class="bottom-cell">
|
||||||
|
<image class="bottom-cell-img" :src="readImg" />
|
||||||
<text class="bottom-cell-text">{{ readnum }}</text>
|
<text class="bottom-cell-text">{{ readnum }}</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="bottom-cell" @click="toggleAgree">
|
<view class="bottom-cell" @click="toggleAgree">
|
||||||
<image class="bottom-cell-img" :src="isAgree==1?likeImg:dislikeImg" />
|
<image
|
||||||
|
class="bottom-cell-img"
|
||||||
|
:src="isAgree == 1 ? likeImg : dislikeImg"
|
||||||
|
/>
|
||||||
<text class="bottom-cell-text">{{ agreenum }}</text>
|
<text class="bottom-cell-text">{{ agreenum }}</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="bottom-cell" @click="toggleCollect">
|
<view class="bottom-cell" @click="toggleCollect">
|
||||||
<image class="bottom-cell-img" :src="isCollection==1?collectImg:discollectImg" />
|
<image
|
||||||
|
class="bottom-cell-img"
|
||||||
|
:src="isCollection == 1 ? collectImg : discollectImg"
|
||||||
|
/>
|
||||||
<text class="bottom-cell-text">收藏</text>
|
<text class="bottom-cell-text">收藏</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="bottom-cell" @click="shareToggle">
|
<view class="bottom-cell" @click="shareToggle">
|
||||||
<image class="bottom-cell-img" :src="shareImgBottom" />
|
<image class="bottom-cell-img" :src="shareImgBottom" />
|
||||||
<text class="bottom-cell-text">分享</text>
|
<text class="bottom-cell-text">分享</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<uni-popup ref="shareRef" type="bottom" safeArea backgroundColor="#fff">
|
<uni-popup ref="shareRef" type="bottom" safeArea backgroundColor="#fff">
|
||||||
<view class="share-popup">
|
<view class="share-popup">
|
||||||
@ -92,6 +103,7 @@ import dislikeImg from "@/static/argee_no.png";
|
|||||||
import shareImgBottom from "@/static/icon_share.png";
|
import shareImgBottom from "@/static/icon_share.png";
|
||||||
|
|
||||||
const title = ref("新闻详情");
|
const title = ref("新闻详情");
|
||||||
|
const type = ref("");
|
||||||
const safeUrl = ref("");
|
const safeUrl = ref("");
|
||||||
const backgroundColor = ref("");
|
const backgroundColor = ref("");
|
||||||
const hasBg = ref(false);
|
const hasBg = ref(false);
|
||||||
@ -106,93 +118,168 @@ const readnum = ref(0);
|
|||||||
const agreenum = ref(0);
|
const agreenum = ref(0);
|
||||||
const isAgree = ref(0);
|
const isAgree = ref(0);
|
||||||
const user_uuid = ref("");
|
const user_uuid = ref("");
|
||||||
const bottomHeight=ref(65);
|
const bottomHeight = ref(65);
|
||||||
|
const NAV_BAR_HEIGHT_PX = 44;
|
||||||
|
const WEBVIEW_BOTTOM_PX = 65;
|
||||||
|
const webviewTopPx = ref(88);
|
||||||
|
const webviewHeightPx = ref(600);
|
||||||
|
|
||||||
|
const webviewStyles = ref({
|
||||||
|
width: "100%",
|
||||||
|
top: `${webviewTopPx.value}px`,
|
||||||
|
height: `${webviewHeightPx.value}px`,
|
||||||
|
bottom: `65px`,
|
||||||
|
});
|
||||||
|
const applyWebviewLayout = () => {
|
||||||
|
|
||||||
|
|
||||||
|
};
|
||||||
|
const initWebviewLayout = () => {
|
||||||
|
const resInfo = uni.getSystemInfoSync();
|
||||||
|
const statusBarHeight = Number(resInfo.statusBarHeight || 0);
|
||||||
|
const windowHeight = Number(resInfo.windowHeight || 0);
|
||||||
|
webviewTopPx.value = Math.round(statusBarHeight + NAV_BAR_HEIGHT_PX);
|
||||||
|
webviewHeightPx.value = Math.max(
|
||||||
|
200,
|
||||||
|
Math.round(windowHeight - webviewTopPx.value - WEBVIEW_BOTTOM_PX)
|
||||||
|
);
|
||||||
|
webviewStyles.value = {
|
||||||
|
width: "100%",
|
||||||
|
top: `${webviewTopPx.value}px`,
|
||||||
|
height: `${webviewHeightPx.value}px`,
|
||||||
|
bottom: `${WEBVIEW_BOTTOM_PX}px`,
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
const getCollect = () => {
|
const getCollect = () => {
|
||||||
api.getCollect({
|
api
|
||||||
other_uuid: uuid.value,
|
.getCollect({
|
||||||
user_uuid: user_uuid.value,
|
other_uuid: uuid.value,
|
||||||
type: 2,
|
user_uuid: user_uuid.value,
|
||||||
}).then(res => {
|
type: type.value=='huanjiao_news'?1:2,
|
||||||
if(res.code == 200) {
|
})
|
||||||
|
.then((res) => {
|
||||||
|
if (res.code == 200) {
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: "收藏成功",
|
title: "收藏成功",
|
||||||
icon: "none",
|
icon: "none",
|
||||||
});
|
});
|
||||||
getKePuCollection();
|
if (type.value == "huanjiao_news") {
|
||||||
}
|
getNewsDetail();
|
||||||
});
|
} else {
|
||||||
|
getKePuCollection();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
};
|
};
|
||||||
const getDiscollect = () => {
|
const getDiscollect = () => {
|
||||||
api.getDiscollect({
|
api
|
||||||
other_uuid: uuid.value,
|
.getDiscollect({
|
||||||
user_uuid: user_uuid.value,
|
other_uuid: uuid.value,
|
||||||
type: 2,
|
user_uuid: user_uuid.value,
|
||||||
}).then(res => {
|
type: type.value=='huanjiao_news'?1:2,
|
||||||
console.log(res);
|
})
|
||||||
if(res.code == 200) {
|
.then((res) => {
|
||||||
uni.showToast({
|
console.log(res);
|
||||||
title: "取消收藏成功",
|
if (res.code == 200) {
|
||||||
icon: "none",
|
uni.showToast({
|
||||||
});
|
title: "取消收藏成功",
|
||||||
getKePuCollection();
|
icon: "none",
|
||||||
}
|
});
|
||||||
});
|
if(type.value=='huanjiao_news'){
|
||||||
|
getNewsDetail();
|
||||||
|
}else{
|
||||||
|
getKePuCollection();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
};
|
};
|
||||||
const toggleCollect = () => {
|
const toggleCollect = () => {
|
||||||
if(isCollection.value == 0) {
|
console.log("收藏状态" + isCollection.value);
|
||||||
|
if (isCollection.value == 0) {
|
||||||
getCollect();
|
getCollect();
|
||||||
} else {
|
} else {
|
||||||
getDiscollect();
|
getDiscollect();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
const toggleAgree = () => {
|
const toggleAgree = () => {
|
||||||
if(isAgree.value == 0) {
|
if (isAgree.value == 0) {
|
||||||
getAgree();
|
getAgree();
|
||||||
} else {
|
} else {
|
||||||
getDisagree();
|
getDisagree();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
const getAgree = () => {
|
const getAgree = () => {
|
||||||
api.getAgree({
|
api
|
||||||
news_article_uuid: uuid.value,
|
.getAgree({
|
||||||
user_uuid: user_uuid.value,
|
news_article_uuid: uuid.value,
|
||||||
type: 2,
|
user_uuid: user_uuid.value,
|
||||||
}).then(res => {
|
type: type.value=='huanjiao_news'?1:2,
|
||||||
|
})
|
||||||
|
.then((res) => {
|
||||||
|
if(type.value=='huanjiao_news'){
|
||||||
|
getNewsDetail();
|
||||||
|
}else{
|
||||||
getKePuCollection();
|
getKePuCollection();
|
||||||
});
|
}
|
||||||
|
});
|
||||||
};
|
};
|
||||||
const getDisagree = () => {
|
const getDisagree = () => {
|
||||||
api.getDisagree({
|
api
|
||||||
news_article_uuid: uuid.value,
|
.getDisagree({
|
||||||
user_uuid: user_uuid.value,
|
news_article_uuid: uuid.value,
|
||||||
type: 2,
|
user_uuid: user_uuid.value,
|
||||||
}).then(res => {
|
type: type.value=='huanjiao_news'?1:2,
|
||||||
console.log(res);
|
})
|
||||||
|
.then((res) => {
|
||||||
|
console.log(res);
|
||||||
|
if(type.value=='huanjiao_news'){
|
||||||
|
getNewsDetail();
|
||||||
|
}else{
|
||||||
getKePuCollection();
|
getKePuCollection();
|
||||||
});
|
}
|
||||||
|
});
|
||||||
};
|
};
|
||||||
const getOutRead = () => {
|
const getOutRead = () => {
|
||||||
api.getOutRead({
|
api
|
||||||
uuid: uuid.value,
|
.getOutRead({
|
||||||
type: 2,
|
uuid: uuid.value,
|
||||||
}).then(res => {
|
type: type.value == "huanjiao_news" ? 1 : 2,
|
||||||
console.log(res);
|
})
|
||||||
});
|
.then((res) => {
|
||||||
|
console.log(res);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
const getNewsDetail = () => {
|
||||||
|
api
|
||||||
|
.getNewsDetail({
|
||||||
|
uuid: uuid.value,
|
||||||
|
})
|
||||||
|
.then((res) => {
|
||||||
|
console.log(res);
|
||||||
|
if (res.code == 200) {
|
||||||
|
isCollection.value = res.data.isCollection;
|
||||||
|
readnum.value = res.data.readnum;
|
||||||
|
agreenum.value = res.data.agreenum;
|
||||||
|
isAgree.value = res.data.isAgree;
|
||||||
|
}
|
||||||
|
});
|
||||||
};
|
};
|
||||||
const getKePuCollection = () => {
|
const getKePuCollection = () => {
|
||||||
api.getKePuCollection({
|
api
|
||||||
uuid: uuid.value,
|
.getKePuCollection({
|
||||||
user_uuid: user_uuid.value,
|
uuid: uuid.value,
|
||||||
}).then(res => {
|
user_uuid: user_uuid.value,
|
||||||
console.log(res.data);
|
})
|
||||||
if(res.code == 200) {
|
.then((res) => {
|
||||||
isCollection.value = res.data.isCollection;
|
console.log(res.data);
|
||||||
readnum.value = res.data.readnum;
|
if (res.code == 200) {
|
||||||
agreenum.value = res.data.agreenum;
|
isCollection.value = res.data.isCollection;
|
||||||
isAgree.value = res.data.isAgree;
|
readnum.value = res.data.readnum;
|
||||||
}
|
agreenum.value = res.data.agreenum;
|
||||||
});
|
isAgree.value = res.data.isAgree;
|
||||||
|
}
|
||||||
|
});
|
||||||
};
|
};
|
||||||
const goBack = () => {
|
const goBack = () => {
|
||||||
uni.navigateBack({
|
uni.navigateBack({
|
||||||
@ -203,8 +290,12 @@ const goBack = () => {
|
|||||||
},
|
},
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
const webviewRef = ref(null);
|
||||||
|
|
||||||
onShow(() => {
|
onShow(() => {
|
||||||
|
setTimeout(() => {
|
||||||
uni.hideLoading();
|
uni.hideLoading();
|
||||||
|
}, 2000);
|
||||||
// console.log('show');
|
// console.log('show');
|
||||||
// plus.screen.lockOrientation('portrait-primary');
|
// plus.screen.lockOrientation('portrait-primary');
|
||||||
});
|
});
|
||||||
@ -217,7 +308,15 @@ onHide(() => {
|
|||||||
// plus.screen.lockOrientation('landscape-primary');
|
// plus.screen.lockOrientation('landscape-primary');
|
||||||
});
|
});
|
||||||
onLoad((query) => {
|
onLoad((query) => {
|
||||||
|
uni.showLoading({
|
||||||
|
title: '加载中',
|
||||||
|
mask: true,
|
||||||
|
});
|
||||||
|
//initWebviewLayout();
|
||||||
const userInfo = uni.getStorageSync("userInfo");
|
const userInfo = uni.getStorageSync("userInfo");
|
||||||
|
if (query.type) {
|
||||||
|
type.value = query.type;
|
||||||
|
}
|
||||||
user_uuid.value = userInfo.uuid;
|
user_uuid.value = userInfo.uuid;
|
||||||
if (query.title) {
|
if (query.title) {
|
||||||
title.value = query.title;
|
title.value = query.title;
|
||||||
@ -233,21 +332,30 @@ onLoad((query) => {
|
|||||||
|
|
||||||
backgroundColor.value = "linear-gradient(to bottom,'#fff' , '#398775')";
|
backgroundColor.value = "linear-gradient(to bottom,'#fff' , '#398775')";
|
||||||
}
|
}
|
||||||
getKePuCollection();
|
if (type.value == "huanjiao_news") {
|
||||||
|
getNewsDetail();
|
||||||
|
} else {
|
||||||
|
getKePuCollection();
|
||||||
|
}
|
||||||
getOutRead();
|
getOutRead();
|
||||||
var height = 0; //定义动态的高度变量,如高度为定值,可以直接写
|
|
||||||
uni.getSystemInfo({
|
const raw =
|
||||||
success: (sysinfo) => {
|
query && (query.url || query.href || query.link || query.src || "");
|
||||||
height = sysinfo.windowHeight; //自行修改
|
if (!raw) {
|
||||||
//bottomHeight.value=height-140
|
uni.showToast({
|
||||||
},
|
title: "未获取到网页链接",
|
||||||
complete: () => {},
|
icon: "none",
|
||||||
});
|
});
|
||||||
const raw = query && (query.url || "");
|
}
|
||||||
try {
|
try {
|
||||||
safeUrl.value = decodeURIComponent(raw);
|
safeUrl.value = decodeURIComponent(raw);
|
||||||
shareImg.value = query.imgPath?decodeURIComponent(query.imgPath):'https://doc.igandan.com/app/html/img/2016/20160714132557.png';
|
console.log( safeUrl.value);
|
||||||
|
// query.imgPath
|
||||||
|
// ? decodeURIComponent(query.imgPath)
|
||||||
|
// : "https://doc.igandan.com/app/html/img/2016/20160714132557.png";
|
||||||
|
shareImg.value ="https://doc.igandan.com/app/html/img/2016/20160714132557.png";
|
||||||
console.log(shareImg.value);
|
console.log(shareImg.value);
|
||||||
|
|
||||||
if (query.type == "live_yugao") {
|
if (query.type == "live_yugao") {
|
||||||
shareTitle.value = query.sharetitle;
|
shareTitle.value = query.sharetitle;
|
||||||
summary.value = "分享一篇来自“肝胆相照”的会议预告:" + shareTitle.value;
|
summary.value = "分享一篇来自“肝胆相照”的会议预告:" + shareTitle.value;
|
||||||
@ -257,76 +365,54 @@ onLoad((query) => {
|
|||||||
} else if (query.type == "live") {
|
} else if (query.type == "live") {
|
||||||
shareTitle.value = "肝胆相照直播:" + query.sharetitle;
|
shareTitle.value = "肝胆相照直播:" + query.sharetitle;
|
||||||
summary.value = shareTitle.value;
|
summary.value = shareTitle.value;
|
||||||
}else if(query.type=='news'){
|
} else if (query.type == "news") {
|
||||||
shareTitle.value = query.sharetitle;
|
shareTitle.value = query.sharetitle;
|
||||||
summary.value ='';
|
summary.value = "";
|
||||||
}else if(query.type=='huanjiao'){
|
} else if (query.type == "huanjiao" || query.type == "huanjiao_news") {
|
||||||
console.log(query.sharetitle);
|
console.log(query.sharetitle);
|
||||||
console.log(query.summary);
|
console.log(query.summary);
|
||||||
shareTitle.value = query.sharetitle;
|
shareTitle.value = query.sharetitle;
|
||||||
summary.value = query.summary;
|
summary.value = query.summary;
|
||||||
}
|
}
|
||||||
// #ifdef APP-PLUS
|
// #ifdef APP-PLUS
|
||||||
const resInfo = uni.getSystemInfoSync(); // 或者使用 uni.getSystemInfo({...}).then(res => {...})
|
// let wv = plus.webview.create("", "custom-webview", {
|
||||||
let statusBarHeight = resInfo.statusBarHeight;
|
// top: statusBarHeight + navHeight + "px",
|
||||||
let wv = plus.webview.create("", "custom-webview", {
|
// height: calcWebviewHeight(baseWindowHeight) + "px",
|
||||||
top: statusBarHeight + 44 + "px",
|
// bottom: fixedBottomHeight + "px",
|
||||||
bottom: "65px",
|
// });
|
||||||
});
|
// webviewRef.value = wv;
|
||||||
wv.loadURL(safeUrl.value);
|
// wv.loadURL(safeUrl.value);
|
||||||
|
|
||||||
let pages = getCurrentPages();
|
// let pages = getCurrentPages();
|
||||||
let page = pages[pages.length - 1];
|
// let page = pages[pages.length - 1];
|
||||||
|
|
||||||
var currentWebview = page.$getAppWebview(); //此对象相当于html5plus里的plus.webview.currentWebview()。在uni-app里vue页面直接使用plus.webview.currentWebview()无效
|
// var currentWebview = page.$getAppWebview(); //此对象相当于html5plus里的plus.webview.currentWebview()。在uni-app里vue页面直接使用plus.webview.currentWebview()无效
|
||||||
currentWebview.append(wv);
|
// currentWebview.append(wv);
|
||||||
setTimeout(function () {
|
// const applyWebviewStyle = (windowH) => {
|
||||||
wv = currentWebview.children()[0];
|
// wv.setStyle({
|
||||||
wv.setStyle({
|
// top: statusBarHeight + navHeight + "px",
|
||||||
top: statusBarHeight + 44 + "px",
|
// height: calcWebviewHeight(windowH) + "px",
|
||||||
height: height - 140,
|
// bottom: fixedBottomHeight + "px",
|
||||||
bottom: "65px",
|
// scalable: true,
|
||||||
scalable: true,
|
// videoFullscreen: "landscape",
|
||||||
videoFullscreen: "landscape",
|
// zIndex: -1,
|
||||||
zIndex: -1,
|
// });
|
||||||
});
|
// };
|
||||||
}, 300); //如果是页面初始化调用时,需要延时一下
|
// setTimeout(function () {
|
||||||
wv.onloaded = (e) => {
|
// wv = currentWebview.children()[0];
|
||||||
wv.show();
|
// webviewRef.value = wv;
|
||||||
};
|
// applyWebviewStyle(baseWindowHeight);
|
||||||
|
// }, 300); //如果是页面初始化调用时,需要延时一下
|
||||||
|
// wv.onloaded = (e) => {
|
||||||
|
// wv.show();
|
||||||
|
// };
|
||||||
|
|
||||||
uni.onWindowResize((res) => {
|
// uni.onWindowResize((res) => {
|
||||||
if (res.size.windowHeight < height) {
|
// const resizeH = Number((res && res.size && res.size.windowHeight) || baseWindowHeight);
|
||||||
console.log(res.size.windowHeight);
|
// setTimeout(function () {
|
||||||
|
// applyWebviewStyle(resizeH);
|
||||||
console.log(height);
|
// }, 0);
|
||||||
console.log("键盘高度", res.height);
|
// });
|
||||||
setTimeout(function () {
|
|
||||||
wv.setStyle({
|
|
||||||
//设置web-view距离顶部的距离以及自己的高度,单位为px
|
|
||||||
top: statusBarHeight + 44 + "px",
|
|
||||||
videoFullscreen: "landscape",
|
|
||||||
height: height - res.size.windowHeight + 100,
|
|
||||||
scalable: true, //webview的页面是否可以缩放,双指放大缩小
|
|
||||||
bottom: "65px",
|
|
||||||
});
|
|
||||||
}, 0);
|
|
||||||
|
|
||||||
//高度缩小
|
|
||||||
//如页面初始化调用需要写延迟
|
|
||||||
} else {
|
|
||||||
setTimeout(function () {
|
|
||||||
wv.setStyle({
|
|
||||||
//设置web-view距离顶部的距离以及自己的高度,单位为px
|
|
||||||
top: statusBarHeight + 44 + "px",
|
|
||||||
height: height - 80,
|
|
||||||
bottom: "65px",
|
|
||||||
videoFullscreen: "landscape",
|
|
||||||
scalable: true, //webview的页面是否可以缩放,双指放大缩小
|
|
||||||
});
|
|
||||||
}, 0);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
// 创建并展示原生弹窗
|
// 创建并展示原生弹窗
|
||||||
createNativePopup();
|
createNativePopup();
|
||||||
|
|
||||||
@ -1012,6 +1098,8 @@ const shareToWeibo = () => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
|
|
||||||
|
|
||||||
.bottom-box {
|
.bottom-box {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
@ -1020,20 +1108,17 @@ const shareToWeibo = () => {
|
|||||||
height: 60px;
|
height: 60px;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
z-index:99;
|
z-index: 99;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
.bottom-cell {
|
.bottom-cell {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
height:55px;
|
height: 55px;
|
||||||
border-right: 2rpx solid #ccc;
|
border-right: 2rpx solid #ccc;
|
||||||
border-top: 2rpx solid #ccc;
|
border-top: 2rpx solid #ccc;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
|
|
||||||
}
|
}
|
||||||
.bottom-cell:last-child {
|
.bottom-cell:last-child {
|
||||||
border-right: none;
|
border-right: none;
|
||||||
|
|||||||
@ -140,7 +140,7 @@
|
|||||||
<uni-icons type="article" size="80" color="#cccccc"></uni-icons>
|
<uni-icons type="article" size="80" color="#cccccc"></uni-icons>
|
||||||
<text class="empty-text">暂无文章</text>
|
<text class="empty-text">暂无文章</text>
|
||||||
</view> -->
|
</view> -->
|
||||||
<empty v-if="articleList.length === 0 && !loading" :emptyDesc="'暂无文章'"></empty>
|
<empty v-if="articleList.length === 0 && !loading" :emptyDesc="'暂无视频'"></empty>
|
||||||
</scroll-view>
|
</scroll-view>
|
||||||
|
|
||||||
<!-- 底部导航栏 -->
|
<!-- 底部导航栏 -->
|
||||||
|
|||||||
BIN
static/new_patient.png
Normal file
BIN
static/new_patient.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.8 KiB |
Loading…
x
Reference in New Issue
Block a user