From 6ae0fcef149ddbe614746023a58a3885b3ac4bde Mon Sep 17 00:00:00 2001
From: zxl <763096477@qq.com>
Date: 星期二, 25 三月 2025 11:31:04 +0800
Subject: [PATCH] Merge branch 'dev'
---
src/components/flow/Role/MyRole.vue | 106 +++++++++++++++--------------------------------------
1 files changed, 30 insertions(+), 76 deletions(-)
diff --git a/src/components/flow/Role/MyRole.vue b/src/components/flow/Role/MyRole.vue
index f2027a0..2615f81 100644
--- a/src/components/flow/Role/MyRole.vue
+++ b/src/components/flow/Role/MyRole.vue
@@ -1,11 +1,12 @@
<template>
<div>
<el-dialog
- :title="`閫夋嫨鍊欓�夎鑹瞏"
+ :title="title"
:visible.sync="show"
width="65%"
:destroy-on-close="true"
:close-on-click-modal="false"
+ :modal-append-to-body="false"
:modal="false"
:before-close="close">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch">
@@ -14,6 +15,7 @@
v-model="queryParams.roleName"
placeholder="璇疯緭鍏ヨ鑹插悕绉�"
clearable
+ @clear="handleQuery"
style="width: 240px"
@keyup.enter.native="handleQuery"
/>
@@ -24,13 +26,13 @@
</el-form-item>
</el-form>
- <el-table ref="dataTable" v-loading="loading" :data="roleList" @selection-change="handleMultipleRoleSelect">
- <el-table-column type="selection" width="50" align="center" />
- <el-table-column label="瑙掕壊缂栧彿" prop="roleId" width="120" />
- <el-table-column label="瑙掕壊鍚嶇О" prop="roleName" :show-overflow-tooltip="true" width="150" />
- <el-table-column label="鏉冮檺瀛楃" prop="roleKey" :show-overflow-tooltip="true" width="150" />
- <el-table-column label="鏄剧ず椤哄簭" prop="roleSort" width="100" />
- <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" width="180">
+ <el-table ref="dataTable" :row-key="getRowKey" v-loading="loading" :data="roleList" @selection-change="handleMultipleRoleSelect">
+ <el-table-column type="selection" width="50" align="center" :reserve-selection="true"/>
+ <el-table-column label="瑙掕壊缂栧彿" prop="roleId"/>
+ <el-table-column label="瑙掕壊鍚嶇О" prop="roleName" :show-overflow-tooltip="true"/>
+ <el-table-column label="鏉冮檺瀛楃" prop="roleKey" :show-overflow-tooltip="true"/>
+ <el-table-column label="鏄剧ず椤哄簭" prop="roleSort"/>
+ <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
@@ -68,6 +70,11 @@
required: true,
default: true
},
+ title: {
+ type: String,
+ required: false,
+ default: '鍊欓�夎鑹�'
+ },
// 鍥炴樉鏁版嵁浼犲��
selectValues: {
type: Array,
@@ -79,22 +86,12 @@
return {
// 閬僵灞�
loading: true,
- // 閫変腑鏁扮粍
- ids: [],
- // 闈炲崟涓鐢�
- single: true,
- // 闈炲涓鐢�
- multiple: true,
// 鏄剧ず鎼滅储鏉′欢
showSearch: true,
// 鎬绘潯鏁�
total: 0,
// 瑙掕壊琛ㄦ牸鏁版嵁
roleList: [],
- // 寮瑰嚭灞傛爣棰�
- title: "",
- // 鏄惁鏄剧ず寮瑰嚭灞�
- open: false,
// 鏌ヨ鍙傛暟
queryParams: {
pageNum: 1,
@@ -103,72 +100,29 @@
roleKey: undefined,
status: undefined
},
- // 琛ㄥ崟鍙傛暟
- form: {},
- radioSelected: 0, // 鍗曢�夋浼犲��
selectRoleList: [] // 鍥炴樉鏁版嵁浼犲��
};
},
watch: {
- selectValues: {
- deep: true,
- handler(newVal) {
- if (newVal && newVal.length > 0) {
- this.$nextTick(() => {
- this.$refs.dataTable.clearSelection();
- this.selectRoleList = []
- newVal.forEach(item => {
- this.roleList.forEach(role => {
- if (item.roleId === role.roleId) {
- this.selectRoleList.push(role)
- this.$refs.dataTable.toggleRowSelection(role)
- }
- })
- });
- })
- } else {
- this.selectRoleList = []
- }
- }
- },
- roleList: {
- deep: true,
- handler(newVal) {
- if (newVal && newVal.length > 0) {
- this.$nextTick(() => {
- this.$refs.dataTable.clearSelection();
- this.selectValues.forEach(item => {
- newVal.forEach(role => {
- if (item.roleId === role.roleId) {
- this.$refs.dataTable.toggleRowSelection(role)
- }
- })
- });
- })
- }
- }
- }
},
mounted() {
this.getList();
},
methods: {
+ // 淇濆瓨閫変腑鐨勬暟鎹甶d,row-key灏辨槸瑕佹寚瀹氫竴涓猭ey鏍囪瘑杩欎竴琛岀殑鏁版嵁
+ getRowKey (row) {
+ console.log(row.roleId)
+ return row.roleId
+ },
setChecked(val) {
- if (val && val.length > 0) {
- this.$nextTick(() => {
- this.$refs.dataTable.clearSelection();
- this.selectRoleList = val
- val.forEach(check => {
- this.roleList.forEach(item => {
- if (check.roleId === item.roleId) {
- this.$refs.dataTable.toggleRowSelection(item)
- }
- })
- })
- });
- } else {
- this.selectRoleList = []
- }
+
+ this.selectRoleList = val
+ console.log("鎺ユ敹鍒扮殑鏁版嵁", this.selectRoleList)
+ this.$nextTick(() => {
+ this.selectRoleList.forEach(check => {
+ this.$refs.dataTable.toggleRowSelection(check, true)
+ })
+ });
},
close() {
this.$emit("close")
@@ -187,8 +141,8 @@
);
},
// 澶氶�夋閫変腑鏁版嵁
- handleMultipleRoleSelect(selection) {
- this.selectRoleList = selection
+ handleMultipleRoleSelect(rows) {
+ this.selectRoleList = [...new Set(rows)]
},
/** 鎼滅储鎸夐挳鎿嶄綔 */
handleQuery() {
--
Gitblit v1.8.0