detail.vue 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  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' || type === 'edit'" 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="(detail) => (sitem = detail)"
  17. />
  18. </template>
  19. <tempalte
  20. v-if="(status == '2' || status == '3') && !isSupertube && (
  21. _process.includes('2') || _process.includes('3') && Number(sitem.wsm_has_account) !== 0
  22. )"
  23. >
  24. <el-collapse-item name="3" title="待转单">
  25. <wait-transferred :id="id" :num="num" @refresh="handleRefresh" />
  26. </el-collapse-item>
  27. </tempalte>
  28. </el-collapse>
  29. </el-tab-pane>
  30. <el-tab-pane label="审批记录" name="2" v-if="type === 'view'">
  31. <process-time-line
  32. v-if="newTime !== '' && id"
  33. :newTime="newTime"
  34. :type="'BBD'"
  35. :orderCode="id"
  36. />
  37. </el-tab-pane>
  38. <el-tab-pane label="流程图" name="3" v-if="type === 'view'">
  39. <flow-chart process_id="22" type="BBD" :orderCode="id" />
  40. </el-tab-pane>
  41. </el-tabs>
  42. </div>
  43. </template>
  44. <script>
  45. import WaitTransferred from "./cpns/wait-transferred.vue";
  46. import ShipmentRequest from "./cpns/shipment-request.vue";
  47. import baseDetail from "./cpns/baseDetail.vue";
  48. import BaseForm from "./cpns/baseForm.vue";
  49. import asyncRequest from "@/apis/service/sellOut/filing";
  50. import { mapGetters } from "vuex";
  51. export default {
  52. components: {
  53. BaseForm,
  54. // ExamForms,
  55. baseDetail,
  56. WaitTransferred,
  57. ShipmentRequest
  58. },
  59. data() {
  60. return {
  61. loading: false,
  62. activeTabs: "1",
  63. collapses: ["1", "2", "3", "4"],
  64. status: "",
  65. sitem: {},
  66. orderCode: "",
  67. num: "0"
  68. };
  69. },
  70. computed: {
  71. ...mapGetters(["isSupertube"]),
  72. title() {
  73. const mapTitle = {
  74. add: "新建报备单",
  75. edit: "编辑报备单",
  76. view: "报备单详情"
  77. };
  78. return mapTitle[this.$route.query.type];
  79. },
  80. type() {
  81. return this.$route.query.type || "view";
  82. },
  83. id() {
  84. return this.$route.query.id;
  85. },
  86. getNewTime() {
  87. this.newTime = new Date().valueOf();
  88. },
  89. _process() {
  90. const { roleProcess } = this.$store.getters;
  91. const tran = roleProcess.find(i => i.process_type === "BBD") || {};
  92. const { action } = tran ?? {};
  93. return action ?? [];
  94. }
  95. },
  96. methods: {
  97. async examFormSubmit({ companyCode, ...rest } = {}) {
  98. const { id } = this.$route.query;
  99. this.loading = true;
  100. await asyncRequest.status({
  101. ...rest,
  102. id,
  103. companyCode: Array.isArray(companyCode) ? companyCode[0] : companyCode
  104. });
  105. await this.$refs.baseForm.initData();
  106. this.loading = false;
  107. },
  108. handleChangeStatus(status) {
  109. this.status = status;
  110. },
  111. handleChangeOrderCode(orderCode) {
  112. this.orderCode = orderCode;
  113. },
  114. async handleRefresh() {
  115. this.loading = true;
  116. await this.$refs.baseForm.initData();
  117. this.loading = false;
  118. },
  119. handleChangeNum(num) {
  120. this.num = num;
  121. }
  122. }
  123. };
  124. </script>
  125. <style lang="scss" scoped>
  126. .report-detail__container {
  127. padding: 15px;
  128. }
  129. </style>