From 7c20fd15b7fbc2bd5756b39d5ab655cc849ffcc3 Mon Sep 17 00:00:00 2001
From: zhanghua <314079846@qq.com>
Date: 星期三, 16 七月 2025 22:39:23 +0800
Subject: [PATCH] 添加时间筛选

---
 src/components/Table/index.vue |  155 ++++++++++++++++++++++++---------------------------
 1 files changed, 73 insertions(+), 82 deletions(-)

diff --git a/src/components/Table/index.vue b/src/components/Table/index.vue
index 42c1d51..173148a 100644
--- a/src/components/Table/index.vue
+++ b/src/components/Table/index.vue
@@ -1,33 +1,34 @@
 <template>
     <div class="Table">
         <div class="datatable">
-            <el-table ref="multipleTable" :data="tableData" style="width: 100%"
-                :header-cell-style="{background:'#06122c','font-size':'12px',color:'#4b9bb7','font-weight':'650','line-height':'45px'}"
+            <el-table
+                border
+                stripe
+                ref="multipleTable" :data="tableData" style="width: 100%"
+                :header-cell-style="{'background':'#F5F5F5','font-size':'14px','font-weight':'650','line-height':'45px'}"
                 :row-class-name="tableRowClassName">
-                <el-table-column type="selection" :min-width="5">
-                </el-table-column>
-                <el-table-column v-for="(item,idx) in option.group" :key="item.prop" :label="item.label"
+                
+                <el-table-column type="selection" min-width="5"> </el-table-column>
+                <el-table-column v-for="item in option.group" :key="item.prop" :label="item.label"
                     :prop="item.prop" :min-width="item['min-width'] ? item['item.min-width']:'10'">
                     <template slot-scope="scope">
                         <div v-if="item.type === 'text'">
                             {{scope.row[item.prop]}}
                         </div>
-                        <slot v-else name="operation" :info="scope">
-                            <div class="operationBox">
-                                <div class="divider" v-for="(child,index) in item.children" :key="child.operationName">
-                                    <!-- @click="backMykey(scope.$index,child.mykey)" -->
-                                    <span>{{child.operationName}}</span>
-                                    <el-divider direction="vertical" v-if="index !== item.children.length-1">
-                                    </el-divider>
-                                </div>
-                            </div>
+                        <slot v-else-if="item.type === 'operation'" name="operation" :info="scope">
+
+                        </slot>
+                        <slot name="status" v-else-if="item.type === 'status'" :info="scope">
+                        </slot>
+                        <slot name='time' v-else-if="item.type === 'time'" :timeobj="scope">
+
                         </slot>
                     </template>
                 </el-table-column>
             </el-table>
         </div>
         <!-- tools -->
-        <div class="tools">
+        <div class="tools" v-if="pageShow">
             <div class="funs">
                 <div class="funsItem sp-item">
                     <el-checkbox v-model="all" @change="selectAll()">鍏ㄩ��</el-checkbox>
@@ -80,6 +81,10 @@
         }
     },
     props: {
+      getTableList: {
+        type: Function,
+        default: () => {}
+      },
         // 琛ㄦ牸鏁版嵁
         tableData: {
             type: Array,
@@ -93,20 +98,25 @@
         // 寮圭獥
         openDialog: {
             type: Function,
-            default: () => {}
+            default: () => { }
         },
         // 鑾峰彇褰撳墠椤�
-        getCurrentPage:{
+        getCurrentPage: {
             type: Function,
-            default: () => {}
+            default: () => { }
         },
         // 鍒嗛〉鎬绘暟
-        totalNum:{
-            type:Number,
-            default:1
+        totalNum: {
+            type: Number,
+            default: 1
+        },
+        // 鏄惁灞曠ず鍒嗛〉
+        pageShow:{
+            type: Boolean,
+            default: false,
         }
     },
-    created(){
+    created() {
         this.myTotalNum = JSON.parse(JSON.stringify(this.totalNum));
     },
     computed: {
@@ -117,17 +127,16 @@
     methods: {
         // 璁剧疆琛ㄦ牸鏂戦┈绾�
         tableRowClassName({ row, rowIndex }) {
-            if ((rowIndex + 1) % 2 == 0) {
+            if ((rowIndex + 1) % 2 === 0) {
                 return 'warning-row';
             } else {
                 return 'success-row';
             }
-            return '';
         },
         // 褰撳墠椤垫敼鍙樿Е鍙戜簨浠�
         changeCurrentPage(page) {
             this.currentPage = page;
-            this.$emit('getCurrentPage',page);
+            this.$emit('getCurrentPage', page);
         },
         // 鍏ㄩ��
         selectAll() {
@@ -167,77 +176,59 @@
     width: 100%;
 
     .el-table {
-        color: #4b9bb7;
+        // color: #4b9bb7;
     }
+
     .tools {
+        display: flex;
+        justify-content: space-between;
+        align-items: center;
+        padding: 0 20px;
+
+        .funs {
             display: flex;
-            justify-content: space-between;
-            align-items: center;
-            padding: 0 20px;
 
-            .funs {
-                display: flex;
-                .sp-item{
-                    border: 1px solid #17324c;
-                }
-                .funsItem {
-                    line-height: 28px;
-                    display: flex;
-                    align-items: center;
-                    border-radius: 4px;
-                    font-size: 12px;
-                    margin-left: 10px;
-
-                    .el-checkbox {
-                        width: 80px;
-                        padding: 0 10px;
-                    }
-
-                    .el-select {
-                        width: 120px;
-                    }
-
-                    &::v-deep .el-input__inner {
-                        border: none;
-                        background-color: #09152f;
-                    }
-                    
-                    &:hover .el-checkbox {
-                        color: #4b9bb7;
-                    }
-                }
-
+            .sp-item {
+                // border: 1px solid #17324c;
             }
 
-            .pagination {
-                margin-top: 50px;
+            .funsItem {
+                line-height: 28px;
                 display: flex;
-                line-height: 50px;
-                justify-content: center;
+                align-items: center;
+                border-radius: 4px;
+                font-size: 12px;
+                margin-left: 10px;
 
-                .el-pagination {
+                .el-checkbox {
+                    width: 80px;
+                    padding: 0 10px;
+                }
 
-                    &::v-deep li,
-                    &::v-deep .btn-prev,
-                    &::v-deep .btn-next {
-                        background-color: #071f39;
-                        color: #4b9bb7;
-                    }
+                .el-select {
+                    width: 120px;
+                }
 
-                    &::v-deep .active {
-                        background-color: #409eff;
-                        color: #fff;
-                    }
+                &::v-deep .el-input__inner {
+                    border: none;
+                    // background-color: #09152f;
+                }
+
+                &:hover .el-checkbox {
+                    color: #4b9bb7;
                 }
             }
+
         }
-    &::v-deep .warning-row {
-        background-color: #06122c;
+
+        .pagination {
+            margin-top: 50px;
+            display: flex;
+            line-height: 50px;
+            justify-content: center;
+        }
     }
 
-    &::v-deep .success-row {
-        background-color: #071f39;
-    }
 
     .operationBox {
         display: flex;
@@ -247,4 +238,4 @@
         background-color: #4b9bb7;
     }
 }
-</style>
\ No newline at end of file
+</style>

--
Gitblit v1.8.0