Index: ssts-web/src/main/resources/systemset/operationDefine.xml =================================================================== diff -u -r38749 -r38837 --- ssts-web/src/main/resources/systemset/operationDefine.xml (.../operationDefine.xml) (revision 38749) +++ ssts-web/src/main/resources/systemset/operationDefine.xml (.../operationDefine.xml) (revision 38837) @@ -459,6 +459,7 @@ + Index: ssts-web/src/main/webapp/disinfectsystem/interfere/invoice/invoiceView.jsp =================================================================== diff -u -r29513 -r38837 --- ssts-web/src/main/webapp/disinfectsystem/interfere/invoice/invoiceView.jsp (.../invoiceView.jsp) (revision 29513) +++ ssts-web/src/main/webapp/disinfectsystem/interfere/invoice/invoiceView.jsp (.../invoiceView.jsp) (revision 38837) @@ -39,6 +39,7 @@ + @@ -89,6 +90,14 @@ SSTS_Invoice_updateTime = false; + +var SSTS_InterfereSettleDepart_ViewMenu = true; + + if(sstsConfig.enableSettleDepartIntervenesInTheSplitOfInvoiceView){ + SSTS_InterfereSettleDepart_ViewMenu = false + } + + var today = '<%=request.getAttribute("today")%>'; @@ -115,6 +124,19 @@
+ + + + + + + + + + + + +
\ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/config/szsdsrmyy/config.js =================================================================== diff -u -r38490 -r38837 --- ssts-web/src/main/webapp/disinfectsystem/config/szsdsrmyy/config.js (.../config.js) (revision 38490) +++ ssts-web/src/main/webapp/disinfectsystem/config/szsdsrmyy/config.js (.../config.js) (revision 38837) @@ -316,6 +316,8 @@ enableDisplayRecyclingTimeOfrecyclingRecordList:true, //允许在回收申请单中修改外来器械包的价格 enableModifyThePriceOfForeignTousseInrecyclingRecord:true, +//启用发货记录的结算科室干预拆分功能 +enableSettleDepartIntervenesInTheSplitOfInvoiceView:true, //是否启用装配管理的加急功能 enableSetUrgentOfPackin:true, //回收是否修改申请单备注,true修改 Index: ssts-web/src/main/webapp/disinfectsystem/invoice/invoiceViewCommon.js =================================================================== diff -u --- ssts-web/src/main/webapp/disinfectsystem/invoice/invoiceViewCommon.js (revision 0) +++ ssts-web/src/main/webapp/disinfectsystem/invoice/invoiceViewCommon.js (revision 38837) @@ -0,0 +1,614 @@ +var searchTbar1 = []; //第1行过滤tbar +var searchTbar1Width = 0; //第1行过滤tbar的宽度 +var searchTbar2 = []; //第2行过滤tbar +var searchTbar2Width = 0; //第2行过滤tbar的宽度 +var searchTbar3 = []; //第3行过滤tbar +var searchTbar3Width = 0; //第3行过滤tbar的宽度 +var searchTbar4 = []; //第4行过滤tbar +var searchTbar4Width = 0; //第4行过滤tbar的宽度 +var searchTbarMaxWidth = document.body.clientWidth - 30; //每一行搜索的工具栏的最大宽度 +var searchTbarWidth = 0; //过滤tbar的总宽度 + +/** + * 把过滤的tbar加到对应的组内(自适应各个分辨率). + * @param searchTbarArr 需要添加的过滤的tbar + * @param width + */ +function addSearchTbar(searchTbarArr, width) { + var tempWidth = searchTbarWidth + width; + var flag1 = false; + var flag2 = false; + var flag3 = false; + if (0 < tempWidth && tempWidth <= searchTbarMaxWidth) { + if (width <= (searchTbarMaxWidth - searchTbar1Width)) { + searchTbar1 = searchTbar1.concat(searchTbarArr); + searchTbar1Width += width; + } else if (width <= (searchTbarMaxWidth - searchTbar2Width)) { + searchTbar2 = searchTbar2.concat(searchTbarArr); + searchTbar2Width += width; + } + } else if (flag1 || (searchTbarMaxWidth < tempWidth && tempWidth <= searchTbarMaxWidth * 2)) { + if (width <= (searchTbarMaxWidth - searchTbar2Width)) { + searchTbar2 = searchTbar2.concat(searchTbarArr); + searchTbar2Width += width; + } else if (width <= (searchTbarMaxWidth - searchTbar3Width)) { + searchTbar3 = searchTbar3.concat(searchTbarArr); + searchTbar3Width += width; + } + } else if (flag2 || (2 * searchTbarMaxWidth < tempWidth && tempWidth <= searchTbarMaxWidth * 3)) { + if (width <= (searchTbarMaxWidth - searchTbar3Width)) { + searchTbar3 = searchTbar3.concat(searchTbarArr); + searchTbar3Width += width; + } else if (width <= (searchTbarMaxWidth - searchTbar4Width)) { + searchTbar4 = searchTbar4.concat(searchTbarArr); + searchTbar4Width += width; + } + } else if (flag3 || (3 * searchTbarMaxWidth < tempWidth && tempWidth <= searchTbarMaxWidth * 4)) { + if (width <= (searchTbarMaxWidth - searchTbar4Width)) { + searchTbar4 = searchTbar4.concat(searchTbarArr); + searchTbar4Width += width; + } + } + searchTbarWidth = tempWidth; +} + +//查询 +function reloadTimeField() { + var startDate = Ext.getCmp("startDate").getValue(); + var endDate = Ext.getCmp("endDate").getValue(); + if (isUndefinedOrNullOrEmpty(startDate) || isUndefinedOrNullOrEmpty(endDate)) { + Ext.Msg.alert('警告', '时间不能为空!'); + return; + } + var value1 = Date.parse(startDate); + var value2 = Date.parse(endDate); + if (value1 > value2) { + Ext.Msg.alert('警告', '开始时间不能大于结束时间!'); + return; + } + document.getElementById('parm_s_startTime').value = value1; + document.getElementById('parm_s_endTime').value = value2; + grid.dwrReload(); +} + +/** + * 创建下拉选项统一方法(xtype可以是combo或者multiSelect,如果要使用multiSelect则要引入multiSelect的js和css) + * @param comboConfig 下拉选项的配置 + * @returns + */ +function createCombo(comboConfig) { + var storeConfig = comboConfig.storeConfig; + return { + xtype: comboConfig.xtype || 'combo', + id: comboConfig.id, + name: comboConfig.name, + fieldLabel: comboConfig.fieldLabel, + store: new Ext.data.Store({ + proxy: new Ext.data.HttpProxy({ + url: storeConfig.url, + method: 'POST' + }), + reader: new Ext.data.JsonReader({ + root: 'data', + totalProperty: 'totalCount' + }, storeConfig.model + ) + }), + width: comboConfig.width || 150, + mode: comboConfig.mode || 'remote', + triggerAction: 'all', + listWidth: comboConfig.listWidth || 150, + displayField: comboConfig.displayField, + valueField: comboConfig.valueField, + forceSelection: Ext.isEmpty(comboConfig.forceSelection) ? true : comboConfig.forceSelection, + value: (comboConfig.value == null ? '' : comboConfig.value), + editable: comboConfig.editable, + queryParam: comboConfig.queryParam ? comboConfig.queryParam : 'spell', + minChars: comboConfig.minChars ? comboConfig.minChars : 0, + listeners: comboConfig.listeners + }; +} + +/** + * 创建申请科室的过滤条件. + * @returns + */ +function createApplyDepartmentCombo() { + var applyDepartmentConfig = { + url: WWWROOT + '/systemmanage/orgUnit/searchApplyDepartmentByKeyWord.do?onlyOneself=false', + model: [ + { name: 'departmentCode', mapping: 'departmentCode' }, + { name: 'departmentName', mapping: 'departmentName' } + ] + } + return createCombo({ + id: 'applyDepartment', + name: 'applyDepartment', + xtype: 'combo', + storeConfig: applyDepartmentConfig, + editable: true, + fieldLabel: '按申请科室', + displayField: 'departmentName', + valueField: 'departmentCode', + listWidth: 200, + forceSelection: true, + queryParam: 'spell', + value: '', + minChars: 0, + listeners: { + select: function (combo, record, index) { + reloadConditionPara(combo.getValue(), 'parm_s_applyDepartmentCode'); + } + } + }); +} + +/** + * 创建结算科室的过滤条件. + * @returns + */ +function createSettleAccountsDepartmentCombo() { + var settleAccountsDepartmentConfig = { + url: WWWROOT + '/disinfectSystem/baseData/supplyRoomConfigAction!getSettleAccountsDepartJson.do', + model: [ + { name: 'departmentCode', mapping: 'id' }, + { name: 'departmentName', mapping: 'name' } + ] + } + return createCombo({ + id: 'settleAccountsDepartment', + name: 'settleAccountsDepartment', + xtype: 'combo', + storeConfig: settleAccountsDepartmentConfig, + editable: true, + fieldLabel: '按结算科室', + displayField: 'departmentName', + valueField: 'departmentCode', + listWidth: 200, + forceSelection: true, + queryParam: 'spell', + value: '', + minChars: 0, + listeners: { + select: function (combo, record, index) { + reloadConditionPara(combo.getValue(), 'parm_s_settleAccountsDepartmentCode'); + } + } + }); +} +/** + * 创建按物品的过滤条件. + * @returns + */ +function createGoodsCombo() { + var goodsConfig = { + url: WWWROOT + '/disinfectSystem/baseData/tousseDefinitionAction!searchInsideTousseAndDiposableGoods.do', + model: [ + { name: 'id', mapping: 'id' }, + { name: 'name', mapping: 'name' }, + { name: 'type', mapping: 'type' } + ] + } + return createCombo({ + id: 'goods', + name: 'goods', + xtype: 'combo', + storeConfig: goodsConfig, + editable: true, + displayField: 'name', + valueField: 'id', + listWidth: 300, + forceSelection: true, + queryParam: 'spell', + value: '', + minChars: 0, + listeners: { + select: function (combo, record, index) { + var parm_s_goodsType = document.getElementById('parm_s_goodsType'); + parm_s_goodsType.value = record.get('type'); + reloadConditionPara(record.get('id'), 'parm_s_goodsId'); + } + } + }); +} + + +/** + * 创建按器械包类型下拉选项 + * @returns + */ +function createTousseTypeCombo() { + var touseTypeStoreConfig = { + url: WWWROOT + '/disinfectSystem/baseData/tousseDefinitionAction!getAllTousseType.do', + model: [{ name: 'tousseType', mapping: 'tousseType' }] + } + return createCombo({ + id: 'touseType', + name: 'touseType', + xtype: 'multiSelect', + fieldLabel: '按器械包类型', + valueField: 'tousseType', + displayField: 'tousseType', + storeConfig: touseTypeStoreConfig, + triggerAction: 'all', + allowBlank: false, + forceSelection: false, + readOnly: true, + listeners: { + select: function (combo, record, index) { + //1、如果选中“全部”的项,则把所有的项选中,反之全部取消选择 + if (record.get('tousseType') == '全部') { + if (record.get('checked')) { + combo.selectAll() + } else { + combo.deselectAll() + } + } + + //2、如果已经选中所有的项,则把“全部”项选中,反之把“全部”项取消选择 + var selectAll = true; + combo.store.each(function (record) { + if (record.get('tousseType') != '全部' && !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()); + reloadConditionPara(combo.getValue(), 'parm_s_selectedTousseType'); + } + } + }); +} + +/* + 可以获取当天时间的,可以获取到当天的00:00和23:59 + dateformat 日期格式 + extObj Ext对象 + fieldId 要设置时间区域的id + */ +function getServerCurTime(dateformat, extObj, fieldId) { + Ext.Ajax.request({ + url: WWWROOT + '/system/serverTimeAction!getTodayDataTime.do', + params: { dateformat: dateformat }, + success: function (response, options) { + var result = Ext.decode(response.responseText); + if (result.success) { + if (extObj && fieldId && extObj.getCmp(fieldId)) { + extObj.getCmp(fieldId).setValue(result.data.startDateTime); + } + } else { + showResult(result.message); + } + }, + failure: function (response, options) { + showResult('获取服务器时间失败!'); + } + }); +} +/* + 可以获取每月第一天的00:00和每月当天的23:59 + dateformat 日期格式 + extObj Ext对象 + fieldId 要设置时间区域的id + */ +function getServerTime2(dateformat, extObj, fieldId) { + Ext.Ajax.request({ + url: WWWROOT + '/system/serverTimeAction!getDateTimeOfFirstDay.do', + params: { dateformat: dateformat }, + success: function (response, options) { + var result = Ext.decode(response.responseText); + if (result.success) { + if (extObj && fieldId && extObj.getCmp(fieldId)) { + if (fieldId == "startDate") { + extObj.getCmp("startDate").setValue(result.data.startDateTime); + } else if (fieldId == "endDate") { + extObj.getCmp("endDate").setValue(result.data.endDateTime); + } + } + } else { + showResult(result.message); + } + }, + failure: function (response, options) { + showResult('获取服务器时间失败!'); + } + }); +} + + +/** + * 创建打印状态过滤的下拉选项 + */ +function createPrintCombo() { + var printStatus = new Ext.data.SimpleStore({ + fields: ['key', 'val'], + data: [ + ['all', '全部'], + ['是', '是'], + ['否', '否'], + ['部分打印', '部分打印'] + ] + }); + + var printCombo = { + id: 'print', + name: 'print', + xtype: 'combo', + fieldLabel: '打印筛选', + store: printStatus, + width: 80, + mode: 'local', + triggerAction: 'all', + displayField: 'val', + forceSelection: true, + editable: false, + listeners: { + select: function (combo, record, index) { + var key = record.get('key'); + reloadConditionPara(key, 'parm_s_print'); + } + } + }; + return printCombo; +} + +/** + * 根据传过来的值来重新加载grid的dwr数据 + * @param fieldValue 传过来的值 + * @param domId dom节点的id + */ +function reloadConditionPara(fieldValue, domId) { + var dom = document.getElementById(domId); + dom.value = fieldValue; + var applyDepartment = Ext.getCmp('applyDepartment').getRawValue(); + var settleAccountsDepartment = Ext.getCmp('settleAccountsDepartment').getRawValue(); + var goods = Ext.getCmp('goods').getRawValue(); + + if (!applyDepartment) { + var parm_s_applyDepartmentCode = document.getElementById('parm_s_applyDepartmentCode'); + parm_s_applyDepartmentCode.value = ''; + } + if (!settleAccountsDepartment) { + var parm_s_settleAccountsDepartmentCode = document.getElementById('parm_s_settleAccountsDepartmentCode'); + parm_s_settleAccountsDepartmentCode.value = ''; + } + if (!goods) { + var parm_s_goodsType = document.getElementById('parm_s_goodsType'); + var parm_s_goodsId = document.getElementById('parm_s_goodsId'); + parm_s_goodsType.value = ''; + parm_s_goodsId.value = ''; + } + grid.dwrReload(); +} + +//刷新 +function refresh() { + grid.dwrReload(); +} + +//重置 +function reset() { + document.getElementById('parm_s_invoiceType').value = ''; + document.getElementById('parm_s_applyType').value = ''; + + document.getElementById('invoiceDepartGroup').value = ''; + document.getElementById('parm_s_selectedDepartCodes').value = ''; + + document.getElementById('tousseGroupName').value = ''; + document.getElementById('parm_s_selectedTousseGroupID').value = ''; + + document.getElementById('parm_s_startTime').value = ''; + document.getElementById('parm_s_endTime').value = ''; + + getServerCurTime('yyyy-MM-dd HH:mm', Ext, 'startDate') + getServerTime2('yyyy-MM-dd HH:mm', Ext, 'endDate'); + + if (sstsConfig.invoicePlanExtractedView_showDisposableGoodsType) { + document.getElementById('disposableGoodsType').value = ''; + document.getElementById('parm_s_disposableGoodsType').value = ''; + } + + //先将所有的过滤条件恢复默认,然后再刷新 + if (!sstsConfig.notShowGoodsSearchTbar) { + //按物品 + document.getElementById('parm_s_goodsType').value = ''; + document.getElementById('parm_s_goodsId').value = ''; + document.getElementById('goods').value = ''; + } + + if (!sstsConfig.notShowTousseTypeSearchTbar) { + //按器械包类型分组 + document.getElementById('touseType').value = ''; + document.getElementById('parm_s_selectedTousseType').value = ''; + } + + if (!sstsConfig.notShowApplyDepartmentSearchTbar) { + //按申请科室 + document.getElementById('applyDepartment').value = ''; + document.getElementById('parm_s_applyDepartmentCode').value = ''; + } + + if (!sstsConfig.notShowSettleAccountsDepartmentSearchTbar) { + //按结算科室 + document.getElementById('settleAccountsDepartment').value = ''; + document.getElementById('parm_s_settleAccountsDepartmentCode').value = ''; + } + + if (!sstsConfig.notShowPrintSearchTbar) { + //是否已打印 + document.getElementById('print').value = ''; + document.getElementById('parm_s_print').value = ''; + } + + if (sstsConfig.enableInvoiceSerialNumberCollectionCodeFunction) { + //发货单号集合码 + document.getElementById('idNumber').value = ''; + document.getElementById('parm_s_invoiceSerialNumberSetBarcode').value = ''; + } + + grid.dwrReload(); +} + +/** + * 创建过滤的tbar(自适应各个分辨率). + */ +function createSearchTbar() { + //2、按时间过滤(width=415) + var time = [{ text: '开始日期:' }, { + //xtype: sstsConfig.timeSearchFmt ? 'datefieldWithMin' : 'datefield', + xtype: 'datefieldWithMin', + fieldLabel: '开始日期', + name: 'startDate', + //format: sstsConfig.timeSearchFmt || 'Y-m-d', + format: 'Y-m-d H:i', + id: 'startDate', + readOnly: false, + editable: false, + theHours: 0, + theMinutes: 0, + //width: sstsConfig.timeSearchFmt ? 120 : 90, + width: 120 + }, { text: '结束日期:' }, { + //xtype: sstsConfig.timeSearchFmt ? 'datefieldWithMin' : 'datefield', + xtype: 'datefieldWithMin', + fieldLabel: '结束日期', + name: 'endDate', + id: 'endDate', + readOnly: false, + editable: false, + // format: sstsConfig.timeSearchFmt || 'Y-m-d', + format: 'Y-m-d H:i', + theHours: 23, + theMinutes: 59, + // width: sstsConfig.timeSearchFmt ? 120 : 90, + width: 120 + }, { + xtype: 'button', + text: '查询', + iconCls: 'icon_search', + handler: reloadTimeField + }]; + addSearchTbar(time, 415); + + //3、按申请科室过滤(width=230) + if (!sstsConfig.notShowApplyDepartmentSearchTbar) { + var applyDepartmentSearchTbarArr = []; + applyDepartmentSearchTbarArr.push({ text: '按申请科室:' }); + applyDepartmentSearchTbarArr.push(createApplyDepartmentCombo()); + addSearchTbar(applyDepartmentSearchTbarArr, 230); + } + + //4、按结算科室过滤(width=230) + if (!sstsConfig.notShowSettleAccountsDepartmentSearchTbar) { + var settleAccountsDepartmentSearchTbarArr = []; + settleAccountsDepartmentSearchTbarArr.push({ text: '按结算科室:' }); + settleAccountsDepartmentSearchTbarArr.push(createSettleAccountsDepartmentCombo()); + addSearchTbar(settleAccountsDepartmentSearchTbarArr, 230); + } + + //5、按物品过滤(width=200) + if (!sstsConfig.notShowGoodsSearchTbar) { + var goodsSearchTbarArr = []; + goodsSearchTbarArr.push({ text: '按物品:' }); + goodsSearchTbarArr.push(createGoodsCombo()); + addSearchTbar(goodsSearchTbarArr, 200); + } + + //6、按物品类型(width=235) + if (!sstsConfig.notShowTousseTypeSearchTbar) { + var tousseTypeSearchTbarArr = []; + tousseTypeSearchTbarArr.push({ text: '按物品类型:' }); + tousseTypeSearchTbarArr.push({ + xtype: 'multiSelect', + id: 'touseType', + name: 'touseType', + valueField: 'value', + displayField: 'key', + allowBlank: true, + editable: false, + fieldLabel: '类型', + width: 150, + emptyText: '请选择物品类型', + mode: 'local', + store: new Ext.data.SimpleStore({ + data: tousseTypeDataArray, + fields: ['key', 'value'] + }), + // forceSelection : true, + triggerAction: 'all', + listeners: { + select: function (combo, record, index) { + //1、如果选中“全部”的项,则把所有的项选中,反之全部取消选择 + if (record.get('value') == '全部') { + if (record.get('checked')) { + combo.selectAll() + } else { + combo.deselectAll() + } + } + + combo.setValue(combo.getCheckedValue()); + reloadConditionPara(combo.getValue(), 'parm_s_selectedTousseType'); + } + } + }); + addSearchTbar(tousseTypeSearchTbarArr, 235); + } + + //7、是否已打印(width=150) + if (!sstsConfig.notShowPrintSearchTbar) { + var printSearchTbarArr = []; + printSearchTbarArr.push({ text: '是否已打印:' }); + printSearchTbarArr.push(createPrintCombo()); + addSearchTbar(printSearchTbarArr, 150); + } + + //8、发货单号集合码(width=100) + if (sstsConfig.enableInvoiceSerialNumberCollectionCodeFunction) { + var invoiceSerialNumberSetBarcode = []; + invoiceSerialNumberSetBarcode.push({ text: '发货单号集合码:' }); + invoiceSerialNumberSetBarcode.push({ + xtype: 'textfield', + id: 'idNumber', + name: 'idNumber', + width: 100, + anchor: '95%', + listeners: { + specialkey: function (field, ee) { + if (ee.getKey() == Ext.EventObject.ENTER) { + var value = Ext.getCmp('idNumber').getValue(); + reloadConditionPara(value, 'parm_s_invoiceSerialNumberSetBarcode'); + } + } + } + }); + addSearchTbar(invoiceSerialNumberSetBarcode, 100); + } + + //simon-update + //刷新按钮 + var refreshBtn = { + xtype: 'button', + text: '刷新', + iconCls: 'btn_ext_refresh1', + handler: refresh + }; + addSearchTbar(refreshBtn, 100); + + //重置按钮 + var resetBtn = { + xtype: 'button', + text: '重置', + iconCls: 'icon_set', + handler: reset + }; + addSearchTbar(resetBtn, 100); + +} \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/interfere/invoice/invoiceView.js =================================================================== diff -u -r37868 -r38837 --- ssts-web/src/main/webapp/disinfectsystem/interfere/invoice/invoiceView.js (.../invoiceView.js) (revision 37868) +++ ssts-web/src/main/webapp/disinfectsystem/interfere/invoice/invoiceView.js (.../invoiceView.js) (revision 38837) @@ -32,6 +32,8 @@ {name : 'diposable'}, {name : 'price'}, {name : 'fluctuationPrice'}, + {name : 'settleAccountsDepart'}, + {name : 'settleAccountsDepartCoding'}, {name : 'storage'}, {name : 'batchNumber'}, {name : 'sterilizerName'}, @@ -112,6 +114,156 @@ } } +//SZSDSRMYY-166:修改结算科室 +var updateSettleAccountsDepartWin; +function updateSettleAccountsDepartFunction(){ + var record = top.Ext.getCmp('recyclingGrid2').getSelectionModel().getSelected(); + var updateSettleAccountsDepartForm = new top.Ext.FormPanel({ + id : 'form', + frame : true, + labelSeparator : ':', + labelAlign : 'right', + bodyStyle : 'padding:5px 5px 0px 5px', + autoHeight : true, + autoScroll : true, + items : [ { + layout : 'column', + items : [ { + columnWidth : 0.5, + layout : 'form', + labelWidth : 100, + items : [ { + xtype : 'textfield', + fieldLabel : '器械包名称', + id : 'name', + name : 'name', + readOnly:true, + cls : 'fieldReadOnlyNoRemove', + value:record.data.name, + anchor : '100%' + } ] + },{ + columnWidth : 0.5, + layout : 'form', + labelWidth : 100, + items : [ { + xtype : 'textfield', + fieldLabel : '器械包条码', + id : 'barcode', + name : 'barcode', + readOnly:true, + cls : 'fieldReadOnlyNoRemove', + value:record.data.barcode, + anchor : '100%' + } ] + },{ + columnWidth : 1, + layout : 'form', + labelWidth : 100, + items : [ { + xtype : 'textfield', + fieldLabel : '当前结算科室', + id : 'settleAccountsDepart', + name : 'settleAccountsDepart', + readOnly:true, + cls : 'fieldReadOnlyNoRemove', + value:record.data.settleAccountsDepart, + anchor : '100%' + } ] + },{ + columnWidth : 1, + layout : 'form', + labelWidth : 100, + items : [{ + xtype:'hidden', + id:'newSettleAccountsDepartCoding', + name:'newSettleAccountsDepartCoding' + },{ + xtype : 'combo', + fieldLabel : '干预结算科室', + id : 'newSettleAccountsDepart', + name : 'newSettleAccountsDepart', + queryParam : 'spell', + minChars : 0, + valueField : 'name', + displayField : 'name', + store : new top.Ext.data.Store({ + proxy : new top.Ext.data.HttpProxy({ + url : WWWROOT + '/disinfectSystem/baseData/supplyRoomConfigAction!getSettleAccountsDepartJson.do', + method : 'POST' + }), + reader : new top.Ext.data.JsonReader({ + root : 'data' + },[ + {name : 'id',mapping : 'id'}, + {name : 'name',mapping : 'name'} + ] + ) + }), + forceSelection : true, + lazyInit : true, + triggerAction : 'all', + hideTrigger : true, + typeAhead : false, + allowBlank : false, + anchor : '95%', + listeners:{ + select:function(combo, records, index){ + top.Ext.getCmp('newSettleAccountsDepartCoding').setValue(records.data.id) + }, + focus : function(thiz){ + thiz.selectText(); + } + } + } ] + }] + } ], + buttons : [ { + text : '确认', + handler : function(){ + var newSettleAccountsDepart = top.Ext.getCmp('newSettleAccountsDepart').getValue(); + var newSettleAccountsDepartCoding = top.Ext.getCmp('newSettleAccountsDepartCoding').getValue(); + if(newSettleAccountsDepart == '' && newSettleAccountsDepartCoding == ''){ + showResult('干预结算科室不能为空!'); + return + } + record.set('settleAccountsDepart',newSettleAccountsDepart); + record.set('settleAccountsDepartCoding',newSettleAccountsDepartCoding); + showResult('结算科室更新成功'); + updateSettleAccountsDepartWin.close(); + } + }, { + text : '取消', + handler : function(){ + updateSettleAccountsDepartWin.close(); + } + } ] + }); + + updateSettleAccountsDepartWin = new top.Ext.Window({ + id : 'updateSettleAccountsDepartWin', + layout : 'fit', + title : '修改结算科室 ', + width : 500, + border : false, + modal : true, + autoHeight : true, + plain : true, + items : [ updateSettleAccountsDepartForm ] + }); + updateSettleAccountsDepartWin.show(); +} + +//SZSDSRMYY-166:渲染结算科室 +function renderSettleAccountsDepartFunction(v, p, record){ + if(record.data.tousseType == '一次性物品' || SSTS_InterfereSettleDepart_ViewMenu){ + return v; + }else { + var str = " " + v + " "; + return str; + } +} + function addReturnTousseByInvoice(invoiceId){ document.location.href = WWWROOT+'/disinfectsystem/returnGoodsRecord/returnTousseByInvoice.jsp?invoiceId='+invoiceId; } @@ -159,6 +311,7 @@ {name : 'diposable'}, {name : 'price'}, {name : 'fluctuationPrice'}, + {name : 'settleAccountsDepart'}, {name : 'storage'}, {name : 'batchNumber'}, {name : 'tousseType'}, @@ -186,7 +339,6 @@ }, success : function(response, options) { var result = Ext.decode(response.responseText); - if (true) { var validatePass = result.data.validatePass; if (validatePass == false) { @@ -256,6 +408,8 @@ batchNumber : result.data.batchNumber, tousseType : result.data.tousseType, sterilizerName : result.data.sterilizerName, + settleAccountsDepart : result.data.settleAccountsDepart || '', + settleAccountsDepartCoding : result.data.settleAccountsDepartCoding || '', frequency : result.data.frequency, isTracable : result.data.isTracable, tousseDefinitionId : result.data.tousseDefinitionId, @@ -283,6 +437,8 @@ batchNumber : result.data.batchNumber, tousseType : result.data.tousseType, sterilizerName : result.data.sterilizerName, + settleAccountsDepart : result.data.settleAccountsDepart || '', + settleAccountsDepartCoding : result.data.settleAccountsDepartCoding || '', frequency : result.data.frequency, isTracable : result.data.isTracable, tousseDefinitionId : result.data.tousseDefinitionId, @@ -536,7 +692,7 @@ } }) }, - {header : "数量",dataIndex : 'count',width : 30,menuDisabled : true, + {header : "数量",dataIndex : 'count',width : 40,menuDisabled : true, editor : new Ext.form.NumberField ({ listeners : { focus:function(thiz){ @@ -584,7 +740,8 @@ } }) }, - {header : "发货类型",dataIndex : 'type',width : 40,menuDisabled : true} + {header : "发货类型",dataIndex : 'type',width : 60,menuDisabled : true}, + {header : "结算科室",dataIndex : 'settleAccountsDepart',width : 60,menuDisabled : true, hidden: !sstsConfig.enableSettleDepartIntervenesInTheSplitOfInvoiceView,renderer:renderSettleAccountsDepartFunction} ]); var form = new top.Ext.FormPanel({ @@ -873,12 +1030,27 @@ buttons : [{ text : '保存', handler : function() { - //只是保存备注,广州复大肿瘤医院GZFDZL-130 + var settleAccountsDepartArr = []; + var interfereAllGoods = true; + for ( var i = 0; i < tousseInstanceStore.getCount(); i++) { + var record = tousseInstanceStore.getAt(i); + settleAccountsDepartArr.push({ + settleAccountsDepart:record.data.settleAccountsDepart, + settleAccountsDepartCoding:record.data.settleAccountsDepartCoding, + tousseInstanceId:record.data.id + }); + if(record.data.tousseType !== '器械包'){ + interfereAllGoods = false; + } + } + //SZSDSRMYY-166:保存备注和结算科室 Ext.Ajax.request({ - url: WWWROOT + '/disinfectSystem/invoiceAction!modifyInvoiceRemark.do', + url: WWWROOT + '/disinfectSystem/invoiceAction!interfereInvoice.do', params : { - id : id, - remark1:top.Ext.getCmp("remark2").getValue() + invoiceId : id, + interfereAllGoods:interfereAllGoods, + remark1:top.Ext.getCmp("remark2").getValue(), + settleAccountsDepartArr:JSON.stringify(settleAccountsDepartArr) }, success : function(response,options) { showResult('保存成功'); @@ -1068,6 +1240,8 @@ var specification = record.get('specification'); var tousseType = record.get('tousseType'); var price = record.get('fluctuationPrice'); + var settleAccountsDepart = record.get('settleAccountsDepart'); + var settleAccountsDepartCoding = record.get('settleAccountsDepartCoding'); var amount = record.get('count'); var unit = record.get('unit'); var batchNumber = record.get('batchNumber'); @@ -1123,7 +1297,8 @@ obj.operationTime = operationTime; obj.validUntil = validUntil; obj.externalCode = externalCode; - + obj.settleAccountsDepart = settleAccountsDepart; + obj.settleAccountsDepartCoding = settleAccountsDepartCoding; obj.expireDate = expireDate; obj.certification = certification; obj.manufacturer = manufacturer; @@ -1150,7 +1325,8 @@ obj.sterilizerName = sterilizerName; obj.frequency = frequency; obj.externalCode = externalCode; - + obj.settleAccountsDepart = settleAccountsDepart; + obj.settleAccountsDepartCoding = settleAccountsDepartCoding; obj.expireDate = expireDate; obj.certification = certification; obj.manufacturer = manufacturer; @@ -1180,7 +1356,8 @@ obj.sterilizerName = sterilizerName; obj.frequency = frequency; obj.externalCode = externalCode; - + obj.settleAccountsDepart = settleAccountsDepart; + obj.settleAccountsDepartCoding = settleAccountsDepartCoding; obj.expireDate = expireDate; obj.certification = certification; obj.manufacturer = manufacturer; @@ -1212,6 +1389,8 @@ obj.sterilizerName = ""; obj.frequency = ""; obj.externalCode = ""; + obj.settleAccountsDepart = ""; + obj.settleAccountsDepartCoding = ""; jsonArray.push(obj); @@ -1748,6 +1927,7 @@ departGroupStore.insert(0, record); }); + var columns = [ {header : "流水号",width : 100,dataIndex : 'serialNumber',renderer : renderCallModifyFunction}, {header : "状态",width : 70,dataIndex : 'status',renderer : renderColor}, @@ -1819,8 +1999,9 @@ ] }); + //搜索的tbar + createSearchTbar(); - var tbar = [{ text : '修改发货时间', hidden : SSTS_Invoice_Update, @@ -2147,6 +2328,22 @@ autoExpandColumn : 'warehouseName', renderTo : 'gridDiv', frame : false, + listeners: { + 'render': function () { + if (searchTbar1.length > 0) { + new Ext.Toolbar({ items: searchTbar1 }).render(this.tbar); + } + if (searchTbar2.length > 0) { + new Ext.Toolbar({ items: searchTbar2 }).render(this.tbar); + } + if (searchTbar3.length > 0) { + new Ext.Toolbar({ items: searchTbar3 }).render(this.tbar); + } + if (searchTbar4.length > 0) { + new Ext.Toolbar({ items: searchTbar4 }).render(this.tbar); + } + } + }, getGridParameterMap: function(){ var selectedTousseTypeCmp = Ext.getCmp('tousseType'); var invoiceDepartGroupsCmp = Ext.getCmp('invoiceDepartGroup'); @@ -2296,6 +2493,9 @@ } } } + + getServerCurTime('yyyy-MM-dd HH:mm', Ext, 'startDate') + getServerTime2('yyyy-MM-dd HH:mm', Ext, 'endDate'); var viewport = new Ext.Viewport({ layout : 'border', Index: ssts-web/src/main/webapp/disinfectsystem/invoice/invoiceView.js =================================================================== diff -u -r38245 -r38837 --- ssts-web/src/main/webapp/disinfectsystem/invoice/invoiceView.js (.../invoiceView.js) (revision 38245) +++ ssts-web/src/main/webapp/disinfectsystem/invoice/invoiceView.js (.../invoiceView.js) (revision 38837) @@ -1989,461 +1989,7 @@ } }); } -var searchTbar1 = []; //第1行过滤tbar -var searchTbar1Width = 0; //第1行过滤tbar的宽度 -var searchTbar2 = []; //第2行过滤tbar -var searchTbar2Width = 0; //第2行过滤tbar的宽度 -var searchTbar3 = []; //第3行过滤tbar -var searchTbar3Width = 0; //第3行过滤tbar的宽度 -var searchTbar4 = []; //第4行过滤tbar -var searchTbar4Width = 0; //第4行过滤tbar的宽度 -var searchTbarMaxWidth = document.body.clientWidth - 30; //每一行搜索的工具栏的最大宽度 -var searchTbarWidth = 0; //过滤tbar的总宽度 -/** - * 把过滤的tbar加到对应的组内(自适应各个分辨率). - * @param searchTbarArr 需要添加的过滤的tbar - * @param width - */ -function addSearchTbar(searchTbarArr, width) { - var tempWidth = searchTbarWidth + width; - var flag1 = false; - var flag2 = false; - var flag3 = false; - var flag4 = false; - if (0 < tempWidth && tempWidth <= searchTbarMaxWidth) { - if (width <= (searchTbarMaxWidth - searchTbar1Width)) { - searchTbar1 = searchTbar1.concat(searchTbarArr); - searchTbar1Width += width; - } else if (width <= (searchTbarMaxWidth - searchTbar2Width)) { - searchTbar2 = searchTbar2.concat(searchTbarArr); - searchTbar2Width += width; - } - } else if (flag1 || (searchTbarMaxWidth < tempWidth && tempWidth <= searchTbarMaxWidth * 2)) { - if (width <= (searchTbarMaxWidth - searchTbar2Width)) { - searchTbar2 = searchTbar2.concat(searchTbarArr); - searchTbar2Width += width; - } else if (width <= (searchTbarMaxWidth - searchTbar3Width)) { - searchTbar3 = searchTbar3.concat(searchTbarArr); - searchTbar3Width += width; - } - } else if (flag2 || (2 * searchTbarMaxWidth < tempWidth && tempWidth <= searchTbarMaxWidth * 3)) { - if (width <= (searchTbarMaxWidth - searchTbar3Width)) { - searchTbar3 = searchTbar3.concat(searchTbarArr); - searchTbar3Width += width; - } else if (width <= (searchTbarMaxWidth - searchTbar4Width)) { - searchTbar4 = searchTbar4.concat(searchTbarArr); - searchTbar4Width += width; - } - } else if (flag3 || (3 * searchTbarMaxWidth < tempWidth && tempWidth <= searchTbarMaxWidth * 4)) { - if (width <= (searchTbarMaxWidth - searchTbar4Width)) { - searchTbar4 = searchTbar4.concat(searchTbarArr); - searchTbar4Width += width; - } - } - searchTbarWidth = tempWidth; -} -function reloadTimeField() { - var startDate = Ext.getCmp("startDate").getValue(); - var endDate = Ext.getCmp("endDate").getValue(); - if (isUndefinedOrNullOrEmpty(startDate) || isUndefinedOrNullOrEmpty(endDate)) { - Ext.Msg.alert('警告', '时间不能为空!'); - return; - } - var value1 = Date.parse(startDate); - var value2 = Date.parse(endDate); - if (value1 > value2) { - Ext.Msg.alert('警告', '开始时间不能大于结束时间!'); - return; - } - document.getElementById('parm_s_startTime').value = value1; - document.getElementById('parm_s_endTime').value = value2; - grid.dwrReload(); -} -/** - * 创建下拉选项统一方法(xtype可以是combo或者multiSelect,如果要使用multiSelect则要引入multiSelect的js和css) - * @param comboConfig 下拉选项的配置 - * @returns - */ -function createCombo(comboConfig) { - var storeConfig = comboConfig.storeConfig; - return { - xtype: comboConfig.xtype || 'combo', - id: comboConfig.id, - name: comboConfig.name, - fieldLabel: comboConfig.fieldLabel, - store: new Ext.data.Store({ - proxy: new Ext.data.HttpProxy({ - url: storeConfig.url, - method: 'POST' - }), - reader: new Ext.data.JsonReader({ - root: 'data', - totalProperty: 'totalCount' - }, storeConfig.model - ) - }), - width: comboConfig.width || 150, - mode: comboConfig.mode || 'remote', - triggerAction: 'all', - listWidth: comboConfig.listWidth || 150, - displayField: comboConfig.displayField, - valueField: comboConfig.valueField, - forceSelection: Ext.isEmpty(comboConfig.forceSelection) ? true : comboConfig.forceSelection, - value: (comboConfig.value == null ? '' : comboConfig.value), - editable: comboConfig.editable, - queryParam: comboConfig.queryParam ? comboConfig.queryParam : 'spell', - minChars: comboConfig.minChars ? comboConfig.minChars : 0, - listeners: comboConfig.listeners - }; -} -/** - * 创建申请科室的过滤条件. - * @returns - */ -function createApplyDepartmentCombo() { - var applyDepartmentConfig = { - url: WWWROOT + '/systemmanage/orgUnit/searchApplyDepartmentByKeyWord.do?onlyOneself=false', - model: [ - { name: 'departmentCode', mapping: 'departmentCode' }, - { name: 'departmentName', mapping: 'departmentName' } - ] - } - return createCombo({ - id: 'applyDepartment', - name: 'applyDepartment', - xtype: 'combo', - storeConfig: applyDepartmentConfig, - editable: true, - fieldLabel: '按申请科室', - displayField: 'departmentName', - valueField: 'departmentCode', - listWidth: 200, - forceSelection: true, - queryParam: 'spell', - value: '', - minChars: 0, - listeners: { - select: function (combo, record, index) { - reloadConditionPara(combo.getValue(), 'parm_s_applyDepartmentCode'); - } - } - }); -} -/** - * 创建结算科室的过滤条件. - * @returns - */ -function createSettleAccountsDepartmentCombo() { - var settleAccountsDepartmentConfig = { - url: WWWROOT + '/disinfectSystem/baseData/supplyRoomConfigAction!getSettleAccountsDepartJson.do', - model: [ - { name: 'departmentCode', mapping: 'id' }, - { name: 'departmentName', mapping: 'name' } - ] - } - return createCombo({ - id: 'settleAccountsDepartment', - name: 'settleAccountsDepartment', - xtype: 'combo', - storeConfig: settleAccountsDepartmentConfig, - editable: true, - fieldLabel: '按结算科室', - displayField: 'departmentName', - valueField: 'departmentCode', - listWidth: 200, - forceSelection: true, - queryParam: 'spell', - value: '', - minChars: 0, - listeners: { - select: function (combo, record, index) { - reloadConditionPara(combo.getValue(), 'parm_s_settleAccountsDepartmentCode'); - } - } - }); -} -/** - * 创建按物品的过滤条件. - * @returns - */ -function createGoodsCombo() { - var goodsConfig = { - url: WWWROOT + '/disinfectSystem/baseData/tousseDefinitionAction!searchInsideTousseAndDiposableGoods.do', - model: [ - { name: 'id', mapping: 'id' }, - { name: 'name', mapping: 'name' }, - { name: 'type', mapping: 'type' } - ] - } - return createCombo({ - id: 'goods', - name: 'goods', - xtype: 'combo', - storeConfig: goodsConfig, - editable: true, - displayField: 'name', - valueField: 'id', - listWidth: 300, - forceSelection: true, - queryParam: 'spell', - value: '', - minChars: 0, - listeners: { - select: function (combo, record, index) { - var parm_s_goodsType = document.getElementById('parm_s_goodsType'); - parm_s_goodsType.value = record.get('type'); - reloadConditionPara(record.get('id'), 'parm_s_goodsId'); - } - } - }); -} - - -/** - * 创建按器械包类型下拉选项 - * @returns - */ -function createTousseTypeCombo() { - var touseTypeStoreConfig = { - url: WWWROOT + '/disinfectSystem/baseData/tousseDefinitionAction!getAllTousseType.do', - model: [{ name: 'tousseType', mapping: 'tousseType' }] - } - return createCombo({ - id: 'touseType', - name: 'touseType', - xtype: 'multiSelect', - fieldLabel: '按器械包类型', - valueField: 'tousseType', - displayField: 'tousseType', - storeConfig: touseTypeStoreConfig, - triggerAction: 'all', - // id : 'tousseType', - // name : 'tousseType', - allowBlank: false, - //这个要设置成false,不然多选鼠标离开之后,combo上面的值不会显示 - forceSelection: false, - readOnly: true, - listeners: { - select: function (combo, record, index) { - //1、如果选中“全部”的项,则把所有的项选中,反之全部取消选择 - if (record.get('tousseType') == '全部') { - if (record.get('checked')) { - combo.selectAll() - } else { - combo.deselectAll() - } - } - - //2、如果已经选中所有的项,则把“全部”项选中,反之把“全部”项取消选择 - var selectAll = true; - combo.store.each(function (record) { - if (record.get('tousseType') != '全部' && !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()); - reloadConditionPara(combo.getValue(), 'parm_s_selectedTousseType'); - } - } - }); -} - -/* - 可以获取当天时间的,可以获取到当天的00:00和23:59 - dateformat 日期格式 - extObj Ext对象 - fieldId 要设置时间区域的id - */ -function getServerCurTime(dateformat, extObj, fieldId) { - Ext.Ajax.request({ - url: WWWROOT + '/system/serverTimeAction!getTodayDataTime.do', - params: { dateformat: dateformat }, - success: function (response, options) { - var result = Ext.decode(response.responseText); - if (result.success) { - if (extObj && fieldId && extObj.getCmp(fieldId)) { - extObj.getCmp(fieldId).setValue(result.data.startDateTime); - } - } else { - showResult(result.message); - } - }, - failure: function (response, options) { - showResult('获取服务器时间失败!'); - } - }); -} -/* - 可以获取每月第一天的00:00和每月当天的23:59 - dateformat 日期格式 - extObj Ext对象 - fieldId 要设置时间区域的id - */ -function getServerTime2(dateformat, extObj, fieldId) { - Ext.Ajax.request({ - url: WWWROOT + '/system/serverTimeAction!getDateTimeOfFirstDay.do', - params: { dateformat: dateformat }, - success: function (response, options) { - var result = Ext.decode(response.responseText); - if (result.success) { - if (extObj && fieldId && extObj.getCmp(fieldId)) { - if (fieldId == "startDate") { - extObj.getCmp("startDate").setValue(result.data.startDateTime); - } else if (fieldId == "endDate") { - extObj.getCmp("endDate").setValue(result.data.endDateTime); - } - } - } else { - showResult(result.message); - } - }, - failure: function (response, options) { - showResult('获取服务器时间失败!'); - } - }); -} - -/** - * 创建打印状态过滤的下拉选项 - */ -function createPrintCombo() { - var printStatus = new Ext.data.SimpleStore({ - fields: ['key', 'val'], - data: [ - ['all', '全部'], - ['是', '是'], - ['否', '否'], - ['部分打印', '部分打印'] - ] - }); - - var printCombo = { - id: 'print', - name: 'print', - xtype: 'combo', - fieldLabel: '打印筛选', - store: printStatus, - width: 80, - mode: 'local', - triggerAction: 'all', - displayField: 'val', - forceSelection: true, - editable: false, - listeners: { - select: function (combo, record, index) { - var key = record.get('key'); - reloadConditionPara(key, 'parm_s_print'); - } - } - }; - return printCombo; -} - -/** - * 根据传过来的值来重新加载grid的dwr数据 - * @param fieldValue 传过来的值 - * @param domId dom节点的id - */ -function reloadConditionPara(fieldValue, domId) { - var dom = document.getElementById(domId); - dom.value = fieldValue; - var applyDepartment = Ext.getCmp('applyDepartment').getRawValue(); - var settleAccountsDepartment = Ext.getCmp('settleAccountsDepartment').getRawValue(); - var goods = Ext.getCmp('goods').getRawValue(); - - if (!applyDepartment) { - var parm_s_applyDepartmentCode = document.getElementById('parm_s_applyDepartmentCode'); - parm_s_applyDepartmentCode.value = ''; - } - if (!settleAccountsDepartment) { - var parm_s_settleAccountsDepartmentCode = document.getElementById('parm_s_settleAccountsDepartmentCode'); - parm_s_settleAccountsDepartmentCode.value = ''; - } - if (!goods) { - var parm_s_goodsType = document.getElementById('parm_s_goodsType'); - var parm_s_goodsId = document.getElementById('parm_s_goodsId'); - parm_s_goodsType.value = ''; - parm_s_goodsId.value = ''; - } - grid.dwrReload(); -} - -//simon-add -function refresh() { - grid.dwrReload(); -} -//simon-add -function reset() { - document.getElementById('parm_s_invoiceType').value = ''; - document.getElementById('parm_s_applyType').value = ''; - - document.getElementById('invoiceDepartGroup').value = ''; - document.getElementById('parm_s_selectedDepartCodes').value = ''; - - document.getElementById('tousseGroupName').value = ''; - document.getElementById('parm_s_selectedTousseGroupID').value = ''; - - document.getElementById('parm_s_startTime').value = ''; - document.getElementById('parm_s_endTime').value = ''; - - getServerCurTime('yyyy-MM-dd HH:mm', Ext, 'startDate') - getServerTime2('yyyy-MM-dd HH:mm', Ext, 'endDate'); - - if (sstsConfig.invoicePlanExtractedView_showDisposableGoodsType) { - document.getElementById('disposableGoodsType').value = ''; - document.getElementById('parm_s_disposableGoodsType').value = ''; - } - - //先将所有的过滤条件恢复默认,然后再刷新 - if (!sstsConfig.notShowGoodsSearchTbar) { - //按物品 - document.getElementById('parm_s_goodsType').value = ''; - document.getElementById('parm_s_goodsId').value = ''; - document.getElementById('goods').value = ''; - } - - if (!sstsConfig.notShowTousseTypeSearchTbar) { - //按器械包类型分组 - document.getElementById('touseType').value = ''; - document.getElementById('parm_s_selectedTousseType').value = ''; - } - - if (!sstsConfig.notShowApplyDepartmentSearchTbar) { - //按申请科室 - document.getElementById('applyDepartment').value = ''; - document.getElementById('parm_s_applyDepartmentCode').value = ''; - } - - if (!sstsConfig.notShowSettleAccountsDepartmentSearchTbar) { - //按结算科室 - document.getElementById('settleAccountsDepartment').value = ''; - document.getElementById('parm_s_settleAccountsDepartmentCode').value = ''; - } - - if (!sstsConfig.notShowPrintSearchTbar) { - //是否已打印 - document.getElementById('print').value = ''; - document.getElementById('parm_s_print').value = ''; - } - - if (sstsConfig.enableInvoiceSerialNumberCollectionCodeFunction) { - //发货单号集合码 - document.getElementById('idNumber').value = ''; - document.getElementById('parm_s_invoiceSerialNumberSetBarcode').value = ''; - } - - grid.dwrReload(); -} - var invoiceSignDetailRecord = Ext.data.Record.create([ {name : 'tousseName'}, {name : 'barcode'}, @@ -2673,162 +2219,6 @@ }) } -/** - * 创建过滤的tbar(自适应各个分辨率). - */ -function createSearchTbar() { - //2、按时间过滤(width=415) - var time = [{ text: '开始日期:' }, { - //xtype: sstsConfig.timeSearchFmt ? 'datefieldWithMin' : 'datefield', - xtype: 'datefieldWithMin', - fieldLabel: '开始日期', - name: 'startDate', - //format: sstsConfig.timeSearchFmt || 'Y-m-d', - format: 'Y-m-d H:i', - id: 'startDate', - readOnly: false, - editable: false, - theHours: 0, - theMinutes: 0, - //width: sstsConfig.timeSearchFmt ? 120 : 90, - width: 120 - }, { text: '结束日期:' }, { - //xtype: sstsConfig.timeSearchFmt ? 'datefieldWithMin' : 'datefield', - xtype: 'datefieldWithMin', - fieldLabel: '结束日期', - name: 'endDate', - id: 'endDate', - readOnly: false, - editable: false, - // format: sstsConfig.timeSearchFmt || 'Y-m-d', - format: 'Y-m-d H:i', - theHours: 23, - theMinutes: 59, - // width: sstsConfig.timeSearchFmt ? 120 : 90, - width: 120 - }, { - xtype: 'button', - text: '查询', - iconCls: 'icon_search', - handler: reloadTimeField - }]; - addSearchTbar(time, 415); - - //3、按申请科室过滤(width=230) - if (!sstsConfig.notShowApplyDepartmentSearchTbar) { - var applyDepartmentSearchTbarArr = []; - applyDepartmentSearchTbarArr.push({ text: '按申请科室:' }); - applyDepartmentSearchTbarArr.push(createApplyDepartmentCombo()); - addSearchTbar(applyDepartmentSearchTbarArr, 230); - } - - //4、按结算科室过滤(width=230) - if (!sstsConfig.notShowSettleAccountsDepartmentSearchTbar) { - var settleAccountsDepartmentSearchTbarArr = []; - settleAccountsDepartmentSearchTbarArr.push({ text: '按结算科室:' }); - settleAccountsDepartmentSearchTbarArr.push(createSettleAccountsDepartmentCombo()); - addSearchTbar(settleAccountsDepartmentSearchTbarArr, 230); - } - - //5、按物品过滤(width=200) - if (!sstsConfig.notShowGoodsSearchTbar) { - var goodsSearchTbarArr = []; - goodsSearchTbarArr.push({ text: '按物品:' }); - goodsSearchTbarArr.push(createGoodsCombo()); - addSearchTbar(goodsSearchTbarArr, 200); - } - - //6、按物品类型(width=235) - if (!sstsConfig.notShowTousseTypeSearchTbar) { - var tousseTypeSearchTbarArr = []; - tousseTypeSearchTbarArr.push({ text: '按物品类型:' }); - tousseTypeSearchTbarArr.push({ - xtype: 'multiSelect', - id: 'touseType', - name: 'touseType', - valueField: 'value', - displayField: 'key', - allowBlank: true, - editable: false, - fieldLabel: '类型', - width: 150, - emptyText: '请选择物品类型', - mode: 'local', - store: new Ext.data.SimpleStore({ - data: tousseTypeDataArray, - fields: ['key', 'value'] - }), - // forceSelection : true, - triggerAction: 'all', - listeners: { - select: function (combo, record, index) { - //1、如果选中“全部”的项,则把所有的项选中,反之全部取消选择 - if (record.get('value') == '全部') { - if (record.get('checked')) { - combo.selectAll() - } else { - combo.deselectAll() - } - } - - combo.setValue(combo.getCheckedValue()); - reloadConditionPara(combo.getValue(), 'parm_s_selectedTousseType'); - } - } - }); - addSearchTbar(tousseTypeSearchTbarArr, 235); - } - - //7、是否已打印(width=150) - if (!sstsConfig.notShowPrintSearchTbar) { - var printSearchTbarArr = []; - printSearchTbarArr.push({ text: '是否已打印:' }); - printSearchTbarArr.push(createPrintCombo()); - addSearchTbar(printSearchTbarArr, 150); - } - - //8、发货单号集合码(width=100) - if (sstsConfig.enableInvoiceSerialNumberCollectionCodeFunction) { - var invoiceSerialNumberSetBarcode = []; - invoiceSerialNumberSetBarcode.push({ text: '发货单号集合码:' }); - invoiceSerialNumberSetBarcode.push({ - xtype: 'textfield', - id: 'idNumber', - name: 'idNumber', - width: 100, - anchor: '95%', - listeners: { - specialkey: function (field, ee) { - if (ee.getKey() == Ext.EventObject.ENTER) { - var value = Ext.getCmp('idNumber').getValue(); - reloadConditionPara(value, 'parm_s_invoiceSerialNumberSetBarcode'); - } - } - } - }); - addSearchTbar(invoiceSerialNumberSetBarcode, 100); - } - - //simon-update - //刷新按钮 - var refreshBtn = { - xtype: 'button', - text: '刷新', - iconCls: 'btn_ext_refresh1', - handler: refresh - }; - addSearchTbar(refreshBtn, 100); - - //重置按钮 - var resetBtn = { - xtype: 'button', - text: '重置', - iconCls: 'icon_set', - handler: reset - }; - addSearchTbar(resetBtn, 100); - -} var invoicePrintModule; Ext.onReady(function () { Ext.QuickTips.init(); @@ -3433,44 +2823,7 @@ "&endTime=" + endTime, '_self'); } - } - /*, { - text : '修改时间', - iconCls : 'btn_ext_application_edit', - hidden : SSTS_Invoice_updateTime, - handler : function() { - updateRecyclingAppTime(grid); - } - }, { - text : '更新包总数量和发货数量不相同', - iconCls : 'btn_ext_refresh1', - hidden : true, - handler : function() { - InvoiceTableManager.updateTousseAmount(function() { - alert("更新成功"); - }); - } - }, { - text : '更新同步错误的一次性物品单价', - iconCls : 'btn_ext_refresh1', - hidden : false, - handler : function() { - InvoiceTableManager.updateDiposableGoodsPrice(function() { - alert("更新成功"); - }); - } - }*/ - /* - * ,{ text : '更新消毒物品数量', iconCls : 'btn_ext_refresh1', handler : - * function() { - * InvoiceTableManager.updateTousseDefinitionAmount(function(){ - * alert("更新成功"); }); } },{ text : '更新工作量', iconCls : - * 'btn_ext_refresh1', handler : function() { - * InvoiceTableManager.updateInvoice(function(){ alert("更新成功"); }); } - * },{ text : '导出当前库存', iconCls : 'btn_ext_refresh1', handler : - * function() { location.href=WWWROOT + - * "/disinfectsystem/stocktakerecordmanager/export.jsp"; } } - */]; + }]; grid = new Ext.ux.ForgonPageGrid({ title: '发货单列表', @@ -3503,25 +2856,7 @@ new Ext.Toolbar({ items: searchTbar4 }).render(this.tbar); } } - }/*, - getGridParameterMap: function(){ - var selectedTousseTypeCmp = Ext.getCmp('tousseType'); - var invoiceDepartGroupsCmp = Ext.getCmp('invoiceDepartGroup'); - var disposableGoodsTypeCmp = Ext.getCmp('disposableGoodsType'); - if(!selectedTousseTypeCmp || !invoiceDepartGroupsCmp || !disposableGoodsTypeCmp){ - return null; - } - var selectedTousseType = selectedTousseTypeCmp.getValue(); - var invoiceDepartGroups = invoiceDepartGroupsCmp.getValue(); - var selectedDisposableGoodsType = disposableGoodsTypeCmp.getValue(); - - var obj = { - 'parm_s_selectedTousseType': [selectedTousseType], - 'parm_s_selectedDepartCodes': [invoiceDepartGroups], - 'parm_s_disposableGoodsType': [selectedDisposableGoodsType] - }; - return obj; - }*/ + } }, readerDetail, InvoiceTableManager.findInvoiceTableList, null @@ -3556,65 +2891,6 @@ "htmlContent", tableContent); } - /*var content = ""; - Ext.Ajax.request({ - url : WWWROOT - + '/disinfectSystem/invoiceAction!getInvoiceItemsByInvoiceId.do', - params : { - invoiceId : record.data['id'] - }, - success : function( - response, options) { - var invoiceItems = eval(response.responseText); - if (invoiceItems != null) { - for ( var i = 0; i < invoiceItems.length; i++) { - content += " " - + invoiceItems[i].name - + "" - + invoiceItems[i].amount - + ""; - // 消毒物品材料显示 - if (invoiceItems[i].material != null - && invoiceItems[i].material.length > 0) { - var materialArray = invoiceItems[i].material; - for ( var j = 0; j < materialArray.length; j++) { - var materialItem = materialArray[j]; - content += "   " - + materialItem.name - + "" - + materialItem.count - + ""; - } - } - } - } - tableContent = (""); - tableContent += "" - + content - + "

物品名称

数量


"; - // 重新查找record,有可能之前的已经不存在 - var curRecord = findRecordByNameAndValueFromStore(grid.getStore(),'id',recordID); - if(!isUndefinedOrNull(curRecord)){ - curRecord.set( - "htmlContent", - tableContent); -// var rowIndex = grid.getStore().indexOf(curRecord); -//// var rowEl = Ext.fly(e.getTarget()); -// var rowEl = Ext.fly(grid.getView().getRow(rowIndex)); -// rowEl.set({ -// 'ext:qtip' : tableContent, -// hideDelay : false, -// autoHide : false, -// trackMouse : true -// },false); - } - }, - failure : function( - response, options) { - } - });*/ } else { if (isIE()) { var rowEl = Ext4.fly(e.getTarget()); Index: ssts-web/src/main/webapp/disinfectsystem/invoice/invoiceView.jsp =================================================================== diff -u -r36851 -r38837 --- ssts-web/src/main/webapp/disinfectsystem/invoice/invoiceView.jsp (.../invoiceView.jsp) (revision 36851) +++ ssts-web/src/main/webapp/disinfectsystem/invoice/invoiceView.jsp (.../invoiceView.jsp) (revision 38837) @@ -40,6 +40,7 @@ +