Index: ssts-web/src/main/webapp/disinfectsystem/packing/packingView.js
===================================================================
diff -u -r29454 -r29512
--- ssts-web/src/main/webapp/disinfectsystem/packing/packingView.js (.../packingView.js) (revision 29454)
+++ ssts-web/src/main/webapp/disinfectsystem/packing/packingView.js (.../packingView.js) (revision 29512)
@@ -144,19 +144,29 @@
function checkedAllNode(checked){
var rootNode = Ext4.getCmp('basketTreeGrid').getRootNode();
if(rootNode != null){
- rootNode.eachChild(function(node){
-// node.set('checked',checked);
- node.data.checked = checked;
- });
+ Ext4.each(rootNode.childNodes, function(pNode){
+ pNode.set('checked',checked);
+ if(pNode.childNodes && pNode.childNodes.length > 0){
+ Ext4.each(pNode.childNodes, function(lastNode){
+ lastNode.set('checked',checked)
+ });
+ }
+ });
}
+
Ext4.getCmp('basketTreeGrid').getView().refresh();
}
function checkAllWaitPackingTaskNode(checked){
var rootNode = Ext4.getCmp('waitPackingTreeGrid').getRootNode();
if(rootNode != null){
- rootNode.eachChild(function(node){
- node.data.checked = checked;
- });
+ Ext4.each(rootNode.childNodes, function(pNode){
+ pNode.set('checked',checked);
+ if(pNode.childNodes && pNode.childNodes.length > 0){
+ Ext4.each(pNode.childNodes, function(lastNode){
+ lastNode.set('checked',checked)
+ });
+ }
+ });
}
Ext4.getCmp('waitPackingTreeGrid').getView().refresh();
}
@@ -828,7 +838,7 @@
renderer: function(v,p,record,rowIndex, columnIndex, store,view){
p.style='word-wrap: break-word !important;';
var tousseName = record.get('tousseName');
- var showName = tousseName;
+ var showName = '' + tousseName + '';
if(record.get('taskType') == taskType_application || record.get('taskType') == taskType_returnGoods
|| record.get('taskType') == taskType_qualityMonitor){
showName = '
' + showName;
@@ -847,7 +857,7 @@
}else if(record.get("packageSize") == "小包"){
showName = '' + showName + '';
}
- }
+ }
return showName;
}
},{
@@ -1074,18 +1084,29 @@
clicksToEdit: 1,
listeners: {
beforeedit: function(editor, context, eOpts){
- var record = context.record;
- var isLeaf = record.get('leaf');
- if(isLeaf){
+ var record = context.record;
+ if(record.data.errors.length > 0 || record.data.damages.length > 0){
return false;
}
},
afteredit:function(editor, context, eOpts){
var record = context.record;
- var unPackingAmount = record.get('unPackingAmount');
- if(unPackingAmount < context.value){
- showResult(record.get('tousseName') + ",装配数量不能大于"+unPackingAmount , null , sstsConfig.messagePauseTimeOnPackingPage);
- record.set('amount',unPackingAmount);
+ if(record.get('leaf')){
+ var unPackingAmount = record.parentNode.get('unPackingAmount');
+ var sum = 0;
+ Ext4.each(record.parentNode.childNodes, function(pNode) {
+ sum += parseInt(pNode.get('amount'));
+ });
+ if(sum > unPackingAmount){
+ showResult(record.get('tousseName') + ",装配数量不能大于"+unPackingAmount , null , sstsConfig.messagePauseTimeOnPackingPage);
+ record.set('amount',context.originalValue);
+ }
+ }else {
+ var unPackingAmount = record.get('unPackingAmount');
+ if(unPackingAmount < context.value){
+ showResult(record.get('tousseName') + ",装配数量不能大于"+unPackingAmount , null , sstsConfig.messagePauseTimeOnPackingPage);
+ record.set('amount',unPackingAmount);
+ }
}
}
}
@@ -3128,9 +3149,14 @@
var damages = taskNode.get("damages");
var errors = taskNode.get("errors");
var department = taskNode.get("department");
- var urgentAmount = taskNode.get("urgentAmount");
+ var urgentAmount = taskNode.get("urgentAmount");
+ var taskIdToAmountMapInfo = [{
+ taskId:taskId,
+ amount:amount,
+ errorDamageAmount:0
+ }]
// 装配
- packed = packingTousse(false,basketBarcode,basketBarcode,taskId,tousseName,tousseType,1,packageType,sterilingType,supplierName,department,urgentAmount);
+ packed = packingTousse(false,basketBarcode,basketBarcode,taskId,tousseName,tousseType,1,packageType,sterilingType,supplierName,department,urgentAmount,JSON.stringify(taskIdToAmountMapInfo));
if(packed){
addTaskItemsToDelete(tousseItemsToDelete,tousseName,taskId,1);
Ext4.getCmp('remark').setValue();
@@ -3432,11 +3458,20 @@
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 delBasketItems = new Array();
+ var map = {},dest = [];
+ Ext4.each(selNodes, function(pNode){
+ if(pNode.childNodes.length == 0){
+ var ai = pNode;
+ if(!map[ai.get('tousseID')]){
+ dest.push(ai.parentNode);
+ map[ai.get('tousseID')] = ai;
+ }
+ }
+ });
+ for(var i=0;i packingAmount){
- amount = packingAmount;
- }
- packageType = cNode.get("packageType");
- sterilingType = cNode.get("sterilingMethod");
- if(selLength == 1){
- sterilingType = Ext4.getCmp('sterilingType').getValue();
- packageType = Ext4.getCmp('packageType').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+",有器械丢失,请确认!" , null , sstsConfig.messagePauseTimeOnPackingPage);
- return;
- }
-
- if(!allowPackingWhenUnSupplementMaterial){
- if(errors != null && errors.length > 0){
- showResult("材料缺失,不够组成器械包,请补充缺失器械!" , null , sstsConfig.messagePauseTimeOnPackingPage);
- return;
- }
- if(damages != null && damages.length > 0){
- showResult("材料已报损,不够组成器械包,请补充报损器械!" , null , sstsConfig.messagePauseTimeOnPackingPage);
- return;
- }
- }
-
- if(packingAmount > 0){
- taskIdArray.push(taskId);
- scannedBasketBarcodes.push(basketBarcode);
- packingAmount -= amount;
- basketItem.amount += amount;
- basketItem.packed = true;
- var ti = taskItemArray.length;
- taskItemArray[ti] = {};
- taskItemArray[ti].taskId = taskId;
- taskItemArray[ti].amount = amount;
- }
+ Ext4.each(selNodes,function(cNode){
+ if(cNode.get("tousseName") == pTousseName && cNode.childNodes.length == 0){
+ tousseName = cNode.get("tousseName");
+ status = cNode.get("status");
+ basketBarcode = cNode.get("basketBarcode");
+ var taskId = cNode.get("taskId");
+ var amount = cNode.get("amount");
+ packageType = cNode.get("packageType");
+ sterilingType = cNode.get("sterilingMethod");
+ if(selLength == 1){
+ sterilingType = Ext4.getCmp('sterilingType').getValue();
+ packageType = Ext4.getCmp('packageType').getValue();
+ }
+ tousseType = cNode.get("tousseType");
+ supplierName = cNode.get("supplierName");
+ damages = cNode.get("damages");
+ errors = cNode.get("errors");
+ department = cNode.get("department");
+ if(status == '待确认'){
+ showResult(tousseName+",有器械丢失,请确认!" , null , sstsConfig.messagePauseTimeOnPackingPage);
+ return;
+ }
+ var errorDamageAmount = 0;
+ var errorOrDamageAmount = 0;
+ if(!allowPackingWhenUnSupplementMaterial){
+ if(errors != null && errors.length > 0){
+ showResult("材料缺失,不够组成器械包,请补充缺失器械!" , null , sstsConfig.messagePauseTimeOnPackingPage);
+ return;
+ }
+ if(damages != null && damages.length > 0){
+ showResult("材料已报损,不够组成器械包,请补充报损器械!" , null , sstsConfig.messagePauseTimeOnPackingPage);
+ return;
+ }
+ }else {
+ for(var i=0;i 0){
+ errorOrDamageAmount = amount;
+ }
+ if(taskIdArray.indexOf(taskId) == -1){
+ departmentArray.push(department);
+ taskIdArray.push(taskId);
+ scannedBasketBarcodes.push(basketBarcode);
+ basketItem.amount += amount;
+ basketItem.packed = true;
+ var ti = taskItemArray.length;
+ taskItemArray[ti] = {};
+ taskItemArray[ti].taskId = taskId;
+ taskItemArray[ti].amount = amount;
+ }
+
+ taskIdToAmountMapInfo.push({
+ taskId:taskId,
+ amount:amount,
+ errorDamageAmount:errorDamageAmount
+ })
+
+ parentAmout += parseInt(amount);
+ }
});
- if(packingAmount > 0){
- showResult(tousseName + "需装配数量已超过该器械包所有装配任务数量之和." , null , sstsConfig.messagePauseTimeOnPackingPage);
- delBasketItems.splice(dl,1);//删除
- return;
+ var taskIdMap = {};
+ var taskIdDest = [];
+ for(var i=0;i 0){
+ scanBasketBarcodes(basketBarcodeArr2[basketBarcodeArr2.length-1]);
+ }
//打印后去掉选中的钩
if(selLength > 0){
Ext4.each(selNodes, function(pNode){
@@ -3552,12 +3622,25 @@
//选择统计的敷料包选项全打印
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 map = {},dest = [];
+ var parentAmout = 0;
+ Ext4.each(selNodes, function(pNode){
+ if(pNode.childNodes.length == 0){
+ var ai = pNode;
+ if(!map[ai.get('tousseID')]){
+ dest.push(ai.parentNode);
+ map[ai.get('tousseID')] = ai;
+ }
+ }
+ });
+ for(var i=0;i 0){
+ taskIdArray.push(taskId);
+ packingAmount -= amount;
+ }
+
+ taskIdToAmountMapInfo.push({
+ taskId:taskId,
+ amount:amount,
+ errorDamageAmount:0
+ })
+ parentAmout += amount;
}
- var status = cNode.get("status");
- if(status == '待确认'){
- showResult("【"+tousseName+"】有器械丢失,请先确认!" , null , sstsConfig.messagePauseTimeOnPackingPage);
- return false;
- }
- var taskId = cNode.get("taskId");
- var amount = cNode.get("amount");
- if(amount > packingAmount){
- amount = packingAmount;
- }
- packageType = cNode.get("packageType");
- if(useManualSelectPackageType()){
- packageType = Ext4.getCmp('packageType').getValue();
- }
-// alert('useManualSelectPackageType='+useManualSelectPackageType());
- sterilingType = cNode.get("sterilingMethod");
- if(isUndefinedOrNullOrEmpty(sterilingType) || useManualSelectPackageType()){
- 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);
-
- });
+ })
+ packingTousse(false,'','',taskIdArray.join(";"),tousseName,tousseType,pNode.get('amount'),packageType,sterilingType,supplierName,departmentArray.join(";"),urgentAmount,JSON.stringify(taskIdToAmountMapInfo));
+ }
// 一次打印
printLabelsAfterPacking();
waitPackingTreeGrid.getStore().reload();
@@ -3639,7 +3723,7 @@
onPackingTousseBtnClickComplete();
}
// 装配器械包
-function packingTousse(printImmediately,basketBarcode,scannedBasketBarcodes,taskIds,tousseName,tousseType,packAmount,packageType,sterilingType,supplierName,department,urgentAmount){
+function packingTousse(printImmediately,basketBarcode,scannedBasketBarcodes,taskIds,tousseName,tousseType,packAmount,packageType,sterilingType,supplierName,department,urgentAmount,taskIdToAmountMapInfo){
if(!validateFormParamsForPack()){
return false;
}
@@ -3737,12 +3821,12 @@
tousseWeight: tousseWeight,
remark: remark,
errorDamageRemarkInfo:errorDamageRemarkInfo,
+ taskIdToAmountMapInfo:taskIdToAmountMapInfo,
websocketSessionId : getWebsocketSessionId()
}
if(errorDamageRemarkId !== '' && errorDamageRemarkId !== 0){
params.errorDamageRemarkId = errorDamageRemarkId;
}
-
// DWREngine.setAsync(false);
// // 调用服务端的装配器械包的代码
// PackingTableManager.packingTousse2(JSON.stringify(params),function(rs){
@@ -4095,6 +4179,238 @@
}
}
+//扫描篮筐条码
+function scanBasketBarcodes(basketBarcode){
+ var myMask = new Ext4.LoadMask({msg:"正在加载,请稍候...",target:Ext4.getCmp('basketTreeGrid')});
+ myMask.show();
+ Ext4.Ajax.request({
+ url : WWWROOT + '/disinfectSystem/packingAction!loadPackingTaskByBasketBarCode.do',
+ params : {
+ basketBarcode : basketBarcode,
+ taskGroup:taskGroup
+ },
+ success : function(result){
+ myMask.destroy();
+ Ext4.getCmp('basketBarcodeInput').setValue('');
+ var jsonObj = Ext4.JSON.decode(result.responseText);
+ if(!jsonObj.success){
+ showResult(jsonObj.message , null , sstsConfig.messagePauseTimeOnPackingPage);
+ return;
+ }
+ var taskList = jsonObj.data;
+ var nLength = taskList?taskList.length:0;
+
+ if(jsonObj.notWashedInfo !== ''){
+ showResult(jsonObj.notWashedInfo);
+ }else {
+ if(nLength == 0){
+ showResult('该篮筐在'+taskGroup+'内无装配任务!' , null , sstsConfig.messagePauseTimeOnPackingPage);
+ }
+ }
+
+ var speakBasket = new SpeakBasket();
+
+ for(var n = 0;n < nLength; n++){
+ var taskVO = taskList[n];
+ var td_id = taskVO.tousseID;
+ var videoNames = taskVO.uuid_vedioNames;
+ var tousseName = taskVO.tousseName;
+ var amount = taskVO.amount;
+ var urgentAmount = taskVO.urgentAmount;
+ var tousseType = taskVO.tousseType;
+ var packageType = taskVO.packageType;
+ //var packageSize = taskVO.packageSize;
+
+ var sterilingMethod = taskVO.sterilingMethod;
+ var isTraceable = taskVO.isTraceable;
+ var isPrint = taskVO.isPrint;
+ var isReview = taskVO.isReview;
+ var rMaterils = taskVO.replenishMaterils;
+ var rootNode = basketStore.getRootNode();
+ var haveIDCard = taskVO.haveIDCard;
+ var errorRemark = taskVO.errorRemark;
+ var damageRemark = taskVO.damageRemark;
+
+ var parentNode = null;
+ rootNode.cascade(function(n) {
+ if(!n.get('leaf') && n.get('tousseName') == tousseName){
+ parentNode = n;
+ }
+ });
+ var newParentNode = false;
+ var checked = false;
+ if(parentNode == null){
+ if(n == 0){
+ checked = true;
+ }
+ var params = {
+ taskId:'',
+ td_id:td_id,
+ invoicePlanId:'',
+ videoNames:videoNames,
+ tousseName:tousseName,
+ amount:0,
+ washTime:'',
+ basketBarcode:'',
+ basketName:'',
+ taskStatus:'',
+ department:'',
+ tousseType1:tousseType,
+ packageType:packageType,
+ packageSize:'',
+ sterilingMethod:sterilingMethod,
+ dateTime:'',
+ isTraceable:isTraceable,
+ isPrint:isPrint,
+ isReview:isReview,
+ errors:'',
+ damages:'',
+ replenishMaterils:rMaterils,
+ taskType:'',
+ supplierName:'',
+ haveIDCard:haveIDCard,
+ childUrgentAmount:urgentAmount,
+ idCardBarcode:taskVO.idCardBarcode,
+ allowModifyPackageType:taskVO.allowModifyPackageType,
+ errorRemark:taskVO.errorRemark,
+ damageRemark:taskVO.damageRemark,
+ urgentLevel:taskVO.urgentLevel,
+ serialNumber:'',
+ recyclingItemRemark:'',
+ cleaned:taskVO.cleaned,
+ note:taskVO.note,
+ urgentLevelObj:taskVO.urgentLevelObj,
+ colorCode:taskVO.colorCode,
+ errorDamageRemarkId:'',
+ errorDamageRemarkInfo:''
+ }
+ parentNode = addTaskNode(params);
+ newParentNode = true;
+ }else{
+ var uamountStr = parentNode.get('urgentAmount');
+ if(isNumeric(urgentAmount)){
+ if(isNumeric(uamountStr)){
+ parentNode.set('urgentAmount',parseInt(uamountStr) + parseInt(urgentAmount));
+ }else{
+ parentNode.set('urgentAmount',urgentAmount);
+ }
+ }
+ var errorRemark = parentNode.get('errorRemark');
+ var damageRemark = parentNode.get('damageRemark');
+ errorRemark = errorRemark ? errorRemark + ";" + taskVO.errorRemark:taskVO.errorRemark;
+ damageRemark = damageRemark ? damageRemark + ";" + taskVO.damageRemark:taskVO.damageRemark;
+ parentNode.set('errorRemark',errorRemark);
+ parentNode.set('damageRemark',damageRemark);
+ }
+ var cLength = taskVO.children.length;
+
+ var haveForeignTousseNode = false;
+
+ var childNodes = parentNode.childNodes;
+ var childNodeLength = childNodes.length;
+ for (var j = 0; j < cLength; j++) {
+ var task = taskVO.children[j];
+ var taskId = task.taskId;
+ var invoicePlanId = task.invoicePlanId;
+ var tousseName = task.tousseName;
+ var amount = task.amount;
+ var childUrgentAmount = task.urgentAmount;
+ var washTime = task.washTime;
+ var basketBarcode = task.basketBarcode;
+ var basketName = task.basketName;
+ var taskStatus = task.status;
+ var dateTime = task.dateTime;
+ var department = task.department;
+ var isTraceable = task.isTraceable;
+ var isPrint = task.isPrint;
+ var isReview = task.isReview;
+ var errors = task.errors;
+ var damages = task.damages;
+ var replenishMaterils = task.replenishMaterils;
+ var taskType = task.taskType;
+ var supplierName = task.supplierName;
+ var packageSize = task.packageSize;
+ if(task.tousseType == '外来器械包'){
+ haveForeignTousseNode = true;
+ }
+
+ var sigle = true;
+ speakBasket.addGoods(basketName, tousseName, amount);
+ for (var m = 0; m < childNodeLength; m++) {
+ var cNode = childNodes[m];
+ if(cNode.get('taskId') == taskId){
+ sigle = false;
+ if(haveForeignTousseNode && allowForeignToussePartiallyPacking){
+ var cNodeBasketName = cNode.get('basketName');
+ var cNodeBasketBarcode = cNode.get('basketBarcode');
+ var basketBarcodeArr = cNodeBasketBarcode.split(';');
+ if(!Ext4.Array.contains(basketBarcodeArr,basketBarcode)){
+ cNode.set('basketName',cNodeBasketName+';'+basketName);
+ cNode.set('basketBarcode',cNodeBasketBarcode+';'+basketBarcode);
+ }
+ }
+ break;
+ }
+ }
+ if(sigle){
+ task.td_id = td_id;
+ task.videoNames = videoNames;
+ task.tousseType1 = tousseType;
+ task.packageType = packageType;
+ task.sterilingMethod = sterilingMethod;
+ var childNode = addTaskNode(task);
+ parentNode.appendChild(childNode);
+ var pNewAmount = parentNode.get('amount') + amount;
+ parentNode.set('amount',pNewAmount);
+ parentNode.set('unPackingAmount',pNewAmount);
+ }
+ }
+ if(newParentNode){
+ rootNode.appendChild(parentNode);
+ //外来器械默认展开节点
+ if(haveForeignTousseNode){
+ parentNode.expand();
+ }
+ }
+ if(sstsConfig.packingView_autoSelectTousseWhenScanBasket && checked){
+ basketColumnTreeGrid.getView().fireEvent('itemClick','',parentNode,'','');
+ Ext4.getCmp('basketBarcodeInput').focus('', 10);
+ }
+ }
+ var root = basketStore.getRootNode();
+ var tousseNameMaxLenArray = [];
+ var basketNameMaxLenArray = [];
+ var k = 0;
+ for(var i=0;i 0){
+ var tousseNameMaxLenght = Math.max.apply(null,tousseNameMaxLenArray);
+ basketColumnTreeGrid.headerCt.getGridColumns()[0].setWidth(tousseNameMaxLenght+90);
+ }
+ if(basketNameMaxLenArray.length > 0){
+ var basketNameMaxLenght = Math.max.apply(null,basketNameMaxLenArray);
+ if(basketNameMaxLenght !== 0){
+ basketColumnTreeGrid.headerCt.getGridColumns()[4].setWidth(basketNameMaxLenght+30);
+ }
+ }
+ speakBasket.speakContent();
+ },
+ failure : function(){myMask.hide();}
+ });
+}
+
basketColumnTreeGrid = Ext4.create('columnTreeGrid', {
id : 'basketTreeGrid',
height: (document.body.clientHeight - 30)/2,
@@ -4113,7 +4429,7 @@
var isReview = record.get('isReview');
var vedioName = record.get('uuid_vedioNames');
var td_id = (record.get('tousseID') == '')?record.raw.td_id:record.get('tousseID');
- updateNoteWindow(record);
+ updateNoteWindow(td_id);
loadTousseInfo(tousseName,imageType_tousse,vedioName,td_id,isTraceable);
lastSelectTousseName = tousseName;
lastSelectimageTypeTousse = imageType_tousse;
@@ -4157,18 +4473,15 @@
var root = basketStore.getRootNode();
var tousseNameMaxLenArray = [];
var basketNameMaxLenArray = [];
- var k = 0;
- for(var i=0;i 0){
var tousseNameMaxLenght = Math.max.apply(null,tousseNameMaxLenArray);
this.headerCt.getGridColumns()[0].setWidth(tousseNameMaxLenght+90);
@@ -4182,15 +4495,30 @@
}
},
checkchange:function( node, checked, eOpts ){
- showNoteWindow(node, checked);
- resetScanIDCardBarcodeVisibility(node);
- // 显示丢失报损按钮
- showOrHideErrorAndDamageBtn();
- setPackageTypeReadOnlyByCondition();
- clearRemarkByCondition();
- if(!checked){
- deselectCheckAll();
- }
+ if(!node.get('leaf')){
+ Ext4.each(node.childNodes, function(pNode){
+ pNode.set("checked", checked);
+ });
+ }else {
+ var checkedArray = [];
+ Ext4.each(node.parentNode.childNodes, function(pNode){
+ checkedArray.push(pNode.get("checked"));
+ });
+ if(checkedArray.indexOf(false) == -1){
+ node.parentNode.set('checked',true);
+ }else {
+ node.parentNode.set('checked',false);
+ }
+ }
+ showNoteWindow(node, checked);
+ resetScanIDCardBarcodeVisibility(node);
+ // 显示丢失报损按钮
+ showOrHideErrorAndDamageBtn();
+ setPackageTypeReadOnlyByCondition();
+ clearRemarkByCondition();
+ if(!checked){
+ deselectCheckAll();
+ }
},
itemcontextmenu : taskItemMenu
},
@@ -4215,231 +4543,7 @@
return;
}
basketBarcodeArr2.push(basketBarcode);
- var myMask = new Ext4.LoadMask({msg:"正在加载,请稍候...",target:Ext4.getCmp('basketTreeGrid')});
- myMask.show();
- Ext4.Ajax.request({
- url : WWWROOT + '/disinfectSystem/packingAction!loadPackingTaskByBasketBarCode.do',
- params : {
- basketBarcode : basketBarcode,
- taskGroup:taskGroup
- },
- success : function(result){
- myMask.destroy();
- Ext4.getCmp('basketBarcodeInput').setValue('');
- var jsonObj = Ext4.JSON.decode(result.responseText);
- if(!jsonObj.success){
- showResult(jsonObj.message , null , sstsConfig.messagePauseTimeOnPackingPage);
- return;
- }
- var taskList = jsonObj.data;
- var nLength = taskList?taskList.length:0;
-
- if(jsonObj.notWashedInfo !== ''){
- showResult(jsonObj.notWashedInfo);
- }else {
- if(nLength == 0){
- showResult('该篮筐在'+taskGroup+'内无装配任务!' , null , sstsConfig.messagePauseTimeOnPackingPage);
- }
- }
-
- var speakBasket = new SpeakBasket();
-
- for(var n = 0;n < nLength; n++){
- var taskVO = taskList[n];
- var td_id = taskVO.tousseID;
- var videoNames = taskVO.uuid_vedioNames;
- var tousseName = taskVO.tousseName;
- var amount = taskVO.amount;
- var urgentAmount = taskVO.urgentAmount;
- var tousseType = taskVO.tousseType;
- var packageType = taskVO.packageType;
- //var packageSize = taskVO.packageSize;
-
- var sterilingMethod = taskVO.sterilingMethod;
- var isTraceable = taskVO.isTraceable;
- var isPrint = taskVO.isPrint;
- var isReview = taskVO.isReview;
- var rMaterils = taskVO.replenishMaterils;
- var rootNode = basketStore.getRootNode();
- var haveIDCard = taskVO.haveIDCard;
- var errorRemark = taskVO.errorRemark;
- var damageRemark = taskVO.damageRemark;
-
- var parentNode = null;
- rootNode.cascade(function(n) {
- if(!n.get('leaf') && n.get('tousseName') == tousseName){
- parentNode = n;
- }
- });
- var newParentNode = false;
- var checked = false;
- if(parentNode == null){
- if(n == 0){
- checked = true;
- }
- var params = {
- taskId:'',
- td_id:td_id,
- invoicePlanId:'',
- videoNames:videoNames,
- tousseName:tousseName,
- amount:0,
- washTime:'',
- basketBarcode:'',
- basketName:'',
- taskStatus:'',
- department:'',
- tousseType1:tousseType,
- packageType:packageType,
- packageSize:'',
- sterilingMethod:sterilingMethod,
- dateTime:'',
- isTraceable:isTraceable,
- isPrint:isPrint,
- isReview:isReview,
- errors:'',
- damages:'',
- replenishMaterils:rMaterils,
- taskType:'',
- supplierName:'',
- haveIDCard:haveIDCard,
- childUrgentAmount:urgentAmount,
- idCardBarcode:taskVO.idCardBarcode,
- allowModifyPackageType:taskVO.allowModifyPackageType,
- errorRemark:taskVO.errorRemark,
- damageRemark:taskVO.damageRemark,
- urgentLevel:taskVO.urgentLevel,
- serialNumber:'',
- recyclingItemRemark:'',
- cleaned:taskVO.cleaned,
- note:taskVO.note,
- urgentLevelObj:taskVO.urgentLevelObj,
- colorCode:taskVO.colorCode,
- errorDamageRemarkId:'',
- errorDamageRemarkInfo:''
- }
- parentNode = addTaskNode(params);
- newParentNode = true;
- }else{
- var uamountStr = parentNode.get('urgentAmount');
- if(isNumeric(urgentAmount)){
- if(isNumeric(uamountStr)){
- parentNode.set('urgentAmount',parseInt(uamountStr) + parseInt(urgentAmount));
- }else{
- parentNode.set('urgentAmount',urgentAmount);
- }
- }
- var errorRemark = parentNode.get('errorRemark');
- var damageRemark = parentNode.get('damageRemark');
- errorRemark = errorRemark ? errorRemark + ";" + taskVO.errorRemark:taskVO.errorRemark;
- damageRemark = damageRemark ? damageRemark + ";" + taskVO.damageRemark:taskVO.damageRemark;
- parentNode.set('errorRemark',errorRemark);
- parentNode.set('damageRemark',damageRemark);
- }
- var cLength = taskVO.children.length;
-
- var haveForeignTousseNode = false;
-
- var childNodes = parentNode.childNodes;
- var childNodeLength = childNodes.length;
- for (var j = 0; j < cLength; j++) {
- var task = taskVO.children[j];
- var taskId = task.taskId;
- var invoicePlanId = task.invoicePlanId;
- var tousseName = task.tousseName;
- var amount = task.amount;
- var childUrgentAmount = task.urgentAmount;
- var washTime = task.washTime;
- var basketBarcode = task.basketBarcode;
- var basketName = task.basketName;
- var taskStatus = task.status;
- var dateTime = task.dateTime;
- var department = task.department;
- var isTraceable = task.isTraceable;
- var isPrint = task.isPrint;
- var isReview = task.isReview;
- var errors = task.errors;
- var damages = task.damages;
- var replenishMaterils = task.replenishMaterils;
- var taskType = task.taskType;
- var supplierName = task.supplierName;
- var packageSize = task.packageSize;
- if(task.tousseType == '外来器械包'){
- haveForeignTousseNode = true;
- }
-
- var sigle = true;
- speakBasket.addGoods(basketName, tousseName, amount);
- for (var m = 0; m < childNodeLength; m++) {
- var cNode = childNodes[m];
- if(cNode.get('taskId') == taskId){
- sigle = false;
- if(haveForeignTousseNode && allowForeignToussePartiallyPacking){
- var cNodeBasketName = cNode.get('basketName');
- var cNodeBasketBarcode = cNode.get('basketBarcode');
- var basketBarcodeArr = cNodeBasketBarcode.split(';');
- if(!Ext4.Array.contains(basketBarcodeArr,basketBarcode)){
- cNode.set('basketName',cNodeBasketName+';'+basketName);
- cNode.set('basketBarcode',cNodeBasketBarcode+';'+basketBarcode);
- }
- }
- break;
- }
- }
- if(sigle){
- task.td_id = td_id;
- task.videoNames = videoNames;
- task.tousseType1 = tousseType;
- task.packageType = packageType;
- task.sterilingMethod = sterilingMethod;
- var childNode = addTaskNode(task);
- parentNode.appendChild(childNode);
- var pNewAmount = parentNode.get('amount') + amount;
- parentNode.set('amount',pNewAmount);
- parentNode.set('unPackingAmount',pNewAmount);
- }
- }
- if(newParentNode){
- rootNode.appendChild(parentNode);
- //外来器械默认展开节点
- if(haveForeignTousseNode){
- parentNode.expand();
- }
- }
- if(sstsConfig.packingView_autoSelectTousseWhenScanBasket && checked){
- basketColumnTreeGrid.getView().fireEvent('itemClick','',parentNode,'','');
- Ext4.getCmp('basketBarcodeInput').focus('', 10);
- }
- }
- var root = basketStore.getRootNode();
- var tousseNameMaxLenArray = [];
- var basketNameMaxLenArray = [];
- var k = 0;
- for(var i=0;i 0){
- var tousseNameMaxLenght = Math.max.apply(null,tousseNameMaxLenArray);
- basketColumnTreeGrid.headerCt.getGridColumns()[0].setWidth(tousseNameMaxLenght+90);
- }
- if(basketNameMaxLenArray.length > 0){
- var basketNameMaxLenght = Math.max.apply(null,basketNameMaxLenArray);
- if(basketNameMaxLenght !== 0){
- basketColumnTreeGrid.headerCt.getGridColumns()[4].setWidth(basketNameMaxLenght+30);
- }
- }
- speakBasket.speakContent();
- },
- failure : function(){myMask.hide();}
- });
+ scanBasketBarcodes(basketBarcode);
}
});
}
@@ -4572,7 +4676,7 @@
var isPrint = record.get('isPrint');
var isReview = record.get('isReview');
var vedioName = record.get('uuid_vedioNames');
- var td_id = (record.get('tousseID') == '')?record.raw.td_id:record.get('tousseID');
+ var td_id = record.get('tousseID');
var taskId = record.get('taskId');
updateNoteWindow(record);
loadTousseInfo(tousseName,imageType_tousse,vedioName,td_id,isTraceable);
@@ -4615,33 +4719,30 @@
refreshErrorAndDamageRemark(record);
refreshRemarks(record);
refreshRecyclingItemRemark(record);
- var isLeaf = record.get('leaf');
+ var isLeaf = record.get('leaf');
if(!isLeaf){
if(record.get('checked') == false){
record.set('checked', true);
waitPackColumnTreeGrid.getView().fireEvent('checkchange',record,record.get('checked'));
- }
- }else{
- return false;
- }
+ }
+ }else{
+ return false;
+ }
},
load: {
fn: function(store){
var root = waitPackingTaskStore.getRootNode();
var tousseNameMaxLenArray = [];
var basketNameMaxLenArray = [];
- var k = 0;
- for(var i=0;i 0){
var tousseNameMaxLenght = Math.max.apply(null,tousseNameMaxLenArray);
@@ -4656,6 +4757,21 @@
}
},
checkchange:function( node, checked, eOpts ){
+ if(!node.get('leaf')){
+ Ext4.each(node.childNodes, function(pNode){
+ pNode.set("checked", checked);
+ });
+ }else {
+ var checkedArray = [];
+ Ext4.each(node.parentNode.childNodes, function(pNode){
+ checkedArray.push(pNode.get("checked"));
+ });
+ if(checkedArray.indexOf(false) == -1){
+ node.parentNode.set('checked',true);
+ }else {
+ node.parentNode.set('checked',false);
+ }
+ }
showNoteWindow(node, checked);
resetScanIDCardBarcodeVisibilityWaitPacking(node);
// 显示丢失报损按钮
@@ -4779,7 +4895,8 @@
fieldLabel : '开始时间',
altFormats:'Y-m-d|Y-n-j|y-n-j|y-m-j|y-m-d|y-n-d|Y-n-d|Y-m-j|Ymd|Ynj|ynj|ymj|ymd|ynd|Ynd|Ymj|Y/m/d|Y/n/j|y/n/j|y/m/j|y/m/d|y/n/d|Y/n/d|Y/m/j',
readOnly : false,
- labelWidth : 65,
+ labelWidth : 90,
+ labelAlign:'right',
width : 75,
format : 'H:i',
value : '00:00'
@@ -4795,7 +4912,8 @@
fieldLabel : '结束时间',
altFormats:'H:i|Y-n-j|y-n-j|y-m-j|y-m-d|y-n-d|Y-n-d|Y-m-j|Ymd|Ynj|ynj|ymj|ymd|ynd|Ynd|Ymj|Y/m/d|Y/n/j|y/n/j|y/m/j|y/m/d|y/n/d|Y/n/d|Y/m/j',
readOnly : false,
- labelWidth : 65,
+ labelWidth : 90,
+ labelAlign:'right',
width : 75,
value : '23:59',
format : 'H:i'
@@ -4810,7 +4928,8 @@
name : 'tousseName',
fieldLabel : '器械包名称',
queryParam : 'spell',
- labelWidth : 80,
+ labelWidth : 90,
+ labelAlign:'right',
minChars : 0,
valueField : 'name',
displayField : 'displayName',
@@ -4855,7 +4974,8 @@
id : 'orgUnit',
name : 'orgUnit',
fieldLabel : '科室',
- labelWidth : 50,
+ labelWidth : 90,
+ labelAlign:'right',
queryParam : 'spell',
minChars : 0,
valueField : 'name',
@@ -4879,7 +4999,8 @@
allowBlank : true,
name : "scanTousseBarcode",
id : "scanTousseBarcode",
- labelWidth : 75,
+ labelWidth : 90,
+ labelAlign:'right',
// anchor : '100%',
listeners : {
render : function(p) {
@@ -4907,7 +5028,8 @@
allowBlank : true,
name : "q_packer",
id : "q_packer",
- labelWidth : 50,
+ labelWidth : 90,
+ labelAlign:'right',
// anchor : '100%',
listeners : {
render : function(p) {