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

203 line
6.9 KiB

  1. <template>
  2. <div class="app-container">
  3. <van-nav-bar
  4. left-arrow
  5. fixed
  6. placeholder
  7. @click-left="$router.back(-1)"
  8. >
  9. <template #title>
  10. <p style="font-weight: bold;">付款申请流程</p>
  11. </template>
  12. </van-nav-bar>
  13. <div class="main_box">
  14. <van-row v-for="(item,index) in processList" :key="index">
  15. <van-divider content-position="center"><h4>批次号:{{index}}</h4></van-divider>
  16. <van-row v-for="(item1,index,i) in item" :key="i">
  17. <van-col span="4" align="right">
  18. <p class="icon_jian" v-show="item1.auditStatus=='1'"><van-icon name="minus" size="14" /></p>
  19. <p class="icon_jian blue" v-show="item1.auditStatus=='3'"><van-icon name="success" size="14" /></p>
  20. <p class="icon_jian red" v-show="item1.auditStatus=='2'"><van-icon name="cross" size="14" /></p>
  21. </van-col>
  22. <van-col span="20">
  23. <van-row>
  24. <van-col span="12" style="padding: 0;">
  25. <p v-show="item1.auditStatus == '1'">{{item1.actorName}}</p>
  26. <p v-show="item1.auditStatus == '3'" class="textBlue">{{item1.actorName}}</p>
  27. <p v-show="item1.auditStatus == '2'" class="textRed">{{item1.actorName}}</p>
  28. </van-col>
  29. <van-col span="12" style="padding: 0;" >
  30. <p v-show="item1.auditStatus == '1'">{{item1.auditTime}}</p>
  31. <p v-show="item1.auditStatus == '3'" class="textBlue">{{item1.auditTime}}</p>
  32. <p v-show="item1.auditStatus == '2'" class="textRed">{{item1.auditTime}}</p>
  33. </van-col>
  34. </van-row>
  35. <van-row>
  36. <van-col span="12" style="padding: 0;" >
  37. <p v-show="item1.auditStatus == '1'">{{item1.auditBy}}</p>
  38. <p v-show="item1.auditStatus == '3'" class="textBlue">{{item1.auditBy}}</p>
  39. <p v-show="item1.auditStatus == '2'" class="textRed">{{item1.auditBy}}</p>
  40. </van-col>
  41. <van-col span="12" style="padding: 0;">
  42. <p v-show="item1.auditStatus == '1'">{{item1.auditRemark}}</p>
  43. <p v-show="item1.auditStatus == '3'" class="textBlue">{{item1.auditRemark}}</p>
  44. <p v-show="item1.auditStatus == '2'" class="textRed">{{item1.auditRemark}}</p>
  45. </van-col>
  46. </van-row>
  47. </van-col>
  48. </van-row>
  49. </van-row>
  50. <van-divider content-position="center" v-if="approvalTemplateDetailList.length>0"><h4>审批流程</h4></van-divider>
  51. <van-row v-if="approvalTemplateDetailList.length>0" v-for="(item1,index,i) in approvalTemplateDetailList" :key="i">
  52. <van-col span="4" align="right">
  53. <p class="icon_jian" ><van-icon name="minus" size="14" /></p>
  54. </van-col>
  55. <van-col span="20">
  56. <van-row>
  57. <van-col span="12" style="padding: 0;">
  58. <p>{{item1.name}}</p>
  59. </van-col>
  60. <van-col span="12" style="padding: 0;">
  61. <p v-show="item1.approvalLevel == 1">组级审批</p>
  62. <p v-show="item1.approvalLevel == 2">村级审批</p>
  63. <p v-show="item1.approvalLevel == 3">镇级审批</p>
  64. <p v-show="item1.approvalLevel == 4">区县审批</p>
  65. </van-col>
  66. </van-row>
  67. <van-row>
  68. <van-col span="24" style="padding: 0;">
  69. <p>{{item1.nickName}}<span v-if="item1.feeLimit != 0 && item1.nickName != null">({{item1.feeLimit}}元)</span></p>
  70. </van-col>
  71. </van-row>
  72. </van-col>
  73. </van-row>
  74. </div>
  75. </div>
  76. </template>
  77. <script>
  78. import {
  79. getTransferProcess,
  80. getTransfer,
  81. getProjectto,
  82. queryTransferDetail,
  83. selectApprovalByTemplateId
  84. } from "@/api/onlineHome/bankAgriculture/paymentApproval";
  85. export default {
  86. name: "approvalProcess",
  87. data() {
  88. return {
  89. processList:{},
  90. form:{},
  91. approvalTemplateDeptList:[],
  92. approvalTemplateDetailList:[]
  93. };
  94. },
  95. created() {
  96. this.handleUpdate(this.$route.query.id);
  97. },
  98. methods: {
  99. //查询审批进程
  100. getTransferProcess(id){
  101. getTransferProcess(id).then(res => {
  102. this.processList = res.data
  103. console.info( this.processList);
  104. })
  105. },
  106. handleUpdate(id) {
  107. getTransfer(id).then((response) => {
  108. this.form = response.data;
  109. this.processList = {}
  110. if(this.form.auditStatus != 0){
  111. this.getTransferProcess(id);
  112. }
  113. if(this.form.approvalMode == 1){
  114. selectApprovalByTemplateId(this.form.approvalTemplateId).then(rs => {
  115. this.approvalTemplateDeptList = rs.approvalDepts;
  116. this.approvalTemplateDetailList = rs.approvalDetails;
  117. console.log("this.approvalTemplateDetailList:"+this.approvalTemplateDetailList);
  118. if(this.form.approveLevel === "1"){
  119. this.approvalTemplateDetailList.push({"approvalLevel":"3"});
  120. }else if(this.form.approveLevel === "2"){
  121. this.approvalTemplateDetailList.push({"approvalLevel":"4"});
  122. }
  123. })
  124. }
  125. if(this.form.capitalExpenditureType==2){
  126. this.capitalExpenditureOpen = true
  127. let param={
  128. 'outId' : this.form.id,
  129. 'ynType' : '1'
  130. }
  131. getProjectto(param).then(res => {
  132. this.projectForm = res.data
  133. this.projectForm.projectFundType+=""
  134. queryTransferDetail(id).then((r) => {
  135. this.chargeItme = r.rows;
  136. this.length = this.chargeItme.length;
  137. this.detailTotal = r.total;
  138. this.loading = false;
  139. });
  140. })
  141. }else{
  142. this.capitalExpenditureOpen = false
  143. queryTransferDetail(id).then((r) => {
  144. this.chargeItme = r.rows;
  145. this.length = this.chargeItme.length;
  146. this.detailTotal = r.total;
  147. this.loading = false;
  148. });
  149. }
  150. });
  151. },
  152. },
  153. }
  154. </script>
  155. <style scoped lang="scss">
  156. .app-container {
  157. padding: 0.2rem 0;
  158. }
  159. .main_box{
  160. width: 96%;
  161. margin: 0 auto;
  162. border-radius: 6px;
  163. box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
  164. overflow: hidden;
  165. background-color: #FFF;
  166. padding: 20Px 0;
  167. }
  168. .icon_jian{
  169. background-color: #C9C9C9;
  170. display: inline-block;
  171. width: 20Px;
  172. height: 20Px;
  173. line-height: 24Px;
  174. text-align: center;
  175. border-radius: 50%;
  176. color: #FFF;
  177. }
  178. .blue{
  179. background-color: #1D6FE9;
  180. }
  181. .red{
  182. background-color: rgb(245, 108, 108);
  183. }
  184. .textBlue{
  185. color: #1D6FE9!important;
  186. }
  187. .textRed{
  188. color: rgb(245, 108, 108)!important;
  189. }
  190. .van-col{
  191. padding: 10Px 10Px;
  192. }
  193. .van-col:nth-child(2){
  194. font-size: 16Px;
  195. color: #878787;
  196. line-height: 22Px;
  197. }
  198. </style>