Ext.QuickTips.init();
Ext.onReady(function () {
//終端類型下拉列表數據源
var comboStore = new Ext.data.JsonStore({
url: '/AccessMaintenanceHandler/GetResListByResParent.ashx',
root: 'Table',
totalProperty: 'result',
fields: ['Res_Name', 'Res_Id'],
autoLoad: true
});
comboStore.on('beforeload', function () {
var params = comboStore.baseParams;
Ext.apply(params, {
ParentCode: '8b4010451db44edfa7f7e1f9e6f20e12' //終端類型的Code
});
});
comboStore.on('load', function (mystore, rds, op) {
var newRecord = new mystore.recordType({ Res_Name: '全部', Res_Id: "" });
comboStore.insert(0, newRecord);
Ext.getCmp('TerminalType').setValue(""); //默認加載全部
});
//終端類型
var DevicecomboStore = new Ext.data.JsonStore({
url: '/AccessMaintenanceHandler/GetResListByResParent.ashx',
root: 'Table',
totalProperty: 'result',
fields: ['Res_Name', 'Res_Id'],
autoLoad: true
});
DevicecomboStore.on('beforeload', function () {
var params = DevicecomboStore.baseParams;
Ext.apply(params, {
ParentCode: '8b4010451db44edfa7f7e1f9e6f20e12' //終端類型的Code
});
});
var formPanel = new Ext.FormPanel({
frame: true,
title: '端口台賬信息維護',
layout: 'form',
height: 300,
autoWidth: true,
id: 'formPanel',
autoScroll: true,
items: [{
layout: 'column',
items: [{
layout: 'form',
labelWidth: 80,
width: 300,
items: [{
xtype: 'combo',
fieldLabel: '終端類型',
store: comboStore,
typeAhead: false,
editable: false,
mode: 'local',
triggerAction: 'all',
id: 'TerminalType',
displayField: 'Res_Name',
valueField: 'Res_Id'
}]
}, {
layout: 'form',
labelWidth: 80,
width: 300,
items: [{
xtype: 'textfield',
fieldLabel: '設備序列號',
emptyText: '設備序列號',
id: 'SearchEquipmentCode', //設備編碼
width: 200
}]
}, {
layout: 'form',
labelWidth: 80,
width: 300,
items: [{
xtype: 'textfield',
fieldLabel: '設備名稱',
emptyText: '設備名稱',
id: 'SearchEquipmentName', //設備名稱
width: 200
}]
}]
}]
});
//多選框
var ckModel = new Ext.grid.CheckboxSelectionModel({
singleSelect: false
});
//數據源
var PortLedgerStore = new Ext.data.JsonStore({
url: '/PortLedgerInfoHandler/SelectAll.ashx',
root: 'Table',
totalProperty: 'result',
fields: [
{ name: 'ID' },
{ name: 'SAPCode' },
{ name: 'IsEnable' },
{ name: 'RowNumber' },
{ name: 'Brand' },
{ name: 'PortOffice' },
{ name: 'EquipmentCode' },
{ name: 'Address' },
{ name: 'CabinetNumber' },
{ name: 'SwitchIP' },
{ name: 'SwitchNumber' },
{ name: 'EquipmentName' },
{ name: 'PortNumber' },
{ name: 'SAPCode' },
{ name: 'TPNumber' },
{ name: 'TMacAddress' },
{ name: 'VLAN' },
{ name: 'TerminalType' },
{ name: 'Res_Name' },
{ name: 'TerminalAddress' },
{ name: 'Remark' },
{ name: 'Model' }
],
autoLoad: true
});
//加載后的條件
PortLedgerStore.on('beforeload', function () {
var params = PortLedgerStore.baseParams;
Ext.apply(params, {
TerminalType: Ext.getCmp('TerminalType').getValue(), //獲取下拉框的類型ID
EquipmentCode: Ext.getCmp('SearchEquipmentCode').getValue(), //設備序列號
EquipmentName: Ext.getCmp('SearchEquipmentName').getValue(), //設備名稱
start: 0,
limit: 20
})
});
//端口台賬的Grid
var PortLedgerGrid = new Ext.grid.GridPanel({
id: 'PortLedgerGrid',
region: "center",
plit: true,
border: true,
store: PortLedgerStore,
margins: '5 5 5 5',
animCollapse: false,
enableColumnMove: false,
enableHdMenu: false,
trackMouseOver: false,
loadMask: { msg: '正在加載,請稍等...' },
cm: new Ext.grid.ColumnModel([
ckModel,
{ header: 'ID', dataIndex: 'ID', width: 40, hidden: true },
{ header: '序號', dataIndex: 'RowNumber', width: 40},
{ header: '品牌', dataIndex: 'Brand', width: 60 },
{ header: '型號', dataIndex: 'Model', width: 80 },
{ header: '設備序列號', dataIndex: 'EquipmentCode', width: 80 },
{ header: '設備位置', dataIndex: 'Address', width: 80 },
{ header: '交換機IP地址', dataIndex: 'SwitchIP', width: 80 },
{ header: '機櫃號', dataIndex: 'CabinetNumber', width: 80 },
{ header: '交換機序號', dataIndex: 'SwitchNumber', width: 80 },
{ header: '設備名稱', dataIndex: 'EquipmentName', width: 80 },
{header: '端口號', dataIndex: 'PortNumber', width: 80 },
{ header: '端口辦公室', dataIndex: 'PortOffice', width: 80 },
{ header: '終端端口號', dataIndex: 'TPNumber', width: 80 },
{ header: '終端MAC地址', dataIndex: 'TMacAddress', width: 80 },
{ header: 'VlAN', dataIndex: 'VLAN', width: 80 },
{ header: '終端類型', dataIndex: 'Res_Name', width: 80 },
{ header: '終端位置', dataIndex: 'TerminalAddress', width: 80 },
{ header: '備注', dataIndex: 'Remark', width: 100 }
]),
bbar: new Ext.PagingToolbar({
bodyStyle: "background-color:#DEECFD;padding:10 0 10 10",
pageSize: 20, //設置每頁記錄條數
store: PortLedgerStore,
displayInfo: true,
prevText: '上一頁',
nextText: '下一頁',
refreshText: '刷新',
displayMsg: '顯示第 {0} 條到 {1} 條記錄,一共 {2} 條',
emptyMsg: "沒有記錄",
lastText: '最后一頁',
firstText: '第一頁',
beforePageText: '當前頁',
afterPageText: '共{0}頁'
}),
tbar: ["->", '<a href="/PluginsFor2/ProcessWeb/Page/DownLoadFileTemplate/DownLoadFileTemplate.aspx?id=PortLedgerInfo" target=\"_blank\">下載模板</a>',
{
xtype: 'button',
text: 'Excel導入',
id: 'ReadExcel',
name: 'ReadExcel',
iconCls: 'imporicont',
width: 60,
handler: function () {
//導入Excel
var ImportExcel = null;
if (!!ImportExcel) {
ImportExcel.destroy();
}
ImportExcel = new HC.ImportExcel({ importUrl: "/PortLedgerInfoHandler/ReadExcel.ashx", title: '導入' });
ImportExcel.open();
ImportExcel.on('importsuccess', function (form, action) {
var result = action.result.success;
var tip = action.result.result;
if (result == 'true') {
PortLedgerGrid.getStore().load({ params: { start: 0, limit: 20} });
Ext.Msg.alert('提示', tip);
}
else {
Ext.Msg.alert('提示', tip);
}
});
}
}, "-", {
xtype: 'button',
text: 'Excel導出',
id: 'ExportExcel', //
name: 'ExportExcel',
iconCls: 'zengjia',
width: 60,
handler: function () {
var record = PortLedgerGrid.getSelectionModel().getSelections();
ExportExcel(); //調用導出方法
}
}, "-", {
xtype: 'button',
text: '查詢',
name: 'Search',
id: 'Search',
iconCls: 'searchicon',
width: 60,
handler: function () {
PortLedgerGrid.getStore().load({ params: { start: 0, limit: 20} });
}
}, "-", {
xtype: 'button',
text: '重置',
id: 'Reset',
name: 'Reset',
iconCls: 'deleteicon',
width: 60,
handler: function () {
Ext.getCmp('TerminalType').setValue('');
Ext.getCmp('SearchEquipmentCode').setValue('');
Ext.getCmp('SearchEquipmentName').setValue('');
PortLedgerGrid.getStore().load({ params: { start: 0, limit: 20} });
}
}, "-", {
xtype: 'button',
text: '添加',
id: 'add',
name: 'add',
iconCls: 'addicon',
width: 60,
handler: function () {
var title = "新增";
GridUpdate("Add", title);
}
}, "-", {
xtype: 'button',
text: '編輯',
id: 'edit',
name: 'edit',
iconCls: 'editicon',
width: 60,
handler: function () {
var record = PortLedgerGrid.getSelectionModel().getSelections();
if (record.length == "0") {
Ext.Msg.alert('提示', ' 請選擇一條信息!');
} else if (record.length == "1") {
var title = "修改";
GridUpdate("Update", title);
} else {
Ext.Msg.alert('提示', '只允許選中一條數據!');
}
}
}, "-", {
xtype: 'button',
text: '刪除',
id: 'delete',
name: 'delete',
iconCls: 'deleteicon',
width: 60,
handler: function () {
var record = PortLedgerGrid.getSelectionModel().getSelections(); //grid選中行
var PortNumber = record[0].data.PortNumber;
var SAPCode = record[0].data.SAPCode;
if (record.length == 0) {
Ext.Msg.alert('提示', '請選擇一條信息!');
} else if (PortNumber != null && SAPCode != "") {
Ext.Msg.alert('提示', '端口已被占用,無法操作!');
} else {
Remark();
}
}
}],
sm: ckModel
});
//刪除show出的備注窗體
function Remark() {
var GridRemarkPanel = new Ext.form.FormPanel({
border: false,
frame: true,
layout: 'form',
autoWidth: true,
border: false,
width: 300,
border: false,
labelWidth: 70,
items: [{
xtype: 'textarea',
fieldLabel: '備注',
emptyText: '備注',
id: 'GRemark',
name: 'GRemark',
width: 260,
height: 100
}]
});
var GridRemarkWindow = new Ext.Window({
title: '刪除',
width: 400,
modal: true,
resizable: false,
items: [GridRemarkPanel],
buttonAlign: 'center',
buttons: [{
width: 100,
text: '確認',
handler: function () {
var record = PortLedgerGrid.getSelectionModel().getSelections(); //grid選中行
var GRemark = Ext.getCmp("GRemark").getValue();
if (GRemark == "") {
Ext.MessageBox.alert('提示', '備注必填!');
return false;
}
Ext.Msg.confirm(' 提示', '確定要刪除嗎?', function (btn) {
if (btn == "yes") {
var ID = "";
for (var i = 0; i < record.length; i++) {
ID += record[i].data.ID + ','; //多行刪除
}
var detail = Ext.getCmp("GRemark").getValue();
var PortNumber = record[0].data.PortNumber;
Ext.Ajax.request({
url: '/PortLedgerInfoHandler/DeleteAllByPID.ashx',
method: 'POST',
params: {
ID: ID
},
success: function (response) {
Ext.Msg.alert('提示', '刪除成功!');
Ext.getCmp("PortLedgerGrid").getStore().reload();
GridRemarkWindow.close();
},
failure: function (response) {
Ext.Msg.alert("提示", '刪除失敗!');
GridRemarkWindow.close();
}
});
}
});
}
}, {
width: 100,
text: '取消',
handler: function () {
GridRemarkWindow.close();
}
}]
});
GridRemarkWindow.show();
}
//Excel導出
function ExportExcel() {
var LoginEmp_Id = "";
var myCheckboxItems = [];
var model = Ext.getCmp("PortLedgerGrid").colModel;
for (var i = 1; i < Ext.getCmp("PortLedgerGrid").colModel.config.length; i++) {
if (model.config[i].dataIndex != "ID")
myCheckboxItems.push({
boxLabel: model.config[i].header,
name: "ExportInfo",
id: model.config[i].dataIndex,
checked: true,
inputValue: i
});
}
var GridExportPanel = new Ext.form.FormPanel({
height: 280,
border: false,
id: 'ExportPanel',
frame: true,
layout: 'column',
autoWidth: true,
items: [{
xtype: 'checkboxgroup',
id: 'ExportColumnModel',
columns: 5,
vertical: true,
items: myCheckboxItems
}]
});
var ExportWindow = new Ext.Window({
title: '導出列選擇',
width: 550,
height: 260,
modal: true,
resizable: false,
items: [GridExportPanel],
buttonAlign: 'center',
buttons: [{
width: 100,
text: '確認',
handler: function () {
var itcIds = [];
var cbgItem = Ext.getCmp('ExportPanel').findById('ExportColumnModel').items;
var exportFields = '<root>'
for (var i = 0; i < cbgItem.length; i++) {
if (cbgItem.itemAt(i).checked) {
if (cbgItem.itemAt(i).checked == "ID") {
continue;
}
exportFields += "<row><headerText>" + cbgItem.itemAt(i)["boxLabel"] + "</headerText><columnName>" + cbgItem.itemAt(i)["id"] + "</columnName></row>";
}
}
exportFields += '</root>';
var baseParams = "";
var params = "";
var records = Ext.getCmp('PortLedgerGrid').getSelectionModel().getSelections();
if (records.length > 0) {
for (var i = 0; i < records.length; i++) {
var ID = ""; //綁定的列名
if (records[i].data.ID != null) {
ID = records[i].data.ID;
}
var RowNumber = "";
if (records[i].data.RowNumber != null) {
RowNumber = records[i].data.RowNumber;
}
var Brand = "";
if (records[i].data.Brand != null) {
Brand = records[i].data.Brand;
}
var Model = "";
if (records[i].data.Model != null) {
Model = records[i].data.Model;
}
var EquipmentCode = "";
if (records[i].data.EquipmentCode != null) {
EquipmentCode = records[i].data.EquipmentCode;
}
var Address = "";
if (records[i].data.Address != null) {
Address = records[i].data.Address;
}
var CabinetNumber = "";
if (records[i].data.CabinetNumber != null) {
CabinetNumber = records[i].data.CabinetNumber;
}
var SwitchIP = "";
if (records[i].data.SwitchIP != null) {
SwitchIP = records[i].data.SwitchIP;
}
var PortOffice = "";
if (records[i].data.PortOffice != null) {
PortOffice = records[i].data.PortOffice;
}
var SwitchNumber = "";
if (records[i].data.SwitchNumber != null) {
SwitchNumber = records[i].data.SwitchNumber;
}
var EquipmentName = "";
if (records[i].data.EquipmentName != null) {
EquipmentName = records[i].data.EquipmentName;
}
var PortNumber = "";
if (records[i].data.PortNumber != null) {
PortNumber = records[i].data.PortNumber;
}
var TPNumber = "";
if (records[i].data.TPNumber != null) {
TPNumber = records[i].data.TPNumber;
}
var TMacAddress = "";
if (records[i].data.TMacAddress != null) {
TMacAddress = records[i].data.TMacAddress;
}
var VLAN = "";
if (records[i].data.VLAN != null) {
VLAN = records[i].data.VLAN;
}
var Res_Name = "";
if (records[i].data.Res_Name != null) {
Res_Name = records[i].data.Res_Name;
}
var TerminalAddress = "";
if (records[i].data.TerminalAddress != null) {
TerminalAddress = records[i].data.TerminalAddress;
}
var Remark = "";
if (records[i].data.Remark != null) {
Remark = records[i].data.Remark;
}
baseParams += "<row>" +
"<RowNumber>" + RowNumber + "</RowNumber>" +
"<Model>" + Model + "</Model>" +
"<Brand>" + Brand + "</Brand>" +
"<EquipmentCode>" + EquipmentCode + "</EquipmentCode>" +
"<Address>" + Address + "</Address>" +
"<CabinetNumber>" + CabinetNumber + "</CabinetNumber>" +
"<SwitchIP>" + SwitchIP + "</SwitchIP>" +
"<PortOffice>" + PortOffice + "</PortOffice>" +
"<SwitchNumber>" + SwitchNumber + "</SwitchNumber>" +
"<EquipmentName>" + EquipmentName + "</EquipmentName>" +
"<PortNumber>" + PortNumber + "</PortNumber>" +
"<TPNumber>" + TPNumber + "</TPNumber>" +
"<TMacAddress>" + TMacAddress + "</TMacAddress>" +
"<VLAN>" + VLAN + "</VLAN>" +
"<Res_Name>" + Res_Name + "</Res_Name>" +
"<TerminalAddress>" + TerminalAddress + "</TerminalAddress>" +
"<Remark>" + Remark + "</Remark>" +
"</row>";
}
params = { xmlParams: baseParams };
Ext.util.CommonExportExcel("/PluginsFor2/ProcessWeb/Page/ExportExcel/ExportExcel.aspx", params, "HC.CommonPluginsHandler.dll", "HY.HttpHandlers.CommonHandler", "ExportInfoByGridInfo", exportFields);
ExportWindow.close();
} else {
baseParams = "<TerminalType>" + Ext.getCmp('TerminalType').getValue() + "</TerminalType>" + //設備類型
"<EquipmentCode>" + Ext.getCmp('SearchEquipmentCode').getValue() + "</EquipmentCode>" + //設備序列號
"<EquipmentName>" + Ext.getCmp('SearchEquipmentName').getValue() + "</EquipmentName>"; //設備名稱;
params = { xmlParams: baseParams };
Ext.util.CommonExportExcel("/PluginsFor2/ProcessWeb/Page/ExportExcel/ExportExcel.aspx", params, "HC.ModelPluginsHandler.dll", "HY.HttpHandlers.PortLedgerInfoHandler", "ExportInfoByGridInfo", exportFields);
ExportWindow.close();
}
}
}, {
width: 100,
text: '取消',
handler: function () {
ExportWindow.close();
}
}]
})
ExportWindow.show();
}
//鼠標懸浮窗
PortLedgerGrid.on('render', function (grid) {
var view = Ext.getCmp('PortLedgerGrid').getView();
Ext.getCmp('PortLedgerGrid').tooltip = new Ext.ToolTip({
target: view.mainBody,
delegate: '.x-grid3-cell',
trackMouse: true,
dismissDelay: 20000,
renderTo: document.body,
listeners: {
beforeshow: function updateTipBody(tip) {
var rowIndex = view.findRowIndex(tip.triggerElement);
var columnIndex = view.findCellIndex(tip.triggerElement);
var fieldName = Ext.getCmp('PortLedgerGrid').getColumnModel().getDataIndex(columnIndex); //獲得列名(字段名)
var text = "";
text = Ext.getCmp('PortLedgerGrid').store.getAt(rowIndex).get(fieldName);
if (text != null && text != "" && text != "-")
tip.body.dom.innerHTML = text;
else
return false;
}
}
})
});
//新增、修改
function GridUpdate(type, title) {
var selectedRows = Ext.getCmp('PortLedgerGrid').getSelectionModel().getSelections();
if(selectedRows!=''){
var TerminalTypes= selectedRows[0].data.TerminalType;
}else{
var TerminalTypes = '';
}
var GridUpdatePanel = new Ext.form.FormPanel({
border: false,
frame: true,
layout: 'form',
autoWidth: true,
border: false,
width: 900,
border: false,
labelWidth: 70,
items: [{
layout: 'column',
items: [{
layout: 'form',
labelWidth: 80,
width: 300,
items: [{
xtype: 'textfield',
fieldLabel: '端口號',
emptyText: '端口號',
id: 'PortNumber',
name: 'PortNumber',
width: 200
}]
}, {
layout: 'form',
labelWidth: 80,
width: 300,
items: [{
xtype: 'textfield',
fieldLabel: '端口辦公室',
emptyText: '端口辦公室',
id: 'PortOffice',
name: 'PortOffice',
width: 200
}]
}, {
layout: 'form',
labelWidth: 80,
width: 300,
items: [{
xtype: 'textfield',
fieldLabel: '終端端口號',
emptyText: '終端端口號',
id: 'TPNumber',
name: 'TPNumber',
width: 200
}]
}, { layout: 'column',
items: [{
layout: 'form',
labelWidth: 80,
width: 300,
items: [{
xtype: 'textfield',
fieldLabel: '終端MAC地址',
emptyText: '終端MAC地址',
id: 'TMacAddress',
name: 'TMacAddress',
width: 200
}]
}]
}, {
layout: 'form',
labelWidth: 80,
width: 300,
items: [{
xtype: 'textfield',
fieldLabel: 'VLAN',
emptyText: 'VLAN', //型號
id: 'VLAN',
name: 'VLAN',
width: 200
}]
}, {
layout: 'form',
labelWidth: 80,
width: 300,
items: [{
xtype: 'combo',
fieldLabel: '終端類型',
store: DevicecomboStore,
typeAhead: false,
editable: false,
mode: 'local',
width: 200,
triggerAction: 'all',
id: 'Equipment_TypeId',
displayField: 'Res_Name',
valueField: 'Res_Id'
,
value:TerminalTypes
}]
}, { layout: 'column',
items: [{
layout: 'form',
labelWidth: 80,
width: 300,
items: [{
xtype: 'textfield',
fieldLabel: '終端位置',
emptyText: '終端位置',
id: 'TerminalAddress',
name: 'TerminalAddress',
width: 200
}]
}]
}, {
layout: 'form',
labelWidth: 80,
width: 300,
items: [{
xtype: 'textfield',
fieldLabel: '機櫃號',
emptyText: '機櫃號',
id: 'CabinetNumber',
name: 'CabinetNumber',
width: 200
}]
}, {
layout: 'form',
labelWidth: 80,
width: 260,
items: [{
xtype: 'textfield',
fieldLabel: '設備SAP編號',
emptyText: '設備SAP編號',
id: 'SAPCode',
name: 'SAPCode',
width: 175
}]
}, {
layout: 'form',
width: 40,
items: [{
xtype: 'button',
text: '...',
id: 'show',
name: 'show',
width: 25,
//disabled: true,
handler: function () { //彈出設備子頁
var EquipmentSAPCodeWin = null;
if (!!EquipmentSAPCodeWin) {
EquipmentSAPCodeWin.destroy();
}
EquipmentSAPCodeWin = new HC.EquipmentSAPCode({
checkModel: true,
UserId: "", //使用人ID
Status: 'ffe4914c2c0942beab9250ece3950909' //使用狀態:3申領及借用,4查詢全部,其他類別,傳遞對應資源類型code
});
EquipmentSAPCodeWin.open();
EquipmentSAPCodeWin.on('selectcomplete', function (record) {
if (record == '' || record == null) {
Ext.Msg.alert('提示', '請選擇一條信息!');
return false;
}
var EquipmentTypeName = record[0].data.EquipmentTypeName; //設備類型
var EquipmentCode = record[0].data.EquipmentCode; //設備序列號
Ext.getCmp("Model").setValue(record[0].data.Model); //設備型號
Ext.getCmp("Brand").setValue(record[0].data.Brand); //設備品牌
Ext.getCmp("Address").setValue(record[0].data.Address); //設備位置x
Ext.getCmp("SAPCode").setValue(record[0].data.SAPCode); //設備SAP
Ext.getCmp("EquipmentNamere").setValue(record[0].data.EquipmentName); //設備名稱
Ext.getCmp("SwitchNumber").setValue(record[0].data.SwitchNumber);//交換機序號
Ext.getCmp("SwitchIP").setValue(record[0].data.SwitchIP); //交換機Ip地址
EquipmentSAPCodeWin.closeWin();
});
}
}]
}, {
layout: 'column',
items: [{
layout: 'form',
labelWidth: 80,
width: 300,
items: [{
xtype: 'textfield',
fieldLabel: '交換機IP地址',
emptyText: '交換機IP地址',
id: 'SwitchIP',
name: 'SwitchIP',
width: 200
}]
}]
}, {
layout: 'form',
labelWidth: 80,
width: 300,
items: [{
xtype: 'textfield',
fieldLabel: '交換機序號',
emptyText: '交換機序號',
id: 'SwitchNumber',
name: 'SwitchNumber',
width: 200
}]
}, {
layout: 'form',
labelWidth: 80,
width: 300,
items: [{
xtype: 'textfield',
fieldLabel: '品牌',
emptyText: '品牌',
id: 'Brand',
name: 'Brand',
width: 200
}]
}, {
layout: 'column',
items: [{
layout: 'form',
labelWidth: 80,
width: 300,
items: [{
xtype: 'textfield',
fieldLabel: '型號',
emptyText: '型號',
id: 'Model',
name: 'Model',
width: 200
}]
}]
}, {
layout: 'form',
labelWidth: 80,
width: 300,
items: [{
xtype: 'textfield',
fieldLabel: '設備位置',
emptyText: '設備位置',
id: 'Address',
name: 'Address',
width: 200
}]
}, {
layout: 'form',
labelWidth: 80,
width: 300,
items: [{
xtype: 'textfield',
fieldLabel: '設備名稱',
emptyText: '設備名稱',
name: 'EquipmentName',
id: 'EquipmentNamere',
width: 200
}]
}, {
layout: 'column',
items: [{
layout: 'form',
labelWidth: 80,
width: 900,
items: [{
xtype: 'textarea',
fieldLabel: '備注',
emptyText: '備注',
id: 'Remark',
name: 'Remark',
width: 800,
height: 170
}]
}]
}]
}
]
});
var GridUpdateWindow = new Ext.Window({
title: title,
width: 1000,
modal: true,
resizable: false,
items: [GridUpdatePanel],
buttonAlign: 'center',
buttons: [{
width: 100,
text: '確認',
handler: function () {
if (type == "Add") {
var PID = "";
//同步
var PortNumber = Ext.getCmp("PortNumber").getValue();
var conn = Ext.lib.Ajax.getConnectionObject().conn;
conn.open("POST", '/PortLedgerInfoHandler/SelectRepeat.ashx?PortNumber=' + PortNumber, false);
conn.send(null);
obj = conn.responseText == '' ? {} : Ext.decode(conn.responseText);
if (obj.success == "false") {
Ext.Msg.alert('提示', '端口號唯一!');
return;
}
} else if (type == "Update") {
var record = Ext.getCmp('PortLedgerGrid').getSelectionModel().getSelections();
if (record.length == "0") {
Ext.Msg.alert('提示', ' 請選擇一條信息!');
} else {
PID = record[0].data.ID;
}
}
var EquipmentCode = EquipmentCode;
var PortNumber = Ext.getCmp("PortNumber").getValue();
var TPNumber = Ext.getCmp("TPNumber").getValue();
var TMacAddress = Ext.getCmp("TMacAddress").getValue();
var PortOffice = Ext.getCmp("PortOffice").getValue();
var VLAN = Ext.getCmp("VLAN").getValue();
var TerminalAddress = Ext.getCmp("TerminalAddress").getValue();
var CabinetNumber = Ext.getCmp("CabinetNumber").getValue();
var SwitchNumber = Ext.getCmp("SwitchNumber").getValue();
var SwitchIP = Ext.getCmp("SwitchIP").getValue();
var TerminalType = Ext.getCmp("Equipment_TypeId").getValue();
var SAPCode = Ext.getCmp("SAPCode").getValue();
var Brand = Ext.getCmp("Brand").getValue();
var Model = Ext.getCmp("Model").getValue();
var Address = Ext.getCmp("Address").getValue();
var EquipmentName = Ext.getCmp("EquipmentNamere").getValue();
var Remark = Ext.getCmp("Remark").getValue();
if (PortNumber == "") {
Ext.MessageBox.alert('提示', '端口號不能為空!');
return false;
}
if (TPNumber == "") {
Ext.MessageBox.alert('提示', '終端端口號不能為空!');
return false;
}
if (TMacAddress == "") {
Ext.MessageBox.alert('提示', 'MAC地址不能為空!');
return false;
}
if (VLAN == "") {
Ext.MessageBox.alert('提示', 'VLAN不能為空!');
return false;
}
if (TerminalAddress == "") {
Ext.MessageBox.alert('提示', '終端位置不能為空!');
return false;
}
if (CabinetNumber == "") {
Ext.MessageBox.alert('提示', '機櫃號不能為空!');
return false;
}
if (SwitchNumber == "") {
Ext.MessageBox.alert('提示', '交換機序號不能為空!');
return false;
}
if (TerminalType == "") {
Ext.MessageBox.alert('提示', '類型不能為空!');
return false;
}
if (SwitchIP == "") {
Ext.MessageBox.alert('提示', '交換機IP地址不能為空!');
return false;
}
if (Remark == "") {
Ext.MessageBox.alert('提示', '備注必填!');
return false;
}
Ext.Msg.confirm('提示', '確認保存?', function (btn) {
if (btn == 'yes') {
Ext.Ajax.request({
url: '/PortLedgerInfoHandler/InsertUpdate.ashx',
method: 'POST',
params: {
PID: PID,
VLAN: VLAN,
Brand: Brand,
Model: Model,
Address: Address,
PortOffice: PortOffice,
TPNumber: TPNumber,
Remark: Remark,
SwitchIP: SwitchIP,
EquipmentCode: '11',
PortNumber: PortNumber,
TMacAddress: TMacAddress,
TerminalAddress: TerminalAddress,
CabinetNumber: CabinetNumber,
SwitchNumber: SwitchNumber,
TerminalType: TerminalType,
SAPCode: SAPCode,
EquipmentName: EquipmentName
},
success: function (response) {
var data = Ext.decode(response.responseText);
var result = data.result;
Ext.Msg.alert("提示", result);
PortLedgerGrid.getStore().load({ params: { start: 0, limit: 20, TerminalType: ''} });
GridUpdateWindow.close();
}
});
}
});
}
}, {
width: 100,
text: '取消',
handler: function () {
GridUpdateWindow.close();
}
}],
listeners: { 'beforeshow': function () {
if (type == "Update") {
var record = Ext.getCmp('PortLedgerGrid').getSelectionModel().getSelections();
var SAPCode = record[0].data.SAPCode;
if (SAPCode == '') {//若設備SAP為空,僅端口號不可編輯
Ext.getCmp("PortNumber").getEl().dom.disabled = true;
Ext.getCmp("SAPCode").getEl().dom.disabled = true;
Ext.getCmp("Brand").getEl().dom.disabled = true;
Ext.getCmp("Model").getEl().dom.disabled = true;
Ext.getCmp("Address").getEl().dom.disabled = true;
Ext.getCmp("SwitchNumber").getEl().dom.disabled = true;
Ext.getCmp("SwitchIP").getEl().dom.disabled = true;
Ext.getCmp("EquipmentNamere").getEl().dom.disabled = true;
} else { //SAP不為空,僅備注可編輯
Ext.getCmp("show").disable(); //禁用按鈕
Ext.getCmp("Equipment_TypeId").disabled = true; //禁用下拉框
Ext.getCmp("PortNumber").getEl().dom.disabled = true;
Ext.getCmp("TPNumber").getEl().dom.disabled = true;
Ext.getCmp("TMacAddress").getEl().dom.disabled = true;
Ext.getCmp("PortOffice").getEl().dom.disabled = true;
Ext.getCmp("VLAN").getEl().dom.disabled = true;
Ext.getCmp("TerminalAddress").getEl().dom.disabled = true;
Ext.getCmp("CabinetNumber").getEl().dom.disabled = true;
Ext.getCmp("SwitchNumber").getEl().dom.disabled = true;
Ext.getCmp("SwitchIP").getEl().dom.disabled = true;
Ext.getCmp("SAPCode").getEl().dom.disabled = true;
Ext.getCmp("Brand").getEl().dom.disabled = true;
Ext.getCmp("Model").getEl().dom.disabled = true;
Ext.getCmp("Address").getEl().dom.disabled = true;
Ext.getCmp("SwitchNumber").getEl().dom.disabled = true;
Ext.getCmp("SwitchIP").getEl().dom.disabled = true;
Ext.getCmp("EquipmentNamere").getEl().dom.disabled = true;
}
GridUpdatePanel.form.loadRecord(selectedRows[0]);//賦值
} else if (type == "Add") {
Ext.getCmp("SAPCode").getEl().dom.disabled = true;
Ext.getCmp("Brand").getEl().dom.disabled = true;
Ext.getCmp("Model").getEl().dom.disabled = true;
Ext.getCmp("Address").getEl().dom.disabled = true;
Ext.getCmp("EquipmentNamere").getEl().dom.disabled = true;
Ext.getCmp("SwitchNumber").getEl().dom.disabled = true;
Ext.getCmp("SwitchIP").getEl().dom.disabled = true;
}
}
}
})
GridUpdateWindow.show();
}
//布局
new Ext.Viewport({
layout: 'border',
items: [
{
region: 'north',
height: 60,
items: formPanel
}, {
region: 'center',
layout: 'fit',
items: PortLedgerGrid
}]
});
})