Browse Source

弹窗内选择元素修改

duy 3 days ago
parent
commit
44b478da19
2 changed files with 41 additions and 10 deletions
  1. 13 4
      src/views/formula/component/table-form-write.vue
  2. 28 6
      src/views/formula/edit.vue

+ 13 - 4
src/views/formula/component/table-form-write.vue

@@ -237,12 +237,13 @@ export default {
         if (!container.contains(el)) return;
         
         const index = this.selectedElements.findIndex(item => item.id === el.id);
+        
         if (index === -1) {
           el.style.backgroundColor = '#ffa500';
           const elementId = this.initTableName + ':' + this.extractKeyPrefix(el.id);
           const keyName = el.placeholder || '';
           this.selectedElements.push({ tableElementKey: elementId, eName: keyName, id: el.id });
-          this.$emit('element-selected', { tableElementKey: elementId, eName: keyName, id: el.id }, true);
+          this.$emit('element-selected', { tableElementKey: elementId, eName: keyName, id: el.id }, true,this.selectedElements);
         }
       });
     },
@@ -254,9 +255,17 @@ export default {
       const elementId = this.initTableName + ':' + target.id.split('__')[0];
       const keyName = target.placeholder || '';
       
-      target.style.backgroundColor = '#ffa500';
+      // target.style.backgroundColor = '#ffa500';
+      if(!keyName){
+        this.$message({
+          type: "warning",
+          message: "当前位置未配置元素,请重新选择或配置元素后再试"
+        });
+        return;
+      }
+           target.style.backgroundColor = '#ffa500';
       this.selectedElements.push({ tableElementKey: elementId, eName: keyName, id });
-      this.$emit('element-selected', { tableElementKey: elementId, eName: keyName, id }, true);
+      this.$emit('element-selected', { tableElementKey: elementId, eName: keyName, id }, true,this.selectedElements);
     },
     
     clearAllSelected() {
@@ -272,7 +281,7 @@ export default {
             tableElementKey: item.tableElementKey, 
             eName: item.eName, 
             id: item.id 
-          }, false);
+          }, false,this.selectedElements);
         }
       });
       this.selectedElements = [];

+ 28 - 6
src/views/formula/edit.vue

@@ -353,7 +353,7 @@
       </div>
     </el-dialog>
 
-    <el-dialog title="选择元素" :visible.sync="chooseEleVisible" width="70%" append-to-body :close-on-click-modal="false">
+    <el-dialog title="选择元素222" :visible.sync="chooseEleVisible" width="80%" append-to-body :close-on-click-modal="false">
       <div>
         <el-row :gutter="20">
           <el-col :span="8">
@@ -376,7 +376,7 @@
           </el-col>
           <el-col :span="16">
              <div  class="flex" style="justify-content: space-between;width:100%">
-               <el-select v-model="eleTableId" @change="getTableEle" placeholder="请选择元素表">
+               <el-select v-model="eleTableId" @change="getTableEle" placeholder="请选择元素表" size="small">
                 <el-option v-if="paramDataList.length" label="选择节点参数3" value="选择节点参数"></el-option>
                 <!-- <template v-if="pid">
                     <el-option  v-for="item in eleTableList" :key="item.id" :label="item.tableName" :value="(item.pkeyId!==null&&item.pkeyId!==-1)"></el-option>
@@ -388,20 +388,20 @@
               
               </el-select>
               <!-- 搜索元素下拉框 -->
-                <el-select v-model="input3" filterable clearable placeholder="搜索元素字段"  @change="getInput" style="width:45%">
+                <!-- <el-select v-model="input3" filterable clearable placeholder="搜索元素字段"  @change="getInput" style="width:45%">
                 <el-option
                   v-for="item in eleList1"
                   :key="item.id"
                   :label="item.eName"
                   :value="item.eName">
                 </el-option>
-                </el-select>
+                </el-select> -->
              </div>
             
 
             <div class="mg-t-10 mg-b-10 no-mb-col">
               <el-scrollbar style="height: 460px">
-                <el-row v-loading="eleListable"  v-if="eleList.length>0">
+                <!-- <el-row v-loading="eleListable"  v-if="eleList.length>0">
                   <el-col :span="6" v-for="item in eleList" :key="item.id">
                     <div class="ele-box">
                       <span v-if="item.k">{{item.name}}</span>
@@ -410,8 +410,10 @@
                     </div>
                   </el-col>
                 </el-row>
-                 <el-row v-else style="text-align: center;line-height: 328px;border:1px solid #bbb">暂无数据</el-row>
+                 <el-row v-else style="text-align: center;line-height: 328px;border:1px solid #bbb">暂无数据</el-row> -->
+                    <tableFormWrite :pkeyId="eleTableId"     @element-selected="(obj, val,list) => handleElementSelectedList(obj, val, list)" :initTableName="initTableNameList"    :key="3"   :container-id="'excel-container-3'"></tableFormWrite>
               </el-scrollbar>
+            
             </div>
           </el-col>
         </el-row>
@@ -636,6 +638,7 @@ export default {
       selectedTableKey:'', // 存储选中的表格元素key
       initTableNameComp:'',//初始表名组件
       selectedTableKeyComp:'', // 存储选中的表格元素key 组件
+      initTableNameList:'',//初始表名 选择元素弹窗
 
     };
   },
@@ -2022,6 +2025,7 @@ console.log(remark,'remark');
         
       })
 
+
       this.input3=''
       if(tableId === '选择节点参数'){
         this.eleList = this.paramDataList;
@@ -2310,6 +2314,24 @@ item.name=item.eName
   
     
   
+},
+handleElementSelectedList(item,value,list) {
+
+  console.log(item,'item');
+  console.log(value,'value');
+  console.log(list,'list');
+  
+  
+  
+    // if(value){
+    //     //console.log(this.$refs.dynamiccomponent[index])
+    //     this.$refs.deviationrange.setELe(item);
+    //   }
+  
+  
+  
+    
+  
 },
 
 // 新增:替换当前选中的元素