detail.vue 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. <template>
  2. <div class="report-detail__container">
  3. <el-tabs v-model="activeTabs" v-loading="loading">
  4. <el-tab-pane name="1" :label="title">
  5. <el-collapse v-model="collapses">
  6. <el-collapse-item v-if="type === 'add'" name="1" :title="title">
  7. <base-form :id="id" :type="type" />
  8. </el-collapse-item>
  9. <template v-else>
  10. <base-detail
  11. ref="baseForm"
  12. :sitem="sitem"
  13. @change-status="handleChangeStatus"
  14. @change-num="handleChangeNum"
  15. @change-order-code="handleChangeOrderCode"
  16. @change-detail="(det) => (sitem = det)"
  17. />
  18. </template>
  19. <tempalte v-if="(status == '2' || status == '3') && !isSupertube">
  20. <el-collapse-item name="3" title="待转单">
  21. <wait-transferred :id="id" :num="num" @refresh="handleRefresh" />
  22. </el-collapse-item>
  23. </tempalte>
  24. </el-collapse>
  25. </el-tab-pane>
  26. </el-tabs>
  27. </div>
  28. </template>
  29. <script>
  30. import WaitTransferred from "./cpns/wait-transferred.vue";
  31. import ShipmentRequest from "./cpns/shipment-request.vue";
  32. import baseDetail from "./cpns/baseDetail.vue";
  33. import BaseForm from "./cpns/baseForm.vue";
  34. import asyncRequest from "@/apis/service/sellOut/filing";
  35. import { mapGetters } from "vuex";
  36. export default {
  37. components: {
  38. BaseForm,
  39. // ExamForms,
  40. baseDetail,
  41. WaitTransferred,
  42. ShipmentRequest
  43. },
  44. data() {
  45. return {
  46. loading: false,
  47. activeTabs: "1",
  48. collapses: ["1", "2", "3", "4"],
  49. status: "",
  50. sitem: {},
  51. orderCode: "",
  52. num: "0"
  53. };
  54. },
  55. computed: {
  56. ...mapGetters(["isSupertube"]),
  57. title() {
  58. return this.id && this.id !== "add" ? "报备单详情" : "新建报备单";
  59. },
  60. type() {
  61. return this.id && this.id !== "add" ? "view" : "add";
  62. },
  63. id() {
  64. return this.$route.query.id;
  65. },
  66. getNewTime() {
  67. this.newTime = new Date().valueOf();
  68. }
  69. },
  70. methods: {
  71. async examFormSubmit({ companyCode, ...rest } = {}) {
  72. const { id } = this.$route.query;
  73. this.loading = true;
  74. await asyncRequest.status({
  75. ...rest,
  76. id,
  77. companyCode: Array.isArray(companyCode) ? companyCode[0] : companyCode
  78. });
  79. await this.$refs.baseForm.initData();
  80. this.loading = false;
  81. },
  82. handleChangeStatus(status) {
  83. this.status = status;
  84. },
  85. handleChangeOrderCode(orderCode) {
  86. this.orderCode = orderCode;
  87. },
  88. async handleRefresh() {
  89. this.loading = true;
  90. await this.$refs.baseForm.initData();
  91. this.loading = false;
  92. },
  93. handleChangeNum(num) {
  94. this.num = num;
  95. }
  96. }
  97. };
  98. </script>
  99. <style lang="scss" scoped>
  100. .report-detail__container {
  101. padding: 15px;
  102. }
  103. </style>