| | |
| | | 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: |
| New file |
| | |
| | | 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; |
| | | // }; |
| | | //} |
| New file |
| | |
| | | <!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> |
| New file |
| | |
| | | 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}', |
| | | }, |
| | | }, |
| | | } |