Pārlūkot izejas kodu

Merge remote-tracking branch 'origin/master'

wulanhaote
Xyq123* pirms 2 gadiem
vecāks
revīzija
0692804c18
100 mainītis faili ar 1126 papildinājumiem un 23 dzēšanām
  1. +1
    -1
      config/index.js
  2. +85
    -10
      package-lock.json
  3. +2
    -1
      package.json
  4. +44
    -0
      src/api/onlineHome/bankAgriculture/bankOfDeposit.js
  5. +9
    -0
      src/api/onlineHome/bankAgriculture/paymentApproval.js
  6. +439
    -0
      src/api/sunVillage_info/fixedAssets.js
  7. +2
    -2
      src/assets/css/base.scss
  8. Binārs
      src/assets/images/sunVillage_info/ECEL.png
  9. Binārs
      src/assets/images/sunVillage_info/WORD.png
  10. Binārs
      src/assets/images/sunVillage_info/addFile.png
  11. Binārs
      src/assets/images/sunVillage_info/add_icon_1.png
  12. Binārs
      src/assets/images/sunVillage_info/add_icon_2.png
  13. Binārs
      src/assets/images/sunVillage_info/add_tit_icon_01.png
  14. Binārs
      src/assets/images/sunVillage_info/add_tit_icon_02.png
  15. Binārs
      src/assets/images/sunVillage_info/add_tit_icon_03.png
  16. Binārs
      src/assets/images/sunVillage_info/add_tit_icon_04.png
  17. Binārs
      src/assets/images/sunVillage_info/add_tit_icon_05.png
  18. Binārs
      src/assets/images/sunVillage_info/btn_bg.png
  19. Binārs
      src/assets/images/sunVillage_info/date_bg.png
  20. Binārs
      src/assets/images/sunVillage_info/date_icon.png
  21. Binārs
      src/assets/images/sunVillage_info/delete_icon_input.png
  22. Binārs
      src/assets/images/sunVillage_info/details_icon_1.png
  23. Binārs
      src/assets/images/sunVillage_info/details_icon_2.png
  24. Binārs
      src/assets/images/sunVillage_info/fixedAssets_icon_1.png
  25. Binārs
      src/assets/images/sunVillage_info/fixedAssets_icon_2.png
  26. Binārs
      src/assets/images/sunVillage_info/fixedAssets_icon_3.png
  27. Binārs
      src/assets/images/sunVillage_info/icon_cj.png
  28. Binārs
      src/assets/images/sunVillage_info/icon_sm.png
  29. Binārs
      src/assets/images/sunVillage_info/icon_vote.png
  30. Binārs
      src/assets/images/sunVillage_info/img_1.png
  31. Binārs
      src/assets/images/sunVillage_info/index_block_01.png
  32. Binārs
      src/assets/images/sunVillage_info/index_block_02.png
  33. Binārs
      src/assets/images/sunVillage_info/index_block_03.png
  34. Binārs
      src/assets/images/sunVillage_info/index_block_04.png
  35. Binārs
      src/assets/images/sunVillage_info/index_block_05.png
  36. Binārs
      src/assets/images/sunVillage_info/index_block_06.png
  37. Binārs
      src/assets/images/sunVillage_info/index_block_07.png
  38. Binārs
      src/assets/images/sunVillage_info/index_block_08.png
  39. Binārs
      src/assets/images/sunVillage_info/index_block_1.png
  40. Binārs
      src/assets/images/sunVillage_info/index_block_1_rights.png
  41. Binārs
      src/assets/images/sunVillage_info/index_block_2.png
  42. Binārs
      src/assets/images/sunVillage_info/index_block_2_rights.png
  43. Binārs
      src/assets/images/sunVillage_info/index_block_3.png
  44. Binārs
      src/assets/images/sunVillage_info/index_block_3_rights.png
  45. Binārs
      src/assets/images/sunVillage_info/index_block_4.png
  46. Binārs
      src/assets/images/sunVillage_info/index_block_4_rights.png
  47. Binārs
      src/assets/images/sunVillage_info/index_block_5.png
  48. Binārs
      src/assets/images/sunVillage_info/index_block_6.png
  49. Binārs
      src/assets/images/sunVillage_info/index_block_7.png
  50. Binārs
      src/assets/images/sunVillage_info/index_block_8.png
  51. Binārs
      src/assets/images/sunVillage_info/index_btn.png
  52. Binārs
      src/assets/images/sunVillage_info/index_code_btn_1.png
  53. Binārs
      src/assets/images/sunVillage_info/index_code_btn_2.png
  54. Binārs
      src/assets/images/sunVillage_info/index_code_btn_3.png
  55. Binārs
      src/assets/images/sunVillage_info/index_head.png
  56. Binārs
      src/assets/images/sunVillage_info/index_icon_1.png
  57. Binārs
      src/assets/images/sunVillage_info/index_icon_2.png
  58. Binārs
      src/assets/images/sunVillage_info/index_title.png
  59. Binārs
      src/assets/images/sunVillage_info/index_title2.png
  60. Binārs
      src/assets/images/sunVillage_info/index_title2_rights.png
  61. Binārs
      src/assets/images/sunVillage_info/information_icon_1.png
  62. Binārs
      src/assets/images/sunVillage_info/information_icon_2.png
  63. Binārs
      src/assets/images/sunVillage_info/information_icon_3.png
  64. Binārs
      src/assets/images/sunVillage_info/list_head.png
  65. Binārs
      src/assets/images/sunVillage_info/list_icon_1.png
  66. Binārs
      src/assets/images/sunVillage_info/list_icon_10.png
  67. Binārs
      src/assets/images/sunVillage_info/list_icon_2.png
  68. Binārs
      src/assets/images/sunVillage_info/list_icon_3.png
  69. Binārs
      src/assets/images/sunVillage_info/list_icon_4.png
  70. Binārs
      src/assets/images/sunVillage_info/list_icon_5.png
  71. Binārs
      src/assets/images/sunVillage_info/list_icon_6.png
  72. Binārs
      src/assets/images/sunVillage_info/list_icon_7.png
  73. Binārs
      src/assets/images/sunVillage_info/list_icon_8.png
  74. Binārs
      src/assets/images/sunVillage_info/list_icon_9.png
  75. Binārs
      src/assets/images/sunVillage_info/login_btn.png
  76. Binārs
      src/assets/images/sunVillage_info/login_head.png
  77. Binārs
      src/assets/images/sunVillage_info/login_head_code.png
  78. Binārs
      src/assets/images/sunVillage_info/login_head_h.png
  79. Binārs
      src/assets/images/sunVillage_info/login_head_h_rights.png
  80. Binārs
      src/assets/images/sunVillage_info/login_head_nr.png
  81. Binārs
      src/assets/images/sunVillage_info/login_head_nr_code.png
  82. Binārs
      src/assets/images/sunVillage_info/login_head_t.png
  83. Binārs
      src/assets/images/sunVillage_info/login_icon_1.png
  84. Binārs
      src/assets/images/sunVillage_info/login_icon_2.png
  85. Binārs
      src/assets/images/sunVillage_info/login_icon_2_code.png
  86. Binārs
      src/assets/images/sunVillage_info/login_icon_3.png
  87. Binārs
      src/assets/images/sunVillage_info/login_icon_4.png
  88. Binārs
      src/assets/images/sunVillage_info/login_icon_5.png
  89. Binārs
      src/assets/images/sunVillage_info/login_main.png
  90. Binārs
      src/assets/images/sunVillage_info/name_icon.png
  91. Binārs
      src/assets/images/sunVillage_info/user_icon.png
  92. +3
    -1
      src/components/form/FieldCalender.vue
  93. +255
    -0
      src/components/form/FieldCascader.vue
  94. +4
    -1
      src/components/form/FieldCheckbox.vue
  95. +4
    -2
      src/components/form/FieldDatePicker.vue
  96. +7
    -2
      src/components/form/FieldRadio.vue
  97. +7
    -2
      src/components/form/FieldSelect.vue
  98. +188
    -0
      src/components/form/SubjectTreeChooser.vue
  99. +68
    -0
      src/components/form/SubjectTreeChooserNodeItem.vue
  100. +8
    -1
      src/main.js

+ 1
- 1
config/index.js Parādīt failu

@@ -12,7 +12,7 @@ module.exports = {
proxyTable: {
"/api": {
// 请求的目标主机
//target: 'http://116.255.135.38:8081/nsgk_test/',
//target: 'http://116.255.223.226:8081/nsgk_test/',
target: 'http://localhost:8080/',
changeOrigin: true,
pathRewrite: {


+ 85
- 10
package-lock.json Parādīt failu

@@ -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 Parādīt failu

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


+ 44
- 0
src/api/onlineHome/bankAgriculture/bankOfDeposit.js Parādīt failu

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

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

// 新增开户行
export function addDeposit(data) {
return request({
url: '/yinnong/deposit/add',
method: 'post',
data: data
})
}

// 修改开户行
export function editDeposit(data) {
return request({
url: '/yinnong/deposit/edit',
method: 'post',
data: data
})
}

// 查询开户行详细
export function getDeposit(id) {
return request({
url: '/yinnong/deposit/get/' + id,
method: 'get'
})
}

// 删除开户行
export function delDeposit(id) {
return request({
url: '/yinnong/deposit/remove/' + id,
method: 'get'
})
}

+ 9
- 0
src/api/onlineHome/bankAgriculture/paymentApproval.js Parādīt failu

@@ -345,3 +345,12 @@ export function selectApprovalByTemplateId(templateId) {
method: 'get'
})
}

// 撤回
export function updateTYinnongTransferFoStatus(data) {
return request({
url: '/yinnong/transfer/updateTYinnongTransferFoStatus',
method: 'post',
data: data
})
}

+ 439
- 0
src/api/sunVillage_info/fixedAssets.js Parādīt failu

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

// 查询固定资产列表
export function permanentList(query) {
return request({
url: '/asset/permanent/list',
method: 'get',
params: query
})
}
// 查询合同信息列表
export function contractionList(query) {
return request({
url: '/contraction/info/list',
method: 'get',
params: query
})
}
// 新增固定资产
export function addPermanent(data) {
return request({
url: '/asset/permanent/add',
method: 'post',
data: data
})
}
// 查询固定资产详细
export function getPermanent(id) {
return request({
url: '/asset/permanent/get/' + id,
method: 'get'
})
}
// 修改固定资产
export function updatePermanent(data) {
return request({
url: '/asset/permanent/edit',
method: 'post',
data: data
})
}
// 删除固定资产
export function delPermanent(id) {
return request({
url: '/asset/permanent/remove/' + id,
method: 'get'
})
}
//上传全局方法附件
export function commonAttach(data) {
return request({
url: '/common/attach',
method: 'post',
header: { "Content-Type": 'application/x-www-form-urlencoded' },
data: data
})
}
//上传全局方法附件
export function commonUpload(data) {
return request({
url: '/common/upload',
method: 'post',
header: { "Content-Type": 'application/x-www-form-urlencoded' },
data: data
})
}
//查询已上传附件
export const attachmentList = (data) => {
return request({
url: '/system/attachment/query',
method: 'get',
params: data
})
}
//删除已上传附件
export function systemAttachment(ids) {
if (ids != undefined) {
return request({
url: '/system/attachment/remove/' + ids,
method: 'get'
})
}
}
// 新增合同信息
export function addInfo(data) {
return request({
url: '/contraction/info/add',
method: 'post',
data: data
})
}
// 查询合同信息详细
export function getInfo(id) {
return request({
url: '/contraction/info/get/' + id,
method: 'get'
})
}
// 删除合同信息
export function delInfo(id) {
return request({
url: '/contraction/info/remove/' + id,
method: 'get'
})
}
// 修改合同信息
export function updateInfo(data) {
return request({
url: '/contraction/info/edit',
method: 'post',
data: data
})
}
// 财务公开列表
export function financePublicList(query) {
return request({
url: '/villageAffairs/public/financePublicList',
method: 'get',
params: query
})
}
// 零工公开列表
export function tempWorkerPublicList(query) {
return request({
url: '/villageAffairs/public/tempWorkerPublicList',
method: 'get',
params: query
})
}
// 重大事项公开列表
export function majorEventPublicList(query) {
return request({
url: '/villageAffairs/public/majorEventPublicList',
method: 'get',
params: query
})
}
// 财务公开详情
export function financePublicDetail(query) {
return request({
url: '/villageAffairs/public/financePublicDetail',
method: 'get',
params: query
})
}
// 零工公开详情
export function tempWorkerPublicDetail(query) {
return request({
url: '/villageAffairs/public/tempWorkerPublicDetail',
method: 'get',
params: query
})
}
// 重大事项公开详情
export function majorEventPublicDetail(query) {
return request({
url: '/villageAffairs/public/majorEventPublicDetail',
method: 'get',
params: query
})
}

//获取区、镇、村地区
export function treeselectByUser(query) {
return request({
url: '/system/dept/treeselectByUser',
method: 'get',
params: query
})
}
//获取账套列表
export function listByDeptId(query) {
return request({
url: '/finance/book/listByDeptId',
method: 'get',
params: query
})
}

// 切换部门
export function changeDept(query) {
return request({
url: '/system/user/changeDept',
method: 'get',
params: query
})
}
// 切换账套
export function changeBook(query) {
return request({
url: '/system/user/changeBook',
method: 'get',
params: query
})
}
// 财务公开新增
export function openAdd(data) {
return request({
url: '/open/open/add',
method: 'post',
data: data
})
}
// 财务公开修改
export function openEdit(data) {
return request({
url: '/open/open/edit',
method: 'post',
data: data
})
}
// 零工公开新增
export function tempWorkerOpenAdd(data) {
return request({
url: '/subcontract/tempWorkerOpen/add',
method: 'post',
data: data
})
}
// 财务公开修改
export function tempWorkerOpenEdit(data) {
return request({
url: '/subcontract/tempWorkerOpen/edit',
method: 'post',
data: data
})
}
// 重大事项新增
export function majorEventOpenAdd(data) {
return request({
url: '/subcontract/majorEventOpen/add',
method: 'post',
data: data
})
}
// 重大事项修改
export function majorEventOpenEdit(data) {
return request({
url: '/subcontract/majorEventOpen/edit',
method: 'post',
data: data
})
}
// 财务公开删除
export function openRemove(id) {
return request({
url: '/open/open/remove/' + id,
method: 'get'
})
}
// 零工公开删除
export function tempWorkerOpenRemove(id) {
return request({
url: '/subcontract/tempWorkerOpen/remove/' + id,
method: 'get'
})
}
// 零工公开删除
export function majorEventOpenRemove(id) {
return request({
url: '/subcontract/majorEventOpen/remove/' + id,
method: 'get'
})
}

// 查询零工登记列表
export function listOddjob(query) {
return request({
url: '/villageAffairs/public/oddjobList',
method: 'get',
params: query
})
}

// 新增零工登记
export function addOddjob(data) {
return request({
url: '/subcontract/oddjob/add',
method: 'post',
data: data
})
}

// 修改零工登记
export function updateOddjob(data) {
return request({
url: '/subcontract/oddjob/edit',
method: 'post',
data: data
})
}

// 查询零工登记详细
export function getOddjob(id) {
return request({
url: '/subcontract/oddjob/get/' + id,
method: 'get'
})
}

// 删除零工登记
export function delOddjob(id) {
return request({
url: '/subcontract/oddjob/remove/' + id,
method: 'get'
})
}

// 财务公开榜
export function financialAmountPublicMonthList(query) {
return request({
url: '/villageAffairs/public/financialAmountPublicMonthList',
method: 'get',
params: query // ?bookId=<账套ID 必填>&yearMonth=<查询年月 必填 yyyy-MM>
})
}

// 查询用户个人信息
export function getUserProfile() {
return request({
url: '/system/user/profile/get',
method: 'get'
})
}

// 修改用户个人信息
export function updateUserProfile(data) {
return request({
url: '/system/user/profile/edit',
method: 'post',
data: data
})
}

// 用户密码重置
export function updateUserPwd(oldPassword, newPassword) {
const data = {
oldPassword,
newPassword
}
return request({
url: '/system/user/profile/updatePwd',
method: 'post',
params: data
})
}

// 查询账套基本信息
export function bookInfo(bookId) {
return request({
url: `/villageAffairs/public/bookInfo/${bookId}`,
method: 'get',
})
}

// 查询科目余额表 可分页 需授权
export function trailBalanceList(query) {
return request({
url: '/finance/balance/list',
method: 'get',
params: query // ?startDate=<开始年月 yyyy-MM>&startSubjectId=<起始科目ID>&endSubjectId=<结束科目ID 如果需要查询单个科目 则设置为和startSubjectId一样即可>&filterZero=<bool 是否过滤掉余额为0结果>&showSubSubject=<bool 是否显示下级科目>&分页参数...
})
}

export function getLoginBook() {
return request({
url: '/finance/book/getLoginBook',
method: 'get'
})
}

// 查询投票主题列表
export function listPoll(deptId , query) {
return request({
url: `/villageAffairs/public/poll/list/${deptId}`,
method: 'get',
params: query
})
}

// 姓名, 账套ID, 身份证, 返回里会有个id字段
export function checkFarmer(data) {
return request({
url: '/register/checkFarmer',
method: 'post',
data: data,
})
}

// 查询投票主题详细
export function getPoll(id) {
return request({
url: `/villageAffairs/public/poll/detail/${id}`,
method: 'get'
})
}

// 投票 id为主题ID, option为投票选项ID, 多个用,分隔, userId为认证后的农户ID
export function votePoll(id, data) {
return request({
url: `/villageAffairs/public/poll/vote/${id}`,
method: 'post',
params: data,
})
}

// 新增投票主题
export function addPoll(data) {
return request({
url: '/poll/poll/add',
method: 'post',
data: data
})
}

// 修改投票主题
export function updatePoll(data) {
return request({
url: '/poll/poll/edit',
method: 'post',
data: data
})
}

// 删除投票主题
export function delPoll(id) {
return request({
url: '/poll/poll/remove/' + id,
method: 'get'
})
}

// 发布投票主题
export function publicPoll(id) {
return request({
url: '/poll/poll/publicPoll/'+ id,
method: 'get'
})
}

+ 2
- 2
src/assets/css/base.scss Parādīt failu

@@ -44,7 +44,7 @@ figcaption {
}
}

* { touch-action: pan-y; }
//* { touch-action: pan-y; }
body {
color: #323233;
}
@@ -128,4 +128,4 @@ body {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
}

Binārs
src/assets/images/sunVillage_info/ECEL.png Parādīt failu

Pirms Pēc
Platums: 200  |  Augstums: 200  |  Izmērs: 5.5 KiB

Binārs
src/assets/images/sunVillage_info/WORD.png Parādīt failu

Pirms Pēc
Platums: 200  |  Augstums: 200  |  Izmērs: 6.8 KiB

Binārs
src/assets/images/sunVillage_info/addFile.png Parādīt failu

Pirms Pēc
Platums: 231  |  Augstums: 57  |  Izmērs: 4.0 KiB

Binārs
src/assets/images/sunVillage_info/add_icon_1.png Parādīt failu

Pirms Pēc
Platums: 37  |  Augstums: 37  |  Izmērs: 1.5 KiB

Binārs
src/assets/images/sunVillage_info/add_icon_2.png Parādīt failu

Pirms Pēc
Platums: 41  |  Augstums: 41  |  Izmērs: 1.9 KiB

Binārs
src/assets/images/sunVillage_info/add_tit_icon_01.png Parādīt failu

Pirms Pēc
Platums: 35  |  Augstums: 39  |  Izmērs: 1.9 KiB

Binārs
src/assets/images/sunVillage_info/add_tit_icon_02.png Parādīt failu

Pirms Pēc
Platums: 35  |  Augstums: 25  |  Izmērs: 1.6 KiB

Binārs
src/assets/images/sunVillage_info/add_tit_icon_03.png Parādīt failu

Pirms Pēc
Platums: 35  |  Augstums: 33  |  Izmērs: 1.8 KiB

Binārs
src/assets/images/sunVillage_info/add_tit_icon_04.png Parādīt failu

Pirms Pēc
Platums: 35  |  Augstums: 31  |  Izmērs: 1.5 KiB

Binārs
src/assets/images/sunVillage_info/add_tit_icon_05.png Parādīt failu

Pirms Pēc
Platums: 35  |  Augstums: 35  |  Izmērs: 1.5 KiB

Binārs
src/assets/images/sunVillage_info/btn_bg.png Parādīt failu

Pirms Pēc
Platums: 372  |  Augstums: 81  |  Izmērs: 4.0 KiB

Binārs
src/assets/images/sunVillage_info/date_bg.png Parādīt failu

Pirms Pēc
Platums: 705  |  Augstums: 184  |  Izmērs: 2.9 KiB

Binārs
src/assets/images/sunVillage_info/date_icon.png Parādīt failu

Pirms Pēc
Platums: 51  |  Augstums: 49  |  Izmērs: 2.8 KiB

Binārs
src/assets/images/sunVillage_info/delete_icon_input.png Parādīt failu

Pirms Pēc
Platums: 202  |  Augstums: 200  |  Izmērs: 9.9 KiB

Binārs
src/assets/images/sunVillage_info/details_icon_1.png Parādīt failu

Pirms Pēc
Platums: 24  |  Augstums: 21  |  Izmērs: 1.3 KiB

Binārs
src/assets/images/sunVillage_info/details_icon_2.png Parādīt failu

Pirms Pēc
Platums: 25  |  Augstums: 25  |  Izmērs: 1.5 KiB

Binārs
src/assets/images/sunVillage_info/fixedAssets_icon_1.png Parādīt failu

Pirms Pēc
Platums: 30  |  Augstums: 30  |  Izmērs: 1.5 KiB

Binārs
src/assets/images/sunVillage_info/fixedAssets_icon_2.png Parādīt failu

Pirms Pēc
Platums: 34  |  Augstums: 30  |  Izmērs: 1.2 KiB

Binārs
src/assets/images/sunVillage_info/fixedAssets_icon_3.png Parādīt failu

Pirms Pēc
Platums: 25  |  Augstums: 25  |  Izmērs: 1.5 KiB

Binārs
src/assets/images/sunVillage_info/icon_cj.png Parādīt failu

Pirms Pēc
Platums: 12  |  Augstums: 12  |  Izmērs: 207 B

Binārs
src/assets/images/sunVillage_info/icon_sm.png Parādīt failu

Pirms Pēc
Platums: 12  |  Augstums: 12  |  Izmērs: 227 B

Binārs
src/assets/images/sunVillage_info/icon_vote.png Parādīt failu

Pirms Pēc
Platums: 76  |  Augstums: 76  |  Izmērs: 2.8 KiB

Binārs
src/assets/images/sunVillage_info/img_1.png Parādīt failu

Pirms Pēc
Platums: 704  |  Augstums: 455  |  Izmērs: 344 KiB

Binārs
src/assets/images/sunVillage_info/index_block_01.png Parādīt failu

Pirms Pēc
Platums: 64  |  Augstums: 58  |  Izmērs: 2.8 KiB

Binārs
src/assets/images/sunVillage_info/index_block_02.png Parādīt failu

Pirms Pēc
Platums: 68  |  Augstums: 58  |  Izmērs: 2.9 KiB

Binārs
src/assets/images/sunVillage_info/index_block_03.png Parādīt failu

Pirms Pēc
Platums: 74  |  Augstums: 58  |  Izmērs: 3.5 KiB

Binārs
src/assets/images/sunVillage_info/index_block_04.png Parādīt failu

Pirms Pēc
Platums: 71  |  Augstums: 58  |  Izmērs: 2.8 KiB

Binārs
src/assets/images/sunVillage_info/index_block_05.png Parādīt failu

Pirms Pēc
Platums: 69  |  Augstums: 65  |  Izmērs: 3.3 KiB

Binārs
src/assets/images/sunVillage_info/index_block_06.png Parādīt failu

Pirms Pēc
Platums: 69  |  Augstums: 59  |  Izmērs: 2.9 KiB

Binārs
src/assets/images/sunVillage_info/index_block_07.png Parādīt failu

Pirms Pēc
Platums: 82  |  Augstums: 58  |  Izmērs: 4.2 KiB

Binārs
src/assets/images/sunVillage_info/index_block_08.png Parādīt failu

Pirms Pēc
Platums: 71  |  Augstums: 58  |  Izmērs: 2.4 KiB

Binārs
src/assets/images/sunVillage_info/index_block_1.png Parādīt failu

Pirms Pēc
Platums: 200  |  Augstums: 249  |  Izmērs: 4.5 KiB

Binārs
src/assets/images/sunVillage_info/index_block_1_rights.png Parādīt failu

Pirms Pēc
Platums: 69  |  Augstums: 58  |  Izmērs: 2.8 KiB

Binārs
src/assets/images/sunVillage_info/index_block_2.png Parādīt failu

Pirms Pēc
Platums: 200  |  Augstums: 249  |  Izmērs: 5.0 KiB

Binārs
src/assets/images/sunVillage_info/index_block_2_rights.png Parādīt failu

Pirms Pēc
Platums: 69  |  Augstums: 58  |  Izmērs: 2.8 KiB

Binārs
src/assets/images/sunVillage_info/index_block_3.png Parādīt failu

Pirms Pēc
Platums: 200  |  Augstums: 249  |  Izmērs: 6.6 KiB

Binārs
src/assets/images/sunVillage_info/index_block_3_rights.png Parādīt failu

Pirms Pēc
Platums: 69  |  Augstums: 58  |  Izmērs: 3.5 KiB

Binārs
src/assets/images/sunVillage_info/index_block_4.png Parādīt failu

Pirms Pēc
Platums: 200  |  Augstums: 249  |  Izmērs: 4.6 KiB

Binārs
src/assets/images/sunVillage_info/index_block_4_rights.png Parādīt failu

Pirms Pēc
Platums: 69  |  Augstums: 65  |  Izmērs: 3.4 KiB

Binārs
src/assets/images/sunVillage_info/index_block_5.png Parādīt failu

Pirms Pēc
Platums: 200  |  Augstums: 249  |  Izmērs: 7.6 KiB

Binārs
src/assets/images/sunVillage_info/index_block_6.png Parādīt failu

Pirms Pēc
Platums: 200  |  Augstums: 249  |  Izmērs: 5.0 KiB

Binārs
src/assets/images/sunVillage_info/index_block_7.png Parādīt failu

Pirms Pēc
Platums: 200  |  Augstums: 217  |  Izmērs: 5.8 KiB

Binārs
src/assets/images/sunVillage_info/index_block_8.png Parādīt failu

Pirms Pēc
Platums: 200  |  Augstums: 217  |  Izmērs: 5.7 KiB

Binārs
src/assets/images/sunVillage_info/index_btn.png Parādīt failu

Pirms Pēc
Platums: 222  |  Augstums: 81  |  Izmērs: 8.7 KiB

Binārs
src/assets/images/sunVillage_info/index_code_btn_1.png Parādīt failu

Pirms Pēc
Platums: 341  |  Augstums: 120  |  Izmērs: 11 KiB

Binārs
src/assets/images/sunVillage_info/index_code_btn_2.png Parādīt failu

Pirms Pēc
Platums: 341  |  Augstums: 120  |  Izmērs: 10 KiB

Binārs
src/assets/images/sunVillage_info/index_code_btn_3.png Parādīt failu

Pirms Pēc
Platums: 341  |  Augstums: 119  |  Izmērs: 11 KiB

Binārs
src/assets/images/sunVillage_info/index_head.png Parādīt failu

Pirms Pēc
Platums: 750  |  Augstums: 343  |  Izmērs: 117 KiB

Binārs
src/assets/images/sunVillage_info/index_icon_1.png Parādīt failu

Pirms Pēc
Platums: 20  |  Augstums: 26  |  Izmērs: 1.3 KiB

Binārs
src/assets/images/sunVillage_info/index_icon_2.png Parādīt failu

Pirms Pēc
Platums: 35  |  Augstums: 33  |  Izmērs: 1.5 KiB

Binārs
src/assets/images/sunVillage_info/index_title.png Parādīt failu

Pirms Pēc
Platums: 521  |  Augstums: 52  |  Izmērs: 5.0 KiB

Binārs
src/assets/images/sunVillage_info/index_title2.png Parādīt failu

Pirms Pēc
Platums: 524  |  Augstums: 53  |  Izmērs: 6.0 KiB

Binārs
src/assets/images/sunVillage_info/index_title2_rights.png Parādīt failu

Pirms Pēc
Platums: 520  |  Augstums: 52  |  Izmērs: 5.5 KiB

Binārs
src/assets/images/sunVillage_info/information_icon_1.png Parādīt failu

Pirms Pēc
Platums: 27  |  Augstums: 26  |  Izmērs: 1.2 KiB

Binārs
src/assets/images/sunVillage_info/information_icon_2.png Parādīt failu

Pirms Pēc
Platums: 32  |  Augstums: 26  |  Izmērs: 1.3 KiB

Binārs
src/assets/images/sunVillage_info/information_icon_3.png Parādīt failu

Pirms Pēc
Platums: 27  |  Augstums: 26  |  Izmērs: 1.3 KiB

Binārs
src/assets/images/sunVillage_info/list_head.png Parādīt failu

Pirms Pēc
Platums: 750  |  Augstums: 116  |  Izmērs: 42 KiB

Binārs
src/assets/images/sunVillage_info/list_icon_1.png Parādīt failu

Pirms Pēc
Platums: 23  |  Augstums: 12  |  Izmērs: 1.2 KiB

Binārs
src/assets/images/sunVillage_info/list_icon_10.png Parādīt failu

Pirms Pēc
Platums: 28  |  Augstums: 22  |  Izmērs: 1.1 KiB

Binārs
src/assets/images/sunVillage_info/list_icon_2.png Parādīt failu

Pirms Pēc
Platums: 34  |  Augstums: 30  |  Izmērs: 1.2 KiB

Binārs
src/assets/images/sunVillage_info/list_icon_3.png Parādīt failu

Pirms Pēc
Platums: 29  |  Augstums: 21  |  Izmērs: 1.2 KiB

Binārs
src/assets/images/sunVillage_info/list_icon_4.png Parādīt failu

Pirms Pēc
Platums: 25  |  Augstums: 25  |  Izmērs: 1.5 KiB

Binārs
src/assets/images/sunVillage_info/list_icon_5.png Parādīt failu

Pirms Pēc
Platums: 20  |  Augstums: 36  |  Izmērs: 1.2 KiB

Binārs
src/assets/images/sunVillage_info/list_icon_6.png Parādīt failu

Pirms Pēc
Platums: 26  |  Augstums: 25  |  Izmērs: 1.3 KiB

Binārs
src/assets/images/sunVillage_info/list_icon_7.png Parādīt failu

Pirms Pēc
Platums: 22  |  Augstums: 29  |  Izmērs: 1.3 KiB

Binārs
src/assets/images/sunVillage_info/list_icon_8.png Parādīt failu

Pirms Pēc
Platums: 260  |  Augstums: 2  |  Izmērs: 940 B

Binārs
src/assets/images/sunVillage_info/list_icon_9.png Parādīt failu

Pirms Pēc
Platums: 47  |  Augstums: 34  |  Izmērs: 1.2 KiB

Binārs
src/assets/images/sunVillage_info/login_btn.png Parādīt failu

Pirms Pēc
Platums: 315  |  Augstums: 71  |  Izmērs: 2.2 KiB

Binārs
src/assets/images/sunVillage_info/login_head.png Parādīt failu

Pirms Pēc
Platums: 750  |  Augstums: 484  |  Izmērs: 94 KiB

Binārs
src/assets/images/sunVillage_info/login_head_code.png Parādīt failu

Pirms Pēc
Platums: 750  |  Augstums: 484  |  Izmērs: 96 KiB

Binārs
src/assets/images/sunVillage_info/login_head_h.png Parādīt failu

Pirms Pēc
Platums: 61  |  Augstums: 61  |  Izmērs: 2.6 KiB

Binārs
src/assets/images/sunVillage_info/login_head_h_rights.png Parādīt failu

Pirms Pēc
Platums: 61  |  Augstums: 61  |  Izmērs: 2.7 KiB

Binārs
src/assets/images/sunVillage_info/login_head_nr.png Parādīt failu

Pirms Pēc
Platums: 284  |  Augstums: 52  |  Izmērs: 3.8 KiB

Binārs
src/assets/images/sunVillage_info/login_head_nr_code.png Parādīt failu

Pirms Pēc
Platums: 342  |  Augstums: 51  |  Izmērs: 3.9 KiB

Binārs
src/assets/images/sunVillage_info/login_head_t.png Parādīt failu

Pirms Pēc
Platums: 145  |  Augstums: 148  |  Izmērs: 5.9 KiB

Binārs
src/assets/images/sunVillage_info/login_icon_1.png Parādīt failu

Pirms Pēc
Platums: 35  |  Augstums: 35  |  Izmērs: 1.5 KiB

Binārs
src/assets/images/sunVillage_info/login_icon_2.png Parādīt failu

Pirms Pēc
Platums: 35  |  Augstums: 35  |  Izmērs: 1.4 KiB

Binārs
src/assets/images/sunVillage_info/login_icon_2_code.png Parādīt failu

Pirms Pēc
Platums: 34  |  Augstums: 24  |  Izmērs: 1.3 KiB

Binārs
src/assets/images/sunVillage_info/login_icon_3.png Parādīt failu

Pirms Pēc
Platums: 35  |  Augstums: 35  |  Izmērs: 2.7 KiB

Binārs
src/assets/images/sunVillage_info/login_icon_4.png Parādīt failu

Pirms Pēc
Platums: 32  |  Augstums: 32  |  Izmērs: 1.4 KiB

Binārs
src/assets/images/sunVillage_info/login_icon_5.png Parādīt failu

Pirms Pēc
Platums: 32  |  Augstums: 32  |  Izmērs: 1.6 KiB

Binārs
src/assets/images/sunVillage_info/login_main.png Parādīt failu

Pirms Pēc
Platums: 676  |  Augstums: 408  |  Izmērs: 153 KiB

Binārs
src/assets/images/sunVillage_info/name_icon.png Parādīt failu

Pirms Pēc
Platums: 29  |  Augstums: 7  |  Izmērs: 1.2 KiB

Binārs
src/assets/images/sunVillage_info/user_icon.png Parādīt failu

Pirms Pēc
Platums: 16  |  Augstums: 16  |  Izmērs: 253 B

+ 3
- 1
src/components/form/FieldCalender.vue Parādīt failu

@@ -1,3 +1,4 @@
<!-- 日历表单组件 zhao -->
<template>
<!-- !!!注: 不支持逝去的日子, 以`FieldDatePicker`代替 !!! -->
<div>
@@ -36,7 +37,8 @@ import { formatDate } from "element-ui/src/utils/date-util.js"
export default {
name: "FieldCalender",
props: [
'name', 'readonly', 'value', 'label', 'placeholder', 'required', 'rules', 'formatter', 'labelWidth'
'name', 'readonly', 'value', 'label', 'placeholder', 'required', 'rules', 'labelWidth',
'formatter', // value的格式化 String|Function|undefined 字符串为格式字符串, 函数则必须有返回 undefined则不转换
],
watch: {
value: function (newVal, oldVal) {


+ 255
- 0
src/components/form/FieldCascader.vue Parādīt failu

@@ -0,0 +1,255 @@
<!-- 级联树选择器表单组件 zhao -->
<template>
<div>
<van-field
:readonly="true"
:clickable="!readonly"
:name="name"
:value="visibleValue"
:label="label"
:placeholder="placeholder"
@click="openPopup"
input-align="right"
right-icon="arrow-down"
:rules="rules"
:required="required"
:label-width="labelWidth || 'auto'"
>
</van-field>
<van-popup v-model="popupVisible" position="bottom">
<van-cascader
ref="picker"
:title="label"
v-model="internalValue"
:placeholder="placeholder || '请选择'"
:options="internalOptions"
:readonly="readonly"
:loading="loading"
:field-names="{
text: textName || 'text',
value: valueName || 'value',
children: childrenName || 'children',
}"
@finish="onConfirm"
@close="onCancel"
@change="onChanged"
/>
</van-popup>
</div>
</template>

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

export default {
name: "fieldCascader",
props: [
'name', 'readonly', 'value', 'label', 'placeholder', 'required', 'rules', 'labelWidth',
'options', // 树结构数组/普通数组
'textName', // 名称键名 String 默认text
'valueName', // 值键名 String 默认value
'remoteUrl', // 远程列表加载地址 String
'onRemoteResponse', // 远程获取到结果的处理回调 String|Function 如果是函数需返回数组, 如果是字符串支持.分割
'childrenName', // 子级数组键名 String 默认children
'parentName', // 父的值键名 String 如果不为空 则自动转数组为树树结构数组 String
'showTextAndValue', // 是否显示值和键 Bool|String 字符串为分隔符, true为空字符串
'showHasChildren', // 是否显示存在子级的标识 Bool|String 字符串为标识符, true为` >`
],
watch: {
value: function (newVal, oldVal) {
if(newVal != this.internalValue)
{
this.internalValue = newVal;
this.syncIndex();
}
},
options: function (newVal, oldVal) {
this.internalOptions = this.makeTree(JSON.parse(JSON.stringify(newVal)));
this.handleTree(this.internalOptions);
this.syncIndex();
},
remoteUrl: function (newVal, oldVal) {
this.requestRemote();
},
onRemoteResponse: function (newVal, oldVal) {
this.parseRemote();
}
},
created() {
if(this.options && Array.isArray(this.options) && this.options.length > 0)
{
this.internalOptions = this.makeTree(JSON.parse(JSON.stringify(this.options)));
this.handleTree(this.internalOptions);
this.syncIndex();
}
else if(this.remoteUrl)
this.requestRemote();
},
data() {
return {
popupVisible: false,
internalValue: this.value,
visibleValue: '',
defaultIndex: 0,
internalOptions: [],
loading: false,
remoteResponse: null,
};
},
methods: {
openPopup() {
if(!this.readonly)
{
this.popupVisible = true;
this.$nextTick(() => {
//this.$refs.picker.setIndexes([this.defaultIndex]);
})
}
},
closePopup() {
this.popupVisible = false;
},
onChanged({ value, selectedOptions, tabIndex }) {
this.$emit('change', { value, selectedOptions, });
},
onConfirm({ value, selectedOptions, tabIndex }) {
this.syncValue(value, selectedOptions[selectedOptions.length - 1]);
this.$emit('input', this.internalValue);
this.$emit('confirm', this.internalValue);
this.closePopup();
},
onCancel() {
this.closePopup();
this.$emit('cancel');
},
getValue(data) {
return typeof(data) === 'object' && this.valueName ? data[this.valueName] : data;
},
getLabel(data) {
return typeof(data) === 'object' && this.textName ? data[this.textName] : data;
},
syncValue(value, data) {
this.internalValue = value;
this.visibleValue = this.getLabel(data);
},
requestRemote() {
if(!this.remoteUrl)
return;
this.loading = true;
this.internalOptions = [];
let promise = typeof(this.remoteUrl) === 'function' ? this.remoteUrl() : (this.remoteUrl instanceof Promise ? this.remoteUrl : request(this.remoteUrl));
promise.then((resp) => {
this.remoteResponse = resp;
this.parseRemote();
}).catch((e) => {
console.error(e);
}).finally(() => {
this.loading = false;
})
},
parseRemote() {
if(!this.remoteResponse)
return;
let type = typeof(this.onRemoteResponse);
if(type === 'function')
this.internalOptions = this.makeTree(this.onRemoteResponse(this.remoteResponse));
else if(type === 'string')
{
let arr = this.onRemoteResponse.split('.');
let ptr = this.remoteResponse;
for(let i in arr)
{
ptr = this.remoteResponse[arr[i]];
}
this.internalOptions = this.makeTree(ptr);
}
else
this.internalOptions = this.makeTree(this.remoteResponse);
this.handleTree(this.internalOptions);
this.syncIndex();
},
makeTree(list) {
let parentName = this.parentName;
let valueName = this.valueName || 'value';
let childrenName = this.childrenName || 'children';
function isnull(p) {
return p === null || p === undefined || p === '';
}
function makeTree_r(l, p) {
const isRoot = isnull(p);
let res = [];
for(let v of l)
{
const parentValue = v[parentName];
const value = v[valueName];
if((isRoot && isnull(parentValue)) || (!isRoot && parentValue == p))
{
let arr = makeTree_r(l, value);
if(arr && arr.length > 0)
v[childrenName] = arr;
else
delete v[childrenName];
res.push(v);
}
}
return res;
}
if(this.parentName)
return makeTree_r(list);
else
return list;
},
handleTree(tree) {
if(!this.showTextAndValue && !this.showHasChildren)
return;
let split = this.showTextAndValue === false || this.showTextAndValue === undefined || this.showTextAndValue === null ? false : (typeof(this.showTextAndValue) === 'boolean' ? "" : this.showTextAndValue);
let hasChildren = this.showHasChildren === false || this.showHasChildren === undefined || this.showHasChildren === null ? false : (typeof(this.showHasChildren) === 'boolean' ? " >" : this.showHasChildren);
let textName = this.textName || 'text';
let valueName = this.valueName || 'value';
let childrenName = this.childrenName || 'children';
function handleTree_r(l) {
for(let v of l)
{
if(split !== false)
v[textName] = v[valueName] + split + v[textName];
if(v[childrenName] && Array.isArray(v[childrenName]) && v[childrenName].length > 0)
{
if(hasChildren !== false)
v[textName] = v[textName] + hasChildren;
handleTree_r(v[childrenName]);
}
}
}
handleTree_r(tree);
},
findTree(tree, value) {
let valueName = this.valueName || 'value';
let childrenName = this.childrenName || 'children';
function findTree_r(l) {
for(let v of l)
{
if(value == v[valueName])
return v;
if(v[childrenName] && Array.isArray(v[childrenName]) && v[childrenName].length > 0)
{
let res = findTree_r(v[childrenName]);
if(res !== undefined)
return res;
}
}
return;
}
return findTree_r(tree);
},
syncIndex() {
let item = this.findTree(this.internalOptions, this.internalValue);
if(item)
this.visibleValue = item[this.textName || 'text'];
}
},
}
</script>

<style scoped>

</style>

+ 4
- 1
src/components/form/FieldCheckbox.vue Parādīt failu

@@ -1,3 +1,4 @@
<!-- 状态单选框表单组件 zhao -->
<template>
<div>
<van-field
@@ -27,7 +28,9 @@ export default {
name: "fieldCheckbox",
props: [
'name', 'readonly', 'value', 'label', 'placeholder', 'required', 'rules',
'trueLabel', 'falseLabel', 'labelWidth'
'labelWidth',
'trueLabel', // 选中的值
'falseLabel', // 未选中的值
],
watch: {
value: function (newVal, oldVal) {


+ 4
- 2
src/components/form/FieldDatePicker.vue Parādīt failu

@@ -1,3 +1,4 @@
<!-- 日期选择表单组件 zhao -->
<template>
<div>
<van-field
@@ -40,8 +41,9 @@ import { formatDate } from "element-ui/src/utils/date-util.js"
export default {
name: "fieldDatePicker",
props: [
'name', 'readonly', 'value', 'label', 'placeholder', 'required', 'rules', 'formatter', 'labelWidth',
'type', // datetime date time year-month month-day datehour
'name', 'readonly', 'value', 'label', 'placeholder', 'required', 'rules', 'labelWidth',
'type', // 类型, 仅支持 datetime date time year-month month-day datehour
'formatter', // value的格式化 String|Function|undefined 字符串为格式字符串, 函数则必须有返回 undefined则不转换
],
watch: {
value: function (newVal, oldVal) {


+ 7
- 2
src/components/form/FieldRadio.vue Parādīt failu

@@ -1,3 +1,4 @@
<!-- 单选框组表单组件 zhao -->
<template>
<div>
<van-field
@@ -24,8 +25,12 @@ import request from "@/utils/request";
export default {
name: "fieldRadio",
props: [
'name', 'readonly', 'value', 'label', 'placeholder', 'required', 'rules', 'columns',
'valueKey', 'dataKey', 'remoteUrl', 'onRemoteResponse', 'labelWidth'
'name', 'readonly', 'value', 'label', 'placeholder', 'required', 'rules', 'labelWidth',
'columns', // 列表数据 Array
'valueKey', // 名称键名 String
'dataKey', // 值键名 String
'remoteUrl', // 远程列表加载地址 String
'onRemoteResponse', // 远程获取到结果的处理回调 String|Function 如果是函数需返回数组, 如果是字符串支持.分割
],
watch: {
value: function (newVal, oldVal) {


+ 7
- 2
src/components/form/FieldSelect.vue Parādīt failu

@@ -1,3 +1,4 @@
<!-- 下拉列表表单组件 zhao -->
<template>
<div>
<van-field
@@ -38,8 +39,12 @@ import request from "@/utils/request";
export default {
name: "fieldSelect",
props: [
'name', 'readonly', 'value', 'label', 'placeholder', 'required', 'rules', 'columns',
'valueKey', 'dataKey', 'remoteUrl', 'onRemoteResponse', 'labelWidth'
'name', 'readonly', 'value', 'label', 'placeholder', 'required', 'rules', 'labelWidth',
'columns', // 列表数据 Array
'valueKey', // 名称键名 String
'dataKey', // 值键名 String
'remoteUrl', // 远程列表加载地址 String
'onRemoteResponse', // 远程获取到结果的处理回调 String|Function 如果是函数需返回数组, 如果是字符串支持.分割
],
watch: {
value: function (newVal, oldVal) {


+ 188
- 0
src/components/form/SubjectTreeChooser.vue Parādīt failu

@@ -0,0 +1,188 @@
<!-- 会计科目选择弹出层组件 zhao -->
<template>
<van-popup v-model="popupVisible" position="bottom" :style="{'height': height || 'unset',}">
<van-search
v-model="searchValue"
placeholder="按科目编码/名称筛选"
@input="onSearch"
/>

<van-tabs v-model="active" @change="onTabChanged">
<van-tab :title="item.subjectName" :name="item.subjectId" v-for="(item, index) in subjects" :key="index">
<SubjectTreeChooserNodeItem :ref="'tree' + index" :subjects="item.children" @clicked="onItemClicked" :can-select-non-leaf="canSelectNonLeaf"></SubjectTreeChooserNodeItem>
</van-tab>
</van-tabs>
</van-popup>
</template>

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

export default {
name: "SubjectTreeChooser",
components: {SubjectTreeChooserNodeItem},
props: [
'value', 'visible', 'height', 'canSelectNonLeaf',
],
watch: {
value: function (newVal, oldVal) {
if(newVal != this.internalValue)
{
this.internalValue = newVal;
this.syncIndex();
}
},
visible: function(newVal, oldVal) {
if(this.popupVisible !== newVal)
{
this.popupVisible = newVal;
if(newVal)
this.syncIndex();
}
},
popupVisible: function(newVal, oldVal) {
if(newVal !== this.visible)
this.$emit('update:visible', newVal);
},
},
created() {
this.getSubjects();
},
data() {
return {
popupVisible: false,
internalValue: this.value,
searchValue: '',
active: '1',
subjects: [],
};
},
methods: {
getSubjects() {
this.subjects = [];
let map = {};
this.getDicts('subject_type').then((resp) => {
this.subjects = resp.data.map((x) => {
let item = {
subjectId: x.dictValue,
subjectName: x.dictLabel,
subjectNameAll: x.dictLabel,
subjectType: x.dictValue,
subjectLevel: 0,
children: [],
visible: true,
};
map[x.dictValue] = item;
return item;
});
let url = '/finance/subject/listAll'; // '/villageAffairs/public/subjects/153'
request(url).then((resp) => {
let list = this.makeTree(resp.rows || resp.data);
for(let v of list)
{
if(v.subjectId.length === 3)
{
map[v.subjectType].children.push(v);
}
}
})
});
},
onItemClicked(subject) {
if(this.canSelectNonLeaf || subject.is_last === 'Y')
{
this.internalValue = subject.subjectId
this.$emit('input', subject.subjectId);
this.$emit('select', subject);
this.close();
}
},
onItemToggle({subject, on}) {
},
onCancel() {
this.close();
},
makeTree(list) {
function isnull(p) {
return p === null || p === undefined || p === '';
}
function makeTree_r(l, p) {
const isRoot = isnull(p);
let res = [];
for(let v of l)
{
if((isRoot && isnull(v.parentId)) || (!isRoot && v.parentId == p))
{
let arr = makeTree_r(l, v.subjectId);
if(arr.length > 0)
v.children = arr;
else
delete v.children;
res.push(v);
}
}
return res;
}
return makeTree_r(list.map((x) => {
x.visible = true;
return x;
}));
},
onSearch(value) {
function handleTree_r(l, func) {
let res = 0;
for(let v of l)
{
let r = func(v) ? 1 : 0;
if(v.children && Array.isArray(v.children) && v.children.length > 0)
{
r += handleTree_r(v.children, func);
}
v.visible = r > 0;
res += r;
}
return res;
}

for(let v of this.subjects)
{
if(v.subjectId === this.active && value)
{
handleTree_r(v.children, (x) => x.subjectId.startsWith(value) || x.subjectName.indexOf(value) !== -1);
}
else
{
handleTree_r(v.children, (x) => true);
}
}
},
onTabChanged() {
this.searchValue = '';
this.onSearch();
},
folderAll() { // TODO: not work
for(let i in this.subjects)
{
if(this.$refs['tree' + i])
this.$refs['tree' + i][0].folderAll();
}
},
close() {
this.popupVisible = false;
this.folderAll();
this.searchValue = '';
this.active = '1';
this.$emit('cancel');
},
syncIndex() {
if(this.subjects.length === 0 || !this.internalValue)
return;
this.active = this.internalValue[0];
},
},
}
</script>

<style scoped>
</style>

+ 68
- 0
src/components/form/SubjectTreeChooserNodeItem.vue Parādīt failu

@@ -0,0 +1,68 @@
<!-- 会计科目选择节点组件 zhao -->
<template>
<van-collapse v-model="active">
<template v-for="(subject, index) in subjects">
<van-collapse-item :ref="'collapse' + index" :lazy-render="false" :title="subject.subjectId + ' ' + subject.subjectName" :name="subject.subjectId" :is-link="subject.is_last !== 'Y'" :class="subject.is_last === 'Y' ? 'subject-tree-node-leaf' : 'subject-tree-node-non-leaf'" v-if="subject.visible">
<template #title>
<div @click="($event) => onItemClicked($event, subject)">{{ subject.subjectId }} {{ subject.subjectName }}</div>
</template>
<SubjectTreeChooserNodeItem :ref="'childCollapse' + index" :subjects="subject.children" v-if="subject.children && Array.isArray(subject.children) && subject.children.length > 0" @clicked="onChildItemClicked" :can-select-non-leaf="canSelectNonLeaf">
</SubjectTreeChooserNodeItem>
</van-collapse-item>
</template>
</van-collapse>
</template>

<script>

export default {
name: "SubjectTreeChooserNodeItem",
props: [
'subjects', 'canSelectNonLeaf',
],
watch: {
},
created() {
},
data() {
return {
active: [],
};
},
methods: {
onItemClicked($event, subject) {
if(this.canSelectNonLeaf || subject.is_last === 'Y')
{
this.$emit('clicked', subject);
//$event.preventDefault();
$event.stopPropagation();
}
},
onChildItemClicked(subject) {
this.$emit('clicked', subject);
},
folderAll() { // TODO: not work
for(let i in this.subjects)
{
if(this.$refs['childCollapse' + i])
this.$refs['childCollapse' + i][0].folderAll();
if(this.$refs['collapse' + i])
this.$refs['collapse' + i][0].toggle(false);
}
},
},
}
</script>

<style>
.subject-tree-node-non-leaf .van-collapse-item__content {
padding-right: 0;
padding-top: 0;
padding-bottom: 0;
}
.subject-tree-node-leaf .van-collapse-item__content {
padding-right: 0;
padding-top: 0;
padding-bottom: 0;
}
</style>

+ 8
- 1
src/main.js Parādīt failu

@@ -14,12 +14,14 @@ 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';

import { getDicts ,getConfigKey } from "@/utils/data";
import { houseGetDicts } from '@/utils/data';
import { selectDictLabel , selectDictScheme , onClickLeft , getNowFormatDate , format } from "@/utils/utils";
import { selectDictLabel , selectDictScheme , onClickLeft , getNowFormatDate , format , isBankCard } from "@/utils/utils";
import vueEsign from 'vue-esign'
Vue.use(vueEsign)

@@ -33,12 +35,17 @@ Vue.prototype.onClickLeft = onClickLeft
Vue.prototype.getNowFormatDate = getNowFormatDate
Vue.prototype.format = format
Vue.prototype.global = global
Vue.prototype.isBankCard = isBankCard

// Vant 引用
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


Daži faili netika attēloti, jo izmaiņu fails ir pārāk liels

Notiek ielāde…
Atcelt
Saglabāt