detail.vue 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. <template>
  2. <div id="detail">
  3. <el-row>
  4. <el-col :span="24" class="main">
  5. <el-col :span="24" class="top">
  6. <el-button type="primary" size="mini" @click="back">返回</el-button>
  7. </el-col>
  8. <el-col :span="24" class="down">
  9. <data-table :fields="fields" :opera="opera" :data="list" :total="total" @query="search" @view="toView"></data-table>
  10. </el-col>
  11. </el-col>
  12. </el-row>
  13. <el-dialog title="会审意见" width="40%" :visible.sync="dialog" @closed="handleClose" :destroy-on-close="true">
  14. <scoreInfo :form="info"></scoreInfo>
  15. </el-dialog>
  16. </div>
  17. </template>
  18. <script>
  19. import scoreInfo from './parts/scoreInfo.vue';
  20. import dataTable from '@common/src/components/frame/filter-page-table.vue';
  21. import { mapState, createNamespacedHelpers } from 'vuex';
  22. export default {
  23. metaInfo() {
  24. return { title: this.$route.meta.title };
  25. },
  26. name: 'detail',
  27. props: {},
  28. components: {
  29. dataTable,
  30. scoreInfo,
  31. },
  32. data: function() {
  33. return {
  34. opera: [
  35. {
  36. label: '专家意见查看',
  37. method: 'view',
  38. // 只有专家已评分,才可看评分相亲
  39. display: item => {
  40. return item.status == '1' ? true : false;
  41. },
  42. },
  43. ],
  44. fields: [
  45. { label: '专家姓名', prop: 'name', filter: 'input', showTip: true },
  46. { label: '联系电话', prop: 'phone', showTip: true },
  47. { label: '状态', prop: 'status' },
  48. ],
  49. list: [
  50. {
  51. name: '专家姓名',
  52. phone: '17319450324',
  53. content: '评分详情',
  54. status: '0',
  55. },
  56. {
  57. name: '专家姓名',
  58. phone: '17319450324',
  59. content: '评分详情',
  60. status: '1',
  61. },
  62. ],
  63. total: 0,
  64. // 查看会审信息
  65. dialog: false,
  66. info: {},
  67. };
  68. },
  69. async created() {
  70. await this.search();
  71. },
  72. methods: {
  73. // 查询列表
  74. async search({ skip = 0, limit = 10, ...info } = {}) {},
  75. // 专家评分查看
  76. toView({ data }) {
  77. this.$set(this, `info`, data);
  78. this.dialog = true;
  79. },
  80. // 取消查看
  81. handleClose() {
  82. this.form = {};
  83. this.dialog = false;
  84. },
  85. // 返回列表
  86. back() {
  87. this.$router.push({ path: '/adminMeet' });
  88. },
  89. },
  90. computed: {
  91. ...mapState(['user']),
  92. },
  93. watch: {},
  94. };
  95. </script>
  96. <style lang="less" scoped>
  97. .main {
  98. .top {
  99. margin: 0 0 10px 0;
  100. text-align: right;
  101. }
  102. }
  103. </style>