Extjs Grid 只显示列名 不显示数据
2016-12-18 12:59
387 查看
首先出现错误,找不到无非是对Extjs不熟悉。只会简单的使用。前面都是在恕我自己啦。
![](https://img-blog.csdn.net/20161218125917393?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd3hkNTYxNw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
效果是这样的。
找了很久。很久。也找不到。后来实在是看不下去了。决定要和这个BUG一站到底!
最后才发现是一个小小的失误…… 有多少bug是因为一个小BUG影响大局的。
看分析流程
分析错误:1.数据正常——2.js不报错误——3.分析错误节点 我这个是从类型。开始。大家看代码。代码中用到了getPayType去掉
瞬间就知道了是getPayType报错了。后来发现少了 'md.mdDefPayAllStore' store
加上。OK.
结束语:BUG并不可怕,越不想解决他,它在你心目中越高大,越难以解决!回想好多次BUG让别人调试,最后才发现,不是写错单词,就是少写 少引用东西!说到这里我想说,也许处女座会更适合程序猿。但是其他人只要——细心——坚持——没有什么是解决不了的。
view代码是:Ext.define('Dms.view.cms.cmsCostOrderPanel', {
extend: 'Ext.panel.Panel',
alias: 'widget.cmsCostOrderpanel',
height: 575,
width: 902,
///autoScroll: true,
layout: {
type: 'border'
},
initComponent: function () {
var me = this;
function renderAtts(value) {
if (value == true) {
return "<img src='/Content/16Icons/attach.png' />";
}
}
function getPayType(value) {
var rstore = Ext.getStore('md.mdDefPayAllStore');
var index = rstore.find('Code', value);
if (index == -1) //当store中找不到对应id得时候,index为-1
return value;
else {
var name = rstore.getAt(index).get('Name');
return name;
}
};
Ext.applyIf(me, {
items: [
{
xtype: 'gridpanel',
id: 'cmsCostOrderGrid',
region: 'center',
collapsible: false,
columnLines: true,
forceFit: true,
autoScroll: true,
store: 'cms.cmsCostOrderStore',
columns: [
{
xtype: 'gridcolumn',
width: 100,
dataIndex: 'DOCENTRY',
text: '单据编号'
},
{
xtype: 'gridcolumn',
width: 100,
dataIndex: 'SAPName',
renderer: operdesc,
text: '供应商'
},
{
xtype: 'gridcolumn',
width: 100,
dataIndex: 'CardName',
renderer: operdesc,
text: '支出单位'
},
{
xtype: 'gridcolumn',
width: 70,
dataIndex: 'DocDay',
renderer: Ext.util.Format.dateRenderer('Y-m-d'),
text: '单据日期'
},
{
xtype: 'gridcolumn',
width: 70,
dataIndex: 'DocType',
renderer: getPayType,
text: '类型'
},
{
xtype: 'gridcolumn',
width: 70,
dataIndex: 'DocTotal',
renderer: operdesc,
text: '合计'
},
{
xtype: 'gridcolumn',
width: 70,
dataIndex: 'PaidTotal',
renderer: operdesc,
text: '已付'
},
{
xtype: 'gridcolumn',
width: 70,
dataIndex: 'DiffTotal',
renderer: operdesc,
text: '应付'
},
{
xtype: 'gridcolumn',
width: 100,
dataIndex: 'Note',
renderer: operdesc,
text: '备注'
},
{
xtype: 'gridcolumn',
width: 100,
dataIndex: 'AppDate',
renderer: Ext.util.Format.dateRenderer('Y-m-d'),
text: '回复日期'
},
{
xtype: 'gridcolumn',
width: 100,
dataIndex: 'APPStatus',
renderer: changeColor,
text: '审批状态'
},
{
xtype: 'checkcolumn',
width: 60,
disabled: 'true',
renderer: operdesc,
dataIndex: 'IsAPP',
text: '提报'
},
{
width: 40,
dataIndex: 'IsAtts',
renderer: renderAtts,
text: '附件'
},
{
xtype: 'gridcolumn',
width: 100,
dataIndex: 'Status',
renderer: changeColor,
text: '单据状态'
}
],
viewConfig: {
enableTextSelection: true
},
dockedItems: [
{
xtype: 'pagingtoolbar',
dock: 'bottom',
id: 'cmsCostOrderPagginCtr',
width: 360,
displayInfo: true,
store: 'cms.cmsCostOrderStore'
},
{
xtype: 'toolbar',
dock: 'top',
items: [
{
xtype: 'button',
shrinkWrap: 1,
id: 'cmsCostOrderDocButton',
icon: "/Content/16Icons/windows.png",
text: '明细'
},
{
xtype: 'button',
shrinkWrap: 1,
id: 'cmsCostOrderAddButton',
icon: "/Content/16Icons/add.png",
text: '添加'
},
{
xtype: 'button',
shrinkWrap: 1,
id: 'cmsCostOrderFindButton',
icon: "/Content/16Icons/page_find.png",
text: '查找'
}, {
xtype: 'button',
id: 'cmsCostOrderDeleteButton',
icon: "/Content/16Icons/cancel.png",
text: '取消'
},'|',
{
xtype: 'button',
id: 'cmsCostOrderUpdateButton',
icon: "/Content/16Icons/page_go.png",
text: '提报'
},
{
xtype: 'button',
id: 'cmsCostOrderCheckListButton',
icon: "/Content/16Icons/arrow_branch.png",
text: '审批进程'
}, '|',
{
xtype: 'button',
id: 'cmsCostOrderFKButton',
icon: "/Content/16Icons/doc_convert.png",
text: '付款'
},
{
xtype: 'button',
id: 'cmsCostOrderDHButton',
10273
icon: "/Content/16Icons/doc_text_image.png",
text: '付款清单'
}, '|',
{
xtype: 'button',
id: 'cmsCostOrderPrintButton',
icon: "/Content/16Icons/printer.png",
text: '打印'
}
//, '->',
//{
// xtype: 'button',
// id: 'cmsCostOrderPayAlertButton',
// icon: "/Content/16Icons/money.png",
// text: '付款提示'
//}
]
}
],
selModel: Ext.create('Ext.selection.CheckboxModel', {
ignoreRightMouseSelection: true
})
}
]
});
me.callParent(arguments);
}
});
Controller代码
Ext.define('Dms.controller.cms.cmsCostOrderController', {
extend: 'Ext.app.Controller',
models: [
'cms.cmsCostOrderModel',
'cms.cmsCostOrder1Model',
'cms.cmsDocAttsModel',
'neu.dmsPageNoActionModel',
'neu.dmsCodeNameModel'
],
stores: [
'cms.cmsCostOrderStore',
'cms.cmsCostOrder1Store',
'cms.cmsDocAttsStore',
'cms.cmsWhsListStore',
'cms.cmsCmpPayTypeStore',
'md.mdDefPayAllStore',//bug
'neu.dmsPageNoActionStore'
],
views: [
'cms.cmsCostOrderPanel',
'cms.cmsCostOrderEditWindow'
],
loadModel: function () {
},
loadView: function () {
},
onSearchButtonClick: function (button, e, options) {
Ext.getApplication().loadModule('neu.dmsBaseSearchController');
var view = Ext.create('Dms.view.neu.dmsBaseSearchWindow', {});
Ext.getCmp('dmsBaseSearchStoreID').setValue('cms.cmsCostOrderStore');
var cntStore = Ext.getStore('neu.dmsSearchCdnStore');
cntStore.removeAll();
cntStore.load({
params: {
type: 'cmsCostOrder'
}
});
},
cmsCostOrderDocButton: function () {
var records = Ext.getCmp('cmsCostOrderGrid').getSelectionModel().getSelection();
if (records.length == 0) {
Ext.MessageBox.show({
title: "提示", msg: "请先选择您要操作的行!", buttons: Ext.Msg.OK, closable: false
});
return;
}
var record = records[0];
this.loadData(record);
},
onGridpanelItemDblClick: function (tablepanel, record, item, index, e, options) {
this.loadData(record);
},
loadData: function (record) {
//var store3 = Ext.getStore('cms.cmsCmpPayTypeStore');
//store3.getProxy().setExtraParam('p1', getCookie("CmpType"));
//store3.getProxy().setExtraParam('p2', Ext.getCmp('cmsCostOrderCardCode').getValue());
//store3.load({
// params: {
// start: 0,
// limit: 1000
// },
//});
//store3.load();
var view = Ext.create('Dms.view.cms.cmsCostOrderEditWindow', {});
view.down('form').loadRecord(record);
var ID = Ext.getCmp('cmsCostOrderID').getValue();
var store1 = Ext.getStore('cms.cmsCostOrder1Store');
store1.getProxy().setExtraParam('CdnField', 'ID');
store1.getProxy().setExtraParam('Cdn', '等于');
store1.getProxy().setExtraParam('CdnValue', ID);
store1.load({
params: {
start: 0,
limit: 1000
}
});
store1.currentPage = 1;
var store2 = Ext.getStore('cms.cmsDocAttsStore');
store2.getProxy().setExtraParam('ID', ID);
store2.getProxy().setExtraParam('AttsDocType', 'cmsCostOrder');
store2.load({
params: {
start: 0,
limit: 1000
}
});
store2.currentPage = 1;
Ext.getCmp('cmsCostOrderCode').setReadOnly(true);
Ext.getCmp('cmsCostOrderDocType').setReadOnly(true);
//已经通过审核的禁止编辑
var appstatus = record.get('APPStatus');
if (getCookie("IsGroupUser") == 'N' & appstatus == "审批通过") {
Ext.getCmp('cmsCostOrdersubmitButton').setDisabled(true);
}
},
submitButtonClick: function (button) {
var win = button.up('window');
var form = win.down('form');
var record = form.getRecord();
var values = form.getValues();
var inRecord = Ext.create('Dms.model.cms.cmsCostOrderModel', form.getValues());
var errors = inRecord.validate();
if (errors.isValid()) {
Ext.getStore('cms.cmsCostOrder1Store').commitChanges();
Ext.getStore('cms.cmsDocAttsStore').commitChanges();
var bean = Ext.JSON.encode(inRecord.data);
var beanlist = this.getStore('cms.cmsCostOrder1Store');
var strJsonData = "";
var array = [];
for (var i = 0; i < beanlist.getCount() ; i++) {
var record2 = beanlist.getAt(i);
Ext.Array.include(array, record2.data)
};
strJsonData += Ext.JSON.encode(array);
var attlist = this.getStore('cms.cmsDocAttsStore');
var strJsonAttData = "";
var arrayAtt = [];
for (var i = 0; i < attlist.getCount() ; i++) {
var record2 = attlist.getAt(i);
Ext.Array.include(arrayAtt, record2.data)
};
strJsonAttData += Ext.JSON.encode(arrayAtt);
if (record) {
var status = record.get('APPStatus');
if (status == '审批通过' || status == '系统审批') {
Ext.MessageBox.show({
title: "提示", msg: "已通过审批的单据禁止修改!", buttons: Ext.Msg.OK, closable: false
});
return;
}
Ext.Ajax.request({
url: '../cmsCostOrder/UpdatecmsCostOrder',
params: {
bean: bean,
beanlist: strJsonData,
attlist: strJsonAttData
},
method: 'POST',
// timeout : 2000,//默认30秒
success: function (response, opts) {
// store.loadPage(1);
var result = Ext.decode(response.responseText);
var success = result.success;
// 当后台数据同步成功时
if (success) {
Ext.getStore('cms.cmsCostOrderStore').load();
win.close();
} else {
Ext.getStore('cms.cmsCostOrderStore').rejectChanges();
Ext.MessageBox.show({
title: "系统提示",
msg: "数据添加失败!" + result.msg,
buttons: Ext.Msg.OK,
closable: false
});
}
}
});
}
else {
Ext.Ajax.request({
url: '../cmsCostOrder/InsertcmsCostOrder',
params: {
bean: bean,
beanlist: strJsonData,
attlist: strJsonAttData
},
method: 'POST',
// timeout : 2000,//默认30秒
success: function (response, opts) {
// store.loadPage(1);
var result = Ext.decode(response.responseText);
var success = result.success;
// 当后台数据同步成功时
if (success) {
Ext.getStore('cms.cmsCostOrderStore').load();
win.close();
} else {
Ext.getStore('cms.cmsCostOrderStore').remove(inRecord);
Ext.MessageBox.show({
title: "系统提示",
msg: "数据添加失败!" + result.msg,
buttons: Ext.Msg.OK,
closable: false
});
}
}
});
}
}
//校验输入错误
else {
var message = [];
errors.each(function (v) {
message.push(v.field + ' : ' + v.message)
});
Ext.MessageBox.show({
title: "输入提示",
msg: "数据不正确:!" + message.join('\n'),
buttons: Ext.Msg.OK,
closable: false
});
}
},
cancelButtonClick: function (button) {
var win = button.up('window');
win.close();
},
onAddButtonClick: function (target) {
var view = Ext.create('Dms.view.cms.cmsCostOrderEditWindow', {});
if (getCookie("CmpType") == "门店") {
Ext.getCmp('cmsCostOrderCardCode').setValue(getCookie("cmpCode"));
Ext.getCmp('cmsCostOrderCardName').setReadOnly(true);
Ext.getCmp('cmsCostOrderCardName').setValue(getCookie("companyName"));
//跳转到onchange事件
}
var store1 = Ext.getStore('cms.cmsCostOrder1Store');
store1.removeAll();
var store2 = Ext.getStore('cms.cmsDocAttsStore');
store2.removeAll();
//getCookie("companyName")
},
onAuthority: function () {
var cmsCostOrderPageNoAction = strArray.query("PageId", "cmsCostOrderpanel");
if (typeof (eval(cmsCostOrderPageNoAction)) == "undefined") {
return;
}
for (var i = 0; i < cmsCostOrderPageNoAction.getCount() ; i++) {
var record = cmsCostOrderPageNoAction.getAt(i);
var userId = record.get('ActionId');
var btnCop = Ext.getCmp(userId);
if (typeof (eval(btnCop)) != "undefined") {
btnCop.setDisabled(true);
};
};
},
cmsCostOrderDelete: function () {
Ext.Msg.confirm("提示信息", "确定要删除列表中勾选的选项?", function callback(id) {
if (id == "yes") {
var data = Ext.getCmp('cmsCostOrderGrid').getSelectionModel().getSelection();
if (data.length == 0) {
Ext.MessageBox.show({
title: "提示",
buttons: Ext.Msg.OK,
msg: "请先选择您要操作的行!"
// icon: Ext.MessageBox.INFO
});
return;
}
else {
Ext.Array.each(data, function (record) {
var Id = record.get('ID');
var status = record.get('Status');
var IsSAP = record.get('IsSAP');
if (status == '已清' || status == '厂家订单') {
Ext.MessageBox.show({
title: "提示", msg: DOCENTRY + "仅状态为草稿或未清的单据能取消!", buttons: Ext.Msg.OK, closable: false
});
return;
}
if (IsSAP == true) {
Ext.MessageBox.show({
title: "提示", msg: DOCENTRY + "已经传递至SAP系统中,不允许删除!", buttons: Ext.Msg.OK, closable: false
});
return;
}
//如果删除的是幻影数据,则id就不传递到后台了,直接在前台删除即可
if (Id) {
Ext.Ajax.request({
url: '../cmsCostOrder/DeletecmsCostOrder',
params: {
bean: Id
},
method: 'POST',
// timeout : 2000,//默认30秒
success: function (response, opts) {
var result = Ext.decode(response.responseText);
// 当后台数据同步成功时
if (result.success) {
Ext.getStore('cms.cmsCostOrderStore').reload();
} else {
Ext.MessageBox.show({
title: "提示",
buttons: Ext.Msg.OK,
msg: "数据删除失败!" + result.msg
});
}
}
});
};
});
};
};
});
},
cmsCostOrder1Delete: function (button) {
var store = Ext.getStore('cms.cmsCostOrder1Store');
var records = Ext.getCmp('cmsCostOrder1Grid').getSelectionModel().getSelection();
Ext.each(records, function (record) {
store.remove(record);
})
},
cmsCostOrder1AddButton: function (button) {
dmsBaseChooseTreeType = 'cmsCostOrder1';
dmsBaseChooseTreeKey = Ext.getCmp('cmsCostOrderDocType').getValue();
if (dmsBaseChooseTreeKey == undefined || dmsBaseChooseTreeKey == '' || dmsBaseChooseTreeKey == null) {
Ext.MessageBox.show({
title: "提示", msg: "请先选择支出类型!", buttons: Ext.Msg.OK, closable: false
});
return;
}
Ext.getApplication().loadModule('neu.dmsBaseChooseTreeController');
var view = Ext.create('Dms.view.neu.dmsBaseChooseTreeWindow', {});
Ext.getCmp('dmsBaseChooseTreeFromID').setValue('cmsCostOrder1');
var fromStore = Ext.getStore('neu.dmsBaseChooseFromStore');
fromStore.removeAll();
var toStore = Ext.getStore('neu.dmsBaseChooseToStore');
toStore.removeAll();
},
cmsCostOrderUpdate: function () {
Ext.Msg.confirm("提示信息", "确定要上报列表中勾选的选项?", function callback(id) {
if (id == "yes") {
var data = Ext.getCmp('cmsCostOrderGrid').getSelectionModel().getSelection();
if (data.length == 0) {
Ext.MessageBox.show({
title: "提示", msg: "请先选择您要操作的行!", buttons: Ext.Msg.OK, closable: false
});
return;
}
else {
Ext.Array.each(data, function (record) {
var ID = record.get('ID');
var appstatus = record.get('APPStatus');
if (appstatus == '审批通过') {
Ext.MessageBox.show({
title: "提示", msg: "通过审批的不能再次提报,或取消后提报!", buttons: Ext.Msg.OK, closable: false
});
return;
}
//如果删除的是幻影数据,则id就不传递到后台了,直接在前台删除即可
if (ID) {
Ext.Ajax.request({
url: '../cmsCostOrder/UploadAPP',
params: {
ID: ID
},
method: 'POST',
// timeout : 2000,//默认30秒
success: function (response, opts) {
var success = Ext.decode(response.responseText).success;
var msg = Ext.decode(response.responseText).msg;
// 当后台数据同步成功时
if (success) {
Ext.getStore('cms.cmsCostOrderStore').load();
Ext.MessageBox.show({
title: "提示",
msg: msg,
buttons: Ext.Msg.OK,
closable: false
});
} else {
Ext.MessageBox.show({
title: "提示",
msg: msg,
buttons: Ext.Msg.OK,
closable: false
});
}
}
});
};
});
};
};
});
},
cmsCostOrderPrint: function (button) {
var records = Ext.getCmp('cmsCostOrderGrid').getSelectionModel().getSelection();
var record = records[0];
if (record) {
var ID = record.get('ID');
DmsPrintModel('cmsCostOrder', ID);
} else {
Ext.MessageBox.show({
title: "提示",
msg: "请选择需要打印的单据!",
buttons: Ext.Msg.OK,
closable: false
});
}
},
cmsCostOrderAttsUploadButton: function (button) {
var win = button.up('window');
var form = win.down('form');
var upfile = Ext.getCmp('cmsCostOrderAttsFile').getValue();
form.submit({
url: '../cmsDocAtts/upload',
waitMsg: '正在上传附件...',
success: function (fp, o) {
if (o.result.success == true) {
var fileName = o.result.fileName;
var filePath = o.result.filePath;
var store = Ext.getStore('cms.cmsDocAttsStore');
var data = [{
'AttsPath': filePath,
'AttsFileName': fileName
}];
store.loadData(data, true);
Ext.Msg.alert('提示信息', o.result.msg);
} else {
Ext.Msg.alert('提示信息', o.result.msg);
}
},
failure: function (fp, o) {
Ext.Msg.alert('上传失败!' + o.result.msg);
}
});
},
cmsCostOrderAttsDeleteButton: function (button) {
var data = Ext.getCmp('cmsCostOrderAttGrid').getSelectionModel().getSelection();
if (data.length == 0) {
Ext.MessageBox.show({
title: "提示",
buttons: Ext.Msg.OK,
msg: "请先选择您要操作的行!"
// icon: Ext.MessageBox.INFO
});
return;
}
else {
Ext.Array.each(data, function (record) {
var filePath = record.get('AttsPath');
//如果删除的是幻影数据,则id就不传递到后台了,直接在前台删除即可
if (filePath) {
Ext.Ajax.request({
url: '../cmsDocAtts/deleteFile',
params: {
fileName: filePath
},
waitMsg: '正在删除附件...',
method: 'POST',
// timeout : 2000,//默认30秒
success: function (response, opts) {
var result = Ext.decode(response.responseText);
// 当后台数据同步成功时
if (result.success) {
Ext.Array.each(data, function (record) {
var store = Ext.getStore('cms.cmsDocAttsStore');
store.remove(record); // 页面效果
Ext.MessageBox.show({
title: "提示",
buttons: Ext.Msg.OK,
msg: "删除成功"
});
});
} else {
Ext.MessageBox.show({
title: "提示",
buttons: Ext.Msg.OK,
msg: result.msg
});
}
}
});
};
});
};
},
cmsCostOrderAttGridDblClick: function (tablepanel, record, item, index, e, options) {
var path = record.data.AttsPath;
var fileName = record.data.AttsFileName;
location.href = "../cmsDocAtts/DownloadFiles?path=" + path + "&fileName=" + fileName;
//location.open = "../cmsDocAtts/DownloadFiles?path=" + path + "&fileName=" + fileName;
},
cmsCostOrderCheckListButton: function (button) {
var records = Ext.getCmp('cmsCostOrderGrid').getSelectionModel().getSelection();
var record = records[0];
if (record) {
var DOCENTRY = record.get('ID');
Ext.getApplication().loadModule('neu.dmsBaseAppController');
var view = Ext.create('Dms.view.neu.dmsBaseAppListWindow', {});
var dmsAPPDocListStore = Ext.getStore('neu.dmsBaseAppStore');
dmsAPPDocListStore.getProxy().setExtraParam('docType', 'cmsCostOrder');
dmsAPPDocListStore.getProxy().setExtraParam('docEntry', DOCENTRY);
dmsAPPDocListStore.load({
callback: function (records, options, success) {
Ext.getCmp('dmsBaseAppListEditGrid').view.refresh();
}
});
}
},
cmsCostOrderDHButton: function () {
var records = Ext.getCmp('cmsCostOrderGrid').getSelectionModel().getSelection();
var record = records[0];
if (record) {
var ID = record.get('DOCENTRY');
var ReportType = 'cmsCostOrderFromSAP';
var centerContiner = Ext.getCmp('CenterTabPanel');
var datagridPanel = Ext.create('Ext.panel.Panel', {
id: newGuid() + 'Panel',
closable: true,
region: 'center',
html: "<iframe src='../Report/showReportInFunction.aspx?ID=" + ID + "&ReportType=" + ReportType + "' style='width:100%; height:100%;'></iframe>",
title: '付款清单:' + ID
});
centerContiner.add(datagridPanel);
centerContiner.setActiveTab(datagridPanel);
}
},
cmsCostOrderFKButton: function () {
var data = Ext.getCmp('cmsCostOrderGrid').getSelectionModel().getSelection();
if (data.length == 0) {
Ext.MessageBox.show({
title: "提示", msg: "请先选择您要操作的行!", buttons: Ext.Msg.OK, closable: false
});
return;
}
else {
var record = data[0];
var ID = record.get('ID');
Ext.getApplication().loadModule('cms.cmsCostOrderPayInfoController');
var view = Ext.create('Dms.view.cms.cmsCostOrderPayInfoEditWindow', {});
Ext.getCmp('cmsCostOrderPayInfoBaseDocEntry').setValue(record.get("DOCENTRY"));
Ext.getCmp('cmsCostOrderPayInfoBaseID').setValue(record.get("ID"));
Ext.getCmp('cmsCostOrderPayInfoCardCode').setValue(record.get("CardCode"));
Ext.getCmp('cmsCostOrderPayInfoCardName').setValue(record.get("CardName"));
Ext.getCmp('cmsCostOrderPayInfoSAPCode').setValue(record.get("SAPCode"));
Ext.getCmp('cmsCostOrderPayInfoSAPName').setValue(record.get("SAPName"));
//cmsCostOrderPayInfoDocType
Ext.getCmp('cmsCostOrderPayInfoDocType').setValue("cmsCostOrder");
//cmsCostOrderPayInfoDocTotal
var total = record.get("DocTotal");
var paid = record.get("PaidTotal");
Ext.getCmp('cmsCostOrderPayInfoDocTotal').setValue(total);
Ext.getCmp('cmsCostOrderPayInfoPaidTotal').setValue(total - paid);
var store2 = Ext.getStore('cms.cmsDocAttsStore');
store2.removeAll();
var store1 = Ext.getStore('cms.cmsCmpPayTypeAllStore');
store1.removeAll();
store1.getProxy().setExtraParam('datatype', 'cmsCmpPayTypeAll');
store1.getProxy().setExtraParam('datakey', record.get("CardCode"));
store1.load({
params: {
start: 0,
limit: 1000
}
});
store1.currentPage = 1;
};
},
cmsCostOrderPayAlertButton: function () {
var records = Ext.getCmp('cmsCostOrderGrid').getSelectionModel().getSelection();
if (records.length == 0) {
Ext.MessageBox.show({
title: "提示", msg: "请先选择您要操作的行!", buttons: Ext.Msg.OK, closable: false
});
return;
}
if (records.length > 1) {
Ext.MessageBox.show({
title: "提示", msg: "仅能指定一行提交数据!", buttons: Ext.Msg.OK, closable: false
});
return;
}
var record = records[0];
Ext.getApplication().loadModule('cms.dmscmsPayInfoController');
var view = Ext.create('Dms.view.cms.dmscmsPayInfoEditWindow', {});
Ext.getCmp('dmscmsPayInfoCardCode').setValue(record.get("CardCode"));
Ext.getCmp('dmscmsPayInfoCardName').setValue(record.get("CardName"));
Ext.getCmp('dmscmsPayInfocmsPhone').setValue(record.get("JXSPhone"));
Ext.getCmp('dmscmsPayInfoPaidTotal').setValue(record.get("DocTotal"));
Ext.getCmp('dmscmsPayInfoDocType').setValue("配件采购");
Ext.getCmp('dmscmsPayInfoBaseID').setValue(record.get("ID"));
Ext.getCmp('dmscmsPayInfoBaseDocEntry').setValue(record.get("DOCENTRY"));
Ext.getCmp('dmscmsPayInfoDocTotal').setValue(record.get("DocTotal"));
},
cmsCostOrderCardName: function (combo, record, number) {
var modelData = record[0].data;
var Code = modelData.Code;
Ext.getCmp("cmsCostOrderCardCode").setValue(Code);
},
init: function (application) {
this.control({
"button[id='cmsCostOrderFindButton']": {
click: this.onSearchButtonClick
},
"button[id='cmsCostOrderDocButton']": {
click: this.cmsCostOrderDocButton
},
"gridpanel[id='cmsCostOrderGrid']": {
itemdblclick: this.onGridpanelItemDblClick
},
"cmsCostOrdereditwin button[id='cmsCostOrdersubmitButton']": {
click: this.submitButtonClick
},
"cmsCostOrdereditwin button[id='cmsCostOrdercancelButton']": {
click: this.cancelButtonClick
},
"cmsCostOrdereditwin button[id='cmsCostOrder1AddButton']": {
click: this.cmsCostOrder1AddButton
},
"cmsCostOrdereditwin button[id='cmsCostOrder1DeleteButton']": {
click: this.cmsCostOrder1Delete
},
"cmsCostOrdereditwin button[id='cmsCostOrderAttsUploadButton']": {
click: this.cmsCostOrderAttsUploadButton
},
"cmsCostOrdereditwin button[id='cmsCostOrderAttsDeleteButton']": {
click: this.cmsCostOrderAttsDeleteButton
},
"button[id='cmsCostOrderCheckListButton']": {
click: this.cmsCostOrderCheckListButton
},
"button[id='cmsCostOrderDHButton']": {
click: this.cmsCostOrderDHButton
},
"gridpanel[id='cmsCostOrderAttGrid']": {
itemdblclick: this.cmsCostOrderAttGridDblClick
},
"cmsCostOrdereditwin combobox[id='cmsCostOrderCardName']": {
select: this.cmsCostOrderCardName
},
"button[id='cmsCostOrderUpdateButton']": {
click: this.cmsCostOrderUpdate
},
"button[id='cmsCostOrderAddButton']": {
click: this.onAddButtonClick
},
"button[id='cmsCostOrderDeleteButton']": {
click: this.cmsCostOrderDelete
},
"button[id='cmsCostOrderFKButton']": {
click: this.cmsCostOrderFKButton
},
"button[id='cmsCostOrderPrintButton']": {
click: this.cmsCostOrderPrint
},
"button[id='cmsCostOrderPayAlertButton']": {
click: this.cmsCostOrderPayAlertButton
},
"cmsCostOrderpanel": {
afterrender: function (gp) {
this.onAuthority();
}
},
"cmsCostOrdereditwin": {
afterrender: function (gp) {
this.onAuthority();
}
}
});
//Ext.getStore('cms.cmsCmpPayTypeStore').load();
Ext.getStore('cms.cmsWhsListStore').load();
}
});
效果是这样的。
找了很久。很久。也找不到。后来实在是看不下去了。决定要和这个BUG一站到底!
最后才发现是一个小小的失误…… 有多少bug是因为一个小BUG影响大局的。
看分析流程
分析错误:1.数据正常——2.js不报错误——3.分析错误节点 我这个是从类型。开始。大家看代码。代码中用到了getPayType去掉
renderer: getPayType,然后不报错了。
瞬间就知道了是getPayType报错了。后来发现少了 'md.mdDefPayAllStore' store
加上。OK.
结束语:BUG并不可怕,越不想解决他,它在你心目中越高大,越难以解决!回想好多次BUG让别人调试,最后才发现,不是写错单词,就是少写 少引用东西!说到这里我想说,也许处女座会更适合程序猿。但是其他人只要——细心——坚持——没有什么是解决不了的。
view代码是:Ext.define('Dms.view.cms.cmsCostOrderPanel', {
extend: 'Ext.panel.Panel',
alias: 'widget.cmsCostOrderpanel',
height: 575,
width: 902,
///autoScroll: true,
layout: {
type: 'border'
},
initComponent: function () {
var me = this;
function renderAtts(value) {
if (value == true) {
return "<img src='/Content/16Icons/attach.png' />";
}
}
function getPayType(value) {
var rstore = Ext.getStore('md.mdDefPayAllStore');
var index = rstore.find('Code', value);
if (index == -1) //当store中找不到对应id得时候,index为-1
return value;
else {
var name = rstore.getAt(index).get('Name');
return name;
}
};
Ext.applyIf(me, {
items: [
{
xtype: 'gridpanel',
id: 'cmsCostOrderGrid',
region: 'center',
collapsible: false,
columnLines: true,
forceFit: true,
autoScroll: true,
store: 'cms.cmsCostOrderStore',
columns: [
{
xtype: 'gridcolumn',
width: 100,
dataIndex: 'DOCENTRY',
text: '单据编号'
},
{
xtype: 'gridcolumn',
width: 100,
dataIndex: 'SAPName',
renderer: operdesc,
text: '供应商'
},
{
xtype: 'gridcolumn',
width: 100,
dataIndex: 'CardName',
renderer: operdesc,
text: '支出单位'
},
{
xtype: 'gridcolumn',
width: 70,
dataIndex: 'DocDay',
renderer: Ext.util.Format.dateRenderer('Y-m-d'),
text: '单据日期'
},
{
xtype: 'gridcolumn',
width: 70,
dataIndex: 'DocType',
renderer: getPayType,
text: '类型'
},
{
xtype: 'gridcolumn',
width: 70,
dataIndex: 'DocTotal',
renderer: operdesc,
text: '合计'
},
{
xtype: 'gridcolumn',
width: 70,
dataIndex: 'PaidTotal',
renderer: operdesc,
text: '已付'
},
{
xtype: 'gridcolumn',
width: 70,
dataIndex: 'DiffTotal',
renderer: operdesc,
text: '应付'
},
{
xtype: 'gridcolumn',
width: 100,
dataIndex: 'Note',
renderer: operdesc,
text: '备注'
},
{
xtype: 'gridcolumn',
width: 100,
dataIndex: 'AppDate',
renderer: Ext.util.Format.dateRenderer('Y-m-d'),
text: '回复日期'
},
{
xtype: 'gridcolumn',
width: 100,
dataIndex: 'APPStatus',
renderer: changeColor,
text: '审批状态'
},
{
xtype: 'checkcolumn',
width: 60,
disabled: 'true',
renderer: operdesc,
dataIndex: 'IsAPP',
text: '提报'
},
{
width: 40,
dataIndex: 'IsAtts',
renderer: renderAtts,
text: '附件'
},
{
xtype: 'gridcolumn',
width: 100,
dataIndex: 'Status',
renderer: changeColor,
text: '单据状态'
}
],
viewConfig: {
enableTextSelection: true
},
dockedItems: [
{
xtype: 'pagingtoolbar',
dock: 'bottom',
id: 'cmsCostOrderPagginCtr',
width: 360,
displayInfo: true,
store: 'cms.cmsCostOrderStore'
},
{
xtype: 'toolbar',
dock: 'top',
items: [
{
xtype: 'button',
shrinkWrap: 1,
id: 'cmsCostOrderDocButton',
icon: "/Content/16Icons/windows.png",
text: '明细'
},
{
xtype: 'button',
shrinkWrap: 1,
id: 'cmsCostOrderAddButton',
icon: "/Content/16Icons/add.png",
text: '添加'
},
{
xtype: 'button',
shrinkWrap: 1,
id: 'cmsCostOrderFindButton',
icon: "/Content/16Icons/page_find.png",
text: '查找'
}, {
xtype: 'button',
id: 'cmsCostOrderDeleteButton',
icon: "/Content/16Icons/cancel.png",
text: '取消'
},'|',
{
xtype: 'button',
id: 'cmsCostOrderUpdateButton',
icon: "/Content/16Icons/page_go.png",
text: '提报'
},
{
xtype: 'button',
id: 'cmsCostOrderCheckListButton',
icon: "/Content/16Icons/arrow_branch.png",
text: '审批进程'
}, '|',
{
xtype: 'button',
id: 'cmsCostOrderFKButton',
icon: "/Content/16Icons/doc_convert.png",
text: '付款'
},
{
xtype: 'button',
id: 'cmsCostOrderDHButton',
10273
icon: "/Content/16Icons/doc_text_image.png",
text: '付款清单'
}, '|',
{
xtype: 'button',
id: 'cmsCostOrderPrintButton',
icon: "/Content/16Icons/printer.png",
text: '打印'
}
//, '->',
//{
// xtype: 'button',
// id: 'cmsCostOrderPayAlertButton',
// icon: "/Content/16Icons/money.png",
// text: '付款提示'
//}
]
}
],
selModel: Ext.create('Ext.selection.CheckboxModel', {
ignoreRightMouseSelection: true
})
}
]
});
me.callParent(arguments);
}
});
Controller代码
Ext.define('Dms.controller.cms.cmsCostOrderController', {
extend: 'Ext.app.Controller',
models: [
'cms.cmsCostOrderModel',
'cms.cmsCostOrder1Model',
'cms.cmsDocAttsModel',
'neu.dmsPageNoActionModel',
'neu.dmsCodeNameModel'
],
stores: [
'cms.cmsCostOrderStore',
'cms.cmsCostOrder1Store',
'cms.cmsDocAttsStore',
'cms.cmsWhsListStore',
'cms.cmsCmpPayTypeStore',
'md.mdDefPayAllStore',//bug
'neu.dmsPageNoActionStore'
],
views: [
'cms.cmsCostOrderPanel',
'cms.cmsCostOrderEditWindow'
],
loadModel: function () {
},
loadView: function () {
},
onSearchButtonClick: function (button, e, options) {
Ext.getApplication().loadModule('neu.dmsBaseSearchController');
var view = Ext.create('Dms.view.neu.dmsBaseSearchWindow', {});
Ext.getCmp('dmsBaseSearchStoreID').setValue('cms.cmsCostOrderStore');
var cntStore = Ext.getStore('neu.dmsSearchCdnStore');
cntStore.removeAll();
cntStore.load({
params: {
type: 'cmsCostOrder'
}
});
},
cmsCostOrderDocButton: function () {
var records = Ext.getCmp('cmsCostOrderGrid').getSelectionModel().getSelection();
if (records.length == 0) {
Ext.MessageBox.show({
title: "提示", msg: "请先选择您要操作的行!", buttons: Ext.Msg.OK, closable: false
});
return;
}
var record = records[0];
this.loadData(record);
},
onGridpanelItemDblClick: function (tablepanel, record, item, index, e, options) {
this.loadData(record);
},
loadData: function (record) {
//var store3 = Ext.getStore('cms.cmsCmpPayTypeStore');
//store3.getProxy().setExtraParam('p1', getCookie("CmpType"));
//store3.getProxy().setExtraParam('p2', Ext.getCmp('cmsCostOrderCardCode').getValue());
//store3.load({
// params: {
// start: 0,
// limit: 1000
// },
//});
//store3.load();
var view = Ext.create('Dms.view.cms.cmsCostOrderEditWindow', {});
view.down('form').loadRecord(record);
var ID = Ext.getCmp('cmsCostOrderID').getValue();
var store1 = Ext.getStore('cms.cmsCostOrder1Store');
store1.getProxy().setExtraParam('CdnField', 'ID');
store1.getProxy().setExtraParam('Cdn', '等于');
store1.getProxy().setExtraParam('CdnValue', ID);
store1.load({
params: {
start: 0,
limit: 1000
}
});
store1.currentPage = 1;
var store2 = Ext.getStore('cms.cmsDocAttsStore');
store2.getProxy().setExtraParam('ID', ID);
store2.getProxy().setExtraParam('AttsDocType', 'cmsCostOrder');
store2.load({
params: {
start: 0,
limit: 1000
}
});
store2.currentPage = 1;
Ext.getCmp('cmsCostOrderCode').setReadOnly(true);
Ext.getCmp('cmsCostOrderDocType').setReadOnly(true);
//已经通过审核的禁止编辑
var appstatus = record.get('APPStatus');
if (getCookie("IsGroupUser") == 'N' & appstatus == "审批通过") {
Ext.getCmp('cmsCostOrdersubmitButton').setDisabled(true);
}
},
submitButtonClick: function (button) {
var win = button.up('window');
var form = win.down('form');
var record = form.getRecord();
var values = form.getValues();
var inRecord = Ext.create('Dms.model.cms.cmsCostOrderModel', form.getValues());
var errors = inRecord.validate();
if (errors.isValid()) {
Ext.getStore('cms.cmsCostOrder1Store').commitChanges();
Ext.getStore('cms.cmsDocAttsStore').commitChanges();
var bean = Ext.JSON.encode(inRecord.data);
var beanlist = this.getStore('cms.cmsCostOrder1Store');
var strJsonData = "";
var array = [];
for (var i = 0; i < beanlist.getCount() ; i++) {
var record2 = beanlist.getAt(i);
Ext.Array.include(array, record2.data)
};
strJsonData += Ext.JSON.encode(array);
var attlist = this.getStore('cms.cmsDocAttsStore');
var strJsonAttData = "";
var arrayAtt = [];
for (var i = 0; i < attlist.getCount() ; i++) {
var record2 = attlist.getAt(i);
Ext.Array.include(arrayAtt, record2.data)
};
strJsonAttData += Ext.JSON.encode(arrayAtt);
if (record) {
var status = record.get('APPStatus');
if (status == '审批通过' || status == '系统审批') {
Ext.MessageBox.show({
title: "提示", msg: "已通过审批的单据禁止修改!", buttons: Ext.Msg.OK, closable: false
});
return;
}
Ext.Ajax.request({
url: '../cmsCostOrder/UpdatecmsCostOrder',
params: {
bean: bean,
beanlist: strJsonData,
attlist: strJsonAttData
},
method: 'POST',
// timeout : 2000,//默认30秒
success: function (response, opts) {
// store.loadPage(1);
var result = Ext.decode(response.responseText);
var success = result.success;
// 当后台数据同步成功时
if (success) {
Ext.getStore('cms.cmsCostOrderStore').load();
win.close();
} else {
Ext.getStore('cms.cmsCostOrderStore').rejectChanges();
Ext.MessageBox.show({
title: "系统提示",
msg: "数据添加失败!" + result.msg,
buttons: Ext.Msg.OK,
closable: false
});
}
}
});
}
else {
Ext.Ajax.request({
url: '../cmsCostOrder/InsertcmsCostOrder',
params: {
bean: bean,
beanlist: strJsonData,
attlist: strJsonAttData
},
method: 'POST',
// timeout : 2000,//默认30秒
success: function (response, opts) {
// store.loadPage(1);
var result = Ext.decode(response.responseText);
var success = result.success;
// 当后台数据同步成功时
if (success) {
Ext.getStore('cms.cmsCostOrderStore').load();
win.close();
} else {
Ext.getStore('cms.cmsCostOrderStore').remove(inRecord);
Ext.MessageBox.show({
title: "系统提示",
msg: "数据添加失败!" + result.msg,
buttons: Ext.Msg.OK,
closable: false
});
}
}
});
}
}
//校验输入错误
else {
var message = [];
errors.each(function (v) {
message.push(v.field + ' : ' + v.message)
});
Ext.MessageBox.show({
title: "输入提示",
msg: "数据不正确:!" + message.join('\n'),
buttons: Ext.Msg.OK,
closable: false
});
}
},
cancelButtonClick: function (button) {
var win = button.up('window');
win.close();
},
onAddButtonClick: function (target) {
var view = Ext.create('Dms.view.cms.cmsCostOrderEditWindow', {});
if (getCookie("CmpType") == "门店") {
Ext.getCmp('cmsCostOrderCardCode').setValue(getCookie("cmpCode"));
Ext.getCmp('cmsCostOrderCardName').setReadOnly(true);
Ext.getCmp('cmsCostOrderCardName').setValue(getCookie("companyName"));
//跳转到onchange事件
}
var store1 = Ext.getStore('cms.cmsCostOrder1Store');
store1.removeAll();
var store2 = Ext.getStore('cms.cmsDocAttsStore');
store2.removeAll();
//getCookie("companyName")
},
onAuthority: function () {
var cmsCostOrderPageNoAction = strArray.query("PageId", "cmsCostOrderpanel");
if (typeof (eval(cmsCostOrderPageNoAction)) == "undefined") {
return;
}
for (var i = 0; i < cmsCostOrderPageNoAction.getCount() ; i++) {
var record = cmsCostOrderPageNoAction.getAt(i);
var userId = record.get('ActionId');
var btnCop = Ext.getCmp(userId);
if (typeof (eval(btnCop)) != "undefined") {
btnCop.setDisabled(true);
};
};
},
cmsCostOrderDelete: function () {
Ext.Msg.confirm("提示信息", "确定要删除列表中勾选的选项?", function callback(id) {
if (id == "yes") {
var data = Ext.getCmp('cmsCostOrderGrid').getSelectionModel().getSelection();
if (data.length == 0) {
Ext.MessageBox.show({
title: "提示",
buttons: Ext.Msg.OK,
msg: "请先选择您要操作的行!"
// icon: Ext.MessageBox.INFO
});
return;
}
else {
Ext.Array.each(data, function (record) {
var Id = record.get('ID');
var status = record.get('Status');
var IsSAP = record.get('IsSAP');
if (status == '已清' || status == '厂家订单') {
Ext.MessageBox.show({
title: "提示", msg: DOCENTRY + "仅状态为草稿或未清的单据能取消!", buttons: Ext.Msg.OK, closable: false
});
return;
}
if (IsSAP == true) {
Ext.MessageBox.show({
title: "提示", msg: DOCENTRY + "已经传递至SAP系统中,不允许删除!", buttons: Ext.Msg.OK, closable: false
});
return;
}
//如果删除的是幻影数据,则id就不传递到后台了,直接在前台删除即可
if (Id) {
Ext.Ajax.request({
url: '../cmsCostOrder/DeletecmsCostOrder',
params: {
bean: Id
},
method: 'POST',
// timeout : 2000,//默认30秒
success: function (response, opts) {
var result = Ext.decode(response.responseText);
// 当后台数据同步成功时
if (result.success) {
Ext.getStore('cms.cmsCostOrderStore').reload();
} else {
Ext.MessageBox.show({
title: "提示",
buttons: Ext.Msg.OK,
msg: "数据删除失败!" + result.msg
});
}
}
});
};
});
};
};
});
},
cmsCostOrder1Delete: function (button) {
var store = Ext.getStore('cms.cmsCostOrder1Store');
var records = Ext.getCmp('cmsCostOrder1Grid').getSelectionModel().getSelection();
Ext.each(records, function (record) {
store.remove(record);
})
},
cmsCostOrder1AddButton: function (button) {
dmsBaseChooseTreeType = 'cmsCostOrder1';
dmsBaseChooseTreeKey = Ext.getCmp('cmsCostOrderDocType').getValue();
if (dmsBaseChooseTreeKey == undefined || dmsBaseChooseTreeKey == '' || dmsBaseChooseTreeKey == null) {
Ext.MessageBox.show({
title: "提示", msg: "请先选择支出类型!", buttons: Ext.Msg.OK, closable: false
});
return;
}
Ext.getApplication().loadModule('neu.dmsBaseChooseTreeController');
var view = Ext.create('Dms.view.neu.dmsBaseChooseTreeWindow', {});
Ext.getCmp('dmsBaseChooseTreeFromID').setValue('cmsCostOrder1');
var fromStore = Ext.getStore('neu.dmsBaseChooseFromStore');
fromStore.removeAll();
var toStore = Ext.getStore('neu.dmsBaseChooseToStore');
toStore.removeAll();
},
cmsCostOrderUpdate: function () {
Ext.Msg.confirm("提示信息", "确定要上报列表中勾选的选项?", function callback(id) {
if (id == "yes") {
var data = Ext.getCmp('cmsCostOrderGrid').getSelectionModel().getSelection();
if (data.length == 0) {
Ext.MessageBox.show({
title: "提示", msg: "请先选择您要操作的行!", buttons: Ext.Msg.OK, closable: false
});
return;
}
else {
Ext.Array.each(data, function (record) {
var ID = record.get('ID');
var appstatus = record.get('APPStatus');
if (appstatus == '审批通过') {
Ext.MessageBox.show({
title: "提示", msg: "通过审批的不能再次提报,或取消后提报!", buttons: Ext.Msg.OK, closable: false
});
return;
}
//如果删除的是幻影数据,则id就不传递到后台了,直接在前台删除即可
if (ID) {
Ext.Ajax.request({
url: '../cmsCostOrder/UploadAPP',
params: {
ID: ID
},
method: 'POST',
// timeout : 2000,//默认30秒
success: function (response, opts) {
var success = Ext.decode(response.responseText).success;
var msg = Ext.decode(response.responseText).msg;
// 当后台数据同步成功时
if (success) {
Ext.getStore('cms.cmsCostOrderStore').load();
Ext.MessageBox.show({
title: "提示",
msg: msg,
buttons: Ext.Msg.OK,
closable: false
});
} else {
Ext.MessageBox.show({
title: "提示",
msg: msg,
buttons: Ext.Msg.OK,
closable: false
});
}
}
});
};
});
};
};
});
},
cmsCostOrderPrint: function (button) {
var records = Ext.getCmp('cmsCostOrderGrid').getSelectionModel().getSelection();
var record = records[0];
if (record) {
var ID = record.get('ID');
DmsPrintModel('cmsCostOrder', ID);
} else {
Ext.MessageBox.show({
title: "提示",
msg: "请选择需要打印的单据!",
buttons: Ext.Msg.OK,
closable: false
});
}
},
cmsCostOrderAttsUploadButton: function (button) {
var win = button.up('window');
var form = win.down('form');
var upfile = Ext.getCmp('cmsCostOrderAttsFile').getValue();
form.submit({
url: '../cmsDocAtts/upload',
waitMsg: '正在上传附件...',
success: function (fp, o) {
if (o.result.success == true) {
var fileName = o.result.fileName;
var filePath = o.result.filePath;
var store = Ext.getStore('cms.cmsDocAttsStore');
var data = [{
'AttsPath': filePath,
'AttsFileName': fileName
}];
store.loadData(data, true);
Ext.Msg.alert('提示信息', o.result.msg);
} else {
Ext.Msg.alert('提示信息', o.result.msg);
}
},
failure: function (fp, o) {
Ext.Msg.alert('上传失败!' + o.result.msg);
}
});
},
cmsCostOrderAttsDeleteButton: function (button) {
var data = Ext.getCmp('cmsCostOrderAttGrid').getSelectionModel().getSelection();
if (data.length == 0) {
Ext.MessageBox.show({
title: "提示",
buttons: Ext.Msg.OK,
msg: "请先选择您要操作的行!"
// icon: Ext.MessageBox.INFO
});
return;
}
else {
Ext.Array.each(data, function (record) {
var filePath = record.get('AttsPath');
//如果删除的是幻影数据,则id就不传递到后台了,直接在前台删除即可
if (filePath) {
Ext.Ajax.request({
url: '../cmsDocAtts/deleteFile',
params: {
fileName: filePath
},
waitMsg: '正在删除附件...',
method: 'POST',
// timeout : 2000,//默认30秒
success: function (response, opts) {
var result = Ext.decode(response.responseText);
// 当后台数据同步成功时
if (result.success) {
Ext.Array.each(data, function (record) {
var store = Ext.getStore('cms.cmsDocAttsStore');
store.remove(record); // 页面效果
Ext.MessageBox.show({
title: "提示",
buttons: Ext.Msg.OK,
msg: "删除成功"
});
});
} else {
Ext.MessageBox.show({
title: "提示",
buttons: Ext.Msg.OK,
msg: result.msg
});
}
}
});
};
});
};
},
cmsCostOrderAttGridDblClick: function (tablepanel, record, item, index, e, options) {
var path = record.data.AttsPath;
var fileName = record.data.AttsFileName;
location.href = "../cmsDocAtts/DownloadFiles?path=" + path + "&fileName=" + fileName;
//location.open = "../cmsDocAtts/DownloadFiles?path=" + path + "&fileName=" + fileName;
},
cmsCostOrderCheckListButton: function (button) {
var records = Ext.getCmp('cmsCostOrderGrid').getSelectionModel().getSelection();
var record = records[0];
if (record) {
var DOCENTRY = record.get('ID');
Ext.getApplication().loadModule('neu.dmsBaseAppController');
var view = Ext.create('Dms.view.neu.dmsBaseAppListWindow', {});
var dmsAPPDocListStore = Ext.getStore('neu.dmsBaseAppStore');
dmsAPPDocListStore.getProxy().setExtraParam('docType', 'cmsCostOrder');
dmsAPPDocListStore.getProxy().setExtraParam('docEntry', DOCENTRY);
dmsAPPDocListStore.load({
callback: function (records, options, success) {
Ext.getCmp('dmsBaseAppListEditGrid').view.refresh();
}
});
}
},
cmsCostOrderDHButton: function () {
var records = Ext.getCmp('cmsCostOrderGrid').getSelectionModel().getSelection();
var record = records[0];
if (record) {
var ID = record.get('DOCENTRY');
var ReportType = 'cmsCostOrderFromSAP';
var centerContiner = Ext.getCmp('CenterTabPanel');
var datagridPanel = Ext.create('Ext.panel.Panel', {
id: newGuid() + 'Panel',
closable: true,
region: 'center',
html: "<iframe src='../Report/showReportInFunction.aspx?ID=" + ID + "&ReportType=" + ReportType + "' style='width:100%; height:100%;'></iframe>",
title: '付款清单:' + ID
});
centerContiner.add(datagridPanel);
centerContiner.setActiveTab(datagridPanel);
}
},
cmsCostOrderFKButton: function () {
var data = Ext.getCmp('cmsCostOrderGrid').getSelectionModel().getSelection();
if (data.length == 0) {
Ext.MessageBox.show({
title: "提示", msg: "请先选择您要操作的行!", buttons: Ext.Msg.OK, closable: false
});
return;
}
else {
var record = data[0];
var ID = record.get('ID');
Ext.getApplication().loadModule('cms.cmsCostOrderPayInfoController');
var view = Ext.create('Dms.view.cms.cmsCostOrderPayInfoEditWindow', {});
Ext.getCmp('cmsCostOrderPayInfoBaseDocEntry').setValue(record.get("DOCENTRY"));
Ext.getCmp('cmsCostOrderPayInfoBaseID').setValue(record.get("ID"));
Ext.getCmp('cmsCostOrderPayInfoCardCode').setValue(record.get("CardCode"));
Ext.getCmp('cmsCostOrderPayInfoCardName').setValue(record.get("CardName"));
Ext.getCmp('cmsCostOrderPayInfoSAPCode').setValue(record.get("SAPCode"));
Ext.getCmp('cmsCostOrderPayInfoSAPName').setValue(record.get("SAPName"));
//cmsCostOrderPayInfoDocType
Ext.getCmp('cmsCostOrderPayInfoDocType').setValue("cmsCostOrder");
//cmsCostOrderPayInfoDocTotal
var total = record.get("DocTotal");
var paid = record.get("PaidTotal");
Ext.getCmp('cmsCostOrderPayInfoDocTotal').setValue(total);
Ext.getCmp('cmsCostOrderPayInfoPaidTotal').setValue(total - paid);
var store2 = Ext.getStore('cms.cmsDocAttsStore');
store2.removeAll();
var store1 = Ext.getStore('cms.cmsCmpPayTypeAllStore');
store1.removeAll();
store1.getProxy().setExtraParam('datatype', 'cmsCmpPayTypeAll');
store1.getProxy().setExtraParam('datakey', record.get("CardCode"));
store1.load({
params: {
start: 0,
limit: 1000
}
});
store1.currentPage = 1;
};
},
cmsCostOrderPayAlertButton: function () {
var records = Ext.getCmp('cmsCostOrderGrid').getSelectionModel().getSelection();
if (records.length == 0) {
Ext.MessageBox.show({
title: "提示", msg: "请先选择您要操作的行!", buttons: Ext.Msg.OK, closable: false
});
return;
}
if (records.length > 1) {
Ext.MessageBox.show({
title: "提示", msg: "仅能指定一行提交数据!", buttons: Ext.Msg.OK, closable: false
});
return;
}
var record = records[0];
Ext.getApplication().loadModule('cms.dmscmsPayInfoController');
var view = Ext.create('Dms.view.cms.dmscmsPayInfoEditWindow', {});
Ext.getCmp('dmscmsPayInfoCardCode').setValue(record.get("CardCode"));
Ext.getCmp('dmscmsPayInfoCardName').setValue(record.get("CardName"));
Ext.getCmp('dmscmsPayInfocmsPhone').setValue(record.get("JXSPhone"));
Ext.getCmp('dmscmsPayInfoPaidTotal').setValue(record.get("DocTotal"));
Ext.getCmp('dmscmsPayInfoDocType').setValue("配件采购");
Ext.getCmp('dmscmsPayInfoBaseID').setValue(record.get("ID"));
Ext.getCmp('dmscmsPayInfoBaseDocEntry').setValue(record.get("DOCENTRY"));
Ext.getCmp('dmscmsPayInfoDocTotal').setValue(record.get("DocTotal"));
},
cmsCostOrderCardName: function (combo, record, number) {
var modelData = record[0].data;
var Code = modelData.Code;
Ext.getCmp("cmsCostOrderCardCode").setValue(Code);
},
init: function (application) {
this.control({
"button[id='cmsCostOrderFindButton']": {
click: this.onSearchButtonClick
},
"button[id='cmsCostOrderDocButton']": {
click: this.cmsCostOrderDocButton
},
"gridpanel[id='cmsCostOrderGrid']": {
itemdblclick: this.onGridpanelItemDblClick
},
"cmsCostOrdereditwin button[id='cmsCostOrdersubmitButton']": {
click: this.submitButtonClick
},
"cmsCostOrdereditwin button[id='cmsCostOrdercancelButton']": {
click: this.cancelButtonClick
},
"cmsCostOrdereditwin button[id='cmsCostOrder1AddButton']": {
click: this.cmsCostOrder1AddButton
},
"cmsCostOrdereditwin button[id='cmsCostOrder1DeleteButton']": {
click: this.cmsCostOrder1Delete
},
"cmsCostOrdereditwin button[id='cmsCostOrderAttsUploadButton']": {
click: this.cmsCostOrderAttsUploadButton
},
"cmsCostOrdereditwin button[id='cmsCostOrderAttsDeleteButton']": {
click: this.cmsCostOrderAttsDeleteButton
},
"button[id='cmsCostOrderCheckListButton']": {
click: this.cmsCostOrderCheckListButton
},
"button[id='cmsCostOrderDHButton']": {
click: this.cmsCostOrderDHButton
},
"gridpanel[id='cmsCostOrderAttGrid']": {
itemdblclick: this.cmsCostOrderAttGridDblClick
},
"cmsCostOrdereditwin combobox[id='cmsCostOrderCardName']": {
select: this.cmsCostOrderCardName
},
"button[id='cmsCostOrderUpdateButton']": {
click: this.cmsCostOrderUpdate
},
"button[id='cmsCostOrderAddButton']": {
click: this.onAddButtonClick
},
"button[id='cmsCostOrderDeleteButton']": {
click: this.cmsCostOrderDelete
},
"button[id='cmsCostOrderFKButton']": {
click: this.cmsCostOrderFKButton
},
"button[id='cmsCostOrderPrintButton']": {
click: this.cmsCostOrderPrint
},
"button[id='cmsCostOrderPayAlertButton']": {
click: this.cmsCostOrderPayAlertButton
},
"cmsCostOrderpanel": {
afterrender: function (gp) {
this.onAuthority();
}
},
"cmsCostOrdereditwin": {
afterrender: function (gp) {
this.onAuthority();
}
}
});
//Ext.getStore('cms.cmsCmpPayTypeStore').load();
Ext.getStore('cms.cmsWhsListStore').load();
}
});
相关文章推荐
- extjs grid取到数据而不显示的解决
- ExtJS下grid的一些属性说明
- Extjs在exlipse中设置自动提示的方法
- 常用Extjs工具:Extjs.util.Format使用方法
- extjs DataReader、JsonReader、XmlReader的构造方法
- 学习ExtJS(一) 之基础前提
- extjs 为某个事件设置拦截器
- ExtJs 学习笔记基础篇 Ext组件的使用第1/2页
- Extjs列表详细信息窗口新建后自动加载解决方法
- Extjs grid添加一个图片状态或者按钮的方法
- Extjs学习笔记之四 工具栏和菜单
- extjs form textfield的隐藏方法
- ExtJS 2.0实用简明教程之应用ExtJS
- ExtJS Store的数据访问与更新问题
- 不用写JS也能使用EXTJS视频演示
- Extjs改变树节点的勾选状态点击按钮将复选框去掉
- extjs 列表框(multiselect)的动态添加列表项的方法
- ExtJs默认的字体大小改变的几种方法(自己整理)
- ExtJS 4.2 Grid组件单元格合并的方法
- ExtJS 配置和表格控件使用第1/2页