回访打印

master
xy 1 year ago
parent fb1e3cd847
commit 3a17c47217

@ -3,36 +3,48 @@
<Modal v-model="isShow" width="700" title="长护险回访">
<table id="print-table">
<thead style="border: none">
<tr style="visibility: hidden;">
<th class="border-none" style="width: calc(100% / 6)"></th>
<th class="border-none" style="width: calc(100% / 6)"></th>
<th class="border-none" style="width: calc(100% / 6)"></th>
<th class="border-none" style="width: calc(100% / 6)"></th>
<th class="border-none" style="width: calc(100% / 6)"></th>
<th class="border-none" style="width: calc(100% / 6)"></th>
</tr>
<tr style="visibility: hidden">
<th class="border-none" style="width: calc(100% / 6)"></th>
<th class="border-none" style="width: calc(100% / 6)"></th>
<th class="border-none" style="width: calc(100% / 6)"></th>
<th class="border-none" style="width: calc(100% / 6)"></th>
<th class="border-none" style="width: calc(100% / 6)"></th>
<th class="border-none" style="width: calc(100% / 6)"></th>
</tr>
<tr>
<th colspan="6">
<p style="font-size: 17px;letter-spacing: 1px;">四世同堂长护险居家服务满意度调查表</p>
<p style="font-size: 17px; letter-spacing: 1px">
四世同堂长护险居家服务满意度调查表
</p>
</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2">
<span style="font-weight: 600;">服务对象名称</span>{{ detail.customer ? detail.customer.name : "" }}
<span style="font-weight: 600">服务对象名称</span
>{{ detail.customer ? detail.customer.name : "" }}
</td>
<td colspan="4">
<span style="font-weight: 600">服务人员</span>
</td>
<td colspan="4"><span style="font-weight: 600;">服务人员</span></td>
</tr>
<tr>
<td colspan="6">
<span style="font-weight: 600;">服务对象住址</span>{{
detail.customer ? detail.customer.idcard_address : ""
}}
<span style="font-weight: 600">服务对象住址</span
>{{ detail.customer ? detail.customer.idcard_address : "" }}
</td>
</tr>
<tr>
<th rowspan="12" colspan="1" style="writing-mode: vertical-rl;text-align: center;letter-spacing: 2px;">
<th
rowspan="12"
colspan="1"
style="
writing-mode: vertical-rl;
text-align: center;
letter-spacing: 2px;
"
>
调查内容记录
</th>
<td colspan="5">
@ -65,36 +77,75 @@
</tr>
<tr>
<td colspan="5" class="border-bottom-none">
4.护理工具携带护理包{{ isMark('护理包',detail.tools) }} 服务计划表{{ isMark('服务计划表',detail.tools) }}
4.护理工具携带护理包{{ isMark("护理包", detail.tools) }}
服务计划表{{ isMark("服务计划表", detail.tools) }}
</td>
</tr>
<tr>
<td colspan="5" class="border-bottom-none">
血压器{{ isMark('血压器',detail.tools) }} 理发器{{ isMark('理发器',detail.tools) }} 其他 <span style="border-bottom: 1px solid;">{{ otherVal(['护理包','服务计划表','血压器','理发器'],detail.tools) }}</span>
血压器{{ isMark("血压器", detail.tools) }} 理发器{{
isMark("理发器", detail.tools)
}} 其他
<span style="border-bottom: 1px solid">{{
otherVal(
["护理包", "服务计划表", "血压器", "理发器"],
detail.tools
)
}}</span>
</td>
</tr>
<tr>
<td colspan="5" class="border-bottom-none">
5.工作服{{ isMark('工作服',detail.accessory) }} 工作证{{ isMark('工作证',detail.accessory) }}
5.工作服{{ isMark("工作服", detail.accessory) }} 工作证{{
isMark("工作证", detail.accessory)
}}
</td>
</tr>
<tr>
<td colspan="5" class="border-bottom-none">
6.服务内容理发{{ isMark('理发',detail.serve) }} 整理{{ isMark('整理',detail.serve) }} 康复训练{{ isMark('康复训练',detail.serve) }}
6.服务内容理发{{ isMark("理发", detail.serve) }} 整理{{
isMark("整理", detail.serve)
}} 康复训练{{ isMark("康复训练", detail.serve) }}
</td>
</tr>
<tr>
<td colspan="5" class="border-bottom-none">
洗澡{{ isMark('洗澡',detail.serve) }} 按摩{{ isMark('按摩',detail.serve) }} 个人卫生清洁{{ isMark('个人卫生清洁',detail.serve) }}
洗澡{{ isMark("洗澡", detail.serve) }} 按摩{{
isMark("按摩", detail.serve)
}} 个人卫生清洁{{ isMark("个人卫生清洁", detail.serve) }}
</td>
</tr>
<tr>
<td colspan="5" class="border-bottom-none">
协助指导{{ isMark('协助指导',detail.serve) }} 生活照料{{ isMark('生活照料',detail.serve) }} 其他 <span style="border-bottom: 1px solid;">{{ otherVal(['理发','整理','康复训练','洗澡','按摩','个人卫生清洁','协助指导','生活照料'],detail.serve) }}</span>
协助指导{{ isMark("协助指导", detail.serve) }} 生活照料{{
isMark("生活照料", detail.serve)
}} 其他
<span style="border-bottom: 1px solid">{{
otherVal(
[
"理发",
"整理",
"康复训练",
"洗澡",
"按摩",
"个人卫生清洁",
"协助指导",
"生活照料",
],
detail.serve
)
}}</span>
</td>
</tr>
<tr>
<td colspan="5">7.其他需求陪诊{{ isMark('陪诊',detail.other) }} 康养{{ isMark('康养',detail.other) }} 陪护{{ isMark('陪护',detail.other) }}其他 <span style="border-bottom: 1px solid;">{{ otherVal(['陪诊','康养','陪护'],detail.other) }}</span></td>
<td colspan="5">
7.其他需求陪诊{{ isMark("陪诊", detail.other) }} 康养{{
isMark("康养", detail.other)
}} 陪护{{ isMark("陪护", detail.other) }}其他
<span style="border-bottom: 1px solid">{{
otherVal(["陪诊", "康养", "陪护"], detail.other)
}}</span>
</td>
</tr>
<tr>
<td colspan="5">8.建议{{ detail.tip }}</td>
@ -102,37 +153,49 @@
<tr>
<th>服务对象/家属签字</th>
<td colspan="5">
<img
style="
height: 60px;
object-fit: contain;
transform: rotate(270deg);
"
:src="detail.sign_image ? detail.sign_image.url : ''"
alt=""
/>
<div style="position: relative; height: 100px">
<img
style="
width: 100px;
object-fit: contain;
transform: rotate(270deg) translateY(-50px);
position: absolute;
top: -50px;
transform-origin: center;
left: 50%;
"
:src="detail.sign_image ? detail.sign_image.url : ''"
alt=""
/>
</div>
</td>
</tr>
<tr>
<th>调查人员签字</th>
<td colspan="5">
<img
style="
height: 60px;
object-fit: contain;
transform: rotate(270deg);
"
:src="
detail.admin_sign_image ? detail.admin_sign_image.url : ''
"
alt=""
/>
<div style="position: relative; height: 100px">
<img
style="
width: 100px;
object-fit: contain;
transform: rotate(270deg) translateY(-50px);
position: absolute;
top: -50px;
transform-origin: center;
left: 50%;
"
:src="
detail.admin_sign_image ? detail.admin_sign_image.url : ''
"
alt=""
/>
</div>
</td>
</tr>
<tr>
<th>调查日期</th>
<td colspan="5">
<div style="text-align: center;letter-spacing: 1px;">
<div style="text-align: center; letter-spacing: 1px">
{{ $moment(detail.created_at).format("YYYY年MM月DD日") }}
</div>
</td>
@ -214,31 +277,33 @@ th {
printWindow.document.write(table);
printWindow.document.write("</body></html>");
printWindow.document.close();
let imgEl = printWindow.document.querySelectorAll('img')
let temp = 0
imgEl.forEach(el => {
el.addEventListener('load',_ => {
let imgEl = printWindow.document.querySelectorAll("img");
let temp = 0;
imgEl.forEach((el) => {
el.addEventListener("load", (_) => {
temp++;
if(temp === imgEl.length) {
if (temp === imgEl.length) {
printWindow.print();
}
})
})
});
});
},
},
computed: {
isMark() {
return function(markName,str) {
let arr = str?.split('|') || []
return arr.indexOf(markName) !== -1 ? "✓" : ""
}
return function (markName, str) {
let arr = str?.split("|") || [];
return arr.indexOf(markName) !== -1 ? "✓" : "";
};
},
otherVal() {
return function (options, str) {
let arr = str?.split('|') || []
return arr.filter(i => options.findIndex(j => j === i) === -1)[0] || " "
}
}
let arr = str?.split("|") || [];
return (
arr.filter((i) => options.findIndex((j) => j === i) === -1)[0] || " "
);
};
},
},
watch: {
isShow(newVal) {

Loading…
Cancel
Save