Banner.vue 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <script setup lang="ts">
  2. import type { BasicForm } from '@/types/form'
  3. const CRUD = {
  4. create() {
  5. return Promise.resolve()
  6. },
  7. update() {
  8. return Promise.resolve()
  9. },
  10. getList() {
  11. return Promise.resolve()
  12. }
  13. }
  14. const formConfig = reactive<BasicForm>({
  15. span: 24,
  16. formItems: [
  17. {
  18. label: '图片',
  19. value: '',
  20. name: 'image',
  21. type: 'upload',
  22. rules: [{ required: true, message: '请上传图片', trigger: 'blur' }],
  23. props: {
  24. class: 'avatar-uploader',
  25. 'show-file-list': false
  26. }
  27. },
  28. {
  29. label: '标题',
  30. value: '',
  31. name: 'name',
  32. type: 'input'
  33. },
  34. {
  35. label: '跳转地址',
  36. value: 'src',
  37. name: 'phone',
  38. type: 'input'
  39. }
  40. ]
  41. })
  42. </script>
  43. <template>
  44. <pro-table :crud="CRUD" :formConfig="formConfig">
  45. <el-table-column prop="name" label="标题"></el-table-column>
  46. <el-table-column prop="image" label="图片">
  47. <template #default="{ row }">
  48. <el-image :src="row.src" style="width: 100px"></el-image>
  49. </template>
  50. </el-table-column>
  51. <el-table-column prop="src" label="跳转地址"></el-table-column>
  52. </pro-table>
  53. </template>
  54. <style lang="scss" scoped></style>