8.3
This commit is contained in:
parent
43abd1f3d6
commit
6e320c3944
10
App.vue
10
App.vue
@ -34,8 +34,8 @@
|
||||
overflow: hidden;
|
||||
}
|
||||
.back{
|
||||
margin-top: -8rpx;
|
||||
padding:0 15rpx 15rpx 15rpx;
|
||||
/* margin-top: -8rpx; */
|
||||
padding:0 20rpx 0rpx 20rpx;
|
||||
}
|
||||
.ellipsis-one-lines {
|
||||
overflow: hidden;
|
||||
@ -59,4 +59,10 @@
|
||||
.u-dropdown__menu__item__arrow--rotate .uicon-arrow-down{
|
||||
color: #3cc7c0 !important;
|
||||
}
|
||||
.tagbox{
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
.tagbox .tag{
|
||||
margin:5rpx 0 ;
|
||||
}
|
||||
</style>
|
||||
@ -44,7 +44,7 @@ const api = {
|
||||
return request('/exchange/collect/'+id,{}, 'delete',false);
|
||||
},
|
||||
addVideoComment(id,data){
|
||||
return request('/clinical/video/comment/'+id,data, 'post',false,'application/json');
|
||||
return request('/clinical/video/comment/'+id,data, 'post',true,'application/json');
|
||||
},
|
||||
delVideoComment(id){
|
||||
return request('/clinical/video/comment/'+id, {}, 'delete',false);
|
||||
@ -57,7 +57,7 @@ const api = {
|
||||
return request('/clinical/video/comment/top/'+id, {}, 'delete',false);
|
||||
},
|
||||
addArticleComment(id,data){
|
||||
return request('/clinical/article/comment/'+id, data, 'post',false,'application/json');
|
||||
return request('/clinical/article/comment/'+id, data, 'post',true,'application/json');
|
||||
},
|
||||
delArticleComment(id){
|
||||
return request('/clinical/article/comment/'+id, {}, 'delete',false);
|
||||
|
||||
@ -89,7 +89,13 @@ onMounted(()=>{
|
||||
padding-bottom: 20rpx;
|
||||
background-color: #f9fafb;
|
||||
position: relative;
|
||||
height:200rpx;
|
||||
/* #ifdef H5 */
|
||||
height:120rpx;
|
||||
/* #endif */
|
||||
/* #ifdef MP-WEIXIN */
|
||||
height:200rpx;
|
||||
/* #endif */
|
||||
|
||||
background: radial-gradient(
|
||||
60% 90% at 4% 2%,
|
||||
#43c9c3 0%,
|
||||
@ -109,7 +115,13 @@ onMounted(()=>{
|
||||
);
|
||||
}
|
||||
.namebox {
|
||||
/* #ifdef H5 */
|
||||
padding-top: 51rpx;
|
||||
/* #endif */
|
||||
/* #ifdef MP-WEIXIN */
|
||||
padding-top: 102rpx;
|
||||
/* #endif */
|
||||
|
||||
margin: 0rpx 30rpx 0rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
@ -53,7 +53,13 @@ const goBack = () => {
|
||||
);
|
||||
}
|
||||
.namebox {
|
||||
padding-top: 102rpx;
|
||||
/* #ifdef H5 */
|
||||
padding-top: 51rpx;
|
||||
/* #endif */
|
||||
/* #ifdef MP-WEIXIN */
|
||||
padding-top: 102rpx;
|
||||
/* #endif */
|
||||
|
||||
justify-content: center;
|
||||
margin: 0rpx 30rpx 0rpx;
|
||||
position: relative;
|
||||
|
||||
@ -49,7 +49,13 @@
|
||||
);
|
||||
}
|
||||
.namebox {
|
||||
padding-top: 102rpx;
|
||||
/* #ifdef H5 */
|
||||
padding-top: 51rpx;
|
||||
/* #endif */
|
||||
/* #ifdef MP-WEIXIN */
|
||||
padding-top: 102rpx;
|
||||
/* #endif */
|
||||
|
||||
margin: 0rpx 30rpx 0rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
@ -30,7 +30,7 @@
|
||||
<up--image
|
||||
:src="userHeadImg"
|
||||
@click="goMy"
|
||||
mode="widthFix"
|
||||
|
||||
width="62rpx"
|
||||
height="62rpx"
|
||||
radius="50%"
|
||||
@ -114,6 +114,7 @@ onLoad(()=>{
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.navbox {
|
||||
|
||||
padding-bottom: 20rpx;
|
||||
background-color: #f9fafb;
|
||||
position: relative;
|
||||
@ -137,7 +138,13 @@ onLoad(()=>{
|
||||
);
|
||||
}
|
||||
.namebox {
|
||||
padding-top: 102rpx;
|
||||
/* #ifdef H5 */
|
||||
padding-top: 51rpx;
|
||||
/* #endif */
|
||||
/* #ifdef MP_WEIXIN */
|
||||
padding-top: 102rpx;
|
||||
/* #endif */
|
||||
|
||||
margin: 0rpx 30rpx 0rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
@ -33,7 +33,7 @@
|
||||
<up--image
|
||||
:src="userHeadImg"
|
||||
@click="goMy"
|
||||
mode="widthFix"
|
||||
|
||||
width="62rpx"
|
||||
height="62rpx"
|
||||
radius="50%"
|
||||
@ -74,7 +74,7 @@ watch(()=>props.type,(newVal)=>{
|
||||
}else if(newVal==='hospital'){
|
||||
placeholder.value='输入医院名称'
|
||||
}else if(newVal==='video'){
|
||||
placeholder.value='疾病名称、标题、作者搜索'
|
||||
placeholder.value='输入疾病名称、标题、作者搜索'
|
||||
}else if(newVal==='article' ){
|
||||
placeholder.value='搜索疾病、症状、医院'
|
||||
}else if(newVal==='case'){
|
||||
@ -82,7 +82,7 @@ watch(()=>props.type,(newVal)=>{
|
||||
}else if(newVal==='myCase'){
|
||||
placeholder.value='输入疾病名称、标题搜索'
|
||||
}else if(newVal==='cert'){
|
||||
placeholder.value='疾病名称、标题搜索'
|
||||
placeholder.value='输入疾病名称、标题搜索'
|
||||
}
|
||||
|
||||
},{immediate: true })
|
||||
@ -153,7 +153,13 @@ const search=()=>{
|
||||
background: none!important;
|
||||
}
|
||||
.namebox {
|
||||
padding-top: 102rpx;
|
||||
/* #ifdef H5 */
|
||||
padding-top: 51rpx;
|
||||
/* #endif */
|
||||
/* #ifdef MP-WEIXIN */
|
||||
padding-top: 102rpx;
|
||||
/* #endif */
|
||||
|
||||
margin: 0rpx 30rpx 0rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
@ -1,5 +1,6 @@
|
||||
<template>
|
||||
<view class="page">
|
||||
|
||||
<view class="navbox">
|
||||
<view class="bg"></view>
|
||||
<view class="namebox">
|
||||
@ -85,6 +86,12 @@
|
||||
</view>
|
||||
<view class="btn" @click="confirm">确定</view>
|
||||
</view>
|
||||
<canvas
|
||||
v-if="showCanvas"
|
||||
type="2d"
|
||||
id="pwatermarkCanvas"
|
||||
style="width: 200px; height: 200px; position: fixed; top: -9999px"
|
||||
/>
|
||||
</view>
|
||||
<up-popup
|
||||
:round="10"
|
||||
@ -137,9 +144,12 @@
|
||||
import throttle from "@/utils/throttle"
|
||||
import addImg from "@/static/add.png";
|
||||
import videoImg from "@/static/videoicon.png";
|
||||
import { nextTick, reactive, ref,watch } from "vue";
|
||||
import { initCustomFormatter, nextTick, reactive, ref,watch } from "vue";
|
||||
import { onLoad } from "@dcloudio/uni-app";
|
||||
import videoface from "@/static/videoface.jpg";
|
||||
|
||||
import { getCurrentInstance } from 'vue'
|
||||
|
||||
const instace = getCurrentInstance();
|
||||
import api from "@/api/api";
|
||||
import dayjs from "dayjs";
|
||||
import {
|
||||
@ -148,8 +158,10 @@
|
||||
addText,
|
||||
} from "@/uni_modules/sv-editor/components/common/utils.js";
|
||||
import svEditor from "@/uni_modules/sv-editor/components/sv-editor/sv-editor.vue";
|
||||
const editorCtx=ref(null);
|
||||
const PeditorCtx=ref(null);
|
||||
const htmlContent=ref('');
|
||||
const keyboardHeight=ref(0);
|
||||
const videoface=ref('https://caseplatform.oss-cn-beijing.aliyuncs.com/prod/static/shipinfengmian.jpg')
|
||||
const editorHeight=ref(300);
|
||||
const navName=ref('病例信息');
|
||||
const placeholder=ref('患者基本情况,检查结果,诊疗图片或视频');
|
||||
@ -164,6 +176,7 @@
|
||||
default:''
|
||||
}
|
||||
})
|
||||
const showCanvas=ref(false);
|
||||
watch(()=>props.editorType,(newVal)=>{
|
||||
console.log(11111111)
|
||||
console.log(newVal)
|
||||
@ -195,48 +208,56 @@
|
||||
};
|
||||
const ready = (e) => {
|
||||
console.log(e);
|
||||
editorCtx.value = e;
|
||||
|
||||
PeditorCtx.value = e;
|
||||
|
||||
if(props.editorType=="info"){
|
||||
if(props.editorCotent){
|
||||
editorCtx.value.initHtml(props.editorCotent,async (videoUrl) => {
|
||||
console.log('peditor')
|
||||
console.log(props.editorCotent)
|
||||
PeditorCtx.value.initHtml(props.editorCotent,async (videoUrl) => {
|
||||
let res='';
|
||||
|
||||
// #ifdef APP || H5
|
||||
// res = await this.editorCtx.createVideoThumbnail(videoUrl)
|
||||
// res = await this.PeditorCtx.createVideoThumbnail(videoUrl)
|
||||
// #endif
|
||||
|
||||
const fox = videoface
|
||||
res = await editorCtx.value.createCoverThumbnail(fox)
|
||||
showEditor.value=false;
|
||||
|
||||
res = await PeditorCtx.value.createCoverThumbnail(videoface.value)
|
||||
|
||||
return res
|
||||
})
|
||||
setTimeout(async()=>{
|
||||
console.log('qaz')
|
||||
let res=await PeditorCtx.value.getLastContent();
|
||||
console.log(res);
|
||||
},6000)
|
||||
}else{
|
||||
|
||||
let html =
|
||||
"<p>【患者信息】:</p><br/><p>【主诉】:</p><br/><p>【现病史及既往史】:</p><br/><p>【检查】:</p><br/><p>【临床诊断】:</p><br/><p>【治疗经过及结果】:</p><br/><br/>";
|
||||
editorCtx.value.initHtml(html);
|
||||
PeditorCtx.value.initHtml(html);
|
||||
}
|
||||
|
||||
}else{
|
||||
if(props.editorCotent){
|
||||
editorCtx.value.initHtml(props.editorCotent,async (videoUrl) => {
|
||||
PeditorCtx.value.initHtml(props.editorCotent,async (videoUrl) => {
|
||||
let res='';
|
||||
|
||||
// #ifdef APP || H5
|
||||
// res = await this.editorCtx.createVideoThumbnail(videoUrl)
|
||||
// res = await this.PeditorCtx.createVideoThumbnail(videoUrl)
|
||||
// #endif
|
||||
|
||||
const fox = videoface
|
||||
res = await editorCtx.value.createCoverThumbnail(fox)
|
||||
showEditor.value=false;
|
||||
|
||||
res = await PeditorCtx.value.createCoverThumbnail(videoface.value)
|
||||
|
||||
return res
|
||||
})
|
||||
}else{
|
||||
|
||||
let html =
|
||||
"";
|
||||
editorCtx.value.initHtml(html);
|
||||
PeditorCtx.value.initHtml(html);
|
||||
}
|
||||
|
||||
}
|
||||
@ -249,11 +270,13 @@
|
||||
emits('closeEditor')
|
||||
})
|
||||
const confirm=async ()=>{
|
||||
console.log('qqq')
|
||||
const res = await editorCtx.value.getLastContent();
|
||||
|
||||
const res = await PeditorCtx.value.getLastContent();
|
||||
let html = PeditorCtx.value.exportHtml(res.html.replace('undefined',''));
|
||||
|
||||
emits('changeEditor',{
|
||||
type:props.editorType,
|
||||
content:res.html
|
||||
content:html
|
||||
})
|
||||
}
|
||||
const foucus=()=>{
|
||||
@ -263,7 +286,7 @@
|
||||
|
||||
}
|
||||
const clearMuBan=()=>{
|
||||
editorCtx.value.initHtml("");
|
||||
PeditorCtx.value.initHtml("");
|
||||
}
|
||||
const updatePosition=(c_keyboardHeight)=>{
|
||||
const toolbarHeight = 50
|
||||
@ -288,17 +311,235 @@
|
||||
scrollTop: 0,
|
||||
success() {
|
||||
updatePosition(keyboardHeight)
|
||||
editorCtx.value.scrollView()
|
||||
PeditorCtx.value.scrollView()
|
||||
}
|
||||
})
|
||||
}, duration)
|
||||
|
||||
})
|
||||
});
|
||||
const fillTextToImgWx = (base64) => {
|
||||
let maskText = "@肝胆相照临床病例库";
|
||||
return new Promise((resolve, reject) => {
|
||||
wx.createSelectorQuery().in(instace.proxy)
|
||||
.select("#pwatermarkCanvas")
|
||||
.fields({
|
||||
node: true,
|
||||
size: true,
|
||||
})
|
||||
.exec((res) => {
|
||||
const canvas = res[0].node;
|
||||
const ctx = canvas.getContext("2d");
|
||||
let textMetrics = ctx.measureText(maskText);
|
||||
console.log(textMetrics);
|
||||
//水印文字宽度
|
||||
let {
|
||||
width: textWidth,
|
||||
actualBoundingBoxAscent,
|
||||
actualBoundingBoxDescent,
|
||||
} = textMetrics;
|
||||
//水印文字高度
|
||||
let textHeight = actualBoundingBoxAscent
|
||||
? actualBoundingBoxAscent + actualBoundingBoxDescent
|
||||
: textMetrics.fontBoundingBoxAscent +
|
||||
textMetrics.fontBoundingBoxDescent;
|
||||
let imgHeight, imgWidth;
|
||||
let font = ""; //fontsize"px Arial";
|
||||
|
||||
let fontColor = "#fff";
|
||||
let strokeWidth = 3;
|
||||
uni.getImageInfo({
|
||||
src: base64,
|
||||
success: (imageRes) => {
|
||||
// 设置canvas宽高
|
||||
let scale =28;
|
||||
// (imageRes.width / 800) * 30 > 12
|
||||
// ? (imageRes.width / 800) * 30
|
||||
// : 12;
|
||||
font = scale + "px Arial";
|
||||
console.log(imageRes);
|
||||
canvas.width = imageRes.width;
|
||||
canvas.height = imageRes.height;
|
||||
imgHeight = imageRes.height;
|
||||
imgWidth = imageRes.width;
|
||||
// 创建目标图片对象
|
||||
const image = canvas.createImage();
|
||||
image.src = "";
|
||||
image.src = base64;
|
||||
image.onload = () => {
|
||||
// 清除画布
|
||||
//ctx.clearRect(0, 0, canvas.width, canvas.height);
|
||||
|
||||
// 将图片绘制到canvas上
|
||||
ctx.drawImage(image, 0, 0, canvas.width, canvas.height);
|
||||
let posXmargin = 10; //this.data.posXmargin // 自定义离左/右边的距离
|
||||
let posYmargin = 10; // this.data.posYmargin // 自定义离上/下边的距离
|
||||
let randomNumber = 3; //Math.floor(Math.random() * (3 + 1));
|
||||
console.log("randomNumber:" + randomNumber);
|
||||
switch (randomNumber) {
|
||||
case 0: //左上角
|
||||
let lt_x = posXmargin;
|
||||
let lt_y = posYmargin + textHeight;
|
||||
ctx.font = font;
|
||||
ctx.fillStyle = fontColor;
|
||||
ctx.storkStyle = "black";
|
||||
ctx.strokeWidth = strokeWidth;
|
||||
ctx.fillStyle = "#fff";
|
||||
ctx.fillText(maskText, lt_x, lt_y);
|
||||
|
||||
//ctx.restore()
|
||||
//ctx.save()
|
||||
break;
|
||||
case 1: //左下角
|
||||
let lb_x = posXmargin;
|
||||
let lb_y = imgHeight - posYmargin;
|
||||
ctx.font = font;
|
||||
ctx.fillStyle = fontColor;
|
||||
ctx.strokeStyle = "black";
|
||||
ctx.strokeWidth = strokeWidth;
|
||||
ctx.fillStyle = "#fff";
|
||||
ctx.fillText(maskText, lb_x, lb_y);
|
||||
//ctx.restore()
|
||||
//ctx.save()
|
||||
break;
|
||||
|
||||
case 2: //右上角
|
||||
let rt_x =
|
||||
imgWidth - textWidth * 2.9 - posXmargin <= 0
|
||||
? 10
|
||||
: imgWidth - textWidth * 2.9 - posXmargin;
|
||||
let rt_y = posYmargin + textHeight * 2;
|
||||
ctx.font = font;
|
||||
ctx.fillStyle = fontColor;
|
||||
ctx.strokeStyle = "black";
|
||||
ctx.strokeWidth = strokeWidth;
|
||||
ctx.fillStyle = "#fff";
|
||||
ctx.fillText(maskText, rt_x, rt_y);
|
||||
ctx.restore();
|
||||
ctx.save();
|
||||
break;
|
||||
case 3: //右下角
|
||||
let rb_x =
|
||||
imgWidth - textWidth * 6 - posXmargin <= 0
|
||||
? 10
|
||||
: imgWidth - 276- posXmargin;
|
||||
console.log(rb_x)
|
||||
let rb_y = imgHeight - posYmargin;
|
||||
ctx.font = font;
|
||||
ctx.fillStyle = fontColor;
|
||||
ctx.strokeStyle = "black";
|
||||
ctx.strokeWidth = strokeWidth;
|
||||
ctx.fillStyle = "#fff";
|
||||
ctx.fillText(maskText, rb_x, rb_y);
|
||||
//ctx.restore()
|
||||
//ctx.save()
|
||||
break;
|
||||
}
|
||||
|
||||
//ctx.restore()
|
||||
// 将canvas转为图片
|
||||
//setTimeout(() => {
|
||||
wx.canvasToTempFilePath({
|
||||
canvas: canvas,
|
||||
success: function (res) {
|
||||
// 输出生成的带水印的图片临时路径
|
||||
resolve(res.tempFilePath);
|
||||
//wx.previewImage({ urls: [res.tempFilePath] });
|
||||
|
||||
},
|
||||
fail: function (res) {
|
||||
// reject(res)
|
||||
console.error(res);
|
||||
},
|
||||
});
|
||||
|
||||
//})
|
||||
};
|
||||
},
|
||||
});
|
||||
});
|
||||
});
|
||||
};
|
||||
const fillTextToImg = (base64) => {
|
||||
const img = new Image();
|
||||
img.src = base64;
|
||||
img.setAttribute("crossOrigin", "Anonymous");
|
||||
return new Promise((resolve, reject) => {
|
||||
img.onload = () => {
|
||||
const canvas = document.createElement("canvas");
|
||||
const ctx = canvas.getContext("2d");
|
||||
canvas.width = img.width;
|
||||
canvas.height = img.height;
|
||||
ctx.fillRect(0, 0, canvas.width, canvas.height);
|
||||
ctx.drawImage(img, 0, 0, canvas.width, canvas.height);
|
||||
const remFontSize = 30; //canvas.width / 35;
|
||||
ctx.font = remFontSize + "px '微软雅黑'";
|
||||
ctx.textAlign = "right";
|
||||
ctx.strokeStyle = "#000";
|
||||
ctx.fillStyle = "#fff";
|
||||
const uploadTime = new Date();
|
||||
const name = "@肝胆相照临床病例库";
|
||||
const spaceH = remFontSize * 0.1;
|
||||
let randomNumber = 3//Math.floor(Math.random() * (3 + 1));
|
||||
let position = [
|
||||
{
|
||||
top: remFontSize,
|
||||
left: name.length * 30 || 30,
|
||||
},
|
||||
{
|
||||
top: remFontSize,
|
||||
left: canvas.width - remFontSize * 0.1 - spaceH,
|
||||
},
|
||||
{
|
||||
top: canvas.height - remFontSize * 0.5 - spaceH,
|
||||
left: name.length * 30 || 30,
|
||||
},
|
||||
{
|
||||
top: canvas.height - remFontSize * 0.5 - spaceH,
|
||||
left: canvas.width - remFontSize * 0.1 - spaceH,
|
||||
},
|
||||
];
|
||||
ctx.strokeText(
|
||||
name,
|
||||
position[randomNumber].left,
|
||||
position[randomNumber].top
|
||||
);
|
||||
ctx.fillText(
|
||||
name,
|
||||
position[randomNumber].left,
|
||||
position[randomNumber].top
|
||||
);
|
||||
resolve(canvas.toDataURL("image/jpeg"));
|
||||
};
|
||||
});
|
||||
};
|
||||
const generateRandomNumber = () => {
|
||||
let randomNumber = Math.floor(1000 + Math.random() * 9000);
|
||||
return randomNumber;
|
||||
};
|
||||
// 图片转64代
|
||||
const getImageBase64 = (url) => {
|
||||
return new Promise((resolve, reject) => {
|
||||
const xhr = new XMLHttpRequest();
|
||||
xhr.open("GET", url, true);
|
||||
xhr.responseType = "blob";
|
||||
xhr.onload = function () {
|
||||
if (this.status == 200) {
|
||||
const fileReader = new FileReader();
|
||||
fileReader.onloadend = function () {
|
||||
resolve(fileReader.result); // Base64编码的字符串
|
||||
};
|
||||
fileReader.readAsDataURL(xhr.response); // 将blob转换为base64
|
||||
} else {
|
||||
reject("Could not fetch the file.");
|
||||
}
|
||||
};
|
||||
xhr.onerror = function () {
|
||||
reject("XHR error");
|
||||
};
|
||||
xhr.send();
|
||||
});
|
||||
};
|
||||
const getImageFormat = (imageUrl) => {
|
||||
console.log(imageUrl);
|
||||
const lastDotIndex = imageUrl.lastIndexOf(".");
|
||||
@ -307,66 +548,76 @@
|
||||
}
|
||||
return "unknown";
|
||||
};
|
||||
const handleUpload = (file) => {
|
||||
api
|
||||
.getOss({
|
||||
scene: 1,
|
||||
})
|
||||
.then((rep) => {
|
||||
let result = rep.data;
|
||||
if (result.code == 200) {
|
||||
let { access_id, dir, policy, signature, host } = result.data;
|
||||
|
||||
let time = dayjs().format("YYYYMMDDHHmmss");
|
||||
let random = generateRandomNumber();
|
||||
let filename = time + random;
|
||||
let imgType = "." + getImageFormat(file);
|
||||
return new Promise((resolve, reject) => {
|
||||
uni.uploadFile({
|
||||
url: host, // 仅为示例,非真实的接口地址
|
||||
filePath: file,
|
||||
name: "file",
|
||||
formData: {
|
||||
OSSAccessKeyId: access_id,
|
||||
policy,
|
||||
key: dir + time + random + imgType,
|
||||
signature,
|
||||
},
|
||||
success(res) {
|
||||
if (res.statusCode === 204) {
|
||||
let url = host + "/" + dir + filename + imgType;
|
||||
//imgList.value.push(url);
|
||||
addImage([url]);
|
||||
}
|
||||
},
|
||||
fail: (err) => {
|
||||
console.log(err);
|
||||
},
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
const pFun = (files) => {
|
||||
uni.showLoading({
|
||||
title: "正在上传图片...",
|
||||
mask: true,
|
||||
});
|
||||
|
||||
const getOss=(temurl)=>{
|
||||
api
|
||||
.getOss({
|
||||
scene: 1,
|
||||
})
|
||||
.then((rep) => {
|
||||
let result = rep.data;
|
||||
if (result.code == 200) {
|
||||
let { access_id, dir, policy, signature, host } = result.data;
|
||||
|
||||
let time = dayjs().format("YYYYMMDDHHmmss");
|
||||
let random = generateRandomNumber();
|
||||
let filename = time + random;
|
||||
let imgType = "." + getImageFormat(temurl);
|
||||
return new Promise((resolve, reject) => {
|
||||
uni.uploadFile({
|
||||
url: host, // 仅为示例,非真实的接口地址
|
||||
filePath:temurl,
|
||||
name: "file",
|
||||
formData: {
|
||||
OSSAccessKeyId: access_id,
|
||||
policy,
|
||||
key: dir + time + random + imgType,
|
||||
signature,
|
||||
},
|
||||
success(res) {
|
||||
if (res.statusCode === 204) {
|
||||
let url = host + "/" + dir + filename + imgType;
|
||||
//imgList.value.push(url);
|
||||
addImage([url]);
|
||||
}
|
||||
},
|
||||
fail: (err) => {
|
||||
console.log(err);
|
||||
},
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
const readImages = async (localIds) => {
|
||||
uni.showLoading({
|
||||
title: "正在上传图片...",
|
||||
mask: true,
|
||||
});
|
||||
|
||||
console.log(localIds);
|
||||
let promiseFun = [];
|
||||
for (let i = 0; i < files.length; i++) {
|
||||
promiseFun.push(handleUpload(files[i]));
|
||||
}
|
||||
Promise.all(promiseFun).then((res) => {
|
||||
uni.hideLoading();
|
||||
|
||||
// setTimeout(()=>{
|
||||
// console.log(imgList.value.length)
|
||||
// addImage(imgList.value)
|
||||
// })
|
||||
});
|
||||
};
|
||||
for (var i = 0; i < localIds.length; i++) {
|
||||
let img = null;
|
||||
// #ifdef H5
|
||||
let imgBase64 = await getImageBase64(localIds[i]);
|
||||
img = await fillTextToImg(imgBase64);
|
||||
// #endif
|
||||
// #ifdef MP-WEIXIN
|
||||
img = await fillTextToImgWx(localIds[i]);
|
||||
// #endif
|
||||
promiseFun.push(getOss(img))
|
||||
|
||||
};
|
||||
Promise.all(promiseFun).then((res) => {
|
||||
uni.showToast({
|
||||
duration: 1000,
|
||||
message: "上传成功",
|
||||
icon:"none"
|
||||
});
|
||||
});
|
||||
}
|
||||
const insertImage = (file) => {
|
||||
showCanvas.value=true;
|
||||
//if (!(!isFocusInfo.value && !isFocusResult.value)) {
|
||||
uni.chooseImage({
|
||||
count: 9, //默认9
|
||||
@ -374,7 +625,8 @@
|
||||
sourceType: ["album"], //从相册选择
|
||||
extension: [".jpg", ".png", ".jpeg"],
|
||||
success: function (res) {
|
||||
pFun(res.tempFilePaths);
|
||||
|
||||
readImages(res.tempFilePaths);
|
||||
},
|
||||
});
|
||||
//}
|
||||
@ -384,7 +636,7 @@
|
||||
title: "正在上传视频...",
|
||||
mask: true,
|
||||
});
|
||||
const videos = await addVideo(async (editorCtx) => {
|
||||
const videos = await addVideo(async (PeditorCtx) => {
|
||||
return new Promise((resolve) => {
|
||||
api
|
||||
.getOss({
|
||||
@ -413,11 +665,7 @@
|
||||
async success(res) {
|
||||
if (res.statusCode === 204) {
|
||||
let url = host + "/" + dir + filename + imgType;
|
||||
|
||||
let imgUrl =videoface;
|
||||
const fileThumbnail = await editorCtx.createCoverThumbnail(
|
||||
imgUrl
|
||||
);
|
||||
const fileThumbnail = await PeditorCtx.createCoverThumbnail(videoface.value);
|
||||
resolve([
|
||||
{
|
||||
videoUrl: url,
|
||||
@ -466,9 +714,16 @@
|
||||
console.log('qqqqqq')
|
||||
showTitle.value = true;
|
||||
};
|
||||
const initData=(data)=>{
|
||||
console.log('init');
|
||||
console.log(data)
|
||||
htmlContent.value=data;
|
||||
}
|
||||
|
||||
defineExpose({initData})
|
||||
</script>
|
||||
|
||||
<style lang='scss'scoped>
|
||||
<style lang='scss' scoped>
|
||||
.row{
|
||||
padding: 30rpx 30rpx 0;
|
||||
display: flex;
|
||||
|
||||
@ -26,7 +26,7 @@
|
||||
</view>
|
||||
</view>
|
||||
<view class="list">
|
||||
<view class="cell" v-for="item in most_read_articles.slice(0,3)" :key="item.exchange_id" @click="goDetail(item.exchange_id)">
|
||||
<view class="cell" v-for="item in most_read_articles" :key="item.exchange_id" @click="goDetail(item.exchange_id)">
|
||||
<view class="circle"></view>
|
||||
<view class="title ellipsis-one-lines">{{ item.exchange_title }}</view>
|
||||
</view>
|
||||
@ -73,7 +73,7 @@
|
||||
>
|
||||
<view
|
||||
class="imgcell"
|
||||
v-for="unit in item.exchange_content_image"
|
||||
v-for="unit in item.exchange_content_image.splice(0,3)"
|
||||
:key="unit"
|
||||
>
|
||||
<up--image
|
||||
@ -97,7 +97,7 @@
|
||||
>
|
||||
<video
|
||||
:key="index"
|
||||
v-for="(videoCell, index) in item.exchange_content_video"
|
||||
v-for="(videoCell, index) in item.exchange_content_video.slice(0,1)"
|
||||
class="myVideo"
|
||||
|
||||
:src="videoCell"
|
||||
@ -106,10 +106,11 @@
|
||||
></video>
|
||||
</view>
|
||||
</view>
|
||||
<view class="tagbox" @click="goDetail(item.exchange_id)" v-if="item.label && item.label.length > 0">
|
||||
|
||||
<view class="tagbox" @click="goDetail(item.exchange_id)" v-if="item.exchange_label">
|
||||
<view
|
||||
class="tag"
|
||||
v-for="cell in item.label"
|
||||
v-for="cell in item.exchange_label"
|
||||
:key="cell.exchange_label_id"
|
||||
>{{ cell.label_name }}</view
|
||||
>
|
||||
@ -204,7 +205,10 @@ const goDetail = (id) => {
|
||||
const searchList = async () => {
|
||||
let searchForm = {
|
||||
page: 1,
|
||||
page_size: 10
|
||||
page_size: 10,
|
||||
order:{
|
||||
push_date:'desc'
|
||||
}
|
||||
};
|
||||
|
||||
api.searchExchage({
|
||||
@ -227,7 +231,10 @@ const htmlToText=(html)=>{
|
||||
const goodList=()=>{
|
||||
api.searchExchageGood({
|
||||
is_selected:1,
|
||||
limit:5
|
||||
order:{
|
||||
push_date:'desc'
|
||||
},
|
||||
limit:3
|
||||
}).then(res=>{
|
||||
most_read_articles.value=res.data.data
|
||||
})
|
||||
@ -237,6 +244,7 @@ const hotList=()=>{
|
||||
is_selected:0,
|
||||
limit:5,
|
||||
page:1,
|
||||
|
||||
page_size:5
|
||||
}).then(res=>{
|
||||
})
|
||||
|
||||
@ -27,6 +27,7 @@ onLoad((options) => {
|
||||
|
||||
<style lang='scss' scoped>
|
||||
.imgbox{
|
||||
margin-top: -30rpx;
|
||||
margin: -30rpx 30rpx 0;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
</style>
|
||||
|
||||
@ -5,6 +5,7 @@
|
||||
loading-more-no-more-text="咱也是有底线的!"
|
||||
:auto-show-back-to-top="false"
|
||||
v-model="dataList"
|
||||
refresher-out-rate="0.8"
|
||||
:empty-view-super-style="{'paddingBottom':'140rpx'}"
|
||||
:refresher-title-style="{'paddingBottom':'60rpx','paddingTop':'10rpx'}"
|
||||
:refresher-img-style="{'paddingBottom':'60rpx','paddingTop':'10rpx'}"
|
||||
@ -24,15 +25,19 @@
|
||||
radius="50%"
|
||||
></up--image>
|
||||
<view class="iptcon" @click="open">
|
||||
<up-input
|
||||
@click="open"
|
||||
disabled
|
||||
:focus="false"
|
||||
type="text"
|
||||
placeholderClass="placeholderClass"
|
||||
placeholder="对病例发表您的看法"
|
||||
class="ipt"
|
||||
/>
|
||||
<view class="maskipt" @click="open"></view>
|
||||
|
||||
<up-input
|
||||
@click="open"
|
||||
disabled
|
||||
:focus="false"
|
||||
type="text"
|
||||
placeholderClass="placeholderClass"
|
||||
placeholder="对病例发表您的看法"
|
||||
class="ipt"
|
||||
/>
|
||||
|
||||
|
||||
</view>
|
||||
</view>
|
||||
<view class="right">
|
||||
@ -60,10 +65,10 @@
|
||||
}}</view>
|
||||
<view class="title" v-else>{{ info.exchange_title }}</view>
|
||||
<view class="content" >
|
||||
<view class="info" v-for="item in info.author" v-if="type == 'video' || type == 'article'">
|
||||
<view class="info" v-for="item in info.author" :key ="item" v-if="type == 'video' || type == 'article'">
|
||||
<up--image
|
||||
:src="headImg"
|
||||
mode="widthFix"
|
||||
:src="item.avatar?item.avatar:headImg"
|
||||
|
||||
class="headImg"
|
||||
width="46rpx"
|
||||
height="46rpx"
|
||||
@ -75,8 +80,8 @@
|
||||
</view>
|
||||
<view class="info" v-else>
|
||||
<up--image
|
||||
:src="headImg"
|
||||
mode="widthFix"
|
||||
:src="info.avatar?info.avatar:headImg"
|
||||
|
||||
class="headImg"
|
||||
width="46rpx"
|
||||
height="46rpx"
|
||||
@ -145,7 +150,7 @@
|
||||
<view class="videobox" v-else>
|
||||
<view class="cloumn" v-if="info.exchange_content">
|
||||
<view class="stitle">病例信息</view>
|
||||
<up-parse :content="fromatImg(info.exchange_content)"></up-parse>
|
||||
<up-parse :content="fromatImg(info.exchange_content)" style="overflow-y: hidden;"></up-parse>
|
||||
<!-- <view class="con" v-html="fromatImg(info.exchange_content)"></view> -->
|
||||
</view>
|
||||
<view class="cloumn" v-if="info.exchange_summary">
|
||||
@ -154,17 +159,17 @@
|
||||
<!-- <view class="con" v-html="fromatImg(info.exchange_summary)"></view> -->
|
||||
</view>
|
||||
<view class="bar"></view>
|
||||
<view class="detail" v-if="info.case_exchange_vote && info.case_exchange_vote.vote_title">
|
||||
<view class="votebox" v-if="info.case_exchange_vote.is_have_voted!=1">
|
||||
<view class="detail" v-if="info.exchange_vote && info.exchange_vote.vote_title">
|
||||
<view class="votebox" v-if="info.exchange_vote.is_have_voted!=1">
|
||||
<view class="name">在线投票</view>
|
||||
<view class="title" >{{ info.case_exchange_vote.vote_title }}</view>
|
||||
<view class="title" >{{ info.exchange_vote.vote_title }}</view>
|
||||
<view class="group">
|
||||
<up-radio-group
|
||||
v-model="option_id"
|
||||
placement="column"
|
||||
|
||||
>
|
||||
<view class="row" v-for="item in info.case_exchange_vote.case_exchange_vote_option" :key="item.option_id">
|
||||
<view class="row" v-for="item in info.exchange_vote.case_exchange_vote_option" :key="item.option_id">
|
||||
<up-radio
|
||||
activeColor="#3CC7C0"
|
||||
:label="item.option_value"
|
||||
@ -178,9 +183,9 @@
|
||||
</view>
|
||||
<view class="votebox" v-else>
|
||||
<view class="name">在线投票</view>
|
||||
<view class="title">{{ info.case_exchange_vote.vote_title }}</view>
|
||||
<view class="title">{{ info.exchange_vote.vote_title }}</view>
|
||||
<view class="options">
|
||||
<view class="option" v-for="item in info.case_exchange_vote.case_exchange_vote_option" :key="item.option_id">
|
||||
<view class="option" v-for="item in info.exchange_vote.case_exchange_vote_option" :key="item.option_id">
|
||||
<view class="row">
|
||||
<view class="left">{{item.option_value }}</view>
|
||||
<view class="num">{{item.proportion}}%</view>
|
||||
@ -218,7 +223,7 @@
|
||||
:key="item.comment_id"
|
||||
>
|
||||
<up--image
|
||||
:src="headImg"
|
||||
:src="item.avatar?item.avatar:headImg"
|
||||
class="headImg"
|
||||
width="86rpx"
|
||||
height="86rpx"
|
||||
@ -230,7 +235,7 @@
|
||||
<view class="namebox">
|
||||
<view class="name"> {{ item.user_name }}</view>
|
||||
<up--image
|
||||
v-if="user_id==item.user_id"
|
||||
v-if="doctor_id==item.doctor_id"
|
||||
:src="selfImg"
|
||||
class="selfImg"
|
||||
width="69rpx"
|
||||
@ -247,7 +252,7 @@
|
||||
item.user_name,
|
||||
item.is_top,
|
||||
2,
|
||||
item.user_id
|
||||
item.doctor_id
|
||||
)
|
||||
"
|
||||
>...</view
|
||||
@ -275,7 +280,7 @@
|
||||
style="padding-left: 0;padding-right:0"
|
||||
>
|
||||
<up--image
|
||||
:src="headImg"
|
||||
:src="cell.avatar?cell.avatar:headImg"
|
||||
class="headImg"
|
||||
width="86rpx"
|
||||
height="86rpx"
|
||||
@ -286,7 +291,7 @@
|
||||
<view class="namebox">
|
||||
<view class="name"> {{ cell.user_name }}</view>
|
||||
<up--image
|
||||
v-if="user_id==cell.user_id"
|
||||
v-if="doctor_id==cell.doctor_id"
|
||||
:src="selfImg"
|
||||
class="selfImg"
|
||||
width="69rpx"
|
||||
@ -303,7 +308,7 @@
|
||||
cell.user_name,
|
||||
cell.is_top,
|
||||
3,
|
||||
cell.user_id
|
||||
cell.doctor_id
|
||||
)
|
||||
"
|
||||
>...</view
|
||||
@ -330,7 +335,7 @@
|
||||
class="expand"
|
||||
@click="openMorePop(item, item.sub_comment, index)"
|
||||
v-if="item.sub_comment.length > 3"
|
||||
>——展开更多回复</view
|
||||
>——展开更多回复<view class="iconbox"><up-icon name="arrow-down" color="#3cc7c0" size="38rpx"></up-icon></view></view
|
||||
>
|
||||
</view>
|
||||
</view>
|
||||
@ -412,11 +417,11 @@
|
||||
@open="openDeal"
|
||||
>
|
||||
<view class="dealbox">
|
||||
<view class="dealcell" @click="toggleTop" v-if="level == 2 && is_author">{{
|
||||
<view class="dealcell" @click="toggleTop" v-if="level == 2 && isArticleAuthor">{{
|
||||
is_top ? "取消置顶" : "置顶"
|
||||
}}</view>
|
||||
<view class="dealcell" @click="openCommentDialog">回复</view>
|
||||
<view class="dealcell" v-if="is_author || user_id==comment_userId" @click="delComment">删除</view>
|
||||
<view class="dealcell" v-if="isArticleAuthor || doctor_id==comment_doctorId" @click="delComment">删除</view>
|
||||
<view class="bar"></view>
|
||||
<view class="dealcell" @click="closeDealPop">取消</view>
|
||||
</view>
|
||||
@ -443,7 +448,7 @@
|
||||
<view class="unit commentcon">
|
||||
<view class="item">
|
||||
<up--image
|
||||
:src="headImg"
|
||||
:src="mainCommentObj.avatar?mainCommentObj.avatar:headImg"
|
||||
class="headImg"
|
||||
width="86rpx"
|
||||
height="86rpx"
|
||||
@ -455,7 +460,7 @@
|
||||
<view class="namebox">
|
||||
<view class="name"> {{ mainCommentObj.user_name}}</view>
|
||||
<up--image
|
||||
v-if="user_id==mainCommentObj.user_id"
|
||||
v-if="doctor_id==mainCommentObj.doctor_id"
|
||||
:src="selfImg"
|
||||
class="selfImg"
|
||||
width="69rpx"
|
||||
@ -472,7 +477,7 @@
|
||||
mainCommentObj.user_name,
|
||||
mainCommentObj.is_top,
|
||||
2,
|
||||
mainCommentObj.user_id
|
||||
mainCommentObj.doctor_id
|
||||
)
|
||||
"
|
||||
>...</view
|
||||
@ -501,7 +506,7 @@
|
||||
:key="cell.comment_id"
|
||||
>
|
||||
<up--image
|
||||
:src="headImg"
|
||||
:src="cell.avatar?cell.avatar:headImg"
|
||||
class="headImg"
|
||||
width="86rpx"
|
||||
height="86rpx"
|
||||
@ -512,7 +517,7 @@
|
||||
<view class="namebox">
|
||||
<view class="name">{{ cell.user_name}}</view>
|
||||
<up--image
|
||||
v-if="user_id==cell.user_id"
|
||||
v-if="doctor_id==cell.doctor_id"
|
||||
:src="selfImg"
|
||||
class="selfImg"
|
||||
width="69rpx"
|
||||
@ -529,7 +534,7 @@
|
||||
cell.user_name,
|
||||
cell.is_top,
|
||||
3,
|
||||
cell.user_id
|
||||
cell.doctor_id
|
||||
)
|
||||
"
|
||||
>...</view
|
||||
@ -616,18 +621,21 @@ import commentImg from "@/static/comment_icon.png";
|
||||
import selfImg from "@/static/benren.png";
|
||||
import list from "@/uni_modules/z-paging/components/z-paging/z-paging";
|
||||
import api from "@/api/api";
|
||||
import throttle from "@/utils/throttle"
|
||||
import { onLoad } from "@dcloudio/uni-app";
|
||||
import dayjs from "dayjs";
|
||||
// #ifdef H5
|
||||
import baoliVideo from "@/components/baoliVideo/baoliVideo.vue";
|
||||
import { linkFlag } from "../../uni_modules/sv-editor/components/common/utils";
|
||||
// #endif
|
||||
const isArticleAuthor=ref(false)
|
||||
const isH5=ref(process.env.UNI_PLATFORM =="h5");
|
||||
const user_id=ref('');
|
||||
const doctor_id=ref('');
|
||||
const paging = ref(null);
|
||||
const dataList = ref([]);
|
||||
const total = ref(0);
|
||||
const imgList = ref([]);
|
||||
const showCanvas = ref(false);
|
||||
const showCanvas = ref(true);
|
||||
const showCommentDialog = ref(false);
|
||||
const givePointValue = ref(5);
|
||||
const canvasWidth = ref(0);
|
||||
@ -652,7 +660,7 @@ const clickIndex = ref(0);
|
||||
const is_top = ref(false);
|
||||
const option_id = ref("");
|
||||
const point=ref(0)
|
||||
const comment_userId=ref('');
|
||||
const comment_doctorId=ref('');
|
||||
const commentTextarea=ref(null)
|
||||
|
||||
const confirmGive = () => {
|
||||
@ -718,18 +726,33 @@ const getArticleDetail = (id) => {
|
||||
api.getArticleDetail(id).then((res) => {
|
||||
let result = res.data.data;
|
||||
Object.assign(info, result);
|
||||
for (let i= 0; i< info.author.length; i++) {
|
||||
if(info.author[i].doctor_id==doctor_id.value){
|
||||
isArticleAuthor.value=true;
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
};
|
||||
const getVideoDetail = (id) => {
|
||||
api.getVideoDetail(id).then((res) => {
|
||||
let result = res.data.data;
|
||||
Object.assign(info, result);
|
||||
for (let i= 0; i< info.author.length; i++) {
|
||||
if(info.author[i].doctor_id==doctor_id.value){
|
||||
isArticleAuthor.value=true;
|
||||
}
|
||||
|
||||
}
|
||||
});
|
||||
};
|
||||
const getExchangeDetail = (id) => {
|
||||
api.getExchangeDetail(id).then((res) => {
|
||||
let result = res.data.data;
|
||||
Object.assign(info, result);
|
||||
if(info.doctor_id==doctor_id.value){
|
||||
isArticleAuthor.value=true;
|
||||
}
|
||||
});
|
||||
};
|
||||
const getUserPoint=()=>{
|
||||
@ -769,14 +792,47 @@ const givePoint=()=>{
|
||||
showGive.value=false;
|
||||
})
|
||||
}
|
||||
const getQueryParam=(param,link)=>{
|
||||
const url = link;
|
||||
// 构造正则表达式,匹配 ? 或 & 后面跟随的参数名称和其值
|
||||
const regex = new RegExp('[?&]' + param + '=([^&#]*)', 'i');
|
||||
const result = regex.exec(url);
|
||||
return result ? decodeURIComponent(result[1]) : null;
|
||||
};
|
||||
onLoad((options) => {
|
||||
id.value = options.id;
|
||||
type.value = options.type;
|
||||
readRecord()
|
||||
if(options.scene){
|
||||
|
||||
var decodedURL = decodeURIComponent(options.scene);
|
||||
|
||||
let idStr=getQueryParam('id',decodedURL);
|
||||
|
||||
let typeStr=getQueryParam('type',decodedURL);
|
||||
|
||||
if(idStr){
|
||||
id.value=idStr;
|
||||
}
|
||||
if(typeStr){
|
||||
if(typeStr==1){
|
||||
type.value='article';
|
||||
}else if(typeStr==2){
|
||||
type.value='video';
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}else{
|
||||
id.value = options.id;
|
||||
type.value = options.type;
|
||||
}
|
||||
|
||||
|
||||
console.log('id:'+id.value)
|
||||
console.log('type:'+type.value)
|
||||
readRecord()
|
||||
|
||||
let userInfo=uni.getStorageSync('userInfo');
|
||||
if(userInfo.user_id){
|
||||
user_id.value=userInfo.user_id;
|
||||
if(userInfo.doctor_id){
|
||||
doctor_id.value=userInfo.doctor_id;
|
||||
}
|
||||
|
||||
});
|
||||
@ -785,6 +841,7 @@ const clearComment = () => {
|
||||
imgList.value = [];
|
||||
content.value = "";
|
||||
root_id.value = null;
|
||||
placeholder.value="请输入评论内容"
|
||||
//is_author.value = false;
|
||||
reply_name.value = "";
|
||||
level.value = 1;
|
||||
@ -806,7 +863,7 @@ const showReplyPop = () => {
|
||||
};
|
||||
const alertDeal = (parentId, rootId, name, top, commentLevel,userId) => {
|
||||
parent_id.value = parentId;
|
||||
comment_userId.value=userId;
|
||||
comment_doctorId.value=userId;
|
||||
root_id.value = rootId;
|
||||
//is_author.value = isAuthor == 1 ? true : false;
|
||||
reply_name.value = name;
|
||||
@ -927,7 +984,7 @@ const open = () => {
|
||||
};
|
||||
const close = () => {
|
||||
showCommentDialog.value = false;
|
||||
console.log("close");
|
||||
clearComment();
|
||||
};
|
||||
|
||||
const openDeal = () => {
|
||||
@ -953,8 +1010,7 @@ const previewImg = (url) => {
|
||||
};
|
||||
|
||||
const fillTextToImgWx = (base64) => {
|
||||
let maskText = "@zjd嗯嗯嗯嗯嗯嗯3评论暂时真实的334";
|
||||
|
||||
let maskText = "@肝胆相照临床病例库";
|
||||
return new Promise((resolve, reject) => {
|
||||
wx.createSelectorQuery()
|
||||
.select("#watermarkCanvas")
|
||||
@ -982,15 +1038,15 @@ const fillTextToImgWx = (base64) => {
|
||||
let font = ""; //fontsize"px Arial";
|
||||
|
||||
let fontColor = "#fff";
|
||||
let strokeWidth = 3;
|
||||
let strokeWidth =5;
|
||||
uni.getImageInfo({
|
||||
src: base64,
|
||||
success: (imageRes) => {
|
||||
// 设置canvas宽高
|
||||
let scale =
|
||||
(imageRes.width / 800) * 30 > 12
|
||||
? (imageRes.width / 800) * 30
|
||||
: 12;
|
||||
let scale =28;
|
||||
// (imageRes.width / 800) * 30 > 12
|
||||
// ? (imageRes.width / 800) * 30
|
||||
// : 12;
|
||||
font = scale + "px Arial";
|
||||
console.log(imageRes);
|
||||
canvas.width = imageRes.width;
|
||||
@ -1046,7 +1102,7 @@ const fillTextToImgWx = (base64) => {
|
||||
let rt_y = posYmargin + textHeight * 2;
|
||||
ctx.font = font;
|
||||
ctx.fillStyle = fontColor;
|
||||
ctx.strokeStyle = "black";
|
||||
ctx.strokeStyle = "#000";
|
||||
ctx.strokeWidth = strokeWidth;
|
||||
ctx.fillStyle = "#fff";
|
||||
ctx.fillText(maskText, rt_x, rt_y);
|
||||
@ -1055,15 +1111,18 @@ const fillTextToImgWx = (base64) => {
|
||||
break;
|
||||
case 3: //右下角
|
||||
let rb_x =
|
||||
imgWidth - textWidth * 2.9 - posXmargin <= 0
|
||||
imgWidth - 276 - posXmargin <= 0
|
||||
? 10
|
||||
: imgWidth - textWidth * 2.9 - posXmargin;
|
||||
: imgWidth - 276- posXmargin;
|
||||
console.log(rb_x)
|
||||
let rb_y = imgHeight - posYmargin;
|
||||
ctx.font = font;
|
||||
ctx.fillStyle = fontColor;
|
||||
ctx.strokeStyle = "black";
|
||||
ctx.strokeWidth = strokeWidth;
|
||||
ctx.fillStyle = "#fff";
|
||||
console.log('rb_x')
|
||||
console.log(rb_x)
|
||||
ctx.fillText(maskText, rb_x, rb_y);
|
||||
//ctx.restore()
|
||||
//ctx.save()
|
||||
@ -1078,8 +1137,8 @@ const fillTextToImgWx = (base64) => {
|
||||
success: function (res) {
|
||||
// 输出生成的带水印的图片临时路径
|
||||
resolve(res.tempFilePath);
|
||||
wx.previewImage({ urls: [res.tempFilePath] });
|
||||
showCanvas.value = false;
|
||||
//wx.previewImage({ urls: [res.tempFilePath] });
|
||||
|
||||
},
|
||||
fail: function (res) {
|
||||
// reject(res)
|
||||
@ -1112,9 +1171,9 @@ const fillTextToImg = (base64) => {
|
||||
ctx.strokeStyle = "#000";
|
||||
ctx.fillStyle = "#fff";
|
||||
const uploadTime = new Date();
|
||||
const name = "@zjd";
|
||||
const name = "@肝胆相照临床病例库";
|
||||
const spaceH = remFontSize * 0.1;
|
||||
let randomNumber = Math.floor(Math.random() * (3 + 1));
|
||||
let randomNumber = 3//Math.floor(Math.random() * (3 + 1));
|
||||
let position = [
|
||||
{
|
||||
top: remFontSize,
|
||||
@ -1187,28 +1246,24 @@ const readImages = async (localIds) => {
|
||||
//let localData = await doreadImage(localIds[i]);
|
||||
|
||||
let img = null;
|
||||
/* #ifdef H5 */
|
||||
|
||||
let imgBase64 = await getImageBase64(localIds[i]);
|
||||
// #ifdef H5
|
||||
let imgBase64 = await getImageBase64(localIds[i].url);
|
||||
img = await fillTextToImg(imgBase64);
|
||||
console.log(img);
|
||||
uni.previewImage({ urls: [img] });
|
||||
/* #endif */
|
||||
/* #ifdef MP-WEIXIN */
|
||||
let imgpromise = await fillTextToImgWx(localIds[i]);
|
||||
|
||||
console.log(22222);
|
||||
//console.log(imgBase64);
|
||||
/* #endif */
|
||||
|
||||
|
||||
|
||||
// #endif
|
||||
// #ifdef MP-WEIXIN
|
||||
img = await fillTextToImgWx(localIds[i].url);
|
||||
// #endif
|
||||
promiseFun.push(getOss(img))
|
||||
//let imgFile = base64ToFile(img, new Date().getTime() + ".jpg");
|
||||
// console.log(imgFile)
|
||||
//promiseFun.push(uploadImg(imgFile));
|
||||
}
|
||||
Promise.all(promiseFun).then((res) => {
|
||||
uni.showToast({
|
||||
duration: 1000,
|
||||
message: "上传成功",
|
||||
title: "上传成功",
|
||||
icon:"none"
|
||||
});
|
||||
});
|
||||
};
|
||||
@ -1259,49 +1314,52 @@ const chooseImg = () => {
|
||||
},
|
||||
});
|
||||
};
|
||||
|
||||
const getOss=(temurl)=>{
|
||||
api
|
||||
.getOss({
|
||||
scene: 1,
|
||||
})
|
||||
.then((rep) => {
|
||||
let result = rep.data;
|
||||
if (result.code == 200) {
|
||||
let { access_id, dir, policy, signature, host } = result.data;
|
||||
|
||||
let time = dayjs().format("YYYYMMDDHHmmss");
|
||||
let random = generateRandomNumber();
|
||||
let filename = time + random;
|
||||
let imgType = "." + getImageFormat(temurl);
|
||||
return new Promise((resolve, reject) => {
|
||||
uni.uploadFile({
|
||||
url: host, // 仅为示例,非真实的接口地址
|
||||
filePath:temurl,
|
||||
name: "file",
|
||||
formData: {
|
||||
OSSAccessKeyId: access_id,
|
||||
policy,
|
||||
key: dir + time + random + imgType,
|
||||
signature,
|
||||
},
|
||||
success(res) {
|
||||
if (res.statusCode === 204) {
|
||||
let url = host + "/" + dir + filename + imgType;
|
||||
console.log(url);
|
||||
imgList.value = [url];
|
||||
}
|
||||
},
|
||||
fail: (err) => {
|
||||
console.log(err);
|
||||
},
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
const handleUpload = (file) => {
|
||||
let File = file.file;
|
||||
console.log(111);
|
||||
console.log(File);
|
||||
readImages(File)
|
||||
|
||||
// 打印文件对象
|
||||
api
|
||||
.getOss({
|
||||
scene: 1,
|
||||
})
|
||||
.then((rep) => {
|
||||
let result = rep.data;
|
||||
if (result.code == 200) {
|
||||
let { access_id, dir, policy, signature, host } = result.data;
|
||||
|
||||
let time = dayjs().format("YYYYMMDDHHmmss");
|
||||
let random = generateRandomNumber();
|
||||
let filename = time + random;
|
||||
let imgType = "." + getImageFormat(File[0].url);
|
||||
return new Promise((resolve, reject) => {
|
||||
uni.uploadFile({
|
||||
url: host, // 仅为示例,非真实的接口地址
|
||||
filePath: File[0].url,
|
||||
name: "file",
|
||||
formData: {
|
||||
OSSAccessKeyId: access_id,
|
||||
policy,
|
||||
key: dir + time + random + imgType,
|
||||
signature,
|
||||
},
|
||||
success(res) {
|
||||
if (res.statusCode === 204) {
|
||||
let url = host + "/" + dir + filename + imgType;
|
||||
console.log(url);
|
||||
imgList.value = [url];
|
||||
}
|
||||
},
|
||||
fail: (err) => {
|
||||
console.log(err);
|
||||
},
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
const generateRandomNumber = () => {
|
||||
let randomNumber = Math.floor(1000 + Math.random() * 9000);
|
||||
@ -1315,8 +1373,8 @@ const getImageFormat = (imageUrl) => {
|
||||
return "unknown";
|
||||
};
|
||||
const afterRead = (file, lists, name) => {
|
||||
console.log(lists);
|
||||
console.log(name);
|
||||
// console.log(lists);
|
||||
// console.log(name);
|
||||
handleUpload(file);
|
||||
};
|
||||
const delImg = (index) => {
|
||||
@ -1557,7 +1615,7 @@ const toggleTop = () => {
|
||||
: topExchangeComment(parent_id.value);
|
||||
}
|
||||
};
|
||||
const sendComment = () => {
|
||||
const sendComment = throttle(() => {
|
||||
if (!content.value) {
|
||||
uni.showToast({
|
||||
icon: "none",
|
||||
@ -1587,7 +1645,7 @@ const sendComment = () => {
|
||||
} else {
|
||||
addExchangeComment(id.value, postData);
|
||||
}
|
||||
};
|
||||
});
|
||||
const formatHtml = (val) => {
|
||||
if (/^回复.+:/.test(val)) {
|
||||
return val.replace(
|
||||
@ -2097,7 +2155,15 @@ const readRecord= async()=>{
|
||||
display: flex;
|
||||
overflow: hidden;
|
||||
align-items: center;
|
||||
|
||||
.iptcon{
|
||||
position: relative;
|
||||
.maskipt{
|
||||
position: absolute;
|
||||
width:100%;
|
||||
height:100%;
|
||||
z-index:1
|
||||
}
|
||||
}
|
||||
.ipt {
|
||||
margin-left: 15rpx;
|
||||
}
|
||||
@ -2180,5 +2246,10 @@ const readRecord= async()=>{
|
||||
margin-left: 8rpx;
|
||||
}
|
||||
}
|
||||
|
||||
.iconbox{
|
||||
margin-top: 5rpx;
|
||||
}
|
||||
:deep(._root){
|
||||
overflow-x: hidden!important;
|
||||
}
|
||||
</style>
|
||||
@ -109,7 +109,7 @@
|
||||
</view>
|
||||
</view>
|
||||
<view class="list">
|
||||
<view class="cell" v-for="item in recommend_hospital" :key="item.hospital_id" @click="goListBy(item.hospital_id,item.hospital_name ,'hospital')">{{ item.hospital_name }}</view>
|
||||
<view class="cell ellipsis-one-lines" v-for="item in recommend_hospital" :key="item.hospital_id" @click="goListBy(item.hospital_id,item.hospital_name ,'hospital')">{{ item.hospital_name }}</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="recbox">
|
||||
@ -121,7 +121,7 @@
|
||||
</view>
|
||||
</view>
|
||||
<view class="list">
|
||||
<view class="cell" v-for="item in recommend_doctor" :key="item.doctor_id" @click="goListBy(item.doctor_id,item.doctor_name ,'doctor')">{{ item.doctor_name }}</view>
|
||||
<view class="cell ellipsis-one-lines" v-for="item in recommend_doctor" :key="item.doctor_id" @click="goListBy(item.doctor_id,item.doctor_name ,'doctor')">{{ item.doctor_name }}({{item.hospital_name}})</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<view class="logincontent">
|
||||
<view class="title">登录观看</view>
|
||||
<view class="title">欢迎登录</view>
|
||||
<up-form labelPosition="left" ref="form" labelWidth="115rpx">
|
||||
<up-form-item
|
||||
label="手机号"
|
||||
@ -136,16 +136,16 @@
|
||||
<view class="row">
|
||||
<view class="tip">操作说明</view>
|
||||
</view>
|
||||
<view class="line">
|
||||
<!-- <view class="line">
|
||||
<view class="qq">1、</view>
|
||||
肝胆相照注册账号与微信绑定,肝胆相照相关直播、视频无忧随心看
|
||||
</view>
|
||||
<view class="line">
|
||||
</view> -->
|
||||
<!-- <view class="line">
|
||||
<view class="qq">2、</view>
|
||||
仅需操作一次,后续通过微信观看直播、视频无需额外操作,立即进入
|
||||
</view>
|
||||
</view> -->
|
||||
<view class="line">
|
||||
<view class="qq">3、</view>
|
||||
<!-- <view class="qq">3、</view> -->
|
||||
若您还未注册肝胆相照专家版App, 请直接点击“注册”进行注册操作
|
||||
</view>
|
||||
<view class="desc">
|
||||
@ -410,7 +410,7 @@ const start = () => {
|
||||
padding: 0 30rpx;
|
||||
}
|
||||
.row {
|
||||
margin-top: 30rpx;
|
||||
margin-top: 40rpx;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
padding: 0 30rpx;
|
||||
|
||||
@ -1,7 +1,10 @@
|
||||
<template>
|
||||
<up-toast ref="uToast"></up-toast>
|
||||
<div class="upage">
|
||||
<pEditor v-if="showEditor" :editorCotent="editorCotent" :editorType="editorType" @closeEditor="closeEditor" @changeEditor="changeEditor"></pEditor>
|
||||
|
||||
<pEditor ref="pEditorRef" v-if="showEditor" :editorCotent="editorType=='info'?form.exchange_content:form.exchange_summary" :editorType="editorType" @closeEditor="closeEditor" @changeEditor="changeEditor"></pEditor>
|
||||
|
||||
|
||||
<view class="navbox">
|
||||
<view class="bg"></view>
|
||||
<view class="namebox">
|
||||
@ -9,11 +12,11 @@
|
||||
<u-icon name="arrow-left" color="#000" size="24"></u-icon>
|
||||
</view>
|
||||
<!-- <view class="logo">logo</view> -->
|
||||
<view class="name">发病例交流帖</view>
|
||||
<view class="name">{{exchange_id?"编辑病例交流帖":"发病例交流帖"}}</view>
|
||||
</view>
|
||||
</view>
|
||||
<!-- <backNav :navName="'发病例交流帖'"></backNav> -->
|
||||
<scroll-view class="form" id="form" scroll-y="true" style="padding-bottom:150rpx">
|
||||
<scroll-view class="form" :scroll-top="scrollTop" @scroll="scroll" ref="scrollView" id="form" scroll-y="true" style="padding-bottom:150rpx">
|
||||
<view class="textbox">
|
||||
<up--textarea
|
||||
autoHeight
|
||||
@ -57,7 +60,7 @@
|
||||
@statuschange="statuschange"
|
||||
></editor> -->
|
||||
</view>
|
||||
<view class="textcon" style="border: none">
|
||||
<view class="textcon" style="border: none;position: relative;z-index:1;" >
|
||||
<view class="row">
|
||||
<view class="left">
|
||||
总结与讨论 <text class="tip">(可不填)</text>
|
||||
@ -148,7 +151,7 @@
|
||||
</view> -->
|
||||
<view class="bottombtn">
|
||||
<view class="left">
|
||||
<view class="draft" @click="openDraftList">草稿箱</view>
|
||||
<view class="draft" @click="openDraftList" v-if="!exchange_id">草稿箱</view>
|
||||
<view class="vote" :class="{active:form.case_exchange_vote.vote_title}" @click="alertVote">
|
||||
投票
|
||||
<up--image
|
||||
@ -324,7 +327,7 @@
|
||||
</view>
|
||||
<view class="row" v-else-if="item.exchange_vote">
|
||||
<view class="smalltitle">投票</view>
|
||||
<view class="con ellipsis-two-lines">{{
|
||||
<view class="con ellipsis-two-lines" v-if=" item.exchange_vote">{{
|
||||
item.exchange_vote.vote_title
|
||||
}}</view>
|
||||
</view>
|
||||
@ -393,7 +396,7 @@
|
||||
<view class="zanwraper">
|
||||
<view class="title">提示</view>
|
||||
<view class="content" v-if="delType == 'delDraft'">
|
||||
是否删除该草稿?
|
||||
草稿删除后无法回复,确认删除该草稿?
|
||||
</view>
|
||||
<view class="content" v-else-if="delType == 'saveDraft'">
|
||||
是否保存该草稿?
|
||||
@ -405,16 +408,29 @@
|
||||
</view>
|
||||
</view>
|
||||
</up-overlay>
|
||||
<up-overlay :show="showQuit" mask-click-able zIndex="99">
|
||||
<view class="zanboxpop">
|
||||
<view class="zanwraper">
|
||||
<view class="title">提示</view>
|
||||
|
||||
<view class="content">
|
||||
是否取消编辑?
|
||||
</view>
|
||||
<view class="btnbox">
|
||||
<view class="cancle" @click="cancelQuit">取消</view>
|
||||
<view class="ok" @click="confirmQuit">确定</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</up-overlay>
|
||||
<up-overlay :show="isConfirmPublish" mask-click-able zIndex="99">
|
||||
<view class="zanboxpop">
|
||||
<view class="zanwraper">
|
||||
<view class="title">提示</view>
|
||||
<view class="content" v-if="exchange_id">
|
||||
<view class="content" >
|
||||
是否确认发布?
|
||||
</view>
|
||||
<view class="content" v-else>
|
||||
是否确认修改?
|
||||
</view>
|
||||
|
||||
<view class="btnbox">
|
||||
<view class="cancle" @click="cancelConfirmPublish">取消</view>
|
||||
<view class="ok" @click="confirmConfirmPublish">确定</view>
|
||||
@ -478,6 +494,7 @@
|
||||
class="column"
|
||||
v-for="item in labelObj.list1"
|
||||
:key="item.app_iden"
|
||||
v-show="item.label_name!='热门话题'"
|
||||
>
|
||||
<up-radio
|
||||
activeColor="#3CC7C0 "
|
||||
@ -530,12 +547,13 @@
|
||||
</up-radio-group>
|
||||
</view>
|
||||
</scroll-view>
|
||||
|
||||
</view>
|
||||
</up-popup>
|
||||
|
||||
</template>
|
||||
<script setup>
|
||||
import { reactive, ref } from "vue";
|
||||
import { nextTick, reactive, ref } from "vue";
|
||||
import backNav from "@/components/backNav/backNav";
|
||||
import photoImg from "@/static/photo.png";
|
||||
import addImg from "@/static/add.png";
|
||||
@ -550,7 +568,7 @@ import { onLoad,onReady } from "@dcloudio/uni-app";
|
||||
import throttle from "@/utils/throttle"
|
||||
import svEditor from "@/uni_modules/sv-editor/components/sv-editor/sv-editor.vue";
|
||||
import pEditor from "@/components/pEditor/pEditor"
|
||||
import videoface from "@/static/videoface.jpg";
|
||||
|
||||
const uToast=ref(null);
|
||||
//import SvEditorToolbar from "@/uni_modules/sv-editor/components/sv-editor/sv-editor-toolbar.vue";
|
||||
import {
|
||||
@ -561,6 +579,7 @@ import {
|
||||
const isLock = ref(false);
|
||||
const isFlag = ref(false);
|
||||
const delId = ref("");
|
||||
const scrollView=ref(null)
|
||||
const showModal = ref(false);
|
||||
const delType = ref("delDraft"); //delDraft saveDraft
|
||||
const isPublish = ref(false);
|
||||
@ -573,7 +592,9 @@ const form = reactive({
|
||||
exchange_title: "",
|
||||
exchange_content: "",
|
||||
exchange_summary: "",
|
||||
case_exchange_vote: {},
|
||||
case_exchange_vote: {
|
||||
vote_title: ""
|
||||
},
|
||||
case_exchange_label: [],
|
||||
});
|
||||
const voteData = reactive({
|
||||
@ -585,6 +606,8 @@ const voteData = reactive({
|
||||
},
|
||||
],
|
||||
});
|
||||
const videoface=ref('https://caseplatform.oss-cn-beijing.aliyuncs.com/prod/static/shipinfengmian.jpg')
|
||||
const showQuit=ref(false)
|
||||
const value = ref("");
|
||||
const isConfirmPublish=ref(false)
|
||||
const showVote = ref(false);
|
||||
@ -598,13 +621,13 @@ const editorCtxResult = ref(null);
|
||||
const isFocusInfo = ref(false);
|
||||
const isFocusResult = ref(false);
|
||||
const labelList = ref([]);
|
||||
|
||||
const infoHeight=ref(100);
|
||||
const pEditorRef=ref(null);
|
||||
const infoHeight=ref(300);
|
||||
let inithtmlString =
|
||||
"<p>【患者信息】:</p><br/><p>【主诉】:</p><br/><p>【现病史及既往史】:</p><br/><p>【检查】:</p><br/><p>【临床诊断】:</p><br/><p>【治疗经过及结果】:</p><br/><br/>";
|
||||
const infoHtml=ref(inithtmlString);
|
||||
const resultHtml=ref('');
|
||||
const resultHeight=ref(100);
|
||||
const resultHeight=ref(300);
|
||||
const showInfoOpacity=ref(true)
|
||||
const level = ref(1);
|
||||
const freshKey=ref(0);
|
||||
@ -627,6 +650,24 @@ const labelObj = reactive({
|
||||
list2: [],
|
||||
list3: []
|
||||
});
|
||||
const cancelQuit=()=>{
|
||||
showQuit.value=false;
|
||||
}
|
||||
const confirmQuit=()=>{
|
||||
showQuit.value=false;
|
||||
goBack();
|
||||
}
|
||||
const oldScrollTop=ref(0)
|
||||
const scrollTop=ref(0)
|
||||
const scroll=(e)=>{
|
||||
oldScrollTop.value=e.detail.scrollTop
|
||||
}
|
||||
const toTop=()=>{
|
||||
scrollTop.value=oldScrollTop.value
|
||||
nextTick(()=>{
|
||||
scrollTop.value=0
|
||||
})
|
||||
}
|
||||
const goBack = () => {
|
||||
uni.navigateBack({
|
||||
delta: 1,
|
||||
@ -636,56 +677,70 @@ const editorCotent=ref('')
|
||||
const closeEditor=()=>{
|
||||
showEditor.value=false;
|
||||
};
|
||||
|
||||
const changeEditor=(data)=>{
|
||||
console.log('content');
|
||||
console.log(data.content);
|
||||
showEditor.value=false;
|
||||
if(data.type=="info"){
|
||||
infoHtml.value=data.content
|
||||
form.exchange_content=data.content;
|
||||
//infoHtml.value=data.content;
|
||||
infoHeight.value=600;
|
||||
|
||||
editorCtx.value.initHtml(data.content,async (videoUrl) => {
|
||||
let res='';
|
||||
|
||||
// #ifdef APP || H5
|
||||
// res = await this.editorCtx.createVideoThumbnail(videoUrl)
|
||||
// #endif
|
||||
let res =""
|
||||
console.log(videoface.value)
|
||||
res = await editorCtx.value.createCoverThumbnail(videoface.value)
|
||||
|
||||
const fox = videoface
|
||||
res = await editorCtx.value.createCoverThumbnail(fox)
|
||||
showEditor.value=false;
|
||||
return res
|
||||
})
|
||||
setTimeout(()=>{
|
||||
const query = wx.createSelectorQuery();
|
||||
query.select('#infoContent').boundingClientRect(function(rect){
|
||||
console.log(rect.height);
|
||||
infoHeight.value=rect.height+10
|
||||
// 输出元素的高度
|
||||
}).exec();
|
||||
},0)
|
||||
},async()=>{
|
||||
|
||||
})
|
||||
setTimeout(async()=>{
|
||||
let info_str=await editorCtx.value.getLastContent();
|
||||
|
||||
infoHtml.value=info_str.html;
|
||||
// console.log("获取变动");
|
||||
// console.log( editorCtx.value.exportHtml(info_str.html));
|
||||
setTimeout(()=>{
|
||||
const query = wx.createSelectorQuery();
|
||||
query.select('#infoContent').boundingClientRect(function(rect){
|
||||
console.log(rect.height);
|
||||
infoHeight.value=rect.height+10;
|
||||
|
||||
// 输出元素的高度
|
||||
}).exec();
|
||||
},1000)
|
||||
},1000)
|
||||
|
||||
}else{
|
||||
resultHtml.value=data.content
|
||||
form.exchange_summary=data.content;
|
||||
//resultHtml.value=data.content;
|
||||
editorCtxResult.value.initHtml(data.content,async (videoUrl) => {
|
||||
let res='';
|
||||
|
||||
// #ifdef APP || H5
|
||||
// res = await this.editorCtx.createVideoThumbnail(videoUrl)
|
||||
// #endif
|
||||
|
||||
const fox = videoface
|
||||
res = await editorCtx.value.createCoverThumbnail(fox)
|
||||
showEditor.value=false;
|
||||
res = await editorCtxResult.value.createCoverThumbnail(videoface.value)
|
||||
|
||||
return res
|
||||
},async()=>{
|
||||
|
||||
})
|
||||
setTimeout(()=>{
|
||||
const query = wx.createSelectorQuery();
|
||||
query.select('#resultContent').boundingClientRect(function(rect){
|
||||
console.log(rect.height);
|
||||
resultHeight.value=rect.height+10
|
||||
// 输出元素的高度
|
||||
}).exec();
|
||||
},0)
|
||||
setTimeout(async()=>{
|
||||
let info_str=await editorCtxResult.value.getLastContent();
|
||||
resultHtml.value=info_str.html;
|
||||
setTimeout(()=>{
|
||||
const query = wx.createSelectorQuery();
|
||||
query.select('#resultContent').boundingClientRect(function(rect){
|
||||
console.log(rect.height);
|
||||
resultHeight.value=rect.height+10;
|
||||
toTop()
|
||||
// 输出元素的高度
|
||||
}).exec();
|
||||
},1000)
|
||||
},1000)
|
||||
|
||||
}
|
||||
// setTimeout(()=>{
|
||||
// showEditor.value=false;
|
||||
// },1000)
|
||||
|
||||
};
|
||||
const openDraftList=()=>{
|
||||
getDraftList();
|
||||
@ -755,30 +810,31 @@ const saveVote = () => {
|
||||
});
|
||||
return false;
|
||||
}
|
||||
if (voteData.case_exchange_vote_option.length == 0) {
|
||||
|
||||
if(voteData.case_exchange_vote_option.length <2) {
|
||||
uni.showToast({
|
||||
title: "请添加投票选项",
|
||||
title: "请至少设置2个选项",
|
||||
icon: "none",
|
||||
});
|
||||
return false;
|
||||
}
|
||||
|
||||
// for (let i = 0; i < voteData.case_exchange_vote_option.length; i++) {
|
||||
// if (voteData.case_exchange_vote_option[i].option_value == "") {
|
||||
// uni.showToast({
|
||||
// title: "投票选项不能为空",
|
||||
// icon: "none",
|
||||
// });
|
||||
// return false;
|
||||
// }
|
||||
// if (voteData.case_exchange_vote_option[i].option_value.length > 16) {
|
||||
// uni.showToast({
|
||||
// title: "第" + (i + 1) + "个投票选项超过16个字符",
|
||||
// icon: "none",
|
||||
// });
|
||||
// return false;
|
||||
// }
|
||||
// }
|
||||
for (let i = 0; i < voteData.case_exchange_vote_option.length; i++) {
|
||||
if (voteData.case_exchange_vote_option[i].option_value == "") {
|
||||
uni.showToast({
|
||||
title: "投票选项不能为空",
|
||||
icon: "none",
|
||||
});
|
||||
return false;
|
||||
}
|
||||
if (voteData.case_exchange_vote_option[i].option_value.length > 16) {
|
||||
uni.showToast({
|
||||
title: "第" + (i + 1) + "个投票选项超过16个字符",
|
||||
icon: "none",
|
||||
});
|
||||
return false;
|
||||
}
|
||||
}
|
||||
// if (voteData.case_exchange_vote_option.length < 2) {
|
||||
// uni.showToast({
|
||||
// title: "至少添加两个选项",
|
||||
@ -816,26 +872,24 @@ const ready = (e) => {
|
||||
|
||||
let html =
|
||||
"<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);
|
||||
|
||||
// setTimeout(()=>{
|
||||
uni.hideKeyboard();
|
||||
uni.pageScrollTo({
|
||||
scrollTop:0,
|
||||
selector:"#form"
|
||||
// })
|
||||
})
|
||||
toTop()
|
||||
|
||||
};
|
||||
const readyResult = (e) => {
|
||||
editorCtxResult.value = e;
|
||||
setTimeout(()=>{
|
||||
toTop()
|
||||
setTimeout(()=>{
|
||||
if(exchange_id.value){
|
||||
getExchangeDetail(exchange_id.value);
|
||||
|
||||
}
|
||||
uni.hideLoading();
|
||||
//uni.hideLoading();
|
||||
})
|
||||
|
||||
//editorCtxResult.value.initHtml("")
|
||||
};
|
||||
const clearMuBan = () => {
|
||||
@ -847,10 +901,17 @@ const clearMuBan = () => {
|
||||
const focusInfo = async() => {
|
||||
isFocusInfo.value = true;
|
||||
const res= await editorCtx.value.getLastContent();
|
||||
editorCotent.value=res.html
|
||||
editorCotent.value=editorCtx.value.exportHtml(res.html);
|
||||
|
||||
console.log("focus")
|
||||
console.log('editorCotent.value')
|
||||
console.log(editorCotent.value)
|
||||
|
||||
|
||||
showEditor.value=true;
|
||||
editorType.value="info"
|
||||
|
||||
|
||||
// uni.onKeyboardHeightChange(res => {
|
||||
// console.log(res.height);
|
||||
// bottomHeight.value=res.height*2;
|
||||
@ -873,7 +934,7 @@ const blurInfo = () => {
|
||||
const focusResult = async() => {
|
||||
isFocusResult.value = true;
|
||||
const res= await editorCtxResult.value.getLastContent();
|
||||
editorCotent.value=res.html
|
||||
editorCotent.value=editorCtxResult.value.exportHtml(res.html)
|
||||
editorType.value="result";
|
||||
showEditor.value=true;
|
||||
// uni.onKeyboardHeightChange(res => {
|
||||
@ -933,7 +994,7 @@ const saveDraft = async () => {
|
||||
if (isLock.value) return false;
|
||||
isLock.value = true;
|
||||
const res = await editorCtx.value.getLastContent();
|
||||
form.exchange_content = res.html;
|
||||
form.exchange_content = res.html;
|
||||
|
||||
const resResult = await editorCtxResult.value.getLastContent();
|
||||
form.exchange_summary = resResult.html;
|
||||
@ -942,10 +1003,12 @@ const saveDraft = async () => {
|
||||
}
|
||||
api.saveDraft(form).then((res) => {
|
||||
isLock.value = false;
|
||||
goBack()
|
||||
uni.showToast({
|
||||
title: "保存成功",
|
||||
icon: "none",
|
||||
});
|
||||
|
||||
getDraftList();
|
||||
});
|
||||
};
|
||||
@ -959,37 +1022,26 @@ const getExchangeDetail = (id) => {
|
||||
exchange_summary,
|
||||
exchange_vote,
|
||||
} = res.data.data;
|
||||
editorCtx.value.initHtml(exchange_content,async (videoUrl) => {
|
||||
let res
|
||||
|
||||
// #ifdef APP || H5
|
||||
// res = await this.editorCtx.createVideoThumbnail(videoUrl)
|
||||
// #endif
|
||||
|
||||
const fox = videoface
|
||||
res = await editorCtx.value.createCoverThumbnail(fox)
|
||||
|
||||
return res
|
||||
});
|
||||
form.exchange_content = exchange_content;
|
||||
|
||||
//form.exchange_content = exchange_content;
|
||||
changeEditor({
|
||||
type:"info",
|
||||
content:exchange_content
|
||||
})
|
||||
//infoHtml.value=exchange_content;
|
||||
form.exchange_title = exchange_title;
|
||||
form.case_exchange_label = exchange_label? exchange_label:[];
|
||||
|
||||
labelList.value = exchange_label?exchange_label:[];
|
||||
form.exchange_summary = exchange_summary;
|
||||
form.case_exchange_vote = exchange_vote;
|
||||
editorCtxResult.value.initHtml(exchange_summary,async (videoUrl) => {
|
||||
let res
|
||||
|
||||
// #ifdef APP || H5
|
||||
// res = await this.editorCtx.createVideoThumbnail(videoUrl)
|
||||
// #endif
|
||||
|
||||
const fox = videoface
|
||||
res = await editorCtxResult.value.createCoverThumbnail(fox)
|
||||
|
||||
return res
|
||||
});
|
||||
Object.assign(voteData, exchange_vote);
|
||||
//form.exchange_summary = exchange_summary;
|
||||
//resultHtml.value=exchange_summary;
|
||||
form.case_exchange_vote = exchange_vote?exchange_vote:{};
|
||||
changeEditor({
|
||||
type:"result",
|
||||
content:exchange_summary
|
||||
})
|
||||
Object.assign(voteData, exchange_vote);
|
||||
|
||||
});
|
||||
};
|
||||
const editDraft = (index) => {
|
||||
@ -1001,16 +1053,32 @@ const editDraft = (index) => {
|
||||
exchange_summary,
|
||||
exchange_vote,
|
||||
} = draft;
|
||||
editorCtx.value.initHtml(exchange_content);
|
||||
form.exchange_content = exchange_content;
|
||||
|
||||
if(exchange_content){
|
||||
|
||||
let html= editorCtx.value.exportHtml(exchange_content.replace('undefined',''));
|
||||
//form.exchange_content=html;
|
||||
changeEditor({
|
||||
type:"info",
|
||||
content: html
|
||||
})
|
||||
}
|
||||
if(exchange_content){
|
||||
let html= editorCtxResult.value.exportHtml(exchange_summary.replace('undefined',''));
|
||||
changeEditor({
|
||||
type:"result",
|
||||
content:html
|
||||
})
|
||||
}
|
||||
form.exchange_title = exchange_title;
|
||||
form.case_exchange_label = exchange_label;
|
||||
labelList.value = exchange_label;
|
||||
form.case_exchange_label = exchange_label? exchange_label:[];
|
||||
labelList.value = exchange_label?exchange_label:[];
|
||||
form.exchange_summary = exchange_summary;
|
||||
form.case_exchange_vote = exchange_vote;
|
||||
editorCtxResult.value.initHtml(exchange_summary);
|
||||
Object.assign(voteData, exchange_vote);
|
||||
showDraft.value = false;
|
||||
|
||||
form.case_exchange_vote = exchange_vote?exchange_vote:{};
|
||||
|
||||
Object.assign(voteData, exchange_vote);
|
||||
showDraft.value = false;
|
||||
};
|
||||
const willDelDraft = (id) => {
|
||||
delId.value = id;
|
||||
@ -1049,39 +1117,45 @@ const delDraft = (id) => {
|
||||
|
||||
};
|
||||
const alertSave = async () => {
|
||||
if(isPublish.value || exchange_id.value){
|
||||
goBack()
|
||||
}else{
|
||||
const res = await editorCtx.value.getLastContent();
|
||||
const initInfo =
|
||||
"<p>【患者信息】:</p><br/><p>【主诉】:</p><br/><p>【现病史及既往史】:</p><br/><p>【检查】:</p><br/><p>【临床诊断】:</p><br/><p>【治疗经过及结果】:</p>";
|
||||
//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/><br/>";
|
||||
const resContent = await editorCtxResult.value.getLastContent();
|
||||
//let reshtml = editorCtxResult.value.exportHtml(resContent.html);
|
||||
if (
|
||||
form.exchange_title ||
|
||||
res.html!=initInfo ||
|
||||
resContent.text ||
|
||||
(form.case_exchange_vote &&
|
||||
form.case_exchange_vote.vote_title &&
|
||||
form.case_exchange_label &&
|
||||
form.case_exchange_label.length > 0)
|
||||
) {
|
||||
delType.value = "saveDraft";
|
||||
showModal.value = true;
|
||||
} else {
|
||||
goBack();
|
||||
}
|
||||
}
|
||||
|
||||
if(exchange_id.value){
|
||||
showQuit.value=true;
|
||||
}else{
|
||||
if(isPublish.value){
|
||||
goBack()
|
||||
}else{
|
||||
const res = await editorCtx.value.getLastContent();
|
||||
const initInfo =
|
||||
"<p>【患者信息】:</p><br/><p>【主诉】:</p><br/><p>【现病史及既往史】:</p><br/><p>【检查】:</p><br/><p>【临床诊断】:</p><br/><p>【治疗经过及结果】:</p>";
|
||||
//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/><br/>";
|
||||
const resContent = await editorCtxResult.value.getLastContent();
|
||||
//let reshtml = editorCtxResult.value.exportHtml(resContent.html);
|
||||
if (
|
||||
form.exchange_title ||
|
||||
res.html!=initInfo ||
|
||||
resContent.text ||
|
||||
(form.case_exchange_vote &&
|
||||
form.case_exchange_vote.vote_title &&
|
||||
form.case_exchange_label &&
|
||||
form.case_exchange_label.length > 0)
|
||||
) {
|
||||
delType.value = "saveDraft";
|
||||
showModal.value = true;
|
||||
} else {
|
||||
goBack();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
};
|
||||
const cconfirmConfirmPublish=()=>{
|
||||
confirmConfirmPublish.value=false;
|
||||
const confirmConfirmPublish=()=>{
|
||||
isConfirmPublish.value=false;
|
||||
publish();
|
||||
}
|
||||
const publish =throttle(async () => {
|
||||
console.log(3333);
|
||||
const initInfo =
|
||||
"<p>【患者信息】:</p><br/><p>【主诉】:</p><br/><p>【现病史及既往史】:</p><br/><p>【检查】:</p><br/><p>【临床诊断】:</p><br/><p>【治疗经过及结果】:</p>";
|
||||
if (form.exchange_title == "") {
|
||||
@ -1098,9 +1172,19 @@ const publish =throttle(async () => {
|
||||
});
|
||||
return false;
|
||||
}
|
||||
const res = await editorCtx.value.getLastContent();
|
||||
let html = editorCtx.value.exportHtml(res.html);
|
||||
if (html == initInfo) {
|
||||
if(form.exchange_content==""){
|
||||
uni.showToast({
|
||||
title: "请编辑病例信息",
|
||||
icon: "none",
|
||||
});
|
||||
return false;
|
||||
}
|
||||
// const res = await editorCtx.value.getLastContent();
|
||||
// let html = editorCtx.value.exportHtml(res.html);
|
||||
// console.log('htmlinfo')
|
||||
// console.log(html)
|
||||
|
||||
if (form.exchange_content == initInfo) {
|
||||
uni.showToast({
|
||||
title: "请编辑病例信息",
|
||||
icon: "none",
|
||||
@ -1119,10 +1203,15 @@ const publish =throttle(async () => {
|
||||
form.case_exchange_label = labelList.value;
|
||||
if(isLock.value) return false;
|
||||
isFlag.value = true;
|
||||
form.exchange_content = html;
|
||||
const resContent = await editorCtxResult.value.getLastContent();
|
||||
let reshtml = editorCtxResult.value.exportHtml(resContent.html);
|
||||
form.exchange_summary = reshtml=="<p><br></p>"?'':reshtml;
|
||||
//form.exchange_content = html;
|
||||
// const resContent = await editorCtxResult.value.getLastContent();
|
||||
// let reshtml = editorCtxResult.value.exportHtml(resContent.html);
|
||||
// console.log('reshtml')
|
||||
// console.log(reshtml)
|
||||
if(form.exchange_summary=="<p><br></p>"){
|
||||
form.exchange_summary==''
|
||||
}
|
||||
//form.exchange_summary = reshtml=="<p><br></p>"?'':reshtml;
|
||||
if(exchange_id.value){
|
||||
api.updateExchange(exchange_id.value,form).then((res) => {
|
||||
uni.showToast({
|
||||
@ -1281,10 +1370,7 @@ const HandleAddVideo = async (file) => {
|
||||
if (res.statusCode === 204) {
|
||||
let url = host + "/" + dir + filename + imgType;
|
||||
console.log(editorCtx);
|
||||
let imgUrl =videoface;
|
||||
const fileThumbnail = await editorCtx.createCoverThumbnail(
|
||||
imgUrl
|
||||
);
|
||||
const fileThumbnail = await editorCtx.createCoverThumbnail(videoface.value);
|
||||
resolve([
|
||||
{
|
||||
videoUrl: url,
|
||||
@ -1303,7 +1389,7 @@ const HandleAddVideo = async (file) => {
|
||||
});
|
||||
});
|
||||
if (videos) {
|
||||
uni.hideLoading();
|
||||
//uni.hideLoading();
|
||||
uni.showToast({ title: "添加视频成功", icon: "success" });
|
||||
} else {
|
||||
uni.showToast({ title: "添加视频失败", icon: "error" });
|
||||
@ -1501,27 +1587,16 @@ onReady(()=>{
|
||||
type: "loading",
|
||||
title: "正在加载",
|
||||
message: "正在加载",
|
||||
duration:1000
|
||||
duration:1500
|
||||
})
|
||||
})
|
||||
onLoad((optoions) => {
|
||||
onLoad((options) => {
|
||||
|
||||
if(optoions.exchange_id){
|
||||
exchange_id.value=optoions.exchange_id;
|
||||
console.log(1111)
|
||||
console.log(exchange_id.value)
|
||||
if(options.exchange_id){
|
||||
exchange_id.value=options.exchange_id;
|
||||
}
|
||||
|
||||
//getDraftList();
|
||||
|
||||
});
|
||||
|
||||
// const previewImg = () => {
|
||||
// uni.previewImage({
|
||||
// current: "https://example.com/image1.jpg",
|
||||
// urls: ["https://example.com/image1.jpg", "https://example.com/image2.jpg"],
|
||||
// });
|
||||
// };
|
||||
</script>
|
||||
|
||||
<style lang='scss' scoped>
|
||||
@ -1785,9 +1860,10 @@ onLoad((optoions) => {
|
||||
}
|
||||
}
|
||||
#editor {
|
||||
position:relative;
|
||||
position:relative;
|
||||
z-index:2;
|
||||
padding: 0 10rpx;
|
||||
min-height:600rpx;
|
||||
min-height:600rpx;
|
||||
.editorcon{
|
||||
position: absolute;
|
||||
top:0;
|
||||
@ -1797,12 +1873,17 @@ position:relative;
|
||||
opacity:1
|
||||
}
|
||||
.editorcon.active{
|
||||
opacity:0
|
||||
opacity:0;
|
||||
|
||||
|
||||
}
|
||||
.infoContent{
|
||||
|
||||
position: relative;
|
||||
z-index:2;
|
||||
background: #fff;
|
||||
margin:0 32rpx;
|
||||
word-break: break-all;
|
||||
word-wrap: break-word;
|
||||
word-break: break-all;
|
||||
/* position: relative;
|
||||
z-index:2; */
|
||||
}
|
||||
@ -1824,7 +1905,7 @@ min-height: 600rpx;
|
||||
top:0;
|
||||
width:100%;
|
||||
bottom:0;
|
||||
z-index:1;
|
||||
z-index:-1;
|
||||
opacity:1
|
||||
}
|
||||
.editorcon.active{
|
||||
@ -1832,7 +1913,8 @@ min-height: 600rpx;
|
||||
}
|
||||
.resultContent{
|
||||
margin:0 32rpx;
|
||||
word-break: break-all;
|
||||
word-wrap: break-word;
|
||||
word-break: break-all;
|
||||
}
|
||||
.mask{
|
||||
opacity: 0;
|
||||
@ -2159,9 +2241,9 @@ min-height: 600rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin-right: 25rpx;
|
||||
}
|
||||
.vote {
|
||||
margin-left: 25rpx;
|
||||
width: 162rpx;
|
||||
height: 86rpx;
|
||||
background: rgba(0, 0, 0, 0);
|
||||
|
||||
@ -63,7 +63,7 @@
|
||||
<script setup>
|
||||
import { ref, reactive } from "vue";
|
||||
import { onLoad } from "@dcloudio/uni-app";
|
||||
const src = ref("https://wx.igandan.com/hcp/toRegister?fromType=wx");
|
||||
const src = ref("https://dev-wx.igandan.com/hcp/toRegister?fromType=wx");
|
||||
const model = reactive({
|
||||
name: "",
|
||||
});
|
||||
@ -141,7 +141,7 @@ onLoad(() => {
|
||||
const { envVersion } = uni.getAccountInfoSync().miniProgram;
|
||||
console.log(envVersion)
|
||||
if (envVersion == "release") {
|
||||
src.value = "https://wx.igandan.com/hcp/toRegister";
|
||||
src.value = "https://wx.igandan.com/hcp/toRegister?fromType=weChat";
|
||||
} else {
|
||||
src.value = "https://dev-wx.igandan.com/hcp/toRegister?fromType=weChat";
|
||||
}
|
||||
|
||||
@ -152,6 +152,7 @@
|
||||
class="column"
|
||||
v-for="item in labelObj.list1"
|
||||
:key="item.app_iden"
|
||||
v-show="item.label_name!='热门话题'"
|
||||
>
|
||||
<up-radio
|
||||
activeColor="#3CC7C0 "
|
||||
|
||||
@ -11,7 +11,7 @@
|
||||
<template #top>
|
||||
<navBarSearch
|
||||
:searchWord="keyWord"
|
||||
:navName="'肝胆相照病例交流园地'"
|
||||
:navName="navName"
|
||||
@changeWord="changeWord"
|
||||
></navBarSearch>
|
||||
<!-- <view class="bar"></view> -->
|
||||
@ -95,8 +95,9 @@
|
||||
>
|
||||
<view
|
||||
|
||||
:key="unit"
|
||||
class="imgcell"
|
||||
v-for="unit in item.exchange_content_image"
|
||||
v-for="unit in item.exchange_content_image.splice(0,3)"
|
||||
>
|
||||
<up--image
|
||||
:src="unit"
|
||||
@ -119,7 +120,7 @@
|
||||
>
|
||||
<video
|
||||
:key="index"
|
||||
v-for="(videoCell, index) in item.exchange_content_video"
|
||||
v-for="(videoCell, index) in item.exchange_content_video.slice(0,1)"
|
||||
class="myVideo"
|
||||
:src="videoCell"
|
||||
@error="videoErrorCallback"
|
||||
@ -127,10 +128,10 @@
|
||||
></video>
|
||||
</view>
|
||||
</view>
|
||||
<view class="tagbox" @click="goDetail(item.exchange_id)" v-if="item.label && item.label.length > 0">
|
||||
<view class="tagbox" @click="goDetail(item.exchange_id)" v-if="item.exchange_label">
|
||||
<view
|
||||
class="tag"
|
||||
v-for="cell in item.label"
|
||||
v-for="cell in item.exchange_label"
|
||||
:key="cell.exchange_label_id"
|
||||
>{{ cell.label_name }}</view
|
||||
>
|
||||
@ -223,6 +224,7 @@
|
||||
class="column"
|
||||
v-for="item in labelObj.list1"
|
||||
:key="item.app_iden"
|
||||
v-show="item.label_name!='热门话题'"
|
||||
>
|
||||
<up-radio
|
||||
activeColor="#3CC7C0 "
|
||||
@ -325,6 +327,7 @@ const user_id = ref("");
|
||||
const showModal=ref(false);
|
||||
const showDeal=ref(false);
|
||||
const is_selected = ref(0);
|
||||
const navName=ref('肝胆相照病例交流园地')
|
||||
const isMine=ref(false)
|
||||
const paging = ref(null);
|
||||
const dataList = ref([]);
|
||||
@ -561,6 +564,7 @@ onLoad((options) => {
|
||||
}
|
||||
if(options.is_selected){
|
||||
is_selected.value = options.is_selected;
|
||||
navName.value="肝胆相照精选病例交流"
|
||||
}
|
||||
if(options.type=="mine"){
|
||||
isMine.value=true;
|
||||
@ -568,6 +572,7 @@ onLoad((options) => {
|
||||
if(options.from=="talkHome"){
|
||||
showNum.value=true;
|
||||
}
|
||||
// if(options)「」
|
||||
getCaseLabel(1,0)
|
||||
});
|
||||
onShow(()=>{
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 118 KiB After Width: | Height: | Size: 174 KiB |
File diff suppressed because one or more lines are too long
@ -49,20 +49,22 @@ export function parseHtmlWithVideo(richText) {
|
||||
* @returns {Promise} 转换后的富文本 注意异步处理
|
||||
*/
|
||||
export async function replaceVideoWithImageRender(richText, customCallback) {
|
||||
|
||||
console.log(1);
|
||||
// 正则表达式用于匹配 <video> 标签以及其内部的 <source> 标签
|
||||
const videoRegex = /<video\s+([^>]+)>(.*?)<\/video>/gi;
|
||||
|
||||
console.log(2);
|
||||
// 找到所有的 <video> 标签
|
||||
const matches = [];
|
||||
let match;
|
||||
while ((match = videoRegex.exec(richText)) !== null) {
|
||||
matches.push(match);
|
||||
}
|
||||
|
||||
console.log(3);
|
||||
// 并行处理每个 <video> 标签,生成对应的缩略图
|
||||
const replacements = await Promise.all(
|
||||
|
||||
matches.map(async (match) => {
|
||||
console.log(5);
|
||||
const [fullMatch, attributes, content] = match;
|
||||
|
||||
// 匹配 <source> 标签中的 src 属性
|
||||
@ -75,28 +77,34 @@ export async function replaceVideoWithImageRender(richText, customCallback) {
|
||||
}
|
||||
|
||||
// 生成视频封面图
|
||||
console.log('5-1')
|
||||
let thumbnailRes
|
||||
if (customCallback) thumbnailRes = await customCallback(videoUrl) // 自定义封面处理
|
||||
if (!thumbnailRes) thumbnailRes = config.video_thumbnail // 无效值则默认封面处理
|
||||
|
||||
//if (customCallback) thumbnailRes = await customCallback(videoUrl)
|
||||
console.log('5-2')
|
||||
// 自定义封面处理
|
||||
//if (!thumbnailRes) thumbnailRes = config.video_thumbnail // 无效值则默认封面处理
|
||||
console.log('5-3')
|
||||
thumbnailRes="https://caseplatform.oss-cn-beijing.aliyuncs.com/prod/static/shipinfengmian.jpg"
|
||||
// 过滤掉不需要的属性,例如 controls
|
||||
const filteredAttributes = attributes
|
||||
.split(/\s+/)
|
||||
.filter(attr => !attr.startsWith('controls'))
|
||||
.join(' ');
|
||||
|
||||
.join(' ').replace('src=','').replace("").replaceAll('width="100%"','').replaceAll('"','').replace(/\s+/g, "");;
|
||||
console.log('5-4')
|
||||
// 构建新的 img 标签,继承 video 的属性(除了 controls)并添加 data-custom 属性
|
||||
const imgTag = `<img ${filteredAttributes} src="${thumbnailRes}" data-custom="url=${videoUrl}" />`;
|
||||
|
||||
const imgTag = `<img src="${thumbnailRes}" data-custom="url=${filteredAttributes}">`;
|
||||
console.log(6);
|
||||
return { fullMatch, imgTag };
|
||||
}));
|
||||
|
||||
console.log(7);
|
||||
// 使用 replacements 替换原始的 <video> 标签
|
||||
let result = richText;
|
||||
for (const { fullMatch, imgTag } of replacements) {
|
||||
console.log(8);
|
||||
result = result.replace(fullMatch, imgTag);
|
||||
}
|
||||
|
||||
console.log("打印结果2")
|
||||
console.log(result)
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
@ -307,21 +307,35 @@ export default {
|
||||
* @returns {void}
|
||||
*/
|
||||
this.editorCtx.initHtml = async (html, customCallback) => {
|
||||
console.log('打印html');
|
||||
console.log(html);
|
||||
let transHtml = await replaceVideoWithImageRender(html, customCallback)
|
||||
console.log('transHtml')
|
||||
console.log(transHtml);
|
||||
// #ifdef APP || H5
|
||||
this.editorCtx.changePasteMode('text') // text模式下可以防止初始化时对格式的影响
|
||||
// #endif
|
||||
setTimeout(() => {
|
||||
|
||||
this.editorCtx.setContents({
|
||||
html: transHtml,
|
||||
success: () => {
|
||||
console.log('成功了')
|
||||
// 主动触发一次input回调事件
|
||||
this.editorCtx.changeInput()
|
||||
// #ifdef APP || H5
|
||||
if (this.pasteMode == 'origin') this.editorCtx.changePasteMode('origin')
|
||||
// #endif
|
||||
this.editorCtx.blur();
|
||||
}
|
||||
|
||||
},
|
||||
fail:(err)=>{
|
||||
console.log('失败了')
|
||||
uni.showToast({
|
||||
title:err,
|
||||
icon:'none'
|
||||
})
|
||||
}
|
||||
})
|
||||
})
|
||||
}
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
||||
{"version":3,"file":"app.js","sources":["App.vue","main.js"],"sourcesContent":["<script setup>\r\n\timport { onLaunch,onShow,onHide } from '@dcloudio/uni-app'\r\n\tonLaunch(()=>{\r\n\t\tconsole.log('App Launch')\r\n\t});\r\n\tonShow(()=>{\r\n\t\tconsole.log('App Show')\r\n\t\t\r\n\t});\r\n\tonHide(()=>{\r\n\t\tconsole.log('App Hide')\r\n\t});\r\n</script>\r\n\r\n<style>\r\n\t\r\n\t/*每个页面公共css */\r\n\t/* #ifdef H5 */\r\n\t*{\r\n\t\tmargin: 0;\r\n\t\tpadding: 0;\r\n\t}\r\n\tuni-page-head {\r\n\t\tdisplay: none;\r\n\t}\r\n\t/* #endif */\r\n\twx-button:after{\r\n\t\tborder: none;\r\n\t}\r\n.ellipsis-two-lines {\r\n display: -webkit-box;\r\n -webkit-box-orient: vertical;\r\n -webkit-line-clamp: 2;\r\n overflow: hidden;\r\n}\r\n.back{\r\n\tmargin-top: -8rpx;\r\n\tpadding:0 15rpx 15rpx 15rpx;\r\n}\r\n.ellipsis-one-lines {\r\n\toverflow: hidden;\r\n\twhite-space: nowrap;\r\n\ttext-overflow: ellipsis;\r\n}\r\n/* #ifdef H5 */\r\n.zp-container{\r\n\tz-index: 0!important;\r\n}\r\n/* #endif */\r\n.u-image{\r\n\tbackground: none!important;\r\n}\r\n.u-steps-item__line{\r\n\theight:36px!important;\r\n}\r\n.casesdown.active{\r\n\tcolor:#3CC7C0!important;\r\n}\r\n.u-dropdown__menu__item__arrow--rotate .uicon-arrow-down{\r\n\tcolor: #3cc7c0 !important;\r\n}\r\n</style>","import App from './App'\nimport uviewPlus, { setConfig } from 'uview-plus'\r\n// #ifdef H5\r\nimport VConsole from 'vconsole';\nconst vConsole = new VConsole();\r\n// #endif\n// #ifndef VUE3\nimport Vue from 'vue'\nimport './uni.promisify.adaptor'\nVue.config.productionTip = false\nApp.mpType = 'app'\nconst app = new Vue({\n ...App\n})\napp.$mount()\n// #endif\n// #ifdef VUE3\nimport { createSSRApp } from 'vue'\nexport function createApp() {\n const app = createSSRApp(App)\n \n app.use(uviewPlus, async() => {\t \n \t\treturn {\n \t\t\toptions: {\n \t\t\t\t// 修改$u.config对象的属性\n \t\t\t\tconfig: {\n \t\t\t\t\t// 修改默认单位为rpx,相当于执行 uni.$u.config.unit = 'rpx'\n \t\t\t\t\tunit: 'rpx'\n \t\t\t\t}\n \t\t\t}\n \t\t}\n \t})\n\t\n return {\n app\n }\n}\n// #endif\n"],"names":["onLaunch","uni","onShow","onHide","createSSRApp","App","uviewPlus"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAECA,kBAAAA,SAAS,MAAI;AACZC,oBAAAA,MAAA,MAAA,OAAA,gBAAY,YAAY;AAAA,IAC1B,CAAE;AACDC,kBAAAA,OAAO,MAAI;AACVD,oBAAAA,MAAA,MAAA,OAAA,gBAAY,UAAU;AAAA,IAExB,CAAE;AACDE,kBAAAA,OAAO,MAAI;AACVF,oBAAAA,MAAA,MAAA,OAAA,iBAAY,UAAU;AAAA,IACxB,CAAE;;;;;ACOK,SAAS,YAAY;AAC1B,QAAM,MAAMG,cAAY,aAACC,SAAG;AAE5B,MAAI,IAAIC,cAAAA,WAAW,YAAW;AAC5B,WAAO;AAAA,MACN,SAAS;AAAA;AAAA,QAER,QAAQ;AAAA;AAAA,UAEP,MAAM;AAAA,QACN;AAAA,MACD;AAAA,IACD;AAAA,EACL,CAAI;AAEF,SAAO;AAAA,IACL;AAAA,EACD;AACH;;;"}
|
||||
{"version":3,"file":"app.js","sources":["App.vue","main.js"],"sourcesContent":["<script setup>\r\n\timport { onLaunch,onShow,onHide } from '@dcloudio/uni-app'\r\n\tonLaunch(()=>{\r\n\t\tconsole.log('App Launch')\r\n\t});\r\n\tonShow(()=>{\r\n\t\tconsole.log('App Show')\r\n\t\t\r\n\t});\r\n\tonHide(()=>{\r\n\t\tconsole.log('App Hide')\r\n\t});\r\n</script>\r\n\r\n<style>\r\n\t\r\n\t/*每个页面公共css */\r\n\t/* #ifdef H5 */\r\n\t*{\r\n\t\tmargin: 0;\r\n\t\tpadding: 0;\r\n\t}\r\n\tuni-page-head {\r\n\t\tdisplay: none;\r\n\t}\r\n\t/* #endif */\r\n\twx-button:after{\r\n\t\tborder: none;\r\n\t}\r\n.ellipsis-two-lines {\r\n display: -webkit-box;\r\n -webkit-box-orient: vertical;\r\n -webkit-line-clamp: 2;\r\n overflow: hidden;\r\n}\r\n.back{\r\n\t/* margin-top: -8rpx; */\r\n\tpadding:0 20rpx 0rpx 20rpx;\r\n}\r\n.ellipsis-one-lines {\r\n\toverflow: hidden;\r\n\twhite-space: nowrap;\r\n\ttext-overflow: ellipsis;\r\n}\r\n/* #ifdef H5 */\r\n.zp-container{\r\n\tz-index: 0!important;\r\n}\r\n/* #endif */\r\n.u-image{\r\n\tbackground: none!important;\r\n}\r\n.u-steps-item__line{\r\n\theight:36px!important;\r\n}\r\n.casesdown.active{\r\n\tcolor:#3CC7C0!important;\r\n}\r\n.u-dropdown__menu__item__arrow--rotate .uicon-arrow-down{\r\n\tcolor: #3cc7c0 !important;\r\n}\r\n.tagbox{\r\n\tflex-wrap: wrap;\r\n}\r\n.tagbox .tag{\r\n\tmargin:5rpx 0 ;\r\n}\r\n</style>","import App from './App'\nimport uviewPlus, { setConfig } from 'uview-plus'\r\n// #ifdef H5\r\nimport VConsole from 'vconsole';\nconst vConsole = new VConsole();\r\n// #endif\n// #ifndef VUE3\nimport Vue from 'vue'\nimport './uni.promisify.adaptor'\nVue.config.productionTip = false\nApp.mpType = 'app'\nconst app = new Vue({\n ...App\n})\napp.$mount()\n// #endif\n// #ifdef VUE3\nimport { createSSRApp } from 'vue'\nexport function createApp() {\n const app = createSSRApp(App)\n \n app.use(uviewPlus, async() => {\t \n \t\treturn {\n \t\t\toptions: {\n \t\t\t\t// 修改$u.config对象的属性\n \t\t\t\tconfig: {\n \t\t\t\t\t// 修改默认单位为rpx,相当于执行 uni.$u.config.unit = 'rpx'\n \t\t\t\t\tunit: 'rpx'\n \t\t\t\t}\n \t\t\t}\n \t\t}\n \t})\n\t\n return {\n app\n }\n}\n// #endif\n"],"names":["onLaunch","uni","onShow","onHide","createSSRApp","App","uviewPlus"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAECA,kBAAAA,SAAS,MAAI;AACZC,oBAAAA,MAAA,MAAA,OAAA,gBAAY,YAAY;AAAA,IAC1B,CAAE;AACDC,kBAAAA,OAAO,MAAI;AACVD,oBAAAA,MAAA,MAAA,OAAA,gBAAY,UAAU;AAAA,IAExB,CAAE;AACDE,kBAAAA,OAAO,MAAI;AACVF,oBAAAA,MAAA,MAAA,OAAA,iBAAY,UAAU;AAAA,IACxB,CAAE;;;;;ACOK,SAAS,YAAY;AAC1B,QAAM,MAAMG,cAAY,aAACC,SAAG;AAE5B,MAAI,IAAIC,cAAAA,WAAW,YAAW;AAC5B,WAAO;AAAA,MACN,SAAS;AAAA;AAAA,QAER,QAAQ;AAAA;AAAA,UAEP,MAAM;AAAA,QACN;AAAA,MACD;AAAA,IACD;AAAA,EACL,CAAI;AAEF,SAAO;AAAA,IACL;AAAA,EACD;AACH;;;"}
|
||||
@ -1 +1 @@
|
||||
{"version":3,"file":"assets.js","sources":["static/video.png","static/sick.png","static/hospital.png","static/doctor.png","static/photo.png","static/add.png","static/videoicon.png","static/vote.png","static/voteon.png","static/draft.png","static/videoface.jpg","static/switch.png","static/arrowright.png","static/caseIcon.png","static/headImg.png","static/cert.png","static/myFile.png","static/myDownload.png","static/myCollect.png","static/myHospital.png","static/myJoin.png","static/myTalk.png","static/collectOn.png","static/collect.png","static/shang.png","static/chat.png","static/uploadImg.png","static/comment_icon.png","static/benren.png","static/default.png","static/group.png","static/ku.png","static/ku_on.png","static/group_on.png","static/talk.png","static/talk_on.png","static/logo.png","static/navbg.png"],"sourcesContent":["export default \"__VITE_ASSET__e338fa6d__\"","export default \"__VITE_ASSET__33a3f11a__\"","export default \"__VITE_ASSET__99f8d6c7__\"","export default \"__VITE_ASSET__051e2535__\"","export default \"__VITE_ASSET__fd0b1873__\"","export default \"__VITE_ASSET__7afdfa25__\"","export default \"__VITE_ASSET__f335dad1__\"","export default \"__VITE_ASSET__bc53d6e9__\"","export default \"__VITE_ASSET__00e08abe__\"","export default \"__VITE_ASSET__8a9f1cf1__\"","export default \"__VITE_ASSET__f0d1582c__\"","export default \"__VITE_ASSET__34b6a406__\"","export default \"__VITE_ASSET__04d264d8__\"","export default \"__VITE_ASSET__3981e088__\"","export default \"__VITE_ASSET__2dc1225f__\"","export default \"__VITE_ASSET__968fe4e2__\"","export default \"__VITE_ASSET__2a791e4d__\"","export default \"__VITE_ASSET__02d8e89c__\"","export default \"__VITE_ASSET__018fc400__\"","export default \"__VITE_ASSET__f708625e__\"","export default \"__VITE_ASSET__219bc93e__\"","export default \"__VITE_ASSET__07ef65cb__\"","export default \"__VITE_ASSET__60605a3f__\"","export default \"__VITE_ASSET__1b1db7a1__\"","export default \"__VITE_ASSET__0d05d4c1__\"","export default \"__VITE_ASSET__b055dcc3__\"","export default \"__VITE_ASSET__66769c53__\"","export default \"__VITE_ASSET__27070269__\"","export default \"__VITE_ASSET__beb38987__\"","export default \"__VITE_ASSET__f5b8f828__\"","export default \"__VITE_ASSET__df35ad17__\"","export default \"__VITE_ASSET__c0792a8a__\"","export default \"__VITE_ASSET__514334a4__\"","export default \"__VITE_ASSET__40793151__\"","export default \"__VITE_ASSET__977b04a2__\"","export default \"__VITE_ASSET__e6204d41__\"","export default \"__VITE_ASSET__8ef1dcc4__\"","export default \"__VITE_ASSET__e0ede23c__\""],"names":[],"mappings":";AAAA,MAAe,aAAA;ACAf,MAAe,UAAA;ACAf,MAAe,cAAA;ACAf,MAAe,YAAA;ACAf,MAAe,WAAA;ACAf,MAAe,SAAA;ACAf,MAAe,WAAA;ACAf,MAAe,UAAA;ACAf,MAAe,YAAA;ACAf,MAAe,WAAA;ACAf,MAAe,YAAA;ACAf,MAAe,YAAA;ACAf,MAAe,gBAAA;ACAf,MAAe,UAAA;ACAf,MAAe,UAAA;ACAf,MAAe,UAAA;ACAf,MAAe,SAAA;ACAf,MAAe,aAAA;ACAf,MAAe,YAAA;ACAf,MAAe,aAAA;ACAf,MAAe,SAAA;ACAf,MAAe,SAAA;ACAf,MAAe,eAAA;ACAf,MAAe,aAAA;ACAf,MAAe,WAAA;ACAf,MAAe,UAAA;ACAf,MAAe,YAAA;ACAf,MAAe,aAAA;ACAf,MAAe,UAAA;ACAf,MAAe,MAAA;ACAf,MAAe,QAAA;ACAf,MAAe,KAAA;ACAf,MAAe,QAAA;ACAf,MAAe,WAAA;ACAf,MAAe,OAAA;ACAf,MAAe,UAAA;ACAf,MAAe,UAAA;ACAf,MAAe,QAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
||||
{"version":3,"file":"assets.js","sources":["static/video.png","static/sick.png","static/hospital.png","static/doctor.png","static/photo.png","static/add.png","static/videoicon.png","static/vote.png","static/voteon.png","static/draft.png","static/switch.png","static/arrowright.png","static/caseIcon.png","static/headImg.png","static/cert.png","static/myFile.png","static/myDownload.png","static/myCollect.png","static/myHospital.png","static/myJoin.png","static/myTalk.png","static/collectOn.png","static/collect.png","static/shang.png","static/chat.png","static/uploadImg.png","static/comment_icon.png","static/benren.png","static/default.png","static/group.png","static/ku.png","static/ku_on.png","static/group_on.png","static/talk.png","static/talk_on.png","static/logo.png","static/navbg.png"],"sourcesContent":["export default \"__VITE_ASSET__e338fa6d__\"","export default \"__VITE_ASSET__33a3f11a__\"","export default \"__VITE_ASSET__99f8d6c7__\"","export default \"__VITE_ASSET__051e2535__\"","export default \"__VITE_ASSET__fd0b1873__\"","export default \"__VITE_ASSET__7afdfa25__\"","export default \"__VITE_ASSET__f335dad1__\"","export default \"__VITE_ASSET__bc53d6e9__\"","export default \"__VITE_ASSET__00e08abe__\"","export default \"__VITE_ASSET__8a9f1cf1__\"","export default \"__VITE_ASSET__34b6a406__\"","export default \"__VITE_ASSET__04d264d8__\"","export default \"__VITE_ASSET__3981e088__\"","export default \"__VITE_ASSET__2dc1225f__\"","export default \"__VITE_ASSET__968fe4e2__\"","export default \"__VITE_ASSET__2a791e4d__\"","export default \"__VITE_ASSET__02d8e89c__\"","export default \"__VITE_ASSET__018fc400__\"","export default \"__VITE_ASSET__f708625e__\"","export default \"__VITE_ASSET__219bc93e__\"","export default \"__VITE_ASSET__07ef65cb__\"","export default \"__VITE_ASSET__60605a3f__\"","export default \"__VITE_ASSET__1b1db7a1__\"","export default \"__VITE_ASSET__0d05d4c1__\"","export default \"__VITE_ASSET__b055dcc3__\"","export default \"__VITE_ASSET__66769c53__\"","export default \"__VITE_ASSET__27070269__\"","export default \"__VITE_ASSET__beb38987__\"","export default \"__VITE_ASSET__f5b8f828__\"","export default \"__VITE_ASSET__df35ad17__\"","export default \"__VITE_ASSET__c0792a8a__\"","export default \"__VITE_ASSET__514334a4__\"","export default \"__VITE_ASSET__40793151__\"","export default \"__VITE_ASSET__977b04a2__\"","export default \"__VITE_ASSET__e6204d41__\"","export default \"__VITE_ASSET__8ef1dcc4__\"","export default \"__VITE_ASSET__e0ede23c__\""],"names":[],"mappings":";AAAA,MAAe,aAAA;ACAf,MAAe,UAAA;ACAf,MAAe,cAAA;ACAf,MAAe,YAAA;ACAf,MAAe,WAAA;ACAf,MAAe,SAAA;ACAf,MAAe,WAAA;ACAf,MAAe,UAAA;ACAf,MAAe,YAAA;ACAf,MAAe,WAAA;ACAf,MAAe,YAAA;ACAf,MAAe,gBAAA;ACAf,MAAe,UAAA;ACAf,MAAe,UAAA;ACAf,MAAe,UAAA;ACAf,MAAe,SAAA;ACAf,MAAe,aAAA;ACAf,MAAe,YAAA;ACAf,MAAe,aAAA;ACAf,MAAe,SAAA;ACAf,MAAe,SAAA;ACAf,MAAe,eAAA;ACAf,MAAe,aAAA;ACAf,MAAe,WAAA;ACAf,MAAe,UAAA;ACAf,MAAe,YAAA;ACAf,MAAe,aAAA;ACAf,MAAe,UAAA;ACAf,MAAe,MAAA;ACAf,MAAe,QAAA;ACAf,MAAe,KAAA;ACAf,MAAe,QAAA;ACAf,MAAe,WAAA;ACAf,MAAe,OAAA;ACAf,MAAe,UAAA;ACAf,MAAe,UAAA;ACAf,MAAe,QAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
||||
{"version":3,"file":"backNav.js","sources":["components/backNav/backNav.vue","../../software/HBuilderX.4.23.2024070804/HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RDovR2l0V29ya1BsYWNlL2Nhc2VEYXRhQmFzZS9jb21wb25lbnRzL2JhY2tOYXYvYmFja05hdi52dWU"],"sourcesContent":["<template>\r\n <view class=\"navbox\">\r\n <view class=\"bg\"></view>\r\n <view class=\"namebox\">\r\n <view class=\"back\" @click=\"goBack\">\r\n <u-icon name=\"arrow-left\" color=\"#000\" size=\"24\"></u-icon>\r\n </view>\r\n <!-- <view class=\"logo\">logo</view> -->\r\n <view class=\"name\">\r\n\t {{ navName }}\r\n\t\t</view>\r\n </view>\r\n \r\n </view>\r\n</template>\r\n\r\n<script setup>\r\nconst props = defineProps({\r\n navName: {\r\n type: String,\r\n default: \"我的\",\r\n }\r\n\r\n});\r\nconst goBack = () => {\r\n uni.navigateBack({\r\n delta: 1,\r\n });\r\n};\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.navbox {\r\n padding-bottom: 20rpx;\r\n background-color: #f9fafb;\r\n position: relative;\r\n height:200rpx;\r\n background: radial-gradient(\r\n 60% 90% at 4% 2%,\r\n #43c9c3 0%,\r\n rgba(255, 255, 255, 0) 100%\r\n );\r\n .bg {\r\n z-index: 0;\r\n top: 0;\r\n bottom: 0;\r\n width: 100%;\r\n position: absolute;\r\n background: radial-gradient(\r\n 43% 90% at 84% 6%,\r\n #ffd6c9 0%,\r\n rgba(255, 255, 255, 0) 100%\r\n );\r\n}\r\n.namebox {\r\n padding-top: 102rpx;\r\n justify-content: center;\r\n margin: 0rpx 30rpx 0rpx;\r\n position: relative;\r\n display: flex;\r\n .back{\r\n position: absolute;\r\n left: 0;\r\n }\r\n .name {\r\n margin-left: 16rpx;\r\n font-size: 30rpx;\r\n color: #111827;\r\n }\r\n}\r\n.search {\r\n margin: 40rpx 30rpx 0rpx;\r\n display: flex;\r\n\r\n align-items: center;\r\n justify-content: space-between;\r\n .searchwrap {\r\n display: flex;\r\n align-items: center;\r\n flex: 1;\r\n padding-left: 28rpx;\r\n margin-right: 23rpx;\r\n height: 80rpx;\r\n background: #fbfbfb;\r\n box-shadow: 0px 4rpx 10rpx 0px rgba(153, 153, 153, 0.5);\r\n border-radius: 40rpx;\r\n\r\n .ipt {\r\n margin-left: 15rpx;\r\n font-size: 28rpx;\r\n }\r\n }\r\n}\r\n}\r\n\r\n</style>","import Component from 'D:/GitWorkPlace/caseDataBase/components/backNav/backNav.vue'\nwx.createComponent(Component)"],"names":["uni"],"mappings":";;;;;;;;;;;;;;;;;;;AAwBA,UAAM,SAAS,MAAM;AACnBA,oBAAAA,MAAI,aAAa;AAAA,QACf,OAAO;AAAA,MACX,CAAG;AAAA,IACH;;;;;;;;;;;;;;;AC3BA,GAAG,gBAAgB,SAAS;"}
|
||||
{"version":3,"file":"backNav.js","sources":["components/backNav/backNav.vue","../../software/HBuilderX.4.23.2024070804/HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RDovR2l0V29ya1BsYWNlL2Nhc2VEYXRhQmFzZS9jb21wb25lbnRzL2JhY2tOYXYvYmFja05hdi52dWU"],"sourcesContent":["<template>\r\n <view class=\"navbox\">\r\n <view class=\"bg\"></view>\r\n <view class=\"namebox\">\r\n <view class=\"back\" @click=\"goBack\">\r\n <u-icon name=\"arrow-left\" color=\"#000\" size=\"24\"></u-icon>\r\n </view>\r\n <!-- <view class=\"logo\">logo</view> -->\r\n <view class=\"name\">\r\n\t {{ navName }}\r\n\t\t</view>\r\n </view>\r\n \r\n </view>\r\n</template>\r\n\r\n<script setup>\r\nconst props = defineProps({\r\n navName: {\r\n type: String,\r\n default: \"我的\",\r\n }\r\n\r\n});\r\nconst goBack = () => {\r\n uni.navigateBack({\r\n delta: 1,\r\n });\r\n};\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.navbox {\r\n padding-bottom: 20rpx;\r\n background-color: #f9fafb;\r\n position: relative;\r\n height:200rpx;\r\n background: radial-gradient(\r\n 60% 90% at 4% 2%,\r\n #43c9c3 0%,\r\n rgba(255, 255, 255, 0) 100%\r\n );\r\n .bg {\r\n z-index: 0;\r\n top: 0;\r\n bottom: 0;\r\n width: 100%;\r\n position: absolute;\r\n background: radial-gradient(\r\n 43% 90% at 84% 6%,\r\n #ffd6c9 0%,\r\n rgba(255, 255, 255, 0) 100%\r\n );\r\n}\r\n.namebox {\r\n /* #ifdef H5 */\r\n padding-top: 51rpx;\r\n /* #endif */\r\n /* #ifdef MP-WEIXIN */\r\n padding-top: 102rpx;\r\n /* #endif */\r\n \r\n justify-content: center;\r\n margin: 0rpx 30rpx 0rpx;\r\n position: relative;\r\n display: flex;\r\n .back{\r\n position: absolute;\r\n left: 0;\r\n }\r\n .name {\r\n margin-left: 16rpx;\r\n font-size: 30rpx;\r\n color: #111827;\r\n }\r\n}\r\n.search {\r\n margin: 40rpx 30rpx 0rpx;\r\n display: flex;\r\n\r\n align-items: center;\r\n justify-content: space-between;\r\n .searchwrap {\r\n display: flex;\r\n align-items: center;\r\n flex: 1;\r\n padding-left: 28rpx;\r\n margin-right: 23rpx;\r\n height: 80rpx;\r\n background: #fbfbfb;\r\n box-shadow: 0px 4rpx 10rpx 0px rgba(153, 153, 153, 0.5);\r\n border-radius: 40rpx;\r\n\r\n .ipt {\r\n margin-left: 15rpx;\r\n font-size: 28rpx;\r\n }\r\n }\r\n}\r\n}\r\n\r\n</style>","import Component from 'D:/GitWorkPlace/caseDataBase/components/backNav/backNav.vue'\nwx.createComponent(Component)"],"names":["uni"],"mappings":";;;;;;;;;;;;;;;;;;;AAwBA,UAAM,SAAS,MAAM;AACnBA,oBAAAA,MAAI,aAAa;AAAA,QACf,OAAO;AAAA,MACX,CAAG;AAAA,IACH;;;;;;;;;;;;;;;AC3BA,GAAG,gBAAgB,SAAS;"}
|
||||
1
unpackage/dist/dev/.sourcemap/mp-weixin/components/baoliVideo/baoliVideo.js.map
vendored
Normal file
1
unpackage/dist/dev/.sourcemap/mp-weixin/components/baoliVideo/baoliVideo.js.map
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"baoliVideo.js","sources":["components/baoliVideo/baoliVideo.vue","../../software/HBuilderX.4.23.2024070804/HBuilderX/plugins/uniapp-cli-vite/uniComponent:/RDovR2l0V29ya1BsYWNlL2Nhc2VEYXRhQmFzZS9jb21wb25lbnRzL2Jhb2xpVmlkZW8vYmFvbGlWaWRlby52dWU"],"sourcesContent":["<template>\r\n <div id=\"player\"></div>\r\n</template>\r\n\r\n<script setup>\nimport { onMounted, onUnmounted, ref,watch} from 'vue';\r\nconst playJs=ref(\"//player.polyv.net/script/player.js\");\r\nconst player=ref(null);\r\nconst props=defineProps({\r\n vid:{\r\n type: String,\r\n default:''\r\n }\r\n})\r\nconst user_id=ref('');\r\n\t watch(()=>props.vid,()=>{\r\n\t\t loadPlayerScript(loadPlayer);\r\n\t })\r\n const loadPlayerScript=(callback)=> {\r\n if (!window.polyvLivePlayer) {\r\n const myScript = document.createElement('script');\r\n myScript.setAttribute('src', playJs.value);\r\n myScript.onload = callback;\r\n document.body.appendChild(myScript);\r\n } else {\r\n callback();\r\n }\r\n };\r\n const loadPlayer=()=> {\r\n\t\t let userInfo=uni.getStorageSync('userInfo');\r\n\t\t if(userInfo.user_id){\r\n\t\t \t user_id.value=userInfo.user_id;\r\n\t\t }\r\n\t\t\r\n const polyvLivePlayer = window.polyvLivePlayer;\r\n player.value = polyvPlayer({\r\n wrap: '#player',\r\n width: '100%',\r\n height: 250,\r\n\t\tforceH5:true,\r\n\t\tdf:3,\r\n\t\t uid:user_id.vlaue,\r\n vid: props.vid,\r\n });\r\n }\r\n onUnmounted(()=>{\r\n player.value.destroy();\r\n })\r\n</script>\r\n\r\n<style>\r\n\r\n</style>","import Component from 'D:/GitWorkPlace/caseDataBase/components/baoliVideo/baoliVideo.vue'\nwx.createComponent(Component)"],"names":["ref","watch","uni","onUnmounted","Component"],"mappings":";;;;;;;;;;;AAMA,UAAM,SAAOA,cAAAA,IAAI,qCAAqC;AACtD,UAAM,SAAOA,cAAAA,IAAI,IAAI;AACrB,UAAM,QAAM;AAMZ,UAAM,UAAQA,cAAAA,IAAI,EAAE;AACjBC,wBAAM,MAAI,MAAM,KAAI,MAAI;AACtB,uBAAiB,UAAU;AAAA,IAChC,CAAI;AACD,UAAM,mBAAiB,CAAC,aAAY;AACjC,UAAI,CAAC,OAAO,iBAAiB;AAC3B,cAAM,WAAW,SAAS,cAAc,QAAQ;AAChD,iBAAS,aAAa,OAAO,OAAO,KAAK;AACzC,iBAAS,SAAS;AAClB,iBAAS,KAAK,YAAY,QAAQ;AAAA,MAC1C,OAAa;AACL;MACD;AAAA,IACP;AACK,UAAM,aAAW,MAAK;AACxB,UAAI,WAASC,cAAAA,MAAI,eAAe,UAAU;AAC1C,UAAG,SAAS,SAAQ;AACjB,gBAAQ,QAAM,SAAS;AAAA,MACzB;AAGI,aAAO,QAAQ,YAAY;AAAA,QAC3B,MAAM;AAAA,QACN,OAAO;AAAA,QACP,QAAQ;AAAA,QACd,SAAQ;AAAA,QACR,IAAG;AAAA,QACF,KAAI,QAAQ;AAAA,QACP,KAAK,MAAM;AAAA,MACnB,CAAO;AAAA,IACF;AACFC,kBAAAA,YAAY,MAAI;AACb,aAAO,MAAM;IACnB,CAAI;;;;;;AC9CJ,GAAG,gBAAgBC,SAAS;"}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
||||
{"version":3,"file":"certImg.js","sources":["pages/certImg/certImg.vue","../../software/HBuilderX.4.23.2024070804/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvY2VydEltZy9jZXJ0SW1nLnZ1ZQ"],"sourcesContent":["<template>\r\n <backNav :navName=\"'病例收录证书'\"></backNav>\r\n <view class=\"imgbox\">\r\n <u--image\r\n :showLoading=\"true\"\r\n :src=\"src\"\r\n width=\"100%\"\r\n mode=\"widthFix\"\r\n ></u--image>\r\n </view>\r\n</template>\r\n\r\n<script setup>\r\nimport { ref } from 'vue';\r\nimport { onLoad } from \"@dcloudio/uni-app\";\r\nimport backNav from \"@/components/backNav/backNav.vue\";\r\nconst src = ref('')\r\nonLoad((options) => {\r\n if(options.src){\r\n src.value = options.src;\r\n }else{\r\n src.value= 'https://cn.bing.com//th?id=OHR.SanMiguelAzores_ZH-CN2511982585_1920x1080.jpg&rf=LaDigue_1920x1080.jpg&pid=hp';\r\n }\r\n \r\n});\r\n</script>\r\n\r\n<style lang='scss' scoped>\r\n.imgbox{\r\n margin-top: -30rpx;\r\n}\r\n</style>\r\n","import MiniProgramPage from 'D:/GitWorkPlace/caseDataBase/pages/certImg/certImg.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","onLoad"],"mappings":";;;;;;;;;;AAeA,MAAM,UAAU,MAAW;;;;AAC3B,UAAM,MAAMA,cAAG,IAAC,EAAE;AAClBC,kBAAM,OAAC,CAAC,YAAY;AAChB,UAAG,QAAQ,KAAI;AACX,YAAI,QAAQ,QAAQ;AAAA,MAC5B,OAAS;AACF,YAAI,QAAO;AAAA,MACb;AAAA,IAEL,CAAC;;;;;;;;;;;;;;;;;ACvBD,GAAG,WAAW,eAAe;"}
|
||||
{"version":3,"file":"certImg.js","sources":["pages/certImg/certImg.vue","../../software/HBuilderX.4.23.2024070804/HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvY2VydEltZy9jZXJ0SW1nLnZ1ZQ"],"sourcesContent":["<template>\r\n <backNav :navName=\"'病例收录证书'\"></backNav>\r\n <view class=\"imgbox\">\r\n <u--image\r\n :showLoading=\"true\"\r\n :src=\"src\"\r\n width=\"100%\"\r\n mode=\"widthFix\"\r\n ></u--image>\r\n </view>\r\n</template>\r\n\r\n<script setup>\r\nimport { ref } from 'vue';\r\nimport { onLoad } from \"@dcloudio/uni-app\";\r\nimport backNav from \"@/components/backNav/backNav.vue\";\r\nconst src = ref('')\r\nonLoad((options) => {\r\n if(options.src){\r\n src.value = options.src;\r\n }else{\r\n src.value= 'https://cn.bing.com//th?id=OHR.SanMiguelAzores_ZH-CN2511982585_1920x1080.jpg&rf=LaDigue_1920x1080.jpg&pid=hp';\r\n }\r\n \r\n});\r\n</script>\r\n\r\n<style lang='scss' scoped>\r\n.imgbox{\r\n margin: -30rpx 30rpx 0;\r\n\toverflow-y: scroll;\r\n}\r\n</style>\r\n","import MiniProgramPage from 'D:/GitWorkPlace/caseDataBase/pages/certImg/certImg.vue'\nwx.createPage(MiniProgramPage)"],"names":["ref","onLoad"],"mappings":";;;;;;;;;;AAeA,MAAM,UAAU,MAAW;;;;AAC3B,UAAM,MAAMA,cAAG,IAAC,EAAE;AAClBC,kBAAM,OAAC,CAAC,YAAY;AAChB,UAAG,QAAQ,KAAI;AACX,YAAI,QAAQ,QAAQ;AAAA,MAC5B,OAAS;AACF,YAAI,QAAO;AAAA,MACb;AAAA,IAEL,CAAC;;;;;;;;;;;;;;;;;ACvBD,GAAG,WAAW,eAAe;"}
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
4
unpackage/dist/dev/mp-weixin/api/api.js
vendored
4
unpackage/dist/dev/mp-weixin/api/api.js
vendored
@ -41,7 +41,7 @@ const api = {
|
||||
return utils_request.request("/exchange/collect/" + id, {}, "delete", false);
|
||||
},
|
||||
addVideoComment(id, data) {
|
||||
return utils_request.request("/clinical/video/comment/" + id, data, "post", false, "application/json");
|
||||
return utils_request.request("/clinical/video/comment/" + id, data, "post", true, "application/json");
|
||||
},
|
||||
delVideoComment(id) {
|
||||
return utils_request.request("/clinical/video/comment/" + id, {}, "delete", false);
|
||||
@ -53,7 +53,7 @@ const api = {
|
||||
return utils_request.request("/clinical/video/comment/top/" + id, {}, "delete", false);
|
||||
},
|
||||
addArticleComment(id, data) {
|
||||
return utils_request.request("/clinical/article/comment/" + id, data, "post", false, "application/json");
|
||||
return utils_request.request("/clinical/article/comment/" + id, data, "post", true, "application/json");
|
||||
},
|
||||
delArticleComment(id) {
|
||||
return utils_request.request("/clinical/article/comment/" + id, {}, "delete", false);
|
||||
|
||||
10
unpackage/dist/dev/mp-weixin/app.wxss
vendored
10
unpackage/dist/dev/mp-weixin/app.wxss
vendored
@ -11,8 +11,8 @@ wx-button:after{
|
||||
overflow: hidden;
|
||||
}
|
||||
.back{
|
||||
margin-top: -8rpx;
|
||||
padding:0 15rpx 15rpx 15rpx;
|
||||
/* margin-top: -8rpx; */
|
||||
padding:0 20rpx 0rpx 20rpx;
|
||||
}
|
||||
.ellipsis-one-lines {
|
||||
overflow: hidden;
|
||||
@ -31,4 +31,10 @@ wx-button:after{
|
||||
.u-dropdown__menu__item__arrow--rotate .uicon-arrow-down{
|
||||
color: #3cc7c0 !important;
|
||||
}
|
||||
.tagbox{
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
.tagbox .tag{
|
||||
margin:5rpx 0 ;
|
||||
}
|
||||
page{--status-bar-height:25px;--top-window-height:0px;--window-top:0px;--window-bottom:0px;--window-left:0px;--window-right:0px;--window-magin:0px}[data-c-h="true"]{display: none !important;}
|
||||
@ -9,7 +9,6 @@ const videoImg = "/static/videoicon.png";
|
||||
const voteImg = "/static/vote.png";
|
||||
const voteOnImg = "/static/voteon.png";
|
||||
const draftImg = "/static/draft.png";
|
||||
const videoface = "/static/videoface.jpg";
|
||||
const switchImg = "/static/switch.png";
|
||||
const arrowrightImg = "/static/arrowright.png";
|
||||
const caseImg = "/static/caseIcon.png";
|
||||
@ -72,7 +71,6 @@ exports.talk_on = talk_on;
|
||||
exports.uploadImg = uploadImg;
|
||||
exports.videoImg = videoImg$1;
|
||||
exports.videoImg$1 = videoImg;
|
||||
exports.videoface = videoface;
|
||||
exports.voteImg = voteImg;
|
||||
exports.voteOnImg = voteOnImg;
|
||||
//# sourceMappingURL=../../.sourcemap/mp-weixin/common/assets.js.map
|
||||
|
||||
@ -7319,7 +7319,7 @@ function isConsoleWritable() {
|
||||
function initRuntimeSocketService() {
|
||||
const hosts = "192.168.100.165,127.0.0.1";
|
||||
const port = "8090";
|
||||
const id = "mp-weixin_PmN5zi";
|
||||
const id = "mp-weixin_pETpDa";
|
||||
const lazy = typeof swan !== "undefined";
|
||||
let restoreError = lazy ? () => {
|
||||
} : initOnError();
|
||||
@ -16768,6 +16768,7 @@ exports.e = e;
|
||||
exports.error = error;
|
||||
exports.f = f;
|
||||
exports.formValidate = formValidate;
|
||||
exports.getCurrentInstance = getCurrentInstance;
|
||||
exports.getProperty = getProperty;
|
||||
exports.getPx = getPx;
|
||||
exports.getWindowInfo = getWindowInfo;
|
||||
@ -16779,6 +16780,7 @@ exports.mixin = mixin;
|
||||
exports.mixinUpload = mixinUpload;
|
||||
exports.mpMixin = mpMixin;
|
||||
exports.n = n;
|
||||
exports.nextTick$1 = nextTick$1;
|
||||
exports.o = o;
|
||||
exports.onHide = onHide;
|
||||
exports.onLaunch = onLaunch;
|
||||
|
||||
@ -89,7 +89,6 @@ const _sfc_main = {
|
||||
i: common_vendor.o(goMy),
|
||||
j: common_vendor.p({
|
||||
src: userHeadImg.value,
|
||||
mode: "widthFix",
|
||||
width: "62rpx",
|
||||
height: "62rpx",
|
||||
radius: "50%"
|
||||
|
||||
@ -42,7 +42,7 @@ const _sfc_main = {
|
||||
} else if (newVal === "hospital") {
|
||||
placeholder.value = "输入医院名称";
|
||||
} else if (newVal === "video") {
|
||||
placeholder.value = "疾病名称、标题、作者搜索";
|
||||
placeholder.value = "输入疾病名称、标题、作者搜索";
|
||||
} else if (newVal === "article") {
|
||||
placeholder.value = "搜索疾病、症状、医院";
|
||||
} else if (newVal === "case") {
|
||||
@ -50,7 +50,7 @@ const _sfc_main = {
|
||||
} else if (newVal === "myCase") {
|
||||
placeholder.value = "输入疾病名称、标题搜索";
|
||||
} else if (newVal === "cert") {
|
||||
placeholder.value = "疾病名称、标题搜索";
|
||||
placeholder.value = "输入疾病名称、标题搜索";
|
||||
}
|
||||
}, { immediate: true });
|
||||
common_vendor.watch(() => props.searchWord, (newVal) => {
|
||||
@ -110,7 +110,6 @@ const _sfc_main = {
|
||||
k: common_vendor.o(goMy),
|
||||
l: common_vendor.p({
|
||||
src: userHeadImg.value,
|
||||
mode: "widthFix",
|
||||
width: "62rpx",
|
||||
height: "62rpx",
|
||||
radius: "50%"
|
||||
|
||||
@ -32,17 +32,21 @@ const _sfc_main = {
|
||||
}
|
||||
},
|
||||
emits: ["closeEditor", "changeEditor"],
|
||||
setup(__props, { emit: __emit }) {
|
||||
const editorCtx = common_vendor.ref(null);
|
||||
setup(__props, { expose: __expose, emit: __emit }) {
|
||||
const instace = common_vendor.getCurrentInstance();
|
||||
const PeditorCtx = common_vendor.ref(null);
|
||||
const htmlContent = common_vendor.ref("");
|
||||
const keyboardHeight = common_vendor.ref(0);
|
||||
const videoface = common_vendor.ref("https://caseplatform.oss-cn-beijing.aliyuncs.com/prod/static/shipinfengmian.jpg");
|
||||
const editorHeight = common_vendor.ref(300);
|
||||
common_vendor.ref("病例信息");
|
||||
const placeholder = common_vendor.ref("患者基本情况,检查结果,诊疗图片或视频");
|
||||
const showTitle = common_vendor.ref(false);
|
||||
const props = __props;
|
||||
const showCanvas = common_vendor.ref(false);
|
||||
common_vendor.watch(() => props.editorType, (newVal) => {
|
||||
common_vendor.index.__f__("log", "at components/pEditor/pEditor.vue:168", 11111111);
|
||||
common_vendor.index.__f__("log", "at components/pEditor/pEditor.vue:169", newVal);
|
||||
common_vendor.index.__f__("log", "at components/pEditor/pEditor.vue:181", 11111111);
|
||||
common_vendor.index.__f__("log", "at components/pEditor/pEditor.vue:182", newVal);
|
||||
if (newVal == "info") {
|
||||
placeholder.value = "患者基本情况,检查结果,诊疗图片或视频";
|
||||
} else {
|
||||
@ -70,33 +74,36 @@ const _sfc_main = {
|
||||
showTitle.value = false;
|
||||
};
|
||||
const ready = (e) => {
|
||||
common_vendor.index.__f__("log", "at components/pEditor/pEditor.vue:197", e);
|
||||
editorCtx.value = e;
|
||||
common_vendor.index.__f__("log", "at components/pEditor/pEditor.vue:210", e);
|
||||
PeditorCtx.value = e;
|
||||
if (props.editorType == "info") {
|
||||
if (props.editorCotent) {
|
||||
editorCtx.value.initHtml(props.editorCotent, async (videoUrl) => {
|
||||
common_vendor.index.__f__("log", "at components/pEditor/pEditor.vue:216", "peditor");
|
||||
common_vendor.index.__f__("log", "at components/pEditor/pEditor.vue:217", props.editorCotent);
|
||||
PeditorCtx.value.initHtml(props.editorCotent, async (videoUrl) => {
|
||||
let res = "";
|
||||
const fox = common_assets.videoface;
|
||||
res = await editorCtx.value.createCoverThumbnail(fox);
|
||||
showEditor.value = false;
|
||||
res = await PeditorCtx.value.createCoverThumbnail(videoface.value);
|
||||
return res;
|
||||
});
|
||||
setTimeout(async () => {
|
||||
common_vendor.index.__f__("log", "at components/pEditor/pEditor.vue:231", "qaz");
|
||||
let res = await PeditorCtx.value.getLastContent();
|
||||
common_vendor.index.__f__("log", "at components/pEditor/pEditor.vue:233", res);
|
||||
}, 6e3);
|
||||
} else {
|
||||
let html = "<p>【患者信息】:</p><br/><p>【主诉】:</p><br/><p>【现病史及既往史】:</p><br/><p>【检查】:</p><br/><p>【临床诊断】:</p><br/><p>【治疗经过及结果】:</p><br/><br/>";
|
||||
editorCtx.value.initHtml(html);
|
||||
PeditorCtx.value.initHtml(html);
|
||||
}
|
||||
} else {
|
||||
if (props.editorCotent) {
|
||||
editorCtx.value.initHtml(props.editorCotent, async (videoUrl) => {
|
||||
PeditorCtx.value.initHtml(props.editorCotent, async (videoUrl) => {
|
||||
let res = "";
|
||||
const fox = common_assets.videoface;
|
||||
res = await editorCtx.value.createCoverThumbnail(fox);
|
||||
showEditor.value = false;
|
||||
res = await PeditorCtx.value.createCoverThumbnail(videoface.value);
|
||||
return res;
|
||||
});
|
||||
} else {
|
||||
let html = "";
|
||||
editorCtx.value.initHtml(html);
|
||||
PeditorCtx.value.initHtml(html);
|
||||
}
|
||||
}
|
||||
common_vendor.index.hideLoading();
|
||||
@ -105,17 +112,17 @@ const _sfc_main = {
|
||||
emits("closeEditor");
|
||||
});
|
||||
const confirm = async () => {
|
||||
common_vendor.index.__f__("log", "at components/pEditor/pEditor.vue:252", "qqq");
|
||||
const res = await editorCtx.value.getLastContent();
|
||||
const res = await PeditorCtx.value.getLastContent();
|
||||
let html = PeditorCtx.value.exportHtml(res.html.replace("undefined", ""));
|
||||
emits("changeEditor", {
|
||||
type: props.editorType,
|
||||
content: res.html
|
||||
content: html
|
||||
});
|
||||
};
|
||||
const blur = () => {
|
||||
};
|
||||
const clearMuBan = () => {
|
||||
editorCtx.value.initHtml("");
|
||||
PeditorCtx.value.initHtml("");
|
||||
};
|
||||
const updatePosition = (c_keyboardHeight) => {
|
||||
const toolbarHeight = 50;
|
||||
@ -139,25 +146,125 @@ const _sfc_main = {
|
||||
scrollTop: 0,
|
||||
success() {
|
||||
updatePosition(keyboardHeight2);
|
||||
editorCtx.value.scrollView();
|
||||
PeditorCtx.value.scrollView();
|
||||
}
|
||||
});
|
||||
}, duration);
|
||||
});
|
||||
});
|
||||
const fillTextToImgWx = (base64) => {
|
||||
let maskText = "@肝胆相照临床病例库";
|
||||
return new Promise((resolve, reject) => {
|
||||
common_vendor.wx$1.createSelectorQuery().in(instace.proxy).select("#pwatermarkCanvas").fields({
|
||||
node: true,
|
||||
size: true
|
||||
}).exec((res) => {
|
||||
const canvas = res[0].node;
|
||||
const ctx = canvas.getContext("2d");
|
||||
let textMetrics = ctx.measureText(maskText);
|
||||
common_vendor.index.__f__("log", "at components/pEditor/pEditor.vue:334", textMetrics);
|
||||
let {
|
||||
width: textWidth,
|
||||
actualBoundingBoxAscent,
|
||||
actualBoundingBoxDescent
|
||||
} = textMetrics;
|
||||
let textHeight = actualBoundingBoxAscent ? actualBoundingBoxAscent + actualBoundingBoxDescent : textMetrics.fontBoundingBoxAscent + textMetrics.fontBoundingBoxDescent;
|
||||
let imgHeight, imgWidth;
|
||||
let font = "";
|
||||
let fontColor = "#fff";
|
||||
let strokeWidth = 3;
|
||||
common_vendor.index.getImageInfo({
|
||||
src: base64,
|
||||
success: (imageRes) => {
|
||||
let scale = 28;
|
||||
font = scale + "px Arial";
|
||||
common_vendor.index.__f__("log", "at components/pEditor/pEditor.vue:360", imageRes);
|
||||
canvas.width = imageRes.width;
|
||||
canvas.height = imageRes.height;
|
||||
imgHeight = imageRes.height;
|
||||
imgWidth = imageRes.width;
|
||||
const image = canvas.createImage();
|
||||
image.src = "";
|
||||
image.src = base64;
|
||||
image.onload = () => {
|
||||
ctx.drawImage(image, 0, 0, canvas.width, canvas.height);
|
||||
let posXmargin = 10;
|
||||
let posYmargin = 10;
|
||||
let randomNumber = 3;
|
||||
common_vendor.index.__f__("log", "at components/pEditor/pEditor.vue:378", "randomNumber:" + randomNumber);
|
||||
switch (randomNumber) {
|
||||
case 0:
|
||||
let lt_x = posXmargin;
|
||||
let lt_y = posYmargin + textHeight;
|
||||
ctx.font = font;
|
||||
ctx.fillStyle = fontColor;
|
||||
ctx.storkStyle = "black";
|
||||
ctx.strokeWidth = strokeWidth;
|
||||
ctx.fillStyle = "#fff";
|
||||
ctx.fillText(maskText, lt_x, lt_y);
|
||||
break;
|
||||
case 1:
|
||||
let lb_x = posXmargin;
|
||||
let lb_y = imgHeight - posYmargin;
|
||||
ctx.font = font;
|
||||
ctx.fillStyle = fontColor;
|
||||
ctx.strokeStyle = "black";
|
||||
ctx.strokeWidth = strokeWidth;
|
||||
ctx.fillStyle = "#fff";
|
||||
ctx.fillText(maskText, lb_x, lb_y);
|
||||
break;
|
||||
case 2:
|
||||
let rt_x = imgWidth - textWidth * 2.9 - posXmargin <= 0 ? 10 : imgWidth - textWidth * 2.9 - posXmargin;
|
||||
let rt_y = posYmargin + textHeight * 2;
|
||||
ctx.font = font;
|
||||
ctx.fillStyle = fontColor;
|
||||
ctx.strokeStyle = "black";
|
||||
ctx.strokeWidth = strokeWidth;
|
||||
ctx.fillStyle = "#fff";
|
||||
ctx.fillText(maskText, rt_x, rt_y);
|
||||
ctx.restore();
|
||||
ctx.save();
|
||||
break;
|
||||
case 3:
|
||||
let rb_x = imgWidth - textWidth * 6 - posXmargin <= 0 ? 10 : imgWidth - 276 - posXmargin;
|
||||
common_vendor.index.__f__("log", "at components/pEditor/pEditor.vue:426", rb_x);
|
||||
let rb_y = imgHeight - posYmargin;
|
||||
ctx.font = font;
|
||||
ctx.fillStyle = fontColor;
|
||||
ctx.strokeStyle = "black";
|
||||
ctx.strokeWidth = strokeWidth;
|
||||
ctx.fillStyle = "#fff";
|
||||
ctx.fillText(maskText, rb_x, rb_y);
|
||||
break;
|
||||
}
|
||||
common_vendor.wx$1.canvasToTempFilePath({
|
||||
canvas,
|
||||
success: function(res2) {
|
||||
resolve(res2.tempFilePath);
|
||||
},
|
||||
fail: function(res2) {
|
||||
common_vendor.index.__f__("error", "at components/pEditor/pEditor.vue:452", res2);
|
||||
}
|
||||
});
|
||||
};
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
};
|
||||
const generateRandomNumber = () => {
|
||||
let randomNumber = Math.floor(1e3 + Math.random() * 9e3);
|
||||
return randomNumber;
|
||||
};
|
||||
const getImageFormat = (imageUrl) => {
|
||||
common_vendor.index.__f__("log", "at components/pEditor/pEditor.vue:303", imageUrl);
|
||||
common_vendor.index.__f__("log", "at components/pEditor/pEditor.vue:544", imageUrl);
|
||||
const lastDotIndex = imageUrl.lastIndexOf(".");
|
||||
if (lastDotIndex !== -1) {
|
||||
return imageUrl.substring(lastDotIndex + 1);
|
||||
}
|
||||
return "unknown";
|
||||
};
|
||||
const handleUpload = (file) => {
|
||||
const getOss = (temurl) => {
|
||||
api_api.api.getOss({
|
||||
scene: 1
|
||||
}).then((rep) => {
|
||||
@ -167,12 +274,12 @@ const _sfc_main = {
|
||||
let time = common_vendor.dayjs().format("YYYYMMDDHHmmss");
|
||||
let random = generateRandomNumber();
|
||||
let filename = time + random;
|
||||
let imgType = "." + getImageFormat(file);
|
||||
let imgType = "." + getImageFormat(temurl);
|
||||
return new Promise((resolve, reject) => {
|
||||
common_vendor.index.uploadFile({
|
||||
url: host,
|
||||
// 仅为示例,非真实的接口地址
|
||||
filePath: file,
|
||||
filePath: temurl,
|
||||
name: "file",
|
||||
formData: {
|
||||
OSSAccessKeyId: access_id,
|
||||
@ -187,27 +294,35 @@ const _sfc_main = {
|
||||
}
|
||||
},
|
||||
fail: (err) => {
|
||||
common_vendor.index.__f__("log", "at components/pEditor/pEditor.vue:343", err);
|
||||
common_vendor.index.__f__("log", "at components/pEditor/pEditor.vue:584", err);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
const pFun = (files) => {
|
||||
const readImages = async (localIds) => {
|
||||
common_vendor.index.showLoading({
|
||||
title: "正在上传图片...",
|
||||
mask: true
|
||||
});
|
||||
common_vendor.index.__f__("log", "at components/pEditor/pEditor.vue:597", localIds);
|
||||
let promiseFun = [];
|
||||
for (let i = 0; i < files.length; i++) {
|
||||
promiseFun.push(handleUpload(files[i]));
|
||||
for (var i = 0; i < localIds.length; i++) {
|
||||
let img = null;
|
||||
img = await fillTextToImgWx(localIds[i]);
|
||||
promiseFun.push(getOss(img));
|
||||
}
|
||||
Promise.all(promiseFun).then((res) => {
|
||||
common_vendor.index.hideLoading();
|
||||
common_vendor.index.showToast({
|
||||
duration: 1e3,
|
||||
message: "上传成功",
|
||||
icon: "none"
|
||||
});
|
||||
});
|
||||
};
|
||||
const insertImage = (file) => {
|
||||
showCanvas.value = true;
|
||||
common_vendor.index.chooseImage({
|
||||
count: 9,
|
||||
//默认9
|
||||
@ -217,7 +332,7 @@ const _sfc_main = {
|
||||
//从相册选择
|
||||
extension: [".jpg", ".png", ".jpeg"],
|
||||
success: function(res) {
|
||||
pFun(res.tempFilePaths);
|
||||
readImages(res.tempFilePaths);
|
||||
}
|
||||
});
|
||||
};
|
||||
@ -226,7 +341,7 @@ const _sfc_main = {
|
||||
title: "正在上传视频...",
|
||||
mask: true
|
||||
});
|
||||
const videos = await uni_modules_svEditor_components_common_utils.addVideo(async (editorCtx2) => {
|
||||
const videos = await uni_modules_svEditor_components_common_utils.addVideo(async (PeditorCtx2) => {
|
||||
return new Promise((resolve) => {
|
||||
api_api.api.getOss({
|
||||
scene: 2
|
||||
@ -253,10 +368,7 @@ const _sfc_main = {
|
||||
async success(res2) {
|
||||
if (res2.statusCode === 204) {
|
||||
let url = host + "/" + dir + filename + imgType;
|
||||
let imgUrl = common_assets.videoface;
|
||||
const fileThumbnail = await editorCtx2.createCoverThumbnail(
|
||||
imgUrl
|
||||
);
|
||||
const fileThumbnail = await PeditorCtx2.createCoverThumbnail(videoface.value);
|
||||
resolve([
|
||||
{
|
||||
videoUrl: url,
|
||||
@ -266,7 +378,7 @@ const _sfc_main = {
|
||||
}
|
||||
},
|
||||
fail: (err) => {
|
||||
common_vendor.index.__f__("log", "at components/pEditor/pEditor.vue:430", err);
|
||||
common_vendor.index.__f__("log", "at components/pEditor/pEditor.vue:678", err);
|
||||
}
|
||||
});
|
||||
});
|
||||
@ -289,7 +401,7 @@ const _sfc_main = {
|
||||
//从相册选择
|
||||
extension: [".mp4", ".webm", ".ogg"],
|
||||
success: function(res) {
|
||||
common_vendor.index.__f__("log", "at components/pEditor/pEditor.vue:452", res.tempFilePath);
|
||||
common_vendor.index.__f__("log", "at components/pEditor/pEditor.vue:700", res.tempFilePath);
|
||||
HandleAddVideo(res.tempFilePath);
|
||||
}
|
||||
});
|
||||
@ -301,9 +413,15 @@ const _sfc_main = {
|
||||
showTitle.value = true;
|
||||
};
|
||||
const alertTitle = () => {
|
||||
common_vendor.index.__f__("log", "at components/pEditor/pEditor.vue:466", "qqqqqq");
|
||||
common_vendor.index.__f__("log", "at components/pEditor/pEditor.vue:714", "qqqqqq");
|
||||
showTitle.value = true;
|
||||
};
|
||||
const initData = (data) => {
|
||||
common_vendor.index.__f__("log", "at components/pEditor/pEditor.vue:718", "init");
|
||||
common_vendor.index.__f__("log", "at components/pEditor/pEditor.vue:719", data);
|
||||
htmlContent.value = data;
|
||||
};
|
||||
__expose({ initData });
|
||||
return (_ctx, _cache) => {
|
||||
return common_vendor.e({
|
||||
a: common_vendor.p({
|
||||
@ -358,28 +476,30 @@ const _sfc_main = {
|
||||
w: common_vendor.o(alertTitle)
|
||||
} : {}, {
|
||||
x: common_vendor.o(confirm),
|
||||
y: common_vendor.p({
|
||||
y: showCanvas.value
|
||||
}, showCanvas.value ? {} : {}, {
|
||||
z: common_vendor.p({
|
||||
name: "close",
|
||||
color: "#4B5563",
|
||||
size: "20"
|
||||
}),
|
||||
z: common_vendor.o(closeTitle),
|
||||
A: common_vendor.o(insertAllWord),
|
||||
B: common_vendor.p({
|
||||
A: common_vendor.o(closeTitle),
|
||||
B: common_vendor.o(insertAllWord),
|
||||
C: common_vendor.p({
|
||||
name: "plus-circle",
|
||||
color: "#3CC7C0",
|
||||
size: "20"
|
||||
}),
|
||||
C: common_vendor.o(insertAllWord),
|
||||
D: common_vendor.o(($event) => insertWord("患者信息")),
|
||||
E: common_vendor.o(($event) => insertWord("主诉")),
|
||||
F: common_vendor.o(($event) => insertWord("现病史及既往史")),
|
||||
G: common_vendor.o(($event) => insertWord("检查")),
|
||||
H: common_vendor.o(($event) => insertWord("临床诊断")),
|
||||
I: common_vendor.o(($event) => insertWord("治疗经过及结果")),
|
||||
J: common_vendor.o(closeTitle),
|
||||
K: common_vendor.o(openTitle),
|
||||
L: common_vendor.p({
|
||||
D: common_vendor.o(insertAllWord),
|
||||
E: common_vendor.o(($event) => insertWord("患者信息")),
|
||||
F: common_vendor.o(($event) => insertWord("主诉")),
|
||||
G: common_vendor.o(($event) => insertWord("现病史及既往史")),
|
||||
H: common_vendor.o(($event) => insertWord("检查")),
|
||||
I: common_vendor.o(($event) => insertWord("临床诊断")),
|
||||
J: common_vendor.o(($event) => insertWord("治疗经过及结果")),
|
||||
K: common_vendor.o(closeTitle),
|
||||
L: common_vendor.o(openTitle),
|
||||
M: common_vendor.p({
|
||||
round: 10,
|
||||
zIndex: "999999",
|
||||
show: showTitle.value,
|
||||
|
||||
@ -1 +1 @@
|
||||
<view class="page data-v-a6a7913a"><view class="navbox data-v-a6a7913a"><view class="bg data-v-a6a7913a"></view><view class="namebox data-v-a6a7913a"><view class="back data-v-a6a7913a" bindtap="{{b}}"><u-icon wx:if="{{a}}" class="data-v-a6a7913a" u-i="a6a7913a-0" bind:__l="__l" u-p="{{a}}"></u-icon></view><view class="name data-v-a6a7913a">{{c}}</view></view></view><view class="container data-v-a6a7913a"><view class="row data-v-a6a7913a"><view class="left data-v-a6a7913a">{{d}}<text wx:if="{{e}}" class="tip data-v-a6a7913a">(可不填)</text></view><view wx:if="{{f}}" class="right data-v-a6a7913a" bindtap="{{h}}"><u-icon wx:if="{{g}}" class="data-v-a6a7913a" u-i="a6a7913a-1" bind:__l="__l" u-p="{{g}}"></u-icon> 清除模板 </view></view><view class="editorbox data-v-a6a7913a"><sv-editor wx:if="{{l}}" class="data-v-a6a7913a" bindready="{{i}}" bindfocus="{{j}}" bindblur="{{k}}" u-i="a6a7913a-2" bind:__l="__l" u-p="{{l}}"></sv-editor></view></view><view class="toolbar data-v-a6a7913a"><view class="toolbox data-v-a6a7913a"><view class="cellbox data-v-a6a7913a"><view class="cell data-v-a6a7913a" bindtap="{{o}}"><view class="{{['imgbox', 'data-v-a6a7913a', n && 'active']}}"><up--image wx:if="{{m}}" class="headImg data-v-a6a7913a" u-i="a6a7913a-3" bind:__l="__l" u-p="{{m}}"></up--image></view><view class="name data-v-a6a7913a">添加图片</view></view><view class="cell data-v-a6a7913a" bindtap="{{r}}"><view class="{{['imgbox', 'data-v-a6a7913a', q && 'active']}}"><up--image wx:if="{{p}}" class="headImg data-v-a6a7913a" u-i="a6a7913a-4" bind:__l="__l" u-p="{{p}}"></up--image></view><view class="name data-v-a6a7913a">添加视频</view></view><view wx:if="{{s}}" class="cell data-v-a6a7913a" bindtap="{{w}}"><view class="{{['imgbox', 'data-v-a6a7913a', v && 'active']}}"><up--image wx:if="{{t}}" class="headImg data-v-a6a7913a" u-i="a6a7913a-5" bind:__l="__l" u-p="{{t}}"></up--image></view><view class="name data-v-a6a7913a">添加小标题</view></view></view><view class="btn data-v-a6a7913a" bindtap="{{x}}">确定</view></view></view><up-popup wx:if="{{L}}" class="data-v-a6a7913a" u-s="{{['d']}}" bindclose="{{J}}" bindopen="{{K}}" u-i="a6a7913a-6" bind:__l="__l" u-p="{{L}}"><view class="draftpop titlepop data-v-a6a7913a"><view class="titlebox data-v-a6a7913a">添加小标题 <view class="close data-v-a6a7913a" bindtap="{{z}}"><up-icon wx:if="{{y}}" class="data-v-a6a7913a" u-i="a6a7913a-7,a6a7913a-6" bind:__l="__l" u-p="{{y}}"></up-icon></view></view><view class="con data-v-a6a7913a"><view class="top data-v-a6a7913a"><up-icon wx:if="{{B}}" class="data-v-a6a7913a" bindclick="{{A}}" u-i="a6a7913a-8,a6a7913a-6" bind:__l="__l" u-p="{{B}}"></up-icon><view class="desc data-v-a6a7913a" bindtap="{{C}}">一键添加全部</view></view><view class="cellbox data-v-a6a7913a"><view class="cell data-v-a6a7913a" bindtap="{{D}}">患者信息</view><view class="cell data-v-a6a7913a" bindtap="{{E}}">主诉</view><view class="cell data-v-a6a7913a" bindtap="{{F}}">现病史及既往史</view></view><view class="cellbox data-v-a6a7913a"><view class="cell data-v-a6a7913a" bindtap="{{G}}">检查</view><view class="cell data-v-a6a7913a" bindtap="{{H}}">临床诊断</view><view class="cell data-v-a6a7913a" bindtap="{{I}}">治疗经过及结果</view></view></view></view></up-popup></view>
|
||||
<view class="page data-v-a6a7913a"><view class="navbox data-v-a6a7913a"><view class="bg data-v-a6a7913a"></view><view class="namebox data-v-a6a7913a"><view class="back data-v-a6a7913a" bindtap="{{b}}"><u-icon wx:if="{{a}}" class="data-v-a6a7913a" u-i="a6a7913a-0" bind:__l="__l" u-p="{{a}}"></u-icon></view><view class="name data-v-a6a7913a">{{c}}</view></view></view><view class="container data-v-a6a7913a"><view class="row data-v-a6a7913a"><view class="left data-v-a6a7913a">{{d}}<text wx:if="{{e}}" class="tip data-v-a6a7913a">(可不填)</text></view><view wx:if="{{f}}" class="right data-v-a6a7913a" bindtap="{{h}}"><u-icon wx:if="{{g}}" class="data-v-a6a7913a" u-i="a6a7913a-1" bind:__l="__l" u-p="{{g}}"></u-icon> 清除模板 </view></view><view class="editorbox data-v-a6a7913a"><sv-editor wx:if="{{l}}" class="data-v-a6a7913a" bindready="{{i}}" bindfocus="{{j}}" bindblur="{{k}}" u-i="a6a7913a-2" bind:__l="__l" u-p="{{l}}"></sv-editor></view></view><view class="toolbar data-v-a6a7913a"><view class="toolbox data-v-a6a7913a"><view class="cellbox data-v-a6a7913a"><view class="cell data-v-a6a7913a" bindtap="{{o}}"><view class="{{['imgbox', 'data-v-a6a7913a', n && 'active']}}"><up--image wx:if="{{m}}" class="headImg data-v-a6a7913a" u-i="a6a7913a-3" bind:__l="__l" u-p="{{m}}"></up--image></view><view class="name data-v-a6a7913a">添加图片</view></view><view class="cell data-v-a6a7913a" bindtap="{{r}}"><view class="{{['imgbox', 'data-v-a6a7913a', q && 'active']}}"><up--image wx:if="{{p}}" class="headImg data-v-a6a7913a" u-i="a6a7913a-4" bind:__l="__l" u-p="{{p}}"></up--image></view><view class="name data-v-a6a7913a">添加视频</view></view><view wx:if="{{s}}" class="cell data-v-a6a7913a" bindtap="{{w}}"><view class="{{['imgbox', 'data-v-a6a7913a', v && 'active']}}"><up--image wx:if="{{t}}" class="headImg data-v-a6a7913a" u-i="a6a7913a-5" bind:__l="__l" u-p="{{t}}"></up--image></view><view class="name data-v-a6a7913a">添加小标题</view></view></view><view class="btn data-v-a6a7913a" bindtap="{{x}}">确定</view></view><canvas wx:if="{{y}}" class="data-v-a6a7913a" type="2d" id="pwatermarkCanvas" style="width:200px;height:200px;position:fixed;top:-9999px"/></view><up-popup wx:if="{{M}}" class="data-v-a6a7913a" u-s="{{['d']}}" bindclose="{{K}}" bindopen="{{L}}" u-i="a6a7913a-6" bind:__l="__l" u-p="{{M}}"><view class="draftpop titlepop data-v-a6a7913a"><view class="titlebox data-v-a6a7913a">添加小标题 <view class="close data-v-a6a7913a" bindtap="{{A}}"><up-icon wx:if="{{z}}" class="data-v-a6a7913a" u-i="a6a7913a-7,a6a7913a-6" bind:__l="__l" u-p="{{z}}"></up-icon></view></view><view class="con data-v-a6a7913a"><view class="top data-v-a6a7913a"><up-icon wx:if="{{C}}" class="data-v-a6a7913a" bindclick="{{B}}" u-i="a6a7913a-8,a6a7913a-6" bind:__l="__l" u-p="{{C}}"></up-icon><view class="desc data-v-a6a7913a" bindtap="{{D}}">一键添加全部</view></view><view class="cellbox data-v-a6a7913a"><view class="cell data-v-a6a7913a" bindtap="{{E}}">患者信息</view><view class="cell data-v-a6a7913a" bindtap="{{F}}">主诉</view><view class="cell data-v-a6a7913a" bindtap="{{G}}">现病史及既往史</view></view><view class="cellbox data-v-a6a7913a"><view class="cell data-v-a6a7913a" bindtap="{{H}}">检查</view><view class="cell data-v-a6a7913a" bindtap="{{I}}">临床诊断</view><view class="cell data-v-a6a7913a" bindtap="{{J}}">治疗经过及结果</view></view></view></view></up-popup></view>
|
||||
@ -57,7 +57,10 @@ const _sfc_main = {
|
||||
const searchList = async () => {
|
||||
let searchForm = {
|
||||
page: 1,
|
||||
page_size: 10
|
||||
page_size: 10,
|
||||
order: {
|
||||
push_date: "desc"
|
||||
}
|
||||
};
|
||||
api_api.api.searchExchage({
|
||||
...searchForm
|
||||
@ -72,7 +75,10 @@ const _sfc_main = {
|
||||
const goodList = () => {
|
||||
api_api.api.searchExchageGood({
|
||||
is_selected: 1,
|
||||
limit: 5
|
||||
order: {
|
||||
push_date: "desc"
|
||||
},
|
||||
limit: 3
|
||||
}).then((res) => {
|
||||
most_read_articles.value = res.data.data;
|
||||
});
|
||||
@ -104,7 +110,7 @@ const _sfc_main = {
|
||||
color: "#3CC7C0"
|
||||
}),
|
||||
g: common_vendor.o(($event) => goList("read")),
|
||||
h: common_vendor.f(most_read_articles.value.slice(0, 3), (item, k0, i0) => {
|
||||
h: common_vendor.f(most_read_articles.value, (item, k0, i0) => {
|
||||
return {
|
||||
a: common_vendor.t(item.exchange_title),
|
||||
b: item.exchange_id,
|
||||
@ -136,7 +142,7 @@ const _sfc_main = {
|
||||
i: common_vendor.o(($event) => goDetail(item.exchange_id), item.exchange_id),
|
||||
j: item.exchange_content_image && item.exchange_content_image.length > 0
|
||||
}, item.exchange_content_image && item.exchange_content_image.length > 0 ? {
|
||||
k: common_vendor.f(item.exchange_content_image, (unit, k1, i1) => {
|
||||
k: common_vendor.f(item.exchange_content_image.splice(0, 3), (unit, k1, i1) => {
|
||||
return {
|
||||
a: "4b2e7592-4-" + i0 + "-" + i1,
|
||||
b: common_vendor.p({
|
||||
@ -152,7 +158,7 @@ const _sfc_main = {
|
||||
} : {}, {
|
||||
m: item.exchange_content_video && item.exchange_content_video.length > 0
|
||||
}, item.exchange_content_video && item.exchange_content_video.length > 0 ? {
|
||||
n: common_vendor.f(item.exchange_content_video, (videoCell, index, i1) => {
|
||||
n: common_vendor.f(item.exchange_content_video.slice(0, 1), (videoCell, index, i1) => {
|
||||
return {
|
||||
a: index,
|
||||
b: videoCell,
|
||||
@ -162,9 +168,9 @@ const _sfc_main = {
|
||||
o: common_vendor.o(($event) => goDetail(item.exchange_id), item.exchange_id)
|
||||
} : {}, {
|
||||
p: common_vendor.o(($event) => goDetail(item.exchange_id), item.exchange_id),
|
||||
q: item.label && item.label.length > 0
|
||||
}, item.label && item.label.length > 0 ? {
|
||||
r: common_vendor.f(item.label, (cell, k1, i1) => {
|
||||
q: item.exchange_label
|
||||
}, item.exchange_label ? {
|
||||
r: common_vendor.f(item.exchange_label, (cell, k1, i1) => {
|
||||
return {
|
||||
a: common_vendor.t(cell.label_name),
|
||||
b: cell.exchange_label_id
|
||||
|
||||
@ -24,5 +24,6 @@
|
||||
/* 透明度 */
|
||||
/* 文章场景相关 */
|
||||
.imgbox.data-v-f07c1461 {
|
||||
margin-top: -30rpx;
|
||||
margin: -30rpx 30rpx 0;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
525
unpackage/dist/dev/mp-weixin/pages/detail/detail.js
vendored
525
unpackage/dist/dev/mp-weixin/pages/detail/detail.js
vendored
@ -2,6 +2,7 @@
|
||||
const common_vendor = require("../../common/vendor.js");
|
||||
const common_assets = require("../../common/assets.js");
|
||||
const api_api = require("../../api/api.js");
|
||||
const utils_throttle = require("../../utils/throttle.js");
|
||||
if (!Array) {
|
||||
const _easycom_up__image2 = common_vendor.resolveComponent("up--image");
|
||||
const _easycom_up_input2 = common_vendor.resolveComponent("up-input");
|
||||
@ -37,13 +38,14 @@ const backDetailNav = () => "../../components/backDetailNav/backDetailNav.js";
|
||||
const _sfc_main = {
|
||||
__name: "detail",
|
||||
setup(__props) {
|
||||
const isArticleAuthor = common_vendor.ref(false);
|
||||
const isH5 = common_vendor.ref(false);
|
||||
const user_id = common_vendor.ref("");
|
||||
const doctor_id = common_vendor.ref("");
|
||||
const paging = common_vendor.ref(null);
|
||||
const dataList = common_vendor.ref([]);
|
||||
const total = common_vendor.ref(0);
|
||||
const imgList = common_vendor.ref([]);
|
||||
const showCanvas = common_vendor.ref(false);
|
||||
const showCanvas = common_vendor.ref(true);
|
||||
const showCommentDialog = common_vendor.ref(false);
|
||||
const givePointValue = common_vendor.ref(5);
|
||||
common_vendor.ref(0);
|
||||
@ -68,7 +70,7 @@ const _sfc_main = {
|
||||
const is_top = common_vendor.ref(false);
|
||||
const option_id = common_vendor.ref("");
|
||||
const point = common_vendor.ref(0);
|
||||
const comment_userId = common_vendor.ref("");
|
||||
const comment_doctorId = common_vendor.ref("");
|
||||
const commentTextarea = common_vendor.ref(null);
|
||||
const confirmGive = () => {
|
||||
showGive.value = false;
|
||||
@ -131,23 +133,36 @@ const _sfc_main = {
|
||||
api_api.api.getArticleDetail(id2).then((res) => {
|
||||
let result = res.data.data;
|
||||
Object.assign(info, result);
|
||||
for (let i = 0; i < info.author.length; i++) {
|
||||
if (info.author[i].doctor_id == doctor_id.value) {
|
||||
isArticleAuthor.value = true;
|
||||
}
|
||||
}
|
||||
});
|
||||
};
|
||||
const getVideoDetail = (id2) => {
|
||||
api_api.api.getVideoDetail(id2).then((res) => {
|
||||
let result = res.data.data;
|
||||
Object.assign(info, result);
|
||||
for (let i = 0; i < info.author.length; i++) {
|
||||
if (info.author[i].doctor_id == doctor_id.value) {
|
||||
isArticleAuthor.value = true;
|
||||
}
|
||||
}
|
||||
});
|
||||
};
|
||||
const getExchangeDetail = (id2) => {
|
||||
api_api.api.getExchangeDetail(id2).then((res) => {
|
||||
let result = res.data.data;
|
||||
Object.assign(info, result);
|
||||
if (info.doctor_id == doctor_id.value) {
|
||||
isArticleAuthor.value = true;
|
||||
}
|
||||
});
|
||||
};
|
||||
const getUserPoint = () => {
|
||||
api_api.api.getUserPoint().then((res) => {
|
||||
common_vendor.index.__f__("log", "at pages/detail/detail.vue:737", res.data.data);
|
||||
common_vendor.index.__f__("log", "at pages/detail/detail.vue:760", res.data.data);
|
||||
point.value = res.data.data;
|
||||
});
|
||||
};
|
||||
@ -179,13 +194,37 @@ const _sfc_main = {
|
||||
showGive.value = false;
|
||||
});
|
||||
};
|
||||
const getQueryParam = (param, link) => {
|
||||
const url = link;
|
||||
const regex = new RegExp("[?&]" + param + "=([^&#]*)", "i");
|
||||
const result = regex.exec(url);
|
||||
return result ? decodeURIComponent(result[1]) : null;
|
||||
};
|
||||
common_vendor.onLoad((options) => {
|
||||
id.value = options.id;
|
||||
type.value = options.type;
|
||||
if (options.scene) {
|
||||
var decodedURL = decodeURIComponent(options.scene);
|
||||
let idStr = getQueryParam("id", decodedURL);
|
||||
let typeStr = getQueryParam("type", decodedURL);
|
||||
if (idStr) {
|
||||
id.value = idStr;
|
||||
}
|
||||
if (typeStr) {
|
||||
if (typeStr == 1) {
|
||||
type.value = "article";
|
||||
} else if (typeStr == 2) {
|
||||
type.value = "video";
|
||||
}
|
||||
}
|
||||
} else {
|
||||
id.value = options.id;
|
||||
type.value = options.type;
|
||||
}
|
||||
common_vendor.index.__f__("log", "at pages/detail/detail.vue:829", "id:" + id.value);
|
||||
common_vendor.index.__f__("log", "at pages/detail/detail.vue:830", "type:" + type.value);
|
||||
readRecord();
|
||||
let userInfo = common_vendor.index.getStorageSync("userInfo");
|
||||
if (userInfo.user_id) {
|
||||
user_id.value = userInfo.user_id;
|
||||
if (userInfo.doctor_id) {
|
||||
doctor_id.value = userInfo.doctor_id;
|
||||
}
|
||||
});
|
||||
const clearComment = () => {
|
||||
@ -193,6 +232,7 @@ const _sfc_main = {
|
||||
imgList.value = [];
|
||||
content.value = "";
|
||||
root_id.value = null;
|
||||
placeholder.value = "请输入评论内容";
|
||||
reply_name.value = "";
|
||||
level.value = 1;
|
||||
};
|
||||
@ -213,7 +253,7 @@ const _sfc_main = {
|
||||
};
|
||||
const alertDeal = (parentId, rootId, name, top, commentLevel, userId) => {
|
||||
parent_id.value = parentId;
|
||||
comment_userId.value = userId;
|
||||
comment_doctorId.value = userId;
|
||||
root_id.value = rootId;
|
||||
reply_name.value = name;
|
||||
level.value = commentLevel;
|
||||
@ -320,18 +360,18 @@ const _sfc_main = {
|
||||
};
|
||||
const close = () => {
|
||||
showCommentDialog.value = false;
|
||||
common_vendor.index.__f__("log", "at pages/detail/detail.vue:930", "close");
|
||||
clearComment();
|
||||
};
|
||||
const openDeal = () => {
|
||||
showDeal.value = true;
|
||||
common_vendor.index.__f__("log", "at pages/detail/detail.vue:935", "open");
|
||||
common_vendor.index.__f__("log", "at pages/detail/detail.vue:992", "open");
|
||||
};
|
||||
const closeDeal = () => {
|
||||
showDeal.value = false;
|
||||
};
|
||||
const openMore = () => {
|
||||
showMore.value = true;
|
||||
common_vendor.index.__f__("log", "at pages/detail/detail.vue:943", "open");
|
||||
common_vendor.index.__f__("log", "at pages/detail/detail.vue:1000", "open");
|
||||
};
|
||||
const closeMore = () => {
|
||||
showMore.value = false;
|
||||
@ -342,8 +382,124 @@ const _sfc_main = {
|
||||
urls: [url]
|
||||
});
|
||||
};
|
||||
const handleUpload = (file) => {
|
||||
let File2 = file.file;
|
||||
const fillTextToImgWx = (base64) => {
|
||||
let maskText = "@肝胆相照临床病例库";
|
||||
return new Promise((resolve, reject) => {
|
||||
common_vendor.wx$1.createSelectorQuery().select("#watermarkCanvas").fields({
|
||||
node: true,
|
||||
size: true
|
||||
}).exec((res) => {
|
||||
const canvas = res[0].node;
|
||||
const ctx = canvas.getContext("2d");
|
||||
let textMetrics = ctx.measureText(maskText);
|
||||
common_vendor.index.__f__("log", "at pages/detail/detail.vue:1025", textMetrics);
|
||||
let {
|
||||
width: textWidth,
|
||||
actualBoundingBoxAscent,
|
||||
actualBoundingBoxDescent
|
||||
} = textMetrics;
|
||||
let textHeight = actualBoundingBoxAscent ? actualBoundingBoxAscent + actualBoundingBoxDescent : textMetrics.fontBoundingBoxAscent + textMetrics.fontBoundingBoxDescent;
|
||||
let imgHeight, imgWidth;
|
||||
let font = "";
|
||||
let fontColor = "#fff";
|
||||
let strokeWidth = 5;
|
||||
common_vendor.index.getImageInfo({
|
||||
src: base64,
|
||||
success: (imageRes) => {
|
||||
let scale = 28;
|
||||
font = scale + "px Arial";
|
||||
common_vendor.index.__f__("log", "at pages/detail/detail.vue:1051", imageRes);
|
||||
canvas.width = imageRes.width;
|
||||
canvas.height = imageRes.height;
|
||||
imgHeight = imageRes.height;
|
||||
imgWidth = imageRes.width;
|
||||
const image = canvas.createImage();
|
||||
image.src = "";
|
||||
image.src = base64;
|
||||
image.onload = () => {
|
||||
ctx.drawImage(image, 0, 0, canvas.width, canvas.height);
|
||||
let posXmargin = 10;
|
||||
let posYmargin = 10;
|
||||
let randomNumber = 3;
|
||||
common_vendor.index.__f__("log", "at pages/detail/detail.vue:1069", "randomNumber:" + randomNumber);
|
||||
switch (randomNumber) {
|
||||
case 0:
|
||||
let lt_x = posXmargin;
|
||||
let lt_y = posYmargin + textHeight;
|
||||
ctx.font = font;
|
||||
ctx.fillStyle = fontColor;
|
||||
ctx.storkStyle = "black";
|
||||
ctx.strokeWidth = strokeWidth;
|
||||
ctx.fillStyle = "#fff";
|
||||
ctx.fillText(maskText, lt_x, lt_y);
|
||||
break;
|
||||
case 1:
|
||||
let lb_x = posXmargin;
|
||||
let lb_y = imgHeight - posYmargin;
|
||||
ctx.font = font;
|
||||
ctx.fillStyle = fontColor;
|
||||
ctx.strokeStyle = "black";
|
||||
ctx.strokeWidth = strokeWidth;
|
||||
ctx.fillStyle = "#fff";
|
||||
ctx.fillText(maskText, lb_x, lb_y);
|
||||
break;
|
||||
case 2:
|
||||
let rt_x = imgWidth - textWidth * 2.9 - posXmargin <= 0 ? 10 : imgWidth - textWidth * 2.9 - posXmargin;
|
||||
let rt_y = posYmargin + textHeight * 2;
|
||||
ctx.font = font;
|
||||
ctx.fillStyle = fontColor;
|
||||
ctx.strokeStyle = "#000";
|
||||
ctx.strokeWidth = strokeWidth;
|
||||
ctx.fillStyle = "#fff";
|
||||
ctx.fillText(maskText, rt_x, rt_y);
|
||||
ctx.restore();
|
||||
ctx.save();
|
||||
break;
|
||||
case 3:
|
||||
let rb_x = imgWidth - 276 - posXmargin <= 0 ? 10 : imgWidth - 276 - posXmargin;
|
||||
common_vendor.index.__f__("log", "at pages/detail/detail.vue:1117", rb_x);
|
||||
let rb_y = imgHeight - posYmargin;
|
||||
ctx.font = font;
|
||||
ctx.fillStyle = fontColor;
|
||||
ctx.strokeStyle = "black";
|
||||
ctx.strokeWidth = strokeWidth;
|
||||
ctx.fillStyle = "#fff";
|
||||
common_vendor.index.__f__("log", "at pages/detail/detail.vue:1124", "rb_x");
|
||||
common_vendor.index.__f__("log", "at pages/detail/detail.vue:1125", rb_x);
|
||||
ctx.fillText(maskText, rb_x, rb_y);
|
||||
break;
|
||||
}
|
||||
common_vendor.wx$1.canvasToTempFilePath({
|
||||
canvas,
|
||||
success: function(res2) {
|
||||
resolve(res2.tempFilePath);
|
||||
},
|
||||
fail: function(res2) {
|
||||
common_vendor.index.__f__("error", "at pages/detail/detail.vue:1145", res2);
|
||||
}
|
||||
});
|
||||
};
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
};
|
||||
const readImages = async (localIds) => {
|
||||
common_vendor.index.__f__("log", "at pages/detail/detail.vue:1243", localIds);
|
||||
let promiseFun = [];
|
||||
for (var i = 0; i < localIds.length; i++) {
|
||||
let img = null;
|
||||
img = await fillTextToImgWx(localIds[i].url);
|
||||
promiseFun.push(getOss(img));
|
||||
}
|
||||
Promise.all(promiseFun).then((res) => {
|
||||
common_vendor.index.showToast({
|
||||
title: "上传成功",
|
||||
icon: "none"
|
||||
});
|
||||
});
|
||||
};
|
||||
const getOss = (temurl) => {
|
||||
api_api.api.getOss({
|
||||
scene: 1
|
||||
}).then((rep) => {
|
||||
@ -353,12 +509,12 @@ const _sfc_main = {
|
||||
let time = common_vendor.dayjs().format("YYYYMMDDHHmmss");
|
||||
let random = generateRandomNumber();
|
||||
let filename = time + random;
|
||||
let imgType = "." + getImageFormat(File2[0].url);
|
||||
let imgType = "." + getImageFormat(temurl);
|
||||
return new Promise((resolve, reject) => {
|
||||
common_vendor.index.uploadFile({
|
||||
url: host,
|
||||
// 仅为示例,非真实的接口地址
|
||||
filePath: File2[0].url,
|
||||
filePath: temurl,
|
||||
name: "file",
|
||||
formData: {
|
||||
OSSAccessKeyId: access_id,
|
||||
@ -369,18 +525,24 @@ const _sfc_main = {
|
||||
success(res) {
|
||||
if (res.statusCode === 204) {
|
||||
let url = host + "/" + dir + filename + imgType;
|
||||
common_vendor.index.__f__("log", "at pages/detail/detail.vue:1294", url);
|
||||
common_vendor.index.__f__("log", "at pages/detail/detail.vue:1345", url);
|
||||
imgList.value = [url];
|
||||
}
|
||||
},
|
||||
fail: (err) => {
|
||||
common_vendor.index.__f__("log", "at pages/detail/detail.vue:1299", err);
|
||||
common_vendor.index.__f__("log", "at pages/detail/detail.vue:1350", err);
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
const handleUpload = (file) => {
|
||||
let File2 = file.file;
|
||||
common_vendor.index.__f__("log", "at pages/detail/detail.vue:1359", 111);
|
||||
common_vendor.index.__f__("log", "at pages/detail/detail.vue:1360", File2);
|
||||
readImages(File2);
|
||||
};
|
||||
const generateRandomNumber = () => {
|
||||
let randomNumber = Math.floor(1e3 + Math.random() * 9e3);
|
||||
return randomNumber;
|
||||
@ -393,8 +555,6 @@ const _sfc_main = {
|
||||
return "unknown";
|
||||
};
|
||||
const afterRead = (file, lists, name) => {
|
||||
common_vendor.index.__f__("log", "at pages/detail/detail.vue:1318", lists);
|
||||
common_vendor.index.__f__("log", "at pages/detail/detail.vue:1319", name);
|
||||
handleUpload(file);
|
||||
};
|
||||
const delImg = (index) => {
|
||||
@ -613,7 +773,7 @@ const _sfc_main = {
|
||||
is_top.value ? cancelTopExchangeComment(parent_id.value) : topExchangeComment(parent_id.value);
|
||||
}
|
||||
};
|
||||
const sendComment = () => {
|
||||
const sendComment = utils_throttle.throttle(() => {
|
||||
if (!content.value) {
|
||||
common_vendor.index.showToast({
|
||||
icon: "none",
|
||||
@ -640,7 +800,7 @@ const _sfc_main = {
|
||||
} else {
|
||||
addExchangeComment(id.value, postData);
|
||||
}
|
||||
};
|
||||
});
|
||||
const formatHtml = (val) => {
|
||||
if (/^回复.+:/.test(val)) {
|
||||
return val.replace(
|
||||
@ -703,57 +863,57 @@ const _sfc_main = {
|
||||
radius: "50%"
|
||||
}),
|
||||
c: common_vendor.o(open),
|
||||
d: common_vendor.p({
|
||||
d: common_vendor.o(open),
|
||||
e: common_vendor.p({
|
||||
disabled: true,
|
||||
focus: false,
|
||||
type: "text",
|
||||
placeholderClass: "placeholderClass",
|
||||
placeholder: "对病例发表您的看法"
|
||||
}),
|
||||
e: common_vendor.o(open),
|
||||
f: common_vendor.o(open),
|
||||
g: common_vendor.o(toggleCollect),
|
||||
h: common_vendor.p({
|
||||
g: common_vendor.o(open),
|
||||
h: common_vendor.o(toggleCollect),
|
||||
i: common_vendor.p({
|
||||
src: info.is_collect ? common_vendor.unref(common_assets.collectonImg) : common_vendor.unref(common_assets.collectImg),
|
||||
width: "70rpx",
|
||||
height: "70rpx"
|
||||
}),
|
||||
i: common_vendor.p({
|
||||
j: common_vendor.p({
|
||||
src: common_vendor.unref(common_assets.shangImg),
|
||||
mode: "widthFix",
|
||||
width: "169rpx",
|
||||
height: "77rpx"
|
||||
}),
|
||||
j: common_vendor.o(openGivePop),
|
||||
k: type.value == "video"
|
||||
k: common_vendor.o(openGivePop),
|
||||
l: type.value == "video"
|
||||
}, type.value == "video" ? {
|
||||
l: common_vendor.t(info.video_title)
|
||||
m: common_vendor.t(info.video_title)
|
||||
} : type.value == "article" ? {
|
||||
n: common_vendor.t(info.article_title)
|
||||
o: common_vendor.t(info.article_title)
|
||||
} : {
|
||||
o: common_vendor.t(info.exchange_title)
|
||||
p: common_vendor.t(info.exchange_title)
|
||||
}, {
|
||||
m: type.value == "article",
|
||||
p: type.value == "video" || type.value == "article"
|
||||
n: type.value == "article",
|
||||
q: type.value == "video" || type.value == "article"
|
||||
}, type.value == "video" || type.value == "article" ? {
|
||||
q: common_vendor.f(info.author, (item, k0, i0) => {
|
||||
r: common_vendor.f(info.author, (item, k0, i0) => {
|
||||
return {
|
||||
a: "eca06f3c-6-" + i0 + ",eca06f3c-0",
|
||||
b: common_vendor.t(item.doctor_name),
|
||||
c: common_vendor.t(item.hospital_name)
|
||||
b: common_vendor.p({
|
||||
src: item.avatar ? item.avatar : common_vendor.unref(common_assets.headImg),
|
||||
width: "46rpx",
|
||||
height: "46rpx",
|
||||
radius: "50%"
|
||||
}),
|
||||
c: common_vendor.t(item.doctor_name),
|
||||
d: common_vendor.t(item.hospital_name),
|
||||
e: item
|
||||
};
|
||||
}),
|
||||
r: common_vendor.p({
|
||||
src: common_vendor.unref(common_assets.headImg),
|
||||
mode: "widthFix",
|
||||
width: "46rpx",
|
||||
height: "46rpx",
|
||||
radius: "50%"
|
||||
})
|
||||
} : {
|
||||
s: common_vendor.p({
|
||||
src: common_vendor.unref(common_assets.headImg),
|
||||
mode: "widthFix",
|
||||
src: info.avatar ? info.avatar : common_vendor.unref(common_assets.headImg),
|
||||
width: "46rpx",
|
||||
height: "46rpx",
|
||||
radius: "50%"
|
||||
@ -805,12 +965,12 @@ const _sfc_main = {
|
||||
content: fromatImg(info.exchange_summary)
|
||||
})
|
||||
} : {}, {
|
||||
O: info.case_exchange_vote && info.case_exchange_vote.vote_title
|
||||
}, info.case_exchange_vote && info.case_exchange_vote.vote_title ? common_vendor.e({
|
||||
P: info.case_exchange_vote.is_have_voted != 1
|
||||
}, info.case_exchange_vote.is_have_voted != 1 ? {
|
||||
Q: common_vendor.t(info.case_exchange_vote.vote_title),
|
||||
R: common_vendor.f(info.case_exchange_vote.case_exchange_vote_option, (item, k0, i0) => {
|
||||
O: info.exchange_vote && info.exchange_vote.vote_title
|
||||
}, info.exchange_vote && info.exchange_vote.vote_title ? common_vendor.e({
|
||||
P: info.exchange_vote.is_have_voted != 1
|
||||
}, info.exchange_vote.is_have_voted != 1 ? {
|
||||
Q: common_vendor.t(info.exchange_vote.vote_title),
|
||||
R: common_vendor.f(info.exchange_vote.case_exchange_vote_option, (item, k0, i0) => {
|
||||
return {
|
||||
a: "eca06f3c-16-" + i0 + ",eca06f3c-15",
|
||||
b: common_vendor.p({
|
||||
@ -828,8 +988,8 @@ const _sfc_main = {
|
||||
}),
|
||||
U: common_vendor.o(addVote)
|
||||
} : {
|
||||
V: common_vendor.t(info.case_exchange_vote.vote_title),
|
||||
W: common_vendor.f(info.case_exchange_vote.case_exchange_vote_option, (item, k0, i0) => {
|
||||
V: common_vendor.t(info.exchange_vote.vote_title),
|
||||
W: common_vendor.f(info.exchange_vote.case_exchange_vote_option, (item, k0, i0) => {
|
||||
return {
|
||||
a: common_vendor.t(item.option_value),
|
||||
b: common_vendor.t(item.proportion),
|
||||
@ -849,91 +1009,98 @@ const _sfc_main = {
|
||||
aa: common_vendor.f(dataList.value, (item, index, i0) => {
|
||||
return common_vendor.e({
|
||||
a: "eca06f3c-18-" + i0 + ",eca06f3c-0",
|
||||
b: common_vendor.t(item.user_name),
|
||||
c: user_id.value == item.user_id
|
||||
}, user_id.value == item.user_id ? {
|
||||
d: "eca06f3c-19-" + i0 + ",eca06f3c-0",
|
||||
e: common_vendor.p({
|
||||
b: common_vendor.p({
|
||||
src: item.avatar ? item.avatar : common_vendor.unref(common_assets.headImg),
|
||||
width: "86rpx",
|
||||
height: "86rpx",
|
||||
radius: "50%"
|
||||
}),
|
||||
c: common_vendor.t(item.user_name),
|
||||
d: doctor_id.value == item.doctor_id
|
||||
}, doctor_id.value == item.doctor_id ? {
|
||||
e: "eca06f3c-19-" + i0 + ",eca06f3c-0",
|
||||
f: common_vendor.p({
|
||||
src: common_vendor.unref(common_assets.selfImg),
|
||||
width: "69rpx",
|
||||
height: "31rpx"
|
||||
})
|
||||
} : {}, {
|
||||
f: common_vendor.o(($event) => alertDeal(item.comment_id, item.comment_id, item.user_name, item.is_top, 2, item.user_id), item.comment_id),
|
||||
g: common_vendor.t(item.content),
|
||||
h: item.comment_image
|
||||
g: common_vendor.o(($event) => alertDeal(item.comment_id, item.comment_id, item.user_name, item.is_top, 2, item.doctor_id), item.comment_id),
|
||||
h: common_vendor.t(item.content),
|
||||
i: item.comment_image
|
||||
}, item.comment_image ? {
|
||||
i: common_vendor.o(($event) => previewImg(item.comment_image), item.comment_id),
|
||||
j: "eca06f3c-20-" + i0 + ",eca06f3c-0",
|
||||
k: common_vendor.p({
|
||||
j: common_vendor.o(($event) => previewImg(item.comment_image), item.comment_id),
|
||||
k: "eca06f3c-20-" + i0 + ",eca06f3c-0",
|
||||
l: common_vendor.p({
|
||||
src: item.comment_image,
|
||||
radius: "16rpx",
|
||||
width: "150rpx",
|
||||
height: "150rpx"
|
||||
})
|
||||
} : {}, {
|
||||
l: common_vendor.t(formatDate(item.created_at)),
|
||||
m: item.sub_comment && item.sub_comment.length > 0
|
||||
m: common_vendor.t(formatDate(item.created_at)),
|
||||
n: item.sub_comment && item.sub_comment.length > 0
|
||||
}, item.sub_comment && item.sub_comment.length > 0 ? {
|
||||
n: common_vendor.f(item.sub_comment.slice(0, 3), (cell, index2, i1) => {
|
||||
o: common_vendor.f(item.sub_comment.slice(0, 3), (cell, index2, i1) => {
|
||||
return common_vendor.e({
|
||||
a: "eca06f3c-21-" + i0 + "-" + i1 + ",eca06f3c-0",
|
||||
b: common_vendor.t(cell.user_name),
|
||||
c: user_id.value == cell.user_id
|
||||
}, user_id.value == cell.user_id ? {
|
||||
d: "eca06f3c-22-" + i0 + "-" + i1 + ",eca06f3c-0",
|
||||
e: common_vendor.p({
|
||||
b: common_vendor.p({
|
||||
src: cell.avatar ? cell.avatar : common_vendor.unref(common_assets.headImg),
|
||||
width: "86rpx",
|
||||
height: "86rpx",
|
||||
radius: "50%"
|
||||
}),
|
||||
c: common_vendor.t(cell.user_name),
|
||||
d: doctor_id.value == cell.doctor_id
|
||||
}, doctor_id.value == cell.doctor_id ? {
|
||||
e: "eca06f3c-22-" + i0 + "-" + i1 + ",eca06f3c-0",
|
||||
f: common_vendor.p({
|
||||
src: common_vendor.unref(common_assets.selfImg),
|
||||
width: "69rpx",
|
||||
height: "31rpx"
|
||||
})
|
||||
} : {}, {
|
||||
f: common_vendor.o(($event) => alertDeal(cell.comment_id, cell.root_id, cell.user_name, cell.is_top, 3, cell.user_id), cell.comment_id),
|
||||
g: formatHtml(cell.content),
|
||||
h: cell.comment_image
|
||||
g: common_vendor.o(($event) => alertDeal(cell.comment_id, cell.root_id, cell.user_name, cell.is_top, 3, cell.doctor_id), cell.comment_id),
|
||||
h: formatHtml(cell.content),
|
||||
i: cell.comment_image
|
||||
}, cell.comment_image ? {
|
||||
i: common_vendor.o(($event) => previewImg(cell.comment_image), cell.comment_id),
|
||||
j: "eca06f3c-23-" + i0 + "-" + i1 + ",eca06f3c-0",
|
||||
k: common_vendor.p({
|
||||
j: common_vendor.o(($event) => previewImg(cell.comment_image), cell.comment_id),
|
||||
k: "eca06f3c-23-" + i0 + "-" + i1 + ",eca06f3c-0",
|
||||
l: common_vendor.p({
|
||||
src: cell.comment_image,
|
||||
radius: "16rpx",
|
||||
width: "150rpx",
|
||||
height: "150rpx"
|
||||
})
|
||||
} : {}, {
|
||||
l: common_vendor.t(formatDate(cell.created_at)),
|
||||
m: cell.comment_id
|
||||
m: common_vendor.t(formatDate(cell.created_at)),
|
||||
n: cell.comment_id
|
||||
});
|
||||
}),
|
||||
o: common_vendor.p({
|
||||
src: common_vendor.unref(common_assets.headImg),
|
||||
width: "86rpx",
|
||||
height: "86rpx",
|
||||
radius: "50%"
|
||||
})
|
||||
} : {}, {
|
||||
p: item.sub_comment.length > 3
|
||||
}, item.sub_comment.length > 3 ? {
|
||||
q: common_vendor.o(($event) => openMorePop(item, item.sub_comment, index), item.comment_id)
|
||||
q: "eca06f3c-24-" + i0 + ",eca06f3c-0",
|
||||
r: common_vendor.p({
|
||||
name: "arrow-down",
|
||||
color: "#3cc7c0",
|
||||
size: "38rpx"
|
||||
}),
|
||||
s: common_vendor.o(($event) => openMorePop(item, item.sub_comment, index), item.comment_id)
|
||||
} : {}, {
|
||||
r: item.comment_id
|
||||
t: item.comment_id
|
||||
});
|
||||
}),
|
||||
ab: common_vendor.p({
|
||||
src: common_vendor.unref(common_assets.headImg),
|
||||
width: "86rpx",
|
||||
height: "86rpx",
|
||||
radius: "50%"
|
||||
}),
|
||||
ac: common_vendor.sr(paging, "eca06f3c-0", {
|
||||
ab: common_vendor.sr(paging, "eca06f3c-0", {
|
||||
"k": "paging"
|
||||
}),
|
||||
ad: common_vendor.o(queryList),
|
||||
ae: common_vendor.o(($event) => dataList.value = $event),
|
||||
af: common_vendor.p({
|
||||
ac: common_vendor.o(queryList),
|
||||
ad: common_vendor.o(($event) => dataList.value = $event),
|
||||
ae: common_vendor.p({
|
||||
["inside-more"]: true,
|
||||
["loading-more-no-more-text"]: "咱也是有底线的!",
|
||||
["auto-show-back-to-top"]: false,
|
||||
["refresher-out-rate"]: "0.8",
|
||||
["empty-view-super-style"]: {
|
||||
"paddingBottom": "140rpx"
|
||||
},
|
||||
@ -947,11 +1114,11 @@ const _sfc_main = {
|
||||
},
|
||||
modelValue: dataList.value
|
||||
}),
|
||||
ag: common_vendor.sr(commentTextarea, "eca06f3c-25,eca06f3c-24", {
|
||||
af: common_vendor.sr(commentTextarea, "eca06f3c-26,eca06f3c-25", {
|
||||
"k": "commentTextarea"
|
||||
}),
|
||||
ah: common_vendor.o(($event) => content.value = $event),
|
||||
ai: common_vendor.p({
|
||||
ag: common_vendor.o(($event) => content.value = $event),
|
||||
ah: common_vendor.p({
|
||||
focus: false,
|
||||
height: "200",
|
||||
cursorSpacing: "240",
|
||||
@ -960,30 +1127,30 @@ const _sfc_main = {
|
||||
placeholder: placeholder.value,
|
||||
modelValue: content.value
|
||||
}),
|
||||
aj: imgList.value.length > 0
|
||||
ai: imgList.value.length > 0
|
||||
}, imgList.value.length > 0 ? {
|
||||
ak: common_vendor.o(($event) => previewImg(imgList.value[0])),
|
||||
al: common_vendor.p({
|
||||
aj: common_vendor.o(($event) => previewImg(imgList.value[0])),
|
||||
ak: common_vendor.p({
|
||||
src: imgList.value[0],
|
||||
radius: "6",
|
||||
width: "150rpx",
|
||||
height: "150rpx"
|
||||
}),
|
||||
am: common_vendor.p({
|
||||
al: common_vendor.p({
|
||||
name: "close-circle",
|
||||
color: "#666",
|
||||
size: "16"
|
||||
}),
|
||||
an: common_vendor.o(delImg)
|
||||
am: common_vendor.o(delImg)
|
||||
} : {}, {
|
||||
ao: common_vendor.p({
|
||||
an: common_vendor.p({
|
||||
src: common_vendor.unref(common_assets.uploadImg),
|
||||
mode: "widthFix",
|
||||
width: "40rpx",
|
||||
height: "77rpx"
|
||||
}),
|
||||
ap: common_vendor.o(afterRead),
|
||||
aq: common_vendor.p({
|
||||
ao: common_vendor.o(afterRead),
|
||||
ap: common_vendor.p({
|
||||
disabled: imgList.value.length >= 1,
|
||||
["show-upload-list"]: false,
|
||||
name: "imgupload",
|
||||
@ -992,11 +1159,11 @@ const _sfc_main = {
|
||||
width: "40rpx",
|
||||
height: "77rpx"
|
||||
}),
|
||||
ar: imgList.value.length >= 1 ? 1 : "",
|
||||
as: common_vendor.o(sendComment),
|
||||
at: common_vendor.o(close),
|
||||
av: common_vendor.o(open),
|
||||
aw: common_vendor.p({
|
||||
aq: imgList.value.length >= 1 ? 1 : "",
|
||||
ar: common_vendor.o((...args) => common_vendor.unref(sendComment) && common_vendor.unref(sendComment)(...args)),
|
||||
as: common_vendor.o(close),
|
||||
at: common_vendor.o(open),
|
||||
av: common_vendor.p({
|
||||
zIndex: 99,
|
||||
overlayStyle: {
|
||||
zIndex: 98
|
||||
@ -1007,20 +1174,20 @@ const _sfc_main = {
|
||||
closeable: true,
|
||||
mode: "bottom"
|
||||
}),
|
||||
ax: level.value == 2 && is_author.value
|
||||
}, level.value == 2 && is_author.value ? {
|
||||
ay: common_vendor.t(is_top.value ? "取消置顶" : "置顶"),
|
||||
az: common_vendor.o(toggleTop)
|
||||
aw: level.value == 2 && isArticleAuthor.value
|
||||
}, level.value == 2 && isArticleAuthor.value ? {
|
||||
ax: common_vendor.t(is_top.value ? "取消置顶" : "置顶"),
|
||||
ay: common_vendor.o(toggleTop)
|
||||
} : {}, {
|
||||
aA: common_vendor.o(openCommentDialog),
|
||||
aB: is_author.value || user_id.value == comment_userId.value
|
||||
}, is_author.value || user_id.value == comment_userId.value ? {
|
||||
aC: common_vendor.o(delComment)
|
||||
az: common_vendor.o(openCommentDialog),
|
||||
aA: isArticleAuthor.value || doctor_id.value == comment_doctorId.value
|
||||
}, isArticleAuthor.value || doctor_id.value == comment_doctorId.value ? {
|
||||
aB: common_vendor.o(delComment)
|
||||
} : {}, {
|
||||
aD: common_vendor.o(closeDealPop),
|
||||
aE: common_vendor.o(closeDeal),
|
||||
aF: common_vendor.o(openDeal),
|
||||
aG: common_vendor.p({
|
||||
aC: common_vendor.o(closeDealPop),
|
||||
aD: common_vendor.o(closeDeal),
|
||||
aE: common_vendor.o(openDeal),
|
||||
aF: common_vendor.p({
|
||||
zIndex: 60,
|
||||
overlayStyle: {
|
||||
zIndex: 59
|
||||
@ -1030,87 +1197,87 @@ const _sfc_main = {
|
||||
round: 10,
|
||||
mode: "bottom"
|
||||
}),
|
||||
aH: common_vendor.p({
|
||||
aG: common_vendor.p({
|
||||
name: "close",
|
||||
color: "#666",
|
||||
size: "20"
|
||||
}),
|
||||
aI: common_vendor.o(closeMore),
|
||||
aJ: common_vendor.p({
|
||||
src: common_vendor.unref(common_assets.headImg),
|
||||
aH: common_vendor.o(closeMore),
|
||||
aI: common_vendor.p({
|
||||
src: mainCommentObj.avatar ? mainCommentObj.avatar : common_vendor.unref(common_assets.headImg),
|
||||
width: "86rpx",
|
||||
height: "86rpx",
|
||||
radius: "50%"
|
||||
}),
|
||||
aK: common_vendor.t(mainCommentObj.user_name),
|
||||
aL: user_id.value == mainCommentObj.user_id
|
||||
}, user_id.value == mainCommentObj.user_id ? {
|
||||
aM: common_vendor.p({
|
||||
aJ: common_vendor.t(mainCommentObj.user_name),
|
||||
aK: doctor_id.value == mainCommentObj.doctor_id
|
||||
}, doctor_id.value == mainCommentObj.doctor_id ? {
|
||||
aL: common_vendor.p({
|
||||
src: common_vendor.unref(common_assets.selfImg),
|
||||
width: "69rpx",
|
||||
height: "31rpx"
|
||||
})
|
||||
} : {}, {
|
||||
aN: common_vendor.o(($event) => alertDeal(mainCommentObj.comment_id, mainCommentObj.comment_id, mainCommentObj.user_name, mainCommentObj.is_top, 2, mainCommentObj.user_id)),
|
||||
aO: common_vendor.t(mainCommentObj.content),
|
||||
aP: mainCommentObj.comment_image
|
||||
aM: common_vendor.o(($event) => alertDeal(mainCommentObj.comment_id, mainCommentObj.comment_id, mainCommentObj.user_name, mainCommentObj.is_top, 2, mainCommentObj.doctor_id)),
|
||||
aN: common_vendor.t(mainCommentObj.content),
|
||||
aO: mainCommentObj.comment_image
|
||||
}, mainCommentObj.comment_image ? {
|
||||
aQ: common_vendor.o(($event) => previewImg(mainCommentObj.comment_image)),
|
||||
aR: common_vendor.p({
|
||||
aP: common_vendor.o(($event) => previewImg(mainCommentObj.comment_image)),
|
||||
aQ: common_vendor.p({
|
||||
src: mainCommentObj.comment_image,
|
||||
radius: "16rpx",
|
||||
width: "150rpx",
|
||||
height: "150rpx"
|
||||
})
|
||||
} : {}, {
|
||||
aS: common_vendor.t(formatDate(mainCommentObj.created_at)),
|
||||
aT: common_vendor.f(childList.value, (cell, index, i0) => {
|
||||
aR: common_vendor.t(formatDate(mainCommentObj.created_at)),
|
||||
aS: common_vendor.f(childList.value, (cell, index, i0) => {
|
||||
return common_vendor.e({
|
||||
a: "eca06f3c-36-" + i0 + ",eca06f3c-31",
|
||||
b: common_vendor.t(cell.user_name),
|
||||
c: user_id.value == cell.user_id
|
||||
}, user_id.value == cell.user_id ? {
|
||||
d: "eca06f3c-37-" + i0 + ",eca06f3c-31",
|
||||
e: common_vendor.p({
|
||||
a: "eca06f3c-37-" + i0 + ",eca06f3c-32",
|
||||
b: common_vendor.p({
|
||||
src: cell.avatar ? cell.avatar : common_vendor.unref(common_assets.headImg),
|
||||
width: "86rpx",
|
||||
height: "86rpx",
|
||||
radius: "50%"
|
||||
}),
|
||||
c: common_vendor.t(cell.user_name),
|
||||
d: doctor_id.value == cell.doctor_id
|
||||
}, doctor_id.value == cell.doctor_id ? {
|
||||
e: "eca06f3c-38-" + i0 + ",eca06f3c-32",
|
||||
f: common_vendor.p({
|
||||
src: common_vendor.unref(common_assets.selfImg),
|
||||
width: "69rpx",
|
||||
height: "31rpx"
|
||||
})
|
||||
} : {}, {
|
||||
f: common_vendor.o(($event) => alertDeal(cell.comment_id, cell.root_id, cell.user_name, cell.is_top, 3, cell.user_id), cell.comment_id),
|
||||
g: formatHtml(cell.content),
|
||||
h: cell.comment_image
|
||||
g: common_vendor.o(($event) => alertDeal(cell.comment_id, cell.root_id, cell.user_name, cell.is_top, 3, cell.doctor_id), cell.comment_id),
|
||||
h: formatHtml(cell.content),
|
||||
i: cell.comment_image
|
||||
}, cell.comment_image ? {
|
||||
i: common_vendor.o(($event) => previewImg(cell.comment_image), cell.comment_id),
|
||||
j: "eca06f3c-38-" + i0 + ",eca06f3c-31",
|
||||
k: common_vendor.p({
|
||||
j: common_vendor.o(($event) => previewImg(cell.comment_image), cell.comment_id),
|
||||
k: "eca06f3c-39-" + i0 + ",eca06f3c-32",
|
||||
l: common_vendor.p({
|
||||
src: cell.comment_image,
|
||||
radius: "16rpx",
|
||||
width: "150rpx",
|
||||
height: "150rpx"
|
||||
})
|
||||
} : {}, {
|
||||
l: common_vendor.t(formatDate(cell.created_at)),
|
||||
m: cell.comment_id
|
||||
m: common_vendor.t(formatDate(cell.created_at)),
|
||||
n: cell.comment_id
|
||||
});
|
||||
}),
|
||||
aT: common_vendor.o(($event) => _ctx.value = $event),
|
||||
aU: common_vendor.p({
|
||||
src: common_vendor.unref(common_assets.headImg),
|
||||
width: "86rpx",
|
||||
height: "86rpx",
|
||||
radius: "50%"
|
||||
}),
|
||||
aV: common_vendor.o(($event) => _ctx.value = $event),
|
||||
aW: common_vendor.p({
|
||||
readonly: true,
|
||||
placeholder: "@" + mainCommentObj.user_name + ":",
|
||||
border: "surround",
|
||||
modelValue: _ctx.value
|
||||
}),
|
||||
aX: common_vendor.o(showReplyPop),
|
||||
aY: common_vendor.o(closeMore),
|
||||
aZ: common_vendor.o(openMore),
|
||||
ba: common_vendor.p({
|
||||
aV: common_vendor.o(showReplyPop),
|
||||
aW: common_vendor.o(closeMore),
|
||||
aX: common_vendor.o(openMore),
|
||||
aY: common_vendor.p({
|
||||
zIndex: 10,
|
||||
overlayStyle: {
|
||||
zIndex: 9
|
||||
@ -1120,26 +1287,26 @@ const _sfc_main = {
|
||||
round: 10,
|
||||
mode: "bottom"
|
||||
}),
|
||||
bb: common_vendor.t(point.value),
|
||||
bc: common_vendor.o(($event) => changePoint("minus")),
|
||||
bd: common_vendor.o(inputPoint),
|
||||
be: common_vendor.o(($event) => givePointValue.value = $event),
|
||||
bf: common_vendor.p({
|
||||
aZ: common_vendor.t(point.value),
|
||||
ba: common_vendor.o(($event) => changePoint("minus")),
|
||||
bb: common_vendor.o(inputPoint),
|
||||
bc: common_vendor.o(($event) => givePointValue.value = $event),
|
||||
bd: common_vendor.p({
|
||||
placeholder: "请输入打赏积分",
|
||||
type: "number",
|
||||
border: "surround",
|
||||
modelValue: givePointValue.value
|
||||
}),
|
||||
bg: common_vendor.o(($event) => changePoint("add")),
|
||||
bh: common_vendor.o(($event) => showGive.value = false),
|
||||
bi: common_vendor.o(confirmGive),
|
||||
bj: common_vendor.p({
|
||||
be: common_vendor.o(($event) => changePoint("add")),
|
||||
bf: common_vendor.o(($event) => showGive.value = false),
|
||||
bg: common_vendor.o(confirmGive),
|
||||
bh: common_vendor.p({
|
||||
show: showGive.value,
|
||||
["mask-click-able"]: true
|
||||
}),
|
||||
bk: common_vendor.o(($event) => showModal.value = false),
|
||||
bl: common_vendor.o(confirmDel),
|
||||
bm: common_vendor.p({
|
||||
bi: common_vendor.o(($event) => showModal.value = false),
|
||||
bj: common_vendor.o(confirmDel),
|
||||
bk: common_vendor.p({
|
||||
show: showModal.value,
|
||||
["mask-click-able"]: true
|
||||
})
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -456,6 +456,15 @@
|
||||
overflow: hidden;
|
||||
align-items: center;
|
||||
}
|
||||
.bottom .iptbox .iptcon.data-v-eca06f3c {
|
||||
position: relative;
|
||||
}
|
||||
.bottom .iptbox .iptcon .maskipt.data-v-eca06f3c {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
z-index: 1;
|
||||
}
|
||||
.bottom .iptbox .ipt.data-v-eca06f3c {
|
||||
margin-left: 15rpx;
|
||||
}
|
||||
@ -523,4 +532,10 @@
|
||||
}
|
||||
.deal .num.data-v-eca06f3c {
|
||||
margin-left: 8rpx;
|
||||
}
|
||||
.iconbox.data-v-eca06f3c {
|
||||
margin-top: 5rpx;
|
||||
}
|
||||
.data-v-eca06f3c ._root {
|
||||
overflow-x: hidden !important;
|
||||
}
|
||||
@ -192,8 +192,9 @@ const _sfc_main = {
|
||||
y: common_vendor.f(recommend_doctor.value, (item, k0, i0) => {
|
||||
return {
|
||||
a: common_vendor.t(item.doctor_name),
|
||||
b: item.doctor_id,
|
||||
c: common_vendor.o(($event) => goListBy(item.doctor_id, item.doctor_name, "doctor"), item.doctor_id)
|
||||
b: common_vendor.t(item.hospital_name),
|
||||
c: item.doctor_id,
|
||||
d: common_vendor.o(($event) => goListBy(item.doctor_id, item.doctor_name, "doctor"), item.doctor_id)
|
||||
};
|
||||
})
|
||||
};
|
||||
|
||||
@ -1 +1 @@
|
||||
<nav-bar wx:if="{{a}}" class="data-v-1cf27b2a" u-i="1cf27b2a-0" bind:__l="__l" u-p="{{a}}"></nav-bar><view class="page data-v-1cf27b2a"><view class="databox data-v-1cf27b2a"><view class="cell data-v-1cf27b2a"><view class="num data-v-1cf27b2a">{{b}}</view><view class="name data-v-1cf27b2a">文章</view></view><view class="cell data-v-1cf27b2a"><view class="num data-v-1cf27b2a">{{c}}</view><view class="name data-v-1cf27b2a">视频</view></view><view class="cell data-v-1cf27b2a"><view class="num data-v-1cf27b2a">{{d}}</view><view class="name data-v-1cf27b2a">阅读量</view></view></view><view class="kubox data-v-1cf27b2a"><view class="row data-v-1cf27b2a"><up--image wx:if="{{f}}" class="data-v-1cf27b2a" bindclick="{{e}}" u-i="1cf27b2a-1" bind:__l="__l" u-p="{{f}}"></up--image><up--image wx:if="{{h}}" class="data-v-1cf27b2a" bindclick="{{g}}" u-i="1cf27b2a-2" bind:__l="__l" u-p="{{h}}"></up--image></view><view class="row data-v-1cf27b2a" style="margin-top:30rpx"><up--image wx:if="{{j}}" class="data-v-1cf27b2a" bindclick="{{i}}" u-i="1cf27b2a-3" bind:__l="__l" u-p="{{j}}"></up--image><up--image wx:if="{{l}}" class="data-v-1cf27b2a" bindclick="{{k}}" u-i="1cf27b2a-4" bind:__l="__l" u-p="{{l}}"></up--image></view></view><view class="newsbox data-v-1cf27b2a"><view class="titlebox data-v-1cf27b2a"><view class="title data-v-1cf27b2a">最新上线</view><view class="more data-v-1cf27b2a" bindtap="{{n}}"><view class="morename data-v-1cf27b2a">查看更多</view><u-icon wx:if="{{m}}" class="data-v-1cf27b2a" u-i="1cf27b2a-5" bind:__l="__l" u-p="{{m}}"></u-icon></view></view><view class="listbox data-v-1cf27b2a"><view wx:for="{{o}}" wx:for-item="item" wx:key="c" class="cell data-v-1cf27b2a" bindtap="{{item.d}}"><view class="circle data-v-1cf27b2a"></view><view class="info data-v-1cf27b2a"><view class="name ellipsis-two-lines data-v-1cf27b2a">{{item.a}}</view><view class="tagsbox data-v-1cf27b2a"><view wx:for="{{item.b}}" wx:for-item="tag" wx:key="b" class="tag data-v-1cf27b2a">{{tag.a}}</view></view></view></view></view></view><view class="newsbox data-v-1cf27b2a"><view class="titlebox data-v-1cf27b2a"><view class="title data-v-1cf27b2a">最多阅读</view><view class="more data-v-1cf27b2a" bindtap="{{q}}"><view class="morename data-v-1cf27b2a">查看更多</view><u-icon wx:if="{{p}}" class="data-v-1cf27b2a" u-i="1cf27b2a-6" bind:__l="__l" u-p="{{p}}"></u-icon></view></view><view class="listbox data-v-1cf27b2a"><view wx:for="{{r}}" wx:for-item="item" wx:key="c" class="cell data-v-1cf27b2a" bindtap="{{item.d}}"><view class="circle data-v-1cf27b2a"></view><view class="info data-v-1cf27b2a"><view class="name ellipsis-two-lines data-v-1cf27b2a">{{item.a}}</view><view class="tagsbox data-v-1cf27b2a"><view wx:for="{{item.b}}" wx:for-item="tag" wx:key="b" class="tag data-v-1cf27b2a">{{tag.a}}</view></view></view></view></view></view><view class="recbox data-v-1cf27b2a"><view class="titlebox data-v-1cf27b2a"><view class="title data-v-1cf27b2a">医院病例库推荐</view><view class="more data-v-1cf27b2a" bindtap="{{t}}"><view class="morename data-v-1cf27b2a">查看更多</view><u-icon wx:if="{{s}}" class="data-v-1cf27b2a" u-i="1cf27b2a-7" bind:__l="__l" u-p="{{s}}"></u-icon></view></view><view class="list data-v-1cf27b2a"><view wx:for="{{v}}" wx:for-item="item" wx:key="b" class="cell data-v-1cf27b2a" bindtap="{{item.c}}">{{item.a}}</view></view></view><view class="recbox data-v-1cf27b2a"><view class="titlebox data-v-1cf27b2a"><view class="title data-v-1cf27b2a">医生病例库推荐</view><view class="more data-v-1cf27b2a" bindtap="{{x}}"><view class="morename data-v-1cf27b2a">查看更多</view><u-icon wx:if="{{w}}" class="data-v-1cf27b2a" u-i="1cf27b2a-8" bind:__l="__l" u-p="{{w}}"></u-icon></view></view><view class="list data-v-1cf27b2a"><view wx:for="{{y}}" wx:for-item="item" wx:key="b" class="cell data-v-1cf27b2a" bindtap="{{item.c}}">{{item.a}}</view></view></view></view><tab-bar class="data-v-1cf27b2a" u-i="1cf27b2a-9" bind:__l="__l"></tab-bar>
|
||||
<nav-bar wx:if="{{a}}" class="data-v-1cf27b2a" u-i="1cf27b2a-0" bind:__l="__l" u-p="{{a}}"></nav-bar><view class="page data-v-1cf27b2a"><view class="databox data-v-1cf27b2a"><view class="cell data-v-1cf27b2a"><view class="num data-v-1cf27b2a">{{b}}</view><view class="name data-v-1cf27b2a">文章</view></view><view class="cell data-v-1cf27b2a"><view class="num data-v-1cf27b2a">{{c}}</view><view class="name data-v-1cf27b2a">视频</view></view><view class="cell data-v-1cf27b2a"><view class="num data-v-1cf27b2a">{{d}}</view><view class="name data-v-1cf27b2a">阅读量</view></view></view><view class="kubox data-v-1cf27b2a"><view class="row data-v-1cf27b2a"><up--image wx:if="{{f}}" class="data-v-1cf27b2a" bindclick="{{e}}" u-i="1cf27b2a-1" bind:__l="__l" u-p="{{f}}"></up--image><up--image wx:if="{{h}}" class="data-v-1cf27b2a" bindclick="{{g}}" u-i="1cf27b2a-2" bind:__l="__l" u-p="{{h}}"></up--image></view><view class="row data-v-1cf27b2a" style="margin-top:30rpx"><up--image wx:if="{{j}}" class="data-v-1cf27b2a" bindclick="{{i}}" u-i="1cf27b2a-3" bind:__l="__l" u-p="{{j}}"></up--image><up--image wx:if="{{l}}" class="data-v-1cf27b2a" bindclick="{{k}}" u-i="1cf27b2a-4" bind:__l="__l" u-p="{{l}}"></up--image></view></view><view class="newsbox data-v-1cf27b2a"><view class="titlebox data-v-1cf27b2a"><view class="title data-v-1cf27b2a">最新上线</view><view class="more data-v-1cf27b2a" bindtap="{{n}}"><view class="morename data-v-1cf27b2a">查看更多</view><u-icon wx:if="{{m}}" class="data-v-1cf27b2a" u-i="1cf27b2a-5" bind:__l="__l" u-p="{{m}}"></u-icon></view></view><view class="listbox data-v-1cf27b2a"><view wx:for="{{o}}" wx:for-item="item" wx:key="c" class="cell data-v-1cf27b2a" bindtap="{{item.d}}"><view class="circle data-v-1cf27b2a"></view><view class="info data-v-1cf27b2a"><view class="name ellipsis-two-lines data-v-1cf27b2a">{{item.a}}</view><view class="tagsbox data-v-1cf27b2a"><view wx:for="{{item.b}}" wx:for-item="tag" wx:key="b" class="tag data-v-1cf27b2a">{{tag.a}}</view></view></view></view></view></view><view class="newsbox data-v-1cf27b2a"><view class="titlebox data-v-1cf27b2a"><view class="title data-v-1cf27b2a">最多阅读</view><view class="more data-v-1cf27b2a" bindtap="{{q}}"><view class="morename data-v-1cf27b2a">查看更多</view><u-icon wx:if="{{p}}" class="data-v-1cf27b2a" u-i="1cf27b2a-6" bind:__l="__l" u-p="{{p}}"></u-icon></view></view><view class="listbox data-v-1cf27b2a"><view wx:for="{{r}}" wx:for-item="item" wx:key="c" class="cell data-v-1cf27b2a" bindtap="{{item.d}}"><view class="circle data-v-1cf27b2a"></view><view class="info data-v-1cf27b2a"><view class="name ellipsis-two-lines data-v-1cf27b2a">{{item.a}}</view><view class="tagsbox data-v-1cf27b2a"><view wx:for="{{item.b}}" wx:for-item="tag" wx:key="b" class="tag data-v-1cf27b2a">{{tag.a}}</view></view></view></view></view></view><view class="recbox data-v-1cf27b2a"><view class="titlebox data-v-1cf27b2a"><view class="title data-v-1cf27b2a">医院病例库推荐</view><view class="more data-v-1cf27b2a" bindtap="{{t}}"><view class="morename data-v-1cf27b2a">查看更多</view><u-icon wx:if="{{s}}" class="data-v-1cf27b2a" u-i="1cf27b2a-7" bind:__l="__l" u-p="{{s}}"></u-icon></view></view><view class="list data-v-1cf27b2a"><view wx:for="{{v}}" wx:for-item="item" wx:key="b" class="cell ellipsis-one-lines data-v-1cf27b2a" bindtap="{{item.c}}">{{item.a}}</view></view></view><view class="recbox data-v-1cf27b2a"><view class="titlebox data-v-1cf27b2a"><view class="title data-v-1cf27b2a">医生病例库推荐</view><view class="more data-v-1cf27b2a" bindtap="{{x}}"><view class="morename data-v-1cf27b2a">查看更多</view><u-icon wx:if="{{w}}" class="data-v-1cf27b2a" u-i="1cf27b2a-8" bind:__l="__l" u-p="{{w}}"></u-icon></view></view><view class="list data-v-1cf27b2a"><view wx:for="{{y}}" wx:for-item="item" wx:key="c" class="cell ellipsis-one-lines data-v-1cf27b2a" bindtap="{{item.d}}">{{item.a}}({{item.b}})</view></view></view></view><tab-bar class="data-v-1cf27b2a" u-i="1cf27b2a-9" bind:__l="__l"></tab-bar>
|
||||
@ -1 +1 @@
|
||||
<view class="logincontent data-v-e4e4508d"><view class="title data-v-e4e4508d">登录观看</view><up-form wx:if="{{s}}" class="r data-v-e4e4508d" u-s="{{['d']}}" u-r="form" u-i="e4e4508d-0" bind:__l="__l" u-p="{{s}}"><up-form-item wx:if="{{a}}" class="data-v-e4e4508d" u-s="{{['d']}}" u-i="e4e4508d-1,e4e4508d-0" bind:__l="__l" u-p="{{d}}"><up-input wx:if="{{c}}" class="data-v-e4e4508d" u-i="e4e4508d-2,e4e4508d-1" bind:__l="__l" bindupdateModelValue="{{b}}" u-p="{{c}}"></up-input></up-form-item><view wx:if="{{e}}" class="smsbox data-v-e4e4508d"><up-form-item wx:if="{{q}}" class="data-v-e4e4508d" u-s="{{['right','d']}}" u-i="e4e4508d-3,e4e4508d-0" bind:__l="__l" u-p="{{q}}"><up-input wx:if="{{g}}" class="data-v-e4e4508d" u-i="e4e4508d-4,e4e4508d-3" bind:__l="__l" bindupdateModelValue="{{f}}" u-p="{{g}}"></up-input><view class="wrap data-v-e4e4508d" slot="right"><up-toast class="r data-v-e4e4508d" u-r="uToastRef" u-i="e4e4508d-5,e4e4508d-3" bind:__l="__l"></up-toast><up-code wx:if="{{m}}" class="r data-v-e4e4508d" bindend="{{j}}" bindstart="{{k}}" u-r="uCodeRef" bindchange="{{l}}" u-i="e4e4508d-6,e4e4508d-3" bind:__l="__l" u-p="{{m}}"></up-code><up-button wx:if="{{p}}" u-s="{{['d']}}" bindtap="{{o}}" class="custom-code data-v-e4e4508d" u-i="e4e4508d-7,e4e4508d-3" bind:__l="__l" u-p="{{p}}"><text class="codetext data-v-e4e4508d">{{n}}</text></up-button></view></up-form-item></view></up-form><view wx:if="{{t}}" class="row data-v-e4e4508d"><up-button wx:if="{{w}}" bindclick="{{v}}" class="custom-style data-v-e4e4508d" u-i="e4e4508d-8" bind:__l="__l" u-p="{{w}}"></up-button></view><view wx:else class="row data-v-e4e4508d" style="margin-top:120rpx"><up-button wx:if="{{x}}" class="custom-style data-v-e4e4508d" bindgetphonenumber="{{y}}" u-i="e4e4508d-9" bind:__l="__l" u-p="{{z}}"></up-button><up-button wx:else class="custom-style data-v-e4e4508d" bindclick="{{A}}" u-i="e4e4508d-10" bind:__l="__l" u-p="{{B||''}}"></up-button></view><view class="row data-v-e4e4508d"><view class="left data-v-e4e4508d" bindtap="{{D}}">{{C}}</view><view class="right data-v-e4e4508d" bindtap="{{E}}"> 注册 </view></view><view class="row data-v-e4e4508d" style="margin-top:10rpx"><radio-group class="data-v-e4e4508d" bindtap="{{G}}" labelDisabled="{{true}}"><label class="radio data-v-e4e4508d"><radio class="data-v-e4e4508d" labelDisabled="{{true}}" value="1" checked="{{F}}" color="rgb(41, 121, 255)"/> 我已阅读并同意<navigator class="agree data-v-e4e4508d">《用户协议》</navigator></label></radio-group></view><view class="row data-v-e4e4508d"><view class="tip data-v-e4e4508d">操作说明</view></view><view class="line data-v-e4e4508d"><view class="qq data-v-e4e4508d">1、</view> 肝胆相照注册账号与微信绑定,肝胆相照相关直播、视频无忧随心看 </view><view class="line data-v-e4e4508d"><view class="qq data-v-e4e4508d">2、</view> 仅需操作一次,后续通过微信观看直播、视频无需额外操作,立即进入 </view><view class="line data-v-e4e4508d"><view class="qq data-v-e4e4508d">3、</view> 若您还未注册肝胆相照专家版App, 请直接点击“注册”进行注册操作 </view><view class="desc data-v-e4e4508d"> 若您有任何疑问或需要我们协助,请与您的小助手联系或直接微信联系<text class="red data-v-e4e4508d">igandan1000</text></view></view>
|
||||
<view class="logincontent data-v-e4e4508d"><view class="title data-v-e4e4508d">欢迎登录</view><up-form wx:if="{{s}}" class="r data-v-e4e4508d" u-s="{{['d']}}" u-r="form" u-i="e4e4508d-0" bind:__l="__l" u-p="{{s}}"><up-form-item wx:if="{{a}}" class="data-v-e4e4508d" u-s="{{['d']}}" u-i="e4e4508d-1,e4e4508d-0" bind:__l="__l" u-p="{{d}}"><up-input wx:if="{{c}}" class="data-v-e4e4508d" u-i="e4e4508d-2,e4e4508d-1" bind:__l="__l" bindupdateModelValue="{{b}}" u-p="{{c}}"></up-input></up-form-item><view wx:if="{{e}}" class="smsbox data-v-e4e4508d"><up-form-item wx:if="{{q}}" class="data-v-e4e4508d" u-s="{{['right','d']}}" u-i="e4e4508d-3,e4e4508d-0" bind:__l="__l" u-p="{{q}}"><up-input wx:if="{{g}}" class="data-v-e4e4508d" u-i="e4e4508d-4,e4e4508d-3" bind:__l="__l" bindupdateModelValue="{{f}}" u-p="{{g}}"></up-input><view class="wrap data-v-e4e4508d" slot="right"><up-toast class="r data-v-e4e4508d" u-r="uToastRef" u-i="e4e4508d-5,e4e4508d-3" bind:__l="__l"></up-toast><up-code wx:if="{{m}}" class="r data-v-e4e4508d" bindend="{{j}}" bindstart="{{k}}" u-r="uCodeRef" bindchange="{{l}}" u-i="e4e4508d-6,e4e4508d-3" bind:__l="__l" u-p="{{m}}"></up-code><up-button wx:if="{{p}}" u-s="{{['d']}}" bindtap="{{o}}" class="custom-code data-v-e4e4508d" u-i="e4e4508d-7,e4e4508d-3" bind:__l="__l" u-p="{{p}}"><text class="codetext data-v-e4e4508d">{{n}}</text></up-button></view></up-form-item></view></up-form><view wx:if="{{t}}" class="row data-v-e4e4508d"><up-button wx:if="{{w}}" bindclick="{{v}}" class="custom-style data-v-e4e4508d" u-i="e4e4508d-8" bind:__l="__l" u-p="{{w}}"></up-button></view><view wx:else class="row data-v-e4e4508d" style="margin-top:120rpx"><up-button wx:if="{{x}}" class="custom-style data-v-e4e4508d" bindgetphonenumber="{{y}}" u-i="e4e4508d-9" bind:__l="__l" u-p="{{z}}"></up-button><up-button wx:else class="custom-style data-v-e4e4508d" bindclick="{{A}}" u-i="e4e4508d-10" bind:__l="__l" u-p="{{B||''}}"></up-button></view><view class="row data-v-e4e4508d"><view class="left data-v-e4e4508d" bindtap="{{D}}">{{C}}</view><view class="right data-v-e4e4508d" bindtap="{{E}}"> 注册 </view></view><view class="row data-v-e4e4508d" style="margin-top:10rpx"><radio-group class="data-v-e4e4508d" bindtap="{{G}}" labelDisabled="{{true}}"><label class="radio data-v-e4e4508d"><radio class="data-v-e4e4508d" labelDisabled="{{true}}" value="1" checked="{{F}}" color="rgb(41, 121, 255)"/> 我已阅读并同意<navigator class="agree data-v-e4e4508d">《用户协议》</navigator></label></radio-group></view><view class="row data-v-e4e4508d"><view class="tip data-v-e4e4508d">操作说明</view></view><view class="line data-v-e4e4508d"> 若您还未注册肝胆相照专家版App, 请直接点击“注册”进行注册操作 </view><view class="desc data-v-e4e4508d"> 若您有任何疑问或需要我们协助,请与您的小助手联系或直接微信联系<text class="red data-v-e4e4508d">igandan1000</text></view></view>
|
||||
@ -60,7 +60,7 @@
|
||||
padding: 0 30rpx;
|
||||
}
|
||||
.logincontent .row.data-v-e4e4508d {
|
||||
margin-top: 30rpx;
|
||||
margin-top: 40rpx;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
padding: 0 30rpx;
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
const common_vendor = require("../../common/vendor.js");
|
||||
const common_assets = require("../../common/assets.js");
|
||||
const api_api = require("../../api/api.js");
|
||||
const utils_throttle = require("../../utils/throttle.js");
|
||||
const uni_modules_svEditor_components_common_utils = require("../../uni_modules/sv-editor/components/common/utils.js");
|
||||
if (!Array) {
|
||||
const _easycom_up_toast2 = common_vendor.resolveComponent("up-toast");
|
||||
@ -42,8 +43,9 @@ const _sfc_main = {
|
||||
setup(__props) {
|
||||
const uToast = common_vendor.ref(null);
|
||||
const isLock = common_vendor.ref(false);
|
||||
common_vendor.ref(false);
|
||||
const isFlag = common_vendor.ref(false);
|
||||
const delId = common_vendor.ref("");
|
||||
common_vendor.ref(null);
|
||||
const showModal = common_vendor.ref(false);
|
||||
const delType = common_vendor.ref("delDraft");
|
||||
const isPublish = common_vendor.ref(false);
|
||||
@ -56,7 +58,9 @@ const _sfc_main = {
|
||||
exchange_title: "",
|
||||
exchange_content: "",
|
||||
exchange_summary: "",
|
||||
case_exchange_vote: {},
|
||||
case_exchange_vote: {
|
||||
vote_title: ""
|
||||
},
|
||||
case_exchange_label: []
|
||||
});
|
||||
const voteData = common_vendor.reactive({
|
||||
@ -68,6 +72,8 @@ const _sfc_main = {
|
||||
}
|
||||
]
|
||||
});
|
||||
const videoface = common_vendor.ref("https://caseplatform.oss-cn-beijing.aliyuncs.com/prod/static/shipinfengmian.jpg");
|
||||
const showQuit = common_vendor.ref(false);
|
||||
common_vendor.ref("");
|
||||
const isConfirmPublish = common_vendor.ref(false);
|
||||
const showVote = common_vendor.ref(false);
|
||||
@ -81,11 +87,12 @@ const _sfc_main = {
|
||||
const isFocusInfo = common_vendor.ref(false);
|
||||
const isFocusResult = common_vendor.ref(false);
|
||||
const labelList = common_vendor.ref([]);
|
||||
const infoHeight = common_vendor.ref(100);
|
||||
const pEditorRef = common_vendor.ref(null);
|
||||
const infoHeight = common_vendor.ref(300);
|
||||
let inithtmlString = "<p>【患者信息】:</p><br/><p>【主诉】:</p><br/><p>【现病史及既往史】:</p><br/><p>【检查】:</p><br/><p>【临床诊断】:</p><br/><p>【治疗经过及结果】:</p><br/><br/>";
|
||||
const infoHtml = common_vendor.ref(inithtmlString);
|
||||
const resultHtml = common_vendor.ref("");
|
||||
const resultHeight = common_vendor.ref(100);
|
||||
const resultHeight = common_vendor.ref(300);
|
||||
const showInfoOpacity = common_vendor.ref(true);
|
||||
const level = common_vendor.ref(1);
|
||||
const freshKey = common_vendor.ref(0);
|
||||
@ -108,6 +115,24 @@ const _sfc_main = {
|
||||
list2: [],
|
||||
list3: []
|
||||
});
|
||||
const cancelQuit = () => {
|
||||
showQuit.value = false;
|
||||
};
|
||||
const confirmQuit = () => {
|
||||
showQuit.value = false;
|
||||
goBack();
|
||||
};
|
||||
const oldScrollTop = common_vendor.ref(0);
|
||||
const scrollTop = common_vendor.ref(0);
|
||||
const scroll = (e) => {
|
||||
oldScrollTop.value = e.detail.scrollTop;
|
||||
};
|
||||
const toTop = () => {
|
||||
scrollTop.value = oldScrollTop.value;
|
||||
common_vendor.nextTick$1(() => {
|
||||
scrollTop.value = 0;
|
||||
});
|
||||
};
|
||||
const goBack = () => {
|
||||
common_vendor.index.navigateBack({
|
||||
delta: 1
|
||||
@ -118,39 +143,50 @@ const _sfc_main = {
|
||||
showEditor.value = false;
|
||||
};
|
||||
const changeEditor = (data) => {
|
||||
common_vendor.index.__f__("log", "at pages/publish/publish.vue:682", "content");
|
||||
common_vendor.index.__f__("log", "at pages/publish/publish.vue:683", data.content);
|
||||
showEditor.value = false;
|
||||
if (data.type == "info") {
|
||||
infoHtml.value = data.content;
|
||||
form.exchange_content = data.content;
|
||||
infoHeight.value = 600;
|
||||
editorCtx.value.initHtml(data.content, async (videoUrl) => {
|
||||
let res = "";
|
||||
const fox = common_assets.videoface;
|
||||
res = await editorCtx.value.createCoverThumbnail(fox);
|
||||
showEditor.value = false;
|
||||
common_vendor.index.__f__("log", "at pages/publish/publish.vue:692", videoface.value);
|
||||
res = await editorCtx.value.createCoverThumbnail(videoface.value);
|
||||
return res;
|
||||
}, async () => {
|
||||
});
|
||||
setTimeout(() => {
|
||||
const query = common_vendor.wx$1.createSelectorQuery();
|
||||
query.select("#infoContent").boundingClientRect(function(rect) {
|
||||
common_vendor.index.__f__("log", "at pages/publish/publish.vue:658", rect.height);
|
||||
infoHeight.value = rect.height + 10;
|
||||
}).exec();
|
||||
}, 0);
|
||||
setTimeout(async () => {
|
||||
let info_str = await editorCtx.value.getLastContent();
|
||||
infoHtml.value = info_str.html;
|
||||
setTimeout(() => {
|
||||
const query = common_vendor.wx$1.createSelectorQuery();
|
||||
query.select("#infoContent").boundingClientRect(function(rect) {
|
||||
common_vendor.index.__f__("log", "at pages/publish/publish.vue:708", rect.height);
|
||||
infoHeight.value = rect.height + 10;
|
||||
}).exec();
|
||||
}, 1e3);
|
||||
}, 1e3);
|
||||
} else {
|
||||
resultHtml.value = data.content;
|
||||
form.exchange_summary = data.content;
|
||||
editorCtxResult.value.initHtml(data.content, async (videoUrl) => {
|
||||
let res = "";
|
||||
const fox = common_assets.videoface;
|
||||
res = await editorCtx.value.createCoverThumbnail(fox);
|
||||
showEditor.value = false;
|
||||
res = await editorCtxResult.value.createCoverThumbnail(videoface.value);
|
||||
return res;
|
||||
}, async () => {
|
||||
});
|
||||
setTimeout(() => {
|
||||
const query = common_vendor.wx$1.createSelectorQuery();
|
||||
query.select("#resultContent").boundingClientRect(function(rect) {
|
||||
common_vendor.index.__f__("log", "at pages/publish/publish.vue:680", rect.height);
|
||||
resultHeight.value = rect.height + 10;
|
||||
}).exec();
|
||||
}, 0);
|
||||
setTimeout(async () => {
|
||||
let info_str = await editorCtxResult.value.getLastContent();
|
||||
resultHtml.value = info_str.html;
|
||||
setTimeout(() => {
|
||||
const query = common_vendor.wx$1.createSelectorQuery();
|
||||
query.select("#resultContent").boundingClientRect(function(rect) {
|
||||
common_vendor.index.__f__("log", "at pages/publish/publish.vue:734", rect.height);
|
||||
resultHeight.value = rect.height + 10;
|
||||
toTop();
|
||||
}).exec();
|
||||
}, 1e3);
|
||||
}, 1e3);
|
||||
}
|
||||
};
|
||||
const openDraftList = () => {
|
||||
@ -158,7 +194,7 @@ const _sfc_main = {
|
||||
showDraft.value = true;
|
||||
};
|
||||
const epaste = (e) => {
|
||||
common_vendor.index.__f__("log", "at pages/publish/publish.vue:696", e);
|
||||
common_vendor.index.__f__("log", "at pages/publish/publish.vue:751", e);
|
||||
};
|
||||
const alertVote = () => {
|
||||
if (exchange_id.value) {
|
||||
@ -219,13 +255,29 @@ const _sfc_main = {
|
||||
});
|
||||
return false;
|
||||
}
|
||||
if (voteData.case_exchange_vote_option.length == 0) {
|
||||
if (voteData.case_exchange_vote_option.length < 2) {
|
||||
common_vendor.index.showToast({
|
||||
title: "请添加投票选项",
|
||||
title: "请至少设置2个选项",
|
||||
icon: "none"
|
||||
});
|
||||
return false;
|
||||
}
|
||||
for (let i = 0; i < voteData.case_exchange_vote_option.length; i++) {
|
||||
if (voteData.case_exchange_vote_option[i].option_value == "") {
|
||||
common_vendor.index.showToast({
|
||||
title: "投票选项不能为空",
|
||||
icon: "none"
|
||||
});
|
||||
return false;
|
||||
}
|
||||
if (voteData.case_exchange_vote_option[i].option_value.length > 16) {
|
||||
common_vendor.index.showToast({
|
||||
title: "第" + (i + 1) + "个投票选项超过16个字符",
|
||||
icon: "none"
|
||||
});
|
||||
return false;
|
||||
}
|
||||
}
|
||||
form.case_exchange_vote = voteData;
|
||||
showVote.value = false;
|
||||
};
|
||||
@ -247,37 +299,34 @@ const _sfc_main = {
|
||||
}
|
||||
};
|
||||
const ready = (e) => {
|
||||
common_vendor.index.__f__("log", "at pages/publish/publish.vue:814", e);
|
||||
common_vendor.index.__f__("log", "at pages/publish/publish.vue:870", e);
|
||||
editorCtx.value = e;
|
||||
let html = "<p>【患者信息】:</p><br/><p>【主诉】:</p><br/><p>【现病史及既往史】:</p><br/><p>【检查】:</p><br/><p>【临床诊断】:</p><br/><p>【治疗经过及结果】:</p><br/><br/>";
|
||||
editorCtx.value.initHtml(html);
|
||||
common_vendor.index.hideKeyboard();
|
||||
common_vendor.index.pageScrollTo({
|
||||
scrollTop: 0,
|
||||
selector: "#form"
|
||||
// })
|
||||
});
|
||||
toTop();
|
||||
};
|
||||
const readyResult = (e) => {
|
||||
editorCtxResult.value = e;
|
||||
toTop();
|
||||
setTimeout(() => {
|
||||
if (exchange_id.value) {
|
||||
getExchangeDetail(exchange_id.value);
|
||||
}
|
||||
common_vendor.index.hideLoading();
|
||||
});
|
||||
};
|
||||
const focusInfo = async () => {
|
||||
isFocusInfo.value = true;
|
||||
const res = await editorCtx.value.getLastContent();
|
||||
editorCotent.value = res.html;
|
||||
editorCotent.value = editorCtx.value.exportHtml(res.html);
|
||||
common_vendor.index.__f__("log", "at pages/publish/publish.vue:906", "focus");
|
||||
common_vendor.index.__f__("log", "at pages/publish/publish.vue:907", "editorCotent.value");
|
||||
common_vendor.index.__f__("log", "at pages/publish/publish.vue:908", editorCotent.value);
|
||||
showEditor.value = true;
|
||||
editorType.value = "info";
|
||||
};
|
||||
const focusResult = async () => {
|
||||
isFocusResult.value = true;
|
||||
const res = await editorCtxResult.value.getLastContent();
|
||||
editorCotent.value = res.html;
|
||||
editorCotent.value = editorCtxResult.value.exportHtml(res.html);
|
||||
editorType.value = "result";
|
||||
showEditor.value = true;
|
||||
};
|
||||
@ -312,6 +361,7 @@ const _sfc_main = {
|
||||
}
|
||||
api_api.api.saveDraft(form).then((res2) => {
|
||||
isLock.value = false;
|
||||
goBack();
|
||||
common_vendor.index.showToast({
|
||||
title: "保存成功",
|
||||
icon: "none"
|
||||
@ -321,7 +371,7 @@ const _sfc_main = {
|
||||
};
|
||||
const getExchangeDetail = (id) => {
|
||||
api_api.api.getExchangeDetail(id).then((res) => {
|
||||
common_vendor.index.__f__("log", "at pages/publish/publish.vue:954", res.data.data);
|
||||
common_vendor.index.__f__("log", "at pages/publish/publish.vue:1017", res.data.data);
|
||||
let {
|
||||
exchange_content,
|
||||
exchange_title,
|
||||
@ -329,23 +379,17 @@ const _sfc_main = {
|
||||
exchange_summary,
|
||||
exchange_vote
|
||||
} = res.data.data;
|
||||
editorCtx.value.initHtml(exchange_content, async (videoUrl) => {
|
||||
let res2;
|
||||
const fox = common_assets.videoface;
|
||||
res2 = await editorCtx.value.createCoverThumbnail(fox);
|
||||
return res2;
|
||||
changeEditor({
|
||||
type: "info",
|
||||
content: exchange_content
|
||||
});
|
||||
form.exchange_content = exchange_content;
|
||||
form.exchange_title = exchange_title;
|
||||
form.case_exchange_label = exchange_label ? exchange_label : [];
|
||||
labelList.value = exchange_label ? exchange_label : [];
|
||||
form.exchange_summary = exchange_summary;
|
||||
form.case_exchange_vote = exchange_vote;
|
||||
editorCtxResult.value.initHtml(exchange_summary, async (videoUrl) => {
|
||||
let res2;
|
||||
const fox = common_assets.videoface;
|
||||
res2 = await editorCtxResult.value.createCoverThumbnail(fox);
|
||||
return res2;
|
||||
form.case_exchange_vote = exchange_vote ? exchange_vote : {};
|
||||
changeEditor({
|
||||
type: "result",
|
||||
content: exchange_summary
|
||||
});
|
||||
Object.assign(voteData, exchange_vote);
|
||||
});
|
||||
@ -359,14 +403,25 @@ const _sfc_main = {
|
||||
exchange_summary,
|
||||
exchange_vote
|
||||
} = draft;
|
||||
editorCtx.value.initHtml(exchange_content);
|
||||
form.exchange_content = exchange_content;
|
||||
if (exchange_content) {
|
||||
let html = editorCtx.value.exportHtml(exchange_content.replace("undefined", ""));
|
||||
changeEditor({
|
||||
type: "info",
|
||||
content: html
|
||||
});
|
||||
}
|
||||
if (exchange_content) {
|
||||
let html = editorCtxResult.value.exportHtml(exchange_summary.replace("undefined", ""));
|
||||
changeEditor({
|
||||
type: "result",
|
||||
content: html
|
||||
});
|
||||
}
|
||||
form.exchange_title = exchange_title;
|
||||
form.case_exchange_label = exchange_label;
|
||||
labelList.value = exchange_label;
|
||||
form.case_exchange_label = exchange_label ? exchange_label : [];
|
||||
labelList.value = exchange_label ? exchange_label : [];
|
||||
form.exchange_summary = exchange_summary;
|
||||
form.case_exchange_vote = exchange_vote;
|
||||
editorCtxResult.value.initHtml(exchange_summary);
|
||||
form.case_exchange_vote = exchange_vote ? exchange_vote : {};
|
||||
Object.assign(voteData, exchange_vote);
|
||||
showDraft.value = false;
|
||||
};
|
||||
@ -377,7 +432,7 @@ const _sfc_main = {
|
||||
};
|
||||
const confirmDel = () => {
|
||||
showModal.value = false;
|
||||
common_vendor.index.__f__("log", "at pages/publish/publish.vue:1022", delType.value);
|
||||
common_vendor.index.__f__("log", "at pages/publish/publish.vue:1090", delType.value);
|
||||
if (delType.value == "delDraft") {
|
||||
delDraft(delId.value);
|
||||
} else if (delType.value == "saveDraft") {
|
||||
@ -388,7 +443,7 @@ const _sfc_main = {
|
||||
showModal.value = false;
|
||||
if (delType.value == "saveDraft") {
|
||||
goBack();
|
||||
common_vendor.index.__f__("log", "at pages/publish/publish.vue:1034", "wee");
|
||||
common_vendor.index.__f__("log", "at pages/publish/publish.vue:1102", "wee");
|
||||
}
|
||||
};
|
||||
const cancelConfirmPublish = () => {
|
||||
@ -404,20 +459,95 @@ const _sfc_main = {
|
||||
});
|
||||
};
|
||||
const alertSave = async () => {
|
||||
if (isPublish.value || exchange_id.value) {
|
||||
goBack();
|
||||
if (exchange_id.value) {
|
||||
showQuit.value = true;
|
||||
} else {
|
||||
const res = await editorCtx.value.getLastContent();
|
||||
const initInfo = "<p>【患者信息】:</p><br/><p>【主诉】:</p><br/><p>【现病史及既往史】:</p><br/><p>【检查】:</p><br/><p>【临床诊断】:</p><br/><p>【治疗经过及结果】:</p>";
|
||||
const resContent = await editorCtxResult.value.getLastContent();
|
||||
if (form.exchange_title || res.html != initInfo || resContent.text || form.case_exchange_vote && form.case_exchange_vote.vote_title && form.case_exchange_label && form.case_exchange_label.length > 0) {
|
||||
delType.value = "saveDraft";
|
||||
showModal.value = true;
|
||||
} else {
|
||||
if (isPublish.value) {
|
||||
goBack();
|
||||
} else {
|
||||
const res = await editorCtx.value.getLastContent();
|
||||
const initInfo = "<p>【患者信息】:</p><br/><p>【主诉】:</p><br/><p>【现病史及既往史】:</p><br/><p>【检查】:</p><br/><p>【临床诊断】:</p><br/><p>【治疗经过及结果】:</p>";
|
||||
const resContent = await editorCtxResult.value.getLastContent();
|
||||
if (form.exchange_title || res.html != initInfo || resContent.text || form.case_exchange_vote && form.case_exchange_vote.vote_title && form.case_exchange_label && form.case_exchange_label.length > 0) {
|
||||
delType.value = "saveDraft";
|
||||
showModal.value = true;
|
||||
} else {
|
||||
goBack();
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
const confirmConfirmPublish = () => {
|
||||
isConfirmPublish.value = false;
|
||||
publish();
|
||||
};
|
||||
const publish = utils_throttle.throttle(async () => {
|
||||
const initInfo = "<p>【患者信息】:</p><br/><p>【主诉】:</p><br/><p>【现病史及既往史】:</p><br/><p>【检查】:</p><br/><p>【临床诊断】:</p><br/><p>【治疗经过及结果】:</p>";
|
||||
if (form.exchange_title == "") {
|
||||
common_vendor.index.showToast({
|
||||
title: "请输入标题",
|
||||
icon: "none"
|
||||
});
|
||||
return false;
|
||||
}
|
||||
if (form.exchange_title.length > 40) {
|
||||
common_vendor.index.showToast({
|
||||
title: "标题不超过40个字",
|
||||
icon: "none"
|
||||
});
|
||||
return false;
|
||||
}
|
||||
if (form.exchange_content == "") {
|
||||
common_vendor.index.showToast({
|
||||
title: "请编辑病例信息",
|
||||
icon: "none"
|
||||
});
|
||||
return false;
|
||||
}
|
||||
if (form.exchange_content == initInfo) {
|
||||
common_vendor.index.showToast({
|
||||
title: "请编辑病例信息",
|
||||
icon: "none"
|
||||
});
|
||||
return false;
|
||||
}
|
||||
if (!(form.case_exchange_vote && form.case_exchange_vote.vote_title)) {
|
||||
delete form.case_exchange_vote;
|
||||
}
|
||||
if (!form.case_exchange_label || form.case_exchange_label && form.case_exchange_label.length == 0) {
|
||||
delete form.case_exchange_label;
|
||||
}
|
||||
form.case_exchange_label = labelList.value;
|
||||
if (isLock.value)
|
||||
return false;
|
||||
isFlag.value = true;
|
||||
if (form.exchange_summary == "<p><br></p>") {
|
||||
form.exchange_summary == "";
|
||||
}
|
||||
if (exchange_id.value) {
|
||||
api_api.api.updateExchange(exchange_id.value, form).then((res) => {
|
||||
common_vendor.index.showToast({
|
||||
title: "修改成功",
|
||||
icon: "none",
|
||||
duration: 2e3
|
||||
});
|
||||
isFlag.value = false;
|
||||
isPublish.value = true;
|
||||
common_vendor.index.navigateBack();
|
||||
});
|
||||
} else {
|
||||
api_api.api.addExchange(form).then((res) => {
|
||||
common_vendor.index.showToast({
|
||||
title: "发布成功",
|
||||
icon: "none",
|
||||
duration: 2e3
|
||||
});
|
||||
isFlag.value = false;
|
||||
isPublish.value = true;
|
||||
common_vendor.index.navigateBack();
|
||||
});
|
||||
}
|
||||
});
|
||||
const insertWord = (word) => {
|
||||
uni_modules_svEditor_components_common_utils.addText(word);
|
||||
showTitle.value = false;
|
||||
@ -480,7 +610,7 @@ const _sfc_main = {
|
||||
break;
|
||||
}
|
||||
}
|
||||
common_vendor.index.__f__("log", "at pages/publish/publish.vue:1360", caseValue1);
|
||||
common_vendor.index.__f__("log", "at pages/publish/publish.vue:1446", caseValue1);
|
||||
getCaseLabel(2, e);
|
||||
};
|
||||
const groupChange2 = (e) => {
|
||||
@ -579,7 +709,7 @@ const _sfc_main = {
|
||||
}
|
||||
}
|
||||
labelList.value = labelList.value.filter((item, index) => labelList.value.findIndex((i) => i.app_iden === item.app_iden) === index);
|
||||
common_vendor.index.__f__("log", "at pages/publish/publish.vue:1478", labelList.value);
|
||||
common_vendor.index.__f__("log", "at pages/publish/publish.vue:1564", labelList.value);
|
||||
showCase.value = false;
|
||||
};
|
||||
const closeCase = () => {
|
||||
@ -602,14 +732,12 @@ const _sfc_main = {
|
||||
type: "loading",
|
||||
title: "正在加载",
|
||||
message: "正在加载",
|
||||
duration: 1e3
|
||||
duration: 1500
|
||||
});
|
||||
});
|
||||
common_vendor.onLoad((optoions) => {
|
||||
if (optoions.exchange_id) {
|
||||
exchange_id.value = optoions.exchange_id;
|
||||
common_vendor.index.__f__("log", "at pages/publish/publish.vue:1511", 1111);
|
||||
common_vendor.index.__f__("log", "at pages/publish/publish.vue:1512", exchange_id.value);
|
||||
common_vendor.onLoad((options) => {
|
||||
if (options.exchange_id) {
|
||||
exchange_id.value = options.exchange_id;
|
||||
}
|
||||
});
|
||||
return (_ctx, _cache) => {
|
||||
@ -619,50 +747,54 @@ const _sfc_main = {
|
||||
}),
|
||||
b: showEditor.value
|
||||
}, showEditor.value ? {
|
||||
c: common_vendor.o(closeEditor),
|
||||
d: common_vendor.o(changeEditor),
|
||||
e: common_vendor.p({
|
||||
editorCotent: editorCotent.value,
|
||||
c: common_vendor.sr(pEditorRef, "bfce3555-1", {
|
||||
"k": "pEditorRef"
|
||||
}),
|
||||
d: common_vendor.o(closeEditor),
|
||||
e: common_vendor.o(changeEditor),
|
||||
f: common_vendor.p({
|
||||
editorCotent: editorType.value == "info" ? form.exchange_content : form.exchange_summary,
|
||||
editorType: editorType.value
|
||||
})
|
||||
} : {}, {
|
||||
f: common_vendor.p({
|
||||
g: common_vendor.p({
|
||||
name: "arrow-left",
|
||||
color: "#000",
|
||||
size: "24"
|
||||
}),
|
||||
g: common_vendor.o(alertSave),
|
||||
h: common_vendor.o(($event) => form.exchange_title = $event),
|
||||
i: common_vendor.p({
|
||||
h: common_vendor.o(alertSave),
|
||||
i: common_vendor.t(exchange_id.value ? "编辑病例交流帖" : "发病例交流帖"),
|
||||
j: common_vendor.o(($event) => form.exchange_title = $event),
|
||||
k: common_vendor.p({
|
||||
autoHeight: true,
|
||||
placeholder: "输入标题,可包含患者信息、主诉",
|
||||
modelValue: form.exchange_title
|
||||
}),
|
||||
j: common_vendor.o(focusInfo),
|
||||
k: fromatImg(infoHtml.value),
|
||||
l: common_vendor.o(ready),
|
||||
m: common_vendor.o(changeInfoEditor),
|
||||
n: common_vendor.o(epaste),
|
||||
o: common_vendor.p({
|
||||
l: common_vendor.o(focusInfo),
|
||||
m: fromatImg(infoHtml.value),
|
||||
n: common_vendor.o(ready),
|
||||
o: common_vendor.o(changeInfoEditor),
|
||||
p: common_vendor.o(epaste),
|
||||
q: common_vendor.p({
|
||||
placeholder: "患者基本情况,检查结果,诊疗图片或视频",
|
||||
eid: "editor-id",
|
||||
pasteMode: "origin",
|
||||
readOnly: "true"
|
||||
}),
|
||||
p: showInfoOpacity.value ? 1 : "",
|
||||
q: infoHeight.value + "px",
|
||||
r: common_vendor.o(focusResult),
|
||||
s: fromatImg(resultHtml.value),
|
||||
t: common_vendor.o(readyResult),
|
||||
v: common_vendor.o(changeResEditor),
|
||||
w: common_vendor.p({
|
||||
r: showInfoOpacity.value ? 1 : "",
|
||||
s: infoHeight.value + "px",
|
||||
t: common_vendor.o(focusResult),
|
||||
v: fromatImg(resultHtml.value),
|
||||
w: common_vendor.o(readyResult),
|
||||
x: common_vendor.o(changeResEditor),
|
||||
y: common_vendor.p({
|
||||
placeholder: "分享经验和心得,如:诊断与鉴别诊断易错点,治疗过程难点,病例的相关知识总结及讨论等",
|
||||
eid: "editorResult",
|
||||
readOnly: true
|
||||
}),
|
||||
x: showOpacity.value ? 1 : "",
|
||||
y: resultHeight.value + "px",
|
||||
z: common_vendor.f(labelList.value, (item, index, i0) => {
|
||||
z: showOpacity.value ? 1 : "",
|
||||
A: resultHeight.value + "px",
|
||||
B: common_vendor.f(labelList.value, (item, index, i0) => {
|
||||
return {
|
||||
a: common_vendor.t(item.label_name),
|
||||
b: "bfce3555-6-" + i0,
|
||||
@ -670,45 +802,50 @@ const _sfc_main = {
|
||||
d: item.app_iden
|
||||
};
|
||||
}),
|
||||
A: common_vendor.p({
|
||||
C: common_vendor.p({
|
||||
name: "close-circle",
|
||||
color: "#3CC7C0",
|
||||
size: "20"
|
||||
}),
|
||||
B: common_vendor.p({
|
||||
D: common_vendor.p({
|
||||
name: "plus",
|
||||
color: "#3CC7C0",
|
||||
size: "16"
|
||||
}),
|
||||
C: common_vendor.o(openLabelPop),
|
||||
D: common_vendor.o(openDraftList),
|
||||
E: form.case_exchange_vote.vote_title
|
||||
E: common_vendor.o(openLabelPop),
|
||||
F: scrollTop.value,
|
||||
G: common_vendor.o(scroll),
|
||||
H: !exchange_id.value
|
||||
}, !exchange_id.value ? {
|
||||
I: common_vendor.o(openDraftList)
|
||||
} : {}, {
|
||||
J: form.case_exchange_vote.vote_title
|
||||
}, form.case_exchange_vote.vote_title ? {
|
||||
F: common_vendor.p({
|
||||
K: common_vendor.p({
|
||||
src: common_vendor.unref(common_assets.voteOnImg),
|
||||
width: "47rpx",
|
||||
height: "47rpx"
|
||||
})
|
||||
} : {
|
||||
G: common_vendor.p({
|
||||
L: common_vendor.p({
|
||||
src: common_vendor.unref(common_assets.voteImg),
|
||||
width: "47rpx",
|
||||
height: "47rpx"
|
||||
})
|
||||
}, {
|
||||
H: form.case_exchange_vote.vote_title ? 1 : "",
|
||||
I: common_vendor.o(alertVote),
|
||||
J: common_vendor.o(($event) => isConfirmPublish.value = true),
|
||||
K: common_vendor.o(closeVote),
|
||||
L: common_vendor.o(saveVote),
|
||||
M: common_vendor.o(($event) => voteData.vote_title = $event),
|
||||
N: common_vendor.p({
|
||||
M: form.case_exchange_vote.vote_title ? 1 : "",
|
||||
N: common_vendor.o(alertVote),
|
||||
O: common_vendor.o(($event) => isConfirmPublish.value = true),
|
||||
P: common_vendor.o(closeVote),
|
||||
Q: common_vendor.o(saveVote),
|
||||
R: common_vendor.o(($event) => voteData.vote_title = $event),
|
||||
S: common_vendor.p({
|
||||
placeholder: "请输入投票标题",
|
||||
border: "surround",
|
||||
clearable: true,
|
||||
modelValue: voteData.vote_title
|
||||
}),
|
||||
O: common_vendor.f(voteData.case_exchange_vote_option, (item, index, i0) => {
|
||||
T: common_vendor.f(voteData.case_exchange_vote_option, (item, index, i0) => {
|
||||
return {
|
||||
a: "bfce3555-12-" + i0 + ",bfce3555-10",
|
||||
b: common_vendor.o(($event) => item.option_value = $event, index),
|
||||
@ -723,59 +860,59 @@ const _sfc_main = {
|
||||
f: index
|
||||
};
|
||||
}),
|
||||
P: common_vendor.p({
|
||||
U: common_vendor.p({
|
||||
name: "minus-circle",
|
||||
color: "red",
|
||||
size: "28"
|
||||
}),
|
||||
Q: common_vendor.p({
|
||||
V: common_vendor.p({
|
||||
name: "plus",
|
||||
color: "#4B5563",
|
||||
size: "18"
|
||||
}),
|
||||
R: common_vendor.o(addOption),
|
||||
S: common_vendor.p({
|
||||
W: common_vendor.o(addOption),
|
||||
X: common_vendor.p({
|
||||
name: "minus",
|
||||
color: "#4B5563",
|
||||
size: "30rpx",
|
||||
bold: true
|
||||
}),
|
||||
T: common_vendor.o(($event) => changeDay("minus")),
|
||||
U: common_vendor.t(voteData.valid_day),
|
||||
V: common_vendor.p({
|
||||
Y: common_vendor.o(($event) => changeDay("minus")),
|
||||
Z: common_vendor.t(voteData.valid_day),
|
||||
aa: common_vendor.p({
|
||||
name: "plus",
|
||||
color: "#4B5563",
|
||||
size: "30rpx",
|
||||
bold: true
|
||||
}),
|
||||
W: common_vendor.o(($event) => changeDay("plus")),
|
||||
X: common_vendor.o(saveVote),
|
||||
Y: common_vendor.o(clearVote),
|
||||
Z: common_vendor.o(closeVote),
|
||||
aa: common_vendor.o(openVote),
|
||||
ab: common_vendor.p({
|
||||
ab: common_vendor.o(($event) => changeDay("plus")),
|
||||
ac: common_vendor.o(saveVote),
|
||||
ad: common_vendor.o(clearVote),
|
||||
ae: common_vendor.o(closeVote),
|
||||
af: common_vendor.o(openVote),
|
||||
ag: common_vendor.p({
|
||||
round: 10,
|
||||
show: showVote.value,
|
||||
mode: "bottom"
|
||||
}),
|
||||
ac: common_vendor.p({
|
||||
ah: common_vendor.p({
|
||||
name: "close",
|
||||
color: "#4B5563",
|
||||
size: "20"
|
||||
}),
|
||||
ad: common_vendor.o(closeDraft),
|
||||
ae: draftList.value.length == 0
|
||||
ai: common_vendor.o(closeDraft),
|
||||
aj: draftList.value.length == 0
|
||||
}, draftList.value.length == 0 ? {
|
||||
af: common_vendor.p({
|
||||
ak: common_vendor.p({
|
||||
marginTop: "120rpx",
|
||||
text: "草稿箱为空",
|
||||
mode: "list",
|
||||
icon: common_vendor.unref(common_assets.draftImg)
|
||||
})
|
||||
} : {}, {
|
||||
ag: draftList.value.length > 0
|
||||
al: draftList.value.length > 0
|
||||
}, draftList.value.length > 0 ? {
|
||||
ah: common_vendor.f(draftList.value, (item, index, i0) => {
|
||||
am: common_vendor.f(draftList.value, (item, index, i0) => {
|
||||
return common_vendor.e({
|
||||
a: common_vendor.t(item.exchange_title ? item.exchange_title : "无标题"),
|
||||
b: item.exchange_content
|
||||
@ -794,136 +931,144 @@ const _sfc_main = {
|
||||
b: cell.label_name
|
||||
};
|
||||
})
|
||||
}) : item.exchange_vote ? {
|
||||
k: common_vendor.t(item.exchange_vote.vote_title)
|
||||
} : {}, {
|
||||
}) : item.exchange_vote ? common_vendor.e({
|
||||
k: item.exchange_vote
|
||||
}, item.exchange_vote ? {
|
||||
l: common_vendor.t(item.exchange_vote.vote_title)
|
||||
} : {}) : {}, {
|
||||
d: item.exchange_summary,
|
||||
g: item.exchange_label && item.exchange_label.length > 0,
|
||||
j: item.exchange_vote,
|
||||
l: common_vendor.t(fromatDay(item.updated_at)),
|
||||
m: "bfce3555-20-" + i0 + ",bfce3555-17",
|
||||
n: common_vendor.o(($event) => willDelDraft(item.draft_id), item.draft_id),
|
||||
o: "bfce3555-21-" + i0 + ",bfce3555-17",
|
||||
p: common_vendor.o(($event) => editDraft(index), item.draft_id),
|
||||
q: item.draft_id
|
||||
m: common_vendor.t(fromatDay(item.updated_at)),
|
||||
n: "bfce3555-20-" + i0 + ",bfce3555-17",
|
||||
o: common_vendor.o(($event) => willDelDraft(item.draft_id), item.draft_id),
|
||||
p: "bfce3555-21-" + i0 + ",bfce3555-17",
|
||||
q: common_vendor.o(($event) => editDraft(index), item.draft_id),
|
||||
r: item.draft_id
|
||||
});
|
||||
}),
|
||||
ai: common_vendor.p({
|
||||
an: common_vendor.p({
|
||||
name: "trash",
|
||||
color: "#4B5563",
|
||||
size: "16"
|
||||
}),
|
||||
aj: common_vendor.p({
|
||||
ao: common_vendor.p({
|
||||
name: "edit-pen",
|
||||
color: "#fff",
|
||||
size: "17"
|
||||
})
|
||||
} : {}, {
|
||||
ak: common_vendor.o(closeDraft),
|
||||
al: common_vendor.o(openDraft),
|
||||
am: common_vendor.p({
|
||||
ap: common_vendor.o(closeDraft),
|
||||
aq: common_vendor.o(openDraft),
|
||||
ar: common_vendor.p({
|
||||
round: 10,
|
||||
zIndex: "9",
|
||||
show: showDraft.value,
|
||||
mode: "bottom"
|
||||
}),
|
||||
an: common_vendor.p({
|
||||
as: common_vendor.p({
|
||||
name: "close",
|
||||
color: "#4B5563",
|
||||
size: "20"
|
||||
}),
|
||||
ao: common_vendor.o(closeTitle),
|
||||
ap: common_vendor.o(insertAllWord),
|
||||
aq: common_vendor.p({
|
||||
at: common_vendor.o(closeTitle),
|
||||
av: common_vendor.o(insertAllWord),
|
||||
aw: common_vendor.p({
|
||||
name: "plus-circle",
|
||||
color: "#3CC7C0",
|
||||
size: "20"
|
||||
}),
|
||||
ar: common_vendor.o(insertAllWord),
|
||||
as: common_vendor.o(($event) => insertWord("患者信息")),
|
||||
at: common_vendor.o(($event) => insertWord("主诉")),
|
||||
av: common_vendor.o(($event) => insertWord("现病史及既往史")),
|
||||
aw: common_vendor.o(($event) => insertWord("检查")),
|
||||
ax: common_vendor.o(($event) => insertWord("临床诊断")),
|
||||
ay: common_vendor.o(($event) => insertWord("治疗经过及结果")),
|
||||
az: common_vendor.o(closeTitle),
|
||||
aA: common_vendor.o(openTitle),
|
||||
aB: common_vendor.p({
|
||||
ax: common_vendor.o(insertAllWord),
|
||||
ay: common_vendor.o(($event) => insertWord("患者信息")),
|
||||
az: common_vendor.o(($event) => insertWord("主诉")),
|
||||
aA: common_vendor.o(($event) => insertWord("现病史及既往史")),
|
||||
aB: common_vendor.o(($event) => insertWord("检查")),
|
||||
aC: common_vendor.o(($event) => insertWord("临床诊断")),
|
||||
aD: common_vendor.o(($event) => insertWord("治疗经过及结果")),
|
||||
aE: common_vendor.o(closeTitle),
|
||||
aF: common_vendor.o(openTitle),
|
||||
aG: common_vendor.p({
|
||||
round: 10,
|
||||
zIndex: "9",
|
||||
show: showTitle.value,
|
||||
mode: "bottom"
|
||||
}),
|
||||
aC: delType.value == "delDraft"
|
||||
aH: delType.value == "delDraft"
|
||||
}, delType.value == "delDraft" ? {} : delType.value == "saveDraft" ? {} : {}, {
|
||||
aD: delType.value == "saveDraft",
|
||||
aE: common_vendor.o(cancelDel),
|
||||
aF: common_vendor.o(confirmDel),
|
||||
aG: common_vendor.p({
|
||||
aI: delType.value == "saveDraft",
|
||||
aJ: common_vendor.o(cancelDel),
|
||||
aK: common_vendor.o(confirmDel),
|
||||
aL: common_vendor.p({
|
||||
show: showModal.value,
|
||||
["mask-click-able"]: true,
|
||||
zIndex: "99"
|
||||
}),
|
||||
aH: exchange_id.value
|
||||
}, exchange_id.value ? {} : {}, {
|
||||
aI: common_vendor.o(cancelConfirmPublish),
|
||||
aJ: common_vendor.o((...args) => _ctx.confirmConfirmPublish && _ctx.confirmConfirmPublish(...args)),
|
||||
aK: common_vendor.p({
|
||||
aM: common_vendor.o(cancelQuit),
|
||||
aN: common_vendor.o(confirmQuit),
|
||||
aO: common_vendor.p({
|
||||
show: showQuit.value,
|
||||
["mask-click-able"]: true,
|
||||
zIndex: "99"
|
||||
}),
|
||||
aP: common_vendor.o(cancelConfirmPublish),
|
||||
aQ: common_vendor.o(confirmConfirmPublish),
|
||||
aR: common_vendor.p({
|
||||
show: isConfirmPublish.value,
|
||||
["mask-click-able"]: true,
|
||||
zIndex: "99"
|
||||
}),
|
||||
aL: common_vendor.o(cancelCase),
|
||||
aM: common_vendor.o(confirmCase),
|
||||
aN: common_vendor.t(!caseValue1.label_name ? "请选择选项" : caseValue1.label_name),
|
||||
aO: common_vendor.p({
|
||||
aS: common_vendor.o(cancelCase),
|
||||
aT: common_vendor.o(confirmCase),
|
||||
aU: common_vendor.t(!caseValue1.label_name ? "请选择选项" : caseValue1.label_name),
|
||||
aV: common_vendor.p({
|
||||
name: "arrow-right"
|
||||
}),
|
||||
aP: common_vendor.o(($event) => openCaseLevel("1")),
|
||||
aQ: caseValue1.label_name && labelObj.list2.length > 0
|
||||
aW: common_vendor.o(($event) => openCaseLevel("1")),
|
||||
aX: caseValue1.label_name && labelObj.list2.length > 0
|
||||
}, caseValue1.label_name && labelObj.list2.length > 0 ? {
|
||||
aR: common_vendor.t(!caseValue2.label_name ? "请选择选项" : caseValue2.label_name),
|
||||
aS: common_vendor.p({
|
||||
name: "arrow-right"
|
||||
}),
|
||||
aT: common_vendor.o(($event) => openCaseLevel("2"))
|
||||
} : {}, {
|
||||
aU: caseValue2.label_name && labelObj.list3.length > 0
|
||||
}, caseValue2.label_name && labelObj.list3.length > 0 ? {
|
||||
aV: common_vendor.t(!caseValue3.label_name ? "请选择选项" : caseValue3.label_name),
|
||||
aW: common_vendor.p({
|
||||
name: "arrow-right"
|
||||
}),
|
||||
aX: common_vendor.o(($event) => openCaseLevel("3"))
|
||||
} : {}, {
|
||||
aY: freshKey.value,
|
||||
aY: common_vendor.t(!caseValue2.label_name ? "请选择选项" : caseValue2.label_name),
|
||||
aZ: common_vendor.p({
|
||||
name: "arrow-right"
|
||||
}),
|
||||
ba: common_vendor.o(($event) => openCaseLevel("2"))
|
||||
} : {}, {
|
||||
bb: caseValue2.label_name && labelObj.list3.length > 0
|
||||
}, caseValue2.label_name && labelObj.list3.length > 0 ? {
|
||||
bc: common_vendor.t(!caseValue3.label_name ? "请选择选项" : caseValue3.label_name),
|
||||
bd: common_vendor.p({
|
||||
name: "arrow-right"
|
||||
}),
|
||||
be: common_vendor.o(($event) => openCaseLevel("3"))
|
||||
} : {}, {
|
||||
bf: freshKey.value,
|
||||
bg: common_vendor.p({
|
||||
current: level.value - 1,
|
||||
direction: "column"
|
||||
}),
|
||||
ba: common_vendor.f(labelObj.list1, (item, k0, i0) => {
|
||||
bh: common_vendor.f(labelObj.list1, (item, k0, i0) => {
|
||||
return {
|
||||
a: "bfce3555-36-" + i0 + ",bfce3555-35",
|
||||
a: "bfce3555-37-" + i0 + ",bfce3555-36",
|
||||
b: common_vendor.p({
|
||||
activeColor: "#3CC7C0 ",
|
||||
label: item.label_name,
|
||||
name: item.app_iden
|
||||
}),
|
||||
c: item.app_iden
|
||||
c: item.app_iden,
|
||||
d: item.label_name != "热门话题"
|
||||
};
|
||||
}),
|
||||
bb: common_vendor.o(groupChange1),
|
||||
bc: common_vendor.o(($event) => caseValue1.app_iden = $event),
|
||||
bd: common_vendor.p({
|
||||
bi: common_vendor.o(groupChange1),
|
||||
bj: common_vendor.o(($event) => caseValue1.app_iden = $event),
|
||||
bk: common_vendor.p({
|
||||
name: "group1",
|
||||
iconPlacement: "right",
|
||||
placement: "column",
|
||||
modelValue: caseValue1.app_iden
|
||||
}),
|
||||
be: level.value == 1,
|
||||
bf: common_vendor.f(labelObj.list2, (item, k0, i0) => {
|
||||
bl: level.value == 1,
|
||||
bm: common_vendor.f(labelObj.list2, (item, k0, i0) => {
|
||||
return {
|
||||
a: "bfce3555-38-" + i0 + ",bfce3555-37",
|
||||
a: "bfce3555-39-" + i0 + ",bfce3555-38",
|
||||
b: common_vendor.p({
|
||||
activeColor: "#3CC7C0 ",
|
||||
label: item.label_name,
|
||||
@ -932,18 +1077,18 @@ const _sfc_main = {
|
||||
c: item.app_iden
|
||||
};
|
||||
}),
|
||||
bg: common_vendor.o(groupChange2),
|
||||
bh: common_vendor.o(($event) => caseValue2.app_iden = $event),
|
||||
bi: common_vendor.p({
|
||||
bn: common_vendor.o(groupChange2),
|
||||
bo: common_vendor.o(($event) => caseValue2.app_iden = $event),
|
||||
bp: common_vendor.p({
|
||||
name: "group2",
|
||||
iconPlacement: "right",
|
||||
placement: "column",
|
||||
modelValue: caseValue2.app_iden
|
||||
}),
|
||||
bj: level.value == 2,
|
||||
bk: common_vendor.f(labelObj.list3, (item, k0, i0) => {
|
||||
bq: level.value == 2,
|
||||
br: common_vendor.f(labelObj.list3, (item, k0, i0) => {
|
||||
return {
|
||||
a: "bfce3555-40-" + i0 + ",bfce3555-39",
|
||||
a: "bfce3555-41-" + i0 + ",bfce3555-40",
|
||||
b: common_vendor.p({
|
||||
activeColor: "#3CC7C0 ",
|
||||
label: item.label_name,
|
||||
@ -952,17 +1097,17 @@ const _sfc_main = {
|
||||
c: item.app_iden
|
||||
};
|
||||
}),
|
||||
bl: common_vendor.o(groupChange3),
|
||||
bm: common_vendor.o(($event) => caseValue3.app_iden = $event),
|
||||
bn: common_vendor.p({
|
||||
bs: common_vendor.o(groupChange3),
|
||||
bt: common_vendor.o(($event) => caseValue3.app_iden = $event),
|
||||
bv: common_vendor.p({
|
||||
name: "group3",
|
||||
iconPlacement: "right",
|
||||
placement: "column",
|
||||
modelValue: caseValue3.app_iden
|
||||
}),
|
||||
bo: level.value == 3,
|
||||
bp: common_vendor.o(closeCase),
|
||||
bq: common_vendor.p({
|
||||
bw: level.value == 3,
|
||||
bx: common_vendor.o(closeCase),
|
||||
by: common_vendor.p({
|
||||
round: 10,
|
||||
zIndex: "9",
|
||||
closeOnClickOverlay: false,
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -270,6 +270,7 @@
|
||||
}
|
||||
#editor.data-v-bfce3555 {
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
padding: 0 10rpx;
|
||||
min-height: 600rpx;
|
||||
}
|
||||
@ -285,7 +286,11 @@
|
||||
opacity: 0;
|
||||
}
|
||||
#editor .infoContent.data-v-bfce3555 {
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
background: #fff;
|
||||
margin: 0 32rpx;
|
||||
word-wrap: break-word;
|
||||
word-break: break-all;
|
||||
/* position: relative;
|
||||
z-index:2; */
|
||||
@ -307,7 +312,7 @@
|
||||
top: 0;
|
||||
width: 100%;
|
||||
bottom: 0;
|
||||
z-index: 1;
|
||||
z-index: -1;
|
||||
opacity: 1;
|
||||
}
|
||||
#editorRes .editorcon.active.data-v-bfce3555 {
|
||||
@ -315,6 +320,7 @@
|
||||
}
|
||||
#editorRes .resultContent.data-v-bfce3555 {
|
||||
margin: 0 32rpx;
|
||||
word-wrap: break-word;
|
||||
word-break: break-all;
|
||||
}
|
||||
#editorRes .mask.data-v-bfce3555 {
|
||||
@ -636,9 +642,9 @@
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin-right: 25rpx;
|
||||
}
|
||||
.bottom .left .vote.data-v-bfce3555 {
|
||||
margin-left: 25rpx;
|
||||
width: 162rpx;
|
||||
height: 86rpx;
|
||||
background: rgba(0, 0, 0, 0);
|
||||
|
||||
@ -3,7 +3,7 @@ const common_vendor = require("../../common/vendor.js");
|
||||
const _sfc_main = {
|
||||
__name: "register",
|
||||
setup(__props) {
|
||||
const src = common_vendor.ref("https://wx.igandan.com/hcp/toRegister?fromType=wx");
|
||||
const src = common_vendor.ref("https://dev-wx.igandan.com/hcp/toRegister?fromType=wx");
|
||||
common_vendor.reactive({
|
||||
name: ""
|
||||
});
|
||||
@ -27,7 +27,7 @@ const _sfc_main = {
|
||||
const { envVersion } = common_vendor.index.getAccountInfoSync().miniProgram;
|
||||
common_vendor.index.__f__("log", "at pages/register/register.vue:142", envVersion);
|
||||
if (envVersion == "release") {
|
||||
src.value = "https://wx.igandan.com/hcp/toRegister";
|
||||
src.value = "https://wx.igandan.com/hcp/toRegister?fromType=weChat";
|
||||
} else {
|
||||
src.value = "https://dev-wx.igandan.com/hcp/toRegister?fromType=weChat";
|
||||
}
|
||||
|
||||
@ -254,7 +254,7 @@ const _sfc_main = {
|
||||
return common_vendor.dayjs(date).format("YYYY-MM-DD");
|
||||
};
|
||||
const goDetail = (id, isLink, src) => {
|
||||
common_vendor.index.__f__("log", "at pages/search/search.vue:475", isLink);
|
||||
common_vendor.index.__f__("log", "at pages/search/search.vue:476", isLink);
|
||||
if (isLink == 1) {
|
||||
api_api.api.readRecord({
|
||||
type: isArticle.value ? 1 : 2,
|
||||
@ -395,7 +395,7 @@ const _sfc_main = {
|
||||
});
|
||||
};
|
||||
const queryList = (pageNo, pageSize) => {
|
||||
common_vendor.index.__f__("log", "at pages/search/search.vue:629", 666666);
|
||||
common_vendor.index.__f__("log", "at pages/search/search.vue:630", 666666);
|
||||
const params = {
|
||||
page: pageNo,
|
||||
page_size: pageSize
|
||||
@ -559,7 +559,8 @@ const _sfc_main = {
|
||||
label: item.label_name,
|
||||
name: item.app_iden
|
||||
}),
|
||||
c: item.app_iden
|
||||
c: item.app_iden,
|
||||
d: item.label_name != "热门话题"
|
||||
};
|
||||
}),
|
||||
ab: common_vendor.o(groupChange1),
|
||||
|
||||
File diff suppressed because one or more lines are too long
@ -42,6 +42,7 @@ const _sfc_main = {
|
||||
const showModal = common_vendor.ref(false);
|
||||
const showDeal = common_vendor.ref(false);
|
||||
const is_selected = common_vendor.ref(0);
|
||||
const navName = common_vendor.ref("肝胆相照病例交流园地");
|
||||
const isMine = common_vendor.ref(false);
|
||||
const paging = common_vendor.ref(null);
|
||||
const dataList = common_vendor.ref([]);
|
||||
@ -192,7 +193,7 @@ const _sfc_main = {
|
||||
showDeal.value = true;
|
||||
dealId.value = id;
|
||||
vote.value = voteObj;
|
||||
common_vendor.index.__f__("log", "at pages/specialList/specialList.vue:504", id);
|
||||
common_vendor.index.__f__("log", "at pages/specialList/specialList.vue:507", id);
|
||||
};
|
||||
const alertDel = () => {
|
||||
showDeal.value = false;
|
||||
@ -241,6 +242,7 @@ const _sfc_main = {
|
||||
}
|
||||
if (options2.is_selected) {
|
||||
is_selected.value = options2.is_selected;
|
||||
navName.value = "肝胆相照精选病例交流";
|
||||
}
|
||||
if (options2.type == "mine") {
|
||||
isMine.value = true;
|
||||
@ -294,7 +296,7 @@ const _sfc_main = {
|
||||
});
|
||||
};
|
||||
const queryList = (pageNo, pageSize) => {
|
||||
common_vendor.index.__f__("log", "at pages/specialList/specialList.vue:615", 666666);
|
||||
common_vendor.index.__f__("log", "at pages/specialList/specialList.vue:620", 666666);
|
||||
const params = {
|
||||
page: pageNo,
|
||||
page_size: pageSize
|
||||
@ -343,7 +345,7 @@ const _sfc_main = {
|
||||
a: common_vendor.o(changeWord),
|
||||
b: common_vendor.p({
|
||||
searchWord: keyWord.value,
|
||||
navName: "肝胆相照病例交流园地"
|
||||
navName: navName.value
|
||||
}),
|
||||
c: showNum.value
|
||||
}, showNum.value ? common_vendor.e({
|
||||
@ -405,7 +407,7 @@ const _sfc_main = {
|
||||
j: common_vendor.o(($event) => goDetail(item.exchange_id), item.exchange_id),
|
||||
k: item.exchange_content_image && item.exchange_content_image.length > 0
|
||||
}, item.exchange_content_image && item.exchange_content_image.length > 0 ? {
|
||||
l: common_vendor.f(item.exchange_content_image, (unit, k1, i1) => {
|
||||
l: common_vendor.f(item.exchange_content_image.splice(0, 3), (unit, k1, i1) => {
|
||||
return {
|
||||
a: "b2cb78f4-8-" + i0 + "-" + i1 + ",b2cb78f4-0",
|
||||
b: common_vendor.p({
|
||||
@ -413,14 +415,15 @@ const _sfc_main = {
|
||||
radius: "10",
|
||||
width: "220rpx",
|
||||
height: "220rpx"
|
||||
})
|
||||
}),
|
||||
c: unit
|
||||
};
|
||||
}),
|
||||
m: common_vendor.o(($event) => goDetail(item.exchange_id), item.exchange_id)
|
||||
} : {}, {
|
||||
n: item.exchange_content_video && item.exchange_content_video.length > 0
|
||||
}, item.exchange_content_video && item.exchange_content_video.length > 0 ? {
|
||||
o: common_vendor.f(item.exchange_content_video, (videoCell, index, i1) => {
|
||||
o: common_vendor.f(item.exchange_content_video.slice(0, 1), (videoCell, index, i1) => {
|
||||
return {
|
||||
a: index,
|
||||
b: videoCell,
|
||||
@ -430,9 +433,9 @@ const _sfc_main = {
|
||||
p: common_vendor.o(($event) => goDetail(item.exchange_id), item.exchange_id)
|
||||
} : {}, {
|
||||
q: common_vendor.o(($event) => goDetail(item.exchange_id), item.exchange_id),
|
||||
r: item.label && item.label.length > 0
|
||||
}, item.label && item.label.length > 0 ? {
|
||||
s: common_vendor.f(item.label, (cell, k1, i1) => {
|
||||
r: item.exchange_label
|
||||
}, item.exchange_label ? {
|
||||
s: common_vendor.f(item.exchange_label, (cell, k1, i1) => {
|
||||
return {
|
||||
a: common_vendor.t(cell.label_name),
|
||||
b: cell.exchange_label_id
|
||||
@ -526,7 +529,8 @@ const _sfc_main = {
|
||||
label: item.label_name,
|
||||
name: item.app_iden
|
||||
}),
|
||||
c: item.app_iden
|
||||
c: item.app_iden,
|
||||
d: item.label_name != "热门话题"
|
||||
};
|
||||
}),
|
||||
O: common_vendor.o(groupChange1),
|
||||
|
||||
File diff suppressed because one or more lines are too long
BIN
unpackage/dist/dev/mp-weixin/static/videoface.jpg
vendored
BIN
unpackage/dist/dev/mp-weixin/static/videoface.jpg
vendored
Binary file not shown.
|
Before Width: | Height: | Size: 118 KiB After Width: | Height: | Size: 174 KiB |
File diff suppressed because one or more lines are too long
@ -1,5 +1,5 @@
|
||||
"use strict";
|
||||
const uni_modules_svEditor_components_common_config = require("./config.js");
|
||||
const common_vendor = require("../../../../common/vendor.js");
|
||||
function parseHtmlWithVideo(richText) {
|
||||
const imgRegex = /<img\s+([^>]+)>/gi;
|
||||
const customUrlRegex = /\bdata-custom="[^"]*url=([^&"]+)/i;
|
||||
@ -15,35 +15,44 @@ function parseHtmlWithVideo(richText) {
|
||||
});
|
||||
}
|
||||
async function replaceVideoWithImageRender(richText, customCallback) {
|
||||
common_vendor.index.__f__("log", "at uni_modules/sv-editor/components/common/parse.js:52", 1);
|
||||
const videoRegex = /<video\s+([^>]+)>(.*?)<\/video>/gi;
|
||||
common_vendor.index.__f__("log", "at uni_modules/sv-editor/components/common/parse.js:55", 2);
|
||||
const matches = [];
|
||||
let match;
|
||||
while ((match = videoRegex.exec(richText)) !== null) {
|
||||
matches.push(match);
|
||||
}
|
||||
common_vendor.index.__f__("log", "at uni_modules/sv-editor/components/common/parse.js:62", 3);
|
||||
const replacements = await Promise.all(
|
||||
matches.map(async (match2) => {
|
||||
common_vendor.index.__f__("log", "at uni_modules/sv-editor/components/common/parse.js:67", 5);
|
||||
const [fullMatch, attributes, content] = match2;
|
||||
const sourceRegex = /<source\s+[^>]*src="([^">]+)"/i;
|
||||
const matchSource = content.match(sourceRegex);
|
||||
let videoUrl = "";
|
||||
if (matchSource && matchSource.length > 1) {
|
||||
videoUrl = matchSource[1];
|
||||
matchSource[1];
|
||||
}
|
||||
common_vendor.index.__f__("log", "at uni_modules/sv-editor/components/common/parse.js:80", "5-1");
|
||||
let thumbnailRes;
|
||||
if (customCallback)
|
||||
thumbnailRes = await customCallback(videoUrl);
|
||||
if (!thumbnailRes)
|
||||
thumbnailRes = uni_modules_svEditor_components_common_config.config.video_thumbnail;
|
||||
const filteredAttributes = attributes.split(/\s+/).filter((attr) => !attr.startsWith("controls")).join(" ");
|
||||
const imgTag = `<img ${filteredAttributes} src="${thumbnailRes}" data-custom="url=${videoUrl}" />`;
|
||||
common_vendor.index.__f__("log", "at uni_modules/sv-editor/components/common/parse.js:83", "5-2");
|
||||
common_vendor.index.__f__("log", "at uni_modules/sv-editor/components/common/parse.js:86", "5-3");
|
||||
thumbnailRes = "https://caseplatform.oss-cn-beijing.aliyuncs.com/prod/static/shipinfengmian.jpg";
|
||||
const filteredAttributes = attributes.split(/\s+/).filter((attr) => !attr.startsWith("controls")).join(" ").replace("src=", "").replace("").replaceAll('width="100%"', "").replaceAll('"', "").replace(/\s+/g, "");
|
||||
common_vendor.index.__f__("log", "at uni_modules/sv-editor/components/common/parse.js:93", "5-4");
|
||||
const imgTag = `<img src="${thumbnailRes}" data-custom="url=${filteredAttributes}">`;
|
||||
common_vendor.index.__f__("log", "at uni_modules/sv-editor/components/common/parse.js:96", 6);
|
||||
return { fullMatch, imgTag };
|
||||
})
|
||||
);
|
||||
common_vendor.index.__f__("log", "at uni_modules/sv-editor/components/common/parse.js:99", 7);
|
||||
let result = richText;
|
||||
for (const { fullMatch, imgTag } of replacements) {
|
||||
common_vendor.index.__f__("log", "at uni_modules/sv-editor/components/common/parse.js:103", 8);
|
||||
result = result.replace(fullMatch, imgTag);
|
||||
}
|
||||
common_vendor.index.__f__("log", "at uni_modules/sv-editor/components/common/parse.js:106", "打印结果2");
|
||||
common_vendor.index.__f__("log", "at uni_modules/sv-editor/components/common/parse.js:107", result);
|
||||
return result;
|
||||
}
|
||||
exports.parseHtmlWithVideo = parseHtmlWithVideo;
|
||||
|
||||
@ -138,13 +138,25 @@ const _sfc_main = {
|
||||
});
|
||||
};
|
||||
this.editorCtx.initHtml = async (html, customCallback) => {
|
||||
let transHtml = await uni_modules_svEditor_components_common_parse.replaceVideoWithImageRender(html, customCallback);
|
||||
common_vendor.index.__f__("log", "at uni_modules/sv-editor/components/sv-editor/sv-editor.vue:310", "打印html");
|
||||
common_vendor.index.__f__("log", "at uni_modules/sv-editor/components/sv-editor/sv-editor.vue:311", html);
|
||||
let transHtml = await uni_modules_svEditor_components_common_parse.replaceVideoWithImageRender(html);
|
||||
common_vendor.index.__f__("log", "at uni_modules/sv-editor/components/sv-editor/sv-editor.vue:313", "transHtml");
|
||||
common_vendor.index.__f__("log", "at uni_modules/sv-editor/components/sv-editor/sv-editor.vue:314", transHtml);
|
||||
setTimeout(() => {
|
||||
this.editorCtx.setContents({
|
||||
html: transHtml,
|
||||
success: () => {
|
||||
common_vendor.index.__f__("log", "at uni_modules/sv-editor/components/sv-editor/sv-editor.vue:323", "成功了");
|
||||
this.editorCtx.changeInput();
|
||||
this.editorCtx.blur();
|
||||
},
|
||||
fail: (err) => {
|
||||
common_vendor.index.__f__("log", "at uni_modules/sv-editor/components/sv-editor/sv-editor.vue:333", "失败了");
|
||||
common_vendor.index.showToast({
|
||||
title: err,
|
||||
icon: "none"
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
@ -131,7 +131,7 @@ export const request = (url, data = {}, method = 'post', loading = false, conten
|
||||
if(window.location.href.indexOf('//dev-casedata.igandan.com') == -1) {
|
||||
H5url = 'https://wx.igandan.com'
|
||||
}
|
||||
window.location.href = H5url + "/hcp/Signup2020online_tologin?back_url=" + encodeURIComponent(window.location.href);
|
||||
//window.location.href = H5url + "/hcp/Signup2020online_tologin?back_url=" + encodeURIComponent(window.location.href);
|
||||
}
|
||||
}else{
|
||||
let freeList = ['/login/wechat/mobile', '/code/phone', '/login/mobile_login', '/index', '/user/check'];
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user