From e353f0e17dc46203512dd272c5b559b094e40761 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期五, 25 七月 2025 15:02:36 +0800
Subject: [PATCH] 测试完成
---
src/components/SFtable/index.vue | 164 ++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 150 insertions(+), 14 deletions(-)
diff --git a/src/components/SFtable/index.vue b/src/components/SFtable/index.vue
index 18e3057..85758a2 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,12 +21,71 @@
>
<el-table-column
v-if="multiplechoice"
+ fixed="left"
type="selection"
width="50"
align="center"
/>
- <el-table-column label="搴忓彿" align="center" key="id" prop="id" />
<el-table-column
+ v-if="serialnumber"
+ label="搴忓彿"
+ align="center"
+ key="id"
+ prop="id"
+ />
+ <el-table-column
+ v-if="agenumber"
+ label="骞撮緞"
+ align="center"
+ key="age"
+ prop="age"
+ width="160"
+ >
+ <template slot-scope="scope">
+ <span v-if="scope.row.age"
+ >{{ scope.row.age }}{{ scope.row.ageUnit }}</span
+ ><span v-if="scope.row.age2"
+ >{{ scope.row.age2 }}{{ scope.row.ageUnit2 }}</span
+ >
+ </template>
+ </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>{{ parseTime(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"
@@ -27,8 +93,8 @@
:label="item.label"
:formatter="formatData"
>
- </el-table-column>
- <el-table-column
+ </el-table-column> -->
+ <!-- <el-table-column
label="鏄惁鍙敤"
align="center"
key="isavailable"
@@ -36,11 +102,11 @@
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"
@@ -52,7 +118,7 @@
v-if="controlxz"
size="medium"
type="text"
- @click.native="$emit('handleUpdate', scope.row)"
+ @click.native="$emit('selectfn', scope.row, typeinfo)"
><span class="button-zx"
><i class="el-icon-s-promotion"></i>閫夋嫨</span
></el-button
@@ -61,7 +127,39 @@
v-if="controlsc"
size="medium"
type="text"
- @click.native="$emit('details', scope.row)"
+ @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"
+ 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
@@ -73,6 +171,7 @@
<script>
import dayjs from "dayjs";
+import store from "@/store";
export default {
data() {
return {
@@ -80,8 +179,9 @@
mode: [],
languagelist: [],
editabshape: [],
- usable: [],
+ qyoptions: [],
precedencetype: [],
+ search: "",
};
},
props: {
@@ -109,11 +209,32 @@
type: Boolean,
default: true,
},
+ serialnumber: {
+ type: Boolean,
+ default: true,
+ },
+ agenumber: {
+ type: Boolean,
+ default: false,
+ },
+ // 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;
},
@@ -127,14 +248,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