Karsa пре 1 година
родитељ
комит
cf03f0b1b5

+ 1 - 1
src/views/datasheet_manage/common/customTable.js

@@ -41,7 +41,7 @@ export function findCellByFactor (str) {
 
   let table = document.querySelector('.table');
   let el = table.querySelector("td span[data-rindex='" + newStr[1] + "'][data-cindex='" + newStr[0] + "']") || table.querySelector("td input[data-rindex='" + newStr[1] + "'][data-cindex='" + newStr[0] + "']");
-  return el ? (el.innerText||'') : null;
+  return el ? (el.innerText||el.value||'') : null;
 }
 
 //转大写

+ 17 - 8
src/views/datasheet_manage/components/MixedTable.vue

@@ -110,6 +110,7 @@
               <el-autocomplete
                 v-else
                 v-model="cell.Value"
+                :ref="`inputRef${cell.Uid}`"
                 :fetch-suggestions="searchTarget"
                 popper-class="edb-select-popover"
                 :data-key="cell.Uid"
@@ -502,8 +503,6 @@ export default {
 
     /* 输入框失焦 设置单元格类型 处理关联关系 */
     async changeVal(e, cell) {
-      //非得搞一个要回车失焦
-      e.target.nodeName && e.target.blur();
 
       // 是日期格式 DataType为1
       // 自定义内容 DataType 3
@@ -735,6 +734,9 @@ export default {
       resetDialogCellStyle();
       setRelationStyle({ key:this.insertTargetCell.Uid },'td-choose-insert-target')
       this.isSelectTargetValueDialog = true;
+
+      this.isInsertCalculate = false;
+      this.$refs.calculateEdbDiaRef.initData();
     },
 
     /* 插入选择指标的值 */
@@ -932,8 +934,10 @@ export default {
           ...item
         }
       }
-
       this.isInsertCalculate = true;
+
+      this.isSelectTargetValueDialog = false;
+      this.$refs.selectTargetValueRef.initData();
     },
 
     /* 导入指标计算值 */
@@ -1027,12 +1031,17 @@ export default {
       e.preventDefault();
     },
 
-    /* 公式单元格enter时切换编辑状态 */
+    /* 单元格enter时切换编辑状态 */
     keyEnterHandle(e,cell) {
-      e.keyCode===13 && cell.DataType===6 && this.$set(cell,'CanEdit',false)
-      console.log(cell)
-      this.calculateClickCell = null
-      resetDialogCellStyle()
+      if(e.keyCode===13) {
+        //非得搞个要回车失焦
+        e.target.nodeName && e.target.blur();
+        this.$refs[`inputRef${e.target.dataset.key}`]&&this.$refs[`inputRef${e.target.dataset.key}`][0].close()
+
+        cell.DataType===6 && this.$set(cell,'CanEdit',false)
+        this.calculateClickCell = null
+        resetDialogCellStyle()
+      }
     },
 
     /* 支持公式单元格双击切换状态 */

+ 1 - 1
src/views/datasheet_manage/components/calculateEdbDia.vue

@@ -423,7 +423,7 @@ export default {
   width: 750px;
   border-radius: 2px;
   box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
-  z-index: 999;
+  z-index: 9999;
   .header { 
     font-size: 16px;
     background: $theme-color;

+ 7 - 1
src/views/datasheet_manage/components/insertDateDia.vue

@@ -220,6 +220,8 @@ export default {
   methods:{
     // 保存插入信息
     async saveInsertHandle() {
+
+      if(this.info.key==='insert-edb-date' && !this.selectEdbInfo.EdbInfoId) return this.$message.warning('请选择指标')
       
       let backData = {}
       //插入系统日期
@@ -254,7 +256,11 @@ export default {
         CalculateNum: 0,
         CalculateFrequency: '日'
       }
-      
+
+      this.search_edb = '';
+      this.searchOptions = [];
+      if(this.$refs.selectRef) this.$refs.selectRef.search_txt='';
+
       if(!type) this.formData.Source = 1;
       this.selectEdbInfo = {}
     },

+ 2 - 2
src/views/datasheet_manage/components/selectTargetValueDia.vue

@@ -79,7 +79,7 @@ export default {
       this.result = res.Data;
       // if(!this.result.Date && Date) return this.$message.warning('所选指标所选日期无值')
 
-      let value = this.result.List.length
+      let value = (this.result.List&&this.result.List.length)
         ? (this.result.List.find(_ => _.DataTime===Date) ? this.result.List.find(_ => _.DataTime===Date).Value.toString() : this.result.List[0].Value.toString()) 
         : ''
       this.chooseItem = {
@@ -128,7 +128,7 @@ export default {
   width: 500px;
   border-radius: 2px;
   box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
-  z-index: 999;
+  z-index: 9999;
   .header { 
     height: 50px;
     font-size: 16px;