zlong 1 год назад
Родитель
Сommit
0e521db11e
5 измененных файлов с 28 добавлено и 22 удалено
  1. 2 0
      components.d.ts
  2. 8 7
      src/api/carousal.ts
  3. 5 4
      src/components/ImageUpload.vue
  4. 4 2
      src/model/carousals.ts
  5. 9 9
      src/pages/carousal/index.vue

+ 2 - 0
components.d.ts

@@ -18,6 +18,8 @@ declare module 'vue' {
     TCard: typeof import('tdesign-vue-next')['Card']
     TCard: typeof import('tdesign-vue-next')['Card']
     TDialog: typeof import('tdesign-vue-next')['Dialog']
     TDialog: typeof import('tdesign-vue-next')['Dialog']
     TDropdown: typeof import('tdesign-vue-next')['Dropdown']
     TDropdown: typeof import('tdesign-vue-next')['Dropdown']
+    TForm: typeof import('tdesign-vue-next')['Form']
+    TFormItem: typeof import('tdesign-vue-next')['FormItem']
     THeader: typeof import('tdesign-vue-next')['Header']
     THeader: typeof import('tdesign-vue-next')['Header']
     TIcon: typeof import('tdesign-vue-next')['Icon']
     TIcon: typeof import('tdesign-vue-next')['Icon']
     TImageViewer: typeof import('tdesign-vue-next')['ImageViewer']
     TImageViewer: typeof import('tdesign-vue-next')['ImageViewer']

+ 8 - 7
src/api/carousal.ts

@@ -1,19 +1,20 @@
 import httpClient from './httpClient'
 import httpClient from './httpClient'
-import type { CreateCarousalsRequest, GetCarousalsRequest } from '@/model/carousals'
+import type { CarousalResult, CreateCarousalsRequest, GetCarousalsRequest } from '@/model/carousals'
+import type { PageResult } from '@/model/base'
 
 
 export const createCarousal = (createCarousalsRequest: CreateCarousalsRequest) => {
 export const createCarousal = (createCarousalsRequest: CreateCarousalsRequest) => {
-  return httpClient.post('/carousals', createCarousalsRequest)
+  return httpClient.post<PageResult<CarousalResult>>('/carousals', createCarousalsRequest)
 }
 }
 
 
 export const getCarousalList = (getCarousalsRequest:GetCarousalsRequest) => {
 export const getCarousalList = (getCarousalsRequest:GetCarousalsRequest) => {
-  return httpClient.get('/carousals',getCarousalsRequest)
+  return httpClient.get<PageResult<CarousalResult>>('/carousals',getCarousalsRequest)
 }
 }
 export const getCarousalItem = (id:string) => {
 export const getCarousalItem = (id:string) => {
-  return httpClient.get(`/carousals/${id}`)
+  return httpClient.get<CarousalResult>(`/carousals/${id}`)
 }
 }
 
 
 export const updateCarousalItem = (id:number,updateCarousalsRequest: CreateCarousalsRequest) => {
 export const updateCarousalItem = (id:number,updateCarousalsRequest: CreateCarousalsRequest) => {
-  return httpClient.put(`/carousals/${id}`,updateCarousalsRequest)
+  return httpClient.put<CarousalResult>(`/carousals/${id}`,updateCarousalsRequest)
 }
 }
 
 
 export const deleteCarousal = (id:string | number) => {
 export const deleteCarousal = (id:string | number) => {
@@ -21,9 +22,9 @@ export const deleteCarousal = (id:string | number) => {
 }
 }
 
 
 export const activeCarousal = (id: string | number) => {
 export const activeCarousal = (id: string | number) => {
-  return httpClient.put(`/carousals/${id}/active`)
+  return httpClient.put<CarousalResult>(`/carousals/${id}/active`)
 }
 }
 
 
 export const inactiveCarousal = (id: string | number ) => {
 export const inactiveCarousal = (id: string | number ) => {
-  return httpClient.put(`/carousals/${id}/inactive`)
+  return httpClient.put<CarousalResult>(`/carousals/${id}/inactive`)
 }
 }

+ 5 - 4
src/components/ImageUpload.vue

@@ -10,10 +10,10 @@ const sizeLimit = ref<UploadProps['sizeLimit']>({
   unit: 'MB',
   unit: 'MB',
 });
 });
 const file1 = ref<UploadProps['value']>([]);
 const file1 = ref<UploadProps['value']>([]);
-const disabled = ref(false);
-const autoUpload = ref(true);
-const showImageFileName = ref(true);
-const uploadAllFilesInOneRequest = ref(false);
+const disabled = ref<boolean>(false);
+const autoUpload = ref<boolean>(true);
+const showImageFileName = ref<boolean>(true);
+const uploadAllFilesInOneRequest = ref<boolean>(false);
 const handleFail: UploadProps['onFail'] = ({ file }) => {
 const handleFail: UploadProps['onFail'] = ({ file }) => {
   MessagePlugin.error(`文件 ${file.name} 上传失败`);
   MessagePlugin.error(`文件 ${file.name} 上传失败`);
 };
 };
@@ -36,6 +36,7 @@ const props = defineProps({
     }
     }
   }
   }
 })
 })
+
 const emits = defineEmits(['on-success'])
 const emits = defineEmits(['on-success'])
 watch(() => props.imageUrl,(newVal) => {
 watch(() => props.imageUrl,(newVal) => {
   if(newVal){
   if(newVal){

+ 4 - 2
src/model/carousals.ts

@@ -1,8 +1,7 @@
 import type { BaseModel } from '@/model/base'
 import type { BaseModel } from '@/model/base'
 
 
-export interface CreateCarousalsRequest extends BaseModel{
+export interface CreateCarousalsRequest {
   imageUrl:string,
   imageUrl:string,
-  status:string,
   targetType:string,
   targetType:string,
   targetUrl?:string,
   targetUrl?:string,
   targetId?:string
   targetId?:string
@@ -13,3 +12,6 @@ export interface GetCarousalsRequest {
   order?:[string]
   order?:[string]
 }
 }
 
 
+export interface CarousalResult extends BaseModel,CreateCarousalsRequest{
+  status:string
+}

+ 9 - 9
src/pages/carousal/index.vue

@@ -5,6 +5,7 @@ import type { BaseTableColumns } from 'tdesign-vue-next'
 import CarousalDialog from '@/pages/carousal/components/CarousalDialog.vue'
 import CarousalDialog from '@/pages/carousal/components/CarousalDialog.vue'
 import { activeCarousal, deleteCarousal, getCarousalList, inactiveCarousal } from '@/api/carousal'
 import { activeCarousal, deleteCarousal, getCarousalList, inactiveCarousal } from '@/api/carousal'
 import { BrowseIcon } from 'tdesign-icons-vue-next'
 import { BrowseIcon } from 'tdesign-icons-vue-next'
+import type { CarousalResult } from '@/model/carousals'
 
 
 const columns: BaseTableColumns = [
 const columns: BaseTableColumns = [
   {
   {
@@ -29,7 +30,7 @@ const columns: BaseTableColumns = [
   }
   }
 ]
 ]
 const loading = ref<boolean>(false)
 const loading = ref<boolean>(false)
-const data = ref([])
+const data = ref<CarousalResult[]>([])
 const pagination = reactive<{page:number,size:number,total:number}>({
 const pagination = reactive<{page:number,size:number,total:number}>({
   page: 1,
   page: 1,
   size: 10,
   size: 10,
@@ -41,7 +42,7 @@ const query = reactive<{page:number,size:number}>({
 })
 })
 const carousalDialogVisible = ref<boolean>(false)
 const carousalDialogVisible = ref<boolean>(false)
 const isEdit = ref<boolean>(false)
 const isEdit = ref<boolean>(false)
-const currentTableData = ref<object>({})
+const currentTableData = ref<CarousalResult | {}>({})
 const fetchSaveCarousalData = async () :Promise<void> => {
 const fetchSaveCarousalData = async () :Promise<void> => {
   /* TODO: 获取轮播图表格数据 */
   /* TODO: 获取轮播图表格数据 */
   query.page = pagination.page
   query.page = pagination.page
@@ -51,12 +52,12 @@ const fetchSaveCarousalData = async () :Promise<void> => {
   pagination.total = getCarousalListApi.pagination.total
   pagination.total = getCarousalListApi.pagination.total
 }
 }
 onMounted(fetchSaveCarousalData)
 onMounted(fetchSaveCarousalData)
-const editClick = (row:object) => {
+const editClick = (row:object):void => {
   isEdit.value = true
   isEdit.value = true
   currentTableData.value = Object.assign({}, row)
   currentTableData.value = Object.assign({}, row)
   carousalDialogVisible.value = true
   carousalDialogVisible.value = true
 }
 }
-const showClick = async (res:object) => {
+const showClick = async (res:CarousalResult):Promise<void> => {
   if (res.status === 'active'){
   if (res.status === 'active'){
     await inactiveCarousal(res.id)
     await inactiveCarousal(res.id)
   } else {
   } else {
@@ -64,20 +65,19 @@ const showClick = async (res:object) => {
   }
   }
   await fetchSaveCarousalData()
   await fetchSaveCarousalData()
 }
 }
-const delClick = async (row:object) => {
-  console.log(row,'删除')
+const delClick = async (row:CarousalResult) :Promise<void>=> {
   await deleteCarousal(row.id)
   await deleteCarousal(row.id)
   await fetchSaveCarousalData()
   await fetchSaveCarousalData()
 }
 }
-const handleCreateCarousal = () => {
+const handleCreateCarousal = () :void => {
   isEdit.value = false
   isEdit.value = false
   carousalDialogVisible.value = true
   carousalDialogVisible.value = true
   currentTableData.value = {}
   currentTableData.value = {}
 }
 }
-const onPageChange = () => {
+const onPageChange = ():void => {
   /* TODO: 分页切换 */
   /* TODO: 分页切换 */
 }
 }
-const handleSuccessDialog = async () => {
+const handleSuccessDialog = async () :Promise<void> => {
   await fetchSaveCarousalData()
   await fetchSaveCarousalData()
   carousalDialogVisible.value = false
   carousalDialogVisible.value = false
 }
 }