소스 검색

Merge remote-tracking branch 'origin/master'

wulanhaote
yangfuda 2 년 전
부모
커밋
27b4b8fb05
100개의 변경된 파일28306개의 추가작업 그리고 479개의 파일을 삭제
  1. +85
    -10
      package-lock.json
  2. +2
    -1
      package.json
  3. +318
    -0
      src/api/lawEnforcement/index.js
  4. +51
    -0
      src/api/onlineHome/homestead/circulation.js
  5. +54
    -0
      src/api/onlineHome/homestead/lzspyj.js
  6. +7
    -1
      src/api/onlineHome/homestead/paidExit.js
  7. +71
    -0
      src/api/onlineHome/phfs/phfs.js
  8. +264
    -0
      src/components/Map/MapGisObtain.vue
  9. +69
    -0
      src/components/common/lawNew_footer.vue
  10. +6
    -0
      src/main.js
  11. +1
    -0
      src/permission.js
  12. +670
    -11
      src/router/index.js
  13. +255
    -0
      src/views/lawEnforcement/basis/basis.vue
  14. +100
    -0
      src/views/lawEnforcement/basis/basisDetail.vue
  15. +48
    -7
      src/views/lawEnforcement/case/caseDetail.vue
  16. +697
    -0
      src/views/lawEnforcement/caseAllocation/caseAdd.vue
  17. +230
    -0
      src/views/lawEnforcement/caseAllocation/caseAllocation.vue
  18. +361
    -0
      src/views/lawEnforcement/caseAllocation/caseDetail.vue
  19. +456
    -0
      src/views/lawEnforcement/caseAllocation/caseDistribution.vue
  20. +726
    -0
      src/views/lawEnforcement/caseAllocation/caseEdit.vue
  21. +352
    -0
      src/views/lawEnforcement/caseAllocation/caseEnforceList.vue
  22. +304
    -0
      src/views/lawEnforcement/caseAllocation/caseHistory.vue
  23. +316
    -0
      src/views/lawEnforcement/caseAllocation/caseLawEnforcer.vue
  24. +283
    -0
      src/views/lawEnforcement/caseAllocation/caseListNew.vue
  25. +280
    -0
      src/views/lawEnforcement/caseAllocation/caseReturn.vue
  26. +109
    -0
      src/views/lawEnforcement/caseDistribution/caseDistribution.vue
  27. +211
    -0
      src/views/lawEnforcement/caseQuery/caseQuery.vue
  28. +326
    -0
      src/views/lawEnforcement/caseQuery/caseQueryDocument.vue
  29. +314
    -0
      src/views/lawEnforcement/caseStatistics/caseStatistics.vue
  30. +313
    -0
      src/views/lawEnforcement/index_new.vue
  31. +1
    -1
      src/views/lawEnforcement/login.vue
  32. +254
    -0
      src/views/lawEnforcement/record/caseList.vue
  33. +274
    -0
      src/views/lawEnforcement/record/record.vue
  34. +287
    -0
      src/views/lawEnforcement/record/recordDocument.vue
  35. +159
    -0
      src/views/lawEnforcement/retrospect/retrospect.vue
  36. +297
    -0
      src/views/lawEnforcement/retrospect/retrospectDetail.vue
  37. +277
    -0
      src/views/lawEnforcement/supervise/enterprise.vue
  38. +202
    -0
      src/views/lawEnforcement/supervise/enterpriseDetail.vue
  39. +222
    -0
      src/views/lawEnforcement/supervise/enterpriseRelation.vue
  40. +261
    -0
      src/views/lawEnforcement/supervise/individual.vue
  41. +214
    -0
      src/views/lawEnforcement/supervise/individualDetail.vue
  42. +223
    -0
      src/views/lawEnforcement/supervise/individualRelation.vue
  43. +242
    -0
      src/views/lawEnforcement/task/signInRecord.vue
  44. +313
    -0
      src/views/lawEnforcement/task/task.vue
  45. +344
    -0
      src/views/lawEnforcement/task/taskDetail.vue
  46. +3682
    -0
      src/views/lawEnforcement/task/taskHandle.vue
  47. +162
    -0
      src/views/lawEnforcement/task/taskRecord.vue
  48. +322
    -0
      src/views/lawEnforcement/task/taskSignIn.vue
  49. +271
    -0
      src/views/lawEnforcement/task/taskSignInSee.vue
  50. +285
    -0
      src/views/lawEnforcement/trace/feed.vue
  51. +127
    -0
      src/views/lawEnforcement/trace/feedDetail.vue
  52. +378
    -0
      src/views/lawEnforcement/trace/fertilizer.vue
  53. +134
    -0
      src/views/lawEnforcement/trace/fertilizerDetail.vue
  54. +443
    -0
      src/views/lawEnforcement/trace/pesticides.vue
  55. +144
    -0
      src/views/lawEnforcement/trace/pesticidesDetail.vue
  56. +290
    -0
      src/views/lawEnforcement/trace/product.vue
  57. +131
    -0
      src/views/lawEnforcement/trace/productDetail.vue
  58. +278
    -0
      src/views/lawEnforcement/trace/seed.vue
  59. +151
    -0
      src/views/lawEnforcement/trace/seedDetail.vue
  60. +285
    -0
      src/views/lawEnforcement/trace/veterinary.vue
  61. +130
    -0
      src/views/lawEnforcement/trace/veterinaryDetail.vue
  62. +149
    -0
      src/views/lawEnforcement/userNew/changePassword.vue
  63. +261
    -0
      src/views/lawEnforcement/userNew/user_new.vue
  64. +8
    -4
      src/views/onlineHome/done.vue
  65. +4
    -5
      src/views/onlineHome/homestead/arbitration/arbitrationDetail.vue
  66. +2
    -2
      src/views/onlineHome/homestead/arbitration/arbitrationList.vue
  67. +318
    -101
      src/views/onlineHome/homestead/circulation/circulationAdd.vue
  68. +141
    -24
      src/views/onlineHome/homestead/circulation/circulationDetail.vue
  69. +5
    -5
      src/views/onlineHome/homestead/circulation/circulationList.vue
  70. +267
    -98
      src/views/onlineHome/homestead/circulation/circulationModify.vue
  71. +457
    -0
      src/views/onlineHome/homestead/freeExit/freeExitAdd.vue
  72. +232
    -0
      src/views/onlineHome/homestead/freeExit/freeExitDetail.vue
  73. +162
    -0
      src/views/onlineHome/homestead/freeExit/freeExitList.vue
  74. +309
    -0
      src/views/onlineHome/homestead/freeExit/freeExitModify.vue
  75. +1
    -1
      src/views/onlineHome/homestead/homeApplication/applicationList.vue
  76. +299
    -160
      src/views/onlineHome/homestead/homeApplication/proposerLite.vue
  77. +1
    -2
      src/views/onlineHome/homestead/homesteadUtilize/homesteadUtilizeAdd.vue
  78. +181
    -18
      src/views/onlineHome/homestead/paidExit/paidExitAdd.vue
  79. +49
    -5
      src/views/onlineHome/homestead/paidExit/paidExitDetail.vue
  80. +21
    -5
      src/views/onlineHome/homestead/paidExit/paidExitList.vue
  81. +29
    -18
      src/views/onlineHome/homestead/paidExit/paidExitModify.vue
  82. +479
    -0
      src/views/onlineHome/phfs/czjy/czjyAdd.vue
  83. +450
    -0
      src/views/onlineHome/phfs/czjy/czjyDetails.vue
  84. +160
    -0
      src/views/onlineHome/phfs/czjy/czjyList.vue
  85. +501
    -0
      src/views/onlineHome/phfs/czjy/czjyModify.vue
  86. +479
    -0
      src/views/onlineHome/phfs/hzjy/hzjyAdd.vue
  87. +450
    -0
      src/views/onlineHome/phfs/hzjy/hzjyDetails.vue
  88. +160
    -0
      src/views/onlineHome/phfs/hzjy/hzjyList.vue
  89. +501
    -0
      src/views/onlineHome/phfs/hzjy/hzjyModify.vue
  90. +479
    -0
      src/views/onlineHome/phfs/rgjy/rgjyAdd.vue
  91. +450
    -0
      src/views/onlineHome/phfs/rgjy/rgjyDetails.vue
  92. +160
    -0
      src/views/onlineHome/phfs/rgjy/rgjyList.vue
  93. +501
    -0
      src/views/onlineHome/phfs/rgjy/rgjyModify.vue
  94. +450
    -0
      src/views/onlineHome/phfs/zzjy/zzjyAdd.vue
  95. +432
    -0
      src/views/onlineHome/phfs/zzjy/zzjyDetails.vue
  96. +179
    -0
      src/views/onlineHome/phfs/zzjy/zzjyList.vue
  97. +456
    -0
      src/views/onlineHome/phfs/zzjy/zzjyModify.vue
  98. +450
    -0
      src/views/onlineHome/phfs/zzly/zzlyAdd.vue
  99. +432
    -0
      src/views/onlineHome/phfs/zzly/zzlyDetails.vue
  100. +179
    -0
      src/views/onlineHome/phfs/zzly/zzlyList.vue

+ 85
- 10
package-lock.json 파일 보기

@@ -183,7 +183,6 @@
"version": "1.0.10",
"resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
"integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
"dev": true,
"requires": {
"sprintf-js": "~1.0.2"
}
@@ -1346,6 +1345,34 @@
"integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==",
"dev": true
},
"bmaplib.curveline": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/bmaplib.curveline/-/bmaplib.curveline-1.0.0.tgz",
"integrity": "sha512-9wcFMVhiYxNPqpvsLDAADn3qDhNzXp2mA6VyHSHg2XOAgSooC7ZiujdFhy0sp+0QYjTfJ/MjmLuNoUg2HHxH4Q=="
},
"bmaplib.heatmap": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/bmaplib.heatmap/-/bmaplib.heatmap-1.0.4.tgz",
"integrity": "sha512-rmhqUARBpUSJ9jXzUI2j7dIOqnc38bqubkx/8a349U2qtw/ulLUwyzRD535OrA8G7w5cz4aPKm6/rNvUAarg/Q=="
},
"bmaplib.lushu": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/bmaplib.lushu/-/bmaplib.lushu-1.0.7.tgz",
"integrity": "sha512-LVvgpESPii6xGxyjnQjq8u+ic4NjvhdCPV/RiSS/PGTUdZKeTDS7prSpleJLZH3ES0+oc0gYn8bw0LtPYUSz2w=="
},
"bmaplib.markerclusterer": {
"version": "1.0.13",
"resolved": "https://registry.npmjs.org/bmaplib.markerclusterer/-/bmaplib.markerclusterer-1.0.13.tgz",
"integrity": "sha512-VrLyWSiuDEVNi0yUfwOhFQ6z1oEEHS4w36GNu3iASu6p52QIx9uAXMUkuSCHReNR0bj2Cp9SA1dSx5RpojXajQ==",
"requires": {
"bmaplib.texticonoverlay": "^1.0.2"
}
},
"bmaplib.texticonoverlay": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/bmaplib.texticonoverlay/-/bmaplib.texticonoverlay-1.0.2.tgz",
"integrity": "sha512-4ZTWr4ZP3B6qEWput5Tut16CfZgII38YwM3bpyb4gFTQyORlKYryFp9WHWrwZZaHlOyYDAXG9SX0hka43jTADg=="
},
"bn.js": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.0.tgz",
@@ -3557,12 +3584,12 @@
}
},
"echarts": {
"version": "5.2.2",
"resolved": "https://registry.npmjs.org/echarts/-/echarts-5.2.2.tgz",
"integrity": "sha512-yxuBfeIH5c+0FsoRP60w4De6omXhA06c7eUYBsC1ykB6Ys2yK5fSteIYWvkJ4xJVLQgCvAdO8C4mN6MLeJpBaw==",
"version": "5.3.3",
"resolved": "https://registry.npmjs.org/echarts/-/echarts-5.3.3.tgz",
"integrity": "sha512-BRw2serInRwO5SIwRviZ6Xgm5Lb7irgz+sLiFMmy/HOaf4SQ+7oYqxKzRHAKp4xHQ05AuHw1xvoQWJjDQq/FGw==",
"requires": {
"tslib": "2.3.0",
"zrender": "5.2.1"
"zrender": "5.3.2"
}
},
"ee-first": {
@@ -5867,6 +5894,14 @@
"resolved": "https://registry.npmjs.org/lib-flexible/-/lib-flexible-0.3.2.tgz",
"integrity": "sha1-BvWnSDIxSi01wSA5vJw8otrqpCY="
},
"linkify-it": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-2.2.0.tgz",
"integrity": "sha512-GnAl/knGn+i1U/wjBz3akz2stz+HrHLsxMwHQGofCDfPvlf+gDKN58UtfmUquTY4/MXeE2x7k19KQmeoZi94Iw==",
"requires": {
"uc.micro": "^1.0.1"
}
},
"load-json-file": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz",
@@ -6044,6 +6079,25 @@
"object-visit": "^1.0.0"
}
},
"markdown-it": {
"version": "8.4.2",
"resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-8.4.2.tgz",
"integrity": "sha512-GcRz3AWTqSUphY3vsUqQSFMbgR38a4Lh3GWlHRh/7MRwz8mcu9n2IO7HOh+bXHrR9kOPDl5RNCaEsrneb+xhHQ==",
"requires": {
"argparse": "^1.0.7",
"entities": "~1.1.1",
"linkify-it": "^2.0.0",
"mdurl": "^1.0.1",
"uc.micro": "^1.0.5"
},
"dependencies": {
"entities": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz",
"integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w=="
}
}
},
"math-expression-evaluator": {
"version": "1.3.7",
"resolved": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.3.7.tgz",
@@ -6073,6 +6127,11 @@
"integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==",
"dev": true
},
"mdurl": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
"integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g=="
},
"media-typer": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
@@ -11210,8 +11269,7 @@
"sprintf-js": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
"integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=",
"dev": true
"integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw="
},
"sshpk": {
"version": "1.16.1",
@@ -11702,6 +11760,11 @@
"integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
"dev": true
},
"uc.micro": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz",
"integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA=="
},
"uglify-js": {
"version": "3.4.10",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz",
@@ -12084,6 +12147,18 @@
"resolved": "https://registry.npmjs.org/vue/-/vue-2.6.12.tgz",
"integrity": "sha512-uhmLFETqPPNyuLLbsKz6ioJ4q7AZHzD8ZVFNATNyICSZouqP2Sz0rotWQC8UNBF6VGSCs5abnKJoStA6JbCbfg=="
},
"vue-baidu-map": {
"version": "0.21.22",
"resolved": "https://registry.npmjs.org/vue-baidu-map/-/vue-baidu-map-0.21.22.tgz",
"integrity": "sha512-WQMPCih4UTh0AZCKKH/OVOYnyAWjfRNeK6BIeoLmscyY5aF8zzlJhz/NOHLb3mdztIpB0Z6aohn4Jd9mfCSjQw==",
"requires": {
"bmaplib.curveline": "^1.0.0",
"bmaplib.heatmap": "^1.0.4",
"bmaplib.lushu": "^1.0.7",
"bmaplib.markerclusterer": "^1.0.13",
"markdown-it": "^8.4.0"
}
},
"vue-cookies": {
"version": "1.7.4",
"resolved": "https://registry.npmjs.org/vue-cookies/-/vue-cookies-1.7.4.tgz",
@@ -13508,9 +13583,9 @@
}
},
"zrender": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/zrender/-/zrender-5.2.1.tgz",
"integrity": "sha512-M3bPGZuyLTNBC6LiNKXJwSCtglMp8XUEqEBG+2MdICDI3d1s500Y4P0CzldQGsqpRVB7fkvf3BKQQRxsEaTlsw==",
"version": "5.3.2",
"resolved": "https://registry.npmjs.org/zrender/-/zrender-5.3.2.tgz",
"integrity": "sha512-8IiYdfwHj2rx0UeIGZGGU4WEVSDEdeVCaIg/fomejg1Xu6OifAL1GVzIPHg2D+MyUkbNgPWji90t0a8IDk+39w==",
"requires": {
"tslib": "2.3.0"
}


+ 2
- 1
package.json 파일 보기

@@ -12,7 +12,7 @@
"dependencies": {
"@vant/area-data": "^1.2.2",
"axios": "^0.21.1",
"echarts": "^5.2.2",
"echarts": "^5.3.3",
"element-ui": "^2.15.6",
"font-awesome": "^4.7.0",
"font-awesome.css": "^4.7.2",
@@ -28,6 +28,7 @@
"sass-loader": "^6.0.6",
"vant": "^2.12.8",
"vue": "^2.5.2",
"vue-baidu-map": "^0.21.22",
"vue-cookies": "^1.7.4",
"vue-esign": "^1.0.5",
"vue-router": "^3.0.1",


+ 318
- 0
src/api/lawEnforcement/index.js 파일 보기

@@ -390,3 +390,321 @@ export function updatePersonal(data) {
data: data
})
}
// 查询农业执法-监管对象(个体户)列表
export function listPersonal(query) {
return request({
url: '/enforce/personal/list',
method: 'get',
params: query
})
}
// 查询农业执法-监管对象(个体户)详细
export function getPersonal(id) {
return request({
url: '/enforce/personal/get/' + id,
method: 'get'
})
}
// 查询农业执法-监管对象(企业)列表
export function listCompany(query) {
return request({
url: '/enforce/company/list',
method: 'get',
params: query
})
}
// 查询农业执法-监管对象(企业)详细
export function getCompany(id) {
return request({
url: '/enforce/company/get/' + id,
method: 'get'
})
}
// 根据deptId查询所在地区
export function getDeptName(id) {
return request({
url: '/system/dept/get/' + id,
method: 'get'
})
}
// 执法依据列表查询
export function getNewsList(query) {
return request({
url: '/enforce/website/newsList',
method: 'get',
params: query
})
}
// 查询农用品管理列表
export function listProduct(query) {
return request({
url: '/enforce/product/list',
method: 'get',
params: query
})
}
// 查询种子信息列表
export function listSeed(query) {
return request({
url: '/enforce/seed/list',
method: 'get',
params: query
})
}
// 查询肥料信息列表
export function listFertilizer(query) {
return request({
url: '/enforce/fertilizer/list',
method: 'get',
params: query
})
}
// 查询兽药信息列表
export function listGmp(query) {
return request({
url: '/enforce/gmp/list',
method: 'get',
params: query
})
}
// 查询兽药信息列表
export function listFeed(query) {
return request({
url: '/enforce/feed/list',
method: 'get',
params: query
})
}
// 查询农产品信息列表
export function listAgri(query) {
return request({
url: '/enforce/agri/list',
method: 'get',
params: query
})
}
// 执法依据类型
export function enforceNewsType(query) {
return request({
url: '/enforce/website/data/type/enforce_news_type/002',
method: 'get',
params: query
})
}
// 查询案件勘察列表
export function listSurvey(query) {
return request({
url: '/enforce/survey/list',
method: 'get',
params: query
})
}
// 查询执法人员管理列表
export function listEnforcer(query) {
return request({
url: '/enforce/enforcer/list',
method: 'get',
params: query
})
}
// 修改案件勘察
export function updateSurvey(data) {
return request({
url: '/enforce/survey/edit',
method: 'post',
data: data
})
}
// 新增案件勘察
export function addSurvey(data) {
return request({
url: '/enforce/survey/add',
method: 'post',
data: data
})
}
// 案件退回,从勘察退回至登记
export function returnCase(data) {
return request({
url: '/enforce/case/returnCase',
method: 'post',
data: data
})
}

// 案件退回,从勘察退回至登记
export function addCase(data) {
return request({
url: '/enforce/case/add',
method: 'post',
data: data
})
}
// 新增执法进度历史
export function addProgress(data) {
return request({
url: '/enforce/progress/add',
method: 'post',
data: data
})
}
// 任务查看列表
export function caseTasklist(query) {
return request({
url: '/enforce/case/caseTasklist',
method: 'get',
params: query
})
}
//上传全局方法附件
export function commonUpload(data) {
return request({
url: '/common/upload',
method: 'post',
header: { "Content-Type": 'application/x-www-form-urlencoded' },
data: data
})
}
// 新增勘察打卡
export function addClockin(data) {
return request({
url: '/enforce/clockin/add',
method: 'post',
data: data
})
}
// 查询勘察打卡列表
export function clockinList(query) {
return request({
url: '/enforce/clockin/list',
method: 'get',
params: query
})
}
// 查询勘察打卡详情
export function clockinGet(id) {
return request({
url: '/enforce/clockin/get/'+ id,
method: 'get',
})
}
// 已上传文件列表查询
export function attachmentList(query) {
return request({
url: '/enforce/progress/attachmentList',
method: 'get',
params: query
})
}
// 各个节点附件上传保存方法
export function attachmentEdit(data) {
return request({
url: '/enforce/progress/attachmentEdit',
method: 'post',
data: data
})
}
// 修改案件登记
export function updateCase(data) {
return request({
url: '/enforce/case/edit',
method: 'post',
data: data
})
}
// 新增农业执法-案件-备案信息
export function addOnrecord(data) {
return request({
url: '/enforce/onrecord/add',
method: 'post',
data: data
})
}
// 新增立案信息
export function addPutrecord(data) {
return request({
url: '/enforce/putrecord/add',
method: 'post',
data: data
})
}

// 修改立案信息
export function updatePutrecord(data) {
return request({
url: '/enforce/putrecord/edit',
method: 'post',
data: data
})
}

// 新增抽样信息
export function addSampling(data) {
return request({
url: '/enforce/sampling/add',
method: 'post',
data: data
})
}

// 修改抽样信息
export function updateSampling(data) {
return request({
url: '/enforce/sampling/edit',
method: 'post',
data: data
})
}

// 新增农业执法-案件-取证信息
export function addEvidence(data) {
return request({
url: '/enforce/evidence/add',
method: 'post',
data: data
})
}

// 修改农业执法-案件-取证信息
export function updateEvidence(data) {
return request({
url: '/enforce/evidence/edit',
method: 'post',
data: data
})
}

// 查询处理流程关联办理人员列表
export function caseHandlerList(query) {
return request({
url: '/enforce/caseHandler/caseHandlerList',
method: 'get',
params: query
})
}

// 删除案件登记
export function delCase(id) {
return request({
url: '/enforce/case/remove/' + id,
method: 'get'
})
}

// 执法人员签到次数查询
export function enforceLockinCount(query) {
return request({
url: '/enforce/clockin/enforceLockinCount',
method: 'get',
params: query
})
}

// 查询案件编号
export function getCaseNum(query) {
return request({
url: '/enforce/survey/getCaseNum',
method: 'get',
params: query
})
}

+ 51
- 0
src/api/onlineHome/homestead/circulation.js 파일 보기

@@ -32,6 +32,48 @@ export function zjdzd(){
method:'get'
})
}
//通过宅基地编码查询宅基地信息
export function queryGeoZjdzd(query) {
return request({
url: '/house/lz/queryGeoZjdzd',
method: 'get',
params: query
})
}

//宅基地退出申请人信息
export function getExitProposerDetail() {
return request({
url: '/house/mobile/exit/proposer',
method: 'get'
})
}

// 查询权利人列表
export function obligeeList(query) {
return request({
url: '/house/obligee/obligeeHouselist',
method: 'get',
params: query
})
}

// 条件查询使用权人列表
export function selectTHouseBaseObligeeMapList(query) {
return request({
url: '/house/obligee/selectTHouseBaseObligeeMapList',
method: 'get',
params: query
})
}

export function getObligeeList(query) {
return request({
url: '/house/obligee/selectObligeeListByName',
method: 'get',
params: query
})
}

//权利人代码
export function getByZjddm(data){
@@ -84,3 +126,12 @@ export function getByLyZjddm(data){
method:'get',
})
}

//宅基地使用权流转农户查询
export function queryHouserBaseNh(query) {
return request({
url: '/house/lz/queryHouserBaseNh',
method: 'get',
params: query
})
}

+ 54
- 0
src/api/onlineHome/homestead/lzspyj.js 파일 보기

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

// 查询宅基地使用权流转审批列表
export function listLzspyj(query) {
return request({
url: '/house/lzspyj/list',
method: 'get',
params: query
})
}

// 导出宅基地使用权流转审批
export function exportLzspyj(query) {
return request({
url: '/house/lzspyj/export',
method: 'get',
params: query
})
}

// 查询宅基地使用权流转审批详细
export function getLzspyj(id) {
return request({
url: '/house/lzspyj/get/' + id,
method: 'get'
})
}

// 新增宅基地使用权流转审批
export function addLzspyj(data) {
return request({
url: '/house/lzspyj/add',
method: 'post',
data: data
})
}

// 修改宅基地使用权流转审批
export function updateLzspyj(data) {
return request({
url: '/house/lzspyj/edit',
method: 'post',
data: data
})
}

// 删除宅基地使用权流转审批
export function delLzspyj(id) {
return request({
url: '/house/lzspyj/remove/' + id,
method: 'get'
})
}


+ 7
- 1
src/api/onlineHome/homestead/paidExit.js 파일 보기

@@ -44,9 +44,15 @@ export function zyyctcEdit(data){
}

//宅基地流转提交
export function zyyctcApply(id){
/*export function zyyctcApply(id){
return request({
url:'/house/zyyctc/submitApply/'+id,
method:'post',
})
}*/
export function zyyctcApply(id){
return request({
url:'/house/zyyctc/paidExitSubmitApply/'+id,
method:'post',
})
}

+ 71
- 0
src/api/onlineHome/phfs/phfs.js 파일 보기

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

//查询列表
export function getList(data){
return request({
url:'/house/phxxb/list',
method:'get',
params:data
})

}
// 宅基地盘活信息统计
export function utilizeStatistics(query) {
return request({
url: '/house/phxxb/utilizeStatistics',
method: 'get',
params: query
})
}

// 导出宅基地盘活信息
export function exportPhxxb(query) {
return request({
url: '/house/phxxb/export',
method: 'get',
params: query
})
}

// 查询宅基地盘活信息详细
export function getPhxxb(id) {
return request({
url: '/house/phxxb/get/' + id,
method: 'get'
})
}

// 新增宅基地盘活信息
export function addPhxxb(data) {
return request({
url: '/house/phxxb/add',
method: 'post',
data: data
})
}

// 修改宅基地盘活信息
export function updatePhxxb(data) {
return request({
url: '/house/phxxb/edit',
method: 'post',
data: data
})
}

// 删除宅基地盘活信息
export function delPhxxb(id) {
return request({
url: '/house/phxxb/remove/' + id,
method: 'get'
})
}

//通过宅基地编码查询宅基地信息
export function queryGeoZjdzd(query) {
return request({
url: '/house/lz/queryGeoZjdzd',
method: 'get',
params: query
})
}

+ 264
- 0
src/components/Map/MapGisObtain.vue 파일 보기

@@ -0,0 +1,264 @@
<template>
<div>
<p class="fuTitle">地块位置</p>
<div id="full-screen-acceptance" style="width: 100%;height:45vh;position:relative;">
<div :id=this.uuidMap style="width: 100%;height: 100%"></div>
</div>
<!-- <div id="info" > <button type="button" @click="showHistoryDown">保 存</button></div>-->
</div>
</template>

<script>
import {getQueryLand} from "@/api/homesteadSurvey/zjdzd";
import {selectTHouseBaseObligeeMapList} from "@/api/onlineHome/homestead/circulation";
import {getByLyZjddm } from "@/api/onlineHome/homestead/circulation";
import $ from "jquery";

export default {
components: {
getQueryLand,getByLyZjddm
},
data() {
return {
uuidMap: this.guidProduct(),
map:this.guidProduct(),
showHistoryTable: false,
closeMoule: null,
};
},
props: ['theGeom','shqrxm'],
methods: {
//地图加载
guidProduct(){
return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
var r = Math.random() * 16 | 0,
v = c == 'x' ? r : (r & 0x3 | 0x8);
return v.toString(16);
});
},
//地图查看
drawingLyPaceCountryDarw() {
//加载地图编辑
var that = this;
console.info(this.shqrxm);
selectTHouseBaseObligeeMapList({shyqrdbxm:this.shqrxm}).then((response) => {
if (response.code == 200) {

document.getElementById(that.uuidMap).innerHTML = '';
var hc_land;
var projection = new ol.proj.Projection({
//地图投影类型
code: "EPSG:3857",
units: "degrees",
//extent:extent
});

var aerial = new ol.layer.Tile({
source: new ol.source.XYZ({
url: "http://t{0-7}.tianditu.com/img_w/wmts?" +
"SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles" +
"&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=cc4aba6e967096098249efa069733067",
}),
isGroup: true,
name: "卫星影像图",
resolution:Math.random() * 0.00000001
});

var yingxzi = new ol.layer.Tile({
source: new ol.source.XYZ({
url: "http://t{0-7}.tianditu.com/DataServer?T=cia_w&x={x}&y={y}&l={z}&tk=cc4aba6e967096098249efa069733067",
}),
isGroup: true,
name: "天地图文字标注--卫星影像图",
resolution:Math.random() * 0.00000001
});
//加载地图
that.map = new ol.Map({
controls: ol.control.defaults({attribution: false, zoom: false, rotate: false}).extend([]), //隐藏放大缩小按钮
layers: [aerial, yingxzi],
projection: projection,
target: that.uuidMap,
view: new ol.View({
//center: ol.proj.fromLonLat([115.452752, 31.789033]),
zoom: 15,
minZoom: 5, //地图缩小限制
maxZoom: 18.3, //地图放大限制
}),
interactions: ol.interaction.defaults({
pinchRotate: false // 移动端禁止地图旋转
}),
//view: new ol.View({ol.view.getResolution() + Math.random() * 0.00000001)});//随机数缩放实现刷新
});
if (response.data.length > 0) {
//setTimeout(() => {
for (var i = 0; response.data.length > i; i++) {
//图层查询定位开始 ---------start
console.log( response.data[i].zjdzd.theGeom);
hc_land = new ol.layer.Vector({
title: "add Layer",
source: new ol.source.Vector({
projection: projection,
features: new ol.format.GeoJSON().readFeatures("{\n" +
" \"type\": \"Feature\",\n" +
" \"geometry\":" + response.data[i].zjdzd.theGeom + ", " +
" \"properties\":" + JSON.stringify(response.data[i]) + "}"),
}),
resolution:Math.random() * 0.00000001,
style: new ol.style.Style({
fill: new ol.style.Fill({
//矢量图层填充颜色,以及透明度
color: "rgba(204, 255, 204,0.3)",
}),
stroke: new ol.style.Stroke({
//边界样式
color: "#CCFF66",
width: 3,
}),
}),
});
that.map.addLayer(hc_land);
var maxXMap = hc_land.values_.source.featuresRtree_.rbush_.data.maxX;
var maxYMap = hc_land.values_.source.featuresRtree_.rbush_.data.maxY;
var minXMap = hc_land.values_.source.featuresRtree_.rbush_.data.minX;
var minYMap = hc_land.values_.source.featuresRtree_.rbush_.data.minY;
//定位查询位置
var center = ol.extent.getCenter([maxXMap, maxYMap, minXMap, minYMap]); //获取边界区域的中心位置
that.map.getView().animate({
// 只设置需要的属性即可
center: center, // 中心点
zoom: 16.9, // 缩放级别
rotation: undefined, // 缩放完成view视图旋转弧度
duration: 1000, // 缩放持续时间,默认不需要设置
resolution:Math.random() * 0.00000001,
});
}
} else { // 加载全部地图,不带宅基地图斑
let deptName = this.$store.state.user.loginDeptId + "";
getQueryLand(deptName).then((response) => {
if (response.code == 200) {
let InsertCode = response.data;
if (InsertCode != null) {
let lat = InsertCode.lat;
let lng = InsertCode.lng;
let center;
if(lat !=null && lng !=null && lat !="" && lng !=""){
center = [lng,lat];
}else {
center = [115.452752, 31.789033];
}
that.map.getView().animate({
// 只设置需要的属性即可
center: ol.proj.fromLonLat(center), // 中心点
zoom: 17.9, // 缩放级别
rotation: undefined, // 缩放完成view视图旋转弧度
duration: 1000, // 缩放持续时间,默认不需要设置
});
}
}
});
}
var geo_zjdzd;
that.map.on("singleclick", function (evt) {
let feature = that.map.forEachFeatureAtPixel(
evt.pixel,
(feature) => feature
);
//document.getElementById(that.uuidMap).innerHTML = '';
if (feature && (feature !==undefined)) {
that.map.removeLayer(geo_zjdzd);
var aleft = [];
for(var i=0;i<feature.values_.geometry.flatCoordinates.length;i++){
aleft.push("["+feature.values_.geometry.flatCoordinates[i]+","+feature.values_.geometry.flatCoordinates[i+1] +"]")
i = i+1;
}
var aright = "[[["+aleft +"]]]";
var geoThegeom = "{\"type\": \"MultiPolygon\", \"coordinates\": "+aright + "}";
this.closeMoule= null;
//图层查询定位开始 ---------start
geo_zjdzd = new ol.layer.Vector({
title: "add Layer",
source: new ol.source.Vector({
projection: projection,
features: new ol.format.GeoJSON().readFeatures("{\n" +
" \"type\": \"Feature\",\n" +
" \"geometry\":" + geoThegeom + "}"),
}),
resolution:Math.random() * 0.00000001,
style: new ol.style.Style({
fill: new ol.style.Fill({
//矢量图层填充颜色,以及透明度
color: "rgb(204, 255, 255,0.5)",
}),
stroke: new ol.style.Stroke({
//边界样式
color: "#00FFFF",
width: 3,
}),
}),
});
that.map.addLayer(geo_zjdzd);
//that.closeMoule = feature.values_.zjddm;
that.$emit('closeMoule', feature.values_.zjddm);
var maxXMap = geo_zjdzd.values_.source.featuresRtree_.rbush_.data.maxX;
var maxYMap = geo_zjdzd.values_.source.featuresRtree_.rbush_.data.maxY;
var minXMap = geo_zjdzd.values_.source.featuresRtree_.rbush_.data.minX;
var minYMap = geo_zjdzd.values_.source.featuresRtree_.rbush_.data.minY;
//定位查询位置
var center = ol.extent.getCenter([maxXMap, maxYMap, minXMap, minYMap]); //获取边界区域的中心位置
that.map.getView().animate({
// 只设置需要的属性即可
center: center, // 中心点
zoom: 16.9, // 缩放级别
rotation: undefined, // 缩放完成view视图旋转弧度
duration: 1000, // 缩放持续时间,默认不需要设置
resolution:Math.random() * 0.00000001,
});

}
});
}
});
},
showHistoryDown() {
this.showHistoryTable = false;
this.$emit('closeMoule', this.closeMoule);
this.closeMoule = null;
},
},
watch: {},
};
</script>

<style scoped>
#that.message {
width: 100%;
height: 100%;
}
.fuTitle {
border-top: 1px solid #e9e9e9;
text-align: center;
padding: 10px 0px 0px 0px;
font-size: 36px;
color: #999;
}
.ant-btn-red {
position: relative;
display: inline-block;
background: #D0EEFF;
border: 1px solid #99D3F5;
border-radius: 4px;
padding: 4px 12px;
overflow: hidden;
color: #1E88C7;
text-decoration: none;
text-indent: 0;
line-height: 20px;

}
#land-btn-wrap{
position: absolute;
right: 3%;
top: 5%;
z-index: 2000;
}
</style>

+ 69
- 0
src/components/common/lawNew_footer.vue 파일 보기

@@ -0,0 +1,69 @@
<template>
<div>
<router-view />
<van-tabbar route :placeholder="true" >
<van-tabbar-item replace to="/lawEnforcement/index_new">
首页
<template #icon="props">
<img :src="props.active ? '../../../static/images/lawEnforcement/new/tab_04.png' : '../../../static/images/lawEnforcement/new/tab_00.png'" />
</template>
</van-tabbar-item>
<van-tabbar-item replace to="/lawEnforcement/retrospect">
追溯
<template #icon="props">
<img :src="props.active ? '../../../static/images/lawEnforcement/new/tab_05.png' : '../../../static/images/lawEnforcement/new/tab_01.png'" />
</template>
</van-tabbar-item>
<van-tabbar-item replace to="/lawEnforcement/caseList">
监控
<template #icon="props">
<img :src="props.active ? '../../../static/images/lawEnforcement/new/tab_06.png' : '../../../static/images/lawEnforcement/new/tab_02.png'" />
</template>
</van-tabbar-item>
<van-tabbar-item replace to="/lawEnforcement/user_new">
我的
<template #icon="props">
<img :src="props.active ? '../../../static/images/lawEnforcement/new/tab_07.png' : '../../../static/images/lawEnforcement/new/tab_03.png'" />
</template>
</van-tabbar-item>
</van-tabbar>
</div>
</template>
<script>
import { getUserProfile } from "@/api/lawEnforcement/index";
export default {
name: "lawNew",
data() {
return {
active: 0,
tabShow: true,
};
},
created() {
// v-if="tabShow"
// getUserProfile().then(response => {
// if (response.data.roles.length < 1){
// this.tabShow = false;
// }else{
// response.data.roles.forEach(res=>{
// if(res.roleKey == 'personal_user' || res.roleKey == 'company_user'){
// this.tabShow = false;
// }else{
// this.tabShow = true;
// }
// })
// }
// });
},
methods: {

},
};
</script>

<style scoped >

.van-tabbar{
height:1.5rem;
}
</style>

+ 6
- 0
src/main.js 파일 보기

@@ -14,6 +14,8 @@ import SearchTree from 'vue-search-tree'
import VueHtml5Editor from 'vue-html5-editor'
import "font-awesome/css/font-awesome.css"
import VueCookies from 'vue-cookies'
//引用百度地图
import BaiduMap from 'vue-baidu-map'
Vue.use(VueCookies);
import global from '@/utils/global';

@@ -40,6 +42,10 @@ import Vant from 'vant';
import 'vant/lib/index.css';
Vue.use(Vant)
Vue.use(SearchTree)
Vue.use(BaiduMap, {
/* Visit http://lbsyun.baidu.com/apiconsole/key for details about app key. */
ak: 'XzwOBaO4CElCsPdl8LIFEvv5rTemG6w1'
})
Vue.use(VueHtml5Editor,{
// 全局组件名称,使用new VueHtml5Editor(options)时该选项无效
// global component name


+ 1
- 0
src/permission.js 파일 보기

@@ -127,6 +127,7 @@ const whiteList = [
'/sunVillage_info/list_vote', //详情页
'/sunVillage_info/list_vote_detail', //详情页
'/sunVillage_info/list_vote_form', //详情页

]

router.beforeEach((to, from, next) => {


+ 670
- 11
src/router/index.js 파일 보기

@@ -753,6 +753,15 @@ export const constantRoutes = [
},
component: (resolve) => require(['@/views/onlineHome/homestead/paidExit/paidExitList'], resolve)
},
{
path: '/freeExit',
name: 'freeExit',
meta: {
title: '无偿退出',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/homestead/freeExit/freeExitList'], resolve)
},
{
path: '/paidExitAdd',
name: 'paidExitAdd',
@@ -762,6 +771,15 @@ export const constantRoutes = [
},
component: (resolve) => require(['@/views/onlineHome/homestead/paidExit/paidExitAdd'], resolve)
},
{
path: '/freeExitAdd',
name: 'freeExitAdd',
meta: {
title: '无偿退出',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/homestead/freeExit/freeExitAdd'], resolve)
},
{
path: '/mortgage',
name: 'mortgage',
@@ -897,6 +915,15 @@ export const constantRoutes = [
},
component: (resolve) => require(['@/views/onlineHome/homestead/paidExit/paidExitDetail'], resolve)
},
{
path: '/freeExitDetail',
name: 'freeExitDetail',
meta: {
title: '无偿退出详情',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/homestead/freeExit/freeExitDetail'], resolve)
},
{
path: '/paidExitModify',
name: 'paidExitModify',
@@ -906,6 +933,15 @@ export const constantRoutes = [
},
component: (resolve) => require(['@/views/onlineHome/homestead/paidExit/paidExitModify'], resolve)
},
{
path: '/freeExitModify',
name: 'freeExitModify',
meta: {
title: '无偿退出修改',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/homestead/freeExit/freeExitModify'], resolve)
},
{
path: '/paidUtilizeList',
name: 'paidUtilizeList',
@@ -942,6 +978,186 @@ export const constantRoutes = [
},
component: (resolve) => require(['@/views/onlineHome/homestead/paidUtilize/paidUtilizeAdd'], resolve)
},
{
path: '/zzjyList',
name: 'zzjyList',
meta: {
title: '自主经营列表',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/phfs/zzjy/zzjyList'], resolve)
},
{
path: '/zzjyAdd',
name: 'zzjyAdd',
meta: {
title: '添加自主经营',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/phfs/zzjy/zzjyAdd'], resolve)
},
{
path: '/zzjyDetails',
name: 'zzjyDetails',
meta: {
title: '自主经营',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/phfs/zzjy/zzjyDetails'], resolve)
},
{
path: '/zzjyModify',
name: 'zzjyModify',
meta: {
title: '修改自主经营',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/phfs/zzjy/zzjyModify'], resolve)
},
{
path: '/czjyList',
name: 'czjyList',
meta: {
title: '出租经营列表',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/phfs/czjy/czjyList'], resolve)
},
{
path: '/czjyAdd',
name: 'czjyAdd',
meta: {
title: '添加出租经营',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/phfs/czjy/czjyAdd'], resolve)
},
{
path: '/czjyModify',
name: 'czjyModify',
meta: {
title: '修改出租经营',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/phfs/czjy/czjyModify'], resolve)
},
{
path: '/czjyDetails',
name: 'czjyDetails',
meta: {
title: '出租经营',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/phfs/czjy/czjyDetails'], resolve)
},
{
path: '/rgjyList',
name: 'rgjyList',
meta: {
title: '入股经营列表',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/phfs/rgjy/rgjyList'], resolve)
},
{
path: '/rgjyAdd',
name: 'rgjyAdd',
meta: {
title: '添加入股经营',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/phfs/rgjy/rgjyAdd'], resolve)
},
{
path: '/rgjyModify',
name: 'rgjyModify',
meta: {
title: '修改入股经营',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/phfs/rgjy/rgjyModify'], resolve)
},
{
path: '/rgjyDetails',
name: 'rgjyDetails',
meta: {
title: '入股经营',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/phfs/rgjy/rgjyDetails'], resolve)
},
{
path: '/hzjyList',
name: 'hzjyList',
meta: {
title: '合作经营列表',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/phfs/hzjy/hzjyList'], resolve)
},
{
path: '/hzjyAdd',
name: 'hzjyAdd',
meta: {
title: '添加合作经营',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/phfs/hzjy/hzjyAdd'], resolve)
},
{
path: '/hzjyModify',
name: 'hzjyModify',
meta: {
title: '修改合作经营',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/phfs/hzjy/hzjyModify'], resolve)
},
{
path: '/hzjyDetails',
name: 'hzjyDetails',
meta: {
title: '合作经营',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/phfs/hzjy/hzjyDetails'], resolve)
},
{
path: '/zzlyList',
name: 'zzlyList',
meta: {
title: '整治利用列表',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/phfs/zzly/zzlyList'], resolve)
},
{
path: '/zzlyAdd',
name: 'zzlyAdd',
meta: {
title: '添加整治利用',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/phfs/zzly/zzlyAdd'], resolve)
},
{
path: '/zzlyModify',
name: 'zzlyModify',
meta: {
title: '修改整治利用',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/phfs/zzly/zzlyModify'], resolve)
},
{
path: '/zzlyDetails',
name: 'zzlyDetails',
meta: {
title: '整治利用',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/phfs/zzly/zzlyDetails'], resolve)
},
{
path: '/task',
name: 'task',
@@ -2143,15 +2359,15 @@ export const constantRoutes = [
},
component: (resolve) => require(['@/views/lawEnforcement/index'], resolve)
},
{
path: '/lawEnforcement/caseList',
name: 'caseList',
meta: {
title: '案件',
hidden: true,
},
component: (resolve) => require(['@/views/lawEnforcement/case/caseList'], resolve)
},
// {
// path: '/lawEnforcement/caseList',
// name: 'caseList',
// meta: {
// title: '案件',
// hidden: true,
// },
// component: (resolve) => require(['@/views/lawEnforcement/case/caseList'], resolve)
// },
{
path: '/lawEnforcement/productsList',
name: 'caseList',
@@ -2795,7 +3011,7 @@ export const constantRoutes = [
path: '/onlineHome/arbitrationList',
name: 'arbitrationList',
meta: {
title: '纠纷调',
title: '纠纷调',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/homestead/arbitration/arbitrationList'], resolve)
@@ -2804,7 +3020,7 @@ export const constantRoutes = [
path: '/onlineHome/arbitrationDetail',
name: 'arbitrationDetail',
meta: {
title: '纠纷调',
title: '纠纷调',
hidden: true,
},
component: (resolve) => require(['@/views/onlineHome/homestead/arbitration/arbitrationDetail'], resolve)
@@ -3214,6 +3430,449 @@ export const constantRoutes = [
hidden: true,
},
component: (resolve) => require(['@/views/sunVillage_info/index_code_rights'], resolve)
},
{ ////农业综合行政执法公众平台
path: '/lawEnforcement/index_new',
name: 'lawEnforcementIndexNew',
meta: {
title: '农业综合行政执法公众平台',
hidden: true,
},
component: (resolve) => require(['@/views/lawEnforcement/index_new'], resolve)
},
{ ////农业执法(新)-- 案件分配
path: '/lawEnforcement/caseAllocation',
name: 'lawEnforcementCaseAllocation',
meta: {
title: '案件分配',
hidden: true,
},
component: (resolve) => require(['@/views/lawEnforcement/caseAllocation/caseAllocation'], resolve)
},
{ ////农业执法(新)-- 历史任务
path: '/lawEnforcement/caseHistory',
name: 'lawEnforcementCaseHistory',
meta: {
title: '历史任务',
hidden: true,
},
component: (resolve) => require(['@/views/lawEnforcement/caseAllocation/caseHistory'], resolve)
},
{ ////农业执法(新)-- 查看登记
path: '/lawEnforcement/caseDetailNew',
name: 'lawEnforcementCaseDetailNew',
meta: {
title: '查看登记',
hidden: true,
},
component: (resolve) => require(['@/views/lawEnforcement/caseAllocation/caseDetail'], resolve)
},
{ ////农业执法(新)-- 分配案件
path: '/lawEnforcement/caseDistribution',
name: 'lawEnforcementCaseDistribution',
meta: {
title: '分配案件',
hidden: true,
keepAlive: true
},
component: (resolve) => require(['@/views/lawEnforcement/caseAllocation/caseDistribution'], resolve)
},
{ ////农业执法(新)-- 执行人员
path: '/lawEnforcement/caseLawEnforcer',
name: 'lawEnforcementCaseLawEnforcer',
meta: {
title: '执行人员',
hidden: true,
},
component: (resolve) => require(['@/views/lawEnforcement/caseAllocation/caseLawEnforcer'], resolve)
},
{ ////农业执法(新)-- 退回案件
path: '/lawEnforcement/caseReturn',
name: 'lawEnforcementCaseReturn',
meta: {
title: '退回案件',
hidden: true,
},
component: (resolve) => require(['@/views/lawEnforcement/caseAllocation/caseReturn'], resolve)
},
{ ////农业执法(新)-- 任务查看
path: '/lawEnforcement/task',
name: 'lawEnforcementTask',
meta: {
title: '任务查看',
hidden: true,
},
component: (resolve) => require(['@/views/lawEnforcement/task/task'], resolve)
},
{ ////农业执法(新)-- 查看登记案件
path: '/lawEnforcement/taskDetail',
name: 'lawEnforcementTaskDetail',
meta: {
title: '查看登记案件',
hidden: true,
},
component: (resolve) => require(['@/views/lawEnforcement/task/taskDetail'], resolve)
},
{ ////农业执法(新)-- 执法打卡
path: '/lawEnforcement/taskSignIn',
name: 'lawEnforcementTaskSignIn',
meta: {
title: '执法打卡',
hidden: true,
},
component: (resolve) => require(['@/views/lawEnforcement/task/taskSignIn'], resolve)
},
{ ////农业执法(新)-- 签到记录
path: '/lawEnforcement/taskRecord',
name: 'lawEnforcementTaskRecord',
meta: {
title: '签到记录',
hidden: true,
},
component: (resolve) => require(['@/views/lawEnforcement/task/taskRecord'], resolve)
},
{ ////农业执法(新)-- 现场检查(勘察)笔录
path: '/lawEnforcement/record',
name: 'lawEnforcementRecord',
meta: {
title: '现场检查(勘察)笔录',
hidden: true,
},
component: (resolve) => require(['@/views/lawEnforcement/record/record'], resolve)
},
{ ////农业执法(新)-- 案件列表
path: '/lawEnforcement/caseList',
name: 'lawEnforcementCaseList',
meta: {
title: '案件列表',
hidden: true,
},
component: (resolve) => require(['@/views/lawEnforcement/record/caseList'], resolve)
},
{ ////农业执法(新)-- 文书打印
path: '/lawEnforcement/recordDocument',
name: 'lawEnforcementRecordDocument',
meta: {
title: '文书打印',
hidden: true,
},
component: (resolve) => require(['@/views/lawEnforcement/record/recordDocument'], resolve)
},
{ ////农业执法(新)-- 案件查询
path: '/lawEnforcement/caseQuery',
name: 'lawEnforcementCaseQuery',
meta: {
title: '案件查询',
hidden: true,
},
component: (resolve) => require(['@/views/lawEnforcement/caseQuery/caseQuery'], resolve)
},
{ ////农业执法(新)-- 归档详情
path: '/lawEnforcement/caseQueryDocument',
name: 'lawEnforcementCaseQueryDocument',
meta: {
title: '归档详情',
hidden: true,
},
component: (resolve) => require(['@/views/lawEnforcement/caseQuery/caseQueryDocument'], resolve)
},
{ ////农业执法(新)-- 案件统计
path: '/lawEnforcement/caseStatistics',
name: 'lawEnforcementCaseStatistics',
meta: {
title: '案件统计',
hidden: true,
},
component: (resolve) => require(['@/views/lawEnforcement/caseStatistics/caseStatistics'], resolve)
},
{ ////农业执法(新)-- 案件分布
path: '/lawEnforcement/caseDistributionMap',
name: 'lawEnforcementCaseDistributionMap',
meta: {
title: '案件分布',
hidden: true,
},
component: (resolve) => require(['@/views/lawEnforcement/caseDistribution/caseDistribution'], resolve)
},
{ ////农业执法(新)-- 个体商户
path: '/lawEnforcement/individual',
name: 'lawEnforcementIndividual',
meta: {
title: '个体商户',
hidden: true,
},
component: (resolve) => require(['@/views/lawEnforcement/supervise/individual'], resolve)
},
{ ////农业执法(新)-- 查看个体工商户
path: '/lawEnforcement/individualDetail',
name: 'lawEnforcementIndividualDetail',
meta: {
title: '查看个体工商户',
hidden: true,
},
component: (resolve) => require(['@/views/lawEnforcement/supervise/individualDetail'], resolve)
},
{ ////农业执法(新)-- 关联案件
path: '/lawEnforcement/individualRelation',
name: 'lawEnforcementIndividualRelation',
meta: {
title: '关联案件',
hidden: true,
},
component: (resolve) => require(['@/views/lawEnforcement/supervise/individualRelation'], resolve)
},
{ ////农业执法(新)-- 企业商户
path: '/lawEnforcement/enterprise',
name: 'lawEnforcementEnterprise',
meta: {
title: '企业商户',
hidden: true,
},
component: (resolve) => require(['@/views/lawEnforcement/supervise/enterprise'], resolve)
},
{ ////农业执法(新)-- 查看企业商户
path: '/lawEnforcement/enterpriseDetail',
name: 'lawEnforcementEnterpriseDetail',
meta: {
title: '查看企业商户',
hidden: true,
},
component: (resolve) => require(['@/views/lawEnforcement/supervise/enterpriseDetail'], resolve)
},
{ ////农业执法(新)-- 关联案件
path: '/lawEnforcement/enterpriseRelation',
name: 'lawEnforcementEnterpriseRelation',
meta: {
title: '关联案件',
hidden: true,
},
component: (resolve) => require(['@/views/lawEnforcement/supervise/enterpriseRelation'], resolve)
},
{ ////农业执法(新)-- 电子追溯
path: '/lawEnforcement/retrospect',
name: 'lawEnforcementRetrospect',
meta: {
title: '电子追溯',
hidden: true,
},
component: (resolve) => require(['@/views/lawEnforcement/retrospect/retrospect'], resolve)
},
{ ////农业执法(新)-- 执法依据
path: '/lawEnforcement/basis',
name: 'lawEnforcementBasis',
meta: {
title: '执法依据',
hidden: true,
},
component: (resolve) => require(['@/views/lawEnforcement/basis/basis'], resolve)
},
{ ////农业执法(新)-- 执法依据
path: '/lawEnforcement/basisDetail',
name: 'lawEnforcementBasisDetail',
meta: {
title: '查看执法依据',
hidden: true,
},
component: (resolve) => require(['@/views/lawEnforcement/basis/basisDetail'], resolve)
},
{ ////农业执法(新)-- 种子扫描
path: '/lawEnforcement/retrospectDetail',
name: 'lawEnforcementRetrospectDetail',
meta: {
title: '种子扫描',
hidden: true,
},
component: (resolve) => require(['@/views/lawEnforcement/retrospect/retrospectDetail'], resolve)
},
{ ////农业执法(新)-- 我的
path: '/lawEnforcement/user_new',
name: 'lawEnforcementUserNew',
meta: {
title: '我的',
hidden: true,
},
component: (resolve) => require(['@/views/lawEnforcement/userNew/user_new'], resolve)
},
{ ////农业执法(新)-- 修改密码
path: '/lawEnforcement/changePasswordNew',
name: 'lawEnforcementChangePasswordNew',
meta: {
title: '修改密码',
hidden: true,
},
component: (resolve) => require(['@/views/lawEnforcement/userNew/changePassword'], resolve)
},
{ ////农业执法(新)-- 查农药
path: '/lawEnforcement/pesticides',
name: 'lawEnforcementPesticides',
meta: {
title: '查农药',
hidden: true,
},
component: (resolve) => require(['@/views/lawEnforcement/trace/pesticides'], resolve)
},
{ ////农业执法(新)-- 查农药
path: '/lawEnforcement/pesticidesDetail',
name: 'lawEnforcementPesticidesDetail',
meta: {
title: '查农药',
hidden: true,
},
component: (resolve) => require(['@/views/lawEnforcement/trace/pesticidesDetail'], resolve)
},
{ ////农业执法(新)-- 查种子
path: '/lawEnforcement/seed',
name: 'lawEnforcementSeed',
meta: {
title: '查种子',
hidden: true,
},
component: (resolve) => require(['@/views/lawEnforcement/trace/seed'], resolve)
},
{ ////农业执法(新)-- 查种子
path: '/lawEnforcement/seedDetail',
name: 'lawEnforcementSeedDetail',
meta: {
title: '查种子',
hidden: true,
},
component: (resolve) => require(['@/views/lawEnforcement/trace/seedDetail'], resolve)
},
{ ////农业执法(新)-- 查肥料
path: '/lawEnforcement/fertilizer',
name: 'lawEnforcementFertilizer',
meta: {
title: '查肥料',
hidden: true,
},
component: (resolve) => require(['@/views/lawEnforcement/trace/fertilizer'], resolve)
},
{ ////农业执法(新)-- 查肥料
path: '/lawEnforcement/fertilizerDetail',
name: 'lawEnforcementFertilizerDetail',
meta: {
title: '查肥料',
hidden: true,
},
component: (resolve) => require(['@/views/lawEnforcement/trace/fertilizerDetail'], resolve)
},
{ ////农业执法(新)-- 查兽药
path: '/lawEnforcement/veterinary',
name: 'lawEnforcementVeterinary',
meta: {
title: '查兽药',
hidden: true,
},
component: (resolve) => require(['@/views/lawEnforcement/trace/veterinary'], resolve)
},
{ ////农业执法(新)-- 查兽药
path: '/lawEnforcement/veterinaryDetail',
name: 'lawEnforcementVeterinaryDetail',
meta: {
title: '查兽药',
hidden: true,
},
component: (resolve) => require(['@/views/lawEnforcement/trace/veterinaryDetail'], resolve)
},
{ ////农业执法(新)-- 查饲料
path: '/lawEnforcement/feed',
name: 'lawEnforcementFeed',
meta: {
title: '查饲料',
hidden: true,
},
component: (resolve) => require(['@/views/lawEnforcement/trace/feed'], resolve)
},
{ ////农业执法(新)-- 查饲料
path: '/lawEnforcement/feedDetail',
name: 'lawEnforcementFeedDetail',
meta: {
title: '查饲料',
hidden: true,
},
component: (resolve) => require(['@/views/lawEnforcement/trace/feedDetail'], resolve)
},
{ ////农业执法(新)-- 查农产品
path: '/lawEnforcement/product',
name: 'lawEnforcementProduct',
meta: {
title: '查农产品',
hidden: true,
},
component: (resolve) => require(['@/views/lawEnforcement/trace/product'], resolve)
},
{ ////农业执法(新)-- 查农产品
path: '/lawEnforcement/productDetail',
name: 'lawEnforcementProductDetail',
meta: {
title: '查农产品',
hidden: true,
},
component: (resolve) => require(['@/views/lawEnforcement/trace/productDetail'], resolve)
},
{ ////农业执法(新)-- 上传签字文书
path: '/lawEnforcement/signInRecord',
name: 'lawEnforcementSignInRecord',
meta: {
title: '上传签字文书',
hidden: true,
},
component: (resolve) => require(['@/views/lawEnforcement/task/signInRecord'], resolve)
},
{ ////农业执法(新)-- 巡查登记
path: '/lawEnforcement/caseAdd',
name: 'lawEnforcementCaseAdd',
meta: {
title: '巡查登记',
hidden: true,
},
component: (resolve) => require(['@/views/lawEnforcement/caseAllocation/caseAdd'], resolve)
},
{ ////农业执法(新)-- 巡查登记
path: '/lawEnforcement/caseEdit',
name: 'lawEnforcementCaseEdit',
meta: {
title: '登记修改',
hidden: true
},
component: (resolve) => require(['@/views/lawEnforcement/caseAllocation/caseEdit'], resolve)
},
{ ////农业执法(新)-- 巡查登记列表
path: '/lawEnforcement/caseListNew',
name: 'lawEnforcementCaseListNew',
meta: {
title: '登记列表',
hidden: true
},
component: (resolve) => require(['@/views/lawEnforcement/caseAllocation/caseListNew'], resolve)
},
{ ////农业执法(新)-- 记录查看
path: '/lawEnforcement/taskSignInSee',
name: 'lawEnforcementTaskSignInSee',
meta: {
title: '记录查看',
hidden: true,
},
component: (resolve) => require(['@/views/lawEnforcement/task/taskSignInSee'], resolve)
},
{ ////农业执法(新)-- 案件处理
path: '/lawEnforcement/taskHandle',
name: 'lawEnforcementTaskHandle',
meta: {
title: '案件处理',
hidden: true,
keepAlive: true
},
component: (resolve) => require(['@/views/lawEnforcement/task/taskHandle'], resolve)
},
{ ////农业执法(新)-- 案件处理
path: '/lawEnforcement/caseEnforceList',
name: 'lawEnforcementCaseEnforceList',
meta: {
title: '添加执法人员',
hidden: true,
},
component: (resolve) => require(['@/views/lawEnforcement/caseAllocation/caseEnforceList'], resolve)
}
];



+ 255
- 0
src/views/lawEnforcement/basis/basis.vue 파일 보기

@@ -0,0 +1,255 @@
<template>
<div class="app-container">
<div class="header_main">
执法依据
<div class="return_btn" @click="onClickLeftIndex"></div>
</div>
<div class="jg"></div>

<div class="search_box">
<van-popover
v-model="showPopover"
trigger="click"
:actions="enforceNewsTypeOptions"
placement="bottom-start"
@select="popChange"
>
<template #reference>
<div class="select_box">
<p>{{popValue}}</p>
<van-icon name="arrow-down" color="#1D6FE9" />
</div>
</template>
</van-popover>
<div class="search">
<input type="text" v-model="searchInput" placeholder="请输入执法依据名称" />
<img src="../../../../static/images/lawEnforcement/new/index_icon_04.png" @click="goSearch">
</div>
</div>

<div class="main_box">
<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<div class="peopleList">
<van-row v-for="(item,index) in list" :key="index" @click="$router.push({name:'lawEnforcementBasisDetail',query: {content:item}})" >
<van-col :span="24">
<img src="../../../../static/images/lawEnforcement/icon/record_icon_03.png"/>
<p>{{item.title}}</p>
</van-col>
</van-row>
</div>
</van-list>
</div>

</div>
</template>

<script>
import { getNewsList , enforceNewsType } from "@/api/lawEnforcement/index";
export default {
name: "programmeDetail",
data() {
return {
showPopover: false,
// 通过 actions 属性来定义菜单选项
enforceNewsTypeOptions: [],
loading: false,
finished: false,
searchInput:'',
queryParams: {
// 分页
pageNum: 1,
pageSize: 10,
// 查询排序
orderByColumn: "id",
isAsc: "desc",
number: "002",
deptId: null,
title:''
},
list:[],
popValue:'执法依据'
};
},
created() {
enforceNewsType().then(response => {
for (var i = 0; i < response.data.length; i++) {
this.enforceNewsTypeOptions.push({text: response.data[i].dictLabel, value: response.data[i].dictValue});
}
});

if (this.$route.query.searchInput){
this.searchInput = this.$route.query.searchInput;
this.goSearch();
}
},
methods: {
getList(){
console.log('aaaa')
var _this = this;
getNewsList(_this.queryParams).then(response => {
response.rows.map(res=>{
// res.businessType = res.businessType == '' ? '' : this.selectDictLabel(this.businessTypeOptions, res.businessType);
this.list.push(res);
})
if(this.list.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.queryParams.pageNum += 1 ;
}
});
},
popChange(action,index){
console.log(action,index)
this.popValue = action.text;
this.queryParams.number = action.value;
this.list = [];
this.queryParams.pageNum = 1 ;
this.finished = false;
this.loading = false;
this.getList();
},
goSearch(){
if (this.searchInput == ''){
let path = this.$route.path; //先获取路由路径
this.$router.push(path); //再跳转路由路径,query参数没带过去,所以被清除了
}
this.list = [];
this.finished = false;
this.loading = false;
this.queryParams.title = this.searchInput;
this.queryParams.pageNum = 1;
// this.getList();
},
onClickLeftIndex(){
this.$router.push('/lawEnforcement/index_new')
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 0 0 0.2rem;
}
.jg{
height: 116px;
}
.search_box{
display: flex;
justify-content: space-between;
align-items: center;
width: 92%;
margin: 10PX auto;
.van-popover__wrapper{
flex: 1;
margin-right: 10PX;
}
.select_box{
border: 1px solid #1D6FE9;
border-radius: 50PX;
padding: 0 12PX ;
background: #ffffff;
height: 30PX;
line-height: 30PX;
display: flex;
justify-content: space-around;
align-items: center;
p{
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
word-break: break-all;
overflow: hidden;
}
}
.search{
background: #ffffff;
display: flex;
justify-content: space-between;
align-items: center;
width: 70%;
border: 1px solid #1D6FE9;
padding: 1PX 1PX 1PX 12PX ;
border-radius: 50PX;
input{
flex: 1;
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;
}
}
.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--24{
display: flex;
align-items: center;
p{
margin-left: 10PX;
}
}
.van-col{
text-align: left;
font-size: 14PX;
color: #333333;
padding: 15PX 0;
img{
display: block;
}
}
}
}
.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;
}
</style>

+ 100
- 0
src/views/lawEnforcement/basis/basisDetail.vue 파일 보기

@@ -0,0 +1,100 @@
<template>
<div class="app-container">
<div class="header_main">
查看执法依据
<div class="return_btn" @click="onClickLeft"></div>
</div>
<div class="jg"></div>

<p class="title">{{content.title}}</p>
<p class="tit">来源:{{content.source}} <span>发布时间:{{content.newsTime}}</span></p>
<div id="content" v-html="content.content"></div>
</div>
</template>

<script>
export default {
name: "programmeDetail",
data() {
return {
content:{}
};
},
created() {
this.content = this.$route.query.content;
},
methods: {

},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 0 0 0.2rem;
background: #ffffff;
}
.jg{
height: 116px;
}
.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;
}
}
.title{
text-align: center;
font-size: .6rem;
margin-top: 20PX;
font-weight: bold;
}
.tit{
text-align: center;
font-size: .35rem;
margin-top: 20PX;
span{
margin-left: 10PX;
color: #666666;
}
}
#content /deep/{
padding: 20PX 3%;
p{
line-height: .7rem;
font-size: .35rem;
}
h3{
font-size: .4rem;
}
img{
width: 100%;
}
}
</style>

+ 48
- 7
src/views/lawEnforcement/case/caseDetail.vue 파일 보기

@@ -1,12 +1,17 @@
<template>
<div class="app-container">
<van-nav-bar
:title="type == 'waiting' ? '案件审批':'案件详情'"
fixed
placeholder
left-arrow
@click-left="onClickLeft"
/>
<!-- <van-nav-bar-->
<!-- :title="type == 'waiting' ? '案件审批':'案件详情'"-->
<!-- fixed-->
<!-- placeholder-->
<!-- left-arrow-->
<!-- @click-left="onClickLeft"-->
<!-- />-->
<div class="header_main">
案件查看
<div class="return_btn" @click="onClickLeft"></div>
</div>
<div class="jg"></div>
<van-tabs type="card" :duration="0.2" animated background="transparent" style="border: none;" v-model="caseProgress">
<!-- 登记-->
<van-tab :disabled="0 <= caseActive ? false : true">
@@ -2131,6 +2136,7 @@ export default {

/** 查询审批历史展示步骤条 */
getHistoryList(formData,type) {
console.log(formData)
if (formData.instanceId != null && formData.instanceId != "") {
var queryParams = {
processInstanceId: formData.instanceId
@@ -2232,6 +2238,41 @@ export default {
.app-container {
padding: 0;
}
.jg{
height: 116px;
}
.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;
}
}
.van-row{
display: flex;
flex-wrap: wrap;


+ 697
- 0
src/views/lawEnforcement/caseAllocation/caseAdd.vue 파일 보기

@@ -0,0 +1,697 @@
<template>
<div class="app-container">
<div class="header_main">
巡查登记
<div class="return_btn" @click="onClickLeft"></div>
</div>
<div style="height: 58px;"></div>

<van-form @submit="goSubmit" :show-error-message="false" ref="form">
<div class="main_box">
<van-cell>
<template #title>
<van-icon name="../../../static/images/lawEnforcement/icon/icon_zxfa.png" size="20"></van-icon>
<span class="custom-title">登记<i class="bgBlue"></i></span>
</template>
</van-cell>

<van-field
readonly
clickable
required
:rules="[{ required: true , message:'请选择案件来源' }]"
v-model="caseSource"
label="案件来源"
placeholder="请选择案件来源"
@click="showCaseSource = true"
input-align="right"
right-icon="arrow-down"
:border="false"
label-width="auto"
/>
<van-popup v-model="showCaseSource" position="bottom">
<van-picker
show-toolbar
:columns="caseSourceOptions"
@confirm="onConfirmCaseSource"
@cancel="showCaseSource = false"
/>
</van-popup>

<van-field
readonly
clickable
required
:rules="[{ required: true , message:'请选择关联方案' }]"
v-model="scheme"
label="关联方案"
placeholder="请选择关联方案"
@click="showScheme = true"
input-align="right"
right-icon="arrow-down"
:border="false"
label-width="auto"
/>
<van-popup v-model="showScheme" position="bottom">
<van-picker
show-toolbar
:columns="schemeOptions"
@confirm="onConfirmScheme"
@cancel="showScheme = false"
/>
</van-popup>
<!-- <van-field v-model="form.schemeId" label="关联方案" placeholder="请输入关联方案" :border="false" label-width="auto" input-align="right" />-->

<van-field
readonly
clickable
required
:rules="[{ required: true , message:'请选择案件属地' }]"
v-model="deptName"
label="案件属地"
placeholder="请选择案件属地"
@click="showDeptId = true"
input-align="right"
right-icon="arrow-down"
:border="false"
label-width="auto"
/>
<van-popup v-model="showDeptId" position="bottom">
<van-cascader
v-model="villageValue"
title="请选择案件属地"
:options="deptOptions"
@close="showDeptId = false"
@finish="onConfirmDept"
active-color="#1989fa"
:field-names="hcAreaInfoFieldName"
/>
</van-popup>
<!-- <van-field v-model="form.deptId" label="案件属地" placeholder="请输入案件属地" :border="false" label-width="auto" input-align="right" is-link arrow-direction="down" />-->
<van-field
readonly
clickable
required
:rules="[{ required: true , message:'请选择执行主体' }]"
v-model="belongTeam"
label="执行主体"
placeholder="请选择执行主体"
@click="showBelongTeam = true"
input-align="right"
right-icon="arrow-down"
:border="false"
label-width="auto"
/>
<van-popup v-model="showBelongTeam" position="bottom">
<van-picker
show-toolbar
:columns="belongTeamOptions"
@confirm="onConfirmBelongTeam"
@cancel="showBelongTeam = false"
/>
</van-popup>
<!-- <van-field v-model="form.belongTeam" label="执行主体" placeholder="请输入执行主体" :border="false" label-width="auto" input-align="right" is-link arrow-direction="down" />-->
<van-field v-model="form.caseName" required :rules="[{ required: true , message:'请输入案件名称' }]" label="案件名称" placeholder="请输入案件名称" :border="false" label-width="auto" input-align="right" />

<van-field
readonly
clickable
required
:rules="[{ required: true , message:'请选择登记日期' }]"
v-model="form.registerDate"
label="登记日期"
placeholder="请选择登记日期"
@click="showRegisterDate = true"
input-align="right"
right-icon="arrow-down"
:border="false"
label-width="auto"
/>
<van-popup v-model="showRegisterDate" position="bottom">
<van-datetime-picker
v-model="registerDate"
type="date"
title="选择年月日"
:min-date="minDate"
@confirm="onConfirmRegisterDate"
@cancel="showRegisterDate = false"
/>
</van-popup>

<van-field
readonly
clickable
required
:rules="[{ required: true , message:'请选择执法类别' }]"
v-model="enforceCategory"
label="执法类别"
placeholder="请选择执法类别"
@click="showEnforceCategory = true"
input-align="right"
right-icon="arrow-down"
:border="false"
label-width="auto"
/>
<van-popup v-model="showEnforceCategory" position="bottom">
<van-picker
show-toolbar
:columns="enforceCategoryOptions"
@confirm="onConfirmEnforceCategory"
@cancel="showEnforceCategory = false"
/>
</van-popup>
<!-- <van-field v-model="form.enforceCategory" label="执法类别" placeholder="请输入执法类别" :border="false" label-width="auto" input-align="right" is-link arrow-direction="down" />-->
<van-field v-model="form.caseDescribe" label="案件简述" placeholder="请输入案件简述" :border="false" label-width="auto" input-align="right" />
</div>

<div class="main_box" style="margin-top: 10px;">
<van-collapse v-model="activeNames">
<van-collapse-item name="1">
<template #title>
<van-icon name="../../../static/images/lawEnforcement/icon/icon_dsr.png" size="20"></van-icon>
<span class="custom-title">当事人<i class="bgBlue"></i></span>
</template>

<van-field v-model="form.type" label="当事人类型" :border="false" label-width="auto" input-align="right" >
<template #input>
<van-radio-group v-model="form.type" direction="horizontal">
<van-radio name="1">个人/个体工商户</van-radio>
<van-radio name="2">企业</van-radio>
</van-radio-group>
</template>
</van-field>
<div v-if="form.type=='1'">
<van-field v-model="form.name" required :rules="[{ required: true , message:'请输入当事人姓名' }]" label="当事人姓名" placeholder="请输入当事人姓名" :border="false" label-width="auto" input-align="right" />
<van-field v-if="form.type=='1'" v-model="form.sex" label="性别" placeholder="请输入性别" :border="false" label-width="auto" input-align="right" >
<template #input v-if="form.type=='1'">
<van-radio-group v-model="form.sex" direction="horizontal">
<van-radio name="1">男</van-radio>
<van-radio name="2">女</van-radio>
</van-radio-group>
</template>
</van-field>
<van-field v-model="form.cardNum" required :rules="[{ required: true , message:'请输入身份证号' }]" label="身份证号" placeholder="请输入身份证号" :border="false" label-width="auto" input-align="right" />

<van-field
readonly
clickable
v-model="form.birthday"
label="出生日期"
placeholder="请选择出生日期"
@click="showBirthday = true"
input-align="right"
right-icon="arrow-down"
:border="false"
label-width="auto"
/>
<van-popup v-model="showBirthday" position="bottom">
<van-datetime-picker
v-model="birthday"
type="date"
title="选择年月日"
:min-date="minDate"
@confirm="onConfirmBirthday"
@cancel="showBirthday = false"
/>
</van-popup>

<van-field
readonly
clickable
v-model="nation"
label="民族"
placeholder="请选择民族"
@click="showNation = true"
input-align="right"
right-icon="arrow-down"
:border="false"
label-width="auto"
/>
<van-popup v-model="showNation" position="bottom">
<van-picker
show-toolbar
:columns="nationOptions"
@confirm="onConfirmNation"
@cancel="showNation = false"
/>
</van-popup>
<!-- <van-field v-model="form.nation" label="民族" placeholder="请输入民族" :border="false" label-width="auto" input-align="right" is-link arrow-direction="down" />-->
<van-field v-model="form.companyPosition" label="工作单位" placeholder="请输入工作单位及职务" :border="false" label-width="auto" input-align="right" />
<van-field v-model="form.duties" label="职务" placeholder="请输入职务" :border="false" label-width="auto" input-align="right" />
<van-field v-model="form.zihao" label="字号名称" placeholder="请输入字号名称" :border="false" label-width="auto" input-align="right" />
</div>
<div v-if="form.type=='2'">
<van-field v-model="form.companyName" :rules="[{ required: true , message:'请输入企业名称' }]" label="企业名称" placeholder="请输入企业名称" :border="false" label-width="auto" input-align="right" />
<van-field v-model="form.legalName" label="法人/负责人" placeholder="请输入法人/负责人" :border="false" label-width="auto" input-align="right" />
</div>

<van-field v-model="form.phone" label="联系电话" placeholder="请输入联系电话" :border="false" label-width="auto" input-align="right" />
<van-field v-model="form.address" label="联系地址" placeholder="请输入联系地址" :border="false" label-width="auto" input-align="right" />
<van-field v-model="form.uniformCode" label="统一社会信用代码" placeholder="请输入统一社会信用代码" :border="false" label-width="auto" input-align="right" />
</van-collapse-item>
</van-collapse>
</div>

<div class="main_box" style="margin-top: 10px;">
<van-collapse v-model="activeNames1">
<van-collapse-item name="1">
<template #title>
<van-icon name="../../../static/images/lawEnforcement/icon/icon_ajwd.png" size="20"></van-icon>
<span class="custom-title">附件<i class="bgBlue"></i></span>
</template>
<p style="color: #FE1313;text-align: center;margin-top: 5PX;font-size: .3rem">*请上传不超过5MB 格式为doc/xls/png/jpg/jpeg的文件</p>
<div class="cf">
<van-uploader v-model="form.attachementList" :after-read="afterReadEvidenceForm" :before-delete="deleteFileEvidenceForm" />
</div>
</van-collapse-item>
</van-collapse>
</div>

<!-- <div class="main_box" style="margin-top: 10px;">-->
<!-- <van-collapse v-model="activeNames2">-->
<!-- <van-collapse-item name="1">-->
<!-- <template #title>-->
<!-- <van-icon name="../../../static/images/lawEnforcement/icon/icon_zxry.png" size="20"></van-icon>-->
<!-- <span class="custom-title">执法人员<i class="bgBlue"></i></span>-->
<!-- </template>-->
<!-- <div class="peopleList">-->
<!-- <van-row class="peoplett">-->
<!-- <van-col :span="4">序号</van-col>-->
<!-- <van-col :span="6">执行人员</van-col>-->
<!-- <van-col :span="10">执法证号</van-col>-->
<!-- <van-col :span="4">带队人</van-col>-->
<!-- </van-row>-->
<!-- <van-row v-for="(item,index) in tEnforceCaseHandlerList" :key="index" >-->
<!-- <van-col :span="4">{{index+1}}</van-col>-->
<!-- <van-col :span="6">{{item.enforcerName}}</van-col>-->
<!-- <van-col :span="10">{{item.enforcerNum}}</van-col>-->
<!-- <van-col :span="4">-->
<!-- <div class="icon_box">-->
<!-- <van-checkbox v-model="item.enforcerLeader" shape="square" @change="checkBoxChange(item.enforcerLeader,index)"></van-checkbox>-->
<!-- <van-icon name="../../../static/images/lawEnforcement/icon/icon_delete.png" size="20" @click="removePeople(index)"></van-icon>-->
<!-- </div>-->
<!-- </van-col>-->
<!-- </van-row>-->
<!-- <img src="../../../../static/images/lawEnforcement/new/addPeop_btn.png" style="margin: 0 auto;" @click="$router.push({name:'lawEnforcementCaseLawEnforcer'})">-->
<!-- </div>-->
<!-- </van-collapse-item>-->
<!-- </van-collapse>-->
<!-- </div>-->
<div class="submit_box">
<p class="submitButton" @click="$refs.form.submit()">保存</p>
<p class="submitButton" @click="keepSubmit()">保存并提交</p>
</div>
</van-form>

</div>
</template>

<script>
import { addCase , addProgress , treeselect , schemeList , addSurvey , commonUpload } from "@/api/lawEnforcement/index";
import Cookies from "js-cookie";
export default {
name: "programmeDetail",
data() {
return {
showCaseSource:false,
showBelongTeam:false,
showEnforceCategory:false,
showDeptId:false,
showScheme:false,
showNation:false,
showBirthday:false,
showRegisterDate:false,
form:{
type:'1',
sex:'1',
registerDate:this.format(new Date(),'yyyy-MM-dd'),
caseProgress:'1',
caseStatus:'1',
attachement:[],
attachementList:[]
},
registerDate:new Date(),
birthday:new Date(),
caseSource : '',
belongTeam : '',
enforceCategory : '',
nation : '',
deptName : '',
scheme : '',
villageValue : '',

tEnforceSchemeHandlerList:[],
minDate: new Date(1900, 0, 1),

activeNames: ['1'],
activeNames1: ['1'],
activeNames2: ['1'],

caseSourceOptions:[],
belongTeamOptions:[],
enforceCategoryOptions:[],
nationOptions:[],
deptOptions:[],
schemeOptions:[],

tEnforceCaseHandlerList:[],
radio:'',
fileList: [],
hcAreaInfoFieldName: {
text: "label",
value: "value",
children: "children",
},

deptId:''
};
},
created() {
//案件来源
this.getDicts("case_source").then(response => {
for (var i = 0; i < response.data.length; i++) {
this.caseSourceOptions.push({text: response.data[i].dictLabel, value: response.data[i].dictValue});
}
// this.caseSourceOptions = response.data;
});
//执行主体
this.getDicts("team_category").then(response => {
for (var i = 0; i < response.data.length; i++) {
this.belongTeamOptions.push({text: response.data[i].dictLabel, value: response.data[i].dictValue});
}
// this.belongTeamOptions = response.data;
});
//执法类别
this.getDicts("enforce_category").then(response => {
for (var i = 0; i < response.data.length; i++) {
this.enforceCategoryOptions.push({text: response.data[i].dictLabel, value: response.data[i].dictValue});
}
// this.enforceCategoryOptions = response.data;
});
//民族
this.getDicts("nationality").then(response => {
for (var i = 0; i < response.data.length; i++) {
this.nationOptions.push({text: response.data[i].dictLabel, value: response.data[i].dictValue});
}
// this.nationOptions = response.data;
});
var schemeQueryParam = {
applyStatus: "1"
};
schemeList(schemeQueryParam).then((response) => {
for (var i = 0; i < response.rows.length; i++) {
this.schemeOptions.push({text: response.rows[i].schemeName, value: response.rows[i].id});
}
});
this.getBookList()
},
methods: {
goSubmit(){
if (typeof this.form.attachement != 'string'){
this.form.attachement = this.form.attachement.join(',');
}
addCase(this.form).then(response => {
if(response.code=="200"){
var progressParam = {
caseId: response.data,
caseStatus:"1",
caseProgress:"1",
caseProgressName:"登记"
};
addProgress(progressParam).then(response2 => {
let surveyForm = {};
surveyForm.tEnforceCaseHandlerList = this.tEnforceCaseHandlerList;
surveyForm.caseId = response.data;
addSurvey(surveyForm).then(response => {
this.$notify({ type: 'success', message: '保存成功' });
setTimeout(function(){
history.back(-1);
},2000)
});
});

}
this.form.id = response.data;
});
},
getBookList(){
treeselect().then((response) => {
if (response.code == 200) {
this.deptOptions = response.data;
}
})
},
//选择案件来源
onConfirmCaseSource(data){
this.form.caseSource = data.value;
this.caseSource = data.text;
this.showCaseSource = false;
},
//选择案件属地
onConfirmDept({ selectedOptions }){
console.log(selectedOptions[selectedOptions.length-1])
this.form.deptId = selectedOptions[selectedOptions.length-1].value;
this.deptName = selectedOptions[selectedOptions.length-1].label;
this.showDeptId = false
},
//选择执行主体
onConfirmBelongTeam(data){
this.form.belongTeam = data.value;
this.belongTeam = data.text;
this.showBelongTeam = false;
},
//选择执法类别
onConfirmEnforceCategory(data){
this.form.enforceCategory = data.value;
this.enforceCategory = data.text;
this.showEnforceCategory = false;
},
//选择民族
onConfirmNation(data){
this.form.nation = data.value;
this.nation = data.text;
this.showNation = false;
},
//选择关联方案
onConfirmScheme(data){
this.form.schemeId = data.value;
this.scheme = data.text;
this.showScheme = false;
},
//选择登记时间
onConfirmRegisterDate(data){
this.form.registerDate = this.format(data,'yyyy-MM-dd');
this.registerDate = data;
this.showRegisterDate = false;
},
//选择出生日期
onConfirmBirthday(data){
this.form.birthday = this.format(data,'yyyy-MM-dd');
this.birthday = data;
this.showBirthday = false;
},
keepSubmit(){
this.form.caseId = this.form.id;
this.form.caseStatus = "1";
this.form.caseProgress = "2"; // 勘察
this.form.caseProgressName = this.selectDictLabel(this.caseProgressOptions, this.form.caseProgress); // 勘察

if (typeof this.form.attachement != 'string'){
this.form.attachement = this.form.attachement.join(',');
}
var _this = this;
this.$dialog.confirm({
message: '提交后案件将进入后续流程并且不能修改,是否确认提交?',
}).then(function () {
// 更新案件的节点和状态
updateCase(_this.form).then(response => {
_this.$notify({ type: 'success', message: '提交成功' });
setTimeout(function(){
history.back(-1);
},2000)
});
});
},
afterReadEvidenceForm(file){
let params1 = new FormData();
params1.append("file", file.file);
commonUpload(params1).then((r1) => {
// this.tEnforceSamplingGoodsList[index].attachement.push(r1.fileName);
this.form.attachement.push(r1.fileName)
})
},
deleteFileEvidenceForm(file,detail) {
this.form.attachement.splice(detail.index,1);
this.form.attachementList.splice(detail.index,1);
},
},
watch: {
$route (to, from ) {
// 监听路由变化, 实现类似 小程序的 onShow 事件
if (to.path === '/lawEnforcement/caseAdd') {
console.log('abc')
// do anything you want
if (Cookies.get('enforcer')){
JSON.parse(Cookies.get('enforcer')).map((res,index)=>{
let array1 = this.tEnforceCaseHandlerList.filter(function (e) { return e.enforcerName == res.enforcerName; });
if ( array1.length < 1 ){
this.tEnforceCaseHandlerList.push(res)
}
})
}
}
}
},
}
</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;
.van-col{
padding: 5PX 0;
font-size: 12PX!important;
text-align: center;
p{
color: #1D6FE9;
}
}
&: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: 3%;
text-align: center;
.van-row{
margin-bottom: 10PX;
background: rgba(196,218,249,0.3);
border-radius: 5PX;
.van-col{
text-align: center;
font-size: 14PX;
color: #333333;
padding: 5PX 0;
}
&:first-child{
background: none;
.van-col{
padding: 0;
color: #1D6FE9;
}
}
}
.icon_box{
display: flex;
justify-content: space-around;
/deep/ .van-checkbox{
justify-content: center;
}
}
}
.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, #2E79E9 , #77A6EF);
text-align: center;
color: #ffffff;
height: 70px;
line-height: 70px;
border-radius: 8PX;
margin-top: 25PX;
}
.submit_box{
display: flex;
}
.addFamily{
position: absolute;
top: -2px;
right: 0;
border-radius: 50%;
}
</style>

+ 230
- 0
src/views/lawEnforcement/caseAllocation/caseAllocation.vue 파일 보기

@@ -0,0 +1,230 @@
<template>
<div class="home_wrapper">
<div class="header_main">
案件分配
<div class="return_btn" @click="onClickLeft"></div>
</div>
<div style="height: 58px;"></div>
<div class="search_box">
<img src="../../../../static/images/lawEnforcement/new/list_icon_02.png" @click="$router.push({name:'lawEnforcementCaseHistory'})"/>
<div class="search">
<input type="text" v-model="searchInput" placeholder="请输入案件名称" />
<img src="../../../../static/images/lawEnforcement/new/index_icon_04.png" @click="goSearch">
</div>
<!-- <img src="../../../../static/images/lawEnforcement/new/list_icon_03.png"/>-->
</div>

<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<van-swipe-cell v-for="(item,index) in list" :key="index">
<van-cell :title="item.caseName" center :to="{name:'lawEnforcementCaseDetailNew', query: {id:item.caseId}}">
<template #icon>
<van-icon name="../../../../static/images/lawEnforcement/new/list_icon_01.png" size="20" color="#FF4646" style="margin-right: 10px;" />
</template>
<template #label>
<p>{{item.caseSource}}</p>
<p>第{{item.belongTeam}}</p>
<p>{{item.registerDate}}</p>
</template>
</van-cell>
<template #right>
<van-row>
<van-col>
<van-button square text="退回" type="danger" :to="{name:'lawEnforcementCaseReturn', query: {id:item.caseId}}" class="delete-button" />
</van-col>
<van-col>
<van-button square text="分配" type="info" :to="{name:'lawEnforcementCaseDistribution', query: {id:item.caseId}}" class="delete-button" />
</van-col>
</van-row>
</template>
</van-swipe-cell>
</van-list>
</div>
</template>

<script>
import { listSurvey } from "@/api/lawEnforcement/index";
export default {
name: "caseAllocation",
data() {
return {
loading: false,
finished: false,
searchInput:'',
queryParams:{
// 分页
pageNum: 1,
pageSize: 10,
// 查询排序
orderByColumn: "id",
isAsc: "desc",
caseName: null,
caseProgress: "2",
title:"",
isDistribute: "N"
},
list:[],
belongTeamOptions:[],
caseSourceOptions:[],
};
},
created() {
this.getDicts("case_source").then(response => {
this.caseSourceOptions = response.data;
});
this.getDicts("team_category").then(response => {
this.belongTeamOptions = response.data;
});
},
methods: {
getList(){
var _this = this;
listSurvey(_this.queryParams).then(response => {
response.rows.map(res=>{
res.caseSource = res.caseSource == '' ? '' : this.selectDictLabel(this.caseSourceOptions, res.caseSource);
res.belongTeam = res.belongTeam == '' ? '' : this.selectDictLabel(this.belongTeamOptions, res.belongTeam);
this.list.push(res);
})
console.log(this.list.length)
if(this.list.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.queryParams.pageNum += 1 ;
}
});
},
goSearch(){
// if (this.searchInput == ''){
// location.reload()
// }
this.list = [];
this.loading = false;
this.finished = false;
this.queryParams.caseName = this.searchInput;
this.queryParams.pageNum = 1 ;
// this.getList();
},
},
}
</script>

<style scoped lang="scss">
.home_wrapper{
background: #e9e9e9;
min-height: 100vh;
width: 100vw;
padding: 0 3% 0.2rem;
.search_box{
display: flex;
justify-content: space-between;
align-items: center;
width: 92%;
margin: 0PX auto;
.search{
background: #ffffff;
display: flex;
justify-content: space-between;
align-items: center;
width: 100%;
margin: 10PX auto;
border: 1px solid #1D6FE9;
padding: 1PX 1PX 1PX 12PX ;
border-radius: 50PX;
margin-left: 10PX;
input{
flex: 1;
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-cell__title span{
font-family: Arial;
font-size: 0.4rem;
font-weight: normal;
color: #666666;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
word-break: break-all;
overflow: hidden;
}
/deep/.van-cell__label {
display: flex;
justify-content: space-between;
p{
display: inline-block;
&:first-child{
background: rgba(28,184,177,0.2);
padding: 0 5PX;
border-radius: 3PX;
color: #1CB8B1;
}
}
}
/deep/.van-cell__value{
flex: 0.3;
color: #1D6FE9;
font-weight: bold;
}
/deep/.van-swipe-cell{
margin-bottom: 0.2rem;
border-radius: 0.2rem;
overflow: hidden;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
.van-swipe-cell__right{
right: -2PX;
}
}
/deep/van-ellipsis{
font-weight: bold;
}
.van-row{
height: 100%;
}
.van-col{
height: 100%;
}
.delete-button {
height: 100%;
}
</style>

+ 361
- 0
src/views/lawEnforcement/caseAllocation/caseDetail.vue 파일 보기

@@ -0,0 +1,361 @@
<template>
<div class="app-container">
<div class="header_main">
{{title}}
<div class="return_btn" @click="onClickLeft"></div>
</div>
<div style="height: 58px;"></div>
<div class="main_box">
<van-cell>
<template #title>
<van-icon name="../../../static/images/lawEnforcement/icon/icon_zxfa.png" size="20"></van-icon>
<span class="custom-title">登记<i class="bgBlue"></i></span>
</template>
</van-cell>
<van-cell title="案件来源" :border="false" v-model="form.caseSource" />
<van-cell title="关联方案" :border="false" v-model="form.scheme" />
<van-cell title="案件属地" :border="false" v-model="form.deptId" />
<van-cell title="执行主体" :border="false" v-model="form.belongTeam" />
<van-cell title="案件名称" :border="false" v-model="form.caseName" />
<van-cell title="登记日期" :border="false" v-model="form.registerDate" />
<van-cell title="执法类别" :border="false" v-model="form.enforceCategory" />
<van-cell title="案件简述" :border="false" v-model="form.caseDescribe" />
</div>

<div class="main_box" style="margin-top: 10px;">
<van-collapse v-model="activeNames">
<van-collapse-item name="1">
<template #title>
<van-icon name="../../../static/images/lawEnforcement/icon/icon_dsr.png" size="20"></van-icon>
<span class="custom-title">当事人<i class="bgBlue"></i></span>
</template>
<van-cell title="当事人类型" :border="false" v-model="form.type" />
<template v-if="form.type=='个人/个体工商户'">
<van-cell title="当事人姓名" :border="false" v-model="form.name" />
<van-cell title="性别" :border="false" v-model="form.sex" />
<van-cell title="身份证号" :border="false" v-model="form.cardNum" />
<van-cell title="出生日期" :border="false" v-model="form.birthday" />
<van-cell title="民族" :border="false" v-model="form.nation" />
<van-cell title="工作单位" :border="false" v-model="form.companyPosition" />
<van-cell title="职务" :border="false" v-model="form.duties" />
<van-cell title="字号名称" :border="false" v-model="form.zihao" />
</template>
<template v-if="form.type=='企业'">
<van-cell title="企业名称" :border="false" v-model="form.companyName" />
<van-cell title="法人/负责人" :border="false" v-model="form.legalName" />
</template>
<van-cell title="联系电话" :border="false" v-model="form.phone" />
<van-cell title="联系地址" :border="false" v-model="form.address" />
<van-cell title="统一社会信用代码" :border="false" v-model="form.uniformCode" />
</van-collapse-item>
</van-collapse>
</div>

<div class="main_box" style="margin-top: 10px;">
<van-collapse v-model="activeNames1">
<van-collapse-item name="1">
<template #title>
<van-icon name="../../../static/images/lawEnforcement/icon/icon_ajwd.png" size="20"></van-icon>
<span class="custom-title">附件<i class="bgBlue"></i></span>
</template>
<div class="cf">
<van-uploader v-model="form.attachementList" :show-upload="false" :deletable="false" />
<van-empty v-if="form.attachement == null " description="暂无文件" />
</div>
</van-collapse-item>
</van-collapse>
</div>

<div class="main_box" style="margin-top: 10px;">
<van-collapse v-model="activeNames2">
<van-collapse-item name="1">
<template #title>
<van-icon name="../../../static/images/lawEnforcement/icon/icon_zxry.png" size="20"></van-icon>
<span class="custom-title">执法人员<i class="bgBlue"></i></span>
</template>
<div class="peopleList">
<van-row>
<van-col :span="4">序号</van-col>
<van-col :span="6">执行人员</van-col>
<van-col :span="10">执法证号</van-col>
<van-col :span="4">带队人</van-col>
</van-row>

<van-row v-for="(item,index) in tEnforceCaseHandlerList" :key="index" >
<van-col :span="4">{{index+1}}</van-col>
<van-col :span="6">{{item.enforcerName}}</van-col>
<van-col :span="10">{{item.enforcerNum}}</van-col>
<van-col :span="4">
<div class="icon_box">
<van-checkbox v-model="item.enforcerLeader" shape="square"></van-checkbox>
</div>
</van-col>
</van-row>
<!-- <img src="../../../../static/images/lawEnforcement/new/addPeop_btn.png" style="margin: 0 auto;" @click="$router.push({name:'lawEnforcementCaseLawEnforcer'})">-->
</div>
</van-collapse-item>
</van-collapse>
</div>
</div>
</template>

<script>
import { getCase , getDeptName , getSurveyByCaseId , schemeList } from "@/api/lawEnforcement/index";
export default {
name: "programmeDetail",
data() {
return {
showBankType:false,
showPayeeType:false,
showPicker:false,
form:{},
title:'查看登记',

bankType:'',
payeeType:'',
value:'',

bankTypeOptions:[],
payeeTypeOptions:[],
tEnforceSchemeHandlerList:[],
minDate: new Date(2020, 0, 1),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(2021, 0, 17),

activeNames: ['1'],
activeNames1: ['1'],
activeNames2: ['1'],

caseSourceOptions:[],
belongTeamOptions:[],
schemeOptions:[],

// 查询参数
queryParams: {
// 分页
pageNum: 1,
pageSize: 10,
// 查询排序
orderByColumn: "id",
isAsc: "desc",
name: null, // 搜索参数-执行人姓名或证件号
belongTeam: null, // 搜索参数-所在中队
},
tEnforceCaseHandlerList:[]
};
},
created() {
// this.getDictionaries()
this.getDicts("case_source").then(response => {
this.caseSourceOptions = response.data;
});
this.getDicts("team_category").then(response => {
this.belongTeamOptions = response.data;
});
this.getDicts("enforce_body_type").then(response => {
this.typeOptions = response.data;
});
this.getDicts("sex").then(response => {
this.sexOptions = response.data;
});
this.getDicts("nationality").then(response => {
this.nationOptions = response.data;
});
this.getDetail();
if (this.$route.query.type == 'caseQuery'){
this.title = '案件详情查看'
}
},
methods: {
getDetail(){
getCase(this.$route.query.id).then((response) => {
response.data.caseSource = response.data.caseSource == '' ? '' : this.selectDictLabel(this.caseSourceOptions, response.data.caseSource);

response.data.belongTeam = response.data.belongTeam == '' ? '' : this.selectDictLabel(this.belongTeamOptions, response.data.belongTeam);

if (response.data.type == '1'){
response.data.sex = response.data.sex == '' ? '' : this.selectDictLabel(this.sexOptions, response.data.sex);
response.data.nation = response.data.nation == '' ? '' : response.data.nation == '1' ? '汉族' : this.selectDictLabel(this.nationOptions, response.data.nation);
}
response.data.type = response.data.type == '' ? '' : this.selectDictLabel(this.typeOptions, response.data.type);

var schemeQueryParam = {
applyStatus: "1"
};
getDeptName(response.data.deptId).then(res => {
response.data.deptId = res.data.deptName
});
if (response.data.attachement){
response.data.attachementList = [];
var attachement = response.data.attachement.split( "," );
attachement.forEach(responseAttach=>{
response.data.attachementList.push({
url:'/api' + responseAttach,
isImage: true
});
})
// process.env.VUE_APP_BASE_ROUTING_URL + process.env.VUE_APP_BASE_API
}
console.log(response.data.scheme)
schemeList(schemeQueryParam).then((responseScheme) => {
console.log(responseScheme)
response.data.scheme = response.data.schemeId == null ? '' : responseScheme.rows.filter(function (e) { return e.id == response.data.schemeId; })[0].schemeName;
});
var that = this ;
setTimeout(function () {
that.form = response.data;
},3000)
});
getSurveyByCaseId(this.$route.query.id).then((response) => {
if(response.data != undefined){
this.tEnforceCaseHandlerList = response.data.tEnforceCaseHandlerList;
}
});
},
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;
.van-col{
padding: 5PX 0;
font-size: 12PX!important;
text-align: center;
p{
color: #1D6FE9;
}
}
&: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: 3%;
text-align: center;
.van-row{
margin-bottom: 10PX;
background: rgba(196,218,249,0.3);
border-radius: 5PX;
.van-col{
text-align: center;
font-size: 14PX;
color: #333333;
padding: 5PX 0;
}
&:first-child{
background: none;
.van-col{
padding: 0;
color: #1D6FE9;
}
}
}
.icon_box{
/deep/ .van-checkbox{
justify-content: center;
}
}
}
.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: 80%;
margin: 0 auto;
background-color: #1D6FE9;
}

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

+ 456
- 0
src/views/lawEnforcement/caseAllocation/caseDistribution.vue 파일 보기

@@ -0,0 +1,456 @@
<template>
<div class="app-container">
<div class="header_main">
分配案件
<div class="return_btn" @click="onClickLeft"></div>
</div>
<div style="height: 58px;"></div>
<div class="main_box">
<van-cell>
<template #title>
<van-icon name="../../../static/images/lawEnforcement/icon/icon_zxfa.png" size="20"></van-icon>
<span class="custom-title">登记<i class="bgBlue"></i></span>
</template>
</van-cell>
<van-cell title="案件来源" :border="false" v-model="form.caseSource" />
<van-cell title="关联方案" :border="false" v-model="form.scheme" />
<van-cell title="案件属地" :border="false" v-model="form.deptId" />
<van-cell title="执行主体" :border="false" v-model="form.belongTeam" />
<van-cell title="案件名称" :border="false" v-model="form.caseName" />
<van-cell title="登记日期" :border="false" v-model="form.registerDate" />
<van-cell title="执法类别" :border="false" v-model="form.enforceCategory" />
<van-cell title="案件简述" :border="false" v-model="form.caseDescribe" />
</div>

<div class="main_box" style="margin-top: 10px;">
<van-collapse v-model="activeNames">
<van-collapse-item name="1">
<template #title>
<van-icon name="../../../static/images/lawEnforcement/icon/icon_dsr.png" size="20"></van-icon>
<span class="custom-title">当事人<i class="bgBlue"></i></span>
</template>
<van-cell title="当事人类型" :border="false" v-model="form.type" />
<template v-if="form.type=='个人/个体工商户'">
<van-cell title="当事人姓名" :border="false" v-model="form.name" />
<van-cell title="性别" :border="false" v-model="form.sex" />
<van-cell title="身份证号" :border="false" v-model="form.cardNum" />
<van-cell title="出生日期" :border="false" v-model="form.birthday" />
<van-cell title="民族" :border="false" v-model="form.nation" />
<van-cell title="工作单位及职务" :border="false" v-model="form.companyPosition" />
<van-cell title="字号名称" :border="false" v-model="form.zihao" />
</template>
<template v-if="form.type=='企业'">
<van-cell title="企业名称" :border="false" v-model="form.companyName" />
<van-cell title="法人/负责人" :border="false" v-model="form.legalName" />
</template>
<van-cell title="联系电话" :border="false" v-model="form.phone" />
<van-cell title="联系地址" :border="false" v-model="form.address" />
<van-cell title="统一社会信用代码" :border="false" v-model="form.uniformCode" />
</van-collapse-item>
</van-collapse>
</div>

<div class="main_box" style="margin-top: 10px;">
<van-collapse v-model="activeNames1">
<van-collapse-item name="1">
<template #title>
<van-icon name="../../../static/images/lawEnforcement/icon/icon_ajwd.png" size="20"></van-icon>
<span class="custom-title">附件<i class="bgBlue"></i></span>
</template>
<div class="cf">
<van-uploader v-model="form.attachementList" :show-upload="false" :deletable="false" />
<van-empty v-if="form.attachement == null " description="暂无文件" />
</div>
</van-collapse-item>
</van-collapse>
</div>

<div class="main_box" style="margin-top: 10px;">
<van-collapse v-model="activeNames2">
<van-collapse-item name="1">
<template #title>
<van-icon name="../../../static/images/lawEnforcement/icon/icon_zxry.png" size="20"></van-icon>
<span class="custom-title">执法人员<i class="bgBlue"></i></span>
</template>
<div class="peopleList">
<van-row class="peoplett">
<van-col :span="4">序号</van-col>
<van-col :span="6">执行人员</van-col>
<van-col :span="10">执法证号</van-col>
<van-col :span="4">带队人</van-col>
</van-row>
<van-row v-for="(item,index) in tEnforceCaseHandlerList" :key="index" >
<van-col :span="4">{{index+1}}</van-col>
<van-col :span="6">{{item.enforcerName}}</van-col>
<van-col :span="10">{{item.enforcerNum}}</van-col>
<van-col :span="4">
<div class="icon_box">
<van-checkbox v-model="item.enforcerLeader" shape="square" @change="checkBoxChange(item.enforcerLeader,index)"></van-checkbox>
<van-icon name="../../../static/images/lawEnforcement/icon/icon_delete.png" size="20" @click="removePeople(index)"></van-icon>
</div>
</van-col>
</van-row>
<img src="../../../../static/images/lawEnforcement/new/addPeop_btn.png" style="margin: 0 auto;" @click="$router.push({name:'lawEnforcementCaseLawEnforcer'})">
</div>
</van-collapse-item>
</van-collapse>
</div>

<p class="submitButton" @click="submitForm()">保存</p>

</div>
</template>

<script>
import { getCase , getDeptName , getSurveyByCaseId , updateSurvey , addSurvey , schemeList } from "@/api/lawEnforcement/index";
import Cookies from "js-cookie";
export default {
name: "programmeDetail",
data() {
return {
showBankType:false,
showPayeeType:false,
showPicker:false,
form:{},

bankType:'',
payeeType:'',
value:'',

bankTypeOptions:[],
payeeTypeOptions:[],
tEnforceSchemeHandlerList:[],
minDate: new Date(2020, 0, 1),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(2021, 0, 17),

activeNames: ['1'],
activeNames1: ['1'],
activeNames2: ['1'],

caseSourceOptions:[],
belongTeamOptions:[],

// 查询参数
queryParams: {
// 分页
pageNum: 1,
pageSize: 10,
// 查询排序
orderByColumn: "id",
isAsc: "desc",
name: null, // 搜索参数-执行人姓名或证件号
belongTeam: null, // 搜索参数-所在中队
},
tEnforceCaseHandlerList:[],
radio:'',
submitType:'',
surveyId:'',
sexOptions:[],
nationOptions:[],
};
},
created() {
this.getDicts("case_source").then(response => {
this.caseSourceOptions = response.data;
});
this.getDicts("team_category").then(response => {
this.belongTeamOptions = response.data;
});
this.getDicts("enforce_body_type").then(response => {
this.typeOptions = response.data;
});
this.getDicts("sex").then(response => {
this.sexOptions = response.data;
});
this.getDicts("nationality").then(response => {
this.nationOptions = response.data;
});
this.getDetail();
},
beforeRouteEnter (to, from, next) {
/*
to:获取你要跳转的路由信息
from: 获取你从哪个路由来的信息
next: (放行函数)
// 第一种写法
next(); // 直接放行
// 第二种
next('/url') //放行到指定的路由
*/
next(vm => {
console.log(from.path)
console.log(to.path)
if (from.path === '/lawEnforcement/caseAllocation'){
location.reload()
}
})
},
methods: {
getDetail(){
getCase(this.$route.query.id).then((response) => {
response.data.caseSource = response.data.caseSource == '' ? '' : this.selectDictLabel(this.caseSourceOptions, response.data.caseSource);
response.data.belongTeam = response.data.belongTeam == '' ? '' : this.selectDictLabel(this.belongTeamOptions, response.data.belongTeam);
response.data.type = response.data.type == '' ? '' : this.selectDictLabel(this.typeOptions, response.data.type);
response.data.sex = response.data.sex == '' ? '' : this.selectDictLabel(this.sexOptions, response.data.sex);

response.data.nation = response.data.nation == '' ? '' : this.selectDictLabel(this.nationOptions, response.data.nation);
console.log(this.selectDictLabel(this.nationOptions, response.data.nation))

if(response.data.schemeId){
var schemeQueryParam = {
applyStatus: "1"
};
schemeList(schemeQueryParam).then((responseScheme) => {
response.data.scheme = responseScheme.rows.filter(function (e) { return e.id == response.data.schemeId; })[0].schemeName;
});
}

getDeptName(response.data.deptId).then(res => {
response.data.deptId = res.data.deptName
});
if (response.data.attachement){
response.data.attachementList = [];
var attachement = response.data.attachement.split( "," );
attachement.forEach(responseAttach=>{
response.data.attachementList.push({
url:'/api' + responseAttach,
isImage: true
});
})
// process.env.VUE_APP_BASE_ROUTING_URL + process.env.VUE_APP_BASE_API
}
var that = this ;
setTimeout(function () {
that.form = response.data;
},2000)

});
getSurveyByCaseId(this.$route.query.id).then((response) => {
if(response.data != undefined){
this.tEnforceCaseHandlerList = response.data.tEnforceCaseHandlerList;
this.surveyId = response.data.id;
this.submitType = 'update';
}else{
this.submitType = 'add';
}
});
},
removePeople(index){
this.tEnforceCaseHandlerList.splice(index,1)
},
submitForm(){
let surveyForm = {};
surveyForm.tEnforceCaseHandlerList = this.tEnforceCaseHandlerList;
surveyForm.caseId = this.$route.query.id;
surveyForm.id = this.surveyId;
if(this.submitType == 'update'){
updateSurvey(surveyForm).then(response => {
this.$notify({ type: 'success', message: '保存成功' });
setTimeout(function(){
history.back(-1);
},2000)
});
}else if (this.submitType == 'add'){
addSurvey(surveyForm).then(response => {
this.$notify({ type: 'success', message: '保存成功' });
setTimeout(function(){
history.back(-1);
},2000)
});
}
},
checkBoxChange(val,index){
console.log(val)
console.log(index)
this.tEnforceCaseHandlerList[index].enforcerLeader = val ? 'Y' : ''
},
afterReadEvidenceForm(file){
let params1 = new FormData();
params1.append("file", file.file);
commonUpload(params1).then((r1) => {
// this.tEnforceSamplingGoodsList[index].attachement.push(r1.fileName);
this.form.attachement.push(r1.fileName)
})
},
deleteFileEvidenceForm(file,detail) {
this.form.attachement.splice(detail.index,1);
this.form.attachementList.splice(detail.index,1);
},
},
watch: {
$route (to, from ) {
// 监听路由变化, 实现类似 小程序的 onShow 事件
if (to.path === '/lawEnforcement/caseDistribution') {
// do anything you want
if (Cookies.get('enforcer')){
getSurveyByCaseId(this.$route.query.id).then((response) => {
if(response.data != undefined){
this.tEnforceCaseHandlerList = response.data.tEnforceCaseHandlerList;
JSON.parse(Cookies.get('enforcer')).map((res,index)=>{
let array1 = response.data.tEnforceCaseHandlerList.filter(function (e) { return e.enforcerName == res.enforcerName; });
if ( array1.length < 1 ){
this.tEnforceCaseHandlerList.push(res)
}
})
}else {
JSON.parse(Cookies.get('enforcer')).map((res,index)=>{
this.tEnforceCaseHandlerList.push(res)
})
}
});
}
}
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
/deep/ .van-collapse-item__content{
padding: 0;
}
/deep/ .van-checkbox{
justify-content: center;
}
.icon_box{
display: flex;
justify-content: space-around;
}
.cf{
padding: 0 3%;
margin-top: 20PX;
margin-bottom: 20PX;
.van-row{
background: #F0F3F5;
.van-col{
padding: 5PX 0;
font-size: 12PX!important;
text-align: center;
p{
color: #1D6FE9;
}
}
&: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: 3%;
text-align: center;
.van-row{
margin-bottom: 10PX;
background: rgba(196,218,249,0.3);
border-radius: 5PX;
.van-col{
text-align: center;
font-size: 14PX;
color: #333333;
padding: 5PX 0;
}
}
.peoplett{
background: none;
.van-col{
padding: 0;
color: #1D6FE9;
}
}
}
.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: 45%;
margin: 0 auto;
background-image: linear-gradient(to right, #2E79E9 , #77A6EF);
text-align: center;
color: #ffffff;
height: 70px;
line-height: 70px;
border-radius: 8PX;
margin-top: 25PX;
}

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

+ 726
- 0
src/views/lawEnforcement/caseAllocation/caseEdit.vue 파일 보기

@@ -0,0 +1,726 @@
<template>
<div class="app-container">
<div class="header_main">
登记修改
<div class="return_btn" @click="onClickLeft"></div>
</div>
<div style="height: 58px;"></div>

<van-form @submit="goSubmit" :show-error-message="false" ref="form">
<div class="main_box">
<van-cell>
<template #title>
<van-icon name="../../../static/images/lawEnforcement/icon/icon_zxfa.png" size="20"></van-icon>
<span class="custom-title">登记<i class="bgBlue"></i></span>
</template>
</van-cell>

<van-field
readonly
clickable
required
:rules="[{ required: true , message:'请选择案件来源' }]"
v-model="caseSource"
label="案件来源"
placeholder="请选择案件来源"
@click="showCaseSource = true"
input-align="right"
right-icon="arrow-down"
:border="false"
label-width="auto"
/>
<van-popup v-model="showCaseSource" position="bottom">
<van-picker
show-toolbar
:columns="caseSourceOptions"
@confirm="onConfirmCaseSource"
@cancel="showCaseSource = false"
/>
</van-popup>

<van-field
readonly
clickable
required
:rules="[{ required: true , message:'请选择关联方案' }]"
v-model="scheme"
label="关联方案"
placeholder="请选择关联方案"
@click="showScheme = true"
input-align="right"
right-icon="arrow-down"
:border="false"
label-width="auto"
/>
<van-popup v-model="showScheme" position="bottom">
<van-picker
show-toolbar
:columns="schemeOptions"
@confirm="onConfirmScheme"
@cancel="showScheme = false"
/>
</van-popup>
<!-- <van-field v-model="form.schemeId" label="关联方案" placeholder="请输入关联方案" :border="false" label-width="auto" input-align="right" />-->

<van-field
readonly
clickable
required
:rules="[{ required: true , message:'请选择案件属地' }]"
v-model="deptName"
label="案件属地"
placeholder="请选择案件属地"
@click="showDeptId = true"
input-align="right"
right-icon="arrow-down"
:border="false"
label-width="auto"
/>
<van-popup v-model="showDeptId" position="bottom">
<van-cascader
v-model="villageValue"
title="请选择案件属地"
:options="deptOptions"
@close="showDeptId = false"
@finish="onConfirmDept"
active-color="#1989fa"
:field-names="hcAreaInfoFieldName"
/>
</van-popup>
<!-- <van-field v-model="form.deptId" label="案件属地" placeholder="请输入案件属地" :border="false" label-width="auto" input-align="right" is-link arrow-direction="down" />-->
<van-field
readonly
clickable
required
:rules="[{ required: true , message:'请选择执行主体' }]"
v-model="belongTeam"
label="执行主体"
placeholder="请选择执行主体"
@click="showBelongTeam = true"
input-align="right"
right-icon="arrow-down"
:border="false"
label-width="auto"
/>
<van-popup v-model="showBelongTeam" position="bottom">
<van-picker
show-toolbar
:columns="belongTeamOptions"
@confirm="onConfirmBelongTeam"
@cancel="showBelongTeam = false"
/>
</van-popup>
<!-- <van-field v-model="form.belongTeam" label="执行主体" placeholder="请输入执行主体" :border="false" label-width="auto" input-align="right" is-link arrow-direction="down" />-->
<van-field v-model="form.caseName" required :rules="[{ required: true , message:'请输入案件名称' }]" label="案件名称" placeholder="请输入案件名称" :border="false" label-width="auto" input-align="right" />

<van-field
readonly
clickable
required
:rules="[{ required: true , message:'请选择登记日期' }]"
v-model="form.registerDate"
label="登记日期"
placeholder="请选择登记日期"
@click="showRegisterDate = true"
input-align="right"
right-icon="arrow-down"
:border="false"
label-width="auto"
/>
<van-popup v-model="showRegisterDate" position="bottom">
<van-datetime-picker
v-model="registerDate"
type="date"
title="选择年月日"
:min-date="minDate"
@confirm="onConfirmRegisterDate"
@cancel="showRegisterDate = false"
/>
</van-popup>

<van-field
readonly
clickable
required
:rules="[{ required: true , message:'请选择执法类别' }]"
v-model="enforceCategory"
label="执法类别"
placeholder="请选择执法类别"
@click="showEnforceCategory = true"
input-align="right"
right-icon="arrow-down"
:border="false"
label-width="auto"
/>
<van-popup v-model="showEnforceCategory" position="bottom">
<van-picker
show-toolbar
:columns="enforceCategoryOptions"
@confirm="onConfirmEnforceCategory"
@cancel="showEnforceCategory = false"
/>
</van-popup>
<!-- <van-field v-model="form.enforceCategory" label="执法类别" placeholder="请输入执法类别" :border="false" label-width="auto" input-align="right" is-link arrow-direction="down" />-->
<van-field v-model="form.caseDescribe" label="案件简述" placeholder="请输入案件简述" :border="false" label-width="auto" input-align="right" />
</div>

<div class="main_box" style="margin-top: 10px;">
<van-collapse v-model="activeNames">
<van-collapse-item name="1">
<template #title>
<van-icon name="../../../static/images/lawEnforcement/icon/icon_dsr.png" size="20"></van-icon>
<span class="custom-title">当事人<i class="bgBlue"></i></span>
</template>

<van-field v-model="form.type" label="当事人类型" :border="false" label-width="auto" input-align="right" >
<template #input>
<van-radio-group v-model="form.type" direction="horizontal">
<van-radio name="1">个人/个体工商户</van-radio>
<van-radio name="2">企业</van-radio>
</van-radio-group>
</template>
</van-field>
<template v-if="form.type=='1'">
<van-field v-model="form.name" required :rules="[{ required: true , message:'请输入当事人姓名' }]" label="当事人姓名" placeholder="请输入当事人姓名" :border="false" label-width="auto" input-align="right" />
<van-field v-if="form.type=='1'" v-model="form.sex" label="性别" placeholder="请输入性别" :border="false" label-width="auto" input-align="right" >
<template v-if="form.type=='1'" #input>
<van-radio-group v-if="form.type=='1'" v-model="form.sex" direction="horizontal">
<van-radio name="1">男</van-radio>
<van-radio name="2">女</van-radio>
</van-radio-group>
</template>
</van-field>
<van-field v-model="form.cardNum" required :rules="[{ required: true , message:'请输入身份证号' }]" label="身份证号" placeholder="请输入身份证号" :border="false" label-width="auto" input-align="right" />

<van-field
readonly
clickable
v-model="form.birthday"
label="出生日期"
placeholder="请选择出生日期"
@click="showBirthday = true"
input-align="right"
right-icon="arrow-down"
:border="false"
label-width="auto"
/>
<van-popup v-model="showBirthday" position="bottom">
<van-datetime-picker
v-model="birthday"
type="date"
title="选择年月日"
:min-date="minDate"
@confirm="onConfirmBirthday"
@cancel="showBirthday = false"
/>
</van-popup>

<van-field
readonly
clickable
v-model="nation"
label="民族"
placeholder="请选择民族"
@click="showNation = true"
input-align="right"
right-icon="arrow-down"
:border="false"
label-width="auto"
/>
<van-popup v-model="showNation" position="bottom">
<van-picker
show-toolbar
:columns="nationOptions"
@confirm="onConfirmNation"
@cancel="showNation = false"
/>
</van-popup>
<!-- <van-field v-model="form.nation" label="民族" placeholder="请输入民族" :border="false" label-width="auto" input-align="right" is-link arrow-direction="down" />-->
<van-field v-model="form.companyPosition" label="工作单位及职务" placeholder="请输入工作单位及职务" :border="false" label-width="auto" input-align="right" />
<van-field v-model="form.zihao" label="字号名称" placeholder="请输入字号名称" :border="false" label-width="auto" input-align="right" />
</template>
<template v-if="form.type=='2'">
<van-field v-model="form.companyName" :rules="[{ required: true , message:'请输入企业名称' }]" label="企业名称" placeholder="请输入企业名称" :border="false" label-width="auto" input-align="right" />
<van-field v-model="form.legalName" label="法人/负责人" placeholder="请输入法人/负责人" :border="false" label-width="auto" input-align="right" />
</template>

<van-field v-model="form.phone" label="联系电话" placeholder="请输入联系电话" :border="false" label-width="auto" input-align="right" />
<van-field v-model="form.address" label="联系地址" placeholder="请输入联系地址" :border="false" label-width="auto" input-align="right" />
<van-field v-model="form.uniformCode" label="统一社会信用代码" placeholder="请输入统一社会信用代码" :border="false" label-width="auto" input-align="right" />
</van-collapse-item>
</van-collapse>
</div>

<div class="main_box" style="margin-top: 10px;">
<van-collapse v-model="activeNames1">
<van-collapse-item name="1">
<template #title>
<van-icon name="../../../static/images/lawEnforcement/icon/icon_ajwd.png" size="20"></van-icon>
<span class="custom-title">附件<i class="bgBlue"></i></span>
</template>
<p style="color: #FE1313;text-align: center;margin-top: 5PX;font-size: .3rem">*请上传不超过5MB 格式为doc/xls/png/jpg/jpeg的文件</p>
<div class="cf">
<van-uploader v-model="form.attachementList" :after-read="afterReadEvidenceForm" :before-delete="deleteFileEvidenceForm" />
</div>
</van-collapse-item>
</van-collapse>
</div>

<!-- <div class="main_box" style="margin-top: 10px;">-->
<!-- <van-collapse v-model="activeNames2">-->
<!-- <van-collapse-item name="1">-->
<!-- <template #title>-->
<!-- <van-icon name="../../../static/images/lawEnforcement/icon/icon_zxry.png" size="20"></van-icon>-->
<!-- <span class="custom-title">执法人员<i class="bgBlue"></i></span>-->
<!-- </template>-->
<!-- <div class="peopleList">-->
<!-- <van-row class="peoplett">-->
<!-- <van-col :span="4">序号</van-col>-->
<!-- <van-col :span="6">执行人员</van-col>-->
<!-- <van-col :span="10">执法证号</van-col>-->
<!-- <van-col :span="4">带队人</van-col>-->
<!-- </van-row>-->
<!-- <van-row v-for="(item,index) in tEnforceCaseHandlerList" :key="index" >-->
<!-- <van-col :span="4">{{index+1}}</van-col>-->
<!-- <van-col :span="6">{{item.enforcerName}}</van-col>-->
<!-- <van-col :span="10">{{item.enforcerNum}}</van-col>-->
<!-- <van-col :span="4">-->
<!-- <div class="icon_box">-->
<!-- <van-checkbox v-model="item.enforcerLeader" shape="square" @change="checkBoxChange(item.enforcerLeader,index)"></van-checkbox>-->
<!-- <van-icon name="../../../static/images/lawEnforcement/icon/icon_delete.png" size="20" @click="removePeople(index)"></van-icon>-->
<!-- </div>-->
<!-- </van-col>-->
<!-- </van-row>-->
<!-- <img src="../../../../static/images/lawEnforcement/new/addPeop_btn.png" style="margin: 0 auto;" @click="$router.push({name:'lawEnforcementCaseLawEnforcer'})">-->
<!-- </div>-->
<!-- </van-collapse-item>-->
<!-- </van-collapse>-->
<!-- </div>-->
<div class="submit_box">
<p class="submitButton" @click="$refs.form.submit()">保存</p>
<p class="submitButton" @click="keepSubmit()">保存并提交</p>
</div>
</van-form>

</div>
</template>

<script>
import { updateCase , addProgress , treeselect , schemeList , addSurvey , getCase , getDeptName , getSurveyByCaseId , commonUpload } from "@/api/lawEnforcement/index";
import Cookies from "js-cookie";
export default {
name: "programmeDetail",
data() {
return {
showCaseSource:false,
showBelongTeam:false,
showEnforceCategory:false,
showDeptId:false,
showScheme:false,
showNation:false,
showBirthday:false,
showRegisterDate:false,
form:{
type:'1',
sex:'1',
registerDate:this.format(new Date(),'yyyy-MM-dd'),
caseProgress:'1',
caseStatus:'1',
},
registerDate:new Date(),
birthday:new Date(),
caseSource : '',
belongTeam : '',
enforceCategory : '',
nation : '',
deptName : '',
scheme : '',
villageValue : '',

tEnforceSchemeHandlerList:[],
minDate: new Date(1900, 0, 1),

activeNames: ['1'],
activeNames1: ['1'],
activeNames2: ['1'],

caseSourceOptions:[],
belongTeamOptions:[],
enforceCategoryOptions:[],
nationOptions:[],
deptOptions:[],
caseProgressOptions:[],
schemeOptions:[],

tEnforceCaseHandlerList:[],
radio:'',
fileList: [],
hcAreaInfoFieldName: {
text: "label",
value: "value",
children: "children",
},

deptId:''
};
},
created() {
//案件来源
this.getDicts("case_source").then(response => {
for (var i = 0; i < response.data.length; i++) {
this.caseSourceOptions.push({text: response.data[i].dictLabel, value: response.data[i].dictValue});
}
this.caseSourceOptions2 = response.data;
});
//执行主体
this.getDicts("team_category").then(response => {
for (var i = 0; i < response.data.length; i++) {
this.belongTeamOptions.push({text: response.data[i].dictLabel, value: response.data[i].dictValue});
}
this.belongTeamOptions2 = response.data;
});
//执法类别
this.getDicts("enforce_category").then(response => {
for (var i = 0; i < response.data.length; i++) {
this.enforceCategoryOptions.push({text: response.data[i].dictLabel, value: response.data[i].dictValue});
}
this.enforceCategoryOptions2 = response.data;
});
//民族
this.getDicts("nationality").then(response => {
for (var i = 0; i < response.data.length; i++) {
this.nationOptions.push({text: response.data[i].dictLabel, value: response.data[i].dictValue});
}
this.nationOptions2 = response.data;
});
this.getDicts("case_node").then(response => {
this.caseProgressOptions = response.data;
});
var schemeQueryParam = {
applyStatus: "1"
};
schemeList(schemeQueryParam).then((response) => {
for (var i = 0; i < response.rows.length; i++) {
this.schemeOptions.push({text: response.rows[i].schemeName, value: response.rows[i].id});
}
});
this.getBookList()
},
methods: {
goSubmit(){
if (typeof this.form.attachement != 'string'){
this.form.attachement = this.form.attachement.join(',');
}
updateCase(this.form).then(response => {
if(response.code=="200"){
this.$notify({ type: 'success', message: '保存成功' });
setTimeout(function(){
history.back(-1);
},2000)
// var progressParam = {
// caseId: response.data,
// caseStatus:"1",
// caseProgress:"1",
// caseProgressName:"登记"
// };
//
// addProgress(progressParam).then(response2 => {
// let surveyForm = {};
// surveyForm.tEnforceCaseHandlerList = this.tEnforceCaseHandlerList;
// surveyForm.caseId = response.data;
// addSurvey(surveyForm).then(response => {
// });
// });
}
});
},
keepSubmit(){
this.form.caseId = this.form.id;
this.form.caseStatus = "1";
this.form.caseProgress = "2"; // 勘察
this.form.caseProgressName = this.selectDictLabel(this.caseProgressOptions, this.form.caseProgress); // 勘察

if (typeof this.form.attachement != 'string'){
this.form.attachement = this.form.attachement.join(',');
}
var _this = this;
this.$dialog.confirm({
message: '提交后案件将进入后续流程并且不能修改,是否确认提交?',
}).then(function () {
// 更新案件的节点和状态
updateCase(_this.form).then(response => {
_this.$notify({ type: 'success', message: '提交成功' });
setTimeout(function(){
history.back(-1);
},2000)
});
});
},
getBookList(){
treeselect().then((response) => {
if (response.code == 200) {
this.deptOptions = response.data;
this.getDetail();
}
})
},
//选择案件来源
onConfirmCaseSource(data){
this.form.caseSource = data.value;
this.caseSource = data.text;
this.showCaseSource = false;
},
//选择案件属地
onConfirmDept({ selectedOptions }){
console.log(selectedOptions[selectedOptions.length-1])
this.form.deptId = selectedOptions[selectedOptions.length-1].value;
this.deptName = selectedOptions[selectedOptions.length-1].label;
this.showDeptId = false
},
//选择执行主体
onConfirmBelongTeam(data){
this.form.belongTeam = data.value;
this.belongTeam = data.text;
this.showBelongTeam = false;
},
//选择执法类别
onConfirmEnforceCategory(data){
this.form.enforceCategory = data.text;
this.enforceCategory = data.text;
this.showEnforceCategory = false;
},
//选择民族
onConfirmNation(data){
this.form.nation = data.value;
this.nation = data.text;
this.showNation = false;
},
//选择关联方案
onConfirmScheme(data){
this.form.schemeId = data.value;
this.scheme = data.text;
this.showScheme = false;
},
//选择登记时间
onConfirmRegisterDate(data){
this.form.registerDate = this.format(data,'yyyy-MM-dd');
this.registerDate = data;
this.showRegisterDate = false;
},
//选择出生日期
onConfirmBirthday(data){
this.form.birthday = this.format(data,'yyyy-MM-dd');
this.birthday = data;
this.showBirthday = false;
},
getDetail(){
getCase(this.$route.query.id).then((response) => {
this.caseSource = response.data.caseSource == '' ? '' : this.selectDictLabel(this.caseSourceOptions2, response.data.caseSource);
this.belongTeam = response.data.belongTeam == '' ? '' : this.selectDictLabel(this.belongTeamOptions2, response.data.belongTeam);
this.nation = response.data.nation == '' ? '' : this.selectDictLabel(this.nationOptions2, response.data.nation);
this.scheme = response.data.schemeId == '' ? '' : this.schemeOptions.filter(function (e) { return e.value == response.data.schemeId; })[0].text;
this.enforceCategory = response.data.enforceCategory;
if (response.data.attachement){
response.data.attachementList = [];
var attachement = response.data.attachement.split( "," );
attachement.forEach(responseAttach=>{
response.data.attachementList.push({
url:'/api' + responseAttach,
isImage: true
});
})
// process.env.VUE_APP_BASE_ROUTING_URL + process.env.VUE_APP_BASE_API
}else{
response.data.attachement = [];
}
getDeptName(response.data.deptId).then(res => {
this.deptName = res.data.deptName
});
this.form = response.data;
});
getSurveyByCaseId(this.$route.query.id).then((response) => {
if(response.data != undefined){
this.tEnforceCaseHandlerList = response.data.tEnforceCaseHandlerList;
}
});
},
afterReadEvidenceForm(file){
let params1 = new FormData();
params1.append("file", file.file);
commonUpload(params1).then((r1) => {
// this.tEnforceSamplingGoodsList[index].attachement.push(r1.fileName);
this.form.attachement.push(r1.fileName)
})
},
deleteFileEvidenceForm(file,detail) {
this.form.attachement.splice(detail.index,1);
this.form.attachementList.splice(detail.index,1);
},
},
watch: {
$route (to, from ) {
// 监听路由变化, 实现类似 小程序的 onShow 事件
if (to.path === '/lawEnforcement/caseAdd') {
console.log('abc')
// do anything you want
if (Cookies.get('enforcer')){
JSON.parse(Cookies.get('enforcer')).map((res,index)=>{
this.tEnforceCaseHandlerList.push(res)
})
}
}
}
},
}
</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;
.van-col{
padding: 5PX 0;
font-size: 12PX!important;
text-align: center;
p{
color: #1D6FE9;
}
}
&: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: 3%;
text-align: center;
.van-row{
margin-bottom: 10PX;
background: rgba(196,218,249,0.3);
border-radius: 5PX;
.van-col{
text-align: center;
font-size: 14PX;
color: #333333;
padding: 5PX 0;
}
&:first-child{
background: none;
.van-col{
padding: 0;
color: #1D6FE9;
}
}
}
.icon_box{
display: flex;
justify-content: space-around;
/deep/ .van-checkbox{
justify-content: center;
}
}
}
.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, #2E79E9 , #77A6EF);
text-align: center;
color: #ffffff;
height: 70px;
line-height: 70px;
border-radius: 8PX;
margin-top: 25PX;
}
.submit_box{
display: flex;
}
.addFamily{
position: absolute;
top: -2px;
right: 0;
border-radius: 50%;
}
</style>

+ 352
- 0
src/views/lawEnforcement/caseAllocation/caseEnforceList.vue 파일 보기

@@ -0,0 +1,352 @@
<template>
<div class="app-container">
<div class="header_main">
执行人员
<div class="return_btn" @click="onClickLeft"></div>
</div>
<div style="height: 58px;"></div>

<div class="search_box">

<!-- v-model="showPopover"-->
<van-popover
trigger="click"
:actions="belongTeamOptions"
@select="popChange"
placement="bottom-start"
>
<template #reference>
<div class="select_box">
<p>{{popValue}}</p>
<!-- <van-icon name="arrow-down" color="#1D6FE9" />-->
</div>
</template>
</van-popover>
<div class="search">
<input type="text" placeholder="请输入执行人姓名/证号" v-model="queryParams.nameOrEnforceNum" />
<img src="../../../../static/images/lawEnforcement/new/index_icon_19.png" @click="goSearch">
</div>
</div>

<div class="main_box" style="margin-top: 10px;">
<div class="peopleList">
<van-row class="peoplett">
<van-col :span="4">带队人</van-col>
<van-col :span="20">执行人员</van-col>
</van-row>
<van-radio-group v-model="radio">
<van-checkbox-group v-model="result">
<van-row v-for="(item,index) in enforcerList" :key="index" >
<van-col :span="4">
<div class="icon_box">
<van-radio :name="item.id"></van-radio>
</div>
</van-col>
<van-col :span="6">{{item.name}}</van-col>
<van-col :span="10">{{item.enforceNum}}</van-col>
<van-col :span="4">
<div class="icon_box">
<van-checkbox :name="item" shape="square"></van-checkbox>
</div>
</van-col>
</van-row>
</van-checkbox-group>
</van-radio-group>
</div>
</div>

<p class="submitButton" @click="choiceEnforcer">确定</p>

</div>
</template>

<script>
import { listEnforcer , getCase , updateSurvey , getSurveyByCaseId } from "@/api/lawEnforcement/index";
import Cookies from "js-cookie";
export default {
name: "programmeDetail",
data() {
return {
showPopover: false,
form:{},
result:[],
radio:'',
queryParams: {
// 分页
pageNum: 1,
pageSize: 999,
// 查询排序
orderByColumn: "id",
isAsc: "desc",
nameOrEnforceNum: null, // 搜索参数-执行人姓名或证件号
belongTeam: '1', // 搜索参数-所在中队
},

enforcerList:[],

searchInput:'',
belongTeamOptions:[],
belongTeamOptions2:[],

popValue:'一中队',
surveyForm:{
tEnforceCaseHandlerList:[]
}

};
},
created() {
this.queryParams.belongTeam = this.$route.query.belongTeam;
this.getDicts("team_category").then(response => {
for (var i = 0; i < response.data.length; i++) {
this.belongTeamOptions.push({text: response.data[i].dictLabel, value: response.data[i].dictValue});
}
this.belongTeamOptions2 = response.data;
this.popValue = this.selectDictLabel(response.data, this.$route.query.belongTeam);
});
this.getDictionaries()
this.getDetail();
},
methods: {
getDictionaries(){
listEnforcer(this.queryParams).then((response) => {
response.rows.map(res=>{
res.belongTeam = res.belongTeam == '' ? '' : this.selectDictLabel(this.belongTeamOptions2, res.belongTeam);
this.enforcerList.push(res);
})
});
},
goSearch(){
this.enforcerList = [];
this.getDictionaries()
},
popChange(action,index){
this.popValue = action.text;
this.queryParams.belongTeam = action.value;
this.enforcerList = [];
this.getDictionaries();
},
choiceEnforcer(){
var that = this ;
this.surveyForm.caseId = this.form.id;
getSurveyByCaseId(this.surveyForm.caseId).then(responseSurvey => {
console.log(responseSurvey.data.tEnforceCaseHandlerList)
this.surveyForm.id = responseSurvey.data.id;
this.result.map(res=>{
console.log(res)
let array1 = responseSurvey.data.tEnforceCaseHandlerList.filter(function (e) { return e.id == res.id; });
if ( array1.length < 1 ){
let obj = {};
obj.relationType = "2";
obj.enforcerId = res.id; // 执法人员ID -- 执法人员选择页面带回值
obj.enforcerName = res.name; // 执法人员姓名 -- 执法人员选择页面带回值
obj.enforcerNum = res.enforceNum; // 执法证号 -- 执法人员选择页面带回值
obj.enforcerLeader = ""; // 是否带队 --勾选赋值
if (this.radio == res.id){
obj.enforcerLeader = "Y"
}
that.surveyForm.tEnforceCaseHandlerList.push(obj)
}
})
setTimeout(function () {
updateSurvey(that.surveyForm).then(response => {
that.$notify({ type: 'success', message: '保存成功' });
setTimeout(function(){
history.back(-1);
},2000)
});
},2000)

});
},
getDetail(){
getCase(this.$route.query.id).then((response) => {
this.form = response.data;
});
},
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
/deep/ .van-collapse-item__content{
padding: 0;
}
/deep/ .van-checkbox{
justify-content: center;
}
.icon_box{
display: flex;
justify-content: space-around;
}
.search_box{
display: flex;
justify-content: space-between;
align-items: center;
width: 92%;
margin: 0PX auto;
.select_box{
border: 1px solid #1D6FE9;
border-radius: 8PX;
padding: 0 12PX ;
background: #ffffff;
height: 30PX;
line-height: 30PX;
display: flex;
justify-content: space-around;
align-items: center;
}
.search{
flex: 1;
background: #ffffff;
display: flex;
justify-content: space-between;
align-items: center;
width: 70%;
margin: 10PX 0 10PX 10PX;
border: 1px solid #1D6FE9;
padding: 1PX 1PX 1PX 12PX ;
border-radius: 8PX;
input{
flex: 1;
background: transparent;
}
}
}
.cf{
padding: 0 3%;
margin-top: 20PX;
margin-bottom: 20PX;
.van-row{
background: #F0F3F5;
.van-col{
padding: 5PX 0;
font-size: 12PX!important;
text-align: center;
p{
color: #1D6FE9;
}
}
&: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: 3%;
text-align: center;
.van-row{
margin-bottom: 10PX;
background: rgba(196,218,249,0.3);
border-radius: 5PX;
.van-col{
text-align: center;
font-size: 14PX;
color: #333333;
padding: 5PX 0;
}
}
.peoplett{
background: none;
.van-col{
padding: 0;
color: #1D6FE9;
}
}
}
.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: 45%;
margin: 0 auto;
background-image: linear-gradient(to right, #2E79E9 , #77A6EF);
text-align: center;
color: #ffffff;
height: 70px;
line-height: 70px;
border-radius: 8PX;
margin-top: 25PX;
}

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

+ 304
- 0
src/views/lawEnforcement/caseAllocation/caseHistory.vue 파일 보기

@@ -0,0 +1,304 @@
<template>
<div class="home_wrapper">
<div class="header_main">
历史任务
<div class="return_btn" @click="onClickLeft"></div>
</div>
<div class="jg"></div>
<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<van-cell center v-for="(item,index) in applicationList" :key="index" :to="{name:'caseDetail', query: {id:item.caseId,caseProgress:item.caseProgress}}">
<template #title>
<div class="first">
<span>{{item.handlerSetDate}}</span>
<span>{{item.caseSource}}</span>
</div>
<span>{{item.caseName}}</span>
</template>
<template #label>
<div class="label">
<p>执法人:{{item.handlerNameStr}}</p>
<p>{{item.caseProgressName}}</p>
</div>
</template>
</van-cell>
</van-list>
</div>
</template>

<script>
import { listSurvey } from "@/api/lawEnforcement/index";
import Cookies from "js-cookie";
import request from '@/utils/request'
export default {
name: "caseAllocation",
data() {
return {
applicationList:[],
applicationListSecond:[],
assetStatusOptions:[],
auditStatus:[],
loading: false,
finished: false,
show: false,
showTab: false,
fileList:[],
listLength:'0',
searchInput:'',
// 查询参数
queryParams: {
// 分页
pageNum: 1,
pageSize: 10,
// 查询排序
orderByColumn: "id",
isAsc: "desc",
caseName: null,
caseProgress: "2",
title:"",
isDistribute: "Y" // 办理人员是否已分配 (查询历史任务传参 “Y” )
},
uploadFiles1:[],
projectId:'',
projectIndex:'',
showBtn:true,
};
},
created() {
this.getDicts("case_source").then(response => {
this.caseSourceOptions = response.data;
});
this.getDicts("case_node").then(response => {
this.caseProgressOptions = response.data;
});
},
methods: {
getList(){
var _this = this;
listSurvey(_this.queryParams).then(response => {
_this.listLength = response.total;
response.rows.map(res=>{
res.caseSource = res.caseSource == '' ? '' : this.selectDictLabel(this.caseSourceOptions, res.caseSource);
res.caseProgressName = res.caseProgress == '' ? '' : this.selectDictLabel(this.caseProgressOptions, res.caseProgress);
_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;
},
/** 删除按钮操作 */
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_add')
},
goDetail(id){
this.$router.push({path:'/sunVillage_info/list_finance_detail',query: {id:id,type:'finance'}})
},
goRanking(id,time){
this.$router.push({path:'/sunVillage_info/list_finance_ranking',query: {id:id,time:time}})
},
goEdit(id){
this.$router.push({path:'/sunVillage_info/list_finance_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">
.jg{
height: 116px;
}
.home_wrapper{
background: #e9e9e9;
min-height: 100vh;
width: 100vw;
padding: 0 0 0.2rem;
.search_box{
display: flex;
justify-content: space-between;
align-items: center;
width: 92%;
margin: 0PX auto;
.search{
background: #ffffff;
display: flex;
justify-content: space-between;
align-items: center;
width: 80%;
margin: 10PX auto;
border: 1px solid #1D6FE9;
padding: 1PX 1PX 1PX 12PX ;
border-radius: 50PX;
input{
flex: 1;
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-cell__title{
.first{
display: flex;
justify-content: space-between;
span{
color: #D60303;
&:first-child{
color: #1D6FE9;
}
}
}
span{
font-family: Arial;
font-size: 0.35rem;
font-weight: normal;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
word-break: break-all;
overflow: hidden;
}
}
/deep/.van-cell__label .label {
display: flex;
justify-content: space-between;
p{
display: inline-block;
font-size: 0.35rem;
&:first-child{
color: #1D6FE9;
}
&:last-child{
padding: 0 7PX;
border: 1px solid #666666;
color: #666666;
border-radius: 1rem;
}
}
}
/deep/.van-cell__value{
flex: 0.3;
color: #1D6FE9;
font-weight: bold;
}
/deep/.van-cell{
margin-bottom: 0.2rem;
overflow: hidden;
}
/deep/.van-cell:first-child{
margin-top: 0.2rem;
}
/deep/van-ellipsis{
font-weight: bold;
}
.van-row{
height: 100%;
}
.van-col{
height: 100%;
}
.delete-button {
height: 100%;
}
</style>

+ 316
- 0
src/views/lawEnforcement/caseAllocation/caseLawEnforcer.vue 파일 보기

@@ -0,0 +1,316 @@
<template>
<div class="app-container">
<div class="header_main">
执行人员
<div class="return_btn" @click="onClickLeft"></div>
</div>
<div style="height: 58px;"></div>

<div class="search_box">
<van-popover
v-model="showPopover"
trigger="click"
:actions="belongTeamOptions"
@select="popChange"
placement="bottom-start"
>
<template #reference>
<div class="select_box">
<p>{{popValue}}</p>
<van-icon name="arrow-down" color="#1D6FE9" />
</div>
</template>
</van-popover>
<div class="search">
<input type="text" placeholder="请输入执行人姓名/证号" v-model="queryParams.nameOrEnforceNum" />
<img src="../../../../static/images/lawEnforcement/new/index_icon_19.png" @click="goSearch">
</div>
</div>

<div class="main_box" style="margin-top: 10px;">
<div class="peopleList">
<van-row class="peoplett">
<van-col :span="4">执行主体</van-col>
<van-col :span="20">执行人员</van-col>
</van-row>

<van-checkbox-group v-model="result">
<van-row v-for="(item,index) in enforcerList" :key="index" >
<van-col :span="4">{{item.belongTeam}}</van-col>
<van-col :span="6">{{item.name}}</van-col>
<van-col :span="10">{{item.enforceNum}}</van-col>
<van-col :span="4">
<div class="icon_box">
<van-checkbox :name="item" shape="square"></van-checkbox>
</div>
</van-col>
</van-row>
</van-checkbox-group>
</div>
</div>

<p class="submitButton" @click="choiceEnforcer">确定</p>

</div>
</template>

<script>
import { listEnforcer } from "@/api/lawEnforcement/index";
import Cookies from "js-cookie";
export default {
name: "programmeDetail",
data() {
return {
showPopover: false,
form:{},
result:[],
queryParams: {
// 分页
pageNum: 1,
pageSize: 999,
// 查询排序
orderByColumn: "id",
isAsc: "desc",
nameOrEnforceNum: null, // 搜索参数-执行人姓名或证件号
belongTeam: '1', // 搜索参数-所在中队
},

enforcerList:[],

searchInput:'',
belongTeamOptions:[],
belongTeamOptions2:[],

popValue:'一中队'

};
},
created() {
this.getDicts("team_category").then(response => {
for (var i = 0; i < response.data.length; i++) {
this.belongTeamOptions.push({text: response.data[i].dictLabel, value: response.data[i].dictValue});
}
this.belongTeamOptions2 = response.data;
});
this.getDictionaries()
},
methods: {
getDictionaries(){
listEnforcer(this.queryParams).then((response) => {
response.rows.map(res=>{
res.belongTeam = res.belongTeam == '' ? '' : this.selectDictLabel(this.belongTeamOptions2, res.belongTeam);
this.enforcerList.push(res);
})
});
},
goSearch(){
this.enforcerList = [];
this.getDictionaries()
},
popChange(action,index){
this.popValue = action.text;
this.queryParams.belongTeam = action.value;
this.enforcerList = [];
this.getDictionaries();
},
choiceEnforcer(){
const list = [];
this.result.map(res=>{
let obj = {};
obj.relationType = "2";
obj.enforcerId = res.id; // 执法人员ID -- 执法人员选择页面带回值
obj.enforcerName = res.name; // 执法人员姓名 -- 执法人员选择页面带回值
obj.enforcerNum = res.enforceNum; // 执法证号 -- 执法人员选择页面带回值
obj.enforcerLeader = ""; // 是否带队 --勾选赋值
list.push(obj)
})
Cookies.set("enforcer", list);
Cookies.set("enforcerOld", this.result);
history.back(-1);
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
/deep/ .van-collapse-item__content{
padding: 0;
}
/deep/ .van-checkbox{
justify-content: center;
}
.icon_box{
display: flex;
justify-content: space-around;
}
.search_box{
display: flex;
justify-content: space-between;
align-items: center;
width: 92%;
margin: 0PX auto;
.select_box{
border: 1px solid #1D6FE9;
border-radius: 8PX;
padding: 0 12PX ;
background: #ffffff;
height: 30PX;
line-height: 30PX;
display: flex;
justify-content: space-around;
align-items: center;
}
.search{
flex: 1;
background: #ffffff;
display: flex;
justify-content: space-between;
align-items: center;
width: 70%;
margin: 10PX 0 10PX 10PX;
border: 1px solid #1D6FE9;
padding: 1PX 1PX 1PX 12PX ;
border-radius: 8PX;
input{
flex: 1;
background: transparent;
}
}
}
.cf{
padding: 0 3%;
margin-top: 20PX;
margin-bottom: 20PX;
.van-row{
background: #F0F3F5;
.van-col{
padding: 5PX 0;
font-size: 12PX!important;
text-align: center;
p{
color: #1D6FE9;
}
}
&: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: 3%;
text-align: center;
.van-row{
margin-bottom: 10PX;
background: rgba(196,218,249,0.3);
border-radius: 5PX;
.van-col{
text-align: center;
font-size: 14PX;
color: #333333;
padding: 5PX 0;
}
}
.peoplett{
background: none;
.van-col{
padding: 0;
color: #1D6FE9;
}
}
}
.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: 45%;
margin: 0 auto;
background-image: linear-gradient(to right, #2E79E9 , #77A6EF);
text-align: center;
color: #ffffff;
height: 70px;
line-height: 70px;
border-radius: 8PX;
margin-top: 25PX;
}

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

+ 283
- 0
src/views/lawEnforcement/caseAllocation/caseListNew.vue 파일 보기

@@ -0,0 +1,283 @@
<template>
<div class="home_wrapper">
<div class="header_main">
登记列表
<div class="return_btn" @click="onClickLeft"></div>
</div>
<div style="height: 58px;"></div>
<div class="search_box">
<div class="search">
<input type="text" v-model="searchInput" placeholder="请输入登记名称" />
<img src="../../../../static/images/lawEnforcement/new/index_icon_04.png" @click="goSearch">
</div>
<img src="../../../../static/images/lawEnforcement/new/list_icon_03.png" @click="$router.push({name:'lawEnforcementCaseAdd'})"/>
</div>

<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<van-swipe-cell v-for="(item,index) in list" :key="index" :disabled="item.caseProgress > 4">
<van-cell :title="item.caseName" center :to="{name:'lawEnforcementCaseDetailNew', query: {id:item.id}}">
<template #icon>
<van-icon name="../../../../static/images/lawEnforcement/new/list_icon_01.png" size="20" color="#FF4646" style="margin-right: 10px;" />
</template>
<template #label>
<p>{{item.caseSourceText}}</p>
<p>第{{item.belongTeamText}}</p>
<p>{{item.registerDate}}</p>
<p>{{ item.caseProgressName}}</p>
</template>
</van-cell>
<template #right>
<van-row>
<van-col>
<van-button v-if="item.caseProgress == 1" square text="修改" type="info" :to="{name:'lawEnforcementCaseEdit', query: {id:item.id}}" class="delete-button" />
</van-col>
<van-col>
<van-button v-if="item.caseProgress == 1" square text="删除" type="danger" @click="deleteCase(item.id)" class="delete-button" />
</van-col>
<van-col>
<van-button v-if="item.caseProgress == 1" color="#FFA63E" square text="提交" type="info" @click="submitCase(item)" class="delete-button" />
</van-col>
<van-col>
<van-button v-if="item.caseProgress != 1" color="#1CB8B1" square type="info" :to="{name:'lawEnforcementCaseEnforceList', query: {id:item.id,belongTeam:item.belongTeam}}" class="delete-button" >添加<br/>执法<br/>员</van-button>
</van-col>
</van-row>
</template>
</van-swipe-cell>
</van-list>
</div>
</template>

<script>
import { listCase , delCase , updateCase } from "@/api/lawEnforcement/index";
export default {
name: "caseAllocation",
data() {
return {
loading: false,
finished: false,
searchInput:'',
queryApplyParams: {
// 分页
pageNum: 1,
pageSize: 10,
// 查询排序
orderByColumn: "id",
isAsc: "desc",
caseName: null,
caseProgress: "1",
createBy: "use",
},
list:[],
belongTeamOptions:[],
caseSourceOptions:[],
caseProgressOptions:[],
};
},
created() {
this.getDicts("case_source").then(response => {
this.caseSourceOptions = response.data;
});
this.getDicts("team_category").then(response => {
this.belongTeamOptions = response.data;
});
this.getDicts("case_node").then(response => {
this.caseProgressOptions = response.data;
});
},
methods: {
getList(){
var _this = this;
listCase(_this.queryApplyParams).then(response => {
response.rows.map(res=>{
res.caseSourceText = res.caseSource == '' ? '' : this.selectDictLabel(this.caseSourceOptions, res.caseSource);
res.belongTeamText = res.belongTeam == '' ? '' : this.selectDictLabel(this.belongTeamOptions, res.belongTeam);
res.caseProgressName = res.caseProgress == '' ? '' : this.selectDictLabel(this.caseProgressOptions, res.caseProgress);

this.list.push(res);
})
console.log(this.list.length)
if(this.list.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.queryApplyParams.pageNum += 1 ;
}
});
},
goSearch(){
// if (this.searchInput == ''){
// location.reload()
// }
this.list = [];
this.queryApplyParams.caseName = this.searchInput;
this.queryApplyParams.pageNum = 1 ;
this.loading = false;
this.finished = false;
// this.getList();
},
deleteCase(id){
this.$dialog.confirm({
message: '是否确认删除案件登记标识为"' + id + '"的数据项?',
}).then(function () {
return delCase(id);
}).then(() => {
this.list = [];
this.loading = false;
this.finished = false;
this.queryApplyParams.pageNum = 1 ;
this.getList();
this.$notify({ type: 'success', message: '删除成功' });
}).catch(() => {});
},
submitCase(data){
var _this = this;
data.caseId = data.id;
data.caseStatus = "1";
data.caseProgress = "2"; // 勘察
data.caseProgressName = this.selectDictLabel(this.caseProgressOptions, data.caseProgress); // 勘察
this.$dialog.confirm({
message: '提交后案件将进入后续流程并且不能修改,是否确认提交?',
}).then(function () {
// 更新案件的节点和状态
updateCase(data).then(response => {
_this.$notify({ type: 'success', message: '提交成功' });
});
}).then(() => {
this.list = [];
this.loading = false;
this.finished = false;
this.queryApplyParams.pageNum = 1 ;
this.getList();
this.$notify({ type: 'success', message: '提交成功' });
}).catch(() => {});
}
},
}
</script>

<style scoped lang="scss">
.home_wrapper{
background: #e9e9e9;
min-height: 100vh;
width: 100vw;
padding: 0 3% 0.2rem;
.search_box{
display: flex;
justify-content: space-between;
align-items: center;
width: 92%;
margin: 0PX auto;
.search{
background: #ffffff;
display: flex;
justify-content: space-between;
align-items: center;
width: 100%;
margin: 10PX auto;
border: 1px solid #1D6FE9;
padding: 1PX 1PX 1PX 12PX ;
border-radius: 50PX;
margin-right: 10PX;
input{
flex: 1;
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-cell__title span{
font-family: Arial;
font-size: 0.4rem;
font-weight: normal;
color: #666666;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
word-break: break-all;
overflow: hidden;
}
/deep/.van-cell__label {
display: flex;
justify-content: space-between;
p{
display: inline-block;
&:first-child{
background: rgba(28,184,177,0.2);
padding: 0 5PX;
border-radius: 3PX;
color: #1CB8B1;
}
&:last-child{
padding: 0 7PX;
border: 1px solid #1D6FE9;
color: #1D6FE9;
border-radius: 1rem;
}
}
}
/deep/.van-cell__value{
flex: 0.3;
color: #1D6FE9;
font-weight: bold;
}
/deep/.van-swipe-cell{
margin-bottom: 0.2rem;
border-radius: 0.2rem;
overflow: hidden;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
.van-swipe-cell__right{
right: -2PX;
}
}
/deep/van-ellipsis{
font-weight: bold;
}
.van-row{
height: 100%;
}
.van-col{
height: 100%;
}
.delete-button {
height: 100%;
}
</style>

+ 280
- 0
src/views/lawEnforcement/caseAllocation/caseReturn.vue 파일 보기

@@ -0,0 +1,280 @@
<template>
<div class="app-container">
<div class="header_main">
退回案件
<div class="return_btn" @click="onClickLeft"></div>
</div>
<div style="height: 58px;"></div>
<div class="main_box">
<van-cell>
<template #title>
<van-icon name="../../../static/images/lawEnforcement/icon/icon_zxfa.png" size="20"></van-icon>
<span class="custom-title">登记<i class="bgBlue"></i></span>
</template>
</van-cell>
<van-cell title="案件来源" :border="false" v-model="form.caseSource" />
<van-cell title="关联方案" :border="false" v-model="form.schemeId" />
<van-cell title="案件属地" :border="false" v-model="form.deptId" />
<van-cell title="执行主体" :border="false" v-model="form.belongTeam" />
<van-cell title="案件名称" :border="false" v-model="form.caseName" />
<van-cell title="登记日期" :border="false" v-model="form.registerDate" />
<van-cell title="执法类别" :border="false" v-model="form.enforceCategory" />
<van-cell title="案件简述" :border="false" v-model="form.caseDescribe" />
</div>

<div class="main_box" style="margin-top: 10px;padding-bottom: 15px;">
<van-cell>
<template #title>
<van-icon name="../../../static/images/lawEnforcement/icon/icon_cfky.png" size="20"></van-icon>
<span class="custom-title">退回原因<i class="bgBlue"></i></span>
</template>
</van-cell>
<div class="textarea_box">
<van-field
v-model="message"
rows="5"
autosize
type="textarea"
maxlength="300"
placeholder="请简述退回原因~"
show-word-limit
/>
</div>
</div>
<p class="submitButton" @click="goSubmit">确定</p>
</div>
</template>

<script>
import { getCase , getDeptName , returnCase } from "@/api/lawEnforcement/index";
export default {
name: "programmeDetail",
data() {
return {
showBankType:false,
showPayeeType:false,
showPicker:false,
form:{},

bankType:'',
payeeType:'',
value:'',

bankTypeOptions:[],
payeeTypeOptions:[],
tEnforceSchemeHandlerList:[],
minDate: new Date(2020, 0, 1),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(2021, 0, 17),

activeNames: ['1'],
activeNames1: ['1'],
activeNames2: ['1'],

caseSourceOptions:[],
belongTeamOptions:[],

// 查询参数
queryParams: {
// 分页
pageNum: 1,
pageSize: 10,
// 查询排序
orderByColumn: "id",
isAsc: "desc",
name: null, // 搜索参数-执行人姓名或证件号
belongTeam: null, // 搜索参数-所在中队
},
tEnforceCaseHandlerList:[],
radio:'',
submitType:'',
surveyId:'',
message:''
};
},
created() {
// this.getDictionaries()
this.getDicts("case_source").then(response => {
this.caseSourceOptions = response.data;
});
this.getDicts("team_category").then(response => {
this.belongTeamOptions = response.data;
});
this.getDicts("enforce_body_type").then(response => {
this.typeOptions = response.data;
});
this.getDetail();
},
methods: {
getDetail(){
getCase(this.$route.query.id).then((response) => {
response.data.caseSource = response.data.caseSource == '' ? '' : this.selectDictLabel(this.caseSourceOptions, response.data.caseSource);
response.data.belongTeam = response.data.belongTeam == '' ? '' : this.selectDictLabel(this.belongTeamOptions, response.data.belongTeam);
response.data.type = response.data.type == '' ? '' : this.selectDictLabel(this.typeOptions, response.data.type);
getDeptName(response.data.deptId).then(res => {
response.data.deptId = res.data.deptName
});
this.form = response.data;
});
},
goSubmit(){
var caseParam = {
id: this.$route.query.id,
caseProgress:"2", // 默认传参2
returnReson: this.message, // 输入框内容值
};
returnCase(caseParam).then(response => {
if(response.code==200){
this.$notify({ type: 'success', message: '退回成功' });
setTimeout(function(){
history.back(-1);
},2000)
}
});
}
},
}
</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;
.van-col{
padding: 5PX 0;
font-size: 12PX!important;
text-align: center;
p{
color: #1D6FE9;
}
}
&: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-right: 3%;
.van-row{
margin-bottom: 10PX;
.van-col{
text-align: center;
font-size: 14PX;
}
&:first-child{
.van-col{
color: #1D6FE9;
}
}
}
}
.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;
}
}

.addFamily{
position: absolute;
top: -2px;
right: 0;
border-radius: 50%;
}
.textarea_box{
border: 2px solid #C9C9C9;
width: 94%;
margin: 0 auto;
border-radius: 8PX;
overflow: hidden;
margin-top: 10PX;
}
.submitButton{
width: 45%;
margin: 0 auto;
background-image: linear-gradient(to right, #2E79E9 , #77A6EF);
text-align: center;
color: #ffffff;
height: 70px;
line-height: 70px;
border-radius: 8PX;
margin-top: 25PX;
}
</style>

+ 109
- 0
src/views/lawEnforcement/caseDistribution/caseDistribution.vue 파일 보기

@@ -0,0 +1,109 @@
<template>
<div class="home_wrapper">
<div class="header_main">
案件分布
<div class="return_btn" @click="onClickLeft"></div>
</div>
<div style="height: 58px;"></div>

<div class="tab">
<van-dropdown-menu active-color="#1989fa">
<van-dropdown-item v-model="value1" :options="option1" />
<van-dropdown-item v-model="value2" :options="option2" />
</van-dropdown-menu>
</div>

</div>
</template>

<script>
import { financePublicList,openRemove } from "@/api/sunVillage_info/fixedAssets";
import Cookies from "js-cookie";
import request from '@/utils/request'
import * as echarts from 'echarts';
export default {
name: "caseAllocation",
data() {
return {
value1: 0,
value2: 'a',
option1: [
{ text: '2022', value: 0 },
{ text: '2021', value: 1 },
{ text: '2020', value: 2 },
],
option2: [
{ text: '全部', value: 'a' },
{ text: '羊亭镇', value: 'b' },
{ text: '张村镇', value: 'c' },
{ text: '桥头镇', value: 'd' },
{ text: '温泉镇', value: 'e' },
],
};
},
created() {

},
mounted(){
},
methods: {
},
}
</script>

<style scoped lang="scss">
.home_wrapper{
background: #e9e9e9;
min-height: 100vh;
width: 100vw;
padding: 0 ;
background: url('../../../../static/images/lawEnforcement/new/map.png') no-repeat 27%;
background-size: auto 100%;
.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;
}
}
}
.tab{
width: 94%;
position: absolute;
top: 130px;
left: 3%;
border-radius: 8PX;
overflow: hidden;
/deep/ .van-dropdown-item__content{
width: 94%;
left: 3%;
border-bottom-left-radius: 8PX;
border-bottom-right-radius: 8PX;
}
}
</style>

+ 211
- 0
src/views/lawEnforcement/caseQuery/caseQuery.vue 파일 보기

@@ -0,0 +1,211 @@
<template>
<div class="home_wrapper">
<div class="header_main">
案件查询
<div class="return_btn" @click="onClickLeft"></div>
</div>
<div style="height: 58px;"></div>
<div class="search_box">
<div class="search">
<input type="text" v-model="searchInput" placeholder="请输入案件名称" />
<img src="../../../../static/images/lawEnforcement/new/index_icon_04.png" @click="goSearch">
</div>
</div>

<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<van-swipe-cell v-for="(item,index) in list" :key="index">
<van-cell :title="item.caseName" :to="{name:'caseDetail', query: {id:item.id,caseProgress:item.caseProgress}}">
<template #label>
<p v-if="item.caseNum == null">无</p>
<p v-else>{{item.caseNumPart1}}农 {{item.caseNumPart2}} {{item.caseNumPartType}} [{{item.caseNumPart3}}] {{item.caseNum}}号</p>
<p>{{item.caseProgressText}}</p>
</template>
</van-cell>
<template #right>
<van-row>
<van-col>
<van-button square type="info" :to="{name:'lawEnforcementCaseQueryDocument', query: {id:item.id}}" class="delete-button" >归档<br/>详情</van-button>
</van-col>
</van-row>
</template>
</van-swipe-cell>
</van-list>
</div>
</template>

<script>
import { listCase } from "@/api/lawEnforcement/index";
export default {
name: "caseAllocation",
data() {
return {
loading: false,
finished: false,
searchInput:'',
caseQueryParams:{
// 分页
pageNum: 1,
pageSize: 10,
// 查询排序
orderByColumn: "id",
isAsc: "desc",
caseName: null
},
list:[]
};
},
created() {
this.getDicts("case_node").then(response => {
this.caseProgressOptions = response.data;
});
this.getDicts("case_source").then(response => {
this.caseSourceOptions = response.data;
});
},
methods: {
getList(){
var _this = this;
listCase(_this.caseQueryParams).then(response => {
response.rows.map(res=>{
res.caseProgressText = res.caseProgress == '' ? '' : this.selectDictLabel(this.caseProgressOptions, res.caseProgress);
_this.list.push(res);
})
if(_this.list.length >= response.total){
_this.finished = true;
return;
}else{
_this.loading = false;
_this.caseQueryParams.pageNum += 1 ;
}

});
},
goSearch(){
if (this.searchInput == ''){
location.reload()
}
this.list = [];
this.caseQueryParams.caseName = this.searchInput;
this.caseQueryParams.pageNum = 1 ;
this.getList();
},
},
}
</script>

<style scoped lang="scss">
.home_wrapper{
background: #e9e9e9;
min-height: 100vh;
width: 100vw;
padding: 0 3% 0.2rem;
.search_box{
display: flex;
justify-content: space-between;
align-items: center;
width: 92%;
margin: 0PX auto;
.search{
background: #ffffff;
display: flex;
justify-content: space-between;
align-items: center;
width: 100%;
margin: 10PX auto;
border: 1px solid #1D6FE9;
padding: 1PX 1PX 1PX 12PX ;
border-radius: 50PX;
input{
flex: 1;
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-cell__title span{
font-family: Arial;
font-size: 0.4rem;
font-weight: normal;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
word-break: break-all;
overflow: hidden;
}
/deep/.van-cell__label {
display: flex;
justify-content: space-between;
p{
display: inline-block;
color: #1D6FE9;
font-size: 0.35rem;
&:last-child{
background: rgba(254,19,19,0.2);
padding: 0 5PX;
border-radius: 3PX;
color: #FE1313;
}
}
}
/deep/.van-cell__value{
flex: 0.3;
color: #1D6FE9;
font-weight: bold;
}
/deep/.van-swipe-cell{
margin-bottom: 0.2rem;
border-radius: 0.2rem;
overflow: hidden;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
}
/deep/van-ellipsis{
font-weight: bold;
}
.van-row{
height: 100%;
}
.van-col{
height: 100%;
}
.delete-button {
height: 100%;
}
</style>

+ 326
- 0
src/views/lawEnforcement/caseQuery/caseQueryDocument.vue 파일 보기

@@ -0,0 +1,326 @@
<template>
<div class="app-container">
<div class="header_main">
归档详情
<div class="return_btn" @click="onClickLeft"></div>
</div>
<div style="height: 58px;"></div>

<div class="search_box">
<p>{{caseName}}</p>
</div>

<div class="main_box" style="margin-bottom: 10px;" v-for="(item,index) in attaCount" :key="index">
<van-cell>
<template #title>
<van-icon name="../../../static/images/lawEnforcement/icon/icon_zxfa.png" size="20"></van-icon>
<span class="custom-title">{{item.caseProgressName}}<i class="bgBlue"></i></span>
</template>
</van-cell>
<div class="peopleList">
<van-row v-for="(itemChildren,indexChildren) in item.caseProgressAttach" :key="indexChildren" >
<van-col :span="20">
<img src="../../../../static/images/lawEnforcement/icon/record_icon_03.png"/>
<p>{{itemChildren.substr(51,itemChildren.length)}}</p>
</van-col>
<van-col :span="4">
<a :href="'/api'+itemChildren">下载</a>
</van-col>
</van-row>
<van-empty v-if="item.caseProgressAttach == null || item.caseProgressAttach == undefined || item.caseProgressAttach == '' " description="暂无文件" />
</div>
</div>

<!-- <div class="main_box" style="margin-top: 10px;">-->
<!-- <van-cell>-->
<!-- <template #title>-->
<!-- <van-icon name="../../../static/images/lawEnforcement/icon/icon_kc.png" size="20"></van-icon>-->
<!-- <span class="custom-title">勘察<i class="bgBlue"></i></span>-->
<!-- </template>-->
<!-- </van-cell>-->
<!-- <div class="peopleList">-->
<!-- <van-row v-for="(item,index) in kanchaList" :key="index" >-->
<!-- <van-col :span="20">-->
<!-- <img src="../../../../static/images/lawEnforcement/icon/record_icon_03.png" />-->
<!-- <p>{{item[index].substr(27,item[index].length)}}</p>-->
<!-- </van-col>-->
<!-- <van-col :span="4">-->
<!-- <a :href="'/api'+item[index]">下载</a>-->
<!-- </van-col>-->
<!-- </van-row>-->
<!-- <van-empty v-if="kanchaList == null || kanchaList == undefined || kanchaList == '' " description="暂无文件" />-->
<!-- </div>-->
<!-- </div>-->

<!-- <div class="main_box" style="margin-top: 10px;">-->
<!-- <van-cell>-->
<!-- <template #title>-->
<!-- <van-icon name="../../../static/images/lawEnforcement/icon/icon_ajwd.png" size="20"></van-icon>-->
<!-- <span class="custom-title">备案<i class="bgBlue"></i></span>-->
<!-- </template>-->
<!-- </van-cell>-->
<!-- <div class="peopleList">-->
<!-- <van-row v-for="(item,index) in beianList" :key="index" >-->
<!-- <van-col :span="20">-->
<!-- <img src="../../../../static/images/lawEnforcement/icon/record_icon_03.png"/>-->
<!-- <p>{{item[index].substr(27,item[index].length)}}</p>-->
<!-- </van-col>-->
<!-- <van-col :span="4">-->
<!-- <a :href="'/api'+item[index]">下载</a>-->
<!-- </van-col>-->
<!-- </van-row>-->
<!-- <van-empty v-if="beianList == null || beianList == undefined || beianList == '' " description="暂无文件" />-->
<!-- </div>-->
<!-- </div>-->

</div>
</template>

<script>
import { attachmentList , getCase } from "@/api/lawEnforcement/index";
export default {
name: "programmeDetail",
data() {
return {
showPopover: false,
// 通过 actions 属性来定义菜单选项
actions: [{ text: '选项一' }, { text: '选项二' }, { text: '选项三' }],
checked:'',
showBankType:false,
showPayeeType:false,
showPicker:false,
form:{},

bankType:'',
payeeType:'',
value:'',
caseName:'',

bankTypeOptions:[],
payeeTypeOptions:[],
tEnforceSchemeHandlerList:[],
minDate: new Date(2020, 0, 1),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(2021, 0, 17),

activeNames: ['1'],
activeNames1: ['1'],
activeNames2: ['1'],

dengjiList:[],
kanchaList:[],
beianList:[],
attaCount:{}
};
},
created() {
getCase(this.$route.query.id).then((response) => {
this.caseName = response.data.caseName;
});
this.getList()
},
methods: {
getList(){
var _this = this;
let caseQueryParams = {
caseId:this.$route.query.id
}
attachmentList(caseQueryParams).then(response => {
response.rows.forEach(res=>{
if (res.caseProgressAttach){
res.caseProgressAttach = res.caseProgressAttach.split(',');
}
})
setTimeout(function(){
_this.attaCount = response.rows;
},2000)
});
},
goBack(){
window.history.go(-1)
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
/deep/ .van-collapse-item__content{
padding: 0;
}
/deep/ .van-checkbox{
justify-content: center;
}
.icon_box{
display: flex;
justify-content: space-around;
}
.search_box{
display: flex;
justify-content: center;
align-items: center;
width: 92%;
margin: 10PX auto;
color: #1D6FE9;
font-size: 0.4rem;
text-align: center;
}
.cf{
padding: 0 3%;
margin-top: 20PX;
margin-bottom: 20PX;
.van-row{
background: #F0F3F5;
.van-col{
padding: 5PX 0;
font-size: 12PX!important;
text-align: center;
p{
color: #1D6FE9;
}
}
&: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--20{
display: flex;
align-items: center;
p{
margin-left: 10PX;
}
}
.van-col--4{
display: flex;
justify-content: right;
a{
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: 45%;
margin: 0 auto;
background-image: linear-gradient(to right, #2E79E9 , #77A6EF);
text-align: center;
color: #ffffff;
height: 70px;
line-height: 70px;
border-radius: 8PX;
}
.submit_box{
position: fixed;
bottom: 0;
width: 100%;
background: #ffffff;
padding: 25PX 0;
}
.addFamily{
position: absolute;
top: -2px;
right: 0;
border-radius: 50%;
}
</style>

+ 314
- 0
src/views/lawEnforcement/caseStatistics/caseStatistics.vue 파일 보기

@@ -0,0 +1,314 @@
<template>
<div class="home_wrapper">
<div class="header_main">
案件统计
<div class="return_btn" @click="onClickLeft"></div>
</div>
<div style="height: 58px;"></div>

<div class="top_main">
<img src="../../../../static/images/lawEnforcement/icon/statistics_icon_01.png">
<div class="main_text">
<p>156</p>
<p>案件数量</p>
</div>
<van-popover
v-model="showPopover"
trigger="click"
:actions="actions"
placement="bottom-end"
>
<template #reference>
<div class="select_box">
<p>2022</p>
<van-icon name="arrow-down" color="#ffffff" />
</div>
</template>
</van-popover>
</div>

<div class="main_box" style="margin-top: 10px;">
<p class="tit">案件分类统计</p>

<div id="main" style="width: 100%;height: 200px;margin-top: 10px"></div>

</div>

<div class="main_box" style="margin-top: 10px;">
<p class="tit">案件来源分析</p>

<div id="main2" style="width: 100%;height: 200px;margin-top: 10px"></div>

<div class="len_box">
<div class="len_box_01">
<p><i></i>计划执法</p>
<p>64</p>
</div>
<div class="len_box_02">
<p><i></i>计划执法</p>
<p>64</p>
</div>
<div class="len_box_03">
<p><i></i>计划执法</p>
<p>64</p>
</div>
<div class="len_box_04">
<p><i></i>计划执法</p>
<p>64</p>
</div>
</div>

</div>

<div class="main_box" style="margin-top: 10px;">
<p class="tit">案件月度走势</p>

<div id="main3" style="width: 100%;height: 200px;margin-top: 10px"></div>

</div>

</div>
</template>

<script>
import { financePublicList,openRemove } from "@/api/sunVillage_info/fixedAssets";
import Cookies from "js-cookie";
import request from '@/utils/request'
import * as echarts from 'echarts';
export default {
name: "caseAllocation",
data() {
return {
showPopover: false,
// 通过 actions 属性来定义菜单选项
actions: [{ text: '选项一' }, { text: '选项二' }, { text: '选项三' }],
};
},
created() {

},
mounted(){
this.chart();
this.chart2();
this.chart3();
},
methods: {
chart(){
var chartDom = document.getElementById('main');
var myChart = echarts.init(chartDom);
var option;

option = {
tooltip: {
trigger: 'item'
},
series: [
{
type: 'pie',
radius: ['40%', '70%'],
data: [
{ value: 1048, name: '农药 1048' },
{ value: 735, name: '种子 735' },
{ value: 580, name: '肥料 580' },
{ value: 484, name: '屠宰 484' },
{ value: 300, name: '动检 300' },
{ value: 300, name: '兽药 300' },
{ value: 300, name: '植检 300' },
{ value: 300, name: '饲料 300' },
{ value: 300, name: '其他 300' },
]
}
]
};

option && myChart.setOption(option);
},
chart2(){
var chartDom = document.getElementById('main2');
var myChart = echarts.init(chartDom);
var option;

option = {
tooltip: {
trigger: 'item'
},
series: [
{
type: 'pie',
radius: ['40%', '70%'],
data: [
{ value: 1048, name: '农药 1048' },
{ value: 735, name: '种子 735' },
{ value: 580, name: '肥料 580' },
{ value: 484, name: '屠宰 484' },
]
}
]
};

option && myChart.setOption(option);
},
chart3(){
var chartDom = document.getElementById('main3');
var myChart = echarts.init(chartDom);
var option;

option = {
grid: {
top:'5%',
left: '3%',
right: '4%',
bottom: '3%',
containLabel: true
},
xAxis: {
type: 'category',
data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月']
},
yAxis: {
type: 'value'
},
series: [
{
data: [150, 230, 224, 218, 135, 147, 260, 224, 218, 135, 147, 260],
type: 'line'
}
]
};

option && myChart.setOption(option);
}
},
}
</script>

<style scoped lang="scss">
.home_wrapper{
background: #e9e9e9;
min-height: 100vh;
width: 100vw;
padding: 0 3% 0.2rem;
.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;
}
}
}
.top_main{
display: flex;
align-items: center;
background: url('../../../../static/images/lawEnforcement/new/list_head.png') no-repeat;
background-size: 100% 100%;
color: #ffffff;
padding: 15PX;
margin-top: 10PX;
border-radius: 8PX;
.main_text{
margin-left: 15PX;
p{
&:first-child{
font-size: .6rem;
}
}
}
/deep/ .van-popover__wrapper{
margin-left: auto;
}
}
.select_box{
border: 1px solid #ffffff;
border-radius: 50PX;
padding: 0 12PX ;
height: 25PX;
line-height: 25PX;
display: flex;
justify-content: space-around;
align-items: center;
p{
margin-right: 10PX;
}
}
.main_box {
width: 100%;
margin: 0 auto;
border-radius: 10PX;
box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16);
overflow: hidden;
background-color: #FFF;
padding: 15PX;
.tit{
background: url('../../../../static/images/lawEnforcement/icon/statistics_icon_02.png') no-repeat left center;
padding-left: 10PX;
font-size: .4rem;
}
}
.len_box{
display: flex;
justify-content: space-between;
div{
background: rgba(196,218,249,0.2);
width: 24%;
border-radius: 5PX;
padding: 8PX;
i{
width: 10PX;
height: 10PX;
display: inline-block;
border-radius: 2PX;
margin-right: 5PX;
}
p:last-child{
padding-left: 15PX;
margin-top: 8PX;
font-size: .4rem;
}
}
.len_box_01{
i{
background: #1CB8B1;
}
}
.len_box_02{
i{
background: #508EEC;
}
}
.len_box_03{
i{
background: #F68E68;
}
}
.len_box_04{
i{
background: #6163B0;
}
}
}
</style>

+ 313
- 0
src/views/lawEnforcement/index_new.vue 파일 보기

@@ -0,0 +1,313 @@
<template>
<div class="app-container">
<div class="header">
<img src="../../../static/images/lawEnforcement/new/index_icon_01.png" width="30" height="30"/>
<p style="">埇桥区农业综合行政执法大队</p>
</div>

<div class="search">
<img src="../../../static/images/lawEnforcement/new/index_icon_03.png">
<input type="text" placeholder="请输入执法依据名称" v-model="searchInput" />
<img src="../../../static/images/lawEnforcement/new/index_icon_04.png" @click="goSearch">
</div>

<!-- <van-notice-bar left-icon="../../../static/images/lawEnforcement/new/index_icon_02.png" :scrollable="false" background="rgba(135,174,241,0.3)" color="#2574E9">-->
<!-- <van-swipe-->
<!-- vertical-->
<!-- class="notice-swipe"-->
<!-- :autoplay="3000"-->
<!-- :show-indicators="false"-->
<!-- >-->
<!-- <van-swipe-item>冬季种子市场摸底调查活动,截止日期10.5日!1</van-swipe-item>-->
<!-- <van-swipe-item>冬季种子市场摸底调查活动,截止日期10.5日!2</van-swipe-item>-->
<!-- <van-swipe-item>冬季种子市场摸底调查活动,截止日期10.5日!3</van-swipe-item>-->
<!-- </van-swipe>-->
<!-- </van-notice-bar>-->

<div class="main1">
<p class="tit">日常执法</p>
<!-- <p class="content">农业农村管理方面法律及法规规定的行政处罚</p>-->
<van-grid :column-num="3" :border="false">
<van-grid-item :to="{name:'lawEnforcementCaseAllocation'}">
<img src="../../../static/images/lawEnforcement/new/index_icon_05.png"/>
<p>案件分配</p>
</van-grid-item>
<van-grid-item :to="{name:'lawEnforcementTask'}">
<img src="../../../static/images/lawEnforcement/new/index_icon_06.png"/>
<p>任务查看</p>
</van-grid-item>
<van-grid-item :to="{name:'lawEnforcementCaseListNew'}">
<img src="../../../static/images/lawEnforcement/new/index_icon_07.png"/>
<p>巡查登记</p>
</van-grid-item>
</van-grid>
</div>

<div class="main2">
<p class="tit">文书制作</p>

<table width="100%">
<tr>
<td><img src="../../../static/images/lawEnforcement/new/index_icon_08.png" @click="$router.push({name:'lawEnforcementRecord',query:{type:'1'}})"></td>
<td><img src="../../../static/images/lawEnforcement/new/index_icon_09.png" @click="$router.push({name:'lawEnforcementRecord',query:{type:'2'}})"></td>
<td rowspan="2"><img src="../../../static/images/lawEnforcement/new/index_icon_12.png" @click="$router.push({name:'lawEnforcementRecordDocument'})"></td>
</tr>
<tr>
<td><img src="../../../static/images/lawEnforcement/new/index_icon_10.png" @click="$router.push({name:'lawEnforcementRecord',query:{type:'3'}})"></td>
<td><img src="../../../static/images/lawEnforcement/new/index_icon_11.png" @click="$router.push({name:'lawEnforcementRecord',query:{type:'4'}})"></td>
</tr>
</table>
<!-- <van-row>-->
<!-- <van-col><img src="../../../static/images/lawEnforcement/new/index_icon_08.png" @click="$router.push({name:'lawEnforcementRecord',query:{type:'1'}})"></van-col>-->
<!-- <van-col><img src="../../../static/images/lawEnforcement/new/index_icon_09.png" @click="$router.push({name:'lawEnforcementRecord',query:{type:'1'}})"></van-col>-->
<!-- <van-col><img src="../../../static/images/lawEnforcement/new/index_icon_12.png" @click="$router.push({name:'lawEnforcementRecord',query:{type:'1'}})"></van-col>-->
<!-- </van-row>-->

<!-- <van-row>-->
<!-- <van-col><img src="../../../static/images/lawEnforcement/new/index_icon_10.png" @click="$router.push({name:'lawEnforcementRecord',query:{type:'1'}})"></van-col>-->
<!-- <van-col><img src="../../../static/images/lawEnforcement/new/index_icon_11.png" @click="$router.push({name:'lawEnforcementRecord',query:{type:'1'}})"></van-col>-->
<!-- </van-row>-->
<!-- <div class="content">-->
<!-- <div class="images">-->
<!-- <img src="../../../static/images/lawEnforcement/new/index_icon_08.png" @click="$router.push({name:'lawEnforcementRecord',query:{type:'1'}})">-->
<!-- <img src="../../../static/images/lawEnforcement/new/index_icon_09.png" @click="$router.push({name:'lawEnforcementRecord',query:{type:'2'}})">-->
<!-- <img src="../../../static/images/lawEnforcement/new/index_icon_10.png" @click="$router.push({name:'lawEnforcementRecord',query:{type:'3'}})">-->
<!-- <img src="../../../static/images/lawEnforcement/new/index_icon_11.png" @click="$router.push({name:'lawEnforcementRecord',query:{type:'4'}})">-->
<!-- </div>-->
<!-- <img src="../../../static/images/lawEnforcement/new/index_icon_12.png" @click="$router.push({name:'lawEnforcementRecordDocument'})">-->
<!-- </div>-->
</div>

<div class="main3">
<p class="tit">案件分析</p>
<van-grid :column-num="3" :border="false">
<van-grid-item :to="{name:'lawEnforcementCaseQuery'}">
<img src="../../../static/images/lawEnforcement/new/index_icon_13.png"/>
<p>案件查询</p>
</van-grid-item>
<van-grid-item :to="{name:'lawEnforcementCaseStatistics'}">
<img src="../../../static/images/lawEnforcement/new/index_icon_14.png"/>
<p>案件统计</p>
</van-grid-item>
<van-grid-item :to="{name:'lawEnforcementCaseDistributionMap'}">
<img src="../../../static/images/lawEnforcement/new/index_icon_15.png"/>
<p>案件分布</p>
</van-grid-item>
</van-grid>
</div>

<div class="main4">
<p class="tit">监管对象</p>
<div class="images">
<img src="../../../static/images/lawEnforcement/new/index_icon_16.png" @click="$router.push({name:'lawEnforcementIndividual'})">
<img src="../../../static/images/lawEnforcement/new/index_icon_17.png" @click="$router.push({name:'lawEnforcementEnterprise'})">
</div>
</div>

<div class="main5">
<p class="tit">执法依据</p>
<div class="images">
<img src="../../../static/images/lawEnforcement/new/index_icon_20.png" @click="$router.push({name:'lawEnforcementBasis'})">
</div>
</div>

<div style="height: 20PX"></div>
<lawNew></lawNew>
</div>
</template>
<script>
import request from "@/utils/request";
import { getTopDeptId , news , scheme , communicate } from "@/api/lawEnforcement/index";
import lawNew from "@/components/common/lawNew_footer";
export default {
name: "index",
components: {
lawNew
},
data() {
return {
//是否显示加载
loading: false,
//是否滚动到底部
finished: false,
searchInput:'',
//查询参数
queryParams: {
pageNum: 1,
pageSize: 5,
deptId:100,
number:2
},
};
},
created() {

},
watch: {

},
methods: {
goSearch(){
this.$router.push({name:'lawEnforcementBasis',query:{searchInput:this.searchInput}});
}
},
};
</script>

<style scoped lang="scss">
.app-container {
padding: 0 ;
}
.main2 table{
margin-top: 15PX;
td img{
width: 100%;
}
}
::-webkit-input-placeholder { color:#C9C9C9;}
:-moz-placeholder {color:#C9C9C9;}
::-moz-placeholder { color:#C9C9C9;}
:-ms-input-placeholder { color:#C9C9C9;}
.header{
display: flex;
background: #ffffff;
padding: 4% 5%;
box-shadow: 0 3Px 6Px rgba(22,70,141,0.15);
p{
line-height: 30Px;
margin-left: 6Px;
font-size: 16Px;
color: #666666;
font-family: SourceHanSansCNBold;
}
}
.search{
display: flex;
justify-content: space-between;
align-items: center;
width: 88%;
margin: 15PX auto;
border: 1px solid #1D6FE9;
padding: 1PX 1PX 1PX 12PX ;
border-radius: 50PX;
input{
flex: 1;
background: transparent;
border-left: 1px solid #C9C9C9;
padding-left: 12PX;
margin-left: 12PX;
}
}
.notice-swipe {
height: 40px;
line-height: 40px;
}
/deep/ .van-icon__image{
width: 22PX;
height: 22PX;
}
/deep/ .van-notice-bar{
width: 94%;
margin: 0 auto;
border-radius: 5PX;
}
.tit{
font-weight: bold;
font-size: 16PX;
padding: 0 2%;
background: url("../../../static/images/lawEnforcement/new/index_icon_18.png") no-repeat left center;
line-height: 1;
}
.main1{
width: 92%;
padding: 0 3%;
margin: 25PX auto 0;
.content{
color: #878787;
padding-left: 2%;
margin-top: 10PX;
}
/deep/ .van-grid-item__content{
background: transparent;
p{
color: #333333;
font-size: 14PX;
}
}
}
.main2{
width: 92%;
padding: 15PX 3% 3%;
margin: 0 auto 25PX;
box-shadow: 0px 3PX 6PX rgba(0,0,0,0.16);
background: #ffffff;
border-radius: 5PX;
.content{
display: flex;
justify-content: space-between;
margin-top: 15PX;
}
.images{
display: flex;
flex-wrap: wrap;
align-content: space-between;
justify-content: space-between;
flex: 1;
margin-right: 10PX;
}
}
.main3{
width: 92%;
padding: 0 3%;
margin: 25PX auto 0;
/deep/ .van-grid{
justify-content: space-between;
margin-top: 15PX;
}
/deep/ .van-grid-item{
flex-basis: 31%!important;
box-shadow: 0px 3PX 6PX rgba(0,0,0,0.16);
border-radius: 5PX;
overflow: hidden;
}
/deep/ .van-grid-item__content{
p{
color: #333333;
font-size: 14PX;
margin-top: 10PX;
}
}
}
.main4{
width: 92%;
margin: 25PX auto 0;
.tit{
margin-left: 3%;
}
.images{
display: flex;
justify-content: space-between;
margin-top: 10PX;
img{
display: block;
width: 50%;
}
}
}
.main5{
width: 92%;
margin: 10PX auto 0;
.tit{
margin-left: 3%;
}
.images{
display: flex;
justify-content: space-between;
margin-top: 15PX;
img{
display: block;
width: 100%;
}
}
}
</style>

+ 1
- 1
src/views/lawEnforcement/login.vue 파일 보기

@@ -311,7 +311,7 @@
this.$store
.dispatch("Login", this.formData)
.then(() => {
this.$router.push({ path: "/lawEnforcement" }).catch(() => {});
this.$router.push({ path: "/lawEnforcement/index_new" }).catch(() => {});
})
.catch((error) => {
console.log(error)


+ 254
- 0
src/views/lawEnforcement/record/caseList.vue 파일 보기

@@ -0,0 +1,254 @@
<template>
<div class="app-container">
<div class="header_main">
案件列表
<div class="return_btn" @click="onClickLeft"></div>
</div>
<div style="height: 58px;"></div>

<div class="search_box">
<div class="search">
<input type="text" placeholder="请输入案件名称" />
<img src="../../../../static/images/lawEnforcement/new/index_icon_04.png">
</div>
</div>

<div class="main_box">
<div class="peopleList">
<van-row v-for="(item,index) in 10" :key="index" >
<van-col :span="20">张雷未经定点从事生猪屠宰活动案</van-col>
<van-col :span="4">
<div class="icon_box">
<van-checkbox v-model="checked" shape="square"></van-checkbox>
</div>
</van-col>
</van-row>
</div>
</div>

<p class="submitButton">确定</p>

</div>
</template>

<script>
import { getScheme } from "@/api/lawEnforcement/index";
export default {
name: "programmeDetail",
data() {
return {
showPopover: false,
// 通过 actions 属性来定义菜单选项
actions: [{ text: '选项一' }, { text: '选项二' }, { text: '选项三' }],
checked:'',
showBankType:false,
showPayeeType:false,
showPicker:false,
form:{},

bankType:'',
payeeType:'',
value:'',

bankTypeOptions:[],
payeeTypeOptions:[],
tEnforceSchemeHandlerList:[],
minDate: new Date(2020, 0, 1),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(2021, 0, 17),

activeNames: ['1'],
activeNames1: ['1'],
activeNames2: ['1'],
};
},
created() {
// this.getDictionaries()
},
methods: {
getDictionaries(){
getScheme(this.$route.query.id).then((response) => {
this.form = response.data;
});
},
goBack(){
window.history.go(-1)
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
/deep/ .van-collapse-item__content{
padding: 0;
}
/deep/ .van-checkbox{
justify-content: center;
}
.icon_box{
display: flex;
justify-content: space-around;
}
.search_box{
display: flex;
justify-content: space-between;
align-items: center;
width: 92%;
margin: 0PX auto;
.select_box{
border: 1px solid #1D6FE9;
border-radius: 8PX;
padding: 0 12PX ;
background: #ffffff;
height: 30PX;
line-height: 30PX;
display: flex;
justify-content: space-around;
align-items: center;
}
.search{
background: #ffffff;
display: flex;
justify-content: space-between;
align-items: center;
width: 100%;
margin: 10PX auto;
border: 1px solid #1D6FE9;
padding: 1PX 1PX 1PX 12PX ;
border-radius: 50PX;
input{
flex: 1;
background: transparent;
}
}
}
.cf{
padding: 0 3%;
margin-top: 20PX;
margin-bottom: 20PX;
.van-row{
background: #F0F3F5;
.van-col{
padding: 5PX 0;
font-size: 12PX!important;
text-align: center;
p{
color: #1D6FE9;
}
}
&: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: 3%;
text-align: left;
.van-row{
margin-bottom: 10PX;
background: rgba(196,218,249,0.3);
border-radius: 5PX;
.van-col{
text-align: left;
font-size: 14PX;
color: #333333;
padding: 5PX 15PX;
}
}
}
.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: 45%;
margin: 0 auto;
background-image: linear-gradient(to right, #2E79E9 , #77A6EF);
text-align: center;
color: #ffffff;
height: 70px;
line-height: 70px;
border-radius: 8PX;
margin-top: 25PX;
}

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

+ 274
- 0
src/views/lawEnforcement/record/record.vue 파일 보기

@@ -0,0 +1,274 @@
<template>
<div class="app-container">
<div class="header_main">
{{headTitle}}
<div class="return_btn" @click="onClickLeft"></div>
</div>
<div style="height: 58px;"></div>
<div class="main_box">
<van-field v-model="value" label="案件名称" placeholder="请选择案件名称" :border="false" readonly is-link @click="$router.push({name:'lawEnforcementCaseList'})" />
<van-field v-model="value" label="执法节点" placeholder="请选择执法节点" :border="false" readonly is-link arrow-direction="down" >
<template #input>
<van-popover
v-model="showPopover"
trigger="click"
:actions="actions"
placement="bottom-start"
>
<template #reference>
<p style="color: #cccccc">请选择执法节点</p>
</template>
</van-popover>
</template>
</van-field>
<van-field v-model="value" label="签字上传" :border="false" readonly >
<template #input>
<van-uploader v-model="fileList" multiple />
</template>
</van-field>
</div>

<div class="main_box" style="margin-top: 10px;">
<van-cell>
<template #title>
<van-icon name="../../../static/images/lawEnforcement/icon/record_icon_01.png" size="20"></van-icon>
<span class="custom-title">视频地址<i class="bgBlue"></i></span>
</template>
</van-cell>
<van-field type="textarea" autosize :border="false" placeholder="输入视频地址、执法文件名称等" />
</div>

<div class="main_box" style="margin-top: 10px;">
<van-cell>
<template #title>
<van-icon name="../../../static/images/lawEnforcement/icon/icon_ajwd.png" size="20"></van-icon>
<span class="custom-title">模板<i class="bgBlue"></i></span>
</template>
</van-cell>
<div class="cf">
<van-row>
<van-col :span="6">
<van-image src="../../../../static/images/lawEnforcement/icon/record_icon_02.png" width="50" />
</van-col>
<van-col :span="18">
<p>现场检查(勘验)笔录.docx</p>
</van-col>
</van-row>
</div>
</div>

<div class="submit_box">
<p class="submitButton">保存</p>
<p class="submitButton">处理</p>
</div>
</div>
</template>

<script>
import { getScheme } from "@/api/lawEnforcement/index";
export default {
name: "programmeDetail",
data() {
return {
showPopover: false,
// 通过 actions 属性来定义菜单选项
actions: [{ text: '选项一' }, { text: '选项二' }, { text: '选项三' }],
showBankType:false,
showPayeeType:false,
showPicker:false,
form:{},

bankType:'',
payeeType:'',
value:'',

bankTypeOptions:[],
payeeTypeOptions:[],
tEnforceSchemeHandlerList:[],
minDate: new Date(2020, 0, 1),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(2021, 0, 17),

activeNames: ['1'],
activeNames1: ['1'],
activeNames2: ['1'],

fileList:[],
headTitle:''
};
},
created() {
// this.getDictionaries()
if (this.$route.query.type == '1'){
this.headTitle = '现场检查(勘察)笔录';
}
if (this.$route.query.type == '2'){
this.headTitle = '询问笔录';
}
if (this.$route.query.type == '3'){
this.headTitle = '当场行政处罚决定书';
}
if (this.$route.query.type == '4'){
this.headTitle = '责令改正通知书';
}
},
methods: {
getDictionaries(){
getScheme(this.$route.query.id).then((response) => {
this.form = response.data;
});
},
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-right: 3%;
.van-row{
margin-bottom: 10PX;
.van-col{
text-align: center;
font-size: 14PX;
}
&:first-child{
.van-col{
color: #1D6FE9;
}
}
}
}
.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>

+ 287
- 0
src/views/lawEnforcement/record/recordDocument.vue 파일 보기

@@ -0,0 +1,287 @@
<template>
<div class="app-container">
<div class="header_main">
文书打印
<div class="return_btn" @click="onClickLeft"></div>
</div>
<div style="height: 58px;"></div>

<div class="search_box">
<div class="search">
<input type="text" placeholder="请输入文书名" />
<img src="../../../../static/images/lawEnforcement/new/index_icon_04.png">
</div>
</div>

<div class="main_box">
<div class="peopleList">
<van-row v-for="(item,index) in 10" :key="index" >
<van-col :span="20">
<img src="../../../../static/images/lawEnforcement/icon/record_icon_03.png"/>
<p>指定管辖通知书</p>
</van-col>
<van-col :span="4">
<p>打印</p>
</van-col>
</van-row>
</div>
</div>

<div class="submit_box">
<p class="submitButton">进入任务</p>
</div>

</div>
</template>

<script>
import { getScheme } from "@/api/lawEnforcement/index";
export default {
name: "programmeDetail",
data() {
return {
showPopover: false,
// 通过 actions 属性来定义菜单选项
actions: [{ text: '选项一' }, { text: '选项二' }, { text: '选项三' }],
checked:'',
showBankType:false,
showPayeeType:false,
showPicker:false,
form:{},

bankType:'',
payeeType:'',
value:'',

bankTypeOptions:[],
payeeTypeOptions:[],
tEnforceSchemeHandlerList:[],
minDate: new Date(2020, 0, 1),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(2021, 0, 17),

activeNames: ['1'],
activeNames1: ['1'],
activeNames2: ['1'],
};
},
created() {
// this.getDictionaries()
},
methods: {
getDictionaries(){
getScheme(this.$route.query.id).then((response) => {
this.form = response.data;
});
},
goBack(){
window.history.go(-1)
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
/deep/ .van-collapse-item__content{
padding: 0;
}
/deep/ .van-checkbox{
justify-content: center;
}
.icon_box{
display: flex;
justify-content: space-around;
}
.search_box{
display: flex;
justify-content: space-between;
align-items: center;
width: 92%;
margin: 0PX auto;
.select_box{
border: 1px solid #1D6FE9;
border-radius: 8PX;
padding: 0 12PX ;
background: #ffffff;
height: 30PX;
line-height: 30PX;
display: flex;
justify-content: space-around;
align-items: center;
}
.search{
background: #ffffff;
display: flex;
justify-content: space-between;
align-items: center;
width: 100%;
margin: 10PX auto;
border: 1px solid #1D6FE9;
padding: 1PX 1PX 1PX 12PX ;
border-radius: 50PX;
input{
flex: 1;
background: transparent;
}
}
}
.cf{
padding: 0 3%;
margin-top: 20PX;
margin-bottom: 20PX;
.van-row{
background: #F0F3F5;
.van-col{
padding: 5PX 0;
font-size: 12PX!important;
text-align: center;
p{
color: #1D6FE9;
}
}
&: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--20{
display: flex;
align-items: center;
p{
margin-left: 10PX;
}
}
.van-col--4{
display: flex;
justify-content: right;
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: 45%;
margin: 0 auto;
background-image: linear-gradient(to right, #2E79E9 , #77A6EF);
text-align: center;
color: #ffffff;
height: 70px;
line-height: 70px;
border-radius: 8PX;
}
.submit_box{
position: fixed;
bottom: 0;
width: 100%;
background: #ffffff;
padding: 25PX 0;
}
.addFamily{
position: absolute;
top: -2px;
right: 0;
border-radius: 50%;
}
</style>

+ 159
- 0
src/views/lawEnforcement/retrospect/retrospect.vue 파일 보기

@@ -0,0 +1,159 @@
<template>
<div class="home_wrapper">
<div class="header_main">
电子追溯
<!-- <div class="return_btn" @click="onClickLeft"></div>-->
</div>
<div class="jg"></div>

<div class="main_box">
<van-cell>
<template #title>
<span class="custom-title">扫码查询<i class="bgBlue"></i></span>
</template>
</van-cell>
<van-grid :column-num="3" :border="false" square clickable>
<van-grid-item icon="../../../static/images/lawEnforcement/new/retrospect_icon_01.png" text="农药扫码" :to="{name:'lawEnforcementRetrospectDetail'}" />
<van-grid-item icon="../../../static/images/lawEnforcement/new/retrospect_icon_01.png" text="种子扫码" />
<van-grid-item icon="../../../static/images/lawEnforcement/new/retrospect_icon_01.png" text="肥料扫码" />
<van-grid-item icon="../../../static/images/lawEnforcement/new/retrospect_icon_01.png" text="兽药扫码" />
<van-grid-item icon="../../../static/images/lawEnforcement/new/retrospect_icon_01.png" text="饲料扫码" />
</van-grid>
</div>

<div class="main_box">
<van-cell>
<template #title>
<span class="custom-title">本地查询<i class="bgBlue"></i></span>
</template>
</van-cell>
<van-grid :column-num="3" :border="false" square clickable>
<van-grid-item :to="{name:'lawEnforcementPesticides'}">
<van-image src="../../../static/images/lawEnforcement/new/retrospect_icon_04.png" />
<p>查农药</p>
</van-grid-item>
<van-grid-item :to="{name:'lawEnforcementSeed'}">
<van-image src="../../../static/images/lawEnforcement/new/retrospect_icon_05.png" />
<p>查种子</p>
</van-grid-item>
<van-grid-item :to="{name:'lawEnforcementFertilizer'}">
<van-image src="../../../static/images/lawEnforcement/new/retrospect_icon_06.png" />
<p>查肥料</p>
</van-grid-item>
<van-grid-item :to="{name:'lawEnforcementVeterinary'}">
<van-image src="../../../static/images/lawEnforcement/new/retrospect_icon_07.png" />
<p>查兽药</p>
</van-grid-item>
<van-grid-item :to="{name:'lawEnforcementFeed'}">
<van-image src="../../../static/images/lawEnforcement/new/retrospect_icon_08.png" />
<p>查饲料</p>
</van-grid-item>
<van-grid-item :to="{name:'lawEnforcementProduct'}">
<van-image src="../../../static/images/lawEnforcement/new/retrospect_icon_09.png" />
<p>查农产品</p>
</van-grid-item>
</van-grid>
</div>

<div style="height: 20PX"></div>
<lawNew></lawNew>
</div>
</template>

<script>
import lawNew from "@/components/common/lawNew_footer";
export default {
name: "caseAllocation",
components: {
lawNew
},
data() {
return {

};
},
created() {

},
methods: {

},
}
</script>

<style scoped lang="scss">
.jg{
height: 116px;
}
.home_wrapper{
background: #e9e9e9;
min-height: 100vh;
width: 100vw;
padding: 0 3% 0.2rem;
.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;
}
}
}
.main_box{
width: 100%;
margin: 0 auto;
border-radius: 10PX;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
margin-top: 10PX;
p,/deep/ .van-grid-item__text{
font-size: .35rem;
color: #646566;
}
.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;
}
}
</style>

+ 297
- 0
src/views/lawEnforcement/retrospect/retrospectDetail.vue 파일 보기

@@ -0,0 +1,297 @@
<template>
<div class="app-container">
<div class="header_main">
种子扫描
<div class="return_btn" @click="onClickLeft"></div>
<div class="top_box">
<div class="top_01">
<img src="../../../../static/images/lawEnforcement/new/retrospect_icon_10.png">
<p>码上放心</p>
</div>
<p class="tt">产品溯源信息</p>
<div class="top_02">
<p><i></i>一物一码</p>
<p><i></i>扫码验真</p>
<p><i></i>拒绝假货</p>
</div>
</div>
<div class="jg"></div>
</div>

<div class="main">

<div class="main_box center_box">
<img src="../../../../static/images/lawEnforcement/new/retrospect_icon_15.png" alt="">
<p>该产品单元识别代码合规</p>
<p>1534565635645126353535335656</p>
</div>

<div class="main_box" style="margin-top: 10px;">
<van-cell :border="false">
<template #title>
<span class="custom-title">草甘膦铵盐</span>
</template>
</van-cell>
<van-cell title="登记证号" :border="false" value="登记证号" />
<van-cell title="有效成分" :border="false" value="有效成分" />
<van-cell title="剂型" :border="false" value="剂型" />
<van-cell title="总含量" :border="false" value="总含量" />
<van-cell title="有效期至" :border="false" value="有效期至" />
<van-cell title="登记持有人" :border="false" value="登记持有人" />
</div>

<div class="main_box" style="margin-top: 10px;">
<van-cell title="防伪追溯网址" :border="false" value="防伪追溯网址" />
<van-cell title="单元识别代码" :border="false" value="单元识别代码" />
</div>

</div>

</div>
</template>

<script>
import { getScheme } from "@/api/lawEnforcement/index";
export default {
name: "programmeDetail",
data() {
return {
showBankType:false,
showPayeeType:false,
showPicker:false,
form:{},

bankType:'',
payeeType:'',
value:'',

bankTypeOptions:[],
payeeTypeOptions:[],
tEnforceSchemeHandlerList:[],
minDate: new Date(2020, 0, 1),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(2021, 0, 17),

activeNames: ['1'],
activeNames1: ['1'],
activeNames2: ['1'],
};
},
created() {
// this.getDictionaries()
},
methods: {
getDictionaries(){
getScheme(this.$route.query.id).then((response) => {
this.form = response.data;
});
},
goBack(){
window.history.go(-1)
}
},
}
</script>

<style scoped lang="scss">
.jg{
height: 80px;
}
.app-container {

}
.top_box{
line-height: 1;
text-align: left;
width: 85%;
margin: 0 auto;
padding-bottom: 10PX;
background: url('../../../../static/images/lawEnforcement/new/retrospect_icon_14.png') no-repeat right bottom;
.top_01{
display: flex;
align-items: center;
font-size: 0.4rem;
margin-top: 15PX;
img{
margin-right: 10PX;
}
}
.tt{
font-size: 0.7rem;
margin-top: 15PX;
}
.top_02{
display: flex;
align-items: center;
font-size: 0.3rem;
margin-top: 15PX;
i{
display: inline-block;
width: 15PX;
height: 15PX;
margin-right: 3PX;
}
p{
display: flex;
align-items: center;
margin-right: 10PX;
&:nth-child(1){
i{
background: url('../../../../static/images/lawEnforcement/new/retrospect_icon_11.png') no-repeat center;
background-size: auto 15PX;
}
}
&:nth-child(2){
i{
background: url('../../../../static/images/lawEnforcement/new/retrospect_icon_12.png') no-repeat center;
background-size: auto 15PX;
}
}
&:nth-child(3){
i{
background: url('../../../../static/images/lawEnforcement/new/retrospect_icon_13.png') no-repeat center;
background-size: auto 15PX;
}
}
}
}
}
.main{
position: relative;
top: -30PX;
}
.center_box{
text-align: center;
padding: 30PX 0!important;
p{
margin-top: 15PX;
&:nth-child(2){
font-size: 0.4rem;
color: #59C145;
}
&:nth-child(3){
font-size: 0.4rem;
color: #B4B0B0;
display: inline-block;
background: url('../../../../static/images/lawEnforcement/new/retrospect_icon_16.png') no-repeat left center;
padding-left: 20PX;
}
}
}
/deep/ .van-cell{
padding-bottom: 0;
padding-top: 0;
margin-bottom: 10PX;
&:last-child{
margin-bottom: 0;
}
}
.header_main{
/*height: 116px;*/
background: url('../../../../static/images/lawEnforcement/new/header_bg.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-right: 3%;
.van-row{
margin-bottom: 10PX;
.van-col{
text-align: center;
font-size: 14PX;
}
&:first-child{
.van-col{
color: #1D6FE9;
}
}
}
}
.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;
padding: 10PX 0;
.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: 45%;
margin: 0 auto;
background-image: linear-gradient(to right, #2E79E9 , #77A6EF);
text-align: center;
color: #ffffff;
height: 70px;
line-height: 70px;
border-radius: 8PX;
margin-top: 25PX;
}

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

+ 277
- 0
src/views/lawEnforcement/supervise/enterprise.vue 파일 보기

@@ -0,0 +1,277 @@
<template>
<div class="home_wrapper">
<div class="header_main">
企业商户
<div class="return_btn" @click="onClickLeft"></div>
</div>
<div class="jg"></div>
<div class="search_box">
<div class="search">
<input type="text" v-model="searchInput" placeholder="请输入企业名称" />
<img src="../../../../static/images/lawEnforcement/new/index_icon_04.png" @click="goSearch">
</div>
</div>

<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<van-swipe-cell v-for="(item,index) in list" :key="index">
<van-cell :to="{name:'lawEnforcementEnterpriseDetail', query: {id:item.id}}">
<template #title>
<p style="font-size: 0.4rem;">{{item.companyName}}</p>
<div class="cellTit">
<p>{{item.legalName}}</p>
<!-- <i class="man"></i>-->
<p>信用代码</p>
<p>{{item.uniformCode}}</p>
</div>
</template>
<template #label>
<div class="cellLabel">
<img src="../../../../static/images/lawEnforcement/icon/individual_icon_01.png"/>
<p>{{item.businessType}}</p>
<p><i></i>{{item.phone}}</p>
</div>
</template>
</van-cell>
<template #right>
<van-row>
<van-col>
<van-button square type="info" :to="{name:'lawEnforcementEnterpriseRelation', query: {id:item.id}}" class="delete-button" >关联<br/>案件</van-button>
</van-col>
</van-row>
</template>
</van-swipe-cell>
</van-list>
</div>
</template>

<script>
import { listCompany } from "@/api/lawEnforcement/index";
export default {
name: "caseAllocation",
data() {
return {
loading: false,
finished: false,
searchInput:'',
queryParams: {
// 分页
pageNum: 1,
pageSize: 10,
// 查询排序
orderByColumn: "id",
isAsc: "desc",
companyName: null,
legalName: null,
uniformCode: null,
},
list:[]
};
},
created() {
this.getDicts("business_type").then(response => {
this.businessTypeOptions = response.data;
});
},
methods: {
getList(){
var _this = this;
listCompany(_this.queryParams).then(response => {
response.rows.map(res=>{
res.businessType = res.businessType == '' ? '' : this.selectDictLabel(this.businessTypeOptions, res.businessType);
this.list.push(res);
})
console.log(this.list.length)
if(this.list.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.queryParams.pageNum += 1 ;
}
});
},
goSearch(){
if (this.searchInput == ''){
location.reload()
}
this.list = [];
this.loading = false;
this.finished = false;
this.queryParams.companyName = this.searchInput;
this.queryParams.pageNum = 1 ;
this.getList();
},
},
}
</script>

<style scoped lang="scss">
.jg{
height: 116px;
}
.home_wrapper{
background: #e9e9e9;
min-height: 100vh;
width: 100vw;
padding: 0 3% 0.2rem;
.search_box{
display: flex;
justify-content: space-between;
align-items: center;
width: 92%;
margin: 0PX auto;
.search{
background: #ffffff;
display: flex;
justify-content: space-between;
align-items: center;
width: 100%;
margin: 10PX auto;
border: 1px solid #1D6FE9;
padding: 1PX 1PX 1PX 12PX ;
border-radius: 50PX;
input{
flex: 1;
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;
}
}

}
.cellTit{
display: flex;
justify-content: space-between;
p{
&:nth-child(1){
font-size: 0.4rem;
display: flex;
align-items: flex-start;
i{
display: inline-block;
width: 10PX;
height: 10PX;
margin-top: 5px;
margin-left: 5px;
}
.man{
background: url("../../../../static/images/lawEnforcement/icon/individual_icon_03.png") no-repeat center;
background-size: 10PX 10PX;
}
.wman{
background: url("../../../../static/images/lawEnforcement/icon/individual_icon_04.png") no-repeat center;
background-size: 10PX 10PX;
}
}
&:nth-child(2){
color: #B4B0B0;
font-size: 0.3rem;
margin-left: auto;
margin-right: 10PX;
}
&:nth-child(3){
color: #6D6EB8;
font-size: 0.3rem;
}
}
}
.cellLabel{
display: flex;
align-items: center;
font-size: 0.35rem;
img{
display: block;
margin-right: 5PX;
}
p{
display: inline-block;
color: #666666;
&:last-child{
background: rgba(28,184,177,0.2);
padding: 0 8PX;
border-radius: 3PX;
color: #1CB8B1;
margin-left: auto;
display: flex;
align-items: center;
border-radius: 5PX;
border-top-left-radius: 30px;
i{
display: inline-block;
width: 10PX;
height: 10PX;
background: url("../../../../static/images/lawEnforcement/icon/individual_icon_02.png") no-repeat center;
}
}
}
}
/deep/.van-cell__title span{
font-family: Arial;
font-size: 0.4rem;
font-weight: normal;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
word-break: break-all;
overflow: hidden;
}
/deep/.van-cell__value{
flex: 0.3;
color: #1D6FE9;
font-weight: bold;
}
/deep/.van-swipe-cell{
margin-bottom: 0.2rem;
border-radius: 0.2rem;
overflow: hidden;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
}
/deep/van-ellipsis{
font-weight: bold;
}
.van-row{
height: 100%;
}
.van-col{
height: 100%;
}
.delete-button {
height: 100%;
}
</style>

+ 202
- 0
src/views/lawEnforcement/supervise/enterpriseDetail.vue 파일 보기

@@ -0,0 +1,202 @@
<template>
<div class="app-container">
<div class="header_main">
查看企业工商户
<div class="return_btn" @click="onClickLeft"></div>
</div>
<div class="jg"></div>
<div class="main_box">
<van-cell title="企业名称" :border="false" v-model="form.companyName" />
<van-cell title="法人/负责人" :border="false" v-model="form.legalName" />
<van-cell title="所在地区" :border="false" v-model="form.deptId" />
<van-cell title="统一社会信用代码" :border="false" v-model="form.uniformCode" />
<van-cell title="手机号码" :border="false" v-model="form.phone" />
<van-cell title="企业分支机构" :border="false" v-model="form.companyBranch" />
<van-cell title="企业投资人" :border="false" v-model="form.investor" />
<van-cell title="详细地址" :border="false" v-model="form.address" />
<van-cell title="经营类别" :border="false" v-model="form.businessType" />
<van-cell title="经营方式" :border="false" v-model="form.businessMode" />
<van-cell title="经营范围" :border="false" v-model="form.businessScope" />
</div>
<p class="submitButton" @click="$router.push({name:'lawEnforcementEnterpriseRelation'})">关联案件</p>
</div>
</template>

<script>
import { getCompany } from "@/api/lawEnforcement/index";
export default {
name: "programmeDetail",
data() {
return {
form:{},
};
},
created() {
this.getDicts("business_type").then(response => {
this.businessTypeOptions = response.data;
});
this.getDetail(this.$route.query.id)
},
methods: {
getDetail(id){
var that = this;
setTimeout(function () {
getCompany(id).then(response => {
response.data.businessType = response.data.businessType == '' ? '' : that.selectDictLabel(that.businessTypeOptions, response.data.businessType);
that.form = response.data;
});
},1000)
},
goBack(){
window.history.go(-1)
}
},
}
</script>

<style scoped lang="scss">
.jg{
height: 116px;
}
.app-container {
padding: 2% 0;
}
/deep/ .van-collapse-item__content{
padding: 0;
}
/deep/ .van-cell{
padding-bottom: 0;
padding-top: 0;
margin-bottom: 10PX;
&:last-child{
margin-bottom: 0;
}
}
.cf{
padding: 0 3%;
margin-top: 20PX;
margin-bottom: 20PX;
.van-row{
background: #F0F3F5;
.van-col{
padding: 5PX 0;
font-size: 12PX!important;
text-align: center;
p{
color: #1D6FE9;
}
}
&: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-right: 3%;
.van-row{
margin-bottom: 10PX;
.van-col{
text-align: center;
font-size: 14PX;
}
&:first-child{
.van-col{
color: #1D6FE9;
}
}
}
}
.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;
padding: 10PX 0;
.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: 45%;
margin: 0 auto;
background-image: linear-gradient(to right, #2E79E9 , #77A6EF);
text-align: center;
color: #ffffff;
height: 70px;
line-height: 70px;
border-radius: 8PX;
margin-top: 25PX;
}

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

+ 222
- 0
src/views/lawEnforcement/supervise/enterpriseRelation.vue 파일 보기

@@ -0,0 +1,222 @@
<template>
<div class="home_wrapper">
<div class="header_main">
关联案件
<div class="return_btn" @click="onClickLeft"></div>
</div>
<div class="jg"></div>

<div class="search_box" v-if="list.length>0">
<p><span>{{list[0].companyName}}</span>关联案件</p>
</div>

<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<van-swipe-cell v-for="(item,index) in list" :key="index">
<van-cell center :to="{name:'caseDetail', query: {id:item.id,caseProgress:item.caseProgress}}">
<template #title>
<span>{{item.caseName}}</span>
</template>
<template #label>
<div class="label">
<p>{{item.caseSource}}</p>
<p>{{item.caseProgressText}}</p>
</div>
</template>
</van-cell>
</van-swipe-cell>
</van-list>
</div>
</template>

<script>
import { listCase } from "@/api/lawEnforcement/index";
export default {
name: "caseAllocation",
data() {
return {
loading: false,
finished: false,
caseQueryParams:{
// 分页
pageNum: 1,
pageSize: 10,
// 查询排序
orderByColumn: "id",
isAsc: "desc",
bodyId: null, //个体户ID
type: "2"
},
list:[]
};
},
created() {
this.getDicts("case_node").then(response => {
this.caseProgressOptions = response.data;
});
this.getDicts("case_source").then(response => {
this.caseSourceOptions = response.data;
});
this.caseQueryParams.bodyId = this.$route.query.id;
},
methods: {
getList(){
var _this = this;
listCase(_this.caseQueryParams).then(response => {
response.rows.map(res=>{
res.caseProgressText = res.caseProgress == '' ? '' : this.selectDictLabel(this.caseProgressOptions, res.caseProgress);
res.caseSource = res.caseSource == '' ? '' : this.selectDictLabel(this.caseSourceOptions, res.caseSource);
_this.list.push(res);
})
if(_this.list.length >= response.total){
_this.finished = true;
return;
}else{
_this.loading = false;
_this.queryParams.pageNum += 1 ;
}

});
},
},
}
</script>

<style scoped lang="scss">
.jg{
height: 116px;
}
.home_wrapper{
background: #e9e9e9;
min-height: 100vh;
width: 100vw;
padding: 0 2% 0.2rem;

.search_box{
display: flex;
justify-content: center;
align-items: center;
width: 92%;
margin: 10PX auto;
font-size: 0.4rem;
span{
color: #1D6FE9;
}
}
.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-cell__title{
.first{
display: flex;
justify-content: space-between;
span{
color: #FE1313;
&:last-child{
color: #B4B0B0;
}
}
}
span{
font-family: Arial;
font-size: 0.35rem;
font-weight: normal;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
word-break: break-all;
overflow: hidden;
}
}
/deep/.van-cell__label .label {
display: flex;
justify-content: space-between;
p{
display: inline-block;
font-size: 0.35rem;
&:first-child{
background: rgba(29,111,233,0.2);
padding: 0 8PX;
border-radius: 3PX;
color: #1D6FE9;
}
&:last-child{
padding: 0 7PX;
border: 1px solid #1CB8B1;
color: #1CB8B1;
border-radius: 1rem;
}
}
}
/deep/.van-cell__value{
flex: 0.3;
color: #1D6FE9;
font-weight: bold;
}
/deep/.van-cell{
/*margin-bottom: 0.2rem;*/
/*overflow: hidden;*/
}
/deep/.van-cell:first-child{
/*margin-top: 0.2rem;*/
}
/deep/van-ellipsis{
font-weight: bold;
}
/deep/ .van-swipe-cell{
margin-bottom: 0.3rem;
border-radius: 0.2rem;
overflow: hidden;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
&:first-child{
margin-top: 0.3rem;
}
}
/deep/ .van-swipe-cell__right{
right: -1PX;
}
.van-row{
height: 100%;
}
.van-col{
height: 100%;
}
.delete-button {
height: 100%;
}
</style>

+ 261
- 0
src/views/lawEnforcement/supervise/individual.vue 파일 보기

@@ -0,0 +1,261 @@
<template>
<div class="home_wrapper">
<div class="header_main">
个体商户
<div class="return_btn" @click="onClickLeft"></div>
</div>
<div style="height: 58px;"></div>
<div class="search_box">
<div class="search">
<input type="text" v-model="searchInput" placeholder="请输入商户姓名" />
<img src="../../../../static/images/lawEnforcement/new/index_icon_04.png" @click="goSearch">
</div>
</div>

<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<van-swipe-cell v-for="(item,index) in list" :key="index">
<van-cell :to="{name:'lawEnforcementIndividualDetail', query: {id:item.id}}">
<template #title>
<div class="cellTit">
<p>{{item.name}}</p>
<!-- <i></i>-->
<p>信用代码</p>
<p>{{item.uniformCode}}</p>
</div>
</template>
<template #label>
<div class="cellLabel">
<img src="../../../../static/images/lawEnforcement/icon/individual_icon_01.png"/>
<p>{{item.cardNum}}</p>
<p><i></i>{{item.phone}}</p>
</div>
</template>
</van-cell>
<template #right>
<van-row>
<van-col>
<van-button square type="info" :to="{name:'lawEnforcementIndividualRelation', query: {id:item.id}}" class="delete-button" >关联<br/>案件</van-button>
</van-col>
</van-row>
</template>
</van-swipe-cell>
</van-list>
</div>
</template>

<script>
import { listPersonal } from "@/api/lawEnforcement/index";
export default {
name: "caseAllocation",
data() {
return {
loading: false,
finished: false,
searchInput:'',
queryParams: {
// 分页
pageNum: 1,
pageSize: 10,
// 查询排序
orderByColumn: "id",
isAsc: "desc",
name: null,
},
list:[]
};
},
created() {

},
methods: {
getList(){
listPersonal(this.queryParams).then(response => {
response.rows.map(res=>{
this.list.push(res);
})
console.log(this.list.length)
if(this.list.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.queryParams.pageNum += 1 ;
}
});
},
goSearch(){
if (this.searchInput == ''){
location.reload()
}
this.list = [];
this.loading = false;
this.finished = false;
this.queryParams.name = this.searchInput;
this.queryParams.pageNum = 1 ;
this.getList();
},
},
}
</script>

<style scoped lang="scss">
.home_wrapper{
background: #e9e9e9;
min-height: 100vh;
width: 100vw;
padding: 0 3% 0.2rem;
.search_box{
display: flex;
justify-content: space-between;
align-items: center;
width: 92%;
margin: 0PX auto;
.search{
background: #ffffff;
display: flex;
justify-content: space-between;
align-items: center;
width: 100%;
margin: 10PX auto;
border: 1px solid #1D6FE9;
padding: 1PX 1PX 1PX 12PX ;
border-radius: 50PX;
input{
flex: 1;
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;
}
}

}
.cellTit{
display: flex;
justify-content: space-between;
p{
&:nth-child(1){
font-size: 0.4rem;
display: flex;
align-items: flex-start;
i{
display: inline-block;
width: 10PX;
height: 10PX;
background: url("../../../../static/images/lawEnforcement/icon/individual_icon_03.png") no-repeat center;
background-size: 10PX 10PX;
margin-top: 5px;
margin-left: 5px;
}
}
&:nth-child(2){
color: #B4B0B0;
font-size: 0.3rem;
margin-left: auto;
margin-right: 10PX;
}
&:nth-child(3){
color: #6D6EB8;
font-size: 0.3rem;
}
}
}
.cellLabel{
display: flex;
align-items: center;
font-size: 0.35rem;
img{
display: block;
margin-right: 5PX;
}
p{
display: inline-block;
color: #666666;
&:last-child{
background: rgba(28,184,177,0.2);
padding: 0 8PX;
border-radius: 3PX;
color: #1CB8B1;
margin-left: auto;
display: flex;
align-items: center;
border-radius: 5PX;
border-top-left-radius: 30px;
i{
display: inline-block;
width: 10PX;
height: 10PX;
background: url("../../../../static/images/lawEnforcement/icon/individual_icon_02.png") no-repeat center;
}
}
}
}
/deep/.van-cell__title span{
font-family: Arial;
font-size: 0.4rem;
font-weight: normal;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
word-break: break-all;
overflow: hidden;
}
/deep/.van-cell__value{
flex: 0.3;
color: #1D6FE9;
font-weight: bold;
}
/deep/.van-swipe-cell{
margin-bottom: 0.2rem;
border-radius: 0.2rem;
overflow: hidden;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
}
/deep/van-ellipsis{
font-weight: bold;
}
.van-row{
height: 100%;
}
.van-col{
height: 100%;
}
.delete-button {
height: 100%;
}
</style>

+ 214
- 0
src/views/lawEnforcement/supervise/individualDetail.vue 파일 보기

@@ -0,0 +1,214 @@
<template>
<div class="app-container">
<div class="header_main">
查看个体工商户
<div class="return_btn" @click="onClickLeft"></div>
</div>
<div style="height: 58px;"></div>
<div class="main_box">
<van-cell title="姓名" :border="false" v-model="form.name" />
<van-cell title="性别" :border="false" v-model="form.sex" />
<van-cell title="身份证号" :border="false" v-model="form.cardNum" />
<van-cell title="民族" :border="false" v-model="form.nation" />
<van-cell title="出生日期" :border="false" v-model="form.birthday" />
<van-cell title="手机号码" :border="false" v-model="form.phone" />
<van-cell title="工作单位" :border="false" v-model="form.companyPosition" />
<van-cell title="职务" :border="false" v-model="form.duties" />
<van-cell title="所在地区" :border="false" v-model="form.deptId" />
<van-cell title="详细地址" :border="false" v-model="form.address" />
<van-cell title="经营类别" :border="false" v-model="form.businessType" />
<van-cell title="经营范围" :border="false" v-model="form.businessScope" />
<van-cell title="统一社会信用代码" :border="false" v-model="form.uniformCode" />
<van-cell title="字号名称" :border="false" v-model="form.zihao " />
</div>

<p class="submitButton" @click="$router.push({name:'lawEnforcementIndividualRelation', query: {id:form.id}})">关联案件</p>
</div>
</template>

<script>
import { getPersonal , getDeptName } from "@/api/lawEnforcement/index";
export default {
name: "programmeDetail",
data() {
return {
form:{},
};
},
created() {
this.getDicts("sex").then(response => {
this.sexOptions = response.data;
});
this.getDicts("nationality").then(response => {
this.nationOptions = response.data;
});
this.getDicts("business_type").then(response => {
this.businessTypeOptions = response.data;
});
this.getDetail(this.$route.query.id)
},
methods: {
getDetail(id){
var that = this;
setTimeout(function () {
getPersonal(id).then(response => {
response.data.sex = response.data.sex == '' ? '' : that.selectDictLabel(that.sexOptions, response.data.sex);
response.data.nation = response.data.nation == '' ? '' : that.selectDictLabel(that.nationOptions, response.data.nation);
response.data.businessType = response.data.businessType == '' ? '' : that.selectDictLabel(that.businessTypeOptions, response.data.businessType);
getDeptName(response.data.deptId).then(res => {
response.data.deptId = res.data.deptName
});
that.form = response.data;
});
},1000)
},
goBack(){
window.history.go(-1)
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 0;
}
/deep/ .van-collapse-item__content{
padding: 0;
}
/deep/ .van-cell{
padding-bottom: 0;
padding-top: 0;
margin-bottom: 10PX;
&:last-child{
margin-bottom: 0;
}
}
.cf{
padding: 0 3%;
margin-top: 20PX;
margin-bottom: 20PX;
.van-row{
background: #F0F3F5;
.van-col{
padding: 5PX 0;
font-size: 12PX!important;
text-align: center;
p{
color: #1D6FE9;
}
}
&: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-right: 3%;
.van-row{
margin-bottom: 10PX;
.van-col{
text-align: center;
font-size: 14PX;
}
&:first-child{
.van-col{
color: #1D6FE9;
}
}
}
}
.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;
padding: 10PX 0;
.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: 45%;
margin: 0 auto;
background-image: linear-gradient(to right, #2E79E9 , #77A6EF);
text-align: center;
color: #ffffff;
height: 70px;
line-height: 70px;
border-radius: 8PX;
margin-top: 25PX;
}

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

+ 223
- 0
src/views/lawEnforcement/supervise/individualRelation.vue 파일 보기

@@ -0,0 +1,223 @@
<template>
<div class="home_wrapper">
<div class="header_main">
关联案件
<div class="return_btn" @click="onClickLeft"></div>
</div>
<div class="jg"></div>

<div class="search_box" v-if="list.length>0">
<p><span>{{list[0].name}}</span>关联案件</p>
</div>

<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<van-swipe-cell v-for="(item,index) in list" :key="index">
<van-cell center :to="{name:'caseDetail', query: {id:item.id,caseProgress:item.caseProgress}}">
<template #title>
<span>{{item.caseName}}</span>
</template>
<template #label>
<div class="label">
<p>{{item.caseSource}}</p>
<p>{{item.caseProgressText}}</p>
</div>
</template>
</van-cell>
</van-swipe-cell>
</van-list>
</div>
</template>

<script>
import { listCase } from "@/api/lawEnforcement/index";
export default {
name: "caseAllocation",
data() {
return {
loading: false,
finished: false,
caseQueryParams:{
// 分页
pageNum: 1,
pageSize: 10,
// 查询排序
orderByColumn: "id",
isAsc: "desc",
bodyId: null, //个体户ID
type: "1"
},
list:[]
};
},
created() {
console.log(this.$route.query.id)
this.getDicts("case_node").then(response => {
this.caseProgressOptions = response.data;
});
this.getDicts("case_source").then(response => {
this.caseSourceOptions = response.data;
});
this.caseQueryParams.bodyId = this.$route.query.id;
},
methods: {
getList(){
var _this = this;
listCase(_this.caseQueryParams).then(response => {
response.rows.map(res=>{
res.caseProgressText = res.caseProgress == '' ? '' : this.selectDictLabel(this.caseProgressOptions, res.caseProgress);
res.caseSource = res.caseSource == '' ? '' : this.selectDictLabel(this.caseSourceOptions, res.caseSource);
_this.list.push(res);
})
if(_this.list.length >= response.total){
_this.finished = true;
return;
}else{
_this.loading = false;
_this.queryParams.pageNum += 1 ;
}
});
},

},
}
</script>

<style scoped lang="scss">
.jg{
height: 116px;
}
.home_wrapper{
background: #e9e9e9;
min-height: 100vh;
width: 100vw;
padding: 0 2% 0.2rem;

.search_box{
display: flex;
justify-content: center;
align-items: center;
width: 92%;
margin: 10PX auto;
font-size: 0.4rem;
span{
color: #1D6FE9;
}
}
.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-cell__title{
.first{
display: flex;
justify-content: space-between;
span{
color: #FE1313;
&:last-child{
color: #B4B0B0;
}
}
}
span{
font-family: Arial;
font-size: 0.35rem;
font-weight: normal;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
word-break: break-all;
overflow: hidden;
}
}
/deep/.van-cell__label .label {
display: flex;
justify-content: space-between;
p{
display: inline-block;
font-size: 0.35rem;
&:first-child{
background: rgba(29,111,233,0.2);
padding: 0 8PX;
border-radius: 3PX;
color: #1D6FE9;
}
&:last-child{
padding: 0 7PX;
border: 1px solid #1CB8B1;
color: #1CB8B1;
border-radius: 1rem;
}
}
}
/deep/.van-cell__value{
flex: 0.3;
color: #1D6FE9;
font-weight: bold;
}
/deep/.van-cell{
/*margin-bottom: 0.2rem;*/
/*overflow: hidden;*/
}
/deep/.van-cell:first-child{
/*margin-top: 0.2rem;*/
}
/deep/van-ellipsis{
font-weight: bold;
}
/deep/ .van-swipe-cell{
margin-bottom: 0.3rem;
border-radius: 0.2rem;
overflow: hidden;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
&:first-child{
margin-top: 0.3rem;
}
}
/deep/ .van-swipe-cell__right{
right: -1PX;
}
.van-row{
height: 100%;
}
.van-col{
height: 100%;
}
.delete-button {
height: 100%;
}
</style>

+ 242
- 0
src/views/lawEnforcement/task/signInRecord.vue 파일 보기

@@ -0,0 +1,242 @@
<template>
<div class="app-container">
<div class="header_main">
上传签字文书
<div class="return_btn" @click="onClickLeft"></div>
</div>

<div class="jg"></div>

<div class="search_box">
<!-- <p>{{form.address}}</p>-->
<p>{{form.caseName}}</p>
</div>

<div>
<van-row type="flex" align="center" v-for="(item,index) in fileList" :key="index">
<van-col>
<p :class="{'tt':form.caseProgress != item.caseProgress,'tt_now':form.caseProgress == item.caseProgress,}">{{item.caseProgressName}}</p>
</van-col>
<van-col :span="2">
<p class="top_border" v-if="index!=0"></p>
<i></i>
<p class="bottom_border" v-if="index != fileList.length-1"></p>
</van-col>
<van-col :span="19">
<van-uploader v-model="item.caseProgressAttach" :show-upload="index == fileList.length-1 ? true : false" :deletable="index == fileList.length-1 ? true : false" :after-read="afterRead" @delete="deleteFile" multiple preview-size="60" upload-icon="add" />
</van-col>
</van-row>
</div>
<!-- $router.push({name:'lawEnforcementEnterpriseRelation'})-->
<p style="color: #FE1313;text-align: center;margin-top: 20PX;">*请上传不超过5MB 格式为doc/xls/png/jpg/jpeg/mp4的文件</p>
<p class="submitButton" @click="submitForm">保存</p>
</div>
</template>

<script>
import { getCase,attachmentList,commonUpload,attachmentEdit } from "@/api/lawEnforcement/index";
export default {
name: "programmeDetail",
data() {
return {
fileList1:[],
fileList:[],
openPic:[],
openPic2:[],
caseProgressOptions:[],
form:{}
};
},
created() {
this.getDicts("case_node").then(response => {
this.caseProgressOptions = response.data;
getCase(this.$route.query.id).then((res) => {
res.data.caseProgressName = this.selectDictLabel(response.data, res.data.caseProgress);
this.form = res.data;//caseProgress
});
});
this.getDetail();
},
methods: {
getDetail(){
let queryParams = {
caseId:this.$route.query.id
}
attachmentList(queryParams).then((response) => {
let fileForm = response.rows;
console.log(fileForm)
fileForm.map((res,i)=>{
if (res.caseProgressAttach != null && res.caseProgressAttach != ''){
res.caseProgressAttach = res.caseProgressAttach.split(",");
}else{
res.caseProgressAttach = [];
}

res.caseProgressAttach.map((rr,index)=>{
if (i == fileForm.length-1){
this.openPic2.push(rr)
}
res.caseProgressAttach[index] = {
url: '/api' + rr,
isImage: true
}
})
this.fileList.push(res)
})
console.log(this.openPic2)
});
},
afterRead(file) {
// 此时可以自行将文件上传至服务器
this.openPic.push(file.file);

let params1 = new FormData();
params1.append("file", file.file);
commonUpload(params1).then((r1) => {
this.openPic2.push(r1.fileName);
})
},
deleteFile(file,detail) {
this.openPic2.splice(detail.index,1);
},
submitForm(){
let queryParams = {
id: this.$route.query.id,// 案件ID
caseProgress: this.form.caseProgress,
attachement: this.openPic2.join(','), // 打卡上传附件(附件的路径字符串,多个附件路径之前通过英文逗号分隔)
};
attachmentEdit(queryParams).then((r1) => {
if (r1.code == 200){
this.$notify({ type: 'success', message: '保存成功' });
}
})
}
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 0 4%;
height: 100vh;
background: #ffffff;
}
.jg{
height: 116px;
}
.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-uploader__upload{
margin: 0;
border: 1px dashed #C9C9C9;
border-radius: 10px;
background: transparent;
}
/deep/ .van-col{
position: relative;
}
/deep/ .van-row{
/*margin-top: 10PX;*/
}
/deep/ .van-col--19{
padding-top: 10PX;
}
.search_box{
width: 88%;
margin: 10PX auto;
color: #1D6FE9;
font-size: 0.4rem;
text-align: center;
}
.tt{
background: url('../../../../static/images/lawEnforcement/icon/signInRecord_icon_01.png') no-repeat center;
width: 41PX;
height: 41PX;
line-height: 41PX;
text-align: center;
color: #ffffff;
font-size: .35rem;
}
.tt_now{
background: url('../../../../static/images/lawEnforcement/icon/signInRecord_icon_03.png') no-repeat center;
width: 41PX;
height: 41PX;
line-height: 41PX;
text-align: center;
color: #ffffff;
font-size: .35rem;
}
i{
background: url('../../../../static/images/lawEnforcement/icon/signInRecord_icon_02.png') no-repeat center;
width: 10PX;
height: 10PX;
display: block;
margin: 0 auto;
}
/deep/ .van-col--2{
text-align: center;
}
.bottom_border{
border-left: 2PX solid #DDDDDD;
width: 0PX;
height: 25PX;
position: absolute;
left: calc(50% - 1PX);
top: calc(50% + 5PX);
}
.top_border{
border-left: 2PX solid #DDDDDD;
width: 0PX;
height: 35PX;
position: absolute;
left: calc(50% - 1PX);
top: -35PX;
}
.submitButton{
width: 45%;
margin: 0 auto;
background-image: linear-gradient(to right, #2E79E9 , #77A6EF);
text-align: center;
color: #ffffff;
height: 70px;
line-height: 70px;
border-radius: 8PX;
margin-top: 25PX;
}
/deep/ .van-uploader__preview{
margin-bottom: 0!important;
}
/deep/ .van-uploader{
display: block;
}
</style>

+ 313
- 0
src/views/lawEnforcement/task/task.vue 파일 보기

@@ -0,0 +1,313 @@
<template>
<div class="home_wrapper">
<div class="header_main">
任务查看
<div class="return_btn" @click="onClickLeft"></div>
</div>
<div class="jg"></div>
<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<van-swipe-cell v-for="(item,index) in list" :key="index">
<van-cell center :to="{name:'lawEnforcementTaskDetail', query: {id:item.id}}">
<template #title>
<span>{{item.caseName}}</span>
<div class="first">
<span>{{item.caseSource}}</span>
<span>分配时间:{{item.handlerSetDate}}</span>
</div>
</template>
<template #label>
<div class="label">
<p>执法人:{{item.handlerNameStr}}</p>
<p>{{item.caseProgressName}}</p>
</div>
</template>
</van-cell>
<template #right>
<van-row>
<van-col>
<van-button square color="#FFA63E" text="打卡" :to="{name:'lawEnforcementTaskSignIn', query: {id:item.id}}" class="delete-button" />
</van-col>
<van-col>
<van-button square color="#1CB8B1" :to="{name:'lawEnforcementSignInRecord', query: {id:item.id}}" class="delete-button" >上传<br/>文件</van-button>
</van-col>
<van-col>
<van-button square color="#1D6FE9" :to="{name:'lawEnforcementTaskHandle', query: {id:item.id,caseProgress:item.caseProgress}}" class="delete-button" >案件<br/>处理</van-button>
</van-col>
</van-row>
</template>
</van-swipe-cell>
</van-list>
</div>
</template>

<script>
import { caseTasklist } from "@/api/lawEnforcement/index";
export default {
name: "caseAllocation",
data() {
return {
loading: false,
finished: false,
searchInput:'',
queryParams: {
// 分页
pageNum: 1,
pageSize: 10,
// 查询排序
orderByColumn: "id",
isAsc: "desc",
},
list:[]
};
},
created() {
this.getDicts("case_source").then(response => {
this.caseSourceOptions = response.data;
});
this.getDicts("case_node").then(response => {
this.caseProgressOptions = response.data;
});
},
methods: {
getList(){
var _this = this;
caseTasklist(_this.queryParams).then(response => {
response.rows.map(res=>{
res.caseSource = res.caseSource == '' ? '' : this.selectDictLabel(this.caseSourceOptions, res.caseSource);
res.caseProgressName = res.caseProgress == '' ? '' : this.selectDictLabel(this.caseProgressOptions, res.caseProgress);
this.list.push(res);
})
if(this.list.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;
},
/** 删除按钮操作 */
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_add')
},
goDetail(id){
this.$router.push({path:'/sunVillage_info/list_finance_detail',query: {id:id,type:'finance'}})
},
goRanking(id,time){
this.$router.push({path:'/sunVillage_info/list_finance_ranking',query: {id:id,time:time}})
},
goEdit(id){
this.$router.push({path:'/sunVillage_info/list_finance_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">
.jg{
height: 116px;
}
.home_wrapper{
background: #e9e9e9;
min-height: 100vh;
width: 100vw;
padding: 0 2% 0.2rem;
.search_box{
display: flex;
justify-content: space-between;
align-items: center;
width: 92%;
margin: 0PX auto;
.search{
background: #ffffff;
display: flex;
justify-content: space-between;
align-items: center;
width: 80%;
margin: 10PX auto;
border: 1px solid #1D6FE9;
padding: 1PX 1PX 1PX 12PX ;
border-radius: 50PX;
input{
flex: 1;
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-cell__title{
.first{
display: flex;
justify-content: space-between;
span{
color: #FE1313;
&:last-child{
color: #B4B0B0;
}
}
}
span{
font-family: Arial;
font-size: 0.35rem;
font-weight: normal;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
word-break: break-all;
overflow: hidden;
}
}
/deep/.van-cell__label .label {
display: flex;
justify-content: space-between;
align-items: center;
p{
display: inline-block;
font-size: 0.35rem;
&:first-child{
color: #333333;
width: 70%;
}
&:last-child{
padding: 0 7PX;
border: 1px solid #1D6FE9;
color: #1D6FE9;
border-radius: 1rem;
}
}
}
/deep/.van-cell__value{
flex: 0.3;
color: #1D6FE9;
font-weight: bold;
}
/deep/.van-cell{
/*margin-bottom: 0.2rem;*/
/*overflow: hidden;*/
}
/deep/.van-cell:first-child{
/*margin-top: 0.2rem;*/
}
/deep/van-ellipsis{
font-weight: bold;
}
/deep/ .van-swipe-cell{
margin-bottom: 0.3rem;
border-radius: 0.2rem;
overflow: hidden;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
&:first-child{
margin-top: 0.3rem;
}
}
/deep/ .van-swipe-cell__right{
right: -1PX;
}
.van-row{
height: 100%;
}
.van-col{
height: 100%;
}
.delete-button {
height: 100%;
}
</style>

+ 344
- 0
src/views/lawEnforcement/task/taskDetail.vue 파일 보기

@@ -0,0 +1,344 @@
<template>
<div class="app-container">
<div class="header_main">
查看登记
<div class="return_btn" @click="onClickLeft"></div>
</div>
<div style="height: 58px;"></div>
<div class="main_box">
<van-cell>
<template #title>
<van-icon name="../../../static/images/lawEnforcement/icon/icon_zxfa.png" size="20"></van-icon>
<span class="custom-title">登记<i class="bgBlue"></i></span>
</template>
</van-cell>
<van-cell title="案件来源" :border="false" v-model="form.caseSource" />
<van-cell title="关联方案" :border="false" v-model="form.schemeId" />
<van-cell title="案件属地" :border="false" v-model="form.deptId" />
<van-cell title="执行主体" :border="false" v-model="form.belongTeam" />
<van-cell title="案件名称" :border="false" v-model="form.caseName" />
<van-cell title="登记日期" :border="false" v-model="form.registerDate" />
<van-cell title="执法类别" :border="false" v-model="form.enforceCategory" />
<!-- <van-cell title="案件简述1" :border="false" v-model="form.caseSource" />-->
</div>

<div class="main_box" style="margin-top: 10px;">
<van-collapse v-model="activeNames">
<van-collapse-item name="1">
<template #title>
<van-icon name="../../../static/images/lawEnforcement/icon/icon_dsr.png" size="20"></van-icon>
<span class="custom-title">当事人<i class="bgBlue"></i></span>
</template>
<van-cell title="当事人类型" :border="false" v-model="form.type" />

<template v-if="form.type=='个人/个体工商户'">
<van-cell title="当事人姓名" :border="false" v-model="form.name" />
<van-cell title="性别" :border="false" v-model="form.sex" />
<van-cell title="身份证号" :border="false" v-model="form.cardNum" />
<van-cell title="出生日期" :border="false" v-model="form.birthday" />
<van-cell title="民族" :border="false" v-model="form.nation" />
<van-cell title="工作单位" :border="false" v-model="form.companyPosition" />
<van-cell title="职务" :border="false" v-model="form.duties" />
<van-cell title="字号名称" :border="false" v-model="form.zihao" />
</template>
<template v-if="form.type=='企业'">
<van-cell title="企业名称" :border="false" v-model="form.companyName" />
<van-cell title="法人/负责人" :border="false" v-model="form.legalName" />
</template>
<van-cell title="联系电话" :border="false" v-model="form.phone" />
<van-cell title="联系地址" :border="false" v-model="form.address" />
<van-cell title="统一社会信用代码" :border="false" v-model="form.uniformCode" />
</van-collapse-item>
</van-collapse>
</div>

<div class="main_box" style="margin-top: 10px;">
<van-collapse v-model="activeNames1">
<van-collapse-item name="1">
<template #title>
<van-icon name="../../../static/images/lawEnforcement/icon/icon_ajwd.png" size="20"></van-icon>
<span class="custom-title">附件<i class="bgBlue"></i></span>
</template>
<div class="cf">
<van-uploader v-model="form.attachementList" :show-upload="false" :deletable="false" />
<van-empty v-if="form.attachement == null " description="暂无文件" />
</div>
</van-collapse-item>
</van-collapse>
</div>

<div class="main_box" style="margin-top: 10px;">
<van-collapse v-model="activeNames2">
<van-collapse-item name="1">
<template #title>
<van-icon name="../../../static/images/lawEnforcement/icon/icon_zxry.png" size="20"></van-icon>
<span class="custom-title">执法人员<i class="bgBlue"></i></span>
</template>
<div class="peopleList">
<van-row>
<van-col :span="4">序号</van-col>
<van-col :span="6">执行人员</van-col>
<van-col :span="10">执法证号</van-col>
<van-col :span="4">带队人</van-col>
</van-row>

<van-row v-for="(item,index) in tEnforceCaseHandlerList" :key="index" >
<van-col :span="4">{{index+1}}</van-col>
<van-col :span="6">{{item.enforcerName}}</van-col>
<van-col :span="10">{{item.enforcerNum}}</van-col>
<van-col :span="4">
<div class="icon_box">
<van-checkbox v-model="item.enforcerLeader" shape="square"></van-checkbox>
</div>
</van-col>
</van-row>
<!-- <img src="../../../../static/images/lawEnforcement/new/addPeop_btn.png" style="margin: 0 auto;" @click="$router.push({name:'lawEnforcementCaseLawEnforcer'})">-->
</div>
</van-collapse-item>
</van-collapse>
</div>
<p class="submitButton" @click="$router.push({name:'lawEnforcementTaskSignIn', query: {id:form.id}})">执法打卡</p>
</div>
</template>

<script>
import { getCase , getDeptName , getSurveyByCaseId } from "@/api/lawEnforcement/index";
export default {
name: "programmeDetail",
data() {
return {
showBankType:false,
showPayeeType:false,
showPicker:false,
form:{},

bankType:'',
payeeType:'',
value:'',

bankTypeOptions:[],
payeeTypeOptions:[],
tEnforceSchemeHandlerList:[],
minDate: new Date(2020, 0, 1),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(2021, 0, 17),

activeNames: ['1'],
activeNames1: ['1'],
activeNames2: ['1'],

caseSourceOptions:[],
belongTeamOptions:[],

// 查询参数
queryParams: {
// 分页
pageNum: 1,
pageSize: 10,
// 查询排序
orderByColumn: "id",
isAsc: "desc",
name: null, // 搜索参数-执行人姓名或证件号
belongTeam: null, // 搜索参数-所在中队
},
tEnforceCaseHandlerList:[]
};
},
created() {
// this.getDictionaries()
this.getDicts("case_source").then(response => {
this.caseSourceOptions = response.data;
});
this.getDicts("team_category").then(response => {
this.belongTeamOptions = response.data;
});
this.getDicts("enforce_body_type").then(response => {
this.typeOptions = response.data;
});
this.getDicts("sex").then(response => {
this.sexOptions = response.data;
});
this.getDetail();
},
methods: {
getDetail(){
getCase(this.$route.query.id).then((response) => {
response.data.caseSource = response.data.caseSource == '' ? '' : this.selectDictLabel(this.caseSourceOptions, response.data.caseSource);
response.data.belongTeam = response.data.belongTeam == '' ? '' : this.selectDictLabel(this.belongTeamOptions, response.data.belongTeam);
response.data.type = response.data.type == '' ? '' : this.selectDictLabel(this.typeOptions, response.data.type);
response.data.sex = response.data.sex == '' ? '' : this.selectDictLabel(this.sexOptions, response.data.sex);
getDeptName(response.data.deptId).then(res => {
response.data.deptId = res.data.deptName
});
if (response.data.attachement){
response.data.attachementList = [];
var attachement = response.data.attachement.split( "," );
attachement.forEach(responseAttach=>{
response.data.attachementList.push({
url:'/api' + responseAttach,
isImage: true
});
})
// process.env.VUE_APP_BASE_ROUTING_URL + process.env.VUE_APP_BASE_API
}
this.form = response.data;
});
getSurveyByCaseId(this.$route.query.id).then((response) => {
if(response.data != undefined){
this.tEnforceCaseHandlerList = response.data.tEnforceCaseHandlerList;
}
});
},
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;
.van-col{
padding: 5PX 0;
font-size: 12PX!important;
text-align: center;
p{
color: #1D6FE9;
}
}
&: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: 3%;
text-align: center;
.van-row{
margin-bottom: 10PX;
background: rgba(196,218,249,0.3);
border-radius: 5PX;
.van-col{
text-align: center;
font-size: 14PX;
color: #333333;
padding: 5PX 0;
}
&:first-child{
background: none;
.van-col{
padding: 0;
color: #1D6FE9;
}
}
}
.icon_box{
/deep/ .van-checkbox{
justify-content: center;
}
}
}
.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: 45%;
margin: 0 auto;
background-image: linear-gradient(to right, #2E79E9 , #77A6EF);
text-align: center;
color: #ffffff;
height: 70px;
line-height: 70px;
border-radius: 8PX;
margin-top: 25PX;
}

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

+ 3682
- 0
src/views/lawEnforcement/task/taskHandle.vue
파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
파일 보기


+ 162
- 0
src/views/lawEnforcement/task/taskRecord.vue 파일 보기

@@ -0,0 +1,162 @@
<template>
<div class="app-container">
<div class="header_main">
签到记录
<div class="return_btn" @click="onClickLeft"></div>
</div>
<div style="height: 58px;"></div>

<div class="top_box">
<img src="../../../../static/images/lawEnforcement/icon/task_icon_04.png" class="icon_02">
<div class="name_box">
<p>{{user.nickName}}</p>
<p>{{roleGroup}}</p>
</div>
<img src="../../../../static/images/lawEnforcement/icon/task_icon_03.png" class="icon_01">
</div>

<div class="center_box">
<div class="center_box_list" v-for="(item,index) in clockinList">
<div class="center_box_list_left">
<p>{{item.clockinDate}} {{item.clockinTime}}</p>
<p>{{item.clockinAddr}}</p>
</div>
<router-link class="goSee" :to="{name:'lawEnforcementTaskSignInSee', query: {caseId:item.caseId , id:item.id}}">查看</router-link>
</div>
</div>

</div>
</template>

<script>
import { clockinList , getUserProfile } from "@/api/lawEnforcement/index";
export default {
name: "programmeDetail",
data() {
return {
form:{},
clockinList:[],
user:{},
roleGroup:''
};
},
created() {
getUserProfile().then(res => {
this.user = res.data;
this.roleGroup = res.roleGroup;
})
this.getDetail()
},
methods: {
getDetail(){
let queryParams = {
caseId:this.$route.query.id,
relationType:this.$route.query.relationType,
clockin_user:this.$route.query.clockin_user
}
clockinList(queryParams).then((response) => {
this.clockinList = response.rows;
});
},
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 2% 2% 10%;
background: #ffffff;
height: 100vh;
}
.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;
}
}

.top_box{
display: flex;
align-items: center;
padding: 20px 3%;
.icon_01{
margin-left: auto;
}
.icon_02{
margin-right: 3%;
}
.name_box{
p{
&:first-child{
font-size: 0.45rem;
color: #333333;
}
&:last-child{
font-size: 0.35rem;
color: #B4B0B0;
}
}
}
}

.center_box{
background: #F5F9FF;
font-size: 0.35rem;
.center_box_list{
display: flex;
align-items: center;
padding: 5% 0;
width: 94%;
margin: 0 auto;
border-bottom: 1px solid #C9C9C9;
&:last-child{
border: none;
}
.center_box_list_left{
p{
&:first-child{
font-size: .4rem;
}
&:last-child{
color: #333333;
background: url('../../../../static/images/lawEnforcement/icon/task_icon_02.png') no-repeat center left;
margin-top: 10PX;
padding-left: 20PX;
}
}
}
.goSee{
margin-left: auto;
background: url('../../../../static/images/lawEnforcement/icon/task_icon_05.png') no-repeat top center;
padding-top: 18PX;
color: #1D6FE9;
}
}
}
</style>

+ 322
- 0
src/views/lawEnforcement/task/taskSignIn.vue 파일 보기

@@ -0,0 +1,322 @@
<template>
<div class="app-container">
<div class="header_main">
执法打卡
<div class="return_btn" @click="onClickLeft"></div>
</div>
<baidu-map :center="center" panBy="[50,50]" :zoom="zoom" :scroll-wheel-zoom="true" :pinch-to-zoom="true" map-type="BMAP_NORMAL_MAP" style="height:150vh" >
<!-- 必须给容器指高度,不然地图将显示在一个高度为0的容器中,看不到 -->
<bm-geolocation anchor="BMAP_ANCHOR_BOTTOM_RIGHT" :showAddressBar="true" :autoLocation="true"></bm-geolocation>
<bm-marker :position="center" :dragging="true" animation="BMAP_ANIMATION_BOUNCE" :icon="{url: '../../../../static/images/lawEnforcement/new/address.gif', size: {width: 50, height: 50}}"></bm-marker>
</baidu-map>

<div style="position:absolute;top: 75px;width: 100%;">
<div class="main_box top_box">
<van-field readonly v-model="form.caseSource" label="案件来源" :border="false" />
<van-field readonly v-model="form.schemeId" label="关联方案" :border="false" />
<van-field readonly v-model="form.caseName" label="案件名称" :border="false" />
</div>

<div class="main_box" style="margin-top: 10px;padding: 0rem 0.426667rem;">
<div class="file_box">
<p class="left_box">未</p>
<div class="center_box">
<p class="time">{{ nowTime }}<span>({{ nowDate }})</span></p>
<p class="dress">{{clockinAddr}}</p>
</div>
<div class="file_box_btn" @click="$router.push({name:'lawEnforcementTaskRecord', query: {id:form.id,relationType:form.caseProgress,clockin_user:clockin_user}})">
<img src="../../../../static/images/lawEnforcement/icon/task_icon.png">
<p>打卡记录</p>
</div>
</div>
<div class="file_box" style="border-top: 1px solid #DEDEDE">
<van-uploader v-model="fileList" :after-read="afterRead" @delete="deleteFile" />
</div>

<div class="bz">
<van-field placeholder="请输入备注" v-model="remark" :border="false" />
</div>
</div>

<div class="main_box" style="margin-top: 10px;padding: 0.266667rem 0.426667rem;">
<p class="now_dress">当前位置:{{clockinAddr}}</p>
</div>
</div>
<!-- $router.push({name:'lawEnforcementSignInRecord'}) @click="submitForm"-->
<div class="submitButton" @click="submitForm" >
<p class="datetime">{{ nowTime }}</p>
<p>打卡</p>
</div>
</div>
</template>

<script>
import { getCase , schemeList , commonUpload , getUserProfile , addClockin } from "@/api/lawEnforcement/index";
export default {
name: "programmeDetail",
data() {
return {
checked:'',
showBankType:false,
showPayeeType:false,
showPicker:false,
form:{
clockinAddr:''
},
center: { lng: 122.089726, lat: 37.540728 }, //经纬度
zoom: 15, //地图展示级别

bankType:'',
payeeType:'',
value:'',

bankTypeOptions:[],
payeeTypeOptions:[],
tEnforceSchemeHandlerList:[],
minDate: new Date(2020, 0, 1),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(2021, 0, 17),

activeNames: ['1'],
activeNames1: ['1'],
activeNames2: ['1'],
nowDate: this.format(new Date(),'yyyy-MM-dd'), // 当前日期
nowTime: '', // 当前时间

fileList:[],
openPic:[],
openPic2:[],
clockinAddr:'',
remark:'',
clockin_user:''
};
},
created() {
// this.getDictionaries()
var that = this;
setInterval(function () {
that.nowTime = that.format(new Date(),'HH:mm')
}, 500);
this.getDicts("case_source").then(response => {
this.caseSourceOptions = response.data;
});
this.getDetail();

getUserProfile().then(res => {
this.clockin_user = res.data.userName;
})
},
methods: {
getDetail(){
getCase(this.$route.query.id).then((response) => {
response.data.caseSource = response.data.caseSource == '' ? '' : this.selectDictLabel(this.caseSourceOptions, response.data.caseSource);
var schemeQueryParam = {
applyStatus: "1",
};
schemeList(schemeQueryParam).then((res) => {
let scheme = res.rows.filter(function (e) { return e.id == response.data.schemeId; });
if (scheme.length > 0){
response.data.schemeId = scheme[0].schemeName
}
});
this.form = response.data;
this.getNowLocation();
});
},
afterRead(file) {
// 此时可以自行将文件上传至服务器
this.openPic.push(file.file);
let params1 = new FormData();
params1.append("file", file.file);
commonUpload(params1).then((r1) => {
this.openPic2.push(r1.fileName);
})
},
deleteFile(file,detail) {
console.log(file)
console.log(detail)
this.openPic2.splice(detail.index,1);
},
getNowLocation(){
let that = this;
var location_lon = "";
var location_lat = ""; // 经度,纬度
navigator.geolocation.getCurrentPosition((position) => {
let lat = position.coords.latitude;
let lng = position.coords.longitude;
const pointBak = new BMap.Point(lng, lat);
const convertor = new BMap.Convertor();
convertor.translate([pointBak], 1, 5,function(resPoint) {
if(resPoint && resPoint.points && resPoint.points.length>0){
lng = resPoint.points[0].lng;
lat = resPoint.points[0].lat;
}
const point = new BMap.Point(lng, lat);
const geo = new BMap.Geocoder();
that.form.latitude = point.lat;
that.form.longitude = point.lng;
that.center.lng = point.lng;
that.center.lat = point.lat;
geo.getLocation(point, (res) => {
console.log(res)
that.clockinAddr = res.address;
that.form.clockinAddr = res.address;
});
});
});
},
submitForm(){
let queryParams = {
deptId: this.form.deptId,
caseId: this.$route.query.id, // 案件ID
relationType: this.form.caseProgress, // 案件所在阶段(2:勘察 3:立案 4:取证 5:处理 6:裁决 7:执行)
clockinAddr: this.form.clockinAddr, // 打卡地址(中文汉字地址)
clockinDate: this.format(new Date(),'yyyy-MM-dd'), // 打卡日期(仅日期,例如:2022-09-29 )
clockinTime: this.format(new Date(),'HH:mm'), // 打卡时间 (仅日期,例如:11:19)
clockinUser: this.clockin_user, // 打卡账号(获取当前登录执法人员用户的账号,一般是手机号账号)
attachement: this.openPic2.join(','), // 打卡上传附件(附件的路径字符串,多个附件路径之前通过英文逗号分隔)
latitude: this.form.latitude, // 打卡纬度(定位坐标纬度)
longitude: this.form.longitude, // 打卡经度(定位坐标经度)
remark:this.remark
};
console.log(queryParams)
addClockin(queryParams).then(response => {
if (response.code == 200){
this.$toast.success('打卡成功');
}
})
}
// showPosition(position){
// console.log("我当前经度为"+position.coords.latitude+",纬度为"+position.coords.longitude+"的地方哦")
// },
},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 0;
height: 100vh;
overflow: hidden;
}
.bz{
padding-bottom: 15PX;
/deep/ .van-cell{
padding: 2px 8px;
border: 1px solid #C9C9C9;
border-radius: 8px;
}
}
.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;
}
}
.top_box{
background: url('../../../../static/images/lawEnforcement/icon/task_icon_03.png') no-repeat 97% 10%;
padding: 10PX 0;
/*background-size: 100% 100%;*/
/deep/ .van-cell{
background: none;
}
}
.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;
}
.file_box{
display: flex;
align-items: center;
font-size: 0.35rem;
padding: 0.266667rem 0;
.left_box{
background: #C9C9C9;
color: #ffffff;
width: 27PX;
height: 27PX;
line-height: 27PX;
text-align: center;
border-radius: 100%;
}
.center_box{
padding: 0rem 0.426667rem;
.time{
font-size: 0.5rem;
span{
font-size: 0.35rem;
color: #878787;
}
}
.dress{
color: #B4B0B0;
background: url('../../../../static/images/lawEnforcement/icon/task_icon_01.png') no-repeat left center;
padding-left: 14PX;
}
}
.file_box_btn{
text-align: center;
color: #1CB8B1;
margin-left: auto;
}
}
.now_dress{
font-size: 0.35rem;
background: url('../../../../static/images/lawEnforcement/icon/task_icon_02.png') no-repeat left center;
padding-left: 20PX;
line-height: 35PX;
}
.submitButton{
width: 25vw;
background-image: linear-gradient(to right, #2E79E9 , #77A6EF);
text-align: center;
color: #ffffff;
height: 25vw;
line-height: 70px;
border-radius: 100%;
position: absolute;
bottom: 5%;
left: 50%;
transform: translateX(-50%);
p{
font-size: 0.4rem;
line-height: 1;
margin-top: 3vw;
}
.datetime{
margin-top: 6vw;
/*font-weight: bold;*/
font-size: 0.6rem;
}
}
</style>

+ 271
- 0
src/views/lawEnforcement/task/taskSignInSee.vue 파일 보기

@@ -0,0 +1,271 @@
<template>
<div class="app-container">
<div class="header_main">
查看打卡
<div class="return_btn" @click="onClickLeft"></div>
</div>
<baidu-map :center="center" panBy="[50,50]" :zoom="zoom" :scroll-wheel-zoom="true" :pinch-to-zoom="true" map-type="BMAP_NORMAL_MAP" style="height:150vh" >
<!-- 必须给容器指高度,不然地图将显示在一个高度为0的容器中,看不到 -->
<bm-geolocation anchor="BMAP_ANCHOR_BOTTOM_RIGHT" :showAddressBar="true" :autoLocation="true"></bm-geolocation>
<bm-marker :position="center" :dragging="true" animation="BMAP_ANIMATION_BOUNCE" :icon="{url: '../../../../static/images/lawEnforcement/new/address.gif', size: {width: 50, height: 50}}"></bm-marker>
</baidu-map>

<div style="position:absolute;top: 75px;width: 100%;">
<div class="main_box top_box">
<van-field readonly v-model="form.caseSource" label="案件来源" :border="false" />
<van-field readonly v-model="form.schemeId" label="关联方案" :border="false" />
<van-field readonly v-model="form.caseName" label="案件名称" :border="false" />
</div>

<div class="main_box" style="margin-top: 10px;padding: 0rem 0.426667rem;">
<div class="file_box">
<p class="left_box">未</p>
<div class="center_box">
<p class="time">{{ nowTime }}<span>({{ nowDate }})</span></p>
<p class="dress">{{clockinAddr}}</p>
</div>
<!-- <div class="file_box_btn" @click="$router.push({name:'lawEnforcementTaskRecord', query: {id:form.id,relationType:form.caseProgress,clockin_user:clockin_user}})">-->
<!-- <img src="../../../../static/images/lawEnforcement/icon/task_icon.png">-->
<!-- <p>打卡记录</p>-->
<!-- </div>-->
</div>
<div class="file_box" style="border-top: 1px solid #DEDEDE">
<van-uploader v-model="fileList" :show-upload="false" :deletable="false" />
<van-empty v-if="fileList.length<1" description="暂无文件" />
</div>

<div class="bz">
<van-field placeholder="暂无备注" v-model="remark" :border="false" readonly />
</div>
</div>

<div class="main_box" style="margin-top: 10px;padding: 0.266667rem 0.426667rem;">
<p class="now_dress">当前位置:{{clockinAddr}}</p>
</div>
</div>
<!-- $router.push({name:'lawEnforcementSignInRecord'}) @click="submitForm"-->
<!-- <div class="submitButton" @click="submitForm" >-->
<!-- <p class="datetime">{{ nowTime }}</p>-->
<!-- <p>打卡</p>-->
<!-- </div>-->
</div>
</template>

<script>
import { getCase , schemeList , commonUpload , getUserProfile , addClockin , clockinGet } from "@/api/lawEnforcement/index";
export default {
name: "programmeDetail",
data() {
return {
checked:'',
showBankType:false,
showPayeeType:false,
showPicker:false,
form:{
clockinAddr:''
},
center: { lng: 122.089726, lat: 37.540728 }, //经纬度
zoom: 15, //地图展示级别

bankType:'',
payeeType:'',
value:'',

bankTypeOptions:[],
payeeTypeOptions:[],
tEnforceSchemeHandlerList:[],
minDate: new Date(2020, 0, 1),
maxDate: new Date(2025, 10, 1),
currentDate: new Date(2021, 0, 17),

activeNames: ['1'],
activeNames1: ['1'],
activeNames2: ['1'],
nowDate: this.format(new Date(),'yyyy-MM-dd'), // 当前日期
nowTime: '', // 当前时间

fileList:[],
openPic:[],
openPic2:[],
clockinAddr:'',
remark:'',
clockin_user:''
};
},
created() {
// this.getDictionaries()
var that = this;
this.getDicts("case_source").then(response => {
this.caseSourceOptions = response.data;
});
this.getDetail();
getUserProfile().then(res => {
this.clockin_user = res.data.userName;
})
},
methods: {
getDetail(){
getCase(this.$route.query.caseId).then((response) => {
response.data.caseSource = response.data.caseSource == '' ? '' : this.selectDictLabel(this.caseSourceOptions, response.data.caseSource);
var schemeQueryParam = {
applyStatus: "1",
};
schemeList(schemeQueryParam).then((res) => {
let scheme = res.rows.filter(function (e) { return e.id == response.data.schemeId; });
if (scheme.length > 0){
response.data.schemeId = scheme[0].schemeName
}
});
this.form = response.data;
});
clockinGet(this.$route.query.id).then((response) => {

this.nowTime = response.data.clockinTime;
this.nowDate = response.data.clockinDate;
this.clockinAddr = response.data.clockinAddr;
this.remark = response.data.remark;
let fileList = response.data.attachement.split(",");
fileList.map(res=>{
this.fileList.push({
url: '/api' + res,
isImage: true
})
})

this.center.lng = response.data.longitude;
this.center.lat = response.data.latitude;
console.log(response.data.attachement.split(","))
})
},

},
}
</script>

<style scoped lang="scss">
.app-container {
padding: 0;
height: 100vh;
overflow: hidden;
}
.bz{
padding-bottom: 15PX;
/deep/ .van-cell{
padding: 2px 8px;
border: 1px solid #C9C9C9;
border-radius: 8px;
}
}
.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;
}
}
.top_box{
background: url('../../../../static/images/lawEnforcement/icon/task_icon_03.png') no-repeat 97% 10%;
padding: 10PX 0;
/*background-size: 100% 100%;*/
/deep/ .van-cell{
background: none;
}
}
.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;
}
.file_box{
display: flex;
align-items: center;
font-size: 0.35rem;
padding: 0.266667rem 0;
.left_box{
background: #C9C9C9;
color: #ffffff;
width: 27PX;
height: 27PX;
line-height: 27PX;
text-align: center;
border-radius: 100%;
}
.center_box{
padding: 0rem 0.426667rem;
.time{
font-size: 0.5rem;
span{
font-size: 0.35rem;
color: #878787;
}
}
.dress{
color: #B4B0B0;
background: url('../../../../static/images/lawEnforcement/icon/task_icon_01.png') no-repeat left center;
padding-left: 14PX;
}
}
.file_box_btn{
text-align: center;
color: #1CB8B1;
margin-left: auto;
}
}
.now_dress{
font-size: 0.35rem;
background: url('../../../../static/images/lawEnforcement/icon/task_icon_02.png') no-repeat left center;
padding-left: 20PX;
line-height: 35PX;
}
.submitButton{
width: 25vw;
background-image: linear-gradient(to right, #2E79E9 , #77A6EF);
text-align: center;
color: #ffffff;
height: 25vw;
line-height: 70px;
border-radius: 100%;
position: absolute;
bottom: 5%;
left: 50%;
transform: translateX(-50%);
p{
font-size: 0.4rem;
line-height: 1;
margin-top: 3vw;
}
.datetime{
margin-top: 6vw;
/*font-weight: bold;*/
font-size: 0.6rem;
}
}
</style>

+ 285
- 0
src/views/lawEnforcement/trace/feed.vue 파일 보기

@@ -0,0 +1,285 @@
<template>
<div class="app-container">
<div class="header_main">
查饲料
<div class="return_btn" @click="onClickLeft"></div>
<div class="jg"></div>
</div>

<div class="main">

<div class="main_box">
<van-field v-model="queryParams.recordCode" :border="false" label="饲料许可证号" placeholder="请输入饲料许可证号" input-align="right" />
<van-field v-model="queryParams.factory" :border="false" label="生产厂家" placeholder="请输入生产厂家" input-align="right" />
<van-field v-model="queryParams.productGoodsName" :border="false" label="商品名称" placeholder="请输入商品名称" input-align="right" />
<van-field v-model="queryParams.productName" :border="false" label="产品通用名称" placeholder="请输入产品通用名称" input-align="right" />
</div>

<p class="submitButton" @click="goSubmit">立即查询</p>

<div class="scroll_box">
<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<div class="list_box" v-for="(item,index) in list" :key="index">
<van-cell center :to="{name:'lawEnforcementFeedDetail', query: {content:item}}">
<template #title>
<div class="tt">
<span>{{item.productName}}</span>
<span>{{item.effectivePeriod}}</span>
</div>
<div class="first">
<span>{{item.recordCode}}</span>
<span>{{item.productGoodsName}}</span>
</div>
</template>
<template #label>
<div class="label">
<p>{{item.factory}}</p>
</div>
</template>
</van-cell>
</div>
</van-list>
</div>

</div>

</div>
</template>

<script>
import { listFeed } from "@/api/lawEnforcement/index";
export default {
name: "programmeDetail",
data() {
return {
loading: false,
finished: false,
form:{},
value:'',
queryParams: {
// 分页
pageNum: 1,
pageSize: 10,
// 查询排序
orderByColumn: "id",
isAsc: "desc",
recordCode: null, // 查询参数-饲料许可证号
factory: null, // 生产厂家
productGoodsName: null, // 商品名称
productName: null, // 通用名称
},
list:[],
};
},
created() {
// this.getDictionaries()
},
methods: {
getList(){
var _this = this;
listFeed(_this.queryParams).then(response => {
response.rows.map(res=>{
this.list.push(res);
})
console.log(this.list.length)
if(this.list.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.queryParams.pageNum += 1 ;
}
});
},
goSubmit(){
this.list = [];
this.queryParams.pageNum = 1 ;
this.finished = false;
this.loading = false;
}
},
}
</script>

<style scoped lang="scss">
.jg{
height: 180PX;
}
.app-container {

}
.main{
position: absolute;
width: 100%;
top: 88PX;
}
.scroll_box{
height: calc(100vh - 100px - 200PX - 100PX);
overflow: hidden;
overflow-y: scroll;
}
/deep/ .van-cell{
padding-bottom: 0;
padding-top: 0;
margin-bottom: 10PX;
&:last-child{
margin-bottom: 0;
}
}
.header_main{
/*height: 116px;*/
background: url('../../../../static/images/lawEnforcement/new/header_bg.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;
}
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
margin-top: 0;
position: relative;
}
.main_box{
width: 90%;
margin: 0 auto;
border-radius: 10PX;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
padding: 20PX 5PX;
.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: 70%;
margin: 25PX auto;
background-image: linear-gradient(to right, #2E79E9 , #77A6EF);
text-align: center;
color: #ffffff;
height: 70px;
line-height: 70px;
border-radius: 8PX;
}

.addFamily{
position: absolute;
top: -2px;
right: 0;
border-radius: 50%;
}
/deep/.van-cell__title{
.tt{
display: flex;
justify-content: space-between;
span:first-child{
background: url('../../../../static/images/lawEnforcement/icon/pesticides_icon_05.png') no-repeat left center;
padding-left: 20PX;
}
span:last-child{
color: #1D6FE9;
}
}
.first{
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 5PX;
span{
color: #1D6FE9;
font-size: 0.35rem;
&:first-child{
background: rgba(29,111,233,0.2);
padding: 3PX 5PX;
line-height: 1;
border-radius: 3PX;
}
&:last-child{
color: #666666;
}
}
}
.dress{
font-size: .35rem;
color: #1CB8B1;
margin-top: 5PX;
}
span{
font-family: Arial;
font-size: 0.4rem;
font-weight: normal;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
word-break: break-all;
overflow: hidden;
}
}
.list_box{
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
width: 94%;
margin: 0 auto 10PX;
padding: 12PX 0;
background: #ffffff;
border-radius: 8PX;
}
.label {
display: flex;
justify-content: space-between;
p{
display: inline-block;
font-size: 0.35rem;
}
}
</style>

+ 127
- 0
src/views/lawEnforcement/trace/feedDetail.vue 파일 보기

@@ -0,0 +1,127 @@
<template>
<div class="app-container">
<div class="header_main">
查饲料
<div class="return_btn" @click="onClickLeft"></div>
<div class="jg"></div>
</div>

<div class="main">

<div class="main_box">
<van-cell title="饲料许可证号" :border="false" v-model="form.recordCode" />
<van-cell title="生产厂家" :border="false" v-model="form.factory" />
<van-cell title="商品名称" :border="false" v-model="form.productGoodsName" />
<van-cell title="产品通用名称" :border="false" v-model="form.productName" />
<van-cell title="有效期限" :border="false" v-model="form.effectivePeriod" />
<van-cell title="备注" :border="false" v-model="form.remark" />
</div>

</div>

</div>
</template>

<script>
import { getScheme } from "@/api/lawEnforcement/index";
export default {
name: "programmeDetail",
data() {
return {
form:{},
};
},
created() {
var content = this.$route.query.content;
this.form = content;
},
methods: {

},
}
</script>

<style scoped lang="scss">
.jg{
height: 180PX;
}
.app-container {

}
.main{
position: relative;
top: -170PX;
}
/deep/ .van-cell{
padding-bottom: 0;
padding-top: 0;
margin-bottom: 10PX;
&:last-child{
margin-bottom: 0;
}
}
.header_main{
/*height: 116px;*/
background: url('../../../../static/images/lawEnforcement/new/header_bg.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;
}
}
.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;
padding: 20PX 5PX;
.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;
}
}
</style>

+ 378
- 0
src/views/lawEnforcement/trace/fertilizer.vue 파일 보기

@@ -0,0 +1,378 @@
<template>
<div class="app-container">
<div class="header_main">
查肥料
<div class="return_btn" @click="onClickLeft"></div>
<div class="jg"></div>
</div>

<div class="main">

<div class="main_box">
<van-field v-model="queryParams.recordCode" :border="false" label="登记证号" placeholder="请输入登记证号" input-align="right" />
<van-field v-model="queryParams.factory" :border="false" label="企业名称" placeholder="请输入企业名称" input-align="right" />
<van-field v-model="queryParams.productName" :border="false" label="产品通用名称" placeholder="请输入产品通用名称" input-align="right" />
<van-field v-model="queryParams.productGoodsName" :border="false" label="产品商品名称" placeholder="请输入产品商品名称" input-align="right" />
</div>

<p class="submitButton" @click="goSubmit">立即查询</p>

<div class="scroll_box">
<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<div class="list_box" v-for="(item,index) in list" :key="index">
<van-cell center :to="{name:'lawEnforcementFertilizerDetail', query: {content:item}}">
<template #title>
<div class="tt">
<span>{{item.productName}}</span>
<span>{{item.agent}}</span>
</div>
<div class="first">
<span>{{item.recordCode}}</span>
<span>{{item.productGoodsName}}</span>
</div>
</template>
<template #label>
<div class="label">
<p>{{item.factory}}</p>
<p>{{item.effectiveDate}}</p>
</div>
</template>
</van-cell>
</div>
</van-list>
</div>
</div>

</div>
</template>

<script>
import { listFertilizer } from "@/api/lawEnforcement/index";
export default {
name: "programmeDetail",
data() {
return {
loading: false,
finished: false,
form:{},
value:'',
showCategory:false,
showAgent:false,
queryParams: {
// 分页
pageNum: 1,
pageSize: 10,
// 查询排序
orderByColumn: "id",
isAsc: "desc",
recordCode: null, // 查询参数-登记证号
factory: null, // 查询参数-企业名称
productName: null, // 查询参数-通用名称
productGoodsName: null, // 查询参数-商品名称
},
list:[],
categoryOptions:[],
agentOptions:[],
category: null, // 查询参数-农药种类
agent: null, // 查询参数-剂型
};
},
created() {
// this.getDictionaries()
},
methods: {
getList(){
var _this = this;
listFertilizer(_this.queryParams).then(response => {
response.rows.map(res=>{
this.list.push(res);
})
console.log(this.list.length)
if(this.list.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.queryParams.pageNum += 1 ;
}
});
},
goSubmit(){
this.list = [];
this.queryParams.pageNum = 1 ;
this.finished = false;
this.loading = false;
}
},
}
</script>

<style scoped lang="scss">
.jg{
height: 180PX;
}
.app-container {

}
.top_box{
line-height: 1;
text-align: left;
width: 85%;
margin: 0 auto;
padding-bottom: 10PX;
background: url('../../../../static/images/lawEnforcement/new/retrospect_icon_14.png') no-repeat right bottom;
.top_01{
display: flex;
align-items: center;
font-size: 0.4rem;
margin-top: 15PX;
img{
margin-right: 10PX;
}
}
.tt{
font-size: 0.7rem;
margin-top: 15PX;
}
.top_02{
display: flex;
align-items: center;
font-size: 0.3rem;
margin-top: 15PX;
i{
display: inline-block;
width: 15PX;
height: 15PX;
margin-right: 3PX;
}
p{
display: flex;
align-items: center;
margin-right: 10PX;
&:nth-child(1){
i{
background: url('../../../../static/images/lawEnforcement/new/retrospect_icon_11.png') no-repeat center;
background-size: auto 15PX;
}
}
&:nth-child(2){
i{
background: url('../../../../static/images/lawEnforcement/new/retrospect_icon_12.png') no-repeat center;
background-size: auto 15PX;
}
}
&:nth-child(3){
i{
background: url('../../../../static/images/lawEnforcement/new/retrospect_icon_13.png') no-repeat center;
background-size: auto 15PX;
}
}
}
}
}
.main{
position: relative;
top: -150PX;
}
.center_box{
text-align: center;
padding: 30PX 0!important;
p{
margin-top: 15PX;
&:nth-child(2){
font-size: 0.4rem;
color: #59C145;
}
&:nth-child(3){
font-size: 0.4rem;
color: #B4B0B0;
display: inline-block;
background: url('../../../../static/images/lawEnforcement/new/retrospect_icon_16.png') no-repeat left center;
padding-left: 20PX;
}
}
}
/deep/ .van-cell{
padding-bottom: 0;
padding-top: 0;
margin-bottom: 10PX;
&:last-child{
margin-bottom: 0;
}
}
.header_main{
/*height: 116px;*/
background: url('../../../../static/images/lawEnforcement/new/header_bg.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-right: 3%;
.van-row{
margin-bottom: 10PX;
.van-col{
text-align: center;
font-size: 14PX;
}
&:first-child{
.van-col{
color: #1D6FE9;
}
}
}
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
margin-top: 0;
position: relative;
}
.main_box{
width: 90%;
margin: 0 auto;
border-radius: 10PX;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
padding: 20PX 5PX;
.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: 70%;
margin: 25PX auto;
background-image: linear-gradient(to right, #2E79E9 , #77A6EF);
text-align: center;
color: #ffffff;
height: 70px;
line-height: 70px;
border-radius: 8PX;
}

.addFamily{
position: absolute;
top: -2px;
right: 0;
border-radius: 50%;
}
/deep/.van-cell__title{
.tt{
display: flex;
justify-content: space-between;
span:first-child{
background: url('../../../../static/images/lawEnforcement/icon/pesticides_icon_03.png') no-repeat left center;
padding-left: 20PX;
}
span:last-child{
color: #1D6FE9;
}
}
.first{
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 5PX;
span{
color: #1D6FE9;
font-size: 0.35rem;
&:first-child{
background: rgba(29,111,233,0.2);
padding: 3PX 5PX;
line-height: 1;
border-radius: 3PX;
}
&:last-child{
color: #666666;
}
}
}
.dress{
font-size: .35rem;
color: #1CB8B1;
margin-top: 5PX;
}
span{
font-family: Arial;
font-size: 0.4rem;
font-weight: normal;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
word-break: break-all;
overflow: hidden;
}
}
.list_box{
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
width: 94%;
margin: 0 auto 10PX;
padding: 12PX 0;
background: #ffffff;
border-radius: 8PX;
}
.label {
display: flex;
justify-content: space-between;
p{
display: inline-block;
font-size: 0.35rem;
}
}
</style>

+ 134
- 0
src/views/lawEnforcement/trace/fertilizerDetail.vue 파일 보기

@@ -0,0 +1,134 @@
<template>
<div class="app-container">
<div class="header_main">
查肥料
<div class="return_btn" @click="onClickLeft"></div>
<div class="jg"></div>
</div>

<div class="main">

<div class="main_box">
<van-cell title="登记证号" :border="false" v-model="form.recordCode" />
<van-cell title="企业名称" :border="false" v-model="form.factory" />
<van-cell title="产品通用名称" :border="false" v-model="form.productName" />
<van-cell title="产品商品名称" :border="false" v-model="form.productGoodsName" />
<van-cell title="产品形态" :border="false" v-model="form.agent" />
<van-cell title="登记技术指标" :border="false" v-model="form.regIndex" />
<van-cell title="适宜范围" :border="false" v-model="form.suitableRange" />
<van-cell title="登记证有效期" :border="false" v-model="form.effectiveDate" />
<van-cell title="企业法人" :border="false" v-model="form.legalPerson" />
<van-cell title="产品标准号" :border="false" v-model="form.standardCode" />
<van-cell title="有效菌种名称" :border="false" v-model="form.effectiveStrain" />
<van-cell title="备注" :border="false" v-model="form.remark" />
</div>

</div>

</div>
</template>

<script>
import { getScheme } from "@/api/lawEnforcement/index";
export default {
name: "programmeDetail",
data() {
return {
form:{},
};
},
created() {
// this.getDictionaries()
var content = this.$route.query.content;
this.form = content;
},
methods: {

},
}
</script>

<style scoped lang="scss">
.jg{
height: 180PX;
}
.app-container {

}
.main{
position: relative;
top: -170PX;
}
/deep/ .van-cell{
padding-bottom: 0;
padding-top: 0;
margin-bottom: 10PX;
&:last-child{
margin-bottom: 0;
}
}
.header_main{
/*height: 116px;*/
background: url('../../../../static/images/lawEnforcement/new/header_bg.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;
}
}
.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;
padding: 20PX 5PX;
.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;
}
}
</style>

+ 443
- 0
src/views/lawEnforcement/trace/pesticides.vue 파일 보기

@@ -0,0 +1,443 @@
<template>
<div class="app-container">
<div class="header_main">
查农药
<div class="return_btn" @click="onClickLeft"></div>
<div class="jg"></div>
</div>

<div class="main">

<div class="main_box">
<van-field v-model="queryParams.recordCode" :border="false" label="登记证号" placeholder="请输入登记证号" input-align="right" />
<van-field v-model="queryParams.productName" :border="false" label="农药名称" placeholder="请输入农药名称" input-align="right" />
<van-field v-model="queryParams.recordHolder" :border="false" label="登记证持有人" placeholder="请输入登记证持有人" input-align="right" />
<van-field
readonly
clickable
:border="false"
label="农药种类"
placeholder="请选择"
v-model="category"
@click="showCategory = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showCategory" position="bottom">
<van-picker
show-toolbar
:columns="categoryOptions"
@confirm="onConfirmCategory"
@cancel="showCategory = false"
/>
</van-popup>
<van-popup v-model="showAgent" position="bottom">
<van-picker
show-toolbar
:columns="agentOptions"
@confirm="onConfirmAgent"
@cancel="showAgent = false"
/>
</van-popup>
<van-field
readonly
clickable
:border="false"
label="全部剂型"
placeholder="请选择"
v-model="agent"
@click="showAgent = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
</div>

<p class="submitButton" @click="goSubmit">立即查询</p>
<div class="scroll_box">
<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<div class="list_box" v-for="(item,index) in list" :key="index">
<van-cell center :to="{name:'lawEnforcementPesticidesDetail', query: {content:item}}">
<template #title>
<div class="tt">
<span>{{item.productName}}</span>
<span>{{item.content}}%</span>
</div>
<div class="first">
<span>{{item.recordCode}}</span>
<span>{{item.category}}</span>
<span>{{item.agent}}</span>
</div>
<p class="dress">{{item.recordHolder}}</p>
</template>
<template #label>
<div class="label">
<p>有效期始 {{item.firstApprovalDate}}</p>
<p>有效期至 {{item.effectiveDate}}</p>
</div>
</template>
</van-cell>
</div>
</van-list>
</div>
</div>

</div>
</template>

<script>
import { listProduct } from "@/api/lawEnforcement/index";
export default {
name: "programmeDetail",
data() {
return {
loading: false,
finished: false,
form:{},
value:'',
showCategory:false,
showAgent:false,
queryParams: {
// 分页
pageNum: 1,
pageSize: 10,
// 查询排序
orderByColumn: "id",
isAsc: "desc",
recordCode: null, // 查询参数-登记证号
productName: null, // 查询参数-农药名称
category: null, // 查询参数-农药种类
agent: null, // 查询参数-剂型
recordHolder:null, // 查询参数-登记证持有人
},
list:[],
categoryOptions:[],
agentOptions:[],
category: null, // 查询参数-农药种类
agent: null, // 查询参数-剂型
};
},
created() {
// this.getDictionaries()
// 农药种类
this.getDicts("category_type").then(response => {
for (var i = 0; i < response.data.length; i++) {
this.categoryOptions.push({text: response.data[i].dictLabel, value: response.data[i].dictValue});
}
});
// 剂型
this.getDicts("agent_type").then(response => {
for (var i = 0; i < response.data.length; i++) {
this.agentOptions.push({text: response.data[i].dictLabel, value: response.data[i].dictValue});
}
});

},
methods: {
getList(){
var _this = this;
listProduct(_this.queryParams).then(response => {
response.rows.map(res=>{
// res.businessType = res.businessType == '' ? '' : this.selectDictLabel(this.businessTypeOptions, res.businessType);
this.list.push(res);
})
console.log(this.list.length)
if(this.list.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.queryParams.pageNum += 1 ;
}
});
},
onConfirmCategory(data){
this.category = data.text;
this.queryParams.category = data.value;
this.showCategory = false;
},
onConfirmAgent(data){
this.agent = data.text;
this.queryParams.agent = data.value;
this.showAgent = false;
},
goSubmit(){
this.list = [];
this.queryParams.pageNum = 1 ;
this.finished = false;
this.loading = false;
// this.getList();
}
},
}
</script>

<style scoped lang="scss">
.jg{
height: 180PX;
}
.app-container {

}
.top_box{
line-height: 1;
text-align: left;
width: 85%;
margin: 0 auto;
padding-bottom: 10PX;
background: url('../../../../static/images/lawEnforcement/new/retrospect_icon_14.png') no-repeat right bottom;
.top_01{
display: flex;
align-items: center;
font-size: 0.4rem;
margin-top: 15PX;
img{
margin-right: 10PX;
}
}
.tt{
font-size: 0.7rem;
margin-top: 15PX;
}
.top_02{
display: flex;
align-items: center;
font-size: 0.3rem;
margin-top: 15PX;
i{
display: inline-block;
width: 15PX;
height: 15PX;
margin-right: 3PX;
}
p{
display: flex;
align-items: center;
margin-right: 10PX;
&:nth-child(1){
i{
background: url('../../../../static/images/lawEnforcement/new/retrospect_icon_11.png') no-repeat center;
background-size: auto 15PX;
}
}
&:nth-child(2){
i{
background: url('../../../../static/images/lawEnforcement/new/retrospect_icon_12.png') no-repeat center;
background-size: auto 15PX;
}
}
&:nth-child(3){
i{
background: url('../../../../static/images/lawEnforcement/new/retrospect_icon_13.png') no-repeat center;
background-size: auto 15PX;
}
}
}
}
}
.main{
position: absolute;
width: 100%;
top: 58PX;
}
.center_box{
text-align: center;
padding: 30PX 0!important;
p{
margin-top: 15PX;
&:nth-child(2){
font-size: 0.4rem;
color: #59C145;
}
&:nth-child(3){
font-size: 0.4rem;
color: #B4B0B0;
display: inline-block;
background: url('../../../../static/images/lawEnforcement/new/retrospect_icon_16.png') no-repeat left center;
padding-left: 20PX;
}
}
}
/deep/ .van-cell{
padding-bottom: 0;
padding-top: 0;
margin-bottom: 10PX;
&:last-child{
margin-bottom: 0;
}
}
.header_main{
/*height: 116px;*/
background: url('../../../../static/images/lawEnforcement/new/header_bg.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-right: 3%;
.van-row{
margin-bottom: 10PX;
.van-col{
text-align: center;
font-size: 14PX;
}
&:first-child{
.van-col{
color: #1D6FE9;
}
}
}
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
margin-top: 0;
position: relative;
}
.main_box{
width: 90%;
margin: 0 auto;
border-radius: 10PX;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
padding: 20PX 5PX;
.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: 70%;
margin: 50px auto;
background-image: linear-gradient(to right, #2E79E9 , #77A6EF);
text-align: center;
color: #ffffff;
height: 70px;
line-height: 70px;
border-radius: 8PX;
}
.scroll_box{
height: calc(100vh - 100px - 200PX - 100PX);
overflow: hidden;
overflow-y: scroll;
}
.addFamily{
position: absolute;
top: -2px;
right: 0;
border-radius: 50%;
}
/deep/.van-cell__title{
.tt{
display: flex;
justify-content: space-between;
span:first-child{
background: url('../../../../static/images/lawEnforcement/icon/pesticides_icon_01.png') no-repeat left center;
padding-left: 15PX;
}
}
.first{
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 5PX;
span{
color: #1D6FE9;
font-size: 0.35rem;
&:first-child{
background: rgba(29,111,233,0.2);
padding: 3PX 5PX;
line-height: 1;
border-radius: 3PX;
}
}
}
.dress{
font-size: .35rem;
color: #1CB8B1;
margin-top: 5PX;
}
span{
font-family: Arial;
font-size: 0.4rem;
font-weight: normal;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
word-break: break-all;
overflow: hidden;
}
}
.list_box{
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
width: 94%;
margin: 0 auto 10PX;
padding: 12PX 0;
background: #ffffff;
border-radius: 8PX;
}
.label {
display: flex;
justify-content: space-between;
p{
display: inline-block;
font-size: 0.35rem;
}
}
</style>

+ 144
- 0
src/views/lawEnforcement/trace/pesticidesDetail.vue 파일 보기

@@ -0,0 +1,144 @@
<template>
<div class="app-container">
<div class="header_main">
查农药
<div class="return_btn" @click="onClickLeft"></div>
<div class="jg"></div>
</div>

<div class="main">

<div class="main_box">
<van-cell title="登记证号" :border="false" v-model="form.recordCode" />
<van-cell title="登记证持有人" :border="false" v-model="form.recordHolder" />
<van-cell title="农药名称" :border="false" v-model="form.productName" />
<van-cell title="农药种类" :border="false" v-model="form.category" />
<van-cell title="剂型" :border="false" v-model="form.agent" />
<van-cell title="总含量" :border="false" v-model="form.content" />
<van-cell title="有效期始" :border="false" v-model="form.firstApprovalDate" />
<van-cell title="有效期至" :border="false" v-model="form.effectiveDate" />
<van-cell title="防治作物和场所" :border="false" v-model="form.preventPlace" />
<van-cell title="毒性" :border="false" v-model="form.virulence" />
<van-cell title="有效成分及含量" :border="false" v-model="form.activeContent" />
</div>

<div class="main_box" style="margin-top: 10PX;">
<van-cell title="防治对象" :border="false" v-model="form.preventObject" />
<van-cell title="用药量" :border="false" v-model="form.useDosage" />
<van-cell title="施用方法" :border="false" v-model="form.useMethod" />
<van-cell title="生产厂家" :border="false" v-model="form.factory" />
<van-cell title="厂家地址" :border="false" v-model="form.factoryAddress" />
<van-cell title="厂家电话" :border="false" v-model="form.factoryPhone" />
<van-cell title="厂家邮编" :border="false" v-model="form.factoryPostal" />
<van-cell title="厂家传真" :border="false" v-model="form.factoryFax" />
<van-cell title="备注" :border="false" v-model="form.remark" />
</div>

</div>

</div>
</template>

<script>
import { getScheme } from "@/api/lawEnforcement/index";
export default {
name: "programmeDetail",
data() {
return {
form:{},
};
},
created() {
var content = this.$route.query.content;
this.form = content;
},
methods: {

},
}
</script>

<style scoped lang="scss">
.jg{
height: 180PX;
}
.app-container {

}
.main{
position: relative;
top: -170PX;
}
/deep/ .van-cell{
padding-bottom: 0;
padding-top: 0;
margin-bottom: 10PX;
&:last-child{
margin-bottom: 0;
}
}
.header_main{
/*height: 116px;*/
background: url('../../../../static/images/lawEnforcement/new/header_bg.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;
}
}
.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;
padding: 20PX 5PX;
.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;
}
}
</style>

+ 290
- 0
src/views/lawEnforcement/trace/product.vue 파일 보기

@@ -0,0 +1,290 @@
<template>
<div class="app-container">
<div class="header_main">
查农产品
<div class="return_btn" @click="onClickLeft"></div>
<div class="jg"></div>
</div>

<div class="main">

<div class="main_box">
<van-field v-model="value" :border="false" label="证书编号" placeholder="请输入证书编号" input-align="right" />
<van-field v-model="value" :border="false" label="产品名称" placeholder="请输入产品名称" input-align="right" />
<van-field v-model="value" :border="false" label="产品类别" placeholder="请输入产品类别" input-align="right" />
<van-field v-model="value" :border="false" label="农产品类型" placeholder="请输入农产品类型" input-align="right" />
</div>

<p class="submitButton">立即查询</p>

<div class="scroll_box">
<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<div class="list_box" v-for="(item,index) in list" :key="index">
<van-cell center :to="{name:'lawEnforcementProductDetail', query: {content:item}}">
<template #title>
<div class="tt">
<span>{{item.productName}}</span>
<span>{{item.productCategory}}</span>
</div>
<div class="first">
<span>{{item.recordCode}}</span>
<span>{{item.productType}}</span>
</div>
</template>
<template #label>
<div class="label">
<p>{{item.companyName}}</p>
<!-- <p>5年</p>-->
</div>
</template>
</van-cell>
</div>
</van-list>
</div>

</div>

</div>
</template>

<script>
import { listAgri } from "@/api/lawEnforcement/index";
export default {
name: "programmeDetail",
data() {
return {
loading: false,
finished: false,
form:{},
value:'',
queryParams: {
// 分页
pageNum: 1,
pageSize: 10,
// 查询排序
orderByColumn: "id",
isAsc: "desc",
recordCode: null, // 查询参数-饲料许可证号
factory: null, // 生产厂家
productGoodsName: null, // 商品名称
productName: null, // 通用名称
},
list:[],
};
},
created() {
// this.getDictionaries()
this.getDicts("agri_product_type").then(response => {
this.productTypeOptions = response.data;
});
},
methods: {
getList(){
var _this = this;
listAgri(_this.queryParams).then(response => {
response.rows.map(res=>{
res.productType = res.productType == '' ? '' : this.selectDictLabel(this.productTypeOptions, res.productType);
this.list.push(res);
})
console.log(this.list.length)
if(this.list.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.queryParams.pageNum += 1 ;
}
});
},
goSubmit(){
this.list = [];
this.queryParams.pageNum = 1 ;
this.finished = false;
this.loading = false;
}
},
}
</script>

<style scoped lang="scss">
.jg{
height: 180PX;
}
.app-container {

}
.main{
position: absolute;
width: 100%;
top: 88PX;
}
.scroll_box{
height: calc(100vh - 100px - 200PX - 100PX);
overflow: hidden;
overflow-y: scroll;
}
/deep/ .van-cell{
padding-bottom: 0;
padding-top: 0;
margin-bottom: 10PX;
&:last-child{
margin-bottom: 0;
}
}
.header_main{
/*height: 116px;*/
background: url('../../../../static/images/lawEnforcement/new/header_bg.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;
}
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
margin-top: 0;
position: relative;
}
.main_box{
width: 90%;
margin: 0 auto;
border-radius: 10PX;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
padding: 20PX 5PX;
.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: 70%;
margin: 25PX auto;
background-image: linear-gradient(to right, #2E79E9 , #77A6EF);
text-align: center;
color: #ffffff;
height: 70px;
line-height: 70px;
border-radius: 8PX;
}

.addFamily{
position: absolute;
top: -2px;
right: 0;
border-radius: 50%;
}
/deep/.van-cell__title{
.tt{
display: flex;
justify-content: space-between;
span:first-child{
background: url('../../../../static/images/lawEnforcement/icon/pesticides_icon_06.png') no-repeat left center;
padding-left: 20PX;
}
span:last-child{
color: #1CB8B1;
}
}
.first{
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 5PX;
span{
color: #1D6FE9;
font-size: 0.35rem;
&:first-child{
background: rgba(29,111,233,0.2);
padding: 3PX 5PX;
line-height: 1;
border-radius: 3PX;
}
&:last-child{
color: #666666;
}
}
}
.dress{
font-size: .35rem;
color: #1CB8B1;
margin-top: 5PX;
}
span{
font-family: Arial;
font-size: 0.4rem;
font-weight: normal;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
word-break: break-all;
overflow: hidden;
}
}
.list_box{
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
width: 94%;
margin: 0 auto 10PX;
padding: 12PX 0;
background: #ffffff;
border-radius: 8PX;
}
.label {
display: flex;
justify-content: space-between;
p{
display: inline-block;
font-size: 0.35rem;
}
}
</style>

+ 131
- 0
src/views/lawEnforcement/trace/productDetail.vue 파일 보기

@@ -0,0 +1,131 @@
<template>
<div class="app-container">
<div class="header_main">
查农产品
<div class="return_btn" @click="onClickLeft"></div>
<div class="jg"></div>
</div>

<div class="main">

<div class="main_box">
<van-cell title="农产品类型" :border="false" v-model="form.productType" />
<van-cell title="证书编号" :border="false" v-model="form.recordCode" />
<van-cell title="产品名称" :border="false" v-model="form.productName" />
<van-cell title="产品类别" :border="false" v-model="form.productCategory" />
<van-cell title="注册商标" :border="false" v-model="form.regMark" />
<van-cell title="企业名称" :border="false" v-model="form.companyName" />
<van-cell title="企业地址" :border="false" v-model="form.companyAddress" />
<van-cell title="企业信息码" :border="false" v-model="form.companyCode" />
<van-cell title="备注" :border="false" v-model="form.remark" />
</div>

</div>

</div>
</template>

<script>
import { getScheme } from "@/api/lawEnforcement/index";
export default {
name: "programmeDetail",
data() {
return {
form:{},
};
},
created() {
// this.getDictionaries()
var content = this.$route.query.content;
this.form = content;
},
methods: {

},
}
</script>

<style scoped lang="scss">
.jg{
height: 180PX;
}
.app-container {

}
.main{
position: relative;
top: -170PX;
}
/deep/ .van-cell{
padding-bottom: 0;
padding-top: 0;
margin-bottom: 10PX;
&:last-child{
margin-bottom: 0;
}
}
.header_main{
/*height: 116px;*/
background: url('../../../../static/images/lawEnforcement/new/header_bg.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;
}
}
.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;
padding: 20PX 5PX;
.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;
}
}
</style>

+ 278
- 0
src/views/lawEnforcement/trace/seed.vue 파일 보기

@@ -0,0 +1,278 @@
<template>
<div class="app-container">
<div class="header_main">
查种子
<div class="return_btn" @click="onClickLeft"></div>
<div class="jg"></div>
</div>

<div class="main">

<div class="main_box">
<van-field v-model="queryParams.category" :border="false" label="作物种类" placeholder="请输入作物种类" input-align="right" />
<van-field v-model="queryParams.productName" :border="false" label="品种名称" placeholder="请输入品种名称" input-align="right" />
<van-field v-model="queryParams.recordCode" :border="false" label="审定登记编号" placeholder="请输入审定登记编号" input-align="right" />
<van-field v-model="queryParams.recordOrg" :border="false" label="审定登记单位" placeholder="请输入审定登记单位" input-align="right" />
</div>

<p class="submitButton" @click="goSubmit">立即查询</p>

<div class="scroll_box">
<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<div class="list_box" v-for="(item,index) in list" :key="index">
<van-cell center :to="{name:'lawEnforcementSeedDetail', query: {content:item}}">
<template #title>
<div class="tt">
<span>{{item.productName}}</span>
<span>{{item.recordCode}}</span>
</div>
</template>
<template #label>
<div class="label">
<p>{{item.recordOrg}}</p>
<p>{{item.category}}</p>
</div>
</template>
</van-cell>
</div>
</van-list>
</div>
</div>

</div>
</template>

<script>
import { listSeed } from "@/api/lawEnforcement/index";
export default {
name: "programmeDetail",
data() {
return {
loading: false,
finished: false,
form:{},
value:'',
showCategory:false,
showAgent:false,
queryParams: {
// 分页
pageNum: 1,
pageSize: 10,
// 查询排序
orderByColumn: "id",
isAsc: "desc",
category: null,
productName: null,
recordCode: null,
},
list:[],
categoryOptions:[],
agentOptions:[],
category: null, // 查询参数-农药种类
agent: null, // 查询参数-剂型
};
},
created() {
// this.getDictionaries()
},
methods: {
getList(){
var _this = this;
listSeed(_this.queryParams).then(response => {
response.rows.map(res=>{
this.list.push(res);
})
console.log(this.list.length)
if(this.list.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.queryParams.pageNum += 1 ;
}
});
},
goSubmit(){
this.list = [];
this.queryParams.pageNum = 1 ;
this.finished = false;
this.loading = false;
}
},
}
</script>

<style scoped lang="scss">
.jg{
height: 180PX;
}
.app-container {

}
.main{
position: absolute;
width: 100%;
top: 88PX;
}
/deep/ .van-cell{
padding-bottom: 0;
padding-top: 0;
margin-bottom: 10PX;
&:last-child{
margin-bottom: 0;
}
}
.header_main{
/*height: 116px;*/
background: url('../../../../static/images/lawEnforcement/new/header_bg.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;
}
}
.main_box{
width: 90%;
margin: 0 auto;
border-radius: 10PX;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
padding: 20PX 5PX;
.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: 70%;
margin: 25PX auto;
background-image: linear-gradient(to right, #2E79E9 , #77A6EF);
text-align: center;
color: #ffffff;
height: 70px;
line-height: 70px;
border-radius: 8PX;
}
/deep/.van-cell__title{
.tt{
display: flex;
justify-content: space-between;
align-items: center;
span:first-child{
background: url('../../../../static/images/lawEnforcement/icon/pesticides_icon_02.png') no-repeat left center;
padding-left: 25PX;
}
span:last-child{
color: #1D6FE9;
font-size: 0.35rem;
background: rgba(29,111,233,0.2);
padding: 3PX 5PX;
line-height: 1;
border-radius: 3PX;
}
}
.first{
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 5PX;
span{
color: #1D6FE9;
font-size: 0.35rem;
&:first-child{
background: rgba(29,111,233,0.2);
padding: 3PX 5PX;
line-height: 1;
border-radius: 3PX;
}
}
}
.dress{
font-size: .35rem;
color: #1CB8B1;
margin-top: 5PX;
}
span{
font-family: Arial;
font-size: 0.4rem;
font-weight: normal;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
word-break: break-all;
overflow: hidden;
}
}
.list_box{
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
width: 94%;
margin: 0 auto 10PX;
padding: 12PX 0;
background: #ffffff;
border-radius: 8PX;
}
.label {
display: flex;
justify-content: space-between;
p{
display: inline-block;
font-size: 0.35rem;
&:last-child{
color: #666666;
}
}
}
.scroll_box{
height: calc(100vh - 100px - 200PX - 100PX);
overflow: hidden;
overflow-y: scroll;
}
</style>

+ 151
- 0
src/views/lawEnforcement/trace/seedDetail.vue 파일 보기

@@ -0,0 +1,151 @@
<template>
<div class="app-container">
<div class="header_main">
查种子
<div class="return_btn" @click="onClickLeft"></div>
<div class="jg"></div>
</div>

<div class="main">

<div class="main_box">
<van-cell title="作物种类" :border="false" v-model="form.category" />
<van-cell title="品种名称" :border="false" v-model="form.productName" />
<van-cell title="审定登记编号" :border="false" v-model="form.recordCode" />
<van-cell title="审定登记年份" :border="false" v-model="form.recordYear" />
<van-cell title="审定登记单位" :border="false" v-model="form.recordOrg" />
<van-cell title="选(引)育单位(人)" :border="false" v-model="form.recordHolder" />
</div>

<div class="main_box" style="margin-top: 10PX;">
<van-cell title="品种来源" :border="false" v-model="form.varietySource" />
</div>

<div class="main_box" style="margin-top: 10PX;">
<van-cell title="特征特性" :border="false" v-model="form.features" />
</div>

<div class="main_box" style="margin-top: 10PX;">
<van-cell title="产量表现" :border="false" v-model="form.yieldPerformance" />
</div>

<div class="main_box" style="margin-top: 10PX;">
<van-cell title="栽培技术要点" :border="false" v-model="form.regIndex" />
</div>

<div class="main_box" style="margin-top: 10PX;">
<van-cell title="适宜种植区域" :border="false" v-model="form.suitableRange" />
</div>

<div class="main_box" style="margin-top: 10PX;">
<van-cell title="备注" :border="false" v-model="form.remark" />
</div>

</div>

</div>
</template>

<script>
import { getScheme } from "@/api/lawEnforcement/index";
export default {
name: "programmeDetail",
data() {
return {
form:{},
};
},
created() {
var content = this.$route.query.content;
this.form = content;
},
methods: {

},
}
</script>

<style scoped lang="scss">
.jg{
height: 180PX;
}
.app-container {

}
.main{
position: relative;
top: -170PX;
}
/deep/ .van-cell{
padding-bottom: 0;
padding-top: 0;
margin-bottom: 10PX;
&:last-child{
margin-bottom: 0;
}
}
.header_main{
/*height: 116px;*/
background: url('../../../../static/images/lawEnforcement/new/header_bg.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;
}
}
.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;
padding: 20PX 5PX;
.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;
}
}
</style>

+ 285
- 0
src/views/lawEnforcement/trace/veterinary.vue 파일 보기

@@ -0,0 +1,285 @@
<template>
<div class="app-container">
<div class="header_main">
查兽药
<div class="return_btn" @click="onClickLeft"></div>
<div class="jg"></div>
</div>

<div class="main">

<div class="main_box">
<van-field v-model="queryParams.recordCode" :border="false" label="产品批准文号" placeholder="请输入产品批准文号" input-align="right" />
<van-field v-model="queryParams.factory" :border="false" label="生产企业名称" placeholder="请输入生产企业名称" input-align="right" />
<van-field v-model="queryParams.productGoodsName" :border="false" label="商品名称" placeholder="请输入商品名称" input-align="right" />
<van-field v-model="queryParams.productName" :border="false" label="产品通用名称" placeholder="请输入产品通用名称" input-align="right" />
</div>

<p class="submitButton" @click="goSubmit">立即查询</p>

<div class="scroll_box">
<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<div class="list_box" v-for="(item,index) in list" :key="index">
<van-cell center :to="{name:'lawEnforcementVeterinaryDetail', query: {content:item}}">
<template #title>
<div class="tt">
<span>{{item.productName}}</span>
<span>{{item.effectivePeriod}}</span>
</div>
<div class="first">
<span>{{item.recordCode}}</span>
<span>{{item.productGoodsName}}</span>
</div>
</template>
<template #label>
<div class="label">
<p>{{item.factory}}</p>
<p>{{format(item.firstApprovalDate,'yyyy-MM-dd')}}</p>
</div>
</template>
</van-cell>
</div>
</van-list>
</div>
</div>

</div>
</template>

<script>
import { listGmp } from "@/api/lawEnforcement/index";
export default {
name: "programmeDetail",
data() {
return {
loading: false,
finished: false,
form:{},
value:'',
queryParams: {
// 分页
pageNum: 1,
pageSize: 10,
// 查询排序
orderByColumn: "id",
isAsc: "desc",
recordCode: null, //查询参数-产品批准文号
factory: null, //查询参数-生产企业名称
productGoodsName: null, //查询参数-商品名称
productName: null, //查询参数-通用名称
},
list:[],
};
},
created() {
// this.getDictionaries()
},
methods: {
getList(){
var _this = this;
listGmp(_this.queryParams).then(response => {
response.rows.map(res=>{
this.list.push(res);
})
console.log(this.list.length)
if(this.list.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.queryParams.pageNum += 1 ;
}
});
},
goSubmit(){
this.list = [];
this.queryParams.pageNum = 1 ;
this.finished = false;
this.loading = false;
}
},
}
</script>

<style scoped lang="scss">
.jg{
height: 180PX;
}
.app-container {

}
.main{
position: absolute;
width: 100%;
top: 88PX;
}
/deep/ .van-cell{
padding-bottom: 0;
padding-top: 0;
margin-bottom: 10PX;
&:last-child{
margin-bottom: 0;
}
}
.header_main{
/*height: 116px;*/
background: url('../../../../static/images/lawEnforcement/new/header_bg.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;
}
}
.main_title{
font-size: 0.4rem;
color: #1D6FE9;
margin: 0.2rem 6%;
margin-top: 0;
position: relative;
}
.main_box{
width: 90%;
margin: 0 auto;
border-radius: 10PX;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
overflow: hidden;
background-color: #FFF;
padding: 20PX 5PX;
.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: 70%;
margin: 25PX auto;
background-image: linear-gradient(to right, #2E79E9 , #77A6EF);
text-align: center;
color: #ffffff;
height: 70px;
line-height: 70px;
border-radius: 8PX;
}

.addFamily{
position: absolute;
top: -2px;
right: 0;
border-radius: 50%;
}
/deep/.van-cell__title{
.tt{
display: flex;
justify-content: space-between;
span:first-child{
background: url('../../../../static/images/lawEnforcement/icon/pesticides_icon_04.png') no-repeat left center;
padding-left: 30PX;
}
span:last-child{
color: #1D6FE9;
}
}
.first{
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 5PX;
span{
color: #1D6FE9;
font-size: 0.35rem;
&:first-child{
background: rgba(29,111,233,0.2);
padding: 3PX 5PX;
line-height: 1;
border-radius: 3PX;
}
&:last-child{
color: #666666;
}
}
}
.dress{
font-size: .35rem;
color: #1CB8B1;
margin-top: 5PX;
}
span{
font-family: Arial;
font-size: 0.4rem;
font-weight: normal;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
word-break: break-all;
overflow: hidden;
}
}
.list_box{
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
width: 94%;
margin: 0 auto 10PX;
padding: 12PX 0;
background: #ffffff;
border-radius: 8PX;
}
.label {
display: flex;
justify-content: space-between;
p{
display: inline-block;
font-size: 0.35rem;
}
}
.scroll_box{
height: calc(100vh - 100px - 200PX - 100PX);
overflow: hidden;
overflow-y: scroll;
}
</style>

+ 130
- 0
src/views/lawEnforcement/trace/veterinaryDetail.vue 파일 보기

@@ -0,0 +1,130 @@
<template>
<div class="app-container">
<div class="header_main">
查兽药
<div class="return_btn" @click="onClickLeft"></div>
<div class="jg"></div>
</div>

<div class="main">

<div class="main_box">
<van-cell title="产品批准文号" :border="false" v-model="form.recordCode" />
<van-cell title="生产企业名称" :border="false" v-model="form.factory" />
<van-cell title="商品名称" :border="false" v-model="form.productGoodsName" />
<van-cell title="产品通用名称" :border="false" v-model="form.productName" />
<van-cell title="产品规格" :border="false" v-model="form.productSpec" />
<van-cell title="批准日期" :border="false" v-model="form.firstApprovalDate" />
<van-cell title="有效期限" :border="false" v-model="form.effectivePeriod" />
<van-cell title="备注" :border="false" v-model="form.remark" />
</div>

</div>

</div>
</template>

<script>
import { getScheme } from "@/api/lawEnforcement/index";
export default {
name: "programmeDetail",
data() {
return {
form:{},
};
},
created() {
var content = this.$route.query.content;
content.firstApprovalDate = this.format(content.firstApprovalDate,'yyyy-MM-dd')
this.form = content;
},
methods: {

},
}
</script>

<style scoped lang="scss">
.jg{
height: 180PX;
}
.app-container {

}
.main{
position: relative;
top: -170PX;
}
/deep/ .van-cell{
padding-bottom: 0;
padding-top: 0;
margin-bottom: 10PX;
&:last-child{
margin-bottom: 0;
}
}
.header_main{
/*height: 116px;*/
background: url('../../../../static/images/lawEnforcement/new/header_bg.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;
}
}
.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;
padding: 20PX 5PX;
.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;
}
}
</style>

+ 149
- 0
src/views/lawEnforcement/userNew/changePassword.vue 파일 보기

@@ -0,0 +1,149 @@
<template>
<div class="app-container">
<div class="header_main">
修改密码
<div class="return_btn" @click="onClickLeft"></div>
</div>
<div class="jg"></div>
<van-form validate-first ref="form">
<div class="tabsBox">
<van-field
v-model="user.oldPassword"
type="password"
placeholder="请输入原密码"
:rules="[{ required: true }]"
>
<template #left-icon>
<van-icon name="../../../../static/images/lawEnforcement/icon/icon_xgmm.png"></van-icon>
</template>
</van-field>
<van-field
v-model="user.newPassword"
type="password"
placeholder="请输入新密码"
:rules="[{ required: true }]"
>
<template #left-icon>
<van-icon name="../../../../static/images/lawEnforcement/icon/icon_xgmm.png"></van-icon>
</template>
</van-field>
<van-field
v-model="user.confirmPassword"
type="password"
placeholder="请确认新密码"
:rules="[{ required: true }]"
>
<template #left-icon>
<van-icon name="../../../../static/images/lawEnforcement/icon/icon_xgmm.png"></van-icon>
</template>
</van-field>
</div>
<p class="submitButton" @click="submit">确定</p>
</van-form>
</div>
</template>
<script>
import { updateUserPwd } from "@/api/lawEnforcement/index";
export default {
name: "index",
data() {
return {
active:0,
message:'',
password:'',
newPassword:'',
user: {
oldPassword: undefined,
newPassword: undefined,
confirmPassword: undefined
},
};
},
created() {

},
methods: {
submit() {
const data = {
oldPassword:this.user.oldPassword,
newPassword:this.user.newPassword
}
updateUserPwd(data).then(response => {
this.$notify({ type: 'success' , message: response.msg });
});
},
},
};
</script>

<style scoped lang="scss">
@font-face {
font-family: SourceHanSansCNBold;
src: url("../../../assets/fonts/SourceHanSansCN-Bold.otf");
}
.jg{
height: 116px;
}
.submitButton{
width: 45%;
margin: 0 auto;
background-image: linear-gradient(to right, #2E79E9 , #77A6EF);
text-align: center;
color: #ffffff;
height: 70px;
line-height: 70px;
border-radius: 8PX;
margin-top: 25PX;
}
.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;
}
}
.tabsBox{
padding: 2% 0;
margin: 0 auto;
background-color: #FFF;
border-radius: 8PX;
box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.16);
margin-bottom: 15PX;
margin-top: 15PX;
width: 92%;
}
.loginOut{
width: 88%;
margin: 10PX 6%;
border-radius: 8Px;
box-shadow: 0PX 5PX 5PX #cccccc;
border: none;
background-color: #1D6FE9;
color: #FFF;
}
</style>

+ 261
- 0
src/views/lawEnforcement/userNew/user_new.vue 파일 보기

@@ -0,0 +1,261 @@
<template>
<div class="app-container">
<div class="topBackground">
<van-nav-bar title="我的" fixed placeholder/>
<van-row class="userInformation">
<van-col :span="5" v-show="loginType">
<img src="../../../../static/images/lawEnforcement/12.jpg" alt="" width="80%" style="border-radius: 10px;">
</van-col>
<van-col :span="19" v-show="loginType">
<p class="userName">{{user.nickName}}</p>
<p class="userDept">{{roleGroup}}</p>
</van-col>
<van-col :span="24" v-show="loginButton">
<van-button icon="friends" color="red" style="border-radius: 30PX;padding: 0 30PX;height: 30PX;" to="/lawEnforcement/login">
请登录
</van-button>
<p style="margin-top: 10PX;color: #5289ed">登录后可查看更多信息</p>
</van-col>
</van-row>
</div>

<div style="position:relative;top: -35px;">
<van-cell-group class="listBox">
<van-cell is-link :to="{name:loginType ? 'lawEnforcementTask':''}">
<template #title>
<van-icon name="../../../static/images/lawEnforcement/new/user_icon_01.png" size="20"></van-icon>
<span class="custom-title">任务查看</span>
</template>
</van-cell>
<van-cell is-link :to="{name:loginType ? 'lawEnforcementChangePasswordNew':''}">
<template #title>
<van-icon name="../../../static/images/lawEnforcement/icon/icon_mmxg.png" size="20"></van-icon>
<span class="custom-title">密码修改</span>
</template>
</van-cell>
</van-cell-group>
<van-button type="default" class="loginOut" @click="loginOut" v-if="loginType">退出登录</van-button>
</div>

<div style="height: 20PX"></div>
<lawNew></lawNew>
</div>
</template>
<script>
import request from "@/utils/request";
import { getUserProfile , companyList} from "@/api/lawEnforcement/index";
import { logout ,getInfo } from "@/api/login/index";
import lawNew from "@/components/common/lawNew_footer";
import Cookies from "js-cookie";
export default {
name: "user",
components: {
lawNew
},
data() {
return {
user: {
dept:{}
},
loginType:false,
loginButton:false,
tabShow: false,
// 查询参数
queryParamsTask: {
pageNum: 1,
pageSize: 5,
taskId: null,
taskName: null,
systemType: 26,
},
roleGroup: {},
postGroup: {},

activeTab: "userinfo",
taskList:[],
activityBusinessTypeOptions:[],
companyName:''
};
},
created() {
this.getDicts("activity_business_type").then((response) => {
this.activityBusinessTypeOptions = response.data;
});
console.log(Cookies.get("User-Token"))
if(!Cookies.get("User-Token")){
this.loginType = false ;
this.loginButton = true ;
return
}
this.getUser();
},
activated: function () {
this.getDicts("activity_business_type").then((response) => {
this.activityBusinessTypeOptions = response.data;
});
if(!Cookies.get("User-Token")){
this.loginType = false ;
this.loginButton = true ;
return
}
this.getUser();
},
methods: {
loginOut(){
logout().then(response => {
console.log(response);
Cookies.remove("User-Token");
this.$router.push({
path: '/lawEnforcement'
})
});
},
getUser() {
getUserProfile().then(response => {
this.loginType = true ;
this.user = response.data;
this.roleGroup = response.roleGroup;
this.postGroup = response.postGroup;
if (response.data.roles.length < 1){
this.tabShow = false;
}else{
response.data.roles.forEach(res=>{
if (res.roleKey == 'personal_user' || res.roleKey == 'company_user'){
this.tabShow = false;
}else{
this.tabShow = true;
}
})
}
let data = {
userId:response.data.userId
}
companyList(data).then((res) => {
console.log(res.data.companyName)
this.companyName = res.data.companyName;
});
this.getTaskList();
});
},
getTaskList() {
this.loading = true;
return request({
url: "/activiti/process/taskList",
method: "get",
params: this.queryParamsTask,
})
.then((response) => {
console.log(response)
this.taskList = response.rows;
this.total = response.total;
console.log(this.total)
this.loading = false;
})
.then(() => {

});
},
},
};
</script>

<style scoped lang="scss">
@font-face {
font-family: SourceHanSansCNBold;
src: url("../../../assets/fonts/SourceHanSansCN-Bold.otf");
}
.app-container {
padding: 0 ;
}
/deep/ .van-hairline--bottom::after{
border: none;
}
/deep/ .van-nav-bar{
background-color: transparent;
}
/deep/ .van-nav-bar__title{
color: #FFFFFF;
}
.topBackground{
background-image: url("../../../../static/images/lawEnforcement/new/header_bg.png") ;
background-size: 100%;
background-repeat: no-repeat;
padding-bottom: 30PX;
}
.headImg{
width: 1.7rem;
height: 1.7rem;
border-radius: 10PX;
overflow: hidden;
}
.userName{
font-size: 0.5rem;
color: #FFFFFF;
line-height: 0.85rem;
}
.userDept{
font-size: 0.35rem;
color: #FFFFFF;
}
.userInformation{
padding: 0.3rem 6%;
}
.listBox{
width: 96%;
margin: 0 auto;
border-radius: 8Px;
overflow: hidden;
box-shadow: 0PX 5PX 5PX #cccccc;
margin-top: 10PX;
padding: 3% 0;
.van-icon{
vertical-align: middle;
}
.van-cell{
padding: 3% 5%;
}
.custom-title{
font-size: 16PX;
color: #333333;
vertical-align: middle;
line-height: 1;
position: relative;
margin-left: 5PX;
}
.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;
}
}
.loginOut{
width: 96%;
margin: 10PX 2%;
border-radius: 8Px;
box-shadow: 0PX 5PX 5PX #cccccc;
border: none;
}
.db{
.van-cell__title{
color: #666666;
flex: 0.7;
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: 1;
word-break: break-all;
overflow: hidden;
}
.van-cell__value{
flex: 0.3;
}
}

</style>

+ 8
- 4
src/views/onlineHome/done.vue 파일 보기

@@ -40,13 +40,14 @@
<van-cell>
<template #title>
<van-row>
<van-col span="6" :offset="1">
<van-col span="6" :offset="0">
<p style="color: #878787">{{item.createTime?item.createTime.substring(0,10):item.startTime.substring(0,10)}}</p>
</van-col>
<van-col span="10" :offset="1">
<p style="color: #878787">{{item.formData.activityBusinessType}}</p>
<van-col span="11" :offset="2">
<!-- <p style="color: #878787">{{item.formData.activityBusinessType}}</p>-->
<p style="color: #878787">{{item.taskName}}</p>
</van-col>
<van-col span="5" :offset="1">
<van-col span="4" :offset="1">
<p style="font-size: 14px;font-weight:bold;text-align: right;color: #1D6FE9">{{activeName=='1'?'待审批':'已审批'}}</p>
</van-col>
</van-row>
@@ -206,6 +207,9 @@
case 'house_utilize_signout':
this.$router.push({name:'paidExitDetail',query: {id: item.formData.id,taskId:item.taskId,instanceId:item.formData.instanceId,type:item.type}})
break;
case 'houseStandardZyyctcsq':
this.$router.push({name:'paidExitDetail',query: {id: item.formData.id,taskId:item.taskId,instanceId:item.formData.instanceId,type:item.type}})
break;
case 'house_circulation':
this.$router.push({name:'circulationDetail',query: {id: item.formData.id,taskId:item.taskId,instanceId:item.formData.instanceId,type:item.type}})
break;


+ 4
- 5
src/views/onlineHome/homestead/arbitration/arbitrationDetail.vue 파일 보기

@@ -1,7 +1,7 @@
<template>
<div class="app-container">
<van-nav-bar
:title="(operationIntent == 3 ? '添加' : '') + '纠纷调'"
:title="(operationIntent == 3 ? '添加' : '') + '纠纷调'"
left-arrow
fixed
placeholder
@@ -16,7 +16,7 @@
<div class="main" style="padding-bottom: 1rem;">
<van-form ref="form">
<div :class="allowCUD && formEnabled.baseFormEnabled ? '' : 'noModify'">
<!-- <p class="topTit">纠纷调</p>-->
<!-- <p class="topTit">纠纷调</p>-->
<template> <!-- 申请 基本信息 -->
<div>
<p class="main_title">基本信息</p>
@@ -48,7 +48,7 @@
</div>

<div>
<p class="main_title">纠纷事项</p>
<p class="main_title"><span style="color: red;">*</span>纠纷事项</p>
<div class="main_box">
<van-field
rows="3"
@@ -58,7 +58,7 @@
input-align="left"
v-model="arbitrationData.disputes"
:readonly="!allowCUD || !formEnabled.baseFormEnabled"
:rules="[{ required: true }]" required
:rules="[{ required: true }]"
/>
</div>
</div>
@@ -74,7 +74,6 @@
input-align="left"
v-model="arbitrationData.remark"
:readonly="!allowCUD || !formEnabled.baseFormEnabled"
:rules="[{ required: true }]" required
/>
</div>
</div>


+ 2
- 2
src/views/onlineHome/homestead/arbitration/arbitrationList.vue 파일 보기

@@ -2,7 +2,7 @@
<div>
<van-nav-bar
left-arrow
title="纠纷调"
title="纠纷调"
fixed
placeholder
@click-left="$router.back()"
@@ -45,7 +45,7 @@
<template #right>
<van-row style="height: 100%;">
<van-col style="height: 100%;">
<van-button v-if="allowCUD && item.disputeStatus == '1'" square text="编辑" type="info" style="height: 100%;" @click="editItem(item)"/>
<van-button v-if="allowCUD && item.disputeStatus == '1'" square text="修改" type="info" style="height: 100%;" @click="editItem(item)"/>
</van-col>
<van-col style="height: 100%;">
<van-button v-if="allowCUD && item.disputeStatus == '1'" square text="提交" type="primary" style="height: 100%;" @click="submitItem(item)"/>


+ 318
- 101
src/views/onlineHome/homestead/circulation/circulationAdd.vue 파일 보기

@@ -68,7 +68,33 @@
<!-- @cancel="showShyqrdm = false"-->
<!-- />-->
<!-- </van-popup>-->

<van-field
v-model="circulation.hncysl"
label="家庭人口"
placeholder="家庭人口"
label-width="auto"
input-align="right"
/>
<van-field
v-model="circulation.zjdsyqr"
label="使用权人"
label-width="auto"
placeholder="使用权人"
input-align="right"
/>
<van-field
v-model="circulation.currentResidence"
label="现居住地"
label-width="auto"
placeholder="现居住地"
input-align="right"
/>
<van-field
v-model="circulation.householdRegister"
label="户口所在地"
label-width="auto"
input-align="right"
/>
<van-cell title="是否本集体经济组织成员">
<template #right-icon>
<van-radio-group v-model="circulation.zcfsfbjtjjzzcy" direction="horizontal">
@@ -78,90 +104,73 @@
</template>
</van-cell>
</div>

<p class="main_title">流转信息</p>
<div class="main_box">
<van-field label="流转面积(㎡)" v-model="circulation.lzmj" placeholder="请输入流转面积(㎡)" input-align="right" label-width="auto" type="number"/>
<van-field label="流转单价(元)" v-model="circulation.lzdj" placeholder="请输入流转单价(元)" input-align="right" label-width="auto" type="number"/>
<van-field label="流转费用(元)" v-model="circulation.lzfy" placeholder="请输入流转费用(元)" input-align="right" label-width="auto" type="number"/>
<van-field
readonly
clickable
v-model="circulation.lzqsrq"
label="流转起始时间"
placeholder="请选择起始时间"
@click="showlzqsrq = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showlzqsrq" position="bottom">
<van-datetime-picker
:value="new Date"
type="date"
title="选择年月日"
@confirm="onConfirmLzqsrq"
@cancel="showlzqsrq = false"
/>
</van-popup>
<van-field label="房屋层数" v-model="zjdData.fwcs" placeholder="房屋层数" input-align="right" label-width="auto" type="number"/>
<van-field label="建筑面积(㎡)" v-model="zjdData.jzmj" placeholder="流转面积(㎡)" input-align="right" label-width="auto" type="number"/>
<van-field label="宅基地面积(㎡)" v-model="zjdData.zjdmj" placeholder="宅基地面积(㎡)" input-align="right" label-width="auto" type="number"/>
<van-field label="不动产证书编号" v-model="zjdData.zjdzsh" placeholder="不动产证书编号(㎡)" input-align="right" label-width="auto" type="number"/>
<!-- <van-field label="流转单价(元)" v-model="circulation.lzdj" placeholder="请输入流转单价(元)" input-align="right" label-width="auto" type="number"/>-->
<!-- <van-field label="流转费用(元)" v-model="circulation.lzfy" placeholder="请输入流转费用(元)" input-align="right" label-width="auto" type="number"/>-->
<!-- <van-field-->
<!-- readonly-->
<!-- clickable-->
<!-- v-model="circulation.lzqsrq"-->
<!-- label="流转起始时间"-->
<!-- placeholder="请选择起始时间"-->
<!-- @click="showlzqsrq = true"-->
<!-- input-align="right"-->
<!-- right-icon="arrow-down"-->
<!-- />-->
<!-- <van-popup v-model="showlzqsrq" position="bottom">-->
<!-- <van-datetime-picker-->
<!-- :value="new Date"-->
<!-- type="date"-->
<!-- title="选择年月日"-->
<!-- @confirm="onConfirmLzqsrq"-->
<!-- @cancel="showlzqsrq = false"-->
<!-- />-->
<!-- </van-popup>-->

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

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

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

@@ -170,7 +179,7 @@
<van-field
v-model="circulation.zrfdbmc"
label="转入方代表名称"
placeholder="请输入转入方代表名称"
placeholder="转入方代表名称"
label-width="auto"
input-align="right" :rules="[{ required: true }]" required
/>
@@ -202,8 +211,8 @@
@cancel="showZrfdbzjlx = false"
/>
</van-popup>
<van-field label="转入方代表证件号码" v-model="circulation.zrfdbzjhm" placeholder="请输入证件号码" input-align="right" label-width="auto" :rules="[{ required: true }]" required/>
<van-field label="户口所在地" v-model="circulation.transfereeHouseholdRegister" placeholder="户口所在地" input-align="right" label-width="auto" />
<van-field label="转入方代表证件号码" v-model="circulation.zrfdbzjhm" placeholder="证件号码" input-align="right" label-width="auto" :rules="[{ required: true }]" required/>
<van-cell title="是否本集体经济组织成员">
<template #right-icon>
<van-radio-group v-model="circulation.zrfsfbjtjjzzcy" direction="horizontal">
@@ -212,6 +221,27 @@
</van-radio-group>
</template>
</van-cell>
<van-field
readonly
clickable
v-model="lzhfwyt"
label="流转后房屋用途"
placeholder="流转后房屋用途"
@click="showLzhfwyt = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showLzhfwyt" position="bottom">
<van-picker
show-toolbar
:columns="lzhfwytDictionaries"
@confirm="onConfirmLzhfwyt"
@cancel="showLzhfwyt = false"
/>
</van-popup>
<van-field label="流转金额" v-model="circulation.lzfy" placeholder="流转金额" input-align="right" label-width="auto" type="number"/>
<van-field label="集体收益金额" v-model="circulation.jtsyje" placeholder="集体收益金额" input-align="right" label-width="auto" type="number"/>
</div>

<p class="main_title">其他</p>
@@ -220,16 +250,135 @@
<van-field label="所有权人意见" v-model="circulation.suyqryj" placeholder="请输入内容" input-align="right" label-width="auto"/>
<van-field label="备注" v-model="circulation.bz" placeholder="请输入备注" input-align="right" label-width="auto"/>
</div>
<p class="main_title">转入方意见</p>
<div class="main_box">
<van-field label="意见" v-model="lzspyjData.zrryj" placeholder="转入方意见" input-align="right" label-width="auto"/>
<van-field label="签字" v-model="lzspyjData.zrrqz" placeholder="转入方签字" input-align="right" label-width="auto"/>
<van-field
readonly
clickable
v-model="lzspyjData.zrryjrq"
label="签字日期"
placeholder="签字日期"
@click="showlzqsrq = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showlzqsrq" position="bottom">
<van-datetime-picker
:value="new Date"
type="date"
title="选择年月日"
@confirm="onConfirmLzqsrq"
@cancel="showlzqsrq = false"
/>
</van-popup>
</div>
<p class="main_title">转出方意见</p>
<div class="main_box">
<van-field label="意见" v-model="lzspyjData.zcryj" placeholder="转出方意见" input-align="right" label-width="auto"/>
<van-field label="签字" v-model="lzspyjData.zcrqz" placeholder="转出方签字" input-align="right" label-width="auto"/>
<van-field
readonly
clickable
v-model="lzspyjData.zcryjrq"
label="签字日期"
placeholder="签字日期"
@click="showzcfqzrq = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showzcfqzrq" position="bottom">
<van-datetime-picker
:value="new Date"
type="date"
title="选择年月日"
@confirm="onConfirmzcfqzrq"
@cancel="showzcfqzrq = false"
/>
</van-popup>
</div>
<p class="main_title">村集体经济组织意见</p>
<div class="main_box">
<van-field label="意见" v-model="lzspyjData.cjtjjzzyj" placeholder="村集体经济组织意见" input-align="right" label-width="auto"/>
<van-field label="签字" v-model="lzspyjData.cjtjjzzqz" placeholder="村集体经济组织签字" input-align="right" label-width="auto"/>
<van-field
readonly
clickable
v-model="lzspyjData.cjtjjzzyjrq"
label="签字日期"
placeholder="签字日期"
@click="showcjtqzrq = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showcjtqzrq" position="bottom">
<van-datetime-picker
:value="new Date"
type="date"
title="选择年月日"
@confirm="onConfirmcjtqzrq"
@cancel="showcjtqzrq = false"
/>
</van-popup>
</div>
<p class="main_title">宅基地审批管理办公室意见</p>
<div class="main_box">
<van-field label="意见" v-model="lzspyjData.zzjdspyj" placeholder="审批管理办公室意见" input-align="right" label-width="auto"/>
<van-field label="签字" v-model="lzspyjData.zzjdspqz" placeholder="审批管理办公室签字" input-align="right" label-width="auto"/>
<van-field
readonly
clickable
v-model="lzspyjData.zzjdspyjrq"
label="签字日期"
placeholder="签字日期"
@click="showzzjdqzrq = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showzzjdqzrq" position="bottom">
<van-datetime-picker
:value="new Date"
type="date"
title="选择年月日"
@confirm="onConfirmzzjdqzrq"
@cancel="showzzjdqzrq = false"
/>
</van-popup>
</div>
<p class="main_title">镇级人民政府意见</p>
<div class="main_box">
<van-field label="意见" v-model="lzspyjData.zjrmzfyj" placeholder="镇级人民政府意见" input-align="right" label-width="auto"/>
<van-field label="签字" v-model="lzspyjData.zjrmzfqz" placeholder="镇级人民政府签字" input-align="right" label-width="auto"/>
<van-field
readonly
clickable
v-model="lzspyjData.zjrmzfyjrq"
label="签字日期"
placeholder="签字日期"
@click="showzjrmzfdqzrq = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showzjrmzfdqzrq" position="bottom">
<van-datetime-picker
:value="new Date"
type="date"
title="选择年月日"
@confirm="onConfirmzjrmzfqzrq"
@cancel="showzjrmzfdqzrq = false"
/>
</van-popup>
</div>
</van-form>

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

<script>
import { getLz , zjdzd , getByZjddm , edit , goApply,houseAdd } from "@/api/onlineHome/homestead/circulation";
import { getLz , zjdzd ,queryGeoZjdzd,queryHouserBaseNh, getByZjddm , edit , goApply,houseAdd, } from "@/api/onlineHome/homestead/circulation";
import { listLzspyj,addLzspyj,updateLzspyj } from "@/api/onlineHome/homestead/lzspyj";
import {Notify} from "vant";

export default {
@@ -251,13 +401,20 @@
zrfdbmcDictionaries: [],//转入方代表名称
zrfdbzjlxDictionaries: [],//转入方证件类型
zjdDictionaries: [],//宅基地列表
lzfs: '',//流转方式
//流转审批意见
lzspyjData:{},
lzfs: '转让',//流转方式
shyqrdm: '',//转出方使用权人代码
lzqfwyt: '',//流转前房屋类型
lzhfwyt: '',//流转后房屋类型
zrfdbmc: '',//转入方代表名称
zrfdbzjlx: '',//转入方证件类型
zjd: [],//宅基地列表
zjdData:{
jzmj:null,
fwcs:null,
zjdmj:null
},
showLzfs: false,
showShyqrdm: false,
showLzqfwyt: false,
@@ -267,7 +424,11 @@
showZjd:false,
showlzqsrq:false,
showlzjsrq:false,
circulation: {}
showzcfqzrq:false,
showcjtqzrq:false,
showzzjdqzrq:false,
showzjrmzfdqzrq:false,
circulation: { lzfs: '01'}
};
},
created() {
@@ -278,7 +439,10 @@
//流转方式
this.houseGetDicts("lzfs").then((res) => {
for( let i = 0 ; i < res.data.length ; i++){
this.lzfsDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue})
if(res.data[i].dictSort < 6){
this.lzfsDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue})
}

}
});
//转入方证件类型
@@ -287,8 +451,9 @@
this.zrfdbzjlxDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue})
}
});

//宅基地代码
zjdzd().then(zjdRes => {
zjdzd().then(zjdRes => {
for( let i = 0 ; i < zjdRes.rows.length ; i++){
this.zjdDictionaries.push(zjdRes.rows[i].zjddm);
}
@@ -309,20 +474,49 @@
}
});
},
zjddmChange(value){
let _this = this;
queryGeoZjdzd({zjddm:value}).then(zjdRes => {
if(zjdRes.data != null){
_this.$set(this.zjdData, "zjdzsh", zjdRes.data.zjdzsh);
if(zjdRes.data.thouseBaseStandardNmfw.length > 0){
zjdRes.data.thouseBaseStandardNmfw.forEach(function (item) {
if(_this.zjdData.jzmj != null && _this.zjdData.jzmj !== ""){
_this.$set(_this.zjdData, "jzmj", parseInt(_this.zjdData.jzmj) + parseInt(item.jzmj));
}else{
_this.$set(_this.zjdData, "jzmj", item.jzmj);
}
})

this.$set(this.zjdData, "fwcs", zjdRes.data.thouseBaseStandardNmfw[0].sjcs);
}
if(zjdRes.data.thouseBaseStandardZjdzdxx.length > 0){
this.$set(this.zjdData, "zjdmj", zjdRes.data.thouseBaseStandardZjdzdxx[0].zjdpzmj);
}
}
});
},
onConfirmLzfs(value) {
this.lzfs = value.text;
this.circulation.lzfs = value.value;
this.showLzfs = false;
}, //流转方式
onConfirmZjd(value) {
this.zjddmChange(value);
this.circulation.zjddm = value;
var form = {};
form.zjddm = value;
getByZjddm(form).then(qlrRes => {
let data = qlrRes.data;
console.log(data)
this.circulation.shyqrdm = data.shyqrdm;
let queryMember = {
hzxm : data.shyqrdbxm,
};
queryHouserBaseNh(queryMember).then((response) => {
this.$set(this.circulation, 'hncysl', response.rows[0].hncysl);
});
this.$set(this.circulation, 'suyqrdbxm', data.shyqrdbxm);
this.$set(this.circulation, 'zjdsyqr', data.shyqrdbxm);
this.$set(this.circulation, 'zcfsfbjtjjzzcy', data.sfbncjtjjzzcy == '1' || data.sfbncjtjjzzcy == 'Y' ? 'Y' : 'N');
this.$forceUpdate();
});
@@ -352,17 +546,40 @@
this.showZrfdbzjlx = false;
}, //转入方代表证件类型
onConfirmLzqsrq(value) {
this.circulation.lzqsrq = this.getNowFormatDate(value).substr(0,10);
this.lzspyjData.zrryjrq = this.getNowFormatDate(value).substr(0,10);
this.showlzqsrq = false;
}, //流转起始时间
onConfirmLzjsrq(value) {
this.circulation.lzjsrq = this.getNowFormatDate(value).substr(0,10);
this.showlzjsrq = false;
}, //流转结束时间
}, //转出方时间
onConfirmzcfqzrq(value) {
this.lzspyjData.zcryjrq = this.getNowFormatDate(value).substr(0,10);
this.showzcfqzrq = false;
},
onConfirmcjtqzrq(value) {
this.lzspyjData.cjtjjzzyjrq = this.getNowFormatDate(value).substr(0,10);
this.showcjtqzrq = false;
}, //村集体签字日期
onConfirmzzjdqzrq(value) {
this.lzspyjData.zzjdspyjrq = this.getNowFormatDate(value).substr(0,10);
this.showzzjdqzrq = false;
},//宅基地审批管理办公室签字日期
onConfirmzjrmzfqzrq(value) {
this.lzspyjData.zjrmzfyjrq = this.getNowFormatDate(value).substr(0,10);
this.showzjrmzfdqzrq = false;
},//镇级人民政府签字日期
// onConfirmLzjsrq(value) {
// this.circulation.zrryjrq = this.getNowFormatDate(value).substr(0,10);
// this.showlzjsrq = false;
// }, //流转结束时间
goEdit(){
console.log(this.circulation)
this.$refs._Form.validate().then(() => {
houseAdd(this.circulation).then(response => {
if(this.lzspyjData != null){
this.$set(this.lzspyjData, "lzId",response.data );
addLzspyj(this.lzspyjData).then((res) => {
this.$toast.success('保存成功');
window.location.replace("circulationList");
});
}
if(response.code = 200){
this.$toast.success('保存成功');
this.back();


+ 141
- 24
src/views/onlineHome/homestead/circulation/circulationDetail.vue 파일 보기

@@ -35,50 +35,53 @@
/>
<van-field
readonly
v-model="circulation.zcfsfbjtjjzzcy == 'Y' ? '是' : '否'"
label="是否本集体经济组织成员"
v-model="circulation.hncysl"
label="家庭人口"
placeholder="家庭人口"
label-width="auto"
input-align="right"

/>
</div>

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

<van-field
readonly
label="流转结束时间"
v-model="circulation.currentResidence"
label="现居住地"
label-width="auto"
placeholder="现居住地"
input-align="right"
v-model="circulation.lzjsrq"
/>

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

<van-field
readonly
label="流转后房屋用途"
input-align="right"
v-model="circulation.zcfsfbjtjjzzcy == 'Y' ? '是' : '否'"
label="是否本集体经济组织成员"
label-width="auto"
v-model="circulation.lzhfwyt"
input-align="right"

/>
</div>

<p class="main_title">流转信息</p>
<div class="main_box">
<van-field readonly label="房屋层数" v-model="zjdData.fwcs" placeholder="房屋层数" input-align="right" label-width="auto" type="number"/>
<van-field readonly label="建筑面积(㎡)" v-model="zjdData.jzmj" placeholder="流转面积(㎡)" input-align="right" label-width="auto" type="number"/>
<van-field readonly label="宅基地面积(㎡)" v-model="zjdData.zjdmj" placeholder="宅基地面积(㎡)" input-align="right" label-width="auto" type="number"/>
<van-field readonly label="不动产证书编号" v-model="zjdData.zjdzsh" placeholder="不动产证书编号(㎡)" input-align="right" label-width="auto" type="number"/>
</div>

<p class="main_title">转入方信息</p>
<div class="main_box">
<van-field
@@ -98,6 +101,23 @@
/>
<van-field readonly label="转入方代表证件号码" v-model="circulation.zrfdbzjhm" input-align="right" label-width="auto"/>
<van-field readonly label="是否本集体经济组织成员" v-model="circulation.zrfsfbjtjjzzcy == 'Y' ? '是' : '否'" input-align="right" label-width="auto"/>
<van-field
readonly
v-model="circulation.lzhfwyt"
label="流转后房屋用途"
placeholder="流转后房屋用途"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<!-- <van-popup v-model="showLzhfwyt" position="bottom">-->
<!-- <van-picker-->
<!-- show-toolbar-->
<!-- :columns="lzhfwytDictionaries"-->
<!-- />-->
</van-popup>
<van-field readonly label="流转金额" v-model="circulation.lzfy" placeholder="流转金额" input-align="right" label-width="auto" type="number"/>
<van-field readonly label="集体收益金额" v-model="circulation.jtsyje" placeholder="集体收益金额" input-align="right" label-width="auto" type="number"/>
</div>

<p class="main_title">其他</p>
@@ -106,6 +126,36 @@
<van-field readonly label="所有权人意见" v-model="circulation.suyqryj" input-align="right" label-width="auto"/>
<van-field readonly label="备注" v-model="circulation.bz" input-align="right" label-width="auto"/>
</div>
<p class="main_title">转入方意见</p>
<div class="main_box">
<van-field readonly label="意见" v-model="lzspyjData.zrryj" placeholder="转入方意见" input-align="right" label-width="auto"/>
<van-field readonly label="签字" v-model="lzspyjData.zrrqz" placeholder="转入方签字" input-align="right" label-width="auto"/>
<van-field readonly label="签字日期" v-model="lzspyjData.zrryjrq" placeholder="签字日期" input-align="right" label-width="auto"/>
</div>
<p class="main_title">转出方意见</p>
<div class="main_box">
<van-field readonly label="意见" v-model="lzspyjData.zcryj" placeholder="转出方意见" input-align="right" label-width="auto"/>
<van-field readonly label="签字" v-model="lzspyjData.zcrqz" placeholder="转出方签字" input-align="right" label-width="auto"/>
<van-field readonly label="签字" v-model="lzspyjData.zcryjrq" placeholder="签字日期" input-align="right" label-width="auto"/>
</div>
<p class="main_title">村集体经济组织意见</p>
<div class="main_box">
<van-field readonly label="意见" v-model="lzspyjData.cjtjjzzyj" placeholder="村集体经济组织意见" input-align="right" label-width="auto"/>
<van-field readonly label="签字" v-model="lzspyjData.cjtjjzzqz" placeholder="村集体经济组织签字" input-align="right" label-width="auto"/>
<van-field readonly label="签字日期" v-model="lzspyjData.cjtjjzzyjrq" placeholder="签字日期" input-align="right" label-width="auto"/>
</div>
<p class="main_title">宅基地审批管理办公室意见</p>
<div class="main_box">
<van-field readonly label="意见" v-model="lzspyjData.zzjdspyj" placeholder="审批管理办公室意见" input-align="right" label-width="auto"/>
<van-field readonly label="签字" v-model="lzspyjData.zzjdspqz" placeholder="审批管理办公室签字" input-align="right" label-width="auto"/>
<van-field readonly label="签字日期" v-model="lzspyjData.zzjdspyjrq" placeholder="签字日期" input-align="right" label-width="auto"/>
</div>
<p class="main_title">镇级人民政府意见</p>
<div class="main_box">
<van-field readonly label="意见" v-model="lzspyjData.zjrmzfyj" placeholder="镇级人民政府意见" input-align="right" label-width="auto"/>
<van-field readonly label="签字" v-model="lzspyjData.zjrmzfqz" placeholder="镇级人民政府签字" input-align="right" label-width="auto"/>
<van-field readonly label="签字日期" v-model="lzspyjData.zjrmzfyjrq" placeholder="签字日期" input-align="right" label-width="auto"/>
</div>

<!-- 审批 -->
<template v-if="approval.type === 'todo'">
@@ -132,7 +182,8 @@
</template>

<script>
import { getLz } from "@/api/onlineHome/homestead/circulation";
import { getLz,queryGeoZjdzd,queryHouserBaseNh, getByZjddm ,} from "@/api/onlineHome/homestead/circulation";
import { listLzspyj } from "@/api/onlineHome/homestead/lzspyj";
import request from '@/utils/request';
import {Notify} from "vant";
export default {
@@ -142,6 +193,7 @@ export default {
value: '',
circulation:[],
houseApplyStatus:[],
lzhfwytDictionaries: [],//流转后房屋类型
approval: {
taskId: null,
instanceId: null,
@@ -149,6 +201,14 @@ export default {
id: null,
comment: '',
},
zjdData:{
jzmj:null,
fwcs:null,
zjdmj:null
},
lzhfwyt:null,
//流转审批意见
lzspyjData:{},
};
},
created() {
@@ -175,7 +235,20 @@ export default {
this.circulation.lzqfwyt = this.selectDictLabel(res.data, response.data.lzqfwyt);
this.circulation.lzhfwyt = this.selectDictLabel(res.data, response.data.lzhfwyt);
});
//流转后房屋用途
this.houseGetDicts("fwyt").then((res) => {//流转后房屋用途
for( let i = 0 ; i < res.data.length ; i++){
this.lzhfwytDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue})
}
});
this.onConfirmZjd(response.data.zjddm);
listLzspyj({lzId:response.data.id}).then((response) => {
if(response.rows.length > 0){
this.lzspyjData = response.rows[0];
}
});
});

},
complete(pass) {
if(!this.approval.taskId || !this.approval.instanceId || this.approval.type !== 'todo')
@@ -208,6 +281,50 @@ export default {
});
return true;
},
zjddmChange(value){
let _this = this;
queryGeoZjdzd({zjddm:value}).then(zjdRes => {
if(zjdRes.data != null){
_this.$set(this.zjdData, "zjdzsh", zjdRes.data.zjdzsh);
if(zjdRes.data.thouseBaseStandardNmfw.length > 0){
zjdRes.data.thouseBaseStandardNmfw.forEach(function (item) {
if(_this.zjdData.jzmj != null && _this.zjdData.jzmj !== ""){
_this.$set(_this.zjdData, "jzmj", parseInt(_this.zjdData.jzmj) + parseInt(item.jzmj));
}else{
_this.$set(_this.zjdData, "jzmj", item.jzmj);
}
})

this.$set(this.zjdData, "fwcs", zjdRes.data.thouseBaseStandardNmfw[0].sjcs);
}
if(zjdRes.data.thouseBaseStandardZjdzdxx.length > 0){
this.$set(this.zjdData, "zjdmj", zjdRes.data.thouseBaseStandardZjdzdxx[0].zjdpzmj);
}
}
});
},
onConfirmZjd(value) {
this.zjddmChange(value);
this.circulation.zjddm = value;
let form = {};
form.zjddm = value;
getByZjddm(form).then(qlrRes => {
let data = qlrRes.data;
this.circulation.shyqrdm = data.shyqrdm;
let queryMember = {
hzxm : data.shyqrdbxm,
};
queryHouserBaseNh(queryMember).then((response) => {
this.$set(this.circulation, 'hncysl', response.rows[0].hncysl);
});
this.$set(this.circulation, 'suyqrdbxm', data.shyqrdbxm);
this.$set(this.circulation, 'zjdsyqr', data.shyqrdbxm);
this.$set(this.circulation, 'zcfsfbjtjjzzcy', data.sfbncjtjjzzcy == '1' || data.sfbncjtjjzzcy == 'Y' ? 'Y' : 'N');
this.$forceUpdate();
});
this.showZjd = false;

},
notify(message, type) {
Notify.clear();
Notify({ type: type || 'primary', message: message });


+ 5
- 5
src/views/onlineHome/homestead/circulation/circulationList.vue 파일 보기

@@ -33,13 +33,13 @@
<template #right>
<van-row>
<van-col>
<van-button square text="修改" type="info" v-if="item.auditStatus=='0'" class="delete-button" :to="{name:'circulationModify', query: {id:item.id}}" />
<van-button square text="修改" type="info" class="delete-button" :to="{name:'circulationModify', query: {id:item.id}}" />
</van-col>
<!-- <van-col>-->
<!-- <van-button square text="提交" type="primary" v-if="item.auditStatus=='0'" class="delete-button" @click="submit(item)" />-->
<!-- </van-col>-->
<van-col>
<van-button square text="提交" type="primary" v-if="item.auditStatus=='0'" class="delete-button" @click="submit(item)" />
</van-col>
<van-col>
<van-button square text="删除" type="danger" v-if="item.auditStatus=='0'" @click="deleteList(item.id,index)" class="delete-button" />
<van-button square text="删除" type="danger" @click="deleteList(item.id,index)" class="delete-button" />
</van-col>
</van-row>
</template>


+ 267
- 98
src/views/onlineHome/homestead/circulation/circulationModify.vue 파일 보기

@@ -68,101 +68,49 @@
<!-- @cancel="showShyqrdm = false"-->
<!-- />-->
<!-- </van-popup>-->

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

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

<van-field
readonly
clickable
v-model="circulation.lzjsrq"
label="流转结束时间"
placeholder="请选择结束时间"
@click="showlzjsrq = true"
v-model="circulation.zjdsyqr"
label="使用权人"
label-width="auto"
placeholder="使用权人"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showlzjsrq" position="bottom">
<van-datetime-picker
:value="new Date"
type="date"
title="选择年月日"
@confirm="onConfirmLzjsrq"
@cancel="showlzjsrq = false"
/>
</van-popup>

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

<van-field
readonly
clickable
v-model="lzhfwyt"
label="流转后房屋用途"
placeholder="请选择流转后房屋用途"
@click="showLzhfwyt = true"
input-align="right"
right-icon="arrow-down"
v-model="circulation.householdRegister"
label="户口所在地"
label-width="auto"
input-align="right"
/>
<van-popup v-model="showLzhfwyt" position="bottom">
<van-picker
show-toolbar
:columns="lzhfwytDictionaries"
@confirm="onConfirmLzhfwyt"
@cancel="showLzhfwyt = false"
/>
</van-popup>
<van-cell title="是否本集体经济组织成员">
<template #right-icon>
<van-radio-group v-model="circulation.zcfsfbjtjjzzcy" direction="horizontal">
<van-radio name="Y">是</van-radio>
<van-radio name="N">否</van-radio>
</van-radio-group>
</template>
</van-cell>
</div>

<p class="main_title">流转信息</p>
<div class="main_box">
<van-field label="房屋层数" v-model="zjdData.fwcs" placeholder="房屋层数" input-align="right" label-width="auto" type="number"/>
<van-field label="建筑面积(㎡)" v-model="zjdData.jzmj" placeholder="流转面积(㎡)" input-align="right" label-width="auto" type="number"/>
<van-field label="宅基地面积(㎡)" v-model="zjdData.zjdmj" placeholder="宅基地面积(㎡)" input-align="right" label-width="auto" type="number"/>
<van-field label="不动产证书编号" v-model="zjdData.zjdzsh" placeholder="不动产证书编号(㎡)" input-align="right" label-width="auto" type="number"/>
</div>

<p class="main_title">转入方信息</p>
@@ -212,6 +160,27 @@
</van-radio-group>
</template>
</van-cell>
<van-field
readonly
clickable
v-model="lzhfwyt"
label="流转后房屋用途"
placeholder="流转后房屋用途"
@click="showLzhfwyt = true"
input-align="right"
right-icon="arrow-down"
label-width="auto"
/>
<van-popup v-model="showLzhfwyt" position="bottom">
<van-picker
show-toolbar
:columns="lzhfwytDictionaries"
@confirm="onConfirmLzhfwyt"
@cancel="showLzhfwyt = false"
/>
</van-popup>
<van-field label="流转金额" v-model="circulation.lzfy" placeholder="流转金额" input-align="right" label-width="auto" type="number"/>
<van-field label="集体收益金额" v-model="circulation.jtsyje" placeholder="集体收益金额" input-align="right" label-width="auto" type="number"/>
</div>

<p class="main_title">其他</p>
@@ -220,16 +189,133 @@
<van-field label="所有权人意见" v-model="circulation.suyqryj" placeholder="请输入内容" input-align="right" label-width="auto"/>
<van-field label="备注" v-model="circulation.bz" placeholder="请输入备注" input-align="right" label-width="auto"/>
</div>
<p class="main_title">转入方意见</p>
<div class="main_box">
<van-field label="意见" v-model="lzspyjData.zrryj" placeholder="转入方意见" input-align="right" label-width="auto"/>
<van-field label="签字" v-model="lzspyjData.zrrqz" placeholder="转入方签字" input-align="right" label-width="auto"/>
<van-field
readonly
clickable
v-model="lzspyjData.zrryjrq"
label="签字日期"
placeholder="签字日期"
@click="showlzqsrq = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showlzqsrq" position="bottom">
<van-datetime-picker
:value="new Date"
type="date"
title="选择年月日"
@confirm="onConfirmLzqsrq"
@cancel="showlzqsrq = false"
/>
</van-popup>
</div>
<p class="main_title">转出方意见</p>
<div class="main_box">
<van-field label="意见" v-model="lzspyjData.zcryj" placeholder="转出方意见" input-align="right" label-width="auto"/>
<van-field label="签字" v-model="lzspyjData.zcrqz" placeholder="转出方签字" input-align="right" label-width="auto"/>
<van-field
readonly
clickable
v-model="lzspyjData.zcryjrq"
label="签字日期"
placeholder="签字日期"
@click="showzcfqzrq = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showzcfqzrq" position="bottom">
<van-datetime-picker
:value="new Date"
type="date"
title="选择年月日"
@confirm="onConfirmzcfqzrq"
@cancel="showzcfqzrq = false"
/>
</van-popup>
</div>
<p class="main_title">村集体经济组织意见</p>
<div class="main_box">
<van-field label="意见" v-model="lzspyjData.cjtjjzzyj" placeholder="村集体经济组织意见" input-align="right" label-width="auto"/>
<van-field label="签字" v-model="lzspyjData.cjtjjzzqz" placeholder="村集体经济组织签字" input-align="right" label-width="auto"/>
<van-field
readonly
clickable
v-model="lzspyjData.cjtjjzzyjrq"
label="签字日期"
placeholder="签字日期"
@click="showcjtqzrq = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showcjtqzrq" position="bottom">
<van-datetime-picker
:value="new Date"
type="date"
title="选择年月日"
@confirm="onConfirmcjtqzrq"
@cancel="showcjtqzrq = false"
/>
</van-popup>
</div>
<p class="main_title">宅基地审批管理办公室意见</p>
<div class="main_box">
<van-field label="意见" v-model="lzspyjData.zzjdspyj" placeholder="审批管理办公室意见" input-align="right" label-width="auto"/>
<van-field label="签字" v-model="lzspyjData.zzjdspqz" placeholder="审批管理办公室签字" input-align="right" label-width="auto"/>
<van-field
readonly
clickable
v-model="lzspyjData.zzjdspyjrq"
label="签字日期"
placeholder="签字日期"
@click="showzzjdqzrq = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showzzjdqzrq" position="bottom">
<van-datetime-picker
:value="new Date"
type="date"
title="选择年月日"
@confirm="onConfirmzzjdqzrq"
@cancel="showzzjdqzrq = false"
/>
</van-popup>
</div>
<p class="main_title">镇级人民政府意见</p>
<div class="main_box">
<van-field label="意见" v-model="lzspyjData.zjrmzfyj" placeholder="镇级人民政府意见" input-align="right" label-width="auto"/>
<van-field label="签字" v-model="lzspyjData.zjrmzfqz" placeholder="镇级人民政府签字" input-align="right" label-width="auto"/>
<van-field
readonly
clickable
v-model="lzspyjData.zjrmzfyjrq"
label="签字日期"
placeholder="签字日期"
@click="showzjrmzfdqzrq = true"
input-align="right"
right-icon="arrow-down"
/>
<van-popup v-model="showzjrmzfdqzrq" position="bottom">
<van-datetime-picker
:value="new Date"
type="date"
title="选择年月日"
@confirm="onConfirmzjrmzfqzrq"
@cancel="showzjrmzfdqzrq = false"
/>
</van-popup>
</div>
</van-form>

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

<script>
import { getLz , zjdzd , getByZjddm , edit , goApply } from "@/api/onlineHome/homestead/circulation";
import { getLz , zjdzd ,queryGeoZjdzd,queryHouserBaseNh, getByZjddm , edit , goApply } from "@/api/onlineHome/homestead/circulation";
import { listLzspyj,updateLzspyj } from "@/api/onlineHome/homestead/lzspyj";
import {Notify} from "vant";
export default {
name: "circulationModify",
@@ -257,6 +344,13 @@ export default {
zrfdbmc: '',//转入方代表名称
zrfdbzjlx: '',//转入方证件类型
zjd: [],//宅基地列表
zjdData:{
jzmj:null,
fwcs:null,
zjdmj:null
},
//流转审批意见
lzspyjData:{},
showLzfs: false,
showShyqrdm: false,
showLzqfwyt: false,
@@ -266,6 +360,15 @@ export default {
showZjd:false,
showlzqsrq:false,
showlzjsrq:false,
showzcfqzrq:false,
showcjtqzrq:false,
showzzjdqzrq:false,
showzjrmzfdqzrq:false,
zrryjrq:null,
zcryjrq:null,
cjtjjzzyjrq:null,
zzjdspyjrq:null,
zjrmzfyjrq:null,
circulation:[]
};
},
@@ -318,16 +421,63 @@ export default {
});

this.circulation = response.data;
this.onConfirmZjd(response.data.zjddm);
listLzspyj({lzId:response.data.id}).then((response) => {
if(response.rows.length > 0){
this.lzspyjData = response.rows[0];
}
});
});
},
zjddmChange(value){
let _this = this;
queryGeoZjdzd({zjddm:value}).then(zjdRes => {
if(zjdRes.data != null){
_this.$set(this.zjdData, "zjdzsh", zjdRes.data.zjdzsh);
if(zjdRes.data.thouseBaseStandardNmfw.length > 0){
zjdRes.data.thouseBaseStandardNmfw.forEach(function (item) {
if(_this.zjdData.jzmj != null && _this.zjdData.jzmj !== ""){
_this.$set(_this.zjdData, "jzmj", parseInt(_this.zjdData.jzmj) + parseInt(item.jzmj));
}else{
_this.$set(_this.zjdData, "jzmj", item.jzmj);
}
})

this.$set(this.zjdData, "fwcs", zjdRes.data.thouseBaseStandardNmfw[0].sjcs);
}
if(zjdRes.data.thouseBaseStandardZjdzdxx.length > 0){
this.$set(this.zjdData, "zjdmj", zjdRes.data.thouseBaseStandardZjdzdxx[0].zjdpzmj);
}
}
});
},
onConfirmZjd(value) {
this.zjddmChange(value);
this.circulation.zjddm = value;
let form = {};
form.zjddm = value;
getByZjddm(form).then(qlrRes => {
let data = qlrRes.data;
this.circulation.shyqrdm = data.shyqrdm;
let queryMember = {
hzxm : data.shyqrdbxm,
};
queryHouserBaseNh(queryMember).then((response) => {
this.$set(this.circulation, 'hncysl', response.rows[0].hncysl);
});
this.$set(this.circulation, 'suyqrdbxm', data.shyqrdbxm);
this.$set(this.circulation, 'zjdsyqr', data.shyqrdbxm);
this.$set(this.circulation, 'zcfsfbjtjjzzcy', data.sfbncjtjjzzcy == '1' || data.sfbncjtjjzzcy == 'Y' ? 'Y' : 'N');
this.$forceUpdate();
});
this.showZjd = false;

},
onConfirmLzfs(value) {
this.lzfs = value.text;
this.circulation.lzfs = value.value;
this.showLzfs = false;
}, //流转方式
onConfirmZjd(value) {
this.showZjd = false;
}, //宅基地列表
onConfirmShyqrdm(value) {
this.showShyqrdm = false;
}, //转出方使用权人代码
@@ -351,19 +501,38 @@ export default {
this.showZrfdbzjlx = false;
}, //转入方代表证件类型
onConfirmLzqsrq(value) {
this.circulation.lzqsrq = this.getNowFormatDate(value).substr(0,10);
this.lzspyjData.zrryjrq = this.getNowFormatDate(value).substr(0,10);
this.showlzqsrq = false;
}, //流转起始时间
onConfirmLzjsrq(value) {
this.circulation.lzjsrq = this.getNowFormatDate(value).substr(0,10);
this.showlzjsrq = false;
}, //流转结束时间
}, //转出方时间
onConfirmzcfqzrq(value) {
this.lzspyjData.zcryjrq = this.getNowFormatDate(value).substr(0,10);
this.showzcfqzrq = false;
},
onConfirmcjtqzrq(value) {
this.lzspyjData.cjtjjzzyjrq = this.getNowFormatDate(value).substr(0,10);
this.showcjtqzrq = false;
}, //村集体签字日期
onConfirmzzjdqzrq(value) {
this.lzspyjData.zzjdspyjrq = this.getNowFormatDate(value).substr(0,10);
this.showzzjdqzrq = false;
},//宅基地审批管理办公室签字日期
onConfirmzjrmzfqzrq(value) {
this.lzspyjData.zjrmzfyjrq = this.getNowFormatDate(value).substr(0,10);
this.showzjrmzfdqzrq = false;
},//镇级人民政府签字日期

goEdit(){
this.$refs._Form.validate().then(() => {
edit(this.circulation).then(response => {
if(response.code = 200){
if(this.lzspyjData != null){
updateLzspyj(this.lzspyjData).then((res) => {
this.$toast.success('保存成功');
window.location.replace("circulationList")
});
}
this.$toast.success('保存成功');
this.$router.back(-1);
window.location.replace("circulationList");
}
})
}).catch((e) => {


+ 457
- 0
src/views/onlineHome/homestead/freeExit/freeExitAdd.vue 파일 보기

@@ -0,0 +1,457 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">添加无偿退出</p>
</template>
</van-nav-bar>
<van-form ref="_Form">
<div class="main_box">
<van-field v-model="circulation.sqrxm" label="申请人姓名" placeholder="申请人姓名" input-align="right" label-width="auto" :rules="[{ required: true }]" required/>
<!-- <van-field v-model="circulation.sqrxm" label="申请人姓名" placeholder="申请人姓名" input-align="right" label-width="auto" :rules="[{ required: true }]" required @input="remoteTransfereeMethod" />
<div id="dropList" v-show="showDropList" style="width: 92vw; position: absolute; z-index: 99; left: 50%; margin-left: -46vw; border: 1px solid #E2E0E0;" >
<van-cell id="vanCell" v-for="(item, index) in getObligeeOptions" :key="index" @click="shyqrdmxmChange(item)" style="position: relative; z-index: 999;">
{{item}}
</van-cell>
</div> -->
<!--<van-field
readonly
clickable
v-model="circulation.zjddm"
label="宅基地代码"
placeholder="请选择"
@click="remoteProposerMethod"
input-align="right"
right-icon="arrow-down" :rules="[{ required: true }]" required
/>
<van-popup v-model="showzjddm" position="bottom">
<van-picker
show-toolbar
:columns="zjdDictionaries"
value-key="zjddm"
@confirm="onConfirmZjddm"
@cancel="showzjddm = false"
/>
</van-popup>-->
<van-field
v-model="circulation.zjddm"
label="宅基地代码"
input-align="right"
>
<template #button>
<van-button size="small" @click="mapLook" type="primary">选择宅基地</van-button>
</template>
</van-field>
<van-field
readonly
clickable
v-model="zjlx"
label="申请人证件类型"
placeholder="请选择"
@click="showzjlx = true"
input-align="right"
right-icon="arrow-down"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-popup v-model="showzjlx" position="bottom">
<van-picker
show-toolbar
:columns="zjlxDictionaries"
@confirm="onConfirmZjlx"
@cancel="showzjlx = false"
/>
</van-popup>
<van-field v-model="circulation.sqrzjhm" label="申请人证件号码" placeholder="申请人证件号码" input-align="right" label-width="auto" :rules="[{ required: true }]" required/>
</div>

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

<van-field
readonly
v-model="tclx"
label="退出类型"
input-align="right"
label-width="auto"
required
/>

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

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

<van-dialog v-model="mapShow" show-cancel-button>
<MapGisObtain ref="zjdProductResh" :shqrxm="circulation.sqrxm" @closeMoule="closeMoule"></MapGisObtain>
</van-dialog>
</div>
</van-form>

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

<script>
import { zjdzd, getByZjddm, getObligeeList, obligeeList, getExitProposerDetail } from "@/api/onlineHome/homestead/circulation";
import { dyAdd, } from "@/api/onlineHome/homestead/paidExit";
import {Notify} from "vant";
import MapGisObtain from "@/components/Map/MapGisObtain";
export default {
name: "freeExitAdd",
components: { MapGisObtain, },
data() {
return {
tcqllxDictionaries:[],//退出权利类型
tclxDictionaries:[],//退出类型
tcfsDictionaries:[],//退出方式
zjlxDictionaries:[],//申请人证件类型
bcfsDictionaries:[],//补偿方式
zjdDictionaries:[],//宅基地代码
getObligeeOptions:[],//下拉框列表

tcqllx:'',
tclx:'无偿退出',
tcfs:'',
zjlx:'',
bcfs:'',
zjddm:'',

showtcqllx: false,
showtclx: false,
showtcfs: false,
showzjlx: false,
showbcfs: false,
showzjddm: false,
showDropList: false,//是否显示下拉框

circulation:{
// 申请类型 1-宅基地退出
sqlx: '1',
// 退出类型 01-有偿退出 02-无偿退出
tclx: '02',
},
mapShow: false,
};
},
created() {
this.getDictionaries();
},
methods: {
getDictionaries(){
//退出权利类型
this.houseGetDicts("tcqllx").then((res) => {
for(var i = 0 ; i < res.data.length ; i++){
this.tcqllxDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue});
}
});
//退出方式
this.houseGetDicts("tcfs").then((res) => {
for(var i = 0 ; i < res.data.length ; i++){
this.tcfsDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue});
}
});
//申请人证件类型
this.houseGetDicts("zjlx").then((res) => {
for(var i = 0 ; i < res.data.length ; i++){
this.zjlxDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue});
}
});
//补偿方式
this.houseGetDicts("bcfs").then((res) => {
for(var i = 0 ; i < res.data.length ; i++){
this.bcfsDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue});
}
});
//宅基地代码
/*zjdzd().then(zjdRes => {
for( let i = 0 ; i < zjdRes.rows.length ; i++){
this.zjdDictionaries.push(zjdRes.rows[i].zjddm);
}
if(this.zjdDictionaries.length > 0)
this.onConfirmZjddm(this.zjdDictionaries[0]);
});*/
getExitProposerDetail().then(res => {
if (res.data) {
let data = res.data;
this.$set(this.circulation, 'sqrxm', data.shyqrdbxm);
this.$set(this.circulation, 'sqrzjhm', data.shyqrdbzjhm);
this.$set(this.circulation, 'sqrzjlx', data.shyqrdbzjlx);
if(data.shyqrdbzjlx) {
let val = this.zjlxDictionaries.find((x) => x.value == data.shyqrdbzjlx);
if(val)
this.zjlx = val.text;
}
}
});
},
/*onConfirmZjddm(data){
console.log(data)
this.circulation.zjddm = data;
this.showzjddm = false;
getByZjddm({zjddm: data,}).then(qlrRes => {
let data = qlrRes.data;
console.log(data)
this.$set(this.circulation, 'sqrxm', data.shyqrdbxm);
this.$set(this.circulation, 'sqrzjhm', data.shyqrdbzjhm);
this.$set(this.circulation, 'sqrzjlx', data.shyqrdbzjlx);
if(data.shyqrdbzjlx)
{
let val = this.zjlxDictionaries.find((x) => x.value == data.shyqrdbzjlx);
if(val)
this.zjlx = val.text;
}
this.$forceUpdate();
});
},*/
onConfirmZjddm(data){
console.log(data);
this.showzjddm = false;
if (data) {
this.$set(this.circulation, 'zjddm', data.zjddm);
this.$set(this.circulation, 'sqrzjhm', data.shyqrdbzjhm);
this.$set(this.circulation, 'sqrzjlx', data.shyqrdbzjlx);
if(data.shyqrdbzjlx)
{
let val = this.zjlxDictionaries.find((x) => x.value == data.shyqrdbzjlx);
if(val)
this.zjlx = val.text;
}
}
// this.$forceUpdate();
},
onConfirmZjlx(data){
this.zjlx = data.text;
this.circulation.sqrzjlx = data.value;
this.showzjlx = false;
},
onConfirmTcqllx(data){
this.tcqllx = data.text;
this.circulation.tcqllx = data.value;
this.showtcqllx = false;
},
onConfirmTcfs(data){
this.tcfs = data.text;
this.circulation.tcfs = data.value;
this.showtcfs = false;
},
onConfirmBcfs(data){
this.bcfs = data.text;
this.circulation.bcfs = data.value;
this.showbcfs = false;
},
goSubmit(){
console.log(this.circulation);
this.$refs._Form.validate().then(() => {
// 无偿退出申请不需要审批,保存成功之后默认就是审批通过状态,5 代表审批通过
this.$set(this.circulation, "auditStatus", '5');
dyAdd(this.circulation).then(response => {
if(response.code = 200){
this.$toast.success('保存成功');
this.back();
}
})
}).catch((e) => {
Notify({ type: 'danger', message: '请填写完整的表单项' });
});
},
back() {
setTimeout(() => this.$router.back(-1), 1000)
},
remoteProposerMethod() {
this.showzjddm = true;
this.zjdDictionaries = [];
if (this.circulation.sqrxm) {
getObligeeList({shyqrdbxm:this.circulation.sqrxm}).then(response => {
this.zjdDictionaries = response.data.map(item => {
return {
zjddm: item.zjddm,
shyqrdbxm: item.shyqrdbxm,
shyqrdbzjlx: item.shyqrdbzjlx,
shyqrdbzjhm: item.shyqrdbzjhm
}
});
});
} else {
this.zjdDictionaries = [];
}
},
/** 模糊查询人员信息 */
remoteTransfereeMethod(query) {
if (query !== "") {
obligeeList({shyqrdbxm:query,status:1}).then((response) => {
if (response.code == 200) {
this.getObligeeOptions = response.rows.map(item => item.shyqrdbxm);
//设置模糊查询的下拉框和滚动条
if (this.getObligeeOptions.length > 0) {
this.showDropList = true; // div显示会阻挡下边的选择框和输入框,showDropList控制下拉框是否显示
//设置模糊查询的和滚动条
this.$nextTick(() => {
if (this.getObligeeOptions.length > 4) {
let height = document.getElementById("vanCell").offsetHeight * 4;
document.getElementById("dropList").style.height = height + "px";
document.getElementById("dropList").style.overflow = "scroll";
} else {
document.getElementById("dropList").style.height = "";
document.getElementById("dropList").style.overflow = "visible";
}
});
} else {
this.showDropList = false;
}
}
});
} else {
this.getObligeeOptions = [];
this.showDropList = false;
}
},
shyqrdmxmChange(val){
this.$set(this.circulation, "sqrxm", val);
this.getObligeeOptions=[];
this.showDropList = false;
},
mapLook(){
this.mapShow = true;
setTimeout(() => {
this.$refs.zjdProductResh.drawingLyPaceCountryDarw();
},1000);
},
/** 查找地图中宅基地 */
closeMoule: function (data) {
this.circulation.zjddm = data;
/*getByZjddm({zjddm: data,}).then(qlrRes => {
let data = qlrRes.data;
if (data) {
this.$set(this.circulation, 'sqrzjhm', data.shyqrdbzjhm);
this.$set(this.circulation, 'sqrzjlx', data.shyqrdbzjlx);
if(data.shyqrdbzjlx)
{
let val = this.zjlxDictionaries.find((x) => x.value == data.shyqrdbzjlx);
if(val)
this.zjlx = val.text;
}
}
// this.$forceUpdate();
});*/
},
},
}
</script>

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

}
/*#dropList::-webkit-scrollbar {*/
/* !*滚动条整体样式*!*/
/* width: 5px; !*高宽分别对应横竖滚动条的尺寸*!*/
/* height: 1px;*/
/*}*/
/*#dropList::-webkit-scrollbar-thumb {*/
/* !*滚动条里面小方块*!*/
/* border-radius: 10px;*/
/* background: #fff;*/
/* box-shadow: inset 0 0 5px rgb(0, 122, 204);*/
/*}*/
/*#dropList::-webkit-scrollbar-track {*/
/* border-radius: 10px;*/
/* background: #fff;*/
/* !*滚动条里面轨道*!*/
/* box-shadow: inset 0 0 5px rgba( 0, 0, 0, .1);*/
/*}*/
</style>

+ 232
- 0
src/views/onlineHome/homestead/freeExit/freeExitDetail.vue 파일 보기

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

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

<!-- 审批 -->
<!-- <template v-if="approval.type === 'todo'">
<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-field required :readonly="approval.type !== 'todo'" v-model="approval.comment" rows="2" autosize type="textarea" placeholder="审核意见"/>
</van-col>
</van-row>
</div>

<van-row style="margin-top: 0.2rem;">
<van-col span="12" align="center">
<van-button type="info" native-type="submit" class="submitButton" @click="complete(true)">同意</van-button>
</van-col>
<van-col span="12" align="center">
<van-button type="danger" native-type="submit" class="submitButton" @click="complete(false)">驳回</van-button>
</van-col>
</van-row>
<div class="clear"></div>
</template> -->
</div>
</template>

<script>
import { getZyyctc } from "@/api/onlineHome/homestead/paidExit";
import request from '@/utils/request';
import {Notify} from "vant";
export default {
name: "freeExitDetail",
data() {
return {
circulation:[],
approval: {
taskId: null,
instanceId: null,
type: null,
id: null,
comment: '',
},
};
},
created() {
this.approval.id = this.$route.query.id;
this.approval.instanceId = this.$route.query.instanceId;
this.approval.type = this.$route.query.type;
this.approval.taskId = this.$route.query.taskId;
this.getDetail();
},
methods: {
getDetail(){
getZyyctc(this.$route.query.id).then(response => {
console.log(response)
this.circulation = response.data;
//退出权利类型
this.houseGetDicts("tcqllx").then((res) => {
this.circulation.tcqllx = this.selectDictLabel(res.data, response.data.tcqllx);
});
//退出类型
this.houseGetDicts("tclx").then((res) => {
this.circulation.tclx = this.selectDictLabel(res.data, response.data.tclx);
});
//退出方式
this.houseGetDicts("tcfs").then((res) => {
this.circulation.tcfs = this.selectDictLabel(res.data, response.data.tcfs);
});
//申请人证件类型
this.houseGetDicts("zjlx").then((res) => {
this.circulation.sqrzjlx = this.selectDictLabel(res.data, response.data.sqrzjlx);
});
//补偿方式
this.houseGetDicts("bcfs").then((res) => {
this.circulation.bcfs = this.selectDictLabel(res.data, response.data.bcfs);
});
});
},
/* complete(pass) {
if(!this.approval.taskId || !this.approval.instanceId || this.approval.type !== 'todo')
{
console.error("无效操作");
return false;
}
if(!this.approval.comment)
{
this.notify("请填写审批意见", 'danger');
return false;
}
let data = {
taskId: this.approval.taskId,
instanceId: this.approval.instanceId,
variables: JSON.stringify({
pass: pass ? "true" : "false",
comment: this.approval.comment ? this.approval.comment : (pass ? '同意' : '驳回'),
}),
};
request({
url: "/activiti/process/complete",
method: "post",
params: data,
}).then((response) => {
this.notify("操作成功", 'success');
this.$router.back();
}).catch(e => {
this.notify("操作失败!", 'danger');
});
return true;
}, */
notify(message, type) {
Notify.clear();
Notify({ type: type || 'primary', message: message });
},
},
}
</script>

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

}
.examine_box{
background-color: #1D6FE9!important;
padding: 0.18rem!important;
padding-left: 0!important;
border-radius: 0.15rem!important;
margin-top: 0.3rem!important;
.van-col:first-child{
color: #FFF!important;
font-size: 0.45rem!important;
text-align: center!important;
}
.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;
}
}
}
</style>

+ 162
- 0
src/views/onlineHome/homestead/freeExit/freeExitList.vue 파일 보기

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

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

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

+ 309
- 0
src/views/onlineHome/homestead/freeExit/freeExitModify.vue 파일 보기

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

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

<van-field
readonly
v-model="tclx"
label="退出类型"
input-align="right"
label-width="auto"
required
/>

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

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

</div>
</van-form>

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

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

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

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

circulation:{}
};
},
created() {
this.getDictionaries();
},
methods: {
getDictionaries(){
getZyyctc(this.$route.query.id).then(response => {
//退出权利类型
this.houseGetDicts("tcqllx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcqllxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
this.tcqllx = this.selectDictLabel(res.data, response.data.tcqllx);
});
//退出类型
this.houseGetDicts("tclx").then((res) => {
this.tclx = this.selectDictLabel(res.data, response.data.tclx);
});
//退出方式
this.houseGetDicts("tcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
this.tcfs = this.selectDictLabel(res.data, response.data.tcfs);
});
//申请人证件类型
this.houseGetDicts("zjlx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.zjlxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
this.zjlx = this.selectDictLabel(res.data, response.data.sqrzjlx);
});
//补偿方式
this.houseGetDicts("bcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.bcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
this.bcfs = this.selectDictLabel(res.data, response.data.bcfs);
});
//宅基地代码
zjdzd().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.zjdDictionaries.push(zjdRes.rows[i].zjddm);
}
});
this.circulation = response.data;
});
},
onConfirmZjddm(data){
console.log(data)
this.circulation.zjddm = data;
this.showzjddm = false;
getByZjddm({zjddm: data,}).then(qlrRes => {
let data = qlrRes.data;
console.log(data)
this.$set(this.circulation, 'sqrxm', data.shyqrdbxm);
this.$set(this.circulation, 'sqrzjhm', data.shyqrdbzjhm);
this.$set(this.circulation, 'sqrzjlx', data.shyqrdbzjlx);
if(data.shyqrdbzjlx)
{
let val = this.zjlxDictionaries.find((x) => x.value == data.shyqrdbzjlx);
if(val)
this.zjlx = val.text;
}
this.$forceUpdate();
});
},
onConfirmZjlx(data){
this.zjlx = data.text;
this.circulation.sqrzjlx = data.value;
this.showzjlx = false;
},
onConfirmTcqllx(data){
this.tcqllx = data.text;
this.circulation.tcqllx = data.value;
this.showtcqllx = false;
},
onConfirmTcfs(data){
this.tcfs = data.text;
this.circulation.tcfs = data.value;
this.showtcfs = false;
},
onConfirmBcfs(data){
this.bcfs = data.text;
this.circulation.bcfs = data.value;
this.showbcfs = false;
},
goEdit(){
console.log(this.circulation);
this.$refs._Form.validate().then(() => {
zyyctcEdit(this.circulation).then(response => {
if(response.code = 200){
this.$toast.success('保存成功');
this.$router.back(-1);
}
})
}).catch((e) => {
Notify({ type: 'danger', message: '请填写完整的表单项' });
});
},
},
}
</script>

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

}
</style>

+ 1
- 1
src/views/onlineHome/homestead/homeApplication/applicationList.vue 파일 보기

@@ -35,7 +35,7 @@
<van-icon name="../../../static/images/onlineHome/icon_zjd1.png" size="30" color="#539FFD" style="margin-right: 10px;" />
</template>
<span v-if="item.auditStatus === '0'">{{ formatDict(houseApplyStatus, item.houseApplyStatus) }} </span>
<span v-else-if="item.auditStatus !== '0' && item.auditStatus === '2' " style="color: #F56C6C">{{ formatDict(houseApplyStatus, item.houseApplyStatus) + ' ● 已驳回' }} </span>
<span v-else-if="item.auditStatus === '2' " style="color: #F56C6C">{{ formatDict(houseApplyStatus, item.houseApplyStatus) + ' ● 已驳回' }} </span>
<span v-else style="color: #67c23a;">{{ formatDict(houseApplyStatus, item.houseApplyStatus) }} </span>
<template #label>
<p>{{item.projectName}}</p>


+ 299
- 160
src/views/onlineHome/homestead/homeApplication/proposerLite.vue 파일 보기

@@ -114,7 +114,7 @@
<van-field :rules="[{ required: true }]" required :readonly="!formEnabled.baseApplyForm.baseFormEnabled" v-model="applicationDetail.tHouseApplyCurrentSituation.landArea" label="宅基地面积" placeholder="宅基地面积" input-align="right" type="number"><template #right-icon>㎡</template></van-field>
<!-- <van-field :rules="[{ required: true }]" required :readonly="!formEnabled.baseApplyForm.baseFormEnabled" v-model="applicationDetail.tHouseApplyCurrentSituation.landPerArea" label="人均宅基地面积" placeholder="人均宅基地面积" input-align="right" label-width="auto" type="number"><template #right-icon>㎡</template></van-field>-->
<!-- <van-field :rules="[{ required: true }]" required :readonly="!formEnabled.baseApplyForm.baseFormEnabled" v-model="applicationDetail.tHouseApplyCurrentSituation.landCertificateNo" label="不动产单元号" placeholder="不动产单元号" input-align="right"/>-->
<van-field :rules="[{ required: true }]" required :readonly="!formEnabled.baseApplyForm.baseFormEnabled" v-model="applicationDetail.tHouseApplyCurrentSituation.buildingArea" label="建筑面积" placeholder="建筑面积㎡" input-align="right" type="number"><template #right-icon>㎡</template></van-field>
<van-field :readonly="!formEnabled.baseApplyForm.baseFormEnabled" v-model="applicationDetail.tHouseApplyCurrentSituation.buildingArea" label="建筑面积" placeholder="建筑面积㎡" input-align="right" type="number" :rules="[{ required: true }]" required ><template #right-icon>㎡</template></van-field>
<!-- <van-field :rules="[{ required: true }]" required :readonly="!formEnabled.baseApplyForm.baseFormEnabled" v-model="applicationDetail.tHouseApplyCurrentSituation.buildingPerArea" label="人均建筑面积" placeholder="人均建筑面积" input-align="right" label-width="auto" type="number"><template #right-icon>㎡</template></van-field>-->
<van-field :rules="[{ required: true }]" required :readonly="!formEnabled.baseApplyForm.baseFormEnabled" v-model="applicationDetail.tHouseApplyCurrentSituation.houseCertificateNo" label="权属证证书号" placeholder="权属证证书号" input-align="right"/>
<field-select
@@ -391,7 +391,7 @@
<template v-if="formVisible.baseApplyForm.buildingFormVisible">
<div class="main_box examine_box">
<van-row type="flex" justify="space-between" align="center">
<van-col span="5">乡镇<br/>其他<br/>部门<br/>意见<br/></van-col>
<van-col span="5">乡镇<br/>住建<br/>部门<br/>意见<br/></van-col>
<van-col span="19">
<!-- <field-select-->
<!-- v-model="applicationDetail.tHouseApproveOtherOptions.buildingType"-->
@@ -906,7 +906,7 @@
<template v-if="formVisible.baseApplyForm.buildingFormVisible">
<div class="main_box examine_box">
<van-row type="flex" justify="space-between" align="center">
<van-col span="5">乡镇<br/>其他<br/>部门<br/>意见<br/></van-col>
<van-col span="5">乡镇<br/>住建<br/>部门<br/>意见<br/></van-col>
<van-col span="19">
<van-field required :readonly="!formEnabled.baseApplyForm.buildingFormEnabled" v-model="applicationDetail.tHouseApproveOtherOptions.approveOption" rows="2" autosize type="textarea" placeholder="审批意见" :rules="[{ required: true }]"/>
<van-field :rules="[{ required: true }]" v-if="applicationDetail.tHouseApproveOtherOptions.approveLeader !='' && applicationDetail.tHouseApproveOtherOptions.approveLeader !=null && !applicationDetail.tHouseApproveOtherOptions.approveLeader.endsWith('jpeg')"
@@ -1983,16 +1983,15 @@ export default {
this.formEnabled.acceptingForm.townFormEnabled = false;
this.formEnabled.acceptingForm.agricultureFormEnabled = false;
this.formEnabled.acceptingForm.nature_resourceFormEnabled = false;

switch (this.proposerStatus) {
// 查看
case PROPOSER_VIEW:
this.formVisible.baseApplyForm.groupFormVisible = hasGroupLevel && this.isNotProposeStatus(houseApplyStatus, ["1", '32']);
this.formVisible.baseApplyForm.villageFormVisible = this.isNotProposeStatus(houseApplyStatus, ["1", "32", "2", "3", "31"]);
this.formVisible.baseApplyForm.townFormVisible = this.isNotProposeStatus(houseApplyStatus, ["1", "32", "2", "3", "31", '4', '5', this.isInRoles(role, 'town_leader') ? -99 : '8']);
this.formVisible.baseApplyForm.agricultureFormVisible = this.isNotProposeStatus(houseApplyStatus, ["1", "32", "2", "3", "31", '4', '5', this.isInRoles(role, ['town_leader', 'agriculture']) ? -99 : '8']);
this.formVisible.baseApplyForm.buildingFormVisible = this.isNotProposeStatus(houseApplyStatus, ["1", "32", "2", "3", "31", '4', '5', this.isInRoles(role, ['town_leader', 'building']) ? -99 : '8']);
this.formVisible.baseApplyForm.nature_resourceFormVisible = this.isNotProposeStatus(houseApplyStatus, ["1", "32", "2", "3", "31", '4', '5', this.isInRoles(role, ['town_leader', 'nature_resource']) ? -99 : '8']);
this.formVisible.baseApplyForm.townFormVisible = this.isNotProposeStatus(houseApplyStatus, ["1", "32", "2", "3", "31", '4', '5', this.isInRoles(role, 'town_leader') ? -99 : '7', this.isInRoles(role, 'town_leader') ? -99 : '8']);
this.formVisible.baseApplyForm.agricultureFormVisible = this.isNotProposeStatus(houseApplyStatus, ["1", "32", "2", "3", "31", '4', '5', this.isInRoles(role, ['town_leader', 'agriculture']) ? -99 : '7', this.isInRoles(role, ['town_leader', 'agriculture']) ? -99 : '8']);
this.formVisible.baseApplyForm.buildingFormVisible = this.isNotProposeStatus(houseApplyStatus, ["1", "32", "2", "3", "31", '4', '5', this.isInRoles(role, ['town_leader', 'building']) ? -99 : '7', this.isInRoles(role, ['town_leader', 'building']) ? -99 : '8']);
this.formVisible.baseApplyForm.nature_resourceFormVisible = this.isNotProposeStatus(houseApplyStatus, ["1", "32", "2", "3", "31", '4', '5', this.isInRoles(role, ['town_leader', 'nature_resource']) ? -99 : '7', this.isInRoles(role, ['town_leader', 'nature_resource']) ? -99 : '8']);

this.formVisible.landscopeVisible = this.isNotProposeStatus(houseApplyStatus, ["1", "32", "2", "3", "31", '4', '5', '6', '7', '8', '9', '10']);
this.formVisible.landscopeForm.baseFormVisible = this.isNotProposeStatus(houseApplyStatus, ["1", "32", "2", "3", "31", '4', '5', '6', '7', '8', '9', '10']);
@@ -2000,9 +1999,8 @@ export default {
this.formVisible.acceptingVisible = this.isProposeStatus(houseApplyStatus, ["18", "20", "21", "22", "23", "24", "25", "30", "29", "26"]);
this.formVisible.acceptingForm.baseFormVisible = this.isProposeStatus(houseApplyStatus, ["18", "20", "21", "22", "23", "24", "25", "30", "29", "26"]);
this.formVisible.acceptingForm.townFormVisible = this.isProposeStatus(houseApplyStatus, [this.isInRoles(role, 'town_leader') ? '29' : -99, "26"]);
this.formVisible.acceptingForm.agricultureFormVisible = this.isProposeStatus(houseApplyStatus, [this.isInRoles(role, ['town_leader', 'agriculture']) ? '29' : -99, "26"]);
this.formVisible.acceptingForm.nature_resourceFormVisible = this.isProposeStatus(houseApplyStatus, [this.isInRoles(role, ['town_leader', 'nature_resource']) ? '29' : -99, "26"]);

this.formVisible.acceptingForm.agricultureFormVisible = this.isProposeStatus(houseApplyStatus, [this.isInRoles(role, ['town_leader', 'agriculture']) ? '29' : -99, this.isInRoles(role, ['town_leader', 'agriculture']) ? '25' : -99, "26"]);
this.formVisible.acceptingForm.nature_resourceFormVisible = this.isProposeStatus(houseApplyStatus, [this.isInRoles(role, ['town_leader', 'nature_resource']) ? '29' : -99, this.isInRoles(role, ['town_leader', 'nature_resource']) ? '25' : -99, "26"]);
if(this.type =='done') {
this.formVisible.editVisible = false;
}
@@ -2102,7 +2100,6 @@ export default {
let handlerTime = this.getDate();
this.applicationDetail = value;
this.formVisible.auditVisible = this.type === 'done' || this.type === 'todo';

// 申请-组级审批 初始化表单
if(hasGroupLevel)
{
@@ -2129,8 +2126,6 @@ export default {
}
}
}

console.log(value.tHouseApproveVillageOptions);
// 申请-草稿
if(this.isProposeStatus(houseApplyStatus, ["1"]))
{
@@ -2173,7 +2168,7 @@ export default {
}
}
// 申请-镇级审批
else if(this.isProposeStatus(houseApplyStatus, ["8"]))
else if(this.isProposeStatus(houseApplyStatus, ["8","7"]))
{
// 自然资源部门
if(!value.tHouseApproveNatureOptions)
@@ -2288,6 +2283,7 @@ export default {
if(!this.applicationDetail.tHouseApproveLocationplanOptions.cartographicTime)
this.$set(this.applicationDetail.tHouseApproveLocationplanOptions, 'cartographicTime', handlerTime);
}
console.info(this.formVisible.auditVisible);
}

// 开工申请
@@ -2315,7 +2311,7 @@ export default {
this.applicationDetail.tHouseApplyEnd.oldHouseStatus = null;
}
// 验收镇级审批
else if(this.isProposeStatus(houseApplyStatus, ["29"]))
else if(this.isProposeStatus(houseApplyStatus, ["29","25"]))
{
if(this.isInRoles(role, ['town_leader']))
{
@@ -2354,25 +2350,26 @@ export default {
}

// 可见/隐藏
this.formVisible.baseApplyForm.groupFormVisible = hasGroupLevel && this.isNotProposeStatus(houseApplyStatus, ["1"]);
this.formVisible.baseApplyForm.villageFormVisible = this.isNotProposeStatus(houseApplyStatus, ["1", "32", "2", "3"]);
if(this.isNotProposeStatus(houseApplyStatus, ["1", "32", "2", "3", "31", '4', '5']))
this.formVisible.baseApplyForm.groupFormVisible = hasGroupLevel && this.isNotProposeStatus(houseApplyStatus, ["1","25"]);
this.formVisible.baseApplyForm.villageFormVisible = this.isNotProposeStatus(houseApplyStatus, ["1", "32", "2", "3","25"]);

if(this.isNotProposeStatus(houseApplyStatus, ["1", "32", "2", "3", "31", '4', '5',25]))
{
if(this.isInRoles(role, ['town_leader', 'agriculture']) || houseApplyStatus != '8')
if(this.isInRoles(role, ['town_leader', 'agriculture']) || houseApplyStatus != '7')
{
this.formVisible.baseApplyForm.agricultureFormVisible = true;
// this.applicationDetail.tHouseApproveAgricultureOptions.approveOption = null;
// this.applicationDetail.tHouseApproveAgricultureOptions.approveLeader = null;
// this.applicationDetail.tHouseApproveAgricultureOptions.approveTime = handlerTime;
}
if(this.isInRoles(role, ['town_leader', 'building']) || houseApplyStatus != '8')
if(this.isInRoles(role, ['town_leader', 'building']) || houseApplyStatus != '7')
{
this.formVisible.baseApplyForm.buildingFormVisible = true;
// this.applicationDetail.tHouseApproveOtherOptions.approveOption = null;
// this.applicationDetail.tHouseApproveOtherOptions.approveLeader = null;
// this.applicationDetail.tHouseApproveOtherOptions.approveTime = handlerTime;
}
if(this.isInRoles(role, ['town_leader', 'nature_resource']) || houseApplyStatus != '8')
if(this.isInRoles(role, ['town_leader', 'nature_resource']) || houseApplyStatus != '7')
{
this.formVisible.baseApplyForm.nature_resourceFormVisible = true;
// this.applicationDetail.tHouseApproveNatureOptions.approveOption = null;
@@ -2387,20 +2384,19 @@ export default {
// this.applicationDetail.tHouseApproveTownOptions.approveTime = handlerTime;
}
}

this.formVisible.landscopeVisible = this.isNotProposeStatus(houseApplyStatus, ["1", "32", "2", "3", "31", '4', '5', '6', '7', '8', '9']);
this.formVisible.landscopeForm.baseFormVisible = this.isNotProposeStatus(houseApplyStatus, ["1", "32", "2", "3", "31", '4', '5', '6', '7', '8', '9']);
this.formVisible.landscopeVisible = this.isNotProposeStatus(houseApplyStatus, ["1", "32", "2", "3", "31", '4', '5', '6', '7', '8', '9',"25"]);
this.formVisible.landscopeForm.baseFormVisible = this.isNotProposeStatus(houseApplyStatus, ["1", "32", "2", "3", "31", '4', '5', '6', '7', '8', '9',"25"]);

//this.formVisible.baseApplyForm.townFormVisible = this.landscopeVisible
this.formVisible.acceptingVisible = this.isProposeStatus(houseApplyStatus, ["18", "20", "21", "22", "23", "24", "25", "30", "29", "26"]);
this.formVisible.acceptingForm.baseFormVisible = this.isProposeStatus(houseApplyStatus, ["18", "20", "21", "22", "23", "24", "25", "30", "29", "26"]);
if(this.isProposeStatus(houseApplyStatus, ["29", "26"]))
this.formVisible.acceptingVisible = this.isProposeStatus(houseApplyStatus, ["18", "20", "21", "22", "23", "24", "25", "30", "29", "26","25"]);
this.formVisible.acceptingForm.baseFormVisible = this.isProposeStatus(houseApplyStatus, ["18", "20", "21", "22", "23", "24", "25", "30", "29", "26","25"]);
if(this.isProposeStatus(houseApplyStatus, ["29", "26","25"]))
{
if(this.isInRoles(role, ['town_leader', 'agriculture']) || houseApplyStatus != '29')
if(this.isInRoles(role, ['town_leader', 'agriculture']) || houseApplyStatus != '25')
{
this.formVisible.acceptingForm.agricultureFormVisible = true;
}
if(this.isInRoles(role, ['town_leader', 'nature_resource']) || houseApplyStatus != '29')
if(this.isInRoles(role, ['town_leader', 'nature_resource']) || houseApplyStatus != '25')
{
this.formVisible.acceptingForm.nature_resourceFormVisible = true;
}
@@ -2418,7 +2414,7 @@ export default {
// this.applicationDetail.tHouseApproveVillageOptions.villageLeader = null;
// //this.applicationDetail.tHouseApproveVillageOptions.
// }
if(this.isProposeStatus(houseApplyStatus, ['8']))
if(this.isProposeStatus(houseApplyStatus, ['8',"7"]))
{
if(this.isInRoles(role, ['agriculture']))
{
@@ -2442,7 +2438,7 @@ export default {

this.formEnabled.acceptingEnabled = this.isProposeStatus(houseApplyStatus, ['20']);
this.formEnabled.acceptingForm.baseFormEnabled = this.isProposeStatus(houseApplyStatus, ['20']);
if(this.isProposeStatus(houseApplyStatus, ['29']))
if(this.isProposeStatus(houseApplyStatus, ['29',"25"]))
{
if(this.isInRoles(role, ['agriculture']))
{
@@ -2568,14 +2564,20 @@ export default {
}

// 通用设置
if(this.type =='done' && this.applicationDetail.tHouseApplyEnd == null && this.applicationDetail.tHouseApplyEnd.taskId ==null){
// if(this.type =='done' && this.applicationDetail.tHouseApplyEnd == null && this.applicationDetail.tHouseApplyEnd.taskId ==null){
if(this.type =='done' && this.applicationDetail.tHouseApplyEnd == null){
if (this.isAccepting()) {
this.active = PROPOSER_STAGE_START;
this.selectedTabName = PROPOSER_STAGE_START;
this.processKeyField = PROPOSER_STAGE_START_ACTIVITY;
this.attachmentActive = PROPOSER_STAGE_START;
}
else { // this.isBaseApply()
}else if(this.isLandscope()){
this.active = PROPOSER_STAGE_START;
this.selectedTabName = PROPOSER_STAGE_START;
this.processKeyField = PROPOSER_STAGE_START_ACTIVITY;
this.attachmentActive = PROPOSER_STAGE_START;
}else
{ // this.isBaseApply()
this.active = PROPOSER_STAGE_BASE_APPLY;
this.selectedTabName = PROPOSER_STAGE_BASE_APPLY;
this.attachmentActive = PROPOSER_STAGE_BASE_APPLY;
@@ -2598,6 +2600,11 @@ export default {
} else if (this.isAccepting()) {
this.active = PROPOSER_STAGE_END;
this.selectedTabName = PROPOSER_STAGE_END;
// 编辑时且为申请通过状态 -> 查看验收草稿
if(this.proposerStatus == PROPOSER_VIEW && this.isProposeStatus(houseApplyStatus, ["20"])){
this.selectedTabName = PROPOSER_STAGE_START;
}

this.processKeyField = PROPOSER_STAGE_END_ACTIVITY;
this.attachmentActive = PROPOSER_STAGE_END;
}
@@ -2670,6 +2677,7 @@ export default {
landPerArea: null, //人均宅基地面积
landCertificateNo: null, //权属证书号
buildingPerArea: null, //人均建筑面积
buildingArea:null,//建筑面积
houseCertificateNo: null, //权属证书号
landIsposal: null, // 现宅基地处置情况
reservedArea: null, // 保留m²
@@ -2760,8 +2768,8 @@ export default {
},
//返回上一步操作
goBack(){
this.$router.push({path: '/onlineHome/done'});
//this.$router.back(-1)
this.$router.push({path: '/onlineHome/workbench'});
// this.$router.back(-1);
//this.$router.push({name: this.$router.back(-1)});
},
// 当地图绘制完成时
@@ -2801,7 +2809,11 @@ export default {
this.auditProposer(true);
break;
case 'reject':
this.auditProposer(false);
this.$dialog.confirm({
message: '是否确认驳回此条申请',
}).then(() => {
this.auditProposer(false);
});
break;
case 'start':
this.startProposerApply();
@@ -3009,6 +3021,7 @@ export default {
},
// 审批(同意/驳回)
auditProposer(pass) {
let _this = this;
switch (this.processKeyField) {
case PROPOSER_STAGE_BASE_APPLY_ACTIVITY: {
let comment;
@@ -3024,6 +3037,28 @@ export default {
this.$set(this.applicationDetail, 'tHouseApproveNatureOptions', null);
this.$set(this.applicationDetail, 'tHouseApproveOtherOptions', null);
comment = this.applicationDetail.tHouseApproveAgricultureOptions.approveOption;
if(this.$refs.pictureUploadApplyingTHouseApproveAgriculture && this.$refs.pictureUploadApplyingTHouseApproveAgriculture.isValid()) {

this.submitHouseApproveAgricultureOptions().then(item=>{
if (msg) {
return;
}
setTimeout(() => {

saveHouseBaseInfo(_this.applicationDetail).then((response) => {
_this.complete(pass, comment);
}).catch(resp => {
_this.notify(msg, 'danger');
_this.notify("保存失败!", 'danger');
});
}, 500);
});
} else {
if (this.checkString(this.applicationDetail.tHouseApproveAgricultureOptions.agriculturePlan)) {
msg = "农村农业部门现场拍照不能为空";
break;
}
}
break;
case "building":
msg = this.validateBuildingForm(pass);
@@ -3034,52 +3069,128 @@ export default {
this.$set(this.applicationDetail, 'tHouseApproveNatureOptions', null);
this.$set(this.applicationDetail, 'tHouseApproveAgricultureOptions', null);
comment = this.applicationDetail.tHouseApproveOtherOptions.approveOption;
if(this.$refs.pictureUploadApplyingTHouseApproveOther && this.$refs.pictureUploadApplyingTHouseApproveOther.isValid()) {
this.submitHouseApproveOtherOptions().then(item=>{
setTimeout(() => {

saveHouseBaseInfo(_this.applicationDetail).then((response) => {
_this.complete(pass, comment);
}).catch(resp => {
_this.notify(msg, 'danger');
_this.notify("保存失败!", 'danger');
});
}, 500);
});
} else {
if (this.checkString(this.applicationDetail.tHouseApproveOtherOptions.otherPlan)) {
msg = "住建部门现场拍照不能为空";
break;
}
}
break;
case "nature_resource":
msg = this.validateNatureForm(pass);
if (msg) {
break;
}

this.$set(this.applicationDetail, 'tHouseApproveTownOptions', null);
this.$set(this.applicationDetail, 'tHouseApproveOtherOptions', null);
this.$set(this.applicationDetail, 'tHouseApproveAgricultureOptions', null);
comment = this.applicationDetail.tHouseApproveNatureOptions.approveOption;
if(this.$refs.pictureUploadApplyingTHouseApproveNature && this.$refs.pictureUploadApplyingTHouseApproveNature.isValid()) {
this.submitHouseApproveNatureplanOptions().then(item=>{
setTimeout(() => {
saveHouseBaseInfo(_this.applicationDetail).then((response) => {
_this.complete(pass, comment);
}).catch(resp => {
_this.notify(msg, 'danger');
_this.notify("保存失败!", 'danger');
});
}, 500);
});
} else {
if (this.checkString(this.applicationDetail.tHouseApproveNatureOptions.naturePlan)) {
msg = "自然资源部门现场拍照不能为空";
break;
}
}
break;
case "town_leader":
msg = this.validateAgricultureForm(pass);
if (msg) {
break;
}

msg = this.validateNatureForm();
if (msg) {
break;
}

msg = this.validateBuildingForm();
if (msg) {
break;
}

// msg = this.validateAgricultureForm(pass);
// if (msg) {
// break;
// }
// msg = this.validateNatureForm();
// if (msg) {
// break;
// }
//
// msg = this.validateBuildingForm();
// if (msg) {
// break;
// }
msg = this.validateTownForm();
if (msg) {
break;
}
comment = this.applicationDetail.tHouseApproveTownOptions.approveOption;
//地图判断
if (this.drawInsert != null) {
this.applicationDetail.tHouseApproveNatureOptions.theGeom = JSON.stringify(this.drawInsert);
}
else {
if(this.applicationDetail.tHouseApproveNatureOptions && this.applicationDetail.tHouseApproveNatureOptions.theGeom == null){
this.applicationDetail.tHouseApproveNatureOptions.theGeom = this.convertGeom(this.applicationDetail.tHouseApplyProposedSituation.theGeom);
}
}
//console.log(this.$refs.pictureUploadApplying, this.$refs.pictureUploadApplying.isValid());
if(this.$refs.pictureUploadApplying && this.$refs.pictureUploadApplying.isValid()) {
this.submitHouseApproveLocationplanOptions(pass, comment);
return;
}
this.submitHouseApproveAgricultureOptions().then(item=>{
_this.submitHouseApproveNatureplanOptions().then(item2=>{
_this.submitHouseApproveOtherOptions().then(item3=>{
if(_this.$refs.pictureUploadApplyingTHouseApproveTown && _this.$refs.pictureUploadApplyingTHouseApproveTown.isValid()) {
_this.submitHouseApproveTownOptions().then(item4=>{
//地图判断
if (_this.drawInsert != null) {
_this.applicationDetail.tHouseApproveNatureOptions.theGeom = JSON.stringify(_this.drawInsert);
}
else {
if(_this.applicationDetail.tHouseApproveNatureOptions && _this.applicationDetail.tHouseApproveNatureOptions.theGeom == null){
_this.applicationDetail.tHouseApproveNatureOptions.theGeom = _this.convertGeom(_this.applicationDetail.tHouseApplyProposedSituation.theGeom);
}
}
if(_this.$refs.pictureUploadApplying && _this.$refs.pictureUploadApplying.isValid()) {
_this.submitHouseApproveLocationplanOptions(pass, comment).then(item5=>{
_this.submitHouseApproveNatureplanOptions().then(item6=>{
setTimeout(() => {
saveHouseBaseInfo(_this.applicationDetail).then((response) => {
_this.complete(pass, comment);
}).catch(resp => {
_this.notify(msg, 'danger');
_this.notify("保存失败!", 'danger');
});
}, 500);
});
});
}else{

if (this.checkString(this.applicationDetail.tHouseApproveLocationplanOptions.locationPlan)) {
_this.notify("现场踏勘不能为空", 'danger');
_this.$refs.form.validate().then(() => {}).catch((e)=>{})
}
}
});
} else {
if (this.checkString(this.applicationDetail.tHouseApproveTownOptions.townPlan)) {
_this.notify("镇政府审批现场拍照不能为空", 'danger');
_this.$refs.form.validate().then(() => {}).catch((e)=>{})
}else{
if(!pass){
comment = "驳回";
}
setTimeout(() => {
saveHouseBaseInfo(_this.applicationDetail).then((response) => {
_this.complete(pass, comment);
}).catch(resp => {
_this.notify(msg, 'danger');
_this.notify("保存失败!", 'danger');
});
}, 500);
}
}
});
});
});
break;
default:
if(this.checkString(this.applicationDetail.tHouseApproveVillageOptions.villageOption))
@@ -3097,7 +3208,17 @@ export default {
return;
} else {
if (this.checkString(this.applicationDetail.tHouseApproveVillageOptions.villagePlan)) {

msg = "村级现场拍照不能为空";
}else{
setTimeout(() => {
saveHouseBaseInfo(_this.applicationDetail).then((response) => {
_this.complete(pass, comment);
}).catch(resp => {
_this.notify(msg, 'danger');
_this.notify("保存失败!", 'danger');
});
}, 500);
}
}
//}
@@ -3136,18 +3257,10 @@ export default {
break;
}
if (msg) {
this.notify(msg, 'danger');
this.$refs.form.validate().then(() => {}).catch((e)=>{})
_this.notify(msg, 'danger');
_this.$refs.form.validate().then(() => {}).catch((e)=>{})
return;
}
setTimeout(() => {
saveHouseBaseInfo(this.applicationDetail).then((response) => {
this.complete(pass, comment);
}).catch(resp => {
this.notify(msg, 'danger');
this.notify("保存失败!", 'danger');
});
}, 500);
}
break;
case PROPOSER_STAGE_START_ACTIVITY:
@@ -3163,7 +3276,28 @@ export default {
if (msg) {
break;
}
comment = this.applicationDetail.tHouseApplyEnd.nongyeOption;
comment = _this.applicationDetail.tHouseApplyEnd.nongyeOption;
if(this.$refs.tHouseApplyEndNongye && this.$refs.tHouseApplyEndNongye.isValid()) {
this.submitHouseApproveEndNongyeOptions().then(item=>{
updateEnd(_this.applicationDetail.tHouseApplyEnd).then((response) => {
_this.complete(pass, comment);
}).catch(err => {
_this.notify('保存失败', 'danger');
});

});
} else {
if (this.checkString(this.applicationDetail.tHouseApplyEnd.nongyePlan)) {
msg = "农业农村部门现场拍照不能为空";
}else{
updateEnd(_this.applicationDetail.tHouseApplyEnd).then((response) => {
_this.complete(pass, comment);
}).catch(err => {
_this.notify('保存失败', 'danger');
});
}
}

break;
case "nature_resource":
msg = this.validateAcceptingFormTown(undefined, role);
@@ -3171,13 +3305,71 @@ export default {
break;
}
comment = this.applicationDetail.tHouseApplyEnd.natureOption;
if(this.$refs.tHouseApplyEndNature && this.$refs.tHouseApplyEndNature.isValid()) {
this.submitHouseApproveEndNatureOptions().then(item=>{
updateEnd(_this.applicationDetail.tHouseApplyEnd).then((response) => {
_this.complete(pass, comment);
}).catch(err => {
_this.notify('保存失败', 'danger');
});
});
} else {
if (this.checkString(this.applicationDetail.tHouseApplyEnd.naturePlan)) {
msg = "自然资源部门现场拍照不能为空";
}else{
updateEnd(_this.applicationDetail.tHouseApplyEnd).then((response) => {
_this.complete(pass, comment);
}).catch(err => {
_this.notify('保存失败', 'danger');
});
}
}
break;
case "town_leader":
msg = this.validateAcceptingFormTown();
if (msg) {
break;
}
comment = this.applicationDetail.tHouseApplyEnd.zhenOption;
if(this.$refs.tHouseApplyEndZhen && this.$refs.tHouseApplyEndZhen.isValid()) {
if (_this.$refs.pictureUploadAccepting && _this.$refs.pictureUploadAccepting.isValid()) {
this.submitHouseApproveEndBZhenOptions().then(item=>{
comment = this.applicationDetail.tHouseApplyEnd.zhenOption;
this.submitHouseApplyEndLocationplanOptions(pass).then(item2=>{
updateEnd(_this.applicationDetail.tHouseApplyEnd).then((response) => {
_this.complete(pass, comment);
}).catch(err => {
_this.notify('保存失败', 'danger');
});
});

});
}else{
if (this.checkString(this.applicationDetail.tHouseApplyEnd.locationPlan)) {
msg = "竣工平面简图不能为空";
}

}
} else {
if (this.checkString(this.applicationDetail.tHouseApplyEnd.zhenPlan)) {
msg = "乡镇政府现场拍照不能为空";
}else{
updateEnd(this.applicationDetail.tHouseApplyEnd).then((response) => {
this.complete(pass, comment);
}).catch(err => {
this.notify('保存失败', 'danger');
});
}
}

break;
default:
comment = '同意';
updateEnd(this.applicationDetail.tHouseApplyEnd).then((response) => {
this.complete(pass, comment);
}).catch(err => {
this.notify('保存失败', 'danger');
});
break;
}
if (msg) {
@@ -3186,10 +3378,7 @@ export default {
return;
}

if (this.$refs.pictureUploadAccepting && this.$refs.pictureUploadAccepting.isValid()) {
this.submitHouseApplyEndLocationplanOptions(pass);
return;
}


// //农村农业部
// if (this.$refs.tHouseApplyEndNongye && this.$refs.tHouseApplyEndNongye.isValid()) {
@@ -3208,11 +3397,7 @@ export default {
// }

console.log(this.applicationDetail.tHouseApplyEnd);
updateEnd(this.applicationDetail.tHouseApplyEnd).then((response) => {
this.complete(pass, comment);
}).catch(err => {
this.notify('保存失败', 'danger');
});

}
break;
default:
@@ -3221,7 +3406,8 @@ export default {
},
//村级领导审批现场图片
submitHouseApproveVillageplanOptions(pass, commentText) {
this.$refs.pictureUploadApplyingTHouseApproveVillage.updatePlanFiles().then((x) => {
this.applicationDetail.tHouseApproveVillageOptions.villagePlan = null;
return this.$refs.pictureUploadApplyingTHouseApproveVillage.updatePlanFiles().then((x) => {
let list = [];
x.data.forEach((f) => {
let item = {
@@ -3250,7 +3436,8 @@ export default {
},
//自然资源部门审批现场图片
submitHouseApproveNatureplanOptions() {
this.$refs.pictureUploadApplyingTHouseApproveNature.updatePlanFiles().then((x) => {
this.applicationDetail.tHouseApproveNatureOptions.naturePlan = null;
return this.$refs.pictureUploadApplyingTHouseApproveNature.updatePlanFiles().then((x) => {
let list = [];
x.data.forEach((f) => {
let item = {
@@ -3273,7 +3460,8 @@ export default {
},
//农村农业部门审批现场图片
submitHouseApproveAgricultureOptions() {
this.$refs.pictureUploadApplyingTHouseApproveAgriculture.updatePlanFiles().then((x) => {
this.applicationDetail.tHouseApproveAgricultureOptions.agriculturePlan = null;
return this.$refs.pictureUploadApplyingTHouseApproveAgriculture.updatePlanFiles().then((x) => {
let list = [];
x.data.forEach((f) => {
let item = {
@@ -3287,7 +3475,6 @@ export default {
list.push(item);
});
this.applicationDetail.tHouseApproveAgricultureOptions.agriculturePlan = JSON.stringify(list);
console.log(this.applicationDetail.tHouseApproveAgricultureOptions.agriculturePlan);
if(this.checkString(this.applicationDetail.tHouseApproveAgricultureOptions.agriculturePlan)){
return "农村农业部现场拍照不能为空";
}
@@ -3297,7 +3484,8 @@ export default {
},
//其他部门审批现场图片
submitHouseApproveOtherOptions() {
this.$refs.pictureUploadApplyingTHouseApproveOther.updatePlanFiles().then((x) => {
this.applicationDetail.tHouseApproveOtherOptions.otherPlan = null;
return this.$refs.pictureUploadApplyingTHouseApproveOther.updatePlanFiles().then((x) => {
let list = [];
x.data.forEach((f) => {
let item = {
@@ -3320,7 +3508,8 @@ export default {
},
//镇级领导审批现场图片
submitHouseApproveTownOptions() {
this.$refs.pictureUploadApplyingTHouseApproveTown.updatePlanFiles().then((x) => {
this.applicationDetail.tHouseApproveTownOptions.townPlan = null;
return this.$refs.pictureUploadApplyingTHouseApproveTown.updatePlanFiles().then((x) => {
let list = [];
x.data.forEach((f) => {
let item = {
@@ -3343,7 +3532,8 @@ export default {
},
//验收农业部门审批现场图片
submitHouseApproveEndNongyeOptions() {
this.$refs.tHouseApplyEndNongye.updatePlanFiles().then((x) => {
this.applicationDetail.tHouseApplyEnd.nongyePlan = null;
return this.$refs.tHouseApplyEndNongye.updatePlanFiles().then((x) => {
let list = [];
x.data.forEach((f) => {
let item = {
@@ -3366,7 +3556,8 @@ export default {
},
//验收自然资源部门审批现场图片
submitHouseApproveEndNatureOptions() {
this.$refs.tHouseApplyEndNature.updatePlanFiles().then((x) => {
this.applicationDetail.tHouseApplyEnd.naturePlan = null;
return this.$refs.tHouseApplyEndNature.updatePlanFiles().then((x) => {
let list = [];
x.data.forEach((f) => {
let item = {
@@ -3389,6 +3580,7 @@ export default {
},
//验收住建部门审批现场图片
submitHouseApproveEndBuildingOptions() {
this.applicationDetail.tHouseApplyEnd.buildingPlan = null;
this.$refs.tHouseApplyEndBuilding.updatePlanFiles().then((x) => {
let list = [];
x.data.forEach((f) => {
@@ -3412,7 +3604,8 @@ export default {
},
//验收镇政府审批现场图片
submitHouseApproveEndBZhenOptions() {
this.$refs.tHouseApplyEndZhen.updatePlanFiles().then((x) => {
this.applicationDetail.tHouseApplyEnd.zhenPlan = null;
return this.$refs.tHouseApplyEndZhen.updatePlanFiles().then((x) => {
let list = [];
x.data.forEach((f) => {
let item = {
@@ -3435,7 +3628,8 @@ export default {
},
// 带平面图附件上传的镇级申请审批
submitHouseApproveLocationplanOptions(pass, commentText) {
this.$refs.pictureUploadApplying.updatePlanFiles().then((x) => {
this.applicationDetail.tHouseApproveLocationplanOptions.locationPlan = null;
return this.$refs.pictureUploadApplying.updatePlanFiles().then((x) => {
let list = [];
x.data.forEach((f) => {
let item = {
@@ -3449,18 +3643,13 @@ export default {
list.push(item);
});
this.applicationDetail.tHouseApproveLocationplanOptions.locationPlan = JSON.stringify(list);
saveHouseBaseInfo(this.applicationDetail).then((response) => {
this.complete(pass, commentText);
}).catch(resp => {
this.notify("保存失败!", 'danger');
});
}).catch((x) => {
this.notify("上传宅基地坐落平面位置图失败!", 'danger');
});
},
// 带平面图附件上传的镇级验收审批
submitHouseApplyEndLocationplanOptions(pass, commentText) {
this.$refs.pictureUploadAccepting.updatePlanFiles()
return this.$refs.pictureUploadAccepting.updatePlanFiles()
.then((x) => {
let list = [];
x.data.forEach((f) => {
@@ -3476,12 +3665,6 @@ export default {
});

this.applicationDetail.tHouseApplyEnd.locationPlan = JSON.stringify(list);

updateEnd(this.applicationDetail.tHouseApplyEnd).then((response) => {
this.complete(pass, commentText);
}).catch(err => {
this.notify("保存失败!", 'danger');
});
}).catch((x) => {
this.notify("上传宅基地坐落平面位置图失败!", 'danger');
});
@@ -3849,13 +4032,6 @@ export default {
else if (this.checkString(this.applicationDetail.tHouseApproveNatureOptions.theGeomPoint)) {
return "自然资源部门现场定位不能为空";
}
if(this.$refs.pictureUploadApplyingTHouseApproveNature && this.$refs.pictureUploadApplyingTHouseApproveNature.isValid()) {
this.submitHouseApproveNatureplanOptions();
} else {
if (this.checkString(this.applicationDetail.tHouseApproveNatureOptions.naturePlan)) {
return "自然资源部门现场拍照不能为空";
}
}
return false;
},
validateAgricultureForm(pass) {
@@ -3879,13 +4055,7 @@ export default {
if (this.checkString(this.applicationDetail.tHouseApproveAgricultureOptions.theGeomPoint)) {
return "农村农业部门现场定位不能为空";
}
if(this.$refs.pictureUploadApplyingTHouseApproveAgriculture && this.$refs.pictureUploadApplyingTHouseApproveAgriculture.isValid()) {
this.submitHouseApproveAgricultureOptions();
} else {
if (this.checkString(this.applicationDetail.tHouseApproveAgricultureOptions.agriculturePlan)) {
return "农村农业部门现场拍照不能为空";
}
}

// 通过时检查打勾, 农业部门
if(pass)
{
@@ -3939,17 +4109,10 @@ export default {
return "说明不能为空";
}
if (this.checkString(this.applicationDetail.tHouseApproveOtherOptions.approveLeader)) {
return "其他部门签名不能为空";
return "住建部门签名不能为空";
}
if (this.checkString(this.applicationDetail.tHouseApproveOtherOptions.theGeomPoint)) {
return "其他部门现场定位不能为空";
}
if(this.$refs.pictureUploadApplyingTHouseApproveOther && this.$refs.pictureUploadApplyingTHouseApproveOther.isValid()) {
this.submitHouseApproveOtherOptions();
} else {
if (this.checkString(this.applicationDetail.tHouseApproveOtherOptions.otherPlan)) {
return "其他部门现场拍照不能为空";
}
return "住建部门现场定位不能为空";
}
return false;
},
@@ -3963,13 +4126,6 @@ export default {
if (this.checkString(this.applicationDetail.tHouseApproveTownOptions.theGeomPoint)) {
return "镇政府审批现场定位不能为空";
}
if(this.$refs.pictureUploadApplyingTHouseApproveTown && this.$refs.pictureUploadApplyingTHouseApproveTown.isValid()) {
this.submitHouseApproveTownOptions();
} else {
if (this.checkString(this.applicationDetail.tHouseApproveTownOptions.townPlan)) {
return "镇政府审批现场拍照不能为空";
}
}
return false;
},
validateAcceptingFormBase() {
@@ -4071,13 +4227,7 @@ export default {
if (this.checkString(this.applicationDetail.tHouseApplyEnd.nongyeGeom)) {
return "农业农村部门现场定位不能为空";
}
if(this.$refs.tHouseApplyEndNongye && this.$refs.tHouseApplyEndNongye.isValid()) {
this.submitHouseApproveEndNongyeOptions();
} else {
if (this.checkString(this.applicationDetail.tHouseApplyEnd.nongyePlan)) {
return "农业农村部门现场拍照不能为空";
}
}

}
if(!role || role === 'nature_resource')
{
@@ -4093,13 +4243,7 @@ export default {
if (this.checkString(this.applicationDetail.tHouseApplyEnd.natureGeom)) {
return "自然资源部门现场定位不能为空";
}
if(this.$refs.tHouseApplyEndNature && this.$refs.tHouseApplyEndNature.isValid()) {
this.submitHouseApproveEndNatureOptions();
} else {
// if (this.checkString(this.applicationDetail.tHouseApplyEnd.naturePlan)) {
// return "自然资源部门现场拍照不能为空";
// }
}

}
if(0)
{
@@ -4140,13 +4284,7 @@ export default {
if (this.checkString(this.applicationDetail.tHouseApplyEnd.zhenGeom)) {
return "乡镇政府现场定位不能为空";
}
if(this.$refs.tHouseApplyEndZhen && this.$refs.tHouseApplyEndZhen.isValid()) {
this.submitHouseApproveEndBZhenOptions();
} else {
if (this.checkString(this.applicationDetail.tHouseApplyEnd.zhenPlan)) {
return "乡镇政府现场拍照不能为空";
}
}

}

// 通过时检查打勾, 农业部门
@@ -4225,6 +4363,7 @@ export default {
searchCommit(data){
this.showesign = true;
this.onCliceQz = data;
console.info(this.$store.getters.baseRoutingUrl);
console.log(this.currentUserRole);
console.log(this.$store.getters.baseRoutingUrl);
if(this.selectedTabName ==0){


+ 1
- 2
src/views/onlineHome/homestead/homesteadUtilize/homesteadUtilizeAdd.vue 파일 보기

@@ -159,12 +159,11 @@ export default {
this.showdcsj = false;
},
goSubmit(){
console.log(this.circulation);
this.$refs._Form.validate().then(() => {
zjdlyAdd(this.circulation).then(response => {
if(response.code = 200){
this.$toast.success('保存成功');
this.$router.back();
window.location.replace("homesteadUtilize")
}
});
}).catch((e) => {


+ 181
- 18
src/views/onlineHome/homestead/paidExit/paidExitAdd.vue 파일 보기

@@ -12,13 +12,20 @@
</van-nav-bar>
<van-form ref="_Form">
<div class="main_box">
<van-field
<van-field v-model="circulation.sqrxm" label="申请人姓名" placeholder="申请人姓名" input-align="right" label-width="auto" :rules="[{ required: true }]" required/>
<!-- <van-field v-model="circulation.sqrxm" label="申请人姓名" placeholder="申请人姓名" input-align="right" label-width="auto" :rules="[{ required: true }]" required @input="remoteTransfereeMethod" />
<div id="dropList" v-show="showDropList" style="width: 92vw; position: absolute; z-index: 99; left: 50%; margin-left: -46vw; border: 1px solid #E2E0E0;" >
<van-cell id="vanCell" v-for="(item, index) in getObligeeOptions" :key="index" @click="shyqrdmxmChange(item)" style="position: relative; z-index: 999;">
{{item}}
</van-cell>
</div> -->
<!-- <van-field
readonly
clickable
v-model="circulation.zjddm"
label="宅基地代码"
placeholder="请选择"
@click="showzjddm = true"
@click="remoteProposerMethod"
input-align="right"
right-icon="arrow-down" :rules="[{ required: true }]" required
/>
@@ -26,11 +33,20 @@
<van-picker
show-toolbar
:columns="zjdDictionaries"
value-key="zjddm"
@confirm="onConfirmZjddm"
@cancel="showzjddm = false"
/>
</van-popup>
<van-field v-model="circulation.sqrxm" label="申请人姓名" placeholder="申请人姓名" input-align="right" label-width="auto" :rules="[{ required: true }]" required/>
</van-popup> -->
<van-field
v-model="circulation.zjddm"
label="宅基地代码"
input-align="right"
>
<template #button>
<van-button size="small" @click="mapLook" type="primary">选择宅基地</van-button>
</template>
</van-field>
<van-field
readonly
clickable
@@ -75,7 +91,7 @@
/>
</van-popup>

<van-field
<!--<van-field
readonly
clickable
v-model="tclx"
@@ -93,7 +109,16 @@
@confirm="onConfirmTclx"
@cancel="showtclx = false"
/>
</van-popup>
</van-popup>-->

<van-field
readonly
v-model="tclx"
label="退出类型"
input-align="right"
label-width="auto"
required
/>

<van-field
readonly
@@ -114,7 +139,7 @@
@cancel="showtcfs = false"
/>
</van-popup>
<van-field v-model="circulation.tcmj" label="退出面积" placeholder="请输入退出面积㎡" input-align="right" label-width="auto" :rules="[{ required: true }]" required type="number"/>
<van-field v-model="circulation.tcmj" label="退出面积(㎡)" placeholder="请输入退出面积㎡" input-align="right" label-width="auto" :rules="[{ required: true }]" required type="number"/>
<van-field v-model="circulation.tcnx" label="退出年限" placeholder="请输入退出年限" input-align="right" label-width="auto" type="number"/>
</div>

@@ -139,11 +164,14 @@
@cancel="showbcfs = false"
/>
</van-popup>
<van-field v-model="circulation.bcje" label="补偿金额" placeholder="请输入补偿金额 元" input-align="right" label-width="auto" type="number"/>
<van-field v-model="circulation.zhfwmj" label="置换房屋面积" placeholder="请输入房屋面积㎡" input-align="right" label-width="auto" type="number"/>
<van-field v-model="circulation.bcje" label="补偿金额(元)" placeholder="请输入补偿金额 元" input-align="right" label-width="auto" type="number"/>
<van-field v-model="circulation.zhfwmj" label="置换房屋面积(㎡)" placeholder="请输入房屋面积㎡" input-align="right" label-width="auto" type="number"/>
<van-field v-model="circulation.zhfwzl" label="置换房屋坐落" placeholder="请输入房屋坐落" input-align="right" label-width="auto"/>
<van-field v-model="circulation.bz" label="备注" placeholder="请输入内容" input-align="right" label-width="auto"/>

<van-dialog v-model="mapShow" show-cancel-button>
<MapGisObtain ref="zjdProductResh" :shqrxm="circulation.sqrxm" @closeMoule="closeMoule"></MapGisObtain>
</van-dialog>
</div>
</van-form>

@@ -162,11 +190,13 @@
</template>

<script>
import { zjdzd, getByZjddm } from "@/api/onlineHome/homestead/circulation";
import { zjdzd, getByZjddm, getObligeeList, obligeeList, getExitProposerDetail } from "@/api/onlineHome/homestead/circulation";
import { dyAdd, zyyctcApply } from "@/api/onlineHome/homestead/paidExit";
import {Notify} from "vant";
import MapGisObtain from "@/components/Map/MapGisObtain";
export default {
name: "paidExitAdd",
components: { MapGisObtain, },
data() {
return {
tcqllxDictionaries:[],//退出权利类型
@@ -175,9 +205,10 @@ export default {
zjlxDictionaries:[],//申请人证件类型
bcfsDictionaries:[],//补偿方式
zjdDictionaries:[],//宅基地代码
getObligeeOptions:[],//下拉框列表

tcqllx:'',
tclx:'',
tclx:'有偿退出',
tcfs:'',
zjlx:'',
bcfs:'',
@@ -189,8 +220,15 @@ export default {
showzjlx: false,
showbcfs: false,
showzjddm: false,
showDropList: false,//是否显示下拉框

circulation:{}
circulation:{
// 申请类型 1-宅基地退出
sqlx: '1',
// 退出类型 01-有偿退出 02-无偿退出
tclx: '01',
},
mapShow: false,
};
},
created() {
@@ -205,11 +243,11 @@ export default {
}
});
//退出类型
this.houseGetDicts("tclx").then((res) => {
/*this.houseGetDicts("tclx").then((res) => {
for(var i = 0 ; i < res.data.length ; i++){
this.tclxDictionaries.push({text:res.data[i].dictLabel,value:res.data[i].dictValue});
}
});
});*/
//退出方式
this.houseGetDicts("tcfs").then((res) => {
for(var i = 0 ; i < res.data.length ; i++){
@@ -229,15 +267,28 @@ export default {
}
});
//宅基地代码
zjdzd().then(zjdRes => {
/*zjdzd().then(zjdRes => {
for( let i = 0 ; i < zjdRes.rows.length ; i++){
this.zjdDictionaries.push(zjdRes.rows[i].zjddm);
}
if(this.zjdDictionaries.length > 0)
this.onConfirmZjddm(this.zjdDictionaries[0]);
});*/
getExitProposerDetail().then(res => {
if (res.data) {
let data = res.data;
this.$set(this.circulation, 'sqrxm', data.shyqrdbxm);
this.$set(this.circulation, 'sqrzjhm', data.shyqrdbzjhm);
this.$set(this.circulation, 'sqrzjlx', data.shyqrdbzjlx);
if(data.shyqrdbzjlx) {
let val = this.zjlxDictionaries.find((x) => x.value == data.shyqrdbzjlx);
if(val)
this.zjlx = val.text;
}
}
});
},
onConfirmZjddm(data){
/*onConfirmZjddm(data){
console.log(data)
this.circulation.zjddm = data;
this.showzjddm = false;
@@ -255,6 +306,22 @@ export default {
}
this.$forceUpdate();
});
},*/
onConfirmZjddm(data){
console.log(data);
this.showzjddm = false;
if (data) {
this.$set(this.circulation, 'zjddm', data.zjddm);
this.$set(this.circulation, 'sqrzjhm', data.shyqrdbzjhm);
this.$set(this.circulation, 'sqrzjlx', data.shyqrdbzjlx);
if(data.shyqrdbzjlx)
{
let val = this.zjlxDictionaries.find((x) => x.value == data.shyqrdbzjlx);
if(val)
this.zjlx = val.text;
}
}
// this.$forceUpdate();
},
onConfirmZjlx(data){
this.zjlx = data.text;
@@ -266,11 +333,11 @@ export default {
this.circulation.tcqllx = data.value;
this.showtcqllx = false;
},
onConfirmTclx(data){
/*onConfirmTclx(data){
this.tclx = data.text;
this.circulation.tclx = data.value;
this.showtclx = false;
},
},*/
onConfirmTcfs(data){
this.tcfs = data.text;
this.circulation.tcfs = data.value;
@@ -284,6 +351,8 @@ export default {
goSubmit(submit){
console.log(this.circulation);
this.$refs._Form.validate().then(() => {
// 设置初始状态为草稿,0 代表草稿
this.$set(this.circulation, "auditStatus", '0');
dyAdd(this.circulation).then(response => {
if(response.code = 200){
if(submit)
@@ -306,6 +375,83 @@ export default {
back() {
setTimeout(() => this.$router.back(-1), 1000)
},
remoteProposerMethod() {
this.showzjddm = true;
this.zjdDictionaries = [];
if (this.circulation.sqrxm) {
getObligeeList({shyqrdbxm:this.circulation.sqrxm}).then(response => {
this.zjdDictionaries = response.data.map(item => {
return {
zjddm: item.zjddm,
shyqrdbxm: item.shyqrdbxm,
shyqrdbzjlx: item.shyqrdbzjlx,
shyqrdbzjhm: item.shyqrdbzjhm
}
});
});
} else {
this.zjdDictionaries = [];
}
},
/** 模糊查询人员信息 */
remoteTransfereeMethod(query) {
if (query !== "") {
obligeeList({shyqrdbxm:query,status:1}).then((response) => {
if (response.code == 200) {
this.getObligeeOptions = response.rows.map(item => item.shyqrdbxm);
//设置模糊查询的下拉框和滚动条
if (this.getObligeeOptions.length > 0) {
this.showDropList = true; // div显示会阻挡下边的选择框和输入框,showDropList控制下拉框是否显示
//设置模糊查询的和滚动条
this.$nextTick(() => {
if (this.getObligeeOptions.length > 4) {
let height = document.getElementById("vanCell").offsetHeight * 4;
document.getElementById("dropList").style.height = height + "px";
document.getElementById("dropList").style.overflow = "scroll";
} else {
document.getElementById("dropList").style.height = "";
document.getElementById("dropList").style.overflow = "visible";
}
});
} else {
this.showDropList = false;
}
}
});
} else {
this.getObligeeOptions = [];
this.showDropList = false;
}
},
shyqrdmxmChange(val){
this.$set(this.circulation, "sqrxm", val);
this.getObligeeOptions=[];
this.showDropList = false;
},
mapLook(){
this.mapShow = true;
setTimeout(() => {
this.$refs.zjdProductResh.drawingLyPaceCountryDarw();
},1000);
},
/** 查找地图中宅基地 */
closeMoule: function (data) {
this.circulation.zjddm = data;
/*getByZjddm({zjddm: data,}).then(qlrRes => {
let data = qlrRes.data;
if (data) {
this.$set(this.circulation, 'sqrzjhm', data.shyqrdbzjhm);
this.$set(this.circulation, 'sqrzjlx', data.shyqrdbzjlx);
if(data.shyqrdbzjlx)
{
let val = this.zjlxDictionaries.find((x) => x.value == data.shyqrdbzjlx);
if(val)
this.zjlx = val.text;
}
}
// this.$forceUpdate();
});*/
},
},
}
</script>
@@ -334,4 +480,21 @@ export default {
background-color: #1D6FE9;

}
/*#dropList::-webkit-scrollbar {*/
/* !*滚动条整体样式*!*/
/* width: 5px; !*高宽分别对应横竖滚动条的尺寸*!*/
/* height: 1px;*/
/*}*/
/*#dropList::-webkit-scrollbar-thumb {*/
/* !*滚动条里面小方块*!*/
/* border-radius: 10px;*/
/* background: #fff;*/
/* box-shadow: inset 0 0 5px rgb(0, 122, 204);*/
/*}*/
/*#dropList::-webkit-scrollbar-track {*/
/* border-radius: 10px;*/
/* background: #fff;*/
/* !*滚动条里面轨道*!*/
/* box-shadow: inset 0 0 5px rgba( 0, 0, 0, .1);*/
/*}*/
</style>

+ 49
- 5
src/views/onlineHome/homestead/paidExit/paidExitDetail.vue 파일 보기

@@ -50,7 +50,7 @@
input-align="right"
label-width="auto"
/>
<van-field readonly v-model="circulation.tcmj+'㎡'" label="退出面积" input-align="right" label-width="auto"/>
<van-field readonly v-model="circulation.tcmj" label="退出面积(㎡)" input-align="right" label-width="auto"/>
<van-field readonly v-model="circulation.tcnx" label="退出年限" input-align="right" label-width="auto"/>
</div>

@@ -63,8 +63,8 @@
label-width="auto"
input-align="right"
/>
<van-field readonly v-model="circulation.bcje+'元'" label="补偿金额" input-align="right" label-width="auto"/>
<van-field readonly v-model="circulation.zhfwmj+'㎡'" label="置换房屋面积" input-align="right" label-width="auto"/>
<van-field readonly v-model="circulation.bcje" label="补偿金额(元)" input-align="right" label-width="auto"/>
<van-field readonly v-model="circulation.zhfwmj" label="置换房屋面积(㎡)" input-align="right" label-width="auto"/>
<van-field readonly v-model="circulation.zhfwzl" label="置换房屋坐落" input-align="right" label-width="auto"/>
<van-field readonly v-model="circulation.bz" label="备注" input-align="right" label-width="auto"/>
</div>
@@ -160,7 +160,7 @@ export default {
this.notify("请填写审批意见", 'danger');
return false;
}
let data = {
/*let data = {
taskId: this.approval.taskId,
instanceId: this.approval.instanceId,
variables: JSON.stringify({
@@ -177,7 +177,51 @@ export default {
this.$router.back();
}).catch(e => {
this.notify("操作失败!", 'danger');
});
});*/
if (pass) {
let data = {
taskId: this.approval.taskId,
instanceId: this.approval.instanceId,
variables: JSON.stringify({
pass: "true",
comment: this.approval.comment ? this.approval.comment : "同意",
}),
};
request({
url: "/activiti/process/complete",
method: "post",
params: data,
}).then((response) => {
this.notify("操作成功", 'success');
this.$router.back();
}).catch(e => {
this.notify("操作失败!", 'danger');
});
} else {
let _this = this;
_this.$dialog.confirm({
message: '是否确认驳回此条申请',
}).then(() => {
let data = {
taskId: _this.approval.taskId,
instanceId: _this.approval.instanceId,
variables: JSON.stringify({
pass: "false",
comment: _this.approval.comment ? _this.approval.comment : "驳回",
}),
};
request({
url: "/activiti/process/complete",
method: "post",
params: data,
}).then((response) => {
_this.notify("操作成功", 'success');
_this.$router.back();
}).catch(e => {
_this.notify("操作失败!", 'danger');
});
});
}
return true;
},
notify(message, type) {


+ 21
- 5
src/views/onlineHome/homestead/paidExit/paidExitList.vue 파일 보기

@@ -35,7 +35,7 @@
<van-button square text="修改" v-if="item.auditStatus=='草稿'" :to="{name:'paidExitModify', query: {id:item.id}}" type="info" class="delete-button" />
</van-col>
<van-col>
<van-button square text="提交" type="primary" v-if="item.auditStatus=='草稿' || item.auditStatus=='2'" class="delete-button" @click="goSubmit(item)" />
<van-button square text="提交" type="primary" v-if="item.auditStatus=='草稿'" class="delete-button" @click="goSubmit(item)" />
</van-col>
<van-col>
<van-button square text="删除" v-if="item.auditStatus=='草稿'" @click="deleteList(item.id,index)" type="danger" class="delete-button" />
@@ -65,7 +65,11 @@ export default {
pageNum:1,
pageSize:10,
orderByColumn:'createTime',
isAsc:'desc'
isAsc:'desc',
// 申请类型 1-宅基地退出
sqlx: '1',
// 退出类型 01-有偿退出 02-无偿退出
tclx: '01',
}
};
},
@@ -79,8 +83,17 @@ export default {
this.houseGetDicts("tcfs").then((res) => {
this.tcfsStatus = res.data;
});
this.houseGetDicts("audit_status").then((res) => {
this.auditStatus = res.data;
this.houseGetDicts("yctcsp_status").then((res) => {
// this.auditStatus = res.data;
let _this = this;
res.data.forEach((item) => {
if (item.dictValue < 5) {
_this.auditStatus.push(item);
} else if (item.dictValue == 5) {
item.dictLabel = "审核通过";
_this.auditStatus.push(item);
}
});
});
},
methods: {
@@ -110,7 +123,7 @@ export default {
},
deleteList(id,index){
this.$dialog.confirm({
message: '您确认删除申请草稿?',
message: '您确认删除申请草稿?',
})
.then(() => {
// on confirm
@@ -155,6 +168,9 @@ export default {
flex: 0.3;
color: #1D6FE9;
font-weight: bold;
text-align: center;
position: relative;
left: 20px;
}
/deep/.van-swipe-cell{
margin-bottom: 0.2rem;


+ 29
- 18
src/views/onlineHome/homestead/paidExit/paidExitModify.vue 파일 보기

@@ -7,7 +7,7 @@
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">添加有偿退出</p>
<p style="font-weight: bold;">修改有偿退出</p>
</template>
</van-nav-bar>
<van-form ref="_Form">
@@ -75,7 +75,7 @@
/>
</van-popup>

<van-field
<!--<van-field
readonly
clickable
v-model="tclx"
@@ -93,7 +93,16 @@
@confirm="onConfirmTclx"
@cancel="showtclx = false"
/>
</van-popup>
</van-popup>-->
<van-field
readonly
v-model="tclx"
label="退出类型"
input-align="right"
label-width="auto"
required
/>


<van-field
readonly
@@ -114,7 +123,7 @@
@cancel="showtcfs = false"
/>
</van-popup>
<van-field v-model="circulation.tcmj" label="退出面积" placeholder="请输入退出面积㎡" input-align="right" label-width="auto" :rules="[{ required: true }]" required type="number"/>
<van-field v-model="circulation.tcmj" label="退出面积(㎡)" placeholder="请输入退出面积㎡" input-align="right" label-width="auto" :rules="[{ required: true }]" required type="number"/>
<van-field v-model="circulation.tcnx" label="退出年限" placeholder="请输入退出年限" input-align="right" label-width="auto" type="number"/>
</div>

@@ -139,8 +148,8 @@
@cancel="showbcfs = false"
/>
</van-popup>
<van-field v-model="circulation.bcje" label="补偿金额" placeholder="请输入补偿金额 元" input-align="right" label-width="auto" type="number"/>
<van-field v-model="circulation.zhfwmj" label="置换房屋面积" placeholder="请输入房屋面积㎡" input-align="right" label-width="auto" type="number"/>
<van-field v-model="circulation.bcje" label="补偿金额(元)" placeholder="请输入补偿金额 元" input-align="right" label-width="auto" type="number"/>
<van-field v-model="circulation.zhfwmj" label="置换房屋面积(㎡)" placeholder="请输入房屋面积㎡" input-align="right" label-width="auto" type="number"/>
<van-field v-model="circulation.zhfwzl" label="置换房屋坐落" placeholder="请输入房屋坐落" input-align="right" label-width="auto"/>
<van-field v-model="circulation.bz" label="备注" placeholder="请输入内容" input-align="right" label-width="auto"/>

@@ -208,9 +217,9 @@
});
//退出类型
this.houseGetDicts("tclx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
/*for (var i = 0; i < res.data.length; i++) {
this.tclxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
}*/
this.tclx = this.selectDictLabel(res.data, response.data.tclx);
});
//退出方式
@@ -272,11 +281,11 @@
this.circulation.tcqllx = data.value;
this.showtcqllx = false;
},
onConfirmTclx(data){
/*onConfirmTclx(data){
this.tclx = data.text;
this.circulation.tclx = data.value;
this.showtclx = false;
},
},*/
onConfirmTcfs(data){
this.tcfs = data.text;
this.circulation.tcfs = data.value;
@@ -302,14 +311,16 @@
},
goSubmit(){
this.$refs._Form.validate().then(() => {
zyyctcApply(this.$route.query.id).then(response => {
if(response.code = 200){
this.$toast.success('提交成功');
setTimeout(function(){
window.location.replace("paidExit")
},1000)
}
})
zyyctcEdit(this.circulation).then(response => {
zyyctcApply(this.$route.query.id).then(response => {
if(response.code = 200){
this.$toast.success('提交成功');
setTimeout(function(){
window.location.replace("paidExit")
},1000)
}
});
});
}).catch((e) => {
Notify({ type: 'danger', message: '请填写完整的表单项' });
});


+ 479
- 0
src/views/onlineHome/phfs/czjy/czjyAdd.vue 파일 보기

@@ -0,0 +1,479 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">添加出租经营</p>
</template>
</van-nav-bar>
<van-form ref="_Form">
<div class="main_box">

<van-field
v-model="circulation.zcfmc"
label="申请人姓名"
placeholder="请输入申请人姓名"
@input="remoteTransfereeMethod"
:rules="[{ required: true }]" required
/>


<van-cell v-for="item in getObligeeOptions"
:key="item.shyqrdbxm"
@click="shyqrdmxmChange(item)"
>
{{item.shyqrdbxm}}
</van-cell>

<van-popup v-model="showshyqrdm" position="bottom">
<van-picker
show-toolbar
:columns="shyqrdmDictionaries"
@confirm="onConfirmShyqrdm"
@cancel="showshyqrdm = false"
/>
</van-popup>
<van-field
readonly
v-model="circulation.zjddm"
label="宅基地代码"
input-align="right"
>
<template #button>
<van-button size="small" @click="mapLook" type="primary">选择宅基地</van-button>
</template>
</van-field>
<van-popup v-model="showzjddm" position="bottom" >
<van-picker
show-toolbar
:columns="zjdDictionaries"
@confirm="onConfirmZjddm"
@cancel="showzjddm = false"
/>
</van-popup>
<van-field
disabled
v-model="xb"
label="性别"
input-align="right"
label-width="auto"
/>
<van-field v-model="circulation.zcfdh" label="联系电话" placeholder="请输入联系电话" input-align="right" label-width="auto" :rules="[{pattern: /(^\d{7}(\d{4})?$)/}]" required/>
<van-field disabled v-model="circulation.zcfzjhm" label="证件号码" placeholder="证件号码" input-align="right" label-width="auto" />
<van-cell title="是否本集体经济组织成员" >
<template #right-icon>
<van-radio-group v-model="circulation.zcfzz" direction="horizontal" >
<van-radio name="1">是</van-radio>
<van-radio name="0">否</van-radio>
</van-radio-group>
</template>
</van-cell>
<van-field
v-model ="circulation.zjdmj"
type = "number"
@keyup = "circulation.zjdmj=circulation.zjdmj.replace(circulation.zjdmj,RestrictedMoney(circulation.zjdmj))"
label="经营面积(㎡)"
input-align="right"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-field
readonly
clickable
name="picker"
v-model="circulation.phtime"
label="合同签订日期"
placeholder="选择合同签订日期"
@click="showbasj = true"
input-align="right"
right-icon="arrow-down"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-popup v-model="showbasj" position="bottom">
<van-datetime-picker
:value="new Date"
type="date"
title="选择年月日"
@confirm="onConfirmBasj"
@cancel="showbasj = false"
/>
</van-popup>
<van-field
readonly
clickable
name="picker"
v-model="circulation.qsrq"
label="出租开始时间"
placeholder="选择出租开始时间"
@click="showqsrq = true"
input-align="right"
right-icon="arrow-down"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-popup v-model="showqsrq" position="bottom">
<van-datetime-picker
:value="new Date"
type="date"
title="选择年月日"
@confirm="onConfirmQsrq"
@cancel="showqsrq = false"
/>
</van-popup>
<van-field
readonly
clickable
name="picker"
v-model="circulation.jsrq"
label="出租结束时间"
placeholder="选择出租结束时间"
@click="showjsrq = true"
input-align="right"
right-icon="arrow-down"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-popup v-model="showjsrq" position="bottom">
<van-datetime-picker
:value="new Date"
type="date"
title="选择年月日"
@confirm="onConfirmJsrq"
@cancel="showjsrq = false"
/>
</van-popup>
<van-field v-model="circulation.fwms" type="textarea" label="地上房屋描述" placeholder="请输入地上房屋描述" input-align="right" label-width="auto" />
<van-field v-model="circulation.bz" type="textarea" label="备注" placeholder="请输入备注" input-align="right" label-width="auto" />

<van-field v-model="circulation.zrfmc" label="经营方姓名" placeholder="请输入经营方姓名" input-align="right" label-width="auto" :rules="[{ required: true }]" required />
<van-field v-model="circulation.zrfzjhm" label="经营方证件号" placeholder="请输入经营方证件号" input-align="right" label-width="auto" :rules="[{ required: true }]" required/>
<van-field v-model="circulation.zrfdh" label="经营方电话" placeholder="请输入经营方电话" input-align="right" label-width="auto" :rules="[{pattern: /(^\d{7}(\d{4})?$)/}]" required/>
<van-dialog v-model:show="mapShow" show-cancel-button>
<MapGisObtain ref="zjdProductResh" :shqrxm="circulation.zcfmc" @closeMoule="closeMoule"></MapGisObtain>
</van-dialog>

</div>
</van-form>

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

<script>
import { zjdzd, obligeeList } from "@/api/onlineHome/homestead/circulation";
import { addPhxxb,updatePhxxb,queryGeoZjdzd } from "@/api/onlineHome/phfs/phfs";
import { ycsyAdd , listByDeptId } from "@/api/onlineHome/homestead/paidUtilize";
import MapGisObtain from "@/components/Map/MapGisObtain";
import {Notify} from "vant";
export default {
name: "czjyAdd",
components: { MapGisObtain,},
props: {
columns: {
type: Array,
default: function () {
return []
}
},
selectValue: {
type: [String, Number],
default: ''
},
option: {
type: Object,
default: function () {
return { label: 'label', value: 'value' }
}
},
isSearch: {
type: Boolean,
default: false
},
offOption: { // 关闭option配置key-value;当数据是非集合的数组的时候,开启
type: Boolean,
default: false
}
},
data() {
return {
tcqllxDictionaries:[],//退出权利类型
tclxDictionaries:[],//退出类型
tcfsDictionaries:[],//退出方式
sexDictionaries:[],//申请人证件类型
bcfsDictionaries:[],//补偿方式
zjdDictionaries:[],//宅基地代码
shyqrdmDictionaries:[],//使用权人
getObligeeOptions:[],

tcqllx:'',
tclx:'',
tcfs:'',
xb:'',
bcfs:'',
zjddm:'',
showzcfmc:false,
showtcqllx: false,
showtclx: false,
showtcfs: false,
showXb: false,
showbcfs: false,
showzjddm: false,
showshyqrdm: false,
showbasj: false,
showqsrq: false,
showjsrq: false,
showycsydqsj: false,
columnsData: [],
circulation:{phfs:"02"},
mapShow: false,
};
},
created() {
this.getDictionaries();
},
methods: {
getDictionaries(){
//退出权利类型
this.houseGetDicts("tcqllx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcqllxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出类型
this.houseGetDicts("tclx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tclxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出方式
this.houseGetDicts("tcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//性别
this.houseGetDicts("sex").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.sexDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//补偿方式
this.houseGetDicts("bcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.bcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//宅基地代码
zjdzd().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.zjdDictionaries.push(zjdRes.rows[i].zjddm);
}
});
//使用权人代码
listByDeptId().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.shyqrdmDictionaries.push(zjdRes.rows[i].shyqrdm);
}
});
},
plusOrMinus(values) {
let newValue
if (!(/[^0-9.-]/g.test(values))) {
newValue = values.replace(/[^\-\d.]/g, '').replace(/\b(0+){2,}/g, '0').replace(/\-{2,}/g, '-').replace(/^\./g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.')
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[1].length) > 2) {
newValue = parseInt(parseFloat(newValue) * 100) / 100
}
if ((newValue.toString().split('-').length - 1) > 1) {
newValue = parseFloat(newValue) || ''
}
if ((newValue.toString().split('-').length) > 1 && newValue.toString().split('-')[0].length > 0) {
newValue = parseFloat(newValue) || ''
}
if (newValue.toString().length > 1 && (newValue.toString().charAt(0) === '0' || (newValue.toString().length > 2 && newValue.toString().charAt(0) === '-' && newValue.toString().charAt(1) === '0' && newValue.toString().charAt(2) !== '.')) && newValue.toString().indexOf('.') < 1) {
newValue = parseFloat(newValue) || ''
}
// 判断整数位最多为9位
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9) + '.' + newValue.toString().split('.')[1]
} else if (newValue.toString().indexOf('.') < 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9)
}
} else {
newValue = values.replace(/[^0-9.-]/g, '')
}
return newValue
}, materielExtraCostChange(item) {
// 防止删除为空
if (!item) {
item = '0.00'
}
// 一些错误金额输入的判断
if (item.toString().indexOf('.') > 0 && Number(item.toString().split('.')[1].length) < 1) {
item = item.toString().split('.')[0]
}
// 一些错误金额输入的判断
if (!item || item === '-' || item === '-0') {
item = '0.00'
return
}
item = parseFloat(item).toFixed(2)
},RestrictedMoney(values) {
return this.plusOrMinus(values.toString())
},
onConfirmXb(data){
this.xb = data.text;
this.circulation.zcfxb = data.value;
this.showXb = false;
},
onConfirmZjddm(data){
this.circulation.zjddm = data;
this.showzjddm = false;
},
onConfirmShyqrdm(data){
this.circulation.shyqrdm = data;
this.showshyqrdm = false;
},
onConfirmBasj(data){
this.circulation.phtime = this.getNowFormatDate(data).substr(0,10);
this.showbasj = false;
},
onConfirmQsrq(data){
this.circulation.qsrq = this.getNowFormatDate(data).substr(0,10);
this.showqsrq = false;
},
onConfirmJsrq(data){
this.circulation.jsrq = this.getNowFormatDate(data).substr(0,10);
this.showjsrq = false;
},
goEdit(){
window.location.replace("paidUtilizeList")
},
mapLook(){
this.mapShow =true;
setTimeout(() => {
this.$refs.zjdProductResh.drawingLyPaceCountryDarw();
},1000)
},
/** 查找地图中宅基地 */
closeMoule: function (data) {
this.circulation.zjddm = data;
queryGeoZjdzd({zjddm:data}).then(zjdxxRes => {
if(zjdxxRes.data != null){
this.$set(this.circulation, "zjdmj", zjdxxRes.data.zdmj);
}
});
},
/** 模糊查询人员信息 */
remoteTransfereeMethod(query) {
let _this = this;
if (query !== "") {
let queryMember = {
hzxm : query,
};
this.searchLoading = true;
obligeeList({shyqrdbxm:query,status:2}).then((response) => {
this.searchLoading = false;
if (response.code == 200) {
this.getObligeeOptions = response.rows.map((item) => {
// _this.$set(_this.form, "zcfxb", item.xb);
// _this.$set(_this.form, "zcfdh", item.dh);
// _this.$set(_this.form, "zcfzjhm", item.shyqrdbzjhm);
// _this.$set(_this.form, "zcfdm", item.nhdm);
return {
zcfxb:item.xb,
zcfdh:item.dh,
zcfzjhm:item.shyqrdbzjhm,
zcfdm:item.nhdm,
shyqrdbxm: item.shyqrdbxm,
shyqrdm: item.shyqrdm,
zcfzz: item.sfbncjtjjzzcy
};
});
}
});
} else {
this.getObligeeOptions = [];
}
},
clearFrom() {
// this.initData();
this.getObligeeOptions = [];
},
shyqrdmxmChange(val){
let _this = this;
this.sexDictionaries.map(function (item) {
if(item.value === val.zcfxb){
_this.xb = item.text;
}
})
this.$set(this.circulation, "zcfxb", val.zcfxb);
this.$set(this.circulation, "zcfdh", val.zcfdh);
this.$set(this.circulation, "zcfzjhm", val.zcfzjhm);
this.$set(this.circulation, "zcfdm", val.zcfdm);
this.$set(this.circulation, "zcfmc", val.shyqrdbxm);
this.$set(this.circulation, "zcfzz", val.zcfzz);
this.getObligeeOptions=[];
},
goSubmit(){
console.info( this.$refs._Form.validate());
this.$refs._Form.validate().then(() => {
if (this.circulation.id != null) {
updatePhxxb(this.circulation).then(response => {
this.$toast.success("修改成功");
setTimeout(function(){
window.location.replace("czjyList")
},1000)
});
} else {
addPhxxb(this.circulation).then(response => {
this.$toast.success("新增成功");
setTimeout(function(){
window.location.replace("czjyList")
},1000)
});
}
}).catch((e) => {
Notify({ type: 'danger', message: '请填写完整的表单项' });
});
}
},
}
</script>

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

}

</style>

+ 450
- 0
src/views/onlineHome/phfs/czjy/czjyDetails.vue 파일 보기

@@ -0,0 +1,450 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">出租经营</p>
</template>
</van-nav-bar>
<van-form ref="_Form">
<div class="main_box">

<van-field
readonly
v-model="circulation.zcfmc"
label="申请人姓名"
placeholder="请输入申请人姓名"
@input="remoteTransfereeMethod"
/>


<van-cell v-for="item in getObligeeOptions"
:key="item.shyqrdbxm"
@click="shyqrdmxmChange(item)"
>
{{item.shyqrdbxm}}
</van-cell>

<van-popup v-model="showshyqrdm" position="bottom">
<van-picker
show-toolbar
:columns="shyqrdmDictionaries"
@confirm="onConfirmShyqrdm"
@cancel="showshyqrdm = false"
/>
</van-popup>
<van-field
readonly
v-model="circulation.zjddm"
label="宅基地代码"
input-align="right"
>
<template #button>
<van-button size="small" @click="mapLook" type="primary">查看地图</van-button>
</template>
</van-field>
<van-popup v-model="showzjddm" position="bottom" >
<van-picker
show-toolbar
:columns="zjdDictionaries"
@confirm="onConfirmZjddm"
@cancel="showzjddm = false"
/>
</van-popup>
<van-field
readonly
v-model="circulation.zcfxb"
label="性别"
input-align="right"
label-width="auto"
/>
<van-field readonly v-model="circulation.zcfdh" label="联系电话" placeholder="请输入联系电话" input-align="right" label-width="auto" />
<van-field readonly v-model="circulation.zcfzjhm" label="证件号码" placeholder="证件号码" input-align="right" label-width="auto" />
<van-cell title="是否本集体经济组织成员" >
<template #right-icon>
<van-radio-group disabled v-model="circulation.zcfzz" direction="horizontal" >
<van-radio name="1">是</van-radio>
<van-radio name="0">否</van-radio>
</van-radio-group>
</template>
</van-cell>

<van-field
readonly
v-model ="circulation.zjdmj"
type = "number"
@keyup = "circulation.zjdmj=circulation.zjdmj.replace(circulation.zjdmj,RestrictedMoney(circulation.zjdmj))"
label="经营面积(㎡)"
input-align="right"
label-width="auto"
/>
<van-field
readonly
v-model="circulation.phtime"
label="合同签订日期"
placeholder="选择合同签订日期"
input-align="right"
label-width="auto"
/>
<van-field
readonly
v-model="circulation.qsrq"
label="出租开始时间"
placeholder="选择出租开始时间"
input-align="right"
label-width="auto"
/>
<van-field
readonly
v-model="circulation.jsrq"
label="出租结束时间"
placeholder="选择出租结束时间"
input-align="right"
label-width="auto"
/>
<van-field readonly v-model="circulation.fwms" type="textarea" label="地上房屋描述" placeholder="请输入地上房屋描述" input-align="right" label-width="auto" />
<van-field readonly v-model="circulation.bz" type="textarea" label="备注" placeholder="请输入备注" input-align="right" label-width="auto" />
<van-field readonly v-model="circulation.zrfmc" label="经营方姓名" placeholder="请输入经营方姓名" input-align="right" label-width="auto" :rules="[{ required: true }]" required />
<van-field readonly v-model="circulation.zrfzjhm" label="证件号码" placeholder="请输入证件号码" input-align="right" label-width="auto" :rules="[{ required: true }]" required/>
<van-field readonly v-model="circulation.zrfdh" label="经营方电话" placeholder="请输入经营方电话" input-align="right" label-width="auto" :rules="[{ required: true }]" required/>

<van-dialog v-model:show="mapShow" show-cancel-button>
<MapGisLyDrawing ref="zjdProductResh" :message="circulation.zjddm" @closeMoule="closeMoule"></MapGisLyDrawing>
</van-dialog>

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

<script>
import { zjdzd, obligeeList } from "@/api/onlineHome/homestead/circulation";
import { addPhxxb,updatePhxxb,getPhxxb } from "@/api/onlineHome/phfs/phfs";
import { ycsyAdd , listByDeptId } from "@/api/onlineHome/homestead/paidUtilize";
import MapGisLyDrawing from "@/components/Map/MapGisLyDrawing";
import {Notify} from "vant";
export default {
name: "paidUtilizeAdd",
components: { MapGisLyDrawing,},
props: {
columns: {
type: Array,
default: function () {
return []
}
},
selectValue: {
type: [String, Number],
default: ''
},
option: {
type: Object,
default: function () {
return { label: 'label', value: 'value' }
}
},
isSearch: {
type: Boolean,
default: false
},
offOption: { // 关闭option配置key-value;当数据是非集合的数组的时候,开启
type: Boolean,
default: false
}
},
data() {
return {
tcqllxDictionaries:[],//退出权利类型
tclxDictionaries:[],//退出类型
tcfsDictionaries:[],//退出方式
sexDictionaries:[],//申请人证件类型
bcfsDictionaries:[],//补偿方式
zjdDictionaries:[],//宅基地代码
shyqrdmDictionaries:[],//使用权人
getObligeeOptions:[],

tcqllx:'',
tclx:'',
tcfs:'',
xb:'',
bcfs:'',
zjddm:'',
showzcfmc:false,
showtcqllx: false,
showtclx: false,
showtcfs: false,
showXb: false,
showbcfs: false,
showzjddm: false,
showshyqrdm: false,
showbasj: false,
showycsydqsj: false,
columnsData: [],
circulation:{id: null},
mapShow: false,
};
},
created() {
this.circulation.id = this.$route.query.id;
this.getDetail();
},
methods: {
getDictionaries(){
//退出权利类型
this.houseGetDicts("tcqllx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcqllxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出类型
this.houseGetDicts("tclx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tclxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出方式
this.houseGetDicts("tcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//性别
this.houseGetDicts("sex").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.sexDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//补偿方式
this.houseGetDicts("bcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.bcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//宅基地代码
zjdzd().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.zjdDictionaries.push(zjdRes.rows[i].zjddm);
}
});
//使用权人代码
listByDeptId().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.shyqrdmDictionaries.push(zjdRes.rows[i].shyqrdm);
}
});
},
getDetail()
{
getPhxxb(this.$route.query.id).then(response => {
this.circulation = response.data;
//性别
this.houseGetDicts("sex").then((res) => {
this.circulation.zcfxb = this.selectDictLabel(res.data, response.data.zcfxb);
});
});
},
plusOrMinus(values) {
let newValue
if (!(/[^0-9.-]/g.test(values))) {
newValue = values.replace(/[^\-\d.]/g, '').replace(/\b(0+){2,}/g, '0').replace(/\-{2,}/g, '-').replace(/^\./g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.')
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[1].length) > 2) {
newValue = parseInt(parseFloat(newValue) * 100) / 100
}
if ((newValue.toString().split('-').length - 1) > 1) {
newValue = parseFloat(newValue) || ''
}
if ((newValue.toString().split('-').length) > 1 && newValue.toString().split('-')[0].length > 0) {
newValue = parseFloat(newValue) || ''
}
if (newValue.toString().length > 1 && (newValue.toString().charAt(0) === '0' || (newValue.toString().length > 2 && newValue.toString().charAt(0) === '-' && newValue.toString().charAt(1) === '0' && newValue.toString().charAt(2) !== '.')) && newValue.toString().indexOf('.') < 1) {
newValue = parseFloat(newValue) || ''
}
// 判断整数位最多为9位
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9) + '.' + newValue.toString().split('.')[1]
} else if (newValue.toString().indexOf('.') < 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9)
}
} else {
newValue = values.replace(/[^0-9.-]/g, '')
}
return newValue
}, materielExtraCostChange(item) {
// 防止删除为空
if (!item) {
item = '0.00'
}
// 一些错误金额输入的判断
if (item.toString().indexOf('.') > 0 && Number(item.toString().split('.')[1].length) < 1) {
item = item.toString().split('.')[0]
}
// 一些错误金额输入的判断
if (!item || item === '-' || item === '-0') {
item = '0.00'
return
}
item = parseFloat(item).toFixed(2)
},RestrictedMoney(values) {
return this.plusOrMinus(values.toString())
},
onConfirmZjddm(data){
console.log(data)
this.circulation.zjddm = data;
this.showzjddm = false;
},
onConfirmXb(data){
this.xb = data.text;
this.circulation.zcfxb = data.value;
this.showXb = false;
},
onConfirmTcqllx(data){
this.tcqllx = data.text;
this.circulation.tcqllx = data.value;
this.showtcqllx = false;
},
onConfirmTclx(data){
this.tclx = data.text;
this.circulation.tclx = data.value;
this.showtclx = false;
},
onConfirmTcfs(data){
this.tcfs = data.text;
this.circulation.tcfs = data.value;
this.showtcfs = false;
},
onConfirmBcfs(data){
this.bcfs = data.text;
this.circulation.bcfs = data.value;
this.showbcfs = false;
},
onConfirmShyqrdm(data){
this.circulation.shyqrdm = data;
this.showshyqrdm = false;
},
onConfirmBasj(data){
this.circulation.phtime = this.getNowFormatDate(data).substr(0,10);
this.showbasj = false;
},
onConfirmYcsydqsj(data){
this.circulation.ycsydqsj = this.getNowFormatDate(data).substr(0,10);
this.showycsydqsj = false;
},
goEdit(){
window.location.replace("paidUtilizeList")
},
mapLook(){
this.mapShow =true;
setTimeout(() => {
this.$refs.zjdProductResh.drawingLyPaceCountryDarw();
},1000)
},
/** 查找地图中宅基地 */
closeMoule: function (data) {
this.circulation.zjddm = data;
},
/** 模糊查询人员信息 */
remoteTransfereeMethod(query) {
let _this = this;
if (query !== "") {
let queryMember = {
hzxm : query,
};
this.searchLoading = true;
obligeeList({shyqrdbxm:query,status:2}).then((response) => {
this.searchLoading = false;
if (response.code == 200) {
this.getObligeeOptions = response.rows.map((item) => {
// _this.$set(_this.form, "zcfxb", item.xb);
// _this.$set(_this.form, "zcfdh", item.dh);
// _this.$set(_this.form, "zcfzjhm", item.shyqrdbzjhm);
// _this.$set(_this.form, "zcfdm", item.nhdm);
return {
zcfxb:item.xb,
zcfdh:item.dh,
zcfzjhm:item.shyqrdbzjhm,
zcfdm:item.nhdm,
shyqrdbxm: item.shyqrdbxm,
shyqrdm: item.shyqrdm,
zcfzz: item.sfbncjtjjzzcy
};
});
}
});
} else {
this.getObligeeOptions = [];
}
},
clearFrom() {
// this.initData();
this.getObligeeOptions = [];
},
shyqrdmxmChange(val){
let _this = this;
this.sexDictionaries.map(function (item) {
if(item.value === val.zcfxb){
_this.xb = item.text;
}
})
this.$set(this.circulation, "zcfdh", val.zcfdh);
this.$set(this.circulation, "zcfzjhm", val.zcfzjhm);
this.$set(this.circulation, "zcfdm", val.zcfdm);
this.$set(this.circulation, "zcfmc", val.shyqrdbxm);
this.$set(this.circulation, "zcfzz", val.zcfzz);
this.getObligeeOptions=[];
},
goSubmit(){
console.info( this.$refs._Form.validate());
this.$refs._Form.validate().then(() => {
if (this.circulation.id != null) {
updatePhxxb(this.circulation).then(response => {
this.$toast.success("修改成功");
setTimeout(function(){
window.location.replace("zzjyList")
},1000)
});
} else {
addPhxxb(this.circulation).then(response => {
this.$toast.success("新增成功");
setTimeout(function(){
window.location.replace("zzjyList")
},1000)
});
}
}).catch((e) => {
Notify({ type: 'danger', message: '请填写完整的表单项' });
});
}
},
}
</script>

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

}

</style>

+ 160
- 0
src/views/onlineHome/phfs/czjy/czjyList.vue 파일 보기

@@ -0,0 +1,160 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
@click-right="goAdd"
>
<template #title>
<p style="font-weight: bold;">出租经营</p>
</template>
<template #right>
<van-icon name="add" size="18" />
</template>
</van-nav-bar>
<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<van-swipe-cell v-for="(item,index) in applicationList" :key="index">
<van-cell :title="item.zjddm" center :to="{name:'czjyDetails', query: {id:item.id}}" >
<template #icon>
<div class="icon" style="background:#FFA63E;width: 45px;">
<van-icon name="../../../../static/images/onlineHome/icon_czjy.png" size="30" color="#666666" style="margin-left: 3px;margin-top: 3px;" />
</div>
</template>
<template #label>
<p>{{item.zcfmc}}{{item.zcfdh}}</p>
</template>
</van-cell>
<template #right>
<van-row>
<van-col>
<van-button square text="修改" :to="{name:'czjyModify', query: {id:item.id}}" type="info" class="delete-button" />
</van-col>
<van-col>
<van-button square text="删除" @click="deleteList(item.id,index)" type="danger" class="delete-button" />
</van-col>
</van-row>
</template>

</van-swipe-cell>
</van-list>
</div>
</template>

<script>
import { getList,delPhxxb } from "@/api/onlineHome/phfs/phfs";
import {getGeoServerConfigKey} from "@/api/system/config";
export default {
name: "paidUtilizeList",
data() {
return {
applicationList:[],
houseApplyStatus:[],
sexStatus:[],
tclxStatus:[],
tcfsStatus:[],
auditStatus:[],
loading: false,
finished: false,
queryParams:{
pageNum:1,
pageSize:10,
phfs:"02",
orderByColumn:'id',
isAsc:'desc'
},
//地图服务地址
mapGeoServerUrl:"",
};
},
created() {
this.houseGetDicts("sex").then((res) => {
this.sexStatus = res.data;
});

},
methods: {
goAdd(){
window.location = 'czjyAdd';
},
getList(){
setTimeout(() => {
getList(this.queryParams).then(response => {
for (var i = 0; i < response.rows.length; i++) {
response.rows[i].zcfxb = this.selectDictLabel(this.sexStatus, response.rows[i].zcfxb)
this.applicationList.push(response.rows[i]);
console.log(this.applicationList);
}
if(this.applicationList.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.queryParams.pageNum += 1 ;
}
});
}, 1000);
},
deleteList(id,index){
this.$dialog.confirm({
message: '您确认删除申请草稿?',
})
.then(() => {
// on confirm
this.applicationList.splice(index,1)
delPhxxb(id).then(res => {
if(res.code = 200){
this.$toast.success('删除成功');
}
});
})
.catch(() => {
// on cancel
});
},
},
}
</script>

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

+ 501
- 0
src/views/onlineHome/phfs/czjy/czjyModify.vue 파일 보기

@@ -0,0 +1,501 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">修改出租经营</p>
</template>
</van-nav-bar>
<van-form ref="_Form">
<div class="main_box">

<van-field
v-model="circulation.zcfmc"
label="申请人姓名"
placeholder="请输入申请人姓名"
@input="remoteTransfereeMethod"
:rules="[{ required: true }]" required
/>


<van-cell v-for="item in getObligeeOptions"
:key="item.shyqrdbxm"
@click="shyqrdmxmChange(item)"
>
{{item.shyqrdbxm}}
</van-cell>

<van-popup v-model="showshyqrdm" position="bottom">
<van-picker
show-toolbar
:columns="shyqrdmDictionaries"
@confirm="onConfirmShyqrdm"
@cancel="showshyqrdm = false"
/>
</van-popup>
<van-field
readonly
v-model="circulation.zjddm"
label="宅基地代码"
input-align="right"
>
<template #button>
<van-button size="small" @click="mapLook" type="primary">选择宅基地</van-button>
</template>
</van-field>
<van-popup v-model="showzjddm" position="bottom" >
<van-picker
show-toolbar
:columns="zjdDictionaries"
@confirm="onConfirmZjddm"
@cancel="showzjddm = false"
/>
</van-popup>
<van-field
disabled
v-model="xb"
label="性别"
input-align="right"
label-width="auto"
/>
<van-field v-model="circulation.zcfdh" label="联系电话" placeholder="请输入联系电话" input-align="right" label-width="auto" :rules="[{pattern: /(^\d{7}(\d{4})?$)/}]" required/>
<van-field disabled v-model="circulation.zcfzjhm" label="证件号码" placeholder="证件号码" input-align="right" label-width="auto" />
<van-cell title="是否本集体经济组织成员" >
<template #right-icon>
<van-radio-group v-model="circulation.zcfzz" direction="horizontal" >
<van-radio name="1">是</van-radio>
<van-radio name="0">否</van-radio>
</van-radio-group>
</template>
</van-cell>

<van-field
v-model ="circulation.zjdmj"
type = "number"
@keyup = "circulation.zjdmj=circulation.zjdmj.replace(circulation.zjdmj,RestrictedMoney(circulation.zjdmj))"
label="经营面积(㎡)"
input-align="right"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-field
readonly
clickable
name="picker"
v-model="circulation.phtime"
label="备案时间"
placeholder="选择备案时间"
@click="showbasj = true"
input-align="right"
right-icon="arrow-down"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-popup v-model="showbasj" position="bottom">
<van-datetime-picker
:value="new Date"
type="date"
title="选择年月日"
@confirm="onConfirmBasj"
@cancel="showbasj = false"
/>
</van-popup>
<van-field
readonly
clickable
name="picker"
v-model="circulation.qsrq"
label="出租开始时间"
placeholder="选择出租开始时间"
@click="showqsrq = true"
input-align="right"
right-icon="arrow-down"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-popup v-model="showqsrq" position="bottom">
<van-datetime-picker
:value="new Date"
type="date"
title="选择年月日"
@confirm="onConfirmQsrq"
@cancel="showqsrq = false"
/>
</van-popup>
<van-field
readonly
clickable
name="picker"
v-model="circulation.jsrq"
label="出租结束时间"
placeholder="选择出租结束时间"
@click="showjsrq = true"
input-align="right"
right-icon="arrow-down"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-field v-model="circulation.fwms" type="textarea" label="地上房屋描述" placeholder="请输入地上房屋描述" input-align="right" label-width="auto" />
<van-field v-model="circulation.bz" type="textarea" label="备注" placeholder="请输入备注" input-align="right" label-width="auto" />
<van-field v-model="circulation.zrfmc" label="经营方姓名" placeholder="请输入经营方姓名" input-align="right" label-width="auto" :rules="[{ required: true }]" required />
<van-field v-model="circulation.zrfzjhm" label="证件号码" placeholder="请输入证件号码" input-align="right" label-width="auto" :rules="[{ required: true }]" required/>
<van-field v-model="circulation.zrfdh" label="经营方电话" placeholder="请输入经营方电话" input-align="right" label-width="auto" :rules="[{pattern: /(^\d{7}(\d{4})?$)/}]" required/>

<van-dialog v-model:show="mapShow" show-cancel-button>
<MapGisObtain ref="zjdProductResh" :shqrxm="circulation.zcfmc" @closeMoule="closeMoule"></MapGisObtain>
</van-dialog>

</div>
</van-form>

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

<script>
import { zjdzd, obligeeList } from "@/api/onlineHome/homestead/circulation";
import { addPhxxb,updatePhxxb,getPhxxb } from "@/api/onlineHome/phfs/phfs";
import { ycsyAdd , listByDeptId } from "@/api/onlineHome/homestead/paidUtilize";
import MapGisObtain from "@/components/Map/MapGisObtain";
import {Notify} from "vant";
export default {
name: "paidUtilizeAdd",
components: { MapGisObtain,},
props: {
columns: {
type: Array,
default: function () {
return []
}
},
selectValue: {
type: [String, Number],
default: ''
},
option: {
type: Object,
default: function () {
return { label: 'label', value: 'value' }
}
},
isSearch: {
type: Boolean,
default: false
},
offOption: { // 关闭option配置key-value;当数据是非集合的数组的时候,开启
type: Boolean,
default: false
}
},
data() {
return {
tcqllxDictionaries:[],//退出权利类型
tclxDictionaries:[],//退出类型
tcfsDictionaries:[],//退出方式
sexDictionaries:[],//申请人证件类型
bcfsDictionaries:[],//补偿方式
zjdDictionaries:[],//宅基地代码
shyqrdmDictionaries:[],//使用权人
getObligeeOptions:[],

tcqllx:'',
tclx:'',
tcfs:'',
xb:'',
bcfs:'',
zjddm:'',
showzcfmc:false,
showtcqllx: false,
showtclx: false,
showtcfs: false,
showXb: false,
showbcfs: false,
showzjddm: false,
showshyqrdm: false,
showbasj: false,
showqsrq: false,
showjsrq: false,
showycsydqsj: false,
columnsData: [],
circulation:{},
mapShow: false,
};
},
created() {
this.getDetail();
this.getDictionaries();
},
methods: {
getDictionaries(){
//退出权利类型
this.houseGetDicts("tcqllx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcqllxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出类型
this.houseGetDicts("tclx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tclxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出方式
this.houseGetDicts("tcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//性别
this.houseGetDicts("sex").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.sexDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//补偿方式
this.houseGetDicts("bcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.bcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//宅基地代码
zjdzd().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.zjdDictionaries.push(zjdRes.rows[i].zjddm);
}
});
//使用权人代码
listByDeptId().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.shyqrdmDictionaries.push(zjdRes.rows[i].shyqrdm);
}
});
},
getDetail()
{
getPhxxb(this.$route.query.id).then(response => {
this.circulation = response.data;
this.houseGetDicts("sex").then((res) => {
this.xb = this.selectDictLabel(res.data, response.data.zcfxb);
});
});
},
plusOrMinus(values) {
let newValue
if (!(/[^0-9.-]/g.test(values))) {
newValue = values.replace(/[^\-\d.]/g, '').replace(/\b(0+){2,}/g, '0').replace(/\-{2,}/g, '-').replace(/^\./g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.')
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[1].length) > 2) {
newValue = parseInt(parseFloat(newValue) * 100) / 100
}
if ((newValue.toString().split('-').length - 1) > 1) {
newValue = parseFloat(newValue) || ''
}
if ((newValue.toString().split('-').length) > 1 && newValue.toString().split('-')[0].length > 0) {
newValue = parseFloat(newValue) || ''
}
if (newValue.toString().length > 1 && (newValue.toString().charAt(0) === '0' || (newValue.toString().length > 2 && newValue.toString().charAt(0) === '-' && newValue.toString().charAt(1) === '0' && newValue.toString().charAt(2) !== '.')) && newValue.toString().indexOf('.') < 1) {
newValue = parseFloat(newValue) || ''
}
// 判断整数位最多为9位
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9) + '.' + newValue.toString().split('.')[1]
} else if (newValue.toString().indexOf('.') < 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9)
}
} else {
newValue = values.replace(/[^0-9.-]/g, '')
}
return newValue
}, materielExtraCostChange(item) {
// 防止删除为空
if (!item) {
item = '0.00'
}
// 一些错误金额输入的判断
if (item.toString().indexOf('.') > 0 && Number(item.toString().split('.')[1].length) < 1) {
item = item.toString().split('.')[0]
}
// 一些错误金额输入的判断
if (!item || item === '-' || item === '-0') {
item = '0.00'
return
}
item = parseFloat(item).toFixed(2)
},RestrictedMoney(values) {
return this.plusOrMinus(values.toString())
},
onConfirmZjddm(data){
console.log(data)
this.circulation.zjddm = data;
this.showzjddm = false;
},
onConfirmXb(data){
this.xb = data.text;
this.circulation.zcfxb = data.value;
this.showXb = false;
},
onConfirmTcqllx(data){
this.tcqllx = data.text;
this.circulation.tcqllx = data.value;
this.showtcqllx = false;
},
onConfirmTclx(data){
this.tclx = data.text;
this.circulation.tclx = data.value;
this.showtclx = false;
},
onConfirmTcfs(data){
this.tcfs = data.text;
this.circulation.tcfs = data.value;
this.showtcfs = false;
},
onConfirmBcfs(data){
this.bcfs = data.text;
this.circulation.bcfs = data.value;
this.showbcfs = false;
},
onConfirmShyqrdm(data){
this.circulation.shyqrdm = data;
this.showshyqrdm = false;
},
onConfirmBasj(data){
this.circulation.phtime = this.getNowFormatDate(data).substr(0,10);
this.showbasj = false;
},
onConfirmQsrq(data){
this.circulation.qsrq = this.getNowFormatDate(data).substr(0,10);
this.showqsrq = false;
},
onConfirmJsrq(data){
this.circulation.jsrq = this.getNowFormatDate(data).substr(0,10);
this.showjsrq = false;
},
onConfirmYcsydqsj(data){
this.circulation.ycsydqsj = this.getNowFormatDate(data).substr(0,10);
this.showycsydqsj = false;
},
goEdit(){
window.location.replace("paidUtilizeList")
},
mapLook(){
this.mapShow =true;
setTimeout(() => {
this.$refs.zjdProductResh.drawingLyPaceCountryDarw();
},1000)
},
/** 查找地图中宅基地 */
closeMoule: function (data) {
this.circulation.zjddm = data;
},
/** 模糊查询人员信息 */
remoteTransfereeMethod(query) {
let _this = this;
if (query !== "") {
let queryMember = {
hzxm : query,
};
this.searchLoading = true;
obligeeList({shyqrdbxm:query,status:2}).then((response) => {
this.searchLoading = false;
if (response.code == 200) {
this.getObligeeOptions = response.rows.map((item) => {
// _this.$set(_this.form, "zcfxb", item.xb);
// _this.$set(_this.form, "zcfdh", item.dh);
// _this.$set(_this.form, "zcfzjhm", item.shyqrdbzjhm);
// _this.$set(_this.form, "zcfdm", item.nhdm);
return {
zcfxb:item.xb,
zcfdh:item.dh,
zcfzjhm:item.shyqrdbzjhm,
zcfdm:item.nhdm,
shyqrdbxm: item.shyqrdbxm,
shyqrdm: item.shyqrdm,
zcfzz: item.sfbncjtjjzzcy
};
});
}
});
} else {
this.getObligeeOptions = [];
}
},
clearFrom() {
// this.initData();
this.getObligeeOptions = [];
},
shyqrdmxmChange(val){
let _this = this;
this.sexDictionaries.map(function (item) {
if(item.value === val.zcfxb){
_this.xb = item.text;
}
})
this.$set(this.circulation, "zcfxb", val.zcfxb);
this.$set(this.circulation, "zcfdh", val.zcfdh);
this.$set(this.circulation, "zcfzjhm", val.zcfzjhm);
this.$set(this.circulation, "zcfdm", val.zcfdm);
this.$set(this.circulation, "zcfmc", val.shyqrdbxm);
this.$set(this.circulation, "zcfzz", val.zcfzz);
this.getObligeeOptions=[];
},
goSubmit(){
console.info( this.$refs._Form.validate());
this.$refs._Form.validate().then(() => {
if (this.circulation.id != null) {
updatePhxxb(this.circulation).then(response => {
this.$toast.success("修改成功");
setTimeout(function(){
window.location.replace("czjyList")
},1000)
});
} else {
addPhxxb(this.circulation).then(response => {
this.$toast.success("新增成功");
setTimeout(function(){
window.location.replace("czjyList")
},1000)
});
}
}).catch((e) => {
Notify({ type: 'danger', message: '请填写完整的表单项' });
});
}
},
}
</script>

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

}

</style>

+ 479
- 0
src/views/onlineHome/phfs/hzjy/hzjyAdd.vue 파일 보기

@@ -0,0 +1,479 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">添加合作经营</p>
</template>
</van-nav-bar>
<van-form ref="_Form">
<div class="main_box">

<van-field
v-model="circulation.zcfmc"
label="申请人姓名"
placeholder="请输入申请人姓名"
@input="remoteTransfereeMethod"
:rules="[{ required: true }]" required
/>


<van-cell v-for="item in getObligeeOptions"
:key="item.shyqrdbxm"
@click="shyqrdmxmChange(item)"
>
{{item.shyqrdbxm}}
</van-cell>

<van-popup v-model="showshyqrdm" position="bottom">
<van-picker
show-toolbar
:columns="shyqrdmDictionaries"
@confirm="onConfirmShyqrdm"
@cancel="showshyqrdm = false"
/>
</van-popup>
<van-field
readonly
v-model="circulation.zjddm"
label="宅基地代码"
input-align="right"
>
<template #button>
<van-button size="small" @click="mapLook" type="primary">选择宅基地</van-button>
</template>
</van-field>
<van-popup v-model="showzjddm" position="bottom" >
<van-picker
show-toolbar
:columns="zjdDictionaries"
@confirm="onConfirmZjddm"
@cancel="showzjddm = false"
/>
</van-popup>
<van-field
disabled
v-model="xb"
label="性别"
input-align="right"
label-width="auto"
/>
<van-field v-model="circulation.zcfdh" label="联系电话" placeholder="请输入联系电话" input-align="right" label-width="auto" :rules="[{pattern: /(^\d{7}(\d{4})?$)/}]" required/>
<van-field disabled v-model="circulation.zcfzjhm" label="证件号码" placeholder="证件号码" input-align="right" label-width="auto" />
<van-cell title="是否本集体经济组织成员" >
<template #right-icon>
<van-radio-group v-model="circulation.zcfzz" direction="horizontal" >
<van-radio name="1">是</van-radio>
<van-radio name="0">否</van-radio>
</van-radio-group>
</template>
</van-cell>
<van-field
v-model ="circulation.zjdmj"
type = "number"
@keyup = "circulation.zjdmj=circulation.zjdmj.replace(circulation.zjdmj,RestrictedMoney(circulation.zjdmj))"
label="经营面积(㎡)"
input-align="right"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-field
readonly
clickable
name="picker"
v-model="circulation.phtime"
label="合同签订日期"
placeholder="选择合同签订日期"
@click="showbasj = true"
input-align="right"
right-icon="arrow-down"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-popup v-model="showbasj" position="bottom">
<van-datetime-picker
:value="new Date"
type="date"
title="选择年月日"
@confirm="onConfirmBasj"
@cancel="showbasj = false"
/>
</van-popup>
<van-field
readonly
clickable
name="picker"
v-model="circulation.qsrq"
label="合作开始时间"
placeholder="选择合作开始时间"
@click="showqsrq = true"
input-align="right"
right-icon="arrow-down"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-popup v-model="showqsrq" position="bottom">
<van-datetime-picker
:value="new Date"
type="date"
title="选择年月日"
@confirm="onConfirmQsrq"
@cancel="showqsrq = false"
/>
</van-popup>
<van-field
readonly
clickable
name="picker"
v-model="circulation.jsrq"
label="合作结束时间"
placeholder="选择合作结束时间"
@click="showjsrq = true"
input-align="right"
right-icon="arrow-down"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-popup v-model="showjsrq" position="bottom">
<van-datetime-picker
:value="new Date"
type="date"
title="选择年月日"
@confirm="onConfirmJsrq"
@cancel="showjsrq = false"
/>
</van-popup>
<van-field v-model="circulation.fwms" type="textarea" label="地上房屋描述" placeholder="请输入地上房屋描述" input-align="right" label-width="auto" />
<van-field v-model="circulation.bz" type="textarea" label="备注" placeholder="请输入备注" input-align="right" label-width="auto" />

<van-field v-model="circulation.zrfmc" label="合作方姓名" placeholder="请输入经营方姓名" input-align="right" label-width="auto" :rules="[{ required: true }]" required />
<van-field v-model="circulation.zrfzjhm" label="合作方证件号" placeholder="请输入经营方证件号" input-align="right" label-width="auto" :rules="[{ required: true }]" required/>
<van-field v-model="circulation.zrfdh" label="合作方电话" placeholder="请输入经营方电话" input-align="right" label-width="auto" :rules="[{pattern: /(^\d{7}(\d{4})?$)/}]" required/>
<van-dialog v-model:show="mapShow" show-cancel-button>
<MapGisObtain ref="zjdProductResh" :shqrxm="circulation.zcfmc" @closeMoule="closeMoule"></MapGisObtain>
</van-dialog>

</div>
</van-form>

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

<script>
import { zjdzd, obligeeList } from "@/api/onlineHome/homestead/circulation";
import { addPhxxb,updatePhxxb,queryGeoZjdzd } from "@/api/onlineHome/phfs/phfs";
import { ycsyAdd , listByDeptId } from "@/api/onlineHome/homestead/paidUtilize";
import MapGisObtain from "@/components/Map/MapGisObtain";
import {Notify} from "vant";
export default {
name: "czjyAdd",
components: { MapGisObtain,},
props: {
columns: {
type: Array,
default: function () {
return []
}
},
selectValue: {
type: [String, Number],
default: ''
},
option: {
type: Object,
default: function () {
return { label: 'label', value: 'value' }
}
},
isSearch: {
type: Boolean,
default: false
},
offOption: { // 关闭option配置key-value;当数据是非集合的数组的时候,开启
type: Boolean,
default: false
}
},
data() {
return {
tcqllxDictionaries:[],//退出权利类型
tclxDictionaries:[],//退出类型
tcfsDictionaries:[],//退出方式
sexDictionaries:[],//申请人证件类型
bcfsDictionaries:[],//补偿方式
zjdDictionaries:[],//宅基地代码
shyqrdmDictionaries:[],//使用权人
getObligeeOptions:[],

tcqllx:'',
tclx:'',
tcfs:'',
xb:'',
bcfs:'',
zjddm:'',
showzcfmc:false,
showtcqllx: false,
showtclx: false,
showtcfs: false,
showXb: false,
showbcfs: false,
showzjddm: false,
showshyqrdm: false,
showbasj: false,
showqsrq: false,
showjsrq: false,
showycsydqsj: false,
columnsData: [],
circulation:{phfs:"04"},
mapShow: false,
};
},
created() {
this.getDictionaries();
},
methods: {
getDictionaries(){
//退出权利类型
this.houseGetDicts("tcqllx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcqllxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出类型
this.houseGetDicts("tclx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tclxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出方式
this.houseGetDicts("tcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//性别
this.houseGetDicts("sex").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.sexDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//补偿方式
this.houseGetDicts("bcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.bcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//宅基地代码
zjdzd().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.zjdDictionaries.push(zjdRes.rows[i].zjddm);
}
});
//使用权人代码
listByDeptId().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.shyqrdmDictionaries.push(zjdRes.rows[i].shyqrdm);
}
});
},
plusOrMinus(values) {
let newValue
if (!(/[^0-9.-]/g.test(values))) {
newValue = values.replace(/[^\-\d.]/g, '').replace(/\b(0+){2,}/g, '0').replace(/\-{2,}/g, '-').replace(/^\./g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.')
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[1].length) > 2) {
newValue = parseInt(parseFloat(newValue) * 100) / 100
}
if ((newValue.toString().split('-').length - 1) > 1) {
newValue = parseFloat(newValue) || ''
}
if ((newValue.toString().split('-').length) > 1 && newValue.toString().split('-')[0].length > 0) {
newValue = parseFloat(newValue) || ''
}
if (newValue.toString().length > 1 && (newValue.toString().charAt(0) === '0' || (newValue.toString().length > 2 && newValue.toString().charAt(0) === '-' && newValue.toString().charAt(1) === '0' && newValue.toString().charAt(2) !== '.')) && newValue.toString().indexOf('.') < 1) {
newValue = parseFloat(newValue) || ''
}
// 判断整数位最多为9位
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9) + '.' + newValue.toString().split('.')[1]
} else if (newValue.toString().indexOf('.') < 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9)
}
} else {
newValue = values.replace(/[^0-9.-]/g, '')
}
return newValue
}, materielExtraCostChange(item) {
// 防止删除为空
if (!item) {
item = '0.00'
}
// 一些错误金额输入的判断
if (item.toString().indexOf('.') > 0 && Number(item.toString().split('.')[1].length) < 1) {
item = item.toString().split('.')[0]
}
// 一些错误金额输入的判断
if (!item || item === '-' || item === '-0') {
item = '0.00'
return
}
item = parseFloat(item).toFixed(2)
},RestrictedMoney(values) {
return this.plusOrMinus(values.toString())
},
onConfirmXb(data){
this.xb = data.text;
this.circulation.zcfxb = data.value;
this.showXb = false;
},
onConfirmZjddm(data){
this.circulation.zjddm = data;
this.showzjddm = false;
},
onConfirmShyqrdm(data){
this.circulation.shyqrdm = data;
this.showshyqrdm = false;
},
onConfirmBasj(data){
this.circulation.phtime = this.getNowFormatDate(data).substr(0,10);
this.showbasj = false;
},
onConfirmQsrq(data){
this.circulation.qsrq = this.getNowFormatDate(data).substr(0,10);
this.showqsrq = false;
},
onConfirmJsrq(data){
this.circulation.jsrq = this.getNowFormatDate(data).substr(0,10);
this.showjsrq = false;
},
goEdit(){
window.location.replace("paidUtilizeList")
},
mapLook(){
this.mapShow =true;
setTimeout(() => {
this.$refs.zjdProductResh.drawingLyPaceCountryDarw();
},1000)
},
/** 查找地图中宅基地 */
closeMoule: function (data) {
this.circulation.zjddm = data;
queryGeoZjdzd({zjddm:data}).then(zjdxxRes => {
if(zjdxxRes.data != null){
this.$set(this.circulation, "zjdmj", zjdxxRes.data.zdmj);
}
});
},
/** 模糊查询人员信息 */
remoteTransfereeMethod(query) {
let _this = this;
if (query !== "") {
let queryMember = {
hzxm : query,
};
this.searchLoading = true;
obligeeList({shyqrdbxm:query,status:2}).then((response) => {
this.searchLoading = false;
if (response.code == 200) {
this.getObligeeOptions = response.rows.map((item) => {
// _this.$set(_this.form, "zcfxb", item.xb);
// _this.$set(_this.form, "zcfdh", item.dh);
// _this.$set(_this.form, "zcfzjhm", item.shyqrdbzjhm);
// _this.$set(_this.form, "zcfdm", item.nhdm);
return {
zcfxb:item.xb,
zcfdh:item.dh,
zcfzjhm:item.shyqrdbzjhm,
zcfdm:item.nhdm,
shyqrdbxm: item.shyqrdbxm,
shyqrdm: item.shyqrdm,
zcfzz: item.sfbncjtjjzzcy
};
});
}
});
} else {
this.getObligeeOptions = [];
}
},
clearFrom() {
// this.initData();
this.getObligeeOptions = [];
},
shyqrdmxmChange(val){
let _this = this;
this.sexDictionaries.map(function (item) {
if(item.value === val.zcfxb){
_this.xb = item.text;
}
})
this.$set(this.circulation, "zcfxb", val.zcfxb);
this.$set(this.circulation, "zcfdh", val.zcfdh);
this.$set(this.circulation, "zcfzjhm", val.zcfzjhm);
this.$set(this.circulation, "zcfdm", val.zcfdm);
this.$set(this.circulation, "zcfmc", val.shyqrdbxm);
this.$set(this.circulation, "zcfzz", val.zcfzz);
this.getObligeeOptions=[];
},
goSubmit(){
console.info( this.$refs._Form.validate());
this.$refs._Form.validate().then(() => {
if (this.circulation.id != null) {
updatePhxxb(this.circulation).then(response => {
this.$toast.success("修改成功");
setTimeout(function(){
window.location.replace("hzjyList")
},1000)
});
} else {
addPhxxb(this.circulation).then(response => {
this.$toast.success("新增成功");
setTimeout(function(){
window.location.replace("hzjyList")
},1000)
});
}
}).catch((e) => {
Notify({ type: 'danger', message: '请填写完整的表单项' });
});
}
},
}
</script>

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

}

</style>

+ 450
- 0
src/views/onlineHome/phfs/hzjy/hzjyDetails.vue 파일 보기

@@ -0,0 +1,450 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">合作经营</p>
</template>
</van-nav-bar>
<van-form ref="_Form">
<div class="main_box">

<van-field
readonly
v-model="circulation.zcfmc"
label="申请人姓名"
placeholder="请输入申请人姓名"
@input="remoteTransfereeMethod"
/>


<van-cell v-for="item in getObligeeOptions"
:key="item.shyqrdbxm"
@click="shyqrdmxmChange(item)"
>
{{item.shyqrdbxm}}
</van-cell>

<van-popup v-model="showshyqrdm" position="bottom">
<van-picker
show-toolbar
:columns="shyqrdmDictionaries"
@confirm="onConfirmShyqrdm"
@cancel="showshyqrdm = false"
/>
</van-popup>
<van-field
readonly
v-model="circulation.zjddm"
label="宅基地代码"
input-align="right"
>
<template #button>
<van-button size="small" @click="mapLook" type="primary">查看地图</van-button>
</template>
</van-field>
<van-popup v-model="showzjddm" position="bottom" >
<van-picker
show-toolbar
:columns="zjdDictionaries"
@confirm="onConfirmZjddm"
@cancel="showzjddm = false"
/>
</van-popup>
<van-field
readonly
v-model="circulation.zcfxb"
label="性别"
input-align="right"
label-width="auto"
/>
<van-field readonly v-model="circulation.zcfdh" label="联系电话" placeholder="请输入联系电话" input-align="right" label-width="auto" />
<van-field readonly v-model="circulation.zcfzjhm" label="证件号码" placeholder="证件号码" input-align="right" label-width="auto" />
<van-cell title="是否本集体经济组织成员" >
<template #right-icon>
<van-radio-group disabled v-model="circulation.zcfzz" direction="horizontal" >
<van-radio name="1">是</van-radio>
<van-radio name="0">否</van-radio>
</van-radio-group>
</template>
</van-cell>

<van-field
readonly
v-model ="circulation.zjdmj"
type = "number"
@keyup = "circulation.zjdmj=circulation.zjdmj.replace(circulation.zjdmj,RestrictedMoney(circulation.zjdmj))"
label="经营面积(㎡)"
input-align="right"
label-width="auto"
/>
<van-field
readonly
v-model="circulation.phtime"
label="合同签订日期"
placeholder="选择合同签订日期"
input-align="right"
label-width="auto"
/>
<van-field
readonly
v-model="circulation.qsrq"
label="合作开始时间"
placeholder="选择合作开始时间"
input-align="right"
label-width="auto"
/>
<van-field
readonly
v-model="circulation.jsrq"
label="合作结束时间"
placeholder="选择合作结束时间"
input-align="right"
label-width="auto"
/>
<van-field readonly v-model="circulation.fwms" type="textarea" label="地上房屋描述" placeholder="请输入地上房屋描述" input-align="right" label-width="auto" />
<van-field readonly v-model="circulation.bz" type="textarea" label="备注" placeholder="请输入备注" input-align="right" label-width="auto" />
<van-field readonly v-model="circulation.zrfmc" label="合作方姓名" placeholder="请输入合作方姓名" input-align="right" label-width="auto" :rules="[{ required: true }]" required />
<van-field readonly v-model="circulation.zrfzjhm" label="合作方证件号" placeholder="请输入合作方证件号" input-align="right" label-width="auto" :rules="[{ required: true }]" required/>
<van-field readonly v-model="circulation.zrfdh" label="合作方电话" placeholder="请输入合作方电话" input-align="right" label-width="auto" :rules="[{ required: true }]" required/>

<van-dialog v-model:show="mapShow" show-cancel-button>
<MapGisLyDrawing ref="zjdProductResh" :message="circulation.zjddm" @closeMoule="closeMoule"></MapGisLyDrawing>
</van-dialog>

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

<script>
import { zjdzd, obligeeList } from "@/api/onlineHome/homestead/circulation";
import { addPhxxb,updatePhxxb,getPhxxb } from "@/api/onlineHome/phfs/phfs";
import { ycsyAdd , listByDeptId } from "@/api/onlineHome/homestead/paidUtilize";
import MapGisLyDrawing from "@/components/Map/MapGisLyDrawing";
import {Notify} from "vant";
export default {
name: "paidUtilizeAdd",
components: { MapGisLyDrawing,},
props: {
columns: {
type: Array,
default: function () {
return []
}
},
selectValue: {
type: [String, Number],
default: ''
},
option: {
type: Object,
default: function () {
return { label: 'label', value: 'value' }
}
},
isSearch: {
type: Boolean,
default: false
},
offOption: { // 关闭option配置key-value;当数据是非集合的数组的时候,开启
type: Boolean,
default: false
}
},
data() {
return {
tcqllxDictionaries:[],//退出权利类型
tclxDictionaries:[],//退出类型
tcfsDictionaries:[],//退出方式
sexDictionaries:[],//申请人证件类型
bcfsDictionaries:[],//补偿方式
zjdDictionaries:[],//宅基地代码
shyqrdmDictionaries:[],//使用权人
getObligeeOptions:[],

tcqllx:'',
tclx:'',
tcfs:'',
xb:'',
bcfs:'',
zjddm:'',
showzcfmc:false,
showtcqllx: false,
showtclx: false,
showtcfs: false,
showXb: false,
showbcfs: false,
showzjddm: false,
showshyqrdm: false,
showbasj: false,
showycsydqsj: false,
columnsData: [],
circulation:{id: null},
mapShow: false,
};
},
created() {
this.circulation.id = this.$route.query.id;
this.getDetail();
},
methods: {
getDictionaries(){
//退出权利类型
this.houseGetDicts("tcqllx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcqllxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出类型
this.houseGetDicts("tclx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tclxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出方式
this.houseGetDicts("tcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//性别
this.houseGetDicts("sex").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.sexDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//补偿方式
this.houseGetDicts("bcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.bcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//宅基地代码
zjdzd().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.zjdDictionaries.push(zjdRes.rows[i].zjddm);
}
});
//使用权人代码
listByDeptId().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.shyqrdmDictionaries.push(zjdRes.rows[i].shyqrdm);
}
});
},
getDetail()
{
getPhxxb(this.$route.query.id).then(response => {
this.circulation = response.data;
//性别
this.houseGetDicts("sex").then((res) => {
this.circulation.zcfxb = this.selectDictLabel(res.data, response.data.zcfxb);
});
});
},
plusOrMinus(values) {
let newValue
if (!(/[^0-9.-]/g.test(values))) {
newValue = values.replace(/[^\-\d.]/g, '').replace(/\b(0+){2,}/g, '0').replace(/\-{2,}/g, '-').replace(/^\./g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.')
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[1].length) > 2) {
newValue = parseInt(parseFloat(newValue) * 100) / 100
}
if ((newValue.toString().split('-').length - 1) > 1) {
newValue = parseFloat(newValue) || ''
}
if ((newValue.toString().split('-').length) > 1 && newValue.toString().split('-')[0].length > 0) {
newValue = parseFloat(newValue) || ''
}
if (newValue.toString().length > 1 && (newValue.toString().charAt(0) === '0' || (newValue.toString().length > 2 && newValue.toString().charAt(0) === '-' && newValue.toString().charAt(1) === '0' && newValue.toString().charAt(2) !== '.')) && newValue.toString().indexOf('.') < 1) {
newValue = parseFloat(newValue) || ''
}
// 判断整数位最多为9位
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9) + '.' + newValue.toString().split('.')[1]
} else if (newValue.toString().indexOf('.') < 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9)
}
} else {
newValue = values.replace(/[^0-9.-]/g, '')
}
return newValue
}, materielExtraCostChange(item) {
// 防止删除为空
if (!item) {
item = '0.00'
}
// 一些错误金额输入的判断
if (item.toString().indexOf('.') > 0 && Number(item.toString().split('.')[1].length) < 1) {
item = item.toString().split('.')[0]
}
// 一些错误金额输入的判断
if (!item || item === '-' || item === '-0') {
item = '0.00'
return
}
item = parseFloat(item).toFixed(2)
},RestrictedMoney(values) {
return this.plusOrMinus(values.toString())
},
onConfirmZjddm(data){
console.log(data)
this.circulation.zjddm = data;
this.showzjddm = false;
},
onConfirmXb(data){
this.xb = data.text;
this.circulation.zcfxb = data.value;
this.showXb = false;
},
onConfirmTcqllx(data){
this.tcqllx = data.text;
this.circulation.tcqllx = data.value;
this.showtcqllx = false;
},
onConfirmTclx(data){
this.tclx = data.text;
this.circulation.tclx = data.value;
this.showtclx = false;
},
onConfirmTcfs(data){
this.tcfs = data.text;
this.circulation.tcfs = data.value;
this.showtcfs = false;
},
onConfirmBcfs(data){
this.bcfs = data.text;
this.circulation.bcfs = data.value;
this.showbcfs = false;
},
onConfirmShyqrdm(data){
this.circulation.shyqrdm = data;
this.showshyqrdm = false;
},
onConfirmBasj(data){
this.circulation.phtime = this.getNowFormatDate(data).substr(0,10);
this.showbasj = false;
},
onConfirmYcsydqsj(data){
this.circulation.ycsydqsj = this.getNowFormatDate(data).substr(0,10);
this.showycsydqsj = false;
},
goEdit(){
window.location.replace("paidUtilizeList")
},
mapLook(){
this.mapShow =true;
setTimeout(() => {
this.$refs.zjdProductResh.drawingLyPaceCountryDarw();
},1000)
},
/** 查找地图中宅基地 */
closeMoule: function (data) {
this.circulation.zjddm = data;
},
/** 模糊查询人员信息 */
remoteTransfereeMethod(query) {
let _this = this;
if (query !== "") {
let queryMember = {
hzxm : query,
};
this.searchLoading = true;
obligeeList({shyqrdbxm:query,status:2}).then((response) => {
this.searchLoading = false;
if (response.code == 200) {
this.getObligeeOptions = response.rows.map((item) => {
// _this.$set(_this.form, "zcfxb", item.xb);
// _this.$set(_this.form, "zcfdh", item.dh);
// _this.$set(_this.form, "zcfzjhm", item.shyqrdbzjhm);
// _this.$set(_this.form, "zcfdm", item.nhdm);
return {
zcfxb:item.xb,
zcfdh:item.dh,
zcfzjhm:item.shyqrdbzjhm,
zcfdm:item.nhdm,
shyqrdbxm: item.shyqrdbxm,
shyqrdm: item.shyqrdm,
zcfzz: item.sfbncjtjjzzcy
};
});
}
});
} else {
this.getObligeeOptions = [];
}
},
clearFrom() {
// this.initData();
this.getObligeeOptions = [];
},
shyqrdmxmChange(val){
let _this = this;
this.sexDictionaries.map(function (item) {
if(item.value === val.zcfxb){
_this.xb = item.text;
}
})
this.$set(this.circulation, "zcfdh", val.zcfdh);
this.$set(this.circulation, "zcfzjhm", val.zcfzjhm);
this.$set(this.circulation, "zcfdm", val.zcfdm);
this.$set(this.circulation, "zcfmc", val.shyqrdbxm);
this.$set(this.circulation, "zcfzz", val.zcfzz);
this.getObligeeOptions=[];
},
goSubmit(){
console.info( this.$refs._Form.validate());
this.$refs._Form.validate().then(() => {
if (this.circulation.id != null) {
updatePhxxb(this.circulation).then(response => {
this.$toast.success("修改成功");
setTimeout(function(){
window.location.replace("zzjyList")
},1000)
});
} else {
addPhxxb(this.circulation).then(response => {
this.$toast.success("新增成功");
setTimeout(function(){
window.location.replace("zzjyList")
},1000)
});
}
}).catch((e) => {
Notify({ type: 'danger', message: '请填写完整的表单项' });
});
}
},
}
</script>

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

}

</style>

+ 160
- 0
src/views/onlineHome/phfs/hzjy/hzjyList.vue 파일 보기

@@ -0,0 +1,160 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
@click-right="goAdd"
>
<template #title>
<p style="font-weight: bold;">合作经营</p>
</template>
<template #right>
<van-icon name="add" size="18" />
</template>
</van-nav-bar>
<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<van-swipe-cell v-for="(item,index) in applicationList" :key="index">
<van-cell :title="item.zjddm" center :to="{name:'hzjyDetails', query: {id:item.id}}" >
<template #icon>
<div class="icon" style="background:#FFA63E;width: 45px;">
<van-icon name="../../../../static/images/onlineHome/icon_hzjy.png" size="30" color="#3AC2DB" style="margin-left: 3px;margin-top: 3px;" />
</div>
</template>
<template #label>
<p>{{item.zcfmc}}{{item.zcfdh}}</p>
</template>
</van-cell>
<template #right>
<van-row>
<van-col>
<van-button square text="修改" :to="{name:'hzjyModify', query: {id:item.id}}" type="info" class="delete-button" />
</van-col>
<van-col>
<van-button square text="删除" @click="deleteList(item.id,index)" type="danger" class="delete-button" />
</van-col>
</van-row>
</template>

</van-swipe-cell>
</van-list>
</div>
</template>

<script>
import { getList,delPhxxb } from "@/api/onlineHome/phfs/phfs";
import {getGeoServerConfigKey} from "@/api/system/config";
export default {
name: "paidUtilizeList",
data() {
return {
applicationList:[],
houseApplyStatus:[],
sexStatus:[],
tclxStatus:[],
tcfsStatus:[],
auditStatus:[],
loading: false,
finished: false,
queryParams:{
pageNum:1,
pageSize:10,
phfs:"04",
orderByColumn:'id',
isAsc:'desc'
},
//地图服务地址
mapGeoServerUrl:"",
};
},
created() {
this.houseGetDicts("sex").then((res) => {
this.sexStatus = res.data;
});

},
methods: {
goAdd(){
window.location = 'hzjyAdd';
},
getList(){
setTimeout(() => {
getList(this.queryParams).then(response => {
for (var i = 0; i < response.rows.length; i++) {
response.rows[i].zcfxb = this.selectDictLabel(this.sexStatus, response.rows[i].zcfxb)
this.applicationList.push(response.rows[i]);
console.log(this.applicationList);
}
if(this.applicationList.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.queryParams.pageNum += 1 ;
}
});
}, 1000);
},
deleteList(id,index){
this.$dialog.confirm({
message: '您确认删除申请草稿?',
})
.then(() => {
// on confirm
this.applicationList.splice(index,1)
delPhxxb(id).then(res => {
if(res.code = 200){
this.$toast.success('删除成功');
}
});
})
.catch(() => {
// on cancel
});
},
},
}
</script>

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

+ 501
- 0
src/views/onlineHome/phfs/hzjy/hzjyModify.vue 파일 보기

@@ -0,0 +1,501 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">修改合作经营</p>
</template>
</van-nav-bar>
<van-form ref="_Form">
<div class="main_box">

<van-field
v-model="circulation.zcfmc"
label="申请人姓名"
placeholder="请输入申请人姓名"
@input="remoteTransfereeMethod"
:rules="[{ required: true }]" required
/>


<van-cell v-for="item in getObligeeOptions"
:key="item.shyqrdbxm"
@click="shyqrdmxmChange(item)"
>
{{item.shyqrdbxm}}
</van-cell>

<van-popup v-model="showshyqrdm" position="bottom">
<van-picker
show-toolbar
:columns="shyqrdmDictionaries"
@confirm="onConfirmShyqrdm"
@cancel="showshyqrdm = false"
/>
</van-popup>
<van-field
readonly
v-model="circulation.zjddm"
label="宅基地代码"
input-align="right"
>
<template #button>
<van-button size="small" @click="mapLook" type="primary">选择宅基地</van-button>
</template>
</van-field>
<van-popup v-model="showzjddm" position="bottom" >
<van-picker
show-toolbar
:columns="zjdDictionaries"
@confirm="onConfirmZjddm"
@cancel="showzjddm = false"
/>
</van-popup>
<van-field
disabled
v-model="xb"
label="性别"
input-align="right"
label-width="auto"
/>
<van-field v-model="circulation.zcfdh" label="联系电话" placeholder="请输入联系电话" input-align="right" label-width="auto" :rules="[{pattern: /(^\d{7}(\d{4})?$)/}]" required/>
<van-field disabled v-model="circulation.zcfzjhm" label="证件号码" placeholder="证件号码" input-align="right" label-width="auto" />
<van-cell title="是否本集体经济组织成员" >
<template #right-icon>
<van-radio-group v-model="circulation.zcfzz" direction="horizontal" >
<van-radio name="1">是</van-radio>
<van-radio name="0">否</van-radio>
</van-radio-group>
</template>
</van-cell>

<van-field
v-model ="circulation.zjdmj"
type = "number"
@keyup = "circulation.zjdmj=circulation.zjdmj.replace(circulation.zjdmj,RestrictedMoney(circulation.zjdmj))"
label="经营面积(㎡)"
input-align="right"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-field
readonly
clickable
name="picker"
v-model="circulation.phtime"
label="备案时间"
placeholder="选择备案时间"
@click="showbasj = true"
input-align="right"
right-icon="arrow-down"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-popup v-model="showbasj" position="bottom">
<van-datetime-picker
:value="new Date"
type="date"
title="选择年月日"
@confirm="onConfirmBasj"
@cancel="showbasj = false"
/>
</van-popup>
<van-field
readonly
clickable
name="picker"
v-model="circulation.qsrq"
label="合作开始时间"
placeholder="选择合作开始时间"
@click="showqsrq = true"
input-align="right"
right-icon="arrow-down"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-popup v-model="showqsrq" position="bottom">
<van-datetime-picker
:value="new Date"
type="date"
title="选择年月日"
@confirm="onConfirmQsrq"
@cancel="showqsrq = false"
/>
</van-popup>
<van-field
readonly
clickable
name="picker"
v-model="circulation.jsrq"
label="合作结束时间"
placeholder="选择合作结束时间"
@click="showjsrq = true"
input-align="right"
right-icon="arrow-down"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-field v-model="circulation.fwms" type="textarea" label="地上房屋描述" placeholder="请输入地上房屋描述" input-align="right" label-width="auto" />
<van-field v-model="circulation.bz" type="textarea" label="备注" placeholder="请输入备注" input-align="right" label-width="auto" />
<van-field v-model="circulation.zrfmc" label="合作方姓名" placeholder="请输入合作方姓名" input-align="right" label-width="auto" :rules="[{ required: true }]" required />
<van-field v-model="circulation.zrfzjhm" label="合作方证件号" placeholder="请输入合作方证件号" input-align="right" label-width="auto" :rules="[{ required: true }]" required/>
<van-field v-model="circulation.zrfdh" label="合作方电话" placeholder="请输入合作方电话" input-align="right" label-width="auto" :rules="[{pattern: /(^\d{7}(\d{4})?$)/}]" required/>

<van-dialog v-model:show="mapShow" show-cancel-button>
<MapGisObtain ref="zjdProductResh" :shqrxm="circulation.zcfmc" @closeMoule="closeMoule"></MapGisObtain>
</van-dialog>

</div>
</van-form>

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

<script>
import { zjdzd, obligeeList } from "@/api/onlineHome/homestead/circulation";
import { addPhxxb,updatePhxxb,getPhxxb } from "@/api/onlineHome/phfs/phfs";
import { ycsyAdd , listByDeptId } from "@/api/onlineHome/homestead/paidUtilize";
import MapGisObtain from "@/components/Map/MapGisObtain";
import {Notify} from "vant";
export default {
name: "paidUtilizeAdd",
components: { MapGisObtain,},
props: {
columns: {
type: Array,
default: function () {
return []
}
},
selectValue: {
type: [String, Number],
default: ''
},
option: {
type: Object,
default: function () {
return { label: 'label', value: 'value' }
}
},
isSearch: {
type: Boolean,
default: false
},
offOption: { // 关闭option配置key-value;当数据是非集合的数组的时候,开启
type: Boolean,
default: false
}
},
data() {
return {
tcqllxDictionaries:[],//退出权利类型
tclxDictionaries:[],//退出类型
tcfsDictionaries:[],//退出方式
sexDictionaries:[],//申请人证件类型
bcfsDictionaries:[],//补偿方式
zjdDictionaries:[],//宅基地代码
shyqrdmDictionaries:[],//使用权人
getObligeeOptions:[],

tcqllx:'',
tclx:'',
tcfs:'',
xb:'',
bcfs:'',
zjddm:'',
showzcfmc:false,
showtcqllx: false,
showtclx: false,
showtcfs: false,
showXb: false,
showbcfs: false,
showzjddm: false,
showshyqrdm: false,
showbasj: false,
showqsrq: false,
showjsrq: false,
showycsydqsj: false,
columnsData: [],
circulation:{},
mapShow: false,
};
},
created() {
this.getDetail();
this.getDictionaries();
},
methods: {
getDictionaries(){
//退出权利类型
this.houseGetDicts("tcqllx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcqllxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出类型
this.houseGetDicts("tclx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tclxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出方式
this.houseGetDicts("tcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//性别
this.houseGetDicts("sex").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.sexDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//补偿方式
this.houseGetDicts("bcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.bcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//宅基地代码
zjdzd().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.zjdDictionaries.push(zjdRes.rows[i].zjddm);
}
});
//使用权人代码
listByDeptId().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.shyqrdmDictionaries.push(zjdRes.rows[i].shyqrdm);
}
});
},
getDetail()
{
getPhxxb(this.$route.query.id).then(response => {
this.circulation = response.data;
this.houseGetDicts("sex").then((res) => {
this.xb = this.selectDictLabel(res.data, response.data.zcfxb);
});
});
},
plusOrMinus(values) {
let newValue
if (!(/[^0-9.-]/g.test(values))) {
newValue = values.replace(/[^\-\d.]/g, '').replace(/\b(0+){2,}/g, '0').replace(/\-{2,}/g, '-').replace(/^\./g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.')
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[1].length) > 2) {
newValue = parseInt(parseFloat(newValue) * 100) / 100
}
if ((newValue.toString().split('-').length - 1) > 1) {
newValue = parseFloat(newValue) || ''
}
if ((newValue.toString().split('-').length) > 1 && newValue.toString().split('-')[0].length > 0) {
newValue = parseFloat(newValue) || ''
}
if (newValue.toString().length > 1 && (newValue.toString().charAt(0) === '0' || (newValue.toString().length > 2 && newValue.toString().charAt(0) === '-' && newValue.toString().charAt(1) === '0' && newValue.toString().charAt(2) !== '.')) && newValue.toString().indexOf('.') < 1) {
newValue = parseFloat(newValue) || ''
}
// 判断整数位最多为9位
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9) + '.' + newValue.toString().split('.')[1]
} else if (newValue.toString().indexOf('.') < 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9)
}
} else {
newValue = values.replace(/[^0-9.-]/g, '')
}
return newValue
}, materielExtraCostChange(item) {
// 防止删除为空
if (!item) {
item = '0.00'
}
// 一些错误金额输入的判断
if (item.toString().indexOf('.') > 0 && Number(item.toString().split('.')[1].length) < 1) {
item = item.toString().split('.')[0]
}
// 一些错误金额输入的判断
if (!item || item === '-' || item === '-0') {
item = '0.00'
return
}
item = parseFloat(item).toFixed(2)
},RestrictedMoney(values) {
return this.plusOrMinus(values.toString())
},
onConfirmZjddm(data){
console.log(data)
this.circulation.zjddm = data;
this.showzjddm = false;
},
onConfirmXb(data){
this.xb = data.text;
this.circulation.zcfxb = data.value;
this.showXb = false;
},
onConfirmTcqllx(data){
this.tcqllx = data.text;
this.circulation.tcqllx = data.value;
this.showtcqllx = false;
},
onConfirmTclx(data){
this.tclx = data.text;
this.circulation.tclx = data.value;
this.showtclx = false;
},
onConfirmTcfs(data){
this.tcfs = data.text;
this.circulation.tcfs = data.value;
this.showtcfs = false;
},
onConfirmBcfs(data){
this.bcfs = data.text;
this.circulation.bcfs = data.value;
this.showbcfs = false;
},
onConfirmShyqrdm(data){
this.circulation.shyqrdm = data;
this.showshyqrdm = false;
},
onConfirmBasj(data){
this.circulation.phtime = this.getNowFormatDate(data).substr(0,10);
this.showbasj = false;
},
onConfirmQsrq(data){
this.circulation.qsrq = this.getNowFormatDate(data).substr(0,10);
this.showqsrq = false;
},
onConfirmJsrq(data){
this.circulation.jsrq = this.getNowFormatDate(data).substr(0,10);
this.showjsrq = false;
},
onConfirmYcsydqsj(data){
this.circulation.ycsydqsj = this.getNowFormatDate(data).substr(0,10);
this.showycsydqsj = false;
},
goEdit(){
window.location.replace("paidUtilizeList")
},
mapLook(){
this.mapShow =true;
setTimeout(() => {
this.$refs.zjdProductResh.drawingLyPaceCountryDarw();
},1000)
},
/** 查找地图中宅基地 */
closeMoule: function (data) {
this.circulation.zjddm = data;
},
/** 模糊查询人员信息 */
remoteTransfereeMethod(query) {
let _this = this;
if (query !== "") {
let queryMember = {
hzxm : query,
};
this.searchLoading = true;
obligeeList({shyqrdbxm:query,status:2}).then((response) => {
this.searchLoading = false;
if (response.code == 200) {
this.getObligeeOptions = response.rows.map((item) => {
// _this.$set(_this.form, "zcfxb", item.xb);
// _this.$set(_this.form, "zcfdh", item.dh);
// _this.$set(_this.form, "zcfzjhm", item.shyqrdbzjhm);
// _this.$set(_this.form, "zcfdm", item.nhdm);
return {
zcfxb:item.xb,
zcfdh:item.dh,
zcfzjhm:item.shyqrdbzjhm,
zcfdm:item.nhdm,
shyqrdbxm: item.shyqrdbxm,
shyqrdm: item.shyqrdm,
zcfzz: item.sfbncjtjjzzcy
};
});
}
});
} else {
this.getObligeeOptions = [];
}
},
clearFrom() {
// this.initData();
this.getObligeeOptions = [];
},
shyqrdmxmChange(val){
let _this = this;
this.sexDictionaries.map(function (item) {
if(item.value === val.zcfxb){
_this.xb = item.text;
}
})
this.$set(this.circulation, "zcfxb", val.zcfxb);
this.$set(this.circulation, "zcfdh", val.zcfdh);
this.$set(this.circulation, "zcfzjhm", val.zcfzjhm);
this.$set(this.circulation, "zcfdm", val.zcfdm);
this.$set(this.circulation, "zcfmc", val.shyqrdbxm);
this.$set(this.circulation, "zcfzz", val.zcfzz);
this.getObligeeOptions=[];
},
goSubmit(){
console.info( this.$refs._Form.validate());
this.$refs._Form.validate().then(() => {
if (this.circulation.id != null) {
updatePhxxb(this.circulation).then(response => {
this.$toast.success("修改成功");
setTimeout(function(){
window.location.replace("hzjyList")
},1000)
});
} else {
addPhxxb(this.circulation).then(response => {
this.$toast.success("新增成功");
setTimeout(function(){
window.location.replace("hzjyList")
},1000)
});
}
}).catch((e) => {
Notify({ type: 'danger', message: '请填写完整的表单项' });
});
}
},
}
</script>

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

}

</style>

+ 479
- 0
src/views/onlineHome/phfs/rgjy/rgjyAdd.vue 파일 보기

@@ -0,0 +1,479 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">添加入股经营</p>
</template>
</van-nav-bar>
<van-form ref="_Form">
<div class="main_box">

<van-field
v-model="circulation.zcfmc"
label="申请人姓名"
placeholder="请输入申请人姓名"
@input="remoteTransfereeMethod"
:rules="[{ required: true }]" required
/>


<van-cell v-for="item in getObligeeOptions"
:key="item.shyqrdbxm"
@click="shyqrdmxmChange(item)"
>
{{item.shyqrdbxm}}
</van-cell>

<van-popup v-model="showshyqrdm" position="bottom">
<van-picker
show-toolbar
:columns="shyqrdmDictionaries"
@confirm="onConfirmShyqrdm"
@cancel="showshyqrdm = false"
/>
</van-popup>
<van-field
readonly
v-model="circulation.zjddm"
label="宅基地代码"
input-align="right"
>
<template #button>
<van-button size="small" @click="mapLook" type="primary">选择宅基地</van-button>
</template>
</van-field>
<van-popup v-model="showzjddm" position="bottom" >
<van-picker
show-toolbar
:columns="zjdDictionaries"
@confirm="onConfirmZjddm"
@cancel="showzjddm = false"
/>
</van-popup>
<van-field
disabled
v-model="xb"
label="性别"
input-align="right"
label-width="auto"
/>
<van-field v-model="circulation.zcfdh" label="联系电话" placeholder="请输入联系电话" input-align="right" label-width="auto" :rules="[{pattern: /(^\d{7}(\d{4})?$)/}]" required/>
<van-field disabled v-model="circulation.zcfzjhm" label="证件号码" placeholder="证件号码" input-align="right" label-width="auto" />
<van-cell title="是否本集体经济组织成员" >
<template #right-icon>
<van-radio-group v-model="circulation.zcfzz" direction="horizontal" >
<van-radio name="1">是</van-radio>
<van-radio name="0">否</van-radio>
</van-radio-group>
</template>
</van-cell>
<van-field
v-model ="circulation.zjdmj"
type = "number"
@keyup = "circulation.zjdmj=circulation.zjdmj.replace(circulation.zjdmj,RestrictedMoney(circulation.zjdmj))"
label="经营面积(㎡)"
input-align="right"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-field
readonly
clickable
name="picker"
v-model="circulation.phtime"
label="合同签订日期"
placeholder="选择合同签订日期"
@click="showbasj = true"
input-align="right"
right-icon="arrow-down"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-popup v-model="showbasj" position="bottom">
<van-datetime-picker
:value="new Date"
type="date"
title="选择年月日"
@confirm="onConfirmBasj"
@cancel="showbasj = false"
/>
</van-popup>
<van-field
readonly
clickable
name="picker"
v-model="circulation.qsrq"
label="入股开始时间"
placeholder="选择入股开始时间"
@click="showqsrq = true"
input-align="right"
right-icon="arrow-down"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-popup v-model="showqsrq" position="bottom">
<van-datetime-picker
:value="new Date"
type="date"
title="选择年月日"
@confirm="onConfirmQsrq"
@cancel="showqsrq = false"
/>
</van-popup>
<van-field
readonly
clickable
name="picker"
v-model="circulation.jsrq"
label="入股结束时间"
placeholder="选择入股结束时间"
@click="showjsrq = true"
input-align="right"
right-icon="arrow-down"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-popup v-model="showjsrq" position="bottom">
<van-datetime-picker
:value="new Date"
type="date"
title="选择年月日"
@confirm="onConfirmJsrq"
@cancel="showjsrq = false"
/>
</van-popup>
<van-field v-model="circulation.fwms" type="textarea" label="地上房屋描述" placeholder="请输入地上房屋描述" input-align="right" label-width="auto" />
<van-field v-model="circulation.bz" type="textarea" label="备注" placeholder="请输入备注" input-align="right" label-width="auto" />

<van-field v-model="circulation.zrfmc" label="经营方姓名" placeholder="请输入经营方姓名" input-align="right" label-width="auto" :rules="[{ required: true }]" required />
<van-field v-model="circulation.zrfzjhm" label="经营方证件号" placeholder="请输入经营方证件号" input-align="right" label-width="auto" :rules="[{ required: true }]" required/>
<van-field v-model="circulation.zrfdh" label="经营方电话" placeholder="请输入经营方电话" input-align="right" label-width="auto" :rules="[{pattern: /(^\d{7}(\d{4})?$)/}]" required/>
<van-dialog v-model:show="mapShow" show-cancel-button>
<MapGisObtain ref="zjdProductResh" :shqrxm="circulation.zcfmc" @closeMoule="closeMoule"></MapGisObtain>
</van-dialog>

</div>
</van-form>

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

<script>
import { zjdzd, obligeeList } from "@/api/onlineHome/homestead/circulation";
import { addPhxxb,updatePhxxb,queryGeoZjdzd } from "@/api/onlineHome/phfs/phfs";
import { ycsyAdd , listByDeptId } from "@/api/onlineHome/homestead/paidUtilize";
import MapGisObtain from "@/components/Map/MapGisObtain";
import {Notify} from "vant";
export default {
name: "czjyAdd",
components: { MapGisObtain,},
props: {
columns: {
type: Array,
default: function () {
return []
}
},
selectValue: {
type: [String, Number],
default: ''
},
option: {
type: Object,
default: function () {
return { label: 'label', value: 'value' }
}
},
isSearch: {
type: Boolean,
default: false
},
offOption: { // 关闭option配置key-value;当数据是非集合的数组的时候,开启
type: Boolean,
default: false
}
},
data() {
return {
tcqllxDictionaries:[],//退出权利类型
tclxDictionaries:[],//退出类型
tcfsDictionaries:[],//退出方式
sexDictionaries:[],//申请人证件类型
bcfsDictionaries:[],//补偿方式
zjdDictionaries:[],//宅基地代码
shyqrdmDictionaries:[],//使用权人
getObligeeOptions:[],

tcqllx:'',
tclx:'',
tcfs:'',
xb:'',
bcfs:'',
zjddm:'',
showzcfmc:false,
showtcqllx: false,
showtclx: false,
showtcfs: false,
showXb: false,
showbcfs: false,
showzjddm: false,
showshyqrdm: false,
showbasj: false,
showqsrq: false,
showjsrq: false,
showycsydqsj: false,
columnsData: [],
circulation:{phfs:"03"},
mapShow: false,
};
},
created() {
this.getDictionaries();
},
methods: {
getDictionaries(){
//退出权利类型
this.houseGetDicts("tcqllx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcqllxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出类型
this.houseGetDicts("tclx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tclxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出方式
this.houseGetDicts("tcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//性别
this.houseGetDicts("sex").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.sexDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//补偿方式
this.houseGetDicts("bcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.bcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//宅基地代码
zjdzd().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.zjdDictionaries.push(zjdRes.rows[i].zjddm);
}
});
//使用权人代码
listByDeptId().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.shyqrdmDictionaries.push(zjdRes.rows[i].shyqrdm);
}
});
},
plusOrMinus(values) {
let newValue
if (!(/[^0-9.-]/g.test(values))) {
newValue = values.replace(/[^\-\d.]/g, '').replace(/\b(0+){2,}/g, '0').replace(/\-{2,}/g, '-').replace(/^\./g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.')
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[1].length) > 2) {
newValue = parseInt(parseFloat(newValue) * 100) / 100
}
if ((newValue.toString().split('-').length - 1) > 1) {
newValue = parseFloat(newValue) || ''
}
if ((newValue.toString().split('-').length) > 1 && newValue.toString().split('-')[0].length > 0) {
newValue = parseFloat(newValue) || ''
}
if (newValue.toString().length > 1 && (newValue.toString().charAt(0) === '0' || (newValue.toString().length > 2 && newValue.toString().charAt(0) === '-' && newValue.toString().charAt(1) === '0' && newValue.toString().charAt(2) !== '.')) && newValue.toString().indexOf('.') < 1) {
newValue = parseFloat(newValue) || ''
}
// 判断整数位最多为9位
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9) + '.' + newValue.toString().split('.')[1]
} else if (newValue.toString().indexOf('.') < 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9)
}
} else {
newValue = values.replace(/[^0-9.-]/g, '')
}
return newValue
}, materielExtraCostChange(item) {
// 防止删除为空
if (!item) {
item = '0.00'
}
// 一些错误金额输入的判断
if (item.toString().indexOf('.') > 0 && Number(item.toString().split('.')[1].length) < 1) {
item = item.toString().split('.')[0]
}
// 一些错误金额输入的判断
if (!item || item === '-' || item === '-0') {
item = '0.00'
return
}
item = parseFloat(item).toFixed(2)
},RestrictedMoney(values) {
return this.plusOrMinus(values.toString())
},
onConfirmXb(data){
this.xb = data.text;
this.circulation.zcfxb = data.value;
this.showXb = false;
},
onConfirmZjddm(data){
this.circulation.zjddm = data;
this.showzjddm = false;
},
onConfirmShyqrdm(data){
this.circulation.shyqrdm = data;
this.showshyqrdm = false;
},
onConfirmBasj(data){
this.circulation.phtime = this.getNowFormatDate(data).substr(0,10);
this.showbasj = false;
},
onConfirmQsrq(data){
this.circulation.qsrq = this.getNowFormatDate(data).substr(0,10);
this.showqsrq = false;
},
onConfirmJsrq(data){
this.circulation.jsrq = this.getNowFormatDate(data).substr(0,10);
this.showjsrq = false;
},
goEdit(){
window.location.replace("paidUtilizeList")
},
mapLook(){
this.mapShow =true;
setTimeout(() => {
this.$refs.zjdProductResh.drawingLyPaceCountryDarw();
},1000)
},
/** 查找地图中宅基地 */
closeMoule: function (data) {
this.circulation.zjddm = data;
queryGeoZjdzd({zjddm:data}).then(zjdxxRes => {
if(zjdxxRes.data != null){
this.$set(this.circulation, "zjdmj", zjdxxRes.data.zdmj);
}
});
},
/** 模糊查询人员信息 */
remoteTransfereeMethod(query) {
let _this = this;
if (query !== "") {
let queryMember = {
hzxm : query,
};
this.searchLoading = true;
obligeeList({shyqrdbxm:query,status:2}).then((response) => {
this.searchLoading = false;
if (response.code == 200) {
this.getObligeeOptions = response.rows.map((item) => {
// _this.$set(_this.form, "zcfxb", item.xb);
// _this.$set(_this.form, "zcfdh", item.dh);
// _this.$set(_this.form, "zcfzjhm", item.shyqrdbzjhm);
// _this.$set(_this.form, "zcfdm", item.nhdm);
return {
zcfxb:item.xb,
zcfdh:item.dh,
zcfzjhm:item.shyqrdbzjhm,
zcfdm:item.nhdm,
shyqrdbxm: item.shyqrdbxm,
shyqrdm: item.shyqrdm,
zcfzz: item.sfbncjtjjzzcy
};
});
}
});
} else {
this.getObligeeOptions = [];
}
},
clearFrom() {
// this.initData();
this.getObligeeOptions = [];
},
shyqrdmxmChange(val){
let _this = this;
this.sexDictionaries.map(function (item) {
if(item.value === val.zcfxb){
_this.xb = item.text;
}
})
this.$set(this.circulation, "zcfxb", val.zcfxb);
this.$set(this.circulation, "zcfdh", val.zcfdh);
this.$set(this.circulation, "zcfzjhm", val.zcfzjhm);
this.$set(this.circulation, "zcfdm", val.zcfdm);
this.$set(this.circulation, "zcfmc", val.shyqrdbxm);
this.$set(this.circulation, "zcfzz", val.zcfzz);
this.getObligeeOptions=[];
},
goSubmit(){
console.info( this.$refs._Form.validate());
this.$refs._Form.validate().then(() => {
if (this.circulation.id != null) {
updatePhxxb(this.circulation).then(response => {
this.$toast.success("修改成功");
setTimeout(function(){
window.location.replace("rgjyList")
},1000)
});
} else {
addPhxxb(this.circulation).then(response => {
this.$toast.success("新增成功");
setTimeout(function(){
window.location.replace("rgjyList")
},1000)
});
}
}).catch((e) => {
Notify({ type: 'danger', message: '请填写完整的表单项' });
});
}
},
}
</script>

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

}

</style>

+ 450
- 0
src/views/onlineHome/phfs/rgjy/rgjyDetails.vue 파일 보기

@@ -0,0 +1,450 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">入股经营</p>
</template>
</van-nav-bar>
<van-form ref="_Form">
<div class="main_box">

<van-field
readonly
v-model="circulation.zcfmc"
label="申请人姓名"
placeholder="请输入申请人姓名"
@input="remoteTransfereeMethod"
/>


<van-cell v-for="item in getObligeeOptions"
:key="item.shyqrdbxm"
@click="shyqrdmxmChange(item)"
>
{{item.shyqrdbxm}}
</van-cell>

<van-popup v-model="showshyqrdm" position="bottom">
<van-picker
show-toolbar
:columns="shyqrdmDictionaries"
@confirm="onConfirmShyqrdm"
@cancel="showshyqrdm = false"
/>
</van-popup>
<van-field
readonly
v-model="circulation.zjddm"
label="宅基地代码"
input-align="right"
>
<template #button>
<van-button size="small" @click="mapLook" type="primary">查看地图</van-button>
</template>
</van-field>
<van-popup v-model="showzjddm" position="bottom" >
<van-picker
show-toolbar
:columns="zjdDictionaries"
@confirm="onConfirmZjddm"
@cancel="showzjddm = false"
/>
</van-popup>
<van-field
readonly
v-model="circulation.zcfxb"
label="性别"
input-align="right"
label-width="auto"
/>
<van-field readonly v-model="circulation.zcfdh" label="联系电话" placeholder="请输入联系电话" input-align="right" label-width="auto" />
<van-field readonly v-model="circulation.zcfzjhm" label="证件号码" placeholder="证件号码" input-align="right" label-width="auto" />
<van-cell title="是否本集体经济组织成员" >
<template #right-icon>
<van-radio-group disabled v-model="circulation.zcfzz" direction="horizontal" >
<van-radio name="1">是</van-radio>
<van-radio name="0">否</van-radio>
</van-radio-group>
</template>
</van-cell>

<van-field
readonly
v-model ="circulation.zjdmj"
type = "number"
@keyup = "circulation.zjdmj=circulation.zjdmj.replace(circulation.zjdmj,RestrictedMoney(circulation.zjdmj))"
label="经营面积(㎡)"
input-align="right"
label-width="auto"
/>
<van-field
readonly
v-model="circulation.phtime"
label="合同签订日期"
placeholder="选择合同签订日期"
input-align="right"
label-width="auto"
/>
<van-field
readonly
v-model="circulation.qsrq"
label="入股开始时间"
placeholder="选择入股开始时间"
input-align="right"
label-width="auto"
/>
<van-field
readonly
v-model="circulation.jsrq"
label="入股结束时间"
placeholder="选择入股结束时间"
input-align="right"
label-width="auto"
/>
<van-field readonly v-model="circulation.fwms" type="textarea" label="地上房屋描述" placeholder="请输入地上房屋描述" input-align="right" label-width="auto" />
<van-field readonly v-model="circulation.bz" type="textarea" label="备注" placeholder="请输入备注" input-align="right" label-width="auto" />
<van-field readonly v-model="circulation.zrfmc" label="经营方姓名" placeholder="请输入经营方姓名" input-align="right" label-width="auto" :rules="[{ required: true }]" required />
<van-field readonly v-model="circulation.zrfzjhm" label="经营方证件号" placeholder="请输入经营方证件号" input-align="right" label-width="auto" :rules="[{ required: true }]" required/>
<van-field readonly v-model="circulation.zrfdh" label="经营方电话" placeholder="请输入经营方电话" input-align="right" label-width="auto" :rules="[{ required: true }]" required/>

<van-dialog v-model:show="mapShow" show-cancel-button>
<MapGisLyDrawing ref="zjdProductResh" :message="circulation.zjddm" @closeMoule="closeMoule"></MapGisLyDrawing>
</van-dialog>

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

<script>
import { zjdzd, obligeeList } from "@/api/onlineHome/homestead/circulation";
import { addPhxxb,updatePhxxb,getPhxxb } from "@/api/onlineHome/phfs/phfs";
import { ycsyAdd , listByDeptId } from "@/api/onlineHome/homestead/paidUtilize";
import MapGisLyDrawing from "@/components/Map/MapGisLyDrawing";
import {Notify} from "vant";
export default {
name: "paidUtilizeAdd",
components: { MapGisLyDrawing,},
props: {
columns: {
type: Array,
default: function () {
return []
}
},
selectValue: {
type: [String, Number],
default: ''
},
option: {
type: Object,
default: function () {
return { label: 'label', value: 'value' }
}
},
isSearch: {
type: Boolean,
default: false
},
offOption: { // 关闭option配置key-value;当数据是非集合的数组的时候,开启
type: Boolean,
default: false
}
},
data() {
return {
tcqllxDictionaries:[],//退出权利类型
tclxDictionaries:[],//退出类型
tcfsDictionaries:[],//退出方式
sexDictionaries:[],//申请人证件类型
bcfsDictionaries:[],//补偿方式
zjdDictionaries:[],//宅基地代码
shyqrdmDictionaries:[],//使用权人
getObligeeOptions:[],

tcqllx:'',
tclx:'',
tcfs:'',
xb:'',
bcfs:'',
zjddm:'',
showzcfmc:false,
showtcqllx: false,
showtclx: false,
showtcfs: false,
showXb: false,
showbcfs: false,
showzjddm: false,
showshyqrdm: false,
showbasj: false,
showycsydqsj: false,
columnsData: [],
circulation:{id: null},
mapShow: false,
};
},
created() {
this.circulation.id = this.$route.query.id;
this.getDetail();
},
methods: {
getDictionaries(){
//退出权利类型
this.houseGetDicts("tcqllx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcqllxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出类型
this.houseGetDicts("tclx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tclxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出方式
this.houseGetDicts("tcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//性别
this.houseGetDicts("sex").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.sexDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//补偿方式
this.houseGetDicts("bcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.bcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//宅基地代码
zjdzd().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.zjdDictionaries.push(zjdRes.rows[i].zjddm);
}
});
//使用权人代码
listByDeptId().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.shyqrdmDictionaries.push(zjdRes.rows[i].shyqrdm);
}
});
},
getDetail()
{
getPhxxb(this.$route.query.id).then(response => {
this.circulation = response.data;
//性别
this.houseGetDicts("sex").then((res) => {
this.circulation.zcfxb = this.selectDictLabel(res.data, response.data.zcfxb);
});
});
},
plusOrMinus(values) {
let newValue
if (!(/[^0-9.-]/g.test(values))) {
newValue = values.replace(/[^\-\d.]/g, '').replace(/\b(0+){2,}/g, '0').replace(/\-{2,}/g, '-').replace(/^\./g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.')
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[1].length) > 2) {
newValue = parseInt(parseFloat(newValue) * 100) / 100
}
if ((newValue.toString().split('-').length - 1) > 1) {
newValue = parseFloat(newValue) || ''
}
if ((newValue.toString().split('-').length) > 1 && newValue.toString().split('-')[0].length > 0) {
newValue = parseFloat(newValue) || ''
}
if (newValue.toString().length > 1 && (newValue.toString().charAt(0) === '0' || (newValue.toString().length > 2 && newValue.toString().charAt(0) === '-' && newValue.toString().charAt(1) === '0' && newValue.toString().charAt(2) !== '.')) && newValue.toString().indexOf('.') < 1) {
newValue = parseFloat(newValue) || ''
}
// 判断整数位最多为9位
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9) + '.' + newValue.toString().split('.')[1]
} else if (newValue.toString().indexOf('.') < 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9)
}
} else {
newValue = values.replace(/[^0-9.-]/g, '')
}
return newValue
}, materielExtraCostChange(item) {
// 防止删除为空
if (!item) {
item = '0.00'
}
// 一些错误金额输入的判断
if (item.toString().indexOf('.') > 0 && Number(item.toString().split('.')[1].length) < 1) {
item = item.toString().split('.')[0]
}
// 一些错误金额输入的判断
if (!item || item === '-' || item === '-0') {
item = '0.00'
return
}
item = parseFloat(item).toFixed(2)
},RestrictedMoney(values) {
return this.plusOrMinus(values.toString())
},
onConfirmZjddm(data){
console.log(data)
this.circulation.zjddm = data;
this.showzjddm = false;
},
onConfirmXb(data){
this.xb = data.text;
this.circulation.zcfxb = data.value;
this.showXb = false;
},
onConfirmTcqllx(data){
this.tcqllx = data.text;
this.circulation.tcqllx = data.value;
this.showtcqllx = false;
},
onConfirmTclx(data){
this.tclx = data.text;
this.circulation.tclx = data.value;
this.showtclx = false;
},
onConfirmTcfs(data){
this.tcfs = data.text;
this.circulation.tcfs = data.value;
this.showtcfs = false;
},
onConfirmBcfs(data){
this.bcfs = data.text;
this.circulation.bcfs = data.value;
this.showbcfs = false;
},
onConfirmShyqrdm(data){
this.circulation.shyqrdm = data;
this.showshyqrdm = false;
},
onConfirmBasj(data){
this.circulation.phtime = this.getNowFormatDate(data).substr(0,10);
this.showbasj = false;
},
onConfirmYcsydqsj(data){
this.circulation.ycsydqsj = this.getNowFormatDate(data).substr(0,10);
this.showycsydqsj = false;
},
goEdit(){
window.location.replace("paidUtilizeList")
},
mapLook(){
this.mapShow =true;
setTimeout(() => {
this.$refs.zjdProductResh.drawingLyPaceCountryDarw();
},1000)
},
/** 查找地图中宅基地 */
closeMoule: function (data) {
this.circulation.zjddm = data;
},
/** 模糊查询人员信息 */
remoteTransfereeMethod(query) {
let _this = this;
if (query !== "") {
let queryMember = {
hzxm : query,
};
this.searchLoading = true;
obligeeList({shyqrdbxm:query,status:2}).then((response) => {
this.searchLoading = false;
if (response.code == 200) {
this.getObligeeOptions = response.rows.map((item) => {
// _this.$set(_this.form, "zcfxb", item.xb);
// _this.$set(_this.form, "zcfdh", item.dh);
// _this.$set(_this.form, "zcfzjhm", item.shyqrdbzjhm);
// _this.$set(_this.form, "zcfdm", item.nhdm);
return {
zcfxb:item.xb,
zcfdh:item.dh,
zcfzjhm:item.shyqrdbzjhm,
zcfdm:item.nhdm,
shyqrdbxm: item.shyqrdbxm,
shyqrdm: item.shyqrdm,
zcfzz: item.sfbncjtjjzzcy
};
});
}
});
} else {
this.getObligeeOptions = [];
}
},
clearFrom() {
// this.initData();
this.getObligeeOptions = [];
},
shyqrdmxmChange(val){
let _this = this;
this.sexDictionaries.map(function (item) {
if(item.value === val.zcfxb){
_this.xb = item.text;
}
})
this.$set(this.circulation, "zcfdh", val.zcfdh);
this.$set(this.circulation, "zcfzjhm", val.zcfzjhm);
this.$set(this.circulation, "zcfdm", val.zcfdm);
this.$set(this.circulation, "zcfmc", val.shyqrdbxm);
this.$set(this.circulation, "zcfzz", val.zcfzz);
this.getObligeeOptions=[];
},
goSubmit(){
console.info( this.$refs._Form.validate());
this.$refs._Form.validate().then(() => {
if (this.circulation.id != null) {
updatePhxxb(this.circulation).then(response => {
this.$toast.success("修改成功");
setTimeout(function(){
window.location.replace("zzjyList")
},1000)
});
} else {
addPhxxb(this.circulation).then(response => {
this.$toast.success("新增成功");
setTimeout(function(){
window.location.replace("zzjyList")
},1000)
});
}
}).catch((e) => {
Notify({ type: 'danger', message: '请填写完整的表单项' });
});
}
},
}
</script>

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

}

</style>

+ 160
- 0
src/views/onlineHome/phfs/rgjy/rgjyList.vue 파일 보기

@@ -0,0 +1,160 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
@click-right="goAdd"
>
<template #title>
<p style="font-weight: bold;">入股经营</p>
</template>
<template #right>
<van-icon name="add" size="18" />
</template>
</van-nav-bar>
<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<van-swipe-cell v-for="(item,index) in applicationList" :key="index">
<van-cell :title="item.zjddm" center :to="{name:'rgjyDetails', query: {id:item.id}}" >
<template #icon>
<div class="icon" style="background:#FFA63E;width: 45px;">
<van-icon name="../../../../static/images/onlineHome/icon_rgjy.png" size="30" color="#7790FE" style="margin-left: 3px;margin-top: 3px;" />
</div>
</template>
<template #label>
<p>{{item.zcfmc}}{{item.zcfdh}}</p>
</template>
</van-cell>
<template #right>
<van-row>
<van-col>
<van-button square text="修改" :to="{name:'rgjyModify', query: {id:item.id}}" type="info" class="delete-button" />
</van-col>
<van-col>
<van-button square text="删除" @click="deleteList(item.id,index)" type="danger" class="delete-button" />
</van-col>
</van-row>
</template>

</van-swipe-cell>
</van-list>
</div>
</template>

<script>
import { getList,delPhxxb } from "@/api/onlineHome/phfs/phfs";
import {getGeoServerConfigKey} from "@/api/system/config";
export default {
name: "paidUtilizeList",
data() {
return {
applicationList:[],
houseApplyStatus:[],
sexStatus:[],
tclxStatus:[],
tcfsStatus:[],
auditStatus:[],
loading: false,
finished: false,
queryParams:{
pageNum:1,
pageSize:10,
phfs:"03",
orderByColumn:'id',
isAsc:'desc'
},
//地图服务地址
mapGeoServerUrl:"",
};
},
created() {
this.houseGetDicts("sex").then((res) => {
this.sexStatus = res.data;
});

},
methods: {
goAdd(){
window.location = 'rgjyAdd';
},
getList(){
setTimeout(() => {
getList(this.queryParams).then(response => {
for (var i = 0; i < response.rows.length; i++) {
response.rows[i].zcfxb = this.selectDictLabel(this.sexStatus, response.rows[i].zcfxb)
this.applicationList.push(response.rows[i]);
console.log(this.applicationList);
}
if(this.applicationList.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.queryParams.pageNum += 1 ;
}
});
}, 1000);
},
deleteList(id,index){
this.$dialog.confirm({
message: '您确认删除申请草稿?',
})
.then(() => {
// on confirm
this.applicationList.splice(index,1)
delPhxxb(id).then(res => {
if(res.code = 200){
this.$toast.success('删除成功');
}
});
})
.catch(() => {
// on cancel
});
},
},
}
</script>

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

+ 501
- 0
src/views/onlineHome/phfs/rgjy/rgjyModify.vue 파일 보기

@@ -0,0 +1,501 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">修改入股经营</p>
</template>
</van-nav-bar>
<van-form ref="_Form">
<div class="main_box">

<van-field
v-model="circulation.zcfmc"
label="申请人姓名"
placeholder="请输入申请人姓名"
@input="remoteTransfereeMethod"
:rules="[{ required: true }]" required
/>


<van-cell v-for="item in getObligeeOptions"
:key="item.shyqrdbxm"
@click="shyqrdmxmChange(item)"
>
{{item.shyqrdbxm}}
</van-cell>

<van-popup v-model="showshyqrdm" position="bottom">
<van-picker
show-toolbar
:columns="shyqrdmDictionaries"
@confirm="onConfirmShyqrdm"
@cancel="showshyqrdm = false"
/>
</van-popup>
<van-field
readonly
v-model="circulation.zjddm"
label="宅基地代码"
input-align="right"
>
<template #button>
<van-button size="small" @click="mapLook" type="primary">选择宅基地</van-button>
</template>
</van-field>
<van-popup v-model="showzjddm" position="bottom" >
<van-picker
show-toolbar
:columns="zjdDictionaries"
@confirm="onConfirmZjddm"
@cancel="showzjddm = false"
/>
</van-popup>
<van-field
disabled
v-model="xb"
label="性别"
input-align="right"
label-width="auto"
/>
<van-field v-model="circulation.zcfdh" label="联系电话" placeholder="请输入联系电话" input-align="right" label-width="auto" :rules="[{pattern: /(^\d{7}(\d{4})?$)/}]" required/>
<van-field disabled v-model="circulation.zcfzjhm" label="证件号码" placeholder="证件号码" input-align="right" label-width="auto" />
<van-cell title="是否本集体经济组织成员" >
<template #right-icon>
<van-radio-group v-model="circulation.zcfzz" direction="horizontal" >
<van-radio name="1">是</van-radio>
<van-radio name="0">否</van-radio>
</van-radio-group>
</template>
</van-cell>

<van-field
v-model ="circulation.zjdmj"
type = "number"
@keyup = "circulation.zjdmj=circulation.zjdmj.replace(circulation.zjdmj,RestrictedMoney(circulation.zjdmj))"
label="经营面积(㎡)"
input-align="right"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-field
readonly
clickable
name="picker"
v-model="circulation.phtime"
label="备案时间"
placeholder="选择备案时间"
@click="showbasj = true"
input-align="right"
right-icon="arrow-down"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-popup v-model="showbasj" position="bottom">
<van-datetime-picker
:value="new Date"
type="date"
title="选择年月日"
@confirm="onConfirmBasj"
@cancel="showbasj = false"
/>
</van-popup>
<van-field
readonly
clickable
name="picker"
v-model="circulation.qsrq"
label="入股开始时间"
placeholder="选择入股开始时间"
@click="showqsrq = true"
input-align="right"
right-icon="arrow-down"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-popup v-model="showqsrq" position="bottom">
<van-datetime-picker
:value="new Date"
type="date"
title="选择年月日"
@confirm="onConfirmQsrq"
@cancel="showqsrq = false"
/>
</van-popup>
<van-field
readonly
clickable
name="picker"
v-model="circulation.jsrq"
label="入股结束时间"
placeholder="选择入股结束时间"
@click="showjsrq = true"
input-align="right"
right-icon="arrow-down"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-field v-model="circulation.fwms" type="textarea" label="地上房屋描述" placeholder="请输入地上房屋描述" input-align="right" label-width="auto" />
<van-field v-model="circulation.bz" type="textarea" label="备注" placeholder="请输入备注" input-align="right" label-width="auto" />
<van-field v-model="circulation.zrfmc" label="经营方姓名" placeholder="请输入经营方姓名" input-align="right" label-width="auto" :rules="[{ required: true }]" required />
<van-field v-model="circulation.zrfzjhm" label="经营方证件号" placeholder="请输入经营方证件号" input-align="right" label-width="auto" :rules="[{ required: true }]" required/>
<van-field v-model="circulation.zrfdh" label="经营方电话" placeholder="请输入经营方电话" input-align="right" label-width="auto" :rules="[{pattern: /(^\d{7}(\d{4})?$)/}]" required/>

<van-dialog v-model:show="mapShow" show-cancel-button>
<MapGisObtain ref="zjdProductResh" :shqrxm="circulation.zcfmc" @closeMoule="closeMoule"></MapGisObtain>
</van-dialog>

</div>
</van-form>

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

<script>
import { zjdzd, obligeeList } from "@/api/onlineHome/homestead/circulation";
import { addPhxxb,updatePhxxb,getPhxxb } from "@/api/onlineHome/phfs/phfs";
import { ycsyAdd , listByDeptId } from "@/api/onlineHome/homestead/paidUtilize";
import MapGisObtain from "@/components/Map/MapGisObtain";
import {Notify} from "vant";
export default {
name: "paidUtilizeAdd",
components: { MapGisObtain,},
props: {
columns: {
type: Array,
default: function () {
return []
}
},
selectValue: {
type: [String, Number],
default: ''
},
option: {
type: Object,
default: function () {
return { label: 'label', value: 'value' }
}
},
isSearch: {
type: Boolean,
default: false
},
offOption: { // 关闭option配置key-value;当数据是非集合的数组的时候,开启
type: Boolean,
default: false
}
},
data() {
return {
tcqllxDictionaries:[],//退出权利类型
tclxDictionaries:[],//退出类型
tcfsDictionaries:[],//退出方式
sexDictionaries:[],//申请人证件类型
bcfsDictionaries:[],//补偿方式
zjdDictionaries:[],//宅基地代码
shyqrdmDictionaries:[],//使用权人
getObligeeOptions:[],

tcqllx:'',
tclx:'',
tcfs:'',
xb:'',
bcfs:'',
zjddm:'',
showzcfmc:false,
showtcqllx: false,
showtclx: false,
showtcfs: false,
showXb: false,
showbcfs: false,
showzjddm: false,
showshyqrdm: false,
showbasj: false,
showqsrq: false,
showjsrq: false,
showycsydqsj: false,
columnsData: [],
circulation:{},
mapShow: false,
};
},
created() {
this.getDetail();
this.getDictionaries();
},
methods: {
getDictionaries(){
//退出权利类型
this.houseGetDicts("tcqllx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcqllxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出类型
this.houseGetDicts("tclx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tclxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出方式
this.houseGetDicts("tcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//性别
this.houseGetDicts("sex").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.sexDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//补偿方式
this.houseGetDicts("bcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.bcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//宅基地代码
zjdzd().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.zjdDictionaries.push(zjdRes.rows[i].zjddm);
}
});
//使用权人代码
listByDeptId().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.shyqrdmDictionaries.push(zjdRes.rows[i].shyqrdm);
}
});
},
getDetail()
{
getPhxxb(this.$route.query.id).then(response => {
this.circulation = response.data;
this.houseGetDicts("sex").then((res) => {
this.xb = this.selectDictLabel(res.data, response.data.zcfxb);
});
});
},
plusOrMinus(values) {
let newValue
if (!(/[^0-9.-]/g.test(values))) {
newValue = values.replace(/[^\-\d.]/g, '').replace(/\b(0+){2,}/g, '0').replace(/\-{2,}/g, '-').replace(/^\./g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.')
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[1].length) > 2) {
newValue = parseInt(parseFloat(newValue) * 100) / 100
}
if ((newValue.toString().split('-').length - 1) > 1) {
newValue = parseFloat(newValue) || ''
}
if ((newValue.toString().split('-').length) > 1 && newValue.toString().split('-')[0].length > 0) {
newValue = parseFloat(newValue) || ''
}
if (newValue.toString().length > 1 && (newValue.toString().charAt(0) === '0' || (newValue.toString().length > 2 && newValue.toString().charAt(0) === '-' && newValue.toString().charAt(1) === '0' && newValue.toString().charAt(2) !== '.')) && newValue.toString().indexOf('.') < 1) {
newValue = parseFloat(newValue) || ''
}
// 判断整数位最多为9位
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9) + '.' + newValue.toString().split('.')[1]
} else if (newValue.toString().indexOf('.') < 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9)
}
} else {
newValue = values.replace(/[^0-9.-]/g, '')
}
return newValue
}, materielExtraCostChange(item) {
// 防止删除为空
if (!item) {
item = '0.00'
}
// 一些错误金额输入的判断
if (item.toString().indexOf('.') > 0 && Number(item.toString().split('.')[1].length) < 1) {
item = item.toString().split('.')[0]
}
// 一些错误金额输入的判断
if (!item || item === '-' || item === '-0') {
item = '0.00'
return
}
item = parseFloat(item).toFixed(2)
},RestrictedMoney(values) {
return this.plusOrMinus(values.toString())
},
onConfirmZjddm(data){
console.log(data)
this.circulation.zjddm = data;
this.showzjddm = false;
},
onConfirmXb(data){
this.xb = data.text;
this.circulation.zcfxb = data.value;
this.showXb = false;
},
onConfirmTcqllx(data){
this.tcqllx = data.text;
this.circulation.tcqllx = data.value;
this.showtcqllx = false;
},
onConfirmTclx(data){
this.tclx = data.text;
this.circulation.tclx = data.value;
this.showtclx = false;
},
onConfirmTcfs(data){
this.tcfs = data.text;
this.circulation.tcfs = data.value;
this.showtcfs = false;
},
onConfirmBcfs(data){
this.bcfs = data.text;
this.circulation.bcfs = data.value;
this.showbcfs = false;
},
onConfirmShyqrdm(data){
this.circulation.shyqrdm = data;
this.showshyqrdm = false;
},
onConfirmBasj(data){
this.circulation.phtime = this.getNowFormatDate(data).substr(0,10);
this.showbasj = false;
},
onConfirmQsrq(data){
this.circulation.qsrq = this.getNowFormatDate(data).substr(0,10);
this.showqsrq = false;
},
onConfirmJsrq(data){
this.circulation.jsrq = this.getNowFormatDate(data).substr(0,10);
this.showjsrq = false;
},
onConfirmYcsydqsj(data){
this.circulation.ycsydqsj = this.getNowFormatDate(data).substr(0,10);
this.showycsydqsj = false;
},
goEdit(){
window.location.replace("paidUtilizeList")
},
mapLook(){
this.mapShow =true;
setTimeout(() => {
this.$refs.zjdProductResh.drawingLyPaceCountryDarw();
},1000)
},
/** 查找地图中宅基地 */
closeMoule: function (data) {
this.circulation.zjddm = data;
},
/** 模糊查询人员信息 */
remoteTransfereeMethod(query) {
let _this = this;
if (query !== "") {
let queryMember = {
hzxm : query,
};
this.searchLoading = true;
obligeeList({shyqrdbxm:query,status:2}).then((response) => {
this.searchLoading = false;
if (response.code == 200) {
this.getObligeeOptions = response.rows.map((item) => {
// _this.$set(_this.form, "zcfxb", item.xb);
// _this.$set(_this.form, "zcfdh", item.dh);
// _this.$set(_this.form, "zcfzjhm", item.shyqrdbzjhm);
// _this.$set(_this.form, "zcfdm", item.nhdm);
return {
zcfxb:item.xb,
zcfdh:item.dh,
zcfzjhm:item.shyqrdbzjhm,
zcfdm:item.nhdm,
shyqrdbxm: item.shyqrdbxm,
shyqrdm: item.shyqrdm,
zcfzz: item.sfbncjtjjzzcy
};
});
}
});
} else {
this.getObligeeOptions = [];
}
},
clearFrom() {
// this.initData();
this.getObligeeOptions = [];
},
shyqrdmxmChange(val){
let _this = this;
this.sexDictionaries.map(function (item) {
if(item.value === val.zcfxb){
_this.xb = item.text;
}
})
this.$set(this.circulation, "zcfxb", val.zcfxb);
this.$set(this.circulation, "zcfdh", val.zcfdh);
this.$set(this.circulation, "zcfzjhm", val.zcfzjhm);
this.$set(this.circulation, "zcfdm", val.zcfdm);
this.$set(this.circulation, "zcfmc", val.shyqrdbxm);
this.$set(this.circulation, "zcfzz", val.zcfzz);
this.getObligeeOptions=[];
},
goSubmit(){
console.info( this.$refs._Form.validate());
this.$refs._Form.validate().then(() => {
if (this.circulation.id != null) {
updatePhxxb(this.circulation).then(response => {
this.$toast.success("修改成功");
setTimeout(function(){
window.location.replace("rgjyList")
},1000)
});
} else {
addPhxxb(this.circulation).then(response => {
this.$toast.success("新增成功");
setTimeout(function(){
window.location.replace("rgjyList")
},1000)
});
}
}).catch((e) => {
Notify({ type: 'danger', message: '请填写完整的表单项' });
});
}
},
}
</script>

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

}

</style>

+ 450
- 0
src/views/onlineHome/phfs/zzjy/zzjyAdd.vue 파일 보기

@@ -0,0 +1,450 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">添加自主经营</p>
</template>
</van-nav-bar>
<van-form ref="_Form">
<div class="main_box">

<van-field
v-model="circulation.zcfmc"
label="申请人姓名"
placeholder="请输入申请人姓名"
@input="remoteTransfereeMethod"
:rules="[{ required: true }]" required
/>


<van-cell v-for="item in getObligeeOptions"
:key="item.shyqrdbxm"
@click="shyqrdmxmChange(item)"
>
{{item.shyqrdbxm}}
</van-cell>

<van-popup v-model="showshyqrdm" position="bottom">
<van-picker
show-toolbar
:columns="shyqrdmDictionaries"
@confirm="onConfirmShyqrdm"
@cancel="showshyqrdm = false"
/>
</van-popup>
<van-field
readonly
v-model="circulation.zjddm"
label="宅基地代码"
input-align="right"
>
<template #button>
<van-button size="small" @click="mapLook" type="primary">选择宅基地</van-button>
</template>
</van-field>
<van-popup v-model="showzjddm" position="bottom" >
<van-picker
show-toolbar
:columns="zjdDictionaries"
@confirm="onConfirmZjddm"
@cancel="showzjddm = false"
/>
</van-popup>
<van-field
disabled
v-model="xb"
label="性别"
input-align="right"
label-width="auto"
/>
<van-field v-model="circulation.zcfdh" label="联系电话" placeholder="请输入联系电话" input-align="right" label-width="auto" :rules="[{pattern: /(^\d{7}(\d{4})?$)/}]" required/>
<van-field disabled v-model="circulation.zcfzjhm" label="证件号码" placeholder="证件号码" input-align="right" label-width="auto" />
<van-cell title="是否本集体经济组织成员" >
<template #right-icon>
<van-radio-group v-model="circulation.zcfzz" direction="horizontal" >
<van-radio name="1">是</van-radio>
<van-radio name="0">否</van-radio>
</van-radio-group>
</template>
</van-cell>

<van-field
v-model ="circulation.zjdmj"
type = "number"
@keyup = "circulation.zjdmj=circulation.zjdmj.replace(circulation.zjdmj,RestrictedMoney(circulation.zjdmj))"
label="经营面积(㎡)"
input-align="right"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-field
readonly
clickable
name="picker"
v-model="circulation.phtime"
label="备案时间"
placeholder="选择备案时间"
@click="showbasj = true"
input-align="right"
right-icon="arrow-down"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-popup v-model="showbasj" position="bottom">
<van-datetime-picker
:value="new Date"
type="date"
title="选择年月日"
@confirm="onConfirmBasj"
@cancel="showbasj = false"
/>
</van-popup>
<van-field v-model="circulation.fwms" type="textarea" label="地上房屋描述" placeholder="请输入地上房屋描述" input-align="right" label-width="auto" />
<van-field v-model="circulation.bz" type="textarea" label="备注" placeholder="请输入备注" input-align="right" label-width="auto" />

<van-dialog v-model:show="mapShow" show-cancel-button>
<MapGisObtain ref="zjdProductResh" :shqrxm="circulation.zcfmc" @closeMoule="closeMoule"></MapGisObtain>
</van-dialog>

</div>
</van-form>

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

<script>
import { zjdzd, obligeeList } from "@/api/onlineHome/homestead/circulation";
import { addPhxxb,updatePhxxb,queryGeoZjdzd } from "@/api/onlineHome/phfs/phfs";
import { ycsyAdd , listByDeptId } from "@/api/onlineHome/homestead/paidUtilize";
import MapGisObtain from "@/components/Map/MapGisObtain";
import {Notify} from "vant";
export default {
name: "paidUtilizeAdd",
components: { MapGisObtain,},
props: {
columns: {
type: Array,
default: function () {
return []
}
},
selectValue: {
type: [String, Number],
default: ''
},
option: {
type: Object,
default: function () {
return { label: 'label', value: 'value' }
}
},
isSearch: {
type: Boolean,
default: false
},
offOption: { // 关闭option配置key-value;当数据是非集合的数组的时候,开启
type: Boolean,
default: false
}
},
data() {
return {
tcqllxDictionaries:[],//退出权利类型
tclxDictionaries:[],//退出类型
tcfsDictionaries:[],//退出方式
sexDictionaries:[],//申请人证件类型
bcfsDictionaries:[],//补偿方式
zjdDictionaries:[],//宅基地代码
shyqrdmDictionaries:[],//使用权人
getObligeeOptions:[],

tcqllx:'',
tclx:'',
tcfs:'',
xb:'',
bcfs:'',
zjddm:'',
showzcfmc:false,
showtcqllx: false,
showtclx: false,
showtcfs: false,
showXb: false,
showbcfs: false,
showzjddm: false,
showshyqrdm: false,
showbasj: false,
showycsydqsj: false,
columnsData: [],
circulation:{phfs:"01"},
mapShow: false,
};
},
created() {
this.getDictionaries();
},
methods: {
getDictionaries(){
//退出权利类型
this.houseGetDicts("tcqllx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcqllxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出类型
this.houseGetDicts("tclx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tclxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出方式
this.houseGetDicts("tcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//性别
this.houseGetDicts("sex").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.sexDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//补偿方式
this.houseGetDicts("bcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.bcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//宅基地代码
zjdzd().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.zjdDictionaries.push(zjdRes.rows[i].zjddm);
}
});
//使用权人代码
listByDeptId().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.shyqrdmDictionaries.push(zjdRes.rows[i].shyqrdm);
}
});
},
plusOrMinus(values) {
let newValue
if (!(/[^0-9.-]/g.test(values))) {
newValue = values.replace(/[^\-\d.]/g, '').replace(/\b(0+){2,}/g, '0').replace(/\-{2,}/g, '-').replace(/^\./g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.')
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[1].length) > 2) {
newValue = parseInt(parseFloat(newValue) * 100) / 100
}
if ((newValue.toString().split('-').length - 1) > 1) {
newValue = parseFloat(newValue) || ''
}
if ((newValue.toString().split('-').length) > 1 && newValue.toString().split('-')[0].length > 0) {
newValue = parseFloat(newValue) || ''
}
if (newValue.toString().length > 1 && (newValue.toString().charAt(0) === '0' || (newValue.toString().length > 2 && newValue.toString().charAt(0) === '-' && newValue.toString().charAt(1) === '0' && newValue.toString().charAt(2) !== '.')) && newValue.toString().indexOf('.') < 1) {
newValue = parseFloat(newValue) || ''
}
// 判断整数位最多为9位
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9) + '.' + newValue.toString().split('.')[1]
} else if (newValue.toString().indexOf('.') < 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9)
}
} else {
newValue = values.replace(/[^0-9.-]/g, '')
}
return newValue
}, materielExtraCostChange(item) {
// 防止删除为空
if (!item) {
item = '0.00'
}
// 一些错误金额输入的判断
if (item.toString().indexOf('.') > 0 && Number(item.toString().split('.')[1].length) < 1) {
item = item.toString().split('.')[0]
}
// 一些错误金额输入的判断
if (!item || item === '-' || item === '-0') {
item = '0.00'
return
}
item = parseFloat(item).toFixed(2)
},RestrictedMoney(values) {
return this.plusOrMinus(values.toString())
},
onConfirmZjddm(data){
console.log(data)
this.circulation.zjddm = data;
this.showzjddm = false;
},
onConfirmXb(data){
this.xb = data.text;
this.circulation.zcfxb = data.value;
this.showXb = false;
},
onConfirmTcqllx(data){
this.tcqllx = data.text;
this.circulation.tcqllx = data.value;
this.showtcqllx = false;
},
onConfirmTclx(data){
this.tclx = data.text;
this.circulation.tclx = data.value;
this.showtclx = false;
},
onConfirmTcfs(data){
this.tcfs = data.text;
this.circulation.tcfs = data.value;
this.showtcfs = false;
},
onConfirmBcfs(data){
this.bcfs = data.text;
this.circulation.bcfs = data.value;
this.showbcfs = false;
},
onConfirmShyqrdm(data){
this.circulation.shyqrdm = data;
this.showshyqrdm = false;
},
onConfirmBasj(data){
this.circulation.phtime = this.getNowFormatDate(data).substr(0,10);
this.showbasj = false;
},
onConfirmYcsydqsj(data){
this.circulation.ycsydqsj = this.getNowFormatDate(data).substr(0,10);
this.showycsydqsj = false;
},
goEdit(){
window.location.replace("paidUtilizeList")
},
mapLook(){
this.mapShow =true;
setTimeout(() => {
this.$refs.zjdProductResh.drawingLyPaceCountryDarw();
},1000)
},
/** 查找地图中宅基地 */
closeMoule: function (data) {
this.circulation.zjddm = data;
queryGeoZjdzd({zjddm:data}).then(zjdxxRes => {
if(zjdxxRes.data != null){
this.$set(this.circulation, "zjdmj", zjdxxRes.data.zdmj);
}
});
},
/** 模糊查询人员信息 */
remoteTransfereeMethod(query) {
let _this = this;
if (query !== "") {
let queryMember = {
hzxm : query,
};
this.searchLoading = true;
obligeeList({shyqrdbxm:query,status:2}).then((response) => {
this.searchLoading = false;
if (response.code == 200) {
this.getObligeeOptions = response.rows.map((item) => {
// _this.$set(_this.form, "zcfxb", item.xb);
// _this.$set(_this.form, "zcfdh", item.dh);
// _this.$set(_this.form, "zcfzjhm", item.shyqrdbzjhm);
// _this.$set(_this.form, "zcfdm", item.nhdm);
return {
zcfxb:item.xb,
zcfdh:item.dh,
zcfzjhm:item.shyqrdbzjhm,
zcfdm:item.nhdm,
shyqrdbxm: item.shyqrdbxm,
shyqrdm: item.shyqrdm,
zcfzz: item.sfbncjtjjzzcy
};
});
}
});
} else {
this.getObligeeOptions = [];
}
},
clearFrom() {
// this.initData();
this.getObligeeOptions = [];
},
shyqrdmxmChange(val){
let _this = this;
this.sexDictionaries.map(function (item) {
if(item.value === val.zcfxb){
_this.xb = item.text;
}
})
this.$set(this.circulation, "zcfxb", val.zcfxb);
this.$set(this.circulation, "zcfdh", val.zcfdh);
this.$set(this.circulation, "zcfzjhm", val.zcfzjhm);
this.$set(this.circulation, "zcfdm", val.zcfdm);
this.$set(this.circulation, "zcfmc", val.shyqrdbxm);
this.$set(this.circulation, "zcfzz", val.zcfzz);
this.getObligeeOptions=[];
},
goSubmit(){
console.info( this.$refs._Form.validate());
this.$refs._Form.validate().then(() => {
if (this.circulation.id != null) {
updatePhxxb(this.circulation).then(response => {
this.$toast.success("修改成功");
setTimeout(function(){
window.location.replace("zzjyList")
},1000)
});
} else {
addPhxxb(this.circulation).then(response => {
this.$toast.success("新增成功");
setTimeout(function(){
window.location.replace("zzjyList")
},1000)
});
}
}).catch((e) => {
Notify({ type: 'danger', message: '请填写完整的表单项' });
});
}
},
}
</script>

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

}

</style>

+ 432
- 0
src/views/onlineHome/phfs/zzjy/zzjyDetails.vue 파일 보기

@@ -0,0 +1,432 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">自主经营</p>
</template>
</van-nav-bar>
<van-form ref="_Form">
<div class="main_box">

<van-field
readonly
v-model="circulation.zcfmc"
label="申请人姓名"
placeholder="请输入申请人姓名"
@input="remoteTransfereeMethod"
/>


<van-cell v-for="item in getObligeeOptions"
:key="item.shyqrdbxm"
@click="shyqrdmxmChange(item)"
>
{{item.shyqrdbxm}}
</van-cell>

<van-popup v-model="showshyqrdm" position="bottom">
<van-picker
show-toolbar
:columns="shyqrdmDictionaries"
@confirm="onConfirmShyqrdm"
@cancel="showshyqrdm = false"
/>
</van-popup>
<van-field
readonly
v-model="circulation.zjddm"
label="宅基地代码"
input-align="right"
>
<template #button>
<van-button size="small" @click="mapLook" type="primary">查看地图</van-button>
</template>
</van-field>
<van-popup v-model="showzjddm" position="bottom" >
<van-picker
show-toolbar
:columns="zjdDictionaries"
@confirm="onConfirmZjddm"
@cancel="showzjddm = false"
/>
</van-popup>
<van-field
readonly
v-model="circulation.zcfxb"
label="性别"
input-align="right"
label-width="auto"
/>
<van-field readonly v-model="circulation.zcfdh" label="联系电话" placeholder="请输入联系电话" input-align="right" label-width="auto" />
<van-field readonly v-model="circulation.zcfzjhm" label="证件号码" placeholder="证件号码" input-align="right" label-width="auto" />
<van-cell title="是否本集体经济组织成员" >
<template #right-icon>
<van-radio-group disabled v-model="circulation.zcfzz" direction="horizontal" >
<van-radio name="1">是</van-radio>
<van-radio name="0">否</van-radio>
</van-radio-group>
</template>
</van-cell>

<van-field
readonly
v-model ="circulation.zjdmj"
type = "number"
@keyup = "circulation.zjdmj=circulation.zjdmj.replace(circulation.zjdmj,RestrictedMoney(circulation.zjdmj))"
label="经营面积(㎡)"
input-align="right"
label-width="auto"
/>
<van-field
readonly
v-model="circulation.phtime"
label="备案时间"
placeholder="选择备案时间"
input-align="right"
label-width="auto"
/>

<van-field readonly v-model="circulation.fwms" type="textarea" label="地上房屋描述" placeholder="请输入地上房屋描述" input-align="right" label-width="auto" />
<van-field readonly v-model="circulation.bz" type="textarea" label="备注" placeholder="请输入备注" input-align="right" label-width="auto" />

<van-dialog v-model:show="mapShow" show-cancel-button>
<MapGisLyDrawing ref="zjdProductResh" :message="circulation.zjddm" @closeMoule="closeMoule"></MapGisLyDrawing>
</van-dialog>

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

<script>
import { zjdzd, obligeeList } from "@/api/onlineHome/homestead/circulation";
import { addPhxxb,updatePhxxb,getPhxxb } from "@/api/onlineHome/phfs/phfs";
import { ycsyAdd , listByDeptId } from "@/api/onlineHome/homestead/paidUtilize";
import MapGisLyDrawing from "@/components/Map/MapGisLyDrawing";
import {Notify} from "vant";
export default {
name: "paidUtilizeAdd",
components: { MapGisLyDrawing,},
props: {
columns: {
type: Array,
default: function () {
return []
}
},
selectValue: {
type: [String, Number],
default: ''
},
option: {
type: Object,
default: function () {
return { label: 'label', value: 'value' }
}
},
isSearch: {
type: Boolean,
default: false
},
offOption: { // 关闭option配置key-value;当数据是非集合的数组的时候,开启
type: Boolean,
default: false
}
},
data() {
return {
tcqllxDictionaries:[],//退出权利类型
tclxDictionaries:[],//退出类型
tcfsDictionaries:[],//退出方式
sexDictionaries:[],//申请人证件类型
bcfsDictionaries:[],//补偿方式
zjdDictionaries:[],//宅基地代码
shyqrdmDictionaries:[],//使用权人
getObligeeOptions:[],

tcqllx:'',
tclx:'',
tcfs:'',
xb:'',
bcfs:'',
zjddm:'',
showzcfmc:false,
showtcqllx: false,
showtclx: false,
showtcfs: false,
showXb: false,
showbcfs: false,
showzjddm: false,
showshyqrdm: false,
showbasj: false,
showycsydqsj: false,
columnsData: [],
circulation:{id: null},
mapShow: false,
};
},
created() {
this.circulation.id = this.$route.query.id;
this.getDetail();
},
methods: {
getDictionaries(){
//退出权利类型
this.houseGetDicts("tcqllx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcqllxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出类型
this.houseGetDicts("tclx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tclxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出方式
this.houseGetDicts("tcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//性别
this.houseGetDicts("sex").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.sexDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//补偿方式
this.houseGetDicts("bcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.bcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//宅基地代码
zjdzd().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.zjdDictionaries.push(zjdRes.rows[i].zjddm);
}
});
//使用权人代码
listByDeptId().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.shyqrdmDictionaries.push(zjdRes.rows[i].shyqrdm);
}
});
},
getDetail()
{
getPhxxb(this.$route.query.id).then(response => {
this.circulation = response.data;
//性别
this.houseGetDicts("sex").then((res) => {
this.circulation.zcfxb = this.selectDictLabel(res.data, response.data.zcfxb);
});
});
},
plusOrMinus(values) {
let newValue
if (!(/[^0-9.-]/g.test(values))) {
newValue = values.replace(/[^\-\d.]/g, '').replace(/\b(0+){2,}/g, '0').replace(/\-{2,}/g, '-').replace(/^\./g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.')
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[1].length) > 2) {
newValue = parseInt(parseFloat(newValue) * 100) / 100
}
if ((newValue.toString().split('-').length - 1) > 1) {
newValue = parseFloat(newValue) || ''
}
if ((newValue.toString().split('-').length) > 1 && newValue.toString().split('-')[0].length > 0) {
newValue = parseFloat(newValue) || ''
}
if (newValue.toString().length > 1 && (newValue.toString().charAt(0) === '0' || (newValue.toString().length > 2 && newValue.toString().charAt(0) === '-' && newValue.toString().charAt(1) === '0' && newValue.toString().charAt(2) !== '.')) && newValue.toString().indexOf('.') < 1) {
newValue = parseFloat(newValue) || ''
}
// 判断整数位最多为9位
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9) + '.' + newValue.toString().split('.')[1]
} else if (newValue.toString().indexOf('.') < 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9)
}
} else {
newValue = values.replace(/[^0-9.-]/g, '')
}
return newValue
}, materielExtraCostChange(item) {
// 防止删除为空
if (!item) {
item = '0.00'
}
// 一些错误金额输入的判断
if (item.toString().indexOf('.') > 0 && Number(item.toString().split('.')[1].length) < 1) {
item = item.toString().split('.')[0]
}
// 一些错误金额输入的判断
if (!item || item === '-' || item === '-0') {
item = '0.00'
return
}
item = parseFloat(item).toFixed(2)
},RestrictedMoney(values) {
return this.plusOrMinus(values.toString())
},
onConfirmZjddm(data){
console.log(data)
this.circulation.zjddm = data;
this.showzjddm = false;
},
onConfirmXb(data){
this.xb = data.text;
this.circulation.zcfxb = data.value;
this.showXb = false;
},
onConfirmTcqllx(data){
this.tcqllx = data.text;
this.circulation.tcqllx = data.value;
this.showtcqllx = false;
},
onConfirmTclx(data){
this.tclx = data.text;
this.circulation.tclx = data.value;
this.showtclx = false;
},
onConfirmTcfs(data){
this.tcfs = data.text;
this.circulation.tcfs = data.value;
this.showtcfs = false;
},
onConfirmBcfs(data){
this.bcfs = data.text;
this.circulation.bcfs = data.value;
this.showbcfs = false;
},
onConfirmShyqrdm(data){
this.circulation.shyqrdm = data;
this.showshyqrdm = false;
},
onConfirmBasj(data){
this.circulation.phtime = this.getNowFormatDate(data).substr(0,10);
this.showbasj = false;
},
onConfirmYcsydqsj(data){
this.circulation.ycsydqsj = this.getNowFormatDate(data).substr(0,10);
this.showycsydqsj = false;
},
goEdit(){
window.location.replace("paidUtilizeList")
},
mapLook(){
this.mapShow =true;
setTimeout(() => {
this.$refs.zjdProductResh.drawingLyPaceCountryDarw();
},1000)
},
/** 查找地图中宅基地 */
closeMoule: function (data) {
this.circulation.zjddm = data;
},
/** 模糊查询人员信息 */
remoteTransfereeMethod(query) {
let _this = this;
if (query !== "") {
let queryMember = {
hzxm : query,
};
this.searchLoading = true;
obligeeList({shyqrdbxm:query,status:2}).then((response) => {
this.searchLoading = false;
if (response.code == 200) {
this.getObligeeOptions = response.rows.map((item) => {
// _this.$set(_this.form, "zcfxb", item.xb);
// _this.$set(_this.form, "zcfdh", item.dh);
// _this.$set(_this.form, "zcfzjhm", item.shyqrdbzjhm);
// _this.$set(_this.form, "zcfdm", item.nhdm);
return {
zcfxb:item.xb,
zcfdh:item.dh,
zcfzjhm:item.shyqrdbzjhm,
zcfdm:item.nhdm,
shyqrdbxm: item.shyqrdbxm,
shyqrdm: item.shyqrdm,
zcfzz: item.sfbncjtjjzzcy
};
});
}
});
} else {
this.getObligeeOptions = [];
}
},
clearFrom() {
// this.initData();
this.getObligeeOptions = [];
},
shyqrdmxmChange(val){
let _this = this;
this.sexDictionaries.map(function (item) {
if(item.value === val.zcfxb){
_this.xb = item.text;
}
})
this.$set(this.circulation, "zcfdh", val.zcfdh);
this.$set(this.circulation, "zcfzjhm", val.zcfzjhm);
this.$set(this.circulation, "zcfdm", val.zcfdm);
this.$set(this.circulation, "zcfmc", val.shyqrdbxm);
this.$set(this.circulation, "zcfzz", val.zcfzz);
this.getObligeeOptions=[];
},
goSubmit(){
console.info( this.$refs._Form.validate());
this.$refs._Form.validate().then(() => {
if (this.circulation.id != null) {
updatePhxxb(this.circulation).then(response => {
this.$toast.success("修改成功");
setTimeout(function(){
window.location.replace("zzjyList")
},1000)
});
} else {
addPhxxb(this.circulation).then(response => {
this.$toast.success("新增成功");
setTimeout(function(){
window.location.replace("zzjyList")
},1000)
});
}
}).catch((e) => {
Notify({ type: 'danger', message: '请填写完整的表单项' });
});
}
},
}
</script>

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

}

</style>

+ 179
- 0
src/views/onlineHome/phfs/zzjy/zzjyList.vue 파일 보기

@@ -0,0 +1,179 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
@click-right="goAdd"
>
<template #title>
<p style="font-weight: bold;">自主经营</p>
</template>
<template #right>
<van-icon name="add" size="18" />
</template>
</van-nav-bar>
<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<van-swipe-cell v-for="(item,index) in applicationList" :key="index">
<van-cell :title="item.zjddm" center :to="{name:'zzjyDetails', query: {id:item.id}}" >
<template #icon>
<div class="icon" style="background:#FFA63E;width: 45px;">
<van-icon name="../../../../static/images/onlineHome/icon_zzjy.png" size="30" color="#539FFD" style="margin-left: 3px;margin-top: 3px;" />
</div>
</template>
<template #label>
<p>{{item.zcfmc}}{{item.zcfdh}}</p>
</template>
</van-cell>
<template #right>
<van-row>
<van-col>
<van-button square text="修改" :to="{name:'zzjyModify', query: {id:item.id}}" type="info" class="delete-button" />
</van-col>
<van-col>
<van-button square text="删除" @click="deleteList(item.id,index)" type="danger" class="delete-button" />
</van-col>
</van-row>
</template>

</van-swipe-cell>
</van-list>
</div>
</template>

<script>
import { getList,delPhxxb } from "@/api/onlineHome/phfs/phfs";
import {getGeoServerConfigKey} from "@/api/system/config";
export default {
name: "paidUtilizeList",
data() {
return {
applicationList:[],
houseApplyStatus:[],
sexStatus:[],
tclxStatus:[],
tcfsStatus:[],
auditStatus:[],
loading: false,
finished: false,
queryParams:{
pageNum:1,
pageSize:10,
phfs:"01",
orderByColumn:'id',
isAsc:'desc'
},
//地图服务地址
mapGeoServerUrl:"",
};
},
created() {
this.houseGetDicts("sex").then((res) => {
this.sexStatus = res.data;
});

},
methods: {
goAdd(){
window.location = 'zzjyAdd';
},
getList(){
setTimeout(() => {
getList(this.queryParams).then(response => {
for (var i = 0; i < response.rows.length; i++) {
response.rows[i].zcfxb = this.selectDictLabel(this.sexStatus, response.rows[i].zcfxb)
this.applicationList.push(response.rows[i]);
console.log(this.applicationList);
}
if(this.applicationList.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.queryParams.pageNum += 1 ;
}
});
}, 1000);
},
deleteList(id,index){
this.$dialog.confirm({
message: '您确认删除申请草稿?',
})
.then(() => {
// on confirm
this.applicationList.splice(index,1)
delPhxxb(id).then(res => {
if(res.code = 200){
this.$toast.success('删除成功');
}
});
})
.catch(() => {
// on cancel
});
},
goSubmit(id,index){
this.$dialog.confirm({
message: '您确认提交草稿?',
})
.then(() => {
// on confirm
submitApply(id).then(res => {
if(res.code = 200){
this.$toast.success('提交成功!');
setTimeout(function(){
history.go(0)
},2000)
}
});
})
.catch(() => {
// on cancel
});
}
},
}
</script>

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

+ 456
- 0
src/views/onlineHome/phfs/zzjy/zzjyModify.vue 파일 보기

@@ -0,0 +1,456 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">修改自主经营</p>
</template>
</van-nav-bar>
<van-form ref="_Form">
<div class="main_box">

<van-field
v-model="circulation.zcfmc"
label="申请人姓名"
placeholder="请输入申请人姓名"
@input="remoteTransfereeMethod"
:rules="[{ required: true }]" required
/>


<van-cell v-for="item in getObligeeOptions"
:key="item.shyqrdbxm"
@click="shyqrdmxmChange(item)"
>
{{item.shyqrdbxm}}
</van-cell>

<van-popup v-model="showshyqrdm" position="bottom">
<van-picker
show-toolbar
:columns="shyqrdmDictionaries"
@confirm="onConfirmShyqrdm"
@cancel="showshyqrdm = false"
/>
</van-popup>
<van-field
readonly
v-model="circulation.zjddm"
label="宅基地代码"
input-align="right"
>
<template #button>
<van-button size="small" @click="mapLook" type="primary">选择宅基地</van-button>
</template>
</van-field>
<van-popup v-model="showzjddm" position="bottom" >
<van-picker
show-toolbar
:columns="zjdDictionaries"
@confirm="onConfirmZjddm"
@cancel="showzjddm = false"
/>
</van-popup>
<van-field
disabled
v-model="xb"
label="性别"
input-align="right"
label-width="auto"
/>
<van-field v-model="circulation.zcfdh" label="联系电话" placeholder="请输入联系电话" input-align="right" label-width="auto" :rules="[{pattern: /(^\d{7}(\d{4})?$)/}]" required/>
<van-field disabled v-model="circulation.zcfzjhm" label="证件号码" placeholder="证件号码" input-align="right" label-width="auto" />
<van-cell title="是否本集体经济组织成员" >
<template #right-icon>
<van-radio-group v-model="circulation.zcfzz" direction="horizontal" >
<van-radio name="1">是</van-radio>
<van-radio name="0">否</van-radio>
</van-radio-group>
</template>
</van-cell>

<van-field
v-model ="circulation.zjdmj"
type = "number"
@keyup = "circulation.zjdmj=circulation.zjdmj.replace(circulation.zjdmj,RestrictedMoney(circulation.zjdmj))"
label="经营面积(㎡)"
input-align="right"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-field
readonly
clickable
name="picker"
v-model="circulation.phtime"
label="备案时间"
placeholder="选择备案时间"
@click="showbasj = true"
input-align="right"
right-icon="arrow-down"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-popup v-model="showbasj" position="bottom">
<van-datetime-picker
:value="new Date"
type="date"
title="选择年月日"
@confirm="onConfirmBasj"
@cancel="showbasj = false"
/>
</van-popup>
<van-field v-model="circulation.fwms" type="textarea" label="地上房屋描述" placeholder="请输入地上房屋描述" input-align="right" label-width="auto" />
<van-field v-model="circulation.bz" type="textarea" label="备注" placeholder="请输入备注" input-align="right" label-width="auto" />

<van-dialog v-model:show="mapShow" show-cancel-button>
<MapGisObtain ref="zjdProductResh" :shqrxm="circulation.zcfmc" @closeMoule="closeMoule"></MapGisObtain>
</van-dialog>

</div>
</van-form>

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

<script>
import { zjdzd, obligeeList } from "@/api/onlineHome/homestead/circulation";
import { addPhxxb,updatePhxxb,getPhxxb } from "@/api/onlineHome/phfs/phfs";
import { ycsyAdd , listByDeptId } from "@/api/onlineHome/homestead/paidUtilize";
import MapGisObtain from "@/components/Map/MapGisObtain";
import {Notify} from "vant";
export default {
name: "paidUtilizeAdd",
components: { MapGisObtain,},
props: {
columns: {
type: Array,
default: function () {
return []
}
},
selectValue: {
type: [String, Number],
default: ''
},
option: {
type: Object,
default: function () {
return { label: 'label', value: 'value' }
}
},
isSearch: {
type: Boolean,
default: false
},
offOption: { // 关闭option配置key-value;当数据是非集合的数组的时候,开启
type: Boolean,
default: false
}
},
data() {
return {
tcqllxDictionaries:[],//退出权利类型
tclxDictionaries:[],//退出类型
tcfsDictionaries:[],//退出方式
sexDictionaries:[],//申请人证件类型
bcfsDictionaries:[],//补偿方式
zjdDictionaries:[],//宅基地代码
shyqrdmDictionaries:[],//使用权人
getObligeeOptions:[],

tcqllx:'',
tclx:'',
tcfs:'',
xb:'',
bcfs:'',
zjddm:'',
showzcfmc:false,
showtcqllx: false,
showtclx: false,
showtcfs: false,
showXb: false,
showbcfs: false,
showzjddm: false,
showshyqrdm: false,
showbasj: false,
showycsydqsj: false,
columnsData: [],
circulation:{id:null,phfs:"01"},
mapShow: false,
};
},
created() {
this.circulation.id = this.$route.query.id;
this.getDetail();
this.getDictionaries();
},
methods: {
getDictionaries(){
//退出权利类型
this.houseGetDicts("tcqllx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcqllxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出类型
this.houseGetDicts("tclx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tclxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出方式
this.houseGetDicts("tcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//性别
this.houseGetDicts("sex").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.sexDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//补偿方式
this.houseGetDicts("bcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.bcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//宅基地代码
zjdzd().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.zjdDictionaries.push(zjdRes.rows[i].zjddm);
}
});
//使用权人代码
listByDeptId().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.shyqrdmDictionaries.push(zjdRes.rows[i].shyqrdm);
}
});
},
getDetail()
{
getPhxxb(this.$route.query.id).then(response => {
this.circulation = response.data;
this.houseGetDicts("sex").then((res) => {
this.xb = this.selectDictLabel(res.data, response.data.zcfxb);
});
});
},
plusOrMinus(values) {
let newValue
if (!(/[^0-9.-]/g.test(values))) {
newValue = values.replace(/[^\-\d.]/g, '').replace(/\b(0+){2,}/g, '0').replace(/\-{2,}/g, '-').replace(/^\./g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.')
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[1].length) > 2) {
newValue = parseInt(parseFloat(newValue) * 100) / 100
}
if ((newValue.toString().split('-').length - 1) > 1) {
newValue = parseFloat(newValue) || ''
}
if ((newValue.toString().split('-').length) > 1 && newValue.toString().split('-')[0].length > 0) {
newValue = parseFloat(newValue) || ''
}
if (newValue.toString().length > 1 && (newValue.toString().charAt(0) === '0' || (newValue.toString().length > 2 && newValue.toString().charAt(0) === '-' && newValue.toString().charAt(1) === '0' && newValue.toString().charAt(2) !== '.')) && newValue.toString().indexOf('.') < 1) {
newValue = parseFloat(newValue) || ''
}
// 判断整数位最多为9位
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9) + '.' + newValue.toString().split('.')[1]
} else if (newValue.toString().indexOf('.') < 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9)
}
} else {
newValue = values.replace(/[^0-9.-]/g, '')
}
return newValue
}, materielExtraCostChange(item) {
// 防止删除为空
if (!item) {
item = '0.00'
}
// 一些错误金额输入的判断
if (item.toString().indexOf('.') > 0 && Number(item.toString().split('.')[1].length) < 1) {
item = item.toString().split('.')[0]
}
// 一些错误金额输入的判断
if (!item || item === '-' || item === '-0') {
item = '0.00'
return
}
item = parseFloat(item).toFixed(2)
},RestrictedMoney(values) {
return this.plusOrMinus(values.toString())
},
onConfirmZjddm(data){
console.log(data)
this.circulation.zjddm = data;
this.showzjddm = false;
},
onConfirmXb(data){
this.xb = data.text;
this.circulation.zcfxb = data.value;
this.showXb = false;
},
onConfirmTcqllx(data){
this.tcqllx = data.text;
this.circulation.tcqllx = data.value;
this.showtcqllx = false;
},
onConfirmTclx(data){
this.tclx = data.text;
this.circulation.tclx = data.value;
this.showtclx = false;
},
onConfirmTcfs(data){
this.tcfs = data.text;
this.circulation.tcfs = data.value;
this.showtcfs = false;
},
onConfirmBcfs(data){
this.bcfs = data.text;
this.circulation.bcfs = data.value;
this.showbcfs = false;
},
onConfirmShyqrdm(data){
this.circulation.shyqrdm = data;
this.showshyqrdm = false;
},
onConfirmBasj(data){
this.circulation.phtime = this.getNowFormatDate(data).substr(0,10);
this.showbasj = false;
},
onConfirmYcsydqsj(data){
this.circulation.ycsydqsj = this.getNowFormatDate(data).substr(0,10);
this.showycsydqsj = false;
},
goEdit(){
window.location.replace("paidUtilizeList")
},
mapLook(){
this.mapShow =true;
setTimeout(() => {
this.$refs.zjdProductResh.drawingLyPaceCountryDarw();
},1000)
},
/** 查找地图中宅基地 */
closeMoule: function (data) {
this.circulation.zjddm = data;
},
/** 模糊查询人员信息 */
remoteTransfereeMethod(query) {
let _this = this;
if (query !== "") {
let queryMember = {
hzxm : query,
};
this.searchLoading = true;
obligeeList({shyqrdbxm:query,status:2}).then((response) => {
this.searchLoading = false;
if (response.code == 200) {
this.getObligeeOptions = response.rows.map((item) => {
// _this.$set(_this.form, "zcfxb", item.xb);
// _this.$set(_this.form, "zcfdh", item.dh);
// _this.$set(_this.form, "zcfzjhm", item.shyqrdbzjhm);
// _this.$set(_this.form, "zcfdm", item.nhdm);
return {
zcfxb:item.xb,
zcfdh:item.dh,
zcfzjhm:item.shyqrdbzjhm,
zcfdm:item.nhdm,
shyqrdbxm: item.shyqrdbxm,
shyqrdm: item.shyqrdm,
zcfzz: item.sfbncjtjjzzcy
};
});
}
});
} else {
this.getObligeeOptions = [];
}
},
clearFrom() {
// this.initData();
this.getObligeeOptions = [];
},
shyqrdmxmChange(val){
let _this = this;
this.sexDictionaries.map(function (item) {
if(item.value === val.zcfxb){
_this.xb = item.text;
}
})
this.$set(this.circulation, "zcfxb", val.zcfxb);
this.$set(this.circulation, "zcfdh", val.zcfdh);
this.$set(this.circulation, "zcfzjhm", val.zcfzjhm);
this.$set(this.circulation, "zcfdm", val.zcfdm);
this.$set(this.circulation, "zcfmc", val.shyqrdbxm);
this.$set(this.circulation, "zcfzz", val.zcfzz);
this.getObligeeOptions=[];
},
goSubmit(){
console.info( this.$refs._Form.validate());
this.$refs._Form.validate().then(() => {
if (this.circulation.id != null) {
updatePhxxb(this.circulation).then(response => {
this.$toast.success("修改成功");
setTimeout(function(){
window.location.replace("zzjyList")
},1000)
});
} else {
addPhxxb(this.circulation).then(response => {
this.$toast.success("新增成功");
setTimeout(function(){
window.location.replace("zzjyList")
},1000)
});
}
}).catch((e) => {
Notify({ type: 'danger', message: '请填写完整的表单项' });
});
}
},
}
</script>

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

}

</style>

+ 450
- 0
src/views/onlineHome/phfs/zzly/zzlyAdd.vue 파일 보기

@@ -0,0 +1,450 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">添加整治利用</p>
</template>
</van-nav-bar>
<van-form ref="_Form">
<div class="main_box">

<van-field
v-model="circulation.zcfmc"
label="申请人姓名"
placeholder="请输入申请人姓名"
@input="remoteTransfereeMethod"
:rules="[{ required: true }]" required
/>


<van-cell v-for="item in getObligeeOptions"
:key="item.shyqrdbxm"
@click="shyqrdmxmChange(item)"
>
{{item.shyqrdbxm}}
</van-cell>

<van-popup v-model="showshyqrdm" position="bottom">
<van-picker
show-toolbar
:columns="shyqrdmDictionaries"
@confirm="onConfirmShyqrdm"
@cancel="showshyqrdm = false"
/>
</van-popup>
<van-field
readonly
v-model="circulation.zjddm"
label="宅基地代码"
input-align="right"
>
<template #button>
<van-button size="small" @click="mapLook" type="primary">选择宅基地</van-button>
</template>
</van-field>
<van-popup v-model="showzjddm" position="bottom" >
<van-picker
show-toolbar
:columns="zjdDictionaries"
@confirm="onConfirmZjddm"
@cancel="showzjddm = false"
/>
</van-popup>
<van-field
disabled
v-model="xb"
label="性别"
input-align="right"
label-width="auto"
/>
<van-field v-model="circulation.zcfdh" label="联系电话" placeholder="请输入联系电话" input-align="right" label-width="auto" :rules="[{pattern: /(^\d{7}(\d{4})?$)/}]" required/>
<van-field disabled v-model="circulation.zcfzjhm" label="证件号码" placeholder="证件号码" input-align="right" label-width="auto" />
<van-cell title="是否本集体经济组织成员" >
<template #right-icon>
<van-radio-group v-model="circulation.zcfzz" direction="horizontal" >
<van-radio name="1">是</van-radio>
<van-radio name="0">否</van-radio>
</van-radio-group>
</template>
</van-cell>

<van-field
v-model ="circulation.zjdmj"
type = "number"
@keyup = "circulation.zjdmj=circulation.zjdmj.replace(circulation.zjdmj,RestrictedMoney(circulation.zjdmj))"
label="经营面积(㎡)"
input-align="right"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-field
readonly
clickable
name="picker"
v-model="circulation.phtime"
label="备案时间"
placeholder="选择备案时间"
@click="showbasj = true"
input-align="right"
right-icon="arrow-down"
label-width="auto" :rules="[{ required: true }]" required
/>
<van-popup v-model="showbasj" position="bottom">
<van-datetime-picker
:value="new Date"
type="date"
title="选择年月日"
@confirm="onConfirmBasj"
@cancel="showbasj = false"
/>
</van-popup>
<van-field v-model="circulation.fwms" type="textarea" label="地上房屋描述" placeholder="请输入地上房屋描述" input-align="right" label-width="auto" />
<van-field v-model="circulation.bz" type="textarea" label="备注" placeholder="请输入备注" input-align="right" label-width="auto" />

<van-dialog v-model:show="mapShow" show-cancel-button>
<MapGisObtain ref="zjdProductResh" :shqrxm="circulation.zcfmc" @closeMoule="closeMoule"></MapGisObtain>
</van-dialog>

</div>
</van-form>

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

<script>
import { zjdzd, obligeeList } from "@/api/onlineHome/homestead/circulation";
import { addPhxxb,updatePhxxb,queryGeoZjdzd } from "@/api/onlineHome/phfs/phfs";
import { ycsyAdd , listByDeptId } from "@/api/onlineHome/homestead/paidUtilize";
import MapGisObtain from "@/components/Map/MapGisObtain";
import {Notify} from "vant";
export default {
name: "paidUtilizeAdd",
components: { MapGisObtain,},
props: {
columns: {
type: Array,
default: function () {
return []
}
},
selectValue: {
type: [String, Number],
default: ''
},
option: {
type: Object,
default: function () {
return { label: 'label', value: 'value' }
}
},
isSearch: {
type: Boolean,
default: false
},
offOption: { // 关闭option配置key-value;当数据是非集合的数组的时候,开启
type: Boolean,
default: false
}
},
data() {
return {
tcqllxDictionaries:[],//退出权利类型
tclxDictionaries:[],//退出类型
tcfsDictionaries:[],//退出方式
sexDictionaries:[],//申请人证件类型
bcfsDictionaries:[],//补偿方式
zjdDictionaries:[],//宅基地代码
shyqrdmDictionaries:[],//使用权人
getObligeeOptions:[],

tcqllx:'',
tclx:'',
tcfs:'',
xb:'',
bcfs:'',
zjddm:'',
showzcfmc:false,
showtcqllx: false,
showtclx: false,
showtcfs: false,
showXb: false,
showbcfs: false,
showzjddm: false,
showshyqrdm: false,
showbasj: false,
showycsydqsj: false,
columnsData: [],
circulation:{phfs:"05"},
mapShow: false,
};
},
created() {
this.getDictionaries();
},
methods: {
getDictionaries(){
//退出权利类型
this.houseGetDicts("tcqllx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcqllxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出类型
this.houseGetDicts("tclx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tclxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出方式
this.houseGetDicts("tcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//性别
this.houseGetDicts("sex").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.sexDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//补偿方式
this.houseGetDicts("bcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.bcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//宅基地代码
zjdzd().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.zjdDictionaries.push(zjdRes.rows[i].zjddm);
}
});
//使用权人代码
listByDeptId().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.shyqrdmDictionaries.push(zjdRes.rows[i].shyqrdm);
}
});
},
plusOrMinus(values) {
let newValue
if (!(/[^0-9.-]/g.test(values))) {
newValue = values.replace(/[^\-\d.]/g, '').replace(/\b(0+){2,}/g, '0').replace(/\-{2,}/g, '-').replace(/^\./g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.')
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[1].length) > 2) {
newValue = parseInt(parseFloat(newValue) * 100) / 100
}
if ((newValue.toString().split('-').length - 1) > 1) {
newValue = parseFloat(newValue) || ''
}
if ((newValue.toString().split('-').length) > 1 && newValue.toString().split('-')[0].length > 0) {
newValue = parseFloat(newValue) || ''
}
if (newValue.toString().length > 1 && (newValue.toString().charAt(0) === '0' || (newValue.toString().length > 2 && newValue.toString().charAt(0) === '-' && newValue.toString().charAt(1) === '0' && newValue.toString().charAt(2) !== '.')) && newValue.toString().indexOf('.') < 1) {
newValue = parseFloat(newValue) || ''
}
// 判断整数位最多为9位
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9) + '.' + newValue.toString().split('.')[1]
} else if (newValue.toString().indexOf('.') < 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9)
}
} else {
newValue = values.replace(/[^0-9.-]/g, '')
}
return newValue
}, materielExtraCostChange(item) {
// 防止删除为空
if (!item) {
item = '0.00'
}
// 一些错误金额输入的判断
if (item.toString().indexOf('.') > 0 && Number(item.toString().split('.')[1].length) < 1) {
item = item.toString().split('.')[0]
}
// 一些错误金额输入的判断
if (!item || item === '-' || item === '-0') {
item = '0.00'
return
}
item = parseFloat(item).toFixed(2)
},RestrictedMoney(values) {
return this.plusOrMinus(values.toString())
},
onConfirmZjddm(data){
console.log(data)
this.circulation.zjddm = data;
this.showzjddm = false;
},
onConfirmXb(data){
this.xb = data.text;
this.circulation.zcfxb = data.value;
this.showXb = false;
},
onConfirmTcqllx(data){
this.tcqllx = data.text;
this.circulation.tcqllx = data.value;
this.showtcqllx = false;
},
onConfirmTclx(data){
this.tclx = data.text;
this.circulation.tclx = data.value;
this.showtclx = false;
},
onConfirmTcfs(data){
this.tcfs = data.text;
this.circulation.tcfs = data.value;
this.showtcfs = false;
},
onConfirmBcfs(data){
this.bcfs = data.text;
this.circulation.bcfs = data.value;
this.showbcfs = false;
},
onConfirmShyqrdm(data){
this.circulation.shyqrdm = data;
this.showshyqrdm = false;
},
onConfirmBasj(data){
this.circulation.phtime = this.getNowFormatDate(data).substr(0,10);
this.showbasj = false;
},
onConfirmYcsydqsj(data){
this.circulation.ycsydqsj = this.getNowFormatDate(data).substr(0,10);
this.showycsydqsj = false;
},
goEdit(){
window.location.replace("paidUtilizeList")
},
mapLook(){
this.mapShow =true;
setTimeout(() => {
this.$refs.zjdProductResh.drawingLyPaceCountryDarw();
},1000)
},
/** 查找地图中宅基地 */
closeMoule: function (data) {
this.circulation.zjddm = data;
queryGeoZjdzd({zjddm:data}).then(zjdxxRes => {
if(zjdxxRes.data != null){
this.$set(this.circulation, "zjdmj", zjdxxRes.data.zdmj);
}
});
},
/** 模糊查询人员信息 */
remoteTransfereeMethod(query) {
let _this = this;
if (query !== "") {
let queryMember = {
hzxm : query,
};
this.searchLoading = true;
obligeeList({shyqrdbxm:query,status:2}).then((response) => {
this.searchLoading = false;
if (response.code == 200) {
this.getObligeeOptions = response.rows.map((item) => {
// _this.$set(_this.form, "zcfxb", item.xb);
// _this.$set(_this.form, "zcfdh", item.dh);
// _this.$set(_this.form, "zcfzjhm", item.shyqrdbzjhm);
// _this.$set(_this.form, "zcfdm", item.nhdm);
return {
zcfxb:item.xb,
zcfdh:item.dh,
zcfzjhm:item.shyqrdbzjhm,
zcfdm:item.nhdm,
shyqrdbxm: item.shyqrdbxm,
shyqrdm: item.shyqrdm,
zcfzz: item.sfbncjtjjzzcy
};
});
}
});
} else {
this.getObligeeOptions = [];
}
},
clearFrom() {
// this.initData();
this.getObligeeOptions = [];
},
shyqrdmxmChange(val){
let _this = this;
this.sexDictionaries.map(function (item) {
if(item.value === val.zcfxb){
_this.xb = item.text;
}
})
this.$set(this.circulation, "zcfxb", val.zcfxb);
this.$set(this.circulation, "zcfdh", val.zcfdh);
this.$set(this.circulation, "zcfzjhm", val.zcfzjhm);
this.$set(this.circulation, "zcfdm", val.zcfdm);
this.$set(this.circulation, "zcfmc", val.shyqrdbxm);
this.$set(this.circulation, "zcfzz", val.zcfzz);
this.getObligeeOptions=[];
},
goSubmit(){
console.info( this.$refs._Form.validate());
this.$refs._Form.validate().then(() => {
if (this.circulation.id != null) {
updatePhxxb(this.circulation).then(response => {
this.$toast.success("修改成功");
setTimeout(function(){
window.location.replace("zzlyList")
},1000)
});
} else {
addPhxxb(this.circulation).then(response => {
this.$toast.success("新增成功");
setTimeout(function(){
window.location.replace("zzlyList")
},1000)
});
}
}).catch((e) => {
Notify({ type: 'danger', message: '请填写完整的表单项' });
});
}
},
}
</script>

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

}

</style>

+ 432
- 0
src/views/onlineHome/phfs/zzly/zzlyDetails.vue 파일 보기

@@ -0,0 +1,432 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
>
<template #title>
<p style="font-weight: bold;">整治利用</p>
</template>
</van-nav-bar>
<van-form ref="_Form">
<div class="main_box">

<van-field
readonly
v-model="circulation.zcfmc"
label="申请人姓名"
placeholder="请输入申请人姓名"
@input="remoteTransfereeMethod"
/>


<van-cell v-for="item in getObligeeOptions"
:key="item.shyqrdbxm"
@click="shyqrdmxmChange(item)"
>
{{item.shyqrdbxm}}
</van-cell>

<van-popup v-model="showshyqrdm" position="bottom">
<van-picker
show-toolbar
:columns="shyqrdmDictionaries"
@confirm="onConfirmShyqrdm"
@cancel="showshyqrdm = false"
/>
</van-popup>
<van-field
readonly
v-model="circulation.zjddm"
label="宅基地代码"
input-align="right"
>
<template #button>
<van-button size="small" @click="mapLook" type="primary">查看地图</van-button>
</template>
</van-field>
<van-popup v-model="showzjddm" position="bottom" >
<van-picker
show-toolbar
:columns="zjdDictionaries"
@confirm="onConfirmZjddm"
@cancel="showzjddm = false"
/>
</van-popup>
<van-field
readonly
v-model="circulation.zcfxb"
label="性别"
input-align="right"
label-width="auto"
/>
<van-field readonly v-model="circulation.zcfdh" label="联系电话" placeholder="请输入联系电话" input-align="right" label-width="auto" />
<van-field readonly v-model="circulation.zcfzjhm" label="证件号码" placeholder="证件号码" input-align="right" label-width="auto" />
<van-cell title="是否本集体经济组织成员" >
<template #right-icon>
<van-radio-group disabled v-model="circulation.zcfzz" direction="horizontal" >
<van-radio name="1">是</van-radio>
<van-radio name="0">否</van-radio>
</van-radio-group>
</template>
</van-cell>

<van-field
readonly
v-model ="circulation.zjdmj"
type = "number"
@keyup = "circulation.zjdmj=circulation.zjdmj.replace(circulation.zjdmj,RestrictedMoney(circulation.zjdmj))"
label="经营面积(㎡)"
input-align="right"
label-width="auto"
/>
<van-field
readonly
v-model="circulation.phtime"
label="备案时间"
placeholder="选择备案时间"
input-align="right"
label-width="auto"
/>

<van-field readonly v-model="circulation.fwms" type="textarea" label="地上房屋描述" placeholder="请输入地上房屋描述" input-align="right" label-width="auto" />
<van-field readonly v-model="circulation.bz" type="textarea" label="备注" placeholder="请输入备注" input-align="right" label-width="auto" />

<van-dialog v-model:show="mapShow" show-cancel-button>
<MapGisLyDrawing ref="zjdProductResh" :message="circulation.zjddm" @closeMoule="closeMoule"></MapGisLyDrawing>
</van-dialog>

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

<script>
import { zjdzd, obligeeList } from "@/api/onlineHome/homestead/circulation";
import { addPhxxb,updatePhxxb,getPhxxb } from "@/api/onlineHome/phfs/phfs";
import { ycsyAdd , listByDeptId } from "@/api/onlineHome/homestead/paidUtilize";
import MapGisLyDrawing from "@/components/Map/MapGisLyDrawing";
import {Notify} from "vant";
export default {
name: "paidUtilizeAdd",
components: { MapGisLyDrawing,},
props: {
columns: {
type: Array,
default: function () {
return []
}
},
selectValue: {
type: [String, Number],
default: ''
},
option: {
type: Object,
default: function () {
return { label: 'label', value: 'value' }
}
},
isSearch: {
type: Boolean,
default: false
},
offOption: { // 关闭option配置key-value;当数据是非集合的数组的时候,开启
type: Boolean,
default: false
}
},
data() {
return {
tcqllxDictionaries:[],//退出权利类型
tclxDictionaries:[],//退出类型
tcfsDictionaries:[],//退出方式
sexDictionaries:[],//申请人证件类型
bcfsDictionaries:[],//补偿方式
zjdDictionaries:[],//宅基地代码
shyqrdmDictionaries:[],//使用权人
getObligeeOptions:[],

tcqllx:'',
tclx:'',
tcfs:'',
xb:'',
bcfs:'',
zjddm:'',
showzcfmc:false,
showtcqllx: false,
showtclx: false,
showtcfs: false,
showXb: false,
showbcfs: false,
showzjddm: false,
showshyqrdm: false,
showbasj: false,
showycsydqsj: false,
columnsData: [],
circulation:{id: null},
mapShow: false,
};
},
created() {
this.circulation.id = this.$route.query.id;
this.getDetail();
},
methods: {
getDictionaries(){
//退出权利类型
this.houseGetDicts("tcqllx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcqllxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出类型
this.houseGetDicts("tclx").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tclxDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//退出方式
this.houseGetDicts("tcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.tcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//性别
this.houseGetDicts("sex").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.sexDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//补偿方式
this.houseGetDicts("bcfs").then((res) => {
for (var i = 0; i < res.data.length; i++) {
this.bcfsDictionaries.push({text: res.data[i].dictLabel, value: res.data[i].dictValue});
}
});
//宅基地代码
zjdzd().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.zjdDictionaries.push(zjdRes.rows[i].zjddm);
}
});
//使用权人代码
listByDeptId().then(zjdRes => {
for (let i = 0; i < zjdRes.rows.length; i++) {
this.shyqrdmDictionaries.push(zjdRes.rows[i].shyqrdm);
}
});
},
getDetail()
{
getPhxxb(this.$route.query.id).then(response => {
this.circulation = response.data;
//性别
this.houseGetDicts("sex").then((res) => {
this.circulation.zcfxb = this.selectDictLabel(res.data, response.data.zcfxb);
});
});
},
plusOrMinus(values) {
let newValue
if (!(/[^0-9.-]/g.test(values))) {
newValue = values.replace(/[^\-\d.]/g, '').replace(/\b(0+){2,}/g, '0').replace(/\-{2,}/g, '-').replace(/^\./g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.')
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[1].length) > 2) {
newValue = parseInt(parseFloat(newValue) * 100) / 100
}
if ((newValue.toString().split('-').length - 1) > 1) {
newValue = parseFloat(newValue) || ''
}
if ((newValue.toString().split('-').length) > 1 && newValue.toString().split('-')[0].length > 0) {
newValue = parseFloat(newValue) || ''
}
if (newValue.toString().length > 1 && (newValue.toString().charAt(0) === '0' || (newValue.toString().length > 2 && newValue.toString().charAt(0) === '-' && newValue.toString().charAt(1) === '0' && newValue.toString().charAt(2) !== '.')) && newValue.toString().indexOf('.') < 1) {
newValue = parseFloat(newValue) || ''
}
// 判断整数位最多为9位
if (newValue.toString().indexOf('.') > 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9) + '.' + newValue.toString().split('.')[1]
} else if (newValue.toString().indexOf('.') < 0 && Number(newValue.toString().split('.')[0].length) > 9) {
newValue = newValue.toString().substring(0, 9)
}
} else {
newValue = values.replace(/[^0-9.-]/g, '')
}
return newValue
}, materielExtraCostChange(item) {
// 防止删除为空
if (!item) {
item = '0.00'
}
// 一些错误金额输入的判断
if (item.toString().indexOf('.') > 0 && Number(item.toString().split('.')[1].length) < 1) {
item = item.toString().split('.')[0]
}
// 一些错误金额输入的判断
if (!item || item === '-' || item === '-0') {
item = '0.00'
return
}
item = parseFloat(item).toFixed(2)
},RestrictedMoney(values) {
return this.plusOrMinus(values.toString())
},
onConfirmZjddm(data){
console.log(data)
this.circulation.zjddm = data;
this.showzjddm = false;
},
onConfirmXb(data){
this.xb = data.text;
this.circulation.zcfxb = data.value;
this.showXb = false;
},
onConfirmTcqllx(data){
this.tcqllx = data.text;
this.circulation.tcqllx = data.value;
this.showtcqllx = false;
},
onConfirmTclx(data){
this.tclx = data.text;
this.circulation.tclx = data.value;
this.showtclx = false;
},
onConfirmTcfs(data){
this.tcfs = data.text;
this.circulation.tcfs = data.value;
this.showtcfs = false;
},
onConfirmBcfs(data){
this.bcfs = data.text;
this.circulation.bcfs = data.value;
this.showbcfs = false;
},
onConfirmShyqrdm(data){
this.circulation.shyqrdm = data;
this.showshyqrdm = false;
},
onConfirmBasj(data){
this.circulation.phtime = this.getNowFormatDate(data).substr(0,10);
this.showbasj = false;
},
onConfirmYcsydqsj(data){
this.circulation.ycsydqsj = this.getNowFormatDate(data).substr(0,10);
this.showycsydqsj = false;
},
goEdit(){
window.location.replace("paidUtilizeList")
},
mapLook(){
this.mapShow =true;
setTimeout(() => {
this.$refs.zjdProductResh.drawingLyPaceCountryDarw();
},1000)
},
/** 查找地图中宅基地 */
closeMoule: function (data) {
this.circulation.zjddm = data;
},
/** 模糊查询人员信息 */
remoteTransfereeMethod(query) {
let _this = this;
if (query !== "") {
let queryMember = {
hzxm : query,
};
this.searchLoading = true;
obligeeList({shyqrdbxm:query,status:2}).then((response) => {
this.searchLoading = false;
if (response.code == 200) {
this.getObligeeOptions = response.rows.map((item) => {
// _this.$set(_this.form, "zcfxb", item.xb);
// _this.$set(_this.form, "zcfdh", item.dh);
// _this.$set(_this.form, "zcfzjhm", item.shyqrdbzjhm);
// _this.$set(_this.form, "zcfdm", item.nhdm);
return {
zcfxb:item.xb,
zcfdh:item.dh,
zcfzjhm:item.shyqrdbzjhm,
zcfdm:item.nhdm,
shyqrdbxm: item.shyqrdbxm,
shyqrdm: item.shyqrdm,
zcfzz: item.sfbncjtjjzzcy
};
});
}
});
} else {
this.getObligeeOptions = [];
}
},
clearFrom() {
// this.initData();
this.getObligeeOptions = [];
},
shyqrdmxmChange(val){
let _this = this;
this.sexDictionaries.map(function (item) {
if(item.value === val.zcfxb){
_this.xb = item.text;
}
})
this.$set(this.circulation, "zcfdh", val.zcfdh);
this.$set(this.circulation, "zcfzjhm", val.zcfzjhm);
this.$set(this.circulation, "zcfdm", val.zcfdm);
this.$set(this.circulation, "zcfmc", val.shyqrdbxm);
this.$set(this.circulation, "zcfzz", val.zcfzz);
this.getObligeeOptions=[];
},
goSubmit(){
console.info( this.$refs._Form.validate());
this.$refs._Form.validate().then(() => {
if (this.circulation.id != null) {
updatePhxxb(this.circulation).then(response => {
this.$toast.success("修改成功");
setTimeout(function(){
window.location.replace("zzjyList")
},1000)
});
} else {
addPhxxb(this.circulation).then(response => {
this.$toast.success("新增成功");
setTimeout(function(){
window.location.replace("zzjyList")
},1000)
});
}
}).catch((e) => {
Notify({ type: 'danger', message: '请填写完整的表单项' });
});
}
},
}
</script>

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

}

</style>

+ 179
- 0
src/views/onlineHome/phfs/zzly/zzlyList.vue 파일 보기

@@ -0,0 +1,179 @@
<template>
<div class="app-container">
<van-nav-bar
left-arrow
fixed
placeholder
@click-left="$router.back(-1)"
@click-right="goAdd"
>
<template #title>
<p style="font-weight: bold;">整治利用</p>
</template>
<template #right>
<van-icon name="add" size="18" />
</template>
</van-nav-bar>
<van-list
v-model="loading"
:finished="finished"
finished-text="没有更多了"
@load="getList"
>
<van-swipe-cell v-for="(item,index) in applicationList" :key="index">
<van-cell :title="item.zjddm" center :to="{name:'zzlyDetails', query: {id:item.id}}" >
<template #icon>
<div class="icon" style="background:#FFA63E;width: 45px;">
<van-icon name="../../../../static/images/onlineHome/icon_zzly.png" size="30" color="#FF6446" style="margin-left: 3px;margin-top: 3px;" />
</div>
</template>
<template #label>
<p>{{item.zcfmc}}{{item.zcfdh}}</p>
</template>
</van-cell>
<template #right>
<van-row>
<van-col>
<van-button square text="修改" :to="{name:'zzlyModify', query: {id:item.id}}" type="info" class="delete-button" />
</van-col>
<van-col>
<van-button square text="删除" @click="deleteList(item.id,index)" type="danger" class="delete-button" />
</van-col>
</van-row>
</template>

</van-swipe-cell>
</van-list>
</div>
</template>

<script>
import { getList,delPhxxb } from "@/api/onlineHome/phfs/phfs";
import {getGeoServerConfigKey} from "@/api/system/config";
export default {
name: "paidUtilizeList",
data() {
return {
applicationList:[],
houseApplyStatus:[],
sexStatus:[],
tclxStatus:[],
tcfsStatus:[],
auditStatus:[],
loading: false,
finished: false,
queryParams:{
pageNum:1,
pageSize:10,
phfs:"05",
orderByColumn:'id',
isAsc:'desc'
},
//地图服务地址
mapGeoServerUrl:"",
};
},
created() {
this.houseGetDicts("sex").then((res) => {
this.sexStatus = res.data;
});

},
methods: {
goAdd(){
window.location = 'zzlyAdd';
},
getList(){
setTimeout(() => {
getList(this.queryParams).then(response => {
for (var i = 0; i < response.rows.length; i++) {
response.rows[i].zcfxb = this.selectDictLabel(this.sexStatus, response.rows[i].zcfxb)
this.applicationList.push(response.rows[i]);
console.log(this.applicationList);
}
if(this.applicationList.length >= response.total){
this.finished = true;
return;
}else{
this.loading = false;
this.queryParams.pageNum += 1 ;
}
});
}, 1000);
},
deleteList(id,index){
this.$dialog.confirm({
message: '您确认删除申请草稿?',
})
.then(() => {
// on confirm
this.applicationList.splice(index,1)
delPhxxb(id).then(res => {
if(res.code = 200){
this.$toast.success('删除成功');
}
});
})
.catch(() => {
// on cancel
});
},
goSubmit(id,index){
this.$dialog.confirm({
message: '您确认提交草稿?',
})
.then(() => {
// on confirm
submitApply(id).then(res => {
if(res.code = 200){
this.$toast.success('提交成功!');
setTimeout(function(){
history.go(0)
},2000)
}
});
})
.catch(() => {
// on cancel
});
}
},
}
</script>

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

이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.

불러오는 중...
취소
저장