@ -2243,13 +2243,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, `
@@ -2243,13 +2243,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, `
max - width : 800 px ;
}
/* 设置标题图标样式 */
. page - header h2 i [ data - v - 69 b5cd1d ] ,
. settings - section h3 i [ data - v - 69 b5cd1d ] {
margin - right : 8 px ;
color : var ( -- accent - color ) ;
font - size : 0.9 em ;
}
@ -3242,7 +3236,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, `/* ===== 通用管理页面样式 ====
@@ -3242,7 +3236,7 @@ ___CSS_LOADER_EXPORT___.push([module.id, `/* ===== 通用管理页面样式 ====
. setting - item input [ type = "number" ] ,
. setting - item select {
width : 100 % ;
padding : 8 px 12 px ;
padding : 4 px 12 px ;
border : 1 px solid var ( -- input - border ) ;
border - radius : 6 px ;
font - size : 12 px ;
@ -3443,11 +3437,122 @@ th {
@@ -3443,11 +3437,122 @@ th {
justify - content : center ;
align - items : center ;
gap : 20 px ;
margin - top : 16 px ;
}
. page - info {
color : # 666 ;
font - size : 14 px ;
color : var ( -- text - secondary ) ;
font - size : 12 px ;
margin : 0 15 px ;
}
/* 分页导航链接样式 */
. pagination - nav {
display : flex ;
align - items : center ;
gap : 8 px ;
}
. pagination - link {
color : var ( -- accent - color ) ;
text - decoration : none ;
padding : 4 px 8 px ;
border - radius : 4 px ;
font - size : 12 px ;
transition : all 0.2 s ;
cursor : pointer ;
}
. pagination - link : hover {
background : var ( -- bg - secondary ) ;
color : var ( -- accent - hover ) ;
}
. pagination - link . disabled {
color : var ( -- text - muted ) ;
cursor : not - allowed ;
pointer - events : none ;
}
. pagination - link . active {
background : var ( -- accent - color ) ;
color : white ;
}
/* 分页设置区域 */
. pagination - settings {
display : flex ;
align - items : center ;
gap : 10 px ;
margin - left : 20 px ;
}
. pagination - settings label {
font - size : 12 px ;
color : var ( -- text - secondary ) ;
margin : 0 ;
}
. pagination - settings select {
padding : 4 px 8 px ;
border : 1 px solid var ( -- input - border ) ;
border - radius : 4 px ;
font - size : 12 px ;
background - color : var ( -- input - bg ) ;
color : var ( -- input - text ) ;
min - width : 60 px ;
}
. pagination - settings select : focus {
outline : none ;
border - color : var ( -- accent - color ) ;
box - shadow : 0 0 0 2 px rgba ( 74 , 158 , 255 , 0.2 ) ;
}
/* 跳转页面输入框 */
. page - jump {
display : flex ;
align - items : center ;
gap : 5 px ;
font - size : 12 px ;
}
. page - jump span {
font - size : 12 px ;
color : var ( -- text - secondary ) ;
}
. page - jump input {
width : 50 px ;
padding : 4 px 8 px ;
border : 1 px solid var ( -- input - border ) ;
border - radius : 4 px ;
font - size : 12 px ;
background - color : var ( -- input - bg ) ;
color : var ( -- input - text ) ;
text - align : center ;
}
. page - jump input : focus {
outline : none ;
border - color : var ( -- accent - color ) ;
box - shadow : 0 0 0 2 px rgba ( 74 , 158 , 255 , 0.2 ) ;
}
. page - jump button {
color : var ( -- accent - color ) ;
background : none ;
border : none ;
font - size : 12 px ;
cursor : pointer ;
padding : 4 px 8 px ;
border - radius : 4 px ;
transition : all 0.2 s ;
}
. page - jump button : hover {
background : var ( -- bg - secondary ) ;
color : var ( -- accent - hover ) ;
}
/* 分页按钮字体大小统一 */
@ -3466,7 +3571,7 @@ th {
@@ -3466,7 +3571,7 @@ th {
. page - header ,
. profile - header {
text - align : center ;
margin - bottom : 26 px ;
margin - bottom : 3 2px ;
}
. page - header h2 ,
@ -3502,11 +3607,11 @@ th {
@@ -3502,11 +3607,11 @@ th {
/* 卡片头部 - 统一样式 */
. card - header ,
. settings - section h3 {
margin : 0 0 16 px 0 ;
margin : 0 0 20 px 0 ;
color : var ( -- text - primary ) ;
font - size : 14 px ;
border - bottom : 2 px solid var ( -- border - color ) ;
padding - bottom : 8 px ;
padding - bottom : 12 px ;
}
. card - header h2 ,
@ -3516,6 +3621,16 @@ th {
@@ -3516,6 +3621,16 @@ th {
color : var ( -- text - primary ) ;
}
/* 页面标题和分组标题图标样式 - 统一样式 */
. page - header h2 i ,
. profile - header h1 i ,
. card - header h2 i ,
. settings - section h3 i {
margin - right : 8 px ;
color : var ( -- accent - color ) ;
font - size : 0.9 em ;
}
/* 信息网格 */
. info - grid {
display : flex ;
@ -3529,8 +3644,9 @@ th {
@@ -3529,8 +3644,9 @@ th {
display : flex ;
align - items : center ;
justify - content : space - between ;
margin - bottom : 16 px ;
padding : 12 px 0 ;
margin - top : 6 px ;
margin - bottom : 6 px ;
padding : 6 px 0 ;
border - bottom : 1 px solid # f5f5f5 ;
}
@ -3622,7 +3738,7 @@ th {
@@ -3622,7 +3738,7 @@ th {
display : flex ;
gap : 16 px ;
justify - content : flex - end ;
margin - top : 26 px ;
margin - top : 3 2px ;
}
/* ===== 模态框样式 ===== */
@ -6457,6 +6573,7 @@ __webpack_require__.r(__webpack_exports__);
@@ -6457,6 +6573,7 @@ __webpack_require__.r(__webpack_exports__);
const pageSize = ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . ref ) ( 10 )
const total = ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . ref ) ( 0 )
const searchQuery = ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . ref ) ( '' )
const jumpPage = ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . ref ) ( '' )
const roleForm = ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . reactive ) ( {
name : '' ,
@ -6497,7 +6614,9 @@ __webpack_require__.r(__webpack_exports__);
@@ -6497,7 +6614,9 @@ __webpack_require__.r(__webpack_exports__);
roles : roles . value ,
total : total . value ,
page : currentPage . value ,
pageSize : pageSize . value
pageSize : pageSize . value ,
totalPages : Math . ceil ( ( response . data . total || 0 ) / pageSize . value ) ,
shouldShowPagination : ( response . data . total || 0 ) > 0
} )
} else {
console . error ( '获取角色列表失败: 响应格式错误' , response )
@ -6593,10 +6712,25 @@ __webpack_require__.r(__webpack_exports__);
@@ -6593,10 +6712,25 @@ __webpack_require__.r(__webpack_exports__);
// 分页处理
const handleCurrentChange = ( val ) => {
currentPage . value = val
if ( val >= 1 && val <= Math . ceil ( total . value / pageSize . value ) ) {
currentPage . value = val
loadRoles ( )
}
}
const handlePageSizeChange = ( ) => {
currentPage . value = 1
loadRoles ( )
}
const handleJumpPage = ( ) => {
const totalPages = Math . ceil ( total . value / pageSize . value )
if ( jumpPage . value && jumpPage . value >= 1 && jumpPage . value <= totalPages ) {
handleCurrentChange ( jumpPage . value )
jumpPage . value = ''
}
}
// 格式化日期
const formatDate = ( dateStr ) => {
if ( ! dateStr ) return ''
@ -6631,6 +6765,7 @@ __webpack_require__.r(__webpack_exports__);
@@ -6631,6 +6765,7 @@ __webpack_require__.r(__webpack_exports__);
pageSize ,
total ,
searchQuery ,
jumpPage ,
roleForm ,
filteredRoles ,
createNewRole ,
@ -6640,6 +6775,8 @@ __webpack_require__.r(__webpack_exports__);
@@ -6640,6 +6775,8 @@ __webpack_require__.r(__webpack_exports__);
assignPermissions ,
handlePermissionsUpdated ,
handleCurrentChange ,
handlePageSizeChange ,
handleJumpPage ,
handleSearch ,
formatDate
}
@ -7744,6 +7881,7 @@ __webpack_require__.r(__webpack_exports__);
@@ -7744,6 +7881,7 @@ __webpack_require__.r(__webpack_exports__);
const searchQuery = ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . ref ) ( '' )
const statusFilter = ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . ref ) ( '' )
const roleFilter = ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . ref ) ( '' )
const jumpPage = ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . ref ) ( '' )
const showAddUserModal = ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . ref ) ( false )
const showEditUserModal = ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . ref ) ( false )
@ -7827,10 +7965,24 @@ __webpack_require__.r(__webpack_exports__);
@@ -7827,10 +7965,24 @@ __webpack_require__.r(__webpack_exports__);
}
const changePage = ( page ) => {
currentPage . value = page
if ( page >= 1 && page <= totalPages . value ) {
currentPage . value = page
loadUsers ( )
}
}
const handlePageSizeChange = ( ) => {
currentPage . value = 1
loadUsers ( )
}
const handleJumpPage = ( ) => {
if ( jumpPage . value && jumpPage . value >= 1 && jumpPage . value <= totalPages . value ) {
changePage ( jumpPage . value )
jumpPage . value = ''
}
}
const editUser = ( user ) => {
editingUser . value = user
Object . assign ( userForm , {
@ -7908,6 +8060,7 @@ __webpack_require__.r(__webpack_exports__);
@@ -7908,6 +8060,7 @@ __webpack_require__.r(__webpack_exports__);
searchQuery ,
statusFilter ,
roleFilter ,
jumpPage ,
showAddUserModal ,
showEditUserModal ,
showRoleAssignmentModal ,
@ -7921,6 +8074,8 @@ __webpack_require__.r(__webpack_exports__);
@@ -7921,6 +8074,8 @@ __webpack_require__.r(__webpack_exports__);
handleSearch ,
handleFilter ,
changePage ,
handlePageSizeChange ,
handleJumpPage ,
editUser ,
submitUser ,
deleteUser ,
@ -9495,20 +9650,19 @@ const _hoisted_9 = { class: "actions" }
@@ -9495,20 +9650,19 @@ const _hoisted_9 = { class: "actions" }
const _hoisted _10 = [ "onClick" ]
const _hoisted _11 = [ "onClick" ]
const _hoisted _12 = [ "onClick" ]
const _hoisted _13 = {
key : 0 ,
class : "pagination"
}
const _hoisted _14 = [ "disabled" ]
const _hoisted _13 = { class : "pagination" }
const _hoisted _14 = { class : "pagination-nav" }
const _hoisted _15 = { class : "page-info" }
const _hoisted _16 = [ "disabled" ]
const _hoisted _17 = { class : "modal-header " }
const _hoisted _18 = { class : "modal-body" }
const _hoisted _19 = { class : "form-group " }
const _hoisted _20 = { class : "form-group " }
const _hoisted _16 = { class : "pagination-settings" }
const _hoisted _17 = { class : "page-jump" }
const _hoisted _18 = [ "max" ]
const _hoisted _19 = { class : "modal-header " }
const _hoisted _20 = { class : "modal-body " }
const _hoisted _21 = { class : "form-group" }
const _hoisted _22 = { class : "form-actions" }
const _hoisted _23 = [ "disabled" ]
const _hoisted _22 = { class : "form-group" }
const _hoisted _23 = { class : "form-group" }
const _hoisted _24 = { class : "form-actions" }
const _hoisted _25 = [ "disabled" ]
function render ( _ctx , _cache , $props , $setup , $data , $options ) {
const _component _RolePermissionAssignment = ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . resolveComponent ) ( "RolePermissionAssignment" )
@ -9517,7 +9671,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
@@ -9517,7 +9671,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createCommentVNode ) ( " 搜索和操作 " ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "div" , _hoisted _2 , [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "div" , _hoisted _3 , [
_cache [ 15 ] || ( _cache [ 15 ] = ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "i" , { class : "fas fa-search" } , null , - 1 /* CACHED */ ) ) ,
_cache [ 22 ] || ( _cache [ 22 ] = ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "i" , { class : "fas fa-search" } , null , - 1 /* CACHED */ ) ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . withDirectives ) ( ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "input" , {
"onUpdate:modelValue" : _cache [ 0 ] || ( _cache [ 0 ] = $event => ( ( $setup . searchQuery ) = $event ) ) ,
type : "text" ,
@ -9531,7 +9685,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
@@ -9531,7 +9685,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "button" , {
class : "btn btn-primary" ,
onClick : _cache [ 2 ] || ( _cache [ 2 ] = ( ... args ) => ( $setup . createNewRole && $setup . createNewRole ( ... args ) ) )
} , _cache [ 16 ] || ( _cache [ 16 ] = [
} , _cache [ 23 ] || ( _cache [ 23 ] = [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "i" , { class : "fas fa-plus" } , null , - 1 /* CACHED */ ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createTextVNode ) ( " 新建角色 " , - 1 /* CACHED */ )
] ) )
@ -9540,26 +9694,26 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
@@ -9540,26 +9694,26 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createCommentVNode ) ( " 角色列表 " ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "div" , _hoisted _5 , [
( $setup . loading )
? ( ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . openBlock ) ( ) , ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementBlock ) ( "div" , _hoisted _6 , _cache [ 17 ] || ( _cache [ 17 ] = [
? ( ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . openBlock ) ( ) , ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementBlock ) ( "div" , _hoisted _6 , _cache [ 24 ] || ( _cache [ 24 ] = [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "i" , { class : "fas fa-spinner fa-spin" } , null , - 1 /* CACHED */ ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "span" , null , "加载中..." , - 1 /* CACHED */ )
] ) ) )
: ( $setup . roles . length === 0 )
? ( ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . openBlock ) ( ) , ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementBlock ) ( "div" , _hoisted _7 , [
_cache [ 19 ] || ( _cache [ 19 ] = ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "p" , null , [
_cache [ 26 ] || ( _cache [ 26 ] = ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "p" , null , [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "i" , { class : "fas fa-inbox" } ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createTextVNode ) ( " 暂无角色数据" )
] , - 1 /* CACHED */ ) ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "button" , {
class : "btn btn-primary" ,
onClick : _cache [ 3 ] || ( _cache [ 3 ] = ( ... args ) => ( $setup . createNewRole && $setup . createNewRole ( ... args ) ) )
} , _cache [ 18 ] || ( _cache [ 18 ] = [
} , _cache [ 25 ] || ( _cache [ 25 ] = [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "i" , { class : "fas fa-plus" } , null , - 1 /* CACHED */ ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createTextVNode ) ( " 创建第一个角色 " , - 1 /* CACHED */ )
] ) )
] ) )
: ( ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . openBlock ) ( ) , ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementBlock ) ( "table" , _hoisted _8 , [
_cache [ 2 3] || ( _cache [ 2 3] = ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "thead" , null , [
_cache [ 30 ] || ( _cache [ 30 ] = ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "thead" , null , [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "tr" , null , [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "th" , null , "ID" ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "th" , null , "角色名称" ) ,
@ -9585,21 +9739,21 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
@@ -9585,21 +9739,21 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
class : "btn btn-sm btn-info" ,
onClick : $event => ( $setup . editRole ( role ) ) ,
title : "编辑角色"
} , [ ... ( _cache [ 20 ] || ( _cache [ 20 ] = [
} , [ ... ( _cache [ 27 ] || ( _cache [ 27 ] = [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "i" , { class : "fas fa-edit" } , null , - 1 /* CACHED */ )
] ) ) ] , 8 /* PROPS */ , _hoisted _10 ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "button" , {
class : "btn btn-sm btn-primary" ,
onClick : $event => ( $setup . assignPermissions ( role ) ) ,
title : "分配权限"
} , [ ... ( _cache [ 21 ] || ( _cache [ 21 ] = [
} , [ ... ( _cache [ 28 ] || ( _cache [ 28 ] = [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "i" , { class : "fas fa-shield-alt" } , null , - 1 /* CACHED */ )
] ) ) ] , 8 /* PROPS */ , _hoisted _11 ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "button" , {
class : "btn btn-sm btn-danger" ,
onClick : $event => ( $setup . deleteRole ( role ) ) ,
title : "删除角色"
} , [ ... ( _cache [ 22 ] || ( _cache [ 22 ] = [
} , [ ... ( _cache [ 29 ] || ( _cache [ 29 ] = [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "i" , { class : "fas fa-trash" } , null , - 1 /* CACHED */ )
] ) ) ] , 8 /* PROPS */ , _hoisted _12 )
] )
@ -9610,55 +9764,102 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
@@ -9610,55 +9764,102 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
] ) )
] ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createCommentVNode ) ( " 分页 " ) ,
( $setup . total > $setup . pageSize )
? ( ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . openBlock ) ( ) , ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementBlock ) ( "div" , _hoisted _13 , [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "button" , {
disabled : $setup . currentPage === 1 ,
onClick : _cache [ 4 ] || ( _cache [ 4 ] = $event => ( $setup . handleCurrentChange ( $setup . currentPage - 1 ) ) ) ,
class : "btn btn-sm"
} , _cache [ 24 ] || ( _cache [ 24 ] = [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "i" , { class : "fas fa-chevron-left" } , null , - 1 /* CACHED */ ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createTextVNode ) ( " 上一页 " , - 1 /* CACHED */ )
] ) , 8 /* PROPS */ , _hoisted _14 ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "span" , _hoisted _15 , " 第 " + ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . toDisplayString ) ( $setup . currentPage ) + " 页,共 " + ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . toDisplayString ) ( Math . ceil ( $setup . total / $setup . pageSize ) ) + " 页 " , 1 /* TEXT */ ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "div" , _hoisted _13 , [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createCommentVNode ) ( " 分页导航 " ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "div" , _hoisted _14 , [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "a" , {
class : ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . normalizeClass ) ( [ 'pagination-link' , { disabled : $setup . currentPage === 1 } ] ) ,
onClick : _cache [ 4 ] || ( _cache [ 4 ] = $event => ( $setup . handleCurrentChange ( 1 ) ) ) ,
title : "首页"
} , _cache [ 31 ] || ( _cache [ 31 ] = [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "i" , { class : "fas fa-angle-double-left" } , null , - 1 /* CACHED */ )
] ) , 2 /* CLASS */ ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "a" , {
class : ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . normalizeClass ) ( [ 'pagination-link' , { disabled : $setup . currentPage === 1 } ] ) ,
onClick : _cache [ 5 ] || ( _cache [ 5 ] = $event => ( $setup . handleCurrentChange ( $setup . currentPage - 1 ) ) ) ,
title : "上一页"
} , _cache [ 32 ] || ( _cache [ 32 ] = [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "i" , { class : "fas fa-angle-left" } , null , - 1 /* CACHED */ )
] ) , 2 /* CLASS */ ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "span" , _hoisted _15 , " 第 " + ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . toDisplayString ) ( $setup . currentPage ) + " 页,共 " + ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . toDisplayString ) ( Math . ceil ( $setup . total / $setup . pageSize ) ) + " 页 (共 " + ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . toDisplayString ) ( $setup . total ) + " 条记录) " , 1 /* TEXT */ ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "a" , {
class : ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . normalizeClass ) ( [ 'pagination-link' , { disabled : $setup . currentPage >= Math . ceil ( $setup . total / $setup . pageSize ) } ] ) ,
onClick : _cache [ 6 ] || ( _cache [ 6 ] = $event => ( $setup . handleCurrentChange ( $setup . currentPage + 1 ) ) ) ,
title : "下一页"
} , _cache [ 33 ] || ( _cache [ 33 ] = [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "i" , { class : "fas fa-angle-right" } , null , - 1 /* CACHED */ )
] ) , 2 /* CLASS */ ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "a" , {
class : ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . normalizeClass ) ( [ 'pagination-link' , { disabled : $setup . currentPage >= Math . ceil ( $setup . total / $setup . pageSize ) } ] ) ,
onClick : _cache [ 7 ] || ( _cache [ 7 ] = $event => ( $setup . handleCurrentChange ( Math . ceil ( $setup . total / $setup . pageSize ) ) ) ) ,
title : "尾页"
} , _cache [ 34 ] || ( _cache [ 34 ] = [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "i" , { class : "fas fa-angle-double-right" } , null , - 1 /* CACHED */ )
] ) , 2 /* CLASS */ )
] ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createCommentVNode ) ( " 分页设置 " ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "div" , _hoisted _16 , [
_cache [ 38 ] || ( _cache [ 38 ] = ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "label" , null , "每页显示:" , - 1 /* CACHED */ ) ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . withDirectives ) ( ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "select" , {
"onUpdate:modelValue" : _cache [ 8 ] || ( _cache [ 8 ] = $event => ( ( $setup . pageSize ) = $event ) ) ,
onChange : _cache [ 9 ] || ( _cache [ 9 ] = ( ... args ) => ( $setup . handlePageSizeChange && $setup . handlePageSizeChange ( ... args ) ) )
} , _cache [ 35 ] || ( _cache [ 35 ] = [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createStaticVNode ) ( "<option value=\"10\" data-v-03643bfa>10</option><option value=\"30\" data-v-03643bfa>30</option><option value=\"50\" data-v-03643bfa>50</option><option value=\"100\" data-v-03643bfa>100</option><option value=\"500\" data-v-03643bfa>500</option>" , 5 )
] ) , 544 /* NEED_HYDRATION, NEED_PATCH */ ) , [
[ vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . vModelSelect , $setup . pageSize ]
] ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "div" , _hoisted _17 , [
_cache [ 36 ] || ( _cache [ 36 ] = ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "span" , null , "跳至" , - 1 /* CACHED */ ) ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . withDirectives ) ( ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "input" , {
"onUpdate:modelValue" : _cache [ 10 ] || ( _cache [ 10 ] = $event => ( ( $setup . jumpPage ) = $event ) ) ,
type : "number" ,
min : "1" ,
max : Math . ceil ( $setup . total / $setup . pageSize ) ,
onKeyup : _cache [ 11 ] || ( _cache [ 11 ] = ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . withKeys ) ( ( ... args ) => ( $setup . handleJumpPage && $setup . handleJumpPage ( ... args ) ) , [ "enter" ] ) ) ,
placeholder : "页码"
} , null , 40 /* PROPS, NEED_HYDRATION */ , _hoisted _18 ) , [
[
vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . vModelText ,
$setup . jumpPage ,
void 0 ,
{ number : true }
]
] ) ,
_cache [ 37 ] || ( _cache [ 37 ] = ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "span" , null , "页" , - 1 /* CACHED */ ) ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "button" , {
disabled : $setup . currentPage >= Math . ceil ( $setup . total / $setup . pageSize ) ,
onClick : _cache [ 5 ] || ( _cache [ 5 ] = $event => ( $setup . handleCurrentChange ( $setup . currentPage + 1 ) ) ) ,
class : "btn btn-sm"
} , _cache [ 25 ] || ( _cache [ 25 ] = [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createTextVNode ) ( " 下一页 " , - 1 /* CACHED */ ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "i" , { class : "fas fa-chevron-right" } , null , - 1 /* CACHED */ )
] ) , 8 /* PROPS */ , _hoisted _16 )
] ) )
: ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createCommentVNode ) ( "v-if" , true ) ,
onClick : _cache [ 12 ] || ( _cache [ 12 ] = ( ... args ) => ( $setup . handleJumpPage && $setup . handleJumpPage ( ... args ) ) )
} , "跳转" )
] )
] )
] ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createCommentVNode ) ( " 创建/编辑角色对话框 " ) ,
( $setup . showCreateDialog )
? ( ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . openBlock ) ( ) , ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementBlock ) ( "div" , {
key : 1 ,
key : 0 ,
class : "modal-overlay" ,
onClick : _cache [ 13 ] || ( _cache [ 13 ] = $event => ( $setup . showCreateDialog = false ) )
onClick : _cache [ 20 ] || ( _cache [ 20 ] = $event => ( $setup . showCreateDialog = false ) )
} , [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "div" , {
class : "modal" ,
onClick : _cache [ 12 ] || ( _cache [ 12 ] = ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . withModifiers ) ( ( ) => { } , [ "stop" ] ) )
onClick : _cache [ 19 ] || ( _cache [ 19 ] = ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . withModifiers ) ( ( ) => { } , [ "stop" ] ) )
} , [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "div" , _hoisted _17 , [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "div" , _hoisted _19 , [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "h3" , null , ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . toDisplayString ) ( $setup . editingRole ? '编辑角色' : '新建角色' ) , 1 /* TEXT */ ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "button" , {
class : "close-btn" ,
onClick : _cache [ 6 ] || ( _cache [ 6 ] = $event => ( $setup . showCreateDialog = false ) )
} , _cache [ 26 ] || ( _cache [ 26 ] = [
onClick : _cache [ 13 ] || ( _cache [ 13 ] = $event => ( $setup . showCreateDialog = false ) )
} , _cache [ 39 ] || ( _cache [ 39 ] = [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "i" , { class : "fas fa-times" } , null , - 1 /* CACHED */ )
] ) )
] ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "div" , _hoisted _18 , [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "div" , _hoisted _20 , [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "form" , {
onSubmit : _cache [ 11 ] || ( _cache [ 11 ] = ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . withModifiers ) ( ( ... args ) => ( $setup . saveRole && $setup . saveRole ( ... args ) ) , [ "prevent" ] ) )
onSubmit : _cache [ 18 ] || ( _cache [ 18 ] = ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . withModifiers ) ( ( ... args ) => ( $setup . saveRole && $setup . saveRole ( ... args ) ) , [ "prevent" ] ) )
} , [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "div" , _hoisted _19 , [
_cache [ 27 ] || ( _cache [ 27 ] = ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "label" , null , "角色名称 *" , - 1 /* CACHED */ ) ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "div" , _hoisted _2 1 , [
_cache [ 40 ] || ( _cache [ 40 ] = ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "label" , null , "角色名称 *" , - 1 /* CACHED */ ) ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . withDirectives ) ( ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "input" , {
"onUpdate:modelValue" : _cache [ 7 ] || ( _cache [ 7 ] = $event => ( ( $setup . roleForm . name ) = $event ) ) ,
"onUpdate:modelValue" : _cache [ 14 ] || ( _cache [ 14 ] = $event => ( ( $setup . roleForm . name ) = $event ) ) ,
type : "text" ,
required : "" ,
placeholder : "请输入角色名称"
@ -9666,10 +9867,10 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
@@ -9666,10 +9867,10 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
[ vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . vModelText , $setup . roleForm . name ]
] )
] ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "div" , _hoisted _20 , [
_cache [ 28 ] || ( _cache [ 28 ] = ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "label" , null , "角色代码 *" , - 1 /* CACHED */ ) ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "div" , _hoisted _22 , [
_cache [ 41 ] || ( _cache [ 41 ] = ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "label" , null , "角色代码 *" , - 1 /* CACHED */ ) ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . withDirectives ) ( ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "input" , {
"onUpdate:modelValue" : _cache [ 8 ] || ( _cache [ 8 ] = $event => ( ( $setup . roleForm . code ) = $event ) ) ,
"onUpdate:modelValue" : _cache [ 15 ] || ( _cache [ 15 ] = $event => ( ( $setup . roleForm . code ) = $event ) ) ,
type : "text" ,
required : "" ,
placeholder : "请输入角色代码"
@ -9677,27 +9878,27 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
@@ -9677,27 +9878,27 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
[ vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . vModelText , $setup . roleForm . code ]
] )
] ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "div" , _hoisted _21 , [
_cache [ 29 ] || ( _cache [ 29 ] = ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "label" , null , "描述" , - 1 /* CACHED */ ) ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "div" , _hoisted _23 , [
_cache [ 4 2] || ( _cache [ 4 2] = ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "label" , null , "描述" , - 1 /* CACHED */ ) ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . withDirectives ) ( ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "textarea" , {
"onUpdate:modelValue" : _cache [ 9 ] || ( _cache [ 9 ] = $event => ( ( $setup . roleForm . description ) = $event ) ) ,
"onUpdate:modelValue" : _cache [ 16 ] || ( _cache [ 16 ] = $event => ( ( $setup . roleForm . description ) = $event ) ) ,
rows : "3" ,
placeholder : "请输入角色描述"
} , null , 512 /* NEED_PATCH */ ) , [
[ vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . vModelText , $setup . roleForm . description ]
] )
] ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "div" , _hoisted _22 , [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "div" , _hoisted _24 , [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "button" , {
type : "button" ,
class : "btn btn-secondary" ,
onClick : _cache [ 10 ] || ( _cache [ 10 ] = $event => ( $setup . showCreateDialog = false ) )
onClick : _cache [ 17 ] || ( _cache [ 17 ] = $event => ( $setup . showCreateDialog = false ) )
} , " 取消 " ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "button" , {
type : "submit" ,
class : "btn btn-primary" ,
disabled : $setup . saving
} , ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . toDisplayString ) ( $setup . saving ? '保存中...' : ( $setup . editingRole ? '更新' : '创建' ) ) , 9 /* TEXT, PROPS */ , _hoisted _23 )
} , ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . toDisplayString ) ( $setup . saving ? '保存中...' : ( $setup . editingRole ? '更新' : '创建' ) ) , 9 /* TEXT, PROPS */ , _hoisted _25 )
] )
] , 32 /* NEED_HYDRATION */ )
] )
@ -9707,7 +9908,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
@@ -9707,7 +9908,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createCommentVNode ) ( " 权限分配对话框 " ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createVNode ) ( _component _RolePermissionAssignment , {
modelValue : $setup . showPermissionDialog ,
"onUpdate:modelValue" : _cache [ 14 ] || ( _cache [ 14 ] = $event => ( ( $setup . showPermissionDialog ) = $event ) ) ,
"onUpdate:modelValue" : _cache [ 2 1] || ( _cache [ 2 1] = $event => ( ( $setup . showPermissionDialog ) = $event ) ) ,
role : $setup . selectedRole ,
onPermissionsUpdated : $setup . handlePermissionsUpdated
} , null , 8 /* PROPS */ , [ "modelValue" , "role" , "onPermissionsUpdated" ] )
@ -10457,22 +10658,24 @@ const _hoisted_9 = ["onClick"]
@@ -10457,22 +10658,24 @@ const _hoisted_9 = ["onClick"]
const _hoisted _10 = [ "onClick" ]
const _hoisted _11 = [ "onClick" ]
const _hoisted _12 = { class : "pagination" }
const _hoisted _13 = [ "disabled" ]
const _hoisted _13 = { class : "pagination-nav" }
const _hoisted _14 = { class : "page-info" }
const _hoisted _15 = [ "disabled" ]
const _hoisted _16 = { class : "modal-header" }
const _hoisted _17 = { class : "modal-body" }
const _hoisted _18 = { class : "form-group" }
const _hoisted _19 = [ "disabled" ]
const _hoisted _20 = {
const _hoisted _15 = { class : "pagination-settings" }
const _hoisted _16 = { class : "page-jump" }
const _hoisted _17 = [ "max" ]
const _hoisted _18 = { class : "modal-header" }
const _hoisted _19 = { class : "modal-body" }
const _hoisted _20 = { class : "form-group" }
const _hoisted _21 = [ "disabled" ]
const _hoisted _22 = {
key : 0 ,
class : "form-group"
}
const _hoisted _21 = { class : "form-group" }
const _hoisted _22 = { class : "form-group" }
const _hoisted _23 = { class : "form-group" }
const _hoisted _24 = { class : "form-actions" }
const _hoisted _25 = {
const _hoisted _24 = { class : "form-group" }
const _hoisted _25 = { class : "form-group" }
const _hoisted _26 = { class : "form-actions" }
const _hoisted _27 = {
type : "submit" ,
class : "btn btn-primary"
}
@ -10484,7 +10687,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
@@ -10484,7 +10687,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createCommentVNode ) ( " 搜索和筛选 " ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "div" , _hoisted _2 , [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "div" , _hoisted _3 , [
_cache [ 20 ] || ( _cache [ 20 ] = ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "i" , { class : "fas fa-search" } , null , - 1 /* CACHED */ ) ) ,
_cache [ 27 ] || ( _cache [ 27 ] = ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "i" , { class : "fas fa-search" } , null , - 1 /* CACHED */ ) ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . withDirectives ) ( ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "input" , {
"onUpdate:modelValue" : _cache [ 0 ] || ( _cache [ 0 ] = $event => ( ( $setup . searchQuery ) = $event ) ) ,
type : "text" ,
@ -10498,7 +10701,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
@@ -10498,7 +10701,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . withDirectives ) ( ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "select" , {
"onUpdate:modelValue" : _cache [ 2 ] || ( _cache [ 2 ] = $event => ( ( $setup . statusFilter ) = $event ) ) ,
onChange : _cache [ 3 ] || ( _cache [ 3 ] = ( ... args ) => ( $setup . handleFilter && $setup . handleFilter ( ... args ) ) )
} , _cache [ 21 ] || ( _cache [ 21 ] = [
} , _cache [ 28 ] || ( _cache [ 28 ] = [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "option" , { value : "" } , "全部状态" , - 1 /* CACHED */ ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "option" , { value : "1" } , "正常" , - 1 /* CACHED */ ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "option" , { value : "2" } , "禁用" , - 1 /* CACHED */ )
@ -10509,7 +10712,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
@@ -10509,7 +10712,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
"onUpdate:modelValue" : _cache [ 4 ] || ( _cache [ 4 ] = $event => ( ( $setup . roleFilter ) = $event ) ) ,
onChange : _cache [ 5 ] || ( _cache [ 5 ] = ( ... args ) => ( $setup . handleFilter && $setup . handleFilter ( ... args ) ) )
} , [
_cache [ 22 ] || ( _cache [ 22 ] = ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "option" , { value : "" } , "全部角色" , - 1 /* CACHED */ ) ) ,
_cache [ 29 ] || ( _cache [ 29 ] = ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "option" , { value : "" } , "全部角色" , - 1 /* CACHED */ ) ) ,
( ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . openBlock ) ( true ) , ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementBlock ) ( vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . Fragment , null , ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . renderList ) ( $setup . roles , ( role ) => {
return ( ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . openBlock ) ( ) , ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementBlock ) ( "option" , {
key : role . id ,
@ -10522,7 +10725,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
@@ -10522,7 +10725,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "button" , {
class : "btn btn-primary" ,
onClick : _cache [ 6 ] || ( _cache [ 6 ] = $event => ( $setup . showAddUserModal = true ) )
} , _cache [ 2 3] || ( _cache [ 2 3] = [
} , _cache [ 30 ] || ( _cache [ 30 ] = [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "i" , { class : "fas fa-plus" } , null , - 1 /* CACHED */ ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createTextVNode ) ( " 添加用户 " , - 1 /* CACHED */ )
] ) )
@ -10531,7 +10734,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
@@ -10531,7 +10734,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createCommentVNode ) ( " 用户列表 " ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "div" , _hoisted _6 , [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "table" , null , [
_cache [ 27 ] || ( _cache [ 27 ] = ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "thead" , null , [
_cache [ 34 ] || ( _cache [ 34 ] = ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "thead" , null , [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "tr" , null , [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "th" , null , "ID" ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "th" , null , "用户名" ) ,
@ -10573,19 +10776,19 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
@@ -10573,19 +10776,19 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "button" , {
class : "btn btn-sm btn-info" ,
onClick : $event => ( $setup . editUser ( user ) )
} , [ ... ( _cache [ 24 ] || ( _cache [ 24 ] = [
} , [ ... ( _cache [ 31 ] || ( _cache [ 31 ] = [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "i" , { class : "fas fa-edit" } , null , - 1 /* CACHED */ )
] ) ) ] , 8 /* PROPS */ , _hoisted _9 ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "button" , {
class : "btn btn-sm btn-primary" ,
onClick : $event => ( $setup . assignRoles ( user ) )
} , [ ... ( _cache [ 25 ] || ( _cache [ 25 ] = [
} , [ ... ( _cache [ 3 2] || ( _cache [ 3 2] = [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "i" , { class : "fas fa-user-shield" } , null , - 1 /* CACHED */ )
] ) ) ] , 8 /* PROPS */ , _hoisted _10 ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "button" , {
class : "btn btn-sm btn-danger" ,
onClick : $event => ( $setup . deleteUser ( user . id ) )
} , [ ... ( _cache [ 26 ] || ( _cache [ 26 ] = [
} , [ ... ( _cache [ 33 ] || ( _cache [ 33 ] = [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "i" , { class : "fas fa-trash" } , null , - 1 /* CACHED */ )
] ) ) ] , 8 /* PROPS */ , _hoisted _11 )
] )
@ -10597,62 +10800,111 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
@@ -10597,62 +10800,111 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
] ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createCommentVNode ) ( " 分页 " ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "div" , _hoisted _12 , [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "button" , {
disabled : $setup . currentPage === 1 ,
onClick : _cache [ 7 ] || ( _cache [ 7 ] = $event => ( $setup . changePage ( $setup . currentPage - 1 ) ) ) ,
class : "btn btn-sm"
} , _cache [ 28 ] || ( _cache [ 28 ] = [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "i" , { class : "fas fa-chevron-left" } , null , - 1 /* CACHED */ ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createTextVNode ) ( " 上一页 " , - 1 /* CACHED */ )
] ) , 8 /* PROPS */ , _hoisted _13 ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "span" , _hoisted _14 , " 第 " + ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . toDisplayString ) ( $setup . currentPage ) + " 页,共 " + ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . toDisplayString ) ( $setup . totalPages ) + " 页 " , 1 /* TEXT */ ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "button" , {
disabled : $setup . currentPage === $setup . totalPages ,
onClick : _cache [ 8 ] || ( _cache [ 8 ] = $event => ( $setup . changePage ( $setup . currentPage + 1 ) ) ) ,
class : "btn btn-sm"
} , _cache [ 29 ] || ( _cache [ 29 ] = [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createTextVNode ) ( " 下一页 " , - 1 /* CACHED */ ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "i" , { class : "fas fa-chevron-right" } , null , - 1 /* CACHED */ )
] ) , 8 /* PROPS */ , _hoisted _15 )
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createCommentVNode ) ( " 分页导航 " ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "div" , _hoisted _13 , [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "a" , {
class : ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . normalizeClass ) ( [ 'pagination-link' , { disabled : $setup . currentPage === 1 } ] ) ,
onClick : _cache [ 7 ] || ( _cache [ 7 ] = $event => ( $setup . changePage ( 1 ) ) ) ,
title : "首页"
} , _cache [ 35 ] || ( _cache [ 35 ] = [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "i" , { class : "fas fa-angle-double-left" } , null , - 1 /* CACHED */ )
] ) , 2 /* CLASS */ ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "a" , {
class : ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . normalizeClass ) ( [ 'pagination-link' , { disabled : $setup . currentPage === 1 } ] ) ,
onClick : _cache [ 8 ] || ( _cache [ 8 ] = $event => ( $setup . changePage ( $setup . currentPage - 1 ) ) ) ,
title : "上一页"
} , _cache [ 36 ] || ( _cache [ 36 ] = [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "i" , { class : "fas fa-angle-left" } , null , - 1 /* CACHED */ )
] ) , 2 /* CLASS */ ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "span" , _hoisted _14 , " 第 " + ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . toDisplayString ) ( $setup . currentPage ) + " 页,共 " + ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . toDisplayString ) ( $setup . totalPages ) + " 页 (共 " + ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . toDisplayString ) ( $setup . total ) + " 条记录) " , 1 /* TEXT */ ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "a" , {
class : ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . normalizeClass ) ( [ 'pagination-link' , { disabled : $setup . currentPage === $setup . totalPages } ] ) ,
onClick : _cache [ 9 ] || ( _cache [ 9 ] = $event => ( $setup . changePage ( $setup . currentPage + 1 ) ) ) ,
title : "下一页"
} , _cache [ 37 ] || ( _cache [ 37 ] = [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "i" , { class : "fas fa-angle-right" } , null , - 1 /* CACHED */ )
] ) , 2 /* CLASS */ ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "a" , {
class : ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . normalizeClass ) ( [ 'pagination-link' , { disabled : $setup . currentPage === $setup . totalPages } ] ) ,
onClick : _cache [ 10 ] || ( _cache [ 10 ] = $event => ( $setup . changePage ( $setup . totalPages ) ) ) ,
title : "尾页"
} , _cache [ 38 ] || ( _cache [ 38 ] = [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "i" , { class : "fas fa-angle-double-right" } , null , - 1 /* CACHED */ )
] ) , 2 /* CLASS */ )
] ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createCommentVNode ) ( " 分页设置 " ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "div" , _hoisted _15 , [
_cache [ 42 ] || ( _cache [ 42 ] = ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "label" , null , "每页显示:" , - 1 /* CACHED */ ) ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . withDirectives ) ( ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "select" , {
"onUpdate:modelValue" : _cache [ 11 ] || ( _cache [ 11 ] = $event => ( ( $setup . pageSize ) = $event ) ) ,
onChange : _cache [ 12 ] || ( _cache [ 12 ] = ( ... args ) => ( $setup . handlePageSizeChange && $setup . handlePageSizeChange ( ... args ) ) )
} , _cache [ 39 ] || ( _cache [ 39 ] = [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createStaticVNode ) ( "<option value=\"10\" data-v-7889d364>10</option><option value=\"30\" data-v-7889d364>30</option><option value=\"50\" data-v-7889d364>50</option><option value=\"100\" data-v-7889d364>100</option><option value=\"500\" data-v-7889d364>500</option>" , 5 )
] ) , 544 /* NEED_HYDRATION, NEED_PATCH */ ) , [
[ vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . vModelSelect , $setup . pageSize ]
] ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "div" , _hoisted _16 , [
_cache [ 40 ] || ( _cache [ 40 ] = ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "span" , null , "跳至" , - 1 /* CACHED */ ) ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . withDirectives ) ( ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "input" , {
"onUpdate:modelValue" : _cache [ 13 ] || ( _cache [ 13 ] = $event => ( ( $setup . jumpPage ) = $event ) ) ,
type : "number" ,
min : "1" ,
max : $setup . totalPages ,
onKeyup : _cache [ 14 ] || ( _cache [ 14 ] = ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . withKeys ) ( ( ... args ) => ( $setup . handleJumpPage && $setup . handleJumpPage ( ... args ) ) , [ "enter" ] ) ) ,
placeholder : "页码"
} , null , 40 /* PROPS, NEED_HYDRATION */ , _hoisted _17 ) , [
[
vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . vModelText ,
$setup . jumpPage ,
void 0 ,
{ number : true }
]
] ) ,
_cache [ 41 ] || ( _cache [ 41 ] = ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "span" , null , "页" , - 1 /* CACHED */ ) ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "button" , {
onClick : _cache [ 15 ] || ( _cache [ 15 ] = ( ... args ) => ( $setup . handleJumpPage && $setup . handleJumpPage ( ... args ) ) )
} , "跳转" )
] )
] )
] ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createCommentVNode ) ( " 添加/编辑用户模态框 " ) ,
( $setup . showAddUserModal || $setup . showEditUserModal )
? ( ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . openBlock ) ( ) , ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementBlock ) ( "div" , {
key : 0 ,
class : "modal-overlay" ,
onClick : _cache [ 18 ] || ( _cache [ 18 ] = ( ... args ) => ( $setup . closeModal && $setup . closeModal ( ... args ) ) )
onClick : _cache [ 25 ] || ( _cache [ 25 ] = ( ... args ) => ( $setup . closeModal && $setup . closeModal ( ... args ) ) )
} , [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "div" , {
class : "modal" ,
onClick : _cache [ 17 ] || ( _cache [ 17 ] = ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . withModifiers ) ( ( ) => { } , [ "stop" ] ) )
onClick : _cache [ 24 ] || ( _cache [ 24 ] = ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . withModifiers ) ( ( ) => { } , [ "stop" ] ) )
} , [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "div" , _hoisted _16 , [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "div" , _hoisted _18 , [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "h3" , null , ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . toDisplayString ) ( $setup . showEditUserModal ? '编辑用户' : '添加用户' ) , 1 /* TEXT */ ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "button" , {
class : "close-btn" ,
onClick : _cache [ 9 ] || ( _cache [ 9 ] = ( ... args ) => ( $setup . closeModal && $setup . closeModal ( ... args ) ) )
onClick : _cache [ 16 ] || ( _cache [ 16 ] = ( ... args ) => ( $setup . closeModal && $setup . closeModal ( ... args ) ) )
} , "×" )
] ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "div" , _hoisted _17 , [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "div" , _hoisted _19 , [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "form" , {
onSubmit : _cache [ 16 ] || ( _cache [ 16 ] = ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . withModifiers ) ( ( ... args ) => ( $setup . submitUser && $setup . submitUser ( ... args ) ) , [ "prevent" ] ) )
onSubmit : _cache [ 23 ] || ( _cache [ 23 ] = ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . withModifiers ) ( ( ... args ) => ( $setup . submitUser && $setup . submitUser ( ... args ) ) , [ "prevent" ] ) )
} , [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "div" , _hoisted _18 , [
_cache [ 30 ] || ( _cache [ 30 ] = ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "label" , null , "用户名 *" , - 1 /* CACHED */ ) ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "div" , _hoisted _20 , [
_cache [ 4 3] || ( _cache [ 4 3] = ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "label" , null , "用户名 *" , - 1 /* CACHED */ ) ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . withDirectives ) ( ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "input" , {
"onUpdate:modelValue" : _cache [ 10 ] || ( _cache [ 10 ] = $event => ( ( $setup . userForm . username ) = $event ) ) ,
"onUpdate:modelValue" : _cache [ 17 ] || ( _cache [ 17 ] = $event => ( ( $setup . userForm . username ) = $event ) ) ,
type : "text" ,
required : "" ,
disabled : $setup . showEditUserModal
} , null , 8 /* PROPS */ , _hoisted _19 ) , [
} , null , 8 /* PROPS */ , _hoisted _2 1 ) , [
[ vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . vModelText , $setup . userForm . username ]
] )
] ) ,
( ! $setup . showEditUserModal )
? ( ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . openBlock ) ( ) , ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementBlock ) ( "div" , _hoisted _20 , [
_cache [ 31 ] || ( _cache [ 31 ] = ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "label" , null , "密码 *" , - 1 /* CACHED */ ) ) ,
? ( ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . openBlock ) ( ) , ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementBlock ) ( "div" , _hoisted _22 , [
_cache [ 44 ] || ( _cache [ 44 ] = ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "label" , null , "密码 *" , - 1 /* CACHED */ ) ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . withDirectives ) ( ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "input" , {
"onUpdate:modelValue" : _cache [ 11 ] || ( _cache [ 11 ] = $event => ( ( $setup . userForm . password ) = $event ) ) ,
"onUpdate:modelValue" : _cache [ 18 ] || ( _cache [ 18 ] = $event => ( ( $setup . userForm . password ) = $event ) ) ,
type : "password" ,
required : ""
} , null , 512 /* NEED_PATCH */ ) , [
@ -10660,43 +10912,43 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
@@ -10660,43 +10912,43 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
] )
] ) )
: ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createCommentVNode ) ( "v-if" , true ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "div" , _hoisted _21 , [
_cache [ 32 ] || ( _cache [ 32 ] = ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "label" , null , "邮箱 *" , - 1 /* CACHED */ ) ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "div" , _hoisted _23 , [
_cache [ 45 ] || ( _cache [ 45 ] = ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "label" , null , "邮箱 *" , - 1 /* CACHED */ ) ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . withDirectives ) ( ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "input" , {
"onUpdate:modelValue" : _cache [ 12 ] || ( _cache [ 12 ] = $event => ( ( $setup . userForm . email ) = $event ) ) ,
"onUpdate:modelValue" : _cache [ 19 ] || ( _cache [ 19 ] = $event => ( ( $setup . userForm . email ) = $event ) ) ,
type : "email" ,
required : ""
} , null , 512 /* NEED_PATCH */ ) , [
[ vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . vModelText , $setup . userForm . email ]
] )
] ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "div" , _hoisted _22 , [
_cache [ 33 ] || ( _cache [ 33 ] = ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "label" , null , "手机号" , - 1 /* CACHED */ ) ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "div" , _hoisted _24 , [
_cache [ 46 ] || ( _cache [ 46 ] = ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "label" , null , "手机号" , - 1 /* CACHED */ ) ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . withDirectives ) ( ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "input" , {
"onUpdate:modelValue" : _cache [ 13 ] || ( _cache [ 13 ] = $event => ( ( $setup . userForm . phone ) = $event ) ) ,
"onUpdate:modelValue" : _cache [ 20 ] || ( _cache [ 20 ] = $event => ( ( $setup . userForm . phone ) = $event ) ) ,
type : "tel"
} , null , 512 /* NEED_PATCH */ ) , [
[ vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . vModelText , $setup . userForm . phone ]
] )
] ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "div" , _hoisted _23 , [
_cache [ 35 ] || ( _cache [ 35 ] = ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "label" , null , "状态" , - 1 /* CACHED */ ) ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "div" , _hoisted _25 , [
_cache [ 48 ] || ( _cache [ 48 ] = ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "label" , null , "状态" , - 1 /* CACHED */ ) ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . withDirectives ) ( ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "select" , {
"onUpdate:modelValue" : _cache [ 14 ] || ( _cache [ 14 ] = $event => ( ( $setup . userForm . status ) = $event ) )
} , _cache [ 3 4] || ( _cache [ 3 4] = [
"onUpdate:modelValue" : _cache [ 2 1] || ( _cache [ 2 1] = $event => ( ( $setup . userForm . status ) = $event ) )
} , _cache [ 47 ] || ( _cache [ 47 ] = [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "option" , { value : "1" } , "正常" , - 1 /* CACHED */ ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "option" , { value : "2" } , "禁用" , - 1 /* CACHED */ )
] ) , 512 /* NEED_PATCH */ ) , [
[ vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . vModelSelect , $setup . userForm . status ]
] )
] ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "div" , _hoisted _24 , [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "div" , _hoisted _26 , [
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "button" , {
type : "button" ,
class : "btn btn-secondary" ,
onClick : _cache [ 15 ] || ( _cache [ 15 ] = ( ... args ) => ( $setup . closeModal && $setup . closeModal ( ... args ) ) )
onClick : _cache [ 22 ] || ( _cache [ 22 ] = ( ... args ) => ( $setup . closeModal && $setup . closeModal ( ... args ) ) )
} , " 取消 " ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "button" , _hoisted _25 , ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . toDisplayString ) ( $setup . showEditUserModal ? '更新' : '创建' ) , 1 /* TEXT */ )
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createElementVNode ) ( "button" , _hoisted _27 , ( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . toDisplayString ) ( $setup . showEditUserModal ? '更新' : '创建' ) , 1 /* TEXT */ )
] )
] , 32 /* NEED_HYDRATION */ )
] )
@ -10706,7 +10958,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
@@ -10706,7 +10958,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createCommentVNode ) ( " 角色分配对话框 " ) ,
( 0 , vue _ _WEBPACK _IMPORTED _MODULE _0 _ _ . createVNode ) ( _component _UserRoleAssignment , {
modelValue : $setup . showRoleAssignmentModal ,
"onUpdate:modelValue" : _cache [ 19 ] || ( _cache [ 19 ] = $event => ( ( $setup . showRoleAssignmentModal ) = $event ) ) ,
"onUpdate:modelValue" : _cache [ 26 ] || ( _cache [ 26 ] = $event => ( ( $setup . showRoleAssignmentModal ) = $event ) ) ,
user : $setup . selectedUser ,
onSaved : $setup . loadUsers
} , null , 8 /* PROPS */ , [ "modelValue" , "user" , "onSaved" ] )
@ -14808,7 +15060,7 @@ __webpack_require__.r(__webpack_exports__);
@@ -14808,7 +15060,7 @@ __webpack_require__.r(__webpack_exports__);
/******/
/******/ /* webpack/runtime/getFullHash */
/******/ ( ( ) => {
/******/ _ _webpack _require _ _ . h = ( ) => ( "46c51ec3a05924ce " )
/******/ _ _webpack _require _ _ . h = ( ) => ( "66bc1119729d1861 " )
/******/ } ) ( ) ;
/******/
/******/ /* webpack/runtime/hasOwnProperty shorthand */