图片预览

This commit is contained in:
huangdeliang 2021-03-23 14:42:01 +08:00
parent cdb93a1702
commit 424b98ad57
9 changed files with 292 additions and 234 deletions

View File

@ -29,10 +29,21 @@
> >
<div v-for="con in item.content" :key="con.value"> <div v-for="con in item.content" :key="con.value">
<text-info <text-info
v-if="item.title !== '体检报告'"
:title="con.title" :title="con.title"
:value="data[con.value]" :value="data[con.value]"
extraclass="text-info-extra" extraclass="text-info-extra"
/> />
<div v-else>
<span :style="{ color: '#8c8c8c' }">{{ con.title }}:</span>
<el-button
v-if="data[con.value]"
type="text"
size="mini"
@click="handleOnPreviewClick(data[con.value])"
>查看</el-button
>
</div>
</div> </div>
</el-collapse-item> </el-collapse-item>
</el-collapse> </el-collapse>
@ -52,6 +63,17 @@
<el-button @click="onClosed"> </el-button> <el-button @click="onClosed"> </el-button>
</div> </div>
</el-dialog> </el-dialog>
<!-- 预览弹窗 -->
<el-dialog
:visible.sync="previewVisible"
title="体检报告"
class="preview_dialog_wrapper"
>
<div class="preview_content">
<img :src="previewUrl" alt="" class="preview_img" />
</div>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
@ -103,6 +125,8 @@ export default {
return { return {
open: false, open: false,
previewVisible: false,
previewUrl: "",
basicInfo, basicInfo,
healthyInvestigate: [ healthyInvestigate: [
{ {
@ -244,6 +268,10 @@ export default {
} }
}); });
}, },
handleOnPreviewClick(url) {
this.previewVisible = true;
this.previewUrl = `${window.location.origin}${url}`;
},
}, },
}; };
</script> </script>

View File

@ -1,4 +1,5 @@
<template> <template>
<div>
<el-dialog <el-dialog
:visible.sync="visible" :visible.sync="visible"
:title="title" :title="title"
@ -73,7 +74,8 @@
:cell-style="remarkColumnStyle" :cell-style="remarkColumnStyle"
style="width: 100%" style="width: 100%"
> >
<el-table-column width="140" prop="remarkTitle"> </el-table-column> <el-table-column width="140" prop="remarkTitle">
</el-table-column>
<el-table-column prop="remarkValue"> <el-table-column prop="remarkValue">
<template slot-scope="scope"> <template slot-scope="scope">
<auto-hide-message <auto-hide-message
@ -128,19 +130,19 @@
</el-table-column> </el-table-column>
<el-table-column prop="value_one"> <el-table-column prop="value_one">
<template slot-scope="scope"> <template slot-scope="scope">
<auto-hide-message <!-- <auto-hide-message
:data=" :data="
scope.row.value_one == null scope.row.value_one == null
? '' ? ''
: scope.row.value_one + '' : scope.row.value_one + ''
" "
:maxLength="20" :maxLength="20"
/> /> -->
<el-button <el-button
type="primary" type="text"
v-show="scope.row.value_one" v-show="scope.row.value_one"
@click="downloadFile(medicalReportPathArray[0])" @click="downloadFile(medicalReportPathArray[0])"
>下载</el-button >查看</el-button
> >
</template> </template>
</el-table-column> </el-table-column>
@ -150,19 +152,19 @@
></el-table-column> ></el-table-column>
<el-table-column prop="value_two"> <el-table-column prop="value_two">
<template slot-scope="scope"> <template slot-scope="scope">
<auto-hide-message <!-- <auto-hide-message
:data=" :data="
scope.row.value_two == null scope.row.value_two == null
? '' ? ''
: scope.row.value_two + '' : scope.row.value_two + ''
" "
:maxLength="20" :maxLength="20"
/> /> -->
<el-button <el-button
type="primary" type="text"
v-show="scope.row.value_two" v-show="scope.row.value_two"
@click="downloadFile(medicalReportPathArray[1])" @click="downloadFile(medicalReportPathArray[1])"
>下载</el-button >查看</el-button
> >
</template> </template>
</el-table-column> </el-table-column>
@ -172,19 +174,19 @@
></el-table-column> ></el-table-column>
<el-table-column prop="value_three"> <el-table-column prop="value_three">
<template slot-scope="scope"> <template slot-scope="scope">
<auto-hide-message <!-- <auto-hide-message
:data=" :data="
scope.row.value_three == null scope.row.value_three == null
? '' ? ''
: scope.row.value_three + '' : scope.row.value_three + ''
" "
:maxLength="20" :maxLength="20"
/> /> -->
<el-button <el-button
type="primary" type="text"
v-show="scope.row.value_three" v-show="scope.row.value_three"
@click="downloadFile(medicalReportPathArray[2])" @click="downloadFile(medicalReportPathArray[2])"
>下载</el-button >查看</el-button
> >
</template> </template>
</el-table-column> </el-table-column>
@ -219,7 +221,7 @@
</div> </div>
</div> </div>
</div> </div>
<div style="width: 200px;" v-show="guidanceShow"> <div style="width: 200px" v-show="guidanceShow">
<!-- 编辑减脂指导 --> <!-- 编辑减脂指导 -->
<physicalSigns-guidance <physicalSigns-guidance
ref="physicalSignsGuidanceDialog" ref="physicalSignsGuidanceDialog"
@ -238,8 +240,19 @@
ref="physicalSignsRemarkDialog" ref="physicalSignsRemarkDialog"
@refreshHealthyData="getCustomerHealthyByCusId()" @refreshHealthyData="getCustomerHealthyByCusId()"
></physicalSigns-remark> ></physicalSigns-remark>
</el-dialog> </el-dialog>
<!-- 预览弹窗 -->
<el-dialog
:visible.sync="previewVisible"
title="体检报告"
class="preview_dialog_wrapper"
>
<div class="preview_content">
<img :src="previewUrl" alt="" class="preview_img" />
</div>
</el-dialog>
</div>
</template> </template>
<script> <script>
import { import {
@ -269,6 +282,8 @@ export default {
data() { data() {
return { return {
logo, logo,
previewVisible: false,
previewUrl: "",
visible: false, visible: false,
showFlag: false, showFlag: false,
title: "", title: "",
@ -411,8 +426,7 @@ export default {
copyValue: "", copyValue: "",
detailHealthy: null, detailHealthy: null,
dialogWidth: "950px", dialogWidth: "950px",
guidanceShow : false guidanceShow: false,
}; };
}, },
methods: { methods: {
@ -781,7 +795,9 @@ export default {
return signList.length > 0 ? signStr.substring(1) : signStr; return signList.length > 0 ? signStr.substring(1) : signStr;
}, },
downloadFile(fileName) { downloadFile(fileName) {
this.downloadResource(fileName); // this.downloadResource(fileName);
this.previewVisible = true;
this.previewUrl = `${window.location.origin}${fileName}`;
}, },
generateReport() { generateReport() {
let data = this.detailHealthy; let data = this.detailHealthy;
@ -871,12 +887,12 @@ export default {
editGuidanceShow(flag) { editGuidanceShow(flag) {
this.guidanceShow = flag; this.guidanceShow = flag;
this.dialogWidth = flag ? "1200px" : "950px"; this.dialogWidth = flag ? "1200px" : "950px";
} },
}, },
}; };
</script> </script>
<style scoped> <style lang="scss" scoped>
.margin-top-20 { .margin-top-20 {
margin-top: 20px; margin-top: 20px;
} }
@ -885,4 +901,13 @@ export default {
font-weight: bold; font-weight: bold;
margin-top: 20px; margin-top: 20px;
} }
.preview_dialog_wrapper {
.preview_content {
text-align: center;
.preview_img {
max-height: 600px;
width: auto;
}
}
}
</style> </style>

View File

@ -175,7 +175,7 @@ export default {
}, },
methods: { methods: {
showDrawer(data) { showDrawer(data) {
console.log(data); // console.log(data);
this.data = data; this.data = data;
if (!this.data) { if (!this.data) {
return; return;
@ -288,7 +288,7 @@ export default {
this.reset(); this.reset();
}, },
handleOnDelete(data) { handleOnDelete(data) {
console.log(data); // console.log(data);
this.$confirm("此操作将删除对计划的食谱, 是否继续?", "提示", { this.$confirm("此操作将删除对计划的食谱, 是否继续?", "提示", {
confirmButtonText: "确定", confirmButtonText: "确定",

View File

@ -609,6 +609,12 @@ export function dealHealthy(customerHealthy) {
? `${customerHealthy.otherOperationHistory}` ? `${customerHealthy.otherOperationHistory}`
: ""; : "";
} }
if (customerHealthy.hasOwnProperty("medicalReport")) {
const urls = customerHealthy.medicalReport.split(",");
customerHealthy.medicalReport_one = urls[0];
customerHealthy.medicalReport_two = urls[1];
customerHealthy.medicalReport_three = urls[2];
}
if (customerHealthy.hasOwnProperty("defecationNum")) { if (customerHealthy.hasOwnProperty("defecationNum")) {
customerHealthy.defecationNum += "次/天"; customerHealthy.defecationNum += "次/天";
} }

View File

@ -732,7 +732,7 @@ export default {
}); });
}, },
handleOnUploadPreview(file) { handleOnUploadPreview(file) {
console.log(file); // console.log(file);
this.previewTitle = file.name; this.previewTitle = file.name;
this.previewVisible = true; this.previewVisible = true;
this.previewUrl = file.url; this.previewUrl = file.url;

View File

@ -113,9 +113,8 @@ export default {
left: 100, left: 100,
itemWidth: 8, itemWidth: 8,
itemHeight: 8, itemHeight: 8,
pageIconSize: 10,
textStyle: { textStyle: {
fontSize: 10, fontSize: 12,
}, },
}, },
dataset: { dataset: {

View File

@ -144,7 +144,7 @@ export default {
itemHeight: 8, itemHeight: 8,
pageIconSize: 10, pageIconSize: 10,
textStyle: { textStyle: {
fontSize: 10, fontSize: 12,
}, },
}, },
tooltip: { tooltip: {
@ -173,7 +173,7 @@ export default {
name: this.type === "weight" ? "质量/克" : "热量/千卡", name: this.type === "weight" ? "质量/克" : "热量/千卡",
nameTextStyle: { nameTextStyle: {
color: "#262626", color: "#262626",
fontSize: 10, fontSize: 12,
}, },
}, },
series: source[0].slice(1).map((name, idx) => ({ series: source[0].slice(1).map((name, idx) => ({

View File

@ -50,7 +50,7 @@ export default {
this.activeName = tab.name; this.activeName = tab.name;
}, },
handleOnDayClick(data) { handleOnDayClick(data) {
console.log(data); // console.log(data);
const { id, numDay } = data; const { id, numDay } = data;
if (this.selectedIgd !== id) { if (this.selectedIgd !== id) {
this.selectedIgd = id; this.selectedIgd = id;

View File

@ -90,7 +90,7 @@ export default {
typeName: this.menuTypeDict[type], typeName: this.menuTypeDict[type],
values: mData[type], values: mData[type],
})); }));
console.log(mMenus); // console.log(mMenus);
return mMenus; return mMenus;
}, },
...mapState(["cusUnitDict", "cusWeightDict", "menuTypeDict"]), ...mapState(["cusUnitDict", "cusWeightDict", "menuTypeDict"]),