Browse Source

403列表

tangjunhao 5 months ago
parent
commit
5780c027df

+ 1 - 1
src/views/echart/scatter.vue

@@ -273,7 +273,7 @@ const selectshuju = (listcbval,listcbval2,dataheader, data) => {
     },
     yAxis: {
       type: "value",  // y 轴是数值型
-      scale: true,
+      // scale: true,
     },
     series: series.value,  // 使用生成的 series 数据
   });

+ 18 - 18
src/views/echart/tablelist.vue

@@ -1,17 +1,17 @@
 <template>
   <div class="classtable" style="width:100%; height: 100%;">
+    <div v-show="tableshow">
     <el-table :data="tabledataliebiao"
     border
     style=" overflow: auto; height: 100%;"
-    
-    :key="tableKey"
     >
+    
     <el-table-column type="index" label="编号" width="100"></el-table-column>
-      <el-table-column v-for="(header, index) in tableHeaders" :key="index" :prop="header.prop" show-overflow-tooltip
+      <el-table-column v-for="(header, index) in visibleHeaders" :key="index" :prop="header.prop" show-overflow-tooltip
         :label="header.label" >
       </el-table-column>
     </el-table>
-
+    </div>
   </div>
 </template>
 
@@ -35,21 +35,19 @@ const props = defineProps({
   }
 })
 
-// 引用 ElTable 组件
-const tableKey = ref(0);
+const visibleHeaders = ref([]);
+
+let tableshow = ref(false)
+
+const selectshuju = (listcbval) => {
+  if (!listcbval || listcbval.length === 0) {
+    tableshow.value = false;  // 没有选中列时不显示表格
+  } else {
+    visibleHeaders.value = props.tableHeaders.filter(header => listcbval.includes(header.prop));
+    tableshow.value = true;
+  }
+}
 
-watch(
-  () => props.tablelistshow,
-  (newValue) => {
-    if (newValue) {
-      nextTick(() => {
-        tableKey.value++;
-        console.log("tableKey:", tableKey.value);
-      })
-    }
-  },
-  { immediate: true }
-)
 
 const lbjkheaderCellClassName = ({ columnIndex }) => {
   if( columnIndex === 0 ) return '';
@@ -66,4 +64,6 @@ const lbjkheaderCellClassName = ({ columnIndex }) => {
   }
 }
 
+defineExpose({ selectshuju })
+
 </script>

+ 9 - 8
src/views/home.vue

@@ -753,7 +753,7 @@
               </div>
             </template>
             <div>
-              <ListSE @update="handleUpdate"/>
+              <ListSE :isList="true" @update="handleUpdate"/>
               <!-- <el-form>
                 <el-form-item label="设计集:" >
                   <el-select v-model="listval" :suffix-icon="CaretBottom" placeholder="请选择">
@@ -774,7 +774,7 @@
               <div class="dialog-footer">
                 
                 <el-button @click="dialog.listdialog = false">取消</el-button>
-                <el-button type="primary" @click="dialog.listdialog = false">
+                <el-button type="primary" @click="selectshujuto();dialog.listdialog = false">
                   确定
                 </el-button>
               </div>
@@ -791,7 +791,7 @@
               </div>
             </template>
             <div>
-              <ListSE @update="handleUpdate"/>
+              <ListSE :isList="false" @update="handleUpdate"/>
             </div>
             <template #footer>
               <div class="dialog-footer">
@@ -814,7 +814,7 @@
               </div>
             </template>
             <div>
-              <ListSE @update="handleUpdate"/>
+              <ListSE :isList="false" @update="handleUpdate"/>
             </div>
             <template #footer>
               <div class="dialog-footer">
@@ -2706,6 +2706,9 @@ const dialogbolen = () => {
     case "列表":
       echatsfunc();
       dialog.value.listdialog = true;
+      nextTick(() => {
+        initListSe();
+      });
       break;
     case "面积图":
       echatsfunc();
@@ -3096,10 +3099,6 @@ const curveLine4 = () => {
       }
       console.log("表格数据:", datatotabledata.value);
       console.log("表头数据:", datatotableheader.value);
-      // emitter.emit('update:datatotableheader', datatotableheader.value);
-      // emitter.emit('update:datatotabledata', datatotabledata.value);
-      // scatterref.value.getshuju(datatotableheader.value,datatotabledata.value);
-      // echartLineref.value.getshuju(datatotableheader.value,datatotabledata.value);
     })
     .catch((err) => {
       ElMessage.error(err.returnMsg)
@@ -3197,6 +3196,8 @@ const selectshujuto = () => {
     scatterref.value.selectshuju(listcbval.value,listcbval2.value,datatotableheader.value,datatotabledata.value);
   }else if(tabactive.value === '折线图'){
     echartLineref.value.selectshuju(listcbval.value,listcbval2.value,datatotableheader.value,datatotabledata.value);
+  }else if(tabactive.value === '列表'){
+    tablelistref.value.selectshuju(listcbval2.value)
   }
 }
 

+ 5 - 1
src/views/titlecomponent/ListSE.vue

@@ -18,7 +18,7 @@
     <el-form-item label="选择要在表中显示的一个或者多个变量和响应">
     </el-form-item>
     <el-space style="width: 100%;" fill :fill-ratio="40">
-      <el-card shadow="hover" style="height: 150px;overflow: auto;">
+      <el-card v-if="!isList" shadow="hover" style="height: 150px;overflow: auto;">
         <el-checkbox-group v-model="listcbval" :max="1" @change="updateParent('listcbval', listcbval)">
           <el-checkbox
             v-for="item in Listcheckbox"
@@ -50,6 +50,10 @@ import { ElMessage, ElButton, ElDialog, ElSelect } from "element-plus"
 import { Edit, CaretBottom } from "@element-plus/icons-vue"
 import emitter from "@/utils/emitter"
 
+// 接收父组件传来的数据
+const props = defineProps({
+  isList: Boolean,
+});
 
 let listval = ref("全部设计")
 let listoptions = ref([