Index: ssts-web/src/main/webapp/js/common.js =================================================================== diff -u -r36776 -r36959 --- ssts-web/src/main/webapp/js/common.js (.../common.js) (revision 36776) +++ ssts-web/src/main/webapp/js/common.js (.../common.js) (revision 36959) @@ -4541,6 +4541,299 @@ }; } +//ZSSZYY-162:弹出选择物品的窗口,包括器械包和材料 +function removeSelect_tousseItem(index) { + var records = top.Ext.getCmp('select_TousseGrid').getSelectionModel().getSelections(); + top.Ext.getCmp('select_TousseGrid').getStore().remove(records[0]); +} +function setTousseItems(extHiddenElementId, extComboElementId, ids, names, tousseType, labelSeparator, callback) { + var win; + //确定保存 + function saveSelect(extHiddenElementId, extComboElementId, labelSeparator, callback) { + var idsArr = []; + var nameArr = []; + var separator = labelSeparator || ';'; + for (var i = 0; i < select_TousseGridStore.getCount(); i++) { + var record = select_TousseGridStore.getAt(i); + idsArr.push(record.get('id')); + nameArr.push(record.get('name')); + } + if (idsArr.length != 0) { + if (top.Ext.getCmp(extHiddenElementId)) { + top.Ext.getCmp(extHiddenElementId).setValue(idsArr.join(separator)); + top.Ext.getCmp(extComboElementId).setValue(nameArr.join(separator)); + } else if (Ext.getCmp(extHiddenElementId)) { + Ext.getCmp(extHiddenElementId).setValue(idsArr.join(separator)); + Ext.getCmp(extComboElementId).setValue(nameArr.join(separator)); + } + if (callback) { + callback(idsArr.join(separator), nameArr.join(separator)); + } + } else { + if (top.Ext.getCmp(extHiddenElementId)) { + top.Ext.getCmp(extHiddenElementId).setValue(""); + top.Ext.getCmp(extComboElementId).setValue(""); + } else if (Ext.getCmp(extHiddenElementId)) { + Ext.getCmp(extHiddenElementId).setValue(""); + Ext.getCmp(extComboElementId).setValue(""); + } + if (callback) { + callback('', ''); + } + } + select_TousseGridStore.removeAll(); + win.close(); + } + + //物品record + var idAndNameRecord = Ext.data.Record.create([{ + name: 'id' + }, + { + name: 'name' + } + ]); + + /** + * 添加所选择的物品名称 + */ + function addSelect_Tousse() { + var id = top.Ext.getCmp('tousseId').getValue(); + var name = top.Ext.getCmp('tousseName').getRawValue(); + if (id) { + var isExist = false; + for (var i = 0; i < select_TousseGridStore.getCount(); i++) { + var record = select_TousseGridStore.getAt(i); + if (record.get('id') == id) { + isExist = true; + break; + } + } + if (!isExist) { + var record = new idAndNameRecord({ + id: id, + name: name + }); + select_TousseGridStore.add(record); + top.Ext.getCmp('tousseId').setValue(''); + top.Ext.getCmp('tousseName').setRawValue(''); + } else { + showResult(tousseType + ":" + name + "已添加,请不要重复添加!"); + } + } else { + showResult("请选择" + tousseType); + } + } + select_TousseGridStore = new top.Ext.data.Store({ + reader: idAndNameRecord + }); + var cm = new top.Ext.grid.ColumnModel([{ + header: tousseType + "名称", + width: 140, + dataIndex: 'name' + }, { + header: '删除', + width: 40, + menuDisabled: true, + dataIndex: 'button', + renderer: function (v, p, record, index) { + return ""; + } + }]); + + //器械包 + var tousseDefinitionStore; + if (tousseType == '器械包') { + tousseDefinitionStore = new Ext.data.Store({ + proxy: new Ext.data.HttpProxy({ + url: WWWROOT + '/disinfectSystem/baseData/tousseDefinitionAction!getTousseAndDiposableGoodsData.do', + method: 'POST' + }), + reader: new Ext.data.JsonReader({ + totalProperty: 'totalCount', + root: 'data' + }, [ + { name: 'id', mapping: 'id' }, + { name: 'spelling', mapping: 'spelling' }, + { name: 'name', mapping: 'name' }, + { name: 'displayName', mapping: 'displayName' }, + { name: 'amount', mapping: 'amount' }] + ) + }); + } else { + tousseDefinitionStore = new Ext.data.Store({ + proxy: new Ext.data.HttpProxy({ + url: WWWROOT + '/disinfectSystem/baseData/materialDefinitionAction!getMaterialDefinitionDataForMaterial.do', + method: 'POST' + }), + reader: new Ext.data.JsonReader({ + totalProperty: 'totalCount', + root: 'data' + }, [ + { name: 'id', mapping: 'id' }, + { name: 'spelling', mapping: 'spelling' }, + { name: 'type', mapping: 'type' }, + { name: 'name', mapping: 'name' } + ]) + }); + } + + //顶部的工具栏 + var tbar = [{ + text: '选择' + tousseType + }, { + xtype: 'hidden', + id: 'tousseId', + name: 'tousseId' + }, { + xtype: 'combo', + id: 'tousseName', + name: 'tousseName', + queryParam: 'spell', + fieldLabel: tousseType + '名称', + minChars: 0, + valueField: 'name', + displayField: 'name', + store: tousseDefinitionStore, + forceSelection: true, + lazyInit: true, + anchor: '95%', + listWidth: 200, + triggerAction: 'all', + hideTrigger: false, + typeAhead: false, + allowBlank: true, + listeners: { + select: function (combo, record, index) { + var id = record.data.id; + var name = record.data.name; + top.Ext.getCmp('tousseId').setValue(id); + top.Ext.getCmp('tousseName').setRawValue(name); + } + } + }, { + text: '添加', + handler: function () { + addSelect_Tousse(); + } + }, { + text: '添加所有搜索结果', + handler: function () { + if (tousseDefinitionStore.getCount() > 0) { + for (var i = 0; i < tousseDefinitionStore.getCount(); i++) { + if (tousseDefinitionStore.getCount() > 0) { + var isHas = false; + for (var j = 0; j < select_TousseGridStore.getCount(); j++) { + if (select_TousseGridStore.getAt(j).get('name') == tousseDefinitionStore.getAt(i).get('name')) { + isHas = true; + continue; + } + } + if (!isHas) { + var record = new idAndNameRecord({ + name: tousseDefinitionStore.getAt(i).get('name'), + id: tousseDefinitionStore.getAt(i).get('id') + }); + select_TousseGridStore.add(record); + } + } else { + var record = new idAndNameRecord({ + name: tousseDefinitionStore.getAt(i).get('name'), + id: tousseDefinitionStore.getAt(i).get('id') + }); + select_TousseGridStore.add(record); + } + } + tousseDefinitionStore.removeAll(); + } else { + showResult('请先输入' + tousseType + '名称进行搜索!') + } + } + }, { + text: '删除全部' + tousseType, + handler: function () { + select_TousseGridStore.removeAll(); + } + }]; + + var select_GridStoreFormObj = new top.Ext.FormPanel({ + id: 'typeForm', + frame: true, + labelAlign: 'right', + labelSeparator: ':', + bodyStyle: 'padding:5px 5px 0px 5px', + autoWidth: true, + autoHeight: true, + autoScroll: true, + items: [{ + layout: 'column', + items: [{ + columnWidth: 1, + layout: 'form', + items: [ + new top.Ext.grid.GridPanel({ + id: 'select_TousseGrid', + store: select_TousseGridStore, + tbar: tbar, + cm: cm, + width: 140, + height: 240, + isCheckboxSelectionModel: true, + frame: false, + viewConfig: { + forceFit: true + }, + bodyStyle: 'border:1px solid #afd7af', + anchor: '100%', + selModel: new top.Ext.grid.RowSelectionModel({ + singleSelect: false + }) + }) + ] + }] + }], + buttons: [{ + id: 'saveBtn2', + text: '确定', + handler: function () { + saveSelect(extHiddenElementId, extComboElementId, labelSeparator, callback); + } + }, { + id: 'cancleBtn2', + text: '取消', + handler: function () { + select_TousseGridStore.removeAll(); + win.close(); + } + }] + }); + + win = new top.Ext.Window({ + id: 'formWindowTousseWin', + layout: 'fit', + title: '选择' + tousseType, + width: 650, + modal: true, + autoHeight: true, + border: false, + plain: true, + items: [select_GridStoreFormObj] + }); + win.show(); + + if (names !== '') { + var nameArr = names.split(labelSeparator); + var idsArr = ids.split(labelSeparator); + for (var i = 0; i < nameArr.length; i++) { + var record = new idAndNameRecord({ + id: idsArr[i], + name: nameArr[i] + }); + select_TousseGridStore.add(record); + } + }; +} + // 获取谷歌浏览器版本 function getChromeVersion() { var arr = navigator.userAgent.split(' '); @@ -5180,38 +5473,38 @@ } //BJ309YY-5:multiSelect选择全部 -function selectAllValue(combo, record, checkField, id){ - if (record.get('name') == '全部') { - //1、如果选中“全部”的项,则把所有的项选中,反之全部取消选择 - if (record.get(checkField)) { - combo.selectAll() - } else { - combo.deselectAll() - } - //2、如果已经选中所有的项,则把“全部”项选中,反之把“全部”项取消选择 - var selectAll = true; - combo.store.each(function(record) { - if (record.get('name') != '全部' && !record.get(checkField)) { - selectAll = false; - return; - } - }, combo); - var all = combo.store.getAt(0); - if (selectAll) { - all.set(combo.checkField, true); - } else { - all.set(combo.checkField, false); - } - if(id){ - $Id(id).value = ''; - }else { - combo.setValue(''); - } - }else { - if(id){ - $Id(id).value = combo.getCheckedValue(); - }else { - combo.setValue(combo.getCheckedValue()); - } - } +function selectAllValue(combo, record, checkField, id) { + if (record.get('name') == '全部') { + //1、如果选中“全部”的项,则把所有的项选中,反之全部取消选择 + if (record.get(checkField)) { + combo.selectAll() + } else { + combo.deselectAll() + } + //2、如果已经选中所有的项,则把“全部”项选中,反之把“全部”项取消选择 + var selectAll = true; + combo.store.each(function (record) { + if (record.get('name') != '全部' && !record.get(checkField)) { + selectAll = false; + return; + } + }, combo); + var all = combo.store.getAt(0); + if (selectAll) { + all.set(combo.checkField, true); + } else { + all.set(combo.checkField, false); + } + if (id) { + $Id(id).value = ''; + } else { + combo.setValue(''); + } + } else { + if (id) { + $Id(id).value = combo.getCheckedValue(); + } else { + combo.setValue(combo.getCheckedValue()); + } + } } \ No newline at end of file