|
|
@@ -54,7 +54,7 @@ let quantityEditObj = {
|
|
|
$("#quantityEXPValue").val(strartString+value+endString);
|
|
|
setCursor($("#quantityEXPValue")[0],startIndex+value.length);//设置回光标位置
|
|
|
},
|
|
|
- getQuantityEditCellType:function () {
|
|
|
+ getQuantityEditCellType:function () {//这个需配合整个表的selection change事件,当change的时候会repaint,按钮会显示
|
|
|
var ns = GC.Spread.Sheets;
|
|
|
function QuantityEditCellType() {
|
|
|
var init=false;
|
|
|
@@ -62,17 +62,15 @@ let quantityEditObj = {
|
|
|
}
|
|
|
QuantityEditCellType.prototype = new ns.CellTypes.Text();
|
|
|
QuantityEditCellType.prototype.paint = function (ctx, value, x, y, w, h, style, options) {
|
|
|
- // if(value!=null){
|
|
|
- // ctx.fillText(value,x+3+ctx.measureText(value).width,y+h-3);
|
|
|
- // }
|
|
|
- GC.Spread.Sheets.CellTypes.Text.prototype.paint.apply(this, arguments);
|
|
|
- if(quantityEditObj.editingCell && !projectReadOnly){
|
|
|
- if(quantityEditObj.editingCell.row==options.row&&quantityEditObj.editingCell.col==options.col){
|
|
|
+ if(!projectReadOnly){
|
|
|
+ if(options.sheet.getActiveRowIndex()==options.row&&options.sheet.getActiveColumnIndex()==options.col){
|
|
|
var image = document.getElementById('f_btn'),imageMagin = 3;
|
|
|
- var imageHeight = h-2*imageMagin;
|
|
|
- var imageWidth = w*2/7;
|
|
|
+ var imageHeight = 15;
|
|
|
+ var imageWidth = 25;
|
|
|
var imageX = x + w - imageWidth- imageMagin, imageY = y + h / 2 - imageHeight / 2;
|
|
|
ctx.save();
|
|
|
+ ctx.fillStyle = style.backColor;
|
|
|
+ ctx.fillRect(x,y,w,h);
|
|
|
ctx.drawImage(image, imageX, imageY,imageWidth,imageHeight);
|
|
|
ctx.beginPath();
|
|
|
ctx.arc(imageX+imageWidth/2,imageY+imageHeight/2,1,0,360,false);
|
|
|
@@ -82,9 +80,10 @@ let quantityEditObj = {
|
|
|
ctx.fill();//画实心圆
|
|
|
ctx.closePath();
|
|
|
ctx.restore();
|
|
|
+ x = x - imageWidth - imageMagin;
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+ GC.Spread.Sheets.CellTypes.Text.prototype.paint.apply(this, arguments);
|
|
|
};
|
|
|
QuantityEditCellType.prototype.getHitInfo = function (x, y, cellStyle, cellRect, context) {
|
|
|
return {
|
|
|
@@ -99,71 +98,18 @@ let quantityEditObj = {
|
|
|
};
|
|
|
|
|
|
//2018 -09 -26 修改工程量这个输入控件,删除悬浮提示注释,还原时通过git 历史
|
|
|
-
|
|
|
QuantityEditCellType.prototype.processMouseDown = function (hitinfo) {
|
|
|
let me=quantityEditObj;
|
|
|
- /*if(isDoubleClick(this) == true && !projectReadOnly){//如果是双击,直接显示 2019-1-17 需求更改,取消双击弹出
|
|
|
- me.showSelectModal(hitinfo);
|
|
|
- return ;
|
|
|
- }*/
|
|
|
- if(me.editingCell && hitinfo.row==me.editingCell.row){
|
|
|
- if(me.editingCell.isBtn == false){//是第一次点击,刷新显示按钮
|
|
|
- me.editingCell.isBtn = true;
|
|
|
- hitinfo.sheet.invalidateLayout();
|
|
|
- hitinfo.sheet.repaint();
|
|
|
- }else {
|
|
|
- var offset=hitinfo.cellRect.x+hitinfo.cellRect.width-6;
|
|
|
- var imageMagin=3;
|
|
|
- var imageHeight = hitinfo.cellRect.height-2*imageMagin;
|
|
|
- var imageWidth = hitinfo.cellRect.width*2/7;
|
|
|
- if(hitinfo.x<offset&&hitinfo.x>offset-imageWidth){
|
|
|
- if(!projectReadOnly){
|
|
|
- me.showSelectModal(hitinfo);
|
|
|
- }
|
|
|
- }/*else {//点击其它地方,按钮消失
|
|
|
- hideButton(hitinfo)
|
|
|
- }*/
|
|
|
- }
|
|
|
- }
|
|
|
- };
|
|
|
- QuantityEditCellType.prototype.processMouseEnter = function (hitinfo) {
|
|
|
- var me=quantityEditObj;
|
|
|
- me.pmLeave = false;
|
|
|
- if(me.editingCell==null){
|
|
|
- me.editingCell={
|
|
|
- row:hitinfo.row,
|
|
|
- col:hitinfo.col,
|
|
|
- isBtn :false//鼠标刚进入的时候按钮还是没显示的状态
|
|
|
+ if(hitinfo.sheet.getActiveRowIndex()==hitinfo.row&&hitinfo.sheet.getActiveColumnIndex()==hitinfo.col){
|
|
|
+ var offset=hitinfo.cellRect.x+hitinfo.cellRect.width-6;
|
|
|
+ var imageWidth = 25;
|
|
|
+ if(hitinfo.x<offset&&hitinfo.x>offset-imageWidth){
|
|
|
+ if(!projectReadOnly){
|
|
|
+ me.showSelectModal(hitinfo);
|
|
|
+ }
|
|
|
}
|
|
|
- // hitinfo.sheet.invalidateLayout();
|
|
|
- //hitinfo.sheet.repaint();
|
|
|
}
|
|
|
};
|
|
|
- QuantityEditCellType.prototype.processMouseLeave = function (hitinfo) {
|
|
|
- hideButton(hitinfo);
|
|
|
- };
|
|
|
-
|
|
|
- function hideButton(hitinfo) {
|
|
|
- if(!quantityEditObj.pmLeave){//鼠标进入显示三个点按钮
|
|
|
- quantityEditObj.editingCell=null;
|
|
|
- hitinfo.sheet.invalidateLayout();
|
|
|
- hitinfo.sheet.repaint();
|
|
|
- quantityEditObj.pmLeave = true;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- function isDoubleClick(quantityCell) {
|
|
|
- let nowTime = +new Date();
|
|
|
- if(quantityCell.clickTime !=0){
|
|
|
- if(nowTime - quantityCell.clickTime < 280) {//判断为双击
|
|
|
- quantityCell.clickTime = 0;
|
|
|
- return true;
|
|
|
- }
|
|
|
- }
|
|
|
- quantityCell.clickTime = nowTime;//计录点击时间
|
|
|
- return false
|
|
|
- }
|
|
|
-
|
|
|
return new QuantityEditCellType();
|
|
|
},
|
|
|
showSelectModal:function (hitinfo) {
|