Explorar el Código

Merge branch 'rongxin_dev' into jingqu

# Conflicts:
#	src/views/project/signUp.vue
jingqu
张泽亮 hace 4 meses
padre
commit
2f4f7639f8
Se han modificado 100 ficheros con 15282 adiciones y 567 borrados
  1. +1
    -1
      config/index.js
  2. +4
    -2
      index.html
  3. +4
    -5
      src/api/onlineHome/bankAgriculture/paymentApproval.js
  4. +1
    -0
      src/api/onlineHome/villageAffairs.js
  5. +263
    -0
      src/api/sunVillage_info/fixedAssets.js
  6. +98
    -0
      src/api/sunVillage_info/three.js
  7. BIN
      src/assets/images/location/mark.png
  8. BIN
      src/assets/images/sunVillage_info/index_block_28.png
  9. BIN
      src/assets/images/sunVillage_info/index_block_29.png
  10. BIN
      src/assets/images/sunVillage_info/index_block_30.png
  11. BIN
      src/assets/images/sunVillage_info/index_block_31.png
  12. BIN
      src/assets/images/sunVillage_info/index_code_btn_16.png
  13. BIN
      src/assets/images/sunVillage_info/index_code_btn_17.png
  14. BIN
      src/assets/images/sunVillage_info/index_code_btn_18.png
  15. BIN
      src/assets/images/sunVillage_info/index_code_btn_19.png
  16. +151
    -2
      src/components/Map/MapGisLine.vue
  17. +150
    -1
      src/components/Map/MapGisTagDTGCopy.vue
  18. +219
    -0
      src/components/common/Selector.vue
  19. +24
    -0
      src/permission.js
  20. +306
    -0
      src/router/index.js
  21. +1
    -1
      src/views/policy/policyDetail.vue
  22. +212
    -0
      src/views/policy/policyPDF.vue
  23. +11
    -5
      src/views/project/signUp.vue
  24. +3
    -0
      src/views/sunVillage_info/bankAgriculture/bankOfDeposit/bankOfDepositAdd.vue
  25. +4
    -0
      src/views/sunVillage_info/bankAgriculture/bankOfDeposit/bankOfDepositModify.vue
  26. +4
    -2
      src/views/sunVillage_info/bankAgriculture/collectionAccount/collectionAdd.vue
  27. +1
    -0
      src/views/sunVillage_info/bankAgriculture/collectionAccount/collectionDetail.vue
  28. +4
    -2
      src/views/sunVillage_info/bankAgriculture/collectionAccount/collectionModify.vue
  29. +81
    -68
      src/views/sunVillage_info/bankAgriculture/paymentAccount/paymentAccountAdd.vue
  30. +20
    -2
      src/views/sunVillage_info/bankAgriculture/paymentAccount/paymentAccountList.vue
  31. +68
    -18
      src/views/sunVillage_info/bankAgriculture/paymentAccount/paymentAccountModify.vue
  32. +5
    -3
      src/views/sunVillage_info/bankAgriculture/paymentApproval/approvalAdd.vue
  33. +9
    -6
      src/views/sunVillage_info/bankAgriculture/paymentApproval/approvalAdd13.vue
  34. +22
    -24
      src/views/sunVillage_info/bankAgriculture/paymentApproval/approvalApproval13.vue
  35. +41
    -126
      src/views/sunVillage_info/bankAgriculture/paymentApproval/approvalDetail13.vue
  36. +1
    -4
      src/views/sunVillage_info/bankAgriculture/paymentApproval/approvalList13.vue
  37. +5
    -3
      src/views/sunVillage_info/bankAgriculture/paymentApproval/approvalModify.vue
  38. +53
    -24
      src/views/sunVillage_info/bankAgriculture/paymentApproval/approvalModify13.vue
  39. +59
    -54
      src/views/sunVillage_info/bankAgriculture/paymentApproval/collectionAdd.vue
  40. +57
    -53
      src/views/sunVillage_info/bankAgriculture/paymentApproval/collectionAdd2.vue
  41. +5
    -3
      src/views/sunVillage_info/bankAgriculture/paymentApproval/collectionApprovalAdd.vue
  42. +87
    -12
      src/views/sunVillage_info/fixedAssets.vue
  43. +72
    -18
      src/views/sunVillage_info/fixedAssetsAdd.vue
  44. +1
    -2
      src/views/sunVillage_info/fixedAssetsEdit.vue
  45. +10
    -10
      src/views/sunVillage_info/index.vue
  46. +3
    -1
      src/views/sunVillage_info/index_code.vue
  47. +14
    -10
      src/views/sunVillage_info/index_code_rights.vue
  48. +254
    -0
      src/views/sunVillage_info/index_code_rights_new.vue
  49. +62
    -32
      src/views/sunVillage_info/list_cbfsq.vue
  50. +39
    -6
      src/views/sunVillage_info/list_contract_ranking.vue
  51. +427
    -0
      src/views/sunVillage_info/list_discussions_new.vue
  52. +423
    -0
      src/views/sunVillage_info/list_discussions_new_add.vue
  53. +172
    -0
      src/views/sunVillage_info/list_discussions_new_detail.vue
  54. +453
    -0
      src/views/sunVillage_info/list_discussions_new_edit.vue
  55. +434
    -0
      src/views/sunVillage_info/list_finance_new.vue
  56. +614
    -0
      src/views/sunVillage_info/list_finance_new_add.vue
  57. +338
    -0
      src/views/sunVillage_info/list_finance_new_detail.vue
  58. +667
    -0
      src/views/sunVillage_info/list_finance_new_edit.vue
  59. +379
    -0
      src/views/sunVillage_info/list_issues_zy.vue
  60. +362
    -0
      src/views/sunVillage_info/list_issues_zy_add.vue
  61. +271
    -0
      src/views/sunVillage_info/list_issues_zy_detail.vue
  62. +399
    -0
      src/views/sunVillage_info/list_issues_zy_edit.vue
  63. +482
    -0
      src/views/sunVillage_info/list_operatingAssets.vue
  64. +193
    -0
      src/views/sunVillage_info/list_operatingAssets_detail.vue
  65. +198
    -0
      src/views/sunVillage_info/list_operatingAssets_detail2.vue
  66. +427
    -0
      src/views/sunVillage_info/list_process.vue
  67. +163
    -0
      src/views/sunVillage_info/list_process_detail.vue
  68. +1
    -1
      src/views/sunVillage_info/list_property_ranking.vue
  69. +1
    -1
      src/views/sunVillage_info/list_resources_ranking.vue
  70. +470
    -0
      src/views/sunVillage_info/list_revenueAndExpenditure.vue
  71. +413
    -0
      src/views/sunVillage_info/list_special.vue
  72. +349
    -0
      src/views/sunVillage_info/list_special_add.vue
  73. +173
    -0
      src/views/sunVillage_info/list_special_detail.vue
  74. +199
    -0
      src/views/sunVillage_info/list_special_detail_vote.vue
  75. +371
    -0
      src/views/sunVillage_info/list_special_edit.vue
  76. +2
    -1
      src/views/sunVillage_info/login.vue
  77. +7
    -2
      src/views/sunVillage_info/login_code.vue
  78. +337
    -0
      src/views/sunVillage_info/login_code_new.vue
  79. +1
    -5
      src/views/sunVillage_info/login_farmer.vue
  80. +178
    -0
      src/views/sunVillage_info/otherOpenNew/otherOpenDetail.vue
  81. +280
    -0
      src/views/sunVillage_info/otherOpenNew/otherOpenEdit.vue
  82. +485
    -0
      src/views/sunVillage_info/otherOpenNew/otherOpenList.vue
  83. +194
    -0
      src/views/sunVillage_info/otherOpenNew/otherOpenVisitDetail.vue
  84. +441
    -0
      src/views/sunVillage_info/otherOpenNew/otherOpenVisitList.vue
  85. +87
    -15
      src/views/sunVillage_info/resource.vue
  86. +13
    -1
      src/views/sunVillage_info/resourceAdd.vue
  87. +11
    -0
      src/views/sunVillage_info/resourceDetail.vue
  88. +14
    -1
      src/views/sunVillage_info/resourceEdit.vue
  89. +226
    -0
      src/views/sunVillage_info/special_vote.vue
  90. +215
    -0
      src/views/sunVillage_info/special_vote_detail.vue
  91. +553
    -0
      src/views/sunVillage_info/three.vue
  92. +417
    -0
      src/views/sunVillage_info/threeAdd.vue
  93. +392
    -0
      src/views/sunVillage_info/threeDetail.vue
  94. +464
    -0
      src/views/sunVillage_info/threeEdit.vue
  95. +136
    -32
      src/views/yinnong/bankAgriculture/bankOfDeposit/bankOfDepositAdd.vue
  96. +4
    -0
      src/views/yinnong/bankAgriculture/bankOfDeposit/bankOfDepositModify.vue
  97. +5
    -3
      src/views/yinnong/bankAgriculture/collectionAccount/collectionAdd.vue
  98. +1
    -0
      src/views/yinnong/bankAgriculture/collectionAccount/collectionDetail.vue
  99. +5
    -3
      src/views/yinnong/bankAgriculture/collectionAccount/collectionModify.vue
  100. +6
    -2
      src/views/yinnong/bankAgriculture/paymentAccount/paymentAccountAdd.vue

+ 1
- 1
config/index.js Ver fichero

@@ -12,7 +12,7 @@ module.exports = {
proxyTable: { proxyTable: {
"/api": { "/api": {
// 请求的目标主机 // 请求的目标主机
// target: 'http://218.59.175.44:8082/nsgk_test/', // 公网测试环境
//target: 'http://218.59.175.44:8082/nsgk_test/', // 公网测试环境
// target: `http://192.168.0.116:8091/nsgk_api/`, // 内网测试环境 // target: `http://192.168.0.116:8091/nsgk_api/`, // 内网测试环境
target: 'http://localhost:8080/', target: 'http://localhost:8080/',
//target: 'http://192.168.0.106:8080/', //target: 'http://192.168.0.106:8080/',


+ 4
- 2
index.html Ver fichero

@@ -3,8 +3,10 @@


<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<meta name="viewport"
content="width=device-width,initial-scale=1,user-scalable=0,minimum-scale=1.0,maximum=scale=1.0" />
<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=0,minimum-scale=1.0,maximum=scale=1.0" />
<!--<meta http-equiv="cache-control" content="no-cache, must-revalidate, post-check=0, pre-check=0">
<meta http-equiv="expires" content="0">
<meta http-equiv="pragma" content="no-cache">-->
<link rel="shortcut icon" type="image/x-icon" href="static/favicon.ico"> <link rel="shortcut icon" type="image/x-icon" href="static/favicon.ico">
<script src="/static/js/ol.js"></script> <script src="/static/js/ol.js"></script>
<!-- <script type="text/javascript" src="http://api.tianditu.gov.cn/api?v=4.0&tk=c78ca1c13e82e1cdd64ef9d8cdbbb237"></script>--> <!-- <script type="text/javascript" src="http://api.tianditu.gov.cn/api?v=4.0&tk=c78ca1c13e82e1cdd64ef9d8cdbbb237"></script>-->


+ 4
- 5
src/api/onlineHome/bankAgriculture/paymentApproval.js Ver fichero

@@ -449,15 +449,14 @@ export function addMajorevent(data) {
export function customSubmitMajorevent(id) { export function customSubmitMajorevent(id) {
return request({ return request({
url: '/yinnong/majorevent/customSubmitNew/' + id, url: '/yinnong/majorevent/customSubmitNew/' + id,
method: 'post'
method: 'get'
}) })
} }
// 撤回 // 撤回
export function updateTYinnongMajoreventFoStatus(data) {
export function updateTYinnongMajoreventFoStatus(id) {
return request({ return request({
url: '/yinnong/majorevent/updateTYinnongMajoreventFoStatus',
method: 'post',
data: data
url: '/yinnong/majorevent/updateTYinnongMajoreventFoStatus/' + id,
method: 'get'
}) })
} }
// 查询重大事项申请详细 // 查询重大事项申请详细


+ 1
- 0
src/api/onlineHome/villageAffairs.js Ver fichero

@@ -19,6 +19,7 @@ export function getVillageAffairs(id) {


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


+ 263
- 0
src/api/sunVillage_info/fixedAssets.js Ver fichero

@@ -279,6 +279,45 @@ export function majorEventPublicList(query) {
params: query params: query
}) })
} }
// 重要事项公开列表
export function importantList(query) {
return request({
url: '/open/villageAffairs/public/importantList',
method: 'get',
params: query
})
}
// 重要事项公开详情
export function importantDetail(query) {
return request({
url: '/open/villageAffairs/public/importantDetail',
method: 'get',
params: query
})
}
// 重要事项公开新增
export function subcontractAdd(data) {
return request({
url: '/subcontract/event/add',
method: 'post',
data: data
})
}
// 重要事项公开修改
export function subcontractEdit(data) {
return request({
url: '/subcontract/event/edit',
method: 'post',
data: data
})
}
// 重要事项公开删除
export function subcontractRemove(id) {
return request({
url: '/subcontract/event/remove/' + id,
method: 'get'
})
}
// 财务公开详情 // 财务公开详情
export function financePublicDetail(query) { export function financePublicDetail(query) {
return request({ return request({
@@ -1219,3 +1258,227 @@ export const assetLiabilityReportByExpTpl = (data) => {
params: data params: data
}) })
} }

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

// 查询四议两公开列表
export function listSiyigongkai(query) {
return request({
url: '/subcontract/siyigongkai/list',
method: 'get',
params: query
})
}

// 查询四议两公开列表
export function listOtherOpen(query) {
return request({
url: '/open/villageAffairs/public/otherPublicList',
method: 'get',
params: query
})
}

// 查询四议两公开列表
export function listSiyigongkaiOpen(query) {
return request({
url: '/open/villageAffairs/public/siyigongkaiList',
method: 'get',
params: query
})
}

// 查询四议两公开详细
export function otherPublicDetailN(id) {
return request({
url: '/open/villageAffairs/public/otherPublicDetail?id=' + id,
method: 'get'
})
}

// 查询四议两公开详细
export function otherPublicDetailOpen(id) {
return request({
url: '/open/villageAffairs/public/otherPublicDetail?id=' + id,
method: 'get'
})
}

// 查询四议两公开详细
export function getSiyigongkai(id) {
return request({
url: '/subcontract/siyigongkai/get/' + id,
method: 'get'
})
}

// 查询四议两公开详细
export function getSiyigongkaiOpen(id, bookId) {
return request({
url: '/open/villageAffairs/public/siyigongkaiDetail',
method: 'get',
params: { id, bookId }
})
}

// 修改四议两公开
export function updateSiyigongkai(data) {
return request({
url: '/subcontract/siyigongkai/edit',
method: 'post',
data: data
})
}

// 新增四议两公开
export function addSiyigongkai(data) {
return request({
url: '/subcontract/siyigongkai/add',
method: 'post',
data: data
})
}

// 删除四议两公开
export function delSiyigongkai(id) {
return request({
url: '/subcontract/siyigongkai/remove/' + id,
method: 'get'
})
}

// 查询四议两公开列表
export function specialPublicityList(query) {
return request({
url: '/open/villageAffairs/public/specialPublicityList',
method: 'get',
params: query
})
}

// 查询四议两公开列表
export function specialPublicityDetail(query) {
return request({
url: '/open/villageAffairs/public/specialPublicityDetail',
method: 'get',
params: query
})
}
// 查询四议表决详情
export function specialPublicityVote(query) {
return request({
url: '/open/villageAffairs/public/specialVote',
method: 'get',
params: query
})
}
// 新增表决记录
export function votedetailAdd(data) {
return request({
url: '/open/villageAffairs/public/votedetailAdd',
method: 'post',
data: data
})
}

// 查询四议两公开列表
export function addReadCount(query) {
return request({
url: '/open/villageAffairs/public/addReadCount',
method: 'get',
params: query
})
}

// 查询四议两公开列表
export function specialPublicityEdit(data) {
return request({
url: '/subcontract/publicity/edit',
method: 'post',
data: data
})
}

// 查询四议两公开列表
export function specialPublicityAdd(data) {
return request({
url: '/subcontract/publicity/add',
method: 'post',
data: data
})
}

// 删除四议两公开
export function specialPublicityRemove(id) {
return request({
url: '/subcontract/publicity/remove/' + id,
method: 'get'
})
}

// 查询四议两公开列表
export function updateSpecialPublicityCount(query) {
return request({
url: '/open/villageAffairs/public/updateSpecialPublicityCount',
method: 'get',
params: query
})
}

// 收支明细公开
export function financialPublicDetailReport(query) {
return request({
url: '/open/finance/financialPublicDetailReport',
method: 'get',
params: query
})
}


// 收支明细公开
export function jyxzcqkgkList(query) {
return request({
url: '/open/asset/jyxzcqkgk/list',
method: 'get',
params: query
})
}

// 收支明细公开
export function jyxzyqkgkList(query) {
return request({
url: '/open/assetresource/jyxzyqkgk/list',
method: 'get',
params: query
})
}

export function jyxzcqkgkDetail(id) {
return request({
url: '/open/asset/jyxzcqkgk/detail/' + id,
method: 'get'
})
}

export function jyxzyqkgkDetail(id) {
return request({
url: '/open/assetresource/jyxzyqkgk/detail/' + id,
method: 'get'
})
}

// 收支明细公开
export function webList(query) {
return request({
url: '/open/typz/list',
method: 'get',
params: query
})
}

+ 98
- 0
src/api/sunVillage_info/three.js Ver fichero

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

// 查询三清台账列表
export function listThree(query) {
return request({
url: '/asset/three/list',
method: 'get',
params: query
})
}

// 统计查询三清台账列表
export function statisticThree(query) {
return request({
url: '/asset/three/statistic',
method: 'get',
params: query
})
}

// 导出三清台账
export function exportThree(query) {
return request({
url: '/asset/three/export',
method: 'get',
params: query
})
}

// 查询三清台账详细
export function getThree(id) {
return request({
url: '/asset/three/get/' + id,
method: 'get',
params: arguments[1] || {}
})
}

// 新增三清台账
export function addThree(data) {
return request({
url: '/asset/three/add',
method: 'post',
data: data
})
}

// 修改三清台账
export function updateThree(data) {
return request({
url: '/asset/three/edit',
method: 'post',
data: data
})
}

// 删除三清台账
export function delThree(id) {
return request({
url: '/asset/three/remove/' + id,
method: 'get'
})
}

// 清空空间字段
export function clearThreeGeom(id) {
return request({
url: '/asset/three/clear/' + id,
method: 'get',
})
}
//上传全局方法附件
export function commonAttach(data) {
return request({
url: '/common/attach',
method: 'post',
header: { "Content-Type": 'application/x-www-form-urlencoded' },
data: data
})
}
//查询已上传附件
export const attachmentList = (data) => {
return request({
url: '/system/attachment/query',
method: 'get',
params: data
})
}
//删除已上传附件
export function systemAttachment(ids) {
if (ids != undefined) {
return request({
url: '/system/attachment/remove/' + ids,
method: 'get'
})
}
}


BIN
src/assets/images/location/mark.png Ver fichero

Antes Después
Anchura: 48  |  Altura: 48  |  Tamaño: 482 B

BIN
src/assets/images/sunVillage_info/index_block_28.png Ver fichero

Antes Después
Anchura: 65  |  Altura: 58  |  Tamaño: 3.5 KiB

BIN
src/assets/images/sunVillage_info/index_block_29.png Ver fichero

Antes Después
Anchura: 65  |  Altura: 58  |  Tamaño: 3.6 KiB

BIN
src/assets/images/sunVillage_info/index_block_30.png Ver fichero

Antes Después
Anchura: 65  |  Altura: 58  |  Tamaño: 2.5 KiB

BIN
src/assets/images/sunVillage_info/index_block_31.png Ver fichero

Antes Después
Anchura: 65  |  Altura: 58  |  Tamaño: 2.8 KiB

BIN
src/assets/images/sunVillage_info/index_code_btn_16.png Ver fichero

Antes Después
Anchura: 355  |  Altura: 134  |  Tamaño: 17 KiB

BIN
src/assets/images/sunVillage_info/index_code_btn_17.png Ver fichero

Antes Después
Anchura: 355  |  Altura: 134  |  Tamaño: 13 KiB

BIN
src/assets/images/sunVillage_info/index_code_btn_18.png Ver fichero

Antes Después
Anchura: 355  |  Altura: 134  |  Tamaño: 12 KiB

BIN
src/assets/images/sunVillage_info/index_code_btn_19.png Ver fichero

Antes Después
Anchura: 355  |  Altura: 134  |  Tamaño: 13 KiB

+ 151
- 2
src/components/Map/MapGisLine.vue Ver fichero

@@ -7,11 +7,12 @@
<!--<el-button :id=this.drawingPolygonMap style="background-color:#D0EEFF;color:#1E88C7" @click="" type="primary">画图</el-button>--> <!--<el-button :id=this.drawingPolygonMap style="background-color:#D0EEFF;color:#1E88C7" @click="" type="primary">画图</el-button>-->
<!--<input id="drawRemove" type="button" class="ant-btn ant-btn-red" value="取消"/>&nbsp;&nbsp;--> <!--<input id="drawRemove" type="button" class="ant-btn ant-btn-red" value="取消"/>&nbsp;&nbsp;-->
<!--<el-button :id=this.drawingPolygonMap style="background-color:#D0EEFF;color:#1E88C7" type="primary">重置图层</el-button>--> <!--<el-button :id=this.drawingPolygonMap style="background-color:#D0EEFF;color:#1E88C7" type="primary">重置图层</el-button>-->
<input :id="locationMap" type="button" class="ant-btn ant-btn-red" value="定位"/>&nbsp;&nbsp;
<input :id="this.drawingPolygonMap" class="ant-btn ant-btn-red" type="button" value="画图"/>&nbsp;&nbsp; <input :id="this.drawingPolygonMap" class="ant-btn ant-btn-red" type="button" value="画图"/>&nbsp;&nbsp;
<input :id="this.drawingResetMap" type="button" class="ant-btn ant-btn-red" value="重置图层"/> <input :id="this.drawingResetMap" type="button" class="ant-btn ant-btn-red" value="重置图层"/>
</div> </div>
</div> </div>
<div style="font-size: 13px; padding-top: 5px;">备注信息:绿色地块表示该地块,蓝色表示本账套已标记的其他地块</div>
<div style="font-size: 13px; padding-top: 5px;">备注:绿色地块表示该地块,蓝色表示本账套已标记的其他地块</div>
<div id="info" style="display: none"></div> <div id="info" style="display: none"></div>
</div> </div>
</template> </template>
@@ -31,6 +32,7 @@ export default {
uuidMap: this.guidProduct(), uuidMap: this.guidProduct(),
drawingPolygonMap: this.guidProduct(), drawingPolygonMap: this.guidProduct(),
drawingResetMap: this.guidProduct(), drawingResetMap: this.guidProduct(),
locationMap: this.guidProduct(),
mapGeoServerUrl: "", // geoserver地址 mapGeoServerUrl: "", // geoserver地址
villageBorderLayerName: "", // 乡镇边界图层名称 villageBorderLayerName: "", // 乡镇边界图层名称
}; };
@@ -72,6 +74,72 @@ export default {
return v.toString(16); return v.toString(16);
}); });
}, },
getCurrentLocation(callback) {
// 1. 首先尝试Android宿主端
if(window._Native_object) // Android层注入全局对象
{
console.log('使用Native获取定位');
let coord = window._Native_object.GetLocation(null);
console.log('Native坐标: ' + coord);
if(coord)
{
let arr = coord.split(',');
let res = {
code: 200,
data: {
lng: arr[0],
lat: arr[1],
},
};
callback(res);
return;
}
}

// 2. 再尝试浏览器
if (navigator.geolocation) {
console.log('使用浏览器获取定位');
navigator.geolocation.getCurrentPosition(
(position) => {
const { latitude, longitude } = position.coords;
let res = {
code: 200,
data: {
lng: longitude,
lat: latitude,
},
};
callback(res);
},
(error) => {
console.log('定位失败: ' + error.message);
getQueryLand().then(callback);
},
{ enableHighAccuracy: true, timeout: 5000 }
);
return;
}

// 最后使用地区坐标
console.log('使用地区坐标定位');
getQueryLand().then(callback);
},
getDeptLocation(callback) {
getQueryLand().then((response) => {
if (response.code == 200) {
let InsertCode = response.data;
if (InsertCode != null) {
var lat = InsertCode.lat;
var lng = InsertCode.lng;
if(lat !=null && lng !=null && lat !="" && lng !=""){
callback(response);
return;
}
}
}
this.getCurrentLocation(callback);
});
},
//地图查看 //地图查看
drawingPaceCountryLine() { drawingPaceCountryLine() {
//加载地图编辑 //加载地图编辑
@@ -80,6 +148,45 @@ export default {
//var hc_land; //var hc_land;
var draw; // global so we can remove it later var draw; // global so we can remove it later
var vector_drawing; var vector_drawing;

var mark_layer = null;
function addMark(lng, lat) {
if(!mark_layer)
{
mark_layer = new ol.layer.Vector({
source: new ol.source.Vector(),
});
map.addLayer(mark_layer);
}
else
mark_layer.getSource().clear();

let newFeature = new ol.Feature({
geometry: new ol.geom.Point(ol.proj.fromLonLat([lng, lat])), //几何信息
//name: "标注点",
});
newFeature.setStyle(new ol.style.Style({
image: new ol.style.Icon({
//设置图标偏移
anchor: [0.5, 0.5],
//标注样式的起点位置
anchorOrigin: "top-right",
//X方向单位:分数
anchorXUnits: "fraction",
//Y方向单位:像素
anchorYUnits: "fraction",
//偏移起点位置的方向
offsetOrigin: "top-right",
//透明度
opacity: 0.9,
//图片路径
src: require('../../assets/images/location/mark.png'),
}),
zIndex: 9999,
}));
mark_layer.getSource().addFeature(newFeature);
}

if (that.message != null && that.message != "" if (that.message != null && that.message != ""
&& that.message != undefined) { && that.message != undefined) {
document.getElementById(that.uuidMap).innerHTML = ''; document.getElementById(that.uuidMap).innerHTML = '';
@@ -297,6 +404,27 @@ export default {
that.formSubmit(); that.formSubmit();
} }
}); });
$("#" + this.locationMap).click(function () {
that.getCurrentLocation(res => {
if (res.code == 200) {
let lat = res.data.lat;
let lng = res.data.lng;
if(lat && lng){
Zb = [lng,lat];
}else {
Zb =[115.452752, 31.789033];
}
addMark(lng,lat);
map.getView().animate({
// 只设置需要的属性即可
center: ol.proj.fromLonLat(Zb), // 中心点
zoom: 18, // 缩放级别
rotation: undefined, // 缩放完成view视图旋转弧度
duration: 1000, // 缩放持续时间,默认不需要设置
});
}
});
});
} else{ } else{
//this.closeMoule = null; //this.closeMoule = null;
document.getElementById(that.uuidMap).innerHTML = ''; document.getElementById(that.uuidMap).innerHTML = '';
@@ -326,7 +454,7 @@ export default {
}); });
//获取坐标是否存在 //获取坐标是否存在
var Zb; var Zb;
getQueryLand().then((response) => {
this.getDeptLocation((response) => {
if (response.code == 200) { if (response.code == 200) {
let InsertCode = response.data; let InsertCode = response.data;
if (InsertCode != null) { if (InsertCode != null) {
@@ -442,6 +570,27 @@ export default {
//that.closeMoule = null; //that.closeMoule = null;
that.formSubmit(); that.formSubmit();
}); });
$("#" + this.locationMap).click(function () {
that.getCurrentLocation(res => {
if (res.code == 200) {
let lat = res.data.lat;
let lng = res.data.lng;
if(lat && lng){
Zb = [lng,lat];
}else {
Zb =[115.452752, 31.789033];
}
addMark(lng,lat);
map.getView().animate({
// 只设置需要的属性即可
center: ol.proj.fromLonLat(Zb), // 中心点
zoom: 18, // 缩放级别
rotation: undefined, // 缩放完成view视图旋转弧度
duration: 1000, // 缩放持续时间,默认不需要设置
});
}
});
});
} }
}, },
}, },


+ 150
- 1
src/components/Map/MapGisTagDTGCopy.vue Ver fichero

@@ -3,6 +3,7 @@
<div id="full-screen-acceptance" style="width: 100%;height:71vh;"> <div id="full-screen-acceptance" style="width: 100%;height:71vh;">
<div :id=this.uuidMap style="width: 100%;height: 100%"></div> <div :id=this.uuidMap style="width: 100%;height: 100%"></div>
<div id='land-btn-wrap' v-show="showBtn"> <div id='land-btn-wrap' v-show="showBtn">
<input :id="locationMap" type="button" class="ant-btn ant-btn-red" value="定位"/>&nbsp;&nbsp;
<input :id="this.drawPolygonMap" class="ant-btn ant-btn-red" type="button" value="标记"/>&nbsp;&nbsp; <input :id="this.drawPolygonMap" class="ant-btn ant-btn-red" type="button" value="标记"/>&nbsp;&nbsp;
<!--<input id="drawRemove" type="button" class="ant-btn ant-btn-red" value="取消"/>&nbsp;&nbsp;--> <!--<input id="drawRemove" type="button" class="ant-btn ant-btn-red" value="取消"/>&nbsp;&nbsp;-->
<input :id="this.drawResetMap" type="button" class="ant-btn ant-btn-red" value="重置标记"/> <input :id="this.drawResetMap" type="button" class="ant-btn ant-btn-red" value="重置标记"/>
@@ -27,6 +28,7 @@
uuidMap: this.guidProduct(), uuidMap: this.guidProduct(),
drawPolygonMap: this.guidProduct(), drawPolygonMap: this.guidProduct(),
drawResetMap: this.guidProduct(), drawResetMap: this.guidProduct(),
locationMap: this.guidProduct(),
mapGeoServerUrl: "", // geoserver地址 mapGeoServerUrl: "", // geoserver地址
villageBorderLayerName: "", // 乡镇边界图层名称 villageBorderLayerName: "", // 乡镇边界图层名称
}; };
@@ -68,6 +70,72 @@
return v.toString(16); return v.toString(16);
}); });
}, },
getCurrentLocation(callback) {
// 1. 首先尝试Android宿主端
if(window._Native_object) // Android层注入全局对象
{
console.log('使用Native获取定位');
let coord = window._Native_object.GetLocation(null);
console.log('Native坐标: ' + coord);
if(coord)
{
let arr = coord.split(',');
let res = {
code: 200,
data: {
lng: arr[0],
lat: arr[1],
},
};
callback(res);
return;
}
}

// 2. 再尝试浏览器
if (navigator.geolocation) {
console.log('使用浏览器获取定位');
navigator.geolocation.getCurrentPosition(
(position) => {
const { latitude, longitude } = position.coords;
let res = {
code: 200,
data: {
lng: longitude,
lat: latitude,
},
};
callback(res);
},
(error) => {
console.log('定位失败: ' + error.message);
getQueryLand().then(callback);
},
{ enableHighAccuracy: true, timeout: 5000 }
);
return;
}

// 最后使用地区坐标
console.log('使用地区坐标定位');
getQueryLand().then(callback);
},
getDeptLocation(callback) {
getQueryLand().then((response) => {
if (response.code == 200) {
let InsertCode = response.data;
if (InsertCode != null) {
var lat = InsertCode.lat;
var lng = InsertCode.lng;
if(lat !=null && lng !=null && lat !="" && lng !=""){
callback(response);
return;
}
}
}
this.getCurrentLocation(callback);
});
},
//地图查看 //地图查看
pointPaceCountryDarw() { pointPaceCountryDarw() {
//加载地图编辑 //加载地图编辑
@@ -76,6 +144,45 @@
//var hc_land; //var hc_land;
var draw; // global so we can remove it later var draw; // global so we can remove it later
var vector_drawing; var vector_drawing;

var mark_layer = null;
function addMark(lng, lat) {
if(!mark_layer)
{
mark_layer = new ol.layer.Vector({
source: new ol.source.Vector(),
});
map.addLayer(mark_layer);
}
else
mark_layer.getSource().clear();

let newFeature = new ol.Feature({
geometry: new ol.geom.Point(ol.proj.fromLonLat([lng, lat])), //几何信息
//name: "标注点",
});
newFeature.setStyle(new ol.style.Style({
image: new ol.style.Icon({
//设置图标偏移
anchor: [0.5, 0.5],
//标注样式的起点位置
anchorOrigin: "top-right",
//X方向单位:分数
anchorXUnits: "fraction",
//Y方向单位:像素
anchorYUnits: "fraction",
//偏移起点位置的方向
offsetOrigin: "top-right",
//透明度
opacity: 0.9,
//图片路径
src: require('../../assets/images/location/mark.png'),
}),
zIndex: 9999,
}));
mark_layer.getSource().addFeature(newFeature);
}

//矢量标注样式设置函数,设置image为图标ol.style.Icon //矢量标注样式设置函数,设置image为图标ol.style.Icon
function createLabelStyle() { function createLabelStyle() {
return new ol.style.Style({ return new ol.style.Style({
@@ -337,6 +444,27 @@
that.formSubmit(); that.formSubmit();
} }
}); });
$("#" + this.locationMap).click(function () {
that.getCurrentLocation(res => {
if (res.code == 200) {
let lat = res.data.lat;
let lng = res.data.lng;
if(lat && lng){
Zb = [lng,lat];
}else {
Zb =[115.452752, 31.789033];
}
addMark(lng,lat);
map.getView().animate({
// 只设置需要的属性即可
center: ol.proj.fromLonLat(Zb), // 中心点
zoom: 18, // 缩放级别
rotation: undefined, // 缩放完成view视图旋转弧度
duration: 1000, // 缩放持续时间,默认不需要设置
});
}
});
});
} }
else{ else{
this.closeMoule = null; this.closeMoule = null;
@@ -368,7 +496,7 @@
//获取坐标是否存在 //获取坐标是否存在
var Zb; var Zb;
//开始定位当前位置 //开始定位当前位置
getQueryLand().then(res => {
this.getDeptLocation(res => {
if (res.code == 200) { if (res.code == 200) {
let lat = res.data.lat; let lat = res.data.lat;
let lng = res.data.lng; let lng = res.data.lng;
@@ -519,6 +647,27 @@
that.closeMoule = null; that.closeMoule = null;
that.formSubmit(); that.formSubmit();
}); });
$("#" + this.locationMap).click(function () {
that.getCurrentLocation(res => {
if (res.code == 200) {
let lat = res.data.lat;
let lng = res.data.lng;
if(lat && lng){
Zb = [lng,lat];
}else {
Zb =[115.452752, 31.789033];
}
addMark(lng,lat);
map.getView().animate({
// 只设置需要的属性即可
center: ol.proj.fromLonLat(Zb), // 中心点
zoom: 18, // 缩放级别
rotation: undefined, // 缩放完成view视图旋转弧度
duration: 1000, // 缩放持续时间,默认不需要设置
});
}
});
});
} }
}, },
}, },


+ 219
- 0
src/components/common/Selector.vue Ver fichero

@@ -0,0 +1,219 @@
<!-- 下拉列表组件 zhao -->
<template>
<div>
<slot/>
<van-popup v-model="popupVisible" position="bottom">
<van-picker
ref="picker"
:title="label"
show-toolbar
:columns="options"
:readonly="readonly"
:value-key="labelKey"
:loading="loading"
@confirm="onConfirm"
@cancel="onCancel"
@change="onChanged"
/>
</van-popup>
</div>
</template>

<script>
import request from "@/utils/request";

export default {
name: "Selector",
props: {
value: {
default: null,
},
readonly: {
type: Boolean,
default: false,
},
label: {
type: String,
default: '',
},
columns: { // 列表数据 Array
type: Array,
default: () => [],
},
labelKey: { // 名称键名 String
type: String,
default: 'label',
},
valueKey: { // 值键名 String
type: String,
default: 'value',
},
remoteUrl: { // 远程列表加载地址 String, 函数, 或 Promise
type: [String, Function, Object],
default: null,
},
onRemoteResponse: { // 远程获取到结果的处理回调 String|Function 如果是函数需返回数组, 如果是字符串支持.分割
type: [String, Function],
default: null,
},
clear: { // 点击取消时清空绑定值
type: Boolean,
default: false,
},
visible: { // 打开状态
type: Boolean,
default: false,
},
},
watch: {
value: function (newVal, oldVal) {
this.internalValue = newVal;
this.visibleValue = newVal;
this.syncIndex();
},
columns: function (newVal, oldVal) {
this.syncIndex();
},
remoteUrl: function (newVal, oldVal) {
this.requestRemote();
},
onRemoteResponse: function (newVal, oldVal) {
this.parseRemote();
},
visible: function (newVal, oldVal) {
if(newVal != this.popupVisible)
this.popupVisible = newVal;
},
popupVisible: function (newVal, oldVal) {
if(newVal != this.visible)
this.$emit('update:visible', newVal);
}
},
created() {
if(this.remoteUrl)
this.requestRemote();
},
data() {
return {
popupVisible: false,
internalValue: this.value,
visibleValue: '',
defaultIndex: 0,
remoteColumns: null,
loading: false,
remoteResponse: null,
};
},
methods: {
openPopup() {
if(!this.readonly)
{
this.popupVisible = true;
this.$nextTick(() => {
this.$refs.picker.setIndexes([this.defaultIndex]);
})
}
},
closePopup() {
this.popupVisible = false;
},
onChanged(data) {
this.$emit('change', data);
},
onConfirm(data) {
this.syncValue(data);
this.$emit('input', this.internalValue);
this.$emit('confirm', this.internalValue);
this.closePopup();
},
onCancel() {
this.closePopup();
if(this.clear)
{
this.visibleValue = '';
this.internalValue = null;
this.$emit('input', this.internalValue);
}
this.$emit('cancel');
},
getValue(data) {
return typeof(data) === 'object' && this.valueKey ? data[this.valueKey] : data;
},
getLabel(data) {
return typeof(data) === 'object' && this.labelKey ? data[this.labelKey] : data;
},
syncValue(data) {
this.internalValue = this.getValue(data);
this.visibleValue = this.getLabel(data);
},
syncIndex() {
let columns = this.getColumns();
if(!columns)
return -1;
for(let i in columns)
{
if(this.getValue(columns[i]) == this.internalValue) {
this.defaultIndex = i;
this.visibleValue = this.getLabel(columns[i]);
this.onChanged(columns[i]);
return i;
}
}
if(1) // 不存在
{
this.defaultIndex = -1;
this.visibleValue = this.internalValue;
this.onChanged(null);
}
return -1;
},
getColumns() {
return this.columns ? this.columns : this.remoteColumns;
},
requestRemote() {
if(!this.remoteUrl)
return;
this.loading = true;
this.remoteColumns = [];
let promise = typeof(this.remoteUrl) === 'function' ? this.remoteUrl() : (this.remoteUrl instanceof Promise ? this.remoteUrl : request(this.remoteUrl));
promise.then((resp) => {
this.remoteResponse = resp;
this.parseRemote();
this.syncIndex();
}).catch((e) => {
console.error(e);
}).finally(() => {
this.loading = false;
})
},
parseRemote() {
if(!this.remoteResponse)
return;
let type = typeof(this.onRemoteResponse);
if(type === 'function')
this.remoteColumns = this.onRemoteResponse(this.remoteResponse);
else if(type === 'string')
{
let arr = this.onRemoteResponse.split('.');
let ptr = this.remoteResponse;
for(let i in arr)
{
ptr = this.remoteResponse[arr[i]];
}
this.remoteColumns = ptr;
}
else
this.remoteColumns = this.remoteResponse;
},
},
computed: {
options() {
return this.columns ? this.columns : (this.remoteColumns || []);
}
}
}
</script>

<style scoped>

</style>

+ 24
- 0
src/permission.js Ver fichero

@@ -36,6 +36,7 @@ const whiteList = [
'/project', '/project',
'/policy', '/policy',
'/policyDetail', '/policyDetail',
'/policyPDF',
'/attestationDetail', '/attestationDetail',
'/noticeDetail', '/noticeDetail',
'/homestead/login', '/homestead/login',
@@ -143,6 +144,19 @@ const whiteList = [
'/sunVillage_info/assetMapOpen', '/sunVillage_info/assetMapOpen',
'/sunVillage_info/otherOpenVisitIndex', '/sunVillage_info/otherOpenVisitIndex',
'/sunVillage_info/otherOpenVisitDetail', '/sunVillage_info/otherOpenVisitDetail',
'/sunVillage_info/list_discussions_new',
'/sunVillage_info/list_discussions_new_detail',
'/sunVillage_info/list_process',
'/sunVillage_info/list_process_detail',
'/sunVillage_info/list_issues_zy',
'/sunVillage_info/list_issues_zy_detail',
'/sunVillage_info/list_special',
'/sunVillage_info/list_special_detail',
'/sunVillage_info/list_special_detail_vote',
'/sunVillage_info/special_vote',
'/sunVillage_info/special_vote_detail',
'/sunVillage_info/list_finance_new',
'/sunVillage_info/list_finance_new_detail',


// 新型经营主体 // 新型经营主体
'newBusinessEntity/newsBulletin', //新闻公告 'newBusinessEntity/newsBulletin', //新闻公告
@@ -202,6 +216,16 @@ const whiteList = [
'/sunVillage_info/financeOpen', //村民主页 '/sunVillage_info/financeOpen', //村民主页




'/sunVillage_info/login_code_new', //村民登录
'/sunVillage_info/index_code_rights_new', //村民登录
'/sunVillage_info/list_revenueAndExpenditure', //村民登录
'/sunVillage_info/list_operatingAssets', //村民登录
'/sunVillage_info/list_operatingAssets_detail', //村民登录
'/sunVillage_info/list_operatingAssets_detail2', //村民登录
'/sunVillage_info/otherOpenVisitIndexNew', //村民登录
'/sunVillage_info/otherOpenVisitDetailNew', //村民登录


//承包地确权 //承包地确权
'/contracted/login',//登录 '/contracted/login',//登录
'/contracted/index',//首页 '/contracted/index',//首页


+ 306
- 0
src/router/index.js Ver fichero

@@ -407,6 +407,15 @@ export const constantRoutes = [
}, },
component: (resolve) => require(['@/views/policy/policyDetail'], resolve) component: (resolve) => require(['@/views/policy/policyDetail'], resolve)
}, },
{
path: '/policyPDF',
name: 'policyPDF',
meta: {
title: '文件预览',
hidden: true,
},
component: (resolve) => require(['@/views/policy/policyPDF'], resolve)
},
{ {
path: '/interactionAdd', path: '/interactionAdd',
name: 'interactionAddCJ', name: 'interactionAddCJ',
@@ -3416,6 +3425,123 @@ export const constantRoutes = [
}, },
component: (resolve) => require(['@/views/sunVillage_info/list_contract'], resolve) component: (resolve) => require(['@/views/sunVillage_info/list_contract'], resolve)
}, },
{ ////阳光村务(新)-- 四议两公开
path: '/sunVillage_info/list_process',
name: 'sunVillageInfoListProcess',
meta: {
title: '实施过程公开',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_process'], resolve)
},
{ ////阳光村务(新)-- 四议两公开
path: '/sunVillage_info/list_process_detail',
name: 'sunVillageInfoListProcessDetail',
meta: {
title: '实施过程公开',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_process_detail'], resolve)
},
{ ////阳光村务(新)-- 四议两公开
path: '/sunVillage_info/list_discussions_new',
name: 'sunVillageInfoListDiscussions',
meta: {
title: '四议两公开',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_discussions_new'], resolve)
},
{ ////阳光村务(新)-- 四议两公开
path: '/sunVillage_info/list_discussions_new_detail',
name: 'sunVillageInfoListDiscussionsDetail',
meta: {
title: '四议两公开',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_discussions_new_detail'], resolve)
},
{ ////阳光村务(新)-- 四议两公开
path: '/sunVillage_info/list_discussions_new_edit',
name: 'sunVillageInfoListDiscussionsEdit',
meta: {
title: '四议两公开',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_discussions_new_edit'], resolve)
},
{ ////阳光村务(新)-- 四议两公开
path: '/sunVillage_info/list_discussions_new_add',
name: 'sunVillageInfoListDiscussionsAdd',
meta: {
title: '四议两公开',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_discussions_new_add'], resolve)
},
{ ////阳光村务(新)-- 四议两公开
path: '/sunVillage_info/list_special',
name: 'sunVillageInfoListSpecial',
meta: {
title: '专项公示',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_special'], resolve)
},
{ ////阳光村务(新)-- 四议两公开
path: '/sunVillage_info/list_special_add',
name: 'sunVillageInfoListSpecialAdd',
meta: {
title: '专项公示',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_special_add'], resolve)
},
{ ////阳光村务(新)-- 四议两公开
path: '/sunVillage_info/list_special_detail',
name: 'sunVillageInfoListSpecialDetail',
meta: {
title: '专项公示',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_special_detail'], resolve)
},
{ ////阳光村务(新)-- 四议两公开
path: '/sunVillage_info/list_special_detail_vote',
name: 'sunVillageInfoListSpecialDetailVote',
meta: {
title: '专项公示',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_special_detail_vote'], resolve)
},
{ ////阳光村务(新)-- 四议两公开
path: '/sunVillage_info/list_special_edit',
name: 'sunVillageInfoListSpecialEdit',
meta: {
title: '专项公示',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_special_edit'], resolve)
},
{ ////阳光村务(新)-- 四议表决
path: '/sunVillage_info/special_vote',
name: 'sunVillageInfoSpecialVote',
meta: {
title: '四议表决',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/special_vote'], resolve)
},
{ ////阳光村务(新)-- 四议表决
path: '/sunVillage_info/special_vote_detail',
name: 'sunVillageInfoSpecialVoteDetail',
meta: {
title: '四议表决',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/special_vote_detail'], resolve)
},
{ ////阳光村务(新)-- 一张图公开 { ////阳光村务(新)-- 一张图公开
path: '/sunVillage_info/list_contract_detail', path: '/sunVillage_info/list_contract_detail',
name: 'sunVillageInfoListContractDetail', name: 'sunVillageInfoListContractDetail',
@@ -3633,6 +3759,42 @@ export const constantRoutes = [
}, },
component: (resolve) => require(['@/views/sunVillage_info/list_finance_edit'], resolve) component: (resolve) => require(['@/views/sunVillage_info/list_finance_edit'], resolve)
}, },
{ ////阳光村务(新)-- 合同信息
path: '/sunVillage_info/list_finance_new',
name: 'sunVillageInfoListFinanceNew',
meta: {
title: '财务公开榜',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_finance_new'], resolve)
},
{ ////阳光村务(新)-- 合同信息
path: '/sunVillage_info/list_finance_new_add',
name: 'sunVillageInfoListFinanceAddNew',
meta: {
title: '新增财务公开',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_finance_new_add'], resolve)
},
{ ////阳光村务(新)-- 合同信息
path: '/sunVillage_info/list_finance_new_detail',
name: 'sunVillageInfoListFinanceDetailNew',
meta: {
title: '查看财务公开',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_finance_new_detail'], resolve)
},
{ ////阳光村务(新)-- 合同信息
path: '/sunVillage_info/list_finance_new_edit',
name: 'sunVillageInfoListFinanceEditNew',
meta: {
title: '修改财务公开',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_finance_new_edit'], resolve)
},
{ ////阳光村务(新)-- 合同信息 { ////阳光村务(新)-- 合同信息
path: '/sunVillage_info/list_tourists_edit', path: '/sunVillage_info/list_tourists_edit',
name: 'sunVillageInfoListTouristsEdit', name: 'sunVillageInfoListTouristsEdit',
@@ -3678,6 +3840,42 @@ export const constantRoutes = [
}, },
component: (resolve) => require(['@/views/sunVillage_info/list_issues_edit'], resolve) component: (resolve) => require(['@/views/sunVillage_info/list_issues_edit'], resolve)
}, },
{ ////阳光村务(新)-- 合同信息
path: '/sunVillage_info/list_issues_zy',
name: 'sunVillageInfoListIssuesZy',
meta: {
title: '重要事项',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_issues_zy'], resolve)
},
{ ////阳光村务(新)-- 合同信息
path: '/sunVillage_info/list_issues_zy_add',
name: 'sunVillageInfoListIssuesAddZy',
meta: {
title: '新增重要事项',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_issues_zy_add'], resolve)
},
{ ////阳光村务(新)-- 合同信息
path: '/sunVillage_info/list_issues_zy_detail',
name: 'sunVillageInfoListIssuesDetailZy',
meta: {
title: '查看重要事项',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_issues_zy_detail'], resolve)
},
{ ////阳光村务(新)-- 合同信息
path: '/sunVillage_info/list_issues_zy_edit',
name: 'sunVillageInfoListIssuesEditZy',
meta: {
title: '修改重要事项',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_issues_zy_edit'], resolve)
},
{ ////阳光村务(新)-- 零工公开榜 { ////阳光村务(新)-- 零工公开榜
path: '/sunVillage_info/list_tourists_ranking', path: '/sunVillage_info/list_tourists_ranking',
name: 'sunVillageInfoListTouristsRanking', name: 'sunVillageInfoListTouristsRanking',
@@ -3849,6 +4047,24 @@ export const constantRoutes = [
}, },
component: (resolve) => require(['@/views/sunVillage_info/otherOpen/otherOpenVisitDetail'], resolve) component: (resolve) => require(['@/views/sunVillage_info/otherOpen/otherOpenVisitDetail'], resolve)
}, },
{ ////阳光村务(新)-- 综合公开 游客
path: '/sunVillage_info/otherOpenVisitIndexNew',
name: 'otherOpenVisitIndexNew',
meta: {
title: '综合公开',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/otherOpenNew/otherOpenVisitList'], resolve)
},
{ ////阳光村务(新)-- 综合公开详情 游客
path: '/sunVillage_info/otherOpenVisitDetailNew',
name: 'otherOpenVisitDetailNew',
meta: {
title: '综合公开详情',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/otherOpenNew/otherOpenVisitDetail'], resolve)
},


{ ////阳光村务(新)-- 发包方审核 { ////阳光村务(新)-- 发包方审核
path: '/sunVillage_info/list_employer_process', path: '/sunVillage_info/list_employer_process',
@@ -4516,6 +4732,42 @@ export const constantRoutes = [
}, },
component: (resolve) => require(['@/views/sunVillage_info/resourceDetail'], resolve) component: (resolve) => require(['@/views/sunVillage_info/resourceDetail'], resolve)
}, },
{ ////阳光村务(新)-- 三清台账管理
path: '/sunVillage_info/three',
name: 'sunVillageInfoListThree',
meta: {
title: '三清台账管理',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/three'], resolve)
},
{ ////阳光村务(新)-- 新增三清台账
path: '/sunVillage_info/threeAdd',
name: 'sunVillageInfoListThreeAdd',
meta: {
title: '新增三清台账',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/threeAdd'], resolve)
},
{ ////阳光村务(新)-- 修改三清台账
path: '/sunVillage_info/threeEdit',
name: 'sunVillageInfoListThreeEdit',
meta: {
title: '修改三清台账',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/threeEdit'], resolve)
},
{ ////阳光村务(新)-- 三清台账详情
path: '/sunVillage_info/threeDetail',
name: 'sunVillageInfoListThreeDetail',
meta: {
title: '三清台账详情',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/threeDetail'], resolve)
},
{ ////阳光村务(新)-- 修改资源 { ////阳光村务(新)-- 修改资源
path: '/sunVillage_info/detailed_liabilities', path: '/sunVillage_info/detailed_liabilities',
name: 'sunVillageInfoDetailedLiabilities', name: 'sunVillageInfoDetailedLiabilities',
@@ -6252,6 +6504,60 @@ export const constantRoutes = [
}, },
component: (resolve) => require(['@/views/pest/temperatureAndHumidity/temperatureAndHumidity'], resolve) component: (resolve) => require(['@/views/pest/temperatureAndHumidity/temperatureAndHumidity'], resolve)
}, },
{ // 阳光村务(一村一码)-- 村民登录
path: '/sunVillage_info/login_code_new',
name: 'sunVillageInfoCodeLoginNew',
meta: {
title: '登录',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/login_code_new'], resolve)
},
{ // 阳光村务(一村一码)-- 村民登录
path: '/sunVillage_info/index_code_rights_new',
name: 'sunVillageInfoCodeRightsNew',
meta: {
title: '首页',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/index_code_rights_new'], resolve)
},
{ // 阳光村务(一村一码)-- 村民登录
path: '/sunVillage_info/list_revenueAndExpenditure',
name: 'sunVillageInfoRevenueAndExpendituresNew',
meta: {
title: '收支明细公开',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_revenueAndExpenditure'], resolve)
},
{ // 阳光村务(一村一码)-- 村民登录
path: '/sunVillage_info/list_operatingAssets',
name: 'sunVillageInfoOperatingAssets',
meta: {
title: '经营性资产情况公开',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_operatingAssets'], resolve)
},
{ // 阳光村务(一村一码)-- 村民登录
path: '/sunVillage_info/list_operatingAssets_detail',
name: 'sunVillageInfoOperatingAssetsDetail',
meta: {
title: '经营性资产情况公开',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_operatingAssets_detail'], resolve)
},
{ // 阳光村务(一村一码)-- 村民登录
path: '/sunVillage_info/list_operatingAssets_detail2',
name: 'sunVillageInfoOperatingAssetsDetail2',
meta: {
title: '经营性资产情况公开',
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/list_operatingAssets_detail2'], resolve)
},
{ // 阳光村务(一村一码)-- 村民登录 { // 阳光村务(一村一码)-- 村民登录
path: '/sunVillage_info/login_farmer', path: '/sunVillage_info/login_farmer',
name: 'sunVillageInfoFarmerLogin', name: 'sunVillageInfoFarmerLogin',


+ 1
- 1
src/views/policy/policyDetail.vue Ver fichero

@@ -11,7 +11,7 @@


<div v-if="attachmentQueryList.length>0"> <div v-if="attachmentQueryList.length>0">
<van-divider>附件</van-divider> <van-divider>附件</van-divider>
<van-cell :title="item.fileName" :url="'/api'+item.fileUrl" is-link v-for="(item,index) in attachmentQueryList">
<van-cell :title="item.fileName" :url="item.fileName.indexOf('pdf') > 0 ? '/policyPDF?url=/api'+item.fileUrl : '/api'+item.fileUrl" is-link v-for="(item,index) in attachmentQueryList">
<!-- 使用 right-icon 插槽来自定义右侧图标 --> <!-- 使用 right-icon 插槽来自定义右侧图标 -->
<template #icon> <template #icon>
<img src="../../assets/images/file_icon.png" style="display: block;width: 24px;margin-right: 5px;" alt=""> <img src="../../assets/images/file_icon.png" style="display: block;width: 24px;margin-right: 5px;" alt="">


+ 212
- 0
src/views/policy/policyPDF.vue Ver fichero

@@ -0,0 +1,212 @@
<template>
<div class="app-container">
<navBar title="文件预览" background="0" positionType="fixed"></navBar>
<pdf v-for="item in numPages" :key="item" :src="url" :page="item" ref="pdf"></pdf>
</div>
</template>

<script>
import pdf from 'vue-pdf'
import navBar from "@/components/common/nav_bar.vue";
export default {
components:{
pdf,
navBar
},
name: "programmeDetail",
data() {
return {
url:'',
numPages: null, // pdf 总页数
};
},
created() {
const baseURL = process.env.VUE_APP_BASE_API;
console.log(this.$route.query.url)
this.url = this.$route.query.url;
let loadingTask = pdf.createLoadingTask(this.url)
loadingTask.promise.then(pdf => {
this.numPages = pdf.numPages
})

},
methods: {
goBack(){
window.history.go(-1)
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
/deep/ .van-collapse-item__content{
padding: 0;
}
.cf{
padding: 0 3%;
margin-top: 20PX;
margin-bottom: 20PX;
.van-row{
background: #F0F3F5;
display: flex;
align-items: center;
.van-col{
padding: 5PX 0;
font-size: 12PX!important;
text-align: center;
p{
color: #1D6FE9;
text-align: left;
font-size: .4rem;
}
}
&:first-child{
background: transparent;
}
}
}
.header_main{
height: 116px;
background: url('../../../static/images/lawEnforcement/new/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;
z-index: 999;
.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-radio--horizontal{
margin-left: 0.32rem;
margin-right: 0;
}
.peopleList{
padding: 0 3%;
text-align: left;
.van-row{
border-bottom: 1px solid #dddddd;
display: flex;
align-items: center;
&:last-child{
border: none;
}
.van-col--17{
display: flex;
align-items: center;
p{
margin-left: 10PX;
}
}
.van-col--7{
display: flex;
justify-content: space-between;
p{
color: #1D6FE9;
border: 1px solid #1D6FE9;
text-align: center;
border-radius: 15PX;
display: inline-block;
padding: 5px 15px;
}
}
.van-col{
text-align: left;
font-size: 14PX;
color: #333333;
padding: 15PX 0;
img{
display: block;
}
}
}
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
margin-top: 0;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 10PX;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
.van-icon{
vertical-align: middle;
}
.custom-title{
font-size: 17PX;
color: #333333;
vertical-align: middle;
line-height: 1;
position: relative;
}
.tap{
color: #1D6FE9;
}
.bgBlue{
display: block;
position: absolute;
width: 17PX;
height: 17PX;
border-radius: 50%;
background-color: rgba(29,111,233,0.26);
top: -2PX;
right: -8PX;
}
}
.submitButton{
width: 40%;
margin: 0 auto;
background-image: linear-gradient(to right, #77A6EF , #2E79E9);
text-align: center;
color: #ffffff;
height: 70px;
line-height: 70px;
border-radius: 8PX;
margin-top: 25PX;
&:first-child{
background-image: linear-gradient(to right, #21CAC3 , #17A8A2);
}
}
.submit_box{
display: flex;
align-items: center;
justify-content: space-around;
}

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

</style>

+ 11
- 5
src/views/project/signUp.vue Ver fichero

@@ -32,19 +32,22 @@
<span style="color:#C21F3A" @click="show1=true">《农村产权交易项目报名服务协议》</span> <span style="color:#C21F3A" @click="show1=true">《农村产权交易项目报名服务协议》</span>
</p> </p>
<van-dialog v-model="show1" title="农村产权交易项目报名服务协议" confirmButtonText="关闭"> <van-dialog v-model="show1" title="农村产权交易项目报名服务协议" confirmButtonText="关闭">

<div class="dialog_content_center" v-html="fwxyConfig"></div> <div class="dialog_content_center" v-html="fwxyConfig"></div>

</van-dialog> </van-dialog>




<p style="margin-bottom:10px;">· 已阅读并知晓: <p style="margin-bottom:10px;">· 已阅读并知晓:
<span style="color:#C21F3A" @click="show2=true">《诚信承诺书》</span>
<span style="color:#C21F3A" @click="show2=true">《竞买人承诺书》</span>
</p> </p>
<van-dialog v-model="show2" title="诚信承诺书" confirmButtonText="关闭">

<van-dialog v-model="show2" title="竞买人承诺书" confirmButtonText="关闭">
<div class="dialog_content_center" v-html="cnsConfig"></div> <div class="dialog_content_center" v-html="cnsConfig"></div>
</van-dialog>


<p style="margin-bottom:10px;">· 已阅读并知晓:
<span style="color:#C21F3A" @click="show3=true">《竞买须知》</span>
</p>
<van-dialog v-model="show3" title="竞买须知" confirmButtonText="关闭">
<div class="dialog_content_center" v-html="xzConfig"></div>
</van-dialog> </van-dialog>


<van-checkbox v-model="checked" shape="square" checked-color="#007E72" > <van-checkbox v-model="checked" shape="square" checked-color="#007E72" >
@@ -226,6 +229,7 @@ export default {
checked: false, checked: false,
show1: false, show1: false,
show2: false, show2: false,
show3: false,
color:"#007E72", color:"#007E72",
nickName:"", nickName:"",
userName:"", userName:"",
@@ -253,6 +257,7 @@ export default {
height:null, height:null,
cnsConfig:'', cnsConfig:'',
fwxyConfig:'', fwxyConfig:'',
xzConfig:'',
signFileUrl:'', signFileUrl:'',
signFileUrlUp:'', signFileUrlUp:'',
}; };
@@ -296,6 +301,7 @@ export default {
this.bankName = res.data.bankName this.bankName = res.data.bankName
}); });
getWebConfig().then(response =>{ getWebConfig().then(response =>{
this.xzConfig = response.data[6].configValue;
this.fwxyConfig = response.data[15].configValue; this.fwxyConfig = response.data[15].configValue;
this.cnsConfig = response.data[16].configValue; this.cnsConfig = response.data[16].configValue;
}); });


+ 3
- 0
src/views/sunVillage_info/bankAgriculture/bankOfDeposit/bankOfDepositAdd.vue Ver fichero

@@ -47,6 +47,7 @@
/> />
</van-popup> </van-popup>
<van-field label="联行号" required :rules="[{ required: true , message:'请输入联行号' }]" v-model="form.payeePaymentLines" placeholder="请输入联行号" input-align="right" label-width="auto"/> <van-field label="联行号" required :rules="[{ required: true , message:'请输入联行号' }]" v-model="form.payeePaymentLines" placeholder="请输入联行号" input-align="right" label-width="auto"/>
<van-field label="上级清算行" v-model="form.clearingBank" input-align="right" label-width="auto" disabled/>
<van-field label="机构号" v-model="form.institutionNumber" placeholder="请输入机构号" input-align="right" label-width="auto"/> <van-field label="机构号" v-model="form.institutionNumber" placeholder="请输入机构号" input-align="right" label-width="auto"/>


</div> </div>
@@ -85,6 +86,7 @@
bankType: "", //所属银行 必填 bankType: "", //所属银行 必填
bankDeposit: "", //开户行 必填 bankDeposit: "", //开户行 必填
payeePaymentLines: "", //联行号 //必填 payeePaymentLines: "", //联行号 //必填
clearingBank: "", //上级清算行
region: [], region: [],
}, },
}; };
@@ -131,6 +133,7 @@
onConfirmBankAddress(value){ onConfirmBankAddress(value){
this.form.bankAddress = value.bankDeposit; this.form.bankAddress = value.bankDeposit;
this.form.payeePaymentLines = value.payeePaymentLines; this.form.payeePaymentLines = value.payeePaymentLines;
this.form.clearingBank = data.clearingBank
this.form.bankDeposit = value.bankDeposit; this.form.bankDeposit = value.bankDeposit;
this.showBankAddress = false; this.showBankAddress = false;
}, },


+ 4
- 0
src/views/sunVillage_info/bankAgriculture/bankOfDeposit/bankOfDepositModify.vue Ver fichero

@@ -39,6 +39,8 @@


<van-field label="开户行" required :rules="[{ required: true , message:'请输入开户行' }]" v-model="form.bankDeposit" placeholder="请输入开户行" input-align="right" label-width="auto"/> <van-field label="开户行" required :rules="[{ required: true , message:'请输入开户行' }]" v-model="form.bankDeposit" placeholder="请输入开户行" input-align="right" label-width="auto"/>
<van-field label="联行号" required :rules="[{ required: true , message:'请输入联行号' }]" v-model="form.payeePaymentLines" placeholder="请输入联行号" input-align="right" label-width="auto"/> <van-field label="联行号" required :rules="[{ required: true , message:'请输入联行号' }]" v-model="form.payeePaymentLines" placeholder="请输入联行号" input-align="right" label-width="auto"/>
<van-field label="上级清算行" v-model="form.clearingBank" input-align="right" label-width="auto" disabled/>
<van-field label="机构号" v-model="form.institutionNumber" placeholder="请输入机构号" input-align="right" label-width="auto"/>


</div> </div>
<div style="padding: 16px 0;"> <div style="padding: 16px 0;">
@@ -69,6 +71,8 @@
bankType: "", //所属银行 必填 bankType: "", //所属银行 必填
bankDeposit: "", //开户行 必填 bankDeposit: "", //开户行 必填
payeePaymentLines: "", //联行号 //必填 payeePaymentLines: "", //联行号 //必填
clearingBank: "", //上级清算行
institutionNumber: "",//上级清算行机构号
} }
}; };
}, },


+ 4
- 2
src/views/sunVillage_info/bankAgriculture/collectionAccount/collectionAdd.vue Ver fichero

@@ -73,6 +73,7 @@
/> />
</van-popup> </van-popup>
<van-field label="联行号" readonly required :rules="[{ required: true , message:'请输入联行号' }]" v-model="form.payeePaymentLines" input-align="right" label-width="auto"/> <van-field label="联行号" readonly required :rules="[{ required: true , message:'请输入联行号' }]" v-model="form.payeePaymentLines" input-align="right" label-width="auto"/>
<van-field label="上级清算行" v-model="form.clearingBank" input-align="right" label-width="auto" disabled/>
</div> </div>


<div class="main_box" style="margin-top: 10px;"> <div class="main_box" style="margin-top: 10px;">
@@ -224,7 +225,7 @@
this.bankDepositOptions = [] this.bankDepositOptions = []
for(var i = 0 ; i < response.rows.length ; i++){ for(var i = 0 ; i < response.rows.length ; i++){
this.bankDepositOptions.push({"text":response.rows[i].bankDeposit,"value":response.rows[i].id, this.bankDepositOptions.push({"text":response.rows[i].bankDeposit,"value":response.rows[i].id,
"payeePaymentLines":response.rows[i].payeePaymentLines,"institutionNumber":response.rows[i].institutionNumber});
"payeePaymentLines":response.rows[i].payeePaymentLines,"institutionNumber":response.rows[i].institutionNumber,"clearingBank":response.rows[i].clearingBank});
} }
}); });
}, },
@@ -239,7 +240,7 @@
this.bankDepositOptions = [] this.bankDepositOptions = []
for(var i = 0 ; i < response.rows.length ; i++){ for(var i = 0 ; i < response.rows.length ; i++){
this.bankDepositOptions.push({"text":response.rows[i].bankDeposit,"value":response.rows[i].id, this.bankDepositOptions.push({"text":response.rows[i].bankDeposit,"value":response.rows[i].id,
"payeePaymentLines":response.rows[i].payeePaymentLines,"institutionNumber":response.rows[i].institutionNumber});
"payeePaymentLines":response.rows[i].payeePaymentLines,"institutionNumber":response.rows[i].institutionNumber,"clearingBank":response.rows[i].clearingBank});
} }
}); });
}, },
@@ -247,6 +248,7 @@
this.bankDeposit = data.text this.bankDeposit = data.text
this.form.bankDeposit = data.text this.form.bankDeposit = data.text
this.form.payeePaymentLines = data.payeePaymentLines this.form.payeePaymentLines = data.payeePaymentLines
this.form.clearingBank = data.clearingBank
this.form.alternateField10 = data.institutionNumber this.form.alternateField10 = data.institutionNumber
this.showBankDeposit = false; this.showBankDeposit = false;
}, },


+ 1
- 0
src/views/sunVillage_info/bankAgriculture/collectionAccount/collectionDetail.vue Ver fichero

@@ -17,6 +17,7 @@
<van-field readonly label="所属银行" v-model="bankType" input-align="right" label-width="auto" /> <van-field readonly label="所属银行" v-model="bankType" input-align="right" label-width="auto" />
<van-field readonly label="开户银行" v-model="form.bankDeposit" input-align="right" label-width="auto"/> <van-field readonly label="开户银行" v-model="form.bankDeposit" input-align="right" label-width="auto"/>
<van-field readonly label="联行号" v-model="form.payeePaymentLines" input-align="right" label-width="auto"/> <van-field readonly label="联行号" v-model="form.payeePaymentLines" input-align="right" label-width="auto"/>
<van-field readonly label="上级清算行" v-model="form.clearingBank" input-align="right" label-width="auto"/>
</div> </div>


<div class="main_box" style="margin-top: 10px;"> <div class="main_box" style="margin-top: 10px;">


+ 4
- 2
src/views/sunVillage_info/bankAgriculture/collectionAccount/collectionModify.vue Ver fichero

@@ -63,6 +63,7 @@
/> />
</van-popup> </van-popup>
<van-field label="联行号" readonly required :rules="[{ required: true , message:'请输入联行号' }]" v-model="form.payeePaymentLines" input-align="right" label-width="auto"/> <van-field label="联行号" readonly required :rules="[{ required: true , message:'请输入联行号' }]" v-model="form.payeePaymentLines" input-align="right" label-width="auto"/>
<van-field label="上级清算行" v-model="form.clearingBank" input-align="right" label-width="auto" disabled/>
</div> </div>


<div class="main_box" style="margin-top: 10px;"> <div class="main_box" style="margin-top: 10px;">
@@ -189,7 +190,7 @@
this.bankDepositOptions = [] this.bankDepositOptions = []
for(var i = 0 ; i < response.rows.length ; i++){ for(var i = 0 ; i < response.rows.length ; i++){
this.bankDepositOptions.push({"text":response.rows[i].bankDeposit,"value":response.rows[i].id, this.bankDepositOptions.push({"text":response.rows[i].bankDeposit,"value":response.rows[i].id,
"payeePaymentLines":response.rows[i].payeePaymentLines,"institutionNumber":response.rows[i].institutionNumber});
"payeePaymentLines":response.rows[i].payeePaymentLines,"institutionNumber":response.rows[i].institutionNumber,"clearingBank":response.rows[i].clearingBank});
} }
}); });
}, },
@@ -204,7 +205,7 @@
this.bankDepositOptions = [] this.bankDepositOptions = []
for(var i = 0 ; i < response.rows.length ; i++){ for(var i = 0 ; i < response.rows.length ; i++){
this.bankDepositOptions.push({"text":response.rows[i].bankDeposit,"value":response.rows[i].id, this.bankDepositOptions.push({"text":response.rows[i].bankDeposit,"value":response.rows[i].id,
"payeePaymentLines":response.rows[i].payeePaymentLines,"institutionNumber":response.rows[i].institutionNumber});
"payeePaymentLines":response.rows[i].payeePaymentLines,"institutionNumber":response.rows[i].institutionNumber,"clearingBank":response.rows[i].clearingBank});
} }
}); });
}, },
@@ -212,6 +213,7 @@
this.bankDeposit = data.text this.bankDeposit = data.text
this.form.bankDeposit = data.text this.form.bankDeposit = data.text
this.form.payeePaymentLines = data.payeePaymentLines this.form.payeePaymentLines = data.payeePaymentLines
this.form.clearingBank = data.clearingBank
this.form.alternateField10 = data.institutionNumber this.form.alternateField10 = data.institutionNumber
this.showBankDeposit = false; this.showBankDeposit = false;
}, },


+ 81
- 68
src/views/sunVillage_info/bankAgriculture/paymentAccount/paymentAccountAdd.vue Ver fichero

@@ -1,21 +1,15 @@
<template> <template>
<div class="app-container"> <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="header_main">
添加付款账户信息
<div class="return_btn" @click="onClickLeft"></div>
</div>

<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">添加付款账户信息</p>
</template>
</van-nav-bar>
<van-form @submit="goModify" @failed="getError" :show-error-message="false" scroll-to-error validate-first> <van-form @submit="goModify" @failed="getError" :show-error-message="false" scroll-to-error validate-first>
<p class="main_title">基础信息</p> <p class="main_title">基础信息</p>
<div class="main_box"> <div class="main_box">
@@ -161,20 +155,23 @@
</van-popup> </van-popup>
<van-field label="账户名称" required :rules="[{ required: true , message:'请输入账户名称' }]" v-model="form.accountName" placeholder="请输入账户名称" input-align="right" label-width="auto"/> <van-field label="账户名称" required :rules="[{ required: true , message:'请输入账户名称' }]" v-model="form.accountName" placeholder="请输入账户名称" input-align="right" label-width="auto"/>
<van-field label="银行账户" v-if="accountType=='银行存款'" :rules="[{ required: true , message:'请输入银行账户' }]" v-model="form.bankAccountNumber" placeholder="请输入银行账户" input-align="right" label-width="auto" required/> <van-field label="银行账户" v-if="accountType=='银行存款'" :rules="[{ required: true , message:'请输入银行账户' }]" v-model="form.bankAccountNumber" placeholder="请输入银行账户" input-align="right" label-width="auto" required/>
<van-field
readonly
clickable
label="开户银行"
placeholder="请选择"
v-model="form.bankName"
@click="showBankDeposit = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
required
:rules="[{ required: true , message:'请选择开户银行' }]"
v-if="accountType=='银行存款'"
/>
<div>
<van-field
label="开户银行"
placeholder="请选择"
v-model="form.bankName"
input-align="right"
label-width="auto"
required
:rules="[{ required: true , message:'请选择开户银行' }]"
v-if="accountType=='银行存款'"
@input="selectDeposit"
@focus="selectDeposit"
/>
<div class="deposit_list" v-show="depositListShow">
<van-cell style="cursor: pointer;" :title="item.text" @click="onConfirmBankDeposit(item)" v-for="(item,index) in bankDepositList" />
</div>
</div>
<van-popup v-model="showBankDeposit" position="bottom"> <van-popup v-model="showBankDeposit" position="bottom">
<van-picker <van-picker
show-toolbar show-toolbar
@@ -184,6 +181,7 @@
/> />
</van-popup> </van-popup>
<van-field label="联行号" v-if="accountType=='银行存款'" :rules="[{ required: true , message:'请输入联行号' }]" v-model="form.paymentLines" placeholder="请输入联行号" input-align="right" label-width="auto" required/> <van-field label="联行号" v-if="accountType=='银行存款'" :rules="[{ required: true , message:'请输入联行号' }]" v-model="form.paymentLines" placeholder="请输入联行号" input-align="right" label-width="auto" required/>
<van-field label="上级清算行" v-model="form.clearingBank" input-align="right" label-width="auto" disabled/>
<van-field <van-field
readonly readonly
clickable clickable
@@ -206,7 +204,7 @@
/> />
</van-popup> </van-popup>
<van-field label="开户银行地址" v-if="accountType=='银行存款'" :rules="[{ required: true , message:'请输入开户银行地址' }]" v-model="form.site" placeholder="请输入开户银行地址" input-align="right" label-width="auto" required/> <van-field label="开户银行地址" v-if="accountType=='银行存款'" :rules="[{ required: true , message:'请输入开户银行地址' }]" v-model="form.site" placeholder="请输入开户银行地址" input-align="right" label-width="auto" required/>
<van-field label="支付口令" v-if="accountType=='银行存款'" name="validator" :rules="[{ validator , message:'支付口令:请输入六位以上数字' }]" v-model="form.accountPassword" placeholder="请输入支付口令" input-align="right" label-width="auto" required/>
<van-field label="支付口令" v-if="accountType=='银行存款'" name="validator" :rules="[{ validator , message:'支付口令至少6个字符,必须包括字母、数字和符号' }]" v-model="form.accountPassword" placeholder="请输入支付口令" input-align="right" label-width="auto" required/>
<van-field label="账户类型" v-if="accountType=='银行存款'" required> <van-field label="账户类型" v-if="accountType=='银行存款'" required>
<template #right-icon> <template #right-icon>
<van-radio-group direction="horizontal" v-model="form.bankAccountType" required :rules="[{ required: true , message:'请选择账户类型' }]"> <van-radio-group direction="horizontal" v-model="form.bankAccountType" required :rules="[{ required: true , message:'请选择账户类型' }]">
@@ -279,6 +277,7 @@
showAccountType:false, showAccountType:false,
showSubjectId:false, showSubjectId:false,
showBankType:false, showBankType:false,
depositListShow:false,
minDate: new Date(), minDate: new Date(),
showBankDeposit:false, showBankDeposit:false,
maxDate: new Date(2025, 10, 1), maxDate: new Date(2025, 10, 1),
@@ -324,6 +323,7 @@
bankAccountType: "1", bankAccountType: "1",
villageAccountType: "2", villageAccountType: "2",
status: "N", status: "N",
bankName: "",
} }
}; };
}, },
@@ -333,7 +333,7 @@
}, },
methods: { methods: {
validator(val){ validator(val){
return /^\d{6,}$/.test(val);
return /^(?=.*\d)(?=.*[a-zA-Z])(?=.*[~!@#$%^&*])[\da-zA-Z~!@#$%^&*]{6,}$/.test(val);
}, },
getDetail(){ getDetail(){
// 账户类型 // 账户类型
@@ -412,9 +412,12 @@
} }
}, },
onConfirmBankDeposit(val){ onConfirmBankDeposit(val){
this.showBankDeposit = false
this.$set(this.form, "bankName", val.bankDeposit);
this.showBankDeposit = false;
this.depositListShow = false;
console.log(val)
this.$set(this.form, "bankName", val.text);
this.$set(this.form, "paymentLines", val.payeePaymentLines); this.$set(this.form, "paymentLines", val.payeePaymentLines);
this.$set(this.form, "clearingBank", val.clearingBank);
this.$set(this.form, "alternateField10", val.institutionNumber); this.$set(this.form, "alternateField10", val.institutionNumber);
}, },
onConfirmTaccountId(val){ onConfirmTaccountId(val){
@@ -445,6 +448,7 @@
this.getTaList(); this.getTaList();
this.$set(this.form, "bankName", ''); this.$set(this.form, "bankName", '');
this.$set(this.form, "paymentLines", ''); this.$set(this.form, "paymentLines", '');
this.$set(this.form, "clearingBank", '');
this.bankDepositQueryParams.bankType = val.value; this.bankDepositQueryParams.bankType = val.value;
listDeposit(this.bankDepositQueryParams).then(response => { listDeposit(this.bankDepositQueryParams).then(response => {
this.bankDepositList = response.rows; this.bankDepositList = response.rows;
@@ -482,47 +486,56 @@
}, },
goBack(){ goBack(){
window.history.go(-1) window.history.go(-1)
},
selectDeposit(val){
//depositListShow
console.log(val)
console.log(this.form.bankName)
if (val == '' || this.form.bankName == ''){return;}
this.depositListShow = true;

let queryParams={
"bankType":this.form.bankType,
"status": "0",
"bankDeposit":this.form.bankName,
"pageNum":1,
"pageSize":10
}

listDeposit(queryParams).then(response => {
this.bankDepositList = []
for(var i = 0 ; i < response.rows.length ; i++){
this.bankDepositList.push(
{
"text":response.rows[i].bankDeposit,
"value":response.rows[i].id,
"payeePaymentLines":response.rows[i].payeePaymentLines,
"clearingBank":response.rows[i].clearingBank,
"institutionNumber":response.rows[i].institutionNumber
}
);
}
});

} }
}, },
} }
</script> </script>


<style scoped lang="scss"> <style scoped lang="scss">
.deposit_list{
height: 18vh;
width: 96%;
position: absolute;
background: #fff;
box-shadow: 0 10PX 10PX rgba(0, 0, 0, .5);
left: 2%;
z-index: 9;
border-radius: 0 0 5PX 5PX;
overflow-y: scroll;
}
.app-container { .app-container {
padding-bottom: 2%;
.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;
margin-bottom: 2%;
.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: 20PX;
height: 20PX;
background: url('../../../../../static/images/icon/icon_flow.png') center center no-repeat;
background-size: 20PX 20PX;
position: absolute;
right: 38px;
top: 36px;
}
}
padding: 2% 0;
} }
.main_title{ .main_title{
font-size: 0.4rem; font-size: 0.4rem;


+ 20
- 2
src/views/sunVillage_info/bankAgriculture/paymentAccount/paymentAccountList.vue Ver fichero

@@ -47,7 +47,10 @@
<template #right> <template #right>
<van-row> <van-row>
<van-col> <van-col>
<van-button square text="修改" type="info" :to="{name:'sunVillagePaymentAccountModify', query: {id:item.id}}" class="delete-button" />
<van-button v-if="item.accountType=='银行存款' && item.status != '是'" square text="余额查询" color="#FFA63E" type="info" @click="balanceEnquiry(item.id)" class="delete-button" />
</van-col>
<van-col>
<van-button square text="修改" type="info" :to="{name:'paymentAccountModify', query: {id:item.id}}" class="delete-button" />
</van-col> </van-col>
<van-col> <van-col>
<van-button square text="删除" type="danger" @click="deleteList(item.id,index)" class="delete-button" /> <van-button square text="删除" type="danger" @click="deleteList(item.id,index)" class="delete-button" />
@@ -60,7 +63,7 @@
</template> </template>


<script> <script>
import { getList , delAccount } from "@/api/onlineHome/bankAgriculture/paymentAccount";
import { getList , delAccount , balanceEnquiry} from "@/api/onlineHome/bankAgriculture/paymentAccount";
export default { export default {
name: "paymentAccountList", name: "paymentAccountList",
data() { data() {
@@ -137,6 +140,21 @@ export default {
.catch(() => { .catch(() => {
// on cancel // on cancel
}); });
},
balanceEnquiry(id){
this.$dialog.confirm({
message: '您确认查询账户余额?',
})
.then(() => {
balanceEnquiry(id).then(res => {
if(res.code = 200){
this.$toast.success('余额查询成功');
}
});
})
.catch(() => {
// on cancel
});
} }
}, },
} }


+ 68
- 18
src/views/sunVillage_info/bankAgriculture/paymentAccount/paymentAccountModify.vue Ver fichero

@@ -120,7 +120,7 @@
right-icon="arrow-down" right-icon="arrow-down"
label-width="auto" label-width="auto"
required required
:rules="[{ required: true , message:'请选择开户银行' }]"
:rules="[{ required: true , message:'请选择中心账套' }]"
v-if="accountType=='银行存款'&&form.managementControlType=='2'" v-if="accountType=='银行存款'&&form.managementControlType=='2'"
/> />
<van-popup v-model="showCentralBookId" position="bottom"> <van-popup v-model="showCentralBookId" position="bottom">
@@ -155,20 +155,23 @@
</van-popup> </van-popup>
<van-field label="账户名称" required :rules="[{ required: true , message:'请输入账户名称' }]" v-model="form.accountName" placeholder="请输入账户名称" input-align="right" label-width="auto"/> <van-field label="账户名称" required :rules="[{ required: true , message:'请输入账户名称' }]" v-model="form.accountName" placeholder="请输入账户名称" input-align="right" label-width="auto"/>
<van-field label="银行账户" v-if="accountType=='银行存款'" :rules="[{ required: true , message:'请输入银行账户' }]" v-model="form.bankAccountNumber" placeholder="请输入银行账户" input-align="right" label-width="auto" required/> <van-field label="银行账户" v-if="accountType=='银行存款'" :rules="[{ required: true , message:'请输入银行账户' }]" v-model="form.bankAccountNumber" placeholder="请输入银行账户" input-align="right" label-width="auto" required/>
<van-field
readonly
clickable
label="开户银行"
placeholder="请选择"
v-model="form.bankName"
@click="showBankDeposit = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
required
:rules="[{ required: true , message:'请选择开户银行' }]"
v-if="accountType=='银行存款'"
/>
<div>
<van-field
label="开户银行"
placeholder="请选择"
v-model="form.bankName"
input-align="right"
label-width="auto"
required
:rules="[{ required: true , message:'请选择开户银行' }]"
v-if="accountType=='银行存款'"
@input="selectDeposit"
@focus="selectDeposit"
/>
<div class="deposit_list" v-show="depositListShow">
<van-cell style="cursor: pointer;" :title="item.text" @click="onConfirmBankDeposit(item)" v-for="(item,index) in bankDepositList" />
</div>
</div>
<van-popup v-model="showBankDeposit" position="bottom"> <van-popup v-model="showBankDeposit" position="bottom">
<van-picker <van-picker
show-toolbar show-toolbar
@@ -178,6 +181,7 @@
/> />
</van-popup> </van-popup>
<van-field label="联行号" v-if="accountType=='银行存款'" :rules="[{ required: true , message:'请输入联行号' }]" v-model="form.paymentLines" placeholder="请输入联行号" input-align="right" label-width="auto" required/> <van-field label="联行号" v-if="accountType=='银行存款'" :rules="[{ required: true , message:'请输入联行号' }]" v-model="form.paymentLines" placeholder="请输入联行号" input-align="right" label-width="auto" required/>
<van-field label="上级清算行" v-model="form.clearingBank" input-align="right" label-width="auto" disabled/>
<van-field <van-field
readonly readonly
clickable clickable
@@ -200,7 +204,7 @@
/> />
</van-popup> </van-popup>
<van-field label="开户银行地址" v-if="accountType=='银行存款'" :rules="[{ required: true , message:'请输入开户银行地址' }]" v-model="form.site" placeholder="请输入开户银行地址" input-align="right" label-width="auto" required/> <van-field label="开户银行地址" v-if="accountType=='银行存款'" :rules="[{ required: true , message:'请输入开户银行地址' }]" v-model="form.site" placeholder="请输入开户银行地址" input-align="right" label-width="auto" required/>
<van-field label="支付口令" v-if="accountType=='银行存款'" name="validator" :rules="[{ validator , message:'支付口令:请输入六位以上数字' }]" v-model="form.accountPassword" placeholder="请输入支付口令" input-align="right" label-width="auto" required/>
<van-field label="支付口令" v-if="accountType=='银行存款'" name="validator" :rules="[{ validator , message:'支付口令至少6个字符,必须包括字母、数字和符号' }]" v-model="form.accountPassword" placeholder="请输入支付口令" input-align="right" label-width="auto" required/>
<van-field label="账户类型" v-if="accountType=='银行存款'" required > <van-field label="账户类型" v-if="accountType=='银行存款'" required >
<template #right-icon> <template #right-icon>
<van-radio-group direction="horizontal" v-model="form.bankAccountType" required :rules="[{ required: true , message:'请选择账户类型' }]"> <van-radio-group direction="horizontal" v-model="form.bankAccountType" required :rules="[{ required: true , message:'请选择账户类型' }]">
@@ -273,6 +277,7 @@
showAccountType:false, showAccountType:false,
showSubjectId:false, showSubjectId:false,
showBankType:false, showBankType:false,
depositListShow:false,
minDate: new Date(), minDate: new Date(),
showBankDeposit:false, showBankDeposit:false,
maxDate: new Date(2025, 10, 1), maxDate: new Date(2025, 10, 1),
@@ -327,7 +332,7 @@
}, },
methods: { methods: {
validator(val){ validator(val){
return /^\d{6,}$/.test(val);
return /^(?=.*\d)(?=.*[a-zA-Z])(?=.*[~!@#$%^&*])[\da-zA-Z~!@#$%^&*]{6,}$/.test(val);
}, },
getDetail(){ getDetail(){
getAccount(this.$route.query.id).then((response) => { getAccount(this.$route.query.id).then((response) => {
@@ -463,8 +468,10 @@
}, },
onConfirmBankDeposit(val){ onConfirmBankDeposit(val){
this.showBankDeposit = false this.showBankDeposit = false
this.$set(this.form, "bankName", val.bankDeposit);
this.depositListShow = false;
this.$set(this.form, "bankName", val.text);
this.$set(this.form, "paymentLines", val.payeePaymentLines); this.$set(this.form, "paymentLines", val.payeePaymentLines);
this.$set(this.form, "clearingBank", val.clearingBank);
this.$set(this.form, "alternateField10", val.institutionNumber); this.$set(this.form, "alternateField10", val.institutionNumber);
}, },
onConfirmTaccountId(val){ onConfirmTaccountId(val){
@@ -495,6 +502,7 @@
this.getTaList(); this.getTaList();
this.$set(this.form, "bankName", ''); this.$set(this.form, "bankName", '');
this.$set(this.form, "paymentLines", ''); this.$set(this.form, "paymentLines", '');
this.$set(this.form, "clearingBank", '');
this.bankDepositQueryParams.bankType = val.value; this.bankDepositQueryParams.bankType = val.value;
listDeposit(this.bankDepositQueryParams).then(response => { listDeposit(this.bankDepositQueryParams).then(response => {
this.bankDepositList = response.rows; this.bankDepositList = response.rows;
@@ -532,12 +540,54 @@
}, },
goBack(){ goBack(){
window.history.go(-1) window.history.go(-1)
},
selectDeposit(val){
//depositListShow
console.log(val)
console.log(this.form.bankName)
if (val == '' || this.form.bankName == ''){return;}
this.depositListShow = true;

let queryParams={
"bankType":this.form.bankType,
"status": "0",
"bankDeposit":this.form.bankName,
"pageNum":1,
"pageSize":10
}

listDeposit(queryParams).then(response => {
this.bankDepositList = []
for(var i = 0 ; i < response.rows.length ; i++){
this.bankDepositList.push(
{
"text":response.rows[i].bankDeposit,
"value":response.rows[i].id,
"payeePaymentLines":response.rows[i].payeePaymentLines,
"clearingBank":response.rows[i].clearingBank,
"institutionNumber":response.rows[i].institutionNumber
}
);
}
});

} }
}, },
} }
</script> </script>


<style scoped lang="scss"> <style scoped lang="scss">
.deposit_list{
height: 18vh;
width: 96%;
position: absolute;
background: #fff;
box-shadow: 0 10PX 10PX rgba(0, 0, 0, .5);
left: 2%;
z-index: 9;
border-radius: 0 0 5PX 5PX;
overflow-y: scroll;
}
.app-container { .app-container {
padding: 2% 0; padding: 2% 0;
} }


+ 5
- 3
src/views/sunVillage_info/bankAgriculture/paymentApproval/approvalAdd.vue Ver fichero

@@ -1235,6 +1235,7 @@
this.$set(this.chargeItme[i], "bankDeposit", obj.bankDeposit); this.$set(this.chargeItme[i], "bankDeposit", obj.bankDeposit);
this.$set(this.chargeItme[i], "accountType", obj.accountType); this.$set(this.chargeItme[i], "accountType", obj.accountType);
this.$set(this.chargeItme[i], "payeePaymentLines", obj.payeePaymentLines); this.$set(this.chargeItme[i], "payeePaymentLines", obj.payeePaymentLines);
this.$set(this.chargeItme[i], "clearingBank", obj.clearingBank);
_this.bankTypeDictionaries.map(rr => { _this.bankTypeDictionaries.map(rr => {
if(rr.value==obj.bankType){ if(rr.value==obj.bankType){
this.$set(this.chargeItme[i], "bankTypeText", rr.text); this.$set(this.chargeItme[i], "bankTypeText", rr.text);
@@ -1269,8 +1270,8 @@
//model就是上面的数据源 //model就是上面的数据源
return account.id === select; //筛选出匹配数据 return account.id === select; //筛选出匹配数据
}); });
if(obj.accountPassword != null && obj.accountPassword != "" &&
obj.bankType != null && obj.bankType != ""){
if(obj.bankType === "8" || (obj.accountPassword != null && obj.accountPassword != "" &&
obj.bankType != null && obj.bankType != "")){
this.$set(this.form, "bookId", obj.bookId); this.$set(this.form, "bookId", obj.bookId);
this.$set(this.form, "deptId", obj.deptId); this.$set(this.form, "deptId", obj.deptId);
this.$set(this.form, "cashierId", obj.id); this.$set(this.form, "cashierId", obj.id);
@@ -1286,6 +1287,7 @@
this.$set(this.form, "accountNo", obj.accountNo); this.$set(this.form, "accountNo", obj.accountNo);
this.$set(this.form, "cifNo", obj.cifNo); this.$set(this.form, "cifNo", obj.cifNo);
this.$set(this.form, "payerFrom", '1'); this.$set(this.form, "payerFrom", '1');
this.$set(this.form, "clearingBank", obj.clearingBank);
if(obj.bankType==1){ if(obj.bankType==1){
this.form.accountType = "1" this.form.accountType = "1"
this.form.isPeers = null this.form.isPeers = null
@@ -1448,7 +1450,7 @@
watch: { watch: {
$route (to, from ) { $route (to, from ) {
// 监听路由变化, 实现类似 小程序的 onShow 事件 // 监听路由变化, 实现类似 小程序的 onShow 事件
if (to.path === '/yinnong/approvalAdd') {
if (to.path === '/sunVillage_info/approvalAdd') {
// do anything you want // do anything you want
console.log("aaa") console.log("aaa")
if (this.$route.params.payeeForm){ if (this.$route.params.payeeForm){


+ 9
- 6
src/views/sunVillage_info/bankAgriculture/paymentApproval/approvalAdd13.vue Ver fichero

@@ -104,12 +104,14 @@
required required
:rules="[{ required: true , message:'请输入事项内容' }]" :rules="[{ required: true , message:'请输入事项内容' }]"
/> />
<van-field label="村党支部提议" input-align="right" label-width="auto" readonly />
<van-field v-model="form.dzbty" type="textarea" placeholder="请输入村党支部提议" rows="2" required :rules="[{ required: true , message:'请输入村党支部提议' }]" />
<van-field label="两委会商议" input-align="right" label-width="auto" readonly />
<van-field v-model="form.lwhsy" type="textarea" placeholder="请输入两委会商议" rows="2" required :rules="[{ required: true , message:'请输入两委会商议' }]" />
<van-field label="党群议事会审议和决议" input-align="right" label-width="auto" readonly />
<van-field v-model="form.dqyshsyhjy" type="textarea" placeholder="请输入党群议事会审议和决议" rows="2" required :rules="[{ required: true , message:'请输入党群议事会审议和决议' }]" />
<van-field label="理事会提议" input-align="right" label-width="auto" readonly />
<van-field v-model="form.dzbty" type="textarea" placeholder="请输入理事会提议/村党支部提议" rows="2" required :rules="[{ required: true , message:'请输入理事会提议/村党支部提议' }]" />
<van-field label="村党支部和理事会商议" input-align="right" label-width="auto" readonly />
<van-field v-model="form.lwhsy" type="textarea" placeholder="请输入村党支部和理事会商议/两委会商议" rows="2" required :rules="[{ required: true , message:'请输入村党支部和理事会商议/两委会商议' }]" />
<van-field label="党员会审议" input-align="right" label-width="auto" readonly />
<van-field v-model="form.dqyshsyhjy" type="textarea" placeholder="请输入党员会审议/党群议事会审议和决议" rows="2" required :rules="[{ required: true , message:'请输入党员会审议/党群议事会审议和决议' }]" />
<van-field label="成员(代表)会决议" input-align="right" label-width="auto" readonly />
<van-field v-model="form.cydbhjy" type="textarea" placeholder="请输入成员(代表)会决议/党群议事会审议和决议" rows="2" required :rules="[{ required: true , message:'请输入成员(代表)会决议/党群议事会审议和决议' }]" />
<van-field label="决策结果公开" input-align="right" label-width="auto" readonly /> <van-field label="决策结果公开" input-align="right" label-width="auto" readonly />
<van-field v-model="form.jcjggk" type="textarea" placeholder="请输入决策结果公开" rows="2" required :rules="[{ required: true , message:'请输入决策结果公开' }]" /> <van-field v-model="form.jcjggk" type="textarea" placeholder="请输入决策结果公开" rows="2" required :rules="[{ required: true , message:'请输入决策结果公开' }]" />
<van-field label="实施情况公开" input-align="right" label-width="auto" readonly /> <van-field label="实施情况公开" input-align="right" label-width="auto" readonly />
@@ -241,6 +243,7 @@
dzbty: null, dzbty: null,
lwhsy: null, lwhsy: null,
dqyshsyhjy: null, dqyshsyhjy: null,
cydbhjy: null,
jcjggk: null, jcjggk: null,
ssqkgk: null, ssqkgk: null,
remark: null, remark: null,


+ 22
- 24
src/views/sunVillage_info/bankAgriculture/paymentApproval/approvalApproval13.vue Ver fichero

@@ -52,30 +52,20 @@
</van-popup> </van-popup>
<van-field readonly label="审批流程" :value="tempalteFormat(form.approvalTemplateId)" <van-field readonly label="审批流程" :value="tempalteFormat(form.approvalTemplateId)"
input-align="right" label-width="auto"/> input-align="right" label-width="auto"/>
<van-field
label="事项内容"
input-align="right"
label-width="auto"
readonly
/>
<van-field
v-model="form.eventContent"
type="textarea"
placeholder="请输入事项内容"
rows="4"
required
:rules="[{ required: true , message:'请输入事项内容' }]"
/>
<van-field label="村党支部提议" input-align="right" label-width="auto" readonly />
<van-field v-model="form.dzbty" type="textarea" placeholder="请输入村党支部提议" rows="2" required :rules="[{ required: true , message:'请输入村党支部提议' }]" />
<van-field label="两委会商议" input-align="right" label-width="auto" readonly />
<van-field v-model="form.lwhsy" type="textarea" placeholder="请输入两委会商议" rows="2" required :rules="[{ required: true , message:'请输入两委会商议' }]" />
<van-field label="党群议事会审议和决议" input-align="right" label-width="auto" readonly />
<van-field v-model="form.dqyshsyhjy" type="textarea" placeholder="请输入党群议事会审议和决议" rows="2" required :rules="[{ required: true , message:'请输入党群议事会审议和决议' }]" />
<van-field label="决策结果公开" input-align="right" label-width="auto" readonly />
<van-field v-model="form.jcjggk" type="textarea" placeholder="请输入决策结果公开" rows="2" required :rules="[{ required: true , message:'请输入决策结果公开' }]" />
<van-field label="实施情况公开" input-align="right" label-width="auto" readonly />
<van-field v-model="form.ssqkgk" type="textarea" placeholder="请输入实施情况公开" rows="2" required :rules="[{ required: true , message:'请输入实施情况公开' }]" />
<van-field label="*事项内容" input-align="right" label-width="auto" readonly/>
<div id="eventContentOpenContent" style="padding-left: 10px;padding-right: 10px;"></div>
<van-field label="*理事会提议/村党支部提议" input-align="right" label-width="auto" readonly />
<div id="dzbtyOpenContent" style="padding-left: 10px;padding-right: 10px;"></div>
<van-field label="*村党支部和理事会商议/两委会商议" input-align="right" label-width="auto" readonly />
<div id="lwhsyOpenContent" style="padding-left: 10px;padding-right: 10px;"></div>
<van-field label="*党员会审议/党群议事会审议和决议" input-align="right" label-width="auto" readonly />
<div id="dqyshsyhjyOpenContent" style="padding-left: 10px;padding-right: 10px;"></div>
<van-field label="*成员(代表)会决议/党群议事会审议和决议" input-align="right" label-width="auto" readonly />
<div id="cydbhjyOpenContent" style="padding-left: 10px;padding-right: 10px;"></div>
<van-field label="*决策结果公开" input-align="right" label-width="auto" readonly />
<div id="jcjggkOpenContent" style="padding-left: 10px;padding-right: 10px;"></div>
<van-field label="*实施情况公开" input-align="right" label-width="auto" readonly />
<div id="ssqkgkOpenContent" style="padding-left: 10px;padding-right: 10px;"></div>
<van-field label="备注" input-align="right" label-width="auto"/> <van-field label="备注" input-align="right" label-width="auto"/>
<van-field v-model="form.remark" type="textarea" placeholder="请输入备注" rows="2"/> <van-field v-model="form.remark" type="textarea" placeholder="请输入备注" rows="2"/>
</div> </div>
@@ -201,6 +191,7 @@
dzbty: null, dzbty: null,
lwhsy: null, lwhsy: null,
dqyshsyhjy: null, dqyshsyhjy: null,
cydbhjy: null,
jcjggk: null, jcjggk: null,
ssqkgk: null, ssqkgk: null,
approvalTemplateId: null, approvalTemplateId: null,
@@ -241,6 +232,13 @@
getForm(){ getForm(){
getMajorevent(this.$route.query.id).then(response => { getMajorevent(this.$route.query.id).then(response => {
this.form = response.data; this.form = response.data;
document.getElementById('eventContentOpenContent').innerHTML = response.data.eventContent;
document.getElementById('dzbtyOpenContent').innerHTML = response.data.dzbty;
document.getElementById('lwhsyOpenContent').innerHTML = response.data.lwhsy;
document.getElementById('dqyshsyhjyOpenContent').innerHTML = response.data.dqyshsyhjy;
document.getElementById('cydbhjyOpenContent').innerHTML = response.data.cydbhjy;
document.getElementById('jcjggkOpenContent').innerHTML = response.data.jcjggk;
document.getElementById('ssqkgkOpenContent').innerHTML = response.data.ssqkgk;
if(!this.isAudit) if(!this.isAudit)
{ {
A_auditHistoryDetail(this.$route.query.taskId).then((resp) => { A_auditHistoryDetail(this.$route.query.taskId).then((resp) => {


+ 41
- 126
src/views/sunVillage_info/bankAgriculture/paymentApproval/approvalDetail13.vue Ver fichero

@@ -52,70 +52,34 @@
</van-popup> </van-popup>
<van-field readonly label="审批流程" :value="tempalteFormat(form.approvalTemplateId)" <van-field readonly label="审批流程" :value="tempalteFormat(form.approvalTemplateId)"
input-align="right" label-width="auto"/> input-align="right" label-width="auto"/>
<van-field
label="事项内容"
input-align="right"
label-width="auto"
readonly
/>
<van-field
v-model="form.eventContent"
type="textarea"
placeholder="请输入事项内容"
rows="4"
required
:rules="[{ required: true , message:'请输入事项内容' }]"
/>
<van-field label="村党支部提议" input-align="right" label-width="auto" readonly />
<van-field v-model="form.dzbty" type="textarea" placeholder="请输入村党支部提议" rows="2" required :rules="[{ required: true , message:'请输入村党支部提议' }]" />
<van-field label="两委会商议" input-align="right" label-width="auto" readonly />
<van-field v-model="form.lwhsy" type="textarea" placeholder="请输入两委会商议" rows="2" required :rules="[{ required: true , message:'请输入两委会商议' }]" />
<van-field label="党群议事会审议和决议" input-align="right" label-width="auto" readonly />
<van-field v-model="form.dqyshsyhjy" type="textarea" placeholder="请输入党群议事会审议和决议" rows="2" required :rules="[{ required: true , message:'请输入党群议事会审议和决议' }]" />
<van-field label="决策结果公开" input-align="right" label-width="auto" readonly />
<van-field v-model="form.jcjggk" type="textarea" placeholder="请输入决策结果公开" rows="2" required :rules="[{ required: true , message:'请输入决策结果公开' }]" />
<van-field label="实施情况公开" input-align="right" label-width="auto" readonly />
<van-field v-model="form.ssqkgk" type="textarea" placeholder="请输入实施情况公开" rows="2" required :rules="[{ required: true , message:'请输入实施情况公开' }]" />
<van-field label="*事项内容" input-align="right" label-width="auto" readonly/>
<div id="eventContentOpenContent" style="padding-left: 10px;padding-right: 10px;"></div>
<van-field label="*理事会提议/村党支部提议" input-align="right" label-width="auto" readonly />
<div id="dzbtyOpenContent" style="padding-left: 10px;padding-right: 10px;"></div>
<van-field label="*村党支部和理事会商议/两委会商议" input-align="right" label-width="auto" readonly />
<div id="lwhsyOpenContent" style="padding-left: 10px;padding-right: 10px;"></div>
<van-field label="*党员会审议/党群议事会审议和决议" input-align="right" label-width="auto" readonly />
<div id="dqyshsyhjyOpenContent" style="padding-left: 10px;padding-right: 10px;"></div>
<van-field label="*成员(代表)会决议/党群议事会审议和决议" input-align="right" label-width="auto" readonly />
<div id="cydbhjyOpenContent" style="padding-left: 10px;padding-right: 10px;"></div>
<van-field label="*决策结果公开" input-align="right" label-width="auto" readonly />
<div id="jcjggkOpenContent" style="padding-left: 10px;padding-right: 10px;"></div>
<van-field label="*实施情况公开" input-align="right" label-width="auto" readonly />
<div id="ssqkgkOpenContent" style="padding-left: 10px;padding-right: 10px;"></div>
<van-field label="备注" input-align="right" label-width="auto"/> <van-field label="备注" input-align="right" label-width="auto"/>
<van-field v-model="form.remark" type="textarea" placeholder="请输入备注" rows="2"/> <van-field v-model="form.remark" type="textarea" placeholder="请输入备注" rows="2"/>
</div> </div>
<p style="margin-top:20px;padding: 0 10px">附件{{fileList&&fileList.length==0?':暂无可下载文件':''}}</p>
<van-cell v-for="(item,index) in fileList" :key="index">
<a :href="item.url" target="_blank">{{index+1}}.{{item.fileName}}</a>
</van-cell>
</van-form> </van-form>
<div class="main_box examine_box">
<van-row type="flex" justify="space-between" align="center">
<van-col span="5">审批<br/>意见</van-col>
<van-col span="19">
<van-radio-group v-model="pass" direction="horizontal" :disabled="!isAudit">
<van-radio name="true">同意</van-radio>
<van-radio name="false">驳回</van-radio>
</van-radio-group>
<van-field :readonly="!isAudit" rows="2" autosize v-model="comment" type="textarea" placeholder="请输入审批意见"/>
</van-col>
</van-row>
</div>

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


<script> <script>
import { addMajorevent , getMajorevent , attachmentList , updateMajorevent,approval,listTemplate,selectApprovalByTemplateId } from "@/api/onlineHome/bankAgriculture/paymentApproval";
import { addMajorevent , getMajorevent , attachmentList , updateMajorevent,listTemplate,selectApprovalByTemplateId } from "@/api/onlineHome/bankAgriculture/paymentApproval";
import request from '@/utils/request'; import request from '@/utils/request';
import Dialog from "vant/lib/dialog"; import Dialog from "vant/lib/dialog";
import Editor from '@/components/Editor'; import Editor from '@/components/Editor';
import {A_auditHistoryDetail} from "@/api/audit/aauditpipeline";
export default { export default {
name: "approvalApproval13",
name: "approvalAdd3",
components: { components: {
Editor, Editor,
}, },
@@ -180,18 +144,13 @@
}, },
projectFundType:'', projectFundType:'',
uploadFiles:[], uploadFiles:[],
// 审核意见默认值
pass: "true",
comment: "同意",
templateList:[],
}; };
}, },
created() { created() {
this.reset(); this.reset();
this.getForm();
this.getFileList();
this.getDictionaries(); this.getDictionaries();
this.getTemplateList(); this.getTemplateList();
this.getForm();
}, },
methods: { methods: {
// 表单重置 // 表单重置
@@ -201,6 +160,7 @@
dzbty: null, dzbty: null,
lwhsy: null, lwhsy: null,
dqyshsyhjy: null, dqyshsyhjy: null,
cydbhjy: null,
jcjggk: null, jcjggk: null,
ssqkgk: null, ssqkgk: null,
approvalTemplateId: null, approvalTemplateId: null,
@@ -241,17 +201,26 @@
getForm(){ getForm(){
getMajorevent(this.$route.query.id).then(response => { getMajorevent(this.$route.query.id).then(response => {
this.form = response.data; this.form = response.data;
if(!this.isAudit)
{
A_auditHistoryDetail(this.$route.query.taskId).then((resp) => {
this.pass = resp.data.auditStatus === '3' ? "true" : 'false';
this.comment = resp.data.auditRemark;
});
}
document.getElementById('eventContentOpenContent').innerHTML = response.data.eventContent;
document.getElementById('dzbtyOpenContent').innerHTML = response.data.dzbty;
document.getElementById('lwhsyOpenContent').innerHTML = response.data.lwhsy;
document.getElementById('dqyshsyhjyOpenContent').innerHTML = response.data.dqyshsyhjy;
document.getElementById('cydbhjyOpenContent').innerHTML = response.data.cydbhjy;
document.getElementById('jcjggkOpenContent').innerHTML = response.data.jcjggk;
document.getElementById('ssqkgkOpenContent').innerHTML = response.data.ssqkgk;
});
},
getAttachmentList(){
attachmentList(this.form.id).then(response => {
this.fileList = response.data;
});
},
getCapitalExpenditureType(){
this.getDicts("capital_expenditure_type").then((res) => {
}); });
}, },
goFlow(){ goFlow(){
window.location='approvalProcess13?id='+this.$route.query.approvalTemplateId;
window.location='approvalProcess13?id='+this.form.approvalTemplateId;
}, },
getChange(){ getChange(){
updateMajorevent(this.form).then(response => { updateMajorevent(this.form).then(response => {
@@ -338,15 +307,16 @@
getFileList(){ getFileList(){
let oData= { let oData= {
tableId: this.$route.query.id, tableId: this.$route.query.id,
tableName: 't_yinnong_majorevent',
tableName: "t_yinnong_majorevent",
bizPath: "yinnong", bizPath: "yinnong",
fileType: "", fileType: "",
} }
attachmentList(oData).then(res => { attachmentList(oData).then(res => {
console.log(res)
console.log(location.protocol+"//"+location.host+request.defaults.baseURL)
res.rows.map(r => { res.rows.map(r => {
let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL
// this.fileList.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{})})
this.fileList.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{}),"id":r.id,"fileName":r.fileName})
this.fileList.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{})})
console.log(r) console.log(r)
}) })
}) })
@@ -358,38 +328,7 @@
deleteChargeItme(index){ deleteChargeItme(index){
this.chargeItme.splice(index,1) this.chargeItme.splice(index,1)
}, },
/** 提交按钮 */
submitForm() {
const data = {
taskId: this.$route.query.taskId,
auditbatchNo: this.$route.query.auditbatchNo,
remark: this.comment,
pass: this.pass === "true",
deptId: this.form.deptId
};
approval(data).then((response) => {
if(response.code==200){
this.$toast.success("操作成功");
setTimeout(function(){
history.go(-1)
},2000)
} else{
this.$toast.success("操作失败");
}
});
},
}, },
watch: {
pass: function (val) {
if(this.isAudit)
this.comment = val === "true" ? "同意" : "驳回";
},
},
computed: {
isAudit() {
return this.$route.query.type != 'done';
}
}
} }
</script> </script>


@@ -412,8 +351,9 @@
background-color: #FFF; background-color: #FFF;
} }
.submitButton{ .submitButton{
width: 96%;
width: 80%;
margin: 0 auto; margin: 0 auto;
background-color: #1D6FE9;
} }


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

+ 1
- 4
src/views/sunVillage_info/bankAgriculture/paymentApproval/approvalList13.vue Ver fichero

@@ -163,14 +163,11 @@ methods: {
}); });
}, },
cancelApply(id) { cancelApply(id) {
const form = {};
form.id = id;
debugger;
this.$dialog.confirm({ this.$dialog.confirm({
message: '您确认撤回申请?', message: '您确认撤回申请?',
}) })
.then(() => { .then(() => {
return updateTYinnongMajoreventFoStatus(form).then(response => {
return updateTYinnongMajoreventFoStatus(id).then(response => {
this.$toast.success('撤回成功'); this.$toast.success('撤回成功');
setTimeout(function(){ setTimeout(function(){
history.go(0) history.go(0)


+ 5
- 3
src/views/sunVillage_info/bankAgriculture/paymentApproval/approvalModify.vue Ver fichero

@@ -1131,6 +1131,7 @@
this.$set(this.chargeItme[i], "bankDeposit", obj.bankDeposit); this.$set(this.chargeItme[i], "bankDeposit", obj.bankDeposit);
this.$set(this.chargeItme[i], "accountType", obj.accountType); this.$set(this.chargeItme[i], "accountType", obj.accountType);
this.$set(this.chargeItme[i], "payeePaymentLines", obj.payeePaymentLines); this.$set(this.chargeItme[i], "payeePaymentLines", obj.payeePaymentLines);
this.$set(this.chargeItme[i], "clearingBank", obj.clearingBank);
_this.bankTypeDictionaries.map(rr => { _this.bankTypeDictionaries.map(rr => {
if(rr.value==obj.bankType){ if(rr.value==obj.bankType){
this.$set(this.chargeItme[i], "bankTypeText", rr.text); this.$set(this.chargeItme[i], "bankTypeText", rr.text);
@@ -1164,8 +1165,8 @@
//model就是上面的数据源 //model就是上面的数据源
return account.id === select; //筛选出匹配数据 return account.id === select; //筛选出匹配数据
}); });
if(obj.accountPassword != null && obj.accountPassword != "" &&
obj.bankType != null && obj.bankType != ""){
if(obj.bankType === "8" || (obj.accountPassword != null && obj.accountPassword != "" &&
obj.bankType != null && obj.bankType != "")){
this.$set(this.form, "bookId", obj.bookId); this.$set(this.form, "bookId", obj.bookId);
this.$set(this.form, "deptId", obj.deptId); this.$set(this.form, "deptId", obj.deptId);
this.$set(this.form, "cashierId", obj.id); this.$set(this.form, "cashierId", obj.id);
@@ -1176,6 +1177,7 @@
this.$set(this.form, "bankType", obj.bankType); this.$set(this.form, "bankType", obj.bankType);
this.$set(this.form, "balance", obj.balance); this.$set(this.form, "balance", obj.balance);
this.$set(this.form, "payerFrom", '1'); this.$set(this.form, "payerFrom", '1');
this.$set(this.form, "clearingBank", obj.clearingBank);
console.log(obj.bankType) console.log(obj.bankType)
if(obj.bankType==1){ if(obj.bankType==1){
this.form.accountType = "1" this.form.accountType = "1"
@@ -1310,7 +1312,7 @@
watch: { watch: {
$route (to, from ) { $route (to, from ) {
// 监听路由变化, 实现类似 小程序的 onShow 事件 // 监听路由变化, 实现类似 小程序的 onShow 事件
if (to.path === '/yinnong/approvalModify') {
if (to.path === '/sunVillage_info/approvalModify') {
// do anything you want // do anything you want
console.log("aaa") console.log("aaa")
if (this.$route.params.payeeForm){ if (this.$route.params.payeeForm){


+ 53
- 24
src/views/sunVillage_info/bankAgriculture/paymentApproval/approvalModify13.vue Ver fichero

@@ -87,30 +87,23 @@
@cancel="showtemplate = false" @cancel="showtemplate = false"
/> />
</van-popup> </van-popup>
<van-field
label="事项内容"
input-align="right"
label-width="auto"
readonly
/>
<van-field
v-model="form.eventContent"
type="textarea"
placeholder="请输入事项内容"
rows="8"
required
:rules="[{ required: true , message:'请输入事项内容' }]"
/>
<van-field label="村党支部提议" input-align="right" label-width="auto" readonly />
<van-field v-model="form.dzbty" type="textarea" placeholder="请输入村党支部提议" rows="2" required :rules="[{ required: true , message:'请输入村党支部提议' }]" />
<van-field label="两委会商议" input-align="right" label-width="auto" readonly />
<van-field v-model="form.lwhsy" type="textarea" placeholder="请输入两委会商议" rows="2" required :rules="[{ required: true , message:'请输入两委会商议' }]" />
<van-field label="党群议事会审议和决议" input-align="right" label-width="auto" readonly />
<van-field v-model="form.dqyshsyhjy" type="textarea" placeholder="请输入党群议事会审议和决议" rows="2" required :rules="[{ required: true , message:'请输入党群议事会审议和决议' }]" />
<van-field label="决策结果公开" input-align="right" label-width="auto" readonly />
<van-field v-model="form.jcjggk" type="textarea" placeholder="请输入决策结果公开" rows="2" required :rules="[{ required: true , message:'请输入决策结果公开' }]" />
<van-field label="实施情况公开" input-align="right" label-width="auto" readonly />
<van-field v-model="form.ssqkgk" type="textarea" placeholder="请输入实施情况公开" rows="2" required :rules="[{ required: true , message:'请输入实施情况公开' }]" />
<van-field label="*事项内容" input-align="right" label-width="auto" readonly/>
<vue-html5-editor :content="form.eventContent" :height="200" @change="eventContentUpdateData"></vue-html5-editor>
<!-- <van-field v-model="form.eventContent" type="textarea" placeholder="请输入事项内容" rows="4" required :rules="[{ required: true , message:'请输入事项内容' }]"/> -->
<van-field label="*理事会提议/村党支部提议" input-align="right" label-width="auto" readonly />
<vue-html5-editor :content="form.dzbty" :height="200" @change="dzbtyUpdateData"></vue-html5-editor>
<van-field label="*村党支部和理事会商议/两委会商议" input-align="right" label-width="auto" readonly />
<vue-html5-editor :content="form.lwhsy" :height="200" @change="lwhsyUpdateData"></vue-html5-editor>
<van-field label="*党员会审议/党群议事会审议和决议" input-align="right" label-width="auto" readonly />
<vue-html5-editor :content="form.dqyshsyhjy" :height="200" @change="dqyshsyhjyUpdateData"></vue-html5-editor>
<van-field label="*成员(代表)会决议/党群议事会审议和决议" input-align="right" label-width="auto" readonly />
<vue-html5-editor :content="form.cydbhjy" :height="200" @change="cydbhjyUpdateData"></vue-html5-editor>
<van-field label="*决策结果公开" input-align="right" label-width="auto" readonly />
<vue-html5-editor :content="form.jcjggk" :height="200" @change="jcjggkUpdateData"></vue-html5-editor>
<van-field label="*实施情况公开" input-align="right" label-width="auto" readonly />
<vue-html5-editor :content="form.ssqkgk" :height="200" @change="ssqkgkUpdateData"></vue-html5-editor>
<!-- <van-field label="实施情况公开" input-align="right" label-width="auto" readonly />
<van-field v-model="form.ssqkgk" type="textarea" placeholder="请输入实施情况公开" rows="2" required :rules="[{ required: true , message:'请输入实施情况公开' }]" /> -->
<van-field label="备注" input-align="right" label-width="auto"/> <van-field label="备注" input-align="right" label-width="auto"/>
<van-field v-model="form.remark" type="textarea" placeholder="请输入备注" rows="2"/> <van-field v-model="form.remark" type="textarea" placeholder="请输入备注" rows="2"/>
</div> </div>
@@ -214,6 +207,41 @@
this.getForm(); this.getForm();
}, },
methods: { methods: {
eventContentUpdateData(e = ''){
let c1 = e.replace(/<img width="100%"/g, '<img');
let c2 = c1.replace(/<img/g, '<img width="100%"');
this.form.eventContent = c2;
},
dzbtyUpdateData(e = ''){
let c1 = e.replace(/<img width="100%"/g, '<img');
let c2 = c1.replace(/<img/g, '<img width="100%"');
this.form.dzbty = c2;
},
lwhsyUpdateData(e = ''){
let c1 = e.replace(/<img width="100%"/g, '<img');
let c2 = c1.replace(/<img/g, '<img width="100%"');
this.form.lwhsy = c2;
},
dqyshsyhjyUpdateData(e = ''){
let c1 = e.replace(/<img width="100%"/g, '<img');
let c2 = c1.replace(/<img/g, '<img width="100%"');
this.form.dqyshsyhjy = c2;
},
cydbhjyUpdateData(e = ''){
let c1 = e.replace(/<img width="100%"/g, '<img');
let c2 = c1.replace(/<img/g, '<img width="100%"');
this.form.cydbhjy = c2;
},
jcjggkUpdateData(e = ''){
let c1 = e.replace(/<img width="100%"/g, '<img');
let c2 = c1.replace(/<img/g, '<img width="100%"');
this.form.jcjggk = c2;
},
ssqkgkUpdateData(e = ''){
let c1 = e.replace(/<img width="100%"/g, '<img');
let c2 = c1.replace(/<img/g, '<img width="100%"');
this.form.ssqkgk = c2;
},
// 表单重置 // 表单重置
reset() { reset() {
this.form = { this.form = {
@@ -236,6 +264,7 @@
dzbty: null, dzbty: null,
lwhsy: null, lwhsy: null,
dqyshsyhjy: null, dqyshsyhjy: null,
cydbhjy: null,
jcjggk: null, jcjggk: null,
ssqkgk: null, ssqkgk: null,
remark: null, remark: null,


+ 59
- 54
src/views/sunVillage_info/bankAgriculture/paymentApproval/collectionAdd.vue Ver fichero

@@ -1,21 +1,15 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<!-- <van-nav-bar-->
<!-- left-arrow-->
<!-- fixed-->
<!-- placeholder-->
<!-- @click-left="goBack"-->
<!-- >-->
<!-- <template #title>-->
<!-- <p style="font-weight: bold;">添加收款账户信息</p>-->
<!-- </template>-->
<!-- </van-nav-bar>-->

<div class="header_main">
添加收款账户信息
<div class="return_btn" @click="onClickLeft"></div>
<!-- <div class="add_btn" @click="goAdd"></div>-->
</div>
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="goBack"
>
<template #title>
<p style="font-weight: bold;">添加收款账户信息</p>
</template>
</van-nav-bar>


<van-form @submit="goAdd" @failed="getError" :show-error-message="false" scroll-to-error validate-first> <van-form @submit="goAdd" @failed="getError" :show-error-message="false" scroll-to-error validate-first>
<p class="main_title">基础信息</p> <p class="main_title">基础信息</p>
@@ -70,6 +64,7 @@
/> />
</van-popup> </van-popup>
<van-field label="联行号" readonly required :rules="[{ required: true , message:'请输入联行号' }]" v-model="form.payeePaymentLines" input-align="right" label-width="auto"/> <van-field label="联行号" readonly required :rules="[{ required: true , message:'请输入联行号' }]" v-model="form.payeePaymentLines" input-align="right" label-width="auto"/>
<van-field label="上级清算行" v-model="form.clearingBank" input-align="right" label-width="auto" disabled/>
</div> </div>


<div class="main_box" style="margin-top: 10px;"> <div class="main_box" style="margin-top: 10px;">
@@ -137,6 +132,7 @@
showBankType:false, showBankType:false,
showBankDeposit:false, showBankDeposit:false,
showPayeeType:false, showPayeeType:false,
depositListShow:false,
bankDepositValue:'', bankDepositValue:'',
form:{ form:{
accountType:'1', accountType:'1',
@@ -160,7 +156,7 @@
const bankType = this.$route.params.bankType; const bankType = this.$route.params.bankType;
console.log(this.$route.params.option) console.log(this.$route.params.option)
if (accountType){this.form.accountType = accountType;} if (accountType){this.form.accountType = accountType;}
if (isPeers){
if (isPeers && (bankType == 2 || bankType == 3)){
this.form.isPeers = isPeers; this.form.isPeers = isPeers;
if (isPeers == 'Y'){ if (isPeers == 'Y'){
this.isPeersRead = false; this.isPeersRead = false;
@@ -218,7 +214,7 @@
this.bankDepositOptions = [] this.bankDepositOptions = []
for(var i = 0 ; i < response.rows.length ; i++){ for(var i = 0 ; i < response.rows.length ; i++){
this.bankDepositOptions.push({"text":response.rows[i].bankDeposit,"value":response.rows[i].id, this.bankDepositOptions.push({"text":response.rows[i].bankDeposit,"value":response.rows[i].id,
"payeePaymentLines":response.rows[i].payeePaymentLines,"institutionNumber":response.rows[i].institutionNumber});
"payeePaymentLines":response.rows[i].payeePaymentLines,"institutionNumber":response.rows[i].institutionNumber,"clearingBank":response.rows[i].clearingBank});
} }
}); });
}, },
@@ -233,16 +229,19 @@
this.bankDepositOptions = [] this.bankDepositOptions = []
for(var i = 0 ; i < response.rows.length ; i++){ for(var i = 0 ; i < response.rows.length ; i++){
this.bankDepositOptions.push({"text":response.rows[i].bankDeposit,"value":response.rows[i].id, this.bankDepositOptions.push({"text":response.rows[i].bankDeposit,"value":response.rows[i].id,
"payeePaymentLines":response.rows[i].payeePaymentLines,"institutionNumber":response.rows[i].institutionNumber});
"payeePaymentLines":response.rows[i].payeePaymentLines,"institutionNumber":response.rows[i].institutionNumber,"clearingBank":response.rows[i].clearingBank});
} }
}); });
}, },
onConfirmBankDeposit(data){ onConfirmBankDeposit(data){
console.log(data)
this.bankDeposit = data.text this.bankDeposit = data.text
this.form.bankDeposit = data.text this.form.bankDeposit = data.text
this.form.payeePaymentLines = data.payeePaymentLines this.form.payeePaymentLines = data.payeePaymentLines
this.form.clearingBank = data.clearingBank
this.form.alternateField10 = data.institutionNumber this.form.alternateField10 = data.institutionNumber
this.showBankDeposit = false; this.showBankDeposit = false;
this.depositListShow = false;
}, },
onConfirmPayeeType(data){ onConfirmPayeeType(data){
this.payeeType = data.text; this.payeeType = data.text;
@@ -255,54 +254,60 @@
this.$toast.success('新增成功'); this.$toast.success('新增成功');
setTimeout(function(){ setTimeout(function(){
that.form.bankTypeText = that.bankType; that.form.bankTypeText = that.bankType;
that.$router.push({name: 'approvalAdd', params: { payeeForm: that.form }});
that.$router.push({name: 'sunVillageApprovalAdd', params: { payeeForm: that.form }});
// history.go(-1) // history.go(-1)
},2000) },2000)
}); });
}, },
goBack(){ goBack(){
window.history.go(-1) window.history.go(-1)
},
selectDeposit(val){
//depositListShow
if (val == '' || this.bankDeposit == ''){return;}
this.depositListShow = true;

let queryParams={
"bankType":this.form.bankType,
"status": "0",
"bankDeposit":this.bankDeposit,
"pageNum":1,
"pageSize":10
}

listDeposit(queryParams).then(response => {
this.bankDepositOptions = []
for(var i = 0 ; i < response.rows.length ; i++){
this.bankDepositOptions.push(
{
"text":response.rows[i].bankDeposit,
"value":response.rows[i].id,
"payeePaymentLines":response.rows[i].payeePaymentLines,
"institutionNumber":response.rows[i].institutionNumber,"clearingBank":response.rows[i].clearingBank
}
);
}
});

} }
}, },
} }
</script> </script>


<style scoped lang="scss"> <style scoped lang="scss">
.deposit_list{
height: 18vh;
width: 96%;
position: absolute;
background: #fff;
box-shadow: 0 10PX 10PX rgba(0, 0, 0, .5);
left: 2%;
z-index: 9;
border-radius: 0 0 5PX 5PX;
overflow-y: scroll;
}
.app-container { .app-container {
padding-bottom: 2%;
.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;
margin-bottom: 2%;
.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;
}
}
padding: 2% 0;
} }
.main_title{ .main_title{
font-size: 0.4rem; font-size: 0.4rem;


+ 57
- 53
src/views/sunVillage_info/bankAgriculture/paymentApproval/collectionAdd2.vue Ver fichero

@@ -1,21 +1,15 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<!-- <van-nav-bar-->
<!-- left-arrow-->
<!-- fixed-->
<!-- placeholder-->
<!-- @click-left="goBack"-->
<!-- >-->
<!-- <template #title>-->
<!-- <p style="font-weight: bold;">添加收款账户信息</p>-->
<!-- </template>-->
<!-- </van-nav-bar>-->

<div class="header_main">
添加收款账户信息
<div class="return_btn" @click="onClickLeft"></div>
<!-- <div class="add_btn" @click="goAdd"></div>-->
</div>
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="goBack"
>
<template #title>
<p style="font-weight: bold;">添加收款账户信息</p>
</template>
</van-nav-bar>


<van-form @submit="goAdd" @failed="getError" :show-error-message="false" scroll-to-error validate-first> <van-form @submit="goAdd" @failed="getError" :show-error-message="false" scroll-to-error validate-first>
<p class="main_title">基础信息</p> <p class="main_title">基础信息</p>
@@ -70,6 +64,7 @@
/> />
</van-popup> </van-popup>
<van-field label="联行号" readonly required :rules="[{ required: true , message:'请输入联行号' }]" v-model="form.payeePaymentLines" input-align="right" label-width="auto"/> <van-field label="联行号" readonly required :rules="[{ required: true , message:'请输入联行号' }]" v-model="form.payeePaymentLines" input-align="right" label-width="auto"/>
<van-field label="上级清算行" v-model="form.clearingBank" input-align="right" label-width="auto" disabled/>
</div> </div>


<div class="main_box" style="margin-top: 10px;"> <div class="main_box" style="margin-top: 10px;">
@@ -137,6 +132,7 @@
showBankType:false, showBankType:false,
showBankDeposit:false, showBankDeposit:false,
showPayeeType:false, showPayeeType:false,
depositListShow:false,
bankDepositValue:'', bankDepositValue:'',
form:{ form:{
accountType:'1', accountType:'1',
@@ -218,7 +214,7 @@
this.bankDepositOptions = [] this.bankDepositOptions = []
for(var i = 0 ; i < response.rows.length ; i++){ for(var i = 0 ; i < response.rows.length ; i++){
this.bankDepositOptions.push({"text":response.rows[i].bankDeposit,"value":response.rows[i].id, this.bankDepositOptions.push({"text":response.rows[i].bankDeposit,"value":response.rows[i].id,
"payeePaymentLines":response.rows[i].payeePaymentLines,"institutionNumber":response.rows[i].institutionNumber});
"payeePaymentLines":response.rows[i].payeePaymentLines,"institutionNumber":response.rows[i].institutionNumber,"clearingBank":response.rows[i].clearingBank});
} }
}); });
}, },
@@ -233,7 +229,7 @@
this.bankDepositOptions = [] this.bankDepositOptions = []
for(var i = 0 ; i < response.rows.length ; i++){ for(var i = 0 ; i < response.rows.length ; i++){
this.bankDepositOptions.push({"text":response.rows[i].bankDeposit,"value":response.rows[i].id, this.bankDepositOptions.push({"text":response.rows[i].bankDeposit,"value":response.rows[i].id,
"payeePaymentLines":response.rows[i].payeePaymentLines,"institutionNumber":response.rows[i].institutionNumber});
"payeePaymentLines":response.rows[i].payeePaymentLines,"institutionNumber":response.rows[i].institutionNumber,"clearingBank":response.rows[i].clearingBank});
} }
}); });
}, },
@@ -241,8 +237,10 @@
this.bankDeposit = data.text this.bankDeposit = data.text
this.form.bankDeposit = data.text this.form.bankDeposit = data.text
this.form.payeePaymentLines = data.payeePaymentLines this.form.payeePaymentLines = data.payeePaymentLines
this.form.clearingBank = data.clearingBank
this.form.alternateField10 = data.institutionNumber this.form.alternateField10 = data.institutionNumber
this.showBankDeposit = false; this.showBankDeposit = false;
this.depositListShow = false;
}, },
onConfirmPayeeType(data){ onConfirmPayeeType(data){
this.payeeType = data.text; this.payeeType = data.text;
@@ -255,54 +253,60 @@
this.$toast.success('新增成功'); this.$toast.success('新增成功');
setTimeout(function(){ setTimeout(function(){
that.form.bankTypeText = that.bankType; that.form.bankTypeText = that.bankType;
that.$router.push({name: 'approvalAdd2', params: { payeeForm: that.form }});
that.$router.push({name: 'sunVillageApprovalAdd2', params: { payeeForm: that.form }});
// history.go(-1) // history.go(-1)
},2000) },2000)
}); });
}, },
goBack(){ goBack(){
window.history.go(-1) window.history.go(-1)
},
selectDeposit(val){
//depositListShow
if (val == '' || this.bankDeposit == ''){return;}
this.depositListShow = true;

let queryParams={
"bankType":this.form.bankType,
"status": "0",
"bankDeposit":this.bankDeposit,
"pageNum":1,
"pageSize":10
}

listDeposit(queryParams).then(response => {
this.bankDepositOptions = []
for(var i = 0 ; i < response.rows.length ; i++){
this.bankDepositOptions.push(
{
"text":response.rows[i].bankDeposit,
"value":response.rows[i].id,
"payeePaymentLines":response.rows[i].payeePaymentLines,
"institutionNumber":response.rows[i].institutionNumber,"clearingBank":response.rows[i].clearingBank
}
);
}
});

} }
}, },
} }
</script> </script>


<style scoped lang="scss"> <style scoped lang="scss">
.deposit_list{
height: 18vh;
width: 96%;
position: absolute;
background: #fff;
box-shadow: 0 10PX 10PX rgba(0, 0, 0, .5);
left: 2%;
z-index: 9;
border-radius: 0 0 5PX 5PX;
overflow-y: scroll;
}
.app-container { .app-container {
padding-bottom: 2%;
.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;
margin-bottom: 2%;
.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;
}
}
padding: 2% 0;
} }
.main_title{ .main_title{
font-size: 0.4rem; font-size: 0.4rem;


+ 5
- 3
src/views/sunVillage_info/bankAgriculture/paymentApproval/collectionApprovalAdd.vue Ver fichero

@@ -64,6 +64,7 @@
/> />
</van-popup> </van-popup>
<van-field label="联行号" readonly required :rules="[{ required: true , message:'请输入联行号' }]" v-model="form.payeePaymentLines" input-align="right" label-width="auto"/> <van-field label="联行号" readonly required :rules="[{ required: true , message:'请输入联行号' }]" v-model="form.payeePaymentLines" input-align="right" label-width="auto"/>
<van-field label="上级清算行" v-model="form.clearingBank" input-align="right" label-width="auto" disabled/>
</div> </div>


<div class="main_box" style="margin-top: 10px;"> <div class="main_box" style="margin-top: 10px;">
@@ -214,7 +215,7 @@
this.bankDepositOptions = [] this.bankDepositOptions = []
for(var i = 0 ; i < response.rows.length ; i++){ for(var i = 0 ; i < response.rows.length ; i++){
this.bankDepositOptions.push({"text":response.rows[i].bankDeposit,"value":response.rows[i].id, this.bankDepositOptions.push({"text":response.rows[i].bankDeposit,"value":response.rows[i].id,
"payeePaymentLines":response.rows[i].payeePaymentLines,"institutionNumber":response.rows[i].institutionNumber});
"payeePaymentLines":response.rows[i].payeePaymentLines,"institutionNumber":response.rows[i].institutionNumber,"clearingBank":response.rows[i].clearingBank});
} }
}); });
}, },
@@ -229,7 +230,7 @@
this.bankDepositOptions = [] this.bankDepositOptions = []
for(var i = 0 ; i < response.rows.length ; i++){ for(var i = 0 ; i < response.rows.length ; i++){
this.bankDepositOptions.push({"text":response.rows[i].bankDeposit,"value":response.rows[i].id, this.bankDepositOptions.push({"text":response.rows[i].bankDeposit,"value":response.rows[i].id,
"payeePaymentLines":response.rows[i].payeePaymentLines,"institutionNumber":response.rows[i].institutionNumber});
"payeePaymentLines":response.rows[i].payeePaymentLines,"institutionNumber":response.rows[i].institutionNumber,"clearingBank":response.rows[i].clearingBank});
} }
}); });
}, },
@@ -237,6 +238,7 @@
this.bankDeposit = data.text this.bankDeposit = data.text
this.form.bankDeposit = data.text this.form.bankDeposit = data.text
this.form.payeePaymentLines = data.payeePaymentLines this.form.payeePaymentLines = data.payeePaymentLines
this.form.clearingBank = data.clearingBank
this.form.alternateField10 = data.institutionNumber this.form.alternateField10 = data.institutionNumber
this.showBankDeposit = false; this.showBankDeposit = false;
}, },
@@ -251,7 +253,7 @@
this.$toast.success('新增成功'); this.$toast.success('新增成功');
setTimeout(function(){ setTimeout(function(){
that.form.bankTypeText = that.bankType; that.form.bankTypeText = that.bankType;
that.$router.push({name: 'approvalModify', params: { payeeForm: that.form , id : that.id}});
that.$router.push({name: 'sunVillageApprovalModify', params: { payeeForm: that.form , id : that.id}});
// history.go(-1) // history.go(-1)
},2000) },2000)
}); });


+ 87
- 12
src/views/sunVillage_info/fixedAssets.vue Ver fichero

@@ -8,8 +8,9 @@
<div class="search_info"> <div class="search_info">
<div class="search_block"> <div class="search_block">
<i class="icon"></i> <i class="icon"></i>
<input type="text" class="ipt" v-model="queryParams.name" placeholder="搜索" @input="getSearchList">
<!-- -->
<input type="text" class="ipt" v-model="queryParams.name" :placeholder="searchPlaceholder" @input="getSearchList">

<van-icon name="filter-o" color="#1989fa" class="filter-icon" @click="openAssetType" />
</div> </div>
<div class="total">共{{listLength}}个资产</div> <div class="total">共{{listLength}}个资产</div>
</div> </div>
@@ -70,6 +71,34 @@
</div> </div>
</van-popup> </van-popup>


<van-popup v-model="typeVisible" lock-scroll closeable position="top" >
<div style="padding: 0.2rem 0.3rem 0.3rem;">
<van-cell-group>
<van-cell>
<div style="text-align: center; font-size: 18px;">筛选</div>
</van-cell>
<van-cell>
<van-checkbox v-model="queryParams.noMap" :border="false">未上图</van-checkbox>
</van-cell>
<van-cell>
<van-checkbox v-model="queryParams.params.noAttachment" :border="false">无附件</van-checkbox>
</van-cell>
<field-select
v-model="queryParams.operationType"
label="经营属性"
value-key="dictLabel"
data-key="dictValue"
placeholder="选择经营属性"
:columns="operation_type"
:clearable="true"
/>
</van-cell-group>
<div style="padding: 0.2rem 0.5rem 0;">
<van-button round type="primary" block @click="refresh">搜索</van-button>
</div>
</div>
</van-popup>

</div> </div>
</template> </template>
<script> <script>
@@ -85,9 +114,13 @@
} from "@/api/sunVillage_info/fixedAssets"; } from "@/api/sunVillage_info/fixedAssets";
import request from '@/utils/request' import request from '@/utils/request'
import MapGisTag from "@/components/Map/MapGisTagDTGCopy"; import MapGisTag from "@/components/Map/MapGisTagDTGCopy";
import Selector from "@/components/common/Selector.vue";
import FieldSelect from "@/components/form/FieldSelect.vue";
export default { export default {
name: "certificateList", name: "certificateList",
components: { components: {
FieldSelect,
Selector,
MapGisTag MapGisTag
}, },
data() { data() {
@@ -107,6 +140,11 @@
orderByColumn:'createTime', orderByColumn:'createTime',
isAsc:'desc', isAsc:'desc',
name:'', name:'',
operationType: null,
noMap: false,
params: {
noAttachment: false,
},
}, },
uploadFiles1:[], uploadFiles1:[],
projectId:'', projectId:'',
@@ -117,6 +155,8 @@
listMap:0, listMap:0,
permanentId: null, // 固定资产ID permanentId: null, // 固定资产ID
permanents: [], // 固定资产列表,存储本账套下所有的固定资产信息 permanents: [], // 固定资产列表,存储本账套下所有的固定资产信息
typeVisible: false,
operation_type: [],
}; };
}, },
created() { created() {
@@ -129,6 +169,9 @@
this.houseGetDicts("use_type").then((response) => { this.houseGetDicts("use_type").then((response) => {
this.useTypeOptions = response.data; this.useTypeOptions = response.data;
}); });
this.houseGetDicts("operation_type").then((response) => {
this.operation_type = response.data;
});
}, },
methods: { methods: {
openMap(id, theGeom,index){ openMap(id, theGeom,index){
@@ -288,7 +331,24 @@
goAdd(){ goAdd(){
this.$router.push('/sunVillage_info/fixedAssetsAdd') this.$router.push('/sunVillage_info/fixedAssetsAdd')
}, },
openAssetType() {
this.typeVisible = true;
},
refresh() {
this.typeVisible = false;
this.queryParams.pageNum = 1;
this.listLength = 0;
this.applicationList = [];
this.finished = false;
this.getList();
},
}, },
computed: {
searchPlaceholder() {
let typeName = this.operation_type.find((x) => x.dictValue == this.queryParams.operationType);
return '搜索' + (typeName ? `${typeName.dictLabel}资产` : '');
},
}
} }
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@@ -340,23 +400,38 @@
background: #fff; background: #fff;
display: flex; display: flex;
border:2px solid #3494ff; border:2px solid #3494ff;
padding-right: 35px;
padding-right: 20px;
align-items: center; align-items: center;
position: relative;
.icon{ .icon{
width: 30px; width: 30px;
height: 30px; height: 30px;
background: url('../../assets/images/sunVillage_info/fixedAssets_icon_1.png') no-repeat; background: url('../../assets/images/sunVillage_info/fixedAssets_icon_1.png') no-repeat;
background-size: 100% 100%; background-size: 100% 100%;
display: block;
display: inline-block;
margin:0 8px 0 26px; margin:0 8px 0 26px;
}
.ipt{
flex: 1;
font-size: 26px;
background: none;
border:0 none;
line-height: 59px;
}
position: absolute;
left: 0;
bottom: 0.15rem;
}
.ipt{
flex: 1;
font-size: 26px;
background: none;
border:0 none;
line-height: 59px;
display: inline-block;
margin-left: 64px;
}
.filter-icon {
font-weight: bold;
font-size: .4rem;
width: .6rem;
text-align: center;
position: absolute;
right: 0.2rem;
bottom: 0.15rem;
}
} }
.total{ .total{
flex: 1; flex: 1;


+ 72
- 18
src/views/sunVillage_info/fixedAssetsAdd.vue Ver fichero

@@ -209,7 +209,7 @@


<van-field label="净残值(元)" input-align="right" :border="false"> <van-field label="净残值(元)" input-align="right" :border="false">
<template #input> <template #input>
<van-stepper v-model="form.netSalvage" input-width="100" min="0.00" :decimal-length="2" @change="changeNetSalvage" />
<van-stepper v-model="form.netSalvage" input-width="100" min="0.00" :decimal-length="2" @changexxx="changeNetSalvage" />
</template> </template>
</van-field> </van-field>


@@ -262,7 +262,12 @@
<van-stepper v-model="form.depreciationYears" input-width="100" min="0" @change="changeDepreciationYears" /> <van-stepper v-model="form.depreciationYears" input-width="100" min="0" @change="changeDepreciationYears" />
</template> </template>
</van-field> </van-field>
<van-field readonly v-model="form.depreciationValue" label="累计折旧(元)" placeholder="0" input-align="right" :border="false" @change="changeDepreciationValue" />
<van-field v-model="form.depreciationValue" label="累计折旧(元)" placeholder="0" input-align="right" :border="false" @change="changeDepreciationValue"
>
<template #button>
<van-button size="small" type="primary" round @click="calcDepreciationValue" native-type="button">重新计算</van-button>
</template>
</van-field>
</div> </div>


<div style="margin: 16px auto;width: 50%;"> <div style="margin: 16px auto;width: 50%;">
@@ -282,7 +287,6 @@
minDate:new Date(1900,1,1), minDate:new Date(1900,1,1),
applicationList:[], applicationList:[],
applicationListSecond:[], applicationListSecond:[],
assetStatusOptions:[],
form:{ form:{
assetType:'151001', assetType:'151001',
operationType:'1', operationType:'1',
@@ -433,18 +437,42 @@
}, },
// 累计折旧变动监听 // 累计折旧变动监听
changeDepreciationValue(val) { changeDepreciationValue(val) {
if (this.form.originalValue != null) {
// 净值 = 原值-累计折旧
this.form.netValue = this.form.originalValue - val;
}
if (val == null)
return;

// 每期折旧额 = (原值-净残值)/ 预计使用期数
let depreciation = this.form.originalValue - this.form.netSalvage;
depreciation -= val;
let periods = this.form.expectedYears - (this.form.depreciationYears || 0);
if(periods > 0 && depreciation > 0)
this.form.perYearDepreciationValue = (depreciation / periods).toFixed(2);
else
this.form.perYearDepreciationValue = 0;

// 净值 = 原值-累计折旧
this.form.netValue = (this.form.originalValue || 0) - val;
}, },


// 残值率变动监听 // 残值率变动监听
changeResidualsRate(val) { changeResidualsRate(val) {
if (this.form.originalValue != null) {
// 净残值 = 原值*残值率
this.form.netSalvage = (this.form.originalValue * val) / 100;
if (val == null)
return;

// 净残值 = 原值*残值率
this.form.netSalvage = val > 0 ? ((this.form.originalValue * val) / 100).toFixed(2) : 0;

if (this.form.expectedYears > 0) {
// 每期折旧额 = (原值-净残值)/ 预计使用期数
let depreciation = this.form.originalValue - (this.form.netSalvage || 0);
depreciation -= (this.form.depreciationValue || 0);
let periods = this.form.expectedYears - (this.form.depreciationYears || 0);
if(periods > 0 && depreciation > 0)
this.form.perYearDepreciationValue = (depreciation / periods).toFixed(2);
else
this.form.perYearDepreciationValue = 0;
} }
else
this.form.perYearDepreciationValue = 0;
}, },


// 净残值变动监听 // 净残值变动监听
@@ -458,18 +486,36 @@


// 预计使用年数变动监听 // 预计使用年数变动监听
changeExpectedYears(val) { changeExpectedYears(val) {
if (this.form.originalValue != null && this.form.netSalvage != null) {
// 每年折旧额:(原值-净残值)/ 预计使用年数
this.form.perYearDepreciationValue =
(this.form.originalValue - this.form.netSalvage) / val;
}
if (val == null)
return;

// 每期折旧额 = (原值-净残值)/ 预计使用期数
let depreciation = this.form.originalValue - this.form.netSalvage;
depreciation -= this.form.depreciationValue;
let periods = val - (this.form.depreciationYears || 0);
if(periods > 0 && depreciation > 0)
this.form.perYearDepreciationValue = (depreciation / periods).toFixed(2);
else
this.form.perYearDepreciationValue = 0;
}, },


// 已折旧年数变动监听 // 已折旧年数变动监听
changeDepreciationYears(val) { changeDepreciationYears(val) {
if (this.form.perYearDepreciationValue != null) {
this.form.depreciationValue = val * this.form.perYearDepreciationValue;
if (val == null)
return;

//if(!this.form.depreciationValueManual)
{
if (this.form.perYearDepreciationValue > 0) {
// 累计折旧 = 已折旧期数 * 每期折旧额
this.form.depreciationValue = val * this.form.perYearDepreciationValue;
}
else
this.form.depreciationValue = 0;
} }

// 净值 = 原值-累计折旧
this.form.netValue = (this.form.originalValue || 0) - (this.form.depreciationValue || 0);
}, },
onSubmit(){ onSubmit(){
addPermanent(this.form).then((response) => { addPermanent(this.form).then((response) => {
@@ -480,7 +526,15 @@
},2000) },2000)
} }
}); });
}
},
calcDepreciationValue() {
this.form.depreciationValue = 0;
const depreciationYears = this.form.depreciationYears;
this.form.depreciationYears = 0;
this.changeOriginalValue(this.form.originalValue);
this.form.depreciationYears = depreciationYears;
this.changeDepreciationYears(depreciationYears);
},
}, },
} }
</script> </script>


+ 1
- 2
src/views/sunVillage_info/fixedAssetsEdit.vue Ver fichero

@@ -260,7 +260,7 @@
<van-stepper v-model="form.depreciationYears" input-width="100" min="0" @change="changeDepreciationYears" /> <van-stepper v-model="form.depreciationYears" input-width="100" min="0" @change="changeDepreciationYears" />
</template> </template>
</van-field> </van-field>
<van-field readonly v-model="form.depreciationValue" label="累计折旧(元)" placeholder="0" input-align="right" :border="false" @change="changeDepreciationValue" />
<van-field v-model="form.depreciationValue" label="累计折旧(元)" placeholder="0" input-align="right" :border="false" @change="changeDepreciationValue" />
</div> </div>


<div style="margin: 16px auto;width: 50%;"> <div style="margin: 16px auto;width: 50%;">
@@ -321,7 +321,6 @@
showUseType:false, showUseType:false,
useType:'自用', useType:'自用',
//资产状态 //资产状态
assetStatusOptions:[],
showAssetStatus:false, showAssetStatus:false,
assetStatus:'正常', assetStatus:'正常',
//资产状态 //资产状态


+ 10
- 10
src/views/sunVillage_info/index.vue Ver fichero

@@ -15,7 +15,7 @@
</div> </div>
<van-popover v-model="showPopover" trigger="click" placement="bottom-end" @select="selectChange"> <van-popover v-model="showPopover" trigger="click" placement="bottom-end" @select="selectChange">
<div style="width: 4rem;"> <div style="width: 4rem;">
<van-cell :title="item.text" @click="selectChange({index:index})" :border="false" :icon="item.icon" v-for="(item,index) in actions" :key="index" />
<van-cell :title="item.text" @click="selectChange(item)" :border="false" :icon="item.icon" v-for="(item,index) in actions" :key="index" />
</div> </div>
<template #reference> <template #reference>
<div class="exit_btn"> <div class="exit_btn">
@@ -220,15 +220,15 @@
}) })
}, },
selectChange(val){ selectChange(val){
val.index == 0 ? this.$router.push({path:"/sunVillage_info/user"}) :
val.index == 1 ? this.$router.push({path:"/sunVillage_info/passWord"}) :
val.index == 2 ? this.$router.push({path:"../yinnong/my"}) :
val.index == 3 ? this.$router.push({path:"../homesteadSurvey/index"}) :
val.index == 4 ? this.$router.push({path:"../contracted/index"}) :
val.index == 5 ? this.$router.push({path:"../lawEnforcement/index_new"}) :
val.index == 6 ? this.$router.push({path:"../agriculturalTrusteeship/index"}) :
val.index == 7 ? this.$router.push({path:"../index"}) :
val.index == 8 ? this.logout() : '';
val.icon === 'manager-o' ? this.$router.push({path:"/sunVillage_info/user"}) :
val.icon === 'edit' ? this.$router.push({path:"/sunVillage_info/passWord"}) :
val.icon === 'todo-list-o' ? this.$router.push({path:"../yinnong/my"}) :
val.icon === 'newspaper-o' ? this.$router.push({path:"../homesteadSurvey/index"}) :
val.icon === 'orders-o' ? this.$router.push({path:"../contracted/index"}) :
val.icon === 'label-o' ? this.$router.push({path:"../lawEnforcement/index_new"}) :
val.icon === 'notes-o' ? this.$router.push({path:"../agriculturalTrusteeship/index"}) :
val.icon === 'home-o' ? this.$router.push({path:"../index"}) :
val.icon === 'revoke' ? this.logout() : '';
} }
}, },
} }


+ 3
- 1
src/views/sunVillage_info/index_code.vue Ver fichero

@@ -71,6 +71,7 @@
import {bookInfo, nologinMenus} from "@/api/sunVillage_info/fixedAssets"; import {bookInfo, nologinMenus} from "@/api/sunVillage_info/fixedAssets";
import { sysConfig } from "@/api/homesteadSurvey/index"; import { sysConfig } from "@/api/homesteadSurvey/index";
import Cookies from "js-cookie"; import Cookies from "js-cookie";
import { removeToken } from '@/utils/auth'
import {bookListByDept} from "@/api/onlineHome/villageAffairs"; import {bookListByDept} from "@/api/onlineHome/villageAffairs";
export default { export default {
name: "sunVillageInfoIndexCode", name: "sunVillageInfoIndexCode",
@@ -99,6 +100,7 @@ import {bookListByDept} from "@/api/onlineHome/villageAffairs";
bookVisbile:false, bookVisbile:false,
bookList:[], bookList:[],
bookId:"", bookId:"",
deptId:"",
book:"", book:"",


configValue:'' configValue:''
@@ -106,7 +108,7 @@ import {bookListByDept} from "@/api/onlineHome/villageAffairs";
}, },
created() { created() {
//console.log(this.$store) //console.log(this.$store)
removeToken();
if(this.$route.query.bookId){ if(this.$route.query.bookId){
bookInfo(this.$route.query.bookId).then((res) => { bookInfo(this.$route.query.bookId).then((res) => {
if (res.code == 200) { if (res.code == 200) {


+ 14
- 10
src/views/sunVillage_info/index_code_rights.vue Ver fichero

@@ -22,7 +22,7 @@
v-for="(childrenItem,childrenIdx) in item.menus" v-for="(childrenItem,childrenIdx) in item.menus"
:key="childrenItem.id" :key="childrenItem.id"
:to="{name:childrenItem.menuUrl,query:{type:'code',typeX:childrenItem.urlPara}}" :to="{name:childrenItem.menuUrl,query:{type:'code',typeX:childrenItem.urlPara}}"
class="nav_item"
class="nav_item n_13"
:style="`background:url(${require('@/assets/images/sunVillage_info/' + childrenItem.menuIcon)}) no-repeat center top;background-size: 50%;`" :style="`background:url(${require('@/assets/images/sunVillage_info/' + childrenItem.menuIcon)}) no-repeat center top;background-size: 50%;`"
> >
{{childrenItem.menuName}} {{childrenItem.menuName}}
@@ -238,15 +238,15 @@
&:nth-child(3){ &:nth-child(3){
margin-right: 0; margin-right: 0;
} }
&:nth-child(4n+1){
margin-top: 15PX;
}
&:nth-child(5n+1){
margin-top: 15PX;
}
&:nth-child(6n+1){
margin-top: 15PX;
}
/*&:nth-child(4n+1){*/
/* margin-top: 15PX;*/
/*}*/
/*&:nth-child(5n+1){*/
/* margin-top: 15PX;*/
/* }*/
/*&:nth-child(6n+1){*/
/* margin-top: 15PX;*/
/* }*/
&:nth-child(1){ &:nth-child(1){
margin-top: 0PX; margin-top: 0PX;
} }
@@ -278,6 +278,10 @@
background: url('../../assets/images/sunVillage_info/tcIcon.png') no-repeat center top; background: url('../../assets/images/sunVillage_info/tcIcon.png') no-repeat center top;
background-size: 44.5PX; background-size: 44.5PX;
} }
&.n_13 {
background-size: 50%;
margin-bottom: 20PX;
}
&.n_77 { &.n_77 {
background: url('../../assets/images/sunVillage_info/index_block_77.png') no-repeat center top; background: url('../../assets/images/sunVillage_info/index_block_77.png') no-repeat center top;
background-size: 34.5PX; background-size: 34.5PX;


+ 254
- 0
src/views/sunVillage_info/index_code_rights_new.vue Ver fichero

@@ -0,0 +1,254 @@
<template>
<div class="home_wrapper">
<div class="head_main">
<div class="location">

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

<div class="address">{{bookName}}</div>

</div>
<div class="exit_btn" @click="goOut">
<p>{{userName}}</p>
<i class="icon"></i>
</div>
</div>
<img src="../../../static/images/sunVillage_info/code_new/sunVillage_info_index_code_right_header.png" style="display:block;width:94%;margin:0 auto;" alt="">
<div class="index_info">
<div class="nav_box">
<p class="nav_tit">公示公开</p>
<div class="nav_list">
<router-link
:to="{name:'sunVillageInfoRevenueAndExpendituresNew',query:{}}"
class="nav_item"
>
<img src="../../../static/images/sunVillage_info/code_new/1.png" style="display:block;" alt="">
<span>收支明细公开</span>
</router-link>
<router-link
:to="{name:'sunVillageInfoOperatingAssets',query:{}}"
class="nav_item"
>
<img src="../../../static/images/sunVillage_info/code_new/2.png" style="display:block;" alt="">
<span>经营性资产情况</span>
</router-link>
<router-link
:to="{name:'otherOpenVisitIndexNew',query:{}}"
class="nav_item"
>
<img src="../../../static/images/sunVillage_info/code_new/3.png" style="display:block;" alt="">
<span>其他公开</span>
</router-link>
</div>
</div>
</div>
<div class="footer">
{{tsdh}}
</div>
</div>
</template>
<script>
import {bookInfo, webList} from "@/api/sunVillage_info/fixedAssets";
import Cookies from "js-cookie";
import {sysConfig} from "@/api/homesteadSurvey";
export default {
name: "certificateList",
data() {
return {
wdqlList:[],
qqbzList:[],
deptIdOptions:[],
villageVisbile:false,
showBookList:false,
deptName:'',
//选中的值
villageValue: "",
//省市区区级list
hcAreaInfoOption: [],
hcAreaInfoFieldName: {
text: "label",
value: "value",
children: "children",
},
bookName:'',
queryParams: {
pageNum: 1,
pageSize: 100,
},
//账套列表
bookVisbile:false,
bookList:[],
bookId:"",
deptId:"",
book:"",
userName:"",
tsdh:"",
};
},
created() {
this.deptId = Cookies.get('deptId')
this.bookId = Cookies.get('bookId')
if(this.bookId)
{
bookInfo(this.bookId).then((res) => {
if (res.code == 200) {
this.deptName = res.data.deptName;
this.bookName = res.data.bookName;
}
});
}
if(Cookies.get('user')){
this.userName = JSON.parse(Cookies.get('user')).memberName
}
webList().then((res) => {
if (res.code == 200) {
var content = res.rows;
content.map(rr=>{
if (rr.configKey == 'web.open.phone'){
this.tsdh = rr.configValue;
}
})
}
});
},
methods: {
goCode(){
this.$router.push({path:'/sunVillage_info/login_code'})
},
goOut(){
// Cookies.remove("memberName");
// Cookies.remove("idcard");
Cookies.remove("user");
this.$router.push({name:'sunVillageInfoCodeLoginNew',query:{deptId:this.deptId,bookId:this.bookId}})
}
},
}
</script>
<style scoped lang="scss">
.fixed_btn{
position: fixed;
right: 0;
width: 115PX;
bottom: 15%;
border-top-left-radius: 115PX;
border-bottom-left-radius: 115PX;
box-shadow: 0px 2px 5px #ccc;
}
.home_wrapper{
width: 100vw;
min-height: 100vh;
background: #F5F6F9 url('../../../static/images/sunVillage_info/page_bg.png') no-repeat top center;
background-size: 100% auto;
.head_main{
position: relative;
display: flex;
align-items: self-start;
justify-content: space-between;
width: 94%;
margin: 0 auto;
padding: 2vh 0 0;
.location{
line-height: 42px;
display: flex;
flex-direction: column;
align-items: self-start;
.address{
padding:0 18PX;
background:rgba(255,255,255,0.75);
border-radius: 42px;
font-size: 28px;
color: #3f3d56;
margin-right: 12px;
display: flex;
align-items:center;
margin-bottom: 10PX;
.icon{
display: block;
width: 20px;
height: 26px;
background: url('../../../static/images/sunVillage_info/index_icon_1.png') no-repeat;
background-size: 100% 100%;
margin-right: 10PX;
}
}
.user{
.icon{
width: 32px;
height: 32px;
background: url('../../assets/images/sunVillage_info/user_icon.png') no-repeat!important;
background-size: 100% 100%;
}
}
}
.exit_btn{
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
p{
background: #3f3d56;
color: #ffffff;
padding: 3PX 15PX;
position: relative;
right: -6PX;
border-top-left-radius: 20PX;
border-bottom-left-radius: 20PX;
box-shadow: -3PX 2PX 4PX rgba(0,0,0,0.3);
}
.icon{
width: 61px;
height: 61px;
background: url('../../assets/images/sunVillage_info/login_head_h_rights.png') no-repeat;
background-size: 100% 100%;
box-shadow: -3PX 2PX 4PX rgba(0,0,0,0.3);
border-radius: 100%;
}
}
}
.index_info{
/*padding-top: 4.1vh;*/
.title{
width: 521px;
height: 52px;
background: url('../../assets/images/sunVillage_info/index_title2_rights.png') no-repeat;
background-size: 100% 100%;
margin:0 auto;
}
.nav_box{
margin: 0 auto;
padding: 30px 30px 40px;
.nav_tit{
font-size: 35px;
margin-bottom: 15PX;
font-weight: bold;
}
.nav_list{
display: flex;
flex-flow: wrap;
justify-content: space-between;
.nav_item{
font-size: 24px;
text-align: center;
width: 30%;
position: relative;
span{
position: absolute;
bottom: 20%;
color: #ffffff;
display: block;
width: 100%;
text-align: center;
}
}
}
}
}
.footer{
position: absolute;
bottom: 2vh;
width: 100%;
color: #707070;
text-align: center;
}
}
</style>

+ 62
- 32
src/views/sunVillage_info/list_cbfsq.vue Ver fichero

@@ -11,7 +11,7 @@
</div> </div>


<van-tabs v-model="active" animated> <van-tabs v-model="active" animated>
<van-tab title="承包方">
<!--<van-tab title="承包方">
<van-field readonly v-model="cbfTypeName" label="承包方类型" placeholder="承包方类型" input-align="right" :border="false" /> <van-field readonly v-model="cbfTypeName" label="承包方类型" placeholder="承包方类型" input-align="right" :border="false" />
<van-field readonly v-model="form.cbfbm" label="承包方代码" placeholder="承包方代码" input-align="right" :border="false" /> <van-field readonly v-model="form.cbfbm" label="承包方代码" placeholder="承包方代码" input-align="right" :border="false" />
<van-cell title="承包方名称" style="color: #646566;"> <van-cell title="承包方名称" style="color: #646566;">
@@ -70,8 +70,10 @@
</van-field> </van-field>
</van-cell> </van-cell>
</van-tab> </van-tab>
-->
<van-tab title="家庭成员"> <van-tab title="家庭成员">
<van-cell v-for="(item, index) in memberList" :key="item.id">
<div class="land_main" v-for="(item, index) in memberList" :key="item.id">
<van-cell>
<div class="member_item"> <div class="member_item">
<div class="item_left"> <div class="item_left">
<div class="item_left_tt"> <div class="item_left_tt">
@@ -94,8 +96,10 @@
<p class="item_right">{{ item.sfgyr }}</p> <p class="item_right">{{ item.sfgyr }}</p>
</div> </div>
</van-cell> </van-cell>
</div>
</van-tab> </van-tab>
<van-tab title="承包合同">

<!--<van-tab title="承包合同">
<van-field v-model="contractDetail.cbhtbm" label="承包合同代码:" placeholder="请输入承包合同代码" :border="false" input-align="right" readonly /> <van-field v-model="contractDetail.cbhtbm" label="承包合同代码:" placeholder="请输入承包合同代码" :border="false" input-align="right" readonly />
<van-field v-model="contractDetail.ycbhtbm" label="原承包合同代码:" placeholder="请输入原承包合同代码" :border="false" input-align="right" readonly /> <van-field v-model="contractDetail.ycbhtbm" label="原承包合同代码:" placeholder="请输入原承包合同代码" :border="false" input-align="right" readonly />
<van-field v-model="contractDetail.fbfbm" label="发包方代码:" placeholder="请输入发包方代码" :border="false" input-align="right" readonly /> <van-field v-model="contractDetail.fbfbm" label="发包方代码:" placeholder="请输入发包方代码" :border="false" input-align="right" readonly />
@@ -108,31 +112,37 @@
<van-field v-model="contractDetail.cbqxz" label="承包结束时间:" placeholder="请选择结束时间" :border="false" input-align="right" readonly /> <van-field v-model="contractDetail.cbqxz" label="承包结束时间:" placeholder="请选择结束时间" :border="false" input-align="right" readonly />
<van-field v-model="contractDetail.cbdkzs" label="承包地块数:" placeholder="请输入承包地块数" :border="false" input-align="right" readonly /> <van-field v-model="contractDetail.cbdkzs" label="承包地块数:" placeholder="请输入承包地块数" :border="false" input-align="right" readonly />
<van-field v-model="contractDetail.htzmjm" label="合同面积(亩):" placeholder="请输入合同面积(亩)" :border="false" input-align="right" readonly /> <van-field v-model="contractDetail.htzmjm" label="合同面积(亩):" placeholder="请输入合同面积(亩)" :border="false" input-align="right" readonly />
</van-tab>
</van-tab>-->

<van-tab title="承包地块"> <van-tab title="承包地块">
<van-cell v-for="(item,index) in landList" :key="item.id">
<div class="land_item" >
<div class="item_tt">
<p>{{ item.dkmc }}</p>
<p>{{ item.dkbm }}</p>
</div>
<div class="item_type">
<p>{{ item.htmjm }}亩</p>
<!-- <p>{{ item.tdlylx }}</p>-->
<p>{{ item.dldj }}</p>
<p>{{ item.tdyt }}</p>
<p>基本农田:{{ item.sfjbnt }}</p>
</div>
<div class="item_direction">
<!-- <p>{{ item.zjrxm }}指界</p>-->
<p>东:{{ item.dkdz }}</p>
<p>西:{{ item. dkxz }}</p>
<p>南:{{ item.dknz }}</p>
<p>北:{{ item.dkbz }}</p>
<div class="content_box">
<p>地块数:{{dkzs}}</p>
<p>总面积:{{dkzmj}}亩</p>
</div>
<div class="land_main" v-for="(item,index) in landList" :key="item.id">
<van-cell>
<div class="land_item" >
<div class="item_tt">
<p>{{ item.dkmc }}</p>
<p>{{ item.dkbm }}</p>
</div>
<div class="item_type">
<p>{{ item.htmjm }}亩</p>
<!-- <p>{{ item.tdlylx }}</p>-->
<p>{{ item.dldj }}</p>
<p>{{ item.tdyt }}</p>
<p>基本农田:{{ item.sfjbnt }}</p>
</div>
<div class="item_direction">
<!-- <p>{{ item.zjrxm }}指界</p>-->
<p>东:{{ item.dkdz }}</p>
<p>西:{{ item. dkxz }}</p>
<p>南:{{ item.dknz }}</p>
<p>北:{{ item.dkbz }}</p>
</div>
</div> </div>
</div>
</van-cell>

</van-cell>
</div>
</van-tab> </van-tab>
</van-tabs> </van-tabs>
<!-- <van-field readonly v-model="form.fbfdcy" label="发包方调查员" placeholder="发包方调查员" input-align="right" :border="false" />--> <!-- <van-field readonly v-model="form.fbfdcy" label="发包方调查员" placeholder="发包方调查员" input-align="right" :border="false" />-->
@@ -237,6 +247,8 @@
memberList: [], // 承包方家庭成员信息 memberList: [], // 承包方家庭成员信息
contractDetail: {}, // 承包合同信息 contractDetail: {}, // 承包合同信息
landList: [], // 承包地块列表 landList: [], // 承包地块列表
dkzmj: 0,
dkzs: 0,
}; };
}, },
created() { created() {
@@ -361,6 +373,15 @@
}, },
getContractedLandList(cbfbm) { getContractedLandList(cbfbm) {
listContractedLand({cbfbm: cbfbm, translate_dict: 1}).then(response => { listContractedLand({cbfbm: cbfbm, translate_dict: 1}).then(response => {

this.dkzmj = 0;
this.dkzs = 0;

response.rows.map(rr=>{
this.dkzmj += rr.htmjm;
this.dkzs ++ ;
})

this.landList = response.rows; this.landList = response.rows;
}); });
}, },
@@ -442,6 +463,14 @@
-webkit-transform: scaleY(.5); -webkit-transform: scaleY(.5);
transform: scaleY(.5); transform: scaleY(.5);
} }
.content_box{
display: flex;
align-items: center;
justify-content: space-between;
font-size: 1.6vh;
margin: 1.6vh auto;
width: 95%;
}
.signature-footer { .signature-footer {
transform: rotate(90deg); transform: rotate(90deg);
width: auto; width: auto;
@@ -652,11 +681,8 @@
} }
} }
.member_item{ .member_item{
border-radius: 30px;
background: #fff; background: #fff;
box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1);
padding:25px 32px; padding:25px 32px;
margin-bottom: 20px;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
@@ -705,12 +731,16 @@
border-radius: 30PX; border-radius: 30PX;
} }
} }
.land_item{
.land_main{
border-radius: 30px; border-radius: 30px;
box-shadow: 0PX 5PX 10PX rgba(63, 68, 75, 0.1);
margin:0 auto 20px;
overflow: hidden;
width: 95%;
}
.land_item{
background: #fff; background: #fff;
box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1);
padding:25px 32px; padding:25px 32px;
margin-bottom: 20px;
font-size: 14PX; font-size: 14PX;
.item_tt{ .item_tt{
display: flex; display: flex;


+ 39
- 6
src/views/sunVillage_info/list_contract_ranking.vue Ver fichero

@@ -22,8 +22,8 @@
<div class="right_box"> <div class="right_box">
<div class="right_box_box"> <div class="right_box_box">
<van-row> <van-row>
<van-col :span="4">合同编码</van-col>
<van-col :span="2">合同类型</van-col>
<van-col :span="3">合同编码</van-col>
<van-col :span="1">合同类型</van-col>
<van-col :span="2">合同乙方</van-col> <van-col :span="2">合同乙方</van-col>
<van-col :span="2">结款方式</van-col> <van-col :span="2">结款方式</van-col>
<van-col :span="2">合同金额</van-col> <van-col :span="2">合同金额</van-col>
@@ -34,10 +34,11 @@
<van-col :span="2">签订日期</van-col> <van-col :span="2">签订日期</van-col>
<van-col :span="2">开始日期</van-col> <van-col :span="2">开始日期</van-col>
<van-col :span="2">结束日期</van-col> <van-col :span="2">结束日期</van-col>
<van-col :span="2">附件</van-col>
</van-row> </van-row>
<van-row v-for="(item,index) in applicationList" :key="index"> <van-row v-for="(item,index) in applicationList" :key="index">
<van-col :span="4">{{item.code}}</van-col>
<van-col :span="2">{{item.biddingType}}</van-col>
<van-col :span="3">{{item.code}}</van-col>
<van-col :span="1">{{item.biddingType}}</van-col>
<van-col :span="2">{{item.secondParty}}</van-col> <van-col :span="2">{{item.secondParty}}</van-col>
<van-col :span="2">{{item.settleType}}</van-col> <van-col :span="2">{{item.settleType}}</van-col>
<van-col :span="2">{{item.totalAmount}}</van-col> <van-col :span="2">{{item.totalAmount}}</van-col>
@@ -48,17 +49,28 @@
<van-col :span="2">{{item.buildingTime}}</van-col> <van-col :span="2">{{item.buildingTime}}</van-col>
<van-col :span="2">{{item.startTime}}</van-col> <van-col :span="2">{{item.startTime}}</van-col>
<van-col :span="2">{{item.endTime}}</van-col> <van-col :span="2">{{item.endTime}}</van-col>
<van-col :span="2"><p style="cursor: pointer;color: #2C41DA;" @click="openPopupFile(item.id)">点击查看附件</p></van-col>
</van-row> </van-row>
</div> </div>
</div> </div>


<div class="clear"></div> <div class="clear"></div>
</div> </div>

<!-- 附件弹出层 -->
<van-popup v-model="showFile" round closeable position="top" :style="{ height: '30%' }" >
<div style="padding: 0 3%;">
<van-divider>附件</van-divider>
<van-uploader v-model="fileList" accept="" :show-upload="false" :deletable="false" />
<van-empty v-if="fileList.length < 1" image-size="50" description="暂无附件" />
</div>
</van-popup>

</div> </div>
</template> </template>


<script> <script>
import { contractionListNew } from "@/api/sunVillage_info/fixedAssets";
import {attachmentQuery, contractionListNew} from "@/api/sunVillage_info/fixedAssets";
import Cookies from "js-cookie"; import Cookies from "js-cookie";
import request from '@/utils/request' import request from '@/utils/request'
export default { export default {
@@ -74,6 +86,7 @@
finished: false, finished: false,
show: false, show: false,
showTab: false, showTab: false,
showFile: false,
fileList:[], fileList:[],
listLength:'0', listLength:'0',
searchInput:'', searchInput:'',
@@ -100,6 +113,26 @@
this.getList() this.getList()
}, },
methods: { methods: {
openPopupFile(id){
this.fileList = [];
this.signaId = id;
this.showFile = true;
let queryParams = {
tableId: id,
tableName: 't_contraction_info',
bizPath: 'contraction',
};
attachmentQuery(queryParams).then(response => {
response.rows.map(res => {
// let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL
this.fileList.push({
url: '/api'+res.fileUrl,
file: new File([], res.fileName,{}),
id: res.id
});
})
});
},
getList(){ getList(){
var _this = this; var _this = this;
setTimeout(() => { setTimeout(() => {
@@ -491,7 +524,7 @@
display: -webkit-box; display: -webkit-box;
-webkit-overflow-scrolling: touch; -webkit-overflow-scrolling: touch;
.right_box_box{ .right_box_box{
width: 1500PX;
width: 2500PX;
} }
.van-row:nth-child(odd){ .van-row:nth-child(odd){
background-color: #ffffff; background-color: #ffffff;


+ 427
- 0
src/views/sunVillage_info/list_discussions_new.vue Ver fichero

@@ -0,0 +1,427 @@
<template>
<div class="home_wrapper">
<div
class="header_main"
:style="`background-image:url(${require(showBtn?'@/assets/images/sunVillage_info/list_head.png':'@/assets/images/sunVillage_info/list_head_red.png')})`"
>
<p class="title">四议两公开</p>
<div class="return_btn" @click="onClickLeft"></div>
<div class="add_btn" @click="add" v-show="showBtn"></div>
</div>
<div class="record_main">
<div class="record_det">
<div></div>
<!-- <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">共{{listLength}}条公开</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">

<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<div class="item" v-for="(item,index) in applicationList" :key="index" @click="viewItem(item.id)" >
<div class="info">
<div class="title">
<p class="news_title">{{item.openName}}</p>
</div>
<div class="time">
<div class="icon_time"></div>
{{item.jueyiAt}}
</div>
</div>
<div class="operation" v-show="showBtn">
<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>
</van-list>

</div>
</div>
</template>

<script>
import {Dialog, Toast} from "vant";
import Cookies from "js-cookie";
import {listSiyigongkai, delSiyigongkai, listSiyigongkaiOpen} from "@/api/sunVillage_info/fixedAssets";
export default {
name: "otherOpenList",
data() {
return {
dataList:[],
total: 0,
queryParams:{
pageNum:1,
pageSize:10,
isAsc:'desc',
openYear:'',
otherType: null,
},
yearList: [],
reload: false,
showTab: false,
otherTypeOptions: [],
showType: false,
loading: false,
finished: false,
applicationList:[],
listLength:'0',
showBtn:true,
};
},
created() {
if (this.$route.query.type == 'code'){
this.showBtn = false;
}
},
methods: {
getList(){
var _this = this;
if (this.showBtn){
listSiyigongkai(_this.queryParams).then(response => {
_this.listLength = response.total;
response.rows.map(res=>{
_this.applicationList.push(res);
})

if(_this.applicationList.length >= response.total){
_this.finished = true;
return;
}else{
_this.loading = false;
_this.queryParams.pageNum += 1 ;
}
});
}else{
_this.queryParams.bookId = Cookies.get('bookId');
listSiyigongkaiOpen(_this.queryParams).then(response => {
_this.listLength = response.total;
response.rows.map(res=>{
_this.applicationList.push(res);
})

if(_this.applicationList.length >= response.total){
_this.finished = true;
return;
}else{
_this.loading = false;
_this.queryParams.pageNum += 1 ;
}
});
}
},
viewItem(id){
this.$router.push({path:'/sunVillage_info/list_discussions_new_detail',query: {id:id,type:this.$route.query.typeX,showBtn:this.showBtn}});
},
add() {
this.$router.push({path:'/sunVillage_info/list_discussions_new_add'});
},
edit(id) {
this.$router.push({path:'/sunVillage_info/list_discussions_new_edit',query: {id:id}});
},
remove(id) {
Dialog.confirm({
title: '警告',
message: '确认删除该项?',
})
.then(() => {
const loading = Toast.loading({
message: '删除中...',
duration: 0,
});
delSiyigongkai(id).then((resp) => {
this.$notify({ type: 'success', message: '删除成功' });
this.applicationList = [];
this.getList();
}).finally(() => {
loading.clear();
});
})
.catch(() => {});
},
tabClick(year){
this.queryParams.openYear = year;
this.reload = true;
},
tabShow(){
this.showTab = !this.showTab;
}
}
}
</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>

+ 423
- 0
src/views/sunVillage_info/list_discussions_new_add.vue Ver fichero

@@ -0,0 +1,423 @@
<template>
<div class="home_wrapper">
<div class="header_main">
四议两公开
<div class="return_btn" @click="onClickLeft"></div>
<div class="add_btn"></div>
</div>
<van-form @submit="onSubmit">
<div class="list_main">

<van-field required :rules="[{ required: true }]" v-model="form.openName" placeholder="请输入公开标题" input-align="right" :border="false" >
<template #label>
<img src="../../assets/images/sunVillage_info/add_icon_1.png" width="18">
<p style="margin-left: 5px;">公开标题</p>
</template>
</van-field>

<van-field
readonly
clickable
placeholder="请选择"
v-model="form.jueyiAt"
@click="showBuildTime = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
required
:border="false"
:rules="[{ required: true , message:'请选择决议公开日期' }]"
>
<template #label>
<img src="../../assets/images/sunVillage_info/add_tit_icon_01.png" width="18">
<p style="margin-left: 5px;">决议公开日期</p>
</template>
</van-field>
<van-popup v-model="showBuildTime" position="bottom">
<van-datetime-picker
v-model="openNy"
type="date"
title="选择年月日"
@confirm="onConfirmOpenNy"
@cancel="showBuildTime = false"
/>
</van-popup>

<van-field readonly input-align="right" :border="false" >
<template #label>
<img src="../../assets/images/sunVillage_info/add_tit_icon_03.png" width="18">
<p style="margin-left: 5px;">决议公开图片</p>
</template>
</van-field>
<!-- @delete="deleteFile1"-->
<van-uploader v-model="jueyiPic" multiple :after-read="afterRead" @delete="deleteFile1" style="margin-top: 10PX" />


<van-field
readonly
clickable
placeholder="请选择"
v-model="form.shishiguochengAt"
@click="showBuildTime3 = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
:border="false"
>
<template #label>
<img src="../../assets/images/sunVillage_info/add_tit_icon_01.png" width="18">
<p style="margin-left: 5px;">实施过程公开日期</p>
</template>
</van-field>
<van-popup v-model="showBuildTime3" position="bottom">
<van-datetime-picker
v-model="openNy3"
type="date"
title="选择年月日"
@confirm="onConfirmOpenNy3"
@cancel="showBuildTime3 = false"
/>
</van-popup>

<van-field readonly input-align="right" :border="false" >
<template #label>
<img src="../../assets/images/sunVillage_info/add_tit_icon_03.png" width="18">
<p style="margin-left: 5px;">实施过程公开图片</p>
</template>
</van-field>
<!-- @delete="deleteFile1"-->
<van-uploader v-model="shishiguochengPic" multiple :after-read="afterRead3" @delete="deleteFile3" style="margin-top: 10PX" />


<van-field
readonly
clickable
placeholder="请选择"
v-model="form.shishiAt"
@click="showBuildTime2 = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
:border="false"
>
<template #label>
<img src="../../assets/images/sunVillage_info/add_tit_icon_01.png" width="18">
<p style="margin-left: 5px;">实施结果公开日期</p>
</template>
</van-field>
<van-popup v-model="showBuildTime2" position="bottom">
<van-datetime-picker
v-model="openNy2"
type="date"
title="选择年月日"
@confirm="onConfirmOpenNy2"
@cancel="showBuildTime2 = false"
/>
</van-popup>

<van-field readonly input-align="right" label-width="auto" :border="false" >
<template #label>
<img src="../../assets/images/sunVillage_info/add_tit_icon_03.png" width="18">
<p style="margin-left: 5px;">实施结果公开图片</p>
</template>
</van-field>
<!-- @delete="deleteFile1"-->
<van-uploader v-model="shishiPic" multiple :after-read="afterRead2" @delete="deleteFile2" style="margin-top: 10PX" />

<van-field v-model="form.remark" placeholder="请输入备注" input-align="right" :border="false" >
<template #label>
<img src="../../assets/images/sunVillage_info/add_tit_icon_05.png" width="18">
<p style="margin-left: 5px;">备注</p>
</template>
</van-field>

</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,
addSiyigongkai
} from "@/api/sunVillage_info/fixedAssets";
import Cookies from "js-cookie";
import request from '@/utils/request'
export default {
name: "certificateList",
data() {
return {
showBuildTime:false,
showBuildTime2:false,
showBuildTime3:false,
showPictureType:false,
form:{
openAt:this.format(new Date(),'yyyy-MM-dd'),
jueyiPic:'',
shishiPic:'',
},
jueyiPic:[],
shishiPic:[],
shishiguochengPic:[],
otherGkTypeOptions:[],
fileList:[],
fileList1:[],
openNy:new Date(),
openNy2:new Date(),
openNy3:new Date(),
type:'',
openFile:[],
openFileList:[],
queryParams:{
id:''
},
shishiPic2:[],
shishiguochengPic2:[],
jueyiPic2:[],
// 操作类型:update或copy
operation: '',
};
},
created() {
this.queryParams.bookId = Cookies.get('bookId');
this.queryParams.deptId = Cookies.get('deptId');
},
methods: {
onSubmit(){
var that = this;
that.form.shishiPic = that.shishiPic2.join(',')
that.form.jueyiPic = that.jueyiPic2.join(',')
that.form.shishiguochengPic = that.shishiguochengPic2.join(',')
this.form.deptName = Cookies.get('deptName');
addSiyigongkai(that.form).then((r1) => {
if (r1.code == 200){
that.$notify({ type: 'success', message: '新增成功' });
setTimeout(function(){
history.back(-1);
},1000)
}
})
},
onConfirmOpenNy(data){
this.form.jueyiAt = this.format(data,'yyyy-MM-dd');
this.openNy = data;
this.showBuildTime = false;
},
onConfirmOpenNy2(data){
this.form.shishiAt = this.format(data,'yyyy-MM-dd');
this.openNy2 = data;
this.showBuildTime2 = false;
},
onConfirmOpenNy3(data){
this.form.shishiguochengAt = this.format(data,'yyyy-MM-dd');
this.openNy3 = data;
this.showBuildTime3 = false;
},
deleteFile1(file,detail){
console.log(detail)
this.jueyiPic2.splice(detail.index,1)
},
deleteFile2(file,detail){
console.log(detail)
this.shishiPic2.splice(detail.index,1)
},
deleteFile3(file,detail){
console.log(detail)
this.shishiguochengPic2.splice(detail.index,1)
},
afterRead(file) {
this.$toast.loading({
message: "上传中...",
forbidClick: true,
duration: 0,
});
// 此时可以自行将文件上传至服务器
if (file instanceof Array){//判断是否为数组,单张图片为array,多张为数组,数组返回true否则为false
file.map(res=>{
let params1 = new FormData();
params1.append("file", res.file);
commonUpload(params1).then((r1) => {
this.jueyiPic2.push(r1.fileName);
})
})
}else{
let params1 = new FormData();
params1.append("file", file.file);
commonUpload(params1).then((r1) => {
this.jueyiPic2.push(r1.fileName);
})
}
},
afterRead2(file) {
this.$toast.loading({
message: "上传中...",
forbidClick: true,
duration: 0,
});
// 此时可以自行将文件上传至服务器
if (file instanceof Array){//判断是否为数组,单张图片为array,多张为数组,数组返回true否则为false
file.map(res=>{
let params1 = new FormData();
params1.append("file", res.file);
commonUpload(params1).then((r1) => {
this.shishiPic2.push(r1.fileName);
})
})
}else{
let params1 = new FormData();
params1.append("file", file.file);
commonUpload(params1).then((r1) => {
this.shishiPic2.push(r1.fileName);
})
}
},
afterRead3(file) {
this.$toast.loading({
message: "上传中...",
forbidClick: true,
duration: 0,
});
// 此时可以自行将文件上传至服务器
if (file instanceof Array){//判断是否为数组,单张图片为array,多张为数组,数组返回true否则为false
file.map(res=>{
let params1 = new FormData();
params1.append("file", res.file);
commonUpload(params1).then((r1) => {
this.shishiguochengPic2.push(r1.fileName);
})
})
}else{
let params1 = new FormData();
params1.append("file", file.file);
commonUpload(params1).then((r1) => {
this.shishiguochengPic2.push(r1.fileName);
})
}
},
},
}
</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;
}
}
.release_head{
height: 90px;
padding:0 23px;
display: flex;
align-items: center;
font-size: 26px;
color: #929292;
.people{
flex: 1;
display: flex;
align-items: center;
.icon{
width: 24px;
height: 21px;
background: url('../../assets/images/sunVillage_info/details_icon_1.png') no-repeat;
background-size: 100% 100%;
display: block;
margin-right: 8px;
}
}
.time{
flex: 1;
display: flex;
align-items: center;
justify-content:flex-end;
.icon{
width: 25px;
height: 25px;
background: url('../../assets/images/sunVillage_info/details_icon_2.png') no-repeat;
background-size: 100% 100%;
display: block;
margin-right: 8px;
}
}
}
.release_conetnt{
padding:0 22px;
font-size: 32px;
color: #252525;
line-height: 44px;
img{
max-width: 100%;
margin-bottom: 16px;
}
p{
margin-bottom: 16px;
}
}
.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: auto;
display: flex;
align-items: center;
}
/deep/ .van-cell--required::before{
left: 17PX;
}
/deep/ .van-field__error-message{
display: none;
}
}
</style>

+ 172
- 0
src/views/sunVillage_info/list_discussions_new_detail.vue Ver fichero

@@ -0,0 +1,172 @@
<template>
<div class="home_wrapper">
<div
class="header_main"
:style="`background-image:url(${require(showBtn?'@/assets/images/sunVillage_info/list_head.png':'@/assets/images/sunVillage_info/list_head_red.png')})`"
>
四议两公开
<div class="return_btn" @click="back"></div>
</div>

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

<van-field name="otherName" :value="form.openName" label="公开标题" input-align="right" :border="false" />
<van-field name="openAt" :value="form.jueyiAt" label="决议公开日期" input-align="right" :border="false" />
<van-field
name="jueyiPic"
label="决议公开图片"
input-align="right"
:border="false"
>
</van-field>
<CommonUpload style="padding-left: 10PX;" name="jueyiPic" :value="form.jueyiPic" multiple :deletable="false" :show-upload="false"/>

<van-field name="shishiguochengAt" :value="form.shishiguochengAt" label="实施过程公开日期" label-width="auto" input-align="right" :border="false" />
<van-field
label-width="auto"
name="shishiguochengPic"
label="实施过程公开图片"
input-align="right"
:border="false"
>
</van-field>
<CommonUpload style="padding-left: 10PX;" name="shishiguochengPic" :value="form.shishiguochengPic" multiple :deletable="false" :show-upload="false"/>

<van-field name="otherName" :value="form.shishiAt" label="实施结果公开日期" label-width="auto" input-align="right" :border="false" />
<van-field
name="shishiPic"
label="实施结果公开图片"
input-align="right"
label-width="auto"
:border="false"
>
</van-field>
<CommonUpload style="padding-left: 10PX;" name="shishiPic" :value="form.shishiPic" multiple :deletable="false" :show-upload="false"/>

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

</div>

</van-form>
</div>
</template>
<script>
import CommonUpload from "@/components/form/CommonUpload.vue";
import {getSiyigongkai,getSiyigongkaiOpen} from "@/api/sunVillage_info/fixedAssets";
import Cookies from "js-cookie";
export default {
name: "otherOpenDetail",
components: {CommonUpload},
data() {
return {
form: {},
id:'',
title: '综合公开',
showBtn:true,
};
},
created() {
this.id = this.$route.query.id;
this.otherType = this.$route.query.type;
this.showBtn = this.$route.query.showBtn=='false'?false:true;
this.getDetail();
},
methods: {
getDetail() {
if (this.showBtn){
getSiyigongkai(this.id).then((resp) => {
this.form = resp.data;
});
}else{
getSiyigongkaiOpen(this.id,Cookies.get('bookId')).then((resp) => {
this.form = resp.data;
});
}
},
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>

+ 453
- 0
src/views/sunVillage_info/list_discussions_new_edit.vue Ver fichero

@@ -0,0 +1,453 @@
<template>
<div class="home_wrapper">
<div class="header_main">
四议两公开
<div class="return_btn" @click="onClickLeft"></div>
<div class="add_btn"></div>
</div>
<van-form @submit="onSubmit">
<div class="list_main">

<van-field required :rules="[{ required: true }]" v-model="form.openName" placeholder="请输入公开标题" input-align="right" :border="false" >
<template #label>
<img src="../../assets/images/sunVillage_info/add_icon_1.png" width="18">
<p style="margin-left: 5px;">公开标题</p>
</template>
</van-field>

<van-field
readonly
clickable
placeholder="请选择"
v-model="form.jueyiAt"
@click="showBuildTime = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
required
:border="false"
:rules="[{ required: true , message:'请选择决议公开日期' }]"
>
<template #label>
<img src="../../assets/images/sunVillage_info/add_tit_icon_01.png" width="18">
<p style="margin-left: 5px;">决议公开日期</p>
</template>
</van-field>
<van-popup v-model="showBuildTime" position="bottom">
<van-datetime-picker
v-model="openNy"
type="date"
title="选择年月日"
@confirm="onConfirmOpenNy"
@cancel="showBuildTime = false"
/>
</van-popup>

<van-field readonly input-align="right" :border="false" >
<template #label>
<img src="../../assets/images/sunVillage_info/add_tit_icon_03.png" width="18">
<p style="margin-left: 5px;">决议公开图片</p>
</template>
</van-field>
<!-- @delete="deleteFile1"-->
<van-uploader v-model="jueyiPic" multiple :after-read="afterRead" @delete="deleteFile1" style="margin-top: 10PX" />


<van-field
readonly
clickable
placeholder="请选择"
v-model="form.shishiguochengAt"
@click="showBuildTime3 = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
:border="false"
>
<template #label>
<img src="../../assets/images/sunVillage_info/add_tit_icon_01.png" width="18">
<p style="margin-left: 5px;">实施过程公开日期</p>
</template>
</van-field>
<van-popup v-model="showBuildTime3" position="bottom">
<van-datetime-picker
v-model="openNy3"
type="date"
title="选择年月日"
@confirm="onConfirmOpenNy3"
@cancel="showBuildTime3 = false"
/>
</van-popup>

<van-field readonly input-align="right" :border="false" >
<template #label>
<img src="../../assets/images/sunVillage_info/add_tit_icon_03.png" width="18">
<p style="margin-left: 5px;">实施过程公开图片</p>
</template>
</van-field>
<!-- @delete="deleteFile1"-->
<van-uploader v-model="shishiguochengPic" multiple :after-read="afterRead3" @delete="deleteFile3" style="margin-top: 10PX" />


<van-field
readonly
clickable
placeholder="请选择"
v-model="form.shishiAt"
@click="showBuildTime2 = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
:border="false"
>
<template #label>
<img src="../../assets/images/sunVillage_info/add_tit_icon_01.png" width="18">
<p style="margin-left: 5px;">实施公开日期</p>
</template>
</van-field>
<van-popup v-model="showBuildTime2" position="bottom">
<van-datetime-picker
v-model="openNy2"
type="date"
title="选择年月日"
@confirm="onConfirmOpenNy2"
@cancel="showBuildTime2 = false"
/>
</van-popup>

<van-field readonly input-align="right" :border="false" >
<template #label>
<img src="../../assets/images/sunVillage_info/add_tit_icon_03.png" width="18">
<p style="margin-left: 5px;">实施公开图片</p>
</template>
</van-field>
<!-- @delete="deleteFile1"-->
<van-uploader v-model="shishiPic" multiple :after-read="afterRead2" @delete="deleteFile2" style="margin-top: 10PX" />

<van-field v-model="form.remark" placeholder="请输入备注" input-align="right" :border="false" >
<template #label>
<img src="../../assets/images/sunVillage_info/add_tit_icon_05.png" width="18">
<p style="margin-left: 5px;">备注</p>
</template>
</van-field>

</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,
getSiyigongkai,
updateSiyigongkai,
otherCopy
} from "@/api/sunVillage_info/fixedAssets";
import Cookies from "js-cookie";
import request from '@/utils/request'
export default {
name: "certificateList",
data() {
return {
showBuildTime:false,
showBuildTime2:false,
showPictureType:false,
showBuildTime3:false,
shishiguochengPic:[],
shishiguochengPic2:[],
form:{
openAt:this.format(new Date(),'yyyy-MM-dd'),
jueyiPic:'',
shishiPic:'',
},
jueyiPic:[],
shishiPic:[],
otherGkTypeOptions:[],
fileList:[],
fileList1:[],
openNy:new Date(),
openNy2:new Date(),
openNy3:new Date(),
type:'',
openFile:[],
openFileList:[],
queryParams:{
id:''
},
shishiPic2:[],
jueyiPic2:[],
// 操作类型:update或copy
operation: '',
};
},
created() {
this.queryParams.bookId = Cookies.get('bookId');
this.queryParams.deptId = Cookies.get('deptId');
this.queryParams.id = this.$route.query.id;
this.getDetail();
},
methods: {
getDetail(){
getSiyigongkai(this.queryParams.id).then((res) => {
if (res.data.jueyiPic!='' && res.data.jueyiPic != null && res.data.jueyiPic != undefined){
this.jueyiPic = res.data.jueyiPic.split(',')
this.jueyiPic2 = res.data.jueyiPic.split(',')
this.jueyiPic.map((rrr,i)=>{
this.jueyiPic[i] = {url:'/api'+rrr}
})
}
if (res.data.shishiPic!='' && res.data.shishiPic != null && res.data.shishiPic != undefined){
this.shishiPic = res.data.shishiPic.split(',')
this.shishiPic2 = res.data.shishiPic.split(',')
this.shishiPic.map((rrr,i)=>{
this.shishiPic[i] = {url:'/api'+rrr}
})
}
if (res.data.shishiguochengPic!='' && res.data.shishiguochengPic != null && res.data.shishiguochengPic != undefined){
this.shishiguochengPic = res.data.shishiguochengPic.split(',')
this.shishiguochengPic2 = res.data.shishiguochengPic.split(',')
this.shishiguochengPic.map((rrr,i)=>{
this.shishiguochengPic[i] = {url:'/api'+rrr}
})
}
this.form = res.data;
})
},
onSubmit(){
var that = this;
that.form.shishiPic = that.shishiPic2.join(',')
that.form.jueyiPic = that.jueyiPic2.join(',')
that.form.shishiguochengPic = that.shishiguochengPic2.join(',')
this.form.deptName = Cookies.get('deptName');
updateSiyigongkai(that.form).then((r1) => {
if (r1.code == 200){
that.$notify({ type: 'success', message: '修改成功' });
setTimeout(function(){
history.back(-1);
},1000)
}
})
},
onConfirmOpenNy(data){
this.form.jueyiAt = this.format(data,'yyyy-MM-dd');
this.openNy = data;
this.showBuildTime = false;
},
onConfirmOpenNy2(data){
this.form.shishiAt = this.format(data,'yyyy-MM-dd');
this.openNy2 = data;
this.showBuildTime2 = false;
},
onConfirmOpenNy3(data){
this.form.shishiguochengAt = this.format(data,'yyyy-MM-dd');
this.openNy3 = data;
this.showBuildTime3 = false;
},
deleteFile1(file,detail){
console.log(detail)
this.jueyiPic2.splice(detail.index,1)
},
deleteFile2(file,detail){
console.log(detail)
this.shishiPic2.splice(detail.index,1)
},
deleteFile3(file,detail){
console.log(detail)
this.shishiguochengPic2.splice(detail.index,1)
},
afterRead(file) {
this.$toast.loading({
message: "上传中...",
forbidClick: true,
duration: 0,
});
// 此时可以自行将文件上传至服务器
if (file instanceof Array){//判断是否为数组,单张图片为array,多张为数组,数组返回true否则为false
file.map(res=>{
let params1 = new FormData();
params1.append("file", res.file);
commonUpload(params1).then((r1) => {
this.jueyiPic2.push(r1.fileName);
})
})
}else{
let params1 = new FormData();
params1.append("file", file.file);
commonUpload(params1).then((r1) => {
this.jueyiPic2.push(r1.fileName);
})
}
},
afterRead2(file) {
this.$toast.loading({
message: "上传中...",
forbidClick: true,
duration: 0,
});
// 此时可以自行将文件上传至服务器
if (file instanceof Array){//判断是否为数组,单张图片为array,多张为数组,数组返回true否则为false
file.map(res=>{
let params1 = new FormData();
params1.append("file", res.file);
commonUpload(params1).then((r1) => {
this.shishiPic2.push(r1.fileName);
})
})
}else{
let params1 = new FormData();
params1.append("file", file.file);
commonUpload(params1).then((r1) => {
this.shishiPic2.push(r1.fileName);
})
}
},
afterRead3(file) {
this.$toast.loading({
message: "上传中...",
forbidClick: true,
duration: 0,
});
// 此时可以自行将文件上传至服务器
if (file instanceof Array){//判断是否为数组,单张图片为array,多张为数组,数组返回true否则为false
file.map(res=>{
let params1 = new FormData();
params1.append("file", res.file);
commonUpload(params1).then((r1) => {
this.shishiguochengPic2.push(r1.fileName);
})
})
}else{
let params1 = new FormData();
params1.append("file", file.file);
commonUpload(params1).then((r1) => {
this.shishiguochengPic2.push(r1.fileName);
})
}
},
},
}
</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;
}
}
.release_head{
height: 90px;
padding:0 23px;
display: flex;
align-items: center;
font-size: 26px;
color: #929292;
.people{
flex: 1;
display: flex;
align-items: center;
.icon{
width: 24px;
height: 21px;
background: url('../../assets/images/sunVillage_info/details_icon_1.png') no-repeat;
background-size: 100% 100%;
display: block;
margin-right: 8px;
}
}
.time{
flex: 1;
display: flex;
align-items: center;
justify-content:flex-end;
.icon{
width: 25px;
height: 25px;
background: url('../../assets/images/sunVillage_info/details_icon_2.png') no-repeat;
background-size: 100% 100%;
display: block;
margin-right: 8px;
}
}
}
.release_conetnt{
padding:0 22px;
font-size: 32px;
color: #252525;
line-height: 44px;
img{
max-width: 100%;
margin-bottom: 16px;
}
p{
margin-bottom: 16px;
}
}
.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: auto;
display: flex;
align-items: center;
}
/deep/ .van-cell--required::before{
left: 17PX;
}
/deep/ .van-field__error-message{
display: none;
}
}
</style>

+ 434
- 0
src/views/sunVillage_info/list_finance_new.vue Ver fichero

@@ -0,0 +1,434 @@
<template>
<div class="home_wrapper">
<div
class="header_main"
:style="`background-image:url(${require(showBtn?'@/assets/images/sunVillage_info/list_head.png':'@/assets/images/sunVillage_info/list_head_red.png')})`"
>
财务公开榜
<div class="return_btn" @click="onClickLeft"></div>
<div class="add_btn" v-show="showBtn" @click="goAdd"></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.year == '' ? '全部': queryParams.year}}<span class="unit">{{queryParams.year == '' ? '': '年'}}</span></div>
<div class="total_r">共{{listLength}}条公告</div>
</div>
<div class="record_list" v-if="showTab">
<div :class="{'flex_block':true , 'current':queryParams.year == ''}" @click="tabClick('')">全部</div>
<div v-for="(item,index) in yearList" :key="index" :class="{'flex_block':true , 'current':queryParams.year == item}" @click="tabClick(item)">{{item}}</div>
</div>
</div>
<div class="list_main">
<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<!----1-->
<div class="item" v-for="(item,index) in applicationList" :key="index">
<div class="info" @click="goDetail(item.id)">
<div class="title">
<i class="icon_box"></i>
<p class="news_title">{{item.openName}}</p>
<p class="tips_mark" v-if="index==0">新</p>
</div>
<div class="time">
<div class="icon_time"></div>
{{item.openNy}}
</div>
</div>
<div class="operation">
<!-- delete 删除 edit编辑 view查看 -->
<div class="opera_btn list" @click="goRanking(item.id,item.openNy,item.openName)">
<i class="icon "></i>
</div>
<div class="opera_btn edit" @click="goEdit(item.id)" v-show="showBtn">
<i class="icon "></i>
</div>
<div class="opera_btn delete" @click="goRemove(item.id)" v-show="showBtn">
<i class="icon"></i>
</div>
<div class="opera_btn view" @click="goDetail(item.id)" v-show="!showBtn">
<i class="icon "></i>
</div>
</div>
</div>
</van-list>
</div>
<!-- <div class="bottom_tips">-->
<!-- <span class="xs">已经到底啦</span>-->
<!-- </div>-->
</div>
</template>

<script>
import { financePublicList,openRemove } from "@/api/sunVillage_info/fixedAssets";
import Cookies from "js-cookie";
import request from '@/utils/request'
export default {
name: "certificateList",
data() {
return {
applicationList:[],
applicationListSecond:[],
assetStatusOptions:[],
auditStatus:[],
loading: false,
finished: false,
show: false,
showTab: false,
fileList:[],
listLength:'0',
searchInput:'',
queryParams:{
pageNum:1,
pageSize:10,
orderByColumn:'openNy',
isAsc:'desc',
year:new Date().getFullYear(),
},
uploadFiles1:[],
projectId:'',
projectIndex:'',
showBtn:true,
nowYear:new Date().getFullYear(),
yearList:[]
};
},
created() {
this.queryParams.bookId = Cookies.get('bookId');
this.queryParams.deptId = Cookies.get('deptId');
if (this.$route.query.type == 'code'){
this.showBtn = false;
}
for (let i = 0 ; i < 5 ; i++){
this.yearList.push(this.nowYear-i);
}
},
methods: {
getList(){
var _this = this;
financePublicList(_this.queryParams).then(response => {
_this.listLength = response.total;
response.rows.map(res=>{
_this.applicationList.push(res);
})
console.log(_this.applicationList.length + "--------------" + response.total);
if(_this.applicationList.length >= response.total){
console.log('aaaaaaaaaaaaaaaaa')
_this.finished = true;
return;
}else{
console.log('bbbbbbbbbbbbbbbbbbb')
_this.loading = false;
_this.queryParams.pageNum += 1 ;
}
});
},
tabClick(year){
this.queryParams.year = year ;
this.queryParams.pageNum = 1 ;
this.applicationList = [];
this.finished = false;
this.getList();
},
tabShow(){
this.showTab = !this.showTab;
},
/** 删除按钮操作 */
handleDelete(row,index) {
let assetStatus = row.assetStatus ? row.assetStatus : data[0].assetStatus;
if (assetStatus === '2' || assetStatus === '3') {
this.$notify({
message: "不允许删除已出售或已报废的资产",
type: "warning",
});
return;
}
let useType = row.useType;
if(useType == 3) {
this.$notify({
message: "出租或出借的资产不允许删除",
type: "warning",
});
return ;
}
const ids = row.id || this.ids;

this.$dialog.alert(
{
message:'是否确认删除固定资产?',
title:"警告",
confirmButtonText: "确定",
cancelButtonText: "取消",
}
)
.then(function () {
return delPermanent(ids);
})
.then(() => {
this.applicationList.splice(index, 1);
this.$notify({ type: 'success', message: '删除成功' });
});
},
goAdd(){
this.$router.push('/sunVillage_info/list_finance_new_add')
},
goDetail(id){
this.$router.push({path:'/sunVillage_info/list_finance_new_detail',query: {id:id,type:'finance',showBtn:this.showBtn}})
},
goRanking(id,time,openName){
this.$router.push({path:'/sunVillage_info/list_finance_ranking',query: {id:id,time:time,openName:openName}})
},
goEdit(id){
this.$router.push({path:'/sunVillage_info/list_finance_new_edit',query: {id:id,type:'finance'}})
},
goRemove(id){
this.$dialog.alert({
title: '提示',
message: '确认删除?',
showCancelButton:true,
})
.then(() => {
openRemove(id).then(response => {
this.$notify({ type: 'success', message: '删除成功' });
this.getList()
});
})
.catch(() => {
// on cancel
});

}
},
}
</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;
}
}
.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:0 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;
}
}
}
</style>

+ 614
- 0
src/views/sunVillage_info/list_finance_new_add.vue Ver fichero

@@ -0,0 +1,614 @@
<template>
<div class="home_wrapper">
<div class="header_main">
新增财务公开
<div class="return_btn" @click="onClickLeft"></div>
<div class="add_btn"></div>
</div>
<van-form @submit="onSubmit">
<div class="list_main">

<van-field
readonly
clickable
placeholder="请选择"
v-model="form.openNy"
@click="showBuildTime = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
required
:border="false"
:rules="[{ required: true , message:'请选择购建时间' }]"
>
<template #label>
<img src="../../assets/images/sunVillage_info/add_tit_icon_01.png" width="18">
<p style="margin-left: 5px;">公开年月</p>
</template>
</van-field>
<van-popup v-model="showBuildTime" position="bottom">
<van-datetime-picker
v-model="openNy"
type="year-month"
title="选择年月日"
@confirm="onConfirmOpenNy"
@cancel="showBuildTime = false"
/>
</van-popup>

<van-field required v-model="form.openName" placeholder="请输入名称" :rules="[{ required: true , message:'请输入名称' }]" input-align="right" :border="false" >
<template #label>
<img src="../../assets/images/sunVillage_info/add_tit_icon_02.png" width="18">
<p style="margin-left: 5px;">公开名称</p>
</template>
</van-field>

<!-- <van-field readonly input-align="right" :border="false" >-->
<!-- <template #label>-->
<!-- <img src="../../assets/images/sunVillage_info/add_tit_icon_03.png" width="18">-->
<!-- <p style="margin-left: 5px;">公开图片</p>-->
<!-- </template>-->
<!-- </van-field>-->
<!--&lt;!&ndash; @delete="deleteFile1"&ndash;&gt;-->
<!-- <van-uploader v-model="fileList" multiple :after-read="afterRead" @delete="deleteFile1" style="margin-top: 10PX">-->
<!-- <template #preview-cover="file">-->
<!-- <DnD class="van-ellipsis" @touchdragstart="drag" @touchdrop="drop" :value="file.index" touchdraggable touchdroppable show-mask="1">-->
<!-- <template #mask>-->
<!-- <div class="preview-cover">-->
<!-- <img :src="file.url || file.content" class="van-image__img" style="object-fit: cover;"/>-->
<!-- </div>-->
<!-- </template>-->
<!-- </DnD>-->
<!-- </template>-->
<!-- </van-uploader>-->

<van-field readonly :border="false">
<template #label>
<img src="../../assets/images/sunVillage_info/add_tit_icon_03.png" width="18">
<p style="margin-left: 5px;">收支明细表(图)</p>
</template>
</van-field>
<van-uploader v-model="openPicSzmx" multiple :after-read="afterReadSzmx" @delete="deleteFileSzmx" style="margin-top: 10PX">
<template #preview-cover="file">
<DnD class="van-ellipsis" @touchdragstart="drag" @touchdrop="drop" :value="file.index" touchdraggable touchdroppable show-mask="1">
<template #mask>
<div class="preview-cover">
<img :src="file.url || file.content" class="van-image__img" style="object-fit: cover;"/>
</div>
</template>
</DnD>
</template>
</van-uploader>


<van-field readonly :border="false">
<template #label>
<img src="../../assets/images/sunVillage_info/add_tit_icon_03.png" width="18">
<p style="margin-left: 5px;">科目余额表(图)</p>
</template>
</van-field>
<van-uploader v-model="openPicKmye" multiple :after-read="afterReadKmye" @delete="deleteFileKmye" style="margin-top: 10PX">
<template #preview-cover="file">
<DnD class="van-ellipsis" @touchdragstart="drag" @touchdrop="drop" :value="file.index" touchdraggable touchdroppable show-mask="1">
<template #mask>
<div class="preview-cover">
<img :src="file.url || file.content" class="van-image__img" style="object-fit: cover;"/>
</div>
</template>
</DnD>
</template>
</van-uploader>

<van-field readonly :border="false">
<template #label>
<img src="../../assets/images/sunVillage_info/add_tit_icon_03.png" width="18">
<p style="margin-left: 5px;">资产负债表(图)</p>
</template>
</van-field>
<van-uploader v-model="openPicZcfz" multiple :after-read="afterReadZcfz" @delete="deleteFileZcfz" style="margin-top: 10PX">
<template #preview-cover="file">
<DnD class="van-ellipsis" @touchdragstart="drag" @touchdrop="drop" :value="file.index" touchdraggable touchdroppable show-mask="1">
<template #mask>
<div class="preview-cover">
<img :src="file.url || file.content" class="van-image__img" style="object-fit: cover;"/>
</div>
</template>
</DnD>
</template>
</van-uploader>

<div style="border-top: 1px solid #ededed;margin-top: 10PX;">
<van-field readonly input-align="right" :border="false" >
<template #label>
<img src="../../assets/images/sunVillage_info/add_tit_icon_04.png" width="18">
<p style="margin-left: 5px;">公开文件</p>
</template>
</van-field>

<div>
<div v-for="(item,index) in openFileList" :key="index" style="display: flex;align-items: center;margin-top: 10px;">
<img src="../../assets/images/sunVillage_info/WORD.png" width="30" v-if="item.type == 'word'"/>
<img src="../../assets/images/sunVillage_info/ECEL.png" width="30" v-if="item.type == 'excel'" />
<p style="margin-left: 10px;">{{item.name}}</p>
<img src="../../assets/images/sunVillage_info/delete.png" width="16" style="margin-left: auto;" @click="deleteWord(index)" />
</div>
</div>
<van-uploader accept="*" :after-read="afterReadOpenFile" style="margin-top: 10PX">
<img src="../../assets/images/sunVillage_info/addFile.png" width="120" />
</van-uploader>
</div>
<van-field v-model="form.remark" placeholder="请输入备注" input-align="right" :border="false" >
<template #label>
<img src="../../assets/images/sunVillage_info/add_tit_icon_05.png" width="18">
<p style="margin-left: 5px;">备注</p>
</template>
</van-field>

</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 , openAdd } from "@/api/sunVillage_info/fixedAssets";
import Cookies from "js-cookie";
import request from '@/utils/request'
import DnD from "@/components/DnD";
export default {
name: "certificateList",
components: {DnD},
data() {
return {
showBuildTime:false,
form:{
openNy:this.format(new Date(),'yyyy-MM'),
openPic:'',
openFile:'',
openName:this.format(new Date(),'yyyy')+ '年' + (this.format(new Date(),'MM')-1) + '月财务公开'
},
openPic:[],
fileList:[],
fileList1:[],
openPicSzmx:[],
openPicKmye:[],
openPicZcfz:[],
openPicSzmx2:[],
openPicKmye2:[],
openPicZcfz2:[],
openNy:new Date(),
type:'',
openFile:[],
openFileList:[],
queryParams:{
bookId:'',
deptId:''
},
openFile2:[],
openPic2:[],
};
},
created() {
this.houseGetDicts("asset_status").then((response) => {
this.assetStatusOptions = response.data;
});
this.houseGetDicts("asset_type").then((response) => {
this.assetTypeOptions = response.data;
});
this.houseGetDicts("use_type").then((response) => {
this.useTypeOptions = response.data;
});
this.type = this.$route.query.type;
this.queryParams.bookId = Cookies.get('bookId');
this.queryParams.deptId = Cookies.get('deptId');
},
methods: {
onSubmit(){
console.log(this.openFile)
console.log(this.openPic)
var that = this;
// openPicSzmx:[],
// openPicKmye:[],
// openPicZcfz:[],
that.form.openFile = that.openFile2.join(',')
that.form.openPicSzmx = that.openPicSzmx2.join(',')
that.form.openPicKmye = that.openPicKmye2.join(',')
that.form.openPicZcfz = that.openPicZcfz2.join(',')
//that.form.openPic = that.openPic2.join(',')
that.form.openPic = that.fileList
.filter((x) => x.url && x.url.startsWith('/api'))
.map((x) => x.url.substr(4))
.join(',');
openAdd(that.form).then((r1) => {
if (r1.code == 200){
that.$notify({ type: 'success', message: '新增成功' });
setTimeout(function(){
history.back(-1);
},2000)
}
})
},
onConfirmOpenNy(data){
this.form.openNy = this.format(data,'yyyy-MM');
this.openNy = data;
this.showBuildTime = false;
},
deleteFile1(detail){
this.openPic2.splice(detail.index,1)
// this.form.openPic.splice(index,1);
},
deleteFileZcfz(detail){
this.openPicZcfz2.splice(detail.index,1)
// this.form.openPic.splice(index,1);
},
deleteFileSzmx(detail){
this.openPicSzmx2.splice(detail.index,1)
// this.form.openPic.splice(index,1);
},
deleteFileKmye(detail){
this.openPicKmye2.splice(detail.index,1)
// this.form.openPic.splice(index,1);
},
deleteWord(index){
this.openFileList.splice(index,1);
this.openFile2.splice(index,1);
},
afterRead(file) {

this.$toast.loading({
message: "上传中...",
forbidClick: true,
duration: 0,
});
// 此时可以自行将文件上传至服务器
if (file instanceof Array){//判断是否为数组,单张图片为array,多张为数组,数组返回true否则为false
if(false) // 顺序上传
{
let SequenceUpload = (list, index) => {
if(index >= list.length)
return;
let res = list[index];
this.openPic.push(res.file);
let params1 = new FormData();
params1.append("file", res.file);
commonUpload(params1).then((r1) => {
this.openPic2.push(r1.fileName);
res.url = '/api' + r1.fileName;
SequenceUpload(list, index + 1);
})
};
SequenceUpload(file, 0);
}
else
{
file.map(res=>{
this.openPic.push(res.file);
let params1 = new FormData();
params1.append("file", res.file);
commonUpload(params1).then((r1) => {
this.openPic2.push(r1.fileName);
res.url = '/api' + r1.fileName;
})
})
}
}else{
this.openPic.push(file);
let params1 = new FormData();
params1.append("file", file.file);
commonUpload(params1).then((r1) => {
this.openPic2.push(r1.fileName);
file.url = '/api' + r1.fileName;
})
}
},
afterReadSzmx(file) {
this.$toast.loading({
message: "上传中...",
forbidClick: true,
duration: 0,
});
// 此时可以自行将文件上传至服务器
if (file instanceof Array){//判断是否为数组,单张图片为array,多张为数组,数组返回true否则为false
if(false){// 顺序上传
let SequenceUpload = (list, index) => {
if(index >= list.length)
return;
let res = list[index];
// this.openPicSzmx.push(res.file);
let params1 = new FormData();
params1.append("file", res.file);
commonUpload(params1).then((r1) => {
this.openPicSzmx2.push(r1.fileName);
res.url = '/api' + r1.fileName;
SequenceUpload(list, index + 1);
})
};
SequenceUpload(file, 0);
}else{
file.map(res=>{
// this.openPicSzmx.push(res.file);
let params1 = new FormData();
params1.append("file", res.file);
commonUpload(params1).then((r1) => {
this.openPicSzmx2.push(r1.fileName);
res.url = '/api' + r1.fileName;
})
})
}
}else{
// this.openPicSzmx.push(file);
let params1 = new FormData();
params1.append("file", file.file);
commonUpload(params1).then((r1) => {
this.openPicSzmx2.push(r1.fileName);
console.log(this.openPicSzmx)
// file.url = '/api' + r1.fileName;
})
}
},
afterReadKmye(file) {
this.$toast.loading({
message: "上传中...",
forbidClick: true,
duration: 0,
});
// 此时可以自行将文件上传至服务器
if (file instanceof Array){//判断是否为数组,单张图片为array,多张为数组,数组返回true否则为false
if(false){// 顺序上传
let SequenceUpload = (list, index) => {
if(index >= list.length)
return;
let res = list[index];
this.openPicKmye.push(res.file);
let params1 = new FormData();
params1.append("file", res.file);
commonUpload(params1).then((r1) => {
this.openPicKmye2.push(r1.fileName);
res.url = '/api' + r1.fileName;
SequenceUpload(list, index + 1);
})
};
SequenceUpload(file, 0);
}else{
file.map(res=>{
this.openPicKmye.push(res.file);
let params1 = new FormData();
params1.append("file", res.file);
commonUpload(params1).then((r1) => {
this.openPicKmye2.push(r1.fileName);
res.url = '/api' + r1.fileName;
})
})
}
}else{
// this.openPicKmye.push(file);
let params1 = new FormData();
params1.append("file", file.file);
commonUpload(params1).then((r1) => {
this.openPicKmye2.push(r1.fileName);
file.url = '/api' + r1.fileName;
})
}
},
afterReadZcfz(file) {
this.$toast.loading({
message: "上传中...",
forbidClick: true,
duration: 0,
});
// 此时可以自行将文件上传至服务器
if (file instanceof Array){//判断是否为数组,单张图片为array,多张为数组,数组返回true否则为false
if(false){// 顺序上传
let SequenceUpload = (list, index) => {
if(index >= list.length)
return;
let res = list[index];
this.openPicZcfz.push(res.file);
let params1 = new FormData();
params1.append("file", res.file);
commonUpload(params1).then((r1) => {
this.openPicZcfz2.push(r1.fileName);
res.url = '/api' + r1.fileName;
SequenceUpload(list, index + 1);
})
};
SequenceUpload(file, 0);
}else{
file.map(res=>{
this.openPicZcfz.push(res.file);
let params1 = new FormData();
params1.append("file", res.file);
commonUpload(params1).then((r1) => {
this.openPicZcfz2.push(r1.fileName);
res.url = '/api' + r1.fileName;
})
})
}
}else{
// this.openPicZcfz.push(file);
let params1 = new FormData();
params1.append("file", file.file);
commonUpload(params1).then((r1) => {
this.openPicZcfz2.push(r1.fileName);
file.url = '/api' + r1.fileName;
})
}
},
afterReadOpenFile(file){
console.log(file)
let params1 = new FormData();
params1.append("file", file.file);
commonUpload(params1).then((r1) => {
this.openFile2.push(r1.fileName);
})
let name = file.file.name;
let type = '';
if (name.indexOf('.doc') > -1){
type = 'word';
}else if(name.indexOf('.xls') > -1){
type = 'excel';
}
this.openFileList.push({name:file.file.name,type:type})
this.openFile.push(file.file);
},
drag(src_element) {
//console.log("drag", event);
},
drop(src_element, dst_element, srcData, dstData) {
//console.log("drop", event);
let srcIndex = parseInt(srcData);
let index = parseInt(dstData);
//console.log(srcIndex, index,this.fileList);
if(srcIndex !== index)
{
let src = this.fileList[srcIndex];
if(srcIndex > index)
{
this.fileList.splice(srcIndex, 1);
this.fileList.splice(index, 0, src);
}
else
{
this.fileList.splice(srcIndex, 1);
this.fileList.splice(index, 0, src);
}
}
},
},
}
</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;
}
}
.release_head{
height: 90px;
padding:0 23px;
display: flex;
align-items: center;
font-size: 26px;
color: #929292;
.people{
flex: 1;
display: flex;
align-items: center;
.icon{
width: 24px;
height: 21px;
background: url('../../assets/images/sunVillage_info/details_icon_1.png') no-repeat;
background-size: 100% 100%;
display: block;
margin-right: 8px;
}
}
.time{
flex: 1;
display: flex;
align-items: center;
justify-content:flex-end;
.icon{
width: 25px;
height: 25px;
background: url('../../assets/images/sunVillage_info/details_icon_2.png') no-repeat;
background-size: 100% 100%;
display: block;
margin-right: 8px;
}
}
}
.release_conetnt{
padding:0 22px;
font-size: 32px;
color: #252525;
line-height: 44px;
img{
max-width: 100%;
margin-bottom: 16px;
}
p{
margin-bottom: 16px;
}
}
.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: auto;
display: flex;
align-items: center;
}
/deep/ .van-cell--required::before{
left: 85PX;
}
/deep/ .van-field__error-message{
display: none;
}
.preview-cover {
position: absolute;
bottom: 0;
top: 0;
left: 0;
right: 0;
background: rgba(0, 0, 0, 0);
}

/deep/ .van-uploader__preview-image {
overflow: visible;
}
}
</style>

+ 338
- 0
src/views/sunVillage_info/list_finance_new_detail.vue Ver fichero

@@ -0,0 +1,338 @@
<template>
<div class="home_wrapper">
<div
class="header_main"
:style="`background-image:url(${require(showBtn?'@/assets/images/sunVillage_info/list_head.png':'@/assets/images/sunVillage_info/list_head_red.png')})`"
>
查看财务公开
<div class="return_btn" @click="onClickLeft"></div>
<div class="add_btn"></div>
</div>
<div class="list_main">

<van-field
readonly
clickable
placeholder="请选择"
v-model="form.openNy"
input-align="right"
label-width="auto"
:border="false"
:rules="[{ required: true , message:'请选择购建时间' }]"
>
<template #label>
<img src="../../assets/images/sunVillage_info/add_tit_icon_01.png" width="18">
<p style="margin-left: 5px;">公开年月</p>
</template>
</van-field>

<van-field readonly v-model="form.openName" :rules="[{ required: true , message:'请输入名称' }]" input-align="right" :border="false" >
<template #label>
<img src="../../assets/images/sunVillage_info/add_tit_icon_02.png" width="18">
<p style="margin-left: 5px;">公开名称</p>
</template>
</van-field>

<!-- <van-field readonly v-model="form.updateTime === null ? form.createTime : form.updateTime" input-align="right" :border="false">-->
<!-- <template #label>-->
<!-- <img src="../../assets/images/sunVillage_info/add_tit_icon_03.png" width="18">-->
<!-- <p style="margin-left: 5px;">公开图片</p>-->
<!-- </template>-->
<!-- </van-field>-->
<!--&lt;!&ndash; @delete="deleteFile1"&ndash;&gt;-->
<!-- <van-uploader v-model="openPic" :show-upload="false" :deletable="false" multiple style="margin-top: 10PX" />-->
<!-- <van-empty v-if="openPic.length < 1" description="暂无文件" />-->


<van-field readonly :border="false">
<template #label>
<img src="../../assets/images/sunVillage_info/add_tit_icon_03.png" width="18">
<p style="margin-left: 5px;">收支明细表(图)</p>
</template>
</van-field>
<!-- @delete="deleteFile1"-->
<van-uploader v-model="openPicSzmx" :show-upload="false" :deletable="false" multiple style="margin-top: 10PX" />
<van-empty v-if="openPicSzmx.length < 1" description="暂无文件" />


<van-field readonly :border="false">
<template #label>
<img src="../../assets/images/sunVillage_info/add_tit_icon_03.png" width="18">
<p style="margin-left: 5px;">科目余额表(图)</p>
</template>
</van-field>
<!-- @delete="deleteFile1"-->
<van-uploader v-model="openPicKmye" :show-upload="false" :deletable="false" multiple style="margin-top: 10PX" />
<van-empty v-if="openPicKmye.length < 1" description="暂无文件" />

<van-field readonly :border="false">
<template #label>
<img src="../../assets/images/sunVillage_info/add_tit_icon_03.png" width="18">
<p style="margin-left: 5px;">资产负债表(图)</p>
</template>
</van-field>
<!-- @delete="deleteFile1"-->
<van-uploader v-model="openPicZcfz" :show-upload="false" :deletable="false" multiple style="margin-top: 10PX" />
<van-empty v-if="openPicZcfz.length < 1" description="暂无文件" />

<div style="border-top: 1px solid #ededed;margin-top: 10PX;">
<van-field readonly input-align="right" :border="false" >
<template #label>
<img src="../../assets/images/sunVillage_info/add_tit_icon_04.png" width="18">
<p style="margin-left: 5px;">公开文件</p>
</template>
</van-field>

<div>
<div v-for="(item,index) in openFileList" :key="index" style="display: flex;align-items: center;margin-top: 10px;">
<img src="../../assets/images/sunVillage_info/WORD.png" width="30" v-if="item.type == 'word'"/>
<img src="../../assets/images/sunVillage_info/ECEL.png" width="30" v-if="item.type == 'excel'" />
<a v-if="item.type == 'word' || item.type == 'excel'" :href="item.url" style="margin-left: 10px;color: #333333">{{item.name}}</a>
<p v-else @click="goToPage(item.url)" style="margin-left: 10px;color: #333333">{{item.name}}</p>
</div>
</div>
</div>
<van-field readonly v-model="form.remark" input-align="right" :border="false" >
<template #label>
<img src="../../assets/images/sunVillage_info/add_tit_icon_05.png" width="18">
<p style="margin-left: 5px;">备注</p>
</template>
</van-field>

</div>
<van-dialog v-model:show="fjImgShow" title="附件" :show-confirm-button="false" show-cancel-button cancelButtonText="关闭" >
<div style="width: 100%;height: 400px;overflow:scroll;">
<img :src="fjImg" width="95%"/>
</div>
</van-dialog>
</div>
</template>

<script>
import { financePublicDetail , openAdd } from "@/api/sunVillage_info/fixedAssets";
import Cookies from "js-cookie";
import request from '@/utils/request'
export default {
name: "certificateList",
data() {
return {
showBuildTime:false,
form:{
openNy:this.format(new Date(),'yyyy-MM'),
openPic:'',
openFile:'',
},
openPic:[],
openPicSzmx:[],
openPicKmye:[],
openPicZcfz:[],
fileList:[],
fileList1:[],
fjImgShow:false,
fjImg:'',
openNy:new Date(),
type:'',
openFile:[],
openFileList:[],
queryParams:{
bookId:'',
deptId:''
},
showBtn:true,
};
},
created() {
this.houseGetDicts("asset_status").then((response) => {
this.assetStatusOptions = response.data;
});
this.houseGetDicts("asset_type").then((response) => {
this.assetTypeOptions = response.data;
});
this.houseGetDicts("use_type").then((response) => {
this.useTypeOptions = response.data;
});
this.type = this.$route.query.type;
this.queryParams.bookId = Cookies.get('bookId');
this.queryParams.deptId = Cookies.get('deptId');
this.queryParams.id = this.$route.query.id;
this.showBtn = this.$route.query.showBtn=='false'?false:true;
this.getDetail();
},
methods: {
getDetail(id){
financePublicDetail(this.queryParams).then((res) => {
if (res.data.openFile !='' && res.data.openFile != null && res.data.openFile != undefined){
res.data.openFile = res.data.openFile.split(',')
res.data.openFile.map(rr=>{
let name = rr.substr(27,rr.length);
let type = '';
if (name.indexOf('.doc') > -1){
type = 'word';
}else if(name.indexOf('.xls') > -1){
type = 'excel';
}
this.openFileList.push({name:name,type:type,url:'/api'+rr})
})
}
if (res.data.openPic !='' && res.data.openPic != null && res.data.openPic != undefined){
res.data.openPic = res.data.openPic.split(',')
res.data.openPic.map((rrr,i)=>{
this.openPic.push({url:'/api'+rrr})
})
}
if (res.data.openPicSzmx !='' && res.data.openPicSzmx != null && res.data.openPicSzmx != undefined){
res.data.openPicSzmx = res.data.openPicSzmx.split(',')
res.data.openPicSzmx.map((rrr,i)=>{
this.openPicSzmx.push({url:'/api'+rrr})
})
}
if (res.data.openPicKmye !='' && res.data.openPicKmye != null && res.data.openPicKmye != undefined){
res.data.openPicKmye = res.data.openPicKmye.split(',')
res.data.openPicKmye.map((rrr,i)=>{
this.openPicKmye.push({url:'/api'+rrr})
})
}
if (res.data.openPicZcfz !='' && res.data.openPicZcfz != null && res.data.openPicZcfz != undefined){
res.data.openPicZcfz = res.data.openPicZcfz.split(',')
res.data.openPicZcfz.map((rrr,i)=>{
this.openPicZcfz.push({url:'/api'+rrr})
})
}

this.form = res.data;
})
},
goToPage(url) {
const baseImgUrl = this.$store.getters.baseRoutingUrl;
let subIndex = url.lastIndexOf(".");
let ext = url.substring(subIndex + 1, url.length);
//console.log(ext)
if (ext == "jpg" || ext == "png") {
url = url.substring(4,url.length);
this.fjImg = baseImgUrl + url;
this.fjImgShow = true;
}else{
let allUrl = url;
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);
}
},

},
}
</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;
}
}
.release_head{
height: 90px;
padding:0 23px;
display: flex;
align-items: center;
font-size: 26px;
color: #929292;
.people{
flex: 1;
display: flex;
align-items: center;
.icon{
width: 24px;
height: 21px;
background: url('../../assets/images/sunVillage_info/details_icon_1.png') no-repeat;
background-size: 100% 100%;
display: block;
margin-right: 8px;
}
}
.time{
flex: 1;
display: flex;
align-items: center;
justify-content:flex-end;
.icon{
width: 25px;
height: 25px;
background: url('../../assets/images/sunVillage_info/details_icon_2.png') no-repeat;
background-size: 100% 100%;
display: block;
margin-right: 8px;
}
}
}
.release_conetnt{
padding:0 22px;
font-size: 32px;
color: #252525;
line-height: 44px;
img{
max-width: 100%;
margin-bottom: 16px;
}
p{
margin-bottom: 16px;
}
}
.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: auto;
display: flex;
align-items: center;
}
/deep/ .van-cell--required::before{
left: 85PX;
}
}
</style>

+ 667
- 0
src/views/sunVillage_info/list_finance_new_edit.vue Ver fichero

@@ -0,0 +1,667 @@
<template>
<div class="home_wrapper">
<div class="header_main">
修改财务公开
<div class="return_btn" @click="onClickLeft"></div>
<div class="add_btn"></div>
</div>
<van-form @submit="onSubmit">
<div class="list_main">

<van-field
readonly
clickable
placeholder="请选择"
v-model="form.openNy"
@click="showBuildTime = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
required
:border="false"
:rules="[{ required: true , message:'请选择购建时间' }]"
>
<template #label>
<img src="../../assets/images/sunVillage_info/add_tit_icon_01.png" width="18">
<p style="margin-left: 5px;">公开年月</p>
</template>
</van-field>
<van-popup v-model="showBuildTime" position="bottom">
<van-datetime-picker
v-model="openNy"
type="year-month"
title="选择年月日"
@confirm="onConfirmOpenNy"
@cancel="showBuildTime = false"
/>
</van-popup>

<van-field required v-model="form.openName" placeholder="请输入名称" :rules="[{ required: true , message:'请输入名称' }]" input-align="right" :border="false" >
<template #label>
<img src="../../assets/images/sunVillage_info/add_tit_icon_02.png" width="18">
<p style="margin-left: 5px;">公开名称</p>
</template>
</van-field>

<!-- <van-field readonly input-align="right" :border="false" >-->
<!-- <template #label>-->
<!-- <img src="../../assets/images/sunVillage_info/add_tit_icon_03.png" width="18">-->
<!-- <p style="margin-left: 5px;">公开图片</p>-->
<!-- </template>-->
<!-- </van-field>-->
<!--&lt;!&ndash; @delete="deleteFile1"&ndash;&gt;-->
<!-- <van-uploader v-model="openPic" multiple :after-read="afterRead" @delete="deleteFile1" style="margin-top: 10PX" >-->
<!-- <template #preview-cover="file">-->
<!-- <DnD class="van-ellipsis" @touchdragstart="drag" @touchdrop="drop" :value="file.index" touchdraggable touchdroppable show-mask="1">-->
<!-- <template #mask>-->
<!-- <div class="preview-cover">-->
<!-- <img :src="file.url || file.content" class="van-image__img" style="object-fit: cover;"/>-->
<!-- </div>-->
<!-- </template>-->
<!-- </DnD>-->
<!-- </template>-->
<!-- </van-uploader>-->

<van-field readonly :border="false">
<template #label>
<img src="../../assets/images/sunVillage_info/add_tit_icon_03.png" width="18">
<p style="margin-left: 5px;">收支明细表(图)</p>
</template>
</van-field>
<van-uploader v-model="openPicSzmx" multiple :after-read="afterReadSzmx" @delete="deleteFileSzmx" style="margin-top: 10PX">
<template #preview-cover="file">
<DnD class="van-ellipsis" @touchdragstart="drag" @touchdrop="drop" :value="file.index" touchdraggable touchdroppable show-mask="1">
<template #mask>
<div class="preview-cover">
<img :src="file.url || file.content" class="van-image__img" style="object-fit: cover;"/>
</div>
</template>
</DnD>
</template>
</van-uploader>


<van-field readonly :border="false">
<template #label>
<img src="../../assets/images/sunVillage_info/add_tit_icon_03.png" width="18">
<p style="margin-left: 5px;">科目余额表(图)</p>
</template>
</van-field>
<van-uploader v-model="openPicKmye" multiple :after-read="afterReadKmye" @delete="deleteFileKmye" style="margin-top: 10PX">
<template #preview-cover="file">
<DnD class="van-ellipsis" @touchdragstart="drag" @touchdrop="drop" :value="file.index" touchdraggable touchdroppable show-mask="1">
<template #mask>
<div class="preview-cover">
<img :src="file.url || file.content" class="van-image__img" style="object-fit: cover;"/>
</div>
</template>
</DnD>
</template>
</van-uploader>

<van-field readonly :border="false">
<template #label>
<img src="../../assets/images/sunVillage_info/add_tit_icon_03.png" width="18">
<p style="margin-left: 5px;">资产负债表(图)</p>
</template>
</van-field>
<van-uploader v-model="openPicZcfz" multiple :after-read="afterReadZcfz" @delete="deleteFileZcfz" style="margin-top: 10PX">
<template #preview-cover="file">
<DnD class="van-ellipsis" @touchdragstart="drag" @touchdrop="drop" :value="file.index" touchdraggable touchdroppable show-mask="1">
<template #mask>
<div class="preview-cover">
<img :src="file.url || file.content" class="van-image__img" style="object-fit: cover;"/>
</div>
</template>
</DnD>
</template>
</van-uploader>

<div style="border-top: 1px solid #ededed;margin-top: 10PX;">
<van-field readonly input-align="right" :border="false" >
<template #label>
<img src="../../assets/images/sunVillage_info/add_tit_icon_04.png" width="18">
<p style="margin-left: 5px;">公开文件</p>
</template>
</van-field>

<div>
<div v-for="(item,index) in openFile" :key="index" style="display: flex;align-items: center;margin-top: 10px;">
<img src="../../assets/images/sunVillage_info/WORD.png" width="30" v-if="item.type == 'word'"/>
<img src="../../assets/images/sunVillage_info/ECEL.png" width="30" v-if="item.type == 'excel'" />
<p style="margin-left: 10px;">{{item.name}}</p>
<img src="../../assets/images/sunVillage_info/delete.png" width="16" style="margin-left: auto;" @click="deleteWord(index)" />
</div>
</div>
<van-uploader accept="*" :after-read="afterReadOpenFile" style="margin-top: 10PX">
<img src="../../assets/images/sunVillage_info/addFile.png" width="120" />
</van-uploader>
</div>
<van-field v-model="form.remark" placeholder="请输入备注" input-align="right" :border="false" >
<template #label>
<img src="../../assets/images/sunVillage_info/add_tit_icon_05.png" width="18">
<p style="margin-left: 5px;">备注</p>
</template>
</van-field>

</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 , openEdit , financePublicDetail } from "@/api/sunVillage_info/fixedAssets";
import Cookies from "js-cookie";
import request from '@/utils/request'
import DnD from "@/components/DnD";

export default {
name: "certificateList",
components: {DnD},
data() {
return {
showBuildTime:false,
form:{
openNy:this.format(new Date(),'yyyy-MM'),
openPic:'',
openFile:'',
openPicSzmx:'',
openPicKmye:'',
openPicZcfz:''
},
openPic:[],
fileList:[],
fileList1:[],
openPicSzmx:[],
openPicKmye:[],
openPicZcfz:[],
openPicSzmx2:[],
openPicKmye2:[],
openPicZcfz2:[],
openNy:new Date(),
type:'',
openFile:[],
openFileList:[],
openPicList:[],
queryParams:{
bookId:'',
deptId:''
},
openPic2:[],
openFile2:[]
};
},
created() {
this.houseGetDicts("asset_status").then((response) => {
this.assetStatusOptions = response.data;
});
this.houseGetDicts("asset_type").then((response) => {
this.assetTypeOptions = response.data;
});
this.houseGetDicts("use_type").then((response) => {
this.useTypeOptions = response.data;
});
this.type = this.$route.query.type;
this.queryParams.bookId = Cookies.get('bookId');
this.queryParams.deptId = Cookies.get('deptId');
this.queryParams.id = this.$route.query.id;
this.getDetail();
},
methods: {
getDetail(id){
financePublicDetail(this.queryParams).then((res) => {
var that = this ;
if (res.data.openFile!='' && res.data.openFile != null && res.data.openFile != undefined){
this.openFile = res.data.openFile.split(',')
this.openFile2 = res.data.openFile.split(',')
this.openFile.map((rr,i)=>{
let name = rr.substr(27,rr.length);
let type = '';
if (name.indexOf('.doc') > -1){
type = 'word';
}else if(name.indexOf('.xls') > -1){
type = 'excel';
}
this.openFile[i] = {name:name,type:type,url:rr}
})
}
if (res.data.openPic!='' && res.data.openPic != null && res.data.openPic != undefined){
this.openPic = res.data.openPic.split(',');
this.openPic2 = res.data.openPic.split(',');
this.openPic.map((rrr,i)=>{
this.openPic[i] = {url:'/api'+rrr}
})
}
if (res.data.openPicSzmx !='' && res.data.openPicSzmx != null && res.data.openPicSzmx != undefined){
this.openPicSzmx = res.data.openPicSzmx.split(',');
this.openPicSzmx2 = res.data.openPicSzmx.split(',');
this.openPicSzmx.map((rrr,i)=>{
this.openPicSzmx[i] = {url:'/api'+rrr}
})
}
if (res.data.openPicKmye !='' && res.data.openPicKmye != null && res.data.openPicKmye != undefined){
this.openPicKmye = res.data.openPicKmye.split(',');
this.openPicKmye2 = res.data.openPicKmye.split(',');
this.openPicKmye.map((rrr,i)=>{
this.openPicKmye[i] = {url:'/api'+rrr}
})
}
if (res.data.openPicZcfz !='' && res.data.openPicZcfz != null && res.data.openPicZcfz != undefined){
this.openPicZcfz = res.data.openPicZcfz.split(',');
this.openPicZcfz2 = res.data.openPicZcfz.split(',');
this.openPicZcfz.map((rrr,i)=>{
this.openPicZcfz[i] = {url:'/api'+rrr}
})
}
console.log('openPicSzmx2'+that.openPicSzmx2)
console.log('openPicKmye2'+that.openPicKmye2)
console.log('openPicZcfz2'+that.openPicZcfz2)
that.form = res.data;
})
},
onSubmit(){
var that = this;
console.log('openPicSzmx2'+that.openPicSzmx2)
console.log('openPicKmye2'+that.openPicKmye2)
console.log('openPicZcfz2'+that.openPicZcfz2)
console.log('openPic'+that.openPic)
that.form.openFile = that.openFile2.join(',')
that.form.openPicSzmx = that.openPicSzmx2.join(',')
that.form.openPicKmye = that.openPicKmye2.join(',')
that.form.openPicZcfz = that.openPicZcfz2.join(',')
//that.form.openPic = that.openPic2.join(',')
that.form.openPic = that.openPic
.filter((x) => x.url && x.url.startsWith('/api'))
.map((x) => x.url.substr(4))
.join(',');

openEdit(that.form).then((r1) => {
if (r1.code == 200){
that.$notify({ type: 'success', message: '修改成功' });
setTimeout(function(){
history.back(-1);
},2000)
}
})
},
onConfirmOpenNy(data){
this.form.openNy = this.format(data,'yyyy-MM');
this.openNy = data;
this.showBuildTime = false;
},
deleteFile1(file,detail){
console.log(detail)
this.openPic2.splice(detail.index,1)
},
deleteFileZcfz(detail){
this.openPicZcfz2.splice(detail.index,1)
// this.form.openPic.splice(index,1);
},
deleteFileSzmx(detail){
this.openPicSzmx2.splice(detail.index,1)
// this.form.openPic.splice(index,1);
},
deleteFileKmye(detail){
this.openPicKmye2.splice(detail.index,1)
// this.form.openPic.splice(index,1);
},
deleteWord(index){
this.openFile.splice(index,1);
this.openFile2.splice(index,1);
},
afterRead(file) {
this.$toast.loading({
message: "上传中...",
forbidClick: true,
duration: 0,
});
if (file instanceof Array){//判断是否为数组,单张图片为array,多张为数组,数组返回true否则为false
if(false) // 顺序上传
{
let SequenceUpload = (list, index) => {
if(index >= list.length)
return;
let res = list[index];
this.openPic.push(res.file);
let params1 = new FormData();
params1.append("file", res.file);
commonUpload(params1).then((r1) => {
this.openPic2.push(r1.fileName);
res.url = '/api' + r1.fileName;
SequenceUpload(list, index + 1);
})
};
SequenceUpload(file, 0);
}
else
{
file.map(res => {
let params1 = new FormData();
params1.append("file", res.file);
commonUpload(params1).then((r1) => {
this.openPic2.push(r1.fileName);
res.url = '/api' + r1.fileName;
})
})
}
}else{
let params1 = new FormData();
params1.append("file", file.file);
commonUpload(params1).then((r1) => {
this.openPic2.push(r1.fileName);
file.url = '/api' + r1.fileName;
})
}
},
afterReadSzmx(file) {
this.$toast.loading({
message: "上传中...",
forbidClick: true,
duration: 0,
});
// 此时可以自行将文件上传至服务器
if (file instanceof Array){//判断是否为数组,单张图片为array,多张为数组,数组返回true否则为false
if(false){// 顺序上传
let SequenceUpload = (list, index) => {
if(index >= list.length)
return;
let res = list[index];
// this.openPicSzmx.push(res.file);
let params1 = new FormData();
params1.append("file", res.file);
commonUpload(params1).then((r1) => {
this.openPicSzmx2.push(r1.fileName);
res.url = '/api' + r1.fileName;
SequenceUpload(list, index + 1);
})
};
SequenceUpload(file, 0);
}else{
file.map(res=>{
// this.openPicSzmx.push(res.file);
let params1 = new FormData();
params1.append("file", res.file);
commonUpload(params1).then((r1) => {
this.openPicSzmx2.push(r1.fileName);
res.url = '/api' + r1.fileName;
})
})
}
}else{
// this.openPicSzmx.push(file);
let params1 = new FormData();
params1.append("file", file.file);
commonUpload(params1).then((r1) => {
this.openPicSzmx2.push(r1.fileName);
console.log(this.openPicSzmx)
// file.url = '/api' + r1.fileName;
})
}
},
afterReadKmye(file) {
this.$toast.loading({
message: "上传中...",
forbidClick: true,
duration: 0,
});
// 此时可以自行将文件上传至服务器
if (file instanceof Array){//判断是否为数组,单张图片为array,多张为数组,数组返回true否则为false
if(false){// 顺序上传
let SequenceUpload = (list, index) => {
if(index >= list.length)
return;
let res = list[index];
this.openPicKmye.push(res.file);
let params1 = new FormData();
params1.append("file", res.file);
commonUpload(params1).then((r1) => {
this.openPicKmye2.push(r1.fileName);
res.url = '/api' + r1.fileName;
SequenceUpload(list, index + 1);
})
};
SequenceUpload(file, 0);
}else{
file.map(res=>{
this.openPicKmye.push(res.file);
let params1 = new FormData();
params1.append("file", res.file);
commonUpload(params1).then((r1) => {
this.openPicKmye2.push(r1.fileName);
res.url = '/api' + r1.fileName;
})
})
}
}else{
// this.openPicKmye.push(file);
let params1 = new FormData();
params1.append("file", file.file);
commonUpload(params1).then((r1) => {
this.openPicKmye2.push(r1.fileName);
file.url = '/api' + r1.fileName;
})
}
},
afterReadZcfz(file) {
this.$toast.loading({
message: "上传中...",
forbidClick: true,
duration: 0,
});
// 此时可以自行将文件上传至服务器
if (file instanceof Array){//判断是否为数组,单张图片为array,多张为数组,数组返回true否则为false
if(false){// 顺序上传
let SequenceUpload = (list, index) => {
if(index >= list.length)
return;
let res = list[index];
this.openPicZcfz.push(res.file);
let params1 = new FormData();
params1.append("file", res.file);
commonUpload(params1).then((r1) => {
this.openPicZcfz2.push(r1.fileName);
res.url = '/api' + r1.fileName;
SequenceUpload(list, index + 1);
})
};
SequenceUpload(file, 0);
}else{
file.map(res=>{
this.openPicZcfz.push(res.file);
let params1 = new FormData();
params1.append("file", res.file);
commonUpload(params1).then((r1) => {
this.openPicZcfz2.push(r1.fileName);
res.url = '/api' + r1.fileName;
})
})
}
}else{
// this.openPicZcfz.push(file);
let params1 = new FormData();
params1.append("file", file.file);
commonUpload(params1).then((r1) => {
this.openPicZcfz2.push(r1.fileName);
file.url = '/api' + r1.fileName;
})
}
},
afterReadOpenFile(file){
console.log(file)
let params1 = new FormData();
params1.append("file", file.file);
commonUpload(params1).then((r1) => {
this.openFile2.push(r1.fileName);
})
let name = file.file.name;
let type = '';
if (name.indexOf('.doc') > -1){
type = 'word';
}else if(name.indexOf('.xls') > -1){
type = 'excel';
}
this.openFile.push({name:file.file.name,type:type})
this.openFileList.push(file.file);
},
drag(src_element) {
//console.log("drag", event);
},
drop(src_element, dst_element, srcData, dstData) {
//console.log("drop", event);
let srcIndex = parseInt(srcData);
let index = parseInt(dstData);
//console.log(srcIndex, index,this.openPic);
if(srcIndex !== index)
{
let src = this.openPic[srcIndex];
if(srcIndex > index)
{
this.openPic.splice(srcIndex, 1);
this.openPic.splice(index, 0, src);
}
else
{
this.openPic.splice(srcIndex, 1);
this.openPic.splice(index, 0, src);
}
}
},
},
}
</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;
}
}
.release_head{
height: 90px;
padding:0 23px;
display: flex;
align-items: center;
font-size: 26px;
color: #929292;
.people{
flex: 1;
display: flex;
align-items: center;
.icon{
width: 24px;
height: 21px;
background: url('../../assets/images/sunVillage_info/details_icon_1.png') no-repeat;
background-size: 100% 100%;
display: block;
margin-right: 8px;
}
}
.time{
flex: 1;
display: flex;
align-items: center;
justify-content:flex-end;
.icon{
width: 25px;
height: 25px;
background: url('../../assets/images/sunVillage_info/details_icon_2.png') no-repeat;
background-size: 100% 100%;
display: block;
margin-right: 8px;
}
}
}
.release_conetnt{
padding:0 22px;
font-size: 32px;
color: #252525;
line-height: 44px;
img{
max-width: 100%;
margin-bottom: 16px;
}
p{
margin-bottom: 16px;
}
}
.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: auto;
display: flex;
align-items: center;
}
/deep/ .van-cell--required::before{
left: 85PX;
}
/deep/ .van-field__error-message{
display: none;
}
.preview-cover {
position: absolute;
bottom: 0;
top: 0;
left: 0;
right: 0;
background: rgba(0, 0, 0, 0);
}

/deep/ .van-uploader__preview-image {
overflow: visible;
}
}
</style>

+ 379
- 0
src/views/sunVillage_info/list_issues_zy.vue Ver fichero

@@ -0,0 +1,379 @@
<template>
<div class="home_wrapper">
<div
class="header_main"
:style="`background-image:url(${require(showBtn?'@/assets/images/sunVillage_info/list_head.png':'@/assets/images/sunVillage_info/list_head_red.png')})`"
>
重要事项
<div class="return_btn" @click="onClickLeft"></div>
<div class="add_btn" @click="goAdd" v-show="showBtn"></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.year == '' ? '全部': queryParams.year}}<span class="unit">{{queryParams.year == '' ? '': '年'}}</span></div>
<div class="total_r">共{{listLength}}条公告</div>
</div>
<div class="record_list" v-if="showTab">
<div :class="{'flex_block':true , 'current':queryParams.year == ''}" @click="tabClick('')">全部</div>
<div v-for="(item,index) in yearList" :key="index" :class="{'flex_block':true , 'current':queryParams.year == item}" @click="tabClick(item)">{{item}}</div>
</div>
</div>
<div class="list_main">
<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<!----1-->
<div class="item" v-for="(item,index) in applicationList" :key="index" >
<div class="info" @click="goDetail(item.id)">
<div class="title">
<i class="icon_box"></i>
<p class="news_title">{{item.openName}}</p>
<p class="tips_mark" v-if="index==0">新</p>
</div>
<div class="time">
<div class="icon_time"></div>
{{item.openNy}}
</div>
</div>
<div class="operation" v-show="showBtn">
<!-- delete 删除 edit编辑 view查看 -->
<div class="opera_btn edit" @click="goEdit(item.id)">
<i class="icon "></i>
</div>
<div class="opera_btn delete" @click="goRemove(item.id)">
<i class="icon"></i>
</div>
<div class="opera_btn view" @click="goDetail(item.id)">
<i class="icon "></i>
</div>
</div>
</div>
</van-list>
</div>
<!-- <div class="bottom_tips">-->
<!-- <span class="xs">已经到底啦</span>-->
<!-- </div>-->
</div>
</template>

<script>
import { importantList , subcontractRemove } from "@/api/sunVillage_info/fixedAssets";
import Cookies from "js-cookie";
import request from '@/utils/request'
export default {
name: "certificateList",
data() {
return {
applicationList:[],
applicationListSecond:[],
assetStatusOptions:[],
auditStatus:[],
loading: false,
finished: false,
show: false,
showTab: false,
fileList:[],
listLength:'0',
searchInput:'',
queryParams:{
pageNum:1,
pageSize:10,
orderByColumn:'openNy',
isAsc:'desc',
year:new Date().getFullYear(),
},
uploadFiles1:[],
projectId:'',
projectIndex:'',
showBtn:true,
nowYear:new Date().getFullYear(),
yearList:[]
};
},
created() {
this.queryParams.bookId = Cookies.get('bookId');
this.queryParams.deptId = Cookies.get('deptId');
if (this.$route.query.type == 'code'){
this.showBtn = false;
}
for (let i = 0 ; i < 5 ; i++){
this.yearList.push(this.nowYear-i);
}
},
methods: {
getList(){
var _this = this;
importantList(_this.queryParams).then(response => {
_this.listLength = response.total;
response.rows.map(res=>{
_this.applicationList.push(res);
})

if(_this.applicationList.length >= response.total){
_this.finished = true;
return;
}else{
_this.loading = false;
_this.queryParams.pageNum += 1 ;
}
});
},
tabClick(year){
this.queryParams.year = year ;
this.applicationList = [];
this.getList();
},
tabShow(){
this.showTab = !this.showTab;
},
goAdd(){
this.$router.push('/sunVillage_info/list_issues_zy_add')
},
goDetail(id){
this.$router.push({path:'/sunVillage_info/list_issues_zy_detail',query: {id:id,type:'issues',showBtn:this.showBtn}})
},
goEdit(id){
this.$router.push({path:'/sunVillage_info/list_issues_zy_edit',query: {id:id,type:'finance'}})
},
goRemove(id){
this.$dialog.alert({
title: '提示',
message: '确认删除?',
showCancelButton:true,
})
.then(() => {
subcontractRemove(id).then(response => {
this.$notify({ type: 'success', message: '删除成功' });
this.applicationList = [];
this.getList()
});
})
.catch(() => {
// on cancel
});

}
},
}
</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;
}
}
.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:0 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: flex-end;
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;
}
}
}
}
}

}
.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;
}
}
}
</style>

+ 362
- 0
src/views/sunVillage_info/list_issues_zy_add.vue Ver fichero

@@ -0,0 +1,362 @@
<template>
<div class="home_wrapper">
<div class="header_main">
新增重要事项
<div class="return_btn" @click="onClickLeft"></div>
<div class="add_btn"></div>
</div>
<van-form @submit="onSubmit">
<div class="list_main">

<van-field
readonly
clickable
placeholder="请选择"
v-model="form.openDate"
@click="showBuildTime = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
required
:border="false"
:rules="[{ required: true , message:'请选择购建时间' }]"
>
<template #label>
<p style="margin-left: 5px;">公开年月</p>
</template>
</van-field>
<van-popup v-model="showBuildTime" position="bottom">
<van-datetime-picker
v-model="openNy"
type="date"
title="选择年月日"
@confirm="onConfirmOpenNy"
@cancel="showBuildTime = false"
/>
</van-popup>

<van-field required v-model="form.openName" placeholder="请输入名称" :rules="[{ required: true , message:'请输入名称' }]" input-align="right" :border="false" >
<template #label>
<p style="margin-left: 5px;">公开名称</p>
</template>
</van-field>

<van-field
readonly
clickable
placeholder="请选择"
v-model="importantType"
@click="showThreeDetailType = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
required
:border="false"
:rules="[{ required: true , message:'请选择事项类型' }]"
>
<template #label>
<p style="margin-left: 5px;">事项类型</p>
</template>
</van-field>
<van-popup v-model="showThreeDetailType" position="bottom">
<van-picker
show-toolbar
value-key="dictLabel"
:columns="importantTypeOptions"
@confirm="onConfirmThreeDetailType"
@cancel="showThreeDetailType = false"
/>
</van-popup>

<van-field readonly input-align="right" :border="false" >
<template #label>
<p style="margin-left: 5px;">公开图片</p>
</template>
</van-field>
<!-- @delete="deleteFile1"-->
<van-uploader v-model="fileList" multiple :after-read="afterRead" @delete="deleteFile1" style="margin-top: 10PX" />

<div style="border-top: 1px solid #ededed;margin-top: 10PX;">
<van-field readonly input-align="right" :border="false" >
<template #label>
<p style="margin-left: 5px;">附件</p>
</template>
</van-field>

<div>
<div v-for="(item,index) in openFileList" :key="index" style="display: flex;align-items: center;margin-top: 10px;">
<img src="../../assets/images/sunVillage_info/WORD.png" width="30" v-if="item.type == 'word'"/>
<img src="../../assets/images/sunVillage_info/ECEL.png" width="30" v-if="item.type == 'excel'" />
<p class="fileName" style="margin-left: 10px;">{{item.name}}</p>
<img src="../../assets/images/sunVillage_info/delete.png" width="16" style="margin-left: auto;" @click="deleteWord(index)" />
</div>
</div>
<van-uploader accept="*" :after-read="afterReadOpenFile" style="margin-top: 10PX">
<img src="../../assets/images/sunVillage_info/addFile.png" width="120" />
</van-uploader>
</div>

<van-field v-model="form.content" type="textarea" autosize placeholder="请输入内容" input-align="right" :border="false" >
<template #label>
<p style="margin-left: 5px;">内容</p>
</template>
</van-field>

<van-field v-model="form.remark" placeholder="请输入备注" input-align="right" :border="false" >
<template #label>
<p style="margin-left: 5px;">备注</p>
</template>
</van-field>

</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 , subcontractAdd } from "@/api/sunVillage_info/fixedAssets";
import Cookies from "js-cookie";
import request from '@/utils/request'
export default {
name: "certificateList",
data() {
return {
showBuildTime:false,
showThreeDetailType:false,
form:{
openDate:this.format(new Date(),'yyyy-MM-dd'),
openPic:'',
openFile:'',
importantType:''
},
openPic:[],
fileList:[],
fileList1:[],
openNy:new Date(),
type:'',
openFile:[],
openFileList:[],
queryParams:{
bookId:'',
deptId:''
},
openFile2:[],
openPic2:[],
importantTypeOptions:[],
importantType: ''
};
},
created() {
this.getDicts("important_type").then((response) => {
this.importantTypeOptions = response.data;
});
this.type = this.$route.query.type;
this.queryParams.bookId = Cookies.get('bookId');
this.queryParams.deptId = Cookies.get('deptId');
},
methods: {
onConfirmThreeDetailType(data){
this.importantType = data.dictLabel;
this.form.importantType = data.dictValue;
this.showThreeDetailType = false;
},
onSubmit(){
var that = this;
that.form.openFile = that.openFile2.join(',')
that.form.openPic = that.openPic2.join(',')
subcontractAdd(that.form).then((r1) => {
if (r1.code == 200){
that.$notify({ type: 'success', message: '新增成功' });
setTimeout(function(){
history.back(-1);
},2000)
}
})
},
onConfirmOpenNy(data){
this.form.openNy = this.format(data,'yyyy-MM');
this.openNy = data;
this.showBuildTime = false;
},
deleteFile1(detail){
this.openPic2.splice(detail.index,1)
// this.form.openPic.splice(index,1);
},
deleteWord(index){
this.openFileList.splice(index,1);
this.openFile2.splice(index,1);
},
afterRead(file) {
this.$toast.loading({
message: "上传中...",
forbidClick: true,
duration: 0,
});
// 此时可以自行将文件上传至服务器
if (file instanceof Array){//判断是否为数组,单张图片为array,多张为数组,数组返回true否则为false
file.map(res=>{
this.openPic.push(res.file);
let params1 = new FormData();
params1.append("file", res.file);
commonUpload(params1).then((r1) => {
this.openPic2.push(r1.fileName);
})
})
}else{
this.openPic.push(file);
let params1 = new FormData();
params1.append("file", file.file);
commonUpload(params1).then((r1) => {
this.openPic2.push(r1.fileName);
})
}
},
afterReadOpenFile(file){
this.$toast.loading({
message: "上传中...",
forbidClick: true,
duration: 0,
});
console.log(file)
let params1 = new FormData();
params1.append("file", file.file);
commonUpload(params1).then((r1) => {
this.openFile2.push(r1.fileName);
})
let name = file.file.name;
let type = '';
if (name.indexOf('.doc') > -1){
type = 'word';
}else if(name.indexOf('.xls') > -1){
type = 'excel';
}
this.openFileList.push({name:file.file.name,type:type})
this.openFile.push(file.file);
}
},
}
</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;
}
}
.release_head{
height: 90px;
padding:0 23px;
display: flex;
align-items: center;
font-size: 26px;
color: #929292;
.people{
flex: 1;
display: flex;
align-items: center;
.icon{
width: 24px;
height: 21px;
background: url('../../assets/images/sunVillage_info/details_icon_1.png') no-repeat;
background-size: 100% 100%;
display: block;
margin-right: 8px;
}
}
.time{
flex: 1;
display: flex;
align-items: center;
justify-content:flex-end;
.icon{
width: 25px;
height: 25px;
background: url('../../assets/images/sunVillage_info/details_icon_2.png') no-repeat;
background-size: 100% 100%;
display: block;
margin-right: 8px;
}
}
}
.release_conetnt{
padding:0 22px;
font-size: 32px;
color: #252525;
line-height: 44px;
img{
max-width: 100%;
margin-bottom: 16px;
}
p{
margin-bottom: 16px;
}
}
.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: auto;
display: flex;
align-items: center;
}
/deep/ .van-cell--required::before{
left: 70PX;
}
/deep/ .van-field__error-message{
display: none;
}
}
</style>

+ 271
- 0
src/views/sunVillage_info/list_issues_zy_detail.vue Ver fichero

@@ -0,0 +1,271 @@
<template>
<div class="home_wrapper">
<div
class="header_main"
:style="`background-image:url(${require(showBtn?'@/assets/images/sunVillage_info/list_head.png':'@/assets/images/sunVillage_info/list_head_red.png')})`"
>
查看重要事项
<div class="return_btn" @click="onClickLeft"></div>
<div class="add_btn"></div>
</div>
<div class="list_main">

<van-field
readonly
clickable
placeholder="请选择"
v-model="form.openNy"
input-align="right"
label-width="auto"
:border="false"
:rules="[{ required: true , message:'请选择购建时间' }]"
>
<template #label>
<p style="margin-left: 5px;">公开年月</p>
</template>
</van-field>

<van-field readonly v-model="form.openName" :rules="[{ required: true , message:'请输入名称' }]" input-align="right" :border="false" >
<template #label>
<p style="margin-left: 5px;">公开名称</p>
</template>
</van-field>

<van-field readonly v-model="form.importantType" :rules="[{ required: true , message:'请输入' }]" input-align="right" :border="false" >
<template #label>
<p style="margin-left: 5px;">事项类型</p>
</template>
</van-field>

<van-field readonly input-align="right" :border="false" >
<template #label>
<p style="margin-left: 5px;">公开图片</p>
</template>
</van-field>
<!-- @delete="deleteFile1"-->
<van-uploader v-model="openPic" :show-upload="false" :deletable="false" multiple style="margin-top: 10PX" />

<div style="border-top: 1px solid #ededed;margin-top: 10PX;">
<van-field readonly input-align="right" :border="false" >
<template #label>
<p style="margin-left: 5px;">附件</p>
</template>
</van-field>

<div>
<div v-for="(item,index) in openFileList" :key="index" style="display: flex;align-items: center;margin-top: 10px;">
<img src="../../assets/images/sunVillage_info/WORD.png" width="30" v-if="item.type == 'word'"/>
<img src="../../assets/images/sunVillage_info/ECEL.png" width="30" v-if="item.type == 'excel'" />
<a class="fileName" :href="item.url" style="margin-left: 10px;color: #333333">{{item.name}}</a>
</div>
</div>
</div>

<van-field readonly type="textarea" autosize input-align="right" :border="false" >
<template #label>
<p style="margin-left: 5px;">内容</p>
</template>
<template #input>
<div v-html="form.content"></div>
</template>
</van-field>

<van-field readonly v-model="form.remark" input-align="right" :border="false" >
<template #label>
<p style="margin-left: 5px;">备注</p>
</template>
</van-field>

</div>

</div>
</template>

<script>
import { importantDetail , openAdd } from "@/api/sunVillage_info/fixedAssets";
import Cookies from "js-cookie";
import request from '@/utils/request'
export default {
name: "certificateList",
data() {
return {
showBuildTime:false,
form:{
openNy:this.format(new Date(),'yyyy-MM'),
openPic:'',
openFile:'',
},
openPic:[],
fileList:[],
fileList1:[],
openNy:new Date(),
type:'',
openFile:[],
openFileList:[],
queryParams:{
bookId:'',
deptId:''
},
showBtn:true,
importantTypeOptions:[],
importantType: ''
};
},
created() {
this.type = this.$route.query.type;
this.queryParams.bookId = Cookies.get('bookId');
this.queryParams.deptId = Cookies.get('deptId');
this.queryParams.id = this.$route.query.id;
this.showBtn = this.$route.query.showBtn=='false'?false:true;
this.getDicts("important_type").then((response) => {
this.importantTypeOptions = response.data;
this.getDetail();
});
},
methods: {
getDetail(id){
importantDetail(this.queryParams).then((res) => {
if (res.data.openFile !='' && res.data.openFile != null && res.data.openFile != undefined){
res.data.openFile = res.data.openFile.split(',')
res.data.openFile.map(rr=>{
let name = rr.substr(27,rr.length);
let type = '';
if (name.indexOf('.doc') > -1){
type = 'word';
}else if(name.indexOf('.xls') > -1){
type = 'excel';
}
this.openFileList.push({name:name,type:type,url:'/api'+rr})
})
}
if (res.data.openPic !='' && res.data.openPic != null && res.data.openPic != undefined){
res.data.openPic = res.data.openPic.split(',')
res.data.openPic.map((rrr,i)=>{
this.openPic.push({url:'/api'+rrr})
})
}
res.data.importantType = this.selectDictLabel(this.importantTypeOptions, res.data.importantType);
this.form = res.data;
})
},

},
}
</script>

<style scoped lang="scss">
.fileName{
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
word-break: break-all;
overflow: hidden;
}
.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;
}
}
.release_head{
height: 90px;
padding:0 23px;
display: flex;
align-items: center;
font-size: 26px;
color: #929292;
.people{
flex: 1;
display: flex;
align-items: center;
.icon{
width: 24px;
height: 21px;
background: url('../../assets/images/sunVillage_info/details_icon_1.png') no-repeat;
background-size: 100% 100%;
display: block;
margin-right: 8px;
}
}
.time{
flex: 1;
display: flex;
align-items: center;
justify-content:flex-end;
.icon{
width: 25px;
height: 25px;
background: url('../../assets/images/sunVillage_info/details_icon_2.png') no-repeat;
background-size: 100% 100%;
display: block;
margin-right: 8px;
}
}
}
.release_conetnt{
padding:0 22px;
font-size: 32px;
color: #252525;
line-height: 44px;
img{
max-width: 100%;
margin-bottom: 16px;
}
p{
margin-bottom: 16px;
}
}
.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: auto;
display: flex;
align-items: center;
}
/deep/ .van-cell--required::before{
left: 85PX;
}
}
</style>

+ 399
- 0
src/views/sunVillage_info/list_issues_zy_edit.vue Ver fichero

@@ -0,0 +1,399 @@
<template>
<div class="home_wrapper">
<div class="header_main">
修改重要事项
<div class="return_btn" @click="onClickLeft"></div>
<div class="add_btn"></div>
</div>
<van-form @submit="onSubmit">
<div class="list_main">

<van-field
readonly
clickable
placeholder="请选择"
v-model="form.openNy"
@click="showBuildTime = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
required
:border="false"
:rules="[{ required: true , message:'请选择公开年月' }]"
>
<template #label>
<p style="margin-left: 5px;">公开年月</p>
</template>
</van-field>
<van-popup v-model="showBuildTime" position="bottom">
<van-datetime-picker
v-model="openNy"
type="year-month"
title="选择年月日"
@confirm="onConfirmOpenNy"
@cancel="showBuildTime = false"
/>
</van-popup>

<van-field required v-model="form.openName" placeholder="请输入名称" :rules="[{ required: true , message:'请输入名称' }]" input-align="right" :border="false" >
<template #label>
<p style="margin-left: 5px;">公开名称</p>
</template>
</van-field>

<van-field
readonly
clickable
placeholder="请选择"
v-model="importantType"
@click="showThreeDetailType = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
required
:border="false"
:rules="[{ required: true , message:'请选择事项类型' }]"
>
<template #label>
<p style="margin-left: 5px;">事项类型</p>
</template>
</van-field>
<van-popup v-model="showThreeDetailType" position="bottom">
<van-picker
show-toolbar
value-key="dictLabel"
:columns="importantTypeOptions"
@confirm="onConfirmThreeDetailType"
@cancel="showThreeDetailType = false"
/>
</van-popup>

<van-field readonly input-align="right" :border="false" >
<template #label>
<p style="margin-left: 5px;">公开图片</p>
</template>
</van-field>
<!-- @delete="deleteFile1"-->
<van-uploader v-model="openPic" multiple :after-read="afterRead" @delete="deleteFile1" style="margin-top: 10PX" />

<div style="border-top: 1px solid #ededed;margin-top: 10PX;">
<van-field readonly input-align="right" :border="false" >
<template #label>
<p style="margin-left: 5px;">附件</p>
</template>
</van-field>

<div>
<div v-for="(item,index) in openFile" :key="index" style="display: flex;align-items: center;margin-top: 10px;">
<img src="../../assets/images/sunVillage_info/WORD.png" width="30" v-if="item.type == 'word'"/>
<img src="../../assets/images/sunVillage_info/ECEL.png" width="30" v-if="item.type == 'excel'" />
<p class="fileName" style="margin-left: 10px;">{{item.name}}</p>
<img src="../../assets/images/sunVillage_info/delete.png" width="16" style="margin-left: auto;" @click="deleteWord(index)" />
</div>
</div>
<van-uploader accept="*" :after-read="afterReadOpenFile" style="margin-top: 10PX">
<img src="../../assets/images/sunVillage_info/addFile.png" width="120" />
</van-uploader>
</div>

<van-field v-model="form.content" type="textarea" autosize placeholder="请输入内容" input-align="right" :border="false" >
<template #label>
<p style="margin-left: 5px;">内容</p>
</template>
<template #input>
<div v-html="form.content"></div>
</template>
</van-field>

<van-field v-model="form.remark" placeholder="请输入备注" input-align="right" :border="false" >
<template #label>
<p style="margin-left: 5px;">备注</p>
</template>
</van-field>

</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 , subcontractEdit , importantDetail } from "@/api/sunVillage_info/fixedAssets";
import Cookies from "js-cookie";
import request from '@/utils/request'
export default {
name: "certificateList",
data() {
return {
showBuildTime:false,
showThreeDetailType:false,
form:{
openNy:this.format(new Date(),'yyyy-MM'),
openPic:'',
openFile:'',
},
openPic:[],
fileList:[],
fileList1:[],
openNy:new Date(),
type:'',
openFile:[],
openFileList:[],
openPicList:[],
queryParams:{
bookId:'',
deptId:''
},
openPic2:[],
openFile2:[],
importantTypeOptions:[],
importantType: ''
};
},
created() {
this.type = this.$route.query.type;
this.queryParams.bookId = Cookies.get('bookId');
this.queryParams.deptId = Cookies.get('deptId');
this.queryParams.id = this.$route.query.id;
this.getDicts("important_type").then((response) => {
this.importantTypeOptions = response.data;
this.getDetail();
});
},
methods: {
onConfirmThreeDetailType(data){
this.importantType = data.dictLabel;
this.form.importantType = data.dictValue;
this.showThreeDetailType = false;
},
getDetail(id){
importantDetail(this.queryParams).then((res) => {
var that = this ;
if (res.data.openFile!='' && res.data.openFile != null && res.data.openFile != undefined){
this.openFile = res.data.openFile.split(',')
this.openFile2 = res.data.openFile.split(',')
this.openFile.map((rr,i)=>{
let name = rr.substr(27,rr.length);
let type = '';
if (name.indexOf('.doc') > -1){
type = 'word';
}else if(name.indexOf('.xls') > -1){
type = 'excel';
}
this.openFile[i] = {name:name,type:type}
})
}
if (res.data.openPic!='' && res.data.openPic != null && res.data.openPic != undefined){
this.openPic = res.data.openPic.split(',')
this.openPic2 = res.data.openPic.split(',')
this.openPic.map((rrr,i)=>{
this.openPic[i] = {url:'/api'+rrr}
})
}
this.importantType = this.selectDictLabel(this.importantTypeOptions, res.data.importantType);
that.form = res.data;
})
},
onSubmit(){
var that = this;
that.form.openFile = that.openFile2.join(',')
that.form.openPic = that.openPic2.join(',')
subcontractEdit(that.form).then((r1) => {
if (r1.code == 200){
that.$notify({ type: 'success', message: '修改成功' });
setTimeout(function(){
history.back(-1);
},2000)
}
})
},
onConfirmOpenNy(data){
this.form.openNy = this.format(data,'yyyy-MM');
this.openNy = data;
this.showBuildTime = false;
},
deleteFile1(file,detail){
console.log(detail)
this.openPic2.splice(detail.index,1)
},
deleteWord(index){
this.openFile.splice(index,1);
this.openFile2.splice(index,1);
},
afterRead(file) {
this.$toast.loading({
message: "上传中...",
forbidClick: true,
duration: 0,
});
// 此时可以自行将文件上传至服务器
if (file instanceof Array){//判断是否为数组,单张图片为array,多张为数组,数组返回true否则为false
file.map(res=>{
let params1 = new FormData();
params1.append("file", res.file);
commonUpload(params1).then((r1) => {
this.openPic2.push(r1.fileName);
})
})
}else{
let params1 = new FormData();
params1.append("file", file.file);
commonUpload(params1).then((r1) => {
this.openPic2.push(r1.fileName);
})
}
},
afterReadOpenFile(file){
this.$toast.loading({
message: "上传中...",
forbidClick: true,
duration: 0,
});
let params1 = new FormData();
params1.append("file", file.file);
commonUpload(params1).then((r1) => {
this.openFile2.push(r1.fileName);
})
let name = file.file.name;
let type = '';
if (name.indexOf('.doc') > -1){
type = 'word';
}else if(name.indexOf('.xls') > -1){
type = 'excel';
}
this.openFile.push({name:file.file.name,type:type})
this.openFileList.push(file.file);
}
},
}
</script>

<style scoped lang="scss">
.fileName{
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 2;
word-break: break-all;
overflow: hidden;
}
/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;
}
}
.release_head{
height: 90px;
padding:0 23px;
display: flex;
align-items: center;
font-size: 26px;
color: #929292;
.people{
flex: 1;
display: flex;
align-items: center;
.icon{
width: 24px;
height: 21px;
background: url('../../assets/images/sunVillage_info/details_icon_1.png') no-repeat;
background-size: 100% 100%;
display: block;
margin-right: 8px;
}
}
.time{
flex: 1;
display: flex;
align-items: center;
justify-content:flex-end;
.icon{
width: 25px;
height: 25px;
background: url('../../assets/images/sunVillage_info/details_icon_2.png') no-repeat;
background-size: 100% 100%;
display: block;
margin-right: 8px;
}
}
}
.release_conetnt{
padding:0 22px;
font-size: 32px;
color: #252525;
line-height: 44px;
img{
max-width: 100%;
margin-bottom: 16px;
}
p{
margin-bottom: 16px;
}
}
.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: auto;
display: flex;
align-items: center;
}
/deep/ .van-cell--required::before{
left: 85PX;
}
/deep/ .van-field__error-message{
display: none;
}
}
</style>

+ 482
- 0
src/views/sunVillage_info/list_operatingAssets.vue Ver fichero

@@ -0,0 +1,482 @@
<template>
<div class="home_wrapper">
<div class="header_main">
经营性资产情况公开
<div class="return_btn" @click="onClickLeft"></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.ny == '' ? '全部': queryParams.ny}}</div>-->
<!-- <div class="total_r">共{{listLength}}条公告</div>-->
<!-- </div>-->
<!-- <van-popup v-model="showTab" position="bottom">-->
<!-- <van-datetime-picker-->
<!-- v-model="currentDate"-->
<!-- type="year-month"-->
<!-- title="选择年月"-->
<!-- :min-date="minDate"-->
<!-- :max-date="maxDate"-->
<!-- :formatter="formatter"-->
<!-- @confirm="onConfirmOpenNy"-->
<!-- />-->
<!-- </van-popup>-->
<!-- </div>-->
<van-tabs v-model="active">
<van-tab title="固定资产">
<van-dropdown-menu>
<van-dropdown-item v-model="queryParams.useType" :options="useTypeOptions" @change="changeUseType" />
</van-dropdown-menu>
<div class="list_main">
<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<!----1-->
<div class="item" v-for="(item,index) in applicationList" :key="index" >
<div class="info" @click="goDetail(item.id)">
<div class="title">
<!-- <i class="icon_box"></i>-->
<p class="news_title">{{item.name}}</p>
</div>
<div class="time">
{{selectDictLabel(useTypeOptionsY, item.useType)}}
<p>{{item.originalValue}}元</p>
</div>
</div>
</div>

</van-list>
</div>
</van-tab>
<van-tab title="资源性资产">
<van-dropdown-menu>
<van-dropdown-item v-model="queryParams2.useType" :options="useTypeOptions" @change="changeUseType2" />
</van-dropdown-menu>
<div class="list_main">
<van-list
v-model="loading2"
:finished="finished2"
finished-text="没有更多了"
@load="getList2"
>
<!----1-->
<div class="item" v-for="(item,index) in applicationList2" :key="index" >
<div class="info" @click="goDetail2(item.id)">
<div class="title">
<!-- <i class="icon_box"></i>-->
<p class="news_title">{{selectDictLabel(resourceTypeOptionsY, item.resourceType)}}</p>
</div>
<div class="time">
{{selectDictLabel(useTypeOptionsY, item.useType)}}
<p>{{item.totalArea}}亩</p>
</div>
</div>
</div>

</van-list>
</div>
</van-tab>
</van-tabs>
</div>
</template>

<script>
import { jyxzcqkgkList , jyxzyqkgkList } from "@/api/sunVillage_info/fixedAssets";
import Cookies from "js-cookie";
export default {
name: "certificateList",
data() {
return {
active: 0,
applicationList:[],
applicationList2:[],
useTypeOptionsY:[],
resourceTypeOptionsY:[],
resourceTypeOptions:[],
useTypeOptions: [
{ text: '使用情况', value: '' },
],
loading: false,
finished: false,
loading2: false,
finished2: false,
show: false,
showTab: false,
listLength:'0',
listLength2:'0',
queryParams:{
pageNum:1,
pageSize:10,
isAsc:'desc',
useType:'',
},
queryParams2:{
pageNum:1,
pageSize:10,
isAsc:'desc',
useType:'',
},
nowYear:new Date().getFullYear(),
minDate: new Date(2020, 0, 1),
maxDate: new Date(),
currentDate: new Date(),
yearList:[]
};
},
created() {
this.queryParams.bookId = Cookies.get('bookId');
this.queryParams2.bookId = Cookies.get('bookId');
this.getDicts("use_type").then((response) => {
this.useTypeOptionsY = response.data;
response.data.map(rr=>{
this.useTypeOptions.push({
text:rr.dictLabel,
value:rr.dictValue
})
})
});
this.getDicts("resource_type").then((response) => {
this.resourceTypeOptionsY = response.data;
response.data.map(rr=>{
this.resourceTypeOptions.push({
text:rr.dictLabel,
value:rr.dictValue
})
})
});
},
methods: {
getList(){
var _this = this;
console.log(_this.queryParams)
jyxzcqkgkList(_this.queryParams).then(response => {
_this.listLength = response.total;
response.rows.map(res=>{
// res.pictureType = this.selectDictLabel(this.pictureTypeOptions, res.pictureType);
_this.applicationList.push(res);
})

if(_this.applicationList.length >= response.total){
_this.finished = true;
return;
}else{
_this.loading = false;
_this.queryParams.pageNum += 1 ;
}
});
},
getList2(){
var _this = this;
console.log(_this.queryParams2)
jyxzyqkgkList(_this.queryParams2).then(response => {
_this.listLength2 = response.total;
response.rows.map(res=>{
// res.pictureType = this.selectDictLabel(this.pictureTypeOptions, res.pictureType);
_this.applicationList2.push(res);
})

if(_this.applicationList2.length >= response.total){
_this.finished2 = true;
return;
}else{
_this.loading2 = false;
_this.queryParams2.pageNum += 1 ;
}
});
},
changeUseType(val){
this.queryParams.useType = val;
this.queryParams.pageNum = 1;
this.applicationList = [];
this.loading = true;
this.finished = false;
this.getList();
},
changeUseType2(val){
this.queryParams2.useType = val;
this.queryParams2.pageNum = 1;
this.applicationList2 = [];
this.loading2 = true;
this.finished2 = false;
this.getList2();
},
formatter(type, val) {
if (type === 'year') {
return `${val}年`;
} else if (type === 'month') {
return `${val}月`;
}
return val;
},
onConfirmOpenNy(data){
this.queryParams.ny = this.format(data,'yyyy-MM');
this.currentDate = data;
this.showTab = false;
this.applicationList = [];
this.queryParams.pageNum = 1;
this.getList();
},
tabShow(){
this.showTab = !this.showTab;
},
goDetail(id){
this.$router.push({path:'/sunVillage_info/list_operatingAssets_detail',query: {id:id}})
},
goDetail2(id){
this.$router.push({path:'/sunVillage_info/list_operatingAssets_detail2',query: {id:id}})
}
},
}
</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;
}
}
.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:0 22px;
margin-top: 15PX;
.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{
width: 100%;
.title{
display: flex;
font-size: 32px;
align-items: center;
height: 58px;
.icon_box{
width: 34px;
display: block;
height: 34px;
background: url('../../../static/images/sunVillage_info/code_new/list_icon.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;
width: 100%;
.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;
}
p{
margin-left: auto;
color:#df0707;
span{
font-size: 2.45vh;
}
}
}
}
.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;
}
}
&.copy{
background: #79cf13;
margin-left: 10PX;
.icon {
width: 25px;
height: 25px;
background: url('../../assets/images/sunVillage_info/list_icon_copy.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;
}
}
}
</style>

+ 193
- 0
src/views/sunVillage_info/list_operatingAssets_detail.vue Ver fichero

@@ -0,0 +1,193 @@
<template>
<div class="home_wrapper">
<div class="header_main">
固定资产详情
<div class="return_btn" @click="onClickLeft"></div>
</div>
<div class="list_main">
<van-divider>固定资产信息</van-divider>
<van-field readonly v-model="form.name" type="textarea" autosize label="资产名称" placeholder="资产名称" input-align="right" :border="false"/>
<van-field readonly v-model="form.useTypeText" label="使用状态" placeholder="使用状态" input-align="right" :border="false"/>
<van-field readonly v-model="form.originalValue + '元'" label="原值" placeholder="原值" input-align="right" :border="false"/>
<van-field readonly v-model="form.buildTime" label="购建时间" placeholder="构建时间" input-align="right" :border="false"/>
<van-field readonly v-model="form.quantity" label="数量" placeholder="数量" input-align="right" :border="false"/>
<van-field readonly v-model="form.unit" label="单位" placeholder="单位" input-align="right" :border="false"/>
<div v-if="form.contractionId">
<van-divider>关联合同信息</van-divider>
<van-field readonly v-model="form.rentLessee" label="承租人" placeholder="承租人" input-align="right" :border="false"/>
<van-field readonly v-model="form.contractYears + '年'" label="年限" placeholder="年限" input-align="right" :border="false"/>
<van-field readonly v-model="form.totalAmount + '元'" label="合同金额" placeholder="合同金额" input-align="right" :border="false"/>
<van-field readonly v-model="form.receivedAmount + '元'" label="已结款" placeholder="已结款" input-align="right" :border="false"/>
</div>
</div>
</div>
</template>

<script>
import {jyxzcqkgkDetail} from "@/api/sunVillage_info/fixedAssets";

export default {
name: "listMultipleLotsDetail",
data() {
return {
form: {},
useTypeOptions: []
};
},
created() {
this.getDicts("use_type").then((response) => {
this.useTypeOptions = response.data;
this.getDetail();
});
},
methods: {
getDetail() {
let query = {
translate_dict: 1
};
jyxzcqkgkDetail(this.$route.query.id).then((res) => {
if (res.code === 200) {
res.data.useTypeText = this.selectDictLabel(this.useTypeOptions, res.data.useType);
this.form = res.data;
}
})
},

},
}
</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;
}
}

.release_head {
height: 90px;
padding: 0 23px;
display: flex;
align-items: center;
font-size: 26px;
color: #929292;

.people {
flex: 1;
display: flex;
align-items: center;

.icon {
width: 24px;
height: 21px;
background: url('../../assets/images/sunVillage_info/details_icon_1.png') no-repeat;
background-size: 100% 100%;
display: block;
margin-right: 8px;
}
}

.time {
flex: 1;
display: flex;
align-items: center;
justify-content: flex-end;

.icon {
width: 25px;
height: 25px;
background: url('../../assets/images/sunVillage_info/details_icon_2.png') no-repeat;
background-size: 100% 100%;
display: block;
margin-right: 8px;
}
}
}

.release_conetnt {
padding: 0 22px;
font-size: 32px;
color: #252525;
line-height: 44px;

img {
max-width: 100%;
margin-bottom: 16px;
}

p {
margin-bottom: 16px;
}
}

.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: auto;
display: flex;
align-items: center;
}

/deep/ .van-cell--required::before {
left: 85PX;
}

/deep/ .van-field__error-message {
display: none;
}
}
</style>

+ 198
- 0
src/views/sunVillage_info/list_operatingAssets_detail2.vue Ver fichero

@@ -0,0 +1,198 @@
<template>
<div class="home_wrapper">
<div class="header_main">
资源性资产详情
<div class="return_btn" @click="onClickLeft"></div>
</div>
<div class="list_main">
<van-divider>资源性资产信息</van-divider>
<van-field readonly v-model="form.resourceTypeText" label="资源类型" placeholder="资源类型" input-align="right" :border="false"/>
<van-field readonly v-model="form.useTypeText" label="使用情况" placeholder="使用情况" input-align="right" :border="false"/>
<van-field readonly v-model="form.totalArea + '亩'" label="面积" placeholder="面积" input-align="right" :border="false"/>
<div v-if="form.contractionId">
<van-divider>关联合同信息</van-divider>
<van-field readonly v-model="form.usedArea + '亩'" label="承租规模" placeholder="承租规模" input-align="right" :border="false"/>
<van-field readonly v-model="form.rentLessee" label="承租人" placeholder="承租人" input-align="right" :border="false"/>
<van-field readonly v-model="form.contractYears + '年'" label="年限" placeholder="年限" input-align="right" :border="false"/>
<van-field readonly v-model="form.totalAmount + '元'" label="合同金额" placeholder="合同金额" input-align="right" :border="false"/>
<van-field readonly v-model="form.receivedAmount + '元'" label="已结款" placeholder="已结款" input-align="right" :border="false"/>
</div>
</div>
</div>
</template>

<script>
import {jyxzyqkgkDetail} from "@/api/sunVillage_info/fixedAssets";
export default {
name: "listMultipleLotsDetail",
data() {
return {
form: {},
useTypeOptions: [],
usedAreaOptions: [],
resourceTypeOptions: []
};
},
created() {
this.getDicts("use_type").then((response) => {
this.useTypeOptions = response.data;
});
this.getDicts("resource_type").then((response) => {
this.resourceTypeOptions = response.data;
});
},
mounted() {
this.getDetail();
},
methods: {
getDetail() {
let query = {
translate_dict: 1
};
jyxzyqkgkDetail(this.$route.query.id).then((res) => {
if (res.code === 200) {
res.data.useTypeText = this.selectDictLabel(this.useTypeOptions, res.data.useType);
res.data.resourceTypeText = this.selectDictLabel(this.resourceTypeOptions, res.data.resourceType);
this.form = res.data;
}
})
},

},
}
</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;
}
}

.release_head {
height: 90px;
padding: 0 23px;
display: flex;
align-items: center;
font-size: 26px;
color: #929292;

.people {
flex: 1;
display: flex;
align-items: center;

.icon {
width: 24px;
height: 21px;
background: url('../../assets/images/sunVillage_info/details_icon_1.png') no-repeat;
background-size: 100% 100%;
display: block;
margin-right: 8px;
}
}

.time {
flex: 1;
display: flex;
align-items: center;
justify-content: flex-end;

.icon {
width: 25px;
height: 25px;
background: url('../../assets/images/sunVillage_info/details_icon_2.png') no-repeat;
background-size: 100% 100%;
display: block;
margin-right: 8px;
}
}
}

.release_conetnt {
padding: 0 22px;
font-size: 32px;
color: #252525;
line-height: 44px;

img {
max-width: 100%;
margin-bottom: 16px;
}

p {
margin-bottom: 16px;
}
}

.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: auto;
display: flex;
align-items: center;
}

/deep/ .van-cell--required::before {
left: 85PX;
}

/deep/ .van-field__error-message {
display: none;
}
}
</style>

+ 427
- 0
src/views/sunVillage_info/list_process.vue Ver fichero

@@ -0,0 +1,427 @@
<template>
<div class="home_wrapper">
<div
class="header_main"
:style="`background-image:url(${require(showBtn?'@/assets/images/sunVillage_info/list_head.png':'@/assets/images/sunVillage_info/list_head_red.png')})`"
>
<p class="title">实施过程公开</p>
<div class="return_btn" @click="onClickLeft"></div>
<!-- <div class="add_btn" @click="add" v-show="showBtn"></div>-->
</div>
<div class="record_main">
<div class="record_det">
<div></div>
<!-- <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">共{{listLength}}条公开</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">

<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<div class="item" v-for="(item,index) in applicationList" :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" v-show="showBtn">
<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>
</van-list>

</div>
</div>
</template>

<script>
import {Dialog, Toast} from "vant";
import Cookies from "js-cookie";
import {listOther, delSiyigongkai, listOtherOpen} from "@/api/sunVillage_info/fixedAssets";
export default {
name: "otherOpenList",
data() {
return {
dataList:[],
total: 0,
queryParams:{
pageNum:1,
pageSize:10,
isAsc:'desc',
openYear:'',
otherType: 13,
},
yearList: [],
reload: false,
showTab: false,
otherTypeOptions: [],
showType: false,
loading: false,
finished: false,
applicationList:[],
listLength:'0',
showBtn:true,
};
},
created() {
if (this.$route.query.type == 'code'){
this.showBtn = false;
}
},
methods: {
getList(){
var _this = this;
if (this.showBtn){
listOther(_this.queryParams).then(response => {
_this.listLength = response.total;
response.rows.map(res=>{
_this.applicationList.push(res);
})

if(_this.applicationList.length >= response.total){
_this.finished = true;
return;
}else{
_this.loading = false;
_this.queryParams.pageNum += 1 ;
}
});
}else{
_this.queryParams.bookId = Cookies.get('bookId');
listOtherOpen(_this.queryParams).then(response => {
_this.listLength = response.total;
response.rows.map(res=>{
_this.applicationList.push(res);
})

if(_this.applicationList.length >= response.total){
_this.finished = true;
return;
}else{
_this.loading = false;
_this.queryParams.pageNum += 1 ;
}
});
}
},
viewItem(id){
this.$router.push({path:'/sunVillage_info/list_process_detail',query: {id:id,type:this.$route.query.typeX,showBtn:this.showBtn}});
},
add() {
this.$router.push({path:'/sunVillage_info/list_discussions_new_add'});
},
edit(id) {
this.$router.push({path:'/sunVillage_info/list_discussions_new_edit',query: {id:id}});
},
remove(id) {
Dialog.confirm({
title: '警告',
message: '确认删除该项?',
})
.then(() => {
const loading = Toast.loading({
message: '删除中...',
duration: 0,
});
delSiyigongkai(id).then((resp) => {
this.$notify({ type: 'success', message: '删除成功' });
this.applicationList = [];
this.getList();
}).finally(() => {
loading.clear();
});
})
.catch(() => {});
},
tabClick(year){
this.queryParams.openYear = year;
this.reload = true;
},
tabShow(){
this.showTab = !this.showTab;
}
}
}
</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>

+ 163
- 0
src/views/sunVillage_info/list_process_detail.vue Ver fichero

@@ -0,0 +1,163 @@
<template>
<div class="home_wrapper">
<div
class="header_main"
:style="`background-image:url(${require(showBtn?'@/assets/images/sunVillage_info/list_head.png':'@/assets/images/sunVillage_info/list_head_red.png')})`"
>
实施过程公开
<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 {otherPublicDetailN,otherPublicDetailOpen} from "@/api/sunVillage_info/fixedAssets";
import Cookies from "js-cookie";
export default {
name: "otherOpenDetail",
components: {CommonUpload},
data() {
return {
form: {},
id:'',
title: '综合公开',
showBtn:true,
};
},
created() {
this.id = this.$route.query.id;
this.otherType = this.$route.query.type;
this.showBtn = this.$route.query.showBtn=='false'?false:true;
this.getDetail();
},
methods: {
getDetail() {
if (this.showBtn){
otherPublicDetailN(this.id).then((resp) => {
this.form = resp.data;
});
}else{
otherPublicDetailOpen(this.id,Cookies.get('bookId')).then((resp) => {
this.form = resp.data;
});
}
},
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>

+ 1
- 1
src/views/sunVillage_info/list_property_ranking.vue Ver fichero

@@ -35,7 +35,7 @@
<van-col :span="3">{{item.assetType}}</van-col> <van-col :span="3">{{item.assetType}}</van-col>
<van-col :span="3">{{item.buildTime}}</van-col> <van-col :span="3">{{item.buildTime}}</van-col>
<van-col :span="3">{{item.useType}}</van-col> <van-col :span="3">{{item.useType}}</van-col>
<van-col :span="3">{{item.netValue}}</van-col>
<van-col :span="3">{{item.quantity}}</van-col>
<van-col :span="3">{{item.unit}}</van-col> <van-col :span="3">{{item.unit}}</van-col>
<van-col :span="3">{{item.originalValue}}</van-col> <van-col :span="3">{{item.originalValue}}</van-col>
</van-row> </van-row>


+ 1
- 1
src/views/sunVillage_info/list_resources_ranking.vue Ver fichero

@@ -67,7 +67,7 @@
queryParams:{ queryParams:{
bookId:'', bookId:'',
pageNum:1, pageNum:1,
pageSize:10,
pageSize:500,
orderByColumn: 'code', orderByColumn: 'code',
isAsc: 'asc', isAsc: 'asc',
translate_dict:1, translate_dict:1,


+ 470
- 0
src/views/sunVillage_info/list_revenueAndExpenditure.vue Ver fichero

@@ -0,0 +1,470 @@
<template>
<div class="home_wrapper">
<div
class="header_main"
style=""
>
收支明细公开
<div class="return_btn" @click="onClickLeft"></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.ny == '' ? '全部': queryParams.ny}}</div>
<div class="total_r">共{{listLength}}条</div>
</div>
<van-popup v-model="showTab" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="year-month"
title="选择年月"
:min-date="minDate"
:max-date="maxDate"
:formatter="formatter"
@confirm="onConfirmOpenNy"
/>
</van-popup>
<!-- <div class="record_list" v-if="showTab">-->
<!-- <div :class="{'flex_block':true , 'current':queryParams.year == ''}" @click="tabClick('')">全部</div>-->
<!-- <div v-for="(item,index) in yearList" :key="index" :class="{'flex_block':true , 'current':queryParams.year == item}" @click="tabClick(item)">{{item}}</div>-->
<!-- </div>-->
</div>
<div class="list_main">
<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<!----1-->

<div class="item" v-for="(item,index) in applicationList" :key="index" >
<div class="info">
<div class="title">
<i class="icon_box"></i>
<p class="news_title">{{item.voucherSummary}}</p>
</div>
<div class="time">
<!-- <div class="icon_time"></div>-->
{{item.bookDate}}
<p v-if="item.jieAmount" style="color: #1ddf07">¥ <span>{{item.jieAmount}}</span>元</p>
<p v-if="item.daiAmount" style="color: #df0707">¥ <span>{{item.daiAmount}}</span>元</p>
</div>
</div>
</div>

</van-list>
</div>
<!-- <div class="bottom_tips">-->
<!-- <span class="xs">已经到底啦</span>-->
<!-- </div>-->
</div>
</template>

<script>
import { financialPublicDetailReport , otherRemove } from "@/api/sunVillage_info/fixedAssets";
import Cookies from "js-cookie";
import request from '@/utils/request'
export default {
name: "certificateList",
data() {
return {
applicationList:[],
applicationListSecond:[],
assetStatusOptions:[],
otherGkTypeOptions:[],
auditStatus:[],
loading: false,
finished: false,
show: false,
showTab: false,
fileList:[],
listLength:'0',
searchInput:'',
queryParams:{
pageNum:1,
pageSize:10,
ny: this.format(new Date(),'yyyy-MM'),
isAsc:'desc'
},
uploadFiles1:[],
projectId:'',
projectIndex:'',
showBtn:true,
nowYear:new Date().getFullYear(),
minDate: new Date(2020, 0, 1),
maxDate: new Date(),
currentDate: new Date(),
yearList:[]
};
},
created() {
this.queryParams.bookId = Cookies.get('bookId');
this.queryParams.deptId = Cookies.get('deptId');
this.queryParams.otherType = this.$route.query.typeX;
if (this.$route.query.type == 'code'){
this.showBtn = false;
}
},
methods: {
getList(){
var _this = this;
console.log(_this.queryParams)
financialPublicDetailReport(_this.queryParams).then(response => {
_this.listLength = response.total == 0 ? 0 : (response.total - 1);
response.rows.map(res=>{
// res.pictureType = this.selectDictLabel(this.pictureTypeOptions, res.pictureType);
_this.applicationList.push(res);
})

if(_this.applicationList.length >= response.total){
_this.finished = true;
return;
}else{
_this.loading = false;
_this.queryParams.pageNum += 1 ;
}
});
},
formatter(type, val) {
if (type === 'year') {
return `${val}年`;
} else if (type === 'month') {
return `${val}月`;
}
return val;
},
onConfirmOpenNy(data){
this.queryParams.ny = this.format(data,'yyyy-MM');
this.currentDate = data;
this.showTab = false;
this.applicationList = [];
this.queryParams.pageNum = 1;
this.loading = true;
this.finished = false;
this.getList();
},
tabClick(year){
this.queryParams.year = year ;
this.applicationList = [];
this.getList();
},
tabShow(){
this.showTab = !this.showTab;
},
/** 删除按钮操作 */
handleDelete(row,index) {
let assetStatus = row.assetStatus ? row.assetStatus : data[0].assetStatus;
if (assetStatus === '2' || assetStatus === '3') {
this.$notify({
message: "不允许删除已出售或已报废的资产",
type: "warning",
});
return;
}
let useType = row.useType;
if(useType == 3) {
this.$notify({
message: "出租或出借的资产不允许删除",
type: "warning",
});
return ;
}
const ids = row.id || this.ids;

this.$dialog.alert(
{
message:'是否确认删除固定资产?',
title:"警告",
confirmButtonText: "确定",
cancelButtonText: "取消",
}
)
.then(function () {
return delPermanent(ids);
})
.then(() => {
this.applicationList.splice(index, 1);
this.$notify({ type: 'success', message: '删除成功' });
});
},
goAdd(){
this.$router.push({path: '/sunVillage_info/list_contract_add', query: {type: this.$route.query.typeX}})
},
goDetail(id){
this.$router.push({path:'/sunVillage_info/list_contract_detail',query: {id:id,type:this.$route.query.typeX,showBtn:this.showBtn}})
},
goEdit(id, operation){
this.$router.push({path:'/sunVillage_info/list_contract_edit',query: {id:id,type:this.$route.query.typeX,operation: operation}})
},
goRanking(id,time){
this.$router.push({path:'/sunVillage_info/list_tourists_ranking',query: {id:id,time:time}})
},
goRemove(id,index){
this.$dialog.alert({
title: '提示',
message: '确认删除?',
showCancelButton:true,
})
.then(() => {
otherRemove(id).then(response => {
this.$notify({ type: 'success', message: '删除成功' });
this.applicationList.splice(index,1);
});
})
.catch(() => {
// on cancel
});

}
},
}
</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;
}
}
.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:0 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{
width: 100%;
.title{
display: flex;
font-size: 32px;
align-items: center;
height: 58px;
.icon_box{
width: 34px;
display: block;
height: 34px;
background: url('../../../static/images/sunVillage_info/code_new/list_icon.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;
width: 100%;
.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;
}
p{
margin-left: auto;
color:#df0707;
span{
font-size: 2.45vh;
}
}
}
}
.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;
}
}
&.copy{
background: #79cf13;
margin-left: 10PX;
.icon {
width: 25px;
height: 25px;
background: url('../../assets/images/sunVillage_info/list_icon_copy.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;
}
}
}
</style>

+ 413
- 0
src/views/sunVillage_info/list_special.vue Ver fichero

@@ -0,0 +1,413 @@
<template>
<div class="home_wrapper">
<div
class="header_main"
:style="`background-image:url(${require(showBtn?'@/assets/images/sunVillage_info/list_head.png':'@/assets/images/sunVillage_info/list_head_red.png')})`"
>
<p class="title">专项公示</p>
<div class="return_btn" @click="onClickLeft"></div>
<div class="add_btn" @click="add" v-show="showBtn"></div>
</div>
<div class="record_main">
<div class="record_det">
<div></div>
<!-- <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">共{{listLength}}条公开</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">

<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<div class="item" v-for="(item,index) in applicationList" :key="index" @click="viewItem(item.id)" >
<div class="info">
<div class="title">
<p class="news_title">{{item.openName}}</p>
</div>
<div class="time">
<!-- <div class="icon_time"></div>-->
<!-- {{item.openAt}}-->
有异议:{{item.differCount}}
无异议:{{item.agreeCount}}
</div>
</div>
<div class="operation" v-show="showBtn">
<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>
</van-list>

</div>
</div>
</template>

<script>
import {Dialog, Toast} from "vant";
import Cookies from "js-cookie";
import {specialPublicityList, specialPublicityRemove} from "@/api/sunVillage_info/fixedAssets";
export default {
name: "otherOpenList",
data() {
return {
dataList:[],
total: 0,
queryParams:{
pageNum:1,
pageSize:10,
isAsc:'desc',
openYear:'',
otherType: null,
},
yearList: [],
reload: false,
showTab: false,
otherTypeOptions: [],
showType: false,
loading: false,
finished: false,
applicationList:[],
listLength:'0',
showBtn:true,
};
},
created() {
this.queryParams.bookId = Cookies.get('bookId');
this.queryParams.deptId = Cookies.get('deptId');
if (this.$route.query.type == 'code'){
this.showBtn = false;
}
},
methods: {
getList(){
var _this = this;
specialPublicityList(_this.queryParams).then(response => {
_this.listLength = response.total;
response.rows.map(res=>{
_this.applicationList.push(res);
})

if(_this.applicationList.length >= response.total){
_this.finished = true;
return;
}else{
_this.loading = false;
_this.queryParams.pageNum += 1 ;
}
});
},
viewItem(id){
this.$router.push({path:'/sunVillage_info/list_special_detail',query: {id:id,type:this.$route.query.typeX,showBtn:this.showBtn}});
},
add() {
this.$router.push({path:'/sunVillage_info/list_special_add'});
},
edit(id) {
this.$router.push({path:'/sunVillage_info/list_special_edit',query: {id:id}});
},
remove(id) {
Dialog.confirm({
title: '警告',
message: '确认删除该项?',
})
.then(() => {
const loading = Toast.loading({
message: '删除中...',
duration: 0,
});
specialPublicityRemove(id).then((resp) => {
this.$notify({ type: 'success', message: '删除成功' });
this.applicationList = [];
this.getList();
}).finally(() => {
loading.clear();
});
})
.catch(() => {});
},
tabClick(year){
this.queryParams.openYear = year;
this.reload = true;
},
tabShow(){
this.showTab = !this.showTab;
}
}
}
</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>

+ 349
- 0
src/views/sunVillage_info/list_special_add.vue Ver fichero

@@ -0,0 +1,349 @@
<template>
<div class="home_wrapper">
<div class="header_main">
专项公示
<div class="return_btn" @click="onClickLeft"></div>
<div class="add_btn"></div>
</div>
<van-form @submit="onSubmit">
<div class="list_main">

<van-field required :rules="[{ required: true }]" v-model="form.openName" placeholder="请输入公开标题" input-align="right" :border="false" >
<template #label>
<p style="margin-left: 5px;">公示标题</p>
</template>
</van-field>

<van-field
readonly
clickable
placeholder="请选择"
v-model="form.openAt"
@click="showBuildTime = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
required
:border="false"
:rules="[{ required: true , message:'请选择公示年月' }]"
>
<template #label>
<p style="margin-left: 5px;">公示年月</p>
</template>
</van-field>
<van-popup v-model="showBuildTime" position="bottom">
<van-datetime-picker
v-model="openAt"
type="date"
title="选择年月日"
@confirm="onConfirmOpenNy"
@cancel="showBuildTime = false"
/>
</van-popup>


<van-field
readonly
clickable
placeholder="请选择"
v-model="specialPublicityType"
@click="showThreeDetailType = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
required
:border="false"
:rules="[{ required: true , message:'请选择公示类型' }]"
>
<template #label>
<p style="margin-left: 5px;">公示类型</p>
</template>
</van-field>
<van-popup v-model="showThreeDetailType" position="bottom">
<van-picker
show-toolbar
value-key="dictLabel"
:columns="specialPublicityTypeOptions"
@confirm="onConfirmThreeDetailType"
@cancel="showThreeDetailType = false"
/>
</van-popup>


<van-field readonly input-align="right" :border="false" >
<template #label>
<p style="margin-left: 5px;">公示图片</p>
</template>
</van-field>
<!-- @delete="deleteFile1"-->
<van-uploader v-model="openPic" multiple :after-read="afterRead" @delete="deleteFile1" style="margin-top: 10PX" />


<!-- <van-field readonly input-align="right" :border="false" >-->
<!-- <template #label>-->
<!-- <p style="margin-left: 5px;">二维码图片</p>-->
<!-- </template>-->
<!-- </van-field>-->
<!-- &lt;!&ndash; @delete="deleteFile1"&ndash;&gt;-->
<!-- <van-uploader v-model="qrcode" multiple :after-read="afterRead2" @delete="deleteFile2" style="margin-top: 10PX" />-->

<van-field v-model="form.openContent" placeholder="请输入内容" input-align="right" :border="false" >
<template #label>
<p style="margin-left: 5px;">内容</p>
</template>
</van-field>

<van-field v-model="form.remark" placeholder="请输入备注" input-align="right" :border="false" >
<template #label>
<p style="margin-left: 5px;">备注</p>
</template>
</van-field>

</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,
specialPublicityAdd
} from "@/api/sunVillage_info/fixedAssets";
import Cookies from "js-cookie";
import request from '@/utils/request'
export default {
name: "certificateList",
data() {
return {
showBuildTime:false,
showThreeDetailType:false,
form:{
openAt:this.format(new Date(),'yyyy-MM-dd'),
openPic:'',
qrcode:'',
},
openPic:[],
qrcode:[],
openNy:new Date(),
openAt:'',
specialPublicityType:'',
queryParams:{
id:''
},
qrcode2:[],
openPic2:[],
specialPublicityTypeOptions:[],
};
},
created() {
this.queryParams.bookId = Cookies.get('bookId');
this.queryParams.deptId = Cookies.get('deptId');
this.getDicts("special_publicity_type").then((response) => {
this.specialPublicityTypeOptions = response.data;
});
},
methods: {
onConfirmThreeDetailType(data){
this.specialPublicityType = data.dictLabel;
this.form.specialPublicityType = data.dictValue;
this.showThreeDetailType = false;
},
onSubmit(){
var that = this;
// that.form.qrcode = that.qrcode2.join(',')
that.form.openPic = that.openPic2.join(',')
specialPublicityAdd(that.form).then((r1) => {
if (r1.code == 200){
that.$notify({ type: 'success', message: '新增成功' });
setTimeout(function(){
history.back(-1);
},1000)
}
})
},
onConfirmOpenNy(data){
this.form.openAt = this.format(data,'yyyy-MM-dd');
this.openAt = data;
this.showBuildTime = false;
},
deleteFile1(file,detail){
console.log(detail)
this.openPic2.splice(detail.index,1)
},
deleteFile2(file,detail){
console.log(detail)
this.qrcode2.splice(detail.index,1)
},
afterRead(file) {
this.$toast.loading({
message: "上传中...",
forbidClick: true,
duration: 0,
});
// 此时可以自行将文件上传至服务器
if (file instanceof Array){//判断是否为数组,单张图片为array,多张为数组,数组返回true否则为false
file.map(res=>{
let params1 = new FormData();
params1.append("file", res.file);
commonUpload(params1).then((r1) => {
this.openPic2.push(r1.fileName);
})
})
}else{
let params1 = new FormData();
params1.append("file", file.file);
commonUpload(params1).then((r1) => {
this.openPic2.push(r1.fileName);
})
}
},
afterRead2(file) {
this.$toast.loading({
message: "上传中...",
forbidClick: true,
duration: 0,
});
// 此时可以自行将文件上传至服务器
if (file instanceof Array){//判断是否为数组,单张图片为array,多张为数组,数组返回true否则为false
file.map(res=>{
let params1 = new FormData();
params1.append("file", res.file);
commonUpload(params1).then((r1) => {
this.qrcode2.push(r1.fileName);
})
})
}else{
let params1 = new FormData();
params1.append("file", file.file);
commonUpload(params1).then((r1) => {
this.qrcode2.push(r1.fileName);
})
}
},
},
}
</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;
}
}
.release_head{
height: 90px;
padding:0 23px;
display: flex;
align-items: center;
font-size: 26px;
color: #929292;
.people{
flex: 1;
display: flex;
align-items: center;
.icon{
width: 24px;
height: 21px;
background: url('../../assets/images/sunVillage_info/details_icon_1.png') no-repeat;
background-size: 100% 100%;
display: block;
margin-right: 8px;
}
}
.time{
flex: 1;
display: flex;
align-items: center;
justify-content:flex-end;
.icon{
width: 25px;
height: 25px;
background: url('../../assets/images/sunVillage_info/details_icon_2.png') no-repeat;
background-size: 100% 100%;
display: block;
margin-right: 8px;
}
}
}
.release_conetnt{
padding:0 22px;
font-size: 32px;
color: #252525;
line-height: 44px;
img{
max-width: 100%;
margin-bottom: 16px;
}
p{
margin-bottom: 16px;
}
}
.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: auto;
display: flex;
align-items: center;
}
/deep/ .van-cell--required::before{
left: 85PX;
}
/deep/ .van-field__error-message{
display: none;
}
}
</style>

+ 173
- 0
src/views/sunVillage_info/list_special_detail.vue Ver fichero

@@ -0,0 +1,173 @@
<template>
<div class="home_wrapper">
<div
class="header_main"
:style="`background-image:url(${require(showBtn?'@/assets/images/sunVillage_info/list_head.png':'@/assets/images/sunVillage_info/list_head_red.png')})`"
>
专项公示
<div class="return_btn" @click="back"></div>
</div>

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

<van-field name="otherName" :value="form.openName" label="公示标题" input-align="right" :border="false" />
<van-field name="openAt" :value="form.openAt" label="公示年月" input-align="right" :border="false" />
<van-field
name="openPic"
label="公示图片"
input-align="right"
:border="false"
>
</van-field>
<CommonUpload style="padding-left: 10PX;" name="openPic" :value="form.openPic" multiple :deletable="false" :show-upload="false"/>

<van-field
label-width="auto"
name="qrcode"
label="二维码图片"
input-align="right"
:border="false"
>
</van-field>
<CommonUpload style="padding-left: 10PX;" name="qrcode" :value="form.qrcode" multiple :deletable="false" :show-upload="false"/>

<van-field name="specialPublicityType" :value="form.specialPublicityType" label="公示类型" label-width="auto" input-align="right" :border="false" />
<van-field name="specialPublicityType" :value="form.differCount" label="有异议数" label-width="auto" input-align="right" :border="false" />
<van-field name="specialPublicityType" :value="form.agreeCount" label="无异议数" label-width="auto" input-align="right" :border="false" />

<van-field label="内容" :value="form.openContent" placeholder="请输入内容" input-align="right" :border="false" />
<van-field name="remake" :value="form.remark" label="备注" input-align="right" :border="false"/>
<van-field name="remake" :value="form.readCount" label="阅读量" input-align="right" :border="false"/>
</div>

</van-form>
</div>
</template>
<script>
import CommonUpload from "@/components/form/CommonUpload.vue";
import {specialPublicityDetail} from "@/api/sunVillage_info/fixedAssets";
import Cookies from "js-cookie";
export default {
name: "otherOpenDetail",
components: {CommonUpload},
data() {
return {
form: {},
id:'',
title: '综合公开',
showBtn:true,
queryParams:{
bookId:'',
id:'',
deptId:''
},
specialPublicityTypeOptions:[]
};
},
created() {
this.otherType = this.$route.query.type;
this.type = this.$route.query.type;
this.queryParams.bookId = Cookies.get('bookId');
this.queryParams.deptId = Cookies.get('deptId');
this.queryParams.id = this.$route.query.id;
this.showBtn = this.$route.query.showBtn=='false'?false:true;
this.getDicts("special_publicity_type").then((response) => {
this.specialPublicityTypeOptions = response.data;
this.getDetail();
});
},
methods: {
getDetail() {
specialPublicityDetail(this.queryParams).then((resp) => {
console.log()
resp.data.specialPublicityType = this.selectDictLabel(this.specialPublicityTypeOptions, resp.data.specialPublicityType);
this.form = resp.data;
});
},
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>

+ 199
- 0
src/views/sunVillage_info/list_special_detail_vote.vue Ver fichero

@@ -0,0 +1,199 @@
<template>
<div class="home_wrapper">
<div
class="header_main"
:style="`background-image:url(${require(showBtn?'@/assets/images/sunVillage_info/list_head.png':'@/assets/images/sunVillage_info/list_head_red.png')})`"
>
专项公示
</div>

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

<van-field name="otherName" :value="form.openName" label="公示标题" input-align="right" :border="false" />
<van-field name="openAt" :value="form.openAt" label="公示年月" input-align="right" :border="false" />
<van-field
name="openPic"
label="公示图片"
input-align="right"
:border="false"
>
</van-field>
<CommonUpload style="padding-left: 10PX;" name="openPic" :value="form.openPic" multiple :deletable="false" :show-upload="false"/>

<van-field
label-width="auto"
name="qrcode"
label="二维码图片"
input-align="right"
:border="false"
>
</van-field>
<CommonUpload style="padding-left: 10PX;" name="qrcode" :value="form.qrcode" multiple :deletable="false" :show-upload="false"/>

<van-field name="specialPublicityType" :value="form.specialPublicityType" label="公示类型" label-width="auto" input-align="right" :border="false" />
<van-field name="specialPublicityType" :value="form.differCount" label="有异议数" label-width="auto" input-align="right" :border="false" />
<van-field name="specialPublicityType" :value="form.agreeCount" label="无异议数" label-width="auto" input-align="right" :border="false" />
<van-field label="内容" :border="false" />
<div class="contentBox" v-html="form.openContent"></div>

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

<van-field name="remake" :value="form.readCount" label="阅读量" input-align="right" :border="false"/>

</div>
<div v-if="showHasVote" style="margin: 16px auto;display: flex;justify-content: space-evenly;padding: 0 25px">
<van-button round block type="danger" @click="hasVote('1')">有异议</van-button>
<van-button round block type="primary" @click="hasVote('2')" style="margin-left: 25px;">无异议</van-button>
</div>
</van-form>
</div>
</template>
<script>
import CommonUpload from "@/components/form/CommonUpload.vue";
import {specialPublicityDetail, updateSpecialPublicityCount, addReadCount} from "@/api/sunVillage_info/fixedAssets";
import Cookies from "js-cookie";
export default {
name: "otherOpenDetail",
components: {CommonUpload},
data() {
return {
form: {},
id:'',
title: '综合公开',
showBtn:true,
showHasVote:true,
queryParams:{
bookId:'',
id:'',
deptId:''
},
specialPublicityTypeOptions:[]
};
},
created() {
this.otherType = this.$route.query.type;
this.type = this.$route.query.type;
this.queryParams.bookId = this.$route.query.bookId;
this.queryParams.deptId = Cookies.get('deptId');
this.queryParams.id = this.$route.query.id;
this.showBtn = this.$route.query.showBtn=='false'?false:true;
addReadCount({id: this.$route.query.id}).then((resp) => {

});
this.getDicts("special_publicity_type").then((response) => {
this.specialPublicityTypeOptions = response.data;
this.getDetail();
});
},
methods: {
getDetail() {
specialPublicityDetail(this.queryParams).then((resp) => {
console.log()
resp.data.specialPublicityType = this.selectDictLabel(this.specialPublicityTypeOptions, resp.data.specialPublicityType);
if(resp.data.openContent.indexOf('<img') > -1){
resp.data.openContent = resp.data.openContent.replace(/<img/g,'<img style="width:100%;"')
console.log(resp.data)
}
this.form = resp.data;
});
},
back() {
this.$router.back();
},
hasVote(type){
this.queryParams.countType = type;
updateSpecialPublicityCount(this.queryParams).then((resp) => {
console.log()
resp.data.specialPublicityType = this.selectDictLabel(this.specialPublicityTypeOptions, resp.data.specialPublicityType);
this.form = resp.data;
this.showHasVote = false;

});
}
},
}
</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);
}
.contentBox img{
width: 100%;
}
.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>

+ 371
- 0
src/views/sunVillage_info/list_special_edit.vue Ver fichero

@@ -0,0 +1,371 @@
<template>
<div class="home_wrapper">
<div class="header_main">
专项公示
<div class="return_btn" @click="onClickLeft"></div>
<div class="add_btn"></div>
</div>
<van-form @submit="onSubmit">
<div class="list_main">

<van-field required :rules="[{ required: true }]" v-model="form.openName" placeholder="请输入公开标题" input-align="right" :border="false" >
<template #label>
<p style="margin-left: 5px;">公示标题</p>
</template>
</van-field>

<van-field
readonly
clickable
placeholder="请选择"
v-model="form.openAt"
@click="showBuildTime = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
required
:border="false"
:rules="[{ required: true , message:'请选择公示年月' }]"
>
<template #label>
<p style="margin-left: 5px;">公示年月</p>
</template>
</van-field>
<van-popup v-model="showBuildTime" position="bottom">
<van-datetime-picker
v-model="openAt"
type="date"
title="选择年月日"
@confirm="onConfirmOpenNy"
@cancel="showBuildTime = false"
/>
</van-popup>


<van-field
readonly
clickable
placeholder="请选择"
v-model="specialPublicityType"
@click="showThreeDetailType = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
required
:border="false"
:rules="[{ required: true , message:'请选择公示类型' }]"
>
<template #label>
<p style="margin-left: 5px;">公示类型</p>
</template>
</van-field>
<van-popup v-model="showThreeDetailType" position="bottom">
<van-picker
show-toolbar
value-key="dictLabel"
:columns="specialPublicityTypeOptions"
@confirm="onConfirmThreeDetailType"
@cancel="showThreeDetailType = false"
/>
</van-popup>


<van-field readonly input-align="right" :border="false" >
<template #label>
<p style="margin-left: 5px;">公示图片</p>
</template>
</van-field>
<!-- @delete="deleteFile1"-->
<van-uploader v-model="openPic" multiple :after-read="afterRead" @delete="deleteFile1" style="margin-top: 10PX" />


<!-- <van-field readonly input-align="right" :border="false" >-->
<!-- <template #label>-->
<!-- <p style="margin-left: 5px;">二维码图片</p>-->
<!-- </template>-->
<!-- </van-field>-->
<!-- &lt;!&ndash; @delete="deleteFile1"&ndash;&gt;-->
<!-- <van-uploader v-model="qrcode" multiple :after-read="afterRead2" @delete="deleteFile2" style="margin-top: 10PX" />-->

<van-field v-model="form.openContent" placeholder="请输入内容" input-align="right" :border="false" >
<template #label>
<p style="margin-left: 5px;">内容</p>
</template>
</van-field>
<van-field v-model="form.remark" placeholder="请输入备注" input-align="right" :border="false" >
<template #label>
<p style="margin-left: 5px;">备注</p>
</template>
</van-field>

</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,
specialPublicityDetail,
specialPublicityEdit
} from "@/api/sunVillage_info/fixedAssets";
import Cookies from "js-cookie";
import request from '@/utils/request'
export default {
name: "certificateList",
data() {
return {
showBuildTime:false,
form:{
openAt:this.format(new Date(),'yyyy-MM-dd'),
openPic:'',
qrcode:'',
},
openPic:[],
qrcode:[],
openNy:new Date(),
openAt:'',
queryParams:{
id:''
},
qrcode2:[],
openPic2:[],
showThreeDetailType:false,
specialPublicityType:'',
specialPublicityTypeOptions:[],
};
},
created() {
this.queryParams.bookId = Cookies.get('bookId');
this.queryParams.deptId = Cookies.get('deptId');
this.queryParams.id = this.$route.query.id;
this.getDicts("special_publicity_type").then((response) => {
this.specialPublicityTypeOptions = response.data;
this.getDetail();
});
},
methods: {
onConfirmThreeDetailType(data){
this.specialPublicityType = data.dictLabel;
this.form.specialPublicityType = data.dictValue;
this.showThreeDetailType = false;
},
getDetail(){
specialPublicityDetail(this.queryParams).then((res) => {
if (res.data.openPic!='' && res.data.openPic != null && res.data.openPic != undefined){
this.openPic = res.data.openPic.split(',')
this.openPic2 = res.data.openPic.split(',')
this.specialPublicityType = this.selectDictLabel(this.specialPublicityTypeOptions, res.data.specialPublicityType);
this.openPic.map((rrr,i)=>{
this.openPic[i] = {url:'/api'+rrr}
})
}
// if (res.data.qrcode!='' && res.data.qrcode != null && res.data.qrcode != undefined){
// this.qrcode = res.data.qrcode.split(',')
// this.qrcode2 = res.data.qrcode.split(',')
// this.qrcode.map((rrr,i)=>{
// this.qrcode[i] = {url:'/api'+rrr}
// })
// }
this.form = res.data;
})
},
onSubmit(){
var that = this;
// that.form.qrcode = that.qrcode2.join(',')
that.form.openPic = that.openPic2.join(',')
specialPublicityEdit(that.form).then((r1) => {
if (r1.code == 200){
that.$notify({ type: 'success', message: '修改成功' });
setTimeout(function(){
history.back(-1);
},1000)
}
})
},
onConfirmOpenNy(data){
this.form.openAt = this.format(data,'yyyy-MM-dd');
this.openAt = data;
this.showBuildTime = false;
},
deleteFile1(file,detail){
console.log(detail)
this.openPic2.splice(detail.index,1)
},
deleteFile2(file,detail){
console.log(detail)
this.qrcode2.splice(detail.index,1)
},
afterRead(file) {
this.$toast.loading({
message: "上传中...",
forbidClick: true,
duration: 0,
});
// 此时可以自行将文件上传至服务器
if (file instanceof Array){//判断是否为数组,单张图片为array,多张为数组,数组返回true否则为false
file.map(res=>{
let params1 = new FormData();
params1.append("file", res.file);
commonUpload(params1).then((r1) => {
this.openPic2.push(r1.fileName);
})
})
}else{
let params1 = new FormData();
params1.append("file", file.file);
commonUpload(params1).then((r1) => {
this.openPic2.push(r1.fileName);
})
}
},
afterRead2(file) {
this.$toast.loading({
message: "上传中...",
forbidClick: true,
duration: 0,
});
// 此时可以自行将文件上传至服务器
if (file instanceof Array){//判断是否为数组,单张图片为array,多张为数组,数组返回true否则为false
file.map(res=>{
let params1 = new FormData();
params1.append("file", res.file);
commonUpload(params1).then((r1) => {
this.qrcode2.push(r1.fileName);
})
})
}else{
let params1 = new FormData();
params1.append("file", file.file);
commonUpload(params1).then((r1) => {
this.qrcode2.push(r1.fileName);
})
}
},
},
}
</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;
}
}
.release_head{
height: 90px;
padding:0 23px;
display: flex;
align-items: center;
font-size: 26px;
color: #929292;
.people{
flex: 1;
display: flex;
align-items: center;
.icon{
width: 24px;
height: 21px;
background: url('../../assets/images/sunVillage_info/details_icon_1.png') no-repeat;
background-size: 100% 100%;
display: block;
margin-right: 8px;
}
}
.time{
flex: 1;
display: flex;
align-items: center;
justify-content:flex-end;
.icon{
width: 25px;
height: 25px;
background: url('../../assets/images/sunVillage_info/details_icon_2.png') no-repeat;
background-size: 100% 100%;
display: block;
margin-right: 8px;
}
}
}
.release_conetnt{
padding:0 22px;
font-size: 32px;
color: #252525;
line-height: 44px;
img{
max-width: 100%;
margin-bottom: 16px;
}
p{
margin-bottom: 16px;
}
}
.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: auto;
display: flex;
align-items: center;
}
/deep/ .van-cell--required::before{
left: 85PX;
}
/deep/ .van-field__error-message{
display: none;
}
}
</style>

+ 2
- 1
src/views/sunVillage_info/login.vue Ver fichero

@@ -294,10 +294,11 @@
width: 120PX; width: 120PX;
height: 50PX; height: 50PX;
border-radius: 50PX; border-radius: 50PX;
overflow: hidden;
img{ img{
width: 100%; width: 100%;
height: 100%; height: 100%;
border-radius: 50PX;
transform: scale(1.2);
} }
} }
} }


+ 7
- 2
src/views/sunVillage_info/login_code.vue Ver fichero

@@ -99,7 +99,7 @@
created() { created() {
this.height = document.body.clientHeight this.height = document.body.clientHeight
this.getCookie(); this.getCookie();
this.formData.deptId = Cookies.get('deptId');
//this.formData.deptId = Cookies.get('deptId'); // 要关掉这个
this.allowIdentityVerified(); this.allowIdentityVerified();
}, },
methods: { methods: {
@@ -143,10 +143,15 @@
let seconds = 3600; let seconds = 3600;


let expires = new Date(new Date() * 1 + seconds * 1000); let expires = new Date(new Date() * 1 + seconds * 1000);
getFamilyMemberList({idcard:this.formData.idcard,familyStatus:"02"}).then(res => {
getFamilyMemberList({idcard:this.formData.idcard/*,familyStatus:"02"*/}).then(res => {
const farmerCode = res.rows[0].farmerCode; const farmerCode = res.rows[0].farmerCode;
Cookies.set("farmerCode",farmerCode, { expires: 30 }); Cookies.set("farmerCode",farmerCode, { expires: 30 });
Cookies.set("user", response.data, { expires: expires }); Cookies.set("user", response.data, { expires: expires });

// 可能不是从无权限公开页面跳入本页面的,可能直接封装的本页面作为入口,故重置以下
Cookies.set("bookId", res.rows[0].bookId, {expires: 30,});
Cookies.set("deptId", res.rows[0].deptId, {expires: 30,});

if (this.formData.identityCheck){ if (this.formData.identityCheck){
this.$router.push({ this.$router.push({
path: '/sunVillage_info/identity_check', path: '/sunVillage_info/identity_check',


+ 337
- 0
src/views/sunVillage_info/login_code_new.vue Ver fichero

@@ -0,0 +1,337 @@
<template>
<div class="home_wrapper">
<!-- <div class="return_btn" @click="onClickLeft"></div>-->
<div class="focus_head">
<div class="title">
<p>您好,</p>
<p>欢迎使用阳光三资</p>
</div>
</div>
<div class="login_main">
<van-form @submit="handleLogin">
<div class="login_from">
<div class="flex_block">
<div class="flex_input_main">
<div class="icon_wrap user"></div>
<div class="input_wrap">
<input type="text" v-model="formData.memberName" class="ipt" placeholder="姓名"/>
</div>
</div>
</div>
<div class="flex_block">
<div class="flex_input_main">
<div class="icon_wrap password"></div>
<div class="input_wrap">
<input type="text" v-model="formData.idcard" class="ipt" placeholder="身份证号码"/>
</div>
</div>
</div>
<!-- <div class="flex_block">-->
<!-- <div class="flex_input_main valid">-->
<!-- <div class="icon_wrap valid"></div>-->
<!-- <div class="input_wrap">-->
<!-- <input type="text" v-model="formData.code" class="ipt" maxlength="4" placeholder="请输入验证码"/>-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="valid_main">-->
<!-- <img :src="codeUrl" @click="getCode" />-->
<!-- </div>-->
<!-- </div>-->
<!-- <div style="display: flex;align-items: center;justify-content: space-between;">
<van-checkbox v-model="formData.identityCheck">核身校验</van-checkbox>
<van-checkbox v-model="formData.rememberMe">记住我的信息</van-checkbox>
</div> -->
<!-- <van-checkbox v-model="formData.rememberMe">记住我的信息</van-checkbox>-->
</div>
<div class="login_btn">
<!-- <div class="btn" :loading="loading">登录</div>-->
<van-button
class="btn"
round
block
type="info"
native-type="submit"
:loading="loading"
>登录</van-button>
</div>

</van-form>
<p class="copy_name">{{tsdh}}</p>
</div>
</div>
</template>

<script>
import { getCodeImg, getSmsCode } from "@/api/login";
import {checkFarmer, allowFaceVerify, webList} from "@/api/sunVillage_info/fixedAssets";
import { getFamilyMemberList } from "@/api/sunVillage_info/homestead/familyMember";
import Cookies from "js-cookie";
import { encrypt, decrypt } from "../../utils/jsencrypt";
//引用wx sdk
import wx from "weixin-js-sdk";
export default {
name: "loginCode",
data() {
return {
formData: {
memberName:'',
idcard:'',
bookId:'',
deptId:null,
facialAt:null,
isFacial:null,
headSculpture:null,
rememberMe:false,
identityCheck:false,

},
loading: false,
codeUrl: "", //验证码
tsdh: "中农融信(北京)科技股份有限公司", //验证码
isSmsLogin: false, //是否手机验证码
computeTime: 0,
height:0,
show:true
};
},
created() {
this.height = document.body.clientHeight
this.getCookie();
//this.formData.deptId = Cookies.get('deptId'); // 要关掉这个
this.allowIdentityVerified();
webList().then((res) => {
if (res.code == 200) {
var content = res.rows;
content.map(rr=>{
if (rr.configKey == 'web.open.technique'){
this.tsdh = rr.configValue;
}
})
}
});
},
methods: {
getCookie() {
const memberName = Cookies.get("memberName");
const idcard = Cookies.get("idcard");
const rememberMe = Cookies.get("rememberInformation");
this.formData = {
memberName: memberName === undefined ? this.formData.memberName : memberName,
idcard: idcard === undefined ? this.formData.idcard : idcard,
rememberMe: rememberMe === undefined ? false : Boolean(rememberMe),
};

},
handleLogin(values) {
if (this.formData.rememberMe) {
Cookies.set("memberName", this.formData.memberName, { expires: 30 });
Cookies.set("idcard", this.formData.idcard, { expires: 30 });
Cookies.set("rememberInformation", this.formData.rememberMe, { expires: 30 });
} else {
Cookies.remove("username");
Cookies.remove("password");
Cookies.remove("rememberInformation");
}
//账号密码登录
if (this.formData.memberName == "") {
this.$dialog.alert({
message: '姓名不能为空',
});
return false;
} else if (this.formData.idcard == "") {
this.$dialog.alert({
message: '身份证不能为空',
});
return false;
}

checkFarmer(this.formData).then(response => {
// console.log(response.data)
if (response.code == 200){
let seconds = 3600;

let expires = new Date(new Date() * 1 + seconds * 1000);
getFamilyMemberList({idcard:this.formData.idcard/*,familyStatus:"02"*/}).then(res => {
const farmerCode = res.rows[0].farmerCode;
Cookies.set("farmerCode",farmerCode, { expires: 30 });
Cookies.set("user", response.data, { expires: expires });

// 可能不是从无权限公开页面跳入本页面的,可能直接封装的本页面作为入口,故重置以下
Cookies.set("bookId", res.rows[0].bookId, {expires: 30,});
Cookies.set("deptId", res.rows[0].deptId, {expires: 30,});

if (this.formData.identityCheck){
this.$router.push({
path: '/sunVillage_info/identity_check',
query: { responseData: response.data }});
return;
}
this.$router.push({path:'/sunVillage_info/index_code_rights_new'})
})

}
});
},
allowIdentityVerified() {
allowFaceVerify().then(response => {
this.formData.identityCheck = JSON.parse(response.data);
});
}
},
};
</script>

<style scoped lang="scss">
/deep/ .van-checkbox__label{
color: #2376EC;
}
/deep/ .van-checkbox{
/*justify-content: right;*/
}
.home_wrapper{
width: 100vw;
min-height: 100vh;
background: #F5F6F9 url('../../../static/images/sunVillage_info/sunVillage_info_login_code_new_bg.png') no-repeat center top;
background-size: 100% auto;
.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;
}
.focus_head{
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 0 0 7vw;
height: 30vh;
.title{
color: #112F6A;
font-family: 黑体;
font-size: 3.5vh;
margin-top: 80px;
p{
margin-bottom: 1vh;
}
}
}
.focus_info{
img{
width: 94%;
margin: 0 auto;
display: block;
}
}
.login_main{
width: 100%;
height: 70vh;
/*height: 550px;*/
background: #ffffff;
background-size: 100% 100%;
margin: -1PX auto 0;
padding:50px;
border-radius: 35PX 35PX 0 0;
position: relative;
.copy_name{
position: absolute;
bottom: 2vh;
text-align: center;
color: #707070;
width: calc(100% - 100px);
}
}
.login_from{

.flex_block{
margin-bottom: 40px;
display: flex;
justify-content:space-between;
.flex_input_main{
position: relative;
display: flex;
flex: 1;
align-items:center;
background: #E7F0FF;
border-radius: 62px;
height: 50Px;
.icon_wrap{
width: 35px;
height: 35px;
&.user{
background: url('../../assets/images/sunVillage_info/login_icon_1.png') no-repeat;
background-size: 100% 100%;
margin-left: 30px;
}
&.password{
background: url('../../assets/images/sunVillage_info/login_icon_2_code.png') no-repeat;
height: 25px;
background-size: 100% 100%;
margin-left: 30px;
}
&.valid{
background: url('../../assets/images/sunVillage_info/login_icon_3.png') no-repeat;
background-size: 100% 100%;
margin-left: 30px;
}
}
.input_wrap{
flex: 1;
margin-left: 16px;
padding-right: 30px;
.ipt{
width: 100%;
height: 48px;
background:transparent;
font-size: 30px;
color: #3f3d56;
}
}
.showHidden{
width: 32px;
height: 32px;
background: url('../../assets/images/sunVillage_info/login_icon_4.png') no-repeat;
background-size: 100% 100%;
position: absolute;
right: 38px;
cursor: pointer;
&.ico_hide{
background: url('../../assets/images/sunVillage_info/login_icon_5.png') no-repeat;
background-size: 100% 100%;
}
}
&.valid{
flex:0 0 380px;
}
}
.valid_main{
width: 165px;
height: 62px;
border-radius: 30px;
img{
width: 100%;
height: 100%;
border-radius: 30px;
}
}
}
}
.login_btn{
padding-top: 80px;
.btn{
width: 90%;
height: 50PX;
margin:0 auto;
font-size: 32px;
color: #fff;
line-height: 50PX;
text-align: center;
border: none;
background: linear-gradient(to right , #97EDF7 , #2376EC);
}
}
}

</style>

+ 1
- 5
src/views/sunVillage_info/login_farmer.vue Ver fichero

@@ -44,13 +44,9 @@
</template> </template>


<script> <script>
import { getCodeImg, getSmsCode } from "@/api/login";
import { checkFarmer, allowFaceVerify } from "@/api/sunVillage_info/fixedAssets";
import { getFamilyMemberList } from "@/api/sunVillage_info/homestead/familyMember";
import { allowFaceVerify } from "@/api/sunVillage_info/fixedAssets";
import Cookies from "js-cookie"; import Cookies from "js-cookie";
import { encrypt, decrypt } from "../../utils/jsencrypt";
//引用wx sdk //引用wx sdk
import wx from "weixin-js-sdk";
import {farmerLogin} from "@/api/register"; import {farmerLogin} from "@/api/register";
export default { export default {
name: "loginFarmer", name: "loginFarmer",


+ 178
- 0
src/views/sunVillage_info/otherOpenNew/otherOpenDetail.vue Ver fichero

@@ -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/otherOpenNew/otherOpenEdit.vue Ver fichero

@@ -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/otherOpenNew/otherOpenList.vue Ver fichero

@@ -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>

+ 194
- 0
src/views/sunVillage_info/otherOpenNew/otherOpenVisitDetail.vue Ver fichero

@@ -0,0 +1,194 @@
<template>
<div class="home_wrapper">
<div class="header_main"
:style="`background-image:url(${require('@/assets/images/sunVillage_info/list_head.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) => {
console.log(resp.data.openContent.indexOf('<img'))
if(resp.data.openContent.indexOf('<img') > -1){
resp.data.openContent = resp.data.openContent.replace(/<img/g,'<img style="width:100%;"')
console.log(resp.data)
}
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;
img{
width: 100%;
}
}
</style>

+ 441
- 0
src/views/sunVillage_info/otherOpenNew/otherOpenVisitList.vue Ver fichero

@@ -0,0 +1,441 @@
<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>
<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: 'otherOpenVisitDetailNew',
query: parms,
}).catch(() => {});
},
viewItem(id){
this.$router.replace(`/sunVillage_info/otherOpenVisitIndexNew?otherType=${this.queryParams.otherType || ''}`, () => this.gotoViewItem(id), () => this.gotoViewItem(id) );
},
back() {
this.$router.replace('/sunVillage_info/otherOpenVisitIndexNew', () => 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>

+ 87
- 15
src/views/sunVillage_info/resource.vue Ver fichero

@@ -8,10 +8,10 @@
<div class="search_info"> <div class="search_info">
<div class="search_block"> <div class="search_block">
<i class="icon"></i> <i class="icon"></i>
<input type="text" class="ipt" v-model="queryParams.name" placeholder="搜索" @input="getSearchList">
<!-- -->
<input type="text" class="ipt" v-model="queryParams.name" :placeholder="searchPlaceholder" @input="getSearchList">
<van-icon name="filter-o" color="#1989fa" class="filter-icon" @click="openResourceType" />
</div> </div>
<div class="total">共{{listLength}}个资</div>
<div class="total">共{{listLength}}个资</div>
</div> </div>
<div class="list_main"> <div class="list_main">
<van-list <van-list
@@ -65,6 +65,34 @@
<van-uploader v-model="fileList" :after-read="afterRead" @delete="deleteFile1" multiple /> <van-uploader v-model="fileList" :after-read="afterRead" @delete="deleteFile1" multiple />
</div> </div>
</van-popup> </van-popup>

<van-popup v-model="typeVisible" lock-scroll closeable position="top" >
<div style="padding: 0.2rem 0.3rem 0.3rem;">
<van-cell-group>
<van-cell>
<div style="text-align: center; font-size: 18px;">筛选</div>
</van-cell>
<van-cell>
<van-checkbox v-model="queryParams.noMap" :border="false">未上图</van-checkbox>
</van-cell>
<van-cell>
<van-checkbox v-model="queryParams.params.noAttachment" :border="false">无附件</van-checkbox>
</van-cell>
<field-select
v-model="queryParams.resourceType"
label="资源分类"
value-key="dictLabel"
data-key="dictValue"
placeholder="选择资源分类"
:columns="resource_type"
:clearable="true"
/>
</van-cell-group>
<div style="padding: 0.2rem 0.5rem 0;">
<van-button round type="primary" block @click="refresh">搜索</van-button>
</div>
</div>
</van-popup>
</div> </div>
</template> </template>
<script> <script>
@@ -80,9 +108,11 @@
} from "@/api/sunVillage_info/fixedAssets"; } from "@/api/sunVillage_info/fixedAssets";
import request from '@/utils/request' import request from '@/utils/request'
import MapGisLine from "@/components/Map/MapGisLine"; import MapGisLine from "@/components/Map/MapGisLine";
import Selector from "@/components/common/Selector.vue";
import FieldSelect from "@/components/form/FieldSelect.vue";
export default { export default {
name: "certificateList", name: "certificateList",
components: { MapGisLine,},
components: {FieldSelect, Selector, MapGisLine,},
data() { data() {
return { return {
theGeom:'', theGeom:'',
@@ -103,7 +133,12 @@
orderByColumn:'createTime', orderByColumn:'createTime',
isAsc:'desc', isAsc:'desc',
translate_dict:1, translate_dict:1,
name:''
name:'',
resourceType: null,
noMap: false,
params: {
noAttachment: false,
},
}, },
uploadFiles1:[], uploadFiles1:[],
projectId:'', projectId:'',
@@ -111,7 +146,9 @@
showBtn:true, showBtn:true,
listMap: 0, listMap: 0,
resourceId: null, // 资源ID,记录当前资源的ID resourceId: null, // 资源ID,记录当前资源的ID
resourceList: [] // 资源列表,存储本账套下所有的资源信息
resourceList: [], // 资源列表,存储本账套下所有的资源信息
typeVisible: false,
resource_type: [],
}; };
}, },
created() { created() {
@@ -124,6 +161,9 @@
this.houseGetDicts("use_type").then((response) => { this.houseGetDicts("use_type").then((response) => {
this.useTypeOptions = response.data; this.useTypeOptions = response.data;
}); });
this.houseGetDicts("resource_type").then((response) => {
this.resource_type = response.data;
});
}, },
methods: { methods: {
saveGeom(){ saveGeom(){
@@ -276,7 +316,24 @@
goAdd(){ goAdd(){
this.$router.push('/sunVillage_info/resourceAdd') this.$router.push('/sunVillage_info/resourceAdd')
}, },
openResourceType() {
this.typeVisible = true;
},
refresh() {
this.typeVisible = false;
this.queryParams.pageNum = 1;
this.listLength = 0;
this.applicationList = [];
this.finished = false;
this.getList();
},
}, },
computed: {
searchPlaceholder() {
let typeName = this.resource_type.find((x) => x.dictValue == this.queryParams.resourceType);
return '搜索' + (typeName ? typeName.dictLabel : '');
},
}
} }
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@@ -328,23 +385,38 @@
background: #fff; background: #fff;
display: flex; display: flex;
border:2px solid #3494ff; border:2px solid #3494ff;
padding-right: 35px;
padding-right: 20px;
align-items: center; align-items: center;
position: relative;
.icon{ .icon{
width: 30px; width: 30px;
height: 30px; height: 30px;
background: url('../../assets/images/sunVillage_info/fixedAssets_icon_1.png') no-repeat; background: url('../../assets/images/sunVillage_info/fixedAssets_icon_1.png') no-repeat;
background-size: 100% 100%; background-size: 100% 100%;
display: block;
display: inline-block;
margin:0 8px 0 26px; margin:0 8px 0 26px;
position: absolute;
left: 0;
bottom: 0.15rem;
} }
.ipt{
flex: 1;
font-size: 26px;
background: none;
border:0 none;
line-height: 59px;
}
.ipt{
flex: 1;
font-size: 26px;
background: none;
border:0 none;
line-height: 59px;
display: inline-block;
margin-left: 64px;
}
.filter-icon {
font-weight: bold;
font-size: .4rem;
width: .6rem;
text-align: center;
position: absolute;
right: 0.2rem;
bottom: 0.15rem;
}
} }
.total{ .total{
flex: 1; flex: 1;


+ 13
- 1
src/views/sunVillage_info/resourceAdd.vue Ver fichero

@@ -66,6 +66,17 @@
<van-field v-model="form.north" label="北至" placeholder="北至" input-align="right" :border="false" /> <van-field v-model="form.north" label="北至" placeholder="北至" input-align="right" :border="false" />
<van-field v-model="form.totalArea" label="总面积(亩)" placeholder="总面积(亩)" required :rules="[{ required: true }]" input-align="right" :border="false" /> <van-field v-model="form.totalArea" label="总面积(亩)" placeholder="总面积(亩)" required :rules="[{ required: true }]" input-align="right" :border="false" />


<field-select
v-model="form.operationType"
label="经营属性"
value-key="dictLabel"
data-key="dictValue"
placeholder="请选择"
:rulesx="[{ required: true }]"
requiredx
remote-url="/open/zdzh/list/operation_type"
:on-remote-response="'data'"/>

<van-field <van-field
readonly readonly
clickable clickable
@@ -212,8 +223,10 @@
</template> </template>
<script> <script>
import { addResource } from "@/api/sunVillage_info/fixedAssets"; import { addResource } from "@/api/sunVillage_info/fixedAssets";
import FieldSelect from "@/components/form/FieldSelect.vue";
export default { export default {
name: "certificateList", name: "certificateList",
components: {FieldSelect},
data() { data() {
return { return {
// 资源分类字典 // 资源分类字典
@@ -262,7 +275,6 @@
showAssetType:false, showAssetType:false,
resourceSortOptions:[], resourceSortOptions:[],
//经营属性 //经营属性
operationType:'经营性',
showOperationType:false, showOperationType:false,
operationTypeOptions:[], operationTypeOptions:[],
//增加方式 //增加方式


+ 11
- 0
src/views/sunVillage_info/resourceDetail.vue Ver fichero

@@ -42,6 +42,15 @@
<van-field readonly v-model="form.north" label="北至" placeholder="北至" input-align="right" :border="false" /> <van-field readonly v-model="form.north" label="北至" placeholder="北至" input-align="right" :border="false" />
<van-field readonly v-model="form.totalArea" label="总面积(亩)" placeholder="总面积(亩)" required :rules="[{ required: true }]" input-align="right" :border="false" /> <van-field readonly v-model="form.totalArea" label="总面积(亩)" placeholder="总面积(亩)" required :rules="[{ required: true }]" input-align="right" :border="false" />


<field-select
v-model="form.operationType"
label="经营属性"
value-key="dictLabel"
data-key="dictValue"
placeholder="请选择"
remote-url="/open/zdzh/list/operation_type"
:on-remote-response="'data'"/>

<van-field <van-field
readonly readonly
label="使用情况" label="使用情况"
@@ -165,8 +174,10 @@
</template> </template>
<script> <script>
import { updateResource,getResource } from "@/api/sunVillage_info/fixedAssets"; import { updateResource,getResource } from "@/api/sunVillage_info/fixedAssets";
import FieldSelect from "@/components/form/FieldSelect.vue";
export default { export default {
name: "certificateList", name: "certificateList",
components: {FieldSelect},
data() { data() {
return { return {
// 资源分类字典 // 资源分类字典


+ 14
- 1
src/views/sunVillage_info/resourceEdit.vue Ver fichero

@@ -66,6 +66,17 @@
<van-field v-model="form.north" label="北至" placeholder="北至" input-align="right" :border="false" /> <van-field v-model="form.north" label="北至" placeholder="北至" input-align="right" :border="false" />
<van-field v-model="form.totalArea" label="总面积(亩)" placeholder="总面积(亩)" required :rules="[{ required: true }]" input-align="right" :border="false" /> <van-field v-model="form.totalArea" label="总面积(亩)" placeholder="总面积(亩)" required :rules="[{ required: true }]" input-align="right" :border="false" />


<field-select
v-model="form.operationType"
label="经营属性"
value-key="dictLabel"
data-key="dictValue"
placeholder="请选择"
:rulesx="[{ required: true }]"
requiredx
remote-url="/open/zdzh/list/operation_type"
:on-remote-response="'data'"/>

<van-field <van-field
readonly readonly
clickable clickable
@@ -212,8 +223,10 @@
</template> </template>
<script> <script>
import { updateResource,getResource } from "@/api/sunVillage_info/fixedAssets"; import { updateResource,getResource } from "@/api/sunVillage_info/fixedAssets";
import FieldSelect from "@/components/form/FieldSelect.vue";
export default { export default {
name: "certificateList", name: "certificateList",
components: {FieldSelect},
data() { data() {
return { return {
// 资源分类字典 // 资源分类字典
@@ -235,7 +248,7 @@
applicationListSecond:[], applicationListSecond:[],
form:{ form:{
assetType:'151001', assetType:'151001',
operationType:'1',
operationType: null,
addType:'1', addType:'1',
buildTime:this.format(new Date(),'yyyy-MM-dd'), buildTime:this.format(new Date(),'yyyy-MM-dd'),
useType:'1', useType:'1',


+ 226
- 0
src/views/sunVillage_info/special_vote.vue Ver fichero

@@ -0,0 +1,226 @@
<template>
<div class="home_wrapper">
<div
class="header_main"
:style="`background-image:url(${require('@/assets/images/sunVillage_info/list_head.png')})`"
>
四议表决
</div>

<van-form ref="formData" :readonly="true">
<div class="list_main">
<van-field name="itemName" :value="form.itemName" label="事项名称" input-align="right" :border="false" />
<van-field label="事项内容" :border="false" />
<div class="contentBox" v-html="form.itemContent"></div>
<van-field name="voteType" :value="form.voteType" label="事项节点" label-width="auto" input-align="right" :border="false" />
<van-field name="voteStatus" :value="form.voteStatus" label="事项状态" label-width="auto" input-align="right" :border="false" />
</div>
<div class="list_main">
<div style="display: flex;justify-content: space-between;">
<span style="font-size: 14px;font-weight: bold;margin-left: 5px;">表决情况</span>
<span style="font-size: 14px;margin-left: 15px;">{{form.itemAt}}</span>
</div>
<div style="text-align: right;width: 100%;">
<span style="font-size: 14px;margin-left: 10px;color: #1AC46F">{{voteNum1}}人同意</span>
<span style="font-size: 14px;margin-left: 10px;color: #FF5500">{{voteNum2}}人不同意</span>
<span style="font-size: 14px;margin-left: 10px;color: #999999">{{voteNum3}}人弃权</span>
</div>
<div style="color: #1AC46F;font-size: 14px;margin-left: 10px;margin-top: 10px;">
同意:{{vote1}}
</div>
<div style="color: #v;font-size: 14px;margin-left: 10px;margin-top: 10px;">
不同意:{{vote2}}
</div>
<div style="color: #999999;font-size: 14px;margin-left: 10px;margin-top: 10px;">
弃权:{{vote3}}
</div>
</div>
<div v-if="showHasVote" style="margin: 16px auto;display: flex;justify-content: space-evenly;padding: 0 25px">
<van-button round block type="primary" :to="{name:'sunVillageInfoSpecialVoteDetail', query: {id:form.id}}"
style="border: 0;background-image: linear-gradient(to right, #48CBFC , #2D6DF6);">我要表决</van-button>
</div>
</van-form>
</div>
</template>
<script>
import CommonUpload from "@/components/form/CommonUpload.vue";
import {specialPublicityVote, updateSpecialPublicityCount, addReadCount} from "@/api/sunVillage_info/fixedAssets";
import Cookies from "js-cookie";
export default {
name: "otherOpenDetail",
components: {CommonUpload},
data() {
return {
form: {},
id:'',
title: '综合公开',
vote1: '无',
vote2: '无',
vote3: '无',
voteNum1: 0,
voteNum2: 0,
voteNum3: 0,
showBtn:true,
showHasVote:true,
queryParams:{
bookId:'',
id:'',
deptId:''
},
voteTypeOptions:[],
voteStatusOptions:[],
};
},
created() {
this.otherType = this.$route.query.type;
this.type = this.$route.query.type;
this.queryParams.bookId = this.$route.query.bookId;
this.queryParams.deptId = Cookies.get('deptId');
this.queryParams.id = this.$route.query.id;
this.showBtn = this.$route.query.showBtn=='false'?false:true;
addReadCount({id: this.$route.query.id}).then((resp) => {

});
this.getDicts("vote_type").then((response) => {
this.voteTypeOptions = response.data;
this.getDetail();
});
this.getDicts("vote_status").then((response) => {
this.voteStatusOptions = response.data;
});
},
methods: {
getDetail() {
specialPublicityVote(this.queryParams).then((resp) => {
if(resp.data.voteStatus == '2'){
this.showHasVote = false;
}
resp.data.voteType = this.selectDictLabel(this.voteTypeOptions, resp.data.voteType);
resp.data.voteStatus = this.selectDictLabel(this.voteStatusOptions, resp.data.voteStatus);
this.form = resp.data;
var votedetail =[];
var vote11 = "";
var vote22 = "";
var vote33 = "";
votedetail = resp.data.detailList;
for(let i = 0; i < votedetail.length; i++){
if(votedetail[i].voteResult === '1'){
vote11 += (votedetail[i].voteBy + " ");
this.voteNum1++;
} else if(votedetail[i].voteResult === '2'){
vote22 += (votedetail[i].voteBy + " ");
this.voteNum2++;
}else if(votedetail[i].voteResult === '3'){
vote33 += (votedetail[i].voteBy + " ");
this.voteNum3++;
}
}
if(vote11 != null && vote11.length > 0){
this.vote1 = vote11;
}
if(vote22 != null && vote22.length > 0){
this.vote2 = vote22;
}
if(vote33 != null && vote33.length > 0){
this.vote3 = vote33;
}
});
},
back() {
this.$router.back();
},
hasVote(type){
this.queryParams.countType = type;
updateSpecialPublicityCount(this.queryParams).then((resp) => {
console.log()
resp.data.specialPublicityType = this.selectDictLabel(this.specialPublicityTypeOptions, resp.data.specialPublicityType);
this.form = resp.data;
this.showHasVote = false;
});
}
},
}
</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);
}
.contentBox img{
width: 100%;
}
.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>

+ 215
- 0
src/views/sunVillage_info/special_vote_detail.vue Ver fichero

@@ -0,0 +1,215 @@
<template>
<div class="app-container">
<div
class="header_main"
:style="`background-image:url(${require('@/assets/images/sunVillage_info/list_head.png')})`"
>
四议表决
<div class="return_btn" @click="onClickLeft"></div>
</div>
<van-form @submit="handleGenerate" @failed="getError" :show-error-message="false" scroll-to-error validate-first>
<div class="main_box">
<van-field label="表决人" required :rules="[{ required: true , message:'请输入表决人' }]" v-model="form.voteBy" placeholder="请输入表决人" input-align="right" label-width="auto"/>
<van-cell title="表决意见" required>
<template #right-icon>
<van-radio-group direction="horizontal" required :rules="[{ required: true , message:'请选择表决意见' }]" v-model="form.voteResult">
<van-radio name="1">同意</van-radio>
<van-radio name="2">不同意</van-radio>
<van-radio name="3">弃权</van-radio>
</van-radio-group>
</template>
</van-cell>
<van-field label="备注" v-model="form.remark" type="textarea" placeholder="请输入备注" input-align="right" rows="3" label-width="auto"/>
</div>
<div>
<van-row>
<p class="title" style="margin: 5px 0px;position: relative;padding-left: 20px;font-size: 16px;">*电子签名</p>
</van-row>
<van-cell-group style="width: 100%;height:100%;overflow: hidden;padding-top: 10px;padding-bottom: 10px;">
<div class="signature-box" @mousedown="canvasTTdown" @touchstart="canvasTTdown">
<vue-esign
ref="esign"
class="mySign"
:width="500"
:height="370"
:isCrop="signature.isCrop"
:lineWidth="signature.lineWidth"
:lineColor="signature.lineColor"
:bgColor.sync="signature.bgColor"
/>
</div>
<img src="../../assets/images/sunVillage_info/signature_icon_10.png" id="canvasTT" style="position:absolute;top: 50%;left: 50%;transform: translate(-50%, -50%) rotate(270deg)" alt="">
<div class="signature-footer">
<van-button @click="handleReset" class="clearBtn" type="info" plain size="small">清空画板</van-button>
<!-- <van-button @click="handleGenerate" type="info" size="small">保存签字</van-button> -->
</div>
</van-cell-group>
</div>
<div style="padding: 16px 0;">
<van-row>
<van-col span="24" align="center">
<van-button round block type="primary" class="submitButton" style="border: 0;background-image: linear-gradient(to right, #48CBFC , #2D6DF6);">保<i style="margin-right: 1em;"></i>存</van-button>
</van-col>
</van-row>
<div class="clear"></div>
</div>
</van-form>
</div>
</template>

<script>
import {votedetailAdd} from "@/api/sunVillage_info/fixedAssets";
import $ from "jquery";
import vueEsign from 'vue-esign'
import {getToken} from "@/utils/auth";
import axios from 'axios'
export default {
name: "votedetailAdd",
data() {
return {
form:{
voteId: this.$route.query.id,
voteBy: null,
voteImg: null,
voteResult: "1",
remark: null,
file: null,
},
//电子签名
signature: {
lineWidth: 6, // 画笔的线条粗细
lineColor: "#000000", // 画笔的颜色
bgColor: "", // 画布的背景颜色
resultImg: "", // 最终画布生成的base64图片
isCrop: false, // 是否裁剪,在画布设定尺寸基础上裁掉四周空白部分
},
};
},
created() {
this.handleReset();
},
methods: {
getError(e){
this.$notify({ type: 'danger', message: e.errors[0].message });
},
goBack(){
window.history.go(-1)
},
canvasTTdown() {
$('#canvasTT').css('display', 'none');
},
// 清空画板
handleReset() {
this.$refs.esign.reset();
$('#canvasTT').css('display', 'block')
},
// 生成签字图片
handleGenerate() {
console.log("正在保存")
this.$toast.loading({
message: "正在保存",
forbidClick: true,
duration: 0,
});
this.$refs.esign
.generate() // 使用生成器调用把签字的图片转换成为base64图片格式
.then((res) => {
this.signature.resultImg = res;
let wj = this.dataURLtoBlob(res);
let param = new FormData() // 创建form对象
param.append('file', wj) // 通过append向form对象添加数据
param.append('voteId', this.form.voteId);
param.append('voteBy', this.form.voteBy);
param.append('voteResult', this.form.voteResult);
param.append('remark', this.form.remark);
votedetailAdd(param).then(response => {
if (response.code === 200) {
this.$toast({
icon: 'success', // 找到自己需要的图标
message: '保存成功',
duration: "1000",
onClose: () => {
this.showSignPopup = false;
this.goBack();
}
});
}
});
})
.catch((err) => {
// 画布没有签字时会执行这里提示一下
this.$toast.fail('请签名后再保存');
});
},
dataURLtoBlob(dataurl, filename = 'file') {
let arr = dataurl.split(',')
let mime = arr[0].match(/:(.*?);/)[1]
let suffix = mime.split('/')[1]
let bstr = atob(arr[1])
let n = bstr.length
let u8arr = new Uint8Array(n)
while (n--) {
u8arr[n] = bstr.charCodeAt(n)
}
return new File([u8arr], `${filename}.${suffix}`, {
type: mime
})
},
},
}
</script>

<style scoped lang="scss">
.app-container {
padding-bottom: 2%;
.header_main{
height: 116px;
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;
margin-bottom: 2%;
.return_btn{
width: 24px;
height: 43.2px;
background-size: 20px 36px;
position: absolute;
left: 38px;
top: 36px;
}
}
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
margin-top: 0;
position: relative;
}
.main_box{
width: 96%;
margin: 0 auto;
border-radius: 6px;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
}
.submitButton{
width: 80%;
margin: 0 auto;
background-color: #1D6FE9;
}

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

+ 553
- 0
src/views/sunVillage_info/three.vue Ver fichero

@@ -0,0 +1,553 @@
<template>
<div class="home_wrapper">
<div class="header_main">
三清台账管理
<div class="return_btn" @click="onClickLeft"></div>
<div class="add_btn" @click="goAdd"></div>
</div>
<div class="search_info">
<div class="search_block">
<van-search class="search_block searchHeight" v-model="queryParams.zcmc" @input="getSearchList" :placeholder="searchPlaceholder" />
<van-icon name="filter-o" color="#1989fa" class="filter-icon" @click="openThreeAssetType" />
</div>
<div class="total">共{{listLength}}个资产</div>
</div>
<div class="list_main">
<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<!--1-->
<van-swipe-cell right-width="200" class="item" v-for="(item,index) in applicationList" :key="index">
<div class="item_box" @click="$router.push({name:'sunVillageInfoListThreeDetail',query:{id:item.id}})">
<div class="head_block">
<i class="icon"></i>
<div class="title">{{item.zcmc}}</div>
<div class="describe">{{item.threeAssetType}}</div>
</div>
<div class="order_block">
<div class="order">{{item.zcdm}}</div>
<div class="describe">{{item.threeDetailType}}</div>
</div>
</div>
<template #right>
<div @click="handleDelete(item,index)" style="background-color: #ee0a24;height: 100%">删除</div>
<router-link :to="{name:'sunVillageInfoListThreeEdit',query:{id:item.id}}" style="background-color: #07c160">修改</router-link>
<div @click="openLoader(item.id,0)" style="background-color: rgb(98,173,102,0.2);color: #62AD66;">附件</div>
<div @click="openMap(item.id, item.theGeom,index)" style="background-color: #62AD66;color: #ffffff;">地图</div>
</template>
</van-swipe-cell>

</van-list>
</div>
<!-- <div class="bottom_tips">-->
<!-- <span class="xs">已经到底啦</span>-->
<!-- </div>-->

<van-popup v-model="showMap" lock-scroll position="top" :style="{ height: '80%' }" >
<div style="padding: 0;text-align: center">
<MapGisLine ref="clickLoading" :message="theGeom" v-on:formSubmit="MapTag" :resourceId="resourceId" :resourceList="resourceList"></MapGisLine>
<!-- <div>地图信息:绿色地块表示该地块,蓝色表示本账套已标记的其他地块</div>-->
<div style="margin-top: 1.5vh">
<van-button type="info" size="small" @click="saveGeom">保存</van-button>
<van-button type="danger" size="small" @click="clearLayer">清除图层</van-button>
<van-button plain type="info" size="small" @click="showMap = false">取消</van-button>
</div>
</div>
</van-popup>

<van-popup v-model="show" lock-scroll closeable position="top" :style="{ height: '30%' }" >
<div style="padding: 0 13% 0 5%;">
<van-divider>附件</van-divider>
<van-uploader v-model="fileList" :after-read="afterRead" @delete="deleteFile1" multiple />
</div>
</van-popup>

<van-popup v-model="typeVisible" lock-scroll closeable position="top" >
<div style="padding: 0.2rem 0.3rem 0.3rem;">
<van-cell-group>
<van-cell>
<div style="text-align: center; font-size: 18px;">筛选</div>
</van-cell>
<van-cell>
<van-checkbox v-model="queryParams.params.noMap" :border="false">未上图</van-checkbox>
</van-cell>
<van-cell>
<van-checkbox v-model="queryParams.params.noAttachment" :border="false">无附件</van-checkbox>
</van-cell>
<field-select
v-model="queryParams.threeAssetType"
label="三清类型"
value-key="dictLabel"
data-key="dictValue"
placeholder="选择三清类型"
:columns="threeAssetTypeOptions"
:clearable="true"
/>
</van-cell-group>
<div style="padding: 0.2rem 0.5rem 0;">
<van-button round type="primary" block @click="refresh">搜索</van-button>
</div>
</div>
</van-popup>
</div>
</template>
<script>
import {
listThree,
commonAttach,
attachmentList,
systemAttachment,
delThree,
updateThree,
getThree,
clearThreeGeom
} from "@/api/sunVillage_info/three";
import request from '@/utils/request'
import MapGisLine from "@/components/Map/MapGisLine";
import Selector from "@/components/common/Selector.vue";
import FieldSelect from "@/components/form/FieldSelect.vue";
export default {
name: "certificateList",
components: {FieldSelect, Selector, MapGisLine,},
data() {
return {
theGeom:'',
applicationList:[],
applicationListSecond:[],
assetStatusOptions:[],
auditStatus:[],
loading: false,
finished: false,
show: false,
showMap: false,
fileList:[],
listLength:'0',
searchInput:'',
queryParams:{
pageNum:1,
pageSize:10,
orderByColumn:'createTime',
isAsc:'desc',
translate_dict:1,
zcmc:'',
threeAssetType: null,
params: {
noMap: false,
noAttachment: false,
},
},
uploadFiles1:[],
projectId:'',
projectIndex:'',
showBtn:true,
listMap: 0,
resourceId: null, // 资产ID,记录当前资产的ID
resourceList: [], // 资产列表,存储本账套下所有的资产信息
typeVisible: false,
threeAssetTypeOptions: [],
};
},
created() {
this.houseGetDicts("three_asset_type").then((response) => {
this.threeAssetTypeOptions = response.data;
});
},
methods: {
saveGeom(){
var that = this;
updateThree({id: this.resourceId, theGeom: this.theGeom}).then((response) => {
if (response.code == 200){
this.$notify({ type: 'success', message: '修改成功' });
setTimeout(function(){
that.showMap = false;
getThree(that.resourceId).then(response => {
that.applicationList[that.listMap].theGeom = response.data.theGeom;
});
},500)
}
});
},
clearLayer() {
this.$dialog.confirm({
message: '是否清除图层?',
}).then(() => {
// on confirm
clearThreeGeom(this.resourceId).then(res => {
if (res.code === 200) {
this.$notify({ type: 'success', message: '清除成功' });
this.showMap = false;
this.applicationList[this.listMap].theGeom = null;
}
});
}).catch(() => {
// on cancel
});
},
openMap(id, theGeom,index){
listThree().then(response => {
this.showMap = true;
this.resourceId = id;
this.theGeom = theGeom;
this.listMap = index;
this.resourceList = response.rows;
this.mapClickLoading();
});
},
//每个查看修改,新增 方法下引用下面方法
mapClickLoading(){
setTimeout(() => {
this.$refs.clickLoading.drawingPaceCountryLine();
}, 1000);
},
/** 查找地图中定位点 */
MapTag: function (data) {
// this.applicationList[this.listMap].theGeom = data;
this.theGeom = data;
},
guidProduct(){
return 'xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
var r = Math.random() * 16 | 0,
v = c == 'x' ? r : (r & 0x3 | 0x8);
return v.toString(16);
});
},
getList(){
this.loading = true;
listThree(this.queryParams).then(response => {
this.listLength = response.total;
response.rows.forEach(item => {
this.applicationList.push(item);
});
if(this.applicationList.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.queryParams.pageNum += 1 ;
}
});
},
afterRead(file) {
// 此时可以自行将文件上传至服务器
console.log(file)
this.uploadFiles1.push(file.file);
let params1 = new FormData();
params1.append("tableId", this.projectId);
params1.append("tableName", "t_asset_three");
params1.append("bizPath", "asset");
params1.append("fileType", this.projectIndex);
params1.append("file", file.file);
commonAttach(params1).then((r1) => {
this.$notify({ type: 'success', message: '上传成功' });
})
},
openLoader(id,index){
this.show = true;
this.projectId = id;
this.projectIndex = index;
this.fileList = [];
let oData1= {
tableId: id,
tableName: "t_asset_three",
bizPath: "asset",
fileType: '',
}
attachmentList(oData1).then(res => {
res.rows.map(r => {
let baseUrl = location.protocol+"//"+location.host+request.defaults.baseURL
this.fileList.push({"url":baseUrl + r.fileUrl,"file":new File([],r.fileName,{}),"id":r.id})
})
})
},
/** 删除按钮操作 */
handleDelete(row,index) {
const ids = row.id || this.ids;
this.$dialog.alert(
{
message:'是否确认删除资产?',
title:"警告",
showCancelButton:true,
confirmButtonText: "确定",
cancelButtonText: "取消",
}
)
.then(function () {
return delThree(ids);
})
.then(() => {
this.applicationList.splice(index, 1);
this.$notify({ type: 'success', message: '删除成功' });
});
},
getSearchList(){
this.queryParams.pageNum = 1;
this.finished = false;
this.applicationList = [];
this.getList();
},
deleteFile1(file){
console.log(file)
systemAttachment(file.id).then(res => {
this.$notify({ type: 'success', message: '删除成功' });
})
},
goAdd(){
this.$router.push('/sunVillage_info/threeAdd')
},
openThreeAssetType() {
this.typeVisible = true;
},
refresh() {
this.typeVisible = false;
this.queryParams.pageNum = 1;
this.listLength = 0;
this.applicationList = [];
this.finished = false;
this.getList();
},
},
computed: {
searchPlaceholder() {
let typeName = this.threeAssetTypeOptions.find((x) => x.dictValue == this.queryParams.threeAssetType);
return '搜索' + (typeName ? typeName.dictLabel : '');
},
}
}
</script>
<style scoped lang="scss">
/deep/ .van-search__content{
background-color: transparent;
}
.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;
}
}
.search_info{
padding:20px 23px;
display: flex;
.search_block{
width: 535px;
border-radius: 59px;
background: #fff;
display: flex;
border:2px solid #3494ff;
padding-right: 20px;
align-items: center;
&.searchHeight{
border: none;
height: 57px;
padding-left: 0;
}
.icon{
width: 30px;
height: 30px;
background: url('../../assets/images/sunVillage_info/fixedAssets_icon_1.png') no-repeat;
background-size: 100% 100%;
display: block;
margin:0 8px 0 26px;
}
.filter-icon {
font-weight: bold;
font-size: .4rem;
width: .6rem;
text-align: center;
}
.ipt{
flex: 1;
font-size: 26px;
background: none;
border:0 none;
line-height: 59px;
}
}
.total{
flex: 1;
display: flex;
align-items: center;
justify-content: center;
font-size: 26px;
color: #858585;
}
}
.list_main{
padding:0 22px;
.item{
/*height: 198px;*/
border-radius: 30px;
background: #fff;
box-shadow: 4px 6px 5px rgba(63, 68, 75, 0.1);
margin-bottom: 20px;
.item_box{
padding:25px 32px;
}
.head_block{
height: 56px;
display: flex;
align-items: center;
width: 100%;
.icon{
width: 34px;
height: 30px;
background: url('../../assets/images/sunVillage_info/fixedAssets_icon_2.png') no-repeat;
background-size: 100% 100%;
display: block;
margin-right: 12px;
}
.title{
flex:1;
font-size: 32px;
color: #252525;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
padding-right: 20px;

}
.describe{
height: 34px;
padding: 0 15px;
font-size: 24px;
color: #3494ff;
background: #e6f2ff;
border-radius: 8px;
}
}
.order_block{
height: 50px;
display: flex;
align-items: center;
width: 100%;
.order{
flex: 1;
font-size: 26px;
color: #252525;
}
.describe{
font-size: 26px;
color: #3494ff;
}
}
.function_block{
height: 46px;
display: flex;
align-items: center;
.time{
display: flex;
flex: 1;
align-items: center;
font-size: 24px;
color: #858585;
.icon{
width: 25px;
height: 25px;
background: url('../../assets/images/sunVillage_info/fixedAssets_icon_3.png') no-repeat;
background-size: 100% 100%;
display: block;
margin-right: 8px;
}
}
.state{
/*flex: 1;*/
display: flex;
justify-content: center;
align-items: center;
&.sell{
color: #f69600;
}
&.scrap{
color: #858585;
}
&.normal{
color: #68c000;
}
}
.value{
flex:1;
display: flex;
align-items: center;
justify-content:flex-end;
font-size: 24px;
color: #858585;
.amount{
color: #eb1616;
}
}
}

}
}
.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;
}
}
/deep/ .van-swipe-cell__right{
display: flex;
align-items: center;
width: 200PX;
margin-left: 5PX;
a,div{
margin: 0;
display: flex;
align-items: center;
justify-content: center;
color: #ffffff;
font-size: 14PX;
height: 100%;
flex: 1;
}
}

}







</style>

+ 417
- 0
src/views/sunVillage_info/threeAdd.vue Ver fichero

@@ -0,0 +1,417 @@
<template>
<div class="home_wrapper">
<div class="header_main">
资产新增
<div class="return_btn" @click="onClickLeft"></div>
</div>
<van-form @submit="onSubmit">
<div class="list_main">
<div class="titBox">
<img src="../../assets/images/sunVillage_info/add_icon_1.png" style="width:22PX;height:22PX;margin-right: 10px;"/>
<p class="tit">基本信息</p>
</div>
<van-field required :rules="[{ required: true }]" v-model="form.zcdm" label="资产编码" placeholder="资产编码" input-align="right" :border="false" :maxlength="20"/>
<van-field required :rules="[{ required: true }]" v-model="form.zcmc" label="资产名称" placeholder="资产名称" input-align="right" :border="false" :maxlength="100"/>

<van-field
readonly
clickable
label="三清类型"
placeholder="请选择"
v-model="threeAssetType"
@click="showThreeAssetType = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
required
:border="false"
:rules="[{ required: true }]"
/>
<van-popup v-model="showThreeAssetType" position="bottom">
<van-picker
show-toolbar
:columns="threeAssetTypeOptions"
@confirm="onConfirmThreeAssetType"
@cancel="showThreeAssetType = false"
/>
</van-popup>

<van-field
readonly
clickable
label="资产类型"
placeholder="请选择"
v-model="threeDetailType"
@click="showThreeDetailType = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
required
:border="false"
:rules="[{ required: true }]"
/>
<van-popup v-model="showThreeDetailType" position="bottom">
<van-picker
show-toolbar
:columns="farmingResourceTypeOptions"
@confirm="onConfirmThreeDetailType"
@cancel="showThreeDetailType = false"
/>
</van-popup>
<van-field v-model="form.ydmj" label="用地面积(亩)" placeholder="用地面积(亩)" required :rules="[{ required: true }]" type="number" input-align="right" :border="false" :maxlength="15"/>
<van-field v-model="form.jzmj" label="建筑面积(㎡)" placeholder="建筑面积(㎡)" input-align="right" type="number" :border="false" :maxlength="15"/>
<van-field v-model="form.szz" label="所在组" placeholder="所在组" input-align="right" :border="false" :maxlength="100"/>
<van-field
readonly
clickable
label="权属性质"
placeholder="请选择"
v-model="natureOwnership"
@click="showNatureOwnership = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
:border="false"
/>
<van-popup v-model="showNatureOwnership" position="bottom">
<van-picker
show-toolbar
:columns="natureOwnershipOptions"
@confirm="onConfirmNatureOwnership"
@cancel="showNatureOwnership = false"
/>
</van-popup>
<van-field
readonly
clickable
label="权属是否存在争议"
placeholder="请选择"
v-model="qssfczzy"
@click="showQssfczzy = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
:border="false"
/>
<van-popup v-model="showQssfczzy" position="bottom">
<van-picker
show-toolbar
:columns="sysYesNoOptions"
@confirm="onConfirmQssfczzy"
@cancel="showQssfczzy = false"
/>
</van-popup>
<van-field v-model="form.qszt" label="权属主体" placeholder="权属主体" input-align="right" :border="false" :maxlength="100"/>
<van-field
readonly
clickable
label="是否委托代管"
placeholder="请选择"
v-model="sfwtdg"
@click="showSfwtdg = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
:border="false"
/>
<van-popup v-model="showSfwtdg" position="bottom">
<van-picker
show-toolbar
:columns="sysYesNoOptions"
@confirm="onConfirmSfwtdg"
@cancel="showSfwtdg = false"
/>
</van-popup>
<van-field v-model="form.lxdh" label="联系电话" placeholder="联系电话" input-align="right" :border="false" :maxlength="100"/>
<van-field v-model="form.phfs23" label="23年盘活方式" placeholder="23年盘活方式" input-align="right" :border="false" :maxlength="150"/>
<van-field v-model="form.xy23" label="23年效益(万元)" placeholder="23年效益(万元)" input-align="right" type="number" :border="false" :maxlength="15"/>
<van-field v-model="form.phfs24" label="24年盘活方式" placeholder="24年盘活方式" input-align="right" :border="false" :maxlength="150"/>
<van-field v-model="form.xy24" label="24年效益(万元)" placeholder="24年效益(万元)" input-align="right" type="number" :border="false" :maxlength="15"/>
<van-field v-model="form.phqk" label="盘活情况" placeholder="盘活情况" input-align="right" :border="false" :maxlength="50"/>
<van-field v-model="form.xzyy" label="资产闲置原因" placeholder="资产闲置原因" input-align="right" :border="false" :maxlength="100"/>
<van-field
readonly
clickable
label="是否能正常使用"
placeholder="请选择"
v-model="sfnzcsy"
@click="showSfnzcsy = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
:border="false"
/>
<van-popup v-model="showSfnzcsy" position="bottom">
<van-picker
show-toolbar
:columns="sysYesNoOptions"
@confirm="onConfirmSfnzcsy"
@cancel="showSfnzcsy = false"
/>
</van-popup>
<van-field v-model="form.wshsy" label="完善后使用" placeholder="完善后使用" input-align="right" :border="false" :maxlength="100"/>
<van-field v-model="form.bnsy" label="不能使用" placeholder="不能使用" input-align="right" :border="false" :maxlength="100"/>
<van-field v-model="form.phcs" label="盘活措施" placeholder="盘活措施" input-align="right" :border="false" :maxlength="200"/>
<van-field v-model="form.phsx" label="盘活时限" placeholder="盘活时限" input-align="right" :border="false" :maxlength="100"/>
<van-field v-model="form.zctjnd" label="资产统计年度" placeholder="资产统计年度" input-align="right" :border="false" :maxlength="100"/>
<van-field v-model="form.bz" label="备注" placeholder="备注" input-align="right" :border="false" :maxlength="500"/>

</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 { addThree } from "@/api/sunVillage_info/three";
export default {
name: "certificateList",
data() {
return {
// 资产分类字典
threeAssetTypeOptions: [],
farmingResourceTypeOptions: [],
showStartTime:false,
showEndTime:false,
showThreeAssetType:false,
threeAssetType:'集体资源资产',
showThreeDetailType:false,
threeDetailType:'草坡',
form:{
id: null,
bookId: null,
deptId: null,
zcdm: null,
zcmc: null,
threeAssetType: "1",
threeDetailType: "01",
ydmj: null,
jzmj: null,
szz: null,
natureOwnership: "1",
qssfczzy: "Y",
qszt: null,
sfwtdg: "Y",
lxdh: null,
phfs23: null,
xy23: null,
phfs24: null,
xy24: null,
phqk: null,
xzyy: null,
sfnzcsy: "Y",
wshsy: null,
bnsy: null,
phcs: null,
phsx: null,
zctjnd: null,
bz: null,
theGeom: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null
},
natureOwnershipOptions:[],
showNatureOwnership:false,
natureOwnership:'公有',
sysYesNoOptions:[],
showQssfczzy:false,
qssfczzy:'是',
showSfwtdg:false,
sfwtdg:'是',
showSfnzcsy:false,
sfnzcsy:'是',
showBuildTime:false,
auditStatus:[],
loading: false,
finished: false,
listLength:'0',
searchInput:'',
queryParams:{
pageNum:1,
pageSize:10,
orderByColumn:'createTime',
isAsc:'desc',
name:'',
},
buildTime:new Date()
};
},
created() {
this.houseGetDicts("nature_ownership").then((response) => {
for(var i = 0 ; i < response.data.length ; i++){
this.natureOwnershipOptions.push({text:response.data[i].dictLabel,value:response.data[i].dictValue});
}
});
this.houseGetDicts("sys_yes_no").then((response) => {
for(var i = 0 ; i < response.data.length ; i++){
this.sysYesNoOptions.push({text:response.data[i].dictLabel,value:response.data[i].dictValue});
}
});
this.houseGetDicts("three_asset_type").then((response) => {
for(var i = 0 ; i < response.data.length ; i++){
this.threeAssetTypeOptions.push({text:response.data[i].dictLabel,value:response.data[i].dictValue});
}
});
this.houseGetDicts("three_jtzyzc_type").then((response) => {
for(var i = 0 ; i < response.data.length ; i++){
this.farmingResourceTypeOptions.push({text:response.data[i].dictLabel,value:response.data[i].dictValue});
}
});
},
methods: {
onConfirmThreeAssetType(data){
this.threeAssetType = data.text;
this.form.threeAssetType = data.value;
this.showThreeAssetType = false;
this.threeDetailType = '';
this.form.threeDetailType = '';
this.farmingResourceTypeOptions = []
if (data.value == '1'){//集体资源资产
this.houseGetDicts("three_jtzyzc_type").then((response) => {
for(var i = 0 ; i < response.data.length ; i++){
this.farmingResourceTypeOptions.push({text:response.data[i].dictLabel,value:response.data[i].dictValue});
}
});
}
if (data.value == '2'){//农业设施设备
this.houseGetDicts("three_nysssb_type").then((response) => {
for(var i = 0 ; i < response.data.length ; i++){
this.farmingResourceTypeOptions.push({text:response.data[i].dictLabel,value:response.data[i].dictValue});
}
});
}
if (data.value == '3'){//农户资产
this.houseGetDicts("three_nh_type").then((response) => {
for(var i = 0 ; i < response.data.length ; i++){
this.farmingResourceTypeOptions.push({text:response.data[i].dictLabel,value:response.data[i].dictValue});
}
});
}

},
onConfirmThreeDetailType(data){
this.threeDetailType = data.text;
this.form.threeDetailType = data.value;
this.showThreeDetailType = false;
},
onConfirmQssfczzy(data){
this.qssfczzy = data.text;
this.form.qssfczzy = data.value;
this.showQssfczzy = false;
},
onConfirmNatureOwnership(data){
this.natureOwnership = data.text;
this.form.natureOwnership = data.value;
this.showNatureOwnership = false;
},
onConfirmSfwtdg(data){
this.sfwtdg = data.text;
this.form.sfwtdg = data.value;
this.showSfwtdg = false;
},
onConfirmSfnzcsy(data){
this.sfnzcsy = data.text;
this.form.sfnzcsy = data.value;
this.showSfnzcsy = false;
},

onSubmit(){
addThree(this.form).then(response => {
if (response.code == 200){
this.$notify({ type: 'success', message: '新增成功' });
setTimeout(function(){
history.back(-1);
},2000)
}
});
}
},
}
</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>

+ 392
- 0
src/views/sunVillage_info/threeDetail.vue Ver fichero

@@ -0,0 +1,392 @@
<template>
<div class="home_wrapper">
<div class="header_main">
资产详情
<div class="return_btn" @click="onClickLeft"></div>
</div>
<van-form @submit="onSubmit">
<div class="list_main">
<div class="titBox">
<img src="../../assets/images/sunVillage_info/add_icon_1.png" style="width:22PX;height:22PX;margin-right: 10px;"/>
<p class="tit">基本信息</p>
</div>
<van-field required :rules="[{ required: true }]" v-model="form.zcdm" label="资产编码" placeholder="资产编码" input-align="right" :border="false" />
<van-field required :rules="[{ required: true }]" v-model="form.zcmc" label="资产名称" placeholder="资产名称" input-align="right" :border="false" />
<van-field
readonly
label="三清类型"
placeholder="请选择"
v-model="threeAssetType"
input-align="right"
right-icon="arrow-down"
label-width="auto"
:border="false"
/>
<van-field
readonly
label="资产类型"
placeholder="请选择"
v-model="threeDetailType"
input-align="right"
right-icon="arrow-down"
label-width="auto"
:border="false"
/>
<van-field v-model="form.ydmj" label="用地面积(亩)" placeholder="用地面积(亩)" required :rules="[{ required: true }]" input-align="right"v :border="false" />
<van-field v-model="form.jzmj" label="建筑面积(㎡)" placeholder="建筑面积(㎡)" input-align="right" type="number" :border="false" />
<van-field v-model="form.szz" label="所在组" placeholder="所在组" input-align="right" :border="false" />
<van-field
readonly
label="权属性质"
placeholder="请选择"
v-model="natureOwnership"
input-align="right"
right-icon="arrow-down"
label-width="auto"
:border="false"
/>
<van-field
readonlyx
label="权属是否存在争议"
placeholder="请选择"
v-model="qssfczzy"
input-align="right"
right-icon="arrow-down"
label-width="auto"
:border="false"
/>
<van-field v-model="form.qszt" label="权属主体" placeholder="权属主体" input-align="right" :border="false" />
<van-field
readonly
label="是否委托代管"
placeholder="请选择"
v-model="sfwtdg"
input-align="right"
right-icon="arrow-down"
label-width="auto"
:border="false"
/>
<van-field v-model="form.lxdh" label="联系电话" placeholder="联系电话" input-align="right" :border="false" />
<van-field v-model="form.phfs23" label="23年盘活方式" placeholder="23年盘活方式" input-align="right" :border="false" />
<van-field v-model="form.xy23" label="23年效益(万元)" placeholder="23年效益(万元)" input-align="right" type="number" :border="false" />
<van-field v-model="form.phfs24" label="24年盘活方式" placeholder="24年盘活方式" input-align="right" :border="false" />
<van-field v-model="form.xy24" label="24年效益(万元)" placeholder="24年效益(万元)" input-align="right" type="number" :border="false" />
<van-field v-model="form.phqk" label="盘活情况" placeholder="盘活情况" input-align="right" :border="false" />
<van-field v-model="form.xzyy" label="资产闲置原因" placeholder="资产闲置原因" input-align="right" :border="false" />
<van-field
readonly
label="是否能正常使用"
placeholder="请选择"
v-model="sfnzcsy"
input-align="right"
right-icon="arrow-down"
label-width="auto"
:border="false"
/>
<van-field v-model="form.wshsy" label="完善后使用" placeholder="完善后使用" input-align="right" :border="false" />
<van-field v-model="form.bnsy" label="不能使用" placeholder="不能使用" input-align="right" :border="false" />
<van-field v-model="form.phcs" label="盘活措施" placeholder="盘活措施" input-align="right" :border="false" />
<van-field v-model="form.phsx" label="盘活时限" placeholder="盘活时限" input-align="right" :border="false" />
<van-field v-model="form.zctjnd" label="资产统计年度" placeholder="资产统计年度" input-align="right" :border="false" />
<van-field v-model="form.bz" label="备注" placeholder="备注" input-align="right" :border="false" />
</div>
</van-form>
</div>
</template>
<script>
import { updateThree,getThree } from "@/api/sunVillage_info/three";
export default {
name: "certificateList",
data() {
return {
// 资产分类字典
threeAssetTypeOptions: [],
farmingResourceTypeOptions: [],
threeJtzyzcTypeOptions: [],
threeNysssbTypeOptions: [],
threeNhTypeOptions: [],
natureOwnershipOptions:[],
sysYesNoOptions:[],
threeAssetTypeSelect: [],
threeJtzyzcTypeSelect: [],
threeNysssbTypeSelect: [],
threeNhTypeSelect: [],
natureOwnershipSelect:[],
sysYesNoSelect:[],
showStartTime:false,
showEndTime:false,
showThreeAssetType:false,
threeAssetType:'',
showThreeDetailType:false,
threeDetailType:'',
form:{
id: null,
bookId: null,
deptId: null,
zcdm: null,
zcmc: null,
threeAssetType: null,
threeDetailType: null,
ydmj: null,
jzmj: null,
szz: null,
natureOwnership: null,
qssfczzy: null,
qszt: null,
sfwtdg: null,
lxdh: null,
phfs23: null,
xy23: null,
phfs24: null,
xy24: null,
phqk: null,
xzyy: null,
sfnzcsy: null,
wshsy: null,
bnsy: null,
phcs: null,
phsx: null,
zctjnd: null,
bz: null,
theGeom: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null
},
showNatureOwnership:false,
natureOwnership:'',
showQssfczzy:false,
qssfczzy:'',
showSfwtdg:false,
sfwtdg:'',
showSfnzcsy:false,
sfnzcsy:'',
showBuildTime:false,
auditStatus:[],
loading: false,
finished: false,
listLength:'0',
searchInput:'',
queryParams:{
pageNum:1,
pageSize:10,
orderByColumn:'createTime',
isAsc:'desc',
name:'',
},
buildTime:new Date()
};
},
created() {
this.houseGetDicts("nature_ownership").then((response) => {
this.natureOwnershipSelect = response.data;
for(var i = 0 ; i < response.data.length ; i++){
this.natureOwnershipOptions.push({text:response.data[i].dictLabel,value:response.data[i].dictValue});
}
});
this.houseGetDicts("sys_yes_no").then((response) => {
this.sysYesNoSelect = response.data;
for(var i = 0 ; i < response.data.length ; i++){
this.sysYesNoOptions.push({text:response.data[i].dictLabel,value:response.data[i].dictValue});
}
});
this.houseGetDicts("three_asset_type").then((response) => {
this.threeAssetTypeSelect = response.data;
for(var i = 0 ; i < response.data.length ; i++){
this.threeAssetTypeOptions.push({text:response.data[i].dictLabel,value:response.data[i].dictValue});
}
});
this.houseGetDicts("three_jtzyzc_type").then((response) => {
this.threeJtzyzcTypeSelect = response.data;
for(var i = 0 ; i < response.data.length ; i++){
this.threeJtzyzcTypeOptions.push({text:response.data[i].dictLabel,value:response.data[i].dictValue});
}
});
this.houseGetDicts("three_nysssb_type").then((response) => {
this.threeNysssbTypeSelect = response.data;
for(var i = 0 ; i < response.data.length ; i++){
this.threeNysssbTypeOptions.push({text:response.data[i].dictLabel,value:response.data[i].dictValue});
}
});
this.houseGetDicts("three_nh_type").then((response) => {
this.threeNhTypeSelect = response.data;
for(var i = 0 ; i < response.data.length ; i++){
this.threeNhTypeOptions.push({text:response.data[i].dictLabel,value:response.data[i].dictValue});
}
});
this.getDetail();
},
methods: {
getDetail(){
getThree(this.$route.query.id).then(response => {
this.form = response.data;
this.threeAssetType = this.selectDictLabel(this.threeAssetTypeSelect, response.data.threeAssetType);
this.natureOwnership = this.selectDictLabel(this.natureOwnershipSelect, response.data.natureOwnership);
this.qssfczzy = this.selectDictLabel(this.sysYesNoSelect, response.data.qssfczzy);
this.sfwtdg = this.selectDictLabel(this.sysYesNoSelect, response.data.sfwtdg);
this.sfnzcsy = this.selectDictLabel(this.sysYesNoSelect, response.data.sfnzcsy);
if (response.data.threeAssetType == '1'){//集体资源资产
this.threeDetailType = this.selectDictLabel(this.threeJtzyzcTypeSelect, response.data.threeDetailType);
this.farmingResourceTypeOptions = this.threeJtzyzcTypeOptions;
}
if (response.data.threeAssetType == '2'){//农业设施设备
this.threeDetailType = this.selectDictLabel(this.threeNysssbTypeSelect, response.data.threeDetailType);
this.farmingResourceTypeOptions = this.threeNysssbTypeOptions;
}
if (response.data.threeAssetType == '3'){//农户资产
this.threeDetailType = this.selectDictLabel(this.threeNhTypeSelect, response.data.threeDetailType);
this.farmingResourceTypeOptions = this.threeNhTypeOptions;
}
});
},
onConfirmThreeAssetType(data){
this.threeAssetType = data.text;
this.form.threeAssetType = data.value;
this.showThreeAssetType = false;
this.threeDetailType = '';
this.form.threeDetailType = '';
this.farmingResourceTypeOptions = []
if (data.value == '1'){//集体资源资产
this.houseGetDicts("three_jtzyzc_type").then((response) => {
for(var i = 0 ; i < response.data.length ; i++){
this.farmingResourceTypeOptions.push({text:response.data[i].dictLabel,value:response.data[i].dictValue});
}
});
}
if (data.value == '2'){//农业设施设备
this.houseGetDicts("three_nysssb_type").then((response) => {
for(var i = 0 ; i < response.data.length ; i++){
this.farmingResourceTypeOptions.push({text:response.data[i].dictLabel,value:response.data[i].dictValue});
}
});
}
if (data.value == '3'){//农户资产
this.houseGetDicts("three_nh_type").then((response) => {
for(var i = 0 ; i < response.data.length ; i++){
this.farmingResourceTypeOptions.push({text:response.data[i].dictLabel,value:response.data[i].dictValue});
}
});
}

},
onConfirmThreeDetailType(data){
this.threeDetailType = data.text;
this.form.threeDetailType = data.value;
this.showThreeDetailType = false;
},
onConfirmQssfczzy(data){
this.qssfczzy = data.text;
this.form.qssfczzy = data.value;
this.showQssfczzy = false;
},
onConfirmNatureOwnership(data){
this.natureOwnership = data.text;
this.form.natureOwnership = data.value;
this.showNatureOwnership = false;
},
onConfirmSfwtdg(data){
this.sfwtdg = data.text;
this.form.sfwtdg = data.value;
this.showSfwtdg = false;
},
onConfirmSfnzcsy(data){
this.sfnzcsy = data.text;
this.form.sfnzcsy = data.value;
this.showSfnzcsy = false;
},
onSubmit(){
updateThree(this.form).then(response => {
if (response.code == 200){
this.$notify({ type: 'success', message: '修改成功' });
setTimeout(function(){
history.back(-1);
},2000)
}
});
}
},
}
</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>

+ 464
- 0
src/views/sunVillage_info/threeEdit.vue Ver fichero

@@ -0,0 +1,464 @@
<template>
<div class="home_wrapper">
<div class="header_main">
资产修改
<div class="return_btn" @click="onClickLeft"></div>
</div>
<van-form @submit="onSubmit">
<div class="list_main">
<div class="titBox">
<img src="../../assets/images/sunVillage_info/add_icon_1.png" style="width:22PX;height:22PX;margin-right: 10px;"/>
<p class="tit">基本信息</p>
</div>
<van-field required :rules="[{ required: true }]" v-model="form.zcdm" label="资产编码" placeholder="资产编码" input-align="right" :border="false" :maxlength="20"/>
<van-field required :rules="[{ required: true }]" v-model="form.zcmc" label="资产名称" placeholder="资产名称" input-align="right" :border="false" :maxlength="100"/>

<van-field
readonly
clickable
label="三清类型"
placeholder="请选择"
v-model="threeAssetType"
@click="showThreeAssetType = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
required
:border="false"
:rules="[{ required: true }]"
/>
<van-popup v-model="showThreeAssetType" position="bottom">
<van-picker
show-toolbar
:columns="threeAssetTypeOptions"
@confirm="onConfirmThreeAssetType"
@cancel="showThreeAssetType = false"
/>
</van-popup>

<van-field
readonly
clickable
label="资产类型"
placeholder="请选择"
v-model="threeDetailType"
@click="showThreeDetailType = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
required
:border="false"
:rules="[{ required: true }]"
/>
<van-popup v-model="showThreeDetailType" position="bottom">
<van-picker
show-toolbar
:columns="farmingResourceTypeOptions"
@confirm="onConfirmThreeDetailType"
@cancel="showThreeDetailType = false"
/>
</van-popup>
<van-field v-model="form.ydmj" label="用地面积(亩)" placeholder="用地面积(亩)" required :rules="[{ required: true }]" type="number" input-align="right" :border="false" :maxlength="15"/>
<van-field v-model="form.jzmj" label="建筑面积(㎡)" placeholder="建筑面积(㎡)" input-align="right" type="number" :border="false" :maxlength="15"/>
<van-field v-model="form.szz" label="所在组" placeholder="所在组" input-align="right" :border="false" :maxlength="100"/>
<van-field
readonly
clickable
label="权属性质"
placeholder="请选择"
v-model="natureOwnership"
@click="showNatureOwnership = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
:border="false"
/>
<van-popup v-model="showNatureOwnership" position="bottom">
<van-picker
show-toolbar
:columns="natureOwnershipOptions"
@confirm="onConfirmNatureOwnership"
@cancel="showNatureOwnership = false"
/>
</van-popup>
<van-field
readonly
clickable
label="权属是否存在争议"
placeholder="请选择"
v-model="qssfczzy"
@click="showQssfczzy = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
:border="false"
/>
<van-popup v-model="showQssfczzy" position="bottom">
<van-picker
show-toolbar
:columns="sysYesNoOptions"
@confirm="onConfirmQssfczzy"
@cancel="showQssfczzy = false"
/>
</van-popup>
<van-field v-model="form.qszt" label="权属主体" placeholder="权属主体" input-align="right" :border="false" :maxlength="100"/>
<van-field
readonly
clickable
label="是否委托代管"
placeholder="请选择"
v-model="sfwtdg"
@click="showSfwtdg = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
:border="false"
/>
<van-popup v-model="showSfwtdg" position="bottom">
<van-picker
show-toolbar
:columns="sysYesNoOptions"
@confirm="onConfirmSfwtdg"
@cancel="showSfwtdg = false"
/>
</van-popup>
<van-field v-model="form.lxdh" label="联系电话" placeholder="联系电话" input-align="right" :border="false" :maxlength="100"/>
<van-field v-model="form.phfs23" label="23年盘活方式" placeholder="23年盘活方式" input-align="right" :border="false" :maxlength="150"/>
<van-field v-model="form.xy23" label="23年效益(万元)" placeholder="23年效益(万元)" input-align="right" type="number" :border="false" :maxlength="15"/>
<van-field v-model="form.phfs24" label="24年盘活方式" placeholder="24年盘活方式" input-align="right" :border="false" :maxlength="150"/>
<van-field v-model="form.xy24" label="24年效益(万元)" placeholder="24年效益(万元)" input-align="right" type="number" :border="false" :maxlength="15"/>
<van-field v-model="form.phqk" label="盘活情况" placeholder="盘活情况" input-align="right" :border="false" :maxlength="50"/>
<van-field v-model="form.xzyy" label="资产闲置原因" placeholder="资产闲置原因" input-align="right" :border="false" :maxlength="100"/>
<van-field
readonly
clickable
label="是否能正常使用"
placeholder="请选择"
v-model="sfnzcsy"
@click="showSfnzcsy = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
:border="false"
/>
<van-popup v-model="showSfnzcsy" position="bottom">
<van-picker
show-toolbar
:columns="sysYesNoOptions"
@confirm="onConfirmSfnzcsy"
@cancel="showSfnzcsy = false"
/>
</van-popup>
<van-field v-model="form.wshsy" label="完善后使用" placeholder="完善后使用" input-align="right" :border="false" :maxlength="100"/>
<van-field v-model="form.bnsy" label="不能使用" placeholder="不能使用" input-align="right" :border="false" :maxlength="100"/>
<van-field v-model="form.phcs" label="盘活措施" placeholder="盘活措施" input-align="right" :border="false" :maxlength="200"/>
<van-field v-model="form.phsx" label="盘活时限" placeholder="盘活时限" input-align="right" :border="false" :maxlength="100"/>
<van-field v-model="form.zctjnd" label="资产统计年度" placeholder="资产统计年度" input-align="right" :border="false" :maxlength="100"/>
<van-field v-model="form.bz" label="备注" placeholder="备注" input-align="right" :border="false" :maxlength="500"/>

</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 { updateThree,getThree } from "@/api/sunVillage_info/three";
export default {
name: "certificateList",
data() {
return {
// 资产分类字典
threeAssetTypeOptions: [],
farmingResourceTypeOptions: [],
threeJtzyzcTypeOptions: [],
threeNysssbTypeOptions: [],
threeNhTypeOptions: [],
natureOwnershipOptions:[],
sysYesNoOptions:[],
threeAssetTypeSelect: [],
threeJtzyzcTypeSelect: [],
threeNysssbTypeSelect: [],
threeNhTypeSelect: [],
natureOwnershipSelect:[],
sysYesNoSelect:[],
showStartTime:false,
showEndTime:false,
showThreeAssetType:false,
threeAssetType:'',
showThreeDetailType:false,
threeDetailType:'',
form:{
id: null,
bookId: null,
deptId: null,
zcdm: null,
zcmc: null,
threeAssetType: null,
threeDetailType: null,
ydmj: null,
jzmj: null,
szz: null,
natureOwnership: null,
qssfczzy: null,
qszt: null,
sfwtdg: null,
lxdh: null,
phfs23: null,
xy23: null,
phfs24: null,
xy24: null,
phqk: null,
xzyy: null,
sfnzcsy: null,
wshsy: null,
bnsy: null,
phcs: null,
phsx: null,
zctjnd: null,
bz: null,
theGeom: null,
createBy: null,
createTime: null,
updateBy: null,
updateTime: null
},
showNatureOwnership:false,
natureOwnership:'',
showQssfczzy:false,
qssfczzy:'',
showSfwtdg:false,
sfwtdg:'',
showSfnzcsy:false,
sfnzcsy:'',
showBuildTime:false,
auditStatus:[],
loading: false,
finished: false,
listLength:'0',
searchInput:'',
queryParams:{
pageNum:1,
pageSize:10,
orderByColumn:'createTime',
isAsc:'desc',
name:'',
},
buildTime:new Date()
};
},
created() {
this.houseGetDicts("nature_ownership").then((response) => {
this.natureOwnershipSelect = response.data;
for(var i = 0 ; i < response.data.length ; i++){
this.natureOwnershipOptions.push({text:response.data[i].dictLabel,value:response.data[i].dictValue});
}
});
this.houseGetDicts("sys_yes_no").then((response) => {
this.sysYesNoSelect = response.data;
for(var i = 0 ; i < response.data.length ; i++){
this.sysYesNoOptions.push({text:response.data[i].dictLabel,value:response.data[i].dictValue});
}
});
this.houseGetDicts("three_asset_type").then((response) => {
this.threeAssetTypeSelect = response.data;
for(var i = 0 ; i < response.data.length ; i++){
this.threeAssetTypeOptions.push({text:response.data[i].dictLabel,value:response.data[i].dictValue});
}
});
this.houseGetDicts("three_jtzyzc_type").then((response) => {
this.threeJtzyzcTypeSelect = response.data;
for(var i = 0 ; i < response.data.length ; i++){
this.threeJtzyzcTypeOptions.push({text:response.data[i].dictLabel,value:response.data[i].dictValue});
}
});
this.houseGetDicts("three_nysssb_type").then((response) => {
this.threeNysssbTypeSelect = response.data;
for(var i = 0 ; i < response.data.length ; i++){
this.threeNysssbTypeOptions.push({text:response.data[i].dictLabel,value:response.data[i].dictValue});
}
});
this.houseGetDicts("three_nh_type").then((response) => {
this.threeNhTypeSelect = response.data;
for(var i = 0 ; i < response.data.length ; i++){
this.threeNhTypeOptions.push({text:response.data[i].dictLabel,value:response.data[i].dictValue});
}
});
this.getDetail();
},
methods: {
getDetail(){
getThree(this.$route.query.id).then(response => {
this.form = response.data;
this.threeAssetType = this.selectDictLabel(this.threeAssetTypeSelect, response.data.threeAssetType);
this.natureOwnership = this.selectDictLabel(this.natureOwnershipSelect, response.data.natureOwnership);
this.qssfczzy = this.selectDictLabel(this.sysYesNoSelect, response.data.qssfczzy);
this.sfwtdg = this.selectDictLabel(this.sysYesNoSelect, response.data.sfwtdg);
this.sfnzcsy = this.selectDictLabel(this.sysYesNoSelect, response.data.sfnzcsy);
if (response.data.threeAssetType == '1'){//集体资源资产
this.threeDetailType = this.selectDictLabel(this.threeJtzyzcTypeSelect, response.data.threeDetailType);
this.farmingResourceTypeOptions = this.threeJtzyzcTypeOptions;
}
if (response.data.threeAssetType == '2'){//农业设施设备
this.threeDetailType = this.selectDictLabel(this.threeNysssbTypeSelect, response.data.threeDetailType);
this.farmingResourceTypeOptions = this.threeNysssbTypeOptions;
}
if (response.data.threeAssetType == '3'){//农户资产
this.threeDetailType = this.selectDictLabel(this.threeNhTypeSelect, response.data.threeDetailType);
this.farmingResourceTypeOptions = this.threeNhTypeOptions;
}
});
},
onConfirmThreeAssetType(data){
this.threeAssetType = data.text;
this.form.threeAssetType = data.value;
this.showThreeAssetType = false;
this.threeDetailType = '';
this.form.threeDetailType = '';
this.farmingResourceTypeOptions = []
if (data.value == '1'){//集体资源资产
this.houseGetDicts("three_jtzyzc_type").then((response) => {
for(var i = 0 ; i < response.data.length ; i++){
this.farmingResourceTypeOptions.push({text:response.data[i].dictLabel,value:response.data[i].dictValue});
}
});
}
if (data.value == '2'){//农业设施设备
this.houseGetDicts("three_nysssb_type").then((response) => {
for(var i = 0 ; i < response.data.length ; i++){
this.farmingResourceTypeOptions.push({text:response.data[i].dictLabel,value:response.data[i].dictValue});
}
});
}
if (data.value == '3'){//农户资产
this.houseGetDicts("three_nh_type").then((response) => {
for(var i = 0 ; i < response.data.length ; i++){
this.farmingResourceTypeOptions.push({text:response.data[i].dictLabel,value:response.data[i].dictValue});
}
});
}

},
onConfirmThreeDetailType(data){
this.threeDetailType = data.text;
this.form.threeDetailType = data.value;
this.showThreeDetailType = false;
},
onConfirmQssfczzy(data){
this.qssfczzy = data.text;
this.form.qssfczzy = data.value;
this.showQssfczzy = false;
},
onConfirmNatureOwnership(data){
this.natureOwnership = data.text;
this.form.natureOwnership = data.value;
this.showNatureOwnership = false;
},
onConfirmSfwtdg(data){
this.sfwtdg = data.text;
this.form.sfwtdg = data.value;
this.showSfwtdg = false;
},
onConfirmSfnzcsy(data){
this.sfnzcsy = data.text;
this.form.sfnzcsy = data.value;
this.showSfnzcsy = false;
},
onSubmit(){
updateThree(this.form).then(response => {
if (response.code == 200){
this.$notify({ type: 'success', message: '修改成功' });
setTimeout(function(){
history.back(-1);
},2000)
}
});
}
},
}
</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>

+ 136
- 32
src/views/yinnong/bankAgriculture/bankOfDeposit/bankOfDepositAdd.vue Ver fichero

@@ -1,44 +1,53 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">添加开户行</p>
</template>
</van-nav-bar>
<!-- <van-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="header_main">
添加开户行
<div class="return_btn" @click="onClickLeft"></div>
</div>

<van-form @submit="goModify" @failed="getError" :show-error-message="false" scroll-to-error validate-first> <van-form @submit="goModify" @failed="getError" :show-error-message="false" scroll-to-error validate-first>
<div class="main_box"> <div class="main_box">
<van-field label="省" required :rules="[{ required: true , message:'请输入省' }]" v-model="form.sheng" placeholder="请输入省" input-align="right" label-width="auto"/>
<van-field label="市" required :rules="[{ required: true , message:'请输入市' }]" v-model="form.shi" placeholder="请输入市" input-align="right" label-width="auto"/>


<van-field
readonly
clickable
<FieldCascadeSelect :required="true" :rules="[{ required: true , message:'请选择省市' }]" data-key="value" value-key="label" :columns="regionOptions" v-model="form.region" placeholder="请选择开户省市" label="开户省市" label-width="auto" @input="onRegionChanged"/>
<FieldSelect
label="所属银行" label="所属银行"
placeholder="请选择" placeholder="请选择"
v-model="bankType"
@click="showBankType = true"
input-align="right"
right-icon="arrow-down"
v-model="form.bankType"
label-width="auto" label-width="auto"
required
:required="true"
:rules="[{ required: true , message:'请选择所属银行' }]" :rules="[{ required: true , message:'请选择所属银行' }]"
:columns="bankTypeOptions"
data-key="dictValue"
value-key="dictLabel"
/> />
<van-popup v-model="showBankType" position="bottom">
<van-field label="开户行" required :rules="[{ required: true , message:'请输入开户行' }]" v-model="form.bankDeposit" placeholder="请输入开户行" input-align="right" label-width="auto">
<template #button>
<van-button :disabled="!canFetch" size="small" type="primary" native-type="button" @click="searchBankAddress">手动检索</van-button>
</template>
</van-field>
<van-popup v-model:show="showBankAddress" position="bottom">
<van-picker <van-picker
show-toolbar show-toolbar
:columns="bankTypeOptions"
@confirm="onConfirmBankType"
@cancel="showBankType = false"
value-key="bankDeposit"
:columns="bankAddressOption"
@confirm="onConfirmBankAddress"
@cancel="showBankAddress = false"
/> />
</van-popup> </van-popup>

<van-field label="开户行" required :rules="[{ required: true , message:'请输入开户行' }]" v-model="form.bankDeposit" placeholder="请输入开户行" input-align="right" label-width="auto"/>
<van-field label="联行号" required :rules="[{ required: true , message:'请输入联行号' }]" v-model="form.payeePaymentLines" placeholder="请输入联行号" input-align="right" label-width="auto"/> <van-field label="联行号" required :rules="[{ required: true , message:'请输入联行号' }]" v-model="form.payeePaymentLines" placeholder="请输入联行号" input-align="right" label-width="auto"/>
<van-field label="上级清算行" v-model="form.clearingBank" input-align="right" label-width="auto" disabled/>
<van-field label="机构号" v-model="form.institutionNumber" placeholder="请输入机构号" input-align="right" label-width="auto"/> <van-field label="机构号" v-model="form.institutionNumber" placeholder="请输入机构号" input-align="right" label-width="auto"/>


</div> </div>
@@ -56,21 +65,30 @@


<script> <script>
import { addDeposit } from "@/api/onlineHome/bankAgriculture/bankOfDeposit"; import { addDeposit } from "@/api/onlineHome/bankAgriculture/bankOfDeposit";
import {options} from "@/api/user";
import FieldCascadeSelect from "@/components/form/FieldCascadeSelect";
import {listDeposit, realtimeBankList} from "@/api/onlineHome/bankAgriculture/paymentAccount";
import FieldSelect from "@/components/form/FieldSelect";
export default { export default {
name: "paymentAccountAdd", name: "paymentAccountAdd",
components: {FieldSelect, FieldCascadeSelect},
data() { data() {
return { return {
showBankType:false, showBankType:false,
bankType:'', bankType:'',
// 所属银行字典 // 所属银行字典
bankTypeOptions: [], bankTypeOptions: [],
showBankAddress: false,
bankAddressOption: [],
form:{ form:{
sheng: "", //省 必填 sheng: "", //省 必填
shi: "", //市 必填 shi: "", //市 必填
bankType: "", //所属银行 必填 bankType: "", //所属银行 必填
bankDeposit: "", //开户行 必填 bankDeposit: "", //开户行 必填
payeePaymentLines: "", //联行号 //必填 payeePaymentLines: "", //联行号 //必填
}
clearingBank: "", //上级清算行
region: [],
},
}; };
}, },
created() { created() {
@@ -83,9 +101,7 @@
getDetail(){ getDetail(){
// 所属银行 // 所属银行
this.getDicts("bank_type_all").then(res => { this.getDicts("bank_type_all").then(res => {
for (var i = 0; i < res.data.length; i++) {
this.bankTypeOptions.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
this.bankTypeOptions = res.data;
}); });
}, },
getError(e){ getError(e){
@@ -108,14 +124,102 @@
}, },
goBack(){ goBack(){
window.history.go(-1) window.history.go(-1)
}
},
onRegionChanged(val) {
val = val || [];
this.form.sheng = val.length > 0 ? val[0] : null;
this.form.shi = val.length > 1 ? val[1] : null;
},
onConfirmBankAddress(value){
this.form.bankAddress = value.bankDeposit;
this.form.payeePaymentLines = value.payeePaymentLines;
this.form.clearingBank = data.clearingBank
this.form.bankDeposit = value.bankDeposit;
this.showBankAddress = false;
},
checkFormField(what, desc) {
if(!this.form[what])
{
this.$toast({
icon: 'fail',
message: '请选择' + desc,
duration:"1000",
});
return false;
}
return true;
},
searchBankAddress(){
if(!this.checkFormField('sheng', '省')) return;
if(!this.checkFormField('shi', '市')) return;
if(!this.checkFormField('bankType', '所属银行')) return;
if(!this.checkFormField('bankDeposit', '关键词')) return;
let data = {
sheng: this.form.sheng,
shi: this.form.shi,
bankType: this.form.bankType,
bankDeposit: this.form.bankDeposit,
}
listDeposit(data).then(response => {
if (response.rows.length<1){
realtimeBankList(data, false).then(response2 => {
this.bankAddressOption = response2.data;
this.showBankAddress = true;
});
}else{
this.bankAddressOption = response.rows;
this.showBankAddress = true;
}
});
},
},
computed: {
regionOptions() {
return options;
},
canFetch() {
return this.form.sheng && this.form.shi && this.form.bankType && this.form.bankDeposit;
},
}, },
} }
</script> </script>


<style scoped lang="scss"> <style scoped lang="scss">
.app-container { .app-container {
padding: 2% 0;
padding-bottom: 2%;
.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;
margin-bottom: 2%;
.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: 20PX;
height: 20PX;
background: url('../../../../../static/images/icon/icon_flow.png') center center no-repeat;
background-size: 20PX 20PX;
position: absolute;
right: 38px;
top: 36px;
}
}
} }
.main_title{ .main_title{
font-size: 0.4rem; font-size: 0.4rem;


+ 4
- 0
src/views/yinnong/bankAgriculture/bankOfDeposit/bankOfDepositModify.vue Ver fichero

@@ -39,6 +39,8 @@


<van-field label="开户行" required :rules="[{ required: true , message:'请输入开户行' }]" v-model="form.bankDeposit" placeholder="请输入开户行" input-align="right" label-width="auto"/> <van-field label="开户行" required :rules="[{ required: true , message:'请输入开户行' }]" v-model="form.bankDeposit" placeholder="请输入开户行" input-align="right" label-width="auto"/>
<van-field label="联行号" required :rules="[{ required: true , message:'请输入联行号' }]" v-model="form.payeePaymentLines" placeholder="请输入联行号" input-align="right" label-width="auto"/> <van-field label="联行号" required :rules="[{ required: true , message:'请输入联行号' }]" v-model="form.payeePaymentLines" placeholder="请输入联行号" input-align="right" label-width="auto"/>
<van-field label="上级清算行" v-model="form.clearingBank" input-align="right" label-width="auto" disabled/>
<van-field label="机构号" v-model="form.institutionNumber" placeholder="请输入机构号" input-align="right" label-width="auto"/>


</div> </div>
<div style="padding: 16px 0;"> <div style="padding: 16px 0;">
@@ -69,6 +71,8 @@
bankType: "", //所属银行 必填 bankType: "", //所属银行 必填
bankDeposit: "", //开户行 必填 bankDeposit: "", //开户行 必填
payeePaymentLines: "", //联行号 //必填 payeePaymentLines: "", //联行号 //必填
clearingBank: "", //上级清算行
institutionNumber: "",//上级清算行机构号
} }
}; };
}, },


+ 5
- 3
src/views/yinnong/bankAgriculture/collectionAccount/collectionAdd.vue Ver fichero

@@ -68,6 +68,7 @@
/> />
</van-popup> </van-popup>
<van-field label="联行号" readonly required :rules="[{ required: true , message:'请输入联行号' }]" v-model="form.payeePaymentLines" input-align="right" label-width="auto"/> <van-field label="联行号" readonly required :rules="[{ required: true , message:'请输入联行号' }]" v-model="form.payeePaymentLines" input-align="right" label-width="auto"/>
<van-field label="上级清算行" v-model="form.clearingBank" input-align="right" label-width="auto" disabled/>
</div> </div>


<div class="main_box" style="margin-top: 10px;"> <div class="main_box" style="margin-top: 10px;">
@@ -221,7 +222,7 @@
this.bankDepositOptions = [] this.bankDepositOptions = []
for(var i = 0 ; i < response.rows.length ; i++){ for(var i = 0 ; i < response.rows.length ; i++){
this.bankDepositOptions.push({"text":response.rows[i].bankDeposit,"value":response.rows[i].id, this.bankDepositOptions.push({"text":response.rows[i].bankDeposit,"value":response.rows[i].id,
"payeePaymentLines":response.rows[i].payeePaymentLines,"institutionNumber":response.rows[i].institutionNumber});
"payeePaymentLines":response.rows[i].payeePaymentLines,"institutionNumber":response.rows[i].institutionNumber,"clearingBank":response.rows[i].clearingBank});
} }
}); });
}, },
@@ -236,7 +237,7 @@
this.bankDepositOptions = [] this.bankDepositOptions = []
for(var i = 0 ; i < response.rows.length ; i++){ for(var i = 0 ; i < response.rows.length ; i++){
this.bankDepositOptions.push({"text":response.rows[i].bankDeposit,"value":response.rows[i].id, this.bankDepositOptions.push({"text":response.rows[i].bankDeposit,"value":response.rows[i].id,
"payeePaymentLines":response.rows[i].payeePaymentLines,"institutionNumber":response.rows[i].institutionNumber});
"payeePaymentLines":response.rows[i].payeePaymentLines,"institutionNumber":response.rows[i].institutionNumber,"clearingBank":response.rows[i].clearingBank});
} }
}); });
}, },
@@ -244,6 +245,7 @@
this.bankDeposit = data.text this.bankDeposit = data.text
this.form.bankDeposit = data.text this.form.bankDeposit = data.text
this.form.payeePaymentLines = data.payeePaymentLines this.form.payeePaymentLines = data.payeePaymentLines
this.form.clearingBank = data.clearingBank
this.form.alternateField10 = data.institutionNumber this.form.alternateField10 = data.institutionNumber
this.showBankDeposit = false; this.showBankDeposit = false;
this.depositListShow = false; this.depositListShow = false;
@@ -285,7 +287,7 @@
"text":response.rows[i].bankDeposit, "text":response.rows[i].bankDeposit,
"value":response.rows[i].id, "value":response.rows[i].id,
"payeePaymentLines":response.rows[i].payeePaymentLines, "payeePaymentLines":response.rows[i].payeePaymentLines,
"institutionNumber":response.rows[i].institutionNumber
"institutionNumber":response.rows[i].institutionNumber,"clearingBank":response.rows[i].clearingBank
} }
); );
} }


+ 1
- 0
src/views/yinnong/bankAgriculture/collectionAccount/collectionDetail.vue Ver fichero

@@ -17,6 +17,7 @@
<van-field readonly label="所属银行" v-model="bankType" input-align="right" label-width="auto" /> <van-field readonly label="所属银行" v-model="bankType" input-align="right" label-width="auto" />
<van-field readonly label="开户银行" v-model="form.bankDeposit" input-align="right" label-width="auto"/> <van-field readonly label="开户银行" v-model="form.bankDeposit" input-align="right" label-width="auto"/>
<van-field readonly label="联行号" v-model="form.payeePaymentLines" input-align="right" label-width="auto"/> <van-field readonly label="联行号" v-model="form.payeePaymentLines" input-align="right" label-width="auto"/>
<van-field readonly label="上级清算行" v-model="form.clearingBank" input-align="right" label-width="auto"/>
</div> </div>


<div class="main_box" style="margin-top: 10px;"> <div class="main_box" style="margin-top: 10px;">


+ 5
- 3
src/views/yinnong/bankAgriculture/collectionAccount/collectionModify.vue Ver fichero

@@ -63,6 +63,7 @@
/> />
</van-popup> </van-popup>
<van-field label="联行号" readonly required :rules="[{ required: true , message:'请输入联行号' }]" v-model="form.payeePaymentLines" input-align="right" label-width="auto"/> <van-field label="联行号" readonly required :rules="[{ required: true , message:'请输入联行号' }]" v-model="form.payeePaymentLines" input-align="right" label-width="auto"/>
<van-field label="上级清算行" v-model="form.clearingBank" input-align="right" label-width="auto" disabled/>
</div> </div>


<div class="main_box" style="margin-top: 10px;"> <div class="main_box" style="margin-top: 10px;">
@@ -190,7 +191,7 @@
this.bankDepositOptions = [] this.bankDepositOptions = []
for(var i = 0 ; i < response.rows.length ; i++){ for(var i = 0 ; i < response.rows.length ; i++){
this.bankDepositOptions.push({"text":response.rows[i].bankDeposit,"value":response.rows[i].id, this.bankDepositOptions.push({"text":response.rows[i].bankDeposit,"value":response.rows[i].id,
"payeePaymentLines":response.rows[i].payeePaymentLines,"institutionNumber":response.rows[i].institutionNumber});
"payeePaymentLines":response.rows[i].payeePaymentLines,"institutionNumber":response.rows[i].institutionNumber,"clearingBank":response.rows[i].clearingBank});
} }
}); });
}, },
@@ -205,7 +206,7 @@
this.bankDepositOptions = [] this.bankDepositOptions = []
for(var i = 0 ; i < response.rows.length ; i++){ for(var i = 0 ; i < response.rows.length ; i++){
this.bankDepositOptions.push({"text":response.rows[i].bankDeposit,"value":response.rows[i].id, this.bankDepositOptions.push({"text":response.rows[i].bankDeposit,"value":response.rows[i].id,
"payeePaymentLines":response.rows[i].payeePaymentLines,"institutionNumber":response.rows[i].institutionNumber});
"payeePaymentLines":response.rows[i].payeePaymentLines,"institutionNumber":response.rows[i].institutionNumber,"clearingBank":response.rows[i].clearingBank});
} }
}); });
}, },
@@ -213,6 +214,7 @@
this.bankDeposit = data.text this.bankDeposit = data.text
this.form.bankDeposit = data.text this.form.bankDeposit = data.text
this.form.payeePaymentLines = data.payeePaymentLines this.form.payeePaymentLines = data.payeePaymentLines
this.form.clearingBank = data.clearingBank
this.form.alternateField10 = data.institutionNumber this.form.alternateField10 = data.institutionNumber
this.showBankDeposit = false; this.showBankDeposit = false;
this.depositListShow = false; this.depositListShow = false;
@@ -255,7 +257,7 @@
"text":response.rows[i].bankDeposit, "text":response.rows[i].bankDeposit,
"value":response.rows[i].id, "value":response.rows[i].id,
"payeePaymentLines":response.rows[i].payeePaymentLines, "payeePaymentLines":response.rows[i].payeePaymentLines,
"institutionNumber":response.rows[i].institutionNumber
"institutionNumber":response.rows[i].institutionNumber,"clearingBank":response.rows[i].clearingBank
} }
); );
} }


+ 6
- 2
src/views/yinnong/bankAgriculture/paymentAccount/paymentAccountAdd.vue Ver fichero

@@ -181,6 +181,7 @@
/> />
</van-popup> </van-popup>
<van-field label="联行号" v-if="accountType=='银行存款'" :rules="[{ required: true , message:'请输入联行号' }]" v-model="form.paymentLines" placeholder="请输入联行号" input-align="right" label-width="auto" required/> <van-field label="联行号" v-if="accountType=='银行存款'" :rules="[{ required: true , message:'请输入联行号' }]" v-model="form.paymentLines" placeholder="请输入联行号" input-align="right" label-width="auto" required/>
<van-field label="上级清算行" v-model="form.clearingBank" input-align="right" label-width="auto" disabled/>
<van-field <van-field
readonly readonly
clickable clickable
@@ -203,7 +204,7 @@
/> />
</van-popup> </van-popup>
<van-field label="开户银行地址" v-if="accountType=='银行存款'" :rules="[{ required: true , message:'请输入开户银行地址' }]" v-model="form.site" placeholder="请输入开户银行地址" input-align="right" label-width="auto" required/> <van-field label="开户银行地址" v-if="accountType=='银行存款'" :rules="[{ required: true , message:'请输入开户银行地址' }]" v-model="form.site" placeholder="请输入开户银行地址" input-align="right" label-width="auto" required/>
<van-field label="支付口令" v-if="accountType=='银行存款'" name="validator" :rules="[{ validator , message:'支付口令:请输入六位以上数字' }]" v-model="form.accountPassword" placeholder="请输入支付口令" input-align="right" label-width="auto" required/>
<van-field label="支付口令" v-if="accountType=='银行存款'" name="validator" :rules="[{ validator , message:'支付口令至少6个字符,必须包括字母、数字和符号' }]" v-model="form.accountPassword" placeholder="请输入支付口令" input-align="right" label-width="auto" required/>
<van-field label="账户类型" v-if="accountType=='银行存款'" required> <van-field label="账户类型" v-if="accountType=='银行存款'" required>
<template #right-icon> <template #right-icon>
<van-radio-group direction="horizontal" v-model="form.bankAccountType" required :rules="[{ required: true , message:'请选择账户类型' }]"> <van-radio-group direction="horizontal" v-model="form.bankAccountType" required :rules="[{ required: true , message:'请选择账户类型' }]">
@@ -332,7 +333,7 @@
}, },
methods: { methods: {
validator(val){ validator(val){
return /^\d{6,}$/.test(val);
return /^(?=.*\d)(?=.*[a-zA-Z])(?=.*[~!@#$%^&*])[\da-zA-Z~!@#$%^&*]{6,}$/.test(val);
}, },
getDetail(){ getDetail(){
// 账户类型 // 账户类型
@@ -416,6 +417,7 @@
console.log(val) console.log(val)
this.$set(this.form, "bankName", val.text); this.$set(this.form, "bankName", val.text);
this.$set(this.form, "paymentLines", val.payeePaymentLines); this.$set(this.form, "paymentLines", val.payeePaymentLines);
this.$set(this.form, "clearingBank", val.clearingBank);
this.$set(this.form, "alternateField10", val.institutionNumber); this.$set(this.form, "alternateField10", val.institutionNumber);
}, },
onConfirmTaccountId(val){ onConfirmTaccountId(val){
@@ -446,6 +448,7 @@
this.getTaList(); this.getTaList();
this.$set(this.form, "bankName", ''); this.$set(this.form, "bankName", '');
this.$set(this.form, "paymentLines", ''); this.$set(this.form, "paymentLines", '');
this.$set(this.form, "clearingBank", '');
this.bankDepositQueryParams.bankType = val.value; this.bankDepositQueryParams.bankType = val.value;
listDeposit(this.bankDepositQueryParams).then(response => { listDeposit(this.bankDepositQueryParams).then(response => {
this.bankDepositList = response.rows; this.bankDepositList = response.rows;
@@ -507,6 +510,7 @@
"text":response.rows[i].bankDeposit, "text":response.rows[i].bankDeposit,
"value":response.rows[i].id, "value":response.rows[i].id,
"payeePaymentLines":response.rows[i].payeePaymentLines, "payeePaymentLines":response.rows[i].payeePaymentLines,
"clearingBank":response.rows[i].clearingBank,
"institutionNumber":response.rows[i].institutionNumber "institutionNumber":response.rows[i].institutionNumber
} }
); );


Algunos archivos no se mostraron porque demasiados archivos cambiaron en este cambio

Cargando…
Cancelar
Guardar