Browse Source

打印功能尝试

lwx_dev
erdanergou 3 years ago
parent
commit
17f2f20dcd
  1. 19
      src/main/java/com/dreamchaser/depository_manage/controller/PageController.java
  2. 6
      src/main/resources/static/js/JcPrinter/index_Demo.js
  3. 18
      src/main/resources/static/js/JcPrinter/jcPrinterSdk_api_third.js
  4. 6
      src/main/resources/templates/pages/JcPrinter/PrinterIndex.html
  5. 2
      src/main/resources/templates/pages/group/group_edit.html
  6. 2
      src/main/resources/templates/pages/material/material-view.html
  7. 35
      src/main/resources/templates/pages/place/place_edit.html
  8. 28
      src/main/resources/templates/pages/warehouse/warehouse_view.html

19
src/main/java/com/dreamchaser/depository_manage/controller/PageController.java

@ -2258,13 +2258,30 @@ public class PageController {
@GetMapping("/printCode") @GetMapping("/printCode")
public ModelAndView printCode(int mid) { public ModelAndView printCode(int mid,int flag) {
ModelAndView mv = new ModelAndView(); ModelAndView mv = new ModelAndView();
if(flag == 1){
// 如果是物料
// 获取当前对应物料 // 获取当前对应物料
Material materialById = materialService.findMaterialById(mid); Material materialById = materialService.findMaterialById(mid);
// 获取当前物料对应的码值 // 获取当前物料对应的码值
String qrCodeByMcode = materialService.findQrCodeByMcode(materialById.getCode()); String qrCodeByMcode = materialService.findQrCodeByMcode(materialById.getCode());
mv.addObject("qrCode",qrCodeByMcode); mv.addObject("qrCode",qrCodeByMcode);
}else if(flag == 2){
// 如果是仓库
// 获取当前仓库对应的码值
String qrCodeByDepository = depositoryService.findQrCodeByDepository(mid);
mv.addObject("qrCode",qrCodeByDepository);
}else if(flag == 3){
// 如果是库位
// 获取当前库位对应的码值
String qrCodeByPlace = placeService.findQrCodeByPlace(mid);
mv.addObject("qrCode",qrCodeByPlace);
}
mv.setViewName("pages/JcPrinter/PrinterIndex"); mv.setViewName("pages/JcPrinter/PrinterIndex");
return mv; return mv;
} }

6
src/main/resources/static/js/JcPrinter/index_Demo.js

@ -390,8 +390,8 @@ var app = new Vue({
/** /**
* 开始打印任务 * 开始打印任务
* @param {*} pageCount 页数 * @param {*} pageCount 打印页数
* @param {*} quantityCount 份数 * @param {*} quantityCount 打印份数
* @param {*} density 浓度 * @param {*} density 浓度
* @param {*} paperType 纸张类型 * @param {*} paperType 纸张类型
* @param {*} paperType 材质 * @param {*} paperType 材质
@ -432,6 +432,8 @@ var app = new Vue({
}); });
return; return;
} }
// 为了防止打印时未生成对应图像
// 初始化画板 // 初始化画板
InitDrawingBoard(this.InitDrawingBoardParam, (data1 => { InitDrawingBoard(this.InitDrawingBoardParam, (data1 => {
// 添加文字 // 添加文字

18
src/main/resources/static/js/JcPrinter/jcPrinterSdk_api_third.js

@ -72,7 +72,7 @@ function websocketLifePeriod() {
websocket.onerror = errorCallback; websocket.onerror = errorCallback;
console.log(websocket); //console.log(websocket);
return websocket; return websocket;
} }
@ -173,11 +173,13 @@ function init() {
var arrParse = JSON.parse(JSON.stringify(data)); var arrParse = JSON.parse(JSON.stringify(data));
if (arrParse.resultAck.result !== 0) { if (arrParse.resultAck.result !== 0) {
// 如果初始化失败 // 如果初始化失败
this.$message.error("初始化打印服务失败,请重试"); this.$alert('初始化打印服务失败,请重试', '提示', {
setTimeout(function () { confirmButtonText: '确定',
callback: action => {
var index = parent.layer.getFrameIndex(window.name); var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index); parent.layer.close(index);
}, 500); }
});
return; return;
} }
@ -185,11 +187,13 @@ function init() {
let arrParse = JSON.parse(JSON.stringify(data)); let arrParse = JSON.parse(JSON.stringify(data));
if (!arrParse.resultAck.result) { if (!arrParse.resultAck.result) {
this.$message.error("打印机获取失败,请重试"); this.$alert('打印机获取失败,请重试', '提示', {
setTimeout(function () { confirmButtonText: '确定',
callback: action => {
var index = parent.layer.getFrameIndex(window.name); var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index); parent.layer.close(index);
}, 500); }
});
return; return;
} else if (isJSON(arrParse.resultAck.info)) { } else if (isJSON(arrParse.resultAck.info)) {
allPrinters = JSON.parse(arrParse.resultAck.info); allPrinters = JSON.parse(arrParse.resultAck.info);

6
src/main/resources/templates/pages/JcPrinter/PrinterIndex.html

@ -9,6 +9,12 @@
<body> <body>
<div id="app" class="container"> <div id="app" class="container">
<input style="display:none;" id="materialQrCode" th:value="${qrCode}"> <input style="display:none;" id="materialQrCode" th:value="${qrCode}">
<div class="title">
<H2>刷新</H2>
<div><el-button @click="initSdkApi()" type="primary">SDK初始化</el-button></div>
</div>
<br>
<br>
<div class="link"> <div class="link">
<H2>打印设备</H2> <H2>打印设备</H2>
<el-row> <el-row>

2
src/main/resources/templates/pages/group/group_edit.html

@ -116,7 +116,7 @@
{field: 'quantity', width: 200, title: '数量'}, {field: 'quantity', width: 200, title: '数量'},
{field: 'tname', width: 150, title: '物料种类'}, {field: 'tname', width: 150, title: '物料种类'},
{field: 'texture', width: 100, title: '材质'}, {field: 'texture', width: 100, title: '材质'},
{field: 'unit', width: 150, title: '计量单位'}, {field: 'showUnit', width: 150, title: '计量单位'},
{field: 'brand', width: 150, title: '品牌'}, {field: 'brand', width: 150, title: '品牌'},
{field: 'shelfLife', width: 150, title: '保质期'}, {field: 'shelfLife', width: 150, title: '保质期'},
{field: 'productionPlace', width: 150, title: '产地'}, {field: 'productionPlace', width: 150, title: '产地'},

2
src/main/resources/templates/pages/material/material-view.html

@ -258,7 +258,7 @@
area: ['70%', '70%'], area: ['70%', '70%'],
move: '.layui-layer-title', move: '.layui-layer-title',
fixed: false, fixed: false,
content: '/printCode?mid='+$("#mid").val(), content: '/printCode?mid='+$("#mid").val()+'&flag=1',
}) })
}; };

35
src/main/resources/templates/pages/place/place_edit.html

@ -58,10 +58,13 @@
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">二维</label> <label class="layui-form-label">打印</label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<img id="qrCode" style="display:none;">
<input id="createCode" type="button" class="layui-btn layui-btn-radius layui-btn-normal" onclick="createQrCode()" value="生成二维码"/> <input id="createCode" type="button" class="layui-btn layui-btn-radius layui-btn-normal" onclick="createQrCode()" value="生成二维码"/>
<div id="codeItem" style="display:none;">
<img id="qrCode" >
<button id="printer" type="button" onclick="print_code()" class="layui-btn">打印</button>
</div>
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
@ -88,7 +91,11 @@
var data; var data;
function createQrCode() { function createQrCode() {
}; }
function print_code() {
}
layui.use(['form', 'layer','dropdown','tree'], function () { layui.use(['form', 'layer','dropdown','tree'], function () {
var $ = layui.jquery, var $ = layui.jquery,
form = layui.form, form = layui.form,
@ -149,12 +156,28 @@
success: function (d) { success: function (d) {
var data = d.data; var data = d.data;
layer.close(this.layerIndex); layer.close(this.layerIndex);
$("#qrCode").attr("src",data); //$("#qrCode").attr("src", data);
$("#qrCode").show(); $("#codeItem").show();
$("#createCode").hide(); $("#createCode").hide();
} }
}) })
} };
print_code = function(){
layer.open({
type: 2,
title: '打印',
skin: 'layui-layer-rim',
maxmin: true,
shadeClose: true, //点击遮罩关闭层
area: ['70%', '70%'],
move: '.layui-layer-title',
fixed: false,
content: '/printCode?mid='+$("#placeId").val()+'&flag=3',
})
};
}); });
</script> </script>

28
src/main/resources/templates/pages/warehouse/warehouse_view.html

@ -83,9 +83,12 @@
</div> </div>
</div> </div>
<div class="layui-form-item"> <div class="layui-form-item">
<label class="layui-form-label">二维</label> <label class="layui-form-label">打印</label>
<div class="layui-input-inline"> <div class="layui-input-inline">
<img id="qrCode" style="display:none;"> <div id="codeItem" style="display:none;">
<img id="qrCode" >
<button id="printer" type="button" onclick="print_code()" class="layui-btn">打印</button>
</div>
<input id="createCode" type="button" class="layui-btn layui-btn-radius layui-btn-normal" onclick="createQrCode()" value="生成二维码"/> <input id="createCode" type="button" class="layui-btn layui-btn-radius layui-btn-normal" onclick="createQrCode()" value="生成二维码"/>
</div> </div>
</div> </div>
@ -182,12 +185,27 @@
success: function (d) { success: function (d) {
var data = d.data; var data = d.data;
layer.close(this.layerIndex); layer.close(this.layerIndex);
$("#qrCode").attr("src",data); //$("#qrCode").attr("src", data);
$("#qrCode").show(); $("#codeItem").show();
$("#createCode").hide(); $("#createCode").hide();
} }
}) })
} };
print_code = function(){
layer.open({
type: 2,
title: '打印',
skin: 'layui-layer-rim',
maxmin: true,
shadeClose: true, //点击遮罩关闭层
area: ['70%', '70%'],
move: '.layui-layer-title',
fixed: false,
content: '/printCode?mid='+$("#did").val()+'&flag=2',
})
};
}); });
</script> </script>

Loading…
Cancel
Save