detail.vue 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. <template>
  2. <div id="detail">
  3. <detail-frame :title="mainTitle" returns="./index">
  4. <data-form :fields="fields" :rules="rules" @save="handleSave" :isNew="isNew"> </data-form>
  5. </detail-frame>
  6. </div>
  7. </template>
  8. <script>
  9. import detailFrame from '@frame/layout/admin/detail-frame';
  10. import dataForm from '@frame/components/form';
  11. export default {
  12. metaInfo: { title: '科目详情页' },
  13. name: 'detail',
  14. props: {},
  15. components: {
  16. detailFrame,
  17. dataForm,
  18. },
  19. data: () => ({
  20. fields: [
  21. { label: '科目名称', required: true, model: 'name' },
  22. { label: '名称代码', required: true, model: 'code' },
  23. ],
  24. rules: {
  25. name: [{ required: true, message: '请输入科目代码' }],
  26. code: [{ required: true, message: '请输入科目名称' }],
  27. },
  28. }),
  29. created() {},
  30. computed: {
  31. isNew() {
  32. return this.$route.query.id ? false : true;
  33. },
  34. mainTitle() {
  35. let meta = this.$route.meta;
  36. let main = meta.title || '';
  37. let sub = meta.sub || '';
  38. return `${main}${sub}`;
  39. },
  40. keyWord() {
  41. let meta = this.$route.meta;
  42. let main = meta.title || '';
  43. return main;
  44. },
  45. },
  46. methods: {
  47. async handleSave({ isNew, data }) {
  48. console.log(isNew);
  49. console.log(data);
  50. },
  51. },
  52. };
  53. </script>
  54. <style lang="less" scoped></style>