3.18提交
This commit is contained in:
parent
b5cc11ddd3
commit
18c7f7386d
@ -2,8 +2,8 @@
|
|||||||
"name" : "肝胆相照专家版",
|
"name" : "肝胆相照专家版",
|
||||||
"appid" : "__UNI__89F511F",
|
"appid" : "__UNI__89F511F",
|
||||||
"description" : "",
|
"description" : "",
|
||||||
"versionName" : "4.2.5",
|
"versionName" : "4.2.3",
|
||||||
"versionCode" : 425,
|
"versionCode" : 423,
|
||||||
"transformPx" : false,
|
"transformPx" : false,
|
||||||
"app-plus" : {
|
"app-plus" : {
|
||||||
/* 5+App特有相关 */
|
/* 5+App特有相关 */
|
||||||
|
|||||||
@ -24,7 +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>
|
||||||
@ -140,7 +140,9 @@ const bankLogoMap = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const getBankLogoImg = (bankName) => {
|
const getBankLogoImg = (bankName) => {
|
||||||
return bankLogoMap[bankName] || '';
|
let name1=bankName.split(',')[0];
|
||||||
|
let name2=bankName.split(',')[1];
|
||||||
|
return bankLogoMap[name1] || bankLogoMap[name2];
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleDeleteBankCard = (card) => {
|
const handleDeleteBankCard = (card) => {
|
||||||
@ -232,6 +234,9 @@ const getBankLogo = (bankName) => {
|
|||||||
:deep(.uni-nav-bar-right-text) {
|
:deep(.uni-nav-bar-right-text) {
|
||||||
font-size: 32rpx;
|
font-size: 32rpx;
|
||||||
}
|
}
|
||||||
|
:deep(.uni-swipe){
|
||||||
|
margin-bottom: 20rpx!important;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 银行卡列表样式 */
|
/* 银行卡列表样式 */
|
||||||
|
|||||||
@ -226,8 +226,12 @@
|
|||||||
navTo({
|
navTo({
|
||||||
url: url
|
url: url
|
||||||
})
|
})
|
||||||
|
}else if(msg.extra.type==18){
|
||||||
|
let url=`/pages_app/myFlower/myFlower?from=msg`
|
||||||
|
navTo({
|
||||||
|
url: url
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
}else{
|
}else{
|
||||||
let url="";
|
let url="";
|
||||||
if(msg.extra.module==1 && msg.extra.type==36){
|
if(msg.extra.module==1 && msg.extra.type==36){
|
||||||
|
|||||||
@ -26,7 +26,7 @@
|
|||||||
<text class="value amount" :class="amountClass">{{ detail.accountStr || '-' }}元</text>
|
<text class="value amount" :class="amountClass">{{ detail.accountStr || '-' }}元</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="detail-row">
|
<view class="detail-row">
|
||||||
<text class="label">患者:</text>
|
<text class="label">用户:</text>
|
||||||
<text class="value">{{ detail.userName || '-' }}</text>
|
<text class="value">{{ detail.userName || '-' }}</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="detail-row">
|
<view class="detail-row">
|
||||||
|
|||||||
@ -292,7 +292,7 @@ onMounted(() => {
|
|||||||
&.user {
|
&.user {
|
||||||
flex: 1;
|
flex: 1;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
color: #ff0000;
|
color: #8B2316;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.date-amount {
|
&.date-amount {
|
||||||
@ -304,7 +304,7 @@ onMounted(() => {
|
|||||||
|
|
||||||
.date {
|
.date {
|
||||||
font-size: 24rpx;
|
font-size: 24rpx;
|
||||||
color: #666;
|
color: #999;
|
||||||
margin-bottom: 4rpx;
|
margin-bottom: 4rpx;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -312,11 +312,11 @@ onMounted(() => {
|
|||||||
font-size: 24rpx;
|
font-size: 24rpx;
|
||||||
|
|
||||||
&.positive {
|
&.positive {
|
||||||
color: #ff0000;
|
color: #000;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.negative {
|
&.negative {
|
||||||
color: #666;
|
color: #000;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -66,21 +66,21 @@
|
|||||||
<view class="courseware-item" v-for="(item, index) in coursewareList" :key="index" @click="onItemClick(item)">
|
<view class="courseware-item" v-for="(item, index) in coursewareList" :key="index" @click="onItemClick(item)">
|
||||||
<view class="item-content">
|
<view class="item-content">
|
||||||
<view class="courseware-provider" v-if="activeTab === 'share'">
|
<view class="courseware-provider" v-if="activeTab === 'share'">
|
||||||
<text class="label">下载医生:</text>
|
<text class="label">下载医生</text>
|
||||||
<text class="value">{{ item.providername }}</text>
|
<text class="value">:{{ item.providername }}</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="courseware-name">
|
<view class="courseware-name">
|
||||||
<text class="label">课件名称:</text>
|
<text class="label">课件名称</text>
|
||||||
<text class="value">{{ item.name }}</text>
|
<text class="value">:{{ item.name }}</text>
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="courseware-time">
|
<view class="courseware-time">
|
||||||
<text class="label">时间:</text>
|
<text class="label">时间</text>
|
||||||
<text class="value">{{ item.time }}</text>
|
<text class="value">:{{ item.time }}</text>
|
||||||
</view>
|
</view>
|
||||||
<view class="courseware-status" v-if="activeTab === 'download'">
|
<view class="courseware-status" v-if="activeTab === 'download'">
|
||||||
<text class="label">状态:</text>
|
<text class="label">状态</text>
|
||||||
<text class="value status-paid">{{item.status}}</text>
|
<text class="value status-paid">:{{item.status}}</text>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@ -400,6 +400,15 @@ const onLoadMore = () => {
|
|||||||
width: 120rpx;
|
width: 120rpx;
|
||||||
color: #8B2316;
|
color: #8B2316;
|
||||||
font-size: 28rpx;
|
font-size: 28rpx;
|
||||||
|
display: inline-block;
|
||||||
|
text-align: justify;
|
||||||
|
text-align-last: justify;
|
||||||
|
text-justify: inter-ideograph;
|
||||||
|
}
|
||||||
|
.label::after {
|
||||||
|
content: '';
|
||||||
|
display: inline-block;
|
||||||
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.value {
|
.value {
|
||||||
|
|||||||
352
pages_app/selectPatient/selectPatient copy.vue
Normal file
352
pages_app/selectPatient/selectPatient copy.vue
Normal file
@ -0,0 +1,352 @@
|
|||||||
|
<template>
|
||||||
|
<view class="select-page">
|
||||||
|
<view class="navbox">
|
||||||
|
<view class="status_bar"></view>
|
||||||
|
<uni-nav-bar
|
||||||
|
left-icon="left"
|
||||||
|
title="选择患者"
|
||||||
|
@clickLeft="goBack"
|
||||||
|
color="#8B2316"
|
||||||
|
:border="false"
|
||||||
|
backgroundColor="#eee"
|
||||||
|
>
|
||||||
|
<template #right>
|
||||||
|
<view class="confirm-btn" :class="{ active: selectedIds.length > 0 }" @click="confirmSelect">
|
||||||
|
<text class="confirm-text">确定({{ selectedIds.length }})</text>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
</uni-nav-bar>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- 搜索框 -->
|
||||||
|
<view class="search-bar">
|
||||||
|
<view class="input-wrap">
|
||||||
|
<input class="search-input" v-model.trim="keyword" placeholder="搜索患者的备注名、昵称或手机号" placeholder-class="ph" @input="$u.debounce(onSearch, 500)" />
|
||||||
|
</view>
|
||||||
|
<view class="search-btn" @click="onSearch">
|
||||||
|
<uni-icons type="search" size="50rpx" color="#999" />
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<!-- 列表 -->
|
||||||
|
<scroll-view class="list" scroll-y @scrolltolower="onScrollToLower" :lower-threshold="100">
|
||||||
|
<view class="item" @click="toggle(p.uuid)" v-for="p in availablePatientList" :key="p.uuid">
|
||||||
|
<image class="avatar" :src="getAvatarSrc(p)" mode="aspectFill" @error="handleAvatarError(p)" />
|
||||||
|
<view class="name">{{ p.realName || p.nickname}}</view>
|
||||||
|
<view class="check" >
|
||||||
|
<view class="circle" :class="{ active: selectedIds.includes(p.uuid) }"></view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</scroll-view>
|
||||||
|
|
||||||
|
<view class="bottom-actions">
|
||||||
|
<view class="select-all-btn" @click="toggleSelectAll">
|
||||||
|
{{ isAllSelected ? '全不选' : '全选' }}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import { ref, computed,nextTick} from 'vue'
|
||||||
|
import docUrl from '@/utils/docUrl.js'
|
||||||
|
import { onShow,onLoad} from "@dcloudio/uni-app";
|
||||||
|
import api from '@/api/api.js'
|
||||||
|
import navTo from '@/utils/navTo.js'
|
||||||
|
import defaultImg from "@/static/default.png"
|
||||||
|
const from = ref('');
|
||||||
|
const keyword = ref('')
|
||||||
|
const selectedIds = ref([])
|
||||||
|
const patientList = ref([])
|
||||||
|
const selectedDetail = ref([])
|
||||||
|
const availablePatientList = ref([])
|
||||||
|
const patientListPage = ref(1)
|
||||||
|
const patientListPageSize = ref(200)
|
||||||
|
const patientListHasMore = ref(true)
|
||||||
|
const patientListLoading = ref(false)
|
||||||
|
const patientListLoadingMore = ref(false)
|
||||||
|
const isAllSelected = computed(() => {
|
||||||
|
const total = patientList.value.length
|
||||||
|
return total > 0 && selectedIds.value.length === total
|
||||||
|
})
|
||||||
|
// 计算属性:显示所有患者,但标记已选中的状态
|
||||||
|
// const availablePatientList = computed(() => {
|
||||||
|
// return patientList.value
|
||||||
|
// })
|
||||||
|
const isApiSuccess = (res) => Number(res?.code) === 1 || Number(res?.code) === 200
|
||||||
|
const parsePagedPatients = (res) => {
|
||||||
|
const data = res?.data
|
||||||
|
if (Array.isArray(data)) {
|
||||||
|
return { list: data, total: undefined, pageNum: undefined, pages: undefined, isLastPage: undefined }
|
||||||
|
}
|
||||||
|
const list =
|
||||||
|
(Array.isArray(data?.list) && data.list) ||
|
||||||
|
(Array.isArray(data?.records) && data.records) ||
|
||||||
|
(Array.isArray(data?.rows) && data.rows) ||
|
||||||
|
(Array.isArray(data?.data) && data.data) ||
|
||||||
|
[]
|
||||||
|
const total = Number(data?.total ?? data?.count ?? data?.totalCount ?? undefined)
|
||||||
|
const pageNum = Number(data?.pageNum ?? data?.page ?? data?.current ?? undefined)
|
||||||
|
const pages = Number(data?.pages ?? data?.pageCount ?? undefined)
|
||||||
|
const isLastPage = typeof data?.isLastPage === 'boolean' ? data.isLastPage : undefined
|
||||||
|
return {
|
||||||
|
list,
|
||||||
|
total: Number.isFinite(total) ? total : undefined,
|
||||||
|
pageNum: Number.isFinite(pageNum) ? pageNum : undefined,
|
||||||
|
pages: Number.isFinite(pages) ? pages : undefined,
|
||||||
|
isLastPage
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const mergePatientListUnique = (base = [], incoming = []) => {
|
||||||
|
if (!incoming.length) return base
|
||||||
|
const seen = new Set()
|
||||||
|
const merged = []
|
||||||
|
const pushUnique = (item) => {
|
||||||
|
const key = String(item?.uuid || item?.id || item?.mobile || '')
|
||||||
|
if (!key) {
|
||||||
|
merged.push(item)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if (seen.has(key)) return
|
||||||
|
seen.add(key)
|
||||||
|
merged.push(item)
|
||||||
|
}
|
||||||
|
base.forEach(pushUnique)
|
||||||
|
incoming.forEach(pushUnique)
|
||||||
|
return merged
|
||||||
|
}
|
||||||
|
const applyPatientList = (list = []) => {
|
||||||
|
patientList.value = list
|
||||||
|
onSearch()
|
||||||
|
}
|
||||||
|
const patientListByGBKPage = async ({ reset = false, showLoading = false } = {}) => {
|
||||||
|
if (patientListLoading.value || patientListLoadingMore.value) return
|
||||||
|
if (!reset && !patientListHasMore.value) return
|
||||||
|
if (reset) {
|
||||||
|
patientListLoading.value = true
|
||||||
|
patientListPage.value = 1
|
||||||
|
patientListHasMore.value = true
|
||||||
|
} else {
|
||||||
|
patientListLoadingMore.value = true
|
||||||
|
}
|
||||||
|
if (showLoading) {
|
||||||
|
uni.showLoading({ title: '加载中...', mask: true })
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
const requestPage = patientListPage.value
|
||||||
|
const res = await api.patientListByGBKPage({
|
||||||
|
page: requestPage,
|
||||||
|
//pageNum: requestPage,
|
||||||
|
//current: requestPage,
|
||||||
|
pageSize: patientListPageSize.value,
|
||||||
|
//size: patientListPageSize.value
|
||||||
|
})
|
||||||
|
if (!isApiSuccess(res)) return
|
||||||
|
const { list, total, pageNum, pages, isLastPage } = parsePagedPatients(res)
|
||||||
|
const merged = reset ? list : mergePatientListUnique(patientList.value, list)
|
||||||
|
applyPatientList(merged)
|
||||||
|
if (typeof isLastPage === 'boolean') {
|
||||||
|
patientListHasMore.value = !isLastPage
|
||||||
|
} else if (typeof pages === 'number' && typeof pageNum === 'number') {
|
||||||
|
patientListHasMore.value = pageNum < pages
|
||||||
|
} else if (typeof total === 'number') {
|
||||||
|
patientListHasMore.value = merged.length < total
|
||||||
|
} else {
|
||||||
|
patientListHasMore.value = list.length >= patientListPageSize.value
|
||||||
|
}
|
||||||
|
if (patientListHasMore.value) {
|
||||||
|
patientListPage.value = typeof pageNum === 'number' ? pageNum + 1 : requestPage + 1
|
||||||
|
}
|
||||||
|
} finally {
|
||||||
|
patientListLoading.value = false
|
||||||
|
patientListLoadingMore.value = false
|
||||||
|
if (showLoading) {
|
||||||
|
nextTick(() => {
|
||||||
|
uni.hideLoading()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const onScrollToLower = () => {
|
||||||
|
void patientListByGBKPage({ reset: false, showLoading: false })
|
||||||
|
}
|
||||||
|
onLoad((options) => {
|
||||||
|
uni.showLoading({
|
||||||
|
title: '加载中...',
|
||||||
|
mask: true
|
||||||
|
})
|
||||||
|
if(options.from ){
|
||||||
|
from.value =options.from;
|
||||||
|
}
|
||||||
|
// 读取已选中的成员ID
|
||||||
|
try {
|
||||||
|
const preSelected = uni.getStorageSync('preSelectedIds')
|
||||||
|
if (Array.isArray(preSelected)) {
|
||||||
|
selectedIds.value = [...preSelected]
|
||||||
|
// 清理缓存
|
||||||
|
uni.removeStorageSync('preSelectedIds')
|
||||||
|
}
|
||||||
|
} catch (e) {}
|
||||||
|
void patientListByGBKPage({ reset: true, showLoading: true });
|
||||||
|
})
|
||||||
|
onShow(() => {
|
||||||
|
|
||||||
|
|
||||||
|
// 根据已选中的ID更新selectedDetail
|
||||||
|
updateSelectedDetail();
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// 根据已选中的ID更新selectedDetail
|
||||||
|
const updateSelectedDetail = () => {
|
||||||
|
selectedDetail.value = selectedIds.value.map(id => {
|
||||||
|
const p = patientList.value.find(x => x.uuid === id)
|
||||||
|
return { uuid: id, realName: p?.realName || '', photo: p?.photo || '',nickName: p?.nickName || '' }
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
const toggle = (id) => {
|
||||||
|
const i = selectedIds.value.indexOf(id)
|
||||||
|
if (i > -1) {
|
||||||
|
// 如果已选中,则取消选中
|
||||||
|
selectedIds.value.splice(i, 1)
|
||||||
|
const di = selectedDetail.value.findIndex(it => it.uuid === id)
|
||||||
|
if (di > -1) selectedDetail.value.splice(di, 1)
|
||||||
|
} else {
|
||||||
|
// 如果未选中,则选中
|
||||||
|
selectedIds.value.push(id)
|
||||||
|
const p = patientList.value.find(x => x.uuid === id)
|
||||||
|
selectedDetail.value.push({ uuid: id, realName: p?.realName || '', photo: p?.photo || '',nickName: p?.nickName || '' })
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const getAvatarSrc = (patient) => {
|
||||||
|
if (patient?._avatarLoadError) return defaultImg
|
||||||
|
return patient?.photo ? (docUrl + patient.photo) : defaultImg
|
||||||
|
}
|
||||||
|
|
||||||
|
const handleAvatarError = (patient) => {
|
||||||
|
if (!patient) return
|
||||||
|
patient._avatarLoadError = true
|
||||||
|
}
|
||||||
|
|
||||||
|
const toggleSelectAll = () => {
|
||||||
|
if (!patientList.value.length) return
|
||||||
|
if (isAllSelected.value) {
|
||||||
|
selectedIds.value = []
|
||||||
|
selectedDetail.value = []
|
||||||
|
return
|
||||||
|
}
|
||||||
|
selectedIds.value = patientList.value.map(item => item.uuid)
|
||||||
|
selectedDetail.value = patientList.value.map(item => ({
|
||||||
|
uuid: item.uuid,
|
||||||
|
realName: item?.realName || '',
|
||||||
|
photo: item?.photo || '',
|
||||||
|
nickName: item?.nickName || ''
|
||||||
|
}))
|
||||||
|
}
|
||||||
|
|
||||||
|
const onSearch = () => {
|
||||||
|
if(keyword.value.replace(/\s/g, "")){
|
||||||
|
availablePatientList.value = patientList.value.filter(p => p.realName.indexOf(keyword.value) !== -1 || (p.nickname && p.nickname.indexOf(keyword.value) !== -1) || p.mobile.indexOf(keyword.value) !== -1)
|
||||||
|
}else{
|
||||||
|
availablePatientList.value = patientList.value
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
const goBack = () => uni.navigateBack()
|
||||||
|
const confirmSelect = () => {
|
||||||
|
if(from.value == 'chatMsg' || from.value == 'videoDetail'){
|
||||||
|
if(selectedIds.value.length >200){
|
||||||
|
uni.showToast({
|
||||||
|
title: '选择人数不能超过200',
|
||||||
|
icon: 'none'
|
||||||
|
})
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const payload = { ids: selectedIds.value, list: selectedDetail.value }
|
||||||
|
// 通过事件通道回传
|
||||||
|
try {
|
||||||
|
const pages = getCurrentPages()
|
||||||
|
const curr = pages[pages.length - 1]
|
||||||
|
const ec = curr?.getOpenerEventChannel?.()
|
||||||
|
ec?.emit && ec.emit('onPatientsSelected', payload);
|
||||||
|
console.log(selectedDetail.value)
|
||||||
|
uni.$emit('selectedChatPatientsSingle', {patients: selectedDetail.value });
|
||||||
|
} catch (e) {}
|
||||||
|
// 兜底:使用本地存储
|
||||||
|
try {
|
||||||
|
uni.setStorageSync('patientsSelectedPayload', payload) } catch (e) {}
|
||||||
|
uni.setStorageSync('selectedChatPatientsSingle', {patients: selectedDetail.value })
|
||||||
|
if(from.value == 'chatMsg'){
|
||||||
|
navTo({
|
||||||
|
url: '/pages_chat/groupSend/groupSend?from=chatMsg'
|
||||||
|
})
|
||||||
|
}else{
|
||||||
|
uni.navigateBack()
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.select-page{
|
||||||
|
min-height: 100vh; background:#fefefe;overflow: hidden;
|
||||||
|
}
|
||||||
|
.confirm-text{ color:#fff; font-size: 28rpx;white-space: nowrap; }
|
||||||
|
.confirm-btn{ background:#7f7f7f; padding: 10rpx 18rpx; border-radius: 26rpx; }
|
||||||
|
.confirm-btn.active{ background:#8B2316; }
|
||||||
|
.search-bar{
|
||||||
|
|
||||||
|
border: 2rpx solid #eee;
|
||||||
|
margin: 0rpx 30rpx; display:flex;
|
||||||
|
margin-top: calc(var(--status-bar-height) + 64px);
|
||||||
|
align-items:center; gap: 16rpx;
|
||||||
|
.input-wrap{ flex:1; background:#fff; border-radius: 12rpx; padding: 16rpx 20rpx; }
|
||||||
|
.search-input{ font-size: 28rpx; color:#333; }
|
||||||
|
.ph{ color:#bfbfbf; }
|
||||||
|
.search-btn{
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
width: 88rpx; height: 72rpx; background:#fff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.list{
|
||||||
|
border-radius: 12rpx;
|
||||||
|
position: fixed;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
top: calc(var(--status-bar-height) + 64px + 94rpx);
|
||||||
|
bottom: 130rpx;
|
||||||
|
}
|
||||||
|
.item{background:#fff; display:flex; align-items:center;padding: 24rpx 30rpx; border-bottom: 2rpx solid #eee; }
|
||||||
|
.avatar{ width: 96rpx; height:96rpx; border-radius: 16rpx; background:#ffe; }
|
||||||
|
.name{ flex:1; margin-left: 20rpx; font-size: 32rpx; color:#333; }
|
||||||
|
.check{ padding-left: 12rpx; }
|
||||||
|
.circle{ width: 40rpx; height: 40rpx; border-radius: 50%; border: 2rpx solid #cfcfcf; }
|
||||||
|
.circle.active{ background:#8B2316; border-color:#8B2316; position: relative; }
|
||||||
|
.circle.active::after{ content:''; position:absolute; left: 14rpx; top: 6rpx; width: 10rpx; height: 18rpx; border: 4rpx solid #fff; border-top: 0; border-left: 0; transform: rotate(45deg); }
|
||||||
|
.bottom-actions{
|
||||||
|
position: fixed;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
background: #fff;
|
||||||
|
border-top: 1rpx solid #f0f0f0;
|
||||||
|
padding: 20rpx 30rpx 20rpx;
|
||||||
|
}
|
||||||
|
.select-all-btn{
|
||||||
|
height: 88rpx;
|
||||||
|
border-radius: 12rpx;
|
||||||
|
color: #8B2316;
|
||||||
|
background: #fff;
|
||||||
|
border: 2rpx solid #8B2316;
|
||||||
|
font-size: 30rpx;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
@ -204,12 +204,12 @@
|
|||||||
<view class="share-popup">
|
<view class="share-popup">
|
||||||
<view class="share-title">分享到</view>
|
<view class="share-title">分享到</view>
|
||||||
<view class="share-content">
|
<view class="share-content">
|
||||||
<view class="share-item" @click="shareToPatient" v-if="type == 'patientVideo'">
|
<!-- <view class="share-item" @click="shareToPatient" v-if="type == 'patientVideo'">
|
||||||
<view class="share-icon wechat-icon" style="background: none;">
|
<view class="share-icon wechat-icon" style="background: none;">
|
||||||
<image class="share-img" :src="paitientImg" mode="aspectFill" />
|
<image class="share-img" :src="paitientImg" mode="aspectFill" />
|
||||||
</view>
|
</view>
|
||||||
<text class="share-text">患者</text>
|
<text class="share-text">患者</text>
|
||||||
</view>
|
</view> -->
|
||||||
<view class="share-item" @click="shareToWechat">
|
<view class="share-item" @click="shareToWechat">
|
||||||
<view class="share-icon wechat-icon">
|
<view class="share-icon wechat-icon">
|
||||||
<image class="share-img" :src="wxImg" mode="aspectFill" />
|
<image class="share-img" :src="wxImg" mode="aspectFill" />
|
||||||
|
|||||||
@ -136,7 +136,7 @@ const appPlusWebview = ref(null);
|
|||||||
const webviewStyles = ref({
|
const webviewStyles = ref({
|
||||||
width: "100%",
|
width: "100%",
|
||||||
top: webviewTopPx.value,
|
top: webviewTopPx.value,
|
||||||
bottom: webviewBottomPx.value
|
bottom: webviewBottomPx.value,
|
||||||
});
|
});
|
||||||
const applyWebviewLayout = () => {
|
const applyWebviewLayout = () => {
|
||||||
const resInfo = uni.getSystemInfoSync();
|
const resInfo = uni.getSystemInfoSync();
|
||||||
@ -149,7 +149,7 @@ const applyWebviewLayout = () => {
|
|||||||
webviewStyles.value = {
|
webviewStyles.value = {
|
||||||
width: "100%",
|
width: "100%",
|
||||||
top: webviewTopPx.value,
|
top: webviewTopPx.value,
|
||||||
bottom: webviewBottomPx.value
|
bottom: webviewBottomPx.value,
|
||||||
};
|
};
|
||||||
// #ifdef APP-PLUS
|
// #ifdef APP-PLUS
|
||||||
if (usePlusWebview.value && appPlusWebview.value) {
|
if (usePlusWebview.value && appPlusWebview.value) {
|
||||||
@ -170,20 +170,21 @@ const onWindowResize = () => {
|
|||||||
applyWebviewLayout();
|
applyWebviewLayout();
|
||||||
};
|
};
|
||||||
const addpoint = () => {
|
const addpoint = () => {
|
||||||
console.log('添加积分1')
|
console.log("添加积分1");
|
||||||
api.addBonusPointsN({
|
api
|
||||||
score_type:5
|
.addBonusPointsN({
|
||||||
}).then(res=>{
|
score_type: 5,
|
||||||
console.log('添加积分2')
|
})
|
||||||
console.log(res)
|
.then((res) => {
|
||||||
|
console.log("添加积分2");
|
||||||
|
console.log(res);
|
||||||
if (res.code == 200) {
|
if (res.code == 200) {
|
||||||
|
|
||||||
//uni.showToast({ title: "添加积分成功", icon: "none" });
|
//uni.showToast({ title: "添加积分成功", icon: "none" });
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
//uni.showToast({ title: res.msg, icon: "none" });
|
//uni.showToast({ title: res.msg, icon: "none" });
|
||||||
}
|
}
|
||||||
}).catch(err=>{
|
})
|
||||||
|
.catch((err) => {
|
||||||
uni.showModal({
|
uni.showModal({
|
||||||
title: "提示",
|
title: "提示",
|
||||||
content: res.message,
|
content: res.message,
|
||||||
@ -192,21 +193,24 @@ const addpoint=()=>{
|
|||||||
if (res.confirm) {
|
if (res.confirm) {
|
||||||
//uni.navigateBack();
|
//uni.navigateBack();
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
});
|
});
|
||||||
//uni.showToast({ title: err.msg, icon: "none" });
|
//uni.showToast({ title: err.msg, icon: "none" });
|
||||||
})
|
});
|
||||||
}
|
};
|
||||||
const getCollect = () => {
|
const getCollect = () => {
|
||||||
api
|
api
|
||||||
.getCollect({
|
.getCollect({
|
||||||
other_uuid: uuid.value,
|
other_uuid: uuid.value,
|
||||||
user_uuid: user_uuid.value,
|
user_uuid: user_uuid.value,
|
||||||
type: type.value=='huanjiao_news'?1:2,
|
type: type.value == "huanjiao_news" ? 1 : 2,
|
||||||
title: shareTitle.value,
|
title: shareTitle.value,
|
||||||
path:safeUrl.value.replace(docUrl,''),
|
path: safeUrl.value.replace(docUrl, ""),
|
||||||
readnum: readnum.value,
|
readnum: readnum.value,
|
||||||
imgpath:imgpath.value.indexOf('http')>-1?imgpath.value:docUrl+imgpath.value,
|
imgpath:
|
||||||
|
imgpath.value.indexOf("http") > -1
|
||||||
|
? imgpath.value
|
||||||
|
: docUrl + imgpath.value,
|
||||||
public_name: shareTitle.value,
|
public_name: shareTitle.value,
|
||||||
})
|
})
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
@ -228,7 +232,7 @@ const getDiscollect = () => {
|
|||||||
.getDiscollect({
|
.getDiscollect({
|
||||||
other_uuid: uuid.value,
|
other_uuid: uuid.value,
|
||||||
user_uuid: user_uuid.value,
|
user_uuid: user_uuid.value,
|
||||||
type: type.value=='huanjiao_news'?1:2,
|
type: type.value == "huanjiao_news" ? 1 : 2,
|
||||||
})
|
})
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
console.log(res);
|
console.log(res);
|
||||||
@ -237,7 +241,7 @@ const getDiscollect = () => {
|
|||||||
title: "取消收藏成功",
|
title: "取消收藏成功",
|
||||||
icon: "none",
|
icon: "none",
|
||||||
});
|
});
|
||||||
if(type.value=='huanjiao_news'){
|
if (type.value == "huanjiao_news") {
|
||||||
getNewsDetail();
|
getNewsDetail();
|
||||||
} else {
|
} else {
|
||||||
getKePuCollection();
|
getKePuCollection();
|
||||||
@ -265,10 +269,10 @@ const getAgree = () => {
|
|||||||
.getAgree({
|
.getAgree({
|
||||||
news_article_uuid: uuid.value,
|
news_article_uuid: uuid.value,
|
||||||
user_uuid: user_uuid.value,
|
user_uuid: user_uuid.value,
|
||||||
type: type.value=='huanjiao_news'?1:2,
|
type: type.value == "huanjiao_news" ? 1 : 2,
|
||||||
})
|
})
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
if(type.value=='huanjiao_news'){
|
if (type.value == "huanjiao_news") {
|
||||||
getNewsDetail();
|
getNewsDetail();
|
||||||
} else {
|
} else {
|
||||||
getKePuCollection();
|
getKePuCollection();
|
||||||
@ -280,11 +284,11 @@ const getDisagree = () => {
|
|||||||
.getDisagree({
|
.getDisagree({
|
||||||
news_article_uuid: uuid.value,
|
news_article_uuid: uuid.value,
|
||||||
user_uuid: user_uuid.value,
|
user_uuid: user_uuid.value,
|
||||||
type: type.value=='huanjiao_news'?1:2,
|
type: type.value == "huanjiao_news" ? 1 : 2,
|
||||||
})
|
})
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
console.log(res);
|
console.log(res);
|
||||||
if(type.value=='huanjiao_news'){
|
if (type.value == "huanjiao_news") {
|
||||||
getNewsDetail();
|
getNewsDetail();
|
||||||
} else {
|
} else {
|
||||||
getKePuCollection();
|
getKePuCollection();
|
||||||
@ -320,9 +324,9 @@ const fromatNumber = (number) => {
|
|||||||
if (number < 10000) {
|
if (number < 10000) {
|
||||||
return number;
|
return number;
|
||||||
} else {
|
} else {
|
||||||
return (number / 10000).toFixed(1) + 'w';
|
return (number / 10000).toFixed(1) + "w";
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
};
|
||||||
const getKePuCollection = () => {
|
const getKePuCollection = () => {
|
||||||
api
|
api
|
||||||
.getKePuCollection({
|
.getKePuCollection({
|
||||||
@ -358,7 +362,8 @@ const createAppPlusWebview = (url) => {
|
|||||||
if (!url) return;
|
if (!url) return;
|
||||||
const pages = getCurrentPages();
|
const pages = getCurrentPages();
|
||||||
const page = pages[pages.length - 1];
|
const page = pages[pages.length - 1];
|
||||||
const currentWebview = page && page.$getAppWebview ? page.$getAppWebview() : null;
|
const currentWebview =
|
||||||
|
page && page.$getAppWebview ? page.$getAppWebview() : null;
|
||||||
if (!currentWebview) return;
|
if (!currentWebview) return;
|
||||||
if (appPlusWebview.value && appPlusWebview.value.close) {
|
if (appPlusWebview.value && appPlusWebview.value.close) {
|
||||||
appPlusWebview.value.close();
|
appPlusWebview.value.close();
|
||||||
@ -381,25 +386,26 @@ const createAppPlusWebview = (url) => {
|
|||||||
};
|
};
|
||||||
const addGroupSendMsg4YunXin = async () => {
|
const addGroupSendMsg4YunXin = async () => {
|
||||||
const res = await api.addGroupSendMsg4YunXin({
|
const res = await api.addGroupSendMsg4YunXin({
|
||||||
patient_user_uuid: selectedPatients.value.map(item => item.uuid).join(','),
|
patient_user_uuid: selectedPatients.value
|
||||||
|
.map((item) => item.uuid)
|
||||||
|
.join(","),
|
||||||
msg_content: uuid.value,
|
msg_content: uuid.value,
|
||||||
msg_type: 3,
|
msg_type: 3,
|
||||||
});
|
});
|
||||||
if (res.code == 200) {
|
if (res.code == 200) {
|
||||||
uni.showToast({ title: "推荐成功", icon: "none" });
|
uni.showToast({ title: "推荐成功", icon: "none" });
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
uni.showToast({ title: res.msg, icon: "none" });
|
uni.showToast({ title: res.msg, icon: "none" });
|
||||||
}
|
}
|
||||||
}
|
};
|
||||||
|
|
||||||
onShow(() => {
|
onShow(() => {
|
||||||
uni.$on('selectedChatPatientsSingle',(data)=>{
|
uni.$on("selectedChatPatientsSingle", (data) => {
|
||||||
console.log('监听数据')
|
console.log("监听数据");
|
||||||
console.log(data)
|
console.log(data);
|
||||||
selectedPatients.value = data.patients;
|
selectedPatients.value = data.patients;
|
||||||
if(type.value == 'huanjiao') {
|
if (type.value == "huanjiao") {
|
||||||
addGroupSendMsg4YunXin()
|
addGroupSendMsg4YunXin();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
initWebviewLayout();
|
initWebviewLayout();
|
||||||
@ -422,7 +428,7 @@ onHide(() => {
|
|||||||
});
|
});
|
||||||
onLoad((query) => {
|
onLoad((query) => {
|
||||||
uni.showLoading({
|
uni.showLoading({
|
||||||
title: '加载中',
|
title: "加载中",
|
||||||
mask: true,
|
mask: true,
|
||||||
});
|
});
|
||||||
initWebviewLayout();
|
initWebviewLayout();
|
||||||
@ -473,7 +479,8 @@ onLoad((query) => {
|
|||||||
// query.imgPath
|
// query.imgPath
|
||||||
// ? decodeURIComponent(query.imgPath)
|
// ? decodeURIComponent(query.imgPath)
|
||||||
// : "https://doc.igandan.com/app/html/img/2016/20160714132557.png";
|
// : "https://doc.igandan.com/app/html/img/2016/20160714132557.png";
|
||||||
shareImg.value ="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") {
|
||||||
@ -697,10 +704,10 @@ function createNativePopup() {
|
|||||||
weight: "500",
|
weight: "500",
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
const showPatientShare = type.value === "huanjiao";
|
const showPatientShare = false;//type.value === "huanjiao";
|
||||||
const items = showPatientShare
|
const items = showPatientShare
|
||||||
? [
|
? [
|
||||||
{ id: "it-patient", text: "患者" },
|
// { id: "it-patient", text: "患者" },
|
||||||
{ id: "it-wechat", text: "微信" },
|
{ id: "it-wechat", text: "微信" },
|
||||||
{ id: "it-moments", text: "朋友圈" },
|
{ id: "it-moments", text: "朋友圈" },
|
||||||
]
|
]
|
||||||
@ -724,7 +731,7 @@ function createNativePopup() {
|
|||||||
// 图标文件名映射(直接使用文件名,避免路径转换问题)
|
// 图标文件名映射(直接使用文件名,避免路径转换问题)
|
||||||
const iconFiles = showPatientShare
|
const iconFiles = showPatientShare
|
||||||
? [
|
? [
|
||||||
"info_icon_1.png", // 患者
|
// "info_icon_1.png", // 患者
|
||||||
"share_weixin.png", // 微信
|
"share_weixin.png", // 微信
|
||||||
"share_wxc.png", // 朋友圈
|
"share_wxc.png", // 朋友圈
|
||||||
]
|
]
|
||||||
@ -979,7 +986,10 @@ function createNativePopup() {
|
|||||||
if (relativeY >= shareAreaTop && relativeY <= shareAreaBottom) {
|
if (relativeY >= shareAreaTop && relativeY <= shareAreaBottom) {
|
||||||
// 计算点击的是第几个分享项
|
// 计算点击的是第几个分享项
|
||||||
const itemWidth = info.screenW / items.length;
|
const itemWidth = info.screenW / items.length;
|
||||||
const idx = Math.min(items.length - 1, Math.max(0, Math.floor(relativeX / itemWidth)));
|
const idx = Math.min(
|
||||||
|
items.length - 1,
|
||||||
|
Math.max(0, Math.floor(relativeX / itemWidth))
|
||||||
|
);
|
||||||
|
|
||||||
console.log(
|
console.log(
|
||||||
"点击了分享项:",
|
"点击了分享项:",
|
||||||
@ -1138,7 +1148,12 @@ function createSelectNativePopup() {
|
|||||||
);
|
);
|
||||||
nativeSelectPopupView.value.drawText(
|
nativeSelectPopupView.value.drawText(
|
||||||
"单独选择",
|
"单独选择",
|
||||||
{ left: "0px", top: `${titleH}px`, width: `${panelW}px`, height: `${itemH}px` },
|
{
|
||||||
|
left: "0px",
|
||||||
|
top: `${titleH}px`,
|
||||||
|
width: `${panelW}px`,
|
||||||
|
height: `${itemH}px`,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
size: `${Math.round(uni.upx2px(30))}px`,
|
size: `${Math.round(uni.upx2px(30))}px`,
|
||||||
color: "#333333",
|
color: "#333333",
|
||||||
@ -1148,11 +1163,21 @@ function createSelectNativePopup() {
|
|||||||
);
|
);
|
||||||
nativeSelectPopupView.value.drawRect(
|
nativeSelectPopupView.value.drawRect(
|
||||||
{ color: "#EEEEEE" },
|
{ color: "#EEEEEE" },
|
||||||
{ left: "0px", top: `${titleH + itemH}px`, width: `${panelW}px`, height: "1px" }
|
{
|
||||||
|
left: "0px",
|
||||||
|
top: `${titleH + itemH}px`,
|
||||||
|
width: `${panelW}px`,
|
||||||
|
height: "1px",
|
||||||
|
}
|
||||||
);
|
);
|
||||||
nativeSelectPopupView.value.drawText(
|
nativeSelectPopupView.value.drawText(
|
||||||
"分组选择",
|
"分组选择",
|
||||||
{ left: "0px", top: `${titleH + itemH}px`, width: `${panelW}px`, height: `${itemH}px` },
|
{
|
||||||
|
left: "0px",
|
||||||
|
top: `${titleH + itemH}px`,
|
||||||
|
width: `${panelW}px`,
|
||||||
|
height: `${itemH}px`,
|
||||||
|
},
|
||||||
{
|
{
|
||||||
size: `${Math.round(uni.upx2px(30))}px`,
|
size: `${Math.round(uni.upx2px(30))}px`,
|
||||||
color: "#333333",
|
color: "#333333",
|
||||||
@ -1167,6 +1192,20 @@ function createSelectNativePopup() {
|
|||||||
if (now - Number(lastSelectNavigateAt.value || 0) < 800) return;
|
if (now - Number(lastSelectNavigateAt.value || 0) < 800) return;
|
||||||
selectNavigateLocked.value = true;
|
selectNavigateLocked.value = true;
|
||||||
lastSelectNavigateAt.value = now;
|
lastSelectNavigateAt.value = now;
|
||||||
|
if(url.includes('selectPatient')){
|
||||||
|
uni.sendNativeEvent(
|
||||||
|
"goSelectPatientPage",
|
||||||
|
{
|
||||||
|
msg: "goSelectPatientPage",
|
||||||
|
},
|
||||||
|
(ret) => {
|
||||||
|
console.log(ret);
|
||||||
|
setTimeout(() => {
|
||||||
|
selectNavigateLocked.value = false;
|
||||||
|
}, 500);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}else{
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url,
|
url,
|
||||||
complete: () => {
|
complete: () => {
|
||||||
@ -1175,6 +1214,9 @@ function createSelectNativePopup() {
|
|||||||
}, 500);
|
}, 500);
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
const lockSelectAction = () => {
|
const lockSelectAction = () => {
|
||||||
if (selectActionLocked.value) return false;
|
if (selectActionLocked.value) return false;
|
||||||
@ -1210,17 +1252,32 @@ function createSelectNativePopup() {
|
|||||||
const relativeY = y > info.panelH ? y - info.panelTop : y;
|
const relativeY = y > info.panelH ? y - info.panelTop : y;
|
||||||
if (relativeY >= info.titleH && relativeY < info.titleH + info.itemH) {
|
if (relativeY >= info.titleH && relativeY < info.titleH + info.itemH) {
|
||||||
closeSelectNativePopup();
|
closeSelectNativePopup();
|
||||||
navigateFromSelectPopup("/pages_app/selectPatient/selectPatient?from=patientVideo");
|
navigateFromSelectPopup(
|
||||||
|
"/pages_app/selectPatient/selectPatient?from=patientVideo"
|
||||||
|
);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (relativeY >= info.titleH + info.itemH && relativeY < info.titleH + info.itemH * 2) {
|
if (
|
||||||
|
relativeY >= info.titleH + info.itemH &&
|
||||||
|
relativeY < info.titleH + info.itemH * 2
|
||||||
|
) {
|
||||||
closeSelectNativePopup();
|
closeSelectNativePopup();
|
||||||
navigateFromSelectPopup("/pages_chat/patientGroup/patientGroup?from=patientVideo");
|
navigateFromSelectPopup(
|
||||||
|
"/pages_chat/patientGroup/patientGroup?from=patientVideo"
|
||||||
|
);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeSelectMaskView.value.addEventListener("touchend", handleMaskClick, false);
|
nativeSelectMaskView.value.addEventListener(
|
||||||
nativeSelectPopupView.value.addEventListener("touchend", handlePanelClick, false);
|
"touchend",
|
||||||
|
handleMaskClick,
|
||||||
|
false
|
||||||
|
);
|
||||||
|
nativeSelectPopupView.value.addEventListener(
|
||||||
|
"touchend",
|
||||||
|
handlePanelClick,
|
||||||
|
false
|
||||||
|
);
|
||||||
// #endif
|
// #endif
|
||||||
}
|
}
|
||||||
function showSelectNativePopup() {
|
function showSelectNativePopup() {
|
||||||
@ -1264,9 +1321,8 @@ const shareToWechat = () => {
|
|||||||
href: safeUrl.value,
|
href: safeUrl.value,
|
||||||
imageUrl: res2.tempFilePath,
|
imageUrl: res2.tempFilePath,
|
||||||
success: function (res) {
|
success: function (res) {
|
||||||
console.log('分享微信成功')
|
console.log("分享微信成功");
|
||||||
console.log("success:" + JSON.stringify(res));
|
console.log("success:" + JSON.stringify(res));
|
||||||
|
|
||||||
},
|
},
|
||||||
fail: function (err) {
|
fail: function (err) {
|
||||||
console.log("fail:" + JSON.stringify(err));
|
console.log("fail:" + JSON.stringify(err));
|
||||||
@ -1474,8 +1530,6 @@ const shareToWeibo = () => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
|
|
||||||
|
|
||||||
.bottom-box {
|
.bottom-box {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
|
|||||||
@ -243,6 +243,7 @@ const addOutPatient=async()=>{
|
|||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const updateOutPatient=async()=>{
|
const updateOutPatient=async()=>{
|
||||||
const res = await api.updateOutPatient({
|
const res = await api.updateOutPatient({
|
||||||
uuid: uuid.value,
|
uuid: uuid.value,
|
||||||
|
|||||||
@ -15,7 +15,8 @@
|
|||||||
>
|
>
|
||||||
<template #right>
|
<template #right>
|
||||||
<view class="nav-right">
|
<view class="nav-right">
|
||||||
<up-icon name="share" color="#8B2316" size="24" @click="shareToggle"></up-icon>
|
<up-image :src="shareIcon" width="36rpx" height="36rpx" @click="shareToggle"></up-image>
|
||||||
|
<!-- <up-icon name="share" color="#8B2316" size="24" @click="shareToggle"></up-icon> -->
|
||||||
<up-image :src="siteImg" width="36rpx" height="36rpx" @click="goSite"></up-image>
|
<up-image :src="siteImg" width="36rpx" height="36rpx" @click="goSite"></up-image>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
@ -199,6 +200,7 @@ import empty from '@/components/empty/empty.vue'
|
|||||||
import sendImg from '@/static/send_feed.png'
|
import sendImg from '@/static/send_feed.png'
|
||||||
import dateBg from '@/static/data_sign.png'
|
import dateBg from '@/static/data_sign.png'
|
||||||
import editImg from '@/static/edit_icon.png'
|
import editImg from '@/static/edit_icon.png'
|
||||||
|
import shareIcon from '@/static/icon_share.png'
|
||||||
import unidialog from '@/components/dialog/dialog.vue'
|
import unidialog from '@/components/dialog/dialog.vue'
|
||||||
import deleteImg from '@/static/delete_icon.png'
|
import deleteImg from '@/static/delete_icon.png'
|
||||||
import sinaImg from "@/static/share_sina.png"
|
import sinaImg from "@/static/share_sina.png"
|
||||||
@ -218,33 +220,46 @@ const addressList = ref([]);
|
|||||||
const shareRef = ref()
|
const shareRef = ref()
|
||||||
const shareLink = ref('')
|
const shareLink = ref('')
|
||||||
const patient_user_uuid = ref('');
|
const patient_user_uuid = ref('');
|
||||||
|
const isLock=ref(true)
|
||||||
// 响应式数据
|
// 响应式数据
|
||||||
const from = ref('');
|
const from = ref('');
|
||||||
const currentTab = ref('suspension')
|
const currentTab = ref('suspension')
|
||||||
const remarks = ref('')
|
const remarks = ref('')
|
||||||
|
|
||||||
const note = ref('')
|
const note = ref('')
|
||||||
|
const patientList = ref([]);
|
||||||
const outpatientSchedules = ref([])
|
const outpatientSchedules = ref([])
|
||||||
const outPatientList = ref([]);
|
const outPatientList = ref([]);
|
||||||
const patientListByGBK=()=>{
|
const patientListByGBK=()=>{
|
||||||
api.patientListByGBK().then(res=>{
|
api.patientListByGBK().then(res=>{
|
||||||
if(res.code==1){
|
if(res.code==1){
|
||||||
|
isLock.value = false;
|
||||||
|
patientList.value = res.data;
|
||||||
console.log(res.data)
|
console.log(res.data)
|
||||||
for(let i=0;i<res.data.length;i++){
|
|
||||||
if(patient_user_uuid.value){
|
|
||||||
patient_user_uuid.value += res.data[i].uuid+',';
|
|
||||||
}else{
|
|
||||||
patient_user_uuid.value += res.data[i].uuid;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
const noticeConfirm = () => {
|
const noticeConfirm = () => {
|
||||||
noticeVisible.value = false;
|
noticeVisible.value = false;
|
||||||
|
if(patientList.value.length >= 200 || isLock.value){
|
||||||
|
uni.sendNativeEvent(
|
||||||
|
"goGroupMessagePage",
|
||||||
|
{
|
||||||
|
msg: "goGroupMessagePage",
|
||||||
|
},
|
||||||
|
(ret) => {
|
||||||
|
console.log(ret);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
// navTo({
|
||||||
|
// url:'/pages_chat/groupMessage/groupMessage?from=outPatient'
|
||||||
|
// })
|
||||||
|
}else{
|
||||||
publishOutPatient();
|
publishOutPatient();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
const noticeCancel=()=>{
|
const noticeCancel=()=>{
|
||||||
noticeVisible.value = false;
|
noticeVisible.value = false;
|
||||||
if(!from.value){
|
if(!from.value){
|
||||||
@ -344,10 +359,18 @@ const goSite = () => {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
const publishOutPatient = async (uuid) => {
|
const publishOutPatient = async (uuid) => {
|
||||||
|
let uuids='';
|
||||||
|
for(let i=0;i<patientList.value.length;i++){
|
||||||
|
if(uuids){
|
||||||
|
uuids+=','+patientList.value[i].uuid;
|
||||||
|
}else{
|
||||||
|
uuids += patientList.value[i].uuid;
|
||||||
|
}
|
||||||
|
}
|
||||||
const res = await api.publishOutPatient({
|
const res = await api.publishOutPatient({
|
||||||
msg_type:'5',
|
msg_type:'5',
|
||||||
msg_content:'',
|
msg_content:'',
|
||||||
patient_user_uuid:patient_user_uuid.value
|
patient_user_uuid:uuids
|
||||||
})
|
})
|
||||||
if(!from.value){
|
if(!from.value){
|
||||||
plus.runtime.quit();
|
plus.runtime.quit();
|
||||||
@ -1029,8 +1052,9 @@ bottom: 152rpx;
|
|||||||
align-items: flex-start;
|
align-items: flex-start;
|
||||||
}
|
}
|
||||||
.schedule-left {
|
.schedule-left {
|
||||||
height: 200rpx;
|
min-height: 200rpx;
|
||||||
border-right: 2rpx solid #f0f0f0;
|
padding:20rpx 0;
|
||||||
|
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
@ -1050,8 +1074,10 @@ bottom: 152rpx;
|
|||||||
}
|
}
|
||||||
|
|
||||||
.schedule-right {
|
.schedule-right {
|
||||||
|
border-left: 2rpx solid #f0f0f0;
|
||||||
flex: 1;
|
flex: 1;
|
||||||
height: 200rpx;
|
min-height: 200rpx;
|
||||||
|
padding:20rpx 0;
|
||||||
margin-left: 30prx;
|
margin-left: 30prx;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
@ -1077,13 +1103,10 @@ bottom: 152rpx;
|
|||||||
color: #333;
|
color: #333;
|
||||||
}
|
}
|
||||||
|
|
||||||
.location-info {
|
|
||||||
display: flex;
|
|
||||||
align-items: center;
|
|
||||||
gap: 15rpx;
|
|
||||||
}
|
|
||||||
|
|
||||||
.location {
|
.location {
|
||||||
|
display: inline-block;
|
||||||
font-size: 28rpx;
|
font-size: 28rpx;
|
||||||
color: #666;
|
color: #666;
|
||||||
}
|
}
|
||||||
@ -1106,9 +1129,10 @@ bottom: 152rpx;
|
|||||||
border: 2rpx solid #8B2316;
|
border: 2rpx solid #8B2316;
|
||||||
border-radius: 20rpx;
|
border-radius: 20rpx;
|
||||||
padding:2rpx 16rpx;
|
padding:2rpx 16rpx;
|
||||||
|
white-space: nowrap;
|
||||||
font-size: 20rpx;
|
font-size: 20rpx;
|
||||||
color: #8B2316;
|
color: #8B2316;
|
||||||
display: flex;
|
display: inline-flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
|
|
||||||
let BASE_URL='https://dev-app.igandan.com/app';
|
//let BASE_URL='https://dev-app.igandan.com/app';
|
||||||
//let BASE_URL='https://app.igandan.com/app'
|
let BASE_URL='https://app.igandan.com/app'
|
||||||
export default BASE_URL
|
export default BASE_URL
|
||||||
@ -1,5 +1,5 @@
|
|||||||
let DOC_URL='https://dev-doc.igandan.com/app/';
|
//let DOC_URL='https://dev-doc.igandan.com/app/';
|
||||||
//let DOC_URL='https://doc.igandan.com/app/'
|
let DOC_URL='https://doc.igandan.com/app/'
|
||||||
// if(app.globalData.apiHost.indexOf('dev')>-1){
|
// if(app.globalData.apiHost.indexOf('dev')>-1){
|
||||||
// DOC_URL='https://dev-doc.igandan.com/app/'
|
// DOC_URL='https://dev-doc.igandan.com/app/'
|
||||||
// }else{
|
// }else{
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
let OTHER_HOST='https://dev-wx.igandan.com'
|
//let OTHER_HOST='https://dev-wx.igandan.com'
|
||||||
//let OTHER_HOST='https://wx.igandan.com'
|
let OTHER_HOST='https://wx.igandan.com'
|
||||||
//const app = getApp({allowDefault: true});
|
//const app = getApp({allowDefault: true});
|
||||||
// if(app.globalData.apiHost && app.globalData.apiHost.indexOf('dev')>-1){
|
// if(app.globalData.apiHost && app.globalData.apiHost.indexOf('dev')>-1){
|
||||||
// OTHER_HOST='https://dev-wx.igandan.com'
|
// OTHER_HOST='https://dev-wx.igandan.com'
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user