From e87846bfc7e467836d958632b15a22a901eb51d2 Mon Sep 17 00:00:00 2001 From: fuliqi <fuliqi@qq.com> Date: 星期四, 09 一月 2025 15:33:56 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/components/flow/Role/MyRole.vue | 107 +++++++++++++++-------------------------------------- 1 files changed, 31 insertions(+), 76 deletions(-) diff --git a/src/components/flow/Role/MyRole.vue b/src/components/flow/Role/MyRole.vue index f2027a0..e5e9cd7 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,30 @@ 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() { + console.log("鎴戝鍦ㄤ簡") 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 +142,8 @@ ); }, // 澶氶�夋閫変腑鏁版嵁 - handleMultipleRoleSelect(selection) { - this.selectRoleList = selection + handleMultipleRoleSelect(rows) { + this.selectRoleList = [...new Set(rows)] }, /** 鎼滅储鎸夐挳鎿嶄綔 */ handleQuery() { -- Gitblit v1.8.0