|
@@ -8,7 +8,7 @@ let labourCoeView = {
|
|
|
sheet: null,
|
|
|
needUpdateDatas: [],
|
|
|
|
|
|
- init(){
|
|
|
+ buildSelect(){
|
|
|
let me = this;
|
|
|
|
|
|
function getStdLabourCoeFilesHtml(stdLabourCoeLibs) {
|
|
@@ -26,7 +26,6 @@ let labourCoeView = {
|
|
|
let stdLCHtml = getStdLabourCoeFilesHtml(projectInfoObj.projectInfo.engineeringInfo.artificial_lib);
|
|
|
$("#std_labour_coe_files").html(stdLCHtml);
|
|
|
},
|
|
|
-
|
|
|
buildSheet: function (){
|
|
|
let me = this;
|
|
|
if (me.spread) {
|
|
@@ -51,48 +50,7 @@ let labourCoeView = {
|
|
|
sheet.resumeEvent();
|
|
|
sheet.resumePaint();
|
|
|
},
|
|
|
-
|
|
|
- onCellChanged: function(sender, args){
|
|
|
- var me = labourCoeView;
|
|
|
- if (args.propertyName !== "value"){return;};
|
|
|
- let cell = me.sheet.getCell(args.row, args.col);
|
|
|
- let value = args.newValue;
|
|
|
- let oValue = args.oldValue;
|
|
|
- if (number_util.isNumber(value)) {
|
|
|
- value = value.toDecimal(2);
|
|
|
- me.sheet.suspendEvent();
|
|
|
- cell.value(value);
|
|
|
- me.sheet.resumeEvent();
|
|
|
- me.addNeedUpdateData({ID: cell.tag(), coe: value});
|
|
|
- } else {
|
|
|
- me.sheet.suspendEvent();
|
|
|
- cell.value(oValue); // 屏蔽事件,否则这句会导致死循环
|
|
|
- me.sheet.resumeEvent();
|
|
|
- alert('当前输入的数据类型不正确,请重新输入。');
|
|
|
- }
|
|
|
- },
|
|
|
-
|
|
|
- addNeedUpdateData: function (data) {
|
|
|
- let me = this;
|
|
|
- let isExist = false;
|
|
|
- for (let el of me.needUpdateDatas){
|
|
|
- if (el.ID == data.ID){
|
|
|
- isExist = true;
|
|
|
- el.coe = data.coe;
|
|
|
- return;
|
|
|
- };
|
|
|
- };
|
|
|
- if (!isExist){
|
|
|
- me.needUpdateDatas.push(data);
|
|
|
- }
|
|
|
- },
|
|
|
-
|
|
|
- needSave: function (){
|
|
|
- let me = this;
|
|
|
- return me.needUpdateDatas.length > 0;
|
|
|
- },
|
|
|
-
|
|
|
- loadData(datas){ // 树结构转换二维表显示,行列转换
|
|
|
+ loadCrossData(datas){ // 交叉表:树结构转换二维表显示,行列转换
|
|
|
let me = this;
|
|
|
me.spread.suspendEvent();
|
|
|
me.datas = datas;
|
|
@@ -135,40 +93,92 @@ let labourCoeView = {
|
|
|
};
|
|
|
me.spread.resumeEvent();
|
|
|
},
|
|
|
-
|
|
|
showData(){
|
|
|
let me = this;
|
|
|
let datas = projectObj.project.labourCoe.datas !== null ? projectObj.project.labourCoe.datas.coes : [];
|
|
|
- me.init();
|
|
|
+ me.buildSelect();
|
|
|
me.buildSheet();
|
|
|
- me.loadData(datas);
|
|
|
+ me.loadCrossData(datas);
|
|
|
+ },
|
|
|
+ addNeedUpdateData: function (data) {
|
|
|
+ let me = this;
|
|
|
+ let isExist = false;
|
|
|
+ for (let el of me.needUpdateDatas){
|
|
|
+ if (el.ID == data.ID){
|
|
|
+ isExist = true;
|
|
|
+ el.coe = data.coe;
|
|
|
+ return;
|
|
|
+ };
|
|
|
+ };
|
|
|
+ if (!isExist){
|
|
|
+ me.needUpdateDatas.push(data);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ needSave: function (){
|
|
|
+ let me = this;
|
|
|
+ return me.needUpdateDatas.length > 0;
|
|
|
+ },
|
|
|
+ clearSave: function(){
|
|
|
+ let me = this;
|
|
|
+ me.needUpdateDatas.splice(0, me.needUpdateDatas.length);
|
|
|
},
|
|
|
-
|
|
|
refresh(){
|
|
|
let me = this;
|
|
|
me.needUpdateDatas.splice(0, me.needUpdateDatas.length);
|
|
|
$("#std_labour_coe_files").val('');
|
|
|
calcProgramManage.buildSheet();
|
|
|
+ },
|
|
|
+ onCellChanged: function(sender, args){
|
|
|
+ var me = labourCoeView;
|
|
|
+ if (args.propertyName !== "value"){return;};
|
|
|
+ let cell = me.sheet.getCell(args.row, args.col);
|
|
|
+ let value = args.newValue;
|
|
|
+ let oValue = args.oldValue;
|
|
|
+ if (number_util.isNumber(value)) {
|
|
|
+ value = value.toDecimal(2);
|
|
|
+ me.sheet.suspendEvent();
|
|
|
+ cell.value(value);
|
|
|
+ me.sheet.resumeEvent();
|
|
|
+ me.addNeedUpdateData({ID: cell.tag(), coe: value});
|
|
|
+ } else {
|
|
|
+ me.sheet.suspendEvent();
|
|
|
+ cell.value(oValue); // 屏蔽事件,否则这句会导致死循环
|
|
|
+ me.sheet.resumeEvent();
|
|
|
+ alert('当前输入的数据类型不正确,请重新输入。');
|
|
|
+ }
|
|
|
}
|
|
|
};
|
|
|
|
|
|
$(document).ready(function(){
|
|
|
- $("#tab_poj-settings-6").on('shown.bs.tab', function (e) {
|
|
|
+ $('#poj-set').on('shown.bs.modal', function (e) {
|
|
|
labourCoeView.showData();
|
|
|
});
|
|
|
|
|
|
+ $('#poj-set').on('hidden.bs.modal', function (e) {
|
|
|
+ if(labourCoeView.spread){
|
|
|
+ labourCoeView.spread.destroy();
|
|
|
+ labourCoeView.spread = null;
|
|
|
+ }
|
|
|
+ labourCoeView.datas = [];
|
|
|
+ labourCoeView.clearSave();
|
|
|
+ });
|
|
|
+
|
|
|
+ $("#tab_poj-settings-6").on('shown.bs.tab', function (e) {
|
|
|
+ labourCoeView.spread.refresh();
|
|
|
+ });
|
|
|
+
|
|
|
$("#std_labour_coe_files").change(function() {
|
|
|
// 取标准库数据过来显示。
|
|
|
let libID = $(this).val();
|
|
|
if (libID == ''){
|
|
|
- labourCoeView.loadData([]);
|
|
|
+ labourCoeView.loadCrossData([]);
|
|
|
return false;
|
|
|
};
|
|
|
|
|
|
CommonAjax.post('/labourCoe/getStdLabourCoe', {"ID": libID}, function (data) {
|
|
|
labourCoeView.buildSheet();
|
|
|
- labourCoeView.loadData(data.coes);
|
|
|
- labourCoeView.needUpdateDatas.splice(0, labourCoeView.needUpdateDatas.length);
|
|
|
+ labourCoeView.loadCrossData(data.coes);
|
|
|
+ labourCoeView.clearSave();
|
|
|
labourCoeView.needUpdateDatas.push(...data.coes);
|
|
|
});
|
|
|
});
|