Loading...
Loading...
Vue 3 coding guidelines and best practices with Dedsi UI components
npx skill4agent add dedsiteam/dedsi-skills dedsi-vue3-coding| Rule | Impact | Description |
|---|---|---|
| api-service-patterns.md | HIGH | API service class definitions and standard methods |
| Rule | Impact | Description |
|---|---|---|
| view-component-patterns.md | HIGH | Page component structure and state management |
| component-mapping.md | HIGH | Dedsi UI component mapping |
| icon-usage.md | MEDIUM | Icon usage guidelines |
| Rule | Impact | Description |
|---|---|---|
| table-data-handling.md | HIGH | Table data loading and pagination |
| form-handling.md | HIGH | Form state and submission handling |
| form-validation.md | HIGH | Form validation rules |
| delete-operations.md | MEDIUM | Delete operations and confirmation |
| view-detail-modal.md | MEDIUM | Detail view modal |
| Rule | Impact | Description |
|---|---|---|
| code-templates.md | MEDIUM | Standard API Service and View component templates |
dedsi-dedsi-buttondedsi-table@ant-design/icons-vuedayjsAxiosRequestsrc/
├── apiServices/ # API Service Layer
│ ├── identitys/ # Identity Authentication Service
│ │ ├── userService.ts
│ │ ├── types.ts
│ │ └── index.ts
│ └── index.ts # Unified Export
├── components/ # Reusable Components
├── configs/ # Configuration Files
├── layouts/ # Layout Components
├── router/ # Router Configuration
├── stores/ # Pinia State Management
├── utils/ # Utility Functions
├── views/ # Page Views
└── App.vuededsi-<script setup lang="ts">DedsiMessagesrc/apiServices/{module}/classtypes.tspagedQuerygetcreateupdatedelete<script setup lang="ts">
import { reactive, ref, onMounted } from 'vue'
</script>dedsi-carddedsi-formdedsi-carddedsi-tablededsi-modaldedsi-form// Table Data
const tableLoading = ref(false)
const tableData = ref<Dto[]>()
// Pagination Configuration
const pagination = reactive({
current: 1,
pageSize: 10,
total: 0
})
// Query Parameters
const queryParam = reactive<Partial<InputDto>>({ ... })
// Modal Form
const modalVisible = ref(false)
const formState = reactive<any>({ ... })slotdayjstemplate #actionsfetchDatatry-catchtableLoading.value = falsefinallyObject.assign(formState, detail)formStateidformRef:rulesformRef.value?.validate()formRef.value?.clearValidate()@ant-design/icons-vue<template #icon>dedsi-popconfirmdedsi-typography:copyable