detail.hbs 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <script lang="ts" setup name="{{ properCase componentName }}">
  2. import DetailForm from './components/DetailForm/index.vue'
  3. import eventBus from '@/utils/eventBus'
  4. import useSettingsStore from '@/store/modules/settings'
  5. const route = useRoute()
  6. const router = useRouter()
  7. const tabbar = useTabbar()
  8. const settingsStore = useSettingsStore()
  9. const formRef = ref()
  10. function onSubmit() {
  11. formRef.value.submit().then(() => {
  12. eventBus.emit('get-data-list')
  13. goBack()
  14. })
  15. }
  16. function onCancel() {
  17. goBack()
  18. }
  19. // 返回列表页
  20. function goBack() {
  21. if (settingsStore.settings.tabbar.enable && settingsStore.settings.tabbar.mergeTabsBy !== 'activeMenu') {
  22. tabbar.close({ name: 'pagesExampleGeneralFormModeList' })
  23. }
  24. else {
  25. router.push({ name: 'pagesExampleGeneralFormModeList' })
  26. }
  27. }
  28. </script>
  29. <template>
  30. <div>
  31. <page-header :title="route.name === 'routerName' ? '新增{{ cname }}' : '编辑{{ cname }}'">
  32. <el-button size="default" round @click="goBack">
  33. <template #icon>
  34. <el-icon>
  35. <svg-icon name="i-ep:arrow-left" />
  36. </el-icon>
  37. </template>
  38. 返回
  39. </el-button>
  40. </page-header>
  41. <page-main>
  42. <el-row>
  43. <el-col :md="24" :lg="16">
  44. <DetailForm :id="route.params.id as string" ref="formRef" />
  45. </el-col>
  46. </el-row>
  47. </page-main>
  48. <fixed-action-bar>
  49. <el-button type="primary" size="large" @click="onSubmit">
  50. 提交
  51. </el-button>
  52. <el-button size="large" @click="onCancel">
  53. 取消
  54. </el-button>
  55. </fixed-action-bar>
  56. </div>
  57. </template>
  58. <style lang="scss" scoped>
  59. // scss
  60. </style>