|
@@ -576,12 +576,13 @@ let rationOprObj = {
|
|
|
me.saveInString(updateArr);
|
|
|
CommonAjax.post('api/mixUpdateRationItems', {sectionId: me.currentSectionId, updateItems: updateArr, addItems: addArr, removeIds: removeIds}, function (rstData) {
|
|
|
let cacheSection = me.updateCache(addArr, updateArr, removeIds, rstData);
|
|
|
- cacheSection.sort(function(a, b){
|
|
|
+ me.sortByCode(cacheSection);
|
|
|
+ /*cacheSection.sort(function(a, b){
|
|
|
let rst = 0;
|
|
|
if (a.code > b.code) rst = 1
|
|
|
else if (a.code < b.code) rst = -1;
|
|
|
return rst;
|
|
|
- });
|
|
|
+ });*/
|
|
|
//add
|
|
|
let curRow = me.workBook.getActiveSheet().getActiveRowIndex();
|
|
|
me.rationSelInit(curRow);
|
|
@@ -705,19 +706,30 @@ let rationOprObj = {
|
|
|
sectionTreeObj.workBook.focus(true);
|
|
|
},
|
|
|
sortByCode: function(arr){
|
|
|
- function compare(){
|
|
|
- return function (a, b) {
|
|
|
- let rst = 0;
|
|
|
- if (a.code > b.code) {
|
|
|
- rst = 1;
|
|
|
- }
|
|
|
- else if (a.code < b.code) {
|
|
|
- rst = -1;
|
|
|
+ arr.sort(function (a, b) {
|
|
|
+ let rst = 0;
|
|
|
+ let splitA = a.code.split('-'),
|
|
|
+ splitB = b.code.split('-');
|
|
|
+ if(splitA[0] > splitB[0]){
|
|
|
+ rst = 1;
|
|
|
+ }
|
|
|
+ else if(splitA[0] < splitB[0]){
|
|
|
+ rst = -1;
|
|
|
+ }
|
|
|
+ else {
|
|
|
+ if(splitA[1] && splitB[1]){
|
|
|
+ let floatA = parseFloat(splitA[1]),
|
|
|
+ floatB = parseFloat(splitB[1]);
|
|
|
+ if(floatA > floatB){
|
|
|
+ rst = 1;
|
|
|
+ }
|
|
|
+ else if(floatA < floatB){
|
|
|
+ rst = -1;
|
|
|
+ }
|
|
|
}
|
|
|
- return rst;
|
|
|
}
|
|
|
- }
|
|
|
- arr.sort(compare());
|
|
|
+ return rst;
|
|
|
+ });
|
|
|
},
|
|
|
saveInString(datas){
|
|
|
for(let i = 0, len = datas.length; i < len; i++){
|