From 153404ffa0a9c6d23d2c2732b46fa6929e86294f Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期三, 18 六月 2025 13:56:18 +0800
Subject: [PATCH] 111
---
admin/src/components/system/dict/DictDataManagerWindow.vue | 111 ++++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 81 insertions(+), 30 deletions(-)
diff --git a/admin/src/components/system/dict/DictDataManagerWindow.vue b/admin/src/components/system/dict/DictDataManagerWindow.vue
index f1e0f4a..5fb62d7 100644
--- a/admin/src/components/system/dict/DictDataManagerWindow.vue
+++ b/admin/src/components/system/dict/DictDataManagerWindow.vue
@@ -1,9 +1,9 @@
<template>
<GlobalWindow
- :title="dictName + '鏁版嵁绠$悊'"
- width="78%"
- :visible.sync="visible"
- :with-footer="false"
+ :title="dictName + '鏁版嵁绠$悊'"
+ width="78%"
+ :visible.sync="visible"
+ :with-footer="false"
>
<TableLayout :with-breadcrumb="false">
<!-- 琛ㄦ牸鍜屽垎椤� -->
@@ -11,18 +11,21 @@
<ul class="toolbar">
<li><el-button type="primary" @click="$refs.operaDictDataWindow.open('鏂板缓瀛楀吀鏁版嵁', searchForm.dictId)" icon="el-icon-plus">鏂板缓</el-button></li>
<li><el-button @click="deleteByIdInBatch" icon="el-icon-delete">鍒犻櫎</el-button></li>
+ <li><el-button @click="sort('top')" :loading="isWorking.sort" icon="el-icon-sort-up" v-permissions="['system:menu:sort']">涓婄Щ</el-button></li>
+ <li><el-button @click="sort('bottom')" :loading="isWorking.sort" icon="el-icon-sort-down" v-permissions="['system:menu:sort']">涓嬬Щ</el-button></li>
</ul>
<el-table
- v-loading="isWorking.search"
- :data="tableData.list"
- stripe
- @selection-change="handleSelectionChange"
+ v-loading="isWorking.search"
+ :data="tableData.list"
+ stripe
+ @selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55"></el-table-column>
- <el-table-column prop="label" label="鏁版嵁鏍囩" min-width="100px"></el-table-column>
+ <el-table-column prop="remark" label="鏁版嵁璇存槑" min-width="130px"></el-table-column>
+ <el-table-column prop="label" label="鏁版嵁鏍囩" min-width="130px"></el-table-column>
<el-table-column prop="code" label="鏁版嵁鍊�" min-width="100px">
<template slot-scope="{row}">
- <div v-if="row.code || row.code.length>500" >
+ <div v-if="row.code && row.code.length>20" :title="row.code">
<el-button type="text" @click="showCode(row)" >鐐瑰嚮鏌ョ湅</el-button>
</div>
<div v-else>{{row.code}}</div>
@@ -37,29 +40,27 @@
<el-table-column prop="updateUser" label="鏇存柊浜�" min-width="100px">
<template slot-scope="{row}">{{row.updateUserInfo == null ? '' : row.updateUserInfo.username}}</template>
</el-table-column>
- <el-table-column prop="remark" label="璇存槑" min-width="100px"></el-table-column>
<el-table-column prop="createTime" label="鍒涘缓鏃堕棿" min-width="100px"></el-table-column>
<el-table-column prop="updateTime" label="鏇存柊鏃堕棿" min-width="100px"></el-table-column>
<el-table-column
- label="鎿嶄綔"
- min-width="120"
- fixed="right"
+ label="鎿嶄綔"
+ min-width="120"
+ fixed="right"
>
<template slot-scope="{row}">
- <el-button type="text" @click="$refs.operaDictDataWindow.open('缂栬緫瀛楀吀鏁版嵁', searchForm.dictId, row)" icon="el-icon-edit">缂栬緫</el-button>
+ <el-button type="text" @click="$refs.operaDictDataWindow.open('缂栬緫瀛楀吀鏁版嵁', dictId, row)" icon="el-icon-edit">缂栬緫</el-button>
<el-button type="text" @click="deleteById(row)" icon="el-icon-delete">鍒犻櫎</el-button>
</template>
</el-table-column>
</el-table>
<pagination
- @size-change="handleSizeChange"
- @current-change="handlePageChange"
- :pagination="tableData.pagination"
+ @size-change="handleSizeChange"
+ @current-change="handlePageChange"
+ :pagination="tableData.pagination"
></pagination>
</template>
<!-- 鏂板缓/淇敼 -->
<OperaDictDataWindow ref="operaDictDataWindow" @success="handlePageChange(tableData.pagination.pageIndex)"/>
-
<el-dialog
class="center-title"
title="瀛楀吀鍊�"
@@ -98,21 +99,78 @@
// 瀛楀吀ID
dictId: null
},
+ // 鏄惁姝e湪澶勭悊涓�
+ isWorking: {
+ sort: false
+ },
// 瀛楀吀鍚嶇О
dictName: ''
}
},
methods: {
- // 鎵撳紑鏁版嵁绠$悊
+ showCode(row){
+ this.agreement=row.code
+ this.visible1=true
+ },
+ /**
+ * 鎵撳紑绐楀彛
+ *
+ * @param dictId 瀛楀吀ID
+ * @param dictName 瀛楀吀鍚嶇О
+ */
open (dictId, dictName) {
this.searchForm.dictId = dictId
this.dictName = dictName
this.visible = true
this.search()
},
- showCode(row){
- this.agreement=row.code
- this.visible1=true
+ /**
+ * 鎺掑簭
+ *
+ * @param direction 鏂瑰悜锛屽彇鍊糩top:涓婄Щ,bottom:涓嬬Щ]
+ */
+ sort (direction) {
+ if (this.isWorking.sort) {
+ return
+ }
+ if (this.tableData.selectedRows.length === 0) {
+ this.$tip.warning('璇烽�夋嫨涓�鏉℃暟鎹�')
+ return
+ }
+ if (this.tableData.selectedRows.length > 1) {
+ this.$tip.warning('鎺掑簭鏃朵粎鍏佽閫夋嫨涓�鏉℃暟鎹�')
+ return
+ }
+ const rowId = this.tableData.selectedRows[0].id
+ const index = this.tableData.list.findIndex(item => item.id === rowId)
+ // 涓婄Щ鏍¢獙
+ if (direction === 'top' && index === 0) {
+ this.$tip.warning('鏁版嵁宸插埌椤堕儴')
+ return
+ }
+ // 涓嬬Щ鏍¢獙
+ if (direction === 'bottom' && index === this.tableData.list.length - 1) {
+ this.$tip.warning('鏁版嵁宸插埌搴曢儴')
+ return
+ }
+ this.isWorking.sort = true
+ this.api.sort({
+ id: this.tableData.selectedRows[0].id,
+ direction
+ })
+ .then(() => {
+ if (direction === 'top') {
+ this.tableData.list.splice(index, 0, this.tableData.list.splice(index - 1, 1)[0])
+ } else {
+ this.tableData.list.splice(index, 0, this.tableData.list.splice(index + 1, 1)[0])
+ }
+ })
+ .catch(e => {
+ this.$tip.apiFailed(e)
+ })
+ .finally(() => {
+ this.isWorking.sort = false
+ })
}
},
created () {
@@ -125,12 +183,6 @@
</script>
<style scoped lang="scss">
-.agree-list{
- height: 550px;
- //max-height: 50%;
- overflow: auto;
-}
-
/deep/ .window__body {
.table-content {
padding: 0;
@@ -138,6 +190,5 @@
padding-top: 0;
}
}
-
}
</style>
--
Gitblit v1.9.3