|
@@ -56,6 +56,7 @@
|
|
|
:data-cindex="columnHeader[cell_index]"
|
|
|
:data-key="cell.Uid"
|
|
|
@click="clickCell($event, cell)"
|
|
|
+ @dblclick="dblClickCell($event,cell)"
|
|
|
@contextmenu.prevent="rightClickHandle($event,cell)"
|
|
|
@mouseenter="getRelationEdbInfo(cell)"
|
|
|
@copy="copyCellHandle($event,cell)"
|
|
@@ -63,7 +64,8 @@
|
|
|
>
|
|
|
|
|
|
<!-- 插入单元格禁止编辑 -->
|
|
|
- <template v-if="[4,5].includes(cell.DataType) || disabled">
|
|
|
+ <template v-if="([4,5,6].includes(cell.DataType)&&!cell.CanEdit) || disabled">
|
|
|
+
|
|
|
<!-- 单元格类型5显示指标浮窗 -->
|
|
|
<el-popover
|
|
|
v-if="cell.DataType===5&&!disabled"
|
|
@@ -99,7 +101,7 @@
|
|
|
|
|
|
<el-autocomplete
|
|
|
v-else
|
|
|
- v-model="cell.ShowValue"
|
|
|
+ v-model="cell.Value"
|
|
|
:fetch-suggestions="searchTarget"
|
|
|
popper-class="edb-select-popover"
|
|
|
:data-key="cell.Uid"
|
|
@@ -412,7 +414,7 @@ export default {
|
|
|
/* 输入框失焦 设置单元格类型 处理关联关系 */
|
|
|
async changeVal(e, cell) {
|
|
|
//非得搞一个要回车失焦
|
|
|
- e.target.blur();
|
|
|
+ e.target.nodeName && e.target.blur();
|
|
|
|
|
|
// 是日期格式 DataType为1
|
|
|
// 自定义内容 DataType 3
|
|
@@ -435,12 +437,11 @@ export default {
|
|
|
|
|
|
cell.ShowValue = checkDateFormat(value);
|
|
|
cell.Value = checkDateFormat(value);
|
|
|
- }else if(cell.EdbInfoId&&!cell.DataTime&&cell.Value===value) {//指标
|
|
|
- }else if(value.includes('=')) {
|
|
|
- // cell.DataType = 6;
|
|
|
- // let calculateVal = await this.getValueByFormula(value);
|
|
|
- // cell.ShowValue = calculateVal;
|
|
|
- // console.log(cell)
|
|
|
+ }else if(value.includes('=')) { //公式单元格
|
|
|
+ cell.DataType = 6;
|
|
|
+ let calculateVal = await this.getValueByFormula(value);
|
|
|
+ cell.ShowValue = calculateVal;
|
|
|
+ this.$set(cell,'CanEdit',false)
|
|
|
|
|
|
}else {//自定义值
|
|
|
cell.DataType = 3;
|
|
@@ -828,6 +829,16 @@ export default {
|
|
|
|
|
|
// 阻止默认的粘贴操作
|
|
|
e.preventDefault();
|
|
|
+ },
|
|
|
+
|
|
|
+ /* 支持公式单元格双击切换状态 */
|
|
|
+ dblClickCell(e,cell) {
|
|
|
+ if(this.disabled || cell.DataType!==6) return
|
|
|
+
|
|
|
+ this.$set(cell,'CanEdit',true)
|
|
|
+ this.$nextTick(() => {
|
|
|
+ if(e.target.childNodes[0].childNodes[0].childNodes[1].nodeName==='INPUT') e.target.childNodes[0].childNodes[0].childNodes[1].focus();
|
|
|
+ })
|
|
|
}
|
|
|
},
|
|
|
};
|