Browse Source

✨ 数据字典类型添加编辑和删除

main-auditlogging 5.1.1.6
王军 5 years ago
parent
commit
ef4344f144
  1. 5
      aspnet-core/modules/DataDictionaryManagement/src/Lion.AbpPro.DataDictionaryManagement.Application/DataDictionaries/DataDictionaryAppService.cs
  2. 1
      aspnet-core/modules/DataDictionaryManagement/src/Lion.AbpPro.DataDictionaryManagement.Application/DataDictionaryManagementApplicationAutoMapperProfile.cs
  3. 3
      aspnet-core/modules/DataDictionaryManagement/src/Lion.AbpPro.DataDictionaryManagement.Domain/DataDictionaries/DataDictionaryManager.cs
  4. 1
      aspnet-core/services/host/Lion.AbpPro.HttpApi.Host/Program.cs
  5. 2
      aspnet-core/services/host/Lion.AbpPro.HttpApi.Host/Properties/launchSettings.json
  6. 63
      docker-compose.yaml
  7. 6
      vben271/src/views/admin/dictionary/AbpDictionary.ts
  8. 4
      vben271/src/views/admin/dictionary/AbpDictionary.vue
  9. 4
      vben271/src/views/admin/dictionary/CreateAbpDictionaryType.vue
  10. 2
      vben271/src/views/admin/dictionary/EditAbpDictionaryType.vue

5
aspnet-core/modules/DataDictionaryManagement/src/Lion.AbpPro.DataDictionaryManagement.Application/DataDictionaries/DataDictionaryAppService.cs

@ -3,6 +3,7 @@ using System.Linq;
using System.Threading; using System.Threading;
using System.Threading.Tasks; using System.Threading.Tasks;
using Lion.AbpPro.DataDictionaryManagement.DataDictionaries.Aggregates; using Lion.AbpPro.DataDictionaryManagement.DataDictionaries.Aggregates;
using Lion.AbpPro.DataDictionaryManagement.DataDictionaries.Dto;
using Lion.AbpPro.DataDictionaryManagement.DataDictionaries.Dtos; using Lion.AbpPro.DataDictionaryManagement.DataDictionaries.Dtos;
using Lion.AbpPro.DataDictionaryManagement.Permissions; using Lion.AbpPro.DataDictionaryManagement.Permissions;
using Lion.AbpPro.Extension.Customs.Dtos; using Lion.AbpPro.Extension.Customs.Dtos;
@ -61,7 +62,7 @@ namespace Lion.AbpPro.DataDictionaryManagement.DataDictionaries
public async Task<PagedResultDto<PagingDataDictionaryDetailOutput>> GetPagingDetailListAsync( public async Task<PagedResultDto<PagingDataDictionaryDetailOutput>> GetPagingDetailListAsync(
PagingDataDictionaryDetailInput input) PagingDataDictionaryDetailInput input)
{ {
var entity = await _dataDictionaryRepository.FindByIdAsync(input.DataDictionaryId, true); var entity = await _dataDictionaryRepository.FindByIdAsync(input.DataDictionaryId);
var details = entity.Details var details = entity.Details
.WhereIf(input.Filter.IsNotNullOrWhiteSpace(), e => (e.Code.Contains(input.Filter) || e.DisplayText.Contains(input.Filter))) .WhereIf(input.Filter.IsNotNullOrWhiteSpace(), e => (e.Code.Contains(input.Filter) || e.DisplayText.Contains(input.Filter)))
.OrderBy(e => e.Order) .OrderBy(e => e.Order)
@ -109,6 +110,8 @@ namespace Lion.AbpPro.DataDictionaryManagement.DataDictionaries
input.Order); input.Order);
} }
[Authorize(DataDictionaryManagementPermissions.DataDictionaryManagement.Delete)]
public Task DeleteAsync(DeleteDataDictionaryDetailInput input) public Task DeleteAsync(DeleteDataDictionaryDetailInput input)
{ {
return _dataDictionaryManager.DeleteAsync(input.DataDictionaryId, input.DataDictionayDetailId); return _dataDictionaryManager.DeleteAsync(input.DataDictionaryId, input.DataDictionayDetailId);

1
aspnet-core/modules/DataDictionaryManagement/src/Lion.AbpPro.DataDictionaryManagement.Application/DataDictionaryManagementApplicationAutoMapperProfile.cs

@ -1,5 +1,6 @@
using AutoMapper; using AutoMapper;
using Lion.AbpPro.DataDictionaryManagement.DataDictionaries.Aggregates; using Lion.AbpPro.DataDictionaryManagement.DataDictionaries.Aggregates;
using Lion.AbpPro.DataDictionaryManagement.DataDictionaries.Dto;
using Lion.AbpPro.DataDictionaryManagement.DataDictionaries.Dtos; using Lion.AbpPro.DataDictionaryManagement.DataDictionaries.Dtos;
namespace Lion.AbpPro.DataDictionaryManagement namespace Lion.AbpPro.DataDictionaryManagement

3
aspnet-core/modules/DataDictionaryManagement/src/Lion.AbpPro.DataDictionaryManagement.Domain/DataDictionaries/DataDictionaryManager.cs

@ -22,6 +22,9 @@ namespace Lion.AbpPro.DataDictionaryManagement.DataDictionaries
_cache = cache; _cache = cache;
} }
public async Task<DataDictionaryDto> FindByIdAsync( public async Task<DataDictionaryDto> FindByIdAsync(
Guid id, Guid id,
CancellationToken cancellationToken = default) CancellationToken cancellationToken = default)

1
aspnet-core/services/host/Lion.AbpPro.HttpApi.Host/Program.cs

@ -23,7 +23,6 @@ namespace Lion.AbpPro
{ {
webBuilder.ConfigureKestrel((context, options) => { options.Limits.MaxRequestBodySize = 1024 * 50; }); webBuilder.ConfigureKestrel((context, options) => { options.Limits.MaxRequestBodySize = 1024 * 50; });
webBuilder.UseStartup<Startup>(); webBuilder.UseStartup<Startup>();
webBuilder.UseUrls("http://localhost:44315");
}) })
.UseSerilog((context, loggerConfiguration) => .UseSerilog((context, loggerConfiguration) =>
{ {

2
aspnet-core/services/host/Lion.AbpPro.HttpApi.Host/Properties/launchSettings.json

@ -5,7 +5,7 @@
"launchBrowser": true, "launchBrowser": true,
"applicationUrl": "http://localhost:44315", "applicationUrl": "http://localhost:44315",
"environmentVariables": { "environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Production" "ASPNETCORE_ENVIRONMENT": "Development"
} }
} }
} }

63
docker-compose.yaml

@ -1,63 +0,0 @@
version: '3'
services:
mysql:
image: mysql:5.7.26
# network_mode: "host" # 如果需要容器使用宿主机IP(内网IP),则可以配置此项
container_name: abp-pro-mysql # 指定容器名称,如果不设置此参数,则由系统自动生成
restart: always # 设置容器自启模式
command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci # 设置utf8字符集
environment:
- TZ=Asia/Shanghai # 设置容器时区与宿主机保持一致
- MYSQL_ROOT_PASSWORD=1q2w3E* # 设置root密码
volumes:
- /etc/localtime:/etc/localtime:ro # 设置容器时区与宿主机保持一致
ports:
- "3307:3306"
networks:
- lionAbpPro
redis:
image: redis:5.0.4
container_name: abp-pro-redis
restart: always
command: redis-server # 启动redis命令
environment:
- TZ=Asia/Shanghai
volumes:
- /etc/localtime:/etc/localtime:ro # 设置容器时区与宿主机保持一致
ports:
- "6380:6379"
networks:
- lionAbpPro
rabbitMq:
image: rabbitmq:management
container_name: abp-pro-rabbitMq
restart: always
ports:
- "5673:5672"
- "15673:15672"
environment:
- RABBITMQ_DEFAULT_USER=admin
- RABBITMQ_DEFAULT_PASS=1q2w3E*
networks:
- lionAbpPro
consul:
image: consul
ports:
- 8300:8300
- 8301:8301
- 8301:8301/udp
- 8302:8302
- 8302:8302/udp
- 8400:8400
- 8500:8500
- 53:53/udp
command: agent -server -bind=0.0.0.0 -client=0.0.0.0 -node=consul_Server1 -bootstrap-expect=1 -ui
networks:
- lionAbpPro
networks:
lionAbpPro:
driver: bridge

6
vben271/src/views/admin/dictionary/AbpDictionary.ts

@ -11,7 +11,7 @@ import {
} from '/@/services/ServiceProxies'; } from '/@/services/ServiceProxies';
import { h } from 'vue'; import { h } from 'vue';
import { Switch } from 'ant-design-vue'; import { Switch } from 'ant-design-vue';
import { debug } from 'console';
const { t } = useI18n(); const { t } = useI18n();
export const tableColumns: BasicColumn[] = [ export const tableColumns: BasicColumn[] = [
{ {
@ -270,6 +270,9 @@ export const editDictionaryTypeFormSchema: FormSchema[] = [
colProps: { colProps: {
span: 22, span: 22,
}, },
componentProps: {
disabled: true,
},
}, },
{ {
field: 'displayText', field: 'displayText',
@ -408,4 +411,3 @@ export async function deleteDictinaryTypeAsync({ Id, reloadType }) {
await _dataDictionaryServiceProxy.deleteDictinaryType(request); await _dataDictionaryServiceProxy.deleteDictinaryType(request);
reloadType(); reloadType();
} }

4
vben271/src/views/admin/dictionary/AbpDictionary.vue

@ -65,10 +65,10 @@
/> />
</template> </template>
</BasicTable> </BasicTable>
<CreateAbpDictionaryType @reloadType="reloadType" @register="registerCreateType" /> <CreateAbpDictionaryType @register="registerCreateType" @reload="reloadType" />
<CreateAbpDictionary @register="registerCreateModal" @reload="reload" /> <CreateAbpDictionary @register="registerCreateModal" @reload="reload" />
<EditAbpDictionary @register="registerEditModal" @reload="reload" /> <EditAbpDictionary @register="registerEditModal" @reload="reload" />
<EditAbpDictionaryType @register="registerEditTypeModal" @reload="reload" /> <EditAbpDictionaryType @register="registerEditTypeModal" @reload="reloadType" />
</PageWrapper> </PageWrapper>
</div> </div>
</template> </template>

4
vben271/src/views/admin/dictionary/CreateAbpDictionaryType.vue

@ -20,7 +20,7 @@
import { BasicForm, useForm } from '/@/components/Form/index'; import { BasicForm, useForm } from '/@/components/Form/index';
import { createDictionaryTypeFormSchema, createDictionaryTypeAsync } from './AbpDictionary'; import { createDictionaryTypeFormSchema, createDictionaryTypeAsync } from './AbpDictionary';
export default defineComponent({ export default defineComponent({
name: 'EditDictionary', name: 'CreateAbpDictionaryType',
components: { components: {
BasicModal, BasicModal,
BasicForm, BasicForm,
@ -44,7 +44,7 @@
validate, validate,
resetFields, resetFields,
}); });
emit('reloadType'); emit('reload');
} catch (error) { } catch (error) {
changeOkLoading(false); changeOkLoading(false);
} }

2
vben271/src/views/admin/dictionary/EditAbpDictionaryType.vue

@ -47,7 +47,7 @@
try { try {
let request = getFieldsValue(); let request = getFieldsValue();
await editDictionaryTypeAsync({ request, changeOkLoading, validate, closeModal }); await editDictionaryTypeAsync({ request, changeOkLoading, validate, closeModal });
emit('reloadType'); emit('reload');
} catch (error) { } catch (error) {
changeOkLoading(false); changeOkLoading(false);
} }

Loading…
Cancel
Save