From 3bab59284578d6e6d2fa2f807895c60ebc54bdcc Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期二, 17 六月 2025 16:01:23 +0800
Subject: [PATCH] 测试完成
---
src/components/SFtable/index.vue | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 157 insertions(+), 14 deletions(-)
diff --git a/src/components/SFtable/index.vue b/src/components/SFtable/index.vue
index 1e06198..d8eee6d 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',
@@ -12,9 +19,57 @@
:highlight-current-row="true"
empty-text="鏆傛棤鏁版嵁"
>
- <el-table-column v-if="multiplechoice" type="selection" width="50" align="center" />
- <el-table-column label="搴忓彿" align="center" key="id" prop="id" />
<el-table-column
+ v-if="multiplechoice"
+ fixed="left"
+ type="selection"
+ width="50"
+ align="center"
+ />
+ <el-table-column
+ v-if="serialnumber"
+ label="搴忓彿"
+ align="center"
+ key="id"
+ prop="id"
+ />
+ <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"
@@ -22,10 +77,22 @@
:label="item.label"
:formatter="formatData"
>
- </el-table-column>
+ </el-table-column> -->
+ <!-- <el-table-column
+ label="鏄惁鍙敤"
+ align="center"
+ key="isavailable"
+ prop="isavailable"
+ width="120"
+ >
+ <template slot-scope="scope">
+ <dict-tag :options="qyoptions" :value="scope.row.usestate" />
+ </template>
+ </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"
@@ -35,7 +102,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
@@ -44,7 +111,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
@@ -56,10 +155,17 @@
<script>
import dayjs from "dayjs";
+import store from "@/store";
export default {
data() {
return {
ids: [],
+ mode: [],
+ languagelist: [],
+ editabshape: [],
+ qyoptions: [],
+ precedencetype: [],
+ search: "",
};
},
props: {
@@ -83,13 +189,35 @@
type: Boolean,
default: true,
},
- multiplechoice:{
+ multiplechoice: {
type: Boolean,
default: true,
- }
-
+ },
+ serialnumber: {
+ type: Boolean,
+ default: true,
+ },
+ // 1妯℃澘鍒楄〃 2閫変腑鎮h�� 3鎮h�呭垪琛�
+ typeinfo: {
+ type: Number,
+ default: 1,
+ },
+ heights: {
+ type: Number,
+ default: 600,
+ },
+ searchTrue: {
+ type: Boolean,
+ default: false,
+ },
},
- created() {},
+ created() {
+ this.mode = store.getters.mode;
+ this.languagelist = store.getters.languagelist;
+ this.qyoptions = store.getters.usable;
+ this.precedencetype = store.getters.precedencetype;
+ this.editabshape = store.getters.editabshape;
+ },
methods: {
// 鏁版嵁杩囨护
@@ -100,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