Ver a proveniência

银农独立app

wulanhaote
yujk há 3 anos
ascendente
cometimento
d29a229a98
100 ficheiros alterados com 39259 adições e 120 eliminações
  1. +6
    -1
      src/permission.js
  2. +721
    -99
      src/router/index.js
  3. +2
    -0
      src/utils/request.js
  4. +5
    -4
      src/views/onlineHome/bankAgriculture/paymentAccount/paymentAccountAdd.vue
  5. +2
    -1
      src/views/onlineHome/bankAgriculture/paymentAccount/paymentAccountList.vue
  6. +363
    -15
      src/views/onlineHome/bankAgriculture/paymentAccount/paymentAccountModify.vue
  7. +154
    -0
      src/views/yinnong/advice.vue
  8. +251
    -0
      src/views/yinnong/bankAgriculture/collectionAccount/collectionAdd.vue
  9. +138
    -0
      src/views/yinnong/bankAgriculture/collectionAccount/collectionDetail.vue
  10. +177
    -0
      src/views/yinnong/bankAgriculture/collectionAccount/collectionList.vue
  11. +198
    -0
      src/views/yinnong/bankAgriculture/collectionAccount/collectionModify.vue
  12. +499
    -0
      src/views/yinnong/bankAgriculture/paymentAccount/paymentAccountAdd.vue
  13. +172
    -0
      src/views/yinnong/bankAgriculture/paymentAccount/paymentAccountDetail.vue
  14. +186
    -0
      src/views/yinnong/bankAgriculture/paymentAccount/paymentAccountList.vue
  15. +556
    -0
      src/views/yinnong/bankAgriculture/paymentAccount/paymentAccountModify.vue
  16. +1144
    -0
      src/views/yinnong/bankAgriculture/paymentApproval/approvalAdd.vue
  17. +996
    -0
      src/views/yinnong/bankAgriculture/paymentApproval/approvalAdd10.vue
  18. +1022
    -0
      src/views/yinnong/bankAgriculture/paymentApproval/approvalAdd11.vue
  19. +1060
    -0
      src/views/yinnong/bankAgriculture/paymentApproval/approvalAdd12.vue
  20. +1120
    -0
      src/views/yinnong/bankAgriculture/paymentApproval/approvalAdd2.vue
  21. +942
    -0
      src/views/yinnong/bankAgriculture/paymentApproval/approvalAdd3.vue
  22. +1108
    -0
      src/views/yinnong/bankAgriculture/paymentApproval/approvalAdd4.vue
  23. +944
    -0
      src/views/yinnong/bankAgriculture/paymentApproval/approvalAdd5.vue
  24. +367
    -0
      src/views/yinnong/bankAgriculture/paymentApproval/approvalApproval.vue
  25. +509
    -0
      src/views/yinnong/bankAgriculture/paymentApproval/approvalApproval10.vue
  26. +514
    -0
      src/views/yinnong/bankAgriculture/paymentApproval/approvalApproval11.vue
  27. +577
    -0
      src/views/yinnong/bankAgriculture/paymentApproval/approvalApproval12.vue
  28. +284
    -0
      src/views/yinnong/bankAgriculture/paymentApproval/approvalDetail.vue
  29. +271
    -0
      src/views/yinnong/bankAgriculture/paymentApproval/approvalDetail10.vue
  30. +282
    -0
      src/views/yinnong/bankAgriculture/paymentApproval/approvalDetail11.vue
  31. +346
    -0
      src/views/yinnong/bankAgriculture/paymentApproval/approvalDetail12.vue
  32. +283
    -0
      src/views/yinnong/bankAgriculture/paymentApproval/approvalDetail2.vue
  33. +442
    -0
      src/views/yinnong/bankAgriculture/paymentApproval/approvalDetail3.vue
  34. +285
    -0
      src/views/yinnong/bankAgriculture/paymentApproval/approvalDetail4.vue
  35. +430
    -0
      src/views/yinnong/bankAgriculture/paymentApproval/approvalDetail5.vue
  36. +178
    -0
      src/views/yinnong/bankAgriculture/paymentApproval/approvalList.vue
  37. +178
    -0
      src/views/yinnong/bankAgriculture/paymentApproval/approvalList10.vue
  38. +177
    -0
      src/views/yinnong/bankAgriculture/paymentApproval/approvalList11.vue
  39. +177
    -0
      src/views/yinnong/bankAgriculture/paymentApproval/approvalList12.vue
  40. +176
    -0
      src/views/yinnong/bankAgriculture/paymentApproval/approvalList2.vue
  41. +176
    -0
      src/views/yinnong/bankAgriculture/paymentApproval/approvalList3.vue
  42. +176
    -0
      src/views/yinnong/bankAgriculture/paymentApproval/approvalList4.vue
  43. +176
    -0
      src/views/yinnong/bankAgriculture/paymentApproval/approvalList5.vue
  44. +1133
    -0
      src/views/yinnong/bankAgriculture/paymentApproval/approvalModify.vue
  45. +985
    -0
      src/views/yinnong/bankAgriculture/paymentApproval/approvalModify10.vue
  46. +1030
    -0
      src/views/yinnong/bankAgriculture/paymentApproval/approvalModify11.vue
  47. +1029
    -0
      src/views/yinnong/bankAgriculture/paymentApproval/approvalModify12.vue
  48. +1068
    -0
      src/views/yinnong/bankAgriculture/paymentApproval/approvalModify2.vue
  49. +933
    -0
      src/views/yinnong/bankAgriculture/paymentApproval/approvalModify3.vue
  50. +1103
    -0
      src/views/yinnong/bankAgriculture/paymentApproval/approvalModify4.vue
  51. +938
    -0
      src/views/yinnong/bankAgriculture/paymentApproval/approvalModify5.vue
  52. +240
    -0
      src/views/yinnong/bankAgriculture/paymentApproval/approvalProcess.vue
  53. +245
    -0
      src/views/yinnong/bankAgriculture/paymentApproval/approvalProcess2.vue
  54. +164
    -0
      src/views/yinnong/done.vue
  55. +119
    -0
      src/views/yinnong/doneDetail.vue
  56. +165
    -0
      src/views/yinnong/expenditureDetail.vue
  57. +59
    -0
      src/views/yinnong/farmerPortrait.vue
  58. +81
    -0
      src/views/yinnong/gzdt.vue
  59. +81
    -0
      src/views/yinnong/hnzc.vue
  60. +128
    -0
      src/views/yinnong/home.vue
  61. +104
    -0
      src/views/yinnong/homePoll.vue
  62. +235
    -0
      src/views/yinnong/homePollDetail.vue
  63. +114
    -0
      src/views/yinnong/homestead/certificate/certificateList.vue
  64. +272
    -0
      src/views/yinnong/homestead/certificate/certificateSee.vue
  65. +404
    -0
      src/views/yinnong/homestead/circulation/circulationAdd.vue
  66. +174
    -0
      src/views/yinnong/homestead/circulation/circulationDetail.vue
  67. +156
    -0
      src/views/yinnong/homestead/circulation/circulationList.vue
  68. +407
    -0
      src/views/yinnong/homestead/circulation/circulationModify.vue
  69. +101
    -0
      src/views/yinnong/homestead/flowChart/index.vue
  70. +1028
    -0
      src/views/yinnong/homestead/homeApplication/applicationAdd.vue
  71. +1131
    -0
      src/views/yinnong/homestead/homeApplication/applicationForm.vue
  72. +152
    -0
      src/views/yinnong/homestead/homeApplication/applicationList.vue
  73. +1419
    -0
      src/views/yinnong/homestead/homeApproval/approvalForm.vue
  74. +149
    -0
      src/views/yinnong/homestead/homesteadUtilize/homesteadUtilize.vue
  75. +201
    -0
      src/views/yinnong/homestead/homesteadUtilize/homesteadUtilizeAdd.vue
  76. +98
    -0
      src/views/yinnong/homestead/homesteadUtilize/homesteadUtilizeDetail.vue
  77. +210
    -0
      src/views/yinnong/homestead/homesteadUtilize/homesteadUtilizeModify.vue
  78. +299
    -0
      src/views/yinnong/homestead/mortgage/mortgageAdd.vue
  79. +143
    -0
      src/views/yinnong/homestead/mortgage/mortgageDetail.vue
  80. +159
    -0
      src/views/yinnong/homestead/mortgage/mortgageList.vue
  81. +323
    -0
      src/views/yinnong/homestead/mortgage/mortgageModify.vue
  82. +301
    -0
      src/views/yinnong/homestead/paidExit/paidExitAdd.vue
  83. +145
    -0
      src/views/yinnong/homestead/paidExit/paidExitDetail.vue
  84. +164
    -0
      src/views/yinnong/homestead/paidExit/paidExitList.vue
  85. +319
    -0
      src/views/yinnong/homestead/paidExit/paidExitModify.vue
  86. +321
    -0
      src/views/yinnong/homestead/paidUtilize/paidUtilizeAdd.vue
  87. +235
    -0
      src/views/yinnong/homestead/paidUtilize/paidUtilizeDteail.vue
  88. +186
    -0
      src/views/yinnong/homestead/paidUtilize/paidUtilizeList.vue
  89. +329
    -0
      src/views/yinnong/homestead/paidUtilize/paidUtilizeModify.vue
  90. +762
    -0
      src/views/yinnong/homestead/publicityInformation/informationDetail.vue
  91. +142
    -0
      src/views/yinnong/homestead/publicityInformation/informationList.vue
  92. +256
    -0
      src/views/yinnong/homestead/reporting/taskCloseCaseAdd.vue
  93. +111
    -0
      src/views/yinnong/homestead/reporting/taskDetailedList.vue
  94. +194
    -0
      src/views/yinnong/homestead/reporting/taskReportingAdd.vue
  95. +163
    -0
      src/views/yinnong/homestead/reporting/taskReportingDetail.vue
  96. +134
    -0
      src/views/yinnong/homestead/reporting/taskReportingList.vue
  97. +281
    -0
      src/views/yinnong/homestead/supervision/supervisionAdd.vue
  98. +201
    -0
      src/views/yinnong/homestead/supervision/supervisionCloseCase.vue
  99. +178
    -0
      src/views/yinnong/homestead/supervision/supervisionList.vue
  100. +287
    -0
      src/views/yinnong/homestead/supervision/supervisionModify.vue

+ 6
- 1
src/permission.js Ver ficheiro

@@ -61,6 +61,7 @@ const whiteList = [
'/lawEnforcement/waitingProcessing',
'/lawEnforcement/complaintAdd',
'/homesteadLogin',
'/yinnongLogin',
'/lawEnforcement/userRegister',
'/lawEnforcement/companyRegister',

@@ -97,7 +98,9 @@ router.beforeEach((to, from, next) => {
next({ path: '/homestead/login' })
} else if (to.path.indexOf('/onlineHome') !== -1) {
next(`/onlineHomeLogin`)
} else if (to.path.indexOf('/homesteadSurvey') !== -1) {
} else if (to.path.indexOf('/yinnong') !== -1) {
next(`/yinnongLogin`)
}else if (to.path.indexOf('/homesteadSurvey') !== -1) {
next(`/homesteadLogin`)
}else if (to.path.indexOf('/lawEnforcement') !== -1) {
next(`//lawEnforcement/login`)
@@ -123,6 +126,8 @@ router.beforeEach((to, from, next) => {
next(`/homestead/login?redirect=${to.fullPath}`)
} else if (to.path.indexOf('/onlineHome') !== -1) {
next(`/onlineHomeLogin`)
}else if (to.path.indexOf('/yinnong') !== -1) {
next(`/yinnongLogin`)
} else if (to.path.indexOf('/homesteadSurvey') !== -1) {
next(`/homesteadLogin`)
}else if (to.path.indexOf('/lawEnforcement') !== -1) {


+ 721
- 99
src/router/index.js
A apresentação das diferenças no ficheiro foi suprimida por ser demasiado grande
Ver ficheiro


+ 2
- 0
src/utils/request.js Ver ficheiro

@@ -78,6 +78,8 @@ service.interceptors.response.use(res => {
window.location.href = '/homesteadLogin';
} else if (window.location.href.indexOf('onlineHome')!= -1) {
window.location.href = '/onlineHomeLogin';
}else if (window.location.href.indexOf('yinnong')!= -1) {
window.location.href = '/yinnongLogin';
}else {
// 农村宅基地调查
window.location.href = '/homesteadLogin';


+ 5
- 4
src/views/onlineHome/bankAgriculture/paymentAccount/paymentAccountAdd.vue Ver ficheiro

@@ -88,7 +88,7 @@
label-width="auto"
required
:rules="[{ required: true , message:'请选择所属镇账户' }]"
v-if="accountType=='银行存款'&&villageAccountType!='村虚拟账户'"
v-if="accountType=='银行存款'&&(form.bankType=='1'||form.bankType=='2')&&form.villageAccountType!=1"
/>
<van-popup v-model="showTaccountId" position="bottom">
<van-picker
@@ -98,7 +98,8 @@
@cancel="showTaccountId = false"
/>
</van-popup>
<van-field label="账簿号" v-if="accountType=='银行存款'&&villageAccountType=='多级账簿'" required :rules="[{ required: true , message:'请输入账簿号' }]" v-model="form.accountNo" placeholder="请输入账户名称" input-align="right" label-width="auto"/>
<van-field label="客户编号" v-if="accountType=='银行存款'&&(form.bankType=='1'||form.bankType=='2')" required :rules="[{ required: true , message:'请输入客户编号' }]" v-model="form.cifNo" placeholder="请输入客户编号" input-align="right" label-width="auto"/>
<van-field label="账簿号" v-if="accountType=='银行存款'&&villageAccountType=='多级账簿'" required :rules="[{ required: true , message:'请输入账簿号' }]" v-model="form.accountNo" placeholder="请输入账簿号" input-align="right" label-width="auto"/>
<van-field label="管控类型" required :rules="[{ required: true , message:'请选择管控类型' }]" v-if="accountType=='银行存款'&&form.bankType==2&&villageAccountType=='多级账簿'">
<template #right-icon>
<van-radio-group direction="horizontal" v-model="form.managementControlType" @change="onConfirmManagementControlType">
@@ -199,7 +200,7 @@
</van-popup>
<van-field label="开户银行地址" v-if="accountType=='银行存款'" :rules="[{ required: true , message:'请输入开户银行地址' }]" v-model="form.site" placeholder="请输入开户银行地址" input-align="right" label-width="auto" required/>
<van-field label="支付口令" v-if="accountType=='银行存款'" :rules="[{ required: true , message:'请输入支付口令' }]" v-model="form.accountPassword" placeholder="请输入支付口令" input-align="right" label-width="auto" required/>
<van-field label="账户类型" required :rules="[{ required: true , message:'请选择账户类型' }]">
<van-field label="账户类型" v-if="accountType=='银行存款'" required :rules="[{ required: true , message:'请选择账户类型' }]">
<template #right-icon>
<van-radio-group direction="horizontal" v-model="form.bankAccountType">
<van-radio name="1">公户</van-radio>
@@ -316,7 +317,7 @@
};
},
created() {
this.getDetail();
this.getTaList();

},
methods: {


+ 2
- 1
src/views/onlineHome/bankAgriculture/paymentAccount/paymentAccountList.vue Ver ficheiro

@@ -22,7 +22,8 @@
@load="getList"
>
<van-swipe-cell v-for="(item,index) in applicationList" :key="index">
<van-cell :title="item.accountType" center :to="{name:'paymentAccountDetail', query: {id:item.id,type:'modify'}}">
<!-- :to="{name:'paymentAccountDetail', query: {id:item.id,type:'modify'}}"-->
<van-cell :title="item.accountType" center >
<template #icon>
<van-icon name="../../../../../static/images/onlineHome/icon_yn10.png" size="30" color="#539FFD" style="margin-right: 10px;" />
</template>


+ 363
- 15
src/views/onlineHome/bankAgriculture/paymentAccount/paymentAccountModify.vue Ver ficheiro

@@ -23,6 +23,7 @@
input-align="right"
right-icon="arrow-down"
label-width="auto"
required
/>
<van-popup v-model="showAccountType" position="bottom">
<van-picker
@@ -32,7 +33,150 @@
@cancel="showAccountType = false"
/>
</van-popup>
<van-field
readonly
clickable
label="所属银行"
placeholder="请选择"
v-model="bankType"
@click="showBankType = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
required
:rules="[{ required: true , message:'请选择所属银行' }]"
/>
<van-popup v-model="showBankType" position="bottom">
<van-picker
show-toolbar
:columns="bankTypeOptions"
@confirm="onConfirmBankType"
@cancel="showBankType = false"
/>
</van-popup>
<van-field
readonly
clickable
label="账户分类"
placeholder="请选择"
v-model="villageAccountType"
@click="showVillageAccountType = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
required
:rules="[{ required: true , message:'请选择账户分类' }]"
v-if="accountType=='银行存款'&&(form.bankType==1||form.bankType==2)"
/>
<van-popup v-model="showVillageAccountType" position="bottom">
<van-picker
show-toolbar
:columns="villageAccountTypeOptions"
@confirm="onConfirmVillageAccountType"
@cancel="showVillageAccountType = false"
/>
</van-popup>
<van-field
readonly
clickable
label="所属镇账户"
placeholder="请选择"
v-model="taccountId"
@click="showTaccountId = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
required
:rules="[{ required: true , message:'请选择所属镇账户' }]"
v-if="accountType=='银行存款'&&(form.bankType=='1'||form.bankType=='2')&&form.villageAccountType!=1"
/>
<van-popup v-model="showTaccountId" position="bottom">
<van-picker
show-toolbar
:columns="taccountIdOptions"
@confirm="onConfirmTaccountId"
@cancel="showTaccountId = false"
/>
</van-popup>
<van-field label="客户编号" v-if="accountType=='银行存款'&&(form.bankType=='1'||form.bankType=='2')" required :rules="[{ required: true , message:'请输入客户编号' }]" v-model="form.cifNo" placeholder="请输入客户编号" input-align="right" label-width="auto"/>
<van-field label="账簿号" v-if="accountType=='银行存款'&&villageAccountType=='多级账簿'" required :rules="[{ required: true , message:'请输入账簿号' }]" v-model="form.accountNo" placeholder="请输入账簿号" input-align="right" label-width="auto"/>
<van-field label="管控类型" required :rules="[{ required: true , message:'请选择管控类型' }]" v-if="accountType=='银行存款'&&form.bankType==2&&villageAccountType=='多级账簿'">
<template #right-icon>
<van-radio-group direction="horizontal" v-model="form.managementControlType" @change="onConfirmManagementControlType">
<van-radio name="1">账簿余额</van-radio>
<van-radio name="2">中心账簿</van-radio>
</van-radio-group>
</template>
</van-field>
<van-field
readonly
clickable
label="中心账套"
placeholder="请选择"
v-model="centralBookId"
@click="showCentralBookId = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
required
:rules="[{ required: true , message:'请选择开户银行' }]"
v-if="accountType=='银行存款'&&form.managementControlType=='2'"
/>
<van-popup v-model="showCentralBookId" position="bottom">
<van-picker
show-toolbar
:columns="centralBookIdList"
@confirm="onConfirmCentralBookId"
@cancel="showCentralBookId = false"
/>
</van-popup>
<van-field
readonly
clickable
label="会计科目"
placeholder="请选择"
v-model="centralSubjectId"
@click="showCentralSubjectId = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
required
:rules="[{ required: true , message:'请选择会计科目' }]"
v-if="accountType=='银行存款'&&form.managementControlType=='2'"
/>
<van-popup v-model="showCentralSubjectId" position="bottom">
<van-picker
show-toolbar
:columns="centralSubjectIdList"
@confirm="onConfirmCentralSubjectId"
@cancel="showCentralSubjectId = false"
/>
</van-popup>
<van-field label="账户名称" required :rules="[{ required: true , message:'请输入账户名称' }]" v-model="form.accountName" placeholder="请输入账户名称" input-align="right" label-width="auto"/>
<van-field label="银行账户" v-if="accountType=='银行存款'" :rules="[{ required: true , message:'请输入银行账户' }]" v-model="form.bankAccountNumber" placeholder="请输入银行账户" input-align="right" label-width="auto" required/>
<van-field
readonly
clickable
label="开户银行"
placeholder="请选择"
v-model="form.bankName"
@click="showBankDeposit = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
required
:rules="[{ required: true , message:'请选择开户银行' }]"
v-if="accountType=='银行存款'"
/>
<van-popup v-model="showBankDeposit" position="bottom">
<van-picker
show-toolbar
:columns="bankDepositList"
@confirm="onConfirmBankDeposit"
@cancel="showBankDeposit = false"
/>
</van-popup>
<van-field label="联行号" v-if="accountType=='银行存款'" :rules="[{ required: true , message:'请输入联行号' }]" v-model="form.paymentLines" placeholder="请输入联行号" input-align="right" label-width="auto" required/>
<van-field
readonly
clickable
@@ -54,22 +198,51 @@
@cancel="showSubjectId = false"
/>
</van-popup>
<van-field label="银行账户" v-model="form.bankAccountNumber" placeholder="请输入银行账户" input-align="right" label-width="auto"/>
<van-field label="开户银行" v-model="form.bankName" placeholder="请输入开户银行" input-align="right" label-width="auto"/>
<van-field label="联行号" v-model="form.paymentLines" placeholder="请输入联行号" input-align="right" label-width="auto"/>
<van-field label="操作员代码" v-model="form.operatorCode" placeholder="请输入操作员代码" input-align="right" label-width="auto"/>
<van-field label="企业编码" v-model="form.enterpriseCode" placeholder="请输入企业编码" input-align="right" label-width="auto"/>
<van-field label="开户银行地址" v-model="form.site" placeholder="请输入开户银行地址" input-align="right" label-width="auto"/>
<van-field label="账户密码" v-model="form.accountPassword" placeholder="请输入账户密码" input-align="right" label-width="auto"/>
<van-field label="初始余额" required :rules="[{ required: true , message:'请输入初始余额' }]" v-model="form.initialBalance" placeholder="请输入初始余额" input-align="right" label-width="auto"/>
<van-cell title="是否停用">
<van-field label="开户银行地址" v-if="accountType=='银行存款'" :rules="[{ required: true , message:'请输入开户银行地址' }]" v-model="form.site" placeholder="请输入开户银行地址" input-align="right" label-width="auto" required/>
<van-field label="支付口令" v-if="accountType=='银行存款'" :rules="[{ required: true , message:'请输入支付口令' }]" v-model="form.accountPassword" placeholder="请输入支付口令" input-align="right" label-width="auto" required/>
<van-field label="账户类型" v-if="accountType=='银行存款'" required :rules="[{ required: true , message:'请选择账户类型' }]">
<template #right-icon>
<van-radio-group direction="horizontal" v-model="form.bankAccountType">
<van-radio name="1">公户</van-radio>
<van-radio name="2">私户</van-radio>
</van-radio-group>
</template>
</van-field>
<van-field label="初始余额" v-model="form.initialBalance" required :rules="[{ required: true , message:'请输入初始余额' }]" placeholder="请输入初始余额" input-align="right" label-width="auto"/>
<van-field label="内部账号" v-if="accountType=='银行存款'&&form.bankType=='3'" v-model="form.alternateField1" required :rules="[{ required: true , message:'请输入内部账号' }]" placeholder="请输入内部账号" input-align="right" label-width="auto"/>
<van-field label="内部户名" v-if="accountType=='银行存款'&&form.bankType=='3'" v-model="form.alternateField2" required :rules="[{ required: true , message:'请输入内部户名' }]" placeholder="请输入内部户名" input-align="right" label-width="auto"/>
<van-field label="账簿号" v-if="accountType=='银行存款'&&form.bankType=='3'" v-model="form.alternateField3" required :rules="[{ required: true , message:'请输入账簿号' }]" placeholder="请输入账簿号" input-align="right" label-width="auto"/>
<van-field label="手机号码" v-if="accountType=='银行存款'&&form.bankType=='4'" v-model="form.alternateField1" required :rules="[{ required: true , message:'请输入手机号' }]" placeholder="请输入手机号" input-align="right" label-width="auto"/>
<van-field label="是否停用" required :rules="[{ required: true , message:'请选择是否停用' }]">
<template #right-icon>
<van-radio-group direction="horizontal" v-model="form.status">
<van-radio name="Y">是</van-radio>
<van-radio name="N">否</van-radio>
</van-radio-group>
</template>
</van-cell>
</van-field>
</div>
<p class="main_title" v-if="villageAccountType=='多级账簿'">账簿信息</p>
<div class="main_box" v-if="villageAccountType=='多级账簿'">
<van-field label="账簿是否限额" disabled>
<template #right-icon>
<van-radio-group direction="horizontal" v-model="form.alternateField1" :disabled="true">
<van-radio name="Y">是</van-radio>
<van-radio name="N">否</van-radio>
</van-radio-group>
</template>
</van-field>
<van-field label="单笔交易限额" v-model="form.alternateField2" placeholder="0.00" input-align="right" label-width="auto" :disabled="true"/>
<van-field label="账簿是否透支" disabled>
<template #right-icon>
<van-radio-group direction="horizontal" v-model="form.alternateField3" :disabled="true">
<van-radio name="Y">是</van-radio>
<van-radio name="N">否</van-radio>
</van-radio-group>
</template>
</van-field>
<van-field label="透支类型" v-model="form.alternateField4" placeholder="无" input-align="right" label-width="auto" :disabled="true"/>
<van-field label="透支额度(元)" v-model="form.alternateField5" placeholder="0.00" input-align="right" label-width="auto" :disabled="true"/>
</div>
<div style="padding: 16px 0;">
<van-row>
@@ -84,33 +257,67 @@
</template>

<script>
import { getAccount , getSubjectDetail , updateAccount } from "@/api/onlineHome/bankAgriculture/paymentAccount";
import { getAccount , getSubjectDetail , updateAccount,listDeposit,queryTaccount,getCentralBooks } from "@/api/onlineHome/bankAgriculture/paymentAccount";
import {getCentralSubjects} from "../../../../api/onlineHome/bankAgriculture/paymentAccount";
export default {
name: "paymentAccountModify",
data() {
return {
showCentralSubjectId:false,
showCentralBookId:false,
showManagementControlType:false,
showTaccountId:false,
showVillageAccountType:false,
villageAccountType:null,
showAccountType:false,
showSubjectId:false,

showBankType:false,
minDate: new Date(),
showBankDeposit:false,
maxDate: new Date(2025, 10, 1),
currentDate: new Date(),
jgList:{},

managementControlType:'',
taccountId:'',
accountType:'',
bankType:'',
centralBookId:'',
centralSubjectId:'',
jglx:'',
wfydlx:'',

wfydlxDictionaries:[],
jglxDictionaries:[],
subjectDictionaries:[],
typeDictionaries:[],
villageAccountTypeOptions:[],
taccountIdOptions:[],
centralBookIdList:[],
centralSubjectIdList:[],
// 管控类型 == 中心账套时选择中心账套
centralBooks: [],
// 管控类型字典
managementControlTypeOptions: [],
bankDepositList:[],
// 所属银行字典
bankTypeOptions: [],
subjectDeatil:'',

bankDepositQueryParams: {
pageNum: 1,
pageSize: 10,
bookId: null,
deptId: null,
payee: null,
payeeAccount: null,
bankDeposit: null,
payeeType:null,
bankType:null,
status: "0",
},
form:{}
};
},
created() {
this.getTaList();
this.getDetail();
},
methods: {
@@ -123,15 +330,87 @@
}
this.accountType = this.selectDictLabel(res.data, response.data.accountType);
});
this.getDicts("bank_type").then(res => {
for (var i = 0; i < res.data.length; i++) {
this.bankTypeOptions.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
this.bankType = this.selectDictLabel(res.data, response.data.bankType);
}
});
this.getDicts("village_account_type").then(res => {
for (var i = 0; i < res.data.length; i++) {
this.villageAccountTypeOptions.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
this.villageAccountType = this.selectDictLabel(res.data, response.data.villageAccountType);
}
});
getSubjectDetail().then((res) => {
for (var i = 0; i < res.rows.length; i++) {
this.subjectDictionaries.push({text: res.rows[i].subjectNameAll, value: res.rows[i].subjectId});
}
this.subjectDeatil = this.selectSubject(res.rows , response.data.subjectId);
});

queryTaccount({
bankType:response.data.bankType
}).then(res => {
this.taccountIdOptions = res.rows;
for (var i = 0; i < res.rows.length; i++) {
this.$set(this.taccountIdOptions[i], "text",res.rows[i].payee);
this.$set(this.taccountIdOptions[i], "value",res.rows[i].id);
if(response.data.taccountId==res.rows[i].id){
this.taccountId= res.rows[i].payee
}
}
});
if(response.data.centralBookId!=null&&response.data.centralBookId!=""&&response.data.managementControlType=="2"){
getCentralBooks({yinnongTaccountId: response.data.taccountId}).then((res) => {
this.centralBookIdList = res.data;
for (var i = 0; i < res.data.length; i++) {
this.$set(this.centralBookIdList[i], "text",res.data[i].bookName);
this.$set(this.centralBookIdList[i], "value",res.data[i].id);
}
this.centralBookId = this.selectSubject(res.data , response.data.centralBookId);
});
if(response.data.centralSubjectId!=null&&response.data.centralSubjectId!=""){
getCentralSubjects({bookId: response.data.centralBookId}).then((res) => {
this.centralSubjectIdList = res.data;
for (var i = 0; i < res.data.length; i++) {
this.$set(this.centralSubjectIdList[i], "text",res.data[i].subjectName);
this.$set(this.centralSubjectIdList[i], "value",res.data[i].subjectId);
}
this.centralSubjectId = this.selectSubject(res.data , response.data.centralSubjectId);
})
}
if(response.data.bankDeposit!=null&&response.data.bankDeposit!=""){
this.bankDepositQueryParams.bankType = response.data.bankType;
listDeposit(this.bankDepositQueryParams).then(response => {
this.bankDepositList = response.rows;
for (var i = 0; i < response.rows.length; i++) {
this.$set(this.bankDepositList[i], "text",response.rows[i].bankDeposit);
this.$set(this.bankDepositList[i], "value",response.rows[i].bankDeposit);
}
this.bankDeposit = this.selectSubject(response.rows , response.data.bankDeposit);
})
}
}
this.form = response.data;
});
},
getTaList(){
let params= {
// 分页
pageNum: 1,
pageSize: 100,
bankType:this.form.bankType,
}
// this.getCentralBookOptions();
queryTaccount(params).then(res => {
this.taccountIdOptions = res.rows;
for (var i = 0; i < res.rows.length; i++) {
this.$set(this.taccountIdOptions[i], "text",res.rows[i].payee);
this.$set(this.taccountIdOptions[i], "value",res.rows[i].id);
}
});
},
getError(e){
console.log(e)
this.$notify({ type: 'danger', message: e.errors[0].message });
@@ -146,6 +425,75 @@
})
return actions.join('');
},
onConfirmCentralBookId(val){
this.showCentralBookId = false
this.$set(this.form, "centralBookId",val.value);
this.centralBookId = val.text
getCentralSubjects({bookId: val.id}).then((res) => {
this.centralSubjectIdList = res.data;
for (var i = 0; i < res.data.length; i++) {
this.$set(this.centralSubjectIdList[i], "text",res.data[i].subjectName);
this.$set(this.centralSubjectIdList[i], "value",res.data[i].subjectId);
}
})
},
onConfirmCentralSubjectId(val){
this.showCentralSubjectId = false
this.$set(this.form, "centralSubjectId",val.value);
this.centralSubjectId = val.text
},
onConfirmManagementControlType(val){
if(val==2){
getCentralBooks({yinnongTaccountId: this.form.taccountId}).then((res) => {
this.centralBookIdList = res.data;
for (var i = 0; i < res.data.length; i++) {
this.$set(this.centralBookIdList[i], "text",res.data[i].bookName);
this.$set(this.centralBookIdList[i], "value",res.data[i].id);
}
});
}
},
onConfirmBankDeposit(val){
this.showBankDeposit = false
this.$set(this.form, "bankName", val.bankDeposit);
this.$set(this.form, "paymentLines", val.payeePaymentLines);
},
onConfirmTaccountId(val){
this.showTaccountId = false
this.taccountId = val.text
this.$set(this.form, "taccountId", val.value);
this.taccountIdOptions.map(res => {
if(res.id==val.value){
if(this.form.villageAccountType === '3'){
this.$set(this.form, "bankAccountNumber", res.payeeAccount);
}
//this.form.bankName = res.bankDeposit;
this.$set(this.form, "bankName", res.bankDeposit);
this.$set(this.form, "paymentLines", res.payeePaymentLines);
}
})
},
onConfirmBankType(val){
this.showBankType = false
this.bankType = val.text
this.$set(this.form, "bankType", val.value);
this.getTaList();
this.$set(this.form, "bankName", '');
this.$set(this.form, "paymentLines", '');
this.bankDepositQueryParams.bankType = val.value;
listDeposit(this.bankDepositQueryParams).then(response => {
this.bankDepositList = response.rows;
for (var i = 0; i < response.rows.length; i++) {
this.$set(this.bankDepositList[i], "text",response.rows[i].bankDeposit);
this.$set(this.bankDepositList[i], "value",response.rows[i].bankDeposit);
}
})
},
onConfirmVillageAccountType(val){
this.showVillageAccountType = false
this.villageAccountType = val.text
this.$set(this.form, "villageAccountType", val.value);
},
onConfirmSubject(data){
this.subjectDeatil = data.text;
this.form.subjectId = data.value;


+ 154
- 0
src/views/yinnong/advice.vue Ver ficheiro

@@ -0,0 +1,154 @@
<template>
<div>
<van-nav-bar
title="投诉建议"
left-arrow
@click-left="$router.back(-1)"
/>
<van-cell-group style="width: 96%;margin:2%;border-radius: 6px;overflow: hidden;padding-top: 10px;padding-bottom: 10px;box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);">
<van-cell>
<template #title>
<van-row style="">
<van-col span="4" :offset="1">
<h3 style="">类型:</h3>
</van-col>
<van-col span="10" >
<van-radio-group v-model="form.type" direction="horizontal">
<van-radio name="1">投诉</van-radio>
<van-radio name="2">建议</van-radio>
</van-radio-group>
</van-col>
</van-row>
</template>
</van-cell>
<van-cell>
<template #title>
<van-row>
<van-col span="24">
<van-field
v-model="form.adviceContent"
rows="7"
autosize
type="textarea"
maxlength="1000"
placeholder="请输入您的反馈意见(字数1000以内)"
show-word-limit
/>
</van-col>
</van-row>
</template>
</van-cell>
</van-cell-group>
<van-cell-group style="width: 96%;margin:2%;border-radius: 6px;overflow: hidden;padding-top: 10px;padding-bottom: 10px;box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);">
<van-cell>
<template #title>
<van-row style="">
<van-col span="23" :offset="1">
<van-field name="uploader" label="">
<template #input>
<van-uploader :after-read="afterRead" :before-delete="deleteFile" v-model="fileList" multiple :max-count="5" />
</template>
</van-field>
</van-col>
</van-row>
</template>
</van-cell>
</van-cell-group>
<van-row style="text-align: center;margin-top: 40px">
<van-button color="#1D6FE9" style="border-radius: 6px;width: 90%;margin: 0 auto" @click="adviceAdd">提交</van-button>
</van-row>
</div>
</template>

<script>
import onlineHomeIndex from "../onlineHomeIndex";
import {adviceAdd} from "../../api/onlineHome/my";
import * as Toast from "vant";
import {uploadFileBase} from "../../api/authenticRight";
import {Dialog} from "vant";
import {base64Attach, deleteUserImg} from "../../api/user";

export default {
components: {
onlineHomeIndex
},
name: "advice",
data() {
return {
form:{
id:'',
type: '1',
adviceContent:'',
url:[],
files:[],
},
file: {
files:[],
fileType:'',
bizPath:'advice',
tableName:'t_sys_advice',
tableId:''
},
fileList:[],
upLoadList:[],
};
},
created() {
this.reset();
},
methods: {
reset(){
this.form={
id:'',
type: '1',
adviceContent:'',
url:[],
files:[],
}
},
afterRead(file) {
// 此时可以自行将文件上传至服务器
for ( let i = 0 ; i < this.fileList.length ; i++){
if(this.fileList[i].url == undefined&&this.fileList!='') {
this.fileList[i] = {url:this.fileList[i].content, id: '', isImage: true};
}
}
},
deleteFile(elIndex){
if(elIndex.id != ''){
deleteUserImg(elIndex.id).then(response => {});
}
return (file, name) => {
let fileIndex = name.index
this.fileList[elIndex].splice(fileIndex, 1)
this.upLoadList[elIndex].splice(fileIndex, 1)
}
},
adviceAdd(){
adviceAdd(this.form).then(res => {
this.file.tableId = res.data;
for(let i = 0 ; i < this.fileList.length ; i++){
this.file.files.push(this.fileList[i].url);
}
base64Attach(this.file).then(response => {
if (response.code == 200){
Dialog.confirm({
title: '系统提示',
message: '发布成功',
confirmButtonText: '确定',
showCancelButton:false
}).then(() => {
self.location=document.referrer;
})
}
});

});
}
},
}
</script>

<style scoped>

</style>

+ 251
- 0
src/views/yinnong/bankAgriculture/collectionAccount/collectionAdd.vue Ver ficheiro

@@ -0,0 +1,251 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">添加支付收款账户</p>
</template>
</van-nav-bar>

<van-form @submit="goAdd" @failed="getError" :show-error-message="false" scroll-to-error validate-first>
<p class="main_title">基础信息</p>
<div class="main_box">
<van-field label="收款方" required :rules="[{ required: true , message:'请输入收款方' }]" v-model="form.payee" placeholder="请输入收款方" input-align="right" label-width="auto"/>
<van-field label="收款账户" required :rules="[{ required: true , message:'请输入收款账户' }]" v-model="form.payeeAccount" placeholder="请输入收款账户" input-align="right" label-width="auto"/>
<van-field
readonly
clickable
label="所属银行"
placeholder="请选择"
v-model="bankType"
@click="showBankType = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
required
:rules="[{ required: true , message:'请选择所属银行' }]"
/>
<van-popup v-model="showBankType" position="bottom">
<van-picker
show-toolbar
:columns="bankTypeOptions"
@confirm="onConfirmBankType"
@cancel="showBankType = false"
/>
</van-popup>
<van-field
readonly
clickable
label="开户银行"
placeholder="请选择"
@click="showBankDeposit = true"
v-model="bankDeposit"
input-align="right"
right-icon="arrow-down"
label-width="auto"
required
:rules="[{ required: true , message:'请选择开户银行' }]"
/>
<van-popup v-model="showBankDeposit" position="bottom">
<van-picker
show-toolbar
:columns="bankDepositOptions"
@confirm="onConfirmBankDeposit"
@cancel="showBankDeposit = false"
/>
</van-popup>
<van-field label="联行号" readonly required :rules="[{ required: true , message:'请输入联行号' }]" v-model="form.payeePaymentLines" input-align="right" label-width="auto"/>
</div>

<div class="main_box" style="margin-top: 10px;">
<van-field label="备注" v-model="form.remark" type="textarea" placeholder="请输入备注" input-align="right" rows="3" label-width="auto"/>
</div>

<div class="main_box" style="margin-top: 10px;">
<van-cell title="账户类型" required>
<template #right-icon>
<van-radio-group direction="horizontal" required :rules="[{ required: true , message:'请选择账户类型' }]" v-model="form.accountType">
<van-radio name="1">公户</van-radio>
<van-radio name="2">私户</van-radio>
</van-radio-group>
</template>
</van-cell>
<van-field
readonly
clickable
label="收款人类型"
placeholder="请选择"
v-model="payeeType"
@click="showPayeeType = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
required
:rules="[{ required: true , message:'请选择收款人类型' }]"
/>
<van-popup v-model="showPayeeType" position="bottom">
<van-picker
show-toolbar
:columns="payeeTypeOptions"
@confirm="onConfirmPayeeType"
@cancel="showPayeeType = false"
/>
</van-popup>
<van-cell title="数据状态" required>
<template #right-icon>
<van-radio-group direction="horizontal" required :rules="[{ required: true , message:'请选择数据状态' }]" v-model="form.status">
<van-radio name="0">正常</van-radio>
<van-radio name="1">停用</van-radio>
</van-radio-group>
</template>
</van-cell>
</div>
<div style="padding: 16px 0;">
<van-row>
<van-col span="24" align="center">
<van-button type="info" native-type="submit" class="submitButton">保<i style="margin-right: 1em;"></i>存</van-button>
</van-col>
</van-row>
<div class="clear"></div>
</div>
</van-form>
</div>
</template>

<script>
import { addPayee,listDeposit } from "@/api/onlineHome/bankAgriculture/collectionAccount";
export default {
name: "collectionAdd",
data() {
return {
showBankType:false,
showBankDeposit:false,
showPayeeType:false,
form:{
accountType:'1',
status:'0'
},

bankType:'',
payeeType:'',
bankDeposit:'',
bankTypeOptions:[],
statusOptions:[],
accountTypeOptions:[],
payeeTypeOptions:[],
bankDepositOptions:[],
};
},
created() {
this.getDictionaries();
},
methods: {
getDictionaries(){
this.houseGetDicts("bank_type").then((res) => {
for(var i = 0 ; i < res.data.length ; i++){
this.bankTypeOptions.push({text:res.data[i].dictLabel,value:res.data[i].dictValue});
}
});
this.houseGetDicts("sys_normal_disable").then((res) => {
console.log(res)
for(var i = 0 ; i < res.data.length ; i++){
this.statusOptions.push({text:res.data[i].dictLabel,value:res.data[i].dictValue});
}
});
this.houseGetDicts("bank_account_type").then((res) => {
console.log(res)
for(var i = 0 ; i < res.data.length ; i++){
this.accountTypeOptions.push({text:res.data[i].dictLabel,value:res.data[i].dictValue});
}
});
this.houseGetDicts("payee_type").then((res) => {
for(var i = 0 ; i < res.data.length ; i++){
this.payeeTypeOptions.push({text:res.data[i].dictLabel,value:res.data[i].dictValue});
}
});

},
getError(e){
console.log(e)
this.$notify({ type: 'danger', message: e.errors[0].message });
},
onConfirmBankType(data){
this.bankType = data.text;
this.form.bankType = data.value;
this.bankDeposit = ""
this.form.payeePaymentLines = ""
this.showBankType = false;
let queryParams={
"pageNum": 1,
"pageSize": 20,
"bankType":this.form.bankType,
"status": "0",
}
listDeposit(queryParams).then(response => {
this.bankDepositOptions = []
for(var i = 0 ; i < response.rows.length ; i++){
this.bankDepositOptions.push({"text":response.rows[i].bankDeposit,"value":response.rows[i].id});
}
});
},
onConfirmBankDeposit(data){
this.bankDeposit = data.text
this.form.payeePaymentLines = data.value;
this.showBankDeposit = false;
},
onConfirmPayeeType(data){
this.payeeType = data.text;
this.form.payeeType = data.value;
this.showPayeeType = false;
},
goAdd(){
addPayee(this.form).then(response => {
this.$toast.success('新增成功');
setTimeout(function(){
history.go(-1)
},2000)
});
},
goBack(){
window.history.go(-1)
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
margin-top: 0;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;
}

.addFamily{
position: absolute;
top: -2px;
right: 0;
border-radius: 50%;
}
</style>

+ 138
- 0
src/views/yinnong/bankAgriculture/collectionAccount/collectionDetail.vue Ver ficheiro

@@ -0,0 +1,138 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">查看支付收款账户</p>
</template>
</van-nav-bar>
<p class="main_title">基础信息</p>
<div class="main_box">
<van-field readonly label="收款方" v-model="form.payee" input-align="right" label-width="auto"/>
<van-field readonly label="收款账户" v-model="form.payeeAccount" input-align="right" label-width="auto"/>
<van-field readonly label="所属银行" v-model="bankType" input-align="right" label-width="auto" />
<van-field readonly label="开户银行" v-model="form.bankDeposit" input-align="right" label-width="auto"/>
</div>

<div class="main_box" style="margin-top: 10px;">
<van-field readonly label="备注" v-model="form.remark" type="textarea" input-align="right" rows="3" label-width="auto"/>
</div>

<div class="main_box" style="margin-top: 10px;">
<van-cell title="账户类型">
<template #right-icon>
{{form.accountType == '1' ? '公户' : '私户' }}
</template>
</van-cell>
<van-field readonly label="收款人类型" v-model="payeeType" input-align="right" label-width="auto" />
<van-cell title="数据状态">
<template #right-icon>
{{form.accountType == '0' ? '正常' : '停用' }}
</template>
</van-cell>
</div>
</div>
</template>

<script>
import { getPayee , updatePayee } from "@/api/onlineHome/bankAgriculture/collectionAccount";
export default {
name: "collectionModify",
data() {
return {
showBankType:false,
showPayeeType:false,
form:{},

bankType:'',
payeeType:'',

bankTypeOptions:[],
payeeTypeOptions:[],

};
},
created() {
this.getDictionaries();
},
methods: {
getDictionaries(){
getPayee(this.$route.query.id).then((response) => {
this.houseGetDicts("bank_type").then((res) => {
for(var i = 0 ; i < res.data.length ; i++){
this.bankTypeOptions.push({text:res.data[i].dictLabel,value:res.data[i].dictValue});
}
this.bankType = this.selectDictLabel(res.data, response.data.bankType);
});
this.houseGetDicts("payee_type").then((res) => {
for(var i = 0 ; i < res.data.length ; i++){
this.payeeTypeOptions.push({text:res.data[i].dictLabel,value:res.data[i].dictValue});
}
this.payeeType = this.selectDictLabel(res.data, response.data.payeeType);
});
this.form = response.data;
});

},
onConfirmBankType(data){
this.bankType = data.text;
this.form.bankType = data.value;
this.showBankType = false;
},
onConfirmPayeeType(data){
this.payeeType = data.text;
this.form.payeeType = data.value;
this.showPayeeType = false;
},
goAdd(){
console.log(this.form)
updatePayee(this.form).then(response => {
this.$toast.success('修改成功');
setTimeout(function(){
history.go(-1)
},2000)
});
},
goBack(){
window.history.go(-1)
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
margin-top: 0;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;
}

.addFamily{
position: absolute;
top: -2px;
right: 0;
border-radius: 50%;
}
</style>

+ 177
- 0
src/views/yinnong/bankAgriculture/collectionAccount/collectionList.vue Ver ficheiro

@@ -0,0 +1,177 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
@click-right="goAdd()"
>
<template #title>
<p style="font-weight: bold;">银农支付收款账户</p>
</template>
<template #right>
<van-icon name="add" size="18"/>
</template>
</van-nav-bar>

<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<van-swipe-cell v-for="(item,index) in applicationList" :key="index">
<van-cell center :to="{name:'collectionDetail', query: {id:item.id}}">
<template #icon>
<van-icon name="../../../../../static/images/onlineHome/icon_yn9.png" size="30" color="#539FFD" style="margin-right: 10px;" />
</template>
<template #label>
<p>{{item.payeeAccount}}</p>
</template>
<template #title>
<p class="van-ellipsis">{{item.payee}}</p>
</template>
<template #default>
<p>{{item.accountType}}</p>
<p style="font-size: 12px;font-weight: normal;color: #878787;">{{item.bankType}}</p>
</template>
</van-cell>
<template #right>
<van-row>
<van-col>
<van-button square text="修改" type="info" :to="{name:'collectionModify', query: {id:item.id}}" class="delete-button" />
</van-col>
<van-col>
<van-button square text="删除" type="danger" @click="deleteList(item.id,index)" class="delete-button" />
</van-col>
</van-row>
</template>
</van-swipe-cell>
</van-list>
</div>
</template>

<script>
import { listPayee , delPayee } from "@/api/onlineHome/bankAgriculture/collectionAccount";
export default {
name: "collectionList",
data() {
return {
applicationList:[],
loading: false,
finished: false,
queryParams:{
pageNum:1,
pageSize:10,
}
};
},
created() {
this.getDicts("bank_type").then(response => {
this.bankTypeOptions = response.data;
});
this.getDicts("sys_normal_disable").then(response => {
this.statusOptions = response.data;
});
this.getDicts("bank_account_type").then(response => {
this.accountTypeOptions = response.data;
});
this.getDicts("payee_type").then(response => {
this.payeeTypeOptions = response.data;
});
},
methods: {
goAdd(){
window.location = 'collectionAdd';
},
getList(){
setTimeout(() => {
listPayee(this.queryParams).then(response => {
console.log(response)
for (var i = 0; i < response.rows.length; i++) {
response.rows[i].accountType = this.selectDictLabel(this.accountTypeOptions, response.rows[i].accountType);
response.rows[i].bankType = this.selectDictLabel(this.bankTypeOptions, response.rows[i].bankType);

this.applicationList.push(response.rows[i]);
}
if(this.applicationList.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.queryParams.pageNum += 1 ;
}
});
}, 1000);
},
deleteList(id,index){
this.$dialog.confirm({
message: '您确认删除收款账户?',
})
.then(() => {
// on confirm
this.applicationList.splice(index,1)
delPayee(id).then(res => {
if(res.code = 200){
this.$toast.success('删除成功');
}
});
})
.catch(() => {
// on cancel
});
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 0.2rem 3%;
}
/deep/.van-cell__title{
flex: 0.7;
width: 70%;
}
/deep/.van-cell__title span{
font-family: Arial;
font-size: 0.4rem;
font-weight: normal;

}
/deep/.van-cell__label span{
color: #1D6FE9;
font-weight: bold;
i{
font-size: 0.2rem;
}
}
.van-cell__label{
color: #333333;
font-size: 14Px;
}
/deep/.van-cell__value{
flex: 0.3;
color: #1D6FE9;
font-weight: bold;
}
/deep/.van-swipe-cell{
margin-bottom: 0.2rem;
border-radius: 0.2rem;
overflow: hidden;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
}
/deep/van-ellipsis{
font-weight: bold;
}
.van-row{
height: 100%;
}
.van-col{
height: 100%;
}
.delete-button {
height: 100%;
}
</style>

+ 198
- 0
src/views/yinnong/bankAgriculture/collectionAccount/collectionModify.vue Ver ficheiro

@@ -0,0 +1,198 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">修改支付收款账户</p>
</template>
</van-nav-bar>
<van-form @submit="goAdd" @failed="getError" :show-error-message="false" scroll-to-error validate-first>
<p class="main_title">基础信息</p>
<div class="main_box">
<van-field label="收款方" required :rules="[{ required: true , message:'请输入收款方' }]" v-model="form.payee" placeholder="请输入收款方" input-align="right" label-width="auto"/>
<van-field label="收款账户" required :rules="[{ required: true , message:'请输入收款账户' }]" v-model="form.payeeAccount" placeholder="请输入收款账户" input-align="right" label-width="auto"/>
<van-field
readonly
clickable
label="所属银行"
placeholder="请选择"
v-model="bankType"
@click="showBankType = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
required
:rules="[{ required: true , message:'请选择所属银行' }]"
/>
<van-popup v-model="showBankType" position="bottom">
<van-picker
show-toolbar
:columns="bankTypeOptions"
@confirm="onConfirmBankType"
@cancel="showBankType = false"
/>
</van-popup>
<van-field label="开户银行" required :rules="[{ required: true , message:'请输入开户银行' }]" v-model="form.bankDeposit" placeholder="请输入开户银行" input-align="right" label-width="auto"/>
</div>

<div class="main_box" style="margin-top: 10px;">
<van-field label="备注" v-model="form.remark" type="textarea" placeholder="请输入备注" input-align="right" rows="3" label-width="auto"/>
</div>

<div class="main_box" style="margin-top: 10px;">
<van-cell title="账户类型" required>
<template #right-icon>
<van-radio-group direction="horizontal" required :rules="[{ required: true , message:'请选择账户类型' }]" v-model="form.accountType">
<van-radio name="1">公户</van-radio>
<van-radio name="2">私户</van-radio>
</van-radio-group>
</template>
</van-cell>
<van-field
readonly
clickable
label="收款人类型"
placeholder="请选择"
v-model="payeeType"
@click="showPayeeType = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
required
:rules="[{ required: true , message:'请选择收款人类型' }]"
/>
<van-popup v-model="showPayeeType" position="bottom">
<van-picker
show-toolbar
:columns="payeeTypeOptions"
@confirm="onConfirmPayeeType"
@cancel="showPayeeType = false"
/>
</van-popup>
<van-cell title="数据状态" required>
<template #right-icon>
<van-radio-group direction="horizontal" required :rules="[{ required: true , message:'请选择数据状态' }]" v-model="form.status">
<van-radio name="0">正常</van-radio>
<van-radio name="1">停用</van-radio>
</van-radio-group>
</template>
</van-cell>
</div>
<div style="padding: 16px 0;">
<van-row>
<van-col span="24" align="center">
<van-button type="info" native-type="submit" class="submitButton">保<i style="margin-right: 1em;"></i>存</van-button>
</van-col>
</van-row>
<div class="clear"></div>
</div>
</van-form>
</div>
</template>

<script>
import { getPayee , updatePayee } from "@/api/onlineHome/bankAgriculture/collectionAccount";
export default {
name: "collectionModify",
data() {
return {
showBankType:false,
showPayeeType:false,
form:{},

bankType:'',
payeeType:'',

bankTypeOptions:[],
payeeTypeOptions:[],

};
},
created() {
this.getDictionaries();
},
methods: {
getDictionaries(){
getPayee(this.$route.query.id).then((response) => {
this.houseGetDicts("bank_type").then((res) => {
for(var i = 0 ; i < res.data.length ; i++){
this.bankTypeOptions.push({text:res.data[i].dictLabel,value:res.data[i].dictValue});
}
this.bankType = this.selectDictLabel(res.data, response.data.bankType);
});
this.houseGetDicts("payee_type").then((res) => {
for(var i = 0 ; i < res.data.length ; i++){
this.payeeTypeOptions.push({text:res.data[i].dictLabel,value:res.data[i].dictValue});
}
this.payeeType = this.selectDictLabel(res.data, response.data.payeeType);
});
this.form = response.data;
});

},
getError(e){
console.log(e)
this.$notify({ type: 'danger', message: e.errors[0].message });
},
onConfirmBankType(data){
this.bankType = data.text;
this.form.bankType = data.value;
this.showBankType = false;
},
onConfirmPayeeType(data){
this.payeeType = data.text;
this.form.payeeType = data.value;
this.showPayeeType = false;
},
goAdd(){
console.log(this.form)
updatePayee(this.form).then(response => {
this.$toast.success('修改成功');
setTimeout(function(){
history.go(-1)
},2000)
});
},
goBack(){
window.history.go(-1)
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
margin-top: 0;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;
}

.addFamily{
position: absolute;
top: -2px;
right: 0;
border-radius: 50%;
}
</style>

+ 499
- 0
src/views/yinnong/bankAgriculture/paymentAccount/paymentAccountAdd.vue Ver ficheiro

@@ -0,0 +1,499 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">添加出纳账户设置</p>
</template>
</van-nav-bar>
<van-form @submit="goModify" @failed="getError" :show-error-message="false" scroll-to-error validate-first>
<p class="main_title">基础信息</p>
<div class="main_box">
<van-field
readonly
clickable
label="账户类型"
placeholder="请选择"
v-model="accountType"
@click="showAccountType = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
required
/>
<van-popup v-model="showAccountType" position="bottom">
<van-picker
show-toolbar
:columns="typeDictionaries"
@confirm="onConfirmType"
@cancel="showAccountType = false"
/>
</van-popup>
<van-field
readonly
clickable
label="所属银行"
placeholder="请选择"
v-model="bankType"
@click="showBankType = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
required
:rules="[{ required: true , message:'请选择所属银行' }]"
/>
<van-popup v-model="showBankType" position="bottom">
<van-picker
show-toolbar
:columns="bankTypeOptions"
@confirm="onConfirmBankType"
@cancel="showBankType = false"
/>
</van-popup>
<van-field
readonly
clickable
label="账户分类"
placeholder="请选择"
v-model="villageAccountType"
@click="showVillageAccountType = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
required
:rules="[{ required: true , message:'请选择账户分类' }]"
v-if="accountType=='银行存款'&&(form.bankType==1||form.bankType==2)"
/>
<van-popup v-model="showVillageAccountType" position="bottom">
<van-picker
show-toolbar
:columns="villageAccountTypeOptions"
@confirm="onConfirmVillageAccountType"
@cancel="showVillageAccountType = false"
/>
</van-popup>
<van-field
readonly
clickable
label="所属镇账户"
placeholder="请选择"
v-model="taccountId"
@click="showTaccountId = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
required
:rules="[{ required: true , message:'请选择所属镇账户' }]"
v-if="accountType=='银行存款'&&(form.bankType=='1'||form.bankType=='2')&&form.villageAccountType!=1"
/>
<van-popup v-model="showTaccountId" position="bottom">
<van-picker
show-toolbar
:columns="taccountIdOptions"
@confirm="onConfirmTaccountId"
@cancel="showTaccountId = false"
/>
</van-popup>
<van-field label="客户编号" v-if="accountType=='银行存款'&&(form.bankType=='1'||form.bankType=='2')" required :rules="[{ required: true , message:'请输入客户编号' }]" v-model="form.cifNo" placeholder="请输入客户编号" input-align="right" label-width="auto"/>
<van-field label="账簿号" v-if="accountType=='银行存款'&&villageAccountType=='多级账簿'" required :rules="[{ required: true , message:'请输入账簿号' }]" v-model="form.accountNo" placeholder="请输入账簿号" input-align="right" label-width="auto"/>
<van-field label="管控类型" required :rules="[{ required: true , message:'请选择管控类型' }]" v-if="accountType=='银行存款'&&form.bankType==2&&villageAccountType=='多级账簿'">
<template #right-icon>
<van-radio-group direction="horizontal" v-model="form.managementControlType" @change="onConfirmManagementControlType">
<van-radio name="1">账簿余额</van-radio>
<van-radio name="2">中心账簿</van-radio>
</van-radio-group>
</template>
</van-field>
<van-field
readonly
clickable
label="中心账套"
placeholder="请选择"
v-model="centralBookId"
@click="showCentralBookId = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
required
:rules="[{ required: true , message:'请选择开户银行' }]"
v-if="accountType=='银行存款'&&form.managementControlType=='2'"
/>
<van-popup v-model="showCentralBookId" position="bottom">
<van-picker
show-toolbar
:columns="centralBookIdList"
@confirm="onConfirmCentralBookId"
@cancel="showCentralBookId = false"
/>
</van-popup>
<van-field
readonly
clickable
label="会计科目"
placeholder="请选择"
v-model="centralSubjectId"
@click="showCentralSubjectId = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
required
:rules="[{ required: true , message:'请选择会计科目' }]"
v-if="accountType=='银行存款'&&form.managementControlType=='2'"
/>
<van-popup v-model="showCentralSubjectId" position="bottom">
<van-picker
show-toolbar
:columns="centralSubjectIdList"
@confirm="onConfirmCentralSubjectId"
@cancel="showCentralSubjectId = false"
/>
</van-popup>
<van-field label="账户名称" required :rules="[{ required: true , message:'请输入账户名称' }]" v-model="form.accountName" placeholder="请输入账户名称" input-align="right" label-width="auto"/>
<van-field label="银行账户" v-if="accountType=='银行存款'" :rules="[{ required: true , message:'请输入银行账户' }]" v-model="form.bankAccountNumber" placeholder="请输入银行账户" input-align="right" label-width="auto" required/>
<van-field
readonly
clickable
label="开户银行"
placeholder="请选择"
v-model="form.bankName"
@click="showBankDeposit = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
required
:rules="[{ required: true , message:'请选择开户银行' }]"
v-if="accountType=='银行存款'"
/>
<van-popup v-model="showBankDeposit" position="bottom">
<van-picker
show-toolbar
:columns="bankDepositList"
@confirm="onConfirmBankDeposit"
@cancel="showBankDeposit = false"
/>
</van-popup>
<van-field label="联行号" v-if="accountType=='银行存款'" :rules="[{ required: true , message:'请输入联行号' }]" v-model="form.paymentLines" placeholder="请输入联行号" input-align="right" label-width="auto" required/>
<van-field
readonly
clickable
label="关联科目"
placeholder="请选择"
v-model="subjectDeatil"
@click="showSubjectId = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
required
:rules="[{ required: true , message:'请选择关联科目' }]"
/>
<van-popup v-model="showSubjectId" position="bottom">
<van-picker
show-toolbar
:columns="subjectDictionaries"
@confirm="onConfirmSubject"
@cancel="showSubjectId = false"
/>
</van-popup>
<van-field label="开户银行地址" v-if="accountType=='银行存款'" :rules="[{ required: true , message:'请输入开户银行地址' }]" v-model="form.site" placeholder="请输入开户银行地址" input-align="right" label-width="auto" required/>
<van-field label="支付口令" v-if="accountType=='银行存款'" :rules="[{ required: true , message:'请输入支付口令' }]" v-model="form.accountPassword" placeholder="请输入支付口令" input-align="right" label-width="auto" required/>
<van-field label="账户类型" v-if="accountType=='银行存款'" required :rules="[{ required: true , message:'请选择账户类型' }]">
<template #right-icon>
<van-radio-group direction="horizontal" v-model="form.bankAccountType">
<van-radio name="1">公户</van-radio>
<van-radio name="2">私户</van-radio>
</van-radio-group>
</template>
</van-field>
<van-field label="初始余额" v-model="form.initialBalance" required :rules="[{ required: true , message:'请输入初始余额' }]" placeholder="请输入初始余额" input-align="right" label-width="auto"/>
<van-field label="内部账号" v-if="accountType=='银行存款'&&form.bankType=='3'" v-model="form.alternateField1" required :rules="[{ required: true , message:'请输入内部账号' }]" placeholder="请输入内部账号" input-align="right" label-width="auto"/>
<van-field label="内部户名" v-if="accountType=='银行存款'&&form.bankType=='3'" v-model="form.alternateField2" required :rules="[{ required: true , message:'请输入内部户名' }]" placeholder="请输入内部户名" input-align="right" label-width="auto"/>
<van-field label="账簿号" v-if="accountType=='银行存款'&&form.bankType=='3'" v-model="form.alternateField3" required :rules="[{ required: true , message:'请输入账簿号' }]" placeholder="请输入账簿号" input-align="right" label-width="auto"/>
<van-field label="手机号码" v-if="accountType=='银行存款'&&form.bankType=='4'" v-model="form.alternateField1" required :rules="[{ required: true , message:'请输入手机号' }]" placeholder="请输入手机号" input-align="right" label-width="auto"/>
<van-field label="是否停用" required :rules="[{ required: true , message:'请选择是否停用' }]">
<template #right-icon>
<van-radio-group direction="horizontal" v-model="form.status">
<van-radio name="Y">是</van-radio>
<van-radio name="N">否</van-radio>
</van-radio-group>
</template>
</van-field>
</div>
<p class="main_title" v-if="villageAccountType=='多级账簿'">账簿信息</p>
<div class="main_box" v-if="villageAccountType=='多级账簿'">
<van-field label="账簿是否限额" disabled>
<template #right-icon>
<van-radio-group direction="horizontal" v-model="form.alternateField1" :disabled="true">
<van-radio name="Y">是</van-radio>
<van-radio name="N">否</van-radio>
</van-radio-group>
</template>
</van-field>
<van-field label="单笔交易限额" v-model="form.alternateField2" placeholder="0.00" input-align="right" label-width="auto" :disabled="true"/>
<van-field label="账簿是否透支" disabled>
<template #right-icon>
<van-radio-group direction="horizontal" v-model="form.alternateField3" :disabled="true">
<van-radio name="Y">是</van-radio>
<van-radio name="N">否</van-radio>
</van-radio-group>
</template>
</van-field>
<van-field label="透支类型" v-model="form.alternateField4" placeholder="无" input-align="right" label-width="auto" :disabled="true"/>
<van-field label="透支额度(元)" v-model="form.alternateField5" placeholder="0.00" input-align="right" label-width="auto" :disabled="true"/>
</div>
<div style="padding: 16px 0;">
<van-row>
<van-col span="24" align="center">
<van-button type="info" native-type="submit" class="submitButton">保<i style="margin-right: 1em;"></i>存</van-button>
</van-col>
</van-row>
<div class="clear"></div>
</div>
</van-form>
</div>
</template>

<script>
import { getSubjectDetail , addAccount,listDeposit,queryTaccount,getCentralBooks } from "@/api/onlineHome/bankAgriculture/paymentAccount";
import {getCentralSubjects} from "../../../../api/onlineHome/bankAgriculture/paymentAccount";
export default {
name: "paymentAccountAdd",
data() {
return {
showCentralSubjectId:false,
showCentralBookId:false,
showManagementControlType:false,
showTaccountId:false,
showVillageAccountType:false,
villageAccountType:null,
showAccountType:false,
showSubjectId:false,
showBankType:false,
minDate: new Date(),
showBankDeposit:false,
maxDate: new Date(2025, 10, 1),
currentDate: new Date(),
jgList:{},
managementControlType:'',
taccountId:'',
accountType:'',
bankType:'',
centralBookId:'',
centralSubjectId:'',
jglx:'',
wfydlx:'',
wfydlxDictionaries:[],
jglxDictionaries:[],
subjectDictionaries:[],
typeDictionaries:[],
villageAccountTypeOptions:[],
taccountIdOptions:[],
centralBookIdList:[],
centralSubjectIdList:[],
// 管控类型 == 中心账套时选择中心账套
centralBooks: [],
// 管控类型字典
managementControlTypeOptions: [],
bankDepositList:[],
// 所属银行字典
bankTypeOptions: [],
subjectDeatil:'',
bankDepositQueryParams: {
pageNum: 1,
pageSize: 10,
bookId: null,
deptId: null,
payee: null,
payeeAccount: null,
bankDeposit: null,
payeeType:null,
bankType:null,
status: "0",
},
form:{}
};
},
created() {
this.getTaList();

},
methods: {
getDetail(){
// 账户类型
this.houseGetDicts("account_type_cashier").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.typeDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
this.getDicts("cashier_account_management_control_type").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.managementControlTypeOptions.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
this.getDicts("bank_type").then(res => {
for (var i = 0; i < res.data.length; i++) {
this.bankTypeOptions.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
this.getDicts("village_account_type").then(res => {
for (var i = 0; i < res.data.length; i++) {
this.villageAccountTypeOptions.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
getSubjectDetail().then((res) => {
for (var i = 0; i < res.rows.length; i++) {
this.subjectDictionaries.push({text: res.rows[i].subjectNameAll, value: res.rows[i].subjectId});
}
});
},
getTaList(){
let params= {
// 分页
pageNum: 1,
pageSize: 100,
bankType:this.form.bankType,
}
// this.getCentralBookOptions();
queryTaccount(params).then(res => {
this.taccountIdOptions = res.rows;
for (var i = 0; i < res.rows.length; i++) {
this.$set(this.taccountIdOptions[i], "text",res.rows[i].payee);
this.$set(this.taccountIdOptions[i], "value",res.rows[i].id);
}
});
},
getError(e){
this.$notify({ type: 'danger', message: e.errors[0].message });
},
onConfirmCentralBookId(val){
this.showCentralBookId = false
this.$set(this.form, "centralBookId",val.value);
this.centralBookId = val.text
getCentralSubjects({bookId: val.id}).then((res) => {
this.centralSubjectIdList = res.data;
for (var i = 0; i < res.data.length; i++) {
this.$set(this.centralSubjectIdList[i], "text",res.data[i].subjectName);
this.$set(this.centralSubjectIdList[i], "value",res.data[i].subjectId);
}
})
},
onConfirmCentralSubjectId(val){
this.showCentralSubjectId = false
this.$set(this.form, "centralSubjectId",val.value);
this.centralSubjectId = val.text
},
onConfirmManagementControlType(val){
if(val==2){
getCentralBooks({yinnongTaccountId: this.form.taccountId}).then((res) => {
this.centralBookIdList = res.data;
for (var i = 0; i < res.data.length; i++) {
this.$set(this.centralBookIdList[i], "text",res.data[i].bookName);
this.$set(this.centralBookIdList[i], "value",res.data[i].id);
}
});
}
},
onConfirmBankDeposit(val){
this.showBankDeposit = false
this.$set(this.form, "bankName", val.bankDeposit);
this.$set(this.form, "paymentLines", val.payeePaymentLines);
},
onConfirmTaccountId(val){
this.showTaccountId = false
this.taccountId = val.text
this.$set(this.form, "taccountId", val.value);
this.taccountIdOptions.map(res => {
if(res.id==val.value){
if(this.form.villageAccountType === '3'){
this.$set(this.form, "bankAccountNumber", res.payeeAccount);
}
//this.form.bankName = res.bankDeposit;
this.$set(this.form, "bankName", res.bankDeposit);
this.$set(this.form, "paymentLines", res.payeePaymentLines);
}
})
},
onConfirmBankType(val){
this.showBankType = false
this.bankType = val.text
this.$set(this.form, "bankType", val.value);
this.getTaList();
this.$set(this.form, "bankName", '');
this.$set(this.form, "paymentLines", '');
this.bankDepositQueryParams.bankType = val.value;
listDeposit(this.bankDepositQueryParams).then(response => {
this.bankDepositList = response.rows;
for (var i = 0; i < response.rows.length; i++) {
this.$set(this.bankDepositList[i], "text",response.rows[i].bankDeposit);
this.$set(this.bankDepositList[i], "value",response.rows[i].bankDeposit);
}
})
},
onConfirmVillageAccountType(val){
this.showVillageAccountType = false
this.villageAccountType = val.text
this.$set(this.form, "villageAccountType", val.value);
},
onConfirmSubject(data){
this.subjectDeatil = data.text;
this.form.subjectId = data.value;
this.form.subjectNameAll = data.text;
this.showSubjectId = false;
},
onConfirmType(data){
this.accountType = data.text;
this.form.accountType = data.value;
this.showAccountType = false;
},
goModify(){
console.log(this.form)
this.form.balance = this.form.initialBalance;
addAccount(this.form).then((response) => {
this.$toast.success('添加成功');
setTimeout(function(){
history.go(-1)
},2000)
});
},
goBack(){
window.history.go(-1)
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
margin-top: 0;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;
}

.addFamily{
position: absolute;
top: -2px;
right: 0;
border-radius: 50%;
}
</style>

+ 172
- 0
src/views/yinnong/bankAgriculture/paymentAccount/paymentAccountDetail.vue Ver ficheiro

@@ -0,0 +1,172 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">付款账户查看</p>
</template>
</van-nav-bar>
<p class="main_title">基础信息</p>
<div class="main_box" v-if="form">
<van-field readonly label="账户类型" v-model="accountType" input-align="right" label-width="auto" />
<van-field readonly label="所属银行" v-model="bankType" input-align="right" label-width="auto" />
<van-field readonly label="账户分类" v-if="accountType=='银行存款'&&(bankType=='中国银行'||bankType=='山东省农村信用社(农商行)')" v-model="villageAccountType" input-align="right" label-width="auto" />
<van-field readonly label="所属镇账户" v-if="accountType=='银行存款'&&villageAccountType!='村虚拟账户'" v-model="taccountId" input-align="right" label-width="auto" />
<van-field readonly label="账簿号" v-if="accountType=='银行存款'&&villageAccountType=='多级账簿'" v-model="accountNo" input-align="right" label-width="auto" />
<van-cell title="管控类型" v-if="accountType=='银行存款'&&villageAccountType=='多级账簿'&&bankType=='山东省农村信用社(农商行)'" >
<template #right-icon>
{{form.managementControlType == '1' ? '账簿余额':'中心账簿'}}
</template>
</van-cell>
<van-field readonly label="中心账套" v-if="accountType=='银行存款'&&form.managementControlType=='2'" v-model="centralBookId" input-align="right" label-width="auto" />
<van-field readonly label="会计科目" v-if="accountType=='银行存款'&&form.managementControlType=='2'" v-model="centralSubjectId" input-align="right" label-width="auto" />
<van-field readonly label="账户名称" v-model="form.accountName" input-align="right" label-width="auto"/>
<van-field readonly label="银行账户" v-if="accountType=='银行存款'" v-model="form.bankAccountNumber" input-align="right" label-width="auto"/>
<van-field readonly label="开户银行" v-if="accountType=='银行存款'" v-model="form.bankName" input-align="right" label-width="auto"/>
<van-field readonly label="联行号" v-if="accountType=='银行存款'" v-model="form.paymentLines" input-align="right" label-width="auto"/>
<van-field readonly label="关联科目" v-model="subjectValue" input-align="right" label-width="auto" />
<van-field readonly label="科目名称" v-if="accountType=='银行存款'" v-model="form.subjectNameAll" input-align="right" label-width="auto" />
<van-field readonly label="支付口令" v-if="accountType=='银行存款'" v-model="form.site" input-align="right" label-width="auto"/>
<van-field readonly label="手机号" v-if="accountType=='银行存款'&&bankType=='建设银行'" v-model="form.alternateField1" input-align="right" label-width="auto"/>
<van-field readonly label="账户类别" v-model="bankAccountType" input-align="right" label-width="auto"/>
<van-field readonly label="开户银行地址" v-if="accountType=='银行存款'" v-model="form.site" input-align="right" label-width="auto"/>
<van-field readonly label="账户密码" v-if="accountType=='银行存款'" v-model="form.accountPassword" input-align="right" label-width="auto"/>
<van-field readonly label="初始余额" v-model="form.initialBalance" input-align="right" label-width="auto"/>
<van-field readonly label="内部账号" v-if="accountType=='银行存款'&&bankType=='农业银行'" v-model="alternateField1" input-align="right" label-width="auto"/>
<van-field readonly label="内部户名" v-if="accountType=='银行存款'&&bankType=='农业银行'" v-model="alternateField2" input-align="right" label-width="auto"/>
<van-field readonly label="账簿号" v-if="accountType=='银行存款'&&bankType=='农业银行'" v-model="alternateField3" input-align="right" label-width="auto"/>
<van-cell title="是否停用" v-if="accountType=='银行存款'" >
<template #right-icon>
{{form.status == 'Y' ? '是':'否'}}
</template>
</van-cell>
</div>
<p class="main_title" v-if="accountType=='银行存款'" >账簿信息</p>
<div class="main_box" v-if="accountType=='银行存款'" >
<van-cell title="账簿是否限额">
<template #right-icon>
{{form.status == 'Y' ? '是':'否'}}
</template>
</van-cell>
<van-field readonly label="单笔交易限额" v-model="form.initialBalance" input-align="right" label-width="auto"/>
<van-cell title="账簿是否透支">
<template #right-icon>
{{form.status == 'Y' ? '是':'否'}}
</template>
</van-cell>
<van-field readonly label="投掷类型" v-model="form.initialBalance" input-align="right" label-width="auto"/>
<van-field readonly label="透支额度(元)" v-model="form.initialBalance" input-align="right" label-width="auto"/>
</div>
</div>
</template>

<script>
import { getAccount , getSubjectDetail } from "@/api/onlineHome/bankAgriculture/paymentAccount";
export default {
name: "paymentAccountDetail",
data() {
return {
showAccountType:false,
showSubjectId:false,

minDate: new Date(),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(),
jgList:{},

accountType:'',
bankType:'',
villageAccountType:'',
taccountId:'',
accountNo:'',
managementControlType:'',
centralBookId:'',
centralSubjectId:'',
bankAccountType:'',
alternateField1:'',
alternateField2:'',
alternateField3:'',
subjectValue:'',
wfydlx:'',

wfydlxDictionaries:[],
jglxDictionaries:[],
subjectDictionaries:[],
typeDictionaries:[],
subjectDeatil:[],

form:{}
};
},
created() {
this.getDetail();
},
methods: {
getDetail(){
getAccount(this.$route.query.id).then((response) => {
// 账户类型
this.houseGetDicts("account_type_cashier").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.typeDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
this.accountType = this.selectDictLabel(res.data, response.data.accountType);
});
getSubjectDetail().then((res) => {
for (var i = 0; i < res.rows.length; i++) {
this.subjectDictionaries.push({text: res.rows[i].subjectNameAll, value: res.rows[i].subjectId});
}
this.subjectValue = this.selectSubject(res.rows , response.data.subjectId);
});
this.form = response.data;
});
},
selectSubject(datas, value) {
var actions = [];
Object.keys(datas).some((key) => {
if (datas[key].subjectId == ('' + value)) {
actions.push(datas[key].subjectNameAll);
return true;
}
})
return actions.join('');
},
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
margin-top: 0;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;
}

.addFamily{
position: absolute;
top: -2px;
right: 0;
border-radius: 50%;
}
</style>

+ 186
- 0
src/views/yinnong/bankAgriculture/paymentAccount/paymentAccountList.vue Ver ficheiro

@@ -0,0 +1,186 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
@click-right="goAdd()"
>
<template #title>
<p style="font-weight: bold;">银农支付付款账户</p>
</template>
<template #right>
<van-icon name="add" size="18"/>
</template>
</van-nav-bar>

<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<van-swipe-cell v-for="(item,index) in applicationList" :key="index">
<!-- :to="{name:'paymentAccountDetail', query: {id:item.id,type:'modify'}}"-->
<van-cell :title="item.accountType" center >
<template #icon>
<van-icon name="../../../../../static/images/onlineHome/icon_yn10.png" size="30" color="#539FFD" style="margin-right: 10px;" />
</template>
<template #label>
<p><span><i>¥</i>{{item.balance}}</span></p>
</template>
<template #default>
<p>{{item.bankAccountNumber == null || item.bankAccountNumber == '' ? '&nbsp;':item.bankAccountNumber}}</p>
<p style="font-size: 12px;font-weight: normal;color: #878787;">
{{item.accountName}}
<i style="margin-right: 1rem;"></i>
<span :style="{color: item.status == '否' ? '#1D6FE9' : '#FF4646'}">{{item.status == '否' ? '未' : '已'}}停用</span>
</p>
</template>
</van-cell>
<template #right>
<van-row>
<van-col>
<van-button square text="修改" type="info" :to="{name:'paymentAccountModify', query: {id:item.id}}" class="delete-button" />
</van-col>
<van-col>
<van-button square text="删除" type="danger" @click="deleteList(item.id,index)" class="delete-button" />
</van-col>
</van-row>
</template>
</van-swipe-cell>
</van-list>
</div>
</template>

<script>
import { getList , delAccount } from "@/api/onlineHome/bankAgriculture/paymentAccount";
export default {
name: "paymentAccountList",
data() {
return {
applicationList:[],
houseApplyStatus:[],
// 账户类型 字典字典
accountTypeOptions: [],
// 是否停用 字典 sys_yes_no字典
statusOptions: [],
// 查询类型字典
selectTypeOptions: [],
// 来往账标识字典
directionOptions: [],
loading: false,
finished: false,
queryParams:{
pageNum: 1,
pageSize: 10,
},
statusColor:'#1D6FE9'
};
},
created() {
this.getDicts("account_type_cashier").then((response) => {
this.accountTypeOptions = response.data;
});
this.getDicts("sys_yes_no").then((response) => {
this.statusOptions = response.data;
});
this.getDicts("select_type").then((response) => {
this.selectTypeOptions = response.data;
});
this.getDicts("direction").then(response => {
this.directionOptions = response.data;
});
},
methods: {
goAdd(){
window.location = 'paymentAccountAdd';
},
getList(){
setTimeout(() => {
getList(this.queryParams).then(response => {
console.log(response)
for (var i = 0; i < response.rows.length; i++) {
response.rows[i].accountType = this.selectDictLabel(this.accountTypeOptions, response.rows[i].accountType);
response.rows[i].status = this.selectDictLabel(this.statusOptions, response.rows[i].status);
this.applicationList.push(response.rows[i]);
}
if(this.applicationList.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.queryParams.pageNum += 1 ;
}
});
}, 1000);
},
deleteList(id,index){
this.$dialog.confirm({
message: '您确认删除账户信息?',
})
.then(() => {
// on confirm
this.applicationList.splice(index,1)
delAccount(id).then(res => {
if(res.code = 200){
this.$toast.success('删除成功');
}
});
})
.catch(() => {
// on cancel
});
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 0.2rem 3%;
}
/deep/.van-cell__title{
flex: 0.4;
}
/deep/.van-cell__title span{
font-family: Arial;
font-size: 0.4rem;
font-weight: normal;

}
/deep/.van-cell__label span{
color: #1D6FE9;
font-weight: bold;
i{
font-size: 0.2rem;
}
}
.van-cell__label{
font-size: 14Px;
font-weight: bold;
}
/deep/.van-cell__value{
flex: 0.6;
color: #333333;
}
/deep/.van-swipe-cell{
margin-bottom: 0.2rem;
border-radius: 0.2rem;
overflow: hidden;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
}
/deep/van-ellipsis{
font-weight: bold;
}
.van-row{
height: 100%;
}
.van-col{
height: 100%;
}
.delete-button {
height: 100%;
}
</style>

+ 556
- 0
src/views/yinnong/bankAgriculture/paymentAccount/paymentAccountModify.vue Ver ficheiro

@@ -0,0 +1,556 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">修改付款账户信息</p>
</template>
</van-nav-bar>
<van-form @submit="goModify" @failed="getError" :show-error-message="false" scroll-to-error validate-first>
<p class="main_title">基础信息</p>
<div class="main_box">
<van-field
readonly
clickable
label="账户类型"
placeholder="请选择"
v-model="accountType"
@click="showAccountType = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
required
/>
<van-popup v-model="showAccountType" position="bottom">
<van-picker
show-toolbar
:columns="typeDictionaries"
@confirm="onConfirmType"
@cancel="showAccountType = false"
/>
</van-popup>
<van-field
readonly
clickable
label="所属银行"
placeholder="请选择"
v-model="bankType"
@click="showBankType = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
required
:rules="[{ required: true , message:'请选择所属银行' }]"
/>
<van-popup v-model="showBankType" position="bottom">
<van-picker
show-toolbar
:columns="bankTypeOptions"
@confirm="onConfirmBankType"
@cancel="showBankType = false"
/>
</van-popup>
<van-field
readonly
clickable
label="账户分类"
placeholder="请选择"
v-model="villageAccountType"
@click="showVillageAccountType = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
required
:rules="[{ required: true , message:'请选择账户分类' }]"
v-if="accountType=='银行存款'&&(form.bankType==1||form.bankType==2)"
/>
<van-popup v-model="showVillageAccountType" position="bottom">
<van-picker
show-toolbar
:columns="villageAccountTypeOptions"
@confirm="onConfirmVillageAccountType"
@cancel="showVillageAccountType = false"
/>
</van-popup>
<van-field
readonly
clickable
label="所属镇账户"
placeholder="请选择"
v-model="taccountId"
@click="showTaccountId = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
required
:rules="[{ required: true , message:'请选择所属镇账户' }]"
v-if="accountType=='银行存款'&&(form.bankType=='1'||form.bankType=='2')&&form.villageAccountType!=1"
/>
<van-popup v-model="showTaccountId" position="bottom">
<van-picker
show-toolbar
:columns="taccountIdOptions"
@confirm="onConfirmTaccountId"
@cancel="showTaccountId = false"
/>
</van-popup>
<van-field label="客户编号" v-if="accountType=='银行存款'&&(form.bankType=='1'||form.bankType=='2')" required :rules="[{ required: true , message:'请输入客户编号' }]" v-model="form.cifNo" placeholder="请输入客户编号" input-align="right" label-width="auto"/>
<van-field label="账簿号" v-if="accountType=='银行存款'&&villageAccountType=='多级账簿'" required :rules="[{ required: true , message:'请输入账簿号' }]" v-model="form.accountNo" placeholder="请输入账簿号" input-align="right" label-width="auto"/>
<van-field label="管控类型" required :rules="[{ required: true , message:'请选择管控类型' }]" v-if="accountType=='银行存款'&&form.bankType==2&&villageAccountType=='多级账簿'">
<template #right-icon>
<van-radio-group direction="horizontal" v-model="form.managementControlType" @change="onConfirmManagementControlType">
<van-radio name="1">账簿余额</van-radio>
<van-radio name="2">中心账簿</van-radio>
</van-radio-group>
</template>
</van-field>
<van-field
readonly
clickable
label="中心账套"
placeholder="请选择"
v-model="centralBookId"
@click="showCentralBookId = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
required
:rules="[{ required: true , message:'请选择开户银行' }]"
v-if="accountType=='银行存款'&&form.managementControlType=='2'"
/>
<van-popup v-model="showCentralBookId" position="bottom">
<van-picker
show-toolbar
:columns="centralBookIdList"
@confirm="onConfirmCentralBookId"
@cancel="showCentralBookId = false"
/>
</van-popup>
<van-field
readonly
clickable
label="会计科目"
placeholder="请选择"
v-model="centralSubjectId"
@click="showCentralSubjectId = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
required
:rules="[{ required: true , message:'请选择会计科目' }]"
v-if="accountType=='银行存款'&&form.managementControlType=='2'"
/>
<van-popup v-model="showCentralSubjectId" position="bottom">
<van-picker
show-toolbar
:columns="centralSubjectIdList"
@confirm="onConfirmCentralSubjectId"
@cancel="showCentralSubjectId = false"
/>
</van-popup>
<van-field label="账户名称" required :rules="[{ required: true , message:'请输入账户名称' }]" v-model="form.accountName" placeholder="请输入账户名称" input-align="right" label-width="auto"/>
<van-field label="银行账户" v-if="accountType=='银行存款'" :rules="[{ required: true , message:'请输入银行账户' }]" v-model="form.bankAccountNumber" placeholder="请输入银行账户" input-align="right" label-width="auto" required/>
<van-field
readonly
clickable
label="开户银行"
placeholder="请选择"
v-model="form.bankName"
@click="showBankDeposit = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
required
:rules="[{ required: true , message:'请选择开户银行' }]"
v-if="accountType=='银行存款'"
/>
<van-popup v-model="showBankDeposit" position="bottom">
<van-picker
show-toolbar
:columns="bankDepositList"
@confirm="onConfirmBankDeposit"
@cancel="showBankDeposit = false"
/>
</van-popup>
<van-field label="联行号" v-if="accountType=='银行存款'" :rules="[{ required: true , message:'请输入联行号' }]" v-model="form.paymentLines" placeholder="请输入联行号" input-align="right" label-width="auto" required/>
<van-field
readonly
clickable
label="关联科目"
placeholder="请选择"
v-model="subjectDeatil"
@click="showSubjectId = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
required
:rules="[{ required: true , message:'请选择关联科目' }]"
/>
<van-popup v-model="showSubjectId" position="bottom">
<van-picker
show-toolbar
:columns="subjectDictionaries"
@confirm="onConfirmSubject"
@cancel="showSubjectId = false"
/>
</van-popup>
<van-field label="开户银行地址" v-if="accountType=='银行存款'" :rules="[{ required: true , message:'请输入开户银行地址' }]" v-model="form.site" placeholder="请输入开户银行地址" input-align="right" label-width="auto" required/>
<van-field label="支付口令" v-if="accountType=='银行存款'" :rules="[{ required: true , message:'请输入支付口令' }]" v-model="form.accountPassword" placeholder="请输入支付口令" input-align="right" label-width="auto" required/>
<van-field label="账户类型" v-if="accountType=='银行存款'" required :rules="[{ required: true , message:'请选择账户类型' }]">
<template #right-icon>
<van-radio-group direction="horizontal" v-model="form.bankAccountType">
<van-radio name="1">公户</van-radio>
<van-radio name="2">私户</van-radio>
</van-radio-group>
</template>
</van-field>
<van-field label="初始余额" v-model="form.initialBalance" required :rules="[{ required: true , message:'请输入初始余额' }]" placeholder="请输入初始余额" input-align="right" label-width="auto"/>
<van-field label="内部账号" v-if="accountType=='银行存款'&&form.bankType=='3'" v-model="form.alternateField1" required :rules="[{ required: true , message:'请输入内部账号' }]" placeholder="请输入内部账号" input-align="right" label-width="auto"/>
<van-field label="内部户名" v-if="accountType=='银行存款'&&form.bankType=='3'" v-model="form.alternateField2" required :rules="[{ required: true , message:'请输入内部户名' }]" placeholder="请输入内部户名" input-align="right" label-width="auto"/>
<van-field label="账簿号" v-if="accountType=='银行存款'&&form.bankType=='3'" v-model="form.alternateField3" required :rules="[{ required: true , message:'请输入账簿号' }]" placeholder="请输入账簿号" input-align="right" label-width="auto"/>
<van-field label="手机号码" v-if="accountType=='银行存款'&&form.bankType=='4'" v-model="form.alternateField1" required :rules="[{ required: true , message:'请输入手机号' }]" placeholder="请输入手机号" input-align="right" label-width="auto"/>
<van-field label="是否停用" required :rules="[{ required: true , message:'请选择是否停用' }]">
<template #right-icon>
<van-radio-group direction="horizontal" v-model="form.status">
<van-radio name="Y">是</van-radio>
<van-radio name="N">否</van-radio>
</van-radio-group>
</template>
</van-field>
</div>
<p class="main_title" v-if="villageAccountType=='多级账簿'">账簿信息</p>
<div class="main_box" v-if="villageAccountType=='多级账簿'">
<van-field label="账簿是否限额" disabled>
<template #right-icon>
<van-radio-group direction="horizontal" v-model="form.alternateField1" :disabled="true">
<van-radio name="Y">是</van-radio>
<van-radio name="N">否</van-radio>
</van-radio-group>
</template>
</van-field>
<van-field label="单笔交易限额" v-model="form.alternateField2" placeholder="0.00" input-align="right" label-width="auto" :disabled="true"/>
<van-field label="账簿是否透支" disabled>
<template #right-icon>
<van-radio-group direction="horizontal" v-model="form.alternateField3" :disabled="true">
<van-radio name="Y">是</van-radio>
<van-radio name="N">否</van-radio>
</van-radio-group>
</template>
</van-field>
<van-field label="透支类型" v-model="form.alternateField4" placeholder="无" input-align="right" label-width="auto" :disabled="true"/>
<van-field label="透支额度(元)" v-model="form.alternateField5" placeholder="0.00" input-align="right" label-width="auto" :disabled="true"/>
</div>
<div style="padding: 16px 0;">
<van-row>
<van-col span="24" align="center">
<van-button type="info" native-type="submit" class="submitButton">保<i style="margin-right: 1em;"></i>存</van-button>
</van-col>
</van-row>
<div class="clear"></div>
</div>
</van-form>
</div>
</template>

<script>
import { getAccount , getSubjectDetail , updateAccount,listDeposit,queryTaccount,getCentralBooks } from "@/api/onlineHome/bankAgriculture/paymentAccount";
import {getCentralSubjects} from "../../../../api/onlineHome/bankAgriculture/paymentAccount";
export default {
name: "paymentAccountModify",
data() {
return {
showCentralSubjectId:false,
showCentralBookId:false,
showManagementControlType:false,
showTaccountId:false,
showVillageAccountType:false,
villageAccountType:null,
showAccountType:false,
showSubjectId:false,
showBankType:false,
minDate: new Date(),
showBankDeposit:false,
maxDate: new Date(2025, 10, 1),
currentDate: new Date(),
jgList:{},
managementControlType:'',
taccountId:'',
accountType:'',
bankType:'',
centralBookId:'',
centralSubjectId:'',
jglx:'',
wfydlx:'',
wfydlxDictionaries:[],
jglxDictionaries:[],
subjectDictionaries:[],
typeDictionaries:[],
villageAccountTypeOptions:[],
taccountIdOptions:[],
centralBookIdList:[],
centralSubjectIdList:[],
// 管控类型 == 中心账套时选择中心账套
centralBooks: [],
// 管控类型字典
managementControlTypeOptions: [],
bankDepositList:[],
// 所属银行字典
bankTypeOptions: [],
subjectDeatil:'',
bankDepositQueryParams: {
pageNum: 1,
pageSize: 10,
bookId: null,
deptId: null,
payee: null,
payeeAccount: null,
bankDeposit: null,
payeeType:null,
bankType:null,
status: "0",
},
form:{}
};
},
created() {
this.getTaList();
this.getDetail();
},
methods: {
getDetail(){
getAccount(this.$route.query.id).then((response) => {
// 账户类型
this.houseGetDicts("account_type_cashier").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.typeDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
this.accountType = this.selectDictLabel(res.data, response.data.accountType);
});
this.getDicts("bank_type").then(res => {
for (var i = 0; i < res.data.length; i++) {
this.bankTypeOptions.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
this.bankType = this.selectDictLabel(res.data, response.data.bankType);
}
});
this.getDicts("village_account_type").then(res => {
for (var i = 0; i < res.data.length; i++) {
this.villageAccountTypeOptions.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
this.villageAccountType = this.selectDictLabel(res.data, response.data.villageAccountType);
}
});
getSubjectDetail().then((res) => {
for (var i = 0; i < res.rows.length; i++) {
this.subjectDictionaries.push({text: res.rows[i].subjectNameAll, value: res.rows[i].subjectId});
}
this.subjectDeatil = this.selectSubject(res.rows , response.data.subjectId);
});

queryTaccount({
bankType:response.data.bankType
}).then(res => {
this.taccountIdOptions = res.rows;
for (var i = 0; i < res.rows.length; i++) {
this.$set(this.taccountIdOptions[i], "text",res.rows[i].payee);
this.$set(this.taccountIdOptions[i], "value",res.rows[i].id);
if(response.data.taccountId==res.rows[i].id){
this.taccountId= res.rows[i].payee
}
}
});
if(response.data.centralBookId!=null&&response.data.centralBookId!=""&&response.data.managementControlType=="2"){
getCentralBooks({yinnongTaccountId: response.data.taccountId}).then((res) => {
this.centralBookIdList = res.data;
for (var i = 0; i < res.data.length; i++) {
this.$set(this.centralBookIdList[i], "text",res.data[i].bookName);
this.$set(this.centralBookIdList[i], "value",res.data[i].id);
}
this.centralBookId = this.selectSubject(res.data , response.data.centralBookId);
});
if(response.data.centralSubjectId!=null&&response.data.centralSubjectId!=""){
getCentralSubjects({bookId: response.data.centralBookId}).then((res) => {
this.centralSubjectIdList = res.data;
for (var i = 0; i < res.data.length; i++) {
this.$set(this.centralSubjectIdList[i], "text",res.data[i].subjectName);
this.$set(this.centralSubjectIdList[i], "value",res.data[i].subjectId);
}
this.centralSubjectId = this.selectSubject(res.data , response.data.centralSubjectId);
})
}
if(response.data.bankDeposit!=null&&response.data.bankDeposit!=""){
this.bankDepositQueryParams.bankType = response.data.bankType;
listDeposit(this.bankDepositQueryParams).then(response => {
this.bankDepositList = response.rows;
for (var i = 0; i < response.rows.length; i++) {
this.$set(this.bankDepositList[i], "text",response.rows[i].bankDeposit);
this.$set(this.bankDepositList[i], "value",response.rows[i].bankDeposit);
}
this.bankDeposit = this.selectSubject(response.rows , response.data.bankDeposit);
})
}
}
this.form = response.data;
});
},
getTaList(){
let params= {
// 分页
pageNum: 1,
pageSize: 100,
bankType:this.form.bankType,
}
// this.getCentralBookOptions();
queryTaccount(params).then(res => {
this.taccountIdOptions = res.rows;
for (var i = 0; i < res.rows.length; i++) {
this.$set(this.taccountIdOptions[i], "text",res.rows[i].payee);
this.$set(this.taccountIdOptions[i], "value",res.rows[i].id);
}
});
},
getError(e){
console.log(e)
this.$notify({ type: 'danger', message: e.errors[0].message });
},
selectSubject(datas, value) {
var actions = [];
Object.keys(datas).some((key) => {
if (datas[key].subjectId == ('' + value)) {
actions.push(datas[key].subjectNameAll);
return true;
}
})
return actions.join('');
},
onConfirmCentralBookId(val){
this.showCentralBookId = false
this.$set(this.form, "centralBookId",val.value);
this.centralBookId = val.text
getCentralSubjects({bookId: val.id}).then((res) => {
this.centralSubjectIdList = res.data;
for (var i = 0; i < res.data.length; i++) {
this.$set(this.centralSubjectIdList[i], "text",res.data[i].subjectName);
this.$set(this.centralSubjectIdList[i], "value",res.data[i].subjectId);
}
})
},
onConfirmCentralSubjectId(val){
this.showCentralSubjectId = false
this.$set(this.form, "centralSubjectId",val.value);
this.centralSubjectId = val.text
},
onConfirmManagementControlType(val){
if(val==2){
getCentralBooks({yinnongTaccountId: this.form.taccountId}).then((res) => {
this.centralBookIdList = res.data;
for (var i = 0; i < res.data.length; i++) {
this.$set(this.centralBookIdList[i], "text",res.data[i].bookName);
this.$set(this.centralBookIdList[i], "value",res.data[i].id);
}
});
}
},
onConfirmBankDeposit(val){
this.showBankDeposit = false
this.$set(this.form, "bankName", val.bankDeposit);
this.$set(this.form, "paymentLines", val.payeePaymentLines);
},
onConfirmTaccountId(val){
this.showTaccountId = false
this.taccountId = val.text
this.$set(this.form, "taccountId", val.value);
this.taccountIdOptions.map(res => {
if(res.id==val.value){
if(this.form.villageAccountType === '3'){
this.$set(this.form, "bankAccountNumber", res.payeeAccount);
}
//this.form.bankName = res.bankDeposit;
this.$set(this.form, "bankName", res.bankDeposit);
this.$set(this.form, "paymentLines", res.payeePaymentLines);
}
})
},
onConfirmBankType(val){
this.showBankType = false
this.bankType = val.text
this.$set(this.form, "bankType", val.value);
this.getTaList();
this.$set(this.form, "bankName", '');
this.$set(this.form, "paymentLines", '');
this.bankDepositQueryParams.bankType = val.value;
listDeposit(this.bankDepositQueryParams).then(response => {
this.bankDepositList = response.rows;
for (var i = 0; i < response.rows.length; i++) {
this.$set(this.bankDepositList[i], "text",response.rows[i].bankDeposit);
this.$set(this.bankDepositList[i], "value",response.rows[i].bankDeposit);
}
})
},
onConfirmVillageAccountType(val){
this.showVillageAccountType = false
this.villageAccountType = val.text
this.$set(this.form, "villageAccountType", val.value);
},
onConfirmSubject(data){
this.subjectDeatil = data.text;
this.form.subjectId = data.value;
this.form.subjectNameAll = data.text;
this.showSubjectId = false;
},
onConfirmType(data){
this.accountType = data.text;
this.form.accountType = data.value;
this.showAccountType = false;
},
goModify(){
console.log(this.form)
this.form.balance = this.form.initialBalance;
updateAccount(this.form).then((response) => {
this.$toast.success('修改成功');
setTimeout(function(){
history.go(-1)
},2000)
});
},
goBack(){
window.history.go(-1)
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
margin-top: 0;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;
}

.addFamily{
position: absolute;
top: -2px;
right: 0;
border-radius: 50%;
}
</style>

+ 1144
- 0
src/views/yinnong/bankAgriculture/paymentApproval/approvalAdd.vue
A apresentação das diferenças no ficheiro foi suprimida por ser demasiado grande
Ver ficheiro


+ 996
- 0
src/views/yinnong/bankAgriculture/paymentApproval/approvalAdd10.vue Ver ficheiro

@@ -0,0 +1,996 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">添加现金提现申请</p>
</template>
</van-nav-bar>
<van-form @submit="getChange" @failed="getError" :show-error-message="false" scroll-to-error validate-first>
<p class="main_title">基础信息</p>
<div class="main_box">
<van-field
readonly
clickable
required
:rules="[{ required: true , message:'请选择申请时间' }]"
v-model="form.applyDate"
label="申请时间"
placeholder="请选择申请时间"
@click="showlasj = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showlasj" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="date"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
@confirm="onConfirmLasj"
@cancel="showlasj = false"
/>
</van-popup>
<van-field
readonly
clickable
required
:rules="[{ required: true , message:'请选择资金支出类别' }]"
label="资金支出类别"
placeholder="请选择"
v-model="capitalExpenditureType"
@click="showcapital = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showcapital" position="bottom">
<van-picker
show-toolbar
:columns="capitalExpenditureTypeOptions"
@confirm="onConfirmCapital"
@cancel="showcapital = false"
/>
</van-popup>
<van-field
readonly
required
label="提现总金额"
v-model="form.expenditureAmount"
placeholder="根据下方收款金额自动核算"
input-align="right"
label-width="auto"
/>
<van-field name="radio" label="审批模式" input-align="right" autocomplete="off" required
:rules="[{ required: true , message:'请选择审批模式' }]">
<template #input>
<van-radio-group v-model="form.approvalMode" direction="horizontal">
<van-radio name="1">线上支付</van-radio>
<van-radio name="2">线下支付</van-radio>
</van-radio-group>
</template>
</van-field>
</div>

<div class="main_box" style="margin-top: 10px;">
<van-field
label="付款事由"
v-model="form.remark"
type="textarea"
placeholder="请输入付款事由"
input-align="right"
rows="3"
label-width="auto"
required
:rules="[{ required: true , message:'请输入付款事由' }]"
/>
</div>

<div class="main_box" style="margin-top: 10px;">
<van-field label="说明情况" v-model="form.explainSituation" type="textarea" placeholder="请输入说明情况" input-align="right" rows="3" label-width="auto"/>
</div>

<p class="main_title" v-if="capitalExpenditureOpen">关联项目</p>
<div class="main_box" v-if="capitalExpenditureOpen" style="margin-bottom: 10px;margin-top: 10px;position:relative;">
<van-field
readonly
clickable
label="项目名称"
placeholder="请选择"
v-model="projectForm.projectName"
@click="showproject = true"
input-align="right"
right-icon="arrow-down"
required
:rules="[{ required: true , message:'请选择项目名称' }]"
/>
<van-popup v-model="showproject" position="bottom">
<van-picker
show-toolbar
:columns="projectList"
@confirm="onConfirmProject"
@cancel="showproject = false"
/>
</van-popup>
<van-field required :rules="[{ required: true , message:'请输入承建单位' }]" v-model="projectForm.projectContractor" label="承建单位" placeholder="请输入承建单位" input-align="right" label-width="auto"/>
<van-field required :rules="[{ required: true , message:'请输入合同价款' }]" v-model="projectForm.projectAmount" label="合同价款(元)" placeholder="请输入合同价款(元)" input-align="right" label-width="auto"/>
<van-field
readonly
clickable
label="工程款类型"
placeholder="请选择"
v-model="projectFundType"
@click="showFundType = true"
input-align="right"
right-icon="arrow-down"
required
:rules="[{ required: true , message:'请选择工程款类型' }]"
/>
<van-popup v-model="showFundType" position="bottom">
<van-picker
show-toolbar
:columns="projectFundTypeOptions"
@confirm="onConfirmFundType"
@cancel="showFundType = false"
/>
</van-popup>
<van-field required :rules="[{ required: true , message:'请输入工程发票号' }]" v-model="projectForm.projectBillNum" label="工程发票号" placeholder="请输入工程发票号" input-align="right" label-width="auto"/>
</div>
<p class="main_title" v-if="contractOpen">关联合同</p>
<div class="main_box" v-if="contractOpen" style="margin-bottom: 10px;margin-top: 10px;position:relative;">
<van-field
readonly
clickable
label="合同"
placeholder="请选择"
v-model="infoForm.name"
@click="showcontract = true"
input-align="right"
right-icon="arrow-down"
required
:rules="[{ required: true , message:'请选择项目名称' }]"
/>
<van-popup v-model="showcontract" position="bottom">
<van-picker
show-toolbar
:columns="infoList"
@confirm="onConfirmContract"
@cancel="showcontract = false"
/>
</van-popup>
<van-field required :rules="[{ required: true , message:'请输入合同编码' }]" v-model="infoForm.code" label="合同编码" placeholder="请输入合同编码" input-align="right" label-width="auto"/>
<van-field required :rules="[{ required: true , message:'请输入合同价款' }]" v-model="infoForm.totalAmount" label="合同价款(元)" placeholder="请输入合同价款(元)" input-align="right" label-width="auto"/>
</div>
<p class="main_title">付款方信息</p>
<div class="main_box">
<!-- <van-field label="付款方" v-model="form.payer" placeholder="请输入付款方" input-align="right" label-width="auto"/>-->
<van-field
readonly
clickable
label="付款方"
placeholder="请选择付款方"
v-model="form.payer"
@click="showpayer = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
required
:rules="[{ required: true , message:'请选择付款方' }]"
/>
<van-popup v-model="showpayer" position="bottom">
<van-picker
show-toolbar
:columns="payerOptions"
@confirm="onConfirmPayer($event)"
@cancel="showpayer = false"
/>
</van-popup>
<van-field :rules="[{ required: true , message:'请输入付款方账户' }]" required label="付款方账户" v-model="form.payerAccount" placeholder="请输入账户" input-align="right" label-width="auto"/>
</div>

<p class="main_title">收款方信息<van-button icon="plus" @click="addChargeItme(chargeItme.length)" size="mini" type="info" native-type="button" class="addFamily"/></p>
<div :style="{position:'relative',padding: index == 0 ? '':'10px 0 0 0'}" v-for="(item, index) in chargeItme" :key="index">
<van-button icon="minus" size="mini" type="danger" class="deleteFamily" native-type="button" v-if="index!=0" @click="deleteChargeItme(index)" />
<div class="main_box" style="margin-bottom: 10px;position:relative;">
<van-field required :rules="[{ required: true , message:'请输入收款方全称' }]" v-model="item.payee" label="收款方" placeholder="请输入收款方全称" input-align="right" label-width="auto"/>
<van-field required :rules="[{ required: true , message:'请输入提款人' }]" v-model="item.drawer" label="提款人" placeholder="请输入提款人" input-align="right" label-width="auto"/>
<van-field required :rules="[{ required: true , message:'请输入提款金额' }]" v-model="item.incomeAmount" type="number" label="提款金额(元)" placeholder="请输入提款金额" input-align="right" label-width="auto" @change="moneyChange"/>
<van-field required :rules="[{ required: true , message:'请输入资金用途' }]" v-model="item.remark" label="资金用途" placeholder="请输入资金用途" input-align="right" label-width="auto" />
</div>
</div>
<p class="main_title">上传附件</p>
<div class="main_box" style="padding: 5px 0 0 8px;">
<van-uploader v-model="fileList" :after-read="beforeRead" @delete="deleteFile"></van-uploader>
</div>
<div style="padding: 16px 0;">
<van-row>
<van-col span="12" align="center">
<!-- @click="goUpdate"-->
<van-button type="info" native-type="submit" @click="buttonType='update'" class="submitButton">保<i style="margin-right: 1em;"></i>存</van-button>
</van-col>
<van-col span="12" align="center">
<!-- @click="goAdd"-->
<van-button type="info" native-type="submit" @click="buttonType='add'" class="submitButton">保存并提交</van-button>
</van-col>
</van-row>
<div class="clear"></div>
</div>
</van-form>
</div>
</template>

<script>
import { addTransfer , listPayee , updateTransfer , getProjectto , listProject , addProjectto , customSubmit , getAccount ,getQmyeFlow,listInfo ,getInfoto ,addInfoto} from "@/api/onlineHome/bankAgriculture/paymentApproval";
import request from '@/utils/request'
import {
addCash,
addCashdetail, attachmentList,
commonAttach,
updateCash
} from "../../../../api/onlineHome/bankAgriculture/paymentApproval";
import Dialog from "vant/lib/dialog";
export default {
name: "approvalAdd10",
data() {
return {
showcontract:false,
showcapital:false,
showpayee:false,
showlasj:false,
showbankType:false,
showproject:false,
showFundType:false,
showpayer:false,

buttonType:'a',

minDate: new Date(2000, 1, 1),
maxDate: new Date(2050, 12, 31),
currentDate: new Date(),
form:{},
fileList:[],
capitalExpenditureType:'',
payee:'',
bankType:'',

wfydlxDictionaries:[],
jglxDictionaries:[],
sysDictionaries:[],
capitalExpenditureTypeOptions:[],
bankTypeDictionaries:[],
projectList:[],
infoList:[],
projectFundTypeOptions:[],
projectFundTypeDictionaries:[],
payerOptions:[],

chargeItme:[],
chargeItmeShow:[],

payeeList:[],
// 查询参数
queryParams: {
transferType:10,
orderByColumn: "id",
isAsc: "desc",
},
capitalExpenditureOpen:false,
contractOpen:false,
projectForm:{
projectId:null,
projectName:null,
projectContractor:null,
projectAmount:null,
projectBillNum:null,
projectFundType:'1',
outId:null,
ynType:'2'
},
infoForm:{
infoId:null,
name:null,
code:null,
totalAmount:null,
contractionId:null,
transferId:null
},
// 合同信息查询参数
queryContractionParams: {
pageNum: 1,
pageSize: 100,
contractionStatus: '1',
orderByColumn: "endTime",
isAsc: "desc",
},
projectFundType:'',
uploadFiles:[],
};
},
created() {
this.reset();
this.initProjectInfo();
this.getDicts("project_fund_type").then((response) => {
for (var i = 0; i < response.data.length; i++) {
this.projectFundTypeOptions.push({text: response.data[i].dictLabel, value: response.data[i].dictValue});
}
this.projectFundTypeDictionaries = response.data;
});
let params1={
accountType: "102",
status: "N",
}
getAccount(params1).then((response) => {
this.payerOptions = response.rows;
response.rows.map((res,index) => {
res['payerFrom'] = '1'
console.log(res)
this.payerOptions[index].text = res.accountName;
this.payerOptions[index].value = res.id;
})
});
this.getDictionaries();
this.addChargeItme();
},
methods: {
initProjectInfo(){
let _this = this
let queryParams={
pageNum: 1,
pageSize: 100,
}
listProject(queryParams).then(response => {
_this.projectList = response.rows;
console.log(response)
for (let i = 0; i < response.rows.length; i++) {
//_this.projectList[i].set({text: response.rows[i].projectName, value: response.rows[i].id});
_this.$set(_this.projectList[i],"text",response.rows[i].projectName)
_this.$set(_this.projectList[i],"value",response.rows[i].id)
}
});
listInfo(this.queryContractionParams).then(response => {
console.log(response)
_this.infoList = response.rows;
for (let i = 0; i < response.rows.length; i++) {
//_this.infoList[i].push({text: response.rows[i].name, value: response.rows[i].code});
_this.$set(_this.infoList[i],"text",response.rows[i].name)
_this.$set(_this.infoList[i],"value",response.rows[i].code)
}
});
},
// 表单重置
reset() {
this.form = {
id: null,
upId: null,
downId: null,
orderId: null,
cashierId: null,
cashType: '10',
accountType: '2',
explainSituation: null,
succeedAmount: null,
payer: null,
payerAccount: null,
operatorCode: null,
enterpriseCode: null,
expenditureAmount: null,
capitalExpenditureType: '1',
remark: null,
transferStatus: "0",
auditStatus: "0",
paymentState: "1",
bankPriority: "0",
clientPriority: "0"
};
this.processList = {}
this.projectForm={
projectId:null,
projectName:null,
projectContractor:null,
projectAmount:null,
projectBillNum:null,
projectFundType:'1',
outId:null,
ynType:'1'
}
},
getChange(){
if(this.buttonType == 'update'){
this.goUpdate();
}else if(this.buttonType == 'add'){
this.goAdd();
}
},
getDictionaries(){
this.getDicts("capital_expenditure_type").then((res) => {
for (let i = 0; i < res.data.length; i++) {
this.capitalExpenditureTypeOptions.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
this.getPayeeList();
},
getError(e){
this.$notify({ type: 'danger', message: e.errors[0].message });
},
addChargeItme(index){
if(this.chargeItme.length>0&&this.chargeItme[this.chargeItme.length-1].payee == ''){
this.$notify({ type: 'danger', message: '请勿添加多个空列表信息' });
return;
}else if(this.chargeItme.length>0&&this.chargeItme[index-1].incomeAmount == ''){
this.$notify({ type: 'danger', message: '请输入提款金额!' });
return;
}else if(this.chargeItme.length>0&&this.chargeItme[index-1].drawer == ''){
this.$notify({ type: 'danger', message: '请输入提款人!' });
return;
}else if(this.chargeItme.length>0&&this.chargeItme[index-1].remark == ''){
this.$notify({ type: 'danger', message: '请输入资金用途!' });
return;
}
this.getDicts("bank_type").then(res => {
this.chargeItme.splice(index + 1, 0, {
payeeId: "", //收款方ID
payee: "", //收款方全称
payeeAccount: "", //收款账户
drawer: "", //提款人
incomeAmount: "", //提款金额
bankType: "", //资金用途
showPayee:false,
showbankType:false
});
});
},
getPayeeList() {
//普通转账
this.queryParams.accountType = this.form.accountType
this.queryParams.status = "0"
listPayee(this.queryParams).then((response) => {
this.payeeList = response.rows;
response.rows.map((res,index) => {
this.payeeList[index].text = res.payee;
this.payeeList[index].value = res.id;
})
});
},
payeeDictLabel(datas, value) {
let actions = [];
Object.keys(datas).some((key) => {
if (datas[key].payeeId == ('' + value)) {
actions.push(datas[key].payee);
return true;
}
})
return actions.join('');
},
onConfirmCapital(data){
if (data.value == 2){
this.capitalExpenditureOpen = true;
this.contractOpen = false
this.infoForm = {};
}else if(data.value == 4){
this.capitalExpenditureOpen = false;
this.contractOpen = true
this.projectForm = {};
}else{
this.capitalExpenditureOpen = false;
this.contractOpen = false
this.projectForm = {};
this.infoForm = {};
}
this.capitalExpenditureType = data.text;
this.form.capitalExpenditureType = data.value;
this.showcapital = false;
},
onConfirmFundType(data){
this.projectForm.projectFundType = data.value;
this.projectFundType = data.text;
this.showFundType = false;
},
onConfirmProject(data){
this.projectList.map(res => {
if(res.projectName==data.text){
this.projectForm.projectId = res.id
this.projectForm.projectName = res.projectName
this.projectForm.projectContractor = res.projectContractor
this.projectForm.projectAmount = res.projectAmount
}
})
this.showproject = false;
},
onConfirmContract(data){
this.infoList.map(res => {
if(res.name==data.text){
this.infoForm.contractionId = res.id;
this.infoForm.name = res.name;
this.infoForm.code = res.code;
this.infoForm.totalAmount = res.totalAmount;
}
})
this.showcontract = false;
},
onConfirmPayee(data,index){
for (var i = 0 ; i < this.chargeItme.length ; i++){
this.chargeItme[i].showPayee = false;
}
this.chargeItme[index].payee = data.text;
this.chargeItme[index].payeeId = data.value;
this.chargeItme[index].showpayee = false;
this.payeeSelectChange(data.value , index)
},
onConfirmBankType(data,index){
for (var i = 0 ; i < this.chargeItme.length ; i++){
this.chargeItme[i].showbankType = false;
}
this.chargeItme[index].bankTypeText = data.text;
this.chargeItme[index].bankType = data.value;
this.chargeItme[index].showbankType = false;
},
onConfirmPayer(data){
this.form.payer = data.text;
this.form.cashierId = data.value;
this.showpayer = false;
this.selectChange(data.value)
},
onConfirmLasj(data){
this.form.applyDate = this.getNowFormatDate(data).substr(0,10);
this.showlasj = false;
},
accountTypeChange(e){
this.payeeList = [];
this.queryParams.accountType = this.form.accountType
this.queryParams.status = "0"
listPayee(this.queryParams).then((response) => {
this.payeeList = response.rows;
response.rows.map((res,index) => {
this.payeeList[index].text = res.payee;
this.payeeList[index].value = res.id;
})
});
},
// 钱计算
moneyChange(input) {
console.log(input)
let obj = {};
obj = this.chargeItme.find((account) => {
//model就是上面的数据源
return parseFloat(account.incomeAmount).toFixed(2) === input; //筛选出匹配数据
});
let total = 0;
this.chargeItme.forEach((money) => {
total = (parseFloat(total) + parseFloat(money.incomeAmount)).toFixed(2)
});
this.$set(this.form, "expenditureAmount", total);
},
goAdd(){
if(this.chargeItme.length<1){
this.$notify({ type: 'danger', message: '请添加收款方信息' });
return;
}
if(this.form.remark != null && this.form.remark.indexOf("|")!=-1){
this.$notify({ type: 'danger', message: '付款事由禁止包含!' });
return;
}
if(this.form.capitalExpenditureType==2){
if(this.projectForm.projectName==""||this.projectForm.projectName==null){
this.$notify({ type: 'danger', message: '请选择项目名称!' });
return;
}
if(this.projectForm.projectBillNum==""||this.projectForm.projectBillNum==null){
this.$notify({ type: 'danger', message: '请输入工程发票号!' });
return;
}
}
if(this.form.capitalExpenditureType==4){
if(this.infoForm.name==""||this.infoForm.name==null){
this.$notify({ type: 'danger', message: '请选择合同名称!' });
return;
}
if(this.infoForm.code==""||this.infoForm.code==null){
this.$notify({ type: 'danger', message: '请输入合同编码!' });
return;
}
if(this.infoForm.totalAmount==""||this.infoForm.totalAmount==null){
this.$notify({ type: 'danger', message: '请输入合同价款!' });
return;
}
}
if(this.uploadFiles==null||this.uploadFiles.length==0){
Dialog.confirm({
title: '提示',
message: '此申请单中未上传任何附件,是否确认提交?',
})
.then(() => {
console.log(this.form)
addCash(this.form).then((response) => {
this.chargeItme.map(res => {
res.cashId = response.data.id
addCashdetail(res).then(r => {
if(this.form.capitalExpenditureType==2){
this.projectForm.outId = response.data.id
this.$set(this.projectForm, "ynType", '2');
addProjectto(this.projectForm).then(res => {
customSubmit(response.data.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
})
}else if(this.form.capitalExpenditureType==4){
this.infoForm.transferId = response.data.id
addInfoto(this.infoForm).then(res => {
customSubmit(response.data.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
})
}else{
customSubmit(response.data.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
}
})
})
});
})

}else{
addCash(this.form).then((response) => {
console.log(this.uploadFiles)
this.uploadFiles.map(rr => {
const params = new FormData();
params.append("tableId", response.data.id);
params.append("tableName", "t_yinnong_cash");
params.append("bizPath", "upload");
params.append("fileType", "0");
params.append("file", rr);
commonAttach(params).then((r) => {
})
})
this.chargeItme.map(res => {
res.cashId = response.data.id
addCashdetail(res).then(r => {
if(this.form.capitalExpenditureType==2){
this.projectForm.outId = response.data.id
this.$set(this.projectForm, "ynType", '2');
addProjectto(this.projectForm).then(res => {
customSubmit(response.data.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
})
}else if(this.form.capitalExpenditureType==4){
this.infoForm.transferId = response.data.id
addInfoto(this.infoForm).then(res => {
customSubmit(response.data.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
})
}else{
customSubmit(response.data.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
}
})
})
});
}
},
goUpdate(){
if(this.chargeItme.length<1){
this.$notify({ type: 'danger', message: '请添加收款方信息' });
return;
}
if(this.form.remark != null && this.form.remark.indexOf("|")!=-1){
this.$notify({ type: 'danger', message: '付款事由禁止包含!' });
return;
}
if(this.form.capitalExpenditureType==2){
if(this.projectForm.projectName==""||this.projectForm.projectName==null){
this.$notify({ type: 'danger', message: '请选择项目名称!' });
return;
}
if(this.projectForm.projectBillNum==""||this.projectForm.projectBillNum==null){
this.$notify({ type: 'danger', message: '请输入工程发票号!' });
return;
}
}
if(this.form.capitalExpenditureType==4){
if(this.infoForm.name==""||this.infoForm.name==null){
this.$notify({ type: 'danger', message: '请选择合同名称!' });
return;
}
if(this.infoForm.code==""||this.infoForm.code==null){
this.$notify({ type: 'danger', message: '请输入合同编码!' });
return;
}
if(this.infoForm.totalAmount==""||this.infoForm.totalAmount==null){
this.$notify({ type: 'danger', message: '请输入合同价款!' });
return;
}
}
if(this.uploadFiles==null||this.uploadFiles.length==0){
addCash(this.form).then((response) => {
this.chargeItme.map(res => {
res.cashId = response.data.id
addCashdetail(res).then(r => {
if(this.form.capitalExpenditureType==2){
this.projectForm.outId = response.data.id
this.$set(this.projectForm, "ynType", '2');
addProjectto(this.projectForm).then(res => {
this.$toast.success('保存成功');
setTimeout(function(){
history.go(-1)
},2000)
})
}else if(this.form.capitalExpenditureType==4){
this.infoForm.transferId = response.data.id
addInfoto(this.infoForm).then(res => {
customSubmit(response.data.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
})
}else{
this.$toast.success('保存成功');
setTimeout(function(){
history.go(-1)
},2000)
}
})
})
});
}else{
addCash(this.form).then((response) => {
console.log(this.uploadFiles)
this.uploadFiles.map(rr => {
const params = new FormData();
params.append("tableId", response.data.id);
params.append("tableName", "t_yinnong_cash");
params.append("bizPath", "upload");
params.append("fileType", "0");
params.append("file", rr);
commonAttach(params).then((r) => {
})
})
this.chargeItme.map(res => {
res.cashId = response.data.id
addCashdetail(res).then(r => {
if(this.form.capitalExpenditureType==2){
this.projectForm.outId = response.data.id
this.$set(this.projectForm, "ynType", '2');
addProjectto(this.projectForm).then(res => {
this.$toast.success('保存成功');
setTimeout(function(){
history.go(-1)
},2000)
})
}else if(this.form.capitalExpenditureType==4){
this.infoForm.transferId = response.data.id
addInfoto(this.infoForm).then(res => {
customSubmit(response.data.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
})
}else{
this.$toast.success('保存成功');
setTimeout(function(){
history.go(-1)
},2000)
}
})
})
});
}
},
payeeSelectChange(select, i) {
let obj = {};
let fuzhitype = 0;
obj = this.payeeList.find((account) => {
//model就是上面的数据源
return account.id === select ; //筛选出匹配数据
});
if(this.chargeItme != [] && this.chargeItme.length>1){
this.chargeItme.some((value, index) => {
if(value.payeeAccount != undefined &&value.payeeAccount != '' && obj.payeeAccount == value.payeeAccount&&index!=i){
fuzhitype = 2;
return true;
}
if(value.accountType != undefined &&value.accountType != '' && obj.accountType != value.accountType&&index!=i){
fuzhitype = 1;
return true;
}
});
}
if(fuzhitype == 0){
this.$set(this.chargeItme[i], "payee",obj.payee)
this.$set(this.chargeItme[i], "bankType", obj.bankType)
this.$set(this.chargeItme[i], "payeeId", obj.id);
this.$set(this.chargeItme[i], "payeeAccount", obj.payeeAccount);
this.$set(this.chargeItme[i], "bankDeposit", obj.bankDeposit);
this.$set(this.chargeItme[i], "accountType", obj.accountType);
}else if(fuzhitype == 1){
this.$set(this.chargeItme[i], "payee",'')
this.$set(this.chargeItme[i], "bankType",'')
this.$set(this.chargeItme[i], "payeeId", '');
this.$set(this.chargeItme[i], "payeeAccount", '');
this.$set(this.chargeItme[i], "bankDeposit", '');
this.$set(this.chargeItme[i], "accountType", '');
this.$notify({ type: 'danger', message: '请选择账户类型相同的收款方!' });
}else if(fuzhitype == 2){
this.$set(this.chargeItme[i], "payee",'')
this.$set(this.chargeItme[i], "bankType",'')
this.$set(this.chargeItme[i], "payeeId", '');
this.$set(this.chargeItme[i], "payeeAccount", '');
this.$set(this.chargeItme[i], "bankDeposit", '');
this.$set(this.chargeItme[i], "accountType", '');
this.$notify({ type: 'danger', message: '收款方已存在!' });
}
},
selectChange(select) {
let obj = {};
obj = this.payerOptions.find((account) => {
//model就是上面的数据源
return account.id === select; //筛选出匹配数据
});
if(obj.accountPassword != null && obj.accountPassword != "" &&
obj.bankType != null && obj.bankType != ""){
this.$set(this.form, "bookId", obj.bookId);
this.$set(this.form, "deptId", obj.deptId);
this.$set(this.form, "cashierId", obj.id);
this.$set(this.form, "payer", obj.accountName);
this.$set(this.form, "payerAccount", obj.bankAccountNumber);
this.$set(this.form, "operatorCode", obj.operatorCode);
this.$set(this.form, "enterpriseCode", obj.enterpriseCode);
this.$set(this.form, "bankType", obj.bankType);
this.$set(this.form, "bankAccountType", obj.bankAccountType);
this.$set(this.form, "villageAccountType", obj.villageAccountType);
this.$set(this.form, "taccountId", obj.taccountId);
this.$set(this.form, "accountNo", obj.accountNo);
this.$set(this.form, "cifNo", obj.cifNo);
this.$set(this.form, "payerFrom", '1');
if(obj.bankType==1){
this.form.accountType = "1"
this.form.isPeers = null
this.accountTypeChange();
}else if(obj.bankType==2||obj.bankType==4){
this.form.accountType = null
this.form.isPeers = "Y"
this.accountTypeChange1();
}
}else{
if(obj.payerFrom==1){
this.diglogStatus = false;
this.$notify({ type: 'danger', message: "请完善付款方“操作员代码”、“企业编码”、“支付口令”等信息!" });
this.$set(this.form,"payer","")
this.$set(this.form,"payerAccount","")
}else{
this.$set(this.form, "payerFrom", obj.parerFrom);
if(obj.operatorCode!=null&&obj.operatorCode!=''){
this.$set(this.form, "operatorCode", obj.operatorCode);
}else{
this.$set(this.form, "operatorCode", '');
}
if(obj.enterpriseCode!=null&&obj.enterpriseCode!=''){
this.$set(this.form, "enterpriseCode", obj.enterpriseCode);
}else{
this.$set(this.form, "enterpriseCode", '');
}
if(obj.accountPassword!=null&&obj.accountPassword!=''){
this.$set(this.form, "accountPassword", obj.accountPassword);
}else{
this.$set(this.form, "accountPassword", '');
}
this.$set(this.form, "bookId",'');
this.$set(this.form, "deptId", '');
this.$set(this.form, "cashierId", obj.id);
this.$set(this.form, "payer", obj.accountName);
this.$set(this.form, "bankType", obj.bankType);
if(obj.payerFrom==6){
getQmyeFlow(obj.bankAccountNumber).then((response) => {
this.$set(this.form, "payerAccount", response.data);
});
}else {
this.$set(this.form, "payerAccount", obj.bankAccountNumber);
}
}
}
},
beforeRead(file) {
this.uploadFiles.push(file.file);
},
deleteFile(file){
this.uploadFiles.map((response,index) => {
if(file.file == response){
this.uploadFiles.splice(index,1)
}
})
},
getFileList(){
let oData= {
tableId: this.$route.query.id,
tableName: "t_yinnong_cash",
bizPath: "upload",
fileType: "0",
}
attachmentList(oData).then(res => {
console.log(res)
console.log(location.protocol+"//"+location.host+request.defaults.baseURL)
res.rows.map(r => {
let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL
this.fileList.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{})})
console.log(r)
})
})
},
goBack(){
window.history.go(-1)
},
//删除家庭成员
deleteChargeItme(index){
this.chargeItme.splice(index,1)
},
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;
}

.addFamily{
position: absolute;
top: -2px;
right: 0;
border-radius: 50%;
}
.deleteFamily{
position: absolute;
top: 0rem;
right: 6%;
z-index: 9;
border-radius: 50%;
}
</style>

+ 1022
- 0
src/views/yinnong/bankAgriculture/paymentApproval/approvalAdd11.vue
A apresentação das diferenças no ficheiro foi suprimida por ser demasiado grande
Ver ficheiro


+ 1060
- 0
src/views/yinnong/bankAgriculture/paymentApproval/approvalAdd12.vue
A apresentação das diferenças no ficheiro foi suprimida por ser demasiado grande
Ver ficheiro


+ 1120
- 0
src/views/yinnong/bankAgriculture/paymentApproval/approvalAdd2.vue
A apresentação das diferenças no ficheiro foi suprimida por ser demasiado grande
Ver ficheiro


+ 942
- 0
src/views/yinnong/bankAgriculture/paymentApproval/approvalAdd3.vue Ver ficheiro

@@ -0,0 +1,942 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">添加虚拟挂账申请</p>
</template>
</van-nav-bar>
<van-form @submit="getChange" @failed="getError" :show-error-message="false" scroll-to-error validate-first>
<p class="main_title">基础信息</p>
<div class="main_box">
<van-field
readonly
clickable
required
:rules="[{ required: true , message:'请选择申请时间' }]"
v-model="form.applyDate"
label="申请时间"
placeholder="请选择申请时间"
@click="showlasj = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showlasj" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="date"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
@confirm="onConfirmLasj"
@cancel="showlasj = false"
/>
</van-popup>
<van-field
readonly
clickable
required
:rules="[{ required: true , message:'请选择资金支出类别' }]"
label="资金支出类别"
placeholder="请选择"
v-model="capitalExpenditureType"
@click="showcapital = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showcapital" position="bottom">
<van-picker
show-toolbar
:columns="capitalExpenditureTypeOptions"
@confirm="onConfirmCapital"
@cancel="showcapital = false"
/>
</van-popup>
<van-field
readonly
required
label="支出总金额"
v-model="form.expenditureAmount"
placeholder="根据下方收款金额自动核算"
input-align="right"
label-width="auto"
/>

</div>

<div class="main_box" style="margin-top: 10px;">
<van-field
label="付款事由"
v-model="form.remark"
type="textarea"
placeholder="请输入付款事由"
input-align="right"
rows="3"
label-width="auto"
required
:rules="[{ required: true , message:'请输入付款事由' }]"
/>
</div>

<div class="main_box" style="margin-top: 10px;">
<van-field label="说明情况" v-model="form.explainSituation" type="textarea" placeholder="请输入说明情况" input-align="right" rows="3" label-width="auto"/>
</div>

<p class="main_title" v-if="capitalExpenditureOpen">关联项目</p>
<div class="main_box" v-if="capitalExpenditureOpen" style="margin-bottom: 10px;margin-top: 10px;position:relative;">
<van-field
readonly
clickable
label="项目名称"
placeholder="请选择"
v-model="projectForm.projectName"
@click="showproject = true"
input-align="right"
right-icon="arrow-down"
required
:rules="[{ required: true , message:'请选择项目名称' }]"
/>
<van-popup v-model="showproject" position="bottom">
<van-picker
show-toolbar
:columns="projectListShow"
@confirm="onConfirmProject"
@cancel="showproject = false"
/>
</van-popup>
<van-field required :rules="[{ required: true , message:'请输入承建单位' }]" v-model="projectForm.projectContractor" label="承建单位" placeholder="请输入承建单位" input-align="right" label-width="auto"/>
<van-field required :rules="[{ required: true , message:'请输入合同价款' }]" v-model="projectForm.projectAmount" label="合同价款(元)" placeholder="请输入合同价款(元)" input-align="right" label-width="auto"/>
<van-field
readonly
clickable
label="工程款类型"
placeholder="请选择"
v-model="projectFundType"
@click="showFundType = true"
input-align="right"
right-icon="arrow-down"
required
:rules="[{ required: true , message:'请选择工程款类型' }]"
/>
<van-popup v-model="showFundType" position="bottom">
<van-picker
show-toolbar
:columns="projectFundTypeOptions"
@confirm="onConfirmFundType"
@cancel="showFundType = false"
/>
</van-popup>
<van-field required :rules="[{ required: true , message:'请输入工程发票号' }]" v-model="projectForm.projectBillNum" label="工程发票号" placeholder="请输入工程发票号" input-align="right" label-width="auto"/>
</div>

<p class="main_title">付款方信息</p>
<div class="main_box">
<!-- <van-field label="付款方" v-model="form.payer" placeholder="请输入付款方" input-align="right" label-width="auto"/>-->
<van-field
readonly
clickable
label="付款方"
placeholder="请选择付款方"
v-model="form.payer"
@click="showpayer = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
required
:rules="[{ required: true , message:'请选择付款方' }]"
/>
<van-popup v-model="showpayer" position="bottom">
<van-picker
show-toolbar
:columns="payerOptions"
@confirm="onConfirmPayer($event)"
@cancel="showpayer = false"
/>
</van-popup>
<van-field :rules="[{ required: true , message:'请输入付款方账户' }]" required label="付款方账户" v-model="form.payerAccount" placeholder="请输入账户" input-align="right" label-width="auto"/>
</div>

<p class="main_title">收款方信息<van-button icon="plus" @click="addChargeItme(chargeItme.length)" size="mini" type="info" native-type="button" class="addFamily"/></p>
<div class="main_box" style="margin-bottom: 15px;">
<van-cell title="收款账户类型">
<template #right-icon>
<van-radio-group direction="horizontal" v-model="form.accountType" @change="accountTypeChange">
<van-radio name="1">公户</van-radio>
<van-radio name="2">私户</van-radio>
</van-radio-group>
</template>
</van-cell>
</div>
<div :style="{position:'relative',padding: index == 0 ? '':'10px 0 0 0'}" v-for="(item, index) in chargeItme" :key="index">
<van-button icon="minus" size="mini" type="danger" class="deleteFamily" native-type="button" v-if="index!=0" @click="deleteChargeItme(index)" />
<div class="main_box" style="margin-bottom: 10px;position:relative;">
<van-field
readonly
clickable
label="收款方"
placeholder="请选择"
v-model="item.payee"
@click="item.showPayee = true"
input-align="right"
right-icon="arrow-down"
required
:rules="[{ required: true , message:'请选择收款方' }]"
/>
<van-popup v-model="item.showPayee" position="bottom">
<van-picker
show-toolbar
:columns="payeeList"
@confirm="onConfirmPayee($event,index)"
@cancel="item.showPayee = false"
/>
</van-popup>
<van-field required :rules="[{ required: true , message:'收款账户不能为空' }]" v-model="item.payeeAccount" label="收款账户" placeholder="请选择收款方" input-align="right" label-width="auto"/>
<van-field required :rules="[{ required: true , message:'开户银行不能为空' }]" v-model="item.bankDeposit" label="开户银行" placeholder="请选择收款方" input-align="right" label-width="auto"/>
<van-field required :rules="[{ required: true , message:'请输入金额' }]" v-model="item.incomeAmount" type="number" label="收入金额" placeholder="请输入金额" input-align="right" label-width="auto" @change="moneyChange"/>
<van-field
readonly
label="所属银行"
placeholder="请选择收款方"
v-model="item.bankTypeText"
@click="item.showbankType = true"
input-align="right"
required
:rules="[{ required: true , message:'请选择所属银行' }]"
/>
</div>
</div>
<p class="main_title">上传附件</p>
<div class="main_box" style="padding: 5px 0 0 8px;">
<van-uploader v-model="fileList" :after-read="beforeRead" @delete="deleteFile"></van-uploader>
</div>
<div style="padding: 16px 0;">
<van-row>
<van-col span="12" align="center">
<!-- @click="goUpdate"-->
<van-button type="info" native-type="submit" @click="buttonType='update'" class="submitButton">保<i style="margin-right: 1em;"></i>存</van-button>
</van-col>
<van-col span="12" align="center">
<!-- @click="goAdd"-->
<van-button type="info" native-type="submit" @click="buttonType='add'" class="submitButton">保存并提交</van-button>
</van-col>
</van-row>
<div class="clear"></div>
</div>
</van-form>
</div>
</template>

<script>
import { addTransfer , listPayee , updateTransfer , getProjectto , listProject , addProjectto , customSubmit , getAccount ,getQmyeFlow} from "@/api/onlineHome/bankAgriculture/paymentApproval";
import request from '@/utils/request'
import {
attachmentList,
commonAttach,
listTaccount,
listVaccount
} from "../../../../api/onlineHome/bankAgriculture/paymentApproval";
import Dialog from "vant/lib/dialog";
export default {
name: "approvalAdd3",
data() {
return {
showcapital:false,
showpayee:false,
showlasj:false,
showbankType:false,
showproject:false,
showFundType:false,
showpayer:false,

buttonType:'a',

minDate: new Date(2000, 1, 1),
maxDate: new Date(2050, 12, 31),
currentDate: new Date(),
form:{},
fileList:[],
capitalExpenditureType:'',
payee:'',
bankType:'',

wfydlxDictionaries:[],
jglxDictionaries:[],
sysDictionaries:[],
capitalExpenditureTypeOptions:[],
bankTypeDictionaries:[],
projectList:[],
projectFundTypeOptions:[],
projectFundTypeDictionaries:[],
projectListShow:[],
payerOptions:[],

chargeItme:[],
chargeItmeShow:[],

payeeList:[],
// 查询参数
queryParams: {
transferType:"",
orderByColumn: "id",
isAsc: "desc",
},
capitalExpenditureOpen:false,
projectForm:{
projectId:null,
projectName:null,
projectContractor:null,
projectAmount:null,
projectBillNum:null,
projectFundType:'1',
outId:null,
ynType:'2'
},
projectFundType:'',
uploadFiles:[],
};
},
created() {
this.reset();
let queryParams={
pageNum: 1,
pageSize: 100,
}
listProject(queryParams).then(response => {
this.projectList = response.rows;
for (var i = 0; i < response.rows.length; i++) {
this.projectListShow.push({text: response.rows[i].projectName, value: response.rows[i].id});
}
});
this.getDicts("project_fund_type").then((response) => {
for (var i = 0; i < response.data.length; i++) {
this.projectFundTypeOptions.push({text: response.data[i].dictLabel, value: response.data[i].dictValue});
}
this.projectFundTypeDictionaries = response.data;
});
let params1={
townAccountType:'3'
}
listTaccount(params1).then((response) => {
console.log(response)
response.rows.map((res,index) => {
if(res.townAccountType=='3'){
res['payerFrom'] = '3'
this.payerOptions.push(res);
this.payerOptions[index].text = res.payee;
this.payerOptions[index].value = res.id;
}
})
});
this.getDictionaries();
},
methods: {
// 表单重置
reset() {
this.form = {
id: null,
upId: null,
downId: null,
orderId: null,
cashierId: null,
transferType: '3',
accountType: '2',
explainSituation: null,
succeedAmount: null,
payer: null,
payerAccount: null,
operatorCode: null,
enterpriseCode: null,
expenditureAmount: null,
capitalExpenditureType: '1',
remark: null,
transferStatus: "0",
auditStatus: "0",
paymentState: "1",
bankPriority: "0",
clientPriority: "0"
};
this.processList = {}
this.projectForm={
projectId:null,
projectName:null,
projectContractor:null,
projectAmount:null,
projectBillNum:null,
projectFundType:'1',
outId:null,
ynType:'1'
}
},
getChange(){
console.log(this.buttonType)
if(this.buttonType == 'update'){
console.log('update')
this.goUpdate();
}else if(this.buttonType == 'add'){
console.log('add')
this.goAdd();
}
},
getDictionaries(){
this.getDicts("capital_expenditure_type").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.capitalExpenditureTypeOptions.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
this.getDicts("bank_type").then(res => {
for (var i = 0; i < res.data.length; i++) {
this.bankTypeDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
this.getPayeeList();
},
getError(e){
console.log(e)
this.$notify({ type: 'danger', message: e.errors[0].message });
},
addChargeItme(index){
if(this.chargeItme.length>0&&this.chargeItme[this.chargeItme.length-1].payee == ''){
this.$notify({ type: 'danger', message: '请勿添加多个空列表信息' });
return;
}else if(this.chargeItme.length>0&&this.chargeItme[index-1].incomeAmount == ''){
this.$notify({ type: 'danger', message: '请输入收入金额!' });
return;
}else if(this.chargeItme.length>0&&this.chargeItme[index-1].payeeAccount == ''){
this.$notify({ type: 'danger', message: '请输入收款账户!' });
return;
}else if(this.chargeItme.length>0&&this.chargeItme[index-1].bankDeposit == ''){
this.$notify({ type: 'danger', message: '请输入开户银行!' });
return;
}else if(this.chargeItme.length>0&&this.chargeItme[index-1].bankType == ''){
this.$notify({ type: 'danger', message: '请选择所属银行!' });
return;
}
this.getDicts("bank_type").then(res => {
this.chargeItme.splice(index + 1, 0, {
payeeId: "", //收款方ID
payee: "", //收款方
payeeAccount: "", //收款账户
bankDeposit: "", //开户银行
incomeAmount: "", //收入金额
bankType: "", //所属银行
bankTypeText: "", //所属银行
showPayee:false,
showbankType:false
});
});
},
getPayeeList() {
let params = {
villageAccountType : 1,
status:'0',
accountType : this.form.accountType
}
console.log(params)
listVaccount(params).then(response => {
console.log(response)
if(response.rows.length>0){
this.payeeList = response.rows;
response.rows.map((res,index) => {
this.payeeList[index].text = res.payee;
this.payeeList[index].value = res.id;
})
}
});
},
payeeDictLabel(datas, value) {
var actions = [];
Object.keys(datas).some((key) => {
if (datas[key].payeeId == ('' + value)) {
actions.push(datas[key].payee);
return true;
}
})
return actions.join('');
},
onConfirmCapital(data){
if (data.value != 2){
this.capitalExpenditureOpen = false;
this.projectForm = [];
}else{
this.capitalExpenditureOpen = true;
}
this.capitalExpenditureType = data.text;
this.form.capitalExpenditureType = data.value;
this.showcapital = false;
},
onConfirmFundType(data){
console.log(data)
this.projectForm.projectFundType = data.value;
this.projectFundType = data.text;
this.showFundType = false;
},
onConfirmProject(data){
this.projectList.map(res => {
if(res.projectName==data.text){
this.projectForm.projectId = res.id
this.projectForm.projectName = res.projectName
this.projectForm.projectContractor = res.projectContractor
this.projectForm.projectAmount = res.projectAmount
}
})
this.showproject = false;
},
onConfirmPayee(data,index){
console.log(data,index)
for (let i = 0 ; i < this.chargeItme.length ; i++){
this.chargeItme[i].showPayee = false;
}

this.chargeItme[index].payee = data.text;
this.chargeItme[index].payeeId = data.value;
this.chargeItme[index].showpayee = false;
this.payeeSelectChange(data.value , index)
this.onConfirmBankType(data,index);
},
onConfirmBankType(data,index){
this.bankTypeDictionaries.map(res => {
if(res.value==data.bankType){
this.chargeItme[index].bankTypeText = res.text;
this.chargeItme[index].bankType = res.value;
}
})
},
onConfirmPayer(data){
console.log(data)
this.form.payer = data.text;
this.form.cashierId = data.value;
this.form.payerAccount = data.payeeAccount;
this.showpayer = false;
this.accountTypeChange();
},
onConfirmLasj(data){
this.form.applyDate = this.getNowFormatDate(data).substr(0,10);
this.showlasj = false;
},
accountTypeChange(e){
this.chargeItme = [];
this.payeeList = [];
let params = {
villageAccountType : 1,
status:'0',
accountType : this.form.accountType,
taccountId:this.form.cashierId
}
listVaccount(params).then(response => {
console.log(response)
if(response.rows.length>0){
this.payeeList = response.rows;
response.rows.map((res,index) => {
this.payeeList[index].text = res.payee;
this.payeeList[index].value = res.id;
})
}
});
},
// 钱计算
moneyChange(input) {
console.log(input)
let obj = {};
obj = this.chargeItme.find((account) => {
//model就是上面的数据源
return parseFloat(account.incomeAmount).toFixed(2) === input; //筛选出匹配数据
});
let total = 0;
this.chargeItme.forEach((money) => {
total = (parseFloat(total) + parseFloat(money.incomeAmount)).toFixed(2)
});
this.$set(this.form, "expenditureAmount", total);
},
goAdd(){
if(this.chargeItme.length<1){
this.$notify({ type: 'danger', message: '请添加收款方信息' });
return;
}
if(this.form.remark != null && this.form.remark.indexOf("|")!=-1){
this.$notify({ type: 'danger', message: '付款事由禁止包含!' });
return;
}
if(this.form.capitalExpenditureType==2){
if(this.projectForm.projectName==""||this.projectForm.projectName==null){
this.$notify({ type: 'danger', message: '请选择项目名称!' });
return;
}
if(this.projectForm.projectBillNum==""||this.projectForm.projectBillNum==null){
this.$notify({ type: 'danger', message: '请输入工程发票号!' });
return;
}
}
if((this.uploadFiles==null||this.uploadFiles.length==0)&&(this.fileList==null||this.fileList.length==0)){
Dialog.confirm({
title: '提示',
message: '此申请单中未上传任何附件,是否确认提交?',
})
.then(() => {
this.$set(this.form, "payeeList", this.chargeItme);
this.$set(this.form, "bankTypeList", this.chargeItme);
this.$set(this.form, "accountTypeList", this.chargeItme);
this.$set(this.form, "transferStatusList", this.chargeItme);
addTransfer(this.form).then(response => {
this.projectForm.outId = response.data.id
this.$set(this.projectForm, "ynType", '1');
if(this.uploadFiles!=null&&this.uploadFiles.length>0){
this.uploadFiles.map(rr => {
const params = new FormData();
params.append("tableId", response.data.id);
params.append("tableName", "t_yinnong_transfer");
params.append("bizPath", "upload");
params.append("fileType", "0");
params.append("file", rr);
commonAttach(params).then((r) => {
})
})
if(this.form.capitalExpenditureType==2){
addProjectto(this.projectForm).then(res => {
customSubmit(response.data.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
})
}else{
customSubmit(response.data.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
}
}else{
if(this.form.capitalExpenditureType==2){
addProjectto(this.projectForm).then(res => {
customSubmit(response.data.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
})
}else{
customSubmit(response.data.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
}
}
});
})
.catch(() => {
return false;
});
}else{
this.$set(this.form, "payeeList", this.chargeItme);
this.$set(this.form, "bankTypeList", this.chargeItme);
this.$set(this.form, "accountTypeList", this.chargeItme);
this.$set(this.form, "transferStatusList", this.chargeItme);
addTransfer(this.form).then(response => {
this.projectForm.outId = response.data.id
this.$set(this.projectForm, "ynType", '1');
if(this.uploadFiles!=null&&this.uploadFiles.length>0){
this.uploadFiles.map(rr => {
const params = new FormData();
params.append("tableId", response.data.id);
params.append("tableName", "t_yinnong_transfer");
params.append("bizPath", "upload");
params.append("fileType", "0");
params.append("file", rr);
commonAttach(params).then((r) => {
})
})
if(this.form.capitalExpenditureType==2){
addProjectto(this.projectForm).then(res => {
customSubmit(response.data.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
})
}else{
customSubmit(response.data.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
}
}else{
if(this.form.capitalExpenditureType==2){
addProjectto(this.projectForm).then(res => {
customSubmit(response.data.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
})
}else{
customSubmit(response.data.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
}
}
});
}


},
goUpdate(){
if(this.chargeItme.length<1){
this.$notify({ type: 'danger', message: '请添加收款方信息' });
return;
}
if(this.form.remark != null && this.form.remark.indexOf("|")!=-1){
this.$notify({ type: 'danger', message: '付款事由禁止包含!' });
return;
}
if(this.form.capitalExpenditureType==2){
if(this.projectForm.projectName==""||this.projectForm.projectName==null){
this.$notify({ type: 'danger', message: '请选择项目名称!' });
return;
}
if(this.projectForm.projectBillNum==""||this.projectForm.projectBillNum==null){
this.$notify({ type: 'danger', message: '请输入工程发票号!' });
return;
}
}
this.$set(this.form, "payeeList", this.chargeItme);
this.$set(this.form, "bankTypeList", this.chargeItme);
this.$set(this.form, "accountTypeList", this.chargeItme);
this.$set(this.form, "transferStatusList", this.chargeItme);
console.log(this.form)
addTransfer(this.form).then((response) => {
this.projectForm.outId = response.data.id
this.$set(this.projectForm, "ynType", '1');
if(this.uploadFiles!=null&&this.uploadFiles.length>0){
console.log(this.uploadFiles)
this.uploadFiles.map(rr => {
const params = new FormData();
params.append("tableId", response.data.id);
params.append("tableName", "t_yinnong_transfer");
params.append("bizPath", "upload");
params.append("fileType", "0");
params.append("file", rr);
commonAttach(params).then((r) => {
})
})
if(this.form.capitalExpenditureType==2){
addProjectto(this.projectForm).then(res => {
this.$toast.success('保存成功');
setTimeout(function(){
history.go(-1)
},2000)
})
}else{
this.$toast.success('保存成功');
setTimeout(function(){
history.go(-1)
},2000)
}
}else{
if(this.form.capitalExpenditureType==2){
addProjectto(this.projectForm).then(res => {
this.$toast.success('保存成功');
setTimeout(function(){
history.go(-1)
},2000)
})
}else{
this.$toast.success('保存成功');
setTimeout(function(){
history.go(-1)
},2000)
}
}

});
},
payeeSelectChange(select, i) {
let obj = {};
let fuzhitype = 0;
obj = this.payeeList.find((account) => {
//model就是上面的数据源
return account.id === select ; //筛选出匹配数据
});
if(this.chargeItme != [] && this.chargeItme.length>1){
this.chargeItme.some((value, index) => {
if(value.payeeAccount != undefined &&value.payeeAccount != '' && obj.payeeAccount == value.payeeAccount&&index!=i){
fuzhitype = 2;
return true;
}
if(value.accountType != undefined &&value.accountType != '' && obj.accountType != value.accountType&&index!=i){
fuzhitype = 1;
return true;
}
});
}
if(fuzhitype == 0){
this.$set(this.chargeItme[i], "payee",obj.payee)
this.$set(this.chargeItme[i], "bankType", obj.bankType)
this.$set(this.chargeItme[i], "payeeId", obj.id);
this.$set(this.chargeItme[i], "payeeAccount", obj.payeeAccount);
this.$set(this.chargeItme[i], "bankDeposit", obj.bankDeposit);
this.$set(this.chargeItme[i], "accountType", obj.accountType);
}else if(fuzhitype == 1){
this.$set(this.chargeItme[i], "payee",'')
this.$set(this.chargeItme[i], "bankType",'')
this.$set(this.chargeItme[i], "payeeId", '');
this.$set(this.chargeItme[i], "payeeAccount", '');
this.$set(this.chargeItme[i], "bankDeposit", '');
this.$set(this.chargeItme[i], "accountType", '');
this.$notify({ type: 'danger', message: '请选择账户类型相同的收款方!' });
}else if(fuzhitype == 2){
this.$set(this.chargeItme[i], "payee",'')
this.$set(this.chargeItme[i], "bankType",'')
this.$set(this.chargeItme[i], "payeeId", '');
this.$set(this.chargeItme[i], "payeeAccount", '');
this.$set(this.chargeItme[i], "bankDeposit", '');
this.$set(this.chargeItme[i], "accountType", '');
this.$notify({ type: 'danger', message: '收款方已存在!' });
}
},
selectChange(select) {
let obj = {};
obj = this.payerOptions.find((account) => {
//model就是上面的数据源
return account.id === select; //筛选出匹配数据
});
if(obj.payerFrom==1&&obj.operatorCode != null && obj.operatorCode != "" &&
obj.enterpriseCode != null && obj.enterpriseCode != "" &&
obj.accountPassword != null && obj.accountPassword != ""){
this.$set(this.form, "bookId", obj.bookId);
this.$set(this.form, "deptId", obj.deptId);
this.$set(this.form, "cashierId", obj.id);
this.$set(this.form, "payer", obj.accountName);
this.$set(this.form, "payerAccount", obj.bankAccountNumber);
this.$set(this.form, "operatorCode", obj.operatorCode);
this.$set(this.form, "enterpriseCode", obj.enterpriseCode);
this.$set(this.form, "payerFrom", '1');
}else{
if(obj.payerFrom==1){
this.diglogStatus = false;
this.$notify({ type: 'danger', message: "请完善付款方“操作员代码”、“企业编码”、“支付口令”等信息!" });
this.$set(this.form,"payer","")
this.$set(this.form,"payerAccount","")
}else{
this.$set(this.form, "payerFrom", obj.parerFrom);
if(obj.operatorCode!=null&&obj.operatorCode!=''){
this.$set(this.form, "operatorCode", obj.operatorCode);
}else{
this.$set(this.form, "operatorCode", '');
}
if(obj.enterpriseCode!=null&&obj.enterpriseCode!=''){
this.$set(this.form, "enterpriseCode", obj.enterpriseCode);
}else{
this.$set(this.form, "enterpriseCode", '');
}
if(obj.accountPassword!=null&&obj.accountPassword!=''){
this.$set(this.form, "accountPassword", obj.accountPassword);
}else{
this.$set(this.form, "accountPassword", '');
}
this.$set(this.form, "bookId",'');
this.$set(this.form, "deptId", '');
this.$set(this.form, "cashierId", obj.id);
this.$set(this.form, "payer", obj.accountName);
if(obj.payerFrom==6){
getQmyeFlow(obj.bankAccountNumber).then((response) => {
this.$set(this.form, "payerAccount", response.data);
});
}else {
this.$set(this.form, "payerAccount", obj.bankAccountNumber);
}
}
}
},
beforeRead(file) {
this.uploadFiles.push(file.file);
},
deleteFile(file){
this.uploadFiles.map((response,index) => {
if(file.file == response){
this.uploadFiles.splice(index,1)
}
})
},
getFileList(){
let oData= {
tableId: this.$route.query.id,
tableName: "t_yinnong_transfer",
bizPath: "upload",
fileType: "0",
}
attachmentList(oData).then(res => {
console.log(res)
console.log(location.protocol+"//"+location.host+request.defaults.baseURL)
res.rows.map(r => {
let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL
this.fileList.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{})})
console.log(r)
})
})
},
goBack(){
window.history.go(-1)
},
//删除家庭成员
deleteChargeItme(index){
this.chargeItme.splice(index,1)
},
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;
}

.addFamily{
position: absolute;
top: -2px;
right: 0;
border-radius: 50%;
}
.deleteFamily{
position: absolute;
top: 0rem;
right: 6%;
z-index: 9;
border-radius: 50%;
}
</style>

+ 1108
- 0
src/views/yinnong/bankAgriculture/paymentApproval/approvalAdd4.vue
A apresentação das diferenças no ficheiro foi suprimida por ser demasiado grande
Ver ficheiro


+ 944
- 0
src/views/yinnong/bankAgriculture/paymentApproval/approvalAdd5.vue Ver ficheiro

@@ -0,0 +1,944 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">添加母子转账申请</p>
</template>
</van-nav-bar>
<van-form @submit="getChange" @failed="getError" :show-error-message="false" scroll-to-error validate-first>
<p class="main_title">基础信息</p>
<div class="main_box">
<van-field
readonly
clickable
required
:rules="[{ required: true , message:'请选择申请时间' }]"
v-model="form.applyDate"
label="申请时间"
placeholder="请选择申请时间"
@click="showlasj = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showlasj" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="date"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
@confirm="onConfirmLasj"
@cancel="showlasj = false"
/>
</van-popup>
<van-field
readonly
clickable
required
:rules="[{ required: true , message:'请选择资金支出类别' }]"
label="资金支出类别"
placeholder="请选择"
v-model="capitalExpenditureType"
@click="showcapital = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showcapital" position="bottom">
<van-picker
show-toolbar
:columns="capitalExpenditureTypeOptions"
@confirm="onConfirmCapital"
@cancel="showcapital = false"
/>
</van-popup>
<van-field
readonly
required
label="支出总金额"
v-model="form.expenditureAmount"
placeholder="根据下方收款金额自动核算"
input-align="right"
label-width="auto"
/>

</div>

<div class="main_box" style="margin-top: 10px;">
<van-field
label="付款事由"
v-model="form.remark"
type="textarea"
placeholder="请输入付款事由"
input-align="right"
rows="3"
label-width="auto"
required
:rules="[{ required: true , message:'请输入付款事由' }]"
/>
</div>

<div class="main_box" style="margin-top: 10px;">
<van-field label="说明情况" v-model="form.explainSituation" type="textarea" placeholder="请输入说明情况" input-align="right" rows="3" label-width="auto"/>
</div>

<p class="main_title" v-if="capitalExpenditureOpen">关联项目</p>
<div class="main_box" v-if="capitalExpenditureOpen" style="margin-bottom: 10px;margin-top: 10px;position:relative;">
<van-field
readonly
clickable
label="项目名称"
placeholder="请选择"
v-model="projectForm.projectName"
@click="showproject = true"
input-align="right"
right-icon="arrow-down"
required
:rules="[{ required: true , message:'请选择项目名称' }]"
/>
<van-popup v-model="showproject" position="bottom">
<van-picker
show-toolbar
:columns="projectListShow"
@confirm="onConfirmProject"
@cancel="showproject = false"
/>
</van-popup>
<van-field required :rules="[{ required: true , message:'请输入承建单位' }]" v-model="projectForm.projectContractor" label="承建单位" placeholder="请输入承建单位" input-align="right" label-width="auto"/>
<van-field required :rules="[{ required: true , message:'请输入合同价款' }]" v-model="projectForm.projectAmount" label="合同价款(元)" placeholder="请输入合同价款(元)" input-align="right" label-width="auto"/>
<van-field
readonly
clickable
label="工程款类型"
placeholder="请选择"
v-model="projectFundType"
@click="showFundType = true"
input-align="right"
right-icon="arrow-down"
required
:rules="[{ required: true , message:'请选择工程款类型' }]"
/>
<van-popup v-model="showFundType" position="bottom">
<van-picker
show-toolbar
:columns="projectFundTypeOptions"
@confirm="onConfirmFundType"
@cancel="showFundType = false"
/>
</van-popup>
<van-field required :rules="[{ required: true , message:'请输入工程发票号' }]" v-model="projectForm.projectBillNum" label="工程发票号" placeholder="请输入工程发票号" input-align="right" label-width="auto"/>
</div>

<p class="main_title">付款方信息</p>
<div class="main_box">
<!-- <van-field label="付款方" v-model="form.payer" placeholder="请输入付款方" input-align="right" label-width="auto"/>-->
<van-field
readonly
clickable
label="付款方"
placeholder="请选择付款方"
v-model="form.payer"
@click="showpayer = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
required
:rules="[{ required: true , message:'请选择付款方' }]"
/>
<van-popup v-model="showpayer" position="bottom">
<van-picker
show-toolbar
:columns="payerOptions"
@confirm="onConfirmPayer($event)"
@cancel="showpayer = false"
/>
</van-popup>
<van-field :rules="[{ required: true , message:'请输入付款方账户' }]" required label="付款方账户" v-model="form.payerAccount" placeholder="请输入账户" input-align="right" label-width="auto"/>
</div>

<p class="main_title">收款方信息<van-button icon="plus" @click="addChargeItme(chargeItme.length)" size="mini" type="info" native-type="button" class="addFamily"/></p>
<div class="main_box" style="margin-bottom: 15px;">
<van-cell title="收款账户类型">
<template #right-icon>
<van-radio-group direction="horizontal" v-model="form.accountType" @change="accountTypeChange">
<van-radio name="1">公户</van-radio>
<van-radio name="2">私户</van-radio>
</van-radio-group>
</template>
</van-cell>
</div>
<div :style="{position:'relative',padding: index == 0 ? '':'10px 0 0 0'}" v-for="(item, index) in chargeItme" :key="index">
<van-button icon="minus" size="mini" type="danger" class="deleteFamily" native-type="button" v-if="index!=0" @click="deleteChargeItme(index)" />
<div class="main_box" style="margin-bottom: 10px;position:relative;">
<van-field
readonly
clickable
label="收款方"
placeholder="请选择"
v-model="item.payee"
@click="item.showPayee = true"
input-align="right"
right-icon="arrow-down"
required
:rules="[{ required: true , message:'请选择收款方' }]"
/>
<van-popup v-model="item.showPayee" position="bottom">
<van-picker
show-toolbar
:columns="payeeList"
@confirm="onConfirmPayee($event,index)"
@cancel="item.showPayee = false"
/>
</van-popup>
<van-field required :rules="[{ required: true , message:'收款账户不能为空' }]" v-model="item.payeeAccount" label="收款账户" placeholder="请选择收款方" input-align="right" label-width="auto"/>
<van-field required :rules="[{ required: true , message:'开户银行不能为空' }]" v-model="item.bankDeposit" label="开户银行" placeholder="请选择收款方" input-align="right" label-width="auto"/>
<van-field required :rules="[{ required: true , message:'请输入金额' }]" v-model="item.incomeAmount" type="number" label="收入金额" placeholder="请输入金额" input-align="right" label-width="auto" @change="moneyChange"/>
<van-field
readonly
clickable
label="所属银行"
placeholder="请选择收款方"
v-model="item.bankTypeText"
@click="item.showbankType = true"
input-align="right"
required
:rules="[{ required: true , message:'所属银行不能为空 ' }]"
/>
</div>
</div>
<p class="main_title">上传附件</p>
<div class="main_box" style="padding: 5px 0 0 8px;">
<van-uploader v-model="fileList" :after-read="beforeRead" @delete="deleteFile"></van-uploader>
</div>
<div style="padding: 16px 0;">
<van-row>
<van-col span="12" align="center">
<!-- @click="goUpdate"-->
<van-button type="info" native-type="submit" @click="buttonType='update'" class="submitButton">保<i style="margin-right: 1em;"></i>存</van-button>
</van-col>
<van-col span="12" align="center">
<!-- @click="goAdd"-->
<van-button type="info" native-type="submit" @click="buttonType='add'" class="submitButton">保存并提交</van-button>
</van-col>
</van-row>
<div class="clear"></div>
</div>
</van-form>
</div>
</template>

<script>
import { addTransfer , listPayee , updateTransfer , getProjectto , listProject , addProjectto , customSubmit , getAccount ,getQmyeFlow} from "@/api/onlineHome/bankAgriculture/paymentApproval";
import {
attachmentList,
commonAttach,
listTaccount,
listVaccount
} from "../../../../api/onlineHome/bankAgriculture/paymentApproval";
import request from '@/utils/request'
import Dialog from "vant/lib/dialog";
export default {
name: "approvalAdd5",
data() {
return {
showcapital:false,
showpayee:false,
showlasj:false,
showbankType:false,
showproject:false,
showFundType:false,
showpayer:false,

buttonType:'a',

minDate: new Date(2000, 1, 1),
maxDate: new Date(2050, 12, 31),
currentDate: new Date(),
form:{},
fileList:[],
capitalExpenditureType:'',
payee:'',
bankType:'',

wfydlxDictionaries:[],
jglxDictionaries:[],
sysDictionaries:[],
capitalExpenditureTypeOptions:[],
bankTypeDictionaries:[],
projectList:[],
projectFundTypeOptions:[],
projectFundTypeDictionaries:[],
projectListShow:[],
payerOptions:[],

chargeItme:[],
chargeItmeShow:[],

payeeList:[],
// 查询参数
queryParams: {
transferType:"",
orderByColumn: "id",
isAsc: "desc",
},
capitalExpenditureOpen:false,
projectForm:{
projectId:null,
projectName:null,
projectContractor:null,
projectAmount:null,
projectBillNum:null,
projectFundType:'1',
outId:null,
ynType:'1'
},
projectFundType:'',
uploadFiles:[],
};
},
created() {
this.reset();
let queryParams={
pageNum: 1,
pageSize: 100,
}
listProject(queryParams).then(response => {
this.projectList = response.rows;
for (let i = 0; i < response.rows.length; i++) {
this.projectListShow.push({text: response.rows[i].projectName, value: response.rows[i].id});
}
});
this.getDicts("project_fund_type").then((response) => {
for (let i = 0; i < response.data.length; i++) {
this.projectFundTypeOptions.push({text: response.data[i].dictLabel, value: response.data[i].dictValue});
}
this.projectFundTypeDictionaries = response.data;
});
let params1={
townAccountType:'2'
}
listTaccount(params1).then((response) => {
console.log(response)
response.rows.map((res,index) => {
if(res.townAccountType=='2'){
res['payerFrom'] = '2'
this.payerOptions.push(res);
console.log(res)
this.payerOptions[index].text = res.payee;
this.payerOptions[index].value = res.id;
}
})
});
this.getDictionaries();
},
methods: {
// 表单重置
reset() {
this.form = {
id: null,
upId: null,
downId: null,
orderId: null,
cashierId: null,
transferType: '5',
accountType: '2',
explainSituation: null,
succeedAmount: null,
payer: null,
payerAccount: null,
operatorCode: null,
enterpriseCode: null,
expenditureAmount: null,
capitalExpenditureType: '1',
remark: null,
transferStatus: "0",
auditStatus: "0",
paymentState: "1",
bankPriority: "0",
clientPriority: "0"
};
this.processList = {}
this.projectForm={
projectId:null,
projectName:null,
projectContractor:null,
projectAmount:null,
projectBillNum:null,
projectFundType:'1',
outId:null,
ynType:'1'
}
},
getChange(){
console.log(this.buttonType)
if(this.buttonType == 'update'){
console.log('update')
this.goUpdate();
}else if(this.buttonType == 'add'){
console.log('add')
this.goAdd();
}
},
getDictionaries(){
this.getDicts("capital_expenditure_type").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.capitalExpenditureTypeOptions.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
this.getDicts("bank_type").then(res => {
for (var i = 0; i < res.data.length; i++) {
this.bankTypeDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});

},
getError(e){
console.log(e)
this.$notify({ type: 'danger', message: e.errors[0].message });
},
addChargeItme(index){
if(this.chargeItme.length>0&&this.chargeItme[this.chargeItme.length-1].payee == ''){
this.$notify({ type: 'danger', message: '请勿添加多个空列表信息' });
return;
}else if(this.chargeItme.length>0&&this.chargeItme[index-1].incomeAmount == ''){
this.$notify({ type: 'danger', message: '请输入收入金额!' });
return;
}else if(this.chargeItme.length>0&&this.chargeItme[index-1].payeeAccount == ''){
this.$notify({ type: 'danger', message: '请输入收款账户!' });
return;
}else if(this.chargeItme.length>0&&this.chargeItme[index-1].bankDeposit == ''){
this.$notify({ type: 'danger', message: '请输入开户银行!' });
return;
}else if(this.chargeItme.length>0&&this.chargeItme[index-1].bankType == ''){
this.$notify({ type: 'danger', message: '请选择所属银行!' });
return;
}
this.getDicts("bank_type").then(res => {
this.chargeItme.splice(index + 1, 0, {
payeeId: "", //收款方ID
payee: "", //收款方
payeeAccount: "", //收款账户
bankDeposit: "", //开户银行
incomeAmount: "", //收入金额
bankType: "", //所属银行
bankTypeText:"", //所属银行
showPayee:false,
showbankType:false
});
});
this.getPayeeList();
},
getPayeeList() {
//普通转账
this.queryParams.accountType = this.form.accountType
this.queryParams.status = "0"
if(this.form.cashierId==null||this.form.cashierId==""){
this.$notify({ type: 'danger', message: '请先选择付款方!' });
return;
}else {
this.queryParams.taccountId = parseInt(this.form.cashierId)
listVaccount(this.queryParams).then((response) => {
this.payeeList = response.rows;
response.rows.map((res,index) => {
this.payeeList[index].text = res.payee;
this.payeeList[index].value = res.id;
})
});
}
},
payeeDictLabel(datas, value) {
let actions = [];
Object.keys(datas).some((key) => {
if (datas[key].payeeId == ('' + value)) {
actions.push(datas[key].payee);
return true;
}
})
return actions.join('');
},
onConfirmCapital(data){
if (data.value != 2){
this.capitalExpenditureOpen = false;
this.projectForm = [];
}else{
this.capitalExpenditureOpen = true;
}
this.capitalExpenditureType = data.text;
this.form.capitalExpenditureType = data.value;
this.showcapital = false;
},
onConfirmFundType(data){
console.log(data)
this.projectForm.projectFundType = data.value;
this.projectFundType = data.text;
this.showFundType = false;
},
onConfirmProject(data){
this.projectList.map(res => {
if(res.projectName==data.text){
this.projectForm.projectId = res.id
this.projectForm.projectName = res.projectName
this.projectForm.projectContractor = res.projectContractor
this.projectForm.projectAmount = res.projectAmount
}
})
this.showproject = false;
},
onConfirmPayee(data,index){
for (let i = 0 ; i < this.chargeItme.length ; i++){
this.chargeItme[i].showPayee = false;
}
this.chargeItme[index].payee = data.text;
this.chargeItme[index].payeeId = data.value;
this.chargeItme[index].showpayee = false;
this.payeeSelectChange(data.value , index)
this.onConfirmBankType(data,index);
},
onConfirmBankType(data,index){
console.log(this.bankTypeDictionaries)
this.bankTypeDictionaries.map(res => {
if(res.value==data.bankType){
this.chargeItme[index].bankTypeText = res.text;
this.chargeItme[index].bankType = res.value;
}
})
},
onConfirmPayer(data){
console.log(data)
this.form.payer = data.text;
this.form.cashierId = data.value;
this.form.payerAccount = data.payeeAccount;
this.showpayer = false;
// this.selectChange(data.value)
this.accountTypeChange();
},
onConfirmLasj(data){
this.form.applyDate = this.getNowFormatDate(data).substr(0,10);
this.showlasj = false;
},
accountTypeChange(e){
this.payeeList = [];
this.chargeItme = [];
this.queryParams.accountType = this.form.accountType
if(this.form.cashierId==null||this.form.cashierId==""){
this.$notify({ type: 'danger', message: '请先选择付款方!' });
return;
}else {
this.queryParams.taccountId = parseInt(this.form.cashierId)
console.log(this.queryParams)
listVaccount(this.queryParams).then((response) => {
this.payeeList = response.rows;
response.rows.map((res,index) => {
this.payeeList[index].text = res.payee;
this.payeeList[index].value = res.id;
})
});
}
},
// 钱计算
moneyChange(input) {
console.log(input)
let obj = {};
obj = this.chargeItme.find((account) => {
//model就是上面的数据源
return parseFloat(account.incomeAmount).toFixed(2) === input; //筛选出匹配数据
});
let total = 0;
this.chargeItme.forEach((money) => {
total = (parseFloat(total) + parseFloat(money.incomeAmount)).toFixed(2)
});
this.$set(this.form, "expenditureAmount", total);
},
goAdd(){
if(this.chargeItme.length<1){
this.$notify({ type: 'danger', message: '请添加收款方信息' });
return;
}
if(this.form.remark != null && this.form.remark.indexOf("|")!=-1){
this.$notify({ type: 'danger', message: '付款事由禁止包含!' });
return;
}
if(this.form.capitalExpenditureType==2){
if(this.projectForm.projectName==""||this.projectForm.projectName==null){
this.$notify({ type: 'danger', message: '请选择项目名称!' });
return;
}
if(this.projectForm.projectBillNum==""||this.projectForm.projectBillNum==null){
this.$notify({ type: 'danger', message: '请输入工程发票号!' });
return;
}
}
if((this.uploadFiles==null||this.uploadFiles.length==0)&&(this.fileList==null||this.fileList.length==0)){
Dialog.confirm({
title: '提示',
message: '此申请单中未上传任何附件,是否确认提交?',
})
.then(() => {
this.$set(this.form, "payeeList", this.chargeItme);
this.$set(this.form, "bankTypeList", this.chargeItme);
this.$set(this.form, "accountTypeList", this.chargeItme);
this.$set(this.form, "transferStatusList", this.chargeItme);
addTransfer(this.form).then(response => {
this.projectForm.outId = response.data.id
this.$set(this.projectForm, "ynType", '1');
if(this.uploadFiles!=null&&this.uploadFiles.length>0){
this.uploadFiles.map(rr => {
const params = new FormData();
params.append("tableId", response.data.id);
params.append("tableName", "t_yinnong_transfer");
params.append("bizPath", "upload");
params.append("fileType", "0");
params.append("file", rr);
commonAttach(params).then((r) => {
})
})
if(this.form.capitalExpenditureType==2){
addProjectto(this.projectForm).then(res => {
customSubmit(response.data.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
})
}else{
customSubmit(response.data.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
}
}else{
if(this.form.capitalExpenditureType==2){
addProjectto(this.projectForm).then(res => {
customSubmit(response.data.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
})
}else{
customSubmit(response.data.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
}
}
});
})
.catch(() => {
return false;
});
}else{
this.$set(this.form, "payeeList", this.chargeItme);
this.$set(this.form, "bankTypeList", this.chargeItme);
this.$set(this.form, "accountTypeList", this.chargeItme);
this.$set(this.form, "transferStatusList", this.chargeItme);
addTransfer(this.form).then(response => {
this.projectForm.outId = response.data.id
this.$set(this.projectForm, "ynType", '1');
if(this.uploadFiles!=null&&this.uploadFiles.length>0){
this.uploadFiles.map(rr => {
const params = new FormData();
params.append("tableId", response.data.id);
params.append("tableName", "t_yinnong_transfer");
params.append("bizPath", "upload");
params.append("fileType", "0");
params.append("file", rr);
commonAttach(params).then((r) => {
})
})
if(this.form.capitalExpenditureType==2){
addProjectto(this.projectForm).then(res => {
customSubmit(response.data.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
})
}else{
customSubmit(response.data.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
}
}else{
if(this.form.capitalExpenditureType==2){
addProjectto(this.projectForm).then(res => {
customSubmit(response.data.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
})
}else{
customSubmit(response.data.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
}
}
});
}


},
goUpdate(){
if(this.chargeItme.length<1){
this.$notify({ type: 'danger', message: '请添加收款方信息' });
return;
}
if(this.form.remark != null && this.form.remark.indexOf("|")!=-1){
this.$notify({ type: 'danger', message: '付款事由禁止包含!' });
return;
}
if(this.form.capitalExpenditureType==2){
if(this.projectForm.projectName==""||this.projectForm.projectName==null){
this.$notify({ type: 'danger', message: '请选择项目名称!' });
return;
}
if(this.projectForm.projectBillNum==""||this.projectForm.projectBillNum==null){
this.$notify({ type: 'danger', message: '请输入工程发票号!' });
return;
}
}
this.$set(this.form, "payeeList", this.chargeItme);
this.$set(this.form, "bankTypeList", this.chargeItme);
this.$set(this.form, "accountTypeList", this.chargeItme);
this.$set(this.form, "transferStatusList", this.chargeItme);
console.log(this.form)
addTransfer(this.form).then((response) => {
this.projectForm.outId = response.data.id
this.$set(this.projectForm, "ynType", '1');
if(this.uploadFiles!=null&&this.uploadFiles.length>0){
console.log(this.uploadFiles)
this.uploadFiles.map(rr => {
const params = new FormData();
params.append("tableId", response.data.id);
params.append("tableName", "t_yinnong_transfer");
params.append("bizPath", "upload");
params.append("fileType", "0");
params.append("file", rr);
commonAttach(params).then((r) => {
})
})
if(this.form.capitalExpenditureType==2){
addProjectto(this.projectForm).then(res => {
this.$toast.success('保存成功');
setTimeout(function(){
history.go(-1)
},2000)
})
}else{
this.$toast.success('保存成功');
setTimeout(function(){
history.go(-1)
},2000)
}
}else{
if(this.form.capitalExpenditureType==2){
addProjectto(this.projectForm).then(res => {
this.$toast.success('保存成功');
setTimeout(function(){
history.go(-1)
},2000)
})
}else{
this.$toast.success('保存成功');
setTimeout(function(){
history.go(-1)
},2000)
}
}

});
},
payeeSelectChange(select, i) {
let obj = {};
let fuzhitype = 0;
obj = this.payeeList.find((account) => {
//model就是上面的数据源
return account.id === select ; //筛选出匹配数据
});
if(this.chargeItme != [] && this.chargeItme.length>1){
this.chargeItme.some((value, index) => {
if(value.payeeAccount != undefined &&value.payeeAccount != '' && obj.payeeAccount == value.payeeAccount&&index!=i){
fuzhitype = 2;
return true;
}
if(value.accountType != undefined &&value.accountType != '' && obj.accountType != value.accountType&&index!=i){
fuzhitype = 1;
return true;
}
});
}
if(fuzhitype == 0){
this.$set(this.chargeItme[i], "payee",obj.payee)
this.$set(this.chargeItme[i], "bankType", obj.bankType)
this.$set(this.chargeItme[i], "payeeId", obj.id);
this.$set(this.chargeItme[i], "payeeAccount", obj.payeeAccount);
this.$set(this.chargeItme[i], "bankDeposit", obj.bankDeposit);
this.$set(this.chargeItme[i], "accountType", obj.accountType);
}else if(fuzhitype == 1){
this.$set(this.chargeItme[i], "payee",'')
this.$set(this.chargeItme[i], "bankType",'')
this.$set(this.chargeItme[i], "payeeId", '');
this.$set(this.chargeItme[i], "payeeAccount", '');
this.$set(this.chargeItme[i], "bankDeposit", '');
this.$set(this.chargeItme[i], "accountType", '');
this.$notify({ type: 'danger', message: '请选择账户类型相同的收款方!' });
}else if(fuzhitype == 2){
this.$set(this.chargeItme[i], "payee",'')
this.$set(this.chargeItme[i], "bankType",'')
this.$set(this.chargeItme[i], "payeeId", '');
this.$set(this.chargeItme[i], "payeeAccount", '');
this.$set(this.chargeItme[i], "bankDeposit", '');
this.$set(this.chargeItme[i], "accountType", '');
this.$notify({ type: 'danger', message: '收款方已存在!' });
}
},
selectChange(select) {
let obj = {};
obj = this.payerOptions.find((account) => {
//model就是上面的数据源
return account.id === select; //筛选出匹配数据
});
if(obj.payerFrom==1&&obj.operatorCode != null && obj.operatorCode != "" &&
obj.enterpriseCode != null && obj.enterpriseCode != "" &&
obj.accountPassword != null && obj.accountPassword != ""){
this.$set(this.form, "bookId", obj.bookId);
this.$set(this.form, "deptId", obj.deptId);
this.$set(this.form, "cashierId", obj.id);
this.$set(this.form, "payer", obj.accountName);
this.$set(this.form, "payerAccount", obj.bankAccountNumber);
this.$set(this.form, "operatorCode", obj.operatorCode);
this.$set(this.form, "enterpriseCode", obj.enterpriseCode);
this.$set(this.form, "payerFrom", '1');
}else{
if(obj.payerFrom==1){
this.diglogStatus = false;
this.$notify({ type: 'danger', message: "请完善付款方“操作员代码”、“企业编码”、“支付口令”等信息!" });
this.$set(this.form,"payer","")
this.$set(this.form,"payerAccount","")
}else{
this.$set(this.form, "payerFrom", obj.parerFrom);
if(obj.operatorCode!=null&&obj.operatorCode!=''){
this.$set(this.form, "operatorCode", obj.operatorCode);
}else{
this.$set(this.form, "operatorCode", '');
}
if(obj.enterpriseCode!=null&&obj.enterpriseCode!=''){
this.$set(this.form, "enterpriseCode", obj.enterpriseCode);
}else{
this.$set(this.form, "enterpriseCode", '');
}
if(obj.accountPassword!=null&&obj.accountPassword!=''){
this.$set(this.form, "accountPassword", obj.accountPassword);
}else{
this.$set(this.form, "accountPassword", '');
}
this.$set(this.form, "bookId",'');
this.$set(this.form, "deptId", '');
this.$set(this.form, "cashierId", obj.id);
this.$set(this.form, "payer", obj.accountName);
if(obj.payerFrom==6){
getQmyeFlow(obj.bankAccountNumber).then((response) => {
this.$set(this.form, "payerAccount", response.data);
});
}else {
this.$set(this.form, "payerAccount", obj.bankAccountNumber);
}
}
}
},
beforeRead(file) {
this.uploadFiles.push(file.file);
},
deleteFile(file){
this.uploadFiles.map((response,index) => {
if(file.file == response){
this.uploadFiles.splice(index,1)
}
})
},
getFileList(){
let oData= {
tableId: this.$route.query.id,
tableName: "t_yinnong_transfer",
bizPath: "upload",
fileType: "0",
}
attachmentList(oData).then(res => {
console.log(res)
console.log(location.protocol+"//"+location.host+request.defaults.baseURL)
res.rows.map(r => {
let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL
this.fileList.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{})})
console.log(r)
})
})
},
goBack(){
window.history.go(-1)
},
//删除家庭成员
deleteChargeItme(index){
this.chargeItme.splice(index,1)
},
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;
}

.addFamily{
position: absolute;
top: -2px;
right: 0;
border-radius: 50%;
}
.deleteFamily{
position: absolute;
top: 0rem;
right: 6%;
z-index: 9;
border-radius: 50%;
}
</style>

+ 367
- 0
src/views/yinnong/bankAgriculture/paymentApproval/approvalApproval.vue Ver ficheiro

@@ -0,0 +1,367 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="backDone"
>
<template #title>
<p style="font-weight: bold;">付款审批</p>
</template>
<template #right>
<van-icon name="../../../static/images/icon/icon_flow.png" size="20" @click="goFlow"/>
</template>
</van-nav-bar>
<p class="main_title">基础信息</p>
<div class="main_box">
<van-field readonly label="申请时间" v-model="form.applyDate" input-align="right" />
<van-field readonly label="资金支出类别" v-model="capitalExpenditureType" input-align="right" label-width="auto" />
<van-field readonly label="支出总金额" v-model="form.expenditureAmount" input-align="right" label-width="auto"/>
<van-field name="radio" label="审批模式" input-align="right" autocomplete="off" readonly>
<template #input>
<van-radio-group v-model="form.paymentState" direction="horizontal">
<van-radio name="1">线上支付</van-radio>
<van-radio name="2">线下支付</van-radio>
</van-radio-group>
</template>
</van-field>
</div>

<div class="main_box" style="margin-top: 10px;">
<van-field readonly label="付款事由" v-model="form.remark" type="textarea" input-align="right" rows="3" label-width="auto"/>
</div>

<div class="main_box" style="margin-top: 10px;">
<van-field readonly label="说明情况" v-model="form.explainSituation" type="textarea" input-align="right" rows="3" label-width="auto"/>
</div>

<p class="main_title">付款方信息</p>
<div class="main_box">
<van-field readonly label="付款方" v-model="form.payer" input-align="right" label-width="auto"/>
<van-field readonly label="付款方账户" v-model="form.payerAccount" input-align="right" label-width="auto"/>
</div>

<div class="main_box" v-if="capitalExpenditureOpen" style="margin-bottom: 10px;margin-top: 10px;position:relative;">
<van-field readonly label="项目名称" v-model="projectForm.projectName" input-align="right" />
<van-field readonly label="承建单位" v-model="projectForm.projectContractor" input-align="right" label-width="auto"/>
<van-field readonly label="合同价款(元)" v-model="projectForm.projectAmount" input-align="right" label-width="auto"/>
<van-field readonly label="工程款类型" v-model="projectFundType" input-align="right" />
<van-field readonly label="工程发票号" v-model="projectForm.projectBillNum" input-align="right" label-width="auto"/>
</div>

<p class="main_title">列表信息</p>

<div class="main_box" style="margin-bottom: 15px;">
<van-field readonly label="收款账户类型" v-model="form.accountType == 1 ? '公户':'私户'" input-align="right" label-width="auto" />
<van-field readonly label="是否与付款方同行" v-if="form.bankType==2||form.bankType==4" v-model="form.isPeers == 'Y' ? '是':'否'" input-align="right" label-width="auto" />
</div>

<div :style="{position:'relative',padding: index == 0 ? '':'10px 0 0 0'}" v-for="(item, index) in chargeItme" :key="index">
<div class="main_box" style="margin-bottom: 10px;position:relative;">
<van-field readonly label="收款方" v-model="item.payee" input-align="right" />
<van-field readonly label="收款账户" v-model="item.payeeAccount" input-align="right" label-width="auto"/>
<van-field readonly label="开户银行" v-model="item.bankDeposit" input-align="right" label-width="auto"/>
<van-field readonly label="收入金额" v-model="item.incomeAmount" input-align="right" label-width="auto"/>
<van-field readonly label="所属银行" v-model="item.bankTypeText" input-align="right" />
</div>
</div>
<p class="main_title">上传附件</p>
<div class="main_box" style="padding: 5px 0 0 8px;">
<van-uploader v-model="fileList" v-if="fileList==null||fileList.length==0" :deletable="false" disabled :upload-text="'未上传附件'"></van-uploader>
<van-uploader v-model="fileList" v-if="fileList!=null&&fileList.length>0" :deletable="false" :max-count="fileList.length" ></van-uploader>
</div>
<p style="margin-top:20px;padding: 0 10px">附件下载{{fileList&&fileList.length==0?':暂无可下载文件':''}}</p>
<van-cell v-for="(item,index) in fileList" :key="index">
<a :href="item.url">{{index+1}}.{{item.fileName}}</a>
</van-cell>
<div class="main_box examine_box" v-if="this.$route.query.type != 'done'">
<van-row type="flex" justify="space-between" align="center">
<van-col span="5">审批<br/>意见</van-col>
<van-col span="19">
<van-radio-group v-model="pass" direction="horizontal">
<van-radio name="true">同意</van-radio>
<van-radio name="false">驳回</van-radio>
</van-radio-group>
<van-field rows="2" autosize v-model="comment" type="textarea" placeholder="同意申请宅基地"/>
</van-col>
</van-row>
</div>

<div style="margin: 16px 2%;" v-if="this.$route.query.type != 'done'">
<van-row>
<van-col span="24" align="center">
<van-button type="info" native-type="submit" @click="submitForm" class="submitButton">提交</van-button>
</van-col>
</van-row>
<div class="clear"></div>
</div>

</div>
</template>

<script>
import { getTransfer , queryTransferDetail , listPayee , getProjectto , listProject , approval } from "@/api/onlineHome/bankAgriculture/paymentApproval";
import {attachmentList, systemAttachment} from "../../../../api/onlineHome/bankAgriculture/paymentApproval";
import request from '@/utils/request'
export default {
name: "approvalApproval",
data() {
return {
showcapital:false,
showpayee:false,
showlasj:false,
showbankType:false,
showproject:false,
showFundType:false,

minDate: new Date(2000, 1, 1),
maxDate: new Date(2050, 12, 31),
currentDate: new Date(),
form:{},

capitalExpenditureType:'',
payee:'',
bankType:'',

wfydlxDictionaries:[],
jglxDictionaries:[],
sysDictionaries:[],
capitalExpenditureTypeOptions:[],
bankTypeDictionaries:[],
projectList:[],
projectFundTypeOptions:[],
projectFundTypeDictionaries:[],
projectListShow:[],

chargeItme:[],
chargeItmeShow:[],

payeeList:[],
// 查询参数
queryParams: {
transferType:"",
orderByColumn: "id",
isAsc: "desc",
},
capitalExpenditureOpen:false,
projectForm:{
projectId:null,
projectName:null,
projectContractor:null,
projectAmount:null,
projectBillNum:null,
projectFundType:'1',
outId:null,
ynType:'1'
},
projectFundType:'',
fileList:[],
uploadFiles:[],
// 审核意见默认值
pass: "true",
comment: "同意",
};
},
created() {
let queryParams={
pageNum: 1,
pageSize: 100,
}
listProject(queryParams).then(response => {
console.log(response)
this.projectList = response.rows;
for (var i = 0; i < response.rows.length; i++) {
this.projectListShow.push({text: response.rows[i].projectName, value: response.rows[i].id});
}
});
this.getDicts("project_fund_type").then((response) => {
for (var i = 0; i < response.data.length; i++) {
this.projectFundTypeOptions.push({text: response.data[i].dictLabel, value: response.data[i].dictValue});
}
this.projectFundTypeDictionaries = response.data;
});
this.getDictionaries();
this.getFileList();
},
methods: {
backDone(){
if(this.$route.query.type != 'done'){
this.$router.push({name:'yinnongDone',query: {activeName:'1'}})
}else{
this.$router.push({name:'yinnongDone',query: {activeName:'2'}})
}
},
goFlow(){
window.location='approvalProcess?id='+this.$route.query.id;
},
getDictionaries(){
getTransfer(this.$route.query.id).then((response) => {
this.getDicts("capital_expenditure_type").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.capitalExpenditureTypeOptions.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
this.capitalExpenditureType = this.selectDictLabel(res.data, response.data.capitalExpenditureType);
});
if(response.data.capitalExpenditureType==2){
this.capitalExpenditureOpen = true
let param={
'outId' : response.data.id,
'ynType' : '1'
}
getProjectto(param).then(res => {
this.projectFundType = this.selectDictLabel(this.projectFundTypeDictionaries, res.data.projectFundType);
this.projectForm = res.data
})
}else{
this.showproject = false
}
this.form = response.data;
});
queryTransferDetail(this.$route.query.id).then((response) => {
this.getDicts("bank_type").then(res => {
for (var i = 0; i < res.data.length; i++) {
this.bankTypeDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
for (var j = 0 ; j < response.rows.length ; j++){
response.rows[j].bankTypeText = this.selectDictLabel(res.data, response.rows[j].bankType);
}
this.chargeItme = response.rows;
});
this.getPayeeList();
});
},
getPayeeList() {
//普通转账
this.queryParams.accountType = this.form.accountType
this.queryParams.status = "0"
listPayee(this.queryParams).then((response) => {
for (var i = 0; i < response.rows.length; i++) {
this.payeeList.push({text: response.rows[i].payee, value: response.rows[i].id});
}
});
},
beforeRead(file) {
this.uploadFiles.push(file.file);
},
deleteFile(file){
console.log(file)
this.uploadFiles.map((response,index) => {
if(file.file == response){
this.uploadFiles.splice(index,1)
}
})
if(file.id){
systemAttachment(file.id).then((res) => {
});
}
},
getFileList(){
let oData= {
tableId: this.$route.query.id,
tableName: "t_yinnong_transfer",
bizPath: "upload",
fileType: "0",
}
attachmentList(oData).then(res => {
console.log(res)
console.log(location.protocol+"//"+location.host+request.defaults.baseURL)
res.rows.map(r => {
let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL
this.fileList.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{}),"id":r.id,"fileName":r.fileName})
console.log(r)
})
})
},
/** 提交按钮 */
submitForm() {
const data = {
taskId: this.$route.query.taskId,
instanceId: this.form.instanceId,
variables: JSON.stringify({
comment: this.comment,
pass: this.pass,
}),
};
console.log(data);
approval(data).then((response) => {
if(response.code==200 && response.msg=="操作成功"){
this.$toast.success("操作成功");
setTimeout(function(){
history.go(-1)
},2000)
} else{
this.$toast.success("操作失败");
}
});
},
},watch: {
pass: function (val) {
this.comment = val === "true" ? "同意" : "驳回";
},
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 96%;
margin: 0 auto;
}

.addFamily{
position: absolute;
top: -2px;
right: 0;
border-radius: 50%;
}
.deleteFamily{
position: absolute;
top: 0rem;
right: 6%;
z-index: 9;
border-radius: 50%;
}
.examine_box{
background-color: #1D6FE9!important;
padding: 0.18rem!important;
padding-left: 0!important;
border-radius: 0.15rem!important;
margin-top: 0.3rem!important;
}
.examine_box .van-col:first-child{
color: #FFF!important;
font-size: 0.45rem!important;
text-align: center!important;
}
.examine_box .van-col:last-child{
background-color: #FFF!important;
border-radius: 0.15rem!important;
overflow: hidden!important;
.van-radio-group--horizontal{
padding: 0.2rem 0;
border-bottom: 1px solid #eee;
}
}
/deep/.van-radio--horizontal{
margin-left: 20px;
margin-right: 0;
}
</style>

+ 509
- 0
src/views/yinnong/bankAgriculture/paymentApproval/approvalApproval10.vue Ver ficheiro

@@ -0,0 +1,509 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">现金提现申请审批</p>
</template>
<template #right>
<van-icon name="../../../static/images/icon/icon_flow.png" size="20" @click="goFlow"/>
</template>
</van-nav-bar>
<p class="main_title">基础信息</p>
<div class="main_box">
<van-field readonly label="申请时间" v-model="form.applyDate" input-align="right" />
<van-field readonly label="资金支出类别" v-model="capitalExpenditureType" input-align="right" label-width="auto" />
<van-field readonly label="提现总金额" v-model="form.expenditureAmount" input-align="right" label-width="auto"/>
<van-field name="radio" label="审批模式" input-align="right" autocomplete="off" readonly>
<template #input>
<van-radio-group v-model="form.paymentState" direction="horizontal">
<van-radio name="1">线上支付</van-radio>
<van-radio name="2">线下支付</van-radio>
</van-radio-group>
</template>
</van-field>
</div>

<div class="main_box" style="margin-top: 10px;">
<van-field readonly label="付款事由" v-model="form.remark" type="textarea" input-align="right" rows="3" label-width="auto"/>
</div>

<div class="main_box" style="margin-top: 10px;">
<van-field readonly label="说明情况" v-model="form.explainSituation" type="textarea" input-align="right" rows="3" label-width="auto"/>
</div>

<p class="main_title">付款方信息</p>
<div class="main_box">
<van-field readonly label="付款方" v-model="form.payer" input-align="right" label-width="auto"/>
<van-field readonly label="付款方账户" v-model="form.payerAccount" input-align="right" label-width="auto"/>
</div>

<div class="main_box" v-if="capitalExpenditureOpen" style="margin-bottom: 10px;margin-top: 10px;position:relative;">
<van-field readonly label="项目名称" v-model="projectForm.projectName" input-align="right" />
<van-field readonly label="承建单位" v-model="projectForm.projectContractor" input-align="right" label-width="auto"/>
<van-field readonly label="合同价款(元)" v-model="projectForm.projectAmount" input-align="right" label-width="auto"/>
<van-field readonly label="工程款类型" v-model="projectFundType" input-align="right" />
<van-field readonly label="工程发票号" v-model="projectForm.projectBillNum" input-align="right" label-width="auto"/>
</div>

<p class="main_title">收款方信息</p>
<div :style="{position:'relative',padding: index == 0 ? '':'10px 0 0 0'}" v-for="(item, index) in chargeItme" :key="index">
<div class="main_box" style="margin-bottom: 10px;position:relative;">
<van-field readonly label="收款方" v-model="item.payee" input-align="right" />
<van-field readonly label="提款人" v-model="item.drawer" input-align="right" label-width="auto"/>
<van-field readonly label="提款金额(元)" v-model="item.incomeAmount" input-align="right" label-width="auto"/>
<van-field readonly label="资金用途" v-model="item.remark" input-align="right" />
</div>
</div>
<p class="main_title">上传附件</p>
<div class="main_box" style="padding: 5px 0 0 8px;">
<van-uploader v-model="fileList" v-if="fileList==null||fileList.length==0" :deletable="false" disabled :upload-text="'未上传附件'"></van-uploader>
<van-uploader v-model="fileList" v-if="fileList!=null&&fileList.length>0" :deletable="false" :max-count="fileList.length" ></van-uploader>
</div>
<p style="margin-top:20px;padding: 0 10px">附件下载{{fileList&&fileList.length==0?':暂无可下载文件':''}}</p>
<van-cell v-for="(item,index) in fileList" :key="index">
<a :href="item.url">{{index+1}}.{{item.fileName}}</a>
</van-cell>
<div class="main_box examine_box" v-if="this.$route.query.type != 'done'">
<van-row type="flex" justify="space-between" align="center">
<van-col span="5">审批<br/>意见</van-col>
<van-col span="19">
<van-radio-group v-model="pass" direction="horizontal">
<van-radio name="true">同意</van-radio>
<van-radio name="false">驳回</van-radio>
</van-radio-group>
<van-field rows="2" autosize v-model="comment" type="textarea" placeholder="同意申请宅基地"/>
</van-col>
</van-row>
</div>

<div style="margin: 16px 2%;" v-if="this.$route.query.type != 'done'">
<van-row>
<van-col span="24" align="center">
<van-button type="info" native-type="submit" @click="submitForm" class="submitButton">提交</van-button>
</van-col>
</van-row>
<div class="clear"></div>
</div>
</div>
</template>

<script>
import { getCash , listCashdetailByCashId , listPayee , getProjectto , listProject , addProjectto , customSubmit} from "@/api/onlineHome/bankAgriculture/paymentApproval";
import request from '@/utils/request'
import {approval, attachmentList, commonAttach} from "../../../../api/onlineHome/bankAgriculture/paymentApproval";
export default {
name: "approvalDetail10",
data() {
return {
showcapital:false,
showpayee:false,
showlasj:false,
showbankType:false,
showproject:false,
showFundType:false,

minDate: new Date(),
maxDate: new Date(2050, 10, 1),
currentDate: new Date(),
form:{},
fileList:[],
capitalExpenditureType:'',
payee:'',
bankType:'',

wfydlxDictionaries:[],
jglxDictionaries:[],
sysDictionaries:[],
capitalExpenditureTypeOptions:[],
bankTypeDictionaries:[],
projectList:[],
projectFundTypeOptions:[],
projectFundTypeDictionaries:[],
projectListShow:[],

chargeItme:[],
chargeItmeShow:[],

payeeList:[],
// 查询参数
queryParams: {
transferType:"",
orderByColumn: "id",
isAsc: "desc",
},
capitalExpenditureOpen:false,
projectForm:{
projectId:null,
projectName:null,
projectContractor:null,
projectAmount:null,
projectBillNum:null,
projectFundType:'1',
outId:null,
ynType:'2'
},
projectFundType:'',
uploadFiles:[],
// 审核意见默认值
pass: "true",
comment: "同意",
};
},
created() {
let queryParams={
pageNum: 1,
pageSize: 100,
}
listProject(queryParams).then(response => {
console.log(response)
this.projectList = response.rows;
for (var i = 0; i < response.rows.length; i++) {
this.projectListShow.push({text: response.rows[i].projectName, value: response.rows[i].id});
}
});
this.getDicts("project_fund_type").then((response) => {
for (var i = 0; i < response.data.length; i++) {
this.projectFundTypeOptions.push({text: response.data[i].dictLabel, value: response.data[i].dictValue});
}
this.projectFundTypeDictionaries = response.data;
});
this.getDictionaries();
this.getFileList();
},
methods: {
goFlow(){
window.location='approvalProcess2?id='+this.$route.query.id;
},
getDictionaries(){
getCash(this.$route.query.id).then((response) => {
this.getDicts("capital_expenditure_type").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.capitalExpenditureTypeOptions.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
this.capitalExpenditureType = this.selectDictLabel(res.data, response.data.capitalExpenditureType);
});
if(response.data.capitalExpenditureType==2){
this.capitalExpenditureOpen = true
let param={
'outId' : response.data.id,
'ynType' : '2'
}
getProjectto(param).then(res => {
this.projectFundType = this.selectDictLabel(this.projectFundTypeDictionaries, res.data.projectFundType);
this.projectForm = res.data
})
}else{
this.showproject = false
}
this.form = response.data;
});
console.log(this.$route.query.id)
listCashdetailByCashId(this.$route.query.id).then((response) => {
this.chargeItme = response.data;
console.log(response.data)
this.getPayeeList();
});
},
addChargeItme(index){
this.chargeItme.splice(index + 1, 0, {
payeeId: "", //收款方ID
payee: "", //收款方
payeeAccount: "", //收款账户
bankDeposit: "", //开户银行
incomeAmount: "", //收入金额
bankType: "", //所属银行
});
},
getPayeeList() {
//普通转账
this.queryParams.accountType = this.form.accountType
this.queryParams.status = "0"
listPayee(this.queryParams).then((response) => {
for (var i = 0; i < response.rows.length; i++) {
this.payeeList.push({text: response.rows[i].payee, value: response.rows[i].id});
}
});
},
payeeDictLabel(datas, value) {
var actions = [];
Object.keys(datas).some((key) => {
if (datas[key].payeeId == ('' + value)) {
actions.push(datas[key].payee);
return true;
}
})
return actions.join('');
},
onConfirmCapital(data){
console.log(data)
if (data.value != 2){
this.capitalExpenditureOpen = false;
this.projectForm = [];
}else{
this.capitalExpenditureOpen = true;
}
this.capitalExpenditureType = data.text;
this.form.capitalExpenditureType = data.value;
this.showcapital = false;
},
onConfirmFundType(data){
console.log(data)
this.projectForm.projectFundType = data.value;
this.projectFundType = data.text;
this.showFundType = false;
},
onConfirmProject(data){
console.log(data)
this.projectList.map(res => {
console.log(res)
if(res.projectName==data.text){
this.projectForm.projectId = res.id
this.projectForm.projectName = res.projectName
this.projectForm.projectContractor = res.projectContractor
this.projectForm.projectAmount = res.projectAmount
console.log(this.projectForm)
}
})
this.showproject = false;
},
onConfirmPayee(data){
// this.chargeItme[this.chargeItme.length-1].payeeText = data.text;
this.chargeItme[this.chargeItme.length-1].payee = data.text;
this.chargeItme[this.chargeItme.length-1].payeeId = data.value;
console.log(this.chargeItme)
this.showpayee = false;
},
onConfirmBankType(data){
console.log(this.chargeItme)
this.chargeItme[this.chargeItme.length-1].bankTypeText = data.text;
this.chargeItme[this.chargeItme.length-1].bankType = data.value;
this.showbankType = false;
},
onConfirmLasj(data){
this.form.applyDate = this.getNowFormatDate(data).substr(0,10);
this.showlasj = false;
},
accountTypeChange(e){
console.log(e)
this.payeeList = [];
this.queryParams.accountType = this.form.accountType
this.queryParams.status = "0"
listPayee(this.queryParams).then((response) => {
for (var i = 0; i < response.rows.length; i++) {
this.payeeList.push({text: response.rows[i].payee, value: response.rows[i].id});
}
});
},
goAdd(){
if(this.form.remark != null && this.form.remark.indexOf("|")!=-1){
this.$toast.error("付款事由禁止包含|。");
return;
}
if(this.form.capitalExpenditureType==2){
if(this.projectForm.projectName==""||this.projectForm.projectName==null){
this.$toast.error('请选择项目名称!');
return;
}
if(this.projectForm.projectBillNum==""||this.projectForm.projectBillNum==null){
this.$toast.error('请输入工程发票号!');
return;
}
}
this.$set(this.form, "payeeList", this.chargeItme);
this.$set(this.form, "bankTypeList", this.chargeItme);
this.$set(this.form, "accountTypeList", this.chargeItme);
this.$set(this.form, "transferStatusList", this.chargeItme);
console.log(this.form);
updateTransfer(this.form).then(response => {
console.log(response);
this.projectForm.outId = this.form.id
this.$set(this.projectForm, "ynType", '1');
console.log(this.projectForm)
if(this.form.capitalExpenditureType==2){
addProjectto(this.projectForm).then(res => {
customSubmit(this.form.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
})
}else{
customSubmit(this.form.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
}
});
},
goUpdate(){
if(this.form.remark != null && this.form.remark.indexOf("|")!=-1){
this.$toast.error("付款事由禁止包含|。");
return;
}
if(this.form.capitalExpenditureType==2){
if(this.projectForm.projectName==""||this.projectForm.projectName==null){
this.$toast.error('请选择项目名称!');
return;
}
if(this.projectForm.projectBillNum==""||this.projectForm.projectBillNum==null){
this.$toast.error('请输入工程发票号!');
return;
}
}
this.$set(this.form, "payeeList", this.chargeItme);
this.$set(this.form, "bankTypeList", this.chargeItme);
this.$set(this.form, "accountTypeList", this.chargeItme);
this.$set(this.form, "transferStatusList", this.chargeItme);
this.projectForm.outId = this.form.id
updateTransfer(this.form).then((response) => {
this.projectForm.outId = this.form.id
this.$set(this.projectForm, "ynType", '1');
if(this.form.capitalExpenditureType==2){
addProjectto(this.projectForm).then(res => {
this.$toast.success('修改成功');
setTimeout(function(){
history.go(-1)
},2000)
})
}else{
this.$toast.success('修改成功');
setTimeout(function(){
history.go(-1)
},2000)
}
});
},
beforeRead(file) {
this.uploadFiles.push(file.file);
},
deleteFile(file){
this.uploadFiles.map((response,index) => {
if(file.file == response){
this.uploadFiles.splice(index,1)
}
})
},
getFileList(){
let oData= {
tableId: this.$route.query.id,
tableName: "t_yinnong_cash",
bizPath: "upload",
fileType: "0",
}
attachmentList(oData).then(res => {
console.log(res)
console.log(location.protocol+"//"+location.host+request.defaults.baseURL)
res.rows.map(r => {
let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL
this.fileList.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{}),"id":r.id,"fileName":r.fileName})
console.log(r)
})
})
},
goBack(){
window.history.go(-1)
},
//删除家庭成员
deleteChargeItme(index){
this.chargeItme.splice(index,1)
},
/** 提交按钮 */
submitForm() {
const data = {
taskId: this.$route.query.taskId,
instanceId: this.form.instanceId,
variables: JSON.stringify({
comment: this.comment,
pass: this.pass,
}),
};
console.log(data);
approval(data).then((response) => {
if(response.code==200 && response.msg=="操作成功"){
this.$toast.success("操作成功");
setTimeout(function(){
history.go(-1)
},2000)
} else{
this.$toast.success("操作失败");
}
});
},
},watch: {
pass: function (val) {
this.comment = val === "true" ? "同意" : "驳回";
},
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 96%;
margin: 0 auto;
}

.addFamily{
position: absolute;
top: -2px;
right: 0;
border-radius: 50%;
}
.deleteFamily{
position: absolute;
top: 0rem;
right: 6%;
z-index: 9;
border-radius: 50%;
}
.examine_box{
background-color: #1D6FE9!important;
padding: 0.18rem!important;
padding-left: 0!important;
border-radius: 0.15rem!important;
margin-top: 0.3rem!important;
}
.examine_box .van-col:first-child{
color: #FFF!important;
font-size: 0.45rem!important;
text-align: center!important;
}
.examine_box .van-col:last-child{
background-color: #FFF!important;
border-radius: 0.15rem!important;
overflow: hidden!important;
.van-radio-group--horizontal{
padding: 0.2rem 0;
border-bottom: 1px solid #eee;
}
}
/deep/.van-radio--horizontal{
margin-left: 20px;
margin-right: 0;
}
</style>

+ 514
- 0
src/views/yinnong/bankAgriculture/paymentApproval/approvalApproval11.vue Ver ficheiro

@@ -0,0 +1,514 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">现金使用申请审批</p>
</template>
<template #right>
<van-icon name="../../../static/images/icon/icon_flow.png" size="20" @click="goFlow"/>
</template>
</van-nav-bar>
<p class="main_title">基础信息</p>
<div class="main_box">
<van-field readonly label="申请时间" v-model="form.applyDate" input-align="right" />
<van-field readonly label="资金支出类别" v-model="capitalExpenditureType" input-align="right" label-width="auto" />
<van-field readonly label="支出总金额" v-model="form.expenditureAmount" input-align="right" label-width="auto"/>
<van-field name="radio" label="审批模式" input-align="right" autocomplete="off" readonly>
<template #input>
<van-radio-group v-model="form.paymentState" direction="horizontal">
<van-radio name="1">线上支付</van-radio>
<van-radio name="2">线下支付</van-radio>
</van-radio-group>
</template>
</van-field>
</div>

<div class="main_box" style="margin-top: 10px;">
<van-field readonly label="付款事由" v-model="form.remark" type="textarea" input-align="right" rows="3" label-width="auto"/>
</div>

<div class="main_box" style="margin-top: 10px;">
<van-field readonly label="说明情况" v-model="form.explainSituation" type="textarea" input-align="right" rows="3" label-width="auto"/>
</div>

<p class="main_title">付款方信息</p>
<div class="main_box">
<van-field readonly label="付款方" v-model="form.payer" input-align="right" label-width="auto"/>
<van-field readonly label="付款方账户" v-model="form.payerAccount" input-align="right" label-width="auto"/>
</div>

<div class="main_box" v-if="capitalExpenditureOpen" style="margin-bottom: 10px;margin-top: 10px;position:relative;">
<van-field readonly label="项目名称" v-model="projectForm.projectName" input-align="right" />
<van-field readonly label="承建单位" v-model="projectForm.projectContractor" input-align="right" label-width="auto"/>
<van-field readonly label="合同价款(元)" v-model="projectForm.projectAmount" input-align="right" label-width="auto"/>
<van-field readonly label="工程款类型" v-model="projectFundType" input-align="right" />
<van-field readonly label="工程发票号" v-model="projectForm.projectBillNum" input-align="right" label-width="auto"/>
</div>

<p class="main_title">收款方信息</p>

<div :style="{position:'relative',padding: index == 0 ? '':'10px 0 0 0'}" v-for="(item, index) in chargeItme" :key="index">
<div class="main_box" style="margin-bottom: 10px;position:relative;">
<van-field readonly label="收款方" v-model="item.payee" input-align="right" />
<van-field readonly label="提款人" v-model="item.drawer" input-align="right" label-width="auto"/>
<van-field readonly label="提款金额" v-model="item.incomeAmount" input-align="right" label-width="auto"/>
<van-field readonly label="资金用途" v-model="item.remark" input-align="right" label-width="auto"/>
</div>
</div>
<p class="main_title">上传附件</p>
<div class="main_box" style="padding: 5px 0 0 8px;">
<van-uploader v-model="fileList" v-if="fileList==null||fileList.length==0" :deletable="false" disabled :upload-text="'未上传附件'"></van-uploader>
<van-uploader v-model="fileList" v-if="fileList!=null&&fileList.length>0" :deletable="false" :max-count="fileList.length" ></van-uploader>
</div>
<p style="margin-top:20px;padding: 0 10px">附件下载{{fileList&&fileList.length==0?':暂无可下载文件':''}}</p>
<van-cell v-for="(item,index) in fileList" :key="index">
<a :href="item.url">{{index+1}}.{{item.fileName}}</a>
</van-cell>
<div class="main_box examine_box" v-if="this.$route.query.type != 'done'">
<van-row type="flex" justify="space-between" align="center">
<van-col span="5">审批<br/>意见</van-col>
<van-col span="19">
<van-radio-group v-model="pass" direction="horizontal">
<van-radio name="true">同意</van-radio>
<van-radio name="false">驳回</van-radio>
</van-radio-group>
<van-field rows="2" autosize v-model="comment" type="textarea" placeholder="同意申请宅基地"/>
</van-col>
</van-row>
</div>

<div style="margin: 16px 2%;" v-if="this.$route.query.type != 'done'">
<van-row>
<van-col span="24" align="center">
<van-button type="info" native-type="submit" @click="submitForm" class="submitButton">提交</van-button>
</van-col>
</van-row>
<div class="clear"></div>
</div>
</div>
</template>

<script>
import { getTransfer , queryTransferDetail , listPayee , updateTransfer , getProjectto , listProject , addProjectto , customSubmit} from "@/api/onlineHome/bankAgriculture/paymentApproval";
import request from '@/utils/request'
import {
approval,
attachmentList,
commonAttach,
getCash,
listCashdetailByCashId
} from "../../../../api/onlineHome/bankAgriculture/paymentApproval";
export default {
name: "approvalDetail11",
data() {
return {
showcapital:false,
showpayee:false,
showlasj:false,
showbankType:false,
showproject:false,
showFundType:false,

minDate: new Date(),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(),
form:{},
fileList:[],
capitalExpenditureType:'',
payee:'',
bankType:'',

wfydlxDictionaries:[],
jglxDictionaries:[],
sysDictionaries:[],
capitalExpenditureTypeOptions:[],
bankTypeDictionaries:[],
projectList:[],
projectFundTypeOptions:[],
projectFundTypeDictionaries:[],
projectListShow:[],

chargeItme:[],
chargeItmeShow:[],

payeeList:[],
// 查询参数
queryParams: {
transferType:"",
orderByColumn: "id",
isAsc: "desc",
},
capitalExpenditureOpen:false,
projectForm:{
projectId:null,
projectName:null,
projectContractor:null,
projectAmount:null,
projectBillNum:null,
projectFundType:'1',
outId:null,
ynType:'1'
},
projectFundType:'',
// 审核意见默认值
pass: "true",
comment: "同意",
};
},
created() {
let queryParams={
pageNum: 1,
pageSize: 100,
}
listProject(queryParams).then(response => {
this.projectList = response.rows;
for (var i = 0; i < response.rows.length; i++) {
this.projectListShow.push({text: response.rows[i].projectName, value: response.rows[i].id});
}
});
this.getDicts("project_fund_type").then((response) => {
for (var i = 0; i < response.data.length; i++) {
this.projectFundTypeOptions.push({text: response.data[i].dictLabel, value: response.data[i].dictValue});
}
this.projectFundTypeDictionaries = response.data;
});
this.getDictionaries();
this.getFileList();
},
methods: {
goFlow(){
window.location='approvalProcess2?id='+this.$route.query.id;
},
getDictionaries(){
getCash(this.$route.query.id).then((response) => {
this.getDicts("capital_expenditure_type").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.capitalExpenditureTypeOptions.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
this.capitalExpenditureType = this.selectDictLabel(res.data, response.data.capitalExpenditureType);
});
if(response.data.capitalExpenditureType==2){
this.capitalExpenditureOpen = true
let param={
'outId' : response.data.id,
'ynType' : '2'
}
getProjectto(param).then(res => {
this.projectFundType = this.selectDictLabel(this.projectFundTypeDictionaries, res.data.projectFundType);
this.projectForm = res.data
})
}else{
this.showproject = false
}
this.form = response.data;
});
console.log(this.$route.query.id)
listCashdetailByCashId(this.$route.query.id).then((response) => {
this.chargeItme = response.data;
console.log(response)
this.getPayeeList();
});
},
addChargeItme(index){
this.chargeItme.splice(index + 1, 0, {
payeeId: "", //收款方ID
payee: "", //收款方
payeeAccount: "", //收款账户
bankDeposit: "", //开户银行
incomeAmount: "", //收入金额
bankType: "", //所属银行
});
},
getPayeeList() {
//普通转账
this.queryParams.accountType = this.form.accountType
this.queryParams.status = "0"
listPayee(this.queryParams).then((response) => {
for (var i = 0; i < response.rows.length; i++) {
this.payeeList.push({text: response.rows[i].payee, value: response.rows[i].id});
}
});
},
payeeDictLabel(datas, value) {
var actions = [];
Object.keys(datas).some((key) => {
if (datas[key].payeeId == ('' + value)) {
actions.push(datas[key].payee);
return true;
}
})
return actions.join('');
},
onConfirmCapital(data){
console.log(data)
if (data.value != 2){
this.capitalExpenditureOpen = false;
this.projectForm = [];
}else{
this.capitalExpenditureOpen = true;
}
this.capitalExpenditureType = data.text;
this.form.capitalExpenditureType = data.value;
this.showcapital = false;
},
onConfirmFundType(data){
console.log(data)
this.projectForm.projectFundType = data.value;
this.projectFundType = data.text;
this.showFundType = false;
},
onConfirmProject(data){
console.log(data)
this.projectList.map(res => {
console.log(res)
if(res.projectName==data.text){
this.projectForm.projectId = res.id
this.projectForm.projectName = res.projectName
this.projectForm.projectContractor = res.projectContractor
this.projectForm.projectAmount = res.projectAmount
console.log(this.projectForm)
}
})
this.showproject = false;
},
onConfirmPayee(data){
// this.chargeItme[this.chargeItme.length-1].payeeText = data.text;
this.chargeItme[this.chargeItme.length-1].payee = data.text;
this.chargeItme[this.chargeItme.length-1].payeeId = data.value;
console.log(this.chargeItme)
this.showpayee = false;
},
onConfirmBankType(data){
console.log(this.chargeItme)
this.chargeItme[this.chargeItme.length-1].bankTypeText = data.text;
this.chargeItme[this.chargeItme.length-1].bankType = data.value;
this.showbankType = false;
},
onConfirmLasj(data){
this.form.applyDate = this.getNowFormatDate(data).substr(0,10);
this.showlasj = false;
},
accountTypeChange(e){
console.log(e)
this.payeeList = [];
this.queryParams.accountType = this.form.accountType
this.queryParams.status = "0"
listPayee(this.queryParams).then((response) => {
for (var i = 0; i < response.rows.length; i++) {
this.payeeList.push({text: response.rows[i].payee, value: response.rows[i].id});
}
});
},
goAdd(){
if(this.form.remark != null && this.form.remark.indexOf("|")!=-1){
this.$toast.error("付款事由禁止包含|。");
return;
}
if(this.form.capitalExpenditureType==2){
if(this.projectForm.projectName==""||this.projectForm.projectName==null){
this.$toast.error('请选择项目名称!');
return;
}
if(this.projectForm.projectBillNum==""||this.projectForm.projectBillNum==null){
this.$toast.error('请输入工程发票号!');
return;
}
}
this.$set(this.form, "payeeList", this.chargeItme);
this.$set(this.form, "bankTypeList", this.chargeItme);
this.$set(this.form, "accountTypeList", this.chargeItme);
this.$set(this.form, "transferStatusList", this.chargeItme);
console.log(this.form);
updateTransfer(this.form).then(response => {
console.log(response);
this.projectForm.outId = this.form.id
this.$set(this.projectForm, "ynType", '1');
console.log(this.projectForm)
if(this.form.capitalExpenditureType==2){
addProjectto(this.projectForm).then(res => {
customSubmit(this.form.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
})
}else{
customSubmit(this.form.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
}
});
},
goUpdate(){
if(this.form.remark != null && this.form.remark.indexOf("|")!=-1){
this.$toast.error("付款事由禁止包含|。");
return;
}
if(this.form.capitalExpenditureType==2){
if(this.projectForm.projectName==""||this.projectForm.projectName==null){
this.$toast.error('请选择项目名称!');
return;
}
if(this.projectForm.projectBillNum==""||this.projectForm.projectBillNum==null){
this.$toast.error('请输入工程发票号!');
return;
}
}
this.$set(this.form, "payeeList", this.chargeItme);
this.$set(this.form, "bankTypeList", this.chargeItme);
this.$set(this.form, "accountTypeList", this.chargeItme);
this.$set(this.form, "transferStatusList", this.chargeItme);
this.projectForm.outId = this.form.id
updateTransfer(this.form).then((response) => {
this.projectForm.outId = this.form.id
this.$set(this.projectForm, "ynType", '1');
if(this.form.capitalExpenditureType==2){
addProjectto(this.projectForm).then(res => {
this.$toast.success('修改成功');
setTimeout(function(){
history.go(-1)
},2000)
})
}else{
this.$toast.success('修改成功');
setTimeout(function(){
history.go(-1)
},2000)
}
});
},
beforeRead(file) {
this.uploadFiles.push(file.file);
},
deleteFile(file){
this.uploadFiles.map((response,index) => {
if(file.file == response){
this.uploadFiles.splice(index,1)
}
})
},
getFileList(){
let oData= {
tableId: this.$route.query.id,
tableName: "t_yinnong_cash",
bizPath: "upload",
fileType: "0",
}
attachmentList(oData).then(res => {
console.log(res)
console.log(location.protocol+"//"+location.host+request.defaults.baseURL)
res.rows.map(r => {
let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL
this.fileList.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{}),"id":r.id,"fileName":r.fileName})
console.log(r)
})
})
},
goBack(){
window.history.go(-1)
},
//删除家庭成员
deleteChargeItme(index){
this.chargeItme.splice(index,1)
},
/** 提交按钮 */
submitForm() {
const data = {
taskId: this.$route.query.taskId,
instanceId: this.form.instanceId,
variables: JSON.stringify({
comment: this.comment,
pass: this.pass,
}),
};
console.log(data);
approval(data).then((response) => {
if(response.code==200 && response.msg=="操作成功"){
this.$toast.success("操作成功");
setTimeout(function(){
history.go(-1)
},2000)
} else{
this.$toast.success("操作失败");
}
});
},
},watch: {
pass: function (val) {
this.comment = val === "true" ? "同意" : "驳回";
},
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 96%;
margin: 0 auto;
}

.addFamily{
position: absolute;
top: -2px;
right: 0;
border-radius: 50%;
}
.deleteFamily{
position: absolute;
top: 0rem;
right: 6%;
z-index: 9;
border-radius: 50%;
}
.examine_box{
background-color: #1D6FE9!important;
padding: 0.18rem!important;
padding-left: 0!important;
border-radius: 0.15rem!important;
margin-top: 0.3rem!important;
}
.examine_box .van-col:first-child{
color: #FFF!important;
font-size: 0.45rem!important;
text-align: center!important;
}
.examine_box .van-col:last-child{
background-color: #FFF!important;
border-radius: 0.15rem!important;
overflow: hidden!important;
.van-radio-group--horizontal{
padding: 0.2rem 0;
border-bottom: 1px solid #eee;
}
}
/deep/.van-radio--horizontal{
margin-left: 20px;
margin-right: 0;
}
</style>

+ 577
- 0
src/views/yinnong/bankAgriculture/paymentApproval/approvalApproval12.vue Ver ficheiro

@@ -0,0 +1,577 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">汇票支出申请审批</p>
</template>
<template #right>
<van-icon name="../../../static/images/icon/icon_flow.png" size="20" @click="goFlow"/>
</template>
</van-nav-bar>
<p class="main_title">基础信息</p>
<div class="main_box">
<van-field readonly label="申请时间" v-model="form.applyDate" input-align="right" />
<van-field readonly label="资金支出类别" v-model="capitalExpenditureType" input-align="right" label-width="auto" />
<van-field name="radio" label="审批模式" input-align="right" autocomplete="off" readonly>
<template #input>
<van-radio-group v-model="form.paymentState" direction="horizontal">
<van-radio name="1">线上支付</van-radio>
<van-radio name="2">线下支付</van-radio>
</van-radio-group>
</template>
</van-field>
</div>

<div class="main_box" style="margin-top: 10px;">
<van-field readonly label="付款事由" v-model="form.remark" type="textarea" input-align="right" rows="3" label-width="auto"/>
</div>

<div class="main_box" style="margin-top: 10px;">
<van-field readonly label="说明情况" v-model="form.explainSituation" type="textarea" input-align="right" rows="3" label-width="auto"/>
</div>

<div class="main_box" v-if="capitalExpenditureOpen" style="margin-bottom: 10px;margin-top: 10px;position:relative;">
<van-field readonly label="项目名称" v-model="projectForm.projectName" input-align="right" />
<van-field readonly label="承建单位" v-model="projectForm.projectContractor" input-align="right" label-width="auto"/>
<van-field readonly label="合同价款(元)" v-model="projectForm.projectAmount" input-align="right" label-width="auto"/>
<van-field readonly label="工程款类型" v-model="projectFundType" input-align="right" />
<van-field readonly label="工程发票号" v-model="projectForm.projectBillNum" input-align="right" label-width="auto"/>
</div>

<p class="main_title">出票方信息</p>
<div class="main_box">
<van-field readonly label="付款方" v-model="form.payer" input-align="right" label-width="auto"/>
<van-field :rules="[{ required: true , message:'请输入汇票号码' }]" required label="汇票号码" v-model="form.payerAccount" placeholder="请输入汇票号码" input-align="right" label-width="auto"/>
<van-field
readonly
label="出票金额(元)"
v-model="form.expenditureAmount"
placeholder=""
input-align="right"
label-width="auto"
required
:rules="[{ required: true , message:'出票金额不能为空!' }]"
/>
<van-field
readonly
label="汇票类型"
v-model="orderTypeName"
placeholder=""
input-align="right"
label-width="auto"
required
:rules="[{ required: true , message:'汇票类型不能为空!' }]"
/>
<van-field
readonly
label="汇票类型"
v-model="form.orderType"
placeholder=""
input-align="right"
label-width="auto"
style="display: none"
required
:rules="[{ required: true , message:'汇票类型不能为空!' }]"
/>
<van-field
readonly
label="开票日"
v-model="form.startTime"
placeholder=""
input-align="right"
label-width="auto"
required
:rules="[{ required: true , message:'开票日不能为空!' }]"
/>
<van-field
readonly
label="到期日"
v-model="form.endTime"
placeholder=""
input-align="right"
label-width="auto"
required
:rules="[{ required: true , message:'到期日不能为空!' }]"
/>
</div>

<p class="main_title">收票方信息</p>

<div :style="{position:'relative',padding: index == 0 ? '':'10px 0 0 0'}" v-for="(item, index) in chargeItme" :key="index">
<div class="main_box" style="margin-bottom: 10px;position:relative;">
<van-field readonly label="收款方" v-model="item.payee" input-align="right" />
<van-field readonly label="联系方式" v-model="item.phone" input-align="right" label-width="auto"/>
<van-field readonly label="所属单位" v-model="item.unit" input-align="right" label-width="auto"/>
<van-field readonly label="负责人全称" v-model="item.leader" input-align="right" label-width="auto"/>
<van-field readonly label="资金用途" v-model="item.remark" input-align="right" />
</div>
</div>
<p class="main_title">上传附件</p>
<div class="main_box" style="padding: 5px 0 0 8px;">
<van-uploader v-model="fileList" v-if="fileList==null||fileList.length==0" :deletable="false" disabled :upload-text="'未上传附件'"></van-uploader>
<van-uploader v-model="fileList" v-if="fileList!=null&&fileList.length>0" :deletable="false" :max-count="fileList.length" ></van-uploader>
</div>
<p style="margin-top:20px;padding: 0 10px">附件下载{{fileList&&fileList.length==0?':暂无可下载文件':''}}</p>
<van-cell v-for="(item,index) in fileList" :key="index">
<a :href="item.url">{{index+1}}.{{item.fileName}}</a>
</van-cell>
<div class="main_box examine_box" v-if="this.$route.query.type != 'done'">
<van-row type="flex" justify="space-between" align="center">
<van-col span="5">审批<br/>意见</van-col>
<van-col span="19">
<van-radio-group v-model="pass" direction="horizontal">
<van-radio name="true">同意</van-radio>
<van-radio name="false">驳回</van-radio>
</van-radio-group>
<van-field rows="2" autosize v-model="comment" type="textarea" placeholder="同意申请宅基地"/>
</van-col>
</van-row>
</div>

<div style="margin: 16px 2%;" v-if="this.$route.query.type != 'done'">
<van-row>
<van-col span="24" align="center">
<van-button type="info" native-type="submit" @click="submitForm" class="submitButton">提交</van-button>
</van-col>
</van-row>
<div class="clear"></div>
</div>
</div>
</template>

<script>
import { getTransfer , queryTransferDetail , listPayee , updateTransfer , getProjectto , listProject , addProjectto , customSubmit} from "@/api/onlineHome/bankAgriculture/paymentApproval";
import request from '@/utils/request'
import {
approval,
attachmentList,
commonAttach,
getCash,
listCashdetailByCashId
} from "../../../../api/onlineHome/bankAgriculture/paymentApproval";
export default {
name: "approvalDetail12",
data() {
return {
showcapital:false,
showpayee:false,
showlasj:false,
showbankType:false,
showproject:false,
showFundType:false,

minDate: new Date(),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(),
form:{},
fileList:[],
capitalExpenditureType:'',
payee:'',
bankType:'',

wfydlxDictionaries:[],
jglxDictionaries:[],
sysDictionaries:[],
capitalExpenditureTypeOptions:[],
bankTypeDictionaries:[],
projectList:[],
projectFundTypeOptions:[],
projectFundTypeDictionaries:[],
projectListShow:[],

chargeItme:[],
chargeItmeShow:[],

payeeList:[],
// 查询参数
queryParams: {
transferType:"",
orderByColumn: "id",
isAsc: "desc",
},
capitalExpenditureOpen:false,
projectForm:{
projectId:null,
projectName:null,
projectContractor:null,
projectAmount:null,
projectBillNum:null,
projectFundType:'1',
outId:null,
ynType:'1'
},
projectFundType:'',
orderTypeName:'',
orderTypeOptions:[],
// 审核意见默认值
pass: "true",
comment: "同意",
};
},
created() {
let queryParams={
pageNum: 1,
pageSize: 100,
}
listProject(queryParams).then(response => {
console.log(response)
this.projectList = response.rows;
for (var i = 0; i < response.rows.length; i++) {
this.projectListShow.push({text: response.rows[i].projectName, value: response.rows[i].id});
}
});
this.getDicts("project_fund_type").then((response) => {
for (var i = 0; i < response.data.length; i++) {
this.projectFundTypeOptions.push({text: response.data[i].dictLabel, value: response.data[i].dictValue});
}
this.projectFundTypeDictionaries = response.data;
});
this.getDicts("order_type").then(response => {
this.orderTypeOptions = response.data;
});
this.getDictionaries();
this.getFileList();
},
methods: {
goFlow(){
window.location='approvalProcess2?id='+this.$route.query.id;
},
getDictionaries(){
getCash(this.$route.query.id).then((response) => {
this.getDicts("capital_expenditure_type").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.capitalExpenditureTypeOptions.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
this.capitalExpenditureType = this.selectDictLabel(res.data, response.data.capitalExpenditureType);
});
if(response.data.capitalExpenditureType==2){
this.capitalExpenditureOpen = true
let param={
'outId' : response.data.id,
'ynType' : '2'
}
getProjectto(param).then(res => {
this.projectFundType = this.selectDictLabel(this.projectFundTypeDictionaries, res.data.projectFundType);
this.projectForm = res.data
})
}else{
this.showproject = false
}
this.form = response.data;
this.orderTypeOptions.map(res => {
console.log(this.orderTypeOptions)
if(res.dictValue==this.form.orderType){
this.orderTypeName = res.dictLabel
}
})
});
console.log(this.$route.query.id)
listCashdetailByCashId(this.$route.query.id).then((response) => {
this.chargeItme = response.data;
console.log(response.data)
this.getPayeeList();
});
},
addChargeItme(index){
this.chargeItme.splice(index + 1, 0, {
payeeId: "", //收款方ID
payee: "", //收款方
payeeAccount: "", //收款账户
bankDeposit: "", //开户银行
incomeAmount: "", //收入金额
bankType: "", //所属银行
});
},
getPayeeList() {
//普通转账
this.queryParams.accountType = this.form.accountType
this.queryParams.status = "0"
listPayee(this.queryParams).then((response) => {
for (var i = 0; i < response.rows.length; i++) {
this.payeeList.push({text: response.rows[i].payee, value: response.rows[i].id});
}
});
},
payeeDictLabel(datas, value) {
var actions = [];
Object.keys(datas).some((key) => {
if (datas[key].payeeId == ('' + value)) {
actions.push(datas[key].payee);
return true;
}
})
return actions.join('');
},
onConfirmCapital(data){
console.log(data)
if (data.value != 2){
this.capitalExpenditureOpen = false;
this.projectForm = [];
}else{
this.capitalExpenditureOpen = true;
}
this.capitalExpenditureType = data.text;
this.form.capitalExpenditureType = data.value;
this.showcapital = false;
},
onConfirmFundType(data){
console.log(data)
this.projectForm.projectFundType = data.value;
this.projectFundType = data.text;
this.showFundType = false;
},
onConfirmProject(data){
console.log(data)
this.projectList.map(res => {
console.log(res)
if(res.projectName==data.text){
this.projectForm.projectId = res.id
this.projectForm.projectName = res.projectName
this.projectForm.projectContractor = res.projectContractor
this.projectForm.projectAmount = res.projectAmount
console.log(this.projectForm)
}
})
this.showproject = false;
},
onConfirmPayee(data){
// this.chargeItme[this.chargeItme.length-1].payeeText = data.text;
this.chargeItme[this.chargeItme.length-1].payee = data.text;
this.chargeItme[this.chargeItme.length-1].payeeId = data.value;
console.log(this.chargeItme)
this.showpayee = false;
},
onConfirmBankType(data){
console.log(this.chargeItme)
this.chargeItme[this.chargeItme.length-1].bankTypeText = data.text;
this.chargeItme[this.chargeItme.length-1].bankType = data.value;
this.showbankType = false;
},
onConfirmLasj(data){
this.form.applyDate = this.getNowFormatDate(data).substr(0,10);
this.showlasj = false;
},
accountTypeChange(e){
console.log(e)
this.payeeList = [];
this.queryParams.accountType = this.form.accountType
this.queryParams.status = "0"
listPayee(this.queryParams).then((response) => {
for (var i = 0; i < response.rows.length; i++) {
this.payeeList.push({text: response.rows[i].payee, value: response.rows[i].id});
}
});
},
goAdd(){
if(this.form.remark != null && this.form.remark.indexOf("|")!=-1){
this.$toast.error("付款事由禁止包含|。");
return;
}
if(this.form.capitalExpenditureType==2){
if(this.projectForm.projectName==""||this.projectForm.projectName==null){
this.$toast.error('请选择项目名称!');
return;
}
if(this.projectForm.projectBillNum==""||this.projectForm.projectBillNum==null){
this.$toast.error('请输入工程发票号!');
return;
}
}
this.$set(this.form, "payeeList", this.chargeItme);
this.$set(this.form, "bankTypeList", this.chargeItme);
this.$set(this.form, "accountTypeList", this.chargeItme);
this.$set(this.form, "transferStatusList", this.chargeItme);
console.log(this.form);
updateTransfer(this.form).then(response => {
console.log(response);
this.projectForm.outId = this.form.id
this.$set(this.projectForm, "ynType", '1');
console.log(this.projectForm)
if(this.form.capitalExpenditureType==2){
addProjectto(this.projectForm).then(res => {
customSubmit(this.form.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
})
}else{
customSubmit(this.form.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
}
});
},
goUpdate(){
if(this.form.remark != null && this.form.remark.indexOf("|")!=-1){
this.$toast.error("付款事由禁止包含|。");
return;
}
if(this.form.capitalExpenditureType==2){
if(this.projectForm.projectName==""||this.projectForm.projectName==null){
this.$toast.error('请选择项目名称!');
return;
}
if(this.projectForm.projectBillNum==""||this.projectForm.projectBillNum==null){
this.$toast.error('请输入工程发票号!');
return;
}
}
this.$set(this.form, "payeeList", this.chargeItme);
this.$set(this.form, "bankTypeList", this.chargeItme);
this.$set(this.form, "accountTypeList", this.chargeItme);
this.$set(this.form, "transferStatusList", this.chargeItme);
this.projectForm.outId = this.form.id
updateTransfer(this.form).then((response) => {
this.projectForm.outId = this.form.id
this.$set(this.projectForm, "ynType", '1');
if(this.form.capitalExpenditureType==2){
addProjectto(this.projectForm).then(res => {
this.$toast.success('修改成功');
setTimeout(function(){
history.go(-1)
},2000)
})
}else{
this.$toast.success('修改成功');
setTimeout(function(){
history.go(-1)
},2000)
}
});
},
beforeRead(file) {
this.uploadFiles.push(file.file);
},
deleteFile(file){
this.uploadFiles.map((response,index) => {
if(file.file == response){
this.uploadFiles.splice(index,1)
}
})
},
getFileList(){
let oData= {
tableId: this.$route.query.id,
tableName: "t_yinnong_cash",
bizPath: "upload",
fileType: "0",
}
attachmentList(oData).then(res => {
console.log(res)
console.log(location.protocol+"//"+location.host+request.defaults.baseURL)
res.rows.map(r => {
let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL
this.fileList.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{}),"id":r.id,"fileName":r.fileName})
console.log(r)
})
})
},
goBack(){
window.history.go(-1)
},
//删除家庭成员
deleteChargeItme(index){
this.chargeItme.splice(index,1)
},
/** 提交按钮 */
submitForm() {
const data = {
taskId: this.$route.query.taskId,
instanceId: this.form.instanceId,
variables: JSON.stringify({
comment: this.comment,
pass: this.pass,
}),
};
console.log(data);
approval(data).then((response) => {
if(response.code==200 && response.msg=="操作成功"){
this.$toast.success("操作成功");
setTimeout(function(){
history.go(-1)
},2000)
} else{
this.$toast.success("操作失败");
}
});
},
},watch: {
pass: function (val) {
this.comment = val === "true" ? "同意" : "驳回";
},
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 96%;
margin: 0 auto;
}

.addFamily{
position: absolute;
top: -2px;
right: 0;
border-radius: 50%;
}
.deleteFamily{
position: absolute;
top: 0rem;
right: 6%;
z-index: 9;
border-radius: 50%;
}
.examine_box{
background-color: #1D6FE9!important;
padding: 0.18rem!important;
padding-left: 0!important;
border-radius: 0.15rem!important;
margin-top: 0.3rem!important;
}
.examine_box .van-col:first-child{
color: #FFF!important;
font-size: 0.45rem!important;
text-align: center!important;
}
.examine_box .van-col:last-child{
background-color: #FFF!important;
border-radius: 0.15rem!important;
overflow: hidden!important;
.van-radio-group--horizontal{
padding: 0.2rem 0;
border-bottom: 1px solid #eee;
}
}
/deep/.van-radio--horizontal{
margin-left: 20px;
margin-right: 0;
}
</style>

+ 284
- 0
src/views/yinnong/bankAgriculture/paymentApproval/approvalDetail.vue Ver ficheiro

@@ -0,0 +1,284 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">查看村户转账申请</p>
</template>
<template #right>
<van-icon name="../../../static/images/icon/icon_flow.png" size="20" @click="goFlow"/>
</template>
</van-nav-bar>
<p class="main_title">基础信息</p>
<div class="main_box">
<van-field readonly label="申请时间" v-model="form.applyDate" input-align="right" />
<van-field readonly label="资金支出类别" v-model="capitalExpenditureType" input-align="right" label-width="auto" />
<van-field readonly label="支出总金额" v-model="form.expenditureAmount" input-align="right" label-width="auto"/>
<van-field name="radio" label="审批模式" input-align="right" autocomplete="off" readonly>
<template #input>
<van-radio-group v-model="form.approvalMode" direction="horizontal">
<van-radio name="1">线上支付</van-radio>
<van-radio name="2">线下支付</van-radio>
</van-radio-group>
</template>
</van-field>
</div>

<div class="main_box" style="margin-top: 10px;">
<van-field readonly label="付款事由" v-model="form.remark" type="textarea" input-align="right" rows="3" label-width="auto"/>
</div>

<div class="main_box" style="margin-top: 10px;">
<van-field readonly label="说明情况" v-model="form.explainSituation" type="textarea" input-align="right" rows="3" label-width="auto"/>
</div>

<p class="main_title">付款方信息</p>
<div class="main_box">
<van-field readonly label="付款方" v-model="form.payer" input-align="right" label-width="auto"/>
<van-field readonly label="付款方账户" v-model="form.payerAccount" input-align="right" label-width="auto"/>
</div>

<div class="main_box" v-if="capitalExpenditureOpen" style="margin-bottom: 10px;margin-top: 10px;position:relative;">
<van-field readonly label="项目名称" v-model="projectForm.projectName" input-align="right" />
<van-field readonly label="承建单位" v-model="projectForm.projectContractor" input-align="right" label-width="auto"/>
<van-field readonly label="合同价款(元)" v-model="projectForm.projectAmount" input-align="right" label-width="auto"/>
<van-field readonly label="工程款类型" v-model="projectFundType" input-align="right" />
<van-field readonly label="工程发票号" v-model="projectForm.projectBillNum" input-align="right" label-width="auto"/>
</div>
<div class="main_box" v-if="contractOpen" style="margin-bottom: 10px;margin-top: 10px;position:relative;">
<van-field readonly label="合同名称" v-model="infoForm.name" input-align="right" />
<van-field readonly label="合同编码" v-model="infoForm.code" input-align="right" label-width="auto"/>
<van-field readonly label="合同价款(元)" v-model="infoForm.totalAmount" input-align="right" label-width="auto"/>
</div>

<p class="main_title">收款方信息</p>

<div class="main_box" style="margin-bottom: 15px;">
<van-field readonly label="收款账户类型" v-if="form.bankType==1" v-model="form.accountType == 1 ? '公户':'私户'" input-align="right" label-width="auto" />
<van-field readonly label="是否与付款方同行" v-if="form.bankType==2||form.bankType==3||form.bankType==4" v-model="form.isPeers == 'Y' ? '是':'否'" input-align="right" label-width="auto" />

</div>

<div :style="{position:'relative',padding: index == 0 ? '':'10px 0 0 0'}" v-for="(item, index) in chargeItme" :key="index">
<div class="main_box" style="margin-bottom: 10px;position:relative;">
<van-field readonly label="收款方" v-model="item.payee" input-align="right" />
<van-field readonly label="收款账户" v-model="item.payeeAccount" input-align="right" label-width="auto"/>
<van-field readonly label="开户银行" v-model="item.bankDeposit" input-align="right" label-width="auto"/>
<van-field readonly label="收入金额" v-model="item.incomeAmount" input-align="right" label-width="auto"/>
<van-field readonly label="所属银行" v-model="item.bankTypeText" input-align="right" />
</div>
</div>
<p class="main_title">上传附件</p>
<div class="main_box" style="padding: 5px 0 0 8px;">
<van-uploader v-model="fileList" v-if="fileList==null||fileList.length==0" :deletable="false" disabled :upload-text="'未上传附件'"></van-uploader>
<van-uploader v-model="fileList" v-if="fileList!=null&&fileList.length>0" :deletable="false" :max-count="fileList.length" ></van-uploader>
</div>
</div>
</template>

<script>
import { getTransfer , queryTransferDetail , listPayee , updateTransfer , getProjectto , listProject , addProjectto , customSubmit,getInfoto} from "@/api/onlineHome/bankAgriculture/paymentApproval";
import request from '@/utils/request'
import {
attachmentList,
commonAttach,
systemAttachment
} from "../../../../api/onlineHome/bankAgriculture/paymentApproval";
export default {
name: "approvalDetail",
data() {
return {
showcapital:false,
showpayee:false,
showlasj:false,
showbankType:false,
showproject:false,
showFundType:false,

minDate: new Date(),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(),
form:{},
fileList:[],
capitalExpenditureType:'',
payee:'',
bankType:'',

wfydlxDictionaries:[],
jglxDictionaries:[],
sysDictionaries:[],
capitalExpenditureTypeOptions:[],
bankTypeDictionaries:[],
projectList:[],
projectFundTypeOptions:[],
projectFundTypeDictionaries:[],
projectList:[],

chargeItme:[],
chargeItmeShow:[],

payeeList:[],
// 查询参数
queryParams: {
transferType:"",
orderByColumn: "id",
isAsc: "desc",
},
capitalExpenditureOpen:false,
contractOpen:false,
projectForm:{
projectId:null,
projectName:null,
projectContractor:null,
projectAmount:null,
projectBillNum:null,
projectFundType:'1',
outId:null,
ynType:'1'
},
infoForm:{
infoId:null,
name:null,
code:null,
totalAmount:null,
contractionId:null,
transferId:null
},
projectFundType:''
};
},
created() {
this.getDicts("project_fund_type").then((response) => {
for (var i = 0; i < response.data.length; i++) {
this.projectFundTypeOptions.push({text: response.data[i].dictLabel, value: response.data[i].dictValue});
}
this.projectFundTypeDictionaries = response.data;
});
this.getDictionaries();
this.getFileList();
},
methods: {
goFlow(){
window.location='approvalProcess?id='+this.$route.query.id;
},
getDictionaries(){
getTransfer(this.$route.query.id).then((response) => {
this.getDicts("capital_expenditure_type").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.capitalExpenditureTypeOptions.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
this.capitalExpenditureType = this.selectDictLabel(res.data, response.data.capitalExpenditureType);
});
if(response.data.capitalExpenditureType==2){
this.capitalExpenditureOpen = true
let param={
'outId' : response.data.id,
'ynType' : '1'
}
getProjectto(param).then(res => {
this.projectFundType = this.selectDictLabel(this.projectFundTypeDictionaries, res.data.projectFundType);
this.projectForm = res.data
})
}else if(response.data.capitalExpenditureType==4) {
this.contractOpen = true
let param = {
'transferId': response.data.id
}
getInfoto(param).then(res => {
this.infoForm = res.data
})
}else{
this.showproject = false
}
this.form = response.data;
});
queryTransferDetail(this.$route.query.id).then((response) => {
this.getDicts("bank_type").then(res => {
for (var i = 0; i < res.data.length; i++) {
this.bankTypeDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
for (var j = 0 ; j < response.rows.length ; j++){
response.rows[j].bankTypeText = this.selectDictLabel(res.data, response.rows[j].bankType);
}
this.chargeItme = response.rows;
});
this.getPayeeList();
});
},
getPayeeList() {
//普通转账
this.queryParams.accountType = this.form.accountType
this.queryParams.status = "0"
listPayee(this.queryParams).then((response) => {
for (var i = 0; i < response.rows.length; i++) {
this.payeeList.push({text: response.rows[i].payee, value: response.rows[i].id});
}
});
},
getFileList(){
let oData= {
tableId: this.$route.query.id,
tableName: "t_yinnong_transfer",
bizPath: "upload",
fileType: "0",
}
attachmentList(oData).then(res => {
res.rows.map(r => {
let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL
this.fileList.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{}),"id":r.id})
})
})
},
goBack(){
window.history.go(-1)
},
//删除家庭成员
deleteChargeItme(index){
this.chargeItme.splice(index,1)
},
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;
}

.addFamily{
position: absolute;
top: -2px;
right: 0;
border-radius: 50%;
}
.deleteFamily{
position: absolute;
top: 0rem;
right: 6%;
z-index: 9;
border-radius: 50%;
}
</style>

+ 271
- 0
src/views/yinnong/bankAgriculture/paymentApproval/approvalDetail10.vue Ver ficheiro

@@ -0,0 +1,271 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">查看现金提现申请</p>
</template>
<template #right>
<van-icon name="../../../static/images/icon/icon_flow.png" size="20" @click="goFlow"/>
</template>
</van-nav-bar>
<p class="main_title">基础信息</p>
<div class="main_box">
<van-field readonly label="申请时间" v-model="form.applyDate" input-align="right" />
<van-field readonly label="资金支出类别" v-model="capitalExpenditureType" input-align="right" label-width="auto" />
<van-field readonly label="提现总金额" v-model="form.expenditureAmount" input-align="right" label-width="auto"/>
<van-field name="radio" label="审批模式" input-align="right" autocomplete="off" readonly>
<template #input>
<van-radio-group v-model="form.approvalMode" direction="horizontal">
<van-radio name="1">线上支付</van-radio>
<van-radio name="2">线下支付</van-radio>
</van-radio-group>
</template>
</van-field>
</div>

<div class="main_box" style="margin-top: 10px;">
<van-field readonly label="付款事由" v-model="form.remark" type="textarea" input-align="right" rows="3" label-width="auto"/>
</div>

<div class="main_box" style="margin-top: 10px;">
<van-field readonly label="说明情况" v-model="form.explainSituation" type="textarea" input-align="right" rows="3" label-width="auto"/>
</div>

<p class="main_title">付款方信息</p>
<div class="main_box">
<van-field readonly label="付款方" v-model="form.payer" input-align="right" label-width="auto"/>
<van-field readonly label="付款方账户" v-model="form.payerAccount" input-align="right" label-width="auto"/>
</div>

<div class="main_box" v-if="capitalExpenditureOpen" style="margin-bottom: 10px;margin-top: 10px;position:relative;">
<van-field readonly label="项目名称" v-model="projectForm.projectName" input-align="right" />
<van-field readonly label="承建单位" v-model="projectForm.projectContractor" input-align="right" label-width="auto"/>
<van-field readonly label="合同价款(元)" v-model="projectForm.projectAmount" input-align="right" label-width="auto"/>
<van-field readonly label="工程款类型" v-model="projectFundType" input-align="right" />
<van-field readonly label="工程发票号" v-model="projectForm.projectBillNum" input-align="right" label-width="auto"/>
</div>
<div class="main_box" v-if="contractOpen" style="margin-bottom: 10px;margin-top: 10px;position:relative;">
<van-field readonly label="合同名称" v-model="infoForm.name" input-align="right" />
<van-field readonly label="合同编码" v-model="infoForm.code" input-align="right" label-width="auto"/>
<van-field readonly label="合同价款(元)" v-model="infoForm.totalAmount" input-align="right" label-width="auto"/>
</div>
<p class="main_title">收款方信息</p>
<div :style="{position:'relative',padding: index == 0 ? '':'10px 0 0 0'}" v-for="(item, index) in chargeItme" :key="index">
<div class="main_box" style="margin-bottom: 10px;position:relative;">
<van-field readonly label="收款方" v-model="item.payee" input-align="right" />
<van-field readonly label="提款人" v-model="item.drawer" input-align="right" label-width="auto"/>
<van-field readonly label="提款金额(元)" v-model="item.incomeAmount" input-align="right" label-width="auto"/>
<van-field readonly label="资金用途" v-model="item.remark" input-align="right" />
</div>
</div>
<p class="main_title">上传附件</p>
<div class="main_box" style="padding: 5px 0 0 8px;">
<van-uploader v-model="fileList" :deletable="false" disabled :upload-text="'未上传附件'"></van-uploader>
</div>
</div>
</template>

<script>
import { getTransfer , queryTransferDetail , listPayee , getProjectto , listProject , addProjectto , customSubmit ,getInfoto} from "@/api/onlineHome/bankAgriculture/paymentApproval";
import request from '@/utils/request'
import {
attachmentList,
commonAttach,
getCash,
listCashdetailByCashId
} from "../../../../api/onlineHome/bankAgriculture/paymentApproval";
export default {
name: "approvalDetail10",
data() {
return {
showcapital:false,
showpayee:false,
showlasj:false,
showbankType:false,
showproject:false,
showFundType:false,

minDate: new Date(),
maxDate: new Date(2050, 10, 1),
currentDate: new Date(),
form:{},
fileList:[],
capitalExpenditureType:'',
payee:'',
bankType:'',

wfydlxDictionaries:[],
jglxDictionaries:[],
sysDictionaries:[],
capitalExpenditureTypeOptions:[],
bankTypeDictionaries:[],
projectList:[],
projectFundTypeOptions:[],
projectFundTypeDictionaries:[],
projectListShow:[],

chargeItme:[],
chargeItmeShow:[],

payeeList:[],
// 查询参数
queryParams: {
transferType:10,
orderByColumn: "id",
isAsc: "desc",
},
capitalExpenditureOpen:false,
contractOpen:false,
projectForm:{
projectId:null,
projectName:null,
projectContractor:null,
projectAmount:null,
projectBillNum:null,
projectFundType:'1',
outId:null,
ynType:'2'
},
infoForm:{
infoId:null,
name:null,
code:null,
totalAmount:null,
contractionId:null,
transferId:null
},
projectFundType:'',
uploadFiles:[],
};
},
created() {
this.getDicts("project_fund_type").then((response) => {
for (var i = 0; i < response.data.length; i++) {
this.projectFundTypeOptions.push({text: response.data[i].dictLabel, value: response.data[i].dictValue});
}
this.projectFundTypeDictionaries = response.data;
});
this.getDictionaries();
this.getFileList();
},
methods: {
goFlow(){
window.location='approvalProcess2?id='+this.$route.query.id;
},
getDictionaries(){
getCash(this.$route.query.id).then((response) => {
this.getDicts("capital_expenditure_type").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.capitalExpenditureTypeOptions.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
this.capitalExpenditureType = this.selectDictLabel(res.data, response.data.capitalExpenditureType);
});
if(response.data.capitalExpenditureType==2){
this.capitalExpenditureOpen = true
let param={
'outId' : response.data.id,
'ynType' : '2'
}
getProjectto(param).then(res => {
this.projectFundType = this.selectDictLabel(this.projectFundTypeDictionaries, res.data.projectFundType);
this.projectForm = res.data
})
}else if(response.data.capitalExpenditureType==4){
this.contractOpen = true
let param={
'transferId' : response.data.id
}
getInfoto(param).then(res => {
this.infoForm = res.data
})
}else{
this.showproject = false
}
this.form = response.data;
});
listCashdetailByCashId(this.$route.query.id).then((response) => {
this.chargeItme = response.data;
this.getPayeeList();
});
},
getPayeeList() {
//普通转账
this.queryParams.accountType = this.form.accountType
this.queryParams.status = "0"
listPayee(this.queryParams).then((response) => {
for (var i = 0; i < response.rows.length; i++) {
this.payeeList.push({text: response.rows[i].payee, value: response.rows[i].id});
}
});
},
getFileList(){
let oData= {
tableId: this.$route.query.id,
tableName: "t_yinnong_cash",
bizPath: "upload",
fileType: "0",
}
attachmentList(oData).then(res => {
console.log(res)
console.log(location.protocol+"//"+location.host+request.defaults.baseURL)
res.rows.map(r => {
let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL
this.fileList.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{})})
console.log(r)
})
})
},
goBack(){
window.history.go(-1)
},
//删除家庭成员
deleteChargeItme(index){
this.chargeItme.splice(index,1)
},
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;
}

.addFamily{
position: absolute;
top: -2px;
right: 0;
border-radius: 50%;
}
.deleteFamily{
position: absolute;
top: 0rem;
right: 6%;
z-index: 9;
border-radius: 50%;
}
</style>

+ 282
- 0
src/views/yinnong/bankAgriculture/paymentApproval/approvalDetail11.vue Ver ficheiro

@@ -0,0 +1,282 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">查看现金使用申请</p>
</template>
<template #right>
<van-icon name="../../../static/images/icon/icon_flow.png" size="20" @click="goFlow"/>
</template>
</van-nav-bar>
<p class="main_title">基础信息</p>
<div class="main_box">
<van-field readonly label="申请时间" v-model="form.applyDate" input-align="right" />
<van-field readonly label="资金支出类别" v-model="capitalExpenditureType" input-align="right" label-width="auto" />
<van-field readonly label="支出总金额" v-model="form.expenditureAmount" input-align="right" label-width="auto"/>
<van-field name="radio" label="审批模式" input-align="right" autocomplete="off" readonly>
<template #input>
<van-radio-group v-model="form.approvalMode" direction="horizontal">
<van-radio name="1">线上支付</van-radio>
<van-radio name="2">线下支付</van-radio>
</van-radio-group>
</template>
</van-field>
</div>

<div class="main_box" style="margin-top: 10px;">
<van-field readonly label="付款事由" v-model="form.remark" type="textarea" input-align="right" rows="3" label-width="auto"/>
</div>

<div class="main_box" style="margin-top: 10px;">
<van-field readonly label="说明情况" v-model="form.explainSituation" type="textarea" input-align="right" rows="3" label-width="auto"/>
</div>

<p class="main_title">付款方信息</p>
<div class="main_box">
<van-field readonly label="付款方" v-model="form.payer" input-align="right" label-width="auto"/>
<van-field readonly label="付款方账户" v-model="form.payerAccount" input-align="right" label-width="auto"/>
</div>

<div class="main_box" v-if="capitalExpenditureOpen" style="margin-bottom: 10px;margin-top: 10px;position:relative;">
<van-field readonly label="项目名称" v-model="projectForm.projectName" input-align="right" />
<van-field readonly label="承建单位" v-model="projectForm.projectContractor" input-align="right" label-width="auto"/>
<van-field readonly label="合同价款(元)" v-model="projectForm.projectAmount" input-align="right" label-width="auto"/>
<van-field readonly label="工程款类型" v-model="projectFundType" input-align="right" />
<van-field readonly label="工程发票号" v-model="projectForm.projectBillNum" input-align="right" label-width="auto"/>
</div>
<div class="main_box" v-if="contractOpen" style="margin-bottom: 10px;margin-top: 10px;position:relative;">
<van-field readonly label="合同名称" v-model="infoForm.name" input-align="right" />
<van-field readonly label="合同编码" v-model="infoForm.code" input-align="right" label-width="auto"/>
<van-field readonly label="合同价款(元)" v-model="infoForm.totalAmount" input-align="right" label-width="auto"/>
</div>
<p class="main_title">收款方信息</p>

<div :style="{position:'relative',padding: index == 0 ? '':'10px 0 0 0'}" v-for="(item, index) in chargeItme" :key="index">
<div class="main_box" style="margin-bottom: 10px;position:relative;">
<van-field readonly label="收款方" v-model="item.payee" input-align="right" />
<van-field readonly label="提款人" v-model="item.drawer" input-align="right" label-width="auto"/>
<van-field readonly label="提款金额" v-model="item.incomeAmount" input-align="right" label-width="auto"/>
<van-field readonly label="资金用途" v-model="item.remark" input-align="right" label-width="auto"/>
</div>
</div>
<p class="main_title">上传附件</p>
<div class="main_box" style="padding: 5px 0 0 8px;">
<van-uploader v-model="fileList" :deletable="false" disabled :upload-text="'未上传附件'"></van-uploader>
</div>
</div>
</template>

<script>
import { getTransfer , queryTransferDetail , listPayee , updateTransfer , getProjectto , listProject , addProjectto , customSubmit,getInfoto} from "@/api/onlineHome/bankAgriculture/paymentApproval";
import request from '@/utils/request'
import {
attachmentList,
commonAttach,
getCash,
listCashdetailByCashId
} from "../../../../api/onlineHome/bankAgriculture/paymentApproval";
export default {
name: "approvalDetail11",
data() {
return {
showcapital:false,
showpayee:false,
showlasj:false,
showbankType:false,
showproject:false,
showFundType:false,

minDate: new Date(),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(),
form:{},
fileList:[],
capitalExpenditureType:'',
payee:'',
bankType:'',

wfydlxDictionaries:[],
jglxDictionaries:[],
sysDictionaries:[],
capitalExpenditureTypeOptions:[],
bankTypeDictionaries:[],
projectList:[],
projectFundTypeOptions:[],
projectFundTypeDictionaries:[],
projectListShow:[],

chargeItme:[],
chargeItmeShow:[],

payeeList:[],
// 查询参数
queryParams: {
transferType:11,
orderByColumn: "id",
isAsc: "desc",
},
capitalExpenditureOpen:false,
contractOpen:false,
projectForm:{
projectId:null,
projectName:null,
projectContractor:null,
projectAmount:null,
projectBillNum:null,
projectFundType:'1',
outId:null,
ynType:'1'
},
infoForm:{
infoId:null,
name:null,
code:null,
totalAmount:null,
contractionId:null,
transferId:null
},
projectFundType:''
};
},
created() {
this.getDicts("project_fund_type").then((response) => {
for (var i = 0; i < response.data.length; i++) {
this.projectFundTypeOptions.push({text: response.data[i].dictLabel, value: response.data[i].dictValue});
}
this.projectFundTypeDictionaries = response.data;
});
this.getDictionaries();
this.getFileList();
},
methods: {
goFlow(){
window.location='approvalProcess2?id='+this.$route.query.id;
},
getDictionaries(){
getCash(this.$route.query.id).then((response) => {
this.getDicts("capital_expenditure_type").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.capitalExpenditureTypeOptions.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
this.capitalExpenditureType = this.selectDictLabel(res.data, response.data.capitalExpenditureType);
});
if(response.data.capitalExpenditureType==2){
this.capitalExpenditureOpen = true
let param={
'outId' : response.data.id,
'ynType' : '2'
}
getProjectto(param).then(res => {
this.projectFundType = this.selectDictLabel(this.projectFundTypeDictionaries, res.data.projectFundType);
this.projectForm = res.data
})
}else if(response.data.capitalExpenditureType==4){
this.contractOpen = true
let param={
'transferId' : response.data.id
}
getInfoto(param).then(res => {
this.infoForm = res.data
})
}else{
this.showproject = false
}
this.form = response.data;
});
listCashdetailByCashId(this.$route.query.id).then((response) => {
this.chargeItme = response.data;
console.log(response)
this.getPayeeList();
});
},
addChargeItme(index){
this.chargeItme.splice(index + 1, 0, {
payeeId: "", //收款方ID
payee: "", //收款方
payeeAccount: "", //收款账户
bankDeposit: "", //开户银行
incomeAmount: "", //收入金额
bankType: "", //所属银行
});
},
getPayeeList() {
//普通转账
this.queryParams.accountType = this.form.accountType
this.queryParams.status = "0"
listPayee(this.queryParams).then((response) => {
for (var i = 0; i < response.rows.length; i++) {
this.payeeList.push({text: response.rows[i].payee, value: response.rows[i].id});
}
});
},
getFileList(){
let oData= {
tableId: this.$route.query.id,
tableName: "t_yinnong_cash",
bizPath: "upload",
fileType: "0",
}
attachmentList(oData).then(res => {
console.log(res)
console.log(location.protocol+"//"+location.host+request.defaults.baseURL)
res.rows.map(r => {
let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL
this.fileList.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{})})
console.log(r)
})
})
},
goBack(){
window.history.go(-1)
},
//删除家庭成员
deleteChargeItme(index){
this.chargeItme.splice(index,1)
},
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;
}

.addFamily{
position: absolute;
top: -2px;
right: 0;
border-radius: 50%;
}
.deleteFamily{
position: absolute;
top: 0rem;
right: 6%;
z-index: 9;
border-radius: 50%;
}
</style>

+ 346
- 0
src/views/yinnong/bankAgriculture/paymentApproval/approvalDetail12.vue Ver ficheiro

@@ -0,0 +1,346 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">查看汇票支出申请</p>
</template>
<template #right>
<van-icon name="../../../static/images/icon/icon_flow.png" size="20" @click="goFlow"/>
</template>
</van-nav-bar>
<p class="main_title">基础信息</p>
<div class="main_box">
<van-field readonly label="申请时间" v-model="form.applyDate" input-align="right" />
<van-field readonly label="资金支出类别" v-model="capitalExpenditureType" input-align="right" label-width="auto" />
<van-field name="radio" label="审批模式" input-align="right" autocomplete="off" readonly>
<template #input>
<van-radio-group v-model="form.approvalMode" direction="horizontal">
<van-radio name="1">线上支付</van-radio>
<van-radio name="2">线下支付</van-radio>
</van-radio-group>
</template>
</van-field>
</div>

<div class="main_box" style="margin-top: 10px;">
<van-field readonly label="付款事由" v-model="form.remark" type="textarea" input-align="right" rows="3" label-width="auto"/>
</div>

<div class="main_box" style="margin-top: 10px;">
<van-field readonly label="说明情况" v-model="form.explainSituation" type="textarea" input-align="right" rows="3" label-width="auto"/>
</div>

<div class="main_box" v-if="capitalExpenditureOpen" style="margin-bottom: 10px;margin-top: 10px;position:relative;">
<van-field readonly label="项目名称" v-model="projectForm.projectName" input-align="right" />
<van-field readonly label="承建单位" v-model="projectForm.projectContractor" input-align="right" label-width="auto"/>
<van-field readonly label="合同价款(元)" v-model="projectForm.projectAmount" input-align="right" label-width="auto"/>
<van-field readonly label="工程款类型" v-model="projectFundType" input-align="right" />
<van-field readonly label="工程发票号" v-model="projectForm.projectBillNum" input-align="right" label-width="auto"/>
</div>
<div class="main_box" v-if="contractOpen" style="margin-bottom: 10px;margin-top: 10px;position:relative;">
<van-field readonly label="合同名称" v-model="infoForm.name" input-align="right" />
<van-field readonly label="合同编码" v-model="infoForm.code" input-align="right" label-width="auto"/>
<van-field readonly label="合同价款(元)" v-model="infoForm.totalAmount" input-align="right" label-width="auto"/>
</div>

<p class="main_title">出票方信息</p>
<div class="main_box">
<van-field readonly label="付款方" v-model="form.payer" input-align="right" label-width="auto"/>
<van-field :rules="[{ required: true , message:'请输入汇票号码' }]" required label="汇票号码" v-model="form.payerAccount" placeholder="请输入汇票号码" input-align="right" label-width="auto"/>
<van-field
readonly
label="出票金额(元)"
v-model="form.expenditureAmount"
placeholder=""
input-align="right"
label-width="auto"
required
:rules="[{ required: true , message:'出票金额不能为空!' }]"
/>
<van-field
readonly
label="汇票类型"
v-model="orderTypeName"
placeholder=""
input-align="right"
label-width="auto"
required
:rules="[{ required: true , message:'汇票类型不能为空!' }]"
/>
<van-field
readonly
label="汇票类型"
v-model="form.orderType"
placeholder=""
input-align="right"
label-width="auto"
style="display: none"
required
:rules="[{ required: true , message:'汇票类型不能为空!' }]"
/>
<van-field
readonly
label="开票日"
v-model="form.startTime"
placeholder=""
input-align="right"
label-width="auto"
required
:rules="[{ required: true , message:'开票日不能为空!' }]"
/>
<van-field
readonly
label="到期日"
v-model="form.endTime"
placeholder=""
input-align="right"
label-width="auto"
required
:rules="[{ required: true , message:'到期日不能为空!' }]"
/>
</div>

<p class="main_title">收票方信息</p>

<div :style="{position:'relative',padding: index == 0 ? '':'10px 0 0 0'}" v-for="(item, index) in chargeItme" :key="index">
<div class="main_box" style="margin-bottom: 10px;position:relative;">
<van-field readonly label="收款方" v-model="item.payee" input-align="right" />
<van-field readonly label="联系方式" v-model="item.phone" input-align="right" label-width="auto"/>
<van-field readonly label="所属单位" v-model="item.unit" input-align="right" label-width="auto"/>
<van-field readonly label="负责人全称" v-model="item.leader" input-align="right" label-width="auto"/>
<van-field readonly label="资金用途" v-model="item.remark" input-align="right" />
</div>
</div>
<p class="main_title">上传附件</p>
<div class="main_box" style="padding: 5px 0 0 8px;">
<van-uploader v-model="fileList" :deletable="false" disabled :upload-text="'未上传附件'"></van-uploader>
</div>
</div>
</template>

<script>
import { getTransfer , queryTransferDetail , listPayee , updateTransfer , getProjectto , listProject , addProjectto , customSubmit, getInfoto} from "@/api/onlineHome/bankAgriculture/paymentApproval";
import request from '@/utils/request'
import {
attachmentList,
commonAttach,
getCash,
listCashdetailByCashId
} from "../../../../api/onlineHome/bankAgriculture/paymentApproval";
export default {
name: "approvalDetail12",
data() {
return {
showcapital:false,
showpayee:false,
showlasj:false,
showbankType:false,
showproject:false,
showFundType:false,

minDate: new Date(),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(),
form:{},
fileList:[],
capitalExpenditureType:'',
payee:'',
bankType:'',

wfydlxDictionaries:[],
jglxDictionaries:[],
sysDictionaries:[],
capitalExpenditureTypeOptions:[],
bankTypeDictionaries:[],
projectList:[],
projectFundTypeOptions:[],
projectFundTypeDictionaries:[],
projectListShow:[],

chargeItme:[],
chargeItmeShow:[],

payeeList:[],
// 查询参数
queryParams: {
transferType:12,
orderByColumn: "id",
isAsc: "desc",
},
capitalExpenditureOpen:false,
contractOpen:false,
projectForm:{
projectId:null,
projectName:null,
projectContractor:null,
projectAmount:null,
projectBillNum:null,
projectFundType:'1',
outId:null,
ynType:'1'
},
infoForm:{
infoId:null,
name:null,
code:null,
totalAmount:null,
contractionId:null,
transferId:null
},
projectFundType:'',
orderTypeName:'',
orderTypeOptions:[]
};
},
created() {
this.getDicts("project_fund_type").then((response) => {
for (var i = 0; i < response.data.length; i++) {
this.projectFundTypeOptions.push({text: response.data[i].dictLabel, value: response.data[i].dictValue});
}
this.projectFundTypeDictionaries = response.data;
});
this.getDicts("order_type").then(response => {
this.orderTypeOptions = response.data;
});
this.getDictionaries();
this.getFileList();
},
methods: {
goFlow(){
window.location='approvalProcess2?id='+this.$route.query.id;
},
getDictionaries(){
getCash(this.$route.query.id).then((response) => {
this.getDicts("capital_expenditure_type").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.capitalExpenditureTypeOptions.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
this.capitalExpenditureType = this.selectDictLabel(res.data, response.data.capitalExpenditureType);
});
if(response.data.capitalExpenditureType==2){
this.capitalExpenditureOpen = true
let param={
'outId' : response.data.id,
'ynType' : '2'
}
getProjectto(param).then(res => {
this.projectFundType = this.selectDictLabel(this.projectFundTypeDictionaries, res.data.projectFundType);
this.projectForm = res.data
})
}else if(response.data.capitalExpenditureType==4){
this.contractOpen = true
let param={
'transferId' : response.data.id
}
getInfoto(param).then(res => {
this.infoForm = res.data
})
}else{
this.showproject = false
}
this.form = response.data;
this.orderTypeOptions.map(res => {
console.log(this.orderTypeOptions)
if(res.dictValue==this.form.orderType){
this.orderTypeName = res.dictLabel
}
})
});
console.log(this.$route.query.id)
listCashdetailByCashId(this.$route.query.id).then((response) => {
this.chargeItme = response.data;
console.log(response.data)
this.getPayeeList();
});
},
addChargeItme(index){
this.chargeItme.splice(index + 1, 0, {
payeeId: "", //收款方ID
payee: "", //收款方
payeeAccount: "", //收款账户
bankDeposit: "", //开户银行
incomeAmount: "", //收入金额
bankType: "", //所属银行
});
},
getPayeeList() {
//普通转账
this.queryParams.accountType = this.form.accountType
this.queryParams.status = "0"
listPayee(this.queryParams).then((response) => {
for (var i = 0; i < response.rows.length; i++) {
this.payeeList.push({text: response.rows[i].payee, value: response.rows[i].id});
}
});
},
getFileList(){
let oData= {
tableId: this.$route.query.id,
tableName: "t_yinnong_cash",
bizPath: "upload",
fileType: "0",
}
attachmentList(oData).then(res => {
console.log(res)
console.log(location.protocol+"//"+location.host+request.defaults.baseURL)
res.rows.map(r => {
let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL
this.fileList.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{})})
console.log(r)
})
})
},
goBack(){
window.history.go(-1)
},
//删除家庭成员
deleteChargeItme(index){
this.chargeItme.splice(index,1)
},
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;
}

.addFamily{
position: absolute;
top: -2px;
right: 0;
border-radius: 50%;
}
.deleteFamily{
position: absolute;
top: 0rem;
right: 6%;
z-index: 9;
border-radius: 50%;
}
</style>

+ 283
- 0
src/views/yinnong/bankAgriculture/paymentApproval/approvalDetail2.vue Ver ficheiro

@@ -0,0 +1,283 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">查看信用卡转账申请</p>
</template>
<template #right>
<van-icon name="../../../static/images/icon/icon_flow.png" size="20" @click="goFlow"/>
</template>
</van-nav-bar>
<p class="main_title">基础信息</p>
<div class="main_box">
<van-field readonly label="申请时间" v-model="form.applyDate" input-align="right" />
<van-field readonly label="资金支出类别" v-model="capitalExpenditureType" input-align="right" label-width="auto" />
<van-field readonly label="支出总金额" v-model="form.expenditureAmount" input-align="right" label-width="auto"/>
<van-field name="radio" label="审批模式" input-align="right" autocomplete="off" readonly>
<template #input>
<van-radio-group v-model="form.approvalMode" direction="horizontal">
<van-radio name="1">线上支付</van-radio>
<van-radio name="2">线下支付</van-radio>
</van-radio-group>
</template>
</van-field>
</div>

<div class="main_box" style="margin-top: 10px;">
<van-field readonly label="付款事由" v-model="form.remark" type="textarea" input-align="right" rows="3" label-width="auto"/>
</div>

<div class="main_box" style="margin-top: 10px;">
<van-field readonly label="说明情况" v-model="form.explainSituation" type="textarea" input-align="right" rows="3" label-width="auto"/>
</div>

<p class="main_title">付款方信息</p>
<div class="main_box">
<van-field readonly label="付款方" v-model="form.payer" input-align="right" label-width="auto"/>
<van-field readonly label="付款方账户" v-model="form.payerAccount" input-align="right" label-width="auto"/>
</div>

<div class="main_box" v-if="capitalExpenditureOpen" style="margin-bottom: 10px;margin-top: 10px;position:relative;">
<van-field readonly label="项目名称" v-model="projectForm.projectName" input-align="right" />
<van-field readonly label="承建单位" v-model="projectForm.projectContractor" input-align="right" label-width="auto"/>
<van-field readonly label="合同价款(元)" v-model="projectForm.projectAmount" input-align="right" label-width="auto"/>
<van-field readonly label="工程款类型" v-model="projectFundType" input-align="right" />
<van-field readonly label="工程发票号" v-model="projectForm.projectBillNum" input-align="right" label-width="auto"/>
</div>
<div class="main_box" v-if="contractOpen" style="margin-bottom: 10px;margin-top: 10px;position:relative;">
<van-field readonly label="合同名称" v-model="infoForm.name" input-align="right" />
<van-field readonly label="合同编码" v-model="infoForm.code" input-align="right" label-width="auto"/>
<van-field readonly label="合同价款(元)" v-model="infoForm.totalAmount" input-align="right" label-width="auto"/>
</div>
<p class="main_title">列表信息</p>

<div class="main_box" style="margin-bottom: 15px;">
<van-field readonly label="收款账户类型" v-model="form.accountType == 1 ? '公户':'私户'" input-align="right" label-width="auto" />
</div>

<div :style="{position:'relative',padding: index == 0 ? '':'10px 0 0 0'}" v-for="(item, index) in chargeItme" :key="index">
<div class="main_box" style="margin-bottom: 10px;position:relative;">
<van-field readonly label="收款方" v-model="item.payee" input-align="right" />
<van-field readonly label="收款账户" v-model="item.payeeAccount" input-align="right" label-width="auto"/>
<van-field readonly label="开户银行" v-model="item.bankDeposit" input-align="right" label-width="auto"/>
<van-field readonly label="收入金额" v-model="item.incomeAmount" input-align="right" label-width="auto"/>
<van-field readonly label="所属银行" v-model="item.bankTypeText" input-align="right" />
</div>
</div>
<p class="main_title">上传附件</p>
<div class="main_box" style="padding: 5px 0 0 8px;">
<van-uploader v-model="fileList" :deletable="false" disabled :upload-text="'未上传附件'"></van-uploader>
</div>
</div>
</template>

<script>
import { getTransfer , queryTransferDetail , listPayee , updateTransfer , getProjectto , listProject , addProjectto , customSubmit,getInfoto } from "@/api/onlineHome/bankAgriculture/paymentApproval";
import request from '@/utils/request'
import {
attachmentList,
commonAttach,
systemAttachment
} from "../../../../api/onlineHome/bankAgriculture/paymentApproval";
export default {
name: "approvalDetail",
data() {
return {
showcapital:false,
showpayee:false,
showlasj:false,
showbankType:false,
showproject:false,
showFundType:false,

minDate: new Date(),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(),
form:{},
fileList:[],
capitalExpenditureType:'',
payee:'',
bankType:'',

wfydlxDictionaries:[],
jglxDictionaries:[],
sysDictionaries:[],
capitalExpenditureTypeOptions:[],
bankTypeDictionaries:[],
projectList:[],
projectFundTypeOptions:[],
projectFundTypeDictionaries:[],
projectListShow:[],

chargeItme:[],
chargeItmeShow:[],

payeeList:[],
// 查询参数
queryParams: {
transferType:"",
orderByColumn: "id",
isAsc: "desc",
},
capitalExpenditureOpen:false,
projectForm:{
projectId:null,
projectName:null,
projectContractor:null,
projectAmount:null,
projectBillNum:null,
projectFundType:'1',
outId:null,
ynType:'1'
},
contractOpen:false,
infoForm:{
infoId:null,
name:null,
code:null,
totalAmount:null,
contractionId:null,
transferId:null
},
projectFundType:''
};
},
created() {
this.getDicts("project_fund_type").then((response) => {
for (let i = 0; i < response.data.length; i++) {
this.projectFundTypeOptions.push({text: response.data[i].dictLabel, value: response.data[i].dictValue});
}
this.projectFundTypeDictionaries = response.data;
});
this.getDictionaries();
this.getFileList();
},
methods: {
goFlow(){
window.location='approvalProcess?id='+this.$route.query.id;
},
getDictionaries(){
getTransfer(this.$route.query.id).then((response) => {
this.getDicts("capital_expenditure_type").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.capitalExpenditureTypeOptions.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
this.capitalExpenditureType = this.selectDictLabel(res.data, response.data.capitalExpenditureType);
});
if(response.data.capitalExpenditureType==2){
this.capitalExpenditureOpen = true
let param={
'outId' : response.data.id,
'ynType' : '1'
}
getProjectto(param).then(res => {
this.projectFundType = this.selectDictLabel(this.projectFundTypeDictionaries, res.data.projectFundType);
this.projectForm = res.data
})
}else if(response.data.capitalExpenditureType==4) {
this.contractOpen = true
let param = {
'transferId': response.data.id
}
getInfoto(param).then(res => {
this.infoForm = res.data
})
}else{
this.showproject = false
}
this.form = response.data;
});
queryTransferDetail(this.$route.query.id).then((response) => {
this.getDicts("bank_type").then(res => {
for (var i = 0; i < res.data.length; i++) {
this.bankTypeDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
for (var j = 0 ; j < response.rows.length ; j++){
response.rows[j].bankTypeText = this.selectDictLabel(res.data, response.rows[j].bankType);
}
this.chargeItme = response.rows;
});
this.getPayeeList();
});
},
getPayeeList() {
//普通转账
this.queryParams.accountType = this.form.accountType
this.queryParams.status = "0"
listPayee(this.queryParams).then((response) => {
for (var i = 0; i < response.rows.length; i++) {
this.payeeList.push({text: response.rows[i].payee, value: response.rows[i].id});
}
});
},
getFileList(){
let oData= {
tableId: this.$route.query.id,
tableName: "t_yinnong_transfer",
bizPath: "upload",
fileType: "0",
}
attachmentList(oData).then(res => {
console.log(res)
console.log(location.protocol+"//"+location.host+request.defaults.baseURL)
res.rows.map(r => {
let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL
this.fileList.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{}),"id":r.id})
console.log(r)
})
})
},
goBack(){
window.history.go(-1)
},
//删除家庭成员
deleteChargeItme(index){
this.chargeItme.splice(index,1)
},
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;
}

.addFamily{
position: absolute;
top: -2px;
right: 0;
border-radius: 50%;
}
.deleteFamily{
position: absolute;
top: 0rem;
right: 6%;
z-index: 9;
border-radius: 50%;
}
</style>

+ 442
- 0
src/views/yinnong/bankAgriculture/paymentApproval/approvalDetail3.vue Ver ficheiro

@@ -0,0 +1,442 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">查看虚拟挂账申请</p>
</template>
<template #right>
<van-icon name="../../../static/images/icon/icon_flow.png" size="20" @click="goFlow"/>
</template>
</van-nav-bar>
<p class="main_title">基础信息</p>
<div class="main_box">
<van-field readonly label="申请时间" v-model="form.applyDate" input-align="right" />
<van-field readonly label="资金支出类别" v-model="capitalExpenditureType" input-align="right" label-width="auto" />
<van-field readonly label="支出总金额" v-model="form.expenditureAmount" input-align="right" label-width="auto"/>
</div>

<div class="main_box" style="margin-top: 10px;">
<van-field readonly label="付款事由" v-model="form.remark" type="textarea" input-align="right" rows="3" label-width="auto"/>
</div>

<div class="main_box" style="margin-top: 10px;">
<van-field readonly label="说明情况" v-model="form.explainSituation" type="textarea" input-align="right" rows="3" label-width="auto"/>
</div>

<p class="main_title">付款方信息</p>
<div class="main_box">
<van-field readonly label="付款方" v-model="form.payer" input-align="right" label-width="auto"/>
<van-field readonly label="付款方账户" v-model="form.payerAccount" input-align="right" label-width="auto"/>
</div>

<div class="main_box" v-if="capitalExpenditureOpen" style="margin-bottom: 10px;margin-top: 10px;position:relative;">
<van-field readonly label="项目名称" v-model="projectForm.projectName" input-align="right" />
<van-field readonly label="承建单位" v-model="projectForm.projectContractor" input-align="right" label-width="auto"/>
<van-field readonly label="合同价款(元)" v-model="projectForm.projectAmount" input-align="right" label-width="auto"/>
<van-field readonly label="工程款类型" v-model="projectFundType" input-align="right" />
<van-field readonly label="工程发票号" v-model="projectForm.projectBillNum" input-align="right" label-width="auto"/>
</div>

<p class="main_title">列表信息</p>

<div class="main_box" style="margin-bottom: 15px;">
<van-field readonly label="收款账户类型" v-model="form.accountType == 1 ? '公户':'私户'" input-align="right" label-width="auto" />
</div>

<div :style="{position:'relative',padding: index == 0 ? '':'10px 0 0 0'}" v-for="(item, index) in chargeItme" :key="index">
<div class="main_box" style="margin-bottom: 10px;position:relative;">
<van-field readonly label="收款方" v-model="item.payee" input-align="right" />
<van-field readonly label="收款账户" v-model="item.payeeAccount" input-align="right" label-width="auto"/>
<van-field readonly label="开户银行" v-model="item.bankDeposit" input-align="right" label-width="auto"/>
<van-field readonly label="收入金额" v-model="item.incomeAmount" input-align="right" label-width="auto"/>
<van-field readonly label="所属银行" v-model="item.bankTypeText" input-align="right" />
</div>
</div>
<p class="main_title">上传附件</p>
<div class="main_box" style="padding: 5px 0 0 8px;">
<van-uploader v-model="fileList" :after-read="beforeRead" :deletable="false" disabled :upload-text="'未上传附件'"></van-uploader>
</div>
</div>
</template>

<script>
import { getTransfer , queryTransferDetail , listPayee , updateTransfer , getProjectto , listProject , addProjectto , customSubmit} from "@/api/onlineHome/bankAgriculture/paymentApproval";
import request from '@/utils/request'
import {
attachmentList,
commonAttach,
systemAttachment
} from "../../../../api/onlineHome/bankAgriculture/paymentApproval";
export default {
name: "approvalDetail",
data() {
return {
showcapital:false,
showpayee:false,
showlasj:false,
showbankType:false,
showproject:false,
showFundType:false,

minDate: new Date(),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(),
form:{},
fileList:[],
capitalExpenditureType:'',
payee:'',
bankType:'',

wfydlxDictionaries:[],
jglxDictionaries:[],
sysDictionaries:[],
capitalExpenditureTypeOptions:[],
bankTypeDictionaries:[],
projectList:[],
projectFundTypeOptions:[],
projectFundTypeDictionaries:[],
projectListShow:[],

chargeItme:[],
chargeItmeShow:[],

payeeList:[],
// 查询参数
queryParams: {
transferType:"",
orderByColumn: "id",
isAsc: "desc",
},
capitalExpenditureOpen:false,
projectForm:{
projectId:null,
projectName:null,
projectContractor:null,
projectAmount:null,
projectBillNum:null,
projectFundType:'1',
outId:null,
ynType:'1'
},
projectFundType:''
};
},
created() {
let queryParams={
pageNum: 1,
pageSize: 100,
}
listProject(queryParams).then(response => {
console.log(response)
this.projectList = response.rows;
for (var i = 0; i < response.rows.length; i++) {
this.projectListShow.push({text: response.rows[i].projectName, value: response.rows[i].id});
}
});
this.getDicts("project_fund_type").then((response) => {
for (var i = 0; i < response.data.length; i++) {
this.projectFundTypeOptions.push({text: response.data[i].dictLabel, value: response.data[i].dictValue});
}
this.projectFundTypeDictionaries = response.data;
});
this.getDictionaries();
this.getFileList();
},
methods: {
goFlow(){
window.location='approvalProcess?id='+this.$route.query.id;
},
getDictionaries(){
getTransfer(this.$route.query.id).then((response) => {
this.getDicts("capital_expenditure_type").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.capitalExpenditureTypeOptions.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
this.capitalExpenditureType = this.selectDictLabel(res.data, response.data.capitalExpenditureType);
});
if(response.data.capitalExpenditureType==2){
this.capitalExpenditureOpen = true
let param={
'outId' : response.data.id,
'ynType' : '1'
}
getProjectto(param).then(res => {
this.projectFundType = this.selectDictLabel(this.projectFundTypeDictionaries, res.data.projectFundType);
this.projectForm = res.data
})
}else{
this.showproject = false
}
this.form = response.data;
});
queryTransferDetail(this.$route.query.id).then((response) => {
this.getDicts("bank_type").then(res => {
for (var i = 0; i < res.data.length; i++) {
this.bankTypeDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
for (var j = 0 ; j < response.rows.length ; j++){
response.rows[j].bankTypeText = this.selectDictLabel(res.data, response.rows[j].bankType);
}
this.chargeItme = response.rows;
});
this.getPayeeList();
});
},
addChargeItme(index){
this.chargeItme.splice(index + 1, 0, {
payeeId: "", //收款方ID
payee: "", //收款方
payeeAccount: "", //收款账户
bankDeposit: "", //开户银行
incomeAmount: "", //收入金额
bankType: "", //所属银行
});
},
getPayeeList() {
//普通转账
this.queryParams.accountType = this.form.accountType
this.queryParams.status = "0"
listPayee(this.queryParams).then((response) => {
for (var i = 0; i < response.rows.length; i++) {
this.payeeList.push({text: response.rows[i].payee, value: response.rows[i].id});
}
});
},
payeeDictLabel(datas, value) {
var actions = [];
Object.keys(datas).some((key) => {
if (datas[key].payeeId == ('' + value)) {
actions.push(datas[key].payee);
return true;
}
})
return actions.join('');
},
onConfirmCapital(data){
console.log(data)
if (data.value != 2){
this.capitalExpenditureOpen = false;
this.projectForm = [];
}else{
this.capitalExpenditureOpen = true;
}
this.capitalExpenditureType = data.text;
this.form.capitalExpenditureType = data.value;
this.showcapital = false;
},
onConfirmFundType(data){
console.log(data)
this.projectForm.projectFundType = data.value;
this.projectFundType = data.text;
this.showFundType = false;
},
onConfirmProject(data){
console.log(data)
this.projectList.map(res => {
console.log(res)
if(res.projectName==data.text){
this.projectForm.projectId = res.id
this.projectForm.projectName = res.projectName
this.projectForm.projectContractor = res.projectContractor
this.projectForm.projectAmount = res.projectAmount
console.log(this.projectForm)
}
})
this.showproject = false;
},
onConfirmPayee(data){
// this.chargeItme[this.chargeItme.length-1].payeeText = data.text;
this.chargeItme[this.chargeItme.length-1].payee = data.text;
this.chargeItme[this.chargeItme.length-1].payeeId = data.value;
console.log(this.chargeItme)
this.showpayee = false;
},
onConfirmBankType(data){
console.log(this.chargeItme)
this.chargeItme[this.chargeItme.length-1].bankTypeText = data.text;
this.chargeItme[this.chargeItme.length-1].bankType = data.value;
this.showbankType = false;
},
onConfirmLasj(data){
this.form.applyDate = this.getNowFormatDate(data).substr(0,10);
this.showlasj = false;
},
accountTypeChange(e){
console.log(e)
this.payeeList = [];
this.queryParams.accountType = this.form.accountType
this.queryParams.status = "0"
listPayee(this.queryParams).then((response) => {
for (var i = 0; i < response.rows.length; i++) {
this.payeeList.push({text: response.rows[i].payee, value: response.rows[i].id});
}
});
},
goAdd(){
if(this.form.remark != null && this.form.remark.indexOf("|")!=-1){
this.$toast.error("付款事由禁止包含|。");
return;
}
if(this.form.capitalExpenditureType==2){
if(this.projectForm.projectName==""||this.projectForm.projectName==null){
this.$toast.error('请选择项目名称!');
return;
}
if(this.projectForm.projectBillNum==""||this.projectForm.projectBillNum==null){
this.$toast.error('请输入工程发票号!');
return;
}
}
this.$set(this.form, "payeeList", this.chargeItme);
this.$set(this.form, "bankTypeList", this.chargeItme);
this.$set(this.form, "accountTypeList", this.chargeItme);
this.$set(this.form, "transferStatusList", this.chargeItme);
console.log(this.form);
updateTransfer(this.form).then(response => {
console.log(response);
this.projectForm.outId = this.form.id
this.$set(this.projectForm, "ynType", '1');
console.log(this.projectForm)
if(this.form.capitalExpenditureType==2){
addProjectto(this.projectForm).then(res => {
customSubmit(this.form.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
})
}else{
customSubmit(this.form.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
}
});
},
goUpdate(){
if(this.form.remark != null && this.form.remark.indexOf("|")!=-1){
this.$toast.error("付款事由禁止包含|。");
return;
}
if(this.form.capitalExpenditureType==2){
if(this.projectForm.projectName==""||this.projectForm.projectName==null){
this.$toast.error('请选择项目名称!');
return;
}
if(this.projectForm.projectBillNum==""||this.projectForm.projectBillNum==null){
this.$toast.error('请输入工程发票号!');
return;
}
}
this.$set(this.form, "payeeList", this.chargeItme);
this.$set(this.form, "bankTypeList", this.chargeItme);
this.$set(this.form, "accountTypeList", this.chargeItme);
this.$set(this.form, "transferStatusList", this.chargeItme);
this.projectForm.outId = this.form.id
updateTransfer(this.form).then((response) => {
this.projectForm.outId = this.form.id
this.$set(this.projectForm, "ynType", '1');
if(this.form.capitalExpenditureType==2){
addProjectto(this.projectForm).then(res => {
this.$toast.success('修改成功');
setTimeout(function(){
history.go(-1)
},2000)
})
}else{
this.$toast.success('修改成功');
setTimeout(function(){
history.go(-1)
},2000)
}
});
},
beforeRead(file) {
this.uploadFiles.push(file.file);
},
deleteFile(file){
console.log(file)
this.uploadFiles.map((response,index) => {
if(file.file == response){
this.uploadFiles.splice(index,1)
}
})
if(file.id){
systemAttachment(file.id).then((res) => {
});
}
},
getFileList(){
let oData= {
tableId: this.$route.query.id,
tableName: "t_yinnong_transfer",
bizPath: "upload",
fileType: "0",
}
attachmentList(oData).then(res => {
console.log(res)
console.log(location.protocol+"//"+location.host+request.defaults.baseURL)
res.rows.map(r => {
let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL
this.fileList.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{}),"id":r.id})
console.log(r)
})
})
},
goBack(){
window.history.go(-1)
},
//删除家庭成员
deleteChargeItme(index){
this.chargeItme.splice(index,1)
},
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;
}

.addFamily{
position: absolute;
top: -2px;
right: 0;
border-radius: 50%;
}
.deleteFamily{
position: absolute;
top: 0rem;
right: 6%;
z-index: 9;
border-radius: 50%;
}
</style>

+ 285
- 0
src/views/yinnong/bankAgriculture/paymentApproval/approvalDetail4.vue Ver ficheiro

@@ -0,0 +1,285 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">查看代管转账申请</p>
</template>
<template #right>
<van-icon name="../../../static/images/icon/icon_flow.png" size="20" @click="goFlow"/>
</template>
</van-nav-bar>
<p class="main_title">基础信息</p>
<div class="main_box">
<van-field readonly label="申请时间" v-model="form.applyDate" input-align="right" />
<van-field readonly label="资金支出类别" v-model="capitalExpenditureType" input-align="right" label-width="auto" />
<van-field readonly label="支出总金额" v-model="form.expenditureAmount" input-align="right" label-width="auto"/>
<van-field name="radio" label="审批模式" input-align="right" autocomplete="off" readonly>
<template #input>
<van-radio-group v-model="form.approvalMode" direction="horizontal">
<van-radio name="1">线上支付</van-radio>
<van-radio name="2">线下支付</van-radio>
</van-radio-group>
</template>
</van-field>
</div>

<div class="main_box" style="margin-top: 10px;">
<van-field readonly label="付款事由" v-model="form.remark" type="textarea" input-align="right" rows="3" label-width="auto"/>
</div>

<div class="main_box" style="margin-top: 10px;">
<van-field readonly label="说明情况" v-model="form.explainSituation" type="textarea" input-align="right" rows="3" label-width="auto"/>
</div>

<p class="main_title">付款方信息</p>
<div class="main_box">
<van-field readonly label="付款方" v-model="form.payer" input-align="right" label-width="auto"/>
<van-field readonly label="付款方账户" v-model="form.payerAccount" input-align="right" label-width="auto"/>
</div>

<div class="main_box" v-if="capitalExpenditureOpen" style="margin-bottom: 10px;margin-top: 10px;position:relative;">
<van-field readonly label="项目名称" v-model="projectForm.projectName" input-align="right" />
<van-field readonly label="承建单位" v-model="projectForm.projectContractor" input-align="right" label-width="auto"/>
<van-field readonly label="合同价款(元)" v-model="projectForm.projectAmount" input-align="right" label-width="auto"/>
<van-field readonly label="工程款类型" v-model="projectFundType" input-align="right" />
<van-field readonly label="工程发票号" v-model="projectForm.projectBillNum" input-align="right" label-width="auto"/>
</div>
<div class="main_box" v-if="contractOpen" style="margin-bottom: 10px;margin-top: 10px;position:relative;">
<van-field readonly label="合同名称" v-model="infoForm.name" input-align="right" />
<van-field readonly label="合同编码" v-model="infoForm.code" input-align="right" label-width="auto"/>
<van-field readonly label="合同价款(元)" v-model="infoForm.totalAmount" input-align="right" label-width="auto"/>
</div>
<p class="main_title">列表信息</p>

<div class="main_box" style="margin-bottom: 15px;">
<van-field readonly label="收款账户类型" v-if="form.bankType==1" v-model="form.accountType == 1 ? '公户':'私户'" input-align="right" label-width="auto" />
<van-field readonly label="是否与付款方同行" v-if="form.bankType==2||form.bankType==4" v-model="form.isPeers == 'Y' ? '是':'否'" input-align="right" label-width="auto" />

</div>

<div :style="{position:'relative',padding: index == 0 ? '':'10px 0 0 0'}" v-for="(item, index) in chargeItme" :key="index">
<div class="main_box" style="margin-bottom: 10px;position:relative;">
<van-field readonly label="收款方" v-model="item.payee" input-align="right" />
<van-field readonly label="收款账户" v-model="item.payeeAccount" input-align="right" label-width="auto"/>
<van-field readonly label="开户银行" v-model="item.bankDeposit" input-align="right" label-width="auto"/>
<van-field readonly label="收入金额" v-model="item.incomeAmount" input-align="right" label-width="auto"/>
<van-field readonly label="所属银行" v-model="item.bankTypeText" input-align="right" />
</div>
</div>
<p class="main_title">上传附件</p>
<div class="main_box" style="padding: 5px 0 0 8px;">
<van-uploader v-model="fileList" :deletable="false" disabled :upload-text="'未上传附件'"></van-uploader>
</div>
</div>
</template>

<script>
import { getTransfer , queryTransferDetail , listPayee , updateTransfer , getProjectto , listProject , addProjectto , customSubmit,getInfoto } from "@/api/onlineHome/bankAgriculture/paymentApproval";
import request from '@/utils/request'
import {
attachmentList,
commonAttach,
systemAttachment
} from "../../../../api/onlineHome/bankAgriculture/paymentApproval";
export default {
name: "approvalDetail",
data() {
return {
showcapital:false,
showpayee:false,
showlasj:false,
showbankType:false,
showproject:false,
showFundType:false,

minDate: new Date(),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(),
form:{},
fileList:[],
capitalExpenditureType:'',
payee:'',
bankType:'',

wfydlxDictionaries:[],
jglxDictionaries:[],
sysDictionaries:[],
capitalExpenditureTypeOptions:[],
bankTypeDictionaries:[],
projectList:[],
projectFundTypeOptions:[],
projectFundTypeDictionaries:[],
projectListShow:[],

chargeItme:[],
chargeItmeShow:[],

payeeList:[],
// 查询参数
queryParams: {
transferType:"",
orderByColumn: "id",
isAsc: "desc",
},
capitalExpenditureOpen:false,
contractOpen:false,
projectForm:{
projectId:null,
projectName:null,
projectContractor:null,
projectAmount:null,
projectBillNum:null,
projectFundType:'1',
outId:null,
ynType:'1'
},
infoForm:{
infoId:null,
name:null,
code:null,
totalAmount:null,
contractionId:null,
transferId:null
},
projectFundType:''
};
},
created() {
this.getDicts("project_fund_type").then((response) => {
for (var i = 0; i < response.data.length; i++) {
this.projectFundTypeOptions.push({text: response.data[i].dictLabel, value: response.data[i].dictValue});
}
this.projectFundTypeDictionaries = response.data;
});
this.getDictionaries();
this.getFileList();
},
methods: {
goFlow(){
window.location='approvalProcess?id='+this.$route.query.id;
},
getDictionaries(){
getTransfer(this.$route.query.id).then((response) => {
this.getDicts("capital_expenditure_type").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.capitalExpenditureTypeOptions.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
this.capitalExpenditureType = this.selectDictLabel(res.data, response.data.capitalExpenditureType);
});
if(response.data.capitalExpenditureType==2){
this.capitalExpenditureOpen = true
let param={
'outId' : response.data.id,
'ynType' : '1'
}
getProjectto(param).then(res => {
this.projectFundType = this.selectDictLabel(this.projectFundTypeDictionaries, res.data.projectFundType);
this.projectForm = res.data
})
}else if(response.data.capitalExpenditureType==4) {
this.contractOpen = true
let param = {
'transferId': response.data.id
}
getInfoto(param).then(res => {
this.infoForm = res.data
})
}else{
this.showproject = false
}
this.form = response.data;
});
queryTransferDetail(this.$route.query.id).then((response) => {
this.getDicts("bank_type").then(res => {
for (var i = 0; i < res.data.length; i++) {
this.bankTypeDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
for (var j = 0 ; j < response.rows.length ; j++){
response.rows[j].bankTypeText = this.selectDictLabel(res.data, response.rows[j].bankType);
}
this.chargeItme = response.rows;
});
this.getPayeeList();
});
},
getPayeeList() {
//普通转账
this.queryParams.accountType = this.form.accountType
this.queryParams.status = "0"
listPayee(this.queryParams).then((response) => {
for (var i = 0; i < response.rows.length; i++) {
this.payeeList.push({text: response.rows[i].payee, value: response.rows[i].id});
}
});
},
getFileList(){
let oData= {
tableId: this.$route.query.id,
tableName: "t_yinnong_transfer",
bizPath: "upload",
fileType: "0",
}
attachmentList(oData).then(res => {
console.log(res)
console.log(location.protocol+"//"+location.host+request.defaults.baseURL)
res.rows.map(r => {
let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL
this.fileList.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{}),"id":r.id})
console.log(r)
})
})
},
goBack(){
window.history.go(-1)
},
//删除家庭成员
deleteChargeItme(index){
this.chargeItme.splice(index,1)
},
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;
}

.addFamily{
position: absolute;
top: -2px;
right: 0;
border-radius: 50%;
}
.deleteFamily{
position: absolute;
top: 0rem;
right: 6%;
z-index: 9;
border-radius: 50%;
}
</style>

+ 430
- 0
src/views/yinnong/bankAgriculture/paymentApproval/approvalDetail5.vue Ver ficheiro

@@ -0,0 +1,430 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">查看母子转账申请</p>
</template>
<template #right>
<van-icon name="../../../static/images/icon/icon_flow.png" size="20" @click="goFlow"/>
</template>
</van-nav-bar>
<p class="main_title">基础信息</p>
<div class="main_box">
<van-field readonly label="申请时间" v-model="form.applyDate" input-align="right" />
<van-field readonly label="资金支出类别" v-model="capitalExpenditureType" input-align="right" label-width="auto" />
<van-field readonly label="支出总金额" v-model="form.expenditureAmount" input-align="right" label-width="auto"/>
</div>

<div class="main_box" style="margin-top: 10px;">
<van-field readonly label="付款事由" v-model="form.remark" type="textarea" input-align="right" rows="3" label-width="auto"/>
</div>

<div class="main_box" style="margin-top: 10px;">
<van-field readonly label="说明情况" v-model="form.explainSituation" type="textarea" input-align="right" rows="3" label-width="auto"/>
</div>

<p class="main_title">付款方信息</p>
<div class="main_box">
<van-field readonly label="付款方" v-model="form.payer" input-align="right" label-width="auto"/>
<van-field readonly label="付款方账户" v-model="form.payerAccount" input-align="right" label-width="auto"/>
</div>

<div class="main_box" v-if="capitalExpenditureOpen" style="margin-bottom: 10px;margin-top: 10px;position:relative;">
<van-field readonly label="项目名称" v-model="projectForm.projectName" input-align="right" />
<van-field readonly label="承建单位" v-model="projectForm.projectContractor" input-align="right" label-width="auto"/>
<van-field readonly label="合同价款(元)" v-model="projectForm.projectAmount" input-align="right" label-width="auto"/>
<van-field readonly label="工程款类型" v-model="projectFundType" input-align="right" />
<van-field readonly label="工程发票号" v-model="projectForm.projectBillNum" input-align="right" label-width="auto"/>
</div>

<p class="main_title">列表信息</p>

<div class="main_box" style="margin-bottom: 15px;">
<van-field readonly label="收款账户类型" v-model="form.accountType == 1 ? '公户':'私户'" input-align="right" label-width="auto" />
</div>

<div :style="{position:'relative',padding: index == 0 ? '':'10px 0 0 0'}" v-for="(item, index) in chargeItme" :key="index">
<div class="main_box" style="margin-bottom: 10px;position:relative;">
<van-field readonly label="收款方" v-model="item.payee" input-align="right" />
<van-field readonly label="收款账户" v-model="item.payeeAccount" input-align="right" label-width="auto"/>
<van-field readonly label="开户银行" v-model="item.bankDeposit" input-align="right" label-width="auto"/>
<van-field readonly label="收入金额" v-model="item.incomeAmount" input-align="right" label-width="auto"/>
<van-field readonly label="所属银行" v-model="item.bankTypeText" input-align="right" />
</div>
</div>
<p class="main_title">上传附件</p>
<div class="main_box" style="padding: 5px 0 0 8px;">
<van-uploader v-model="fileList" :after-read="beforeRead" :deletable="false" disabled :upload-text="'未上传附件'"></van-uploader>
</div>
</div>
</template>

<script>
import { getTransfer , queryTransferDetail , listPayee , updateTransfer , getProjectto , listProject , addProjectto , customSubmit} from "@/api/onlineHome/bankAgriculture/paymentApproval";
import request from '@/utils/request'
import {attachmentList, commonAttach} from "../../../../api/onlineHome/bankAgriculture/paymentApproval";
export default {
name: "approvalDetail",
data() {
return {
showcapital:false,
showpayee:false,
showlasj:false,
showbankType:false,
showproject:false,
showFundType:false,

minDate: new Date(),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(),
form:{},
fileList:[],
capitalExpenditureType:'',
payee:'',
bankType:'',

wfydlxDictionaries:[],
jglxDictionaries:[],
sysDictionaries:[],
capitalExpenditureTypeOptions:[],
bankTypeDictionaries:[],
projectList:[],
projectFundTypeOptions:[],
projectFundTypeDictionaries:[],
projectListShow:[],

chargeItme:[],
chargeItmeShow:[],

payeeList:[],
// 查询参数
queryParams: {
transferType:"",
orderByColumn: "id",
isAsc: "desc",
},
capitalExpenditureOpen:false,
projectForm:{
projectId:null,
projectName:null,
projectContractor:null,
projectAmount:null,
projectBillNum:null,
projectFundType:'1',
outId:null,
ynType:'1'
},
projectFundType:''
};
},
created() {
let queryParams={
pageNum: 1,
pageSize: 100,
}
listProject(queryParams).then(response => {
console.log(response)
this.projectList = response.rows;
for (var i = 0; i < response.rows.length; i++) {
this.projectListShow.push({text: response.rows[i].projectName, value: response.rows[i].id});
}
});
this.getDicts("project_fund_type").then((response) => {
for (var i = 0; i < response.data.length; i++) {
this.projectFundTypeOptions.push({text: response.data[i].dictLabel, value: response.data[i].dictValue});
}
this.projectFundTypeDictionaries = response.data;
});
this.getDictionaries();
this.getFileList();
},
methods: {
goFlow(){
window.location='approvalProcess?id='+this.$route.query.id;
},
getDictionaries(){
getTransfer(this.$route.query.id).then((response) => {
this.getDicts("capital_expenditure_type").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.capitalExpenditureTypeOptions.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
this.capitalExpenditureType = this.selectDictLabel(res.data, response.data.capitalExpenditureType);
});
if(response.data.capitalExpenditureType==2){
this.capitalExpenditureOpen = true
let param={
'outId' : response.data.id,
'ynType' : '1'
}
getProjectto(param).then(res => {
this.projectFundType = this.selectDictLabel(this.projectFundTypeDictionaries, res.data.projectFundType);
this.projectForm = res.data
})
}else{
this.showproject = false
}
this.form = response.data;
});
queryTransferDetail(this.$route.query.id).then((response) => {
this.getDicts("bank_type").then(res => {
for (var i = 0; i < res.data.length; i++) {
this.bankTypeDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
for (var j = 0 ; j < response.rows.length ; j++){
response.rows[j].bankTypeText = this.selectDictLabel(res.data, response.rows[j].bankType);
}
this.chargeItme = response.rows;
});
this.getPayeeList();
});
},
addChargeItme(index){
this.chargeItme.splice(index + 1, 0, {
payeeId: "", //收款方ID
payee: "", //收款方
payeeAccount: "", //收款账户
bankDeposit: "", //开户银行
incomeAmount: "", //收入金额
bankType: "", //所属银行
});
},
getPayeeList() {
//普通转账
this.queryParams.accountType = this.form.accountType
this.queryParams.status = "0"
listPayee(this.queryParams).then((response) => {
for (var i = 0; i < response.rows.length; i++) {
this.payeeList.push({text: response.rows[i].payee, value: response.rows[i].id});
}
});
},
payeeDictLabel(datas, value) {
var actions = [];
Object.keys(datas).some((key) => {
if (datas[key].payeeId == ('' + value)) {
actions.push(datas[key].payee);
return true;
}
})
return actions.join('');
},
onConfirmCapital(data){
console.log(data)
if (data.value != 2){
this.capitalExpenditureOpen = false;
this.projectForm = [];
}else{
this.capitalExpenditureOpen = true;
}
this.capitalExpenditureType = data.text;
this.form.capitalExpenditureType = data.value;
this.showcapital = false;
},
onConfirmFundType(data){
console.log(data)
this.projectForm.projectFundType = data.value;
this.projectFundType = data.text;
this.showFundType = false;
},
onConfirmProject(data){
console.log(data)
this.projectList.map(res => {
console.log(res)
if(res.projectName==data.text){
this.projectForm.projectId = res.id
this.projectForm.projectName = res.projectName
this.projectForm.projectContractor = res.projectContractor
this.projectForm.projectAmount = res.projectAmount
console.log(this.projectForm)
}
})
this.showproject = false;
},
onConfirmPayee(data){
// this.chargeItme[this.chargeItme.length-1].payeeText = data.text;
this.chargeItme[this.chargeItme.length-1].payee = data.text;
this.chargeItme[this.chargeItme.length-1].payeeId = data.value;
console.log(this.chargeItme)
this.showpayee = false;
},
onConfirmBankType(data){
console.log(this.chargeItme)
this.chargeItme[this.chargeItme.length-1].bankTypeText = data.text;
this.chargeItme[this.chargeItme.length-1].bankType = data.value;
this.showbankType = false;
},
onConfirmLasj(data){
this.form.applyDate = this.getNowFormatDate(data).substr(0,10);
this.showlasj = false;
},
accountTypeChange(e){
console.log(e)
this.payeeList = [];
this.queryParams.accountType = this.form.accountType
this.queryParams.status = "0"
listPayee(this.queryParams).then((response) => {
for (var i = 0; i < response.rows.length; i++) {
this.payeeList.push({text: response.rows[i].payee, value: response.rows[i].id});
}
});
},
goAdd(){
if(this.form.remark != null && this.form.remark.indexOf("|")!=-1){
this.$toast.error("付款事由禁止包含|。");
return;
}
if(this.form.capitalExpenditureType==2){
if(this.projectForm.projectName==""||this.projectForm.projectName==null){
this.$toast.error('请选择项目名称!');
return;
}
if(this.projectForm.projectBillNum==""||this.projectForm.projectBillNum==null){
this.$toast.error('请输入工程发票号!');
return;
}
}
this.$set(this.form, "payeeList", this.chargeItme);
this.$set(this.form, "bankTypeList", this.chargeItme);
this.$set(this.form, "accountTypeList", this.chargeItme);
this.$set(this.form, "transferStatusList", this.chargeItme);
updateTransfer(this.form).then(response => {
this.projectForm.outId = this.form.id
this.$set(this.projectForm, "ynType", '1');
if(this.form.capitalExpenditureType==2){
addProjectto(this.projectForm).then(res => {
customSubmit(this.form.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
})
}else{
customSubmit(this.form.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
}
});
},
goUpdate(){
if(this.form.remark != null && this.form.remark.indexOf("|")!=-1){
this.$toast.error("付款事由禁止包含|。");
return;
}
if(this.form.capitalExpenditureType==2){
if(this.projectForm.projectName==""||this.projectForm.projectName==null){
this.$toast.error('请选择项目名称!');
return;
}
if(this.projectForm.projectBillNum==""||this.projectForm.projectBillNum==null){
this.$toast.error('请输入工程发票号!');
return;
}
}
this.$set(this.form, "payeeList", this.chargeItme);
this.$set(this.form, "bankTypeList", this.chargeItme);
this.$set(this.form, "accountTypeList", this.chargeItme);
this.$set(this.form, "transferStatusList", this.chargeItme);
this.projectForm.outId = this.form.id
updateTransfer(this.form).then((response) => {
this.projectForm.outId = this.form.id
this.$set(this.projectForm, "ynType", '1');
if(this.form.capitalExpenditureType==2){
addProjectto(this.projectForm).then(res => {
this.$toast.success('修改成功');
setTimeout(function(){
history.go(-1)
},2000)
})
}else{
this.$toast.success('修改成功');
setTimeout(function(){
history.go(-1)
},2000)
}
});
},
beforeRead(file) {
this.uploadFiles.push(file.file);
},
deleteFile(file){
this.uploadFiles.map((response,index) => {
if(file.file == response){
this.uploadFiles.splice(index,1)
}
})
},
getFileList(){
let oData= {
tableId: this.$route.query.id,
tableName: "t_yinnong_transfer",
bizPath: "upload",
fileType: "0",
}
attachmentList(oData).then(res => {
console.log(res)
console.log(location.protocol+"//"+location.host+request.defaults.baseURL)
res.rows.map(r => {
let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL
this.fileList.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{})})
console.log(r)
})
})
},
goBack(){
window.history.go(-1)
},
//删除家庭成员
deleteChargeItme(index){
this.chargeItme.splice(index,1)
},
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;
}

.addFamily{
position: absolute;
top: -2px;
right: 0;
border-radius: 50%;
}
.deleteFamily{
position: absolute;
top: 0rem;
right: 6%;
z-index: 9;
border-radius: 50%;
}
</style>

+ 178
- 0
src/views/yinnong/bankAgriculture/paymentApproval/approvalList.vue Ver ficheiro

@@ -0,0 +1,178 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
@click-right="goAdd()"
>
<template #title>
<p style="font-weight: bold;">村户转账申请列表</p>
</template>
<template #right>
<van-icon name="add" size="18"/>
</template>
</van-nav-bar>

<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList">
<van-swipe-cell v-for="(item,index) in applicationList" :key="index">
<van-cell :title="item.payer" center :to="{name:'approvalDetail', query: {id:item.id}}">
<template #icon>
<van-icon name="../../../../../static/images/onlineHome/icon_yn1.png" size="30" color="#FF4646" style="margin-right: 10px;" />
</template>
<template #label>
<p><span><i>¥</i>{{item.expenditureAmount}}</span><i style="margin-right: 30px;"></i>{{item.applyDate}}</p>
</template>
<template #default>
<p style="width: 80px;display: inline-block">{{item.auditStatus}}</p>
</template>
</van-cell>
<template #right>
<van-row>
<van-col>
<van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" square text="修改" type="info" :to="{name:'approvalModify', query: {id:item.id}}" class="delete-button" />
</van-col>
<van-col>
<van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" color="#FFA63E" square text="提交" type="info" @click="onSubmit(item.id)" class="delete-button" />
</van-col>
<van-col>
<van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" square text="删除" type="danger" @click="deleteList(item.id,index)" class="delete-button" />
</van-col>
</van-row>
</template>
</van-swipe-cell>
</van-list>
</div>
</template>

<script>
import { listTransfer , customSubmit , delTransfer } from "@/api/onlineHome/bankAgriculture/paymentApproval";
export default {
name: "approvalList",
data() {
return {
applicationList:[],
auditStatusOptions:[],
loading: false,
finished: false,
queryParams:{
pageNum:1,
pageSize:10,
transferType:"1",
}
};
},
created() {
this.getDicts("audit_status").then((response) => {
this.auditStatusOptions = response.data;
});
},
methods: {
goAdd(){
window.location = 'approvalAdd';
},
getList(){
setTimeout(() => {
listTransfer(this.queryParams).then(response => {
console.log(response)
for (var i = 0; i < response.rows.length; i++) {
response.rows[i].auditStatus = this.selectDictLabel(this.auditStatusOptions, response.rows[i].auditStatus);
this.applicationList.push(response.rows[i]);
}
console.log(this.applicationList.length >= response.total)
if(this.applicationList.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.queryParams.pageNum += 1 ;
}
});
}, 1000);
},
deleteList(id,index){
this.$dialog.confirm({
message: '您确认删除草稿?',
})
.then(() => {
// on confirm
this.applicationList.splice(index,1)
delTransfer(id).then(res => {
if(res.code = 200){
this.$toast.success('删除成功');
}
});
})
.catch(() => {
// on cancel
});
},
onSubmit(id){
this.$dialog.confirm({
message: '您确认提交草稿?',
})
.then(() => {
customSubmit(id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(0)
},2000)
})
})
.catch(() => {
// on cancel
});
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 0.2rem 3%;
}
/deep/.van-cell__title{
flex: 0.7;
}
/deep/.van-cell__title span{
font-family: Arial;
font-size: 0.4rem;
font-weight: normal;

}
/deep/.van-cell__label span{
color: #1D6FE9;
font-weight: bold;
i{
font-size: 0.2rem;
}
}
/deep/.van-cell__value{
flex: 0.3;
color: #1D6FE9;
font-weight: bold;
}
/deep/.van-swipe-cell{
margin-bottom: 0.2rem;
border-radius: 0.2rem;
overflow: hidden;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
}
/deep/van-ellipsis{
font-weight: bold;
}
.van-row{
height: 100%;
}
.van-col{
height: 100%;
}
.delete-button {
height: 100%;
}
</style>

+ 178
- 0
src/views/yinnong/bankAgriculture/paymentApproval/approvalList10.vue Ver ficheiro

@@ -0,0 +1,178 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
@click-right="goAdd()"
>
<template #title>
<p style="font-weight: bold;">现金提现申请列表</p>
</template>
<template #right>
<van-icon name="add" size="18"/>
</template>
</van-nav-bar>

<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<van-swipe-cell v-for="(item,index) in applicationList" :key="index">
<van-cell :title="item.payer" :value="item.auditStatus" center :to="{name:'approvalDetail10', query: {id:item.id}}">
<template #icon>
<van-icon name="../../../../../static/images/onlineHome/icon_yn6.png" size="30" color="#539FFD" style="margin-right: 10px;" />
</template>
<template #label>
<p><span><i>¥</i>{{item.expenditureAmount}}</span><i style="margin-right: 1rem;"></i>{{item.applyDate}}</p>
</template>
</van-cell>
<template #right>
<van-row>
<van-col>
<van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" square text="修改" type="info" :to="{name:'approvalModify10', query: {id:item.id}}" class="delete-button" />
</van-col>
<van-col>
<van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" color="#FFA63E" square text="提交" type="info" @click="onSubmit(item.id)" class="delete-button" />
</van-col>
<van-col>
<van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" square text="删除" type="danger" @click="deleteList(item.id,index)" class="delete-button" />
</van-col>
</van-row>
</template>
</van-swipe-cell>
</van-list>
</div>
</template>

<script>
import { listTransfer , customSubmit , delTransfer } from "@/api/onlineHome/bankAgriculture/paymentApproval";
import {cashSubmit, delCash, listCash} from "../../../../api/onlineHome/bankAgriculture/paymentApproval";
export default {
name: "approvalList10",
data() {
return {
applicationList:[],
auditStatusOptions:[],
loading: false,
finished: false,
queryParams:{
pageNum:1,
pageSize:10,
transferType: '10',
}
};
},
created() {
this.getDicts("audit_status").then((response) => {
this.auditStatusOptions = response.data;
});
},
methods: {
goAdd(){
window.location = 'approvalAdd10';
},
getList(){
setTimeout(() => {
listCash(this.queryParams).then(response => {
console.log(response)
for (var i = 0; i < response.rows.length; i++) {
response.rows[i].auditStatus = this.selectDictLabel(this.auditStatusOptions, response.rows[i].auditStatus);
this.applicationList.push(response.rows[i]);
}
console.log(this.applicationList.length >= response.total)
if(this.applicationList.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.queryParams.pageNum += 1 ;
}
});
}, 1000);
},
deleteList(id,index){
this.$dialog.confirm({
message: '您确认删除草稿?',
})
.then(() => {
// on confirm
this.applicationList.splice(index,1)
delCash(id).then(res => {
if(res.code = 200){
this.$toast.success('删除成功');
}
});
})
.catch(() => {
// on cancel
});
},
onSubmit(id){
this.$dialog.confirm({
message: '您确认提交草稿?',
})
.then(() => {
console.log(id)
cashSubmit(id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(0)
},2000)
})
})
.catch(() => {
// on cancel
});
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 0.2rem 3%;
}
/deep/.van-cell__title{
flex: 0.7;
}
/deep/.van-cell__title span{
font-family: Arial;
font-size: 0.4rem;
font-weight: normal;

}
/deep/.van-cell__label span{
color: #1D6FE9;
font-weight: bold;
i{
font-size: 0.2rem;
}
}
/deep/.van-cell__value{
flex: 0.3;
color: #1D6FE9;
font-weight: bold;
}
/deep/.van-swipe-cell{
margin-bottom: 0.2rem;
border-radius: 0.2rem;
overflow: hidden;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
}
/deep/van-ellipsis{
font-weight: bold;
}
.van-row{
height: 100%;
}
.van-col{
height: 100%;
}
.delete-button {
height: 100%;
}
</style>

+ 177
- 0
src/views/yinnong/bankAgriculture/paymentApproval/approvalList11.vue Ver ficheiro

@@ -0,0 +1,177 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
@click-right="goAdd()"
>
<template #title>
<p style="font-weight: bold;">现金使用申请列表</p>
</template>
<template #right>
<van-icon name="add" size="18"/>
</template>
</van-nav-bar>

<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<van-swipe-cell v-for="(item,index) in applicationList" :key="index">
<van-cell :title="item.payer" :value="item.auditStatus" center :to="{name:'approvalDetail11', query: {id:item.id}}">
<template #icon>
<van-icon name="../../../../../static/images/onlineHome/icon_yn7.png" size="30" color="#539FFD" style="margin-right: 10px;" />
</template>
<template #label>
<p><span><i>¥</i>{{item.expenditureAmount}}</span><i style="margin-right: 1rem;"></i>{{item.applyDate}}</p>
</template>
</van-cell>
<template #right>
<van-row>
<van-col>
<van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" square text="修改" type="info" :to="{name:'approvalModify11', query: {id:item.id}}" class="delete-button" />
</van-col>
<van-col>
<van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" color="#FFA63E" square text="提交" type="info" @click="onSubmit(item.id)" class="delete-button" />
</van-col>
<van-col>
<van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" square text="删除" type="danger" @click="deleteList(item.id,index)" class="delete-button" />
</van-col>
</van-row>
</template>
</van-swipe-cell>
</van-list>
</div>
</template>

<script>
import { listTransfer , customSubmit , delTransfer } from "@/api/onlineHome/bankAgriculture/paymentApproval";
import {cashSubmit, delCash, listCash} from "../../../../api/onlineHome/bankAgriculture/paymentApproval";
export default {
name: "approvalList11",
data() {
return {
applicationList:[],
auditStatusOptions:[],
loading: false,
finished: false,
queryParams:{
pageNum:1,
pageSize:10,
transferType: '11',
}
};
},
created() {
this.getDicts("audit_status").then((response) => {
this.auditStatusOptions = response.data;
});
},
methods: {
goAdd(){
window.location = 'approvalAdd11';
},
getList(){
setTimeout(() => {
listCash(this.queryParams).then(response => {
console.log(response)
for (var i = 0; i < response.rows.length; i++) {
response.rows[i].auditStatus = this.selectDictLabel(this.auditStatusOptions, response.rows[i].auditStatus);
this.applicationList.push(response.rows[i]);
}
console.log(this.applicationList.length >= response.total)
if(this.applicationList.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.queryParams.pageNum += 1 ;
}
});
}, 1000);
},
deleteList(id,index){
this.$dialog.confirm({
message: '您确认删除草稿?',
})
.then(() => {
// on confirm
this.applicationList.splice(index,1)
delCash(id).then(res => {
if(res.code = 200){
this.$toast.success('删除成功');
}
});
})
.catch(() => {
// on cancel
});
},
onSubmit(id){
this.$dialog.confirm({
message: '您确认提交草稿?',
})
.then(() => {
cashSubmit(id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(0)
},2000)
})
})
.catch(() => {
// on cancel
});
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 0.2rem 3%;
}
/deep/.van-cell__title{
flex: 0.7;
}
/deep/.van-cell__title span{
font-family: Arial;
font-size: 0.4rem;
font-weight: normal;

}
/deep/.van-cell__label span{
color: #1D6FE9;
font-weight: bold;
i{
font-size: 0.2rem;
}
}
/deep/.van-cell__value{
flex: 0.3;
color: #1D6FE9;
font-weight: bold;
}
/deep/.van-swipe-cell{
margin-bottom: 0.2rem;
border-radius: 0.2rem;
overflow: hidden;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
}
/deep/van-ellipsis{
font-weight: bold;
}
.van-row{
height: 100%;
}
.van-col{
height: 100%;
}
.delete-button {
height: 100%;
}
</style>

+ 177
- 0
src/views/yinnong/bankAgriculture/paymentApproval/approvalList12.vue Ver ficheiro

@@ -0,0 +1,177 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
@click-right="goAdd()"
>
<template #title>
<p style="font-weight: bold;">汇票支出申请列表</p>
</template>
<template #right>
<van-icon name="add" size="18"/>
</template>
</van-nav-bar>

<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<van-swipe-cell v-for="(item,index) in applicationList" :key="index">
<van-cell :title="item.payer" :value="item.auditStatus" center :to="{name:'approvalDetail12', query: {id:item.id}}">
<template #icon>
<van-icon name="../../../../../static/images/onlineHome/icon_yn8.png" size="30" color="#539FFD" style="margin-right: 10px;" />
</template>
<template #label>
<p><span><i>¥</i>{{item.expenditureAmount}}</span><i style="margin-right: 1rem;"></i>{{item.applyDate}}</p>
</template>
</van-cell>
<template #right>
<van-row>
<van-col>
<van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" square text="修改" type="info" :to="{name:'approvalModify12', query: {id:item.id}}" class="delete-button" />
</van-col>
<van-col>
<van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" color="#FFA63E" square text="提交" type="info" @click="onSubmit(item.id)" class="delete-button" />
</van-col>
<van-col>
<van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" square text="删除" type="danger" @click="deleteList(item.id,index)" class="delete-button" />
</van-col>
</van-row>
</template>
</van-swipe-cell>
</van-list>
</div>
</template>

<script>
import { listTransfer , customSubmit , delTransfer } from "@/api/onlineHome/bankAgriculture/paymentApproval";
import {cashSubmit, delCash, listCash} from "../../../../api/onlineHome/bankAgriculture/paymentApproval";
export default {
name: "approvalList12",
data() {
return {
applicationList:[],
auditStatusOptions:[],
loading: false,
finished: false,
queryParams:{
pageNum:1,
pageSize:100,
transferType: '12',
}
};
},
created() {
this.getDicts("audit_status").then((response) => {
this.auditStatusOptions = response.data;
});
},
methods: {
goAdd(){
window.location = 'approvalAdd12';
},
getList(){
setTimeout(() => {
listCash(this.queryParams).then(response => {
console.log(response)
for (var i = 0; i < response.rows.length; i++) {
response.rows[i].auditStatus = this.selectDictLabel(this.auditStatusOptions, response.rows[i].auditStatus);
this.applicationList.push(response.rows[i]);
}
console.log(this.applicationList.length >= response.total)
if(this.applicationList.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.queryParams.pageNum += 1 ;
}
});
}, 1000);
},
deleteList(id,index){
this.$dialog.confirm({
message: '您确认删除草稿?',
})
.then(() => {
// on confirm
this.applicationList.splice(index,1)
delCash33333333333333(id).then(res => {
if(res.code = 200){
this.$toast.success('删除成功');
}
});
})
.catch(() => {
// on cancel
});
},
onSubmit(id){
this.$dialog.confirm({
message: '您确认提交草稿?',
})
.then(() => {
cashSubmit(id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(0)
},2000)
})
})
.catch(() => {
// on cancel
});
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 0.2rem 3%;
}
/deep/.van-cell__title{
flex: 0.7;
}
/deep/.van-cell__title span{
font-family: Arial;
font-size: 0.4rem;
font-weight: normal;

}
/deep/.van-cell__label span{
color: #1D6FE9;
font-weight: bold;
i{
font-size: 0.2rem;
}
}
/deep/.van-cell__value{
flex: 0.3;
color: #1D6FE9;
font-weight: bold;
}
/deep/.van-swipe-cell{
margin-bottom: 0.2rem;
border-radius: 0.2rem;
overflow: hidden;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
}
/deep/van-ellipsis{
font-weight: bold;
}
.van-row{
height: 100%;
}
.van-col{
height: 100%;
}
.delete-button {
height: 100%;
}
</style>

+ 176
- 0
src/views/yinnong/bankAgriculture/paymentApproval/approvalList2.vue Ver ficheiro

@@ -0,0 +1,176 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
@click-right="goAdd()"
>
<template #title>
<p style="font-weight: bold;">公务卡转账申请列表</p>
</template>
<template #right>
<van-icon name="add" size="18"/>
</template>
</van-nav-bar>

<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<van-swipe-cell v-for="(item,index) in applicationList" :key="index">
<van-cell :title="item.payer" :value="item.auditStatus" center :to="{name:'approvalDetail2', query: {id:item.id}}">
<template #icon>
<van-icon name="../../../../../static/images/onlineHome/icon_yn2.png" size="30" color="#539FFD" style="margin-right: 10px;" />
</template>
<template #label>
<p><span><i>¥</i>{{item.expenditureAmount}}</span><i style="margin-right: 1rem;"></i>{{item.applyDate}}</p>
</template>
</van-cell>
<template #right>
<van-row>
<van-col>
<van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" square text="修改" type="info" :to="{name:'approvalModify2', query: {id:item.id}}" class="delete-button" />
</van-col>
<van-col>
<van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" color="#FFA63E" square text="提交" type="info" @click="onSubmit(item.id)" class="delete-button" />
</van-col>
<van-col>
<van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" square text="删除" type="danger" @click="deleteList(item.id,index)" class="delete-button" />
</van-col>
</van-row>
</template>
</van-swipe-cell>
</van-list>
</div>
</template>

<script>
import { listTransfer , customSubmit , delTransfer } from "@/api/onlineHome/bankAgriculture/paymentApproval";
export default {
name: "approvalList2",
data() {
return {
applicationList:[],
auditStatusOptions:[],
loading: false,
finished: false,
queryParams:{
pageNum:1,
pageSize:10,
transferType:"2",
}
};
},
created() {
this.getDicts("audit_status").then((response) => {
this.auditStatusOptions = response.data;
});
},
methods: {
goAdd(){
window.location = 'approvalAdd2';
},
getList(){
setTimeout(() => {
listTransfer(this.queryParams).then(response => {
console.log(response)
for (var i = 0; i < response.rows.length; i++) {
response.rows[i].auditStatus = this.selectDictLabel(this.auditStatusOptions, response.rows[i].auditStatus);
this.applicationList.push(response.rows[i]);
}
console.log(this.applicationList.length >= response.total)
if(this.applicationList.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.queryParams.pageNum += 1 ;
}
});
}, 1000);
},
deleteList(id,index){
this.$dialog.confirm({
message: '您确认删除草稿?',
})
.then(() => {
// on confirm
this.applicationList.splice(index,1)
delTransfer(id).then(res => {
if(res.code = 200){
this.$toast.success('删除成功');
}
});
})
.catch(() => {
// on cancel
});
},
onSubmit(id){
this.$dialog.confirm({
message: '您确认提交草稿?',
})
.then(() => {
customSubmit(id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(0)
},2000)
})
})
.catch(() => {
// on cancel
});
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 0.2rem 3%;
}
/deep/.van-cell__title{
flex: 0.7;
}
/deep/.van-cell__title span{
font-family: Arial;
font-size: 0.4rem;
font-weight: normal;

}
/deep/.van-cell__label span{
color: #1D6FE9;
font-weight: bold;
i{
font-size: 0.2rem;
}
}
/deep/.van-cell__value{
flex: 0.3;
color: #1D6FE9;
font-weight: bold;
}
/deep/.van-swipe-cell{
margin-bottom: 0.2rem;
border-radius: 0.2rem;
overflow: hidden;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
}
/deep/van-ellipsis{
font-weight: bold;
}
.van-row{
height: 100%;
}
.van-col{
height: 100%;
}
.delete-button {
height: 100%;
}
</style>

+ 176
- 0
src/views/yinnong/bankAgriculture/paymentApproval/approvalList3.vue Ver ficheiro

@@ -0,0 +1,176 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
@click-right="goAdd()"
>
<template #title>
<p style="font-weight: bold;">虚拟挂账申请列表</p>
</template>
<template #right>
<van-icon name="add" size="18"/>
</template>
</van-nav-bar>

<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<van-swipe-cell v-for="(item,index) in applicationList" :key="index">
<van-cell :title="item.payer" :value="item.auditStatus" center :to="{name:'approvalDetail3', query: {id:item.id}}">
<template #icon>
<van-icon name="../../../../../static/images/onlineHome/icon_yn3.png" size="30" color="#539FFD" style="margin-right: 10px;" />
</template>
<template #label>
<p><span><i>¥</i>{{item.expenditureAmount}}</span><i style="margin-right: 1rem;"></i>{{item.applyDate}}</p>
</template>
</van-cell>
<template #right>
<van-row>
<van-col>
<van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" square text="修改" type="info" :to="{name:'approvalModify3', query: {id:item.id}}" class="delete-button" />
</van-col>
<van-col>
<van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" color="#FFA63E" square text="提交" type="info" @click="onSubmit(item.id)" class="delete-button" />
</van-col>
<van-col>
<van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" square text="删除" type="danger" @click="deleteList(item.id,index)" class="delete-button" />
</van-col>
</van-row>
</template>
</van-swipe-cell>
</van-list>
</div>
</template>

<script>
import { listTransfer , customSubmit , delTransfer } from "@/api/onlineHome/bankAgriculture/paymentApproval";
export default {
name: "approvalList3",
data() {
return {
applicationList:[],
auditStatusOptions:[],
loading: false,
finished: false,
queryParams:{
pageNum:1,
pageSize:10,
transferType:"3",
}
};
},
created() {
this.getDicts("audit_status").then((response) => {
this.auditStatusOptions = response.data;
});
},
methods: {
goAdd(){
window.location = 'approvalAdd3';
},
getList(){
setTimeout(() => {
listTransfer(this.queryParams).then(response => {
console.log(response)
for (var i = 0; i < response.rows.length; i++) {
response.rows[i].auditStatus = this.selectDictLabel(this.auditStatusOptions, response.rows[i].auditStatus);
this.applicationList.push(response.rows[i]);
}
console.log(this.applicationList.length >= response.total)
if(this.applicationList.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.queryParams.pageNum += 1 ;
}
});
}, 1000);
},
deleteList(id,index){
this.$dialog.confirm({
message: '您确认删除草稿?',
})
.then(() => {
// on confirm
this.applicationList.splice(index,1)
delTransfer(id).then(res => {
if(res.code = 200){
this.$toast.success('删除成功');
}
});
})
.catch(() => {
// on cancel
});
},
onSubmit(id){
this.$dialog.confirm({
message: '您确认提交草稿?',
})
.then(() => {
customSubmit(id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(0)
},2000)
})
})
.catch(() => {
// on cancel
});
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 0.2rem 3%;
}
/deep/.van-cell__title{
flex: 0.7;
}
/deep/.van-cell__title span{
font-family: Arial;
font-size: 0.4rem;
font-weight: normal;

}
/deep/.van-cell__label span{
color: #1D6FE9;
font-weight: bold;
i{
font-size: 0.2rem;
}
}
/deep/.van-cell__value{
flex: 0.3;
color: #1D6FE9;
font-weight: bold;
}
/deep/.van-swipe-cell{
margin-bottom: 0.2rem;
border-radius: 0.2rem;
overflow: hidden;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
}
/deep/van-ellipsis{
font-weight: bold;
}
.van-row{
height: 100%;
}
.van-col{
height: 100%;
}
.delete-button {
height: 100%;
}
</style>

+ 176
- 0
src/views/yinnong/bankAgriculture/paymentApproval/approvalList4.vue Ver ficheiro

@@ -0,0 +1,176 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
@click-right="goAdd()"
>
<template #title>
<p style="font-weight: bold;">代管转账申请列表</p>
</template>
<template #right>
<van-icon name="add" size="18"/>
</template>
</van-nav-bar>

<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<van-swipe-cell v-for="(item,index) in applicationList" :key="index">
<van-cell :title="item.payer" :value="item.auditStatus" center :to="{name:'approvalDetail4', query: {id:item.id}}">
<template #icon>
<van-icon name="../../../../../static/images/onlineHome/icon_yn4.png" size="30" color="#539FFD" style="margin-right: 10px;" />
</template>
<template #label>
<p><span><i>¥</i>{{item.expenditureAmount}}</span><i style="margin-right: 1rem;"></i>{{item.applyDate}}</p>
</template>
</van-cell>
<template #right>
<van-row>
<van-col>
<van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" square text="修改" type="info" :to="{name:'approvalModify4', query: {id:item.id}}" class="delete-button" />
</van-col>
<van-col>
<van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" color="#FFA63E" square text="提交" type="info" @click="onSubmit(item.id)" class="delete-button" />
</van-col>
<van-col>
<van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" square text="删除" type="danger" @click="deleteList(item.id,index)" class="delete-button" />
</van-col>
</van-row>
</template>
</van-swipe-cell>
</van-list>
</div>
</template>

<script>
import { listTransfer , customSubmit , delTransfer } from "@/api/onlineHome/bankAgriculture/paymentApproval";
export default {
name: "approvalList4",
data() {
return {
applicationList:[],
auditStatusOptions:[],
loading: false,
finished: false,
queryParams:{
pageNum:1,
pageSize:10,
transferType:"4",
}
};
},
created() {
this.getDicts("audit_status").then((response) => {
this.auditStatusOptions = response.data;
});
},
methods: {
goAdd(){
window.location = 'approvalAdd4';
},
getList(){
setTimeout(() => {
listTransfer(this.queryParams).then(response => {
console.log(response)
for (var i = 0; i < response.rows.length; i++) {
response.rows[i].auditStatus = this.selectDictLabel(this.auditStatusOptions, response.rows[i].auditStatus);
this.applicationList.push(response.rows[i]);
}
console.log(this.applicationList.length >= response.total)
if(this.applicationList.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.queryParams.pageNum += 1 ;
}
});
}, 1000);
},
deleteList(id,index){
this.$dialog.confirm({
message: '您确认删除草稿?',
})
.then(() => {
// on confirm
this.applicationList.splice(index,1)
delTransfer(id).then(res => {
if(res.code = 200){
this.$toast.success('删除成功');
}
});
})
.catch(() => {
// on cancel
});
},
onSubmit(id){
this.$dialog.confirm({
message: '您确认提交草稿?',
})
.then(() => {
customSubmit(id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(0)
},2000)
})
})
.catch(() => {
// on cancel
});
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 0.2rem 3%;
}
/deep/.van-cell__title{
flex: 0.7;
}
/deep/.van-cell__title span{
font-family: Arial;
font-size: 0.4rem;
font-weight: normal;

}
/deep/.van-cell__label span{
color: #1D6FE9;
font-weight: bold;
i{
font-size: 0.2rem;
}
}
/deep/.van-cell__value{
flex: 0.3;
color: #1D6FE9;
font-weight: bold;
}
/deep/.van-swipe-cell{
margin-bottom: 0.2rem;
border-radius: 0.2rem;
overflow: hidden;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
}
/deep/van-ellipsis{
font-weight: bold;
}
.van-row{
height: 100%;
}
.van-col{
height: 100%;
}
.delete-button {
height: 100%;
}
</style>

+ 176
- 0
src/views/yinnong/bankAgriculture/paymentApproval/approvalList5.vue Ver ficheiro

@@ -0,0 +1,176 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
@click-right="goAdd()"
>
<template #title>
<p style="font-weight: bold;">母子转账申请列表</p>
</template>
<template #right>
<van-icon name="add" size="18"/>
</template>
</van-nav-bar>

<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<van-swipe-cell v-for="(item,index) in applicationList" :key="index">
<van-cell :title="item.payer" :value="item.auditStatus" center :to="{name:'approvalDetail5', query: {id:item.id}}">
<template #icon>
<van-icon name="../../../../../static/images/onlineHome/icon_yn5.png" size="30" color="#539FFD" style="margin-right: 10px;" />
</template>
<template #label>
<p><span><i>¥</i>{{item.expenditureAmount}}</span><i style="margin-right: 1rem;"></i>{{item.applyDate}}</p>
</template>
</van-cell>
<template #right>
<van-row>
<van-col>
<van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" square text="修改" type="info" :to="{name:'approvalModify5', query: {id:item.id}}" class="delete-button" />
</van-col>
<van-col>
<van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" color="#FFA63E" square text="提交" type="info" @click="onSubmit(item.id)" class="delete-button" />
</van-col>
<van-col>
<van-button v-if="item.auditStatus=='草稿'||item.auditStatus=='驳回'" square text="删除" type="danger" @click="deleteList(item.id,index)" class="delete-button" />
</van-col>
</van-row>
</template>
</van-swipe-cell>
</van-list>
</div>
</template>

<script>
import { listTransfer , customSubmit , delTransfer } from "@/api/onlineHome/bankAgriculture/paymentApproval";
export default {
name: "approvalList5",
data() {
return {
applicationList:[],
auditStatusOptions:[],
loading: false,
finished: false,
queryParams:{
pageNum:1,
pageSize:10,
transferType:"5",
}
};
},
created() {
this.getDicts("audit_status").then((response) => {
this.auditStatusOptions = response.data;
});
},
methods: {
goAdd(){
window.location = 'approvalAdd5';
},
getList(){
setTimeout(() => {
listTransfer(this.queryParams).then(response => {
console.log(response)
for (var i = 0; i < response.rows.length; i++) {
response.rows[i].auditStatus = this.selectDictLabel(this.auditStatusOptions, response.rows[i].auditStatus);
this.applicationList.push(response.rows[i]);
}
console.log(this.applicationList.length >= response.total)
if(this.applicationList.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.queryParams.pageNum += 1 ;
}
});
}, 1000);
},
deleteList(id,index){
this.$dialog.confirm({
message: '您确认删除草稿?',
})
.then(() => {
// on confirm
this.applicationList.splice(index,1)
delTransfer(id).then(res => {
if(res.code = 200){
this.$toast.success('删除成功');
}
});
})
.catch(() => {
// on cancel
});
},
onSubmit(id){
this.$dialog.confirm({
message: '您确认提交草稿?',
})
.then(() => {
customSubmit(id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(0)
},2000)
})
})
.catch(() => {
// on cancel
});
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 0.2rem 3%;
}
/deep/.van-cell__title{
flex: 0.7;
}
/deep/.van-cell__title span{
font-family: Arial;
font-size: 0.4rem;
font-weight: normal;

}
/deep/.van-cell__label span{
color: #1D6FE9;
font-weight: bold;
i{
font-size: 0.2rem;
}
}
/deep/.van-cell__value{
flex: 0.3;
color: #1D6FE9;
font-weight: bold;
}
/deep/.van-swipe-cell{
margin-bottom: 0.2rem;
border-radius: 0.2rem;
overflow: hidden;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
}
/deep/van-ellipsis{
font-weight: bold;
}
.van-row{
height: 100%;
}
.van-col{
height: 100%;
}
.delete-button {
height: 100%;
}
</style>

+ 1133
- 0
src/views/yinnong/bankAgriculture/paymentApproval/approvalModify.vue
A apresentação das diferenças no ficheiro foi suprimida por ser demasiado grande
Ver ficheiro


+ 985
- 0
src/views/yinnong/bankAgriculture/paymentApproval/approvalModify10.vue Ver ficheiro

@@ -0,0 +1,985 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">修改现金提现申请</p>
</template>
</van-nav-bar>
<van-form @submit="getChange" @failed="getError" :show-error-message="false" scroll-to-error validate-first>
<p class="main_title">基础信息</p>
<div class="main_box">
<van-field
readonly
clickable
required
:rules="[{ required: true , message:'请选择申请时间' }]"
v-model="form.applyDate"
label="申请时间"
placeholder="请选择申请时间"
@click="showlasj = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showlasj" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="date"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
@confirm="onConfirmLasj"
@cancel="showlasj = false"
/>
</van-popup>
<van-field
readonly
clickable
required
:rules="[{ required: true , message:'请选择资金支出类别' }]"
label="资金支出类别"
placeholder="请选择"
v-model="capitalExpenditureType"
@click="showcapital = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showcapital" position="bottom">
<van-picker
show-toolbar
:columns="capitalExpenditureTypeOptions"
@confirm="onConfirmCapital"
@cancel="showcapital = false"
/>
</van-popup>
<van-field
readonly
required
label="支出总金额"
v-model="form.expenditureAmount"
placeholder="根据下方收款金额自动核算"
input-align="right"
label-width="auto"
/>
<van-field name="radio" label="审批模式" input-align="right" autocomplete="off" required
:rules="[{ required: true , message:'请选择审批模式' }]">
<template #input>
<van-radio-group v-model="form.approvalMode" direction="horizontal">
<van-radio name="1">线上支付</van-radio>
<van-radio name="2">线下支付</van-radio>
</van-radio-group>
</template>
</van-field>
</div>

<div class="main_box" style="margin-top: 10px;">
<van-field
label="付款事由"
v-model="form.remark"
type="textarea"
placeholder="请输入付款事由"
input-align="right"
rows="3"
label-width="auto"
required
:rules="[{ required: true , message:'请输入付款事由' }]"
/>
</div>

<div class="main_box" style="margin-top: 10px;">
<van-field label="说明情况" v-model="form.explainSituation" type="textarea" placeholder="请输入说明情况" input-align="right" rows="3" label-width="auto"/>
</div>

<p class="main_title" v-if="capitalExpenditureOpen">关联项目</p>
<div class="main_box" v-if="capitalExpenditureOpen" style="margin-bottom: 10px;margin-top: 10px;position:relative;">
<van-field
readonly
clickable
label="项目名称"
placeholder="请选择"
v-model="projectForm.projectName"
@click="showproject = true"
input-align="right"
right-icon="arrow-down"
required
:rules="[{ required: true , message:'请选择项目名称' }]"
/>
<van-popup v-model="showproject" position="bottom">
<van-picker
show-toolbar
:columns="projectListShow"
@confirm="onConfirmProject"
@cancel="showproject = false"
/>
</van-popup>
<van-field required :rules="[{ required: true , message:'请输入承建单位' }]" v-model="projectForm.projectContractor" label="承建单位" placeholder="请输入承建单位" input-align="right" label-width="auto"/>
<van-field required :rules="[{ required: true , message:'请输入合同价款(元)' }]" v-model="projectForm.projectAmount" label="合同价款(元)" placeholder="请输入合同价款(元)" input-align="right" label-width="auto"/>
<van-field
readonly
clickable
label="工程款类型"
placeholder="请选择"
v-model="projectFundType"
@click="showFundType = true"
input-align="right"
right-icon="arrow-down"
required
:rules="[{ required: true , message:'请选择工程款类型' }]"
/>
<van-popup v-model="showFundType" position="bottom">
<van-picker
show-toolbar
:columns="projectFundTypeOptions"
@confirm="onConfirmFundType"
@cancel="showFundType = false"
/>
</van-popup>
<van-field required :rules="[{ required: true , message:'请输入工程发票号' }]" v-model="projectForm.projectBillNum" label="工程发票号" placeholder="请输入工程发票号" input-align="right" label-width="auto"/>
</div>
<p class="main_title" v-if="contractOpen">关联合同</p>
<div class="main_box" v-if="contractOpen" style="margin-bottom: 10px;margin-top: 10px;position:relative;">
<van-field
readonly
clickable
label="合同"
placeholder="请选择"
v-model="infoForm.name"
@click="showcontract = true"
input-align="right"
right-icon="arrow-down"
required
:rules="[{ required: true , message:'请选择项目名称' }]"
/>
<van-popup v-model="showcontract" position="bottom">
<van-picker
show-toolbar
:columns="infoList"
@confirm="onConfirmContract"
@cancel="showcontract = false"
/>
</van-popup>
<van-field required :rules="[{ required: true , message:'请输入合同编码' }]" v-model="infoForm.code" label="合同编码" placeholder="请输入合同编码" input-align="right" label-width="auto"/>
<van-field required :rules="[{ required: true , message:'请输入合同价款' }]" v-model="infoForm.totalAmount" label="合同价款(元)" placeholder="请输入合同价款(元)" input-align="right" label-width="auto"/>
</div>
<p class="main_title">付款方信息</p>
<div class="main_box">
<!-- <van-field label="付款方" v-model="form.payer" placeholder="请输入付款方" input-align="right" label-width="auto"/>-->
<van-field
readonly
clickable
label="付款方"
placeholder="请选择付款方"
v-model="form.payer"
@click="showpayer = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
required
:rules="[{ required: true , message:'请选择付款方' }]"
/>
<van-popup v-model="showpayer" position="bottom">
<van-picker
show-toolbar
:columns="payerOptions"
@confirm="onConfirmPayer($event)"
@cancel="showpayer = false"
/>
</van-popup>
<van-field :rules="[{ required: true , message:'请输入账户' }]" required label="付款方账户" v-model="form.payerAccount" placeholder="请输入账户" input-align="right" label-width="auto"/>
</div>

<p class="main_title">收款方信息<van-button icon="plus" @click="addChargeItme(chargeItme.length)" size="mini" type="info" native-type="button" class="addFamily"/></p>

<div :style="{position:'relative',padding: index == 0 ? '':'10px 0 0 0'}" v-for="(item, index) in chargeItme" :key="index">
<van-button icon="minus" size="mini" type="danger" class="deleteFamily" native-type="button" v-if="index!=0" @click="deleteChargeItme(index)" />
<div class="main_box" style="margin-bottom: 10px;position:relative;">
<van-field required :rules="[{ required: true , message:'请输入收款方全称' }]" v-model="item.payee" label="收款方" placeholder="请输入收款方全称" input-align="right" label-width="auto"/>
<van-field required :rules="[{ required: true , message:'请输入提款人' }]" v-model="item.drawer" label="提款人" placeholder="请输入提款人" input-align="right" label-width="auto"/>
<van-field required :rules="[{ required: true , message:'请输入提款金额' }]" v-model="item.incomeAmount" label="提款金额(元)" placeholder="请输入提款金额" input-align="right" label-width="auto" @change="moneyChange"/>
<van-field required :rules="[{ required: true , message:'请输入资金用途' }]" v-model="item.remark" label="资金用途" placeholder="请输入资金用途" input-align="right" label-width="auto" />
</div>
</div>
<p class="main_title">上传附件</p>
<div class="main_box" style="padding: 5px 0 0 8px;">
<van-uploader v-model="fileList" :after-read="beforeRead" @delete="deleteFile"></van-uploader>
</div>
<div style="padding: 16px 0;">
<van-row>
<van-col span="12" align="center">
<van-button type="info" native-type="submit" @click="buttonType='update'" class="submitButton">保<i style="margin-right: 1em;"></i>存</van-button>
</van-col>
<van-col span="12" align="center">
<van-button type="info" native-type="submit" @click="buttonType='add'" class="submitButton">保存并提交</van-button>
</van-col>
</van-row>
<div class="clear"></div>
</div>
</van-form>
</div>
</template>

<script>
import { getAccount , getTransfer , queryTransferDetail , listPayee , updateTransfer , getProjectto , listProject , addProjectto , customSubmit ,getQmyeFlow, listInfo ,getInfoto ,addInfoto} from "@/api/onlineHome/bankAgriculture/paymentApproval";
import request from '@/utils/request';
import {
addCash,
addCashdetail, attachmentList, cashSubmit, commonAttach,
getCash,
listCashdetailByCashId, systemAttachment, updateCash
} from "../../../../api/onlineHome/bankAgriculture/paymentApproval";
import Dialog from "vant/lib/dialog";
export default {
name: "approvalModify10",
data() {
return {
showcontract:false,
showcapital:false,
showpayee:false,
showlasj:false,
showbankType:false,
showproject:false,
showFundType:false,
showpayer:false,

minDate: new Date(2000, 1, 1),
maxDate: new Date(2050, 12, 31),
currentDate: new Date(),
form:{},

capitalExpenditureType:'',
payee:'',
bankType:'',

buttonType:'a',

wfydlxDictionaries:[],
jglxDictionaries:[],
sysDictionaries:[],
capitalExpenditureTypeOptions:[],
bankTypeDictionaries:[],
projectList:[],
infoList:[],
projectFundTypeOptions:[],
projectFundTypeDictionaries:[],
projectListShow:[],
payerOptions:[],

chargeItme:[],
chargeItmeShow:[],

payeeList:[],
// 查询参数
queryParams: {
transferType:10,
orderByColumn: "id",
isAsc: "desc",
},
capitalExpenditureOpen:false,
contractOpen:false,
projectForm:{
projectId:null,
projectName:null,
projectContractor:null,
projectAmount:null,
projectBillNum:null,
projectFundType:'10',
outId:null,
ynType:'2'
},
infoForm:{
infoId:null,
name:null,
code:null,
totalAmount:null,
contractionId:null,
transferId:null
},
// 合同信息查询参数
queryContractionParams: {
pageNum: 1,
pageSize: 100,
contractionStatus: '1',
orderByColumn: "endTime",
isAsc: "desc",
},
projectFundType:'',
fileList:[],
uploadFiles:[],
};
},
created() {
this.initProjectInfo();
this.getDicts("project_fund_type").then((response) => {
for (let i = 0; i < response.data.length; i++) {
this.projectFundTypeOptions.push({text: response.data[i].dictLabel, value: response.data[i].dictValue});
}
this.projectFundTypeDictionaries = response.data;
});
let params1={
accountType: "102",
status: "N",
}
getAccount(params1).then((response) => {
this.payerOptions = response.rows;
response.rows.map((res,index) => {
res['payerFrom'] = '1'
console.log(res)
this.payerOptions[index].text = res.accountName;
this.payerOptions[index].value = res.id;
})
});
this.getDictionaries();
this.getFileList();
},
methods: {
initProjectInfo(){
let _this = this
let queryParams={
pageNum: 1,
pageSize: 100,
}
listProject(queryParams).then(response => {
_this.projectList = response.rows;
console.log(response)
for (let i = 0; i < response.rows.length; i++) {
//_this.projectList[i].set({text: response.rows[i].projectName, value: response.rows[i].id});
_this.$set(_this.projectList[i],"text",response.rows[i].projectName)
_this.$set(_this.projectList[i],"value",response.rows[i].id)
}
});
listInfo(this.queryContractionParams).then(response => {
console.log(response)
_this.infoList = response.rows;
for (let i = 0; i < response.rows.length; i++) {
//_this.infoList[i].push({text: response.rows[i].name, value: response.rows[i].code});
_this.$set(_this.infoList[i],"text",response.rows[i].name)
_this.$set(_this.infoList[i],"value",response.rows[i].code)
}
});
},
getDictionaries(){
getCash(this.$route.query.id).then((response) => {
this.getDicts("capital_expenditure_type").then((res) => {
for (let i = 0; i < res.data.length; i++) {
this.capitalExpenditureTypeOptions.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
this.capitalExpenditureType = this.selectDictLabel(res.data, response.data.capitalExpenditureType);
});
if(response.data.capitalExpenditureType==2){
this.capitalExpenditureOpen = true
let param={
'outId' : response.data.id,
'ynType' : '2'
}
getProjectto(param).then(res => {
this.projectFundType = this.selectDictLabel(this.projectFundTypeDictionaries, res.data.projectFundType);
this.projectForm = res.data
})
}else if(response.data.capitalExpenditureType==4){
this.contractOpen = true
let param={
'transferId' : response.data.id
}
console.log(param)
getInfoto(param).then(res => {

this.infoForm = res.data
})
}else{
this.showproject = false
}
this.form = response.data;
console.log(this.form)
});
listCashdetailByCashId(this.$route.query.id).then((response) => {
this.chargeItme = response.data;
});
},
getChange(){
if(this.buttonType == 'update'){
this.goUpdate();
}else if(this.buttonType == 'add'){
this.goAdd();
}
},
getError(e){
console.log(e)
this.$notify({ type: 'danger', message: e.errors[0].message });
},
addChargeItme(index){
if(this.chargeItme.length>0&&this.chargeItme[this.chargeItme.length-1].payee == ''){
this.$notify({ type: 'danger', message: '请勿添加多个空列表信息' });
return;
}else if(this.chargeItme.length>0&&this.chargeItme[index-1].incomeAmount == ''){
this.$notify({ type: 'danger', message: '请输入提款金额!' });
return;
}else if(this.chargeItme.length>0&&this.chargeItme[index-1].drawer == ''){
this.$notify({ type: 'danger', message: '请输入提款人!' });
return;
}else if(this.chargeItme.length>0&&this.chargeItme[index-1].remark == ''){
this.$notify({ type: 'danger', message: '请输入资金用途!' });
return;
}
this.getDicts("bank_type").then(res => {
this.chargeItme.splice(index + 1, 0, {
payeeId: "", //收款方ID
payee: "", //收款方全称
payeeAccount: "", //收款账户
drawer: "", //提款人
incomeAmount: "", //提款金额
bankType: "", //资金用途
showPayee:false,
showbankType:false
});
});
},
getPayeeList() {
//普通转账
this.queryParams.accountType = this.form.accountType
this.queryParams.status = "0"
listPayee(this.queryParams).then((response) => {
this.payeeList = response.rows;
response.rows.map((res,index) => {
this.payeeList[index].text = res.payee;
this.payeeList[index].value = res.id;
})
});
},
payeeDictLabel(datas, value) {
var actions = [];
Object.keys(datas).some((key) => {
if (datas[key].payeeId == ('' + value)) {
actions.push(datas[key].payee);
return true;
}
})
return actions.join('');
},
onConfirmCapital(data){
if (data.value == 2){
this.capitalExpenditureOpen = true;
this.contractOpen = false
this.infoForm = {};
}else if(data.value == 4){
this.capitalExpenditureOpen = false;
this.contractOpen = true
this.projectForm = {};
}else{
this.capitalExpenditureOpen = false;
this.contractOpen = false
this.projectForm = {};
this.infoForm = {};
}
this.capitalExpenditureType = data.text;
this.form.capitalExpenditureType = data.value;
this.showcapital = false;
},
onConfirmFundType(data){
console.log(data)
this.projectForm.projectFundType = data.value;
this.projectFundType = data.text;
this.showFundType = false;
},
onConfirmContract(data){
this.infoList.map(res => {
if(res.name==data.text){
this.infoForm.contractionId = res.id;
this.infoForm.name = res.name;
this.infoForm.code = res.code;
this.infoForm.totalAmount = res.totalAmount;
}
})
this.showcontract = false;
},
onConfirmProject(data){
this.projectList.map(res => {
if(res.projectName==data.text){
this.projectForm.projectId = res.id
this.projectForm.projectName = res.projectName
this.projectForm.projectContractor = res.projectContractor
this.projectForm.projectAmount = res.projectAmount
}
})
this.showproject = false;
},
onConfirmPayee(data,index){
console.log(data)
for (var i = 0 ; i < this.chargeItme.length ; i++){
this.chargeItme[i].showPayee = false;
}
this.chargeItme[index].payee = data.text;
this.chargeItme[index].payeeId = data.value;
this.payeeSelectChange(data.value , index)
},
onConfirmBankType(data,index){
for (var i = 0 ; i < this.chargeItme.length ; i++){
this.chargeItme[i].showbankType = false;
}
this.chargeItme[index].bankTypeText = data.text;
this.chargeItme[index].bankType = data.value;
this.chargeItme[index].showbankType = false;
},
onConfirmPayer(data){
this.form.payer = data.text;
this.form.cashierId = data.value;
this.showpayer = false;
this.selectChange(data.value)
},
onConfirmLasj(data){
this.form.applyDate = this.getNowFormatDate(data).substr(0,10);
this.showlasj = false;
},
accountTypeChange(e){
this.payeeList = [];
this.queryParams.accountType = this.form.accountType
this.queryParams.status = "0"
listPayee(this.queryParams).then((response) => {
this.payeeList = response.rows;
response.rows.map((res,index) => {
this.payeeList[index].text = res.payee;
this.payeeList[index].value = res.id;
})
});
},
// 钱计算
moneyChange(input) {
console.log(input)
let obj = {};
obj = this.chargeItme.find((account) => {
//model就是上面的数据源
return parseFloat(account.incomeAmount).toFixed(2) === input; //筛选出匹配数据
});
let total = 0;
this.chargeItme.forEach((money) => {
total = (parseFloat(total) + parseFloat(money.incomeAmount)).toFixed(2)
});
this.$set(this.form, "expenditureAmount", total);
},
goAdd(){
if(this.chargeItme.length<1){
this.$notify({ type: 'danger', message: '请添加收款方信息' });
return;
}
if(this.form.remark != null && this.form.remark.indexOf("|")!=-1){
this.$notify({ type: 'danger', message: '付款事由禁止包含!' });
return;
}
if(this.form.capitalExpenditureType==2){
if(this.projectForm.projectName==""||this.projectForm.projectName==null){
this.$notify({ type: 'danger', message: '请选择项目名称!' });
return;
}
if(this.projectForm.projectBillNum==""||this.projectForm.projectBillNum==null){
this.$notify({ type: 'danger', message: '请输入工程发票号!' });
return;
}
}
if(this.form.capitalExpenditureType==4){
if(this.infoForm.name==""||this.infoForm.name==null){
this.$notify({ type: 'danger', message: '请选择合同名称!' });
return;
}
if(this.infoForm.code==""||this.infoForm.code==null){
this.$notify({ type: 'danger', message: '请输入合同编码!' });
return;
}
if(this.infoForm.totalAmount==""||this.infoForm.totalAmount==null){
this.$notify({ type: 'danger', message: '请输入合同价款!' });
return;
}
}
this.$set(this.form, "payeeList", this.chargeItme);
this.$set(this.form, "bankTypeList", this.chargeItme);
this.$set(this.form, "accountTypeList", this.chargeItme);
this.$set(this.form, "transferStatusList", this.chargeItme);
if((this.uploadFiles==null||this.uploadFiles.length==0)&&(this.fileList==null||this.fileList.length==0)){
Dialog.confirm({
title: '提示',
message: '此申请单中未上传任何附件,是否确认提交?',
})
.then(() => {
updateCash(this.form).then((response) => {
this.chargeItme.map(res => {
res.cashId = this.form.id
addCashdetail(res).then(r => {
if(this.form.capitalExpenditureType==2){
this.projectForm.outId = this.form.id
this.$set(this.projectForm, "ynType", '2');
addProjectto(this.projectForm).then(res => {
cashSubmit(this.form.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
})
}else if(this.form.capitalExpenditureType==4){
this.infoForm.transferId = this.form.id
addInfoto(this.infoForm).then(res => {
customSubmit(response.data.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
})
}else{
cashSubmit(this.form.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
}
})
})
});
})
}else {
updateCash(this.form).then((response) => {
console.log(this.uploadFiles)
this.uploadFiles.map(rr => {
const params = new FormData();
params.append("tableId", this.form.id);
params.append("tableName", "t_yinnong_cash");
params.append("bizPath", "upload");
params.append("fileType", "0");
params.append("file", rr);
commonAttach(params).then((r) => {
})
})
this.chargeItme.map(res => {
res.cashId = this.form.id
addCashdetail(res).then(r => {
if(this.form.capitalExpenditureType==2){
this.projectForm.outId = this.form.id
this.$set(this.projectForm, "ynType", '2');
addProjectto(this.projectForm).then(res => {
cashSubmit(this.form.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
})
}else if(this.form.capitalExpenditureType==4){
this.infoForm.transferId = this.form.id
addInfoto(this.infoForm).then(res => {
customSubmit(response.data.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
})
}else{
cashSubmit(this.form.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
}
})
})
});
}
},
goUpdate(){
if(this.chargeItme.length<1){
this.$notify({ type: 'danger', message: '请添加收款方信息' });
return;
}
if(this.form.remark != null && this.form.remark.indexOf("|")!=-1){
this.$notify({ type: 'danger', message: '付款事由禁止包含!' });
return;
}
if(this.form.capitalExpenditureType==2){
if(this.projectForm.projectName==""||this.projectForm.projectName==null){
this.$notify({ type: 'danger', message: '请选择项目名称!' });
return;
}
if(this.projectForm.projectBillNum==""||this.projectForm.projectBillNum==null){
this.$notify({ type: 'danger', message: '请输入工程发票号!' });
return;
}
}
if(this.form.capitalExpenditureType==4){
if(this.infoForm.name==""||this.infoForm.name==null){
this.$notify({ type: 'danger', message: '请选择合同名称!' });
return;
}
if(this.infoForm.code==""||this.infoForm.code==null){
this.$notify({ type: 'danger', message: '请输入合同编码!' });
return;
}
if(this.infoForm.totalAmount==""||this.infoForm.totalAmount==null){
this.$notify({ type: 'danger', message: '请输入合同价款!' });
return;
}
}
this.projectForm.outId = this.form.id
if(this.uploadFiles==null||this.uploadFiles.length==0){
updateCash(this.form).then((response) => {
this.chargeItme.map(res => {
res.cashId = this.form.id
addCashdetail(res).then(r => {
if(this.form.capitalExpenditureType==2){
this.projectForm.outId = this.form.id
this.$set(this.projectForm, "ynType", '2');
addProjectto(this.projectForm).then(res => {
this.$toast.success('保存成功');
setTimeout(function(){
history.go(-1)
},2000)
})
}else if(this.form.capitalExpenditureType==4){
this.infoForm.transferId = this.form.id
addInfoto(this.infoForm).then(res => {
customSubmit(response.data.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
})
}else{
this.$toast.success('保存成功');
setTimeout(function(){
history.go(-1)
},2000)
}
})
})
});
}else {
updateCash(this.form).then((response) => {
console.log(this.uploadFiles)
this.uploadFiles.map(rr => {
const params = new FormData();
params.append("tableId", this.form.id);
params.append("tableName", "t_yinnong_cash");
params.append("bizPath", "upload");
params.append("fileType", "0");
params.append("file", rr);
commonAttach(params).then((r) => {
})
})
this.chargeItme.map(res => {
res.cashId = this.form.id
addCashdetail(res).then(r => {
if(this.form.capitalExpenditureType==2){
this.projectForm.outId = this.form.id
this.$set(this.projectForm, "ynType", '2');
addProjectto(this.projectForm).then(res => {
this.$toast.success('保存成功');
setTimeout(function(){
history.go(-1)
},2000)
})
}else if(this.form.capitalExpenditureType==4){
this.infoForm.transferId = this.form.id
addInfoto(this.infoForm).then(res => {
customSubmit(response.data.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
})
}else{
this.$toast.success('保存成功');
setTimeout(function(){
history.go(-1)
},2000)
}
})
})
});
}

},
payeeSelectChange(select, i) {
let obj = {};
let fuzhitype = 0;
obj = this.payeeList.find((account) => {
//model就是上面的数据源
return account.id === select ; //筛选出匹配数据
});
if(this.chargeItme != [] && this.chargeItme.length>1){
this.chargeItme.some((value, index) => {
if(value.payeeAccount != undefined &&value.payeeAccount != '' && obj.payeeAccount == value.payeeAccount&&index!=i){
fuzhitype = 2;
return true;
}
if(value.accountType != undefined &&value.accountType != '' && obj.accountType != value.accountType&&index!=i){
fuzhitype = 1;
return true;
}
});
}
if(fuzhitype == 0){
this.$set(this.chargeItme[i], "payee",obj.payee)
this.$set(this.chargeItme[i], "bankType", obj.bankType)
this.$set(this.chargeItme[i], "payeeId", obj.id);
this.$set(this.chargeItme[i], "payeeAccount", obj.payeeAccount);
this.$set(this.chargeItme[i], "bankDeposit", obj.bankDeposit);
this.$set(this.chargeItme[i], "accountType", obj.accountType);
}else if(fuzhitype == 1){
this.$set(this.chargeItme[i], "payee",'')
this.$set(this.chargeItme[i], "bankType",'')
this.$set(this.chargeItme[i], "payeeId", '');
this.$set(this.chargeItme[i], "payeeAccount", '');
this.$set(this.chargeItme[i], "bankDeposit", '');
this.$set(this.chargeItme[i], "accountType", '');
this.$notify({ type: 'danger', message: '请选择账户类型相同的收款方!' });
}else if(fuzhitype == 2){
this.$set(this.chargeItme[i], "payee",'')
this.$set(this.chargeItme[i], "bankType",'')
this.$set(this.chargeItme[i], "payeeId", '');
this.$set(this.chargeItme[i], "payeeAccount", '');
this.$set(this.chargeItme[i], "bankDeposit", '');
this.$set(this.chargeItme[i], "accountType", '');
this.$notify({ type: 'danger', message: '收款方已存在!' });
}
},
selectChange(select) {
let obj = {};
obj = this.payerOptions.find((account) => {
//model就是上面的数据源
return account.id === select; //筛选出匹配数据
});
if(obj.payerFrom==1&&obj.operatorCode != null && obj.operatorCode != "" &&
obj.enterpriseCode != null && obj.enterpriseCode != "" &&
obj.accountPassword != null && obj.accountPassword != ""){
this.$set(this.form, "bookId", obj.bookId);
this.$set(this.form, "deptId", obj.deptId);
this.$set(this.form, "cashierId", obj.id);
this.$set(this.form, "payer", obj.accountName);
this.$set(this.form, "payerAccount", obj.bankAccountNumber);
this.$set(this.form, "operatorCode", obj.operatorCode);
this.$set(this.form, "enterpriseCode", obj.enterpriseCode);
this.$set(this.form, "payerFrom", '1');
}else{
if(obj.payerFrom==1){
this.diglogStatus = false;
this.$notify({ type: 'danger', message: "请完善付款方“操作员代码”、“企业编码”、“支付口令”等信息!" });
this.$set(this.form,"payer","")
this.$set(this.form,"payerAccount","")
}else{
this.$set(this.form, "payerFrom", obj.parerFrom);
if(obj.operatorCode!=null&&obj.operatorCode!=''){
this.$set(this.form, "operatorCode", obj.operatorCode);
}else{
this.$set(this.form, "operatorCode", '');
}
if(obj.enterpriseCode!=null&&obj.enterpriseCode!=''){
this.$set(this.form, "enterpriseCode", obj.enterpriseCode);
}else{
this.$set(this.form, "enterpriseCode", '');
}
if(obj.accountPassword!=null&&obj.accountPassword!=''){
this.$set(this.form, "accountPassword", obj.accountPassword);
}else{
this.$set(this.form, "accountPassword", '');
}
this.$set(this.form, "bookId",'');
this.$set(this.form, "deptId", '');
this.$set(this.form, "cashierId", obj.id);
this.$set(this.form, "payer", obj.accountName);
if(obj.payerFrom==6){
getQmyeFlow(obj.bankAccountNumber).then((response) => {
this.$set(this.form, "payerAccount", response.data);
});
}else {
this.$set(this.form, "payerAccount", obj.bankAccountNumber);
}
}
}
},
beforeRead(file) {
this.uploadFiles.push(file.file);
},
deleteFile(file){
console.log(file)
this.uploadFiles.map((response,index) => {
if(file.file == response){
this.uploadFiles.splice(index,1)
}
})
if(file.id){
systemAttachment(file.id).then((res) => {
});
}
},
getFileList(){
let oData= {
tableId: this.$route.query.id,
tableName: "t_yinnong_cash",
bizPath: "upload",
fileType: "0",
}
attachmentList(oData).then(res => {
console.log(res)
console.log(location.protocol+"//"+location.host+request.defaults.baseURL)
res.rows.map(r => {
let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL
this.fileList.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{}),"id":r.id})
console.log(r)
})
})
},
goBack(){
window.history.go(-1)
},
//删除家庭成员
deleteChargeItme(index){
this.chargeItme.splice(index,1)
},
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;
}

.addFamily{
position: absolute;
top: -2px;
right: 0;
border-radius: 50%;
}
.deleteFamily{
position: absolute;
top: 0rem;
right: 6%;
z-index: 9;
border-radius: 50%;
}
</style>

+ 1030
- 0
src/views/yinnong/bankAgriculture/paymentApproval/approvalModify11.vue
A apresentação das diferenças no ficheiro foi suprimida por ser demasiado grande
Ver ficheiro


+ 1029
- 0
src/views/yinnong/bankAgriculture/paymentApproval/approvalModify12.vue
A apresentação das diferenças no ficheiro foi suprimida por ser demasiado grande
Ver ficheiro


+ 1068
- 0
src/views/yinnong/bankAgriculture/paymentApproval/approvalModify2.vue
A apresentação das diferenças no ficheiro foi suprimida por ser demasiado grande
Ver ficheiro


+ 933
- 0
src/views/yinnong/bankAgriculture/paymentApproval/approvalModify3.vue Ver ficheiro

@@ -0,0 +1,933 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">修改虚拟挂账申请</p>
</template>
</van-nav-bar>
<van-form @submit="getChange" @failed="getError" :show-error-message="false" scroll-to-error validate-first>
<p class="main_title">基础信息</p>
<div class="main_box">
<van-field
readonly
clickable
required
:rules="[{ required: true , message:'请选择申请时间' }]"
v-model="form.applyDate"
label="申请时间"
placeholder="请选择申请时间"
@click="showlasj = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showlasj" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="date"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
@confirm="onConfirmLasj"
@cancel="showlasj = false"
/>
</van-popup>
<van-field
readonly
clickable
required
:rules="[{ required: true , message:'请选择资金支出类别' }]"
label="资金支出类别"
placeholder="请选择"
v-model="capitalExpenditureType"
@click="showcapital = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showcapital" position="bottom">
<van-picker
show-toolbar
:columns="capitalExpenditureTypeOptions"
@confirm="onConfirmCapital"
@cancel="showcapital = false"
/>
</van-popup>
<van-field
readonly
required
label="支出总金额"
v-model="form.expenditureAmount"
placeholder="根据下方收款金额自动核算"
input-align="right"
label-width="auto"
/>

</div>

<div class="main_box" style="margin-top: 10px;">
<van-field
label="付款事由"
v-model="form.remark"
type="textarea"
placeholder="请输入付款事由"
input-align="right"
rows="3"
label-width="auto"
required
:rules="[{ required: true , message:'请输入付款事由' }]"
/>
</div>

<div class="main_box" style="margin-top: 10px;">
<van-field label="说明情况" v-model="form.explainSituation" type="textarea" placeholder="请输入说明情况" input-align="right" rows="3" label-width="auto"/>
</div>

<p class="main_title" v-if="capitalExpenditureOpen">关联项目</p>
<div class="main_box" v-if="capitalExpenditureOpen" style="margin-bottom: 10px;margin-top: 10px;position:relative;">
<van-field
readonly
clickable
label="项目名称"
placeholder="请选择"
v-model="projectForm.projectName"
@click="showproject = true"
input-align="right"
right-icon="arrow-down"
required
:rules="[{ required: true , message:'请选择项目名称' }]"
/>
<van-popup v-model="showproject" position="bottom">
<van-picker
show-toolbar
:columns="projectListShow"
@confirm="onConfirmProject"
@cancel="showproject = false"
/>
</van-popup>
<van-field required :rules="[{ required: true , message:'请输入承建单位' }]" v-model="projectForm.projectContractor" label="承建单位" placeholder="请输入承建单位" input-align="right" label-width="auto"/>
<van-field required :rules="[{ required: true , message:'请输入合同价款(元)' }]" v-model="projectForm.projectAmount" label="合同价款(元)" placeholder="请输入合同价款(元)" input-align="right" label-width="auto"/>
<van-field
readonly
clickable
label="工程款类型"
placeholder="请选择"
v-model="projectFundType"
@click="showFundType = true"
input-align="right"
right-icon="arrow-down"
required
:rules="[{ required: true , message:'请选择工程款类型' }]"
/>
<van-popup v-model="showFundType" position="bottom">
<van-picker
show-toolbar
:columns="projectFundTypeOptions"
@confirm="onConfirmFundType"
@cancel="showFundType = false"
/>
</van-popup>
<van-field required :rules="[{ required: true , message:'请输入工程发票号' }]" v-model="projectForm.projectBillNum" label="工程发票号" placeholder="请输入工程发票号" input-align="right" label-width="auto"/>
</div>
<p class="main_title">付款方信息</p>
<div class="main_box">
<!-- <van-field label="付款方" v-model="form.payer" placeholder="请输入付款方" input-align="right" label-width="auto"/>-->
<van-field
readonly
clickable
label="付款方"
placeholder="请选择付款方"
v-model="form.payer"
@click="showpayer = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
required
:rules="[{ required: true , message:'请选择付款方' }]"
/>
<van-popup v-model="showpayer" position="bottom">
<van-picker
show-toolbar
:columns="payerOptions"
@confirm="onConfirmPayer($event)"
@cancel="showpayer = false"
/>
</van-popup>
<van-field :rules="[{ required: true , message:'请输入账户' }]" required label="付款方账户" v-model="form.payerAccount" placeholder="请输入账户" input-align="right" label-width="auto"/>
</div>

<p class="main_title">收款方信息<van-button icon="plus" @click="addChargeItme(chargeItme.length)" size="mini" type="info" native-type="button" class="addFamily"/></p>

<div class="main_box" style="margin-bottom: 15px;">
<van-cell title="收款账户类型">
<template #right-icon>
<van-radio-group direction="horizontal" v-model="form.accountType" @change="accountTypeChange">
<van-radio name="1">公户</van-radio>
<van-radio name="2">私户</van-radio>
</van-radio-group>
</template>
</van-cell>
</div>
<div :style="{position:'relative',padding: index == 0 ? '':'10px 0 0 0'}" v-for="(item, index) in chargeItme" :key="index">
<van-button icon="minus" size="mini" type="danger" class="deleteFamily" native-type="button" v-if="index!=0" @click="deleteChargeItme(index)" />
<div class="main_box" style="margin-bottom: 10px;position:relative;">
<van-field
readonly
clickable
label="收款方"
placeholder="请选择"
v-model="item.payee"
@click="item.showPayee = true"
input-align="right"
right-icon="arrow-down"
required
:rules="[{ required: true , message:'请选择收款方' }]"
/>
<van-popup v-model="item.showPayee" position="bottom">
<van-picker
show-toolbar
:columns="payeeList"
@confirm="onConfirmPayee($event,index)"
@cancel="item.showPayee = false"
/>
</van-popup>
<van-field required readonly :rules="[{ required: true , message:'请输入账户' }]" v-model="item.payeeAccount" label="收款账户" placeholder="请输入账户" input-align="right" label-width="auto"/>
<van-field required readonly :rules="[{ required: true , message:'请输入银行' }]" v-model="item.bankDeposit" label="开户银行" placeholder="请输入银行" input-align="right" label-width="auto"/>
<van-field required :rules="[{ required: true , message:'请输入金额' }]" v-model="item.incomeAmount" label="收入金额" placeholder="请输入金额" input-align="right" label-width="auto" @change="moneyChange"/>
<van-field
readonly
label="所属银行"
placeholder="请选择"
v-model="item.bankTypeText"
@click="item.showbankType = true"
input-align="right"
required
:rules="[{ required: true , message:'请选择所属银行' }]"
/>
</div>
</div>
<p class="main_title">上传附件</p>
<div class="main_box" style="padding: 5px 0 0 8px;">
<van-uploader v-model="fileList" :after-read="beforeRead" @delete="deleteFile"></van-uploader>
</div>
<div style="padding: 16px 0;">
<van-row>
<van-col span="12" align="center">
<van-button type="info" native-type="submit" @click="buttonType='update'" class="submitButton">保<i style="margin-right: 1em;"></i>存</van-button>
</van-col>
<van-col span="12" align="center">
<van-button type="info" native-type="submit" @click="buttonType='add'" class="submitButton">保存并提交</van-button>
</van-col>
</van-row>
<div class="clear"></div>
</div>
</van-form>
</div>
</template>

<script>
import { getAccount , getTransfer , queryTransferDetail , listPayee , updateTransfer , getProjectto , listProject , addProjectto , customSubmit ,getQmyeFlow} from "@/api/onlineHome/bankAgriculture/paymentApproval";
import {
addCash, attachmentList,
commonAttach,
listTaccount,
listVaccount, systemAttachment
} from "../../../../api/onlineHome/bankAgriculture/paymentApproval";
import request from '@/utils/request';
import Dialog from "vant/lib/dialog";
export default {
name: "approvalModify3",
data() {
return {
showcapital:false,
showpayee:false,
showlasj:false,
showbankType:false,
showproject:false,
showFundType:false,
showpayer:false,

minDate: new Date(2000, 1, 1),
maxDate: new Date(2050, 12, 31),
currentDate: new Date(),
form:{},

capitalExpenditureType:'',
payee:'',
bankType:'',

buttonType:'a',

wfydlxDictionaries:[],
jglxDictionaries:[],
sysDictionaries:[],
capitalExpenditureTypeOptions:[],
bankTypeDictionaries:[],
projectList:[],
projectFundTypeOptions:[],
projectFundTypeDictionaries:[],
projectListShow:[],
payerOptions:[],

chargeItme:[],
chargeItmeShow:[],

payeeList:[],
// 查询参数
queryParams: {
transferType:"",
orderByColumn: "id",
isAsc: "desc",
},
capitalExpenditureOpen:false,
projectForm:{
projectId:null,
projectName:null,
projectContractor:null,
projectAmount:null,
projectBillNum:null,
projectFundType:'1',
outId:null,
ynType:'1'
},
projectFundType:'',
fileList:[],
uploadFiles:[],
};
},
created() {
let queryParams={
pageNum: 1,
pageSize: 100,
}
listProject(queryParams).then(response => {
this.projectList = response.rows;
for (var i = 0; i < response.rows.length; i++) {
this.projectListShow.push({text: response.rows[i].projectName, value: response.rows[i].id});
}
});
this.getDicts("project_fund_type").then((response) => {
for (var i = 0; i < response.data.length; i++) {
this.projectFundTypeOptions.push({text: response.data[i].dictLabel, value: response.data[i].dictValue});
}
this.projectFundTypeDictionaries = response.data;
});
let params1={
townAccountType:'3'
}
listTaccount(params1).then((response) => {
console.log(response)
response.rows.map((res,index) => {
if(res.townAccountType=='3'){
res['payerFrom'] = '3'
this.payerOptions.push(res);
this.payerOptions[index].text = res.payee;
this.payerOptions[index].value = res.id;
}
})
});
this.getDictionaries();
this.getFileList();
},
methods: {
getDictionaries(){
getTransfer(this.$route.query.id).then((response) => {
this.getDicts("capital_expenditure_type").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.capitalExpenditureTypeOptions.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
this.capitalExpenditureType = this.selectDictLabel(res.data, response.data.capitalExpenditureType);
});
if(response.data.capitalExpenditureType==2){
this.capitalExpenditureOpen = true
let param={
'outId' : response.data.id,
'ynType' : '1'
}
getProjectto(param).then(res => {
console.log(this.selectDictLabel(this.projectFundTypeDictionaries, res.data.projectFundType))
this.projectFundType = this.selectDictLabel(this.projectFundTypeDictionaries, res.data.projectFundType);
this.projectForm = res.data
console.log(res.data)
})
}else{
this.showproject = false
}
this.form = response.data;
});
queryTransferDetail(this.$route.query.id).then((response) => {
this.getDicts("bank_type").then(res => {
for (var i = 0; i < res.data.length; i++) {
this.bankTypeDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
for (var j = 0 ; j < response.rows.length ; j++){
// response.rows[j].payeeText = response.rows[j].payee;
response.rows[j].bankTypeText = this.selectDictLabel(res.data, response.rows[j].bankType);
response.rows[j].showPayee = false;
}
this.chargeItme = response.rows;
});
this.getPayeeList();
});
},
getChange(){
console.log(this.buttonType)
if(this.buttonType == 'update'){
console.log('update')
this.goUpdate();
}else if(this.buttonType == 'add'){
console.log('add')
this.goAdd();
}
},
getError(e){
console.log(e)
this.$notify({ type: 'danger', message: e.errors[0].message });
},
addChargeItme(index){
if(this.chargeItme.length>0&&this.chargeItme[this.chargeItme.length-1].payee == ''){
this.$notify({ type: 'danger', message: '请勿添加多个空列表信息' });
return;
}else if(this.chargeItme.length>0&&this.chargeItme[index-1].incomeAmount == ''){
this.$notify({ type: 'danger', message: '请输入收入金额!' });
return;
}else if(this.chargeItme.length>0&&this.chargeItme[index-1].payeeAccount == ''){
this.$notify({ type: 'danger', message: '请输入收款账户!' });
return;
}else if(this.chargeItme.length>0&&this.chargeItme[index-1].bankDeposit == ''){
this.$notify({ type: 'danger', message: '请输入开户银行!' });
return;
}else if(this.chargeItme.length>0&&this.chargeItme[index-1].bankType == ''){
this.$notify({ type: 'danger', message: '请选择所属银行!' });
return;
}
this.getDicts("bank_type").then(res => {
this.chargeItme.splice(index + 1, 0, {
payeeId: "", //收款方ID
payee: "", //收款方
payeeAccount: "", //收款账户
bankDeposit: "", //开户银行
incomeAmount: "", //收入金额
bankType: "1", //所属银行
bankTypeText:this.selectDictLabel(res.data, 1), //所属银行
showPayee:false,
showbankType:false
});
});
},
getPayeeList() {
let params = {
villageAccountType : 1,
status:'0',
accountType : this.form.accountType
}
listVaccount(params).then(response => {
console.log(response)
if(response.rows.length>0){
this.payeeList = response.rows;
response.rows.map((res,index) => {
this.payeeList[index].text = res.payee;
this.payeeList[index].value = res.id;
})
}
});
},
payeeDictLabel(datas, value) {
var actions = [];
Object.keys(datas).some((key) => {
if (datas[key].payeeId == ('' + value)) {
actions.push(datas[key].payee);
return true;
}
})
return actions.join('');
},
onConfirmCapital(data){
console.log(data)
if (data.value != 2){
this.capitalExpenditureOpen = false;
this.projectForm = [];
}else{
this.capitalExpenditureOpen = true;
}
this.capitalExpenditureType = data.text;
this.form.capitalExpenditureType = data.value;
this.showcapital = false;
},
onConfirmFundType(data){
console.log(data)
this.projectForm.projectFundType = data.value;
this.projectFundType = data.text;
this.showFundType = false;
},
onConfirmProject(data){
this.projectList.map(res => {
if(res.projectName==data.text){
this.projectForm.projectId = res.id
this.projectForm.projectName = res.projectName
this.projectForm.projectContractor = res.projectContractor
this.projectForm.projectAmount = res.projectAmount
}
})
this.showproject = false;
},
onConfirmPayee(data,index){
console.log(data)
for (var i = 0 ; i < this.chargeItme.length ; i++){
this.chargeItme[i].showPayee = false;
}
this.chargeItme[index].payee = data.text;
this.chargeItme[index].payeeId = data.value;
this.payeeSelectChange(data.value , index)
},
onConfirmBankType(data,index){
for (var i = 0 ; i < this.chargeItme.length ; i++){
this.chargeItme[i].showbankType = false;
}
this.chargeItme[index].bankTypeText = data.text;
this.chargeItme[index].bankType = data.value;
this.chargeItme[index].showbankType = false;
},
onConfirmPayer(data){
console.log(data)
this.form.payer = data.text;
this.form.cashierId = data.value;
this.form.payerAccount = data.payeeAccount
this.showpayer = false;
//this.selectChange(data.value);
this.accountTypeChange();
},
onConfirmLasj(data){
this.form.applyDate = this.getNowFormatDate(data).substr(0,10);
this.showlasj = false;
},
accountTypeChange(e){
this.chargeItme = [];
this.payeeList = [];
let params = {
villageAccountType : 1,
status:'0',
accountType : this.form.accountType,
taccountId:this.form.cashierId
}
listVaccount(params).then(response => {
console.log(response)
if(response.rows.length>0){
this.payeeList = response.rows;
response.rows.map((res,index) => {
this.payeeList[index].text = res.payee;
this.payeeList[index].value = res.id;
})
}
});
},
// 钱计算
moneyChange(input) {
console.log(input)
let obj = {};
obj = this.chargeItme.find((account) => {
//model就是上面的数据源
return parseFloat(account.incomeAmount).toFixed(2) === input; //筛选出匹配数据
});
let total = 0;
this.chargeItme.forEach((money) => {
total = (parseFloat(total) + parseFloat(money.incomeAmount)).toFixed(2)
});
this.$set(this.form, "expenditureAmount", total);
},
goAdd(){
if(this.chargeItme.length<1){
this.$notify({ type: 'danger', message: '请添加收款方信息' });
return;
}
if(this.form.remark != null && this.form.remark.indexOf("|")!=-1){
this.$notify({ type: 'danger', message: '付款事由禁止包含!' });
return;
}
if(this.form.capitalExpenditureType==2){
if(this.projectForm.projectName==""||this.projectForm.projectName==null){
this.$notify({ type: 'danger', message: '请选择项目名称!' });
return;
}
if(this.projectForm.projectBillNum==""||this.projectForm.projectBillNum==null){
this.$notify({ type: 'danger', message: '请输入工程发票号!' });
return;
}
}
if((this.uploadFiles==null||this.uploadFiles.length==0)&&(this.fileList==null||this.fileList.length==0)){
Dialog.confirm({
title: '提示',
message: '此申请单中未上传任何附件,是否确认提交?',
})
.then(() => {
this.$set(this.form, "payeeList", this.chargeItme);
this.$set(this.form, "bankTypeList", this.chargeItme);
this.$set(this.form, "accountTypeList", this.chargeItme);
this.$set(this.form, "transferStatusList", this.chargeItme);
updateTransfer(this.form).then(response => {
this.projectForm.outId = this.form.id
this.$set(this.projectForm, "ynType", '1');
if(this.uploadFiles!=null&&this.uploadFiles.length>0){
this.uploadFiles.map(rr => {
const params = new FormData();
params.append("tableId", this.form.id);
params.append("tableName", "t_yinnong_transfer");
params.append("bizPath", "upload");
params.append("fileType", "0");
params.append("file", rr);
commonAttach(params).then((r) => {
})
})
if(this.form.capitalExpenditureType==2){
addProjectto(this.projectForm).then(res => {
customSubmit(this.form.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
})
}else{
customSubmit(this.form.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
}
}else{
if(this.form.capitalExpenditureType==2){
addProjectto(this.projectForm).then(res => {
customSubmit(this.form.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
})
}else{
customSubmit(this.form.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
}
}
});
})
.catch(() => {
return false;
});
}else{
this.$set(this.form, "payeeList", this.chargeItme);
this.$set(this.form, "bankTypeList", this.chargeItme);
this.$set(this.form, "accountTypeList", this.chargeItme);
this.$set(this.form, "transferStatusList", this.chargeItme);
updateTransfer(this.form).then(response => {
this.projectForm.outId = this.form.id
this.$set(this.projectForm, "ynType", '1');
if(this.uploadFiles!=null&&this.uploadFiles.length>0){
this.uploadFiles.map(rr => {
const params = new FormData();
params.append("tableId", this.form.id);
params.append("tableName", "t_yinnong_transfer");
params.append("bizPath", "upload");
params.append("fileType", "0");
params.append("file", rr);
commonAttach(params).then((r) => {
})
})
if(this.form.capitalExpenditureType==2){
addProjectto(this.projectForm).then(res => {
customSubmit(this.form.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
})
}else{
customSubmit(this.form.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
}
}else{
if(this.form.capitalExpenditureType==2){
addProjectto(this.projectForm).then(res => {
customSubmit(this.form.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
})
}else{
customSubmit(this.form.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
}
}
});
}


},
goUpdate(){
if(this.chargeItme.length<1){
this.$notify({ type: 'danger', message: '请添加收款方信息' });
return;
}
if(this.form.remark != null && this.form.remark.indexOf("|")!=-1){
this.$notify({ type: 'danger', message: '付款事由禁止包含!' });
return;
}
if(this.form.capitalExpenditureType==2){
if(this.projectForm.projectName==""||this.projectForm.projectName==null){
this.$notify({ type: 'danger', message: '请选择项目名称!' });
return;
}
if(this.projectForm.projectBillNum==""||this.projectForm.projectBillNum==null){
this.$notify({ type: 'danger', message: '请输入工程发票号!' });
return;
}
}
this.$set(this.form, "payeeList", this.chargeItme);
this.$set(this.form, "bankTypeList", this.chargeItme);
this.$set(this.form, "accountTypeList", this.chargeItme);
this.$set(this.form, "transferStatusList", this.chargeItme);
updateTransfer(this.form).then((response) => {
this.projectForm.outId = this.form.id
this.$set(this.projectForm, "ynType", '1');
if(this.uploadFiles!=null&&this.uploadFiles.length>0){
console.log(this.uploadFiles)
this.uploadFiles.map(rr => {
const params = new FormData();
params.append("tableId", this.form.id);
params.append("tableName", "t_yinnong_transfer");
params.append("bizPath", "upload");
params.append("fileType", "0");
params.append("file", rr);
commonAttach(params).then((r) => {
})
})
if(this.form.capitalExpenditureType==2){
addProjectto(this.projectForm).then(res => {
this.$toast.success('保存成功');
setTimeout(function(){
history.go(-1)
},2000)
})
}else{
this.$toast.success('保存成功');
setTimeout(function(){
history.go(-1)
},2000)
}
}else{
if(this.form.capitalExpenditureType==2){
addProjectto(this.projectForm).then(res => {
this.$toast.success('保存成功');
setTimeout(function(){
history.go(-1)
},2000)
})
}else{
this.$toast.success('保存成功');
setTimeout(function(){
history.go(-1)
},2000)
}
}

});
},
payeeSelectChange(select, i) {
let obj = {};
let fuzhitype = 0;
obj = this.payeeList.find((account) => {
//model就是上面的数据源
return account.id === select ; //筛选出匹配数据
});
if(this.chargeItme != [] && this.chargeItme.length>1){
this.chargeItme.some((value, index) => {
if(value.payeeAccount != undefined &&value.payeeAccount != '' && obj.payeeAccount == value.payeeAccount&&index!=i){
fuzhitype = 2;
return true;
}
if(value.accountType != undefined &&value.accountType != '' && obj.accountType != value.accountType&&index!=i){
fuzhitype = 1;
return true;
}
});
}
if(fuzhitype == 0){
this.$set(this.chargeItme[i], "payee",obj.payee)
this.$set(this.chargeItme[i], "bankType", obj.bankType)
this.$set(this.chargeItme[i], "payeeId", obj.id);
this.$set(this.chargeItme[i], "payeeAccount", obj.payeeAccount);
this.$set(this.chargeItme[i], "bankDeposit", obj.bankDeposit);
this.$set(this.chargeItme[i], "accountType", obj.accountType);
}else if(fuzhitype == 1){
this.$set(this.chargeItme[i], "payee",'')
this.$set(this.chargeItme[i], "bankType",'')
this.$set(this.chargeItme[i], "payeeId", '');
this.$set(this.chargeItme[i], "payeeAccount", '');
this.$set(this.chargeItme[i], "bankDeposit", '');
this.$set(this.chargeItme[i], "accountType", '');
this.$notify({ type: 'danger', message: '请选择账户类型相同的收款方!' });
}else if(fuzhitype == 2){
this.$set(this.chargeItme[i], "payee",'')
this.$set(this.chargeItme[i], "bankType",'')
this.$set(this.chargeItme[i], "payeeId", '');
this.$set(this.chargeItme[i], "payeeAccount", '');
this.$set(this.chargeItme[i], "bankDeposit", '');
this.$set(this.chargeItme[i], "accountType", '');
this.$notify({ type: 'danger', message: '收款方已存在!' });
}
},
selectChange(select) {
let obj = {};
obj = this.payerOptions.find((account) => {
//model就是上面的数据源
return account.id === select; //筛选出匹配数据
});
if(obj.payerFrom==1&&obj.operatorCode != null && obj.operatorCode != "" &&
obj.enterpriseCode != null && obj.enterpriseCode != "" &&
obj.accountPassword != null && obj.accountPassword != ""){
this.$set(this.form, "bookId", obj.bookId);
this.$set(this.form, "deptId", obj.deptId);
this.$set(this.form, "cashierId", obj.id);
this.$set(this.form, "payer", obj.accountName);
this.$set(this.form, "payerAccount", obj.bankAccountNumber);
this.$set(this.form, "operatorCode", obj.operatorCode);
this.$set(this.form, "enterpriseCode", obj.enterpriseCode);
this.$set(this.form, "payerFrom", '1');
}else{
if(obj.payerFrom==1){
this.diglogStatus = false;
this.$notify({ type: 'danger', message: "请完善付款方“操作员代码”、“企业编码”、“支付口令”等信息!" });
this.$set(this.form,"payer","")
this.$set(this.form,"payerAccount","")
}else{
this.$set(this.form, "payerFrom", obj.parerFrom);
if(obj.operatorCode!=null&&obj.operatorCode!=''){
this.$set(this.form, "operatorCode", obj.operatorCode);
}else{
this.$set(this.form, "operatorCode", '');
}
if(obj.enterpriseCode!=null&&obj.enterpriseCode!=''){
this.$set(this.form, "enterpriseCode", obj.enterpriseCode);
}else{
this.$set(this.form, "enterpriseCode", '');
}
if(obj.accountPassword!=null&&obj.accountPassword!=''){
this.$set(this.form, "accountPassword", obj.accountPassword);
}else{
this.$set(this.form, "accountPassword", '');
}
this.$set(this.form, "bookId",'');
this.$set(this.form, "deptId", '');
this.$set(this.form, "cashierId", obj.id);
this.$set(this.form, "payer", obj.accountName);
if(obj.payerFrom==6){
getQmyeFlow(obj.bankAccountNumber).then((response) => {
this.$set(this.form, "payerAccount", response.data);
});
}else {
this.$set(this.form, "payerAccount", obj.bankAccountNumber);
}
}
}
},
beforeRead(file) {
this.uploadFiles.push(file.file);
},
deleteFile(file){
console.log(file)
this.uploadFiles.map((response,index) => {
if(file.file == response){
this.uploadFiles.splice(index,1)
}
})
if(file.id){
systemAttachment(file.id).then((res) => {
});
}
},
getFileList(){
let oData= {
tableId: this.$route.query.id,
tableName: "t_yinnong_transfer",
bizPath: "upload",
fileType: "0",
}
attachmentList(oData).then(res => {
console.log(res)
console.log(location.protocol+"//"+location.host+request.defaults.baseURL)
res.rows.map(r => {
let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL
this.fileList.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{}),"id":r.id})
console.log(r)
})
})
},
goBack(){
window.history.go(-1)
},
//删除家庭成员
deleteChargeItme(index){
this.chargeItme.splice(index,1)
},
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;
}

.addFamily{
position: absolute;
top: -2px;
right: 0;
border-radius: 50%;
}
.deleteFamily{
position: absolute;
top: 0rem;
right: 6%;
z-index: 9;
border-radius: 50%;
}
</style>

+ 1103
- 0
src/views/yinnong/bankAgriculture/paymentApproval/approvalModify4.vue
A apresentação das diferenças no ficheiro foi suprimida por ser demasiado grande
Ver ficheiro


+ 938
- 0
src/views/yinnong/bankAgriculture/paymentApproval/approvalModify5.vue Ver ficheiro

@@ -0,0 +1,938 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">修改母子转账申请</p>
</template>
</van-nav-bar>
<van-form @submit="getChange" @failed="getError" :show-error-message="false" scroll-to-error validate-first>
<p class="main_title">基础信息</p>
<div class="main_box">
<van-field
readonly
clickable
required
:rules="[{ required: true , message:'请选择申请时间' }]"
v-model="form.applyDate"
label="申请时间"
placeholder="请选择申请时间"
@click="showlasj = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showlasj" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="date"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
@confirm="onConfirmLasj"
@cancel="showlasj = false"
/>
</van-popup>
<van-field
readonly
clickable
required
:rules="[{ required: true , message:'请选择资金支出类别' }]"
label="资金支出类别"
placeholder="请选择"
v-model="capitalExpenditureType"
@click="showcapital = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showcapital" position="bottom">
<van-picker
show-toolbar
:columns="capitalExpenditureTypeOptions"
@confirm="onConfirmCapital"
@cancel="showcapital = false"
/>
</van-popup>
<van-field
readonly
required
label="支出总金额"
v-model="form.expenditureAmount"
placeholder="根据下方收款金额自动核算"
input-align="right"
label-width="auto"
/>

</div>

<div class="main_box" style="margin-top: 10px;">
<van-field
label="付款事由"
v-model="form.remark"
type="textarea"
placeholder="请输入付款事由"
input-align="right"
rows="3"
label-width="auto"
required
:rules="[{ required: true , message:'请输入付款事由' }]"
/>
</div>

<div class="main_box" style="margin-top: 10px;">
<van-field label="说明情况" v-model="form.explainSituation" type="textarea" placeholder="请输入说明情况" input-align="right" rows="3" label-width="auto"/>
</div>

<p class="main_title" v-if="capitalExpenditureOpen">关联项目</p>
<div class="main_box" v-if="capitalExpenditureOpen" style="margin-bottom: 10px;margin-top: 10px;position:relative;">
<van-field
readonly
clickable
label="项目名称"
placeholder="请选择"
v-model="projectForm.projectName"
@click="showproject = true"
input-align="right"
right-icon="arrow-down"
required
:rules="[{ required: true , message:'请选择项目名称' }]"
/>
<van-popup v-model="showproject" position="bottom">
<van-picker
show-toolbar
:columns="projectListShow"
@confirm="onConfirmProject"
@cancel="showproject = false"
/>
</van-popup>
<van-field required :rules="[{ required: true , message:'请输入承建单位' }]" v-model="projectForm.projectContractor" label="承建单位" placeholder="请输入承建单位" input-align="right" label-width="auto"/>
<van-field required :rules="[{ required: true , message:'请输入合同价款(元)' }]" v-model="projectForm.projectAmount" label="合同价款(元)" placeholder="请输入合同价款(元)" input-align="right" label-width="auto"/>
<van-field
readonly
clickable
label="工程款类型"
placeholder="请选择"
v-model="projectFundType"
@click="showFundType = true"
input-align="right"
right-icon="arrow-down"
required
:rules="[{ required: true , message:'请选择工程款类型' }]"
/>
<van-popup v-model="showFundType" position="bottom">
<van-picker
show-toolbar
:columns="projectFundTypeOptions"
@confirm="onConfirmFundType"
@cancel="showFundType = false"
/>
</van-popup>
<van-field required :rules="[{ required: true , message:'请输入工程发票号' }]" v-model="projectForm.projectBillNum" label="工程发票号" placeholder="请输入工程发票号" input-align="right" label-width="auto"/>
</div>
<p class="main_title">付款方信息</p>
<div class="main_box">
<!-- <van-field label="付款方" v-model="form.payer" placeholder="请输入付款方" input-align="right" label-width="auto"/>-->
<van-field
readonly
clickable
label="付款方"
placeholder="请选择付款方"
v-model="form.payer"
@click="showpayer = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
required
:rules="[{ required: true , message:'请选择付款方' }]"
/>
<van-popup v-model="showpayer" position="bottom">
<van-picker
show-toolbar
:columns="payerOptions"
@confirm="onConfirmPayer($event)"
@cancel="showpayer = false"
/>
</van-popup>
<van-field :rules="[{ required: true , message:'请输入账户' }]" required label="付款方账户" v-model="form.payerAccount" placeholder="请输入账户" input-align="right" label-width="auto"/>
</div>

<p class="main_title">收款方信息<van-button icon="plus" @click="addChargeItme(chargeItme.length)" size="mini" type="info" native-type="button" class="addFamily"/></p>

<div class="main_box" style="margin-bottom: 15px;">
<van-cell title="收款账户类型">
<template #right-icon>
<van-radio-group direction="horizontal" v-model="form.accountType" @change="accountTypeChange">
<van-radio name="1">公户</van-radio>
<van-radio name="2">私户</van-radio>
</van-radio-group>
</template>
</van-cell>
<van-cell title="是否与付款方同行" v-if="form.bankType==2||form.bankType==4">
<template #right-icon>
<van-radio-group direction="horizontal" v-model="form.isPeers">
<van-radio name="Y">是</van-radio>
<van-radio name="N">否</van-radio>
</van-radio-group>
</template>
</van-cell>
</div>
<div :style="{position:'relative',padding: index == 0 ? '':'10px 0 0 0'}" v-for="(item, index) in chargeItme" :key="index">
<van-button icon="minus" size="mini" type="danger" class="deleteFamily" native-type="button" v-if="index!=0" @click="deleteChargeItme(index)" />
<div class="main_box" style="margin-bottom: 10px;position:relative;">
<van-field
readonly
clickable
label="收款方"
placeholder="请选择"
v-model="item.payee"
@click="item.showPayee = true"
input-align="right"
right-icon="arrow-down"
required
:rules="[{ required: true , message:'请选择收款方' }]"
/>
<van-popup v-model="item.showPayee" position="bottom">
<van-picker
show-toolbar
:columns="payeeList"
@confirm="onConfirmPayee($event,index)"
@cancel="item.showPayee = false"
/>
</van-popup>
<van-field required readonly :rules="[{ required: true , message:'请输入账户' }]" v-model="item.payeeAccount" label="收款账户" placeholder="请输入账户" input-align="right" label-width="auto"/>
<van-field required readonly :rules="[{ required: true , message:'请输入银行' }]" v-model="item.bankDeposit" label="开户银行" placeholder="请输入银行" input-align="right" label-width="auto"/>
<van-field required :rules="[{ required: true , message:'请输入金额' }]" v-model="item.incomeAmount" label="收入金额" placeholder="请输入金额" input-align="right" label-width="auto" @change="moneyChange"/>
<van-field
readonly
clickable
label="所属银行"
placeholder="请选择"
v-model="item.bankTypeText"
input-align="right"
required
:rules="[{ required: true , message:'请选择所属银行' }]"
/>
</div>
</div>
<p class="main_title">上传附件</p>
<div class="main_box" style="padding: 5px 0 0 8px;">
<van-uploader v-model="fileList" :after-read="beforeRead" @delete="deleteFile"></van-uploader>
</div>
<div style="padding: 16px 0;">
<van-row>
<van-col span="12" align="center">
<van-button type="info" native-type="submit" @click="buttonType='update'" class="submitButton">保<i style="margin-right: 1em;"></i>存</van-button>
</van-col>
<van-col span="12" align="center">
<van-button type="info" native-type="submit" @click="buttonType='add'" class="submitButton">保存并提交</van-button>
</van-col>
</van-row>
<div class="clear"></div>
</div>
</van-form>
</div>
</template>

<script>
import { getAccount , getTransfer , queryTransferDetail , listPayee , updateTransfer , getProjectto , listProject , addProjectto , customSubmit ,getQmyeFlow} from "@/api/onlineHome/bankAgriculture/paymentApproval";
import request from '@/utils/request';
import {
addTransfer,
attachmentList,
commonAttach, listTaccount,
listVaccount, systemAttachment
} from "../../../../api/onlineHome/bankAgriculture/paymentApproval";
import Dialog from "vant/lib/dialog";
export default {
name: "approvalModify5",
data() {
return {
showcapital:false,
showpayee:false,
showlasj:false,
showbankType:false,
showproject:false,
showFundType:false,
showpayer:false,

minDate: new Date(2000, 1, 1),
maxDate: new Date(2050, 12, 31),
currentDate: new Date(),
form:{},

capitalExpenditureType:'',
payee:'',
bankType:'',

buttonType:'a',

wfydlxDictionaries:[],
jglxDictionaries:[],
sysDictionaries:[],
capitalExpenditureTypeOptions:[],
bankTypeDictionaries:[],
projectList:[],
projectFundTypeOptions:[],
projectFundTypeDictionaries:[],
projectListShow:[],
payerOptions:[],

chargeItme:[],
chargeItmeShow:[],

payeeList:[],
// 查询参数
queryParams: {
transferType:"",
orderByColumn: "id",
isAsc: "desc",
},
capitalExpenditureOpen:false,
projectForm:{
projectId:null,
projectName:null,
projectContractor:null,
projectAmount:null,
projectBillNum:null,
projectFundType:'1',
outId:null,
ynType:'1'
},
projectFundType:'',
fileList:[],
uploadFiles:[],
};
},
created() {
let queryParams={
pageNum: 1,
pageSize: 100,
}
listProject(queryParams).then(response => {
this.projectList = response.rows;
for (var i = 0; i < response.rows.length; i++) {
this.projectListShow.push({text: response.rows[i].projectName, value: response.rows[i].id});
}
});
this.getDicts("project_fund_type").then((response) => {
for (var i = 0; i < response.data.length; i++) {
this.projectFundTypeOptions.push({text: response.data[i].dictLabel, value: response.data[i].dictValue});
}
this.projectFundTypeDictionaries = response.data;
});
let params1={
townAccountType:'2'
}
listTaccount(params1).then((response) => {
response.rows.map((res,index) => {
if(res.townAccountType=='2'){
res['payerFrom'] = '2'
this.payerOptions.push(res);
this.payerOptions[index].text = res.payee;
this.payerOptions[index].value = res.id;
}
})
});
this.getDictionaries();
this.getFileList();
},
methods: {
getDictionaries(){
getTransfer(this.$route.query.id).then((response) => {
this.getDicts("capital_expenditure_type").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.capitalExpenditureTypeOptions.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
this.capitalExpenditureType = this.selectDictLabel(res.data, response.data.capitalExpenditureType);
});
if(response.data.capitalExpenditureType==2){
this.capitalExpenditureOpen = true
let param={
'outId' : response.data.id,
'ynType' : '1'
}
getProjectto(param).then(res => {
console.log(this.selectDictLabel(this.projectFundTypeDictionaries, res.data.projectFundType))
this.projectFundType = this.selectDictLabel(this.projectFundTypeDictionaries, res.data.projectFundType);
this.projectForm = res.data
console.log(res.data)
})
}else{
this.showproject = false
}
this.form = response.data;
this.getPayeeList();
});
queryTransferDetail(this.$route.query.id).then((response) => {
this.getDicts("bank_type").then(res => {
for (var i = 0; i < res.data.length; i++) {
this.bankTypeDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
for (var j = 0 ; j < response.rows.length ; j++){
// response.rows[j].payeeText = response.rows[j].payee;
response.rows[j].bankTypeText = this.selectDictLabel(res.data, response.rows[j].bankType);
response.rows[j].showPayee = false;
}
this.chargeItme = response.rows;
});
});
},
getChange(){
if(this.buttonType == 'update'){
this.goUpdate();
}else if(this.buttonType == 'add'){
this.goAdd();
}
},
getError(e){
this.$notify({ type: 'danger', message: e.errors[0].message });
},
addChargeItme(index){
if(this.chargeItme.length>0&&this.chargeItme[this.chargeItme.length-1].payee == ''){
this.$notify({ type: 'danger', message: '请勿添加多个空列表信息' });
return;
}else if(this.chargeItme.length>0&&this.chargeItme[index-1].incomeAmount == ''){
this.$notify({ type: 'danger', message: '请输入收入金额!' });
return;
}else if(this.chargeItme.length>0&&this.chargeItme[index-1].payeeAccount == ''){
this.$notify({ type: 'danger', message: '请输入收款账户!' });
return;
}else if(this.chargeItme.length>0&&this.chargeItme[index-1].bankDeposit == ''){
this.$notify({ type: 'danger', message: '请输入开户银行!' });
return;
}else if(this.chargeItme.length>0&&this.chargeItme[index-1].bankType == ''){
this.$notify({ type: 'danger', message: '请选择所属银行!' });
return;
}
this.getDicts("bank_type").then(res => {
this.chargeItme.splice(index + 1, 0, {
payeeId: "", //收款方ID
payee: "", //收款方
payeeAccount: "", //收款账户
bankDeposit: "", //开户银行
incomeAmount: "", //收入金额
bankType: "", //所属银行
bankTypeText: "", //所属银行
showPayee:false,
showbankType:false
});
});
},
getPayeeList() {
//普通转账
this.queryParams.accountType = this.form.accountType
this.queryParams.status = "0"
if(this.form.cashierId==null||this.form.cashierId==""){
this.$notify({ type: 'danger', message: '请先选择付款方!' });
return;
}else {
this.queryParams.taccountId = parseInt(this.form.cashierId)
listVaccount(this.queryParams).then((response) => {
this.payeeList = response.rows;
response.rows.map((res,index) => {
this.payeeList[index].text = res.payee;
this.payeeList[index].value = res.id;
})
});
}
},
payeeDictLabel(datas, value) {
var actions = [];
Object.keys(datas).some((key) => {
if (datas[key].payeeId == ('' + value)) {
actions.push(datas[key].payee);
return true;
}
})
return actions.join('');
},
onConfirmCapital(data){
if (data.value != 2){
this.capitalExpenditureOpen = false;
this.projectForm = [];
}else{
this.capitalExpenditureOpen = true;
}
this.capitalExpenditureType = data.text;
this.form.capitalExpenditureType = data.value;
this.showcapital = false;
},
onConfirmFundType(data){
console.log(data)
this.projectForm.projectFundType = data.value;
this.projectFundType = data.text;
this.showFundType = false;
},
onConfirmProject(data){
this.projectList.map(res => {
if(res.projectName==data.text){
this.projectForm.projectId = res.id
this.projectForm.projectName = res.projectName
this.projectForm.projectContractor = res.projectContractor
this.projectForm.projectAmount = res.projectAmount
}
})
this.showproject = false;
},
onConfirmPayee(data,index){
console.log(data)
for (var i = 0 ; i < this.chargeItme.length ; i++){
this.chargeItme[i].showPayee = false;
}
this.chargeItme[index].payee = data.text;
this.chargeItme[index].payeeId = data.value;
this.payeeSelectChange(data.value , index)
this.onConfirmBankType(data,index)
},
onConfirmBankType(data,index){
console.log(this.bankTypeDictionaries)
this.bankTypeDictionaries.map(res => {
if(res.value==data.bankType){
this.chargeItme[index].bankTypeText = res.text;
this.chargeItme[index].bankType = res.value;
}
})

},
onConfirmPayer(data){
this.form.payer = data.text;
this.form.cashierId = data.value;
this.showpayer = false;
this.selectChange(data.value)
},
onConfirmLasj(data){
this.form.applyDate = this.getNowFormatDate(data).substr(0,10);
this.showlasj = false;
},
accountTypeChange(e){
this.payeeList = [];
this.chargeItme = [];
this.queryParams.accountType = this.form.accountType
if(this.form.cashierId==null||this.form.cashierId==""){
this.$notify({ type: 'danger', message: '请先选择付款方!' });
return;
}else {
this.queryParams.taccountId = parseInt(this.form.cashierId)
console.log(this.queryParams)
listVaccount(this.queryParams).then((response) => {
this.payeeList = response.rows;
response.rows.map((res,index) => {
this.payeeList[index].text = res.payee;
this.payeeList[index].value = res.id;
})
});
}
},
// 钱计算
moneyChange(input) {
console.log(input)
let obj = {};
obj = this.chargeItme.find((account) => {
//model就是上面的数据源
return parseFloat(account.incomeAmount).toFixed(2) === input; //筛选出匹配数据
});
let total = 0;
this.chargeItme.forEach((money) => {
total = (parseFloat(total) + parseFloat(money.incomeAmount)).toFixed(2)
});
this.$set(this.form, "expenditureAmount", total);
},
goAdd(){
if(this.chargeItme.length<1){
this.$notify({ type: 'danger', message: '请添加收款方信息' });
return;
}
if(this.form.remark != null && this.form.remark.indexOf("|")!=-1){
this.$notify({ type: 'danger', message: '付款事由禁止包含!' });
return;
}
if(this.form.capitalExpenditureType==2){
if(this.projectForm.projectName==""||this.projectForm.projectName==null){
this.$notify({ type: 'danger', message: '请选择项目名称!' });
return;
}
if(this.projectForm.projectBillNum==""||this.projectForm.projectBillNum==null){
this.$notify({ type: 'danger', message: '请输入工程发票号!' });
return;
}
}
if((this.uploadFiles==null||this.uploadFiles.length==0)&&(this.fileList==null||this.fileList.length==0)){
Dialog.confirm({
title: '提示',
message: '此申请单中未上传任何附件,是否确认提交?',
})
.then(() => {
this.$set(this.form, "payeeList", this.chargeItme);
this.$set(this.form, "bankTypeList", this.chargeItme);
this.$set(this.form, "accountTypeList", this.chargeItme);
this.$set(this.form, "transferStatusList", this.chargeItme);
updateTransfer(this.form).then(response => {
this.projectForm.outId = this.form.id
this.$set(this.projectForm, "ynType", '1');
if(this.uploadFiles!=null&&this.uploadFiles.length>0){
this.uploadFiles.map(rr => {
const params = new FormData();
params.append("tableId", this.form.id);
params.append("tableName", "t_yinnong_transfer");
params.append("bizPath", "upload");
params.append("fileType", "0");
params.append("file", rr);
commonAttach(params).then((r) => {
})
})
if(this.form.capitalExpenditureType==2){
addProjectto(this.projectForm).then(res => {
customSubmit(this.form.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
})
}else{
customSubmit(this.form.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
}
}else{
if(this.form.capitalExpenditureType==2){
addProjectto(this.projectForm).then(res => {
customSubmit(this.form.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
})
}else{
customSubmit(this.form.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
}
}
});
})
.catch(() => {
return false;
});
}else{
this.$set(this.form, "payeeList", this.chargeItme);
this.$set(this.form, "bankTypeList", this.chargeItme);
this.$set(this.form, "accountTypeList", this.chargeItme);
this.$set(this.form, "transferStatusList", this.chargeItme);
updateTransfer(this.form).then(response => {
this.projectForm.outId = this.form.id
this.$set(this.projectForm, "ynType", '1');
if(this.uploadFiles!=null&&this.uploadFiles.length>0){
this.uploadFiles.map(rr => {
const params = new FormData();
params.append("tableId", this.form.id);
params.append("tableName", "t_yinnong_transfer");
params.append("bizPath", "upload");
params.append("fileType", "0");
params.append("file", rr);
commonAttach(params).then((r) => {
})
})
if(this.form.capitalExpenditureType==2){
addProjectto(this.projectForm).then(res => {
customSubmit(this.form.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
})
}else{
customSubmit(this.form.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
}
}else{
if(this.form.capitalExpenditureType==2){
addProjectto(this.projectForm).then(res => {
customSubmit(this.form.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
})
}else{
customSubmit(this.form.id).then(res => {
this.$toast.success('提交成功');
setTimeout(function(){
history.go(-1)
},2000)
})
}
}
});
}


},
goUpdate(){
if(this.chargeItme.length<1){
this.$notify({ type: 'danger', message: '请添加收款方信息' });
return;
}
if(this.form.remark != null && this.form.remark.indexOf("|")!=-1){
this.$notify({ type: 'danger', message: '付款事由禁止包含!' });
return;
}
if(this.form.capitalExpenditureType==2){
if(this.projectForm.projectName==""||this.projectForm.projectName==null){
this.$notify({ type: 'danger', message: '请选择项目名称!' });
return;
}
if(this.projectForm.projectBillNum==""||this.projectForm.projectBillNum==null){
this.$notify({ type: 'danger', message: '请输入工程发票号!' });
return;
}
}
this.$set(this.form, "payeeList", this.chargeItme);
this.$set(this.form, "bankTypeList", this.chargeItme);
this.$set(this.form, "accountTypeList", this.chargeItme);
this.$set(this.form, "transferStatusList", this.chargeItme);
updateTransfer(this.form).then((response) => {
this.projectForm.outId = this.form.id
this.$set(this.projectForm, "ynType", '1');
if(this.uploadFiles!=null&&this.uploadFiles.length>0){
console.log(this.uploadFiles)
this.uploadFiles.map(rr => {
const params = new FormData();
params.append("tableId", this.form.id);
params.append("tableName", "t_yinnong_transfer");
params.append("bizPath", "upload");
params.append("fileType", "0");
params.append("file", rr);
commonAttach(params).then((r) => {
})
})
if(this.form.capitalExpenditureType==2){
addProjectto(this.projectForm).then(res => {
this.$toast.success('保存成功');
setTimeout(function(){
history.go(-1)
},2000)
})
}else{
this.$toast.success('保存成功');
setTimeout(function(){
history.go(-1)
},2000)
}
}else{
if(this.form.capitalExpenditureType==2){
addProjectto(this.projectForm).then(res => {
this.$toast.success('保存成功');
setTimeout(function(){
history.go(-1)
},2000)
})
}else{
this.$toast.success('保存成功');
setTimeout(function(){
history.go(-1)
},2000)
}
}

});
},
payeeSelectChange(select, i) {
let obj = {};
let fuzhitype = 0;
obj = this.payeeList.find((account) => {
//model就是上面的数据源
return account.id === select ; //筛选出匹配数据
});
if(this.chargeItme != [] && this.chargeItme.length>1){
this.chargeItme.some((value, index) => {
if(value.payeeAccount != undefined &&value.payeeAccount != '' && obj.payeeAccount == value.payeeAccount&&index!=i){
fuzhitype = 2;
return true;
}
if(value.accountType != undefined &&value.accountType != '' && obj.accountType != value.accountType&&index!=i){
fuzhitype = 1;
return true;
}
});
}
if(fuzhitype == 0){
this.$set(this.chargeItme[i], "payee",obj.payee)
this.$set(this.chargeItme[i], "bankType", obj.bankType)
this.$set(this.chargeItme[i], "payeeId", obj.id);
this.$set(this.chargeItme[i], "payeeAccount", obj.payeeAccount);
this.$set(this.chargeItme[i], "bankDeposit", obj.bankDeposit);
this.$set(this.chargeItme[i], "accountType", obj.accountType);
this.$set(this.chargeItme[i], "payeePaymentLines", obj.payeePaymentLines);
}else if(fuzhitype == 1){
this.$set(this.chargeItme[i], "payee",'')
this.$set(this.chargeItme[i], "bankType",'')
this.$set(this.chargeItme[i], "payeeId", '');
this.$set(this.chargeItme[i], "payeeAccount", '');
this.$set(this.chargeItme[i], "bankDeposit", '');
this.$set(this.chargeItme[i], "accountType", '');
this.$set(this.chargeItme[i], "payeePaymentLines", '');
this.$notify({ type: 'danger', message: '请选择账户类型相同的收款方!' });
}else if(fuzhitype == 2){
this.$set(this.chargeItme[i], "payee",'')
this.$set(this.chargeItme[i], "bankType",'')
this.$set(this.chargeItme[i], "payeeId", '');
this.$set(this.chargeItme[i], "payeeAccount", '');
this.$set(this.chargeItme[i], "bankDeposit", '');
this.$set(this.chargeItme[i], "accountType", '');
this.$set(this.chargeItme[i], "payeePaymentLines", '');
this.$notify({ type: 'danger', message: '收款方已存在!' });
}
},
selectChange(select) {
let obj = {};
obj = this.payerOptions.find((account) => {
//model就是上面的数据源
return account.id === select; //筛选出匹配数据
});
if(obj.accountPassword != null && obj.accountPassword != "" &&
obj.bankType != null && obj.bankType != ""){
this.$set(this.form, "bookId", obj.bookId);
this.$set(this.form, "deptId", obj.deptId);
this.$set(this.form, "cashierId", obj.id);
this.$set(this.form, "payer", obj.accountName);
this.$set(this.form, "payerAccount", obj.bankAccountNumber);
this.$set(this.form, "operatorCode", obj.operatorCode);
this.$set(this.form, "enterpriseCode", obj.enterpriseCode);
this.$set(this.form, "bankType", obj.bankType);
this.$set(this.form, "payerFrom", '1');
}else{
if(obj.payerFrom==1){
this.diglogStatus = false;
this.$notify({ type: 'danger', message: "请完善付款方“操作员代码”、“企业编码”、“支付口令”等信息!" });
this.$set(this.form,"payer","")
this.$set(this.form,"payerAccount","")
}else{
this.$set(this.form, "payerFrom", obj.parerFrom);
if(obj.operatorCode!=null&&obj.operatorCode!=''){
this.$set(this.form, "operatorCode", obj.operatorCode);
}else{
this.$set(this.form, "operatorCode", '');
}
if(obj.enterpriseCode!=null&&obj.enterpriseCode!=''){
this.$set(this.form, "enterpriseCode", obj.enterpriseCode);
}else{
this.$set(this.form, "enterpriseCode", '');
}
if(obj.accountPassword!=null&&obj.accountPassword!=''){
this.$set(this.form, "accountPassword", obj.accountPassword);
}else{
this.$set(this.form, "accountPassword", '');
}
this.$set(this.form, "bookId",'');
this.$set(this.form, "deptId", '');
this.$set(this.form, "cashierId", obj.id);
this.$set(this.form, "payer", obj.accountName);
if(obj.payerFrom==6){
getQmyeFlow(obj.bankAccountNumber).then((response) => {
this.$set(this.form, "payerAccount", response.data);
});
}else {
this.$set(this.form, "payerAccount", obj.bankAccountNumber);
}
}
}
},
beforeRead(file) {
this.uploadFiles.push(file.file);
},
deleteFile(file){
console.log(file)
this.uploadFiles.map((response,index) => {
if(file.file == response){
this.uploadFiles.splice(index,1)
}
})
if(file.id){
systemAttachment(file.id).then((res) => {
});
}
},
getFileList(){
let oData= {
tableId: this.$route.query.id,
tableName: "t_yinnong_transfer",
bizPath: "upload",
fileType: "0",
}
attachmentList(oData).then(res => {
console.log(res)
console.log(location.protocol+"//"+location.host+request.defaults.baseURL)
res.rows.map(r => {
let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL
this.fileList.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{}),"id":r.id})
console.log(r)
})
})
},
goBack(){
window.history.go(-1)
},
//删除家庭成员
deleteChargeItme(index){
this.chargeItme.splice(index,1)
},
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;
}

.addFamily{
position: absolute;
top: -2px;
right: 0;
border-radius: 50%;
}
.deleteFamily{
position: absolute;
top: 0rem;
right: 6%;
z-index: 9;
border-radius: 50%;
}
</style>

+ 240
- 0
src/views/yinnong/bankAgriculture/paymentApproval/approvalProcess.vue Ver ficheiro

@@ -0,0 +1,240 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">付款申请流程</p>
</template>
</van-nav-bar>
<div class="main_box">
<van-row v-if="processList.待申请!=2">
<van-col span="6" align="right"><p class="icon_jian blue"><van-icon name="success" size="14" /></p></van-col>
<van-col span="18" class="textBlue">草稿</van-col>
</van-row>
<van-row v-if="processList.待申请==2">
<van-col span="6" align="right"><p class="icon_jian blue"><van-icon name="success" size="14" /></p></van-col>
<van-col span="18" class="textBlue">已申请
<van-row>
<van-col span="24" style="padding: 0;" class="textBlue" v-show="processList.待申请==2">申请人:{{processList.申请人}}</van-col>
</van-row>
<van-row>
<van-col span="24" style="padding: 0;" class="textBlue" v-show="processList.待申请==2">申请时间:{{processList.申请时间}}</van-col>
</van-row>
</van-col>
</van-row>
<van-row>
<van-col span="6" align="right">
<p class="icon_jian" v-show="processList.乡镇审批==1"><van-icon name="minus" size="14" /></p>
<p class="icon_jian blue" v-show="processList.乡镇审批==2"><van-icon name="success" size="14" /></p>
<p class="icon_jian red" v-show="processList.乡镇审批==3"><van-icon name="cross" size="14" /></p>
</van-col>
<van-col span="18">
<p v-show="processList.乡镇审批==1">乡镇审批</p>
<p v-show="processList.乡镇审批==2" class="textBlue">乡镇审批</p>
<p v-show="processList.乡镇审批==3" class="textRed">乡镇审批</p>
<van-row>
<van-col span="24" style="padding: 0;" v-if="processList.乡镇审批人!=null&&processList.乡镇审批人!=''">
<p v-show="processList.乡镇审批==1">审批人:{{processList.乡镇审批人}}</p>
<p v-show="processList.乡镇审批==2" class="textBlue">审批人:{{processList.乡镇审批人}}</p>
<p v-show="processList.乡镇审批==3" class="textRed">审批人:{{processList.乡镇审批人}}</p>
</van-col>
</van-row>
<van-row>
<van-col span="24" style="padding: 0;" v-if="processList.乡镇审批时间!=null&&processList.乡镇审批时间!=''">
<p v-show="processList.乡镇审批==1">审批时间:{{processList.乡镇审批时间}}</p>
<p v-show="processList.乡镇审批==2" class="textBlue">审批时间:{{processList.乡镇审批时间}}</p>
<p v-show="processList.乡镇审批==3" class="textRed">审批时间:{{processList.乡镇审批时间}}</p>
</van-col>
</van-row>
</van-col>
</van-row>
<van-row v-if="form.approveLevel==2">
<van-col span="6" align="right">
<p class="icon_jian" v-show="processList.区县审批==1"><van-icon name="minus" size="14" /></p>
<p class="icon_jian blue" v-show="processList.区县审批==2"><van-icon name="success" size="14" /></p>
<p class="icon_jian red" v-show="processList.区县审批==3"><van-icon name="cross" size="14" /></p>
</van-col>
<van-col span="18">
<p v-show="processList.区县审批==1">区县审批</p>
<p v-show="processList.区县审批==2" class="textBlue">区县审批</p>
<p v-show="processList.区县审批==3" class="textRed">区县审批</p>

<van-row>
<van-col span="24" style="padding: 0;" v-if="processList.区县审批人!=null&&processList.区县审批人!=''">
<p v-show="processList.区县审批==1">审批人:{{processList.区县审批人}}</p>
<p v-show="processList.区县审批==2" class="textBlue">审批人:{{processList.区县审批人}}</p>
<p v-show="processList.区县审批==3" class="textRed">审批人:{{processList.区县审批人}}</p>
</van-col>
</van-row>
<van-row>

<van-col span="24" style="padding: 0;" v-if="processList.区县审批时间!=null&&processList.区县审批时间!=''">
<p v-show="processList.区县审批==1">审批时间:{{processList.区县审批时间}}</p>
<p v-show="processList.区县审批==2" class="textBlue">审批时间:{{processList.区县审批时间}}</p>
<p v-show="processList.区县审批==3" class="textRed">审批时间:{{processList.区县审批时间}}</p>
</van-col>
</van-row>
</van-col>
</van-row>
<van-row v-show="form.transferType==1||form.transferType=='常用转账'">
<van-col span="6" align="right">
<p class="icon_jian" v-show="processList.支付状态==1"><van-icon name="minus" size="14" /></p>
<p class="icon_jian blue" v-show="processList.支付状态==2"><van-icon name="success" size="14" /></p>
<p class="icon_jian red" v-show="processList.支付状态==3"><van-icon name="cross" size="14" /></p>
</van-col>
<van-col span="18">
<p v-show="processList.支付状态==1">待支付</p>
<p v-show="processList.支付状态==2" class="textBlue">支付成功</p>
<p v-show="processList.支付状态==3" class="textRed">支付异常</p>
<van-row>
<van-col span="24" style="padding: 0;">
<p v-show="processList.支付状态==2||processList.支付状态==3">支付时间:{{processList.支付时间}}</p>
</van-col>
</van-row>
</van-col>
</van-row>
<van-row v-show="form.transferType==1||form.transferType=='常用转账'">
<van-col span="6" align="right">
<p class="icon_jian" v-show="processList.入账状态==1"><van-icon name="minus" size="14" /></p>
<p class="icon_jian blue" v-show="processList.入账状态==2"><van-icon name="success" size="14" /></p>
<p class="icon_jian red" v-show="processList.入账状态==3"><van-icon name="cross" size="14" /></p>
</van-col>
<van-col span="18">
<p v-show="processList.入账状态==1">未入账</p>
<p v-show="processList.入账状态==2" class="textBlue">入账成功</p>
<p v-show="processList.入账状态==3" class="textRed">入账异常</p>
<van-row>
<van-col span="24" style="padding: 0;">
<p v-show="processList.入账状态==2||processList.入账状态==3">入账时间:{{processList.入账时间}}</p>
</van-col>
</van-row>
</van-col>
</van-row>
</div>
</div>
</template>

<script>
import {
getTransferProcess,
getTransfer,
getProjectto,
queryTransferDetail
} from "@/api/onlineHome/bankAgriculture/paymentApproval";
export default {
name: "approvalProcess",
data() {
return {
processList:{},
form:{}
};
},
created() {
this.handleUpdate(this.$route.query.id);
},
methods: {
//查询审批进程
getTransferProcess(id){
getTransferProcess(id).then(res => {
this.processList = res.data.processSchedule
console.log(res.data.processSchedule)
this.processList.乡镇审批时间 = this.processList.乡镇审批时间?this.format(this.processList.乡镇审批时间, "yyyy-MM-dd HH:mm:ss"):""
this.processList.区县审批时间 = this.processList.区县审批时间?this.format(this.processList.区县审批时间, "yyyy-MM-dd HH:mm:ss"):""
this.processList.支付状态时间 = this.processList.支付状态时间?this.format(this.processList.支付状态时间, "yyyy-MM-dd HH:mm:ss"):""
this.processList.入账状态时间 = this.processList.入账状态时间?this.format(this.processList.入账状态时间, "yyyy-MM-dd HH:mm:ss"):""
})
},
handleUpdate(id) {
getTransfer(id).then((response) => {
this.form = response.data;
this.processList = {}
this.getTransferProcess(this.$route.query.id);
if(this.form.capitalExpenditureType==2){
this.capitalExpenditureOpen = true
let param={
'outId' : this.form.id,
'ynType' : '1'
}
getProjectto(param).then(res => {
this.projectForm = res.data
this.projectForm.projectFundType+=""
queryTransferDetail(id).then((r) => {
this.chargeItme = r.rows;
this.length = this.chargeItme.length;
this.detailTotal = r.total;
this.loading = false;
});
})
}else{
this.capitalExpenditureOpen = false
queryTransferDetail(id).then((r) => {
this.chargeItme = r.rows;
this.length = this.chargeItme.length;
this.detailTotal = r.total;
this.loading = false;
});
}

});

},
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 0.2rem 0;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
padding: 20Px 0;
}
.icon_jian{
background-color: #C9C9C9;
display: inline-block;
width: 20Px;
height: 20Px;
line-height: 24Px;
text-align: center;
border-radius: 50%;
color: #FFF;
}
.blue{
background-color: #1D6FE9;
}
.red{
background-color: rgb(245, 108, 108);
}
.textBlue{
color: #1D6FE9!important;
}
.textRed{
color: rgb(245, 108, 108)!important;
}
.van-col{
padding: 20Px 10Px;
}
.van-col:nth-child(2){
font-size: 16Px;
color: #878787;
line-height: 22Px;
}
.van-row{
.van-row{
.van-col{
padding: 5Px 0 0 0!important;
color: #878787;
}
}
}
</style>

+ 245
- 0
src/views/yinnong/bankAgriculture/paymentApproval/approvalProcess2.vue Ver ficheiro

@@ -0,0 +1,245 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">付款申请流程</p>
</template>
</van-nav-bar>
<div class="main_box">
<van-row v-if="processList.待申请!=2">
<van-col span="6" align="right"><p class="icon_jian blue"><van-icon name="success" size="14" /></p></van-col>
<van-col span="18" class="textBlue">草稿</van-col>
</van-row>
<van-row v-if="processList.待申请==2">
<van-col span="6" align="right"><p class="icon_jian blue"><van-icon name="success" size="14" /></p></van-col>
<van-col span="18" class="textBlue">已申请
<van-row>
<van-col span="24" style="padding: 0;" class="textBlue" v-show="processList.待申请==2">申请人:{{processList.申请人}}</van-col>
</van-row>
<van-row>
<van-col span="24" style="padding: 0;" class="textBlue" v-show="processList.待申请==2">申请时间:{{processList.申请时间}}</van-col>
</van-row>
</van-col>
</van-row>
<van-row>
<van-col span="6" align="right">
<p class="icon_jian" v-show="processList.乡镇审批==1"><van-icon name="minus" size="14" /></p>
<p class="icon_jian blue" v-show="processList.乡镇审批==2"><van-icon name="success" size="14" /></p>
<p class="icon_jian red" v-show="processList.乡镇审批==3"><van-icon name="cross" size="14" /></p>
</van-col>
<van-col span="18">
<p v-show="processList.乡镇审批==1">乡镇审批</p>
<p v-show="processList.乡镇审批==2" class="textBlue">乡镇审批</p>
<p v-show="processList.乡镇审批==3" class="textRed">乡镇审批</p>
<van-row>
<van-col span="24" style="padding: 0;" v-if="processList.乡镇审批人!=null&&processList.乡镇审批人!=''">
<p v-show="processList.乡镇审批==1">审批人:{{processList.乡镇审批人}}</p>
<p v-show="processList.乡镇审批==2" class="textBlue">审批人:{{processList.乡镇审批人}}</p>
<p v-show="processList.乡镇审批==3" class="textRed">审批人:{{processList.乡镇审批人}}</p>
</van-col>
</van-row>
<van-row>
<van-col span="24" style="padding: 0;" v-if="processList.乡镇审批时间!=null&&processList.乡镇审批时间!=''">
<p v-show="processList.乡镇审批==1">审批时间:{{processList.乡镇审批时间}}</p>
<p v-show="processList.乡镇审批==2" class="textBlue">审批时间:{{processList.乡镇审批时间}}</p>
<p v-show="processList.乡镇审批==3" class="textRed">审批时间:{{processList.乡镇审批时间}}</p>
</van-col>
</van-row>
</van-col>
</van-row>
<van-row v-if="form.approveLevel==2">
<van-col span="6" align="right">
<p class="icon_jian" v-show="processList.区县审批==1"><van-icon name="minus" size="14" /></p>
<p class="icon_jian blue" v-show="processList.区县审批==2"><van-icon name="success" size="14" /></p>
<p class="icon_jian red" v-show="processList.区县审批==3"><van-icon name="cross" size="14" /></p>
</van-col>
<van-col span="18">
<p v-show="processList.区县审批==1">区县审批</p>
<p v-show="processList.区县审批==2" class="textBlue">区县审批</p>
<p v-show="processList.区县审批==3" class="textRed">区县审批</p>

<van-row>
<van-col span="24" style="padding: 0;" v-if="processList.区县审批人!=null&&processList.区县审批人!=''">
<p v-show="processList.区县审批==1">审批人:{{processList.区县审批人}}</p>
<p v-show="processList.区县审批==2" class="textBlue">审批人:{{processList.区县审批人}}</p>
<p v-show="processList.区县审批==3" class="textRed">审批人:{{processList.区县审批人}}</p>
</van-col>
</van-row>
<van-row>

<van-col span="24" style="padding: 0;" v-if="processList.区县审批时间!=null&&processList.区县审批时间!=''">
<p v-show="processList.区县审批==1">审批时间:{{processList.区县审批时间}}</p>
<p v-show="processList.区县审批==2" class="textBlue">审批时间:{{processList.区县审批时间}}</p>
<p v-show="processList.区县审批==3" class="textRed">审批时间:{{processList.区县审批时间}}</p>
</van-col>
</van-row>
</van-col>
</van-row>
<van-row v-show="form.transferType==1||form.transferType=='常用转账'">
<van-col span="6" align="right">
<p class="icon_jian" v-show="processList.支付状态==1"><van-icon name="minus" size="14" /></p>
<p class="icon_jian blue" v-show="processList.支付状态==2"><van-icon name="success" size="14" /></p>
<p class="icon_jian red" v-show="processList.支付状态==3"><van-icon name="cross" size="14" /></p>
</van-col>
<van-col span="18">
<p v-show="processList.支付状态==1">待支付</p>
<p v-show="processList.支付状态==2" class="textBlue">支付成功</p>
<p v-show="processList.支付状态==3" class="textRed">支付异常</p>
<van-row>
<van-col span="24" style="padding: 0;">
<p v-show="processList.支付状态==2||processList.支付状态==3">支付时间:{{processList.支付时间}}</p>
</van-col>
</van-row>
</van-col>
</van-row>
<van-row v-show="form.transferType==1||form.transferType=='常用转账'">
<van-col span="6" align="right">
<p class="icon_jian" v-show="processList.入账状态==1"><van-icon name="minus" size="14" /></p>
<p class="icon_jian blue" v-show="processList.入账状态==2"><van-icon name="success" size="14" /></p>
<p class="icon_jian red" v-show="processList.入账状态==3"><van-icon name="cross" size="14" /></p>
</van-col>
<van-col span="18">
<p v-show="processList.入账状态==1">未入账</p>
<p v-show="processList.入账状态==2" class="textBlue">入账成功</p>
<p v-show="processList.入账状态==3" class="textRed">入账异常</p>
<van-row>
<van-col span="24" style="padding: 0;">
<p v-show="processList.入账状态==2||processList.入账状态==3">入账时间:{{processList.入账时间}}</p>
</van-col>
</van-row>
</van-col>
</van-row>
</div>
</div>
</template>

<script>
import {
getTransferProcess,
getTransfer,
getProjectto,
queryTransferDetail
} from "@/api/onlineHome/bankAgriculture/paymentApproval";
import {
getCash,
getTransferProcess1,
listCashdetailByCashId
} from "../../../../api/onlineHome/bankAgriculture/paymentApproval";
export default {
name: "approvalProcess",
data() {
return {
processList:{},
form:{}
};
},
created() {
this.handleUpdate(this.$route.query.id);
},
methods: {
//查询审批进程
getTransferProcess1(id){
getTransferProcess1(id).then(res => {
this.processList = res.data.processSchedule
console.log(res.data.processSchedule)
this.processList.乡镇审批时间 = this.processList.乡镇审批时间?this.format(this.processList.乡镇审批时间, "yyyy-MM-dd HH:mm:ss"):""
this.processList.区县审批时间 = this.processList.区县审批时间?this.format(this.processList.区县审批时间, "yyyy-MM-dd HH:mm:ss"):""
this.processList.支付状态时间 = this.processList.支付状态时间?this.format(this.processList.支付状态时间, "yyyy-MM-dd HH:mm:ss"):""
this.processList.入账状态时间 = this.processList.入账状态时间?this.format(this.processList.入账状态时间, "yyyy-MM-dd HH:mm:ss"):""
})
},
handleUpdate(id) {
getCash(id).then((response) => {
this.form = response.data;
this.processList = {}
this.getTransferProcess1(this.$route.query.id);
if(this.form.capitalExpenditureType==2){
this.capitalExpenditureOpen = true
let param={
'outId' : this.form.id,
'ynType' : '2'
}
getProjectto(param).then(res => {
this.projectForm = res.data
this.projectForm.projectFundType+=""
listCashdetailByCashId(id).then((r) => {
this.chargeItme = r.data;
this.length = this.chargeItme.length;
this.detailTotal = r.total;
this.loading = false;
});
})
}else{
this.capitalExpenditureOpen = false
listCashdetailByCashId(id).then((r) => {
this.chargeItme = r.data;
this.length = this.chargeItme.length;
this.detailTotal = r.total;
this.loading = false;
});
}

});

},
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 0.2rem 0;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
padding: 20Px 0;
}
.icon_jian{
background-color: #C9C9C9;
display: inline-block;
width: 20Px;
height: 20Px;
line-height: 24Px;
text-align: center;
border-radius: 50%;
color: #FFF;
}
.blue{
background-color: #1D6FE9;
}
.red{
background-color: rgb(245, 108, 108);
}
.textBlue{
color: #1D6FE9!important;
}
.textRed{
color: rgb(245, 108, 108)!important;
}
.van-col{
padding: 20Px 10Px;
}
.van-col:nth-child(2){
font-size: 16Px;
color: #878787;
line-height: 22Px;
}
.van-row{
.van-row{
.van-col{
padding: 5Px 0 0 0!important;
color: #878787;
}
}
}
</style>

+ 164
- 0
src/views/yinnong/done.vue Ver ficheiro

@@ -0,0 +1,164 @@
<template>
<div>
<van-nav-bar
title="我的事项"
left-arrow
@click-left="goOnlineHomeIndex"
/>
<van-tabs v-model="activeName" title-active-color="#1D6FE9" color="#1D6FE9" line-width="20px" swipeable @click="getList">
<van-tab title="待办" name="1" >
</van-tab>
<van-tab title="已办" name="2">
</van-tab>
</van-tabs>
<van-cell-group @click="goDetail(item)" v-for="(item,index) in taskList" :key="index" style="width: 96%;margin:2%;border-radius: 6px;overflow: hidden;padding-top: 10px;padding-bottom: 10px;box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);">
<van-cell>
<template #title>
<van-row style="">
<van-col span="23" :offset="1">

<h3 style="display: inline-block;line-height: 30px;margin-left: 6px;width: 100%;overflow: hidden;">
<van-image
height="20"
width="20"
style="vertical-align: middle;margin-right: 10px"
src="../../../static/images/onlineHome/done.png"></van-image>{{item.projectName}}</h3>
</van-col>
</van-row>
</template>
</van-cell>
<van-cell>
<template #title>
<van-row>
<van-col span="6" :offset="1">
<p style="color: #878787">{{item.createTime?item.createTime.substring(0,10):item.startTime.substring(0,10)}}</p>
</van-col>
<van-col span="10" :offset="1">
<p style="color: #878787">{{item.formData.activityBusinessType}}</p>
</van-col>
<van-col span="5" :offset="1">
<p style="font-size: 14px;font-weight:bold;text-align: right;color: #1D6FE9">{{activeName=='1'?'待审批':'已审批'}}</p>
</van-col>
</van-row>
</template>
</van-cell>
</van-cell-group>
</div>
</template>

<script>
import onlineHomeIndex from "../onlineHomeIndex";
import {ListDone, ListTodo} from "../../api/onlineHome/done";

export default {
components: {
onlineHomeIndex
},
name: "done",
data(){
return{
taskList:[],
activeName:this.$route.query.activeName?this.$route.query.activeName:'1',
total:0,
queryParams: {
pageNum: 1,
pageSize: 100,
},
activityBusinessTypeOptions:[],
}
},
created() {
this.getDicts("activity_business_type").then((response) => {
this.activityBusinessTypeOptions = response.data;
if(this.$route.query.activeName){
this.activeName = this.$route.query.activeName
}
this.getList();
});

},
methods: {
goOnlineHomeIndex(){
this.$router.go(-1)
},
getList() {
this.taskList = []
this.$set(this.queryParams, "systemType", '4');
if(this.activeName=='1'){
ListTodo(this.queryParams).then((response) => {
console.log(response)
response.rows.map(res => {
if(res.tableName?res.tableName.indexOf('house')>0:""){
res.tableName = '来自农村宅基地管理系统'
}else if(res.tableName?res.tableName.indexOf('sys_seal')>0:""){
res.tableName = '来自银农直联审批管理系统'
}else if(res.tableName?res.tableName.indexOf('yinnong')>0:""){
res.tableName = '来自银农直联审批管理系统'
}
if(this.activityBusinessTypeOptions){
this.activityBusinessTypeOptions.map(t => {
if(t.dictValue == res.formData.activityBusinessType){
res.formData.activityBusinessType = t.dictLabel
this.taskList.push(res)
}
});
}
})
})
}else{
ListDone(this.queryParams).then((response) => {
console.log(response)
response.rows.map(res => {
if(res.tableName?res.tableName.indexOf('house')>0:""){
res.tableName = '来自农村宅基地管理系统'
}else if(res.tableName?res.tableName.indexOf('sys_seal')>0:""){
res.tableName = '来自银农直联审批管理系统'
}else if(res.tableName?res.tableName.indexOf('yinnong')>0:""){
res.tableName = '来自银农直联审批管理系统'
}
if(this.activityBusinessTypeOptions){
this.activityBusinessTypeOptions.map(t => {
if(t.dictValue == res.formData.activityBusinessType){
res.formData.activityBusinessType = t.dictLabel
this.taskList.push(res)
}
});
}
})
})
}
},
goDetail(item){
console.log(item)
let type = item.formData.processKey;
switch (type) {
case 'baseApply':
case 'landscope':
case 'accepting':
this.$router.push({name:'approvalForm',query: {id:item.formData.id,taskId:item.taskId,instanceId:item.formData.instanceId,type:item.type}})
break;
case 'yinnong_transfer':
this.$router.push({name:'approvalApproval',query: {id:item.formData.id,taskId:item.taskId,type:item.type}})
break;
case 'yinnong_cash':
if(item.formData.cashType == '10'){
this.$router.push({name:'approvalApproval10',query: {id:item.formData.id,taskId:item.taskId,type:item.type}})
break;
}
if(item.formData.cashType == '11'){
this.$router.push({name:'approvalApproval11',query: {id:item.formData.id,taskId:item.taskId,type:item.type}})
break;
}
if(item.formData.cashType == '12'){
this.$router.push({name:'approvalApproval12',query: {id:item.formData.id,taskId:item.taskId,type:item.type}})
break;
}
}
}
},
}
</script>

<style scoped>

</style>

+ 119
- 0
src/views/yinnong/doneDetail.vue Ver ficheiro

@@ -0,0 +1,119 @@
<template>
<div>
<van-nav-bar
title="我的事项"
left-arrow
@click-left="$router.back(-1)"
/>
<van-tabs v-model="activeName" title-active-color="#1D6FE9" color="#1D6FE9" line-width="20px" swipeable @click="getList">
<van-tab title="待办" name="1" >
</van-tab>
<van-tab title="已办" name="2">
</van-tab>
</van-tabs>
<van-cell-group v-for="(item,index) in taskList" :key="index" style="width: 96%;margin:2%;border-radius: 6px;overflow: hidden;padding-top: 10px;padding-bottom: 10px;box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);">
<van-cell>
<template #title>
<van-row style="margin-bottom:10px ">
<van-col span="23" :offset="1">

<h3 style="display: inline-block;line-height: 30px;margin-left: 6px;width: 100%;overflow: hidden;">
<van-image
height="20"
width="20"
style="vertical-align: middle;margin-right: 10px"
src="../../../static/images/onlineHome/done.png"></van-image>{{item.projectName}}</h3>
</van-col>
</van-row>
</template>
<template #label>
<van-row style="margin: 5px 0">
<van-col span="15" :offset="1">
<p style="font-size: 14px;">申请:</p>
</van-col>
<van-col span="6" :offset="2">
<p style="font-size: 14px;font-weight:bold;text-align: right;color: #1D6FE9">{{activeName=='1'?'待审批':'已审批'}}</p>
</van-col>
</van-row>
</template>
</van-cell>
<van-cell>
<template #title>
<van-row>
<van-col span="6" :offset="1">
<p style="color: #878787">{{item.createTime?item.createTime.substring(0,10):item.startTime.substring(0,10)}}</p>
</van-col>
<van-col span="16" :offset="1">
<p style="color: #878787">{{item.tableName}}</p>
</van-col>
</van-row>
</template>
</van-cell>
</van-cell-group>
</div>
</template>

<script>
import onlineHomeIndex from "../onlineHomeIndex";
import {ListDone, ListTodo} from "../../api/onlineHome/done";

export default {
components: {
onlineHomeIndex
},
name: "doneDetail",
data(){
return{
taskList:[],
activeName:'1',
total:0,
queryParams: {
pageNum: 1,
pageSize: 100,
},
}
},
created() {
this.getList();
},
methods: {
getList() {
this.taskList = []
this.$set(this.queryParams, "systemType", '');
if(this.activeName=='1'){
ListTodo(this.queryParams).then((response) => {
console.log(response)
response.rows.map(res => {
if(res.tableName?res.tableName.indexOf('house')>0:""){
res.tableName = '来自农村宅基地管理系统'
}else if(res.tableName?res.tableName.indexOf('sys_seal')>0:""){
res.tableName = '来自银农直联审批管理系统'
}else if(res.tableName?res.tableName.indexOf('yinnong')>0:""){
res.tableName = '来自银农直联审批管理系统'
}
this.taskList.push(res)
})
})
}else{
ListDone(this.queryParams).then((response) => {
console.log(response)
response.rows.map(res => {
if(res.tableName?res.tableName.indexOf('house')>0:""){
res.tableName = '来自农村宅基地管理系统'
}else if(res.tableName?res.tableName.indexOf('sys_seal')>0:""){
res.tableName = '来自银农直联审批管理系统'
}else if(res.tableName?res.tableName.indexOf('yinnong')>0:""){
res.tableName = '来自银农直联审批管理系统'
}
this.taskList.push(res)
})
})
}
},
},
}
</script>

<style scoped>

</style>

+ 165
- 0
src/views/yinnong/expenditureDetail.vue Ver ficheiro

@@ -0,0 +1,165 @@
<template>
<div class="app-container">
<van-nav-bar
title="支出明细公开表"
left-arrow
@click-left="$router.back(-1)"
/>
<van-row style="margin-top: 20px">
<van-col span="9" :offset="2">
<h3>{{$store.state.user.bookName}}</h3>
</van-col>
<van-col span="10" :offset="2">
<van-field placeholder="日期选择" v-model="date" @click="show = true" :disabled="true" right-icon="arrow-down" style=" border-radius: 10px;padding: 0 0 0 5px;text-align: center"/>
<van-calendar v-model="show" type="range" :min-date="minDate" :max-date="maxDate" :show-confirm="false" @confirm="onConfirm"/>
</van-col>
</van-row>
<van-cell-group v-for="(item,index) in list" :key="index" style="width: 96%;margin:2%;border-radius: 6px;overflow: hidden;padding-top: 10px;padding-bottom: 10px;box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);">
<van-cell>
<template #icon>
<p style="line-height: 50px;font-size: 16px">{{item.id}}</p>
</template>
<template #title>
<van-row>
<van-col span="11" :offset="1">
<p>{{item.voucherSummary}}</p>
</van-col>
<van-col span="12">
<p v-if="item.out" style="color:#E50000;text-align: right">-{{item.out}}</p>
<p v-if="item.in" style="color:#0AA214;text-align: right">{{item.in}}</p>
</van-col>
</van-row>
</template>
<template #label>
<van-row>
<van-col span="9" :offset="1">
<p>{{item.subjectName}}</p>
</van-col>
<van-col span="5" :offset="2">
{{item.num}}
</van-col>
<van-col span="7">
<p style="text-align: right">{{item.bookDate}}</p>
</van-col>
</van-row>
</template>
</van-cell>
</van-cell-group>
<van-cell-group v-if="list.length==0" style="width: 96%;margin:2%;border-radius: 6px;overflow: hidden;padding-top: 10px;padding-bottom: 10px;box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);">
<van-cell>
<template #icon>
<p style="line-height: 50px;font-size: 16px"></p>
</template>
<template #title>
<van-row>
<van-col span="11" :offset="1">
<p> 暂无数据 </p>
</van-col>
<van-col span="12">

</van-col>
</van-row>
</template>
<template #label>
<van-row>
<van-col span="9" :offset="1">

</van-col>
<van-col span="5" :offset="2">

</van-col>
<van-col span="7">

</van-col>
</van-row>
</template>
</van-cell>
</van-cell-group>
<!-- <van-datetime-picker
v-model="currentDate1"
type="year-month"
title="开始时间"
:formatter="formatter"
/>
<van-datetime-picker
v-model="currentDate2"
type="year-month"
title="截止时间"
:formatter="formatter"
/>-->
</div>
</template>

<script>
import onlineHomeIndex from "../onlineHomeIndex";
import {getFinancialOut} from "../../api/onlineHome/finacial";

export default {
components: {
onlineHomeIndex
},
name: "incomeDetail",
data() {
return {
activeName: 'a',
list: [],
loading: false,
finished: false,
result:[],
date: null,
show: false,
queryParams: {
// 分页
pageNum: 1,
pageSize: 10,
deptId:this.$store.state.user.loginDeptId,
bookType:this.$store.getters.bookType,
beginTime: "",
endTime: ""
// 查询排序
//orderByColumn: "id",
//isAsc: "desc",
},
currentDate1:null,
currentDate2:null,
minDate: new Date(2000, 0, 1),
maxDate: new Date(2050, 0, 31),
};
},
created() {
},
methods: {
formatDate(date) {
let month = `${date.getMonth() + 1}`
if(month.indexOf('0')<0){
month = '0'+month
}
return `${date.getFullYear() + 1}-`+month ;
},
onConfirm(date) {
const [start, end] = date;
this.show = false;
this.date = `${this.formatDate(start)} ~ ${this.formatDate(end)}`;
this.queryParams.beginTime = '${this.formatDate(start)}'
this.queryParams.endTime = '${this.formatDate(end)}'
this.getList();
},
getList(){
this.loading = true;
getFinancialOut(this.queryParams).then(res =>{
this.list = res.rows
this.loading = false;
this.total = res.total
})
},
},
}
</script>

<style scoped>
>>>.van-cell::after {
border-bottom: none;
}
input::-ms-input-placeholder{text-align: center;}
input::-webkit-input-placeholder{text-align: center;}
</style>

+ 59
- 0
src/views/yinnong/farmerPortrait.vue Ver ficheiro

@@ -0,0 +1,59 @@
<template>
<div class="app-container">
<van-nav-bar
title="村民画像"
left-arrow
@click-left="$router.back(-1)"
>
</van-nav-bar>
<van-list
finished-text="没有更多了"
>
<van-swipe-cell v-for="(item,index) in list" :key="index">
<van-cell :title="'户编号:'+item.name1" center class="van-cell-group">
<template #icon>
<van-icon name="../../../static/images/onlineHome/myIcon1.png" size="22" color="#FF4646" style="margin-right: 10px;" />
</template>
<template #label>
<p><span>{{item.name2}}</span><i style="margin-right: 30px;"></i>{{item.name3}}<i style="margin-right: 30px;"></i>{{item.name4}}</p>
</template>
</van-cell>
</van-swipe-cell>
</van-list>
</div>
</template>

<script>
import onlineHomeIndex from "../onlineHomeIndex";
export default {
components: {
onlineHomeIndex
},
name: "farmerPortrait",
data() {
return {
list:[{name1:'53123123123123',name2:'张三',name3:'男',name4:'53岁'},
{name1:'53123123123123',name2:'张三',name3:'男',name4:'53岁'},
{name1:'53123123123123',name2:'张三',name3:'男',name4:'53岁'},
{name1:'53123123123123',name2:'张三',name3:'男',name4:'53岁'},
{name1:'53123123123123',name2:'张三',name3:'男',name4:'53岁'},
{name1:'53123123123123',name2:'张三',name3:'男',name4:'53岁'},
{name1:'53123123123123',name2:'张三',name3:'男',name4:'53岁'},
{name1:'53123123123123',name2:'张三',name3:'男',name4:'53岁'},
{name1:'53123123123123',name2:'张三',name3:'男',name4:'53岁'}],
finished: false,
loading: false,
};
},
methods: {
getList(){
},
},
}
</script>

<style scoped>
>>> .van-cell-group{
width: 96%;margin:1% 2%;border-radius: 8px;overflow: hidden;padding-top: 20px;padding-bottom: 20px;box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
}
</style>

+ 81
- 0
src/views/yinnong/gzdt.vue Ver ficheiro

@@ -0,0 +1,81 @@
<template>
<div class="app-container">
<van-nav-bar
title="工作动态"
left-arrow
@click-left="$router.back(-1)"
/>
<van-list>
<van-cell v-for="item in list" :key="item.id" is-link :to="{path:'villageAffairsDetail',query:{id:item.id,type:'3'}}" style="margin:2%;width:96%;border-radius: 6px;box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);">
<template #title>
<p style="display:inline-block;background: #EC4B2C;height:20px;width: 20px;border-radius: 2px;margin-right: 10px;float: left"></p><p style="font-weight: bold;font-size: 18px;">{{item.title}}</p>
</template>
<template #label>
<van-row>
<van-col span="12"><p style="font-size: 12px">发布人/单位:{{item.issuedBy}}</p></van-col>
<van-col span="12"><p style="font-size: 12px;text-align: right">发布时间:{{item.issuedDate}}</p></van-col>
</van-row>
</template>
</van-cell>
</van-list>
<van-cell v-if="list.length==0" is-link url="" style="margin:2%;width:96%;border-radius: 6px;box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);">
<template #title>
<p style="display:inline-block;background: #dddddd;height:20px;width: 20px;border-radius: 2px;margin-right: 10px;float: left"></p><p style="font-weight: bold;font-size: 18px;">暂无数据</p>
</template>
<template #label>
<van-row>
<van-col span="12"><p style="font-size: 12px"></p></van-col>
<van-col span="12"><p style="font-size: 12px;text-align: right"></p></van-col>
</van-row>
</template>
</van-cell>
</div>
</template>

<script>
import onlineHomeIndex from "../onlineHomeIndex";
import {getAffairs, listAffairs} from "../../api/onlineHome/threeAffairs";
import {listVillageAffairs} from "../../api/onlineHome/villageAffairs";

export default {
components: {
onlineHomeIndex
},
name: "gzdt",
data() {
return {
list: [],
loading: false,
finished: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
title: null,
villageAffairsType: null,
deptId: null,
isWechat: null,
status: null,
},
};
},
created() {
this.getList(3);
},
methods: {
getList(name,title) {
this.loading = true;
this.queryParams.villageAffairsType = name
listVillageAffairs(this.queryParams).then(response => {
this.list3 = response.rows;
this.total = response.total;
this.loading = false;
});
},
},
}
</script>

<style scoped>

</style>

+ 81
- 0
src/views/yinnong/hnzc.vue Ver ficheiro

@@ -0,0 +1,81 @@
<template>
<div class="app-container">
<van-nav-bar
title="惠农政策"
left-arrow
@click-left="$router.back(-1)"
/>
<van-list>
<van-cell v-for="item in list" :key="item.id" is-link :to="{path:'villageAffairsDetail',query:{id:item.id,type:'2'}}" style="margin:2%;width:96%;border-radius: 6px;box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);">
<template #title>
<p style="display:inline-block;background: #EC4B2C;height:20px;width: 20px;border-radius: 2px;margin-right: 10px;float: left"></p><p style="font-weight: bold;font-size: 18px;">{{item.title}}</p>
</template>
<template #label>
<van-row>
<van-col span="12"><p style="font-size: 12px">发布人/单位:{{item.issuedBy}}</p></van-col>
<van-col span="12"><p style="font-size: 12px;text-align: right">发布时间:{{item.issuedDate}}</p></van-col>
</van-row>
</template>
</van-cell>
</van-list>
<van-cell v-if="list.length==0" is-link url="" style="margin:2%;width:96%;border-radius: 6px;box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);">
<template #title>
<p style="display:inline-block;background: #dddddd;height:20px;width: 20px;border-radius: 2px;margin-right: 10px;float: left"></p><p style="font-weight: bold;font-size: 18px;">暂无数据</p>
</template>
<template #label>
<van-row>
<van-col span="12"><p style="font-size: 12px"></p></van-col>
<van-col span="12"><p style="font-size: 12px;text-align: right"></p></van-col>
</van-row>
</template>
</van-cell>
</div>
</template>

<script>
import onlineHomeIndex from "../onlineHomeIndex";
import {getAffairs, listAffairs} from "../../api/onlineHome/threeAffairs";
import {listVillageAffairs} from "../../api/onlineHome/villageAffairs";

export default {
components: {
onlineHomeIndex
},
name: "hnzc",
data() {
return {
list: [],
loading: false,
finished: false,
// 查询参数
queryParams: {
pageNum: 1,
pageSize: 10,
title: null,
villageAffairsType: null,
deptId: null,
isWechat: null,
status: null,
},
};
},
created() {
this.getList(2);
},
methods: {
getList(name,title) {
this.loading = true;
this.queryParams.villageAffairsType = name
listVillageAffairs(this.queryParams).then(response => {
this.list = response.rows;
this.total = response.total;
this.loading = false;
});
},
},
}
</script>

<style scoped>

</style>

+ 128
- 0
src/views/yinnong/home.vue Ver ficheiro

@@ -0,0 +1,128 @@
<template>
<div class="app-container">
<van-nav-bar
title="家园"
>
<template #right>
<van-icon name="wap-nav" color="#000" size="18"/>
</template>
</van-nav-bar>
<van-cell-group style="width: 96%;margin:2%;border-radius: 6px;overflow: hidden;padding-top: 20px;padding-bottom: 20px;box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);">
<van-cell title="村画像" is-link to="villagePortrait">
<template #icon>
<van-image
fit="contain"
height="22"
style="margin-right: 15px"
src="../../../static/images/onlineHome/home1.png"
/>
</template>
</van-cell>
<van-cell title="村民信息" is-link to="farmerPortrait">
<template #icon>
<van-image
fit="contain"
height="22"
style="margin-right: 15px"
src="../../../static/images/onlineHome/myIcon1.png"
/>
</template>
</van-cell>
</van-cell-group>
<van-cell-group style="width: 96%;margin:2%;border-radius: 6px;overflow: hidden;padding-top: 20px;padding-bottom: 20px;box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);">
<van-cell title="宅基地一张图" is-link>
<template #icon>
<van-image
fit="contain"
height="22"
style="margin-right: 15px"
src="../../../static/images/onlineHome/home2.png"
/>
</template>
</van-cell>
<van-cell title="确权一张图" is-link >
<template #icon>
<van-image
fit="contain"
height="22"
style="margin-right: 15px"
src="../../../static/images/onlineHome/home3.png"
/>
</template>
</van-cell>
</van-cell-group>
<van-cell-group style="width: 96%;margin:2%;border-radius: 6px;overflow: hidden;padding-top: 20px;padding-bottom: 20px;box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);">
<van-cell title="投票" is-link to="homePoll">
<template #icon>
<van-image
fit="contain"
height="22"
style="margin-right: 15px"
src="../../../static/images/onlineHome/home4.png"
/>
</template>
</van-cell>
<van-cell title="三务公开" is-link to="threeAffairs">
<template #icon>
<van-image
fit="contain"
height="22"
style="margin-right: 15px"
src="../../../static/images/onlineHome/home5.png"
/>
</template>
</van-cell>
<van-collapse v-model="activeName" :border="false">
<van-collapse-item title="村规民约" name="1" accordion id="rules">
<template #icon>
<van-image
fit="contain"
height="22"
width="22"
style="margin-right: 22px;margin-left:10px;"
src="../../../static/images/onlineHome/home6.png"
/>
</template>
<template #default>
<van-cell-group :border="false">
<van-cell title="政策法规" is-link to="zcfg"/>
<van-cell title="惠农政策" is-link to="hnzc"/>
<van-cell title="工作动态" is-link to="gzdt"/>
<van-cell title="制度建设" is-link to="zdjs"/>
</van-cell-group>
</template>
</van-collapse-item>
</van-collapse>
</van-cell-group>
<yinnongIndex></yinnongIndex>
</div>
</template>

<script>
import yinnongIndex from "../yinnongIndex";
export default {
components: {
yinnongIndex
},
name: "home",
data() {
return {
activeName: [],
};
},
}
</script>

<style scoped>
>>> .my-swipe .van-swipe-item {
color: #fff;
font-size: 20px;
line-height: 150px;
text-align: center;
background-color: #39a9ed;
}
>>> #rules .van-collapse-item__content{
padding-top: 0;
padding-bottom: 0;
}
</style>

+ 104
- 0
src/views/yinnong/homePoll.vue Ver ficheiro

@@ -0,0 +1,104 @@
<template>
<div class="app-container">
<van-nav-bar
title="投票"
left-arrow
@click-left="$router.back(-1)"
>
<template #right>
<van-image
width="18"
height="18"
src="../../../static/images/onlineHome/voteMenu.png"/>
</template>
</van-nav-bar>
<van-list>
<van-row v-for="(item,index) in list" :key="index" style="background:#fff;width: 96%;margin:2%;border-radius: 6px;overflow: hidden;padding-top: 10px;padding-bottom: 10px;box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);">
<van-col span="3" style="text-align: center;">
<van-image
width="18"
height="18"
style="display: inline-block;margin-top: 16px"
src="../../../static/images/onlineHome/home3.png"
/>
</van-col>
<van-col span="17">
<van-row>
<h3 style="line-height: 26px">{{item.subjectName}}</h3>
</van-row>
<van-row>
<p v-if="new Date(item.startTime) > new Date()" style="line-height: 26px">
开始时间:{{item.startTime}}
</p>
<p v-if="new Date(item.startTime) <= new Date() && new Date(item.endTime) >= new Date()" style="line-height: 26px">
截止时间:{{item.endTime}}
</p>
<p v-if="new Date(item.endTime) < new Date()" style="line-height: 26px">
发起人:{{item.promoters}}
</p>
</van-row>
</van-col>
<van-col span="4">
<h3 v-if="new Date(item.startTime) > new Date()" style="line-height: 50px;color: #1D6FE9" >未开始</h3>
<h3 v-if="new Date(item.endTime) < new Date()" style="line-height: 50px;color: #1D6FE9" @click="go(item.id)">已结束</h3>
<h3 v-if="new Date(item.startTime) <= new Date() && new Date(item.endTime) >= new Date()" style="line-height: 50px;color: #1D6FE9" @click="go(item.id)">投票中</h3>
</van-col>
</van-row>
</van-list>
</div>
</template>

<script>
import onlineHomeIndex from "../onlineHomeIndex";
import {getFinancialInAndOut} from "../../api/onlineHome/finacial";
import {listPoll} from "../../api/onlineHome/poll";

export default {
components: {
onlineHomeIndex
},
name: "homePoll",
data() {
return {
activeName: 'a',
list: [{},{}],
loading: false,
finished: false,
result:[],
// 查询参数
queryParams: {
// 分页
pageNum: 1,
pageSize: 10,
// 查询排序
//orderByColumn: "id",
//isAsc: "desc",
subjectName: null,
status: 3
},
};
},
created() {
this.getList();
},
methods: {
go(val){
this.$router.push({path:'/onlineHome/homePollDetail',query:{id:val}});
},
getList(){
this.loading = true;
listPoll(this.queryParams).then(response => {
this.list = response.rows;
this.total = response.total;
this.loading = false;
});
},
},
}
</script>

<style scoped>
>>>.van-col::after {
border-bottom: none;
}
</style>

+ 235
- 0
src/views/yinnong/homePollDetail.vue Ver ficheiro

@@ -0,0 +1,235 @@
<template>
<div class="app-container">
<van-nav-bar
title="投票"
left-arrow
@click-left="$router.back(-1)"
>
<!--<template #right>
<van-image src=""></van-image>
</template>-->
</van-nav-bar>
<van-row style="margin-top: 20px">
<van-col span="20" offset="2">
<H3 style="line-height: 20px;">{{form.subjectName}}</H3>
</van-col>
</van-row>
<van-row style="margin-top: 10px">
<van-col span="20" offset="2">
<h4 style="color: #878787;line-height: 20px;">{{form.description}}</h4>
</van-col>
</van-row>

<van-row style="margin-top: 10px">
<van-col span="9" offset="2">
<van-image
v-if="form.anonymous!=1"
width="12"
height="12"
style="display: inline-block;"
src="../../../static/images/onlineHome/vote1.png"
/>
<p style="display: inline-block;color:#1D6FE9" v-if="form.anonymous!=1">实名</p>
<van-image
v-if="form.type==1"
width="12"
height="12"
style="display: inline-block;"
src="../../../static/images/onlineHome/vote1.png"
/>
<p v-if="form.type==1" style="display: inline-block;color:#1D6FE9 ">单选</p>
<van-image
v-if="form.type==2"
width="12"
height="12"
style="display: inline-block;"
src="../../../static/images/onlineHome/vote1.png"
/>
<p v-if="form.type==2" style="display: inline-block;color:#1D6FE9 ">多选</p>
</van-col>
<van-col span="8" offset="5">
<van-image
width="12"
height="12"
style="display: inline-block;"
src="../../../static/images/onlineHome/vote.png"
/>
<p style="display: inline-block">{{this.form.nums}}人已参与</p>
</van-col>
</van-row>
<van-checkbox-group v-if="form.type==2" v-model="result" style="margin-top: 20px">
<van-cell-group v-for="(item,index) in pollOptions" :key="index" style="width: 96%;margin:2%;border-radius: 6px;overflow: hidden;padding-top: 10px;padding-bottom: 10px;box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);">
<van-cell :title="item.name">
<template #icon>
<van-image
fit="contain"
height="18"
style="margin-right: 10px"
src="../../../static/images/onlineHome/home3.png"
/>
</template>
<van-checkbox :name="item.id" style="float: right" :disabled="!isPoll"/>
</van-cell>
<van-row>
<van-col span="15" :offset="2" style="margin-top: 7px;">
<van-progress v-if="result.indexOf(item.id)==-1" :percentage="voteNum>0?((item.num/voteNum)*100).toFixed(2):0" :show-pivot="false"/>
<van-progress v-if="result.indexOf(item.id)!=-1" :percentage="(voteNum+result.length)>0?(((item.num+1)/(voteNum+result.length))*100).toFixed(2):0" :show-pivot="false"/>
</van-col>
<van-col span="5" :offset="2" v-if="result.indexOf(item.id)==-1">
{{item.num}}票 {{voteNum>0?((item.num/voteNum)*100).toFixed(2):0}}%
</van-col>
<van-col span="5" :offset="2" v-if="result.indexOf(item.id)!=-1">
{{item.num+1}}票 {{(voteNum+result.length)>0?(((item.num+1)/(voteNum+result.length))*100).toFixed(2):0}}%
</van-col>
</van-row>
</van-cell-group>
</van-checkbox-group>
<van-radio-group v-if="form.type==1" v-model="result1" style="margin-top: 20px">
<van-cell-group v-for="(item,index) in pollOptions" :key="index" style="width: 96%;margin:2%;border-radius: 6px;overflow: hidden;padding-top: 10px;padding-bottom: 10px;box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);">
<van-cell :title="item.name">
<template #icon>
<van-image
fit="contain"
height="18"
style="margin-right: 10px"
src="../../../static/images/onlineHome/home3.png"
/>
</template>
<van-radio :name="item.id" style="float: right" :disabled="!isPoll"/>
</van-cell>
<van-row>
<van-col span="15" :offset="2" style="margin-top: 7px;">
<van-progress v-if="result1!=item.id" :percentage="voteNum>0?((item.num/voteNum)*100).toFixed(2):0" :show-pivot="false"/>
<van-progress v-if="result1==item.id&&voteNum>0" :percentage="voteNum>0?(((item.num+1)/(voteNum+1))*100).toFixed(2):0" :show-pivot="false"/>
<van-progress v-if="result1==item.id&&voteNum==0" :percentage="voteNum==0?(((item.num+1)/(voteNum+1))*100).toFixed(2):0" :show-pivot="false"/>
</van-col>
<van-col span="5" :offset="2" v-if="result1!=item.id">
{{item.num}}票 {{voteNum>0?((item.num/voteNum)*100).toFixed(2):0}}%
</van-col>
<van-col span="5" :offset="2" v-if="result1==item.id&&voteNum>0">
{{item.num+1}}票 {{voteNum>0?(((item.num+1)/(voteNum+1))*100).toFixed(2):0}}%
</van-col>
<van-col span="5" :offset="2" v-if="result1==item.id&&voteNum==0">
{{item.num+1}}票 {{voteNum==0?(((item.num+1)/(voteNum+1))*100).toFixed(2):0}}%
</van-col>
</van-row>
</van-cell-group>
</van-radio-group>
<van-row style="text-align: center;margin-top: 40px" v-if="isPoll">
<van-button color="#1D6FE9" style="border-radius: 6px;width: 90%;margin: 0 auto" @click="submit">提交</van-button>
</van-row>
<van-row style="text-align: center;margin-top: 40px" v-if="!isPoll">
<van-button color="#1D6FE9" style="border-radius: 6px;width: 90%;margin: 0 auto" @click="submit" :disabled="true">已投票</van-button>
</van-row>
</div>
</template>

<script>
import onlineHomeIndex from "../onlineHomeIndex";
import {getPoll, listPollVote, votePoll} from "../../api/onlineHome/poll";
import {getInfo} from "../../api/login";

export default {
components: {
onlineHomeIndex
},
name: "homePollDetail",
data() {
return {
loading: false,
form:{},
pollOptions:[],
id:this.$route.query.id,
voteNum:0,
result:[],
result1:"",
isPoll:true,
};
},
created() {
this.form={}
this.getInfo(this.id);
listPollVote().then(res => {
console.log(this.$store)
getInfo().then(response => {
console.log(response)
if(res.rows.length>0){
res.rows.map(r => {
if(r.pollId==this.id){
if(r.userId == response.user.userId){
this.isPoll = false
}
}
})
}
});

})
},
methods:{
reset(){
this.pollOptions = []
},
getInfo(val){
this.reset();
this.loading = true
getPoll(val).then(response => {
response.data.options.map(res => {
this.voteNum += res.num
this.pollOptions.push(res)
})
this.form = response.data;
this.loading = true
});
},
submit(){
let list = []
let _this = this
if (this.form.type == 1) {
if (this.result1 != "") {
list.push(this.result1)
} else {
this.$toast({
icon: 'error', // 找到自己需要的图标
message: '请选择一个选项',
duration:"1000",
onClose:function(){
return false;
}
})

}
} else {
if (this.result.length > 0) {
list.push(this.result)
} else {
this.$toast({
icon: 'error', // 找到自己需要的图标
message: '请至少选择一个选项',
duration:"1000",
onClose:function(){
return false;
}
})
}
}
votePoll(this.id,list).then(response => {
this.$toast({
icon: 'success', // 找到自己需要的图标
message: '保存成功',
duration:"1000",
onClose:function(){
_this.$router.go(-1)
}
})
});
},
},
}
</script>

<style scoped>
>>>.van-cell::after {
border-bottom: none;
}
</style>

+ 114
- 0
src/views/yinnong/homestead/certificate/certificateList.vue Ver ficheiro

@@ -0,0 +1,114 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">证书查看</p>
</template>
</van-nav-bar>
<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<van-swipe-cell v-for="(item,index) in applicationList" :key="index">
<van-cell :title="item.zrfdbmc+'-'+item.lzfs" value="查看证书" center :to="{name:'certificateSee', query: {id:item.id}}">
<template #icon>
<van-icon name="../../../static/images/onlineHome/icon_zjd7.png" size="30" color="#7790FE" style="margin-right: 10px;" />
</template>
<template #label>
<p>{{item.zrfdbzjhm}}</p>
</template>
</van-cell>
</van-swipe-cell>
</van-list>
</div>
</template>

<script>
import { getList } from "@/api/onlineHome/homestead/circulation";
export default {
name: "certificateList",
data() {
return {
applicationList:[],
houseApplyStatus:[],
auditStatus:[],
loading: false,
finished: false,
queryParams:{
pageNum:1,
pageSize:10,
orderByColumn:'createTime',
isAsc:'desc',
printLicense: "Y"
}
};
},
created() {
this.houseGetDicts("lzfs").then((response) => {
this.houseApplyStatus = response.data;
});
},
methods: {
getList(){
setTimeout(() => {
getList(this.queryParams).then(response => {
console.log(response)
for (var i = 0; i < response.rows.length; i++) {
var houseApplyStatus = this.selectDictLabel(this.houseApplyStatus, response.rows[i].lzfs);
response.rows[i].lzfs = houseApplyStatus;
var auditStatus = this.selectDictLabel(this.auditStatus, response.rows[i].auditStatus);
response.rows[i].auditStatus = auditStatus;
this.applicationList.push(response.rows[i]);
}
console.log(this.applicationList.length >= response.total)
if(this.applicationList.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.queryParams.pageNum += 1 ;
}
});
}, 1000);
},
},
}
</script>

<style scoped>
.app-container {
padding: 0.2rem 3%;
}
/deep/.van-cell__title{
flex: 0.7;
}
/deep/.van-cell__title span{
font-family: Arial;
font-size: 0.4rem;
font-weight: normal;
}
/deep/.van-cell__value{
flex: 0.3;
color: #1D6FE9;
font-weight: bold;
}
/deep/.van-swipe-cell{
margin-bottom: 0.2rem;
border-radius: 0.2rem;
overflow: hidden;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
}
/deep/van-ellipsis{
font-weight: bold;
}
.delete-button {
height: 100%;
}
</style>

+ 272
- 0
src/views/yinnong/homestead/certificate/certificateSee.vue Ver ficheiro

@@ -0,0 +1,272 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">证书查看</p>
</template>
</van-nav-bar>

<van-tabs swipeable animated sticky color="#1D6FE9" title-active-color="#1D6FE9" >
<van-tab title="规划许可证">
<div class="planningPermit-wrap">
<div class="planningPermit-first" style="display: block; overflow: hidden;" id="planningPermitFirst">
<div class="permit-main">
<div class="details_first_main" style=" width: 96%; padding:40px 20px; margin:0 auto; border:1px solid #000000; height:680px">
<div class="details_first_title" style=" font-size: 20px; font-weight: bold; text-align: center; line-height: 30px;">中华人民共和国</div>
<div class="details_first_title" style=" font-size: 20px; font-weight: bold; text-align: center; line-height: 30px;">乡村建设规划许可证</div>
<div class="details_first_page" style="text-align: right; font-size: 16px; padding: 10px 0 50px;">乡字第 <i style="text-decoration: underline">{{this.licenseForm.licensePermit.licenseKey}}</i> 号</div>
<div class="details_first_cont" style=" font-size: 16px; line-height: 32px;">根据《中华人民共和国土地管理法》《中华人民共和国城乡规划法》和国家有关规定,经审核,本建设工程符合国土空间规划和用途管制要求,颁发此证。</div>
<div class="licence_first_jg" style="padding-top: 100px; font-size: 16px; text-align: right;">填发机关: {{this.licenseForm.licensePermit.issuingAuthority}}</div>
<div class="licence_first_time" style="font-size: 16px; text-align: right;">填发时间: {{this.licenseForm.licensePermit.issueDate}}</div>
</div>

</div>
<div class="details_page" style="margin-top: 0.4rem;">
<div class="details_page_main" style="width: 96%; padding:40px 20px; margin:0 auto; border:1px solid #000000; font-size: 14px; height:680px">
<table >
<tr>
<td width="30%">建设单位</td> <td >{{this.licenseForm.licensePermit.constructionUnit}}</td>
</tr>
<tr>
<td>建设项目</td> <td>{{this.licenseForm.licensePermit.constructionUnit}}</td>
</tr>
<tr>
<td>建设位置</td> <td>{{this.licenseForm.licensePermit.constructionLocation}}</td>
</tr>
<tr>
<td>建设规模</td> <td>{{ this.licenseForm.licensePermit.constructionScale }}</td>
</tr>
<tr>
<td>{{ this.licenseForm.licenseRatification.west }}</td><td>{{ this.licenseForm.licenseRatification.north }}</td>
</tr>
</table>
<ul style="padding:50px 5px 5px;list-style:none; font-size: 12px; line-height:24px;text-align: start">
<li style="text-align: start">一、 本证是经自然资源主管部门依法审核,在乡、村庄规划区内有关建设工程符合国土空间规划和用途管制要求的法律凭证。</li>
<li>二、 依法应当取得本证,但未取得本证或违反本证规定的,均属违法行为。</li>
<li>三、 未经发证机关审核同意,本证的各项规定不得随意变更。</li>
<li>四、 自然资源主管部门依法有权查验本证,建设单位(个人)有责任提交查验。</li>
<li>五、 本证所需附图及附件由发证机关依法确定,与本证具有同等法律效力。</li>
</ul>
</div>
</div>
</div>
<div class="planningPermit-two" id="planningPermitTwo">
<table style="height:800px">
<tr>
<td style="width:40px">宅<br />基<br />地<br />坐<br />落<br />平<br />面<br />位<br />置<br />图</td>
<td></td>
</tr>
<tr style="height:80px">
<td>备注</td>
<td>图中需载明宅基地的具体位置、长宽、四至,并标明与永久性参照物的具体距离。</td>
</tr>
</table>
<ul style="padding:50px 5px 5px;list-style:none; font-size: 12px; line-height:24px;text-align: start; width:90%; margin:0 auto;">
<li>填写说明:</li>
<li>1.编号规则:编号数字共16位,前6位数字按照《中华人民共和国行政区划代码》(详见民政部网站www.mca.gov.cn)执行;7-9位数字表示街道(地区)办事处、镇、乡(苏木),按GB/T10114的规定执行;10-13位数字代表证书发放年份;14-16位数字代表证书发放序号。</li>
<li>2.批准书有效期:指按照本省(区、市)宅基地管理有关规定,宅基地申请批准后农户必须开工建设的时间。</li>
</ul>
</div>
</div>
</van-tab>
<van-tab title="宅基地批准书">
<div class="licenceAround-wrap" style=" display: block; overflow: hidden;" id="licenceAroundWrap">
<div class="licence_first_page">
<div class="number-title" style="padding: 0 2%; height: 45px; line-height: 45px;">
农宅字 <i style="text-decoration: underline">{{this.licenseForm.licenseRatification.approvalNumber}}</i> 号
</div>
<div class="licence_first_main" style="width: 96%; margin: 0 auto; border:1px solid #000000; padding:70px 20px;">
<div class="content" style=" line-height: 36px; padding-top: 10px; text-align: center;">
根据《中华人民共和国土地管理法》规定,本项农村村民宅基地用地 业经有权机关批准,特发此书。
请严格按照本批准书要求使用宅基地。</div>
<div class="ft_jg" style=" margin-top: 90px; text-align: center; line-height: 32px;">填发机关: {{this.licenseForm.licenseRatification.issuingAuthority}}</div>
<div class="ft_time" style=" text-align: center; line-height: 32px;">填发时间: {{this.licenseForm.licenseRatification.issueDate}}</div>
</div>
</div>
<div class="licence_two_page">
<div class="number-title" style="padding: 0 2%; height: 45px; line-height: 45px;">
农宅字 <i style="text-decoration: underline">{{this.licenseForm.licenseRatification.approvalNumber}}</i> 号
</div>
<div class="licence_two_main">
<table>
<tr>
<td>申请人姓名</td> <td colspan="2">{{this.licenseForm.licenseRatification.memberName}}</td>
</tr>
<tr>
<td>批准用地面积</td> <td colspan="2">{{this.licenseForm.licenseRatification.landArea}} 平方米</td>
</tr>
<tr>
<td>土地所有权人</td> <td colspan="2">{{this.licenseForm.licenseRatification.landOwner}}</td>
</tr>
<tr>
<td>土地用途</td> <td colspan="2">{{ this.landUseFormat(this.licenseForm.licenseRatification.landUse) }}</td>
</tr>
<tr>
<td>土地坐落<br/>(详见附图)</td> <td colspan="2">{{ this.licenseForm.licenseRatification.location }}</td>
</tr>
<tr>
<td rowspan="2">四 至</td> <td>{{ this.licenseForm.licenseRatification.east }}</td><td>{{ this.licenseForm.licenseRatification.south }}</td>
</tr>
<tr>
<td>{{ this.licenseForm.licenseRatification.west }}</td><td>{{ this.licenseForm.licenseRatification.north }}</td>
</tr>
<tr>
<td>批准书有效期</td><td colspan="2">{{this.licenseForm.licenseRatification.startTime +'至'+this.licenseForm.licenseRatification.endTime }}</td>
</tr>
<tr style="height: 100px">
<td colspan="3">备注</td>
</tr>
</table>
</div>
</div>
<div class="licence_three_page">
<div class="number-title" style="padding: 0 2%; height: 45px; line-height: 45px;">
农宅字 <i style="text-decoration: underline">{{this.licenseForm.licenseRatification.approvalNumber}}</i> 号
</div>
<table>
<tr>
<td>申请人姓名</td> <td colspan="2">{{this.licenseForm.licenseRatification.memberName}}</td>
</tr>
<tr>
<td>批准用地面积</td> <td colspan="2">{{this.licenseForm.licenseRatification.landArea}} 平方米</td>
</tr>
<tr>
<td>土地所有权人</td> <td colspan="2">{{this.licenseForm.licenseRatification.landOwner}}</td>
</tr>
<tr>
<td>土地用途</td> <td colspan="2">{{ this.landUseFormat(this.licenseForm.licenseRatification.landUse) }}</td>
</tr>
<tr>
<td>土地坐落<br/>(详见附图)</td> <td colspan="2">{{ this.licenseForm.licenseRatification.location }}</td>
</tr>
<tr>
<td rowspan="2">四 至</td> <td>{{ this.licenseForm.licenseRatification.east }}</td><td>{{ this.licenseForm.licenseRatification.south }}</td>
</tr>
<tr>
<td>{{ this.licenseForm.licenseRatification.west }}</td><td>{{ this.licenseForm.licenseRatification.north }}</td>
</tr>
<tr>
<td>批准书有效期</td><td colspan="2">{{this.licenseForm.licenseRatification.startTime +'至'+this.licenseForm.licenseRatification.endTime }}</td>
</tr>
<tr style="height: 100px">
<td colspan="3">备注</td>
</tr>
</table>
</div>
</div>
</van-tab>
</van-tabs>

</div>
</template>

<script>
import { selectAllLicense } from "@/api/onlineHome/homestead/circulation";
export default {
name: "applicationList",
data() {
return {
landUseOptions:[],
licenseForm:{
"licensePermit": {
"searchValue": null,
"createBy": "system",
"createTime": "2021-06-28 14:41:49",
"updateBy": "",
"updateTime": null,
"params": {},
"id": 3,
"applyProposerId": 27,
"year": "2021",
"licenseKey": "5001010062021001",
"issuingAuthority": "system",
"issueDate": "2021-06-28",
"constructionUnit": "李新新",
"constructionItem": "2",
"constructionLocation": "1",
"constructionScale": "建筑层数:1建筑面积:1.00建筑高度:1.00",
"locationPlan": null
},
"licenseRatification": {
"searchValue": null,
"createBy": "",
"createTime": "2021-06-28 14:41:49",
"updateBy": "",
"updateTime": null,
"params": {},
"id": 3,
"applyProposerId": 27,
"year": "2021",
"approvalNumber": "5001010062021001",
"issuingAuthority": "system",
"issueDate": "2021-06-28",
"memberName": "李新新",
"landArea": 111.00,
"landOwner": "李新新",
"landUse": "072",
"location": "1",
"east": "11",
"west": "11",
"south": "1111",
"north": "111",
"startTime": "2021-06-28",
"endTime": "2022-06-28",
"remark": null
},
},
activeName:"first",
};
},
mounted() {
this.getDicts("land_use").then((resp) => {
this.landUseOptions = resp.data;
});
selectAllLicense(this.$route.query.id).then((response) => {
console.log(response.data)
this.licenseForm = response.data;
this.updatePermitOpen = true;
this.updatePermitTitle = "修改许可证";
});
},
methods: {
landUseFormat(key) {
return this.selectDictLabel(this.landUseOptions,key);
},
}
}
</script>

<style scoped>
.app-container {
padding-bottom: 5%;
}
.main-box{
padding: 4% 3%;
background-color: #FFF;
margin-top: 0.3rem;
}

table {
line-height: 25px;
text-align: center;
border-collapse: collapse;
width:96%;
border-collapse:collapse;
text-align:center;
margin:0 auto;
}
td {
line-height: 36px;
border: 1px solid #000000;
border-collapse: collapse;
padding: 15px 0;
}
.planningPermit-two{
margin-top: 30px;
}
</style>

+ 404
- 0
src/views/yinnong/homestead/circulation/circulationAdd.vue Ver ficheiro

@@ -0,0 +1,404 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">添加宅基地使用流转权</p>
</template>
</van-nav-bar>
<p class="main_title">转出方信息</p>
<div class="main_box">
<van-field
readonly
clickable
v-model="circulation.zjddm"
label="宅基地代码"
placeholder="请选择"
@click="showZjd = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showZjd" position="bottom">
<van-picker
show-toolbar
:columns="zjdDictionaries"
@confirm="onConfirmZjd"
@cancel="showZjd = false"
/>
</van-popup>

<van-field
readonly
clickable
v-model="lzfs"
label="流转方式"
placeholder="请选择"
@click="showLzfs = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showLzfs" position="bottom">
<van-picker
show-toolbar
:columns="lzfsDictionaries"
@confirm="onConfirmLzfs"
@cancel="showLzfs = false"
/>
</van-popup>

<van-field
v-model="circulation.shyqrdm"
label="转出方使用权人代码"
placeholder="请选择"
label-width="auto"
input-align="right"
/>
<!-- @click="showShyqrdm = true"-->
<!-- right-icon="arrow-down"-->
<!-- <van-popup v-model="showShyqrdm" position="bottom">-->
<!-- <van-picker-->
<!-- show-toolbar-->
<!-- :columns="shyqrdmDictionaries"-->
<!-- @confirm="onConfirmShyqrdm"-->
<!-- @cancel="showShyqrdm = false"-->
<!-- />-->
<!-- </van-popup>-->

<van-cell title="是否本集体经济组织成员">
<template #right-icon>
<van-radio-group v-model="circulation.zcfsfbjtjjzzcy" direction="horizontal">
<van-radio name="Y">是</van-radio>
<van-radio name="N">否</van-radio>
</van-radio-group>
</template>
</van-cell>
</div>

<p class="main_title">流转信息</p>
<div class="main_box">
<van-field label="流转面积(㎡)" v-model="circulation.lzmj" placeholder="请输入流转面积(㎡)" input-align="right" label-width="auto"/>
<van-field label="流转单价(元)" v-model="circulation.lzdj" placeholder="请输入流转单价(元)" input-align="right" label-width="auto"/>
<van-field label="流转费用(元)" v-model="circulation.lzfy" placeholder="请输入流转费用(元)" input-align="right" label-width="auto"/>
<van-field
readonly
clickable
v-model="circulation.lzqsrq"
label="流转起始时间"
placeholder="请选择起始时间"
@click="showlzqsrq = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showlzqsrq" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="date"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
@confirm="onConfirmLzqsrq"
/>
</van-popup>

<van-field
readonly
clickable
v-model="circulation.lzjsrq"
label="流转结束时间"
placeholder="请选择结束时间"
@click="showlzjsrq = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showlzjsrq" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="date"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
@confirm="onConfirmLzjsrq"
/>
</van-popup>

<van-field
readonly
clickable
v-model="lzqfwyt"
label="流转前房屋用途"
placeholder="请选择流转前房屋用途"
@click="showLzqfwyt = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showLzqfwyt" position="bottom">
<van-picker
show-toolbar
:columns="lzqfwytDictionaries"
@confirm="onConfirmLzqfwyt"
@cancel="showLzqfwyt = false"
/>
</van-popup>

<van-field
readonly
clickable
v-model="lzhfwyt"
label="流转后房屋用途"
placeholder="请选择流转后房屋用途"
@click="showLzhfwyt = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showLzhfwyt" position="bottom">
<van-picker
show-toolbar
:columns="lzhfwytDictionaries"
@confirm="onConfirmLzhfwyt"
@cancel="showLzhfwyt = false"
/>
</van-popup>
</div>

<p class="main_title">转入方信息</p>
<div class="main_box">
<van-field
v-model="circulation.zrfdbmc"
label="转入方代表名称"
placeholder="请输入转入方代表名称"
label-width="auto"
input-align="right"
/>
<!-- <van-popup v-model="showZrfdbmc" position="bottom">-->
<!-- <van-picker-->
<!-- show-toolbar-->
<!-- :columns="zrfdbmcDictionaries"-->
<!-- @confirm="onConfirmZrfdbmc"-->
<!-- @cancel="showZrfdbmc = false"-->
<!-- />-->
<!-- </van-popup>-->

<van-field
readonly
clickable
v-model="zrfdbzjlx"
label="转入方代表证件类型"
placeholder="请选择"
@click="showZrfdbzjlx = true"
label-width="auto"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showZrfdbzjlx" position="bottom">
<van-picker
show-toolbar
:columns="zrfdbzjlxDictionaries"
@confirm="onConfirmZrfdbzjlx"
@cancel="showZrfdbzjlx = false"
/>
</van-popup>

<van-field label="转入方代表证件号码" v-model="circulation.zrfdbzjhm" placeholder="请输入证件号码" input-align="right" label-width="auto"/>
<van-cell title="是否本集体经济组织成员">
<template #right-icon>
<van-radio-group v-model="circulation.zrfsfbjtjjzzcy" direction="horizontal">
<van-radio name="Y">是</van-radio>
<van-radio name="N">否</van-radio>
</van-radio-group>
</template>
</van-cell>
</div>

<p class="main_title">其他</p>
<div class="main_box">
<van-field label="所有权人代表姓名" v-model="circulation.suyqrdbxm" placeholder="请输入姓名" input-align="right" label-width="auto"/>
<van-field label="所有权人意见" v-model="circulation.suyqryj" placeholder="请输入内容" input-align="right" label-width="auto"/>
<van-field label="备注" v-model="circulation.bz" placeholder="请输入备注" input-align="right" label-width="auto"/>
</div>

<div style="padding: 16px 0;">
<van-row>
<van-col span="12" align="center">
<van-button type="info" native-type="submit" class="submitButton" @click="goEdit">保<i style="margin-right: 1em;"></i>存</van-button>
</van-col>
<van-col span="12" align="center">
<van-button type="info" native-type="submit" class="submitButton" @click="goSubmit">提<i style="margin-right: 1em;"></i>交</van-button>
</van-col>
</van-row>
<div class="clear"></div>
</div>
</div>
</template>

<script>
import { getLz , zjdzd , getByZjddm , edit , goApply,houseAdd } from "@/api/onlineHome/homestead/circulation";

export default {
name: "circulationAdd",
data() {
return {
lzfsDictionaries: [],//流转方式
shyqrdmDictionaries: [],//转出方使用权人代码
lzqfwytDictionaries: [],//流转前房屋类型
lzhfwytDictionaries: [],//流转后房屋类型
zrfdbmcDictionaries: [],//转入方代表名称
zrfdbzjlxDictionaries: [],//转入方证件类型
zjdDictionaries: [],//宅基地列表
lzfs: '',//流转方式
shyqrdm: '',//转出方使用权人代码
lzqfwyt: '',//流转前房屋类型
lzhfwyt: '',//流转后房屋类型
zrfdbmc: '',//转入方代表名称
zrfdbzjlx: '',//转入方证件类型
zjd: [],//宅基地列表
showLzfs: false,
showShyqrdm: false,
showLzqfwyt: false,
showLzhfwyt: false,
showZrfdbmc: false,
showZrfdbzjlx: false,
showZjd:false,
showlzqsrq:false,
showlzjsrq:false,
minDate: new Date(),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(),
circulation: {}
};
},
created() {
this.getDetail();
},
methods: {
getDetail(){
//流转方式
this.houseGetDicts("lzfs").then((res) => {
for( let i = 0 ; i < res.data.length ; i++){
this.lzfsDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue})
}
});
//转入方证件类型
this.houseGetDicts("zjlx").then((res) => {
for( let i = 0 ; i < res.data.length ; i++){
this.zrfdbzjlxDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue})
}
});
//宅基地代码
zjdzd().then(zjdRes => {
for( let i = 0 ; i < zjdRes.rows.length ; i++){
this.zjdDictionaries.push(zjdRes.rows[i].zjddm);
}
});
//流转前房屋用途
this.houseGetDicts("fwyt").then((res) => {//流转前房屋用途
console.log(res)
for( let i = 0 ; i < res.data.length ; i++){
this.lzqfwytDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue})
}
});
//流转后房屋用途
this.houseGetDicts("fwyt").then((res) => {//流转后房屋用途
for( let i = 0 ; i < res.data.length ; i++){
this.lzhfwytDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue})
}
});
},
onConfirmLzfs(value) {
this.lzfs = value.text;
this.circulation.lzfs = value.value;
this.showLzfs = false;
}, //流转方式
onConfirmZjd(value) {
this.circulation.zjddm = value;
var form = {};
form.zjddm = value;
getByZjddm(form).then(qlrRes => {
console.log(qlrRes.data.shyqrdm)
this.circulation.shyqrdm = qlrRes.data.shyqrdm;
this.$forceUpdate();
});
this.showZjd = false;

}, //宅基地列表
onConfirmShyqrdm(value) {
this.showShyqrdm = false;
}, //转出方使用权人代码
onConfirmLzqfwyt(value) {
this.lzqfwyt = value.text;
this.circulation.lzqfwyt = value.value;
this.showLzqfwyt = false;
}, //流转前房屋用途
onConfirmLzhfwyt(value) {
this.lzhfwyt = value.text;
this.circulation.lzhfwyt = value.value;
this.showLzhfwyt = false;
}, //流转后房屋用途
onConfirmZrfdbmc(value) {
this.value = value;
this.showZrfdbmc = false;
}, //转入方代表名称
onConfirmZrfdbzjlx(value) {
this.zrfdbzjlx = value.text;
this.circulation.zrfdbzjlx = value.value;
this.showZrfdbzjlx = false;
}, //转入方代表证件类型
onConfirmLzqsrq(value) {
this.circulation.lzqsrq = this.getNowFormatDate(value).substr(0,10);
this.showlzqsrq = false;
}, //流转起始时间
onConfirmLzjsrq(value) {
this.circulation.lzjsrq = this.getNowFormatDate(value).substr(0,10);
this.showlzjsrq = false;
}, //流转结束时间
goEdit(){
console.log(this.circulation)
houseAdd(this.circulation).then(response => {
if(response.code = 200){
this.$toast.success('保存成功');
}
});
},
goSubmit(){
goApply(this.$route.query.id).then(response => {
if(response.code = 200){
this.$toast.success('提交成功');
setTimeout(function(){
window.location.replace("circulationList")
},1000)
}
});
},
},
}
</script>

<style scoped lang="scss">
.app-container {
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;

}
</style>

+ 174
- 0
src/views/yinnong/homestead/circulation/circulationDetail.vue Ver ficheiro

@@ -0,0 +1,174 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">查看宅基地使用流转权</p>
</template>
</van-nav-bar>
<p class="main_title">转出方信息</p>
<div class="main_box">
<van-field
readonly
v-model="circulation.zjddm"
label="宅基地代码"
input-align="right"
/>

<van-field
readonly
v-model="circulation.lzfs"
label="流转方式"
input-align="right"
/>

<van-field
readonly
v-model="circulation.shyqrdm"
label="转出方使用权人代码"
label-width="auto"
input-align="right"
/>
<van-field
readonly
v-model="circulation.zcfsfbjtjjzzcy == 'Y' ? '是' : '否'"
label="是否本集体经济组织成员"
label-width="auto"
input-align="right"

/>
</div>

<p class="main_title">流转信息</p>
<div class="main_box">
<van-field label="流转面积(㎡)" readonly v-model="circulation.lzmj" input-align="right" label-width="auto"/>
<van-field label="流转单价(元)" readonly v-model="circulation.lzdj" input-align="right" label-width="auto"/>
<van-field label="流转费用(元)" readonly v-model="circulation.lzfy" input-align="right" label-width="auto"/>
<van-field
readonly
label="流转起始时间"
input-align="right"
v-model="circulation.lzqsrq"
/>

<van-field
readonly
label="流转结束时间"
input-align="right"
v-model="circulation.lzjsrq"
/>

<van-field
readonly
label="流转前房屋用途"
input-align="right"
label-width="auto"
v-model="circulation.lzqfwyt"
/>

<van-field
readonly
label="流转后房屋用途"
input-align="right"
label-width="auto"
v-model="circulation.lzhfwyt"
/>
</div>

<p class="main_title">转入方信息</p>
<div class="main_box">
<van-field
readonly
label="转入方代表名称"
label-width="auto"
input-align="right"
v-model="circulation.zrfdbmc"
/>

<van-field
readonly
label="转入方代表证件类型"
label-width="auto"
input-align="right"
v-model="circulation.zrfdbzjlx"
/>
<van-field readonly label="转入方代表证件号码" v-model="circulation.zrfdbzjhm" input-align="right" label-width="auto"/>
<van-field readonly label="是否本集体经济组织成员" v-model="circulation.zrfsfbjtjjzzcy == 'Y' ? '是' : '否'" input-align="right" label-width="auto"/>
</div>

<p class="main_title">其他</p>
<div class="main_box">
<van-field readonly label="所有权人代表姓名" v-model="circulation.suyqrdbxm" input-align="right" label-width="auto"/>
<van-field readonly label="所有权人意见" v-model="circulation.suyqryj" input-align="right" label-width="auto"/>
<van-field readonly label="备注" v-model="circulation.bz" input-align="right" label-width="auto"/>
</div>
</div>
</template>

<script>
import { getLz } from "@/api/onlineHome/homestead/circulation";
export default {
name: "circulationDetail",
data() {
return {
value: '',
circulation:[],
houseApplyStatus:[],
circulation:[],
};
},
created() {
this.getDetail();
},
methods: {
getDetail(){
getLz(this.$route.query.id).then(response => {
this.circulation = response.data;
//流转方式
this.houseGetDicts("lzfs").then((res) => {
this.circulation.lzfs = this.selectDictLabel(res.data, response.data.lzfs);
});
//转入方证件类型
this.houseGetDicts("zjlx").then((res) => {
this.circulation.zrfdbzjlx = this.selectDictLabel(res.data, response.data.zrfdbzjlx);
});
//流转前房屋用途
this.houseGetDicts("fwyt").then((res) => {//流转前房屋用途
this.circulation.lzqfwyt = this.selectDictLabel(res.data, response.data.lzqfwyt);
this.circulation.lzhfwyt = this.selectDictLabel(res.data, response.data.lzhfwyt);
});
});
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding-bottom: 5%;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;

}
</style>

+ 156
- 0
src/views/yinnong/homestead/circulation/circulationList.vue Ver ficheiro

@@ -0,0 +1,156 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
@click-right="goAdd"
>
<template #title>
<p style="font-weight: bold;">使用权流转</p>
</template>
<template #right>
<van-icon name="add" size="18" />
</template>
</van-nav-bar>
<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<van-swipe-cell v-for="(item,index) in applicationList" :key="index">
<van-cell :title="item.shyqrdm" :value="item.auditStatus" center :to="{name:'circulationDetail', query: {id:item.id}}">
<template #icon>
<van-icon name="../../../static/images/onlineHome/icon_zjd2.png" size="30" color="#539FFD" style="margin-right: 10px;" />
</template>
<template #label>
<p><b style="color: #FFA63E;">{{item.lzfs}}</b><i style="margin-right: 0.5rem;"></i><b style="color: #333333;">{{item.zrfdbmc}}</b><i style="margin-right: 0.5rem;"></i>{{item.lzmj}}㎡</p>
</template>
</van-cell>
<template #right>
<van-row>
<van-col>
<van-button square text="修改" type="info" v-if="item.auditStatus=='草稿'" class="delete-button" :to="{name:'circulationModify', query: {id:item.id}}" />
</van-col>
<van-col>
<van-button square text="删除" type="danger" v-if="item.auditStatus=='草稿'" @click="deleteList(item.id,index)" class="delete-button" />
</van-col>
</van-row>
</template>
</van-swipe-cell>
</van-list>
</div>
</template>

<script>
import { getList , removeList } from "@/api/onlineHome/homestead/circulation";
export default {
name: "circulationList",
data() {
return {
applicationList:[],
houseApplyStatus:[],
auditStatus:[],
loading: false,
finished: false,
queryParams:{
pageNum:1,
pageSize:10,
orderByColumn:'createTime',
isAsc:'desc'
}
};
},
created() {
this.houseGetDicts("lzfs").then((response) => {
this.houseApplyStatus = response.data;
});
this.houseGetDicts("audit_status").then((response) => {
this.auditStatus = response.data;
});
},
methods: {
goAdd(){
window.location = 'circulationAdd';
},
getList(){
setTimeout(() => {
getList(this.queryParams).then(response => {
console.log(response)
for (var i = 0; i < response.rows.length; i++) {
var houseApplyStatus = this.selectDictLabel(this.houseApplyStatus, response.rows[i].lzfs);
response.rows[i].lzfs = houseApplyStatus;
var auditStatus = this.selectDictLabel(this.auditStatus, response.rows[i].auditStatus);
response.rows[i].auditStatus = auditStatus;
this.applicationList.push(response.rows[i]);
}
console.log(this.applicationList.length >= response.total)
if(this.applicationList.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.queryParams.pageNum += 1 ;
}
});
}, 1000);
},
deleteList(id,index){
this.$dialog.confirm({
message: '您确认删除申请草稿?',
})
.then(() => {
// on confirm
this.applicationList.splice(index,1)
removeList(id).then(res => {
if(res.code = 200){
this.$toast.success('删除成功');
}
});
})
.catch(() => {
// on cancel
});
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 0.2rem 3%;
}
/deep/.van-cell__title{
flex: 0.7;
}
/deep/.van-cell__title span{
font-family: Arial;
font-size: 0.4rem;
font-weight: normal;
}
/deep/.van-cell__value{
flex: 0.3;
color: #1D6FE9;
font-weight: bold;
}
/deep/.van-swipe-cell{
margin-bottom: 0.2rem;
border-radius: 0.2rem;
overflow: hidden;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
}
/deep/van-ellipsis{
font-weight: bold;
}
.delete-button {
height: 100%;
}
.van-row{
height: 100%;
}
.van-col{
height: 100%;
}
</style>

+ 407
- 0
src/views/yinnong/homestead/circulation/circulationModify.vue Ver ficheiro

@@ -0,0 +1,407 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">添加宅基地使用流转权</p>
</template>
</van-nav-bar>
<p class="main_title">转出方信息</p>
<div class="main_box">
<van-field
readonly
clickable
v-model="circulation.zjddm"
label="宅基地代码"
placeholder="请选择"
@click="showZjd = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showZjd" position="bottom">
<van-picker
show-toolbar
:columns="zjdDictionaries"
@confirm="onConfirmZjd"
@cancel="showZjd = false"
/>
</van-popup>

<van-field
readonly
clickable
v-model="lzfs"
label="流转方式"
placeholder="请选择"
@click="showLzfs = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showLzfs" position="bottom">
<van-picker
show-toolbar
:columns="lzfsDictionaries"
@confirm="onConfirmLzfs"
@cancel="showLzfs = false"
/>
</van-popup>

<van-field
v-model="circulation.shyqrdm"
label="转出方使用权人代码"
placeholder="请选择"
label-width="auto"
input-align="right"
/>
<!-- @click="showShyqrdm = true"-->
<!-- right-icon="arrow-down"-->
<!-- <van-popup v-model="showShyqrdm" position="bottom">-->
<!-- <van-picker-->
<!-- show-toolbar-->
<!-- :columns="shyqrdmDictionaries"-->
<!-- @confirm="onConfirmShyqrdm"-->
<!-- @cancel="showShyqrdm = false"-->
<!-- />-->
<!-- </van-popup>-->

<van-cell title="是否本集体经济组织成员">
<template #right-icon>
<van-radio-group v-model="circulation.zcfsfbjtjjzzcy" direction="horizontal">
<van-radio name="Y">是</van-radio>
<van-radio name="N">否</van-radio>
</van-radio-group>
</template>
</van-cell>
</div>

<p class="main_title">流转信息</p>
<div class="main_box">
<van-field label="流转面积(㎡)" v-model="circulation.lzmj" placeholder="请输入流转面积(㎡)" input-align="right" label-width="auto"/>
<van-field label="流转单价(元)" v-model="circulation.lzdj" placeholder="请输入流转单价(元)" input-align="right" label-width="auto"/>
<van-field label="流转费用(元)" v-model="circulation.lzfy" placeholder="请输入流转费用(元)" input-align="right" label-width="auto"/>
<van-field
readonly
clickable
v-model="circulation.lzqsrq"
label="流转起始时间"
placeholder="请选择起始时间"
@click="showlzqsrq = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showlzqsrq" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="date"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
@confirm="onConfirmLzqsrq"
/>
</van-popup>

<van-field
readonly
clickable
v-model="circulation.lzjsrq"
label="流转结束时间"
placeholder="请选择结束时间"
@click="showlzjsrq = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showlzjsrq" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="date"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
@confirm="onConfirmLzjsrq"
/>
</van-popup>

<van-field
readonly
clickable
v-model="lzqfwyt"
label="流转前房屋用途"
placeholder="请选择流转前房屋用途"
@click="showLzqfwyt = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showLzqfwyt" position="bottom">
<van-picker
show-toolbar
:columns="lzqfwytDictionaries"
@confirm="onConfirmLzqfwyt"
@cancel="showLzqfwyt = false"
/>
</van-popup>

<van-field
readonly
clickable
v-model="lzhfwyt"
label="流转后房屋用途"
placeholder="请选择流转后房屋用途"
@click="showLzhfwyt = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showLzhfwyt" position="bottom">
<van-picker
show-toolbar
:columns="lzhfwytDictionaries"
@confirm="onConfirmLzhfwyt"
@cancel="showLzhfwyt = false"
/>
</van-popup>
</div>

<p class="main_title">转入方信息</p>
<div class="main_box">
<van-field
v-model="circulation.zrfdbmc"
label="转入方代表名称"
placeholder="请输入转入方代表名称"
label-width="auto"
input-align="right"
/>
<!-- <van-popup v-model="showZrfdbmc" position="bottom">-->
<!-- <van-picker-->
<!-- show-toolbar-->
<!-- :columns="zrfdbmcDictionaries"-->
<!-- @confirm="onConfirmZrfdbmc"-->
<!-- @cancel="showZrfdbmc = false"-->
<!-- />-->
<!-- </van-popup>-->

<van-field
readonly
clickable
v-model="zrfdbzjlx"
label="转入方代表证件类型"
placeholder="请选择"
@click="showZrfdbzjlx = true"
label-width="auto"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showZrfdbzjlx" position="bottom">
<van-picker
show-toolbar
:columns="zrfdbzjlxDictionaries"
@confirm="onConfirmZrfdbzjlx"
@cancel="showZrfdbzjlx = false"
/>
</van-popup>

<van-field label="转入方代表证件号码" v-model="circulation.zrfdbzjhm" placeholder="请输入证件号码" input-align="right" label-width="auto"/>
<van-cell title="是否本集体经济组织成员">
<template #right-icon>
<van-radio-group v-model="circulation.zrfsfbjtjjzzcy" direction="horizontal">
<van-radio name="Y">是</van-radio>
<van-radio name="N">否</van-radio>
</van-radio-group>
</template>
</van-cell>
</div>

<p class="main_title">其他</p>
<div class="main_box">
<van-field label="所有权人代表姓名" v-model="circulation.suyqrdbxm" placeholder="请输入姓名" input-align="right" label-width="auto"/>
<van-field label="所有权人意见" v-model="circulation.suyqryj" placeholder="请输入内容" input-align="right" label-width="auto"/>
<van-field label="备注" v-model="circulation.bz" placeholder="请输入备注" input-align="right" label-width="auto"/>
</div>

<div style="padding: 16px 0;">
<van-row>
<van-col span="12" align="center">
<van-button type="info" native-type="submit" class="submitButton" @click="goEdit">保<i style="margin-right: 1em;"></i>存</van-button>
</van-col>
<van-col span="12" align="center">
<van-button type="info" native-type="submit" class="submitButton" @click="goSubmit">提<i style="margin-right: 1em;"></i>交</van-button>
</van-col>
</van-row>
<div class="clear"></div>
</div>
</div>
</template>

<script>
import { getLz , zjdzd , getByZjddm , edit , goApply } from "@/api/onlineHome/homestead/circulation";
export default {
name: "circulationModify",
data() {
return {
lzfsDictionaries: [],//流转方式
shyqrdmDictionaries: [],//转出方使用权人代码
lzqfwytDictionaries: [],//流转前房屋类型
lzhfwytDictionaries: [],//流转后房屋类型
zrfdbmcDictionaries: [],//转入方代表名称
zrfdbzjlxDictionaries: [],//转入方证件类型
zjdDictionaries: [],//宅基地列表
lzfs: '',//流转方式
shyqrdm: '',//转出方使用权人代码
lzqfwyt: '',//流转前房屋类型
lzhfwyt: '',//流转后房屋类型
zrfdbmc: '',//转入方代表名称
zrfdbzjlx: '',//转入方证件类型
zjd: [],//宅基地列表
showLzfs: false,
showShyqrdm: false,
showLzqfwyt: false,
showLzhfwyt: false,
showZrfdbmc: false,
showZrfdbzjlx: false,
showZjd:false,
showlzqsrq:false,
showlzjsrq:false,
minDate: new Date(),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(),
circulation:[]
};
},
created() {
this.getDetail();
},
methods: {
getDetail(){
getLz(this.$route.query.id).then(response => {
console.log(response)
//流转方式
this.houseGetDicts("lzfs").then((res) => {
for( let i = 0 ; i < res.data.length ; i++){
this.lzfsDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue})
}
this.lzfs = this.selectDictLabel(res.data, response.data.lzfs);
});
//转入方证件类型
this.houseGetDicts("zjlx").then((res) => {
for( let i = 0 ; i < res.data.length ; i++){
this.zrfdbzjlxDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue})
}
this.zrfdbzjlx = this.selectDictLabel(res.data, response.data.zrfdbzjlx);
});
//宅基地代码
zjdzd().then(zjdRes => {
for( let i = 0 ; i < zjdRes.rows.length ; i++){
this.zjdDictionaries.push(zjdRes.rows[i].zjddm);
}
var form = {};
form.zjddm = zjdRes.rows[0].zjddm;
// getByZjddm(form).then(qlrRes => {
// this.circulation.shyqrdm = qlrRes.data.shyqrdm;
// });
});
//流转前房屋用途
this.houseGetDicts("fwyt").then((res) => {//流转前房屋用途
console.log(res)
for( let i = 0 ; i < res.data.length ; i++){
this.lzqfwytDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue})
}
this.lzqfwyt = this.selectDictLabel(res.data, response.data.lzqfwyt);
});
//流转后房屋用途
this.houseGetDicts("fwyt").then((res) => {//流转后房屋用途
for( let i = 0 ; i < res.data.length ; i++){
this.lzhfwytDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue})
}
this.lzhfwyt = this.selectDictLabel(res.data, response.data.lzhfwyt);
});

this.circulation = response.data;
});
},
onConfirmLzfs(value) {
this.lzfs = value.text;
this.circulation.lzfs = value.value;
this.showLzfs = false;
}, //流转方式
onConfirmZjd(value) {
this.showZjd = false;
}, //宅基地列表
onConfirmShyqrdm(value) {
this.showShyqrdm = false;
}, //转出方使用权人代码
onConfirmLzqfwyt(value) {
this.lzqfwyt = value.text;
this.circulation.lzqfwyt = value.value;
this.showLzqfwyt = false;
}, //流转前房屋用途
onConfirmLzhfwyt(value) {
this.lzhfwyt = value.text;
this.circulation.lzhfwyt = value.value;
this.showLzhfwyt = false;
}, //流转后房屋用途
onConfirmZrfdbmc(value) {
this.value = value;
this.showZrfdbmc = false;
}, //转入方代表名称
onConfirmZrfdbzjlx(value) {
this.zrfdbzjlx = value.text;
this.circulation.zrfdbzjlx = value.value;
this.showZrfdbzjlx = false;
}, //转入方代表证件类型
onConfirmLzqsrq(value) {
this.circulation.lzqsrq = this.getNowFormatDate(value).substr(0,10);
this.showlzqsrq = false;
}, //流转起始时间
onConfirmLzjsrq(value) {
this.circulation.lzjsrq = this.getNowFormatDate(value).substr(0,10);
this.showlzjsrq = false;
}, //流转结束时间
goEdit(){
edit(this.circulation).then(response => {
if(response.code = 200){
this.$toast.success('保存成功');
}
});
},
goSubmit(){
goApply(this.$route.query.id).then(response => {
if(response.code = 200){
this.$toast.success('提交成功');
setTimeout(function(){
window.location.replace("circulationList")
},1000)
}
});
},
},
}
</script>

<style scoped lang="scss">
.app-container {
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;

}
</style>

+ 101
- 0
src/views/yinnong/homestead/flowChart/index.vue Ver ficheiro

@@ -0,0 +1,101 @@
<template>
<div class="app-container">
<van-nav-bar
title="农村宅基地申请表"
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
/>
<div class="main_box">
<van-row>
<van-col span="8"><p class="tit">01 申请</p></van-col>
<van-col span="8"><p class="tit">02 开工</p></van-col>
<van-col span="8"><p class="tit">03 验收</p></van-col>
</van-row>
<van-row>
<van-col span="8">
<van-steps direction="vertical" active-color="#1D6FE9" :active="applicationDetail.proposerActiveIndex">
<van-step v-for="(item,index) in applicationDetail.applyStepList" :key="index">{{item}}</van-step>
</van-steps>
</van-col>
<van-col span="8">
<van-steps direction="vertical" active-color="#1D6FE9" :active="applicationDetail.startActiveIndex">
<van-step v-for="(item,index) in applicationDetail.startStepList" :key="index">{{item}}</van-step>
</van-steps>
</van-col>
<van-col span="8">
<van-steps direction="vertical" active-color="#1D6FE9" :active="applicationDetail.endActiveIndex">
<van-step v-for="(item,index) in applicationDetail.endStepList" :key="index">{{item}}</van-step>
</van-steps>
</van-col>
</van-row>
</div>
</div>
</template>

<script>
import { allInformation } from "@/api/onlineHome/homestead/application";
export default {
name: "flowChart",
data() {
return {
applicationDetail:[],
id:''
};
},
created() {
this.id = this.$route.query.id;
this.getDetail();
},
methods: {
//获取数据集合
getDetail(){
allInformation(this.id).then(response => {
console.log(response)
this.applicationDetail = response.data;
});
},
},
}
</script>

<style scoped lang="scss">
.app-container {
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
margin-top: 2%;
padding: 5% 1%;
}
.van-col{
text-align: center;
}
.tit{
background: #1d6fe9;
border-radius: 12px;
font-size: 0.4rem;
font-family: Source Han Sans CN, Source Han Sans CN-Regular;
font-weight: 400;
color: #ffffff;
line-height: 0.65rem;
letter-spacing: 0px;
width: 70%;
margin: 0 auto;
}
.van-step--vertical{
padding-right: 0;
text-align: left;
}
.van-step--vertical:not(:last-child)::after{
border: none;
}
.van-step--finish{
color: #1d6fe9;
}
</style>

+ 1028
- 0
src/views/yinnong/homestead/homeApplication/applicationAdd.vue
A apresentação das diferenças no ficheiro foi suprimida por ser demasiado grande
Ver ficheiro


+ 1131
- 0
src/views/yinnong/homestead/homeApplication/applicationForm.vue
A apresentação das diferenças no ficheiro foi suprimida por ser demasiado grande
Ver ficheiro


+ 152
- 0
src/views/yinnong/homestead/homeApplication/applicationList.vue Ver ficheiro

@@ -0,0 +1,152 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
@click-right="goAdd()"
>
<template #title>
<p style="font-weight: bold;">宅基地申请</p>
</template>
<template #right>
<van-icon name="add" size="18"/>
</template>
</van-nav-bar>

<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<van-swipe-cell v-for="(item,index) in applicationList" :key="index">
<van-cell :title="item.ywh" :value="item.houseApplyStatus" center :to="{name:'applicationForm', query: {id:item.id,type:'modify'}}">
<template #icon>
<van-icon name="../../../static/images/onlineHome/icon_zjd1.png" size="30" color="#539FFD" style="margin-right: 10px;" />
</template>
<template #label>
<p>{{item.projectName}}</p>
</template>
</van-cell>
<template #right>
<van-row>
<van-col>
<van-button square text="修改" type="info" v-if="item.houseApplyStatus=='申请草稿'" :to="{name:'applicationForm', query: {id:item.id}}" class="delete-button" />
</van-col>
<van-col>
<van-button square text="删除" type="danger" v-if="item.houseApplyStatus=='申请草稿'" @click="deleteList(item.id,index)" class="delete-button" />
</van-col>
</van-row>
</template>
</van-swipe-cell>
</van-list>
</div>
</template>

<script>
import { getList , removeList } from "@/api/onlineHome/homestead/application";
export default {
name: "applicationList",
data() {
return {
applicationList:[],
houseApplyStatus:[],
loading: false,
finished: false,
queryParams:{
pageNum:1,
pageSize:10,
orderByColumn:'createTime',
isAsc:'desc'
}
};
},
created() {
this.houseGetDicts("house_apply_status").then((response) => {
console.log(response)
this.houseApplyStatus = response.data;
});
},
methods: {
goAdd(){
window.location = 'applicationAdd';
},
getList(){
setTimeout(() => {
getList(this.queryParams).then(response => {
console.log(response)
for (var i = 0; i < response.rows.length; i++) {
var houseApplyStatus = this.selectDictLabel(this.houseApplyStatus, response.rows[i].houseApplyStatus);
response.rows[i].houseApplyStatus = houseApplyStatus;
this.applicationList.push(response.rows[i]);
}
console.log(this.applicationList.length >= response.total)
if(this.applicationList.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.queryParams.pageNum += 1 ;
}
});
}, 1000);
},
deleteList(id,index){
this.$dialog.confirm({
message: '您确认删除申请草稿?',
})
.then(() => {
// on confirm
this.applicationList.splice(index,1)
removeList(id).then(res => {
if(res.code = 200){
this.$toast.success('删除成功');
}
});
})
.catch(() => {
// on cancel
});
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 0.2rem 3%;
}
/deep/.van-cell__title{
flex: 0.7;
}
/deep/.van-cell__title span{
font-family: Arial;
font-size: 0.4rem;
font-weight: normal;
}
/deep/.van-cell__value{
flex: 0.3;
color: #1D6FE9;
font-weight: bold;
}
/deep/.van-swipe-cell{
margin-bottom: 0.2rem;
border-radius: 0.2rem;
overflow: hidden;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
}
/deep/van-ellipsis{
font-weight: bold;
}
.van-row{
height: 100%;
}
.van-col{
height: 100%;
}
.delete-button {
height: 100%;
}
</style>

+ 1419
- 0
src/views/yinnong/homestead/homeApproval/approvalForm.vue
A apresentação das diferenças no ficheiro foi suprimida por ser demasiado grande
Ver ficheiro


+ 149
- 0
src/views/yinnong/homestead/homesteadUtilize/homesteadUtilize.vue Ver ficheiro

@@ -0,0 +1,149 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
@click-right="goAdd"
>
<template #title>
<p style="font-weight: bold;">宅基地利用情况</p>
</template>
<template #right>
<van-icon name="add" size="18" />
</template>
</van-nav-bar>
<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<van-swipe-cell v-for="(item,index) in applicationList" :key="index">
<van-cell :title="item.zjddm" center :to="{name:'homesteadUtilizeDetail', query: {id:item.id}}" >
<template #icon>
<van-icon name="../../../static/images/onlineHome/icon_zjd6.png" size="30" color="#539FFD" style="margin-right: 10px;" />
</template>
<template #label>
<p><b style="color: #7DDA4F;">{{item.zjdlyzk}}</b><i style="margin-right: 0.5rem;"></i>{{item.zjdxzyy}}<span style="float: right">{{item.dcsj}}</span></p>
</template>
</van-cell>
<template #right>
<van-row>
<van-col>
<van-button square text="修改" :to="{name:'homesteadUtilizeModify', query: {id:item.id}}" type="info" class="delete-button" />
</van-col>
<van-col>
<van-button square text="删除" @click="deleteList(item.id,index)" type="danger" class="delete-button" />
</van-col>
</van-row>
</template>
</van-swipe-cell>
</van-list>
</div>
</template>

<script>
import { getList , zjdlyRemove } from "@/api/onlineHome/homestead/homesteadUtilize";
export default {
name: "homesteadUtilize",
data() {
return {
applicationList:[],
zjdlyzkStatus:[],
loading: false,
finished: false,
queryParams:{
pageNum:1,
pageSize:10,
orderByColumn:'createTime',
isAsc:'desc'
}
};
},
created() {
this.houseGetDicts("zjdlyzk").then((res) => {
console.log(res)
this.zjdlyzkStatus = res.data;
});
},
methods: {
goAdd(){
window.location = 'homesteadUtilizeAdd';
},
getList(){
setTimeout(() => {
getList(this.queryParams).then(response => {
console.log(response)
for (var i = 0; i < response.rows.length; i++) {
response.rows[i].zjdlyzk = this.selectDictLabel(this.zjdlyzkStatus, response.rows[i].zjdlyzk)
this.applicationList.push(response.rows[i]);
}
if(this.applicationList.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.queryParams.pageNum += 1 ;
}
});
}, 1000);
},
deleteList(id,index){
this.$dialog.confirm({
message: '您确认删除申请草稿?',
})
.then(() => {
// on confirm
this.applicationList.splice(index,1)
zjdlyRemove(id).then(res => {
if(res.code = 200){
this.$toast.success('删除成功');
}
});
})
.catch(() => {
// on cancel
});
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 0.2rem 3%;
}
/deep/.van-cell__title{
flex: 1;
}
/deep/.van-cell__title span{
font-family: Arial;
font-size: 0.4rem;
font-weight: normal;
}
/deep/.van-cell__value{
flex: 0.3;
color: #1D6FE9;
font-weight: bold;
}
/deep/.van-swipe-cell{
margin-bottom: 0.2rem;
border-radius: 0.2rem;
overflow: hidden;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
}
/deep/van-ellipsis{
font-weight: bold;
}
.delete-button {
height: 100%;
}
.van-row{
height: 100%;
}
.van-col{
height: 100%;
}
</style>

+ 201
- 0
src/views/yinnong/homestead/homesteadUtilize/homesteadUtilizeAdd.vue Ver ficheiro

@@ -0,0 +1,201 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">宅基地利用情况</p>
</template>
</van-nav-bar>
<div class="main_box">
<van-field
readonly
clickable
v-model="circulation.zjddm"
label="宅基地代码"
placeholder="请选择"
@click="showzjddm = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showzjddm" position="bottom">
<van-picker
show-toolbar
:columns="zjdDictionaries"
@confirm="onConfirmZjddm"
@cancel="showzjddm = false"
/>
</van-popup>
<van-field
readonly
clickable
v-model="zjdlyzk"
label="宅基地利用情况"
placeholder="请选择"
@click="showzjdlyzk = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showzjdlyzk" position="bottom">
<van-picker
show-toolbar
:columns="zjdlyzkDictionaries"
@confirm="onConfirmZjdlyzk"
@cancel="showzjdlyzk = false"
/>
</van-popup>
<van-field v-model="circulation.zjdxzyy" label="宅基地闲置原因" placeholder="闲置原因" input-align="right" label-width="auto"/>
<van-field
readonly
clickable
v-model="circulation.zjdxzqssj"
label="宅基地闲置开始时间"
placeholder="宅基地闲置开始时间"
@click="showzjdxzqssj = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showzjdxzqssj" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="date"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
@confirm="onConfirmZjdxzqssj"
/>
</van-popup>
<van-field
readonly
clickable
v-model="circulation.dcsj"
label="调查时间"
placeholder="调查时间"
@click="showdcsj = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showdcsj" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="date"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
@confirm="onConfirmDcsj"
/>
</van-popup>
<van-field v-model="circulation.bz" label="备注" type="textarea" placeholder="请输入内容" input-align="right" label-width="auto"/>
</div>

<div style="padding: 16px 0;">
<van-row>
<van-col span="12" align="center">
<van-button type="info" color="#B4B0B0" native-type="submit" class="submitButton">关闭</van-button>
</van-col>
<van-col span="12" align="center">
<van-button type="info" native-type="submit" class="submitButton" @click="goSubmit">保存</van-button>
</van-col>
</van-row>
<div class="clear"></div>
</div>
</div>
</template>

<script>
import { zjdzd } from "@/api/onlineHome/homestead/circulation";
import { zjdlyAdd } from "@/api/onlineHome/homestead/homesteadUtilize";
export default {
name: "homesteadUtilizeAdd",
data() {
return {
zjdlyzk:'',//宅基地利用状况
zjdlyzkDictionaries:[],//宅基地利用状况 字典
circulation:{},
zjdDictionaries:[],
zjdlyzkDictionaries: [],//宅基地利用状况 字典 zjdlyzk
showzjddm : false ,
showzjdlyzk : false ,
showzjdxzqssj : false ,
showdcsj : false ,

minDate: new Date(),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(),
};
},
created() {
this.houseGetDicts("zjdlyzk").then((res) => {
for(var i = 0 ; i < res.data.length ; i++){
this.zjdlyzkDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue});
}
});
//宅基地代码
zjdzd().then(zjdRes => {
for( let i = 0 ; i < zjdRes.rows.length ; i++){
this.zjdDictionaries.push(zjdRes.rows[i].zjddm);
}
});
},
methods: {
onConfirmZjddm(data){
console.log(data)
this.circulation.zjddm = data;
this.showzjddm = false;
},
onConfirmZjdlyzk(data){
this.zjdlyzk = data.text;
this.circulation.zjdlyzk = data.value;
this.showzjdlyzk = false;
},
onConfirmZjdxzqssj(data){
this.circulation.zjdxzqssj = this.getNowFormatDate(data).substr(0,10);
this.showzjdxzqssj = false;
},
onConfirmDcsj(data){
this.circulation.dcsj = this.getNowFormatDate(data).substr(0,10);
this.showdcsj = false;
},
goSubmit(){
console.log(this.circulation);
zjdlyAdd(this.circulation).then(response => {
if(response.code = 200){
this.$toast.success('保存成功');
}
});
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;

}
</style>

+ 98
- 0
src/views/yinnong/homestead/homesteadUtilize/homesteadUtilizeDetail.vue Ver ficheiro

@@ -0,0 +1,98 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">宅基地利用情况</p>
</template>
</van-nav-bar>
<div class="main_box">
<van-field
readonly
v-model="circulation.zjddm"
label="宅基地代码"
input-align="right"
/>
<van-field
readonly
v-model="circulation.zjdlyzk"
label="宅基地利用情况"
input-align="right"
label-width="auto"
/>
<van-field label="宅基地闲置原因" v-model="circulation.zjdxzyy" readonly input-align="right" label-width="auto"/>
<van-field
readonly
v-model="circulation.zjdxzqssj"
label="宅基地闲置起始时间"
input-align="right"
label-width="auto"
/>
<van-field
readonly
v-model="circulation.dcsj"
label="调查时间"
input-align="right"
label-width="auto"
/>
<van-field label="备注" v-model="circulation.bz" readonly type="textarea" input-align="right" label-width="auto"/>
</div>
</div>
</template>

<script>
import { getZjdly } from "@/api/onlineHome/homestead/homesteadUtilize";
export default {
name: "homesteadUtilizeDetail",
data() {
return {
circulation:[]
};
},
created() {
this.getDetail();
},
methods: {
getDetail(){
getZjdly(this.$route.query.id).then(response => {
console.log(response)
//退出权利类型
this.houseGetDicts("zjdlyzk").then((res) => {
this.circulation.zjdlyzk = this.selectDictLabel(res.data, response.data.zjdlyzk);
});
this.circulation = response.data;
});
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;

}
</style>

+ 210
- 0
src/views/yinnong/homestead/homesteadUtilize/homesteadUtilizeModify.vue Ver ficheiro

@@ -0,0 +1,210 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">宅基地利用情况</p>
</template>
</van-nav-bar>
<div class="main_box">
<van-field
readonly
clickable
v-model="circulation.zjddm"
label="宅基地代码"
placeholder="请选择"
@click="showzjddm = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showzjddm" position="bottom">
<van-picker
show-toolbar
:columns="zjdDictionaries"
@confirm="onConfirmZjddm"
@cancel="showzjddm = false"
/>
</van-popup>
<van-field
readonly
clickable
v-model="zjdlyzk"
label="宅基地利用情况"
placeholder="请选择"
@click="showzjdlyzk = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showzjdlyzk" position="bottom">
<van-picker
show-toolbar
:columns="zjdlyzkDictionaries"
@confirm="onConfirmZjdlyzk"
@cancel="showzjdlyzk = false"
/>
</van-popup>
<van-field v-model="circulation.zjdxzyy" label="宅基地闲置原因" placeholder="闲置原因" input-align="right" label-width="auto"/>
<van-field
readonly
clickable
v-model="circulation.zjdxzqssj"
label="宅基地闲置开始时间"
placeholder="宅基地闲置开始时间"
@click="showzjdxzqssj = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showzjdxzqssj" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="date"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
@confirm="onConfirmZjdxzqssj"
/>
</van-popup>
<van-field
readonly
clickable
v-model="circulation.dcsj"
label="调查时间"
placeholder="调查时间"
@click="showdcsj = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showdcsj" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="date"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
@confirm="onConfirmDcsj"
/>
</van-popup>
<van-field v-model="circulation.bz" label="备注" type="textarea" placeholder="请输入内容" input-align="right" label-width="auto"/>
</div>

<div style="padding: 16px 0;">
<van-row>
<van-col span="12" align="center">
<van-button type="info" color="#B4B0B0" native-type="submit" class="submitButton">关闭</van-button>
</van-col>
<van-col span="12" align="center">
<van-button type="info" native-type="submit" class="submitButton" @click="goSubmit">保存</van-button>
</van-col>
</van-row>
<div class="clear"></div>
</div>
</div>
</template>

<script>
import { zjdzd } from "@/api/onlineHome/homestead/circulation";
import { zjdlyEdit , getZjdly } from "@/api/onlineHome/homestead/homesteadUtilize";
export default {
name: "homesteadUtilizeModify",
data() {
return {
zjdlyzk:'',//宅基地利用状况
zjdlyzkDictionaries:[],//宅基地利用状况 字典
circulation:{},
zjdDictionaries:[],
zjdlyzkDictionaries: [],//宅基地利用状况 字典 zjdlyzk
showzjddm : false ,
showzjdlyzk : false ,
showzjdxzqssj : false ,
showdcsj : false ,

minDate: new Date(),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(),
};
},
created() {
this.getDetail();

},
methods: {
getDetail(){
getZjdly(this.$route.query.id).then(response => {
console.log(response)
this.houseGetDicts("zjdlyzk").then((res) => {
for(var i = 0 ; i < res.data.length ; i++){
this.zjdlyzkDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue});
}
this.zjdlyzk = this.selectDictLabel(res.data, response.data.zjdlyzk);
});
//宅基地代码
zjdzd().then(zjdRes => {
for( let i = 0 ; i < zjdRes.rows.length ; i++){
this.zjdDictionaries.push(zjdRes.rows[i].zjddm);
}
});
this.circulation = response.data;
});
},
onConfirmZjddm(data){
console.log(data)
this.circulation.zjddm = data;
this.showzjddm = false;
},
onConfirmZjdlyzk(data){
this.zjdlyzk = data.text;
this.circulation.zjdlyzk = data.value;
this.showzjdlyzk = false;
},
onConfirmZjdxzqssj(data){
this.circulation.zjdxzqssj = this.getNowFormatDate(data).substr(0,10);
this.showzjdxzqssj = false;
},
onConfirmDcsj(data){
this.circulation.dcsj = this.getNowFormatDate(data).substr(0,10);
this.showdcsj = false;
},
goSubmit(){
console.log(this.circulation);
zjdlyEdit(this.circulation).then(response => {
if(response.code = 200){
this.$toast.success('保存成功');
}
});
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;

}
</style>

+ 299
- 0
src/views/yinnong/homestead/mortgage/mortgageAdd.vue Ver ficheiro

@@ -0,0 +1,299 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">使用抵押权</p>
</template>
</van-nav-bar>
<div class="main_box">
<van-field
readonly
clickable
name="picker"
v-model="circulation.zjddm"
label="宅基地代码"
placeholder="请选择"
@click="showzjddm = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showzjddm" position="bottom">
<van-picker
show-toolbar
:columns="zjdDictionaries"
@confirm="onConfirmZjddm"
@cancel="showzjddm = false"
/>
</van-popup>
<van-field v-model="circulation.bdcdyh" label="不动产单元号" placeholder="请输入流转面积(㎡)" input-align="right" label-width="auto"/>
<van-field v-model="circulation.bdcqzh" label="不动产权证号" placeholder="请输入流转单价(元)" input-align="right" label-width="auto"/>
<van-field v-model="circulation.bdcdydjywh" label="不动产抵押登记业务号" placeholder="请输入流转费用(元)" input-align="right" label-width="auto"/>
<van-field v-model="circulation.zjjzwzl" label="在建建筑物坐落" placeholder="请输入流转单价(元)" input-align="right" label-width="auto"/>
<van-field v-model="circulation.zjjzwdyfw" label="在建建筑物抵押范围" placeholder="请输入流转费用(元)" input-align="right" label-width="auto"/>
<van-field
readonly
clickable
name="picker"
v-model="qszt"
label="权属状态"
placeholder="请选择权属状态"
@click="showqszt = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showqszt" position="bottom">
<van-picker
show-toolbar
:columns="qsztDictionaries"
@confirm="onConfirmQszt"
@cancel="showqszt = false"
/>
</van-popup>
</div>

<div class="main_box">
<van-field
readonly
clickable
name="picker"
v-model="dybdclx"
label="抵押不动产类型"
placeholder="请选择类型"
@click="showdybdclx = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showdybdclx" position="bottom">
<van-picker
show-toolbar
:columns="dybdclxDictionaries"
@confirm="onConfirmDybdclx"
@cancel="showdybdclx = false"
/>
</van-popup>
<van-field v-model="circulation.dyr" label="抵押人" placeholder="请输入抵押人" input-align="right" label-width="auto"/>
<van-field
readonly
clickable
name="picker"
v-model="dyfs"
label="抵押方式"
placeholder="请选择抵押方式"
@click="showdyfs = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showdyfs" position="bottom">
<van-picker
show-toolbar
:columns="dyfsDictionaries"
@confirm="onConfirmDyfs"
@cancel="showdyfs = false"
/>
</van-popup>
</div>

<div class="main_box">
<van-field
readonly
clickable
name="picker"
v-model="djlx"
label="登记类型"
placeholder="请选择登记类型"
@click="showdjlx = true"
label-width="auto"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showdjlx" position="bottom">
<van-picker
show-toolbar
:columns="djlxDictionaries"
@confirm="onConfirmDjlx"
@cancel="showdjlx = false"
/>
</van-popup>
<van-field v-model="circulation.djyy" label="登记原因" placeholder="请输入登记原因" input-align="right" label-width="auto"/>
<van-field v-model="circulation.djjg" label="登记机构" placeholder="请输入登记机构" input-align="right" label-width="auto"/>
<van-field v-model="circulation.dbr" label="登薄人" placeholder="请输入登薄人" input-align="right" label-width="auto"/>
<van-field
readonly
clickable
name="picker"
v-model="circulation.djsj"
label="登记时间"
placeholder="选择登记时间"
@click="showdjsj = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showdjsj" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="date"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
@confirm="onConfirmDjsj"
/>
</van-popup>
</div>

<div class="main_box">
<van-field label="附记" v-model="circulation.fj" placeholder="请输入内容" input-align="right" label-width="auto"/>
<van-field label="备注" v-model="circulation.bz" placeholder="请输入内容" input-align="right" label-width="auto"/>
</div>

<div style="padding: 16px 0;">
<van-row>
<van-col span="12" align="center">
<van-button type="info" color="#B4B0B0" native-type="submit" class="submitButton">关闭</van-button>
</van-col>
<van-col span="12" align="center">
<van-button type="info" native-type="submit" class="submitButton" @click="goSubmit">保存</van-button>
</van-col>
</van-row>
<div class="clear"></div>
</div>
</div>
</template>

<script>
import { dyAdd } from "@/api/onlineHome/homestead/mortgage";
import { zjdzd } from "@/api/onlineHome/homestead/circulation";
export default {
name: "mortgageAdd",
data() {
return {
value: '',
showdjsj: false,
showdybdclx: false,
showdyfs: false,
showdjlx: false,
showqszt: false,
showzjddm: false,
dybdclx: '',
dyfs: '',
djlx: '',
qszt: '',
zjddm: '',
minDate: new Date(),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(),
circulation:{},
dybdclxDictionaries:[],//抵押不动产类型
dyfsDictionaries:[],//抵押方式
djlxDictionaries:[],//登记类型
qsztDictionaries:[],//权属状态
zjdDictionaries: [],//宅基地列表
};
},
created() {
this.getDictionaries();
},
methods: {
getDictionaries(){
//抵押不动产类型
this.houseGetDicts("dybdclx").then((res) => {
for(var i = 0 ; i < res.data.length ; i++){
this.dybdclxDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue});
}
});
//抵押方式
this.houseGetDicts("dyfs").then((res) => {
for(var i = 0 ; i < res.data.length ; i++){
this.dyfsDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue});
}
});
//登记类型
this.houseGetDicts("djlx").then((res) => {
for(var i = 0 ; i < res.data.length ; i++){
this.djlxDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue});
}
});
//权属状态
this.houseGetDicts("qszt").then((res) => {
for(var i = 0 ; i < res.data.length ; i++){
this.qsztDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue});
}
});
//宅基地代码
zjdzd().then(zjdRes => {
for( let i = 0 ; i < zjdRes.rows.length ; i++){
this.zjdDictionaries.push(zjdRes.rows[i].zjddm);
}
});
},
onConfirmZjddm(data){
console.log(data)
this.circulation.zjddm = data;
this.showzjddm = false;
},
onConfirmQszt(data){
this.qszt = data.text;
this.circulation.qszt = data.value;
this.showqszt = false;
},
onConfirmDybdclx(data){
this.dybdclx = data.text;
this.circulation.dybdclx = data.value;
this.showdybdclx = false;
},
onConfirmDyfs(data){
this.dyfs = data.text;
this.circulation.dyfs = data.value;
this.showdyfs = false;
},
onConfirmDjlx(data){
this.djlx = data.text;
this.circulation.djlx = data.value;
this.showdjlx = false;
},
onConfirmDjsj(data){
this.circulation.djsj = this.getNowFormatDate(data).substr(0,10);
this.showdjsj = false;
},
goSubmit(){
dyAdd(this.circulation).then(response => {
if(response.code = 200){
this.$toast.success('保存成功');
}
});
}
},
}
</script>

<style scoped lang="scss">
.app-container {
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
margin-top:2%;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;

}
</style>

+ 143
- 0
src/views/yinnong/homestead/mortgage/mortgageDetail.vue Ver ficheiro

@@ -0,0 +1,143 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">使用抵押权</p>
</template>
</van-nav-bar>
<div class="main_box">
<van-field
readonly
v-model="circulation.zjddm"
label="宅基地代码"
input-align="right"
/>
<van-field readonly label="不动产单元号" v-model="circulation.bdcdyh" input-align="right" label-width="auto"/>
<van-field readonly label="不动产权证号" v-model="circulation.bdcqzh" input-align="right" label-width="auto"/>
<van-field readonly label="不动产抵押登记业务号" v-model="circulation.bdcdydjywh" input-align="right" label-width="auto"/>
<van-field readonly label="在建建筑物坐落" v-model="circulation.zjjzwzl" input-align="right" label-width="auto"/>
<van-field readonly label="在建建筑物抵押范围" v-model="circulation.zjjzwdyfw" input-align="right" label-width="auto"/>
<van-field
readonly
v-model="circulation.qszt"
label="权属状态"
input-align="right"
label-width="auto"
/>
</div>

<div class="main_box">
<van-field
readonly
v-model="circulation.dybdclx"
label="抵押不动产类型"
input-align="right"
label-width="auto"
/>
<van-field readonly label="抵押人" v-model="circulation.dyr" input-align="right" label-width="auto"/>
<van-field
readonly
v-model="circulation.dyfs"
label="抵押方式"
input-align="right"
label-width="auto"
/>
</div>

<div class="main_box">
<van-field
readonly
v-model="circulation.djlx"
label="登记类型"
label-width="auto"
input-align="right"
/>
<van-field readonly label="登记原因" v-model="circulation.djyy" input-align="right" label-width="auto"/>
<van-field readonly label="登记机构" v-model="circulation.djjg" input-align="right" label-width="auto"/>
<van-field readonly label="登薄人" v-model="circulation.dbr" input-align="right" label-width="auto"/>
<van-field
readonly
v-model="circulation.djsj"
label="登记时间"
input-align="right"
label-width="auto"
/>
</div>

<div class="main_box">
<van-field readonly label="附记" v-model="circulation.fj" input-align="right" label-width="auto"/>
<van-field readonly label="备注" v-model="circulation.bz" input-align="right" label-width="auto"/>
</div>
</div>
</template>

<script>
import { getDy } from "@/api/onlineHome/homestead/mortgage";
export default {
name: "mortgageDetail",
data() {
return {
circulation:[]
};
},
created() {
this.getDetail();
},
methods: {
getDetail(){
getDy(this.$route.query.id).then(response => {
console.log(response)
this.circulation = response.data;
//抵押不动产类型
this.houseGetDicts("dybdclx").then((res) => {
this.circulation.dybdclx = this.selectDictLabel(res.data, response.data.dybdclx);
});
//抵押方式
this.houseGetDicts("dyfs").then((res) => {
this.circulation.dyfs = this.selectDictLabel(res.data, response.data.dyfs);
});
//登记类型
this.houseGetDicts("djlx").then((res) => {
this.circulation.djlx = this.selectDictLabel(res.data, response.data.djlx);
});
//权属状态
this.houseGetDicts("qszt").then((res) => {
this.circulation.qszt = this.selectDictLabel(res.data, response.data.qszt);
});
});
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding-bottom: 5%;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
margin-top:2%;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;

}
</style>

+ 159
- 0
src/views/yinnong/homestead/mortgage/mortgageList.vue Ver ficheiro

@@ -0,0 +1,159 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
@click-right="goAdd"
>
<template #title>
<p style="font-weight: bold;">使用权抵押</p>
</template>
<template #right>
<van-icon name="add" size="18" />
</template>
</van-nav-bar>
<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<van-swipe-cell v-for="(item,index) in applicationList" :key="index">
<van-cell :title="item.zjddm" :value="item.auditStatus" center :to="{name:'mortgageDetail', query: {id:item.id}}" >
<template #icon>
<van-icon name="../../../static/images/onlineHome/icon_zjd4.png" size="30" color="#539FFD" style="margin-right: 10px;" />
</template>
<template #label>
<p><b style="color: #3AC2DB;">{{item.dyfs}}</b><i style="margin-right: 0.5rem;"></i><b style="color: #333333;">{{item.dyr}}</b><i style="margin-right: 0.5rem;"></i>{{item.dybdclx}}</p>
</template>
</van-cell>
<template #right>
<van-row>
<van-col>
<van-button square text="修改" v-if="item.auditStatus=='草稿'" :to="{name:'mortgageModify', query: {id:item.id}}" type="info" class="delete-button" />
</van-col>
<van-col>
<van-button square text="删除" v-if="item.auditStatus=='草稿'" @click="deleteList(item.id,index)" type="danger" class="delete-button" />
</van-col>
</van-row>
</template>
</van-swipe-cell>
</van-list>
</div>
</template>

<script>
import { getList , removeList } from "@/api/onlineHome/homestead/mortgage";
export default {
name: "mortgageList",
data() {
return {
applicationList:[],
houseApplyStatus:[],
dybdclxStatus:[],
auditStatus:[],
dyfsStatus:[],
loading: false,
finished: false,
queryParams:{
pageNum:1,
pageSize:10,
orderByColumn:'createTime',
isAsc:'desc'
}
};
},
created() {
this.houseGetDicts("dybdclx").then((res) => {
this.dybdclxStatus = res.data;
});
this.houseGetDicts("dyfs").then((res) => {
this.dyfsStatus = res.data;
});
this.houseGetDicts("audit_status").then((res) => {
this.auditStatus = res.data;
});
},
methods: {
goAdd(){
window.location = 'mortgageAdd';
},
getList(){
setTimeout(() => {
getList(this.queryParams).then(response => {
console.log(response)
for (var i = 0; i < response.rows.length; i++) {
response.rows[i].dybdclx = this.selectDictLabel(this.dybdclxStatus, response.rows[i].dybdclx)
response.rows[i].dyfs = this.selectDictLabel(this.dyfsStatus, response.rows[i].dyfs)
response.rows[i].auditStatus = this.selectDictLabel(this.auditStatus, response.rows[i].auditStatus)
this.applicationList.push(response.rows[i]);
}
if(this.applicationList.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.queryParams.pageNum += 1 ;
}
});
}, 1000);
},
deleteList(id,index){
this.$dialog.confirm({
message: '您确认删除申请草稿?',
})
.then(() => {
// on confirm
this.applicationList.splice(index,1)
removeList(id).then(res => {
if(res.code = 200){
this.$toast.success('删除成功');
}
});
})
.catch(() => {
// on cancel
});
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 0.2rem 3%;
}
/deep/.van-cell__title{
flex: 0.9;
}
/deep/.van-cell__title span{
font-family: Arial;
font-size: 0.4rem;
font-weight: normal;
}
/deep/.van-cell__value{
flex: 0.1;
color: #1D6FE9;
font-weight: bold;
}
/deep/.van-swipe-cell{
margin-bottom: 0.2rem;
border-radius: 0.2rem;
overflow: hidden;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
}
/deep/van-ellipsis{
font-weight: bold;
}
.delete-button {
height: 100%;
}
.van-row{
height: 100%;
}
.van-col{
height: 100%;
}
</style>

+ 323
- 0
src/views/yinnong/homestead/mortgage/mortgageModify.vue Ver ficheiro

@@ -0,0 +1,323 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">使用抵押权</p>
</template>
</van-nav-bar>
<div class="main_box">
<van-field
readonly
clickable
name="picker"
v-model="circulation.zjddm"
label="宅基地代码"
placeholder="请选择"
@click="showzjddm = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showzjddm" position="bottom">
<van-picker
show-toolbar
:columns="zjdDictionaries"
@confirm="onConfirmZjddm"
@cancel="showzjddm = false"
/>
</van-popup>
<van-field v-model="circulation.bdcdyh" label="不动产单元号" placeholder="请输入流转面积(㎡)" input-align="right" label-width="auto"/>
<van-field v-model="circulation.bdcqzh" label="不动产权证号" placeholder="请输入流转单价(元)" input-align="right" label-width="auto"/>
<van-field v-model="circulation.bdcdydjywh" label="不动产抵押登记业务号" placeholder="请输入流转费用(元)" input-align="right" label-width="auto"/>
<van-field v-model="circulation.zjjzwzl" label="在建建筑物坐落" placeholder="请输入流转单价(元)" input-align="right" label-width="auto"/>
<van-field v-model="circulation.zjjzwdyfw" label="在建建筑物抵押范围" placeholder="请输入流转费用(元)" input-align="right" label-width="auto"/>
<van-field
readonly
clickable
name="picker"
v-model="qszt"
label="权属状态"
placeholder="请选择权属状态"
@click="showqszt = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showqszt" position="bottom">
<van-picker
show-toolbar
:columns="qsztDictionaries"
@confirm="onConfirmQszt"
@cancel="showqszt = false"
/>
</van-popup>
</div>

<div class="main_box">
<van-field
readonly
clickable
name="picker"
v-model="dybdclx"
label="抵押不动产类型"
placeholder="请选择类型"
@click="showdybdclx = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showdybdclx" position="bottom">
<van-picker
show-toolbar
:columns="dybdclxDictionaries"
@confirm="onConfirmDybdclx"
@cancel="showdybdclx = false"
/>
</van-popup>
<van-field v-model="circulation.dyr" label="抵押人" placeholder="请输入抵押人" input-align="right" label-width="auto"/>
<van-field
readonly
clickable
name="picker"
v-model="dyfs"
label="抵押方式"
placeholder="请选择抵押方式"
@click="showdyfs = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showdyfs" position="bottom">
<van-picker
show-toolbar
:columns="dyfsDictionaries"
@confirm="onConfirmDyfs"
@cancel="showdyfs = false"
/>
</van-popup>
</div>

<div class="main_box">
<van-field
readonly
clickable
name="picker"
v-model="djlx"
label="登记类型"
placeholder="请选择登记类型"
@click="showdjlx = true"
label-width="auto"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showdjlx" position="bottom">
<van-picker
show-toolbar
:columns="djlxDictionaries"
@confirm="onConfirmDjlx"
@cancel="showdjlx = false"
/>
</van-popup>
<van-field v-model="circulation.djyy" label="登记原因" placeholder="请输入登记原因" input-align="right" label-width="auto"/>
<van-field v-model="circulation.djjg" label="登记机构" placeholder="请输入登记机构" input-align="right" label-width="auto"/>
<van-field v-model="circulation.dbr" label="登薄人" placeholder="请输入登薄人" input-align="right" label-width="auto"/>
<van-field
readonly
clickable
name="picker"
v-model="circulation.djsj"
label="登记时间"
placeholder="选择登记时间"
@click="showdjsj = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showdjsj" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="date"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
@confirm="onConfirmDjsj"
/>
</van-popup>
</div>

<div class="main_box">
<van-field label="附记" v-model="circulation.fj" placeholder="请输入内容" input-align="right" label-width="auto"/>
<van-field label="备注" v-model="circulation.bz" placeholder="请输入内容" input-align="right" label-width="auto"/>
</div>

<div style="padding: 16px 0;">
<van-row>
<van-col span="12" align="center">
<van-button type="info" native-type="submit" class="submitButton" @click="goEdit">保存</van-button>
</van-col>
<van-col span="12" align="center">
<van-button type="info" native-type="submit" class="submitButton" @click="goSubmit">提交</van-button>
</van-col>
</van-row>
<div class="clear"></div>
</div>
</div>
</template>

<script>
import { dyApply , getDy , dyEdit } from "@/api/onlineHome/homestead/mortgage";
import { zjdzd } from "@/api/onlineHome/homestead/circulation";
export default {
name: "mortgageModify",
data() {
return {
value: '',
showdjsj: false,
showdybdclx: false,
showdyfs: false,
showdjlx: false,
showqszt: false,
showzjddm: false,
dybdclx: '',
dyfs: '',
djlx: '',
qszt: '',
zjddm: '',
minDate: new Date(),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(),
circulation:{},
dybdclxDictionaries:[],//抵押不动产类型
dyfsDictionaries:[],//抵押方式
djlxDictionaries:[],//登记类型
qsztDictionaries:[],//权属状态
zjdDictionaries: [],//宅基地列表
};
},
created() {
this.getDictionaries();
},
methods: {
getDictionaries(){
getDy(this.$route.query.id).then(response => {
//抵押不动产类型
this.houseGetDicts("dybdclx").then((res) => {
for(var i = 0 ; i < res.data.length ; i++){
this.dybdclxDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue});
}
this.dybdclx = this.selectDictLabel(res.data, response.data.dybdclx);
});
//抵押方式
this.houseGetDicts("dyfs").then((res) => {
for(var i = 0 ; i < res.data.length ; i++){
this.dyfsDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue});
}
this.dyfs = this.selectDictLabel(res.data, response.data.dyfs);
});
//登记类型
this.houseGetDicts("djlx").then((res) => {
for(var i = 0 ; i < res.data.length ; i++){
this.djlxDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue});
}
this.djlx = this.selectDictLabel(res.data, response.data.djlx);
});
//权属状态
this.houseGetDicts("qszt").then((res) => {
for(var i = 0 ; i < res.data.length ; i++){
this.qsztDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue});
}
this.qszt = this.selectDictLabel(res.data, response.data.qszt);
});
//宅基地代码
zjdzd().then(zjdRes => {
for( let i = 0 ; i < zjdRes.rows.length ; i++){
this.zjdDictionaries.push(zjdRes.rows[i].zjddm);
}
});
this.circulation = response.data;
});
},
onConfirmZjddm(data){
console.log(data)
this.circulation.zjddm = data;
this.showzjddm = false;
},
onConfirmQszt(data){
this.qszt = data.text;
this.circulation.qszt = data.value;
this.showqszt = false;
},
onConfirmDybdclx(data){
this.dybdclx = data.text;
this.circulation.dybdclx = data.value;
this.showdybdclx = false;
},
onConfirmDyfs(data){
this.dyfs = data.text;
this.circulation.dyfs = data.value;
this.showdyfs = false;
},
onConfirmDjlx(data){
this.djlx = data.text;
this.circulation.djlx = data.value;
this.showdjlx = false;
},
onConfirmDjsj(data){
this.circulation.djsj = this.getNowFormatDate(data).substr(0,10);
this.showdjsj = false;
},
goEdit(){
dyApply(this.circulation).then(response => {
if(response.code = 200){
this.$toast.success('保存成功');
}
});
},
goEdit(){
dyEdit(this.circulation).then(response => {
if(response.code = 200){
this.$toast.success('保存成功');
}
});
},
goSubmit(){
dyApply(this.$route.query.id).then(response => {
if(response.code = 200){
this.$toast.success('保存成功');
setTimeout(function(){
window.location.replace("mortgageList")
},1000)
}
});
}
},
}
</script>

<style scoped lang="scss">
.app-container {
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
margin-top:2%;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;

}
</style>

+ 301
- 0
src/views/yinnong/homestead/paidExit/paidExitAdd.vue Ver ficheiro

@@ -0,0 +1,301 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">添加有偿退出</p>
</template>
</van-nav-bar>
<div class="main_box">
<van-field
readonly
clickable
v-model="circulation.zjddm"
label="宅基地代码"
placeholder="请选择"
@click="showzjddm = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showzjddm" position="bottom">
<van-picker
show-toolbar
:columns="zjdDictionaries"
@confirm="onConfirmZjddm"
@cancel="showzjddm = false"
/>
</van-popup>
<van-field v-model="circulation.sqrxm" label="申请人姓名" placeholder="申请人姓名" input-align="right" label-width="auto"/>
<van-field
readonly
clickable
v-model="zjlx"
label="申请人证件类型"
placeholder="请选择"
@click="showzjlx = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showzjlx" position="bottom">
<van-picker
show-toolbar
:columns="zjlxDictionaries"
@confirm="onConfirmZjlx"
@cancel="showzjlx = false"
/>
</van-popup>
<van-field v-model="circulation.sqrzjhm" label="申请人证件号码" placeholder="申请人证件号码" input-align="right" label-width="auto"/>
</div>

<p class="main_title">退出信息</p>
<div class="main_box">
<van-field
readonly
clickable
v-model="tcqllx"
label="退出权利类型"
placeholder="请选择退出权利类型"
@click="showtcqllx = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showtcqllx" position="bottom">
<van-picker
show-toolbar
:columns="tcqllxDictionaries"
@confirm="onConfirmTcqllx"
@cancel="showtcqllx = false"
/>
</van-popup>

<van-field
readonly
clickable
v-model="tclx"
label="退出类型"
placeholder="请选择退出类型"
@click="showtclx = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showtclx" position="bottom">
<van-picker
show-toolbar
:columns="tclxDictionaries"
@confirm="onConfirmTclx"
@cancel="showtclx = false"
/>
</van-popup>

<van-field
readonly
clickable
v-model="tcfs"
label="退出方式"
placeholder="请选择退出方式"
@click="showtcfs = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showtcfs" position="bottom">
<van-picker
show-toolbar
:columns="tcfsDictionaries"
@confirm="onConfirmTcfs"
@cancel="showtcfs = false"
/>
</van-popup>
<van-field v-model="circulation.tcmj" label="退出面积" placeholder="请输入退出面积㎡" input-align="right" label-width="auto"/>
<van-field v-model="circulation.tcnx" label="退出年限" placeholder="请输入退出年限" input-align="right" label-width="auto"/>
</div>

<p class="main_title">补偿信息</p>
<div class="main_box">
<van-field
readonly
clickable
v-model="bcfs"
label="补偿方式"
placeholder="请选择补偿方式"
@click="showbcfs = true"
label-width="auto"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showbcfs" position="bottom">
<van-picker
show-toolbar
:columns="bcfsDictionaries"
@confirm="onConfirmBcfs"
@cancel="showbcfs = false"
/>
</van-popup>
<van-field v-model="circulation.bcje" label="补偿金额" placeholder="请输入补偿金额 元" input-align="right" label-width="auto"/>
<van-field v-model="circulation.zhfwmj" label="置换房屋面积" placeholder="请输入房屋面积㎡" input-align="right" label-width="auto"/>
<van-field v-model="circulation.zhfwzl" label="置换房屋坐落" placeholder="请输入房屋坐落" input-align="right" label-width="auto"/>
<van-field v-model="circulation.bz" label="备注" placeholder="请输入内容" input-align="right" label-width="auto"/>

</div>

<div style="padding: 16px 0;">
<van-row>
<van-col span="12" align="center">
<van-button type="info" color="#B4B0B0" native-type="submit" class="submitButton">关闭</van-button>
</van-col>
<van-col span="12" align="center">
<van-button type="info" native-type="submit" class="submitButton" @click="goSubmit">保存</van-button>
</van-col>
</van-row>
<div class="clear"></div>
</div>
</div>
</template>

<script>
import { zjdzd } from "@/api/onlineHome/homestead/circulation";
import { dyAdd } from "@/api/onlineHome/homestead/paidExit";
export default {
name: "paidExitAdd",
data() {
return {
tcqllxDictionaries:[],//退出权利类型
tclxDictionaries:[],//退出类型
tcfsDictionaries:[],//退出方式
zjlxDictionaries:[],//申请人证件类型
bcfsDictionaries:[],//补偿方式
zjdDictionaries:[],//宅基地代码

tcqllx:'',
tclx:'',
tcfs:'',
zjlx:'',
bcfs:'',
zjddm:'',

showtcqllx: false,
showtclx: false,
showtcfs: false,
showzjlx: false,
showbcfs: false,
showzjddm: false,

circulation:{}
};
},
created() {
this.getDictionaries();
},
methods: {
getDictionaries(){
//退出权利类型
this.houseGetDicts("tcqllx").then((res) => {
for(var i = 0 ; i < res.data.length ; i++){
this.tcqllxDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue});
}
});
//退出类型
this.houseGetDicts("tclx").then((res) => {
for(var i = 0 ; i < res.data.length ; i++){
this.tclxDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue});
}
});
//退出方式
this.houseGetDicts("tcfs").then((res) => {
for(var i = 0 ; i < res.data.length ; i++){
this.tcfsDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue});
}
});
//申请人证件类型
this.houseGetDicts("zjlx").then((res) => {
for(var i = 0 ; i < res.data.length ; i++){
this.zjlxDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue});
}
});
//补偿方式
this.houseGetDicts("bcfs").then((res) => {
for(var i = 0 ; i < res.data.length ; i++){
this.bcfsDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue});
}
});
//宅基地代码
zjdzd().then(zjdRes => {
for( let i = 0 ; i < zjdRes.rows.length ; i++){
this.zjdDictionaries.push(zjdRes.rows[i].zjddm);
}
});
},
onConfirmZjddm(data){
console.log(data)
this.circulation.zjddm = data;
this.showzjddm = false;
},
onConfirmZjlx(data){
this.zjlx = data.text;
this.circulation.sqrzjlx = data.value;
this.showzjlx = false;
},
onConfirmTcqllx(data){
this.tcqllx = data.text;
this.circulation.tcqllx = data.value;
this.showtcqllx = false;
},
onConfirmTclx(data){
this.tclx = data.text;
this.circulation.tclx = data.value;
this.showtclx = false;
},
onConfirmTcfs(data){
this.tcfs = data.text;
this.circulation.tcfs = data.value;
this.showtcfs = false;
},
onConfirmBcfs(data){
this.bcfs = data.text;
this.circulation.bcfs = data.value;
this.showbcfs = false;
},
goSubmit(){
console.log(this.circulation);
dyAdd(this.circulation).then(response => {
if(response.code = 200){
this.$toast.success('保存成功');
}
});
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;

}
</style>

+ 145
- 0
src/views/yinnong/homestead/paidExit/paidExitDetail.vue Ver ficheiro

@@ -0,0 +1,145 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">有偿退出</p>
</template>
</van-nav-bar>
<div class="main_box">
<van-field
readonly
v-model="circulation.zjddm"
label="宅基地代码"
input-align="right"
/>
<van-field readonly v-model="circulation.sqrxm" label="申请人姓名" input-align="right" label-width="auto"/>
<van-field
readonly
v-model="circulation.sqrzjlx"
label="申请人证件类型"
input-align="right"
label-width="auto"
/>
<van-field readonly v-model="circulation.sqrzjhm" label="申请人证件号码" input-align="right" label-width="auto"/>
</div>
<p class="main_title">退出信息</p>
<div class="main_box">
<van-field
readonly
v-model="circulation.tcqllx"
label="退出权利类型"
input-align="right"
label-width="auto"
/>
<van-field
readonly
v-model="circulation.tclx"
label="退出类型"
input-align="right"
label-width="auto"
/>
<van-field
readonly
v-model="circulation.tcfs"
label="退出方式"
input-align="right"
label-width="auto"
/>
<van-field readonly v-model="circulation.tcmj+'㎡'" label="退出面积" input-align="right" label-width="auto"/>
<van-field readonly v-model="circulation.tcnx" label="退出年限" input-align="right" label-width="auto"/>
</div>

<p class="main_title">补偿信息</p>
<div class="main_box">
<van-field
readonly
v-model="circulation.bcfs"
label="补偿方式"
label-width="auto"
input-align="right"
/>
<van-field readonly v-model="circulation.bcje+'元'" label="补偿金额" input-align="right" label-width="auto"/>
<van-field readonly v-model="circulation.zhfwmj+'㎡'" label="置换房屋面积" input-align="right" label-width="auto"/>
<van-field readonly v-model="circulation.zhfwzl" label="置换房屋坐落" input-align="right" label-width="auto"/>
<van-field readonly v-model="circulation.bz" label="备注" input-align="right" label-width="auto"/>
</div>
</div>
</template>

<script>
import { getZyyctc } from "@/api/onlineHome/homestead/paidExit";
export default {
name: "paidExitDetail",
data() {
return {
circulation:[]
};
},
created() {
this.getDetail();
},
methods: {
getDetail(){
getZyyctc(this.$route.query.id).then(response => {
console.log(response)
this.circulation = response.data;
//退出权利类型
this.houseGetDicts("tcqllx").then((res) => {
this.circulation.tcqllx = this.selectDictLabel(res.data, response.data.tcqllx);
});
//退出类型
this.houseGetDicts("tclx").then((res) => {
this.circulation.tclx = this.selectDictLabel(res.data, response.data.tclx);
});
//退出方式
this.houseGetDicts("tcfs").then((res) => {
this.circulation.tcfs = this.selectDictLabel(res.data, response.data.tcfs);
});
//申请人证件类型
this.houseGetDicts("zjlx").then((res) => {
this.circulation.sqrzjlx = this.selectDictLabel(res.data, response.data.sqrzjlx);
});
//补偿方式
this.houseGetDicts("bcfs").then((res) => {
this.circulation.bcfs = this.selectDictLabel(res.data, response.data.bcfs);
});
//审核状态
this.houseGetDicts("audit_status").then((res) => {
this.circulation.auditStatus = this.selectDictLabel(res.data, response.data.auditStatus);
});
});
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;

}
</style>

+ 164
- 0
src/views/yinnong/homestead/paidExit/paidExitList.vue Ver ficheiro

@@ -0,0 +1,164 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
@click-right="goAdd"
>
<template #title>
<p style="font-weight: bold;">有偿退出</p>
</template>
<template #right>
<van-icon name="add" size="18" />
</template>
</van-nav-bar>
<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<van-swipe-cell v-for="(item,index) in applicationList" :key="index">
<van-cell :title="item.zjddm" :value="item.auditStatus" center :to="{name:'paidExitDetail', query: {id:item.id}}" >
<template #icon>
<van-icon name="../../../static/images/onlineHome/icon_zjd3.png" size="30" color="#539FFD" style="margin-right: 10px;" />
</template>
<template #label>
<p><b style="color: #539FFD;">{{item.tcfs}}</b><i style="margin-right: 0.5rem;"></i><b style="color: #333333;">{{item.sqrxm}}</b><i style="margin-right: 0.5rem;"></i>{{item.tcmj}}㎡</p>
</template>
</van-cell>
<template #right>
<van-row>
<van-col>
<van-button square text="修改" v-if="item.auditStatus=='草稿'" :to="{name:'paidExitModify', query: {id:item.id}}" type="info" class="delete-button" />
</van-col>
<van-col>
<van-button square text="删除" v-if="item.auditStatus=='草稿'" @click="deleteList(item.id,index)" type="danger" class="delete-button" />
</van-col>
</van-row>
</template>
</van-swipe-cell>
</van-list>
</div>
</template>

<script>
import { getList , removeList } from "@/api/onlineHome/homestead/paidExit";
export default {
name: "paidExit",
data() {
return {
applicationList:[],
houseApplyStatus:[],
tcqllxStatus:[],
tclxStatus:[],
tcfsStatus:[],
auditStatus:[],
loading: false,
finished: false,
queryParams:{
pageNum:1,
pageSize:10,
orderByColumn:'createTime',
isAsc:'desc'
}
};
},
created() {
this.houseGetDicts("tcqllx").then((res) => {
this.tcqllxStatus = res.data;
});
this.houseGetDicts("tclx").then((res) => {
this.tclxStatus = res.data;
});
this.houseGetDicts("tcfs").then((res) => {
this.tcfsStatus = res.data;
});
this.houseGetDicts("audit_status").then((res) => {
this.auditStatus = res.data;
});
},
methods: {
goAdd(){
window.location = 'paidExitAdd';
},
getList(){
setTimeout(() => {
getList(this.queryParams).then(response => {
console.log(response)
for (var i = 0; i < response.rows.length; i++) {
response.rows[i].tclx = this.selectDictLabel(this.tcqllxStatus, response.rows[i].tclx)
response.rows[i].tclx = this.selectDictLabel(this.tclxStatus, response.rows[i].tclx)
response.rows[i].tcfs = this.selectDictLabel(this.tcfsStatus, response.rows[i].tcfs)
response.rows[i].auditStatus = this.selectDictLabel(this.auditStatus, response.rows[i].auditStatus)
this.applicationList.push(response.rows[i]);
}
if(this.applicationList.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.queryParams.pageNum += 1 ;
}
});
}, 1000);
},
deleteList(id,index){
this.$dialog.confirm({
message: '您确认删除申请草稿?',
})
.then(() => {
// on confirm
this.applicationList.splice(index,1)
removeList(id).then(res => {
if(res.code = 200){
this.$toast.success('删除成功');
}
});
})
.catch(() => {
// on cancel
});
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 0.2rem 3%;
}
/deep/.van-cell__title{
flex: 0.7;
}
/deep/.van-cell__title span{
font-family: Arial;
font-size: 0.4rem;
font-weight: normal;
}
/deep/.van-cell__value{
flex: 0.3;
color: #1D6FE9;
font-weight: bold;
}
/deep/.van-swipe-cell{
margin-bottom: 0.2rem;
border-radius: 0.2rem;
overflow: hidden;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
}
/deep/van-ellipsis{
font-weight: bold;
}
.delete-button {
height: 100%;
}
.van-row{
height: 100%;
}
.van-col{
height: 100%;
}
</style>

+ 319
- 0
src/views/yinnong/homestead/paidExit/paidExitModify.vue Ver ficheiro

@@ -0,0 +1,319 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">添加有偿退出</p>
</template>
</van-nav-bar>
<div class="main_box">
<van-field
readonly
clickable
v-model="circulation.zjddm"
label="宅基地代码"
placeholder="请选择"
@click="showzjddm = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showzjddm" position="bottom">
<van-picker
show-toolbar
:columns="zjdDictionaries"
@confirm="onConfirmZjddm"
@cancel="showzjddm = false"
/>
</van-popup>
<van-field v-model="circulation.sqrxm" label="申请人姓名" placeholder="申请人姓名" input-align="right" label-width="auto"/>
<van-field
readonly
clickable
v-model="zjlx"
label="申请人证件类型"
placeholder="请选择"
@click="showzjlx = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showzjlx" position="bottom">
<van-picker
show-toolbar
:columns="zjlxDictionaries"
@confirm="onConfirmZjlx"
@cancel="showzjlx = false"
/>
</van-popup>
<van-field v-model="circulation.sqrzjhm" label="申请人证件号码" placeholder="申请人证件号码" input-align="right" label-width="auto"/>
</div>

<p class="main_title">退出信息</p>
<div class="main_box">
<van-field
readonly
clickable
v-model="tcqllx"
label="退出权利类型"
placeholder="请选择退出权利类型"
@click="showtcqllx = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showtcqllx" position="bottom">
<van-picker
show-toolbar
:columns="tcqllxDictionaries"
@confirm="onConfirmTcqllx"
@cancel="showtcqllx = false"
/>
</van-popup>

<van-field
readonly
clickable
v-model="tclx"
label="退出类型"
placeholder="请选择退出类型"
@click="showtclx = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showtclx" position="bottom">
<van-picker
show-toolbar
:columns="tclxDictionaries"
@confirm="onConfirmTclx"
@cancel="showtclx = false"
/>
</van-popup>

<van-field
readonly
clickable
v-model="tcfs"
label="退出方式"
placeholder="请选择退出方式"
@click="showtcfs = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showtcfs" position="bottom">
<van-picker
show-toolbar
:columns="tcfsDictionaries"
@confirm="onConfirmTcfs"
@cancel="showtcfs = false"
/>
</van-popup>
<van-field v-model="circulation.tcmj" label="退出面积" placeholder="请输入退出面积㎡" input-align="right" label-width="auto"/>
<van-field v-model="circulation.tcnx" label="退出年限" placeholder="请输入退出年限" input-align="right" label-width="auto"/>
</div>

<p class="main_title">补偿信息</p>
<div class="main_box">
<van-field
readonly
clickable
v-model="bcfs"
label="补偿方式"
placeholder="请选择补偿方式"
@click="showbcfs = true"
label-width="auto"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showbcfs" position="bottom">
<van-picker
show-toolbar
:columns="bcfsDictionaries"
@confirm="onConfirmBcfs"
@cancel="showbcfs = false"
/>
</van-popup>
<van-field v-model="circulation.bcje" label="补偿金额" placeholder="请输入补偿金额 元" input-align="right" label-width="auto"/>
<van-field v-model="circulation.zhfwmj" label="置换房屋面积" placeholder="请输入房屋面积㎡" input-align="right" label-width="auto"/>
<van-field v-model="circulation.zhfwzl" label="置换房屋坐落" placeholder="请输入房屋坐落" input-align="right" label-width="auto"/>
<van-field v-model="circulation.bz" label="备注" placeholder="请输入内容" input-align="right" label-width="auto"/>

</div>

<div style="padding: 16px 0;">
<van-row>
<van-col span="12" align="center">
<van-button type="info" native-type="submit" class="submitButton" @click="goEdit">保存</van-button>
</van-col>
<van-col span="12" align="center">
<van-button type="info" native-type="submit" class="submitButton" @click="goSubmit">提交</van-button>
</van-col>
</van-row>
<div class="clear"></div>
</div>
</div>
</template>

<script>
import { zjdzd } from "@/api/onlineHome/homestead/circulation";
import { zyyctcEdit , getZyyctc , zyyctcApply } from "@/api/onlineHome/homestead/paidExit";
export default {
name: "paidExitModify",
data() {
return {
tcqllxDictionaries:[],//退出权利类型
tclxDictionaries:[],//退出类型
tcfsDictionaries:[],//退出方式
zjlxDictionaries:[],//申请人证件类型
bcfsDictionaries:[],//补偿方式
zjdDictionaries:[],//宅基地代码

tcqllx:'',
tclx:'',
tcfs:'',
zjlx:'',
bcfs:'',
zjddm:'',

showtcqllx: false,
showtclx: false,
showtcfs: false,
showzjlx: false,
showbcfs: false,
showzjddm: false,

circulation:{}
};
},
created() {
this.getDictionaries();
},
methods: {
getDictionaries(){
getZyyctc(this.$route.query.id).then(response => {
//退出权利类型
this.houseGetDicts("tcqllx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcqllxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
this.tcqllx = this.selectDictLabel(res.data, response.data.tcqllx);
});
//退出类型
this.houseGetDicts("tclx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tclxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
this.tclx = this.selectDictLabel(res.data, response.data.tclx);
});
//退出方式
this.houseGetDicts("tcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
this.tcfs = this.selectDictLabel(res.data, response.data.tcfs);
});
//申请人证件类型
this.houseGetDicts("zjlx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.zjlxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
this.zjlx = this.selectDictLabel(res.data, response.data.sqrzjlx);
});
//补偿方式
this.houseGetDicts("bcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.bcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
this.bcfs = this.selectDictLabel(res.data, response.data.bcfs);
});
//宅基地代码
zjdzd().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.zjdDictionaries.push(zjdRes.rows[i].zjddm);
}
});
this.circulation = response.data;
});
},
onConfirmZjddm(data){
console.log(data)
this.circulation.zjddm = data;
this.showzjddm = false;
},
onConfirmZjlx(data){
this.zjlx = data.text;
this.circulation.sqrzjlx = data.value;
this.showzjlx = false;
},
onConfirmTcqllx(data){
this.tcqllx = data.text;
this.circulation.tcqllx = data.value;
this.showtcqllx = false;
},
onConfirmTclx(data){
this.tclx = data.text;
this.circulation.tclx = data.value;
this.showtclx = false;
},
onConfirmTcfs(data){
this.tcfs = data.text;
this.circulation.tcfs = data.value;
this.showtcfs = false;
},
onConfirmBcfs(data){
this.bcfs = data.text;
this.circulation.bcfs = data.value;
this.showbcfs = false;
},
goEdit(){
console.log(this.circulation);
zyyctcEdit(this.circulation).then(response => {
if(response.code = 200){
this.$toast.success('保存成功');
}
});
},
goSubmit(){
zyyctcApply(this.$route.query.id).then(response => {
if(response.code = 200){
this.$toast.success('提交成功');
setTimeout(function(){
window.location.replace("paidExit")
},1000)
}
});
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;

}
</style>

+ 321
- 0
src/views/yinnong/homestead/paidUtilize/paidUtilizeAdd.vue Ver ficheiro

@@ -0,0 +1,321 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">添加有偿使用</p>
</template>
</van-nav-bar>
<div class="main_box">
<van-field
readonly
clickable
v-model="circulation.shyqrdm"
label="使用权人"
placeholder="请选择"
@click="showshyqrdm = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showshyqrdm" position="bottom">
<van-picker
show-toolbar
:columns="shyqrdmDictionaries"
@confirm="onConfirmShyqrdm"
@cancel="showshyqrdm = false"
/>
</van-popup>
<van-field
readonly
clickable
v-model="circulation.zjddm"
label="宅基地代码"
placeholder="请选择"
@click="showzjddm = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showzjddm" position="bottom">
<van-picker
show-toolbar
:columns="zjdDictionaries"
@confirm="onConfirmZjddm"
@cancel="showzjddm = false"
/>
</van-popup>
<!-- <van-field v-model="circulation.sqrxm" label="申请人姓名" placeholder="申请人姓名" input-align="right" label-width="auto"/>-->
<van-field
readonly
clickable
v-model="zjlx"
label="申请人证件类型"
placeholder="请选择"
@click="showzjlx = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showzjlx" position="bottom">
<van-picker
show-toolbar
:columns="zjlxDictionaries"
@confirm="onConfirmZjlx"
@cancel="showzjlx = false"
/>
</van-popup>
<van-field v-model="circulation.sqrzjhm" label="申请人证件号码" placeholder="申请人证件号码" input-align="right" label-width="auto"/>
<van-field v-model="circulation.ycsyfs" label="有偿使用方式" placeholder="有偿使用方式" input-align="right" label-width="auto"/>


<van-cell title="是否一户多宅">
<template #right-icon>
<!-- @change="designPaperChange"-->
<van-radio-group v-model="circulation.sfyhdz" direction="horizontal">
<van-radio name="Y">是</van-radio>
<van-radio name="N">否</van-radio >
</van-radio-group>
</template>
</van-cell>

<van-field
readonly
clickable
name="picker"
v-model="circulation.ycsykssj"
label="有偿使用开始时间"
placeholder="选择开始时间"
@click="showycsykssj = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showycsykssj" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="date"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
@confirm="onConfirmYcsykssj"
/>
</van-popup>

<van-field
readonly
clickable
name="picker"
v-model="circulation.ycsydqsj"
label="有偿使用到期时间"
placeholder="选择到期时间"
@click="showycsydqsj = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showycsydqsj" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="date"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
@confirm="onConfirmYcsydqsj"
/>
</van-popup>

<van-field v-model="circulation.ycsymj" label="有偿使用面积(㎡)" placeholder="请输入有偿使用面积㎡" input-align="right" label-width="auto"/>
<van-field v-model="circulation.ycsymjdj" label="有偿使用面积单价(元)" placeholder="请输入有偿使用面积单价" input-align="right" label-width="auto"/>
<van-field v-model="circulation.ycsyfy" label="有偿使用费用(元)" placeholder="请输入有偿使用费用" input-align="right" label-width="auto"/>
<van-field v-model="circulation.fkfs" label="付款方式" placeholder="请输入付款方式" input-align="right" label-width="auto"/>
<van-field v-model="circulation.bz" label="备注" placeholder="请输入内容" input-align="right" label-width="auto"/>

</div>

<div style="padding: 16px 0;">
<van-row>
<van-col span="12" align="center">
<van-button type="info" color="#B4B0B0" native-type="submit" class="submitButton" @click="goEdit">取消</van-button>
</van-col>
<van-col span="12" align="center">
<van-button type="info" native-type="submit" class="submitButton" @click="goSubmit">保存</van-button>
</van-col>
</van-row>
<div class="clear"></div>
</div>
</div>
</template>

<script>
import { zjdzd } from "@/api/onlineHome/homestead/circulation";
import { ycsyAdd , listByDeptId } from "@/api/onlineHome/homestead/paidUtilize";
export default {
name: "paidUtilizeAdd",
data() {
return {
tcqllxDictionaries:[],//退出权利类型
tclxDictionaries:[],//退出类型
tcfsDictionaries:[],//退出方式
zjlxDictionaries:[],//申请人证件类型
bcfsDictionaries:[],//补偿方式
zjdDictionaries:[],//宅基地代码
shyqrdmDictionaries:[],//使用权人

tcqllx:'',
tclx:'',
tcfs:'',
zjlx:'',
bcfs:'',
zjddm:'',

showtcqllx: false,
showtclx: false,
showtcfs: false,
showzjlx: false,
showbcfs: false,
showzjddm: false,
showshyqrdm: false,
showycsykssj: false,
showycsydqsj: false,

circulation:{},
minDate: new Date(),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(),
};
},
created() {
this.getDictionaries();
},
methods: {
getDictionaries(){
//退出权利类型
this.houseGetDicts("tcqllx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcqllxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出类型
this.houseGetDicts("tclx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tclxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出方式
this.houseGetDicts("tcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//申请人证件类型
this.houseGetDicts("zjlx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.zjlxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//补偿方式
this.houseGetDicts("bcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.bcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//宅基地代码
zjdzd().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.zjdDictionaries.push(zjdRes.rows[i].zjddm);
}
});
//使用权人代码
listByDeptId().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.shyqrdmDictionaries.push(zjdRes.rows[i].shyqrdm);
}
});
},
onConfirmZjddm(data){
console.log(data)
this.circulation.zjddm = data;
this.showzjddm = false;
},
onConfirmZjlx(data){
this.zjlx = data.text;
this.circulation.sqrzjlx = data.value;
this.showzjlx = false;
},
onConfirmTcqllx(data){
this.tcqllx = data.text;
this.circulation.tcqllx = data.value;
this.showtcqllx = false;
},
onConfirmTclx(data){
this.tclx = data.text;
this.circulation.tclx = data.value;
this.showtclx = false;
},
onConfirmTcfs(data){
this.tcfs = data.text;
this.circulation.tcfs = data.value;
this.showtcfs = false;
},
onConfirmBcfs(data){
this.bcfs = data.text;
this.circulation.bcfs = data.value;
this.showbcfs = false;
},
onConfirmShyqrdm(data){
this.circulation.shyqrdm = data;
this.showshyqrdm = false;
},
onConfirmYcsykssj(data){
this.circulation.ycsykssj = this.getNowFormatDate(data).substr(0,10);
this.showycsykssj = false;
},
onConfirmYcsydqsj(data){
this.circulation.ycsydqsj = this.getNowFormatDate(data).substr(0,10);
this.showycsydqsj = false;
},
goEdit(){
window.location.replace("paidUtilizeList")
},
goSubmit(){
ycsyAdd(this.circulation).then(response => {
if(response.code = 200){
this.$toast.success('新增成功');
setTimeout(function(){
window.location.replace("paidUtilizeList")
},1000)
}
});
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;

}
</style>

+ 235
- 0
src/views/yinnong/homestead/paidUtilize/paidUtilizeDteail.vue Ver ficheiro

@@ -0,0 +1,235 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">查看有偿使用</p>
</template>
</van-nav-bar>
<div class="main_box">
<van-field
readonly
v-model="circulation.shyqrdm"
label="使用权人"
input-align="right"
/>
<van-field
readonly
v-model="circulation.zjddm"
label="宅基地代码"
input-align="right"
/>
<van-field
readonly
v-model="zjlx"
label="申请人证件类型"
input-align="right"
label-width="auto"
/>
<van-field readonly v-model="circulation.sqrzjhm" label="申请人证件号码" placeholder="申请人证件号码" input-align="right" label-width="auto"/>
<van-field readonly v-model="circulation.ycsyfs" label="有偿使用方式" placeholder="有偿使用方式" input-align="right" label-width="auto"/>
<van-cell title="是否一户多宅">
<template #right-icon>
{{circulation.sfyhdz == 'Y' ? '是' : '否'}}
</template>
</van-cell>

<van-field
readonly
v-model="circulation.ycsykssj"
label="有偿使用开始时间"
input-align="right"
label-width="auto"
/>
<van-field
readonly
v-model="circulation.ycsydqsj"
label="有偿使用到期时间"
input-align="right"
label-width="auto"
/>
<van-field readonly v-model="circulation.ycsymj" label="有偿使用面积(㎡)" placeholder="请输入有偿使用面积㎡" input-align="right" label-width="auto"/>
<van-field readonly v-model="circulation.ycsymjdj" label="有偿使用面积单价(元)" placeholder="请输入有偿使用面积单价" input-align="right" label-width="auto"/>
<van-field readonly v-model="circulation.ycsyfy" label="有偿使用费用(元)" placeholder="请输入有偿使用费用" input-align="right" label-width="auto"/>
<van-field readonly v-model="circulation.fkfs" label="付款方式" placeholder="请输入付款方式" input-align="right" label-width="auto"/>
<van-field readonly v-model="circulation.bz" label="备注" placeholder="请输入内容" input-align="right" label-width="auto"/>
</div>
</div>
</template>

<script>
import { zjdzd } from "@/api/onlineHome/homestead/circulation";
import { zyyctcEdit , getYcsy , ycsyEdit } from "@/api/onlineHome/homestead/paidUtilize";
export default {
name: "paidUtilizeDteail",
data() {
return {
tcqllxDictionaries:[],//退出权利类型
tclxDictionaries:[],//退出类型
tcfsDictionaries:[],//退出方式
zjlxDictionaries:[],//申请人证件类型
bcfsDictionaries:[],//补偿方式
zjdDictionaries:[],//宅基地代码
shyqrdmDictionaries:[],//使用权人

tcqllx:'',
tclx:'',
tcfs:'',
zjlx:'',
bcfs:'',
zjddm:'',

showtcqllx: false,
showtclx: false,
showtcfs: false,
showzjlx: false,
showbcfs: false,
showzjddm: false,
showshyqrdm: false,
showycsykssj: false,
showycsydqsj: false,

circulation:{},
minDate: new Date(),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(),
};
},
created() {
this.getDictionaries();
},
methods: {
getDictionaries(){
getYcsy(this.$route.query.id).then(response => {
//退出权利类型
this.houseGetDicts("tcqllx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcqllxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
this.tcqllx = this.selectDictLabel(res.data, response.data.tcqllx);
});
//退出类型
this.houseGetDicts("tclx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tclxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
this.tclx = this.selectDictLabel(res.data, response.data.tclx);
});
//退出方式
this.houseGetDicts("tcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
this.tcfs = this.selectDictLabel(res.data, response.data.tcfs);
});
//申请人证件类型
this.houseGetDicts("zjlx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.zjlxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
this.zjlx = this.selectDictLabel(res.data, response.data.sqrzjlx);
});
//补偿方式
this.houseGetDicts("bcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.bcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
this.bcfs = this.selectDictLabel(res.data, response.data.bcfs);
});
//宅基地代码
zjdzd().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.zjdDictionaries.push(zjdRes.rows[i].zjddm);
}
});
this.circulation = response.data;
});
},
onConfirmZjddm(data){
console.log(data)
this.circulation.zjddm = data;
this.showzjddm = false;
},
onConfirmZjlx(data){
this.zjlx = data.text;
this.circulation.sqrzjlx = data.value;
this.showzjlx = false;
},
onConfirmTcqllx(data){
this.tcqllx = data.text;
this.circulation.tcqllx = data.value;
this.showtcqllx = false;
},
onConfirmTclx(data){
this.tclx = data.text;
this.circulation.tclx = data.value;
this.showtclx = false;
},
onConfirmTcfs(data){
this.tcfs = data.text;
this.circulation.tcfs = data.value;
this.showtcfs = false;
},
onConfirmBcfs(data){
this.bcfs = data.text;
this.circulation.bcfs = data.value;
this.showbcfs = false;
},
onConfirmShyqrdm(data){
this.circulation.shyqrdm = data;
this.showshyqrdm = false;
},
onConfirmYcsykssj(data){
this.circulation.ycsykssj = this.getNowFormatDate(data).substr(0,10);
this.showycsykssj = false;
},
onConfirmYcsydqsj(data){
this.circulation.ycsydqsj = this.getNowFormatDate(data).substr(0,10);
this.showycsydqsj = false;
},
goEdit(){
window.location.replace("paidUtilizeList")
},
goSubmit(){
ycsyEdit(this.circulation).then(response => {
if(response.code = 200){
this.$toast.success('修改成功');
setTimeout(function(){
window.location.replace("paidUtilizeList")
},1000)
}
});
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;

}
</style>

+ 186
- 0
src/views/yinnong/homestead/paidUtilize/paidUtilizeList.vue Ver ficheiro

@@ -0,0 +1,186 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
@click-right="goAdd"
>
<template #title>
<p style="font-weight: bold;">有偿使用</p>
</template>
<template #right>
<van-icon name="add" size="18" />
</template>
</van-nav-bar>
<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<van-swipe-cell v-for="(item,index) in applicationList" :key="index">
<van-cell :title="item.zjddm" :value="item.auditStatus" center :to="{name:'paidUtilizeDteail', query: {id:item.id}}" >
<template #icon>
<van-icon name="../../../static/images/onlineHome/icon_zjd9.png" size="30" color="#539FFD" style="margin-right: 10px;" />
</template>
<template #label>
<p>{{item.shyqrdm}}</p>
</template>
</van-cell>
<template #right>
<van-row>
<van-col>
<van-button color="#7DDA4F" v-if="item.auditStatus=='草稿'" square text="提交" @click="goSubmit(item.id,index)" type="primary" class="delete-button" />
</van-col>
<van-col>
<van-button square text="修改" v-if="item.auditStatus=='草稿'" :to="{name:'paidUtilizeModify', query: {id:item.id}}" type="info" class="delete-button" />
</van-col>
<van-col>
<van-button square text="删除" v-if="item.auditStatus=='草稿'" @click="deleteList(item.id,index)" type="danger" class="delete-button" />
</van-col>
</van-row>
</template>
</van-swipe-cell>
</van-list>
</div>
</template>

<script>
import { getList , removeList , submitApply } from "@/api/onlineHome/homestead/paidUtilize";
export default {
name: "paidUtilizeList",
data() {
return {
applicationList:[],
houseApplyStatus:[],
tcqllxStatus:[],
tclxStatus:[],
tcfsStatus:[],
auditStatus:[],
loading: false,
finished: false,
queryParams:{
pageNum:1,
pageSize:10,
orderByColumn:'id',
isAsc:'desc'
}
};
},
created() {
this.houseGetDicts("tcqllx").then((res) => {
this.tcqllxStatus = res.data;
});
this.houseGetDicts("tclx").then((res) => {
this.tclxStatus = res.data;
});
this.houseGetDicts("tcfs").then((res) => {
this.tcfsStatus = res.data;
});
this.houseGetDicts("audit_status").then((res) => {
this.auditStatus = res.data;
});
},
methods: {
goAdd(){
window.location = 'paidUtilizeAdd';
},
getList(){
setTimeout(() => {
getList(this.queryParams).then(response => {
console.log(response)
for (var i = 0; i < response.rows.length; i++) {
response.rows[i].tclx = this.selectDictLabel(this.tcqllxStatus, response.rows[i].tclx)
response.rows[i].tclx = this.selectDictLabel(this.tclxStatus, response.rows[i].tclx)
response.rows[i].tcfs = this.selectDictLabel(this.tcfsStatus, response.rows[i].tcfs)
response.rows[i].auditStatus = this.selectDictLabel(this.auditStatus, response.rows[i].auditStatus)
this.applicationList.push(response.rows[i]);
}
if(this.applicationList.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.queryParams.pageNum += 1 ;
}
});
}, 1000);
},
deleteList(id,index){
this.$dialog.confirm({
message: '您确认删除申请草稿?',
})
.then(() => {
// on confirm
this.applicationList.splice(index,1)
removeList(id).then(res => {
if(res.code = 200){
this.$toast.success('删除成功');
}
});
})
.catch(() => {
// on cancel
});
},
goSubmit(id,index){
this.$dialog.confirm({
message: '您确认提交草稿?',
})
.then(() => {
// on confirm
submitApply(id).then(res => {
if(res.code = 200){
this.$toast.success('提交成功!');
setTimeout(function(){
history.go(0)
},2000)
}
});
})
.catch(() => {
// on cancel
});
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 0.2rem 3%;
}
/deep/.van-cell__title{
flex: 0.7;
}
/deep/.van-cell__title span{
font-family: Arial;
font-size: 0.4rem;
font-weight: normal;
}
/deep/.van-cell__value{
flex: 0.3;
color: #1D6FE9;
font-weight: bold;
}
/deep/.van-swipe-cell{
margin-bottom: 0.2rem;
border-radius: 0.2rem;
overflow: hidden;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
}
/deep/van-ellipsis{
font-weight: bold;
}
.delete-button {
height: 100%;
}
.van-row{
height: 100%;
}
.van-col{
height: 100%;
}
</style>

+ 329
- 0
src/views/yinnong/homestead/paidUtilize/paidUtilizeModify.vue Ver ficheiro

@@ -0,0 +1,329 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">修改有偿使用</p>
</template>
</van-nav-bar>
<div class="main_box">
<van-field
readonly
clickable
v-model="circulation.shyqrdm"
label="使用权人"
placeholder="请选择"
@click="showshyqrdm = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showshyqrdm" position="bottom">
<van-picker
show-toolbar
:columns="shyqrdmDictionaries"
@confirm="onConfirmShyqrdm"
@cancel="showshyqrdm = false"
/>
</van-popup>
<van-field
readonly
clickable
v-model="circulation.zjddm"
label="宅基地代码"
placeholder="请选择"
@click="showzjddm = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showzjddm" position="bottom">
<van-picker
show-toolbar
:columns="zjdDictionaries"
@confirm="onConfirmZjddm"
@cancel="showzjddm = false"
/>
</van-popup>
<!-- <van-field v-model="circulation.sqrxm" label="申请人姓名" placeholder="申请人姓名" input-align="right" label-width="auto"/>-->
<van-field
readonly
clickable
v-model="zjlx"
label="申请人证件类型"
placeholder="请选择"
@click="showzjlx = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showzjlx" position="bottom">
<van-picker
show-toolbar
:columns="zjlxDictionaries"
@confirm="onConfirmZjlx"
@cancel="showzjlx = false"
/>
</van-popup>
<van-field v-model="circulation.sqrzjhm" label="申请人证件号码" placeholder="申请人证件号码" input-align="right" label-width="auto"/>
<van-field v-model="circulation.ycsyfs" label="有偿使用方式" placeholder="有偿使用方式" input-align="right" label-width="auto"/>


<van-cell title="是否一户多宅">
<template #right-icon>
<!-- @change="designPaperChange"-->
<van-radio-group v-model="circulation.sfyhdz" direction="horizontal">
<van-radio name="Y">是</van-radio>
<van-radio name="N">否</van-radio >
</van-radio-group>
</template>
</van-cell>

<van-field
readonly
clickable
name="picker"
v-model="circulation.ycsykssj"
label="有偿使用开始时间"
placeholder="选择开始时间"
@click="showycsykssj = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showycsykssj" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="date"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
@confirm="onConfirmYcsykssj"
/>
</van-popup>

<van-field
readonly
clickable
name="picker"
v-model="circulation.ycsydqsj"
label="有偿使用到期时间"
placeholder="选择到期时间"
@click="showycsydqsj = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showycsydqsj" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="date"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
@confirm="onConfirmYcsydqsj"
/>
</van-popup>

<van-field v-model="circulation.ycsymj" label="有偿使用面积(㎡)" placeholder="请输入有偿使用面积㎡" input-align="right" label-width="auto"/>
<van-field v-model="circulation.ycsymjdj" label="有偿使用面积单价(元)" placeholder="请输入有偿使用面积单价" input-align="right" label-width="auto"/>
<van-field v-model="circulation.ycsyfy" label="有偿使用费用(元)" placeholder="请输入有偿使用费用" input-align="right" label-width="auto"/>
<van-field v-model="circulation.fkfs" label="付款方式" placeholder="请输入付款方式" input-align="right" label-width="auto"/>
<van-field v-model="circulation.bz" label="备注" placeholder="请输入内容" input-align="right" label-width="auto"/>

</div>

<div style="padding: 16px 0;">
<van-row>
<van-col span="12" align="center">
<van-button type="info" color="#B4B0B0" native-type="submit" class="submitButton" @click="goEdit">取消</van-button>
</van-col>
<van-col span="12" align="center">
<van-button type="info" native-type="submit" class="submitButton" @click="goSubmit">保存</van-button>
</van-col>
</van-row>
<div class="clear"></div>
</div>
</div>
</template>

<script>
import { zjdzd } from "@/api/onlineHome/homestead/circulation";
import { listByDeptId , getYcsy , ycsyEdit } from "@/api/onlineHome/homestead/paidUtilize";
export default {
name: "paidUtilizeModify",
data() {
return {
tcqllxDictionaries:[],//退出权利类型
tclxDictionaries:[],//退出类型
tcfsDictionaries:[],//退出方式
zjlxDictionaries:[],//申请人证件类型
bcfsDictionaries:[],//补偿方式
zjdDictionaries:[],//宅基地代码
shyqrdmDictionaries:[],//使用权人

tcqllx:'',
tclx:'',
tcfs:'',
zjlx:'',
bcfs:'',
zjddm:'',

showtcqllx: false,
showtclx: false,
showtcfs: false,
showzjlx: false,
showbcfs: false,
showzjddm: false,
showshyqrdm: false,
showycsykssj: false,
showycsydqsj: false,

circulation:{},
minDate: new Date(),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(),
};
},
created() {
this.getDictionaries();
},
methods: {
getDictionaries(){
getYcsy(this.$route.query.id).then(response => {
//退出权利类型
this.houseGetDicts("tcqllx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcqllxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
this.tcqllx = this.selectDictLabel(res.data, response.data.tcqllx);
});
//退出类型
this.houseGetDicts("tclx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tclxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
this.tclx = this.selectDictLabel(res.data, response.data.tclx);
});
//退出方式
this.houseGetDicts("tcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
this.tcfs = this.selectDictLabel(res.data, response.data.tcfs);
});
//申请人证件类型
this.houseGetDicts("zjlx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.zjlxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
this.zjlx = this.selectDictLabel(res.data, response.data.sqrzjlx);
});
//补偿方式
this.houseGetDicts("bcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.bcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
this.bcfs = this.selectDictLabel(res.data, response.data.bcfs);
});
//宅基地代码
zjdzd().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.zjdDictionaries.push(zjdRes.rows[i].zjddm);
}
});
//使用权人代码
listByDeptId().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.shyqrdmDictionaries.push(zjdRes.rows[i].shyqrdm);
}
});
this.circulation = response.data;
});
},
onConfirmZjddm(data){
console.log(data)
this.circulation.zjddm = data;
this.showzjddm = false;
},
onConfirmZjlx(data){
this.zjlx = data.text;
this.circulation.sqrzjlx = data.value;
this.showzjlx = false;
},
onConfirmTcqllx(data){
this.tcqllx = data.text;
this.circulation.tcqllx = data.value;
this.showtcqllx = false;
},
onConfirmTclx(data){
this.tclx = data.text;
this.circulation.tclx = data.value;
this.showtclx = false;
},
onConfirmTcfs(data){
this.tcfs = data.text;
this.circulation.tcfs = data.value;
this.showtcfs = false;
},
onConfirmBcfs(data){
this.bcfs = data.text;
this.circulation.bcfs = data.value;
this.showbcfs = false;
},
onConfirmShyqrdm(data){
this.circulation.shyqrdm = data;
this.showshyqrdm = false;
},
onConfirmYcsykssj(data){
this.circulation.ycsykssj = this.getNowFormatDate(data).substr(0,10);
this.showycsykssj = false;
},
onConfirmYcsydqsj(data){
this.circulation.ycsydqsj = this.getNowFormatDate(data).substr(0,10);
this.showycsydqsj = false;
},
goEdit(){
window.location.replace("paidUtilizeList")
},
goSubmit(){
ycsyEdit(this.circulation).then(response => {
if(response.code = 200){
this.$toast.success('修改成功');
setTimeout(function(){
window.location.replace("paidUtilizeList")
},1000)
}
});
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;

}
</style>

+ 762
- 0
src/views/yinnong/homestead/publicityInformation/informationDetail.vue Ver ficheiro

@@ -0,0 +1,762 @@
<template>
<div class="app-container">
<van-nav-bar
title="公示信息"
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
/>
<van-steps :active="active" active-color="#38f">
<van-step>申请</van-step>
<van-step>开工</van-step>
<van-step>验收</van-step>
</van-steps>
<p class="topTit">农村宅基地和建房(规划许可)申请表</p>
<div class="main">
<van-form>
<div v-if="applicationDetail.tHouseApplyProposer">
<p class="main_title">申请用户信息</p>
<div class="main_box">
<van-field :readonly="auditStatus" :rules="[{ required: true }]" required v-model="applicationDetail.tHouseApplyProposer.memberName" label="姓名" placeholder="姓名" input-align="right"/>
<van-field
readonly
clickable
v-model="sexValue"
label="性别"
placeholder="选择性别"
@click=" auditStatus==true ? '' : showSex = true"
input-align="right"
:rules="[{ required: true }]" required
/>
<van-popup v-model="showSex" position="bottom">
<van-picker
show-toolbar
:columns="userSex"
@confirm="onConfirmSex"
@cancel="showSex = false"
:readonly="auditStatus"
/>
</van-popup>
<van-field :readonly="auditStatus" :rules="[{ required: true }]" required v-model="applicationDetail.tHouseApplyProposer.age" label="年龄" placeholder="年龄" input-align="right"/>
<van-field :readonly="auditStatus" :rules="[{ required: true }]" required v-model="applicationDetail.tHouseApplyProposer.phone" label="联系电话" placeholder="联系电话" input-align="right"/>
<van-field :readonly="auditStatus" :rules="[{ required: true }]" required v-model="applicationDetail.tHouseApplyProposer.idcard" label="身份证号" placeholder="身份证号" input-align="right"/>
<van-field :readonly="auditStatus" :rules="[{ required: true }]" required v-model="applicationDetail.tHouseApplyProposer.householdRegister" label="户口所在地" placeholder="户口所在地" input-align="right"/>
<van-field :readonly="auditStatus" :rules="[{ required: true }]" required v-model="applicationDetail.tHouseApplyProposer.familyAddress" label="家庭住址" placeholder="家庭住址" input-align="right"/>
<van-field :readonly="auditStatus" :rules="[{ required: true }]" required v-model="applicationDetail.tHouseApplyProposer.members" label="家庭人口数" placeholder="家庭人口数" input-align="right"/>
<van-cell title="是否已有宅基地">
<template #right-icon>
{{applicationDetail.tHouseApplyProposer.existHomestead=='Y'?'是':'否'}}
</template>
</van-cell>
</div>
</div>

<div v-if="applicationDetail.tHouseApplyFamilyMembers && applicationDetail.tHouseApplyFamilyMembers!=''">
<p class="main_title">家庭成员信息<van-button icon="plus" size="mini" type="info" native-type="button" class="addFamily" @click="addFamily" v-if="!auditStatus" /></p>
<van-collapse v-model="activeNames" v-if="auditStatus">
<van-collapse-item class="collapse" v-for="(item , index) in applicationDetail.tHouseApplyFamilyMembers" :key="index" :name="index+1">
<template #title>
<van-row>
<van-col span="8">{{item.memberName}}</van-col>
<van-col span="8">{{item.age}}</van-col>
<van-col span="8">{{item.familyStatusName}}</van-col>
</van-row>
</template>
<van-field :readonly="auditStatus" v-model="item.memberName" label="姓名" placeholder="姓名" input-align="right"/>
<van-field :readonly="auditStatus" v-model="item.age" label="年龄" placeholder="年龄" input-align="right"/>
<van-field :readonly="auditStatus" v-model="item.familyStatusName" label="与户主关系" placeholder="与户主关系" input-align="right"/>
<van-field :readonly="auditStatus" v-model="item.idcard" label="身份证号" placeholder="身份证号" input-align="right"/>
<van-field :readonly="auditStatus" v-model="item.householdRegister" label="户口所在地" placeholder="户口所在地" input-align="right"/>
</van-collapse-item>
</van-collapse>
<div class="familyList" v-if="!auditStatus" v-for="(item , index) in applicationDetail.tHouseApplyFamilyMembers" :key="index">
<div class="main_box" style="margin-bottom: 20px">
<van-button icon="minus" size="mini" type="danger" class="deleteFamily" native-type="button" v-if="index!=0" @click="deleteFamily(index)" />
<van-field v-model="item.memberName" label="姓名" placeholder="姓名" input-align="right"/>
<van-field v-model="item.age" label="年龄" placeholder="年龄" input-align="right"/>
<van-field v-model="item.familyStatusName" label="与户主关系" placeholder="与户主关系" input-align="right"/>
<van-field v-model="item.idcard" label="身份证号" placeholder="身份证号" input-align="right"/>
<van-field v-model="item.householdRegister" label="户口所在地" placeholder="户口所在地" input-align="right"/>
</div>
</div>
<!-- <div class=" familyList">-->
<!-- <van-button icon="minus" size="mini" type="danger" class="deleteFamily" />-->
<!-- <div class="main_box">-->
<!-- <van-field label="姓名" placeholder="姓名" input-align="right"/>-->
<!-- <van-field label="年龄" placeholder="年龄" input-align="right"/>-->
<!-- <van-field label="与户主关系" placeholder="与户主关系" input-align="right"/>-->
<!-- <van-field label="身份证号" placeholder="身份证号" input-align="right"/>-->
<!-- <van-field label="户口所在地" placeholder="户口所在地" input-align="right"/>-->
<!-- </div>-->
<!-- </div>-->
</div>

<div v-if="CurrentSituation">
<p class="main_title">现宅基地及农房状况</p>
<div class="main_box">
<van-field :rules="[{ required: true }]" required :readonly="auditStatus" v-model="applicationDetail.tHouseApplyCurrentSituation.landArea" label="宅基地面积" placeholder="宅基地面积" input-align="right"/>
<van-field :rules="[{ required: true }]" required :readonly="auditStatus" v-model="applicationDetail.tHouseApplyCurrentSituation.landPerArea" label="人均宅基地面积" placeholder="人均宅基地面积㎡" input-align="right" label-width="auto"/>
<van-field :rules="[{ required: true }]" required :readonly="auditStatus" v-model="applicationDetail.tHouseApplyCurrentSituation.landCertificateNo" label="不动产单元号" placeholder="不动产单元号" input-align="right"/>
<van-field :rules="[{ required: true }]" required :readonly="auditStatus" v-model="applicationDetail.tHouseApplyCurrentSituation.buildingArea" label="建筑面积" placeholder="建筑面积㎡" input-align="right"/>
<van-field :rules="[{ required: true }]" required :readonly="auditStatus" v-model="applicationDetail.tHouseApplyCurrentSituation.buildingPerArea" label="人均建筑面积" placeholder="人均建筑面积㎡" input-align="right"/>
<van-field :rules="[{ required: true }]" required :readonly="auditStatus" v-model="applicationDetail.tHouseApplyCurrentSituation.houseCertificateNo" label="农民房屋幢号" placeholder="户口所在地" input-align="right"/>
<van-field
readonly
clickable
:value="landIsposalValue"
label="处置情况"
placeholder="选择宅基地处置情况"
@click=" auditStatus==true ? '' : showLandIsposal = true"
input-align="right"
:readonly="auditStatus"
:rules="[{ required: true }]" required
/>
<van-popup v-model="showLandIsposal" position="bottom">
<van-picker
show-toolbar
:columns="landIsposal"
@confirm="onConfirmLandIsposal"
@cancel="showLandIsposal = false"
:readonly="auditStatus"
/>
</van-popup>

<!-- <van-field-->
<!-- readonly-->
<!-- clickable-->
<!-- name="picker"-->
<!-- :value="applicationDetail.tHouseApplyCurrentSituation.buildingType"-->
<!-- label="建房类型"-->
<!-- placeholder="选择建房类型"-->
<!-- @click="showBuildingType = true"-->
<!-- input-align="right"-->
<!-- right-icon="arrow-down"-->
<!-- />-->
<!-- <van-popup v-model="showBuildingType" position="bottom">-->
<!-- <van-picker-->
<!-- show-toolbar-->
<!-- :columns="buildingType"-->
<!-- @confirm="onConfirmBuildingType"-->
<!-- @cancel="showBuildingType = false"-->
<!-- />-->
<!-- </van-popup>-->
</div>
</div>

<div v-if="applicationDetail.tHouseApplyProposedSituation">
<p class="main_title">拟申请宅基地及建房情况</p>
<div class="main_box">
<van-field :rules="[{ required: true }]" required :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposedSituation.location" label="拟建位置" placeholder="拟建位置" input-align="right"/>
<van-field :rules="[{ required: true }]" required :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposedSituation.landArea" label="宅基地面积" placeholder="宅基地面积" input-align="right"/>
<van-field :rules="[{ required: true }]" required :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposedSituation.east" label="东至" placeholder="东至" input-align="right"/>
<van-field :rules="[{ required: true }]" required :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposedSituation.west" label="西至" placeholder="西至" input-align="right"/>
<van-field :rules="[{ required: true }]" required :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposedSituation.south" label="南至" placeholder="南至" input-align="right"/>
<van-field :rules="[{ required: true }]" required :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposedSituation.north" label="北至" placeholder="北至" input-align="right"/>
<van-field :rules="[{ required: true }]" required :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposedSituation.buildingArea" label="建筑面积" placeholder="建筑面积" input-align="right"/>
<van-field :rules="[{ required: true }]" required :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposedSituation.buildingFloors" label="建筑层数" placeholder="建筑层数" input-align="right"/>
<van-field :rules="[{ required: true }]" required :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposedSituation.buildingHight" label="建筑高度" placeholder="建筑高度" input-align="right"/>
<van-cell title="是否征求相邻权利人意见">
<template #right-icon>
{{applicationDetail.tHouseApplyProposedSituation.isAdvice=='Y'?'是':'否'}}
</template>
</van-cell>
<van-field
readonly
clickable
v-model="housingStructureValue"
label="房屋构造"
placeholder="选择房屋构造"
@click=" auditStatus==true ? '' : showHousingStructure = true"
input-align="right"
:rules="[{ required: true }]" required
/>
<van-popup v-model="showHousingStructure" position="bottom">
<van-picker
show-toolbar
:columns="housingStructure"
@confirm="onConfirmHousingStructure"
@cancel="showHousingStructure = false"
:readonly="auditStatus"
/>
</van-popup>
<van-field
readonly
clickable
:value="buildingTypeValue"
label="建房类型"
placeholder="选择建房类型"
@click=" auditStatus==true ? '' : showBuildingType = true"
input-align="right"
:rules="[{ required: true }]" required
/>
<van-popup v-model="showBuildingType" position="bottom">
<van-picker
show-toolbar
:columns="buildingType"
@confirm="onConfirmBuildingType"
@cancel="showBuildingType = false"
/>
</van-popup>
<van-cell title="设计图纸">
<template #right-icon>
{{applicationDetail.tHouseApplyProposedSituation.designPaper == '1' ? '委托设计':'选通用图'}}
</template>
</van-cell>
<van-field
readonly
clickable
:value="houseTypeValue"
placeholder="选择户型图"
@click=" auditStatus==true ? '' : showHouseType = true"
input-align="right"
right-icon="arrow-down"
v-if="showHouse"
:rules="[{ required: true }]" required
/>
<van-popup v-model="showHouseType" position="bottom">
<van-picker
show-toolbar
:columns="houseType"
@confirm="onConfirmHouseType"
@cancel="showHouseType = false"
/>
</van-popup>
</div>
</div>

<div v-if="applicationDetail.tHouseApplyProposer">
<p class="main_title">申请理由</p>
<div class="main_box">
<van-field
rows="3"
autosize
type="textarea"
placeholder="申请理由"
input-align="left"
v-model="applicationDetail.tHouseApplyProposer.applyReasion"
:readonly="auditStatus"
:rules="[{ required: true }]" required
/>
<van-row>
<van-col span="12"><van-field :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposer.memberName" label="申请人" placeholder="申请人" input-align="left" label-width="auto"/></van-col>
<van-col span="12">
<van-field :rules="[{ required: true }]" required :readonly="auditStatus" clickable v-model="applicationDetail.tHouseApplyProposer.applyTime" label-width="auto" placeholder="选择日期" @click="showApplyTime = true">
<template #label>
<van-icon name="notes-o" size="20"/>
</template>
</van-field>
<van-calendar v-model="showApplyTime" :readonly="auditStatus" @confirm="onConfirmApplyTime" />
<!-- <van-field :readonly="auditStatus" v-model="applicationDetail.tHouseApplyProposer.applyTime == '' ? nowTime : applicationDetail.tHouseApplyProposer.applyTime" label-width="auto">-->
<!-- <template #label>-->
<!-- <van-icon name="notes-o" size="20"/>-->
<!-- </template>-->
<!-- </van-field>-->
</van-col>
</van-row>
</div>
</div>
<!--applicationDetail.tHouseApplyStart-->
<div v-if="false" >
<p class="topTit">宅基地开工</p>
<div class="main_box action-box">
<van-cell title="计划开工时间">
<template #right-icon>
<van-radio-group v-model="radio" direction="horizontal">
<van-field readonly clickable style="padding: 0" v-model="applicationDetail.tHouseApplyStart.startDate" label-width="auto" placeholder="选择日期">
<template #label>
<van-icon name="notes-o" size="20"/>
</template>
</van-field>
</van-radio-group>
</template>
</van-cell>
<van-cell title="计划竣工时间">
<template #right-icon>
<van-radio-group v-model="radio" direction="horizontal">
<van-field readonly clickable style="padding: 0" v-model="applicationDetail.tHouseApplyStart.endDate" label-width="auto" placeholder="选择日期">
<template #label>
<van-icon name="notes-o" size="20"/>
</template>
</van-field>
</van-radio-group>
</template>
</van-cell>
</div>
</div>

<div v-if="false">
<p class="topTit">宅基地验收申请</p>
<div class="main_box check-box">
<van-field v-model="applicationDetail.tHouseApplyEnd.memberName" label="申请户主姓名" placeholder="申请户主姓名" input-align="right" label-width="auto"/>
<van-field v-model="applicationDetail.tHouseApplyEnd.idcard" label="身份证号" placeholder="身份证号" input-align="right" label-width="auto"/>
<van-field v-model="applicationDetail.tHouseApplyEnd.location" label="用地建房位置" placeholder="用地建房位置" input-align="right" label-width="auto"/>
<van-field v-model="applicationDetail.tHouseApplyEnd.licenseKey" label="乡村建设规划许可证号" placeholder="乡村建设规划许可证号" input-align="right" label-width="auto"/>
<van-field v-model="applicationDetail.tHouseApplyEnd.approvalNumber" label="农村宅基地批准书号" placeholder="农村宅基地批准书号" input-align="right" label-width="auto"/>
<van-field v-model="applicationDetail.tHouseApplyEnd.startDate" label="开工日期" readonly clickable input-align="right" label-width="auto" placeholder="选择开工日期" @click="showCalendar = true"></van-field>
<van-calendar />
<van-field v-model="applicationDetail.tHouseApplyEnd.endDate" label="竣工日期" readonly clickable input-align="right" label-width="auto" placeholder="选择竣工日期" @click="showCalendar = true"></van-field>
<van-calendar />
<van-field v-model="applicationDetail.tHouseApplyEnd.houseCertificateNo" label="权属证书号(不动产)" placeholder="权属证书号(不动产)" input-align="right" label-width="auto"/>
<van-field v-model="applicationDetail.tHouseApplyEnd.landCertificateNo" label="权属证书号(宅基地)" placeholder="权属证书号(宅基地)" input-align="right" label-width="auto"/>
<van-field v-model="applicationDetail.tHouseApplyEnd.buildingHight" label="批建高度" placeholder="建筑高度" input-align="right" label-width="auto"/>
<van-field v-model="applicationDetail.tHouseApplyEnd.buildingFloors" label="批建层数" placeholder="批建层数" input-align="right" label-width="auto"/>
<van-field v-model="applicationDetail.tHouseApplyEnd.actualBuildingHight" label="竣工高度" placeholder="竣工高度" input-align="right" label-width="auto"/>
<van-field v-model="applicationDetail.tHouseApplyEnd.actualBuildingFloors" label="竣工层数" placeholder="竣工层数" input-align="right" label-width="auto"/>
<van-field v-model="applicationDetail.tHouseApplyEnd.buildingArea" label="建筑面积" placeholder="建筑面积" input-align="right" label-width="auto"/>
<van-field v-model="applicationDetail.tHouseApplyEnd.designPaper" label="建筑风貌" placeholder="建筑风貌" input-align="right" label-width="auto"/>
<van-cell title="旧宅基地退还情况">
<template #right-icon>
<van-radio-group v-model="applicationDetail.tHouseApplyEnd.oldHouseStatus" direction="horizontal">
<van-radio name="0">是</van-radio>
<van-radio name="1">否</van-radio>
</van-radio-group>
</template>
</van-cell>
<van-field label="备注" placeholder="" input-align="right"/>
</div>
</div>
<!--applicationDetail.tHouseApplyEnd-->
<div v-if="false" style="margin: 16px;">
<van-row>
<van-col span="12" align="center">
<van-button type="info" native-type="submit" class="submitButton">保存</van-button>
</van-col>
<van-col span="12" align="center">
<van-button type="info" native-type="submit" class="submitButton">保存并提交</van-button>
</van-col>
</van-row>
<div class="clear"></div>
</div>

</van-form>
</div>
</div>
</template>

<script>
import { allInformationAnnounce , treeSingleProcessView , attachmentFind , saveHouseBaseInfo , houseList , attach , removeFile , saveHouseBaseInfoThenSubmit} from "@/api/onlineHome/homestead/application";
export default {
name: "informationDetail",
data() {
return {
active: 0,
nowTime: '',//当前日期
fileList: [],
fileList2: [],
radio:'1',
value: '',
columns: ['杭州', '宁波', '温州', '嘉兴', '湖州'],
showPicker: false,
showBuildingType: false,
showLandIsposal: false,
showHousingStructure: false,
showStartDate: false,
showEndDate: false,
showApplyTime:false,
showHouseType:false,
showHouse:false,
showSex:false,
id:'',
applicationDetail:[],
//建房类型字典
buildingType:[],
//性别字典
userSex:[],
//处置情况字典
landIsposal:[],
//房屋构造字典
housingStructure:[],
//户型
houseType:[],
//请求参数
parameter:{
businessType: "house",
houseApplyStatus: '',
processKey: "baseApply",
tableName: "t_house_apply_proposer"
},
//文件配置
fileArray:[],
//获取上传附件
params:{
tableId: '',
tableName: "t_house_apply_proposer",
fileType: ''
},
auditStatus:false,
activeNames:['1'],
housingStructureValue:'',//当前显示房屋构造
buildingTypeValue:'',//当前显示建房类型
landIsposalValue:'',//当前显示处置情况
houseTypeValue:'',//当前显示户型
sexValue:'',//当前显示性别
CurrentSituation:false,
};
},
created() {
this.id = this.$route.query.id;
this.type = this.$route.query.type;
this.getDetail();
},
methods: {
goFlow(){
window.location='flowChart?id='+this.id;
},
//更新文件回显
afterRead(file) {
this.$forceUpdate();
},
//删除图片
deleteFile(elIndex){
if(elIndex.id != ''){
removeFile(elIndex.id).then(response => {});
}
this.$forceUpdate();
return (file, name) => {
let fileIndex = name.index
this.fileList[elIndex].splice(fileIndex, 1)
this.upLoadList[elIndex].splice(fileIndex, 1)
}
},
//获取数据集合
getDetail(){
allInformationAnnounce(this.id).then(response => {
//性别字典查询
this.houseGetDicts("sys_user_sex").then((res) => {
res.data.map(item => {
this.userSex.push({ value:item.dictValue, text: item.dictLabel});
});
this.sexValue = this.selectDictLabel(res.data, response.data.tHouseApplyProposer.sex);
});
//建房类型字典查询
this.houseGetDicts("building_type").then((res) => {
res.data.map(item => {
this.buildingType.push({ value:item.dictValue, text: item.dictLabel});
});
this.buildingTypeValue = this.selectDictLabel(res.data, response.data.tHouseApplyProposedSituation.buildingType);
});
//房屋构造字典查询
this.houseGetDicts("housing_structure").then((res) => {
res.data.map(item => {
this.housingStructure.push({ value:item.dictValue, text: item.dictLabel});
});
this.housingStructureValue = this.selectDictLabel(res.data, response.data.tHouseApplyProposedSituation.housingStructure);
});
//处置情况字典查询
if(response.data.tHouseApplyProposer.existHomestead == 'Y'){
this.CurrentSituation = true ;
this.houseGetDicts("land_isposal").then((res) => {
res.data.map(item => {
this.landIsposal.push({ value:item.dictValue, text: item.dictLabel});
});
this.landIsposalValue= this.selectDictLabel(res.data, response.data.tHouseApplyCurrentSituation.landIsposal);
});
}
//户型图查询
houseList().then(res => {
res.rows.map(item => {
this.houseType.push({ value:item.id, text: item.name});
});
if(response.data.tHouseApplyProposedSituation.houseTypeId != null){
for (let i = 0 ; i < res.rows.length ; i++){
if (res.rows[i].id = response.data.tHouseApplyProposedSituation.houseTypeId){
this.houseTypeValue = res.rows[i].name
}
}
this.showHouse = true;
}
});
this.applicationDetail = response.data;
this.parameter.houseApplyStatus = response.data.tHouseApplyProposer.houseApplyStatus;
let currentProcessKey = response.data.currentProcessKey;
this.auditStatus = response.data.tHouseApplyProposer.auditStatus != 0;
//判断当前审核进行到哪一步
if (currentProcessKey == 'baseApply'){
this.active = 0;
}
if (currentProcessKey == 'landscope'){
this.active = 1;
}
if (currentProcessKey == 'accepting'){
this.active = 2;
}
//获取上传文件列表
treeSingleProcessView(this.parameter).then(res => {
this.fileArray = res.rows
this.params.tableId = this.id;
for (let i = 0 ; i < res.rows.length ; i++){
this.params.fileType = res.rows[i].fileType;
this.fileArray[i].findList = [];
//获取文件集合
attachmentFind(this.params).then(res2 => {
for (let j = 0 ; j < res2.data.length ; j++){
this.fileArray[i].findList[j] = {url: process.env.VUE_APP_BASE_ROUTING_URL+ res2.data[j].fileUrl, isImage: true , id:res2.data[j].id} ;
this.$forceUpdate();
}
});
}
});
});
},
onConfirmApplyTime(date) {
this.applicationDetail.tHouseApplyProposer.applyTime = `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}`;
this.showApplyTime = false;
},
//基地开工时间
onConfirmStartDate(date) {
this.applicationDetail.tHouseApplyStart.startDate = `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}`;
this.showStartDate = false;
},
//基地竣工时间
onConfirmEndDate(date) {
this.applicationDetail.tHouseApplyStart.endDate = `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}`;
this.showEndDate = false;
},
//选择建房类型
onConfirmBuildingType(data){
this.buildingTypeValue = data.text;
this.applicationDetail.tHouseApplyProposedSituation.buildingType = data.value;
this.showBuildingType = false;
},
//选择宅基地处置情况
onConfirmLandIsposal(data){
this.landIsposalValue = data.text;
this.applicationDetail.tHouseApplyCurrentSituation.landIsposal = data.value;
this.showLandIsposal = false;
},
//选择房屋构造
onConfirmHousingStructure(data){
this.housingStructureValue = data.text;
this.applicationDetail.tHouseApplyProposedSituation.housingStructure = data.value;
this.showHousingStructure = false;
},
//选择户型
onConfirmHouseType(data){
this.houseTypeValue = data.text;
this.applicationDetail.tHouseApplyProposedSituation.houseTypeId = data.value;
this.showHouseType = false;
},
//选择性别
onConfirmSex(data){
this.sexValue = data.text;
this.applicationDetail.tHouseApplyProposer.sex = data.value;
this.showSex = false;
},
//添加家庭成员
addFamily(){
this.applicationDetail.tHouseApplyFamilyMembers.push({
applyProposerId:this.applicationDetail.tHouseApplyFamilyMembers[0].applyProposerId,
memberName:'',
age:'',
familyStatusName:'',
idcard :'',
householdRegister:'',
});
},
//删除家庭成员
deleteFamily(index){

this.applicationDetail.tHouseApplyFamilyMembers.splice(index,1)
},
//是否有宅基地选项改变
existHomesteadChange(name){
if (name == 'Y'){
if (this.applicationDetail.tHouseApplyCurrentSituation == null){
//现宅基地情况
this.applicationDetail.tHouseApplyCurrentSituation = {
//宅基地面积
landArea: '',
//人均宅基地面积
landPerArea: '',
//不动产单元号
landCertificateNo: '',
//农民房屋幢号
houseCertificateNo: '',
//建筑面积
buildingArea: '',
//人均建筑面积
buildingPerArea: '',
//现宅基地处置情况 字典 land_isposal
landIsposal: ""
};
this.CurrentSituation = true ;
//处置情况字典查询
this.houseGetDicts("land_isposal").then((res) => {
res.data.map(item => {
this.landIsposal.push({ value:item.dictValue, text: item.dictLabel});
});
this.landIsposalValue= this.selectDictLabel(res.data, this.applicationDetail.tHouseApplyCurrentSituation.landIsposal);
});
}
this.CurrentSituation = true;
}else{
this.CurrentSituation = false;
}
},
//图纸选择改变
designPaperChange(name){
if(name == 2){
this.showHouse = true;
}else{
this.showHouse = false;
}
},
base64toFile(dataurl, filename = "file") {
let arr = dataurl.split(",");
let mime = arr[0].match(/:(.*?);/)[1];
let suffix = mime.split("/")[1];
let bstr = atob(arr[1]);
let n = bstr.length;
let u8arr = new Uint8Array(n);
while (n--) {
u8arr[n] = bstr.charCodeAt(n);
}
return new File([u8arr], `${filename}.${suffix}`, {
type: mime,
});
},
//申请提交
onSubmit(type){
var that = this;
let form = {};
form.fileList=[];
this.fileList.tableId = this.id;
for (let i = 0 ; i < this.fileArray.length ; i++){
if (this.fileArray[i].findList == null || this.fileArray[i].findList == undefined || this.fileArray[i].findList == ''){
continue
}
for (let j = 0 ; j < this.fileArray[i].findList.length ; j++){
const params = new FormData()
params.append('tableId', this.id)
params.append('tableName', 't_house_apply_proposer')
params.append('bizPath', 't_house_apply_proposer')
params.append('fileType', this.fileArray[i].fileType)
if (this.fileArray[i].findList[j].url){
continue;
}
params.append('file', this.base64toFile(this.fileArray[i].findList[j].content))
attach(params).then(res => {
form.fileList.push(res.id);
});
}
}
form.tHouseApplyProposer=this.applicationDetail.tHouseApplyProposer;
form.tHouseApplyFamilyMembers=this.applicationDetail.tHouseApplyFamilyMembers;
form.tHouseApproveVillageOptions=this.applicationDetail.tHouseApproveVillageOptions;
form.tHouseApplyCurrentSituation=this.applicationDetail.tHouseApplyCurrentSituation;
form.tHouseApplyProposedSituation=this.applicationDetail.tHouseApplyProposedSituation;
setTimeout(function(){
if (type == 'keep'){
saveHouseBaseInfo(form).then(res => {
if(res.code = 200){
that.$toast.success('保存成功');
}
});
}
if (type == 'submit'){
saveHouseBaseInfoThenSubmit(form).then(res => {
if(res.code = 200){
that.$toast.success('提交成功');
}
});
}

},1000)

},
},
}
</script>

<style scoped lang="scss">
.app-container {
padding-bottom: 5%;
}
.van-steps{
padding: 2% 6% 0;
}
.topTit{
margin-top: 0.4rem;
font-size: 0.45rem;
background-color: #1D6FE9;
color: #FFFFFF;
line-height: 58px;
text-align: center;
padding: 15px 0;
box-shadow: 0px 3px 6px 0px rgba(15,67,145,0.40);
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.collapse{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
margin-bottom: 15px;
}
/deep/.van-radio--horizontal{
margin-left: 20px;
margin-right: 0;
}
.file-box{
padding: 2% 5% 0;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;
border-radius: 14px;
}
.timeTit{
text-align: center;
font-size: 16px;
line-height: 27px;
}
.action-box{
padding: 15px 0!important;
margin-top: 0.4rem;
}
.check-box{
margin-top: 0.4rem;
}
.addFamily{
position: absolute;
top: -2px;
right: 0;
border-radius: 50%;
}
.deleteFamily{
position: absolute;
top: -0.3rem;
right: 6%;
z-index: 9;
border-radius: 50%;
}
.familyList{
margin-top: 0.4rem;
position: relative;
}
.noModify{
.topTit{
background-color:#ABABAB ;
box-shadow: 0px 3px 6px 0px rgba(171,171,171,0.40);
}
.van-cell__title{
color: #B4B0B0;
}
}
</style>

+ 142
- 0
src/views/yinnong/homestead/publicityInformation/informationList.vue Ver ficheiro

@@ -0,0 +1,142 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">公示信息</p>
</template>
</van-nav-bar>
<van-search v-model="value" placeholder="请输入姓名" class="searchInput" @search="onSearch" show-action>
<template #action>
<div @click="onSearch" style="color:#B4B0B0 ">搜索</div>
</template>
</van-search>
<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<van-swipe-cell v-for="(item,index) in informationList" :key="index">
<van-cell :title="item.projectName" :value="item.announceStatus" center :to="{name:'informationDetail', query: {id:item.applyProposerId}}">
<template #icon>
<van-icon name="../../../static/images/onlineHome/icon_zjd8.png" size="30" color="#539FFD" style="margin-right: 10px;" />
</template>
<template #label>
<p>{{item.announceType}}<i style="margin-right: 0.2rem;"></i>{{item.startDate}}至{{item.endDate}}</p>
</template>
</van-cell>
</van-swipe-cell>
</van-list>
</div>
</template>

<script>
import { getList } from "@/api/onlineHome/homestead/information";
export default {
name: "informationList",
data() {
return {
value:'',
loading: false,
finished: false,
queryParams:{
pageNum:1,
pageSize:10,
orderByColumn:'createTime',
isAsc:'desc',
announceStatus:2,
memberName:''
},
informationList:[],
announceStatus:[],
announceTypeStatus:[]
};
},
created() {
this.houseGetDicts("announce_status").then((response) => {
this.announceStatus = response.data;
});
this.houseGetDicts("announce_type").then((response) => {
this.announceTypeStatus = response.data;
});
},
methods: {
getList(){
setTimeout(() => {
getList(this.queryParams).then(response => {
console.log(response)
for (var i = 0; i < response.rows.length; i++) {
var announceStatus = this.selectDictLabel(this.announceStatus, response.rows[i].announceStatus);
var announceType = this.selectDictLabel(this.announceTypeStatus, response.rows[i].announceType);
response.rows[i].announceStatus = announceStatus;
response.rows[i].announceType = announceType;
this.informationList.push(response.rows[i]);
}
console.log(this.informationList.length >= response.total)
if(this.informationList.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.queryParams.pageNum += 1 ;
}
});
}, 1000);
},
onSearch(){
this.queryParams.memberName = this.value;
this.informationList = [];
this.getList();
}
},
}
</script>

<style scoped>
.app-container {
padding: 0.2rem 3%;
}
/deep/.van-cell__title{
flex: 0.85;
}
/deep/.van-cell__title span{
font-family: Arial;
font-size: 0.4rem;
font-weight: normal;
}
/deep/.van-cell__value{
flex: 0.15;
color: #1D6FE9;
font-weight: bold;
}
/deep/.van-swipe-cell{
margin-bottom: 0.2rem;
border-radius: 0.2rem;
overflow: hidden;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
}
/deep/van-ellipsis{
font-weight: bold;
}
.delete-button {
height: 100%;
}
/deep/.van-search__content{
background-color: transparent;
}
/deep/.van-search__action{
padding-right: 0.5rem;
}
.searchInput{
background: #ffffff;
border: 1px solid #c9c9c9;
border-radius: 50px;
padding:0 ;
margin-bottom: 0.2rem;
}
</style>

+ 256
- 0
src/views/yinnong/homestead/reporting/taskCloseCaseAdd.vue Ver ficheiro

@@ -0,0 +1,256 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">任务上报</p>
</template>
</van-nav-bar>
<div class="main_box">
<van-field
readonly
clickable
label="是否在建建筑物"
placeholder="请选择"
v-model="sfzjjzw"
@click="showSys = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showSys" position="bottom">
<van-picker
show-toolbar
:columns="sysDictionaries"
@confirm="onConfirmSys"
@cancel="showSys = false"
/>
</van-popup>
<van-field label="宅基地代码" v-model="jgList.zjddm" placeholder="请输入宅基地代码" input-align="right" />
<!-- <van-popup v-model="showZjd" position="bottom">-->
<!-- <van-picker-->
<!-- show-toolbar-->
<!-- @cancel="showZjd = false"-->
<!-- />-->
<!-- </van-popup>-->
<van-field
readonly
clickable
label="监管类型"
placeholder="请选择"
v-model="jglx"
@click="showjglx = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showjglx" position="bottom">
<van-picker
show-toolbar
:columns="jglxDictionaries"
@confirm="onConfirmJglx"
@cancel="showjglx = false"
/>
</van-popup>
<van-field
readonly
clickable
v-model="jgList.lasj"
label="立案时间"
placeholder="请选择立案时间"
@click="showlasj = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showlasj" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="date"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
@confirm="onConfirmLasj"
/>
</van-popup>
<van-field label="巡查人" v-model="jgList.inspector" placeholder="请输入巡查人" input-align="right" label-width="auto"/>
<van-field
readonly
clickable
label="巡查时间"
v-model="jgList.inspectorTime"
placeholder="请选择巡查时间"
@click="showinspectorTime = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showinspectorTime" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="date"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
@confirm="onConfirmInspectorTime"
/>
</van-popup>
</div>

<p class="main_title">违法信息</p>
<div class="main_box">
<van-field
readonly
clickable
label="违法用地类型"
placeholder="请选择"
v-model="wfydlx"
@click="showwfydlx = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showwfydlx" position="bottom">
<van-picker
show-toolbar
:columns="wfydlxDictionaries"
@confirm="onConfirmWfydlx"
@cancel="showwfydlx = false"
/>
</van-popup>
<van-field v-model="jgList.wfydmj" label="违法用地面积" placeholder="请输入面积" input-align="right" label-width="auto"/>
<van-field v-model="jgList.fmkje" label="罚没款金额" placeholder="请输入金额" input-align="right" label-width="auto"/>
<van-field v-model="jgList.msmj" label="没收面积" placeholder="请输入面积" input-align="right" label-width="auto"/>
<van-field v-model="jgList.ccmj" label="拆除面积" placeholder="请输入面积" input-align="right" label-width="auto"/>
</div>
<div style="padding: 16px 0;">
<van-row>
<van-col span="12" align="center">
<van-button type="info" color="#B4B0B0" native-type="submit" @click="goBack" class="submitButton">取<i style="margin-right: 1em;"></i>消</van-button>
</van-col>
<van-col span="12" align="center">
<van-button type="info" native-type="submit" @click="goAdd" class="submitButton">上<i style="margin-right: 1em;"></i>报</van-button>
</van-col>
</van-row>
<div class="clear"></div>
</div>
</div>
</template>

<script>
import { jgAdd } from "@/api/onlineHome/homestead/reporting";
export default {
name: "taskCloseCaseAdd",
data() {
return {
showSys:false,
showjglx:false,
showlasj:false,
showinspectorTime:false,
showwfydlx:false,

minDate: new Date(),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(),
jgList:{},

sfzjjzw:'',
jglx:'',
wfydlx:'',

wfydlxDictionaries:[],
jglxDictionaries:[],
sysDictionaries:[],

};
},
created() {
this.getDictionaries();
this.jgList.taskId = this.$route.query.id;
},
methods: {
getDictionaries(){
//违法用地类型
this.houseGetDicts("villations_type").then((res) => {
for(var i = 0 ; i < res.data.length ; i++){
this.wfydlxDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue});
}
});
//监管类型
this.houseGetDicts("jglx").then((res) => {
for(var i = 0 ; i < res.data.length ; i++){
this.jglxDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue});
}
});
//是否在建建筑物
this.houseGetDicts("sys_yes_no").then((res) => {
for(var i = 0 ; i < res.data.length ; i++){
this.sysDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue});
}
});

},
onConfirmSys(data){
this.sfzjjzw = data.text;
this.jgList.sfzjjzw = data.value;
this.showSys = false;
},
onConfirmJglx(data){
this.jglx = data.text;
this.jgList.jglx = data.value;
this.showjglx = false;
},
onConfirmWfydlx(data){
this.wfydlx = data.text;
this.jgList.wfydlx = data.value;
this.showwfydlx = false;
},
onConfirmLasj(data){
this.jgList.lasj = this.getNowFormatDate(data).substr(0,10);
this.showlasj = false;
},
onConfirmInspectorTime(data){
this.jgList.inspectorTime = this.getNowFormatDate(data).substr(0,10);
this.showinspectorTime = false;
},
goAdd(){
console.log(this.jgList)
jgAdd(this.jgList).then(response => {
console.log(response);
this.$toast.success('保存成功');
setTimeout(function(){
history.go(-1)
},2000)
});
},
goBack(){
window.history.go(-1)
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;
}
</style>

+ 111
- 0
src/views/yinnong/homestead/reporting/taskDetailedList.vue Ver ficheiro

@@ -0,0 +1,111 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">结案</p>
</template>
</van-nav-bar>
<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<div class="main_box" v-for="(item,index) in applicationList" :key="index">
<van-field readonly label="ID" input-align="right" v-model="item.id" label-width="auto" />
<van-field readonly label="宅基地代码" input-align="right" v-model="item.zjddm" label-width="auto" />
<van-field readonly label="监管类型" input-align="right" v-model="item.jglx" label-width="auto" />
<van-field readonly label="立案时间" input-align="right" v-model="item.lasj" label-width="auto" />
<van-field readonly label="违法用地类型" input-align="right" v-model="item.wfydlx" label-width="auto" />
<van-field readonly label="违法用地面积" input-align="right" v-model="item.wfydmj+'㎡'" label-width="auto"/>
<van-cell title="操作" >
<template #default>
<van-button :to="{name:'taskReportingDetail', query: {id:item.id}}" color="#FFA63E" round type="default" size="mini" style="padding: 0 15px">查看</van-button>
<van-button v-if="item.status != 2" :to="{name:'taskReportingAdd', query: {id:item.id}}" color="#1D6FE9" round type="default" size="mini" style="padding: 0 15px">结案</van-button>
</template>
</van-cell>
</div>
</van-list>
</div>
</template>

<script>
import { getTaskList } from "@/api/onlineHome/homestead/reporting";
export default {
name: "taskDetailedList",
data() {
return {
applicationList:[],
houseApplyStatus:[],
jglxStatus:[],
wfydlxStatus:[],
loading: false,
finished: false,
queryParams:{
taskId:'',
}

};
},
created() {
this.queryParams.taskId = this.$route.query.id;
this.houseGetDicts("jglx").then((res) => {
this.jglxStatus = res.data;
});
this.houseGetDicts("villations_type").then((res) => {
this.wfydlxStatus = res.data;
});
},
methods: {
getList(){
setTimeout(() => {
getTaskList(this.queryParams).then(response => {
for (var i = 0; i < response.rows.length; i++) {
response.rows[i].jglx = this.selectDictLabel(this.jglxStatus, response.rows[i].jglx)
response.rows[i].wfydlx = this.selectDictLabel(this.wfydlxStatus, response.rows[i].wfydlx)
this.applicationList.push(response.rows[i]);
}
if(this.applicationList.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.queryParams.pageNum += 1 ;
}
});
}, 1000);
},
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
margin-bottom: 2%;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;
}
</style>

+ 194
- 0
src/views/yinnong/homestead/reporting/taskReportingAdd.vue Ver ficheiro

@@ -0,0 +1,194 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">结案</p>
</template>
</van-nav-bar>
<div class="main_box">
<van-field
readonly
clickable
label="是否在建建筑物"
v-model="sfzjjzw"
@click="showSys = true"
input-align="right"
label-width="auto"
/>
<van-field readonly label="宅基地代码" v-model="jgList.zjddm" input-align="right" />
<!-- <van-popup v-model="showZjd" position="bottom">-->
<!-- <van-picker-->
<!-- show-toolbar-->
<!-- @cancel="showZjd = false"-->
<!-- />-->
<!-- </van-popup>-->
<van-field
readonly
clickable
label="监管类型"
v-model="jglx"
@click="showjglx = true"
input-align="right"
/>
<van-field
readonly
clickable
v-model="jgList.lasj"
label="立案时间"
@click="showlasj = true"
input-align="right"
/>
<van-field readonly label="巡查人" v-model="jgList.inspector" input-align="right" label-width="auto"/>
<van-field
readonly
clickable
label="巡查时间"
v-model="jgList.inspectorTime"
@click="showinspectorTime = true"
input-align="right"
/>
</div>

<p class="main_title">违法信息</p>
<div class="main_box">
<van-field
readonly
clickable
label="违法用地类型"
placeholder="请选择"
v-model="wfydlx"
@click="showwfydlx = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showwfydlx" position="bottom">
<van-picker
show-toolbar
:columns="wfydlxDictionaries"
@confirm="onConfirmWfydlx"
@cancel="showwfydlx = false"
/>
</van-popup>
<van-field v-model="jgList.wfydmj" label="违法用地面积" placeholder="请输入面积" input-align="right" label-width="auto"/>
<van-field v-model="jgList.fmkje" label="罚没款金额" placeholder="请输入金额" input-align="right" label-width="auto"/>
<van-field v-model="jgList.msmj" label="没收面积" placeholder="请输入面积" input-align="right" label-width="auto"/>
<van-field v-model="jgList.ccmj" label="拆除面积" placeholder="请输入面积" input-align="right" label-width="auto"/>
</div>
<div style="padding: 16px 0;">
<van-row>
<van-col span="12" align="center">
<van-button type="info" color="#B4B0B0" @click="goBack" native-type="submit" class="submitButton">取<i style="margin-right: 1em;"></i>消</van-button>
</van-col>
<van-col span="12" align="center">
<van-button type="info" native-type="submit" @click="goAdd" class="submitButton">结<i style="margin-right: 1em;"></i>案</van-button>
</van-col>
</van-row>
<div class="clear"></div>
</div>
</div>
</template>

<script>
import { closeCase , getJg } from "@/api/onlineHome/homestead/reporting";
export default {
name: "taskCloseCaseAdd",
data() {
return {
showSys:false,
showjglx:false,
showlasj:false,
showinspectorTime:false,
showwfydlx:false,

minDate: new Date(),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(),
jgList:{},

sfzjjzw:'',
jglx:'',
wfydlx:'',

wfydlxDictionaries:[],
jglxDictionaries:[],
sysDictionaries:[],

};
},
created() {
this.jgList.taskId = this.$route.query.id;
this.houseGetDicts("jglx").then((res) => {
this.jglxDictionaries = res.data;
});
this.houseGetDicts("sys_yes_no").then((res) => {
console.log(res)
this.sysDictionaries = res.data;
});
this.getDictionaries();
},
methods: {
getDictionaries(){
getJg(this.$route.query.id).then(response => {
console.log(this.selectDictLabel(this.jglxDictionaries, response.data.jglx))
this.houseGetDicts("villations_type").then((res) => {
for(var i = 0 ; i < res.data.length ; i++){
this.wfydlxDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue});
}
this.wfydlx = this.selectDictLabel(res.data, response.data.wfydlx);
});
this.jglx = this.selectDictLabel(this.jglxDictionaries, response.data.jglx);
this.sfzjjzw = this.selectDictLabel(this.sysDictionaries, response.data.sfzjjzw);

this.jgList = response.data;
})
},
onConfirmWfydlx(data){
this.wfydlx = data.text;
this.jgList.wfydlx = data.value;
this.showwfydlx = false;
},
goAdd(){
closeCase(this.jgList).then(response => {
console.log(response);
this.$toast.success('结案成功');
setTimeout(function(){
history.go(-1)
},2000)
});
},
goBack(){
window.history.go(-1)
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;
}
</style>

+ 163
- 0
src/views/yinnong/homestead/reporting/taskReportingDetail.vue Ver ficheiro

@@ -0,0 +1,163 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">结案</p>
</template>
</van-nav-bar>
<div class="main_box">
<van-field
readonly
label="是否在建建筑物"
v-model="sfzjjzw"
input-align="right"
label-width="auto"
/>
<van-field readonly label="宅基地代码" v-model="jgList.zjddm" input-align="right" />
<!-- <van-popup v-model="showZjd" position="bottom">-->
<!-- <van-picker-->
<!-- show-toolbar-->
<!-- @cancel="showZjd = false"-->
<!-- />-->
<!-- </van-popup>-->
<van-field
readonly
label="监管类型"
v-model="jglx"
input-align="right"
/>
<van-field
readonly
v-model="jgList.lasj"
label="立案时间"
input-align="right"
/>
<van-field readonly label="巡查人" v-model="jgList.inspector" input-align="right" label-width="auto"/>
<van-field
readonly
label="巡查时间"
v-model="jgList.inspectorTime"
input-align="right"
/>
</div>

<p class="main_title">违法信息</p>
<div class="main_box">
<van-field
readonly
label="违法用地类型"
v-model="wfydlx"
input-align="right"
/>
<van-field readonly v-model="jgList.wfydmj" label="违法用地面积" input-align="right" label-width="auto"/>
<van-field readonly v-model="jgList.fmkje" label="罚没款金额" input-align="right" label-width="auto"/>
<van-field readonly v-model="jgList.msmj" label="没收面积" input-align="right" label-width="auto"/>
<van-field readonly v-model="jgList.ccmj" label="拆除面积" input-align="right" label-width="auto"/>
</div>
</div>
</template>

<script>
import { closeCase , getJg } from "@/api/onlineHome/homestead/reporting";
export default {
name: "taskCloseCaseAdd",
data() {
return {
showSys:false,
showjglx:false,
showlasj:false,
showinspectorTime:false,
showwfydlx:false,

minDate: new Date(),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(),
jgList:{},

sfzjjzw:'',
jglx:'',
wfydlx:'',

wfydlxDictionaries:[],
jglxDictionaries:[],
sysDictionaries:[],

};
},
created() {
this.jgList.taskId = this.$route.query.id;
this.houseGetDicts("jglx").then((res) => {
this.jglxDictionaries = res.data;
});
this.houseGetDicts("sys_yes_no").then((res) => {
console.log(res)
this.sysDictionaries = res.data;
});
this.getDictionaries();
},
methods: {
getDictionaries(){
getJg(this.$route.query.id).then(response => {
console.log(this.selectDictLabel(this.jglxDictionaries, response.data.jglx))
this.houseGetDicts("villations_type").then((res) => {
for(var i = 0 ; i < res.data.length ; i++){
this.wfydlxDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue});
}
this.wfydlx = this.selectDictLabel(res.data, response.data.wfydlx);
});
this.jglx = this.selectDictLabel(this.jglxDictionaries, response.data.jglx);
this.sfzjjzw = this.selectDictLabel(this.sysDictionaries, response.data.sfzjjzw);

this.jgList = response.data;
})
},
onConfirmWfydlx(data){
this.wfydlx = data.text;
this.jgList.wfydlx = data.value;
this.showwfydlx = false;
},
goAdd(){
closeCase(this.jgList).then(response => {
console.log(response);
this.$toast.success('结案成功');
setTimeout(function(){
history.go(-1)
},2000)
});
},
goBack(){
window.history.go(-1)
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;
}
</style>

+ 134
- 0
src/views/yinnong/homestead/reporting/taskReportingList.vue Ver ficheiro

@@ -0,0 +1,134 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">任务上报</p>
</template>
</van-nav-bar>
<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<van-swipe-cell v-for="(item,index) in applicationList" :key="index">
<van-cell :value="item.taskSubjectStatus" center>
<template #title>
<p class="van-ellipsis">{{item.title}}</p>
</template>
<template #icon>
<van-icon name="../../../static/images/onlineHome/icon_zjd10.png" size="30" color="#539FFD" style="margin-right: 10px;" />
</template>
<template #label>
<p>{{item.reportDeadline}}</p>
</template>
</van-cell>
<template #right>
<van-row>
<van-col>
<van-button square text="上报" :to="{name:'taskCloseCaseAdd', query: {id:item.id}}" type="info" class="delete-button" />
</van-col>
<van-col>
<van-button color="#FFA63E" square :to="{name:'taskDetailedList', query: {id:item.id}}" type="info" class="delete-button" >
上报<br/>情况
</van-button>
</van-col>
</van-row>
</template>
</van-swipe-cell>
</van-list>
</div>
</template>

<script>
import { getList } from "@/api/onlineHome/homestead/reporting";
export default {
name: "paidExit",
data() {
return {
applicationList:[],
houseApplyStatus:[],
taskSubjectStatusStatus:[],
loading: false,
finished: false,
queryParams:{
pageNum:1,
pageSize:10,
orderByColumn:'createTime',
isAsc:'desc',
taskSubjectStatus:'2'
}
};
},
created() {
this.houseGetDicts("task_subject_status").then((res) => {
this.taskSubjectStatusStatus = res.data;
});
},
methods: {
getList(){
setTimeout(() => {
getList(this.queryParams).then(response => {
for (var i = 0; i < response.rows.length; i++) {
response.rows[i].taskSubjectStatus = this.selectDictLabel(this.taskSubjectStatusStatus, response.rows[i].taskSubjectStatus)

response.rows[i].title=response.rows[i].title.replace(/<[^>]+>/g,"").replace(/&nbsp;/ig,"");//截取html标签

this.applicationList.push(response.rows[i]);
}
if(this.applicationList.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.queryParams.pageNum += 1 ;
}
});
}, 1000);
},
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 0.2rem 3%;
}
/deep/.van-cell__title{
flex: 0.7;
width: 50%!important;
}
/deep/.van-cell__title span{
font-family: Arial;
font-size: 0.4rem;
font-weight: normal;
}
/deep/.van-cell__value{
flex: 0.3;
color: #1D6FE9;
font-weight: bold;
}
/deep/.van-swipe-cell{
margin-bottom: 0.2rem;
border-radius: 0.2rem;
overflow: hidden;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
}
/deep/van-ellipsis{
font-weight: bold;
}
.delete-button {
height: 100%;
}
.van-row{
height: 100%;
}
.van-col{
height: 100%;
}
</style>

+ 281
- 0
src/views/yinnong/homestead/supervision/supervisionAdd.vue Ver ficheiro

@@ -0,0 +1,281 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">添加违法监管</p>
</template>
</van-nav-bar>
<div class="main_box">
<van-field
readonly
clickable
label="是否在建建筑物"
placeholder="请选择"
v-model="sfzjjzw"
@click="showSys = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showSys" position="bottom">
<van-picker
show-toolbar
:columns="sysDictionaries"
@confirm="onConfirmSys"
@cancel="showSys = false"
/>
</van-popup>
<van-field label="宅基地代码" v-model="jgList.zjddm" placeholder="请输入宅基地代码" input-align="right" />
<!-- <van-popup v-model="showZjd" position="bottom">-->
<!-- <van-picker-->
<!-- show-toolbar-->
<!-- @cancel="showZjd = false"-->
<!-- />-->
<!-- </van-popup>-->
<van-field
readonly
clickable
label="监管类型"
placeholder="请选择"
v-model="jglx"
@click="showjglx = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showjglx" position="bottom">
<van-picker
show-toolbar
:columns="jglxDictionaries"
@confirm="onConfirmJglx"
@cancel="showjglx = false"
/>
</van-popup>
<van-field
readonly
clickable
v-model="jgList.lasj"
label="立案时间"
placeholder="请选择立案时间"
@click="showlasj = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showlasj" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="date"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
@confirm="onConfirmLasj"
/>
</van-popup>
<van-field label="巡查人" v-model="jgList.inspector" placeholder="请输入巡查人" input-align="right" label-width="auto"/>
<van-field
readonly
clickable
label="巡查时间"
v-model="jgList.inspectorTime"
placeholder="请选择巡查时间"
@click="showinspectorTime = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showinspectorTime" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="date"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
@confirm="onConfirmInspectorTime"
/>
</van-popup>
<van-field label="备注" v-model="jgList.bz" placeholder="填写备注" input-align="right" label-width="auto"/>
</div>

<p class="main_title">违法信息</p>
<div class="main_box">
<van-field
readonly
clickable
label="违法用地类型"
placeholder="请选择"
v-model="wfydlx"
@click="showwfydlx = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showwfydlx" position="bottom">
<van-picker
show-toolbar
:columns="wfydlxDictionaries"
@confirm="onConfirmWfydlx"
@cancel="showwfydlx = false"
/>
</van-popup>
<van-field v-model="jgList.wfydmj" label="违法用地面积" placeholder="请输入面积" input-align="right" label-width="auto"/>
<van-field v-model="jgList.fmkje" label="罚没款金额" placeholder="请输入金额" input-align="right" label-width="auto"/>
<van-field v-model="jgList.msmj" label="没收面积" placeholder="请输入面积" input-align="right" label-width="auto"/>
<van-field v-model="jgList.ccmj" label="拆除面积" placeholder="请输入面积" input-align="right" label-width="auto"/>
<van-field
readonly
clickable
label="整改截止时间"
placeholder="选择整改截止时间"
v-model="jgList.reformDeadline"
@click="showReformDeadline = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showReformDeadline" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="date"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
@confirm="onConfirmReformDeadline"
/>
</van-popup>
</div>
<div style="padding: 16px 0;">
<van-row>
<van-col span="12" align="center">
<van-button type="info" color="#B4B0B0" native-type="submit" @click="goBack" class="submitButton">取<i style="margin-right: 1em;"></i>消</van-button>
</van-col>
<van-col span="12" align="center">
<van-button type="info" native-type="submit" @click="goAdd" class="submitButton">添<i style="margin-right: 1em;"></i>加</van-button>
</van-col>
</van-row>
<div class="clear"></div>
</div>
</div>
</template>

<script>
import { jgAdd } from "@/api/onlineHome/homestead/reporting";
export default {
name: "supervisionAdd",
data() {
return {
showSys:false,
showjglx:false,
showlasj:false,
showinspectorTime:false,
showwfydlx:false,
showReformDeadline:false,

minDate: new Date(),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(),
jgList:{},

sfzjjzw:'',
jglx:'',
wfydlx:'',

wfydlxDictionaries:[],
jglxDictionaries:[],
sysDictionaries:[],

};
},
created() {
this.getDictionaries();
},
methods: {
getDictionaries(){
//违法用地类型
this.houseGetDicts("villations_type").then((res) => {
for(var i = 0 ; i < res.data.length ; i++){
this.wfydlxDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue});
}
});
//监管类型
this.houseGetDicts("jglx").then((res) => {
for(var i = 0 ; i < res.data.length ; i++){
this.jglxDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue});
}
});
//是否在建建筑物
this.houseGetDicts("sys_yes_no").then((res) => {
for(var i = 0 ; i < res.data.length ; i++){
this.sysDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue});
}
});

},
onConfirmSys(data){
this.sfzjjzw = data.text;
this.jgList.sfzjjzw = data.value;
this.showSys = false;
},
onConfirmJglx(data){
this.jglx = data.text;
this.jgList.jglx = data.value;
this.showjglx = false;
},
onConfirmWfydlx(data){
this.wfydlx = data.text;
this.jgList.wfydlx = data.value;
this.showwfydlx = false;
},
onConfirmLasj(data){
this.jgList.lasj = this.getNowFormatDate(data).substr(0,10);
this.showlasj = false;
},
onConfirmInspectorTime(data){
this.jgList.inspectorTime = this.getNowFormatDate(data).substr(0,10);
this.showinspectorTime = false;
},
onConfirmReformDeadline(data){
this.jgList.reformDeadline = this.getNowFormatDate(data).substr(0,10);
this.showReformDeadline = false;
},
goAdd(){
console.log(this.jgList)
jgAdd(this.jgList).then(response => {
console.log(response);
this.$toast.success('保存成功');
setTimeout(function(){
history.go(-1)
},2000)
});
},
goBack(){
window.history.go(-1)
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;
}
</style>

+ 201
- 0
src/views/yinnong/homestead/supervision/supervisionCloseCase.vue Ver ficheiro

@@ -0,0 +1,201 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">结案</p>
</template>
</van-nav-bar>
<p class="main_title">基本信息</p>
<div class="main_box">
<van-field readonly label="是否在建建筑物" v-model="sfzjjzw" input-align="right" label-width="auto" />
<van-field readonly label="宅基地代码" v-model="jgList.zjddm" input-align="right" label-width="auto" />
<van-field readonly label="监管类型" v-model="jglx" input-align="right"/>
<van-field readonly label="立案时间" v-model="jgList.lasj" input-align="right" />
<van-field readonly label="巡查人" v-model="jgList.inspector" input-align="right" label-width="auto"/>
<van-field readonly label="巡查时间" v-model="jgList.inspectorTime" input-align="right" />
<van-field readonly label="违法用地类型" v-model="wfydlx" input-align="right" />
<van-field readonly label="违法用地面积" v-model="jgList.wfydmj" input-align="right" label-width="auto"/>
<van-field readonly label="罚没款金额" v-model="jgList.fmkje" input-align="right" label-width="auto"/>
<van-field readonly label="请输入面积" v-model="jgList.msmj" input-align="right" label-width="auto"/>
<van-field readonly label="拆除面积" v-model="jgList.ccmj" input-align="right" label-width="auto"/>
<van-field readonly label="整改截止时间" v-model="jgList.reformDeadline" input-align="right" />
<van-field readonly label="备注" v-model="jgList.bz" input-align="right" label-width="auto"/>
</div>

<p class="main_title">结案信息</p>
<div class="main_box">
<van-field
readonly
clickable
label="结案时间"
placeholder="选择结案时间"
v-model="jgList.jasj"
@click="showjasj = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showjasj" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="date"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
@confirm="onConfirmJasj"
/>
</van-popup>
<van-field v-model="jgList.zfrxm" label="执法人姓名" placeholder="请输入姓名" input-align="right" label-width="auto"/>
<van-field v-model="jgList.zfdw" label="执法单位" placeholder="请输入执法单位" input-align="right" label-width="auto"/>
<van-field v-model="jgList.qtjgyy" label="其他监管原因" placeholder="请输入监管原因" input-align="right" label-width="auto"/>
<van-field v-model="jgList.qtjgjg" label="其他监管结果" placeholder="请输入监管结果" input-align="right" label-width="auto"/>
</div>
<div style="padding: 16px 0;">
<van-row>
<van-col span="12" align="center">
<van-button type="info" color="#B4B0B0" native-type="submit" class="submitButton" @click="goBack">取<i style="margin-right: 1em;"></i>消</van-button>
</van-col>
<van-col span="12" align="center">
<van-button type="info" native-type="submit" class="submitButton" @click="goAdd">结<i style="margin-right: 1em;"></i>案</van-button>
</van-col>
</van-row>
<div class="clear"></div>
</div>
</div>
</template>

<script>
import { supervisionAdd , getSupervision , closeCase } from "@/api/onlineHome/homestead/supervision";
export default {
name: "supervisionCloseCase",
data() {
return {
showSys:false,
showjglx:false,
showlasj:false,
showinspectorTime:false,
showwfydlx:false,
showReformDeadline:false,
showjasj:false,

minDate: new Date(),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(),
jgList:{},

sfzjjzw:'',
jglx:'',
wfydlx:'',

wfydlxDictionaries:[],
jglxDictionaries:[],
sysDictionaries:[],

};
},
created() {

this.getTaskGet();
},
methods: {
getTaskGet(){
getSupervision(this.$route.query.id).then(response => {
console.log(response)
//违法用地类型
this.houseGetDicts("villations_type").then((res) => {
for(var i = 0 ; i < res.data.length ; i++){
this.wfydlxDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue});
}
this.wfydlx = this.selectDictLabel(res.data, response.data.wfydlx);
});
//监管类型
this.houseGetDicts("jglx").then((res) => {
for(var i = 0 ; i < res.data.length ; i++){
this.jglxDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue});
}
this.jglx = this.selectDictLabel(res.data, response.data.jglx);
});
//是否在建建筑物
this.houseGetDicts("sys_yes_no").then((res) => {
for(var i = 0 ; i < res.data.length ; i++){
this.sysDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue});
}
this.sfzjjzw = this.selectDictLabel(res.data, response.data.sfzjjzw);
});
this.jgList = response.data;
});
},
onConfirmSys(data){
this.sfzjjzw = data.text;
this.jgList.sfzjjzw = data.value;
this.showSys = false;
},
onConfirmJglx(data){
this.jglx = data.text;
this.jgList.jglx = data.value;
this.showjglx = false;
},
onConfirmWfydlx(data){
this.wfydlx = data.text;
this.jgList.wfydlx = data.value;
this.showwfydlx = false;
},
onConfirmLasj(data){
this.jgList.lasj = this.getNowFormatDate(data).substr(0,10);
this.showlasj = false;
},
onConfirmInspectorTime(data){
this.jgList.inspectorTime = this.getNowFormatDate(data).substr(0,10);
this.showinspectorTime = false;
},
onConfirmReformDeadline(data){
this.jgList.reformDeadline = this.getNowFormatDate(data).substr(0,10);
this.showReformDeadline = false;
},
onConfirmJasj(data){
this.jgList.jasj = this.getNowFormatDate(data).substr(0,10);
this.showjasj = false;
},
goAdd(){
closeCase(this.jgList).then(response => {
this.$toast.success('结案成功');
setTimeout(function(){
history.go(-1)
},2000)
});
},
goBack(){
window.history.go(-1)
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;
}
</style>

+ 178
- 0
src/views/yinnong/homestead/supervision/supervisionList.vue Ver ficheiro

@@ -0,0 +1,178 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
@click-right="goAdd"
>
<template #title>
<p style="font-weight: bold;">违法监管</p>
</template>
<template #right>
<van-icon name="add" size="18" />
</template>
</van-nav-bar>
<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<van-swipe-cell v-for="(item,index) in applicationList" :key="index">
<van-cell :title="item.zjddm" :value="item.status" center >
<template #icon>
<van-icon name="../../../static/images/onlineHome/icon_zjd12.png" size="30" color="#539FFD" style="margin-right: 10px;" />
</template>
<template #label>
<p>{{item.jglx}}<i style="margin-right: 0.5rem;"></i>{{item.taskSource}}</p>
</template>
</van-cell>
<template #right>
<van-row>
<van-col>
<van-button v-if="item.status != '已结案' && item.status == '未立案'" color="#FFA63E" text="立案" square @click="onRegister(item.id)" type="info" class="delete-button" />
</van-col>
<van-col>
<van-button v-if="item.status != '已结案' && item.status == '已立案'" color="#7DDA4F" square text="结案" :to="{name:'supervisionCloseCase', query: {id:item.id}}" type="danger" class="delete-button" />
</van-col>
<van-col>
<van-button v-if="item.status != '已结案' && item.status == '未立案'" square text="修改" :to="{name:'supervisionModify', query: {id:item.id}}" type="info" class="delete-button" />
</van-col>
<van-col>
<van-button v-if="item.status != '已结案' && item.status == '未立案'" color="#FF4646" square text="删除" @click="deleteList(item.id,index)" type="danger" class="delete-button" />
</van-col>
</van-row>
</template>
</van-swipe-cell>
</van-list>
</div>
</template>

<script>
import { getList , removeList , registerOn } from "@/api/onlineHome/homestead/supervision";
export default {
name: "supervisionList",
data() {
return {
applicationList:[],
houseApplyStatus:[],
tcqllxStatus:[],
tclxStatus:[],
tcfsStatus:[],
auditStatus:[],
loading: false,
finished: false,
queryParams:{
pageNum:1,
pageSize:10,
isAsc:'desc'
}
};
},
created() {
this.houseGetDicts("regulatory_status").then((res) => {
this.auditStatus = res.data;
});
//违法用地类型
this.houseGetDicts("task_source").then((res) => {
console.log(res.data)
this.taskSourceDictionaries = res.data;
});
//违法用地类型
this.houseGetDicts("jglx").then((res) => {
this.jglxDictionaries = res.data;
});
},
methods: {
goAdd(){
window.location = 'supervisionAdd';
},
getList(){
setTimeout(() => {
getList(this.queryParams).then(response => {
console.log(response)
for (var i = 0; i < response.rows.length; i++) {
response.rows[i].status = this.selectDictLabel(this.auditStatus, response.rows[i].status);
response.rows[i].jglx = this.selectDictLabel(this.jglxDictionaries, response.rows[i].jglx);
response.rows[i].taskSource = this.selectDictLabel(this.taskSourceDictionaries, response.rows[i].taskSource);
this.applicationList.push(response.rows[i]);
}
if(this.applicationList.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.queryParams.pageNum += 1 ;
}
});
}, 1000);
},
deleteList(id,index){
this.$dialog.confirm({
message: '您确认删除监管记录?',
})
.then(() => {
// on confirm
this.applicationList.splice(index,1)
removeList(id).then(res => {
if(res.code = 200){
this.$toast.success('删除成功');
}
});
})
.catch(() => {
// on cancel
});
},
onRegister(id){
registerOn(id).then(res => {
if(res.code = 200){
this.$toast.success('立案成功');
setTimeout(function(){
window.location.reload()
},1000)
}
});
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 0.2rem 3%;
}
/deep/.van-cell__title{
flex: 0.7;
}
/deep/.van-cell__title span{
font-family: Arial;
font-size: 0.4rem;
font-weight: normal;
}
/deep/.van-cell__value{
flex: 0.3;
color: #1D6FE9;
font-weight: bold;
}
/deep/.van-swipe-cell{
margin-bottom: 0.2rem;
border-radius: 0.2rem;
overflow: hidden;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
}
/deep/van-ellipsis{
font-weight: bold;
}
.delete-button {
height: 100%;
}
.van-row{
height: 100%;
}
.van-col{
height: 100%;
}
</style>

+ 287
- 0
src/views/yinnong/homestead/supervision/supervisionModify.vue Ver ficheiro

@@ -0,0 +1,287 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">修改违法监管</p>
</template>
</van-nav-bar>
<div class="main_box">
<van-field
readonly
clickable
label="是否在建建筑物"
placeholder="请选择"
v-model="sfzjjzw"
@click="showSys = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showSys" position="bottom">
<van-picker
show-toolbar
:columns="sysDictionaries"
@confirm="onConfirmSys"
@cancel="showSys = false"
/>
</van-popup>
<van-field label="宅基地代码" v-model="jgList.zjddm" placeholder="请输入宅基地代码" input-align="right" />
<!-- <van-popup v-model="showZjd" position="bottom">-->
<!-- <van-picker-->
<!-- show-toolbar-->
<!-- @cancel="showZjd = false"-->
<!-- />-->
<!-- </van-popup>-->
<van-field
readonly
clickable
label="监管类型"
placeholder="请选择"
v-model="jglx"
@click="showjglx = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showjglx" position="bottom">
<van-picker
show-toolbar
:columns="jglxDictionaries"
@confirm="onConfirmJglx"
@cancel="showjglx = false"
/>
</van-popup>
<van-field
readonly
clickable
v-model="jgList.lasj"
label="立案时间"
placeholder="请选择立案时间"
@click="showlasj = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showlasj" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="date"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
@confirm="onConfirmLasj"
/>
</van-popup>
<van-field label="巡查人" v-model="jgList.inspector" placeholder="请输入巡查人" input-align="right" label-width="auto"/>
<van-field
readonly
clickable
label="巡查时间"
v-model="jgList.inspectorTime"
placeholder="请选择巡查时间"
@click="showinspectorTime = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showinspectorTime" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="date"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
@confirm="onConfirmInspectorTime"
/>
</van-popup>
<van-field label="备注" v-model="jgList.bz" placeholder="填写备注" input-align="right" label-width="auto"/>
</div>

<p class="main_title">违法信息</p>
<div class="main_box">
<van-field
readonly
clickable
label="违法用地类型"
placeholder="请选择"
v-model="wfydlx"
@click="showwfydlx = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showwfydlx" position="bottom">
<van-picker
show-toolbar
:columns="wfydlxDictionaries"
@confirm="onConfirmWfydlx"
@cancel="showwfydlx = false"
/>
</van-popup>
<van-field v-model="jgList.wfydmj" label="违法用地面积" placeholder="请输入面积" input-align="right" label-width="auto"/>
<van-field v-model="jgList.fmkje" label="罚没款金额" placeholder="请输入金额" input-align="right" label-width="auto"/>
<van-field v-model="jgList.msmj" label="没收面积" placeholder="请输入面积" input-align="right" label-width="auto"/>
<van-field v-model="jgList.ccmj" label="拆除面积" placeholder="请输入面积" input-align="right" label-width="auto"/>
<van-field
readonly
clickable
label="整改截止时间"
placeholder="选择整改截止时间"
v-model="jgList.reformDeadline"
@click="showReformDeadline = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showReformDeadline" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="date"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
@confirm="onConfirmReformDeadline"
/>
</van-popup>
</div>
<div style="padding: 16px 0;">
<van-row>
<van-col span="12" align="center">
<van-button type="info" color="#B4B0B0" native-type="submit" @click="goBack" class="submitButton">取<i style="margin-right: 1em;"></i>消</van-button>
</van-col>
<van-col span="12" align="center">
<van-button type="info" native-type="submit" @click="goAdd" class="submitButton">修<i style="margin-right: 1em;"></i>改</van-button>
</van-col>
</van-row>
<div class="clear"></div>
</div>
</div>
</template>

<script>
import { supervisionAdd , getSupervision } from "@/api/onlineHome/homestead/supervision";
export default {
name: "supervisionModify",
data() {
return {
showSys:false,
showjglx:false,
showlasj:false,
showinspectorTime:false,
showwfydlx:false,
showReformDeadline:false,

minDate: new Date(),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(),
jgList:{},

sfzjjzw:'',
jglx:'',
wfydlx:'',

wfydlxDictionaries:[],
jglxDictionaries:[],
sysDictionaries:[],

};
},
created() {

this.getTaskGet();
},
methods: {
getTaskGet(){
getSupervision(this.$route.query.id).then(response => {
console.log(response)
//违法用地类型
this.houseGetDicts("villations_type").then((res) => {
for(var i = 0 ; i < res.data.length ; i++){
this.wfydlxDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue});
}
this.wfydlx = this.selectDictLabel(res.data, response.data.wfydlx);
});
//监管类型
this.houseGetDicts("jglx").then((res) => {
for(var i = 0 ; i < res.data.length ; i++){
this.jglxDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue});
}
this.jglx = this.selectDictLabel(res.data, response.data.jglx);
});
//是否在建建筑物
this.houseGetDicts("sys_yes_no").then((res) => {
for(var i = 0 ; i < res.data.length ; i++){
this.sysDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue});
}
this.sfzjjzw = this.selectDictLabel(res.data, response.data.sfzjjzw);
});
this.jgList = response.data;
});
},
onConfirmSys(data){
this.sfzjjzw = data.text;
this.jgList.sfzjjzw = data.value;
this.showSys = false;
},
onConfirmJglx(data){
this.jglx = data.text;
this.jgList.jglx = data.value;
this.showjglx = false;
},
onConfirmWfydlx(data){
this.wfydlx = data.text;
this.jgList.wfydlx = data.value;
this.showwfydlx = false;
},
onConfirmLasj(data){
this.jgList.lasj = this.getNowFormatDate(data).substr(0,10);
this.showlasj = false;
},
onConfirmInspectorTime(data){
this.jgList.inspectorTime = this.getNowFormatDate(data).substr(0,10);
this.showinspectorTime = false;
},
onConfirmReformDeadline(data){
this.jgList.reformDeadline = this.getNowFormatDate(data).substr(0,10);
this.showReformDeadline = false;
},
goAdd(){
supervisionAdd(this.jgList).then(response => {
console.log(response);
this.$toast.success('保存成功');
setTimeout(function(){
history.go(-1)
},2000)
});
},
goBack(){
window.history.go(-1)
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;
}
</style>

Alguns ficheiros não foram mostrados porque foram alterados demasiados ficheiros neste diff

Carregando…
Cancelar
Guardar