Explorar el Código

refactor: 轮播图类型改造100%

zlong hace 1 año
padre
commit
cda60022be

+ 2 - 2
src/api/carousal.ts

@@ -1,6 +1,6 @@
 import httpClient from './httpClient'
 import type {
-  CarousalResult,
+  CarousalResult, Carousals,
   CreateCarousalsRequest,
   SearchCarousalsFilter,
   UpdateCarousalsRequest
@@ -13,7 +13,7 @@ export const createCarousal = (createCarousalsRequest: CreateCarousalsRequest) =
 }
 
 export const searchCarousals = (searchCarousalsFilter: SearchCarousalsFilter) => {
-  return httpClient.get<PageResult<CarousalResult>>('/carousals',searchCarousalsFilter)
+  return httpClient.get<PageResult<Carousals>>('/carousals',searchCarousalsFilter)
 }
 export const getCarousalItem = (id:string) => {
   return httpClient.get<CarousalResult>(`/carousals/${id}`)

+ 10 - 6
src/model/carousals.ts

@@ -1,4 +1,4 @@
-import type {BaseModel, PageResult} from '@/model/base'
+import type { AuditBaseModel, BaseModel, Paging } from '@/model/base'
 
 export interface CreateCarousalsRequest {
   imageUrl:string
@@ -6,17 +6,21 @@ export interface CreateCarousalsRequest {
   targetUrl?:string
   targetId?:string
 }
-export interface UpdateCarousalsRequest extends CreateCarousalsRequest{
+export interface Carousals extends AuditBaseModel,CreateCarousalsRequest {
+}
+export interface UpdateCarousalsRequest {
   createBy?:null
   createdTime?:string
   id?:string
   updateBy?:null
   updateTime?:string
+  imageUrl:string
+  targetType:string
+  targetUrl?:string
+  targetId?:string
 }
-export interface SearchCarousalsFilter {
-  page:number,
-  size:number,
-  order?:[string]
+export interface SearchCarousalsFilter extends Partial<Paging> {
+  order?:string
 }
 
 export interface CarousalResult extends BaseModel,CreateCarousalsRequest{

+ 9 - 8
src/pages/carousal/components/CarousalDialog.vue

@@ -30,13 +30,14 @@ import { computed, ref, reactive, watch } from 'vue'
 import type { FormInstanceFunctions } from 'tdesign-vue-next'
 import ImageUpload from '@/components/ImageUpload.vue'
 import { createCarousal, updateCarousalItem } from '@/api/carousal'
-import type {CarousalResult, CreateCarousalsRequest, UpdateCarousalsRequest} from "@/model/carousals";
-// Todo: 改为ts方式
-const props = defineProps<{
-  isEdit?: Boolean | null
-  headerTitle?: String | null
-  carousal: CarousalResult | null
-}>()
+import type {CreateCarousalsRequest, UpdateCarousalsRequest} from "@/model/carousals";
+const props = withDefaults(defineProps<{
+  isEdit?: boolean | null
+  headerTitle?: string | null
+  carousal: CreateCarousalsRequest
+}>(),{
+  headerTitle:''
+})
 const emit = defineEmits<{
   success: [void]
 }>()
@@ -99,7 +100,7 @@ const handleFormTypeData = () => {
 
 watch(
   () => props.carousal,
-  (newClassify: CarousalResult) => {
+  (newClassify: CreateCarousalsRequest) => {
     carousalData.value = Object.assign({}, newClassify)
     const carousalObj = Object.assign({},newClassify)
     imgUrl.value = { url: carousalObj.imageUrl || '' }

+ 7 - 6
src/pages/carousal/index.vue

@@ -5,9 +5,9 @@ import type { BaseTableColumns } from 'tdesign-vue-next'
 import CarousalDialog from '@/pages/carousal/components/CarousalDialog.vue'
 import { activeCarousal, deleteCarousal, searchCarousals, inactiveCarousal } from '@/api/carousal'
 import type {
-  CarousalResult,
+  CarousalResult, Carousals,
   CreateCarousalsRequest,
-  SearchCarousalsFilter
+  SearchCarousalsFilter,
 } from '@/model/carousals'
 import ImagePreviewer from '@/components/ImagePreviewer.vue'
 import { useSearchable } from '@/composables/useSearchable'
@@ -35,15 +35,16 @@ const columns: BaseTableColumns = [
   }
 ]
 
-const { loading, data, pagination, fetchData, onPageChange } = useSearchable<CreateCarousalsRequest, SearchCarousalsFilter>(searchCarousals)
+const { loading, data, pagination, fetchData, onPageChange } = useSearchable<SearchCarousalsFilter,Carousals>(searchCarousals)
 onMounted(fetchData)
 
 
 const carousalDialogVisible = ref<boolean>(false)
 const isEdit = ref<boolean>(false)
-const currentTableData = ref<CreateCarousalsRequest | null>(null)
-
-
+const currentTableData = ref<CreateCarousalsRequest>({
+  imageUrl: '',
+  targetType: ''
+})
 const handleEdit = (row: CarousalResult): void => {
   isEdit.value = true
   currentTableData.value = Object.assign({}, row)