소스 검색

公式配置==切换表单,initTableName没变bug

duy 2 일 전
부모
커밋
6829c04de1

+ 2 - 2
public/version.json

@@ -1,3 +1,3 @@
 {
-  "value": "20251111142404"
-}
+  "value": "20251118174301"
+}

+ 44 - 44
src/views/formula/component/formulaTemplate.vue

@@ -1,32 +1,33 @@
 <template>
   <div>
-    <div>{{template}}</div>
-    <div>{{formulainfo.example}}</div>
-    <div v-for="(item,index) in formulainfo.arguments" :key="index" class="mg-t-20">
+    <div>{{ template }}</div>
+    <div>{{ formulainfo.example }}</div>
+    <div v-for="(item, index) in formulainfo.arguments" :key="index" class="mg-t-20">
       <div>
-        <span>参数{{(index+1)}}({{formulainfo.template.args[index].m}}):</span>
-        <span v-if="JSON.stringify(item)!=='null'">
- 
-            <el-radio-group v-model="formulainfo.arguments[index]"  v-if="formulainfo.template.args[index].m=='是否同行/列计算(选填)'">
-                <el-radio label="y">同行</el-radio>
-                <el-radio label="x">同列</el-radio>
-               
-              </el-radio-group>
+        <span>参数{{ (index + 1) }}({{ formulainfo.template.args[index].m }}):</span>
+        <span v-if="JSON.stringify(item) !== 'null'">
 
-              <template v-else>
-                        <template v-if="(typeof item)=='object' && (item.type == 'Element' || item.type == 'ParamData')">
-                          <el-tag>{{item.name}}</el-tag>
-                        </template>
-                        <template v-else>
-                          <el-input v-model="formulainfo.arguments[index]" placeholder="请输入内容" style="width:200px" ></el-input>
-                          
-                      
-                        </template>
-              </template>
+          <el-radio-group v-model="formulainfo.arguments[index]"
+            v-if="formulainfo.template.args[index].m == '是否同行/列计算(选填)'">
+            <el-radio label="y">同行</el-radio>
+            <el-radio label="x">同列</el-radio>
+          </el-radio-group>
+
+          <template v-else>
+            <template v-if="(typeof item) == 'object' && (item.type == 'Element' || item.type == 'ParamData')">
+              <el-tag>{{ item.name }}</el-tag>
+            </template>
+            <template v-else>
+              <el-input v-model="formulainfo.arguments[index]" placeholder="请输入内容" style="width:200px"></el-input>
+            </template>
+          </template>
         </span>
-        <el-link type="primary" @click="changeType('text',index)" class="mg-l-10" v-if="formulainfo.template.args[index].m!=='是否同行/列计算(选填)'">输入文本</el-link>
-        <el-link type="primary" @click="changeType('ele',index)" class="mg-l-10"  v-if="formulainfo.template.args[index].m!=='是否同行/列计算(选填)'">选择元素</el-link>
-        <el-link type="primary" @click="setCurEle(index)" class="mg-l-10"  v-if="formulainfo.template.args[index].m!=='是否同行/列计算(选填)'">当前元素</el-link>
+        <el-link type="primary" @click="changeType('text', index)" class="mg-l-10"
+          v-if="formulainfo.template.args[index].m !== '是否同行/列计算(选填)'">输入文本</el-link>
+        <el-link type="primary" @click="changeType('ele', index)" class="mg-l-10"
+          v-if="formulainfo.template.args[index].m !== '是否同行/列计算(选填)'">选择元素</el-link>
+        <el-link type="primary" @click="setCurEle(index)" class="mg-l-10"
+          v-if="formulainfo.template.args[index].m !== '是否同行/列计算(选填)'">当前元素</el-link>
       </div>
     </div>
   </div>
@@ -49,42 +50,41 @@ export default {
       }
     },
   },
-  data(){
-    return{
-      template:'',
+  data() {
+    return {
+      template: '',
 
     }
   },
-  mounted(){
+  mounted() {
     this.template = this.formulainfo.template.ft;
-    this.formulainfo.arguments[0].tableElementKey=this.formulainfo.arguments[0].tableElementKey.replace("_key",":key")
+    this.formulainfo.arguments[0].tableElementKey = this.formulainfo.arguments[0].tableElementKey.replace("_key", ":key")
     this.formulainfo.template.args.forEach(element => {
-      this.template = this.template.replace(element.key,element.m)
+      this.template = this.template.replace(element.key, element.m)
     });
-  
+
   },
-  methods:{
+  methods: {
     //切换选择的状态
-    changeType(type,index){
-      if(type == 'text'){
-        this.$set(this.formulainfo.arguments,index,'');
-      }else if(type == 'ele'){
-        this.$emit('sele-ele-handle',{
-          arguments:this.formulainfo.arguments,
+    changeType(type, index) {
+      if (type == 'text') {
+        this.$set(this.formulainfo.arguments, index, '');
+      } else if (type == 'ele') {
+        this.$emit('sele-ele-handle', {
+          arguments: this.formulainfo.arguments,
           index
         })
       }
     },
 
     //选择当前元素
-    setCurEle(index){
+    setCurEle(index) {
       let tmp = JSON.parse(JSON.stringify(this.curele));
-      tmp['tableElementKey']= tmp['tableElementKey'].replace("_key",":key")
-      this.$set(this.formulainfo.arguments,index,tmp);
+      console.log("setCurEle", tmp)
+      tmp['tableElementKey'] = tmp['tableElementKey'].replace("_key", ":key")
+      this.$set(this.formulainfo.arguments, index, tmp);
     }
   }
 }
 </script>
-<style scoped lang="scss">
-  
-</style>
+<style scoped lang="scss"></style>

+ 2 - 0
src/views/formula/component/table-form-write.vue

@@ -292,6 +292,8 @@ export default {
     selectElements(elements) {
       const container = this.getContainer();
       if (!container) return;
+
+      console.log('Selecting elements:', elements, container);
       
       // 先取消选择所有相同 tableElementKey 的元素(避免重复)
       if (elements.length > 0) {

+ 4 - 26
src/views/formula/edit.vue

@@ -376,26 +376,19 @@
             <div class="flex" style="justify-content: space-between;width:100%">
               <el-select v-model="eleTableId" @change="getTableEle" placeholder="请选择元素表" size="small">
                 <el-option v-if="paramDataList.length" label="选择节点参数3" value="选择节点参数"></el-option>
-
                 <template>
-
                   <el-option v-for="item in eleTableList" :key="item.id" :label="item.tableName"
                     :value="(item.pkeyId !== null && item.pkeyId !== -1) ? item.pkeyId : item.id"></el-option>
                 </template>
-
               </el-select>
-
             </div>
-
-
             <div class="mg-t-10 mg-b-10 no-mb-col">
               <el-scrollbar style="height: 460px">
                 <tableFormWrite :pkeyId="eleTableId" :multiple-select="true"
                   @element-selected="(obj, val, list) => handleElementSelectedList(obj, val, list)"
-                  :initTableName="initTableNameComp" :key="tableKey" :container-id="'excel-container-' + tableKey"
+                  :initTableName="initTableName" :key="tableKey" :container-id="'excel-container-' + tableKey"
                   :selectedTableKey="selectedTableKeyList"></tableFormWrite>
               </el-scrollbar>
-
             </div>
           </el-col>
         </el-row>
@@ -1487,7 +1480,6 @@ export default {
 
     //显示选择元素弹窗
     showChooseEle(argumenObj) {
-
       const { item } = argumenObj;
 
       if (item) {
@@ -1496,13 +1488,8 @@ export default {
       } else {
         this.selectedTableKeyList = null;
       }
-
-
-
-
       this.argumenObj = argumenObj;
       this.chooseEleVisible = true;
-
     },
 
     //移除挂载的函数
@@ -2052,9 +2039,10 @@ export default {
         if (item.pkeyId === tableId) {
           this.initTableName = item.initTableName
         }
-
       })
 
+      console.log("getTableEle==this.initTableName", this.initTableName);
+
 
       this.input3 = ''
       if (tableId === '选择节点参数') {
@@ -2098,7 +2086,7 @@ export default {
 
     //方法下面的点击树节点
     getNodeDetailComp(data) {
-      console.log(data.id, 'data.id111111111');
+      console.log(data.id, this.pid, 'data.id111111111');
       if (this.pid) {
         wbsPrivateGetNodeTabAndParam(data.id, this.pid, this.wbsid).then((res) => {
           if (res.data.data.tabData.length) {
@@ -2351,22 +2339,12 @@ export default {
       console.log(item, value, list, '1111list');
 
       this.seleList = list
-      console.log(list, 'list');
       this.seleList.forEach((element, index) => {
         element.name = element.eName
       });
       // list.forEach((element,index) => {
       //     this.setEleToArgumen(element,index+this.argumenObj.index);
       //   });
-
-
-
-
-
-
-
-
-
     },
 
     // 新增:替换当前选中的元素

+ 0 - 2
src/views/manager/projectinfo/tree.vue

@@ -651,9 +651,7 @@
     </el-dialog>
 
     <!-- 元素表排序 -->
-
     <tableSortByType ref="tableSortRef" title="表单排序" :sortProLoad="sortProLoad" @confirm="editPrivateSort" />
-
     <!-- 关联清表 -->
     <el-dialog title="关联清表" class="excelBox" :visible.sync="GLExcel" width="500px" modal-append-to-body append-to-body
       @close="GLExcelMD">