效果
代码
DekExcel1: function () {
// 标题
let tiuelestyle =
"width:165px;height:150px;line-height:120px;color:#0000ff;font-size:40px;padding-left:180px;box-sizing:border-box;font-family:宋体;font-weight:bolder;";
// 标椎
let wh = "width:165px;height:80px;line-height:50px;";
// 序号
let wh1 = "width:50px;height:80px;line-height:50px;";
// 服务次数记录
let w40 = "width:250px;height:40px;line-height:50px;";
// 合同号
let wh200 = "width:250px;height:80px;line-height:50px;";
// 服务内容
let wh400 = "width:400px;line-height:50px;";
// 居中
let tac = "text-align:center;";
// 字体
let fontST = 'font-family: "宋体";';
let uri = "data:application/vnd.ms-excel;base64,";
let title = "北京英之杰天祥汽车技术服务有限公司 ";
let title2 =
"Repair case for " +
this.BaleTable.ContractNo +
" in " +
this.BaleTable.Begin.split("T")[0] +
" to " +
this.BaleTable.End.split("T")[0] +
"";
let mingxi = "上门总次数:" + this.BaleTable.ComeTotalDtos.TotalCount;
let title2Style =
"width:165px;height:70;background:#f60;line-height:70px;font-size:30px;text-align:center;font-weight:bolder;";
let spanStyle = "font-family:none;font-size:30px;font-weight:bolder;";
let Tr1 =
"background:#ee0;font-weight:bolder;font-size:20px;height:100px;line-height:33px;";
// 插入合同
let mains = "";
let mani = 0;
for (
let index = 0;
index < this.BaleTable.ASCostStatPartDtos.length;
index++
) {
var row = this.BaleTable.ASCostStatPartDtos[index];
mani += row.TotalPrice;
mains += `
<tr>
<td style='${wh1 + tac}'>${index + 1}</td>
<td style='${wh200 + tac}'>${row.SOCode}</td>
<td style='${wh400 + tac}'>${row.Details}</td>
<td style='${wh + tac}'>${this.permil1(
row.TotalPrice
)}</td>
<td style='${wh + tac}'>${row.ContactINF}</td>
<td style='${wh + tac}'>${
row.Engineers == null ? " - " : row.Engineers
}</td>
<td style='${wh + tac}'>${row.Remark}</td>
</tr>
`;
}
mains += `
<tr>
<td colspan='3' style='${wh + tac}' > TOTAL</td>
<td style='${wh + tac}'>${this.permil1(mani)}</td>
<td style='${wh + tac}'></td>
<td style='${wh + tac}'></td>
<td style='${wh + tac}'></td>
</tr>
`;
// 插入上门记录
let Smen = `
<tr>
<td ></td>
<td style='${
w40 + tac + "color:#0000ff;"
}'>服务内容</td>
<td ></td>
<td ></td>
<td ></td>
<td ></td>
<td ></td>
</tr>
`;
for (
let index = 0;
index < this.BaleTable.ComeTotalDtos.CountDetail.length;
index++
) {
var row = this.BaleTable.ComeTotalDtos.CountDetail[index];
Smen += `
<tr>
<td ></td>
<td style='${w40 + tac}'>${row}</td>
<td ></td>
<td ></td>
<td ></td>
<td ></td>
<td ></td>
</tr>
`;
}
Smen += `
<tr>
<td ></td>
<td style='${
w40 + tac + "color:#0000ff;"
}'>服务人员</td>
<td ></td>
<td ></td>
<td ></td>
<td ></td>
<td ></td>
</tr>
`;
for (
let index = 0;
index < this.BaleTable.ComeTotalDtos.EngineerDetail.length;
index++
) {
var row = this.BaleTable.ComeTotalDtos.EngineerDetail[index];
Smen += `
<tr>
<td ></td>
<td style='${w40 + tac}'>${row}</td>
<td ></td>
<td ></td>
<td ></td>
<td ></td>
<td ></td>
</tr>
`;
}
let template = `
<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta charset="utf-8">
</head>
<body>
<table border=1 style="${fontST}">
<tr>
<img src="http://39.101.201.199:8005/images/inchwell.png" alt="" />
<td colspan='7' style='${tiuelestyle}'>
<p>北京英之杰天祥汽车技术服务有限公司 <br> <span style='${spanStyle}'> INCHWELL T & S (BEIJING) CO., LTD.</span> </p>
</td>
</tr>
<tr>
<td colspan='7' style='${title2Style}'>${title2}</td>
</tr>
<tr >
<td style='${wh1 + tac + Tr1}'>序号 <br> PO.</td>
<td style='${wh200 + tac + Tr1}'>BMWZJKXZB201113AS</td>
<td style='${wh + tac + Tr1}'>维修内容 <br> Details</td>
<td style='${wh + tac + Tr1}'>合同金额 <br> TOTAL</td>
<td style='${
wh + tac + Tr1
}'>客户联系方式 <br> CONTACT INF.</td>
<td style='${
wh + tac + Tr1
}'>维修工程师 <br> ENGINEERS FOR REPAIRING</td>
<td style='${wh + tac + Tr1}'>备注 <br> REMARKS</td>
</tr>
${mains}
<tr>
<td colspan='7' style='${title2Style}'>${mingxi}</td>
</tr>
${Smen}
</table>
</body>
</html>`;
var ele = document.createElement("a");
ele.download = title + ".xls"; //下载文件的名字
ele.href = uri + window.btoa(unescape(encodeURIComponent(template)));
document.body.appendChild(ele);
ele.click();
document.body.removeChild(ele);
},