6.17
This commit is contained in:
parent
bbc99ec0dd
commit
d955894b45
44
components/baoliVideo/baoliVideo.vue
Normal file
44
components/baoliVideo/baoliVideo.vue
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
<template>
|
||||||
|
<div id="player"></div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import { onMounted, onUnmounted, ref } from 'vue';
|
||||||
|
const playJs=ref("//player.polyv.net/resp/live-h5-player/latest/liveplayer.min.js");
|
||||||
|
const player=ref(null);
|
||||||
|
const props=defineProps({
|
||||||
|
vid:{
|
||||||
|
type: String,
|
||||||
|
default:''
|
||||||
|
}
|
||||||
|
})
|
||||||
|
const loadPlayerScript=(callback)=> {
|
||||||
|
if (!window.polyvLivePlayer) {
|
||||||
|
const myScript = document.createElement('script');
|
||||||
|
myScript.setAttribute('src', playJs.value);
|
||||||
|
myScript.onload = callback;
|
||||||
|
document.body.appendChild(myScript);
|
||||||
|
} else {
|
||||||
|
callback();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
const loadPlayer=()=> {
|
||||||
|
const polyvLivePlayer = window.polyvLivePlayer;
|
||||||
|
player.value = polyvLivePlayer({
|
||||||
|
wrap: '#player',
|
||||||
|
width: '100%',
|
||||||
|
height: 250,
|
||||||
|
vid: props.vid,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
onMounted(()=>{
|
||||||
|
loadPlayerScript(loadPlayer);
|
||||||
|
})
|
||||||
|
onUnmounted(()=>{
|
||||||
|
player.value.destroy();
|
||||||
|
})
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style>
|
||||||
|
|
||||||
|
</style>
|
||||||
@ -261,7 +261,7 @@ onShow(()=>{
|
|||||||
}
|
}
|
||||||
|
|
||||||
.deal {
|
.deal {
|
||||||
margin-top: 20rpx;
|
padding-top: 20rpx;
|
||||||
display: flex;
|
display: flex;
|
||||||
color: #4B5563;
|
color: #4B5563;
|
||||||
font-size: 24rpx;
|
font-size: 24rpx;
|
||||||
@ -327,7 +327,7 @@ onShow(()=>{
|
|||||||
margin: 30rpx 30rpx;
|
margin: 30rpx 30rpx;
|
||||||
|
|
||||||
.name {
|
.name {
|
||||||
margin: 20rpx 0 20rpx 15rpx;
|
padding: 20rpx 0 20rpx 15rpx;
|
||||||
font-size: 27rpx;
|
font-size: 27rpx;
|
||||||
color: #333333;
|
color: #333333;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -83,7 +83,7 @@
|
|||||||
</view>
|
</view>
|
||||||
<view class="time">
|
<view class="time">
|
||||||
<up-icon name="clock" color="#6B7280" size="28rpx"></up-icon>
|
<up-icon name="clock" color="#6B7280" size="28rpx"></up-icon>
|
||||||
<view class="num">{{ formatDay(info.updated_at) }}</view>
|
<view class="num">{{ formatDay(info.push_date) }}</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
@ -109,11 +109,13 @@
|
|||||||
>
|
>
|
||||||
</polyv-player>
|
</polyv-player>
|
||||||
<!-- #endif -->
|
<!-- #endif -->
|
||||||
<!-- #ifdef MP-WEIXIN -->
|
<!-- #ifdef h5 -->
|
||||||
<div id="player"></div>
|
<view class="videobox" v-if="type == 'video'">
|
||||||
|
<baoliVideo :vid="info.video_no" ></baoliVideo>
|
||||||
|
</view>
|
||||||
<!-- #endif -->
|
<!-- #endif -->
|
||||||
</view>
|
</view>
|
||||||
<view class="videobox" v-else-if="type == 'article'">
|
<view class="videobox" v-else-if="type == 'article'" style="min-height:350rpx">
|
||||||
<view class="content" v-html="info.article_content"></view>
|
<view class="content" v-html="info.article_content"></view>
|
||||||
</view>
|
</view>
|
||||||
<view class="videobox" v-else>
|
<view class="videobox" v-else>
|
||||||
@ -541,6 +543,10 @@ import list from "@/uni_modules/z-paging/components/z-paging/z-paging";
|
|||||||
import api from "@/api/api";
|
import api from "@/api/api";
|
||||||
import { onLoad } from "@dcloudio/uni-app";
|
import { onLoad } from "@dcloudio/uni-app";
|
||||||
import dayjs from "dayjs";
|
import dayjs from "dayjs";
|
||||||
|
// #ifdef h5
|
||||||
|
import baoliVideo from "@/components/baoliVideo/baoliVideo.vue";
|
||||||
|
// #endif
|
||||||
|
|
||||||
const paging = ref(null);
|
const paging = ref(null);
|
||||||
const dataList = ref([]);
|
const dataList = ref([]);
|
||||||
const total = ref(0);
|
const total = ref(0);
|
||||||
@ -570,7 +576,7 @@ const clickIndex = ref(0);
|
|||||||
const is_top = ref(false);
|
const is_top = ref(false);
|
||||||
const option_id = ref("");
|
const option_id = ref("");
|
||||||
const point=ref(0)
|
const point=ref(0)
|
||||||
const playJs=ref("//player.polyv.net/resp/live-h5-player/latest/liveplayer.min.js");
|
|
||||||
|
|
||||||
const confirmGive = () => {
|
const confirmGive = () => {
|
||||||
showGive.value = false;
|
showGive.value = false;
|
||||||
|
|||||||
@ -3,15 +3,15 @@
|
|||||||
<view class="page">
|
<view class="page">
|
||||||
<view class="databox">
|
<view class="databox">
|
||||||
<view class="cell">
|
<view class="cell">
|
||||||
<view class="num">{{ numInfo.article_collect_num }}</view>
|
<view class="num">{{ numInfo.article_num }}</view>
|
||||||
<view class="name">文章</view>
|
<view class="name">文章</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="cell">
|
<view class="cell">
|
||||||
<view class="num">{{ numInfo.video_collect_num }}</view>
|
<view class="num">{{ numInfo.video_num }}</view>
|
||||||
<view class="name">视频</view>
|
<view class="name">视频</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="cell">
|
<view class="cell">
|
||||||
<view class="num">{{ numInfo.video_read_num+numInfo.article_read_num }}</view>
|
<view class="num" >{{(numInfo.video_read_num && numInfo.article_read_num)?numInfo.video_read_num+numInfo.article_read_num:0}}</view>
|
||||||
<view class="name">阅读量</view>
|
<view class="name">阅读量</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
|||||||
@ -94,6 +94,7 @@
|
|||||||
</view>
|
</view>
|
||||||
<view class="row" style="margin-top: 120rpx" v-else>
|
<view class="row" style="margin-top: 120rpx" v-else>
|
||||||
<up-button
|
<up-button
|
||||||
|
v-if="checked"
|
||||||
:customStyle="customStyle"
|
:customStyle="customStyle"
|
||||||
class="custom-style"
|
class="custom-style"
|
||||||
type="success"
|
type="success"
|
||||||
@ -103,16 +104,26 @@
|
|||||||
color="#3cc7c0"
|
color="#3cc7c0"
|
||||||
size="large"
|
size="large"
|
||||||
></up-button>
|
></up-button>
|
||||||
|
<up-button
|
||||||
|
v-else
|
||||||
|
:customStyle="customStyle"
|
||||||
|
class="custom-style"
|
||||||
|
type="success"
|
||||||
|
@click="alertAgree"
|
||||||
|
text="手机号快捷登录"
|
||||||
|
color="#3cc7c0"
|
||||||
|
size="large"
|
||||||
|
></up-button>
|
||||||
</view>
|
</view>
|
||||||
<view class="row">
|
<view class="row">
|
||||||
<view class="left" @click="switchType">
|
<view class="left" @click="switchType">
|
||||||
{{ isPhoneLogin ? "用短信验证码登录" : "快捷登录" }}
|
{{ isPhoneLogin ? "用短信验证码登录" : "快捷登录" }}
|
||||||
</view>
|
</view>
|
||||||
<view class="right" @click="goRegister"> 注册 </view>
|
<view class="right" @click="goRegister"> 注册 </view>
|
||||||
</view>
|
</view>
|
||||||
<view class="row" style="margin-top:10rpx">
|
<view class="row" style="margin-top:10rpx">
|
||||||
<radio-group @click="radioChange">
|
<radio-group @click="radioChange" :labelDisabled="true" >
|
||||||
<label class="radio"><radio value="1" :checked="checked" color="rgb(41, 121, 255)" />
|
<label class="radio"><radio :labelDisabled="true" value="1" :checked="checked" color="rgb(41, 121, 255)" />
|
||||||
我已阅读并同意<a class="agree">《用户协议》</a>
|
我已阅读并同意<a class="agree">《用户协议》</a>
|
||||||
</label>
|
</label>
|
||||||
</radio-group>
|
</radio-group>
|
||||||
@ -174,6 +185,12 @@ const hasRedirectUrl = ref(false);
|
|||||||
const radioChange = (e) => {
|
const radioChange = (e) => {
|
||||||
checked.value =!checked.value;
|
checked.value =!checked.value;
|
||||||
};
|
};
|
||||||
|
const alertAgree=()=>{
|
||||||
|
uni.showToast({
|
||||||
|
title: '请先同意用户协议',
|
||||||
|
icon:'none'
|
||||||
|
})
|
||||||
|
};
|
||||||
onLoad((options) => {
|
onLoad((options) => {
|
||||||
if (options.redirectUrl) {
|
if (options.redirectUrl) {
|
||||||
hasRedirectUrl.value = true
|
hasRedirectUrl.value = true
|
||||||
@ -260,6 +277,13 @@ const phoneLogin = () => {
|
|||||||
});
|
});
|
||||||
return false
|
return false
|
||||||
};
|
};
|
||||||
|
if(!checked.value){
|
||||||
|
uni.showToast({
|
||||||
|
title: '请先同意用户协议',
|
||||||
|
icon:'none'
|
||||||
|
})
|
||||||
|
return false;
|
||||||
|
}
|
||||||
auth().then((res) => {
|
auth().then((res) => {
|
||||||
api.mobileLogin({
|
api.mobileLogin({
|
||||||
code: code.value,
|
code: code.value,
|
||||||
|
|||||||
@ -31,8 +31,10 @@
|
|||||||
placeholder="患者基本情况,检查结果,诊疗图片或视频"
|
placeholder="患者基本情况,检查结果,诊疗图片或视频"
|
||||||
eid="editor-id"
|
eid="editor-id"
|
||||||
@ready="ready"
|
@ready="ready"
|
||||||
|
pasteMode="origin"
|
||||||
@focus="focusInfo"
|
@focus="focusInfo"
|
||||||
@blur="blurInfo"
|
@blur="blurInfo"
|
||||||
|
@epaste="epaste"
|
||||||
></sv-editor>
|
></sv-editor>
|
||||||
<!-- <editor
|
<!-- <editor
|
||||||
id="editor"
|
id="editor"
|
||||||
@ -512,6 +514,9 @@ const goBack = () => {
|
|||||||
const closeCase = () => {
|
const closeCase = () => {
|
||||||
showCase.value = false;
|
showCase.value = false;
|
||||||
};
|
};
|
||||||
|
const epaste=(e)=>{
|
||||||
|
console.log(e)
|
||||||
|
}
|
||||||
const addOption = () => {
|
const addOption = () => {
|
||||||
voteData.case_exchange_vote_option.push({
|
voteData.case_exchange_vote_option.push({
|
||||||
option_value: "",
|
option_value: "",
|
||||||
@ -609,7 +614,7 @@ const ready = (e) => {
|
|||||||
editorCtx.value = e;
|
editorCtx.value = e;
|
||||||
|
|
||||||
let html =
|
let html =
|
||||||
"<p>【患者信息】:</p><br/><p>【主诉】:</p><br/><p>【现病史及既往史】:</p><br/><p>【检查】:</p><br/><p>【临床诊断】:</p><br/><p>【治疗经过及结果】:</p><br/>";
|
"<p>【患者信息】:</p><br/><p>【主诉】:</p><br/><p>【现病史及既往史】:</p><br/><p>【检查】:</p><br/><p>【临床诊断】:</p><br/><p>【治疗经过及结果】:</p><br/><br/>";
|
||||||
editorCtx.value.initHtml(html);
|
editorCtx.value.initHtml(html);
|
||||||
};
|
};
|
||||||
const readyResult = (e) => {
|
const readyResult = (e) => {
|
||||||
@ -754,7 +759,7 @@ const alertSave = async () => {
|
|||||||
}else{
|
}else{
|
||||||
const res = await editorCtx.value.getLastContent();
|
const res = await editorCtx.value.getLastContent();
|
||||||
//let html = editorCtx.value.exportHtml(res.html);
|
//let html = editorCtx.value.exportHtml(res.html);
|
||||||
//const initInfo= "<p>【患者信息】:</p><br/><p>【主诉】:</p><br/><p>【现病史及既往史】:</p><br/><p>【检查】:</p><br/><p>【临床诊断】:</p><br/><p>【治疗经过及结果】:</p><br/>";
|
//const initInfo= "<p>【患者信息】:</p><br/><p>【主诉】:</p><br/><p>【现病史及既往史】:</p><br/><p>【检查】:</p><br/><p>【临床诊断】:</p><br/><p>【治疗经过及结果】:</p><br/><br/>";
|
||||||
const resContent = await editorCtxResult.value.getLastContent();
|
const resContent = await editorCtxResult.value.getLastContent();
|
||||||
//let reshtml = editorCtxResult.value.exportHtml(resContent.html);
|
//let reshtml = editorCtxResult.value.exportHtml(resContent.html);
|
||||||
if (
|
if (
|
||||||
@ -776,7 +781,7 @@ const alertSave = async () => {
|
|||||||
};
|
};
|
||||||
const publish = async () => {
|
const publish = async () => {
|
||||||
const initInfo =
|
const initInfo =
|
||||||
"<p>【患者信息】:</p><br/><p>【主诉】:</p><br/><p>【现病史及既往史】:</p><br/><p>【检查】:</p><br/><p>【临床诊断】:</p><br/><p>【治疗经过及结果】:</p><br/>";
|
"<p>【患者信息】:</p><br/><p>【主诉】:</p><br/><p>【现病史及既往史】:</p><br/><p>【检查】:</p><br/><p>【临床诊断】:</p><br/><p>【治疗经过及结果】:</p><br/><br/>";
|
||||||
if (form.exchange_title == "") {
|
if (form.exchange_title == "") {
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
title: "请输入标题",
|
title: "请输入标题",
|
||||||
@ -1325,7 +1330,7 @@ onLoad(() => {
|
|||||||
}
|
}
|
||||||
#editor {
|
#editor {
|
||||||
padding: 0 30rpx;
|
padding: 0 30rpx;
|
||||||
height: calc(100vh - 600rpx);
|
height: calc(100vh - 700rpx);
|
||||||
}
|
}
|
||||||
#editorRes {
|
#editorRes {
|
||||||
min-height: 300rpx;
|
min-height: 300rpx;
|
||||||
|
|||||||
@ -63,7 +63,7 @@
|
|||||||
<script setup>
|
<script setup>
|
||||||
import { ref, reactive } from "vue";
|
import { ref, reactive } from "vue";
|
||||||
import { onLoad } from "@dcloudio/uni-app";
|
import { onLoad } from "@dcloudio/uni-app";
|
||||||
const src = ref("https://wx.igandan.com/hcp/toRegister");
|
const src = ref("https://wx.igandan.com/hcp/toRegister?fromType=wx");
|
||||||
const model = reactive({
|
const model = reactive({
|
||||||
name: "",
|
name: "",
|
||||||
});
|
});
|
||||||
|
|||||||
@ -332,7 +332,7 @@ const searchList = async (params) => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.deal {
|
.deal {
|
||||||
margin-top: 20rpx;
|
padding-top: 20rpx;
|
||||||
display: flex;
|
display: flex;
|
||||||
color: #4b5563;
|
color: #4b5563;
|
||||||
font-size: 24rpx;
|
font-size: 24rpx;
|
||||||
@ -398,7 +398,7 @@ const searchList = async (params) => {
|
|||||||
margin: 30rpx 30rpx;
|
margin: 30rpx 30rpx;
|
||||||
|
|
||||||
.name {
|
.name {
|
||||||
margin: 20rpx 0 20rpx 15rpx;
|
padding: 20rpx 0 20rpx 15rpx;
|
||||||
font-size: 27rpx;
|
font-size: 27rpx;
|
||||||
color: #333333;
|
color: #333333;
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user