This commit is contained in:
zoujiandong
2025-08-03 16:29:54 +08:00
parent 43abd1f3d6
commit 6e320c3944
74 changed files with 1954 additions and 974 deletions
@@ -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%"
+173 -53
View File
@@ -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>