Compare commits

...

63 Commits

Author SHA1 Message Date
yujialong 333c7c9ebb fix 2 weeks ago
yujialong 1ed979b853 fix 2 weeks ago
yujialong fbb6eb61de fix 4 weeks ago
yujialong 2dd4cf8180 fix 1 month ago
yujialong 7d405d1daf 企业贷款回显 1 month ago
yujialong 947e28dd9d fix 2 months ago
yujialong 6207d29f6f fix 2 months ago
yujialong d469a1f86f fix 2 months ago
yujialong 6626316a7f fix 2 months ago
yujialong 069d84fc0d fix 2 months ago
yujialong 8b5481c175 fix 2 months ago
yujialong 6a91504fc5 bug修复 2 months ago
yujialong eba2da3c2d fix 2 months ago
yujialong d987fef680 实验报告修复 2 months ago
yujialong de14d96d30 fix 3 months ago
yujialong 92a9475c60 fix 4 months ago
yujialong e5ff0cf593 fix 5 months ago
yujialong 8f6f3d7dcf 贷款业务联调 5 months ago
yujialong 5172cd1234 贷款业务联调 5 months ago
yujialong 2de86fced4 贷款联调 5 months ago
yujialong 317228af2d 贷款业务 5 months ago
yujialong 921cf1f228 个人贷款 5 months ago
yujialong faccbdd5f7 贷款业务 5 months ago
yujialong ec9e3319a0 外汇等联调 5 months ago
yujialong e5239c3c53 代理业务 5 months ago
yujialong 45dfe32c87 代收水费、电费 5 months ago
yujialong e48876d125 代收水费 5 months ago
yujialong 1cc5ac52bc 外汇等 6 months ago
yujialong 489286f758 外汇业务联调 6 months ago
yujialong e0cf703271 网银联调 6 months ago
yujialong 88d7e50f6e fix 6 months ago
yujialong bdc5f09888 外汇业务 6 months ago
yujialong 8b9ac8c068 网上银行开户开发完成 6 months ago
yujialong 8b768a0671 授信申请、贷款申请 6 months ago
yujialong 5ccfd2aa1f 授信申请 6 months ago
yujialong b5a1982168 遗留bug修复 6 months ago
yujialong a9aa216bee 个人贷款等 6 months ago
yujialong 99d3072817 个人贷款 9 months ago
yujialong 18533d3fc7 公司贷款(未完成) 10 months ago
yujialong e8e11376be 个人贷款 10 months ago
yujialong f52e2076c0 代理、网银、外汇 3个业务页面开发完成 10 months ago
yujialong 74f9ae8920 fix 10 months ago
yujialong b60282b643 百度统计 11 months ago
yujialong 804dcdf7ce fix 12 months ago
yujialong 57f4012635 bug修复,oss全部替换完成 1 year ago
yujialong 5465512d8e fix 1 year ago
yujialong d7149a99ee fix 1 year ago
yujialong 7cad626d93 fix 1 year ago
yujialong 128d944307 fix 1 year ago
yujialong d7878f56e6 fix 1 year ago
yujialong 42eba9d7f8 fix 1 year ago
yujialong a437e809d0 百度统计 1 year ago
yujialong 457a039bd4 fix 1 year ago
yujialong a823365509 实验报告 1 year ago
wangchenguang 2cf63091a1 修复bug 2 years ago
wangchenguang 261fa8cfb3 修复bug 2 years ago
wangchenguang 3dcd598515 修复bug 2 years ago
wangchenguang 01faf74109 修复bug 2 years ago
dawnwang cbdcde46e5 修复禅道933 926bug 2 years ago
yujialong 0e21fed59b fix 2 years ago
yujialong ff8832297a fix 2 years ago
yujialong 670ad6e0fe 后台添加已提交验证等 2 years ago
yujialong 8b614eeaf6 实验报告等 2 years ago
  1. 32
      d
  2. 422
      package-lock.json
  3. 2
      package.json
  4. 47
      public/index.html
  5. 178
      src/App.vue
  6. 168
      src/api/api.js
  7. 163
      src/api/http.js
  8. BIN
      src/assets/img/arrow-right.png
  9. BIN
      src/assets/img/goods/businessReportMiss.png
  10. BIN
      src/assets/img/goods/businessReportMissUser2.png
  11. BIN
      src/assets/img/goods/businessReportMissUser3.png
  12. BIN
      src/assets/img/goods/syb.jpg
  13. BIN
      src/assets/img/goods/xhsqs.png
  14. BIN
      src/assets/img/goods/xjllb.jpg
  15. BIN
      src/assets/img/goods/zcfzb.jpg
  16. BIN
      src/assets/img/point.png
  17. BIN
      src/assets/img/report1.png
  18. BIN
      src/assets/img/report2.png
  19. BIN
      src/assets/img/report3.png
  20. BIN
      src/assets/img/report4.png
  21. BIN
      src/assets/img/report5.png
  22. 1
      src/assets/img/systemInput/个人贷款.svg
  23. 1
      src/assets/img/systemInput/代理业务.svg
  24. 1
      src/assets/img/systemInput/公司贷款.svg
  25. 1
      src/assets/img/systemInput/外汇业务.svg
  26. 1
      src/assets/img/systemInput/网上银行.svg
  27. 4
      src/assets/svg/financial.svg
  28. 42
      src/components/backButton/index.vue
  29. 67
      src/components/breadcrumb/index.vue
  30. 1658
      src/components/case/index.vue
  31. 3
      src/components/checkPhoto/index.vue
  32. 1200
      src/components/dialog/index.vue
  33. 1045
      src/components/dialogTwo/index.vue
  34. 372
      src/components/quill/index.vue
  35. 388
      src/components/selectBusiness/index.vue
  36. 15
      src/components/upload/config.js
  37. 150
      src/components/upload/index.vue
  38. 37
      src/components/upload/upload.js
  39. 171
      src/layouts/header/index.vue
  40. 92
      src/layouts/home/index.vue
  41. 186
      src/libs/util.js
  42. 46
      src/main.js
  43. 9
      src/main.js.rej
  44. 139
      src/mixins/tipsBefore/index.js
  45. 6217
      src/pages/counter/list/index.vue
  46. 817
      src/pages/counter/list/myConfig.js
  47. 585
      src/pages/index/list/index.vue
  48. 104
      src/pages/lobbyManager/list/index.vue
  49. 614
      src/pages/manage/index/index.vue
  50. 3
      src/pages/manage/list/ImportantCash/controlCash/cashOut.vue
  51. 3
      src/pages/manage/list/ImportantCash/controlCash/cashPaid.vue
  52. 3
      src/pages/manage/list/ImportantCash/controlCash/cashRecipients.vue
  53. 32
      src/pages/manage/list/ImportantCash/controlCash/cashTransferInto.vue
  54. 384
      src/pages/manage/list/ImportantCash/controlCash/index.vue
  55. 3
      src/pages/manage/list/ImportantCash/controlCash2/cashOut.vue
  56. 3
      src/pages/manage/list/ImportantCash/controlCash2/cashPaid.vue
  57. 3
      src/pages/manage/list/ImportantCash/controlCash2/cashRecipients.vue
  58. 3
      src/pages/manage/list/ImportantCash/controlCash2/cashTransferInto.vue
  59. 402
      src/pages/manage/list/ImportantCash/controlCash2/index.vue
  60. 710
      src/pages/manage/list/ImportantCash/controlCash3/index.vue
  61. 813
      src/pages/manage/list/acceptanceDraft/invoice.vue
  62. 207
      src/pages/manage/list/agent/agent.vue
  63. 396
      src/pages/manage/list/agent/electricRate.vue
  64. 388
      src/pages/manage/list/agent/telRate.vue
  65. 373
      src/pages/manage/list/agent/waterRate.vue
  66. 5
      src/pages/manage/list/business/deposit.vue
  67. 705
      src/pages/manage/list/business/openAccount.vue
  68. 599
      src/pages/manage/list/business/transfer.vue
  69. 5
      src/pages/manage/list/business/withdrawal.vue
  70. 3
      src/pages/manage/list/cityWide/cityWideIn.vue
  71. 792
      src/pages/manage/list/cityWide/cityWideOut.vue
  72. 798
      src/pages/manage/list/client/consumerClient.vue
  73. 650
      src/pages/manage/list/client/corporateClient.vue
  74. 111
      src/pages/manage/list/corporateLoans/application.vue
  75. 480
      src/pages/manage/list/corporateLoans/apply/creditApplication/index.vue
  76. 253
      src/pages/manage/list/corporateLoans/apply/creditEvaluation/basic.vue
  77. 139
      src/pages/manage/list/corporateLoans/apply/creditEvaluation/importReport.vue
  78. 294
      src/pages/manage/list/corporateLoans/apply/creditEvaluation/preLoan.vue
  79. 314
      src/pages/manage/list/corporateLoans/apply/creditEvaluation/rating.vue
  80. 257
      src/pages/manage/list/corporateLoans/apply/index.vue
  81. 215
      src/pages/manage/list/corporateLoans/apply/loanApplication/step1.vue
  82. 285
      src/pages/manage/list/corporateLoans/apply/loanApplication/step2.vue
  83. 302
      src/pages/manage/list/corporateLoans/detail.vue
  84. 112
      src/pages/manage/list/corporateLoans/loan.vue
  85. 405
      src/pages/manage/list/corporateLoans/management.vue
  86. 358
      src/pages/manage/list/corporateLoans/repayment.vue
  87. 251
      src/pages/manage/list/dayEnd/branchDayEnd.vue
  88. 3
      src/pages/manage/list/dayEnd/tellerCash.vue
  89. 474
      src/pages/manage/list/dayEnd/tellerCertificate.vue
  90. 193
      src/pages/manage/list/foreignExchange/foreignExchange.vue
  91. 311
      src/pages/manage/list/foreignExchange/puchasing.vue
  92. 289
      src/pages/manage/list/foreignExchange/settlement.vue
  93. 367
      src/pages/manage/list/onlineBank/openAccount.vue
  94. 364
      src/pages/manage/list/personal/accountService/accountService.vue
  95. 872
      src/pages/manage/list/personal/callDeposits/accountClosed.vue
  96. 869
      src/pages/manage/list/personal/callDeposits/openAccount.vue
  97. 5
      src/pages/manage/list/personal/currentAccount/accountCancellation.vue
  98. 6
      src/pages/manage/list/personal/currentAccount/deposit.vue
  99. 1838
      src/pages/manage/list/personal/currentAccount/openAccount.vue
  100. 5
      src/pages/manage/list/personal/currentAccount/settle.vue
  101. Some files were not shown because too many files have changed in this diff Show More

32
d

@ -0,0 +1,32 @@
diff.astextplain.textconv=astextplain
filter.lfs.clean=git-lfs clean -- %f
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
http.sslbackend=openssl
http.sslcainfo=C:/Program Files/Git/mingw64/etc/ssl/certs/ca-bundle.crt
core.autocrlf=true
core.fscache=true
core.symlinks=false
pull.rebase=false
credential.https://dev.azure.com.usehttppath=true
init.defaultbranch=master
filter.lfs.smudge=git-lfs smudge -- %f
filter.lfs.process=git-lfs filter-process
filter.lfs.required=true
filter.lfs.clean=git-lfs clean -- %f
credential.http://121.37.12.51:13000.provider=generic
user.email=728837162@qq.com
user.name=wangchenguang
user.password=huoran.123
credential.helper=wincred
core.repositoryformatversion=0
core.filemode=false
core.bare=false
core.logallrefupdates=true
core.symlinks=false
core.ignorecase=true
remote.origin.url=http://121.37.12.51:13000/huoran/FE_bankTeaching
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
branch.master.remote=origin
branch.master.merge=refs/heads/master

422
package-lock.json generated

@ -1993,6 +1993,14 @@
"integrity": "sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==",
"dev": true
},
"agentkeepalive": {
"version": "3.5.2",
"resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-3.5.2.tgz",
"integrity": "sha512-e0L/HNe6qkQ7H19kTlRRqUibEAwDK5AFk6y3PtMsuut2VAH6+Q4xZml1tNDJD7kSAyqmbG/K08K5WEJYtUrSlQ==",
"requires": {
"humanize-ms": "^1.2.1"
}
},
"ajv": {
"version": "6.10.2",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.2.tgz",
@ -2015,6 +2023,78 @@
"resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz",
"integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ=="
},
"ali-oss": {
"version": "6.18.1",
"resolved": "https://registry.npmjs.org/ali-oss/-/ali-oss-6.18.1.tgz",
"integrity": "sha512-VsptD0jX3JNc3AjiLs5a9oTP0ArfT9IYhBuY6G/SpuY6LMuiwfqywrAosY65BlHKODAdYy8VWL6kmt0mO7BUGA==",
"requires": {
"address": "^1.2.2",
"agentkeepalive": "^3.4.1",
"bowser": "^1.6.0",
"copy-to": "^2.0.1",
"dateformat": "^2.0.0",
"debug": "^4.3.4",
"destroy": "^1.0.4",
"end-or-error": "^1.0.1",
"get-ready": "^1.0.0",
"humanize-ms": "^1.2.0",
"is-type-of": "^1.4.0",
"js-base64": "^2.5.2",
"jstoxml": "^2.0.0",
"merge-descriptors": "^1.0.1",
"mime": "^2.4.5",
"platform": "^1.3.1",
"pump": "^3.0.0",
"sdk-base": "^2.0.1",
"stream-http": "2.8.2",
"stream-wormhole": "^1.0.4",
"urllib": "2.41.0",
"utility": "^1.18.0",
"xml2js": "^0.6.2"
},
"dependencies": {
"address": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/address/-/address-1.2.2.tgz",
"integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA=="
},
"debug": {
"version": "4.3.4",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
"integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
"requires": {
"ms": "2.1.2"
}
},
"js-base64": {
"version": "2.6.4",
"resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz",
"integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ=="
},
"mime": {
"version": "2.6.0",
"resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
"integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg=="
},
"ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
"stream-http": {
"version": "2.8.2",
"resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.2.tgz",
"integrity": "sha512-QllfrBhqF1DPcz46WxKTs6Mz1Bpc+8Qm6vbqOpVav5odAXwbyzwnEczoWqtxrsmlO+cJqtPrp/8gWKWjaKLLlA==",
"requires": {
"builtin-status-codes": "^3.0.0",
"inherits": "^2.0.1",
"readable-stream": "^2.3.6",
"to-arraybuffer": "^1.0.0",
"xtend": "^4.0.0"
}
}
}
},
"alphanum-sort": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz",
@ -2088,8 +2168,7 @@
"any-promise": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz",
"integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=",
"dev": true
"integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8="
},
"anymatch": {
"version": "2.0.0",
@ -2693,6 +2772,11 @@
"integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=",
"dev": true
},
"bowser": {
"version": "1.9.4",
"resolved": "https://registry.npmjs.org/bowser/-/bowser-1.9.4.tgz",
"integrity": "sha512-9IdMmj2KjigRq6oWhmwv1W36pDuA4STQZ8q6YO9um+x07xgYNCD3Oou+WP/3L1HNz7iqythGet3/p4wvc8AAwQ=="
},
"brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
@ -2849,8 +2933,7 @@
"builtin-status-codes": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
"integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=",
"dev": true
"integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug="
},
"bytes": {
"version": "3.1.0",
@ -3445,8 +3528,7 @@
"content-type": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
"integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
"dev": true
"integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA=="
},
"convert-source-map": {
"version": "1.7.0",
@ -3488,6 +3570,11 @@
"resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz",
"integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40="
},
"copy-to": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/copy-to/-/copy-to-2.0.1.tgz",
"integrity": "sha512-3DdaFaU/Zf1AnpLiFDeNCD4TOWe3Zl2RZaTzUvWiIk5ERzcCodOE20Vqq4fzCbNoHURFHT4/us/Lfq+S2zyY4w=="
},
"copy-webpack-plugin": {
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.6.0.tgz",
@ -4183,6 +4270,14 @@
}
}
},
"default-user-agent": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/default-user-agent/-/default-user-agent-1.0.0.tgz",
"integrity": "sha512-bDF7bg6OSNcSwFWPu4zYKpVkJZQYVrAANMYB8bc9Szem1D0yKdm4sa/rOCs2aC9+2GMqQ7KnwtZRvDhmLF0dXw==",
"requires": {
"os-name": "~1.0.3"
}
},
"defaults": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz",
@ -4320,8 +4415,7 @@
"destroy": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
"integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=",
"dev": true
"integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
},
"detect-file": {
"version": "1.0.0",
@ -4360,6 +4454,11 @@
"randombytes": "^2.0.0"
}
},
"digest-header": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/digest-header/-/digest-header-1.1.0.tgz",
"integrity": "sha512-glXVh42vz40yZb9Cq2oMOt70FIoWiv+vxNvdKdU8CwjLad25qHM3trLxhl9bVjdr6WaslIXhWpn0NO8T/67Qjg=="
},
"dir-glob": {
"version": "2.2.2",
"resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz",
@ -4553,8 +4652,7 @@
"ee-first": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=",
"dev": true
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
},
"ejs": {
"version": "2.7.4",
@ -4720,11 +4818,15 @@
"version": "1.4.4",
"resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
"integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
"dev": true,
"requires": {
"once": "^1.4.0"
}
},
"end-or-error": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/end-or-error/-/end-or-error-1.0.1.tgz",
"integrity": "sha512-OclLMSug+k2A0JKuf494im25ANRBVW8qsjmwbgX7lQ8P82H21PQ1PWkoYwb9y5yMBS69BPlwtzdIFClo3+7kOQ=="
},
"enhanced-resolve": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz",
@ -4817,8 +4919,7 @@
"escape-html": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
"integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=",
"dev": true
"integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
},
"escape-string-regexp": {
"version": "1.0.5",
@ -5378,6 +5479,23 @@
"mime-types": "^2.1.12"
}
},
"formstream": {
"version": "1.3.1",
"resolved": "https://registry.npmjs.org/formstream/-/formstream-1.3.1.tgz",
"integrity": "sha512-FkW++ub+VbE5dpwukJVDizNWhSgp8FhmhI65pF7BZSVStBqe6Wgxe2Z9/Vhsn7l7nXCPwP+G1cyYlX8VwWOf0g==",
"requires": {
"destroy": "^1.0.4",
"mime": "^2.5.2",
"pause-stream": "~0.0.11"
},
"dependencies": {
"mime": {
"version": "2.6.0",
"resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz",
"integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg=="
}
}
},
"forwarded": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
@ -6061,6 +6179,11 @@
"resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
"integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg=="
},
"get-ready": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/get-ready/-/get-ready-1.0.0.tgz",
"integrity": "sha512-mFXCZPJIlcYcth+N8267+mghfYN9h3EhsDa6JSnbA3Wrhh/XFpuowviFcsDeYZtKspQyWyJqfs4O6P8CHeTwzw=="
},
"get-stdin": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz",
@ -7355,11 +7478,18 @@
"integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==",
"dev": true
},
"humanize-ms": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz",
"integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==",
"requires": {
"ms": "^2.0.0"
}
},
"iconv-lite": {
"version": "0.4.24",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
"integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
"dev": true,
"requires": {
"safer-buffer": ">= 2.1.2 < 3"
}
@ -7549,8 +7679,7 @@
"ip": {
"version": "1.1.5",
"resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
"integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=",
"dev": true
"integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo="
},
"ip-regex": {
"version": "2.1.0",
@ -7632,6 +7761,11 @@
"integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==",
"dev": true
},
"is-class-hotfix": {
"version": "0.0.6",
"resolved": "https://registry.npmjs.org/is-class-hotfix/-/is-class-hotfix-0.0.6.tgz",
"integrity": "sha512-0n+pzCC6ICtVr/WXnN2f03TK/3BfXY7me4cjCAqT8TYXEl0+JBRoqBo94JJHXcyDSLUeWbNX8Fvy5g5RJdAstQ=="
},
"is-color-stop": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz",
@ -7848,6 +7982,16 @@
"has-symbols": "^1.0.1"
}
},
"is-type-of": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/is-type-of/-/is-type-of-1.4.0.tgz",
"integrity": "sha512-EddYllaovi5ysMLMEN7yzHEKh8A850cZ7pykrY1aNRQGn/CDjRDE9qEWbIdt7xGEVJmjBXzU/fNnC4ABTm8tEQ==",
"requires": {
"core-util-is": "^1.0.2",
"is-class-hotfix": "~0.0.6",
"isstream": "~0.1.2"
}
},
"is-typedarray": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz",
@ -8021,6 +8165,11 @@
"verror": "1.10.0"
}
},
"jstoxml": {
"version": "2.2.9",
"resolved": "https://registry.npmjs.org/jstoxml/-/jstoxml-2.2.9.tgz",
"integrity": "sha512-OYWlK0j+roh+eyaMROlNbS5cd5R25Y+IUpdl7cNdB8HNrkgwQzIS7L9MegxOiWNBj9dQhA/yAxiMwCC5mwNoBw=="
},
"killable": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz",
@ -8149,9 +8298,9 @@
}
},
"lodash": {
"version": "4.17.15",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
"integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A=="
"version": "4.17.21",
"resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
},
"lodash._basecopy": {
"version": "3.0.1",
@ -8593,8 +8742,7 @@
"merge-descriptors": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
"integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=",
"dev": true
"integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
},
"merge-source-map": {
"version": "1.1.0",
@ -8840,7 +8988,6 @@
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz",
"integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==",
"dev": true,
"requires": {
"any-promise": "^1.0.0",
"object-assign": "^4.0.1",
@ -9458,6 +9605,15 @@
"mem": "^4.0.0"
}
},
"os-name": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/os-name/-/os-name-1.0.3.tgz",
"integrity": "sha512-f5estLO2KN8vgtTRaILIgEGBoBrMnZ3JQ7W9TMZCnOIGwHe8TRGSpcagnWDo+Dfhd/z08k9Xe75hvciJJ8Qaew==",
"requires": {
"osx-release": "^1.0.0",
"win-release": "^1.0.0"
}
},
"os-tmpdir": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz",
@ -9472,6 +9628,14 @@
"os-tmpdir": "^1.0.0"
}
},
"osx-release": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/osx-release/-/osx-release-1.1.0.tgz",
"integrity": "sha512-ixCMMwnVxyHFQLQnINhmIpWqXIfS2YOXchwQrk+OFzmo6nDjQ0E4KXAyyUh0T0MZgV4bUhkRrAbVqlE4yLVq4A==",
"requires": {
"minimist": "^1.1.0"
}
},
"p-defer": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz",
@ -9720,6 +9884,14 @@
}
}
},
"pause-stream": {
"version": "0.0.11",
"resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz",
"integrity": "sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==",
"requires": {
"through": "~2.3"
}
},
"pbkdf2": {
"version": "3.0.17",
"resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz",
@ -9830,6 +10002,11 @@
"find-up": "^2.1.0"
}
},
"platform": {
"version": "1.3.6",
"resolved": "https://registry.npmjs.org/platform/-/platform-1.3.6.tgz",
"integrity": "sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg=="
},
"plugin-error": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/plugin-error/-/plugin-error-0.1.2.tgz",
@ -10643,7 +10820,6 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
"integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
"dev": true,
"requires": {
"end-of-stream": "^1.1.0",
"once": "^1.3.1"
@ -11644,8 +11820,7 @@
"sax": {
"version": "1.2.4",
"resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz",
"integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==",
"dev": true
"integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw=="
},
"schart.js": {
"version": "3.0.0",
@ -11682,6 +11857,14 @@
}
}
},
"sdk-base": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/sdk-base/-/sdk-base-2.0.1.tgz",
"integrity": "sha512-eeG26wRwhtwYuKGCDM3LixCaxY27Pa/5lK4rLKhQa7HBjJ3U3Y+f81MMZQRsDw/8SC2Dao/83yJTXJ8aULuN8Q==",
"requires": {
"get-ready": "~1.0.0"
}
},
"select-hose": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz",
@ -12339,8 +12522,7 @@
"statuses": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
"integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
"dev": true
"integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow="
},
"stdout-stream": {
"version": "1.4.1",
@ -12400,6 +12582,11 @@
"integrity": "sha1-1cdSgl5TZ+eG944Y5EXqIjoVWVI=",
"dev": true
},
"stream-wormhole": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/stream-wormhole/-/stream-wormhole-1.1.0.tgz",
"integrity": "sha512-gHFfL3px0Kctd6Po0M8TzEvt3De/xu6cnRrjlfYNhwbhLPLwigI2t1nc6jrzNuaYg5C4YF78PPFuQPzRiqn9ew=="
},
"strict-uri-encode": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz",
@ -12636,9 +12823,9 @@
}
},
"anymatch": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz",
"integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==",
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
"integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
"requires": {
"normalize-path": "^3.0.0",
"picomatch": "^2.0.4"
@ -12692,9 +12879,9 @@
}
},
"color": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/color/-/color-4.2.1.tgz",
"integrity": "sha512-MFJr0uY4RvTQUKvPq7dh9grVOTYSFeXja2mBXioCGjnjJoXrAp9jJ1NQTDR73c9nwBSAQiNKloKl5zq9WB9UPw==",
"version": "4.2.3",
"resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz",
"integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==",
"requires": {
"color-convert": "^2.0.1",
"color-string": "^1.9.0"
@ -12714,18 +12901,18 @@
"integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA=="
},
"color-string": {
"version": "1.9.0",
"resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.0.tgz",
"integrity": "sha512-9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ==",
"version": "1.9.1",
"resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz",
"integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==",
"requires": {
"color-name": "^1.0.0",
"simple-swizzle": "^0.2.2"
}
},
"cosmiconfig": {
"version": "7.0.1",
"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz",
"integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==",
"version": "7.1.0",
"resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz",
"integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==",
"requires": {
"@types/parse-json": "^4.0.0",
"import-fresh": "^3.2.1",
@ -12740,9 +12927,9 @@
"integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg=="
},
"fast-glob": {
"version": "3.2.11",
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz",
"integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==",
"version": "3.2.12",
"resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
"integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==",
"requires": {
"@nodelib/fs.stat": "^2.0.2",
"@nodelib/fs.walk": "^1.2.3",
@ -12770,9 +12957,9 @@
}
},
"fs-extra": {
"version": "10.0.1",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.1.tgz",
"integrity": "sha512-NbdoVMZso2Lsrn/QwLXOy6rm0ufY2zEOKCDzJR/0kBsb0E6qed0P3iYK+Ath3BfvXEeu4JhEtXLgILx5psUfag==",
"version": "10.1.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz",
"integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==",
"requires": {
"graceful-fs": "^4.2.0",
"jsonfile": "^6.0.1",
@ -12809,9 +12996,9 @@
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
},
"html-tags": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.1.0.tgz",
"integrity": "sha512-1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg=="
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz",
"integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ=="
},
"import-fresh": {
"version": "3.3.0",
@ -12831,9 +13018,9 @@
}
},
"is-core-module": {
"version": "2.8.1",
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz",
"integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==",
"version": "2.11.0",
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz",
"integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==",
"requires": {
"has": "^1.0.3"
}
@ -12853,9 +13040,9 @@
}
},
"lilconfig": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.4.tgz",
"integrity": "sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA=="
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz",
"integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ=="
},
"lodash": {
"version": "4.17.21",
@ -12863,12 +13050,19 @@
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
},
"micromatch": {
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz",
"integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==",
"version": "4.0.5",
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
"integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
"requires": {
"braces": "^3.0.1",
"picomatch": "^2.2.3"
"braces": "^3.0.2",
"picomatch": "^2.3.1"
},
"dependencies": {
"picomatch": {
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="
}
}
},
"parse-json": {
@ -12893,18 +13087,18 @@
"integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw=="
},
"postcss-load-config": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.3.tgz",
"integrity": "sha512-5EYgaM9auHGtO//ljHH+v/aC/TQ5LHXtL7bQajNAUBKUVKiYE8rYpFms7+V26D9FncaGe2zwCoPQsFKb5zF/Hw==",
"version": "3.1.4",
"resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz",
"integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==",
"requires": {
"lilconfig": "^2.0.4",
"lilconfig": "^2.0.5",
"yaml": "^1.10.2"
}
},
"postcss-selector-parser": {
"version": "6.0.9",
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz",
"integrity": "sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ==",
"version": "6.0.11",
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz",
"integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==",
"requires": {
"cssesc": "^3.0.0",
"util-deprecate": "^1.0.2"
@ -12924,11 +13118,11 @@
}
},
"resolve": {
"version": "1.22.0",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz",
"integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==",
"version": "1.22.2",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz",
"integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==",
"requires": {
"is-core-module": "^2.8.1",
"is-core-module": "^2.11.0",
"path-parse": "^1.0.7",
"supports-preserve-symlinks-flag": "^1.0.0"
}
@ -13056,7 +13250,6 @@
"version": "3.3.0",
"resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.0.tgz",
"integrity": "sha1-5p44obq+lpsBCCB5eLn2K4hgSDk=",
"dev": true,
"requires": {
"any-promise": "^1.0.0"
}
@ -13065,7 +13258,6 @@
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz",
"integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=",
"dev": true,
"requires": {
"thenify": ">= 3.1.0 < 4"
}
@ -13155,8 +13347,7 @@
"to-arraybuffer": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
"integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=",
"dev": true
"integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M="
},
"to-fast-properties": {
"version": "2.0.0",
@ -13330,6 +13521,24 @@
"resolved": "https://registry.npmjs.org/unc-path-regex/-/unc-path-regex-0.1.2.tgz",
"integrity": "sha1-5z3T17DXxe2G+6xrCufYxqadUPo="
},
"unescape": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/unescape/-/unescape-1.0.1.tgz",
"integrity": "sha512-O0+af1Gs50lyH1nUu3ZyYS1cRh01Q/kUKatTOkSs7jukXE6/NebucDVxyiDsA9AQ4JC1V1jUH9EO8JX2nMDgGQ==",
"requires": {
"extend-shallow": "^2.0.1"
},
"dependencies": {
"extend-shallow": {
"version": "2.0.1",
"resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz",
"integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==",
"requires": {
"is-extendable": "^0.1.0"
}
}
}
},
"unicode-canonical-property-names-ecmascript": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz",
@ -13522,6 +13731,37 @@
"requires-port": "^1.0.0"
}
},
"urllib": {
"version": "2.41.0",
"resolved": "https://registry.npmjs.org/urllib/-/urllib-2.41.0.tgz",
"integrity": "sha512-pNXdxEv52L67jahLT+/7QE+Fup1y2Gc6EdmrAhQ6OpQIC2rl14oWwv9hvk1GXOZqEnJNwRXHABuwgPOs1CtL7g==",
"requires": {
"any-promise": "^1.3.0",
"content-type": "^1.0.2",
"debug": "^2.6.9",
"default-user-agent": "^1.0.0",
"digest-header": "^1.0.0",
"ee-first": "~1.1.1",
"formstream": "^1.1.0",
"humanize-ms": "^1.2.0",
"iconv-lite": "^0.4.15",
"ip": "^1.1.5",
"pump": "^3.0.0",
"qs": "^6.4.0",
"statuses": "^1.3.1",
"utility": "^1.16.1"
},
"dependencies": {
"debug": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"requires": {
"ms": "2.0.0"
}
}
}
},
"use": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz",
@ -13570,6 +13810,18 @@
"integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=",
"dev": true
},
"utility": {
"version": "1.18.0",
"resolved": "https://registry.npmjs.org/utility/-/utility-1.18.0.tgz",
"integrity": "sha512-PYxZDA+6QtvRvm//++aGdmKG/cI07jNwbROz0Ql+VzFV1+Z0Dy55NI4zZ7RHc9KKpBePNFwoErqIuqQv/cjiTA==",
"requires": {
"copy-to": "^2.0.1",
"escape-html": "^1.0.3",
"mkdirp": "^0.5.1",
"mz": "^2.7.0",
"unescape": "^1.0.1"
}
},
"utils-merge": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
@ -14289,6 +14541,14 @@
"string-width": "^1.0.2 || 2"
}
},
"win-release": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/win-release/-/win-release-1.1.1.tgz",
"integrity": "sha512-iCRnKVvGxOQdsKhcQId2PXV1vV3J/sDPXKA4Oe9+Eti2nb2ESEsYHRYls/UjoUW3bIc5ZDO8dTH50A/5iVN+bw==",
"requires": {
"semver": "^5.0.1"
}
},
"worker-farm": {
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz",
@ -14402,6 +14662,20 @@
"async-limiter": "~1.0.0"
}
},
"xml2js": {
"version": "0.6.2",
"resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.6.2.tgz",
"integrity": "sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==",
"requires": {
"sax": ">=0.6.0",
"xmlbuilder": "~11.0.0"
}
},
"xmlbuilder": {
"version": "11.0.1",
"resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz",
"integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA=="
},
"xtend": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",

@ -9,6 +9,7 @@
},
"dependencies": {
"@tailwindcss/postcss7-compat": "^2.2.7",
"ali-oss": "^6.18.1",
"animate.css": "^4.1.1",
"autoprefixer": "^9.8.6",
"axios": "^0.18.1",
@ -17,6 +18,7 @@
"element-theme": "^2.0.1",
"element-ui": "^2.13.0",
"js-cookie": "^2.2.1",
"lodash": "^4.17.21",
"mavon-editor": "^2.6.17",
"postcss": "^7.0.36",
"postcss-px2rem": "^0.3.0",

@ -1,18 +1,35 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no">
<link rel="stylesheet" href="//at.alicdn.com/t/font_830376_qzecyukz0s.css">
<title>银行教学系统</title>
</head>
<body>
<noscript>
<strong>We're sorry but vms doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript>
<div id="app"></div>
<!-- built files will be auto injected -->
</body>
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
<link rel="stylesheet" href="//at.alicdn.com/t/font_830376_qzecyukz0s.css" />
<title>银行教学系统</title>
<script>
var _hmt = _hmt || [];
(function() {
var hm = document.createElement('script');
hm.src = 'https://hm.baidu.com/hm.js?dbddd0f4ac914f5ff3128012ded035bc';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(hm, s);
})();
</script>
</head>
<body>
<noscript>
<strong>We're sorry but vms doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript>
<div id="app"></div>
<!-- built files will be auto injected -->
<script>
var _hmt = _hmt || [];
(function() {
var hm = document.createElement('script');
hm.src = 'https://hm.baidu.com/hm.js?72fbad6ebf1d6c705117fe8fe0686a0e';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(hm, s);
})();
</script>
</body>
</html>

@ -1,105 +1,115 @@
<template>
<div id="app" >
<select-business class="selectBusiness" :showIt.sync="showIt" v-show="!showIt && showBusiness" />
<router-view></router-view>
<vCase :showIt.sync="showIt"></vCase>
<tip-dialog class="Z-9999" />
</div>
<div id="app">
<select-business class="selectBusiness" :showIt.sync="showIt" v-show="!showIt && showBusiness && !submited" />
<router-view></router-view>
<vCase :showIt.sync="showIt"></vCase>
<tip-dialog class="Z-9999" />
</div>
</template>
<script>
import vCase from '@/components/case'
import Setting from '@/setting';
import util from '@/libs/util';
import selectBusiness from '@/components/selectBusiness'
import TipDialog from '@/components/tipDialog'
import { mapState, mapMutations } from 'vuex'
export default {
name: 'App',
components: {
vCase,
selectBusiness,
TipDialog
},
created () {
//localStorage
if (util.local.get(Setting.storeKey) ) {
this.$store.replaceState(Object.assign({}, this.$store.state,util.local.get(Setting.storeKey)))
this.$store.system.replaceState(Object.assign({}, sessionStorage.getItem('systemData')))
}
import vCase from '@/components/case'
import Setting from '@/setting';
import util from '@/libs/util';
import selectBusiness from '@/components/selectBusiness'
import TipDialog from '@/components/tipDialog'
import { mapState, mapMutations } from 'vuex'
import Bus from '@/libs/bus'
export default {
name: 'App',
components: {
vCase,
selectBusiness,
TipDialog
},
created () {
//localStorage
if (util.local.get(Setting.storeKey)) {
this.$store.replaceState(Object.assign({}, this.$store.state, util.local.get(Setting.storeKey)))
}
//vuexlocalStorage
window.addEventListener("beforeunload",()=>{
if(this.$route.fullPath.includes('/counter/list/manage')) {
sessionStorage.setItem('computerPath', this.$route.fullPath)
}
util.local.get(Setting.tokenKey) && util.local.set(Setting.storeKey,this.$store.state)
sessionStorage.setItem('systemData', this.$store.system.state)
})
},
data() {
return {
showIt: true,
showSelect: false
}
},
methods: {
...mapMutations({
setShowBusiness: 'system/setShowBusiness',
setTipsOperate: 'system/setTipsOperate'
}),
},
watch: {
showIt: {
handler(newVal) {
if(!newVal && !this.businessKey) {
this.setShowBusiness(true)
}else {
if(!newVal) {
//
if(!this.businessKey) {
this.$nextTick(() => { this.setShowBusiness(true) })
}else {
// this.setTipsOperate('' + this.businessKey + ',');
}
}else {
this.$nextTick(() => { this.setShowBusiness(false) })
}
}
},
immediate: true
//vuexlocalStorage
window.addEventListener("beforeunload", () => {
if (this.$route.fullPath.includes('/counter/list/manage')) {
sessionStorage.setItem('computerPath', this.$route.fullPath)
}
util.local.set(Setting.storeKey, this.$store.state)
})
},
data () {
return {
showIt: true,
showSelect: false,
submited: false
}
},
methods: {
...mapMutations({
setShowBusiness: 'system/setShowBusiness',
setTipsOperate: 'system/setTipsOperate'
}),
},
watch: {
showIt: {
handler (newVal) {
this.submited = sessionStorage.getItem('submited')
if (!newVal && !this.businessKey && !sessionStorage.getItem('submited')) {
this.setShowBusiness(true)
} else {
if (!newVal) {
//
if (!this.businessKey && !sessionStorage.getItem('submited')) {
this.$nextTick(() => { this.setShowBusiness(true) })
} else {
// this.setTipsOperate('' + this.businessKey + ',');
}
},
computed: {
...mapState({
businessKey: state => state.system.businessKey,
showBusiness: state => state.system.showBusiness,
businessKey: state => state.system.businessKey
})
},
} else {
this.$nextTick(() => { this.setShowBusiness(false) })
}
}
},
immediate: true
}
},
mounted () {
Bus.$on('setShowIt', data => {
this.showIt = data
})
},
computed: {
...mapState({
businessKey: state => state.system.businessKey,
showBusiness: state => state.system.showBusiness,
})
},
}
</script>
<style lang="scss" scoped>
#app {
font-size: 16px;
min-width: $inner-width;
font-size: 16px;
min-width: $inner-width;
}
.selectBusiness {
width: 100%;
height: 100%;
width: 100%;
height: 100%;
}
.fade-enter-active, .fade-leave-active {
transition: opacity .5s;
.fade-enter-active,
.fade-leave-active {
transition: opacity 0.5s;
}
.fade-enter, .fade-leave-to /* .fade-leave-active below version 2.1.8 */ {
.fade-enter,
.fade-leave-to
/* .fade-leave-active below version 2.1.8 */
{
opacity: 0;
}
.Z-9999 {
position: absolute;
z-index: 9999;
position: absolute;
z-index: 9999;
}
</style>

@ -1,5 +1,7 @@
import axios from 'axios';
import router from '../router';
import store from '@/store'
import Util from '@/libs/util'
const url = location.host
const dev = process.env.NODE_ENV === 'development' // 开发环境
@ -7,100 +9,124 @@ let host = `${location.origin}/`
if (dev) {
// 本地
host = 'http://121.37.12.51/' // 中台测试服
// host = 'http://192.168.31.151:9000/' // 榕
// host = 'http://192.168.31.137:9000/' // 赓
// host = 'https://www.occupationlab.com/' // 正式服
// host = 'http://192.168.31.51:9000/'
const ip = localStorage.getItem('localIp')
const ips = ['http://192.168.31.217:9000/', 'http://192.168.31.51:9000/', 'http://121.37.12.51/']
host = ips[+ip]
}
// 创建axios实例
const service = axios.create({
baseURL: host, // 测试
timeout: 30000 // 请求超时时间
baseURL: host, // 测试
timeout: 30000 // 请求超时时间
})
let logouted = 0;
// 添加request拦截器
service.interceptors.request.use(config => {
return config
return config
}, error => {
Promise.reject(error)
Promise.reject(error)
})
// 添加respone拦截器
service.interceptors.response.use(
response => {
let res={};
res.status=response.status
res.data=response.data;
return res;
},
error => {
if(error.response && error.response.status == 404){
router.push('/blank.vue')
}
return Promise.reject(error.response)
response => {
const { status, data } = response
if (data.code === 401) {
// 账号互踢
if (!logouted) {
Util.errorMsg(data.msg.includes('顶') ? '您的账号已在其他设备登录,您已被迫下线!' : '登录过期,请重新登录!')
setTimeout(() => {
store.commit('user/logout')
logouted = 0
}, 1500)
logouted = 1
}
} else {
return {
status,
data
}
}
},
error => {
if (error.response.status == 401) {
if (!logouted) {
Util.errorMsg('登录过期,请重新登录')
setTimeout(() => {
store.commit('user/logout')
}, 3500)
logouted = 1
}
}
return Promise.reject(error.response)
}
)
let tokens
let token
var reg = new RegExp('(^|&)'+'token'+'=([^&]*)(&|$)')
if(window.location.href.split('?')[1]){
var r = window.location.href.split('?')[1].match(reg)
if (r != null){
tokens = (r[2])
}else{
tokens = null
}
var reg = new RegExp('(^|&)' + 'token' + '=([^&]*)(&|$)')
if (window.location.href.split('?')[1]) {
var r = window.location.href.split('?')[1].match(reg)
if (r != null) {
tokens = (r[2])
} else {
tokens = null
}
}
if(tokens){
token = tokens
}else{
token = sessionStorage.getItem('token')
if (tokens) {
token = tokens
} else {
token = sessionStorage.getItem('token')
}
export function get(url, params = {}) {
// params.t = new Date().getTime(); //get方法加一个时间参数,解决ie下可能缓存问题.
return service({
url: url,
method: 'get',
headers: {
token:token
},
params
})
export function get (url, params = {}) {
// params.t = new Date().getTime(); //get方法加一个时间参数,解决ie下可能缓存问题.
return service({
url: url,
method: 'get',
headers: {
token: token
},
params
})
}
//封装post请求
export function post(url, data = {}) {
//默认配置
let sendObject={
url: url,
method: 'post',
headers: {
'Content-Type':'application/json;charset=UTF-8',
token:token
},
data:data
};
sendObject.data=JSON.stringify(data);
return service(sendObject)
export function post (url, data = {}) {
//默认配置
let sendObject = {
url: url,
method: 'post',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
token: token
},
data: data
};
sendObject.data = JSON.stringify(data);
return service(sendObject)
}
//封装put方法 (resfulAPI常用)
export function put(url,data = {}){
return service({
url: url,
method: 'put',
headers: {
'Content-Type':'application/json;charset=UTF-8',
token:token
},
data:JSON.stringify(data)
})
export function put (url, data = {}) {
return service({
url: url,
method: 'put',
headers: {
'Content-Type': 'application/json;charset=UTF-8',
token: token
},
data: JSON.stringify(data)
})
}
//删除方法(resfulAPI常用)
export function deletes(url){
return service({
url: url,
method: 'delete',
headers: {
token:token
}
})
export function deletes (url) {
return service({
url: url,
method: 'delete',
headers: {
token: token
}
})
}
//不要忘记export
export {
service
service
}

@ -1,46 +1,145 @@
// 引入封装好的axios
// ps:如果没有封装,正常引入axios即可
import {get, post,deletes,put} from './api.js'
// import axios from "./";
// /api为配置跨域的路径变量
export const getProjectBySystemId= (params) => {
return get( '/occupationlab/occupationlab/projectManage/getProjectBySystemId',params)
import { get, post, deletes, put } from './api.js'
const host = 'http://192.168.31.51:9000'
export const getProjectBySystemId = (params) => {
return get('/occupationlab/occupationlab/projectManage/getProjectBySystemId', params)
}
export const getProjectDetail= (params) => {
return get( '/occupationlab/occupationlab/projectManage/getProjectDetail',params)
export const getProjectDetail = (params) => {
return get('/occupationlab/occupationlab/projectManage/getProjectDetail', params)
}
export const submit= (params) => {
return post( '/bank/bank/submit',params)
export const submit = (params) => {
return post('/bank/bank/submit', params)
}
export const getSubjectInfo= (params) => {
return get( '/judgment/judgment/lcSubject/getSubjectInfo',params)
export const getSubjectInfo = (params) => {
return get('/judgment/judgment/lcSubject/getSubjectInfo', params)
}
export const getQueryCache= () => {
return get( '/bank/bank/queryCache')
export const getQueryCache = () => {
return get('/bank/bank/queryCache')
}
export const addOperation= (params) => {
return post( '/bank/bank/addOperation',params)
export const addOperation = (params) => {
return post('/bank/bank/addOperation', {
...params,
assessmentId: sessionStorage.getItem('assessmentId') || '',
competitionId: sessionStorage.getItem('competitionId') || '',
})
}
export const getOperation= (params) => {
return get( '/bank/bank/getOperation',params)
export const getOperation = (params) => {
return post('/bank/bank/getOperation', {
...params,
assessmentId: sessionStorage.getItem('assessmentId') || '',
competitionId: sessionStorage.getItem('competitionId') || '',
})
}
export const deleteCache= () => {
return get( '/bank/bank/deleteCache')
export const deleteCache = () => {
return post('/bank/bank/deleteCache', {
projectId: sessionStorage.getItem('projectId') || '',
assessmentId: sessionStorage.getItem('assessmentId') || '',
competitionId: sessionStorage.getItem('competitionId') || '',
})
}
export const exportBankExperimentReport = (params) => {
return post('/occupationlab/occupationlab/achievement/exportBankExperimentReport', params)
}
export const updateReport = (params) => {
return post('/occupationlab/occupationlab/achievement/updateReport', params)
}
// 学生查看考核状态
export const checkTest= (params) => {
return get( '/occupationlab/occupationlab/assessment/getDetailById', {...params})
export const checkTest = (params) => {
return get('/occupationlab/occupationlab/assessment/getDetailById', { ...params })
}
export const checkTest2= (params) => {
return post( '/occupationlab/occupationlab/assessment/pageStuAssessment',{
pageNum: 1,
pageSize: 10000,
...params
})
export const checkTest2 = (params) => {
return post('/occupationlab/occupationlab/assessment/pageStuAssessment', {
pageNum: 1,
pageSize: 10000,
...params
})
}
export const reportDetail = (reportId) => {
return get( '/occupationlab/occupationlab/achievement/reportDetail',{
reportId
})
return get('/occupationlab/occupationlab/achievement/reportDetail', {
reportId
})
}
export const creditEvaluationInput = data => {
return post(`/judgment/bankCreditEvaluation/creditEvaluationInput`, data)
}
export const creditEvaluationDetails = data => {
return get(`/judgment/bankCreditEvaluation/creditEvaluationDetails`, data)
}
export const loanApplicationInput = data => {
return post(`/judgment/bankLoanApplication/loanApplicationInput`, data)
}
export const loanApplicationInterestCalculation = data => {
return post(`/judgment/bankLoanApplication/loanApplicationInterestCalculation`, data)
}
export const loanApplicationDetails = data => {
return get(`/judgment/bankLoanApplication/loanApplicationDetails`, data)
}
export const creditApplicationInput = data => {
return post(`/judgment/bankCreditApplication/creditApplicationInput`, data)
}
export const creditApplicationDetails = data => {
return get(`/judgment/bankCreditApplication/creditApplicationDetails`, data)
}
export const companyLoanList = data => {
return post(`/judgment/bankCompanyLoans/companyLoanList`, data)
}
export const companyLoanDetails = id => {
return get(`/judgment/bankCompanyLoans/companyLoanDetails?companyLoanId=${id}`)
}
export const loanDisbursement = data => {
return post(`/judgment/bankCompanyLoans/loanDisbursement`, data)
}
export const loanCollection = data => {
return post(`/judgment/bankCompanyLoans/loanCollection`, data)
}
export const nonPerformingLoans = data => {
return post(`/judgment/bankCompanyLoans/nonPerformingLoans`, data)
}
export const badDebtRecognition = data => {
return post(`/judgment/bankCompanyLoans/badDebtRecognition`, data)
}
export const postLoanInvestigationInput = data => {
return post(`/judgment/bankPostLoanInvestigation/postLoanInvestigationInput`, data)
}
export const addExtensionPeriod = data => {
return post(`/judgment/bankCompanyLoans/addExtensionPeriod`, data)
}
export const batchProcessingCompany = data => {
return post(`/judgment/bankCompanyRepaymentPlan/batchProcessing`, data)
}
export const repaymentPlanCompany = data => {
return post(`/judgment/bankCompanyRepaymentPlan/repaymentPlan`, data)
}
export const loanContractSave = (data) => {
return post('/judgment/bankPersonalLoanContractInfo/saveOrUpdate', data)
}
export const personalBasicDel = data => {
return post('/judgment/bankPersonalBasicInfo/batchDeletion', data)
}
export const personalBasicFind = id => {
return post('/judgment/bankPersonalBasicInfo/findById?id=' + id)
}
export const personalBasicList = (data) => {
return post('/judgment/bankPersonalBasicInfo/personageLoanList', data)
}
export const personalBasicSave = (data) => {
return post('/judgment/bankPersonalBasicInfo/saveOrUpdate', data)
}
export const grantALoan = (data) => {
return post(`/judgment/bankPersonalLoanContractInfo/grantALoan?contractId=${data.id}&disbursementDate=${data.disbursementDate}`)
}
export const repaymentPlan = (data) => {
return post(`/judgment/bankPersonalRepaymentPlan/repaymentPlan`, data)
}
export const batchProcessing = (data) => {
return post(`/judgment/bankPersonalRepaymentPlan/batchProcessing`, data)
}
export const operationExtension = (data) => {
return post(`/judgment/bankPersonalLoanContractInfo/operationExtension?contractId=${data.id}&extensionPeriod=${data.extensionPeriod}`)
}
export const calculateTheReturnInterestSum = (data) => {
return post(`/judgment/bankPersonalLoanContractInfo/calculateTheReturnInterestSum`, data)
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 561 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 83 KiB

After

Width:  |  Height:  |  Size: 94 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 175 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 190 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 63 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 211 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 221 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 239 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 292 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 376 B

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1707275227001" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4270" width="22" height="22" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M504.341494 375.700275m-215.955408 0a215.955408 215.955408 0 1 0 431.910817 0 215.955408 215.955408 0 1 0-431.910817 0Z" p-id="4271" fill="#ffffff"></path><path d="M510.627249 591.655683a357.782262 357.782262 0 0 0-355.903761 321.584986H853.59825c-17.051012-180.625132-157.577365-321.584986-342.971001-321.584986z m62.785296 201.649898a18.857264 18.857264 0 0 1 0 37.642278h-50.575037v23.625767a18.929514 18.929514 0 0 1-37.859028 0V830.875609H434.547943a18.857264 18.857264 0 0 1 0-37.642278h50.575037v-31.284273h-50.575037a18.857264 18.857264 0 0 1 0-37.642278h37.570028l-32.729274-32.657023a18.712764 18.712764 0 0 1 0-26.37127 18.929514 18.929514 0 0 1 26.732519 0L499.572991 698.296761a18.785014 18.785014 0 0 1 8.959006 0l33.307275-33.162774a19.001764 19.001764 0 0 1 26.804769 0 18.568264 18.568264 0 0 1 0 26.371269L535.698017 724.30678h37.570028a18.857264 18.857264 0 0 1 0 37.642278h-50.575037v31.356523z" p-id="4272" fill="#ffffff"></path></svg>

After

Width:  |  Height:  |  Size: 1.3 KiB

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1707128657430" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4315" width="22" height="22" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M512 0h234.666667v234.666667A234.666667 234.666667 0 1 1 512 0zM13.568 970.794667A42.666667 42.666667 0 0 0 54.954667 1024h914.133333a42.666667 42.666667 0 0 0 41.386667-53.205333l-75.050667-294.101334a42.666667 42.666667 0 0 0-20.48-26.666666l-129.450667-72.533334a42.666667 42.666667 0 0 0-59.818666 19.84l-120.576 270.208-42.922667-144.256a42.666667 42.666667 0 0 1 0-24.32l26.624-89.472A42.666667 42.666667 0 0 0 547.84 554.666667H476.16a42.666667 42.666667 0 0 0-40.874667 54.826666l26.581334 89.429334c2.389333 7.978667 2.389333 16.426667 0 24.32l-42.922667 144.298666L298.325333 597.333333a42.666667 42.666667 0 0 0-59.818666-19.84l-129.450667 72.533334a42.666667 42.666667 0 0 0-20.48 26.666666L13.568 970.794667z" p-id="4316" fill="#ffffff"></path></svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1707275318677" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5428" width="22" height="22" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M628.224 127.25248 390.07232 127.25248l0 101.9136L628.224 229.16608 628.224 127.25248 628.224 127.25248 628.224 127.25248zM763.33568 160.4864l-101.87776 0L661.45792 262.4 356.8384 262.4 356.8384 160.4864 254.9248 160.4864c-37.66272 0-67.55328 31.01696-67.55328 68.67968l0 610.39616c0 37.66272 29.89056 67.59424 67.55328 67.59424l508.41088 0c37.66272 0 67.59424-29.9264 67.59424-67.59424L830.92992 229.16608C830.92992 191.50336 800.9984 160.4864 763.33568 160.4864L763.33568 160.4864 763.33568 160.4864zM683.61216 767.5392c-76.45184-2.176-134.05696-16.59904-172.81024-44.27264-42.09664 27.6736-103.00416 42.09664-182.76352 44.27264l0-37.62688c104.13056-13.33248 151.74656-42.09664 145.1008-85.31456l0-18.85184 73.1136 0 0 18.85184c-6.64576 43.22304 39.87968 71.9872 138.45504 85.31456l0 37.62688L683.61216 767.5392 683.61216 767.5392 683.61216 767.5392zM650.38336 570.35776l1.09056 0 0 121.85088-66.46784 0L585.00608 612.4544 427.74016 612.4544l0 79.75936L361.27232 692.21376l0-121.85088 225.9456 0c-46.52544-8.86272-77.5424-39.87968-91.92448-94.14144L441.03168 476.22144l0-37.66272c-2.21696 3.30752-4.43392 6.64576-7.77216 11.07968-1.09056 3.3024-2.21696 5.51936-3.3024 6.64576l0 101.9136-65.3824 0L364.57472 503.89504c-11.07968 4.43392-23.2448 7.77216-37.62688 11.07968l0-37.66272c29.89056-12.16512 49.83296-36.53632 61.99808-73.1136l66.46784 0c-1.09056 3.34336-2.21696 7.77216-4.43392 12.20608-1.09056 3.3024-3.3024 8.86272-7.73632 17.72544l43.1872 0c-1.09056-3.34336-1.09056-8.86272-1.09056-15.50848-1.1264-7.77216-1.1264-12.20096-1.1264-15.50848l66.46272 0c0 3.30752 0 8.86272 1.09056 15.50848 0 7.73632 0 12.17024 1.1264 15.50848l33.23392 0 0-25.4976 58.69056 0 0 25.4976 38.75328 0 0 43.18208-120.7296 0c11.07968 36.57728 28.8 53.1712 55.38816 52.08576 16.63488 1.09056 24.3712-6.64576 24.3712-24.3712l48.7424 0C692.47488 542.68416 679.18336 563.712 650.38336 570.35776L650.38336 570.35776 650.38336 570.35776z" fill="#ffffff" p-id="5429"></path></svg>

After

Width:  |  Height:  |  Size: 2.2 KiB

@ -0,0 +1 @@
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1707128838231" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="7655" width="22" height="22" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M606.4 120c-30.4 0-60.8 3.2-90.4 9.6l0.8 2.4c-31.2-7.2-64-12-97.6-12-229.6 0-416 186.4-416 416 0 228.8 186.4 416 416 416 32 0 63.2-4 92.8-11.2 30.4 7.2 62.4 11.2 94.4 11.2 228.8 0 416-186.4 416-416-0.8-229.6-187.2-416-416-416zM436.8 729.6v65.6h-40v-63.2c-36.8-0.8-74.4-12-96-28l15.2-42.4c22.4 14.4 55.2 27.2 90.4 27.2 44.8 0 71.2-25.6 71.2-62.4 0-34.4-20.8-56-67.2-75.2-64.8-25.6-104.8-55.2-104.8-110.4 0-52.8 37.6-92 95.2-101.6v-63.2h40v61.6c37.6 0.8 63.2 11.2 82.4 22.4l-16 41.6c-13.6-7.2-39.2-22.4-80-22.4-48.8 0-63.2 28.8-63.2 55.2 0 32 19.2 48.8 74.4 72 64.8 26.4 98.4 59.2 98.4 115.2 0 51.2-35.2 98.4-100 108zM606.4 912c-3.2 0-6.4-0.8-9.6-0.8 140-67.2 237.6-209.6 237.6-375.2S736.8 228 596.8 160.8c3.2 0 6.4-0.8 9.6-0.8 207.2 0 376 168.8 376 376-0.8 207.2-168.8 376-376 376z m0 0" fill="#ffffff" p-id="7656"></path></svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 12 KiB

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg width="100px" height="100px" viewBox="0 0 100 100" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 59 (86127) - https://sketch.com -->
<title>大堂经理 / 理财业务</title>
<title>大堂经理 / 其他业务</title>
<desc>Created with Sketch.</desc>
<g id="大堂经理-/-理财业务" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="大堂经理-/-其他业务" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g>
<rect id="矩形" x="0" y="0" width="100" height="100"></rect>
<path d="M67.2080977,40.7323812 C54.0681559,40.7323812 43.417744,51.349725 43.417744,64.4487687 C43.417744,77.5483 54.069786,88.1671875 67.2080977,88.1671875 C80.3480395,88.1671875 91,77.5483 91,64.4487687 C91,51.349725 80.3480395,40.7323812 67.2080977,40.7323812 Z M78.077184,71.8649437 C77.7216649,74.1622875 76.4409161,79.1824812 69.5025078,79.6826562 L69.5025078,84.0813687 L64.6000614,84.0813687 L64.6000614,79.717675 C61.6720417,79.306875 58.9722323,78.552225 56.1959725,77.6265437 L57.6681734,71.8846875 C59.8677948,72.7408187 62.7656581,73.656425 65.3172938,73.9509562 C68.7790811,74.3531438 71.1131835,73.6417187 71.3302278,71.1417375 C71.8238141,66.7597625 56.4043774,65.9884562 56.5495354,58.0792563 C56.3391744,52.2709375 60.5666073,49.7407313 64.7804291,49.3898937 L64.7804291,44.8177125 L69.6793708,44.8177125 L69.6793708,49.1796187 C72.4611729,49.21545 74.6653584,49.8113375 76.8114318,50.7479875 L75.452358,56.1586687 C73.2965856,55.349175 71.0919111,54.5894875 68.4521699,54.5894875 C66.7447493,54.5894875 63.1559792,54.5946062 63.0311971,56.941675 C63.0311971,60.987925 69.8163785,61.1941375 72.0709333,62.1482563 C73.7133139,62.8429437 74.8573811,63.5244687 76.0258994,64.6634313 C78.0670775,66.6515375 78.4908967,69.2129437 78.0772655,71.8647 L78.077184,71.8649437 Z M42.2955198,11 C26.1134531,11 13,17.4865937 13,25.4880937 C13,33.4878875 26.1134531,39.9752125 42.2955198,39.9752125 C58.4735113,39.9752125 71.5869644,33.489675 71.5869644,25.4880937 C71.5869644,17.4865125 58.4735113,11 42.2955198,11 Z M55.6789946,30.0178625 C55.2404233,31.4217 53.6627566,34.4863687 45.1201929,34.7930875 L45.1201929,37.4794562 L39.0837858,37.4794562 L39.0837858,34.8138875 C35.4802636,34.5627437 32.1534464,34.0999437 28.734856,33.5329812 L30.5493724,30.0270438 C33.2573322,30.5498063 36.8226292,31.1092125 39.9676117,31.2889375 C44.226179,31.5339875 47.1027699,31.1000313 47.3681459,29.5733437 C47.9763263,26.895425 28.9915926,26.4249062 29.1683741,21.5950812 C28.9086218,18.0475437 34.116218,16.499975 39.3003411,16.2879937 L39.3003411,13.4970562 L45.3321024,13.4970562 L45.3321024,16.1625438 C48.7603917,16.1823688 51.4719377,16.5471813 54.1130644,17.1192625 L52.4407719,20.4239437 C49.7857895,19.93035 47.0743251,19.4656812 43.8227358,19.4656812 C41.7183922,19.4656812 37.3030119,19.4690125 37.1491329,20.9018562 C37.1491329,23.373075 45.5037492,23.5000688 48.2784605,24.08125 C50.3013003,24.5057812 51.7087874,24.9214562 53.1478163,25.6189063 C55.665791,26.834 56.1843174,28.3991187 55.6790761,30.0179437 L55.6789946,30.0178625 Z M51.5285012,43.6922375 C48.6237916,44.1703937 45.5251031,44.4387625 42.2955198,44.4387625 C28.3528482,44.4387625 16.7120036,39.617875 13.7504044,33.1663 C13.2736079,34.2012625 13.0000815,35.2767687 13.0000815,36.3822562 C13.0000815,44.38205 26.1135346,50.869375 42.2956013,50.869375 C43.0826008,50.869375 43.8528106,50.8409375 44.6230204,50.8114437 C46.4359883,48.0101062 48.7802786,45.5856062 51.5285012,43.6921562 L51.5285012,43.6922375 Z M70.7830936,39.7009938 C71.290454,38.6353188 71.5854159,37.5275563 71.5854159,36.3837188 C71.5854159,35.2766875 71.3133566,34.2028875 70.83656,33.1680063 C69.784592,35.4635625 67.6151271,37.5458375 64.6519793,39.2838563 C65.0686261,39.2637875 65.477204,39.2195875 65.897437,39.2195875 C67.5717671,39.2195875 69.2024113,39.3909438 70.7830936,39.7009938 L70.7830936,39.7009938 Z M42.2955198,53.9710937 C28.3528482,53.9710937 16.7120036,49.15045 13.7504044,42.6989562 C13.2736079,43.7339187 13.0000815,44.8086937 13.0000815,45.9149125 C13.0000815,53.6867187 25.3897004,60.0140625 40.9313927,60.3679875 C41.3032125,58.1159 41.9649409,55.9648062 42.8920452,53.9563875 C42.6954584,53.9599625 42.4952853,53.971175 42.2955198,53.971175 L42.2955198,53.9710937 Z M40.6312962,63.4681625 C27.4373989,63.0995312 16.5917857,58.4231062 13.7503229,52.2307187 C13.2735264,53.2661687 13,54.3417562 13,55.4477312 C13,63.2634125 25.5296423,69.6187062 41.1982358,69.904625 C40.8080776,68.14605 40.5875287,66.3240187 40.5875287,64.4471437 C40.5875287,64.119625 40.617522,63.7956812 40.6312962,63.4680812 L40.6312962,63.4681625 Z M13.7504044,61.7639437 C13.2736079,62.7998812 13.0000815,63.873925 13.0000815,64.9794937 C13.0000815,72.9800187 26.1135346,79.4662875 42.2956013,79.4662875 C43.385713,79.4662875 44.4565084,79.4333 45.5135296,79.3769125 C44.0963436,77.4532375 42.9624644,75.3175 42.1321049,73.0333187 C28.2612381,72.9931812 16.6988815,68.189275 13.7504859,61.7639437 L13.7504044,61.7639437 Z M48.058319,82.276075 C46.1939223,82.4618938 44.2729621,82.568575 42.2955198,82.568575 C28.3528482,82.568575 16.7120036,77.74785 13.7504044,71.2961125 C13.2736079,72.3314813 13.0000815,73.405525 13.0000815,74.5126375 C13.0000815,82.5117 26.1135346,89 42.2956013,89 C47.0661747,89 51.5570275,88.423125 55.5353036,87.4222875 C51.0398051,85.3721875 47.3640707,82.1945813 44.7732317,78.24575 L48.058319,82.276075 Z" id="形状" fill="#FFBD34" fill-rule="nonzero"></path>

Before

Width:  |  Height:  |  Size: 5.4 KiB

After

Width:  |  Height:  |  Size: 5.4 KiB

@ -1,33 +1,35 @@
<template>
<div class="sth guide" @click="toPart" alt="">
返回
</div>
<div class="sth guide"
@click="toPart"
alt="">
返回
</div>
</template>
<script>
export default {
methods: {
toPart() {
this.$router.push('/index')
}
methods: {
toPart () {
this.$router.push('/index')
}
}
}
</script>
<style lang="scss" scoped>
.sth {
position: absolute;
&.cp {
cursor: pointer;
}
}
.guide {
top: 90px;
left: 0;
width: 222px;
.sth {
position: absolute;
&.cp {
cursor: pointer;
&:hover {
opacity: 0.9;
}
}
}
.guide {
top: 90px;
left: 0;
width: 222px;
cursor: pointer;
&:hover {
opacity: 0.9;
}
}
</style>

@ -0,0 +1,67 @@
<template>
<!-- 面包屑 -->
<div class="breadcrumb">
<el-breadcrumb separator=">">
<template v-for="(item, index) in pages">
<el-breadcrumb-item v-if="index != pages.length - 1"
:key="index">
<span @click="toPath">{{item}}</span>
</el-breadcrumb-item>
<el-breadcrumb-item v-else
:key="index">
{{item}}
</el-breadcrumb-item>
</template>
</el-breadcrumb>
</div>
</template>
<script>
export default {
props: {
data: {
type: String,
required: true
},
route: {
type: String,
default: '/'
},
query: {
type: Object
}
},
data () {
return {
pages: this.data.split('/')
};
},
methods: {
update (data) {
this.pages = data.split('/')
},
toPath () {
this.$router.push('/index')
}
}
};
</script>
<style lang="scss" scoped>
.breadcrumb {
margin: 4px 0 16px;
/deep/.el-breadcrumb__item {
&:first-child {
span {
font-weight: 400;
color: #007eff;
cursor: pointer;
}
}
&:last-child {
.is-link {
color: #0b1d30;
}
}
}
}
</style>

File diff suppressed because it is too large Load Diff

@ -71,7 +71,6 @@
<h3 class="text-xs" style="left: 126px;top: 189px;">{{ getNowYear(1) }}</h3>
<h3 class="text-xs" style="left: 163px;top: 189px;">{{ getNowYear(2) }}</h3>
</template>
<template v-else-if="imgSrcId==412" >
<h3 class="text-xl" style="left: 630px;top: 10px;">00246862</h3>
<h3 class="text-xs" style="left: 700px;top: 80px;">{{ dataFlow.collectingCompany }}</h3>
@ -119,7 +118,7 @@
<h3 class="text-md" style="left: 120px;top: 370px;">人民币</h3>
<h3 class="text-md" style="left: 260px;top: 370px;">{{ dataFlow.voucherNumber }}</h3>
</template>
<template v-else-if="imgSrcId==468" >
<template v-else-if="imgSrcId==468 || imgSrcId==467" >
<h3 class="text-xl" style="left: 325px;top: 103px;"></h3>
<h3 class="text-lg" style="left: 160px;top: 175px;">{{ dataFlow.userName }}</h3>
<h3 class="text-lg" style="left: 490px;top: 175px;">{{ dataFlow.idNumber }}</h3>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

@ -1,179 +1,223 @@
<template>
<div class="quill" :class="classes">
<div ref="editor" :style="styles" v-loading="loading"></div>
<div class="quill"
:class="classes">
<div ref="editor"
:style="styles"
v-loading="loading"></div>
<el-upload :action="this.api.fileupload" :before-upload="beforeUpload" :on-success="editorUploadSuccess" style="display: none">
<el-button class="editorUpload" size="small" type="primary">点击上传</el-button>
</el-upload>
</div>
<Upload :max-size="1000"
:limit="100"
@beforeUpload="beforeUpload"
@onSuccess="editorUploadSuccess"
style="display: none">
<div slot="trigger">
<el-button :id="'editorUpload' + index"
type="primary">点击上传</el-button>
</div>
</Upload>
</div>
</template>
<script>
import Quill from 'quill';
import 'quill/dist/quill.core.css';
import 'quill/dist/quill.snow.css';
import 'quill/dist/quill.bubble.css';
import toolbarOptions from './options'
import Quill from 'quill';
import 'quill/dist/quill.core.css';
import 'quill/dist/quill.snow.css';
import 'quill/dist/quill.bubble.css';
import toolbarOptions from './options'
import Upload from '@/components/upload';
import Oss from '@/components/upload/upload.js'
export default {
name: 'quill',
props: {
value: {
type: String,
default: ''
},
readonly: {
type: Boolean,
default: false
},
toTop: {
type: Boolean,
default: true
},
border: {
type: Boolean,
default: false
},
height: {
type: Number
},
minHeight: {
type: Number
}
},
data () {
return {
Quill: null,
currentValue: '',
options: {
theme: 'snow',
bounds: document.body,
debug: 'warn',
modules: {
toolbar: {
container: toolbarOptions,
handlers: {
'image': function (value) {
if (value) {
// iview
document.querySelector('.editorUpload').click()
} else {
this.Quill.format('image', false);
}
}
}
}
},
placeholder: '',
readOnly: this.readonly
},
loading: false
}
},
computed: {
classes () {
return [
{
'quill-no-border': !this.border
}
];
},
styles () {
let style = {};
if (this.minHeight) {
style.minHeight = `${this.minHeight}px`;
}
if (this.height) {
style.height = `${this.height}px`;
export default {
name: 'quill',
components: {
Upload,
},
props: {
value: {
type: String,
default: ''
},
readonly: {
type: Boolean,
default: false
},
toTop: {
type: Boolean,
default: true
},
border: {
type: Boolean,
default: false
},
height: {
type: Number
},
minHeight: {
type: Number
},
//
index: {
type: Number,
default: 0
},
},
data () {
const that = this
return {
Quill: null,
currentValue: '',
options: {
theme: 'snow',
bounds: document.body,
debug: 'warn',
modules: {
toolbar: {
container: toolbarOptions,
handlers: {
'image': function (value) {
if (value) {
// iview
document.querySelector("#editorUpload" + that.index).click();
} else {
this.Quill.format('image', false);
}
return style;
}
}
}
},
watch: {
value: {
handler (val) {
if (val !== this.currentValue) {
this.currentValue = val;
if (this.Quill) {
this.Quill.pasteHTML(this.value);
}
}
},
immediate: true
}
},
mounted () {
this.init();
},
beforeDestroy () {
//
this.Quill = null;
},
methods: {
init () {
const editor = this.$refs.editor;
//
this.Quill = new Quill(editor, this.options);
//
this.Quill.pasteHTML(this.currentValue);
if(this.toTop){
this.$nextTick(() => {
window.scrollTo(0,0)
})
}
//
this.Quill.on('text-change', (delta, oldDelta, source) => {
const html = this.$refs.editor.children[0].innerHTML;
const text = this.Quill.getText();
const quill = this.Quill;
//
this.currentValue = html;
// v-model.trim
this.$emit('input', html);
//
this.$emit('on-change', { html, text, quill });
});
// quill
this.Quill.on('text-change', (delta, oldDelta, source) => {
this.$emit('on-text-change', delta, oldDelta, source);
});
this.Quill.on('selection-change', (range, oldRange, source) => {
this.$emit('on-selection-change', range, oldRange, source);
});
this.Quill.on('editor-change', (eventName, ...args) => {
this.$emit('on-editor-change', eventName, ...args);
});
},
beforeUpload(file){
this.loading = true
},
editorUploadSuccess (res) {
//
let quill = this.Quill
//
if (res.data.filesResult.fileUrl) {
//
let length = quill.getSelection().index;
// res
quill.insertEmbed(length, 'image', res.data.filesResult.fileUrl)
//
quill.setSelection(length + 1)
} else {
this.$message.success('图片插入失败')
}
this.loading = false
},
placeholder: '',
readOnly: this.readonly
},
loading: false
}
},
computed: {
classes () {
return [
{
'quill-no-border': !this.border
}
];
},
styles () {
let style = {};
if (this.minHeight) {
style.minHeight = `${this.minHeight}px`;
}
if (this.height) {
style.height = `${this.height}px`;
}
return style;
}
</script>
<style lang="scss" scoped>
.quill-no-border{
.ql-toolbar.ql-snow{
border: none;
border-bottom: 1px solid #e8eaec;
},
watch: {
value: {
handler (val) {
if (val !== this.currentValue) {
this.currentValue = val;
if (this.Quill) {
this.Quill.pasteHTML(this.value);
}
}
.ql-container.ql-snow{
border: none;
},
immediate: true
}
},
mounted () {
this.init();
},
beforeDestroy () {
//
this.Quill = null;
},
methods: {
init () {
const editor = this.$refs.editor;
//
this.Quill = new Quill(editor, this.options);
const ins = this.Quill
//
ins.pasteHTML(this.currentValue);
if (this.toTop) {
this.$nextTick(() => {
window.scrollTo(0, 0)
})
}
//
ins.on('text-change', (delta, oldDelta, source) => {
const html = this.$refs.editor.children[0].innerHTML;
const text = ins.getText();
const quill = this.Quill;
//
this.currentValue = html;
// v-model
this.$emit('input', html);
//
this.$emit('on-change', { html, text, quill });
});
// quill
ins.on('text-change', (delta, oldDelta, source) => {
this.$emit('on-text-change', delta, oldDelta, source);
});
ins.on('selection-change', (range, oldRange, source) => {
this.$emit('on-selection-change', range, oldRange, source);
});
ins.on('editor-change', (eventName, ...args) => {
this.$emit('on-editor-change', eventName, ...args);
});
//
ins.root.addEventListener('paste', evt => {
if (evt.clipboardData && evt.clipboardData.files && evt.clipboardData.files.length) {
evt.preventDefault();
//
[].forEach.call(evt.clipboardData.files, file => {
if (!file.type.match(/^image\/(gif|jpe?g|a?png|bmp)/i)) {
return
}
// ossbase64
Oss.upload(file).then(res => {
var range = ins.getSelection()
if (range) {
//
ins.insertEmbed(range.index, 'image', res.url)
//
ins.setSelection(range.index + 1)
}
})
});
}
}, false)
},
beforeUpload (file) {
this.loading = true
},
editorUploadSuccess (file) {
//
let quill = this.Quill
//
if (file.url) {
//
let length = quill.getSelection().index;
// res
quill.insertEmbed(length, 'image', file.url)
//
quill.setSelection(length + 1)
} else {
this.$message.success('图片插入失败')
}
this.loading = false
},
}
}
</script>
<style lang="scss" scoped>
.quill-no-border {
.ql-toolbar.ql-snow {
border: none;
border-bottom: 1px solid #e8eaec;
}
.ql-container.ql-snow {
border: none;
}
}
</style>

@ -1,173 +1,192 @@
<template>
<!-- 业务选择列表 -->
<el-dialog :visible="true" class="" :modal="false" @close="closeData" :close-on-click-modal="false" :show-close="false" custom-class="data-dia 2xl:w-7/12 xl:w-9/12 lg:w-full h-9/12">
<div slot="title" class="dia-header2">
<div class="data-title2">业务选择</div>
<div class="close"><img v-lazy="closeImg" alt="" @click="showBusinessSelect(false)" /></div>
</div>
<p class="tips2">请选择您要办理的业务:</p>
<ul class="take-list2">
<li v-for="(item) in getBusinessSelectList" :class="{checked: takeCheck == item.myKey}" :key="item.myKey" @click="checkTake(item.myKey)">
<img v-lazy="businessImg" alt="">
<p>{{ item.myKey + item.text}}</p>
</li>
<li v-for="(item) in (3 - getBusinessSelectList.length%3)" class="sitting" :key="item"></li>
</ul>
<div class="dia-footer2">
<div class='busyButtonBox'>
<el-button @click="showBusinessSelect(false)">取消</el-button>
<el-button type="primary" @click="selectBusiness()">确定</el-button>
</div>
</div>
</el-dialog>
<!-- 业务选择列表 -->
<el-dialog :visible="true"
class=""
:modal="false"
@close="closeData"
:close-on-click-modal="false"
:show-close="false"
custom-class="data-dia 2xl:w-7/12 xl:w-9/12 lg:w-full h-9/12">
<div slot="title"
class="dia-header2">
<div class="data-title2">业务选择</div>
<div class="close"><img v-lazy="closeImg"
alt=""
@click="showBusinessSelect(false)" /></div>
</div>
<p class="tips2">请选择您要办理的业务:</p>
<ul class="take-list2">
<li v-for="(item) in getBusinessSelectList"
:class="{checked: takeCheck == item.myKey}"
:key="item.myKey"
@click="checkTake(item.myKey)">
<img v-lazy="businessImg"
alt="">
<p>{{ item.myKey + item.text}}</p>
</li>
<li v-for="(item) in (3 - getBusinessSelectList.length%3)"
class="sitting"
:key="item"></li>
</ul>
<div class="dia-footer2">
<div class='busyButtonBox'>
<el-button @click="showBusinessSelect(false)">取消</el-button>
<el-button type="primary"
@click="selectBusiness()">确定</el-button>
</div>
</div>
</el-dialog>
</template>
<script>
import { mapState, mapMutations, mapGetters } from 'vuex';
export default {
props: {
// showBusiness: {
// type: Boolean,
// default: false
// }
// default: ''
props: {
// showBusiness: {
// type: Boolean,
// default: false
// }
// default: ''
},
mounted () {
console.log('business', this.getBusinessSelectList)
if (this.businessKey) {
//
this.takeCheck = this.businessKey
}
},
data () {
return {
checkList: [],
takeCheck: '',
businessImg: require('@/assets/img/业务列表2.png'),
closeImg: require('@/assets/svg/close.svg'),
//
}
},
methods: {
...mapMutations({
setBusinessKey: 'system/setBusinessKey',
setShowBusiness: 'system/setShowBusiness',
setTipsOperate: 'system/setTipsOperate',
}),
closeData () {
this.checkList = [];
},
mounted() {
if(this.businessKey) {
//
this.takeCheck = this.businessKey
}
// /
showBusinessSelect (judge) {
//
if (!judge && !this.businessKey) {
this.$confirm('由于您未选择一个业务,这将回到业务列表,是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
center: true,
type: 'warning'
}).then(() => {
this.$emit('update:showIt', true)
this.setShowBusiness(false)
}).catch(() => {
this.$message({
type: 'info',
message: '请选择一个业务'
});
});
return
}
this.setShowBusiness(judge)
//
this.setTipsOperate('您正在进行' + this.businessKey + ',加油!');
},
data() {
return {
checkList: [],
takeCheck: '',
businessImg: require('@/assets/img/业务列表2.png'),
closeImg: require('@/assets/svg/close.svg'),
//
}
checkTake (myKey) {
//
if (this.takeCheck === myKey) {
this.takeCheck = ''
} else {
this.takeCheck = myKey
}
},
methods: {
...mapMutations({
setBusinessKey: 'system/setBusinessKey',
setShowBusiness: 'system/setShowBusiness',
setTipsOperate: 'system/setTipsOperate',
}),
closeData() {
this.checkList = [];
},
// /
showBusinessSelect (judge) {
//
if(!judge && !this.businessKey) {
this.$confirm('由于您未选择一个业务,这将回到业务列表,是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
center: true,
type: 'warning'
}).then(() => {
this.$emit('update:showIt', true)
this.setShowBusiness(false)
}).catch(() => {
this.$message({
type: 'info',
message: '请选择一个业务'
});
});
return
}
this.setShowBusiness(judge)
//
this.setTipsOperate('您正在进行' + this.businessKey + ',加油!');
},
checkTake(myKey){
//
if(this.takeCheck === myKey) {
this.takeCheck = ''
}else {
this.takeCheck = myKey
}
},
selectBusiness() {
//
if(!this.takeCheck) {
this.$message({
type: 'info',
message: '请选择一个业务'
});
return
}
// systemselectBusinessid
this.setBusinessKey(this.takeCheck)
// this.$store.dispatch('system/getJudgeData')
// id
if(!this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id) {
this.$message({
type: 'info',
message: '业务开发中,尽请期待!'
});
return
}
selectBusiness () {
//
if (!this.takeCheck) {
this.$message({
type: 'info',
message: '请选择一个业务'
});
return
}
// systemselectBusinessid
this.setBusinessKey(this.takeCheck)
// this.$store.dispatch('system/getJudgeData')
// id
if (!this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id) {
this.$message({
type: 'info',
message: '业务开发中,尽请期待!'
});
return
}
//
this.setShowBusiness(false)
//
this.setShowBusiness(false)
// clearStore
let systemData = sessionStorage.getItem('systemData')
let token = sessionStorage.getItem('token')
let cid = sessionStorage.getItem('cid')
let systemId = sessionStorage.getItem('systemId')
let projectId = sessionStorage.getItem('projectId')
let assessmentId = sessionStorage.getItem('assessmentId')
let classId = sessionStorage.getItem('classId')
let timestamp = sessionStorage.getItem('timestamp')
let startTime = sessionStorage.getItem('startTime')
const storeProjectId = sessionStorage.getItem('storeProjectId')
sessionStorage.clear()
sessionStorage.setItem('token', token)
sessionStorage.setItem('cid', cid)
sessionStorage.setItem('systemId', systemId)
sessionStorage.setItem('projectId', projectId)
if(assessmentId) {
sessionStorage.setItem('assessmentId', assessmentId)
}
if(classId) {
sessionStorage.setItem('classId', classId)
}
if(timestamp) {
sessionStorage.setItem('timestamp', timestamp)
}
if(startTime) {
sessionStorage.setItem('startTime', startTime)
}
if(storeProjectId) {
sessionStorage.setItem('storeProjectId', storeProjectId)
}
// sessionStorage.setItem('systemData', systemData)
// clearStore
let systemData = sessionStorage.getItem('systemData')
let token = sessionStorage.getItem('token')
let cid = sessionStorage.getItem('cid')
let systemId = sessionStorage.getItem('systemId')
let projectId = sessionStorage.getItem('projectId')
let assessmentId = sessionStorage.getItem('assessmentId')
let classId = sessionStorage.getItem('classId')
let timestamp = sessionStorage.getItem('timestamp')
let startTime = sessionStorage.getItem('startTime')
const storeProjectId = sessionStorage.getItem('storeProjectId')
sessionStorage.clear()
sessionStorage.setItem('token', token)
sessionStorage.setItem('cid', cid)
sessionStorage.setItem('systemId', systemId)
sessionStorage.setItem('projectId', projectId)
sessionStorage.setItem('firstLoad2', true)
sessionStorage.removeItem('submited')
if (assessmentId) {
sessionStorage.setItem('assessmentId', assessmentId)
}
if (classId) {
sessionStorage.setItem('classId', classId)
}
if (timestamp) {
sessionStorage.setItem('timestamp', timestamp)
}
if (startTime) {
sessionStorage.setItem('startTime', startTime)
}
if (storeProjectId) {
sessionStorage.setItem('storeProjectId', storeProjectId)
}
// sessionStorage.setItem('systemData', systemData)
sessionStorage.setItem('businessKey', this.takeCheck)
sessionStorage.setItem('businessKey', this.$store.state.system.businessKey)
},
},
computed: {
...mapState({
showBusiness: state => state.system.showBusiness,
businessKey: state => state.system.businessKey
}),
...mapGetters({
getBusinessSelectList: 'system/getBusinessSelectList'
})
},
watch: {
showBusiness(newVal) {
console.log('what')
if(newVal) {
this.takeCheck = this.businessKey
}
}
},
computed: {
...mapState({
showBusiness: state => state.system.showBusiness,
businessKey: state => state.system.businessKey
}),
...mapGetters({
getBusinessSelectList: 'system/getBusinessSelectList'
})
},
watch: {
showBusiness (newVal) {
console.log('what')
if (newVal) {
this.takeCheck = this.businessKey
}
}
}
}
</script>
@ -187,7 +206,7 @@ export default {
max-height: 600px;
overflow: auto;
//
.take-list2{
.take-list2 {
width: 100%;
display: flex;
justify-content: space-around;
@ -195,30 +214,30 @@ export default {
flex-wrap: wrap;
height: 40vh;
overflow: auto;
li{
li {
display: inline-flex;
align-items: center;
width: 30%;
height: 10vh;
font-size: 16px;
margin: 1vh 0;
border: 4px solid #DBDBDB;
border: 4px solid #dbdbdb;
border-radius: 20px;
cursor: pointer;
background-color: rgba(216,216,216,0.10);
background-color: rgba(216, 216, 216, 0.1);
// &:first-child{
// margin: 0 0px 50px 0;
// }
// &:last-child{
// margin-left: 50px;
// }
img{
img {
width: 15%;
margin: 0;
//height: 154px;
//margin: 0 45px;
}
p{
p {
font-size: 16px;
color: #000;
text-align: left;
@ -231,27 +250,28 @@ export default {
text-overflow: ellipsis;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical
-webkit-box-orient: vertical;
}
&.checked{
background: rgba(97,145,255,0.10) url('../../assets/svg/checked.svg') 96% 7%/auto no-repeat;
border-color: #6191FF;
&.checked {
background: rgba(97, 145, 255, 0.1) url('../../assets/svg/checked.svg') 96% 7% / auto no-repeat;
border-color: #6191ff;
}
}
}
.dia-header2 {
position: relative;height: 50px;
position: relative;
height: 50px;
line-height: 50px;
background-color: rgb(98, 149, 243) ;
border-top-left-radius:14px;
border-top-right-radius:14px;
background-color: rgb(98, 149, 243);
border-top-left-radius: 14px;
border-top-right-radius: 14px;
.data-title2 {
position: absolute;
left: 15px;
height: 50px;
font-size: 16px;
line-height: 50px;
color:#fff;
color: #fff;
}
.close {
height: 50px;
@ -280,7 +300,7 @@ export default {
margin: 0 auto;
display: flex;
align-items: center;
.img-wrap{
.img-wrap {
background: url('../../assets/img/data-frame.png') 0 0 / cover no-repeat;
width: 180px;
height: 180px;
@ -294,7 +314,7 @@ export default {
max-width: 180px;
max-height: 130px;
text-align: center;
margin: 10px 10px ;
margin: 10px 10px;
img {
margin-top: 45px;
}
@ -308,13 +328,13 @@ export default {
color: #000;
}
}
.text{
.text {
font-size: 18px;
white-space:nowrap;
white-space: nowrap;
position: absolute;
bottom: 15px;
left: 50%;
transform: translate(-50%,0);
transform: translate(-50%, 0);
}
&.checked {
background: url('../../assets/img/data-frame-checked.png') 0 0 / cover no-repeat,
@ -325,19 +345,19 @@ export default {
}
}
}
.seal{
.seal {
width: 1100px;
padding: 0 5%;
display: flex;
justify-content: space-between;
.box{
.box {
border: 2px solid #e6e6e6;
width: 45%;
min-height: 300px;
border-radius: 10px;
padding: 10px;
}
.left{
.left {
display: flex;
width: 50%;
flex-wrap: wrap;
@ -349,14 +369,14 @@ export default {
background: url('../../assets/img/data-frame.png') 0 0 / cover no-repeat;
cursor: pointer;
margin: 5px 7px;
img{
img {
width: 130px;
max-height: 90px;
}
&:last-child {
margin-right: 0;
}
&:nth-child(n>1){
&:nth-child(n > 1) {
margin-top: 0;
}
img {
@ -377,7 +397,7 @@ export default {
&.checked {
background: url('../../assets/img/data-frame-checked.png') 0 0 / cover no-repeat,
url('../../assets/svg/checked.svg') 163px 7% / auto no-repeat;
p {
color: #fff;
}
@ -394,10 +414,10 @@ export default {
}
}
}
.right{
.right {
margin-left: 5%;
}
.else{
.else {
width: 100%;
}
}
@ -416,6 +436,6 @@ export default {
.sitting {
opacity: 0;
cursor: default!important;
cursor: default !important;
}
</style>

@ -0,0 +1,15 @@
/**
* 阿里云oss配置
* */
export default {
// oss账号信息
config: {
region: 'oss-cn-shenzhen',
accessKeyId: 'LTAI4FzqQHnk4rozqLZ8jCNj',
accessKeySecret: 'mveW7B1OyFoKUkHm8WsxmrjHmkJWHq',
bucket: 'huoran'
},
// 上传成功url前置部分(成功回调没有返回url)
preUrl: 'https://huoran.oss-cn-shenzhen.aliyuncs.com/'
}

@ -0,0 +1,150 @@
<template>
<el-upload :disabled="uploading"
:before-upload="beforeUpload"
:on-remove="onRemove"
:on-error="uploadError"
:limit="limit"
action=""
:on-exceed="handleExceed"
:show-file-list="showFiles"
:file-list="fileList"
:http-request="handleRequest"
name="file">
<slot name="trigger">
<el-button size="small"
:loading="uploading">{{ uploading ? '正在上传' : '上传文件' }}</el-button>
</slot>
<div slot="tip"
class="el-upload__tip">
<el-progress v-if="uploading"
class="upload-progress"
:stroke-width="3"
:percentage="uploadProgress"></el-progress>
<slot name="tip">
<p>支持扩展名.rar .zip .doc .docx .pdf .jpg...</p>
</slot>
</div>
</el-upload>
</template>
<script>
import OSS from 'ali-oss'
import OssConfig from './config.js'
import Util from '@/libs/util'
export default {
props: {
//
limit: {
type: Number,
default: 1
},
// (: Mb)
maxSize: {
type: Number,
default: 10
},
//
showFileList: {
type: Boolean,
default: true
},
//
fileList: {
type: Array,
default: () => []
},
// fileList使fileListfalse
changeFileList: {
type: Boolean,
default: true
},
//
onRemove: {
type: Function,
default: new Function()
},
},
data () {
return {
client: null,
uploading: false,
uploadProgress: 0,
showFiles: this.showFileList
};
},
mounted () {
this.initOss()
},
methods: {
// oss
initOss () {
this.client = new OSS(OssConfig.config)
},
//
beforeUpload (file) {
const oversize = file.size / 1024 / 1024 < this.maxSize
if (!oversize) Util.warningMsg(`请上传小于${this.maxSize}MB的附件!`)
if (oversize) {
this.$emit('beforeUpload', file)
return true
} else {
return false
}
},
//
handleProgress (progress) {
this.uploadProgress = Number((progress * 100).toFixed(2))
},
//
async handleRequest ({ file }) {
try {
this.uploadProgress = 0
this.uploading = true
this.showFiles = false
// oss
const { name } = await this.client.multipartUpload(Date.now() + '.' + Util.getFileExt(file.name), file, {
progress: this.handleProgress
});
this.uploading = false
const url = OssConfig.preUrl + name
this.changeFileList && this.$emit('update:fileList', [
...this.fileList,
{
name: name,
url
}
])
this.showFiles = true
this.$emit('onSuccess', {
format: Util.getFileExt(file.name),
name: file.name,
url,
size: file.size,
})
} catch (error) { }
},
uploadError (err, file, fileList) {
this.$message({
message: "上传出错,请重试!",
type: "error",
center: true
})
},
beforeRemove (file, fileList) {
return this.$confirm(`确定移除 ${file.name}`);
},
handleExceed (files, fileList) {
Util.warningMsg(`当前限制选择 ${this.limit} 个文件,如需更换,请删除上一个文件再重新选择!`);
},
}
};
</script>
<style lang="scss" scoped>
/deep/.upload-progress {
max-width: 300px;
margin: 10px 0;
white-space: nowrap;
}
</style>

@ -0,0 +1,37 @@
// 阿里云oss上传
import OSS from 'ali-oss'
import OssConfig from './config'
import Util from '@/libs/util'
let client = null
// 初始化oss
const initOss = () => {
if (!client) client = new OSS(OssConfig.config)
}
export default {
// 上传文件
upload(file) {
initOss()
return new Promise(async (resolve, reject) => {
try {
// 上传到阿里云oss
const res = await client.multipartUpload(Date.now() + '.' + Util.getFileExt(file.name), file);
resolve({
format: Util.getFileExt(file.name),
name: file.name,
url: OssConfig.preUrl + res.name,
size: file.size,
})
} catch (error) {
reject()
}
})
},
// 删除文件(传完整url,不是没有https的name,因为很多接口没有存name,只存url,所以统一使用url)
async del(url) {
initOss()
await client.delete(url.replace(OssConfig.preUrl, ''));
}
}

@ -1,89 +1,114 @@
<template>
<div class="header" ref="exitHeader">
<div class="inner" style="width: 100%">
<div class="logo" @click="toIndex" style="float: left">
<img src="../../assets/img/logo.png" alt="">
</div>
<div style="float: right;margin:0 60px;font-size: 18px">
<span style="cursor:pointer" @click="exit">
退出<i class="icon el-icon-s-unfold"></i>
</span>
</div>
</div>
<div class="header" ref="exitHeader">
<div class="inner" style="width: 100%">
<div class="logo" @click="toIndex" style="float: left">
<img src="../../assets/img/logo.png" alt="">
</div>
<div style="float: right;margin:0 60px;font-size: 18px">
<span style="cursor:pointer" @click="logout">
退出<i class="icon el-icon-s-unfold"></i>
</span>
</div>
<el-radio-group v-if="isDev" class="ip" v-model="ip" @change="ipChange">
<el-radio :label="0">刘榕ip</el-radio>
<el-radio :label="1">陈赓ip</el-radio>
<el-radio :label="2">测试服ip</el-radio>
</el-radio-group>
</div>
</div>
</template>
<script>
import { mapState,mapActions } from 'vuex'
import { mapMutations } from 'vuex'
import Setting from '@/setting'
import util from '@/libs/util'
import Cookie from 'js-cookie'
export default {
data() {
return {
token: util.local.get(Setting.tokenKey),
};
data () {
return {
isDev: Setting.isDev,
token: util.local.get(Setting.tokenKey),
ip: localStorage.getItem('localIp') ? +localStorage.getItem('localIp') : 0,
};
},
mounted () {
this.$route.query.manager ? Cookie.set('manager', 1) : Cookie.remove('manager')
},
methods: {
...mapMutations({
logout: 'user/logout',
}),
toIndex () {
this.$refs.nav.jump({
index: '/index/list',
title: '首页'
})
},
mounted(){
exit () {
const url = location.href
let href = process.env.NODE_ENV === 'development' ?
`http://${location.hostname}:8082/#/` :
`${url.includes('huorantech.cn') ? `https://www.occupationlab.com` : location.origin}${Cookie.get('manager') ?
'/admin' :
(url.includes('huorantech.cn') || url.includes('izhixinyun.com')) ?
'' :
'/student'}/#/`
let assessmentId = sessionStorage.getItem('assessmentId')
if (assessmentId != 'null' && assessmentId != null && assessmentId != '') {
href += `ass/list`
} else {
const cid = sessionStorage.getItem('cid')
href += `station/preview?courseId=${cid}&curriculumName=银行项目&mallId=${this.$route.query.mallId}`
}
sessionStorage.clear()
location.href = href
},
methods: {
toIndex(){
this.$refs.nav.jump({
index: '/index/list',
title: '首页'
})
},
exit(){
let href = ''
const url = location.href
const host = url.includes('huorantech.cn') ?
`http://www.occupationlab.com` :
process.env.NODE_ENV === 'development' ?
`http://192.168.31.155:8082` :
`http://121.37.12.51/student`
let assessmentId = sessionStorage.getItem('assessmentId')
if (assessmentId != 'null' && assessmentId != null && assessmentId != ''){
href = `${host}/#/ass/list`
}else{
const cid = sessionStorage.getItem('cid')
href = `${host}/#/station/preview?courseId=${cid}&curriculumName=银行项目`
}
location.href = href
},
ipChange (val) {
localStorage.setItem('localIp', val)
location.reload()
},
watch: {
'$route.path': {
handler(newVal) {
this.$nextTick(() => {
console.log(newVal)
if(newVal === '/index/list') {
this.$refs.exitHeader.style.backgroundColor = 'rgb(250, 250, 250)'
}else {
this.$refs.exitHeader.style.backgroundColor = 'rgb(244, 245, 248)'
}
})
},
immediate: true
}
},
watch: {
'$route.path': {
handler (newVal) {
this.$nextTick(() => {
if (newVal === '/index/list') {
this.$refs.exitHeader.style.backgroundColor = 'rgb(250, 250, 250)'
} else {
this.$refs.exitHeader.style.backgroundColor = 'rgb(244, 245, 248)'
}
})
},
immediate: true
}
}
};
</script>
<style lang="scss" scoped>
.header{
width:100%;
display: flex;
align-items: center;
position: relative;
height: 68px;
// background-color: #fff;
background-color: rgb(244,245,248);
z-index: 1001;
.logo{
width: 500px;
margin-left: 42px;
cursor: pointer;
img{
width: 100%;
}
}
.header {
width: 100%;
display: flex;
align-items: center;
position: relative;
height: 68px;
// background-color: #fff;
background-color: rgb(244, 245, 248);
z-index: 1001;
.logo {
width: 500px;
margin-left: 42px;
cursor: pointer;
img {
width: 100%;
}
}
}
.ip {
position: fixed;
top: 25px;
left: 500px;
}
</style>

@ -1,18 +1,18 @@
<template>
<div class="main">
<v-head></v-head>
<div class="layout">
<div class="content">
<transition name="move" mode="out-in">
<keep-alive :include="tagsList">
<router-view class="view"></router-view>
</keep-alive>
</transition>
<el-backtop target=".content"></el-backtop>
<!-- <v-footer ref="footer"></v-footer> -->
</div>
</div>
<div class="main">
<v-head></v-head>
<div class="layout">
<div class="content">
<transition name="move" mode="out-in">
<keep-alive :include="tagsList">
<router-view class="view"></router-view>
</keep-alive>
</transition>
<el-backtop target=".content"></el-backtop>
<!-- <v-footer ref="footer"></v-footer> -->
</div>
</div>
</div>
</template>
<script>
@ -21,40 +21,38 @@ import vFooter from '../footer'
import bus from '@/libs/bus'
import Setting from '@/setting'
export default {
data() {
return {
tagsList: [],
collapse: false,
hideNavList: Setting.layout.hideNavList
};
},
components: {
vHead,
vFooter
},
computed: {
hideNavbar() {
let route = this.$route.name
if(this.hideNavList.includes(route)) return false
return true
}
},
created() {
bus.$on('collapse-content', msg => {
this.collapse = msg;
});
// 使keep-alive
bus.$on('tags', msg => {
let arr = [];
for (let i = 0, len = msg.length; i < len; i++) {
msg[i].name && arr.push(msg[i].name)
}
this.tagsList = arr
});
data () {
return {
tagsList: [],
collapse: false,
hideNavList: Setting.layout.hideNavList
};
},
components: {
vHead,
vFooter
},
computed: {
hideNavbar () {
let route = this.$route.name
if (this.hideNavList.includes(route)) return false
return true
}
},
created () {
bus.$on('collapse-content', msg => {
this.collapse = msg;
});
// 使keep-alive
bus.$on('tags', msg => {
let arr = [];
for (let i = 0, len = msg.length; i < len; i++) {
msg[i].name && arr.push(msg[i].name)
}
this.tagsList = arr
});
}
};
</script>
<style lang="scss" scoped>
</style>
<style lang="scss" scoped></style>

@ -1,5 +1,5 @@
import cookies from './util.cookies'
import {_local,_session} from './util.db'
import { _local, _session } from './util.db'
import { Message } from 'element-ui'
const util = {
@ -7,53 +7,53 @@ const util = {
local: _local,
session: _session,
// 传入身份证获取生日
getBirth(idCard) {
getBirth (idCard) {
var birthday = "";
if(idCard != null && idCard != ""){
if(idCard.length == 15){
birthday = "19"+idCard.slice(6,12);
} else if(idCard.length == 18){
birthday = idCard.slice(6,14);
}
birthday = birthday.replace(/(.{4})(.{2})/,"$1-$2-");
if (idCard != null && idCard != "") {
if (idCard.length == 15) {
birthday = "19" + idCard.slice(6, 12);
} else if (idCard.length == 18) {
birthday = idCard.slice(6, 14);
}
birthday = birthday.replace(/(.{4})(.{2})/, "$1-$2-");
//通过正则表达式来指定输出格式为:1990-01-01
}
}
return birthday;
},
// new Date('2020-11-12 00:00:00') 在IE下失效,因此把-替换成/
dateCompatible(date) {
dateCompatible (date) {
return date.replace(/\-/g, '/')
},
// 日期时间前面补零
formateTime(num) {
formateTime (num) {
return num < 10 ? `0${num}` : num
},
//返回格式化时间,传参例如:"yyyy-MM-dd hh:mm:ss"
formatDate(fmt,date) {
formatDate (fmt, date) {
var date = date ? date : new Date()
var o = {
"M+" : date.getMonth()+1, //月份
"d+" : date.getDate(), //日
"h+" : date.getHours(), //小时
"m+" : date.getMinutes(), //分
"s+" : date.getSeconds(), //秒
"q+" : Math.floor((date.getMonth()+3)/3), //季度
"S" : date.getMilliseconds() //毫秒
};
if(/(y+)/.test(fmt)) {
fmt=fmt.replace(RegExp.$1, (date.getFullYear()+"").substr(4 - RegExp.$1.length));
var o = {
"M+": date.getMonth() + 1, //月份
"d+": date.getDate(), //日
"h+": date.getHours(), //小时
"m+": date.getMinutes(), //分
"s+": date.getSeconds(), //秒
"q+": Math.floor((date.getMonth() + 3) / 3), //季度
"S": date.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt)) {
fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
}
for(var k in o) {
if(new RegExp("("+ k +")").test(fmt)){
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00"+ o[k]).substr((""+ o[k]).length)));
}
for (var k in o) {
if (new RegExp("(" + k + ")").test(fmt)) {
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
}
}
return fmt;
return fmt;
},
// 移除数组中指定值
removeByValue(arr, val) {
let index = arr.indexOf(val)
index>0?arr.splice(i, 1):''
removeByValue (arr, val) {
let index = arr.indexOf(val)
index > 0 ? arr.splice(i, 1) : ''
// for(var i=0; i<arr.length; i++) {
// if(arr[i] == val) {
// arr.splice(i, 1);
@ -62,52 +62,52 @@ const util = {
// }
},
// 传入文件后缀判断是否是视频
isVideo(ext) {
if('mp4,3gp,mov,m4v,avi,dat,mkv,flv,vob,rmvb,rm,qlv'.includes(ext)) return true
isVideo (ext) {
if ('mp4,3gp,mov,m4v,avi,dat,mkv,flv,vob,rmvb,rm,qlv'.includes(ext)) return true
return false
},
// 传入文件后缀判断是否是音频
isAudio(ext) {
if('mp3,aac,ape,flac,wav,wma,amr,mid'.includes(ext)) return true
isAudio (ext) {
if ('mp3,aac,ape,flac,wav,wma,amr,mid'.includes(ext)) return true
return false
},
// 传入文件后缀判断是否是图片
isImg(ext) {
if('jpg,jpeg,png,gif,svg,psd'.includes(ext)) return true
isImg (ext) {
if ('jpg,jpeg,png,gif,svg,psd'.includes(ext)) return true
return false
},
// 传入文件后缀判断是否是pdf以外的文档
isDoc(ext) {
if(!util.isVideo(ext) && !util.isAudio(ext) && !util.isImg(ext) && ext != 'pdf') return true
isDoc (ext) {
if (!util.isVideo(ext) && !util.isAudio(ext) && !util.isImg(ext) && ext != 'pdf') return true
return false
},
// 循环去除html标签
removeHtmlTag(list,attr) {
removeHtmlTag (list, attr) {
list.map(n => {
n[attr] = n[attr].replace(/<\/?.+?>/gi,'')
n[attr] = n[attr].replace(/<\/?.+?>/gi, '')
})
return list
},
// 传入文件名获取文件后缀
getFileExt(fileName) {
getFileExt (fileName) {
return fileName.substring(fileName.lastIndexOf('.') + 1)
},
// 传入文件名和路径,下载图片视频,支持跨域,a标签加download不支持跨域
downloadFile(fileName,url) {
downloadFile (fileName, url) {
var x = new XMLHttpRequest()
x.open("GET", url, true)
x.responseType = 'blob'
x.onload=function(e) {
var url = window.URL.createObjectURL(x.response)
var a = document.createElement('a')
a.href = url
a.download = fileName
a.click()
x.onload = function (e) {
var url = window.URL.createObjectURL(x.response)
var a = document.createElement('a')
a.href = url
a.download = fileName
a.click()
}
x.send()
},
// 传入文件名和数据,下载文件
downloadFileDirect(fileName,data) {
downloadFileDirect (fileName, data) {
if ('download' in document.createElement('a')) { // 非IE下载
const elink = document.createElement('a')
elink.download = fileName
@ -122,17 +122,87 @@ const util = {
}
},
// 成功提示
successMsg(message,duration = 3000) {
return Message.success({message,showClose: true,offset: (document.documentElement.clientHeight - 40) / 2,duration})
successMsg (message, duration = 3000) {
return Message.success({ message, showClose: true, offset: (document.documentElement.clientHeight - 40) / 2, duration })
},
// 警告提示
warningMsg(message,duration = 3000) {
return Message.warning({message,showClose: true,offset: (document.documentElement.clientHeight - 40) / 2,duration})
warningMsg (message, duration = 3000) {
return Message.warning({ message, showClose: true, offset: (document.documentElement.clientHeight - 40) / 2, duration })
},
// 错误提示
errorMsg(message,duration = 3000) {
return Message.error({message,showClose: true,offset: (document.documentElement.clientHeight - 40) / 2,duration})
},
errorMsg (message, duration = 3000) {
return Message.error({ message, showClose: true, offset: (document.documentElement.clientHeight - 40) / 2, duration })
},
// 授信年限
creditTerms: [
{
id: 231,
name: '1年'
},
{
id: 232,
name: '3年'
},
{
id: 233,
name: '5年'
},
{
id: 234,
name: '10年'
},
],
// 还款方式
repaymentMethods: [
{
id: 235,
name: '等额本金'
},
{
id: 236,
name: '等额本息'
},
],
// 发放方式
distributionMethods: [
{
id: 238,
name: '一次性到账'
},
{
id: 239,
name: '随借随还'
},
],
// 担保方式
guaranteeMethods: [
{
id: 242,
name: '质押'
},
{
id: 243,
name: '抵押'
},
],
// 贷款期限
loanTerms: [
{
pointId: 244,
id: 120,
name: '120个月'
},
{
pointId: 245,
id: 240,
name: '240个月'
},
{
pointId: 246,
id: 360,
name: '360个月'
},
],
}
export default util

@ -7,7 +7,7 @@ import "@/styles/system.scss"
import mixinApp from '@/mixins/app';
import 'babel-polyfill';
import '@/libs/resize';
import {post,get,del,put} from '@/plugins/requests/index.js';
import { post, get, del, put } from '@/plugins/requests/index.js';
import api from '@/api';
import store from '@/store'
import Setting from '@/setting';
@ -23,23 +23,23 @@ import animated from 'animate.css'
Vue.prototype.$axios = axios
Vue.directive('focus', {/* 聚焦事件 */
inserted: function (el, binding) {
if (el.parentNode.querySelector('input').disabled === false) {
el.parentNode.querySelector('input').focus()
}
inserted: function (el, binding) {
if (el.parentNode.querySelector('input').disabled === false) {
el.parentNode.querySelector('input').focus()
}
}
})
Vue.directive('throttle', {/* 节流 */
inserted: function (el, binding) {
el.addEventListener('click', () => {
if (!el.disabled) {
el.disabled = true
setTimeout(() => {
el.disabled = false
}, binding.value || 3000)
}
})
}
inserted: function (el, binding) {
el.addEventListener('click', () => {
if (!el.disabled) {
el.disabled = true
setTimeout(() => {
el.disabled = false
}, binding.value || 3000)
}
})
}
});
@ -48,12 +48,12 @@ Vue.use(plugins);
Vue.use(animated)
Vue.use(VueLazyload, {
preLoad: 1.3,
// loading: require('@/assets/img/loading4.gif'),
attempt: 2
preLoad: 1.3,
// loading: require('@/assets/img/loading4.gif'),
attempt: 2
})
Object.keys(filters).forEach(item => Vue.filter(item,filters[item]))
Object.keys(filters).forEach(item => Vue.filter(item, filters[item]))
Vue.prototype.api = api;
Vue.prototype.$get = get;
@ -66,9 +66,9 @@ Vue.use(ElementUI);
new Vue({
mixins: [mixinApp],
router,
store,
render: h => h(App)
mixins: [mixinApp],
router,
store,
render: h => h(App)
}).$mount('#app');

@ -1,9 +0,0 @@
diff a/src/main.js b/src/main.js (rejected hunks)
@@ -42,6 +42,7 @@
}
})
}
+});
Vue.use(plugins);

@ -2,85 +2,80 @@
const obj = {
// 'consumerClient': '/counter/list/manage/consumerClient',
// 'currentAccount/openAccount': '/counter/list/manage/currentAccount',
// 'currentAccount/deposit': '/counter/list/manage/currentAccount'
'consumerClient': '客户信息 -> 个人客户信息建立',
'corporateClient': '客户信息 -> 公司客户信息建立',
'currentAccount/openAccount': '活期业务 -> 开户',
'currentAccount/deposit': '活期业务 -> 存款',
'currentAccount/withdrawal': '活期业务 -> 取款',
'currentAccount/transferAccounts': '活期业务 -> 转账',
'currentAccount/settle': '活期业务 -> 结清',
'currentAccount/Cancell': '活期业务 -> 销户',
'timeDeposit/openAccount': '整存整取 -> 开户',
'timeDeposit/deposit': '整存整取 -> 存款',
'timeDeposit/withdrawal': '整存整取 -> 取款',
'timeDeposit/deposit': '整存整取 -> 存款',
'business/openAccount': '公司业务 -> 开户'
// 'consumerClient': '/counter/list/manage/consumerClient',
// 'currentAccount/openAccount': '/counter/list/manage/currentAccount',
// 'currentAccount/deposit': '/counter/list/manage/currentAccount'
'consumerClient': '客户信息 -> 个人客户信息建立',
'corporateClient': '客户信息 -> 公司客户信息建立',
'currentAccount/openAccount': '活期业务 -> 开户',
'currentAccount/deposit': '活期业务 -> 存款',
'currentAccount/withdrawal': '活期业务 -> 取款',
'currentAccount/transferAccounts': '活期业务 -> 转账',
'currentAccount/settle': '活期业务 -> 结清',
'currentAccount/Cancell': '活期业务 -> 销户',
'timeDeposit/openAccount': '整存整取 -> 开户',
'timeDeposit/deposit': '整存整取 -> 存款',
'timeDeposit/withdrawal': '整存整取 -> 取款',
'timeDeposit/deposit': '整存整取 -> 存款',
'business/openAccount': '公司业务 -> 开户'
}
import { mapGetters } from 'vuex'
export default {
data(){
return {
unNeed: false,
isNeedBefore: false,
needBefore: false,
tipsNefore: null
}
},
created() {
// 将上次保存的这个模块的数据写上页面,因为上次退出时保存了这个模块的数据(beforeDestroy)
if(sessionStorage.getItem(this.moduleName)) {
const getBeforeData = JSON.parse(sessionStorage.getItem(this.moduleName))
for(const key in getBeforeData) {
this.form[key] = Number(getBeforeData[key])? Number(getBeforeData[key]): getBeforeData[key]
}
}
data () {
return {
unNeed: false,
isNeedBefore: false,
needBefore: false,
tipsNefore: null
}
},
created () {
// 将上次保存的这个模块的数据写上页面,因为上次退出时保存了这个模块的数据(beforeDestroy)
if (sessionStorage.getItem(this.moduleName)) {
const getBeforeData = JSON.parse(sessionStorage.getItem(this.moduleName))
for (const key in getBeforeData) {
this.form[key] = Number(getBeforeData[key]) ? Number(getBeforeData[key]) : getBeforeData[key]
}
}
// 如果所选业务需要(需求变更,不用管这个了)
if(this.inMyWork(this.moduleName)) {
if(this.needsModule(this.moduleName)) {
this.isNeedBefore = true
this.needBefore = this.needsModule(this.moduleName)
}
}else {
this.isNeedBefore = true
this.unNeed = true
return;
}
},
methods: {
// 暴露出外面的方法,可以提交后删除调存在sessionStorage中的的数据,因为有后端缓存了。
clearSaveData() {
sessionStorage.removeItem(this.moduleName)
}
},
beforeDestroy() {
// clearInterval(this.myTipBefore)
// this.myTipBefore = null
// 如果所选业务需要(需求变更,不用管这个了)
if (this.inMyWork(this.moduleName)) {
if (this.needsModule(this.moduleName)) {
this.isNeedBefore = true
this.needBefore = this.needsModule(this.moduleName)
}
} else {
this.isNeedBefore = true
this.unNeed = true
return;
}
// 这个业务是我们需要的,所以我们存数据
},
methods: {
// 暴露出外面的方法,可以提交后删除调存在sessionStorage中的的数据,因为有后端缓存了。
clearSaveData () {
sessionStorage.removeItem(this.moduleName)
}
},
beforeDestroy () {
// 这个业务是我们需要的,所以我们存数据
let tmpForm = {}
for (const key in this.form) {
if (this.form[key] !== '') {
tmpForm[key] = this.form[key]
}
}
let tmpForm = {}
for(const key in this.form) {
if(this.form[key] !== '') {
tmpForm[key] = this.form[key]
}
}
// 系统录入当前页面关闭或离开的时候,保存当前模块的数据。回来的时候这些数据还在(业务需求)。
sessionStorage.setItem(this.moduleName, JSON.stringify(tmpForm))
},
computed: {
...mapGetters({
needsModule: 'system/needsModule',
inMyWork: 'system/inMyWork'
})
},
// 系统录入当前页面关闭或离开的时候,保存当前模块的数据。回来的时候这些数据还在(业务需求)。
sessionStorage.setItem(this.moduleName, JSON.stringify(tmpForm))
},
computed: {
...mapGetters({
needsModule: 'system/needsModule',
inMyWork: 'system/inMyWork'
})
},
}

File diff suppressed because it is too large Load Diff

@ -1,360 +1,469 @@
// 刷卡的配置文件,map结构,避免写太多if,else,配置更方便。有很多地方刷银行卡和身份证的。
const myConfig = {
'99': {
nbm: 118,
name: 'nomCurrentTransferPassword',
parentId: '5,26,57,65',
isPassword: true,
},
'117': {
nbm: 117,
name: 'nomCurrentCancellPassword',
parentId: '5,26,57,67',
isPassword: true
},
'118,1': {
nbm: 118,
name: 'nomtimeOpenAccount1',
parentId: '5,26,58,118',
isPassword: false,
machine: '身份证扫描仪'
},
'118,2': {
nbm: 118,
name: 'nomtimeOpenAccount2',
parentId: '5,26,58,118',
isPassword: false,
machine: '刷卡器'
},
'129': {
nbm: 129,
name: 'nomtimeOpenAccountPassword',
parentId: '5,26,58,118',
isPassword: true
},
'131': {
nbm: 131,
name: 'nomtimeDeposit1',
parentId: '5,26,58,119',
isPassword: false,
machine: '刷卡器'
},
'140': {
nbm: 140,
name: 'nomtimeDepositlPassword',
parentId: '5,26,58,119',
isPassword: true
},
'154': {
nbm: 154,
name: 'nomtimeDepositWithdrawalPassword',
parentId: '5,26,58,120',
isPassword: true
},
'154,2': {
nbm: 154,
name: 'nomtimeDepositWithdrawalPassword2',
parentId: '5,26,58,120',
isPassword: true
},
'144,1': {
nbm: 144,
name: 'nomtimeDepositWithdrawal1',
parentId: '5,26,58,120',
isPassword: false,
machine: '刷卡器'
},
'144,2': {
nbm: 144,
name: 'nomtimeDepositWithdrawal2',
parentId: '5,26,58,120',
isPassword: false,
machine: '刷卡器'
},
'156': {
nbm: 156,
name: 'nomtimeDepositContinue',
parentId: '5,26,59,156',
isPassword: false
},
'157,2': {
nbm: 157,
name: 'nomtimeDepositContinue2',
parentId: '5,26,59,157',
isPassword: false
},
'166': {
nbm: 166,
name: 'nomUsefulPhrasesOpenCard',
parentId: '5,26,59,155',
isPassword: false,
machine: '刷卡器'
},
'167': {
nbm: 167,
name: 'nomUsefulPhrasesOpenPassword',
parentId: '5,26,59,155',
isPassword: true
},
'171': {
nbm: 171,
name: 'nomUsefulPhrasesContinueCard',
parentId: '5,26,59,156',
isPassword: false,
machine: '刷卡器'
},
'178': {
nbm: 178,
name: 'nomUsefulPhrasesContinuePassword',
parentId: '5,26,59,156',
isPassword: true
},
'181': {
nbm: 181,
name: 'nomUsefulPhrasesClosed2',
parentId: '5,26,59,157',
isPassword: false,
machine: '刷卡器'
},
'192': {
nbm: 192,
name: 'nomUsefulPhrasesClosedPassword',
parentId: '5,26,59,157',
isPassword: true
},
'193,1': {
nbm: 193,
name: 'nomCallDepositOpen2',
parentId: '5,26,60,193',
isPassword: false,
machine: '身份证扫描仪'
},
'203': {
nbm: 203,
name: 'nomCallDepositOpenPassword',
parentId: '5,26,60,193',
isPassword: true
},
'220': {
nbm: 220,
name: 'nomCallDepositClosedPassword',
parentId: '5,26,60,194',
isPassword: true
},
'320': {
nbm: 320,
name: 'servicesPasswordChange',
parentId: '5,28,316',
isPassword: false,
machine: '身份证扫描仪'
},
'323': {
nbm: 323,
name: 'servicesPasswordChange2',
parentId: '5,28,316',
isPassword: false,
machine: '刷卡器'
},
'325': {
nbm: 325,
name: 'servicesPasswordChange3',
parentId: '5,28,316',
isPassword: true,
},
'326': {
nbm: 326,
name: 'servicesPasswordChange4',
parentId: '5,28,316',
isPassword: true,
},
'329': {
nbm: 329,
name: 'servicesPasswordLost',
parentId: '5,28,328',
isPassword: false,
machine: '刷卡器'
},
'333': {
nbm: 333,
name: 'servicesPasswordLost2',
parentId: '5,28,328',
isPassword: false,
machine: '身份证扫描仪'
},
'341': {
nbm: 341,
name: 'servicesPasswordRelieveLost',
parentId: '5,28,336',
machine: '身份证扫描仪',
isPassword: false
},
'337': {
nbm: 337,
name: 'servicesPasswordRelieveLost2',
parentId: '5,28,336',
machine: '刷卡器',
isPassword: false
},
'343': {
nbm: 343,
name: 'servicesPasswordRelievePassword',
parentId: '5,28,336',
isPassword: true
},
'291': {
nbm: 291,
name: 'nomCallDepositOpen2',
parentId: '5,26,38,288',
isPassword: false,
machine: '身份证扫描仪'
},
'297': {
nbm: 297,
name: 'nomCallDepositOpen3',
parentId: '5,26,38,288',
isPassword: false,
machine: '刷卡器'
},
'301': {
nbm: 301,
name: 'nomCallDepositOpenPassword',
parentId: '5,26,38,288',
isPassword: true
},
'303': {
nbm: 303,
name: 'nomCallDepositCard',
parentId: '5,26,38,289',
isPassword: false
},
'304': {
nbm: 304,
name: 'nomCallDepositCard2',
parentId: '5,26,38,289',
isPassword: false
},
'315': {
nbm: 303,
name: 'nomCallDepositClosedPassword',
parentId: '5,26,38,289',
isPassword: true
},
'1399': {
nbm: 1399,
name: 'nomUsefulPhrasesOpenCard2',
parentId: '5,26,59,155',
isPassword: false,
machine: '身份证扫描仪'
},
'180': {
nbm: 180,
name: 'nomUsefulPhrasesClosed',
parentId: '5,26,59,157',
isPassword: false,
machine: '身份证扫描仪'
},
'302': {
nbm: 302,
name: 'nomCallDepositClosedCard',
parentId: '5,26,38,289',
isPassword: false,
machine: '刷卡器'
},
'392': {
nbm: 180,
name: 'nomCallDepositClosedCard2',
parentId: '5,26,38,289',
isPassword: false,
machine: '身份证扫描仪'
},
'394': {
nbm: 180,
name: 'nomCallDepositClosedPassword',
parentId: '5,26,38,289',
isPassword: true,
},
'99': {
nbm: 118,
name: 'nomCurrentTransferPassword',
parentId: '5,26,57,65',
isPassword: true,
},
'117': {
nbm: 117,
name: 'nomCurrentCancellPassword',
parentId: '5,26,57,67',
isPassword: true
},
'118,1': {
nbm: 118,
name: 'nomtimeOpenAccount1',
parentId: '5,26,58,118',
isPassword: false,
machine: '身份证扫描仪'
},
'118,2': {
nbm: 118,
name: 'nomtimeOpenAccount2',
parentId: '5,26,58,118',
isPassword: false,
machine: '刷卡器'
},
'129': {
nbm: 129,
name: 'nomtimeOpenAccountPassword',
parentId: '5,26,58,118',
isPassword: true
},
'131': {
nbm: 131,
name: 'nomtimeDeposit1',
parentId: '5,26,58,119',
isPassword: false,
machine: '刷卡器'
},
'140': {
nbm: 140,
name: 'nomtimeDepositlPassword',
parentId: '5,26,58,119',
isPassword: true
},
'154': {
nbm: 154,
name: 'nomtimeDepositWithdrawalPassword',
parentId: '5,26,58,120',
isPassword: true
},
'154,2': {
nbm: 154,
name: 'nomtimeDepositWithdrawalPassword2',
parentId: '5,26,58,120',
isPassword: true
},
'144,1': {
nbm: 144,
name: 'nomtimeDepositWithdrawal1',
parentId: '5,26,58,120',
isPassword: false,
machine: '刷卡器'
},
'144,2': {
nbm: 144,
name: 'nomtimeDepositWithdrawal2',
parentId: '5,26,58,120',
isPassword: false,
machine: '刷卡器'
},
'156': {
nbm: 156,
name: 'nomtimeDepositContinue',
parentId: '5,26,59,156',
isPassword: false
},
'157,2': {
nbm: 157,
name: 'nomtimeDepositContinue2',
parentId: '5,26,59,157',
isPassword: false
},
'166': {
nbm: 166,
name: 'nomUsefulPhrasesOpenCard',
parentId: '5,26,59,155',
isPassword: false,
machine: '刷卡器'
},
'167': {
nbm: 167,
name: 'nomUsefulPhrasesOpenPassword',
parentId: '5,26,59,155',
isPassword: true
},
'171': {
nbm: 171,
name: 'nomUsefulPhrasesContinueCard',
parentId: '5,26,59,156',
isPassword: false,
machine: '刷卡器'
},
'178': {
nbm: 178,
name: 'nomUsefulPhrasesContinuePassword',
parentId: '5,26,59,156',
isPassword: true
},
'181': {
nbm: 181,
name: 'nomUsefulPhrasesClosed2',
parentId: '5,26,59,157',
isPassword: false,
machine: '刷卡器'
},
'192': {
nbm: 192,
name: 'nomUsefulPhrasesClosedPassword',
parentId: '5,26,59,157',
isPassword: true
},
'193,1': {
nbm: 193,
name: 'nomCallDepositOpen2',
parentId: '5,26,60,193',
isPassword: false,
machine: '身份证扫描仪'
},
'203': {
nbm: 203,
name: 'nomCallDepositOpenPassword',
parentId: '5,26,60,193',
isPassword: true
},
'220': {
nbm: 220,
name: 'nomCallDepositClosedPassword',
parentId: '5,26,60,194',
isPassword: true
},
'320': {
nbm: 320,
name: 'servicesPasswordChange',
parentId: '5,28,316',
isPassword: false,
machine: '身份证扫描仪'
},
'323': {
nbm: 323,
name: 'servicesPasswordChange2',
parentId: '5,28,316',
isPassword: false,
machine: '刷卡器'
},
'325': {
nbm: 325,
name: 'servicesPasswordChange3',
parentId: '5,28,316',
isPassword: true,
},
'326': {
nbm: 326,
name: 'servicesPasswordChange4',
parentId: '5,28,316',
isPassword: true,
},
'329': {
nbm: 329,
name: 'servicesPasswordLost',
parentId: '5,28,328',
isPassword: false,
machine: '刷卡器'
},
'333': {
nbm: 333,
name: 'servicesPasswordLost2',
parentId: '5,28,328',
isPassword: false,
machine: '身份证扫描仪'
},
'341': {
nbm: 341,
name: 'servicesPasswordRelieveLost',
parentId: '5,28,336',
machine: '身份证扫描仪',
isPassword: false
},
'337': {
nbm: 337,
name: 'servicesPasswordRelieveLost2',
parentId: '5,28,336',
machine: '刷卡器',
isPassword: false
},
'343': {
nbm: 343,
name: 'servicesPasswordRelievePassword',
parentId: '5,28,336',
isPassword: true
},
'291': {
nbm: 291,
name: 'nomCallDepositOpen2',
parentId: '5,26,38,288',
isPassword: false,
machine: '身份证扫描仪'
},
'297': {
nbm: 297,
name: 'nomCallDepositOpen3',
parentId: '5,26,38,288',
isPassword: false,
machine: '刷卡器'
},
'301': {
nbm: 301,
name: 'nomCallDepositOpenPassword',
parentId: '5,26,38,288',
isPassword: true
},
'303': {
nbm: 303,
name: 'nomCallDepositCard',
parentId: '5,26,38,289',
isPassword: false
},
'304': {
nbm: 304,
name: 'nomCallDepositCard2',
parentId: '5,26,38,289',
isPassword: false
},
'315': {
nbm: 303,
name: 'nomCallDepositClosedPassword',
parentId: '5,26,38,289',
isPassword: true
},
'1399': {
nbm: 1399,
name: 'nomUsefulPhrasesOpenCard2',
parentId: '5,26,59,155',
isPassword: false,
machine: '身份证扫描仪'
},
'180': {
nbm: 180,
name: 'nomUsefulPhrasesClosed',
parentId: '5,26,59,157',
isPassword: false,
machine: '身份证扫描仪'
},
'302': {
nbm: 302,
name: 'nomCallDepositClosedCard',
parentId: '5,26,38,289',
isPassword: false,
machine: '刷卡器'
},
'392': {
nbm: 180,
name: 'nomCallDepositClosedCard2',
parentId: '5,26,38,289',
isPassword: false,
machine: '身份证扫描仪'
},
'394': {
nbm: 180,
name: 'nomCallDepositClosedPassword',
parentId: '5,26,38,289',
isPassword: true,
},
'713': {
nbm: 713,
name: 'waterRateIdCard',
parentId: '5,706,709',
isPassword: false,
machine: '身份证扫描仪'
},
'715': {
nbm: 715,
name: 'waterRateBankCard',
parentId: '5,706,709',
isPassword: false,
machine: '刷卡器'
},
'720': {
nbm: 720,
name: 'waterRatePassword',
parentId: '5,706,709',
isPassword: true
},
'722': {
nbm: 722,
name: 'electricRateIdCard',
parentId: '5,706,710',
isPassword: false,
machine: '身份证扫描仪'
},
'724': {
nbm: 724,
name: 'electricRateBankCard',
parentId: '5,706,710',
isPassword: false,
machine: '刷卡器'
},
'729': {
nbm: 729,
name: 'electricRatePassword',
parentId: '5,706,710',
isPassword: true
},
'732': {
nbm: 732,
name: 'telRateIdCard',
parentId: '5,706,711',
isPassword: false,
machine: '身份证扫描仪'
},
'733': {
nbm: 733,
name: 'telRateBankCard',
parentId: '5,706,711',
isPassword: false,
machine: '刷卡器'
},
'740': {
nbm: 740,
name: 'telRatePassword',
parentId: '5,706,711',
isPassword: true
},
'743': {
nbm: 743,
name: 'onlineBankIdCard',
parentId: '5,707,741',
isPassword: false,
machine: '身份证扫描仪'
},
'749': {
nbm: 749,
name: 'onlineBankBankCard',
parentId: '5,707,741',
isPassword: false,
machine: '刷卡器'
},
'752': {
nbm: 752,
name: 'onlineBankPassword',
parentId: '5,707,741',
isPassword: true
},
'755': {
nbm: 755,
name: 'foreignExchangePuchasingBankCard',
parentId: '5,708,753',
isPassword: false,
machine: '刷卡器'
},
'760': {
nbm: 760,
name: 'foreignExchangePuchasingPassword',
parentId: '5,708,753',
isPassword: true
},
'761': {
nbm: 761,
name: 'foreignExchangeSettleBankCard',
parentId: '5,708,754',
isPassword: false,
machine: '刷卡器'
},
'765': {
nbm: 765,
name: 'foreignExchangSettlePassword',
parentId: '5,708,754',
isPassword: true
},
}
export {
myConfig
myConfig
}

@ -1,300 +1,331 @@
<template>
<div class="wrap">
<img class="sth bg" src="@/assets/img/index-bg.png" alt="">
<div class="case" @click="setShowBusiness(true)">业务选择</div>
<!-- 业务选择 --弹框 -->
<div class="sth integrated-counter cp">
<img width="100%" v-lazy="lazy1" alt="" @click="toPart('/counter')">
<!-- src="@/assets/img/integrated-counter.png" -->
<div class="name" @click="toPart('/counter')">综合柜台</div>
</div>
<div class="sth international cp">
<!-- <img width="100%" v-lazy="lazy1" alt="" @click="toPart('/counter')"> -->
<img width="100%" v-lazy="lazy2" alt="" @click="showComing" />
<!-- src="@/assets/img/integrated-counter.png" -->
<!-- <div class="name" @click="showComing">国际结算部</div> -->
</div>
<!-- <img class="sth international cp" v-lazy="lazy2" alt="" @click="showComing"> -->
<div class="sth manager cp" @click="toPart('/lobbyManager')">
<img width="100%" v-lazy="lazy3" alt="">
<div class="name">大堂经理</div>
</div>
<img class="sth credit-dep cp" v-lazy="lazy4" alt="" @click="showComing">
<img class="sth company-finance cp" v-lazy="lazy5" alt="" @click="showComing">
<img class="sth personal-finance cp" v-lazy="lazy6" alt="" @click="showComing">
<div class="coming" :class="{active: comingVisible}">
<div style="width: 20%;margin: auto">
<img style="width: 100%" v-lazy="lazy7" alt="">
</div>
<p class="text">敬请期待</p>
</div>
<div class="wrap">
<img class="sth bg" src="@/assets/img/index-bg.png" alt="">
<div class="case" @click="setShowBusiness(true)">业务选择</div>
<!-- 业务选择 --弹框 -->
<div class="sth integrated-counter cp">
<img width="100%" v-lazy="lazy1" alt="" @click="toPart('/counter')">
<!-- src="@/assets/img/integrated-counter.png" -->
<div class="name" @click="toPart('/counter')">综合柜台</div>
</div>
<div class="sth international cp" @click="toPart('/counter', true)">
<!-- <img width="100%" v-lazy="lazy1" alt="" @click="toPart('/counter')"> -->
<img width="100%" v-lazy="lazy2" alt="" />
<!-- src="@/assets/img/integrated-counter.png" -->
<div class="name" @click="toPart('/counter', true)">信贷部</div>
</div>
<!-- <img class="sth international cp" v-lazy="lazy2" alt="" @click="showComing"> -->
<div class="sth manager cp" @click="toPart('/lobbyManager')">
<img width="100%" v-lazy="lazy3" alt="">
<div class="name">大堂经理</div>
</div>
<img class="sth credit-dep cp" v-lazy="lazy4" alt="" @click="showComing">
<img class="sth company-finance cp" v-lazy="lazy5" alt="" @click="showComing">
<img class="sth personal-finance cp" v-lazy="lazy6" alt="" @click="showComing">
<div class="coming" :class="{ active: comingVisible }">
<div style="width: 20%;margin: auto">
<img style="width: 100%" v-lazy="lazy7" alt="">
</div>
<p class="text">敬请期待</p>
</div>
</div>
</template>
<script>
import { mapMutations, mapState } from 'vuex';
import saveSystemModule from '@/mixins/saveSystemModule'
import Bus from '@/libs/bus'
export default {
name: 'index',
mixins: [ saveSystemModule ],
data() {
return {
caseVisible: true,
comingVisible: false,
timer: null,
lazy1: require('@/assets/img/integrated-counter.png'),
lazy2: require('@/assets/img/international.png'),
lazy3: require('@/assets/img/manager-index.png'),
lazy4: require('@/assets/img/credit-dep.png'),
lazy5: require('@/assets/img/company-finance.png'),
lazy6: require('@/assets/img/personal-finance.png'), // @/assets/svg/coming.svg
lazy7: require('@/assets/svg/coming.svg')
}
},
created() {
if(!sessionStorage.getItem('firstLoad2')) {
const loading = this.$loading({
lock: true,
// text: 'Loading',
text: '努力加载中,请稍等...',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
});
setTimeout(() => {
loading.close();
sessionStorage.setItem('firstLoad2', true)
}, 1000);
}
name: 'index',
mixins: [saveSystemModule],
data () {
return {
caseVisible: true,
comingVisible: false,
timer: null,
lazy1: require('@/assets/img/integrated-counter.png'),
lazy2: require('@/assets/img/international.png'),
lazy3: require('@/assets/img/manager-index.png'),
lazy4: require('@/assets/img/credit-dep.png'),
lazy5: require('@/assets/img/company-finance.png'),
lazy6: require('@/assets/img/personal-finance.png'), // @/assets/svg/coming.svg
lazy7: require('@/assets/svg/coming.svg')
}
},
created () {
if (!sessionStorage.getItem('firstLoad2')) {
sessionStorage.clear()
// sessionStorage.removeItem('submited')
// sessionStorage.removeItem('businessKey')
this.setBusinessKey('')
const loading = this.$loading({
lock: true,
// text: 'Loading',
text: '努力加载中,请稍等...',
spinner: 'el-icon-loading',
background: 'rgba(0, 0, 0, 0.7)'
});
setTimeout(() => {
loading.close();
sessionStorage.setItem('firstLoad2', true)
}, 1000);
}
if(!this.businessKey) {
this.setShowBusiness(true)
}
},
mounted() {
let token = this.getQueryVariable('token')
let cid = this.getQueryVariable('cid')
let systemId = this.getQueryVariable('systemId')
let stopTime = this.getQueryVariable('stopTime')
let timestamp =+stopTime;
if (token != null){
sessionStorage.setItem('token', token)
sessionStorage.setItem('cid', cid)
sessionStorage.setItem('systemId', systemId)
sessionStorage.setItem('timestamp', timestamp)
if (!this.businessKey && this.$route.path !== '/index/report' && !sessionStorage.getItem('submited')) {
this.setShowBusiness(true)
}
//
if (sessionStorage.getItem('submited')) {
Bus.$emit('setShowIt', true)
Bus.$emit('setSubmited', true)
}
},
mounted () {
let token = this.getQueryVariable('token')
let cid = this.getQueryVariable('cid')
let systemId = this.getQueryVariable('systemId')
let stopTime = this.getQueryVariable('stopTime')
let timestamp = +stopTime;
if (token != null) {
sessionStorage.setItem('token', token)
sessionStorage.setItem('cid', cid)
sessionStorage.setItem('systemId', systemId)
sessionStorage.setItem('timestamp', timestamp)
}
},
computed: {
...mapState({
showBusiness: state => state.system.showBusiness,
businessKey: state => state.system.businessKey
})
},
methods: {
...mapMutations({
setBusinessKey: 'system/setBusinessKey',
setShowBusiness: 'system/setShowBusiness',
setCredit: 'system/setCredit',
}),
getQueryVariable (name) {
var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)')
if (window.location.href.split('?')[1]) {
var r = window.location.href.split('?')[1].match(reg)
if (r != null) {
return (r[2])
} else {
return null
}
}
},
computed: {
...mapState({
showBusiness: state => state.system.showBusiness,
businessKey: state => state.system.businessKey
})
toPart (path, isCredit = false) {
this.setCredit(isCredit)
this.$router.push(path)
},
methods: {
...mapMutations({
setShowBusiness: 'system/setShowBusiness'
}),
getQueryVariable(name) {
var reg = new RegExp('(^|&)'+name+'=([^&]*)(&|$)')
if( window.location.href.split('?')[1]){
var r = window.location.href.split('?')[1].match(reg)
if (r != null){
return (r[2])
}else{
return null
}
}
},
toPart(path){
this.$router.push(path)
},
showComing(){
this.comingVisible = true
clearTimeout(this.timer)
this.timer = setTimeout(() => {
this.comingVisible = false
},1500)
}
showComing () {
this.comingVisible = true
clearTimeout(this.timer)
this.timer = setTimeout(() => {
this.comingVisible = false
}, 1500)
}
}
};
</script>
<style lang="scss" scoped>
//
@mixin nameTip {
width: 200px;
height: 70px;
line-height: 60px;
text-align: center;
font-size: 20px;
background: url(../../../assets/img/index-btn-bg.png);
// background-position: center center;
background-size: 100%;
color: #fff;
border-radius: 16px;
// box-shadow: 0 6px 8px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04);
z-index: 100;
//
@mixin nameTip {
width: 200px;
height: 70px;
line-height: 60px;
text-align: center;
font-size: 20px;
background: url(../../../assets/img/index-btn-bg.png);
// background-position: center center;
background-size: 100%;
color: #fff;
border-radius: 16px;
// box-shadow: 0 6px 8px rgba(0, 0, 0, .12), 0 0 6px rgba(0, 0, 0, .04);
z-index: 100;
}
.wrap {
position: relative;
min-height: calc(100vh - 68px);
.sth {
position: absolute;
&.cp {
cursor: pointer;
}
}
.bg {
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.wrap{
position: relative;
min-height: calc(100vh - 68px);
.sth{
position: absolute;
&.cp{
cursor: pointer;
}
}
.bg{
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.integrated-counter{
top: -14%;
left: 24%;
width: 43%;
transition: all .5s;
&:hover{
margin-top: -10px;
}
.name{
position: absolute;
top: 23%;
left: 20%;
@include nameTip;
}
}
.international{
top: -9%;
left: 72%;
width: 28%;
transition: all .5s;
// &:hover{
// margin-top: -10px;
// }
// img{
// transition: all .5s;
// &:hover{
// margin-top: -10px;
// }
// }
.name{
position: absolute;
top: 23%;
right: 0;
@include nameTip;
}
}
.manager{
bottom: 0;
left: 57%;
width: 39%;
transition: all .5s;
&:hover{
bottom: 10px;
}
.name {
position: absolute;
top: 65%;
left: 37%;
@include nameTip;
}
}
.credit-dep{
top: 31%;
left: 0;
width: 20%;
transition: all .5s;
// &:hover{
// top: 29%;
// }
}
.company-finance{
top: 52%;
left: 9%;
width: 28%;
transition: all .5s;
// &:hover{
// top: 50%;
// }
}
.personal-finance{
bottom: 0;
left: 25%;
width: 30%;
transition: all .5s;
// &:hover{
// bottom: 10px;
// }
}
.case{
position: absolute;
top: 92px;
left: 150px;
width: 150px;
height: 50px;
line-height: 50px;
text-align: center;
color: #fff;
font-size: 24px;
background: url(../../../assets/img/case.png) 0 0 /cover no-repeat;
background-size: 150px 50px;
cursor: pointer;
// &:hover{
// top: 76px;
// }
}
@media(max-width: 1440px){
.credit-dep{
top: 32%;
}
.company-finance{
top: 53%;
}
.personal-finance{
top: 72%;
}
.integrated-counter{
width: 44%;
}
}
@media(max-width: 1300px){
& {
min-height: calc(100vh - 76px);
}
}
.integrated-counter {
top: -14%;
left: 24%;
width: 43%;
transition: all 0.5s;
&:hover {
margin-top: -10px;
}
.coming{
position: fixed;
top: -200%;
left: 50%;
width: 376px;
padding: 40px 0;
text-align: center;
transform: translate(-50%,-50%);
border-radius: 16px;
background-color: rgba(0,0,0,0.80);
transition: all .3s;
&.active{
top: 50%;
}
.text{
margin-top: 24px;
font-size: 22px;
font-weight: 400;
color: #fff;
}
.name {
position: absolute;
top: 23%;
left: 20%;
@include nameTip;
}
}
.international {
top: -9%;
left: 72%;
width: 28%;
transition: all 0.5s;
// &:hover{
// margin-top: -10px;
// }
// img{
// transition: all .5s;
// &:hover{
// margin-top: -10px;
// }
// }
.name {
position: absolute;
top: 18%;
right: 45%;
@include nameTip;
}
}
.manager {
bottom: 0;
left: 57%;
width: 39%;
transition: all 0.5s;
&:hover {
bottom: 10px;
}
.name {
position: absolute;
top: 65%;
left: 37%;
@include nameTip;
}
}
.credit-dep {
top: 31%;
left: 0;
width: 20%;
transition: all 0.5s;
// &:hover{
// top: 29%;
// }
}
.company-finance {
top: 52%;
left: 9%;
width: 28%;
transition: all 0.5s;
// &:hover{
// top: 50%;
// }
}
.personal-finance {
bottom: 0;
left: 25%;
width: 30%;
transition: all 0.5s;
// &:hover{
// bottom: 10px;
// }
}
.case {
position: absolute;
top: 92px;
left: 150px;
width: 150px;
height: 50px;
line-height: 50px;
text-align: center;
color: #fff;
font-size: 24px;
background: url(../../../assets/img/case.png) 0 0 / cover no-repeat;
background-size: 150px 50px;
cursor: pointer;
// &:hover{
// top: 76px;
// }
}
@media (max-width: 1440px) {
.credit-dep {
top: 32%;
}
.company-finance {
top: 53%;
}
.personal-finance {
top: 72%;
}
.integrated-counter {
width: 44%;
}
}
@media (max-width: 1300px) {
& {
min-height: calc(100vh - 76px);
}
}
}
.coming {
position: fixed;
top: -200%;
left: 50%;
width: 376px;
padding: 40px 0;
text-align: center;
transform: translate(-50%, -50%);
border-radius: 16px;
background-color: rgba(0, 0, 0, 0.8);
transition: all 0.3s;
&.active {
top: 50%;
}
.text {
margin-top: 24px;
font-size: 22px;
font-weight: 400;
color: #fff;
}
}
</style>

@ -39,7 +39,7 @@
</li>
<li :class="{checked: takeCheck == 403}" @click="checkTake(403)">
<img src="@/assets/svg/financial.svg" alt="">
<p>理财业务</p>
<p>其他业务</p>
</li> -->
</ul>
<div class="dia-footer">
@ -98,7 +98,7 @@
:src="elImg[3].img"
:fit="elImgFit"
></el-image>
<p style="font-size: 14px;line-height: 15px">{{ elImg[3].name }}</p>
<p :title="elImg[3].name">{{ elImg[3].name }}</p>
</li>
<li :class="{checked: checkList.includes(elImg[4].key)}" @click="checkData(elImg[4].key)">
<img :src="elImg[4].img" :alt="elImg[4].name" :title="elImg[4].name">
@ -140,9 +140,18 @@
<img style="margin-top: 10px" :src="elImg[10].img" :alt="elImg[10].name" :title="elImg[10].name">
<p>{{ elImg[10].name }}</p>
</li>
<li :class="{checked: checkList.includes(elImg[11].key)}" @click="checkData(elImg[11].key)">
<img style="margin-top: 10px" :src="elImg[11].img" :alt="elImg[11].name" :title="elImg[11].name">
<p>{{ elImg[11].name }}</p>
</li>
<li :class="{checked: checkList.includes(elImg[12].key)}" @click="checkData(elImg[12].key)">
<img style="margin-top: 10px" :src="elImg[12].img" :alt="elImg[12].name" :title="elImg[12].name">
<p>{{ elImg[12].name }}</p>
</li>
<!-- 这个是占位的 -->
<li class="sitting2"></li>
<li class="sitting2"></li>
<li class="sitting2"></li>
</ul>
@ -158,7 +167,7 @@
</div>
<p class="tips">- 请单击选中复印材料双击可放大预览 -</p>
<ul class="flex justify-center">
<div v-for="item in elImg2" class="list flex-col spacialStyle" @click="checkData(item.key, item.copyState)" :key="item.key">
<div v-for="item in elImg2" class="list flex-col spacialStyle" style="justify-content: flex-start" @click="checkData(item.key, item.copyState)" :key="item.key">
<li :class="{checked: checkList.includes(item.key)}">
<!-- <img :src="item.img" :title="item.name" :alt="item.name"> -->
<el-image
@ -168,7 +177,7 @@
></el-image>
<p>{{ item.name }}</p>
</li>
<p>{{ item.copyState?'已复印': '待复印' }}</p>
<p>{{ item.copyState?'已复印': ' ' }}</p>
</div>
</ul>
<div class="dia-footer">
@ -183,17 +192,17 @@
<img class="close" src="@/assets/svg/close.svg" alt="" @click="closeRecaption">
</div>
<p class="tips">- 请单击选中复印材料双击可放大预览 -</p>
<ul class="flex justify-center" >
<div v-for="item in elImg2" class="list flex-col spacialStyle" @click="checkData(item.key, item.returnState)" :key="item.key">
<ul class="flex justify-center flex-wrap" >
<div v-for="item in elImg3" class="list flex-col spacialStyle" style="justify-content: flex-start" @click="checkData(item.key, item.returnState)" :key="item.key">
<li :class="{checked: checkList.includes(item.key)}">
<!-- <img :src="item.img" :title="item.name" :alt="item.name"> -->
<el-image
:src="item.img"
:fit="elImgFit"
></el-image>
<p>{{ item.name }}</p>
<p :title="item.name">{{ item.name }}</p>
</li>
<p>{{ item.returnState? '已取回': '待取回' }}</p>
<p>{{ item.returnState ? '已取回': (item.copy ? '复印件' : '') }}</p>
</div>
</ul>
<div class="dia-footer">
@ -230,7 +239,7 @@
<el-dialog
custom-class="data-dia imgIndex"
:visible.sync="showImg"
width="634px"
width="800px"
>
<img :src="imgSrc" class="imgPop imgIndex min-w-full " alt="">
</el-dialog>
@ -263,11 +272,11 @@ export default {
{ key: 400, name: '现金业务', img: require('@/assets/svg/cash.svg') },
{ key: 401, name: '个人非现金业务', img: require('@/assets/svg/non-cash.svg') },
{ key: 402, name: '公司业务', img: require('@/assets/svg/company.svg') },
{ key: 403, name: '理财业务', img: require('@/assets/svg/financial.svg') }
{ key: 403, name: '其他业务', img: require('@/assets/svg/financial.svg') }
],
elImg: [
{ img: require('@/assets/img/goods/accountApplyBook.jpg'), name: '开户申请书', key: 405 },
{ img: require('@/assets/img/idCard-copy-sm.png'), name: '密码挂失申请书', key: 406 },
{ img: require('@/assets/img/goods/businessReportMissUser.png'), name: '密码挂失申请书', key: 406 },
{ img: require('@/assets/img/goods/businessSpecialApplication.png'), name: '特殊业务申请书', key: 407 },
{ img: require('@/assets/img/goods/ApplicationBankSettlement.png'), name: '开立单位银行结算账户申请书', key: 408 },
{ img: require('@/assets/img/goods/CashCertificate.png'), name: '现金存款凭证', key: 409 },
@ -277,13 +286,13 @@ export default {
{ img: require('@/assets/img/goods/CheckCoupons.png'), name: '支票领购单', key: 413 },
{ img: require('@/assets/img/goods/CashCertificate.png'), name: '现金缴款单', key: 414 },
{ img: require('@/assets/img/goods/银行承兑协议.png'), name: '境外汇款申请书', key: 415 },
{ img: require('@/assets/img/goods/qkpt.png'), name: '取款凭条', key: 698 },
{ img: require('@/assets/img/goods/xhsqs.png'), name: '销户申请书', key: 588 },
],
elImg2: [
{ img: require('@/assets/img/goods/accountApplyBook.jpg'), name: '开户申请书', key: 405, copyState: false, returnState: false },
{ img: require('@/assets/img/idCard-sm.png'), name: '身份证', key: 13, copyState: false, returnState: false },
],
elImg3: [],
listLi1 : [
{checked: 1, click: 1, src: require('@/assets/img/goods/accountApplyBook.jpg'), title: '开户申请书'},
{checked: 2, click: 2, src: require('@/assets/img/idCard-copy-sm.png'), title: '密码挂失申请书'},
@ -299,7 +308,8 @@ export default {
{checked: 3, click: 7, src: require('@/assets/img/open-account-apply-sm.png'), title: '现金缴款单'},
{checked: 4, click: 8, src: require('@/assets/img/goods/cash-sm.png'), title: '境外汇款申请书'},
],
lazy1: require('@/assets/img/manager.png')
lazy1: require('@/assets/img/manager.png'),
submited: 0
}
},
created() {
@ -336,6 +346,7 @@ export default {
},
//
confirmTake(){
if (this.submited) return this.$message.error('已提交!')
if(this.takeCheck < 0) {
this.$message({
message: '请选择一个您要办理的业务',
@ -355,6 +366,7 @@ export default {
startTime:startTime,
}
addOperation(params).then((data)=>{
this.submited = 1
this.takeVisible = false
this.takeResultVisible = true
setTimeout(() => {
@ -454,6 +466,21 @@ export default {
this.elImg2.map(item => {
if(this.checkList.findIndex(item2 => item2 === item.key ) !== -1) {
item.copyState = true
this.elImg3.find(e => e.key == item.key) || this.elImg3.push(item) //
//
let copyItem
// if (copyItem.key == 405) copyItem.key = 589
if (item.key == 13) {
copyItem = {name:'身份证复印件',img:require('@/assets/img/idCard-copy-sm.png'),key:23,copyState: true,returnState: false}
} else if (item.key == 442) {
copyItem = {name:'法人身份证复印件',img:require('@/assets/img/idCard-copy-sm.png'),key:431,copyState: true,returnState: false}
} else if (item.key == 434) {
copyItem = {name:'统一社会信用代码证复印件',img:require('@/assets/img/goods/营业执照复印件.png'),key:435,copyState: true,returnState: false}
} else if (item.key == 436) {
copyItem = {name:'开户许可证复印件',img:require('@/assets/img/goods/开户许可证复印件.png'),key:437,copyState: true,returnState: false}
}
if (copyItem) this.elImg3.push(copyItem)
}
})
this.checkList = []
@ -488,13 +515,13 @@ export default {
for(let i=0; i<checkList.length; i++) {
formList.push({"answerId":checkList[i],"emptyOne": "", "emptyTwo": '', "operationIds": '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',286,553,' + checkList[i], "type": ""})
}
this.elImg2.map(item=> {
this.elImg3.map(item=> {
if(item.returnState) {
formList.push({"answerId":item.key,"emptyOne": "", "emptyTwo": '', "operationIds": '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',286,553,' + item.key, "type": ""})
}
})
const params= {
parentId: '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',286, 553',
parentId: '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',286,553',
lcJudgmentRuleReq:formList,
projectId:+projectId,
startTime:startTime,
@ -502,7 +529,7 @@ export default {
addOperation(params).then((data)=>{
// ...
this.recaptionVisible = false
this.elImg2.map(item => {
this.elImg3.map(item => {
if(this.checkList.findIndex(item2 => item2 === item.key ) !== -1) {
item.returnState = true
}
@ -549,7 +576,6 @@ export default {
if(state) {
return
}
this.checkList.includes(id) ? this.checkList.splice(this.checkList.indexOf(id),1) : this.checkList.push(id)
this.clickNum++
@ -583,6 +609,34 @@ export default {
},
showCopy(){
console.log("🚀 ~ file: index.vue:607 ~ showCopy ~ this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id:", this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id)
const { id } = this.$store.state.system.businessSelect[this.$store.state.system.businessKey]
if (id === 500) {
// :
this.elImg2 = [
{ img: require('@/assets/img/goods/idCard.png'), name: '法人身份证', key: 442, copyState: false, returnState: false },
{ img: require('@/assets/img/goods/ApplicationBankSettlement.png'), name: '开立银行结算账户申请书', key: 432, copyState: false, returnState: false },
{ img: require('@/assets/img/goods/营业执照.png'), name: '统一社会信用代码证', key: 434, copyState: false, returnState: false },
{ img: require('@/assets/img/goods/开户许可证.png'), name: '开户许可证', key: 436, copyState: false, returnState: false },
]
} else if (id === 504) {
//
this.elImg2 = [
{ img: require('@/assets/img/goods/businessSpecialApplication.png'), name: '特殊业务申请书', key: 407, copyState: false, returnState: false },
{ img: require('@/assets/img/idCard-sm.png'), name: '身份证', key: 13, copyState: false, returnState: false },
]
} else if (id === 502 || id === 501 || id === 503) {
//
this.elImg2 = [
{ img: require('@/assets/img/goods/idCard.png'), name: '法人身份证', key: 442, copyState: false, returnState: false },
]
} else if (id === 489) {
//
this.elImg2 = [
{ img: require('@/assets/img/goods/accountApplyBook.jpg'), name: '开户申请书', key: 405, copyState: false, returnState: false },
{ img: require('@/assets/img/idCard-sm.png'), name: '身份证', key: 13, copyState: false, returnState: false },
]
}
this.workingName = '复印'
this.copyVisible = true
},
@ -755,10 +809,9 @@ export default {
box-sizing: border-box;
overflow: hidden;
padding: 10px;
// &>img {
// width: 100%;
// //max-width: 90%;
// }
&>img {
max-height: 80px;
}
&>.el-image {
width: 100%;
max-height: 80px;
@ -771,6 +824,9 @@ export default {
p{
font-size: 14px;
line-height: 40px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
}
}

@ -1,327 +1,355 @@
<template>
<!-- :style="full?'height:100vh;':'height: 80vh;'" -->
<div class="box" :class="full? 'h-4/5': ''">
<div class="nav">
<!-- <div class="top" :style="full?'border-radius:0':'border-top-left-radius: 20px;'"> select-none -->
<div class="top" :style="full?'border-radius:0':'border-top-left-radius: 20px;'">
<p style="margin:auto">商业银行系统</p>
</div>
<!-- <div class="body2">
<!-- :style="fullScreen?'height:100vh;':'height: 80vh;'" -->
<div class="box" :class="fullScreen || isCredit ? 'h-4/5' : ''">
<div class="nav">
<!-- <div class="top" :style="fullScreen?'border-radius:0':'border-top-left-radius: 20px;'"> select-none -->
<div class="top" :style="fullScreen ? 'border-radius:0' : 'border-top-left-radius: 20px;'">
<p style="margin:auto">商业银行系统</p>
</div>
<!-- <div class="body2">
<navbar class="body"></navbar>
</div> -->
<div class="body">
<navbar />
</div>
<!-- <navbar class="body"></navbar> -->
</div>
<div class="manage-layout">
<div class="top" :style="full?'border-radius:0':'border-top-right-radius: 20px;'">
<img v-show="!full" src="../../../assets/svg/fullscreen.svg" alt="" @click="handleFullscreen">
<img v-show="full" src="../../../assets/svg/shrink.svg" alt="" @click="shrink">
<i @click="close" class="el-icon-close"></i>
</div>
<div class="manage-content">
<transition name="fade">
<router-view class="manage-view"></router-view>
</transition>
</div>
</div>
<div class="body">
<navbar />
</div>
<!-- <navbar class="body"></navbar> -->
</div>
<div class="manage-layout">
<div class="top" :style="fullScreen ? 'border-radius:0' : 'border-top-right-radius: 20px;'">
<img v-show="!fullScreen && !isCredit" src="../../../assets/svg/fullscreen.svg" alt=""
@click="handleFullscreen">
<img v-show="fullScreen" src="../../../assets/svg/shrink.svg" alt="" @click="shrink">
<i @click="close" class="el-icon-close"></i>
</div>
<div class="manage-content">
<transition name="fade">
<router-view class="manage-view"></router-view>
</transition>
</div>
</div>
</div>
</template>
<script>
import { mapState } from 'vuex'
import navbar from '../navbar'
export default {
name: 'index',
data() {
return {
fullscreen:this.$store.state.system.fullScreen,// --store
}
name: 'index',
data () {
return {
curRoute: ''
}
},
components: {
navbar
},
computed: {
...mapState('system', ['fullScreen', 'isCredit'])
},
watch: {
'$route': {
handler () {
this.curRoute = this.$route.path
},
immediate: true
}
},
beforeDestroy () {
sessionStorage.setItem(this.curRoute.includes('Loans') ? 'creditPath' : 'computerPath', this.curRoute)
sessionStorage.getItem('submited') || this.$router.push('/counter/list/')
},
methods: {
close () {
this.$router.push('/counter/list/')
},
components: {
navbar
handleFullscreen () {
this.$store.commit('system/changeFullscreen', true)
},
// beforeMount() {
// const path = sessionStorage.getItem('computerPath')
// console.log('router-view')
// console.log(path)
// this.$router.push(path)
// },
methods: {
close(){
// 退 退
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},
handleFullscreen(){
this.fullscreen = true
this.$store.commit('system/changeFullscreen',true)
},
shrink(){
this.fullscreen = false
this.$store.commit('system/changeFullscreen',false)
},
shrink () {
this.$store.commit('system/changeFullscreen', false)
},
computed: {
full:function(){
return this.$store.state.system.fullScreen
}
}
}
};
</script>
<style lang="scss" scoped>
$font_size_All: 16px; //
$submenu_padding_left: 25px; // padding-left
// /deep/.el-form-item {
// label {
// width: 100px!important;
// text-align-last: justify;
// }
// }
@media screen and (min-width: 1920px) {
/deep/.body {
min-height: 50vh;
}
}
$font_size_All: 16px; //
$submenu_padding_left: 25px; // padding-left
@media screen and (min-width: 1200px) and (max-width: 1700px) {
/deep/.body {
min-height: 50vh;
}
}
// /deep/.el-form-item {
// label {
// width: 100px!important;
// text-align-last: justify;
// }
// .wrap2{
// width: 100%;
// display: flex;
// flex-direction: column;
// overflow: hidden;
// .title{
// height: 60px;
// display: flex;
// align-items: center;
// font-size: 20px;
// padding-left: 50px;
// }
// .body{
// margin-top: 50px;
// }
// }
.box{
display: flex;
min-width: 1300px;
.nav{
width: 270px;
min-height: 80vh;
border-top-left-radius: 20px;
border-bottom-left-radius: 20px;
display: flex;
flex-direction: column;
.top{
height: 50px;
font-size: 20px;
display: flex;
align-items: center;
text-align: center;
border-top-left-radius: 15px;
color: #B3B3B3;
background: #222428;
p{
font-size: 21px;
}
}
.body{
flex: 1;
.el-menu {
height: 100%;
}
}
}
.manage-layout{
width: calc(100% - 270px);
// background: #fff;
background:transparent;
display: flex;
flex-direction: column;
.top{
height: 50px;
font-size: 30px;
display: flex;
justify-content: flex-end;
align-items: center;
text-align: center;
color: #000;
background: #e6e6e6;
border-top-right-radius: 20px;
i{
margin-right: 10px;
cursor: pointer;
}
}
.manage-content{
flex: 1;
position: relative;
border-bottom-right-radius: 20px;
overflow: hidden;
.manage-view{
position: absolute;
top: 0;
bottom: 0;
background: #fff;
}
}
}
}
.fade-enter-active, .fade-leave-active {
transition: opacity .5s;
}
.fade-enter, .fade-leave-to /* .fade-leave-active below version 2.1.8 */ {
opacity: 0.5;
}
// el-input
/deep/ .el-input input{
&:focus {
border-color: skyblue;
}
}
// }
//
/deep/ .is-error input {
border-color: #f40!important;;
}
@media screen and (min-width: 1920px) {
/deep/.body {
min-height: 50vh;
}
}
/deep/.el-input {
// width: 15vw!important;
width: 100%;
input {
font-size: $font_size_All!important;
}
}
@media screen and (min-width: 1200px) and (max-width: 1700px) {
/deep/.body {
min-height: 50vh;
}
}
/deep/ .text-xl p {
font-size: $font_size_All!important;
}
/deep/ .el-form-item .el-form-item__label {
font-size: $font_size_All!important;
// .wrap2{
// width: 100%;
// display: flex;
// flex-direction: column;
// overflow: hidden;
// .title{
// height: 60px;
// display: flex;
// align-items: center;
// font-size: 20px;
// padding-left: 50px;
// }
// .body{
// margin-top: 50px;
// }
// }
.box {
display: flex;
min-width: 1300px;
.nav {
width: 270px;
min-height: 80vh;
border-top-left-radius: 20px;
border-bottom-left-radius: 20px;
display: flex;
flex-direction: column;
.top {
height: 50px;
font-size: 20px;
display: flex;
align-items: center;
text-align: center;
border-top-left-radius: 15px;
color: #b3b3b3;
background: #222428;
p {
font-size: 21px;
}
}
/deep/ .el-submenu{
padding-left: $submenu_padding_left!important;
.body {
flex: 1;
.el-menu {
height: 100%;
}
}
/deep/ .el-submenu .el-menu-item {
padding-left: $submenu_padding_left + 25px!important;
font-size: $font_size_All!important;
}
.manage-layout {
width: calc(100% - 270px);
// background: #fff;
background: transparent;
display: flex;
flex-direction: column;
.top {
height: 50px;
font-size: 30px;
display: flex;
justify-content: flex-end;
align-items: center;
text-align: center;
color: #000;
background: #e6e6e6;
border-top-right-radius: 20px;
i {
margin-right: 10px;
cursor: pointer;
}
}
// /deep/ .el-menu-item {
// padding-left: $submenu_padding_left + 25px!important;
// font-size: $font_size_All!important;
// }
/deep/ .el-menu span{
font-size: $font_size_All!important;
.manage-content {
flex: 1;
position: relative;
border-bottom-right-radius: 20px;
overflow: hidden;
.manage-view {
position: absolute;
top: 0;
bottom: 0;
background: #fff;
}
}
}
}
.fade-enter-active,
.fade-leave-active {
transition: opacity 0.5s;
}
.fade-enter,
.fade-leave-to
/* .fade-leave-active below version 2.1.8 */
{
opacity: 0.5;
}
// el-input
/deep/ .el-input input {
&:focus {
border-color: skyblue;
}
}
//
/deep/ .is-error input {
border-color: #f40 !important;
}
/deep/.el-input {
// width: 15vw!important;
width: 100%;
input {
font-size: $font_size_All !important;
}
}
/deep/ .text-xl p {
font-size: $font_size_All !important;
}
/deep/ .el-form-item .el-form-item__label {
font-size: $font_size_All !important;
}
/deep/ .el-submenu {
padding-left: $submenu_padding_left !important;
}
/deep/ .el-submenu .el-menu-item {
padding-left: $submenu_padding_left + 25px !important;
font-size: $font_size_All !important;
}
// /deep/ .el-menu-item {
// padding-left: $submenu_padding_left + 25px!important;
// font-size: $font_size_All!important;
// }
/deep/ .el-menu span {
font-size: $font_size_All !important;
}
/deep/ .title p {
font-size: $font_size_All !important;
}
/deep/ .idCard p {
font-size: $font_size_All !important;
}
/deep/ .title p {
font-size: $font_size_All!important;
// /deep/ .el-form-item__error {
// top: 105%;
// left: auto;
// right: 0;
// color: #FFA94E;
// }
@media screen and (min-width: 1200px) and (max-width: 1700px) {
/deep/.el-input {
// width: 15vw!important;
width: 100%;
input {
font-size: $font_size_All !important;
}
/deep/ .idCard p {
font-size: $font_size_All!important;
}
/deep/ .idCard {
// width: 15vw;
width: 100%;
}
}
@media screen and (min-width: 1200px) and (max-width: 1900px) {
.box {
display: flex;
min-width: 80vw;
overflow: auto;
.nav {
// width: 25vw;
// min-height: 80vh;
// overflow: hidden;
// border-top-left-radius: 20px;
// display: flex;
// flex-direction: column;
.top {
font-size: 3vh;
line-height: 3vh;
display: flex;
align-items: center;
text-align: center;
border-top-left-radius: 15px;
color: #b3b3b3;
background: #222428;
}
.body {
// flex: 1;
// height: calc(80vh-10vh);
overflow: auto;
background-color: #313540;
}
}
// /deep/ .el-form-item__error {
// top: 105%;
// left: auto;
// right: 0;
// color: #FFA94E;
// }
@media screen and (min-width: 1200px) and (max-width: 1700px) {
/deep/.el-input {
// width: 15vw!important;
width: 100%;
input {
font-size: $font_size_All!important;
}
}
/deep/ .idCard {
// width: 15vw;
width: 100%;
.manage-layout {
width: calc(100% - 270px);
min-height: 80vh;
overflow: auto;
// background: #fff;
background: transparent;
display: flex;
flex-direction: column;
box-sizing: border-box;
.top {
font-size: 30px;
display: flex;
justify-content: flex-end;
align-items: center;
text-align: center;
color: #000;
background: #e6e6e6;
border-top-right-radius: 20px;
i {
margin-right: 10px;
cursor: pointer;
}
}
@media screen and (min-width: 1200px) and (max-width: 1900px) {
.box{
display: flex;
min-width: 80vw;
// margin-top: 6vh;
overflow: auto;
// height: 70vh;
.nav{
width: 25vw;
min-height: 80vh;
overflow: hidden;
border-top-left-radius: 20px;
display: flex;
flex-direction: column;
.top{
min-height: 10vh;
font-size: 3vh;
line-height: 3vh;
display: flex;
align-items: center;
text-align: center;
border-top-left-radius: 15px;
color: #B3B3B3;
background: #222428;
}
.body{
// flex: 1;
// height: calc(80vh-10vh);
overflow: auto;
background-color: #313540;
}
}
.manage-layout{
width: calc(100% - 270px);
min-height: 80vh;
overflow: auto;
// background: #fff;
background:transparent;
display: flex;
flex-direction: column;
box-sizing: border-box;
.top{
min-height: 10vh;
font-size: 30px;
display: flex;
justify-content: flex-end;
align-items: center;
text-align: center;
color: #000;
background: #e6e6e6;
border-top-right-radius: 20px;
i{
margin-right: 10px;
cursor: pointer;
}
}
.manage-content{
flex: 1;
position: relative;
.manage-view{
position: absolute;
top: 0;
bottom: 0;
background: #fff;
}
}
}
}
.manage-content {
flex: 1;
position: relative;
.manage-view {
position: absolute;
top: 0;
bottom: 0;
background: #fff;
}
}
}
}
}
</style>

@ -241,6 +241,7 @@ export default {
}
],
visible:false,
submited: 0
}
},
computed: {
@ -287,6 +288,7 @@ export default {
row.moneyNumber = Number(val.replace(/\D+/, ''))
},
submitClick() {
if (this.submited) return this.$message.error('已提交!')
this.$refs.form.validate(myValidate(() => {
this.visible = true
}, this.$refs));
@ -322,6 +324,7 @@ export default {
// });
this.setNeedsModule(moduleName)
// this.setDataFlow({ ...this.form })
this.submited = 1
}).catch((error)=>{
})
},

@ -108,6 +108,7 @@ export default {
},
],
visible:false,
submited: 0
}
},
filters: {
@ -205,6 +206,7 @@ export default {
},
submitClick() {
if (this.submited) return this.$message.error('已提交!')
this.visible = true
},
submitForm2() {
@ -226,6 +228,7 @@ export default {
startTime:startTime,
}
addOperation(params).then((data)=>{
this.submited = 1
// this.$message({
// message: '',
// type: 'success'

@ -110,6 +110,7 @@ export default {
},
],
visible:false,
submited: 0
}
},
filters: {
@ -217,6 +218,7 @@ export default {
},
submitClick() {
if (this.submited) return this.$message.error('已提交!')
this.visible = true
},
submitForm2() {
@ -242,6 +244,7 @@ export default {
// type: 'success'
// });
this.setNeedsModule(moduleName)
this.submited = 1
// this.setDataFlow({ ...this.form })
}).catch((error)=>{
})

@ -229,6 +229,7 @@ export default {
moneyNumber: 0
},
],
submited: 0
}
},
computed: {
@ -239,17 +240,40 @@ export default {
}),
getSum() {
return (val, num) => {
return val.substr(0, val.length-1) * num;
if (val.indexOf('角') == -1) {
return val.substr(0, val.length-1) * num;
}else {
return val.substr(0, val.length-1) /10 * num;
}
}
},
//
allSum() {
const one = this.tableData.reduce((pre, item) => {
return pre + item.moneyType.substr(0, item.moneyType.length-1) * item.moneyNumber
}, 0)
const two = this.tableData2.reduce((pre, item) => {
return pre + item.moneyType.substr(0, item.moneyType.length-1) * item.moneyNumber
if (item.moneyType.indexOf('角') == -1) {
return pre + item.moneyType.substr(0, item.moneyType.length-1) * item.moneyNumber
}else {
return pre + item.moneyType.substr(0, item.moneyType.length-1) /10 * item.moneyNumber
}
}, 0)
return one + two
let allSum
const allNum = one + two
const splitStr = allNum.toString().split('.')[1]
if(splitStr) {
if(splitStr.length >= 2) {
allSum = allNum.toFixed(1)
}else {
allSum = allNum
}
}else {
allSum = allNum
}
return allSum
}
},
watch: {
@ -275,6 +299,7 @@ export default {
row.moneyNumber = Number(val.replace(/\D+/, ''))
},
submitClick() {
if (this.submited) return this.$message.error('已提交!')
this.visible = true
},
submitForm2() {
@ -303,6 +328,7 @@ export default {
// type: 'success'
// });
this.setNeedsModule(moduleName)
this.submited = 1
// this.setDataFlow({ ...this.form })
}).catch((error)=>{
})

@ -1,47 +1,40 @@
<!-- 现金管理 -->
<template>
<div class="wrap">
<div class="nav">
<el-menu :default-active="activeIndex" class="el-menu-demo" mode="horizontal" @select="handleSelect">
<el-menu-item index="1">现金领用</el-menu-item>
<el-menu-item index="2">现金上缴</el-menu-item>
<el-menu-item index="3">现金调入</el-menu-item>
<el-menu-item index="4">现金调出</el-menu-item>
</el-menu>
</div>
<div class="title">
<p>重空现金</p>
<i class="el-icon-arrow-right"></i>
<p>现金管理</p>
<i class="el-icon-arrow-right"></i>
<p>{{textObj[activeIndex]}}</p>
</div>
<cash-recipients v-if="activeIndex==='1'"></cash-recipients>
<cashTransferInto v-if="activeIndex==='2'"></cashTransferInto>
<cashPaid v-if="activeIndex==='3'"></cashPaid>
<cashOut v-if="activeIndex==='4'"></cashOut>
<el-dialog
style="margin-top:10vh"
:visible.sync="visible"
:modal="false"
width="40%"
:close-on-click-modal="false"
:show-close="false"
custom-class="data-dia"
>
<div slot="title" class="dia-header">
<div class="data-title" v-throttle>提交</div>
</div>
<div class="popBody">
<h2>本业务需要授权</h2>
</div>
<div class="popBtns">
<el-button class="close btn" @click="visible = false"> </el-button>
<el-button class="sure btn" type="primary" @click="visible = false"> </el-button>
</div>
</el-dialog>
<div class="wrap">
<div class="nav">
<el-menu :default-active="activeIndex" class="el-menu-demo" mode="horizontal" @select="handleSelect">
<el-menu-item index="1">现金领用</el-menu-item>
<el-menu-item index="2">现金上缴</el-menu-item>
<el-menu-item index="3">现金调入</el-menu-item>
<el-menu-item index="4">现金调出</el-menu-item>
</el-menu>
</div>
<div class="title">
<p>重控现金</p>
<i class="el-icon-arrow-right"></i>
<p>现金管理</p>
<i class="el-icon-arrow-right"></i>
<p>{{ textObj[activeIndex] }}</p>
</div>
<cash-recipients v-if="activeIndex === '1'"></cash-recipients>
<cashTransferInto v-if="activeIndex === '2'"></cashTransferInto>
<cashPaid v-if="activeIndex === '3'"></cashPaid>
<cashOut v-if="activeIndex === '4'"></cashOut>
<el-dialog style="margin-top:10vh" :visible.sync="visible" :modal="false" width="40%" :close-on-click-modal="false"
:show-close="false" custom-class="data-dia">
<div slot="title" class="dia-header">
<div class="data-title" v-throttle>提交</div>
</div>
<div class="popBody">
<h2>本业务需要授权</h2>
</div>
<div class="popBtns">
<el-button class="close btn" @click="visible = false"> </el-button>
<el-button class="sure btn" type="primary" @click="visible = false"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
@ -50,158 +43,173 @@ import cashTransferInto from './cashTransferInto.vue'
import cashPaid from './cashPaid.vue'
import cashOut from './cashOut.vue'
export default {
name: 'index',
components:{
cashRecipients,
cashTransferInto,
cashPaid,
cashOut
},
data() {
return {
text:'',/* 顶部文字 */
cacheVal: '',
textObj:{
'1':'现金领用',
'2':'现金上缴',
'3':'现金调入',
'4':'现金调出',
},
form:{
},
visible:false,
options:[],
activeIndex:'',
second:[//
],
}
},
methods: {
handleSelect(val){
this.text = this.textObj[val]
this.activeIndex = val
this.cacheVal = val
},
},
created() {
if(sessionStorage.getItem('importantCashIndex')) {
this.handleSelect(sessionStorage.getItem('importantCashIndex'))
}else {
this.handleSelect('1')
}
name: 'index',
components: {
cashRecipients,
cashTransferInto,
cashPaid,
cashOut
},
data () {
return {
text: '',/* 顶部文字 */
cacheVal: '',
textObj: {
'1': '现金领用',
'2': '现金上缴',
'3': '现金调入',
'4': '现金调出',
},
form: {
},
visible: false,
options: [],
activeIndex: '',
second: [//
],
}
},
methods: {
handleSelect (val) {
this.text = this.textObj[val]
this.activeIndex = val
this.cacheVal = val
},
destroyed() {
sessionStorage.setItem('importantCashIndex', this.cacheVal)
},
created () {
if (sessionStorage.getItem('importantCashIndex')) {
this.handleSelect(sessionStorage.getItem('importantCashIndex'))
} else {
this.handleSelect('1')
}
},
destroyed () {
sessionStorage.setItem('importantCashIndex', this.cacheVal)
}
};
</script>
<style lang="scss" scoped>
.wrap{
width: 100%;
display: flex;
flex-direction: column;
overflow: hidden;
padding: 24px 0 24px 24px;
.nav{
/deep/ .el-menu.el-menu--horizontal{
border: 0;
}
/deep/ .el-menu--horizontal > .el-menu-item.is-active{
border:2px solid #568DF2;
border-radius: 10px;
color: #000;
}
/deep/ .el-menu--horizontal > .el-menu-item{
border: 2px solid transparent;
border-radius: 10px;
margin-right: 10px;
height: 30px;
line-height: 28px;
}
}
.title{
height: 60px;
display: flex;
align-items: center;
font-size: 20px;
padding-left: 0px;
margin-top: 10px;
}
.body{
margin-top: 50px;
overflow-y: auto;
overflow-x: hidden;
.idCard{
border-radius: 5px;
background: #CFDDFF;
text-align: center;
height: 40px;
line-height: 40px;
font-size: 18px;
color: #6191FF;
}
.add{
position: relative;
&::after{
content: '';
display: block;
position: absolute;
right: 3%;
top: -4%;
border: 1px dashed #CFDDFF;
width: 88%;
height: 268px;
}
.addBtn{
position: absolute;
left: 0;
top: 50%;
transform: translate(50%,-50%);
font-size: 22px;
}
}
}
.submitBtn{
position: relative;
width: 300px;
font-size: 18px;
height: 45px;
margin-top: 50px;
border-radius: 10px;
bottom: 10px;
left: 50%;
transform: translate(-50%,-50%);
}
.popBody{
min-height: 200px;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
}
.popBtns{
display: flex;
justify-content: space-between;
align-items: center;
.btn{
width: 180px;
border-radius: 10px;
font-size: 18px;
}
.close{
background: #CFDEFF;
color: #6191FF;
}
.sure{
background: #6191FF;
color: #fff;
}
}
.wrap {
width: 100%;
display: flex;
flex-direction: column;
overflow: hidden;
padding: 24px 0 24px 24px;
.nav {
/deep/ .el-menu.el-menu--horizontal {
border: 0;
}
/deep/ .el-menu--horizontal>.el-menu-item.is-active {
border: 2px solid #568DF2;
border-radius: 10px;
color: #000;
}
/deep/ .el-menu--horizontal>.el-menu-item {
border: 2px solid transparent;
border-radius: 10px;
margin-right: 10px;
height: 30px;
line-height: 28px;
}
}
.title {
height: 60px;
display: flex;
align-items: center;
font-size: 20px;
padding-left: 0px;
margin-top: 10px;
}
.body {
margin-top: 50px;
overflow-y: auto;
overflow-x: hidden;
.idCard {
border-radius: 5px;
background: #CFDDFF;
text-align: center;
height: 40px;
line-height: 40px;
font-size: 18px;
color: #6191FF;
}
.add {
position: relative;
&::after {
content: '';
display: block;
position: absolute;
right: 3%;
top: -4%;
border: 1px dashed #CFDDFF;
width: 88%;
height: 268px;
}
.addBtn {
position: absolute;
left: 0;
top: 50%;
transform: translate(50%, -50%);
font-size: 22px;
}
}
}
.submitBtn {
position: relative;
width: 300px;
font-size: 18px;
height: 45px;
margin-top: 50px;
border-radius: 10px;
bottom: 10px;
left: 50%;
transform: translate(-50%, -50%);
}
.popBody {
min-height: 200px;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
}
.popBtns {
display: flex;
justify-content: space-between;
align-items: center;
.btn {
width: 180px;
border-radius: 10px;
font-size: 18px;
}
.close {
background: #CFDEFF;
color: #6191FF;
}
.sure {
background: #6191FF;
color: #fff;
}
}
}
</style>

@ -120,6 +120,7 @@ export default {
],
},
visible:false,
submited: 0
}
},
filters: {
@ -150,6 +151,7 @@ export default {
setTipsOperate: 'system/setTipsOperate'
}),
submitClick() {
if (this.submited) return this.$message.error('已提交!')
this.$refs.form.validate(myValidate(() => {
if(this.form.number <= 0) {
this.setTipsOperate('结束号码应大于起始号码。')
@ -184,6 +186,7 @@ export default {
// type: 'success'
// });
this.setNeedsModule(moduleName)
this.submited = 1
// this.setDataFlow({ ...this.form })
}).catch((error)=>{
})

@ -126,6 +126,7 @@ export default {
},
],
visible:false,
submited: 0
}
},
filters: {
@ -203,6 +204,7 @@ export default {
}
},
submitClick() {
if (this.submited) return this.$message.error('已提交!')
this.visible = true
},
submitForm2() {
@ -228,6 +230,7 @@ export default {
// type: 'success'
// });
this.setNeedsModule(moduleName)
this.submited = 1
// this.setDataFlow({ ...this.form })
}).catch((error)=>{
})

@ -116,6 +116,7 @@ export default {
}
],
visible:false,
submited: 0
}
},
filters: {
@ -194,6 +195,7 @@ export default {
}
},
submitClick() {
if (this.submited) return this.$message.error('已提交!')
this.visible = true
},
submitForm2() {
@ -219,6 +221,7 @@ export default {
// type: 'success'
// });
this.setNeedsModule(moduleName)
this.submited = 1
// this.setDataFlow({ ...this.form })
}).catch((error)=>{
})

@ -114,6 +114,7 @@ export default {
],
},
visible:false,
submited: 0
}
},
filters: {
@ -144,6 +145,7 @@ export default {
setTipsOperate: 'system/setTipsOperate'
}),
submitClick() {
if (this.submited) return this.$message.error('已提交!')
this.$refs.form.validate(myValidate(() => {
if(this.form.number <= 0) {
this.setTipsOperate('结束号码应大于起始号码')
@ -177,6 +179,7 @@ export default {
// type: 'success'
// });
this.setNeedsModule(moduleName)
this.submited = 1
// this.setDataFlow({ ...this.form })
}).catch((error)=>{
})

@ -1,49 +1,42 @@
<!-- 现金管理 -->
<template>
<div class="wrap">
<div class="nav">
<el-menu :default-active="activeIndex" class="el-menu-demo" mode="horizontal" @select="handleSelect">
<el-menu-item index="1">凭证领用</el-menu-item>
<el-menu-item index="2">凭证上缴</el-menu-item>
<el-menu-item index="3">凭证调入</el-menu-item>
<el-menu-item index="4">凭证调出</el-menu-item>
</el-menu>
</div>
<div class="title">
<p>重空现金</p>
<i class="el-icon-arrow-right"></i>
<p>凭证管理</p>
<i class="el-icon-arrow-right"></i>
<p>{{textObj[activeIndex]}}</p>
</div>
<!-- 开户 -->
<cash-recipients v-if="activeIndex==='1'"></cash-recipients>
<cash-transfer-into v-if="activeIndex==='2'"></cash-transfer-into>
<cash-paid v-if="activeIndex==='3'"></cash-paid>
<cash-out v-if="activeIndex==='4'"></cash-out>
<el-dialog
style="margin-top:10vh"
:visible.sync="visible"
:modal="false"
width="40%"
:close-on-click-modal="false"
:show-close="false"
custom-class="data-dia"
>
<div slot="title" class="dia-header">
<div class="data-title">提交</div>
</div>
<div class="popBody">
<h2>本业务需要授权</h2>
</div>
<div class="popBtns">
<el-button class="close btn" @click="visible = false"> </el-button>
<el-button class="sure btn" type="primary" @click="visible = false"> </el-button>
</div>
</el-dialog>
<div class="wrap">
<div class="nav">
<el-menu :default-active="activeIndex" class="el-menu-demo" mode="horizontal" @select="handleSelect">
<el-menu-item index="1">凭证领用</el-menu-item>
<el-menu-item index="2">凭证上缴</el-menu-item>
<el-menu-item index="3">凭证调入</el-menu-item>
<el-menu-item index="4">凭证调出</el-menu-item>
</el-menu>
</div>
<div class="title">
<p>重控现金</p>
<i class="el-icon-arrow-right"></i>
<p>凭证管理</p>
<i class="el-icon-arrow-right"></i>
<p>{{ textObj[activeIndex] }}</p>
</div>
<!-- 开户 -->
<cash-recipients v-if="activeIndex === '1'"></cash-recipients>
<cash-transfer-into v-if="activeIndex === '2'"></cash-transfer-into>
<cash-paid v-if="activeIndex === '3'"></cash-paid>
<cash-out v-if="activeIndex === '4'"></cash-out>
<el-dialog style="margin-top:10vh" :visible.sync="visible" :modal="false" width="40%" :close-on-click-modal="false"
:show-close="false" custom-class="data-dia">
<div slot="title" class="dia-header">
<div class="data-title">提交</div>
</div>
<div class="popBody">
<h2>本业务需要授权</h2>
</div>
<div class="popBtns">
<el-button class="close btn" @click="visible = false"> </el-button>
<el-button class="sure btn" type="primary" @click="visible = false"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
@ -52,168 +45,183 @@ import cashTransferInto from './cashTransferInto.vue'
import cashPaid from './cashPaid.vue'
import cashOut from './cashOut.vue'
export default {
name: 'index',
components:{
cashRecipients,
cashTransferInto,
cashPaid,
cashOut
},
data() {
return {
text:'',/* 顶部文字 */
cacheVal: '',
textObj:{
'1':'凭证领用',
'2':'凭证上缴',
'3':'凭证调入',
'4':'凭证调出',
},
form:{
},
visible:false,
options:[],
activeIndex:'1',
second:[//
],
}
},
created() {
if(sessionStorage.getItem('importantCashIndex2')) {
this.handleSelect(sessionStorage.getItem('importantCashIndex2'))
}else {
this.handleSelect('1')
}
},
destroyed() {
sessionStorage.setItem('importantCashIndex2', this.cacheVal)
},
methods: {
handleSelect(val){
this.text = this.textObj[val]
this.activeIndex = val
this.cacheVal = val
},
name: 'index',
components: {
cashRecipients,
cashTransferInto,
cashPaid,
cashOut
},
data () {
return {
text: '',/* 顶部文字 */
cacheVal: '',
textObj: {
'1': '凭证领用',
'2': '凭证上缴',
'3': '凭证调入',
'4': '凭证调出',
},
form: {
},
visible: false,
options: [],
activeIndex: '1',
second: [//
],
}
},
created () {
if (sessionStorage.getItem('importantCashIndex2')) {
this.handleSelect(sessionStorage.getItem('importantCashIndex2'))
} else {
this.handleSelect('1')
}
},
destroyed () {
sessionStorage.setItem('importantCashIndex2', this.cacheVal)
},
methods: {
handleSelect (val) {
this.text = this.textObj[val]
this.activeIndex = val
this.cacheVal = val
},
}
};
</script>
<style lang="scss" scoped>
.wrap{
width: 100%;
display: flex;
flex-direction: column;
overflow: hidden;
padding: 24px 0 24px 24px;
.nav{
/deep/ .el-menu.el-menu--horizontal{
border: 0;
}
/deep/ .el-menu--horizontal > .el-menu-item.is-active{
border:2px solid #568DF2;
border-radius: 10px;
color: #000;
}
/deep/ .el-menu--horizontal > .el-menu-item{
border: 2px solid transparent;
border-radius: 10px;
margin-right: 10px;
height: 30px;
line-height: 28px;
}
}
.title{
height: 60px;
display: flex;
align-items: center;
font-size: 20px;
padding-left: 0px;
margin-top: 10px;
}
.body{
margin-top: 50px;
overflow-x: hidden;
overflow-y: auto;
.idCard{
border-radius: 5px;
background: #CFDDFF;
text-align: center;
height: 40px;
line-height: 40px;
font-size: 18px;
color: #6191FF;
}
.add{
position: relative;
&::after{
content: '';
display: block;
position: absolute;
right: 3%;
top: -4%;
border: 1px dashed #CFDDFF;
width: 88%;
height: 268px;
}
.addBtn{
position: absolute;
left: 0;
top: 50%;
transform: translate(50%,-50%);
font-size: 22px;
}
}
}
.submitBtn{
position: relative;
width: 300px;
font-size: 18px;
height: 45px;
margin-top: 50px;
border-radius: 10px;
bottom: 10px;
left: 50%;
transform: translate(-50%,-50%);
}
.popBody{
min-height: 200px;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
}
.popBtns{
display: flex;
justify-content: space-between;
align-items: center;
.btn{
width: 180px;
border-radius: 10px;
font-size: 18px;
}
.close{
background: #CFDEFF;
color: #6191FF;
}
.sure{
background: #6191FF;
color: #fff;
}
}
.wrap {
width: 100%;
display: flex;
flex-direction: column;
overflow: hidden;
padding: 24px 0 24px 24px;
.nav {
/deep/ .el-menu.el-menu--horizontal {
border: 0;
}
/deep/ .el-menu--horizontal>.el-menu-item.is-active {
border: 2px solid #568DF2;
border-radius: 10px;
color: #000;
}
/deep/.el-input input {
text-align: center;
/deep/ .el-menu--horizontal>.el-menu-item {
border: 2px solid transparent;
border-radius: 10px;
margin-right: 10px;
height: 30px;
line-height: 28px;
}
/deep/ .blueText{
color: blue;
}
.title {
height: 60px;
display: flex;
align-items: center;
font-size: 20px;
padding-left: 0px;
margin-top: 10px;
}
.body {
margin-top: 50px;
overflow-x: hidden;
overflow-y: auto;
.idCard {
border-radius: 5px;
background: #CFDDFF;
text-align: center;
height: 40px;
line-height: 40px;
font-size: 18px;
color: #6191FF;
}
.add {
position: relative;
&::after {
content: '';
display: block;
position: absolute;
right: 3%;
top: -4%;
border: 1px dashed #CFDDFF;
width: 88%;
height: 268px;
}
.addBtn {
position: absolute;
left: 0;
top: 50%;
transform: translate(50%, -50%);
font-size: 22px;
}
}
}
.submitBtn {
position: relative;
width: 300px;
font-size: 18px;
height: 45px;
margin-top: 50px;
border-radius: 10px;
bottom: 10px;
left: 50%;
transform: translate(-50%, -50%);
}
.popBody {
min-height: 200px;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
}
.popBtns {
display: flex;
justify-content: space-between;
align-items: center;
.btn {
width: 180px;
border-radius: 10px;
font-size: 18px;
}
.close {
background: #CFDEFF;
color: #6191FF;
}
.sure {
background: #6191FF;
color: #fff;
}
}
}
/deep/.el-input input {
text-align: center;
}
/deep/ .blueText {
color: blue;
}
</style>

@ -1,76 +1,82 @@
<!-- 现金管理 -->
<template>
<div class="wrap">
<!-- <div class="title">
<div class="wrap">
<!-- <div class="title">
<p>重空现金</p>
<i class="el-icon-arrow-right"></i>
<p>支票管理</p>
<i class="el-icon-arrow-right"></i>
<p>支票出售</p>
</div> -->
<my-title :titleArr="['重现金', '支票管理', '支票出售']"/>
<my-title :titleArr="['重现金', '支票管理', '支票出售']" />
<el-row :gutter="20" style="margin: 0">
<el-form ref="form" :model="form" label-width="120px" :rules="rules">
<el-col :span="10" :offset="1">
<el-form-item label="账号" prop="username">
<el-input @blur="onBlur()" :value="form.username" @input="val => checkHanzi(val, form, 'username')" ref="username"></el-input>
</el-form-item>
<el-form-item label="凭证类型" prop="voucherType">
<el-select v-model.trim="form.voucherType" placeholder="请选择" ref="voucherType">
<!-- 15: 'IC卡',
<el-row :gutter="20" style="margin: 0">
<el-form ref="form" :model="form" label-width="120px" :rules="rules">
<el-col :span="10" :offset="1">
<el-form-item label="账号" prop="username">
<el-input @blur="onBlur()" :value="form.username" @input="val => checkHanzi(val, form, 'username')"
ref="username"></el-input>
</el-form-item>
<el-form-item label="凭证类型" prop="voucherType">
<el-select v-model.trim="form.voucherType" placeholder="请选择" ref="voucherType">
<!-- 15: 'IC卡',
115: '转账支票',
116: '现金支票',
123: '存单',
127: '银行' -->
<el-option label="IC卡" :value="15"> </el-option>
<el-option label="转账支票" :value="115"> </el-option>
<el-option label="现金支票" :value="116"> </el-option>
<el-option label="存单" :value="123"> </el-option>
<el-option label="银行" :value="127"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="凭证终止号" prop="endNumber">
<el-input :value="form.endNumber" @blur="getBlur()" @input="val => certificateNumber(val, form, 'endNumber')" ref="endNumber"></el-input>
</el-form-item>
<el-form-item label="收费类型" prop="chargeWay2">
<el-select v-model.trim="form.chargeWay2" placeholder="请选择" ref="chargeWay2">
<el-option label="现金" :value="135"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="手续费" prop="serviceCharge">
<el-input :value="form.serviceCharge" @input="(val) => ismoney(val, form, 'serviceCharge')" ref="serviceCharge"></el-input>
</el-form-item>
</el-col>
<el-col :span="10" :offset="1">
<el-form-item label="客户名称" prop="customerName">
<el-input v-model.trim="form.customerName" ref="customerName" ></el-input>
</el-form-item>
<el-form-item label="凭证起始号" prop="startNumber">
<el-input :value="form.startNumber" @input="(val) => certificateNumber(val, form, 'startNumber')" ref="startNumber"></el-input>
</el-form-item>
<el-form-item label="数量" prop="number">
<el-input :value="form.number" disabled @input="val => inputListen(val, form, 'number')" ref="number" ></el-input>
</el-form-item>
<el-form-item label="工本费" prop="cost">
<el-input :value="form.cost" @input="val => ismoney(val, form, 'cost')" ref="cost" ></el-input>
</el-form-item>
<el-form-item label="摘要" prop="abstract">
<el-input v-model.trim="form.abstract" ></el-input>
</el-form-item>
</el-col>
</el-form>
</el-row>
<el-button @click="submitIt()" type="primary" class="submitBtn">提交</el-button>
<my-dialog :moduleName="moduleName" v-if="visible" :visible.sync="visible" :showForm="form" :formName="formName" @submitIt="submitForm2" />
</div>
<!-- <need-before v-else :moduleName='needBefore' :unNeed="unNeed" class="wrap" /> -->
<el-option label="IC卡" :value="15"> </el-option>
<el-option label="转账支票" :value="115"> </el-option>
<el-option label="现金支票" :value="116"> </el-option>
<el-option label="存单" :value="123"> </el-option>
<el-option label="银行" :value="127"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="凭证终止号" prop="endNumber">
<el-input :value="form.endNumber" @blur="getBlur()"
@input="val => certificateNumber(val, form, 'endNumber')" ref="endNumber"></el-input>
</el-form-item>
<el-form-item label="收费类型" prop="chargeWay2">
<el-select v-model.trim="form.chargeWay2" placeholder="请选择" ref="chargeWay2">
<el-option label="现金" :value="135"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="手续费" prop="serviceCharge">
<el-input :value="form.serviceCharge" @input="(val) => ismoney(val, form, 'serviceCharge')"
ref="serviceCharge"></el-input>
</el-form-item>
</el-col>
<el-col :span="10" :offset="1">
<el-form-item label="客户名称" prop="customerName">
<el-input v-model.trim="form.customerName" ref="customerName"></el-input>
</el-form-item>
<el-form-item label="凭证起始号" prop="startNumber">
<el-input :value="form.startNumber" @input="(val) => certificateNumber(val, form, 'startNumber')"
ref="startNumber"></el-input>
</el-form-item>
<el-form-item label="数量" prop="number">
<el-input :value="form.number" disabled @input="val => inputListen(val, form, 'number')"
ref="number"></el-input>
</el-form-item>
<el-form-item label="工本费" prop="cost">
<el-input :value="form.cost" @input="val => ismoney(val, form, 'cost')" ref="cost"></el-input>
</el-form-item>
<el-form-item label="摘要" prop="abstract">
<el-input v-model.trim="form.abstract"></el-input>
</el-form-item>
</el-col>
</el-form>
</el-row>
<el-button @click="submitIt()" type="primary" class="submitBtn">提交</el-button>
<my-dialog :moduleName="moduleName" v-if="visible" :visible.sync="visible" :showForm="form" :formName="formName"
@submitIt="submitForm2" />
</div>
<!-- <need-before v-else :moduleName='needBefore' :unNeed="unNeed" class="wrap" /> -->
</template>
<script>
import { myValidate, ismoney, checkName, checkHanzi, autoPlay, autoPlay2, inputListen, certificateNumber } from '@/utils/utilFunction.js'
import { myValidate, ismoney, checkName, checkHanzi, autoPlay, autoPlay2, inputListen, certificateNumber } from '@/utils/utilFunction.js'
import { addOperation, getOperation } from '@/api/http';
import MyTitle from '@/components/myTitle'
@ -81,307 +87,321 @@ import TipsBefore from '@/mixins/tipsBefore'
const moduleName = 'controlCash3/index'
export default {
name: 'index',
mixins: [ TipsBefore ],
components:{
NeedBefore,
MyDialog,
MyTitle
},
data() {
return {
moduleName,
visible: false,
unNeed: false,
isNeedBefore: '',
needBefore: '',
form:{
//
username: '', //
startNumber: '', //
endNumber: '', //
//
voucherType: '', //
chargeWay2: 135, //
serviceCharge: '5.00', //
customerName: '', //
number: '', //
cost: '', //
abstract: '' //
},
formName:{
//
username: '账号', //
startNumber: '凭证起始号', //
endNumber: '凭证终止号', //
//
voucherType: '凭证类型', //
chargeWay2: '收费类型', //
serviceCharge: '手续费', //
customerName: '客户名称', //
number: '数量', //
cost: '工本费', //
abstract: '摘要' //
},
myTable2: {
240: {
prop: 'username',
type: '3',
"subjectId": 84,
},
536: {
prop: 'startNumber',
type: '3',
"subjectId": 95,
},
//
550: {
prop: 'endNumber',
type: '3',
"subjectId": 103,
}
},
myTable: {
241: {
prop: 'customerName',
type: '3',
"subjectId": 7,
},
253: {
prop: 'voucherType',
type: '1',
"subjectId": 11,
},
533: {
prop: 'number',
type: '3',
"subjectId": 94,
},
537: {
prop: 'cost',
type: '3',
"subjectId": 96,
},
538: {
prop: 'chargeWay2',
type: '1',
"subjectId": 90,
},
539: {
prop: 'abstract',
type: '3',
"subjectId": 97,
},
540: {
prop: 'serviceCharge',
type: '3',
"subjectId": 98,
},
},
rules: {
username: [
{
required: true,
message: '请输入账号',
trigger: 'blur'
}
],
startNumber: [
{
required: true,
message: '请输入凭证起始号',
trigger: 'blur'
}
],
endNumber: [
{
required: true,
message: '请输入凭证终止号',
trigger: 'blur'
}
],
}
}
},
created() {
// this.handleSelect(1)
if(this.inMyWork(moduleName)) {
if(this.needsModule(moduleName) === '') {
}else {
this.isNeedBefore = true
this.needBefore = this.needsModule(moduleName)
}
}else {
this.isNeedBefore = true
this.unNeed = true
}
},
mounted() {
this.$refs.username.focus()
},
methods: {
...mapMutations({
setTipsOperate: 'system/setTipsOperate'
}),
onBlur() {
if(this.form.username) {
const { collectingCompany } = this.dataFlow
this.form.customerName = collectingCompany
}else {
this.form.customerName = ''
}
name: 'index',
mixins: [TipsBefore],
components: {
NeedBefore,
MyDialog,
MyTitle
},
data () {
return {
moduleName,
visible: false,
unNeed: false,
isNeedBefore: '',
needBefore: '',
form: {
//
username: '', //
startNumber: '', //
endNumber: '', //
//
voucherType: '', //
chargeWay2: 135, //
serviceCharge: '5.00', //
customerName: '', //
number: '', //
cost: '', //
abstract: '' //
},
formName: {
//
username: '账号', //
startNumber: '凭证起始号', //
endNumber: '凭证终止号', //
//
voucherType: '凭证类型', //
chargeWay2: '收费类型', //
serviceCharge: '手续费', //
customerName: '客户名称', //
number: '数量', //
cost: '工本费', //
abstract: '摘要' //
},
myTable2: {
240: {
prop: 'username',
type: '3',
"subjectId": 84,
},
getBlur() {
const number = Number(this.form.endNumber) - Number(this.form.startNumber)
if(number<0 || this.form.endNumber.length<this.form.startNumber.length) {
this.form.number = 0
return
}
this.form.number = number
536: {
prop: 'startNumber',
type: '3',
"subjectId": 95,
},
submitIt() {
//
550: {
prop: 'endNumber',
type: '3',
"subjectId": 103,
}
this.$refs.form.validate(myValidate(() => {
if(this.form.number <= 0) {
// this.$message({
// message: ',',
// type: 'warning',
// center: true
// });
this.setTipsOperate('结束号码应大于起始号码')
return
}
if(this.form.startNumber.length !== this.form.endNumber.length) {
this.setTipsOperate('凭证起始号和凭证终止号长度不同,请检查')
return
}
this.visible = true
}, this.$refs));
},
myTable: {
241: {
prop: 'customerName',
type: '3',
"subjectId": 7,
},
253: {
prop: 'voucherType',
type: '1',
"subjectId": 11,
},
533: {
prop: 'number',
type: '3',
"subjectId": 94,
},
submitForm2() {
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,31,520'
const cards = [
]
autoPlay(parentId, this.form, this.myTable2, this.myTable, cards)
537: {
prop: 'cost',
type: '3',
"subjectId": 96,
},
checkHanzi: checkHanzi,
inputListen: inputListen,
ismoney: ismoney,
certificateNumber
},
computed: {
...mapGetters({
needsModule: 'system/needsModule',
inMyWork: 'system/inMyWork',
dataFlow: 'system/dataFlow',
})
538: {
prop: 'chargeWay2',
type: '1',
"subjectId": 90,
},
539: {
prop: 'abstract',
type: '3',
"subjectId": 97,
},
540: {
prop: 'serviceCharge',
type: '3',
"subjectId": 98,
},
},
rules: {
username: [
{
required: true,
message: '请输入账号',
trigger: 'blur'
}
],
startNumber: [
{
required: true,
message: '请输入凭证起始号',
trigger: 'blur'
}
],
endNumber: [
{
required: true,
message: '请输入凭证终止号',
trigger: 'blur'
}
],
},
submited: 0
}
},
created () {
// this.handleSelect(1)
if (this.inMyWork(moduleName)) {
if (this.needsModule(moduleName) === '') {
} else {
this.isNeedBefore = true
this.needBefore = this.needsModule(moduleName)
}
} else {
this.isNeedBefore = true
this.unNeed = true
}
},
mounted () {
this.$refs.username.focus()
},
methods: {
...mapMutations({
setTipsOperate: 'system/setTipsOperate'
}),
onBlur () {
if (this.form.username) {
const { collectingCompany } = this.dataFlow
this.form.customerName = collectingCompany
} else {
this.form.customerName = ''
}
},
getBlur () {
const number = Number(this.form.endNumber) - Number(this.form.startNumber)
if (number < 0 || this.form.endNumber.length < this.form.startNumber.length) {
this.form.number = 0
return
}
this.form.number = number
},
submitIt () {
if (this.submited) return this.$message.error('已提交!')
this.$refs.form.validate(myValidate(() => {
if (this.form.number <= 0) {
// this.$message({
// message: ',',
// type: 'warning',
// center: true
// });
this.setTipsOperate('结束号码应大于起始号码')
return
}
if (this.form.startNumber.length !== this.form.endNumber.length) {
this.setTipsOperate('凭证起始号和凭证终止号长度不同,请检查')
return
}
this.visible = true
}, this.$refs));
},
submitForm2 () {
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,31,520'
const cards = [
]
autoPlay(parentId, this.form, this.myTable2, this.myTable, cards)
this.submited = 1
},
checkHanzi: checkHanzi,
inputListen: inputListen,
ismoney: ismoney,
certificateNumber
},
computed: {
...mapGetters({
needsModule: 'system/needsModule',
inMyWork: 'system/inMyWork',
dataFlow: 'system/dataFlow',
})
}
};
</script>
<style lang="scss" scoped>
// .submitBtn{
// position: relative;
// width: 200px;
// font-size: 18px;
// height: 45px;
// margin-top: 50px;
// border-radius: 10px;
// bottom: 10px;
// left: 50%;
// transform: translate(-50%,-20%);
// }
.el-input, .el-select {
width: 100%!important;
// .submitBtn{
// position: relative;
// width: 200px;
// font-size: 18px;
// height: 45px;
// margin-top: 50px;
// border-radius: 10px;
// bottom: 10px;
// left: 50%;
// transform: translate(-50%,-20%);
// }
.el-input,
.el-select {
width: 100% !important;
}
.wrap {
width: 100%;
display: flex;
flex-direction: column;
overflow: auto;
padding: 24px 0 24px 24px;
.nav {
/deep/ .el-menu.el-menu--horizontal {
border: 0;
}
.wrap{
width: 100%;
display: flex;
flex-direction: column;
overflow: auto;
padding: 24px 0 24px 24px;
.nav{
/deep/ .el-menu.el-menu--horizontal{
border: 0;
}
/deep/ .el-menu--horizontal > .el-menu-item.is-active{
border:2px solid #568DF2;
border-radius: 10px;
color: #000;
}
/deep/ .el-menu--horizontal > .el-menu-item{
border: 2px solid transparent;
border-radius: 10px;
margin-right: 10px;
height: 30px;
line-height: 28px;
}
}
.title{
height: 60px;
display: flex;
align-items: center;
font-size: 20px;
padding-left: 0px;
margin-top: 10px;
}
.body{
margin-top: 50px;
overflow: auto;
.idCard{
border-radius: 5px;
background: #CFDDFF;
text-align: center;
height: 40px;
line-height: 40px;
font-size: 18px;
color: #6191FF;
}
.add{
position: relative;
&::after{
content: '';
display: block;
position: absolute;
right: 3%;
top: -4%;
border: 1px dashed #CFDDFF;
width: 88%;
height: 268px;
}
.addBtn{
position: absolute;
left: 0;
top: 50%;
transform: translate(50%,-50%);
font-size: 22px;
}
}
}
.submitBtn{
position: relative;
width: 200px;
font-size: 18px;
height: 45px;
margin-top: 180px;
border-radius: 10px;
bottom: 10px;
left: 50%;
transform: translate(-50%,-20%);
}
/deep/ .el-menu--horizontal>.el-menu-item.is-active {
border: 2px solid #568DF2;
border-radius: 10px;
color: #000;
}
/deep/ .el-menu--horizontal>.el-menu-item {
border: 2px solid transparent;
border-radius: 10px;
margin-right: 10px;
height: 30px;
line-height: 28px;
}
}
.el-select {
width: 279.17px;
.title {
height: 60px;
display: flex;
align-items: center;
font-size: 20px;
padding-left: 0px;
margin-top: 10px;
}
.body {
margin-top: 50px;
overflow: auto;
.idCard {
border-radius: 5px;
background: #CFDDFF;
text-align: center;
height: 40px;
line-height: 40px;
font-size: 18px;
color: #6191FF;
}
.add {
position: relative;
&::after {
content: '';
display: block;
position: absolute;
right: 3%;
top: -4%;
border: 1px dashed #CFDDFF;
width: 88%;
height: 268px;
}
.addBtn {
position: absolute;
left: 0;
top: 50%;
transform: translate(50%, -50%);
font-size: 22px;
}
}
}
.submitBtn {
position: relative;
width: 200px;
font-size: 18px;
height: 45px;
margin-top: 180px;
border-radius: 10px;
bottom: 10px;
left: 50%;
transform: translate(-50%, -20%);
}
}
.el-select {
width: 279.17px;
}
</style>

@ -1,88 +1,173 @@
<template>
<div class="wrap">
<div class="wrap2">
<MyTitle :titleArr="['银行承兑汇票', '承兑汇票开票']"/>
<div class="body">
<el-row :gutter="20">
<el-form ref="form" :model="form" label-width="140px" :rules="rules">
<el-col :span="10" :offset="1">
<el-form-item label="出票人账号" prop="accountNumber">
<el-input @blur="getBlur" :value="form.accountNumber" @input="val => checkHanzi(val, form, 'accountNumber')" ref="accountNumber"></el-input>
</el-form-item>
<el-form-item label="出票人行名" prop="accountTradeName">
<el-input :value="form.accountTradeName" disabled @input="val => checkHanzi(val, form, 'accountTradeName')"></el-input>
</el-form-item>
<el-form-item label="收款人账号" prop="collectionNumber">
<el-input @blur="getBlur2" :value="form.collectionNumber" @input="val => checkHanzi(val, form, 'collectionNumber')" ref="collectionNumber"></el-input>
</el-form-item>
<el-form-item label="收款人行名" prop="collectionTradeName">
<el-input :value="form.collectionTradeName" disabled @input="val => checkHanzi(val, form, 'collectionTradeName')" ref="collectionTradeName"></el-input>
</el-form-item>
<el-form-item label="票据号码" prop="moneyOrderNumber">
<el-input :value="form.moneyOrderNumber" @input="val => checkHanzi(val, form, 'moneyOrderNumber')" ref="moneyOrderNumber"></el-input>
</el-form-item>
<el-form-item label="到期日期" prop="expireDate">
<el-input v-model.trim="form.expireDate" ref="expireDate"></el-input>
</el-form-item>
<el-form-item label="申请人证件类型" prop="ApplicantDocuments">
<el-select v-model.trim="form.ApplicantDocuments" placeholder="请选择" ref="ApplicantDocuments">
<el-option value="身份证">身份证</el-option>
<el-option value="港澳台居民回乡证">港澳台居民回乡证</el-option>
<el-option value="护照">护照</el-option>
</el-select>
</el-form-item>
<el-form-item label="币种" prop="currencyType">
<el-select v-model.trim="form.currencyType" placeholder="请选择" ref="currencyType">
<el-option v-for="item in getSelectList.currencySelectList" :label="item.options" :value="item.itemId" :key="item.itemId"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="汇票费金额" prop="moneyOrderMoney">
<el-input :value="form.moneyOrderMoney" @input="val => ismoney(val, form, 'moneyOrderMoney')" ref="moneyOrderMoney"></el-input>
</el-form-item>
</el-col>
<el-col :span="10" :offset="1">
<el-form-item label="出票人名称" prop="accountName">
<el-input :value="form.accountName" @input="val => checkName(val, form, 'accountName')" ref="accountName"></el-input>
</el-form-item>
<el-form-item label="出票行地址" prop="tradeAddress">
<el-input v-model.trim="form.tradeAddress" ref="tradeAddress"></el-input>
</el-form-item>
<el-form-item label="收款人名称" prop="collectionName">
<el-input :value="form.collectionName" @input="val => checkName(val, form, 'collectionName')" ref="collectionName"></el-input>
</el-form-item>
<el-form-item label="票据类型" prop="billType">
<el-select v-model.trim="form.billType" placeholder="请选择" ref="billType">
<el-option v-for="item in getSelectList.billTypeSelect" :label="item.options" :value="item.itemId" :key="item.itemId" ></el-option>
</el-select>
</el-form-item>
<el-form-item label="出票日期" prop="drawBillDate">
<el-input v-model.trim="form.drawBillDate" ref="drawBillDate"></el-input>
</el-form-item>
<el-form-item label="是否转让" prop="isTransfer">
<el-select v-model.trim="form.isTransfer" placeholder="请选择" ref="isTransfer">
<el-option v-for="item in getSelectList.isTranslate" :label="item.options" :value="item.itemId" :key="item.itemId" ></el-option>
</el-select>
</el-form-item>
<el-form-item label="证件号码" prop="certificateNumber">
<el-input :value="form.certificateNumber" @input="val => checkHanzi(val, form, 'certificateNumber')" ref="certificateNumber"></el-input>
</el-form-item>
<el-form-item label="金额" prop="money">
<el-input :value="form.money" @input="val => ismoney(val, form, 'money')" ref="money"></el-input>
</el-form-item>
<el-form-item label="手续费金额" prop="serviceCharge">
<el-input :value="form.serviceCharge" @input="val => ismoney(val, form, 'serviceCharge')" ref="serviceCharge"></el-input>
</el-form-item>
</el-col>
<div class="wrap">
<div class="wrap2">
<MyTitle :titleArr="['银行承兑汇票', '承兑汇票开票']" />
<div class="body">
<el-row :gutter="20">
<el-form ref="form"
:model="form"
label-width="140px"
:rules="rules">
<el-col :span="10"
:offset="1">
<el-form-item label="出票人账号"
prop="accountNumber">
<el-input @blur="getBlur"
:value="form.accountNumber"
@input="val => checkHanzi(val, form, 'accountNumber')"
ref="accountNumber"></el-input>
</el-form-item>
<el-form-item label="出票人行名"
prop="accountTradeName">
<el-input :value="form.accountTradeName"
disabled
@input="val => checkHanzi(val, form, 'accountTradeName')"></el-input>
</el-form-item>
</el-form>
</el-row>
</div>
<el-button @click="submitForm" type="primary" class="submitBtn" v-throttle>提交</el-button>
<my-dialog :moduleName="moduleName" v-if="visible" :visible.sync="visible" :showForm="form" :formName="formName" @submitIt="submitForm2" :needAuth='true' />
</div>
<el-form-item label="收款人账号"
prop="collectionNumber">
<el-input @blur="getBlur2"
:value="form.collectionNumber"
@input="val => checkHanzi(val, form, 'collectionNumber')"
ref="collectionNumber"></el-input>
</el-form-item>
<el-form-item label="收款人行名"
prop="collectionTradeName">
<el-input :value="form.collectionTradeName"
disabled
@input="val => checkHanzi(val, form, 'collectionTradeName')"
ref="collectionTradeName"></el-input>
</el-form-item>
<el-form-item label="票据号码"
prop="moneyOrderNumber">
<el-input :value="form.moneyOrderNumber"
@input="val => checkHanzi(val, form, 'moneyOrderNumber')"
ref="moneyOrderNumber"></el-input>
</el-form-item>
<el-form-item label="到期日期"
prop="expireDate">
<el-date-picker v-model="form.expireDate"
type="date"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
placeholder="请选择到期日期">
</el-date-picker>
</el-form-item>
<el-form-item label="申请人证件类型"
prop="ApplicantDocuments">
<el-select v-model.trim="form.ApplicantDocuments"
placeholder="请选择"
ref="ApplicantDocuments">
<el-option value="身份证">身份证</el-option>
<el-option value="港澳台居民回乡证">港澳台居民回乡证</el-option>
<el-option value="护照">护照</el-option>
</el-select>
</el-form-item>
<el-form-item label="币种"
prop="currencyType">
<el-select v-model.trim="form.currencyType"
placeholder="请选择"
ref="currencyType">
<el-option v-for="item in getSelectList.currencySelectList"
:label="item.options"
:value="item.itemId"
:key="item.itemId"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="汇票费金额"
prop="moneyOrderMoney">
<el-input :value="form.moneyOrderMoney"
@input="val => ismoney(val, form, 'moneyOrderMoney')"
ref="moneyOrderMoney"></el-input>
</el-form-item>
</el-col>
<el-col :span="10"
:offset="1">
<el-form-item label="出票人名称"
prop="accountName">
<el-input :value="form.accountName"
@input="val => checkName(val, form, 'accountName')"
ref="accountName"></el-input>
</el-form-item>
<el-form-item label="出票行地址"
prop="tradeAddress">
<el-input v-model.trim="form.tradeAddress"
ref="tradeAddress"></el-input>
</el-form-item>
<el-form-item label="收款人名称"
prop="collectionName">
<el-input :value="form.collectionName"
@input="val => checkName(val, form, 'collectionName')"
ref="collectionName"></el-input>
</el-form-item>
<el-form-item label="票据类型"
prop="billType">
<el-select v-model.trim="form.billType"
placeholder="请选择"
ref="billType">
<el-option v-for="item in getSelectList.billTypeSelect"
:label="item.options"
:value="item.itemId"
:key="item.itemId"></el-option>
</el-select>
</el-form-item>
<el-form-item label="出票日期"
prop="drawBillDate">
<el-date-picker v-model="form.drawBillDate"
type="date"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
placeholder="请选择出票日期">
</el-date-picker>
</el-form-item>
<el-form-item label="是否转让"
prop="isTransfer">
<el-select v-model.trim="form.isTransfer"
placeholder="请选择"
ref="isTransfer">
<el-option v-for="item in getSelectList.isTranslate"
:label="item.options"
:value="item.itemId"
:key="item.itemId"></el-option>
</el-select>
</el-form-item>
<el-form-item label="证件号码"
prop="certificateNumber">
<el-input :value="form.certificateNumber"
@input="val => checkHanzi(val, form, 'certificateNumber')"
ref="certificateNumber"></el-input>
</el-form-item>
<el-form-item label="金额"
prop="money">
<el-input :value="form.money"
@input="val => ismoney(val, form, 'money')"
ref="money"></el-input>
</el-form-item>
<el-form-item label="手续费金额"
prop="serviceCharge">
<el-input :value="form.serviceCharge"
@input="val => ismoney(val, form, 'serviceCharge')"
ref="serviceCharge"></el-input>
</el-form-item>
</el-col>
</el-form>
</el-row>
</div>
<el-button @click="submitForm"
type="primary"
class="submitBtn"
v-throttle>提交</el-button>
<my-dialog :moduleName="moduleName"
v-if="visible"
:visible.sync="visible"
:showForm="form"
:formName="formName"
@submitIt="submitForm2"
:needAuth='true' />
</div>
</div>
</template>
<script>
@ -95,297 +180,307 @@ import MyDialog from '@/components/dialogTwo'
const moduleName = 'acceptanceDraft/invoice'
export default {
name: 'index',
components: {
MyTitle,
MyDialog
},
mixins: [ TipsBefore ],
data() {
return {
// my-dialog
visible: false,
moduleName,
form:{
//
accountNumber: '', //
collectionNumber: '', //
moneyOrderNumber: '', //
expireDate: '', //
money: '', //
ApplicantDocuments: '', //
certificateNumber: '', //
drawBillDate: '', //
isTransfer: '', //
//
accountName: '', //
collectionName: '', //
currencyType: '', //
moneyOrderMoney: '', //
accountTradeName: '', //
tradeAddress: '', //
collectionTradeName: '', //
billType: '', //
serviceCharge: '' //
},
formName:{
//
accountNumber: '出票人账号', //
collectionNumber: '收款人账号', //
moneyOrderNumber: '汇票号码', //
expireDate: '到期日期', //
money: '金额', //
ApplicantDocuments: '申请人证件类型', //
certificateNumber: '证件号码', //
drawBillDate: '出票日期', //
isTransfer: '是否转让', //
//
accountName: '出票人名称', //
collectionName: '收款人名称', //
currencyType: '币种', //
moneyOrderMoney: '汇划费金额', //
accountTradeName: '出票人行名', //
tradeAddress: '出票行地址', //
collectionTradeName: '收款人行名', //
billType: '票据类型', //
serviceCharge: '手续费金额' //
},
//
rules: {
collectionName: [
{
required: true,
message: '请输入收款人名称',
trigger: 'blur'
}
],
currencyType: [
{
required: true,
message: '请选择币种',
trigger: 'blur'
}
],
ApplicantDocuments: [
{
required: true,
message: '请选择申请人证件类型',
trigger: 'blur'
}
],
accountNumber: [
{
required: true,
message: '请输入出票人账号',
trigger: 'blur'
},
{
pattern: /^[0-9]*$/,
message: '请输入数字'
}
],
collectionNumber: [
{
required: true,
message: '请输入收款人账号',
trigger: 'blur'
},
{
pattern: /^[0-9]*$/,
message: '请输入数字'
}
],
moneyOrderNumber: [
{
required: true,
message: '请输入汇票号码',
trigger: 'blur'
}
],
expireDate: [
{
required: true,
message: '请选择到期日期',
trigger: 'blur'
}
],
money: [
{
required: true,
message: '请输入金额',
trigger: 'blur'
}
],
certificateNumber: [
{
required: true,
message: '请输入证件号码',
trigger: 'blur'
}
],
isTransfer: [
{
required: true,
message: '请选择是否转让',
trigger: 'blur'
}
],
drawBillDate: [
{
required: true,
message: '请选择出票日期',
trigger: 'blur'
}
],
},
//
myTable2: {
375: {
prop: 'accountNumber', // 1
type: '3',
"subjectId": '67',
},
376: {
prop: 'accountTradeName', // 1
type: '3',
"subjectId": '68',
},
377: {
prop: 'accountName', // 1
type: '3',
"subjectId": '69',
},
378: {
prop: 'tradeAddress', // 1
type: '3',
"subjectId": '70',
},
379: {
prop: 'collectionNumber', // 1
type: '3',
"subjectId": '71',
},
380: {
prop: 'collectionTradeName', // 3
type: '3',
"subjectId": '72',
},
381: {
prop: 'collectionName', // 3
type: '3',
"subjectId": '73',
},
382: {
prop: 'billType', // 3
type: '1',
"subjectId": '57',
},
383: {
prop: 'currencyType', // 3
type: '1',
"subjectId": '8',
},
384: {
prop: 'money', // 3
type: '3',
"subjectId": '14',
},
385: {
prop: 'moneyOrderNumber', // 3
type: '3',
"subjectId": '74',
},
386: {
prop: 'drawBillDate', // 3
type: '3',
"subjectId": '60',
},
387: {
prop: 'expireDate', // 3
type: '3',
"subjectId": '75',
},
388: {
prop: 'isTransfer', // 3
type: '1',
"subjectId": '76',
},
389: {
prop: 'moneyOrderMoney', // 3
type: '3',
"subjectId": '77',
},
390: {
prop: 'serviceCharge', // 3
type: '3',
"subjectId": '78',
},
},
myTable: {
},
}
},
created() {
//
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,30,374'
//
autoPlay2(parentId, this.form, this.myTable2, this.myTable)
if(this.form.moneyOrderNumber) {
this.form.moneyOrderNumber = (this.form.moneyOrderNumber+'').padStart(8, 0)
}
//
this.form.moneyOrderMoney = '6.89'
this.form.serviceCharge = '5.89'
},
mounted() {
this.$refs.accountNumber.focus()
},
methods: {
//
// myValidateelement-uivalidate
submitForm(){
this.$refs.form.validate(myValidate(() => {
this.visible = true
}, this.$refs));
name: 'index',
components: {
MyTitle,
MyDialog
},
mixins: [TipsBefore],
data () {
return {
// my-dialog
visible: false,
moduleName,
form: {
//
accountNumber: '', //
collectionNumber: '', //
moneyOrderNumber: '', //
expireDate: '', //
money: '', //
ApplicantDocuments: '', //
certificateNumber: '', //
drawBillDate: '', //
isTransfer: '', //
//
accountName: '', //
collectionName: '', //
currencyType: '', //
moneyOrderMoney: '', //
accountTradeName: '', //
tradeAddress: '', //
collectionTradeName: '', //
billType: '', //
serviceCharge: '' //
},
submitForm2() {
//
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,30,374'
//
autoPlay(parentId, this.form, this.myTable2, this.myTable)
formName: {
//
accountNumber: '出票人账号', //
collectionNumber: '收款人账号', //
moneyOrderNumber: '汇票号码', //
expireDate: '到期日期', //
money: '金额', //
ApplicantDocuments: '申请人证件类型', //
certificateNumber: '证件号码', //
drawBillDate: '出票日期', //
isTransfer: '是否转让', //
//
accountName: '出票人名称', //
collectionName: '收款人名称', //
currencyType: '币种', //
moneyOrderMoney: '汇划费金额', //
accountTradeName: '出票人行名', //
tradeAddress: '出票行地址', //
collectionTradeName: '收款人行名', //
billType: '票据类型', //
serviceCharge: '手续费金额' //
},
//
getBlur() {
if(this.form.accountNumber) {
this.form.accountTradeName = '商业银行'
}
//
rules: {
collectionName: [
{
required: true,
message: '请输入收款人名称',
trigger: 'blur'
}
],
currencyType: [
{
required: true,
message: '请选择币种',
trigger: 'blur'
}
],
billType: [
{
required: true,
message: '请选择票据类型',
trigger: 'blur'
}
],
ApplicantDocuments: [
{
required: true,
message: '请选择申请人证件类型',
trigger: 'blur'
}
],
accountNumber: [
{
required: true,
message: '请输入出票人账号',
trigger: 'blur'
},
{
pattern: /^[0-9]*$/,
message: '请输入数字'
}
],
collectionNumber: [
{
required: true,
message: '请输入收款人账号',
trigger: 'blur'
},
{
pattern: /^[0-9]*$/,
message: '请输入数字'
}
],
moneyOrderNumber: [
{
required: true,
message: '请输入汇票号码',
trigger: 'blur'
}
],
expireDate: [
{
required: true,
message: '请选择到期日期',
trigger: 'blur'
}
],
money: [
{
required: true,
message: '请输入金额',
trigger: 'blur'
}
],
certificateNumber: [
{
required: true,
message: '请输入证件号码',
trigger: 'blur'
}
],
isTransfer: [
{
required: true,
message: '请选择是否转让',
trigger: 'blur'
}
],
drawBillDate: [
{
required: true,
message: '请选择出票日期',
trigger: 'blur'
}
],
},
//
getBlur2() {
if(this.form.collectionNumber) {
this.form.collectionTradeName = '中交商业银行'
}
//
myTable2: {
375: {
prop: 'accountNumber', // 1
type: '3',
"subjectId": '67',
},
376: {
prop: 'accountTradeName', // 1
type: '3',
"subjectId": '68',
},
377: {
prop: 'accountName', // 1
type: '3',
"subjectId": '69',
},
378: {
prop: 'tradeAddress', // 1
type: '3',
"subjectId": '70',
},
379: {
prop: 'collectionNumber', // 1
type: '3',
"subjectId": '71',
},
380: {
prop: 'collectionTradeName', // 3
type: '3',
"subjectId": '72',
},
381: {
prop: 'collectionName', // 3
type: '3',
"subjectId": '73',
},
382: {
prop: 'billType', // 3
type: '1',
"subjectId": '57',
},
383: {
prop: 'currencyType', // 3
type: '1',
"subjectId": '8',
},
384: {
prop: 'money', // 3
type: '3',
"subjectId": '14',
},
385: {
prop: 'moneyOrderNumber', // 3
type: '3',
"subjectId": '74',
},
386: {
prop: 'drawBillDate', // 3
type: '3',
"subjectId": '60',
},
387: {
prop: 'expireDate', // 3
type: '3',
"subjectId": '75',
},
388: {
prop: 'isTransfer', // 3
type: '1',
"subjectId": '76',
},
389: {
prop: 'moneyOrderMoney', // 3
type: '3',
"subjectId": '77',
},
390: {
prop: 'serviceCharge', // 3
type: '3',
"subjectId": '78',
},
},
ismoney: ismoney,
checkHanzi: checkHanzi,
checkName: checkName
},
computed: {
...mapGetters('system', ['getSelectList'])
myTable: {
},
submited: 0
}
},
created () {
//
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,30,374'
//
autoPlay2(parentId, this.form, this.myTable2, this.myTable)
if (this.form.moneyOrderNumber) {
this.form.moneyOrderNumber = (this.form.moneyOrderNumber + '').padStart(8, 0)
}
//
this.form.moneyOrderMoney = '6.89'
this.form.serviceCharge = '5.89'
},
mounted () {
this.$refs.accountNumber.focus()
},
methods: {
//
// myValidateelement-uivalidate
submitForm () {
if (this.submited) return this.$message.error('已提交!')
this.$refs.form.validate(myValidate(() => {
this.visible = true
}, this.$refs));
},
submitForm2 () {
//
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,30,374'
//
autoPlay(parentId, this.form, this.myTable2, this.myTable)
this.submited = 1
},
//
getBlur () {
if (this.form.accountNumber) {
this.form.accountTradeName = '商业银行'
}
},
//
getBlur2 () {
if (this.form.collectionNumber) {
this.form.collectionTradeName = '中交商业银行'
}
},
ismoney: ismoney,
checkHanzi: checkHanzi,
checkName: checkName
},
computed: {
...mapGetters('system', ['getSelectList'])
}
}
</script>
<style lang="scss" scoped>
.wrap{
.wrap {
width: 100%;
display: flex;
flex-direction: column;
overflow: auto;
padding: 24px 0 24px 24px;
.body{
.body {
margin-top: 50px;
overflow-y: auto;
overflow-x: hidden;

@ -0,0 +1,207 @@
<template>
<!-- 零存整取 -->
<div class="wrap wrap2">
<div class="nav">
<el-menu :default-active="activeIndex" class="el-menu-demo" mode="horizontal" @select="handleSelect">
<el-menu-item index="1">代收水费</el-menu-item>
<el-menu-item index="2">代收电费</el-menu-item>
<el-menu-item index="3">代收电话费</el-menu-item>
</el-menu>
</div>
<MyTitle :titleArr="['代理业务', text]" />
<!-- 代收水费 -->
<waterRate v-if="activeIndex === '1'"></waterRate>
<!-- 代收电费 -->
<electricRate v-if="activeIndex === '2'"></electricRate>
<!-- 代收电话费 -->
<telRate v-if="activeIndex === '3'"></telRate>
<el-dialog style="margin-top:10vh" :visible.sync="visible" :modal="false" width="40%" :close-on-click-modal="false"
:show-close="false" custom-class="data-dia">
<div slot="title" class="dia-header">
<div class="data-title">提交</div>
</div>
<div class="popBody">
<h2>本业务需要授权</h2>
</div>
<div class="popBtns">
<el-button class="close btn" @click="visible = false"> </el-button>
<el-button class="sure btn" type="primary" @click="visible = false"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import waterRate from './waterRate.vue'
import electricRate from './electricRate.vue'
import telRate from './telRate.vue'
import MyTitle from '@/components/myTitle'
export default {
name: 'index',
components: {
waterRate,
electricRate,
telRate,
MyTitle
},
data () {
return {
text: '',/* 顶部文字 */
cacheVal: '',
textObj: {
'1': '代收水费',
'2': '代收电费',
'3': '代收电话费',
},
form: {
},
visible: false,
options: [],
activeIndex: '1',
second: [//
],
}
},
created () {
if (sessionStorage.getItem('agentIndex')) {
this.handleSelect(sessionStorage.getItem('agentIndex'))
} else {
this.handleSelect('1')
}
},
methods: {
handleSelect (val) {
this.text = this.textObj[val]
this.activeIndex = val
this.cacheVal = val
},
},
destroyed () {
sessionStorage.setItem('agentIndex', this.cacheVal)
}
};
</script>
<style lang="scss" scoped>
.wrap {
width: 100%;
display: flex;
flex-direction: column;
overflow: hidden;
padding: 24px 0 24px 24px;
.nav {
/deep/ .el-menu.el-menu--horizontal {
border: 0;
}
/deep/ .el-menu--horizontal>.el-menu-item.is-active {
border: 2px solid #568df2;
border-radius: 10px;
color: #000;
}
/deep/ .el-menu--horizontal>.el-menu-item {
border: 2px solid transparent;
border-radius: 10px;
margin-right: 10px;
height: 30px;
line-height: 28px;
}
}
.title {
height: 60px;
display: flex;
align-items: center;
font-size: 20px;
padding-left: 0px;
margin-top: 10px;
}
.body {
margin-top: 50px;
overflow: auto;
.idCard {
border-radius: 5px;
background: #cfddff;
text-align: center;
height: 40px;
line-height: 40px;
font-size: 18px;
color: #6191ff;
}
.add {
position: relative;
&::after {
content: '';
display: block;
position: absolute;
right: 3%;
top: -4%;
border: 1px dashed #cfddff;
width: 88%;
height: 268px;
}
.addBtn {
position: absolute;
left: 0;
top: 50%;
transform: translate(50%, -50%);
font-size: 22px;
}
}
}
.submitBtn {
position: relative;
width: 300px;
font-size: 18px;
height: 45px;
margin-top: 50px;
border-radius: 10px;
bottom: 10px;
left: 50%;
transform: translate(-50%, -50%);
}
.popBody {
min-height: 200px;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
}
.popBtns {
display: flex;
justify-content: space-between;
align-items: center;
.btn {
width: 180px;
border-radius: 10px;
font-size: 18px;
}
.close {
background: #cfdeff;
color: #6191ff;
}
.sure {
background: #6191ff;
color: #fff;
}
}
}
</style>

@ -0,0 +1,396 @@
<!-- 代收电费 -->
<template>
<div class="body">
<el-row :gutter="20" style="margin: 0">
<el-form ref="form" :model="form" label-width="120px" :rules="rules">
<el-col :span="10" :offset="1">
<el-form-item label="证件类型" prop="certificateType">
<el-select v-model.trim="form.certificateType" placeholder="请选择" ref="certificateType" disabled>
<el-option label="身份证" :value="83"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="账号" required>
<div v-if='!cardNumberJudge' class="idCard" @click="popUp2('刷卡器')">
<p>请刷卡</p>
</div>
<div v-else>
<el-input maxlength="20" ref="voucherNumber" disabled :value="form.voucherNumber"
@input="(val) => inputListen(val, form, 'voucherNumber')"></el-input>
</div>
</el-form-item>
<el-form-item label="缴费单位" prop="paymentUnit">
<el-input v-model="form.paymentUnit" />
</el-form-item>
</el-col>
<el-col :span="10" :offset="1">
<el-form-item label="证件号码" required>
<div class="idCard" @click="popUp1('身份证扫描仪')" v-if='!idNumberJudge'>
<p>请刷身份证</p>
</div>
<div v-else>
<el-input :value="form.idNumber" disabled ref="idNumber"></el-input>
</div>
</el-form-item>
<el-form-item label="客户姓名" prop="customerName">
<el-input ref="customerName" disabled :value="form.customerName"
@input="(val) => checkName(val, form, 'customerName')"></el-input>
</el-form-item>
<el-form-item label="户号" prop="houseId">
<el-input v-model="form.houseId" />
</el-form-item>
</el-col>
<el-col :span="21" :offset="1">
<el-form-item label="住址信息" prop="address">
<el-input type="textarea" :rows="3" placeholder="请输入住址信息" v-model.trim="form.address"></el-input>
</el-form-item>
</el-col>
<el-col :span="10" :offset="1">
<el-form-item label="缴费金额" prop="paymentMoney">
<el-input v-model="form.paymentMoney" maxlength="15"
@input="val => ismoney(val, form, 'paymentMoney')"></el-input>
</el-form-item>
<el-form-item label="支取密码" required>
<div v-if='!form.drawPassword' class="idCard" @click="popUp3('密码器')">
<p>请输入密码</p>
</div>
<div v-else @click="popUp3('密码器')">
<el-input :value="form.drawPassword" ref="drawPassword" type="password"></el-input>
</div>
</el-form-item>
</el-col>
<el-col :span="10" :offset="1">
<el-form-item label="每月代扣" prop="monthlyWithholding" required>
<el-radio-group v-model.trim="form.monthlyWithholding">
<el-radio :label="142"></el-radio>
<el-radio :label="143"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<my-dialog :moduleName="moduleName" v-if="visible" :visible.sync="visible" :showForm="form" :formName="formName"
:spare="false" @submitIt="submitForm2" depositNumber='0816' />
</el-form>
</el-row>
<el-button @click="submitForm" type="primary" class="submitBtn" v-throttle>提交</el-button>
</div>
</template>
<script>
import { myValidate, checkHanzi, checkName, ismoney, autoPlay, autoPlay2, inputListen, messageIdCard, messageCard, messagePassword } from '@/utils/utilFunction.js';
import { mobPattern, namePattern, ratePattern, vercustomer } from '@/utils/verify.js'
import { addOperation, getOperation } from '@/api/http';
const moduleName = 'agent/electricRate'
import { mapMutations, mapGetters } from 'vuex'
import NeedBefore from '@/components/needBefore'
import MyDialog from '@/components/dialog'
import TipsBefore from '@/mixins/tipsBefore'
export default {
name: '',
props: {},
components: {
NeedBefore,
MyDialog
},
mixins: [TipsBefore],
created () {
if (sessionStorage.getItem('electricRatePassword')) {
this.form.drawPassword = sessionStorage.getItem('electricRatePassword')
}
if (sessionStorage.getItem('electricRateIdCard')) {
this.idNumberJudge = true
//
const { idNumber, userName, peopleNumber, currency, goldLogo } = this.dataFlow
this.form.clientNumber = peopleNumber
this.form.idNumber = idNumber
this.form.customerName = userName
this.form.currency = currency
this.form.goldLogo = goldLogo
this.form.voucherType = 127
}
if (sessionStorage.getItem('electricRateBankCard')) {
this.cardNumberJudge = true
const { voucherNumber } = this.dataFlow
this.form.voucherNumber = voucherNumber
}
// this.getFormData()
},
data () {
return {
moduleName,
visible: false,
cardNumberJudge: false,
idNumberJudge: false,
form: {
certificateType: 83,
idNumber: '',
voucherNumber: '',
customerName: '',
paymentUnit: '',
houseId: '',
address: '',
paymentMoney: '',
monthlyWithholding: '',
drawPassword: '',
},
formName: {
certificateType: '证件类型',
idNumber: '证件号码',
voucherNumber: '账号',
customerName: '客户姓名',
paymentUnit: '缴费单位',
houseId: '户号',
address: '住址信息',
paymentMoney: '缴费金额',
monthlyWithholding: '每月代扣',
drawPassword: '支付密码',
},
rules: {
customerName: vercustomer,
idNumber: [
{
required: true,
message: '请输入证件号码',
trigger: 'blur'
}
],
voucherNumber: [
{
required: true,
message: '请输入账号',
trigger: 'blur'
}
],
customerName: [
{
required: true,
message: '请输入客户姓名',
trigger: 'blur'
}
],
paymentUnit: [
{
required: true,
message: '请输入缴费单位',
trigger: 'blur'
}
],
houseId: [
{
required: true,
message: '请输入户号',
trigger: 'blur'
}
],
address: [
{
required: true,
message: '请输入住址信息',
trigger: 'blur'
}
],
paymentMoney: [
{
required: true,
message: '请输入缴费金额',
trigger: 'blur'
}
],
monthlyWithholding: [
{
required: true,
message: '请选择每月代扣',
trigger: 'change'
}
],
},
myTable2: {
158: {
prop: 'certificateType',//
type: '1',
"subjectId": 19,
},
// 169: {
// prop: 'customerManage',//
// type: '3',
// "subjectId": 27,
// },
160: {
prop: 'clientNumber',//
type: '3',
"subjectId": 6,
}
},
myTable: {
159: {
prop: 'idNumber',//
type: '3',
},
161: {
prop: 'customerName',//
type: '3',
"subjectId": 7,
},
162: {
prop: 'currency',//
type: '1',
"subjectId": 8,
},
163: {
prop: 'goldLogo',//
type: '1',
"subjectId": 9,
},
164: {
prop: 'voucherType',//
type: '1',
"subjectId": 11,
},
166: {
prop: 'voucherNumber',//
type: '3',
"subjectId": 44,
},
167: {
prop: 'drawPassword',
type: '3',
"subjectId": 17,
},
168: {
prop: 'monthDeposit',//
type: '3',
"subjectId": 31,
},
170: {
prop: 'extendDepositTarget',//
type: '1',
"subjectId": 37,
},
},
submited: 0
}
},
mounted () {
},
methods: {
...mapMutations({
changeShowGoods: 'system/changeShowGoods',
setDataFlow: 'system/setDataFlow',
setNeedsModule: 'system/setNeedsModule',
setPopId: 'system/setPopId',
setTipsOperate: 'system/setTipsOperate'
}),
popUp1 (text) {
this.setTipsOperate('请刷身份证');
this.setPopId('722')
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},
popUp2 (text) {
this.setTipsOperate('请刷银行卡');
this.setPopId('724')
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},
popUp3 (text) {
this.setTipsOperate('请在密码器输入密码');
this.setPopId('729')
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},
getFormData () {
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,26,59,155'
const cards = {
// 1399: 'nomUsefulPhrasesOpenCard2',
// 166: 'nomUsefulPhrasesOpenCard',
// 167: 'nomUsefulPhrasesOpenPassword'
}
const callback = () => {
if (this.form.idNumber) {
this.idNumberJudge = true
}
if (this.form.voucherNumber) {
this.cardNumberJudge = true
}
if (sessionStorage.getItem('nomUsefulPhrasesOpenPassword')) {
this.form.drawPassword = sessionStorage.getItem('nomUsefulPhrasesOpenPassword')
}
}
autoPlay2(parentId, this.form, this.myTable2, this.myTable, cards, callback)
},
submitForm () {
if (this.submited) return this.$message.error('已提交!')
if (!this.form.idNumber) {
messageIdCard()
return
}
if (!this.form.voucherNumber) {
messageCard('请填写账号')
return
}
if (!this.form.drawPassword) {
messagePassword()
return
}
this.$refs.form.validate(myValidate(() => {
//
this.visible = true;
}, this.$refs));
},
submitForm2 () {
let projectId = sessionStorage.getItem('projectId')
let startTime = sessionStorage.getItem('startTime')
let formList = [];
const { form } = this
const preId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,706,710'
formList.push(
{ answerId: 721, emptyOne: 19, emptyTwo: form.certificateType, operationIds: preId + ',721', type: 1 },
{ answerId: 722, emptyOne: '', emptyTwo: '', operationIds: preId + ',722', type: '' },
{ answerId: 724, emptyOne: 84, emptyTwo: form.voucherNumber, operationIds: preId + ',724', type: 3 },
{ answerId: 723, emptyOne: 7, emptyTwo: form.customerName, operationIds: preId + ',723', type: 3 },
{ answerId: 725, emptyOne: 111, emptyTwo: form.paymentUnit, operationIds: preId + ',725', type: 3 },
{ answerId: 726, emptyOne: 112, emptyTwo: form.houseId, operationIds: preId + ',726', type: 3 },
{ answerId: 730, emptyOne: 153, emptyTwo: form.address, operationIds: preId + ',730', type: 3 },
{ answerId: 727, emptyOne: 113, emptyTwo: form.paymentMoney, operationIds: preId + ',727', type: 3 },
{ answerId: 728, emptyOne: 114, emptyTwo: form.monthlyWithholding, operationIds: preId + ',728', type: 1 },
{ answerId: 729, emptyOne: 17, emptyTwo: form.drawPassword, operationIds: preId + ',729', type: 3 },
)
let params = {
parentId: preId,
lcJudgmentRuleReq: formList,
projectId: +projectId,
startTime: startTime,
}
addOperation(params).then((data) => {
this.setDataFlow({ ...this.form })
this.submited = 1
}).catch((error) => {
this.$message({
message: '服务器繁忙,提交失败。',
center: true,
type: 'info'
});
})
},
ismoney,
checkHanzi,
checkName,
inputListen,
},
computed: {
...mapGetters({
dataFlow: 'system/dataFlow',
needsModule: 'system/needsModule',
idCardNumber: 'system/idCardNumber',
inMyWork: 'system/inMyWork',
getSelectList: 'system/getSelectList'
})
}
}
</script>
<style lang='scss' scoped></style>

@ -0,0 +1,388 @@
<!-- 代收电话费 -->
<template>
<div class="body">
<el-row :gutter="20" style="margin: 0">
<el-form ref="form" :model="form" label-width="120px" :rules="rules">
<el-col :span="10" :offset="1">
<el-form-item label="证件类型" prop="certificateType">
<el-select v-model.trim="form.certificateType" placeholder="请选择" ref="certificateType">
<el-option label="身份证" :value="83"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="账号" required>
<div v-if='!cardNumberJudge' class="idCard" @click="popUp2('刷卡器')">
<p>请刷卡</p>
</div>
<div v-else>
<el-input maxlength="20" ref="voucherNumber" disabled :value="form.voucherNumber"
@input="(val) => inputListen(val, form, 'voucherNumber')"></el-input>
</div>
</el-form-item>
<el-form-item label="缴费单位" prop="paymentUnit">
<el-input v-model="form.paymentUnit" />
</el-form-item>
<el-form-item label="缴费号码" prop="paymentNum">
<el-input v-model="form.paymentNum" maxlength="30"></el-input>
</el-form-item>
<el-form-item label="每月代扣" prop="monthlyWithholding">
<el-radio-group v-model.trim="form.monthlyWithholding">
<el-radio :label="142"></el-radio>
<el-radio :label="143"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="10" :offset="1">
<el-form-item label="证件号码" required>
<div class="idCard" @click="popUp1('身份证扫描仪')" v-if='!idNumberJudge'>
<p>请刷身份证</p>
</div>
<div v-else>
<el-input :value="form.idNumber" disabled ref="idNumber"></el-input>
</div>
</el-form-item>
<el-form-item label="客户姓名" prop="customerName">
<el-input ref="customerName" disabled :value="form.customerName"
@input="(val) => checkName(val, form, 'customerName')"></el-input>
</el-form-item>
<el-form-item label="号码类型" prop="numType">
<el-select v-model.trim="form.numType" placeholder="请选择">
<el-option label="手机号码" :value="144"></el-option>
<el-option label="座机号码" :value="145"></el-option>
</el-select>
</el-form-item>
<el-form-item label="缴费金额" prop="paymentMoney">
<el-input :value="form.paymentMoney" maxlength="15"
@input="val => ismoney(val, form, 'paymentMoney')"></el-input>
</el-form-item>
<el-form-item label="支取密码" required>
<div v-if='!form.drawPassword' class="idCard" @click="popUp3('密码器')">
<p>请输入密码</p>
</div>
<div v-else @click="popUp3('密码器')">
<el-input :value="form.drawPassword" ref="drawPassword" type="password"></el-input>
</div>
</el-form-item>
</el-col>
<my-dialog :moduleName="moduleName" v-if="visible" :visible.sync="visible" :showForm="form" :formName="formName"
:spare="false" @submitIt="submitForm2" depositNumber='0816' />
</el-form>
</el-row>
<el-button @click="submitForm" type="primary" class="submitBtn" v-throttle>提交</el-button>
</div>
<!-- <need-before v-else :moduleName='needBefore' :unNeed="unNeed" /> -->
</template>
<script>
import { myValidate, checkHanzi, checkName, ismoney, autoPlay, autoPlay2, inputListen, messageIdCard, messageCard, messagePassword } from '@/utils/utilFunction.js';
import { mobPattern, namePattern, ratePattern, vercustomer } from '@/utils/verify.js'
import { addOperation, getOperation } from '@/api/http';
const moduleName = 'agent/telRate'
import { mapMutations, mapGetters } from 'vuex'
import NeedBefore from '@/components/needBefore'
import MyDialog from '@/components/dialog'
import TipsBefore from '@/mixins/tipsBefore'
export default {
name: '',
props: {},
components: {
NeedBefore,
MyDialog
},
mixins: [TipsBefore],
created () {
if (sessionStorage.getItem('telRatePassword')) {
this.form.drawPassword = sessionStorage.getItem('telRatePassword')
}
if (sessionStorage.getItem('telRateIdCard')) {
this.idNumberJudge = true
const { idNumber, userName } = this.dataFlow
this.form.idNumber = idNumber
this.form.customerName = userName
}
if (sessionStorage.getItem('telRateBankCard')) {
this.cardNumberJudge = true
const { voucherNumber } = this.dataFlow
this.form.voucherNumber = voucherNumber
}
// this.getFormData()
},
data () {
return {
moduleName,
visible: false,
cardNumberJudge: false,
idNumberJudge: false,
form: {
certificateType: 83,
idNumber: '',
voucherNumber: '',
customerName: '',
paymentUnit: '',
numType: '',
paymentNum: '',
paymentMoney: '',
monthlyWithholding: '',
drawPassword: '',
},
formName: {
certificateType: '证件类型',
idNumber: '证件号码',
voucherNumber: '账号',
customerName: '客户姓名',
paymentUnit: '缴费单位',
numType: '号码类型',
paymentNum: '缴费号码',
paymentMoney: '缴费金额',
monthlyWithholding: '每月代扣',
drawPassword: '支付密码',
},
rules: {
customerName: vercustomer,
idNumber: [
{
required: true,
message: '请输入证件号码',
trigger: 'blur'
}
],
voucherNumber: [
{
required: true,
message: '请输入账号',
trigger: 'blur'
}
],
customerName: [
{
required: true,
message: '请输入客户姓名',
trigger: 'blur'
}
],
paymentUnit: [
{
required: true,
message: '请输入缴费单位',
trigger: 'blur'
}
],
numType: [
{
required: true,
message: '请选择号码类型',
trigger: 'change'
}
],
paymentNum: [
{
required: true,
message: '请输入缴费号码',
trigger: 'blur'
}
],
paymentMoney: [
{
required: true,
message: '请输入缴费金额',
trigger: 'blur'
}
],
monthlyWithholding: [
{
required: true,
message: '请选择每月代扣',
trigger: 'change'
}
],
},
myTable2: {
158: {
prop: 'certificateType',//
type: '1',
"subjectId": 19,
},
// 169: {
// prop: 'customerManage',//
// type: '3',
// "subjectId": 27,
// },
160: {
prop: 'clientNumber',//
type: '3',
"subjectId": 6,
}
},
myTable: {
159: {
prop: 'idNumber',//
type: '3',
},
161: {
prop: 'customerName',//
type: '3',
"subjectId": 7,
},
162: {
prop: 'currency',//
type: '1',
"subjectId": 8,
},
163: {
prop: 'goldLogo',//
type: '1',
"subjectId": 9,
},
164: {
prop: 'voucherType',//
type: '1',
"subjectId": 11,
},
166: {
prop: 'voucherNumber',//
type: '3',
"subjectId": 44,
},
167: {
prop: 'drawPassword',
type: '3',
"subjectId": 17,
},
168: {
prop: 'monthDeposit',//
type: '3',
"subjectId": 31,
},
170: {
prop: 'extendDepositTarget',//
type: '1',
"subjectId": 37,
},
},
submited: 0
}
},
mounted () {
},
methods: {
...mapMutations({
changeShowGoods: 'system/changeShowGoods',
setDataFlow: 'system/setDataFlow',
setNeedsModule: 'system/setNeedsModule',
setPopId: 'system/setPopId',
setTipsOperate: 'system/setTipsOperate'
}),
popUp1 (text) {
this.setTipsOperate('请刷身份证');
this.setPopId('732')
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},
popUp2 (text) {
this.setTipsOperate('请刷银行卡');
this.setPopId('733')
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},
popUp3 (text) {
this.setTipsOperate('请在密码器输入密码');
this.setPopId('740')
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},
getFormData () {
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,26,59,155'
const cards = {
// 1399: 'nomUsefulPhrasesOpenCard2',
// 166: 'nomUsefulPhrasesOpenCard',
// 167: 'nomUsefulPhrasesOpenPassword'
}
const callback = () => {
if (this.form.idNumber) {
this.idNumberJudge = true
}
if (this.form.voucherNumber) {
this.cardNumberJudge = true
}
if (sessionStorage.getItem('nomUsefulPhrasesOpenPassword')) {
this.form.drawPassword = sessionStorage.getItem('nomUsefulPhrasesOpenPassword')
}
}
autoPlay2(parentId, this.form, this.myTable2, this.myTable, cards, callback)
},
submitForm () {
if (this.submited) return this.$message.error('已提交!')
if (!this.form.idNumber) {
messageIdCard()
return
}
if (!this.form.voucherNumber) {
messageCard('请填写账号')
return
}
if (!this.form.drawPassword) {
messagePassword()
return
}
this.$refs.form.validate(myValidate(() => {
//
this.visible = true;
}, this.$refs));
},
submitForm2 () {
let projectId = sessionStorage.getItem('projectId')
let startTime = sessionStorage.getItem('startTime')
let formList = [];
const { form } = this
const preId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,706,711'
formList.push(
{ answerId: 731, emptyOne: 19, emptyTwo: form.certificateType, operationIds: preId + ',731', type: 1 },
{ answerId: 732, emptyOne: '', emptyTwo: '', operationIds: preId + ',732', type: '' },
{ answerId: 734, emptyOne: 84, emptyTwo: form.voucherNumber, operationIds: preId + ',734', type: 3 },
{ answerId: 733, emptyOne: 7, emptyTwo: form.customerName, operationIds: preId + ',733', type: 3 },
{ answerId: 735, emptyOne: 111, emptyTwo: form.paymentUnit, operationIds: preId + ',735', type: 3 },
{ answerId: 736, emptyOne: 115, emptyTwo: form.numType, operationIds: preId + ',736', type: 1 },
{ answerId: 737, emptyOne: 116, emptyTwo: form.paymentNum, operationIds: preId + ',737', type: 3 },
{ answerId: 738, emptyOne: 113, emptyTwo: form.paymentMoney, operationIds: preId + ',738', type: 3 },
{ answerId: 739, emptyOne: 114, emptyTwo: form.monthlyWithholding, operationIds: preId + ',739', type: 1 },
{ answerId: 740, emptyOne: 17, emptyTwo: form.drawPassword, operationIds: preId + ',740', type: 3 },
)
let params = {
parentId: preId,
lcJudgmentRuleReq: formList,
projectId: +projectId,
startTime: startTime,
}
addOperation(params).then((data) => {
this.setDataFlow({ ...this.form })
this.submited = 1
}).catch((error) => {
this.$message({
message: '服务器繁忙,提交失败。',
center: true,
type: 'info'
});
})
},
ismoney,
checkHanzi,
checkName,
inputListen,
},
computed: {
...mapGetters({
dataFlow: 'system/dataFlow',
needsModule: 'system/needsModule',
idCardNumber: 'system/idCardNumber',
inMyWork: 'system/inMyWork',
getSelectList: 'system/getSelectList'
})
}
}
</script>
<style lang='scss' scoped></style>

@ -0,0 +1,373 @@
<!-- 代收水费 -->
<template>
<div class="body">
<el-row :gutter="20" style="margin: 0">
<el-form ref="form" :model="form" label-width="120px" :rules="rules">
<el-col :span="10" :offset="1">
<el-form-item label="证件类型" prop="certificateType">
<el-select v-model.trim="form.certificateType" placeholder="请选择" ref="certificateType" disabled>
<el-option label="身份证" :value="83"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="账号" required>
<div v-if='!cardNumberJudge' class="idCard" @click="popUp2('刷卡器')">
<p>请刷卡</p>
</div>
<div v-else>
<el-input maxlength="20" ref="voucherNumber" disabled :value="form.voucherNumber"
@input="(val) => inputListen(val, form, 'voucherNumber')"></el-input>
</div>
</el-form-item>
<el-form-item label="缴费单位" prop="paymentUnit">
<el-input v-model="form.paymentUnit" />
</el-form-item>
<el-form-item label="缴费金额" prop="paymentMoney">
<el-input :value="form.paymentMoney" maxlength="15"
@input="val => ismoney(val, form, 'paymentMoney')"></el-input>
</el-form-item>
<el-form-item label="支取密码" required>
<div v-if='!form.drawPassword' class="idCard" @click="popUp3('密码器')">
<p>请输入密码</p>
</div>
<div v-else @click="popUp3('密码器')">
<el-input :value="form.drawPassword" ref="drawPassword" type="password"></el-input>
</div>
</el-form-item>
</el-col>
<el-col :span="10" :offset="1">
<el-form-item label="证件号码" required>
<div class="idCard" @click="popUp1('身份证扫描仪')" v-if='!idNumberJudge'>
<p>请刷身份证</p>
</div>
<div v-else>
<el-input :value="form.idNumber" disabled ref="idNumber"></el-input>
</div>
</el-form-item>
<el-form-item label="客户姓名" prop="customerName">
<el-input ref="customerName" disabled :value="form.customerName"
@input="(val) => checkName(val, form, 'customerName')"></el-input>
</el-form-item>
<el-form-item label="户号" prop="houseId">
<el-input v-model="form.houseId" />
</el-form-item>
<el-form-item label="每月代扣" prop="monthlyWithholding">
<el-radio-group v-model.trim="form.monthlyWithholding">
<el-radio :label="142"></el-radio>
<el-radio :label="143"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<my-dialog :moduleName="moduleName" v-if="visible" :visible.sync="visible" :showForm="form" :formName="formName"
:spare="false" @submitIt="submitForm2" depositNumber='0816' />
</el-form>
</el-row>
<el-button @click="submitForm" type="primary" class="submitBtn" v-throttle>提交</el-button>
</div>
</template>
<script>
import { myValidate, checkHanzi, checkName, ismoney, autoPlay, autoPlay2, inputListen, messageIdCard, messageCard, messagePassword } from '@/utils/utilFunction.js';
import { mobPattern, namePattern, ratePattern, vercustomer } from '@/utils/verify.js'
import { addOperation, getOperation } from '@/api/http';
import { mapMutations, mapGetters } from 'vuex'
import NeedBefore from '@/components/needBefore'
import MyDialog from '@/components/dialog'
import TipsBefore from '@/mixins/tipsBefore'
const moduleName = 'agent/waterRate'
export default {
name: '',
props: {},
components: {
NeedBefore,
MyDialog
},
mixins: [TipsBefore],
created () {
if (sessionStorage.getItem('waterRatePassword')) {
this.form.drawPassword = sessionStorage.getItem('waterRatePassword')
}
if (sessionStorage.getItem('waterRateIdCard')) {
this.idNumberJudge = true
const { idNumber } = this.dataFlow
this.form.idNumber = idNumber
}
if (sessionStorage.getItem('waterRateBankCard')) {
this.cardNumberJudge = true
const { voucherNumber, userName } = this.dataFlow
this.form.voucherNumber = voucherNumber
this.form.customerName = userName
}
// this.getFormData()
},
data () {
return {
moduleName,
visible: false,
cardNumberJudge: false,
idNumberJudge: false,
form: {
certificateType: 83,
idNumber: '',
voucherNumber: '',
customerName: '',
paymentUnit: '',
houseId: '',
paymentMoney: '',
monthlyWithholding: '',
drawPassword: '',
},
formName: {
certificateType: '证件类型',
idNumber: '证件号码',
voucherNumber: '账号',
customerName: '客户姓名',
paymentUnit: '缴费单位',
houseId: '户号',
paymentMoney: '缴费金额',
monthlyWithholding: '每月代扣',
drawPassword: '支付密码',
},
rules: {
customerName: vercustomer,
idNumber: [
{
required: true,
message: '请输入证件号码',
trigger: 'blur'
}
],
voucherNumber: [
{
required: true,
message: '请输入账号',
trigger: 'blur'
}
],
customerName: [
{
required: true,
message: '请输入客户姓名',
trigger: 'blur'
}
],
paymentUnit: [
{
required: true,
message: '请输入缴费单位',
trigger: 'blur'
}
],
houseId: [
{
required: true,
message: '请输入户号',
trigger: 'blur'
}
],
paymentMoney: [
{
required: true,
message: '请输入缴费金额',
trigger: 'blur'
}
],
monthlyWithholding: [
{
required: true,
message: '请选择每月代扣',
trigger: 'change'
}
],
},
myTable2: {
158: {
prop: 'certificateType',//
type: '1',
"subjectId": 19,
},
// 169: {
// prop: 'customerManage',//
// type: '3',
// "subjectId": 27,
// },
160: {
prop: 'clientNumber',//
type: '3',
"subjectId": 6,
}
},
myTable: {
159: {
prop: 'idNumber',//
type: '3',
},
161: {
prop: 'customerName',//
type: '3',
"subjectId": 7,
},
162: {
prop: 'currency',//
type: '1',
"subjectId": 8,
},
163: {
prop: 'goldLogo',//
type: '1',
"subjectId": 9,
},
164: {
prop: 'voucherType',//
type: '1',
"subjectId": 11,
},
166: {
prop: 'voucherNumber',//
type: '3',
"subjectId": 44,
},
167: {
prop: 'drawPassword',
type: '3',
"subjectId": 17,
},
168: {
prop: 'monthDeposit',//
type: '3',
"subjectId": 31,
},
170: {
prop: 'extendDepositTarget',//
type: '1',
"subjectId": 37,
},
},
submited: 0
}
},
mounted () {
},
methods: {
...mapMutations({
changeShowGoods: 'system/changeShowGoods',
setDataFlow: 'system/setDataFlow',
setNeedsModule: 'system/setNeedsModule',
setPopId: 'system/setPopId',
setTipsOperate: 'system/setTipsOperate'
}),
popUp1 (text) {
this.setTipsOperate('请刷身份证');
this.setPopId('713')
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},
popUp2 (text) {
this.setTipsOperate('请刷银行卡');
this.setPopId('715')
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},
popUp3 (text) {
this.setTipsOperate('请在密码器输入密码');
this.setPopId('720')
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},
getFormData () {
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,26,59,155'
const cards = {
// 1399: 'nomUsefulPhrasesOpenCard2',
// 166: 'nomUsefulPhrasesOpenCard',
// 167: 'nomUsefulPhrasesOpenPassword'
}
const callback = () => {
if (this.form.idNumber) {
this.idNumberJudge = true
}
if (this.form.voucherNumber) {
this.cardNumberJudge = true
}
if (sessionStorage.getItem('nomUsefulPhrasesOpenPassword')) {
this.form.drawPassword = sessionStorage.getItem('nomUsefulPhrasesOpenPassword')
}
}
autoPlay2(parentId, this.form, this.myTable2, this.myTable, cards, callback)
},
submitForm () {
if (this.submited) return this.$message.error('已提交!')
if (!this.form.idNumber) {
messageIdCard()
return
}
if (!this.form.voucherNumber) {
messageCard('请填写账号')
return
}
if (!this.form.drawPassword) {
messagePassword()
return
}
this.$refs.form.validate(myValidate(() => {
//
this.visible = true;
}, this.$refs));
},
submitForm2 () {
let projectId = sessionStorage.getItem('projectId')
let startTime = sessionStorage.getItem('startTime')
let formList = [];
const { form } = this
const preId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,706,709'
formList.push(
{ answerId: 712, emptyOne: 19, emptyTwo: form.certificateType, operationIds: preId + ',712', type: 1 },
{ answerId: 713, emptyOne: '', emptyTwo: '', operationIds: preId + ',713', type: '' },
{ answerId: 715, emptyOne: 84, emptyTwo: form.voucherNumber, operationIds: preId + ',715', type: 3 },
{ answerId: 714, emptyOne: 7, emptyTwo: form.customerName, operationIds: preId + ',714', type: 3 },
{ answerId: 716, emptyOne: 111, emptyTwo: form.paymentUnit, operationIds: preId + ',716', type: 3 },
{ answerId: 717, emptyOne: 112, emptyTwo: form.houseId, operationIds: preId + ',717', type: 3 },
{ answerId: 718, emptyOne: 113, emptyTwo: form.paymentMoney, operationIds: preId + ',718', type: 3 },
{ answerId: 719, emptyOne: 114, emptyTwo: form.monthlyWithholding, operationIds: preId + ',719', type: 1 },
{ answerId: 720, emptyOne: 114, emptyTwo: form.drawPassword, operationIds: preId + ',720', type: 3 },
)
let params = {
parentId: preId,
lcJudgmentRuleReq: formList,
projectId: +projectId,
startTime: startTime,
}
addOperation(params).then((data) => {
this.setDataFlow({ ...this.form })
this.submited = 1
}).catch((error) => {
this.$message({
message: '服务器繁忙,提交失败。',
center: true,
type: 'info'
});
})
},
ismoney,
checkHanzi,
checkName,
inputListen,
},
computed: {
...mapGetters({
dataFlow: 'system/dataFlow',
needsModule: 'system/needsModule',
idCardNumber: 'system/idCardNumber',
inMyWork: 'system/inMyWork',
getSelectList: 'system/getSelectList'
})
}
}
</script>
<style lang='scss' scoped></style>

@ -162,7 +162,8 @@ export default {
type: '3',
"subjectId": 83,
}
}
},
submited: 0
}
},
created() {
@ -194,6 +195,7 @@ export default {
autoPlay2(parentId, this.form, this.myTable2, this.myTable)
},
submitForm() {
if (this.submited) return this.$message.error('已提交!')
this.$refs.form.validate(myValidate(() => {
this.visible = true;
}, this.$refs));
@ -202,6 +204,7 @@ export default {
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,27,225'
autoPlay(parentId, this.form, this.myTable2, this.myTable)
this.setNeedsModule(moduleName)
this.submited = 1
},
ismoney: ismoney,
rateListen: rateListen,

@ -1,80 +1,158 @@
//
<template>
<div class="wrap wrap2">
<MyTitle :titleArr="['公司业务', text]"/>
<!-- 开户 -->
<div class="body">
<el-row :gutter="20" style="margin: 0">
<el-form ref="form" :model="form" label-width="120px" :rules="rules">
<el-col :span="10" :offset="2">
<el-form-item label="客户号" prop="customerNumber">
<el-input :value="form.customerNumber" maxlength="20" disabled @input="(val) => checkHanzi(val, form, 'customerNumber')" ref="customerNumber"></el-input>
</el-form-item>
<el-form-item label="账户类型" prop="accountType">
<el-select v-model.trim="form.accountType" placeholder="请选择" ref="accountType">
<el-option v-for="item in getSelectList.accountTypeSelectList" :label="item.options" :value="item.itemId" :key="item.itemId"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="账户科目" prop="accountManagement">
<el-select v-model.trim="form.accountManagement" placeholder="请选择" ref="accountManagement">
<el-option v-for="item in getSelectList.accountManagementList" :label="item.options" :value="item.itemId" :key="item.itemId"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="钞汇标识" prop="goldLogo">
<el-select v-model.trim="form.goldLogo" placeholder="请选择" ref="goldLogo">
<el-option v-for="item in getSelectList.goldLogoSelectList" :label="item.options" :value="item.itemId" :key="item.itemId"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="出账页标志" prop="outAccountWay">
<el-select v-model.trim="form.outAccountWay" placeholder="请选择" ref="outAccountWay">
<el-option v-for="item in getSelectList.outAccountWayList" :label="item.options" :value="item.itemId" :key="item.itemId"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="统计代码" prop="clientNumber">
<el-input :value="form.clientNumber" @input="(val) => checkHanzi(val, form, 'clientNumber')" ref="clientNumber"></el-input>
</el-form-item>
<el-form-item label="外汇证号" prop="foreignCurrencyCertificate">
<el-input :value="form.foreignCurrencyCertificate" @input="(val) => checkHanzi(val, form, 'foreignCurrencyCertificate')" ref="foreignCurrencyCertificate"></el-input>
</el-form-item>
</el-col>
<el-col :span="10" :offset="1">
<el-form-item label="客户姓名" prop="customerName">
<el-input :value="form.customerName" disabled @input="(val) => checkName(val, form, 'customerName')" ref="customerName"></el-input>
</el-form-item>
<el-form-item label="账户性质" prop="accountQuality">
<el-select v-model.trim="form.accountQuality" placeholder="请选择" ref="accountQuality">
<el-option v-for="item in getSelectList.accountQualitySelectList" :label="item.options" :value="item.itemId" :key="item.itemId"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="币种" prop="currency">
<el-select v-model.trim="form.currency" placeholder="请选择" ref="currency">
<el-option v-for="item in getSelectList.currencySelectList" :label="item.options" :value="item.itemId" :key="item.itemId"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="计息方式" prop="calculateWay">
<el-select v-model.trim="form.calculateWay" placeholder="请选择" ref="calculateWay">
<el-option v-for="item in getSelectList.calculateWayList" :label="item.options" :value="item.itemId" :key="item.itemId"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="支取方式" prop="drawWay">
<el-select v-model.trim="form.drawWay" placeholder="请选择" ref="drawWay">
<el-option label="印鉴" :value="114"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="外汇核准号" prop="foreignCurrencyBumber">
<el-input :value="form.foreignCurrencyBumber" @input="(val) => checkName(val, form, 'foreignCurrencyBumber')" ref="foreignCurrencyBumber"></el-input>
</el-form-item>
</el-col>
</el-form>
</el-row>
<el-button @click="submitForm" type="primary" class="submitBtn" v-throttle>提交</el-button>
<my-dialog :moduleName="moduleName" v-if="visible" :visible.sync="visible" :showForm="form" :formName="formName" @submitIt="submitForm2" />
</div>
<div class="wrap wrap2">
<MyTitle :titleArr="['公司业务', text]" />
<!-- 开户 -->
<div class="body">
<el-row :gutter="20"
style="margin: 0">
<el-form ref="form"
:model="form"
label-width="120px"
:rules="rules">
<el-col :span="10"
:offset="2">
<el-form-item label="客户号"
prop="customerNumber">
<el-input :value="form.customerNumber"
maxlength="20"
disabled
@input="(val) => checkHanzi(val, form, 'customerNumber')"
ref="customerNumber"></el-input>
</el-form-item>
<el-form-item label="账户类型"
prop="accountType">
<el-select v-model.trim="form.accountType"
placeholder="请选择"
ref="accountType">
<el-option v-for="item in getSelectList.accountTypeSelectList"
:label="item.options"
:value="item.itemId"
:key="item.itemId"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="账户科目"
prop="accountManagement">
<el-select v-model.trim="form.accountManagement"
placeholder="请选择"
ref="accountManagement">
<el-option v-for="item in getSelectList.accountManagementList"
:label="item.options"
:value="item.itemId"
:key="item.itemId"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="钞汇标识"
prop="goldLogo">
<el-select v-model.trim="form.goldLogo"
placeholder="请选择"
ref="goldLogo">
<el-option v-for="item in getSelectList.goldLogoSelectList"
:label="item.options"
:value="item.itemId"
:key="item.itemId"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="出账页标志"
prop="outAccountWay">
<el-select v-model.trim="form.outAccountWay"
placeholder="请选择"
ref="outAccountWay">
<el-option v-for="item in getSelectList.outAccountWayList"
:label="item.options"
:value="item.itemId"
:key="item.itemId"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="统计代码"
prop="clientNumber">
<el-input :value="form.clientNumber"
@input="(val) => checkHanzi(val, form, 'clientNumber')"
ref="clientNumber"></el-input>
</el-form-item>
<el-form-item label="外汇证号"
prop="foreignCurrencyCertificate">
<el-input :value="form.foreignCurrencyCertificate"
@input="(val) => checkHanzi(val, form, 'foreignCurrencyCertificate')"
ref="foreignCurrencyCertificate"></el-input>
</el-form-item>
</el-col>
<el-col :span="10"
:offset="1">
<el-form-item label="客户姓名"
prop="customerName">
<el-input :value="form.customerName"
disabled
@input="(val) => checkName(val, form, 'customerName')"
ref="customerName"></el-input>
</el-form-item>
<el-form-item label="账户性质"
prop="accountQuality">
<el-select v-model.trim="form.accountQuality"
placeholder="请选择"
ref="accountQuality">
<el-option v-for="item in getSelectList.accountQualitySelectList"
:label="item.options"
:value="item.itemId"
:key="item.itemId"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="币种"
prop="currency">
<el-select v-model.trim="form.currency"
placeholder="请选择"
ref="currency">
<el-option v-for="item in getSelectList.currencySelectList"
:label="item.options"
:value="item.itemId"
:key="item.itemId"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="计息方式"
prop="calculateWay">
<el-select v-model.trim="form.calculateWay"
placeholder="请选择"
ref="calculateWay">
<el-option v-for="item in getSelectList.calculateWayList"
:label="item.options"
:value="item.itemId"
:key="item.itemId"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="支取方式"
prop="drawWay">
<el-select v-model.trim="form.drawWay"
placeholder="请选择"
ref="drawWay">
<el-option label="印签"
:value="114"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="外汇核准号"
prop="foreignCurrencyBumber">
<el-input :value="form.foreignCurrencyBumber"
@input="(val) => checkName(val, form, 'foreignCurrencyBumber')"
ref="foreignCurrencyBumber"></el-input>
</el-form-item>
</el-col>
</el-form>
</el-row>
<el-button @click="submitForm"
type="primary"
class="submitBtn"
v-throttle>提交</el-button>
<my-dialog :moduleName="moduleName"
v-if="visible"
:visible.sync="visible"
:showForm="form"
:formName="formName"
@submitIt="submitForm2" />
</div>
</div>
<!-- <need-before v-else :moduleName='needBefore' :unNeed="unNeed" class="wrap" /> -->
<!-- <need-before v-else :moduleName='needBefore' :unNeed="unNeed" class="wrap" /> -->
</template>
<script>
@ -90,260 +168,263 @@ import MyDialog from '@/components/dialog'
import TipsBefore from '@/mixins/tipsBefore'
export default {
name: 'index',
components:{
MyTitle,
NeedBefore,
MyDialog
},
data() {
return {
moduleName: 'business/openAccount',
text:'开户',/* 顶部文字 */
visible: false,
form:{
//
customerName: '', //
accountQuality: '', //
accountType: '', //
accountManagement: '', //
currency: '', //
goldLogo: '', //
calculateWay: '', //
outAccountWay: '', //
drawWay: '', //
//
customerNumber: '', //
clientNumber: '', //
foreignCurrencyBumber: '', //
foreignCurrencyCertificate: '' //
},
formName:{
//
customerName: '客户姓名', //
accountQuality: '账户性质', //
accountType: '账户类型', //
accountManagement: '账户科目', //
currency: '币种', //
goldLogo: '钞汇标识', //
calculateWay: '计息方式', //
outAccountWay: '出账页标志', //
drawWay: '支取方式', //
//
customerNumber: '客户号', //
clientNumber: '统计代码', //
foreignCurrencyBumber: '外汇核准号', //
foreignCurrencyCertificate: '外汇证号' //
},
rules: {
// customerName: vercustomer,
accountQuality: [
{
required: true,
message: '请选择账户性质',
trigger: 'blur'
}
],
accountType: [
{
required: true,
message: '请选择账户类型',
trigger: 'blur'
}
],
// accountManagement: [
// {
// required: true,
// message: '',
// trigger: 'blur'
// }
// ],
currency: [
{
required: true,
message: '请选择币种',
trigger: 'blur'
}
],
// goldLogo: [
// {
// required: true,
// message: '',
// trigger: 'blur'
// }
// ],
// calculateWay: [
// {
// required: true,
// message: '',
// trigger: 'blur'
// }
// ],
// outAccountWay: [
// {
// required: true,
// message: '',
// trigger: 'blur'
// }
// ],
drawWay: [
{
required: true,
message: '请选择支取方式',
trigger: 'blur'
}
]
},
second:[//
name: 'index',
components: {
MyTitle,
NeedBefore,
MyDialog
},
data () {
return {
moduleName: 'business/openAccount',
text: '开户',/* 顶部文字 */
visible: false,
form: {
//
customerName: '', //
accountQuality: '', //
accountType: '', //
accountManagement: '', //
currency: '', //
goldLogo: '', //
calculateWay: '', //
outAccountWay: '', //
drawWay: '', //
//
customerNumber: '', //
clientNumber: '', //
foreignCurrencyBumber: '', //
foreignCurrencyCertificate: '' //
},
formName: {
//
customerName: '客户姓名', //
accountQuality: '账户性质', //
accountType: '账户类型', //
accountManagement: '账户科目', //
currency: '币种', //
goldLogo: '钞汇标识', //
calculateWay: '计息方式', //
outAccountWay: '出账页标志', //
drawWay: '支取方式', //
//
customerNumber: '客户号', //
clientNumber: '统计代码', //
foreignCurrencyBumber: '外汇核准号', //
foreignCurrencyCertificate: '外汇证号' //
},
rules: {
// customerName: vercustomer,
accountQuality: [
{
required: true,
message: '请选择账户性质',
trigger: 'blur'
}
],
accountType: [
{
required: true,
message: '请选择账户类型',
trigger: 'blur'
}
],
// accountManagement: [
// {
// required: true,
// message: '',
// trigger: 'blur'
// }
// ],
currency: [
{
required: true,
message: '请选择币种',
trigger: 'blur'
}
],
// goldLogo: [
// {
// required: true,
// message: '',
// trigger: 'blur'
// }
// ],
// calculateWay: [
// {
// required: true,
// message: '',
// trigger: 'blur'
// }
// ],
// outAccountWay: [
// {
// required: true,
// message: '',
// trigger: 'blur'
// }
// ],
drawWay: [
{
required: true,
message: '请选择支取方式',
trigger: 'blur'
}
]
},
second: [//
],
options:[],
activeIndex:'1',
// if(this.form.customerNumber){
// formList.push({ "answerId":'228', "emptyOne": "19", "emptyTwo": this.form.customerNumber, "operationIds": parentId + ',228', "type": "3" })//
// }
// if(this.form.clientNumber){
// formList.push({ "answerId":'238', "emptyOne": "7", "emptyTwo": this.form.clientNumber, "operationIds": parentId + ',238', "type": "3" })//
// }
// if(this.form.foreignCurrencyBumber){
// formList.push( {"answerId":'239',"emptyOne": "5", "emptyTwo": this.form.foreignCurrencyBumber, "operationIds": parentId + ",239", "type": "3"})//
// }
myTable2: {
228: {
prop: 'customerNumber', // 3
type: '3',
"subjectId": 6,
},
238: {
prop: 'clientNumber', // 3
type: '3',
"subjectId": 41,
},
239: {
prop: 'foreignCurrencyBumber', // 3
type: '3',
"subjectId": 42,
},
318: {
prop: 'foreignCurrencyCertificate',
type: '3',
"subjectId": 50,
}
},
myTable: {
229: {
prop: 'customerName', // 3
type: '3',
"subjectId": 7,
},
231: {
prop: 'accountQuality',
type: '1',
"subjectId": 10,
},
230: {
prop: 'accountType',
type: '1',
"subjectId": 12,
},
232: {
prop: 'accountManagement',
type: '1',
"subjectId": 38,
},
233: {
prop: 'currency',
type: '1',
"subjectId": 8,
},
234: {
prop: 'goldLogo',
type: '1',
"subjectId": 9,
},
235: {
prop: 'calculateWay',
type: '1',
"subjectId": 39,
},
236: {
prop: 'outAccountWay',
type: '1',
"subjectId": 40,
},
237: {
prop: 'drawWay',
type: '1',
"subjectId": 13,
}
}
],
options: [],
activeIndex: '1',
// if(this.form.customerNumber){
// formList.push({ "answerId":'228', "emptyOne": "19", "emptyTwo": this.form.customerNumber, "operationIds": parentId + ',228', "type": "3" })//
// }
// if(this.form.clientNumber){
// formList.push({ "answerId":'238', "emptyOne": "7", "emptyTwo": this.form.clientNumber, "operationIds": parentId + ',238', "type": "3" })//
// }
// if(this.form.foreignCurrencyBumber){
// formList.push( {"answerId":'239',"emptyOne": "5", "emptyTwo": this.form.foreignCurrencyBumber, "operationIds": parentId + ",239", "type": "3"})//
// }
myTable2: {
228: {
prop: 'customerNumber', // 3
type: '3',
"subjectId": 6,
},
238: {
prop: 'clientNumber', // 3
type: '3',
"subjectId": 41,
},
239: {
prop: 'foreignCurrencyBumber', // 3
type: '3',
"subjectId": 42,
},
318: {
prop: 'foreignCurrencyCertificate',
type: '3',
"subjectId": 50,
}
},
mixins: [ TipsBefore ],
created() {
// if(this.isNeedBefore) {
// return
// }
if(this.dataFlow.corporateClient) {
const { peopleNumber, userName } = this.dataFlow
this.form.customerName = userName
this.form.customerNumber = peopleNumber
}
this.getFormData()
},
methods: {
...mapMutations({
changeShowGoods: 'system/changeShowGoods',
setDataFlow: 'system/setDataFlow',
setNeedsModule: 'system/setNeedsModule',
setPopId: 'system/setPopId',
setTipsOperate: 'system/setTipsOperate'
}),
getFormData(){
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,27,224'
autoPlay2(parentId, this.form, this.myTable2, this.myTable)
},
myTable: {
229: {
prop: 'customerName', // 3
type: '3',
"subjectId": 7,
},
submitForm(){
// let projectId = sessionStorage.getItem('projectId')
// let startTime = sessionStorage.getItem('startTime')
if(!this.form.customerName) {
this.setTipsOperate('请先完成 客户信息 -> 公司客户信息建立');
return;
}
this.$refs.form.validate(myValidate(() => {
//
this.visible = true;
}, this.$refs));
231: {
prop: 'accountQuality',
type: '1',
"subjectId": 10,
},
submitForm2(){
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,27,224'
autoPlay(parentId, this.form, this.myTable2, this.myTable)
this.setNeedsModule(moduleName)
230: {
prop: 'accountType',
type: '1',
"subjectId": 12,
},
checkHanzi: checkHanzi,
checkName: checkName
},
computed: {
...mapGetters({
dataFlow: 'system/dataFlow',
needsModule: 'system/needsModule',
idCardNumber: 'system/idCardNumber',
inMyWork: 'system/inMyWork',
getSelectList: 'system/getSelectList'
})
232: {
prop: 'accountManagement',
type: '1',
"subjectId": 38,
},
233: {
prop: 'currency',
type: '1',
"subjectId": 8,
},
234: {
prop: 'goldLogo',
type: '1',
"subjectId": 9,
},
235: {
prop: 'calculateWay',
type: '1',
"subjectId": 39,
},
236: {
prop: 'outAccountWay',
type: '1',
"subjectId": 40,
},
237: {
prop: 'drawWay',
type: '1',
"subjectId": 13,
}
},
submited: 0
}
},
mixins: [TipsBefore],
created () {
// if(this.isNeedBefore) {
// return
// }
if (this.dataFlow.corporateClient) {
const { peopleNumber, userName } = this.dataFlow
this.form.customerName = userName
this.form.customerNumber = peopleNumber
}
this.getFormData()
},
methods: {
...mapMutations({
changeShowGoods: 'system/changeShowGoods',
setDataFlow: 'system/setDataFlow',
setNeedsModule: 'system/setNeedsModule',
setPopId: 'system/setPopId',
setTipsOperate: 'system/setTipsOperate'
}),
getFormData () {
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,27,224'
autoPlay2(parentId, this.form, this.myTable2, this.myTable)
},
submitForm () {
// let projectId = sessionStorage.getItem('projectId')
// let startTime = sessionStorage.getItem('startTime')
if (this.submited) return this.$message.error('已提交!')
if (!this.form.customerName) {
this.setTipsOperate('请先完成 客户信息 -> 公司客户信息建立');
return;
}
this.$refs.form.validate(myValidate(() => {
//
this.visible = true;
}, this.$refs));
},
submitForm2 () {
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,27,224'
autoPlay(parentId, this.form, this.myTable2, this.myTable)
this.setNeedsModule(moduleName)
this.submited = 1
},
checkHanzi: checkHanzi,
checkName: checkName
},
computed: {
...mapGetters({
dataFlow: 'system/dataFlow',
needsModule: 'system/needsModule',
idCardNumber: 'system/idCardNumber',
inMyWork: 'system/inMyWork',
getSelectList: 'system/getSelectList'
})
}
};
</script>
<style lang="scss" scoped>
.wrap{
.wrap {
width: 100%;
display: flex;
flex-direction: column;
overflow: auto;
padding: 24px 0 24px 24px;
.body{
.body {
margin-top: 50px;
overflow-y: auto;
overflow-x: hidden;

@ -1,74 +1,77 @@
//
<template>
<div class="wrap wrap2">
<MyTitle :titleArr="['公司业务', text]"/>
<!-- 开户 -->
<div class="body">
<el-row :gutter="20" style="margin: 0">
<el-form ref="form" :model="form" label-width="120px" :rules="rules">
<el-col :span="10" :offset="2">
<el-form-item label="转出账号" prop="transoutNum">
<el-input :value="form.transoutNum" @blur="getBlurData" maxlength="20" @input="(val) => checkHanzi(val, form, 'transoutNum')" ref="transoutNum"></el-input>
</el-form-item>
<el-form-item label="凭证号码" prop="certificateNum">
<el-input :value="form.certificateNum" maxlength="20" @input="(val) => checkHanzi(val, form, 'certificateNum')" ref="certificateNum"></el-input>
</el-form-item>
<el-form-item label="签发日期" prop="signDate">
<el-date-picker
v-model.trim="form.signDate"
disabled
type="date"
placeholder="选择日期"
ref="signDate">
</el-date-picker>
</el-form-item>
<el-form-item label="钞汇标识" prop="currencyMark">
<el-select v-model.trim="form.currencyMark" disabled placeholder="请选择" ref="currencyMark">
<el-option v-for="item in getSelectList.goldLogoSelectList" :label="item.options" :value="item.itemId" :key="item.itemId"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="转入账号" prop="transinNum">
<el-input :value="form.transinNum" maxlength="20" @input="(val) => checkHanzi(val, form, 'transinNum')" ref="transinNum"></el-input>
</el-form-item>
<el-form-item label="金额" prop="money">
<el-input :value="form.money" maxlength="15" @input="val => ismoney(val, form, 'money')"></el-input>
</el-form-item>
</el-col>
<el-col :span="10" :offset="1">
<el-form-item label="客户姓名" prop="customerName">
<el-input :value="form.customerName" maxlength="20" @input="(val) => checkName(val, form, 'customerName')" ref="customerName"></el-input>
</el-form-item>
<el-form-item label="凭证类型" prop="certificateType">
<el-select v-model.trim="form.certificateType" placeholder="请选择" ref="certificateType">
<el-option label="转账支票" :value="115"> </el-option>
<el-option label="现金支票" :value="116"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="币种" prop="currencyType">
<el-select v-model.trim="form.currencyType" disabled placeholder="请选择" ref="currencyType">
<el-option v-for="item in getSelectList.currencySelectList" :label="item.options" :value="item.itemId" :key="item.itemId"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="支取方式" prop="payWay">
<el-select v-model.trim="form.payWay" disabled placeholder="请选择" ref="payWay">
<el-option label="印签" :value="114"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="转入户名" prop="transinName">
<el-input :value="form.transinName" maxlength="40" @input="(val) => checkHanzi(val, form, 'transinName')"></el-input>
</el-form-item>
<el-form-item label="摘要" prop="abstract">
<el-input v-model.trim="form.abstract" maxlength="60"></el-input>
</el-form-item>
</el-col>
</el-form>
</el-row>
<el-button @click="submitForm" type="primary" class="submitBtn" v-throttle>提交</el-button>
<my-dialog :moduleName="moduleName" v-if="visible" :visible.sync="visible" :showForm="form" :formName="formName" @submitIt="submitForm2" :needAuth="needAuth" />
</div>
<div class="wrap wrap2">
<MyTitle :titleArr="['公司业务', text]" />
<!-- 开户 -->
<div class="body">
<el-row :gutter="20" style="margin: 0">
<el-form ref="form" :model="form" label-width="120px" :rules="rules">
<el-col :span="10" :offset="2">
<el-form-item label="转出账号" prop="transoutNum">
<el-input :value="form.transoutNum" @blur="getBlurData" maxlength="20"
@input="(val) => checkHanzi(val, form, 'transoutNum')" ref="transoutNum"></el-input>
</el-form-item>
<el-form-item label="凭证号码" prop="certificateNum">
<el-input :value="form.certificateNum" maxlength="20"
@input="(val) => checkHanzi(val, form, 'certificateNum')" ref="certificateNum"></el-input>
</el-form-item>
<el-form-item label="签发日期" prop="signDate">
<el-date-picker v-model.trim="form.signDate" disabled type="date" placeholder="选择日期" ref="signDate">
</el-date-picker>
</el-form-item>
<el-form-item label="钞汇标识" prop="currencyMark">
<el-select v-model.trim="form.currencyMark" disabled placeholder="请选择" ref="currencyMark">
<el-option v-for="item in getSelectList.goldLogoSelectList" :label="item.options" :value="item.itemId"
:key="item.itemId"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="转入账号" prop="transinNum">
<el-input :value="form.transinNum" maxlength="20" @input="(val) => checkHanzi(val, form, 'transinNum')"
ref="transinNum"></el-input>
</el-form-item>
<el-form-item label="金额" prop="money">
<el-input :value="form.money" maxlength="15" @input="val => ismoney(val, form, 'money')"></el-input>
</el-form-item>
</el-col>
<el-col :span="10" :offset="1">
<el-form-item label="客户姓名" prop="customerName">
<el-input :value="form.customerName" maxlength="20" @input="(val) => checkName(val, form, 'customerName')"
ref="customerName"></el-input>
</el-form-item>
<el-form-item label="凭证类型" prop="certificateType">
<el-select v-model.trim="form.certificateType" placeholder="请选择" ref="certificateType">
<el-option label="转账支票" :value="115"> </el-option>
<el-option label="现金支票" :value="116"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="币种" prop="currencyType">
<el-select v-model.trim="form.currencyType" disabled placeholder="请选择" ref="currencyType">
<el-option v-for="item in getSelectList.currencySelectList" :label="item.options" :value="item.itemId"
:key="item.itemId"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="支取方式" prop="payWay">
<el-select v-model.trim="form.payWay" disabled placeholder="请选择" ref="payWay">
<el-option label="印签" :value="114"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="转入户名" prop="transinName">
<el-input :value="form.transinName" maxlength="40"
@input="(val) => checkName(val, form, 'transinName')"></el-input>
</el-form-item>
<el-form-item label="摘要" prop="abstract">
<el-input v-model.trim="form.abstract" maxlength="60"></el-input>
</el-form-item>
</el-col>
</el-form>
</el-row>
<el-button @click="submitForm" type="primary" class="submitBtn" v-throttle>提交</el-button>
<my-dialog :moduleName="moduleName" v-if="visible" :visible.sync="visible" :showForm="form" :formName="formName"
@submitIt="submitForm2" :needAuth="needAuth" />
</div>
<!-- <need-before v-else :moduleName='needBefore' :unNeed="unNeed" class="wrap" /> -->
</div>
<!-- <need-before v-else :moduleName='needBefore' :unNeed="unNeed" class="wrap" /> -->
</template>
<script>
@ -83,244 +86,248 @@ import { mapMutations, mapGetters } from 'vuex'
import NeedBefore from '@/components/needBefore'
import MyDialog from '@/components/dialog'
export default {
name: 'index',
components:{
MyTitle,
NeedBefore,
MyDialog
},
mixins: [ TipsBefore ],
data() {
return {
moduleName: 'business/transfer',
text:'转账',/* 顶部文字 */
visible: false,
form:{
//
transoutNum: '', //
certificateNum: '', //
customerName: '', //
transinNum: '', //
transinName: '', //
money: '', //
//
currencyType: '', //
currencyMark: '', //
certificateType: '', //
signDate: '', //
payWay: '', //
abstract: '', //
},
formName:{
//
transoutNum: '转出账号', //
certificateNum: '凭证号码', //
customerName: '客户姓名', //
transinNum: '转入账号', //
transinName: '转入户名', //
money: '金额', //
//
currencyType: '币种', //
currencyMark: '钞汇标识', //
certificateType: '凭证类型', //
signDate: '签发日期', //
payWay: '支取方式', //
abstract: '摘要', //
},
rules: {
customerName: vercustomer,
transoutNum: [
{
required: true,
message: '请输入转出账号',
trigger: 'blur'
}
],
certificateNum: [
{
required: true,
message: '请输入凭证号码',
trigger: 'blur'
}
],
transinNum: [
{
required: true,
message: '请输入转入账号',
trigger: 'blur'
}
],
transinName: [
{
required: true,
message: '请输入转入户名',
trigger: 'blur'
}
],
money: [
{
required: true,
message: '请输入金额',
trigger: 'blur'
}
],
},
second:[//
name: 'index',
components: {
MyTitle,
NeedBefore,
MyDialog
},
mixins: [TipsBefore],
data () {
return {
moduleName: 'business/transfer',
text: '转账',/* 顶部文字 */
visible: false,
form: {
//
transoutNum: '', //
certificateNum: '', //
customerName: '', //
transinNum: '', //
transinName: '', //
money: '', //
//
currencyType: '', //
currencyMark: '', //
certificateType: '', //
signDate: '', //
payWay: '', //
abstract: '', //
},
formName: {
//
transoutNum: '转出账号', //
certificateNum: '凭证号码', //
customerName: '客户姓名', //
transinNum: '转入账号', //
transinName: '转入户名', //
money: '金额', //
//
currencyType: '币种', //
currencyMark: '钞汇标识', //
certificateType: '凭证类型', //
signDate: '签发日期', //
payWay: '支取方式', //
abstract: '摘要', //
},
rules: {
customerName: vercustomer,
transoutNum: [
{
required: true,
message: '请输入转出账号',
trigger: 'blur'
}
],
certificateNum: [
{
required: true,
message: '请输入凭证号码',
trigger: 'blur'
}
],
transinNum: [
{
required: true,
message: '请输入转入账号',
trigger: 'blur'
}
],
transinName: [
{
required: true,
message: '请输入转入户名',
trigger: 'blur'
}
],
money: [
{
required: true,
message: '请输入金额',
trigger: 'blur'
}
],
],
visible:false,
options:[],
activeIndex:'1',
myTable: {
257: {
prop: 'transoutNum',
type: '3',
"subjectId": 85,
},
258: {
prop: 'customerName',
type: '3',
"subjectId": 7,
},
259: {
prop: 'certificateNum',
type: '3',
"subjectId": 44,
},
265: {
prop: 'transinNum',
type: '3',
"subjectId": 86,
},
266: {
prop: 'transinName',
type: '3',
"subjectId": 87,
},
267: {
prop: 'money',
type: '3',
"subjectId": 14,
},
283: {
prop: 'abstract',
type: '3',
"subjectId": 16,
}
},
myTable2: {
260: {
prop: 'certificateType', // 1
type: '1',
"subjectId": 11,
},
261: {
prop: 'signDate',
type: '1',
"subjectId": 47,
},
262: {
prop: 'currencyType', // 1
type: '1',
"subjectId": 8,
},
263: {
prop: 'currencyMark', // 1
type: '1',
"subjectId": 9,
},
264: {
prop: 'payWay', // 1
type: '1',
"subjectId": 13,
}
}
}
},
created() {
if(this.isNeedBefore) {
return
},
second: [//
],
visible: false,
options: [],
activeIndex: '1',
myTable: {
257: {
prop: 'transoutNum',
type: '3',
"subjectId": 85,
},
258: {
prop: 'customerName',
type: '3',
"subjectId": 7,
},
259: {
prop: 'certificateNum',
type: '3',
"subjectId": 44,
},
265: {
prop: 'transinNum',
type: '3',
"subjectId": 86,
},
266: {
prop: 'transinName',
type: '3',
"subjectId": 87,
},
267: {
prop: 'money',
type: '3',
"subjectId": 14,
},
283: {
prop: 'abstract',
type: '3',
"subjectId": 16,
}
this.getFormData()
},
mounted() {
},
methods: {
...mapMutations({
changeShowGoods: 'system/changeShowGoods',
setDataFlow: 'system/setDataFlow',
setNeedsModule: 'system/setNeedsModule',
setPopId: 'system/setPopId'
}),
getBlurData() {
// transoutNum: '', //
// certificateNum: '', //
// customerName: '', //
// transinNum: '', //
// transinName: '', //
// money: '', //
// //
// currencyType: 'CNY', //
// currencyMark: '', //
// certificateType: '', //
// signDate: '', //
// payWay: '', //
// abstract: '', //
if(this.form.transoutNum) {
const { currency } = this.dataFlow
this.form.currencyMark = 13
this.form.signDate = '2021-01-05'
this.form.certificateType = 115
this.form.currencyType = currency
this.form.payWay = 114
}
},
myTable2: {
260: {
prop: 'certificateType', // 1
type: '1',
"subjectId": 11,
},
getFormData(){
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,27,227'
autoPlay2(parentId, this.form, this.myTable2, this.myTable)
261: {
prop: 'signDate',
type: '1',
"subjectId": 47,
},
submitForm() {
this.$refs.form.validate(myValidate(() => {
this.visible = true;
}, this.$refs));
262: {
prop: 'currencyType', // 1
type: '1',
"subjectId": 8,
},
submitForm2() {
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,27,227'
autoPlay(parentId, this.form, this.myTable2, this.myTable)
console.log("🚀 ~ file: transfer.vue ~ line 291 ~ submitForm2 ~ parentId, this.form, this.myTable2, this.myTable", parentId, this.form, this.myTable2, this.myTable)
this.setNeedsModule(moduleName)
263: {
prop: 'currencyMark', // 1
type: '1',
"subjectId": 9,
},
ismoney: ismoney,
checkHanzi: checkHanzi,
checkName: checkName
},
computed: {
...mapGetters({
dataFlow: 'system/dataFlow',
needsModule: 'system/needsModule',
idCardNumber: 'system/idCardNumber',
inMyWork: 'system/inMyWork',
getSelectList: 'system/getSelectList'
}),
needAuth() {
return this.form.money >= 50000
264: {
prop: 'payWay', // 1
type: '1',
"subjectId": 13,
}
},
submited: 0
}
},
created () {
if (this.isNeedBefore) {
return
}
this.getFormData()
},
mounted () {
},
methods: {
...mapMutations({
changeShowGoods: 'system/changeShowGoods',
setDataFlow: 'system/setDataFlow',
setNeedsModule: 'system/setNeedsModule',
setPopId: 'system/setPopId'
}),
getBlurData () {
// transoutNum: '', //
// certificateNum: '', //
// customerName: '', //
// transinNum: '', //
// transinName: '', //
// money: '', //
// //
// currencyType: 'CNY', //
// currencyMark: '', //
// certificateType: '', //
// signDate: '', //
// payWay: '', //
// abstract: '', //
if (this.form.transoutNum) {
const { currency } = this.dataFlow
this.form.currencyMark = 13
this.form.signDate = '2021-01-05'
this.form.certificateType = 115
this.form.currencyType = currency
this.form.payWay = 114
}
},
getFormData () {
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,27,227'
autoPlay2(parentId, this.form, this.myTable2, this.myTable)
},
submitForm () {
if (this.submited) return this.$message.error('已提交!')
this.$refs.form.validate(myValidate(() => {
this.visible = true;
}, this.$refs));
},
submitForm2 () {
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,27,227'
autoPlay(parentId, this.form, this.myTable2, this.myTable)
console.log("🚀 ~ file: transfer.vue ~ line 291 ~ submitForm2 ~ parentId, this.form, this.myTable2, this.myTable", parentId, this.form, this.myTable2, this.myTable)
this.setNeedsModule(moduleName)
this.submited = 1
},
ismoney: ismoney,
checkHanzi: checkHanzi,
checkName: checkName
},
computed: {
...mapGetters({
dataFlow: 'system/dataFlow',
needsModule: 'system/needsModule',
idCardNumber: 'system/idCardNumber',
inMyWork: 'system/inMyWork',
getSelectList: 'system/getSelectList'
}),
needAuth () {
return this.form.money >= 50000
}
}
};
</script>
<style lang="scss" scoped>
.wrap{
width: 100%;
display: flex;
flex-direction: column;
overflow: auto;
padding: 24px 0 24px 24px;
.body{
margin-top: 50px;
overflow-y: auto;
overflow-x: hidden;
}
}
.wrap {
width: 100%;
display: flex;
flex-direction: column;
overflow: auto;
padding: 24px 0 24px 24px;
.body {
margin-top: 50px;
overflow-y: auto;
overflow-x: hidden;
}
}
</style>

@ -206,7 +206,8 @@ export default {
type: '3',
"subjectId": 16,
}
}
},
submited: 0
}
},
@ -237,6 +238,7 @@ export default {
autoPlay2(parentId, this.form, this.myTable2, this.myTable)
},
submitForm() {
if (this.submited) return this.$message.error('已提交!')
this.$refs.form.validate(myValidate(() => {
//
this.visible = true;
@ -248,6 +250,7 @@ export default {
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,27,226'
autoPlay(parentId, this.form, this.myTable2, this.myTable)
this.setNeedsModule(moduleName)
this.submited = 1
},
ismoney: ismoney,
checkName: checkName,

@ -285,6 +285,7 @@ export default {
"subjectId": '66',
}
},
submited: 0
}
},
created() {
@ -308,6 +309,7 @@ export default {
},
methods: {
submitForm() {
if (this.submited) return this.$message.error('已提交!')
this.$refs.form.validate(myValidate(() => {
//
this.visible = true
@ -316,6 +318,7 @@ export default {
submitForm2() {
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,29,345,359'
autoPlay(parentId, this.form, this.myTable2, this.myTable)
this.submited = 1
},
getFocus() {
if(!this.form.shroffAccountNumber) {

@ -1,81 +1,135 @@
//
<template>
<div class="wrap wrap2">
<MyTitle :titleArr="['同城交互', '同城提出']"/>
<!-- 存款 -->
<div class="body">
<el-row :gutter="20" style="margin: 0">
<el-form ref="form" :model="form" label-width="150px" :rules="rules">
<el-col :span="10" :offset="1">
<el-form-item label="本行收款账号" prop="shroffAccountNumber">
<el-input @blur="getBlur" :value="form.shroffAccountNumber" @input="val => checkHanzi(val, form, 'shroffAccountNumber')" ref="shroffAccountNumber"></el-input>
</el-form-item>
<el-form-item label="币种" prop="currency">
<el-select v-model.trim="form.currency" placeholder="请选择" ref="currency">
<el-option v-for="item in getSelectList.currencySelectList" :label="item.options" :value="item.itemId" :key="item.itemId"> </el-option>
<!-- <el-option label="CNY人民币" value="12"></el-option> -->
</el-select>
</el-form-item>
<el-form-item label="提出场次" prop="proposeTime">
<el-input :value="form.proposeTime" @input="val => inputListen(val, form, 'proposeTime')" ref="proposeTime"></el-input>
</el-form-item>
<el-form-item label="他行收款账号" prop="otherAccountNumber">
<el-input :value="form.otherAccountNumber" @input="val => checkHanzi(val, form, 'otherAccountNumber')" ref="otherAccountNumber"></el-input>
</el-form-item>
<el-form-item label="票据类型" prop="billType">
<el-select v-model.trim="form.billType" placeholder="请选择" ref="billType">
<el-option v-for="item in getSelectList.billTypeSelect" :label="item.options" :key="item.itemId" :value="item.itemId" ></el-option>
<!-- <el-option :label="119" :key="item.itemId" :value="item.itemId" ></el-option> -->
</el-select>
</el-form-item>
<el-form-item label="出票日期" prop="drawBillDate">
<div class="wrap wrap2">
<MyTitle :titleArr="['同城交互', '同城提出']" />
<el-date-picker
v-model.trim="form.drawBillDate"
type="date"
placeholder="选择日期"
ref="drawBillDate"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="10" :offset="1">
<el-form-item label="本行收款户名" prop="shroffAccountUsername">
<el-input @focus="getFocus" disabled :value="form.shroffAccountUsername" @input="val => checkName(val, form, 'shroffAccountUsername')" ref="shroffAccountUsername"></el-input>
</el-form-item>
<el-form-item label="金额" prop="money">
<el-input :value="form.money" @input="val => ismoney(val, form, 'money')" ref="money"></el-input>
</el-form-item>
<el-form-item label="提出日期" prop="proposeDate">
<!-- <el-date-picker
<!-- 存款 -->
<div class="body">
<el-row :gutter="20"
style="margin: 0">
<el-form ref="form"
:model="form"
label-width="150px"
:rules="rules">
<el-col :span="10"
:offset="1">
<el-form-item label="本行收款账号"
prop="shroffAccountNumber">
<el-input @blur="getBlur"
:value="form.shroffAccountNumber"
@input="val => checkHanzi(val, form, 'shroffAccountNumber')"
ref="shroffAccountNumber"></el-input>
</el-form-item>
<el-form-item label="币种"
prop="currency">
<el-select v-model.trim="form.currency"
placeholder="请选择"
ref="currency">
<el-option v-for="item in getSelectList.currencySelectList"
:label="item.options"
:value="item.itemId"
:key="item.itemId"> </el-option>
<!-- <el-option label="CNY人民币" value="12"></el-option> -->
</el-select>
</el-form-item>
<el-form-item label="提出场次"
prop="proposeTime">
<el-input :value="form.proposeTime"
@input="val => inputListen(val, form, 'proposeTime')"
ref="proposeTime"></el-input>
</el-form-item>
<el-form-item label="他行收款账号"
prop="otherAccountNumber">
<el-input :value="form.otherAccountNumber"
@input="val => checkHanzi(val, form, 'otherAccountNumber')"
ref="otherAccountNumber"></el-input>
</el-form-item>
<el-form-item label="票据类型"
prop="billType">
<el-select v-model.trim="form.billType"
placeholder="请选择"
ref="billType">
<el-option v-for="item in getSelectList.billTypeSelect"
:label="item.options"
:key="item.itemId"
:value="item.itemId"></el-option>
<!-- <el-option :label="119" :key="item.itemId" :value="item.itemId" ></el-option> -->
</el-select>
</el-form-item>
<el-form-item label="出票日期"
prop="drawBillDate">
<el-date-picker v-model.trim="form.drawBillDate"
type="date"
placeholder="选择日期"
ref="drawBillDate"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="10"
:offset="1">
<el-form-item label="本行收款户名"
prop="shroffAccountUsername">
<el-input @focus="getFocus"
disabled
:value="form.shroffAccountUsername"
@input="val => checkName(val, form, 'shroffAccountUsername')"
ref="shroffAccountUsername"></el-input>
</el-form-item>
<el-form-item label="金额"
prop="money">
<el-input :value="form.money"
@input="val => ismoney(val, form, 'money')"
ref="money"></el-input>
</el-form-item>
<el-form-item label="提出日期"
prop="proposeDate">
<!-- <el-date-picker
v-model.trim="form.proposeDate"
type="date"
placeholder="选择日期"
ref="proposeDate">
</el-date-picker> -->
<el-input :value="form.proposeDate" disabled ref="proposeDate"></el-input>
</el-form-item>
<el-form-item label="他行收款户名" prop="otherAccountUsername">
<el-input :value="form.otherAccountUsername" @input="val => checkName(val, form, 'otherAccountUsername')" ref="otherAccountUsername"></el-input>
</el-form-item>
<el-form-item label="凭证号码" prop="voucherNumber">
<el-input :value="form.voucherNumber" @input="val => checkHanzi(val, form, 'voucherNumber')" ref="voucherNumber"></el-input>
</el-form-item>
<el-form-item label="摘要" prop="abstract">
<el-input v-model.trim="form.abstract" ref="abstract"></el-input>
</el-form-item>
</el-col>
</el-form>
</el-row>
<el-button @click="submitForm" type="primary" class="submitBtn" v-throttle>提交</el-button>
<my-dialog :moduleName="moduleName" v-if="visible" :visible.sync="visible" :showForm="form" :formName="formName" @submitIt="submitForm2" />
</div>
<el-input :value="form.proposeDate"
disabled
ref="proposeDate"></el-input>
</el-form-item>
<el-form-item label="他行收款户名"
prop="otherAccountUsername">
<el-input :value="form.otherAccountUsername"
@input="val => checkName(val, form, 'otherAccountUsername')"
ref="otherAccountUsername"></el-input>
</el-form-item>
<el-form-item label="凭证号码"
prop="voucherNumber">
<el-input :value="form.voucherNumber"
@input="val => checkHanzi(val, form, 'voucherNumber')"
ref="voucherNumber"></el-input>
</el-form-item>
<el-form-item label="摘要"
prop="abstract">
<el-input v-model.trim="form.abstract"
ref="abstract"></el-input>
</el-form-item>
</el-col>
</el-form>
</el-row>
<el-button @click="submitForm"
type="primary"
class="submitBtn"
v-throttle>提交</el-button>
<my-dialog :moduleName="moduleName"
v-if="visible"
:visible.sync="visible"
:showForm="form"
:formName="formName"
@submitIt="submitForm2" />
</div>
</div>
</template>
<script>
@ -87,317 +141,313 @@ import TipsBefore from '@/mixins/tipsBefore'
const moduleName = "cityWide/cityWideOut"
import { getSubjectInfo, addOperation, getOperation } from '@/api/http';
export default {
name: 'index',
components:{
MyTitle,
MyDialog
},
mixins: [ TipsBefore ],
data() {
return {
text:'存款',/* 顶部文字 */
visible: false,
// billTypeSelect: [],
moduleName,
form:{
//
shroffAccountNumber: '', //
money: '', //
shroffAccountUsername: '', //
billType: '', //
otherAccountNumber: '', //
voucherNumber: '', //
//
currency: 12, //
proposeTime: 1, //
proposeDate: '', //
otherAccountUsername: '', //
drawBillDate: '', //
abstract: '', //
},
formName: {
shroffAccountNumber: '本行收款账号', //
money: '金额', //
shroffAccountUsername: '本行收款户名', //
billType: '票据类型', //
otherAccountNumber: '他行收款账号', //
voucherNumber: '凭证号码', //
//
currency: '币种', //
proposeTime: '提出场次', //
proposeDate: '提出日期', //
otherAccountUsername: '其他收款户名', //
drawBillDate: '出票日期', //
abstract: '摘要', //
},
rules: {
drawBillDate: [
{
required: true,
message: '请输入出票日期',
trigger: 'blur'
}
],
shroffAccountNumber: [
{
required: true,
message: '请输入本行收款账号',
trigger: 'blur'
},
{
pattern: /^[0-9]*$/,
message: '请输入数字'
}
// {
// type: number,
// message: '',
// }
],
otherAccountUsername: [
{
required: true,
message: '请输入本行收款户名',
trigger: 'blur'
},
],
currency: [
{
required: true,
message: '请选择币种',
trigger: 'blur'
}
],
money: [
{
required: true,
message: '请输入金额',
trigger: 'blur'
}
],
shroffAccountUsername: [
// {
// required: true,
// message: '',
// trigger: 'blur'
// }
],
billType: [
{
required: true,
message: '请选择票据类型',
trigger: 'blur'
}
],
otherAccountNumber: [
{
required: true,
message: '请输入他行收款账号',
trigger: 'blur'
}
],
voucherNumber: [
{
required: true,
message: '请输入凭证号码',
trigger: 'blur'
}
],
},
myTable2: {
//
// currency: 'CNY', //
// proposeTime: '', //
// proposeDate: '', //
// otherAccountUsername: '', //
// drawBillDate: '', //
// abstract: '', //
348: {
prop: 'currency', // 1
type: '1',
"subjectId": '8',
},
350: {
prop: 'proposeTime', // 1
type: '3',
"subjectId": '55',
},
351: {
prop: 'proposeDate', // 1
type: '1',
"subjectId": '56',
},
353: {
prop: 'otherAccountUsername', // 3
type: '3',
"subjectId": '58',
},
355: {
prop: 'drawBillDate', // 3
type: '1',
"subjectId": '60',
},
358: {
prop: 'abstract', // 3
type: '3',
"subjectId": '16',
},
},
myTable: {
//
// shroffAccountNumber: '', //
// money: '', //
// shroffAccountUsername: '', //
// billType: '', //
// otherAccountNumber: '', //
// voucherNumber: '', //
347: {
prop: 'shroffAccountNumber', // 3
type: '3',
"subjectId": '54',
},
349: {
prop: 'money', // 3
type: '3',
"subjectId": '14',
},
352: {
prop: 'billType', // 1
type: '1',
"subjectId": '57',
},
354: {
prop: 'otherAccountNumber', // 3
type: '3',
"subjectId": '59',
},
356: {
prop: 'voucherNumber', // 3
type: '3',
"subjectId": '44',
},
357: {
prop: 'shroffAccountUsername', // 3
type: '3',
"subjectId": '61',
},
},
visible:false
}
},
created() {
const tmpFunc = () => {
const date = new Date()
var y = date.getFullYear();
var m = date.getMonth() + 1;
m = m < 10 ? '0' + m : m;
var d = date.getDate();
d = d < 10 ? ('0' + d) : d;
return y + '-' + m + '-' + d;
}
this.form.proposeDate = tmpFunc()
// this.form.billType = this.billTypeSelect[0].itemId;
},
mounted() {
this.$refs.shroffAccountNumber.focus()
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,29,345,346'
autoPlay2(parentId, this.form, this.myTable2, this.myTable)
},
methods: {
submitForm() {
this.$refs.form.validate(myValidate(() => {
//
// const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,29,345,346'
this.visible = true;
}, this.$refs));
},
submitForm2() {
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,29,345,346'
autoPlay(parentId, this.form, this.myTable2, this.myTable)
let projectId = sessionStorage.getItem('projectId')
let startTime = sessionStorage.getItem('startTime')
const formList = []
formList.push({"answerId":'347',"emptyOne": 54, "emptyTwo": this.form.shroffAccountNumber, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,29,345,346","type": "3"})
formList.push({"answerId":'348',"emptyOne": 8, "emptyTwo": +this.form.currency, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,29,345,346","type": "3"})
formList.push({"answerId":'349',"emptyOne": 14, "emptyTwo": this.form.money, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,29,345,346","type": "3"})
formList.push({"answerId":'350',"emptyOne": 55, "emptyTwo": this.form.proposeTime, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,29,345,346","type": "3"})
formList.push({"answerId":'351',"emptyOne": 56, "emptyTwo": this.form.proposeDate, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,29,345,346","type": "3"})
formList.push({"answerId":'352',"emptyOne": 57, "emptyTwo": +this.form.billType, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,29,345,346","type": "3"})
formList.push({"answerId":'353',"emptyOne": 58, "emptyTwo": this.form.shroffAccountUsername, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,29,345,346","type": "3"})
formList.push({"answerId":'354',"emptyOne": 59, "emptyTwo": this.form.otherAccountNumber, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,29,345,346","type": "3"})
name: 'index',
components: {
MyTitle,
MyDialog
},
mixins: [TipsBefore],
data () {
return {
text: '存款',/* 顶部文字 */
visible: false,
// billTypeSelect: [],
moduleName,
form: {
//
shroffAccountNumber: '', //
money: '', //
shroffAccountUsername: '', //
billType: '', //
otherAccountNumber: '', //
voucherNumber: '', //
//
currency: 12, //
proposeTime: 1, //
proposeDate: '', //
otherAccountUsername: '', //
drawBillDate: '', //
abstract: '', //
},
formName: {
shroffAccountNumber: '本行收款账号', //
money: '金额', //
shroffAccountUsername: '本行收款户名', //
billType: '票据类型', //
otherAccountNumber: '他行收款账号', //
voucherNumber: '凭证号码', //
//
currency: '币种', //
proposeTime: '提出场次', //
proposeDate: '提出日期', //
otherAccountUsername: '其他收款户名', //
drawBillDate: '出票日期', //
abstract: '摘要', //
},
rules: {
drawBillDate: [
{
required: true,
message: '请输入出票日期',
trigger: 'blur'
}
],
shroffAccountNumber: [
{
required: true,
message: '请输入本行收款账号',
trigger: 'blur'
},
formList.push({"answerId":'355',"emptyOne": 60, "emptyTwo": this.form.drawBillDate, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,29,345,346","type": "3"})
formList.push({"answerId":'356',"emptyOne": 44, "emptyTwo": this.form.voucherNumber, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,29,345,346","type": "3"})
formList.push({"answerId":'357',"emptyOne": 61, "emptyTwo": this.form.shroffAccountUsername, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,29,345,346","type": "3"})
formList.push({"answerId":'358',"emptyOne": 16, "emptyTwo": this.form.abstract, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,29,345,346","type": "3"})
{
pattern: /^[0-9]*$/,
message: '请输入数字'
}
// {
// type: number,
// message: '',
// }
],
otherAccountUsername: [
{
required: true,
message: '请输入本行收款户名',
trigger: 'blur'
},
],
currency: [
{
required: true,
message: '请选择币种',
trigger: 'blur'
}
],
money: [
{
required: true,
message: '请输入金额',
trigger: 'blur'
}
],
shroffAccountUsername: [
// {
// required: true,
// message: '',
// trigger: 'blur'
// }
],
billType: [
{
required: false,
message: '请选择票据类型',
trigger: 'blur'
}
],
otherAccountNumber: [
{
required: true,
message: '请输入他行收款账号',
trigger: 'blur'
}
],
let params= {
parentId: "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,29,345,346",
lcJudgmentRuleReq:formList,
projectId:+projectId,
startTime:startTime,
}
addOperation(params).then((data)=>{
// this.$message({
// message: '',
// type: 'success'
// });
// this.setNeedsModule(moduleName)
// this.setDataFlow({ ...this.form })
}).catch((error)=>{
})
voucherNumber: [
{
required: true,
message: '请输入凭证号码',
trigger: 'blur'
}
],
},
myTable2: {
//
// currency: 'CNY', //
// proposeTime: '', //
// proposeDate: '', //
// otherAccountUsername: '', //
// drawBillDate: '', //
// abstract: '', //
348: {
prop: 'currency', // 1
type: '1',
"subjectId": '8',
},
getFocus() {
// console.log('test')
if(!this.form.shroffAccountNumber) {
this.$message({
message: '请先输入本行收款账号',
center: true,
type: 'warning'
});
this.$refs.shroffAccountNumber.focus()
}
350: {
prop: 'proposeTime', // 1
type: '3',
"subjectId": '55',
},
getBlur() {
if(this.form.shroffAccountNumber) {
this.form.shroffAccountUsername = this.dataFlow.userName
}
351: {
prop: 'proposeDate', // 1
type: '1',
"subjectId": '56',
},
ismoney: ismoney,
inputListen: inputListen,
checkHanzi: checkHanzi,
checkName: checkName
},
computed: {
// ...mapState({
// billTypeSelect: state => state.select.billTypeSelect
// }),
...mapGetters({
getSelectList: 'system/getSelectList',
dataFlow: 'system/dataFlow'
})
353: {
prop: 'otherAccountUsername', // 3
type: '3',
"subjectId": '58',
},
355: {
prop: 'drawBillDate', // 3
type: '1',
"subjectId": '60',
},
358: {
prop: 'abstract', // 3
type: '3',
"subjectId": '16',
},
},
myTable: {
//
// shroffAccountNumber: '', //
// money: '', //
// shroffAccountUsername: '', //
// billType: '', //
// otherAccountNumber: '', //
// voucherNumber: '', //
347: {
prop: 'shroffAccountNumber', // 3
type: '3',
"subjectId": '54',
},
349: {
prop: 'money', // 3
type: '3',
"subjectId": '14',
},
352: {
prop: 'billType', // 1
type: '1',
"subjectId": '57',
},
354: {
prop: 'otherAccountNumber', // 3
type: '3',
"subjectId": '59',
},
356: {
prop: 'voucherNumber', // 3
type: '3',
"subjectId": '44',
},
357: {
prop: 'shroffAccountUsername', // 3
type: '3',
"subjectId": '61',
},
},
visible: false,
submited: 0
}
},
created () {
const tmpFunc = () => {
const date = new Date()
var y = date.getFullYear();
var m = date.getMonth() + 1;
m = m < 10 ? '0' + m : m;
var d = date.getDate();
d = d < 10 ? ('0' + d) : d;
return y + '-' + m + '-' + d;
}
this.form.proposeDate = tmpFunc()
// this.form.billType = this.billTypeSelect[0].itemId;
},
mounted () {
this.$refs.shroffAccountNumber.focus()
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,29,345,346'
autoPlay2(parentId, this.form, this.myTable2, this.myTable)
},
methods: {
submitForm () {
if (this.submited) return this.$message.error('已提交!')
this.$refs.form.validate(myValidate(() => {
//
// const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,29,345,346'
this.visible = true;
}, this.$refs));
},
submitForm2 () {
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,29,345,346'
autoPlay(parentId, this.form, this.myTable2, this.myTable)
let projectId = sessionStorage.getItem('projectId')
let startTime = sessionStorage.getItem('startTime')
const formList = []
formList.push({ "answerId": '347', "emptyOne": 54, "emptyTwo": this.form.shroffAccountNumber, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,29,345,346", "type": "3" })
formList.push({ "answerId": '348', "emptyOne": 8, "emptyTwo": +this.form.currency, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,29,345,346", "type": "3" })
formList.push({ "answerId": '349', "emptyOne": 14, "emptyTwo": this.form.money, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,29,345,346", "type": "3" })
formList.push({ "answerId": '350', "emptyOne": 55, "emptyTwo": this.form.proposeTime, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,29,345,346", "type": "3" })
formList.push({ "answerId": '351', "emptyOne": 56, "emptyTwo": this.form.proposeDate, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,29,345,346", "type": "3" })
formList.push({ "answerId": '352', "emptyOne": 57, "emptyTwo": +this.form.billType, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,29,345,346", "type": "3" })
formList.push({ "answerId": '353', "emptyOne": 58, "emptyTwo": this.form.shroffAccountUsername, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,29,345,346", "type": "3" })
formList.push({ "answerId": '354', "emptyOne": 59, "emptyTwo": this.form.otherAccountNumber, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,29,345,346", "type": "3" })
formList.push({ "answerId": '355', "emptyOne": 60, "emptyTwo": this.form.drawBillDate, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,29,345,346", "type": "3" })
formList.push({ "answerId": '356', "emptyOne": 44, "emptyTwo": this.form.voucherNumber, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,29,345,346", "type": "3" })
formList.push({ "answerId": '357', "emptyOne": 61, "emptyTwo": this.form.shroffAccountUsername, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,29,345,346", "type": "3" })
formList.push({ "answerId": '358', "emptyOne": 16, "emptyTwo": this.form.abstract, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,29,345,346", "type": "3" })
let params = {
parentId: "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,29,345,346",
lcJudgmentRuleReq: formList,
projectId: +projectId,
startTime: startTime,
}
// addOperation(params).then((data) => {
// this.submited = 1
// }).catch((error) => {
// })
},
getFocus () {
// console.log('test')
if (!this.form.shroffAccountNumber) {
this.$message({
message: '请先输入本行收款账号',
center: true,
type: 'warning'
});
this.$refs.shroffAccountNumber.focus()
}
},
getBlur () {
if (this.form.shroffAccountNumber) {
this.form.shroffAccountUsername = this.dataFlow.userName
}
},
ismoney: ismoney,
inputListen: inputListen,
checkHanzi: checkHanzi,
checkName: checkName
},
computed: {
// ...mapState({
// billTypeSelect: state => state.select.billTypeSelect
// }),
...mapGetters({
getSelectList: 'system/getSelectList',
dataFlow: 'system/dataFlow'
})
}
};
</script>
<style lang="scss" scoped>
.wrap{
width: 100%;
display: flex;
flex-direction: column;
overflow: auto;
padding: 24px 0 24px 24px;
.body{
margin-top: 50px;
overflow-y: auto;
overflow-x: hidden;
}
.wrap {
width: 100%;
display: flex;
flex-direction: column;
overflow: auto;
padding: 24px 0 24px 24px;
.body {
margin-top: 50px;
overflow-y: auto;
overflow-x: hidden;
}
}
</style>

@ -1,90 +1,79 @@
//
<template>
<div class="wrap wrap2">
<MyTitle :titleArr="['客户信息', '个人客户信息建立']"/>
<div class="body">
<el-row :gutter="20">
<el-form ref="form" :model="form" label-width="140px" :rules="rules">
<el-col :span="10" :offset="1">
<el-form-item label="证件类型">
<el-select v-model.trim="form.idType" disabled placeholder="请选择" ref="idType">
<el-option
label="身份证"
:value="83">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="客户姓名" prop="userName">
<el-input ref="userName" disabled :value="form.userName" @input="(val) => checkName(val, form, 'userName')"></el-input>
</el-form-item>
<el-form-item label="出生日期" prop="birthday">
<el-date-picker
disabled
v-model.trim="form.birthday"
type="date"
placeholder="选择日期"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
<el-form-item label="通讯地址">
<el-input :value="form.mailbox" @input="val => mailBoxListen(val, form, 'mailbox')" maxlength="30" ref="mailbox"></el-input>
</el-form-item>
</el-col>
<el-col :span="10" :offset="1">
<el-form-item label="证件号码" required>
<div class="idCard" @click="popUp('身份证扫描仪')" v-if='!idNumberJudge'>
<p>请刷身份证</p>
</div>
<div v-else>
<el-input :value="form.idNumber" disabled ref="idNumber"></el-input>
</div>
</el-form-item>
<el-form-item label="性别" prop="sex">
<el-select v-model.trim="form.sex" disabled placeholder="请选择" ref='sex'>
<!-- <el-option
<div class="wrap wrap2">
<MyTitle :titleArr="['客户信息', '个人客户信息建立']" />
<div class="body">
<el-row :gutter="20">
<el-form ref="form" :model="form" label-width="140px" :rules="rules">
<el-col :span="10" :offset="1">
<el-form-item label="证件类型">
<el-select v-model.trim="form.idType" disabled placeholder="请选择" ref="idType">
<el-option label="身份证" :value="83">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="客户姓名" prop="userName">
<el-input ref="userName" disabled :value="form.userName"
@input="(val) => checkName(val, form, 'userName')"></el-input>
</el-form-item>
<el-form-item label="出生日期" prop="birthday">
<el-date-picker disabled v-model.trim="form.birthday" type="date" placeholder="选择日期" format="yyyy-MM-dd"
value-format="yyyy-MM-dd">
</el-date-picker>
</el-form-item>
<el-form-item label="通讯地址">
<el-input :value="form.mailbox" @input="val => mailBoxListen(val, form, 'mailbox')" maxlength="30"
ref="mailbox"></el-input>
</el-form-item>
</el-col>
<el-col :span="10" :offset="1">
<el-form-item label="证件号码" required>
<div class="idCard" @click="popUp('身份证扫描仪')" v-if='!idNumberJudge'>
<p>请刷身份证</p>
</div>
<div v-else>
<el-input :value="form.idNumber" disabled ref="idNumber"></el-input>
</div>
</el-form-item>
<el-form-item label="性别" prop="sex">
<el-select v-model.trim="form.sex" disabled placeholder="请选择" ref='sex'>
<!-- <el-option
v-for="item in gender"
:key="item.id"
:label="item.name"
:value="item.id"
>
</el-option> -->
<el-option
:key="1"
label="男"
:value="1"
>
</el-option>
<el-option
:key="2"
label="女"
:value="2"
>
</el-option>
</el-select>
</el-form-item>
<el-form-item label="联系电话" :rules="rules.phone" prop="phone">
<el-input :value="form.phone" @input="(val) => phoneListen(val, form, 'phone')" maxlength="12" ref='phone'></el-input>
</el-form-item>
</el-col>
<el-option :key="1" label="男" :value="1">
</el-option>
<el-option :key="2" label="女" :value="2">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="联系电话" :rules="rules.phone" prop="phone">
<el-input :value="form.phone" @input="(val) => phoneListen(val, form, 'phone')" maxlength="12"
ref='phone'></el-input>
</el-form-item>
</el-col>
</el-form>
</el-row>
<el-button @click="submitForm" type="primary" class="submitBtn" v-throttle>提交</el-button>
</div>
<my-dialog :moduleName="moduleName" v-if="visible" :visible.sync="visible" :showForm="form" :formName="formName" @submitIt="submitForm2()" />
</el-form>
</el-row>
<el-button @click="submitForm" type="primary" class="submitBtn" v-throttle>提交</el-button>
</div>
<!-- <need-before class='wrap' v-else :moduleName='needBefore' :unNeed="unNeed">
<my-dialog :moduleName="moduleName" v-if="visible" :visible.sync="visible" :showForm="form" :formName="formName"
@submitIt="submitForm2()" />
</div>
<!-- <need-before class='wrap' v-else :moduleName='needBefore' :unNeed="unNeed">
</need-before> -->
</template>
<script> // : consumerClient
<script>// : consumerClient
import { mapState, mapMutations, mapGetters } from 'vuex'
import { vername, vermob } from '@/utils/verify.js'
import { addOperation, getOperation } from '@/api/http';
import { mobPattern, namePattern, ratePattern, vercustomer } from '@/utils/verify.js'
import { mobPattern, namePattern, ratePattern, vercustomer } from '@/utils/verify.js'
import { phoneListen, mailBoxListen, checkRequired, randomPeopleNumber, myValidate, checkName, messageIdCard } from '@/utils/utilFunction.js'
import MyTitle from '@/components/myTitle'
@ -94,349 +83,352 @@ import NeedBefore from '@/components/needBefore'
const moduleName = 'consumerClient'
export default {
name: 'consumerClient',
data() {
return {
moduleName: 'consumerClient',
idNumberJudge: false,
visible:false,//
form:{
idType:83,//
idNumber:'',//
userName:'',//
sex:'',//
birthday:null,//
nationality:'',//
mailbox:'',//
phone:'',//
peopleNumber: '',
},
formName: {
idType: '证件类型',
idNumber:'证件号码',
userName:'客户名字',
sex:'性别',
birthday:'出生日期',
nationality:'民族',
mailbox:'通讯地址',
phone:'联系电话',
peopleNumber: '客户号'
},
rules: {
userName: vercustomer ,
phone: [
{
required: true,
message: '请输入联系电话',
trigger: 'blur'
},
{
pattern: mobPattern,
message: '联系电话格式有误'
}
],
birthday: [
{
required: true,
message: '请选择出生日期',
trigger: 'blur'
}
],
},
authorization:false,//
success:false,//
papers:[
{name:'身份证',id:1}
],
options:[],
gender:[
{name:'男',id:1},
{name:'女',id:2},
],
nations : [
{ "itemId": 24, "description": "汉族", "options": "汉族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:44", "updateTime": "2021-12-20 12:00:44" },
{ "itemId": 25, "description": "蒙古族", "options": "蒙古族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:44", "updateTime": "2021-12-20 12:00:44" },
{ "itemId": 26, "description": "回族", "options": "回族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 27, "description": "藏族", "options": "藏族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 28, "description": "维吾尔族", "options": "维吾尔族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 29, "description": "苗族", "options": "苗族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 30, "description": "彝族", "options": "彝族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 31, "description": "壮族", "options": "壮族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 32, "description": "布依族", "options": "布依族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 33, "description": "朝鲜族", "options": "朝鲜族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 34, "description": "满族", "options": "满族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 35, "description": "侗族", "options": "侗族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 36, "description": "瑶族", "options": "瑶族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 37, "description": "白族", "options": "白族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 38, "description": "土家族", "options": "土家族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 39, "description": "哈尼族", "options": "哈尼族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 40, "description": "哈萨克族", "options": "哈萨克族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 41, "description": "傣族", "options": "傣族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 42, "description": "黎族", "options": "黎族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 43, "description": "傈僳族", "options": "傈僳族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 44, "description": "佤族", "options": "佤族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 45, "description": "畲族", "options": "畲族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 46, "description": "高山族", "options": "高山族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 47, "description": "拉祜族", "options": "拉祜族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 48, "description": "水族", "options": "水族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 49, "description": "东乡族", "options": "东乡族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 50, "description": "纳西族", "options": "纳西族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 51, "description": "景颇族", "options": "景颇族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 52, "description": "柯尔克孜族", "options": "柯尔克孜族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 53, "description": "土族", "options": "土族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 54, "description": "达斡尔族", "options": "达斡尔族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 55, "description": "仫佬族", "options": "仫佬族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 56, "description": "羌族", "options": "羌族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 57, "description": " 布朗族", "options": " 布朗族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 58, "description": " 撒拉族", "options": " 撒拉族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 59, "description": " 毛难族", "options": " 毛难族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 60, "description": " 仡佬族", "options": " 仡佬族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 61, "description": " 锡伯族", "options": " 锡伯族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:46", "updateTime": "2021-12-20 12:00:46" },
{ "itemId": 62, "description": " 阿昌族", "options": " 阿昌族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:46", "updateTime": "2021-12-20 12:00:46" },
{ "itemId": 63, "description": " 普米族", "options": " 普米族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:46", "updateTime": "2021-12-20 12:00:46" },
{ "itemId": 64, "description": " 塔吉克族", "options": " 塔吉克族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:46", "updateTime": "2021-12-20 12:00:46" },
{ "itemId": 65, "description": " 怒族", "options": " 怒族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:46", "updateTime": "2021-12-20 12:00:46" },
{ "itemId": 66, "description": " 乌孜别克族", "options": " 乌孜别克族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:46", "updateTime": "2021-12-20 12:00:46" },
{ "itemId": 67, "description": " 俄罗斯族", "options": " 俄罗斯族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:46", "updateTime": "2021-12-20 12:00:46" },
{ "itemId": 68, "description": " 鄂温克族", "options": " 鄂温克族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:46", "updateTime": "2021-12-20 12:00:46" },
{ "itemId": 69, "description": " 崩龙族", "options": " 崩龙族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:46", "updateTime": "2021-12-20 12:00:46" },
{ "itemId": 70, "description": " 保安族", "options": " 保安族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:46", "updateTime": "2021-12-20 12:00:46" },
{ "itemId": 71, "description": " 裕固族", "options": " 裕固族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:46", "updateTime": "2021-12-20 12:00:46" },
{ "itemId": 72, "description": " 京族", "options": " 京族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:46", "updateTime": "2021-12-20 12:00:46" },
{ "itemId": 73, "description": " 塔塔尔族", "options": " 塔塔尔族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:46", "updateTime": "2021-12-20 12:00:46" },
{ "itemId": 74, "description": " 独龙族", "options": " 独龙族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:46", "updateTime": "2021-12-20 12:00:46" },
{ "itemId": 75, "description": " 鄂伦春族", "options": " 鄂伦春族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:46", "updateTime": "2021-12-20 12:00:46" },
{ "itemId": 76, "description": " 赫哲族", "options": " 赫哲族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:46", "updateTime": "2021-12-20 12:00:46" },
{ "itemId": 77, "description": " 门巴族", "options": " 门巴族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:46", "updateTime": "2021-12-20 12:00:46" },
{ "itemId": 78, "description": " 珞巴族", "options": " 珞巴族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:46", "updateTime": "2021-12-20 12:00:46" },
{ "itemId": 79, "description": " 基诺族", "options": " 基诺族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:46", "updateTime": "2021-12-20 12:00:46" },
{ "itemId": 80, "description": " 其他", "options": " 其他", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:46", "updateTime": "2021-12-20 12:00:46" }
],
}
},
components: {
MyTitle,
MyDialog,
NeedBefore
name: 'consumerClient',
data () {
return {
moduleName: 'consumerClient',
idNumberJudge: false,
visible: false,//
form: {
idType: 83,//
idNumber: '',//
userName: '',//
sex: '',//
birthday: null,//
nationality: '',//
mailbox: '',//
phone: '',//
peopleNumber: '',
},
formName: {
idType: '证件类型',
idNumber: '证件号码',
userName: '客户名字',
sex: '性别',
birthday: '出生日期',
nationality: '民族',
mailbox: '通讯地址',
phone: '联系电话',
peopleNumber: '客户号'
},
rules: {
userName: vercustomer,
phone: [
{
required: true,
message: '请输入联系电话',
trigger: 'blur'
},
{
pattern: mobPattern,
message: '联系电话格式有误'
}
],
birthday: [
{
required: true,
message: '请选择出生日期',
trigger: 'blur'
}
],
},
authorization: false,//
success: false,//
papers: [
{ name: '身份证', id: 1 }
],
options: [],
gender: [
{ name: '男', id: 1 },
{ name: '女', id: 2 },
],
nations: [
{ "itemId": 24, "description": "汉族", "options": "汉族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:44", "updateTime": "2021-12-20 12:00:44" },
{ "itemId": 25, "description": "蒙古族", "options": "蒙古族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:44", "updateTime": "2021-12-20 12:00:44" },
{ "itemId": 26, "description": "回族", "options": "回族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 27, "description": "藏族", "options": "藏族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 28, "description": "维吾尔族", "options": "维吾尔族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 29, "description": "苗族", "options": "苗族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 30, "description": "彝族", "options": "彝族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 31, "description": "壮族", "options": "壮族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 32, "description": "布依族", "options": "布依族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 33, "description": "朝鲜族", "options": "朝鲜族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 34, "description": "满族", "options": "满族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 35, "description": "侗族", "options": "侗族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 36, "description": "瑶族", "options": "瑶族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 37, "description": "白族", "options": "白族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 38, "description": "土家族", "options": "土家族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 39, "description": "哈尼族", "options": "哈尼族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 40, "description": "哈萨克族", "options": "哈萨克族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 41, "description": "傣族", "options": "傣族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 42, "description": "黎族", "options": "黎族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 43, "description": "傈僳族", "options": "傈僳族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 44, "description": "佤族", "options": "佤族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 45, "description": "畲族", "options": "畲族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 46, "description": "高山族", "options": "高山族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 47, "description": "拉祜族", "options": "拉祜族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 48, "description": "水族", "options": "水族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 49, "description": "东乡族", "options": "东乡族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 50, "description": "纳西族", "options": "纳西族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 51, "description": "景颇族", "options": "景颇族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 52, "description": "柯尔克孜族", "options": "柯尔克孜族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 53, "description": "土族", "options": "土族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 54, "description": "达斡尔族", "options": "达斡尔族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 55, "description": "仫佬族", "options": "仫佬族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 56, "description": "羌族", "options": "羌族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 57, "description": " 布朗族", "options": " 布朗族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 58, "description": " 撒拉族", "options": " 撒拉族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 59, "description": " 毛难族", "options": " 毛难族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 60, "description": " 仡佬族", "options": " 仡佬族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:45", "updateTime": "2021-12-20 12:00:45" },
{ "itemId": 61, "description": " 锡伯族", "options": " 锡伯族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:46", "updateTime": "2021-12-20 12:00:46" },
{ "itemId": 62, "description": " 阿昌族", "options": " 阿昌族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:46", "updateTime": "2021-12-20 12:00:46" },
{ "itemId": 63, "description": " 普米族", "options": " 普米族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:46", "updateTime": "2021-12-20 12:00:46" },
{ "itemId": 64, "description": " 塔吉克族", "options": " 塔吉克族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:46", "updateTime": "2021-12-20 12:00:46" },
{ "itemId": 65, "description": " 怒族", "options": " 怒族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:46", "updateTime": "2021-12-20 12:00:46" },
{ "itemId": 66, "description": " 乌孜别克族", "options": " 乌孜别克族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:46", "updateTime": "2021-12-20 12:00:46" },
{ "itemId": 67, "description": " 俄罗斯族", "options": " 俄罗斯族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:46", "updateTime": "2021-12-20 12:00:46" },
{ "itemId": 68, "description": " 鄂温克族", "options": " 鄂温克族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:46", "updateTime": "2021-12-20 12:00:46" },
{ "itemId": 69, "description": " 崩龙族", "options": " 崩龙族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:46", "updateTime": "2021-12-20 12:00:46" },
{ "itemId": 70, "description": " 保安族", "options": " 保安族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:46", "updateTime": "2021-12-20 12:00:46" },
{ "itemId": 71, "description": " 裕固族", "options": " 裕固族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:46", "updateTime": "2021-12-20 12:00:46" },
{ "itemId": 72, "description": " 京族", "options": " 京族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:46", "updateTime": "2021-12-20 12:00:46" },
{ "itemId": 73, "description": " 塔塔尔族", "options": " 塔塔尔族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:46", "updateTime": "2021-12-20 12:00:46" },
{ "itemId": 74, "description": " 独龙族", "options": " 独龙族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:46", "updateTime": "2021-12-20 12:00:46" },
{ "itemId": 75, "description": " 鄂伦春族", "options": " 鄂伦春族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:46", "updateTime": "2021-12-20 12:00:46" },
{ "itemId": 76, "description": " 赫哲族", "options": " 赫哲族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:46", "updateTime": "2021-12-20 12:00:46" },
{ "itemId": 77, "description": " 门巴族", "options": " 门巴族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:46", "updateTime": "2021-12-20 12:00:46" },
{ "itemId": 78, "description": " 珞巴族", "options": " 珞巴族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:46", "updateTime": "2021-12-20 12:00:46" },
{ "itemId": 79, "description": " 基诺族", "options": " 基诺族", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:46", "updateTime": "2021-12-20 12:00:46" },
{ "itemId": 80, "description": " 其他", "options": " 其他", "subjectId": 3, "isDel": 0, "createTime": "2021-12-20 12:00:46", "updateTime": "2021-12-20 12:00:46" }
],
submited: 0
}
},
components: {
MyTitle,
MyDialog,
NeedBefore
},
created () {
// if(this.isNeedBefore) {
// return
// }
if (sessionStorage.getItem('nomClientIdentity')) {
this.idNumberJudge = true
const { userName, sex, birthday, nationality, mailbox, idNumber } = this.dataFlow
this.form.idNumber = idNumber
this.form.idType = 83
this.form.userName = userName
// let sexs = null
// if (sex == ''){
// sexs = 1
// }else{
// sexs = 2
// }
this.form.sex = sex
this.form.birthday = birthday
// this.form.nationality = nationality
// this.form.mailbox = mailbox
}
this.getFormData()
},
mixins: [TipsBefore],
mounted () {
},
methods: {
//
submitIt () {
// this.setDataFlow({name: 'userName', val: ''})
// console.log(this.dataFlow)
},
created() {
// if(this.isNeedBefore) {
// return
// }
if(sessionStorage.getItem('nomClientIdentity')) {
this.idNumberJudge = true
const { userName, sex, birthday, nationality, mailbox, idNumber } = this.dataFlow
this.form.idNumber = idNumber
this.form.idType = 83
this.form.userName = userName
// let sexs = null
// if (sex == ''){
// sexs = 1
// }else{
// sexs = 2
// }
this.form.sex = sex
this.form.birthday = birthday
// this.form.nationality = nationality
// this.form.mailbox = mailbox
getFormData () {
let param = {
parentId: '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,25,33'
}
getOperation(param).then((data) => {
if (data.status == 200) {
var list = data.data.judgmentRuleReqs
for (var i = 0; i < list.length; i++) {
if (list[i].answerId == '40') { this.form.idType = +list[i].emptyTwo }
// if (list[i].answerId == '41') {sessionStorage.setItem('nomClientIdentity', list[i].emptyTwo)}
if (list[i].answerId == '41' && list[i].emptyTwo) {
this.idNumberJudge = true
this.form.idNumber = list[i].emptyTwo
}
if (list[i].answerId == '42') { this.form.userName = list[i].emptyTwo }
if (list[i].answerId == '43') { this.form.sex = +list[i].emptyTwo }
if (list[i].answerId == '44') { this.form.birthday = list[i].emptyTwo }
if (list[i].answerId == '45') { this.form.nationality = list[i].emptyTwo }
if (list[i].answerId == '46') { this.form.mailbox = list[i].emptyTwo }
if (list[i].answerId == '47') { this.form.phone = list[i].emptyTwo }
}
}
this.getFormData()
// const tt1 = JSON.parse(sessionStorage.getItem('tt1'))
// console.log('1-tt1')
// console.log(tt1)
// if(tt1) {
// for(const key in tt1) {
// this.form[tt1] = tt1[key]
// }
// }
}).catch((error) => {
// const tt1 = JSON.parse(sessionStorage.getItem('tt1'))
// console.log('2-tt1')
// console.log(tt1)
// if(tt1) {
// for(const key in tt1) {
// this.form[key] = tt1[key]
// }
// }
// if(sessionStorage.getItem('tt1')) {
// this.form = {...sessionStorage.getItem('tt1')}
// }
})
},
mixins: [ TipsBefore ],
mounted() {
...mapMutations({
changeShowGoods: 'system/changeShowGoods',
setDataFlow: 'system/setDataFlow',
setNeedsModule: 'system/setNeedsModule',
setPopId: 'system/setPopId',
setTipsOperate: 'system/setTipsOperate'
}),
popUp () {//
// this.$store.commit('system/changePop',{show:true,text:'',id:'33'})
// this.changeShowGoods(true)
// this.$store.commit('system/changePop',{show: false, text: '', id:'33'})
this.setTipsOperate('请刷身份证');
this.setPopId('33')
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},
methods: {
//
submitIt() {
// this.setDataFlow({name: 'userName', val: ''})
// console.log(this.dataFlow)
},
getFormData(){
let param= {
parentId: '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,25,33'
}
getOperation(param).then((data)=>{
if(data.status == 200) {
var list = data.data.judgmentRuleReqs
for (var i = 0; i < list.length; i++) {
if (list[i].answerId == '40') {this.form.idType = +list[i].emptyTwo}
// if (list[i].answerId == '41') {sessionStorage.setItem('nomClientIdentity', list[i].emptyTwo)}
if (list[i].answerId == '41' && list[i].emptyTwo) {
this.idNumberJudge = true
this.form.idNumber = list[i].emptyTwo
}
if (list[i].answerId == '42') {this.form.userName = list[i].emptyTwo}
if (list[i].answerId == '43') {this.form.sex = +list[i].emptyTwo}
if (list[i].answerId == '44') {this.form.birthday = list[i].emptyTwo}
if (list[i].answerId == '45') {this.form.nationality = list[i].emptyTwo}
if (list[i].answerId == '46') {this.form.mailbox = list[i].emptyTwo}
if (list[i].answerId == '47') {this.form.phone = list[i].emptyTwo}
}
}
// const tt1 = JSON.parse(sessionStorage.getItem('tt1'))
// console.log('1-tt1')
// console.log(tt1)
// if(tt1) {
// for(const key in tt1) {
// this.form[tt1] = tt1[key]
// }
// }
}).catch((error)=>{
// const tt1 = JSON.parse(sessionStorage.getItem('tt1'))
// console.log('2-tt1')
// console.log(tt1)
// if(tt1) {
// for(const key in tt1) {
// this.form[key] = tt1[key]
// }
// }
// if(sessionStorage.getItem('tt1')) {
// this.form = {...sessionStorage.getItem('tt1')}
// }
})
},
...mapMutations({
changeShowGoods: 'system/changeShowGoods',
setDataFlow: 'system/setDataFlow',
setNeedsModule: 'system/setNeedsModule',
setPopId: 'system/setPopId',
setTipsOperate: 'system/setTipsOperate'
}),
popUp(){//
// this.$store.commit('system/changePop',{show:true,text:'',id:'33'})
// this.changeShowGoods(true)
// this.$store.commit('system/changePop',{show: false, text: '', id:'33'})
//
submitForm () {
if (this.submited) return this.$message.error('已提交!')
let nomClientIdentity = sessionStorage.getItem('nomClientIdentity')
let consumerClientDragList = JSON.parse(nomClientIdentity);
let nomClientIdentitys = JSON.parse(nomClientIdentity);
if (!this.form.idNumber) {
messageIdCard()
return
}
this.$refs.form.validate(myValidate(() => {
// this.form.birthday = this.form.birthday.slice(0, 10)
this.form.peopleNumber = randomPeopleNumber()
this.visible = true;
}, this.$refs));
},
submitForm2 () {
let nomClientIdentity = sessionStorage.getItem('nomClientIdentity')
let consumerClientDragList = JSON.parse(nomClientIdentity);
let projectId = sessionStorage.getItem('projectId')
let startTime = sessionStorage.getItem('startTime')
this.setTipsOperate('请刷身份证');
this.setPopId('33')
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},
//
submitForm(){
let nomClientIdentity = sessionStorage.getItem('nomClientIdentity')
let consumerClientDragList = JSON.parse(nomClientIdentity);
let nomClientIdentitys = JSON.parse(nomClientIdentity);
if(!this.form.idNumber) {
messageIdCard()
return
}
this.$refs.form.validate(myValidate(() => {
// this.form.birthday = this.form.birthday.slice(0, 10)
this.form.peopleNumber = randomPeopleNumber()
this.visible = true;
} , this.$refs));
},
submitForm2() {
let nomClientIdentity = sessionStorage.getItem('nomClientIdentity')
let consumerClientDragList = JSON.parse(nomClientIdentity);
let projectId = sessionStorage.getItem('projectId')
let startTime = sessionStorage.getItem('startTime')
let formList = [];
formList.push({"answerId":'41',"emptyOne": "", "emptyTwo": this.form.idNumber, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,25,33,41,13","type": ""})
if(this.form.sex){
formList.push({
"answerId":'43',
"emptyOne": "1",
"emptyTwo": this.form.sex,
"operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,25,33,43",//
"type": "1"
})
}
if(this.form.nationality){
formList.push({
"answerId":'45',
"emptyOne": "3",
"emptyTwo": this.form.nationality,
"operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,25,33,45",//
"type": "1"
})
}
if(this.form.mailbox){
formList.push({
"answerId":'46',
"emptyOne": "4",
"emptyTwo": this.form.mailbox,
"operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,25,33,46",//
"type": "3"
})
}
formList.push(
{"answerId":'40',"emptyOne": "19", "emptyTwo": this.form.idType, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,25,33,40", "type": "1"},//
{"answerId":'42',"emptyOne": "7", "emptyTwo": this.form.userName, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,25,33,42", "type": "3"},//
{"answerId":'44',"emptyOne": "2", "emptyTwo": this.form.birthday, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,25,33,44", "type": "3"},//
{"answerId":'47',"emptyOne": "5", "emptyTwo": this.form.phone, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,25,33,47", "type": "3"}//
);
let params= {
parentId: '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,25,33',
lcJudgmentRuleReq:formList,
projectId:+projectId,
startTime:startTime,
}
addOperation(params).then((data)=>{
// this.$message({
// message: '',
// type: 'success'
// });
this.setNeedsModule(moduleName)
this.setDataFlow({ ...this.form })
}).catch((error)=>{
this.setTipsOperate('服务器繁忙哦,提交失败。')
})
},
throttle(fn,wait=1000){//
var timer = null;
return function(){
var context = this;
var args = fn;
if(!timer){
timer = setTimeout(function(){
fn.apply(context,fn);
timer = null;
},wait)
}
}
},
phoneListen: phoneListen,
mailBoxListen: mailBoxListen,
checkName: checkName
},
computed: {
...mapGetters({
dataFlow: 'system/dataFlow',
inMyWork: 'system/inMyWork',
needsModule: 'system/needsModule',
popId: 'system/popId'
let formList = [];
formList.push({ "answerId": '41', "emptyOne": "", "emptyTwo": this.form.idNumber, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,25,33,41,13", "type": "" })
if (this.form.sex) {
formList.push({
"answerId": '43',
"emptyOne": "1",
"emptyTwo": this.form.sex,
"operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,25,33,43",//
"type": "1"
})
}
}
if (this.form.nationality) {
formList.push({
"answerId": '45',
"emptyOne": "3",
"emptyTwo": this.form.nationality,
"operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,25,33,45",//
"type": "1"
})
}
if (this.form.mailbox) {
formList.push({
"answerId": '46',
"emptyOne": "4",
"emptyTwo": this.form.mailbox,
"operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,25,33,46",//
"type": "3"
})
}
formList.push(
{ "answerId": '40', "emptyOne": "19", "emptyTwo": this.form.idType, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,25,33,40", "type": "1" },//
{ "answerId": '42', "emptyOne": "7", "emptyTwo": this.form.userName, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,25,33,42", "type": "3" },//
{ "answerId": '44', "emptyOne": "2", "emptyTwo": this.form.birthday, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,25,33,44", "type": "3" },//
{ "answerId": '47', "emptyOne": "5", "emptyTwo": this.form.phone, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,25,33,47", "type": "3" }//
);
let params = {
parentId: '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,25,33',
lcJudgmentRuleReq: formList,
projectId: +projectId,
startTime: startTime,
}
addOperation(params).then((data) => {
// this.$message({
// message: '',
// type: 'success'
// });
this.setNeedsModule(moduleName)
this.setDataFlow({ ...this.form })
this.submited = 1
}).catch((error) => {
this.setTipsOperate('服务器繁忙哦,提交失败。')
})
},
throttle (fn, wait = 1000) {//
var timer = null;
return function () {
var context = this;
var args = fn;
if (!timer) {
timer = setTimeout(function () {
fn.apply(context, fn);
timer = null;
}, wait)
}
}
},
phoneListen: phoneListen,
mailBoxListen: mailBoxListen,
checkName: checkName
},
computed: {
...mapGetters({
dataFlow: 'system/dataFlow',
inMyWork: 'system/inMyWork',
needsModule: 'system/needsModule',
popId: 'system/popId'
})
}
};
</script>
<style lang="scss" scoped>
.wrap{
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
overflow: auto;
padding: 24px 0 24px 24px;
.body{
margin-top: 50px;
overflow-y: auto;
overflow-x: hidden;
}
}
.wrap {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
overflow: auto;
padding: 24px 0 24px 24px;
.body {
margin-top: 50px;
overflow-y: auto;
overflow-x: hidden;
}
}
</style>

@ -1,66 +1,114 @@
//
<template>
<div class="wrap2 wrap">
<MyTitle :titleArr="['客户信息', '公司客户信息建立']"/>
<div class="body">
<el-row :gutter="20">
<el-form ref="form" :model="form" label-width="140px" :rules="rules">
<el-col :span="10" :offset="1">
<el-form-item label="证件类型">
<el-select v-model.trim="form.idType" placeholder="请选择" ref="idType">
<el-option label="统一社会信用代码证" :value="82"></el-option>
</el-select>
</el-form-item>
<el-form-item label="公司名称" prop="companyName">
<el-input v-model.trim="form.companyName" maxlength="40" @input="(val) => checkHanzi(val, form, 'companyName')" ref="companyName"></el-input>
</el-form-item>
<el-form-item label="注册资本" class="relative">
<el-input :value="form.registeredCapital" @input="val => ismoney(val, form, 'registeredCapital')" maxlength="15" ref="registeredCapital"></el-input>
<span class="absolute" style="right: 10px;font-size: 16px;line-height: 40px; color: #606266;"></span>
</el-form-item>
<el-form-item label="法人证件号码" required>
<div class="idCard" @click="popUp('身份证扫描仪')" v-if='!idNumberJudge'>
<p>请刷身份证</p>
</div>
<div v-else>
<el-input :value="form.idNumber" disabled ref="idNumber"></el-input>
</div>
</el-form-item>
<el-form-item label="联系电话" :rules="rules.phone" prop="phone">
<el-input :value="form.phone" @input="(val) => phoneListen(val, form, 'phone')" maxlength="12" ref='phone'></el-input>
</el-form-item>
</el-col>
<el-col :span="10" :offset="1">
<el-form-item label="代码证号" prop="codeNumber">
<el-input :value="form.codeNumber" @input="(val) => checkHanzi(val, form, 'codeNumber')" ref="codeNumber"></el-input>
</el-form-item>
<el-form-item label="公司地址">
<el-input v-model.trim="form.companyAddress" maxlength="60" ref="companyAddress"></el-input>
</el-form-item>
<el-form-item label="法人证件类型" prop="certificateType">
<el-select v-model.trim="form.certificateType" placeholder="请选择" ref="certificateType">
<el-option label="身份证" :value="83"></el-option>
</el-select>
</el-form-item>
<el-form-item label="法人姓名" prop="name">
<el-input v-model.trim="form.name" disabled @input="(val) => checkName(val, form, 'name')" ref="name"></el-input>
</el-form-item>
</el-col>
</el-form>
</el-row>
<el-button @click="submitForm" type="primary" class="submitBtn" v-throttle>提交</el-button>
</div>
<my-dialog :moduleName="moduleName" v-if="visible" :visible.sync="visible" :showForm="form" :formName="formName" @submitIt="submitForm2" />
<div class="wrap2 wrap">
<MyTitle :titleArr="['客户信息', '公司客户信息建立']" />
<div class="body">
<el-row :gutter="20">
<el-form ref="form"
:model="form"
label-width="140px"
:rules="rules">
<el-col :span="10"
:offset="1">
<el-form-item label="证件类型">
<el-select v-model.trim="form.idType"
placeholder="请选择"
ref="idType">
<el-option label="统一社会信用代码证"
:value="82"></el-option>
</el-select>
</el-form-item>
<el-form-item label="公司名称"
prop="companyName">
<el-input v-model.trim="form.companyName"
maxlength="40"
@input="(val) => checkHanzi(val, form, 'companyName')"
ref="companyName"></el-input>
</el-form-item>
<el-form-item label="注册资本"
class="relative">
<el-input :value="form.registeredCapital"
@input="val => ismoney(val, form, 'registeredCapital')"
maxlength="15"
ref="registeredCapital"></el-input>
<span class="absolute"
style="right: 10px;font-size: 16px;line-height: 40px; color: #606266;"></span>
</el-form-item>
<el-form-item label="法人证件号码"
required>
<div class="idCard"
@click="popUp('身份证扫描仪')"
v-if='!idNumberJudge'>
<p>请刷身份证</p>
</div>
<div v-else>
<el-input :value="form.idNumber"
disabled
ref="idNumber"></el-input>
</div>
</el-form-item>
<el-form-item label="联系电话"
:rules="rules.phone"
prop="phone">
<el-input :value="form.phone"
@input="(val) => phoneListen(val, form, 'phone')"
maxlength="12"
ref='phone'></el-input>
</el-form-item>
</el-col>
<el-col :span="10"
:offset="1">
<el-form-item label="代码证号"
prop="codeNumber">
<el-input :value="form.codeNumber"
@input="(val) => checkHanzi(val, form, 'codeNumber')"
ref="codeNumber"></el-input>
</el-form-item>
<el-form-item label="公司地址">
<el-input v-model.trim="form.companyAddress"
maxlength="60"
ref="companyAddress"></el-input>
</el-form-item>
<el-form-item label="法人证件类型"
prop="certificateType">
<el-select v-model.trim="form.certificateType"
placeholder="请选择"
ref="certificateType">
<el-option label="身份证"
:value="132"></el-option>
</el-select>
</el-form-item>
<el-form-item label="法人姓名"
prop="name">
<el-input v-model.trim="form.name"
disabled
@input="(val) => checkName(val, form, 'name')"
ref="name"></el-input>
</el-form-item>
</el-col>
</el-form>
</el-row>
<el-button @click="submitForm"
type="primary"
class="submitBtn"
v-throttle>提交</el-button>
</div>
<!-- <need-before v-else :moduleName='needBefore' :unNeed="unNeed" class="wrap" /> -->
<my-dialog :moduleName="moduleName"
v-if="visible"
:visible.sync="visible"
:showForm="form"
:formName="formName"
@submitIt="submitForm2" />
</div>
<!-- <need-before v-else :moduleName='needBefore' :unNeed="unNeed" class="wrap" /> -->
</template>
<script>
import { mapState, mapMutations, mapGetters } from 'vuex'
import { mobPattern, namePattern, ratePattern, vercustomer } from '@/utils/verify.js'
import { mobPattern, namePattern, ratePattern, vercustomer } from '@/utils/verify.js'
import { addOperation, getOperation } from '@/api/http';
import { phoneListen, checkRequired, myValidate, checkHanzi, checkName, ismoney, messageIdCard } from '@/utils/utilFunction.js'
import MyTitle from '@/components/myTitle'
@ -70,266 +118,270 @@ import TipsBefore from '@/mixins/tipsBefore'
const moduleName = 'corporateClient'
export default {
name: 'index',
components: {
MyTitle,
NeedBefore,
MyDialog
},
mixins: [ TipsBefore ],
data() {
return {
moduleName: 'corporateClient',
idNumberJudge: false,
visible:false,//
authorization:false,//
success:false,//
form:{
idNumber: '',
name: '',
phone: '',
idType: 82,
companyName: '',
registeredCapital: '',
codeNumber: '',
companyAddress: '',
certificateType: ''
},
formName:{
idNumber: '法人证件号码',
name: '法人姓名',
phone: '联系电话',
idType: '证件类型',
companyName: '公司名称',
registeredCapital: '注册资本',
codeNumber: '代码证号',
companyAddress: '公司地址',
certificateType: '法人证件类型'
},
rules: {
idNumber: [
{
required: true,
message: '请输入公司名称',
trigger: 'blur'
}
],
companyName: [
{
required: true,
message: '请输入公司名称',
trigger: 'blur'
}
],
phone: [
{
pattern: mobPattern,
message: '联系电话格式有误'
},
{
required: true,
message: '请输入联系电话',
trigger: 'blur'
}
],
name: [{
pattern: namePattern,
message: '法人姓名格式有误'
}],
codeNumber: [
{
required: true,
message: '请输入代码证号',
trigger: 'blur'
}
],
certificateType: [
{
required: true,
message: '请输入法人证件类型',
trigger: 'blur'
}
]
},
name: 'index',
components: {
MyTitle,
NeedBefore,
MyDialog
},
mixins: [TipsBefore],
data () {
return {
moduleName: 'corporateClient',
idNumberJudge: false,
visible: false,//
authorization: false,//
success: false,//
form: {
idNumber: '',
name: '',
phone: '',
idType: 82,
companyName: '',
registeredCapital: '',
codeNumber: '',
companyAddress: '',
certificateType: ''
},
formName: {
idNumber: '法人证件号码',
name: '法人姓名',
phone: '联系电话',
idType: '证件类型',
companyName: '公司名称',
registeredCapital: '注册资本',
codeNumber: '代码证号',
companyAddress: '公司地址',
certificateType: '法人证件类型'
},
rules: {
idNumber: [
{
required: true,
message: '请输入公司名称',
trigger: 'blur'
}
],
companyName: [
{
required: true,
message: '请输入公司名称',
trigger: 'blur'
}
],
phone: [
{
pattern: mobPattern,
message: '联系电话格式有误'
},
{
required: true,
message: '请输入联系电话',
trigger: 'blur'
}
],
name: [{
pattern: namePattern,
message: '法人姓名格式有误'
}],
codeNumber: [
{
required: true,
message: '请输入代码证号',
trigger: 'blur'
}
],
certificateType: [
{
required: true,
message: '请输入法人证件类型',
trigger: 'blur'
}
]
},
submited: 0
}
},
created () {
// firmClientIdentity
// if(this.isNeedBefore) {
// if(sessionStorage.getItem('firmClientIdentity')) {
// this.idNumberJudge = true
// this.form.idNumber = this.dataFlow.idNumber || '441515199812064569'
// }
// return
// }
if (sessionStorage.getItem('firmClientIdentity')) {
this.idNumberJudge = true
const { idNumber, userName } = this.dataFlow
this.form.idNumber = idNumber
this.form.name = userName
}
// for(const key in this.dataFlow) {
// if(key === 'idNumber' || key === 'userName') {
// continue;
// }
// if(this.form.hasOwnProperty(key)) {
// this.form[key] = this.dataFlow[key]
// }
// }
this.getFormData()
},
mounted () {
},
methods: {
getFormData () {
let param = {
parentId: '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,25,34'
}
getOperation(param).then((data) => {
console.log(data)
if (data.status == 200) {
var list = data.data.judgmentRuleReqs
for (var i = 0; i < list.length; i++) {
if (list[i].answerId == '48') { this.form.idType = list[i].emptyTwo } //
else if (list[i].answerId == '49') { this.form.codeNumber = list[i].emptyTwo } //
else if (list[i].answerId == '50') { this.form.companyName = list[i].emptyTwo } //
else if (list[i].answerId == '51') { this.form.companyAddress = list[i].emptyTwo } //
else if (list[i].answerId == '52') { this.form.registeredCapital = list[i].emptyTwo / 10000 } //
else if (list[i].answerId == '53') { this.form.certificateType = +list[i].emptyTwo } //
// else if (list[i].answerId == '54') {sessionStorage.setItem('firmClientIdentity', list[i].emptyTwo)} //
else if (list[i].answerId == '54') {
console.log('54id')
console.log(list[i].emptyTwo)
this.idNumberJudge = true
this.form.idNumber = list[i].emptyTwo
}
else if (list[i].answerId == '55') { this.form.name = list[i].emptyTwo } //
else if (list[i].answerId == '56') { this.form.phone = list[i].emptyTwo } //
}
}
}).catch((error) => {
})
},
created() {
// firmClientIdentity
// if(this.isNeedBefore) {
// if(sessionStorage.getItem('firmClientIdentity')) {
// this.idNumberJudge = true
// this.form.idNumber = this.dataFlow.idNumber || '441515199812064569'
// }
// return
// }
if(sessionStorage.getItem('firmClientIdentity')) {
this.idNumberJudge = true
const { idNumber, userName } = this.dataFlow
this.form.idNumber = idNumber
this.form.name = userName
}
// for(const key in this.dataFlow) {
// if(key === 'idNumber' || key === 'userName') {
// continue;
// }
// if(this.form.hasOwnProperty(key)) {
// this.form[key] = this.dataFlow[key]
// }
// }
this.getFormData()
},
mounted() {
...mapMutations({
changeShowGoods: 'system/changeShowGoods',
setDataFlow: 'system/setDataFlow',
setNeedsModule: 'system/setNeedsModule',
setPopId: 'system/setPopId',
setNeedsModule: 'system/setNeedsModule',
setTipsOperate: 'system/setTipsOperate'
}),
popUp () {//
// this.$store.commit('system/changePop',{show:true,text:'',id:'34'})
// this.setDataFlow()
// let tmpForm = {}
// for(const key in this.form) {
// if(this.form[key]) {
// tmpForm[key] = this.form[key]
// }
// }
// this.setDataFlow({ ...tmpForm })
this.setTipsOperate('请刷身份证');
this.setPopId('34')
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},
methods: {
getFormData(){
let param= {
parentId: '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,25,34'
}
getOperation(param).then((data)=>{
console.log(data)
if(data.status == 200) {
var list = data.data.judgmentRuleReqs
for (var i = 0; i < list.length; i++) {
if (list[i].answerId == '48') {this.form.idType = list[i].emptyTwo} //
else if (list[i].answerId == '49') {this.form.codeNumber = list[i].emptyTwo} //
else if (list[i].answerId == '50') {this.form.companyName = list[i].emptyTwo} //
else if (list[i].answerId == '51') {this.form.companyAddress = list[i].emptyTwo} //
else if (list[i].answerId == '52') {this.form.registeredCapital = list[i].emptyTwo/10000} //
else if (list[i].answerId == '53') {this.form.certificateType = +list[i].emptyTwo} //
// else if (list[i].answerId == '54') {sessionStorage.setItem('firmClientIdentity', list[i].emptyTwo)} //
else if (list[i].answerId == '54') {
console.log('54id')
console.log(list[i].emptyTwo)
this.idNumberJudge = true
this.form.idNumber = list[i].emptyTwo
}
else if (list[i].answerId == '55') {this.form.name = list[i].emptyTwo} //
else if (list[i].answerId == '56') {this.form.phone = list[i].emptyTwo} //
}
}
}).catch((error)=>{
})
},
...mapMutations({
changeShowGoods: 'system/changeShowGoods',
setDataFlow: 'system/setDataFlow',
setNeedsModule: 'system/setNeedsModule',
setPopId: 'system/setPopId',
setNeedsModule: 'system/setNeedsModule',
setTipsOperate: 'system/setTipsOperate'
}),
popUp(){//
// this.$store.commit('system/changePop',{show:true,text:'',id:'34'})
// this.setDataFlow()
// let tmpForm = {}
// for(const key in this.form) {
// if(this.form[key]) {
// tmpForm[key] = this.form[key]
// }
// }
// this.setDataFlow({ ...tmpForm })
this.setTipsOperate('请刷身份证');
this.setPopId('34')
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},
popSure(){
popSure () {
},
submitForm() {
if(!this.form.idNumber) {
messageIdCard()
return
}
this.$refs.form.validate(myValidate(() => {
//
this.form.registeredCapital += '万'
this.visible = true;
}, this.$refs));
},
submitForm2() {
let projectId = sessionStorage.getItem('projectId')
let startTime = sessionStorage.getItem('startTime')
let formList = [];
let firmClientIdentity = sessionStorage.getItem('firmClientIdentity')
let firmClientIdentitys = JSON.parse(firmClientIdentity);
if (firmClientIdentitys && firmClientIdentitys.length > 0){
// for (var i=0;i<firmClientIdentitys.length;i++){
// formList.push({"answerId":54,"emptyOne": "", "emptyTwo": firmClientIdentity, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,25,34,54","type": ""})//
// }
formList.push({"answerId":54,"emptyOne": "", "emptyTwo": this.form.idNumber, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,25,34,54,13","type": ""})//
if(this.form.idType){
formList.push({ "answerId":'48', "emptyOne": "19", "emptyTwo": this.form.idType, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,25,34,48","type": "1"})//
}
if(this.form.companyAddress){
formList.push({ "answerId":'51', "emptyOne": "22", "emptyTwo": this.form.companyAddress, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,25,34,51", "type": "3" })//
}
if(this.form.registeredCapital){
const getRegisteredCapital = this.form.registeredCapital.slice(0, this.form.registeredCapital.length-1)*10000
formList.push({ "answerId":'52', "emptyOne": "23", "emptyTwo": getRegisteredCapital, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,25,34,52", "type": "3" })//
}
if(this.form.name){
formList.push( {"answerId":'55',"emptyOne": "25", "emptyTwo": this.form.name, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,25,34,55", "type": "3"})//
}
if(this.form.phone){
formList.push({"answerId":'56',"emptyOne": "5", "emptyTwo": this.form.phone, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,25,34,56", "type": "3"})//
}
formList.push(
{ "answerId":'49', "emptyOne": "20", "emptyTwo": this.form.codeNumber, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,25,34,49", "type": "3" },//
{ "answerId":'50', "emptyOne": "21", "emptyTwo": this.form.companyName, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,25,34,50", "type": "3" },//
{"answerId":'53',"emptyOne": "24", "emptyTwo": this.form.certificateType, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,25,34,53", "type": "1"},//
);
let params= {
parentId: '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,25,34',
lcJudgmentRuleReq:formList,
projectId:+projectId,
startTime:startTime,
}
addOperation(params).then((data)=>{
// this.$message({
// message: '',
// type: 'success'
// });
// this.setDataFlow({ ...this.form })
this.setNeedsModule(moduleName)
this.setDataFlow({ userName: this.form.name })
//
this.setDataFlow({ [moduleName]: true })
this.form.registeredCapital = this.form.registeredCapital.slice(0, this.form.registeredCapital.length-1)
}).catch((error)=>{
this.setTipsOperate('服务器繁忙哦,提交失败。')
})
}else {
this.$message.error('有必填项未填哦~');
}
},
phoneListen: phoneListen,
checkHanzi: checkHanzi,
checkName: checkName,
ismoney: ismoney
},
computed: {
...mapGetters({
dataFlow: 'system/dataFlow',
inMyWork: 'system/inMyWork',
needsModule: 'system/needsModule',
submitForm () {
if (this.submited) return this.$message.error('已提交!')
if (!this.form.idNumber) {
messageIdCard()
return
}
this.$refs.form.validate(myValidate(() => {
//
this.form.registeredCapital += '万'
this.visible = true;
}, this.$refs));
},
submitForm2 () {
let projectId = sessionStorage.getItem('projectId')
let startTime = sessionStorage.getItem('startTime')
let formList = [];
let firmClientIdentity = sessionStorage.getItem('firmClientIdentity')
let firmClientIdentitys = JSON.parse(firmClientIdentity);
if (firmClientIdentitys && firmClientIdentitys.length > 0) {
// for (var i=0;i<firmClientIdentitys.length;i++){
// formList.push({"answerId":54,"emptyOne": "", "emptyTwo": firmClientIdentity, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,25,34,54","type": ""})//
// }
formList.push({ "answerId": 54, "emptyOne": "", "emptyTwo": this.form.idNumber, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,25,34,54,13", "type": "" })//
if (this.form.idType) {
formList.push({ "answerId": '48', "emptyOne": "19", "emptyTwo": this.form.idType, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,25,34,48", "type": "1" })//
}
if (this.form.companyAddress) {
formList.push({ "answerId": '51', "emptyOne": "22", "emptyTwo": this.form.companyAddress, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,25,34,51", "type": "3" })//
}
if (this.form.registeredCapital) {
const getRegisteredCapital = this.form.registeredCapital.slice(0, this.form.registeredCapital.length - 1) * 10000
formList.push({ "answerId": '52', "emptyOne": "23", "emptyTwo": getRegisteredCapital, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,25,34,52", "type": "3" })//
}
if (this.form.name) {
formList.push({ "answerId": '55', "emptyOne": "25", "emptyTwo": this.form.name, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,25,34,55", "type": "3" })//
}
if (this.form.phone) {
formList.push({ "answerId": '56', "emptyOne": "5", "emptyTwo": this.form.phone, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,25,34,56", "type": "3" })//
}
formList.push(
{ "answerId": '49', "emptyOne": "20", "emptyTwo": this.form.codeNumber, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,25,34,49", "type": "3" },//
{ "answerId": '50', "emptyOne": "21", "emptyTwo": this.form.companyName, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,25,34,50", "type": "3" },//
{ "answerId": '53', "emptyOne": "24", "emptyTwo": this.form.certificateType, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,25,34,53", "type": "1" },//
);
let params = {
parentId: '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,25,34',
lcJudgmentRuleReq: formList,
projectId: +projectId,
startTime: startTime,
}
addOperation(params).then((data) => {
// this.$message({
// message: '',
// type: 'success'
// });
// this.setDataFlow({ ...this.form })
this.setNeedsModule(moduleName)
this.setDataFlow({ userName: this.form.name })
//
this.setDataFlow({ [moduleName]: true })
this.form.registeredCapital = this.form.registeredCapital.slice(0, this.form.registeredCapital.length - 1)
this.submited = 1
this.setPopId('')
}).catch((error) => {
this.setTipsOperate('服务器繁忙哦,提交失败。')
})
}
} else {
this.$message.error('有必填项未填哦~');
}
},
phoneListen: phoneListen,
checkHanzi: checkHanzi,
checkName: checkName,
ismoney: ismoney
},
computed: {
...mapGetters({
dataFlow: 'system/dataFlow',
inMyWork: 'system/inMyWork',
needsModule: 'system/needsModule',
})
}
};
</script>
<style lang="scss" scoped>
.wrap{
.wrap {
width: 100%;
display: flex;
flex-direction: column;
padding: 24px 0 24px 24px;
overflow: auto;
.body{
.body {
margin-top: 50px;
overflow: auto;
overflow-y: auto;

@ -0,0 +1,111 @@
<template>
<!-- 贷款申请 -->
<div class="wrap">
<my-title :titleArr="['公司贷款', '贷款申请']" />
<div class="flex j-between m-b-20">
<div style="width: 300px;">
<el-input v-model="keyword" placeholder="请输入客户姓名" clearable />
</div>
<el-button type="primary" @click="toDetail(0)">新建贷款申请</el-button>
</div>
<el-table :data="list" stripe :header-cell-style="headerCellStyle">
<el-table-column prop="customerName" label="客户姓名" align="center" />
<el-table-column prop="applicationNumber" label="申请编号" align="center" />
<el-table-column prop="createTime" label="申请日期" align="center" />
<el-table-column prop="loanApplicationAmount" label="申请金额" align="center">
<template slot-scope="scope">{{ scope.row.loanApplicationAmount || '-' }}</template>
</el-table-column>
<el-table-column prop="processingStatus" label="办理状态" align="center">
<template slot-scope="scope">{{ scope.row.processingStatus || '-' }}</template>
</el-table-column>
<el-table-column label="操作" align="center" width="150">
<template slot-scope="scope">
<el-button :disabled="!!scope.row.builtIn" @click="toDetail(scope.row)" size="small">{{
scope.row.loanApplicationAmount ? '查看' : '编辑'
}}</el-button>
</template>
</el-table-column>
</el-table>
<div class="pagination">
<el-pagination background layout="total, prev, pager, next" :current-page="page"
@current-change="handleCurrentChange" :total="total"></el-pagination>
</div>
</div>
</template>
<script>
import { headerCellStyle } from '@/assets/js/myConfig'
import { companyLoanList } from '@/api/http';
import MyTitle from '@/components/myTitle'
export default {
components: {
MyTitle,
},
data () {
return {
headerCellStyle,
searchTimer: null,
keyword: '',
list: [],
page: 1,
pageSize: 10,
total: 0,
}
},
watch: {
keyword: function (val) {
clearTimeout(this.searchTimer);
this.searchTimer = setTimeout(() => {
this.initData()
}, 500)
},
},
mounted () {
this.initData()
},
methods: {
async getData () {
const { data } = await companyLoanList({
...this.$store.getters['system/commonIds'],
pageNum: this.page,
pageSize: this.pageSize,
searchContent: this.keyword,
typeId: 1,
})
this.list = data.page.records
this.total = data.page.total
},
initData () {
this.page = 1
this.getData()
},
handleCurrentChange (val) {
this.page = val
this.getData()
},
//
toDetail (row) {
// id
this.$store.commit('system/setCreditIds', (row ? {
companyLoanId: row.companyLoanId, // tabid
} : {}))
this.$router.push(row.loanApplicationAmount ? `/counter/list/manage/corporateLoans-detail?id=${row.companyLoanId}` : '/counter/list/manage/corporateLoans-apply')
},
},
};
</script>
<style lang="scss" scoped>
@import '@/assets/css/tablebg.scss';
.wrap {
width: 100%;
max-height: calc(100vh - 118px);
padding: 24px;
overflow: auto;
}
</style>

@ -0,0 +1,480 @@
<!-- 信用评估 -->
<template>
<div>
<el-row :gutter="20" style="margin: 0">
<el-form ref="form" :model="form" label-width="140px">
<el-col :span="24">
<h6 class="l-title">申请人个人信息</h6>
</el-col>
<el-col :span="10" :offset="1">
<el-form-item label="账号">
<el-input v-model="form.applicationAccount" disabled />
</el-form-item>
<el-form-item label="证件号码">
<el-input v-model="form.identificationNumber" disabled />
</el-form-item>
<el-form-item label="抵押房产地址">
<el-input v-model="form.propertyAddress" disabled />
</el-form-item>
<el-form-item label="婚姻状况">
<el-radio-group v-model="form.maritalStatus" disabled>
<el-radio label="未婚"></el-radio>
<el-radio label="已婚"></el-radio>
<el-radio label="离异"></el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="在袋鼠互联网科技有限公司购买社保" label-width="280px">
<el-radio-group v-model="form.socialSecurity" disabled>
<el-radio label="是"></el-radio>
<el-radio label="否"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="10" :offset="1">
<el-form-item label="客户名称">
<el-input v-model="form.customerName" disabled />
</el-form-item>
<el-form-item label="联系电话">
<el-input v-model="form.contactPhoneNumber" disabled />
</el-form-item>
<el-form-item label="与袋鼠互联网科技有限公司合作年限" label-width="280px">
<el-input v-model="form.cooperationPeriod" @input="val => inputListen(val, form, 'cooperationPeriod')"
ref="cooperationPeriod">
<template slot="append"></template>
</el-input>
</el-form-item>
<el-form-item label="在袋鼠互联网科技有限公司签订劳动合同" label-width="300px">
<el-radio-group v-model="form.laborContract" disabled>
<el-radio label="是"></el-radio>
<el-radio label="否"></el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="住址情况">
<el-radio-group v-model="form.addressSituation" disabled>
<el-radio label="购置"></el-radio>
<el-radio label="按揭中"></el-radio>
<el-radio label="租住"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="24" style="margin-top: 20px">
<h6 class="l-title">还款来源</h6>
</el-col>
<el-col :span="24">
<el-form-item>
<div class="flex">
<span class="req">*</span>
<el-checkbox v-model="form.matureRepayment">自行筹款到期还款</el-checkbox>
<div class="inline-flex m-l-40">
<el-checkbox v-model="form.otherRepaymentsCheck">其他</el-checkbox>
<el-input v-if="form.otherRepaymentsCheck" v-model="form.otherRepayments" size="small" maxlength="50"
placeholder="请输入"></el-input>
</div>
</div>
</el-form-item>
</el-col>
<el-col :span="24" style="margin-top: 20px">
<h6 class="l-title">用途</h6>
</el-col>
<el-col :span="24">
<el-form-item>
<div class="flex">
<span class="req">*</span>
<el-checkbox v-model="form.paymentForMaterials">支付材料款</el-checkbox>
<el-checkbox v-model="form.payLaborCosts">支付人工费</el-checkbox>
<el-checkbox v-model="form.payExpenses">支付研发费</el-checkbox>
<div class="inline-flex m-l-40">
<el-checkbox v-model="form.otherUseCheck">其他</el-checkbox>
<el-input v-if="form.otherUseCheck" v-model="form.otherUses" size="small" maxlength="50"
placeholder="请输入"></el-input>
</div>
</div>
</el-form-item>
</el-col>
<el-col :span="24" style="margin-top: 20px">
<h6 class="l-title">申请人特别说明选填</h6>
</el-col>
<el-col :span="24">
<el-input v-model="form.specialInstructions" type="textarea" maxlength="500" placeholder="请输入申请诉求"></el-input>
</el-col>
<el-col :span="24" style="margin-top: 20px">
<h6 class="l-title">附件 请上传</h6>
</el-col>
<el-col :span="24">
<div class="files">
<div class="item">
<el-button :type="creditImportIds.corporateIdCard ? '' : 'primary'" size="small" plain
@click="importSth('corporateIdCard')">上传</el-button>
<p class="text">
法人身份证
<span v-if="creditImportIds.corporateIdCard" class="text-danger">(已导入)</span>
</p>
</div>
<div class="item">
<el-button :type="creditImportIds.mortgagePropertyCertificate ? '' : 'primary'" size="small" plain
@click="importSth('mortgagePropertyCertificate')">上传</el-button>
<p class="text">
抵押物房产证
<span v-if="creditImportIds.mortgagePropertyCertificate" class="text-danger">(已导入)</span>
</p>
</div>
<div class="item">
<el-button :type="creditImportIds.proofOfMaritalStatus ? '' : 'primary'" size="small" plain
@click="importSth('proofOfMaritalStatus')">上传</el-button>
<p class="text">
实际控制人婚姻情况证明/离婚证
<span v-if="creditImportIds.proofOfMaritalStatus" class="text-danger">(已导入)</span>
</p>
</div>
<div class="item">
<el-button :type="creditImportIds.copyOfSpouseSIdCard ? '' : 'primary'" size="small" plain
@click="importSth('copyOfSpouseSIdCard')">上传</el-button>
<p class="text">
实际控制人配偶身份证复印件
<span v-if="creditImportIds.copyOfSpouseSIdCard" class="text-danger">(已导入)</span>
</p>
</div>
<div class="item">
<el-button :type="creditImportIds.originalBusinessLicense ? '' : 'primary'" size="small" plain
@click="importSth('originalBusinessLicense')">上传</el-button>
<p class="text">
营业执照正本
<span v-if="creditImportIds.originalBusinessLicense" class="text-danger">(已导入)</span>
</p>
</div>
<div class="item">
<el-button :type="creditImportIds.accountOpeningPermit ? '' : 'primary'" size="small" plain
@click="importSth('accountOpeningPermit')">上传</el-button>
<p class="text">
开户许可证基本存款账户信息
<span v-if="creditImportIds.accountOpeningPermit" class="text-danger">(已导入)</span>
</p>
</div>
<div class="item">
<el-button :type="creditImportIds.leaseContract ? '' : 'primary'" size="small" plain
@click="importSth('leaseContract')">上传</el-button>
<p class="text">
企业注册地址租赁合同或对应房产证
<span v-if="creditImportIds.leaseContract" class="text-danger">(已导入)</span>
</p>
</div>
<div class="item">
<el-button :type="creditImportIds.companyArticlesOfAssociation ? '' : 'primary'" size="small" plain
@click="importSth('companyArticlesOfAssociation')">上传</el-button>
<p class="text">
公司章程
<span v-if="creditImportIds.companyArticlesOfAssociation" class="text-danger">(已导入)</span>
</p>
</div>
<div class="item">
<el-button :type="creditImportIds.shareholderDocuments ? '' : 'primary'" size="small" plain
@click="importSth('shareholderDocuments')">上传</el-button>
<p class="text">
公司股东证件复印件
<span v-if="creditImportIds.shareholderDocuments" class="text-danger">(已导入)</span>
</p>
</div>
<div class="item">
<el-button :type="creditImportIds.financialSeal ? '' : 'primary'" size="small" plain
@click="importSth('financialSeal')">上传</el-button>
<p class="text">
公章私章财务章
<span v-if="creditImportIds.financialSeal" class="text-danger">(已导入)</span>
</p>
</div>
<div class="item">
<el-button :type="creditImportIds.oneYearTaxPaymentCertificate ? '' : 'primary'" size="small" plain
@click="importSth('oneYearTaxPaymentCertificate')">上传</el-button>
<p class="text">
公司近一年纳税证明
<span v-if="creditImportIds.oneYearTaxPaymentCertificate" class="text-danger">(已导入)</span>
</p>
</div>
<div class="item">
<el-button :type="creditImportIds.halfYearRevenue ? '' : 'primary'" size="small" plain
@click="importSth('halfYearRevenue')">上传</el-button>
<p class="text">
公司近半年流水
<span v-if="creditImportIds.halfYearRevenue" class="text-danger">(已导入)</span>
</p>
</div>
<div class="item">
<el-button :type="creditImportIds.corporateFinancialStatements ? '' : 'primary'" size="small" plain
@click="importSth('corporateFinancialStatements')">上传</el-button>
<p class="text">
企业财务报表
<span v-if="creditImportIds.corporateFinancialStatements" class="text-danger">(已导入)</span>
</p>
</div>
<div class="item">
<el-button :type="creditImportIds.loanApplicationForm ? '' : 'primary'" size="small" plain
@click="importSth('loanApplicationForm')">上传</el-button>
<p class="text">
贷款申请书
<span v-if="creditImportIds.loanApplicationForm" class="text-danger">(已导入)</span>
</p>
</div>
<div class="item">
<el-button :type="creditImportIds.creditAuthorizationLetter ? '' : 'primary'" size="small" plain
@click="importSth('creditAuthorizationLetter')">上传</el-button>
<p class="text">
征信授权书
<span v-if="creditImportIds.creditAuthorizationLetter" class="text-danger">(已导入)</span>
</p>
</div>
</div>
</el-col>
</el-form>
</el-row>
<div class="m-t-30 text-center">
<el-button @click="beforeSubmit" type="primary" class="submitBtn" v-throttle>提交</el-button>
</div>
<el-dialog :visible="visible" append-to-body style="z-index: 6000;" :close-on-click-modal="true" :show-close="false"
custom-class="dia">
<div class="data-dia23">
<div slot="title" class="dia-header">
<div class="data-title">提示</div>
</div>
<div class="popBody">
<p class="text-lg" style="color: #333">请进行授信审核</p>
</div>
<div class="popBtns">
<el-button class="close btn hover:bg-blue-100 " @click="visible = false"> </el-button>
<el-button class="sure btn hover:bg-blue-700 " type="primary" @click="submit"> </el-button>
</div>
</div>
</el-dialog>
<el-dialog :visible="successVisible" append-to-body style="z-index: 6000;" :close-on-click-modal="false"
:show-close="false" custom-class="dia">
<div class="data-dia23">
<div slot="title" class="dia-header">
<div class="data-title">提示</div>
</div>
<div class="popBody" style="flex-direction: column;">
<p class="text-lg" style="margin-bottom: 10px;color: #333">授信完成</p>
<p class="text-lg" style="color: #333">可进行贷款申请</p>
</div>
<div class="popBtns">
<el-button class="sure btn hover:bg-blue-700 " type="primary" @click="toStep3"> </el-button>
</div>
</div>
</el-dialog>
</div>
</template>
<script>
import { inputListen } from '@/utils/utilFunction.js'
import { creditApplicationDetails, addOperation, creditApplicationInput } from '@/api/http'
import { mapState, mapMutations } from 'vuex'
export default {
data () {
return {
form: {
applicationAccount: '6227007200580926',
customerName: '丛小凤',
identificationNumber: '220602199202281229',
contactPhoneNumber: '15890317718',
propertyAddress: '广东省深圳市南山区前海一号2020室',
cooperationPeriod: '6',
maritalStatus: '未婚',
laborContract: '是',
socialSecurity: '是',
addressSituation: '购置',
matureRepayment: false,
otherRepaymentsCheck: false,
otherRepayments: '',
paymentForMaterials: false,
payLaborCosts: false,
payExpenses: false,
otherUseCheck: false,
otherUses: '',
specialInstructions: '',
},
opt1: [
{
id: 203,
name: '有'
},
{
id: 204,
name: '无'
},
],
opt2: [
{
id: 205,
name: '优'
},
{
id: 206,
name: '良'
},
{
id: 207,
name: '不良'
},
],
visible: false,
successVisible: false,
}
},
computed: {
...mapState('system', ['creditImportIds', 'creditIds']),
},
mounted () {
this.getDetail()
},
methods: {
...mapMutations('system', ['setCreditImportIndex', 'initCreditImportIds']),
inputListen,
//
async getDetail () {
const id = this.creditIds.companyLoanId
let r
if (id) {
const res = await creditApplicationDetails({
companyLoanId: id
})
r = res.data.bankCreditApplication || {}
if (r.creditId) {
this.form.creditId = r.creditId
this.form.cooperationPeriod = r.cooperationPeriod
this.form.matureRepayment = r.matureRepayment === 'true'
this.form.otherRepaymentsCheck = !!r.otherRepayments
this.form.otherRepayments = r.otherRepayments
this.form.paymentForMaterials = r.paymentForMaterials === 'true'
this.form.payLaborCosts = r.payLaborCosts === 'true'
this.form.payExpenses = r.payExpenses === 'true'
this.form.otherUseCheck = !!r.otherUses
this.form.otherUses = r.otherUses
this.form.specialInstructions = r.specialInstructions
}
}
//
this.initCreditImportIds({
corporateIdCard: r.corporateIdCard || '',
mortgagePropertyCertificate: r.mortgagePropertyCertificate || '',
proofOfMaritalStatus: r.proofOfMaritalStatus || '',
copyOfSpouseSIdCard: r.copyOfSpouseSIdCard || '',
originalBusinessLicense: r.originalBusinessLicense || '',
accountOpeningPermit: r.accountOpeningPermit || '',
leaseContract: r.leaseContract || '',
companyArticlesOfAssociation: r.companyArticlesOfAssociation || '',
shareholderDocuments: r.shareholderDocuments || '',
financialSeal: r.financialSeal || '',
oneYearTaxPaymentCertificate: r.oneYearTaxPaymentCertificate || '',
halfYearRevenue: r.halfYearRevenue || '',
corporateFinancialStatements: r.corporateFinancialStatements || '',
loanApplicationForm: r.loanApplicationForm || '',
creditAuthorizationLetter: r.creditAuthorizationLetter || '',
})
},
//
importSth (i) {
this.setCreditImportIndex(i)
this.$parent.$parent.$parent.showData('导入报表', 12)
},
async beforeSubmit () {
const { form } = this
if (!form.matureRepayment && !form.otherRepaymentsCheck) return this.$message.error('请选择还款来源!')
if (form.otherRepaymentsCheck && !form.otherRepayments) return this.$message.error('请输入其他的还款来源!')
if (!form.paymentForMaterials && !form.payLaborCosts && !form.payExpenses && !form.otherUseCheck) return this.$message.error('请选择贷款用途!')
if (form.otherUseCheck && !form.otherUses) return this.$message.error('请输入其他的用途!')
this.visible = true
},
async submit () {
try {
const { form } = this
//
await creditApplicationInput({
...this.$store.state.system.creditIds,
...this.$store.state.system.creditImportIds,
...form,
})
const preId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',766,768'
const rule = []
form.cooperationPeriod && rule.push({ answerId: 875, emptyOne: 149, emptyTwo: form.cooperationPeriod, operationIds: preId + ',875', type: 3 })
form.matureRepayment && rule.push({ answerId: 798, emptyOne: 147, emptyTwo: 269, operationIds: preId + ',798', type: 1 })
form.otherRepayments && rule.push({ answerId: 798, emptyOne: 147, emptyTwo: 270, operationIds: preId + ',798', type: 1 })
form.paymentForMaterials && rule.push({ answerId: 833, emptyOne: 148, emptyTwo: 271, operationIds: preId + ',833', type: 1 })
form.payLaborCosts && rule.push({ answerId: 833, emptyOne: 148, emptyTwo: 272, operationIds: preId + ',833', type: 1 })
form.payExpenses && rule.push({ answerId: 833, emptyOne: 148, emptyTwo: 273, operationIds: preId + ',833', type: 1 })
form.otherUses && rule.push({ answerId: 833, emptyOne: 148, emptyTwo: 274, operationIds: preId + ',833', type: 1 })
form.specialInstructions && rule.push({ answerId: 802, emptyOne: 125, emptyTwo: form.specialInstructions, operationIds: preId + ',802', type: 3 })
//
const files = this.creditImportIds
files.corporateIdCard && rule.push({ answerId: 804, emptyOne: 146, emptyTwo: files.corporateIdCard, operationIds: preId + ',803,804', type: 1 })
files.mortgagePropertyCertificate && rule.push({ answerId: 805, emptyOne: 146, emptyTwo: files.mortgagePropertyCertificate, operationIds: preId + ',803,805', type: 1 })
files.proofOfMaritalStatus && rule.push({ answerId: 806, emptyOne: 146, emptyTwo: files.proofOfMaritalStatus, operationIds: preId + ',803,806', type: 1 })
files.copyOfSpouseSIdCard && rule.push({ answerId: 807, emptyOne: 146, emptyTwo: files.copyOfSpouseSIdCard, operationIds: preId + ',803,807', type: 1 })
files.originalBusinessLicense && rule.push({ answerId: 808, emptyOne: 146, emptyTwo: files.originalBusinessLicense, operationIds: preId + ',803,808', type: 1 })
files.accountOpeningPermit && rule.push({ answerId: 809, emptyOne: 146, emptyTwo: files.accountOpeningPermit, operationIds: preId + ',803,809', type: 1 })
files.leaseContract && rule.push({ answerId: 810, emptyOne: 146, emptyTwo: files.leaseContract, operationIds: preId + ',803,810', type: 1 })
files.companyArticlesOfAssociation && rule.push({ answerId: 811, emptyOne: 146, emptyTwo: files.companyArticlesOfAssociation, operationIds: preId + ',803,811', type: 1 })
files.shareholderDocuments && rule.push({ answerId: 812, emptyOne: 146, emptyTwo: files.shareholderDocuments, operationIds: preId + ',803,812', type: 1 })
files.financialSeal && rule.push({ answerId: 813, emptyOne: 146, emptyTwo: files.financialSeal, operationIds: preId + ',803,813', type: 1 })
files.oneYearTaxPaymentCertificate && rule.push({ answerId: 814, emptyOne: 146, emptyTwo: files.oneYearTaxPaymentCertificate, operationIds: preId + ',803,814', type: 1 })
files.halfYearRevenue && rule.push({ answerId: 815, emptyOne: 146, emptyTwo: files.halfYearRevenue, operationIds: preId + ',803,815', type: 1 })
files.corporateFinancialStatements && rule.push({ answerId: 817, emptyOne: 146, emptyTwo: files.corporateFinancialStatements, operationIds: preId + ',803,817', type: 1 })
files.loanApplicationForm && rule.push({ answerId: 818, emptyOne: 146, emptyTwo: files.loanApplicationForm, operationIds: preId + ',803,818', type: 1 })
files.creditAuthorizationLetter && rule.push({ answerId: 819, emptyOne: 146, emptyTwo: files.creditAuthorizationLetter, operationIds: preId + ',803,819', type: 1 })
await addOperation({
parentId: preId,
lcJudgmentRuleReq: rule,
projectId: +sessionStorage.getItem('projectId'),
startTime: sessionStorage.getItem('startTime')
})
this.successVisible = true
} catch { (e) => { } }
},
//
toStep3 () {
this.$parent.active = '3'
this.$parent.curStep = 0
this.$parent.tab3Disabled = false
},
},
}
</script>
<style lang='scss' scoped>
@import '@/styles/dialog.scss';
.l-title {
margin-bottom: 15px;
font-size: 18px;
font-weight: 600;
}
.files {
.item {
display: flex;
align-items: center;
margin-bottom: 20px;
}
.text {
margin-left: 10px;
font-size: 14px;
color: #818181;
}
}
</style>

@ -0,0 +1,253 @@
<!-- 信用评估 -->
<template>
<div>
<el-row :gutter="20" style="margin: 0">
<el-form ref="form" :model="form" label-width="140px" :rules="rules">
<el-col :span="24">
<h6 class="l-title">客户信息</h6>
</el-col>
<el-col :span="10" :offset="1">
<el-form-item label="账号" prop="applicationAccount">
<el-input v-model="form.applicationAccount" @input="val => inputListen(val, form, 'applicationAccount')"
@blur="accountBlur" />
</el-form-item>
<el-form-item label="证件类型" prop="identificationType">
<el-select v-model.trim="form.identificationType" placeholder="请选择" disabled>
<el-option label="统一社会信用代码证" :value="82"></el-option>
</el-select>
</el-form-item>
<el-form-item label="联系电话" prop="contactPhoneNumber">
<el-input v-model="form.contactPhoneNumber" />
</el-form-item>
<el-form-item label="法人姓名" prop="corporateName">
<el-input v-model="form.corporateName" />
</el-form-item>
<el-form-item label="币种" prop="currency">
<el-select v-model.trim="form.currency" placeholder="请选择" disabled>
<el-option label='CNY人民币' :value="12"></el-option>
</el-select>
</el-form-item>
<el-form-item label="利率(%)" prop="interestRate">
<el-input v-model="form.interestRate" disabled />
</el-form-item>
<el-form-item label="支取方式" prop="withdrawalMethod">
<el-select v-model.trim="form.withdrawalMethod" placeholder="请选择" disabled>
<el-option label="印鉴" :value="114"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="成立年份" prop="yearOfEstablishment">
<el-input v-model="form.yearOfEstablishment" />
</el-form-item>
<el-form-item label="主营范围" prop="mainBusinessScope">
<el-input v-model="form.mainBusinessScope" />
</el-form-item>
<el-form-item label="财报提交方式" prop="financialReportSubmissionMethod">
<el-input v-model="form.financialReportSubmissionMethod" />
</el-form-item>
</el-col>
<el-col :span="10" :offset="1">
<el-form-item label="客户名称" prop="customerName">
<el-input v-model="form.customerName" />
</el-form-item>
<el-form-item label="代码证号" prop="identificationNumber">
<el-input v-model="form.identificationNumber" />
</el-form-item>
<el-form-item label="注册地址" prop="companyRegisteredAddress">
<el-input v-model="form.companyRegisteredAddress" />
</el-form-item>
<el-form-item label="法人证件号码" prop="corporateIdNumber">
<el-input v-model="form.corporateIdNumber" />
</el-form-item>
<el-form-item label="账户类型" prop="accountType">
<el-select v-model.trim="form.accountType" placeholder="请选择" disabled>
<el-option label="结算户" :value="97"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="计息方式" prop="interestCalculationMethod">
<el-select v-model.trim="form.interestCalculationMethod" placeholder="请选择" disabled>
<el-option label="按年计息" :value="83"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="员工人数" prop="numberOfEmployees">
<el-input v-model="form.numberOfEmployees" />
</el-form-item>
<el-form-item label="注册类型" prop="registrationType">
<el-input v-model="form.registrationType" />
</el-form-item>
<el-form-item label="营业执照到期日" prop="expirationDateOfBusinessLicense">
<el-date-picker v-model="form.expirationDateOfBusinessLicense" type="date" placeholder="选择日期"
:picker-options="pickerOptions">
</el-date-picker>
</el-form-item>
<el-form-item label="借款人性质" prop="natureOfBorrower">
<el-input v-model="form.natureOfBorrower" />
</el-form-item>
</el-col>
</el-form>
</el-row>
<div class="text-center m-t-20">
<el-button @click="$router.back()" v-throttle>返回</el-button>
<el-button @click="next" type="primary" class="submitBtn" v-throttle>下一步</el-button>
</div>
</div>
</template>
<script>
import { inputListen } from '@/utils/utilFunction.js'
import { creditEvaluationDetails, addOperation, creditEvaluationInput } from '@/api/http'
import { mapMutations, mapState } from 'vuex'
export default {
data () {
return {
id: this.$route.query.id,
form: {
applicationAccount: '',
customerName: '',
identificationType: '',
identificationNumber: '',
contactPhoneNumber: '',
companyRegisteredAddress: '',
corporateName: '',
corporateIdNumber: '',
contactPhoneNumber: '',
currency: 12,
accountType: 97,
interestRate: 3.2,
interestCalculationMethod: 83,
withdrawalMethod: 114,
numberOfEmployees: '',
yearOfEstablishment: '',
registrationType: '',
mainBusinessScope: '',
expirationDateOfBusinessLicense: '2050-01-01',
financialReportSubmissionMethod: '',
natureOfBorrower: '',
},
rules: {
applicationAccount: [
{
required: true,
message: '请输入账号',
trigger: 'blur'
}
],
},
pickerOptions: {
disabledDate (v) {
return v.getTime() < new Date().getTime() - 86400000
},
},
submited: 0
}
},
computed: {
...mapState('system', ['creditIds']),
},
mounted () {
this.getDetail()
},
methods: {
...mapMutations({
changeShowGoods: 'system/changeShowGoods',
setDataFlow: 'system/setDataFlow',
setNeedsModule: 'system/setNeedsModule',
setPopId: 'system/setPopId',
setTipsOperate: 'system/setTipsOperate',
setCreditIds: 'system/setCreditIds',
setCreditImportIds: 'system/setCreditImportIds',
}),
//
async getDetail () {
const id = this.creditIds.companyLoanId
if (id) {
const res = await creditEvaluationDetails({
companyLoanId: id
})
const r = res.data.bankCreditEvaluation
r.identificationType = +r.identificationType
r.currency = 12
r.accountType = 97
r.interestRate = 3.2
r.interestCalculationMethod = 83
r.withdrawalMethod = 114
this.form = r
}
},
// blur
accountBlur () {
if (this.form.applicationAccount === 12802851701099) {
this.form.customerName = '袋鼠互联网科技有限公司'
this.form.identificationType = 82
this.form.identificationNumber = '913403005685450862'
this.form.contactPhoneNumber = '15890317718'
this.form.companyRegisteredAddress = '广东省深圳市南山区前海一号2020室'
this.form.corporateName = '丛小凤'
this.form.corporateIdNumber = '220602199202281229'
this.form.numberOfEmployees = 50
this.form.yearOfEstablishment = '2018-02-19'
this.form.registrationType = '有限公司'
this.form.mainBusinessScope = '信息技术'
this.form.expirationDateOfBusinessLicense = '2050-01-01'
this.form.financialReportSubmissionMethod = '半年'
this.form.natureOfBorrower = '企业法人'
}
},
//
async next () {
const { form } = this
if (!form.applicationAccount) return this.$message.error('请填写账号!')
try {
const { data } = await creditEvaluationInput({
...this.$store.getters['system/commonIds'],
...form,
})
const preId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',766,768'
const rule = [{ answerId: 769, emptyOne: 125, emptyTwo: form.applicationAccount, operationIds: preId + ',769', type: 3 }]
form.customerName && rule.push({ answerId: 880, emptyOne: 153, emptyTwo: form.customerName, operationIds: preId + ',880', type: 3 })
form.identificationNumber && rule.push({ answerId: 881, emptyOne: 153, emptyTwo: form.identificationNumber, operationIds: preId + ',881', type: 3 })
form.contactPhoneNumber && rule.push({ answerId: 882, emptyOne: 153, emptyTwo: form.contactPhoneNumber, operationIds: preId + ',882', type: 3 })
form.companyRegisteredAddress && rule.push({ answerId: 883, emptyOne: 153, emptyTwo: form.companyRegisteredAddress, operationIds: preId + ',883', type: 3 })
form.corporateName && rule.push({ answerId: 884, emptyOne: 153, emptyTwo: form.corporateName, operationIds: preId + ',884', type: 3 })
form.corporateIdNumber && rule.push({ answerId: 885, emptyOne: 153, emptyTwo: form.corporateIdNumber, operationIds: preId + ',885', type: 3 })
form.numberOfEmployees && rule.push({ answerId: 886, emptyOne: 153, emptyTwo: form.numberOfEmployees, operationIds: preId + ',886', type: 3 })
form.yearOfEstablishment && rule.push({ answerId: 887, emptyOne: 153, emptyTwo: form.yearOfEstablishment, operationIds: preId + ',887', type: 3 })
form.registrationType && rule.push({ answerId: 888, emptyOne: 153, emptyTwo: form.registrationType, operationIds: preId + ',888', type: 3 })
form.mainBusinessScope && rule.push({ answerId: 889, emptyOne: 153, emptyTwo: form.mainBusinessScope, operationIds: preId + ',889', type: 3 })
form.expirationDateOfBusinessLicense && rule.push({ answerId: 890, emptyOne: 153, emptyTwo: form.expirationDateOfBusinessLicense, operationIds: preId + ',890', type: 3 })
form.financialReportSubmissionMethod && rule.push({ answerId: 891, emptyOne: 153, emptyTwo: form.financialReportSubmissionMethod, operationIds: preId + ',891', type: 3 })
form.natureOfBorrower && rule.push({ answerId: 892, emptyOne: 153, emptyTwo: form.natureOfBorrower, operationIds: preId + ',892', type: 3 })
await addOperation({
parentId: preId,
lcJudgmentRuleReq: rule,
projectId: +sessionStorage.getItem('projectId'),
startTime: sessionStorage.getItem('startTime')
})
this.setCreditImportIds()
// id
this.setCreditIds({
companyLoanId: data.companyLoanId, // tabid
creditEvaluationId: data.creditEvaluationId, // id
})
this.$emit('updateStep', 1)
} catch { (e) => { } }
},
inputListen,
}
}
</script>
<style lang='scss' scoped>
.l-title {
margin-bottom: 15px;
font-size: 18px;
font-weight: 600;
}
.line {
margin: 20px 0;
border-bottom: 1px dashed #d7d7d7;
}
</style>

@ -0,0 +1,139 @@
<!-- 导入报表 -->
<template>
<div>
<div class="upload-wrap">
<div>
<el-button :type="creditImportIds.importBalanceSheet ? '' : 'primary'"
@click="importSth('importBalanceSheet')">点击导入资产负债表</el-button>
<p v-if="creditImportIds.importBalanceSheet" class="already">已导入</p>
</div>
<img class="icon" src="@/assets/img/arrow-right.png" alt="">
<div>
<el-button :type="creditImportIds.importIncomeStatement ? '' : 'primary'"
@click="importSth('importIncomeStatement')">点击导入损益表</el-button>
<p v-if="creditImportIds.importIncomeStatement" class="already">已导入</p>
</div>
<img class="icon" src="@/assets/img/arrow-right.png" alt="">
<div>
<el-button :type="creditImportIds.importCashFlowStatement ? '' : 'primary'"
@click="importSth('importCashFlowStatement')">点击导入现金流量表</el-button>
<p v-if="creditImportIds.importCashFlowStatement" class="already">已导入</p>
</div>
</div>
<div class="text-center m-t-20">
<el-button @click="prev" type="primary" class="submitBtn" v-throttle>上一步</el-button>
<el-button @click="next(2)" type="primary" class="submitBtn" v-throttle>下一步</el-button>
</div>
</div>
</template>
<script>
import { creditEvaluationDetails, addOperation, creditEvaluationInput } from '@/api/http'
import { mapMutations, mapState } from 'vuex'
export default {
computed: {
...mapState('system', ['creditImportIds', 'creditIds']),
},
data () {
return {
form: {},
originForm: {},
}
},
mounted () {
this.getDetail()
},
methods: {
...mapMutations('system', ['setCreditImportIndex', 'initCreditImportIds']),
//
async getDetail () {
// debugger
const id = this.creditIds.companyLoanId
if (id) {
const res = await creditEvaluationDetails({
companyLoanId: id
})
const r = res.data.bankCreditEvaluation
this.initCreditImportIds({
importBalanceSheet: r.importBalanceSheet || '',
importIncomeStatement: r.importIncomeStatement || '',
importCashFlowStatement: r.importCashFlowStatement || '',
})
}
this.originForm = JSON.stringify(this.creditImportIds)
},
//
importSth (i) {
this.setCreditImportIndex(i)
this.$parent.$parent.$parent.showData('导入报表', 12)
},
//
async prev () {
if (this.originForm !== JSON.stringify(this.creditImportIds)) {
try {
await this.$confirm(`编辑的内容未保存,是否保存并继续上一步?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
closeOnClickModal: false,
})
this.next(0)
} catch (e) { }
} else {
this.$emit('updateStep', 0)
}
},
async next (step) {
const form = this.creditImportIds
if (step) {
if (!form.importBalanceSheet) return this.$message.error('请导入资产负债表!')
if (!form.importIncomeStatement) return this.$message.error('请导入损益表!')
if (!form.importCashFlowStatement) return this.$message.error('请导入现金流量表!')
}
try {
await creditEvaluationInput({
...this.creditIds,
...form
})
const preId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',766,768,876'
await addOperation({
parentId: preId,
lcJudgmentRuleReq: [
{ answerId: 877, emptyOne: 150, emptyTwo: form.importBalanceSheet, operationIds: preId + ',877', type: 1 },
{ answerId: 878, emptyOne: 150, emptyTwo: form.importIncomeStatement, operationIds: preId + ',878', type: 1 },
{ answerId: 879, emptyOne: 150, emptyTwo: form.importCashFlowStatement, operationIds: preId + ',879', type: 1 },
],
projectId: +sessionStorage.getItem('projectId'),
startTime: sessionStorage.getItem('startTime')
})
this.$emit('updateStep', step)
} catch { (e) => { } }
},
},
}
</script>
<style lang='scss' scoped>
.upload-wrap {
display: flex;
justify-content: center;
align-items: center;
min-height: 300px;
.already {
margin-top: 8px;
font-size: 14px;
text-align: center;
color: #606060;
}
.icon {
margin: 0 40px;
}
}
</style>

@ -0,0 +1,294 @@
<!-- 贷前调查 -->
<template>
<div>
<el-row :gutter="20" style="margin: 0">
<el-form ref="form" :model="form" label-width="200px" :rules="rules">
<el-col :span="24">
<h6 class="l-title">贷前调查</h6>
</el-col>
<el-col :span="10">
<el-form-item label="调查日期" prop="surveyDate">
<el-date-picker v-model="form.surveyDate" ref="surveyDate" type="date" placeholder="请选择调查日期"
format="yyyy-MM-dd" value-format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
<el-form-item label="贸易融资记录" prop="tradeFinancingRecords">
<el-select v-model="form.tradeFinancingRecords" placeholder="请选择" ref="tradeFinancingRecords"
style="width: 100%">
<el-option v-for="(item, i) in opt1" :key="i" :label="item.name" :value="item.id"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="三年内较大经营投资失误" prop="businessInvestmentErrors">
<el-select v-model="form.businessInvestmentErrors" placeholder="请选择" ref="businessInvestmentErrors"
style="width: 100%">
<el-option v-for="(item, i) in opt1" :key="i" :label="item.name" :value="item.id"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="企业与客户管理分析" prop="enterpriseCustomerAnalysis">
<el-select v-model="form.enterpriseCustomerAnalysis" placeholder="请选择" ref="enterpriseCustomerAnalysis"
style="width: 100%">
<el-option v-for="(item, i) in opt2" :key="i" :label="item.name" :value="item.id"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="重大事故赔偿" prop="compensationMajorAccidents">
<el-select v-model="form.compensationMajorAccidents" placeholder="请选择" ref="compensationMajorAccidents"
style="width: 100%">
<el-option v-for="(item, i) in opt1" :key="i" :label="item.name" :value="item.id"> </el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="10" :offset="1">
<el-form-item label="对外不利担保" prop="externalUnfavorableGuarantee">
<el-select v-model="form.externalUnfavorableGuarantee" placeholder="请选择" ref="externalUnfavorableGuarantee"
style="width: 100%">
<el-option v-for="(item, i) in opt1" :key="i" :label="item.name" :value="item.id"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="经营状况" prop="businessStatus">
<el-select v-model="form.businessStatus" placeholder="请选择" ref="businessStatus" style="width: 100%">
<el-option v-for="(item, i) in opt2" :key="i" :label="item.name" :value="item.id"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="坏账准备金提取" prop="badDebtReserves">
<el-select v-model="form.badDebtReserves" placeholder="请选择" ref="badDebtReserves" style="width: 100%">
<el-option v-for="(item, i) in opt1" :key="i" :label="item.name" :value="item.id"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="重大法律诉讼" prop="majorLegalLitigation">
<el-select v-model="form.majorLegalLitigation" placeholder="请选择" ref="majorLegalLitigation"
style="width: 100%">
<el-option v-for="(item, i) in opt1" :key="i" :label="item.name" :value="item.id"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="贷款风险情况" prop="loanRiskSituation">
<el-select v-model="form.loanRiskSituation" placeholder="请选择" ref="loanRiskSituation" style="width: 100%">
<el-option v-for="(item, i) in opt1" :key="i" :label="item.name" :value="item.id"> </el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="其他风险情况" prop="preLoanOtherRiskSituations">
<el-input v-model="form.preLoanOtherRiskSituations" type="textarea" maxlength="100"></el-input>
</el-form-item>
</el-col>
</el-form>
</el-row>
<div class="text-center m-t-20">
<el-button @click="prev" type="primary" class="submitBtn" v-throttle>上一步</el-button>
<el-button @click="next(3)" type="primary" class="submitBtn" v-throttle>下一步</el-button>
</div>
</div>
</template>
<script>
import { myValidate } from '@/utils/utilFunction.js';
import { creditEvaluationDetails, addOperation, creditEvaluationInput } from '@/api/http'
import { mapState } from 'vuex'
export default {
data () {
return {
opt1: [
{
id: 203,
name: '有'
},
{
id: 204,
name: '无'
},
],
opt2: [
{
id: 205,
name: '优'
},
{
id: 206,
name: '良'
},
{
id: 207,
name: '不良'
},
],
form: {
surveyDate: '',
externalUnfavorableGuarantee: 204,
tradeFinancingRecords: 204,
businessStatus: 205,
businessInvestmentErrors: 204,
badDebtReserves: 204,
enterpriseCustomerAnalysis: 205,
majorLegalLitigation: 204,
compensationMajorAccidents: 204,
loanRiskSituation: 204,
preLoanOtherRiskSituations: '',
},
originForm: {},
rules: {
surveyDate: [
{
required: true,
message: '请选择调查日期',
trigger: 'change'
}
],
externalUnfavorableGuarantee: [
{
required: true,
message: '请选择对外不利担保',
trigger: 'change'
}
],
tradeFinancingRecords: [
{
required: true,
message: '请选择贸易融资记录',
trigger: 'change'
}
],
businessStatus: [
{
required: true,
message: '请选择经营状况',
trigger: 'change'
}
],
businessInvestmentErrors: [
{
required: true,
message: '请选择三年内较大经营投资失误',
trigger: 'change'
}
],
badDebtReserves: [
{
required: true,
message: '请选择坏账准备金提取',
trigger: 'change'
}
],
enterpriseCustomerAnalysis: [
{
required: true,
message: '请选择企业与客户管理分析',
trigger: 'change'
}
],
majorLegalLitigation: [
{
required: true,
message: '请选择重大法律诉讼',
trigger: 'change'
}
],
compensationMajorAccidents: [
{
required: true,
message: '请选择重大事故赔偿',
trigger: 'change'
}
],
loanRiskSituation: [
{
required: true,
message: '请选择贷款风险情况',
trigger: 'change'
}
],
},
submited: 0
}
},
computed: {
...mapState('system', ['creditIds']),
},
mounted () {
this.getDetail()
},
methods: {
//
async getDetail () {
const id = this.creditIds.companyLoanId
if (id) {
const res = await creditEvaluationDetails({
companyLoanId: id
})
const r = res.data.bankCreditEvaluation
r.externalUnfavorableGuarantee = +r.externalUnfavorableGuarantee || 204
r.tradeFinancingRecords = +r.tradeFinancingRecords || 204
r.businessStatus = +r.businessStatus || 205
r.businessInvestmentErrors = +r.businessInvestmentErrors || 204
r.badDebtReserves = +r.badDebtReserves || 204
r.enterpriseCustomerAnalysis = +r.enterpriseCustomerAnalysis || 205
r.majorLegalLitigation = +r.majorLegalLitigation || 204
r.compensationMajorAccidents = +r.compensationMajorAccidents || 204
r.loanRiskSituation = +r.loanRiskSituation || 204
this.form = r
}
this.originForm = JSON.stringify(this.form)
},
//
async prev () {
debugger
if (this.originForm !== JSON.stringify(this.form)) {
try {
await this.$confirm(`编辑的内容未保存,是否保存并继续上一步?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
closeOnClickModal: false,
})
this.next(1)
} catch (e) { }
} else {
this.$emit('updateStep', 1)
}
},
async next (step) {
this.$refs.form.validate(myValidate(async () => {
try {
const { form } = this
await creditEvaluationInput({
...this.creditIds,
...form,
})
const preId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',766,768'
const rule = [
{ answerId: 773, emptyOne: 125, emptyTwo: form.surveyDate, operationIds: preId + ',773', type: 3 },
{ answerId: 774, emptyOne: 126, emptyTwo: form.externalUnfavorableGuarantee, operationIds: preId + ',774', type: 1 },
{ answerId: 775, emptyOne: 126, emptyTwo: form.tradeFinancingRecords, operationIds: preId + ',775', type: 1 },
{ answerId: 776, emptyOne: 127, emptyTwo: form.businessStatus, operationIds: preId + ',776', type: 1 },
{ answerId: 777, emptyOne: 126, emptyTwo: form.businessInvestmentErrors, operationIds: preId + ',777', type: 1 },
{ answerId: 778, emptyOne: 126, emptyTwo: form.badDebtReserves, operationIds: preId + ',778', type: 1 },
{ answerId: 779, emptyOne: 127, emptyTwo: form.enterpriseCustomerAnalysis, operationIds: preId + ',779', type: 1 },
{ answerId: 780, emptyOne: 126, emptyTwo: form.majorLegalLitigation, operationIds: preId + ',780', type: 1 },
{ answerId: 781, emptyOne: 126, emptyTwo: form.compensationMajorAccidents, operationIds: preId + ',781', type: 1 },
{ answerId: 782, emptyOne: 126, emptyTwo: form.loanRiskSituation, operationIds: preId + ',782', type: 1 },
]
form.preLoanOtherRiskSituations && rule.push({ answerId: 783, emptyOne: 125, emptyTwo: form.preLoanOtherRiskSituations, operationIds: preId + ',783', type: 3 },)
await addOperation({
parentId: preId,
lcJudgmentRuleReq: rule,
projectId: +sessionStorage.getItem('projectId'),
startTime: sessionStorage.getItem('startTime')
})
this.$emit('updateStep', step)
} catch { (e) => { } }
}, this.$refs))
},
},
}
</script>
<style lang='scss' scoped>
.l-title {
margin-bottom: 15px;
font-size: 18px;
font-weight: 600;
}
.line {
margin: 20px 0;
border-bottom: 1px dashed #d7d7d7;
}
</style>

@ -0,0 +1,314 @@
<!-- 等级评定 -->
<template>
<div>
<el-row :gutter="20" style="margin: 0">
<el-form ref="form" :model="form" label-width="160px" :rules="rules">
<el-col :span="24">
<h6 class="l-title">等级评定</h6>
</el-col>
<el-col :span="12">
<el-form-item label="盈利记录" required>
<el-select v-model="form.profitRecord" placeholder="请选择" style="width: 100%">
<el-option v-for="(item, i) in opt3" :key="i" :label="item.name" :value="item.id"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="领导作风品行" required>
<el-select v-model="form.leadershipStyleAndConduct" placeholder="请选择" style="width: 100%">
<el-option v-for="(item, i) in opt2" :key="i" :label="item.name" :value="item.id"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="领导经营管理" required>
<el-select v-model="form.leadershipManagement" placeholder="请选择" style="width: 100%">
<el-option v-for="(item, i) in opt2" :key="i" :label="item.name" :value="item.id"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="企业发展前景" required>
<el-select v-model="form.enterpriseDevelopmentProspects" placeholder="请选择" style="width: 100%">
<el-option v-for="(item, i) in opt5" :key="i" :label="item.name" :value="item.id"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="有无不良信用记录" required>
<el-select v-model="form.haveAnyBadCreditRecords" placeholder="请选择" style="width: 100%">
<el-option v-for="(item, i) in opt1" :key="i" :label="item.name" :value="item.id"> </el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="10" :offset="1">
<el-form-item label="领导应变开拓" required>
<el-select v-model="form.leadershipAdaptabilityAndDevelopment" placeholder="请选择" style="width: 100%">
<el-option v-for="(item, i) in opt2" :key="i" :label="item.name" :value="item.id"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="领导才干教育" required>
<el-select v-model="form.leadershipEducation" placeholder="请选择" style="width: 100%">
<el-option v-for="(item, i) in opt1" :key="i" :label="item.name" :value="item.id"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="企业开发能力" required>
<el-select v-model="form.enterpriseDevelopmentCapability" placeholder="请选择" style="width: 100%">
<el-option v-for="(item, i) in opt4" :key="i" :label="item.name" :value="item.id"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="企业信誉" required>
<el-select v-model="form.corporateReputation" placeholder="请选择" style="width: 100%">
<el-option v-for="(item, i) in opt2" :key="i" :label="item.name" :value="item.id"> </el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="其他风险情况">
<el-input v-model="form.gradeEvaluationOtherRiskSituations" type="textarea" maxlength="100"></el-input>
</el-form-item>
</el-col>
</el-form>
</el-row>
<div class="text-center m-t-20">
<el-button @click="prev" type="primary" class="submitBtn" v-throttle>上一步</el-button>
<el-button @click="confirmSubmit" type="primary" class="submitBtn" v-throttle>提交</el-button>
</div>
<el-dialog :visible="submitVisible" append-to-body :close-on-click-modal="true" :show-close="false"
custom-class="dia">
<div class="data-dia23">
<div slot="title" class="dia-header">
<div class="data-title">提示</div>
</div>
<div class="popBody" style="flex-direction: column;">
<p class="text-lg" style="color: #333">评估完成</p>
<p class="text-lg" style="color: #333">信用评级为AAAA可进行授信申请</p>
</div>
<div class="popBtns">
<el-button class="sure btn hover:bg-blue-700 " type="primary" @click="submit(0)"> </el-button>
</div>
</div>
</el-dialog>
</div>
</template>
<script>
import { creditEvaluationDetails, addOperation, creditEvaluationInput } from '@/api/http'
import { mapState } from 'vuex'
export default {
data () {
return {
opt1: [
{
id: 203,
name: '有'
},
{
id: 204,
name: '无'
},
],
opt2: [
{
id: 205,
name: '优'
},
{
id: 206,
name: '良'
},
{
id: 207,
name: '不良'
},
],
opt3: [
{
id: 208,
name: '本年盈利'
},
{
id: 209,
name: '连续两年盈利'
},
{
id: 210,
name: '连续三年盈利'
},
{
id: 211,
name: '连续五年盈利'
},
{
id: 212,
name: '本年亏损'
},
{
id: 213,
name: '连续两年亏损'
},
{
id: 214,
name: '连续三年亏损'
},
{
id: 215,
name: '连续五年亏损'
},
],
opt4: [
{
id: 216,
name: '业内优秀'
},
{
id: 217,
name: '业内平均水平'
},
{
id: 218,
name: '业内平均水平以下'
},
],
opt5: [
{
id: 219,
name: '很有发展潜力'
},
{
id: 220,
name: '待考察'
},
{
id: 221,
name: '前景一般'
},
{
id: 222,
name: '前景堪忧'
},
],
form: {
profitRecord: 208,
leadershipAdaptabilityAndDevelopment: 205,
leadershipStyleAndConduct: 205,
leadershipEducation: 203,
leadershipManagement: 205,
enterpriseDevelopmentCapability: 216,
enterpriseDevelopmentProspects: 219,
corporateReputation: 205,
haveAnyBadCreditRecords: 204,
gradeEvaluationOtherRiskSituations: '',
},
originForm: {},
rules: {
surveyDate: [
{
required: true,
message: '请选择调查日期',
trigger: 'change'
}
],
},
submitVisible: false,
submited: 0
}
},
computed: {
...mapState('system', ['creditIds']),
},
mounted () {
this.getDetail()
},
methods: {
//
async getDetail () {
const id = this.creditIds.companyLoanId
if (id) {
const res = await creditEvaluationDetails({
companyLoanId: id
})
const r = res.data.bankCreditEvaluation
r.profitRecord = +r.profitRecord || 208
r.leadershipAdaptabilityAndDevelopment = +r.leadershipAdaptabilityAndDevelopment || 205
r.leadershipStyleAndConduct = +r.leadershipStyleAndConduct || 205
r.leadershipEducation = +r.leadershipEducation || 203
r.leadershipManagement = +r.leadershipManagement || 205
r.enterpriseDevelopmentCapability = +r.enterpriseDevelopmentCapability || 216
r.enterpriseDevelopmentProspects = +r.enterpriseDevelopmentProspects || 219
r.corporateReputation = +r.corporateReputation || 205
r.haveAnyBadCreditRecords = +r.haveAnyBadCreditRecords || 204
this.form = r
this.originForm = JSON.stringify(this.form)
}
},
confirmSubmit () {
this.submitVisible = true
},
//
async prev () {
debugger
if (this.originForm !== JSON.stringify(this.form)) {
try {
await this.$confirm(`编辑的内容未保存,是否保存并继续上一步?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
closeOnClickModal: false,
})
this.submit(1)
} catch (e) { }
} else {
this.$emit('updateStep', 2)
}
},
async submit (prev) {
try {
const { form } = this
await creditEvaluationInput({
...this.creditIds,
...form,
})
const preId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',766,768'
const rule = [
{ answerId: 784, emptyOne: 128, emptyTwo: form.profitRecord, operationIds: preId + ',784', type: 1 },
{ answerId: 785, emptyOne: 127, emptyTwo: form.leadershipAdaptabilityAndDevelopment, operationIds: preId + ',785', type: 1 },
{ answerId: 786, emptyOne: 127, emptyTwo: form.leadershipStyleAndConduct, operationIds: preId + ',786', type: 1 },
{ answerId: 787, emptyOne: 126, emptyTwo: form.leadershipEducation, operationIds: preId + ',787', type: 1 },
{ answerId: 788, emptyOne: 127, emptyTwo: form.leadershipManagement, operationIds: preId + ',788', type: 1 },
{ answerId: 789, emptyOne: 129, emptyTwo: form.enterpriseDevelopmentCapability, operationIds: preId + ',789', type: 1 },
{ answerId: 790, emptyOne: 130, emptyTwo: form.enterpriseDevelopmentProspects, operationIds: preId + ',790', type: 1 },
{ answerId: 791, emptyOne: 127, emptyTwo: form.corporateReputation, operationIds: preId + ',791', type: 1 },
{ answerId: 792, emptyOne: 126, emptyTwo: form.haveAnyBadCreditRecords, operationIds: preId + ',792', type: 1 },
]
form.gradeEvaluationOtherRiskSituations && rule.push({ answerId: 793, emptyOne: 125, emptyTwo: form.gradeEvaluationOtherRiskSituations, operationIds: preId + ',793', type: 3 },)
await addOperation({
parentId: preId,
lcJudgmentRuleReq: rule,
projectId: +sessionStorage.getItem('projectId'),
startTime: sessionStorage.getItem('startTime')
})
this.$message.success('创建成功!')
if (prev) {
//
this.$emit('updateStep', 2)
} else {
this.$parent.active = '2'
this.$parent.tab2Disabled = false
}
} catch { (e) => { } }
},
},
}
</script>
<style lang="scss" scoped>
@import '@/styles/dialog.scss';
.l-title {
margin-bottom: 15px;
font-size: 18px;
font-weight: 600;
}
.line {
margin: 20px 0;
border-bottom: 1px dashed #d7d7d7;
}
</style>

@ -0,0 +1,257 @@
<!-- 新建贷款申请 -->
<template>
<div class="wrap">
<div>
<div class="nav">
<el-menu :default-active="active" class="el-menu-demo" mode="horizontal" @select="handleSelect">
<el-menu-item index="1">信用评估</el-menu-item>
<el-menu-item :disabled="tab2Disabled" index="2">授信申请</el-menu-item>
<el-menu-item :disabled="tab3Disabled" index="3">贷款申请</el-menu-item>
</el-menu>
</div>
<MyTitle :titleArr="['公司贷款', '新建贷款申请', text]" />
<ul v-if="active === '1'" class="steps">
<li v-for="(step, i) in steps" :key="i" :class="{ active: curStep === i }">{{ step }}</li>
</ul>
<div class="form-wrap">
<template v-if="active === '1'">
<Basic v-if="!curStep" :key="0" @updateStep="updateStep" />
<ImportReport v-else-if="curStep === 1" :key="1" @updateStep="updateStep" />
<PreLoan v-else-if="curStep === 2" :key="2" @updateStep="updateStep" />
<Rating v-else-if="curStep === 3" :key="3" @updateStep="updateStep" />
</template>
<CreditApplication v-if="active === '2'" />
<template v-if="active === '3'">
<LoanApplication1 v-if="!curStep" @updateStep="updateStep" />
<LoanApplication2 v-else-if="curStep === 1" @updateStep="updateStep" />
</template>
</div>
</div>
</div>
</template>
<script>
import { mapState } from 'vuex'
import { creditApplicationDetails, loanApplicationDetails } from '@/api/http'
import Basic from './creditEvaluation/basic.vue'
import ImportReport from './creditEvaluation/importReport.vue'
import PreLoan from './creditEvaluation/preLoan.vue'
import Rating from './creditEvaluation/rating.vue'
import CreditApplication from './creditApplication'
import LoanApplication1 from './loanApplication/step1.vue'
import LoanApplication2 from './loanApplication/step2.vue'
import MyTitle from '@/components/myTitle'
export default {
components: {
Basic,
ImportReport,
PreLoan,
Rating,
CreditApplication,
LoanApplication1,
LoanApplication2,
MyTitle
},
computed: {
...mapState('system', ['creditIds']),
},
data () {
return {
text: '',
textObj: {
'1': '信用评估',
'2': '授信申请',
'3': '贷款申请',
},
visible: false,
active: '1',
steps: ['1.客户基本信息', '2.导入报表', '3.贷前调查', '4.等级评定'],
curStep: 0,
tab2Disabled: true,
tab3Disabled: true,
}
},
mounted () {
const id = this.creditIds.companyLoanId
if (id) {
this.getTab2Detail(id)
this.getTab3Detail(id)
}
},
methods: {
//
async getTab2Detail (id) {
const res = await creditApplicationDetails({
companyLoanId: id
})
this.tab2Disabled = !res.data.bankCreditApplication
},
//
async getTab3Detail (id) {
const res = await loanApplicationDetails({
companyLoanId: id
})
this.tab3Disabled = !res.data.bankLoanApplication
},
handleSelect (val) {
this.curStep = 0
this.text = this.textObj[val]
this.active = val
},
updateStep (step) {
this.curStep = step
},
},
};
</script>
<style lang="scss" scoped>
.wrap {
width: 100%;
display: flex;
flex-direction: column;
height: calc(100vh - 118px);
padding: 20px;
overflow: auto;
.nav {
/deep/ .el-menu.el-menu--horizontal {
border: 0;
}
/deep/ .el-menu--horizontal>.el-menu-item.is-active {
border: 2px solid #568df2;
border-radius: 10px;
color: #000;
}
/deep/ .el-menu--horizontal>.el-menu-item {
border: 2px solid transparent;
border-radius: 10px;
margin-right: 10px;
height: 30px;
line-height: 28px;
}
}
.title {
height: 60px;
display: flex;
align-items: center;
font-size: 20px;
padding-left: 0px;
margin-top: 10px;
}
.body {
margin-top: 50px;
overflow-y: auto;
overflow-x: hidden;
.idCard {
border-radius: 5px;
background: #cfddff;
text-align: center;
height: 40px;
line-height: 40px;
font-size: 18px;
color: #6191ff;
}
.add {
position: relative;
&::after {
content: '';
display: block;
position: absolute;
right: 3%;
top: -4%;
border: 1px dashed #cfddff;
width: 88%;
height: 268px;
}
.addBtn {
position: absolute;
left: 0;
top: 50%;
transform: translate(50%, -50%);
font-size: 22px;
}
}
}
.popBody {
min-height: 200px;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
}
.popBtns {
display: flex;
justify-content: space-between;
align-items: center;
.btn {
width: 180px;
border-radius: 10px;
font-size: 18px;
}
.close {
background: #cfdeff;
color: #6191ff;
}
.sure {
background: #6191ff;
color: #fff;
}
}
}
.steps {
display: flex;
justify-content: center;
margin-bottom: 20px;
li {
position: relative;
width: 160px;
padding: 6px 0;
margin-right: 25px;
text-align: center;
font-size: 16px;
color: #fff;
background-color: #a7bdf5;
&:after {
content: '';
position: absolute;
top: 0;
right: -24px;
border: 18px solid transparent;
border-right-width: 12px;
border-left: 12px solid #a7bdf5;
}
&.active {
background-color: #5786fc;
&:after {
border-left-color: #5786fc;
}
}
}
}
.form-wrap {
height: calc(100vh - 340px);
overflow: auto;
}
</style>

@ -0,0 +1,215 @@
<!-- 贷款申请第一步 -->
<template>
<div>
<el-row :gutter="20" style="margin: 0">
<el-form ref="form" :model="form" label-width="140px">
<el-col :span="24">
<h6 class="l-title">客户信息</h6>
</el-col>
<el-col :span="10" :offset="1">
<el-form-item label="账号">
<el-input v-model="form.applicationNumber" disabled />
</el-form-item>
<el-form-item label="证件类型">
<el-select v-model.trim="form.identificationType" placeholder="请选择" disabled>
<el-option label="统一社会信用代码证" :value="82"></el-option>
</el-select>
</el-form-item>
<el-form-item label="注册地址">
<el-input v-model="form.companyRegisteredAddress" />
</el-form-item>
<el-form-item label="法人证件号码">
<el-input v-model="form.corporateIdNumber" />
</el-form-item>
</el-col>
<el-col :span="10" :offset="1">
<el-form-item label="客户名称">
<el-input v-model="form.customerName" disabled />
</el-form-item>
<el-form-item label="代码证号">
<el-input v-model="form.corporateIdNumber" disabled />
</el-form-item>
<el-form-item label="法人姓名">
<el-input v-model="form.corporateName" />
</el-form-item>
<el-form-item label="信用评级">
<el-input v-model="form.creditRating" />
</el-form-item>
</el-col>
<el-col :span="24">
<h6 class="l-title">授信</h6>
</el-col>
<el-col :span="10" :offset="1">
<el-form-item label="授信金额">
<el-input v-model="form.creditAmount" disabled />
</el-form-item>
</el-col>
<el-col :span="24">
<h6 class="l-title">贷款申请</h6>
</el-col>
<el-col :span="10" :offset="1">
<el-form-item label="授信年限" required>
<el-select v-model="form.creditTermOne" placeholder="请选择">
<el-option v-for="(item, i) in Util.creditTerms" :key="i" :label="item.name" :value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="贷款申请金额" required>
<el-input :value="form.loanApplicationAmount" placeholder="不大于授信金额"
@input="val => ismoney(val, form, 'loanApplicationAmount')" ref="loanApplicationAmount" />
</el-form-item>
<el-form-item label="发放方式" required>
<el-select v-model.trim="form.distributionMethod" placeholder="请选择">
<el-option v-for="(item, i) in Util.distributionMethods" :key="i" :label="item.name" :value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="10" :offset="1">
<el-form-item label="年化利率">
<el-input value="3.2%" disabled />
</el-form-item>
<el-form-item label="还款方式" required>
<el-select v-model.trim="form.repaymentMethodOne" placeholder="请选择">
<el-option v-for="(item, i) in Util.repaymentMethods" :key="i" :label="item.name" :value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="申请日期" prop="loanApplicationDate" required>
<el-date-picker v-model="form.loanApplicationDate" type="date" placeholder="选择日期" format="yyyy-MM-dd"
value-format="yyyy-MM-dd" ref="loanApplicationDate">
</el-date-picker>
</el-form-item>
</el-col>
</el-form>
</el-row>
<div class="text-center m-t-20">
<el-button @click="next" type="primary" class="submitBtn" v-throttle>下一步</el-button>
</div>
</div>
</template>
<script>
import { ismoney } from '@/utils/utilFunction.js'
import { loanApplicationDetails, addOperation, loanApplicationInput } from '@/api/http'
import { mapMutations, mapState } from 'vuex'
import Util from '@/libs/util'
export default {
data () {
return {
Util,
form: {
applicationNumber: '12802851701099',
customerName: '袋鼠互联网科技有限公司',
identificationType: 82,
identificationNumber: '913403005685450862',
companyRegisteredAddress: '广东省深圳市南山区前海一号2020室',
corporateName: '丛小凤',
corporateIdNumber: '913403005685450862',
creditRating: 'AAAA',
creditAmount: '12,000,000.00',
creditTermOne: 231,
loanApplicationAmount: '',
repaymentMethodOne: 235,
distributionMethod: 238,
loanApplicationDate: '',
},
}
},
computed: {
...mapState('system', ['creditIds']),
},
mounted () {
this.getDetail()
},
methods: {
...mapMutations({
setCreditIds: 'system/setCreditIds',
}),
ismoney,
//
async getDetail () {
const id = this.creditIds.companyLoanId
if (id) {
const res = await loanApplicationDetails({
companyLoanId: id
})
const r = res.data.bankLoanApplication
if (r) {
this.form = {
applicationNumber: '12802851701099',
customerName: '袋鼠互联网科技有限公司',
identificationType: 82,
identificationNumber: '913403005685450862',
companyRegisteredAddress: r.companyRegisteredAddress,
corporateName: r.corporateName,
corporateIdNumber: r.corporateIdNumber,
creditRating: r.creditRating,
creditAmount: '12,000,000.00',
creditTermOne: +r.creditTermOne || 231,
loanApplicationAmount: r.loanApplicationAmount,
repaymentMethodOne: +r.repaymentMethodOne || 235,
distributionMethod: +r.distributionMethod || 238,
loanApplicationDate: r.loanApplicationDate,
loanId: r.loanId
}
}
}
},
async next () {
const { form } = this
if (!form.loanApplicationAmount) return this.$message.error('请填写贷款申请金额!')
if (+form.loanApplicationAmount > 12000000) return this.$message.error('贷款申请金额应不大于授信金额!') //
try {
const { data } = await loanApplicationInput({
...this.$store.getters['system/commonIds'],
...form,
companyLoanId: this.creditIds.companyLoanId,
})
const preId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',766,768'
const rule = [
{ answerId: 820, emptyOne: 134, emptyTwo: form.creditTermOne, operationIds: preId + ',820', type: 1 },
{ answerId: 821, emptyOne: 125, emptyTwo: form.loanApplicationAmount, operationIds: preId + ',821', type: 3 },
{ answerId: 822, emptyOne: 135, emptyTwo: form.repaymentMethodOne, operationIds: preId + ',822', type: 1 },
{ answerId: 823, emptyOne: 136, emptyTwo: form.distributionMethod, operationIds: preId + ',823', type: 1 },
{ answerId: 845, emptyOne: 140, emptyTwo: form.loanApplicationDate, operationIds: preId + ',845', type: 3 },
]
form.companyRegisteredAddress && rule.push({ answerId: 883, emptyOne: 153, emptyTwo: form.companyRegisteredAddress, operationIds: preId + ',883', type: 3 })
form.corporateName && rule.push({ answerId: 884, emptyOne: 153, emptyTwo: form.corporateName, operationIds: preId + ',884', type: 3 })
form.corporateIdNumber && rule.push({ answerId: 885, emptyOne: 153, emptyTwo: form.corporateIdNumber, operationIds: preId + ',885', type: 3 })
form.creditRating && rule.push({ answerId: 896, emptyOne: '', emptyTwo: '', operationIds: preId + ',896', type: '' })
form.creditAmount && rule.push({ answerId: 897, emptyOne: '', emptyTwo: '', operationIds: preId + ',897', type: '' })
await addOperation({
parentId: preId,
lcJudgmentRuleReq: rule,
projectId: +sessionStorage.getItem('projectId'),
startTime: sessionStorage.getItem('startTime')
})
// id
this.setCreditIds({
companyLoanId: data.companyLoanId, // tabid
loanId: data.loanId, // id
})
this.$emit('updateStep', 1)
} catch { (e) => { } }
},
},
}
</script>
<style lang='scss' scoped>
.l-title {
margin-bottom: 15px;
font-size: 18px;
font-weight: 600;
}
.line {
margin: 20px 0;
border-bottom: 1px dashed #d7d7d7;
}
</style>

@ -0,0 +1,285 @@
<!-- 信用评估 -->
<template>
<div>
<el-row :gutter="20" style="margin: 0">
<el-form ref="form" :model="form" :rules="rules" label-width="140px">
<el-col :span="24">
<h6 class="l-title">客户信息</h6>
</el-col>
<el-col :span="10" :offset="1">
<el-form-item label="贷款类型">
<el-select value="企业经营贷款" placeholder="请选择" disabled>
<el-option value="企业经营贷款"></el-option>
</el-select>
</el-form-item>
<el-form-item label="授信金额">
<el-input v-model="form.creditAmount" disabled />
</el-form-item>
<el-form-item label="起息日期" prop="valueDate">
<el-date-picker v-model="form.valueDate" type="date" placeholder="选择日期" format="yyyy-MM-dd"
value-format="yyyy-MM-dd" @change="maturityDateCalc"></el-date-picker>
</el-form-item>
<el-form-item label="计息方式">
<el-input value="按LPR浮动计息" disabled />
</el-form-item>
<el-form-item label="执行利率">
<el-input value="3.2%" disabled />
</el-form-item>
<el-form-item label="担保方式" prop="guaranteeMethod">
<el-select v-model="form.guaranteeMethod" placeholder="请选择">
<el-option v-for="(item, i) in Util.guaranteeMethods" :key="i" :label="item.name"
:value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="利息总额">
<el-input v-model="form.totalInterestAmount" disabled />
</el-form-item>
<el-form-item label="还款账号" prop="repaymentAccount">
<el-input v-model="form.repaymentAccount" />
</el-form-item>
</el-col>
<el-col :span="10" :offset="1">
<el-form-item label="合同编号" prop="contractNo">
<el-input v-model="form.contractNo" disabled />
</el-form-item>
<el-form-item label="授信期限">
<el-select v-model="form.creditTermTwo" placeholder="请选择">
<el-option v-for="(item, i) in Util.creditTerms" :key="i" :label="item.name" :value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="贷款期限" prop="loanTerm" @change="interestCalc">
<el-select v-model="form.loanTerm" placeholder="请选择" @change="maturityDateCalc">
<el-option v-for="(item, i) in Util.loanTerms" :key="i" :label="item.name" :value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="到期日期">
<el-date-picker v-model="form.expirationDate" type="date" placeholder="选择日期" format="yyyy-MM-dd"
value-format="yyyy-MM-dd" disabled></el-date-picker>
</el-form-item>
<el-form-item label="基准利率" prop="baseInterestRate">
<el-input value="3.20%" disabled />
</el-form-item>
<el-form-item label="逾期利率" prop="overdueInterestRate">
<el-input value="10%" disabled />
</el-form-item>
<el-form-item label="还款方式" prop="repaymentMethodTwo">
<el-select v-model.trim="form.repaymentMethodTwo" placeholder="请选择">
<el-option v-for="(item, i) in Util.repaymentMethods" :key="i" :label="item.name" :value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="贷款金额">
<el-input v-model="form.loanAmount" @input="loanAmountInput" />
</el-form-item>
</el-col>
</el-form>
</el-row>
<div class="text-center m-t-20">
<el-button @click="beforeSubmit" type="primary" class="submitBtn" v-throttle>提交</el-button>
</div>
<el-dialog :visible="visible" append-to-body style="z-index: 6000;" :close-on-click-modal="true" :show-close="false"
custom-class="dia">
<div class="data-dia23">
<div slot="title" class="dia-header">
<div class="data-title">提示</div>
</div>
<div class="popBody">
<p class="text-lg" style="color: #333">确定提交贷款申请吗</p>
</div>
<div class="popBtns">
<el-button class="close btn hover:bg-blue-100 " @click="visible = false"> </el-button>
<el-button class="sure btn hover:bg-blue-700 " type="primary" @click="submit"> </el-button>
</div>
</div>
</el-dialog>
<el-dialog :visible="successVisible" append-to-body style="z-index: 6000;" :close-on-click-modal="false"
:show-close="false" custom-class="dia">
<div class="data-dia23">
<div slot="title" class="dia-header">
<div class="data-title">提示</div>
</div>
<div class="popBody">
<p class="text-lg" style="color: #333">贷款申请成功</p>
</div>
<div class="popBtns">
<el-button class="sure btn hover:bg-blue-700 " type="primary"
@click="$router.push('/counter/list/manage/corporateLoans-application')"> </el-button>
</div>
</div>
</el-dialog>
</div>
</template>
<script>
import { addOperation, loanApplicationInput, loanApplicationDetails, loanApplicationInterestCalculation } from '@/api/http'
import Util from '@/libs/util'
import { mapMutations, mapState } from 'vuex'
export default {
data () {
return {
Util,
step1: {},
timer: null,
form: {
valueDate: '',
creditTermTwo: 231,
loanTerm: 120,
guaranteeMethod: 242,
expirationDate: '',
totalInterestAmount: '',
loanAmount: '',
repaymentMethodTwo: '',
repaymentAccount: '',
},
rules: {
valueDate: [
{
required: true,
message: '请选择起息日期',
trigger: 'change'
}
],
guaranteeMethod: [
{
required: true,
message: '请选择担保方式',
trigger: 'change'
}
],
repaymentAccount: [
{
required: true,
message: '请输入还款账号',
trigger: 'blur'
}
],
},
visible: false,
successVisible: false,
}
},
computed: {
...mapState('system', ['creditIds']),
},
mounted () {
this.getDetail()
},
methods: {
//
async getDetail () {
const id = this.creditIds.companyLoanId
if (id) {
//
const res = await loanApplicationDetails({
companyLoanId: id
})
const r = res.data.bankLoanApplication
if (r) {
this.step1 = r
this.form = {
valueDate: r.valueDate,
creditTermTwo: +r.creditTermOne,
loanTerm: +r.loanTerm || 120,
guaranteeMethod: +r.guaranteeMethod || 242,
expirationDate: r.expirationDate,
totalInterestAmount: r.totalInterestAmount,
loanAmount: r.loanApplicationAmount,
repaymentMethodTwo: +r.repaymentMethodOne,
repaymentAccount: r.repaymentAccount,
creditAmount: r.creditAmount,
}
}
}
},
//
maturityDateCalc () {
const { valueDate, loanTerm } = this.form
if (valueDate && loanTerm) {
const date = new Date(valueDate)
date.setMonth(date.getMonth() + loanTerm)
this.form.expirationDate = Util.formatDate('yyyy-MM-dd', date)
}
this.interestCalc()
},
// input
loanAmountInput () {
clearTimeout(this.timer);
this.timer = setTimeout(() => {
this.interestCalc()
}, 500)
},
//
async interestCalc () {
const { form } = this
if (form.loanAmount && form.valueDate) {
const { data } = await loanApplicationInterestCalculation({
...this.creditIds,
...form,
})
form.totalInterestAmount = data.totalInterestAmount || ''
}
},
async beforeSubmit () {
try {
const { form } = this
if (!form.valueDate) return this.$message.error('请选择起息日期!')
if (new Date(form.valueDate) < new Date(this.step1.loanApplicationDate)) return this.$message.error('起息日期不得早于申请日期!')
if (!form.repaymentAccount) return this.$message.error('请输入还款账号!')
if (+form.loanAmount > 12000000) return this.$message.error('贷款金额不得大于授信金额!')
this.visible = true
} catch { (e) => { } }
},
async submit () {
try {
const { form } = this
await loanApplicationInput({
...this.creditIds,
...form,
})
const preId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',766,768'
const rule = [
{ answerId: 824, emptyOne: 137, emptyTwo: 240, operationIds: preId + ',824', type: 1 },
{ answerId: 825, emptyOne: 134, emptyTwo: form.creditTermTwo, operationIds: preId + ',825', type: 1 },
{ answerId: 826, emptyOne: 125, emptyTwo: form.valueDate, operationIds: preId + ',826', type: 3 },
{ answerId: 846, emptyOne: 141, emptyTwo: Util.loanTerms.find(e => e.id === form.loanTerm).pointId, operationIds: preId + ',846', type: 1 },
{ answerId: 827, emptyOne: 125, emptyTwo: form.expirationDate, operationIds: preId + ',827', type: 3 },
{ answerId: 828, emptyOne: 139, emptyTwo: form.guaranteeMethod, operationIds: preId + ',828', type: 1 },
{ answerId: 822, emptyOne: 135, emptyTwo: form.repaymentMethodTwo, operationIds: preId + ',822', type: 1 },
{ answerId: 832, emptyOne: 125, emptyTwo: form.repaymentAccount, operationIds: preId + ',832', type: 1 },
]
form.loanAmount && rule.push({ answerId: 831, emptyOne: 125, emptyTwo: form.loanAmount, operationIds: preId + ',831', type: 1 })
await addOperation({
parentId: preId,
lcJudgmentRuleReq: rule,
projectId: +sessionStorage.getItem('projectId'),
startTime: sessionStorage.getItem('startTime')
})
this.successVisible = true
} catch { (e) => { } }
},
},
}
</script>
<style lang='scss' scoped>
@import '@/styles/dialog.scss';
.l-title {
margin-bottom: 15px;
font-size: 18px;
font-weight: 600;
}
.line {
margin: 20px 0;
border-bottom: 1px dashed #d7d7d7;
}
</style>

@ -0,0 +1,302 @@
<!-- 公司贷款详情 -->
<template>
<div class="wrap">
<MyTitle :titleArr="['公司贷款', '贷款详情']" />
<el-row :gutter="20" style="margin: 0">
<el-form ref="form" :model="form" label-width="120px" disabled>
<el-col :span="24">
<h6 class="l-title">信用评估</h6>
</el-col>
<el-col :span="10" :offset="1">
<el-form-item label="账号">
<el-input v-model="form.applicationAccount" disabled />
</el-form-item>
<el-form-item label="证件类型">
<el-select v-model.trim="form.identificationType" placeholder="请选择" disabled>
<el-option label="统一社会信用代码证" :value="82"></el-option>
</el-select>
</el-form-item>
<el-form-item label="注册地址">
<el-input v-model="form.companyRegisteredAddress" />
</el-form-item>
<el-form-item label="法人证件号码">
<el-input v-model="form.corporateIdNumber" />
</el-form-item>
</el-col>
<el-col :span="10" :offset="1">
<el-form-item label="客户名称">
<el-input v-model="form.customerName" disabled />
</el-form-item>
<el-form-item label="代码证号">
<el-input v-model="bankLoanApplication.corporateIdNumber" disabled />
</el-form-item>
<el-form-item label="法人姓名">
<el-input v-model="form.corporateName" />
</el-form-item>
<el-form-item label="信用评级">
<el-input v-model="bankLoanApplication.creditRating" />
</el-form-item>
</el-col>
<el-col :span="24">
<div class="line"></div>
<h6 class="l-title">授信</h6>
</el-col>
<el-col :span="10" :offset="1">
<el-form-item label="授信金额">
<el-input v-model="bankLoanApplication.creditAmount" disabled />
</el-form-item>
</el-col>
<el-col :span="24">
<div class="line"></div>
<h6 class="l-title">贷款申请</h6>
</el-col>
<el-col :span="10" :offset="1">
<el-form-item label="授信年限">
<el-select v-model="bankLoanApplication.creditTermOne" placeholder="请选择">
<el-option v-for="(item, i) in Util.creditTerms" :key="i" :label="item.name" :value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="还款方式">
<el-select v-model.trim="bankLoanApplication.repaymentMethodOne" placeholder="请选择">
<el-option v-for="(item, i) in Util.repaymentMethods" :key="i" :label="item.name" :value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="申请日期" prop="loanApplicationDate">
<el-date-picker v-model="bankLoanApplication.loanApplicationDate" type="date" placeholder="选择日期"
format="yyyy-MM-dd" value-format="yyyy-MM-dd" ref="loanApplicationDate">
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="10" :offset="1">
<el-form-item label="年化利率">
<el-input value="3.2%" disabled />
</el-form-item>
<el-form-item label="发放方式">
<el-select v-model.trim="bankLoanApplication.distributionMethod" placeholder="请选择">
<el-option v-for="(item, i) in Util.distributionMethods" :key="i" :label="item.name" :value="item.id">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="24">
<div class="line"></div>
<h6 class="l-title">贷款合同录入</h6>
</el-col>
<el-col :span="10" :offset="1">
<el-form-item label="贷款类型">
<el-select value="企业经营贷款" placeholder="请选择">
<el-option value="企业经营贷款"></el-option>
</el-select>
</el-form-item>
<el-form-item label="授信金额">
<el-input v-model="bankLoanApplication.creditAmount" disabled />
</el-form-item>
<el-form-item label="起息日期" prop="valueDate">
<el-date-picker v-model="bankLoanApplication.valueDate" type="date" placeholder="选择日期" format="yyyy-MM-dd"
value-format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
<el-form-item label="计息方式">
<el-input value="按LPR浮动计息" disabled />
</el-form-item>
<el-form-item label="执行利率" prop="executedInterestRate">
<el-input value="3.2%" disabled />
</el-form-item>
<el-form-item label="担保方式">
<el-select v-model="bankLoanApplication.guaranteeMethod" placeholder="请选择">
<el-option v-for="(item, i) in Util.guaranteeMethods" :key="i" :label="item.name"
:value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="利息总额">
<el-input v-model="bankLoanApplication.totalInterestAmount" />
</el-form-item>
<el-form-item label="还款账号">
<el-input v-model="bankLoanApplication.repaymentAccount" />
</el-form-item>
</el-col>
<el-col :span="10" :offset="1">
<el-form-item label="合同编号" prop="contractNo">
<el-input v-model="bankLoanApplication.contractNumber" disabled />
</el-form-item>
<el-form-item label="授信期限">
<el-select v-model="bankLoanApplication.creditTermTwo" placeholder="请选择">
<el-option v-for="(item, i) in Util.creditTerms" :key="i" :label="item.name" :value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="贷款期限" prop="loanTerm">
<el-select v-model="bankLoanApplication.loanTerm" placeholder="请选择">
<el-option v-for="(item, i) in Util.loanTerms" :key="i" :label="item.name" :value="item.id"></el-option>
</el-select>
</el-form-item>
<el-form-item label="到期日期">
<el-date-picker v-model="bankLoanApplication.expirationDate" type="date" placeholder="选择日期"
format="yyyy-MM-dd" value-format="yyyy-MM-dd" disabled></el-date-picker>
</el-form-item>
<el-form-item label="基准利率" prop="baseInterestRate">
<el-input value="3.20%" disabled />
</el-form-item>
<el-form-item label="逾期利率" prop="overdueInterestRate">
<el-input value="10%" disabled />
</el-form-item>
<el-form-item label="还款方式" prop="repaymentMethodTwo">
<el-select v-model="bankLoanApplication.repaymentMethodTwo" placeholder="请选择" disabled>
<el-option v-for="(item, i) in Util.repaymentMethods" :key="i" :label="item.name" :value="item.id">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="贷款金额">
<el-input v-model="bankLoanApplication.loanAmount" />
</el-form-item>
</el-col>
</el-form>
</el-row>
<div class="text-center">
<el-button v-if="!bankCompanyLoans.loanDate" @click="showLoan" type="primary" class="submitBtn"
v-throttle>放款</el-button>
<el-button @click="$router.back()" type="primary" class="submitBtn" v-throttle>关闭</el-button>
</div>
<el-dialog :visible.sync="loanVisible" z-index="6000" width="500px" append-to-body :show-close="false"
custom-class="dia">
<div class="data-dia23">
<div slot="title" class="dia-header">
<div class="data-title">放款</div>
</div>
<div style="padding: 30px 0;">
<el-date-picker v-model="loanDate" type="date" placeholder="请选择放款日期" format="yyyy-MM-dd"
value-format="yyyy-MM-dd" style="width: 100%;"></el-date-picker>
</div>
</div>
<span slot="footer" class="dialog-footer">
<el-button @click="loanVisible = false">取消</el-button>
<el-button type="primary" @click="loanSubmit">确定</el-button>
</span>
</el-dialog>
</div>
</template>
<script>
import { loanDisbursement, companyLoanDetails, addOperation } from '@/api/http'
import MyTitle from '@/components/myTitle'
import Util from '@/libs/util'
export default {
components: {
MyTitle,
},
data () {
return {
Util,
id: this.$route.query.id,
form: {
applicationAccount: '',
customerName: '',
identificationType: '',
identificationNumber: '',
contactPhoneNumber: '',
companyRegisteredAddress: '',
corporateName: '',
corporateIdNumber: '',
contactPhoneNumber: '',
currency: 12,
accountType: 97,
interestRate: 3.2,
interestCalculationMethod: 83,
withdrawalMethod: 114,
numberOfEmployees: '',
yearOfEstablishment: '',
registrationType: '',
mainBusinessScope: '',
expirationDateOfBusinessLicense: '',
financialReportSubmissionMethod: '',
natureOfBorrower: '',
},
loanDate: '',
loanVisible: false,
bankCompanyLoans: {},
bankLoanApplication: {},
}
},
mounted () {
this.getDetail()
},
methods: {
//
async getDetail () {
if (this.id) {
//
const { data } = await companyLoanDetails(this.id)
const eva = data.bankCreditEvaluation || {}
if (eva.identificationType) eva.identificationType = +eva.identificationType
this.form = eva || {}
this.bankCompanyLoans = data.bankCompanyLoans || {}
const app = data.bankLoanApplication || {}
if (app.distributionMethod) app.distributionMethod = +app.distributionMethod
if (app.repaymentMethodOne) app.repaymentMethodOne = +app.repaymentMethodOne
if (app.repaymentMethodTwo) app.repaymentMethodTwo = +app.repaymentMethodTwo
if (app.creditTerm) app.creditTerm = +app.creditTerm
if (app.guaranteeMethod) app.guaranteeMethod = +app.guaranteeMethod
if (app.loanTerm) app.loanTerm = +app.loanTerm
if (app.creditTermOne) app.creditTermOne = +app.creditTermOne
if (app.creditTermTwo) app.creditTermTwo = +app.creditTermTwo
this.bankLoanApplication = app
}
},
//
showLoan () {
this.loanVisible = true
},
//
async loanSubmit () {
if (!this.loanDate) return this.$message.error('请选择放款日期!')
try {
const { data } = await loanDisbursement({
companyLoanId: this.id,
loanDate: this.loanDate,
})
this.$message[data.status === 200 ? 'success' : 'error'](data.message)
if (data.status === 200) {
const preId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',766,768'
await addOperation({
parentId: preId,
lcJudgmentRuleReq: [{ answerId: 838, emptyOne: '', emptyTwo: '', operationIds: preId + ',838', type: '' },],
projectId: +sessionStorage.getItem('projectId'),
startTime: sessionStorage.getItem('startTime')
})
this.loanVisible = false
this.getDetail()
}
} catch (e) { }
},
},
}
</script>
<style lang='scss' scoped>
@import '@/styles/dialog.scss';
.wrap {
width: 100%;
height: calc(100vh - 118px);
padding: 20px;
overflow: auto;
.l-title {
margin-bottom: 15px;
font-size: 18px;
font-weight: 600;
}
.line {
margin: 20px 0;
border-bottom: 1px dashed #d7d7d7;
}
}
</style>

@ -0,0 +1,112 @@
<template>
<!-- 贷款放款 -->
<div class="wrap">
<my-title :titleArr="['公司贷款', '贷款放款']" />
<div style="width: 300px;margin-bottom: 20px;">
<el-input v-model="keyword" placeholder="请输入客户姓名" clearable />
</div>
<el-table :data="list" stripe :header-cell-style="headerCellStyle">
<el-table-column prop="customerName" label="客户姓名" align="center" />
<el-table-column prop="applicationNumber" label="贷款编号" align="center" />
<el-table-column prop="loanDate" label="放款日期" align="center">
<template slot-scope="scope">{{ scope.row.loanDate || '-' }}</template>
</el-table-column>
<el-table-column prop="loanAmount" label="贷款金额(万)" align="center">
<template slot-scope="scope">{{ scope.row.loanAmount || '-' }}</template>
</el-table-column>
<el-table-column prop="loanAmount" label="放款金额(万)" align="center">
<template slot-scope="scope">{{ scope.row.loanDate ? scope.row.loanAmount : '-' }}</template>
</el-table-column>
<el-table-column prop="loanAmount" label="放款状态" align="center">
<template slot-scope="scope">{{ scope.row.loanDate ? '已放款' : '待放款' }}</template>
</el-table-column>
<el-table-column label="操作" align="center" width="150">
<template slot-scope="scope">
<el-button :disabled="!!scope.row.builtIn" @click="toDetail(scope.row)" size="small">{{
scope.row.loanApplicationAmount ? '查看' : '编辑'
}}</el-button>
</template>
</el-table-column>
</el-table>
<div class="pagination">
<el-pagination background layout="total, prev, pager, next" :current-page="page"
@current-change="handleCurrentChange" :total="total"></el-pagination>
</div>
</div>
</template>
<script>
import { headerCellStyle } from '@/assets/js/myConfig'
import { companyLoanList } from '@/api/http';
import MyTitle from '@/components/myTitle'
export default {
components: {
MyTitle,
},
data () {
return {
headerCellStyle,
searchTimer: null,
keyword: '',
list: [],
page: 1,
pageSize: 10,
total: 0,
}
},
watch: {
keyword: function (val) {
clearTimeout(this.searchTimer);
this.searchTimer = setTimeout(() => {
this.initData()
}, 500)
},
},
mounted () {
this.initData()
},
methods: {
async getData () {
const { data } = await companyLoanList({
...this.$store.getters['system/commonIds'],
pageNum: this.page,
pageSize: this.pageSize,
searchContent: this.keyword,
typeId: 2
})
this.list = data.page.records
this.total = data.page.total
},
initData () {
this.page = 1
this.getData()
},
handleCurrentChange (val) {
this.page = val
this.getData()
},
//
toDetail (row) {
// id
this.$store.commit('system/setCreditIds', (row ? {
companyLoanId: row.companyLoanId, // tabid
} : {}))
this.$router.push(row.loanApplicationAmount ? `/counter/list/manage/corporateLoans-detail?id=${row.companyLoanId}` : '/counter/list/manage/corporateLoans-apply')
},
}
};
</script>
<style lang="scss" scoped>
@import '@/assets/css/tablebg.scss';
.wrap {
width: 100%;
max-height: calc(100vh - 118px);
padding: 24px;
overflow: auto;
}
</style>

@ -0,0 +1,405 @@
<template>
<!-- 贷后管理 -->
<div class="wrap">
<my-title :titleArr="['公司贷款', '贷后管理']" />
<div style="width: 300px;margin-bottom: 20px;">
<el-input v-model="keyword" placeholder="请输入客户姓名" clearable />
</div>
<el-table :data="list" stripe :header-cell-style="headerCellStyle">
<el-table-column prop="customerName" label="客户姓名" align="center" />
<el-table-column prop="applicationNumber" label="贷款编号" align="center" />
<el-table-column prop="loanStatus" label="贷款状态" align="center" width="100">
<template slot-scope="scope">{{ scope.row.loanStatus || '-' }}</template>
</el-table-column>
<el-table-column prop="fiveLevelClassification" label="五级分类" align="center">
<template slot-scope="scope">{{ scope.row.five || '-' }}</template>
</el-table-column>
<el-table-column prop="processingResults" label="处理结果" align="center" width="100">
<template slot-scope="scope">{{ scope.row.processingResults || '-' }}</template>
</el-table-column>
<el-table-column prop="updateTime" label="处理日期" align="center" width="160">
<template slot-scope="scope">{{ scope.row.updateTime || '-' }}</template>
</el-table-column>
<el-table-column prop="arrearsAmount" label="欠款金额" align="center" width="100">
<template slot-scope="scope">{{ scope.row.arrearsAmount || '-' }}</template>
</el-table-column>
<el-table-column label="操作" align="center" width="360">
<template v-if="!scope.row.builtIn" slot-scope="scope">
<el-button @click="collection(scope.row)" size="small">催收</el-button>
<el-button @click="postLoan(scope.row)" size="small">贷后调查</el-button>
<el-button v-if="!scope.row.nonPerformingLoan" :disabled="scope.row.fiveLevelClassification"
@click="npl(scope.row)" size="small">不良贷款</el-button>
<el-button v-if="!scope.row.badDebtRecognition" @click="badDebt(scope.row)" size="small">呆账认定</el-button>
</template>
</el-table-column>
</el-table>
<div class="pagination">
<el-pagination background layout="total, prev, pager, next" :current-page="page"
@current-change="handleCurrentChange" :total="total"></el-pagination>
</div>
<el-dialog :visible="visible" append-to-body style="z-index: 6000;" :close-on-click-modal="true" :show-close="false"
custom-class="dia">
<div class="data-dia23">
<div slot="title" class="dia-header">
<div class="data-title">提示</div>
</div>
<div class="popBody">
<p v-if="curMsg >= 0" class="text-lg" style="color: #333">{{ msgs[curMsg] }}</p>
<el-row v-else style="width: 100%">
<el-form class="dia-form" label-width="130px" label-suffix="">
<el-col :span="12">
<el-form-item v-if="curType === 5" label="认定日期">
<p class="text">{{ today }}</p>
</el-form-item>
<el-form-item label="客户名称">
<p class="text">{{ curRow.customerName }}</p>
</el-form-item>
<el-form-item label="欠款金额">
<p class="text">{{ curRow.arrearsAmount || 0 }}</p>
</el-form-item>
<el-form-item v-if="curType === 4" label="催收金额">
<p class="text">{{ curRow.arrearsAmount || 0 }}</p>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="贷款编号">
<p class="text">{{ curRow.applicationNumber }}</p>
</el-form-item>
<el-form-item label="催收通知书编号">
<p class="text">A012346156281</p>
</el-form-item>
</el-col>
</el-form>
</el-row>
</div>
<div class="popBtns">
<el-button v-if="curMsg < 2" class="close btn hover:bg-blue-100 " @click="visible = false"> </el-button>
<el-button class="sure btn hover:bg-blue-700 " type="primary" @click="msgSubmit"> </el-button>
</div>
</div>
</el-dialog>
<el-dialog :visible="postLoanVisible" append-to-body style="z-index: 6000;" :close-on-click-modal="true"
:show-close="false" custom-class="dia postLoanDia">
<div class="data-dia23">
<div slot="title" class="dia-header">
<div class="data-title">贷后调查</div>
</div>
<h6>调查日期{{ today }}</h6>
<el-row style="width: 100%">
<el-form label-width="130px" label-suffix="" label-position="top">
<el-col :span="24">
<el-form-item label="客户基本状态变化" required>
<el-input type="textarea" :rows="3" size="small" maxlength="100" v-model="form.stateChange" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="信贷业务和还本付息情况变化" required>
<el-select v-model="form.changesInSituation" size="small" placeholder="请选择">
<el-option v-for="(item, i) in opt1" :label="item.name" :value="item.id" :key="i">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="偿债能力" required>
<el-select v-model="form.debtPayingAbility" size="small" placeholder="请选择">
<el-option v-for="(item, i) in opt3" :label="item.name" :value="item.id" :key="i">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="担保状况不利变化" required>
<el-select v-model="form.adverseChanges" size="small" placeholder="请选择">
<el-option v-for="(item, i) in opt1" :label="item.name" :value="item.id" :key="i">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :offset="1" :span="11">
<el-form-item label="经营状况" required>
<el-select v-model="form.businessStatus" size="small" placeholder="请选择">
<el-option v-for="(item, i) in opt2" :label="item.name" :value="item.id" :key="i">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="信用状况" required>
<el-select v-model="form.creditStatus" size="small" placeholder="请选择">
<el-option v-for="(item, i) in opt2" :label="item.name" :value="item.id" :key="i">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="五级分类" required>
<el-select v-model="form.fiveLevelClassification" size="small" placeholder="请选择">
<el-option v-for="(item, i) in opt4" :label="item.name" :value="item.id" :key="i">
</el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="结论 建议">
<el-input type="textarea" :rows="3" size="small" maxlength="100"
v-model="form.conclusionAndSuggestions">
</el-input>
</el-form-item>
</el-col>
</el-form>
</el-row>
</div>
<div class="popBtns">
<el-button class="close btn hover:bg-blue-100 " @click="postLoanVisible = false"> </el-button>
<el-button class="sure btn hover:bg-blue-700 " type="primary" @click="postLoanSubmit"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { headerCellStyle } from '@/assets/js/myConfig'
import { companyLoanList, loanCollection, nonPerformingLoans, badDebtRecognition, postLoanInvestigationInput, addOperation } from '@/api/http';
import MyTitle from '@/components/myTitle'
import Util from '@/libs/util'
export default {
components: {
MyTitle,
},
data () {
return {
headerCellStyle,
searchTimer: null,
keyword: '',
list: [],
page: 1,
pageSize: 10,
total: 0,
today: Util.formatDate('yyyy-MM-dd', new Date()),
msgs: [
'向贷款人预留各渠道联系方式发送催收信息',
'确认提交吗?',
'已成功向贷款人发起催收提醒!',
'贷后调查提交成功!',
'不良贷款提交成功!',
'呆账认定提交成功!',
],
visible: false,
curMsg: 0,
curType: 3,
curRow: {},
postLoanVisible: false,
selects: [],
originForm: {},
form: {
stateChange: '',
changesInSituation: 203,
debtPayingAbility: 1,
adverseChanges: 203,
businessStatus: 205,
creditStatus: 205,
fiveLevelClassification: 1,
conclusionAndSuggestions: '',
},
opt1: [
{
id: 203,
name: '有'
},
{
id: 204,
name: '无'
},
],
opt2: [
{
id: 205,
name: '优'
},
{
id: 206,
name: '良'
},
{
id: 207,
name: '差'
},
],
opt3: [
{
id: 1,
name: '能按期偿还'
},
{
id: 2,
name: '不能按期偿还'
},
],
opt4: [
{
id: 1,
name: '正常贷款'
},
{
id: 2,
name: '关注贷款'
},
{
id: 3,
name: '次级贷款'
},
{
id: 4,
name: '可疑贷款'
},
{
id: 5,
name: '损失贷款'
},
],
curRow: {},
}
},
watch: {
keyword: function (val) {
clearTimeout(this.searchTimer);
this.searchTimer = setTimeout(() => {
this.initData()
}, 500)
},
},
mounted () {
this.originForm = JSON.parse(JSON.stringify(this.form))
this.initData()
},
methods: {
async getData () {
const { data } = await companyLoanList({
...this.$store.getters['system/commonIds'],
pageNum: this.page,
pageSize: this.pageSize,
searchContent: this.keyword,
typeId: 4
})
const list = data.page.records
const { opt4 } = this
list.forEach(e => {
const five = e.fiveLevelClassification
e.bad = five === '4' || five === '5' //
if (five) e.five = opt4.find(n => n.id == five).name
})
this.list = list
this.total = data.page.total
},
initData () {
this.page = 1
this.getData()
},
handleCurrentChange (val) {
this.page = val
this.getData()
},
//
collection (row) {
this.curRow = row
this.visible = true
this.curMsg = 0
},
//
postLoan (row) {
this.form = JSON.parse(JSON.stringify(this.originForm))
this.curRow = row
this.postLoanVisible = true
},
//
async postLoanSubmit () {
const { form } = this
if (!form.stateChange) return this.$message.error('请填写客户基本状态变化!')
form.companyLoanId = this.curRow.companyLoanId
await postLoanInvestigationInput(form)
this.submitPoint(841)
this.getData()
this.postLoanVisible = false
},
//
npl (row) {
this.curRow = row
this.curType = 4
this.curRow = row
this.visible = true
this.curMsg = -2
},
//
badDebt (row) {
this.curRow = row
this.curType = 5
this.curRow = row
this.visible = true
this.curMsg = -1
},
async msgSubmit () {
if (!this.curMsg) {
//
await loanCollection({
companyLoanId: this.curRow.companyLoanId
})
this.getData()
this.curMsg = 2
this.submitPoint(840)
} else if (this.curMsg < 0) {
this.curMsg = 1
} else if (this.curMsg === 1) {
this.curMsg = this.curType
if (this.curType === 4) {
//
await nonPerformingLoans({
companyLoanId: this.curRow.companyLoanId
})
this.submitPoint(842)
} else {
//
await badDebtRecognition({
companyLoanId: this.curRow.companyLoanId
})
this.submitPoint(843)
}
this.getData()
} else {
this.visible = false
}
},
async submitPoint (id) {
const preId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',766,768'
await addOperation({
parentId: preId,
lcJudgmentRuleReq: [{ answerId: id, emptyOne: '', emptyTwo: '', operationIds: `${preId},${id}`, type: '' },],
projectId: +sessionStorage.getItem('projectId'),
startTime: sessionStorage.getItem('startTime')
})
},
},
};
</script>
<style lang="scss" scoped>
@import '@/assets/css/tablebg.scss';
@import '@/styles/dialog.scss';
.wrap {
width: 100%;
max-height: calc(100vh - 118px);
padding: 24px;
overflow: auto;
}
/deep/.postLoanDia {
.el-form-item__label {
padding-bottom: 0;
}
}
</style>

@ -0,0 +1,358 @@
<template>
<!-- 贷款还款 -->
<div class="wrap">
<my-title :titleArr="['公司贷款', '贷款还款']" />
<div style="width: 300px;margin-bottom: 20px;">
<el-input v-model="keyword" placeholder="请输入客户姓名" clearable />
</div>
<el-table :data="list" stripe :header-cell-style="headerCellStyle">
<el-table-column prop="customerName" label="客户姓名" align="center" />
<el-table-column prop="applicationNumber" label="贷款编号" align="center" />
<el-table-column prop="totalRepaymentAmount" label="累计还款金额(万)" align="center" />
<el-table-column prop="arrearsAmount" label="欠款金额(万)" align="center">
<template slot-scope="scope">{{ scope.row.arrearsAmount || '-' }}</template>
</el-table-column>
<el-table-column label="操作" align="center" width="240">
<template slot-scope="scope">
<el-button :disabled="!!scope.row.builtIn" @click="toDetail(scope.row)" size="small">{{
scope.row.loanApplicationAmount ? '查看' : '编辑'
}}</el-button>
<template v-if="!scope.row.builtIn">
<el-button size="small" @click="showExtension(scope.row)">展期</el-button>
<el-button @click="repayment(scope.row)" size="small">还款计划</el-button>
</template>
</template>
</el-table-column>
</el-table>
<div class="pagination">
<el-pagination background layout="total, prev, pager, next" :current-page="page"
@current-change="handleCurrentChange" :total="total"></el-pagination>
</div>
<el-dialog title="请选择展期期限" :visible.sync="extensionVisible" width="300px" z-index="6000" :append-to-body="true">
<el-select v-model="extensionPeriod" placeholder="请选择" size="small" style="width: 100%;">
<el-option v-for="(item, i) in extensions" :key="i" :label="item.name" :value="item.id"></el-option>
</el-select>
<span slot="footer" class="dialog-footer">
<el-button @click="extensionVisible = false">取消</el-button>
<el-button type="primary" @click="extensionSubmit">确定</el-button>
</span>
</el-dialog>
<el-dialog title="还款计划" :visible.sync="repaymentVisible" width="1000px" z-index="6000" :append-to-body="true">
<div class="flex j-between a-center m-b-20">
<el-form class="filter-form" label-width="90px" inline>
<el-form-item label="还款周期">
<el-date-picker placeholder="请选择还款周期" v-model="date" align="right" unlink-panels type="daterange"
size="small" start-placeholder="开始日期" end-placeholder="结束日期" format="yyyy-MM-dd" value-format="yyyy-MM-dd"
clearable></el-date-picker>
</el-form-item>
<el-form-item label="还款状态">
<el-select v-model="form.status" placeholder="请选择" size="small" clearable @change="initRepayment">
<el-option value="待还款"></el-option>
<el-option value="已还款"></el-option>
<el-option value="逾期"></el-option>
</el-select>
</el-form-item>
</el-form>
<div>
<el-button @click="batchRepayment('已还款')" size="small" type="primary">批量还款</el-button>
<el-button @click="batchRepayment('逾期')" size="small" type="primary">批量逾期</el-button>
</div>
</div>
<el-table ref="repayments" :data="repayments" stripe header-align="center"
@selection-change="handleSelectionChangeRepayment" row-key="id">
<el-table-column type="selection" width="55" align="center" :reserve-selection="true"
:selectable="checkAble"></el-table-column>
<el-table-column type="index" width="60" label="序号" align="center"></el-table-column>
<el-table-column prop="contractAmount" label="还款周期" align="center">
<template slot-scope="scope">
{{ scope.row.periodStart + '~' + scope.row.periodEnd }}
</template>
</el-table-column>
<el-table-column prop="amountDue" label="应还款" align="center"></el-table-column>
<el-table-column prop="status" label="还款状态" align="center">
<template slot-scope="scope">
<p :class="{ 'text-red': scope.row.status === '逾期' }">{{ scope.row.status }}</p>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="150">
<template v-if="scope.row.status !== '已还款'" slot-scope="scope">
<el-button @click="handleRepayment(scope.row, '已还款')" size="small">还款</el-button>
<el-button @click="handleRepayment(scope.row, '逾期')" size="small">逾期</el-button>
</template>
</el-table-column>
</el-table>
<div class="pagination">
<el-pagination background layout="total, prev, pager, next" :current-page="pageRepayment"
@current-change="handleCurrentChangePayment" :total="totalRepayment"></el-pagination>
</div>
</el-dialog>
</div>
</template>
<script>
import { headerCellStyle } from '@/assets/js/myConfig'
import { companyLoanList, addExtensionPeriod, repaymentPlanCompany, batchProcessingCompany, addOperation } from '@/api/http';
import MyTitle from '@/components/myTitle'
export default {
name: 'index',
components: {
MyTitle,
},
data () {
return {
headerCellStyle,
searchTimer: null,
keyword: '',
list: [],
page: 1,
pageSize: 10,
total: 0,
curRow: {},
extensionVisible: false,
extensionPeriod: 1,
extensions: [
{
id: 1,
name: '1个月'
},
{
id: 2,
name: '2个月'
},
{
id: 3,
name: '3个月'
},
{
id: 4,
name: '4个月'
},
{
id: 5,
name: '5个月'
},
{
id: 6,
name: '6个月'
},
{
id: 7,
name: '7个月'
},
{
id: 8,
name: '8个月'
},
{
id: 9,
name: '9个月'
},
{
id: 10,
name: '10个月'
},
],
repaymentVisible: false,
repayments: [],
pageRepayment: 1,
pageSizeRepayment: 10,
totalRepayment: 0,
multipleSelection: [],
date: [],
form: {
periodEnd: '',
periodStart: '',
status: '',
},
curRow: {},
}
},
watch: {
keyword: function (val) {
clearTimeout(this.searchTimer);
this.searchTimer = setTimeout(() => {
this.initData()
}, 500)
},
date: function (val) {
if (val) {
this.form.periodStart = val[0]
this.form.periodEnd = val[1]
} else {
this.form.periodStart = ''
this.form.periodEnd = ''
}
this.initRepayment();
},
},
mounted () {
this.initData()
},
methods: {
async getData () {
const { data } = await companyLoanList({
...this.$store.getters['system/commonIds'],
pageNum: this.page,
pageSize: this.pageSize,
searchContent: this.keyword,
typeId: 3
})
this.list = data.page.records
this.total = data.page.total
},
initData () {
this.page = 1
this.getData()
},
handleCurrentChange (val) {
this.page = val
this.getData()
},
//
toDetail (row) {
// id
this.$store.commit('system/setCreditIds', (row ? {
companyLoanId: row.companyLoanId, // tabid
} : {}))
this.$router.push(row.loanAmount ? `/counter/list/manage/corporateLoans-detail?id=${row.companyLoanId}` : '/counter/list/manage/corporateLoans-apply')
},
//
showExtension (row) {
this.curRow = row
this.extensionVisible = true
},
//
async extensionSubmit () {
if (!this.extensionPeriod) return this.$message.error('请选择展期期限!')
const { data } = await addExtensionPeriod({
companyLoanId: this.curRow.companyLoanId,
extensionPeriod: this.extensionPeriod,
})
this.$message.success('展期成功!')
if (data.status === 200) this.extensionVisible = false
const preId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',766,768'
await addOperation({
parentId: preId,
lcJudgmentRuleReq: [{ answerId: 839, emptyOne: '', emptyTwo: '', operationIds: preId + ',839', type: '' },],
projectId: +sessionStorage.getItem('projectId'),
startTime: sessionStorage.getItem('startTime')
})
this.getData()
},
//
async repayment (row) {
this.curRow = row
this.repaymentVisible = true
this.getRepayment()
},
//
async getRepayment (row) {
const { data } = await repaymentPlanCompany({
pageNum: this.pageRepayment,
pageSize: this.pageSizeRepayment,
...this.form,
companyLoanId: this.curRow.companyLoanId,
})
this.repayments = data.list.records
this.totalRepayment = data.list.total
},
initRepayment () {
this.pageRepayment = 1
this.getRepayment()
},
handleCurrentChangePayment (val) {
this.pageRepayment = val
this.getRepayment()
},
handleSelectionChangeRepayment (val) {
this.multipleSelection = val
},
//
checkAble (row) {
return row.status === '待还款'
},
// /
handleRepayment (row, status) {
const text = status === '已还款' ? '还款' : '逾期'
this.$confirm(`确定要${text}吗?`, "提示", {
type: "warning"
}).then(async () => {
await batchProcessingCompany([{
id: row.id,
status
}])
const answerId = status === '已还款' ? 900 : 901
const preId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',766,768'
await addOperation({
parentId: preId,
lcJudgmentRuleReq: [{ answerId, emptyOne: '', emptyTwo: '', operationIds: preId + ',' + answerId, type: '' },],
projectId: +sessionStorage.getItem('projectId'),
startTime: sessionStorage.getItem('startTime')
})
this.$message.success(`${text}成功`)
this.getRepayment()
this.getData()
}).catch(() => { })
},
// /
batchRepayment (status) {
const list = this.multipleSelection
if (list.length) {
const text = status === '已还款' ? '还款' : '逾期'
this.$confirm(`确定要${text}吗?`, "提示", {
type: "warning"
}).then(async () => {
const ids = list.map(e => {
return {
id: e.id,
status
}
})
await batchProcessingCompany(ids)
const answerId = status === '已还款' ? 898 : 899
const preId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',766,768'
await addOperation({
parentId: preId,
lcJudgmentRuleReq: [{ answerId, emptyOne: '', emptyTwo: '', operationIds: preId + ',' + answerId, type: '' },],
projectId: +sessionStorage.getItem('projectId'),
startTime: sessionStorage.getItem('startTime')
})
this.$message.success(`${text}成功`)
this.$refs.repayments.clearSelection()
this.multipleSelection = []
this.getRepayment()
this.getData()
}).catch(() => { })
} else {
this.$message.error(`请选择数据!`)
}
},
}
};
</script>
<style lang="scss" scoped>
@import '@/assets/css/tablebg.scss';
.wrap {
width: 100%;
max-height: calc(100vh - 118px);
padding: 24px;
overflow: auto;
}
</style>

@ -1,24 +1,49 @@
<template>
<div class=" wrap2 myPadding">
<my-title :titleArr="['日终管理', '网点日终轧帐']"/>
<!-- 存款 -->
<div class="body">
<el-row :gutter="20" style="margin: 0">
<el-form ref="form" :model="form" label-width="120px" label-position="right" :rules="rules">
<el-form-item label="主管柜员号" prop="username" style="width: 40vw;">
<el-input placeholder="请输入账号" :value="form.username" @input="val => checkHanzi(val, form, 'username')" ref="username"></el-input>
</el-form-item>
<el-form-item label="登录密码" prop="password" style="width: 40vw;">
<el-input placeholder="请输入密码" type="password" :value="form.password" @input="val => checkHanzi(val, form, 'password')" ref="password"></el-input>
</el-form-item>
</el-form>
</el-row>
<my-dialog :moduleName="moduleName" v-if="visible" :visible.sync="visible" :showForm="form" :formName="formName" @submitIt="submitForm2" />
</div>
<el-button @click="submitIt()" type="primary" class="submitBtn" v-throttle>提交</el-button>
<div class=" wrap2 myPadding">
<my-title :titleArr="['日终管理', '网点日终轧帐']" />
<!-- 存款 -->
<div class="body">
<el-row :gutter="20"
style="margin: 0">
<el-form ref="form"
:model="form"
label-width="120px"
label-position="right"
:rules="rules">
<el-form-item label="主管柜员号"
prop="username"
style="width: 40vw;">
<el-input placeholder="请输入账号"
:value="form.username"
@input="val => checkHanzi(val, form, 'username')"
ref="username"></el-input>
</el-form-item>
<el-form-item label="登录密码"
prop="password"
style="width: 40vw;">
<el-input placeholder="请输入密码"
type="password"
:value="form.password"
@input="val => checkHanzi(val, form, 'password')"
autocomplete=new-password
ref="password"></el-input>
</el-form-item>
</el-form>
</el-row>
<my-dialog :moduleName="moduleName"
v-if="visible"
:visible.sync="visible"
:showForm="form"
:formName="formName"
@submitIt="submitForm2" />
</div>
<el-button @click="submitIt()"
type="primary"
class="submitBtn"
v-throttle>提交</el-button>
</div>
</template>
<script>
@ -28,104 +53,106 @@ import MyTitle from '@/components/myTitle'
import MyDialog from '@/components/dialogTwo'
import { addOperation, getOperation } from '@/api/http';
export default {
name: 'index',
components:{
MyTitle,
MyDialog
},
data() {
return {
visible: false,
moduleName: 'branchDayEnd',
form:{
username: '',
password: ''
},
formName: {
username: '主管柜员号',
password: '登录密码'
},
rules: {
username: [
{
required: true,
message: '请输入主管柜员号',
trigger: 'blur'
}
],
password: [
{
required: true,
message: '请输入登录密码',
trigger: 'blur'
}
]
}
}
},
created() {
// const tmpFunc = () => {
// const date = new Date()
// var y = date.getFullYear();
// var m = date.getMonth() + 1;
// m = m < 10 ? '0' + m : m;
// var d = date.getDate();
// d = d < 10 ? ('0' + d) : d;
// return y + '-' + m + '-' + d;
// }
// this.form.data = tmpFunc()
name: 'index',
components: {
MyTitle,
MyDialog
},
data () {
return {
visible: false,
moduleName: 'branchDayEnd',
form: {
username: '180623',
password: '621229'
},
formName: {
username: '主管柜员号',
password: '登录密码'
},
rules: {
username: [
{
required: true,
message: '请输入主管柜员号',
trigger: 'blur'
}
],
password: [
{
required: true,
message: '请输入登录密码',
trigger: 'blur'
}
]
},
submited: 0
}
},
created () {
// const tmpFunc = () => {
// const date = new Date()
// var y = date.getFullYear();
// var m = date.getMonth() + 1;
// m = m < 10 ? '0' + m : m;
// var d = date.getDate();
// d = d < 10 ? ('0' + d) : d;
// return y + '-' + m + '-' + d;
// }
// this.form.data = tmpFunc()
},
mounted () {
this.$refs.username.focus()
},
methods: {
...mapMutations({
setTipsOperate: 'system/setTipsOperate'
}),
submitIt () {
if (this.submited) return this.$message.error('已提交!')
this.$refs.form.validate(myValidate(() => {
this.visible = true;
}, this.$refs));
},
mounted() {
this.$refs.username.focus()
submitForm2 () {
let projectId = sessionStorage.getItem('projectId')
let startTime = sessionStorage.getItem('startTime')
const formList = []
formList.push({ "answerId": '546', "emptyOne": 101, "emptyTwo": this.form.username, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,32,543,546", "type": "3" })
formList.push({ "answerId": '547', "emptyOne": 102, "emptyTwo": this.form.password, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,32,543,547", "type": "3" })
let params = {
parentId: '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,32,543',
lcJudgmentRuleReq: formList,
projectId: +projectId,
startTime: startTime,
}
addOperation(params).then((data) => {
this.submited = 1
// this.$message({
// message: '',
// type: 'success'
// });
// this.setNeedsModule(moduleName)
// this.setDataFlow({ ...this.form })
}).catch((error) => {
})
},
methods: {
...mapMutations({
setTipsOperate: 'system/setTipsOperate'
}),
submitIt() {
this.$refs.form.validate(myValidate(() => {
this.visible = true;
}, this.$refs));
},
submitForm2() {
let projectId = sessionStorage.getItem('projectId')
let startTime = sessionStorage.getItem('startTime')
const formList = []
formList.push({"answerId":'546',"emptyOne": 101, "emptyTwo": this.form.username, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,32,543,546","type": "3"})
formList.push({"answerId":'547',"emptyOne": 102, "emptyTwo": this.form.password, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,32,543,547","type": "3"})
let params= {
parentId: '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,32,543',
lcJudgmentRuleReq:formList,
projectId:+projectId,
startTime:startTime,
}
addOperation(params).then((data)=>{
// this.$message({
// message: '',
// type: 'success'
// });
// this.setNeedsModule(moduleName)
// this.setDataFlow({ ...this.form })
}).catch((error)=>{
})
},
checkHanzi: checkHanzi
}
checkHanzi: checkHanzi
}
};
</script>
<style lang="scss" scoped>
.myPadding {
padding: 24px 0 24px 24px;
}
.myPadding {
padding: 24px 0 24px 24px;
}
// /deep/.el-input input {
// // width: 420px;
// }
.body {
padding-top: 50px;
padding-left: 50px;
}
// /deep/.el-input input {
// // width: 420px;
// }
.body {
padding-top: 50px;
padding-left: 50px;
}
</style>

@ -111,6 +111,7 @@ export default {
}
],
visible:false,
submited: 0
}
},
filters: {
@ -140,6 +141,7 @@ export default {
setTipsOperate: 'system/setTipsOperate'
}),
submitForm() {
if (this.submited) return this.$message.error('已提交!')
this.$refs.form.validate(myValidate(() => {
this.visible = true
}, this.$refs));
@ -158,6 +160,7 @@ export default {
}
addOperation(params).then((data)=>{
this.submited = 1
// this.$message({
// message: '',
// type: 'success'

@ -1,78 +1,93 @@
<template>
<div class="wrap2 myPadding">
<div class="wrap2 myPadding">
<my-title :titleArr="['日终管理', '柜员凭证轧账']"/>
<my-title :titleArr="['日终管理', '柜员凭证轧账']" />
<!-- 存款 -->
<div class="body">
<el-row :gutter="20" style="margin: 0">
<el-form ref="form" :model="form" label-width="120px" :rules="rules">
<el-col :span="10" :offset="1">
<el-form-item label="日期" required>
<!-- <el-date-picker type="date" placeholder="选择日期" v-model.trim="form.date" style="width: 100%;"></el-date-picker> -->
<el-input :value="form.date" disabled ref="date"></el-input>
</el-form-item>
</el-col>
<el-col :span="10" :offset="1">
<el-form-item label="柜员号" prop="counterNumber">
<el-input disabled :value="form.counterNumber" @input="(val) => checkHanzi(val, form, 'counterNumber')"></el-input>
</el-form-item>
</el-col>
<!-- <el-col :span="20" :offset="2">
<!-- 存款 -->
<div class="body">
<el-row :gutter="20"
style="margin: 0">
<el-form ref="form"
:model="form"
label-width="120px"
:rules="rules">
<el-col :span="10"
:offset="1">
<el-form-item label="日期"
required>
<!-- <el-date-picker type="date" placeholder="选择日期" v-model.trim="form.date" style="width: 100%;"></el-date-picker> -->
<el-input :value="form.date"
disabled
ref="date"></el-input>
</el-form-item>
</el-col>
<el-col :span="10"
:offset="1">
<el-form-item label="柜员号"
prop="counterNumber">
<el-input disabled
:value="form.counterNumber"
@input="(val) => checkHanzi(val, form, 'counterNumber')"></el-input>
</el-form-item>
</el-col>
<!-- <el-col :span="20" :offset="2">
</el-col> -->
<el-table
ref="filterTable"
:data="tableData"
max-height="550"
:header-cell-style="headerCellStyle"
style="width: 95%"
:rules="rules">
<el-table-column
prop="certificateName"
label="凭证类型"
align="center"
>
</el-table-column>
<el-table-column
prop="stockNum"
label="库存数量"
align="center"
>
</el-table-column>
<el-table-column
prop="startNumber"
label="起始号码"
align="center"
>
</el-table-column>
<el-table-column
prop="endNumber"
label="终止号码"
align="center"
>
</el-table-column>
<el-table-column
label="钱箱数量"
align="center"
width="230"
prop="boxNumber"
>
<template slot-scope="scope">
<el-form-item :label="scope.row.certificateName + '数量'" required>
<el-input type='text' @input="val => inputListen(val, scope.row)" min="0" :value="scope.row.cashBoxNum" class='numrule'></el-input>
</el-form-item>
</template>
</el-table-column>
</el-table>
</el-form>
</el-row>
<el-button @click="submitForm" type="primary" class="submitBtn" style="margin-top: 20px;" v-throttle>提交</el-button>
<my-dialog :moduleName="moduleName" v-if="visible" :visible.sync="visible" :showForm="form" :formName="formName" @submitIt="submitForm2" />
</div>
<el-table ref="filterTable"
:data="tableData"
max-height="550"
:header-cell-style="headerCellStyle"
style="width: 95%"
:rules="rules">
<el-table-column prop="certificateName"
label="凭证类型"
align="center">
</el-table-column>
<el-table-column prop="stockNum"
label="库存数量"
align="center">
</el-table-column>
<el-table-column prop="startNumber"
label="起始号码"
align="center">
</el-table-column>
<el-table-column prop="endNumber"
label="终止号码"
align="center">
</el-table-column>
<el-table-column label="钱箱数量"
align="center"
width="230"
prop="boxNumber">
<template slot-scope="scope">
<el-form-item :label="scope.row.certificateName + '数量'"
required>
<el-input type='text'
@input="val => inputListen(val, scope.row)"
min="0"
:value="scope.row.cashBoxNum"
class='numrule'></el-input>
</el-form-item>
</template>
</el-table-column>
</el-table>
</el-form>
</el-row>
<el-button @click="submitForm"
type="primary"
class="submitBtn"
style="margin-top: 20px;"
v-throttle>提交</el-button>
<my-dialog :moduleName="moduleName"
v-if="visible"
:visible.sync="visible"
:showForm="form"
:formName="formName"
@submitIt="submitForm2" />
</div>
</div>
</template>
<script>
@ -84,175 +99,180 @@ import MyDialog from '@/components/dialogTwo'
import { Message } from 'element-ui';
import { addOperation } from '@/api/http';
export default {
name: 'index',
components:{
MyTitle,
MyDialog
},
data() {
return {
headerCellStyle: headerCellStyle,
moduleName: 'tellerCertificate',
visible: false,
form:{
date: '',
counterNumber: '002288',
name: 'index',
components: {
MyTitle,
MyDialog
},
data () {
return {
headerCellStyle: headerCellStyle,
moduleName: 'tellerCertificate',
visible: false,
form: {
date: '',
counterNumber: '002288',
},
formName:{
date: '日期',
counterNumber: '柜员号'
},
rules: {
date: [
{
required: true,
message: '请输入日期',
trigger: 'blur'
}
],
counterNumber: [
{
required: true,
message: '请输入柜员号',
trigger: 'blur'
}
],
boxNumber: [
{
required: true,
message: '请输入钱箱数量',
trigger: 'blur'
}
]
},
tableData: [
{
certificateName: '银行卡',
stockNum: 19,
startNumber: '003001',
endNumber: '003019',
cashBoxNum: '',
name2: 'bankCard',
},
{
certificateName: '定期存单',
stockNum: 20,
startNumber: '003501',
endNumber: '003520',
cashBoxNum: '',
name2: 'depositReceipt',
},
{
certificateName: '现金支票',
stockNum: 20,
startNumber: '003601',
endNumber: '003620',
cashBoxNum: '',
name2: 'cashCheck',
},
{
certificateName: '转账支票',
stockNum: 20,
startNumber: '003701',
endNumber: '003720',
cashBoxNum: '',
name2: 'transCheck',
}
]
},
formName: {
date: '日期',
counterNumber: '柜员号'
},
rules: {
date: [
{
required: true,
message: '请输入日期',
trigger: 'blur'
}
],
counterNumber: [
{
required: true,
message: '请输入柜员号',
trigger: 'blur'
}
],
boxNumber: [
{
required: true,
message: '请输入钱箱数量',
trigger: 'blur'
}
]
},
tableData: [
{
certificateName: '银行卡',
stockNum: 19,
startNumber: '003001',
endNumber: '003019',
cashBoxNum: '',
name2: 'bankCard',
},
{
certificateName: '定期存单',
stockNum: 20,
startNumber: '003501',
endNumber: '003520',
cashBoxNum: '',
name2: 'depositReceipt',
},
{
certificateName: '现金支票',
stockNum: 20,
startNumber: '003601',
endNumber: '003620',
cashBoxNum: '',
name2: 'cashCheck',
},
{
certificateName: '转账支票',
stockNum: 20,
startNumber: '003701',
endNumber: '003720',
cashBoxNum: '',
name2: 'transCheck',
}
],
submited: 0
}
},
created () {
const tmpFunc = () => {
const date = new Date()
var y = date.getFullYear();
var m = date.getMonth() + 1;
m = m < 10 ? '0' + m : m;
var d = date.getDate();
d = d < 10 ? ('0' + d) : d;
return y + '-' + m + '-' + d;
}
this.form.date = tmpFunc()
},
methods: {
...mapMutations({
setTipsOperate: 'system/setTipsOperate'
}),
inputListen (val, row) {
row.cashBoxNum = Number(val.replace(/\D+/, ''))
},
created() {
const tmpFunc = () => {
const date = new Date()
var y = date.getFullYear();
var m = date.getMonth() + 1;
m = m < 10 ? '0' + m : m;
var d = date.getDate();
d = d < 10 ? ('0' + d) : d;
return y + '-' + m + '-' + d;
submitForm () {
if (this.submited) return this.$message.error('已提交!')
this.$refs.form.validate(myValidate(() => {
for (const item of this.tableData) {
if (item.cashBoxNum === '') {
Message.warning({
center: true,
message: '请输入' + item.certificateName + '数量'
})
return;
}
}
this.form.date = tmpFunc()
const obj1 = {}
const obj2 = {}
for (const item of this.tableData) {
console.log(item)
const { cashBoxNum, name2, certificateName } = item;
obj1[name2] = cashBoxNum + '张'
obj2[name2] = certificateName
}
this.form = { ...this.form, ...obj1 }
this.formName = { ...this.formName, ...obj2 }
this.visible = true
}, this.$refs));
},
methods: {
...mapMutations({
setTipsOperate: 'system/setTipsOperate'
}),
inputListen(val, row) {
row.cashBoxNum = Number(val.replace(/\D+/, ''))
},
submitForm() {
this.$refs.form.validate(myValidate(() => {
for(const item of this.tableData) {
if(item.cashBoxNum === '') {
Message.warning({
center: true,
message: '请输入' + item.certificateName + '数量'
})
return;
}
}
const obj1 = {}
const obj2 = {}
for(const item of this.tableData) {
console.log(item)
const { cashBoxNum, name2, certificateName } = item;
obj1[name2] = cashBoxNum + '张'
obj2[name2] = certificateName
}
this.form = { ...this.form, ...obj1 }
this.formName = { ...this.formName, ...obj2 }
console.log(obj1)
console.log(obj2)
this.visible = true
}, this.$refs));
},
submitForm2() {
let projectId = sessionStorage.getItem('projectId')
let startTime = sessionStorage.getItem('startTime')
const formList = []
submitForm2 () {
let projectId = sessionStorage.getItem('projectId')
let startTime = sessionStorage.getItem('startTime')
const formList = []
formList.push({"answerId":'544',"emptyOne": 99, "emptyTwo": this.form.date, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,32,542,544","type": "3"})
formList.push({"answerId":'545',"emptyOne": 100, "emptyTwo": this.form.counterNumber, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,32,542,545","type": "3"})
let params= {
parentId: '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,32,542',
lcJudgmentRuleReq:formList,
projectId:+projectId,
startTime:startTime,
}
addOperation(params).then((data)=>{
// this.$message({
// message: '',
// type: 'success'
// });
// this.setNeedsModule(moduleName)
// this.setDataFlow({ ...this.form })
}).catch((error)=>{
})
},
tableRowClassName: tableRowClassName,
checkHanzi: checkHanzi
}
formList.push({ "answerId": '544', "emptyOne": 99, "emptyTwo": this.form.date, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,32,542,544", "type": "3" })
formList.push({ "answerId": '545', "emptyOne": 100, "emptyTwo": this.form.counterNumber, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,32,542,545", "type": "3" })
formList.push({ "answerId": '572', "emptyOne": 106, "emptyTwo": this.tableData[0].cashBoxNum, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,32,542,572", "type": "3" })
formList.push({ "answerId": '573', "emptyOne": 107, "emptyTwo": this.tableData[1].cashBoxNum, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,32,542,573", "type": "3" })
formList.push({ "answerId": '574', "emptyOne": 108, "emptyTwo": this.tableData[2].cashBoxNum, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,32,542,574", "type": "3" })
formList.push({ "answerId": '575', "emptyOne": 109, "emptyTwo": this.tableData[3].cashBoxNum, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,32,542,575", "type": "3" })
let params = {
parentId: '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,32,542',
lcJudgmentRuleReq: formList,
projectId: +projectId,
startTime: startTime,
}
addOperation(params).then((data) => {
this.submited = 1
// this.$message({
// message: '',
// type: 'success'
// });
// this.setNeedsModule(moduleName)
// this.setDataFlow({ ...this.form })
}).catch((error) => {
})
},
tableRowClassName: tableRowClassName,
checkHanzi: checkHanzi
}
};
</script>
<style lang="scss" scoped>
@import '@/assets/css/tablebg.scss';
.myPadding {
padding: 24px 0 24px 24px;
}
@import '@/assets/css/tablebg.scss';
/deep/.numrule input {
appearance: textField!important;
-webkit-appearance: textField!important;
width: 100px;
}
.myPadding {
padding: 24px 0 24px 24px;
}
/deep/.el-input input {
text-align: center;
}
/deep/.numrule input {
appearance: textField !important;
-webkit-appearance: textField !important;
width: 100px;
}
/deep/.el-input input {
text-align: center;
}
</style>

@ -0,0 +1,193 @@
<template>
<!-- 外汇业务 -->
<div class="wrap wrap2">
<div class="nav">
<el-menu :default-active="activeIndex" class="el-menu-demo" mode="horizontal" @select="handleSelect">
<el-menu-item index="1">购汇</el-menu-item>
<el-menu-item index="2">结汇</el-menu-item>
</el-menu>
</div>
<MyTitle :titleArr="['外汇业务', text]" />
<!-- 购汇 -->
<puchasing v-if="activeIndex === '1'"></puchasing>
<!-- 结汇 -->
<settlement v-if="activeIndex === '2'"></settlement>
<el-dialog style="margin-top:10vh" :visible.sync="visible" :modal="false" width="40%" :close-on-click-modal="false"
:show-close="false" custom-class="data-dia">
<div slot="title" class="dia-header">
<div class="data-title">提交</div>
</div>
<div class="popBody">
<h2>本业务需要授权</h2>
</div>
<div class="popBtns">
<el-button class="close btn" @click="visible = false"> </el-button>
<el-button class="sure btn" type="primary" @click="visible = false"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import puchasing from './puchasing.vue'
import settlement from './settlement.vue'
import MyTitle from '@/components/myTitle'
export default {
name: 'index',
components: {
puchasing,
settlement,
MyTitle
},
data () {
return {
text: '',/* 顶部文字 */
cacheVal: '',
textObj: {
'1': '购汇',
'2': '结汇',
},
visible: false,
activeIndex: '1',
}
},
created () {
if (sessionStorage.getItem('foreignExchangeIndex')) {
this.handleSelect(sessionStorage.getItem('foreignExchangeIndex'))
} else {
this.handleSelect('1')
}
},
methods: {
handleSelect (val) {
this.text = this.textObj[val]
this.activeIndex = val
this.cacheVal = val
},
},
destroyed () {
sessionStorage.setItem('foreignExchangeIndex', this.cacheVal)
}
};
</script>
<style lang="scss" scoped>
.wrap {
width: 100%;
display: flex;
flex-direction: column;
overflow: hidden;
padding: 24px 0 24px 24px;
.nav {
/deep/ .el-menu.el-menu--horizontal {
border: 0;
}
/deep/ .el-menu--horizontal>.el-menu-item.is-active {
border: 2px solid #568df2;
border-radius: 10px;
color: #000;
}
/deep/ .el-menu--horizontal>.el-menu-item {
border: 2px solid transparent;
border-radius: 10px;
margin-right: 10px;
height: 30px;
line-height: 28px;
}
}
.title {
height: 60px;
display: flex;
align-items: center;
font-size: 20px;
padding-left: 0px;
margin-top: 10px;
}
.body {
overflow: auto;
.idCard {
border-radius: 5px;
background: #cfddff;
text-align: center;
height: 40px;
line-height: 40px;
font-size: 18px;
color: #6191ff;
}
.add {
position: relative;
&::after {
content: '';
display: block;
position: absolute;
right: 3%;
top: -4%;
border: 1px dashed #cfddff;
width: 88%;
height: 268px;
}
.addBtn {
position: absolute;
left: 0;
top: 50%;
transform: translate(50%, -50%);
font-size: 22px;
}
}
}
.submitBtn {
position: relative;
width: 300px;
font-size: 18px;
height: 45px;
margin-top: 50px;
border-radius: 10px;
bottom: 10px;
left: 50%;
transform: translate(-50%, -50%);
}
.popBody {
min-height: 200px;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
}
.popBtns {
display: flex;
justify-content: space-between;
align-items: center;
.btn {
width: 180px;
border-radius: 10px;
font-size: 18px;
}
.close {
background: #cfdeff;
color: #6191ff;
}
.sure {
background: #6191ff;
color: #fff;
}
}
}
</style>

@ -0,0 +1,311 @@
<!-- 外汇业务-购汇 -->
<template>
<div class="body">
<el-row :gutter="20" style="margin: 0">
<div class="texts">
<p class="text">
<span>购汇人姓名</span>
丛小凤
</p>
<p class="text">
<span>本年额度</span>
已用 等值80.00美元
</p>
<p class="text">
<span></span>
剩余 等值49,200.00美元
</p>
</div>
<el-form ref="form" :rules="rules" :model="form" label-width="120px">
<el-col :span="10" :offset="1">
<el-form-item label="凭证号码" required>
<div v-if='!cardNumberJudge' class="idCard" @click="popUp1('刷卡器')">
<p>请刷卡</p>
</div>
<div v-else>
<el-input maxlength="20" ref="voucherNumber" disabled v-model="form.voucherNumber"
@input="(val) => inputListen(val, form, 'voucherNumber')"></el-input>
<p style="color: #8f8f8f;">可用余额人民币 3,200,000.00</p>
</div>
</el-form-item>
<el-form-item label="钞汇" prop="goldLogo">
<el-select v-model.trim="form.goldLogo" placeholder="请选择" ref="goldLogo">
<el-option v-for="item in goldLogos" :label="item.options" :value="item.itemId" :key="item.itemId">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="购汇用途" prop="buyForeignPurpose">
<el-select v-model.trim="form.buyForeignPurpose" placeholder="请选择">
<el-option v-for="item in getSelectList.buyForeignPurposeList" :label="item.options" :value="item.itemId"
:key="item.itemId"> </el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="10" :offset="1">
<el-form-item label="币种" prop="currency">
<el-select v-model.trim="form.currency" placeholder="请选择" ref="currency">
<el-option v-for="item in getSelectList.allCurrencyList" :label="item.options" :value="item.itemId"
:key="item.itemId"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="外币" prop="money">
<el-input v-model="form.money" maxlength="15" @input="val => ismoney(val, form, 'money')"></el-input>
</el-form-item>
<el-form-item label="支取密码" required>
<div v-if='!form.drawPassword' class="idCard" @click="popUp2('密码器')">
<p>请输入密码</p>
</div>
<div v-else @click="popUp2('密码器')">
<el-input v-model="form.drawPassword" ref="drawPassword" type="password"></el-input>
</div>
</el-form-item>
</el-col>
</el-form>
</el-row>
<el-button @click="submitForm" type="primary" class="submitBtn" v-throttle>提交</el-button>
<my-dialog :moduleName="moduleName" v-if="visible" :visible.sync="visible" :showForm="form" :formName="formName"
:spare="false" @submitIt="submitForm2" :needAuth="needAuth" />
</div>
</template>
<script>
import { myValidate, ismoney, checkName, checkHanzi, messagePassword, messageCard, inputListen } from '@/utils/utilFunction.js'
import { addOperation, getOperation } from '@/api/http'
import { mapMutations, mapGetters } from 'vuex'
import TipsBefore from '@/mixins/tipsBefore'
const moduleName = 'foreignExchange/puchasing'
import MyDialog from '@/components/dialog'
import NeedBefore from '@/components/needBefore'
export default {
name: '',
props: {
depositFinish: Boolean
},
mixins: [TipsBefore],
components: {
MyDialog,
NeedBefore
},
created () {
if (sessionStorage.getItem('foreignExchangePuchasingPassword')) {
this.form.drawPassword = sessionStorage.getItem('foreignExchangePuchasingPassword')
}
if (sessionStorage.getItem('foreignExchangePuchasingBankCard')) {
this.cardNumberJudge = true
const { voucherNumber, goldLogo } = this.dataFlow
this.form.voucherNumber = voucherNumber
}
// this.getFormData()
},
data () {
return {
moduleName,
visible: false,
cardNumberJudge: false,
form: {
voucherNumber: '', //
currency: '',
goldLogo: '',
money: '',
buyForeignPurpose: '',
drawPassword: '',
},
formName: {
voucherNumber: '凭证号码',
currency: '币种',
goldLogo: '钞汇',
money: '外币',
buyForeignPurpose: '购汇用途',
drawPassword: '支取密码',
},
rules: {
currency: [
{
required: true,
message: '请选择币种',
trigger: 'blur'
}
],
goldLogo: [
{
required: true,
message: '请选择钞汇标识',
trigger: 'blur'
}
],
money: [
{
required: true,
message: '请输入外汇金额',
trigger: 'blur'
}
],
buyForeignPurpose: [
{
required: true,
message: '请选择购汇用途',
trigger: 'blur'
}
],
},
goldLogos: [
{
itemId: 150,
options: '现汇(参考牌价712.34)'
},
{
itemId: 151,
options: '现钞(参考牌价712.34)'
},
],
submited: 0
}
},
mounted () {
},
methods: {
...mapMutations({
changeShowGoods: 'system/changeShowGoods',
setDataFlow: 'system/setDataFlow',
setNeedsModule: 'system/setNeedsModule',
setPopId: 'system/setPopId',
setTipsOperate: 'system/setTipsOperate'
}),
getFormData () {
let param = {
parentId: '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,26,57,64'
}
getOperation(param).then((data) => {
console.log(data)
if (data.status == 200) {
var list = data.data.judgmentRuleReqs
for (var i = 0; i < list.length; i++) {
if (list[i].answerId == '85') {
this.cardNumberJudge = true
} //
else if (list[i].answerId == '87') { this.form.currency = +list[i].emptyTwo } //
else if (list[i].answerId == '88') { this.form.goldLogo = +list[i].emptyTwo } //
else if (list[i].answerId == '89') { this.form.money = list[i].emptyTwo } //
else if (list[i].answerId == '90') { this.form.buyForeignPurpose = +list[i].emptyTwo } //
else if (list[i].answerId == '91') {
if (sessionStorage.getItem('nomCurrentWithdrawalPassword')) {
this.form.drawPassword = sessionStorage.getItem('nomCurrentWithdrawalPassword')
} else {
this.form.drawPassword = list[i].emptyTwo
}
}
}
}
}).catch((error) => {
})
},
submitForm () {
if (this.submited) return this.$message.error('已提交!')
if (!this.form.voucherNumber) {
messageCard('请填写凭证号码')
return
}
if (!this.form.drawPassword) {
messagePassword()
return
}
this.$refs.form.validate(myValidate(() => {
this.visible = true;
}, this.$refs));
},
submitForm2 () {
let projectId = sessionStorage.getItem('projectId')
let startTime = sessionStorage.getItem('startTime')
let formList = [];
const { form } = this
const preId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,708,753'
formList.push(
{ answerId: 755, emptyOne: '', emptyTwo: '', operationIds: preId + ',755', type: '' },
{ answerId: 756, emptyOne: 123, emptyTwo: form.currency, operationIds: preId + ',756', type: 1 },
{ answerId: 757, emptyOne: 119, emptyTwo: form.goldLogo, operationIds: preId + ',757', type: 1 },
{ answerId: 758, emptyOne: 120, emptyTwo: form.money, operationIds: preId + ',758', type: 3 },
{ answerId: 759, emptyOne: 124, emptyTwo: form.buyForeignPurpose, operationIds: preId + ',759', type: 1 },
{ answerId: 760, emptyOne: 17, emptyTwo: form.drawPassword, operationIds: preId + ',760', type: 3 },
)
let params = {
parentId: preId,
lcJudgmentRuleReq: formList,
projectId: +projectId,
startTime: startTime,
}
addOperation(params).then((data) => {
this.setDataFlow({ ...this.form })
this.submited = 1
}).catch((error) => {
this.$message({
message: '服务器繁忙,提交失败。',
center: true,
type: 'info'
});
})
},
popUp1 (text) {
this.setTipsOperate('请刷银行卡');
this.setPopId('755')
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},
popUp2 (text) {
this.setTipsOperate('请在密码器输入密码');
this.setPopId('760')
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},
ismoney,
checkName,
checkHanzi,
inputListen,
},
computed: {
...mapGetters({
dataFlow: 'system/dataFlow',
needsModule: 'system/needsModule',
idCardNumber: 'system/idCardNumber',
inMyWork: 'system/inMyWork',
getSelectList: 'system/getSelectList'
}),
needAuth () {
return this.form.money >= 50000
}
},
}
</script>
<style lang='scss' scoped>
.wrap .body {
margin-top: 0;
overflow: auto;
.idCard {
border-radius: 5px;
background: #cfddff;
text-align: center;
height: 40px;
line-height: 40px;
font-size: 18px;
color: #6191ff;
cursor: pointer;
}
.texts {
margin: 30px 0 30px 80px;
font-size: 14px;
color: #666;
.text {
line-height: 1.6;
}
span {
display: inline-block;
width: 90px;
text-align: right;
}
}
}
</style>

@ -0,0 +1,289 @@
<!-- 外汇业务-结汇 -->
<template>
<div class="body">
<el-row :gutter="20" style="margin: 0">
<div class="texts">
<p class="text">
<span>本年额度</span>
已用 等值0.00美元
</p>
<p class="text">
<span></span>
剩余 等值50,000.00美元
</p>
</div>
<el-form ref="form" :rules="rules" :model="form" label-width="120px">
<el-col :span="10" :offset="1">
<el-form-item label="凭证号码" required>
<div v-if='!cardNumberJudge' class="idCard" @click="popUp1('刷卡器')">
<p>请刷卡</p>
</div>
<div v-else>
<el-input maxlength="20" ref="voucherNumber" disabled v-model="form.voucherNumber"
@input="(val) => inputListen(val, form, 'voucherNumber')"></el-input>
<p style="color: #8f8f8f;">可用余额美元 现汇 5000.00</p>
</div>
</el-form-item>
<el-form-item label="外币金额" prop="money">
<el-input v-model="form.money" placeholder="最多可结汇5,000.00" maxlength="15"
@input="val => ismoney(val, form, 'money')"></el-input>
</el-form-item>
<el-form-item label="支取密码" required>
<div v-if='!form.drawPassword' class="idCard" @click="popUp2('密码器')">
<p>请输入密码</p>
</div>
<div v-else @click="popUp2('密码器')">
<el-input v-model="form.drawPassword" ref="drawPassword" type="password"></el-input>
</div>
</el-form-item>
</el-col>
<el-col :span="10" :offset="1">
<el-form-item label="币种" prop="currency">
<el-select v-model.trim="form.currency" placeholder="请选择" disabled>
<el-option :value="153" label="美元 现汇"></el-option>
</el-select>
</el-form-item>
<el-form-item label="资金来源" prop="fundingSource">
<el-select v-model.trim="form.fundingSource" placeholder="请选择">
<el-option v-for="item in getSelectList.fundingSourceList" :label="item.options" :value="item.itemId"
:key="item.itemId"> </el-option>
</el-select>
</el-form-item>
</el-col>
</el-form>
</el-row>
<el-button @click="submitForm" type="primary" class="submitBtn" v-throttle>提交</el-button>
<my-dialog :moduleName="moduleName" v-if="visible" :visible.sync="visible" :showForm="form" :formName="formName"
:spare="false" @submitIt="submitForm2" :needAuth="needAuth" />
</div>
</template>
<script>
import { mobPattern, namePattern, ratePattern, vercustomer } from '@/utils/verify.js'
import { myValidate, ismoney, checkName, checkHanzi, messagePassword, messageCard } from '@/utils/utilFunction.js'
import { addOperation, getOperation } from '@/api/http';
import { mapMutations, mapGetters } from 'vuex'
import TipsBefore from '@/mixins/tipsBefore'
const moduleName = 'foreignExchange/settlement'
import MyDialog from '@/components/dialog'
import NeedBefore from '@/components/needBefore'
export default {
name: '',
props: {
depositFinish: Boolean
},
mixins: [TipsBefore],
components: {
MyDialog,
NeedBefore
},
created () {
if (sessionStorage.getItem('foreignExchangSettlePassword')) {
this.form.drawPassword = sessionStorage.getItem('foreignExchangSettlePassword')
}
if (sessionStorage.getItem('foreignExchangeSettleBankCard')) {
this.cardNumberJudge = true
const { voucherNumber } = this.dataFlow
this.form.voucherNumber = voucherNumber
}
// this.getFormData()
},
data () {
return {
moduleName,
visible: false,
cardNumberJudge: false,
form: {
voucherNumber: '', //
currency: 153,
money: '',
fundingSource: '',
drawPassword: '',
},
formName: {
voucherNumber: '凭证号码',
currency: '币种',
money: '外币金额',
fundingSource: '资金来源',
drawPassword: '支取密码',
},
rules: {
currency: [
{
required: true,
message: '请选择币种',
trigger: 'blur'
}
],
money: [
{
required: true,
message: '请输入外币金额',
trigger: 'blur'
}
],
fundingSource: [
{
required: true,
message: '请选择资金来源',
trigger: 'change'
}
],
},
submited: 0
}
},
mounted () {
},
methods: {
...mapMutations({
changeShowGoods: 'system/changeShowGoods',
setDataFlow: 'system/setDataFlow',
setNeedsModule: 'system/setNeedsModule',
setPopId: 'system/setPopId',
setTipsOperate: 'system/setTipsOperate'
}),
getFormData () {
let param = {
parentId: '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,26,57,64'
}
getOperation(param).then((data) => {
console.log(data)
if (data.status == 200) {
var list = data.data.judgmentRuleReqs
for (var i = 0; i < list.length; i++) {
if (list[i].answerId == '85') {
// sessionStorage.setItem('nomCurrentWithdrawalCard', list[i].emptyTwo)
this.form.cardNumber = list[i].emptyTwo
this.cardNumberJudge = true
} //
else if (list[i].answerId == '86') { this.form.userName = list[i].emptyTwo } //
else if (list[i].answerId == '87') { this.form.currency = +list[i].emptyTwo } //
else if (list[i].answerId == '88') { this.form.goldLogo = +list[i].emptyTwo } //
else if (list[i].answerId == '89') { this.form.money = list[i].emptyTwo } //
else if (list[i].answerId == '90') { this.form.fundingSource = +list[i].emptyTwo } //
// if (list[i].answerId == '91') {sessionStorage.setItem('nomCurrentWithdrawalPassword', list[i].emptyTwo)} //
else if (list[i].answerId == '91') {
console.log(91)
if (sessionStorage.getItem('nomCurrentWithdrawalPassword')) {
this.form.drawPassword = sessionStorage.getItem('nomCurrentWithdrawalPassword')
} else {
this.form.drawPassword = list[i].emptyTwo
}
}
else if (list[i].answerId == '92') { this.form.serviceCharge = list[i].emptyTwo } //
else if (list[i].answerId == '93') { this.form.remark = list[i].emptyTwo } //
}
}
}).catch(() => { })
},
submitForm () {
const { form } = this
if (this.submited) return this.$message.error('已提交!')
if (!form.voucherNumber) {
messageCard('请填写凭证号码')
return
}
if (form.money > 5000) return this.$message.warning('外币金额最多结汇5000.00,请重新输入')
if (!form.drawPassword) {
messagePassword()
return
}
this.$refs.form.validate(myValidate(() => {
this.visible = true;
}, this.$refs));
},
submitForm2 () {
let projectId = sessionStorage.getItem('projectId')
let startTime = sessionStorage.getItem('startTime')
let formList = [];
const { form } = this
const preId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,708,754'
formList.push(
{ answerId: 761, emptyOne: '', emptyTwo: '', operationIds: preId + ',761', type: '' },
{ answerId: 762, emptyOne: 8, emptyTwo: form.currency, operationIds: preId + ',762', type: 1 },
{ answerId: 763, emptyOne: 121, emptyTwo: form.money, operationIds: preId + ',763', type: 3 },
{ answerId: 764, emptyOne: 122, emptyTwo: form.fundingSource, operationIds: preId + ',764', type: 1 },
{ answerId: 765, emptyOne: 17, emptyTwo: form.drawPassword, operationIds: preId + ',765', type: 3 },
)
let params = {
parentId: preId,
lcJudgmentRuleReq: formList,
projectId: +projectId,
startTime: startTime,
}
addOperation(params).then((data) => {
this.setDataFlow({ ...this.form })
this.submited = 1
}).catch((error) => {
this.$message({
message: '服务器繁忙,提交失败。',
center: true,
type: 'info'
});
})
},
popUp1 (text) {
this.setTipsOperate('请刷银行卡');
this.setPopId('761')
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},
popUp2 (text) {
this.setTipsOperate('请在密码器输入密码');
this.setPopId('765')
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},
ismoney,
checkName,
checkHanzi,
},
computed: {
...mapGetters({
dataFlow: 'system/dataFlow',
needsModule: 'system/needsModule',
idCardNumber: 'system/idCardNumber',
inMyWork: 'system/inMyWork',
getSelectList: 'system/getSelectList'
}),
needAuth () {
return this.form.money >= 50000
}
},
}
</script>
<style lang='scss' scoped>
.wrap .body {
margin-top: 0;
overflow: auto;
.idCard {
border-radius: 5px;
background: #cfddff;
text-align: center;
height: 40px;
line-height: 40px;
font-size: 18px;
color: #6191ff;
cursor: pointer;
}
.texts {
margin: 30px 0 30px 80px;
font-size: 14px;
color: #666;
.text {
line-height: 1.6;
}
span {
display: inline-block;
width: 90px;
text-align: right;
}
}
}
</style>

@ -0,0 +1,367 @@
<!-- 网上银行开户 -->
<template>
<div class="wrap wrap2">
<MyTitle :titleArr="['网上银行', '开户']" />
<div class="body">
<el-row :gutter="20">
<el-form ref="form" :model="form" label-width="120px" :rules="rules">
<el-col :span="10" :offset="1">
<el-form-item label="证件类型">
<el-select v-model.trim="form.certificateType" placeholder="请选择">
<el-option label="身份证" :value="83"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="客户号">
<el-input ref="clientNumber" disabled maxlength="20" :value="form.clientNumber"
@input="(val) => checkHanzi(val, form, 'clientNumber')"></el-input>
</el-form-item>
<el-form-item label="币种" prop="currency">
<el-select v-model.trim="form.currency" placeholder="请选择" disabled ref="currency">
<el-option v-for="item in getSelectList.currencySelectList" :label="item.options" :value="item.itemId"
:key="item.itemId"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="凭证类型" prop="voucherType">
<el-select v-model.trim="form.voucherType" placeholder="请选择" disabled ref="voucherType">
<el-option label="IC卡" :value="15"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="开通网上银行" prop="openOnlineBanking">
<el-radio-group v-model.trim="form.openOnlineBanking">
<el-radio :label="146"></el-radio>
<el-radio :label="147"></el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="支取密码" required>
<div v-if='!form.drawPassword' class="idCard" @click="popUp3('密码器')">
<p>请输入密码</p>
</div>
<div v-else @click="popUp3('密码器')">
<el-input :value="form.drawPassword" ref="drawPassword" type="password"></el-input>
</div>
</el-form-item>
</el-col>
<el-col :span="10" :offset="1">
<el-form-item label="证件号码" required>
<div class="idCard" @click="popUp1('身份证扫描仪')" v-if='!idNumberJudge'>
<p>请刷身份证</p>
</div>
<div v-else>
<el-input :value="form.idNumber" disabled ref="idNumber"></el-input>
</div>
</el-form-item>
<el-form-item label="客户姓名" prop="customerName">
<el-input ref="customerName" disabled :value="form.customerName"
@input="(val) => checkName(val, form, 'customerName')"></el-input>
</el-form-item>
<el-form-item label="钞汇标识" prop="goldLogo">
<el-select v-model.trim="form.goldLogo" placeholder="请选择" disabled ref="goldLogo">
<el-option v-for="item in getSelectList.goldLogoSelectList" :label="item.options" :value="item.itemId"
:key="item.itemId"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="凭证号码" required>
<div v-if='!cardNumberJudge' class="idCard" @click="popUp2('刷卡器')">
<p>请刷卡</p>
</div>
<div v-else>
<el-input maxlength="20" ref="voucherNumber" disabled :value="form.voucherNumber"
@input="(val) => inputListen(val, form, 'voucherNumber')"></el-input>
</div>
</el-form-item>
<el-form-item label="开通手机银行" prop="openPhoneBanking">
<el-radio-group v-model.trim="form.openPhoneBanking">
<el-radio :label="148"></el-radio>
<el-radio :label="149"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<my-dialog :moduleName="moduleName" v-if="visible" :visible.sync="visible" :showForm="form"
:formName="formName" :spare="false" @submitIt="submitForm2" depositNumber='0816' />
</el-form>
</el-row>
<el-button @click="submitForm" type="primary" class="submitBtn" v-throttle>提交</el-button>
</div>
<my-dialog :moduleName="moduleName" v-if="visible" :visible.sync="visible" :showForm="form" :formName="formName"
:spare="false" @submitIt="submitForm2()" />
</div>
</template>
<script>
import { mapState, mapMutations, mapGetters } from 'vuex'
import { vername, vermob } from '@/utils/verify.js'
import { addOperation, getOperation } from '@/api/http';
import { mobPattern, namePattern, ratePattern, vercustomer } from '@/utils/verify.js'
import { phoneListen, mailBoxListen, checkHanzi, inputListen, myValidate, checkName, messageIdCard, messageCard, messagePassword } from '@/utils/utilFunction.js'
import MyTitle from '@/components/myTitle'
import TipsBefore from '@/mixins/tipsBefore'
import MyDialog from '@/components/dialog'
import NeedBefore from '@/components/needBefore'
const moduleName = 'onlineBank/openAccount'
export default {
data () {
return {
moduleName,
idNumberJudge: false,
visible: false,//
cardNumberJudge: false,
form: {
certificateType: 83, //
idNumber: '',//
clientNumber: '', //
customerName: '', //
currency: 12, //
goldLogo: 13, //
voucherType: 15, //
voucherNumber: '', //
openOnlineBanking: '',
openPhoneBanking: '',
drawPassword: '', //
},
formName: {
certificateType: '证件类型',
idNumber: '证件号码',
clientNumber: '客户号',
customerName: '客户姓名',
currency: '币种',
goldLogo: '钞汇标识',
voucherType: '凭证类型',
voucherNumber: '凭证号码',
openOnlineBanking: '开通网上银行',
openPhoneBanking: '开通手机银行',
drawPassword: '支付密码',
},
rules: {
customerName: vercustomer,
currency: [{
required: true,
message: '请选择币种',
trigger: 'blur'
}
],
goldLogo: [{
required: true,
message: '请选择钞汇标识',
trigger: 'blur'
}
],
voucherType: [{
required: true,
message: '请选择凭证类型',
trigger: 'blur'
}
],
openOnlineBanking: [{
required: true,
message: '请选择开通网上银行',
trigger: 'blur'
}
],
openPhoneBanking: [{
required: true,
message: '请选择开通手机银行',
trigger: 'blur'
}
],
},
authorization: false,//
success: false,//
papers: [
{ name: '身份证', id: 1 }
],
options: [],
gender: [
{ name: '男', id: 1 },
{ name: '女', id: 2 },
],
submited: 0
}
},
components: {
MyTitle,
MyDialog,
NeedBefore
},
created () {
if (sessionStorage.getItem('onlineBankPassword')) {
this.form.drawPassword = sessionStorage.getItem('onlineBankPassword')
}
if (sessionStorage.getItem('onlineBankIdCard')) {
this.idNumberJudge = true
const { idNumber, userName, peopleNumber } = this.dataFlow
this.form.clientNumber = peopleNumber
this.form.idNumber = idNumber
this.form.customerName = userName
}
if (sessionStorage.getItem('onlineBankBankCard')) {
this.cardNumberJudge = true
const { voucherNumber } = this.dataFlow
this.form.voucherNumber = voucherNumber
}
// this.getFormData()
},
mixins: [TipsBefore],
mounted () {
},
methods: {
//
submitIt () {
// console.log(this.dataFlow)
},
getFormData () {
let param = {
parentId: '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,707,741'
}
getOperation(param).then((data) => {
if (data.status == 200) {
var list = data.data.judgmentRuleReqs
for (var i = 0; i < list.length; i++) {
if (list[i].answerId == '40') { this.form.idType = +list[i].emptyTwo }
// if (list[i].answerId == '41') {sessionStorage.setItem('nomClientIdentity', list[i].emptyTwo)}
if (list[i].answerId == '41' && list[i].emptyTwo) {
this.idNumberJudge = true
this.form.idNumber = list[i].emptyTwo
}
}
}
}).catch((error) => { })
},
...mapMutations({
changeShowGoods: 'system/changeShowGoods',
setDataFlow: 'system/setDataFlow',
setNeedsModule: 'system/setNeedsModule',
setPopId: 'system/setPopId',
setTipsOperate: 'system/setTipsOperate'
}),
popUp1 (text) { //
this.setTipsOperate('请刷身份证');
this.setPopId('743')
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},
popUp2 (text) {
this.setTipsOperate('请刷银行卡');
this.setPopId('749')
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},
popUp3 (text) {
this.setTipsOperate('请在密码器输入密码');
this.setPopId('752')
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},
//
submitForm () {
if (this.submited) return this.$message.error('已提交!')
let nomClientIdentity = sessionStorage.getItem('nomClientIdentity')
let consumerClientDragList = JSON.parse(nomClientIdentity);
let nomClientIdentitys = JSON.parse(nomClientIdentity);
if (!this.form.idNumber) {
messageIdCard()
return
}
if (!this.form.voucherNumber) {
messageCard('请填写凭证号码')
return
}
if (!this.form.drawPassword) {
messagePassword()
return
}
this.$refs.form.validate(myValidate(() => {
this.visible = true;
}, this.$refs));
},
submitForm2 () {
let projectId = sessionStorage.getItem('projectId')
let startTime = sessionStorage.getItem('startTime')
let formList = [];
const { form } = this
const preId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,707,741'
formList.push(
{ answerId: 742, emptyOne: 19, emptyTwo: form.certificateType, operationIds: preId + ',742', type: 1 },
{ answerId: 743, emptyOne: '', emptyTwo: '', operationIds: preId + ',743', type: '' },
{ answerId: 744, emptyOne: 6, emptyTwo: form.clientNumber, operationIds: preId + ',744', type: 3 },
{ answerId: 745, emptyOne: 7, emptyTwo: form.customerName, operationIds: preId + ',745', type: 3 },
{ answerId: 746, emptyOne: 8, emptyTwo: form.currency, operationIds: preId + ',746', type: 1 },
{ answerId: 747, emptyOne: 9, emptyTwo: form.goldLogo, operationIds: preId + ',747', type: 1 },
{ answerId: 748, emptyOne: 11, emptyTwo: form.voucherType, operationIds: preId + ',748', type: 1 },
{ answerId: 750, emptyOne: 117, emptyTwo: form.openOnlineBanking, operationIds: preId + ',750', type: 1 },
{ answerId: 749, emptyOne: 44, emptyTwo: form.voucherNumber, operationIds: preId + ',749', type: 3 },
{ answerId: 751, emptyOne: 118, emptyTwo: form.openPhoneBanking, operationIds: preId + ',751', type: 1 },
{ answerId: 752, emptyOne: 17, emptyTwo: form.drawPassword, operationIds: preId + ',752', type: 3 },
)
let params = {
parentId: preId,
lcJudgmentRuleReq: formList,
projectId: +projectId,
startTime
}
addOperation(params).then((data) => {
this.setDataFlow({ ...this.form })
this.submited = 1
}).catch((error) => {
this.setTipsOperate('服务器繁忙哦,提交失败。')
})
},
throttle (fn, wait = 1000) {//
var timer = null;
return function () {
var context = this;
var args = fn;
if (!timer) {
timer = setTimeout(function () {
fn.apply(context, fn);
timer = null;
}, wait)
}
}
},
checkHanzi,
phoneListen,
mailBoxListen,
checkName,
inputListen,
},
computed: {
...mapGetters({
dataFlow: 'system/dataFlow',
inMyWork: 'system/inMyWork',
needsModule: 'system/needsModule',
popId: 'system/popId',
getSelectList: 'system/getSelectList',
})
}
};
</script>
<style lang="scss" scoped>
.wrap {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
overflow: auto;
padding: 24px 0 24px 24px;
.body {
margin-top: 50px;
overflow-y: auto;
overflow-x: hidden;
}
}
</style>

@ -1,195 +1,203 @@
//
<template>
<!-- 账户服务 -->
<div class="wrap">
<div class="nav">
<el-menu :default-active="activeIndex" class="el-menu-demo" mode="horizontal" @select="handleSelect">
<el-menu-item index="1">修改密码</el-menu-item>
<el-menu-item index="2">账户服务</el-menu-item>
<el-menu-item index="3">修改密码</el-menu-item>
</el-menu>
</div>
<div class="title">
<p>个人业务</p>
<i class="el-icon-arrow-right"></i>
<p>活期业务</p>
<i class="el-icon-arrow-right"></i>
<p>{{text}}</p>
</div>
<!-- 修改密码 -->
<change-password></change-password>
<!-- -->
<!-- -->
<el-dialog
style="margin-top:10vh"
:visible.sync="visible"
:modal="false"
width="40%"
:close-on-click-modal="false"
:show-close="false"
custom-class="data-dia"
>
<div slot="title" class="dia-header">
<div class="data-title" v-throttle>提交</div>
</div>
<div class="popBody">
<h2>本业务需要授权</h2>
</div>
<div class="popBtns">
<el-button class="close btn" @click="visible = false"> </el-button>
<el-button class="sure btn" type="primary" @click="visible = false"> </el-button>
</div>
</el-dialog>
<!-- 账户服务 -->
<div class="wrap">
<div class="nav">
<el-menu :default-active="activeIndex" class="el-menu-demo" mode="horizontal" @select="handleSelect">
<el-menu-item index="1">修改密码</el-menu-item>
<el-menu-item index="2">账户服务</el-menu-item>
<el-menu-item index="3">修改密码</el-menu-item>
</el-menu>
</div>
<div class="title">
<p>个人业务</p>
<i class="el-icon-arrow-right"></i>
<p>活期业务</p>
<i class="el-icon-arrow-right"></i>
<p>{{ text }}</p>
</div>
<!-- 修改密码 -->
<change-password></change-password>
<!-- -->
<!-- -->
<el-dialog style="margin-top:10vh" :visible.sync="visible" :modal="false" width="40%" :close-on-click-modal="false"
:show-close="false" custom-class="data-dia">
<div slot="title" class="dia-header">
<div class="data-title" v-throttle>提交</div>
</div>
<div class="popBody">
<h2>本业务需要授权</h2>
</div>
<div class="popBtns">
<el-button class="close btn" @click="visible = false"> </el-button>
<el-button class="sure btn" type="primary" @click="visible = false"> </el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import { mapState } from 'vuex'
import changePassword from './changePassword.vue'
export default {
name: 'index',
components:{
changePassword,
},
data() {
return {
text:'修改密码',/* 顶部文字 */
textObj:{
'1':'修改密码',
'2':'账户服务',
'3':'修改密码',
},
form:{
},
visible:false,
options:[],
activeIndex:'1',
second:[//
],
}
},
created() {
},
methods: {
handleSelect(val){
this.text = this.textObj[val]
this.activeIndex = val
},
name: 'index',
components: {
changePassword,
},
data () {
return {
text: '修改密码',/* 顶部文字 */
textObj: {
'1': '修改密码',
'2': '账户服务',
'3': '修改密码',
},
form: {
},
visible: false,
options: [],
activeIndex: '1',
second: [//
],
}
},
created () {
},
methods: {
handleSelect (val) {
this.text = this.textObj[val]
this.activeIndex = val
},
}
};
</script>
<style lang="scss" scoped>
.wrap{
width: 100%;
display: flex;
flex-direction: column;
overflow: hidden;
padding: 24px 0 24px 24px;
.nav{
/deep/ .el-menu.el-menu--horizontal{
border: 0;
}
/deep/ .el-menu--horizontal > .el-menu-item.is-active{
border:2px solid #568DF2;
border-radius: 10px;
color: #000;
}
/deep/ .el-menu--horizontal > .el-menu-item{
border: 2px solid transparent;
border-radius: 10px;
margin-right: 10px;
height: 30px;
line-height: 28px;
}
}
.title{
height: 60px;
display: flex;
align-items: center;
font-size: 20px;
padding-left: 0px;
margin-top: 10px;
}
.body{
margin-top: 50px;
overflow: auto;
.idCard{
border-radius: 5px;
background: #CFDDFF;
text-align: center;
height: 40px;
line-height: 40px;
font-size: 18px;
color: #6191FF;
}
.add{
position: relative;
&::after{
content: '';
display: block;
position: absolute;
right: 3%;
top: -4%;
border: 1px dashed #CFDDFF;
width: 88%;
height: 268px;
}
.addBtn{
position: absolute;
left: 0;
top: 50%;
transform: translate(50%,-50%);
font-size: 22px;
}
}
}
.submitBtn{
position: relative;
width: 300px;
font-size: 18px;
height: 45px;
margin-top: 50px;
border-radius: 10px;
bottom: 10px;
left: 50%;
transform: translate(-50%,-50%);
}
.popBody{
min-height: 200px;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
}
.popBtns{
display: flex;
justify-content: space-between;
align-items: center;
.btn{
width: 180px;
border-radius: 10px;
font-size: 18px;
}
.close{
background: #CFDEFF;
color: #6191FF;
}
.sure{
background: #6191FF;
color: #fff;
}
}
.wrap {
width: 100%;
display: flex;
flex-direction: column;
overflow: hidden;
padding: 24px 0 24px 24px;
.nav {
/deep/ .el-menu.el-menu--horizontal {
border: 0;
}
/deep/ .el-menu--horizontal>.el-menu-item.is-active {
border: 2px solid #568DF2;
border-radius: 10px;
color: #000;
}
/deep/ .el-menu--horizontal>.el-menu-item {
border: 2px solid transparent;
border-radius: 10px;
margin-right: 10px;
height: 30px;
line-height: 28px;
}
}
.title {
height: 60px;
display: flex;
align-items: center;
font-size: 20px;
padding-left: 0px;
margin-top: 10px;
}
.body {
margin-top: 50px;
overflow: auto;
.idCard {
border-radius: 5px;
background: #CFDDFF;
text-align: center;
height: 40px;
line-height: 40px;
font-size: 18px;
color: #6191FF;
}
.add {
position: relative;
&::after {
content: '';
display: block;
position: absolute;
right: 3%;
top: -4%;
border: 1px dashed #CFDDFF;
width: 88%;
height: 268px;
}
.addBtn {
position: absolute;
left: 0;
top: 50%;
transform: translate(50%, -50%);
font-size: 22px;
}
}
}
.submitBtn {
position: relative;
width: 300px;
font-size: 18px;
height: 45px;
margin-top: 50px;
border-radius: 10px;
bottom: 10px;
left: 50%;
transform: translate(-50%, -50%);
}
.popBody {
min-height: 200px;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
}
.popBtns {
display: flex;
justify-content: space-between;
align-items: center;
.btn {
width: 180px;
border-radius: 10px;
font-size: 18px;
}
.close {
background: #CFDEFF;
color: #6191FF;
}
.sure {
background: #6191FF;
color: #fff;
}
}
}
</style>

@ -1,455 +1,474 @@
//
<template>
<div class="body">
<el-row :gutter="20" style="margin: 0">
<el-form ref="form" :model="form" label-width="120px" :rules="rules">
<el-col :span="10" :offset="1">
<el-form-item label="凭证号码" required="">
<!-- <div v-if='!cardNumberJudge' class="idCard" @click="popUp('刷卡器')">
<div class="body">
<el-row :gutter="20" style="margin: 0">
<el-form ref="form" :model="form" label-width="120px" :rules="rules">
<el-col :span="10" :offset="1">
<el-form-item label="凭证号码" required="">
<!-- <div v-if='!cardNumberJudge' class="idCard" @click="popUp('刷卡器')">
<p>请刷卡</p>
</div>
<div v-else>
<el-input ref="voucherNumber" disabled :value="form.voucherNumber" @input="(val) => inputListen(val, form, 'voucherNumber')"></el-input>
</div> -->
<el-input @blur="getDataBlur" ref="voucherNumber" :value="form.voucherNumber" @input="(val) => inputListen(val, form, 'voucherNumber')"></el-input>
</el-form-item>
<el-form-item label="客户号" prop="customerNumber">
<el-input v-model.trim="form.customerNumber" disabled></el-input>
</el-form-item>
<el-form-item label="币种" prop="currency">
<el-select v-model.trim="form.currency" disabled placeholder="请选择" ref="currency">
<el-option v-for="item in getSelectList.currencySelectList" :label="item.options" :value="item.itemId" :key="item.itemId"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="通知类型" prop="noticeType">
<el-select v-model.trim="form.noticeType" disabled placeholder="请选择" ref="noticeType">
<el-option label="1天" :value="95"> </el-option>
<el-option label="7天" :value="96"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="起息日期" prop="breathDate">
<el-input v-model.trim="form.breathDate" ></el-input>
</el-form-item>
<el-form-item label="利息" prop="interest">
<el-input :value="form.interest" disabled @input="val => ismoney(val, form, 'interest')" ref="interest"></el-input>
</el-form-item>
<el-form-item label="支取类别" prop="drawWayType">
<el-select v-model.trim="form.drawWayType" disabled placeholder="请选择" ref="drawWayType">
<el-option label="现金" :value="133"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="证件类型" prop="certificateType">
<el-select v-model.trim="form.certificateType" disabled placeholder="请选择" ref="certificateType">
<el-option label="身份证" :value="83"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="支取密码" required>
<div v-if='!form.drawPassword' class="idCard" @click="popUp3('密码器')">
<p>请输入密码</p>
</div>
<div v-else @click="popUp3('密码器')">
<el-input :value="form.drawPassword" ref="drawPassword" type="password"></el-input>
</div>
<el-input @blur="getDataBlur" ref="voucherNumber" :value="form.voucherNumber"
@input="(val) => inputListen(val, form, 'voucherNumber')"></el-input>
</el-form-item>
<el-form-item label="客户号" prop="customerNumber">
<el-input v-model.trim="form.customerNumber" disabled></el-input>
</el-form-item>
<el-form-item label="币种" prop="currency">
<el-select v-model.trim="form.currency" disabled placeholder="请选择" ref="currency">
<el-option v-for="item in getSelectList.currencySelectList" :label="item.options" :value="item.itemId"
:key="item.itemId"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="通知类型" prop="noticeType">
<el-select v-model.trim="form.noticeType" disabled placeholder="请选择" ref="noticeType">
<el-option label="1天" :value="95"> </el-option>
<el-option label="7天" :value="96"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="起息日期" prop="breathDate">
<el-input autocomplete="off" v-model.trim="form.breathDate"></el-input>
</el-form-item>
<el-form-item label="利息" prop="interest">
<el-input :value="form.interest" disabled @input="val => ismoney(val, form, 'interest')"
ref="interest"></el-input>
</el-form-item>
<el-form-item label="支取类别" prop="drawWayType">
<el-select v-model.trim="form.drawWayType" disabled placeholder="请选择" ref="drawWayType">
<el-option label="现金" :value="133"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="证件类型" prop="certificateType">
<el-select v-model.trim="form.certificateType" disabled placeholder="请选择" ref="certificateType">
<el-option label="身份证" :value="83"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="支取密码" required>
<div v-if='!form.drawPassword' class="idCard" @click="popUp3('密码器')">
<p>请输入密码</p>
</div>
<div v-else @click="popUp3('密码器')">
<el-input :value="form.drawPassword" ref="drawPassword" type="password"></el-input>
</div>
</el-form-item>
</el-col>
<el-col :span="10" :offset="1">
<el-form-item label="凭证类型" prop="voucherType">
<el-select v-model.trim="form.voucherType" disabled placeholder="请选择" ref="voucherType">
<el-option label="存单" :value="123"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="客户姓名" prop="clientName">
<el-input :value="form.clientName" disabled @input="(val) => checkName(val, form, 'clientName')" ref="clientName"></el-input>
</el-form-item>
<el-form-item label="钞汇标识" prop="goldLogo">
<el-select v-model.trim="form.goldLogo" disabled placeholder="请选择" ref="goldLogo">
<el-option v-for="item in getSelectList.goldLogo" :label="item.options" :value="item.itemId" :key="item.itemId"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="定存编号" prop="depositNumber">
<el-input disabled v-model.trim="form.depositNumber"></el-input>
</el-form-item>
<el-form-item label="本金" prop="capital">
<el-input :value="form.capital" disabled @input="val => ismoney(val, form, 'capital')" ref="capital" ></el-input>
</el-form-item>
<el-form-item label="总金额" prop="totalMoney">
<el-input :value="form.totalMoney" disabled @input="val => ismoney(val, form, 'totalMoney')" ref="totalMoney" ></el-input>
</el-form-item>
<el-form-item label="支取金额" prop="payMoney">
<el-input :value="form.payMoney" disabled @input="val => ismoney(val, form, 'payMoney')" ref="payMoney" ></el-input>
</el-form-item>
<el-form-item label="证件号码" required>
<div class="idCard" @click="popUp2('身份证扫描仪')" v-if='!idNumberJudge'>
<p>请刷身份证</p>
</div>
<div v-else>
<el-input :value="form.idNumber" disabled ref="idNumber"></el-input>
</div>
</el-form-item>
</el-col>
</el-form>
</el-row>
<el-button @click="submitForm" type="primary" class="submitBtn" v-throttle>提交</el-button>
<my-dialog :moduleName="moduleName" v-if="visible" :visible.sync="visible" :showForm="form" :formName="formName" @submitIt="submitForm2" depositNumber='0812' />
</div>
<!-- <need-before v-else :moduleName='needBefore' :unNeed="unNeed" /> -->
</el-form-item>
</el-col>
<el-col :span="10" :offset="1">
<el-form-item label="凭证类型" prop="voucherType">
<el-select v-model.trim="form.voucherType" disabled placeholder="请选择" ref="voucherType">
<el-option label="存单" :value="123"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="客户姓名" prop="clientName">
<el-input :value="form.clientName" disabled @input="(val) => checkName(val, form, 'clientName')"
ref="clientName"></el-input>
</el-form-item>
<el-form-item label="钞汇标识" prop="goldLogo">
<el-select v-model.trim="form.goldLogo" disabled placeholder="请选择" ref="goldLogo">
<el-option v-for="item in getSelectList.goldLogo" :label="item.options" :value="item.itemId"
:key="item.itemId"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="定存编号" prop="depositNumber">
<el-input disabled v-model.trim="form.depositNumber"></el-input>
</el-form-item>
<el-form-item label="本金" prop="capital">
<el-input :value="form.capital" disabled @input="val => ismoney(val, form, 'capital')"
ref="capital"></el-input>
</el-form-item>
<el-form-item label="总金额" prop="totalMoney">
<el-input :value="form.totalMoney" disabled @input="val => ismoney(val, form, 'totalMoney')"
ref="totalMoney"></el-input>
</el-form-item>
<el-form-item label="支取金额" prop="payMoney">
<el-input :value="form.payMoney" disabled @input="val => ismoney(val, form, 'payMoney')"
ref="payMoney"></el-input>
</el-form-item>
<el-form-item label="证件号码" required>
<div class="idCard" @click="popUp2('身份证扫描仪')" v-if='!idNumberJudge'>
<p>请刷身份证</p>
</div>
<div v-else>
<el-input :value="form.idNumber" disabled ref="idNumber"></el-input>
</div>
</el-form-item>
</el-col>
</el-form>
</el-row>
<el-button @click="submitForm" type="primary" class="submitBtn" v-throttle>提交</el-button>
<my-dialog :moduleName="moduleName" v-if="visible" :visible.sync="visible" :showForm="form" :formName="formName"
@submitIt="submitForm2" depositNumber='0812' />
</div>
<!-- <need-before v-else :moduleName='needBefore' :unNeed="unNeed" /> -->
</template>
<script>
import { ratePattern, vercustomer } from '@/utils/verify.js'
import { myValidate, checkHanzi, checkName, ismoney, autoPlay, autoPlay2, messageIdCard,messageCard, messagePassword, inputListen } from '@/utils/utilFunction.js'
import { myValidate, checkHanzi, checkName, ismoney, autoPlay, autoPlay2, messageIdCard, messageCard, messagePassword, inputListen, getNowDate } from '@/utils/utilFunction.js'
import { mapMutations, mapGetters } from 'vuex'
import NeedBefore from '@/components/needBefore'
import MyDialog from '@/components/dialog'
import TipsBefore from '@/mixins/tipsBefore'
const moduleName = 'callDeposits/accountClosed'
export default{
name:'',
props:{},
mixins: [ TipsBefore ],
components: {
NeedBefore,
MyDialog
},
data(){
return{
moduleName: 'callDeposits/accountClosed',
idNumberJudge: false,
cardNumberJudge: false,
visible: false,
form:{
//
payMoney: '', // ()
idNumber: '', //
voucherNumber: '', //
drawPassword: '', //
//
// voucherNumber: '', //
currency: '', //
clientName: '', //
goldLogo: '钞户', //
depositNumber: '', //
capital: '', //
interestRate: '', //
voucherType: '', //
interest: '', //
totalMoney: '', //
certificateType: '', //
breathDate: '', //
customerNumber: '', // ()
noticeType: '', // ()
drawWayType: '', // ()
voucherType: '', // ()
},
formName:{
//
payMoney: '支取金额', // ()
idNumber: '身份证号码', //
voucherNumber: '凭证号码', //
drawPassword: '支付密码', //
//
// voucherNumber: '', //
currency: '币种', //
clientName: '客户姓名', //
goldLogo: '钞汇标识', //
depositNumber: '定存编号', //
capital: '本金', //
interestRate: '利率', //
voucherType: '存期', //
interest: '利息', //
totalMoney: '总金额', //
certificateType: '证件类型', //
breathDate: '起息日期', //
customerNumber: '客户号',
noticeType: '通知类型',
drawWayType: '支取类别',
voucherType: '凭证类型',
},
rules: {
clientName: {
pattern: /(^[A-Z][a-z]*(\s[A-Z][a-z]*)*$)|(^[\u4e00-\u9fa5]{2,4}$)/,
message: '该名字格式有误'
},
// voucherNumber: {
// required: true,
// message: '',
// trigger: 'blur'
// },
payMoney: {
required: true,
message: '请填写支取金额',
trigger: 'blur'
},
interestRate: [
{
pattern: ratePattern,
message: '利率格式有误'
}
]
},
myTable: {
302: {
prop: 'voucherNumber',
type: '3',
"subjectId": 44,
},
303: {
prop: 'voucherType',
type: '1',
"subjectId": 11,
},
304: {
prop: 'customerNumber',
type: '3',
"subjectId": 6,
},
305: {
prop: 'clientName',
type: '3',
"subjectId": 7,
},
306: {
prop: 'currency',//
type: '1',
"subjectId": 8,
},
307: {
prop: 'goldLogo',//
type: '1',
"subjectId": 9,
},
308: {
prop: 'noticeType',//
type: '1',
"subjectId": 48,
},
309: {
prop: 'depositNumber',//
type: '3',
"subjectId": 33,
},
310: {
prop: 'breathDate',//
type: '3',
"subjectId": 79,
},
311: {
prop: 'capital',//
type: '3',
"subjectId": 34,
},
312: {
prop: 'interest',//
type: '3',
"subjectId": 26,
},
313: {
prop: 'totalMoney',//
type: '3',
"subjectId": 45,
},
314: {
prop: 'drawWayType',//
type: '1',
"subjectId": 82,
},
391: {
prop: 'certificateType',//
type: '1',
"subjectId": 19,
},
392: {
prop: 'idNumber',
type: '3'
},
394: {
prop: 'drawPassword',
type: '3',
"subjectId": 17,
}
},
myTable2: {
315: {
prop: 'payMoney',//
type: '3',
"subjectId": 35,
}
},
export default {
name: '',
props: {},
mixins: [TipsBefore],
components: {
NeedBefore,
MyDialog
},
data () {
return {
moduleName: 'callDeposits/accountClosed',
idNumberJudge: false,
cardNumberJudge: false,
visible: false,
form: {
//
payMoney: '', // ()
idNumber: '', //
voucherNumber: '', //
drawPassword: '', //
//
// voucherNumber: '', //
currency: '', //
clientName: '', //
goldLogo: '钞户', //
depositNumber: '', //
capital: '', //
interestRate: '', //
voucherType: '', //
interest: '', //
totalMoney: '', //
certificateType: '', //
breathDate: '', //
customerNumber: '', // ()
noticeType: '', // ()
drawWayType: '', // ()
voucherType: '', // ()
},
formName: {
//
payMoney: '支取金额', // ()
idNumber: '身份证号码', //
voucherNumber: '凭证号码', //
drawPassword: '支付密码', //
//
// voucherNumber: '', //
currency: '币种', //
clientName: '客户姓名', //
goldLogo: '钞汇标识', //
depositNumber: '定存编号', //
capital: '本金', //
interestRate: '利率', //
voucherType: '存期', //
interest: '利息', //
totalMoney: '总金额', //
certificateType: '证件类型', //
breathDate: '起息日期', //
customerNumber: '客户号',
noticeType: '通知类型',
drawWayType: '支取类别',
voucherType: '凭证类型',
},
rules: {
clientName: {
pattern: /(^[A-Z][a-z]*(\s[A-Z][a-z]*)*$)|(^[\u4e00-\u9fa5]{2,4}$)/,
message: '该名字格式有误'
},
// voucherNumber: {
// required: true,
// message: '',
// trigger: 'blur'
// },
payMoney: {
required: true,
message: '请填写支取金额',
trigger: 'blur'
},
interestRate: [
{
pattern: ratePattern,
message: '利率格式有误'
}
]
},
myTable: {
302: {
prop: 'voucherNumber',
type: '3',
"subjectId": 44,
},
303: {
prop: 'voucherType',
type: '1',
"subjectId": 11,
},
304: {
prop: 'customerNumber',
type: '3',
"subjectId": 6,
},
305: {
prop: 'clientName',
type: '3',
"subjectId": 7,
},
306: {
prop: 'currency',//
type: '1',
"subjectId": 8,
},
307: {
prop: 'goldLogo',//
type: '1',
"subjectId": 9,
},
308: {
prop: 'noticeType',//
type: '1',
"subjectId": 48,
},
309: {
prop: 'depositNumber',//
type: '3',
"subjectId": 33,
},
310: {
prop: 'breathDate',//
type: '3',
"subjectId": 79,
},
311: {
prop: 'capital',//
type: '3',
"subjectId": 34,
},
312: {
prop: 'interest',//
type: '3',
"subjectId": 26,
},
313: {
prop: 'totalMoney',//
type: '3',
"subjectId": 45,
},
314: {
prop: 'drawWayType',//
type: '1',
"subjectId": 82,
},
391: {
prop: 'certificateType',//
type: '1',
"subjectId": 19,
},
392: {
prop: 'idNumber',
type: '3'
},
394: {
prop: 'drawPassword',
type: '3',
"subjectId": 17,
}
},
created() {
if(sessionStorage.getItem('nomCallDepositClosedPassword')) {
this.form.drawPassword = sessionStorage.getItem('nomCallDepositClosedPassword')
},
myTable2: {
315: {
prop: 'payMoney',//
type: '3',
"subjectId": 35,
}
},
submited: 0
}
},
created () {
if (sessionStorage.getItem('nomCallDepositClosedPassword')) {
this.form.drawPassword = sessionStorage.getItem('nomCallDepositClosedPassword')
}
// if(this.isNeedBefore) {
// if(sessionStorage.getItem('nomCallDepositClosedCard')) {
// this.cardNumberJudge = true
// this.form.voucherNumber = this.dataFlow.voucherNumber || '159753'
// }
// if(sessionStorage.getItem('nomCallDepositClosedCard2')) {
// this.idNumberJudge = true
// this.form.idNumber = this.dataFlow.idNumber || '441515199812064569'
// }
// return
// }
if(sessionStorage.getItem('nomCallDepositClosedCard')) {
this.cardNumberJudge = true
const { noticeType, depositNumber, capital, interest, totalMoney, idNumber,
peopleNumber, userName, currency, goldLogo, voucherNumber, payMoney, voucherType } = this.dataFlow
this.form.certificateType = 83
this.form.voucherType = 123
this.form.noticeType = noticeType
this.form.depositNumber = depositNumber
this.form.capital = capital
this.form.interest = interest
this.form.totalMoney = totalMoney
// this.form.drawWayType = 93
this.form.drawWayType = 133
this.form.idNumber = idNumber
this.form.clientNumber = peopleNumber
this.form.clientName = userName
this.form.customerNumber = peopleNumber
this.form.currency = currency
this.form.goldLogo = goldLogo
this.form.voucherNumber = voucherNumber
this.form.payMoney = payMoney
this.form.voucherType = voucherType
// this.form.idNumber =
}
// if(this.isNeedBefore) {
// if(sessionStorage.getItem('nomCallDepositClosedCard')) {
// this.cardNumberJudge = true
// this.form.voucherNumber = this.dataFlow.voucherNumber || '159753'
// }
// if(sessionStorage.getItem('nomCallDepositClosedCard2')) {
// this.idNumberJudge = true
// this.form.idNumber = this.dataFlow.idNumber || '441515199812064569'
// }
// return
// }
if (sessionStorage.getItem('nomCallDepositClosedCard')) {
this.cardNumberJudge = true
const { noticeType, depositNumber, capital, interest, totalMoney, idNumber,
peopleNumber, userName, currency, goldLogo, voucherNumber, payMoney, voucherType } = this.dataFlow
this.form.certificateType = 83
this.form.voucherType = 123
this.form.noticeType = noticeType
this.form.depositNumber = depositNumber
this.form.capital = capital
this.form.interest = interest
this.form.totalMoney = totalMoney
// this.form.drawWayType = 93
this.form.drawWayType = 133
this.form.idNumber = idNumber
this.form.clientNumber = peopleNumber
this.form.clientName = userName
this.form.customerNumber = peopleNumber
this.form.currency = currency
this.form.goldLogo = goldLogo
this.form.voucherNumber = voucherNumber
this.form.payMoney = totalMoney
this.form.voucherType = voucherType
}
if(sessionStorage.getItem('nomCallDepositClosedCard2')) {
this.idNumberJudge = true
const { idNumber } = this.dataFlow
this.form.idNumber = idNumber
}
if (sessionStorage.getItem('nomCallDepositClosedCard2')) {
this.idNumberJudge = true
const { idNumber } = this.dataFlow
this.form.idNumber = idNumber
}
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,26,38,289'
const cards = {
// 302: 'nomCallDepositClosedCard',
// 392: 'nomCallDepositClosedCard2',
// 394: 'nomCallDepositClosedPassword'
}
const callback = () => {
if(this.form.idNumber) {
this.idNumberJudge = true
}
if(this.form.voucherNumber) {
this.cardNumberJudge = true
}
if(sessionStorage.getItem('nomCallDepositOpenPassword')) {
this.form.drawPassword = sessionStorage.getItem('nomCallDepositClosedPassword')
}
}
autoPlay2(parentId, this.form, this.myTable2, this.myTable, cards)
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,26,38,289'
const cards = {
// 302: 'nomCallDepositClosedCard',
// 392: 'nomCallDepositClosedCard2',
// 394: 'nomCallDepositClosedPassword'
}
const callback = () => {
if (this.form.idNumber) {
this.idNumberJudge = true
}
if (this.form.voucherNumber) {
this.cardNumberJudge = true
}
if (sessionStorage.getItem('nomCallDepositOpenPassword')) {
this.form.drawPassword = sessionStorage.getItem('nomCallDepositClosedPassword')
}
}
autoPlay2(parentId, this.form, this.myTable2, this.myTable, cards)
},
methods: {
...mapMutations({
changeShowGoods: 'system/changeShowGoods',
setDataFlow: 'system/setDataFlow',
setNeedsModule: 'system/setNeedsModule',
setPopId: 'system/setPopId',
setTipsOperate: 'system/setTipsOperate'
}),
getDataBlur () {
if (!this.form.voucherNumber) {
return
}
const { noticeType, depositNumber, capital, interest, totalMoney, idNumber,
peopleNumber, userName, currency, goldLogo, voucherNumber, payMoney, voucherType, money } = this.dataFlow
console.log("🚀 ~ file: accountClosed.vue:458 ~ getDataBlur ~ dataFlow:", this.dataFlow, sessionStorage.getItem('callDeposits/openAccount'))
this.form.certificateType = 83
this.form.voucherType = 123
this.form.noticeType = noticeType
this.form.depositNumber = depositNumber
this.form.capital = money || 800000
this.form.interest = interest
this.form.totalMoney = totalMoney
// this.form.drawWayType = 93
this.form.drawWayType = 133
this.form.idNumber = idNumber
this.form.clientNumber = peopleNumber
this.form.clientName = userName
this.form.customerNumber = peopleNumber
this.form.currency = currency
this.form.goldLogo = goldLogo
// this.form.voucherNumber = voucherNumber
this.form.payMoney = totalMoney
this.form.voucherType = voucherType
let openData = sessionStorage.getItem('callDeposits/openAccount')
if (openData) {
openData = JSON.parse(openData)
this.form.breathDate = openData.createDate
} else {
this.form.breathDate = getNowDate()
}
},
methods: {
...mapMutations({
changeShowGoods: 'system/changeShowGoods',
setDataFlow: 'system/setDataFlow',
setNeedsModule: 'system/setNeedsModule',
setPopId: 'system/setPopId',
setTipsOperate: 'system/setTipsOperate'
}),
getDataBlur() {
if(!this.form.voucherNumber) {
return
}
const { noticeType, depositNumber, capital, interest, totalMoney, idNumber,
peopleNumber, userName, currency, goldLogo, voucherNumber, payMoney, voucherType } = this.dataFlow
this.form.certificateType = 83
this.form.voucherType = 123
this.form.noticeType = noticeType
this.form.depositNumber = depositNumber
this.form.capital = capital
this.form.interest = interest
this.form.totalMoney = totalMoney
// this.form.drawWayType = 93
this.form.drawWayType = 133
this.form.idNumber = idNumber
this.form.clientNumber = peopleNumber
this.form.clientName = userName
this.form.customerNumber = peopleNumber
this.form.currency = currency
this.form.goldLogo = goldLogo
// this.form.voucherNumber = voucherNumber
this.form.payMoney = payMoney
this.form.voucherType = voucherType
},
popUp(text) {
// this.$store.commit('system/changePop',{show:true,text, id: '302'})
popUp (text) {
// this.$store.commit('system/changePop',{show:true,text, id: '302'})
this.setTipsOperate('请刷银行卡');
this.setPopId('302')
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},
popUp2(text) {
// this.$store.commit('system/changePop',{show:true,text, id: '392'})
this.setTipsOperate('请刷银行卡');
this.setPopId('302')
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},
popUp2 (text) {
// this.$store.commit('system/changePop',{show:true,text, id: '392'})
this.setTipsOperate('请刷身份证');
this.setPopId('392')
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},
popUp3(text) {
// this.$store.commit('system/changePop',{show:true,text, id: '394'})
this.setTipsOperate('请在密码器输入密码');
this.setPopId('394')
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},
submitForm() {
if(!this.form.idNumber) {
messageIdCard()
return
}
if(!this.form.voucherNumber) {
messageCard('请填写凭证号码')
return
}
if(!this.form.drawPassword) {
messagePassword()
return
}
this.$refs.form.validate(myValidate(() => {
//
this.visible = true;
}, this.$refs));
},
submitForm2() {
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,26,38,289'
const nomCallDepositCard = sessionStorage.getItem('nomCallDepositCard')
const nomCallDepositCard2 = sessionStorage.getItem('nomCallDepositCard2')
const nomCallDepositClosedPassword = sessionStorage.getItem('nomCallDepositClosedPassword')
const cards = [
{
key: '392,13'
}
]
autoPlay(parentId, this.form, this.myTable2, this.myTable, cards)
},
ismoney: ismoney,
checkHanzi: checkHanzi,
checkName: checkName,
inputListen
this.setTipsOperate('请刷身份证');
this.setPopId('392')
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},
computed: {
...mapGetters({
dataFlow: 'system/dataFlow',
needsModule: 'system/needsModule',
idCardNumber: 'system/idCardNumber',
inMyWork: 'system/inMyWork',
getSelectList: 'system/getSelectList'
})
}
popUp3 (text) {
// this.$store.commit('system/changePop',{show:true,text, id: '394'})
this.setTipsOperate('请在密码器输入密码');
this.setPopId('394')
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},
submitForm () {
if (this.submited) return this.$message.error('已提交!')
if (!this.form.idNumber) {
messageIdCard()
return
}
if (!this.form.voucherNumber) {
messageCard('请填写凭证号码')
return
}
if (!this.form.drawPassword) {
messagePassword()
return
}
this.$refs.form.validate(myValidate(() => {
//
this.visible = true;
}, this.$refs));
},
submitForm2 () {
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,26,38,289'
const nomCallDepositCard = sessionStorage.getItem('nomCallDepositCard')
const nomCallDepositCard2 = sessionStorage.getItem('nomCallDepositCard2')
const nomCallDepositClosedPassword = sessionStorage.getItem('nomCallDepositClosedPassword')
const cards = [
{
key: '392,13'
}
]
autoPlay(parentId, this.form, this.myTable2, this.myTable, cards)
this.submited = 1
},
ismoney: ismoney,
checkHanzi: checkHanzi,
checkName: checkName,
inputListen
},
computed: {
...mapGetters({
dataFlow: 'system/dataFlow',
needsModule: 'system/needsModule',
idCardNumber: 'system/idCardNumber',
inMyWork: 'system/inMyWork',
getSelectList: 'system/getSelectList'
})
}
}
</script>
<style lang='scss' scoped>
@ -462,5 +481,4 @@ export default{
// bottom: 10px;
// left: 50%;
// transform: translate(-50%,0);
// }
</style>
// }</style>

@ -1,88 +1,161 @@
//
<template>
<div class="body">
<el-row :gutter="20" style="margin: 0">
<el-form ref="form" :model="form" label-width="120px" :rules="rules">
<el-col :span="10" :offset="1">
<el-form-item label="证件类型" prop="certificateType">
<el-select v-model.trim="form.certificateType" placeholder="请选择" ref="certificateType">
<el-option label="身份证" :value="83"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="客户号" prop="clientNumber">
<el-input :value="form.clientNumber" disabled @input="(val) => checkHanzi(val, form, 'clientNumber')" ref="clientNumber"></el-input>
</el-form-item>
<el-form-item label="币种" prop="currency">
<el-select v-model.trim="form.currency" disabled placeholder="请选择" ref="currency">
<el-option v-for="item in getSelectList.currencySelectList" :label="item.options" :value="item.itemId" :key="item.itemId"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="凭证类型" prop="voucherType">
<el-select disabled v-model.trim="form.voucherType" placeholder="请选择" ref="voucherType">
<el-option label="存单" :value="123"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="通知类型" prop="noticeType">
<el-select v-model.trim="form.noticeType" placeholder="请选择" ref="noticeType">
<el-option label="1天" :value="95"> </el-option>
<el-option label="7天" :value="96"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="金额" prop="money">
<el-input :value="form.money" maxlength="15" @input="val => ismoney(val, form, 'money')" ref="money"></el-input>
</el-form-item>
</el-col>
<el-col :span="10" :offset="1">
<el-form-item label="证件号码" required>
<div class="idCard" @click="popUp('身份证扫描仪')" v-if='!idNumberJudge'>
<p>请刷身份证</p>
</div>
<div v-else>
<el-input :value="form.idNumber" disabled ref="idNumber"></el-input>
</div>
</el-form-item>
<el-form-item label="客户姓名" prop="customerName">
<el-input disabled :value="form.customerName" @input="(val) => checkName(val, form, 'customerName')" ref="customerName"></el-input>
</el-form-item>
<el-form-item label="钞汇标识" prop="goldLogo">
<el-select v-model.trim="form.goldLogo" disabled placeholder="请选择" ref="goldLogo">
<el-option v-for="item in getSelectList.goldLogoSelectList" :label="item.options" :value="item.itemId" :key="item.itemId"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="凭证号码" required>
<!-- <div v-if='!cardNumberJudge' class="idCard" @click="popUp2('刷卡器')">
<div class="body">
<el-row :gutter="20"
style="margin: 0">
<el-form ref="form"
:model="form"
label-width="120px"
:rules="rules">
<el-col :span="10"
:offset="1">
<el-form-item label="证件类型"
prop="certificateType">
<el-select v-model.trim="form.certificateType"
placeholder="请选择"
ref="certificateType">
<el-option label="身份证"
:value="83"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="客户号"
prop="clientNumber">
<el-input :value="form.clientNumber"
disabled
@input="(val) => checkHanzi(val, form, 'clientNumber')"
ref="clientNumber"></el-input>
</el-form-item>
<el-form-item label="币种"
prop="currency">
<el-select v-model.trim="form.currency"
disabled
placeholder="请选择"
ref="currency">
<el-option v-for="item in getSelectList.currencySelectList"
:label="item.options"
:value="item.itemId"
:key="item.itemId"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="凭证类型"
prop="voucherType">
<el-select disabled
v-model.trim="form.voucherType"
placeholder="请选择"
ref="voucherType">
<el-option label="存单"
:value="123"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="通知类型"
prop="noticeType">
<el-select v-model.trim="form.noticeType"
placeholder="请选择"
ref="noticeType">
<el-option label="1天"
:value="95"> </el-option>
<el-option label="7天"
:value="96"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="金额"
prop="money">
<el-input :value="form.money"
maxlength="15"
@input="val => ismoney(val, form, 'money')"
ref="money"></el-input>
</el-form-item>
</el-col>
<el-col :span="10"
:offset="1">
<el-form-item label="证件号码"
required>
<div class="idCard"
@click="popUp('身份证扫描仪')"
v-if='!idNumberJudge'>
<p>请刷身份证</p>
</div>
<div v-else>
<el-input :value="form.idNumber"
disabled
ref="idNumber"></el-input>
</div>
</el-form-item>
<el-form-item label="客户姓名"
prop="customerName">
<el-input disabled
:value="form.customerName"
@input="(val) => checkName(val, form, 'customerName')"
ref="customerName"></el-input>
</el-form-item>
<el-form-item label="钞汇标识"
prop="goldLogo">
<el-select v-model.trim="form.goldLogo"
disabled
placeholder="请选择"
ref="goldLogo">
<el-option v-for="item in getSelectList.goldLogoSelectList"
:label="item.options"
:value="item.itemId"
:key="item.itemId"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="凭证号码"
required>
<!-- <div v-if='!cardNumberJudge' class="idCard" @click="popUp2('刷卡器')">
<p>请刷卡</p>
</div>
<div v-else>
<el-input ref="voucherNumber" disabled :value="form.voucherNumber" @input="(val) => inputListen(val, form, 'voucherNumber')"></el-input>
</div> -->
<el-input ref="voucherNumber" :value="form.voucherNumber" @input="(val) => inputListen(val, form, 'voucherNumber')"></el-input>
</el-form-item>
<el-form-item label="存款类别" prop="depositType">
<el-select v-model.trim="form.depositType" disabled placeholder="请选择" ref="depositType">
<el-option label="现金" :value="92"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="支取密码" required>
<div v-if='!form.drawPassword' class="idCard" @click="popUp3('密码器')">
<p>请输入密码</p>
</div>
<div v-else>
<el-input :value="form.drawPassword" ref="drawPassword" type="password"></el-input>
</div>
</el-form-item>
</el-col>
</el-form>
</el-row>
<el-button @click="submitForm" type="primary" class="submitBtn" v-throttle>提交</el-button>
<my-dialog :moduleName="moduleName" v-if="visible" :visible.sync="visible" :showForm="form" :formName="formName" @submitIt="submitForm2" depositNumber='0812' />
</div>
<!-- <need-before v-else :moduleName='needBefore' :unNeed="unNeed" /> -->
<el-input ref="voucherNumber"
:value="form.voucherNumber"
@input="(val) => inputListen(val, form, 'voucherNumber')"></el-input>
</el-form-item>
<el-form-item label="存款类别"
prop="depositType">
<el-select v-model.trim="form.depositType"
disabled
placeholder="请选择"
ref="depositType">
<el-option label="现金"
:value="92"> </el-option>
</el-select>
</el-form-item>
<el-form-item label="支取密码"
required>
<div v-if='!form.drawPassword'
class="idCard"
@click="popUp3('密码器')">
<p>请输入密码</p>
</div>
<div v-else>
<el-input :value="form.drawPassword"
ref="drawPassword"
type="password"></el-input>
</div>
</el-form-item>
</el-col>
</el-form>
</el-row>
<el-button @click="submitForm"
type="primary"
class="submitBtn"
v-throttle>提交</el-button>
<my-dialog :moduleName="moduleName"
v-if="visible"
:visible.sync="visible"
:showForm="form"
:formName="formName"
@submitIt="submitForm2"
depositNumber='0812' />
</div>
<!-- <need-before v-else :moduleName='needBefore' :unNeed="unNeed" /> -->
</template>
<script>
import { mobPattern, namePattern, ratePattern, vercustomer } from '@/utils/verify.js'
import { myValidate, checkHanzi, checkName, ismoney, autoPlay2, autoPlay, messageIdCard, messageCard, messagePassword, inputListen } from '@/utils/utilFunction.js';
import { myValidate, checkHanzi, checkName, ismoney, autoPlay2, autoPlay, messageIdCard, messageCard, messagePassword, inputListen, getNowDate } from '@/utils/utilFunction.js';
import { mapMutations, mapGetters } from 'vuex'
import NeedBefore from '@/components/needBefore'
@ -90,336 +163,340 @@ import MyDialog from '@/components/dialog'
import TipsBefore from '@/mixins/tipsBefore'
const moduleName = 'callDeposits/openAccount'
export default{
name:'',
props:{},
mixins: [ TipsBefore ],
components: {
NeedBefore,
MyDialog
},
data(){
return{
moduleName: 'callDeposits/openAccount',
idNumberJudge: false,
cardNumberJudge: false,
visible: false,
export default {
name: '',
props: {},
mixins: [TipsBefore],
components: {
NeedBefore,
MyDialog
},
data () {
return {
moduleName: 'callDeposits/openAccount',
idNumberJudge: false,
cardNumberJudge: false,
visible: false,
form:{
//
// identityCard: '', //
certificateType: 83,
idNumber: '', //
voucherNumber: '', //
drawPassword: '', //
customerName: '', //
currency: 'CYN人民币', //
goldLogo: 13, //
voucherType: 123, //
noticeType: '', //
depositType: '', // ''
money: '', //
//
clientNumber: '' //
},
formName: {
certificateType: '证件类型',
idNumber: '身份证号码', //
voucherNumber: '凭证号码', //
drawPassword: '支付密码', //
customerName: '客户姓名', //
currency: '币种', //
goldLogo: '钞汇标识', //
voucherType: '凭证类型', //
noticeType: '通知类型', //
depositType: '存款类别', // ''
money: '金额', //
//
clientNumber: '客户号' //
},
rules: {
customerName: vercustomer,
currency: [
{
required: true,
message: '请选择币种',
trigger: 'blur'
}
],
voucherType: [
{
required: true,
message: '请选择凭证类型',
trigger: 'blur'
}
],
goldLogo: [
{
required: true,
message: '请选择钞汇标识',
trigger: 'blur'
}
],
noticeType: [
{
required: true,
message: '请选择通知类型',
trigger: 'blur'
}
],
depositType: [
{
required: true,
message: '请选择存款类别',
trigger: 'blur'
}
],
money: [
{
required: true,
message: '请输入金额',
trigger: 'blur'
}
],
},
myTable: {
290: {
prop: 'certificateType',//
type: '1',
"subjectId": 19,
},
292: {
prop: 'clientNumber',//
type: '3',
"subjectId": 6,
},
},
myTable2: {
291: {
prop: 'idNumber',//
type: '3',
},
297: {
prop: 'voucherNumber', //
type: '3',
"subjectId": 44,
},
293: {
prop: 'customerName',//
type: '3',
"subjectId": 7,
},
294: {
prop: 'currency',//
type: '1',
"subjectId": 8,
},
295: {
prop: 'goldLogo',//
type: '1',
"subjectId": 9,
},
296: {
prop: 'voucherType',//
type: '1',
"subjectId": 11,
},
299: {
prop: 'depositType',//
type: '1',
"subjectId": 30,
},
300: {
prop: 'money',//
type: '3',
"subjectId": 14,
},
298: {
prop: 'noticeType',//
type: '1',
"subjectId": 48,
},
301: {
prop: 'drawPassword',
type: '3',
"subjectId": 17,
},
// : {
// prop: 'noticeType',//
// type: '1'
// },
// 127: {
// prop: 'voucherType',//
// type: '1'
// },
// 129: {
// prop: 'withdrawingWay',//
// type: '1'
// },
// 127: {
// prop: 'voucherType',//
// type: '1'
// },
// 129: {
// prop: 'withdrawingWay',//
// type: '1'
// },
},
}
},
created() {
if(sessionStorage.getItem('nomCallDepositOpenPassword')) {
this.form.drawPassword = sessionStorage.getItem('nomCallDepositOpenPassword')
}
form: {
//
// identityCard: '', //
certificateType: 83,
idNumber: '', //
voucherNumber: '', //
drawPassword: '', //
customerName: '', //
currency: 'CYN人民币', //
goldLogo: 13, //
voucherType: 123, //
noticeType: '', //
depositType: '', // ''
money: '', //
//
clientNumber: '', //
createDate: getNowDate()
},
formName: {
certificateType: '证件类型',
idNumber: '身份证号码', //
voucherNumber: '凭证号码', //
drawPassword: '支付密码', //
customerName: '客户姓名', //
currency: '币种', //
goldLogo: '钞汇标识', //
voucherType: '凭证类型', //
noticeType: '通知类型', //
depositType: '存款类别', // ''
money: '金额', //
//
clientNumber: '客户号' //
},
rules: {
customerName: vercustomer,
currency: [
{
required: true,
message: '请选择币种',
trigger: 'blur'
}
],
voucherType: [
{
required: true,
message: '请选择凭证类型',
trigger: 'blur'
}
],
goldLogo: [
{
required: true,
message: '请选择钞汇标识',
trigger: 'blur'
}
],
noticeType: [
{
required: true,
message: '请选择通知类型',
trigger: 'blur'
}
],
depositType: [
{
required: true,
message: '请选择存款类别',
trigger: 'blur'
}
],
money: [
{
required: true,
message: '请输入金额',
trigger: 'blur'
}
],
},
myTable: {
290: {
prop: 'certificateType',//
type: '1',
"subjectId": 19,
},
292: {
prop: 'clientNumber',//
type: '3',
"subjectId": 6,
},
// if(this.isNeedBefore) {
// if(sessionStorage.getItem('nomCallDepositOpen2')) {
// this.idNumberJudge = true
// this.form.idNumber = this.dataFlow.idNumber || '441515199812064569'
// }
// if(sessionStorage.getItem('nomCallDepositOpen3')) {
// this.cardNumberJudge = true
// this.form.voucherNumber = this.dataFlow.voucherNumber || '159753'
// }
// return
// }
if(sessionStorage.getItem('nomCallDepositOpen2')) {
this.idNumberJudge = true
const { idNumber, peopleNumber, userName, currency, goldLogo, depositType } = this.dataFlow
this.form.idNumber = idNumber
this.form.clientNumber = peopleNumber
this.form.customerName = userName
this.form.currency = currency
this.form.goldLogo = goldLogo
this.form.depositType = depositType
}
if(sessionStorage.getItem('nomCallDepositOpen3')) {
const { voucherNumber } = this.dataFlow
this.cardNumberJudge = true
this.form.voucherNumber = voucherNumber
}
this.getFormData()
},
methods: {
...mapMutations({
changeShowGoods: 'system/changeShowGoods',
setDataFlow: 'system/setDataFlow',
setNeedsModule: 'system/setNeedsModule',
setPopId: 'system/setPopId',
setTipsOperate: 'system/setTipsOperate'
}),
getFormData(){
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,26,38,288'
const cards = {
// 291: 'nomCallDepositOpen2',
// 297: 'nomCallDepositOpen3',
// 301: 'nomCallDepositOpenPassword'
}
const callback = () => {
if(this.form.idNumber) {
this.idNumberJudge = true
}
if(this.form.voucherNumber) {
this.cardNumberJudge = true
}
if(sessionStorage.getItem('nomCallDepositOpenPassword')) {
this.form.drawPassword = sessionStorage.getItem('nomCallDepositOpenPassword')
}
}
autoPlay2(parentId, this.form, this.myTable2, this.myTable, cards, callback)
},
myTable2: {
291: {
prop: 'idNumber',//
type: '3',
},
popUp(text) {
this.setTipsOperate('请刷身份证');
this.setPopId('291')
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
297: {
prop: 'voucherNumber', //
type: '3',
"subjectId": 44,
},
popUp2(text) {
this.setTipsOperate('请刷银行卡');
this.setPopId('297')
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
293: {
prop: 'customerName',//
type: '3',
"subjectId": 7,
},
popUp3(text) {
this.setTipsOperate('请在密码器输入密码');
this.setPopId('301')
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
294: {
prop: 'currency',//
type: '1',
"subjectId": 8,
},
submitForm() {
if(!this.form.idNumber) {
messageIdCard()
// let projectId = sessionStorage.getItem('projectId')
// let startTime = sessionStorage.getItem('startTime')
// let formList = [
// {
// "answerId":'291',
// "emptyOne": "",
// "emptyTwo": "",
// "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,26,38,288,291,13",
// "type": ""
// }
// ]
// let params= {
// parentId: '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,26,38,288,291',
// lcJudgmentRuleReq:formList,
// projectId:+projectId,
// startTime:startTime,
// }
// addOperation(params).then((data)=>{
// this.$message({
// message: '',
// type: 'success'
// });
// }).catch((error)=>{
// })
return
}
if(!this.form.voucherNumber) {
messageCard('请填写凭证号码')
return
}
if(!this.form.drawPassword) {
messagePassword()
return
}
this.$refs.form.validate(myValidate(() => {
//
this.visible = true;
}, this.$refs));
295: {
prop: 'goldLogo',//
type: '1',
"subjectId": 9,
},
submitForm2() {
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,26,38,288'
const nomCallDepositOpen2 = sessionStorage.getItem('nomCallDepositOpen2')
const nomCallDepositOpen3 = sessionStorage.getItem('nomCallDepositOpen3')
const nomCallDepositOpenPassword = sessionStorage.getItem('nomCallDepositOpenPassword')
const cards = [
{
key: '291,13'
}
]
autoPlay(parentId, this.form, this.myTable2, this.myTable, cards)
this.setNeedsModule(moduleName)
296: {
prop: 'voucherType',//
type: '1',
"subjectId": 11,
},
ismoney: ismoney,
checkHanzi: checkHanzi,
checkName: checkName,
inputListen
},
computed: {
...mapGetters({
dataFlow: 'system/dataFlow',
needsModule: 'system/needsModule',
idCardNumber: 'system/idCardNumber',
inMyWork: 'system/inMyWork',
getSelectList: 'system/getSelectList'
})
299: {
prop: 'depositType',//
type: '1',
"subjectId": 30,
},
300: {
prop: 'money',//
type: '3',
"subjectId": 14,
},
298: {
prop: 'noticeType',//
type: '1',
"subjectId": 48,
},
301: {
prop: 'drawPassword',
type: '3',
"subjectId": 17,
},
// : {
// prop: 'noticeType',//
// type: '1'
// },
// 127: {
// prop: 'voucherType',//
// type: '1'
// },
// 129: {
// prop: 'withdrawingWay',//
// type: '1'
// },
// 127: {
// prop: 'voucherType',//
// type: '1'
// },
// 129: {
// prop: 'withdrawingWay',//
// type: '1'
// },
},
submited: 0
}
},
created () {
if (sessionStorage.getItem('nomCallDepositOpenPassword')) {
this.form.drawPassword = sessionStorage.getItem('nomCallDepositOpenPassword')
}
// if(this.isNeedBefore) {
// if(sessionStorage.getItem('nomCallDepositOpen2')) {
// this.idNumberJudge = true
// this.form.idNumber = this.dataFlow.idNumber || '441515199812064569'
// }
// if(sessionStorage.getItem('nomCallDepositOpen3')) {
// this.cardNumberJudge = true
// this.form.voucherNumber = this.dataFlow.voucherNumber || '159753'
// }
// return
// }
if (sessionStorage.getItem('nomCallDepositOpen2')) {
this.idNumberJudge = true
const { idNumber, peopleNumber, userName, currency, goldLogo, depositType } = this.dataFlow
this.form.idNumber = idNumber
this.form.clientNumber = peopleNumber
this.form.customerName = userName
this.form.currency = currency
this.form.goldLogo = goldLogo
this.form.depositType = depositType
}
if (sessionStorage.getItem('nomCallDepositOpen3')) {
const { voucherNumber } = this.dataFlow
this.cardNumberJudge = true
this.form.voucherNumber = voucherNumber
}
this.getFormData()
},
methods: {
...mapMutations({
changeShowGoods: 'system/changeShowGoods',
setDataFlow: 'system/setDataFlow',
setNeedsModule: 'system/setNeedsModule',
setPopId: 'system/setPopId',
setTipsOperate: 'system/setTipsOperate'
}),
getFormData () {
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,26,38,288'
const cards = {
// 291: 'nomCallDepositOpen2',
// 297: 'nomCallDepositOpen3',
// 301: 'nomCallDepositOpenPassword'
}
const callback = () => {
if (this.form.idNumber) {
this.idNumberJudge = true
}
if (this.form.voucherNumber) {
this.cardNumberJudge = true
}
if (sessionStorage.getItem('nomCallDepositOpenPassword')) {
this.form.drawPassword = sessionStorage.getItem('nomCallDepositOpenPassword')
}
}
autoPlay2(parentId, this.form, this.myTable2, this.myTable, cards, callback)
},
popUp (text) {
this.setTipsOperate('请刷身份证');
this.setPopId('291')
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},
popUp2 (text) {
this.setTipsOperate('请刷银行卡');
this.setPopId('297')
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},
popUp3 (text) {
this.setTipsOperate('请在密码器输入密码');
this.setPopId('301')
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},
submitForm () {
if (this.submited) return this.$message.error('已提交!')
if (!this.form.idNumber) {
messageIdCard()
// let projectId = sessionStorage.getItem('projectId')
// let startTime = sessionStorage.getItem('startTime')
// let formList = [
// {
// "answerId":'291',
// "emptyOne": "",
// "emptyTwo": "",
// "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,26,38,288,291,13",
// "type": ""
// }
// ]
// let params= {
// parentId: '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,26,38,288,291',
// lcJudgmentRuleReq:formList,
// projectId:+projectId,
// startTime:startTime,
// }
// addOperation(params).then((data)=>{
// this.$message({
// message: '',
// type: 'success'
// });
// }).catch((error)=>{
// })
return
}
if (!this.form.voucherNumber) {
messageCard('请填写凭证号码')
return
}
if (!this.form.drawPassword) {
messagePassword()
return
}
this.$refs.form.validate(myValidate(() => {
//
this.visible = true;
}, this.$refs));
},
submitForm2 () {
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,26,38,288'
const nomCallDepositOpen2 = sessionStorage.getItem('nomCallDepositOpen2')
const nomCallDepositOpen3 = sessionStorage.getItem('nomCallDepositOpen3')
const nomCallDepositOpenPassword = sessionStorage.getItem('nomCallDepositOpenPassword')
const cards = [
{
key: '291,13'
}
]
this.setDataFlow(this.form)
autoPlay(parentId, this.form, this.myTable2, this.myTable, cards)
this.setNeedsModule(moduleName)
this.submited = 1
},
ismoney: ismoney,
checkHanzi: checkHanzi,
checkName: checkName,
inputListen
},
computed: {
...mapGetters({
dataFlow: 'system/dataFlow',
needsModule: 'system/needsModule',
idCardNumber: 'system/idCardNumber',
inMyWork: 'system/inMyWork',
getSelectList: 'system/getSelectList'
})
}
}
</script>
<style lang='scss' scoped>

@ -110,7 +110,8 @@ export default{
"subjectId": 17,
},
// cardNumber
}
},
submited: 0
}
},
created() {
@ -176,6 +177,7 @@ export default{
setTipsOperate: 'system/setTipsOperate'
}),
submitForm(){
if (this.submited) return this.$message.error('已提交!')
if(!this.form.cardNumber || !this.form.userName) {
this.setTipsOperate('请先完成活期业务 -> 结清');
return
@ -213,6 +215,7 @@ export default{
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,26,57,67'
autoPlay(parentId, this.form, this.myTable2, this.myTable, cards)
this.setNeedsModule(moduleName)
this.submited = 1
}, this.$refs));
},
popUp1(text) {

@ -117,7 +117,8 @@ export default{
message: '年利率格式有误'
}
]
},
},
submited: 0
}
},
created() {
@ -176,7 +177,7 @@ export default{
}),
//
submitForm(){
if (this.submited) return this.$message.error('已提交!')
if(!this.form.voucherNumber) {
messageCard()
return
@ -216,6 +217,7 @@ export default{
startTime:startTime,
}
addOperation(params).then((data)=>{
this.submited = 1
// this.$message({
// message: '',
// type: 'success'

@ -172,7 +172,8 @@ export default{
"subjectId": 13,
}
}
},
submited: 0
}
},
created() {
@ -235,6 +236,7 @@ export default{
}),
//
submitForm(){
if (this.submited) return this.$message.error('已提交!')
if(!this.form.cardNumber) {
messageCard()
return
@ -267,6 +269,7 @@ export default{
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,26,57,66'
autoPlay(parentId, this.form, this.myTable2, this.myTable, cards)
this.setDataFlow({ isSettle: true })
this.submited = 1
},
popUp(text) {
// this.$store.commit('system/changePop',{show:true,text, id: 66})

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save