Index: ssts-web/src/main/webapp/disinfectsystem/packing/packingView.js =================================================================== diff -u -r14559 -r14580 --- ssts-web/src/main/webapp/disinfectsystem/packing/packingView.js (.../packingView.js) (revision 14559) +++ ssts-web/src/main/webapp/disinfectsystem/packing/packingView.js (.../packingView.js) (revision 14580) @@ -638,6 +638,136 @@ {name : 'isTimeout'} ]}); +function buildColumnTreeColumns(treeId){ + var columns = [ + { + header: '物品名称', + width : 170, + sortable: true, + xtype : 'treecolumn', + dataIndex: 'tousseName', + renderer: function(v,p,record,rowIndex, columnIndex, store,view){ + var tousseName = record.get('tousseName'); + var showName = tousseName; + if(record.get('taskType') == taskType_application || record.get('taskType') == taskType_returnGoods + || record.get('taskType') == taskType_qualityMonitor){ + showName = '' + showName; + } + if(record.get('replenishMaterils')){ + showName = '' + showName + ''; + } + return showName; + } + },{ + header: '数量', + width : 50, + align:'center', + sortable: true, + dataIndex: 'amount', + editor: { + xtype: 'numberfield', + allowBlank: true, + allowDecimals :false, + minValue: 0, + listeners : { + 'focus':function(){ + this.selectText(); + } + } + } + },{ + header: '加急数量', + width : 70, + align:'center', + sortable: true, + dataIndex: 'urgentAmount', + renderer: function(v,p,record,rowIndex, columnIndex, store,view){ + if(v > 0){ + if(record.get("leaf")){ + return null ; + }else{ + return "

" + v + "

"; + } + }else{ + return null; + } + } + },{ + header: '清洗篮筐', + width : 110, + align:'center', + sortable: true, + dataIndex: 'basketName' + },{ + header: '操作', + width : 70, + align:'center', + sortable: true, + renderer: function(v,p,record,rowIndex, columnIndex, store){ + var str = ''; + if(record.get('leaf')){ + var taskid = record.get('taskId'); + var tousseName = record.get('tousseName'); + var tousseID = record.get('tousseID'); + var status = record.get('status'); + if(!SSTS_PackingTask_Delete){ + if(taskid != undefined && taskid != null){ + str += ""; + } + } + if(status == '待装配'){ + var supplent = true; + var errors = record.get('errors'); + for(var i = 0;i < errors.length ; i++) { + if(errorTypeAdd != errors[i].errorType && ((errors[i].amount - errors[i].additionalAmount) != 0)) { + supplent = false; + } + } + if(!supplent){ + var errorStr = JSON.stringify(errors); + str += ""; + } + var damages = record.get('damages'); + if(damages.length > 0){ + var damagesStr = JSON.stringify(damages); + str += ""; + } + } + if(record.get('tousseType') == '外来器械包' && treeId == 'basketTreeGrid'){ + var supplierName = record.get('supplierName'); + var amount = record.get('amount'); + var basketBarcode = record.get('basketBarcode'); + var showName = tousseName; + var applicationid = record.get('applicationID'); + str += ""; + } + } + return str; + } + },{ + header: '清洗时间', + width : 105, + align:'center', + sortable: true, + dataIndex: 'washTime' + },{ + header: '状态', + width : 60, + align:'center', + sortable: true, + dataIndex: 'status' + },{ + header: '回收时间', + width : 105, + align:'center', + sortable: true, + dataIndex: 'dateTime' + } + ]; + return columns; +} + Ext4.define('columnTreeGrid',{ extend: 'Ext4.tree.Panel', xtype: 'tree-grid', @@ -648,133 +778,6 @@ rowLines: true, cls: 'no-leaf-icons', initComponent: function() { -// this.width = 530;//不能设置宽度,否则垂直滚动条默认显示到了可视区域外面 - Ext4.apply(this, { - columns: [{ - header: '物品名称', - width : 170, - sortable: true, - xtype : 'treecolumn', - dataIndex: 'tousseName', - renderer: function(v,p,record,rowIndex, columnIndex, store,view){ - var tousseName = record.get('tousseName'); - var showName = tousseName; - if(record.get('taskType') == taskType_application || record.get('taskType') == taskType_returnGoods - || record.get('taskType') == taskType_qualityMonitor){ - showName = '' + showName; - } - if(record.get('replenishMaterils')){ - showName = '' + showName + ''; - } - return showName; - } - },{ - header: '数量', - width : 50, - align:'center', - sortable: true, - dataIndex: 'amount', - editor: { - xtype: 'numberfield', - allowBlank: true, - allowDecimals :false, - minValue: 0, - listeners : { - 'focus':function(){ - this.selectText(); - } - } - } - },{ - header: '加急数量', - width : 70, - align:'center', - sortable: true, - dataIndex: 'urgentAmount', - renderer: function(v,p,record,rowIndex, columnIndex, store,view){ - if(v > 0){ - if(record.get("leaf")){ - return null ; - }else{ - return "

" + v + "

"; - } - }else{ - return null; - } - } - },{ - header: '清洗篮筐', - width : 110, - align:'center', - sortable: true, - dataIndex: 'basketName' - },{ - header: '操作', - width : 70, - align:'center', - sortable: true, - renderer: function(v,p,record,rowIndex, columnIndex, store){ - var str = ''; - if(record.get('leaf')){ - var taskid = record.get('taskId'); - var tousseName = record.get('tousseName'); - var tousseID = record.get('tousseID'); - var status = record.get('status'); - if(!SSTS_PackingTask_Delete){ - if(taskid != undefined && taskid != null){ - str += ""; - } - } - if(status == '待装配'){ - var supplent = true; - var errors = record.get('errors'); - for(var i = 0;i < errors.length ; i++) { - if(errorTypeAdd != errors[i].errorType && ((errors[i].amount - errors[i].additionalAmount) != 0)) { - supplent = false; - } - } - if(!supplent){ - var errorStr = JSON.stringify(errors); - str += ""; - } - var damages = record.get('damages'); - if(damages.length > 0){ - var damagesStr = JSON.stringify(damages); - str += ""; - } - } - if(record.get('tousseType') == '外来器械包'){ - var supplierName = record.get('supplierName'); - var amount = record.get('amount'); - var basketBarcode = record.get('basketBarcode'); - var showName = tousseName; - var applicationid = record.get('applicationID'); - str += ""; - } - } - return str; - } - },{ - header: '清洗时间', - width : 105, - align:'center', - sortable: true, - dataIndex: 'washTime' - },{ - header: '状态', - width : 60, - align:'center', - sortable: true, - dataIndex: 'status' - },{ - header: '回收时间', - width : 105, - align:'center', - sortable: true, - dataIndex: 'dateTime' - }] - }); this.cellEditing = new Ext4.grid.plugin.CellEditing({ clicksToEdit: 1, listeners: { @@ -2383,244 +2386,246 @@ return retErrors; } var basketColumnTreeGrid = Ext4.create('columnTreeGrid', { - id : 'basketTreeGrid', - height: (document.body.clientHeight - 30)/2, - border : false, - store: basketStore, - listeners:{ - // cellclick事件改为select事件,便于selenium进行测试 - select : function( thiz, record, index, eOpts ){ - var tousseName = record.get('tousseName'); - var sterilingMethod = record.get('sterilingMethod'); - var packageType = record.get('packageType'); - var tousseType = record.get('tousseType'); - var isTraceable = record.get('isTraceable'); - var isPrint = record.get('isPrint'); - var isReview = record.get('isReview'); - var vedioName = record.get('uuid_vedioNames'); - var td_id = record.get('tousseID'); - loadTousseInfo(tousseName,imageType_tousse,vedioName,td_id); - Ext4.getCmp('sterilingType').setValue(sterilingMethod); - Ext4.getCmp('packageType').setValue(packageType); - - var waitPackingTreeGrid = Ext4.getCmp('waitPackingTreeGrid'); - var selNodes = waitPackingTreeGrid.getView().getChecked(); - Ext4.each(selNodes, function(pNode){ - pNode.set("checked", false); - }); - showPackButton(isPrint,isReview,tousseType); - - var isLeaf = record.get('leaf'); - if(!isLeaf){ - if(record.get('checked') == false){ - record.set('checked', true); - waitPackingTreeGrid.getView().fireEvent('checkchange'); - } - }else{ - return false; - } - - }, - checkchange:function( node, checked, eOpts ){ - resetScanIDCardBarcodeVisibility(node); - if(!checked){ - deselectCheckAll(); - } - } - }, - tbar:[{ - text: "扫描篮筐条码:" - },{ - xtype : 'textfield', - id : 'basketBarcodeInput', - name : 'basketBarcodeInput', - width : 130, - listeners : { - render : function(c) { - c.getEl().on('keypress',function(e) { - if (e.getKey() == 13) { - var basketBarcode = Ext4.getCmp('basketBarcodeInput').getValue(); - if(basketBarcode == '') { - showResult('篮筐条码为空'); - return; - } - 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.hide(); - Ext4.getCmp('basketBarcodeInput').setValue(''); - var jsonObj = Ext4.JSON.decode(result.responseText); - if(!jsonObj.success){ - showResult(jsonObj.errorMessage); - return; - } - var taskList = jsonObj.data; - var nLength = taskList.length; - if(nLength == 0){ - showResult('该篮筐在'+taskGroup+'内无装配任务!'); - } - 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 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 parentNode = null; - rootNode.cascade(function(n) { - if(!n.get('leaf') && n.get('tousseName') == tousseName){ - parentNode = n; - } - }); - var newParentNode = false; - if(parentNode == null){ - parentNode = addTaskNode('',td_id,videoNames,tousseName,0,'','','', - '','',tousseType, packageType, - sterilingMethod,'',isTraceable,isPrint,isReview,'','',rMaterils,'','',haveIDCard,urgentAmount); - newParentNode = true; - } - var cLength = taskVO.children.length; - - 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 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 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; - break; - } - } - if(sigle){ - var childNode = addTaskNode(taskId,td_id,videoNames,tousseName,amount,washTime,basketBarcode,basketName, - taskStatus,department,tousseType, packageType,sterilingMethod,dateTime,isTraceable,isPrint,isReview, - errors,damages,replenishMaterils,taskType,supplierName,task.haveIDCard,childUrgentAmount); - parentNode.appendChild(childNode); - var pNewAmount = parentNode.get('amount') + amount; - parentNode.set('amount',pNewAmount); - parentNode.set('unPackingAmount',pNewAmount); - } - } - if(newParentNode){ - rootNode.appendChild(parentNode); - } - } - speakBasket.speakContent(); - }, - failure : function(){myMask.hide();} - }); - } - }); - } - } - },'-',new Ext4.form.field.Checkbox({ - boxLabel : '全选', - name : 'dealStatues', - id:'checkAllTaskNode', - inputValue : '0', - checked : false, - listeners : { - afterrender:function(obj){ - obj.getEl().dom.onclick = function(){ - var checked = Ext4.getCmp('checkAllTaskNode').getValue(); - checkedAllNode(checked); - }; - } - } - })], - flex : 1 - }); + id : 'basketTreeGrid', + height: (document.body.clientHeight - 30)/2, + border : false, + store: basketStore, + columns:buildColumnTreeColumns('basketTreeGrid'), + listeners:{ + // cellclick事件改为select事件,便于selenium进行测试 + select : function( thiz, record, index, eOpts ){ + var tousseName = record.get('tousseName'); + var sterilingMethod = record.get('sterilingMethod'); + var packageType = record.get('packageType'); + var tousseType = record.get('tousseType'); + var isTraceable = record.get('isTraceable'); + var isPrint = record.get('isPrint'); + var isReview = record.get('isReview'); + var vedioName = record.get('uuid_vedioNames'); + var td_id = record.get('tousseID'); + loadTousseInfo(tousseName,imageType_tousse,vedioName,td_id); + Ext4.getCmp('sterilingType').setValue(sterilingMethod); + Ext4.getCmp('packageType').setValue(packageType); + + var waitPackingTreeGrid = Ext4.getCmp('waitPackingTreeGrid'); + var selNodes = waitPackingTreeGrid.getView().getChecked(); + Ext4.each(selNodes, function(pNode){ + pNode.set("checked", false); + }); + showPackButton(isPrint,isReview,tousseType); + + var isLeaf = record.get('leaf'); + if(!isLeaf){ + if(record.get('checked') == false){ + record.set('checked', true); + waitPackingTreeGrid.getView().fireEvent('checkchange'); + } + }else{ + return false; + } + + }, + checkchange:function( node, checked, eOpts ){ + resetScanIDCardBarcodeVisibility(node); + if(!checked){ + deselectCheckAll(); + } + } + }, + tbar:[{ + text: "扫描篮筐条码:" + },{ + xtype : 'textfield', + id : 'basketBarcodeInput', + name : 'basketBarcodeInput', + width : 130, + listeners : { + render : function(c) { + c.getEl().on('keypress',function(e) { + if (e.getKey() == 13) { + var basketBarcode = Ext4.getCmp('basketBarcodeInput').getValue(); + if(basketBarcode == '') { + showResult('篮筐条码为空'); + return; + } + 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.hide(); + Ext4.getCmp('basketBarcodeInput').setValue(''); + var jsonObj = Ext4.JSON.decode(result.responseText); + if(!jsonObj.success){ + showResult(jsonObj.errorMessage); + return; + } + var taskList = jsonObj.data; + var nLength = taskList.length; + if(nLength == 0){ + showResult('该篮筐在'+taskGroup+'内无装配任务!'); + } + 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 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 parentNode = null; + rootNode.cascade(function(n) { + if(!n.get('leaf') && n.get('tousseName') == tousseName){ + parentNode = n; + } + }); + var newParentNode = false; + if(parentNode == null){ + parentNode = addTaskNode('',td_id,videoNames,tousseName,0,'','','', + '','',tousseType, packageType, + sterilingMethod,'',isTraceable,isPrint,isReview,'','',rMaterils,'','',haveIDCard,urgentAmount); + newParentNode = true; + } + var cLength = taskVO.children.length; + + 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 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 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; + break; + } + } + if(sigle){ + var childNode = addTaskNode(taskId,td_id,videoNames,tousseName,amount,washTime,basketBarcode,basketName, + taskStatus,department,tousseType, packageType,sterilingMethod,dateTime,isTraceable,isPrint,isReview, + errors,damages,replenishMaterils,taskType,supplierName,task.haveIDCard,childUrgentAmount); + parentNode.appendChild(childNode); + var pNewAmount = parentNode.get('amount') + amount; + parentNode.set('amount',pNewAmount); + parentNode.set('unPackingAmount',pNewAmount); + } + } + if(newParentNode){ + rootNode.appendChild(parentNode); + } + } + speakBasket.speakContent(); + }, + failure : function(){myMask.hide();} + }); + } + }); + } + } + },'-',new Ext4.form.field.Checkbox({ + boxLabel : '全选', + name : 'dealStatues', + id:'checkAllTaskNode', + inputValue : '0', + checked : false, + listeners : { + afterrender:function(obj){ + obj.getEl().dom.onclick = function(){ + var checked = Ext4.getCmp('checkAllTaskNode').getValue(); + checkedAllNode(checked); + }; + } + } + })], + flex : 1 +}); var waitPackColumnTreeGrid = Ext4.create('columnTreeGrid', { - id : 'waitPackingTreeGrid', - flex : 1, - border : false, - viewConfig : { - loadMask : {msg : '正在加载,请稍候...'} - }, - height: (document.body.clientHeight - 30)/2, - listeners:{ - // cellclick事件改为select事件,便于selenium进行测试 - select : function( thiz, record, index, eOpts ){ - var tousseName = record.get('tousseName'); - var sterilingMethod = record.get('sterilingMethod'); - var packageType = record.get('packageType'); - var tousseType = record.get('tousseType'); - var isPrint = record.get('isPrint'); - var isReview = record.get('isReview'); - var vedioName = record.get('uuid_vedioNames'); - var td_id = record.get('tousseID'); - loadTousseInfo(tousseName,imageType_tousse,vedioName,td_id); - Ext4.getCmp('sterilingType').setValue(sterilingMethod); - Ext4.getCmp('packageType').setValue(packageType); - - //将上部分grid中的复选框置为不选中 - var basketTreeGrid = Ext4.getCmp('basketTreeGrid'); - var selNodes = basketTreeGrid.getView().getChecked(); - Ext4.each(selNodes, function(pNode){ - pNode.set("checked", false); - }); - - //不为回收任务时,不显示装配与打印按钮,只有任务类型为回收任务时才显示 - if(record.get('taskType') != taskType_recyclingRecord){ - showPackButton(isPrint,isReview,tousseType); - - }else{ - Ext4.getCmp('save_print').hide(); - } - var isLeaf = record.get('leaf'); - if(!isLeaf){ - if(record.get('checked') == false){ - record.set('checked', true); - basketTreeGrid.getView().fireEvent('checkchange'); - } - }else{ - return false; - } - }, - checkchange:function( node, checked, eOpts ){ - resetScanIDCardBarcodeVisibility(node); - } - }, - store: waitPackingTaskStore, - tbar : waitPackingTbar - }); + id : 'waitPackingTreeGrid', + flex : 1, + border : false, + viewConfig : { + loadMask : {msg : '正在加载,请稍候...'} + }, + columns:buildColumnTreeColumns('waitPackingTreeGrid'), + height: (document.body.clientHeight - 30)/2, + listeners:{ + // cellclick事件改为select事件,便于selenium进行测试 + select : function( thiz, record, index, eOpts ){ + var tousseName = record.get('tousseName'); + var sterilingMethod = record.get('sterilingMethod'); + var packageType = record.get('packageType'); + var tousseType = record.get('tousseType'); + var isPrint = record.get('isPrint'); + var isReview = record.get('isReview'); + var vedioName = record.get('uuid_vedioNames'); + var td_id = record.get('tousseID'); + loadTousseInfo(tousseName,imageType_tousse,vedioName,td_id); + Ext4.getCmp('sterilingType').setValue(sterilingMethod); + Ext4.getCmp('packageType').setValue(packageType); + + //将上部分grid中的复选框置为不选中 + var basketTreeGrid = Ext4.getCmp('basketTreeGrid'); + var selNodes = basketTreeGrid.getView().getChecked(); + Ext4.each(selNodes, function(pNode){ + pNode.set("checked", false); + }); + + //不为回收任务时,不显示装配与打印按钮,只有任务类型为回收任务时才显示 + if(record.get('taskType') != taskType_recyclingRecord){ + showPackButton(isPrint,isReview,tousseType); + + }else{ + Ext4.getCmp('save_print').hide(); + } + var isLeaf = record.get('leaf'); + if(!isLeaf){ + if(record.get('checked') == false){ + record.set('checked', true); + basketTreeGrid.getView().fireEvent('checkchange'); + } + }else{ + return false; + } + }, + checkchange:function( node, checked, eOpts ){ + resetScanIDCardBarcodeVisibility(node); + } + }, + store: waitPackingTaskStore, + tbar : waitPackingTbar +}); var mainTabCls = /*(Ext4.isIE8 || Ext4.isIE6) ? 'mainTabCls' :*/ ''; var tabs2 = Ext4.widget('tabpanel', { activeTab: 0,