/**
* 售后服务
*
* @author NiuYangYang
* @since 2013-03-13
*/
Ext.onReady(function() {
var qForm = new Ext.form.FormPanel({
region : 'north',
title : '<span class="commoncss">查询条件<span>',
collapsible : true,
border : true,
labelWidth : 90, // 标签宽度
// frame : true, //是否渲染表单面板背景色
labelAlign : 'right', // 标签对齐方式
bodyStyle : 'padding:3 5 0', // 表单元素和表单面板的边距
buttonAlign : 'center',
height : 120,
items : [{
layout : 'column',
border : false,
items : [{
columnWidth : .33,
layout : 'form',
labelWidth : 60, // 标签宽度
defaultType : 'textfield',
border : false,
items : [{
fieldLabel : '单位',
name : 'company',
xtype : 'textfield', // 设置为数字输入框类型
anchor : '100%'
}, {
fieldLabel : '电话',
name : 'telephone',
xtype : 'numberfield', // 设置为数字输入框类型
allowDecimals : false, // 是否允许输入小数
allowNegative : false, // 是否允许输入负数
maxValue : 120,
anchor : '100%'
}]
}, {
columnWidth : .33,
layout : 'form',
labelWidth : 60, // 标签宽度
defaultType : 'textfield',
border : false,
items : [ {
xtype : 'datefield',
fieldLabel : '开始时间', // 标签
name : 'date', // name:后台根据此name属性取值
format : 'Y-m-d', // 日期格式化
anchor : '100%'
} ,{
fieldLabel : '联系人', // 标签
name : 'contact', // name:后台根据此name属性取值
allowBlank : true, // 是否允许为空
maxLength : 6, // 可输入的最大文本长度,不区分中英文字符
anchor : '100%' // 宽度百分比
}]
}, {
columnWidth : .33,
layout : 'form',
labelWidth : 60, // 标签宽度
defaultType : 'textfield',
border : false,
items : [ {
xtype : 'datefield',
fieldLabel : '结束时间', // 标签
name : 'dates', // name:后台根据此name属性取值
format : 'Y-m-d', // 日期格式化
anchor : '100%'
}]
}]
}],
buttons : [{
text : '查询',
iconCls : 'previewIcon',
handler : function() {
queryBalanceInfo(qForm.getForm());
}
}, {
text : '重置',
iconCls : 'tbar_synchronizeIcon',
handler : function() {
qForm.getForm().reset();
}
}]
});
// 定义自动当前页行号
var rownum = new Ext.grid.RowNumberer({
header : '序号',
width : 35
});
// 定义列模型
var sm = new Ext.grid.CheckboxSelectionModel();
var cm = new Ext.grid.ColumnModel([new Ext.grid.RowNumberer(), sm,
{
header : '单位',
dataIndex : 'company',
sortable : true,
width : 130
}, {
header : '协助人',
dataIndex : 'assist',
sortable : true,
width : 130
}, {
header : '服务类别',
dataIndex : 'people',
renderer :PEOPLERender
},{
header : '期望时间',
dataIndex : 'expectedtime',
width : 50
}, {
header : '故障现象',
dataIndex : 'failure'
}, {
header : '遗留问题',
dataIndex : 'legacy',
renderer :LEGACYRender
}, {
header : '维修工程师',
dataIndex : 'engineer'
}, {
header : '日期',
dataIndex : 'date'
}, {
header : '反馈分数',
dataIndex : 'feedback'
}, {
header : '主键',
dataIndex : 'after_id',
hidden : true
}, {
header : '联系人',
dataIndex : 'contact',
hidden : true
}, {
header : '手机号',
dataIndex : 'cellphone',
hidden : true
}, {
header : '部门',
dataIndex : 'department',
hidden : true
}, {
header : '故障现象',
dataIndex : 'failure',
hidden : true
}, {
header : '处理结果',
dataIndex : 'processing',
hidden : true
}, {
header : '备注',
dataIndex : 'remarks',
hidden : true
}, {
header : '协助人电话',
dataIndex : 'assistphone',
hidden : true
}, {
header : '狗号',
dataIndex : 'number',
hidden : true
}, {
header : '邮箱',
dataIndex : 'mail',
hidden : true
}, {
header : '1',
dataIndex : 'one1',
hidden : true
}, {
header : '2',
dataIndex : 'one2',
hidden : true
}, {
header : '3',
dataIndex : 'one3',
hidden : true
}, {
header : '4',
dataIndex : 'one4',
hidden : true
}, {
header : '5',
dataIndex : 'one5',
hidden : true
}, {
header : '6',
dataIndex : 'one6',
hidden : true
}, {
header : '7',
dataIndex : 'one7',
hidden : true
}, {
header : '8',
dataIndex : 'one8',
hidden : true
}]);
/**
* 数据存储
*/
var store = new Ext.data.Store({
// 获取数据的方式
proxy : new Ext.data.HttpProxy({
url : 'afterSalesService.ered?reqCode=queryAfterItems'
}),
// 数据读取器
reader : new Ext.data.JsonReader({
totalProperty : 'TOTALCOUNT', // 记录总数
root : 'ROOT' // Json中的列表数据根节点
}, [{
name : 'after_id'
}, {
name : 'company'
}, {
name : 'assist'
}, {
name : 'people'
}, {
name : 'expectedtime'
}, {
name : 'failure'
}, {
name : 'processing'
}, {
name : 'legacy'
}, {
name : 'engineer'
}, {
name : 'date'
}, {
name : 'customer_id'
}, {
name : 'contact'
}, {
name : 'cellphone'
}, {
name : 'department'
}, {
name : 'failure'
}, {
name : 'processing'
}, {
name : 'remarks'
}, {
name : 'assistphone'
}, {
name : 'number'
}, {
name : 'mail'
}, {
name : 'feedback'
}, {
name : 'one1'
}, {
name : 'one2'
}, {
name : 'one3'
}, {
name : 'one4'
}, {
name : 'one5'
}, {
name : 'one6'
}, {
name : 'one7'
}, {
name : 'one8'
}])
});
// 翻页排序时带上查询条件
store.on('beforeload', function() {
this.baseParams = qForm.getForm().getValues();
});
// 每页显示条数下拉选择框
var pagesize_combo = new Ext.form.ComboBox({
name : 'pagesize',
triggerAction : 'all',
mode : 'local',
store : new Ext.data.ArrayStore({
fields : ['value', 'text'],
data : [[10, '10条/页'], [20, '20条/页'], [50, '50条/页'], [100, '100条/页'], [250, '250条/页'], [500, '500条/页']]
}),
valueField : 'value',
displayField : 'text',
value : '20',
editable : false,
width : 85
});
// 改变每页显示条数reload数据
pagesize_combo.on("select", function(comboBox) {
bbar.pageSize = parseInt(comboBox.getValue());
number = parseInt(comboBox.getValue());
store.reload({
params : {
start : 0,
limit : bbar.pageSize
}
});
});
var number = parseInt(pagesize_combo.getValue());
// 分页工具栏
var bbar = new Ext.PagingToolbar({
pageSize : number,
store : store,
displayInfo : true,
displayMsg : '显示{0}条到{1}条,共{2}条',
plugins : new Ext.ux.ProgressBarPager(), // 分页进度条
emptyMsg : "没有符合条件的记录",
items : ['-', ' ', pagesize_combo]
});
// 表格实例
var grid = new Ext.grid.GridPanel({
title : '<span class="commoncss">售后信息</span>',
region : 'center', // 和VIEWPORT布局模型对应,充当center区域布局
border : false,
// 表格面板标题,默认为粗体,我不喜欢粗体,这里设置样式将其格式为正常字体
height : 510,
autoScroll : true,
frame : true,
store : store, // 数据存储
stripeRows : true, // 斑马线
cm : cm, // 列模型
sm : sm,
tbar : [{
text : '新增',
iconCls : 'page_addIcon',
handler : function() {
codeWindow.show();
}
}, '-', {
text : '修改',
iconCls : 'page_edit_1Icon',
handler : function() {
ininEditCodeWindow();
}
}, '-', {
text : '删除',
iconCls : 'page_delIcon',
handler : function() {
deleteCodeItems();
}
}, '-', {
text : '反馈',
iconCls : 'page_edit_1Icon',
handler : function() {
feedbackCodeWindows();
}
}],
bbar : bbar,// 分页工具栏
viewConfig : {
// 不产横向生滚动条, 各列自动扩展自动压缩, 适用于列数比较少的情况
forceFit : true
},
loadMask : {
msg : '正在加载表格数据,请稍等...'
}
});
//------------------------------------------------------添加页----------------------------------------------------------------
var peopleCombo = new Ext.form.ComboBox({
name : 'people',
hiddenName : 'people',
typeAhead : true,
triggerAction : 'all',
lazyRender : true,
mode : 'local',
store : PEOPLEStore,
valueField : 'value',
displayField : 'text',
anchor : '100%',
value : '',
editable : false,
labelStyle : micolor,
emptyText : '请选择...',
fieldLabel : '服务类别'
});
var legacyCombo = new Ext.form.ComboBox({
name : 'legacy',
hiddenName : 'legacy',
typeAhead : true,
triggerAction : 'all',
lazyRender : true,
mode : 'local',
store : LEGACYStore,
valueField : 'value',
displayField : 'text',
anchor : '100%',
value : '',
editable : false,
labelStyle : micolor,
emptyText : '请选择...',
fieldLabel : '遗留问题'
});
formPanel = new Ext.form.FormPanel({
id : 'codeForm',
name : 'codeForm',
labelAlign : 'right',
labelWidth : 60,
bodyStyle : 'padding:5 5 5 5',
items : [{
layout : 'column',
border : false,
items : [{
columnWidth : .5,
layout : 'form',
labelWidth : 60, // 标签宽度
defaultType : 'textfield',
border : false,
items : [{
fieldLabel : '单位',
name : 'company',
id : 'company',
anchor : '100%',
allowBlank : false,
labelStyle : micolor,
listeners : {
render: function(p) {
p.getEl().on('click', function(){
customerWindow.showWindow();
});
}
}
}, {
fieldLabel : '部门',
name : 'department',
disabled : true,
labelStyle : micolor,
id : 'department',
anchor : '100%'
},{
fieldLabel : '狗号',
name : 'number',
allowBlank : false,
labelStyle : micolor,
maxLength : 30,
anchor : '100%'
},{
fieldLabel : '邮箱',
name : 'mail',
allowBlank : false,
labelStyle : micolor,
maxLength : 30,
anchor : '100%'
},peopleCombo,legacyCombo, {
fieldLabel : '主键',
name : 'customer_id',
id : 'customer_id',
anchor : '100%',
hidden : true,
hideLabel : true
}]
}, {
columnWidth : .5,
layout : 'form',
labelWidth : 70, // 标签宽度
defaultType : 'textfield',
border : false,
items : [{
fieldLabel : '联系人',
name : 'contact',
disabled : true,
labelStyle : micolor,
id : 'contact',
anchor : '100%'
},{
fieldLabel : '手机号',
name : 'cellphone',
id : 'cellphone',
labelStyle : micolor,
disabled : true,
anchor : '100%'
},{
fieldLabel : '协助人',
name : 'assist',
allowBlank : false,
labelStyle : micolor,
maxLength : 30,
anchor : '100%'
},{
fieldLabel : '协助人电话',
name : 'assistphone',
allowBlank : false,
labelStyle : micolor,
maxLength : 30,
anchor : '100%'
},{
fieldLabel : '期望时间',
allowBlank : false,
xtype : 'datefield',
labelStyle : micolor,
name : 'expectedtime', // name:后台根据此name属性取值
format : 'Y-m-d', // 日期格式化
value : new Date(),
anchor : '100%' // 宽度百分比
},{
fieldLabel : '工程师',
name : 'engineer',
allowBlank : false,
labelStyle : micolor,
maxLength : 30,
anchor : '100%'
},{
fieldLabel : '时间',
xtype : 'datefield',
name : 'date', // name:后台根据此name属性取值
format : 'Y-m-d', // 日期格式化
value : new Date(),
anchor : '100%' ,// 宽度百分比
hidden : true,
hideLabel : true
}]
}]
},{
fieldLabel : '故障现象',
labelWidth : 80,
name : 'failure',
width :460, // 窗口宽度
height : 90, // 窗口高度
allowBlank : false,
labelStyle : micolor,
anchor : '100%' ,// 宽度百分比
xtype : 'htmleditor'
},{
fieldLabel : '处理结果',
labelWidth : 80,
name : 'processing',
width : 460, // 窗口宽度
height : 90, // 窗口高度
allowBlank : false,
labelStyle : micolor,
anchor : '100%' ,// 宽度百分比
xtype : 'htmleditor'
},{
fieldLabel : '备注',
labelWidth : 80,
name : 'remarks',
width : 460, // 窗口宽度
height : 90, // 窗口高度
anchor : '100%' ,// 宽度百分比
xtype : 'htmleditor'
}]
});
codeWindow = new Ext.Window({
title : '<span class="commoncss">新增售后信息</span>',
layout : 'fit', // 设置窗口布局模式
width : 550, // 窗口宽度
height : 550, // 窗口高度
closable : false, // 是否可关闭
collapsible : true, // 是否可收缩
maximizable : true, // 设置是否可以最大化
border : false, // 边框线设置
constrain : true, // 设置窗口是否可以溢出父容器
animateTarget : Ext.getBody(),
pageY : 20, // 页面定位Y坐标
pageX : document.body.clientWidth / 2 - 450 / 2, // 页面定位X坐标
items : [formPanel],
buttons : [{
text : '保存',
iconCls : 'acceptIcon',
handler : function() {
if (codeWindow.getComponent('codeForm').form.isValid()) {
codeWindow.getComponent('codeForm').form.submit({
url : 'afterSalesService.ered?reqCode=saveAfterSalesItem',
waitTitle : '提示',
method : 'POST',
waitMsg : '正在处理数据,请稍候...',
success : function(form, action) {
store.reload();
Ext.Msg.confirm('请确认', '新增售后信息成功,您要继续添加售后信息吗?',
function(btn, text) {
if (btn == 'yes') {
codeWindow.getComponent('codeForm').form
.reset();
} else {
codeWindow.hide();
synMemory('要立即进行数据同步吗?');
}
});
},
failure : function(form, action) {
var msg = action.result.msg;
Ext.MessageBox.alert('提示', '售后信息保存失败:<br>' + msg);
codeWindow.getComponent('codeForm').form.reset();
}
});
}
}
}, {
text : '关闭',
iconCls : 'deleteIcon',
handler : function() {
codeWindow.hide();
}
}]
});
//----------------------------------------------反馈---------------------------------------------------------
var feedbackCodeWindow, feedbackCodeFormPanel;
feedbackCodeFormPanel = new Ext.form.FormPanel({
labelAlign : 'right',
labelWidth : 400,
allowBlank : false,
frame : false,
bodyStyle : 'padding:5 5 5 5',
id : 'feedbackCodeFormPanel',
name : 'feedbackCodeFormPanel',
items:[
{
xtype: 'label' ,
text: '1.在了解我公司产品的过程中,您觉得我公司的市场人员在(产品/方案解析)' +
'方面的表现表现是否令您满意(单选)'
},{
xtype : 'radiogroup',
allowBlank : false,
labelalign: 'left',
items : [ {
boxLabel : '非常满意',
name : 'one1',
inputValue : 10
}, {
boxLabel : '满意',
name : 'one1',
inputValue : 7.5
}, {
boxLabel : '一般',
name : 'one1',
inputValue : 5
}, {
boxLabel : '不满意',
name : 'one1',
inputValue : 2.5
}, {
boxLabel : '非常满意',
name : 'one1',
inputValue : 0
}]}
,{
xtype: 'label' ,
text: '2.在了解我公司产品的过程中,您觉得我公司的市场人员在(与客户及时沟通)' +
'方面的表现表现是否令您满意(单选)'
},{
xtype : 'radiogroup',
allowBlank : false,
labelalign: 'left',
items : [ {
boxLabel : '非常满意',
name : 'one2',
inputValue : 10
}, {
boxLabel : '满意',
name : 'one2',
inputValue : 7.5
}, {
boxLabel : '一般',
name : 'one2',
inputValue : 5
}, {
boxLabel : '不满意',
name : 'one2',
inputValue : 2.5
}, {
boxLabel : '非常满意',
name : 'one2',
inputValue : 0
}]},{
xtype: 'label' ,
text: '3.您认为我公司客服在沟通表达能力方面表现如何?(单选)'
},{
xtype : 'radiogroup',
allowBlank : false,
labelalign: 'left',
items : [ {
boxLabel : '非常满意',
name : 'one3',
inputValue : 10
}, {
boxLabel : '满意',
name : 'one3',
inputValue : 7.5
}, {
boxLabel : '一般',
name : 'one3',
inputValue : 5
}, {
boxLabel : '不满意',
name : 'one3',
inputValue : 2.5
}, {
boxLabel : '非常满意',
name : 'one3',
inputValue : 0
}]},{
xtype: 'label' ,
text: '4.您认为我公司客服在问题响应速度方面表现如何?(单选)'
},{
xtype : 'radiogroup',
allowBlank : false,
labelalign: 'left',
items : [ {
boxLabel : '非常满意',
name : 'one4',
inputValue : 10
}, {
boxLabel : '满意',
name : 'one4',
inputValue : 7.5
}, {
boxLabel : '一般',
name : 'one4',
inputValue : 5
}, {
boxLabel : '不满意',
name : 'one4',
inputValue : 2.5
}, {
boxLabel : '非常满意',
name : 'one4',
inputValue : 0
}]},{
xtype: 'label' ,
text: '5.您认为我公司客服在问题解决能力方面表现如何?(单选)'
},{
xtype : 'radiogroup',
allowBlank : false,
labelalign: 'left',
items : [ {
boxLabel : '非常满意',
name : 'one5',
inputValue : 10
}, {
boxLabel : '满意',
name : 'one5',
inputValue : 7.5
}, {
boxLabel : '一般',
name : 'one5',
inputValue : 5
}, {
boxLabel : '不满意',
name : 'one5',
inputValue : 2.5
}, {
boxLabel : '非常满意',
name : 'one5',
inputValue : 0
}]},{
xtype: 'label' ,
text: '6.您认为我公司产品的操作方便性和易使用性情况:(单选)'
},{
xtype : 'radiogroup',
allowBlank : false,
labelalign: 'left',
items : [ {
boxLabel : '非常满意',
name : 'one6',
inputValue : 10
}, {
boxLabel : '满意',
name : 'one6',
inputValue : 7.5
}, {
boxLabel : '一般',
name : 'one6',
inputValue : 5
}, {
boxLabel : '不满意',
name : 'one6',
inputValue : 2.5
}, {
boxLabel : '非常满意',
name : 'one6',
inputValue : 0
}]}, {
xtype: 'label' ,
text: '7.您认为当您遇到问题时主要造成的原因是:(多选)'
},{
xtype : 'radiogroup',
allowBlank : false,
labelalign: 'left',
items : [ {
boxLabel : '非常满意',
name : 'one7',
inputValue : 10
}, {
boxLabel : '满意',
name : 'one7',
inputValue : 7.5
}, {
boxLabel : '一般',
name : 'one7',
inputValue : 5
}, {
boxLabel : '不满意',
name : 'one7',
inputValue : 2.5
}, {
boxLabel : '非常满意',
name : 'one7',
inputValue : 0
}]},{
xtype: 'label' ,
text: '8.您对我公司服务的综合评价:(单选)'
},{
xtype : 'radiogroup',
allowBlank : false,
labelalign: 'left',
items : [ {
boxLabel : '非常满意',
name : 'one8',
inputValue : 10
}, {
boxLabel : '满意',
name : 'one8',
inputValue : 7.5
}, {
boxLabel : '一般',
name : 'one8',
inputValue : 5
}, {
boxLabel : '不满意',
name : 'one8',
inputValue : 2.5
}, {
boxLabel : '非常满意',
name : 'one8',
inputValue : 0
}]} , {
fieldLabel : '主键',
name : 'after_id',
xtype :'textfield',
anchor : '100%',
hidden : true,
hideLabel: true
}]
});
feedbackCodeWindow = new Ext.Window({
title : '<span class="commoncss">反馈信息</span>',
layout : 'fit',
width : 850,
height : 480,
closable : false, // 是否可关闭
collapsible : true, // 是否可收缩
maximizable : true, // 设置是否可以最大化
border : false, // 边框线设置
constrain : true, // 设置窗口是否可以溢出父容器
animateTarget : Ext.getBody(),
items : [feedbackCodeFormPanel],
buttons : [{
text : '保存',
iconCls : 'acceptIcon',
handler : function() {
feedbackCodeItem();
}
}, {
text : '关闭',
iconCls : 'deleteIcon',
handler : function() {
feedbackCodeWindow.hide();
}
}]
});
//------------------------------------------修改页------------------------------------------------------------------
var peopleCombo_E = new Ext.form.ComboBox({
name : 'people',
hiddenName : 'people',
typeAhead : true,
triggerAction : 'all',
lazyRender : true,
fieldClass : 'x-custom-field-disabled',
mode : 'local',
labelStyle : micolor,
store : PEOPLEStore,
valueField : 'value',
displayField : 'text',
anchor : '100%',
value : '1',
editable : false,
emptyText : '请选择...',
fieldLabel : '服务类别'
});
var legacyCombo_E = new Ext.form.ComboBox({
name : 'legacy',
hiddenName : 'legacy',
typeAhead : true,
triggerAction : 'all',
lazyRender : true,
fieldClass : 'x-custom-field-disabled',
mode : 'local',
labelStyle : micolor,
store : LEGACYStore,
valueField : 'value',
displayField : 'text',
anchor : '100%',
value : '1',
editable : false,
emptyText : '请选择...',
fieldLabel : '遗留问题'
});
var editCodeWindow, editCodeFormPanel;
editCodeFormPanel = new Ext.form.FormPanel({
labelAlign : 'right',
labelWidth : 60,
frame : false,
bodyStyle : 'padding:5 5 5 5',
id : 'editCodeFormPanel',
name : 'editCodeFormPanel',
items : [{
layout : 'column',
border : false,
items : [{
columnWidth : .5,
layout : 'form',
labelWidth : 60, // 标签宽度
defaultType : 'textfield',
border : false,
items : [{
fieldLabel : '单位',
name : 'company',
id : 'companys',
anchor : '100%',
allowBlank : false,
labelStyle : micolor,
listeners : {
render: function(p) {
p.getEl().on('click', function(){
customerWindow.showWindow();
});
}
}
}, {
fieldLabel : '部门',
name : 'department',
disabled : true,
labelStyle : micolor,
id : 'departments',
anchor : '100%'
},{
fieldLabel : '狗号',
name : 'number',
allowBlank : false,
labelStyle : micolor,
maxLength : 30,
anchor : '100%'
},{
fieldLabel : '邮箱',
name : 'mail',
allowBlank : false,
labelStyle : micolor,
maxLength : 30,
anchor : '100%'
},peopleCombo_E,legacyCombo_E, {
fieldLabel : '主键',
name : 'customer_id',
id : 'customer_ids',
anchor : '100%',
hidden : true,
hideLabel : true
}]
}, {
columnWidth : .5,
layout : 'form',
labelWidth : 70, // 标签宽度
defaultType : 'textfield',
border : false,
items : [{
fieldLabel : '联系人',
name : 'contact',
disabled : true,
labelStyle : micolor,
id : 'contacts',
anchor : '100%'
},{
fieldLabel : '手机号',
name : 'cellphone',
id : 'cellphones',
labelStyle : micolor,
disabled : true,
anchor : '100%'
},{
fieldLabel : '协助人',
name : 'assist',
allowBlank : false,
labelStyle : micolor,
maxLength : 30,
anchor : '100%'
},{
fieldLabel : '协助人电话',
name : 'assistphone',
allowBlank : false,
labelStyle : micolor,
maxLength : 30,
anchor : '100%'
},{
fieldLabel : '期望时间',
allowBlank : false,
xtype : 'datefield',
labelStyle : micolor,
name : 'expectedtime', // name:后台根据此name属性取值
format : 'Y-m-d', // 日期格式化
value : new Date(),
anchor : '100%' // 宽度百分比
},{
fieldLabel : '工程师',
name : 'engineer',
allowBlank : false,
labelStyle : micolor,
maxLength : 30,
anchor : '100%'
},{
fieldLabel : '时间',
xtype : 'datefield',
name : 'date', // name:后台根据此name属性取值
format : 'Y-m-d', // 日期格式化
value : new Date(),
anchor : '100%' ,// 宽度百分比
hidden : true,
hideLabel : true
}, {
fieldLabel : '主键',
name : 'after_id',
anchor : '100%',
hidden : true,
hideLabel : true
}]
}]
},{
fieldLabel : '故障现象',
labelWidth : 80,
name : 'failure',
width : 460, // 窗口宽度
height : 90, // 窗口高度
allowBlank : false,
labelStyle : micolor,
maxLength : 200,
xtype : 'htmleditor',
anchor : '100%'
},{
fieldLabel : '处理结果',
labelWidth : 80,
name : 'processing',
width : 460, // 窗口宽度
height : 90, // 窗口高度
allowBlank : false,
labelStyle : micolor,
maxLength : 200,
xtype : 'htmleditor',
anchor : '100%'
},{
fieldLabel : '备注',
labelWidth : 80,
name : 'remarks',
width : 460, // 窗口宽度
height : 90, // 窗口高度
allowBlank : false,
labelStyle : micolor,
maxLength : 200,
xtype : 'htmleditor',
anchor : '100%'
}]
});
editCodeWindow = new Ext.Window({
title : '<span class="commoncss">修改售后信息</span>',
layout : 'fit',
width : 550,
height : 550,
resizable : false,
draggable : true,
closeAction : 'hide',
modal : true,
collapsible : true,
titleCollapse : true,
maximizable : false,
buttonAlign : 'right',
border : false,
animCollapse : true,
animateTarget : Ext.getBody(),
constrain : true,
items : [editCodeFormPanel],
buttons : [{
text : '保存',
iconCls : 'acceptIcon',
handler : function() {
updateCodeItem();
}
}, {
text : '关闭',
iconCls : 'deleteIcon',
handler : function() {
editCodeWindow.hide();
}
}]
});
/**
* 修改
*/
function ininEditCodeWindow() {
var record = grid.getSelectionModel().getSelected();
if (Ext.isEmpty(record)) {
Ext.Msg.alert('提示', '请先选中要修改的信息');
return;
}
record = grid.getSelectionModel().getSelected();
editCodeWindow.show();
editCodeFormPanel.getForm().loadRecord(record);
}
/**
* 反馈信息
*/
function feedbackCodeWindows() {
var record = grid.getSelectionModel().getSelected();
if (Ext.isEmpty(record)) {
Ext.Msg.alert('提示', '请先选中要反馈的信息');
return;
}
record = grid.getSelectionModel().getSelected();
if (record.get('feedback') != ''&&record.get('feedback') != null) {
Ext.Msg.alert('提示', '您选中的信息已填写反馈信息');
return;
}
feedbackCodeWindow.show();
feedbackCodeFormPanel.getForm().loadRecord(record);
}
/**
* 内存同步
*/
function synMemory(msg, flag) {
Ext.Msg.confirm('请确认', msg, function(btn, text) {
if (btn == 'yes') {
showWaitMsg();
Ext.Ajax.request({
url : 'afterSalesService.ered?reqCode=synMemory',
success : function(response) {
if (flag == '1') {
store.reload();
}
var resultArray = Ext.util.JSON
.decode(response.responseText);
Ext.Msg.alert('提示', resultArray.msg);
},
failure : function(response) {
Ext.Msg.alert('提示', '数据同步失败');
}
});
}
});
}
/**
* 删除售后
*/
function deleteCodeItems() {
var rows = grid.getSelectionModel().getSelections();
var fields = '';
for (var i = 0; i < rows.length; i++) {
fields = fields + rows[i].get('after_id') + '->'
+ rows[i].get('applicant') + '<br>';
}
if (Ext.isEmpty(rows)) {
Ext.Msg.alert('提示', '请先选中要删除的项目!');
return;
}
var strChecked = jsArray2JsString(rows, 'after_id');
Ext.Msg.confirm('请确认', '你真的要删除售后吗?', function(btn, text) {
if (btn == 'yes') {
showWaitMsg();
Ext.Ajax.request({
url : 'afterSalesService.ered?reqCode=deleteAfterSalesItem',
success : function(response) {
store.reload();
synMemory('售后删除成功,要立即进行数据同步吗?');
},
failure : function(response) {
var resultArray = Ext.util.JSON
.decode(response.responseText);
Ext.Msg.alert('提示', resultArray.msg);
},
params : {
strChecked : strChecked
}
});
}
});
}
/**
* 修改售后
*/
function updateCodeItem() {
if (!editCodeFormPanel.form.isValid()) {
return;
}
editCodeFormPanel.form.submit({
url : 'afterSalesService.ered?reqCode=updateAfterSalesItem',
waitTitle : '提示',
method : 'POST',
waitMsg : '正在处理数据,请稍候...',
success : function(form, action) {
editCodeWindow.hide();
store.reload();
synMemory('售后信息修改成功,要立即进行数据同步吗?');
},
failure : function(form, action) {
var msg = action.result.msg;
Ext.MessageBox.alert('提示', '售后管理表保存失败:<br>' + msg);
}
});
}
/**
* 反馈
*/
function feedbackCodeItem() {
if (!feedbackCodeFormPanel.form.isValid()) {
return;
}
feedbackCodeFormPanel.form.submit({
url : 'afterSalesService.ered?reqCode=feedbackAfterSalesItem',
waitTitle : '提示',
method : 'POST',
waitMsg : '正在处理数据,请稍候...',
success : function(form, action) {
feedbackCodeWindow.hide();
store.reload();
},
failure : function(form, action) {
var msg = action.result.msg;
Ext.MessageBox.alert('提示', '反馈保存失败:<br>' + msg);
}
});
}
// 布局
var viewport = new Ext.Viewport({
layout : 'border',
items : [qForm, grid]
});
store.load({
params : {
start : 0,
limit : bbar.pageSize
}
});
// 查询表格数据
function queryBalanceInfo(pForm) {
var params = pForm.getValues();
params.start = 0;
params.limit = bbar.pageSize;
store.load({
params : params
});
}
});
相关推荐
EXTJS页面编辑器是一款专为EXTJS开发人员设计的强大工具,它极大地简化了EXTJS界面的构建过程,使得开发者能够快速、高效地创建出复杂的Web应用程序界面。EXTJS是一种流行的JavaScript框架,以其丰富的组件库、可...
ExtJs 页面效果实例 包括多种页面效果,静态页面,解压即用,供大家参考学习
SSH+EXTJS页面图书管理系统SSH+EXTJS页面图书管理系统SSH+EXTJS页面图书管理系统SSH+EXTJS页面图书管理系统SSH+EXTJS页面图书管理系统SSH+EXTJS页面图书管理系统SSH+EXTJS页面图书管理系统
在"Extjs页面验证(修订版)"这个项目中,我们将探讨ExtJS如何实现表单验证以及与服务器端的数据交互。 1. **ExtJS表单验证**: - 表单是任何应用程序中的关键组成部分,尤其是涉及到用户输入数据时。ExtJS提供了...
在本资源"ResviewCRM的ExtJS页面程序"中,我们看到的是一个使用ASP.NET框架结合ExtJS库创建的客户关系管理(CRM)系统的前端部分。 1. **ASP.NET**: - ASP.NET提供了多种编程模型,如Web Forms、MVC、Web API和...
在本案例中,"ASP.NET源码——ResviewCRM的ExtJS页面程序.zip" 提供了一个基于ASP.NET的客户关系管理(CRM)系统的前端源码,其中使用了ExtJS库来构建用户界面。ExtJS是一个流行的JavaScript框架,它提供了丰富的...
这个名为"ResviewCRM的ExtJS页面程序_dotnet整站程序.rar"的压缩包包含了一个完整的基于.NET技术栈的Web站点程序。下面将详细阐述ResviewCRM的关键技术和相关知识点。 1. **ExtJS框架**: ExtJS是一个流行的...
标题提及的是"ResviewCRM的ExtJS页面程序_ase(ASP.NET源码).rar",这表明我们关注的是一款名为ResviewCRM的客户关系管理系统的前端页面程序,它基于ExtJS框架,并且源码是用ASP.NET语言编写的。ExtJS是一个用于...
ResviewCRM的ExtJS页面程序 该代码是ResviewCRM的前端页面程序,是通过ExtJS来表现丰富的UI界面操作,数据库中暂还没有基础数据 代码展示的是 服务器管理 考勤管理 服务申请 三部分的基本功能 PRO_LBR下为多层...
ExtJS页面路由是一种用于构建大型单页应用(SPA, Single Page Application)的重要技术,它使得在不刷新整个页面的情况下,可以动态地加载和切换页面内容。这种机制是通过URL哈希值(#)或者HTML5 History API来实现...
很好的ext页面布局自动生成功能,快速布局,减少你页面开发时间!用法:解压->添加文件夹到一个web工程当中->进入index.html进入页面编辑就可以自由设计你的布局了,代码在查看/修改中可以看到,只需复制粘贴到自己...
在"Extjs页面验证"这个主题中,我们主要关注的是如何在ExtJS应用中实现用户输入的验证,确保数据的准确性和安全性。这在任何Web应用中都是至关重要的,因为有效的验证可以防止无效数据的提交,提高用户体验,同时...
这篇博客"EXTJS 不同页面之间的传值问题(数据不经过后台,通过页面取得)"探讨的就是如何在EXTJS应用的不同视图间传递数据,而无需通过后端接口。 首先,我们可以使用EXTJS的全局变量来实现简单的数据共享。全局...
ExtJs 4.0 是一款强大的JavaScript框架,用于构建富客户端Web应用。它提供了一整套组件、布局和数据管理工具,使得开发者可以构建出功能丰富、交互性强的用户界面。在“ExtJs4.0 表单提交Demo”中,我们将深入探讨...
"extjs加水印"这一主题涉及到如何在EXTJS框架构建的系统中添加水印功能,以增强数据的安全性,防止敏感信息非法传播。EXTJS是一个强大的JavaScript库,用于构建富客户端的Web应用程序,而水印则是一种有效的方法,...
四、Extjs页面控件 EXTJS4自学手册——页面控件(表格) EXTJS4自学手册——页面控件(表格的特性属性) EXTJS4自学手册——页面控件(表格的插件) EXTJS4自学手册——页面控件(树形控件) EXTJS4自学手册——页面...
ResviewCRM是一款基于ExtJS开发的商业客户关系管理(CRM)系统,其源码提供了深入理解Web应用程序构建的宝贵资源。ExtJS是一个流行的JavaScript库,用于构建富客户端的桌面级Web应用,它提供了丰富的组件库,包括...
[其他类别]ResviewCRM的ExtJS页面程序_ase.zip源码ASP.NET网站源码打包下载[其他类别]ResviewCRM的ExtJS页面程序_ase.zip源码ASP.NET网站源码打包下载[其他类别]ResviewCRM的ExtJS页面程序_ase.zip源码ASP.NET网站...
#### 二、EXTJS页面初始化 页面加载完毕后,EXTJS会执行`Ext.onReady`函数中指定的代码,这是EXTJS应用的一个关键启动点。例如: ```javascript Ext.onReady(function() { alert("ExtJS库已加载!"); }); ``` ...