Index: ssts-web/src/main/webapp/disinfectsystem/config/zd5y/config.js =================================================================== diff -u -r35172 -r35348 --- ssts-web/src/main/webapp/disinfectsystem/config/zd5y/config.js (.../config.js) (revision 35172) +++ ssts-web/src/main/webapp/disinfectsystem/config/zd5y/config.js (.../config.js) (revision 35348) @@ -205,5 +205,7 @@ // 手术仪器管理 enableSurgicalInstrumentsManagement: true, //启用数据实时看板功能 - enableRealTimeDashboardsForDataFunction:true + enableRealTimeDashboardsForDataFunction:true, + //启用明细核算月报的扩展查询项 + enableExtendedQueryItemsOfDetailedAccountingMonthlyReport:["urgentLevel"] } \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/reportforms/departmentMonthlyDetailDSInvoiceItemView.js =================================================================== diff -u -r35220 -r35348 --- ssts-web/src/main/webapp/disinfectsystem/reportforms/departmentMonthlyDetailDSInvoiceItemView.js (.../departmentMonthlyDetailDSInvoiceItemView.js) (revision 35220) +++ ssts-web/src/main/webapp/disinfectsystem/reportforms/departmentMonthlyDetailDSInvoiceItemView.js (.../departmentMonthlyDetailDSInvoiceItemView.js) (revision 35348) @@ -8,6 +8,7 @@ var ALL = '全部'; var newPrintConfig; var widthArr = []; +var urgentLevelBox = false; //页眉 function getHeaderHtml(depart) { @@ -413,6 +414,8 @@ var searchType = $Id('searchType').value; var disposableGoodsType = Ext.getCmp("disposableGoodsType").value; var goodsType = Ext.getCmp("goodsType").value; + var urgentLevel = ''; + if (departSearch == "全部" || departSearch == '') { departSearch = ""; departCoding = ""; @@ -449,10 +452,12 @@ if (goodsType == "全部") { goodsType = ""; } + myMask = new Ext.LoadMask(Ext.getBody(), { msg: '正在加载,请稍候!', removeMask: true }); + var patternOfReport = null; if (reportTypeJson == null || reportTypeJson.length == 0) {//默认标准的明细核算月报 patternOfReport = 'standard'; @@ -470,12 +475,25 @@ } if (patternOfReport == "" && reportTypeJson != null && reportTypeJson.length > 1) { showResult('请选择报表格式。'); + myMask.hide() return false; } + if (urgentLevelBox == true && patternOfReport !== 'singleDepart') { + var urgentLevelValue = Ext.getCmp("urgentLevel").getValue(); + if (urgentLevelValue == '全部') { + urgentLevel = ''; + } else if (urgentLevelValue.indexOf('all') >= 0) { + urgentLevel = ''; + } else { + urgentLevel = urgentLevelValue; + } + } + if (limitDepart) {//临床科室登录,申请科室或结算科室必须有值且只能为登录科室,且不能同时为空 if (invoicePlanDepartCoding == '' && departCoding == '') { Ext.getCmp('invoicePlanDepartSearch').focus(); showResult('请选择科室。'); + myMask.hide() return false; } } @@ -497,10 +515,12 @@ if (departSearch == '' || departCoding == '') { showResult('单个科室的明细核算月报必须选择结算科室'); Ext.getCmp('departSearch').focus(); + myMask.hide() return false; } else if (departCoding.indexOf(",") != -1) { showResult('单个科室的明细核算月报只能选择一个结算科室查询'); Ext.getCmp('departSearch').focus(); + myMask.hide() return false; } jasperreportFileName = "DepartmentMonthDetailOfSingleDepart.jasper"; @@ -523,6 +543,7 @@ } else if ("DepartmentMonthDetailOfSingleDepart.jasper" == jasperreportFileName) { showResult('单个科室的明细核算月报不支持显查询发货日期'); Ext.getCmp('showSendTime').focus(); + myMask.hide() return false; } else if ("DepartmentMonthDetailSupplierNameAndDiscountPrice.jasper" == jasperreportFileName) { jasperreportFileName = "DepartmentMonthDetailSupplierNameAndDiscountPriceAndSendTime.jasper"; @@ -543,6 +564,7 @@ endTime: endTime, tousseType: tousseType, goodsType: goodsType, + urgentLevel: urgentLevel, searchType: searchType, batch: batch, showSendTime: showSendTime, @@ -566,6 +588,7 @@ tousseType: tousseType, goodsType: goodsType, searchType: searchType, + urgentLevel: urgentLevel, batch: batch, showSendTime: showSendTime, departCoding: departCoding, @@ -626,6 +649,7 @@ }, failure: function (response, options) { showResult(response.responseText); + myMask.hide(); } }); } else { @@ -771,6 +795,50 @@ startTime = dt.getFullYear() + "/" + (dt.getMonth() + 1) + "/01 00:00"; endTime = dt.getFullYear() + "/" + (dt.getMonth() + 1) + "/" + dt.getDate() + " 23:59"; } + + var urgentLevelItems = Ext.data.Record.create([ + { name: 'id', type: 'string' }, + { name: 'urgentLevel', type: 'string' } + ]); + + var urgentLevelStore = new Ext.data.Store({ + pageSize: 100, + proxy: new Ext.data.HttpProxy({ + url: WWWROOT + '/disinfectSystem/baseData/urgentLevelAction!getUrgentsForSelect.do', + method: 'POST' + }), + reader: new Ext.data.JsonReader({ + totalProperty: 'totalCount', + root: 'data' + }, [ + { name: 'id', mapping: 'id' }, + { name: 'grade', mapping: 'grade' }, + { name: 'urgentLevel', mapping: 'urgentLevel' }, + { name: 'urgentDefaultValue', mapping: 'urgentDefaultValue' } + ]), + sortInfo: { + field: 'grade', + direction: 'DESC' // 'ASC'or 'DESC' + }, + listeners: { + load: function (thiz, records, options) { + if (records.length > 0) { + urgentLevelStore.insert(0, new urgentLevelItems({ 'id': 'all', 'urgentLevel': ALL })); + } + } + } + }); + + if (sstsConfig.enableExtendedQueryItemsOfDetailedAccountingMonthlyReport && sstsConfig.enableExtendedQueryItemsOfDetailedAccountingMonthlyReport.indexOf('urgentLevel') >= 0) { + urgentLevelBox = true; + urgentLevelStore.load(); + } + + var height = 170; + if (fontSize == 15) { + height = 200; + } + var form = new Ext.form.FormPanel({ title: '明细核算月报', region: 'north', @@ -782,7 +850,7 @@ border: 0, frame: true, bodyStyle: 'padding:0px auto;margin:0px', - height: 170, + height: height, items: [{ layout: 'column', items: [{ @@ -1257,16 +1325,75 @@ Ext.getCmp('invoicePlanDepartCoding').setValue(""); Ext.getCmp('showBatchBox').show(); Ext.getCmp('showSendTimeBox').show(); + if (urgentLevelBox) { + Ext.getCmp('urgentLevelBox').hide(); + } } else if (item.data.id == "detailedDate") { Ext.getCmp('showBatchBox').hide(); Ext.getCmp('showSendTimeBox').hide(); + if (urgentLevelBox) { + Ext.getCmp('urgentLevelBox').show(); + } } else { Ext.getCmp('showBatchBox').show(); Ext.getCmp('showSendTimeBox').show(); + if (urgentLevelBox) { + Ext.getCmp('urgentLevelBox').show(); + } } } } }] + }, { + columnWidth: 0.25, + layout: 'form', + labelWidth: 120, + hidden: !urgentLevelBox, + id: 'urgentLevelBox', + items: [{ + xtype: 'multiSelect', + fieldLabel: "加急级别", + name: "urgentLevel", + id: "urgentLevel", + valueField: 'id', + displayField: 'urgentLevel', + minChars: 0, + allowBlank: true, + store: urgentLevelStore, + editable: false, + mode: 'remote', + triggerAction: 'all', + value: '', + anchor: '95%', + listeners: { + select: function (combo, record, index) { + //1、如果选中“全部”的项,则把所有的项选中,反之全部取消选择 + if (record.get('value') == ALL) { + if (record.get('checked')) { + combo.selectAll(); + } else { + combo.deselectAll(); + } + } + + //2、如果已经选中所有的项,则把“全部”项选中,反之把“全部”项取消选择 + var selectAll = true; + combo.store.each(function (record) { + if (record.get('value') != ALL && !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); + } + } + } + }] }] }], buttons: [{ @@ -1290,6 +1417,7 @@ Ext.getCmp('disposableGoodsType').setRawValue(""); Ext.getCmp('disposableGoodsType').setValue(""); Ext.getCmp('tousseType').setValue("全部"); + Ext.getCmp('urgentLevel').setRawValue("全部"); Ext.getCmp('searchType').setValue("精确查询"); Ext.getCmp('batch').setValue(""); $Id('invoicePlanDepartSearch').value = ""; @@ -1325,6 +1453,10 @@ if (params == false) { return; } + myMask = new Ext.LoadMask(Ext.getBody(), { + msg: '正在打印,请稍候!', + removeMask: true + }); Ext.Ajax.request({ url: url, async: false, @@ -1355,6 +1487,7 @@ }, failure: function (response, options) { showResult(response.responseText); + myMask.hide() } }); } @@ -1426,12 +1559,23 @@ if (dataForPatternOfReport.length < 1) { Ext.getCmp("patternOfReportLable").setVisible(false); } else if (dataForPatternOfReport.length > 1) { + if (getHiddenValueByReportName(reportTypeJson[0].reportName) == 'singleDepart') { + Ext.getCmp('urgentLevelBox').hide(); + } else { + Ext.getCmp('urgentLevelBox').show(); + } Ext.getCmp('patternOfReport').setValue(getHiddenValueByReportName(reportTypeJson[0].reportName)); } else if (dataForPatternOfReport.length == 1) { Ext.getCmp("patternOfReportLable").setVisible(false); if (dataForPatternOfReport[0][0] == 'detailedDate') { Ext.getCmp('showBatchBox').hide(); Ext.getCmp('showSendTimeBox').hide(); + } else if (dataForPatternOfReport[0][0] == 'singleDepart') { + Ext.getCmp('urgentLevelBox').hide(); } } + + if (urgentLevelBox) { + Ext.getCmp('urgentLevel').setRawValue("全部"); + } }); \ No newline at end of file Index: ssts-web/src/main/webapp/disinfectsystem/reportforms/departmentMonthlyDetailDSInvoiceItemView.jsp =================================================================== diff -u -r35159 -r35348 --- ssts-web/src/main/webapp/disinfectsystem/reportforms/departmentMonthlyDetailDSInvoiceItemView.jsp (.../departmentMonthlyDetailDSInvoiceItemView.jsp) (revision 35159) +++ ssts-web/src/main/webapp/disinfectsystem/reportforms/departmentMonthlyDetailDSInvoiceItemView.jsp (.../departmentMonthlyDetailDSInvoiceItemView.jsp) (revision 35348) @@ -32,6 +32,7 @@ var endTime = '<%= request.getParameter("endTime")%>'; //当前登录用户全名 var currentUserFullName = '<%=userFullName %>'; + var fontSize = '${fontSize}';