From d8fb0c14cc41675d21ec5d932de53465932e72b3 Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期五, 06 一月 2023 16:44:23 +0800
Subject: [PATCH] 1.用户清单 列设置前端完成
---
src/views/jcsz/yhqd.vue | 409 ++++++++++++++++++++++++++++++++++++++--------------------
1 files changed, 266 insertions(+), 143 deletions(-)
diff --git a/src/views/jcsz/yhqd.vue b/src/views/jcsz/yhqd.vue
index 62da8a5..d7c7a50 100644
--- a/src/views/jcsz/yhqd.vue
+++ b/src/views/jcsz/yhqd.vue
@@ -99,8 +99,13 @@
</div>
<div class="elTableDiv">
+ <!-- <TableColumnSettings-->
+ <!-- :list1="tableColumnSettingsArray"-->
+ <!-- @tableColumnUpdate="tableColumnUpdate"-->
+ <!-- />-->
<el-table
ref="tableDataRef"
+ :key="tableTimeStampKey"
:data="tableData"
class="tableFixed"
:height="isExpandForm?tableHeight:(tableHeight+40)+'px'"
@@ -112,152 +117,178 @@
border
@sort-change="sortChange"
>
+
+ <el-table-column
+ v-for="item in tableColumnSettingsArray"
+ v-if="item.show"
+ :key="item.id"
+ :sortable="item.sortable"
+ :prop="item.prop"
+ :min-width="item.minWidth"
+ :label="item.label"
+ :width="item.width"
+ show-tooltip-when-overflow
+ :fixed="item.fixed?(item.fixed==='left'?'left':'right'):false"
+ >
+ <template slot-scope="{row}">
+ <div v-if="row[item.prop]==='1'&&row.wagetype">璁℃椂鍒�</div>
+ <div v-else-if="row[item.prop]==='2'&&row.wagetype">璁′欢鍒�</div>
+ <div v-else-if="row[item.prop]==='Y'&& item.prop==='enable'"><i class="el-icon-success" :style="{color:$store.state.settings.theme}" style="margin-right: 2px" />鍦ㄨ亴</div>
+ <div v-else-if="row[item.prop]==='N'&& item.prop==='enable'"><i class="el-icon-info" style="margin-right: 2px" />绂昏亴</div>
+ <div v-else-if="row[item.prop]==='Y'&& item.prop==='is_role'"><i class="el-icon-share" :style="{color:$store.state.settings.theme}" @click="roleClick({row})" /></div>
+ <div v-else-if="row[item.prop]==='N'&& item.prop==='is_role'"><i class="el-icon-share" style="color: rgb(180 ,181, 185)" @click="roleClick({row})" /></div>
+ <div v-else-if="!row[item.prop]">/</div>
+ <div v-else>{{ row[item.prop] }}</div>
+ </template>
+ </el-table-column>
+
<!-- <el-table-column-->
<!-- type="selection"-->
<!-- width="50"-->
<!-- />-->
- <el-table-column
- prop="RowNum"
- width="50"
- label="搴忓彿"
- fixed
- />
- <el-table-column
- prop="usercode"
- label="鐢ㄦ埛缂栫爜"
- show-tooltip-when-overflow
- min-width="110"
- sortable="custom"
- />
- <el-table-column
- prop="username"
- label="鐢ㄦ埛鍚嶇О"
- min-width="110"
- sortable="custom"
- show-tooltip-when-overflow
- />
- <el-table-column
- prop="password"
- label="鐢ㄦ埛瀵嗙爜"
- min-width="110"
- sortable="custom"
- show-tooltip-when-overflow
- />
- <el-table-column
- prop="org_name"
- label="鎵�灞炵粍缁�"
- min-width="110"
- show-tooltip-when-overflow
- sortable="custom"
- >
- <template slot-scope="{row}">
- <div v-if="row.org_name">{{ row.org_name }}</div>
- <div v-else>/</div>
- </template>
- </el-table-column>
- <el-table-column
- prop="group_name"
- label="鐢熶骇鐝粍"
- show-tooltip-when-overflow
- min-width="110"
- sortable="custom"
- >
- <template slot-scope="{row}">
- <div v-if="row.group_name">{{ row.group_name }}</div>
- <div v-else>/</div>
- </template>
- </el-table-column>
- <el-table-column
- prop="wagetype"
- label="宸ヨ祫绫诲瀷"
- show-tooltip-when-overflow
- sortable="custom"
- width="110"
- >
- <template slot-scope="{row}">
- <div v-if="row.wagetype==='1'">璁℃椂鍒�</div>
- <div v-if="row.wagetype==='2'">璁′欢鍒�</div>
- </template>
- </el-table-column>
- <el-table-column
- prop="mobile"
- label="鑱旂郴鏂瑰紡"
- show-tooltip-when-overflow
- min-width="110"
- sortable="custom"
- >
- <template slot-scope="{row}">
- <div v-if="row.mobile===''">/</div>
- <div v-else>{{ row.mobile }}</div>
- </template>
- </el-table-column>
- <el-table-column
- prop="email"
- label="鐢靛瓙閭"
- sortable="custom"
- show-tooltip-when-overflow
- min-width="110"
- >
- <template slot-scope="{row}">
- <div v-if="row.email===''">/</div>
- <div v-else>{{ row.email }}</div>
- </template>
- </el-table-column>
- <el-table-column
- prop="enable"
- show-tooltip-when-overflow
- label="鍦ㄨ亴鐘舵��"
- width="110"
- sortable="custom"
- >
- <template slot-scope="{row}">
- <div v-if="row.enable==='Y'">
- <!-- <svg-icon icon-class="circleYes" style="margin-right: 2px" />-->
- <i class="el-icon-success" :style="{color:$store.state.settings.theme}" style="margin-right: 2px" />
- 鍦ㄨ亴
- </div>
- <div v-if="row.enable==='N'">
- <!--/* <svg-icon icon-class="circleNo" style="margin-right: 2px" />*/-->
- <i class="el-icon-info" style="margin-right: 2px" />
- 绂昏亴
- </div>
- </template>
- </el-table-column>
- <el-table-column
- prop="lm_user"
- label="鍒涘缓浜哄憳"
- show-tooltip-when-overflow
- width="110"
- sortable="custom"
- />
- <el-table-column
- prop="lm_date"
- label="鍒涘缓鏃堕棿"
- show-tooltip-when-overflow
- width="160"
- sortable="custom"
- />
- <el-table-column
- prop="is_role"
- label="鍏宠仈瑙掕壊"
- show-tooltip-when-overflow
- width="110"
- >
- <template slot-scope="{row}">
- <i
- v-if="row.is_role==='Y'"
- :style="{color:$store.state.settings.theme}"
- class="el-icon-share"
- @click="roleClick({row})"
- />
- <i
- v-if="row.is_role==='N'"
- class="el-icon-share"
- style="color: rgb(180 ,181, 185)"
- @click="roleClick({row})"
- />
- </template>
- </el-table-column>
+
+ <!-- <el-table-column-->
+ <!-- prop="RowNum"-->
+ <!-- width="50"-->
+ <!-- label="搴忓彿"-->
+ <!-- fixed-->
+ <!-- />-->
+ <!-- <el-table-column-->
+ <!-- prop="usercode"-->
+ <!-- label="鐢ㄦ埛缂栫爜"-->
+ <!-- show-tooltip-when-overflow-->
+ <!-- min-width="110"-->
+ <!-- sortable="custom"-->
+ <!-- />-->
+ <!-- <el-table-column-->
+ <!-- prop="username"-->
+ <!-- label="鐢ㄦ埛鍚嶇О"-->
+ <!-- min-width="110"-->
+ <!-- sortable="custom"-->
+ <!-- show-tooltip-when-overflow-->
+ <!-- />-->
+ <!-- <el-table-column-->
+ <!-- prop="password"-->
+ <!-- label="鐢ㄦ埛瀵嗙爜"-->
+ <!-- min-width="110"-->
+ <!-- sortable="custom"-->
+ <!-- show-tooltip-when-overflow-->
+ <!-- />-->
+ <!-- <el-table-column-->
+ <!-- prop="org_name"-->
+ <!-- label="鎵�灞炵粍缁�"-->
+ <!-- min-width="110"-->
+ <!-- show-tooltip-when-overflow-->
+ <!-- sortable="custom"-->
+ <!-- >-->
+ <!-- <template slot-scope="{row}">-->
+ <!-- <div v-if="row.org_name">{{ row.org_name }}</div>-->
+ <!-- <div v-else>/</div>-->
+ <!-- </template>-->
+ <!-- </el-table-column>-->
+ <!-- <el-table-column-->
+ <!-- prop="group_name"-->
+ <!-- label="鐢熶骇鐝粍"-->
+ <!-- show-tooltip-when-overflow-->
+ <!-- min-width="110"-->
+ <!-- sortable="custom"-->
+ <!-- >-->
+ <!-- <template slot-scope="{row}">-->
+ <!-- <div v-if="row.group_name">{{ row.group_name }}</div>-->
+ <!-- <div v-else>/</div>-->
+ <!-- </template>-->
+ <!-- </el-table-column>-->
+ <!-- <el-table-column-->
+ <!-- prop="wagetype"-->
+ <!-- label="宸ヨ祫绫诲瀷"-->
+ <!-- show-tooltip-when-overflow-->
+ <!-- sortable="custom"-->
+ <!-- width="110"-->
+ <!-- >-->
+ <!-- <template slot-scope="{row}">-->
+ <!-- <div v-if="row.wagetype==='1'">璁℃椂鍒�</div>-->
+ <!-- <div v-if="row.wagetype==='2'">璁′欢鍒�</div>-->
+ <!-- </template>-->
+ <!-- </el-table-column>-->
+ <!-- <el-table-column-->
+ <!-- prop="mobile"-->
+ <!-- label="鑱旂郴鏂瑰紡"-->
+ <!-- show-tooltip-when-overflow-->
+ <!-- min-width="110"-->
+ <!-- sortable="custom"-->
+ <!-- >-->
+ <!-- <template slot-scope="{row}">-->
+ <!-- <div v-if="row.mobile===''">/</div>-->
+ <!-- <div v-else>{{ row.mobile }}</div>-->
+ <!-- </template>-->
+ <!-- </el-table-column>-->
+ <!-- <el-table-column-->
+ <!-- prop="email"-->
+ <!-- label="鐢靛瓙閭"-->
+ <!-- sortable="custom"-->
+ <!-- show-tooltip-when-overflow-->
+ <!-- min-width="110"-->
+ <!-- >-->
+ <!-- <template slot-scope="{row}">-->
+ <!-- <div v-if="row.email===''">/</div>-->
+ <!-- <div v-else>{{ row.email }}</div>-->
+ <!-- </template>-->
+ <!-- </el-table-column>-->
+ <!-- <el-table-column-->
+ <!-- prop="enable"-->
+ <!-- show-tooltip-when-overflow-->
+ <!-- label="鍦ㄨ亴鐘舵��"-->
+ <!-- width="110"-->
+ <!-- sortable="custom"-->
+ <!-- >-->
+ <!-- <template slot-scope="{row}">-->
+ <!-- <div v-if="row.enable==='Y'">-->
+ <!-- <!– <svg-icon icon-class="circleYes" style="margin-right: 2px" />–>-->
+ <!-- <i class="el-icon-success" :style="{color:$store.state.settings.theme}" style="margin-right: 2px" />-->
+ <!-- 鍦ㄨ亴-->
+ <!-- </div>-->
+ <!-- <div v-if="row.enable==='N'">-->
+ <!-- <!–/* <svg-icon icon-class="circleNo" style="margin-right: 2px" />*/–>-->
+ <!-- <i class="el-icon-info" style="margin-right: 2px" />-->
+ <!-- 绂昏亴-->
+ <!-- </div>-->
+ <!-- </template>-->
+ <!-- </el-table-column>-->
+ <!-- <el-table-column-->
+ <!-- prop="lm_user"-->
+ <!-- label="鍒涘缓浜哄憳"-->
+ <!-- show-tooltip-when-overflow-->
+ <!-- width="110"-->
+ <!-- sortable="custom"-->
+ <!-- />-->
+ <!-- <el-table-column-->
+ <!-- prop="lm_date"-->
+ <!-- label="鍒涘缓鏃堕棿"-->
+ <!-- show-tooltip-when-overflow-->
+ <!-- width="160"-->
+ <!-- sortable="custom"-->
+ <!-- />-->
+ <!-- <el-table-column-->
+ <!-- prop="is_role"-->
+ <!-- label="鍏宠仈瑙掕壊"-->
+ <!-- show-tooltip-when-overflow-->
+ <!-- width="110"-->
+ <!-- >-->
+ <!-- <template slot-scope="{row}">-->
+ <!-- <i-->
+ <!-- v-if="row.is_role==='Y'"-->
+ <!-- :style="{color:$store.state.settings.theme}"-->
+ <!-- class="el-icon-share"-->
+ <!-- @click="roleClick({row})"-->
+ <!-- />-->
+ <!-- <i-->
+ <!-- v-if="row.is_role==='N'"-->
+ <!-- class="el-icon-share"-->
+ <!-- style="color: rgb(180 ,181, 185)"-->
+ <!-- @click="roleClick({row})"-->
+ <!-- />-->
+ <!-- </template>-->
+ <!-- </el-table-column>-->
<el-table-column
label="鎿嶄綔"
fixed="right"
@@ -622,11 +653,12 @@
import clearAllChildren, { validateCode } from '@/utils/global'
import { MesOrderStepReportSelectUserGroup } from '@/api/scgl'
import elDragDialog from '@/directive/el-drag-dialog'
+import TableColumnSettings from '@/components/TableColumnSettings'
export default {
name: 'YYQD',
components: {
- Pagination, ImportPicker
+ Pagination, ImportPicker, TableColumnSettings
},
directives: { elDragDialog },
data() {
@@ -690,6 +722,90 @@
], // 鍦ㄨ亴鐘舵��
total: 10,
tableData: [],
+
+ tableColumnSettingsArray: [
+ { minWidth: 50, width: false, prop: 'id', label: 'id', id: 1, show: false, fixed: false, sortable: false },
+ { minWidth: 25, width: 50, prop: 'RowNum', label: '搴忓彿', id: 2, show: true, fixed: 'left', sortable: false },
+ {
+ minWidth: 110,
+ width: false,
+ prop: 'usercode',
+ label: '鐢ㄦ埛缂栫爜',
+ id: 3,
+ show: true,
+ fixed: false,
+ sortable: true
+ },
+ {
+ minWidth: 110,
+ width: false,
+ prop: 'username',
+ label: '鐢ㄦ埛鍚嶇О',
+ id: 4,
+ show: true,
+ fixed: false,
+ sortable: true
+ },
+ { minWidth: 110, width: false, prop: 'password', label: '鐢ㄦ埛瀵嗙爜', id: 5, show: true, fixed: false, sortable: 'custom' },
+ { minWidth: 110, width: false, prop: 'stu_torgcode', label: '缁勭粐缂栫爜', id: 6, show: false, fixed: false, sortable: 'custom' },
+ { minWidth: 110, width: false, prop: 'org_name', label: '鎵�灞炵粍缁�', id: 7, show: true, fixed: false, sortable: 'custom' },
+ { minWidth: 110, width: false, prop: 'group_code', label: '鐝粍缂栫爜', id: 8, show: false, fixed: false, sortable: 'custom' },
+ { minWidth: 110, width: false, prop: 'group_name', label: '鐢熶骇鐝粍', id: 9, show: true, fixed: false, sortable: 'custom' },
+ { minWidth: 110, width: false, prop: 'wagetype', label: '宸ヨ祫绫诲瀷', id: 10, show: true, fixed: false, sortable: 'custom' },
+ { minWidth: 110, width: false, prop: 'mobile', label: '鑱旂郴鏂瑰紡', id: 11, show: true, fixed: false, sortable: 'custom' },
+ {
+ minWidth: 110,
+ width: false,
+ prop: 'email',
+ label: '鐢靛瓙閭',
+ id: 12,
+ show: true,
+ fixed: false,
+ sortable: 'custom'
+ },
+ {
+ minWidth: 110,
+ width: false,
+ prop: 'enable',
+ label: '鍦ㄨ亴鐘舵��',
+ id: 13,
+ show: true,
+ fixed: false,
+ sortable: 'custom'
+ },
+ {
+ minWidth: 110,
+ width: false,
+ prop: 'lm_user',
+ label: '鍒涘缓浜哄憳',
+ id: 14,
+ show: true,
+ fixed: false,
+ sortable: 'custom'
+ },
+ {
+ minWidth: 160,
+ width: false,
+ prop: 'lm_date',
+ label: '鍒涘缓鏃堕棿',
+ id: 15,
+ show: true,
+ fixed: false,
+ sortable: 'custom'
+ },
+ {
+ minWidth: 110,
+ width: false,
+ prop: 'is_role',
+ label: '鍏宠仈瑙掕壊',
+ id: 16,
+ show: true,
+ fixed: false,
+ sortable: false
+ }
+ ],
+ tableTimeStampKey: new Date().getTime(), // 琛ㄦ牸key
+
dialogVisible: false,
dialogForm: {
id: '',
@@ -787,6 +903,13 @@
this.getHeight()
},
methods: {
+ tableColumnUpdate(val, isCopyTrue) {
+ if (isCopyTrue) {
+ this.tableColumnSettingsArray = val
+ }
+ this.tableTimeStampKey = new Date().getTime()
+ this.$refs.tableDataRef.doLayout()
+ },
handleRequest() {
this.getUserSearch().then(res => {
if (res.code === '200') {
--
Gitblit v1.9.3