index.vue 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. <template>
  2. <div class="app-container">
  3. <el-card class="box-card">
  4. <div slot="header" class="clearfix">
  5. <span class="el-icon-document">任务详情</span>
  6. <el-button
  7. style="float: right"
  8. size="mini"
  9. type="danger"
  10. @click="goBack"
  11. >关闭</el-button
  12. >
  13. </div>
  14. <el-tabs
  15. tab-position="top"
  16. v-model="activeName"
  17. @tab-click="tabChangeHandler"
  18. >
  19. <!--表单信息-->
  20. <el-tab-pane label="表单信息" name="1">
  21. <el-col :span="16" :offset="4">
  22. <div class="test-form">
  23. <FormList></FormList>
  24. </div>
  25. </el-col>
  26. </el-tab-pane>
  27. <!-- 流程流转记录-->
  28. <el-tab-pane label="流转记录" name="2">
  29. <el-col :span="16" :offset="4">
  30. <RecordList></RecordList>
  31. </el-col>
  32. </el-tab-pane>
  33. <!--流程图 -->
  34. <el-tab-pane label="流程图" name="3">
  35. <FlowChart ref="flowChartRef" :flowData="flowData"></FlowChart>
  36. </el-tab-pane>
  37. </el-tabs>
  38. </el-card>
  39. </div>
  40. </template>
  41. <script>
  42. import FormList from "./formList.vue";
  43. import FlowChart from "@/views/bussiness/detail/FlowChart";
  44. import RecordList from "@/views/bussiness/detail/RecordList";
  45. // 模拟表单列表数据
  46. import formList from "./formList.js";
  47. import flowData from "./flowData.js";
  48. export default {
  49. name: "Record",
  50. components: { FormList, FlowChart, RecordList },
  51. props: {},
  52. data() {
  53. return {
  54. activeName: "1",
  55. };
  56. },
  57. created() {},
  58. methods: {
  59. tabChangeHandler(val) {
  60. if (this.activeName == "3") {
  61. this.$nextTick(() => {
  62. this.$refs.flowChartRef.initViewer(this.flowData);
  63. });
  64. }
  65. },
  66. goBack() {
  67. this.$tab.closePage();
  68. this.$router.go(-1);
  69. },
  70. },
  71. computed: {
  72. flowData() {
  73. return flowData;
  74. },
  75. },
  76. };
  77. </script>
  78. <style lang="scss" scoped>
  79. .test-form {
  80. margin: 15px auto;
  81. width: 800px;
  82. padding: 15px;
  83. }
  84. .clearfix:before,
  85. .clearfix:after {
  86. display: table;
  87. content: "";
  88. }
  89. .clearfix:after {
  90. clear: both;
  91. }
  92. .box-card {
  93. width: 100%;
  94. margin-bottom: 20px;
  95. }
  96. .el-tag + .el-tag {
  97. margin-left: 10px;
  98. }
  99. .my-label {
  100. background: #e1f3d8;
  101. }
  102. </style>