commit
661a20dc93
10
README.md
10
README.md
|
@ -188,17 +188,17 @@ ps:核心功能已经实现,正在对接微信小程序中...
|
||||||
|
|
||||||
| 框架 | 说明 | 版本 | 学习指南 |
|
| 框架 | 说明 | 版本 | 学习指南 |
|
||||||
|---------------------------------------------------------------------------------------------|------------------|-------------|----------------------------------------------------------------|
|
|---------------------------------------------------------------------------------------------|------------------|-------------|----------------------------------------------------------------|
|
||||||
| [Spring Boot](https://spring.io/projects/spring-boot) | 应用开发框架 | 2.7.6 | [文档](https://github.com/YunaiV/SpringBoot-Labs) |
|
| [Spring Boot](https://spring.io/projects/spring-boot) | 应用开发框架 | 2.7.7 | [文档](https://github.com/YunaiV/SpringBoot-Labs) |
|
||||||
| [MySQL](https://www.mysql.com/cn/) | 数据库服务器 | 5.7 / 8.0+ | |
|
| [MySQL](https://www.mysql.com/cn/) | 数据库服务器 | 5.7 / 8.0+ | |
|
||||||
| [Druid](https://github.com/alibaba/druid) | JDBC 连接池、监控组件 | 1.2.15 | [文档](http://www.iocoder.cn/Spring-Boot/datasource-pool/?yudao) |
|
| [Druid](https://github.com/alibaba/druid) | JDBC 连接池、监控组件 | 1.2.15 | [文档](http://www.iocoder.cn/Spring-Boot/datasource-pool/?yudao) |
|
||||||
| [MyBatis Plus](https://mp.baomidou.com/) | MyBatis 增强工具包 | 3.5.2 | [文档](http://www.iocoder.cn/Spring-Boot/MyBatis/?yudao) |
|
| [MyBatis Plus](https://mp.baomidou.com/) | MyBatis 增强工具包 | 3.5.3 | [文档](http://www.iocoder.cn/Spring-Boot/MyBatis/?yudao) |
|
||||||
| [Dynamic Datasource](https://dynamic-datasource.com/) | 动态数据源 | 3.6.0 | [文档](http://www.iocoder.cn/Spring-Boot/datasource-pool/?yudao) |
|
| [Dynamic Datasource](https://dynamic-datasource.com/) | 动态数据源 | 3.6.1 | [文档](http://www.iocoder.cn/Spring-Boot/datasource-pool/?yudao) |
|
||||||
| [Redis](https://redis.io/) | key-value 数据库 | 5.0 / 6.0 | |
|
| [Redis](https://redis.io/) | key-value 数据库 | 5.0 / 6.0 | |
|
||||||
| [Redisson](https://github.com/redisson/redisson) | Redis 客户端 | 3.18.0 | [文档](http://www.iocoder.cn/Spring-Boot/Redis/?yudao) |
|
| [Redisson](https://github.com/redisson/redisson) | Redis 客户端 | 3.18.0 | [文档](http://www.iocoder.cn/Spring-Boot/Redis/?yudao) |
|
||||||
| [Spring MVC](https://github.com/spring-projects/spring-framework/tree/master/spring-webmvc) | MVC 框架 | 5.3.24 | [文档](http://www.iocoder.cn/SpringMVC/MVC/?yudao) |
|
| [Spring MVC](https://github.com/spring-projects/spring-framework/tree/master/spring-webmvc) | MVC 框架 | 5.3.24 | [文档](http://www.iocoder.cn/SpringMVC/MVC/?yudao) |
|
||||||
| [Spring Security](https://github.com/spring-projects/spring-security) | Spring 安全框架 | 5.7.5 | [文档](http://www.iocoder.cn/Spring-Boot/Spring-Security/?yudao) |
|
| [Spring Security](https://github.com/spring-projects/spring-security) | Spring 安全框架 | 5.7.5 | [文档](http://www.iocoder.cn/Spring-Boot/Spring-Security/?yudao) |
|
||||||
| [Hibernate Validator](https://github.com/hibernate/hibernate-validator) | 参数校验组件 | 6.2.5 | [文档](http://www.iocoder.cn/Spring-Boot/Validation/?yudao) |
|
| [Hibernate Validator](https://github.com/hibernate/hibernate-validator) | 参数校验组件 | 6.2.5 | [文档](http://www.iocoder.cn/Spring-Boot/Validation/?yudao) |
|
||||||
| [Flowable](https://github.com/flowable/flowable-engine) | 工作流引擎 | 6.7.2 | [文档](https://doc.iocoder.cn/bpm/) |
|
| [Flowable](https://github.com/flowable/flowable-engine) | 工作流引擎 | 6.8.0 | [文档](https://doc.iocoder.cn/bpm/) |
|
||||||
| [Quartz](https://github.com/quartz-scheduler) | 任务调度组件 | 2.3.2 | [文档](http://www.iocoder.cn/Spring-Boot/Job/?yudao) |
|
| [Quartz](https://github.com/quartz-scheduler) | 任务调度组件 | 2.3.2 | [文档](http://www.iocoder.cn/Spring-Boot/Job/?yudao) |
|
||||||
| [Knife4j](https://gitee.com/xiaoym/knife4j) | Swagger 增强 UI 实现 | 3.0.3 | [文档](http://www.iocoder.cn/Spring-Boot/Swagger/?yudao) |
|
| [Knife4j](https://gitee.com/xiaoym/knife4j) | Swagger 增强 UI 实现 | 3.0.3 | [文档](http://www.iocoder.cn/Spring-Boot/Swagger/?yudao) |
|
||||||
| [Resilience4j](https://github.com/resilience4j/resilience4j) | 服务保障组件 | 1.7.1 | [文档](http://www.iocoder.cn/Spring-Boot/Resilience4j/?yudao) |
|
| [Resilience4j](https://github.com/resilience4j/resilience4j) | 服务保障组件 | 1.7.1 | [文档](http://www.iocoder.cn/Spring-Boot/Resilience4j/?yudao) |
|
||||||
|
@ -222,7 +222,7 @@ ps:核心功能已经实现,正在对接微信小程序中...
|
||||||
| 框架 | 说明 | 版本 |
|
| 框架 | 说明 | 版本 |
|
||||||
|----------------------------------------------------------------------|:------------:|:------:|
|
|----------------------------------------------------------------------|:------------:|:------:|
|
||||||
| [Vue](https://staging-cn.vuejs.org/) | Vue 框架 | 3.2.45 |
|
| [Vue](https://staging-cn.vuejs.org/) | Vue 框架 | 3.2.45 |
|
||||||
| [Vite](https://cn.vitejs.dev//) | 开发与构建工具 | 4.0.3 |
|
| [Vite](https://cn.vitejs.dev//) | 开发与构建工具 | 4.0.4 |
|
||||||
| [Element Plus](https://element-plus.org/zh-CN/) | Element Plus | 2.2.28 |
|
| [Element Plus](https://element-plus.org/zh-CN/) | Element Plus | 2.2.28 |
|
||||||
| [TypeScript](https://www.typescriptlang.org/docs/) | TypeScript | 4.9.4 |
|
| [TypeScript](https://www.typescriptlang.org/docs/) | TypeScript | 4.9.4 |
|
||||||
| [pinia](https://pinia.vuejs.org/) | vuex5 | 2.0.28 |
|
| [pinia](https://pinia.vuejs.org/) | vuex5 | 2.0.28 |
|
||||||
|
|
|
@ -16,16 +16,16 @@
|
||||||
<properties>
|
<properties>
|
||||||
<revision>1.6.5-snapshot</revision>
|
<revision>1.6.5-snapshot</revision>
|
||||||
<!-- 统一依赖管理 -->
|
<!-- 统一依赖管理 -->
|
||||||
<spring.boot.version>2.7.6</spring.boot.version>
|
<spring.boot.version>2.7.7</spring.boot.version>
|
||||||
<!-- Web 相关 -->
|
<!-- Web 相关 -->
|
||||||
<knife4j.version>3.0.3</knife4j.version>
|
<knife4j.version>3.0.3</knife4j.version>
|
||||||
<swagger-annotations.version>1.6.8</swagger-annotations.version>
|
<swagger-annotations.version>1.6.8</swagger-annotations.version>
|
||||||
<servlet.versoin>2.5</servlet.versoin>
|
<servlet.versoin>2.5</servlet.versoin>
|
||||||
<!-- DB 相关 -->
|
<!-- DB 相关 -->
|
||||||
<druid.version>1.2.15</druid.version>
|
<druid.version>1.2.15</druid.version>
|
||||||
<mybatis-plus.version>3.5.2</mybatis-plus.version>
|
<mybatis-plus.version>3.5.3</mybatis-plus.version>
|
||||||
<mybatis-plus-generator.version>3.5.2</mybatis-plus-generator.version>
|
<mybatis-plus-generator.version>3.5.2</mybatis-plus-generator.version>
|
||||||
<dynamic-datasource.version>3.6.0</dynamic-datasource.version>
|
<dynamic-datasource.version>3.6.1</dynamic-datasource.version>
|
||||||
<redisson.version>3.18.0</redisson.version>
|
<redisson.version>3.18.0</redisson.version>
|
||||||
<!-- 服务保障相关 -->
|
<!-- 服务保障相关 -->
|
||||||
<lock4j.version>2.2.3</lock4j.version>
|
<lock4j.version>2.2.3</lock4j.version>
|
||||||
|
@ -37,14 +37,14 @@
|
||||||
<!-- Test 测试相关 -->
|
<!-- Test 测试相关 -->
|
||||||
<podam.version>7.2.11.RELEASE</podam.version>
|
<podam.version>7.2.11.RELEASE</podam.version>
|
||||||
<jedis-mock.version>1.0.5</jedis-mock.version>
|
<jedis-mock.version>1.0.5</jedis-mock.version>
|
||||||
<mockito-inline.version>4.8.0</mockito-inline.version>
|
<mockito-inline.version>4.11.0</mockito-inline.version>
|
||||||
<!-- Bpm 工作流相关 -->
|
<!-- Bpm 工作流相关 -->
|
||||||
<flowable.version>6.7.2</flowable.version>
|
<flowable.version>6.8.0</flowable.version>
|
||||||
<!-- 工具类相关 -->
|
<!-- 工具类相关 -->
|
||||||
<lombok.version>1.18.24</lombok.version>
|
<lombok.version>1.18.24</lombok.version>
|
||||||
<mapstruct.version>1.5.3.Final</mapstruct.version>
|
<mapstruct.version>1.5.3.Final</mapstruct.version>
|
||||||
<hutool.version>5.8.10</hutool.version>
|
<hutool.version>5.8.11</hutool.version>
|
||||||
<easyexcel.verion>3.1.3</easyexcel.verion>
|
<easyexcel.verion>3.1.4</easyexcel.verion>
|
||||||
<velocity.version>2.3</velocity.version>
|
<velocity.version>2.3</velocity.version>
|
||||||
<screw.version>1.0.5</screw.version>
|
<screw.version>1.0.5</screw.version>
|
||||||
<fastjson.version>1.2.83</fastjson.version>
|
<fastjson.version>1.2.83</fastjson.version>
|
||||||
|
@ -55,7 +55,7 @@
|
||||||
<jsch.version>0.1.55</jsch.version>
|
<jsch.version>0.1.55</jsch.version>
|
||||||
<tika-core.version>2.6.0</tika-core.version>
|
<tika-core.version>2.6.0</tika-core.version>
|
||||||
<aj-captcha.version>1.3.0</aj-captcha.version>
|
<aj-captcha.version>1.3.0</aj-captcha.version>
|
||||||
<netty-all.version>4.1.85.Final</netty-all.version>
|
<netty-all.version>4.1.86.Final</netty-all.version>
|
||||||
<ip2region.version>2.6.6</ip2region.version>
|
<ip2region.version>2.6.6</ip2region.version>
|
||||||
<!-- 三方云服务相关 -->
|
<!-- 三方云服务相关 -->
|
||||||
<okio.version>3.0.0</okio.version>
|
<okio.version>3.0.0</okio.version>
|
||||||
|
@ -63,7 +63,7 @@
|
||||||
<minio.version>8.4.6</minio.version>
|
<minio.version>8.4.6</minio.version>
|
||||||
<aliyun-java-sdk-core.version>4.6.3</aliyun-java-sdk-core.version>
|
<aliyun-java-sdk-core.version>4.6.3</aliyun-java-sdk-core.version>
|
||||||
<aliyun-java-sdk-dysmsapi.version>2.2.1</aliyun-java-sdk-dysmsapi.version>
|
<aliyun-java-sdk-dysmsapi.version>2.2.1</aliyun-java-sdk-dysmsapi.version>
|
||||||
<tencentcloud-sdk-java.version>3.1.637</tencentcloud-sdk-java.version>
|
<tencentcloud-sdk-java.version>3.1.660</tencentcloud-sdk-java.version>
|
||||||
<justauth.version>1.4.0</justauth.version>
|
<justauth.version>1.4.0</justauth.version>
|
||||||
<jimureport.version>1.5.6</jimureport.version>
|
<jimureport.version>1.5.6</jimureport.version>
|
||||||
<xercesImpl.version>2.12.2</xercesImpl.version>
|
<xercesImpl.version>2.12.2</xercesImpl.version>
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
<maven.compiler.target>8</maven.compiler.target>
|
<maven.compiler.target>8</maven.compiler.target>
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
<!-- 统一依赖管理 -->
|
<!-- 统一依赖管理 -->
|
||||||
<spring.boot.version>2.7.6</spring.boot.version>
|
<spring.boot.version>2.7.7</spring.boot.version>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
<dependencyManagement>
|
<dependencyManagement>
|
||||||
|
@ -52,7 +52,7 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>cn.hutool</groupId>
|
<groupId>cn.hutool</groupId>
|
||||||
<artifactId>hutool-all</artifactId>
|
<artifactId>hutool-all</artifactId>
|
||||||
<version>5.8.10</version>
|
<version>5.8.11</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
<maven.compiler.target>8</maven.compiler.target>
|
<maven.compiler.target>8</maven.compiler.target>
|
||||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||||
<!-- 统一依赖管理 -->
|
<!-- 统一依赖管理 -->
|
||||||
<spring.boot.version>2.7.6</spring.boot.version>
|
<spring.boot.version>2.7.7</spring.boot.version>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
<dependencyManagement>
|
<dependencyManagement>
|
||||||
|
@ -52,7 +52,7 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>cn.hutool</groupId>
|
<groupId>cn.hutool</groupId>
|
||||||
<artifactId>hutool-all</artifactId>
|
<artifactId>hutool-all</artifactId>
|
||||||
<version>5.8.10</version>
|
<version>5.8.11</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<dependency>
|
||||||
|
|
|
@ -52,7 +52,7 @@
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>com.alipay.sdk</groupId>
|
<groupId>com.alipay.sdk</groupId>
|
||||||
<artifactId>alipay-sdk-java</artifactId>
|
<artifactId>alipay-sdk-java</artifactId>
|
||||||
<version>4.35.0.ALL</version>
|
<version>4.35.9.ALL</version>
|
||||||
<exclusions>
|
<exclusions>
|
||||||
<exclusion>
|
<exclusion>
|
||||||
<groupId>org.bouncycastle</groupId>
|
<groupId>org.bouncycastle</groupId>
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
preIcon="ep:download"
|
preIcon="ep:download"
|
||||||
:title="t('action.export')"
|
:title="t('action.export')"
|
||||||
v-hasPermi="['${permissionPrefix}:export']"
|
v-hasPermi="['${permissionPrefix}:export']"
|
||||||
@click="handleExport()"
|
@click="exportList('${table.classComment}.xls')"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
<template #actionbtns_default="{ row }">
|
<template #actionbtns_default="{ row }">
|
||||||
|
@ -40,7 +40,7 @@
|
||||||
preIcon="ep:delete"
|
preIcon="ep:delete"
|
||||||
:title="t('action.del')"
|
:title="t('action.del')"
|
||||||
v-hasPermi="['${permissionPrefix}:delete']"
|
v-hasPermi="['${permissionPrefix}:delete']"
|
||||||
@click="handleDelete(row.id)"
|
@click="deleteData(row.id)"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
</XTable>
|
</XTable>
|
||||||
|
@ -119,11 +119,6 @@ const handleCreate = () => {
|
||||||
modelLoading.value = false
|
modelLoading.value = false
|
||||||
}
|
}
|
||||||
|
|
||||||
// 导出操作
|
|
||||||
const handleExport = async () => {
|
|
||||||
await exportList('${table.classComment}.xls')
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改操作
|
// 修改操作
|
||||||
const handleUpdate = async (rowId: number) => {
|
const handleUpdate = async (rowId: number) => {
|
||||||
setDialogTile('update')
|
setDialogTile('update')
|
||||||
|
@ -141,11 +136,6 @@ const handleDetail = async (rowId: number) => {
|
||||||
modelLoading.value = false
|
modelLoading.value = false
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除操作
|
|
||||||
const handleDelete = async (rowId: number) => {
|
|
||||||
await deleteData(rowId)
|
|
||||||
}
|
|
||||||
|
|
||||||
// 提交按钮
|
// 提交按钮
|
||||||
const submitForm = async () => {
|
const submitForm = async () => {
|
||||||
const elForm = unref(formRef)?.getElFormRef()
|
const elForm = unref(formRef)?.getElFormRef()
|
||||||
|
|
|
@ -29,11 +29,11 @@
|
||||||
| 框架 | 说明 | 版本 |
|
| 框架 | 说明 | 版本 |
|
||||||
| --- | --- |--------|
|
| --- | --- |--------|
|
||||||
| [Vue](https://staging-cn.vuejs.org/) | vue 框架 | 3.2.45 |
|
| [Vue](https://staging-cn.vuejs.org/) | vue 框架 | 3.2.45 |
|
||||||
| [Vite](https://cn.vitejs.dev//) | 开发与构建工具 | 4.0.3 |
|
| [Vite](https://cn.vitejs.dev//) | 开发与构建工具 | 4.0.4 |
|
||||||
| [Element Plus](https://element-plus.org/zh-CN/) | Element Plus | 2.2.28 |
|
| [Element Plus](https://element-plus.org/zh-CN/) | Element Plus | 2.2.28 |
|
||||||
| [TypeScript](https://www.typescriptlang.org/docs/) | JavaScript 的超集 | 4.9.4 |
|
| [TypeScript](https://www.typescriptlang.org/docs/) | JavaScript 的超集 | 4.9.4 |
|
||||||
| [pinia](https://pinia.vuejs.org/) | Vue 存储库 替代 vuex5 | 2.0.28 |
|
| [pinia](https://pinia.vuejs.org/) | Vue 存储库 替代 vuex5 | 2.0.28 |
|
||||||
| [vueuse](https://vueuse.org/) | 常用工具集 | 9.8.2 |
|
| [vueuse](https://vueuse.org/) | 常用工具集 | 9.10.0 |
|
||||||
| [vxe-table](https://vxetable.cn/) | vue 最强表单 | 4.3.7 |
|
| [vxe-table](https://vxetable.cn/) | vue 最强表单 | 4.3.7 |
|
||||||
| [vue-i18n](https://kazupon.github.io/vue-i18n/zh/introduction.html/) | 国际化 | 9.2.2 |
|
| [vue-i18n](https://kazupon.github.io/vue-i18n/zh/introduction.html/) | 国际化 | 9.2.2 |
|
||||||
| [vue-router](https://router.vuejs.org/) | vue 路由 | 4.1.6 |
|
| [vue-router](https://router.vuejs.org/) | vue 路由 | 4.1.6 |
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
"name": "yudao-ui-admin-vue3",
|
"name": "yudao-ui-admin-vue3",
|
||||||
"version": "1.6.5.1901",
|
"version": "1.6.5-snapshot.1901",
|
||||||
"description": "基于vue3、vite4、element-plus、typesScript",
|
"description": "基于vue3、vite4、element-plus、typesScript",
|
||||||
"author": "xingyu",
|
"author": "xingyu",
|
||||||
"private": false,
|
"private": false,
|
||||||
|
@ -25,7 +25,7 @@
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@iconify/iconify": "^3.0.1",
|
"@iconify/iconify": "^3.0.1",
|
||||||
"@vueuse/core": "^9.9.0",
|
"@vueuse/core": "^9.10.0",
|
||||||
"@wangeditor/editor": "^5.1.23",
|
"@wangeditor/editor": "^5.1.23",
|
||||||
"@wangeditor/editor-for-vue": "^5.1.10",
|
"@wangeditor/editor-for-vue": "^5.1.10",
|
||||||
"@zxcvbn-ts/core": "^2.1.0",
|
"@zxcvbn-ts/core": "^2.1.0",
|
||||||
|
@ -55,9 +55,9 @@
|
||||||
"xe-utils": "^3.5.7"
|
"xe-utils": "^3.5.7"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@commitlint/cli": "^17.3.0",
|
"@commitlint/cli": "^17.4.0",
|
||||||
"@commitlint/config-conventional": "^17.3.0",
|
"@commitlint/config-conventional": "^17.4.0",
|
||||||
"@iconify/json": "^2.2.1",
|
"@iconify/json": "^2.2.2",
|
||||||
"@intlify/unplugin-vue-i18n": "^0.8.1",
|
"@intlify/unplugin-vue-i18n": "^0.8.1",
|
||||||
"@purge-icons/generated": "^0.9.0",
|
"@purge-icons/generated": "^0.9.0",
|
||||||
"@types/intro.js": "^5.1.0",
|
"@types/intro.js": "^5.1.0",
|
||||||
|
@ -94,7 +94,7 @@
|
||||||
"stylelint-order": "^5.0.0",
|
"stylelint-order": "^5.0.0",
|
||||||
"terser": "^5.16.1",
|
"terser": "^5.16.1",
|
||||||
"typescript": "4.9.4",
|
"typescript": "4.9.4",
|
||||||
"vite": "4.0.3",
|
"vite": "4.0.4",
|
||||||
"vite-plugin-compression": "^0.5.1",
|
"vite-plugin-compression": "^0.5.1",
|
||||||
"vite-plugin-ejs": "^1.6.4",
|
"vite-plugin-ejs": "^1.6.4",
|
||||||
"vite-plugin-eslint": "^1.8.1",
|
"vite-plugin-eslint": "^1.8.1",
|
||||||
|
@ -104,7 +104,7 @@
|
||||||
"vite-plugin-svg-icons": "^2.0.1",
|
"vite-plugin-svg-icons": "^2.0.1",
|
||||||
"vite-plugin-vue-setup-extend": "^0.4.0",
|
"vite-plugin-vue-setup-extend": "^0.4.0",
|
||||||
"vite-plugin-windicss": "^1.8.10",
|
"vite-plugin-windicss": "^1.8.10",
|
||||||
"vue-tsc": "^1.0.19",
|
"vue-tsc": "^1.0.20",
|
||||||
"windicss": "^3.5.6"
|
"windicss": "^3.5.6"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -13,4 +13,4 @@ $vxe-danger-color: #f56c6c !default;
|
||||||
$vxe-disabled-color: #bfbfbf !default;
|
$vxe-disabled-color: #bfbfbf !default;
|
||||||
$vxe-primary-disabled-color: #c0c4cc !default;
|
$vxe-primary-disabled-color: #c0c4cc !default;
|
||||||
|
|
||||||
@import 'vxe-table/styles/index.scss';
|
@import 'vxe-table/styles/index';
|
||||||
|
|
|
@ -7,15 +7,14 @@ export type XTableProps<D = any> = VxeGridProps<D> & {
|
||||||
topActionSlots?: boolean // 是否开启表格内顶部操作栏插槽
|
topActionSlots?: boolean // 是否开启表格内顶部操作栏插槽
|
||||||
treeConfig?: VxeTablePropTypes.TreeConfig // 树形表单配置
|
treeConfig?: VxeTablePropTypes.TreeConfig // 树形表单配置
|
||||||
isList?: boolean // 是否不带分页的list
|
isList?: boolean // 是否不带分页的list
|
||||||
getListApi?: Function
|
getListApi?: Function // 获取列表接口
|
||||||
getAllListApi?: Function
|
getAllListApi?: Function // 获取全部数据接口 用于 vxe 导出
|
||||||
deleteApi?: Function
|
deleteApi?: Function // 删除接口
|
||||||
exportListApi?: Function
|
exportListApi?: Function // 导出接口
|
||||||
exportName?: string // 导出文件夹名称
|
exportName?: string // 导出文件夹名称
|
||||||
params?: any
|
params?: any // 其他查询参数
|
||||||
pagination?: boolean | VxeGridPropTypes.PagerConfig
|
pagination?: boolean | VxeGridPropTypes.PagerConfig // 分页配置参数
|
||||||
toolBar?: boolean | VxeGridPropTypes.ToolbarConfig
|
toolBar?: boolean | VxeGridPropTypes.ToolbarConfig // 右侧工具栏配置参数
|
||||||
afterFetch?: Function
|
|
||||||
}
|
}
|
||||||
export type XColumns = VxeGridPropTypes.Columns
|
export type XColumns = VxeGridPropTypes.Columns
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
type="warning"
|
type="warning"
|
||||||
preIcon="ep:download"
|
preIcon="ep:download"
|
||||||
:title="t('action.export')"
|
:title="t('action.export')"
|
||||||
@click="handleExport()"
|
@click="exportList('错误数据.xls')"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
<template #duration_default="{ row }">
|
<template #duration_default="{ row }">
|
||||||
|
@ -81,10 +81,7 @@ const handleDetail = (row: ApiErrorLogApi.ApiErrorLogVO) => {
|
||||||
dialogTitle.value = t('action.detail')
|
dialogTitle.value = t('action.detail')
|
||||||
dialogVisible.value = true
|
dialogVisible.value = true
|
||||||
}
|
}
|
||||||
// 导出
|
|
||||||
const handleExport = async () => {
|
|
||||||
await exportList('错误数据.xls')
|
|
||||||
}
|
|
||||||
// 异常处理操作
|
// 异常处理操作
|
||||||
const handleProcessClick = (
|
const handleProcessClick = (
|
||||||
row: ApiErrorLogApi.ApiErrorLogVO,
|
row: ApiErrorLogApi.ApiErrorLogVO,
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
preIcon="ep:delete"
|
preIcon="ep:delete"
|
||||||
:title="t('action.del')"
|
:title="t('action.del')"
|
||||||
v-hasPermi="['infra:codegen:delete']"
|
v-hasPermi="['infra:codegen:delete']"
|
||||||
@click="handleDelete(row.id)"
|
@click="deleteData(row.id)"
|
||||||
/>
|
/>
|
||||||
<!-- 操作:同步 -->
|
<!-- 操作:同步 -->
|
||||||
<XTextButton
|
<XTextButton
|
||||||
|
@ -52,7 +52,7 @@
|
||||||
</XTable>
|
</XTable>
|
||||||
</ContentWrap>
|
</ContentWrap>
|
||||||
<!-- 弹窗:导入表 -->
|
<!-- 弹窗:导入表 -->
|
||||||
<ImportTable ref="importRef" @ok="handleQuery()" />
|
<ImportTable ref="importRef" @ok="reload()" />
|
||||||
<!-- 弹窗:预览代码 -->
|
<!-- 弹窗:预览代码 -->
|
||||||
<Preview ref="previewRef" />
|
<Preview ref="previewRef" />
|
||||||
</template>
|
</template>
|
||||||
|
@ -103,17 +103,10 @@ const handleSynchDb = (row: CodegenTableVO) => {
|
||||||
message.success('同步成功')
|
message.success('同步成功')
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 生成代码操作
|
// 生成代码操作
|
||||||
const handleGenTable = async (row: CodegenTableVO) => {
|
const handleGenTable = async (row: CodegenTableVO) => {
|
||||||
const res = await CodegenApi.downloadCodegenApi(row.id)
|
const res = await CodegenApi.downloadCodegenApi(row.id)
|
||||||
download.zip(res, 'codegen-' + row.className + '.zip')
|
download.zip(res, 'codegen-' + row.className + '.zip')
|
||||||
}
|
}
|
||||||
// 删除操作
|
|
||||||
const handleDelete = async (rowId: number) => {
|
|
||||||
await deleteData(rowId)
|
|
||||||
}
|
|
||||||
// 查询操作
|
|
||||||
const handleQuery = async () => {
|
|
||||||
await reload()
|
|
||||||
}
|
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
preIcon="ep:download"
|
preIcon="ep:download"
|
||||||
:title="t('action.export')"
|
:title="t('action.export')"
|
||||||
v-hasPermi="['infra:config:export']"
|
v-hasPermi="['infra:config:export']"
|
||||||
@click="handleExport()"
|
@click="exportList('配置.xls')"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
<template #visible_default="{ row }">
|
<template #visible_default="{ row }">
|
||||||
|
@ -43,7 +43,7 @@
|
||||||
preIcon="ep:delete"
|
preIcon="ep:delete"
|
||||||
:title="t('action.del')"
|
:title="t('action.del')"
|
||||||
v-hasPermi="['infra:config:delete']"
|
v-hasPermi="['infra:config:delete']"
|
||||||
@click="handleDelete(row.id)"
|
@click="deleteData(row.id)"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
</XTable>
|
</XTable>
|
||||||
|
@ -123,11 +123,6 @@ const handleCreate = () => {
|
||||||
setDialogTile('create')
|
setDialogTile('create')
|
||||||
}
|
}
|
||||||
|
|
||||||
// 导出操作
|
|
||||||
const handleExport = async () => {
|
|
||||||
await exportList('配置.xls')
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改操作
|
// 修改操作
|
||||||
const handleUpdate = async (rowId: number) => {
|
const handleUpdate = async (rowId: number) => {
|
||||||
setDialogTile('update')
|
setDialogTile('update')
|
||||||
|
@ -143,11 +138,6 @@ const handleDetail = async (rowId: number) => {
|
||||||
detailData.value = res
|
detailData.value = res
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除操作
|
|
||||||
const handleDelete = async (rowId: number) => {
|
|
||||||
await deleteData(rowId)
|
|
||||||
}
|
|
||||||
|
|
||||||
// 提交按钮
|
// 提交按钮
|
||||||
const submitForm = async () => {
|
const submitForm = async () => {
|
||||||
const elForm = unref(formRef)?.getElFormRef()
|
const elForm = unref(formRef)?.getElFormRef()
|
||||||
|
|
|
@ -31,7 +31,7 @@
|
||||||
preIcon="ep:delete"
|
preIcon="ep:delete"
|
||||||
:title="t('action.del')"
|
:title="t('action.del')"
|
||||||
v-hasPermi="['infra:data-source-config:delete']"
|
v-hasPermi="['infra:data-source-config:delete']"
|
||||||
@click="handleDelete(row.id)"
|
@click="deleteData(row.id)"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
</XTable>
|
</XTable>
|
||||||
|
@ -121,11 +121,6 @@ const handleDetail = async (rowId: number) => {
|
||||||
setDialogTile('detail')
|
setDialogTile('detail')
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除操作
|
|
||||||
const handleDelete = async (rowId: number) => {
|
|
||||||
await deleteData(rowId)
|
|
||||||
}
|
|
||||||
|
|
||||||
// 提交按钮
|
// 提交按钮
|
||||||
const submitForm = async () => {
|
const submitForm = async () => {
|
||||||
const elForm = unref(formRef)?.getElFormRef()
|
const elForm = unref(formRef)?.getElFormRef()
|
||||||
|
|
|
@ -41,7 +41,7 @@
|
||||||
preIcon="ep:delete"
|
preIcon="ep:delete"
|
||||||
:title="t('action.del')"
|
:title="t('action.del')"
|
||||||
v-hasPermi="['infra:file-config:delete']"
|
v-hasPermi="['infra:file-config:delete']"
|
||||||
@click="handleDelete(row.id)"
|
@click="deleteData(row.id)"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
</XTable>
|
</XTable>
|
||||||
|
@ -283,11 +283,6 @@ const handleTest = async (rowId: number) => {
|
||||||
message.alert('测试通过,上传文件成功!访问地址:' + res)
|
message.alert('测试通过,上传文件成功!访问地址:' + res)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除操作
|
|
||||||
const handleDelete = async (rowId: number) => {
|
|
||||||
await deleteData(rowId)
|
|
||||||
}
|
|
||||||
|
|
||||||
// 提交按钮
|
// 提交按钮
|
||||||
const submitForm = async (formEl: FormInstance | undefined) => {
|
const submitForm = async (formEl: FormInstance | undefined) => {
|
||||||
if (!formEl) return
|
if (!formEl) return
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
preIcon="ep:delete"
|
preIcon="ep:delete"
|
||||||
:title="t('action.del')"
|
:title="t('action.del')"
|
||||||
v-hasPermi="['infra:file:delete']"
|
v-hasPermi="['infra:file:delete']"
|
||||||
@click="handleDelete(row.id)"
|
@click="deleteData(row.id)"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
</XTable>
|
</XTable>
|
||||||
|
@ -162,11 +162,6 @@ const handleDetail = (row: FileApi.FileVO) => {
|
||||||
dialogVisible.value = true
|
dialogVisible.value = true
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除操作
|
|
||||||
const handleDelete = async (rowId: number) => {
|
|
||||||
await deleteData(rowId)
|
|
||||||
}
|
|
||||||
|
|
||||||
// ========== 复制相关 ==========
|
// ========== 复制相关 ==========
|
||||||
const handleCopy = async (text: string) => {
|
const handleCopy = async (text: string) => {
|
||||||
const { copy, copied, isSupported } = useClipboard({ source: text })
|
const { copy, copied, isSupported } = useClipboard({ source: text })
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
preIcon="ep:download"
|
preIcon="ep:download"
|
||||||
:title="t('action.export')"
|
:title="t('action.export')"
|
||||||
v-hasPermi="['infra:job:export']"
|
v-hasPermi="['infra:job:export']"
|
||||||
@click="handleExport()"
|
@click="exportList('定时任务详情.xls')"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
<template #beginTime_default="{ row }">
|
<template #beginTime_default="{ row }">
|
||||||
|
@ -77,8 +77,4 @@ const handleDetail = async (row: JobLogApi.JobLogVO) => {
|
||||||
dialogTitle.value = t('action.detail')
|
dialogTitle.value = t('action.detail')
|
||||||
dialogVisible.value = true
|
dialogVisible.value = true
|
||||||
}
|
}
|
||||||
// 导出操作
|
|
||||||
const handleExport = async () => {
|
|
||||||
await exportList('定时任务详情.xls')
|
|
||||||
}
|
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -17,14 +17,14 @@
|
||||||
preIcon="ep:download"
|
preIcon="ep:download"
|
||||||
:title="t('action.export')"
|
:title="t('action.export')"
|
||||||
v-hasPermi="['infra:job:export']"
|
v-hasPermi="['infra:job:export']"
|
||||||
@click="handleExport()"
|
@click="exportList('定时任务.xls')"
|
||||||
/>
|
/>
|
||||||
<XButton
|
<XButton
|
||||||
type="info"
|
type="info"
|
||||||
preIcon="ep:zoom-in"
|
preIcon="ep:zoom-in"
|
||||||
title="执行日志"
|
title="执行日志"
|
||||||
v-hasPermi="['infra:job:query']"
|
v-hasPermi="['infra:job:query']"
|
||||||
@click="handleJobLog"
|
@click="handleJobLog()"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
<template #actionbtns_default="{ row }">
|
<template #actionbtns_default="{ row }">
|
||||||
|
@ -46,7 +46,7 @@
|
||||||
preIcon="ep:delete"
|
preIcon="ep:delete"
|
||||||
:title="t('action.del')"
|
:title="t('action.del')"
|
||||||
v-hasPermi="['infra:job:delete']"
|
v-hasPermi="['infra:job:delete']"
|
||||||
@click="handleDelete(row.id)"
|
@click="deleteData(row.id)"
|
||||||
/>
|
/>
|
||||||
<el-dropdown class="p-0.5" v-hasPermi="['infra:job:trigger', 'infra:job:query']">
|
<el-dropdown class="p-0.5" v-hasPermi="['infra:job:trigger', 'infra:job:query']">
|
||||||
<XTextButton :title="t('action.more')" postIcon="ep:arrow-down" />
|
<XTextButton :title="t('action.more')" postIcon="ep:arrow-down" />
|
||||||
|
@ -179,11 +179,6 @@ const handleCreate = () => {
|
||||||
setDialogTile('create')
|
setDialogTile('create')
|
||||||
}
|
}
|
||||||
|
|
||||||
// 导出操作
|
|
||||||
const handleExport = async () => {
|
|
||||||
await exportList('定时任务.xls')
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改操作
|
// 修改操作
|
||||||
const handleUpdate = async (rowId: number) => {
|
const handleUpdate = async (rowId: number) => {
|
||||||
setDialogTile('update')
|
setDialogTile('update')
|
||||||
|
@ -248,10 +243,6 @@ const parseTime = (time) => {
|
||||||
return time_str
|
return time_str
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除操作
|
|
||||||
const handleDelete = async (rowId: number) => {
|
|
||||||
await deleteData(rowId)
|
|
||||||
}
|
|
||||||
const handleChangeStatus = async (row: JobApi.JobVO) => {
|
const handleChangeStatus = async (row: JobApi.JobVO) => {
|
||||||
const text = row.status === InfraJobStatusEnum.STOP ? '开启' : '关闭'
|
const text = row.status === InfraJobStatusEnum.STOP ? '开启' : '关闭'
|
||||||
const status =
|
const status =
|
||||||
|
@ -275,7 +266,7 @@ const handleChangeStatus = async (row: JobApi.JobVO) => {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
// 执行日志
|
// 执行日志
|
||||||
const handleJobLog = (rowId: number) => {
|
const handleJobLog = (rowId?: number) => {
|
||||||
if (rowId) {
|
if (rowId) {
|
||||||
push('/job/job-log?id=' + rowId)
|
push('/job/job-log?id=' + rowId)
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
preIcon="ep:download"
|
preIcon="ep:download"
|
||||||
:title="t('action.export')"
|
:title="t('action.export')"
|
||||||
v-hasPermi="['pay:app:export']"
|
v-hasPermi="['pay:app:export']"
|
||||||
@click="handleExport()"
|
@click="exportList('应用信息.xls')"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
<template #actionbtns_default="{ row }">
|
<template #actionbtns_default="{ row }">
|
||||||
|
@ -40,7 +40,7 @@
|
||||||
preIcon="ep:delete"
|
preIcon="ep:delete"
|
||||||
:title="t('action.del')"
|
:title="t('action.del')"
|
||||||
v-hasPermi="['pay:app:delete']"
|
v-hasPermi="['pay:app:delete']"
|
||||||
@click="handleDelete(row.id)"
|
@click="deleteData(row.id)"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
</XTable>
|
</XTable>
|
||||||
|
@ -115,11 +115,6 @@ const handleCreate = () => {
|
||||||
setDialogTile('create')
|
setDialogTile('create')
|
||||||
}
|
}
|
||||||
|
|
||||||
// 导出操作
|
|
||||||
const handleExport = async () => {
|
|
||||||
await exportList('应用信息.xls')
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改操作
|
// 修改操作
|
||||||
const handleUpdate = async (rowId: number) => {
|
const handleUpdate = async (rowId: number) => {
|
||||||
setDialogTile('update')
|
setDialogTile('update')
|
||||||
|
@ -135,11 +130,6 @@ const handleDetail = async (rowId: number) => {
|
||||||
detailData.value = res
|
detailData.value = res
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除操作
|
|
||||||
const handleDelete = async (rowId: number) => {
|
|
||||||
await deleteData(rowId)
|
|
||||||
}
|
|
||||||
|
|
||||||
// 提交按钮
|
// 提交按钮
|
||||||
const submitForm = async () => {
|
const submitForm = async () => {
|
||||||
const elForm = unref(formRef)?.getElFormRef()
|
const elForm = unref(formRef)?.getElFormRef()
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
preIcon="ep:download"
|
preIcon="ep:download"
|
||||||
:title="t('action.export')"
|
:title="t('action.export')"
|
||||||
v-hasPermi="['pay:merchant:export']"
|
v-hasPermi="['pay:merchant:export']"
|
||||||
@click="handleExport()"
|
@click="exportList('商户列表.xls')"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
<template #actionbtns_default="{ row }">
|
<template #actionbtns_default="{ row }">
|
||||||
|
@ -40,7 +40,7 @@
|
||||||
preIcon="ep:delete"
|
preIcon="ep:delete"
|
||||||
:title="t('action.del')"
|
:title="t('action.del')"
|
||||||
v-hasPermi="['pay:merchant:delete']"
|
v-hasPermi="['pay:merchant:delete']"
|
||||||
@click="handleDelete(row.id)"
|
@click="deleteData(row.id)"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
</XTable>
|
</XTable>
|
||||||
|
@ -113,11 +113,6 @@ const handleCreate = () => {
|
||||||
setDialogTile('create')
|
setDialogTile('create')
|
||||||
}
|
}
|
||||||
|
|
||||||
// 导出操作
|
|
||||||
const handleExport = async () => {
|
|
||||||
await exportList('商户列表.xls')
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改操作
|
// 修改操作
|
||||||
const handleUpdate = async (rowId: number) => {
|
const handleUpdate = async (rowId: number) => {
|
||||||
setDialogTile('update')
|
setDialogTile('update')
|
||||||
|
@ -133,11 +128,6 @@ const handleDetail = async (rowId: number) => {
|
||||||
detailData.value = res
|
detailData.value = res
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除操作
|
|
||||||
const handleDelete = async (rowId: number) => {
|
|
||||||
await deleteData(rowId)
|
|
||||||
}
|
|
||||||
|
|
||||||
// 提交按钮
|
// 提交按钮
|
||||||
const submitForm = async () => {
|
const submitForm = async () => {
|
||||||
const elForm = unref(formRef)?.getElFormRef()
|
const elForm = unref(formRef)?.getElFormRef()
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
preIcon="ep:download"
|
preIcon="ep:download"
|
||||||
:title="t('action.export')"
|
:title="t('action.export')"
|
||||||
v-hasPermi="['pay:order:export']"
|
v-hasPermi="['pay:order:export']"
|
||||||
@click="handleExport()"
|
@click="exportList('订单数据.xls')"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
<template #actionbtns_default="{ row }">
|
<template #actionbtns_default="{ row }">
|
||||||
|
@ -72,10 +72,6 @@ const setDialogTile = (type: string) => {
|
||||||
const handleCreate = () => {
|
const handleCreate = () => {
|
||||||
setDialogTile('create')
|
setDialogTile('create')
|
||||||
}
|
}
|
||||||
// 导出操作
|
|
||||||
const handleExport = async () => {
|
|
||||||
await exportList('订单数据.xls')
|
|
||||||
}
|
|
||||||
|
|
||||||
// 详情操作
|
// 详情操作
|
||||||
const handleDetail = async (rowId: number) => {
|
const handleDetail = async (rowId: number) => {
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
preIcon="ep:download"
|
preIcon="ep:download"
|
||||||
:title="t('action.export')"
|
:title="t('action.export')"
|
||||||
v-hasPermi="['pay:refund:export']"
|
v-hasPermi="['pay:refund:export']"
|
||||||
@click="handleExport()"
|
@click="exportList('退款订单.xls')"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
<template #actionbtns_default="{ row }">
|
<template #actionbtns_default="{ row }">
|
||||||
|
@ -49,11 +49,6 @@ const [registerTable, { exportList }] = useXTable({
|
||||||
exportListApi: RefundApi.exportRefundApi
|
exportListApi: RefundApi.exportRefundApi
|
||||||
})
|
})
|
||||||
|
|
||||||
// 导出操作
|
|
||||||
const handleExport = async () => {
|
|
||||||
await exportList('退款订单.xls')
|
|
||||||
}
|
|
||||||
|
|
||||||
// ========== CRUD 相关 ==========
|
// ========== CRUD 相关 ==========
|
||||||
const dialogVisible = ref(false) // 是否显示弹出层
|
const dialogVisible = ref(false) // 是否显示弹出层
|
||||||
const detailData = ref() // 详情 Ref
|
const detailData = ref() // 详情 Ref
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<template>
|
<template>
|
||||||
<ContentWrap>
|
<ContentWrap>
|
||||||
<!-- 列表 -->
|
<!-- 列表 -->
|
||||||
<XTable @register="registerTable" show-overflow>
|
<XTable ref="xGrid" @register="registerTable" show-overflow>
|
||||||
<template #toolbar_buttons>
|
<template #toolbar_buttons>
|
||||||
<!-- 操作:新增 -->
|
<!-- 操作:新增 -->
|
||||||
<XButton
|
<XButton
|
||||||
|
@ -11,8 +11,8 @@
|
||||||
v-hasPermi="['system:dept:create']"
|
v-hasPermi="['system:dept:create']"
|
||||||
@click="handleCreate()"
|
@click="handleCreate()"
|
||||||
/>
|
/>
|
||||||
<XButton title="展开所有" @click="xGrid?.setAllTreeExpand(true)" />
|
<XButton title="展开所有" @click="xGrid?.Ref.setAllTreeExpand(true)" />
|
||||||
<XButton title="关闭所有" @click="xGrid?.clearTreeExpand()" />
|
<XButton title="关闭所有" @click="xGrid?.Ref.clearTreeExpand()" />
|
||||||
</template>
|
</template>
|
||||||
<template #leaderUserId_default="{ row }">
|
<template #leaderUserId_default="{ row }">
|
||||||
<span>{{ userNicknameFormat(row) }}</span>
|
<span>{{ userNicknameFormat(row) }}</span>
|
||||||
|
@ -30,7 +30,7 @@
|
||||||
preIcon="ep:delete"
|
preIcon="ep:delete"
|
||||||
:title="t('action.del')"
|
:title="t('action.del')"
|
||||||
v-hasPermi="['system:dept:delete']"
|
v-hasPermi="['system:dept:delete']"
|
||||||
@click="handleDelete(row.id)"
|
@click="deleteData(row.id)"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
</XTable>
|
</XTable>
|
||||||
|
@ -77,7 +77,6 @@
|
||||||
<script setup lang="ts" name="Dept">
|
<script setup lang="ts" name="Dept">
|
||||||
import { nextTick, onMounted, ref, unref } from 'vue'
|
import { nextTick, onMounted, ref, unref } from 'vue'
|
||||||
import { ElSelect, ElTreeSelect, ElOption } from 'element-plus'
|
import { ElSelect, ElTreeSelect, ElOption } from 'element-plus'
|
||||||
import { VxeGridInstance } from 'vxe-table'
|
|
||||||
import { handleTree, defaultProps } from '@/utils/tree'
|
import { handleTree, defaultProps } from '@/utils/tree'
|
||||||
import { useI18n } from '@/hooks/web/useI18n'
|
import { useI18n } from '@/hooks/web/useI18n'
|
||||||
import { useMessage } from '@/hooks/web/useMessage'
|
import { useMessage } from '@/hooks/web/useMessage'
|
||||||
|
@ -90,7 +89,7 @@ import { getListSimpleUsersApi, UserVO } from '@/api/system/user'
|
||||||
const { t } = useI18n() // 国际化
|
const { t } = useI18n() // 国际化
|
||||||
const message = useMessage() // 消息弹窗
|
const message = useMessage() // 消息弹窗
|
||||||
// 列表相关的变量
|
// 列表相关的变量
|
||||||
const xGrid = ref<VxeGridInstance>() // 列表 Grid Ref
|
const xGrid = ref<any>() // 列表 Grid Ref
|
||||||
const treeConfig = {
|
const treeConfig = {
|
||||||
transform: true,
|
transform: true,
|
||||||
rowField: 'id',
|
rowField: 'id',
|
||||||
|
@ -174,11 +173,6 @@ const submitForm = async () => {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除操作
|
|
||||||
const handleDelete = async (rowId: number) => {
|
|
||||||
await deleteData(rowId)
|
|
||||||
}
|
|
||||||
|
|
||||||
const userNicknameFormat = (row) => {
|
const userNicknameFormat = (row) => {
|
||||||
if (!row || !row.leaderUserId) {
|
if (!row || !row.leaderUserId) {
|
||||||
return '未设置'
|
return '未设置'
|
||||||
|
|
|
@ -31,7 +31,7 @@
|
||||||
preIcon="ep:delete"
|
preIcon="ep:delete"
|
||||||
:title="t('action.del')"
|
:title="t('action.del')"
|
||||||
v-hasPermi="['system:dict:delete']"
|
v-hasPermi="['system:dict:delete']"
|
||||||
@click="handleTypeDelete(row.id)"
|
@click="typeDeleteData(row.id)"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
</XTable>
|
</XTable>
|
||||||
|
@ -74,7 +74,7 @@
|
||||||
v-hasPermi="['system:dict:delete']"
|
v-hasPermi="['system:dict:delete']"
|
||||||
preIcon="ep:delete"
|
preIcon="ep:delete"
|
||||||
:title="t('action.del')"
|
:title="t('action.del')"
|
||||||
@click="handleDataDelete(row.id)"
|
@click="dataDeleteData(row.id)"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
</XTable>
|
</XTable>
|
||||||
|
@ -202,15 +202,6 @@ const setDialogTile = (type: string) => {
|
||||||
dialogVisible.value = true
|
dialogVisible.value = true
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除操作
|
|
||||||
const handleTypeDelete = async (rowId: number) => {
|
|
||||||
await typeDeleteData(rowId)
|
|
||||||
}
|
|
||||||
|
|
||||||
const handleDataDelete = async (rowId: number) => {
|
|
||||||
await dataDeleteData(rowId)
|
|
||||||
}
|
|
||||||
|
|
||||||
// 提交按钮
|
// 提交按钮
|
||||||
const submitTypeForm = async () => {
|
const submitTypeForm = async () => {
|
||||||
const elForm = unref(typeFormRef)?.getElFormRef()
|
const elForm = unref(typeFormRef)?.getElFormRef()
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
preIcon="ep:delete"
|
preIcon="ep:delete"
|
||||||
:title="t('action.del')"
|
:title="t('action.del')"
|
||||||
v-hasPermi="['system:error-code:delete']"
|
v-hasPermi="['system:error-code:delete']"
|
||||||
@click="handleDelete(row.id)"
|
@click="deleteData(row.id)"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
</XTable>
|
</XTable>
|
||||||
|
@ -121,11 +121,6 @@ const handleDetail = async (rowId: number) => {
|
||||||
detailData.value = res
|
detailData.value = res
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除操作
|
|
||||||
const handleDelete = async (rowId: number) => {
|
|
||||||
await deleteData(rowId)
|
|
||||||
}
|
|
||||||
|
|
||||||
// 提交新增/修改的表单
|
// 提交新增/修改的表单
|
||||||
const submitForm = async () => {
|
const submitForm = async () => {
|
||||||
const elForm = unref(formRef)?.getElFormRef()
|
const elForm = unref(formRef)?.getElFormRef()
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
type="warning"
|
type="warning"
|
||||||
preIcon="ep:download"
|
preIcon="ep:download"
|
||||||
:title="t('action.export')"
|
:title="t('action.export')"
|
||||||
@click="handleExport()"
|
@click="exportList('登录列表.xls')"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
<template #actionbtns_default="{ row }">
|
<template #actionbtns_default="{ row }">
|
||||||
|
@ -54,9 +54,4 @@ const handleDetail = async (row: LoginLogVO) => {
|
||||||
detailData.value = row
|
detailData.value = row
|
||||||
dialogVisible.value = true
|
dialogVisible.value = true
|
||||||
}
|
}
|
||||||
|
|
||||||
// 导出操作
|
|
||||||
const handleExport = async () => {
|
|
||||||
await exportList('登录列表.xls')
|
|
||||||
}
|
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
<template>
|
<template>
|
||||||
<ContentWrap>
|
<ContentWrap>
|
||||||
<!-- 列表 -->
|
<!-- 列表 -->
|
||||||
<XTable @register="registerTable" show-overflow>
|
<XTable ref="xGrid" @register="registerTable" show-overflow>
|
||||||
<template #toolbar_buttons>
|
<template #toolbar_buttons>
|
||||||
<!-- 操作:新增 -->
|
<!-- 操作:新增 -->
|
||||||
<XButton
|
<XButton
|
||||||
|
@ -11,8 +11,8 @@
|
||||||
v-hasPermi="['system:menu:create']"
|
v-hasPermi="['system:menu:create']"
|
||||||
@click="handleCreate()"
|
@click="handleCreate()"
|
||||||
/>
|
/>
|
||||||
<XButton title="展开所有" @click="xGrid?.setAllTreeExpand(true)" />
|
<XButton title="展开所有" @click="xGrid?.Ref.setAllTreeExpand(true)" />
|
||||||
<XButton title="关闭所有" @click="xGrid?.clearTreeExpand()" />
|
<XButton title="关闭所有" @click="xGrid?.Ref.clearTreeExpand()" />
|
||||||
</template>
|
</template>
|
||||||
<template #name_default="{ row }">
|
<template #name_default="{ row }">
|
||||||
<Icon :icon="row.icon" />
|
<Icon :icon="row.icon" />
|
||||||
|
@ -31,7 +31,7 @@
|
||||||
preIcon="ep:delete"
|
preIcon="ep:delete"
|
||||||
:title="t('action.del')"
|
:title="t('action.del')"
|
||||||
v-hasPermi="['system:menu:delete']"
|
v-hasPermi="['system:menu:delete']"
|
||||||
@click="handleDelete(row.id)"
|
@click="deleteData(row.id)"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
</XTable>
|
</XTable>
|
||||||
|
@ -194,7 +194,6 @@ import {
|
||||||
} from 'element-plus'
|
} from 'element-plus'
|
||||||
import { Tooltip } from '@/components/Tooltip'
|
import { Tooltip } from '@/components/Tooltip'
|
||||||
import { IconSelect } from '@/components/Icon'
|
import { IconSelect } from '@/components/Icon'
|
||||||
import { VxeGridInstance } from 'vxe-table'
|
|
||||||
// 业务相关的 import
|
// 业务相关的 import
|
||||||
import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
|
import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
|
||||||
import { SystemMenuTypeEnum, CommonStatusEnum } from '@/utils/constants'
|
import { SystemMenuTypeEnum, CommonStatusEnum } from '@/utils/constants'
|
||||||
|
@ -206,9 +205,10 @@ import { useXTable } from '@/hooks/web/useXTable'
|
||||||
const { t } = useI18n() // 国际化
|
const { t } = useI18n() // 国际化
|
||||||
const message = useMessage() // 消息弹窗
|
const message = useMessage() // 消息弹窗
|
||||||
const { wsCache } = useCache()
|
const { wsCache } = useCache()
|
||||||
|
|
||||||
|
const xGrid = ref<any>(null)
|
||||||
|
|
||||||
// 列表相关的变量
|
// 列表相关的变量
|
||||||
// 列表相关的变量
|
|
||||||
const xGrid = ref<VxeGridInstance>() // 列表 Grid Ref
|
|
||||||
const treeConfig = {
|
const treeConfig = {
|
||||||
transform: true,
|
transform: true,
|
||||||
rowField: 'id',
|
rowField: 'id',
|
||||||
|
@ -334,10 +334,4 @@ const submitForm = async () => {
|
||||||
const isExternal = (path: string) => {
|
const isExternal = (path: string) => {
|
||||||
return /^(https?:|mailto:|tel:)/.test(path)
|
return /^(https?:|mailto:|tel:)/.test(path)
|
||||||
}
|
}
|
||||||
|
|
||||||
// ========== 删除 ==========
|
|
||||||
// 删除操作
|
|
||||||
const handleDelete = async (rowId: number) => {
|
|
||||||
await deleteData(rowId)
|
|
||||||
}
|
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
preIcon="ep:delete"
|
preIcon="ep:delete"
|
||||||
:title="t('action.del')"
|
:title="t('action.del')"
|
||||||
v-hasPermi="['system:notice:delete']"
|
v-hasPermi="['system:notice:delete']"
|
||||||
@click="handleDelete(row.id)"
|
@click="deleteData(row.id)"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
</XTable>
|
</XTable>
|
||||||
|
@ -126,11 +126,6 @@ const handleDetail = async (rowId: number) => {
|
||||||
detailData.value = res
|
detailData.value = res
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除操作
|
|
||||||
const handleDelete = async (rowId: number) => {
|
|
||||||
await deleteData(rowId)
|
|
||||||
}
|
|
||||||
|
|
||||||
// 提交新增/修改的表单
|
// 提交新增/修改的表单
|
||||||
const submitForm = async () => {
|
const submitForm = async () => {
|
||||||
const elForm = unref(formRef)?.getElFormRef()
|
const elForm = unref(formRef)?.getElFormRef()
|
||||||
|
|
|
@ -48,7 +48,7 @@
|
||||||
preIcon="ep:delete"
|
preIcon="ep:delete"
|
||||||
:title="t('action.del')"
|
:title="t('action.del')"
|
||||||
v-hasPermi="['system:oauth2-client:delete']"
|
v-hasPermi="['system:oauth2-client:delete']"
|
||||||
@click="handleDelete(row.id)"
|
@click="deleteData(row.id)"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
</XTable>
|
</XTable>
|
||||||
|
@ -184,11 +184,6 @@ const handleDetail = async (rowId: number) => {
|
||||||
detailData.value = res
|
detailData.value = res
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除操作
|
|
||||||
const handleDelete = async (rowId: number) => {
|
|
||||||
await deleteData(rowId)
|
|
||||||
}
|
|
||||||
|
|
||||||
// 提交新增/修改的表单
|
// 提交新增/修改的表单
|
||||||
const submitForm = async () => {
|
const submitForm = async () => {
|
||||||
const elForm = unref(formRef)?.getElFormRef()
|
const elForm = unref(formRef)?.getElFormRef()
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
<template #actionbtns_default="{ row }">
|
<template #actionbtns_default="{ row }">
|
||||||
<!-- 操作:详情 -->
|
<!-- 操作:详情 -->
|
||||||
<XTextButton preIcon="ep:view" :title="t('action.detail')" @click="handleDetail(row)" />
|
<XTextButton preIcon="ep:view" :title="t('action.detail')" @click="handleDetail(row)" />
|
||||||
<!-- 操作:删除 -->
|
<!-- 操作:登出 -->
|
||||||
<XTextButton
|
<XTextButton
|
||||||
preIcon="ep:delete"
|
preIcon="ep:delete"
|
||||||
:title="t('action.logout')"
|
:title="t('action.logout')"
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
preIcon="ep:download"
|
preIcon="ep:download"
|
||||||
:title="t('action.export')"
|
:title="t('action.export')"
|
||||||
v-hasPermi="['system:operate-log:export']"
|
v-hasPermi="['system:operate-log:export']"
|
||||||
@click="handleExport()"
|
@click="exportList('操作日志.xls')"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
<template #duration="{ row }">
|
<template #duration="{ row }">
|
||||||
|
@ -68,9 +68,4 @@ const handleDetail = (row: OperateLogApi.OperateLogVO) => {
|
||||||
detailData.value = row
|
detailData.value = row
|
||||||
dialogVisible.value = true
|
dialogVisible.value = true
|
||||||
}
|
}
|
||||||
|
|
||||||
// 导出操作
|
|
||||||
const handleExport = async () => {
|
|
||||||
await exportList('操作日志.xls')
|
|
||||||
}
|
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
preIcon="ep:download"
|
preIcon="ep:download"
|
||||||
:title="t('action.export')"
|
:title="t('action.export')"
|
||||||
v-hasPermi="['system:post:export']"
|
v-hasPermi="['system:post:export']"
|
||||||
@click="handleExport()"
|
@click="exportList('岗位列表.xls')"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
<template #actionbtns_default="{ row }">
|
<template #actionbtns_default="{ row }">
|
||||||
|
@ -40,7 +40,7 @@
|
||||||
preIcon="ep:delete"
|
preIcon="ep:delete"
|
||||||
:title="t('action.del')"
|
:title="t('action.del')"
|
||||||
v-hasPermi="['system:post:delete']"
|
v-hasPermi="['system:post:delete']"
|
||||||
@click="handleDelete(row.id)"
|
@click="deleteData(row.id)"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
</XTable>
|
</XTable>
|
||||||
|
@ -117,11 +117,6 @@ const handleCreate = () => {
|
||||||
modelLoading.value = false
|
modelLoading.value = false
|
||||||
}
|
}
|
||||||
|
|
||||||
// 导出操作
|
|
||||||
const handleExport = async () => {
|
|
||||||
await exportList('岗位列表.xls')
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改操作
|
// 修改操作
|
||||||
const handleUpdate = async (rowId: number) => {
|
const handleUpdate = async (rowId: number) => {
|
||||||
setDialogTile('update')
|
setDialogTile('update')
|
||||||
|
@ -139,11 +134,6 @@ const handleDetail = async (rowId: number) => {
|
||||||
modelLoading.value = false
|
modelLoading.value = false
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除操作
|
|
||||||
const handleDelete = async (rowId: number) => {
|
|
||||||
await deleteData(rowId)
|
|
||||||
}
|
|
||||||
|
|
||||||
// 提交新增/修改的表单
|
// 提交新增/修改的表单
|
||||||
const submitForm = async () => {
|
const submitForm = async () => {
|
||||||
const elForm = unref(formRef)?.getElFormRef()
|
const elForm = unref(formRef)?.getElFormRef()
|
||||||
|
|
|
@ -46,7 +46,7 @@
|
||||||
preIcon="ep:delete"
|
preIcon="ep:delete"
|
||||||
:title="t('action.del')"
|
:title="t('action.del')"
|
||||||
v-hasPermi="['system:role:delete']"
|
v-hasPermi="['system:role:delete']"
|
||||||
@click="handleDelete(row.id)"
|
@click="deleteData(row.id)"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
</XTable>
|
</XTable>
|
||||||
|
@ -217,11 +217,6 @@ const handleDetail = async (rowId: number) => {
|
||||||
detailData.value = res
|
detailData.value = res
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除操作
|
|
||||||
const handleDelete = async (rowId: number) => {
|
|
||||||
await deleteData(rowId)
|
|
||||||
}
|
|
||||||
|
|
||||||
// 提交按钮
|
// 提交按钮
|
||||||
const submitForm = async () => {
|
const submitForm = async () => {
|
||||||
const elForm = unref(formRef)?.getElFormRef()
|
const elForm = unref(formRef)?.getElFormRef()
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
preIcon="ep:download"
|
preIcon="ep:download"
|
||||||
:title="t('action.export')"
|
:title="t('action.export')"
|
||||||
v-hasPermi="['system:sensitive-word:export']"
|
v-hasPermi="['system:sensitive-word:export']"
|
||||||
@click="handleExport()"
|
@click="exportList('敏感词数据.xls')"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
<template #tags_default="{ row }">
|
<template #tags_default="{ row }">
|
||||||
|
@ -50,7 +50,7 @@
|
||||||
preIcon="ep:delete"
|
preIcon="ep:delete"
|
||||||
:title="t('action.del')"
|
:title="t('action.del')"
|
||||||
v-hasPermi="['system:sensitive-word:delete']"
|
v-hasPermi="['system:sensitive-word:delete']"
|
||||||
@click="handleDelete(row.id)"
|
@click="deleteData(row.id)"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
</XTable>
|
</XTable>
|
||||||
|
@ -147,11 +147,6 @@ const handleCreate = () => {
|
||||||
setDialogTile('create')
|
setDialogTile('create')
|
||||||
}
|
}
|
||||||
|
|
||||||
// 导出操作
|
|
||||||
const handleExport = async () => {
|
|
||||||
await exportList('敏感词数据.xls')
|
|
||||||
}
|
|
||||||
|
|
||||||
// 修改操作
|
// 修改操作
|
||||||
const handleUpdate = async (rowId: number) => {
|
const handleUpdate = async (rowId: number) => {
|
||||||
setDialogTile('update')
|
setDialogTile('update')
|
||||||
|
@ -167,11 +162,6 @@ const handleDetail = async (rowId: number) => {
|
||||||
detailData.value = res
|
detailData.value = res
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除操作
|
|
||||||
const handleDelete = async (rowId: number) => {
|
|
||||||
await deleteData(rowId)
|
|
||||||
}
|
|
||||||
|
|
||||||
// 提交按钮
|
// 提交按钮
|
||||||
const submitForm = async () => {
|
const submitForm = async () => {
|
||||||
const elForm = unref(formRef)?.getElFormRef()
|
const elForm = unref(formRef)?.getElFormRef()
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
preIcon="ep:delete"
|
preIcon="ep:delete"
|
||||||
:title="t('action.del')"
|
:title="t('action.del')"
|
||||||
v-hasPermi="['system:sms-channel:delete']"
|
v-hasPermi="['system:sms-channel:delete']"
|
||||||
@click="handleDelete(row.id)"
|
@click="deleteData(row.id)"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
</XTable>
|
</XTable>
|
||||||
|
@ -123,11 +123,6 @@ const handleDetail = async (rowId: number) => {
|
||||||
detailData.value = res
|
detailData.value = res
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除操作
|
|
||||||
const handleDelete = async (rowId: number) => {
|
|
||||||
await deleteData(rowId)
|
|
||||||
}
|
|
||||||
|
|
||||||
// 提交按钮
|
// 提交按钮
|
||||||
const submitForm = async () => {
|
const submitForm = async () => {
|
||||||
const elForm = unref(formRef)?.getElFormRef()
|
const elForm = unref(formRef)?.getElFormRef()
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
type="warning"
|
type="warning"
|
||||||
preIcon="ep:download"
|
preIcon="ep:download"
|
||||||
:title="t('action.export')"
|
:title="t('action.export')"
|
||||||
@click="handleExport()"
|
@click="exportList('短信日志.xls')"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
<template #actionbtns_default="{ row }">
|
<template #actionbtns_default="{ row }">
|
||||||
|
@ -57,9 +57,4 @@ const handleDetail = (row: SmsLoglApi.SmsLogVO) => {
|
||||||
detailData.value = row
|
detailData.value = row
|
||||||
dialogVisible.value = true
|
dialogVisible.value = true
|
||||||
}
|
}
|
||||||
|
|
||||||
// 导出操作
|
|
||||||
const handleExport = async () => {
|
|
||||||
await exportList('短信日志.xls')
|
|
||||||
}
|
|
||||||
</script>
|
</script>
|
||||||
|
|
|
@ -38,7 +38,7 @@
|
||||||
preIcon="ep:delete"
|
preIcon="ep:delete"
|
||||||
:title="t('action.del')"
|
:title="t('action.del')"
|
||||||
v-hasPermi="['system:sms-template:delete']"
|
v-hasPermi="['system:sms-template:delete']"
|
||||||
@click="handleDelete(row.id)"
|
@click="deleteData(row.id)"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
</XTable>
|
</XTable>
|
||||||
|
@ -166,11 +166,6 @@ const handleDetail = async (rowId: number) => {
|
||||||
detailData.value = res
|
detailData.value = res
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除操作
|
|
||||||
const handleDelete = async (rowId: number) => {
|
|
||||||
await deleteData(rowId)
|
|
||||||
}
|
|
||||||
|
|
||||||
// 提交按钮
|
// 提交按钮
|
||||||
const submitForm = async () => {
|
const submitForm = async () => {
|
||||||
const elForm = unref(formRef)?.getElFormRef()
|
const elForm = unref(formRef)?.getElFormRef()
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
preIcon="ep:download"
|
preIcon="ep:download"
|
||||||
:title="t('action.export')"
|
:title="t('action.export')"
|
||||||
v-hasPermi="['system:tenant:export']"
|
v-hasPermi="['system:tenant:export']"
|
||||||
@click="handleExport()"
|
@click="exportList('租户列表.xls')"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
<template #accountCount_default="{ row }">
|
<template #accountCount_default="{ row }">
|
||||||
|
@ -46,7 +46,7 @@
|
||||||
preIcon="ep:delete"
|
preIcon="ep:delete"
|
||||||
:title="t('action.del')"
|
:title="t('action.del')"
|
||||||
v-hasPermi="['system:tenant:delete']"
|
v-hasPermi="['system:tenant:delete']"
|
||||||
@click="handleDelete(row.id)"
|
@click="deleteData(row.id)"
|
||||||
/>
|
/>
|
||||||
</template>
|
</template>
|
||||||
</XTable>
|
</XTable>
|
||||||
|
@ -149,16 +149,6 @@ const handleDetail = async (rowId: number) => {
|
||||||
setDialogTile('detail')
|
setDialogTile('detail')
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除操作
|
|
||||||
const handleDelete = async (rowId: number) => {
|
|
||||||
await deleteData(rowId)
|
|
||||||
}
|
|
||||||
|
|
||||||
// 导出操作
|
|
||||||
const handleExport = async () => {
|
|
||||||
await exportList('租户列表.xls')
|
|
||||||
}
|
|
||||||
|
|
||||||
// 提交按钮
|
// 提交按钮
|
||||||
const submitForm = async () => {
|
const submitForm = async () => {
|
||||||
const elForm = unref(formRef)?.getElFormRef()
|
const elForm = unref(formRef)?.getElFormRef()
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
</template>
|
</template>
|
||||||
<template #actionbtns_default="{ row }">
|
<template #actionbtns_default="{ row }">
|
||||||
<XTextButton preIcon="ep:edit" :title="t('action.edit')" @click="handleUpdate(row.id)" />
|
<XTextButton preIcon="ep:edit" :title="t('action.edit')" @click="handleUpdate(row.id)" />
|
||||||
<XTextButton preIcon="ep:delete" :title="t('action.del')" @click="handleDelete(row.id)" />
|
<XTextButton preIcon="ep:delete" :title="t('action.del')" @click="deleteData(row.id)" />
|
||||||
</template>
|
</template>
|
||||||
</XTable>
|
</XTable>
|
||||||
</ContentWrap>
|
</ContentWrap>
|
||||||
|
@ -132,11 +132,6 @@ const handleUpdate = async (rowId: number) => {
|
||||||
unref(treeRef)?.setCheckedKeys(res.menuIds)
|
unref(treeRef)?.setCheckedKeys(res.menuIds)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 删除操作
|
|
||||||
const handleDelete = async (rowId: number) => {
|
|
||||||
await deleteData(rowId)
|
|
||||||
}
|
|
||||||
|
|
||||||
// 提交按钮
|
// 提交按钮
|
||||||
const submitForm = async () => {
|
const submitForm = async () => {
|
||||||
const elForm = unref(formRef)?.getElFormRef()
|
const elForm = unref(formRef)?.getElFormRef()
|
||||||
|
@ -147,7 +142,11 @@ const submitForm = async () => {
|
||||||
// 提交请求
|
// 提交请求
|
||||||
try {
|
try {
|
||||||
const data = unref(formRef)?.formModel as TenantPackageApi.TenantPackageVO
|
const data = unref(formRef)?.formModel as TenantPackageApi.TenantPackageVO
|
||||||
data.menuIds = treeRef.value!.getCheckedKeys(false) as number[]
|
data.menuIds = [
|
||||||
|
...(treeRef.value!.getCheckedKeys(false) as unknown as Array<number>),
|
||||||
|
...(treeRef.value!.getHalfCheckedKeys() as unknown as Array<number>)
|
||||||
|
]
|
||||||
|
console.info(data.menuIds)
|
||||||
if (actionType.value === 'create') {
|
if (actionType.value === 'create') {
|
||||||
await TenantPackageApi.createTenantPackageTypeApi(data)
|
await TenantPackageApi.createTenantPackageTypeApi(data)
|
||||||
message.success(t('common.createSuccess'))
|
message.success(t('common.createSuccess'))
|
||||||
|
|
|
@ -112,7 +112,7 @@
|
||||||
preIcon="ep:delete"
|
preIcon="ep:delete"
|
||||||
:title="t('action.del')"
|
:title="t('action.del')"
|
||||||
v-hasPermi="['system:user:delete']"
|
v-hasPermi="['system:user:delete']"
|
||||||
@click="handleDelete(row.id)"
|
@click="deleteData(row.id)"
|
||||||
/>
|
/>
|
||||||
</el-dropdown-item>
|
</el-dropdown-item>
|
||||||
</el-dropdown-menu>
|
</el-dropdown-menu>
|
||||||
|
@ -405,10 +405,7 @@ const handleDetail = async (rowId: number) => {
|
||||||
detailData.value = res
|
detailData.value = res
|
||||||
await setDialogTile('detail')
|
await setDialogTile('detail')
|
||||||
}
|
}
|
||||||
// 删除操作
|
|
||||||
const handleDelete = async (rowId: number) => {
|
|
||||||
await deleteData(rowId)
|
|
||||||
}
|
|
||||||
// 提交按钮
|
// 提交按钮
|
||||||
const submitForm = async () => {
|
const submitForm = async () => {
|
||||||
loading.value = true
|
loading.value = true
|
||||||
|
|
Loading…
Reference in New Issue