|
@@ -64,7 +64,11 @@
|
|
|
>
|
|
|
|
|
|
<!-- 插入单元格禁止编辑 -->
|
|
|
- <template v-if="([4,5,6].includes(cell.DataType)&&!cell.CanEdit) || disabled">
|
|
|
+ <template
|
|
|
+ v-if="([4,5,6].includes(cell.DataType)&&!cell.CanEdit)
|
|
|
+ ||disabled
|
|
|
+ ||(cell.DataType===1&&[1,2].includes(cell.DataTimeType))"
|
|
|
+ >
|
|
|
|
|
|
<!-- 单元格类型5显示指标浮窗 -->
|
|
|
<el-popover
|
|
@@ -146,9 +150,11 @@
|
|
|
ref="selectTargetValueRef"
|
|
|
/>
|
|
|
|
|
|
+ <!-- 插入系统/指标日期弹窗 -->
|
|
|
<insertDateDia
|
|
|
:isShow.sync="isInsertDateDialog"
|
|
|
:info="insertDateInfo"
|
|
|
+ @insert="insertDatehandle"
|
|
|
/>
|
|
|
</div>
|
|
|
</template>
|
|
@@ -199,14 +205,14 @@ export default {
|
|
|
return {
|
|
|
config: {
|
|
|
/* 单元格类型
|
|
|
- 1手动日期格
|
|
|
+ 1手动日期格 DataTimeType 0
|
|
|
2指标格
|
|
|
3自定义输入
|
|
|
4插入值 表格里有关联的日期和指标格
|
|
|
5弹窗里的插入值 有关联日期格
|
|
|
- 6公式计算单元格
|
|
|
- 7系统日期导入格
|
|
|
- 8指标日期导入格
|
|
|
+ 6公式计算单元格
|
|
|
+ 1系统日期导入格 DataTimeType 1
|
|
|
+ 1指标日期导入格 DataTimeType 2
|
|
|
*/
|
|
|
data: [],
|
|
|
contextMenuOption: [],
|
|
@@ -274,11 +280,11 @@ export default {
|
|
|
setFocus(e);
|
|
|
|
|
|
/* 如果当前有公式单元格在编辑就拼接当前单元格进公式 */
|
|
|
- if(this.calculateClickCell && this.calculateClickCell.Uid!==cell.Uid) {
|
|
|
- console.log(this.calculateClickCell)
|
|
|
- const { cindex,rindex } = e.target.dataset;
|
|
|
- this.calculateClickCell.Value += `${cindex}${rindex}`
|
|
|
- }
|
|
|
+ // if(this.calculateClickCell && this.calculateClickCell.Uid!==cell.Uid) {
|
|
|
+ // console.log(this.calculateClickCell)
|
|
|
+ // const { cindex,rindex } = e.target.dataset;
|
|
|
+ // this.calculateClickCell.Value += `${cindex}${rindex}`
|
|
|
+ // }
|
|
|
|
|
|
//是插值单元格时寻找关联依赖的单元格 设置选框
|
|
|
if([4,5].includes(cell.DataType)) {
|
|
@@ -301,6 +307,7 @@ export default {
|
|
|
console.log(params)
|
|
|
if(!params) {
|
|
|
this.selectCell.DataType = 3;
|
|
|
+ this.selectCell.DataTimeType = 0;
|
|
|
this.selectCell.ShowValue = '';
|
|
|
this.selectCell.Value = '';
|
|
|
this.selectCell.DataTime = '';
|
|
@@ -309,13 +316,15 @@ export default {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- const { EdbInfoId,Date } = params
|
|
|
+ const { EdbInfoId,Date,DataTimeType } = params
|
|
|
|
|
|
const res = await sheetInterface.insertData({EdbInfoId,Date})
|
|
|
if(res.Ret !==200) return
|
|
|
|
|
|
- if(!res.Data){
|
|
|
+ //系统日期无值也要建立关联关系
|
|
|
+ if(!res.Data&&!DataTimeType){
|
|
|
this.selectCell.DataType = 3;
|
|
|
+ this.selectCell.DataTimeType = 0;
|
|
|
this.selectCell.ShowValue = '';
|
|
|
this.selectCell.Value = '';
|
|
|
this.selectCell.DataTime = '';
|
|
@@ -324,7 +333,7 @@ export default {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- this.$message.success('插入成功')
|
|
|
+ res.Data ? this.$message.success('插入成功') : this.$message.warning('当前日期暂无值')
|
|
|
|
|
|
this.selectCell.DataType = 4;
|
|
|
this.selectCell.ShowValue = res.Data;
|
|
@@ -387,6 +396,7 @@ export default {
|
|
|
if((row_cell_arr[i].DataType===1&&col_cell_arr[j].DataType===2)
|
|
|
||(row_cell_arr[i].DataType===2&&col_cell_arr[j].DataType===1)) {
|
|
|
params = {
|
|
|
+ DataTimeType: row_cell_arr[i].DataType===1 ? row_cell_arr[i].DataTimeType : col_cell_arr[j].DataTimeType,
|
|
|
Date: row_cell_arr[i].DataType===1 ? row_cell_arr[i].ShowValue : col_cell_arr[j].ShowValue,
|
|
|
EdbInfoId: row_cell_arr[i].DataType===2 ? row_cell_arr[i].EdbInfoId : col_cell_arr[j].EdbInfoId,
|
|
|
insert_cell: {
|
|
@@ -599,7 +609,7 @@ export default {
|
|
|
}else {//单元格
|
|
|
pos = 'cell'
|
|
|
}
|
|
|
- this.config.contextMenuOption = getRightClickMenu(pos)
|
|
|
+ this.config.contextMenuOption = getRightClickMenu(pos,cell.DataType===1&&[1,2].includes(cell.DataTimeType))
|
|
|
|
|
|
|
|
|
const dom = $('#contextMenu-wrapper')[0];
|
|
@@ -629,7 +639,8 @@ export default {
|
|
|
'choose-target': this.selectTargetOpen,//选择指标插入值
|
|
|
'insert-sys-date': this.insertDateOpen,//导入系统日期
|
|
|
'insert-edb-date': this.insertDateOpen,//导入指标日期
|
|
|
- 'reset': this.clearCell //清空
|
|
|
+ 'reset': this.clearCell, //清空
|
|
|
+ 'cell-edit': this.insertDateOpen
|
|
|
}
|
|
|
keyMap[key] && keyMap[key](key)
|
|
|
|
|
@@ -677,6 +688,7 @@ export default {
|
|
|
this.selectCell.ShowValue = '';
|
|
|
this.selectCell.Value = '';
|
|
|
this.selectCell.DataTime = '';
|
|
|
+ this.selectCell.DataTimeType = 0;
|
|
|
this.selectCell.EdbInfoId = 0;
|
|
|
|
|
|
this.checkCellRelation(this.selectCell)
|
|
@@ -786,15 +798,35 @@ export default {
|
|
|
},
|
|
|
|
|
|
/* 导入系统/指标日期弹窗 */
|
|
|
- insertDateOpen(key) {
|
|
|
+ insertDateOpen(type) {
|
|
|
this.insertTargetCell = this.selectCell;
|
|
|
resetDialogCellStyle();
|
|
|
- this.insertDateInfo = {
|
|
|
- key
|
|
|
+
|
|
|
+ if(type === 'cell-edit') { //编辑日期
|
|
|
+ const { DataTimeType } = this.insertTargetCell;
|
|
|
+ this.insertDateInfo = {
|
|
|
+ key: DataTimeType===1? 'insert-sys-date' : 'insert-edb-date',
|
|
|
+ ...this.insertTargetCell
|
|
|
+ }
|
|
|
+ }else {
|
|
|
+ this.insertDateInfo = {
|
|
|
+ key:type
|
|
|
+ }
|
|
|
}
|
|
|
this.isInsertDateDialog = true;
|
|
|
},
|
|
|
|
|
|
+ /* 插入系统/指标日期 */
|
|
|
+ insertDatehandle({insertValue,dataTimeType,str}) {
|
|
|
+
|
|
|
+ this.insertTargetCell.DataType = 1;
|
|
|
+ this.insertTargetCell.DataTimeType = dataTimeType;
|
|
|
+ this.insertTargetCell.ShowValue = insertValue;
|
|
|
+ this.insertTargetCell.Value = str;
|
|
|
+ this.insertTargetCell.EdbInfoId = 0;
|
|
|
+ this.insertTargetCell.DataTime = insertValue;
|
|
|
+ },
|
|
|
+
|
|
|
/* 初始化8行5列 */
|
|
|
initData(initData=null) {
|
|
|
if(initData) {
|
|
@@ -808,6 +840,7 @@ export default {
|
|
|
ShowValue: "",
|
|
|
Value: "",
|
|
|
DataType: 3,
|
|
|
+ DataTimeType: 0,
|
|
|
DataTime: "",
|
|
|
EdbInfoId:0,
|
|
|
Uid: md5.hex_md5(`${new Date().getTime()}${_rindex}${_cindex}`)
|
|
@@ -857,7 +890,7 @@ export default {
|
|
|
|
|
|
this.calculateClickCell = cell;
|
|
|
|
|
|
- setRelationStyle({ key:cell.Uid },'td-choose-insert-target')
|
|
|
+ // setRelationStyle({ key:cell.Uid },'td-choose-insert-target')
|
|
|
|
|
|
this.$nextTick(() => {
|
|
|
if(e.target.childNodes[0].childNodes[0].childNodes[1].nodeName==='INPUT') e.target.childNodes[0].childNodes[0].childNodes[1].focus();
|