Index: ssts-web/src/main/webapp/disinfectsystem/equipmentInspection/formdefinitionView.jsp
===================================================================
diff -u
--- ssts-web/src/main/webapp/disinfectsystem/equipmentInspection/formdefinitionView.jsp (revision 0)
+++ ssts-web/src/main/webapp/disinfectsystem/equipmentInspection/formdefinitionView.jsp (revision 38048)
@@ -0,0 +1,38 @@
+<%@page import="com.forgon.disinfectsystem.entity.customform.formdefinition.FormDefinitionItem"%>
+<%@ 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/disinfectsystem/equipmentInspection/forminstanceView.js
===================================================================
diff -u
--- ssts-web/src/main/webapp/disinfectsystem/equipmentInspection/forminstanceView.js (revision 0)
+++ ssts-web/src/main/webapp/disinfectsystem/equipmentInspection/forminstanceView.js (revision 38048)
@@ -0,0 +1,148 @@
+var entityName = "设备巡检记录";
+var grid;
+function modify(v, data) {
+ addFormInstanceWin(data['id']);
+}
+// 删除
+function deleteFormInstance(grid) {
+
+ var records = grid.getSelectionModel().getSelections();
+
+ if (records.length == 0) {
+ showResult("请选择要删除的记录!");
+ return false;
+ }
+ var ids = null;
+ for (var i = 0, len = records.length; i < len; i++) {
+ if (ids == null) {
+ ids = records[i].data['id'];
+ } else {
+ ids = ids + ';' + records[i].data['id'];
+ }
+ }
+ Ext.MessageBox.confirm("请确认", "是否确定要删除选中的信息吗?",
+ function (button, text) {
+ if ("yes" == button) {
+ Ext.Ajax.request({
+ url: WWWROOT + '/disinfectSystem/equipmentInspectionInstanceAction!deleteEquipmentInspectionInstance.do',
+ params: { ids: ids },
+ success: function (response, options) {
+ var result = Ext.decode(response.responseText);
+ var success = result.success;
+ if (true != success) {
+ showResult(result.message);
+ return;
+ } else {
+ showResult('删除成功!');
+ grid.dwrReload();
+ }
+ },
+ failure: function (response, options) {
+ var result = Ext.decode(response.responseText);
+ alert(result.cause);
+ }
+ });
+ }
+ });
+
+}
+
+Ext.onReady(function () {
+ Ext.QuickTips.init();
+ // 记录cookie(3步)
+
+ var columns = [
+ { header: "名称", width: 250, dataIndex: 'formDefinition.formName', renderer: modifyRecord },
+ { header: "设备名称", width: 250, dataIndex: 'equipmentName' },
+ { header: "登记时间", width: 160, dataIndex: 'createDate', renderer: myDateFormatByMinute },
+ { header: "登记人", width: 120, dataIndex: 'createUserName' },
+ { id: 'remark', header: "备注", width: 120, dataIndex: 'remark' }
+ ];
+
+ var filters = new Ext.grid.GridFilters({
+ filters: [
+ { type: 'string', dataIndex: 'name' },
+ { type: 'string', dataIndex: 'equipmentName' },
+ { type: 'string', dataIndex: 'remark' }
+ ]
+ });
+
+ var readerDetail = [
+ { name: 'id' },
+ { name: 'name' },
+ { name: 'equipmentName' },
+ { name: 'createDate' },
+ { name: 'createUserName' },
+ { name: 'formDefinition.formName' },
+ { name: 'equipmentID' },
+ { name: 'equipmentType' },
+ { name: 'status' },
+ { name: 'remark' }
+ ];
+
+ var record = Ext.data.Record.create([
+ { name: 'name', type: 'string' }
+ ]);
+
+ var store = new Ext.data.Store({
+ proxy: new Ext.data.HttpProxy({
+ url: '/disinfectSystem/formDefinitionAction!loadLastDeployFormDefinitionGroupByFormName.do',
+ method: 'POST'
+ }),
+ reader: new Ext.data.JsonReader({
+ root: 'data'
+ }, [{ name: 'name' }]),
+ listeners: {
+ load: function (thiz, records, options) {
+ if (records && records.length > 0) {
+ store.insert(0, new record({ 'name': '全部' }));
+ }
+ }
+ }
+ })
+
+ var tbar = [{
+ text: '添加',
+ iconCls: 'btn_ext_application_add',
+ handler: function () {
+ addFormInstanceWin("");
+ }
+ }, '-', {
+ text: '删除',
+ iconCls: 'btn_ext_application_del',
+ handler: function () {
+ deleteFormInstance(grid);
+ }
+ }];
+ var dwrCallParams = null;
+
+ grid = new Ext.ux.ForgonPageGrid({
+ tbar: tbar,
+ pageSize: 20,
+ defaultSortField: 'createDate',
+ defaultSortDirection: 'DESC',
+ title: entityName + '列表',
+ isCheckboxSelectionModel: true,
+ rememberSelected: false,
+ isShowSearchField: true,
+ columns: columns,
+ plugins: filters,
+ autoExpandColumn: 'remark',
+ renderTo: 'gridDiv',
+ frame: false
+ }, readerDetail,
+ EquipmentInspectionInstanceTableManager.findEquipmentInspectionInstanceList,
+ dwrCallParams // 这个参数只是占位作用
+ );
+
+ var viewport = new Ext.Viewport({
+ layout: 'border',
+ items: [{
+ region: 'center',
+ margins: '0 0 0 0',
+ layout: 'fit',
+ items: grid
+ }]
+ });
+
+});
\ No newline at end of file
Index: ssts-web/src/main/webapp/disinfectsystem/equipmentInspection/forminstanceCommon.js
===================================================================
diff -u
--- ssts-web/src/main/webapp/disinfectsystem/equipmentInspection/forminstanceCommon.js (revision 0)
+++ ssts-web/src/main/webapp/disinfectsystem/equipmentInspection/forminstanceCommon.js (revision 38048)
@@ -0,0 +1,563 @@
+/**
+ * 创建表单元素.
+ * @param type 表单元素类型
+ * @param id 表单元素id
+ * @param name 表单元素名称
+ * @param allowBlank 是否允许为空
+ * @param options “单选”或者“多选”的选项值
+ * @param value 表单元素的值
+ * @param isTriggerItem 触发项
+ * @returns
+ */
+function createFormDefinitionItemElement(type, id, name, allowBlank, options, value, isTriggerItem) {
+ var hideElement = false;
+ var resultValue = (value == null || value == "") ? '' : value;
+ if (type == '文本') {
+ return {
+ columnWidth: .5,
+ layout: 'form',
+ labelWidth: 120,
+ hidden: hideElement,
+ id: 'hideElement' + id,
+ style: 'margin-top:10px',
+ items: [{
+ xtype: 'textfield',
+ fieldLabel: name,
+ maxLength: '30',
+ id: 'configItemOption' + id,
+ name: 'configItemOption' + id,
+ allowBlank: allowBlank,
+ value: resultValue,
+ width: '95%'
+ }],
+ listeners: {
+ render: function () {
+ if ('是' == isTriggerItem && resultValue == '') {
+ setTimeout(function () {
+ top.Ext.getCmp('hideElement' + id).hide();
+ }, 1);
+ }
+ }
+ }
+ };
+ } else if (type == '文本框') {
+ return {
+ columnWidth: 1,
+ layout: 'form',
+ labelWidth: 120,
+ hidden: hideElement,
+ id: 'hideElement' + id,
+ style: 'margin-top:10px',
+ items: [{
+ xtype: 'textarea',
+ fieldLabel: name,
+ maxLength: '300',
+ height: 45,
+ id: 'configItemOption' + id,
+ name: 'configItemOption' + id,
+ allowBlank: allowBlank,
+ value: resultValue,
+ anchor: '95%'
+ }],
+ listeners: {
+ render: function () {
+ if ('是' == isTriggerItem && resultValue == '') {
+ setTimeout(function () {
+ top.Ext.getCmp('hideElement' + id).hide();
+ }, 1);
+ }
+ }
+ }
+ };
+
+ } else if (type == '数字') {
+ return {
+ columnWidth: .5,
+ layout: 'form',
+ labelWidth: 120,
+ hidden: hideElement,
+ id: 'hideElement' + id,
+ style: 'margin-top:10px',
+ items: [{
+ xtype: 'numberfield',
+ fieldLabel: name,
+ id: 'configItemOption' + id,
+ name: 'configItemOption' + id,
+ allowBlank: allowBlank,
+ allowDecimals: true,
+ value: resultValue,
+ anchor: '95%'
+ }],
+ listeners: {
+ render: function () {
+ if ('是' == isTriggerItem && resultValue == '') {
+ setTimeout(function () {
+ top.Ext.getCmp('hideElement' + id).hide();
+ }, 1);
+ }
+ }
+ }
+ };
+ } else if (type == '时间') {
+ return {
+ columnWidth: .5,
+ layout: 'form',
+ style: 'margin-top:10px',
+ labelWidth: 120,
+ hidden: hideElement,
+ id: 'hideElement' + id,
+ items: [{
+ xtype: 'datefieldWithMin',
+ fieldLabel: name,
+ id: 'configItemOption' + id,
+ name: 'configItemOption' + id,
+ format: 'Y-m-d H:i',
+ value: resultValue,
+ readOnly: true,
+ editable: false,
+ allowBlank: allowBlank,
+ anchor: '95%'
+ }],
+ listeners: {
+ render: function () {
+ if ('是' == isTriggerItem && resultValue == '') {
+ setTimeout(function () {
+ top.Ext.getCmp('hideElement' + id).hide();
+ }, 1);
+ }
+ }
+ }
+ };
+ } else if (type == '时间段') {
+ return {
+ columnWidth: .5,
+ layout: 'form',
+ labelWidth: 120,
+ hidden: hideElement,
+ id: 'hideElement' + id,
+ style: 'margin-top:10px',
+ items: [{
+ xtype: 'textfield',
+ fieldLabel: name,
+ maxLength: '16',
+ id: 'configItemOption' + id,
+ name: 'configItemOption' + id,
+ regex: /^\d*:\d\d$/,
+ regexText: '请按照"小时:分钟"的格式填写',
+ allowBlank: allowBlank,
+ value: (resultValue == '') ? '00:00' : resultValue,
+ anchor: '95%'
+ }],
+ listeners: {
+ render: function () {
+ if ('是' == isTriggerItem && resultValue == '') {
+ setTimeout(function () {
+ top.Ext.getCmp('hideElement' + id).hide();
+ }, 1);
+ }
+ }
+ }
+ };
+ } else if (type == '日期') {
+ return {
+ columnWidth: .5,
+ layout: 'form',
+ labelWidth: 120,
+ hidden: hideElement,
+ id: 'hideElement' + id,
+ style: 'margin-top:10px',
+ items: [{
+ xtype: 'datefieldWithMin',
+ fieldLabel: name,
+ id: 'configItemOption' + id,
+ name: 'configItemOption' + id,
+ format: 'Y-m-d',
+ value: resultValue,
+ readOnly: true,
+ editable: false,
+ allowBlank: allowBlank,
+ anchor: '95%'
+ }],
+ listeners: {
+ render: function () {
+ if ('是' == isTriggerItem && resultValue == '') {
+ setTimeout(function () {
+ top.Ext.getCmp('hideElement' + id).hide();
+ }, 1);
+ }
+ }
+ }
+ };
+ } else if (type == '单选') {
+ var optionsArrays = new Array();
+ var hideTriggerItemIdsValue = "";
+ if (options != "") {
+ var optionsJson = JSON.parse(options);
+ for (var j = 0; j < optionsJson.length; j++) {
+ var optionsArray = new Array();
+ optionsArray.push(optionsJson[j].name);
+ optionsArray.push(optionsJson[j].valueTriggerItemIds || '');
+ optionsArrays.push(optionsArray);
+ var isDefaultValue = optionsJson[j].isDefaultValue;
+ if (isDefaultValue == '是' && resultValue == '') {
+ resultValue = optionsJson[j].name;
+ hideTriggerItemIdsValue = optionsJson[j].valueTriggerItemIds;
+ }
+ }
+ }
+ return {
+ columnWidth: .5,
+ layout: 'form',
+ labelWidth: 120,
+ style: 'margin-top:10px',
+ hidden: hideElement,
+ id: 'hideElement' + id,
+ items: [{
+ xtype: 'hidden',
+ id: 'triggerItemIds' + id,
+ name: 'triggerItemIds' + id,
+ value: hideTriggerItemIdsValue
+ }, {
+ xtype: 'combo',
+ fieldLabel: name,
+ id: 'configItemOption' + id,
+ name: 'configItemOption' + id,
+ valueField: 'value',
+ displayField: 'value',
+ allowBlank: allowBlank,
+ editable: false,
+ store: new top.Ext.data.SimpleStore({
+ fields: ['value', 'valueTriggerItemIds'],
+ data: optionsArrays
+ }),
+ forceSelection: true,
+ value: resultValue,
+ mode: 'local',
+ triggerAction: 'all',
+ anchor: '95%',
+ listeners: {
+ select: function (combo, record, index) {
+ var valueTriggerItemIds = record.get("valueTriggerItemIds");
+ var oldTriggerItemIds = top.Ext.getCmp("triggerItemIds" + id).getValue();
+ triggerItemAction('' + oldTriggerItemIds + '', "hide");
+ triggerItemAction('' + valueTriggerItemIds + '', "show");
+ top.Ext.getCmp("triggerItemIds" + id).setValue(valueTriggerItemIds);
+ },
+ render: function () {
+ if ('是' == isTriggerItem && resultValue == '') {
+ setTimeout(function () {
+ top.Ext.getCmp('hideElement' + id).hide();
+ }, 1);
+ }
+ }
+ }
+ }]
+ };
+ } else if (type == '多选') {
+ var optionsArray = new Array();
+ optionsArray.push({
+ id: 'configItemOption' + id,
+ name: 'configItemOption' + id,
+ xtype: 'hidden',
+ hidden: allowBlank,
+ value: resultValue
+ });
+ if (options != "") {
+ var optionsJson = JSON.parse(options);
+ var formId = top.Ext.getCmp('id').getValue();
+ for (var j = 0; j < optionsJson.length; j++) {
+ var checked = false;
+ if(formId !== ''){
+ if (resultValue != '' && resultValue.indexOf(JSON.stringify(optionsJson[j])) != -1) {
+ checked = true;
+ }
+ }else {
+ var isDefaultValue = optionsJson[j].isDefaultValue;
+ if (isDefaultValue == '是') {
+ checked = true;
+ }
+ }
+ optionsArray.push({
+ layout: 'form',
+ columnWidth: 0.5,
+ labelWidth: 200,
+ style: 'margin-top:10px',
+ items: [{
+ name: 'cconfigItemOption' + id,
+ fieldLabel: optionsJson[j].name,
+ xtype: 'checkbox',
+ checked: checked,
+ columnWidth: .5,
+ inputValue: JSON.stringify(optionsJson[j]),
+ listeners: {
+ check: function (thiz, checked) {
+ var elementId = thiz.getName().substring(1);
+ var elementObj = top.Ext.getCmp(elementId);
+
+ if (elementObj != undefined && elementObj != null) {
+ var oldElementValue = elementObj.getValue();
+ var checkedValue = JSON.parse(thiz.getRawValue());
+ if (checked) {
+ if (oldElementValue.indexOf(thiz.getRawValue()) == -1) {
+ oldElementValue += ",";
+ oldElementValue += thiz.getRawValue()
+ elementObj.setValue(oldElementValue);
+ }
+ if (checkedValue != null) {
+ var valueTriggerItemIds = checkedValue.valueTriggerItemIds;
+ triggerItemAction(valueTriggerItemIds, "show");
+ }
+ } else {
+ var newValue = oldElementValue.replace("," + thiz.getRawValue(), '');
+ elementObj.setValue(newValue);
+ if (checkedValue != null) {
+ var valueTriggerItemIds = checkedValue.valueTriggerItemIds;
+ triggerItemAction(valueTriggerItemIds, "hide");
+ }
+ }
+ }
+ }
+ }
+ }]
+ });
+ }
+ }
+ return {
+ columnWidth: 1,
+ xtype: "fieldset",
+ title: name,
+ allowBlank: allowBlank,
+ id: 'hideElement' + id,
+ layout: 'column',
+ autoHeight: true,
+ collapsible: true,
+ collapsed: false,
+ items: optionsArray,
+ listeners: {
+ render: function () {
+ if ('是' == isTriggerItem && resultValue == '') {
+ setTimeout(function () {
+ top.Ext.getCmp('hideElement' + id).hide();
+ }, 1);
+ }
+ }
+ }
+ };
+ }
+}
+
+//触发项事件,用于触发对应的监测细则显示或隐藏
+function triggerItemAction(valueTriggerItemIds, action) {
+ if (valueTriggerItemIds != null && valueTriggerItemIds != "") {
+ var itemIdArray = valueTriggerItemIds.split(",");
+ if (itemIdArray.length > 0) {
+ for (var n = 0; n < itemIdArray.length; n++) {
+ var triggerItemId = itemIdArray[n];
+ if (triggerItemId != null && triggerItemId != "") {
+ if ("show" == action) {
+ top.Ext.getCmp("hideElement" + triggerItemId).show();
+ } else {
+ var xtype = top.Ext.getCmp("hideElement" + triggerItemId).getXType();
+ if (xtype == 'fieldset') {
+ var length = top.Ext.getCmp("hideElement" + triggerItemId).items.each(function (fsItem) {
+ var itemType = fsItem.getXType();
+ if (itemType == "panel") {
+ fsItem.items.each(function (item, index, length) {
+ item.setValue(false);
+ });
+ } else if (itemType == "hidden") {
+ fsItem.setValue("");
+ }
+ });
+ } else if (xtype == 'panel') {
+ var panel = top.Ext.getCmp("hideElement" + triggerItemId);
+ panel.items.each(function (item, index, length) {
+ item.setValue("");
+ });
+ }
+ top.Ext.getCmp("hideElement" + triggerItemId).hide();
+ }
+ }
+ }
+ }
+ }
+}
+
+//添加表单元素
+function addFormDefinitionItem(formId, formExtId, formItemIds, formTitle) {
+ Ext.Ajax.request({
+ url: WWWROOT + '/disinfectSystem/formDefinitionAction!loadFormDefinition.do',
+ params: { id: formId },
+ success: function (response, options) {
+ var result = Ext.decode(response.responseText);
+ if (result.success) {
+ renderFormInstance(result.data.items, formExtId, formItemIds, formTitle);
+ }
+ },
+ failure: function (response, options) {
+ showResult('系统加载出错,请稍候再试');
+ }
+ });
+}
+
+//渲染表单元素
+function renderFormInstance(dataItems, formExtId, formItemIds, formTitle) {
+ var items = new Array();
+ var itemIds = "";
+ for (var i = 0; i < dataItems.length; i++) {
+ var formDefinitionItem = (dataItems[i].definitionItem) ? dataItems[i].definitionItem : dataItems[i];
+ var showAnswer = (dataItems[i].showAnswer) ? dataItems[i].showAnswer : null;
+ var allowBlank = formDefinitionItem.requirement == '必填' ? false : true;
+ if (itemIds != "") {
+ itemIds += ";";
+ }
+ itemIds += formDefinitionItem.id;
+ items.push(createFormDefinitionItemElement(formDefinitionItem.type, formDefinitionItem.id, formDefinitionItem.name, allowBlank, formDefinitionItem.optionsJson, showAnswer, formDefinitionItem.isTriggerItem));
+ if (formDefinitionItem.type == '多选') {
+ items.push({
+ columnWidth: 1,
+ xtype: "label",
+ html: ' ',
+ anchor: '95%'
+ });
+ }
+ }
+
+ top.Ext.getCmp(formItemIds).setValue(itemIds);
+
+ top.Ext.getCmp(formExtId).remove('itemsFieldSet');
+
+ if (items.length > 0) {
+ top.Ext.getCmp(formExtId).add({
+ id: 'itemsFieldSet',
+ xtype: "fieldset",
+ labelAlign: 'left',
+ title: formTitle || "表单元素",
+ layout: 'column',
+ autoHeight: true,
+ items: items
+ });
+ }
+
+ top.Ext.getCmp(formExtId).doLayout();
+
+ if (top.Ext.getCmp('itemsFieldSet')) {
+ top.Ext.getCmp('itemsFieldSet').doLayout();
+ }
+}
+
+//判断表单能否为空
+function verifyFormItemIsNull(ids, thiz) {
+ if (ids != "") {
+ for (var i = 0; i <= ids.split(';').length; i++) {
+ var itemId = ids.split(';')[i];
+ if (itemId != null && itemId != '') {
+ if (!top.Ext.getCmp('hideElement' + itemId).hidden) {
+ if (!top.Ext.getCmp('configItemOption' + itemId).isValid()) {
+ showResult("请正确填写表单各值。");
+ if (thiz) {
+ thiz.enable();
+ }
+ return true;
+ }
+ } else {
+ if (!top.Ext.getCmp('hideElement' + itemId).hidden && top.Ext.getCmp('configItemOption' + itemId).getValue() == '#@') {
+ showResult("请正确填写表单各值。");
+ if (thiz) {
+ thiz.enable();
+ }
+ return true;
+ }
+ }
+ }
+ }
+
+ return false;
+ }
+}
+
+//获取表单的值
+function getFormValueObject(that) {
+ var safetyCheckFormDefinitionId = top.Ext.getCmp('safetyCheckFormDefinitionId').getValue();
+ var runTableRecordFormDefinitionId = top.Ext.getCmp('runTableRecordFormDefinitionId').getValue();
+ if (verifyFormItemIsNull(safetyCheckFormDefinitionId)) {
+ if (that) {
+ that.enable();
+ }
+ return false;
+ }
+ if (verifyFormItemIsNull(runTableRecordFormDefinitionId)) {
+ if (that) {
+ that.enable();
+ }
+ return false;
+ }
+ var safetyCheckFormInstanceInfo = {};
+ for (var i = 0; i <= safetyCheckFormDefinitionId.split(';').length; i++) {
+ var itemId = safetyCheckFormDefinitionId.split(';')[i];
+ if (itemId != null && itemId != '') {
+ if (!top.Ext.getCmp('hideElement' + itemId).hidden) {
+ var name = top.Ext.getCmp('configItemOption' + itemId).name;
+ var value = top.Ext.getCmp('configItemOption' + itemId).getValue() || '';
+ if (top.Ext.getCmp('configItemOption' + itemId).xtype == 'datefieldWithMin') {
+ if (value !== '') {
+ var format = top.Ext.getCmp('configItemOption' + itemId).format;
+ value = top.Ext.util.Format.date(new Date(value), format)
+ }
+ }
+ top.Ext.getCmp('configItemOption' + itemId).setDisabled(true);
+ safetyCheckFormInstanceInfo[name] = value;
+ }
+ }
+ }
+ var runTableRecordFormInstanceInfo = {};
+ for (var i = 0; i <= runTableRecordFormDefinitionId.split(';').length; i++) {
+ var itemId = runTableRecordFormDefinitionId.split(';')[i];
+ if (itemId != null && itemId != '') {
+ if (!top.Ext.getCmp('hideElement' + itemId).hidden) {
+ var name = top.Ext.getCmp('configItemOption' + itemId).name;
+ var value = top.Ext.getCmp('configItemOption' + itemId).getValue() || '';
+ if (top.Ext.getCmp('configItemOption' + itemId).xtype == 'datefieldWithMin') {
+ if (value !== '') {
+ var format = top.Ext.getCmp('configItemOption' + itemId).format;
+ value = top.Ext.util.Format.date(new Date(value), format)
+ }
+ }
+ top.Ext.getCmp('configItemOption' + itemId).setDisabled(true);
+ runTableRecordFormInstanceInfo[name] = value;
+ }
+ }
+ }
+ return {
+ safetyCheckFormInstanceInfo: safetyCheckFormInstanceInfo,
+ runTableRecordFormInstanceInfo: runTableRecordFormInstanceInfo
+ }
+}
+
+//保存自定义表单的参数
+function saveFormParams(sterilizationRecordId, safetyCheckFormInstanceInfo, runTableRecordFormInstanceInfo) {
+ var safetyCheckFormDefinitionId = top.Ext.getCmp('safetyCheckFormDefinitionId').getValue();
+ var runTableRecordFormDefinitionId = top.Ext.getCmp('runTableRecordFormDefinitionId').getValue();
+ if (safetyCheckFormDefinitionId !== '') {
+ var formId = top.Ext.getCmp('safetyCheckId').getValue();
+ var formDefinitionId = top.Ext.getCmp('safetyCheckFormId').getValue();
+ safetyCheckFormInstanceInfo.id = formId;
+ safetyCheckFormInstanceInfo.formName = '灭菌器运行前安全检查';
+ safetyCheckFormInstanceInfo.formDefinitionItemIds = safetyCheckFormDefinitionId;
+ safetyCheckFormInstanceInfo.formDefinitionId = formDefinitionId;
+ safetyCheckFormInstanceInfo.sterilizationRecordId = sterilizationRecordId;
+ safetyCheckFormInstanceInfo.formInstanceType = 'safetyCheckForm';
+ saveFormInstance(safetyCheckFormInstanceInfo)
+ }
+ if (runTableRecordFormDefinitionId !== '') {
+ var formId = top.Ext.getCmp('runTableRecordId').getValue();
+ var formDefinitionId = top.Ext.getCmp('runTableRecordFormId').getValue();
+ runTableRecordFormInstanceInfo.id = formId;
+ runTableRecordFormInstanceInfo.formName = '灭菌器运行记录表';
+ runTableRecordFormInstanceInfo.formDefinitionItemIds = runTableRecordFormDefinitionId;
+ runTableRecordFormInstanceInfo.formDefinitionId = formDefinitionId;
+ runTableRecordFormInstanceInfo.sterilizationRecordId = sterilizationRecordId;
+ runTableRecordFormInstanceInfo.formInstanceType = 'runTableRecord';
+ saveFormInstance(runTableRecordFormInstanceInfo)
+ }
+}
\ No newline at end of file
Index: ssts-web/src/main/webapp/disinfectsystem/equipmentInspection/forminstanceForm.js
===================================================================
diff -u
--- ssts-web/src/main/webapp/disinfectsystem/equipmentInspection/forminstanceForm.js (revision 0)
+++ ssts-web/src/main/webapp/disinfectsystem/equipmentInspection/forminstanceForm.js (revision 38048)
@@ -0,0 +1,270 @@
+var formInstanceWin = null;
+
+function cancelFormInstance() {
+ formInstanceWin.close();
+}
+
+function submitForm2(saveAndCreate) {
+ var url = WWWROOT + '/disinfectSystem/equipmentInspectionInstanceAction!saveEquipmentInspectionInstance.do';
+ top.Ext.getCmp('addFormInstanceForm').form.submit({
+ url: url,
+ method: 'POST',
+ waitMsg: '正在保存数据,请稍候',
+ waitTitle: '提交表单',
+ success: function (form, action) {
+ var result = top.Ext.decode(action.response.responseText);
+ showResult(result.message);
+ if (result.success) {
+ grid.dwrReload();
+ cancelFormInstance();
+ if (saveAndCreate) {
+ addFormInstanceWin("");
+ }
+ }
+ },
+ failure: function (form, action) {
+ var result = top.Ext.decode(action.response.responseText);
+ showResult(result.message);
+ }
+ });
+}
+
+function addFormInstanceWin(id) {
+ if (id == null || id == 'undentified') {
+ id = "";
+ }
+
+ var deviceInfoStore = new Ext.data.Store({
+ proxy: new Ext.data.HttpProxy({
+ url: WWWROOT + '/disinfectSystem/equipmentInspectionDefAction!loadDeviceInfo.do',
+ method: 'POST'
+ }),
+ reader: new Ext.data.JsonReader({
+ totalProperty: 'totalCount',
+ root: 'data'
+ }, [
+ { name: 'id', mapping: 'id' },
+ { name: 'name', mapping: 'name' },
+ { name: 'type', mapping: 'type' }
+ ])
+ });
+
+ var formPanel = new top.Ext.FormPanel({
+ id: 'addFormInstanceForm',
+ frame: true,
+ labelSeparator: ':',
+ bodyStyle: 'padding:5px 5px 5px 5px',
+ width: 600,
+ height: 500,
+ labelAlign: 'right',
+ buttonAlign: 'center',
+ autoScroll: true,
+ items: [{
+ id: 'baseInfoPanel',
+ layout: 'column',
+ xtype: "fieldset",
+ title: "基本信息",
+ autoHeight: true,
+ items: [{
+ xtype: 'hidden',
+ name: 'id',
+ id: 'id'
+ }, {
+ xtype: 'hidden',
+ name: 'formDefinitionItemIds',
+ id: 'formDefinitionItemIds'
+ }, {
+ layout: 'form',
+ columnWidth: .5,
+ labelWidth: 90,
+ items: [{
+ xtype: 'hidden',
+ name: 'formDefinitionId',
+ id: 'formDefinitionId'
+ }, {
+ xtype: 'textfield',
+ id: 'formDefinitionName',
+ name: 'formDefinitionName',
+ fieldLabel: '名称',
+ anchor: '95%',
+ readOnly: true,
+ cls: 'fieldReadOnlyNoRemove'
+ }]
+ }, {
+ layout: 'form',
+ columnWidth: .5,
+ labelWidth: 80,
+ items: [{
+ xtype: 'hidden',
+ name: 'equipmentID',
+ id: 'equipmentID'
+ }, {
+ xtype: 'hidden',
+ name: 'equipmentType',
+ id: 'equipmentType'
+ }, {
+ xtype: 'combo',
+ id: 'equipmentName',
+ name: 'equipmentName',
+ fieldLabel: '设备名称',
+ queryParam: 'spell',
+ minChars: 0,
+ valueField: 'name',
+ displayField: 'name',
+ store: deviceInfoStore,
+ forceSelection: false,
+ lazyInit: true,
+ triggerAction: 'all',
+ typeAhead: false,
+ allowBlank: true,
+ anchor: '95%',
+ editable: false,
+ listeners: {
+ beforequery: function (queryEvent) {
+ if (id != "" && id != 0) {
+ return false;
+ }
+ },
+ beforeselect: function (combo, record, index) {
+ if (record.data.name == combo.getValue()) {
+ return false;
+ }
+ },
+ select: function (combo, record, index) {
+ var id = record.data.id;
+ var type = record.data.type;
+ Ext.Ajax.request({
+ url: WWWROOT + '/disinfectSystem/equipmentInspectionDefAction!loadEquipmentInspectionDefByEquipment.do',
+ params: { equipmentId: id, type: type },
+ success: function (response, options) {
+ var result = Ext.decode(response.responseText);
+ if (result.success && result.data.length > 0) {
+ top.Ext.getCmp("formDefinitionId").setValue(result.data[0].id);
+ top.Ext.getCmp("formDefinitionName").setValue(result.data[0].formName);
+ top.Ext.getCmp("equipmentID").setValue(id);
+ top.Ext.getCmp("equipmentType").setValue(type);
+ addFormDefinitionItem(result.data[0].id, 'addFormInstanceForm', 'formDefinitionItemIds');
+ } else {
+ renderFormInstance([], 'addFormInstanceForm', 'formDefinitionItemIds');
+ }
+ }
+ });
+ }
+ }
+ }]
+ }, {
+ layout: 'form',
+ columnWidth: .5,
+ labelWidth: 90,
+ items: [{
+ xtype: 'datefieldWithMin',
+ fieldLabel: '登记时间',
+ id: 'createDate',
+ name: 'createDate',
+ format: 'Y-m-d H:i',
+ value: new Date(),
+ allowBlank: true,
+ anchor: '97%'
+ }]
+ }, {
+ layout: 'form',
+ columnWidth: .5,
+ labelWidth: 90,
+ items: [{
+ xtype: 'textfield',
+ name: 'createUserName',
+ id: 'createUserName',
+ fieldLabel: "登记人",
+ anchor: '95%',
+ readOnly: true,
+ value: userName,
+ cls: 'fieldReadOnlyNoRemove'
+ }]
+ }, {
+ layout: 'form',
+ columnWidth: 1,
+ labelWidth: 90,
+ items: [{
+ xtype: 'textarea',
+ name: 'remark',
+ id: 'remark',
+ width: 150,
+ height: 37,
+ fieldLabel: "备注",
+ anchor: '97%'
+ }]
+ }]
+ }],
+ buttons: [{
+ id: 'saveBtn',
+ text: '保存',
+ handler: function () {
+ saveFormInstance(this, false);
+ }
+ }, {
+ id: 'saveAndCreateBtn',
+ text: '保存并新建',
+ handler: function () {
+ saveFormInstance(this, true);
+ }
+ }, {
+ text: '取消',
+ id: 'saveAndNewBtn',
+ handler: cancelFormInstance
+ }]
+ });
+
+ formInstanceWin = new top.Ext.Window({
+ id: 'formInstanceWin',
+ layout: 'fit',
+ title: '表单登记信息',
+ width: 700,
+ modal: true,
+ autoHeight: true,
+ border: false,
+ plain: true,
+ items: [formPanel]
+ });
+
+ formInstanceWin.show();
+ if (id != null && id != '') {
+
+ top.Ext.getCmp('equipmentName').addClass("fieldReadOnlyNoRemove");
+
+ Ext.Ajax.request({
+ url: WWWROOT + '/disinfectSystem/equipmentInspectionInstanceAction!loadEquipmentInspectionInstance.do',
+ params: { id: id },
+ success: function (response, options) {
+ var result = Ext.decode(response.responseText);
+ top.Ext.getCmp("id").setValue(result.data.id);
+ top.Ext.getCmp("formDefinitionId").setValue(result.data.formDefinition.id);
+ top.Ext.getCmp("formDefinitionName").setValue(result.data.formDefinition.formName);
+ top.Ext.getCmp("equipmentName").setValue(result.data.equipmentName);
+ top.Ext.getCmp("equipmentType").setValue(result.data.equipmentType);
+ top.Ext.getCmp("equipmentID").setValue(result.data.equipmentID);
+ top.Ext.getCmp("createUserName").setValue(result.data.createUserName);
+ top.Ext.getCmp("createDate").setValue(Ext.util.Format.date(new Date(result.data.createDate.time), 'Y-m-d H:i'));
+ top.Ext.getCmp("remark").setValue(result.data.remark);
+
+ renderFormInstance(result.data.items, 'addFormInstanceForm', 'formDefinitionItemIds');
+ }
+ });
+ }
+
+ function saveFormInstance(thiz, saveAndCreate) {
+
+ var ids = top.Ext.getCmp('formDefinitionItemIds').getValue();
+ if (verifyFormItemIsNull(ids, thiz)) {
+ return true;
+ }
+
+ var equipmentName = top.Ext.getCmp("equipmentName");
+ if (equipmentName == null || equipmentName.getValue() == '') {
+ showResult("请选择设备名称!");
+ return false;
+ }
+
+ submitForm2(saveAndCreate);
+ }
+}
+
Index: ssts-web/src/main/webapp/disinfectsystem/equipmentInspection/formdefinitionForm.js
===================================================================
diff -u
--- ssts-web/src/main/webapp/disinfectsystem/equipmentInspection/formdefinitionForm.js (revision 0)
+++ ssts-web/src/main/webapp/disinfectsystem/equipmentInspection/formdefinitionForm.js (revision 38048)
@@ -0,0 +1,1078 @@
+var formDefinitionItemRecord = Ext.data.Record.create([
+ { name: 'id' },
+ { name: 'name' },
+ { name: 'type' },
+ { name: 'requirement' },
+ { name: 'options' },
+ { name: 'optionsJson' }
+]);
+
+function addFormDefinition(id) {
+ var deviceInfoRecord = Ext.data.Record.create([
+ { name: 'departCode', type: 'string' },
+ { name: 'name', type: 'string' }
+ ]);
+ var remindUserRecord = Ext.data.Record.create([
+ { name: 'id', type: 'string' },
+ { name: 'name', type: 'string' }
+ ]);
+ var deviceInfoStore = new Ext.data.Store({
+ proxy: new Ext.data.HttpProxy({
+ url: WWWROOT + '/disinfectSystem/equipmentInspectionDefAction!loadDeviceInfo.do',
+ method: 'POST'
+ }),
+ reader: new Ext.data.JsonReader({
+ totalProperty: 'totalCount',
+ root: 'data'
+ }, [
+ { name: 'id', mapping: 'id' },
+ { name: 'name', mapping: 'name' },
+ { name: 'type', mapping: 'type' }
+ ]),
+ listeners: {
+ load: function (thiz, records, options) {
+ if (deviceInfoStore.getCount() > 1) {
+ deviceInfoStore.insert(0, new deviceInfoRecord({ 'id': '全部', 'name': '全部' }));
+ if (!id) {
+ top.Ext.getCmp('applicableEquipmentName').selectAll();
+ var item = [];
+ deviceInfoStore.each(function (record) {
+ if (record.get('name') !== '全部' && record.get('checked')) {
+ item.push({
+ equipmentId: record.get('id'),
+ type: record.get('type')
+ })
+ }
+ });
+ top.Ext.getCmp('applicableEquipmentArray').setValue(JSON.stringify(item));
+ }
+ }
+ }
+ }
+ });
+ deviceInfoStore.load();
+
+ var remindUserStore = new Ext.data.Store({
+ proxy: new Ext.data.HttpProxy({
+ url: WWWROOT + '/systemmanage/user/loadUserByDepartmentCode!loadUserByDepartmentCode.do',
+ method: 'POST'
+ }),
+ reader: new Ext.data.JsonReader({
+ totalProperty: 'totalCount',
+ root: 'data'
+ }, [
+ { name: 'name', mapping: 'name' },
+ { name: 'id', mapping: 'id' }
+ ]),
+ listeners: {
+ beforeload: function (_this, options) {
+ _this.baseParams.departmentCode = currentOrgUnitCoding;
+ },
+ load: function (thiz, records, options) {
+ if (remindUserStore.getCount() > 1) {
+ remindUserStore.insert(0, new remindUserRecord({ 'id': '-1', 'name': '全部' }));
+ }
+ }
+ }
+ });
+
+ var formPanel = new top.Ext.FormPanel({
+ id: 'formDefinitionForm',
+ frame: true,
+ labelSeparator: ':',
+ labelAlign: 'right',
+ fileUpload: true,
+ bodyStyle: 'padding:5px 5px 0px 5px;',
+ autoWidth: true,
+ height: 170,
+ layout: 'column',
+ items: [{
+ xtype: 'hidden',
+ name: 'id',
+ id: 'id',
+ value: id
+ }, {
+ xtype: 'hidden',
+ name: 'isDisabled',
+ id: 'isDisabled',
+ value: '否'
+ }, {
+ xtype: 'hidden',
+ name: 'formType',
+ id: 'formType',
+ value: formType
+ }, {
+ layout: 'form',
+ columnWidth: .5,
+ labelWidth: 80,
+ items: [{
+ xtype: 'textfield',
+ fieldLabel: "定义名称",
+ name: "formName",
+ id: "formName",
+ allowBlank: false,
+ anchor: '95%'
+ }]
+ }, {
+ layout: 'form',
+ columnWidth: .5,
+ labelWidth: 80,
+ items: [{
+ xtype: 'hidden',
+ id: 'applicableEquipmentArray',
+ name: 'applicableEquipmentArray'
+ }, {
+ xtype: 'multiSelect',
+ id: 'applicableEquipmentName',
+ name: 'applicableEquipmentName',
+ fieldLabel: '适用设备',
+ queryParam: 'spell',
+ minChars: 0,
+ valueField: 'name',
+ displayField: 'name',
+ store: deviceInfoStore,
+ forceSelection: false,
+ lazyInit: true,
+ triggerAction: 'all',
+ typeAhead: false,
+ allowBlank: true,
+ anchor: '95%',
+ editable: false,
+ listeners: {
+ select: function (combo, record, index) {
+ //1、如果选中“全部”的项,则把所有的项选中,反之全部取消选择
+ if (record.get('name') == '全部') {
+ if (record.get('checked')) {
+ combo.selectAll();
+ } else {
+ combo.deselectAll();
+ }
+ }
+
+ //2、如果已经选中所有的项,则把“全部”项选中,反之把“全部”项取消选择
+ var selectAll = true;
+ combo.store.each(function (record) {
+ if (record.get('name') != '全部' && !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());
+ var item = [];
+ var isHasBioreaderInterface = false;
+ combo.store.each(function (record) {
+ if (record.get('name') !== '全部' && record.get('checked')) {
+ item.push({
+ equipmentId: record.get('id'),
+ type: record.get('type')
+ });
+ if (record.get('type') == '生物阅读器') {
+ isHasBioreaderInterface = true;
+ }
+ }
+ }, combo);
+ if (isHasBioreaderInterface) {
+ top.Ext.getCmp('remindMode').setValue('每天固定时间提醒');
+ top.Ext.getCmp('remindMode').disable()
+ } else {
+ top.Ext.getCmp('remindMode').enable();
+ }
+ top.Ext.getCmp('applicableEquipmentArray').setValue(JSON.stringify(item));
+ }
+ }
+ }]
+ }, {
+ layout: 'form',
+ columnWidth: .5,
+ labelWidth: 80,
+ items: [{
+ xtype: 'combo',
+ fieldLabel: "是否提醒",
+ name: "equipmentInspectionRemind",
+ id: "equipmentInspectionRemind",
+ valueField: 'value',
+ displayField: 'value',
+ allowBlank: true,
+ editable: false,
+ store: new top.Ext.data.SimpleStore({
+ fields: ['value'],
+ data: [['是'], ['否']]
+ }),
+ value: '否',
+ forceSelection: true,
+ mode: 'local',
+ anchor: '95%',
+ triggerAction: 'all',
+ listeners: {
+ select: function (combo, record, index) {
+ if (record.data.value == '是') {
+ top.Ext.getCmp('remindUserBox').show();
+ top.Ext.getCmp('remindModeBox').show();
+ top.Ext.getCmp('remindDurationBox').show();
+ top.Ext.getCmp('remindStartTimeBox').show();
+ top.Ext.getCmp('remindEndTimeBox').show();
+ } else {
+ // top.Ext.getCmp('remindUserNames').setRawValue('');
+ // top.Ext.getCmp('remindUserIds').setValue('');
+ // top.Ext.getCmp('remindDuration').setValue('');
+ // top.Ext.getCmp('remindMode').setValue('每天固定时间提醒');
+ // top.Ext.getCmp('remindStartTime').setValue('00:00');
+ // top.Ext.getCmp('remindEndTime').setValue('23:59');
+ top.Ext.getCmp('remindUserBox').hide();
+ top.Ext.getCmp('remindModeBox').hide();
+ top.Ext.getCmp('remindDurationBox').hide();
+ top.Ext.getCmp('remindStartTimeBox').hide();
+ top.Ext.getCmp('remindEndTimeBox').hide();
+ }
+ }
+ }
+ }]
+ }, {
+ layout: 'form',
+ columnWidth: .5,
+ labelWidth: 80,
+ id: 'remindUserBox',
+ items: [{
+ xtype: 'hidden',
+ id: 'remindUserIds',
+ name: 'remindUserIds'
+ }, {
+ xtype: 'multiSelect',
+ id: 'remindUserNames',
+ name: 'remindUserNames',
+ fieldLabel: '提醒用户',
+ queryParam: 'spell',
+ minChars: 0,
+ valueField: 'id',
+ displayField: 'name',
+ store: remindUserStore,
+ forceSelection: false,
+ lazyInit: true,
+ triggerAction: 'all',
+ typeAhead: false,
+ allowBlank: true,
+ anchor: '95%',
+ separator: ';',
+ editable: false,
+ listeners: {
+ select: function (combo, record, index) {
+ //1、如果选中“全部”的项,则把所有的项选中,反之全部取消选择
+ if (record.get('name') == '全部') {
+ if (record.get('checked')) {
+ combo.selectAll();
+ } else {
+ combo.deselectAll();
+ }
+ }
+
+ //2、如果已经选中所有的项,则把“全部”项选中,反之把“全部”项取消选择
+ var selectAll = true;
+ combo.store.each(function (record) {
+ if (record.get('name') != '全部' && !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());
+ top.Ext.getCmp('remindUserIds').setValue(combo.getCheckedValue());
+ }
+ }
+ }]
+ }, {
+ layout: 'form',
+ columnWidth: .5,
+ labelWidth: 80,
+ id: 'remindModeBox',
+ items: [{
+ xtype: 'combo',
+ fieldLabel: "提醒模式",
+ name: "remindMode",
+ id: "remindMode",
+ valueField: 'value',
+ displayField: 'value',
+ allowBlank: true,
+ editable: false,
+ store: new top.Ext.data.SimpleStore({
+ fields: ['value'],
+ data: [['每天固定时间提醒'], ['设备运行时提醒']]
+ }),
+ value: '每天固定时间提醒',
+ forceSelection: true,
+ mode: 'local',
+ anchor: '95%',
+ triggerAction: 'all',
+ listeners: {
+ select: function (combo, record, index) {
+ if (record.data.value == '每天固定时间提醒') {
+ top.Ext.getCmp('remindStartTimeBox').show();
+ top.Ext.getCmp('remindEndTimeBox').show();
+ } else {
+ // top.Ext.getCmp('remindStartTime').setValue('00:00');
+ // top.Ext.getCmp('remindEndTime').setValue('23:59');
+ top.Ext.getCmp('remindStartTimeBox').hide();
+ top.Ext.getCmp('remindEndTimeBox').hide();
+ }
+ }
+ }
+ }]
+ }, {
+ layout: 'form',
+ columnWidth: .5,
+ labelWidth: 80,
+ id: 'remindDurationBox',
+ items: [{
+ xtype: 'textfield',
+ fieldLabel: "间隔时长(分)",
+ name: "remindDuration",
+ id: "remindDuration",
+ allowBlank: true,
+ anchor: '95%'
+ }]
+ }, {
+ layout: 'form',
+ columnWidth: .5,
+ labelWidth: 80,
+ id: 'remindStartTimeBox',
+ items: [new top.Ext.form.TimeField({
+ id: 'remindStartTime',
+ name: 'remindStartTime',
+ fieldLabel: '提醒开始时间',
+ readOnly: false,
+ format: 'H:i',
+ value: '00:00',
+ anchor: '95%'
+ })]
+ }, {
+ layout: 'form',
+ columnWidth: .5,
+ labelWidth: 80,
+ id: 'remindEndTimeBox',
+ items: [new top.Ext.form.TimeField({
+ id: 'remindEndTime',
+ name: 'remindEndTime',
+ fieldLabel: '提醒结束时间',
+ readOnly: false,
+ format: 'H:i',
+ value: '23:59',
+ anchor: '95%'
+ })]
+ }, {
+ layout: 'form',
+ columnWidth: 1,
+ labelWidth: 80,
+ items: [{
+ xtype: 'textarea',
+ fieldLabel: "备注",
+ name: "remark",
+ id: "remark",
+ height: 40,
+ anchor: '97%'
+ }]
+ }]
+ });
+
+ var tbar = [{
+ text: '元素类型:'
+ }, {
+ xtype: 'combo',
+ fieldLabel: "元素类型",
+ name: "type",
+ id: "type",
+ width: 100,
+ valueField: 'value',
+ displayField: 'value',
+ allowBlank: false,
+ editable: false,
+ store: new top.Ext.data.SimpleStore({
+ fields: ['value'],
+ data: [[itemTypes[0]], [itemTypes[1]], [itemTypes[2]], [itemTypes[3]], [itemTypes[4]], [itemTypes[5]], [itemTypes[6]], [itemTypes[7]]]
+ }
+ ),
+ value: itemTypes[5],
+ forceSelection: true,
+ mode: 'local',
+ triggerAction: 'all'
+ }, {
+ text: '元素名称:'
+ }, {
+ xtype: 'textfield',
+ maxLength: '20',
+ id: 'name',
+ name: 'name',
+ width: 200
+ }, {
+ text: '必要性:'
+ }, {
+ xtype: 'combo',
+ name: "requirement",
+ id: "requirement",
+ valueField: 'value',
+ displayField: 'value',
+ allowBlank: false,
+ width: 80,
+ editable: false,
+ store: new top.Ext.data.SimpleStore({
+ fields: ['value'],
+ data: [['可选'], ['必填']]
+ }
+ ),
+ value: '可选',
+ forceSelection: true,
+ mode: 'local',
+ triggerAction: 'all'
+ }, {
+ text: '添加',
+ iconCls: 'btn_ext_add',
+ handler: function () {
+ var type = top.Ext.getCmp("type").getValue();
+ var name = top.Ext.getCmp("name").getValue();
+ var requirement = top.Ext.getCmp("requirement").getValue();
+ if (type == "") {
+ showResult("元素类型不能为空!");
+ return false;
+ }
+ if (name == "") {
+ showResult("元素名称不能为空!");
+ return false;
+ }
+ if (requirement == "") {
+ showResult("元素必要性不能为空!");
+ return false;
+ }
+
+ var options = '';
+ var formConfigStore = top.Ext.getCmp('formDefinitionItemConfigPanel').getStore();
+ var index = formConfigStore.find('name', top.Ext.getCmp('name').getValue());
+ var isNameExist = false;
+ if (index != -1) {
+ var recordName = formConfigStore.getAt(index).get('name');
+ if (recordName == name) {
+ isNameExist = true;
+ }
+ }
+ if (isNameExist) {
+ showResult(name + ",列表已存在!");
+ } else {
+ var itemRecord = new formDefinitionItemRecord({
+ id: 0,
+ name: name,
+ type: type,
+ requirement: requirement,
+ options: '',
+ optionsJson: ""
+ });
+ formConfigStore.add(itemRecord);
+ }
+ top.Ext.getCmp('name').setValue('');
+ top.Ext.getCmp('requirement').setValue('可选');
+ }
+ }];
+ var formDefinitionWin = new top.Ext.Window({
+ id: 'formDefinitionWin',
+ title: '表单定义信息',
+ width: 700,
+ border: false,
+ modal: true,
+ heigth: 800,
+ plain: true,
+ buttonAlign: 'center',
+ items: [{
+ layout: 'column',
+ labelWidth: 90,
+ items: [{
+ columnWidth: 1,
+ items: [formPanel]
+ }, {
+ columnWidth: 1,
+ items: [
+ new top.Ext.grid.EditorGridPanel({
+ id: 'formDefinitionItemConfigPanel',
+ title: '表单元素列表',
+ width: 685,
+ height: 400,
+ border: true,
+ frame: false,
+ selModel: new top.Ext.grid.RowSelectionModel({
+ singleSelect: false
+ }),
+ bodyStyle: 'border:1px solid #afd7af',
+ tbar: tbar,
+ autoExpandColumn: 'aotuColumnId',
+ store: new top.Ext.data.Store({
+ reader: new top.Ext.data.JsonReader({
+ fields: [
+ { name: 'id' },
+ { name: 'name' },
+ { name: 'type' },
+ { name: 'requirement' },
+ { name: 'optionsJson' },
+ { name: 'options' }
+ ]
+ })
+ }),
+ cm: new top.Ext.grid.ColumnModel([new top.Ext.grid.RowNumberer({ header: "序号", width: 40 }),
+ {
+ header: "元素名称", dataIndex: 'name', width: 170,
+ editor: new top.Ext.form.TextField({
+ allowBlank: false
+ })
+ },
+ { header: "元素类型", width: 80, dataIndex: 'type' },
+ {
+ header: "必要性", width: 80, dataIndex: 'requirement',
+ editor: new top.Ext.form.ComboBox({
+ valueField: 'value',
+ displayField: 'value',
+ allowBlank: false,
+ width: 80,
+ editable: false,
+ store: new top.Ext.data.SimpleStore({
+ fields: ['value'],
+ data: [['必填'], ['可选']]
+ }
+ ),
+ forceSelection: true,
+ mode: 'local',
+ triggerAction: 'all'
+ })
+ },
+ { header: "参数值", width: 150, dataIndex: 'options' },
+ { header: "排序", width: 80, dataIndex: 'id', renderer: moveUpDown, sortable: false, menuDisabled: true },
+ {
+ id: 'aotuColumnId', header: "删除", dataIndex: 'name', width: 100,
+ renderer: function (v, p, record, index) {
+ var str = "
";
+ return str;
+ }
+ }]),
+ listeners: {
+ cellclick: function (thiz, rowIndex, columnIndex, e) {
+ var record = thiz.getStore().getAt(rowIndex);
+ var type = record.get("type");
+ var params = record.get("optionsJson");
+ if (columnIndex == 4 && (itemTypes[3] == type || itemTypes[4] == type)) {
+ setFormDefinitionOptionsWin(params, rowIndex, type);
+ }
+ }
+ }
+ })
+ ]
+ }]
+ }],
+ buttons: [{
+ id: 'saveBtn',
+ text: '保存',
+ handler: saveFormDefinition
+ }, {
+ id: 'deployBtn',
+ text: '部署',
+ handler: deployFormDefinition
+ }, {
+ text: '取消',
+ id: 'cancelBtn',
+ handler: function () {
+ top.Ext.getCmp("formDefinitionWin").close();
+ }
+ }]
+ });
+
+ formDefinitionWin.show();
+ if (id != null && id != "") {
+ formPanel.form.load({
+ url: WWWROOT + '/disinfectSystem/equipmentInspectionDefAction!loadEquipmentInspectionDef.do',
+ method: 'GET',
+ params: { id: id },
+ waitMsg: '正在加载数据,请稍候',
+ success: function (form, action) {
+ var formConfig = action.result.data;
+ if (action_deploy == formConfig.isDeploy) {
+ top.Ext.getCmp("saveBtn").disable();
+ }
+ var items = formConfig.items;
+ var store = top.Ext.getCmp('formDefinitionItemConfigPanel').getStore();
+ for (var i = 0; i < items.length; i++) {
+ var itemRecord = new formDefinitionItemRecord({
+ id: items[i].id,
+ name: items[i].name,
+ type: items[i].type,
+ requirement: items[i].requirement,
+ options: items[i].optionsStr,
+ optionsJson: items[i].optionsJson
+ });
+ store.add(itemRecord);
+ }
+
+ var item = [];
+ var nameArr = [];
+ var applicableEquipmentArray = formConfig.applicableEquipmentArray;
+ if (applicableEquipmentArray !== '') {
+ var isHasBioreaderInterface = false;
+ applicableEquipmentArray = JSON.parse(applicableEquipmentArray);
+ for (var i = 0; i < applicableEquipmentArray.length; i++) {
+ item.push({
+ equipmentId: applicableEquipmentArray[i].equipmentId,
+ type: applicableEquipmentArray[i].type
+ });
+ nameArr.push(applicableEquipmentArray[i].equipmentName);
+ if (applicableEquipmentArray[i].type == '生物阅读器') {
+ isHasBioreaderInterface = true;
+ }
+ }
+ top.Ext.getCmp('applicableEquipmentArray').setValue(JSON.stringify(item));
+ top.Ext.getCmp('applicableEquipmentName').setRawValue(nameArr.join(','));
+ if (isHasBioreaderInterface) {
+ top.Ext.getCmp('remindMode').disable()
+ } else {
+ top.Ext.getCmp('remindMode').enable();
+ }
+ }
+
+ var equipmentInspectionRemind = formConfig.equipmentInspectionRemind;
+ if (equipmentInspectionRemind == '是') {
+ top.Ext.getCmp('remindUserNames').setRawValue(formConfig.remindUserNames);
+ top.Ext.getCmp('remindUserIds').setValue(formConfig.remindUserIds);
+ top.Ext.getCmp('remindDuration').setValue(formConfig.remindDuration);
+ top.Ext.getCmp('remindMode').setValue(formConfig.remindMode);
+ if (formConfig.remindMode == '每天固定时间提醒') {
+ top.Ext.getCmp('remindStartTime').setValue(formConfig.remindStartTime);
+ top.Ext.getCmp('remindEndTime').setValue(formConfig.remindEndTime);
+ } else {
+ top.Ext.getCmp('remindStartTimeBox').hide();
+ top.Ext.getCmp('remindEndTimeBox').hide();
+ }
+ } else {
+ top.Ext.getCmp('remindUserBox').hide();
+ top.Ext.getCmp('remindModeBox').hide();
+ top.Ext.getCmp('remindDurationBox').hide();
+ top.Ext.getCmp('remindStartTimeBox').hide();
+ top.Ext.getCmp('remindEndTimeBox').hide();
+ }
+ },
+ failure: function (form, action) {
+ showResult("加载出错,请联系管理员!");
+ }
+ });
+ } else {
+ top.Ext.getCmp('remindUserBox').hide();
+ top.Ext.getCmp('remindModeBox').hide();
+ top.Ext.getCmp('remindDurationBox').hide();
+ top.Ext.getCmp('remindStartTimeBox').hide();
+ top.Ext.getCmp('remindEndTimeBox').hide();
+ }
+}
+
+function deployFormDefinition() {
+ submitFormDefinitionForm(action_deploy);
+}
+
+function saveFormDefinition() {
+ submitFormDefinitionForm(action_save);
+}
+
+function submitFormDefinitionForm(actionType) {
+ var formPanel = top.Ext.getCmp('formDefinitionForm');
+ if (!formPanel.form.isValid()) {
+ showResult('请正确填写表单各值');
+ return false;
+ }
+
+ var applicableEquipmentArray = top.Ext.getCmp('applicableEquipmentArray').getValue();
+ if (JSON.parse(applicableEquipmentArray).length == 0) {
+ showResult('适用设备不能为空!');
+ return false;
+ }
+
+ var equipmentInspectionRemind = top.Ext.getCmp('equipmentInspectionRemind').getValue();
+ if (equipmentInspectionRemind == '是') {
+ var remindMode = top.Ext.getCmp('remindMode').getValue();
+ var remindUserNames = top.Ext.getCmp('remindUserNames').getRawValue();
+ if (remindUserNames == '') {
+ showResult('提醒用户不能为空!');
+ return false;
+ }
+ var remindDuration = top.Ext.getCmp('remindDuration').getValue();
+ if (remindDuration == '') {
+ showResult('提醒时长不能为空!');
+ return false;
+ }
+ if (remindMode == '每天固定时间提醒') {
+ var remindStartTime = top.Ext.getCmp('remindStartTime').getRawValue();
+ var remindEndTime = top.Ext.getCmp('remindEndTime').getRawValue();
+ if (remindStartTime == '' || remindEndTime == '') {
+ showResult('提醒时间不能为空!');
+ return false;
+ }
+ var startHour = remindStartTime.split(':')[0];
+ var startMin = remindStartTime.split(':')[1];
+
+ var endHour = remindEndTime.split(':')[0];
+ var endMin = remindEndTime.split(':')[1];
+
+ startMin = parseInt(startHour) * 60 + parseInt(startMin);
+ endMin = parseInt(endHour) * 60 + parseInt(endMin);
+ if (startMin > endMin) {
+ showResult('结束时间不能早于开始时间。');
+ return false
+ }
+ }
+ }
+ var store = top.Ext.getCmp('formDefinitionItemConfigPanel').getStore();
+ if (store.getCount() == 0) {
+ showResult("表单元素列表不能为空!");
+ return false;
+ }
+ var jsonArray = [];
+ var submitFaildMsg = "";
+ for (var i = 0; i < store.getCount(); i++) {
+ var record = store.getAt(i);
+ var name = record.get('name');
+ var type = record.get('type');
+ if (itemTypes[3] == type || itemTypes[4] == type) {
+ if (record.get("optionsJson") == "" || record.get("optionsJson") == "[]") {
+ submitFaildMsg = (name + ",元素类型[" + type + "],未设置参数值!");
+ break;
+ }
+ }
+ jsonArray.push({
+ id: record.get('id'),
+ name: name,
+ type: type,
+ requirement: record.get('requirement'),
+ options: record.get('optionsJson'),
+ orderNumber: (i + 1)
+ });
+ }
+
+ if (submitFaildMsg != "") {
+ showResult(submitFaildMsg);
+ return false;
+ }
+
+ formPanel.form.submit({
+ url: WWWROOT + '/disinfectSystem/equipmentInspectionDefAction!saveEquipmentInspectionDef.do',
+ method: 'POST',
+ waitMsg: '正在保存数据,请稍候',
+ waitTitle: '提交表单',
+ params: { "items": JSON.stringify(jsonArray), "actionType": actionType },
+ success: function (form, action) {
+ showResult(action.result.message);
+ if (action.result.success) {
+ grid.dwrReload();
+ top.Ext.getCmp("formDefinitionWin").close();
+ }
+ },
+ failure: function (form, action) {
+ showResult(action.result.message);
+ }
+ });
+}
+
+function setFormDefinitionOptionsWin(params, rowIndex, type) {
+
+ var goodsRecord = Ext.data.Record.create([
+ { name: 'id' },
+ { name: 'name' },
+ { name: 'orderNumber' },
+ { name: 'isDefaultValue' }
+ ]);
+
+ var optionStore = new Ext.data.Store({
+ proxy: new Ext.data.MemoryProxy([]),
+ reader: new Ext.data.JsonReader({
+ fields: [{
+ name: 'id'
+ }, {
+ name: 'valueTriggerItemNames'
+ }, {
+ name: 'name'
+ }, {
+ name: 'orderNumber'
+ }, {
+ name: 'isDefaultValue'
+ }]
+ })
+ });
+ if (params != undefined && params != "") {
+ var optionsJson = JSON.parse(params);
+ for (var i = 0; i < optionsJson.length; i++) {
+ var record = new goodsRecord({
+ id: optionsJson[i].id,
+ name: optionsJson[i].name,
+ valueTriggerItemNames: optionsJson[i].valueTriggerItemNames,
+ orderNumber: optionsJson[i].orderNumber,
+ isDefaultValue: optionsJson[i].isDefaultValue
+ });
+ optionStore.add(record);
+ }
+ }
+
+ var cm = new top.Ext.grid.ColumnModel([{
+ id: 'id',
+ name: 'id',
+ hidden: true,
+ dataIndex: 'id'
+ }, {
+ id: 'name',
+ header: "名称",
+ width: 150,
+ dataIndex: 'name'
+ }, {
+ id: 'isDefaultValue',
+ header: "是否默认值",
+ width: 100,
+ dataIndex: 'isDefaultValue',
+ editor: new top.Ext.form.ComboBox({
+ valueField: 'value',
+ displayField: 'value',
+ allowBlank: false,
+ editable: false,
+ store: new top.Ext.data.SimpleStore({
+ fields: ['value'],
+ data: [['是'], ['否']]
+ }),
+ value: '否',
+ forceSelection: true,
+ mode: 'local',
+ triggerAction: 'all'
+ })
+ }, {
+ id: 'valueTriggerItemNames',
+ header: "触发项",
+ width: 150,
+ dataIndex: 'valueTriggerItemNames'
+ }, {
+ id: 'orderNumber',
+ header: "操作",
+ width: 200,
+ renderer: optionsMoveUpDown,
+ dataIndex: 'orderNumber'
+ }, {
+ id: 'deleteItem',
+ header: '删除',
+ width: 40,
+ menuDisabled: true,
+ dataIndex: 'button',
+ renderer: function (v, p, record, index) {
+ return "
";
+ }
+ }]);
+
+ function addOptionItem() {
+ var goodsName = top.Ext.getCmp('optionName').getValue();
+ var isExist = false;
+ for (var i = 0; i < optionStore.getCount(); i++) {
+ var record = optionStore.getAt(i);
+ if (record.get('name') == goodsName) {
+ isExist = true;
+ break;
+ }
+ }
+ if (!isExist) {
+ var record = new goodsRecord({
+ id: 0,
+ name: goodsName,
+ isDefaultValue: '否',
+ orderNumber: 0
+ });
+ optionStore.add(record);
+ top.Ext.getCmp('optionName').setValue('');
+ top.Ext.getCmp('optionName').focus();
+ } else {
+ showResult(goodsName + ",已添加!");
+ }
+ }
+
+
+ var tbar = [{
+ text: '参数名称'
+ }, {
+ xtype: 'textfield',
+ maxLength: '20',
+ id: 'optionName',
+ name: 'optionName',
+ width: 200,
+ listeners: {
+ render: function (p) {
+ p.getEl().on('keypress', function (e) {
+ if (e.getKey() == 13) {
+ addOptionItem();
+ }
+ })
+ }
+ }
+ }, {
+ text: '添加',
+ handler: function () {
+ addOptionItem();
+ }
+ }];
+
+ formObj = new top.Ext.FormPanel({
+ frame: true,
+ labelAlign: 'right',
+ labelSeparator: ':',
+ bodyStyle: 'padding:5px 5px 0px 5px',
+ autoWidth: true,
+ autoHeight: true,
+ autoScroll: true,
+ items: [{
+ layout: 'column',
+ items: [{
+ xtype: 'hidden',
+ name: 'id',
+ id: 'id'
+ }, {
+ columnWidth: 1,
+ layout: 'form',
+ items: [
+ new top.Ext.grid.EditorGridPanel({
+ id: 'itemOptionsGrid',
+ store: optionStore,
+ tbar: tbar,
+ cm: cm,
+ width: 240,
+ height: 240,
+ isCheckboxSelectionModel: true,
+ frame: false,
+ viewConfig: {
+ forceFit: true
+ },
+ bodyStyle: 'border:1px solid #afd7af',
+ anchor: '100%',
+ selModel: new top.Ext.grid.RowSelectionModel({
+ singleSelect: false
+ }),
+ listeners: {
+ cellclick: function (thiz, rowIndex, columnIndex, e) {
+ if (columnIndex === 3) {
+ var valueTriggerItemNames = thiz.getStore().getAt(rowIndex).get('valueTriggerItemNames') || '';
+ triggerItem.openTriggerItemWin(rowIndex, valueTriggerItemNames);
+ }
+ }
+ }
+ })
+ ]
+ }]
+ }],
+ buttons: [{
+ text: '确定',
+ handler: function () {
+ var count = optionStore.getCount();
+ var optionJsonArray = [];
+ var optionsStr = "";
+ var defaultValueCount = 0;
+ for (var i = 0; i < count; i++) {
+ var record = optionStore.getAt(i);
+ optionJsonArray.push({
+ id: record.get("id"),
+ name: record.get("name"),
+ isDefaultValue: record.get("isDefaultValue"),
+ valueTriggerItemNames: record.get("valueTriggerItemNames"),
+ orderNumber: (i + 1)
+ });
+ if (optionsStr != "") {
+ optionsStr += ", ";
+ }
+ if(record.get("isDefaultValue") == '是'){
+ defaultValueCount++;
+ }
+ optionsStr += record.get("name");
+ }
+ if(defaultValueCount > 1){
+ showResult('单选只能有一个默认值!');
+ return
+ }
+ resetConfigItemOptions(JSON.stringify(optionJsonArray), optionsStr, rowIndex);
+ top.Ext.getCmp("setOptionsWindow").close();
+ }
+ }, {
+ text: '取消',
+ handler: function () {
+ top.Ext.getCmp("setOptionsWindow").close();
+ }
+ }]
+ });
+
+ var formWindow = new top.Ext.Window({
+ id: 'setOptionsWindow',
+ layout: 'fit',
+ title: '参数值设置',
+ width: 600,
+ modal: true,
+ autoHeight: true,
+ border: false,
+ plain: true,
+ items: [formObj]
+ });
+ formWindow.show();
+}
+
+function resetConfigItemOptions(hideValue, options, rowIndex) {
+ var store = top.Ext.getCmp('formDefinitionItemConfigPanel').getStore();
+ var record = store.getAt(rowIndex);
+ record.set("optionsJson", hideValue);
+ record.set("options", options);
+}
+
+function moveUp(id, gridId) {
+ var store = top.Ext.getCmp(gridId).getStore();
+ var record = store.getById(id);
+ var index = store.indexOf(record);
+ if (index > 0) {
+ store.remove(record);
+ store.insert(index - 1, record);
+ }
+}
+function moveDown(id, gridId) {
+ var store = top.Ext.getCmp(gridId).getStore();
+ var record = store.getById(id);
+ var index = store.indexOf(record);
+ if (index < store.getCount() - 1) {
+ store.remove(record);
+ store.insert(index + 1, record);
+ }
+}
+
+function moveUpDown(v, p, record) {
+ var html = '';
+ html += '
';
+ html += '';
+ html += '
';
+ return html;
+}
+
+function optionsMoveUpDown(v, p, record) {
+ var html = '';
+ html += '
';
+ html += '';
+ html += '
';
+ return html;
+}
+
+function removeItem(gridId) {
+ var gridObj = top.Ext.getCmp(gridId);
+ var rows = gridObj.getSelectionModel().getSelections();
+ if (rows) {
+ var store = gridObj.getStore();
+ for (var i = 0; i < rows.length; i++) {
+ store.remove(rows[i]);
+ }
+ }
+}
\ No newline at end of file
Index: ssts-web/src/main/webapp/disinfectsystem/equipmentInspection/formdefinitionView.js
===================================================================
diff -u
--- ssts-web/src/main/webapp/disinfectsystem/equipmentInspection/formdefinitionView.js (revision 0)
+++ ssts-web/src/main/webapp/disinfectsystem/equipmentInspection/formdefinitionView.js (revision 38048)
@@ -0,0 +1,352 @@
+var entityName = "设备巡检定义";
+var grid;
+
+// 删除
+function deleteFormDefinition(grid) {
+ var records = grid.getSelectionModel().getSelections();
+
+ if (records.length == 0) {
+ showResult("请选择要删除的记录!");
+ return false;
+ }
+ var ids = null;
+ for (var i = 0, len = records.length; i < len; i++) {
+ if (ids == null) {
+ ids = records[i].data['id'];
+ } else {
+ ids = ids + ';' + records[i].data['id'];
+ }
+ }
+ top.Ext.MessageBox.confirm("请确认", "是否确定要删除选中的信息吗?",
+ function (button, text) {
+ if ("yes" == button) {
+ Ext.Ajax.request({
+ url: WWWROOT + '/disinfectSystem/equipmentInspectionDefAction!deleteFormDefinition.do',
+ params: { ids: ids },
+ success: function (response, options) {
+ var result = Ext.decode(response.responseText);
+ var success = result.success;
+ showResult(result.message);
+ if (success) {
+ grid.dwrReload();
+ }
+ },
+ failure: function (response, options) {
+ var result = Ext.decode(response.responseText);
+ showResult(result);
+ }
+ });
+ }
+ });
+}
+
+/**
+ * 停用或启用定义
+ * @param grid
+ * @returns {Boolean}
+ */
+function disableOrEnableDefinition(actionType, isDisabled) {
+ var records = grid.getSelectionModel().getSelections();
+
+ if (records.length == 0) {
+ showResult("请选择要" + actionType + "的记录!");
+ return false;
+ }
+ var ids = null;
+ for (var i = 0, len = records.length; i < len; i++) {
+ if (ids == null) {
+ ids = records[i].data['id'];
+ } else {
+ ids = ids + ';' + records[i].data['id'];
+ }
+ }
+ top.Ext.MessageBox.confirm("请确认", "是否确定要【" + actionType + "】选中的数据吗?",
+ function (button, text) {
+ if ("yes" == button) {
+ Ext.Ajax.request({
+ url: WWWROOT + '/disinfectSystem/equipmentInspectionDefAction!disableOrEnableDefinition.do',
+ params: { ids: ids, isDisabled: isDisabled },
+ success: function (response, options) {
+ var result = Ext.decode(response.responseText);
+ var success = result.success;
+ showResult(result.message);
+ if (success) {
+ grid.dwrReload();
+ }
+ },
+ failure: function (response, options) {
+ var result = Ext.decode(response.responseText);
+ showResult(result);
+ }
+ });
+ }
+ });
+}
+
+//触发项类
+var triggerItem = {
+
+ triggerItemModel: [{ name: 'name' }],
+
+ extObj: top.Ext,
+
+ /**
+ * 设置ext对象
+ * @param self_ext
+ */
+ setExtObj: function (self_ext) {
+ this.extObj = self_ext;
+ },
+
+ /**
+ * 获取ext对象
+ * @returns {*}
+ */
+ getExtObj: function () {
+ return this.extObj;
+ },
+
+ doSave: function (rowIndex) {
+ var optionsStr = "";
+ var records = triggerItem.extObj.getCmp("triggerItemPanel").getSelectionModel().getSelections();
+ for (var i = 0, len = records.length; i < len; i++) {
+ if (optionsStr !== "") {
+ optionsStr += ",";
+ }
+ optionsStr += records[i].data['name'];
+ }
+ var store = triggerItem.extObj.getCmp('itemOptionsGrid').getStore();
+ var record = store.getAt(rowIndex);
+ record.set("valueTriggerItemNames", optionsStr);
+ triggerItem.extObj.getCmp("triggerItemWindow").close();
+ },
+
+ getTriggerStore: function () {
+ return new triggerItem.extObj.data.Store({
+ proxy: new triggerItem.extObj.data.MemoryProxy([]),
+ reader: new triggerItem.extObj.data.JsonReader({
+ fields: triggerItem.triggerItemModel
+ })
+ });
+ },
+
+ loadTriggerItem: function () {
+ var triggerItemStore = triggerItem.getTriggerStore();
+ var elementRecord = triggerItem.extObj.data.Record.create(triggerItem.triggerItemModel);
+ var elementStore = triggerItem.extObj.getCmp("formDefinitionItemConfigPanel").getStore();
+ for (var i = 0; i < elementStore.getCount(); i++) {
+ var record = elementStore.getAt(i);
+ var newRecord = new elementRecord({
+ name: record.get('name')
+ });
+ triggerItemStore.add(newRecord);
+ }
+ return triggerItemStore;
+ },
+
+ createTriggerWindow: function (formObj) {
+ return new triggerItem.extObj.Window({
+ id: 'triggerItemWindow',
+ layout: 'fit',
+ title: '参数触发项选择',
+ width: 500,
+ modal: true,
+ autoHeight: true,
+ border: false,
+ plain: true,
+ items: [formObj]
+ });
+ },
+
+ selectSaveCheck: function (valueTriggerItemNames, triggerItemStore, selectModel) {
+ var name = valueTriggerItemNames.split(",");
+ var selectRows = [];
+ triggerItem.extObj.each(name, function (item) {
+ var find = triggerItemStore.find('name', item, false);
+ selectRows.push(find);
+ });
+ if (selectRows.length > 0) {
+ selectModel.selectRows(selectRows);
+ }
+ },
+
+ createTriggerItemPanel: function (cm, selectModel, triggerItemStore) {
+ return new triggerItem.extObj.grid.GridPanel({
+ id: 'triggerItemPanel',
+ store: triggerItemStore,
+ cm: cm,
+ sm: selectModel,
+ width: 240,
+ height: 240,
+ frame: false,
+ viewConfig: {
+ forceFit: true
+ },
+ bodyStyle: 'border:1px solid #afd7af',
+ anchor: '100%',
+ selModel: new triggerItem.extObj.grid.RowSelectionModel({
+ singleSelect: false
+ })
+ })
+ },
+
+ getCm: function (selectModel) {
+ var cm = [selectModel, {
+ header: "名称",
+ width: 240,
+ dataIndex: 'name'
+ }];
+ return new triggerItem.extObj.grid.ColumnModel(cm);
+ },
+
+ openTriggerItemWin: function (rowIndex, valueTriggerItemNames) {
+ var triggerItemStore = triggerItem.loadTriggerItem();
+ var selectModel = new triggerItem.extObj.grid.CheckboxSelectionModel({ handleMouseDown: Ext.emptyFn });
+ var panel = new triggerItem.extObj.FormPanel({
+ frame: true,
+ labelAlign: 'right',
+ labelSeparator: ':',
+ bodyStyle: 'padding:5px 5px 0px 5px',
+ autoWidth: true,
+ autoHeight: true,
+ autoScroll: true,
+ items: [{
+ layout: 'column',
+ items: [{
+ columnWidth: 1,
+ layout: 'form',
+ items: [
+ triggerItem.createTriggerItemPanel(triggerItem.getCm(selectModel), selectModel, triggerItemStore)
+ ]
+ }]
+ }],
+ buttons: [{
+ text: '确定',
+ handler: function () {
+ triggerItem.doSave(rowIndex);
+ }
+ }, {
+ text: '取消',
+ handler: function () {
+ triggerItem.extObj.getCmp("triggerItemWindow").close();
+ }
+ }]
+ });
+ var triggerItemWindow = triggerItem.createTriggerWindow(panel);
+ triggerItemWindow.show();
+ triggerItem.selectSaveCheck(valueTriggerItemNames, triggerItemStore, selectModel);
+
+ }
+};
+
+function modify(v, data) {
+ addFormDefinition(data['id']);
+}
+
+function showIsDeployStatus(v, data, items) {
+ if (action_save == v) {
+ return "已保存";
+ } else if (action_deploy == v) {
+ return "已部署";
+ }
+ return v;
+}
+
+Ext.onReady(function () {
+ Ext.QuickTips.init();
+
+ var columns = [
+ { header: "定义名称", width: 150, dataIndex: 'formName', renderer: modifyRecord },
+ { header: "创建时间", width: 180, dataIndex: 'createDate' },
+ { header: "创建人", width: 80, dataIndex: 'createUserName' },
+ { header: "版本号", width: 80, dataIndex: 'version' },
+ { header: "是否已部署", width: 120, dataIndex: 'isDeploy', renderer: showIsDeployStatus },
+ { header: "是否已停用", width: 120, dataIndex: 'isDisabled' },
+ { header: "适用设备", width: 300, dataIndex: 'applicableEquipment' },
+ { header: "备注", width: 120, dataIndex: 'remark', id: 'description' }
+ ];
+
+ var filters = new Ext.grid.GridFilters({
+ filters: [
+ { type: 'string', dataIndex: 'formName' },
+ { type: 'string', dataIndex: 'createDate' },
+ { type: 'string', dataIndex: 'createUserName' },
+ { type: 'string', dataIndex: 'version' },
+ { type: 'string', dataIndex: 'isDeploy' },
+ { type: 'string', dataIndex: 'remark' },
+ { type: 'string', dataIndex: 'isDisabled' }
+ ]
+ });
+
+ var readerDetail = [
+ { name: 'id' },
+ { name: 'formName' },
+ { name: 'createDate' },
+ { name: 'createUserName' },
+ { name: 'version' },
+ { name: 'isDeploy' },
+ { name: 'remark' },
+ { name: 'applicableEquipment' },
+ { name: 'isDisabled' }
+ ];
+
+ var tbar = [{
+ text: '添加',
+ iconCls: 'btn_ext_application_add',
+ handler: function () {
+ addFormDefinition("")
+ }
+ }, '-', {
+ text: '删除',
+ iconCls: 'btn_ext_application_del',
+ handler: function () {
+ deleteFormDefinition(grid);
+ }
+ }, '-', {
+ text: '停用',
+ iconCls: 'btn_ext_application_add',
+ handler: function () {
+ disableOrEnableDefinition("停用", "是");
+ }
+ }, '-', {
+ text: '启用',
+ iconCls: 'btn_ext_application_add',
+ handler: function () {
+ disableOrEnableDefinition("启用", "否");
+ }
+ }];
+ var dwrCallParams = null;
+
+ Ext.ux.ForgonPageGrid.prototype.getGridParameterMap = function () {
+
+ };
+
+ grid = new Ext.ux.ForgonPageGrid({
+ tbar: tbar,
+ pageSize: 20,
+ defaultSortField: 'id',
+ defaultSortDirection: 'DESC',
+ title: entityName + '列表',
+ isCheckboxSelectionModel: true,
+ rememberSelected: false,
+ isShowSearchField: true,
+ columns: columns,
+ plugins: filters,
+ autoExpandColumn: 'description',
+ frame: false
+ },
+ readerDetail,
+ EquipmentInspectionDefTableManager.findEquipmentInspectionDefList,
+ dwrCallParams // 这个参数只是占位作用
+ );
+
+ var viewport = new Ext.Viewport({
+ layout: 'border',
+ items: [{
+ region: 'center',
+ margins: '0 0 0 0',
+ layout: 'fit',
+ items: grid
+ }]
+ });
+});
\ No newline at end of file
Index: ssts-web/src/main/webapp/disinfectsystem/equipmentInspection/forminstanceView.jsp
===================================================================
diff -u
--- ssts-web/src/main/webapp/disinfectsystem/equipmentInspection/forminstanceView.jsp (revision 0)
+++ ssts-web/src/main/webapp/disinfectsystem/equipmentInspection/forminstanceView.jsp (revision 38048)
@@ -0,0 +1,62 @@
+<%@ page contentType="text/html; charset=UTF-8"%>
+
+<%@ include file="/common/taglibs.jsp"%>
+
+<%
+ request.setAttribute("userName",AcegiHelper.getLoginUser().getUserFullName());
+%>
+
+
+
+
+设备巡检记录
+
+
+<%@ include file="/common/includeExtJsAndCss.jsp"%>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file