Index: ssts-web/src/main/webapp/disinfectsystem/scheduleExpeditedOfUseRecord/scheduleExpeditedOfUseRecordForm.js =================================================================== diff -u -r38963 -r39054 --- ssts-web/src/main/webapp/disinfectsystem/scheduleExpeditedOfUseRecord/scheduleExpeditedOfUseRecordForm.js (.../scheduleExpeditedOfUseRecordForm.js) (revision 38963) +++ ssts-web/src/main/webapp/disinfectsystem/scheduleExpeditedOfUseRecord/scheduleExpeditedOfUseRecordForm.js (.../scheduleExpeditedOfUseRecordForm.js) (revision 39054) @@ -15,26 +15,26 @@ ] }) +var tousseStore = new Ext4.data.Store({ + pageSize: 100, + proxy: { + type: 'ajax', + url: WWWROOT + '/disinfectSystem/baseData/tousseDefinitionAction!searchComboTousseData.do', + reader: { + type: 'json', + totalProperty: 'totalCount', + root: 'data' + } + }, + fields: [ + { name: 'id', mapping: 'id' }, + { name: 'name', mapping: 'name' }, + { name: 'displayName', mapping: 'displayName' } + ] +}) + //添加或者修改预约加急物品 function showSaveUrgentReservationTousseWin(useRecordUrgentReservationId, objInfo) { - var tousseStore = new Ext4.data.Store({ - pageSize: 100, - proxy: { - type: 'ajax', - url: WWWROOT + '/disinfectSystem/baseData/tousseDefinitionAction!searchComboTousseData.do', - reader: { - type: 'json', - totalProperty: 'totalCount', - root: 'data' - } - }, - fields: [ - { name: 'id', mapping: 'id' }, - { name: 'name', mapping: 'name' }, - { name: 'displayName', mapping: 'displayName' } - ] - }) - var formPanel = new top.Ext4.form.Panel({ frame: true, labelSeparator: ':', @@ -52,113 +52,138 @@ name: 'id' }, { xtype: 'hidden', - id: 'hiddenUrgentLevelCount', - name: 'hiddenUrgentLevelCount', + id: 'hiddenTousseCount', + name: 'hiddenTousseCount', value: 0 }, { - layout: 'column', + id: "urgentFieldset_0", autoHeight: true, - width: 430, - border: false, items: [{ - layout: 'form', - columnWidth: 0.95, + layout: 'column', + autoHeight: true, + width: 430, border: false, items: [{ xtype: 'hidden', - id: 'tousseDefinitionId', - name: 'tousseDefinitionId' + id: 'hiddenUrgentLevelCount_0', + name: 'hiddenUrgentLevelCount_0', + value: 0 }, { - fieldLabel: '物品名称', - xtype: 'combo', - id: 'tousseDefinitionName', - name: 'tousseDefinitionName', - queryParam: 'spell', - minChars: 0, - valueField: 'id', - displayField: 'displayName', - listWidth: 300, - store: tousseStore, - pageSize: 25, - listConfig: { width: 300 }, - lazyInit: true, - triggerAction: 'all', - hideTrigger: true, - typeAhead: false, - anchor: '95%', - listeners: { - select: function (combo, record, index) { - top.Ext4.getCmp('tousseDefinitionId').setValue(record[0].data.id); + layout: 'form', + columnWidth: 0.9, + border: false, + items: [{ + xtype: 'hidden', + id: 'tousseDefinitionId_0', + name: 'tousseDefinitionId_0' + }, { + fieldLabel: '物品名称', + xtype: 'combo', + id: 'tousseDefinitionName_0', + name: 'tousseDefinitionName_0', + queryParam: 'spell', + minChars: 0, + valueField: 'id', + displayField: 'displayName', + listWidth: 300, + store: tousseStore, + pageSize: 25, + listConfig: { width: 300 }, + lazyInit: true, + triggerAction: 'all', + hideTrigger: true, + typeAhead: false, + anchor: '95%', + listeners: { + select: function (combo, record, index) { + top.Ext4.getCmp('tousseDefinitionId_0').setValue(record[0].data.id); + } } - } + }] + }, { + layout: 'form', + columnWidth: .1, + border: false, + height: 28, + hidden: id !== '', + items: [{ + xtype: 'button', + tooltip: '添加', + iconCls: 'btn_ext_add', + style: 'margin-left: 10px;padding-top: 4px;', + handler: function () { + var hiddenTousseCount = top.Ext4.getCmp('hiddenTousseCount').getValue(); + addTousseBox(parseInt(hiddenTousseCount) + 1); + } + }] }] - }] - }, { - layout: 'column', - border: false, - columnWidth: 0.95, - items: [{ - xtype: 'hidden', - id: 'urgentInfoId_0', - name: 'urgentInfoId_0' }, { - layout: 'form', - columnWidth: .35, + layout: 'column', border: false, + columnWidth: 0.95, items: [{ - xtype: 'numberfield', - allowDecimals: false, - allowNegative: false, - minValue: 1, - name: 'reservationUrgentAmount_0', - id: 'reservationUrgentAmount_0', - fieldLabel: "加急数量", - anchor: '95%' - }] - }, { - layout: 'form', - columnWidth: .5, - border: false, - items: [{ xtype: 'hidden', - id: 'urgentLevelId_0', - name: 'urgentLevelId_0' + id: 'urgentInfoId_0_0', + name: 'urgentInfoId_0_0' }, { - xtype: 'combo', - fieldLabel: '加急等级', - id: 'urgentLevelName_0', - name: 'urgentLevelName_0', - store: urgentLevelStore, - valueField: 'urgentLevel', - displayField: 'urgentLevel', - minChars: 0, - forceSelection: true, - lazyInit: true, - editable: false, - triggerAction: 'all', - anchor: '95%', - typeAhead: false, - listeners: { - select: function (combo, record, index) { - top.Ext4.getCmp('urgentLevelId_0').setValue(record[0].data.id); + layout: 'form', + columnWidth: .35, + border: false, + items: [{ + xtype: 'numberfield', + allowDecimals: false, + allowNegative: false, + minValue: 1, + name: 'reservationUrgentAmount_0_0', + id: 'reservationUrgentAmount_0_0', + fieldLabel: "加急数量", + anchor: '95%' + }] + }, { + layout: 'form', + columnWidth: .43, + border: false, + items: [{ + xtype: 'hidden', + id: 'urgentLevelId_0_0', + name: 'urgentLevelId_0_0' + }, { + xtype: 'combo', + fieldLabel: '加急等级', + id: 'urgentLevelName_0_0', + name: 'urgentLevelName_0_0', + store: urgentLevelStore, + valueField: 'urgentLevel', + displayField: 'urgentLevel', + minChars: 0, + forceSelection: true, + lazyInit: true, + editable: false, + triggerAction: 'all', + anchor: '95%', + typeAhead: false, + listeners: { + select: function (combo, record, index) { + top.Ext4.getCmp('urgentLevelId_0_0').setValue(record[0].data.id); + } } - } + }] + }, { + layout: 'form', + columnWidth: .1, + border: false, + height: 28, + items: [{ + xtype: 'button', + tooltip: '添加', + iconCls: 'btn_ext_add', + style: 'margin-left: 10px;padding-top: 4px;', + handler: function () { + var hiddenUrgentLevelCount = top.Ext4.getCmp('hiddenUrgentLevelCount_0').getValue(); + addUrgentBox(0, parseInt(hiddenUrgentLevelCount) + 1); + } + }] }] - }, { - layout: 'form', - columnWidth: .1, - border: false, - height: 28, - items: [{ - xtype: 'button', - tooltip: '添加', - iconCls: 'btn_ext_add', - style: 'margin-left: 10px;padding-top: 4px;', - handler: function () { - var hiddenUrgentLevelCount = top.Ext4.getCmp('hiddenUrgentLevelCount').getValue(); - addUrgentBox(parseInt(hiddenUrgentLevelCount) + 1); - } - }] }] }], buttonAlign: 'center', @@ -189,43 +214,43 @@ win.show(); if (objInfo) { urgentLevelStore.load(); - top.Ext4.getCmp('hiddenUrgentLevelCount').setValue(objInfo.data.children.length); + top.Ext4.getCmp('hiddenUrgentLevelCount_0').setValue(objInfo.data.children.length); top.Ext4.getCmp('id').setValue(objInfo.data.id); - top.Ext4.getCmp('tousseDefinitionId').setValue(objInfo.data.tousseDefinitionId); - top.Ext4.getCmp('tousseDefinitionName').setRawValue(objInfo.data.tousseName); - top.Ext4.getCmp('tousseDefinitionName').disable(); + top.Ext4.getCmp('tousseDefinitionId_0').setValue(objInfo.data.tousseDefinitionId); + top.Ext4.getCmp('tousseDefinitionName_0').setRawValue(objInfo.data.tousseName); + top.Ext4.getCmp('tousseDefinitionName_0').disable(); if (objInfo.data.children.length > 0) { - top.Ext4.getCmp('urgentInfoId_0').setValue(objInfo.data.children[0].urgentInfoId); - top.Ext4.getCmp('reservationUrgentAmount_0').setValue(objInfo.data.children[0].reservationUrgentAmount); - top.Ext4.getCmp('urgentLevelId_0').setValue(objInfo.data.children[0].urgentLevelId); - top.Ext4.getCmp('urgentLevelName_0').setValue(objInfo.data.children[0].urgentLevelName); + top.Ext4.getCmp('urgentInfoId_0_0').setValue(objInfo.data.children[0].urgentInfoId); + top.Ext4.getCmp('reservationUrgentAmount_0_0').setValue(objInfo.data.children[0].reservationUrgentAmount); + top.Ext4.getCmp('urgentLevelId_0_0').setValue(objInfo.data.children[0].urgentLevelId); + top.Ext4.getCmp('urgentLevelName_0_0').setValue(objInfo.data.children[0].urgentLevelName); } if (objInfo.data.children.length > 1) { for (var i = 1; i < objInfo.data.children.length; i++) { - addUrgentBox(i); - top.Ext4.getCmp('urgentInfoId_' + i).setValue(objInfo.data.children[i].urgentInfoId); - top.Ext4.getCmp('reservationUrgentAmount_' + i).setValue(objInfo.data.children[i].reservationUrgentAmount); - top.Ext4.getCmp('urgentLevelId_' + i).setValue(objInfo.data.children[i].urgentLevelId); - top.Ext4.getCmp('urgentLevelName_' + i).setValue(objInfo.data.children[i].urgentLevelName); + addUrgentBox(0, i); + top.Ext4.getCmp('urgentInfoId_0_' + i).setValue(objInfo.data.children[i].urgentInfoId); + top.Ext4.getCmp('reservationUrgentAmount_0_' + i).setValue(objInfo.data.children[i].reservationUrgentAmount); + top.Ext4.getCmp('urgentLevelId_0_' + i).setValue(objInfo.data.children[i].urgentLevelId); + top.Ext4.getCmp('urgentLevelName_0_' + i).setValue(objInfo.data.children[i].urgentLevelName); if (objInfo.data.children[i].urgentAmount > 0) { - top.Ext4.getCmp('deleteBtn_' + i).hide(); + top.Ext4.getCmp('deleteBtn_0_' + i).hide(); } } } } } //添加预约加急等级 -function addUrgentBox(count) { - top.Ext4.getCmp('formPanel').add({ +function addUrgentBox(tousseIndex, count) { + top.Ext4.getCmp('urgentFieldset_' + tousseIndex).add({ layout: 'column', border: false, columnWidth: 0.95, - id: 'urgentLevelBox_' + count, + id: 'urgentLevelBox_' + tousseIndex + '_' + count, items: [{ xtype: 'hidden', - id: 'urgentInfoId_' + count, - name: 'urgentInfoId_' + count + id: 'urgentInfoId_' + tousseIndex + '_' + count, + name: 'urgentInfoId_' + tousseIndex + '_' + count }, { layout: 'form', columnWidth: .35, @@ -235,24 +260,24 @@ allowDecimals: false, allowNegative: false, minValue: 1, - name: 'reservationUrgentAmount_' + count, - id: 'reservationUrgentAmount_' + count, + name: 'reservationUrgentAmount_' + tousseIndex + '_' + count, + id: 'reservationUrgentAmount_' + tousseIndex + '_' + count, fieldLabel: "加急数量", anchor: '95%' }] }, { layout: 'form', - columnWidth: .5, + columnWidth: .43, border: false, items: [{ xtype: 'hidden', - id: 'urgentLevelId_' + count, - name: 'urgentLevelId_' + count + id: 'urgentLevelId_' + tousseIndex + '_' + count, + name: 'urgentLevelId_' + tousseIndex + '_' + count }, { xtype: 'combo', fieldLabel: '加急等级', - id: 'urgentLevelName_' + count, - name: 'urgentLevelName_' + count, + id: 'urgentLevelName_' + tousseIndex + '_' + count, + name: 'urgentLevelName_' + tousseIndex + '_' + count, store: urgentLevelStore, valueField: 'urgentLevel', displayField: 'urgentLevel', @@ -265,7 +290,7 @@ typeAhead: false, listeners: { select: function (combo, record, index) { - top.Ext4.getCmp('urgentLevelId_' + count).setValue(record[0].data.id); + top.Ext4.getCmp('urgentLevelId_' + tousseIndex + '_' + count).setValue(record[0].data.id); } } }] @@ -274,85 +299,232 @@ columnWidth: .1, border: false, height: 28, - id: 'deleteBtn_' + count, + id: 'deleteBtn_' + tousseIndex + '_' + count, items: [{ xtype: 'button', tooltip: '删除', iconCls: 'btn_ext_close', style: 'margin-left: 10px;padding-top: 4px;', - handler: function () { - deleteUrgentBox(count); + tousseIndex: tousseIndex, + urgentIndex: count, + handler: function (that) { + deleteUrgentBox(that.tousseIndex, that.urgentIndex); } }] }] }); - top.Ext4.getCmp('hiddenUrgentLevelCount').setValue(count) - top.Ext4.getCmp('formPanel').doLayout(); + top.Ext4.getCmp('hiddenUrgentLevelCount_' + tousseIndex).setValue(count) + top.Ext4.getCmp('urgentFieldset_' + tousseIndex).doLayout(); } //删除预约加急等级 -function deleteUrgentBox(hiddenIndex) { - top.Ext4.getCmp('formPanel').remove('urgentLevelBox_' + hiddenIndex); +function deleteUrgentBox(tousseIndex, hiddenIndex) { + top.Ext4.getCmp('urgentFieldset_' + tousseIndex).remove('urgentLevelBox_' + tousseIndex + '_' + hiddenIndex); + top.Ext4.getCmp('urgentFieldset_' + tousseIndex).doLayout(); +} + +//添加预约物品 +function addTousseBox(tousseIndex) { + top.Ext4.getCmp('formPanel').add({ + id: 'urgentFieldset_' + tousseIndex, + autoHeight: true, + items: [{ + layout: 'column', + autoHeight: true, + width: 430, + border: false, + items: [{ + xtype: 'hidden', + id: 'hiddenUrgentLevelCount_' + tousseIndex, + name: 'hiddenUrgentLevelCount_' + tousseIndex, + value: 0 + }, { + layout: 'form', + columnWidth: 0.9, + border: false, + items: [{ + xtype: 'hidden', + id: 'tousseDefinitionId_' + tousseIndex, + name: 'tousseDefinitionId_' + tousseIndex + }, { + fieldLabel: '物品名称', + xtype: 'combo', + id: 'tousseDefinitionName_' + tousseIndex, + name: 'tousseDefinitionName_' + tousseIndex, + queryParam: 'spell', + minChars: 0, + valueField: 'id', + displayField: 'displayName', + listWidth: 300, + store: tousseStore, + pageSize: 25, + listConfig: { width: 300 }, + lazyInit: true, + triggerAction: 'all', + hideTrigger: true, + typeAhead: false, + anchor: '95%', + listeners: { + select: function (combo, record, index) { + top.Ext4.getCmp('tousseDefinitionId_' + tousseIndex).setValue(record[0].data.id); + } + } + }] + }, { + layout: 'form', + columnWidth: .1, + border: false, + height: 28, + items: [{ + xtype: 'button', + tooltip: '删除', + iconCls: 'btn_ext_close', + style: 'margin-left: 10px;padding-top: 4px;', + tousseIndex: tousseIndex, + handler: function (that) { + deleteTousseBox(that.tousseIndex); + } + }] + }] + }, { + layout: 'column', + border: false, + columnWidth: 0.95, + items: [{ + xtype: 'hidden', + id: 'urgentInfoId_' + tousseIndex + '_0', + name: 'urgentInfoId_' + tousseIndex + '_0' + }, { + layout: 'form', + columnWidth: .35, + border: false, + items: [{ + xtype: 'numberfield', + allowDecimals: false, + allowNegative: false, + minValue: 1, + name: 'reservationUrgentAmount_' + tousseIndex + '_0', + id: 'reservationUrgentAmount_' + tousseIndex + '_0', + fieldLabel: "加急数量", + anchor: '95%' + }] + }, { + layout: 'form', + columnWidth: .43, + border: false, + items: [{ + xtype: 'hidden', + id: 'urgentLevelId_' + tousseIndex + '_0', + name: 'urgentLevelId_' + tousseIndex + '_0' + }, { + xtype: 'combo', + fieldLabel: '加急等级', + id: 'urgentLevelName_' + tousseIndex + '_0', + name: 'urgentLevelName_' + tousseIndex + '_0', + store: urgentLevelStore, + valueField: 'urgentLevel', + displayField: 'urgentLevel', + minChars: 0, + forceSelection: true, + lazyInit: true, + editable: false, + triggerAction: 'all', + anchor: '95%', + typeAhead: false, + listeners: { + select: function (combo, record, index) { + top.Ext4.getCmp('urgentLevelId_' + tousseIndex + '_0').setValue(record[0].data.id); + } + } + }] + }, { + layout: 'form', + columnWidth: .1, + border: false, + height: 28, + items: [{ + xtype: 'button', + tooltip: '添加', + iconCls: 'btn_ext_add', + style: 'margin-left: 10px;padding-top: 4px;', + tousseIndex: tousseIndex, + handler: function (that) { + var hiddenUrgentLevelCount = top.Ext4.getCmp('hiddenUrgentLevelCount_' + that.tousseIndex).getValue(); + addUrgentBox(that.tousseIndex, parseInt(hiddenUrgentLevelCount) + 1); + } + }] + }] + }] + }); + + top.Ext4.getCmp('hiddenTousseCount').setValue(tousseIndex) top.Ext4.getCmp('formPanel').doLayout(); } -//保存预约加急物品 +//删除预约物品 +function deleteTousseBox(tousseIndex) { + top.Ext4.getCmp('formPanel').remove('urgentFieldset_' + tousseIndex); + top.Ext4.getCmp('formPanel').doLayout(); +} + +//保存预约物品 function saveUrgentReservationTousse(useRecordUrgentReservationId) { - var hiddenUrgentLevelCount = top.Ext4.getCmp('hiddenUrgentLevelCount').getValue(); - var tousseDefinitionId = top.Ext4.getCmp('tousseDefinitionId').getValue(); + var hiddenTousseCount = top.Ext4.getCmp('hiddenTousseCount').getValue(); var id = top.Ext4.getCmp('id').getValue(); - if (!tousseDefinitionId) { - showResult('物品不能为空!'); - return - } - var children = []; - var k = 0; - var isNull = false; - var amountIs0 = false; - for (var i = 0; i <= hiddenUrgentLevelCount; i++) { - if (top.Ext4.getCmp('urgentInfoId_' + i)) { - var urgentInfoId = top.Ext4.getCmp('urgentInfoId_' + i).getValue(); - var reservationUrgentAmount = top.Ext4.getCmp('reservationUrgentAmount_' + i).getValue() || ''; - var urgentLevelId = top.Ext4.getCmp('urgentLevelId_' + i).getValue() || ''; - if (urgentLevelId == '') { - isNull = true; + var msg = ''; + var paramsArr = []; + for (var k = 0; k <= hiddenTousseCount; k++) { + if (top.Ext4.getCmp('hiddenUrgentLevelCount_' + k)) { + var hiddenUrgentLevelCount = top.Ext4.getCmp('hiddenUrgentLevelCount_' + k).getValue(); + var tousseDefinitionId = top.Ext4.getCmp('tousseDefinitionId_' + k).getValue(); + if (!tousseDefinitionId) { + msg = '物品不能为空!'; break; } - if (reservationUrgentAmount == '' || parseInt(reservationUrgentAmount) < 1) { - amountIs0 = true; - break; + var children = []; + var z = 0; + for (var i = 0; i <= hiddenUrgentLevelCount; i++) { + if (top.Ext4.getCmp('urgentInfoId_' + k + '_' + i)) { + var urgentInfoId = top.Ext4.getCmp('urgentInfoId_' + k + '_' + i).getValue(); + var reservationUrgentAmount = top.Ext4.getCmp('reservationUrgentAmount_' + k + '_' + i).getValue() || ''; + var urgentLevelId = top.Ext4.getCmp('urgentLevelId_' + k + '_' + i).getValue() || ''; + if (urgentLevelId == '') { + msg = '加急物品不能为空!'; + break; + } + if (reservationUrgentAmount == '' || parseInt(reservationUrgentAmount) < 1) { + msg = '加急数量不能为空或小于1!'; + break; + } + children.push({ + urgentInfoId: urgentInfoId || '', + reservationUrgentAmount: reservationUrgentAmount, + urgentLevelId: urgentLevelId, + sequence: z + }) + z++ + } } - children.push({ - urgentInfoId: urgentInfoId || '', - reservationUrgentAmount: reservationUrgentAmount, - urgentLevelId: urgentLevelId, - sequence: k + paramsArr.push({ + tousseDefinitionId: tousseDefinitionId, + useRecordUrgentReservationId: useRecordUrgentReservationId, + id: id || '', + children: children }) - k++ } } - if (isNull) { - showResult('加急物品不能为空!'); - return + if (msg !== '') { + showResult(msg); + return; } - if (amountIs0) { - showResult('加急数量不能为空或小于1!'); - return - } - var params = { - tousseDefinitionId: tousseDefinitionId, - useRecordUrgentReservationId: useRecordUrgentReservationId, - id: id || '', - children: children - } Ext4.Ajax.request({ - url: WWWROOT + '/disinfectSystem/baseData/useRecord/useRecordUrgentReservationController/saveUrgentReservationTousse.mhtml', + url: WWWROOT + '/disinfectSystem/baseData/useRecord/useRecordUrgentReservationController/batchSaveUrgentReservationTousse.mhtml', method: 'POST', headers: { 'Content-Type': 'application/json' }, - jsonData: params, + jsonData: JSON.stringify(paramsArr), success: function (response, options) { var result = Ext4.decode(response.responseText); if (result.success) {