自动化立体仓库 - WMS系统
#
zhou zhou
2025-10-22 272953badc5bac25e18ad6710af4023d2511140a
#
3个文件已添加
1个文件已修改
770 ■■■■■ 已修改文件
src/main/resources/application.yml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/erp/LodopFuncs.js 192 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/erp/materialuse/index.html 394 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/erp/zh-cn.js 180 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/application.yml
@@ -14,12 +14,12 @@
      datasource:
        master:
          driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
          url: jdbc:sqlserver://127.0.0.1:1433;databasename=xtyIS
          url: jdbc:sqlserver://192.168.4.15:1433;databasename=xtyIS
          username: sa
          password: sa@123
        slave_1:
          driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
          url: jdbc:sqlserver://127.0.0.1:1433;databasename=AIS20201127144525
          url: jdbc:sqlserver://192.168.4.15:1433;databasename=AIS20201127144525
          username: sa
          password: sa@123
  mvc:
src/main/webapp/views/erp/LodopFuncs.js
New file
@@ -0,0 +1,192 @@
var CreatedOKLodop7766=null;
//====判断是否需要安装CLodop云打印服务器:====
function needCLodop(){
    try{
        var ua=navigator.userAgent;
        if (ua.match(/Windows\sPhone/i) !=null) return true;
        if (ua.match(/iPhone|iPod/i) != null) return true;
        if (ua.match(/Android/i) != null) return true;
        if (ua.match(/Edge\D?\d+/i) != null) return true;
        var verTrident=ua.match(/Trident\D?\d+/i);
        var verIE=ua.match(/MSIE\D?\d+/i);
        var verOPR=ua.match(/OPR\D?\d+/i);
        var verFF=ua.match(/Firefox\D?\d+/i);
        var x64=ua.match(/x64/i);
        if ((verTrident==null)&&(verIE==null)&&(x64!==null))
            return true; else
        if ( verFF !== null) {
            verFF = verFF[0].match(/\d+/);
            if ((verFF[0]>= 42)||(x64!==null)) return true;
        } else
        if ( verOPR !== null) {
            verOPR = verOPR[0].match(/\d+/);
            if ( verOPR[0] >= 32 ) return true;
        } else
        if ((verTrident==null)&&(verIE==null)) {
            var verChrome=ua.match(/Chrome\D?\d+/i);
            if ( verChrome !== null ) {
                verChrome = verChrome[0].match(/\d+/);
                if (verChrome[0]>=42) return true;
            };
        };
        return false;
    } catch(err) {return true;};
};
//====页面引用CLodop云打印必须的JS文件:====
if (needCLodop()) {
    var head = document.head || document.getElementsByTagName("head")[0] || document.documentElement;
    var oscript = document.createElement("script");
    oscript.src ="http://localhost:8000/CLodopfuncs.js?priority=1";
    head.insertBefore( oscript,head.firstChild );
    //引用双端口(8000和18000)避免其中某个被占用:
    oscript = document.createElement("script");
    oscript.src ="http://localhost:18000/CLodopfuncs.js?priority=0";
    head.insertBefore( oscript,head.firstChild );
};
//====获取LODOP对象的主过程:====
function getLodop(oOBJECT,oEMBED){
    var strHtmInstall = "<br><font color='#FF00FF'>打印控件未安装!点击这里<a href='~/Scripts/lodop/Lodinstall_lodop32.exe' target='_self'>执行安装</a>,安装后请刷新页面或重新进入。</font>";
    var strHtmUpdate="<br><font color='#FF00FF'>打印控件需要升级!点击这里<a href='install_lodop32.exe' target='_self'>执行升级</a>,升级后请重新进入。</font>";
    var strHtm64_Install="<br><font color='#FF00FF'>打印控件未安装!点击这里<a href='install_lodop64.exe' target='_self'>执行安装</a>,安装后请刷新页面或重新进入。</font>";
    var strHtm64_Update="<br><font color='#FF00FF'>打印控件需要升级!点击这里<a href='install_lodop64.exe' target='_self'>执行升级</a>,升级后请重新进入。</font>";
    var strHtmFireFox="<br><br><font color='#FF00FF'>(注意:如曾安装过Lodop旧版附件npActiveXPLugin,请在【工具】->【附加组件】->【扩展】中先卸它)</font>";
    var strHtmChrome="<br><br><font color='#FF00FF'>(如果此前正常,仅因浏览器升级或重安装而出问题,需重新执行以上安装)</font>";
    var strCLodopInstall = "<br><font color='#FF00FF'>CLodop云打印服务(localhost本地)未安装启动!点击这里<a href='http://www.lodop.net/demolist/CLodopPrint_Setup_for_Win32NT.zip' target='_self'>执行安装</a>,安装后请刷新页面。</font>";
    var strCLodopUpdate = "<br><font color='#FF00FF'>CLodop云打印服务需升级!点击这里<a href='http://www.lodop.net/demolist/CLodopPrint_Setup_for_Win32NT.zip' target='_self'>执行升级</a>,升级后请刷新页面。</font>";
    var LODOP;
    try{
        var isIE = (navigator.userAgent.indexOf('MSIE')>=0) || (navigator.userAgent.indexOf('Trident')>=0);
        if (needCLodop()) {
            try{ LODOP=getCLodop();} catch(err) {};
            if (!LODOP && document.readyState!=="complete") {alert("C-Lodop没准备好,请稍后再试!"); return;};
            if (!LODOP) {
                if (isIE) document.write(strCLodopInstall); else
                    document.documentElement.innerHTML=strCLodopInstall+document.documentElement.innerHTML;
                return;
            } else {
                if (CLODOP.CVERSION<"2.0.9.0") {
                    if (isIE) document.write(strCLodopUpdate); else
                        document.documentElement.innerHTML=strCLodopUpdate+document.documentElement.innerHTML;
                };
                if (oEMBED && oEMBED.parentNode) oEMBED.parentNode.removeChild(oEMBED);
                if (oOBJECT && oOBJECT.parentNode) oOBJECT.parentNode.removeChild(oOBJECT);
            };
        } else {
            var is64IE  = isIE && (navigator.userAgent.indexOf('x64')>=0);
            //=====如果页面有Lodop就直接使用,没有则新建:==========
            if (oOBJECT!=undefined || oEMBED!=undefined) {
                if (isIE) LODOP=oOBJECT; else  LODOP=oEMBED;
            } else if (CreatedOKLodop7766==null){
                LODOP=document.createElement("object");
                LODOP.setAttribute("width",0);
                LODOP.setAttribute("height",0);
                LODOP.setAttribute("style","position:absolute;left:0px;top:-100px;width:0px;height:0px;");
                if (isIE) LODOP.setAttribute("classid","clsid:2105C259-1E0C-4534-8141-A753534CB4CA");
                else LODOP.setAttribute("type","application/x-print-lodop");
                document.documentElement.appendChild(LODOP);
                CreatedOKLodop7766=LODOP;
            } else LODOP=CreatedOKLodop7766;
            //=====Lodop插件未安装时提示下载地址:==========
            if ((LODOP==null)||(typeof(LODOP.VERSION)=="undefined")) {
                if (navigator.userAgent.indexOf('Chrome')>=0)
                    document.documentElement.innerHTML=strHtmChrome+document.documentElement.innerHTML;
                if (navigator.userAgent.indexOf('Firefox')>=0)
                    document.documentElement.innerHTML=strHtmFireFox+document.documentElement.innerHTML;
                if (is64IE) document.write(strHtm64_Install); else
                if (isIE)   document.write(strHtmInstall);    else
                    document.documentElement.innerHTML=strHtmInstall+document.documentElement.innerHTML;
                return LODOP;
            };
        };
        if (LODOP.VERSION<"6.2.1.5") {
            if (needCLodop())
                document.documentElement.innerHTML=strCLodopUpdate+document.documentElement.innerHTML; else
            if (is64IE) document.write(strHtm64_Update); else
            if (isIE) document.write(strHtmUpdate); else
                document.documentElement.innerHTML=strHtmUpdate+document.documentElement.innerHTML;
            return LODOP;
        };
        //===如下空白位置适合调用统一功能(如注册语句、语言选择等):===
        LODOP.SET_LICENSES("", "641484550535952575865576166561", "688858710010010811411756128900", "");
        // LODOP.SET_LICENSES("","AF8A5800B819CD7AB4BCF67B925D7B52","","");
        //===========================================================
        return LODOP;
    } catch(err) {alert("getLodop出错:"+err);};
};
//var CreatedOKLodop7766 = null;
//function getLodop(oOBJECT, oEMBED) {
//    /**************************
//      本函数根据浏览器类型决定采用哪个页面元素作为Lodop对象:
//      IE系列、IE内核系列的浏览器采用oOBJECT,
//      其它浏览器(Firefox系列、Chrome系列、Opera系列、Safari系列等)采用oEMBED,
//      如果页面没有相关对象元素,则新建一个或使用上次那个,避免重复生成。
//      64位浏览器指向64位的安装程序install_lodop64.exe。
//    **************************/
//    var strHtmInstall = "<br><font color='#FF00FF'>打印控件未安装!点击这里<a href='install_lodop32.exe' target='_self'>执行安装</a>,安装后请刷新页面或重新进入。</font>";
//    var strHtmUpdate = "<br><font color='#FF00FF'>打印控件需要升级!点击这里<a href='install_lodop32.exe' target='_self'>执行升级</a>,升级后请重新进入。</font>";
//    var strHtm64_Install = "<br><font color='#FF00FF'>打印控件未安装!点击这里<a href='install_lodop64.exe' target='_self'>执行安装</a>,安装后请刷新页面或重新进入。</font>";
//    var strHtm64_Update = "<br><font color='#FF00FF'>打印控件需要升级!点击这里<a href='install_lodop64.exe' target='_self'>执行升级</a>,升级后请重新进入。</font>";
//    var strHtmFireFox = "<br><br><font color='#FF00FF'>(注意:如曾安装过Lodop旧版附件npActiveXPLugin,请在【工具】->【附加组件】->【扩展】中先卸它)</font>";
//    var strHtmChrome = "<br><br><font color='#FF00FF'>(如果此前正常,仅因浏览器升级或重安装而出问题,需重新执行以上安装)</font>";
//    var LODOP;
//    try {
//        //=====判断浏览器类型:===============
//        var isIE = (navigator.userAgent.indexOf('MSIE') >= 0) || (navigator.userAgent.indexOf('Trident') >= 0);
//        var is64IE = isIE && (navigator.userAgent.indexOf('x64') >= 0);
//        //=====如果页面有Lodop就直接使用,没有则新建:==========
//        if (oOBJECT != undefined || oEMBED != undefined) {
//            if (isIE)
//                LODOP = oOBJECT;
//            else
//                LODOP = oEMBED;
//        } else {
//            if (CreatedOKLodop7766 == null) {
//                LODOP = document.createElement("object");
//                LODOP.setAttribute("width", 0);
//                LODOP.setAttribute("height", 0);
//                LODOP.setAttribute("style", "position:absolute;left:0px;top:-100px;width:0px;height:0px;");
//                if (isIE) LODOP.setAttribute("classid", "clsid:2105C259-1E0C-4534-8141-A753534CB4CA");
//                else LODOP.setAttribute("type", "application/x-print-lodop");
//                document.documentElement.appendChild(LODOP);
//                CreatedOKLodop7766 = LODOP;
//            } else
//                LODOP = CreatedOKLodop7766;
//        };
//        //=====判断Lodop插件是否安装过,没有安装或版本过低就提示下载安装:==========
//        if ((LODOP == null) || (typeof (LODOP.VERSION) == "undefined")) {
//            if (navigator.userAgent.indexOf('Chrome') >= 0)
//                document.documentElement.innerHTML = strHtmChrome + document.documentElement.innerHTML;
//            if (navigator.userAgent.indexOf('Firefox') >= 0)
//                document.documentElement.innerHTML = strHtmFireFox + document.documentElement.innerHTML;
//            if (is64IE) document.write(strHtm64_Install); else
//                if (isIE) document.write(strHtmInstall); else
//                    document.documentElement.innerHTML = strHtmInstall + document.documentElement.innerHTML;
//            return LODOP;
//        } else
//            if (LODOP.VERSION < "6.1.9.8") {
//                if (is64IE) document.write(strHtm64_Update); else
//                    if (isIE) document.write(strHtmUpdate); else
//                        document.documentElement.innerHTML = strHtmUpdate + document.documentElement.innerHTML;
//                return LODOP;
//            };
//        //=====如下空白位置适合调用统一功能(如注册码、语言选择等):====
//        //============================================================
//        return LODOP;
//    } catch (err) {
//        if (is64IE)
//            document.documentElement.innerHTML = "Error:" + strHtm64_Install + document.documentElement.innerHTML; else
//            document.documentElement.innerHTML = "Error:" + strHtmInstall + document.documentElement.innerHTML;
//        return LODOP;
//    };
//}
src/main/webapp/views/erp/materialuse/index.html
New file
@@ -0,0 +1,394 @@
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title></title>
    <meta name="renderer" content="webkit">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <link rel="stylesheet" href="../../../static/evn/index.css">
</head>
<body>
    <div id="app">
        <el-card>
        <el-form :inline="true">
            <el-form-item label="开工日期">
                <el-date-picker
                        v-model="tableSearchParam.fplancommitdate"
                        type="date"
                        placeholder="选择日期"
                        :default-value="defaultTime"
                />
            </el-form-item>
            <el-form-item label="生产单号">
                <el-input v-model="tableSearchParam.soCode" placeholder="请输入生产单号"></el-input>
            </el-form-item>
            <el-form-item label="车间">
                <el-select v-model="tableSearchParam.depId" placeholder="选择车间" style="width: 240px" >
                    <el-option
                            v-for="item in options"
                            :key="item.value"
                            :label="item.label"
                            :value="item.value"
                    />
                </el-select>
            </el-form-item>
            <el-form-item label="是否打印">
                <el-select v-model="tableSearchParam.izPrint" placeholder="" style="width: 240px" >
                    <el-option
                            v-for="item in printOptions"
                            :key="item.value"
                            :label="item.label"
                            :value="item.value"
                    />
                </el-select>
            </el-form-item>
            <el-form-item label="">
                <el-button type="primary" @click="page" circle >
                    <el-icon><Search /></el-icon>
                </el-button>
            </el-form-item>
        </el-form>
        <el-form :inline="true">
            <el-form-item label="">
               <el-button type="primary"  @click="fnPrintView('否',0)">打印预览</el-button>
            </el-form-item>
            <el-form-item label="">
               <el-button type="primary">打印</el-button>
            </el-form-item>
            <el-form-item label="">
               <el-button type="primary">撤销生成</el-button>
            </el-form-item>
            <el-form-item label="">
               <el-button type="primary">打印预览(红字)</el-button>
            </el-form-item>
            <el-form-item label="">
                <el-button type="primary">打印(红字)</el-button>
            </el-form-item>
            <el-form-item label="">
                <el-button type="primary">撤销生成(红字)</el-button>
            </el-form-item>
        </el-form>
        <el-table :data="tableData" border style="width: 100%" row-key="finterid" @selection-change="handleSelectionChange" max-height="650">
            <el-table-column type="selection" >
            </el-table-column>
            <el-table-column type="index" width="50" >
            </el-table-column>
            <el-table-column prop="soCode" label="生产单号" >
            </el-table-column>
            <el-table-column prop="fbillno" label="任务单号">
            </el-table-column>
            <el-table-column prop="invCode" label="物料编码">
            </el-table-column>
            <el-table-column prop="invName" label="物料名称" width="300" show-overflow-tooltip="true">
            </el-table-column>
            <el-table-column prop="invStd" label="规格" width="200" show-overflow-tooltip="true">
            </el-table-column>
            <el-table-column prop="depName" label="车间">
            </el-table-column>
            <el-table-column prop="fauxqty" label="数量" width="90">
            </el-table-column>
            <el-table-column prop="fplancommitdate" label="计划开工时间">
            </el-table-column>
            <el-table-column prop="fplanfinishdate" label="计划完工时间">
            </el-table-column>
            <el-table-column prop="izSyncReceive" label="是否同步" width="90">
            </el-table-column>
            <el-table-column prop="izSyncReceiveReturn" label="是否退料" width="90">
            </el-table-column>
        </el-table>
<!--            <div style="margin-top: 10px">-->
<!--                <el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"-->
<!--                               :current-page="currentPage" :page-sizes="pageSizes" :page-size="pageSize"-->
<!--                               layout="total, sizes, prev, pager, next, jumper" :total="pageTotal">-->
<!--                </el-pagination>-->
<!--            </div>-->
        </el-card>
    </div>
    <script type="text/javascript" src="../../../static/js/jquery/jquery-3.3.1.min.js"></script>
    <script type="text/javascript" src="../../../static/js/common.js" charset="utf-8"></script>
    <script src="../../../static/evn/vue.global.js"></script>
    <script src="../../../static/evn/element-plus.js"></script>
    <script src="../../../static/evn/icons-vue.js"></script>
    <script src='../LodopFuncs.js'></script>
    <script type="module">
        // 导入中文语言包
        import zhCn from '../zh-cn.js';
        const { createApp, ref, onMounted, onBeforeMount ,watchEffect} = Vue;
        const app = createApp({
            setup() {
                const currentPage = ref(1)
                const pageSizes = ref([15,20, 30, 50, 100, 200])
                const pageSize = ref(15)
                const pageTotal = ref(0)
                const tableSearchParam = ref({
                    soCode: null,
                    fplancommitdate: new Date(),
                    depId:null
                })
                const tableData = ref([])
                const defaultTime = ref(new Date())
                const fullscreenLoading = ref(false)
                const depName = ref('')
                const options = ref([])
                watchEffect(() =>{
                     options.value.map(item =>{
                        if (item.value === tableSearchParam.value.depId){
                            depName.value = item.label
                        }
                    })
                    console.log(depName.value)
                })
                const printOptions = [
                    {
                        value: '否',
                        label: '否'
                    },
                    {
                        value: '是',
                        label: '是'
                    },
                ]
                const selectList = ref([])
                function page(){
                    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/materialreceive/getList",
                        headers: {
                            'token': localStorage.getItem('token')
                        },
                        data: data,
                        dataType: 'json',
                        contentType: 'application/json;charset=UTF-8',
                        method: 'GET',
                        success: function(res) {
                            if (res.code == 200) {
                                tableData.value = res.data
                            } else if (res.code === 403) {
                                top.location.href = baseUrl + "/";
                            } else {
                                ElementPlus.ElMessage({
                                    message: res.msg,
                                    type: 'error'
                                });
                            }
                        }
                    });
                }
                function getDepOptions(){
                    $.ajax({
                        url: "http://127.0.0.1:9090/basicinfo/departmentl/getlistfordropdown",
                        contentType: 'application/json;charset=UTF-8',
                        method: 'GET',
                        success: function(res) {
                            if (res.code == 200) {
                                res.data.map(item => {
                                    console.log(item)
                                    options.value.push({
                                        value: item.depId, label: item.depName
                                    })
                                    console.log(options.value)
                                })
                            } else {
                                ElementPlus.ElMessage({
                                    message: res.msg,
                                    type: 'error'
                                });
                            }
                        }
                    });
                }
                function fnPrintView(izPrint,izRed){
                    const LODOP = getLodop()
                    const loading = ElementPlus.ElLoading.service({
                        lock: true,
                        text: 'Loading',
                        background: 'rgba(0, 0, 0, 0.7)',
                    })
                    $.ajax({
                        url:"http://127.0.0.1:9090/mo/materialuse/print",
                        headers: {
                            'token': localStorage.getItem('token')
                        },
                        data: JSON.stringify({
                            icmoDTOS : JSON.stringify(selectList.value),
                            izPrint : izPrint,
                            izRed : izRed
                        }),
                        dataType: 'json',
                        contentType: 'application/json;charset=UTF-8',
                        method: 'POST',
                        success: function(res) {
                            loading.close()
                            if (res.code == 200) {
                                ElementPlus.ElMessage({
                                    message: "获取数据完成,等待唤起打印",
                                    type: 'success'
                                });
                                LODOP.PRINT_INITA(0,0,800,1100,"生产领料单");
                                LODOP.SET_PRINT_PAGESIZE(1,0,0,"A4");
                                LODOP.SET_PRINT_MODE("PRINT_NOCOLLATE",1);
                                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,"计划开工日期:"+tableSearchParam.value.fplancommitdate.toLocaleString('zh-CN', {
                                    timeZone: 'Asia/Shanghai',
                                    year: 'numeric',
                                    month: '2-digit',
                                    day: '2-digit',
                                    hour: '2-digit',
                                    minute: '2-digit',
                                    second: '2-digit',
                                    hour12: false
                                }).slice(0, 10));
                                LODOP.SET_PRINT_STYLEA(0,"FontSize",12);
                                LODOP.SET_PRINT_STYLEA(0,"ItemType",1);
                                LODOP.ADD_PRINT_TABLE(96,16,2000,960,CreateTable(res.data));
                                LODOP.SET_PRINT_STYLEA(0,"TableHeightScope",1);
                                LODOP.SET_PRINT_MODE("FULL_WIDTH_FOR_OVERFLOW",true);
                                if(izPrint=="是")
                                {
                                    LODOP.PRINT();
                                }
                                else{
                                    LODOP.PREVIEW();
                                }
//                    LODOP.PRINT_DESIGN();
                            } else if (res.code === 403) {
                                top.location.href = baseUrl + "/";
                            } else {
                                ElementPlus.ElMessage({
                                    message: res.msg,
                                    type: 'error'
                                });
                            }
                        }
                    });
                }
                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: 13px;}</style><table>";
                    //第一行
                    var th = "<thead><tr style='height:20px'>" +
                        "<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:20px'><td style='width:30px;' align='center' >"+(row)+"</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:60px;'  align='left'  >" + result[i].fqty + "</td><td style='width:60px;'  align='left'  ></td>  <td style='width:120px;word-wrap:break-word;word-break:break-all;'  align='left'  >" + result[i].soCode + "</td>   </tr>"
                        row++;
                    }
                    var txt = css +th+ td +"</table>";
                    return txt;
                }
                function handleSizeChange(val) {
                    pageSize.value = val
                    currentPage.value = 1 // 重置到第一页
                    page()
                }
                function handleCurrentChange(val) {
                    currentPage.value = val
                    page()
                }
                function handleSelectionChange(val) {
                    console.log(val)
                    selectList.value = val
                }
                onMounted(() => {
                    page()
                })
                onBeforeMount(() => {
                    getDepOptions()
                })
                return {
                    tableData,
                    currentPage,
                    pageSizes,
                    pageSize,
                    pageTotal,
                    tableSearchParam,
                    defaultTime,
                    options,
                    printOptions,
                    page,
                    fnPrintView,
                    handleSizeChange,
                    handleCurrentChange,
                    handleSelectionChange
                }
            }
        });
        app.use(ElementPlus, {
            locale: zhCn.default || zhCn
        });
        for (const [key, component] of Object.entries(ElementPlusIconsVue)) {
            app.component(key, component)
        }
        app.mount('#app');
    </script>
</body>
</html>
src/main/webapp/views/erp/zh-cn.js
New file
@@ -0,0 +1,180 @@
export default {
  name: 'zh-cn',
  el: {
    breadcrumb: {
      label: '面包屑',
    },
    colorpicker: {
      confirm: '确定',
      clear: '清空',
      defaultLabel: '颜色选择器',
      description: '当前颜色 {color},按 Enter 键选择新颜色',
      alphaLabel: '选择透明度的值',
    },
    datepicker: {
      now: '此刻',
      today: '今天',
      cancel: '取消',
      clear: '清空',
      confirm: '确定',
      dateTablePrompt: '使用方向键与 Enter 键可选择日期',
      monthTablePrompt: '使用方向键与 Enter 键可选择月份',
      yearTablePrompt: '使用方向键与 Enter 键可选择年份',
      selectedDate: '已选日期',
      selectDate: '选择日期',
      selectTime: '选择时间',
      startDate: '开始日期',
      startTime: '开始时间',
      endDate: '结束日期',
      endTime: '结束时间',
      prevYear: '前一年',
      nextYear: '后一年',
      prevMonth: '上个月',
      nextMonth: '下个月',
      year: '年',
      month1: '1 月',
      month2: '2 月',
      month3: '3 月',
      month4: '4 月',
      month5: '5 月',
      month6: '6 月',
      month7: '7 月',
      month8: '8 月',
      month9: '9 月',
      month10: '10 月',
      month11: '11 月',
      month12: '12 月',
      // week: '周次',
      weeks: {
        sun: '日',
        mon: '一',
        tue: '二',
        wed: '三',
        thu: '四',
        fri: '五',
        sat: '六',
      },
      weeksFull: {
        sun: '星期日',
        mon: '星期一',
        tue: '星期二',
        wed: '星期三',
        thu: '星期四',
        fri: '星期五',
        sat: '星期六',
      },
      months: {
        jan: '一月',
        feb: '二月',
        mar: '三月',
        apr: '四月',
        may: '五月',
        jun: '六月',
        jul: '七月',
        aug: '八月',
        sep: '九月',
        oct: '十月',
        nov: '十一月',
        dec: '十二月',
      },
    },
    inputNumber: {
      decrease: '减少数值',
      increase: '增加数值',
    },
    select: {
      loading: '加载中',
      noMatch: '无匹配数据',
      noData: '无数据',
      placeholder: '请选择',
    },
    dropdown: {
      toggleDropdown: '切换下拉选项',
    },
    mention: {
      loading: '加载中',
    },
    cascader: {
      noMatch: '无匹配数据',
      loading: '加载中',
      placeholder: '请选择',
      noData: '暂无数据',
    },
    pagination: {
      goto: '前往',
      pagesize: '条/页',
      total: '共 {total} 条',
      pageClassifier: '页',
      page: '页',
      prev: '上一页',
      next: '下一页',
      currentPage: '第 {pager} 页',
      prevPages: '向前 {pager} 页',
      nextPages: '向后 {pager} 页',
      deprecationWarning:
        '你使用了一些已被废弃的用法,请参考 el-pagination 的官方文档',
    },
    dialog: {
      close: '关闭此对话框',
    },
    drawer: {
      close: '关闭此对话框',
    },
    messagebox: {
      title: '提示',
      confirm: '确定',
      cancel: '取消',
      error: '输入的数据不合法!',
      close: '关闭此对话框',
    },
    upload: {
      deleteTip: '按 Delete 键可删除',
      delete: '删除',
      preview: '查看图片',
      continue: '继续上传',
    },
    slider: {
      defaultLabel: '滑块介于 {min} 至 {max}',
      defaultRangeStartLabel: '选择起始值',
      defaultRangeEndLabel: '选择结束值',
    },
    table: {
      emptyText: '暂无数据',
      confirmFilter: '筛选',
      resetFilter: '重置',
      clearFilter: '全部',
      sumText: '合计',
    },
    tour: {
      next: '下一步',
      previous: '上一步',
      finish: '结束导览',
    },
    tree: {
      emptyText: '暂无数据',
    },
    transfer: {
      noMatch: '无匹配数据',
      noData: '无数据',
      titles: ['列表 1', '列表 2'],
      filterPlaceholder: '请输入搜索内容',
      noCheckedFormat: '共 {total} 项',
      hasCheckedFormat: '已选 {checked}/{total} 项',
    },
    image: {
      error: '加载失败',
    },
    pageHeader: {
      title: '返回',
    },
    popconfirm: {
      confirmButtonText: '确定',
      cancelButtonText: '取消',
    },
    carousel: {
      leftArrow: '上一张幻灯片',
      rightArrow: '下一张幻灯片',
      indicator: '幻灯片切换至索引 {index}',
    },
  },
}