Index: ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationRecordForm.js =================================================================== diff -u -r40804 -r40805 --- ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationRecordForm.js (.../sterilizationRecordForm.js) (revision 40804) +++ ssts-web/src/main/webapp/disinfectsystem/sterilizationmanager/sterilizationrecord/sterilizationRecordForm.js (.../sterilizationRecordForm.js) (revision 40805) @@ -1672,7 +1672,8 @@ if (taskGroups.length == 0) { pendingSterilizationColumnTree.getRootNode().appendChild(myNode); } else { - if (item.taskGroup !== '' && taskGroups.indexOf(item.taskGroup) >= 0) { + var taskGroup = item.taskGroup || '无'; + if (taskGroups.indexOf(taskGroup) >= 0) { pendingSterilizationColumnTree.getRootNode().appendChild(myNode); } } @@ -1682,7 +1683,7 @@ for (var k = 0; k < item.children.length; k++) { var wbCode = item.children[k].wbCode; var spelling = item.children[k].spelling; - var taskGroup = item.children[k].taskGroup; + var taskGroup = item.children[k].taskGroup || '无'; if (wbCode !== '') { wbCode = wbCode.toLowerCase(); } @@ -1718,13 +1719,13 @@ } else { if (item.type == 'BASKET' && item.children && item.children.length > 0) { var sterilingMode = item.children[0].sterilingMode || ''; - var taskGroup = item.children[0].taskGroup || ''; + var taskGroup = item.children[0].taskGroup || '无'; if (sterilingMode == modeName) { if (tousseName == '') { if (taskGroups.length == 0) { pendingSterilizationColumnTree.getRootNode().appendChild(myNode); } else { - if (taskGroup !== '' && taskGroups.indexOf(taskGroup) >= 0) { + if (taskGroups.indexOf(taskGroup) >= 0) { pendingSterilizationColumnTree.getRootNode().appendChild(myNode); } } @@ -1733,7 +1734,7 @@ for (var k = 0; k < item.children.length; k++) { var wbCode = item.children[k].wbCode; var spelling = item.children[k].spelling; - var taskGroup = item.children[k].taskGroup || ''; + var taskGroup = item.children[k].taskGroup || '无'; if (wbCode !== '') { wbCode = wbCode.toLowerCase(); } @@ -1758,13 +1759,13 @@ } } else { var sterilingMode = item.sterilingMode || ''; - var taskGroup = item.taskGroup || ''; + var taskGroup = item.taskGroup || '无'; if (sterilingMode == modeName) { if (tousseName == '') { if (taskGroups.length == 0) { pendingSterilizationColumnTree.getRootNode().appendChild(myNode); } else { - if (taskGroup !== '' && taskGroups.indexOf(taskGroup) >= 0) { + if (taskGroups.indexOf(taskGroup) >= 0) { pendingSterilizationColumnTree.getRootNode().appendChild(myNode); } } @@ -1773,7 +1774,7 @@ if (taskGroups.length == 0) { pendingSterilizationColumnTree.getRootNode().appendChild(myNode); } else { - if (taskGroup !== '' && taskGroups.indexOf(taskGroup) >= 0) { + if (taskGroups.indexOf(taskGroup) >= 0) { pendingSterilizationColumnTree.getRootNode().appendChild(myNode); } } @@ -3882,6 +3883,9 @@ } }); + var taskGroupItems = Ext.data.Record.create([ + { name: 'name', type: 'string' } + ]); //NFYY-121:任务组 var taskGroupStore = new Ext.data.Store({ proxy: new Ext.data.HttpProxy({ @@ -3897,6 +3901,15 @@ listeners: { beforeload: function () { taskGroupStore.baseParams["departCoding"] = orgUnitCoding; + }, + load: function (thiz, records, options) { + if (records.length > 0) { + taskGroupStore.insert(0, new taskGroupItems({ 'name': '全部' })); + taskGroupStore.insert(1, new taskGroupItems({ 'name': '无' })); + for (var i = 0; i < taskGroupStore.getCount(); i++) { + taskGroupStore.getAt(i).set('checked', true) + } + } } } }); @@ -3984,18 +3997,43 @@ width: 150, valueField: 'name', displayField: 'name', - matchFieldWidth: false, store: taskGroupStore, - forceSelection: true, - lazyInit: true, editable: false, triggerAction: 'all', - typeAhead: false, allowBlank: true, anchor: '95%', listeners: { select: function (combo, record, index) { + //1、如果选中“全部”的项,则把所有的项选中,反之全部取消选择 + if (record.get('name') == '全部') { + if (record.get('checked')) { + combo.selectAll(); + } else { + combo.deselectAll(); + } + } + + //2、如果已经选中所有的项,则把“全部”项选中,反之把“全部”项取消选择 + var selectAll = true; + combo.store.each(function (record) { + if (record.get('name') != '全部' && !record.get(this.checkField)) { + selectAll = false; + return; + } + }, combo); + + var all = combo.store.getAt(0); + if (selectAll) { + all.set(combo.checkField, true); + } else { + all.set(combo.checkField, false); + } + combo.setValue(combo.getCheckedValue()); + filterSterilingParams(); + }, + render: function () { + top.Ext.getCmp('taskGroup').setRawValue('全部'); } } }