Index: ssts-web/src/main/webapp/ext/js/multiSelectCombo.js
===================================================================
diff -u -r33045 -r33400
--- ssts-web/src/main/webapp/ext/js/multiSelectCombo.js (.../multiSelectCombo.js) (revision 33045)
+++ ssts-web/src/main/webapp/ext/js/multiSelectCombo.js (.../multiSelectCombo.js) (revision 33400)
@@ -17,6 +17,7 @@
checkField: 'checked',
multi: true,
separator: ',',
+ showRawValue:this.showRawValue ? this.showRawValue : true,
initComponent: function ()
{
if (!this.tpl)
@@ -79,11 +80,15 @@
},
getCheckedDisplay: function ()
{
- var re = new RegExp(this.separator, "g");
- if(this.getCheckedValue(this.displayField).split(',')[0] !== '全部'){
- return this.getCheckedValue(this.displayField).replace(re, this.separator + ' ');
+ if(this.showRawValue){
+ var re = new RegExp(this.separator, "g");
+ if(this.getCheckedValue(this.displayField).split(',')[0] !== '全部'){
+ return this.getCheckedValue(this.displayField).replace(re, this.separator + ' ');
+ }else {
+ return '全部'
+ }
}else {
- return '全部'
+ return '';
}
},
getCheckedValue: function (field)
@@ -150,13 +155,11 @@
{
if (this.fireEvent('beforeselect', this, record, index) !== false)
{
- record.set(this.checkField, !record.get(this.checkField));
-
+ record.set(this.checkField, !record.get(this.checkField));
if (this.store.isFiltered())
{
this.doQuery(this.allQuery);
}
-
if (this.multi)
{
if (record.get("key") == "---" && record.get(this.checkField))
Index: ssts-web/src/main/webapp/disinfectsystem/reportforms/useRecordItemView.js
===================================================================
diff -u -r33397 -r33400
--- ssts-web/src/main/webapp/disinfectsystem/reportforms/useRecordItemView.js (.../useRecordItemView.js) (revision 33397)
+++ ssts-web/src/main/webapp/disinfectsystem/reportforms/useRecordItemView.js (.../useRecordItemView.js) (revision 33400)
@@ -24,10 +24,9 @@
var showOther = $Id('othersGoods').value; //是否需要显示同单明细
var departSearch = (!isFirstRoomPeople ? currentOrgUnitName : $Id('departSearch').value); //不是一级供应室,只能查自己的
var barcode = $Id('barcodeSearch').value; //条码字符串
- var goodsId = Ext.getCmp('goodsSearch').getValue(); //物品id
- if (!$Id('goodsSearch').value) { //用户删除了选择的物品,但是ext并不会实际的值清空,这里手工清空一下
- goodsId = '';
- }
+ var tousseInstanceIds = Ext.getCmp('tousseInstanceIds').getValue(); //器械包 id
+ var disposableGoodIds = Ext.getCmp('disposableGoodIds').getValue(); //一次性物品 id
+ var expensiveGoodIds = Ext.getCmp('expensiveGoodIds').getValue(); //高值耗材 id
myMask = new Ext.LoadMask(Ext.getBody(), {
msg: '正在加载,请稍候!',
@@ -43,8 +42,9 @@
depart: departSearch,
operatorSearch: operatorSearch,
hospitalNum: hospitalNum,
- goodsId: goodsId,
- goodsType: Ext.getCmp('goodsType').getValue(),
+ tousseInstanceIds: tousseInstanceIds,
+ disposableGoodIds: disposableGoodIds,
+ expensiveGoodIds: expensiveGoodIds,
showOther: showOther,
barcode: barcode,
reportName: 'useRecordItemView'
@@ -53,6 +53,102 @@
searchReport(url, params);
}
+//获取物品的id
+function getGoodsId(type, id, checked) {
+ if (type == '器械包') {
+ var tousseInstanceIds = Ext.getCmp('tousseInstanceIds').getValue();
+ var tousseInstanceArray = tousseInstanceIds.split(',');
+ var index = tousseInstanceArray.indexOf(id.toString());
+ if (checked) {
+ if (index == -1) {
+ if (tousseInstanceIds !== '') {
+ Ext.getCmp('tousseInstanceIds').setValue(tousseInstanceIds + ',' + id);
+ } else {
+ Ext.getCmp('tousseInstanceIds').setValue(id);
+ }
+ }
+ } else {
+ if (index >= 0) {
+ tousseInstanceArray.splice(index, 1);
+ if (tousseInstanceIds !== '') {
+ Ext.getCmp('tousseInstanceIds').setValue(tousseInstanceArray.join(','));
+ } else {
+ Ext.getCmp('tousseInstanceIds').setValue('');
+ }
+ }
+ }
+ } else if (type == '一次性物品') {
+ var disposableGoodIds = Ext.getCmp('disposableGoodIds').getValue();
+ var disposableGoodIdsArray = disposableGoodIds.split(',');
+ var index = disposableGoodIdsArray.indexOf(id.toString());
+ if (checked) {
+ if (index == -1) {
+ if (disposableGoodIds !== '') {
+ Ext.getCmp('disposableGoodIds').setValue(disposableGoodIds + ',' + id);
+ } else {
+ Ext.getCmp('disposableGoodIds').setValue(id);
+ }
+ }
+ } else {
+ if (index >= 0) {
+ disposableGoodIdsArray.splice(index, 1);
+ if (disposableGoodIds !== '') {
+ Ext.getCmp('disposableGoodIds').setValue(disposableGoodIdsArray.join(','));
+ } else {
+ Ext.getCmp('disposableGoodIds').setValue('');
+ }
+ }
+ }
+ } else {
+ var expensiveGoodIds = Ext.getCmp('expensiveGoodIds').getValue();
+ var expensiveGoodIdsArray = expensiveGoodIds.split(',');
+ var index = expensiveGoodIdsArray.indexOf(id.toString());
+ if (checked) {
+ if (index == -1) {
+ if (expensiveGoodIds !== '') {
+ Ext.getCmp('expensiveGoodIds').setValue(expensiveGoodIds + ',' + id);
+ } else {
+ Ext.getCmp('expensiveGoodIds').setValue(id);
+ }
+ }
+ } else {
+ if (index >= 0) {
+ expensiveGoodIdsArray.splice(index, 1);
+ if (expensiveGoodIds !== '') {
+ Ext.getCmp('expensiveGoodIds').setValue(expensiveGoodIdsArray.join(','));
+ } else {
+ Ext.getCmp('expensiveGoodIds').setValue('');
+ }
+ }
+ }
+ }
+}
+
+//获取物品的名称
+function getGoodsName(showName, checked) {
+ var goodsSearchText = Ext.getCmp('goodsSearchText').getValue();
+ var goodsSearchArr = goodsSearchText.split(',');
+ if (checked) {
+ if (goodsSearchArr.indexOf(showName) == -1) {
+ if (goodsSearchText == '') {
+ Ext.getCmp('goodsSearchText').setValue(showName);
+ } else {
+ Ext.getCmp('goodsSearchText').setValue(goodsSearchText + ',' + showName);
+ }
+ }
+ } else {
+ var index = goodsSearchArr.indexOf(showName);
+ if (index >= 0) {
+ goodsSearchArr.splice(index, 1);
+ if (goodsSearchArr.length > 0) {
+ Ext.getCmp('goodsSearchText').setValue(goodsSearchArr.join(','));
+ } else {
+ Ext.getCmp('goodsSearchText').setValue('');
+ }
+ }
+ }
+}
+
Ext.onReady(function () {
Ext.QuickTips.init();
@@ -91,7 +187,22 @@
}),
reader: new Ext.data.JsonReader({
root: 'data'
- }, comboGoodsRecord)
+ }, comboGoodsRecord),
+ listeners: {
+ load: function (thiz, records, options) {
+ thiz.insert(0, new departRecord({ id: "-1", showName: "全选", name: "全选" }));
+ var goodsSearchText = Ext.getCmp('goodsSearchText').getValue();
+ var goodsSearchArr = goodsSearchText.split(',');
+ for (var i = 0; i < records.length; i++) {
+ for (var j = 0; j < goodsSearchArr.length; j++) {
+ var showName = records[i].get('showName').replace(/,/g, ",");
+ if (showName == goodsSearchArr[j]) {
+ records[i].set('checked', true)
+ }
+ }
+ }
+ }
+ }
});
var readerDetail = Ext.data.Record.create([{ name: 'id' }, { name: 'name' }]);
@@ -123,7 +234,7 @@
border: 0,
frame: true,
bodyStyle: 'padding:0px auto;margin:0px',
- height: 140,
+ height: 170,
labelWidth: 80,
buttons: [{
xtype: 'button',
@@ -272,12 +383,23 @@
layout: 'form',
columnWidth: .2,
items: [{
- xtype: 'combo',
+ xtype: 'hidden',
+ id: 'tousseInstanceIds',
+ name: 'tousseInstanceIds'
+ }, {
+ xtype: 'hidden',
+ id: 'disposableGoodIds',
+ name: 'disposableGoodIds'
+ }, {
+ xtype: 'hidden',
+ id: 'expensiveGoodIds',
+ name: 'expensiveGoodIds'
+ }, {
+ xtype: 'multiSelect',
id: 'goodsSearch',
name: 'goodsSearch',
queryParam: 'spell',
- fieldLabel: '物品',
- listWidth: 200,
+ fieldLabel: '查找物品',
minChars: 0,
valueField: 'id',
displayField: 'name',
@@ -286,12 +408,51 @@
lazyInit: true,
anchor: '95%',
triggerAction: 'all',
- hideTrigger: true,
+ hideTrigger: false,
typeAhead: false,
allowBlank: true,
+ showRawValue: false,
listeners: {
select: function (combo, record, index) {
- Ext.getCmp('goodsType').setValue(record.data.type);
+ var showName = record.get('showName');
+ var checked = record.get('checked');
+ showName = showName.replace(/,/g, ",");
+ if (showName == '全选') {
+ for (var i = 0; i < comboGoodsStore.getCount(); i++) {
+ comboGoodsStore.getAt(i).set('checked', checked);
+ var recordShowName = comboGoodsStore.getAt(i).get('showName');
+ recordShowName = recordShowName.replace(/,/g, ",");
+ var id = comboGoodsStore.getAt(i).get('id');
+ var type = comboGoodsStore.getAt(i).get('type');
+ if (recordShowName == '全选') {
+ continue;
+ }
+ getGoodsName(recordShowName, checked);
+ getGoodsId(type, id, checked);
+ }
+ } else {
+ var id = record.get('id');
+ var type = record.get('type');
+ getGoodsName(showName, checked);
+ getGoodsId(type, id, checked);
+ }
+ },
+ blur: function () {
+ Ext.getCmp('goodsSearch').setRawValue('');
+ },
+ focus: function () {
+ if (comboGoodsStore.getCount() > 0) {
+ var goodsSearchText = Ext.getCmp('goodsSearchText').getValue();
+ var goodsSearchArr = goodsSearchText.split(',');
+ for (var i = 0; i < comboGoodsStore.getCount(); i++) {
+ for (var j = 0; j < goodsSearchArr.length; j++) {
+ var showName = comboGoodsStore.getAt(i).get('showName').replace(/,/g, ",");
+ if (showName == goodsSearchArr[j]) {
+ comboGoodsStore.getAt(i).set('checked', true)
+ }
+ }
+ }
+ }
}
}
}]
@@ -349,6 +510,19 @@
}
}
}]
+ }, {
+ layout: 'form',
+ columnWidth: 1,
+ items: [{
+ xtype: 'textarea',
+ id: 'goodsSearchText',
+ name: 'goodsSearchText',
+ fieldLabel: '物品',
+ height: 40,
+ anchor: '95%',
+ disabled: true,
+ minChars: 0
+ }]
}]
}]
});
@@ -373,5 +547,4 @@
}]
});
reloadReport();
-});
-
+});
\ No newline at end of file
Index: ssts-web/src/main/webapp/disinfectsystem/reportforms/useRecordItemView.jsp
===================================================================
diff -u -r33259 -r33400
--- ssts-web/src/main/webapp/disinfectsystem/reportforms/useRecordItemView.jsp (.../useRecordItemView.jsp) (revision 33259)
+++ ssts-web/src/main/webapp/disinfectsystem/reportforms/useRecordItemView.jsp (.../useRecordItemView.jsp) (revision 33400)
@@ -23,6 +23,9 @@
+
+
+