页面:
Ext.define('Admin.view.cus.cusPutrecord.PutrecordTraiffBillListView', {
extend: 'Ext.grid.Panel',
xtype: 'putrecordtraiffbilllist',
bind: '{putrecordTraiffBillStore}',
// selType: "cellmodel",
selModel: {
selType: 'checkboxmodel',
mode: 'MULTI'
},
requires: [
'Admin.store.bas.PutrecordTraiffBillStore'
],
columnLines: true,
// forceFit: true,
// stateful: true,
border: 0,
viewConfig: {
enableTextSelection: true //可以复制单元格文字
},
dockedItems: [
{
xtype: 'form',
dock: 'top',
//defaultType: 'textfield',
style: 'border-radius: 0px 0px 0px 0px;',
bodyPadding: '5 0 0 0',
frame: true,
layout: 'column'
}, {
xtype: 'toolbar',
dock: 'top',
items: [{
xtype: 'label',
html: "<strong><font> 费用阶梯</font></strong>"
}, {
iconCls: 'x-fa fa-question-circle',
action: 'operating_instruction'
}, '->', {
iconCls: 'x-fa fa-plus-circle',
text: '新建',
handler: 'putrecordtraiffbillAdd'
}, {
iconCls: 'x-fa fa-minus-circle',
text: '删除',
handler: 'putrecordtraiffbillDel'
},
{
iconCls: 'x-fa fa-check',
text: '保存',
handler:'savePutrecordDetailTraiff',
}]
}, {
xtype: 'pagingtoolbar',
bind: '{putrecordTraiffBillStore}',
dock: 'bottom',
plugins: {
ptype: 'comboPageSize'
},
displayInfo: true
}],
columns: [
{
header: '取值数量', dataIndex: 'stepNo', name: 'stepNo',style : {'text-align' : 'left'},align: 'right',
editor: {
xtype: 'numberfield',
hideTrigger: true,
decimalPrecision: 5,
listeners: {
specialkey: function (field, e) {
if (e.getKey() === e.ENTER) {
setTimeout(function () {
var grid = field.up('grid');
var store = grid.getStore();
var selectData = grid.getSelectionModel().getSelection()[0];
var dataIndex = store.indexOf(selectData);
var edit = grid.getPlugin();
edit.startEditByPosition({
row: dataIndex + 1,
column: 1
});
}, 500);
}
}
}
}
},
{
header: '单价', dataIndex: 'stepPrice', name: 'stepPrice',style : {'text-align' : 'left'},align: 'right',
editor: {
xtype: 'numberfield',
hideTrigger: true,
decimalPrecision: 5,
listeners: {
specialkey: function (field, e) {
if (e.getKey() === e.ENTER) {
setTimeout(function () {
var grid = field.up('grid');
var store = grid.getStore();
var selectData = grid.getSelectionModel().getSelection()[0];
var dataIndex = store.indexOf(selectData);
var edit = grid.getPlugin();
edit.startEditByPosition({
row: dataIndex + 1,
column: 2
});
}, 500);
}
}
}
}
},
{
header: '单价单位', dataIndex: 'stepPriceUnit', name: 'stepPrice',
editor: {
xtype: 'numberfield',
hideTrigger: true,
decimalPrecision: 5,
listeners: {
specialkey: function (field, e) {
if (e.getKey() === e.ENTER) {
setTimeout(function () {
var grid = field.up('grid');
var store = grid.getStore();
var selectData = grid.getSelectionModel().getSelection()[0];
var dataIndex = store.indexOf(selectData);
var edit = grid.getPlugin();
edit.startEditByPosition({
row: dataIndex + 1,
column: 3
});
}, 500);
}
}
}
}
},
{
header: '保底金额', dataIndex: 'bottomPrice', name: 'bottomPrice1',style : {'text-align' : 'left'},align: 'right',
editor: {
xtype: 'numberfield',
hideTrigger: true,
decimalPrecision: 5,
listeners: {
specialkey: function (field, e) {
if (e.getKey() === e.ENTER) {
setTimeout(function () {
var grid = field.up('grid');
var store = grid.getStore();
var selectData = grid.getSelectionModel().getSelection()[0];
var dataIndex = store.indexOf(selectData);
var edit = grid.getPlugin();
edit.startEditByPosition({
row: dataIndex + 1,
column: 4
});
}, 500);
}
}
}
}
},
{
header: '备注', dataIndex: 'remark', name: 'remark',
editor: {
xtype: 'textfield',
listeners: {
specialkey: function (field, e) {
if (e.getKey() === e.ENTER) {
setTimeout(function () {
var grid = field.up('grid');
var store = grid.getStore();
var selectData = grid.getSelectionModel().getSelection()[0];
var dataIndex = store.indexOf(selectData);
var edit = grid.getPlugin();
edit.startEditByPosition({
row: dataIndex + 1,
column: 5
});
}, 500);
}
}
}
}
},
{header: '编号', dataIndex: 'tariffId', hidden: true},
{header: '创建人', dataIndex: 'createUserName', hidden: true},
{
header: '创建时间',
dataIndex: 'createDate',
xtype: 'datecolumn',
format: 'Y-m-d H:i:s',
align: 'center',
hidden: true
},
{header: '修改人', dataIndex: 'updateUserName', hidden: true},
{
header: '修改时间',
dataIndex: 'updateDate',
xtype: 'datecolumn',
format: 'Y-m-d H:i:s',
align: 'center',
hidden: true
}
],
/* plugins: [Ext.create('Ext.grid.plugin.CellEditing', {
clicksToEdit: 1
})]*/
plugins: {
ptype: 'cellediting',
clicksToEdit: 1
}
});
con:
putrecordtraiffbillAdd: function (button) {
//费用阶梯新增按钮触发
// var grid=this.lookupReference("putrecorddetaillist");
var grid = Ext.ComponentQuery.query('putrecorddetaillist',null,true);
var records=grid.getSelectionModel().getSelection();
if(records.length===1){
var grid1 = button.up('grid');// 获得表格数据
var store = grid1.getStore('putrecordTraiffBillStore');
var p = {
stepNo:'',
stepPrice:'',
stepPriceUnit:'',
bottomPrice1:'',
remark:''
}
store.insert(store.data.items.length, p);
}else{
Ext.Msg.alert("提示", '请选择费用项表的一行数据');
}
},
新增保存&删除:
savePutrecordDetailTraiff: function (button) {
// 子点击保存触发
var me = this;
var grid = button.up("grid");
var store = me.getStore("billingLadderStore");
var putrecordList = new Array();
var form = grid.down('form').getForm();
if (form.isValid()) {
for (var i = 0; i < store.getCount(); i++) {
var record = store.getAt(i);
putrecordList.push(record.data);
}
var mainValue = grid.down('form').getForm().getValues();
var main = Ext.ComponentQuery.query('billingSchemeDetailListView', null, true);
var headRecords = main.getSelectionModel().getSelection();
// var mainRecords=me.getPutrecordlist().getSelectionModel().getSelection();
const billingDetailId = headRecords[0].data.billingDetailId;
mainValue.ladderList = putrecordList;
mainValue.billingDetailId = billingDetailId
Ext.Ajax.request({
url: 'cus/billing/saveBillingLadder',
/* params: form.getValues(), */
jsonData: Ext.encode(mainValue),
method: 'POST',
success: function (response) {
var o = Ext.decode(response.responseText.toString());
if (o.success === true) {
// var store=me.getStore("PutrecordDetailStore");
store.proxy.extraParams = {
billingDetailId: billingDetailId
};
store.load();
// me.getStore("putrecordTraiffBillStore").removeAll();
Ext.Msg.alert("提示", "保存成功!");
} else {
Ext.Msg.alert("警告", o.message);
}
},
failure: function (response) {
Ext.Msg.alert("错误", response.responseText);
}
});
}
},
onDelChildClick: function (button) {
// 子表格点击删除按钮触发
var me = this;
// var grid=this.lookupReference('billingSchemeListView');
var pgrid = Ext.ComponentQuery.query('billingSchemeListView', null, true);
var precords = pgrid.getSelectionModel().getSelection();
var store = me.getStore("billingDetailStore");
var grid = button.up("grid");
var records = grid.getSelectionModel().getSelection();
if (records.length > 0) {
Ext.Msg.confirm('询问', '是否确认删除?', function (buttonId) {
if (buttonId === 'yes') {
// console.log(records[0].data.billingDetailId)
var idstr = "";
for (var j = 0; j < records.length; j++) {
if (records[j].data.billingDetailId === null || records[j].data.billingDetailId === "") {
/* 删除已经前台添加一行的数据 */
store.remove(records);
} else {
/* 删除已经添加到后台的数据 */
for (var i = 0; i < records.length; i++) {
if (i === 0) {
idstr = records[i].data.billingDetailId;
} else {
idstr = idstr + "," + records[i].data.billingDetailId;
}
}
Ext.Ajax.post({
url: 'cus/billing/deleteBillingDetail',
params: {
billingDetailIdStr: idstr,
},
method: 'POST',
waitMsg: '正在处理,请稍等...',
}).then(result => {
Ext.Msg.alert("提示", "删除成功!");
var billingId = precords[0].data.billingId;
store.proxy.extraParams = {
billingId: billingId
};
store.loadPage(1);
}).catch(error => {
Ext.Msg.alert("警告", error.message);
});
}
}
}
});
} else {
Ext.Msg.alert("提示", '请选择要删除的数据');
}
},