移动端
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.
 
 

191 line
6.0 KiB

  1. <template>
  2. <div class="app-container">
  3. <van-nav-bar left-arrow fixed placeholder @click-left="$router.back(-1)">
  4. <template #title>
  5. <p style="font-weight: bold;">资金审批申请流程</p>
  6. </template>
  7. </van-nav-bar>
  8. <div class="main_box">
  9. <div v-if="showAuditHistory">
  10. <van-divider content-position="center"><h3>审批历史</h3></van-divider>
  11. <div style="text-align: center; font-size: 14px; color: #969799">批次号:{{ auditbatchNo }}</div>
  12. <van-row v-for="(item, index) in processList" :key="index">
  13. <van-col span="4" align="right">
  14. <p class="icon_jian yellow" v-show="item.auditStatus === '1'">
  15. <van-icon name="minus" size="14"/>
  16. </p>
  17. <p class="icon_jian blue" v-show="item.auditStatus === '3'">
  18. <van-icon name="success" size="14"/>
  19. </p>
  20. <p class="icon_jian red" v-show="item.auditStatus === '2'">
  21. <van-icon name="cross" size="14"/>
  22. </p>
  23. </van-col>
  24. <van-col span="20">
  25. <van-row>
  26. <van-col span="12" style="padding: 0;">
  27. <p v-show="item.auditStatus === '1'" class="textYellow">{{ item.actorName }}</p>
  28. <p v-show="item.auditStatus === '3'" class="textBlue">{{ item.actorName }}</p>
  29. <p v-show="item.auditStatus === '2'" class="textRed">{{ item.actorName }}</p>
  30. </van-col>
  31. <van-col span="12" style="padding: 0;">
  32. <p v-show="item.auditStatus === '1'" class="textYellow">{{ item.auditTime }}</p>
  33. <p v-show="item.auditStatus === '3'" class="textBlue">{{ item.auditTime }}</p>
  34. <p v-show="item.auditStatus === '2'" class="textRed">{{ item.auditTime }}</p>
  35. </van-col>
  36. </van-row>
  37. <van-row>
  38. <van-col span="12" style="padding: 0;">
  39. <p v-show="item.auditStatus === '1'" class="textYellow">{{ item.auditBy }}</p>
  40. <p v-show="item.auditStatus === '3'" class="textBlue">{{ item.auditBy }}</p>
  41. <p v-show="item.auditStatus === '2'" class="textRed">{{ item.auditBy }}</p>
  42. </van-col>
  43. <van-col span="12" style="padding: 0;">
  44. <p v-show="item.auditStatus === '1'" class="textYellow">{{ item.auditRemark }}</p>
  45. <p v-show="item.auditStatus === '3'" class="textBlue">{{ item.auditRemark }}</p>
  46. <p v-show="item.auditStatus === '2'" class="textRed">{{ item.auditRemark }}</p>
  47. </van-col>
  48. </van-row>
  49. </van-col>
  50. </van-row>
  51. </div>
  52. <van-divider content-position="center"><h3>审批流程</h3></van-divider>
  53. <van-row v-for="(item, index) in approvalTemplateDetailList" :key="index">
  54. <van-col span="4" align="right">
  55. <p class="icon_jian">
  56. <van-icon name="minus" size="14"/>
  57. </p>
  58. </van-col>
  59. <van-col span="20">
  60. <van-row>
  61. <van-col span="12" style="padding: 0;">
  62. <p>{{ item.name }}</p>
  63. </van-col>
  64. <van-col span="12" style="padding: 0;">
  65. <p v-show="item.approvalLevel === '1'">组级审批</p>
  66. <p v-show="item.approvalLevel === '2'">村级审批</p>
  67. <p v-show="item.approvalLevel === '3'">镇级审批</p>
  68. <p v-show="item.approvalLevel === '4'">区县审批</p>
  69. </van-col>
  70. </van-row>
  71. <van-row>
  72. <van-col span="24" style="padding: 0;">
  73. <p>{{ item.nickName }}</p>
  74. </van-col>
  75. </van-row>
  76. </van-col>
  77. </van-row>
  78. </div>
  79. </div>
  80. </template>
  81. <script>
  82. import { selectApprovalByTemplateId } from "@/api/onlineHome/bankAgriculture/paymentApproval";
  83. import { getCashExpense } from "@/api/onlineHome/bankAgriculture/cashExpense";
  84. import { A_auditHistoryList } from "@/api/audit/aauditpipeline";
  85. export default {
  86. name: "cashExpenseProcess",
  87. data() {
  88. return {
  89. processList: [],
  90. approvalTemplateDetailList: [],
  91. auditbatchNo: null,
  92. showAuditHistory: false,
  93. };
  94. },
  95. created() {
  96. if (this.$route.query.id) {
  97. this.queryProcess(this.$route.query.id);
  98. }
  99. if (this.$route.query.templateId) {
  100. this.queryApprovalTemplate(this.$route.query.templateId);
  101. }
  102. },
  103. methods: {
  104. queryProcess(id) {
  105. getCashExpense(id).then((response) => {
  106. // 查询审批历史
  107. if (response.data.auditStatus !== '0') {
  108. this.showAuditHistory = true;
  109. this.auditbatchNo = response.data.auditbatchNo;
  110. if (response.data.auditbatchNo != null && response.data.auditbatchNo !== '') {
  111. A_auditHistoryList(response.data.auditbatchNo).then(res => {
  112. this.processList = res.rows;
  113. this.processList.sort((p1, p2) => p1.id - p2.id);
  114. });
  115. }
  116. }
  117. // this.queryApprovalTemplate(response.data.approvalTemplateId);
  118. });
  119. },
  120. queryApprovalTemplate(approvalTemplateId) {
  121. selectApprovalByTemplateId(approvalTemplateId).then(rs => {
  122. this.approvalTemplateDetailList = rs.approvalDetails;
  123. });
  124. }
  125. },
  126. }
  127. </script>
  128. <style scoped lang="scss">
  129. .app-container {
  130. padding: 0.2rem 0;
  131. }
  132. .main_box {
  133. width: 96%;
  134. margin: 0 auto;
  135. border-radius: 6px;
  136. box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16);
  137. overflow: hidden;
  138. background-color: #FFF;
  139. padding: 20Px 0;
  140. }
  141. .icon_jian {
  142. background-color: #C9C9C9;
  143. display: inline-block;
  144. width: 20Px;
  145. height: 20Px;
  146. line-height: 24Px;
  147. text-align: center;
  148. border-radius: 50%;
  149. color: #FFF;
  150. }
  151. .yellow {
  152. background-color: #e6a23c;
  153. }
  154. .blue {
  155. background-color: #409eff;
  156. }
  157. .red {
  158. background-color: #F56C6C;
  159. }
  160. .textYellow {
  161. color: #e6a23c !important;
  162. }
  163. .textBlue {
  164. color: #409eff !important;
  165. }
  166. .textRed {
  167. color: #F56C6C !important;
  168. }
  169. .van-col {
  170. padding: 10Px 10Px;
  171. }
  172. .van-col:nth-child(2) {
  173. font-size: 16Px;
  174. color: #878787;
  175. line-height: 22Px;
  176. }
  177. </style>