阅行客电子档案
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

177 lines
4.8 KiB

2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
  1. <template>
  2. <el-dialog class="detail-dialog" :visible.sync="detailVisible" :close-on-click-modal="false" :modal-append-to-body="false" append-to-body title="流程详情">
  3. <div class="setting-dialog">
  4. <div class="detail-info">
  5. <p><span>流程名称</span>01-归档审批流程</p>
  6. <p><span>启动时间</span>2016-09-21 08:50:08</p>
  7. <p><span>实例ID</span>9af7f46a-ea52- 4aa3-b8c3-9fd484c2af12</p>
  8. <p><span>发起人</span>admin</p>
  9. </div>
  10. <!-- -->
  11. <div class="detail-arrow" @click="isExpend = !isExpend"><i :class="[ isExpend ? 'arrow-up':'']" /></div>
  12. <el-collapse-transition>
  13. <div v-show="isExpend" class="service-detail">
  14. <h4>业务详情</h4>
  15. <div class="detail-list">
  16. <p><span>业务类型</span>归档审批</p>
  17. <p><span>原始位置</span>全宗A-整理库-门类A</p>
  18. <p><span>目标位置</span>全宗A-整理库-门类A</p>
  19. <p><span>赋权类型</span>-</p>
  20. <p><span>起始时间</span>-</p>
  21. <p><span>终止时间</span>-</p>
  22. <p><span>利用目的</span>-</p>
  23. <p><span>业务状态</span>已完成</p>
  24. <p><span>审批状态</span>通过</p>
  25. </div>
  26. </div>
  27. </el-collapse-transition>
  28. <div class="detail-tab tab-content">
  29. <ul class="tab-nav">
  30. <li :class="{'active-tab-nav': activeIndex == 0 }" @click="changeActiveTab(0)">档案列表</li>
  31. <li :class="{'active-tab-nav': activeIndex == 1 }" @click="changeActiveTab(1)">任务列表</li>
  32. <li :class="{'active-tab-nav': activeIndex == 2 }" @click="changeActiveTab(2)">流程图</li>
  33. </ul>
  34. <div v-if="activeIndex == 0" class="double-click-btn"><i class="iconfont icon-zhuyi-lan" /><span>双击列表数据查看详情</span></div>
  35. <component :is="comName" class="component-cont" />
  36. </div>
  37. <div slot="footer" class="dialog-footer">
  38. <el-button type="primary" @click="detailVisible=false">确定</el-button>
  39. </div>
  40. </div>
  41. </el-dialog>
  42. </template>
  43. <script>
  44. import processImg from './processImg/index'
  45. import businessDetails from './businessDetails/index'
  46. import taskList from './taskList/index'
  47. import approvalList from './approvalList/index'
  48. export default {
  49. name: 'Detail',
  50. components: {
  51. processImg,
  52. businessDetails,
  53. taskList,
  54. approvalList
  55. },
  56. data() {
  57. return {
  58. detailVisible: false,
  59. isExpend: false,
  60. activeIndex: 0
  61. }
  62. },
  63. computed: {
  64. comName: function() {
  65. if (this.activeIndex === 0) {
  66. return 'businessDetails'
  67. } else if (this.activeIndex === 1) {
  68. return 'taskList'
  69. } else if (this.activeIndex === 2) {
  70. return 'processImg'
  71. }
  72. return 'businessDetails'
  73. }
  74. },
  75. methods: {
  76. changeActiveTab(data) {
  77. this.activeIndex = data
  78. }
  79. }
  80. }
  81. </script>
  82. <style lang='scss' scoped>
  83. .detail-tab{
  84. position: relative;
  85. }
  86. .detail-dialog{
  87. .detail-info,
  88. .detail-list{
  89. display: flex;
  90. justify-content: space-between;
  91. flex-wrap: wrap;
  92. padding-top: 10px;
  93. font-size: 14px;
  94. line-height: 30px;
  95. color: #545B65;
  96. p{
  97. width: 50%;
  98. span{
  99. display: inline-block;
  100. width: 75px;
  101. text-align: right;
  102. color: #0C0E1E;
  103. }
  104. }
  105. }
  106. .detail-arrow{
  107. position: relative;
  108. width: 64px;
  109. height: 16px;
  110. margin: 10px auto;
  111. background-color:#E8F2FF;
  112. border-radius: 3px;
  113. cursor: pointer;
  114. i{
  115. position: absolute;
  116. left: 50%;
  117. top: 50%;
  118. display: block;
  119. width: 9px;
  120. height: 5px;
  121. margin-top: -2px;
  122. margin-left: -4px;
  123. background: url('~@/assets/images/icon/arrow.png') no-repeat center center;
  124. transition: all ease-in 0.5s;
  125. &.arrow-up {
  126. transform: rotate(180deg);
  127. }
  128. }
  129. }
  130. .service-detail{
  131. padding: 8px 12px;
  132. background-color: #F6F8FC;
  133. font-size: 14px;
  134. h4{
  135. position: relative;
  136. padding-left: 10px;
  137. color: #0C0E1E;
  138. &::before {
  139. content: "";
  140. position: absolute;
  141. left: 0;
  142. top: 50%;
  143. width: 3px;
  144. height: 14px;
  145. background-color: #0348F3;
  146. transform: translateY(-50%);
  147. }
  148. }
  149. .detail-list{
  150. p{
  151. width: 33%;
  152. }
  153. }
  154. }
  155. .double-click-btn{
  156. position: absolute;
  157. right: 0;
  158. top: 0;
  159. display: flex;
  160. justify-content: flex-start;
  161. align-items: center;
  162. line-height: 26px;
  163. span{
  164. display: inline-block;
  165. font-size: 12px;
  166. color: #545B65;
  167. }
  168. i{
  169. display: inline-block;
  170. color: #0348F3;
  171. }
  172. }
  173. }
  174. </style>