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