移动端
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。

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