Index: ssts-web/src/main/webapp/disinfectsystem/packing/packingView.js
===================================================================
diff -u -r16276 -r16285
--- ssts-web/src/main/webapp/disinfectsystem/packing/packingView.js (.../packingView.js) (revision 16276)
+++ ssts-web/src/main/webapp/disinfectsystem/packing/packingView.js (.../packingView.js) (revision 16285)
@@ -1228,222 +1228,20 @@
id :"save_print",
text:'' + packingBtnText + '',
handler : function() {
-
- packingToussesArray = []; // 清除所装配的器械包数组
- packedToussesArray = [];
- tousseesToPrint = [];
-
- // 首先处理标识牌的打印
- var scanScanIDCardBarcode = Ext4.getCmp('scanIdCardBarcode');
- if(scanScanIDCardBarcode.isVisible(true)){
- printIDCardTousse();
- return;
- }
-
- if(!validateFormParamsForPack()){
- return;
- }
-
- var basketTree = Ext4.getCmp('basketTreeGrid');
- var waitPackingTreeGrid = Ext4.getCmp('waitPackingTreeGrid');
- var selNodes = basketTree.getView().getChecked();
- var selLength = selNodes.length;
- if(selLength > 0){
- //格式[{tousseName:"",amount:1,packed:true,taskItems:[{taskId:11,amount:20},{taskId:12,amount:30}]},{tousseName:"",amount:1,packed:true,taskItems:[{taskId:11,amount:20},{taskId:12,amount:30}]}]
- var delBasketItems = new Array();
- //遍历器械包节点
- Ext4.each(selNodes, function(pNode){
- var pTousseName = pNode.get('tousseName');
- var haveIDCard = pNode.get('haveIDCard');
- // 跳过有标识牌的器械包
- if(haveIDCard){
- return;
- }
- //器械包装配数量
- var packingAmount = pNode.get('amount');
- if(packingAmount <= 0){
- return;
- }
-
- //{tousseName:"",amount:1,packed:true,taskItems:[{taskId:11,amount:20},{taskId:12,amount:30}]}
- var basketItem = {};
- basketItem.tousseName = pTousseName;
- basketItem.amount = 0;
- basketItem.packed = false;
- var dl = delBasketItems.length;
- delBasketItems[dl] = basketItem;
-
- var taskItemArray = new Array();
- basketItem.taskItems = taskItemArray;
-
- var taskIdArray = [];
- var basketBarcode;
- var tousseName;
- var tousseType;
- var packageType;
- var sterilingType;
- var supplierName;
- var damages;
- var errors;
- var department;
- var departmentArray = [];
- var status;
- //遍历器械包下的每条装配任务数据
- Ext4.each(pNode.childNodes,function(cNode){
- tousseName = cNode.get("tousseName");
- status = cNode.get("status");
- basketBarcode = cNode.get("basketBarcode");
- var taskId = cNode.get("taskId");
-
- var amount = cNode.get("amount");
- if(amount > packingAmount){
- amount = packingAmount;
- }
- packageType = cNode.get("packageType");
- if(packageType == "" || selLength == 1){
- packageType = Ext4.getCmp('packageType').getValue();
- }
- sterilingType = cNode.get("sterilingMethod");
- if(sterilingType == "" || selLength == 1){
- sterilingType = Ext4.getCmp('sterilingType').getValue();
- }
- tousseType = cNode.get("tousseType");
- supplierName = cNode.get("supplierName");
- damages = cNode.get("damages");
- errors = cNode.get("errors");
- department = cNode.get("department");
- departmentArray.push(department);
-
- if(status == '待确认'){
- showResult(tousseName+",有器械丢失,请确认!");
- return;
- }
-
- if(errors != null && errors.length > 0){
- showResult("材料缺失,不够组成器械包,请补充缺失器械!");
- return;
- }
- if(damages != null && damages.length > 0){
- showResult("材料已报损,不够组成器械包,请补充报损器械!");
- return;
- }
-
- if(packingAmount > 0){
- taskIdArray.push(taskId);
- packingAmount -= amount;
- basketItem.amount += amount;
- basketItem.packed = true;
- var ti = taskItemArray.length;
- taskItemArray[ti] = {};
- taskItemArray[ti].taskId = taskId;
- taskItemArray[ti].amount = amount;
- }
- });
- if(packingAmount > 0){
- showResult(tousseName + "需装配数量已超过该器械包所有装配任务数量之和.");
- delBasketItems.splice(dl,1);//删除
- return;
- }
- //请求后台装配方法
- packingTousse(false,basketBarcode,taskIdArray.join(";"),tousseName,tousseType,pNode.get('amount'),packageType,sterilingType,supplierName,departmentArray.join(";"),pNode.get('urgentAmount'));
- });
- // 一次打印
- printLabelsAfterPacking();
- //删除篮筐内物品
- deleteBasketItems(delBasketItems);
- //打印后去掉选中的钩
- if(selLength > 0){
- Ext4.each(selNodes, function(pNode){
- pNode.set("checked", false);
- });
- }
- //刷新待装配列表
- waitPackingTreeGrid.getStore().reload();
- }else{
- //不回收的物品
- var isShow = Ext4.getCmp('save_print').isVisible();
- if(isShow){
- //选择统计的敷料包选项全打印
- var selNodes = waitPackingTreeGrid.getView().getChecked();
- var selLength = selNodes.length;
- Ext4.each(selNodes, function(pNode) {
- if(pNode.get('taskType') == taskType_recyclingRecord){
- return true;//在each(jquery、ext都如此)循环中,return true表示continue,return false表示break
- }
- var packingAmount = pNode.get('amount');
- var urgentAmount = pNode.get("urgentAmount");
-
- var taskIdArray = [];
- var tousseName;
- var tousseType;
- var packageType;
- var sterilingType;
- var supplierName;
- var department;
- var departmentArray = [];
- var status;
-
- Ext4.each(pNode.childNodes, function(cNode) {
- if(packingAmount <= 0){
- return;
- }
- tousseName = cNode.get("tousseName");
- var haveIDCard = pNode.get('haveIDCard');
- // 跳过有标识牌的器械包
- if(haveIDCard){
- showResult("【"+tousseName+"】启用了标识牌,需扫描标识牌装配。或者禁用该器械包的标识牌后装配!");
- return;
- }
- var status = cNode.get("status");
- if(status == '待确认'){
- showResult("【"+tousseName+"】有器械丢失,请先确认!");
- return false;
- }
- var taskId = cNode.get("taskId");
- var amount = cNode.get("amount");
- if(amount > packingAmount){
- amount = packingAmount;
- }
- packageType = cNode.get("packageType");
- if(selLength == 1){
- packageType = Ext4.getCmp('packageType').getValue();
- }
- sterilingType = cNode.get("sterilingMethod");
- if(selLength == 1){
- sterilingType = Ext4.getCmp('sterilingType').getValue();
- }
- tousseType = cNode.get("tousseType");
- supplierName = cNode.get("supplierName");
- department = cNode.get("department");
- departmentArray.push(department);
-
- if(packingAmount > 0){
- taskIdArray.push(taskId);
- packingAmount -= amount;
- }
- });
-
- packingTousse(false,'',taskIdArray.join(";"),tousseName,tousseType,pNode.get('amount'),packageType,sterilingType,supplierName,departmentArray.join(";"),urgentAmount);
-
- });
- // 一次打印
- printLabelsAfterPacking();
- waitPackingTreeGrid.getStore().reload();
- }else{
- showResult('请选择要打印的行!');
- }
- }
- Ext4.getCmp('sterilingType').setValue(null);
- Ext4.getCmp('packageType').setValue(null);
-
- //如果装配界面的配包/审核人是否默认为上一次装配的配包/审核人配置为false,则装配完后需要重新清空
- if(packingPageOperatorDefaultLastOperator == false){
- Ext4.getCmp('operator').setValue('');
- }
- if(packingPageReviewerDefaultLastReviewer == false){
- Ext4.getCmp('reviewer').setValue('');
- }
+ packing = true;
+ packingTousseBtnClick();
}
+ },
+ {
+ xtype:'button',
+ id :"packingLableBtn",
+// hidden: !sstsConfig.showPackingGoodsBtn || sstsConfig.printLabelWhenReviewing,
+ hidden: !sstsConfig.showPackingGoodsBtn,
+ text:'' + '装配物品' + '',
+ handler : function() {
+ packing = false;
+ packingTousseBtnClick();
+ }
}
]
});
@@ -1779,6 +1577,8 @@
function showPackButton(isPrint,isReview,tousseType){
var packButton = Ext4.getCmp('save_print');
packButton.show();
+ var packingLableBtn = Ext4.getCmp('packingLableBtn');
+ packingLableBtn.show();
if (isPrint == '是'){
packButton.setText('' + packingBtnText + '');
}
@@ -2021,7 +1821,229 @@
return true;
}
+var packing = false;
+// 装配按钮调用
+function packingTousseBtnClick(){
+ if(packing){
+ packingToussesArray = []; // 清除所装配的器械包数组
+ packedToussesArray = [];
+ tousseesToPrint = [];
+ }
+
+
+ // 首先处理标识牌的打印
+ var scanScanIDCardBarcode = Ext4.getCmp('scanIdCardBarcode');
+ if(scanScanIDCardBarcode.isVisible(true)){
+ printIDCardTousse();
+ return;
+ }
+
+ if(!validateFormParamsForPack()){
+ return;
+ }
+
+ var basketTree = Ext4.getCmp('basketTreeGrid');
+ var waitPackingTreeGrid = Ext4.getCmp('waitPackingTreeGrid');
+ var selNodes = basketTree.getView().getChecked();
+ var selLength = selNodes.length;
+ if(selLength > 0){
+ //格式[{tousseName:"",amount:1,packed:true,taskItems:[{taskId:11,amount:20},{taskId:12,amount:30}]},{tousseName:"",amount:1,packed:true,taskItems:[{taskId:11,amount:20},{taskId:12,amount:30}]}]
+ var delBasketItems = new Array();
+ //遍历器械包节点
+ Ext4.each(selNodes, function(pNode){
+ var pTousseName = pNode.get('tousseName');
+ var haveIDCard = pNode.get('haveIDCard');
+ // 跳过有标识牌的器械包
+ if(haveIDCard){
+ return;
+ }
+ //器械包装配数量
+ var packingAmount = pNode.get('amount');
+ if(packingAmount <= 0){
+ return;
+ }
+
+ //{tousseName:"",amount:1,packed:true,taskItems:[{taskId:11,amount:20},{taskId:12,amount:30}]}
+ var basketItem = {};
+ basketItem.tousseName = pTousseName;
+ basketItem.amount = 0;
+ basketItem.packed = false;
+ var dl = delBasketItems.length;
+ delBasketItems[dl] = basketItem;
+
+ var taskItemArray = new Array();
+ basketItem.taskItems = taskItemArray;
+
+ var taskIdArray = [];
+ var basketBarcode;
+ var tousseName;
+ var tousseType;
+ var packageType;
+ var sterilingType;
+ var supplierName;
+ var damages;
+ var errors;
+ var department;
+ var departmentArray = [];
+ var status;
+ //遍历器械包下的每条装配任务数据
+ Ext4.each(pNode.childNodes,function(cNode){
+ tousseName = cNode.get("tousseName");
+ status = cNode.get("status");
+ basketBarcode = cNode.get("basketBarcode");
+ var taskId = cNode.get("taskId");
+
+ var amount = cNode.get("amount");
+ if(amount > packingAmount){
+ amount = packingAmount;
+ }
+ packageType = cNode.get("packageType");
+ if(packageType == "" || selLength == 1){
+ packageType = Ext4.getCmp('packageType').getValue();
+ }
+ sterilingType = cNode.get("sterilingMethod");
+ if(sterilingType == "" || selLength == 1){
+ sterilingType = Ext4.getCmp('sterilingType').getValue();
+ }
+ tousseType = cNode.get("tousseType");
+ supplierName = cNode.get("supplierName");
+ damages = cNode.get("damages");
+ errors = cNode.get("errors");
+ department = cNode.get("department");
+ departmentArray.push(department);
+
+ if(status == '待确认'){
+ showResult(tousseName+",有器械丢失,请确认!");
+ return;
+ }
+
+ if(errors != null && errors.length > 0){
+ showResult("材料缺失,不够组成器械包,请补充缺失器械!");
+ return;
+ }
+ if(damages != null && damages.length > 0){
+ showResult("材料已报损,不够组成器械包,请补充报损器械!");
+ return;
+ }
+
+ if(packingAmount > 0){
+ taskIdArray.push(taskId);
+ packingAmount -= amount;
+ basketItem.amount += amount;
+ basketItem.packed = true;
+ var ti = taskItemArray.length;
+ taskItemArray[ti] = {};
+ taskItemArray[ti].taskId = taskId;
+ taskItemArray[ti].amount = amount;
+ }
+ });
+ if(packingAmount > 0){
+ showResult(tousseName + "需装配数量已超过该器械包所有装配任务数量之和.");
+ delBasketItems.splice(dl,1);//删除
+ return;
+ }
+ //请求后台装配方法
+ packingTousse(false,basketBarcode,taskIdArray.join(";"),tousseName,tousseType,pNode.get('amount'),packageType,sterilingType,supplierName,departmentArray.join(";"),pNode.get('urgentAmount'));
+ });
+ // 一次打印
+ printLabelsAfterPacking();
+ //删除篮筐内物品
+ deleteBasketItems(delBasketItems);
+ //打印后去掉选中的钩
+ if(selLength > 0){
+ Ext4.each(selNodes, function(pNode){
+ pNode.set("checked", false);
+ });
+ }
+ //刷新待装配列表
+ waitPackingTreeGrid.getStore().reload();
+ }else{
+ //不回收的物品
+ var isShow = Ext4.getCmp('save_print').isVisible();
+ if(isShow){
+ //选择统计的敷料包选项全打印
+ var selNodes = waitPackingTreeGrid.getView().getChecked();
+ var selLength = selNodes.length;
+ Ext4.each(selNodes, function(pNode) {
+ if(pNode.get('taskType') == taskType_recyclingRecord){
+ return true;//在each(jquery、ext都如此)循环中,return true表示continue,return false表示break
+ }
+ var packingAmount = pNode.get('amount');
+ var urgentAmount = pNode.get("urgentAmount");
+
+ var taskIdArray = [];
+ var tousseName;
+ var tousseType;
+ var packageType;
+ var sterilingType;
+ var supplierName;
+ var department;
+ var departmentArray = [];
+ var status;
+
+ Ext4.each(pNode.childNodes, function(cNode) {
+ if(packingAmount <= 0){
+ return;
+ }
+ tousseName = cNode.get("tousseName");
+ var haveIDCard = pNode.get('haveIDCard');
+ // 跳过有标识牌的器械包
+ if(haveIDCard){
+ showResult("【"+tousseName+"】启用了标识牌,需扫描标识牌装配。或者禁用该器械包的标识牌后装配!");
+ return;
+ }
+ var status = cNode.get("status");
+ if(status == '待确认'){
+ showResult("【"+tousseName+"】有器械丢失,请先确认!");
+ return false;
+ }
+ var taskId = cNode.get("taskId");
+ var amount = cNode.get("amount");
+ if(amount > packingAmount){
+ amount = packingAmount;
+ }
+ packageType = cNode.get("packageType");
+ if(selLength == 1){
+ packageType = Ext4.getCmp('packageType').getValue();
+ }
+ sterilingType = cNode.get("sterilingMethod");
+ if(selLength == 1){
+ sterilingType = Ext4.getCmp('sterilingType').getValue();
+ }
+ tousseType = cNode.get("tousseType");
+ supplierName = cNode.get("supplierName");
+ department = cNode.get("department");
+ departmentArray.push(department);
+
+ if(packingAmount > 0){
+ taskIdArray.push(taskId);
+ packingAmount -= amount;
+ }
+ });
+
+ packingTousse(false,'',taskIdArray.join(";"),tousseName,tousseType,pNode.get('amount'),packageType,sterilingType,supplierName,departmentArray.join(";"),urgentAmount);
+
+ });
+ // 一次打印
+ printLabelsAfterPacking();
+ waitPackingTreeGrid.getStore().reload();
+ }else{
+ showResult('请选择要打印的行!');
+ }
+ }
+ Ext4.getCmp('sterilingType').setValue(null);
+ Ext4.getCmp('packageType').setValue(null);
+
+ //如果装配界面的配包/审核人是否默认为上一次装配的配包/审核人配置为false,则装配完后需要重新清空
+ if(packingPageOperatorDefaultLastOperator == false){
+ Ext4.getCmp('operator').setValue('');
+ }
+ if(packingPageReviewerDefaultLastReviewer == false){
+ Ext4.getCmp('reviewer').setValue('');
+ }
+
+}
// 装配器械包
function packingTousse(printImmediately,basketBarcode,taskIds,tousseName,tousseType,packAmount,packageType,sterilingType,supplierName,department,urgentAmount){
if(!validateFormParamsForPack()){
@@ -2177,7 +2199,7 @@
// tousseesToPrint.push(tousses[i]);
// }
// 现在不打印标签
- if (isPrintLabelNow == false ){
+ if (isPrintLabelNow == false || !packing){
showResult(packAmount + "个" + showName + "装配完成");
}
// 现在打印标签
@@ -2197,6 +2219,9 @@
Ext4.getCmp("idCardBarcode").setValue('');
}
function printLabelsAfterPacking(){
+ if(!packing){
+ return;
+ }
var packAmount = packedToussesArray.length;
// showResult(packAmount + "个" + showName + "装配完成");
var printGroupType = Ext4.getCmp('printGroupType').getValue();
@@ -2511,6 +2536,7 @@
}else{
Ext4.getCmp('save_print').hide();
+ Ext4.getCmp('packingLableBtn').hide();
}
var isLeaf = record.get('leaf');
if(!isLeaf){