|
@@ -28,6 +28,7 @@ const projTreeObj = {
|
|
|
tree: null,
|
|
|
workBook: null,
|
|
|
preSelected: null,
|
|
|
+ preSelection: null,
|
|
|
setting: {
|
|
|
tree: {
|
|
|
id: 'ID',
|
|
@@ -100,25 +101,40 @@ const projTreeObj = {
|
|
|
this.bindEvent(this.workBook);
|
|
|
}
|
|
|
},
|
|
|
- getNodeStyle: function (node) {
|
|
|
+ getSelStyle: function (backColor) {
|
|
|
let style = new GC.Spread.Sheets.Style();
|
|
|
- style.backColor = this.tree.selected == node ? this.setting.style.selectedColor : this.setting.style.defalutBackColor;
|
|
|
+ style.backColor = backColor;
|
|
|
style.borderLeft = new GC.Spread.Sheets.LineBorder("#D4D4D4", GC.Spread.Sheets.LineStyle.thin);
|
|
|
style.borderTop = new GC.Spread.Sheets.LineBorder("#D4D4D4", GC.Spread.Sheets.LineStyle.thin);
|
|
|
style.borderRight = new GC.Spread.Sheets.LineBorder("#D4D4D4", GC.Spread.Sheets.LineStyle.thin);
|
|
|
style.borderBottom = new GC.Spread.Sheets.LineBorder("#D4D4D4", GC.Spread.Sheets.LineStyle.thin);
|
|
|
return style;
|
|
|
},
|
|
|
- initSelection: function (row) {
|
|
|
+ //设置选中行底色
|
|
|
+ setSelStyle: function (sel, backColor) {
|
|
|
let me = this;
|
|
|
- let node = me.tree.items[row];
|
|
|
- me.tree.selected = node;
|
|
|
- //设置当前选中节点底色
|
|
|
- me.workBook.getSheet(0).setStyle(row, -1, me.getNodeStyle(node));
|
|
|
- //恢复上一个选中节点底色
|
|
|
- if(me.preSelected){
|
|
|
- me.workBook.getSheet(0).setStyle(me.preSelected.serialNo(), -1, me.getNodeStyle(me.preSelected));
|
|
|
+ let sheet = me.workBook.getSheet(0);
|
|
|
+ me.renderSheetFuc(sheet, function () {
|
|
|
+ let style = me.getSelStyle(backColor);
|
|
|
+ /*sel.row = sel.row === -1 ? 0 : sel.row;*/
|
|
|
+ for(let i = 0; i < sel.rowCount; i++){
|
|
|
+ let row = i + sel.row;
|
|
|
+ sheet.setStyle(row, -1, style);
|
|
|
+ }
|
|
|
+ });
|
|
|
+ },
|
|
|
+ initSelection: function (newSel, oldSel = null) {
|
|
|
+ let me = this;
|
|
|
+ let node = me.tree.items[newSel.row];
|
|
|
+ //恢复底色
|
|
|
+ if(oldSel){
|
|
|
+ me.setSelStyle(oldSel, me.setting.style.defalutBackColor);
|
|
|
}
|
|
|
+ //设置选中行底色
|
|
|
+ if(newSel){
|
|
|
+ me.setSelStyle(newSel, me.setting.style.selectedColor);
|
|
|
+ }
|
|
|
+ me.tree.selected = node;
|
|
|
me.preSelected = node;
|
|
|
$(".tools-btn > a").not(".disabled").addClass("disabled");
|
|
|
$("#add-engineering-btn").addClass("disabled");
|
|
@@ -152,7 +168,7 @@ const projTreeObj = {
|
|
|
},
|
|
|
onSelectionChanging: function (sender, args) {
|
|
|
let me = projTreeObj;
|
|
|
- me.initSelection(args.newSelections[0].row);
|
|
|
+ me.initSelection(args.newSelections[0], args.oldSelections[0]);
|
|
|
},
|
|
|
getShowData: function (datas) {
|
|
|
for(let data of datas){
|
|
@@ -486,7 +502,7 @@ const projTreeObj = {
|
|
|
me.renderSheetFuc(sheet, function () {
|
|
|
sheet.deleteRows(rIdx, count);
|
|
|
sheet.setRowCount(me.tree.items.length);
|
|
|
- me.initSelection(sheet.getActiveRowIndex());
|
|
|
+ me.initSelection({row: sheet.getActiveRowIndex(), rowCount: 1});
|
|
|
});
|
|
|
},
|
|
|
move: function (orgRow, newRow) {
|
|
@@ -935,7 +951,6 @@ $(document).ready(function() {
|
|
|
updateData['updateData'][projTreeObj.tree.setting.tree.id] = pre.id();
|
|
|
updateData['updateData'][projTreeObj.tree.setting.tree.nid] = projTreeObj.tree.maxNodeId() + 1;
|
|
|
}
|
|
|
- console.log(updateData);
|
|
|
projTreeObj.tree.maxNodeId(IDs.lowID - 1);
|
|
|
CommonAjax.post('/pm/api/copyProjects', {updateData: updateData, user_id: userID}, function (data) {
|
|
|
dialog.modal('hide');
|
|
@@ -995,7 +1010,8 @@ function init() {
|
|
|
projTreeObj.buildSheet();
|
|
|
projTreeObj.showTreeData(projTreeObj.tree.items, projTreeObj.setting.header);
|
|
|
//初始选择
|
|
|
- projTreeObj.initSelection(0);
|
|
|
+ let initSel = projTreeObj.workBook.getSheet(0).getSelections()[0] ? projTreeObj.workBook.getSheet(0).getSelections()[0] : {row: 0, rowCount: 1};
|
|
|
+ projTreeObj.initSelection(initSel);
|
|
|
$.bootstrapLoading.end();
|
|
|
});
|
|
|
engineering = engineeringList !== null && engineeringList !== undefined ? JSON.parse(engineeringList) : [];
|
|
@@ -2179,7 +2195,6 @@ function bindEvents_file_table(jqS, usedObj, targetBody, type){
|
|
|
$(jqS + ' .btn-success').on('click', function () {
|
|
|
let attrId = $(jqS).attr('id');
|
|
|
let id = attrId.slice(5, attrId.length);
|
|
|
- console.log(id);
|
|
|
let newName = $(jqS + ' input').val().trim();
|
|
|
if(newName !== orgName){
|
|
|
if(hasThisFileName(fileObjs, newName)){
|