Index: ssts-web/src/main/webapp/disinfectsystem/packing/packageList.jsp
===================================================================
diff -u
--- ssts-web/src/main/webapp/disinfectsystem/packing/packageList.jsp (revision 0)
+++ ssts-web/src/main/webapp/disinfectsystem/packing/packageList.jsp (revision 33961)
@@ -0,0 +1,26 @@
+<%@page import="java.util.Date"%>
+<%@page import="java.text.SimpleDateFormat"%>
+<%@ page contentType="text/html; charset=UTF-8"%>
+<%@ include file="/common/taglibs.jsp"%>
+
+
+
+<%@ include file="/common/includeExtJsAndCss.jsp"%>
+<%@ include file="/common/includeExtJs4_2.jsp"%>
+
+包装列表
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
Index: ssts-web/src/main/webapp/homepage/menuconfigure.js
===================================================================
diff -u -r33777 -r33961
--- ssts-web/src/main/webapp/homepage/menuconfigure.js (.../menuconfigure.js) (revision 33777)
+++ ssts-web/src/main/webapp/homepage/menuconfigure.js (.../menuconfigure.js) (revision 33961)
@@ -267,6 +267,14 @@
historyPackingLink.hrefTarget = linkTarget;
historyPackingLink.leaf = true;
DisinfectsystemTreeData[packingMenuIndexOfDisinfectsystemTree].children[taskGroup.length+1] = historyPackingLink;
+
+ var packageListLink = new Object();
+ packageListLink.hidden = SSTS_Tousse_List;
+ packageListLink.text = '包装记录';
+ packageListLink.href = WWWROOT+'/disinfectsystem/packing/packageList.jsp';
+ packageListLink.hrefTarget = linkTarget;
+ packageListLink.leaf = true;
+ DisinfectsystemTreeData[reviewMenuIndexOfDisinfectsystemTree].children[taskGroup.length] = packageListLink;
}
/**设置"装配管理"菜单的下一级子菜单(各任务组装配、自定义装配、历史装配记录)、"审核打包"菜单的下一级子菜单(各任务组) end */
Index: ssts-web/src/main/webapp/ext/fontSize12/styles/common.css
===================================================================
diff -u -r33576 -r33961
--- ssts-web/src/main/webapp/ext/fontSize12/styles/common.css (.../common.css) (revision 33576)
+++ ssts-web/src/main/webapp/ext/fontSize12/styles/common.css (.../common.css) (revision 33961)
@@ -529,4 +529,10 @@
left: 0;
top: 0;
z-index: 99;
+}
+
+/* ZSYY-303:只读样式*/
+.fieldReadOnlyNoRemove input {
+ background: #eee !important;
+ cursor: default;
}
\ No newline at end of file
Index: ssts-web/src/main/webapp/homepage/menu.jsp
===================================================================
diff -u -r33800 -r33961
--- ssts-web/src/main/webapp/homepage/menu.jsp (.../menu.jsp) (revision 33800)
+++ ssts-web/src/main/webapp/homepage/menu.jsp (.../menu.jsp) (revision 33961)
@@ -848,6 +848,16 @@
/**
+ * 《打包记录》菜单
+ */
+ var SSTS_Tousse_List = true;
+
+ if (!notInWhiteList(sstsConfig, 'reviewManage')) {
+ SSTS_Tousse_List = false;
+ }
+
+
+/**
* 《灭菌管理》菜单
*/
var SSTS_Sterilization_Menu = true;
Index: ssts-web/src/main/webapp/disinfectsystem/packing/packageForm.js
===================================================================
diff -u
--- ssts-web/src/main/webapp/disinfectsystem/packing/packageForm.js (revision 0)
+++ ssts-web/src/main/webapp/disinfectsystem/packing/packageForm.js (revision 33961)
@@ -0,0 +1,274 @@
+var configWin;
+var store1;
+var store2;
+var store1Map = new newMap();
+var formPanel;
+
+function cancel() {
+ configWin.close();
+}
+
+//删除包装信息
+function deleteConfig(grid) {
+ var selectedRecords = grid.getSelectionModel().getSelection();
+ var selectedCount = grid.getSelectionModel().getCount();
+ console.log(selectedRecords)
+ var ids = [];
+ if (selectedCount < 1) {
+ showResult("请选择要删除的数据");
+ } else {
+ for (var i = 0; i < selectedRecords.length; i++) {
+ ids[i] = selectedRecords[i].data['id'];
+ }
+ Ext4.MessageBox.confirm("请确认", "确定要删除选中的信息吗?", function (button, text) {
+ if ("yes" == button) {
+ Ext4.Ajax.request({
+ url: WWWROOT + '/disinfectSystem/packagingAction!deletePackagingRecord.do',
+ params: { ids: ids.join(';') },
+ success: function (response, options) {
+ var result = Ext4.JSON.decode(response.responseText);
+ var success = result.success;
+ if (true != success) {
+ showResult(result.message);
+ return;
+ } else {
+ showResult('删除成功!');
+ listStore.load();
+ }
+ },
+ failure: function (response, options) {
+ var result = Ext4.JSON.decode(response.responseText);
+ showResult(result.message);
+ }
+ });
+ }
+ });
+ }
+}
+
+//保存包装信息
+function saveConfig(tousseBarcode, packer, packerBarcode) {
+ Ext4.Ajax.request({
+ url: WWWROOT + '/disinfectSystem/packagingAction!savePackagingRecord.do',
+ params: { tousseBarcode: tousseBarcode, packer: packer, packerBarcode: packerBarcode },
+ success: function (response, options) {
+ var result = Ext4.decode(response.responseText);
+ if (result.success) {
+ var barcode = result.data.barcode;
+ var tousseName = result.data.tousseName;
+ var sterileStartDate = result.data.sterileStartDate;
+ //扫描物品列表
+ var data = [{
+ barcode: barcode,
+ tousseName: tousseName,
+ sterileStartDate: sterileStartDate
+ }];
+ store2.add(data);
+ top.Ext4.getCmp('barcode').setValue('');
+ //统计信息
+ if (store1Map.has(tousseName)) {
+ var amount = store1Map.get(tousseName);
+ store1Map.setValue(tousseName, (parseInt(amount) + 1));
+ } else {
+ store1Map.put(tousseName, 1);
+ }
+ top.Ext4.getCmp('grid1Id').setTitle('统计信息:' + store1Map.size());
+ store1.removeAll();
+ var data1 = [];
+ store1Map.forEach(function (key, item) {
+ data1.push({
+ tousseName: item,
+ amount: key
+ })
+ });
+ store1.add(data1);
+ listStore.loadPage(1);
+ } else {
+ showResult(result.msg);
+ }
+ },
+ failure: function (response, options) {
+ showResult('保存失败!');
+ }
+ });
+}
+
+//显示包装信息的窗口
+function showWindow() {
+ var formPanel = new top.Ext4.form.Panel({
+ id: 'configForm',
+ region: 'center',
+ border: true,
+ frame: true,
+ buttonAlign: 'center',
+ layout: "column",
+ fieldDefaults: {
+ labelAlign: 'right',
+ labelWidth: 90
+ },
+ items: [{
+ xtype: 'hidden',
+ id: 'packerBarcode',
+ name: 'packerBarcode'
+ }, {
+ columnWidth: .49,
+ xtype: 'textfield',
+ fieldLabel: '包装人条码',
+ id: 'packerBarcodeBox',
+ name: 'packerBarcodeBox',
+ allowBlank: true,
+ style: 'margin-bottom: 5px;',
+ anchor: '95%',
+ listeners: {
+ specialkey: function (thiz, e) {
+ if (e.getKey() == 13) {
+ UserTableManager.getUserByBarcode(thiz.value, function (responseText) {
+ if (responseText != null && responseText != "") {
+ var result = Ext4.decode(responseText);
+ if (!result.success) {
+ showResult("输入的条码有误!");
+ return;
+ }
+ top.Ext4.getCmp('packer').setValue(result.fullName);
+ top.Ext4.getCmp('packerBarcode').setValue(thiz.value);
+ top.Ext4.getCmp('packerBarcodeBox').setValue('');
+ focusExtJSField(top.Ext4.getCmp('barcode'));
+ } else {
+ showResult('找不到该条码所对应的人员信息');
+ top.Ext4.getCmp('packerBarcodeBox').setValue('');
+ }
+ });
+ }
+ }
+ }
+ }, {
+ columnWidth: .49,
+ xtype: 'textfield',
+ fieldLabel: '包装人',
+ id: 'packer',
+ name: 'packer',
+ allowBlank: true,
+ style: 'margin-bottom: 5px;',
+ cls: 'fieldReadOnlyNoRemove',
+ readOnly: true,
+ anchor: '95%'
+ }, {
+ columnWidth: .49,
+ xtype: 'textfield',
+ fieldLabel: '扫描条码',
+ id: 'barcode',
+ name: 'barcode',
+ allowBlank: true,
+ style: 'margin-bottom: 5px;',
+ anchor: '95%',
+ listeners: {
+ specialkey: function (thiz, e) {
+ if (e.getKey() == 13) {
+ var packer = top.Ext4.getCmp('packer').getValue();
+ var packerBarcode = top.Ext4.getCmp('packerBarcode').getValue();
+ if (packer == '') {
+ showResult('请先扫描包装人条码');
+ return;
+ }
+ saveConfig(thiz.value, packer, packerBarcode);
+ }
+ }
+ }
+ }],
+ buttons: [{
+ text: '清空列表',
+ handler: function () {
+ store2.removeAll();
+ store1.removeAll();
+ store1Map.clear();
+ top.Ext4.getCmp('grid1Id').setTitle('统计信息:0');
+ }
+ }, {
+ text: '关闭',
+ handler: function () {
+ configWin.close();
+ }
+ }]
+ });
+ store1 = new top.Ext4.data.JsonStore({
+ data: [],
+ fields: [
+ { name: 'tousseName' },
+ { name: 'amount' }
+ ]
+ });
+ store2 = new top.Ext4.data.JsonStore({
+ data: [],
+ fields: [
+ { name: 'tousseName' },
+ { name: 'barcode' },
+ { name: 'sterileStartDate' }
+ ]
+ });
+ var grid1 = new top.Ext4.grid.Panel({
+ title: '统计信息:0',
+ store: store1,
+ width: 600,
+ height: 300,
+ id: 'grid1Id',
+ columns: [{
+ text: '物品名称',
+ width: 460,
+ dataIndex: 'tousseName'
+ }, {
+ text: '数量',
+ width: 100,
+ dataIndex: 'amount'
+ }]
+ });
+ var grid2 = new top.Ext4.grid.Panel({
+ title: '扫描物品列表',
+ store: store2,
+ width: 600,
+ height: 300,
+ columns: [{
+ text: '物品名称',
+ width: 280,
+ dataIndex: 'tousseName'
+ }, {
+ text: '物品条码',
+ width: 140,
+ dataIndex: 'barcode'
+ }, {
+ text: '灭菌日期',
+ width: 140,
+ dataIndex: 'sterileStartDate'
+ }]
+ })
+ configWin = new top.Ext4.window.Window({
+ id: 'configWin',
+ layout: 'border',
+ title: '登记包装信息',
+ width: 600,
+ height: 700,
+ modal: true,
+ border: false,
+ plain: true,
+ layout: 'anchor',
+ items: [{
+ height: 100,
+ anchor: '100%',
+ layout: 'fit',
+ items: [formPanel]
+ }, {
+ region: 'center',
+ anchor: '100%',
+ layout: 'hbox',
+ align: 'stretch',
+ items: [grid1]
+ }, {
+ region: 'center',
+ anchor: '100%',
+ layout: 'hbox',
+ align: 'stretch',
+ items: [grid2]
+ }]
+ });
+ configWin.show();
+}
+
Index: ssts-web/src/main/webapp/disinfectsystem/config/zsyy/config.js
===================================================================
diff -u -r31785 -r33961
--- ssts-web/src/main/webapp/disinfectsystem/config/zsyy/config.js (.../config.js) (revision 31785)
+++ ssts-web/src/main/webapp/disinfectsystem/config/zsyy/config.js (.../config.js) (revision 33961)
@@ -307,6 +307,8 @@
logoSetting:{"width" : 277, "height" : 44 },
//核算月报增加材料列
monthReportMaterialAmountOfTousse : true,
+ //启用包装记录功能
+ enablePackagingRecordFunction:true,
//明细核算月报是否显示材料数量列
showMaterialsAmountColumnOfDetailMonthReport : true
}
\ No newline at end of file
Index: ssts-web/src/main/webapp/disinfectsystem/packing/packageList.js
===================================================================
diff -u
--- ssts-web/src/main/webapp/disinfectsystem/packing/packageList.js (revision 0)
+++ ssts-web/src/main/webapp/disinfectsystem/packing/packageList.js (revision 33961)
@@ -0,0 +1,147 @@
+var listStore;
+var packageListGrid;
+//修改科室分组
+function modify(v, data) {
+ editConfig(data.id);
+}
+
+//根据科室或者名称过滤
+function search(listStore) {
+ var searchColumns = '';
+ Ext4.getCmp('searchMenu').items.each(function (item) {
+ if (item.checked) {
+ searchColumns += item.name + ';';
+ }
+ });
+ searchColumns = searchColumns.substring(0, searchColumns.length - 1);
+ listStore.proxy.extraParams.searchKeyWord = Ext4.getCmp('searchKeyWord').getValue();
+ listStore.proxy.extraParams.searchColumns = searchColumns;
+ listStore.loadPage(1);
+ listStore.reload();
+ Ext4.getCmp('searchKeyWord').setValue('');
+}
+
+Ext4.onReady(function () {
+ Ext4.QuickTips.init();
+ var columns = [
+ { header: "id", dataIndex: 'id', hidden: true },
+ { header: "录入时间", dataIndex: 'entryDate', width: 140 },
+ { header: "条码", dataIndex: 'barcode', width: 150 },
+ { header: "物品名称", dataIndex: 'tousseName', width: 150 },
+ { header: "灭菌日期", dataIndex: 'sterileStartTime', width: 150 },
+ { header: "失效日期", dataIndex: 'validUntil', width: 150 },
+ { header: "包装人", dataIndex: 'wrapper', sortable: false }
+ ];
+ var tbar = [{
+ text: '添加',
+ iconCls: 'btn_ext_application_add',
+ handler: function () {
+ showWindow();
+ }
+ }, '-', {
+ text: '删除',
+ iconCls: 'btn_ext_application_del',
+ handler: function () {
+ deleteConfig(packageListGrid);
+ }
+ }, '->', {
+ width: 70,
+ text: '搜索列',
+ id: 'searchButton',
+ menu: {
+ id: 'searchMenu',
+ items: [{
+ xtype: 'menucheckitem',
+ name: 'barcode',
+ checked: true,
+ text: '条码'
+ }, {
+ xtype: 'menucheckitem',
+ name: 'tousseName',
+ checked: true,
+ text: '物品名称'
+ }, {
+ xtype: 'menucheckitem',
+ name: 'wrapper',
+ checked: true,
+ text: '包装人'
+ }]
+ },
+ listeners: {
+ focus: function (thisButton, The, eOpts) {
+ Ext4.getCmp('searchKeyWord').focus();
+ }
+ }
+ }, {
+ xtype: 'textfield',
+ name: 'searchKeyWord',
+ id: 'searchKeyWord',
+ enableKeyEvents: true,
+ listeners: {
+ keydown: function (thisTextfield, e, eOpts) {
+ if (e.keyCode == 13) {
+ search(listStore);
+ }
+ }
+ }
+ }, {
+ text: '搜索',
+ handler: function (thisButton) {
+ search(listStore);
+ }
+ }];
+
+ listStore = new Ext4.data.JsonStore({
+ proxy: {
+ type: 'ajax',
+ url: WWWROOT + '/disinfectSystem/packagingAction!loadPackagingRecords.do',
+ reader: {
+ root: 'packagingRecords'
+ },
+ extraParams: {
+ searchKeyWord: '',
+ searchColumns: ''
+ }
+ },
+ fields: [
+ { name: 'id' },
+ { name: 'entryDate' },
+ { name: 'sterileStartTime' },
+ { name: 'validUntil' },
+ { name: 'barcode' },
+ { name: 'tousseName' },
+ { name: 'wrapper' }
+ ]
+ });
+
+ listStore.loadPage(1);
+
+ packageListGrid = new Ext4.grid.GridPanel({
+ title: '包装记录',
+ columns: columns,
+ frame: false,
+ autoScroll: false,
+ store: listStore,
+ tbar: tbar,
+ dockedItems: [{
+ xtype: 'pagingtoolbar',
+ store: listStore, // same store GridPanel is using
+ dock: 'bottom',
+ displayInfo: true
+ }],
+ viewConfig: {
+ autoFill: true
+ },
+ selModel: new Ext4.selection.CheckboxModel()
+ });
+
+ new Ext4.container.Viewport({
+ layout: 'border',
+ items: [{
+ region: 'center',
+ layout: 'fit',
+ items: [packageListGrid]
+ }]
+ });
+
+});
\ No newline at end of file
Index: ssts-web/src/main/resources/systemset/operationDefine.xml
===================================================================
diff -u -r33773 -r33961
--- ssts-web/src/main/resources/systemset/operationDefine.xml (.../operationDefine.xml) (revision 33773)
+++ ssts-web/src/main/resources/systemset/operationDefine.xml (.../operationDefine.xml) (revision 33961)
@@ -110,6 +110,7 @@
+