From 8c79267eb478e2986c5293d3fb48f1c3da18c544 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期五, 17 一月 2025 15:55:32 +0800
Subject: [PATCH] 测试完成

---
 src/components/SFtable/index.vue |  126 +++++++++++++++++++++++++++++++++++++----
 1 files changed, 113 insertions(+), 13 deletions(-)

diff --git a/src/components/SFtable/index.vue b/src/components/SFtable/index.vue
index f8eea2b..2687a76 100644
--- a/src/components/SFtable/index.vue
+++ b/src/components/SFtable/index.vue
@@ -1,7 +1,14 @@
 <!-- 琛ㄦ牸缁勪欢灏佽 -->
 <template>
   <el-table
-    :data="currentList"
+    ref="multipleTableson"
+    :height="heights"
+    :data="
+      currentList.filter(
+        (data) =>
+          !search || data.name.toLowerCase().includes(search.toLowerCase())
+      )
+    "
     @selection-change="handleSelectionChange"
     :header-cell-style="{
       background: '#f3f6fb',
@@ -14,6 +21,7 @@
   >
     <el-table-column
       v-if="multiplechoice"
+      fixed="left"
       type="selection"
       width="50"
       align="center"
@@ -25,7 +33,43 @@
       key="id"
       prop="id"
     />
-    <el-table-column
+    <div v-for="(item, index) in tableLabel">
+      <el-table-column
+        v-if="item.label == '鍑洪櫌鏃ユ湡'"
+        :key="index"
+        :prop="item.prop"
+        :width="item.width"
+        :label="item.label"
+        :formatter="formatData"
+      >
+        <template slot-scope="scope">
+          <span>{{ formatTime(scope.row.endtime) }}</span>
+        </template>
+      </el-table-column>
+      <el-table-column
+        v-if="item.label == '鎬у埆'"
+        :key="index"
+        :prop="item.prop"
+        :width="item.width"
+        :label="item.label"
+        :formatter="formatData"
+      >
+        <template slot-scope="scope">
+          <span>{{ scope.row.sex == 1 ? "鐢�" : "濂�" }}</span>
+        </template>
+      </el-table-column>
+
+      <el-table-column
+        v-if="item.label != '鎬у埆' && item.label != '鍑洪櫌鏃ユ湡'"
+        :key="index"
+        :prop="item.prop"
+        :width="item.width"
+        :label="item.label"
+        :formatter="formatData"
+      >
+      </el-table-column>
+    </div>
+    <!-- <el-table-column
       v-for="(item, index) in tableLabel"
       :key="index"
       :prop="item.prop"
@@ -33,8 +77,8 @@
       :label="item.label"
       :formatter="formatData"
     >
-    </el-table-column>
-    <el-table-column
+    </el-table-column> -->
+    <!-- <el-table-column
       label="鏄惁鍙敤"
       align="center"
       key="isavailable"
@@ -42,17 +86,49 @@
       width="120"
     >
       <template slot-scope="scope">
-        <dict-tag :options="usable" :value="scope.row.isavailable" />
+        <dict-tag :options="qyoptions" :value="scope.row.usestate" />
       </template>
-    </el-table-column>
+    </el-table-column> -->
     <el-table-column
-      v-if="center"
+      v-if="center && !searchTrue"
       label="鎿嶄綔"
       fixed="right"
       align="center"
       width="120"
       class-name="small-padding fixed-width"
     >
+      <template slot-scope="scope">
+        <el-button
+          v-if="controlxz"
+          size="medium"
+          type="text"
+          @click.native="$emit('selectfn', scope.row, typeinfo)"
+          ><span class="button-zx"
+            ><i class="el-icon-s-promotion"></i>閫夋嫨</span
+          ></el-button
+        >
+        <el-button
+          v-if="controlsc"
+          size="medium"
+          type="text"
+          @click.native="$emit('details', scope.row, typeinfo)"
+          ><span style="color: red"
+            ><i class="el-icon-delete"></i>鍒犻櫎</span
+          ></el-button
+        >
+      </template>
+    </el-table-column>
+    <el-table-column
+      v-if="center && searchTrue"
+      label="鎿嶄綔"
+      fixed="right"
+      align="right"
+      width="200"
+      class-name="small-padding fixed-width"
+    >
+      <template slot="header" slot-scope="scope">
+        <el-input v-model="search" size="mini" placeholder="杈撳叆鎮h�呭悕绉版悳绱�" />
+      </template>
       <template slot-scope="scope">
         <el-button
           v-if="controlxz"
@@ -87,8 +163,9 @@
       mode: [],
       languagelist: [],
       editabshape: [],
-      usable: [],
+      qyoptions: [],
       precedencetype: [],
+      search: "",
     };
   },
   props: {
@@ -120,16 +197,24 @@
       type: Boolean,
       default: true,
     },
-    // 1妯$増鍒楄〃 2閫変腑鎮h�� 3鎮h�呭垪琛�
+    // 1妯℃澘鍒楄〃 2閫変腑鎮h�� 3鎮h�呭垪琛�
     typeinfo: {
       type: Number,
       default: 1,
+    },
+    heights: {
+      type: Number,
+      default: 600,
+    },
+    searchTrue: {
+      type: Boolean,
+      default: false,
     },
   },
   created() {
     this.mode = store.getters.mode;
     this.languagelist = store.getters.languagelist;
-    this.usable = store.getters.usable;
+    this.qyoptions = store.getters.usable;
     this.precedencetype = store.getters.precedencetype;
     this.editabshape = store.getters.editabshape;
   },
@@ -143,14 +228,29 @@
         }
         return "鎵嬪姩";
       }
-      if (column.property === "createTime") {
-        return dayjs(cellValue).format("YYYY.MM.DD HH:mm:ss");
+      if (
+        column.property === "createTime" ||
+        column.property === "inhosptime"
+      ) {
+        if (cellValue === null) {
+          return "";
+        }
+        return dayjs(cellValue).format("YYYY-MM-DD ");
       }
       return cellValue;
     },
     // 澶氶�夋閫変腑鏁版嵁
     handleSelectionChange(selection) {
-      $emit("handleSelectionChange", selection);
+      console.log(selection);
+
+      this.$emit("handleSelectionChange", selection);
+    },
+    toggleRowSelection(row, selected) {
+      this.$refs.multipleTableson.toggleRowSelection(row, selected);
+    },
+    clearSelection() {
+      // 鍦ㄨ繖閲岀紪鍐欐竻闄ら�夋嫨鐨勯�昏緫
+      this.$refs.multipleTableson.clearSelection();
     },
   },
 };

--
Gitblit v1.9.3