status-2.vue 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <template>
  2. <div id="status-2">
  3. <data-table :fields="fields" :opera="opera" :data="list" :total="total" @query="search" @edit="toEdit"> </data-table>
  4. </div>
  5. </template>
  6. <script>
  7. const moment = require('moment');
  8. const { ticketType } = require('@common/dict/index');
  9. import { mapState, createNamespacedHelpers } from 'vuex';
  10. const { mapActions: ticket } = createNamespacedHelpers('ticket');
  11. export default {
  12. name: 'status-2',
  13. props: {},
  14. components: {},
  15. data: function () {
  16. return {
  17. list: [],
  18. total: 0,
  19. opera: [
  20. {
  21. label: '审核',
  22. method: 'edit',
  23. },
  24. ],
  25. fields: [
  26. { label: '企业', prop: 'name', filter: true },
  27. { label: '申请时间', prop: 'meta.createdAt', format: (i) => moment(i).format('YYYY-MM-DD HH:mm:ss') },
  28. {
  29. label: '状态',
  30. prop: 'status',
  31. format: (i) => {
  32. const r = ticketType.find((f) => f.value === i);
  33. if (r) return r.label;
  34. else return '';
  35. },
  36. },
  37. ],
  38. };
  39. },
  40. created() {
  41. this.search();
  42. },
  43. methods: {
  44. ...ticket(['query', 'delete']),
  45. async search({ skip = 0, limit = 10, ...info } = {}) {
  46. const res = await this.query({ skip, limit, ...info, status: '2' });
  47. if (this.$checkRes(res)) {
  48. this.$set(this, `list`, res.data);
  49. this.$set(this, `total`, res.total);
  50. }
  51. },
  52. toEdit({ data }) {
  53. this.$router.push({ path: '/adminCenter/ticket/detail', query: { id: data._id, status: data.status } });
  54. },
  55. },
  56. computed: {
  57. ...mapState(['user', 'menuParams']),
  58. pageTitle() {
  59. return `${this.$route.meta.title}`;
  60. },
  61. },
  62. metaInfo() {
  63. return { title: this.$route.meta.title };
  64. },
  65. };
  66. </script>
  67. <style lang="less" scoped></style>