应用层PC端前端服务

archiveDetailsDialog.vue 2.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. <template>
  2. <div>
  3. <el-dialog
  4. title="归档详情"
  5. :visible="showarchiveDetails"
  6. @close="cancel"
  7. :destroy-on-close="true"
  8. center
  9. >
  10. <div class="loading" v-if="flagLoading">
  11. <i class="el-icon-loading"></i>
  12. </div>
  13. <div v-else>
  14. <div class="noData" v-if="noData">暂无数据!</div>
  15. <el-tabs v-model="activeName" @tab-click="handleClick">
  16. <el-tab-pane label="案件信息" name="first">
  17. <caseInfo :caseApplicationObj="caseApplicationObj"></caseInfo>
  18. </el-tab-pane>
  19. <el-tab-pane label="案件日志" name="second">
  20. <caselogInfo :caselogDataArr="caselogDataArr"></caselogInfo>
  21. </el-tab-pane>
  22. <el-tab-pane label="快递信息" name="third">
  23. <expressDeliveryInfo
  24. :deliveryDataArr="deliveryDataArr"
  25. ></expressDeliveryInfo>
  26. </el-tab-pane>
  27. </el-tabs>
  28. </div>
  29. <div slot="footer" class="dialog-footer">
  30. <el-button @click="cancel">取 消</el-button>
  31. </div>
  32. </el-dialog>
  33. </div>
  34. </template>
  35. <script>
  36. import caseInfo from "./caseInfo.vue";
  37. import caselogInfo from "./caselogInfo.vue";
  38. import expressDeliveryInfo from "./expressDeliveryInfo.vue";
  39. export default {
  40. props: ["showarchiveDetails", "detailform", "flagLoading"],
  41. components: {
  42. caseInfo,
  43. caselogInfo,
  44. expressDeliveryInfo,
  45. },
  46. data() {
  47. return {
  48. activeName: "first",
  49. caseApplicationObj: {}, //案件信息
  50. caselogDataArr: [], //案件日志
  51. deliveryDataArr: [], //快递信息
  52. noData: false,
  53. };
  54. },
  55. watch: {
  56. detailform: {
  57. handler(val) {
  58. if (val) {
  59. this.caseApplicationObj = val.caseApplication;
  60. this.caselogDataArr = val.caseLogRecordList;
  61. this.deliveryDataArr = val.logisticsInfoVOList;
  62. }
  63. },
  64. },
  65. },
  66. methods: {
  67. handleClick(tab, event) {
  68. // console.log(tab, event);
  69. },
  70. cancel() {
  71. this.$emit("cancelpaymentdetails");
  72. },
  73. },
  74. };
  75. </script>
  76. <style lang="scss" scoped>
  77. ::v-deep .el-dialog {
  78. width: 1000px;
  79. background: #ffffff;
  80. border-radius: 20px;
  81. }
  82. ::v-deep .el-dialog__body {
  83. height: 700px !important;
  84. overflow: auto !important;
  85. }
  86. .loading {
  87. width: 100%;
  88. height: 100%;
  89. display: flex;
  90. justify-content: center;
  91. align-items: center;
  92. .el-icon-loading {
  93. font-size: 50px;
  94. }
  95. }
  96. .noData {
  97. width: 100%;
  98. height: 400px;
  99. font-size: 30px;
  100. font-weight: 700;
  101. color: #959595;
  102. display: flex;
  103. justify-content: center;
  104. align-items: center;
  105. }
  106. </style>