Browse Source

样式修改

master
zhangli 1 year ago
parent
commit
2c3718ebb7
  1. 4
      .eslintrc.js
  2. 5
      index.html
  3. 3
      package.json
  4. 3
      src/App.vue
  5. BIN
      src/assets/imgs/logo.png
  6. BIN
      src/assets/imgs/logo1.png
  7. BIN
      src/assets/imgs/logo_w.png
  8. 6
      src/components/Search/src/Search.vue
  9. 2
      src/layout/components/Logo/src/Logo.vue
  10. 4
      src/layout/components/ToolHeader.vue
  11. 120
      src/router/modules/remaining.ts
  12. 6
      src/views/Login/Login.vue
  13. 69
      src/views/Login/components/LoginForm.vue
  14. 56
      src/views/bpm/form/index.vue
  15. 84
      src/views/bpm/group/index.vue
  16. 176
      src/views/bpm/model/index.vue
  17. 12
      src/views/bpm/oa/leave/index.vue
  18. 57
      src/views/bpm/task/done/index.vue
  19. 53
      src/views/bpm/task/todo/index.vue
  20. 104
      src/views/infra/apiAccessLog/index.vue
  21. 13
      src/views/infra/apiErrorLog/index.vue
  22. 9
      src/views/infra/codegen/index.vue
  23. 109
      src/views/infra/config/index.vue
  24. 37
      src/views/infra/dataSourceConfig/index.vue
  25. 6
      src/views/infra/dbDoc/index.vue
  26. 7
      src/views/infra/file/index.vue
  27. 113
      src/views/infra/fileConfig/index.vue
  28. 13
      src/views/infra/job/index.vue
  29. 2
      src/views/system/area/index.vue
  30. 9
      src/views/system/dept/index.vue
  31. 12
      src/views/system/dict/index.vue
  32. 115
      src/views/system/errorCode/index.vue
  33. 78
      src/views/system/loginlog/index.vue
  34. 42
      src/views/system/mail/account/index.vue
  35. 1
      src/views/system/mail/log/index.vue
  36. 45
      src/views/system/mail/template/index.vue
  37. 84
      src/views/system/menu/index.vue
  38. 7
      src/views/system/notice/index.vue
  39. 124
      src/views/system/notify/message/index.vue
  40. 137
      src/views/system/notify/template/index.vue
  41. 7
      src/views/system/oauth2/client/index.vue
  42. 5
      src/views/system/oauth2/token/index.vue
  43. 100
      src/views/system/operatelog/index.vue
  44. 88
      src/views/system/post/index.vue
  45. 12
      src/views/system/role/index.vue
  46. 108
      src/views/system/sensitiveWord/index.vue
  47. 112
      src/views/system/sms/channel/index.vue
  48. 133
      src/views/system/sms/log/index.vue
  49. 185
      src/views/system/sms/template/index.vue
  50. 122
      src/views/system/tenant/index.vue
  51. 84
      src/views/system/tenantPackage/index.vue
  52. 11
      src/views/system/user/index.vue

4
.eslintrc.js

@ -21,8 +21,8 @@ module.exports = defineConfig({
extends: [ extends: [
'plugin:vue/vue3-recommended', 'plugin:vue/vue3-recommended',
'plugin:@typescript-eslint/recommended', 'plugin:@typescript-eslint/recommended',
'prettier', // 'prettier',
'plugin:prettier/recommended', // 'plugin:prettier/recommended',
'@unocss' '@unocss'
], ],
rules: { rules: {

5
index.html

@ -2,7 +2,8 @@
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="UTF-8" /> <meta charset="UTF-8" />
<link rel="icon" href="/favicon.ico" /> <!-- <link rel="icon" href="/favicon.ico" /> -->
<link rel="icon" href="/src/assets/imgs/logo1.png" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta <meta
@ -136,7 +137,7 @@
<div class="app-loading"> <div class="app-loading">
<div class="app-loading-wrap"> <div class="app-loading-wrap">
<div class="app-loading-title"> <div class="app-loading-title">
<img src="/logo.gif" class="app-loading-logo" alt="Logo" /> <img src="/src/assets/imgs/logo.png" class="app-loading-logo" alt="Logo" />
<div class="app-loading-title">%VITE_APP_TITLE%</div> <div class="app-loading-title">%VITE_APP_TITLE%</div>
</div> </div>
<div class="app-loading-item"> <div class="app-loading-item">

3
package.json

@ -8,7 +8,8 @@
"dev": "vite", "dev": "vite",
"test": "vite build --mode test", "test": "vite build --mode test",
"prod": "vite build --mode production", "prod": "vite build --mode production",
"preview": "vite preview" "preview": "vite preview",
"lint": "eslint --fix --ext .js,.vue src"
}, },
"dependencies": { "dependencies": {
"@element-plus/icons-vue": "^2.1.0", "@element-plus/icons-vue": "^2.1.0",

3
src/App.vue

@ -54,4 +54,7 @@ body {
.#{$prefix-cls}-grey-mode { .#{$prefix-cls}-grey-mode {
filter: grayscale(100%); filter: grayscale(100%);
} }
.el-select{
width: 100%;
}
</style> </style>

BIN
src/assets/imgs/logo.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 16 KiB

BIN
src/assets/imgs/logo1.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

BIN
src/assets/imgs/logo_w.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

6
src/components/Search/src/Search.vue

@ -114,16 +114,16 @@ const setVisible = () => {
<template #action> <template #action>
<div v-if="layout === 'inline'"> <div v-if="layout === 'inline'">
<!-- update by 芋艿去除搜索的 type="primary"颜色变淡一点 --> <!-- update by 芋艿去除搜索的 type="primary"颜色变淡一点 -->
<ElButton v-if="showSearch" @click="search"> <ElButton type="info" plain v-if="showSearch" @click="search">
<Icon class="mr-5px" icon="ep:search" /> <Icon class="mr-5px" icon="ep:search" />
{{ t('common.query') }} {{ t('common.query') }}
</ElButton> </ElButton>
<!-- update by 芋艿 icon="ep:refresh-right" 修改成 icon="ep:refresh" ruoyi-vue 搜索保持一致 --> <!-- update by 芋艿 icon="ep:refresh-right" 修改成 icon="ep:refresh" ruoyi-vue 搜索保持一致 -->
<ElButton v-if="showReset" @click="reset"> <ElButton type="info" plain v-if="showReset" @click="reset">
<Icon class="mr-5px" icon="ep:refresh" /> <Icon class="mr-5px" icon="ep:refresh" />
{{ t('common.reset') }} {{ t('common.reset') }}
</ElButton> </ElButton>
<ElButton v-if="expand" text @click="setVisible"> <ElButton type="info" plain v-if="expand" text @click="setVisible">
{{ t(visible ? 'common.shrink' : 'common.expand') }} {{ t(visible ? 'common.shrink' : 'common.expand') }}
<Icon :icon="visible ? 'ep:arrow-up' : 'ep:arrow-down'" /> <Icon :icon="visible ? 'ep:arrow-up' : 'ep:arrow-down'" />
</ElButton> </ElButton>

2
src/layout/components/Logo/src/Logo.vue

@ -67,7 +67,7 @@ watch(
to="/" to="/"
> >
<img <img
class="h-[calc(var(--logo-height)-10px)] w-[calc(var(--logo-height)-10px)]" class="h-[calc(var(--logo-height)-24px)] w-[calc(var(--logo-height)-10px)]"
src="@/assets/imgs/logo.png" src="@/assets/imgs/logo.png"
/> />
<div <div

4
src/layout/components/ToolHeader.vue

@ -64,12 +64,12 @@ export default defineComponent({
{size.value ? ( {size.value ? (
<SizeDropdown class="custom-hover" color="var(--top-header-text-color)"></SizeDropdown> <SizeDropdown class="custom-hover" color="var(--top-header-text-color)"></SizeDropdown>
) : undefined} ) : undefined}
{locale.value ? ( {/* {locale.value ? (
<LocaleDropdown <LocaleDropdown
class="custom-hover" class="custom-hover"
color="var(--top-header-text-color)" color="var(--top-header-text-color)"
></LocaleDropdown> ></LocaleDropdown>
) : undefined} ) : undefined} */}
{message.value ? ( {message.value ? (
<Message class="custom-hover" color="var(--top-header-text-color)"></Message> <Message class="custom-hover" color="var(--top-header-text-color)"></Message>
) : undefined} ) : undefined}

120
src/router/modules/remaining.ts

@ -329,126 +329,6 @@ const remainingRouter: AppRouteRecordRaw[] = [
} }
} }
] ]
},
{
path: '/product',
component: Layout,
name: 'Product',
meta: {
hidden: true
},
children: [
{
path: 'spu/add',
component: () => import('@/views/mall/product/spu/form/index.vue'),
name: 'ProductSpuAdd',
meta: {
noCache: true,
hidden: true,
canTo: true,
icon: 'ep:edit',
title: '添加商品',
activeMenu: '/product/product-spu'
}
},
{
path: 'spu/edit/:spuId(\\d+)',
component: () => import('@/views/mall/product/spu/form/index.vue'),
name: 'ProductSpuEdit',
meta: {
noCache: true,
hidden: true,
canTo: true,
icon: 'ep:edit',
title: '编辑商品',
activeMenu: '/product/product-spu'
}
},
{
path: 'spu/detail/:spuId(\\d+)',
component: () => import('@/views/mall/product/spu/form/index.vue'),
name: 'ProductSpuDetail',
meta: {
noCache: true,
hidden: true,
canTo: true,
icon: 'ep:view',
title: '商品详情',
activeMenu: '/product/product-spu'
}
},
{
path: 'property/value/:propertyId(\\d+)',
component: () => import('@/views/mall/product/property/value/index.vue'),
name: 'ProductPropertyValue',
meta: {
noCache: true,
hidden: true,
canTo: true,
icon: 'ep:view',
title: '商品属性值',
activeMenu: '/product/property'
}
}
]
},
{
path: '/trade',
component: Layout,
name: 'Order',
meta: {
hidden: true
},
children: [
{
path: 'order/detail/:orderId(\\d+)',
component: () => import('@/views/mall/trade/order/detail/index.vue'),
name: 'TradeOrderDetail',
meta: { title: '订单详情', icon: '', activeMenu: '/trade/trade/order' }
},
{
path: 'after-sale/detail/:orderId(\\d+)',
component: () => import('@/views/mall/trade/afterSale/detail/index.vue'),
name: 'TradeAfterSaleDetail',
meta: { title: '退款详情', icon: '', activeMenu: '/trade/trade/after-sale' }
}
]
},
{
path: '/member',
component: Layout,
name: 'member',
meta: { hidden: true },
children: [
{
path: 'user/detail/:id',
name: 'MemberUserDetail',
meta: {
title: '会员详情',
noCache: true,
hidden: true
},
component: () => import('@/views/member/user/detail/index.vue')
}
]
},
{
path: '/pay',
component: Layout,
name: 'pay',
meta: { hidden: true },
children: [
{
path: 'cashier',
name: 'PayCashier',
meta: {
title: '收银台',
noCache: true,
hidden: true
},
component: () => import('@/views/pay/cashier/index.vue')
}
]
} }
] ]

6
src/views/Login/Login.vue

@ -9,7 +9,7 @@
> >
<!-- 左上角的 logo + 系统标题 --> <!-- 左上角的 logo + 系统标题 -->
<div class="relative flex items-center text-white"> <div class="relative flex items-center text-white">
<img alt="" class="mr-10px h-48px w-48px" src="@/assets/imgs/logo.png" /> <img alt="" class="mr-10px h-24px w-48px" src="@/assets/imgs/logo.png" />
<span class="text-20px font-bold">{{ underlineToHump(appStore.getTitle) }}</span> <span class="text-20px font-bold">{{ underlineToHump(appStore.getTitle) }}</span>
</div> </div>
<!-- 左边的背景图 + 欢迎语 --> <!-- 左边的背景图 + 欢迎语 -->
@ -29,7 +29,7 @@
</div> </div>
<div class="relative flex-1 p-30px dark:bg-[var(--login-bg-color)] lt-sm:p-10px"> <div class="relative flex-1 p-30px dark:bg-[var(--login-bg-color)] lt-sm:p-10px">
<!-- 右上角的主题语言选择 --> <!-- 右上角的主题语言选择 -->
<div <!-- <div
class="flex items-center justify-between text-white at-2xl:justify-end at-xl:justify-end" class="flex items-center justify-between text-white at-2xl:justify-end at-xl:justify-end"
> >
<div class="flex items-center at-2xl:hidden at-xl:hidden"> <div class="flex items-center at-2xl:hidden at-xl:hidden">
@ -40,7 +40,7 @@
<ThemeSwitch /> <ThemeSwitch />
<LocaleDropdown class="dark:text-white lt-xl:text-white" /> <LocaleDropdown class="dark:text-white lt-xl:text-white" />
</div> </div>
</div> </div> -->
<!-- 右边的登录界面 --> <!-- 右边的登录界面 -->
<Transition appear enter-active-class="animate__animated animate__bounceInRight"> <Transition appear enter-active-class="animate__animated animate__bounceInRight">
<div <div

69
src/views/Login/components/LoginForm.vue

@ -15,17 +15,6 @@
<LoginFormTitle style="width: 100%" /> <LoginFormTitle style="width: 100%" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="24" style="padding-right: 10px; padding-left: 10px">
<el-form-item v-if="loginData.tenantEnable === 'true'" prop="tenantName">
<el-input
v-model="loginData.loginForm.tenantName"
:placeholder="t('login.tenantNamePlaceholder')"
:prefix-icon="iconHouse"
link
type="primary"
/>
</el-form-item>
</el-col>
<el-col :span="24" style="padding-right: 10px; padding-left: 10px"> <el-col :span="24" style="padding-right: 10px; padding-left: 10px">
<el-form-item prop="username"> <el-form-item prop="username">
<el-input <el-input
@ -82,64 +71,6 @@
mode="pop" mode="pop"
@success="handleLogin" @success="handleLogin"
/> />
<el-col :span="24" style="padding-right: 10px; padding-left: 10px">
<el-form-item>
<el-row :gutter="5" justify="space-between" style="width: 100%">
<el-col :span="8">
<XButton
:title="t('login.btnMobile')"
class="w-[100%]"
@click="setLoginState(LoginStateEnum.MOBILE)"
/>
</el-col>
<el-col :span="8">
<XButton
:title="t('login.btnQRCode')"
class="w-[100%]"
@click="setLoginState(LoginStateEnum.QR_CODE)"
/>
</el-col>
<el-col :span="8">
<XButton
:title="t('login.btnRegister')"
class="w-[100%]"
@click="setLoginState(LoginStateEnum.REGISTER)"
/>
</el-col>
</el-row>
</el-form-item>
</el-col>
<el-divider content-position="center">{{ t('login.otherLogin') }}</el-divider>
<el-col :span="24" style="padding-right: 10px; padding-left: 10px">
<el-form-item>
<div class="w-[100%] flex justify-between">
<Icon
v-for="(item, key) in socialList"
:key="key"
:icon="item.icon"
:size="30"
class="anticon cursor-pointer"
color="#999"
@click="doSocialLogin(item.type)"
/>
</div>
</el-form-item>
</el-col>
<el-divider content-position="center">萌新必读</el-divider>
<el-col :span="24" style="padding-right: 10px; padding-left: 10px">
<el-form-item>
<div class="w-[100%] flex justify-between">
<el-link href="https://doc.iocoder.cn/" target="_blank">??开发指南</el-link>
<el-link href="https://doc.iocoder.cn/video/" target="_blank">??视频教程</el-link>
<el-link href="https://www.iocoder.cn/Interview/good-collection/" target="_blank">
面试手册
</el-link>
<el-link href="http://static.yudao.iocoder.cn/mp/Aix9975.jpeg" target="_blank">
??外包咨询
</el-link>
</div>
</el-form-item>
</el-col>
</el-row> </el-row>
</el-form> </el-form>
</template> </template>

56
src/views/bpm/form/index.vue

@ -1,32 +1,20 @@
<template> <template>
<ContentWrap> <ContentWrap>
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form <el-form ref="queryFormRef" :inline="true" :model="queryParams" class="-mb-15px" label-width="68px">
ref="queryFormRef"
:inline="true"
:model="queryParams"
class="-mb-15px"
label-width="68px"
>
<el-form-item label="表单名" prop="name"> <el-form-item label="表单名" prop="name">
<el-input <el-input v-model="queryParams.name" class="!w-240px" clearable placeholder="请输入表单名" @keyup.enter="handleQuery" />
v-model="queryParams.name"
class="!w-240px"
clearable
placeholder="请输入表单名"
@keyup.enter="handleQuery"
/>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button @click="handleQuery"> <el-button type="info" plain @click="handleQuery">
<Icon class="mr-5px" icon="ep:search" /> <Icon class="mr-5px" icon="ep:search" />
搜索 搜索
</el-button> </el-button>
<el-button @click="resetQuery"> <el-button type="info" plain @click="resetQuery">
<Icon class="mr-5px" icon="ep:refresh" /> <Icon class="mr-5px" icon="ep:refresh" />
重置 重置
</el-button> </el-button>
<el-button v-hasPermi="['bpm:form:create']" plain type="primary" @click="openForm"> <el-button v-hasPermi="['bpm:form:create']" type="primary" @click="openForm">
<Icon class="mr-5px" icon="ep:plus" /> <Icon class="mr-5px" icon="ep:plus" />
新增 新增
</el-button> </el-button>
@ -45,43 +33,27 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="备注" prop="remark" /> <el-table-column align="center" label="备注" prop="remark" />
<el-table-column <el-table-column :formatter="dateFormatter" align="center" label="创建时间" prop="createTime" />
:formatter="dateFormatter"
align="center"
label="创建时间"
prop="createTime"
/>
<el-table-column align="center" label="操作"> <el-table-column align="center" label="操作">
<template #default="scope"> <template #default="scope">
<el-button <el-button v-hasPermi="['bpm:form:update']" link type="primary" @click="openForm(scope.row.id)">
v-hasPermi="['bpm:form:update']" <Icon icon="ep:edit" />
link
type="primary"
@click="openForm(scope.row.id)"
>
编辑 编辑
</el-button> </el-button>
<el-button v-hasPermi="['bpm:form:query']" link @click="openDetail(scope.row.id)"> <el-button v-hasPermi="['bpm:form:query']" link @click="openDetail(scope.row.id)">
<Icon icon="ep:document-copy" />
详情 详情
</el-button> </el-button>
<el-button <el-button v-hasPermi="['bpm:form:delete']" link type="danger" @click="handleDelete(scope.row.id)">
v-hasPermi="['bpm:form:delete']" <Icon icon="ep:delete" />
link
type="danger"
@click="handleDelete(scope.row.id)"
>
删除 删除
</el-button> </el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<!-- 分页 --> <!-- 分页 -->
<Pagination <Pagination v-model:limit="queryParams.pageSize" v-model:page="queryParams.pageNo" :total="total"
v-model:limit="queryParams.pageSize" @pagination="getList" />
v-model:page="queryParams.pageNo"
:total="total"
@pagination="getList"
/>
</ContentWrap> </ContentWrap>
<!-- 表单详情的弹窗 --> <!-- 表单详情的弹窗 -->
@ -160,7 +132,7 @@ const handleDelete = async (id: number) => {
message.success(t('common.delSuccess')) message.success(t('common.delSuccess'))
// //
await getList() await getList()
} catch {} } catch { }
} }
/** 详情操作 */ /** 详情操作 */

84
src/views/bpm/group/index.vue

@ -1,52 +1,29 @@
<template> <template>
<ContentWrap> <ContentWrap>
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form <el-form class="-mb-15px" :model="queryParams" ref="queryFormRef" :inline="true" label-width="68px">
class="-mb-15px"
:model="queryParams"
ref="queryFormRef"
:inline="true"
label-width="68px"
>
<el-form-item label="组名" prop="name"> <el-form-item label="组名" prop="name">
<el-input <el-input v-model="queryParams.name" placeholder="请输入组名" clearable @keyup.enter="handleQuery" class="!w-240px" />
v-model="queryParams.name"
placeholder="请输入组名"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item> </el-form-item>
<el-form-item label="状态" prop="status"> <el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable class="!w-240px"> <el-select v-model="queryParams.status" placeholder="请选择状态" clearable class="!w-240px">
<el-option <el-option v-for="dict in getIntDictOptions(DICT_TYPE.COMMON_STATUS)" :key="dict.value" :label="dict.label"
v-for="dict in getIntDictOptions(DICT_TYPE.COMMON_STATUS)" :value="dict.value" />
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="创建时间" prop="createTime"> <el-form-item label="创建时间" prop="createTime">
<el-date-picker <el-date-picker v-model="queryParams.createTime" value-format="YYYY-MM-DD HH:mm:ss" type="daterange"
v-model="queryParams.createTime" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
value-format="YYYY-MM-DD HH:mm:ss" class="!w-240px" />
type="daterange"
start-placeholder="开始日期"
end-placeholder="结束日期"
:default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
class="!w-240px"
/>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button> <el-button type="info" plain @click="handleQuery">
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button> <Icon icon="ep:search" class="mr-5px" /> 搜索
<el-button </el-button>
type="primary" <el-button type="info" plain @click="resetQuery">
plain <Icon icon="ep:refresh" class="mr-5px" /> 重置
@click="openForm('create')" </el-button>
v-hasPermi="['bpm:user-group:create']" <el-button type="primary" @click="openForm('create')" v-hasPermi="['bpm:user-group:create']">
>
<Icon icon="ep:plus" class="mr-5px" /> 新增 <Icon icon="ep:plus" class="mr-5px" /> 新增
</el-button> </el-button>
</el-form-item> </el-form-item>
@ -71,40 +48,23 @@
<dict-tag :type="DICT_TYPE.COMMON_STATUS" :value="scope.row.status" /> <dict-tag :type="DICT_TYPE.COMMON_STATUS" :value="scope.row.status" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column label="创建时间" align="center" prop="createTime" :formatter="dateFormatter" />
label="创建时间"
align="center"
prop="createTime"
:formatter="dateFormatter"
/>
<el-table-column label="操作" align="center"> <el-table-column label="操作" align="center">
<template #default="scope"> <template #default="scope">
<el-button <el-button link type="primary" @click="openForm('update', scope.row.id)" v-hasPermi="['bpm:user-group:update']">
link <Icon icon="ep:edit" />
type="primary"
@click="openForm('update', scope.row.id)"
v-hasPermi="['bpm:user-group:update']"
>
编辑 编辑
</el-button> </el-button>
<el-button <el-button link type="danger" @click="handleDelete(scope.row.id)" v-hasPermi="['bpm:user-group:delete']">
link <Icon icon="ep:delete" />
type="danger"
@click="handleDelete(scope.row.id)"
v-hasPermi="['bpm:user-group:delete']"
>
删除 删除
</el-button> </el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<!-- 分页 --> <!-- 分页 -->
<Pagination <Pagination :total="total" v-model:page="queryParams.pageNo" v-model:limit="queryParams.pageSize"
:total="total" @pagination="getList" />
v-model:page="queryParams.pageNo"
v-model:limit="queryParams.pageSize"
@pagination="getList"
/>
</ContentWrap> </ContentWrap>
<!-- 表单弹窗添加/修改 --> <!-- 表单弹窗添加/修改 -->
@ -177,7 +137,7 @@ const handleDelete = async (id: number) => {
message.success(t('common.delSuccess')) message.success(t('common.delSuccess'))
// //
await getList() await getList()
} catch {} } catch { }
} }
/** 初始化 **/ /** 初始化 **/

176
src/views/bpm/model/index.vue

@ -1,58 +1,31 @@
<template> <template>
<ContentWrap> <ContentWrap>
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form <el-form class="-mb-15px" :model="queryParams" ref="queryFormRef" :inline="true" label-width="68px">
class="-mb-15px"
:model="queryParams"
ref="queryFormRef"
:inline="true"
label-width="68px"
>
<el-form-item label="流程标识" prop="key"> <el-form-item label="流程标识" prop="key">
<el-input <el-input v-model="queryParams.key" placeholder="请输入流程标识" clearable @keyup.enter="handleQuery" class="!w-240px" />
v-model="queryParams.key"
placeholder="请输入流程标识"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item> </el-form-item>
<el-form-item label="流程名称" prop="name"> <el-form-item label="流程名称" prop="name">
<el-input <el-input v-model="queryParams.name" placeholder="请输入流程名称" clearable @keyup.enter="handleQuery"
v-model="queryParams.name" class="!w-240px" />
placeholder="请输入流程名称"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item> </el-form-item>
<el-form-item label="流程分类" prop="category"> <el-form-item label="流程分类" prop="category">
<el-select <el-select v-model="queryParams.category" placeholder="请选择流程分类" clearable class="!w-240px">
v-model="queryParams.category" <el-option v-for="dict in getIntDictOptions(DICT_TYPE.BPM_MODEL_CATEGORY)" :key="dict.value" :label="dict.label"
placeholder="请选择流程分类" :value="dict.value" />
clearable
class="!w-240px"
>
<el-option
v-for="dict in getIntDictOptions(DICT_TYPE.BPM_MODEL_CATEGORY)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button> <el-button type="info" plain @click="handleQuery">
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button> <Icon icon="ep:search" class="mr-5px" /> 搜索
<el-button </el-button>
type="primary" <el-button type="info" plain @click="resetQuery">
plain <Icon icon="ep:refresh" class="mr-5px" /> 重置
@click="openForm('create')" </el-button>
v-hasPermi="['bpm:model:create']" <el-button type="primary" @click="openForm('create')" v-hasPermi="['bpm:model:create']">
>
<Icon icon="ep:plus" class="mr-5px" /> 新建流程 <Icon icon="ep:plus" class="mr-5px" /> 新建流程
</el-button> </el-button>
<el-button type="success" plain @click="openImportForm" v-hasPermi="['bpm:model:import']"> <el-button type="success" @click="openImportForm" v-hasPermi="['bpm:model:import']">
<Icon icon="ep:upload" class="mr-5px" /> 导入流程 <Icon icon="ep:upload" class="mr-5px" /> 导入流程
</el-button> </el-button>
</el-form-item> </el-form-item>
@ -75,41 +48,20 @@
<dict-tag :type="DICT_TYPE.BPM_MODEL_CATEGORY" :value="scope.row.category" /> <dict-tag :type="DICT_TYPE.BPM_MODEL_CATEGORY" :value="scope.row.category" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="表单信息" align="center" prop="formType" width="200"> <el-table-column label="表单信息" align="center" prop="formType">
<template #default="scope"> <template #default="scope">
<el-button <el-button v-if="scope.row.formType === 10" type="primary" link @click="handleFormDetail(scope.row)">
v-if="scope.row.formType === 10"
type="primary"
link
@click="handleFormDetail(scope.row)"
>
<span>{{ scope.row.formName }}</span> <span>{{ scope.row.formName }}</span>
</el-button> </el-button>
<el-button <el-button v-else-if="scope.row.formType === 20" type="primary" link @click="handleFormDetail(scope.row)">
v-else-if="scope.row.formType === 20"
type="primary"
link
@click="handleFormDetail(scope.row)"
>
<span>{{ scope.row.formCustomCreatePath }}</span> <span>{{ scope.row.formCustomCreatePath }}</span>
</el-button> </el-button>
<label v-else>暂无表单</label> <label v-else>暂无表单</label>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column label="创建时间" align="center" prop="createTime" width="180" :formatter="dateFormatter" />
label="创建时间"
align="center"
prop="createTime"
width="180"
:formatter="dateFormatter"
/>
<el-table-column label="最新部署的流程定义" align="center"> <el-table-column label="最新部署的流程定义" align="center">
<el-table-column <el-table-column label="流程版本" align="center" prop="processDefinition.version" width="100">
label="流程版本"
align="center"
prop="processDefinition.version"
width="100"
>
<template #default="scope"> <template #default="scope">
<el-tag v-if="scope.row.processDefinition"> <el-tag v-if="scope.row.processDefinition">
v{{ scope.row.processDefinition.version }} v{{ scope.row.processDefinition.version }}
@ -117,20 +69,10 @@
<el-tag v-else type="warning">未部署</el-tag> <el-tag v-else type="warning">未部署</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column label="激活状态" align="center" prop="processDefinition.version" width="85">
label="激活状态"
align="center"
prop="processDefinition.version"
width="85"
>
<template #default="scope"> <template #default="scope">
<el-switch <el-switch v-if="scope.row.processDefinition" v-model="scope.row.processDefinition.suspensionState"
v-if="scope.row.processDefinition" :active-value="1" :inactive-value="2" @change="handleChangeState(scope.row)" />
v-model="scope.row.processDefinition.suspensionState"
:active-value="1"
:inactive-value="2"
@change="handleChangeState(scope.row)"
/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="部署时间" align="center" prop="deploymentTime" width="180"> <el-table-column label="部署时间" align="center" prop="deploymentTime" width="180">
@ -141,66 +83,39 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center" width="240" fixed="right"> <el-table-column label="操作" align="center" width="300" fixed="right">
<template #default="scope"> <template #default="scope">
<el-button <el-button link type="primary" @click="openForm('update', scope.row.id)" v-hasPermi="['bpm:model:update']">
link <Icon icon="ep:edit" />
type="primary"
@click="openForm('update', scope.row.id)"
v-hasPermi="['bpm:model:update']"
>
修改流程 修改流程
</el-button> </el-button>
<el-button <el-button link type="primary" @click="handleDesign(scope.row)" v-hasPermi="['bpm:model:update']">
link <Icon icon="fa-solid:ruler" />
type="primary"
@click="handleDesign(scope.row)"
v-hasPermi="['bpm:model:update']"
>
设计流程 设计流程
</el-button> </el-button>
<el-button <el-button link type="primary" @click="handleAssignRule(scope.row)" v-hasPermi="['bpm:task-assign-rule:query']">
link <Icon icon="fa-solid:tasks" />
type="primary"
@click="handleAssignRule(scope.row)"
v-hasPermi="['bpm:task-assign-rule:query']"
>
分配规则 分配规则
</el-button> </el-button>
<el-button <el-button link type="primary" @click="handleDeploy(scope.row)" v-hasPermi="['bpm:model:deploy']">
link <Icon icon="ep:promotion" />
type="primary"
@click="handleDeploy(scope.row)"
v-hasPermi="['bpm:model:deploy']"
>
发布流程 发布流程
</el-button> </el-button>
<el-button <el-button link type="primary" v-hasPermi="['bpm:process-definition:query']"
link @click="handleDefinitionList(scope.row)">
type="primary" <Icon icon="fa:sitemap" />
v-hasPermi="['bpm:process-definition:query']"
@click="handleDefinitionList(scope.row)"
>
流程定义 流程定义
</el-button> </el-button>
<el-button <el-button link type="danger" @click="handleDelete(scope.row.id)" v-hasPermi="['bpm:model:delete']">
link <Icon icon="ep:delete" />
type="danger"
@click="handleDelete(scope.row.id)"
v-hasPermi="['bpm:model:delete']"
>
删除 删除
</el-button> </el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<!-- 分页 --> <!-- 分页 -->
<Pagination <Pagination :total="total" v-model:page="queryParams.pageNo" v-model:limit="queryParams.pageSize"
:total="total" @pagination="getList" />
v-model:page="queryParams.pageNo"
v-model:limit="queryParams.pageSize"
@pagination="getList"
/>
</ContentWrap> </ContentWrap>
<!-- 表单弹窗添加/修改流程 --> <!-- 表单弹窗添加/修改流程 -->
@ -216,13 +131,8 @@
<!-- 弹窗流程模型图的预览 --> <!-- 弹窗流程模型图的预览 -->
<Dialog title="流程图" v-model="bpmnDetailVisible" width="800"> <Dialog title="流程图" v-model="bpmnDetailVisible" width="800">
<MyProcessViewer <MyProcessViewer key="designer" v-model="bpmnXML" :value="bpmnXML as any" v-bind="bpmnControlForm"
key="designer" :prefix="bpmnControlForm.prefix" />
v-model="bpmnXML"
:value="bpmnXML as any"
v-bind="bpmnControlForm"
:prefix="bpmnControlForm.prefix"
/>
</Dialog> </Dialog>
</template> </template>
@ -300,7 +210,7 @@ const handleDelete = async (id: number) => {
message.success(t('common.delSuccess')) message.success(t('common.delSuccess'))
// //
await getList() await getList()
} catch {} } catch { }
} }
/** 更新状态操作 */ /** 更新状态操作 */
@ -342,7 +252,7 @@ const handleDeploy = async (row) => {
message.success(t('部署成功')) message.success(t('部署成功'))
// //
await getList() await getList()
} catch {} } catch { }
} }
/** 点击任务分配按钮 */ /** 点击任务分配按钮 */

12
src/views/bpm/oa/leave/index.vue

@ -54,9 +54,9 @@
/> />
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button> <el-button type="info" plain @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button>
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button> <el-button type="info" plain @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button>
<el-button type="primary" plain @click="handleCreate()"> <el-button type="primary" @click="handleCreate()">
<Icon icon="ep:plus" class="mr-5px" /> 发起请假 <Icon icon="ep:plus" class="mr-5px" /> 发起请假
</el-button> </el-button>
</el-form-item> </el-form-item>
@ -106,7 +106,7 @@
type="primary" type="primary"
@click="handleDetail(scope.row)" @click="handleDetail(scope.row)"
v-hasPermi="['bpm:oa-leave:query']" v-hasPermi="['bpm:oa-leave:query']"
> ><Icon icon="ep:document-copy" />
详情 详情
</el-button> </el-button>
<el-button <el-button
@ -114,7 +114,7 @@
type="primary" type="primary"
@click="handleProcessDetail(scope.row)" @click="handleProcessDetail(scope.row)"
v-hasPermi="['bpm:oa-leave:query']" v-hasPermi="['bpm:oa-leave:query']"
> ><Icon icon="ep:operation" />
进度 进度
</el-button> </el-button>
<el-button <el-button
@ -123,7 +123,7 @@
@click="cancelLeave(scope.row)" @click="cancelLeave(scope.row)"
v-hasPermi="['bpm:oa-leave:create']" v-hasPermi="['bpm:oa-leave:create']"
v-if="scope.row.result === 1" v-if="scope.row.result === 1"
> ><Icon icon="ep:remove" />
取消 取消
</el-button> </el-button>
</template> </template>

57
src/views/bpm/task/done/index.vue

@ -1,39 +1,22 @@
<template> <template>
<ContentWrap> <ContentWrap>
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form <el-form ref="queryFormRef" :inline="true" :model="queryParams" class="-mb-15px" label-width="68px">
ref="queryFormRef"
:inline="true"
:model="queryParams"
class="-mb-15px"
label-width="68px"
>
<el-form-item label="任务名称" prop="name"> <el-form-item label="任务名称" prop="name">
<el-input <el-input v-model="queryParams.name" class="!w-240px" clearable placeholder="请输入任务名称"
v-model="queryParams.name" @keyup.enter="handleQuery" />
class="!w-240px"
clearable
placeholder="请输入任务名称"
@keyup.enter="handleQuery"
/>
</el-form-item> </el-form-item>
<el-form-item label="创建时间" prop="createTime"> <el-form-item label="创建时间" prop="createTime">
<el-date-picker <el-date-picker v-model="queryParams.createTime" :default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
v-model="queryParams.createTime" class="!w-240px" end-placeholder="结束日期" start-placeholder="开始日期" type="daterange"
:default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]" value-format="YYYY-MM-DD HH:mm:ss" />
class="!w-240px"
end-placeholder="结束日期"
start-placeholder="开始日期"
type="daterange"
value-format="YYYY-MM-DD HH:mm:ss"
/>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button @click="handleQuery"> <el-button type="info" plain @click="handleQuery">
<Icon class="mr-5px" icon="ep:search" /> <Icon class="mr-5px" icon="ep:search" />
搜索 搜索
</el-button> </el-button>
<el-button @click="resetQuery"> <el-button type="info" plain @click="resetQuery">
<Icon class="mr-5px" icon="ep:refresh" /> <Icon class="mr-5px" icon="ep:refresh" />
重置 重置
</el-button> </el-button>
@ -54,27 +37,21 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" label="原因" prop="reason" /> <el-table-column align="center" label="原因" prop="reason" />
<el-table-column <el-table-column :formatter="dateFormatter" align="center" label="创建时间" prop="createTime" width="180" />
:formatter="dateFormatter"
align="center"
label="创建时间"
prop="createTime"
width="180"
/>
<el-table-column align="center" label="操作"> <el-table-column align="center" label="操作">
<template #default="scope"> <template #default="scope">
<el-button link type="primary" @click="openDetail(scope.row)">详情</el-button> <el-button link type="primary" @click="openDetail(scope.row)">
<el-button link type="primary" @click="handleAudit(scope.row)">流程</el-button> <Icon icon="ep:document-copy" />详情
</el-button>
<el-button link type="primary" @click="handleAudit(scope.row)">
<Icon icon="fa:sitemap" />流程
</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<!-- 分页 --> <!-- 分页 -->
<Pagination <Pagination v-model:limit="queryParams.pageSize" v-model:page="queryParams.pageNo" :total="total"
v-model:limit="queryParams.pageSize" @pagination="getList" />
v-model:page="queryParams.pageNo"
:total="total"
@pagination="getList"
/>
</ContentWrap> </ContentWrap>
<!-- 表单弹窗详情 --> <!-- 表单弹窗详情 -->

53
src/views/bpm/task/todo/index.vue

@ -1,39 +1,22 @@
<template> <template>
<ContentWrap> <ContentWrap>
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form <el-form ref="queryFormRef" :inline="true" :model="queryParams" class="-mb-15px" label-width="68px">
ref="queryFormRef"
:inline="true"
:model="queryParams"
class="-mb-15px"
label-width="68px"
>
<el-form-item label="任务名称" prop="name"> <el-form-item label="任务名称" prop="name">
<el-input <el-input v-model="queryParams.name" class="!w-240px" clearable placeholder="请输入任务名称"
v-model="queryParams.name" @keyup.enter="handleQuery" />
class="!w-240px"
clearable
placeholder="请输入任务名称"
@keyup.enter="handleQuery"
/>
</el-form-item> </el-form-item>
<el-form-item label="创建时间" prop="createTime"> <el-form-item label="创建时间" prop="createTime">
<el-date-picker <el-date-picker v-model="queryParams.createTime" :default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
v-model="queryParams.createTime" class="!w-240px" end-placeholder="结束日期" start-placeholder="开始日期" type="daterange"
:default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]" value-format="YYYY-MM-DD HH:mm:ss" />
class="!w-240px"
end-placeholder="结束日期"
start-placeholder="开始日期"
type="daterange"
value-format="YYYY-MM-DD HH:mm:ss"
/>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button @click="handleQuery"> <el-button type="info" plain @click="handleQuery">
<Icon class="mr-5px" icon="ep:search" /> <Icon class="mr-5px" icon="ep:search" />
搜索 搜索
</el-button> </el-button>
<el-button @click="resetQuery"> <el-button type="info" plain @click="resetQuery">
<Icon class="mr-5px" icon="ep:refresh" /> <Icon class="mr-5px" icon="ep:refresh" />
重置 重置
</el-button> </el-button>
@ -48,13 +31,7 @@
<el-table-column align="center" label="任务名称" prop="name" /> <el-table-column align="center" label="任务名称" prop="name" />
<el-table-column align="center" label="所属流程" prop="processInstance.name" /> <el-table-column align="center" label="所属流程" prop="processInstance.name" />
<el-table-column align="center" label="流程发起人" prop="processInstance.startUserNickname" /> <el-table-column align="center" label="流程发起人" prop="processInstance.startUserNickname" />
<el-table-column <el-table-column :formatter="dateFormatter" align="center" label="创建时间" prop="createTime" width="180" />
:formatter="dateFormatter"
align="center"
label="创建时间"
prop="createTime"
width="180"
/>
<el-table-column label="任务状态" prop="suspensionState"> <el-table-column label="任务状态" prop="suspensionState">
<template #default="scope"> <template #default="scope">
<el-tag v-if="scope.row.suspensionState === 1" type="success">激活</el-tag> <el-tag v-if="scope.row.suspensionState === 1" type="success">激活</el-tag>
@ -63,17 +40,15 @@
</el-table-column> </el-table-column>
<el-table-column align="center" label="操作"> <el-table-column align="center" label="操作">
<template #default="scope"> <template #default="scope">
<el-button link type="primary" @click="handleAudit(scope.row)">审批进度</el-button> <el-button link type="primary" @click="handleAudit(scope.row)">
<Icon icon="fa-solid:stamp" />审批进度
</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<!-- 分页 --> <!-- 分页 -->
<Pagination <Pagination v-model:limit="queryParams.pageSize" v-model:page="queryParams.pageNo" :total="total"
v-model:limit="queryParams.pageSize" @pagination="getList" />
v-model:page="queryParams.pageNo"
:total="total"
@pagination="getList"
/>
</ContentWrap> </ContentWrap>
</template> </template>

104
src/views/infra/apiAccessLog/index.vue

@ -1,85 +1,43 @@
<template> <template>
<ContentWrap> <ContentWrap>
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form <el-form class="-mb-15px" :model="queryParams" ref="queryFormRef" :inline="true" label-width="68px">
class="-mb-15px"
:model="queryParams"
ref="queryFormRef"
:inline="true"
label-width="68px"
>
<el-form-item label="用户编号" prop="userId"> <el-form-item label="用户编号" prop="userId">
<el-input <el-input v-model="queryParams.userId" placeholder="请输入用户编号" clearable @keyup.enter="handleQuery"
v-model="queryParams.userId" class="!w-240px" />
placeholder="请输入用户编号"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item> </el-form-item>
<el-form-item label="用户类型" prop="userType"> <el-form-item label="用户类型" prop="userType">
<el-select <el-select v-model="queryParams.userType" placeholder="请选择用户类型" clearable class="!w-240px">
v-model="queryParams.userType" <el-option v-for="dict in getIntDictOptions(DICT_TYPE.USER_TYPE)" :key="dict.value" :label="dict.label"
placeholder="请选择用户类型" :value="dict.value" />
clearable
class="!w-240px"
>
<el-option
v-for="dict in getIntDictOptions(DICT_TYPE.USER_TYPE)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="应用名" prop="applicationName"> <el-form-item label="应用名" prop="applicationName">
<el-input <el-input v-model="queryParams.applicationName" placeholder="请输入应用名" clearable @keyup.enter="handleQuery"
v-model="queryParams.applicationName" class="!w-240px" />
placeholder="请输入应用名"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item> </el-form-item>
<el-form-item label="请求时间" prop="beginTime"> <el-form-item label="请求时间" prop="beginTime">
<el-date-picker <el-date-picker v-model="queryParams.beginTime" value-format="YYYY-MM-DD HH:mm:ss" type="daterange"
v-model="queryParams.beginTime" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
value-format="YYYY-MM-DD HH:mm:ss" class="!w-240px" />
type="daterange"
start-placeholder="开始日期"
end-placeholder="结束日期"
:default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
class="!w-240px"
/>
</el-form-item> </el-form-item>
<el-form-item label="执行时长" prop="duration"> <el-form-item label="执行时长" prop="duration">
<el-input <el-input v-model="queryParams.duration" placeholder="请输入执行时长" clearable @keyup.enter="handleQuery"
v-model="queryParams.duration" class="!w-240px" />
placeholder="请输入执行时长"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item> </el-form-item>
<el-form-item label="结果码" prop="resultCode"> <el-form-item label="结果码" prop="resultCode">
<el-input <el-input v-model="queryParams.resultCode" placeholder="请输入结果码" clearable @keyup.enter="handleQuery"
v-model="queryParams.resultCode" class="!w-240px" />
placeholder="请输入结果码"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button> <el-button type="info" plain @click="handleQuery">
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button> <Icon icon="ep:search" class="mr-5px" /> 搜索
<el-button </el-button>
type="success" <el-button type="info" plain @click="resetQuery">
plain <Icon icon="ep:refresh" class="mr-5px" /> 重置
@click="handleExport" </el-button>
:loading="exportLoading" <el-button type="success" @click="handleExport" :loading="exportLoading"
v-hasPermi="['infra:api-error-log:export']" v-hasPermi="['infra:api-error-log:export']">
>
<Icon icon="ep:download" class="mr-5px" /> 导出 <Icon icon="ep:download" class="mr-5px" /> 导出
</el-button> </el-button>
</el-form-item> </el-form-item>
@ -114,24 +72,16 @@
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center"> <el-table-column label="操作" align="center">
<template #default="scope"> <template #default="scope">
<el-button <el-button link type="primary" @click="openDetail(scope.row)" v-hasPermi="['infra:api-access-log:query']">
link <Icon icon="ep:document-copy" />
type="primary"
@click="openDetail(scope.row)"
v-hasPermi="['infra:api-access-log:query']"
>
详细 详细
</el-button> </el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<!-- 分页组件 --> <!-- 分页组件 -->
<Pagination <Pagination :total="total" v-model:page="queryParams.pageNo" v-model:limit="queryParams.pageSize"
:total="total" @pagination="getList" />
v-model:page="queryParams.pageNo"
v-model:limit="queryParams.pageSize"
@pagination="getList"
/>
</ContentWrap> </ContentWrap>
<!-- 表单弹窗详情 --> <!-- 表单弹窗详情 -->

13
src/views/infra/apiErrorLog/index.vue

@ -68,11 +68,10 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button> <el-button type="info" plain @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button>
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button> <el-button type="info" plain @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button>
<el-button <el-button
type="success" type="success"
plain
@click="handleExport" @click="handleExport"
:loading="exportLoading" :loading="exportLoading"
v-hasPermi="['infra:api-error-log:export']" v-hasPermi="['infra:api-error-log:export']"
@ -112,14 +111,14 @@
/> />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center" width="200"> <el-table-column label="操作" align="center" width="240">
<template #default="scope"> <template #default="scope">
<el-button <el-button
link link
type="primary" type="primary"
@click="openDetail(scope.row)" @click="openDetail(scope.row)"
v-hasPermi="['infra:api-error-log:query']" v-hasPermi="['infra:api-error-log:query']"
> ><Icon icon="ep:document-copy" />
详细 详细
</el-button> </el-button>
<el-button <el-button
@ -128,7 +127,7 @@
v-if="scope.row.processStatus === InfraApiErrorLogProcessStatusEnum.INIT" v-if="scope.row.processStatus === InfraApiErrorLogProcessStatusEnum.INIT"
@click="handleProcess(scope.row.id, InfraApiErrorLogProcessStatusEnum.DONE)" @click="handleProcess(scope.row.id, InfraApiErrorLogProcessStatusEnum.DONE)"
v-hasPermi="['infra:api-error-log:update-status']" v-hasPermi="['infra:api-error-log:update-status']"
> ><Icon icon="ep:finished" />
已处理 已处理
</el-button> </el-button>
<el-button <el-button
@ -137,7 +136,7 @@
v-if="scope.row.processStatus === InfraApiErrorLogProcessStatusEnum.INIT" v-if="scope.row.processStatus === InfraApiErrorLogProcessStatusEnum.INIT"
@click="handleProcess(scope.row.id, InfraApiErrorLogProcessStatusEnum.IGNORE)" @click="handleProcess(scope.row.id, InfraApiErrorLogProcessStatusEnum.IGNORE)"
v-hasPermi="['infra:api-error-log:update-status']" v-hasPermi="['infra:api-error-log:update-status']"
> ><Icon icon="ep:remove" />
已忽略 已忽略
</el-button> </el-button>
</template> </template>

9
src/views/infra/codegen/index.vue

@ -38,11 +38,11 @@
/> />
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button @click="handleQuery"> <el-button type="info" plain @click="handleQuery">
<Icon class="mr-5px" icon="ep:search" /> <Icon class="mr-5px" icon="ep:search" />
搜索 搜索
</el-button> </el-button>
<el-button @click="resetQuery"> <el-button type="info" plain @click="resetQuery">
<Icon class="mr-5px" icon="ep:refresh" /> <Icon class="mr-5px" icon="ep:refresh" />
重置 重置
</el-button> </el-button>
@ -95,6 +95,7 @@
type="primary" type="primary"
@click="handlePreview(scope.row)" @click="handlePreview(scope.row)"
> >
<Icon icon="ep:view" />
预览 预览
</el-button> </el-button>
<el-button <el-button
@ -103,6 +104,7 @@
type="primary" type="primary"
@click="handleUpdate(scope.row.id)" @click="handleUpdate(scope.row.id)"
> >
<Icon icon="ep:edit" />
编辑 编辑
</el-button> </el-button>
<el-button <el-button
@ -111,6 +113,7 @@
type="danger" type="danger"
@click="handleDelete(scope.row.id)" @click="handleDelete(scope.row.id)"
> >
<Icon icon="ep:delete" />
删除 删除
</el-button> </el-button>
<el-button <el-button
@ -119,6 +122,7 @@
type="primary" type="primary"
@click="handleSyncDB(scope.row)" @click="handleSyncDB(scope.row)"
> >
<Icon icon="ep:refresh" />
同步 同步
</el-button> </el-button>
<el-button <el-button
@ -127,6 +131,7 @@
type="primary" type="primary"
@click="handleGenTable(scope.row)" @click="handleGenTable(scope.row)"
> >
<Icon icon="fa:code" />
生成代码 生成代码
</el-button> </el-button>
</template> </template>

109
src/views/infra/config/index.vue

@ -1,75 +1,36 @@
<template> <template>
<!-- 搜索 --> <!-- 搜索 -->
<ContentWrap> <ContentWrap>
<el-form <el-form class="-mb-15px" :model="queryParams" ref="queryFormRef" :inline="true" label-width="68px">
class="-mb-15px"
:model="queryParams"
ref="queryFormRef"
:inline="true"
label-width="68px"
>
<el-form-item label="参数名称" prop="name"> <el-form-item label="参数名称" prop="name">
<el-input <el-input v-model="queryParams.name" placeholder="请输入参数名称" clearable @keyup.enter="handleQuery"
v-model="queryParams.name" class="!w-240px" />
placeholder="请输入参数名称"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item> </el-form-item>
<el-form-item label="参数键名" prop="key"> <el-form-item label="参数键名" prop="key">
<el-input <el-input v-model="queryParams.key" placeholder="请输入参数键名" clearable @keyup.enter="handleQuery" class="!w-240px" />
v-model="queryParams.key"
placeholder="请输入参数键名"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item> </el-form-item>
<el-form-item label="系统内置" prop="type"> <el-form-item label="系统内置" prop="type">
<el-select <el-select v-model="queryParams.type" placeholder="请选择系统内置" clearable class="!w-240px">
v-model="queryParams.type" <el-option v-for="dict in getIntDictOptions(DICT_TYPE.INFRA_CONFIG_TYPE)" :key="dict.value" :label="dict.label"
placeholder="请选择系统内置" :value="dict.value" />
clearable
class="!w-240px"
>
<el-option
v-for="dict in getIntDictOptions(DICT_TYPE.INFRA_CONFIG_TYPE)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="创建时间" prop="createTime"> <el-form-item label="创建时间" prop="createTime">
<el-date-picker <el-date-picker v-model="queryParams.createTime" value-format="YYYY-MM-DD HH:mm:ss" type="daterange"
v-model="queryParams.createTime" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
value-format="YYYY-MM-DD HH:mm:ss" class="!w-240px" />
type="daterange"
start-placeholder="开始日期"
end-placeholder="结束日期"
:default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
class="!w-240px"
/>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button> <el-button type="info" plain @click="handleQuery">
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button> <Icon icon="ep:search" class="mr-5px" /> 搜索
<el-button </el-button>
type="primary" <el-button type="info" plain @click="resetQuery">
plain <Icon icon="ep:refresh" class="mr-5px" /> 重置
@click="openForm('create')" </el-button>
v-hasPermi="['infra:config:create']" <el-button type="primary" @click="openForm('create')" v-hasPermi="['infra:config:create']">
>
<Icon icon="ep:plus" class="mr-5px" /> 新增 <Icon icon="ep:plus" class="mr-5px" /> 新增
</el-button> </el-button>
<el-button <el-button type="success" @click="handleExport" :loading="exportLoading" v-hasPermi="['infra:config:export']">
type="success"
plain
@click="handleExport"
:loading="exportLoading"
v-hasPermi="['infra:config:export']"
>
<Icon icon="ep:download" class="mr-5px" /> 导出 <Icon icon="ep:download" class="mr-5px" /> 导出
</el-button> </el-button>
</el-form-item> </el-form-item>
@ -95,41 +56,23 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="备注" align="center" prop="remark" :show-overflow-tooltip="true" /> <el-table-column label="备注" align="center" prop="remark" :show-overflow-tooltip="true" />
<el-table-column <el-table-column label="创建时间" align="center" prop="createTime" width="180" :formatter="dateFormatter" />
label="创建时间"
align="center"
prop="createTime"
width="180"
:formatter="dateFormatter"
/>
<el-table-column label="操作" align="center"> <el-table-column label="操作" align="center">
<template #default="scope"> <template #default="scope">
<el-button <el-button link type="primary" @click="openForm('update', scope.row.id)" v-hasPermi="['infra:config:update']">
link <Icon icon="ep:edit" />
type="primary"
@click="openForm('update', scope.row.id)"
v-hasPermi="['infra:config:update']"
>
编辑 编辑
</el-button> </el-button>
<el-button <el-button link type="danger" @click="handleDelete(scope.row.id)" v-hasPermi="['infra:config:delete']">
link <Icon icon="ep:delete" />
type="danger"
@click="handleDelete(scope.row.id)"
v-hasPermi="['infra:config:delete']"
>
删除 删除
</el-button> </el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<!-- 分页 --> <!-- 分页 -->
<Pagination <Pagination :total="total" v-model:page="queryParams.pageNo" v-model:limit="queryParams.pageSize"
:total="total" @pagination="getList" />
v-model:page="queryParams.pageNo"
v-model:limit="queryParams.pageSize"
@pagination="getList"
/>
</ContentWrap> </ContentWrap>
<!-- 表单弹窗添加/修改 --> <!-- 表单弹窗添加/修改 -->
@ -201,7 +144,7 @@ const handleDelete = async (id: number) => {
message.success(t('common.delSuccess')) message.success(t('common.delSuccess'))
// //
await getList() await getList()
} catch {} } catch { }
} }
/** 导出按钮操作 */ /** 导出按钮操作 */

37
src/views/infra/dataSourceConfig/index.vue

@ -3,12 +3,7 @@
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form class="-mb-15px" :inline="true"> <el-form class="-mb-15px" :inline="true">
<el-form-item> <el-form-item>
<el-button <el-button type="primary" @click="openForm('create')" v-hasPermi="['infra:data-source-config:create']">
type="primary"
plain
@click="openForm('create')"
v-hasPermi="['infra:data-source-config:create']"
>
<Icon icon="ep:plus" class="mr-5px" /> 新增 <Icon icon="ep:plus" class="mr-5px" /> 新增
</el-button> </el-button>
</el-form-item> </el-form-item>
@ -22,31 +17,17 @@
<el-table-column label="数据源名称" align="center" prop="name" /> <el-table-column label="数据源名称" align="center" prop="name" />
<el-table-column label="数据源连接" align="center" prop="url" :show-overflow-tooltip="true" /> <el-table-column label="数据源连接" align="center" prop="url" :show-overflow-tooltip="true" />
<el-table-column label="用户名" align="center" prop="username" /> <el-table-column label="用户名" align="center" prop="username" />
<el-table-column <el-table-column label="创建时间" align="center" prop="createTime" width="180" :formatter="dateFormatter" />
label="创建时间"
align="center"
prop="createTime"
width="180"
:formatter="dateFormatter"
/>
<el-table-column label="操作" align="center"> <el-table-column label="操作" align="center">
<template #default="scope"> <template #default="scope">
<el-button <el-button link type="primary" @click="openForm('update', scope.row.id)"
link v-hasPermi="['infra:data-source-config:update']" :disabled="scope.row.id === 0">
type="primary" <Icon icon="ep:edit" />
@click="openForm('update', scope.row.id)"
v-hasPermi="['infra:data-source-config:update']"
:disabled="scope.row.id === 0"
>
编辑 编辑
</el-button> </el-button>
<el-button <el-button link type="danger" @click="handleDelete(scope.row.id)"
link v-hasPermi="['infra:data-source-config:delete']" :disabled="scope.row.id === 0">
type="danger" <Icon icon="ep:delete" />
@click="handleDelete(scope.row.id)"
v-hasPermi="['infra:data-source-config:delete']"
:disabled="scope.row.id === 0"
>
删除 删除
</el-button> </el-button>
</template> </template>
@ -96,7 +77,7 @@ const handleDelete = async (id: number) => {
message.success(t('common.delSuccess')) message.success(t('common.delSuccess'))
// //
await getList() await getList()
} catch {} } catch { }
} }
/** 初始化 **/ /** 初始化 **/

6
src/views/infra/dbDoc/index.vue

@ -1,13 +1,13 @@
<template> <template>
<ContentWrap title="数据库文档"> <ContentWrap title="数据库文档">
<div class="mb-10px"> <div class="mb-10px">
<el-button type="primary" plain @click="handleExport('HTML')"> <el-button type="primary" @click="handleExport('HTML')">
<Icon icon="ep:download" /> 导出 HTML <Icon icon="ep:download" /> 导出 HTML
</el-button> </el-button>
<el-button type="primary" plain @click="handleExport('Word')"> <el-button type="primary" @click="handleExport('Word')">
<Icon icon="ep:download" /> 导出 Word <Icon icon="ep:download" /> 导出 Word
</el-button> </el-button>
<el-button type="primary" plain @click="handleExport('Markdown')"> <el-button type="primary" @click="handleExport('Markdown')">
<Icon icon="ep:download" /> 导出 Markdown <Icon icon="ep:download" /> 导出 Markdown
</el-button> </el-button>
</div> </div>

7
src/views/infra/file/index.vue

@ -35,9 +35,9 @@
/> />
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button> <el-button type="info" plain @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button>
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button> <el-button type="info" plain @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button>
<el-button type="primary" plain @click="openForm"> <el-button type="primary" @click="openForm">
<Icon icon="ep:upload" class="mr-5px" /> 上传文件 <Icon icon="ep:upload" class="mr-5px" /> 上传文件
</el-button> </el-button>
</el-form-item> </el-form-item>
@ -73,6 +73,7 @@
@click="handleDelete(scope.row.id)" @click="handleDelete(scope.row.id)"
v-hasPermi="['infra:config:delete']" v-hasPermi="['infra:config:delete']"
> >
<Icon icon="ep:delete" />
删除 删除
</el-button> </el-button>
</template> </template>

113
src/views/infra/fileConfig/index.vue

@ -1,57 +1,29 @@
<template> <template>
<!-- 搜索 --> <!-- 搜索 -->
<ContentWrap> <ContentWrap>
<el-form <el-form class="-mb-15px" :model="queryParams" ref="queryFormRef" :inline="true" label-width="68px">
class="-mb-15px"
:model="queryParams"
ref="queryFormRef"
:inline="true"
label-width="68px"
>
<el-form-item label="配置名" prop="name"> <el-form-item label="配置名" prop="name">
<el-input <el-input v-model="queryParams.name" placeholder="请输入配置名" clearable @keyup.enter="handleQuery" class="!w-240px" />
v-model="queryParams.name"
placeholder="请输入配置名"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item> </el-form-item>
<el-form-item label="存储器" prop="storage"> <el-form-item label="存储器" prop="storage">
<el-select <el-select v-model="queryParams.storage" placeholder="请选择存储器" clearable class="!w-240px">
v-model="queryParams.storage" <el-option v-for="dict in getIntDictOptions(DICT_TYPE.INFRA_FILE_STORAGE)" :key="dict.value" :label="dict.label"
placeholder="请选择存储器" :value="dict.value" />
clearable
class="!w-240px"
>
<el-option
v-for="dict in getIntDictOptions(DICT_TYPE.INFRA_FILE_STORAGE)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="创建时间" prop="createTime"> <el-form-item label="创建时间" prop="createTime">
<el-date-picker <el-date-picker v-model="queryParams.createTime" value-format="YYYY-MM-DD HH:mm:ss" type="daterange"
v-model="queryParams.createTime" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
value-format="YYYY-MM-DD HH:mm:ss" class="!w-240px" />
type="daterange"
start-placeholder="开始日期"
end-placeholder="结束日期"
:default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
class="!w-240px"
/>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button> <el-button type="info" plain @click="handleQuery">
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button> <Icon icon="ep:search" class="mr-5px" /> 搜索
<el-button </el-button>
type="primary" <el-button type="info" plain @click="resetQuery">
plain <Icon icon="ep:refresh" class="mr-5px" /> 重置
@click="openForm('create')" </el-button>
v-hasPermi="['infra:file-config:create']" <el-button type="primary" @click="openForm('create')" v-hasPermi="['infra:file-config:create']">
>
<Icon icon="ep:plus" class="mr-5px" /> 新增 <Icon icon="ep:plus" class="mr-5px" /> 新增
</el-button> </el-button>
</el-form-item> </el-form-item>
@ -74,51 +46,32 @@
<dict-tag :type="DICT_TYPE.INFRA_BOOLEAN_STRING" :value="scope.row.master" /> <dict-tag :type="DICT_TYPE.INFRA_BOOLEAN_STRING" :value="scope.row.master" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column label="创建时间" align="center" prop="createTime" width="180" :formatter="dateFormatter" />
label="创建时间" <el-table-column label="操作" align="center" width="320px">
align="center"
prop="createTime"
width="180"
:formatter="dateFormatter"
/>
<el-table-column label="操作" align="center" width="240px">
<template #default="scope"> <template #default="scope">
<el-button <el-button link type="primary" @click="openForm('update', scope.row.id)"
link v-hasPermi="['infra:file-config:update']">
type="primary" <Icon icon="ep:edit" />
@click="openForm('update', scope.row.id)"
v-hasPermi="['infra:file-config:update']"
>
编辑 编辑
</el-button> </el-button>
<el-button <el-button link type="primary" :disabled="scope.row.master" @click="handleMaster(scope.row.id)"
link v-hasPermi="['infra:file-config:update']">
type="primary" <Icon icon="ep:tools" />
:disabled="scope.row.master"
@click="handleMaster(scope.row.id)"
v-hasPermi="['infra:file-config:update']"
>
主配置 主配置
</el-button> </el-button>
<el-button link type="primary" @click="handleTest(scope.row.id)"> 测试 </el-button> <el-button link type="primary" @click="handleTest(scope.row.id)">
<el-button <Icon icon="ep:cellphone" />测试
link </el-button>
type="danger" <el-button link type="danger" @click="handleDelete(scope.row.id)" v-hasPermi="['infra:config:delete']">
@click="handleDelete(scope.row.id)" <Icon icon="ep:delete" />
v-hasPermi="['infra:config:delete']"
>
删除 删除
</el-button> </el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<!-- 分页 --> <!-- 分页 -->
<Pagination <Pagination :total="total" v-model:page="queryParams.pageNo" v-model:limit="queryParams.pageSize"
:total="total" @pagination="getList" />
v-model:page="queryParams.pageNo"
v-model:limit="queryParams.pageSize"
@pagination="getList"
/>
</ContentWrap> </ContentWrap>
<!-- 表单弹窗添加/修改 --> <!-- 表单弹窗添加/修改 -->
@ -187,7 +140,7 @@ const handleDelete = async (id: number) => {
message.success(t('common.delSuccess')) message.success(t('common.delSuccess'))
// //
await getList() await getList()
} catch {} } catch { }
} }
/** 主配置按钮操作 */ /** 主配置按钮操作 */
@ -197,7 +150,7 @@ const handleMaster = async (id) => {
await FileConfigApi.updateFileConfigMaster(id) await FileConfigApi.updateFileConfigMaster(id)
message.success(t('common.updateSuccess')) message.success(t('common.updateSuccess'))
await getList() await getList()
} catch {} } catch { }
} }
/** 测试按钮操作 */ /** 测试按钮操作 */
@ -205,7 +158,7 @@ const handleTest = async (id) => {
try { try {
const response = await FileConfigApi.testFileConfig(id) const response = await FileConfigApi.testFileConfig(id)
message.alert('测试通过,上传文件成功!访问地址:' + response) message.alert('测试通过,上传文件成功!访问地址:' + response)
} catch {} } catch { }
} }
/** 初始化 **/ /** 初始化 **/

13
src/views/infra/job/index.vue

@ -42,11 +42,10 @@
/> />
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button> <el-button type="info" plain @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button>
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button> <el-button type="info" plain @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button>
<el-button <el-button
type="primary" type="primary"
plain
@click="openForm('create')" @click="openForm('create')"
v-hasPermi="['infra:job:create']" v-hasPermi="['infra:job:create']"
> >
@ -54,14 +53,13 @@
</el-button> </el-button>
<el-button <el-button
type="success" type="success"
plain
@click="handleExport" @click="handleExport"
:loading="exportLoading" :loading="exportLoading"
v-hasPermi="['infra:job:export']" v-hasPermi="['infra:job:export']"
> >
<Icon icon="ep:download" class="mr-5px" /> 导出 <Icon icon="ep:download" class="mr-5px" /> 导出
</el-button> </el-button>
<el-button type="info" plain @click="handleJobLog" v-hasPermi="['infra:job:query']"> <el-button type="info" @click="handleJobLog" v-hasPermi="['infra:job:query']">
<Icon icon="ep:zoom-in" class="mr-5px" /> 执行日志 <Icon icon="ep:zoom-in" class="mr-5px" /> 执行日志
</el-button> </el-button>
</el-form-item> </el-form-item>
@ -81,7 +79,7 @@
<el-table-column label="处理器的名字" align="center" prop="handlerName" /> <el-table-column label="处理器的名字" align="center" prop="handlerName" />
<el-table-column label="处理器的参数" align="center" prop="handlerParam" /> <el-table-column label="处理器的参数" align="center" prop="handlerParam" />
<el-table-column label="CRON 表达式" align="center" prop="cronExpression" /> <el-table-column label="CRON 表达式" align="center" prop="cronExpression" />
<el-table-column label="操作" align="center" width="200"> <el-table-column label="操作" align="center" width="260">
<template #default="scope"> <template #default="scope">
<el-button <el-button
type="primary" type="primary"
@ -89,6 +87,7 @@
@click="openForm('update', scope.row.id)" @click="openForm('update', scope.row.id)"
v-hasPermi="['infra:job:update']" v-hasPermi="['infra:job:update']"
> >
<Icon icon="ep:edit" />
修改 修改
</el-button> </el-button>
<el-button <el-button
@ -97,6 +96,7 @@
@click="handleChangeStatus(scope.row)" @click="handleChangeStatus(scope.row)"
v-hasPermi="['infra:job:update']" v-hasPermi="['infra:job:update']"
> >
<Icon :icon="scope.row.status === InfraJobStatusEnum.STOP ? 'ep:video-play' : 'ep:video-pause'" />
{{ scope.row.status === InfraJobStatusEnum.STOP ? '开启' : '暂停' }} {{ scope.row.status === InfraJobStatusEnum.STOP ? '开启' : '暂停' }}
</el-button> </el-button>
<el-button <el-button
@ -105,6 +105,7 @@
@click="handleDelete(scope.row.id)" @click="handleDelete(scope.row.id)"
v-hasPermi="['infra:job:delete']" v-hasPermi="['infra:job:delete']"
> >
<Icon icon="ep:delete" />
删除 删除
</el-button> </el-button>
<el-dropdown <el-dropdown

2
src/views/system/area/index.vue

@ -1,7 +1,7 @@
<template> <template>
<!-- 操作栏 --> <!-- 操作栏 -->
<ContentWrap> <ContentWrap>
<el-button type="primary" plain @click="openForm()"> <el-button type="primary" @click="openForm()">
<Icon icon="ep:plus" class="mr-5px" /> IP 查询 <Icon icon="ep:plus" class="mr-5px" /> IP 查询
</el-button> </el-button>
</ContentWrap> </ContentWrap>

9
src/views/system/dept/index.vue

@ -32,17 +32,16 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button> <el-button type="info" plain @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button>
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button> <el-button type="info" plain @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button>
<el-button <el-button
type="primary" type="primary"
plain
@click="openForm('create')" @click="openForm('create')"
v-hasPermi="['system:dept:create']" v-hasPermi="['system:dept:create']"
> >
<Icon icon="ep:plus" class="mr-5px" /> 新增 <Icon icon="ep:plus" class="mr-5px" /> 新增
</el-button> </el-button>
<el-button type="danger" plain @click="toggleExpandAll"> <el-button type="danger" @click="toggleExpandAll">
<Icon icon="ep:sort" class="mr-5px" /> 展开/折叠 <Icon icon="ep:sort" class="mr-5px" /> 展开/折叠
</el-button> </el-button>
</el-form-item> </el-form-item>
@ -85,6 +84,7 @@
@click="openForm('update', scope.row.id)" @click="openForm('update', scope.row.id)"
v-hasPermi="['system:dept:update']" v-hasPermi="['system:dept:update']"
> >
<Icon icon="ep:edit" />
修改 修改
</el-button> </el-button>
<el-button <el-button
@ -93,6 +93,7 @@
@click="handleDelete(scope.row.id)" @click="handleDelete(scope.row.id)"
v-hasPermi="['system:dept:delete']" v-hasPermi="['system:dept:delete']"
> >
<Icon icon="ep:delete" />
删除 删除
</el-button> </el-button>
</template> </template>

12
src/views/system/dict/index.vue

@ -53,17 +53,16 @@
/> />
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button @click="handleQuery"> <el-button type="info" plain @click="handleQuery">
<Icon class="mr-5px" icon="ep:search" /> <Icon class="mr-5px" icon="ep:search" />
搜索 搜索
</el-button> </el-button>
<el-button @click="resetQuery"> <el-button type="info" plain @click="resetQuery">
<Icon class="mr-5px" icon="ep:refresh" /> <Icon class="mr-5px" icon="ep:refresh" />
重置 重置
</el-button> </el-button>
<el-button <el-button
v-hasPermi="['system:dict:create']" v-hasPermi="['system:dict:create']"
plain
type="primary" type="primary"
@click="openForm('create')" @click="openForm('create')"
> >
@ -73,7 +72,6 @@
<el-button <el-button
v-hasPermi="['system:dict:export']" v-hasPermi="['system:dict:export']"
:loading="exportLoading" :loading="exportLoading"
plain
type="success" type="success"
@click="handleExport" @click="handleExport"
> >
@ -111,17 +109,21 @@
type="primary" type="primary"
@click="openForm('update', scope.row.id)" @click="openForm('update', scope.row.id)"
> >
<Icon icon="ep:edit" />
修改 修改
</el-button> </el-button>
<el-button link type="primary">
<router-link :to="'/dict/type/data/' + scope.row.type"> <router-link :to="'/dict/type/data/' + scope.row.type">
<el-button link type="primary">数据</el-button> <el-button link type="primary"><Icon icon="fa:area-chart" />数据</el-button>
</router-link> </router-link>
</el-button>
<el-button <el-button
v-hasPermi="['system:dict:delete']" v-hasPermi="['system:dict:delete']"
link link
type="danger" type="danger"
@click="handleDelete(scope.row.id)" @click="handleDelete(scope.row.id)"
> >
<Icon icon="ep:delete" />
删除 删除
</el-button> </el-button>
</template> </template>

115
src/views/system/errorCode/index.vue

@ -1,80 +1,42 @@
<template> <template>
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<ContentWrap> <ContentWrap>
<el-form <el-form class="-mb-15px" :model="queryParams" ref="queryFormRef" :inline="true" label-width="90px">
class="-mb-15px"
:model="queryParams"
ref="queryFormRef"
:inline="true"
label-width="90px"
>
<el-form-item label="错误码类型" prop="type"> <el-form-item label="错误码类型" prop="type">
<el-select v-model="queryParams.type" placeholder="请选择错误码类型" clearable> <el-select v-model="queryParams.type" placeholder="请选择错误码类型" clearable>
<el-option <el-option v-for="dict in getIntDictOptions(DICT_TYPE.SYSTEM_ERROR_CODE_TYPE)" :key="dict.value"
v-for="dict in getIntDictOptions(DICT_TYPE.SYSTEM_ERROR_CODE_TYPE)" :label="dict.label" :value="dict.value" class="!w-240px" />
:key="dict.value"
:label="dict.label"
:value="dict.value"
class="!w-240px"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="应用名" prop="applicationName"> <el-form-item label="应用名" prop="applicationName">
<el-input <el-input v-model="queryParams.applicationName" placeholder="请输入应用名" clearable @keyup.enter="handleQuery"
v-model="queryParams.applicationName" class="!w-240px" />
placeholder="请输入应用名"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item> </el-form-item>
<el-form-item label="错误码编码" prop="code"> <el-form-item label="错误码编码" prop="code">
<el-input <el-input v-model="queryParams.code" placeholder="请输入错误码编码" clearable @keyup.enter="handleQuery"
v-model="queryParams.code" class="!w-240px" />
placeholder="请输入错误码编码"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item> </el-form-item>
<el-form-item label="错误码提示" prop="message"> <el-form-item label="错误码提示" prop="message">
<el-input <el-input v-model="queryParams.message" placeholder="请输入错误码提示" clearable @keyup.enter="handleQuery"
v-model="queryParams.message" class="!w-240px" />
placeholder="请输入错误码提示"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item> </el-form-item>
<el-form-item label="创建时间" prop="createTime"> <el-form-item label="创建时间" prop="createTime">
<el-date-picker <el-date-picker v-model="queryParams.createTime" value-format="YYYY-MM-DD HH:mm:ss" type="daterange"
v-model="queryParams.createTime" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
value-format="YYYY-MM-DD HH:mm:ss" class="!w-240px" />
type="daterange"
start-placeholder="开始日期"
end-placeholder="结束日期"
:default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
class="!w-240px"
/>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button> <el-button type="info" plain @click="handleQuery">
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button> <Icon icon="ep:search" class="mr-5px" /> 搜索
<el-button </el-button>
type="primary" <el-button type="info" plain @click="resetQuery">
plain <Icon icon="ep:refresh" class="mr-5px" /> 重置
@click="openForm('create')" </el-button>
v-hasPermi="['system:error-code:create']" <el-button type="primary" @click="openForm('create')" v-hasPermi="['system:error-code:create']">
>
<Icon icon="ep:plus" class="mr-5px" /> 新增 <Icon icon="ep:plus" class="mr-5px" /> 新增
</el-button> </el-button>
<el-button <el-button type="success" @click="handleExport" :loading="exportLoading"
type="success" v-hasPermi="['system:error-code:export']">
plain
@click="handleExport"
:loading="exportLoading"
v-hasPermi="['system:error-code:export']"
>
<Icon icon="ep:download" class="mr-5px" /> 导出 <Icon icon="ep:download" class="mr-5px" /> 导出
</el-button> </el-button>
</el-form-item> </el-form-item>
@ -94,41 +56,24 @@
<el-table-column label="错误码编码" align="center" prop="code" width="120" /> <el-table-column label="错误码编码" align="center" prop="code" width="120" />
<el-table-column label="错误码提示" align="center" prop="message" width="300" /> <el-table-column label="错误码提示" align="center" prop="message" width="300" />
<el-table-column label="备注" align="center" prop="memo" width="200" /> <el-table-column label="备注" align="center" prop="memo" width="200" />
<el-table-column <el-table-column label="创建时间" align="center" prop="createTime" width="180" :formatter="dateFormatter" />
label="创建时间"
align="center"
prop="createTime"
width="180"
:formatter="dateFormatter"
/>
<el-table-column label="操作" align="center" class-name="small-paddingfixed-width"> <el-table-column label="操作" align="center" class-name="small-paddingfixed-width">
<template #default="scope"> <template #default="scope">
<el-button <el-button link type="primary" @click="openForm('update', scope.row.id)"
link v-hasPermi="['system:error-code:update']">
type="primary" <Icon icon="ep:edit" />
@click="openForm('update', scope.row.id)"
v-hasPermi="['system:error-code:update']"
>
编辑 编辑
</el-button> </el-button>
<el-button <el-button link type="danger" @click="handleDelete(scope.row.id)" v-hasPermi="['system:error-code:delete']">
link <Icon icon="ep:delete" />
type="danger"
@click="handleDelete(scope.row.id)"
v-hasPermi="['system:error-code:delete']"
>
删除 删除
</el-button> </el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<!-- 分页组件 --> <!-- 分页组件 -->
<Pagination <Pagination :total="total" v-model:page="queryParams.pageNo" v-model:limit="queryParams.pageSize"
:total="total" @pagination="getList" />
v-model:page="queryParams.pageNo"
v-model:limit="queryParams.pageSize"
@pagination="getList"
/>
</ContentWrap> </ContentWrap>
<!-- 表单弹窗添加/修改 --> <!-- 表单弹窗添加/修改 -->
@ -201,7 +146,7 @@ const handleDelete = async (id: number) => {
message.success(t('common.delSuccess')) message.success(t('common.delSuccess'))
// //
await getList() await getList()
} catch {} } catch { }
} }
/** 导出按钮操作 */ /** 导出按钮操作 */

78
src/views/system/loginlog/index.vue

@ -1,52 +1,28 @@
<template> <template>
<ContentWrap> <ContentWrap>
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form <el-form class="-mb-15px" :model="queryParams" ref="queryFormRef" :inline="true" label-width="68px">
class="-mb-15px"
:model="queryParams"
ref="queryFormRef"
:inline="true"
label-width="68px"
>
<el-form-item label="用户名称" prop="username"> <el-form-item label="用户名称" prop="username">
<el-input <el-input v-model="queryParams.username" placeholder="请输入用户名称" clearable @keyup.enter="handleQuery"
v-model="queryParams.username" class="!w-240px" />
placeholder="请输入用户名称"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item> </el-form-item>
<el-form-item label="登录地址" prop="userIp"> <el-form-item label="登录地址" prop="userIp">
<el-input <el-input v-model="queryParams.userIp" placeholder="请输入登录地址" clearable @keyup.enter="handleQuery"
v-model="queryParams.userIp" class="!w-240px" />
placeholder="请输入登录地址"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item> </el-form-item>
<el-form-item label="登录日期" prop="createTime"> <el-form-item label="登录日期" prop="createTime">
<el-date-picker <el-date-picker v-model="queryParams.createTime" value-format="YYYY-MM-DD HH:mm:ss" type="daterange"
v-model="queryParams.createTime" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
value-format="YYYY-MM-DD HH:mm:ss" class="!w-240px" />
type="daterange"
start-placeholder="开始日期"
end-placeholder="结束日期"
:default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
class="!w-240px"
/>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button> <el-button type="info" plain @click="handleQuery">
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button> <Icon icon="ep:search" class="mr-5px" /> 搜索
<el-button </el-button>
type="success" <el-button type="info" plain @click="resetQuery">
plain <Icon icon="ep:refresh" class="mr-5px" /> 重置
@click="handleExport" </el-button>
:loading="exportLoading" <el-button type="success" @click="handleExport" :loading="exportLoading" v-hasPermi="['infra:config:export']">
v-hasPermi="['infra:config:export']"
>
<Icon icon="ep:download" class="mr-5px" /> 导出 <Icon icon="ep:download" class="mr-5px" /> 导出
</el-button> </el-button>
</el-form-item> </el-form-item>
@ -70,33 +46,19 @@
<dict-tag :type="DICT_TYPE.SYSTEM_LOGIN_RESULT" :value="scope.row.result" /> <dict-tag :type="DICT_TYPE.SYSTEM_LOGIN_RESULT" :value="scope.row.result" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column label="登录日期" align="center" prop="createTime" width="180" :formatter="dateFormatter" />
label="登录日期"
align="center"
prop="createTime"
width="180"
:formatter="dateFormatter"
/>
<el-table-column label="操作" align="center"> <el-table-column label="操作" align="center">
<template #default="scope"> <template #default="scope">
<el-button <el-button link type="primary" @click="openDetail(scope.row)" v-hasPermi="['infra:config:query']">
link <Icon icon="ep:document-copy" />
type="primary"
@click="openDetail(scope.row)"
v-hasPermi="['infra:config:query']"
>
详情 详情
</el-button> </el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<!-- 分页 --> <!-- 分页 -->
<Pagination <Pagination :total="total" v-model:page="queryParams.pageNo" v-model:limit="queryParams.pageSize"
:total="total" @pagination="getList" />
v-model:page="queryParams.pageNo"
v-model:limit="queryParams.pageSize"
@pagination="getList"
/>
</ContentWrap> </ContentWrap>
<!-- 表单弹窗详情 --> <!-- 表单弹窗详情 -->

42
src/views/system/mail/account/index.vue

@ -4,12 +4,7 @@
<Search :schema="allSchemas.searchSchema" @search="setSearchParams" @reset="setSearchParams"> <Search :schema="allSchemas.searchSchema" @search="setSearchParams" @reset="setSearchParams">
<!-- 新增等操作按钮 --> <!-- 新增等操作按钮 -->
<template #actionMore> <template #actionMore>
<el-button <el-button type="primary" @click="openForm('create')" v-hasPermi="['system:mail-account:create']">
type="primary"
plain
@click="openForm('create')"
v-hasPermi="['system:mail-account:create']"
>
<Icon icon="ep:plus" class="mr-5px" /> 新增 <Icon icon="ep:plus" class="mr-5px" /> 新增
</el-button> </el-button>
</template> </template>
@ -18,39 +13,20 @@
<!-- 列表 --> <!-- 列表 -->
<ContentWrap> <ContentWrap>
<Table <Table :columns="allSchemas.tableColumns" :data="tableObject.tableList" :loading="tableObject.loading" :pagination="{
:columns="allSchemas.tableColumns"
:data="tableObject.tableList"
:loading="tableObject.loading"
:pagination="{
total: tableObject.total total: tableObject.total
}" }" v-model:pageSize="tableObject.pageSize" v-model:currentPage="tableObject.currentPage">
v-model:pageSize="tableObject.pageSize"
v-model:currentPage="tableObject.currentPage"
>
<template #action="{ row }"> <template #action="{ row }">
<el-button <el-button link type="primary" @click="openForm('update', row.id)" v-hasPermi="['system:mail-account:update']">
link <Icon icon="ep:edit" />
type="primary"
@click="openForm('update', row.id)"
v-hasPermi="['system:mail-account:update']"
>
编辑 编辑
</el-button> </el-button>
<el-button <el-button link type="primary" @click="openDetail(row.id)" v-hasPermi="['system:mail-account:query']">
link <Icon icon="ep:document-copy" />
type="primary"
@click="openDetail(row.id)"
v-hasPermi="['system:mail-account:query']"
>
详情 详情
</el-button> </el-button>
<el-button <el-button link type="danger" v-hasPermi="['system:mail-account:delete']" @click="handleDelete(row.id)">
link <Icon icon="ep:delete" />
type="danger"
v-hasPermi="['system:mail-account:delete']"
@click="handleDelete(row.id)"
>
删除 删除
</el-button> </el-button>
</template> </template>

1
src/views/system/mail/log/index.vue

@ -23,6 +23,7 @@
@click="openDetail(row.id)" @click="openDetail(row.id)"
v-hasPermi="['system:mail-log:query']" v-hasPermi="['system:mail-log:query']"
> >
<Icon icon="ep:document-copy" />
详情 详情
</el-button> </el-button>
</template> </template>

45
src/views/system/mail/template/index.vue

@ -4,12 +4,7 @@
<Search :schema="allSchemas.searchSchema" @search="setSearchParams" @reset="setSearchParams"> <Search :schema="allSchemas.searchSchema" @search="setSearchParams" @reset="setSearchParams">
<!-- 新增等操作按钮 --> <!-- 新增等操作按钮 -->
<template #actionMore> <template #actionMore>
<el-button <el-button type="primary" @click="openForm('create')" v-hasPermi="['system:mail-account:create']">
type="primary"
plain
@click="openForm('create')"
v-hasPermi="['system:mail-account:create']"
>
<Icon icon="ep:plus" class="mr-5px" /> 新增 <Icon icon="ep:plus" class="mr-5px" /> 新增
</el-button> </el-button>
</template> </template>
@ -18,41 +13,25 @@
<!-- 列表 --> <!-- 列表 -->
<ContentWrap> <ContentWrap>
<Table <Table :columns="allSchemas.tableColumns" :data="tableObject.tableList" :loading="tableObject.loading" :pagination="{
:columns="allSchemas.tableColumns"
:data="tableObject.tableList"
:loading="tableObject.loading"
:pagination="{
total: tableObject.total total: tableObject.total
}" }" v-model:pageSize="tableObject.pageSize" v-model:currentPage="tableObject.currentPage" width="300px">
v-model:pageSize="tableObject.pageSize"
v-model:currentPage="tableObject.currentPage"
>
<template #action="{ row }"> <template #action="{ row }">
<el-button <div>
link <el-button link type="primary" @click="openSendForm(row.id)" v-hasPermi="['system:mail-template:send-mail']">
type="primary" <Icon icon="ep:cellphone" />
@click="openSendForm(row.id)"
v-hasPermi="['system:mail-template:send-mail']"
>
测试 测试
</el-button> </el-button>
<el-button <el-button link type="primary" @click="openForm('update', row.id)" v-hasPermi="['system:mail-template:update']">
link <Icon icon="ep:edit" />
type="primary"
@click="openForm('update', row.id)"
v-hasPermi="['system:mail-template:update']"
>
编辑 编辑
</el-button> </el-button>
<el-button <el-button link type="danger" v-hasPermi="['system:mail-template:delete']" @click="handleDelete(row.id)">
link <Icon icon="ep:delete" />
type="danger"
v-hasPermi="['system:mail-template:delete']"
@click="handleDelete(row.id)"
>
删除 删除
</el-button> </el-button>
</div>
</template> </template>
</Table> </Table>
</ContentWrap> </ContentWrap>

84
src/views/system/menu/index.vue

@ -1,60 +1,35 @@
<template> <template>
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<ContentWrap> <ContentWrap>
<el-form <el-form ref="queryFormRef" :inline="true" :model="queryParams" class="-mb-15px" label-width="68px">
ref="queryFormRef"
:inline="true"
:model="queryParams"
class="-mb-15px"
label-width="68px"
>
<el-form-item label="菜单名称" prop="name"> <el-form-item label="菜单名称" prop="name">
<el-input <el-input v-model="queryParams.name" class="!w-240px" clearable placeholder="请输入菜单名称"
v-model="queryParams.name" @keyup.enter="handleQuery" />
class="!w-240px"
clearable
placeholder="请输入菜单名称"
@keyup.enter="handleQuery"
/>
</el-form-item> </el-form-item>
<el-form-item label="状态" prop="status"> <el-form-item label="状态" prop="status">
<el-select <el-select v-model="queryParams.status" class="!w-240px" clearable placeholder="请选择菜单状态">
v-model="queryParams.status" <el-option v-for="dict in getIntDictOptions(DICT_TYPE.COMMON_STATUS)" :key="dict.value" :label="dict.label"
class="!w-240px" :value="dict.value" />
clearable
placeholder="请选择菜单状态"
>
<el-option
v-for="dict in getIntDictOptions(DICT_TYPE.COMMON_STATUS)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button @click="handleQuery"> <el-button type="info" plain @click="handleQuery">
<Icon class="mr-5px" icon="ep:search" /> <Icon class="mr-5px" icon="ep:search" />
搜索 搜索
</el-button> </el-button>
<el-button @click="resetQuery"> <el-button type="info" plain @click="resetQuery">
<Icon class="mr-5px" icon="ep:refresh" /> <Icon class="mr-5px" icon="ep:refresh" />
重置 重置
</el-button> </el-button>
<el-button <el-button v-hasPermi="['system:menu:create']" type="primary" @click="openForm('create')">
v-hasPermi="['system:menu:create']"
plain
type="primary"
@click="openForm('create')"
>
<Icon class="mr-5px" icon="ep:plus" /> <Icon class="mr-5px" icon="ep:plus" />
新增 新增
</el-button> </el-button>
<el-button plain type="danger" @click="toggleExpandAll"> <el-button type="danger" @click="toggleExpandAll">
<Icon class="mr-5px" icon="ep:sort" /> <Icon class="mr-5px" icon="ep:sort" />
展开/折叠 展开/折叠
</el-button> </el-button>
<el-button plain @click="refreshMenu"> <el-button @click="refreshMenu">
<Icon class="mr-5px" icon="ep:refresh" /> <Icon class="mr-5px" icon="ep:refresh" />
刷新菜单缓存 刷新菜单缓存
</el-button> </el-button>
@ -64,13 +39,7 @@
<!-- 列表 --> <!-- 列表 -->
<ContentWrap> <ContentWrap>
<el-table <el-table v-if="refreshTable" v-loading="loading" :data="list" :default-expand-all="isExpandAll" row-key="id">
v-if="refreshTable"
v-loading="loading"
:data="list"
:default-expand-all="isExpandAll"
row-key="id"
>
<el-table-column :show-overflow-tooltip="true" label="菜单名称" prop="name" width="250" /> <el-table-column :show-overflow-tooltip="true" label="菜单名称" prop="name" width="250" />
<el-table-column align="center" label="图标" prop="icon" width="100"> <el-table-column align="center" label="图标" prop="icon" width="100">
<template #default="scope"> <template #default="scope">
@ -88,28 +57,17 @@
</el-table-column> </el-table-column>
<el-table-column align="center" label="操作"> <el-table-column align="center" label="操作">
<template #default="scope"> <template #default="scope">
<el-button <el-button v-hasPermi="['system:menu:update']" link type="primary" @click="openForm('update', scope.row.id)">
v-hasPermi="['system:menu:update']" <Icon icon="ep:edit" />
link
type="primary"
@click="openForm('update', scope.row.id)"
>
修改 修改
</el-button> </el-button>
<el-button <el-button v-hasPermi="['system:menu:create']" link type="primary"
v-hasPermi="['system:menu:create']" @click="openForm('create', undefined, scope.row.id)">
link <Icon icon="ep:plus" />
type="primary"
@click="openForm('create', undefined, scope.row.id)"
>
新增 新增
</el-button> </el-button>
<el-button <el-button v-hasPermi="['system:menu:delete']" link type="danger" @click="handleDelete(scope.row.id)">
v-hasPermi="['system:menu:delete']" <Icon icon="ep:delete" />
link
type="danger"
@click="handleDelete(scope.row.id)"
>
删除 删除
</el-button> </el-button>
</template> </template>
@ -188,7 +146,7 @@ const refreshMenu = async () => {
wsCache.delete(CACHE_KEY.ROLE_ROUTERS) wsCache.delete(CACHE_KEY.ROLE_ROUTERS)
// //
location.reload() location.reload()
} catch {} } catch { }
} }
/** 删除按钮操作 */ /** 删除按钮操作 */
@ -201,7 +159,7 @@ const handleDelete = async (id: number) => {
message.success(t('common.delSuccess')) message.success(t('common.delSuccess'))
// //
await getList() await getList()
} catch {} } catch { }
} }
/** 初始化 **/ /** 初始化 **/

7
src/views/system/notice/index.vue

@ -33,11 +33,10 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button> <el-button type="info" plain @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button>
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button> <el-button type="info" plain @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button>
<el-button <el-button
type="primary" type="primary"
plain
@click="openForm('create')" @click="openForm('create')"
v-hasPermi="['system:notice:create']" v-hasPermi="['system:notice:create']"
> >
@ -77,6 +76,7 @@
@click="openForm('update', scope.row.id)" @click="openForm('update', scope.row.id)"
v-hasPermi="['system:notice:update']" v-hasPermi="['system:notice:update']"
> >
<Icon icon="ep:edit" />
编辑 编辑
</el-button> </el-button>
<el-button <el-button
@ -85,6 +85,7 @@
@click="handleDelete(scope.row.id)" @click="handleDelete(scope.row.id)"
v-hasPermi="['system:notice:delete']" v-hasPermi="['system:notice:delete']"
> >
<Icon icon="ep:delete" />
删除 删除
</el-button> </el-button>
</template> </template>

124
src/views/system/notify/message/index.vue

@ -1,75 +1,39 @@
<template> <template>
<ContentWrap> <ContentWrap>
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form <el-form class="-mb-15px" :model="queryParams" ref="queryFormRef" :inline="true" label-width="68px">
class="-mb-15px"
:model="queryParams"
ref="queryFormRef"
:inline="true"
label-width="68px"
>
<el-form-item label="用户编号" prop="userId"> <el-form-item label="用户编号" prop="userId">
<el-input <el-input v-model="queryParams.userId" placeholder="请输入用户编号" clearable @keyup.enter="handleQuery"
v-model="queryParams.userId" class="!w-240px" />
placeholder="请输入用户编号"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item> </el-form-item>
<el-form-item label="用户类型" prop="userType"> <el-form-item label="用户类型" prop="userType">
<el-select <el-select v-model="queryParams.userType" placeholder="请选择用户类型" clearable class="!w-240px">
v-model="queryParams.userType" <el-option v-for="dict in getIntDictOptions(DICT_TYPE.USER_TYPE)" :key="dict.value" :label="dict.label"
placeholder="请选择用户类型" :value="dict.value" />
clearable
class="!w-240px"
>
<el-option
v-for="dict in getIntDictOptions(DICT_TYPE.USER_TYPE)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="模板编码" prop="templateCode"> <el-form-item label="模板编码" prop="templateCode">
<el-input <el-input v-model="queryParams.templateCode" placeholder="请输入模板编码" clearable @keyup.enter="handleQuery"
v-model="queryParams.templateCode" class="!w-240px" />
placeholder="请输入模板编码"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item> </el-form-item>
<el-form-item label="模版类型" prop="templateType"> <el-form-item label="模版类型" prop="templateType">
<el-select <el-select v-model="queryParams.templateType" placeholder="请选择模版类型" clearable class="!w-240px">
v-model="queryParams.templateType" <el-option v-for="dict in getIntDictOptions(DICT_TYPE.SYSTEM_NOTIFY_TEMPLATE_TYPE)" :key="dict.value"
placeholder="请选择模版类型" :label="dict.label" :value="dict.value" />
clearable
class="!w-240px"
>
<el-option
v-for="dict in getIntDictOptions(DICT_TYPE.SYSTEM_NOTIFY_TEMPLATE_TYPE)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="创建时间" prop="createTime"> <el-form-item label="创建时间" prop="createTime">
<el-date-picker <el-date-picker v-model="queryParams.createTime" value-format="YYYY-MM-DD HH:mm:ss" type="daterange"
v-model="queryParams.createTime" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
value-format="YYYY-MM-DD HH:mm:ss" class="!w-240px" />
type="daterange"
start-placeholder="开始日期"
end-placeholder="结束日期"
:default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
class="!w-240px"
/>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button> <el-button type="info" plain @click="handleQuery">
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button> <Icon icon="ep:search" class="mr-5px" /> 搜索
</el-button>
<el-button type="info" plain @click="resetQuery">
<Icon icon="ep:refresh" class="mr-5px" /> 重置
</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
</ContentWrap> </ContentWrap>
@ -86,20 +50,8 @@
<el-table-column label="用户编号" align="center" prop="userId" width="80" /> <el-table-column label="用户编号" align="center" prop="userId" width="80" />
<el-table-column label="模板编码" align="center" prop="templateCode" width="80" /> <el-table-column label="模板编码" align="center" prop="templateCode" width="80" />
<el-table-column label="发送人名称" align="center" prop="templateNickname" width="180" /> <el-table-column label="发送人名称" align="center" prop="templateNickname" width="180" />
<el-table-column <el-table-column label="模版内容" align="center" prop="templateContent" width="200" show-overflow-tooltip />
label="模版内容" <el-table-column label="模版参数" align="center" prop="templateParams" width="180" show-overflow-tooltip>
align="center"
prop="templateContent"
width="200"
show-overflow-tooltip
/>
<el-table-column
label="模版参数"
align="center"
prop="templateParams"
width="180"
show-overflow-tooltip
>
<template #default="scope"> {{ scope.row.templateParams }}</template> <template #default="scope"> {{ scope.row.templateParams }}</template>
</el-table-column> </el-table-column>
<el-table-column label="模版类型" align="center" prop="templateType" width="120"> <el-table-column label="模版类型" align="center" prop="templateType" width="120">
@ -112,40 +64,20 @@
<dict-tag :type="DICT_TYPE.INFRA_BOOLEAN_STRING" :value="scope.row.readStatus" /> <dict-tag :type="DICT_TYPE.INFRA_BOOLEAN_STRING" :value="scope.row.readStatus" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column label="阅读时间" align="center" prop="readTime" width="180" :formatter="dateFormatter" />
label="阅读时间" <el-table-column label="创建时间" align="center" prop="createTime" width="180" :formatter="dateFormatter" />
align="center"
prop="readTime"
width="180"
:formatter="dateFormatter"
/>
<el-table-column
label="创建时间"
align="center"
prop="createTime"
width="180"
:formatter="dateFormatter"
/>
<el-table-column label="操作" align="center" fixed="right"> <el-table-column label="操作" align="center" fixed="right">
<template #default="scope"> <template #default="scope">
<el-button <el-button link type="primary" @click="openDetail(scope.row)" v-hasPermi="['system:notify-message:query']">
link <Icon icon="ep:document-copy" />
type="primary"
@click="openDetail(scope.row)"
v-hasPermi="['system:notify-message:query']"
>
详情 详情
</el-button> </el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<!-- 分页 --> <!-- 分页 -->
<Pagination <Pagination :total="total" v-model:page="queryParams.pageNo" v-model:limit="queryParams.pageSize"
:total="total" @pagination="getList" />
v-model:page="queryParams.pageNo"
v-model:limit="queryParams.pageSize"
@pagination="getList"
/>
</ContentWrap> </ContentWrap>
<!-- 表单弹窗详情 --> <!-- 表单弹窗详情 -->

137
src/views/system/notify/template/index.vue

@ -1,66 +1,34 @@
<template> <template>
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<ContentWrap> <ContentWrap>
<el-form <el-form class="-mb-15px" :model="queryParams" ref="queryFormRef" :inline="true" label-width="68px">
class="-mb-15px"
:model="queryParams"
ref="queryFormRef"
:inline="true"
label-width="68px"
>
<el-form-item label="模板名称" prop="name"> <el-form-item label="模板名称" prop="name">
<el-input <el-input v-model="queryParams.name" placeholder="请输入模板名称" clearable @keyup.enter="handleQuery"
v-model="queryParams.name" class="!w-240px" />
placeholder="请输入模板名称"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item> </el-form-item>
<el-form-item label="模板编号" prop="code"> <el-form-item label="模板编号" prop="code">
<el-input <el-input v-model="queryParams.code" placeholder="请输入模版编码" clearable @keyup.enter="handleQuery"
v-model="queryParams.code" class="!w-240px" />
placeholder="请输入模版编码"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item> </el-form-item>
<el-form-item label="状态" prop="status"> <el-form-item label="状态" prop="status">
<el-select <el-select v-model="queryParams.status" placeholder="请选择开启状态" clearable class="!w-240px">
v-model="queryParams.status" <el-option v-for="dict in getIntDictOptions(DICT_TYPE.COMMON_STATUS)" :key="dict.value" :label="dict.label"
placeholder="请选择开启状态" :value="dict.value" />
clearable
class="!w-240px"
>
<el-option
v-for="dict in getIntDictOptions(DICT_TYPE.COMMON_STATUS)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="创建时间" prop="createTime"> <el-form-item label="创建时间" prop="createTime">
<el-date-picker <el-date-picker v-model="queryParams.createTime" value-format="YYYY-MM-DD HH:mm:ss" type="daterange"
v-model="queryParams.createTime" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
value-format="YYYY-MM-DD HH:mm:ss" class="!w-240px" />
type="daterange"
start-placeholder="开始日期"
end-placeholder="结束日期"
:default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
class="!w-240px"
/>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button> <el-button type="info" plain @click="handleQuery">
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button> <Icon icon="ep:search" class="mr-5px" /> 搜索
<el-button </el-button>
type="primary" <el-button type="info" plain @click="resetQuery">
plain <Icon icon="ep:refresh" class="mr-5px" /> 重置
@click="openForm('create')" </el-button>
v-hasPermi="['system:notify-template:create']" <el-button type="primary" @click="openForm('create')" v-hasPermi="['system:notify-template:create']">
>
<Icon icon="ep:plus" class="mr-5px" />新增 <Icon icon="ep:plus" class="mr-5px" />新增
</el-button> </el-button>
</el-form-item> </el-form-item>
@ -70,82 +38,45 @@
<!-- 列表 --> <!-- 列表 -->
<ContentWrap> <ContentWrap>
<el-table v-loading="loading" :data="list"> <el-table v-loading="loading" :data="list">
<el-table-column <el-table-column label="模板编码" align="center" prop="code" width="120" :show-overflow-tooltip="true" />
label="模板编码" <el-table-column label="模板名称" align="center" prop="name" width="120" :show-overflow-tooltip="true" />
align="center"
prop="code"
width="120"
:show-overflow-tooltip="true"
/>
<el-table-column
label="模板名称"
align="center"
prop="name"
width="120"
:show-overflow-tooltip="true"
/>
<el-table-column label="类型" align="center" prop="type"> <el-table-column label="类型" align="center" prop="type">
<template #default="scope"> <template #default="scope">
<dict-tag :type="DICT_TYPE.SYSTEM_NOTIFY_TEMPLATE_TYPE" :value="scope.row.type" /> <dict-tag :type="DICT_TYPE.SYSTEM_NOTIFY_TEMPLATE_TYPE" :value="scope.row.type" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="发送人名称" align="center" prop="nickname" /> <el-table-column label="发送人名称" align="center" prop="nickname" />
<el-table-column <el-table-column label="模板内容" align="center" prop="content" width="200" :show-overflow-tooltip="true" />
label="模板内容"
align="center"
prop="content"
width="200"
:show-overflow-tooltip="true"
/>
<el-table-column label="开启状态" align="center" prop="status" width="80"> <el-table-column label="开启状态" align="center" prop="status" width="80">
<template #default="scope"> <template #default="scope">
<dict-tag :type="DICT_TYPE.COMMON_STATUS" :value="scope.row.status" /> <dict-tag :type="DICT_TYPE.COMMON_STATUS" :value="scope.row.status" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="备注" align="center" prop="remark" /> <el-table-column label="备注" align="center" prop="remark" />
<el-table-column <el-table-column label="创建时间" align="center" prop="createTime" width="180" :formatter="dateFormatter" />
label="创建时间"
align="center"
prop="createTime"
width="180"
:formatter="dateFormatter"
/>
<el-table-column label="操作" align="center" width="210" fixed="right"> <el-table-column label="操作" align="center" width="210" fixed="right">
<template #default="scope"> <template #default="scope">
<el-button <el-button link type="primary" @click="openForm('update', scope.row.id)"
link v-hasPermi="['system:notify-template:update']">
type="primary" <Icon icon="ep:edit" />
@click="openForm('update', scope.row.id)"
v-hasPermi="['system:notify-template:update']"
>
修改 修改
</el-button> </el-button>
<el-button <el-button link type="primary" @click="openSendForm(scope.row)"
link v-hasPermi="['system:notify-template:send-notify']">
type="primary" <Icon icon="ep:cellphone" />
@click="openSendForm(scope.row)"
v-hasPermi="['system:notify-template:send-notify']"
>
测试 测试
</el-button> </el-button>
<el-button <el-button link type="danger" @click="handleDelete(scope.row.id)"
link v-hasPermi="['system:notify-template:delete']">
type="danger" <Icon icon="ep:delete" />
@click="handleDelete(scope.row.id)"
v-hasPermi="['system:notify-template:delete']"
>
删除 删除
</el-button> </el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<!-- 分页 --> <!-- 分页 -->
<Pagination <Pagination :total="total" v-model:page="queryParams.pageNo" v-model:limit="queryParams.pageSize"
:total="total" @pagination="getList" />
v-model:page="queryParams.pageNo"
v-model:limit="queryParams.pageSize"
@pagination="getList"
/>
</ContentWrap> </ContentWrap>
<!-- 表单弹窗添加/修改 --> <!-- 表单弹窗添加/修改 -->
@ -217,7 +148,7 @@ const handleDelete = async (id: number) => {
message.success('删除成功') message.success('删除成功')
// //
await getList() await getList()
} catch {} } catch { }
} }
/** 发送站内信按钮 */ /** 发送站内信按钮 */

7
src/views/system/oauth2/client/index.vue

@ -28,10 +28,9 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button> <el-button type="info" plain @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button>
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button> <el-button type="info" plain @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button>
<el-button <el-button
plain
type="primary" type="primary"
@click="openForm('create')" @click="openForm('create')"
v-hasPermi="['system:oauth2-client:create']" v-hasPermi="['system:oauth2-client:create']"
@ -92,6 +91,7 @@
@click="openForm('update', scope.row.id)" @click="openForm('update', scope.row.id)"
v-hasPermi="['system:oauth2-client:update']" v-hasPermi="['system:oauth2-client:update']"
> >
<Icon icon="ep:edit" />
编辑 编辑
</el-button> </el-button>
<el-button <el-button
@ -100,6 +100,7 @@
@click="handleDelete(scope.row.id)" @click="handleDelete(scope.row.id)"
v-hasPermi="['system:oauth2-client:delete']" v-hasPermi="['system:oauth2-client:delete']"
> >
<Icon icon="ep:delete" />
删除 删除
</el-button> </el-button>
</template> </template>

5
src/views/system/oauth2/token/index.vue

@ -42,8 +42,8 @@
/> />
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button> <el-button type="info" plain @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button>
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button> <el-button type="info" plain @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
</ContentWrap> </ContentWrap>
@ -81,6 +81,7 @@
@click="handleForceLogout(scope.row.accessToken)" @click="handleForceLogout(scope.row.accessToken)"
v-hasPermi="['system:oauth2-token:delete']" v-hasPermi="['system:oauth2-token:delete']"
> >
<Icon icon="ep:switch-button" />
强退 强退
</el-button> </el-button>
</template> </template>

100
src/views/system/operatelog/index.vue

@ -1,78 +1,40 @@
<template> <template>
<ContentWrap> <ContentWrap>
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form <el-form class="-mb-15px" :model="queryParams" ref="queryFormRef" :inline="true" label-width="68px">
class="-mb-15px"
:model="queryParams"
ref="queryFormRef"
:inline="true"
label-width="68px"
>
<el-form-item label="系统模块" prop="module"> <el-form-item label="系统模块" prop="module">
<el-input <el-input v-model="queryParams.module" placeholder="请输入系统模块" clearable @keyup.enter="handleQuery"
v-model="queryParams.module" class="!w-240px" />
placeholder="请输入系统模块"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item> </el-form-item>
<el-form-item label="操作人员" prop="userNickname"> <el-form-item label="操作人员" prop="userNickname">
<el-input <el-input v-model="queryParams.userNickname" placeholder="请输入操作人员" clearable @keyup.enter="handleQuery"
v-model="queryParams.userNickname" class="!w-240px" />
placeholder="请输入操作人员"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item> </el-form-item>
<el-form-item label="操作类型" prop="type"> <el-form-item label="操作类型" prop="type">
<el-select <el-select v-model="queryParams.type" placeholder="请选择操作类型" clearable class="!w-240px">
v-model="queryParams.type" <el-option v-for="dict in getIntDictOptions(DICT_TYPE.SYSTEM_OPERATE_TYPE)" :key="dict.value"
placeholder="请选择操作类型" :label="dict.label" :value="dict.value" />
clearable
class="!w-240px"
>
<el-option
v-for="dict in getIntDictOptions(DICT_TYPE.SYSTEM_OPERATE_TYPE)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="操作状态" prop="success"> <el-form-item label="操作状态" prop="success">
<el-select <el-select v-model="queryParams.success" placeholder="请选择操作状态" clearable class="!w-240px">
v-model="queryParams.success"
placeholder="请选择操作状态"
clearable
class="!w-240px"
>
<el-option :key="true" label="成功" :value="true" /> <el-option :key="true" label="成功" :value="true" />
<el-option :key="false" label="失败" :value="false" /> <el-option :key="false" label="失败" :value="false" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="操作时间" prop="startTime"> <el-form-item label="操作时间" prop="startTime">
<el-date-picker <el-date-picker v-model="queryParams.startTime" value-format="YYYY-MM-DD HH:mm:ss" type="daterange"
v-model="queryParams.startTime" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
value-format="YYYY-MM-DD HH:mm:ss" class="!w-240px" />
type="daterange"
start-placeholder="开始日期"
end-placeholder="结束日期"
:default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
class="!w-240px"
/>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button> <el-button type="info" plain @click="handleQuery">
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button> <Icon icon="ep:search" class="mr-5px" /> 搜索
<el-button </el-button>
type="success" <el-button type="info" plain @click="resetQuery">
plain <Icon icon="ep:refresh" class="mr-5px" /> 重置
@click="handleExport" </el-button>
:loading="exportLoading" <el-button type="success" @click="handleExport" :loading="exportLoading" v-hasPermi="['infra:config:export']">
v-hasPermi="['infra:config:export']"
>
<Icon icon="ep:download" class="mr-5px" /> 导出 <Icon icon="ep:download" class="mr-5px" /> 导出
</el-button> </el-button>
</el-form-item> </el-form-item>
@ -96,13 +58,7 @@
<span>{{ scope.row.resultCode === 0 ? '成功' : '失败' }}</span> <span>{{ scope.row.resultCode === 0 ? '成功' : '失败' }}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column label="操作时间" align="center" prop="startTime" width="180" :formatter="dateFormatter" />
label="操作时间"
align="center"
prop="startTime"
width="180"
:formatter="dateFormatter"
/>
<el-table-column label="执行时长" align="center" prop="startTime"> <el-table-column label="执行时长" align="center" prop="startTime">
<template #default="scope"> <template #default="scope">
<span>{{ scope.row.duration }} ms</span> <span>{{ scope.row.duration }} ms</span>
@ -110,24 +66,16 @@
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center"> <el-table-column label="操作" align="center">
<template #default="scope"> <template #default="scope">
<el-button <el-button link type="primary" @click="openDetail(scope.row)" v-hasPermi="['infra:config:query']">
link <Icon icon="ep:document-copy" />
type="primary"
@click="openDetail(scope.row)"
v-hasPermi="['infra:config:query']"
>
详情 详情
</el-button> </el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<!-- 分页 --> <!-- 分页 -->
<Pagination <Pagination :total="total" v-model:page="queryParams.pageNo" v-model:limit="queryParams.pageSize"
:total="total" @pagination="getList" />
v-model:page="queryParams.pageNo"
v-model:limit="queryParams.pageSize"
@pagination="getList"
/>
</ContentWrap> </ContentWrap>
<!-- 表单弹窗详情 --> <!-- 表单弹窗详情 -->

88
src/views/system/post/index.vue

@ -1,57 +1,31 @@
<template> <template>
<ContentWrap> <ContentWrap>
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form <el-form class="-mb-15px" :model="queryParams" ref="queryFormRef" :inline="true" label-width="68px">
class="-mb-15px"
:model="queryParams"
ref="queryFormRef"
:inline="true"
label-width="68px"
>
<el-form-item label="岗位名称" prop="name"> <el-form-item label="岗位名称" prop="name">
<el-input <el-input v-model="queryParams.name" placeholder="请输入岗位名称" clearable @keyup.enter="handleQuery" />
v-model="queryParams.name"
placeholder="请输入岗位名称"
clearable
@keyup.enter="handleQuery"
/>
</el-form-item> </el-form-item>
<el-form-item label="岗位编码" prop="code"> <el-form-item label="岗位编码" prop="code">
<el-input <el-input v-model="queryParams.code" placeholder="请输入岗位编码" clearable @keyup.enter="handleQuery" />
v-model="queryParams.code"
placeholder="请输入岗位编码"
clearable
@keyup.enter="handleQuery"
/>
</el-form-item> </el-form-item>
<el-form-item label="状态" prop="status"> <el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable> <el-select v-model="queryParams.status" placeholder="请选择状态" clearable>
<el-option <el-option v-for="dict in getIntDictOptions(DICT_TYPE.COMMON_STATUS)" :key="dict.value" :label="dict.label"
v-for="dict in getIntDictOptions(DICT_TYPE.COMMON_STATUS)" :value="dict.value" />
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button> <el-button type="info" plain @click="handleQuery">
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button> <Icon icon="ep:search" class="mr-5px" /> 搜索
<el-button </el-button>
type="primary" <el-button type="info" plain @click="resetQuery">
plain <Icon icon="ep:refresh" class="mr-5px" /> 重置
@click="openForm('create')" </el-button>
v-hasPermi="['system:notice:create']" <el-button type="primary" @click="openForm('create')" v-hasPermi="['system:notice:create']">
>
<Icon icon="ep:plus" class="mr-5px" /> 新增 <Icon icon="ep:plus" class="mr-5px" /> 新增
</el-button> </el-button>
<el-button <el-button type="success" @click="handleExport" :loading="exportLoading"
type="success" v-hasPermi="['infra:config:export']">
plain
@click="handleExport"
:loading="exportLoading"
v-hasPermi="['infra:config:export']"
>
<Icon icon="ep:download" class="mr-5px" /> 导出 <Icon icon="ep:download" class="mr-5px" /> 导出
</el-button> </el-button>
</el-form-item> </el-form-item>
@ -71,41 +45,23 @@
<dict-tag :type="DICT_TYPE.COMMON_STATUS" :value="scope.row.status" /> <dict-tag :type="DICT_TYPE.COMMON_STATUS" :value="scope.row.status" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column label="创建时间" align="center" prop="createTime" width="180" :formatter="dateFormatter" />
label="创建时间"
align="center"
prop="createTime"
width="180"
:formatter="dateFormatter"
/>
<el-table-column label="操作" align="center"> <el-table-column label="操作" align="center">
<template #default="scope"> <template #default="scope">
<el-button <el-button link type="primary" @click="openForm('update', scope.row.id)" v-hasPermi="['system:post:update']">
link <Icon icon="ep:edit" />
type="primary"
@click="openForm('update', scope.row.id)"
v-hasPermi="['system:post:update']"
>
编辑 编辑
</el-button> </el-button>
<el-button <el-button link type="danger" @click="handleDelete(scope.row.id)" v-hasPermi="['system:post:delete']">
link <Icon icon="ep:delete" />
type="danger"
@click="handleDelete(scope.row.id)"
v-hasPermi="['system:post:delete']"
>
删除 删除
</el-button> </el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<!-- 分页 --> <!-- 分页 -->
<Pagination <Pagination :total="total" v-model:page="queryParams.pageNo" v-model:limit="queryParams.pageSize"
:total="total" @pagination="getList" />
v-model:page="queryParams.pageNo"
v-model:limit="queryParams.pageSize"
@pagination="getList"
/>
</ContentWrap> </ContentWrap>
<!-- 表单弹窗添加/修改 --> <!-- 表单弹窗添加/修改 -->
@ -176,7 +132,7 @@ const handleDelete = async (id: number) => {
message.success(t('common.delSuccess')) message.success(t('common.delSuccess'))
// //
await getList() await getList()
} catch {} } catch { }
} }
/** 导出按钮操作 */ /** 导出按钮操作 */

12
src/views/system/role/index.vue

@ -48,17 +48,16 @@
/> />
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button @click="handleQuery"> <el-button type="info" plain @click="handleQuery">
<Icon class="mr-5px" icon="ep:search" /> <Icon class="mr-5px" icon="ep:search" />
搜索 搜索
</el-button> </el-button>
<el-button @click="resetQuery"> <el-button type="info" plain @click="resetQuery">
<Icon class="mr-5px" icon="ep:refresh" /> <Icon class="mr-5px" icon="ep:refresh" />
重置 重置
</el-button> </el-button>
<el-button <el-button
v-hasPermi="['system:role:create']" v-hasPermi="['system:role:create']"
plain
type="primary" type="primary"
@click="openForm('create')" @click="openForm('create')"
> >
@ -68,7 +67,6 @@
<el-button <el-button
v-hasPermi="['system:role:export']" v-hasPermi="['system:role:export']"
:loading="exportLoading" :loading="exportLoading"
plain
type="success" type="success"
@click="handleExport" @click="handleExport"
> >
@ -100,7 +98,7 @@
prop="createTime" prop="createTime"
width="180" width="180"
/> />
<el-table-column :width="300" align="center" label="操作"> <el-table-column :width="360" align="center" label="操作">
<template #default="scope"> <template #default="scope">
<el-button <el-button
v-hasPermi="['system:role:update']" v-hasPermi="['system:role:update']"
@ -108,6 +106,7 @@
type="primary" type="primary"
@click="openForm('update', scope.row.id)" @click="openForm('update', scope.row.id)"
> >
<Icon icon="ep:edit" />
编辑 编辑
</el-button> </el-button>
<el-button <el-button
@ -118,6 +117,7 @@
type="primary" type="primary"
@click="openAssignMenuForm(scope.row)" @click="openAssignMenuForm(scope.row)"
> >
<Icon icon="ep:menu" />
菜单权限 菜单权限
</el-button> </el-button>
<el-button <el-button
@ -128,6 +128,7 @@
type="primary" type="primary"
@click="openDataPermissionForm(scope.row)" @click="openDataPermissionForm(scope.row)"
> >
<Icon icon="fa:area-chart" />
数据权限 数据权限
</el-button> </el-button>
<el-button <el-button
@ -136,6 +137,7 @@
type="danger" type="danger"
@click="handleDelete(scope.row.id)" @click="handleDelete(scope.row.id)"
> >
<Icon icon="ep:delete" />
删除 删除
</el-button> </el-button>
</template> </template>

108
src/views/system/sensitiveWord/index.vue

@ -1,84 +1,45 @@
<template> <template>
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<ContentWrap> <ContentWrap>
<el-form <el-form ref="queryFormRef" :inline="true" :model="queryParams" class="-mb-15px" label-width="68px">
ref="queryFormRef"
:inline="true"
:model="queryParams"
class="-mb-15px"
label-width="68px"
>
<el-form-item label="敏感词" prop="name"> <el-form-item label="敏感词" prop="name">
<el-input <el-input v-model="queryParams.name" class="!w-240px" clearable placeholder="请输入敏感词" @keyup.enter="handleQuery" />
v-model="queryParams.name"
class="!w-240px"
clearable
placeholder="请输入敏感词"
@keyup.enter="handleQuery"
/>
</el-form-item> </el-form-item>
<el-form-item label="标签" prop="tag"> <el-form-item label="标签" prop="tag">
<el-select <el-select v-model="queryParams.tag" class="!w-240px" clearable placeholder="请选择标签" @keyup.enter="handleQuery">
v-model="queryParams.tag"
class="!w-240px"
clearable
placeholder="请选择标签"
@keyup.enter="handleQuery"
>
<el-option v-for="tag in tagList" :key="tag" :label="tag" :value="tag" /> <el-option v-for="tag in tagList" :key="tag" :label="tag" :value="tag" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="状态" prop="status"> <el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" clearable placeholder="请选择启用状态"> <el-select v-model="queryParams.status" clearable placeholder="请选择启用状态">
<el-option <el-option v-for="dict in getIntDictOptions(DICT_TYPE.COMMON_STATUS)" :key="dict.value" :label="dict.label"
v-for="dict in getIntDictOptions(DICT_TYPE.COMMON_STATUS)" :value="dict.value" class="!w-240px" />
:key="dict.value"
:label="dict.label"
:value="dict.value"
class="!w-240px"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="创建时间" prop="createTime"> <el-form-item label="创建时间" prop="createTime">
<el-date-picker <el-date-picker v-model="queryParams.createTime" :default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
v-model="queryParams.createTime" class="!w-240px" end-placeholder="结束日期" start-placeholder="开始日期" type="daterange"
:default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]" value-format="YYYY-MM-DD HH:mm:ss" />
class="!w-240px"
end-placeholder="结束日期"
start-placeholder="开始日期"
type="daterange"
value-format="YYYY-MM-DD HH:mm:ss"
/>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button @click="handleQuery"> <el-button type="info" plain @click="handleQuery">
<Icon class="mr-5px" icon="ep:search" /> <Icon class="mr-5px" icon="ep:search" />
搜索 搜索
</el-button> </el-button>
<el-button @click="resetQuery"> <el-button type="info" plain @click="resetQuery">
<Icon class="mr-5px" icon="ep:refresh" /> <Icon class="mr-5px" icon="ep:refresh" />
重置 重置
</el-button> </el-button>
<el-button <el-button v-hasPermi="['system:sensitive-word:create']" type="primary" @click="openForm('create')">
v-hasPermi="['system:sensitive-word:create']"
plain
type="primary"
@click="openForm('create')"
>
<Icon class="mr-5px" icon="ep:plus" /> <Icon class="mr-5px" icon="ep:plus" />
新增 新增
</el-button> </el-button>
<el-button <el-button v-hasPermi="['system:sensitive-word:export']" :loading="exportLoading" type="success"
v-hasPermi="['system:sensitive-word:export']" @click="handleExport">
:loading="exportLoading"
plain
type="success"
@click="handleExport"
>
<Icon class="mr-5px" icon="ep:download" /> <Icon class="mr-5px" icon="ep:download" />
导出 导出
</el-button> </el-button>
<el-button plain type="warning" @click="openTestForm"> <el-button type="warning" @click="openTestForm">
<Icon class="mr-5px" icon="ep:document-checked" /> <Icon class="mr-5px" icon="ep:document-checked" />
测试 测试
</el-button> </el-button>
@ -99,51 +60,28 @@
<el-table-column align="center" label="描述" prop="description" /> <el-table-column align="center" label="描述" prop="description" />
<el-table-column align="center" label="标签" prop="tags"> <el-table-column align="center" label="标签" prop="tags">
<template #default="scope"> <template #default="scope">
<el-tag <el-tag v-for="tag in scope.row.tags" :key="tag" :disable-transitions="true" class="mr-5px">
v-for="tag in scope.row.tags"
:key="tag"
:disable-transitions="true"
class="mr-5px"
>
{{ tag }} {{ tag }}
</el-tag> </el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column :formatter="dateFormatter" align="center" label="创建时间" prop="createTime" width="180" />
:formatter="dateFormatter"
align="center"
label="创建时间"
prop="createTime"
width="180"
/>
<el-table-column align="center" label="操作"> <el-table-column align="center" label="操作">
<template #default="scope"> <template #default="scope">
<el-button <el-button v-hasPermi="['infra:config:update']" link type="primary" @click="openForm('update', scope.row.id)">
v-hasPermi="['infra:config:update']" <Icon icon="ep:edit" />
link
type="primary"
@click="openForm('update', scope.row.id)"
>
编辑 编辑
</el-button> </el-button>
<el-button <el-button v-hasPermi="['infra:config:delete']" link type="danger" @click="handleDelete(scope.row.id)">
v-hasPermi="['infra:config:delete']" <Icon icon="ep:delete" />
link
type="danger"
@click="handleDelete(scope.row.id)"
>
删除 删除
</el-button> </el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<!-- 分页 --> <!-- 分页 -->
<Pagination <Pagination v-model:limit="queryParams.pageSize" v-model:page="queryParams.pageNo" :total="total"
v-model:limit="queryParams.pageSize" @pagination="getList" />
v-model:page="queryParams.pageNo"
:total="total"
@pagination="getList"
/>
</ContentWrap> </ContentWrap>
<!-- 表单弹窗添加/修改 --> <!-- 表单弹窗添加/修改 -->
@ -226,7 +164,7 @@ const handleDelete = async (id: number) => {
message.success(t('common.delSuccess')) message.success(t('common.delSuccess'))
// //
await getList() await getList()
} catch {} } catch { }
} }
/** 导出按钮操作 */ /** 导出按钮操作 */

112
src/views/system/sms/channel/index.vue

@ -1,51 +1,30 @@
<template> <template>
<ContentWrap> <ContentWrap>
<el-form <el-form class="-mb-15px" :model="queryParams" ref="queryFormRef" :inline="true" label-width="68px">
class="-mb-15px"
:model="queryParams"
ref="queryFormRef"
:inline="true"
label-width="68px"
>
<el-form-item label="短信签名" prop="signature"> <el-form-item label="短信签名" prop="signature">
<el-input <el-input v-model="queryParams.signature" placeholder="请输入短信签名" clearable @keyup.enter="handleQuery" />
v-model="queryParams.signature"
placeholder="请输入短信签名"
clearable
@keyup.enter="handleQuery"
/>
</el-form-item> </el-form-item>
<el-form-item label="启用状态" prop="status"> <el-form-item label="启用状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择启用状态" clearable> <el-select v-model="queryParams.status" placeholder="请选择启用状态" clearable>
<el-option <el-option v-for="dict in getIntDictOptions(DICT_TYPE.COMMON_STATUS)" :key="dict.value" :label="dict.label"
v-for="dict in getIntDictOptions(DICT_TYPE.COMMON_STATUS)" :value="dict.value" />
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="创建时间" prop="createTime"> <el-form-item label="创建时间" prop="createTime">
<el-date-picker <el-date-picker v-model="queryParams.createTime" value-format="YYYY-MM-DD HH:mm:ss" type="daterange"
v-model="queryParams.createTime" start-placeholder="开始日期" end-placeholder="结束日期"
value-format="YYYY-MM-DD HH:mm:ss" :default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]" />
type="daterange"
start-placeholder="开始日期"
end-placeholder="结束日期"
:default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
/>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button> <el-button type="info" plain @click="handleQuery">
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button> <Icon icon="ep:search" class="mr-5px" /> 搜索
<el-button </el-button>
type="primary" <el-button type="info" plain @click="resetQuery">
plain <Icon icon="ep:refresh" class="mr-5px" /> 重置
@click="openForm('create')" </el-button>
v-hasPermi="['system:sms-channel:create']" <el-button type="primary" @click="openForm('create')" v-hasPermi="['system:sms-channel:create']">
> <Icon icon="ep:plus" class="mr-5px" /> 新增
<Icon icon="ep:plus" class="mr-5px" /> 新增</el-button </el-button>
>
</el-form-item> </el-form-item>
</el-form> </el-form>
</ContentWrap> </ContentWrap>
@ -66,62 +45,27 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="备注" align="center" prop="remark" :show-overflow-tooltip="true" /> <el-table-column label="备注" align="center" prop="remark" :show-overflow-tooltip="true" />
<el-table-column <el-table-column label="短信 API 的账号" align="center" prop="apiKey" :show-overflow-tooltip="true" width="180" />
label="短信 API 的账号" <el-table-column label="短信 API 的密钥" align="center" prop="apiSecret" :show-overflow-tooltip="true" width="180" />
align="center" <el-table-column label="短信发送回调 URL" align="center" prop="callbackUrl" :show-overflow-tooltip="true" width="180" />
prop="apiKey" <el-table-column label="创建时间" align="center" prop="createTime" width="180" :formatter="dateFormatter" />
:show-overflow-tooltip="true"
width="180"
/>
<el-table-column
label="短信 API 的密钥"
align="center"
prop="apiSecret"
:show-overflow-tooltip="true"
width="180"
/>
<el-table-column
label="短信发送回调 URL"
align="center"
prop="callbackUrl"
:show-overflow-tooltip="true"
width="180"
/>
<el-table-column
label="创建时间"
align="center"
prop="createTime"
width="180"
:formatter="dateFormatter"
/>
<el-table-column label="操作" align="center"> <el-table-column label="操作" align="center">
<template #default="scope"> <template #default="scope">
<el-button <el-button link type="primary" @click="openForm('update', scope.row.id)"
link v-hasPermi="['system:sms-channel:update']">
type="primary" <Icon icon="ep:edit" />
@click="openForm('update', scope.row.id)"
v-hasPermi="['system:sms-channel:update']"
>
编辑 编辑
</el-button> </el-button>
<el-button <el-button link type="danger" @click="handleDelete(scope.row.id)" v-hasPermi="['system:sms-channel:delete']">
link <Icon icon="ep:delete" />
type="danger"
@click="handleDelete(scope.row.id)"
v-hasPermi="['system:sms-channel:delete']"
>
删除 删除
</el-button> </el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<!-- 分页 --> <!-- 分页 -->
<Pagination <Pagination :total="total" v-model:page="queryParams.pageNo" v-model:limit="queryParams.pageSize"
:total="total" @pagination="getList" />
v-model:page="queryParams.pageNo"
v-model:limit="queryParams.pageSize"
@pagination="getList"
/>
</ContentWrap> </ContentWrap>
<!-- 表单弹窗添加/修改 --> <!-- 表单弹窗添加/修改 -->
@ -190,7 +134,7 @@ const handleDelete = async (id: number) => {
message.success(t('common.delSuccess')) message.success(t('common.delSuccess'))
// //
await getList() await getList()
} catch {} } catch { }
} }
/** 初始化 **/ /** 初始化 **/

133
src/views/system/sms/log/index.vue

@ -1,109 +1,50 @@
<template> <template>
<ContentWrap> <ContentWrap>
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form <el-form class="-mb-15px" :model="queryParams" ref="queryFormRef" :inline="true" label-width="100px">
class="-mb-15px"
:model="queryParams"
ref="queryFormRef"
:inline="true"
label-width="100px"
>
<el-form-item label="手机号" prop="mobile"> <el-form-item label="手机号" prop="mobile">
<el-input <el-input v-model="queryParams.mobile" placeholder="请输入手机号" clearable @keyup.enter="handleQuery"
v-model="queryParams.mobile" class="!w-240px" />
placeholder="请输入手机号"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item> </el-form-item>
<el-form-item label="短信渠道" prop="channelId"> <el-form-item label="短信渠道" prop="channelId">
<el-select <el-select v-model="queryParams.channelId" placeholder="请选择短信渠道" clearable class="!w-240px">
v-model="queryParams.channelId" <el-option v-for="channel in channelList" :key="channel.id" :value="channel.id" :label="channel.signature +
placeholder="请选择短信渠道"
clearable
class="!w-240px"
>
<el-option
v-for="channel in channelList"
:key="channel.id"
:value="channel.id"
:label="
channel.signature +
`${getDictLabel(DICT_TYPE.SYSTEM_SMS_CHANNEL_CODE, channel.code)}` `${getDictLabel(DICT_TYPE.SYSTEM_SMS_CHANNEL_CODE, channel.code)}`
" " />
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="模板编号" prop="templateId"> <el-form-item label="模板编号" prop="templateId">
<el-input <el-input v-model="queryParams.templateId" placeholder="请输入模板编号" clearable @keyup.enter="handleQuery"
v-model="queryParams.templateId" class="!w-240px" />
placeholder="请输入模板编号"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item> </el-form-item>
<el-form-item label="发送状态" prop="sendStatus"> <el-form-item label="发送状态" prop="sendStatus">
<el-select <el-select v-model="queryParams.sendStatus" placeholder="请选择发送状态" clearable class="!w-240px">
v-model="queryParams.sendStatus" <el-option v-for="dict in getIntDictOptions(DICT_TYPE.SYSTEM_SMS_SEND_STATUS)" :key="dict.value"
placeholder="请选择发送状态" :label="dict.label" :value="dict.value" />
clearable
class="!w-240px"
>
<el-option
v-for="dict in getIntDictOptions(DICT_TYPE.SYSTEM_SMS_SEND_STATUS)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="发送时间" prop="sendTime"> <el-form-item label="发送时间" prop="sendTime">
<el-date-picker <el-date-picker v-model="queryParams.sendTime" value-format="YYYY-MM-DD HH:mm:ss" type="daterange"
v-model="queryParams.sendTime" start-placeholder="开始日期" end-placeholder="结束日期" class="!w-240px" />
value-format="YYYY-MM-DD HH:mm:ss"
type="daterange"
start-placeholder="开始日期"
end-placeholder="结束日期"
class="!w-240px"
/>
</el-form-item> </el-form-item>
<el-form-item label="接收状态" prop="receiveStatus"> <el-form-item label="接收状态" prop="receiveStatus">
<el-select <el-select v-model="queryParams.receiveStatus" placeholder="请选择接收状态" clearable class="!w-240px">
v-model="queryParams.receiveStatus" <el-option v-for="dict in getIntDictOptions(DICT_TYPE.SYSTEM_SMS_RECEIVE_STATUS)" :key="dict.value"
placeholder="请选择接收状态" :label="dict.label" :value="dict.value" />
clearable
class="!w-240px"
>
<el-option
v-for="dict in getIntDictOptions(DICT_TYPE.SYSTEM_SMS_RECEIVE_STATUS)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="接收时间" prop="receiveTime"> <el-form-item label="接收时间" prop="receiveTime">
<el-date-picker <el-date-picker v-model="queryParams.receiveTime" value-format="YYYY-MM-DD HH:mm:ss" type="daterange"
v-model="queryParams.receiveTime" start-placeholder="开始日期" end-placeholder="结束日期" class="!w-240px" />
value-format="YYYY-MM-DD HH:mm:ss"
type="daterange"
start-placeholder="开始日期"
end-placeholder="结束日期"
class="!w-240px"
/>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button> <el-button type="info" plain @click="handleQuery">
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button> <Icon icon="ep:search" class="mr-5px" /> 搜索
<el-button </el-button>
type="success" <el-button type="info" plain @click="resetQuery">
plain <Icon icon="ep:refresh" class="mr-5px" /> 重置
@click="handleExport" </el-button>
:loading="exportLoading" <el-button type="success" @click="handleExport" :loading="exportLoading" v-hasPermi="['system:sms-log:export']">
v-hasPermi="['system:sms-log:export']"
>
<Icon icon="ep:download" class="mr-5px" /> 导出 <Icon icon="ep:download" class="mr-5px" /> 导出
</el-button> </el-button>
</el-form-item> </el-form-item>
@ -114,13 +55,7 @@
<ContentWrap> <ContentWrap>
<el-table v-loading="loading" :data="list"> <el-table v-loading="loading" :data="list">
<el-table-column label="编号" align="center" prop="id" /> <el-table-column label="编号" align="center" prop="id" />
<el-table-column <el-table-column label="创建时间" align="center" prop="createTime" width="180" :formatter="dateFormatter" />
label="创建时间"
align="center"
prop="createTime"
width="180"
:formatter="dateFormatter"
/>
<el-table-column label="手机号" align="center" prop="mobile" width="120"> <el-table-column label="手机号" align="center" prop="mobile" width="120">
<template #default="scope"> <template #default="scope">
<div>{{ scope.row.mobile }}</div> <div>{{ scope.row.mobile }}</div>
@ -159,24 +94,16 @@
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center" fixed="right" class-name="fixed-width"> <el-table-column label="操作" align="center" fixed="right" class-name="fixed-width">
<template #default="scope"> <template #default="scope">
<el-button <el-button link type="primary" @click="openDetail(scope.row)" v-hasPermi="['system:sms-log:query']">
link <Icon icon="ep:document-copy" />
type="primary"
@click="openDetail(scope.row)"
v-hasPermi="['system:sms-log:query']"
>
详情 详情
</el-button> </el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<!-- 分页 --> <!-- 分页 -->
<Pagination <Pagination :total="total" v-model:page="queryParams.pageNo" v-model:limit="queryParams.pageSize"
:total="total" @pagination="getList" />
v-model:page="queryParams.pageNo"
v-model:limit="queryParams.pageSize"
@pagination="getList"
/>
</ContentWrap> </ContentWrap>
<!-- 表单弹窗详情 --> <!-- 表单弹窗详情 -->

185
src/views/system/sms/template/index.vue

@ -1,108 +1,50 @@
<template> <template>
<ContentWrap> <ContentWrap>
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form <el-form class="-mb-15px" :model="queryParams" ref="queryFormRef" :inline="true" label-width="150px">
class="-mb-15px"
:model="queryParams"
ref="queryFormRef"
:inline="true"
label-width="150px"
>
<el-form-item label="短信类型" prop="type"> <el-form-item label="短信类型" prop="type">
<el-select <el-select v-model="queryParams.type" placeholder="请选择短信类型" clearable class="!w-240px">
v-model="queryParams.type" <el-option v-for="dict in getIntDictOptions(DICT_TYPE.SYSTEM_SMS_TEMPLATE_TYPE)" :key="dict.value"
placeholder="请选择短信类型" :label="dict.label" :value="dict.value" />
clearable
class="!w-240px"
>
<el-option
v-for="dict in getIntDictOptions(DICT_TYPE.SYSTEM_SMS_TEMPLATE_TYPE)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="开启状态" prop="status"> <el-form-item label="开启状态" prop="status">
<el-select <el-select v-model="queryParams.status" placeholder="请选择开启状态" clearable class="!w-240px">
v-model="queryParams.status" <el-option v-for="dict in getIntDictOptions(DICT_TYPE.COMMON_STATUS)" :key="dict.value" :label="dict.label"
placeholder="请选择开启状态" :value="dict.value" />
clearable
class="!w-240px"
>
<el-option
v-for="dict in getIntDictOptions(DICT_TYPE.COMMON_STATUS)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="模板编码" prop="code"> <el-form-item label="模板编码" prop="code">
<el-input <el-input v-model="queryParams.code" placeholder="请输入模板编码" clearable @keyup.enter="handleQuery"
v-model="queryParams.code" class="!w-240px" />
placeholder="请输入模板编码"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item> </el-form-item>
<el-form-item label="短信 API 的模板编号" prop="apiTemplateId"> <el-form-item label="短信 API 的模板编号" prop="apiTemplateId">
<el-input <el-input v-model="queryParams.apiTemplateId" placeholder="请输入短信 API 的模板编号" clearable @keyup.enter="handleQuery"
v-model="queryParams.apiTemplateId" class="!w-240px" />
placeholder="请输入短信 API 的模板编号"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item> </el-form-item>
<el-form-item label="短信渠道" prop="channelId"> <el-form-item label="短信渠道" prop="channelId">
<el-select <el-select v-model="queryParams.channelId" placeholder="请选择短信渠道" clearable class="!w-240px">
v-model="queryParams.channelId" <el-option v-for="channel in channelList" :key="channel.id" :value="channel.id" :label="channel.signature +
placeholder="请选择短信渠道"
clearable
class="!w-240px"
>
<el-option
v-for="channel in channelList"
:key="channel.id"
:value="channel.id"
:label="
channel.signature +
`${getDictLabel(DICT_TYPE.SYSTEM_SMS_CHANNEL_CODE, channel.code)}` `${getDictLabel(DICT_TYPE.SYSTEM_SMS_CHANNEL_CODE, channel.code)}`
" " />
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="创建时间" prop="createTime"> <el-form-item label="创建时间" prop="createTime">
<el-date-picker <el-date-picker v-model="queryParams.createTime" style="width: 240px" type="daterange"
v-model="queryParams.createTime" value-format="YYYY-MM-DD HH:mm:ss" start-placeholder="开始日期" end-placeholder="结束日期" class="!w-240px" />
style="width: 240px"
type="daterange"
value-format="YYYY-MM-DD HH:mm:ss"
start-placeholder="开始日期"
end-placeholder="结束日期"
class="!w-240px"
/>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button> <el-button type="info" plain @click="handleQuery">
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button> <Icon icon="ep:search" class="mr-5px" /> 搜索
<el-button </el-button>
type="primary" <el-button type="info" plain @click="resetQuery">
plain <Icon icon="ep:refresh" class="mr-5px" /> 重置
@click="openForm('create')" </el-button>
v-hasPermi="['system:sms-template:create']" <el-button type="primary" @click="openForm('create')" v-hasPermi="['system:sms-template:create']">
>
<Icon icon="ep:plus" class="mr-5px" />新增 <Icon icon="ep:plus" class="mr-5px" />新增
</el-button> </el-button>
<el-button <el-button type="success" @click="handleExport" :loading="exportLoading"
type="success" v-hasPermi="['system:sms-template:export']">
plain
@click="handleExport"
:loading="exportLoading"
v-hasPermi="['system:sms-template:export']"
>
<Icon icon="ep:download" class="mr-5px" /> 导出 <Icon icon="ep:download" class="mr-5px" /> 导出
</el-button> </el-button>
</el-form-item> </el-form-item>
@ -112,27 +54,9 @@
<!-- 列表 --> <!-- 列表 -->
<ContentWrap> <ContentWrap>
<el-table v-loading="loading" :data="list"> <el-table v-loading="loading" :data="list">
<el-table-column <el-table-column label="模板编码" align="center" prop="code" width="120" :show-overflow-tooltip="true" />
label="模板编码" <el-table-column label="模板名称" align="center" prop="name" width="120" :show-overflow-tooltip="true" />
align="center" <el-table-column label="模板内容" align="center" prop="content" width="200" :show-overflow-tooltip="true" />
prop="code"
width="120"
:show-overflow-tooltip="true"
/>
<el-table-column
label="模板名称"
align="center"
prop="name"
width="120"
:show-overflow-tooltip="true"
/>
<el-table-column
label="模板内容"
align="center"
prop="content"
width="200"
:show-overflow-tooltip="true"
/>
<el-table-column label="短信类型" align="center" prop="type"> <el-table-column label="短信类型" align="center" prop="type">
<template #default="scope"> <template #default="scope">
<dict-tag :type="DICT_TYPE.SYSTEM_SMS_TEMPLATE_TYPE" :value="scope.row.type" /> <dict-tag :type="DICT_TYPE.SYSTEM_SMS_TEMPLATE_TYPE" :value="scope.row.type" />
@ -144,13 +68,8 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="备注" align="center" prop="remark" /> <el-table-column label="备注" align="center" prop="remark" />
<el-table-column <el-table-column label="短信 API 的模板编号" align="center" prop="apiTemplateId" width="200"
label="短信 API 的模板编号" :show-overflow-tooltip="true" />
align="center"
prop="apiTemplateId"
width="200"
:show-overflow-tooltip="true"
/>
<el-table-column label="短信渠道" align="center" width="120"> <el-table-column label="短信渠道" align="center" width="120">
<template #default="scope"> <template #default="scope">
<div> <div>
@ -159,49 +78,29 @@
<dict-tag :type="DICT_TYPE.SYSTEM_SMS_CHANNEL_CODE" :value="scope.row.channelCode" /> <dict-tag :type="DICT_TYPE.SYSTEM_SMS_CHANNEL_CODE" :value="scope.row.channelCode" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column label="创建时间" align="center" prop="createTime" width="180" :formatter="dateFormatter" />
label="创建时间"
align="center"
prop="createTime"
width="180"
:formatter="dateFormatter"
/>
<el-table-column label="操作" align="center" width="210" fixed="right"> <el-table-column label="操作" align="center" width="210" fixed="right">
<template #default="scope"> <template #default="scope">
<el-button <el-button link type="primary" @click="openForm('update', scope.row.id)"
link v-hasPermi="['system:sms-template:update']">
type="primary" <Icon icon="ep:edit" />
@click="openForm('update', scope.row.id)"
v-hasPermi="['system:sms-template:update']"
>
修改 修改
</el-button> </el-button>
<el-button <el-button link type="primary" @click="openSendForm(scope.row.id)"
link v-hasPermi="['system:sms-template:send-sms']">
type="primary" <Icon icon="ep:cellphone" />
@click="openSendForm(scope.row.id)"
v-hasPermi="['system:sms-template:send-sms']"
>
测试 测试
</el-button> </el-button>
<el-button <el-button link type="danger" @click="handleDelete(scope.row.id)" v-hasPermi="['system:sms-template:delete']">
link <Icon icon="ep:delete" />
type="danger"
@click="handleDelete(scope.row.id)"
v-hasPermi="['system:sms-template:delete']"
>
删除 删除
</el-button> </el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<!-- 分页 --> <!-- 分页 -->
<Pagination <Pagination :total="total" v-model:page="queryParams.pageNo" v-model:limit="queryParams.pageSize"
:total="total" @pagination="getList" />
v-model:page="queryParams.pageNo"
v-model:limit="queryParams.pageSize"
@pagination="getList"
/>
</ContentWrap> </ContentWrap>
<!-- 表单弹窗添加/修改 --> <!-- 表单弹窗添加/修改 -->
@ -287,7 +186,7 @@ const handleDelete = async (id: number) => {
message.success(t('common.delSuccess')) message.success(t('common.delSuccess'))
// //
await getList() await getList()
} catch {} } catch { }
} }
/** 导出按钮操作 */ /** 导出按钮操作 */

122
src/views/system/tenant/index.vue

@ -1,92 +1,44 @@
<template> <template>
<!-- 搜索 --> <!-- 搜索 -->
<ContentWrap> <ContentWrap>
<el-form <el-form class="-mb-15px" :model="queryParams" ref="queryFormRef" :inline="true" label-width="68px">
class="-mb-15px"
:model="queryParams"
ref="queryFormRef"
:inline="true"
label-width="68px"
>
<el-form-item label="租户名" prop="name"> <el-form-item label="租户名" prop="name">
<el-input <el-input v-model="queryParams.name" placeholder="请输入租户名" clearable @keyup.enter="handleQuery" class="!w-240px" />
v-model="queryParams.name"
placeholder="请输入租户名"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item> </el-form-item>
<el-form-item label="联系人" prop="contactName"> <el-form-item label="联系人" prop="contactName">
<el-input <el-input v-model="queryParams.contactName" placeholder="请输入联系人" clearable @keyup.enter="handleQuery"
v-model="queryParams.contactName" class="!w-240px" />
placeholder="请输入联系人"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item> </el-form-item>
<el-form-item label="联系手机" prop="contactMobile"> <el-form-item label="联系手机" prop="contactMobile">
<el-input <el-input v-model="queryParams.contactMobile" placeholder="请输入联系手机" clearable @keyup.enter="handleQuery"
v-model="queryParams.contactMobile" class="!w-240px" />
placeholder="请输入联系手机"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item> </el-form-item>
<el-form-item label="租户状态" prop="status"> <el-form-item label="租户状态" prop="status">
<el-select <el-select v-model="queryParams.status" placeholder="请选择租户状态" clearable class="!w-240px">
v-model="queryParams.status" <el-option v-for="dict in getIntDictOptions(DICT_TYPE.COMMON_STATUS)" :key="dict.value" :label="dict.label"
placeholder="请选择租户状态" :value="dict.value" />
clearable
class="!w-240px"
>
<el-option
v-for="dict in getIntDictOptions(DICT_TYPE.COMMON_STATUS)"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="创建时间" prop="createTime"> <el-form-item label="创建时间" prop="createTime">
<el-date-picker <el-date-picker v-model="queryParams.createTime" value-format="YYYY-MM-DD HH:mm:ss" type="daterange"
v-model="queryParams.createTime" start-placeholder="开始日期" end-placeholder="结束日期" :default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
value-format="YYYY-MM-DD HH:mm:ss" class="!w-240px" />
type="daterange"
start-placeholder="开始日期"
end-placeholder="结束日期"
:default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
class="!w-240px"
/>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button @click="handleQuery"> <el-button type="info" plain @click="handleQuery">
<Icon icon="ep:search" class="mr-5px" /> <Icon icon="ep:search" class="mr-5px" />
搜索 搜索
</el-button> </el-button>
<el-button @click="resetQuery"> <el-button type="info" plain @click="resetQuery">
<Icon icon="ep:refresh" class="mr-5px" /> <Icon icon="ep:refresh" class="mr-5px" />
重置 重置
</el-button> </el-button>
<el-button <el-button type="primary" @click="openForm('create')" v-hasPermi="['system:tenant:create']">
type="primary"
plain
@click="openForm('create')"
v-hasPermi="['system:tenant:create']"
>
<Icon icon="ep:plus" class="mr-5px" /> <Icon icon="ep:plus" class="mr-5px" />
新增 新增
</el-button> </el-button>
<el-button <el-button type="success" @click="handleExport" :loading="exportLoading" v-hasPermi="['system:tenant:export']">
type="success"
plain
@click="handleExport"
:loading="exportLoading"
v-hasPermi="['system:tenant:export']"
>
<Icon icon="ep:download" class="mr-5px" /> <Icon icon="ep:download" class="mr-5px" />
导出 导出
</el-button> </el-button>
@ -116,54 +68,30 @@
<el-tag>{{ scope.row.accountCount }}</el-tag> <el-tag>{{ scope.row.accountCount }}</el-tag>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column label="过期时间" align="center" prop="expireTime" width="180" :formatter="dateFormatter" />
label="过期时间"
align="center"
prop="expireTime"
width="180"
:formatter="dateFormatter"
/>
<el-table-column label="绑定域名" align="center" prop="domain" width="180" /> <el-table-column label="绑定域名" align="center" prop="domain" width="180" />
<el-table-column label="租户状态" align="center" prop="status"> <el-table-column label="租户状态" align="center" prop="status">
<template #default="scope"> <template #default="scope">
<dict-tag :type="DICT_TYPE.COMMON_STATUS" :value="scope.row.status" /> <dict-tag :type="DICT_TYPE.COMMON_STATUS" :value="scope.row.status" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column label="创建时间" align="center" prop="createTime" width="180" :formatter="dateFormatter" />
label="创建时间"
align="center"
prop="createTime"
width="180"
:formatter="dateFormatter"
/>
<el-table-column label="操作" align="center" min-width="110" fixed="right"> <el-table-column label="操作" align="center" min-width="110" fixed="right">
<template #default="scope"> <template #default="scope">
<el-button <el-button link type="primary" @click="openForm('update', scope.row.id)" v-hasPermi="['system:tenant:update']">
link <Icon icon="ep:edit" />
type="primary"
@click="openForm('update', scope.row.id)"
v-hasPermi="['system:tenant:update']"
>
编辑 编辑
</el-button> </el-button>
<el-button <el-button link type="danger" @click="handleDelete(scope.row.id)" v-hasPermi="['system:tenant:delete']">
link <Icon icon="ep:delete" />
type="danger"
@click="handleDelete(scope.row.id)"
v-hasPermi="['system:tenant:delete']"
>
删除 删除
</el-button> </el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<!-- 分页 --> <!-- 分页 -->
<Pagination <Pagination :total="total" v-model:page="queryParams.pageNo" v-model:limit="queryParams.pageSize"
:total="total" @pagination="getList" />
v-model:page="queryParams.pageNo"
v-model:limit="queryParams.pageSize"
@pagination="getList"
/>
</ContentWrap> </ContentWrap>
<!-- 表单弹窗添加/修改 --> <!-- 表单弹窗添加/修改 -->
@ -238,7 +166,7 @@ const handleDelete = async (id: number) => {
message.success(t('common.delSuccess')) message.success(t('common.delSuccess'))
// //
await getList() await getList()
} catch {} } catch { }
} }
/** 导出按钮操作 */ /** 导出按钮操作 */

84
src/views/system/tenantPackage/index.vue

@ -1,51 +1,28 @@
<template> <template>
<!-- 搜索 --> <!-- 搜索 -->
<ContentWrap> <ContentWrap>
<el-form <el-form class="-mb-15px" :model="queryParams" ref="queryFormRef" :inline="true" label-width="68px">
class="-mb-15px"
:model="queryParams"
ref="queryFormRef"
:inline="true"
label-width="68px"
>
<el-form-item label="套餐名" prop="name"> <el-form-item label="套餐名" prop="name">
<el-input <el-input v-model="queryParams.name" placeholder="请输入套餐名" clearable @keyup.enter="handleQuery" class="!w-240px" />
v-model="queryParams.name"
placeholder="请输入套餐名"
clearable
@keyup.enter="handleQuery"
class="!w-240px"
/>
</el-form-item> </el-form-item>
<el-form-item label="状态" prop="status"> <el-form-item label="状态" prop="status">
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable class="!w-240px"> <el-select v-model="queryParams.status" placeholder="请选择状态" clearable class="!w-240px">
<el-option <el-option v-for="dict in getIntDictOptions(DICT_TYPE.COMMON_STATUS)" :key="dict.value" :label="dict.label"
v-for="dict in getIntDictOptions(DICT_TYPE.COMMON_STATUS)" :value="dict.value" />
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="创建时间" prop="createTime"> <el-form-item label="创建时间" prop="createTime">
<el-date-picker <el-date-picker v-model="queryParams.createTime" type="daterange" value-format="YYYY-MM-DD HH:mm:ss"
v-model="queryParams.createTime" start-placeholder="开始日期" end-placeholder="结束日期" class="!w-240px" />
type="daterange"
value-format="YYYY-MM-DD HH:mm:ss"
start-placeholder="开始日期"
end-placeholder="结束日期"
class="!w-240px"
/>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button @click="handleQuery"><Icon icon="ep:search" class="mr-5px" /> 搜索</el-button> <el-button type="info" plain @click="handleQuery">
<el-button @click="resetQuery"><Icon icon="ep:refresh" class="mr-5px" /> 重置</el-button> <Icon icon="ep:search" class="mr-5px" /> 搜索
<el-button </el-button>
type="primary" <el-button type="info" plain @click="resetQuery">
plain <Icon icon="ep:refresh" class="mr-5px" /> 重置
@click="openForm('create')" </el-button>
v-hasPermi="['system:tenant-package:create']" <el-button type="primary" @click="openForm('create')" v-hasPermi="['system:tenant-package:create']">
>
<Icon icon="ep:plus" class="mr-5px" /> <Icon icon="ep:plus" class="mr-5px" />
新增 新增
</el-button> </el-button>
@ -64,41 +41,24 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="备注" align="center" prop="remark" /> <el-table-column label="备注" align="center" prop="remark" />
<el-table-column <el-table-column label="创建时间" align="center" prop="createTime" width="180" :formatter="dateFormatter" />
label="创建时间"
align="center"
prop="createTime"
width="180"
:formatter="dateFormatter"
/>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template #default="scope"> <template #default="scope">
<el-button <el-button link type="primary" @click="openForm('update', scope.row.id)"
link v-hasPermi="['system:tenant-package:update']">
type="primary" <Icon icon="ep:edit" />
@click="openForm('update', scope.row.id)"
v-hasPermi="['system:tenant-package:update']"
>
修改 修改
</el-button> </el-button>
<el-button <el-button link type="danger" @click="handleDelete(scope.row.id)" v-hasPermi="['system:tenant-package:delete']">
link <Icon icon="ep:delete" />
type="danger"
@click="handleDelete(scope.row.id)"
v-hasPermi="['system:tenant-package:delete']"
>
删除 删除
</el-button> </el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<!-- 分页 --> <!-- 分页 -->
<Pagination <Pagination :total="total" v-model:page="queryParams.pageNo" v-model:limit="queryParams.pageSize"
:total="total" @pagination="getList" />
v-model:page="queryParams.pageNo"
v-model:limit="queryParams.pageSize"
@pagination="getList"
/>
</ContentWrap> </ContentWrap>
<!-- 表单弹窗添加/修改 --> <!-- 表单弹窗添加/修改 -->
@ -168,7 +128,7 @@ const handleDelete = async (id: number) => {
message.success(t('common.delSuccess')) message.success(t('common.delSuccess'))
// //
await getList() await getList()
} catch {} } catch { }
} }
/** 初始化 **/ /** 初始化 **/

11
src/views/system/user/index.vue

@ -60,11 +60,14 @@
/> />
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button @click="handleQuery"><Icon icon="ep:search" />搜索</el-button> <el-button
<el-button @click="resetQuery"><Icon icon="ep:refresh" />重置</el-button> type="info"
plain @click="handleQuery"><Icon icon="ep:search" />搜索</el-button>
<el-button
type="info"
plain @click="resetQuery"><Icon icon="ep:refresh" />重置</el-button>
<el-button <el-button
type="primary" type="primary"
plain
@click="openForm('create')" @click="openForm('create')"
v-hasPermi="['system:user:create']" v-hasPermi="['system:user:create']"
> >
@ -72,7 +75,6 @@
</el-button> </el-button>
<el-button <el-button
type="warning" type="warning"
plain
@click="handleImport" @click="handleImport"
v-hasPermi="['system:user:import']" v-hasPermi="['system:user:import']"
> >
@ -80,7 +82,6 @@
</el-button> </el-button>
<el-button <el-button
type="success" type="success"
plain
@click="handleExport" @click="handleExport"
:loading="exportLoading" :loading="exportLoading"
v-hasPermi="['system:user:export']" v-hasPermi="['system:user:export']"

Loading…
Cancel
Save