|
|
@@ -225,23 +225,44 @@ Ext.define('saas.view.core.form.field.DetailGridField', {
|
|
|
records = store.getData().items,
|
|
|
selectedRecord = records.find(function(r) {
|
|
|
return r.get(detnoColumn) == v;
|
|
|
- }),
|
|
|
- detno = 0;
|
|
|
+ });
|
|
|
+
|
|
|
+ store.each(function(item){
|
|
|
+ var t = item.data[detnoColumn];
|
|
|
+ if(t > v) {
|
|
|
+ item.set(detnoColumn, t + 1);
|
|
|
+ }
|
|
|
+ });
|
|
|
|
|
|
- //当前行后序号全部加1
|
|
|
- if(selectedRecord){
|
|
|
- detno = selectedRecord.data[detnoColumn];
|
|
|
- var store = me.store;
|
|
|
- store.each(function(item){
|
|
|
- var t = item.data[detnoColumn];
|
|
|
- if(Number(t) > detno) {
|
|
|
- item.set(detnoColumn, Number(t) + 1);
|
|
|
- }
|
|
|
- });
|
|
|
- }
|
|
|
var data = d || {};
|
|
|
- data[detnoColumn] = detno + 1;
|
|
|
+ data[detnoColumn] = v + 1;
|
|
|
var r = store.insert(store.indexOf(selectedRecord) + 1, data);
|
|
|
+
|
|
|
+ store.each(function(s) {
|
|
|
+ var itemFields = s.fields,
|
|
|
+ itemData = s.getData(),
|
|
|
+ dirtyFields = [];
|
|
|
+
|
|
|
+ for(var x = 0; x < itemFields.length; x++) {
|
|
|
+ var field = itemFields[x],
|
|
|
+ name = field.name,
|
|
|
+ type = field.type;
|
|
|
+
|
|
|
+ if(type == 'int' && itemData[name] == 0) {
|
|
|
+ }else if(type == 'string' && itemData[name] == '') {
|
|
|
+ }else if(type == 'float' && itemData[name] == 0) {
|
|
|
+ }else if(type == 'date' && itemData[name] == null) {
|
|
|
+ }else {
|
|
|
+ dirtyFields.push(name);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 如果有有效数据(非ID和序号列)才算dirty,否则直接commit
|
|
|
+ if(dirtyFields.length == 2 && Ext.Array.contains(dirtyFields, 'id') && Ext.Array.contains(dirtyFields, detnoColumn)) {
|
|
|
+ s.commit()
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
me.fireEvent('validChange');
|
|
|
return r;
|
|
|
},
|