From dfafaeba878012f8cecb2cf620ca3183e7d23c0b Mon Sep 17 00:00:00 2001
From: cl <1442464845@qq.com>
Date: 星期四, 26 三月 2026 20:24:16 +0800
Subject: [PATCH] execl

---
 src/main/webapp/views/erpMaterialwwout/materialwwout.html |  391 ++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 280 insertions(+), 111 deletions(-)

diff --git a/src/main/webapp/views/erpMaterialwwout/materialwwout.html b/src/main/webapp/views/erpMaterialwwout/materialwwout.html
index 7ae6e92..34a9898 100644
--- a/src/main/webapp/views/erpMaterialwwout/materialwwout.html
+++ b/src/main/webapp/views/erpMaterialwwout/materialwwout.html
@@ -50,12 +50,18 @@
 
 
             <el-form-item label="渚涘簲鍟�">
-                <el-select v-model="tableSearchParam.venId" placeholder="閫夋嫨渚涘簲鍟�" style="width: 150px" >
+                <el-select
+                    v-model="tableSearchParam.venId"
+                    filterable
+                    clearable
+                    placeholder="璇烽�夋嫨鎴栬緭鍏ヤ緵搴斿晢鍚嶇О绛涢��"
+                    style="width: 220px"
+                >
                     <el-option
-                            v-for="item in options"
-                            :key="item.value"
-                            :label="item.label"
-                            :value="item.value"
+                        v-for="item in options"
+                        :key="item.value"
+                        :label="item.label"
+                        :value="item.value"
                     />
                 </el-select>
             </el-form-item>
@@ -73,6 +79,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="fnTongBu()">鐢熸垚濮斿鍑哄簱鍗�</el-button>
             </el-form-item>
             <el-form-item label="">
@@ -81,7 +90,9 @@
             <el-form-item label="">
                 <el-button type="primary" @click="dialogVisible = true">鏁版嵁鏌ヨ</el-button>
             </el-form-item>
-
+            <el-form-item label="">
+               <el-button type="success" @click="manualSync()">鎵嬪姩鍚屾</el-button>
+            </el-form-item>
         </el-form>
         <el-table :data="tableData" border style="width: 100%" row-key="id" @selection-change="handleSelectionChange" max-height="650">
             <el-table-column type="selection" >
@@ -109,6 +120,9 @@
             <el-table-column prop="wqty" label="鏈彂鏁伴噺">
             </el-table-column>
             <el-table-column prop="qty" label="瀹炲彂鏁伴噺">
+                <template #default="scope">
+                    <el-input v-model="scope.row.qty"></el-input>
+                </template>
             </el-table-column>
             <el-table-column prop="izSync" label="鏄惁鐢熸垚">
             </el-table-column>
@@ -171,7 +185,7 @@
                     </el-table-column>
                 </el-table>
                 <template #footer>
-                    <div class="dialog-footer">
+                    <div class="dialog-footer" style="text-align: left;">
                         <el-button @click="dialogVisible = false">鍏抽棴</el-button>
                     </div>
                 </template>
@@ -261,7 +275,7 @@
                         background: 'rgba(0, 0, 0, 0.7)',
                     })
                     $.ajax({
-                        url: "http://127.0.0.1:9090/mo/materialwwout/getList",
+                        url: "http://127.0.0.1:8133/mo/materialwwout/getList",
                         headers: {
                             'token': localStorage.getItem('token')
                         },
@@ -299,7 +313,7 @@
                         background: 'rgba(0, 0, 0, 0.7)',
                     })
                     $.ajax({
-                        url: "http://127.0.0.1:9090/mo/materialwwout/getListView",
+                        url: "http://127.0.0.1:8133/mo/materialwwout/getListView",
                         headers: {
                             'token': localStorage.getItem('token')
                         },
@@ -352,7 +366,7 @@
                         background: 'rgba(0, 0, 0, 0.7)',
                     })
                     $.ajax({
-                        url:"http://127.0.0.1:9090/mo/materialwwout/tongbu",
+                        url:"http://127.0.0.1:8133/mo/materialwwout/tongbu",
                         headers: {
                             'token': localStorage.getItem('token')
                         },
@@ -394,7 +408,7 @@
                         background: 'rgba(0, 0, 0, 0.7)',
                     })
                     $.ajax({
-                        url:"http://127.0.0.1:9090/mo/materialwwout/caneltongbu",
+                        url:"http://127.0.0.1:8133/mo/materialwwout/caneltongbu",
                         headers: {
                             'token': localStorage.getItem('token')
                         },
@@ -436,7 +450,7 @@
                         background: 'rgba(0, 0, 0, 0.7)',
                     })
                     $.ajax({
-                        url:"http://127.0.0.1:9090/mo/materialuse/canelprint",
+                        url:"http://127.0.0.1:8133/mo/materialuse/canelprint",
                         headers: {
                             'token': localStorage.getItem('token')
                         },
@@ -468,7 +482,7 @@
 
                 function getVendor(){
                     $.ajax({
-                        url: "http://127.0.0.1:9090/basicinfo/vendor/getlistfordropdown",
+                        url: "http://127.0.0.1:8133/basicinfo/vendor/getlistfordropdown",
                         contentType: 'application/json;charset=UTF-8',
                         method: 'GET',
                         success: function(res) {
@@ -495,14 +509,18 @@
                         });
                         return ;
                     }
-                    ElementPlus.ElMessageBox.confirm('纭畾鎵撳嵃鍚�?')
-                        .then(() => {
-                            print(izPrint,0)
-                        })
-                        .catch(() => {
-                            // catch error
-                        })
-
+                    // 鎵撳嵃鍓嶇‘璁�
+                    if (izPrint === '鏄�') {
+                        ElementPlus.ElMessageBox.confirm('纭畾鎵撳嵃鍚�?')
+                            .then(() => {
+                                print(izPrint, 0);
+                            })
+                            .catch(() => {
+                                // 鍙栨秷
+                            });
+                    } else {
+                        print(izPrint, 0);
+                    }
                 }
 
                 function fnPrintView(izPrint){
@@ -513,120 +531,251 @@
                         });
                         return ;
                     }
-
-
-
-                    print(izPrint,0)
+                    // 鎵撳嵃棰勮鐩存帴璋冪敤鎵撳嵃鎺ュ彛锛堝悗绔笉鏍¢獙鍑哄簱瀹屾垚鐘舵�侊級
+                    print(izPrint, 0);
+                }
+                
+                // 鎵嬪姩鍚屾
+                function manualSync() {
+                    if (selectList.value.length === 0){
+                        ElementPlus.ElMessage({
+                            message: "璇峰厛閫夋嫨瑕佸悓姝ョ殑鏁版嵁",
+                            type: 'error'
+                        });
+                        return ;
+                    }
+                    
+                    ElementPlus.ElMessageBox.confirm('纭畾瑕佸悓姝ラ�変腑鐨勬暟鎹埌WMS鍚�?', '鎻愮ず', {
+                        confirmButtonText: '纭畾',
+                        cancelButtonText: '鍙栨秷',
+                        type: 'warning'
+                    }).then(() => {
+                        const loading = ElementPlus.ElLoading.service({
+                            lock: true,
+                            text: '鍚屾涓�...',
+                            background: 'rgba(0, 0, 0, 0.7)',
+                        });
+                        
+                        // 浼樺厛浣跨敤閫変腑鐨勬暟鎹垪琛ㄨ繘琛屽悓姝�
+                        $.ajax({
+                            url: "http://127.0.0.1:8133/api/materialWwOut/sync/manual",
+                            headers: {
+                                'token': localStorage.getItem('token')
+                            },
+                            data: JSON.stringify({
+                                wwRecords: JSON.stringify(selectList.value)
+                            }),
+                            contentType: 'application/json;charset=UTF-8',
+                            method: 'POST',
+                            success: function(res) {
+                                loading.close();
+                                if (res.code == 200) {
+                                    ElementPlus.ElMessage({
+                                        message: res.data.message || "鍚屾浠诲姟宸叉彁浜�",
+                                        type: 'success'
+                                    });
+                                    // 鍒锋柊鍒楄〃
+                                    setTimeout(() => {
+                                        page();
+                                    }, 2000);
+                                } else {
+                                    ElementPlus.ElMessage({
+                                        message: res.msg || "鍚屾澶辫触",
+                                        type: 'error'
+                                    });
+                                }
+                            },
+                            error: function() {
+                                loading.close();
+                                ElementPlus.ElMessage({
+                                    message: "鍚屾璇锋眰澶辫触",
+                                    type: 'error'
+                                });
+                            }
+                        });
+                    }).catch(() => {
+                        // 鍙栨秷
+                    });
                 }
 
 
 
                 function print(izPrint,izRed){
                     const LODOP = getLodop()
-
                     const loading = ElementPlus.ElLoading.service({
                         lock: true,
                         text: 'Loading',
                         background: 'rgba(0, 0, 0, 0.7)',
                     })
-                    let data = JSON.parse(JSON.stringify(tableSearchParam.value))
-                    data.curr = currentPage.value
-                    data.limit = pageSize.value
-                    if (tableSearchParam.value.datetime != null) {
-                        data.datetime = null
-                        data.create_time = tableSearchParam.value.datetime[0] + " - " + tableSearchParam.value.datetime[1]
-                    }
                     $.ajax({
-                        url: "http://127.0.0.1:9090/mo/materialwwout/updateprint",
+                        url:"http://127.0.0.1:8133/mo/materialwwout/print",
                         headers: {
                             'token': localStorage.getItem('token')
                         },
-                        data: data,
+                        data: JSON.stringify({
+                            wwRecords : JSON.stringify(selectList.value),
+                            izPrint : izPrint,
+                            izRed : izRed
+                        }),
                         dataType: 'json',
                         contentType: 'application/json;charset=UTF-8',
-                        method: 'GET',
+                        method: 'POST',
                         success: function(res) {
                             loading.close()
                             if (res.code == 200) {
                                 ElementPlus.ElMessage({
-                                    message: "鎵撳嵃鐘舵�佹洿鏂版垚鍔燂紒",
+                                    message: "鑾峰彇鏁版嵁瀹屾垚,绛夊緟鍞よ捣鎵撳嵃",
                                     type: 'success'
                                 });
-
+                                page()
+                                LODOP.PRINT_INITA(0,0,800,1100,"濮斿鍔犲伐鍑哄簱鍗�");
+                                LODOP.SET_PRINT_PAGESIZE(1,0,0,"A4");
+                                LODOP.SET_PRINT_MODE("PRINT_NOCOLLATE",1);
+                                
+                                // 鏀堕泦浜岀淮鐮佷緵搴斿晢锛氫粠閫変腑鐨勮褰曚腑鏀堕泦鎵�鏈変緵搴斿晢锛屽幓閲嶅悗鐢▅杩炴帴
+                                var venNameSet = new Set();
+                                if (selectList.value && selectList.value.length > 0) {
+                                    selectList.value.forEach(function(item) {
+                                        if (item.venName && item.venName.trim()) {
+                                            venNameSet.add(item.venName.trim());
+                                        }
+                                    });
+                                }
+                                var venNameStr = Array.from(venNameSet).join('|');
+                                
+                                // 瀹氫箟娣诲姞浜岀淮鐮佺殑鍑芥暟
+                                function addQrCodeToPrint() {
+                                    // 鍦ㄥ彸涓婅娣诲姞浜岀淮鐮侊紙濡傛灉鏈変緵搴斿晢锛�
+                                    if (venNameStr) {
+                                        // 鍥哄畾浜岀淮鐮佸昂瀵革紝淇濇寔姝f柟褰㈡瘮渚嬶紝閬垮厤鎸ゅ崰鎵撳嵃鏂囨湰鍜岃鎷夐暱
+                                        var qrCodeWidth = 130; // 鍥哄畾瀹藉害130px
+                                        var qrCodeHeight = 130; // 鍥哄畾楂樺害130px锛屼繚鎸佹鏂瑰舰姣斾緥
+                                        var qrCodeUrl = baseUrl + "/file/barcode/qrcode/auth?type=2&param=" + encodeURIComponent(venNameStr) + "&width=" + qrCodeWidth + "&height=" + qrCodeHeight;
+                                        
+                                        // 鍒涘缓涓�涓复鏃秈mg鍏冪礌鍔犺浇鍥剧墖锛岀劧鍚庤浆鎹负base64
+                                        var img = new Image();
+                                        img.crossOrigin = 'anonymous';
+                                        img.onload = function() {
+                                            try {
+                                                // 鍒涘缓canvas灏嗗浘鐗囪浆鎹负base64
+                                                var canvas = document.createElement('canvas');
+                                                canvas.width = img.width;
+                                                canvas.height = img.height;
+                                                var ctx = canvas.getContext('2d');
+                                                ctx.drawImage(img, 0, 0);
+                                                var base64Image = canvas.toDataURL('image/png');
+                                                
+                                                // LODOP娣诲姞鍥剧墖锛屼娇鐢╞ase64鏍煎紡
+                                                // ADD_PRINT_IMAGE鍙傛暟锛歍op, Left, Width, Height, ImageURL鎴朓mageData
+                                                // 浜岀淮鐮佷綅缃細鍙充笂瑙掞紝Top: 20, Left: 650 (椤甸潰瀹藉害800锛屽彸杈圭暀50鍍忕礌杈硅窛)
+                                                var displayWidth = qrCodeWidth; // 鍥哄畾瀹藉害130px
+                                                var displayHeight = qrCodeHeight; // 鍥哄畾楂樺害130px锛屼繚鎸佹鏂瑰舰
+                                                var displayLeft = 800 - displayWidth - 20; // 鍙冲榻愶紝鐣�20px杈硅窛
+                                                try {
+                                                    LODOP.ADD_PRINT_IMAGE(20, displayLeft, displayWidth, displayHeight, base64Image);
+                                                } catch(e) {
+                                                    // 濡傛灉ADD_PRINT_IMAGE澶辫触锛屼娇鐢℉TML鏂瑰紡
+                                                    var htmlContent = '<img src="' + base64Image + '" style="width:' + displayWidth + 'px;height:' + displayHeight + 'px;" />';
+                                                    LODOP.ADD_PRINT_HTM(20, displayLeft, displayWidth, displayHeight, htmlContent);
+                                                }
+                                                
+                                                // 鍥剧墖鍔犺浇瀹屾垚鍚庯紝鎵ц鎵撳嵃
+                                                executePrint();
+                                            } catch(e) {
+                                                console.error("杞崲鍥剧墖澶辫触:", e);
+                                                // 濡傛灉杞崲澶辫触锛屽彧鏄剧ず鏂囨湰锛堜緵搴斿晢鍚嶇О锛�
+                                                var displayWidth = qrCodeWidth;
+                                                var displayHeight = qrCodeHeight;
+                                                var displayLeft = 800 - displayWidth - 20;
+                                                LODOP.ADD_PRINT_TEXT(20, displayLeft, displayWidth, displayHeight, venNameStr);
+                                                LODOP.SET_PRINT_STYLEA(0, "FontSize", 12);
+                                                LODOP.SET_PRINT_STYLEA(0, "Alignment", 2);
+                                                executePrint();
+                                            }
+                                        };
+                                        img.onerror = function() {
+                                            console.error("鍔犺浇浜岀淮鐮佸浘鐗囧け璐�");
+                                            // 濡傛灉鍔犺浇澶辫触锛屽彧鏄剧ず鏂囨湰锛堜緵搴斿晢鍚嶇О锛�
+                                            var displayWidth = qrCodeWidth;
+                                            var displayHeight = qrCodeHeight;
+                                            var displayLeft = 800 - displayWidth - 20;
+                                            LODOP.ADD_PRINT_TEXT(20, displayLeft, displayWidth, displayHeight, venNameStr);
+                                            LODOP.SET_PRINT_STYLEA(0, "FontSize", 12);
+                                            LODOP.SET_PRINT_STYLEA(0, "Alignment", 2);
+                                            executePrint();
+                                        };
+                                        img.src = qrCodeUrl;
+                                    } else {
+                                        // 娌℃湁渚涘簲鍟嗭紝鐩存帴鎵ц鎵撳嵃
+                                        executePrint();
+                                    }
+                                }
+                                
+                                // 瀹氫箟鎵ц鎵撳嵃鐨勫嚱鏁�
+                                function executePrint() {
+                                    // 璁$畻琛ㄦ牸鐨勮捣濮嬩綅缃細濡傛灉鏈変簩缁寸爜锛岃〃鏍奸渶瑕佸悜涓嬬Щ鍔�
+                                    var tableTop = 96; // 榛樿琛ㄦ牸璧峰浣嶇疆
+                                    var qrCodeTop = 20; // 浜岀淮鐮侀《閮ㄤ綅缃�
+                                    var qrCodeHeight = 130; // 浜岀淮鐮侀珮搴�
+                                    var qrCodeBottom = qrCodeTop + qrCodeHeight; // 浜岀淮鐮佸簳閮ㄤ綅缃細150
+                                    var spacing = 10; // 浜岀淮鐮佸拰琛ㄦ牸涔嬮棿鐨勯棿璺�
+                                    
+                                    // 濡傛灉鏈変簩缁寸爜锛屼笖琛ㄦ牸鍘熷浣嶇疆浼氳浜岀淮鐮佽鐩栵紝鍒欏悜涓嬬Щ鍔ㄨ〃鏍�
+                                    if (venNameStr && tableTop < qrCodeBottom) {
+                                        tableTop = qrCodeBottom + spacing; // 琛ㄦ牸浠庝簩缁寸爜涓嬫柟寮�濮嬶紝鐣�10px闂磋窛
+                                    }
+                                    
+                                    if(izRed==1)
+                                    {
+                                        LODOP.ADD_PRINT_TEXT(28,268,331,36,"濮斿鍔犲伐鍑哄簱鍗曪紙绾㈠瓧锛�");
+                                    }
+                                    else{
+                                        LODOP.ADD_PRINT_TEXT(28,268,331,36,"濮斿鍔犲伐鍑哄簱鍗�");
+                                    }
+                                    LODOP.SET_PRINT_STYLEA(0,"FontSize",20);
+                                    LODOP.SET_PRINT_STYLEA(0,"ItemType",1);
+                                    LODOP.ADD_PRINT_TEXT(69,21,213,25,"渚涘簲鍟嗭細"+depName.value);
+                                    LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
+                                    LODOP.SET_PRINT_STYLEA(0,"ItemType",1);
+                                    LODOP.ADD_PRINT_TEXT(70,268,213,25,"寮�宸ユ棩鏈燂細"+dateFormat("YYYY-mm-dd", tableSearchParam.value.dateStart)+" 鍒� "+dateFormat("YYYY-mm-dd", tableSearchParam.value.dateEnd));
+                                    LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
+                                    LODOP.SET_PRINT_STYLEA(0,"ItemType",1);
+                                    LODOP.ADD_PRINT_TABLE(tableTop,16,2000,960,CreateTable(res.data));
+                                    LODOP.SET_PRINT_STYLEA(0,"TableHeightScope",1);
+                                    LODOP.SET_PRINT_MODE("FULL_WIDTH_FOR_OVERFLOW",true);
+                                    // 鏍规嵁izPrint鍙傛暟鍐冲畾鏄墦鍗拌繕鏄瑙�
+                                    // izPrint=="鏄�"锛氱洿鎺ユ墦鍗帮紝寮瑰嚭鎵撳嵃瀵硅瘽妗嗭紙涓嶅脊鍑洪瑙堢獥鍙o級
+                                    // izPrint=="鍚�"锛氭墦鍗伴瑙堬紝寮瑰嚭棰勮绐楀彛
+                                    if(izPrint=="鏄�")
+                                    {
+                                        LODOP.PRINT();
+                                    }
+                                    else{
+                                        // 鎵撳嵃棰勮锛屽脊鍑洪瑙堢獥鍙�
+                                        LODOP.PREVIEW();
+                                    }
+                                }
+                                
+                                // 鍏堟坊鍔犱簩缁寸爜锛岀劧鍚庢墽琛屾墦鍗�
+                                addQrCodeToPrint();
                             } else if (res.code === 403) {
                                 top.location.href = baseUrl + "/";
                             } else {
-                                ElementPlus.ElMessage({
-                                    message: res.msg,
+                                // 鍚庣杩斿洖閿欒淇℃伅锛堟牎楠屽け璐ワ級
+                                ElementPlus.ElMessageBox.alert(res.msg || "鎵撳嵃澶辫触", '閿欒', {
+                                    confirmButtonText: '纭畾',
                                     type: 'error'
                                 });
                             }
+                        },
+                        error: function(xhr, status, error) {
+                            loading.close()
+                            ElementPlus.ElMessage({
+                                message: "鎵撳嵃璇锋眰澶辫触锛岃绋嶅悗閲嶈瘯",
+                                type: 'error'
+                            });
                         }
                     });
-
-                    var gridData = [];
-                    var listVen=[];
-                    for(var i=0; i<selectList.value.length; i++) {
-                        var curRowData = selectList.value[i]
-
-                        var izExist=false;
-                        for (var j = 0; j < listVen.length; j++) {
-                            if(curRowData.venId === listVen[j].venId)
-                            {
-                                izExist=true;
-                                break;
-                            }
-                        }
-                        if(izExist === false)
-                        {
-                            var o={};
-                            o.venId=curRowData.venId;
-                            o.venName=curRowData.venName;
-                            listVen.push(o);
-                        }
-                        gridData.push(curRowData);
-                    }
-
-
-                    LODOP.PRINT_INITA(0,0,800,1100,"濮斿鍔犲伐鍑哄簱鍗�");
-//        LODOP.SET_PRINT_PAGESIZE(1,0,0,"A5");
-//        LODOP.SET_PRINT_PAGESIZE(1,870,520,"");
-
-//        LODOP.PRINT_INITA(0,0,800,500,"濮斿鍔犲伐鍑哄簱鍗�");
-//        LODOP.SET_PRINT_PAGESIZE(1,800,500,"");
-                    LODOP.SET_PRINT_MODE("PRINT_NOCOLLATE",1);
-
-
-                    LODOP.ADD_PRINT_TEXT(28,375,331,36,"濮斿鍔犲伐鍑哄簱鍗�");
-                    LODOP.SET_PRINT_STYLEA(0,"FontSize",20);
-                    LODOP.SET_PRINT_STYLEA(0,"ItemType",1);
-                    LODOP.ADD_PRINT_TEXT(69,128,413,25,"寮�宸ユ棩鏈燂細"+dateFormat("YYYY-mm-dd", tableSearchParam.value.dateStart)+" 鍒� "+dateFormat("YYYY-mm-dd", tableSearchParam.value.dateEnd));
-                    LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
-                    LODOP.SET_PRINT_STYLEA(0,"ItemType",1);
-
-
-                    LODOP.ADD_PRINT_TEXT(69,451,196,25,"鍗曟嵁鏃ユ湡锛�"+dateFormat("YYYY-mm-dd", new Date()));
-                    LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
-                    LODOP.SET_PRINT_STYLEA(0,"ItemType",1);
-                    LODOP.ADD_PRINT_TEXT(69,645,176,25,"鍙戞枡浜猴細");
-                    LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
-                    LODOP.SET_PRINT_STYLEA(0,"ItemType",1);
-
-                    LODOP.ADD_PRINT_TABLE(96,123,2000,960,CreateTable(gridData));
-                    LODOP.SET_PRINT_STYLEA(0,"TableHeightScope",1);
-
-                    LODOP.SET_PRINT_MODE("FULL_WIDTH_FOR_OVERFLOW",true);
-
-
-                    LODOP.PRINT_DESIGN();
-                    //        if(izPrint=="鏄�")
-                    //        {
-                    //            LODOP.PRINT();
-                    //        }
-                    //        else{
-                    //            LODOP.PREVIEW();
-                    //        }
-
                 }
 
                 function dateFormat(fmt, date) {
@@ -650,33 +799,51 @@
                 }
 
                 function  CreateTable(result) {
-//        var css =" <style> table,td,th {border: 1px solid black;border-style: solid;border-collapse: collapse;font-size: 15px;}</style><table border=1>";
-                    var css = "<style> table,td,th {table-layout: fixed;border: 1px black solid;border-collapse: collapse;font-size: 15px;}</style><table>";
+                    var css = "<style> table,td,th {table-layout: fixed;border: 1px black solid;border-collapse: collapse;font-size: 13px;}</style><table>";
                     //绗竴琛�
-                    var th = "<thead><tr style='height:30px'>" +
+                    var th = "<thead><tr style='height:20px'>" +
                         "<th  >搴忓彿</th>" +
                         "<th  >渚涘簲鍟�</th>" +
                         "<th  >鐗╂枡缂栫爜</th>" +
                         "<th  >鐗╂枡鍚嶇О</th>" +
-                        "<th  >鐗╂枡瑙勬牸</th>" +
+                        "<th >瑙勬牸</th>" +
                         "<th  >鍗曚綅</th>" +
                         "<th  >浠撳簱</th>" +
                         "<th  >搴斿彂鏁伴噺</th>" +
-                        "<th  >鏈彂鏁伴噺</th>" +
                         "<th  >瀹炲彂鏁伴噺</th>" +
                         "</tr></thead>";
 
                     var td="";
                     var row=1;
                     for (var i = 0; i <result.length; i++) {
-
-                        td = td+"<tr style='height:30px'><td style='width:30px;' align='center' >"+(row)+"</td><td style='width:170px;word-wrap:break-word;word-break:break-all;'  align='left'  >" + result[i].venName + "</td><td style='width:90px;'  align='left'  >" + result[i].invCode + "</td><td style='width:110px;word-wrap:break-word;word-break:break-all;'  align='left'  >" + result[i].invName + "</td> <td style='width:60px;'  align='left'  >" + result[i].invStd + "</td>  <td style='width:40px;'  align='left'  >" + result[i].unit + "</td><td style='width:80px;'  align='left'  >" + result[i].whName + "</td> <td style='width:60px;'  align='left'  >" + result[i].fqty + "</td> <td style='width:60px;'  align='left'  >" + result[i].wqty + "</td> <td style='width:60px;'  align='left'  ></td>  </tr>"
+                        td = td+"<tr style='height:20px'><td style='width:30px;' align='center' >"+(row)+"</td><td style='width:170px;word-wrap:break-word;word-break:break-all;'  align='left'  >" + (result[i].venName || '') + "</td><td style='width:80px;'  align='left'  >" + (result[i].invCode || '') + "</td><td style='width:250px;word-wrap:break-word;word-break:break-all;'  align='left'  >" + (result[i].invName || '') + "</td>  <td style='width:50px;'  align='left'  >" + (result[i].invStd || '') + "</td> <td style='width:35px;'  align='left'  >" + (result[i].unit || '') + "</td><td style='width:80px;'  align='left'  >" + (result[i].whName || '') + "</td><td style='width:60px;'  align='left'  >" + (result[i].fqty || 0) + "</td><td style='width:60px;'  align='left'  ></td>   </tr>"
                         row++;
                     }
 
                     var txt = css +th+ td +"</table>";
                     return txt;
 
+                }
+
+                function exportExcel() {
+                    if (selectList.value.length === 0) {
+                        ElementPlus.ElMessage({
+                            message: "璇峰厛閫夋嫨瑕佸鍑虹殑鏁版嵁",
+                            type: 'error'
+                        });
+                        return;
+                    }
+                    var tableHtml = CreateTable(selectList.value);
+                    var html = "<html><head><meta charset='utf-8' /></head><body>" + 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);
                 }
 
 
@@ -725,9 +892,11 @@
                     dialogPage,
                     fnPrint,
                     fnPrintView,
+                    exportExcel,
                     fnCanelPrint,
                     fnTongBu,
                     fnCanelTongBu,
+                    manualSync,
                     handleSizeChange,
                     handleCurrentChange,
                     handleSelectionChange,

--
Gitblit v1.9.1