移动端
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

272 rader
9.6 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. <template #right>
  13. <van-icon name="../../../static/images/icon/icon_flow.png" size="20" @click="goFlow"/>
  14. </template>
  15. </van-nav-bar>
  16. <p class="main_title">基础信息</p>
  17. <div class="main_box">
  18. <van-field readonly label="申请时间" v-model="form.applyDate" input-align="right" />
  19. <van-field readonly label="资金支出类别" v-model="capitalExpenditureType" input-align="right" label-width="auto" />
  20. <van-field readonly label="提现总金额" v-model="form.expenditureAmount" input-align="right" label-width="auto"/>
  21. <van-field name="radio" label="审批模式" input-align="right" autocomplete="off" readonly>
  22. <template #input>
  23. <van-radio-group v-model="form.approvalMode" direction="horizontal">
  24. <van-radio name="1">线上支付</van-radio>
  25. <van-radio name="2">线下支付</van-radio>
  26. </van-radio-group>
  27. </template>
  28. </van-field>
  29. </div>
  30. <div class="main_box" style="margin-top: 10px;">
  31. <van-field readonly label="付款事由" v-model="form.remark" type="textarea" input-align="right" rows="3" label-width="auto"/>
  32. </div>
  33. <div class="main_box" style="margin-top: 10px;">
  34. <van-field readonly label="说明情况" v-model="form.explainSituation" type="textarea" input-align="right" rows="3" label-width="auto"/>
  35. </div>
  36. <p class="main_title">付款方信息</p>
  37. <div class="main_box">
  38. <van-field readonly label="付款方" v-model="form.payer" input-align="right" label-width="auto"/>
  39. <van-field readonly label="付款方账户" v-model="form.payerAccount" input-align="right" label-width="auto"/>
  40. </div>
  41. <div class="main_box" v-if="capitalExpenditureOpen" style="margin-bottom: 10px;margin-top: 10px;position:relative;">
  42. <van-field readonly label="项目名称" v-model="projectForm.projectName" input-align="right" />
  43. <van-field readonly label="承建单位" v-model="projectForm.projectContractor" input-align="right" label-width="auto"/>
  44. <van-field readonly label="合同价款(元)" v-model="projectForm.projectAmount" input-align="right" label-width="auto"/>
  45. <van-field readonly label="工程款类型" v-model="projectFundType" input-align="right" />
  46. <van-field readonly label="工程发票号" v-model="projectForm.projectBillNum" input-align="right" label-width="auto"/>
  47. </div>
  48. <div class="main_box" v-if="contractOpen" style="margin-bottom: 10px;margin-top: 10px;position:relative;">
  49. <van-field readonly label="合同名称" v-model="infoForm.name" input-align="right" />
  50. <van-field readonly label="合同编码" v-model="infoForm.code" input-align="right" label-width="auto"/>
  51. <van-field readonly label="合同价款(元)" v-model="infoForm.totalAmount" input-align="right" label-width="auto"/>
  52. </div>
  53. <p class="main_title">收款方信息</p>
  54. <div :style="{position:'relative',padding: index == 0 ? '':'10px 0 0 0'}" v-for="(item, index) in chargeItme" :key="index">
  55. <div class="main_box" style="margin-bottom: 10px;position:relative;">
  56. <van-field readonly label="收款方" v-model="item.payee" input-align="right" />
  57. <van-field readonly label="提款人" v-model="item.drawer" input-align="right" label-width="auto"/>
  58. <van-field readonly label="提款金额(元)" v-model="item.incomeAmount" input-align="right" label-width="auto"/>
  59. <van-field readonly label="资金用途" v-model="item.remark" input-align="right" />
  60. </div>
  61. </div>
  62. <p class="main_title">上传附件</p>
  63. <div class="main_box" style="padding: 5px 0 0 8px;">
  64. <van-uploader v-model="fileList" :deletable="false" disabled :upload-text="'未上传附件'"></van-uploader>
  65. </div>
  66. </div>
  67. </template>
  68. <script>
  69. import { getTransfer , queryTransferDetail , listPayee , getProjectto , listProject , addProjectto , customSubmit ,getInfoto} from "@/api/onlineHome/bankAgriculture/paymentApproval";
  70. import request from '@/utils/request'
  71. import {
  72. attachmentList,
  73. commonAttach,
  74. getCash,
  75. listCashdetailByCashId
  76. } from "../../../../api/onlineHome/bankAgriculture/paymentApproval";
  77. export default {
  78. name: "approvalDetail10",
  79. data() {
  80. return {
  81. showcapital:false,
  82. showpayee:false,
  83. showlasj:false,
  84. showbankType:false,
  85. showproject:false,
  86. showFundType:false,
  87. minDate: new Date(),
  88. maxDate: new Date(2050, 10, 1),
  89. currentDate: new Date(),
  90. form:{},
  91. fileList:[],
  92. capitalExpenditureType:'',
  93. payee:'',
  94. bankType:'',
  95. wfydlxDictionaries:[],
  96. jglxDictionaries:[],
  97. sysDictionaries:[],
  98. capitalExpenditureTypeOptions:[],
  99. bankTypeDictionaries:[],
  100. projectList:[],
  101. projectFundTypeOptions:[],
  102. projectFundTypeDictionaries:[],
  103. projectListShow:[],
  104. chargeItme:[],
  105. chargeItmeShow:[],
  106. payeeList:[],
  107. // 查询参数
  108. queryParams: {
  109. transferType:10,
  110. orderByColumn: "id",
  111. isAsc: "desc",
  112. },
  113. capitalExpenditureOpen:false,
  114. contractOpen:false,
  115. projectForm:{
  116. projectId:null,
  117. projectName:null,
  118. projectContractor:null,
  119. projectAmount:null,
  120. projectBillNum:null,
  121. projectFundType:'1',
  122. outId:null,
  123. ynType:'2'
  124. },
  125. infoForm:{
  126. infoId:null,
  127. name:null,
  128. code:null,
  129. totalAmount:null,
  130. contractionId:null,
  131. transferId:null
  132. },
  133. projectFundType:'',
  134. uploadFiles:[],
  135. };
  136. },
  137. created() {
  138. this.getDicts("project_fund_type").then((response) => {
  139. for (var i = 0; i < response.data.length; i++) {
  140. this.projectFundTypeOptions.push({text: response.data[i].dictLabel, value: response.data[i].dictValue});
  141. }
  142. this.projectFundTypeDictionaries = response.data;
  143. });
  144. this.getDictionaries();
  145. this.getFileList();
  146. },
  147. methods: {
  148. goFlow(){
  149. window.location='approvalProcess2?id='+this.$route.query.id;
  150. },
  151. getDictionaries(){
  152. getCash(this.$route.query.id).then((response) => {
  153. this.getDicts("capital_expenditure_type").then((res) => {
  154. for (var i = 0; i < res.data.length; i++) {
  155. this.capitalExpenditureTypeOptions.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
  156. }
  157. this.capitalExpenditureType = this.selectDictLabel(res.data, response.data.capitalExpenditureType);
  158. });
  159. if(response.data.capitalExpenditureType==2){
  160. this.capitalExpenditureOpen = true
  161. let param={
  162. 'outId' : response.data.id,
  163. 'ynType' : '2'
  164. }
  165. getProjectto(param).then(res => {
  166. this.projectFundType = this.selectDictLabel(this.projectFundTypeDictionaries, res.data.projectFundType);
  167. this.projectForm = res.data
  168. })
  169. }else if(response.data.capitalExpenditureType==4){
  170. this.contractOpen = true
  171. let param={
  172. 'transferId' : response.data.id
  173. }
  174. getInfoto(param).then(res => {
  175. this.infoForm = res.data
  176. })
  177. }else{
  178. this.showproject = false
  179. }
  180. this.form = response.data;
  181. });
  182. listCashdetailByCashId(this.$route.query.id).then((response) => {
  183. this.chargeItme = response.data;
  184. this.getPayeeList();
  185. });
  186. },
  187. getPayeeList() {
  188. //普通转账
  189. this.queryParams.accountType = this.form.accountType
  190. this.queryParams.status = "0"
  191. listPayee(this.queryParams).then((response) => {
  192. for (var i = 0; i < response.rows.length; i++) {
  193. this.payeeList.push({text: response.rows[i].payee, value: response.rows[i].id});
  194. }
  195. });
  196. },
  197. getFileList(){
  198. let oData= {
  199. tableId: this.$route.query.id,
  200. tableName: "t_yinnong_cash",
  201. bizPath: "upload",
  202. fileType: "0",
  203. }
  204. attachmentList(oData).then(res => {
  205. console.log(res)
  206. console.log(location.protocol+"//"+location.host+request.defaults.baseURL)
  207. res.rows.map(r => {
  208. let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL
  209. this.fileList.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{})})
  210. console.log(r)
  211. })
  212. })
  213. },
  214. goBack(){
  215. window.history.go(-1)
  216. },
  217. //删除家庭成员
  218. deleteChargeItme(index){
  219. this.chargeItme.splice(index,1)
  220. },
  221. },
  222. }
  223. </script>
  224. <style scoped lang="scss">
  225. .app-container {
  226. padding: 2% 0;
  227. }
  228. .main_title{
  229. font-size: 0.4rem;
  230. color: #1D6FE9;
  231. margin: 0.2rem 6%;
  232. position: relative;
  233. }
  234. .main_box{
  235. width: 96%;
  236. margin: 0 auto;
  237. border-radius: 6px;
  238. box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
  239. overflow: hidden;
  240. background-color: #FFF;
  241. }
  242. .submitButton{
  243. width: 80%;
  244. margin: 0 auto;
  245. background-color: #1D6FE9;
  246. }
  247. .addFamily{
  248. position: absolute;
  249. top: -2px;
  250. right: 0;
  251. border-radius: 50%;
  252. }
  253. .deleteFamily{
  254. position: absolute;
  255. top: 0rem;
  256. right: 6%;
  257. z-index: 9;
  258. border-radius: 50%;
  259. }
  260. </style>