From dbd52e37e265eeb111ee26b0dacc78ae058db76f Mon Sep 17 00:00:00 2001
From: cl <1442464845@qq.com>
Date: 星期四, 26 三月 2026 20:34:50 +0800
Subject: [PATCH] execl
---
src/main/webapp/views/erpMaterialuse/materialuse.html | 105 ++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 105 insertions(+), 0 deletions(-)
diff --git a/src/main/webapp/views/erpMaterialuse/materialuse.html b/src/main/webapp/views/erpMaterialuse/materialuse.html
index 41595c6..c3615fe 100644
--- a/src/main/webapp/views/erpMaterialuse/materialuse.html
+++ b/src/main/webapp/views/erpMaterialuse/materialuse.html
@@ -60,6 +60,9 @@
<el-button type="primary" @click="fnPrint('鏄�')">鎵撳嵃</el-button>
</el-form-item>
<el-form-item label="">
+ <el-button type="success" @click="exportExcel">Excel瀵煎嚭</el-button>
+ </el-form-item>
+ <el-form-item label="">
<el-button type="primary" @click="fnCanelPrint()">鎾ら攢鐢熸垚</el-button>
</el-form-item>
<el-form-item label="">
@@ -735,6 +738,107 @@
}
+ function dateFormat(fmt, date) {
+ let ret;
+ const opt = {
+ "Y+": date.getFullYear().toString(),
+ "m+": (date.getMonth() + 1).toString(),
+ "d+": date.getDate().toString(),
+ "H+": date.getHours().toString(),
+ "M+": date.getMinutes().toString(),
+ "S+": date.getSeconds().toString()
+ };
+ for (let k in opt) {
+ ret = new RegExp("(" + k + ")").exec(fmt);
+ if (ret) {
+ fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0")))
+ }
+ }
+ return fmt;
+ }
+
+ function exportExcel() {
+ if (selectList.value.length === 0) {
+ ElementPlus.ElMessage({
+ message: "璇峰厛閫夋嫨瑕佸鍑虹殑鏁版嵁",
+ type: 'error'
+ });
+ return;
+ }
+ const loading = ElementPlus.ElLoading.service({
+ lock: true,
+ text: '瀵煎嚭涓�...',
+ background: 'rgba(0, 0, 0, 0.7)',
+ });
+ $.ajax({
+ url: "http://127.0.0.1:8133/mo/materialuse/print",
+ headers: {
+ 'token': localStorage.getItem('token')
+ },
+ data: JSON.stringify({
+ icmoDTOS: JSON.stringify(selectList.value),
+ izPrint: "鍚�",
+ izRed: 0
+ }),
+ dataType: 'json',
+ contentType: 'application/json;charset=UTF-8',
+ method: 'POST',
+ success: function(res) {
+ loading.close();
+ if (res.code == 200) {
+ var tableHtml = CreateTable(res.data || []);
+ var planDate = '';
+ if (tableSearchParam.value.fplancommitdate) {
+ planDate = tableSearchParam.value.fplancommitdate.toLocaleString('zh-CN', {
+ timeZone: 'Asia/Shanghai',
+ year: 'numeric',
+ month: '2-digit',
+ day: '2-digit',
+ hour12: false
+ }).slice(0, 10);
+ }
+ var html =
+ "<html><head><meta charset='utf-8' />" +
+ "<style>" +
+ "body{font-family:SimSun,Microsoft YaHei,sans-serif;padding:16px;}" +
+ ".title{text-align:center;font-size:28px;font-weight:700;margin-bottom:12px;}" +
+ ".meta{font-size:14px;margin-bottom:10px;display:flex;justify-content:space-between;}" +
+ ".meta span{display:inline-block;min-width:260px;}" +
+ "</style></head><body>" +
+ "<div class='title'>鐢熸垚棰嗘枡鍗�</div>" +
+ "<div class='meta'><span>鐢熶骇绾匡細" + (depName.value || '') + "</span><span>璁″垝寮�宸ユ棩鏈燂細" + planDate + "</span></div>" +
+ tableHtml +
+ "</body></html>";
+ var blob = new Blob(['\ufeff' + html], { type: 'application/vnd.ms-excel;charset=utf-8;' });
+ var link = document.createElement('a');
+ var url = URL.createObjectURL(blob);
+ link.href = url;
+ link.download = "鐢熶骇棰嗘枡鍗昣" + dateFormat("YYYYmmddHHMMSS", new Date()) + ".xls";
+ document.body.appendChild(link);
+ link.click();
+ document.body.removeChild(link);
+ URL.revokeObjectURL(url);
+ ElementPlus.ElMessage({
+ message: "Excel瀵煎嚭鎴愬姛",
+ type: 'success'
+ });
+ } else {
+ ElementPlus.ElMessage({
+ message: res.msg || "瀵煎嚭澶辫触",
+ type: 'error'
+ });
+ }
+ },
+ error: function() {
+ loading.close();
+ ElementPlus.ElMessage({
+ message: "瀵煎嚭璇锋眰澶辫触锛岃绋嶅悗閲嶈瘯",
+ type: 'error'
+ });
+ }
+ });
+ }
+
function handleSizeChange(val) {
@@ -774,6 +878,7 @@
page,
fnPrint,
fnPrintView,
+ exportExcel,
fnCanelPrint,
fnCanelPrintRed,
fnPrintRed,
--
Gitblit v1.9.1