Bläddra i källkod

Merge branch 'rongxin_dev' of http://218.59.175.43:3000/zhangzl/nsgk_mobile into rongxin_dev

rongxin_dev
庞东旭 6 månader sedan
förälder
incheckning
eacb0c9425
73 ändrade filer med 3407 tillägg och 94 borttagningar
  1. +58
    -5
      src/api/onlineHome/bankAgriculture/paymentApproval.js
  2. +11
    -0
      src/api/onlineHome/villageAffairs.js
  3. +65
    -0
      src/api/sunVillage_info/otherOpen.js
  4. Binär
      src/assets/images/icon/index_header_focus.png
  5. Binär
      src/assets/images/sunVillage_info/index_block_zonghegongkai.png
  6. Binär
      src/assets/images/sunVillage_info/index_code_btn_zonghegongkai.png
  7. Binär
      src/assets/images/sunVillage_info/index_icon_14.png
  8. Binär
      src/assets/images/sunVillage_info/index_icon_15.png
  9. +13
    -0
      src/components/common/PagedList.vue
  10. +2
    -0
      src/components/form/FieldSelect.vue
  11. +2
    -0
      src/permission.js
  12. +72
    -1
      src/router/index.js
  13. +1
    -0
      src/store/modules/user.js
  14. +21
    -0
      src/utils/finance.js
  15. +2
    -2
      src/views/onlineHome/bankAgriculture/paymentApproval/approvalAdd.vue
  16. +1
    -1
      src/views/onlineHome/bankAgriculture/paymentApproval/approvalAdd10.vue
  17. +1
    -1
      src/views/onlineHome/bankAgriculture/paymentApproval/approvalAdd11.vue
  18. +2
    -2
      src/views/onlineHome/bankAgriculture/paymentApproval/approvalAdd2.vue
  19. +2
    -2
      src/views/onlineHome/bankAgriculture/paymentApproval/approvalAdd4.vue
  20. +1
    -1
      src/views/onlineHome/bankAgriculture/paymentApproval/approvalApproval.vue
  21. +1
    -1
      src/views/onlineHome/bankAgriculture/paymentApproval/approvalDetail.vue
  22. +1
    -1
      src/views/onlineHome/bankAgriculture/paymentApproval/approvalDetail4.vue
  23. +2
    -2
      src/views/onlineHome/bankAgriculture/paymentApproval/approvalModify.vue
  24. +1
    -1
      src/views/onlineHome/bankAgriculture/paymentApproval/approvalModify11.vue
  25. +1
    -1
      src/views/onlineHome/bankAgriculture/paymentApproval/approvalModify2.vue
  26. +2
    -2
      src/views/onlineHome/bankAgriculture/paymentApproval/approvalModify4.vue
  27. +1
    -1
      src/views/onlineHome/bankAgriculture/paymentApproval/approvalModify5.vue
  28. +3
    -3
      src/views/sunVillage_info/bankAgriculture/paymentApproval/approvalAdd.vue
  29. +1
    -1
      src/views/sunVillage_info/bankAgriculture/paymentApproval/approvalAdd10.vue
  30. +1
    -1
      src/views/sunVillage_info/bankAgriculture/paymentApproval/approvalAdd11.vue
  31. +2
    -2
      src/views/sunVillage_info/bankAgriculture/paymentApproval/approvalAdd2.vue
  32. +2
    -2
      src/views/sunVillage_info/bankAgriculture/paymentApproval/approvalAdd4.vue
  33. +1
    -1
      src/views/sunVillage_info/bankAgriculture/paymentApproval/approvalApproval.vue
  34. +1
    -1
      src/views/sunVillage_info/bankAgriculture/paymentApproval/approvalDetail.vue
  35. +1
    -1
      src/views/sunVillage_info/bankAgriculture/paymentApproval/approvalDetail4.vue
  36. +2
    -2
      src/views/sunVillage_info/bankAgriculture/paymentApproval/approvalModify.vue
  37. +1
    -1
      src/views/sunVillage_info/bankAgriculture/paymentApproval/approvalModify11.vue
  38. +2
    -2
      src/views/sunVillage_info/bankAgriculture/paymentApproval/approvalModify2.vue
  39. +2
    -2
      src/views/sunVillage_info/bankAgriculture/paymentApproval/approvalModify4.vue
  40. +1
    -1
      src/views/sunVillage_info/bankAgriculture/paymentApproval/approvalModify5.vue
  41. +663
    -0
      src/views/sunVillage_info/bankAgriculture/paymentPending/approvalDetail.vue
  42. +313
    -0
      src/views/sunVillage_info/bankAgriculture/paymentPending/approvalList.vue
  43. +267
    -0
      src/views/sunVillage_info/bankAgriculture/paymentPending/approvalProcess.vue
  44. +208
    -0
      src/views/sunVillage_info/bankAgriculture/paymentPending/payRecordList.vue
  45. +26
    -5
      src/views/sunVillage_info/index_code.vue
  46. +9
    -3
      src/views/sunVillage_info/list_register_add.vue
  47. +9
    -2
      src/views/sunVillage_info/list_register_edit.vue
  48. +12
    -5
      src/views/sunVillage_info/list_tourists_registration_add.vue
  49. +3
    -3
      src/views/sunVillage_info/list_tourists_registration_detail_visitor.vue
  50. +12
    -5
      src/views/sunVillage_info/list_tourists_registration_edit.vue
  51. +178
    -0
      src/views/sunVillage_info/otherOpen/otherOpenDetail.vue
  52. +280
    -0
      src/views/sunVillage_info/otherOpen/otherOpenEdit.vue
  53. +485
    -0
      src/views/sunVillage_info/otherOpen/otherOpenList.vue
  54. +187
    -0
      src/views/sunVillage_info/otherOpen/otherOpenVisitDetail.vue
  55. +441
    -0
      src/views/sunVillage_info/otherOpen/otherOpenVisitList.vue
  56. +4
    -4
      src/views/sunVillage_info/registration/registrationEdit.vue
  57. +3
    -3
      src/views/yinnong/bankAgriculture/paymentApproval/approvalAdd.vue
  58. +1
    -1
      src/views/yinnong/bankAgriculture/paymentApproval/approvalAdd10.vue
  59. +1
    -1
      src/views/yinnong/bankAgriculture/paymentApproval/approvalAdd11.vue
  60. +2
    -2
      src/views/yinnong/bankAgriculture/paymentApproval/approvalAdd2.vue
  61. +2
    -2
      src/views/yinnong/bankAgriculture/paymentApproval/approvalAdd4.vue
  62. +1
    -1
      src/views/yinnong/bankAgriculture/paymentApproval/approvalApproval.vue
  63. +1
    -1
      src/views/yinnong/bankAgriculture/paymentApproval/approvalDetail.vue
  64. +1
    -1
      src/views/yinnong/bankAgriculture/paymentApproval/approvalDetail4.vue
  65. +2
    -2
      src/views/yinnong/bankAgriculture/paymentApproval/approvalModify.vue
  66. +1
    -1
      src/views/yinnong/bankAgriculture/paymentApproval/approvalModify11.vue
  67. +2
    -2
      src/views/yinnong/bankAgriculture/paymentApproval/approvalModify2.vue
  68. +2
    -2
      src/views/yinnong/bankAgriculture/paymentApproval/approvalModify4.vue
  69. +1
    -1
      src/views/yinnong/bankAgriculture/paymentApproval/approvalModify5.vue
  70. +1
    -1
      src/views/yinnong/bankAgriculture/paymentApproval/majorIssues.vue
  71. +1
    -0
      src/views/yinnong/doneCompleted/completedNew.vue
  72. +4
    -1
      src/views/yinnong/doneCompleted/doneNew.vue
  73. +1
    -1
      src/views/yinnong/my.vue

+ 58
- 5
src/api/onlineHome/bankAgriculture/paymentApproval.js Visa fil

@@ -8,6 +8,58 @@ export function listTransfer(query) {
params: query
})
}
// 查询银行转账待支付列表
export function payList(query) {
return request({
url: '/yinnong/transfer/payList',
method: 'get',
params: query
})
}
// 查询银行转账支付记录列表
export function payRecordList(query) {
return request({
url: '/yinnong/transfer/payRecordList',
method: 'get',
params: query
})
}
// 支付
export function pay(query) {
return request({
url: '/yinnong/transfer/pay',
method: 'get',
params: query
})
}
export function sendSms(query) {
return request({
url: '/yinnong/transfer/sendSms',
method: 'get',
params: query
})
}
// 核实结果
export function transactionStatusQuery(id) {
return request({
url: '/yinnong/transfer/transactionStatusQuery/' + id,
method: 'get'
})
}
// 支付复核
export function editDoubleConfirmationStatus(id) {
return request({
url: '/yinnong/transfer/editDoubleConfirmationStatus/' + id,
method: 'get'
})
}
// 重置银行转账=撤回
export function resetTYinnongTransfer(id) {
return request({
url: '/yinnong/transfer/resetTYinnongTransfer/' + id,
method: 'get'
})
}
// 查询现金提现申请列表
export function listCash(query) {
return request({
@@ -23,16 +75,17 @@ export function getTransfer(id) {
method: 'get'
})
}
export function transactionStatusQuery(id) {
//重新申请
export function reapply(id) {
return request({
url: '/yinnong/transfer/transactionStatusQuery/' + id,
url: '/yinnong/transfer/reapply/' + id,
method: 'get'
})
}
export function reapply(id) {
//取消支付
export function reapplyDraft(id) {
return request({
url: '/yinnong/transfer/reapply/' + id,
url: '/yinnong/transfer/reapplyDraft/' + id,
method: 'get'
})
}


+ 11
- 0
src/api/onlineHome/villageAffairs.js Visa fil

@@ -17,3 +17,14 @@ export function getVillageAffairs(id) {
})
}

// 查询地区下的账套列表
export function bookListByDept(deptId, bookType) {
return request({
url: '/open/villageAffairs/public/bookList/' + deptId,
method: 'get',
params: {
bookType,
},
})
}


+ 65
- 0
src/api/sunVillage_info/otherOpen.js Visa fil

@@ -0,0 +1,65 @@
import request from '@/utils/request'

// 查询其他公开列表
export function listOther(query) {
return request({
url: '/subcontract/other/list',
method: 'get',
params: query
})
}

// 查询其他公开详细
export function getOther(id) {
return request({
url: '/subcontract/other/get/' + id,
method: 'get'
})
}

// 新增其他公开
export function addOther(data) {
return request({
url: '/subcontract/other/add',
method: 'post',
data: data
})
}

// 修改其他公开
export function updateOther(data) {
return request({
url: '/subcontract/other/edit',
method: 'post',
data: data
})
}

// 删除其他公开
export function delOther(id) {
return request({
url: '/subcontract/other/remove/' + id,
method: 'get'
})
}

// 查询其他公开列表 游客
export function otherOpenList(query) {
return request({
url: '/open/villageAffairs/public/otherPublicList',
method: 'get',
params: query
})
}

// 查询其他公开详细 游客
export function otherOpenDetail(id) {
return request({
url: '/open/villageAffairs/public/otherPublicDetail',
method: 'get',
params: {
id,
},
})
}


Binär
src/assets/images/icon/index_header_focus.png Visa fil

Före Efter
Bredd: 7  |  Höjd: 9  |  Storlek: 988 B

Binär
src/assets/images/sunVillage_info/index_block_zonghegongkai.png Visa fil

Före Efter
Bredd: 64  |  Höjd: 64  |  Storlek: 3.4 KiB

Binär
src/assets/images/sunVillage_info/index_code_btn_zonghegongkai.png Visa fil

Före Efter
Bredd: 355  |  Höjd: 134  |  Storlek: 14 KiB

Binär
src/assets/images/sunVillage_info/index_icon_14.png Visa fil

Före Efter
Bredd: 69  |  Höjd: 55  |  Storlek: 3.3 KiB

Binär
src/assets/images/sunVillage_info/index_icon_15.png Visa fil

Före Efter
Bredd: 69  |  Höjd: 55  |  Storlek: 3.8 KiB

+ 13
- 0
src/components/common/PagedList.vue Visa fil

@@ -48,6 +48,10 @@ export default {
type: Function,
default: null,
},
reload: { // 变更此值为true则重新加载数据 监听
type: Boolean,
default: false,
},
},
components: {
},
@@ -177,6 +181,15 @@ export default {
console.log('[PagedList]: ', ...arguments);
},
},
watch: {
reload(newVal) {
if(newVal)
{
this.$emit('update:reload', false);
this.getList();
}
},
},
}
</script>



+ 2
- 0
src/components/form/FieldSelect.vue Visa fil

@@ -14,6 +14,7 @@
:rules="rules"
:required="required"
:label-width="labelWidth || 'auto'"
:size="size || ''"
>
</van-field>
<van-popup v-model="popupVisible" position="bottom">
@@ -46,6 +47,7 @@ export default {
'remoteUrl', // 远程列表加载地址 String
'onRemoteResponse', // 远程获取到结果的处理回调 String|Function 如果是函数需返回数组, 如果是字符串支持.分割
'clearable', // 点击取消时清空绑定值
'size',
],
watch: {
value: function (newVal, oldVal) {


+ 2
- 0
src/permission.js Visa fil

@@ -140,6 +140,8 @@ const whiteList = [
'/sunVillage_info/list_contract_ranking',
'/sunVillage_info/identity_check',
'/sunVillage_info/assetMapOpen',
'/sunVillage_info/otherOpenVisitIndex',
'/sunVillage_info/otherOpenVisitDetail',

// 新型经营主体
'newBusinessEntity/newsBulletin', //新闻公告


+ 72
- 1
src/router/index.js Visa fil

@@ -3795,6 +3795,51 @@ export const constantRoutes = [
},
component: (resolve) => require(['@/views/sunVillage_info/registration/registrationEdit'], resolve)
},
{ ////阳光村务(新)-- 综合公开
path: '/sunVillage_info/otherOpenIndex',
name: 'otherOpenIndex',
meta: {
title: '综合公开',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/otherOpen/otherOpenList'], resolve)
},
{ ////阳光村务(新)-- 综合公开详情
path: '/sunVillage_info/otherOpenDetail',
name: 'otherOpenDetail',
meta: {
title: '综合公开详情',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/otherOpen/otherOpenDetail'], resolve)
},
{ ////阳光村务(新)-- 新增/编辑综合公开
path: '/sunVillage_info/otherOpenEdit',
name: 'otherOpenEdit',
meta: {
title: '编辑综合公开',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/otherOpen/otherOpenEdit'], resolve)
},
{ ////阳光村务(新)-- 综合公开 游客
path: '/sunVillage_info/otherOpenVisitIndex',
name: 'otherOpenVisitIndex',
meta: {
title: '综合公开',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/otherOpen/otherOpenVisitList'], resolve)
},
{ ////阳光村务(新)-- 综合公开详情 游客
path: '/sunVillage_info/otherOpenVisitDetail',
name: 'otherOpenVisitDetail',
meta: {
title: '综合公开详情',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/otherOpen/otherOpenVisitDetail'], resolve)
},

{ ////阳光村务(新)-- 发包方审核
path: '/sunVillage_info/list_employer_process',
@@ -5584,7 +5629,33 @@ export const constantRoutes = [
},
component: (resolve) => require(['@/views/yinnong/bankAgriculture/recordDetail/recordDetailList'], resolve)
},

{
path: '/sunVillage_info/paymentPendingList',
name: 'sunVillagePaymentPendingList',
meta: {
title: '待我支付',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/bankAgriculture/paymentPending/approvalList'], resolve)
},
{
path: '/sunVillage_info/payRecordList',
name: 'sunVillagePayRecordList',
meta: {
title: '支付记录',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/bankAgriculture/paymentPending/payRecordList'], resolve)
},
{
path: '/sunVillage_info/paymentPendingApprovalDetail',
name: 'sunVillagePaymentPendingApprovalDetail',
meta: {
title: '银农银行卡转账申请',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/bankAgriculture/paymentPending/approvalDetail'], resolve)
},
//<--------------------------------------农业大托管-------------------------------------->
{
path: '/agriculturalTrusteeship/index',


+ 1
- 0
src/store/modules/user.js Visa fil

@@ -17,6 +17,7 @@ const user = {
baseRoutingUrl: '',
businessLevel: '',
userId:null,
deptId:null,
},

mutations: {


+ 21
- 0
src/utils/finance.js Visa fil

@@ -236,6 +236,27 @@ export const FINANCE = {
a = new BigNumber(a, 10);
return a.isZero();
},
sub(a, b) {
if(!(a instanceof BigNumber))
a = new BigNumber(a, 10);
if(!(b instanceof BigNumber))
b = new BigNumber(b, 10);
return a.minus(b, 10);
},
mul(a, b) {
if(!(a instanceof BigNumber))
a = new BigNumber(a, 10);
if(!(b instanceof BigNumber))
b = new BigNumber(b, 10);
return a.multipliedBy(b, 10);
},
div(a, b) {
if(!(a instanceof BigNumber))
a = new BigNumber(a, 10);
if(!(b instanceof BigNumber))
b = new BigNumber(b, 10);
return a.div(b, 10);
},
toNumber(a) {
if(typeof(a) === 'number')
return a;


+ 2
- 2
src/views/onlineHome/bankAgriculture/paymentApproval/approvalAdd.vue Visa fil

@@ -204,7 +204,7 @@
</van-radio-group>
</template>
</van-cell>
<van-cell title="行内转账" v-if="form.bankType==2||form.bankType==3||form.bankType==4" >
<van-cell title="行内转账" v-if="form.bankType==2||form.bankType==3" >
<template #right-icon>
<van-radio-group direction="horizontal" v-model="form.isPeers" @change="accountTypeChange1">
<van-radio name="Y">是</van-radio>
@@ -1026,7 +1026,7 @@
this.form.accountType = "1"
this.form.isPeers = null
this.accountTypeChange();
}else if(obj.bankType==2||obj.bankType==4){
}else if(obj.bankType==2||obj.bankType==3){
this.form.accountType = null
this.form.isPeers = "Y"
this.accountTypeChange1();


+ 1
- 1
src/views/onlineHome/bankAgriculture/paymentApproval/approvalAdd10.vue Visa fil

@@ -875,7 +875,7 @@
this.form.accountType = "1"
this.form.isPeers = null
this.accountTypeChange();
}else if(obj.bankType==2||obj.bankType==4){
}else if(obj.bankType==2||obj.bankType==3){
this.form.accountType = null
this.form.isPeers = "Y"
this.accountTypeChange1();


+ 1
- 1
src/views/onlineHome/bankAgriculture/paymentApproval/approvalAdd11.vue Visa fil

@@ -901,7 +901,7 @@
this.form.accountType = "1"
this.form.isPeers = null
this.accountTypeChange();
}else if(obj.bankType==2||obj.bankType==4){
}else if(obj.bankType==2||obj.bankType==3){
this.form.accountType = null
this.form.isPeers = "Y"
this.accountTypeChange1();


+ 2
- 2
src/views/onlineHome/bankAgriculture/paymentApproval/approvalAdd2.vue Visa fil

@@ -203,7 +203,7 @@
</van-radio-group>
</template>
</van-cell>
<van-cell title="行内转账" v-if="form.bankType==2||form.bankType==3||form.bankType==4" >
<van-cell title="行内转账" v-if="form.bankType==2||form.bankType==3" >
<template #right-icon>
<van-radio-group direction="horizontal" v-model="form.isPeers" @change="accountTypeChange1">
<van-radio name="Y">是</van-radio>
@@ -999,7 +999,7 @@
this.form.accountType = "1"
this.form.isPeers = null
this.accountTypeChange();
}else if(obj.bankType==2||obj.bankType==4){
}else if(obj.bankType==2||obj.bankType==3){
this.form.accountType = null
this.form.isPeers = "Y"
this.accountTypeChange1();


+ 2
- 2
src/views/onlineHome/bankAgriculture/paymentApproval/approvalAdd4.vue Visa fil

@@ -204,7 +204,7 @@
</van-radio-group>
</template>
</van-cell>
<van-cell title="行内转账" v-if="this.form.bankType == 2 || this.form.bankType == 3 || this.form.bankType == 4">
<van-cell title="行内转账" v-if="this.form.bankType == 2 || this.form.bankType == 3>
<template #right-icon>
<van-radio-group direction="horizontal" v-model="form.isPeers" @change="accountTypeChange1">
<van-radio name="Y">是</van-radio>
@@ -1023,7 +1023,7 @@
this.form.accountType = "1"
this.form.isPeers = null
this.accountTypeChange();
}else if(obj.bankType==2||obj.bankType==4){
}else if(obj.bankType==2||obj.bankType==3){
this.form.accountType = null
this.form.isPeers = "Y"
this.accountTypeChange1();


+ 1
- 1
src/views/onlineHome/bankAgriculture/paymentApproval/approvalApproval.vue Visa fil

@@ -54,7 +54,7 @@

<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" />
<van-field readonly label="行内转账" v-if="form.bankType==2||form.bankType==3" 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">


+ 1
- 1
src/views/onlineHome/bankAgriculture/paymentApproval/approvalDetail.vue Visa fil

@@ -59,7 +59,7 @@

<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" />
<van-field readonly label="行内转账" v-if="form.bankType==2||form.bankType==3" v-model="form.isPeers == 'Y' ? '是':'否'" input-align="right" label-width="auto" />

</div>



+ 1
- 1
src/views/onlineHome/bankAgriculture/paymentApproval/approvalDetail4.vue Visa fil

@@ -58,7 +58,7 @@

<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" />
<van-field readonly label="行内转账" v-if="form.bankType==2||form.bankType==3" v-model="form.isPeers == 'Y' ? '是':'否'" input-align="right" label-width="auto" />

</div>



+ 2
- 2
src/views/onlineHome/bankAgriculture/paymentApproval/approvalModify.vue Visa fil

@@ -204,7 +204,7 @@
</van-radio-group>
</template>
</van-cell>
<van-cell title="行内转账" v-if="form.bankType==2||form.bankType==4">
<van-cell title="行内转账" v-if="form.bankType==2||form.bankType==3">
<template #right-icon>
<van-radio-group direction="horizontal" v-model="form.isPeers" @change="accountTypeChange">
<van-radio name="Y">是</van-radio>
@@ -1011,7 +1011,7 @@
this.form.accountType = "1"
this.form.isPeers = null
this.accountTypeChange();
}else if(obj.bankType==2||obj.bankType==4){
}else if(obj.bankType==2||obj.bankType==3){
this.form.accountType = null
this.form.isPeers = "Y"
this.accountTypeChange1();


+ 1
- 1
src/views/onlineHome/bankAgriculture/paymentApproval/approvalModify11.vue Visa fil

@@ -909,7 +909,7 @@
this.form.accountType = "1"
this.form.isPeers = null
this.accountTypeChange();
}else if(obj.bankType==2||obj.bankType==4){
}else if(obj.bankType==2||obj.bankType==3){
this.form.accountType = null
this.form.isPeers = "Y"
this.accountTypeChange1();


+ 1
- 1
src/views/onlineHome/bankAgriculture/paymentApproval/approvalModify2.vue Visa fil

@@ -979,7 +979,7 @@
this.form.accountType = "1"
this.form.isPeers = null
this.accountTypeChange();
}else if(obj.bankType==2||obj.bankType==4){
}else if(obj.bankType==2||obj.bankType==3){
this.form.accountType = null
this.form.isPeers = "Y"
this.accountTypeChange1();


+ 2
- 2
src/views/onlineHome/bankAgriculture/paymentApproval/approvalModify4.vue Visa fil

@@ -204,7 +204,7 @@
</van-radio-group>
</template>
</van-cell>
<van-cell title="行内转账" v-if="form.bankType==2||form.bankType==4">
<van-cell title="行内转账" v-if="form.bankType==2||form.bankType==3">
<template #right-icon>
<van-radio-group direction="horizontal" v-model="form.isPeers" @change="accountTypeChange1">
<van-radio name="Y">是</van-radio>
@@ -1013,7 +1013,7 @@
this.form.accountType = "1"
this.form.isPeers = null
this.accountTypeChange();
}else if(obj.bankType==2||obj.bankType==4){
}else if(obj.bankType==2||obj.bankType==3){
this.form.accountType = null
this.form.isPeers = "Y"
this.accountTypeChange1();


+ 1
- 1
src/views/onlineHome/bankAgriculture/paymentApproval/approvalModify5.vue Visa fil

@@ -171,7 +171,7 @@
</van-radio-group>
</template>
</van-cell>
<van-cell title="行内转账" v-if="form.bankType==2||form.bankType==4">
<van-cell title="行内转账" v-if="form.bankType==2||form.bankType==3">
<template #right-icon>
<van-radio-group direction="horizontal" v-model="form.isPeers">
<van-radio name="Y">是</van-radio>


+ 3
- 3
src/views/sunVillage_info/bankAgriculture/paymentApproval/approvalAdd.vue Visa fil

@@ -265,7 +265,7 @@
<van-button icon="plus" @click="addChargeItme(chargeItme.length)" size="mini" type="info" native-type="button" class="addFamily"/>
</div>

<div class="main_box" style="margin-top: 10px;" v-if="form.bankType==1||form.bankType==2||form.bankType==3||form.bankType==4">
<div class="main_box" style="margin-top: 10px;" v-if="form.bankType==1||form.bankType==2||form.bankType==3">
<van-cell title="收款账户类型" v-if="form.bankType==1">
<template #right-icon>
<van-radio-group direction="horizontal" v-model="form.accountType" @change="accountTypeChange" >
@@ -274,7 +274,7 @@
</van-radio-group>
</template>
</van-cell>
<van-cell title="行内转账" v-if="form.bankType==2||form.bankType==3||form.bankType==4" >
<van-cell title="行内转账" v-if="form.bankType==2||form.bankType==3" >
<template #right-icon>
<van-radio-group direction="horizontal" v-model="form.isPeers" @change="accountTypeChange1">
<van-radio name="Y">是</van-radio>
@@ -1266,7 +1266,7 @@
this.form.accountType = "1"
this.form.isPeers = null
this.accountTypeChange();
}else if(obj.bankType==2||obj.bankType==3||obj.bankType==4){
}else if(obj.bankType==2||obj.bankType==3){
this.form.accountType = null
this.form.isPeers = "Y"
this.accountTypeChange1();


+ 1
- 1
src/views/sunVillage_info/bankAgriculture/paymentApproval/approvalAdd10.vue Visa fil

@@ -902,7 +902,7 @@
this.form.accountType = "1"
this.form.isPeers = null
this.accountTypeChange();
}else if(obj.bankType==2||obj.bankType==4){
}else if(obj.bankType==2||obj.bankType==3){
this.form.accountType = null
this.form.isPeers = "Y"
this.accountTypeChange1();


+ 1
- 1
src/views/sunVillage_info/bankAgriculture/paymentApproval/approvalAdd11.vue Visa fil

@@ -1840,7 +1840,7 @@
this.form.accountType = "1"
this.form.isPeers = null
this.accountTypeChange();
} else if (obj.bankType == 2 || obj.bankType == 4) {
} else if (obj.bankType == 2 || obj.bankType == 3) {
this.form.accountType = null
this.form.isPeers = "Y"
this.accountTypeChange1();


+ 2
- 2
src/views/sunVillage_info/bankAgriculture/paymentApproval/approvalAdd2.vue Visa fil

@@ -239,7 +239,7 @@
</van-radio-group>
</template>
</van-cell>
<van-cell title="行内转账" v-if="form.bankType==2||form.bankType==3||form.bankType==4" >
<van-cell title="行内转账" v-if="form.bankType==2||form.bankType==3" >
<template #right-icon>
<van-radio-group direction="horizontal" v-model="form.isPeers" @change="accountTypeChange1">
<van-radio name="Y">是</van-radio>
@@ -1749,7 +1749,7 @@
this.form.accountType = "1"
this.form.isPeers = null
this.accountTypeChange();
}else if(obj.bankType==2||obj.bankType==3||obj.bankType==4){
}else if(obj.bankType==2||obj.bankType==3){
console.log(obj.bankType)
this.form.accountType = null
this.form.isPeers = "Y"


+ 2
- 2
src/views/sunVillage_info/bankAgriculture/paymentApproval/approvalAdd4.vue Visa fil

@@ -207,7 +207,7 @@
</van-radio-group>
</template>
</van-cell>
<van-cell title="行内转账" v-if="this.form.bankType == 2 || this.form.bankType == 3 || this.form.bankType == 4">
<van-cell title="行内转账" v-if="this.form.bankType == 2 || this.form.bankType == 3">
<template #right-icon>
<van-radio-group direction="horizontal" v-model="form.isPeers" @change="accountTypeChange1">
<van-radio name="Y">是</van-radio>
@@ -1014,7 +1014,7 @@
this.form.accountType = "1"
this.form.isPeers = null
this.accountTypeChange();
}else if(obj.bankType==2||obj.bankType==4){
}else if(obj.bankType==2||obj.bankType==3){
this.form.accountType = null
this.form.isPeers = "Y"
this.accountTypeChange1();


+ 1
- 1
src/views/sunVillage_info/bankAgriculture/paymentApproval/approvalApproval.vue Visa fil

@@ -60,7 +60,7 @@

<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" />
<van-field readonly label="行内转账" v-if="form.bankType==2||form.bankType==3" v-model="form.isPeers == 'Y' ? '是':'否'" input-align="right" label-width="auto" />

</div>



+ 1
- 1
src/views/sunVillage_info/bankAgriculture/paymentApproval/approvalDetail.vue Visa fil

@@ -60,7 +60,7 @@
<div class="main_box" style="position:relative;margin-top: 10px;">
<p class="main_title"><i></i>收款方信息</p>
<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" />
<van-field readonly label="行内转账" v-if="form.bankType==2||form.bankType==3" v-model="form.isPeers == 'Y' ? '是':'否'" input-align="right" label-width="auto" />
<div style="margin-bottom: 10px;position:relative;" v-for="(item, index) in chargeItme" :key="index" v-if="index<listLength">
<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"/>


+ 1
- 1
src/views/sunVillage_info/bankAgriculture/paymentApproval/approvalDetail4.vue Visa fil

@@ -58,7 +58,7 @@

<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" />
<van-field readonly label="行内转账" v-if="form.bankType==2||form.bankType==3" v-model="form.isPeers == 'Y' ? '是':'否'" input-align="right" label-width="auto" />

</div>



+ 2
- 2
src/views/sunVillage_info/bankAgriculture/paymentApproval/approvalModify.vue Visa fil

@@ -271,7 +271,7 @@
</van-radio-group>
</template>
</van-cell>
<van-cell title="行内转账" v-if="form.bankType==2||form.bankType==3||form.bankType==4" >
<van-cell title="行内转账" v-if="form.bankType==2||form.bankType==3" >
<template #right-icon>
<van-radio-group direction="horizontal" v-model="form.isPeers" @change="accountTypeChange1">
<van-radio name="Y">是</van-radio>
@@ -1148,7 +1148,7 @@
this.form.accountType = "1"
this.form.isPeers = null
this.accountTypeChange();
}else if(obj.bankType==2||obj.bankType==4){
}else if(obj.bankType==2||obj.bankType==3){
this.form.accountType = null
this.form.isPeers = "Y"
this.accountTypeChange1();


+ 1
- 1
src/views/sunVillage_info/bankAgriculture/paymentApproval/approvalModify11.vue Visa fil

@@ -1907,7 +1907,7 @@
this.form.accountType = "1"
this.form.isPeers = null
this.accountTypeChange();
}else if(obj.bankType==2||obj.bankType==4){
}else if(obj.bankType==2||obj.bankType==3){
this.form.accountType = null
this.form.isPeers = "Y"
this.accountTypeChange1();


+ 2
- 2
src/views/sunVillage_info/bankAgriculture/paymentApproval/approvalModify2.vue Visa fil

@@ -229,7 +229,7 @@
</van-radio-group>
</template>
</van-cell>
<van-cell title="行内转账" v-if="form.bankType==2||form.bankType==3||form.bankType==4" >
<van-cell title="行内转账" v-if="form.bankType==2||form.bankType==3" >
<template #right-icon>
<van-radio-group direction="horizontal" v-model="form.isPeers" @change="accountTypeChange1">
<van-radio name="Y">是</van-radio>
@@ -1741,7 +1741,7 @@
this.form.accountType = "1"
this.form.isPeers = null
this.accountTypeChange();
}else if(obj.bankType==2||obj.bankType==3||obj.bankType==4){
}else if(obj.bankType==2||obj.bankType==3){
console.log(obj.bankType)
this.form.accountType = null
this.form.isPeers = "Y"


+ 2
- 2
src/views/sunVillage_info/bankAgriculture/paymentApproval/approvalModify4.vue Visa fil

@@ -207,7 +207,7 @@
</van-radio-group>
</template>
</van-cell>
<van-cell title="行内转账" v-if="form.bankType==2||form.bankType==4">
<van-cell title="行内转账" v-if="form.bankType==2||form.bankType==3">
<template #right-icon>
<van-radio-group direction="horizontal" v-model="form.isPeers" @change="accountTypeChange1">
<van-radio name="Y">是</van-radio>
@@ -994,7 +994,7 @@
this.form.accountType = "1"
this.form.isPeers = null
this.accountTypeChange();
}else if(obj.bankType==2||obj.bankType==4){
}else if(obj.bankType==2||obj.bankType==3){
this.form.accountType = null
this.form.isPeers = "Y"
this.accountTypeChange1();


+ 1
- 1
src/views/sunVillage_info/bankAgriculture/paymentApproval/approvalModify5.vue Visa fil

@@ -174,7 +174,7 @@
</van-radio-group>
</template>
</van-cell>
<van-cell title="行内转账" v-if="form.bankType==2||form.bankType==4">
<van-cell title="行内转账" v-if="form.bankType==2||form.bankType==3">
<template #right-icon>
<van-radio-group direction="horizontal" v-model="form.isPeers">
<van-radio name="Y">是</van-radio>


+ 663
- 0
src/views/sunVillage_info/bankAgriculture/paymentPending/approvalDetail.vue Visa fil

@@ -0,0 +1,663 @@
<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/sunVillage_info/icon_flow.png" size="20" @click="goFlow"/>
</template>
</van-nav-bar>
<div class="main_box">
<p class="main_title"><i></i>基础信息</p>
<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>
<van-field v-if="form.approvalMode==1" readonly label="审批流程" :value="tempalteFormat(form.approvalTemplateId)" 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>

<div class="main_box" style="margin-top: 10px;">
<p class="main_title"><i></i>付款方信息</p>
<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"/>
<van-field readonly label="余额" v-model="form.balance" 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>

<div class="main_box" style="position:relative;margin-top: 10px;">
<p class="main_title"><i></i>收款方信息</p>
<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" v-model="form.isPeers == 'Y' ? '是':'否'" input-align="right" label-width="auto" />
<div style="margin-bottom: 10px;position:relative;" v-for="(item, index) in chargeItme" :key="index" v-if="index<listLength">
<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" />
<van-field v-if="item.transferStatus=='成功'||item.transferStatus=='失败'" readonly label="转账状态" v-model="item.transferStatus" input-align="right" />
<van-field v-if="item.transferStatus=='成功'||item.transferStatus=='失败'" readonly label="交易结果描述" v-model="item.causeFailure" type="textarea" input-align="right" rows="3" label-width="auto" />
</div>
<p class="main_more" v-if="chargeItme.length>1 && showbtn" @click="listLength = chargeItme.length,showbtn=false">查看更多</p>
<p class="main_more" v-if="chargeItme.length>1 && !showbtn" @click="listLength = 1,showbtn=true">收起列表</p>
</div>

<div class="main_box" style="padding: 5px 0 0 0;margin-top: 10px;">
<p class="main_title"><i></i>上传附件</p>
<van-cell value="收据" />
<van-uploader v-model="fileList1" v-if="fileList1==null||fileList1.length==0" :deletable="false" disabled :upload-text="'未上传附件'" style="margin-left:8px;"></van-uploader>
<van-uploader v-model="fileList1" v-if="fileList1!=null&&fileList1.length>0" :deletable="false" @click-preview="previewPreview" :max-count="fileList1.length" style="margin-left:8px;">
<template #preview-cover="file">
<div class="preview-cover">
<img src="../../../../assets/images/sunVillage_info/WORD.png" width="75" v-if="file.type == 'docx' || file.type == 'doc'"/>
<img src="../../../../assets/images/sunVillage_info/ECEL.png" width="75" v-if="file.type == 'xlsx' || file.type == 'xls'" />
<img src="../../../../assets/images/sunVillage_info/PDF.png" width="75" v-if="file.type == 'pdf'" />
<img src="../../../../assets/images/sunVillage_info/PPT.png" width="75" v-if="file.type == 'ppt'" />
<img src="../../../../assets/images/sunVillage_info/RAR.png" width="75" v-if="file.type == 'zip' || file.type == 'rar'" />
</div>
</template>
</van-uploader>
<van-cell value="发票" />
<van-uploader v-model="fileList2" v-if="fileList2==null||fileList2.length==0" :deletable="false" disabled :upload-text="'未上传附件'" style="margin-left:8px;"></van-uploader>
<van-uploader v-model="fileList2" v-if="fileList2!=null&&fileList2.length>0" :deletable="false" @click-preview="previewPreview" :max-count="fileList2.length" style="margin-left:8px;">
<template #preview-cover="file">
<div class="preview-cover">
<img src="../../../../assets/images/sunVillage_info/WORD.png" width="75" v-if="file.type == 'docx' || file.type == 'doc'"/>
<img src="../../../../assets/images/sunVillage_info/ECEL.png" width="75" v-if="file.type == 'xlsx' || file.type == 'xls'" />
<img src="../../../../assets/images/sunVillage_info/PDF.png" width="75" v-if="file.type == 'pdf'" />
<img src="../../../../assets/images/sunVillage_info/PPT.png" width="75" v-if="file.type == 'ppt'" />
<img src="../../../../assets/images/sunVillage_info/RAR.png" width="75" v-if="file.type == 'zip' || file.type == 'rar'" />
</div>
</template>
</van-uploader>
<van-cell value="其他" />
<van-uploader v-model="fileList3" v-if="fileList3==null||fileList3.length==0" :deletable="false" disabled :upload-text="'未上传附件'" style="margin-left:8px;"></van-uploader>
<van-uploader v-model="fileList3" v-if="fileList3!=null&&fileList3.length>0" :deletable="false" @click-preview="previewPreview" :max-count="fileList3.length" style="margin-left:8px;" >
<template #preview-cover="file">
<div class="preview-cover">
<img src="../../../../assets/images/sunVillage_info/WORD.png" width="75" v-if="file.type == 'docx' || file.type == 'doc'"/>
<img src="../../../../assets/images/sunVillage_info/ECEL.png" width="75" v-if="file.type == 'xlsx' || file.type == 'xls'" />
<img src="../../../../assets/images/sunVillage_info/PDF.png" width="75" v-if="file.type == 'pdf'" />
<img src="../../../../assets/images/sunVillage_info/PPT.png" width="75" v-if="file.type == 'ppt'" />
<img src="../../../../assets/images/sunVillage_info/RAR.png" width="75" v-if="file.type == 'zip' || file.type == 'rar'" />
</div>
</template>
</van-uploader>
</div>
<div class="main_box" style="padding: 10px 10px;margin-top: 10px;" v-if="form.auditStatus=='3' && form.paymentState=='1'">
<div v-if="form.doubleConfirmationStatus == 'Y'">
<div v-if="form.doubleConfirmationUser == '' || form.doubleConfirmationUser == null">
<p style="text-align: center">等待领导复核中。。。</p>
</div>
<div v-else>
<p style="text-align: center">{{ form.doubleConfirmationUser +'已于'+form.doubleConfirmationTime +'进行复核。'}}</p>
</div>
</div>
<div v-if="form.doubleConfirmationStatus != 'Y' || !(form.doubleConfirmationUser == '' || form.doubleConfirmationUser == null)">
<div v-if="form.bankType == '1' || form.bankType == '2' || form.bankType == '3' || form.bankType == '5' || form.bankType == '9' || form.bankType == '10' || form.bankType == '18'">
<van-field label="支付口令" required :rules="[{ required: true , message:'请输入支付口令' }]" v-model="form.accountPassword" placeholder="请输入支付口令"
input-align="right" label-width="auto"/>
<div style="margin-top: 10xp;">
<van-col span="24" align="center">
<van-button type="info" :disabled="paySubmitDisabled1 || form.accountPassword == null || form.accountPassword == undefined || form.accountPassword == ''"
@click="paySubmit">支<i style="margin-right: 1em;"></i>付</van-button>
</van-col>
</div>
</div>
<div v-else>
<van-field label="验证码" required :rules="[{ required: true , message:'请输入验证码' }]" v-model="form.alternateField1" placeholder="请输入验证码" input-align="right" label-width="auto"/>
<template v-if="smsStatus">
<p style="color: red;font-size: 14PX;margin-right: 5px;text-align: center">*验证码三分钟内有效</p>
</template>
<van-row>
<van-col span="12" align="center">
<van-button type="primary" :disabled="sms_disabled" @click="getSendSms">{{smsText}}</van-button>
</van-col>
<van-col span="12" align="center">
<van-button type="info" v-if="smsStatus" :disabled="paySubmitDisabled || form.alternateField1 == null || form.alternateField1 == undefined || form.alternateField1 == ''"
@click="paySubmit">支<i style="margin-right: 1em;"></i>付</van-button>
</van-col>
</van-row>
</div>
</div>
</div>
</div>
</template>

<script>
import { getCashierAccount,getTransfer ,pay, queryTransferDetail , listPayee , editDoubleConfirmationStatus , getProjectto , sendSms , addProjectto , customSubmit,getInfoto,listTemplate} 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 {
clickOut:true,
payStatus:false,
smsStatus:false,
sms_disabled:false,
getPayStatus:false,
smsText:'发送验证码',
paySubmitDisabled:true,
paySubmitDisabled1:false,

showcapital:false,
showpayee:false,
showlasj:false,
showbankType:false,
showproject:false,
showFundType:false,
showbtn:true,

listLength:1,

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

wfydlxDictionaries:[],
jglxDictionaries:[],
sysDictionaries:[],
capitalExpenditureTypeOptions:[],
bankTypeDictionaries:[],
projectList:[],
projectFundTypeOptions:[],
transferStatusOptions:[],
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:'',
templateList:[],
};
},
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("transfer_status").then((response) => {
this.transferStatusOptions = response.data;
});
this.getDictionaries();
this.getFileList();
this.getTemplateList();
},
methods: {
getTemplateList(){
let templateQueryParams = {
// 分页
pageNum: 1,
pageSize: 999,
};
listTemplate(templateQueryParams).then(response => {
this.templateList = response.rows;
});
},
paySubmit(){
this.diglogStatus = false;
this.paySubmitDisabled = true;
this.paySubmitDisabled1 = true;
const id = this.form.id;
this.queryParams.id = id;
this.queryParams.alternateField1 = this.form.alternateField1;
let queryParams = this.queryParams;
var that = this;
// that.payLoading = this.$loading({
// lock: true,
// text: '正在支付',
// spinner: 'el-icon-loading',
// background: 'rgba(0, 0, 0, 0.7)'
// });
pay(queryParams).then((response) => {
// that.payLoading.close();
this.$toast.success("支付成功,请等待银行进行处理,稍后可通过查询结果按钮查询银行处理结果。");
clearTimeout(this.sms_timer);
this.open = false;
this.smsStatus = false;
this.sms_disabled = false;
this.smsText = "发送验证码";
setTimeout(function(){
history.go(-1)
},1000)
})
.catch((err) => {
// that.payLoading.close();
if(err.toString().indexOf('错误代码:-1') == -1 && err.toString().indexOf('错误代码:-2') == -1){
this.getList();
clearTimeout(this.sms_timer);
this.open = false;
this.smsStatus = false;
this.sms_disabled = false;
this.smsText = "发送验证码";
}
setTimeout(function(){
history.go(-1)
},2000)
});
},
getSendSms(){
clearTimeout(this.sms_timer);
this.form.alternateField1 = '';
this.sms_time = 60;
this.clickOut = false;
this.sms_disabled = true;
const id = this.form.id;
const bankType = this.form.bankType;
this.queryParams.id = id;
this.queryParams.bankType = bankType;
let queryParams = this.queryParams;
sendSms(queryParams).then(res=>{
console.log(res.msg)
if (res.msg.indexOf('短信发送失败') == -1){
this.paySubmitDisabled = false;
this.$toast.success(res.msg);
this.smsStatus = true;
this.smsText = this.sms_time+'s后可重新发送';
this.sms_timer = setInterval(()=>{
this.sms_time--;
this.smsText = this.sms_time+'s后可重新发送';
if (this.sms_time == 0){
clearInterval(this.sms_timer);
this.sms_time = 60 ;
this.smsText = '发送验证码';
this.sms_disabled = false;
this.clickOut = true;
}
},1000)
}else{
this.sms_disabled = false;
console.log(res.msg)
this.$toast.error(res.msg);
}
});
},
editDoubleConfirmationStatus(){
let id = this.form.id
editDoubleConfirmationStatus(id).then(response => {
if(res.code = 200){
this.$toast.success(response.msg);
setTimeout(function(){
history.go(0)
},2000)
}
})
},
tempalteFormat(id){
let name = ""
this.templateList.map(res => {
if(res.id==id){
console.log(res.name)
name = res.name
}
})
return name
},
goFlow(){
window.location='approvalProcess?id='+this.$route.query.id+'&auditbatchNo='+this.$route.query.auditbatchNo;
},
previewPreview(file, index, len) {
const baseImgUrl = this.$store.getters.baseRoutingUrl;
if (file.url) {
//已上传文件
let fileName = file.file.name || file.url;
let subIndex = fileName.lastIndexOf(".");
let ext = fileName.substring(subIndex + 1, fileName.length);
let imgi = file.listIndex
//console.log(ext)
let allUrl = file.url;
if(ext !== 'jpg' && ext !== 'png' && ext !== 'gif' && ext !== 'svg' && ext !== 'ico' && ext !== 'bmp'){
const link = document.createElement("a");
link.style.display = "none";
link.target = "_blank"
link.href = allUrl;
document.body.appendChild(link);
link.click();
document.body.removeChild(link);
}

} else {
//新上传文件
let fileName = file.file.name;
// console.info(file.file.name)
let subIndex = fileName.lastIndexOf(".");
let ext = fileName.substring(subIndex + 1, fileName.length);
if(ext !== 'jpg' && ext !== 'png' && ext !== 'gif' && ext !== 'svg' && ext !== 'ico' && ext !== 'bmp'){
let type = this.getfileType(ext);
// 将文件转换为base64编码
this.fileToBase64(file.file, ext).then(res => {
this.downloadFile(res, fileName, ext, type);
})
}
}
},
getfileType(type) {
switch (type) {
case 'txt':
return 'text/plain';
case 'doc':
return 'application/msword';
case 'docx':
return 'application/vnd.openxmlformats-officedocument.wordprocessingml.document';
case 'xls':
return 'application/vnd.ms-excel';
case 'xlsx':
return 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';
case 'pdf':
return 'application/pdf';
case 'pptx':
return 'application/vnd.openxmlformats-officedocument.presentationml.presentation';
case 'png':
return 'image/png';
case 'jpg':
return 'image/jpeg';
case 'gif':
return 'image/gif';
case 'svg':
return 'image/svg+xml';
case 'ico':
return 'image/x-icon';
case 'bmp':
return 'image/bmp,';
}
},
downloadFile(base64, fileName, fileType, mimetype) {
const typeHeader = 'data:application/' + fileType + ';base64,';
const blob = this.base64ToBlob(base64, mimetype);
this.downloadFileDownload(blob, fileName, fileType);
},
base64ToBlob(base64, mime) {
//解码base64得到二进制字符串

let raw = window.atob(base64.substring(base64.indexOf(',') + 1));
let rawLength = raw.length
//创建8位无符号整数值的类型化数组
let uInt8Array = new Uint8Array(rawLength)
for (let i = 0; i < rawLength; ++i) {
uInt8Array[i] = raw.charCodeAt(i);
}
return new Blob([uInt8Array], {type: mime})
},
downloadFileDownload(blob, fileName, fileType) {
const downloadElement = document.createElement('a');
let href = blob;
if (typeof blob === 'string') {
downloadElement.target = '_blank'
} else {
href = window.URL.createObjectURL(blob)
}
downloadElement.href = href;
downloadElement.download = fileName + '.' + fileType;//下载后文件名
document.body.appendChild(downloadElement);
downloadElement.click();
document.body.removeChild(downloadElement)
if (typeof blob !== 'string') {
window.URL.revokeObjectURL(href)
}
},
fileToBase64(file,fileType){
return new Promise((resolve,reject)=>{
//创建一个新的FileReader 对象
const reader = new FileReader();
//读取file对象
reader.readAsDataURL(file);
reader.onload=function () {
const base64String = reader.result.split(",")[1];
resolve('data:application/' + fileType + ';base64,'+base64String);
}
reader.onerror=function () {
reject(new Error("Failed to load file") )
}
})
},
getDictionaries(){
getTransfer(this.$route.query.id).then((response) => {
getCashierAccount(response.data.cashierId).then(res => {
this.form.balance = res.data.balance
})
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_all").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);
response.rows[j].transferStatus = this.selectDictLabel(this.transferStatusOptions, response.rows[j].transferStatus);
}
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 oData1= {
tableId: this.$route.query.id,
tableName: "t_yinnong_transfer",
bizPath: "transfer",
fileType: "1",
}
attachmentList(oData1).then(res => {
res.rows.map(r => {
let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL
let subIndex = r.fileName.lastIndexOf(".");
let ext = r.fileName.substring(subIndex + 1, r.fileName.length);
this.fileList1.push({"url": baseUrl + r.fileUrl, "file": new File([], r.fileName, {}), "id": r.id,"type":ext})
})
})
let oData2= {
tableId: this.$route.query.id,
tableName: "t_yinnong_transfer",
bizPath: "transfer",
fileType: "2",
}
attachmentList(oData2).then(res => {
res.rows.map(r => {
let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL
let subIndex = r.fileName.lastIndexOf(".");
let ext = r.fileName.substring(subIndex + 1, r.fileName.length);
this.fileList2.push({"url": baseUrl + r.fileUrl, "file": new File([], r.fileName, {}), "id": r.id,"type":ext})
})
})
let oData3= {
tableId: this.$route.query.id,
tableName: "t_yinnong_transfer",
bizPath: "transfer",
fileType: "3",
}
attachmentList(oData3).then(res => {
res.rows.map(r => {
let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL
let subIndex = r.fileName.lastIndexOf(".");
let ext = r.fileName.substring(subIndex + 1, r.fileName.length);
this.fileList3.push({"url": baseUrl + r.fileUrl, "file": new File([], r.fileName, {}), "id": r.id,"type":ext})
})
})
},
goBack(){
window.history.go(-1)
},
//删除家庭成员
deleteChargeItme(index){
this.chargeItme.splice(index,1)
},
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
/deep/ .van-nav-bar{
background: linear-gradient(to right , #9EF7FF , #2637D8);
p,i{
color: #ffffff;
}
}
.main_more{
width: 96%;
margin: 0 auto;
margin-top: 10px;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
text-align: center;
padding: 10PX 0;
}
.main_title{
font-size: 0.45rem;
color: #333333;
margin: 0.4rem 3% 0.2rem;
position: relative;
display: flex;
align-items: center;
i{
display: block;
width: 3PX;
height: 0.4rem;
background-color: #4B72E4;
margin-right: 10PX;
}
}
.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>

+ 313
- 0
src/views/sunVillage_info/bankAgriculture/paymentPending/approvalList.vue Visa fil

@@ -0,0 +1,313 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="onClickLeft"
>
<template #title>
<p style="font-weight: bold;">银行卡转账待支付列表</p>
</template>
<!-- <template #right>
<van-icon name="add-o" size="25" v-show="showBtn"/>
</template> -->
</van-nav-bar>

<!-- <div class="header_main">-->
<!-- 银行卡转账申请列表-->
<!-- <div class="return_btn" @click="onClickLeft"></div>-->
<!--&lt;!&ndash; <div class="add_btn" @click="goAdd" v-show="showBtn"></div>&ndash;&gt;-->
<!-- <van-icon class="add_btn" name="add-o" size="25" @click="goAdd" v-show="showBtn" />-->
<!-- </div>-->

<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.remark" center :to="{name:'sunVillagePaymentPendingApprovalDetail', query: {id:item.id,auditbatchNo:item.auditbatchNo}}">
<template #icon>
<van-icon name="../../../../static/images/sunVillage_info/icon_yn1.png" size="30" color="#FF4646" style="margin-right: 10px;" />
</template>
<template #label>
<p><span><i>¥</i>{{stateFormat(item.expenditureAmount)}}</span><i style="margin-right: 30px;"></i>{{item.applyDate}}</p>
</template>
<template #default>
<span v-if="item.paymentState === '1'" style="color: #696969">{{ selectDictLabel(paymentStateOptions, item.paymentState)}} </span>
<span v-else-if="item.paymentState === '2' " style="color: #909399">{{ selectDictLabel(paymentStateOptions, item.paymentState)}} </span>
<span v-else-if="item.paymentState === '3' " style="color: #409eff">{{ selectDictLabel(paymentStateOptions, item.paymentState)}} </span>
<span v-else-if="item.paymentState === '4' " style="color: #f56c6c">{{ selectDictLabel(paymentStateOptions, item.paymentState)}} </span>
<span v-else-if="item.paymentState === '5' " style="color: #e6a23c">{{ selectDictLabel(paymentStateOptions, item.paymentState)}} </span>
<span v-else style="color: #67c23a;">{{ selectDictLabel(paymentStateOptions, item.paymentState) }} </span>
</template>
</van-cell>
<template #right>
<van-row>
<van-col>
<van-button v-if="item.paymentState == '3'" square text="核实结果" type="info" @click="transactionStatusQuery(item.id)" class="delete-button" />
</van-col>
<van-col>
<van-button v-if="item.doubleConfirmationStatus == 'Y' && (item.doubleConfirmationUser == '' || item.doubleConfirmationUser == null) && item.paymentState == '1'"
square text="复核" type="info" @click="editDoubleConfirmationStatus(item.id)" class="delete-button" />
</van-col>
<van-col>
<van-button v-if="item.paymentState == '4' || item.paymentState == '5'" square text="重新申请" color="#FFA63E" type="info" @click="reapply(item.id)" class="delete-button" />
</van-col>
<van-col>
<van-button v-if="item.paymentState == '1'" square text="取消支付" type="danger" @click="reapplyDraft(item.id)" class="delete-button" />
</van-col>
</van-row>
</template>
</van-swipe-cell>
</van-list>
</div>
</template>

<script>
import { payList,transactionStatusQuery,editDoubleConfirmationStatus,payRecordList,resetTYinnongTransfer,reapply,reapplyDraft } from "@/api/onlineHome/bankAgriculture/paymentApproval";
export default {
name: "approvalList",
data() {
return {
applicationList:[],
auditStatusOptions:[],
paymentStateOptions:[],
loading: false,
finished: false,
queryParams:{
pageNum:1,
pageSize:10,
transferType:"1",
},
form:{},
showBtn:true,
};
},
created() {
this.getDicts("payment_state").then((response) => {
this.paymentStateOptions = response.data;
});
if (this.$route.query.type == 'code'){
this.showBtn = false;
}
},
methods: {
//金额千分符 会在整数后添加两个0
stateFormat(cellValue) {
if (cellValue) {
return Number(cellValue)
.toFixed(2)
.replace(/(\d)(?=(\d{3})+\.)/g, ($0, $1) => {
return $1 + ",";
})
.replace(/\.$/, "") + "元";
}
},
goAdd(){
window.location = 'approvalAdd';
},
getList(){
setTimeout(() => {
payList(this.queryParams).then(response => {
console.log(response)
for (var i = 0; i <response.rows.length; i++) {
if(response.rows[i].remark.length > 12){
response.rows[i].remark = response.rows[i].remark.substring(0,12)+"...";
}
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);
},
transactionStatusQuery(id){
this.$dialog.confirm({
message: '是否确认查询【' + id + '】号单据的转账结果?',
})
.then(() => {
transactionStatusQuery(id).then(res => {
if(res.code = 200){
this.$toast.success(res.msg);
setTimeout(function(){
history.go(0)
},2000)
}
});
})
.catch(() => {
// on cancel
});
},
editDoubleConfirmationStatus(id){
this.$dialog.confirm({
message: '是否确认复核【' + id + '】号单据?',
})
.then(() => {
editDoubleConfirmationStatus(id).then(res => {
if(res.code = 200){
this.$toast.success('复核成功!');
setTimeout(function(){
history.go(0)
},2000)
}
});
})
.catch(() => {
// on cancel
});
},
resetTYinnongTransfer(id){
this.$dialog.confirm({
message: '是否确认重置【' + id + '】号单据?<br>重置后申请单需要重新审批,请谨慎操作!',
})
.then(() => {
resetTYinnongTransfer(id).then(res => {
if(res.code = 200){
this.$toast.success('重置成功!');
setTimeout(function(){
history.go(0)
},2000)
}
});
})
.catch(() => {
// on cancel
});
},
reapply(id){
this.$dialog.confirm({
message: '此操作会将【' + id + '】号单据<br>中支付失败的记录重新申请,<br>请先确保收款账户已修改准确,<br>再执行此操作!',
})
.then(() => {
reapply(id).then(res => {
if(res.code = 200){
this.$toast.success('重新申请成功!');
setTimeout(function(){
history.go(0)
},2000)
}
});
})
.catch(() => {
// on cancel
});
},
reapplyDraft(id){
this.$dialog.confirm({
message: '此操作会将【' + id + '】号单据<br/>的审批状态置为草稿,请谨慎操作!',
})
.then(() => {
reapplyDraft(id).then(res => {
if(res.code = 200){
this.$toast.success('取消成功!');
setTimeout(function(){
history.go(0)
},2000)
}
});
})
.catch(() => {
// on cancel
});
},
goBack(){
this.$router.push({path:'/sunVillage_info/index'})
},
},
}
</script>

<style scoped lang="scss">
/deep/ .van-nav-bar{
background: linear-gradient(to right , #9EF7FF , #2637D8);
p,i{
color: #ffffff;
}
}
.app-container {
.header_main{
height: 116px;
/*background: url('../../../../assets/images/sunVillage_info/list_head.png') no-repeat;*/
background: linear-gradient(to right , #9EF7FF , #2637D8);
background-size: 100% 100%;
position: fixed;
top: 0;
left: 0;
width: 100%;
font-size: 36px;
line-height: 116px;
text-align: center;
color: #fff;
position: relative;
.return_btn{
width: 24px;
height: 43.2px;
background: url('../../../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat;
background-size: 20px 36px;
position: absolute;
left: 38px;
top: 36px;
}
.add_btn{
/*width: 56.4px;*/
/*height: 40.8px;*/
/*background: url('../../../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat;*/
/*background-size: 47px 34px;*/
position: absolute;
right: 38px;
top: 36px;
}
}
}
/deep/.van-list{
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: #FF0000;
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>

+ 267
- 0
src/views/sunVillage_info/bankAgriculture/paymentPending/approvalProcess.vue Visa fil

@@ -0,0 +1,267 @@
<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-for="(item,index) in processList" :key="index">
<van-divider content-position="center"><h4>批次号:{{index}}</h4></van-divider>
<div>
<van-row class="row1" type="flex" align="center" v-for="(item1,index,i) in item" :key="i">
<van-col span="4">
<i></i>
<!-- <p class="icon_jian" v-show="item1.auditStatus=='1'"><van-icon name="minus" size="14" /></p>-->
<!-- <p class="icon_jian blue" v-show="item1.auditStatus=='3'"><van-icon name="success" size="14" /></p>-->
<!-- <p class="icon_jian red" v-show="item1.auditStatus=='2'"><van-icon name="cross" size="14" /></p>-->
<p class="icon_jian" v-show="item1.auditStatus=='1'"></p>
<p class="icon_jian blue" v-show="item1.auditStatus=='3'"></p>
<p class="icon_jian red" v-show="item1.auditStatus=='2'"></p>
<i></i>
</van-col>
<van-col span="20">
<div class="right_main">
<van-row>
<van-col span="8" style="padding: 0;">
<p v-show="item1.auditStatus == '1'">{{item1.actorName}}</p>
<p v-show="item1.auditStatus == '3'" class="textBlue">{{item1.actorName}}</p>
<p v-show="item1.auditStatus == '2'" class="textRed">{{item1.actorName}}</p>
</van-col>
<van-col span="16" style="padding: 0;text-align: right;" >
<p v-show="item1.auditStatus == '1'">{{item1.auditTime}}</p>
<p v-show="item1.auditStatus == '3'" class="textBlue">{{item1.auditTime}}</p>
<p v-show="item1.auditStatus == '2'" class="textRed">{{item1.auditTime}}</p>
</van-col>
</van-row>
<van-row>
<van-col span="12" style="padding: 0;" >
<p v-show="item1.auditStatus == '1'">{{item1.auditBy}}</p>
<p v-show="item1.auditStatus == '3'" class="textBlue">{{item1.auditBy}}</p>
<p v-show="item1.auditStatus == '2'" class="textRed">{{item1.auditBy}}</p>
</van-col>
<van-col span="12" style="padding: 0;text-align: right;">
<p v-show="item1.auditStatus == '1'">{{item1.auditRemark}}</p>
<p v-show="item1.auditStatus == '3'" class="textBlue">{{item1.auditRemark}}</p>
<p v-show="item1.auditStatus == '2'" class="textRed">{{item1.auditRemark}}</p>
</van-col>
</van-row>
</div>
</van-col>
</van-row>
</div>
</van-row>
<van-divider content-position="center" v-if="approvalTemplateDetailList.length>0"><h4>审批流程</h4></van-divider>
<div>
<van-row class="row2" type="flex" align="center" v-if="approvalTemplateDetailList.length>0" v-for="(item1,index,i) in approvalTemplateDetailList" :key="i">
<van-col span="4" align="right">
<i></i>
<p class="icon_jian" ></p>
<i></i>
</van-col>
<van-col span="20">
<div class="right_main">
<van-row>
<van-col span="12" style="padding: 0;">
<p>{{item1.name}}</p>
</van-col>
<van-col span="12" style="padding: 0;text-align: right;">
<p v-show="item1.approvalLevel == 1">组级审批</p>
<p v-show="item1.approvalLevel == 2">村级审批</p>
<p v-show="item1.approvalLevel == 3">镇级审批</p>
<p v-show="item1.approvalLevel == 4">区县审批</p>
</van-col>
</van-row>
<van-row>
<van-col span="24" style="padding: 0;">
<p>{{item1.nickName}}<span v-if="item1.feeLimit != 0 && item1.nickName != null">({{item1.feeLimit}}元)</span></p>
</van-col>
</van-row>
</div>
</van-col>
</van-row>
</div>
</div>
</div>
</template>

<script>
import {
getTransferProcess,
getTransfer,
getProjectto,
queryTransferDetail,
selectApprovalByTemplateId
} from "@/api/onlineHome/bankAgriculture/paymentApproval";
export default {
name: "approvalProcess",
data() {
return {
processList:{},
form:{},
approvalTemplateDeptList:[],
approvalTemplateDetailList:[]
};
},
created() {
this.handleUpdate(this.$route.query.id);
},
methods: {
//查询审批进程
getTransferProcess(id){
getTransferProcess(id).then(res => {
this.processList = res.data
console.info( this.processList);
})
},
handleUpdate(id) {
getTransfer(id).then((response) => {
this.form = response.data;
this.processList = {}
if(this.form.auditStatus != 0){
this.getTransferProcess(id);
}
if(this.form.approvalMode == 1){
selectApprovalByTemplateId(this.form.approvalTemplateId).then(rs => {
this.approvalTemplateDeptList = rs.approvalDepts;
this.approvalTemplateDetailList = rs.approvalDetails;
console.log("this.approvalTemplateDetailList:"+this.approvalTemplateDetailList);
if(this.form.approveLevel === "1"){
this.approvalTemplateDetailList.push({"approvalLevel":"3"});
}else if(this.form.approveLevel === "2"){
this.approvalTemplateDetailList.push({"approvalLevel":"4"});
}
})
}
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;
}
/deep/ .van-nav-bar{
background: linear-gradient(to right , #9EF7FF , #2637D8);
p,i{
color: #ffffff;
}
}
.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{
border: 3PX solid #2638D8;
display: inline-block;
width: 20Px;
height: 20Px;
border-radius: 50%;
color: #FFF;
}
.blue{
border-color: #2638D8;
}
.red{
border-color: rgb(245, 108, 108);
}
.textBlue{
color: #1D6FE9!important;
}
.textRed{
color: rgb(245, 108, 108)!important;
}
.van-col{
padding: 0Px 10Px;
}
.van-col--20{
padding: 10Px 20Px 10Px 0;
}
.van-col:nth-child(2){
font-size: 16Px;
color: #878787;
line-height: 22Px;
}
.van-col--4{
height: 94PX;
display: flex;
align-items: center;
flex-direction: column;
/*justify-content: right;*/
i{
display: block;
height: 37PX;
border-right: 2PX dashed #929BEB;
}
}
.van-row{

.van-row{
.van-col{
/*padding: 5Px 0 0 0!important;*/
color: #878787;
}
}
}
.row1,.row2{
&:first-child{
.van-col--4{
i:first-child{
border-color: transparent;
}
}
}

&:last-child{
.van-col--4{
i:last-child{
border-color: transparent;
}
}
}
}
.right_main{
background-color: #F2F5FE;
padding: 10PX;
border-radius: 10PX;
}
</style>

+ 208
- 0
src/views/sunVillage_info/bankAgriculture/paymentPending/payRecordList.vue Visa fil

@@ -0,0 +1,208 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="onClickLeft"
>
<template #title>
<p style="font-weight: bold;">银行卡转账支付记录列表</p>
</template>
<!-- <template #right>
<van-icon name="add-o" size="25" v-show="showBtn"/>
</template> -->
</van-nav-bar>

<!-- <div class="header_main">-->
<!-- 银行卡转账申请列表-->
<!-- <div class="return_btn" @click="onClickLeft"></div>-->
<!--&lt;!&ndash; <div class="add_btn" @click="goAdd" v-show="showBtn"></div>&ndash;&gt;-->
<!-- <van-icon class="add_btn" name="add-o" size="25" @click="goAdd" v-show="showBtn" />-->
<!-- </div>-->

<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.remark" center :to="{name:'sunVillagePaymentPendingApprovalDetail', query: {id:item.id,auditbatchNo:item.auditbatchNo}}">
<template #icon>
<van-icon name="../../../../static/images/sunVillage_info/icon_yn1.png" size="30" color="#FF4646" style="margin-right: 10px;" />
</template>
<template #label>
<p><span><i>¥</i>{{stateFormat(item.expenditureAmount)}}</span><i style="margin-right: 15px;"></i>{{item.applyDate}}</p>
<p><span><i>¥</i>{{stateFormat(item.succeedAmount)}}</span><i style="margin-right: 15px;"></i>{{item.failing_allSize}}(失败/总数)</p>
<p><span>支付时间:</span>{{item.paymentTime}}</p>
</template>
<template #default>
<span v-if="item.paymentState === '4' && item.downId != null" style="color: #409EFF">{{ selectDictLabel(paymentStateOptions, item.paymentState)}} <br>(已申请)</span>
<span v-else-if="item.paymentState === '5' && item.downId != null" style="color: #E6A23C">{{ selectDictLabel(paymentStateOptions, item.paymentState)}} <br>(已申请)</span>
<span v-else-if="item.paymentState != '6' && item.downId === null" style="color: #F56C6C">{{ selectDictLabel(paymentStateOptions, item.paymentState)}} <br>(待申请)</span>
<span v-else-if="item.paymentState === '6'" style="color: #67C23A">{{ selectDictLabel(paymentStateOptions, item.paymentState) }} </span>
</template>
</van-cell>
</van-swipe-cell>
</van-list>
</div>
</template>

<script>
import { payRecordList} from "@/api/onlineHome/bankAgriculture/paymentApproval";
export default {
name: "approvalList",
data() {
return {
applicationList:[],
auditStatusOptions:[],
paymentStateOptions:[],
loading: false,
finished: false,
queryParams:{
pageNum:1,
pageSize:10,
transferType:"1",
},
form:{},
showBtn:true,
};
},
created() {
this.getDicts("payment_state").then((response) => {
this.paymentStateOptions = response.data;
});
if (this.$route.query.type == 'code'){
this.showBtn = false;
}
},
methods: {
//金额千分符 会在整数后添加两个0
stateFormat(cellValue) {
if (cellValue) {
return Number(cellValue)
.toFixed(2)
.replace(/(\d)(?=(\d{3})+\.)/g, ($0, $1) => {
return $1 + ",";
})
.replace(/\.$/, "") + "元";
}else{
return "0元";
}
},
goAdd(){
window.location = 'approvalAdd';
},
getList(){
setTimeout(() => {
payRecordList(this.queryParams).then(response => {
console.log(response)
for (var i = 0; i <response.rows.length; i++) {
if(response.rows[i].remark.length > 12){
response.rows[i].remark = response.rows[i].remark.substring(0,12)+"...";
}
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);
},
goBack(){
this.$router.push({path:'/sunVillage_info/index'})
},
},
}
</script>

<style scoped lang="scss">
/deep/ .van-nav-bar{
background: linear-gradient(to right , #9EF7FF , #2637D8);
p,i{
color: #ffffff;
}
}
.app-container {
.header_main{
height: 116px;
/*background: url('../../../../assets/images/sunVillage_info/list_head.png') no-repeat;*/
background: linear-gradient(to right , #9EF7FF , #2637D8);
background-size: 100% 100%;
position: fixed;
top: 0;
left: 0;
width: 100%;
font-size: 36px;
line-height: 116px;
text-align: center;
color: #fff;
position: relative;
.return_btn{
width: 24px;
height: 43.2px;
background: url('../../../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat;
background-size: 20px 36px;
position: absolute;
left: 38px;
top: 36px;
}
.add_btn{
/*width: 56.4px;*/
/*height: 40.8px;*/
/*background: url('../../../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat;*/
/*background-size: 47px 34px;*/
position: absolute;
right: 38px;
top: 36px;
}
}
}
/deep/.van-list{
padding: 0.2rem 3%;
}
/deep/.van-cell__title{
flex: 0.8;
}
/deep/.van-cell__title span{
font-family: Arial;
font-size: 0.4rem;
font-weight: normal;

}
/deep/.van-cell__label span{
color: #FF0000;
font-weight: bold;
i{
font-size: 0.2rem;
}
}
/deep/.van-cell__value{
flex: 0.2;
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>

+ 26
- 5
src/views/sunVillage_info/index_code.vue Visa fil

@@ -5,7 +5,10 @@

<div class="address"><i class="icon"></i>{{deptName}}</div>

<div class="address">{{bookName}}</div>
<div class="address" @click="bookVisbile = true">{{bookName}}</div>
<van-popup v-model="bookVisbile" round position="bottom">
<van-picker title="请选择账套" show-toolbar :columns="bookList" @confirm="onConfirmBook" @cancel="onCancelBook" value-key="bookName"/>
</van-popup>

</div>
<div class="exit_btn" @click="$router.push({name:'sunVillageInfoLogin'})">
@@ -65,9 +68,10 @@
</div>
</template>
<script>
import {bookInfo, nologinMenus} from "@/api/sunVillage_info/fixedAssets";
import {bookInfo, nologinMenus} from "@/api/sunVillage_info/fixedAssets";
import { sysConfig } from "@/api/homesteadSurvey/index";
import Cookies from "js-cookie";
import {bookListByDept} from "@/api/onlineHome/villageAffairs";
export default {
name: "sunVillageInfoIndexCode",
data() {
@@ -94,7 +98,6 @@
//账套列表
bookVisbile:false,
bookList:[],
bookName:"",
bookId:"",
book:"",

@@ -102,7 +105,7 @@
};
},
created() {
console.log(this.$store)
//console.log(this.$store)

if(this.$route.query.bookId){
bookInfo(this.$route.query.bookId).then((res) => {
@@ -143,6 +146,7 @@
this.configValue = res.rows[0].configValue;
}
});
this.getBookList(this.$route.query.deptId);
},
methods: {
goCode(){
@@ -151,7 +155,24 @@
}else{
this.$router.push({path:'/sunVillage_info/login_code'})
}
}
},
onConfirmBook(e){
this.bookVisbile = false;
const url = `/sunVillage_info/index_code?bookId=${e.id}&deptId=${this.$route.query.deptId}`;
this.$router.replace(url, () => {
window.location.href = url;
});
},
onCancelBook(e){
this.bookVisbile = false
},
getBookList(e){
bookListByDept(e).then((response) => {
if (response.code == 200) {
this.bookList = response.rows;
}
})
},
},
}
</script>


+ 9
- 3
src/views/sunVillage_info/list_register_add.vue Visa fil

@@ -38,9 +38,9 @@

<van-field required label="记工员" v-model="form.workerNote" placeholder="请输入记工员" :rules="[{ required: true , message:'请输入记工员' }]" input-align="right" :border="false" />

<van-field required label="出工数" v-model="form.workNum" placeholder="请输入出工数" :rules="[{ required: true , message:'请输入出工数' }]" input-align="right" :border="false" />
<van-field required label="出工数" v-model="form.workNum" placeholder="请输入出工数" :rules="[{ required: true , message:'请输入出工数' }]" input-align="right" :border="false" type="number" @change="calcMoney" />

<van-field required label="工日值" v-model="form.perMoney" placeholder="请输入工日值" :rules="[{ required: true , message:'请输入工日值' }]" input-align="right" :border="false" />
<van-field required label="工日值" v-model="form.perMoney" placeholder="请输入工日值" :rules="[{ required: true , message:'请输入工日值' }]" input-align="right" :border="false" type="number" @change="calcMoney" />

<van-field required label="金额(元)" type="number" v-model="form.totalMoney" placeholder="请输入金额(元)" :rules="[{ required: true , message:'请输入金额' }]" input-align="right" :border="false" />

@@ -61,6 +61,7 @@
import { addOddjob } from "@/api/sunVillage_info/fixedAssets";
import Cookies from "js-cookie";
import request from '@/utils/request'
import {FINANCE} from "@/utils/finance";
export default {
name: "certificateList",
data() {
@@ -113,7 +114,12 @@
this.jobTime = data;
this.showBuildTime = false;
},

calcMoney() {
if(this.form.workNum > 0 && this.form.perMoney > 0)
{
this.form.totalMoney = FINANCE.toNumber(FINANCE.mul(this.form.workNum, this.form.perMoney));
}
},
},
}
</script>


+ 9
- 2
src/views/sunVillage_info/list_register_edit.vue Visa fil

@@ -38,9 +38,9 @@

<van-field required label="记工员" v-model="form.workerNote" placeholder="请输入记工员" :rules="[{ required: true , message:'请输入记工员' }]" input-align="right" :border="false" />

<van-field required label="出工数" v-model="form.workNum" placeholder="请输入出工数" :rules="[{ required: true , message:'请输入出工数' }]" input-align="right" :border="false" />
<van-field required label="出工数" v-model="form.workNum" placeholder="请输入出工数" :rules="[{ required: true , message:'请输入出工数' }]" input-align="right" :border="false" type="number" @change="calcMoney" />

<van-field required label="工日值" v-model="form.perMoney" placeholder="请输入工日值" :rules="[{ required: true , message:'请输入工日值' }]" input-align="right" :border="false" />
<van-field required label="工日值" v-model="form.perMoney" placeholder="请输入工日值" :rules="[{ required: true , message:'请输入工日值' }]" input-align="right" :border="false" type="number" @change="calcMoney" />

<van-field required label="金额(元)" type="number" v-model="form.totalMoney" placeholder="请输入金额(元)" :rules="[{ required: true , message:'请输入金额' }]" input-align="right" :border="false" />

@@ -61,6 +61,7 @@
import { addOddjob , getOddjob , updateOddjob } from "@/api/sunVillage_info/fixedAssets";
import Cookies from "js-cookie";
import request from '@/utils/request'
import {FINANCE} from "@/utils/finance";
export default {
name: "certificateList",
data() {
@@ -122,6 +123,12 @@
this.jobTime = data;
this.showBuildTime = false;
},
calcMoney() {
if(this.form.workNum > 0 && this.form.perMoney > 0)
{
this.form.totalMoney = FINANCE.toNumber(FINANCE.mul(this.form.workNum, this.form.perMoney));
}
},

},
}


+ 12
- 5
src/views/sunVillage_info/list_tourists_registration_add.vue Visa fil

@@ -25,8 +25,8 @@
<van-field required :rules="[{ required: true, message: '请填写出工姓名' }]" v-model="form.workerName" label="出工姓名" placeholder="出工姓名" input-align="right" :border="false" />
<van-field required :rules="[{ required: true, message: '请填写出工事由' }]" v-model="form.workReason" label="出工事由" placeholder="出工事由" input-align="right" :border="false" />
<van-field required :rules="[{ required: true, message: '请填写记工员' }]" v-model="form.workerNote" label="记工员" placeholder="记工员" input-align="right" :border="false" />
<van-field required :rules="[{ required: true, message: '请填写出工数' }]" v-model="form.workNum" label="出工数" placeholder="出工数" input-align="right" :border="false" type="number" />
<van-field required :rules="[{ required: true, message: '请填写工日值' }]" v-model="form.perMoney" label="工日值" placeholder="工日值" input-align="right" :border="false" type="number" />
<van-field required :rules="[{ required: true, message: '请填写出工数' }]" v-model="form.workNum" label="出工数" placeholder="出工数" input-align="right" :border="false" type="number" @change="calcMoney" />
<van-field required :rules="[{ required: true, message: '请填写工日值' }]" v-model="form.perMoney" label="工日值" placeholder="工日值" input-align="right" :border="false" type="number" @change="calcMoney" />
<van-field required :rules="[{ required: true, message: '请填写金额(元)' }]" v-model="form.totalMoney" label="金额(元)" placeholder="金额(元)" input-align="right" :border="false" type="number" />

<van-field
@@ -36,7 +36,7 @@
:border="false"
>
</van-field>
<CommonUpload name="openPic" v-model="form.openPic" multiple/>
<CommonUpload name="openPic" v-model="form.openPic" accept="image/*" multiple/>

<van-field
name="openPic2"
@@ -45,7 +45,7 @@
:border="false"
>
</van-field>
<CommonUpload name="openPic2" v-model="form.openPic2" multiple/>
<CommonUpload name="openPic2" v-model="form.openPic2" accept="image/*" multiple/>

<van-field
name="openPic3"
@@ -54,7 +54,7 @@
:border="false"
>
</van-field>
<CommonUpload name="openPic3" v-model="form.openPic3" multiple/>
<CommonUpload name="openPic3" v-model="form.openPic3" accept="image/*" multiple/>

<van-field v-model="form.remark" label="备注" placeholder="备注" input-align="right" :border="false" />

@@ -72,6 +72,7 @@
import { addOddjob,updateOddjob } from "@/api/sunVillage_info/fixedAssets";
import CommonUpload from "@/components/form/CommonUpload.vue";
import FieldDatePicker from "@/components/form/FieldDatePicker.vue";
import {FINANCE} from "@/utils/finance";
export default {
name: "listTouristsRegistrationAdd",
components: {FieldDatePicker, CommonUpload},
@@ -131,6 +132,12 @@
back() {
this.$router.back();
},
calcMoney() {
if(this.form.workNum > 0 && this.form.perMoney > 0)
{
this.form.totalMoney = FINANCE.toNumber(FINANCE.mul(this.form.workNum, this.form.perMoney));
}
},
},
}
</script>


+ 3
- 3
src/views/sunVillage_info/list_tourists_registration_detail_visitor.vue Visa fil

@@ -16,13 +16,13 @@
<van-field v-model="form.totalMoney" label="金额(元)" input-align="right" :border="false" type="number" />-->

<van-field
name="openPic"
name="openPic1"
label="事前公开"
input-align="right"
:border="false"
>
</van-field>
<CommonUpload name="openPic" v-model="form.openPic" multiple :deletable="false" :show-upload="false"/>
<CommonUpload name="openPic1" v-model="form.openPic1" multiple :deletable="false" :show-upload="false"/>

<van-field
name="openPic2"
@@ -73,7 +73,7 @@
perMoney: null,
totalMoney: null,
remark: null,
openPic: null,
openPic1: null,
openPic2: null,
openPic3: null,
createBy: null,


+ 12
- 5
src/views/sunVillage_info/list_tourists_registration_edit.vue Visa fil

@@ -25,8 +25,8 @@
<van-field required :rules="[{ required: true, message: '请填写出工姓名' }]" v-model="form.workerName" label="出工姓名" placeholder="出工姓名" input-align="right" :border="false" />
<van-field required :rules="[{ required: true, message: '请填写出工事由' }]" v-model="form.workReason" label="出工事由" placeholder="出工事由" input-align="right" :border="false" />
<van-field required :rules="[{ required: true, message: '请填写记工员' }]" v-model="form.workerNote" label="记工员" placeholder="记工员" input-align="right" :border="false" />
<van-field required :rules="[{ required: true, message: '请填写出工数' }]" v-model="form.workNum" label="出工数" placeholder="出工数" input-align="right" :border="false" type="number" />
<van-field required :rules="[{ required: true, message: '请填写工日值' }]" v-model="form.perMoney" label="工日值" placeholder="工日值" input-align="right" :border="false" type="number" />
<van-field required :rules="[{ required: true, message: '请填写出工数' }]" v-model="form.workNum" label="出工数" placeholder="出工数" input-align="right" :border="false" type="number" @change="calcMoney" />
<van-field required :rules="[{ required: true, message: '请填写工日值' }]" v-model="form.perMoney" label="工日值" placeholder="工日值" input-align="right" :border="false" type="number" @change="calcMoney" />
<van-field required :rules="[{ required: true, message: '请填写金额(元)' }]" v-model="form.totalMoney" label="金额(元)" placeholder="金额(元)" input-align="right" :border="false" type="number" />

<van-field
@@ -36,7 +36,7 @@
:border="false"
>
</van-field>
<CommonUpload name="openPic" v-model="form.openPic" multiple/>
<CommonUpload name="openPic" v-model="form.openPic" accept="image/*" multiple/>

<van-field
name="openPic2"
@@ -45,7 +45,7 @@
:border="false"
>
</van-field>
<CommonUpload name="openPic2" v-model="form.openPic2" multiple/>
<CommonUpload name="openPic2" v-model="form.openPic2" accept="image/*" multiple/>

<van-field
name="openPic3"
@@ -54,7 +54,7 @@
:border="false"
>
</van-field>
<CommonUpload name="openPic3" v-model="form.openPic3" multiple/>
<CommonUpload name="openPic3" v-model="form.openPic3" accept="image/*" multiple/>

<van-field v-model="form.remark" label="备注" placeholder="备注" input-align="right" :border="false" />

@@ -72,6 +72,7 @@
import {addOddjob, getOddjob, updateOddjob} from "@/api/sunVillage_info/fixedAssets";
import CommonUpload from "@/components/form/CommonUpload.vue";
import FieldDatePicker from "@/components/form/FieldDatePicker.vue";
import {FINANCE} from "@/utils/finance";
export default {
name: "listTouristsRegistrationEdit",
components: {FieldDatePicker, CommonUpload},
@@ -143,6 +144,12 @@
back() {
this.$router.back();
},
calcMoney() {
if(this.form.workNum > 0 && this.form.perMoney > 0)
{
this.form.totalMoney = FINANCE.toNumber(FINANCE.mul(this.form.workNum, this.form.perMoney));
}
},
},
}
</script>


+ 178
- 0
src/views/sunVillage_info/otherOpen/otherOpenDetail.vue Visa fil

@@ -0,0 +1,178 @@
<template>
<div class="home_wrapper">
<div class="header_main">
{{title}}
<div class="return_btn" @click="back"></div>
</div>

<van-form ref="formData" :readonly="true">
<div class="list_main">

<van-field name="otherName" :value="form.otherName" label="公开名称" input-align="right" :border="false" />
<van-field name="openAt" :value="form.openAt" label="公开时间" input-align="right" :border="false" />

<van-field name="openContent" label="公开内容" input-align="right" :border="false" />
<div class="open-content" v-html="form.openContent"></div>

<van-field
name="openPic"
label="公开图片"
input-align="right"
:border="false"
>
</van-field>
<CommonUpload name="openPic" :value="form.openPic" multiple :deletable="false" :show-upload="false"/>

<van-field
name="openFile"
label="公开文件"
input-align="right"
:border="false"
>
</van-field>
<CommonUpload name="openFile" :value="form.openFile" multiple :deletable="false" :show-upload="false"/>

<van-field name="remake" :value="form.remark" label="备注" input-align="left" :border="false"/>

</div>

</van-form>
</div>
</template>
<script>
import CommonUpload from "@/components/form/CommonUpload.vue";
import {getOther} from "@/api/sunVillage_info/otherOpen";
export default {
name: "otherOpenDetail",
components: {CommonUpload},
data() {
return {
form: {
id: null,
bookId: null,
deptId: null,
deptName: null,
otherName: null,
otherType: '1',
openYear: null,
openAt: null,
openContent: null,
openFile: null,
openPic: null,
remark: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
},
id:'',
title: '综合公开',
};
},
created() {
this.id = this.$route.query.id;
this.getDetail();
},
methods: {
getDetail() {
if(!this.id)
{
this.back();
return;
}

getOther(this.id).then((resp) => {
this.form = resp.data;
this.getDicts('other_gk_type').then((resp) => {
const dict = resp.data.find((x) => x.dictValue == this.form.otherType);
if(dict)
this.title = dict.dictLabel;
});
});
},
back() {
this.$router.back();
},
},
}
</script>
<style scoped lang="scss">
/deep/ .van-button--primary{
background: url("../../../assets/images/sunVillage_info/btn_bg.png") no-repeat;
background-size: 100% 100%;
border: none;
}
.home_wrapper{
background: #e9e9e9;
min-height: 100vh;
width: 100vw;
.header_main {
height: 116px;
background: url('../../../assets/images/sunVillage_info/list_head.png') no-repeat;
background-size: 100% 100%;
position: fixed;
top: 0;
left: 0;
width: 100%;
font-size: 36px;
line-height: 116px;
text-align: center;
color: #fff;
position: relative;

.return_btn {
width: 24px;
height: 43.2px;
background: url('../../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat;
background-size: 20px 36px;
position: absolute;
left: 38px;
top: 36px;
}

.add_btn {
width: 56.4px;
height: 40.8px;
background: url('../../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat;
background-size: 47px 34px;
position: absolute;
right: 38px;
top: 36px;
}
}
.list_main{
padding:25px;
background: #ffffff;
width: 94%;
margin: 25px auto 0;
border-radius: 15PX;
box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1);
}
.titBox{
display: flex;
align-items: center;
}
.tit{
font-size: 36px;
font-weight: bold;
}
/deep/ .van-cell{
padding-left: 0!important;
padding-right: 0!important;
padding-bottom: 0!important;
}
/deep/ .van-field__label{
padding-left: 10PX;
width: 8.2em;
}
/deep/ .van-cell--required::before{
left: 0;
}

}

.open-content {
padding: .2rem .3rem;
max-height: 8rem;
}
</style>

+ 280
- 0
src/views/sunVillage_info/otherOpen/otherOpenEdit.vue Visa fil

@@ -0,0 +1,280 @@
<template>
<div class="home_wrapper">
<div class="header_main">
{{titlePreifx}}{{title}}
<div class="return_btn" @click="back()"></div>
</div>

<van-form ref="formData" :show-error-message="false" @submit="submit">
<div class="list_main">

<field-select
v-if="showTypeSelector"
v-model="form.otherType"
label="公开类型"
value-key="dictLabel"
data-key="dictValue"
placeholder="请选择公开类型"
:rules="rules.otherType"
required
size="large"
:columns="otherTypeOptions"/>

<van-field name="otherName" v-model="form.otherName" label="公开名称" input-align="right" required :rules="rules.otherName" placeholder="请输入公开名称" size="large" :maxlength="150"/>

<field-date-picker
name="openAt"
class="field_no-label"
v-model="form.openAt"
placeholder="请选择公开时间"
formatter="yyyy-MM-dd"
input-align="right"
type="date"
label="公开时间"
:required="true"
:rules="rules.openAt"
size="large"
/>
<van-field name="openContent" label="公开内容" size="large" :border="false"/>
<vue-html5-editor :content="content" :height="300" @change="updateData" style="margin-top: 0.2rem;"></vue-html5-editor>

<van-field
name="openPic"
label="公开图片"
input-align="right"
:border="false"
>
</van-field>
<CommonUpload name="openPic" v-model="form.openPic" accept="image/*" multiple/>

<van-field
name="openFile"
label="公开文件"
input-align="right"
:border="false"
>
</van-field>
<CommonUpload name="openFile" v-model="form.openFile" accept="*" multiple/>

<van-field name="remark" v-model="form.remark" label="备注" input-align="left" size="large" :maxlength="255" placeholder="请输入备注"/>

</div>

<div style="margin: 16px auto;width: 50%;">
<van-button round block type="primary" native-type="submit">
保存
</van-button>
</div>

</van-form>
</div>
</template>
<script>
import CommonUpload from "@/components/form/CommonUpload.vue";
import FieldDatePicker from "@/components/form/FieldDatePicker.vue";
import {Toast} from "vant";
import {addOther, getOther, updateOther} from "@/api/sunVillage_info/otherOpen";
import FieldSelect from "@/components/form/FieldSelect.vue";
export default {
name: "otherOpenEdit",
components: {FieldSelect, FieldDatePicker, CommonUpload},
data() {
return {
form: {
id: null,
bookId: null,
deptId: null,
deptName: null,
otherName: null,
otherType: null,
openYear: null,
openAt: null,
openContent: null,
openFile: null,
openPic: null,
remark: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
},
rules: {
openAt: [{message: '请选择公开时间', required: true}],
otherName: [{message: '请输入公开名称', required: true}],
otherType: [{message: '请选择公开类型', required: true}],
},
id: null,
intent: null,
content: '',
otherTypeOptions: [],
otherType: null,
title: '综合公开',
};
},
created() {
this.id = this.$route.query.id;
this.intent = this.$route.query.intent;
this.otherType = this.$route.query.otherType;
if(this.isEdit)
this.getDetail();
else
{
this.form.otherType = this.$route.query.otherType;
this.getDicts('other_gk_type').then((resp) => {
this.otherTypeOptions = resp.data;
const dict = resp.data.find((x) => x.dictValue == this.form.otherType);
if(dict)
this.title = dict.dictLabel;
});
}
},
methods: {
getDetail() {
if(!this.id)
{
this.back();
return;
}

getOther(this.id).then((resp) => {
this.form = resp.data;
this.content = this.form.openContent || '';
this.getDicts('other_gk_type').then((resp) => {
const dict = resp.data.find((x) => x.dictValue == this.form.otherType);
if(dict)
this.title = dict.dictLabel;
});
});
},
back(ti) {
if(ti > 0)
setTimeout(() => this.$router.back(), ti);
else
this.$router.back();
},
updateData(t) {
this.form.openContent = t;
},
submit() {
const loading = Toast.loading({
message: '保存中...',
duration: 0,
});
if(this.form.id)
{
updateOther(this.form).then((resp) => {
this.$notify({ type: 'success', message: '保存成功' });
this.back(1500);
}).finally(() => {
loading.clear();
});
}
else
{
addOther(this.form).then((resp) => {
this.$notify({ type: 'success', message: '新增成功' });
this.back(1500);
}).finally(() => {
loading.clear();
});
}
},
},
computed: {
isAdd() {
return this.intent === 'add';
},
isEdit() {
return this.intent === 'edit';
},
titlePreifx() {
return this.intent === 'edit' ? '编辑' : '新增';
},
showTypeSelector() {
return this.isAdd && !this.otherType;
},
},
}
</script>
<style scoped lang="scss">
/deep/ .van-button--primary{
background: url("../../../assets/images/sunVillage_info/btn_bg.png") no-repeat;
background-size: 100% 100%;
border: none;
}
.home_wrapper{
background: #e9e9e9;
min-height: 100vh;
width: 100vw;
.header_main {
height: 116px;
background: url('../../../assets/images/sunVillage_info/list_head.png') no-repeat;
background-size: 100% 100%;
position: fixed;
top: 0;
left: 0;
width: 100%;
font-size: 36px;
line-height: 116px;
text-align: center;
color: #fff;
position: relative;

.return_btn {
width: 24px;
height: 43.2px;
background: url('../../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat;
background-size: 20px 36px;
position: absolute;
left: 38px;
top: 36px;
}

.add_btn {
width: 56.4px;
height: 40.8px;
background: url('../../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat;
background-size: 47px 34px;
position: absolute;
right: 38px;
top: 36px;
}
}
.list_main{
padding:25px;
background: #ffffff;
width: 94%;
margin: 25px auto 0;
border-radius: 15PX;
box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1);
}
.titBox{
display: flex;
align-items: center;
}
.tit{
font-size: 36px;
font-weight: bold;
}
/deep/ .van-cell{
padding-left: 0!important;
padding-right: 0!important;
padding-bottom: 0!important;
}
/deep/ .van-field__label{
padding-left: 10PX;
width: 8.2em;
}
/deep/ .van-cell--required::before{
left: 0;
}

}







</style>

+ 485
- 0
src/views/sunVillage_info/otherOpen/otherOpenList.vue Visa fil

@@ -0,0 +1,485 @@
<template>
<div class="home_wrapper">
<div class="header_main"
:style="`background-image:url(${require('@/assets/images/sunVillage_info/list_head.png')})`"
>
<p class="title" @click="openTypeChooser">{{title}}</p>
<div class="return_btn" @click="back"></div>
<div class="add_btn" @click="add"></div>
</div>
<div class="record_main">
<div class="record_det">
<div class="year_l" @click="tabShow"><i :class="{'icon':true , 'zk':!showTab , 'ss':showTab } "></i>{{queryParams.openYear == '' ? '全部': queryParams.openYear}}<span class="unit">{{queryParams.openYear == '' ? '': '年'}}</span></div>
<div class="total_r">共{{total}}条公开</div>
</div>
<div class="record_list" v-if="showTab">
<div :class="{'flex_block':true , 'current':queryParams.openYear == ''}" @click="tabClick('')">全部</div>
<div v-for="(item,index) in yearList" :key="index" :class="{'flex_block':true , 'current':queryParams.openYear == item}" @click="tabClick(item)">{{item}}</div>
</div>
</div>

<div class="list_main">

<paged-list
ref="pagedList"
:page-num.sync="queryParams.pageNum"
:page-size.sync="queryParams.pageSize"
:total.sync="total"
:getListFunc="getListReq"
:reload.sync="reload"
@reload="dataList = []"
get-when-created>
<div class="item" v-for="(item,index) in dataList" :key="index" @click="viewItem(item.id)" >
<div class="info">
<div class="title">
<p class="news_title">{{item.otherName}}</p>
</div>
<div class="time">
<div class="icon_time"></div>
{{item.openAt}}
</div>
</div>
<div class="operation">
<div class="opera_btn view" @click.stop="viewItem(item.id)">
<i class="icon "></i>
</div>
<div class="opera_btn edit" @click.stop="edit(item.id)">
<i class="icon "></i>
</div>
<div class="opera_btn delete" @click.stop="remove(item.id)">
<i class="icon"></i>
</div>
</div>
</div>
</paged-list>

</div>

<van-action-sheet
v-model="showType"
:actions="otherTypeOptions"
cancel-text="取消"
close-on-click-action
@select="changeType"
/>
</div>
</template>

<script>
import PagedList from "@/components/common/PagedList.vue";
import {Dialog, Toast} from "vant";
import {delOther, listOther} from "@/api/sunVillage_info/otherOpen";
import {getLoginBook} from "@/api/sunVillage_info/fixedAssets";
export default {
name: "otherOpenList",
components: {PagedList},
data() {
return {
dataList:[],
total: 0,
queryParams:{
pageNum:1,
pageSize:10,
orderByColumn:'openAt',
isAsc:'desc',
openYear:'',
otherType: null,
},
yearList: [],
reload: false,
showTab: false,
otherTypeOptions: [],
showType: false,
};
},
created() {
this.queryParams.otherType = this.$route.query.otherType || '';
this.getDicts('other_gk_type').then((resp) => {
let arr = [];
arr.push({
dictValue: '',
dictLabel: '综合公开',
name: '全部',
});
resp.data.forEach((x) => {
x.name = x.dictLabel;
arr.push(x);
});
this.otherTypeOptions = arr;
});
getLoginBook().then((resp) => {
let startYear = new Date().getFullYear();
let thisYear = startYear;
if(resp.data.startDay)
{
startYear = parseInt(resp.data.startDay.substring(0, resp.data.startDay.indexOf('-')))
}

for (let i = thisYear ; i >= startYear ; i--){
this.yearList.push('' + i);
}
});
},
methods: {
getListReq(pageInfo) {
return new Promise((resolve, reject) => {
listOther(this.queryParams).then((response) => {
response.rows.forEach((x) => this.dataList.push(x));
resolve(response);
});
});
},
gotoViewItem(id) {
let parms = {
id: id,
intent: 'view',
};
if(this.queryParams.otherType)
parms.otherType = this.queryParams.otherType;
this.$router.push({
name: 'otherOpenDetail',
query: parms,
}).catch(() => {});
},
viewItem(id){
this.$router.replace(`/sunVillage_info/otherOpenIndex?otherType=${this.queryParams.otherType || ''}`, () => this.gotoViewItem(id), () => this.gotoViewItem(id) );
},
gotoAdd() {
let parms = {
intent: 'add',
};
if(this.queryParams.otherType)
parms.otherType = this.queryParams.otherType;
this.$router.push({
name: 'otherOpenEdit',
query: parms,
}).catch(() => {});
},
add() {
this.$router.replace(`/sunVillage_info/otherOpenIndex?otherType=${this.queryParams.otherType || ''}`, () => this.gotoAdd(), () => this.gotoAdd() );
},
gotoEdit(id) {
let parms = {
id: id,
intent: 'edit',
};
if(this.queryParams.otherType)
parms.otherType = this.queryParams.otherType;
this.$router.push({
name: 'otherOpenEdit',
query: parms,
}).catch(() => {});
},
edit(id) {
this.$router.replace(`/sunVillage_info/otherOpenIndex?otherType=${this.queryParams.otherType || ''}`, () => this.gotoEdit(id), () => this.gotoEdit(id) );
},
remove(id) {
Dialog.confirm({
title: '警告',
message: '确认删除该项?',
})
.then(() => {
const loading = Toast.loading({
message: '删除中...',
duration: 0,
});
delOther(id).then((resp) => {
this.$notify({ type: 'success', message: '删除成功' });
this.$refs.pagedList.getList();
}).finally(() => {
loading.clear();
});
})
.catch(() => {});
},
back() {
this.$router.replace('/sunVillage_info/otherOpenIndex', () => this.$router.back(), () => this.$router.back() );
},
tabClick(year){
this.queryParams.openYear = year;
this.reload = true;
},
tabShow(){
this.showTab = !this.showTab;
},
openTypeChooser() {
this.showType = true;
},
changeType(action, index) {
this.queryParams.otherType = action.dictValue;
this.reload = true;
},
},
computed: {
title() {
if(this.queryParams.otherType)
{
const dict = this.otherTypeOptions.find((x) => x.dictValue == this.queryParams.otherType);
if(dict)
return dict.dictLabel;
}
return '综合公开';
},
},
}
</script>

<style scoped lang="scss">
.home_wrapper{
background: #e9e9e9;
min-height: 100vh;
width: 100vw;
.header_main{
height: 116px;
background: url('../../../assets/images/sunVillage_info/list_head.png') no-repeat;
background-size: 100% 100%;
position: fixed;
top: 0;
left: 0;
width: 100%;
font-size: 36px;
line-height: 116px;
text-align: center;
color: #fff;
position: relative;
.return_btn{
width: 24px;
height: 43.2px;
background: url('../../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat;
background-size: 20px 36px;
position: absolute;
left: 38px;
top: 36px;
}
.add_btn{
width: 56.4px;
height: 40.8px;
background: url('../../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat;
background-size: 47px 34px;
position: absolute;
right: 38px;
top: 36px;
}

.title {
}
.title::before {
display: inline-block;
width: 24px;
height: 24px;
content: '';
background-image: url('../../../assets/images/icon/index_header_focus.png');
background-repeat: no-repeat;
background-size: contain;
margin-right: 0.2rem;
transform: rotate(
180deg
);
}
.title::after {
width: 0.32rem;
height: 0.32rem;
display: inline-block;
content: '';
background-image: url('../../../assets/images/icon/index_header_focus.png');
background-repeat: no-repeat;
background-size: contain;
margin-left: 0.2rem;
}
}
.record_main{
padding:30px 22px;
.record_det{
height: 38px;
line-height: 38px;
display: flex;
justify-content:space-between;
.year_l{
font-size: 30px;
display: flex;
align-items: center;
color: #858585;

.unit{
padding-left: 5px;
}
.icon{
width: 23px;
height: 12px;
display: block;
background: url('../../../assets/images/sunVillage_info/list_icon_1.png') no-repeat;
background-size: 100% 100%;
margin-bottom: 4px;
margin-right: 8px;
&.zk {
transform: rotate(0deg)
}
&.ss{
transform: rotate(180deg)
}

}
}
.total_r{
font-size: 26px;
letter-spacing: 2px;
}
}
.record_list{
display: flex;
flex-flow: wrap;
margin-top: 12PX;
.flex_block{
font-size: 30px;
color: #878787;
padding-right: 30px;
&.current{
color: #4199fe;
font-weight: bold;
}
}
}
}
.list_main{
padding:15px 22px;
.item{
height: 140px;
border-radius: 30px;
background: #fff;
box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1);
padding:25px 32px;
display: flex;
margin-bottom: 20px;
justify-content: space-between;
.info{
.title{
display: flex;
font-size: 32px;
align-items: center;
height: 58px;
.icon_box{
width: 34px;
display: block;
height: 30px;
background: url('../../../assets/images/sunVillage_info/list_icon_2.png') no-repeat;
background-size: 100% 100%;
margin-right: 10px;
flex-shrink: 0;
}
.news_title{
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
word-break: break-all;
overflow: hidden;
}
.tips_mark{
width: 34px;
height: 34px;
background: #fa0c0c;
border-radius: 8px;
font-size: 24px;
color: #fff;
text-align: center;
line-height: 34px;
margin-left: 10px;
flex-shrink: 0;
}
}
.time{
font-size: 24px;
color: #858585;
display: flex;
align-items: center;
height: 30px;
margin-top: 6px;
.icon_time{
width: 25px;
height: 25px;
background: url('../../../assets/images/sunVillage_info/list_icon_4.png') no-repeat;
background-size: 100% 100%;
margin-right: 10px;
}
}
}
.operation{
display: flex;
align-items: center;
justify-content: right;
text-align: right;
.opera_btn{
width: 52px;
height: 52px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content:center;

&.delete{
background:#df0707;
margin-left: 10PX;
.icon{
width: 22px;
height: 29px;
background: url('../../../assets/images/sunVillage_info/list_icon_7.png') no-repeat;
background-size: 100% 100%;
display: block;
}
}
&.edit{
background: #79cf13;
margin-left: 10PX;
.icon {
width: 26px;
height: 25px;
background: url('../../../assets/images/sunVillage_info/list_icon_6.png') no-repeat;
background-size: 100% 100%;
display: block;
}
}
&.view{
background: #3494ff;
margin-left: 10PX;
.icon {
width: 29px;
height: 21px;
background: url('../../../assets/images/sunVillage_info/list_icon_3.png') no-repeat;
background-size: 100% 100%;
display: block;
}
}
&.list{
background: #79cf13;
margin-left: 10PX;
.icon {
width: 29px;
height: 21px;
background: url('../../../assets/images/sunVillage_info/list_icon_10.png') no-repeat;
background-size: 100% 100%;
display: block;
}
}
}
}
}

}
.bottom_tips{
font-size: 24px;
color: #a7a6a6;
text-align: center;
margin-top: 32px;
background: url('../../../assets/images/sunVillage_info/list_icon_8.png') center center no-repeat;
background-size: 260px 2px;
.xs{
padding:0 8px;
background: #e9e9e9;
}
}
}
.top_head_title{
font-size: 16PX;
text-align: center;
padding: 15PX 0;
}
</style>

+ 187
- 0
src/views/sunVillage_info/otherOpen/otherOpenVisitDetail.vue Visa fil

@@ -0,0 +1,187 @@
<template>
<div class="home_wrapper">
<div class="header_main"
:style="`background-image:url(${require('@/assets/images/sunVillage_info/list_head_red.png')})`">
{{title}}
<div class="return_btn" @click="back"></div>
</div>

<van-form ref="formData" :readonly="true">
<div class="list_main">

<van-field name="otherName" :value="form.otherName" label="公开名称" input-align="right" :border="false" />
<van-field name="openAt" :value="form.openAt" label="公开时间" input-align="right" :border="false" />

<van-field name="openContent" label="公开内容" input-align="right" :border="false" />
<div class="open-content" v-html="form.openContent"></div>

<van-field
name="openPic"
label="公开图片"
input-align="right"
:border="false"
>
</van-field>
<CommonUpload name="openPic" :value="form.openPic" multiple :deletable="false" :show-upload="false"/>

<van-field
name="openFile"
label="公开文件"
input-align="right"
:border="false"
>
</van-field>
<CommonUpload name="openFile" :value="form.openFile" multiple :deletable="false" :show-upload="false"/>

<van-field name="remake" :value="form.remark" label="备注" input-align="left" :border="false"/>

</div>

</van-form>
</div>
</template>
<script>
import CommonUpload from "@/components/form/CommonUpload.vue";
import { otherOpenDetail} from "@/api/sunVillage_info/otherOpen";
import Cookies from "js-cookie";
export default {
name: "otherOpenVisitDetail",
components: {CommonUpload},
data() {
return {
form: {
id: null,
bookId: null,
deptId: null,
deptName: null,
otherName: null,
otherType: '1',
openYear: null,
openAt: null,
openContent: null,
openFile: null,
openPic: null,
remark: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
},
id:'',
title: '综合公开',
bookId: null,
};
},
created() {
this.bookId = Cookies.get('bookId');
if(!this.bookId)
{
this.back();
return;
}
this.id = this.$route.query.id;
this.getDetail();
},
methods: {
getDetail() {
if(!this.id)
{
this.back();
return;
}

otherOpenDetail(this.id).then((resp) => {
this.form = resp.data;
this.getDicts('other_gk_type').then((resp) => {
const dict = resp.data.find((x) => x.dictValue == this.form.otherType);
if(dict)
this.title = dict.dictLabel;
});
});
},
back() {
this.$router.back();
},
},
}
</script>
<style scoped lang="scss">
/deep/ .van-button--primary{
background: url("../../../assets/images/sunVillage_info/btn_bg.png") no-repeat;
background-size: 100% 100%;
border: none;
}
.home_wrapper{
background: #e9e9e9;
min-height: 100vh;
width: 100vw;
.header_main {
height: 116px;
background: url('../../../assets/images/sunVillage_info/list_head.png') no-repeat;
background-size: 100% 100%;
position: fixed;
top: 0;
left: 0;
width: 100%;
font-size: 36px;
line-height: 116px;
text-align: center;
color: #fff;
position: relative;

.return_btn {
width: 24px;
height: 43.2px;
background: url('../../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat;
background-size: 20px 36px;
position: absolute;
left: 38px;
top: 36px;
}

.add_btn {
width: 56.4px;
height: 40.8px;
background: url('../../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat;
background-size: 47px 34px;
position: absolute;
right: 38px;
top: 36px;
}
}
.list_main{
padding:25px;
background: #ffffff;
width: 94%;
margin: 25px auto 0;
border-radius: 15PX;
box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1);
}
.titBox{
display: flex;
align-items: center;
}
.tit{
font-size: 36px;
font-weight: bold;
}
/deep/ .van-cell{
padding-left: 0!important;
padding-right: 0!important;
padding-bottom: 0!important;
}
/deep/ .van-field__label{
padding-left: 10PX;
width: 8.2em;
}
/deep/ .van-cell--required::before{
left: 0;
}

}

.open-content {
padding: .2rem .3rem;
max-height: 8rem;
}
</style>

+ 441
- 0
src/views/sunVillage_info/otherOpen/otherOpenVisitList.vue Visa fil

@@ -0,0 +1,441 @@
<template>
<div class="home_wrapper">
<div class="header_main"
:style="`background-image:url(${require('@/assets/images/sunVillage_info/list_head_red.png')})`"
>
<p class="title" @click="openTypeChooser">{{title}}</p>
<div class="return_btn" @click="back"></div>
</div>
<div class="record_main">
<div class="record_det">
<div class="year_l" @click="tabShow"><i :class="{'icon':true , 'zk':!showTab , 'ss':showTab } "></i>{{queryParams.openYear == '' ? '全部': queryParams.openYear}}<span class="unit">{{queryParams.openYear == '' ? '': '年'}}</span></div>
<div class="total_r">共{{total}}条公开</div>
</div>
<div class="record_list" v-if="showTab">
<div :class="{'flex_block':true , 'current':queryParams.openYear == ''}" @click="tabClick('')">全部</div>
<div v-for="(item,index) in yearList" :key="index" :class="{'flex_block':true , 'current':queryParams.openYear == item}" @click="tabClick(item)">{{item}}</div>
</div>
</div>

<div class="list_main">

<paged-list
ref="pagedList"
:page-num.sync="queryParams.pageNum"
:page-size.sync="queryParams.pageSize"
:total.sync="total"
:getListFunc="getListReq"
:reload.sync="reload"
@reload="dataList = []"
get-when-created>
<div class="item" v-for="(item,index) in dataList" :key="index" @click="viewItem(item.id)" >
<div class="info">
<div class="title">
<p class="news_title">{{item.otherName}}</p>
</div>
<div class="time">
<div class="icon_time"></div>
{{item.openAt}}
</div>
</div>
<div class="operation">
<div class="opera_btn view" @click.stop="viewItem(item.id)">
<i class="icon "></i>
</div>
</div>
</div>
</paged-list>

</div>

<van-action-sheet
v-model="showType"
:actions="otherTypeOptions"
cancel-text="取消"
close-on-click-action
@select="changeType"
/>
</div>
</template>

<script>
import PagedList from "@/components/common/PagedList.vue";
import {Dialog, Toast} from "vant";
import { otherOpenList} from "@/api/sunVillage_info/otherOpen";
import {bookInfo, } from "@/api/sunVillage_info/fixedAssets";
import Cookies from "js-cookie";
export default {
name: "otherOpenVisitList",
components: {PagedList},
data() {
return {
dataList:[],
total: 0,
queryParams:{
pageNum:1,
pageSize:10,
orderByColumn:'openAt',
isAsc:'desc',
openYear:'',
otherType: null,
bookId: null,
deptId: null,
},
yearList: [],
reload: false,
showTab: false,
otherTypeOptions: [],
showType: false,
};
},
created() {
this.queryParams.bookId = Cookies.get('bookId');
this.queryParams.deptId = Cookies.get('deptId');
if(!this.queryParams.bookId)
{
this.back();
return;
}

this.queryParams.otherType = this.$route.query.otherType || '';
this.getDicts('other_gk_type').then((resp) => {
let arr = [];
arr.push({
dictValue: '',
dictLabel: '综合公开',
name: '全部',
});
resp.data.forEach((x) => {
x.name = x.dictLabel;
arr.push(x);
});
this.otherTypeOptions = arr;
});
bookInfo(this.queryParams.bookId).then((resp) => {
let startYear = new Date().getFullYear();
let thisYear = startYear;
if(resp.data.startDay)
{
startYear = parseInt(resp.data.startDay.substring(0, resp.data.startDay.indexOf('-')))
}

for (let i = thisYear ; i >= startYear ; i--){
this.yearList.push('' + i);
}
});
},
methods: {
getListReq(pageInfo) {
return new Promise((resolve, reject) => {
otherOpenList(this.queryParams).then((response) => {
response.rows.forEach((x) => this.dataList.push(x));
resolve(response);
});
});
},
gotoViewItem(id) {
let parms = {
id: id,
intent: 'view',
};
if(this.queryParams.otherType)
parms.otherType = this.queryParams.otherType;
this.$router.push({
name: 'otherOpenVisitDetail',
query: parms,
}).catch(() => {});
},
viewItem(id){
this.$router.replace(`/sunVillage_info/otherOpenVisitIndex?otherType=${this.queryParams.otherType || ''}`, () => this.gotoViewItem(id), () => this.gotoViewItem(id) );
},
back() {
this.$router.replace('/sunVillage_info/otherOpenVisitIndex', () => this.$router.back(), () => this.$router.back() );
},
tabClick(year){
this.queryParams.openYear = year;
this.reload = true;
},
tabShow(){
this.showTab = !this.showTab;
},
openTypeChooser() {
this.showType = true;
},
changeType(action, index) {
this.queryParams.otherType = action.dictValue;
this.reload = true;
},
},
computed: {
title() {
if(this.queryParams.otherType)
{
const dict = this.otherTypeOptions.find((x) => x.dictValue == this.queryParams.otherType);
if(dict)
return dict.dictLabel;
}
return '综合公开';
},
},
}
</script>

<style scoped lang="scss">
.home_wrapper{
background: #e9e9e9;
min-height: 100vh;
width: 100vw;
.header_main{
height: 116px;
background: url('../../../assets/images/sunVillage_info/list_head.png') no-repeat;
background-size: 100% 100%;
position: fixed;
top: 0;
left: 0;
width: 100%;
font-size: 36px;
line-height: 116px;
text-align: center;
color: #fff;
position: relative;
.return_btn{
width: 24px;
height: 43.2px;
background: url('../../../assets/images/sunVillage_info/list_icon_5.png') center center no-repeat;
background-size: 20px 36px;
position: absolute;
left: 38px;
top: 36px;
}
.add_btn{
width: 56.4px;
height: 40.8px;
background: url('../../../assets/images/sunVillage_info/list_icon_9.png') center center no-repeat;
background-size: 47px 34px;
position: absolute;
right: 38px;
top: 36px;
}

.title {
}
.title::before {
display: inline-block;
width: 24px;
height: 24px;
content: '';
background-image: url('../../../assets/images/icon/index_header_focus.png');
background-repeat: no-repeat;
background-size: contain;
margin-right: 0.2rem;
transform: rotate(
180deg
);
}
.title::after {
width: 0.32rem;
height: 0.32rem;
display: inline-block;
content: '';
background-image: url('../../../assets/images/icon/index_header_focus.png');
background-repeat: no-repeat;
background-size: contain;
margin-left: 0.2rem;
}
}
.record_main{
padding:30px 22px;
.record_det{
height: 38px;
line-height: 38px;
display: flex;
justify-content:space-between;
.year_l{
font-size: 30px;
display: flex;
align-items: center;
color: #858585;

.unit{
padding-left: 5px;
}
.icon{
width: 23px;
height: 12px;
display: block;
background: url('../../../assets/images/sunVillage_info/list_icon_1.png') no-repeat;
background-size: 100% 100%;
margin-bottom: 4px;
margin-right: 8px;
&.zk {
transform: rotate(0deg)
}
&.ss{
transform: rotate(180deg)
}

}
}
.total_r{
font-size: 26px;
letter-spacing: 2px;
}
}
.record_list{
display: flex;
flex-flow: wrap;
margin-top: 12PX;
.flex_block{
font-size: 30px;
color: #878787;
padding-right: 30px;
&.current{
color: #4199fe;
font-weight: bold;
}
}
}
}
.list_main{
padding:15px 22px;
.item{
height: 140px;
border-radius: 30px;
background: #fff;
box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1);
padding:25px 32px;
display: flex;
margin-bottom: 20px;
justify-content: space-between;
.info{
.title{
display: flex;
font-size: 32px;
align-items: center;
height: 58px;
.icon_box{
width: 34px;
display: block;
height: 30px;
background: url('../../../assets/images/sunVillage_info/list_icon_2.png') no-repeat;
background-size: 100% 100%;
margin-right: 10px;
flex-shrink: 0;
}
.news_title{
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
word-break: break-all;
overflow: hidden;
}
.tips_mark{
width: 34px;
height: 34px;
background: #fa0c0c;
border-radius: 8px;
font-size: 24px;
color: #fff;
text-align: center;
line-height: 34px;
margin-left: 10px;
flex-shrink: 0;
}
}
.time{
font-size: 24px;
color: #858585;
display: flex;
align-items: center;
height: 30px;
margin-top: 6px;
.icon_time{
width: 25px;
height: 25px;
background: url('../../../assets/images/sunVillage_info/list_icon_4.png') no-repeat;
background-size: 100% 100%;
margin-right: 10px;
}
}
}
.operation{
display: flex;
align-items: center;
justify-content: right;
text-align: right;
.opera_btn{
width: 52px;
height: 52px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content:center;

&.delete{
background:#df0707;
margin-left: 10PX;
.icon{
width: 22px;
height: 29px;
background: url('../../../assets/images/sunVillage_info/list_icon_7.png') no-repeat;
background-size: 100% 100%;
display: block;
}
}
&.edit{
background: #79cf13;
margin-left: 10PX;
.icon {
width: 26px;
height: 25px;
background: url('../../../assets/images/sunVillage_info/list_icon_6.png') no-repeat;
background-size: 100% 100%;
display: block;
}
}
&.view{
background: #3494ff;
margin-left: 10PX;
.icon {
width: 29px;
height: 21px;
background: url('../../../assets/images/sunVillage_info/list_icon_3.png') no-repeat;
background-size: 100% 100%;
display: block;
}
}
&.list{
background: #79cf13;
margin-left: 10PX;
.icon {
width: 29px;
height: 21px;
background: url('../../../assets/images/sunVillage_info/list_icon_10.png') no-repeat;
background-size: 100% 100%;
display: block;
}
}
}
}
}

}
.bottom_tips{
font-size: 24px;
color: #a7a6a6;
text-align: center;
margin-top: 32px;
background: url('../../../assets/images/sunVillage_info/list_icon_8.png') center center no-repeat;
background-size: 260px 2px;
.xs{
padding:0 8px;
background: #e9e9e9;
}
}
}
.top_head_title{
font-size: 16PX;
text-align: center;
padding: 15PX 0;
}
</style>

+ 4
- 4
src/views/sunVillage_info/registration/registrationEdit.vue Visa fil

@@ -30,7 +30,7 @@
:border="false"
>
</van-field>
<CommonUpload name="openPic1" v-model="form.openPic1" multiple/>
<CommonUpload name="openPic1" v-model="form.openPic1" accept="image/*" multiple/>

<van-field
name="openPic2"
@@ -39,7 +39,7 @@
:border="false"
>
</van-field>
<CommonUpload name="openPic2" v-model="form.openPic2" multiple/>
<CommonUpload name="openPic2" v-model="form.openPic2" accept="image/*" multiple/>

<van-field
name="openPic3"
@@ -48,7 +48,7 @@
:border="false"
>
</van-field>
<CommonUpload name="openPic3" v-model="form.openPic3" multiple/>
<CommonUpload name="openPic3" v-model="form.openPic3" accept="image/*" multiple/>

<van-field name="remark" v-model="form.remark" label="备注" input-align="left" size="large" :maxlength="255" placeholder="请输入备注"/>

@@ -69,7 +69,7 @@
import FieldDatePicker from "@/components/form/FieldDatePicker.vue";
import {Toast} from "vant";
export default {
name: "registrationDetail",
name: "registrationEdit",
components: {FieldDatePicker, CommonUpload},
data() {
return {


+ 3
- 3
src/views/yinnong/bankAgriculture/paymentApproval/approvalAdd.vue Visa fil

@@ -256,7 +256,7 @@
<van-button icon="plus" @click="addChargeItme(chargeItme.length)" size="mini" type="info" native-type="button" class="addFamily"/>
</div>

<div class="main_box" style="margin-bottom: 15px;" v-if="form.bankType==1||form.bankType==2||form.bankType==3||form.bankType==4">
<div class="main_box" style="margin-bottom: 15px;" v-if="form.bankType==1||form.bankType==2||form.bankType==3">
<van-cell title="收款账户类型" v-if="form.bankType==1">
<template #right-icon>
<van-radio-group direction="horizontal" v-model="form.accountType" @change="accountTypeChange" >
@@ -265,7 +265,7 @@
</van-radio-group>
</template>
</van-cell>
<van-cell title="行内转账" v-if="form.bankType==2||form.bankType==3||form.bankType==4" >
<van-cell title="行内转账" v-if="form.bankType==2||form.bankType==3" >
<template #right-icon>
<van-radio-group direction="horizontal" v-model="form.isPeers" @change="accountTypeChange1">
<van-radio name="Y">是</van-radio>
@@ -1242,7 +1242,7 @@
this.form.accountType = "1"
this.form.isPeers = null
this.accountTypeChange();
}else if(obj.bankType==2||obj.bankType==3||obj.bankType==4){
}else if(obj.bankType==2||obj.bankType==3){
this.form.accountType = null
this.form.isPeers = "Y"
this.accountTypeChange1();


+ 1
- 1
src/views/yinnong/bankAgriculture/paymentApproval/approvalAdd10.vue Visa fil

@@ -902,7 +902,7 @@
this.form.accountType = "1"
this.form.isPeers = null
this.accountTypeChange();
}else if(obj.bankType==2||obj.bankType==4){
}else if(obj.bankType==2||obj.bankType==3){
this.form.accountType = null
this.form.isPeers = "Y"
this.accountTypeChange1();


+ 1
- 1
src/views/yinnong/bankAgriculture/paymentApproval/approvalAdd11.vue Visa fil

@@ -1939,7 +1939,7 @@
this.form.accountType = "1"
this.form.isPeers = null
this.accountTypeChange();
}else if(obj.bankType==2||obj.bankType==4){
}else if(obj.bankType==2||obj.bankType==3){
this.form.accountType = null
this.form.isPeers = "Y"
this.accountTypeChange1();


+ 2
- 2
src/views/yinnong/bankAgriculture/paymentApproval/approvalAdd2.vue Visa fil

@@ -232,7 +232,7 @@
</van-radio-group>
</template>
</van-cell>
<van-cell title="行内转账" v-if="form.bankType==2||form.bankType==3||form.bankType==4" >
<van-cell title="行内转账" v-if="form.bankType==2||form.bankType==3" >
<template #right-icon>
<van-radio-group direction="horizontal" v-model="form.isPeers" @change="accountTypeChange1">
<van-radio name="Y">是</van-radio>
@@ -1821,7 +1821,7 @@
this.form.accountType = "1"
this.form.isPeers = null
this.accountTypeChange();
}else if(obj.bankType==2||obj.bankType==3||obj.bankType==4){
}else if(obj.bankType==2||obj.bankType==3){
console.log(obj.bankType)
this.form.accountType = null
this.form.isPeers = "Y"


+ 2
- 2
src/views/yinnong/bankAgriculture/paymentApproval/approvalAdd4.vue Visa fil

@@ -207,7 +207,7 @@
</van-radio-group>
</template>
</van-cell>
<van-cell title="行内转账" v-if="this.form.bankType == 2 || this.form.bankType == 3 || this.form.bankType == 4">
<van-cell title="行内转账" v-if="this.form.bankType == 2 || this.form.bankType == 3">
<template #right-icon>
<van-radio-group direction="horizontal" v-model="form.isPeers" @change="accountTypeChange1">
<van-radio name="Y">是</van-radio>
@@ -1014,7 +1014,7 @@
this.form.accountType = "1"
this.form.isPeers = null
this.accountTypeChange();
}else if(obj.bankType==2||obj.bankType==4){
}else if(obj.bankType==2||obj.bankType==3){
this.form.accountType = null
this.form.isPeers = "Y"
this.accountTypeChange1();


+ 1
- 1
src/views/yinnong/bankAgriculture/paymentApproval/approvalApproval.vue Visa fil

@@ -60,7 +60,7 @@

<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" />
<van-field readonly label="行内转账" v-if="form.bankType==2||form.bankType==3" v-model="form.isPeers == 'Y' ? '是':'否'" input-align="right" label-width="auto" />

</div>



+ 1
- 1
src/views/yinnong/bankAgriculture/paymentApproval/approvalDetail.vue Visa fil

@@ -64,7 +64,7 @@
<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"
<van-field readonly label="行内转账" v-if="form.bankType==2||form.bankType==3"
v-model="form.isPeers == 'Y' ? '是':'否'" input-align="right" label-width="auto"/>

</div>


+ 1
- 1
src/views/yinnong/bankAgriculture/paymentApproval/approvalDetail4.vue Visa fil

@@ -58,7 +58,7 @@

<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" />
<van-field readonly label="行内转账" v-if="form.bankType==2||form.bankType==3" v-model="form.isPeers == 'Y' ? '是':'否'" input-align="right" label-width="auto" />

</div>



+ 2
- 2
src/views/yinnong/bankAgriculture/paymentApproval/approvalModify.vue Visa fil

@@ -275,7 +275,7 @@
</van-radio-group>
</template>
</van-cell>
<van-cell title="行内转账" v-if="form.bankType==2||form.bankType==3||form.bankType==4">
<van-cell title="行内转账" v-if="form.bankType==2||form.bankType==3">
<template #right-icon>
<van-radio-group direction="horizontal" v-model="form.isPeers" @change="accountTypeChange1">
<van-radio name="Y">是</van-radio>
@@ -1187,7 +1187,7 @@
this.form.accountType = "1"
this.form.isPeers = null
this.accountTypeChange();
} else if (obj.bankType == 2 || obj.bankType == 4) {
} else if (obj.bankType == 2 || obj.bankType == 3) {
this.form.accountType = null
this.form.isPeers = "Y"
this.accountTypeChange1();


+ 1
- 1
src/views/yinnong/bankAgriculture/paymentApproval/approvalModify11.vue Visa fil

@@ -2288,7 +2288,7 @@
this.form.accountType = "1"
this.form.isPeers = null
this.accountTypeChange();
}else if(obj.bankType==2||obj.bankType==4){
}else if(obj.bankType==2||obj.bankType==3){
this.form.accountType = null
this.form.isPeers = "Y"
this.accountTypeChange1();


+ 2
- 2
src/views/yinnong/bankAgriculture/paymentApproval/approvalModify2.vue Visa fil

@@ -229,7 +229,7 @@
</van-radio-group>
</template>
</van-cell>
<van-cell title="行内转账" v-if="form.bankType==2||form.bankType==3||form.bankType==4" >
<van-cell title="行内转账" v-if="form.bankType==2||form.bankType==3" >
<template #right-icon>
<van-radio-group direction="horizontal" v-model="form.isPeers" @change="accountTypeChange1">
<van-radio name="Y">是</van-radio>
@@ -1741,7 +1741,7 @@
this.form.accountType = "1"
this.form.isPeers = null
this.accountTypeChange();
}else if(obj.bankType==2||obj.bankType==3||obj.bankType==4){
}else if(obj.bankType==2||obj.bankType==3){
console.log(obj.bankType)
this.form.accountType = null
this.form.isPeers = "Y"


+ 2
- 2
src/views/yinnong/bankAgriculture/paymentApproval/approvalModify4.vue Visa fil

@@ -207,7 +207,7 @@
</van-radio-group>
</template>
</van-cell>
<van-cell title="行内转账" v-if="form.bankType==2||form.bankType==4">
<van-cell title="行内转账" v-if="form.bankType==2||form.bankType==3">
<template #right-icon>
<van-radio-group direction="horizontal" v-model="form.isPeers" @change="accountTypeChange1">
<van-radio name="Y">是</van-radio>
@@ -994,7 +994,7 @@
this.form.accountType = "1"
this.form.isPeers = null
this.accountTypeChange();
}else if(obj.bankType==2||obj.bankType==4){
}else if(obj.bankType==2||obj.bankType==3){
this.form.accountType = null
this.form.isPeers = "Y"
this.accountTypeChange1();


+ 1
- 1
src/views/yinnong/bankAgriculture/paymentApproval/approvalModify5.vue Visa fil

@@ -174,7 +174,7 @@
</van-radio-group>
</template>
</van-cell>
<van-cell title="行内转账" v-if="form.bankType==2||form.bankType==4">
<van-cell title="行内转账" v-if="form.bankType==2||form.bankType==3">
<template #right-icon>
<van-radio-group direction="horizontal" v-model="form.isPeers">
<van-radio name="Y">是</van-radio>


+ 1
- 1
src/views/yinnong/bankAgriculture/paymentApproval/majorIssues.vue Visa fil

@@ -901,7 +901,7 @@
this.form.accountType = "1"
this.form.isPeers = null
this.accountTypeChange();
}else if(obj.bankType==2||obj.bankType==4){
}else if(obj.bankType==2||obj.bankType==3){
this.form.accountType = null
this.form.isPeers = "Y"
this.accountTypeChange1();


+ 1
- 0
src/views/yinnong/doneCompleted/completedNew.vue Visa fil

@@ -129,6 +129,7 @@
getListReq(pageInfo) {
//console.log(pageInfo, this.queryParams.pageNum, this.queryParams.pageSize);
return new Promise((resolve, reject) => {
this.$set(this.queryParams, "deptId", this.$store.state.user.deptId);
A_myTodoList(this.queryParams).then((response) => {
//console.info(_this.taskList.length)
response.rows.forEach(res => {


+ 4
- 1
src/views/yinnong/doneCompleted/doneNew.vue Visa fil

@@ -83,6 +83,8 @@
queryParams: {
pageNum: 1,
pageSize: 10,
systemType: null,
deptId: null,
},
activityBusinessTypeOptions:[],
images:['../../../../static/images/yinnong/banner_02.jpg'],
@@ -114,7 +116,8 @@
}
},
getListReq(pageInfo) {
//console.log(pageInfo, this.queryParams.pageNum, this.queryParams.pageSize);
//console.log(pageInfo, this.queryParams.pageNum, this.queryParams.pageSize)
this.$set(this.queryParams, "deptId", this.$store.state.user.deptId);
return new Promise((resolve, reject) => {
A_myDoneList(this.queryParams).then((response) => {
//console.info(_this.taskList.length)


+ 1
- 1
src/views/yinnong/my.vue Visa fil

@@ -25,7 +25,7 @@
<div class="flex_block">
<p>已办</p>
<p>{{doneTotal}}</p>
<p>完成的待办审批事项</p>
<p>完成的待办审批事项</p>
</div>
</div>



Laddar…
Avbryt
Spara