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 实验报告修复 3 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. 27
      public/index.html
  5. 74
      src/App.vue
  6. 82
      src/api/api.js
  7. 151
      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. 14
      src/components/backButton/index.vue
  29. 67
      src/components/breadcrumb/index.vue
  30. 630
      src/components/case/index.vue
  31. 3
      src/components/checkPhoto/index.vue
  32. 344
      src/components/dialog/index.vue
  33. 239
      src/components/dialogTwo/index.vue
  34. 106
      src/components/quill/index.vue
  35. 128
      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. 79
      src/layouts/header/index.vue
  40. 12
      src/layouts/home/index.vue
  41. 162
      src/libs/util.js
  42. 4
      src/main.js
  43. 9
      src/main.js.rej
  44. 29
      src/mixins/tipsBefore/index.js
  45. 1999
      src/pages/counter/list/index.vue
  46. 113
      src/pages/counter/list/myConfig.js
  47. 165
      src/pages/index/list/index.vue
  48. 104
      src/pages/lobbyManager/list/index.vue
  49. 324
      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. 28
      src/pages/manage/list/ImportantCash/controlCash/cashTransferInto.vue
  54. 116
      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. 126
      src/pages/manage/list/ImportantCash/controlCash2/index.vue
  60. 146
      src/pages/manage/list/ImportantCash/controlCash3/index.vue
  61. 217
      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. 199
      src/pages/manage/list/business/openAccount.vue
  68. 83
      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. 212
      src/pages/manage/list/cityWide/cityWideOut.vue
  72. 200
      src/pages/manage/list/client/consumerClient.vue
  73. 212
      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. 97
      src/pages/manage/list/dayEnd/branchDayEnd.vue
  88. 3
      src/pages/manage/list/dayEnd/tellerCash.vue
  89. 154
      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. 98
      src/pages/manage/list/personal/accountService/accountService.vue
  95. 104
      src/pages/manage/list/personal/callDeposits/accountClosed.vue
  96. 207
      src/pages/manage/list/personal/callDeposits/openAccount.vue
  97. 5
      src/pages/manage/list/personal/currentAccount/accountCancellation.vue
  98. 4
      src/pages/manage/list/personal/currentAccount/deposit.vue
  99. 376
      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,11 +1,20 @@
<!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">
<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>
@ -13,6 +22,14 @@
</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,19 +1,20 @@
<template>
<div id="app" >
<select-business class="selectBusiness" :showIt.sync="showIt" v-show="!showIt && showBusiness" />
<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 {
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,
@ -22,26 +23,23 @@
},
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')))
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')) {
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)
util.local.set(Setting.storeKey, this.$store.state)
})
},
data() {
data () {
return {
showIt: true,
showSelect: false
showSelect: false,
submited: false
}
},
methods: {
@ -52,18 +50,19 @@
},
watch: {
showIt: {
handler(newVal) {
if(!newVal && !this.businessKey) {
handler (newVal) {
this.submited = sessionStorage.getItem('submited')
if (!newVal && !this.businessKey && !sessionStorage.getItem('submited')) {
this.setShowBusiness(true)
}else {
if(!newVal) {
} else {
if (!newVal) {
//
if(!this.businessKey) {
if (!this.businessKey && !sessionStorage.getItem('submited')) {
this.$nextTick(() => { this.setShowBusiness(true) })
}else {
} else {
// this.setTipsOperate('' + this.businessKey + ',');
}
}else {
} else {
this.$nextTick(() => { this.setShowBusiness(false) })
}
}
@ -71,14 +70,18 @@
immediate: true
}
},
mounted () {
Bus.$on('setShowIt', data => {
this.showIt = data
})
},
computed: {
...mapState({
businessKey: state => state.system.businessKey,
showBusiness: state => state.system.showBusiness,
businessKey: state => state.system.businessKey
})
},
}
}
</script>
<style lang="scss" scoped>
@ -86,15 +89,22 @@
font-size: 16px;
min-width: $inner-width;
}
.selectBusiness {
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;
}

@ -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,14 +9,18 @@ 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 // 请求超时时间
})
let logouted = 0;
// 添加request拦截器
service.interceptors.request.use(config => {
return config
@ -24,79 +30,99 @@ service.interceptors.request.use(config => {
// 添加respone拦截器
service.interceptors.response.use(
response => {
let res={};
res.status=response.status
res.data=response.data;
return res;
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 && error.response.status == 404){
router.push('/blank.vue')
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 reg = new RegExp('(^|&)' + 'token' + '=([^&]*)(&|$)')
if (window.location.href.split('?')[1]) {
var r = window.location.href.split('?')[1].match(reg)
if (r != null){
if (r != null) {
tokens = (r[2])
}else{
} else {
tokens = null
}
}
if(tokens){
if (tokens) {
token = tokens
}else{
} else {
token = sessionStorage.getItem('token')
}
export function get(url, params = {}) {
export function get (url, params = {}) {
// params.t = new Date().getTime(); //get方法加一个时间参数,解决ie下可能缓存问题.
return service({
url: url,
method: 'get',
headers: {
token:token
token: token
},
params
})
}
//封装post请求
export function post(url, data = {}) {
export function post (url, data = {}) {
//默认配置
let sendObject={
let sendObject = {
url: url,
method: 'post',
headers: {
'Content-Type':'application/json;charset=UTF-8',
token:token
'Content-Type': 'application/json;charset=UTF-8',
token: token
},
data:data
data: data
};
sendObject.data=JSON.stringify(data);
sendObject.data = JSON.stringify(data);
return service(sendObject)
}
//封装put方法 (resfulAPI常用)
export function put(url,data = {}){
export function put (url, data = {}) {
return service({
url: url,
method: 'put',
headers: {
'Content-Type':'application/json;charset=UTF-8',
token:token
'Content-Type': 'application/json;charset=UTF-8',
token: token
},
data:JSON.stringify(data)
data: JSON.stringify(data)
})
}
//删除方法(resfulAPI常用)
export function deletes(url){
export function deletes (url) {
return service({
url: url,
method: 'delete',
headers: {
token:token
token: token
}
})
}

@ -1,38 +1,53 @@
// 引入封装好的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 post('/bank/bank/getOperation', {
...params,
assessmentId: sessionStorage.getItem('assessmentId') || '',
competitionId: sessionStorage.getItem('competitionId') || '',
})
}
export const deleteCache = () => {
return post('/bank/bank/deleteCache', {
projectId: sessionStorage.getItem('projectId') || '',
assessmentId: sessionStorage.getItem('assessmentId') || '',
competitionId: sessionStorage.getItem('competitionId') || '',
})
}
export const getOperation= (params) => {
return get( '/bank/bank/getOperation',params)
export const exportBankExperimentReport = (params) => {
return post('/occupationlab/occupationlab/achievement/exportBankExperimentReport', params)
}
export const deleteCache= () => {
return get( '/bank/bank/deleteCache')
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',{
export const checkTest2 = (params) => {
return post('/occupationlab/occupationlab/assessment/pageStuAssessment', {
pageNum: 1,
pageSize: 10000,
...params
@ -40,7 +55,91 @@ export const checkTest2= (params) => {
}
export const reportDetail = (reportId) => {
return get( '/occupationlab/occupationlab/achievement/reportDetail',{
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,5 +1,7 @@
<template>
<div class="sth guide" @click="toPart" alt="">
<div class="sth guide"
@click="toPart"
alt="">
返回
</div>
</template>
@ -7,7 +9,7 @@
<script>
export default {
methods: {
toPart() {
toPart () {
this.$router.push('/index')
}
}
@ -15,13 +17,13 @@ export default {
</script>
<style lang="scss" scoped>
.sth {
.sth {
position: absolute;
&.cp {
cursor: pointer;
}
}
.guide {
}
.guide {
top: 90px;
left: 0;
width: 222px;
@ -29,5 +31,5 @@ export default {
&: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>

@ -1,18 +1,11 @@
<template>
<!-- width="55%" -->
<!-- class="2xl:w-screen xl:w-screen lg:w-full md:w-full h-auto 2xl:left-72" -->
<!-- 这个是自己封装的提示组件 用于系统录入中弹出的授权弹框 业务需求是有些业务需要授权有些业务不需要授权 -->
<el-dialog
:visible="visible"
append-to-body
style="z-index: 6000;"
class="apple"
:close-on-click-modal="true"
:show-close="false"
custom-class="w3w5 bgNone z6000"
>
<!-- width="55%" -->
<!-- class="2xl:w-screen xl:w-screen lg:w-full md:w-full h-auto 2xl:left-72" -->
<!-- 这个是自己封装的提示组件 用于系统录入中弹出的授权弹框 业务需求是有些业务需要授权有些业务不需要授权 -->
<el-dialog :visible="visible" append-to-body style="z-index: 6000;" class="apple" :close-on-click-modal="true"
:show-close="false" custom-class="w3w5 bgNone z6000">
<div class="data-dia23 mx-auto w-9/12 rounded-3xl" :class="{ ['w-full']: flow === 3 }">
<!-- 2xl:w-3/5 xl:w-4/5 lg:w-full -->
<div slot="title" class="dia-header rounded-3xl">
@ -30,7 +23,7 @@
</div>
<!-- 上面说的需要授权的flow为1点击确认后flow变为2弹出授权柜员的账号和密码 -->
<div class="popBody" v-else-if="flow === 2">
<el-form ref="form2" :model="disForm" label-width="200px" >
<el-form ref="form2" :model="disForm" label-width="200px">
<el-form-item label="授权柜员">
<el-input disabled v-model.trim="disForm.name"></el-input>
</el-form-item>
@ -69,16 +62,10 @@
</div>
</el-dialog>
</template>
<script>
import { mapGetters } from 'vuex'
// objmoduleName,
const obj = {
@ -105,8 +92,17 @@ const obj = {
'servicesAccount/passwordChange': '密码修改',
'servicesAccount/passwordLost': '密码挂失登记',
'servicesAccount/relieveLost': '挂失解挂登记',
'business/transfer': '转账',
'controlCash/cashTransferInto': '现金上缴',
'business/deposit': '存款',
'business/withdrawal': '取款',
'onlineBank/openAccount': '网上银行开户',
'foreignExchange/puchasing': '外汇业务购汇',
'foreignExchange/settlement': '外汇业务结汇',
'agent/waterRate': '代收水费',
'agent/electricRate': '代收电费',
'agent/telRate': '代收电话费',
'personalLoans/detail': '新建个人贷款',
'spacial': '提交'
}
@ -126,10 +122,37 @@ const nameMap = {
116: '现金支票'
},
currency: {
12: 'CNY人民币'
12: 'CNY人民币',
153: '美元 现汇',
163: '美元',
164: '澳大利亚元',
165: '加拿大元',
166: '港币',
167: '英镑',
168: '欧元',
169: '日元',
170: '新西兰元',
171: '新加坡元',
172: '泰国铢',
173: '韩元',
174: '新台币(不支持跨进汇款)',
175: '瑞土法郎',
176: '瑞典克朗',
177: '丹麦克朗',
178: '卢布',
179: '挪威克朗',
180: '菲律宾比索(不支持跨进汇款)',
181: '澳门元',
182: '印尼卢比 (不支持跨进汇款)',
183: '巴西里亚尔(不支持跨进汇款)',
184: '阿联酋迪拉姆(不支持跨进汇款)',
185: '印度卢比(不支持跨进汇款)',
186: '印度卢比(南非兰特)',
},
goldLogo: {
13: '钞户'
13: '钞户',
150: '现汇(参考牌价712.34)',
151: '现钞(参考牌价712.34)',
},
accountQuality: {
14: '个人结算户',
@ -286,6 +309,51 @@ const nameMap = {
112: '按月',
113: '满页'
},
openOnlineBanking: {
146: '是',
147: '否'
},
openPhoneBanking: {
148: '是',
149: '否'
},
monthlyWithholding: {
142: '是',
143: '否'
},
numType: {
144: '手机号码',
145: '座机号码'
},
buyForeignPurpose: {
187: '因私旅游',
188: '境外留学',
189: '公务及商务出国',
190: '探亲',
191: '境外就医',
192: '海外购物',
193: '非投资类保险',
194: '咨询服务',
195: '境内外汇储蓄存款',
196: '购买境内外汇理财产品',
197: '职工报酬和婚家款',
198: '专有权利使用费和特许费',
199: '投资收益',
200: '运输',
201: '其他服务',
202: '其他经常转移',
},
fundingSource: {
154: '职工报酬和赡家款',
155: '旅游',
156: '金融和保险服务',
157: '专有权利使用费和特许费',
158: '咨询服务',
159: '其他服务',
160: '投资收益',
161: '其他经常转移',
162: '运输',
},
}
export default {
props: {
@ -312,36 +380,52 @@ export default {
moduleName: {
type: String,
default: 'spacial'
},
spare: {
type: Boolean,
default: true
},
},
data () {
return {
flow: 1, //
disForm: { //
name: '002288',
pass: '123456'
},
leftObj: {}, //
rightObj: {} //
}
},
created() {
created () {
// flow4
if(!this.needAuth) {
if (!this.needAuth) {
this.flow = 4
}
let num = 0;
let num = 0
// 1
for(const key in this.showForm) {
if(!this.showForm[key]) {
for (const key in this.showForm) {
if (!this.showForm[key]) {
continue;
}
if(num%2 === 0) {
if(nameMap[key]) {
if (num % 2 === 0) {
if (nameMap[key]) {
this.leftObj[this.formName[key]] = nameMap[key][this.showForm[key]]
}else {
if(this.formName[key].indexOf('密码') !== -1) {
} else {
if (this.formName[key].indexOf('密码') !== -1) {
this.leftObj[this.formName[key]] = '******'
}else {
} else {
this.leftObj[this.formName[key]] = this.showForm[key]
}
}
}else {
if(nameMap[key]) {
} else {
if (nameMap[key]) {
this.rightObj[this.formName[key]] = nameMap[key][this.showForm[key]]
}else {
if(this.formName[key].indexOf('密码') !== -1) {
} else {
if (this.formName[key].indexOf('密码') !== -1) {
this.rightObj[this.formName[key]] = '******'
}else {
} else {
this.rightObj[this.formName[key]] = this.showForm[key]
}
}
@ -360,21 +444,21 @@ export default {
return str;
}
if(num%2 === 1) {
if (this.spare) {
if (num % 2 === 1) {
//
this.leftObj['流水号'] = tmpFunc2()
this.leftObj['经办机构'] = '国税支行营业部'
this.rightObj['经办柜员'] = '002110'
if(this.depositNumber) {
if (this.depositNumber) {
this.rightObj['定存编号'] = this.depositNumber
}
}else {
} else {
// 31
this.leftObj['流水号'] = tmpFunc2()
this.leftObj['经办机构'] = '国税支行营业部'
this.rightObj['经办柜员'] = '002110'
if(this.depositNumber) {
if (this.depositNumber) {
this.leftObj['定存编号'] = this.depositNumber
}
}
@ -391,76 +475,70 @@ export default {
}
this.rightObj['会计时间'] = tmpFunc()
if (this.leftObj['支取方式'] == 114) this.leftObj['支取方式'] = '印鉴'
console.log("🚀 ~ file: index.vue ~ line 393 ~ created ~ this.rightObj",this.leftObj, this.rightObj, this.showForm,this.formName)
// 002110
},
data() {
return {
flow: 1, //
disForm:{ //
name:'002288',
pass:'123456'
},
leftObj: {}, //
rightObj: {} //
}
},
methods: {
cancel() {
cancel () {
this.visible = false;
},
sureIt() {
if(this.flow === 1) {
sureIt () {
if (this.flow === 1) {
this.flow = 2
}else if(this.flow === 2) {
} else if (this.flow === 2) {
// flow3
this.$emit('submitIt')
this.flow = 3
}else if(this.flow === 4) {
} else if (this.flow === 4) {
// flow3
this.flow = 3
this.$emit('submitIt')
}else {
} else {
// visiblefalse,
this.cancelIt()
}
},
cancelIt() {
cancelIt () {
this.$emit('update:visible', false) // :visible.sync="visible"
}
},
computed: {
//
showItem() {
showItem () {
return (val, key) => {
return key + ': ' + val
}
},
// +
successName() {
return obj[ this.moduleName ] + '成功'
}
successName () {
return obj[this.moduleName] + '成功'
},
...mapGetters({
getSelectList: 'system/getSelectList'
}),
}
}
</script>
<style lang="scss" scoped>
/deep/.w3w5 {
/deep/.w3w5 {
transform: translateY(-100px);
min-width: 1300px;
}
/deep/.w4w5 {
}
/deep/.w4w5 {
min-width: 800px;
}
/deep/.el-dialog {
-webkit-box-shadow:0;
box-shadow: 0 0 0 0!important;
border: 0!important;
}
/deep/.el-dialog {
-webkit-box-shadow: 0;
box-shadow: 0 0 0 0 !important;
border: 0 !important;
// display: none;
}
/deep/.el-form-item {
}
/deep/.el-form-item {
label {
font-family: PingFangSC-Regular;
font-size: 18px;
@ -468,7 +546,8 @@ export default {
letter-spacing: 0.21px;
font-weight: 400;
}
.el-form-item__content{
.el-form-item__content {
padding-left: 30px;
text-align: left;
font-family: PingFangSC-Semibold;
@ -477,33 +556,34 @@ export default {
letter-spacing: 0.24px;
font-weight: 600;
}
}
}
.test {
.test {
position: absolute;
top: 0;
left: 0;
width: 0;
height: 0;
z-index: 9899999;
}
.masking{
}
.masking {
width: 100vw;
height: 100vh;
top: 0;
left: 0;
bottom: 0;
right: 0;
opacity: .5;
background-color: rgba(51,51,51,.9);
}
.data-dia23{
opacity: 0.5;
background-color: rgba(51, 51, 51, 0.9);
}
.data-dia23 {
// position: absolute;
min-width: 40%;
background-color: white;
z-index: 9999;
.popBody {
// width: 100%;
min-height: 30vh;
@ -511,79 +591,85 @@ export default {
padding-bottom: 20px;
display: flex;
align-items: center;
/deep/ .el-form {
height: 100%;
}
}
.dia-header{
.dia-header {
height: 100%;
// position: relative;
.data-title{
// position: relative;
.data-title {
width: 300px;
margin: 0 auto;
line-height: 72px;
text-align: center;
color: #fff;
font-size: 24px;
background: url(../../assets/img/dia-title.png) 0 0/cover no-repeat;
}
background: url(../../assets/img/dia-title.png) 0 0 / cover no-repeat;
}
}
}
/deep/ .el-row {
/deep/ .el-row {
width: 100%;
padding: 0 50px;
}
// /deep/.popbody {
// width: 100vw!important;
// height: 100%!important;
// background-color: red!important;;
// }
.popBtns {
}
// /deep/.popbody {
// width: 100vw!important;
// height: 100%!important;
// background-color: red!important;;
// }
.popBtns {
display: flex;
justify-content: center;
align-items: center;
padding-bottom: 20px;
& > .btn {
&>.btn {
width: 180px;
font-size: 18px;
}
}
}
.myPopBtns {
.myPopBtns {
display: flex;
justify-content: center;
align-items: center;
padding-bottom: 20px;
& > .btn {
&>.btn {
width: 180px;
font-size: 18px;
}
}
}
// /deep/.el-dialog__header, /deep/.el-dialog__body {
// padding: 0;
// border-radius: 16px;
// }
// /deep/.el-dialog {
// position: absolute;
// left: 50%;
// transform: translateX(-25%);
// }
/deep/.bgNone {
// /deep/.el-dialog__header, /deep/.el-dialog__body {
// padding: 0;
// border-radius: 16px;
// }
// /deep/.el-dialog {
// position: absolute;
// left: 50%;
// transform: translateX(-25%);
// }
/deep/.bgNone {
background-color: transparent;
}
/deep/.myFull {
}
/deep/.myFull {
width: 90%;
}
/deep/.el-dialog {
z-index: 9999!important;
}
/deep/.el-dialog__wrapper {
z-index: 9999!important;
}
}
/deep/.el-dialog {
z-index: 9999 !important;
}
/deep/.el-dialog__wrapper {
z-index: 9999 !important;
}
</style>

@ -1,14 +1,7 @@
<template>
<!-- 这个组件原理和dialog一样 -->
<el-dialog
:visible="visible"
append-to-body
style="z-index: 6000;"
class="apple"
:close-on-click-modal="true"
:show-close="false"
custom-class="w4w5 bgNone z6000"
>
<!-- 这个组件原理和dialog一样 -->
<el-dialog :visible="visible" append-to-body style="z-index: 6000;" class="apple" :close-on-click-modal="true"
:show-close="false" custom-class="w4w5 bgNone z6000">
<div class="data-dia23 mx-auto w-9/12 rounded-3xl" :class="{ ['w-full']: flow === 3 }">
<!-- 2xl:w-3/5 xl:w-4/5 lg:w-full -->
<div slot="title" class="dia-header rounded-3xl">
@ -23,8 +16,8 @@
<h2 class="text-red-500 text-2xl">提交后将不可更改您确定要提交吗</h2>
</div>
<div class="popBody" v-else-if="flow === 2">
<el-form ref="form2" :model="disForm" label-width="200px" >
<el-form-item label="授权柜员">
<el-form ref="form2" :model="disForm" label-width="200px">
<el-form-item label="授权柜员">
<el-input disabled v-model.trim="disForm.name"></el-input>
</el-form-item>
<el-form-item label="授权柜员">
@ -95,7 +88,7 @@ const obj = {
'spacial': '提交',
"cityWide/cityWideOut": '同城提出',
"cityWide/cityWideIn": '同城提入',
'acceptanceDraft/invoice': '承兑汇票开票'
'acceptanceDraft/invoice': '承兑汇票开票',
}
const nameMap = {
sex: {
@ -270,32 +263,32 @@ export default {
default: true
}
},
created() {
if(!this.needAuth) {
created () {
if (!this.needAuth) {
this.flow = 4
}
let num = 0;
for(const key in this.showForm) {
if(!this.showForm[key]) {
for (const key in this.showForm) {
if (!this.showForm[key]) {
continue;
}
if(num%2 === 0) {
if(nameMap[key]) {
if (num % 2 === 0) {
if (nameMap[key]) {
this.leftObj[this.formName[key]] = nameMap[key][this.showForm[key]]
}else {
if(this.formName[key].indexOf('密码') !== -1) {
} else {
if (this.formName[key].indexOf('密码') !== -1) {
this.leftObj[this.formName[key]] = '******'
}else {
} else {
this.leftObj[this.formName[key]] = this.showForm[key]
}
}
}else {
if(nameMap[key]) {
} else {
if (nameMap[key]) {
this.rightObj[this.formName[key]] = nameMap[key][this.showForm[key]]
}else {
if(this.formName[key].indexOf('密码') !== -1) {
} else {
if (this.formName[key].indexOf('密码') !== -1) {
this.rightObj[this.formName[key]] = '******'
}else {
} else {
this.rightObj[this.formName[key]] = this.showForm[key]
}
}
@ -330,12 +323,12 @@ export default {
this.rightObj[this.moduleName === 'controlCash/cashTransferInto' ? '上缴日期' : '调入日期'] = tmpFunc()
// 002110
},
data() {
data () {
return {
flow: 1,
disForm:{
name:'002009',
pass:'123456'
disForm: {
name: '002009',
pass: '123456'
},
leftObj: {},
rightObj: {}
@ -344,23 +337,23 @@ export default {
},
methods: {
cancel() {
cancel () {
this.visible = false;
},
sureIt() {
if(this.flow === 1) {
sureIt () {
if (this.flow === 1) {
this.flow = 2
}else if(this.flow === 2) {
} else if (this.flow === 2) {
this.flow = 3
this.$emit('submitIt')
}else if(this.flow === 4) {
} else if (this.flow === 4) {
this.flow = 3
this.$emit('submitIt')
}else {
} else {
this.cancelIt()
}
},
cancelIt() {
cancelIt () {
this.$emit('update:visible', false) // :visible.sync="visible"
}
},
@ -368,64 +361,70 @@ export default {
...mapGetters({
getSelectList: 'system/getSelectList'
}),
showItem() {
showItem () {
return (val, key) => {
return key + ': ' + val
}
},
successName() {
return obj[ this.moduleName ] + '成功'
successName () {
return obj[this.moduleName] + '成功'
},
}
}
</script>
<style lang="scss" scoped>
/deep/ .el-row {
/deep/ .el-row {
width: 100%;
}
/deep/.popbody {
width: 100vw!important;
}
.popBtns {
}
/deep/.popbody {
width: 100vw !important;
}
.popBtns {
display: flex;
justify-content: center;
align-items: center;
& > .btn {
&>.btn {
width: 180px;
border-radius: 10px;
font-size: 18px;
}
}
}
.myPopBtns {
.myPopBtns {
display: flex;
justify-content: center;
align-items: center;
& > .btn {
&>.btn {
width: 180px;
border-radius: 10px;
font-size: 18px;
}
}
}
// /deep/.el-dialog {
// min-height: 50vh;
// }
// /deep/.el-dialog {
// min-height: 50vh;
// }
/deep/.w3w5 {
/deep/.w3w5 {
min-width: 1400px;
}
/deep/.w4w5 {
}
/deep/.w4w5 {
min-width: 800px;
}
/deep/.el-dialog {
-webkit-box-shadow:0;
box-shadow: 0 0 0 0!important;
border: 0!important;
}
/deep/.el-form-item {
}
/deep/.el-dialog {
-webkit-box-shadow: 0;
box-shadow: 0 0 0 0 !important;
border: 0 !important;
}
/deep/.el-form-item {
label {
font-family: PingFangSC-Regular;
font-size: 18px;
@ -433,7 +432,8 @@ export default {
letter-spacing: 0.21px;
font-weight: 400;
}
.el-form-item__content{
.el-form-item__content {
padding-left: 30px;
text-align: left;
font-family: PingFangSC-Semibold;
@ -442,33 +442,34 @@ export default {
letter-spacing: 0.24px;
font-weight: 600;
}
}
}
.test {
.test {
position: absolute;
top: 0;
left: 0;
width: 0;
height: 0;
z-index: 9899999;
}
.masking{
}
.masking {
width: 100vw;
height: 100vh;
top: 0;
left: 0;
bottom: 0;
right: 0;
opacity: .5;
background-color: rgba(51,51,51,.9);
}
.data-dia23{
opacity: 0.5;
background-color: rgba(51, 51, 51, 0.9);
}
.data-dia23 {
// position: absolute;
min-width: 40%;
background-color: white;
z-index: 9999;
.popBody {
// width: 100%;
min-height: 30vh;
@ -476,79 +477,85 @@ export default {
padding-bottom: 20px;
display: flex;
align-items: center;
/deep/ .el-form {
height: 100%;
}
}
.dia-header{
.dia-header {
height: 100%;
// position: relative;
.data-title{
// position: relative;
.data-title {
width: 300px;
margin: 0 auto;
line-height: 72px;
text-align: center;
color: #fff;
font-size: 24px;
background: url(../../assets/img/dia-title.png) 0 0/cover no-repeat;
}
background: url(../../assets/img/dia-title.png) 0 0 / cover no-repeat;
}
}
}
/deep/ .el-row {
/deep/ .el-row {
width: 100%;
padding: 0 50px;
}
// /deep/.popbody {
// width: 100vw!important;
// height: 100%!important;
// background-color: red!important;;
// }
.popBtns {
}
// /deep/.popbody {
// width: 100vw!important;
// height: 100%!important;
// background-color: red!important;;
// }
.popBtns {
display: flex;
justify-content: center;
align-items: center;
padding-bottom: 20px;
& > .btn {
&>.btn {
width: 180px;
font-size: 18px;
}
}
}
.myPopBtns {
.myPopBtns {
display: flex;
justify-content: center;
align-items: center;
padding-bottom: 20px;
& > .btn {
&>.btn {
width: 180px;
font-size: 18px;
}
}
}
// /deep/.el-dialog__header, /deep/.el-dialog__body {
// padding: 0;
// border-radius: 16px;
// }
// /deep/.el-dialog__header, /deep/.el-dialog__body {
// padding: 0;
// border-radius: 16px;
// }
// /deep/.el-dialog {
// position: absolute;
// left: 50%;
// transform: translateX(-25%);
// }
/deep/.bgNone {
// /deep/.el-dialog {
// position: absolute;
// left: 50%;
// transform: translateX(-25%);
// }
/deep/.bgNone {
background-color: transparent;
}
/deep/.myFull {
}
/deep/.myFull {
width: 90%;
}
/deep/.el-dialog {
z-index: 9999!important;
}
/deep/.el-dialog__wrapper {
z-index: 9999!important;
}
}
/deep/.el-dialog {
z-index: 9999 !important;
}
/deep/.el-dialog__wrapper {
z-index: 9999 !important;
}
</style>

@ -1,22 +1,37 @@
<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>
<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 {
export default {
name: 'quill',
components: {
Upload,
},
props: {
value: {
type: String,
@ -39,9 +54,15 @@
},
minHeight: {
type: Number
}
},
//
index: {
type: Number,
default: 0
},
},
data () {
const that = this
return {
Quill: null,
currentValue: '',
@ -56,7 +77,7 @@
'image': function (value) {
if (value) {
// iview
document.querySelector('.editorUpload').click()
document.querySelector("#editorUpload" + that.index).click();
} else {
this.Quill.format('image', false);
}
@ -114,48 +135,71 @@
const editor = this.$refs.editor;
//
this.Quill = new Quill(editor, this.options);
const ins = this.Quill
//
this.Quill.pasteHTML(this.currentValue);
if(this.toTop){
ins.pasteHTML(this.currentValue);
if (this.toTop) {
this.$nextTick(() => {
window.scrollTo(0,0)
window.scrollTo(0, 0)
})
}
//
this.Quill.on('text-change', (delta, oldDelta, source) => {
ins.on('text-change', (delta, oldDelta, source) => {
const html = this.$refs.editor.children[0].innerHTML;
const text = this.Quill.getText();
const text = ins.getText();
const quill = this.Quill;
//
this.currentValue = html;
// v-model.trim
// v-model
this.$emit('input', html);
//
this.$emit('on-change', { html, text, quill });
});
// quill
this.Quill.on('text-change', (delta, oldDelta, source) => {
ins.on('text-change', (delta, oldDelta, source) => {
this.$emit('on-text-change', delta, oldDelta, source);
});
this.Quill.on('selection-change', (range, oldRange, source) => {
ins.on('selection-change', (range, oldRange, source) => {
this.$emit('on-selection-change', range, oldRange, source);
});
this.Quill.on('editor-change', (eventName, ...args) => {
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){
beforeUpload (file) {
this.loading = true
},
editorUploadSuccess (res) {
editorUploadSuccess (file) {
//
let quill = this.Quill
//
if (res.data.filesResult.fileUrl) {
if (file.url) {
//
let length = quill.getSelection().index;
// res
quill.insertEmbed(length, 'image', res.data.filesResult.fileUrl)
quill.insertEmbed(length, 'image', file.url)
//
quill.setSelection(length + 1)
} else {
@ -164,16 +208,16 @@
this.loading = false
},
}
}
}
</script>
<style lang="scss" scoped>
.quill-no-border{
.ql-toolbar.ql-snow{
.quill-no-border {
.ql-toolbar.ql-snow {
border: none;
border-bottom: 1px solid #e8eaec;
}
.ql-container.ql-snow{
.ql-container.ql-snow {
border: none;
}
}
}
</style>

@ -1,22 +1,38 @@
<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">
<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 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="">
<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>
<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>
<el-button type="primary"
@click="selectBusiness()">确定</el-button>
</div>
</div>
</el-dialog>
@ -33,13 +49,14 @@ export default {
// }
// default: ''
},
mounted() {
if(this.businessKey) {
mounted () {
console.log('business', this.getBusinessSelectList)
if (this.businessKey) {
//
this.takeCheck = this.businessKey
}
},
data() {
data () {
return {
checkList: [],
takeCheck: '',
@ -54,13 +71,13 @@ export default {
setShowBusiness: 'system/setShowBusiness',
setTipsOperate: 'system/setTipsOperate',
}),
closeData() {
closeData () {
this.checkList = [];
},
// /
showBusinessSelect (judge) {
//
if(!judge && !this.businessKey) {
if (!judge && !this.businessKey) {
this.$confirm('由于您未选择一个业务,这将回到业务列表,是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
@ -81,17 +98,17 @@ export default {
//
this.setTipsOperate('您正在进行' + this.businessKey + ',加油!');
},
checkTake(myKey){
checkTake (myKey) {
//
if(this.takeCheck === myKey) {
if (this.takeCheck === myKey) {
this.takeCheck = ''
}else {
} else {
this.takeCheck = myKey
}
},
selectBusiness() {
selectBusiness () {
//
if(!this.takeCheck) {
if (!this.takeCheck) {
this.$message({
type: 'info',
message: '请选择一个业务'
@ -102,7 +119,7 @@ export default {
this.setBusinessKey(this.takeCheck)
// this.$store.dispatch('system/getJudgeData')
// id
if(!this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id) {
if (!this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id) {
this.$message({
type: 'info',
message: '业务开发中,尽请期待!'
@ -129,25 +146,27 @@ export default {
sessionStorage.setItem('cid', cid)
sessionStorage.setItem('systemId', systemId)
sessionStorage.setItem('projectId', projectId)
if(assessmentId) {
sessionStorage.setItem('firstLoad2', true)
sessionStorage.removeItem('submited')
if (assessmentId) {
sessionStorage.setItem('assessmentId', assessmentId)
}
if(classId) {
if (classId) {
sessionStorage.setItem('classId', classId)
}
if(timestamp) {
if (timestamp) {
sessionStorage.setItem('timestamp', timestamp)
}
if(startTime) {
if (startTime) {
sessionStorage.setItem('startTime', startTime)
}
if(storeProjectId) {
if (storeProjectId) {
sessionStorage.setItem('storeProjectId', storeProjectId)
}
// sessionStorage.setItem('systemData', systemData)
sessionStorage.setItem('businessKey', this.$store.state.system.businessKey)
sessionStorage.setItem('businessKey', this.takeCheck)
},
},
@ -161,9 +180,9 @@ export default {
})
},
watch: {
showBusiness(newVal) {
showBusiness (newVal) {
console.log('what')
if(newVal) {
if (newVal) {
this.takeCheck = this.businessKey
}
}
@ -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 {
@ -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, ''));
}
}

@ -5,59 +5,76 @@
<img src="../../assets/img/logo.png" alt="">
</div>
<div style="float: right;margin:0 60px;font-size: 18px">
<span style="cursor:pointer" @click="exit">
<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() {
data () {
return {
isDev: Setting.isDev,
token: util.local.get(Setting.tokenKey),
ip: localStorage.getItem('localIp') ? +localStorage.getItem('localIp') : 0,
};
},
mounted(){
mounted () {
this.$route.query.manager ? Cookie.set('manager', 1) : Cookie.remove('manager')
},
methods: {
toIndex(){
...mapMutations({
logout: 'user/logout',
}),
toIndex () {
this.$refs.nav.jump({
index: '/index/list',
title: '首页'
})
},
exit(){
let href = ''
exit () {
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 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 = `${host}/#/ass/list`
}else{
if (assessmentId != 'null' && assessmentId != null && assessmentId != '') {
href += `ass/list`
} else {
const cid = sessionStorage.getItem('cid')
href = `${host}/#/station/preview?courseId=${cid}&curriculumName=银行项目`
href += `station/preview?courseId=${cid}&curriculumName=银行项目&mallId=${this.$route.query.mallId}`
}
sessionStorage.clear()
location.href = href
},
ipChange (val) {
localStorage.setItem('localIp', val)
location.reload()
},
},
watch: {
'$route.path': {
handler(newVal) {
handler (newVal) {
this.$nextTick(() => {
console.log(newVal)
if(newVal === '/index/list') {
if (newVal === '/index/list') {
this.$refs.exitHeader.style.backgroundColor = 'rgb(250, 250, 250)'
}else {
} else {
this.$refs.exitHeader.style.backgroundColor = 'rgb(244, 245, 248)'
}
})
@ -68,22 +85,30 @@ export default {
};
</script>
<style lang="scss" scoped>
.header{
width:100%;
.header {
width: 100%;
display: flex;
align-items: center;
position: relative;
height: 68px;
// background-color: #fff;
background-color: rgb(244,245,248);
background-color: rgb(244, 245, 248);
z-index: 1001;
.logo{
.logo {
width: 500px;
margin-left: 42px;
cursor: pointer;
img{
img {
width: 100%;
}
}
}
}
.ip {
position: fixed;
top: 25px;
left: 500px;
}
</style>

@ -21,7 +21,7 @@ import vFooter from '../footer'
import bus from '@/libs/bus'
import Setting from '@/setting'
export default {
data() {
data () {
return {
tagsList: [],
collapse: false,
@ -33,13 +33,13 @@ export default {
vFooter
},
computed: {
hideNavbar() {
hideNavbar () {
let route = this.$route.name
if(this.hideNavList.includes(route)) return false
if (this.hideNavList.includes(route)) return false
return true
}
},
created() {
created () {
bus.$on('collapse-content', msg => {
this.collapse = msg;
});
@ -55,6 +55,4 @@ export default {
}
};
</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);
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-");
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() //毫秒
"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));
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;
},
// 移除数组中指定值
removeByValue(arr, val) {
removeByValue (arr, val) {
let index = arr.indexOf(val)
index>0?arr.splice(i, 1):''
index > 0 ? arr.splice(i, 1) : ''
// for(var i=0; i<arr.length; i++) {
// if(arr[i] == val) {
// arr.splice(i, 1);
@ -62,42 +62,42 @@ 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) {
x.onload = function (e) {
var url = window.URL.createObjectURL(x.response)
var a = document.createElement('a')
a.href = url
@ -107,7 +107,7 @@ const util = {
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';
@ -53,7 +53,7 @@ Vue.use(VueLazyload, {
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;

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

@ -23,7 +23,7 @@ const obj = {
import { mapGetters } from 'vuex'
export default {
data(){
data () {
return {
unNeed: false,
isNeedBefore: false,
@ -31,22 +31,22 @@ export default {
tipsNefore: null
}
},
created() {
created () {
// 将上次保存的这个模块的数据写上页面,因为上次退出时保存了这个模块的数据(beforeDestroy)
if(sessionStorage.getItem(this.moduleName)) {
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]
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)) {
if (this.inMyWork(this.moduleName)) {
if (this.needsModule(this.moduleName)) {
this.isNeedBefore = true
this.needBefore = this.needsModule(this.moduleName)
}
}else {
} else {
this.isNeedBefore = true
this.unNeed = true
return;
@ -55,26 +55,21 @@ export default {
},
methods: {
// 暴露出外面的方法,可以提交后删除调存在sessionStorage中的的数据,因为有后端缓存了。
clearSaveData() {
clearSaveData () {
sessionStorage.removeItem(this.moduleName)
}
},
beforeDestroy() {
// clearInterval(this.myTipBefore)
// this.myTipBefore = null
beforeDestroy () {
// 这个业务是我们需要的,所以我们存数据
let tmpForm = {}
for(const key in this.form) {
if(this.form[key] !== '') {
for (const key in this.form) {
if (this.form[key] !== '') {
tmpForm[key] = this.form[key]
}
}
// 系统录入当前页面关闭或离开的时候,保存当前模块的数据。回来的时候这些数据还在(业务需求)。
sessionStorage.setItem(this.moduleName, JSON.stringify(tmpForm))
},
computed: {
...mapGetters({

File diff suppressed because it is too large Load Diff

@ -1,6 +1,4 @@
// 刷卡的配置文件,map结构,避免写太多if,else,配置更方便。有很多地方刷银行卡和身份证的。
const myConfig = {
'99': {
nbm: 118,
@ -353,6 +351,117 @@ const myConfig = {
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 {

@ -3,21 +3,19 @@
<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">
<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="" @click="showComing" />
<img width="100%" v-lazy="lazy2" alt="" />
<!-- src="@/assets/img/integrated-counter.png" -->
<!-- <div class="name" @click="showComing">国际结算部</div> -->
<div class="name" @click="toPart('/counter', true)">信贷部</div>
</div>
<!-- <img class="sth international cp" v-lazy="lazy2" alt="" @click="showComing"> -->
@ -30,8 +28,7 @@
<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 class="coming" :class="{ active: comingVisible }">
<div style="width: 20%;margin: auto">
<img style="width: 100%" v-lazy="lazy7" alt="">
</div>
@ -43,10 +40,11 @@
<script>
import { mapMutations, mapState } from 'vuex';
import saveSystemModule from '@/mixins/saveSystemModule'
import Bus from '@/libs/bus'
export default {
name: 'index',
mixins: [ saveSystemModule ],
data() {
mixins: [saveSystemModule],
data () {
return {
caseVisible: true,
comingVisible: false,
@ -60,8 +58,12 @@ export default {
lazy7: require('@/assets/svg/coming.svg')
}
},
created() {
if(!sessionStorage.getItem('firstLoad2')) {
created () {
if (!sessionStorage.getItem('firstLoad2')) {
sessionStorage.clear()
// sessionStorage.removeItem('submited')
// sessionStorage.removeItem('businessKey')
this.setBusinessKey('')
const loading = this.$loading({
lock: true,
// text: 'Loading',
@ -75,17 +77,22 @@ export default {
}, 1000);
}
if(!this.businessKey) {
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() {
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){
let timestamp = +stopTime;
if (token != null) {
sessionStorage.setItem('token', token)
sessionStorage.setItem('cid', cid)
sessionStorage.setItem('systemId', systemId)
@ -100,36 +107,39 @@ export default {
},
methods: {
...mapMutations({
setShowBusiness: 'system/setShowBusiness'
setBusinessKey: 'system/setBusinessKey',
setShowBusiness: 'system/setShowBusiness',
setCredit: 'system/setCredit',
}),
getQueryVariable(name) {
var reg = new RegExp('(^|&)'+name+'=([^&]*)(&|$)')
if( window.location.href.split('?')[1]){
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){
if (r != null) {
return (r[2])
}else{
} else {
return null
}
}
},
toPart(path){
toPart (path, isCredit = false) {
this.setCredit(isCredit)
this.$router.push(path)
},
showComing(){
showComing () {
this.comingVisible = true
clearTimeout(this.timer)
this.timer = setTimeout(() => {
this.comingVisible = false
},1500)
}, 1500)
}
}
};
</script>
<style lang="scss" scoped>
//
@mixin nameTip {
//
@mixin nameTip {
width: 200px;
height: 70px;
line-height: 60px;
@ -142,44 +152,51 @@ export default {
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{
.wrap {
position: relative;
min-height: calc(100vh - 68px);
.sth{
.sth {
position: absolute;
&.cp{
&.cp {
cursor: pointer;
}
}
.bg{
.bg {
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.integrated-counter{
.integrated-counter {
top: -14%;
left: 24%;
width: 43%;
transition: all .5s;
&:hover{
transition: all 0.5s;
&:hover {
margin-top: -10px;
}
.name{
.name {
position: absolute;
top: 23%;
left: 20%;
@include nameTip;
}
}
.international{
.international {
top: -9%;
left: 72%;
width: 28%;
transition: all .5s;
transition: all 0.5s;
// &:hover{
// margin-top: -10px;
// }
@ -189,22 +206,24 @@ export default {
// margin-top: -10px;
// }
// }
.name{
.name {
position: absolute;
top: 23%;
right: 0;
top: 18%;
right: 45%;
@include nameTip;
}
}
.manager{
.manager {
bottom: 0;
left: 57%;
width: 39%;
transition: all .5s;
&:hover{
transition: all 0.5s;
&:hover {
bottom: 10px;
}
.name {
position: absolute;
top: 65%;
@ -212,34 +231,38 @@ export default {
@include nameTip;
}
}
.credit-dep{
.credit-dep {
top: 31%;
left: 0;
width: 20%;
transition: all .5s;
transition: all 0.5s;
// &:hover{
// top: 29%;
// }
}
.company-finance{
.company-finance {
top: 52%;
left: 9%;
width: 28%;
transition: all .5s;
transition: all 0.5s;
// &:hover{
// top: 50%;
// }
}
.personal-finance{
.personal-finance {
bottom: 0;
left: 25%;
width: 30%;
transition: all .5s;
transition: all 0.5s;
// &:hover{
// bottom: 10px;
// }
}
.case{
.case {
position: absolute;
top: 92px;
left: 150px;
@ -249,52 +272,60 @@ export default {
text-align: center;
color: #fff;
font-size: 24px;
background: url(../../../assets/img/case.png) 0 0 /cover no-repeat;
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{
@media (max-width: 1440px) {
.credit-dep {
top: 32%;
}
.company-finance{
.company-finance {
top: 53%;
}
.personal-finance{
.personal-finance {
top: 72%;
}
.integrated-counter{
.integrated-counter {
width: 44%;
}
}
@media(max-width: 1300px){
@media (max-width: 1300px) {
& {
min-height: calc(100vh - 76px);
}
}
}
.coming{
}
.coming {
position: fixed;
top: -200%;
left: 50%;
width: 376px;
padding: 40px 0;
text-align: center;
transform: translate(-50%,-50%);
transform: translate(-50%, -50%);
border-radius: 16px;
background-color: rgba(0,0,0,0.80);
transition: all .3s;
&.active{
background-color: rgba(0, 0, 0, 0.8);
transition: all 0.3s;
&.active {
top: 50%;
}
.text{
.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,9 +1,9 @@
<template>
<!-- :style="full?'height:100vh;':'height: 80vh;'" -->
<div class="box" :class="full? 'h-4/5': ''">
<!-- :style="fullScreen?'height:100vh;':'height: 80vh;'" -->
<div class="box" :class="fullScreen || isCredit ? '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;'">
<!-- <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">
@ -15,9 +15,10 @@
<!-- <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">
<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">
@ -30,126 +31,133 @@
</template>
<script>
import { mapState } from 'vuex'
import navbar from '../navbar'
export default {
name: 'index',
data() {
data () {
return {
fullscreen:this.$store.state.system.fullScreen,// --store
curRoute: ''
}
},
components: {
navbar
},
// beforeMount() {
// const path = sessionStorage.getItem('computerPath')
// console.log('router-view')
// console.log(path)
// this.$router.push(path)
// },
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(){
// 退 退
sessionStorage.setItem('computerPath', this.$route.fullPath)
close () {
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)
handleFullscreen () {
this.$store.commit('system/changeFullscreen', true)
},
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
$font_size_All: 16px; //
$submenu_padding_left: 25px; // padding-left
// /deep/.el-form-item {
// label {
// width: 100px!important;
// text-align-last: justify;
// }
// /deep/.el-form-item {
// label {
// width: 100px!important;
// text-align-last: justify;
// }
// }
// }
@media screen and (min-width: 1920px) {
@media screen and (min-width: 1920px) {
/deep/.body {
min-height: 50vh;
}
}
}
@media screen and (min-width: 1200px) and (max-width: 1700px) {
@media screen and (min-width: 1200px) and (max-width: 1700px) {
/deep/.body {
min-height: 50vh;
}
}
}
// .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{
// .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{
.nav {
width: 270px;
min-height: 80vh;
border-top-left-radius: 20px;
border-bottom-left-radius: 20px;
display: flex;
flex-direction: column;
.top{
.top {
height: 50px;
font-size: 20px;
display: flex;
align-items: center;
text-align: center;
border-top-left-radius: 15px;
color: #B3B3B3;
color: #b3b3b3;
background: #222428;
p{
p {
font-size: 21px;
}
}
.body{
.body {
flex: 1;
.el-menu {
height: 100%;
}
}
}
.manage-layout{
.manage-layout {
width: calc(100% - 270px);
// background: #fff;
background:transparent;
background: transparent;
display: flex;
flex-direction: column;
.top{
.top {
height: 50px;
font-size: 30px;
display: flex;
@ -159,17 +167,20 @@ export default {
color: #000;
background: #e6e6e6;
border-top-right-radius: 20px;
i{
i {
margin-right: 10px;
cursor: pointer;
}
}
.manage-content{
.manage-content {
flex: 1;
position: relative;
border-bottom-right-radius: 20px;
overflow: hidden;
.manage-view{
.manage-view {
position: absolute;
top: 0;
bottom: 0;
@ -177,126 +188,141 @@ export default {
}
}
}
}
.fade-enter-active, .fade-leave-active {
transition: opacity .5s;
}
.fade-enter, .fade-leave-to /* .fade-leave-active below version 2.1.8 */ {
}
.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{
}
// el-input
/deep/ .el-input input {
&:focus {
border-color: skyblue;
}
}
}
//
/deep/ .is-error input {
border-color: #f40!important;;
}
//
/deep/ .is-error input {
border-color: #f40 !important;
}
/deep/.el-input {
/deep/.el-input {
// width: 15vw!important;
width: 100%;
input {
font-size: $font_size_All!important;
font-size: $font_size_All !important;
}
}
}
/deep/ .text-xl p {
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-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/ .el-submenu {
padding-left: $submenu_padding_left !important;
}
/deep/ .title p {
font-size: $font_size_All!important;
}
/deep/ .idCard 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-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/ .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;
font-size: $font_size_All !important;
}
}
/deep/ .idCard {
// width: 15vw;
width: 100%;
}
}
@media screen and (min-width: 1200px) and (max-width: 1900px) {
.box{
}
@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;
.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;
color: #b3b3b3;
background: #222428;
}
.body{
.body {
// flex: 1;
// height: calc(80vh-10vh);
overflow: auto;
background-color: #313540;
}
}
.manage-layout{
.manage-layout {
width: calc(100% - 270px);
min-height: 80vh;
overflow: auto;
// background: #fff;
background:transparent;
background: transparent;
display: flex;
flex-direction: column;
box-sizing: border-box;
.top{
min-height: 10vh;
.top {
font-size: 30px;
display: flex;
justify-content: flex-end;
@ -305,15 +331,18 @@ export default {
color: #000;
background: #e6e6e6;
border-top-right-radius: 20px;
i{
i {
margin-right: 10px;
cursor: pointer;
}
}
.manage-content{
.manage-content {
flex: 1;
position: relative;
.manage-view{
.manage-view {
position: absolute;
top: 0;
bottom: 0;
@ -322,6 +351,5 @@ export default {
}
}
}
}
}
</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) => {
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) => {
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)=>{
})

@ -10,26 +10,19 @@
</el-menu>
</div>
<div class="title">
<p>现金</p>
<p>现金</p>
<i class="el-icon-arrow-right"></i>
<p>现金管理</p>
<i class="el-icon-arrow-right"></i>
<p>{{textObj[activeIndex]}}</p>
<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"
>
<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>
@ -51,29 +44,29 @@ import cashPaid from './cashPaid.vue'
import cashOut from './cashOut.vue'
export default {
name: 'index',
components:{
components: {
cashRecipients,
cashTransferInto,
cashPaid,
cashOut
},
data() {
data () {
return {
text:'',/* 顶部文字 */
text: '',/* 顶部文字 */
cacheVal: '',
textObj:{
'1':'现金领用',
'2':'现金上缴',
'3':'现金调入',
'4':'现金调出',
textObj: {
'1': '现金领用',
'2': '现金上缴',
'3': '现金调入',
'4': '现金调出',
},
form:{
form: {
},
visible:false,
options:[],
activeIndex:'',
second:[//
visible: false,
options: [],
activeIndex: '',
second: [//
],
@ -82,42 +75,45 @@ export default {
}
},
methods: {
handleSelect(val){
handleSelect (val) {
this.text = this.textObj[val]
this.activeIndex = val
this.cacheVal = val
},
},
created() {
if(sessionStorage.getItem('importantCashIndex')) {
created () {
if (sessionStorage.getItem('importantCashIndex')) {
this.handleSelect(sessionStorage.getItem('importantCashIndex'))
}else {
} else {
this.handleSelect('1')
}
},
destroyed() {
destroyed () {
sessionStorage.setItem('importantCashIndex', this.cacheVal)
}
};
</script>
<style lang="scss" scoped>
.wrap{
.wrap {
width: 100%;
display: flex;
flex-direction: column;
overflow: hidden;
padding: 24px 0 24px 24px;
.nav{
/deep/ .el-menu.el-menu--horizontal{
.nav {
/deep/ .el-menu.el-menu--horizontal {
border: 0;
}
/deep/ .el-menu--horizontal > .el-menu-item.is-active{
border:2px solid #568DF2;
/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{
/deep/ .el-menu--horizontal>.el-menu-item {
border: 2px solid transparent;
border-radius: 10px;
margin-right: 10px;
@ -125,7 +121,8 @@ export default {
line-height: 28px;
}
}
.title{
.title {
height: 60px;
display: flex;
align-items: center;
@ -133,11 +130,13 @@ export default {
padding-left: 0px;
margin-top: 10px;
}
.body{
.body {
margin-top: 50px;
overflow-y: auto;
overflow-x: hidden;
.idCard{
.idCard {
border-radius: 5px;
background: #CFDDFF;
text-align: center;
@ -146,9 +145,11 @@ export default {
font-size: 18px;
color: #6191FF;
}
.add{
.add {
position: relative;
&::after{
&::after {
content: '';
display: block;
position: absolute;
@ -158,16 +159,18 @@ export default {
width: 88%;
height: 268px;
}
.addBtn{
.addBtn {
position: absolute;
left: 0;
top: 50%;
transform: translate(50%,-50%);
transform: translate(50%, -50%);
font-size: 22px;
}
}
}
.submitBtn{
.submitBtn {
position: relative;
width: 300px;
font-size: 18px;
@ -176,32 +179,37 @@ export default {
border-radius: 10px;
bottom: 10px;
left: 50%;
transform: translate(-50%,-50%);
transform: translate(-50%, -50%);
}
.popBody{
.popBody {
min-height: 200px;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
}
.popBtns{
.popBtns {
display: flex;
justify-content: space-between;
align-items: center;
.btn{
.btn {
width: 180px;
border-radius: 10px;
font-size: 18px;
}
.close{
.close {
background: #CFDEFF;
color: #6191FF;
}
.sure{
.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)=>{
})

@ -10,28 +10,21 @@
</el-menu>
</div>
<div class="title">
<p>现金</p>
<p>现金</p>
<i class="el-icon-arrow-right"></i>
<p>凭证管理</p>
<i class="el-icon-arrow-right"></i>
<p>{{textObj[activeIndex]}}</p>
<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"
>
<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>
@ -53,29 +46,29 @@ import cashPaid from './cashPaid.vue'
import cashOut from './cashOut.vue'
export default {
name: 'index',
components:{
components: {
cashRecipients,
cashTransferInto,
cashPaid,
cashOut
},
data() {
data () {
return {
text:'',/* 顶部文字 */
text: '',/* 顶部文字 */
cacheVal: '',
textObj:{
'1':'凭证领用',
'2':'凭证上缴',
'3':'凭证调入',
'4':'凭证调出',
textObj: {
'1': '凭证领用',
'2': '凭证上缴',
'3': '凭证调入',
'4': '凭证调出',
},
form:{
form: {
},
visible:false,
options:[],
activeIndex:'1',
second:[//
visible: false,
options: [],
activeIndex: '1',
second: [//
],
@ -83,18 +76,18 @@ export default {
}
},
created() {
if(sessionStorage.getItem('importantCashIndex2')) {
created () {
if (sessionStorage.getItem('importantCashIndex2')) {
this.handleSelect(sessionStorage.getItem('importantCashIndex2'))
}else {
} else {
this.handleSelect('1')
}
},
destroyed() {
destroyed () {
sessionStorage.setItem('importantCashIndex2', this.cacheVal)
},
methods: {
handleSelect(val){
handleSelect (val) {
this.text = this.textObj[val]
this.activeIndex = val
this.cacheVal = val
@ -106,22 +99,25 @@ export default {
</script>
<style lang="scss" scoped>
.wrap{
.wrap {
width: 100%;
display: flex;
flex-direction: column;
overflow: hidden;
padding: 24px 0 24px 24px;
.nav{
/deep/ .el-menu.el-menu--horizontal{
.nav {
/deep/ .el-menu.el-menu--horizontal {
border: 0;
}
/deep/ .el-menu--horizontal > .el-menu-item.is-active{
border:2px solid #568DF2;
/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{
/deep/ .el-menu--horizontal>.el-menu-item {
border: 2px solid transparent;
border-radius: 10px;
margin-right: 10px;
@ -129,7 +125,8 @@ export default {
line-height: 28px;
}
}
.title{
.title {
height: 60px;
display: flex;
align-items: center;
@ -137,11 +134,13 @@ export default {
padding-left: 0px;
margin-top: 10px;
}
.body{
.body {
margin-top: 50px;
overflow-x: hidden;
overflow-y: auto;
.idCard{
.idCard {
border-radius: 5px;
background: #CFDDFF;
text-align: center;
@ -150,9 +149,11 @@ export default {
font-size: 18px;
color: #6191FF;
}
.add{
.add {
position: relative;
&::after{
&::after {
content: '';
display: block;
position: absolute;
@ -162,16 +163,18 @@ export default {
width: 88%;
height: 268px;
}
.addBtn{
.addBtn {
position: absolute;
left: 0;
top: 50%;
transform: translate(50%,-50%);
transform: translate(50%, -50%);
font-size: 22px;
}
}
}
.submitBtn{
.submitBtn {
position: relative;
width: 300px;
font-size: 18px;
@ -180,40 +183,45 @@ export default {
border-radius: 10px;
bottom: 10px;
left: 50%;
transform: translate(-50%,-50%);
transform: translate(-50%, -50%);
}
.popBody{
.popBody {
min-height: 200px;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
}
.popBtns{
.popBtns {
display: flex;
justify-content: space-between;
align-items: center;
.btn{
.btn {
width: 180px;
border-radius: 10px;
font-size: 18px;
}
.close{
.close {
background: #CFDEFF;
color: #6191FF;
}
.sure{
.sure {
background: #6191FF;
color: #fff;
}
}
}
}
/deep/.el-input input {
/deep/.el-input input {
text-align: center;
}
}
/deep/ .blueText{
/deep/ .blueText {
color: blue;
}
}
</style>

@ -8,13 +8,14 @@
<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-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">
@ -31,7 +32,8 @@
</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-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">
@ -40,31 +42,35 @@
</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-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-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-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-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-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-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" />
<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>
@ -82,20 +88,20 @@ const moduleName = 'controlCash3/index'
export default {
name: 'index',
mixins: [ TipsBefore ],
components:{
mixins: [TipsBefore],
components: {
NeedBefore,
MyDialog,
MyTitle
},
data() {
data () {
return {
moduleName,
visible: false,
unNeed: false,
isNeedBefore: '',
needBefore: '',
form:{
form: {
//
username: '', //
startNumber: '', //
@ -109,7 +115,7 @@ export default {
cost: '', //
abstract: '' //
},
formName:{
formName: {
//
username: '账号', //
startNumber: '凭证起始号', //
@ -203,52 +209,54 @@ export default {
trigger: 'blur'
}
],
}
},
submited: 0
}
},
created() {
created () {
// this.handleSelect(1)
if(this.inMyWork(moduleName)) {
if(this.needsModule(moduleName) === '') {
if (this.inMyWork(moduleName)) {
if (this.needsModule(moduleName) === '') {
}else {
} else {
this.isNeedBefore = true
this.needBefore = this.needsModule(moduleName)
}
}else {
} else {
this.isNeedBefore = true
this.unNeed = true
}
},
mounted() {
mounted () {
this.$refs.username.focus()
},
methods: {
...mapMutations({
setTipsOperate: 'system/setTipsOperate'
}),
onBlur() {
if(this.form.username) {
onBlur () {
if (this.form.username) {
const { collectingCompany } = this.dataFlow
this.form.customerName = collectingCompany
}else {
} else {
this.form.customerName = ''
}
},
getBlur() {
getBlur () {
const number = Number(this.form.endNumber) - Number(this.form.startNumber)
if(number<0 || this.form.endNumber.length<this.form.startNumber.length) {
if (number < 0 || this.form.endNumber.length < this.form.startNumber.length) {
this.form.number = 0
return
}
this.form.number = number
},
submitIt() {
submitIt () {
if (this.submited) return this.$message.error('已提交!')
this.$refs.form.validate(myValidate(() => {
if(this.form.number <= 0) {
if (this.form.number <= 0) {
// this.$message({
// message: ',',
// type: 'warning',
@ -257,7 +265,7 @@ export default {
this.setTipsOperate('结束号码应大于起始号码')
return
}
if(this.form.startNumber.length !== this.form.endNumber.length) {
if (this.form.startNumber.length !== this.form.endNumber.length) {
this.setTipsOperate('凭证起始号和凭证终止号长度不同,请检查')
return
}
@ -265,12 +273,13 @@ export default {
}, this.$refs));
},
submitForm2() {
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,
@ -289,37 +298,41 @@ export default {
</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{
.wrap {
width: 100%;
display: flex;
flex-direction: column;
overflow: auto;
padding: 24px 0 24px 24px;
.nav{
/deep/ .el-menu.el-menu--horizontal{
.nav {
/deep/ .el-menu.el-menu--horizontal {
border: 0;
}
/deep/ .el-menu--horizontal > .el-menu-item.is-active{
border:2px solid #568DF2;
/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{
/deep/ .el-menu--horizontal>.el-menu-item {
border: 2px solid transparent;
border-radius: 10px;
margin-right: 10px;
@ -327,7 +340,8 @@ export default {
line-height: 28px;
}
}
.title{
.title {
height: 60px;
display: flex;
align-items: center;
@ -335,10 +349,12 @@ export default {
padding-left: 0px;
margin-top: 10px;
}
.body{
.body {
margin-top: 50px;
overflow: auto;
.idCard{
.idCard {
border-radius: 5px;
background: #CFDDFF;
text-align: center;
@ -347,9 +363,11 @@ export default {
font-size: 18px;
color: #6191FF;
}
.add{
.add {
position: relative;
&::after{
&::after {
content: '';
display: block;
position: absolute;
@ -359,16 +377,18 @@ export default {
width: 88%;
height: 268px;
}
.addBtn{
.addBtn {
position: absolute;
left: 0;
top: 50%;
transform: translate(50%,-50%);
transform: translate(50%, -50%);
font-size: 22px;
}
}
}
.submitBtn{
.submitBtn {
position: relative;
width: 200px;
font-size: 18px;
@ -377,11 +397,11 @@ export default {
border-radius: 10px;
bottom: 10px;
left: 50%;
transform: translate(-50%,-20%);
}
transform: translate(-50%, -20%);
}
}
.el-select {
.el-select {
width: 279.17px;
}
}
</style>

@ -1,85 +1,170 @@
<template>
<div class="wrap">
<div class="wrap2">
<MyTitle :titleArr="['银行承兑汇票', '承兑汇票开票']"/>
<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 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 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 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 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 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 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-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-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 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-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 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 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-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 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-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 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 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 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' />
<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>
@ -100,13 +185,13 @@ export default {
MyTitle,
MyDialog
},
mixins: [ TipsBefore ],
data() {
mixins: [TipsBefore],
data () {
return {
// my-dialog
visible: false,
moduleName,
form:{
form: {
//
accountNumber: '', //
collectionNumber: '', //
@ -129,7 +214,7 @@ export default {
serviceCharge: '' //
},
formName:{
formName: {
//
accountNumber: '出票人账号', //
collectionNumber: '收款人账号', //
@ -168,6 +253,13 @@ export default {
trigger: 'blur'
}
],
billType: [
{
required: true,
message: '请选择票据类型',
trigger: 'blur'
}
],
ApplicantDocuments: [
{
required: true,
@ -325,46 +417,49 @@ export default {
},
myTable: {
},
submited: 0
}
},
created() {
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)
if (this.form.moneyOrderNumber) {
this.form.moneyOrderNumber = (this.form.moneyOrderNumber + '').padStart(8, 0)
}
//
this.form.moneyOrderMoney = '6.89'
this.form.serviceCharge = '5.89'
},
mounted() {
mounted () {
this.$refs.accountNumber.focus()
},
methods: {
//
// myValidateelement-uivalidate
submitForm(){
submitForm () {
if (this.submited) return this.$message.error('已提交!')
this.$refs.form.validate(myValidate(() => {
this.visible = true
}, this.$refs));
},
submitForm2() {
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) {
getBlur () {
if (this.form.accountNumber) {
this.form.accountTradeName = '商业银行'
}
},
//
getBlur2() {
if(this.form.collectionNumber) {
getBlur2 () {
if (this.form.collectionNumber) {
this.form.collectionTradeName = '中交商业银行'
}
},
@ -379,13 +474,13 @@ export default {
</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,76 +1,154 @@
//
<template>
<div class="wrap wrap2">
<MyTitle :titleArr="['公司业务', text]"/>
<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-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-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-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-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-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 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 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-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-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-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-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-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 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" />
<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>
@ -91,17 +169,17 @@ import TipsBefore from '@/mixins/tipsBefore'
export default {
name: 'index',
components:{
components: {
MyTitle,
NeedBefore,
MyDialog
},
data() {
data () {
return {
moduleName: 'business/openAccount',
text:'开户',/* 顶部文字 */
text: '开户',/* 顶部文字 */
visible: false,
form:{
form: {
//
customerName: '', //
accountQuality: '', //
@ -118,7 +196,7 @@ export default {
foreignCurrencyBumber: '', //
foreignCurrencyCertificate: '' //
},
formName:{
formName: {
//
customerName: '客户姓名', //
accountQuality: '账户性质', //
@ -194,11 +272,11 @@ export default {
}
]
},
second:[//
second: [//
],
options:[],
activeIndex:'1',
options: [],
activeIndex: '1',
// if(this.form.customerNumber){
// formList.push({ "answerId":'228', "emptyOne": "19", "emptyTwo": this.form.customerNumber, "operationIds": parentId + ',228', "type": "3" })//
// }
@ -276,15 +354,16 @@ export default {
type: '1',
"subjectId": 13,
}
}
},
submited: 0
}
},
mixins: [ TipsBefore ],
created() {
mixins: [TipsBefore],
created () {
// if(this.isNeedBefore) {
// return
// }
if(this.dataFlow.corporateClient) {
if (this.dataFlow.corporateClient) {
const { peopleNumber, userName } = this.dataFlow
this.form.customerName = userName
this.form.customerNumber = peopleNumber
@ -300,14 +379,15 @@ export default {
setPopId: 'system/setPopId',
setTipsOperate: 'system/setTipsOperate'
}),
getFormData(){
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(){
submitForm () {
// let projectId = sessionStorage.getItem('projectId')
// let startTime = sessionStorage.getItem('startTime')
if(!this.form.customerName) {
if (this.submited) return this.$message.error('已提交!')
if (!this.form.customerName) {
this.setTipsOperate('请先完成 客户信息 -> 公司客户信息建立');
return;
}
@ -316,10 +396,11 @@ export default {
this.visible = true;
}, this.$refs));
},
submitForm2(){
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
@ -337,13 +418,13 @@ export default {
</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,34 +1,33 @@
//
<template>
<div class="wrap wrap2">
<MyTitle :titleArr="['公司业务', text]"/>
<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-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-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 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-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-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>
@ -37,7 +36,8 @@
</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-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">
@ -47,7 +47,8 @@
</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-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">
@ -56,7 +57,8 @@
</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-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>
@ -65,7 +67,8 @@
</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" />
<my-dialog :moduleName="moduleName" v-if="visible" :visible.sync="visible" :showForm="form" :formName="formName"
@submitIt="submitForm2" :needAuth="needAuth" />
</div>
</div>
<!-- <need-before v-else :moduleName='needBefore' :unNeed="unNeed" class="wrap" /> -->
@ -84,18 +87,18 @@ import NeedBefore from '@/components/needBefore'
import MyDialog from '@/components/dialog'
export default {
name: 'index',
components:{
components: {
MyTitle,
NeedBefore,
MyDialog
},
mixins: [ TipsBefore ],
data() {
mixins: [TipsBefore],
data () {
return {
moduleName: 'business/transfer',
text:'转账',/* 顶部文字 */
text: '转账',/* 顶部文字 */
visible: false,
form:{
form: {
//
transoutNum: '', //
certificateNum: '', //
@ -111,7 +114,7 @@ export default {
payWay: '', //
abstract: '', //
},
formName:{
formName: {
//
transoutNum: '转出账号', //
certificateNum: '凭证号码', //
@ -166,12 +169,12 @@ export default {
],
},
second:[//
second: [//
],
visible:false,
options:[],
activeIndex:'1',
visible: false,
options: [],
activeIndex: '1',
myTable: {
257: {
prop: 'transoutNum',
@ -235,16 +238,17 @@ export default {
type: '1',
"subjectId": 13,
}
}
},
submited: 0
}
},
created() {
if(this.isNeedBefore) {
created () {
if (this.isNeedBefore) {
return
}
this.getFormData()
},
mounted() {
mounted () {
},
methods: {
...mapMutations({
@ -253,7 +257,7 @@ export default {
setNeedsModule: 'system/setNeedsModule',
setPopId: 'system/setPopId'
}),
getBlurData() {
getBlurData () {
// transoutNum: '', //
// certificateNum: '', //
// customerName: '', //
@ -267,7 +271,7 @@ export default {
// signDate: '', //
// payWay: '', //
// abstract: '', //
if(this.form.transoutNum) {
if (this.form.transoutNum) {
const { currency } = this.dataFlow
this.form.currencyMark = 13
this.form.signDate = '2021-01-05'
@ -276,20 +280,22 @@ export default {
this.form.payWay = 114
}
},
getFormData(){
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() {
submitForm () {
if (this.submited) return this.$message.error('已提交!')
this.$refs.form.validate(myValidate(() => {
this.visible = true;
}, this.$refs));
},
submitForm2() {
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,
@ -303,7 +309,7 @@ export default {
inMyWork: 'system/inMyWork',
getSelectList: 'system/getSelectList'
}),
needAuth() {
needAuth () {
return this.form.money >= 50000
}
}
@ -311,16 +317,17 @@ export default {
</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;
}
}
}
</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,79 +1,133 @@
//
<template>
<div class="wrap wrap2">
<MyTitle :titleArr="['同城交互', '同城提出']"/>
<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-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-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 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 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-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-form-item label="出票日期"
prop="drawBillDate">
<el-date-picker
v-model.trim="form.drawBillDate"
<el-date-picker v-model.trim="form.drawBillDate"
type="date"
placeholder="选择日期"
ref="drawBillDate"
format="yyyy-MM-dd"
value-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-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 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-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-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 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 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 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" />
<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>
@ -88,18 +142,18 @@ const moduleName = "cityWide/cityWideOut"
import { getSubjectInfo, addOperation, getOperation } from '@/api/http';
export default {
name: 'index',
components:{
components: {
MyTitle,
MyDialog
},
mixins: [ TipsBefore ],
data() {
mixins: [TipsBefore],
data () {
return {
text:'存款',/* 顶部文字 */
text: '存款',/* 顶部文字 */
visible: false,
// billTypeSelect: [],
moduleName,
form:{
form: {
//
shroffAccountNumber: '', //
money: '', //
@ -184,7 +238,7 @@ export default {
],
billType: [
{
required: true,
required: false,
message: '请选择票据类型',
trigger: 'blur'
}
@ -283,10 +337,11 @@ export default {
"subjectId": '61',
},
},
visible:false
visible: false,
submited: 0
}
},
created() {
created () {
const tmpFunc = () => {
const date = new Date()
var y = date.getFullYear();
@ -300,62 +355,57 @@ export default {
// this.form.billType = this.billTypeSelect[0].itemId;
},
mounted() {
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() {
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() {
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": '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": '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"})
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,
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)=>{
})
// addOperation(params).then((data) => {
// this.submited = 1
// }).catch((error) => {
// })
},
getFocus() {
getFocus () {
// console.log('test')
if(!this.form.shroffAccountNumber) {
if (!this.form.shroffAccountNumber) {
this.$message({
message: '请先输入本行收款账号',
center: true,
@ -365,8 +415,8 @@ export default {
}
},
getBlur() {
if(this.form.shroffAccountNumber) {
getBlur () {
if (this.form.shroffAccountNumber) {
this.form.shroffAccountUsername = this.dataFlow.userName
}
},
@ -388,16 +438,16 @@ export default {
</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;
}
}
}
</style>

@ -1,7 +1,7 @@
//
<template>
<div class="wrap wrap2">
<MyTitle :titleArr="['客户信息', '个人客户信息建立']"/>
<MyTitle :titleArr="['客户信息', '个人客户信息建立']" />
<div class="body">
<el-row :gutter="20">
@ -9,27 +9,22 @@
<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 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-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"
<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-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">
@ -50,22 +45,15 @@
:value="item.id"
>
</el-option> -->
<el-option
:key="1"
label="男"
:value="1"
>
<el-option :key="1" label="男" :value="1">
</el-option>
<el-option
:key="2"
label="女"
:value="2"
>
<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-input :value="form.phone" @input="(val) => phoneListen(val, form, 'phone')" maxlength="12"
ref='phone'></el-input>
</el-form-item>
</el-col>
@ -74,13 +62,14 @@
<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()" />
<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';
@ -95,35 +84,35 @@ import NeedBefore from '@/components/needBefore'
const moduleName = 'consumerClient'
export default {
name: 'consumerClient',
data() {
data () {
return {
moduleName: 'consumerClient',
idNumberJudge: false,
visible:false,//
form:{
idType:83,//
idNumber:'',//
userName:'',//
sex:'',//
birthday:null,//
nationality:'',//
mailbox:'',//
phone:'',//
visible: false,//
form: {
idType: 83,//
idNumber: '',//
userName: '',//
sex: '',//
birthday: null,//
nationality: '',//
mailbox: '',//
phone: '',//
peopleNumber: '',
},
formName: {
idType: '证件类型',
idNumber:'证件号码',
userName:'客户名字',
sex:'性别',
birthday:'出生日期',
nationality:'民族',
mailbox:'通讯地址',
phone:'联系电话',
idNumber: '证件号码',
userName: '客户名字',
sex: '性别',
birthday: '出生日期',
nationality: '民族',
mailbox: '通讯地址',
phone: '联系电话',
peopleNumber: '客户号'
},
rules: {
userName: vercustomer ,
userName: vercustomer,
phone: [
{
required: true,
@ -145,17 +134,17 @@ export default {
},
authorization:false,//
success:false,//
papers:[
{name:'身份证',id:1}
authorization: false,//
success: false,//
papers: [
{ name: '身份证', id: 1 }
],
options:[],
gender:[
{name:'男',id:1},
{name:'女',id:2},
options: [],
gender: [
{ name: '男', id: 1 },
{ name: '女', id: 2 },
],
nations : [
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" },
@ -214,6 +203,7 @@ export default {
{ "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: {
@ -221,11 +211,11 @@ export default {
MyDialog,
NeedBefore
},
created() {
created () {
// if(this.isNeedBefore) {
// return
// }
if(sessionStorage.getItem('nomClientIdentity')) {
if (sessionStorage.getItem('nomClientIdentity')) {
this.idNumberJudge = true
const { userName, sex, birthday, nationality, mailbox, idNumber } = this.dataFlow
this.form.idNumber = idNumber
@ -245,36 +235,36 @@ export default {
this.getFormData()
},
mixins: [ TipsBefore ],
mounted() {
mixins: [TipsBefore],
mounted () {
},
methods: {
//
submitIt() {
submitIt () {
// this.setDataFlow({name: 'userName', val: ''})
// console.log(this.dataFlow)
},
getFormData(){
let param= {
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) {
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 == '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}
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 }
}
}
@ -286,7 +276,7 @@ export default {
// this.form[tt1] = tt1[key]
// }
// }
}).catch((error)=>{
}).catch((error) => {
// const tt1 = JSON.parse(sessionStorage.getItem('tt1'))
// console.log('2-tt1')
// console.log(tt1)
@ -308,7 +298,7 @@ export default {
setPopId: 'system/setPopId',
setTipsOperate: 'system/setTipsOperate'
}),
popUp(){//
popUp () {//
// this.$store.commit('system/changePop',{show:true,text:'',id:'33'})
// this.changeShowGoods(true)
// this.$store.commit('system/changePop',{show: false, text: '', id:'33'})
@ -319,11 +309,12 @@ export default {
this.$router.push('/counter/list/')
},
//
submitForm(){
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) {
if (!this.form.idNumber) {
messageIdCard()
return
}
@ -331,9 +322,9 @@ export default {
// this.form.birthday = this.form.birthday.slice(0, 10)
this.form.peopleNumber = randomPeopleNumber()
this.visible = true;
} , this.$refs));
}, this.$refs));
},
submitForm2() {
submitForm2 () {
let nomClientIdentity = sessionStorage.getItem('nomClientIdentity')
let consumerClientDragList = JSON.parse(nomClientIdentity);
let projectId = sessionStorage.getItem('projectId')
@ -342,70 +333,71 @@ export default {
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": '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',
"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",//
"operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,25,33,43",//
"type": "1"
})
}
if(this.form.nationality){
if (this.form.nationality) {
formList.push({
"answerId":'45',
"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",//
"operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,25,33,45",//
"type": "1"
})
}
if(this.form.mailbox){
if (this.form.mailbox) {
formList.push({
"answerId":'46',
"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",//
"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"}//
{ "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= {
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,
lcJudgmentRuleReq: formList,
projectId: +projectId,
startTime: startTime,
}
addOperation(params).then((data)=>{
addOperation(params).then((data) => {
// this.$message({
// message: '',
// type: 'success'
// });
this.setNeedsModule(moduleName)
this.setDataFlow({ ...this.form })
}).catch((error)=>{
this.submited = 1
}).catch((error) => {
this.setTipsOperate('服务器繁忙哦,提交失败。')
})
},
throttle(fn,wait=1000){//
throttle (fn, wait = 1000) {//
var timer = null;
return function(){
return function () {
var context = this;
var args = fn;
if(!timer){
timer = setTimeout(function(){
fn.apply(context,fn);
if (!timer) {
timer = setTimeout(function () {
fn.apply(context, fn);
timer = null;
},wait)
}, wait)
}
}
},
@ -425,18 +417,18 @@ export default {
</script>
<style lang="scss" scoped>
.wrap{
.wrap {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
overflow: auto;
padding: 24px 0 24px 24px;
.body{
.body {
margin-top: 50px;
overflow-y: auto;
overflow-x: hidden;
}
}
</style>

@ -1,58 +1,106 @@
//
<template>
<div class="wrap2 wrap">
<MyTitle :titleArr="['客户信息', '公司客户信息建立']"/>
<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 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 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 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 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'>
<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>
<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 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-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-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-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 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>
<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" />
<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" /> -->
@ -76,15 +124,15 @@ export default {
NeedBefore,
MyDialog
},
mixins: [ TipsBefore ],
data() {
mixins: [TipsBefore],
data () {
return {
moduleName: 'corporateClient',
idNumberJudge: false,
visible:false,//
authorization:false,//
success:false,//
form:{
visible: false,//
authorization: false,//
success: false,//
form: {
idNumber: '',
name: '',
phone: '',
@ -95,7 +143,7 @@ export default {
companyAddress: '',
certificateType: ''
},
formName:{
formName: {
idNumber: '法人证件号码',
name: '法人姓名',
phone: '联系电话',
@ -151,10 +199,11 @@ export default {
}
]
},
submited: 0
}
},
created() {
created () {
// firmClientIdentity
// if(this.isNeedBefore) {
// if(sessionStorage.getItem('firmClientIdentity')) {
@ -163,7 +212,7 @@ export default {
// }
// return
// }
if(sessionStorage.getItem('firmClientIdentity')) {
if (sessionStorage.getItem('firmClientIdentity')) {
this.idNumberJudge = true
const { idNumber, userName } = this.dataFlow
this.form.idNumber = idNumber
@ -181,24 +230,24 @@ export default {
},
mounted() {
mounted () {
},
methods: {
getFormData(){
let param= {
getFormData () {
let param = {
parentId: '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,25,34'
}
getOperation(param).then((data)=>{
getOperation(param).then((data) => {
console.log(data)
if(data.status == 200) {
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} //
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')
@ -206,11 +255,11 @@ export default {
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} //
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)=>{
}).catch((error) => {
})
},
...mapMutations({
@ -221,7 +270,7 @@ export default {
setNeedsModule: 'system/setNeedsModule',
setTipsOperate: 'system/setTipsOperate'
}),
popUp(){//
popUp () {//
// this.$store.commit('system/changePop',{show:true,text:'',id:'34'})
// this.setDataFlow()
// let tmpForm = {}
@ -236,11 +285,12 @@ export default {
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},
popSure(){
popSure () {
},
submitForm() {
if(!this.form.idNumber) {
submitForm () {
if (this.submited) return this.$message.error('已提交!')
if (!this.form.idNumber) {
messageIdCard()
return
}
@ -250,45 +300,45 @@ export default {
this.visible = true;
}, this.$refs));
},
submitForm2() {
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){
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"})//
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.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.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.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"})//
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"},//
{ "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= {
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,
lcJudgmentRuleReq: formList,
projectId: +projectId,
startTime: startTime,
}
addOperation(params).then((data)=>{
addOperation(params).then((data) => {
// this.$message({
// message: '',
// type: 'success'
@ -299,11 +349,13 @@ export default {
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.form.registeredCapital = this.form.registeredCapital.slice(0, this.form.registeredCapital.length - 1)
this.submited = 1
this.setPopId('')
}).catch((error) => {
this.setTipsOperate('服务器繁忙哦,提交失败。')
})
}else {
} else {
this.$message.error('有必填项未填哦~');
}
},
@ -323,13 +375,13 @@ export default {
</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,22 +1,47 @@
<template>
<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" 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-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 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" />
<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>
<el-button @click="submitIt()"
type="primary"
class="submitBtn"
v-throttle>提交</el-button>
</div>
</template>
@ -29,17 +54,17 @@ import MyDialog from '@/components/dialogTwo'
import { addOperation, getOperation } from '@/api/http';
export default {
name: 'index',
components:{
components: {
MyTitle,
MyDialog
},
data() {
data () {
return {
visible: false,
moduleName: 'branchDayEnd',
form:{
username: '',
password: ''
form: {
username: '180623',
password: '621229'
},
formName: {
username: '主管柜员号',
@ -60,10 +85,11 @@ export default {
trigger: 'blur'
}
]
}
},
submited: 0
}
},
created() {
created () {
// const tmpFunc = () => {
// const date = new Date()
// var y = date.getFullYear();
@ -75,39 +101,41 @@ export default {
// }
// this.form.data = tmpFunc()
},
mounted() {
mounted () {
this.$refs.username.focus()
},
methods: {
...mapMutations({
setTipsOperate: 'system/setTipsOperate'
}),
submitIt() {
submitIt () {
if (this.submited) return this.$message.error('已提交!')
this.$refs.form.validate(myValidate(() => {
this.visible = true;
}, this.$refs));
},
submitForm2() {
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= {
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,
lcJudgmentRuleReq: formList,
projectId: +projectId,
startTime: startTime,
}
addOperation(params).then((data)=>{
addOperation(params).then((data) => {
this.submited = 1
// this.$message({
// message: '',
// type: 'success'
// });
// this.setNeedsModule(moduleName)
// this.setDataFlow({ ...this.form })
}).catch((error)=>{
}).catch((error) => {
})
},
checkHanzi: checkHanzi
@ -116,16 +144,15 @@ export default {
</script>
<style lang="scss" scoped>
.myPadding {
.myPadding {
padding: 24px 0 24px 24px;
}
}
// /deep/.el-input input {
// // width: 420px;
// }
.body {
// /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,66 +1,72 @@
<template>
<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-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-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-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"
<el-table ref="filterTable"
:data="tableData"
max-height="550"
:header-cell-style="headerCellStyle"
style="width: 95%"
:rules="rules">
<el-table-column
prop="certificateName"
<el-table-column prop="certificateName"
label="凭证类型"
align="center"
>
align="center">
</el-table-column>
<el-table-column
prop="stockNum"
<el-table-column prop="stockNum"
label="库存数量"
align="center"
>
align="center">
</el-table-column>
<el-table-column
prop="startNumber"
<el-table-column prop="startNumber"
label="起始号码"
align="center"
>
align="center">
</el-table-column>
<el-table-column
prop="endNumber"
<el-table-column prop="endNumber"
label="终止号码"
align="center"
>
align="center">
</el-table-column>
<el-table-column
label="钱箱数量"
<el-table-column label="钱箱数量"
align="center"
width="230"
prop="boxNumber"
>
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 :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>
@ -68,8 +74,17 @@
</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" />
<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>
@ -85,21 +100,21 @@ import { Message } from 'element-ui';
import { addOperation } from '@/api/http';
export default {
name: 'index',
components:{
components: {
MyTitle,
MyDialog
},
data() {
data () {
return {
headerCellStyle: headerCellStyle,
moduleName: 'tellerCertificate',
visible: false,
form:{
form: {
date: '',
counterNumber: '002288',
},
formName:{
formName: {
date: '日期',
counterNumber: '柜员号'
},
@ -159,10 +174,11 @@ export default {
cashBoxNum: '',
name2: 'transCheck',
}
]
],
submited: 0
}
},
created() {
created () {
const tmpFunc = () => {
const date = new Date()
var y = date.getFullYear();
@ -178,13 +194,14 @@ export default {
...mapMutations({
setTipsOperate: 'system/setTipsOperate'
}),
inputListen(val, row) {
inputListen (val, row) {
row.cashBoxNum = Number(val.replace(/\D+/, ''))
},
submitForm() {
submitForm () {
if (this.submited) return this.$message.error('已提交!')
this.$refs.form.validate(myValidate(() => {
for(const item of this.tableData) {
if(item.cashBoxNum === '') {
for (const item of this.tableData) {
if (item.cashBoxNum === '') {
Message.warning({
center: true,
message: '请输入' + item.certificateName + '数量'
@ -194,7 +211,7 @@ export default {
}
const obj1 = {}
const obj2 = {}
for(const item of this.tableData) {
for (const item of this.tableData) {
console.log(item)
const { cashBoxNum, name2, certificateName } = item;
obj1[name2] = cashBoxNum + '张'
@ -203,33 +220,37 @@ export default {
}
this.form = { ...this.form, ...obj1 }
this.formName = { ...this.formName, ...obj2 }
console.log(obj1)
console.log(obj2)
this.visible = true
}, this.$refs));
},
submitForm2() {
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"})
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= {
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,
lcJudgmentRuleReq: formList,
projectId: +projectId,
startTime: startTime,
}
addOperation(params).then((data)=>{
addOperation(params).then((data) => {
this.submited = 1
// this.$message({
// message: '',
// type: 'success'
// });
// this.setNeedsModule(moduleName)
// this.setDataFlow({ ...this.form })
}).catch((error)=>{
}).catch((error) => {
})
},
tableRowClassName: tableRowClassName,
@ -239,20 +260,19 @@ export default {
</script>
<style lang="scss" scoped>
@import '@/assets/css/tablebg.scss';
@import '@/assets/css/tablebg.scss';
.myPadding {
.myPadding {
padding: 24px 0 24px 24px;
}
}
/deep/.numrule input {
appearance: textField!important;
-webkit-appearance: textField!important;
/deep/.numrule input {
appearance: textField !important;
-webkit-appearance: textField !important;
width: 100px;
}
}
/deep/.el-input input {
/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>

@ -14,7 +14,7 @@
<i class="el-icon-arrow-right"></i>
<p>活期业务</p>
<i class="el-icon-arrow-right"></i>
<p>{{text}}</p>
<p>{{ text }}</p>
</div>
<!-- 修改密码 -->
@ -23,15 +23,8 @@
<!-- -->
<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"
>
<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>
@ -51,24 +44,24 @@ import { mapState } from 'vuex'
import changePassword from './changePassword.vue'
export default {
name: 'index',
components:{
components: {
changePassword,
},
data() {
data () {
return {
text:'修改密码',/* 顶部文字 */
textObj:{
'1':'修改密码',
'2':'账户服务',
'3':'修改密码',
text: '修改密码',/* 顶部文字 */
textObj: {
'1': '修改密码',
'2': '账户服务',
'3': '修改密码',
},
form:{
form: {
},
visible:false,
options:[],
activeIndex:'1',
second:[//
visible: false,
options: [],
activeIndex: '1',
second: [//
],
@ -76,11 +69,11 @@ export default {
}
},
created() {
created () {
},
methods: {
handleSelect(val){
handleSelect (val) {
this.text = this.textObj[val]
this.activeIndex = val
},
@ -91,22 +84,25 @@ export default {
</script>
<style lang="scss" scoped>
.wrap{
.wrap {
width: 100%;
display: flex;
flex-direction: column;
overflow: hidden;
padding: 24px 0 24px 24px;
.nav{
/deep/ .el-menu.el-menu--horizontal{
.nav {
/deep/ .el-menu.el-menu--horizontal {
border: 0;
}
/deep/ .el-menu--horizontal > .el-menu-item.is-active{
border:2px solid #568DF2;
/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{
/deep/ .el-menu--horizontal>.el-menu-item {
border: 2px solid transparent;
border-radius: 10px;
margin-right: 10px;
@ -114,7 +110,8 @@ export default {
line-height: 28px;
}
}
.title{
.title {
height: 60px;
display: flex;
align-items: center;
@ -122,10 +119,12 @@ export default {
padding-left: 0px;
margin-top: 10px;
}
.body{
.body {
margin-top: 50px;
overflow: auto;
.idCard{
.idCard {
border-radius: 5px;
background: #CFDDFF;
text-align: center;
@ -134,9 +133,11 @@ export default {
font-size: 18px;
color: #6191FF;
}
.add{
.add {
position: relative;
&::after{
&::after {
content: '';
display: block;
position: absolute;
@ -146,16 +147,18 @@ export default {
width: 88%;
height: 268px;
}
.addBtn{
.addBtn {
position: absolute;
left: 0;
top: 50%;
transform: translate(50%,-50%);
transform: translate(50%, -50%);
font-size: 22px;
}
}
}
.submitBtn{
.submitBtn {
position: relative;
width: 300px;
font-size: 18px;
@ -164,32 +167,37 @@ export default {
border-radius: 10px;
bottom: 10px;
left: 50%;
transform: translate(-50%,-50%);
transform: translate(-50%, -50%);
}
.popBody{
.popBody {
min-height: 200px;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
}
.popBtns{
.popBtns {
display: flex;
justify-content: space-between;
align-items: center;
.btn{
.btn {
width: 180px;
border-radius: 10px;
font-size: 18px;
}
.close{
.close {
background: #CFDEFF;
color: #6191FF;
}
.sure{
.sure {
background: #6191FF;
color: #fff;
}
}
}
}
</style>

@ -11,14 +11,16 @@
<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-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-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">
@ -28,10 +30,11 @@
</el-select>
</el-form-item>
<el-form-item label="起息日期" prop="breathDate">
<el-input v-model.trim="form.breathDate" ></el-input>
<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-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">
@ -60,24 +63,29 @@
</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-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-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-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-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-input :value="form.payMoney" disabled @input="val => ismoney(val, form, 'payMoney')"
ref="payMoney"></el-input>
</el-form-item>
<el-form-item label="证件号码" required>
@ -93,34 +101,35 @@
</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' />
<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 ],
export default {
name: '',
props: {},
mixins: [TipsBefore],
components: {
NeedBefore,
MyDialog
},
data(){
return{
data () {
return {
moduleName: 'callDeposits/accountClosed',
idNumberJudge: false,
cardNumberJudge: false,
visible: false,
form:{
form: {
//
payMoney: '', // ()
idNumber: '', //
@ -144,7 +153,7 @@ export default{
drawWayType: '', // ()
voucherType: '', // ()
},
formName:{
formName: {
//
payMoney: '支取金额', // ()
idNumber: '身份证号码', //
@ -278,10 +287,11 @@ export default{
"subjectId": 35,
}
},
submited: 0
}
},
created() {
if(sessionStorage.getItem('nomCallDepositClosedPassword')) {
created () {
if (sessionStorage.getItem('nomCallDepositClosedPassword')) {
this.form.drawPassword = sessionStorage.getItem('nomCallDepositClosedPassword')
}
@ -296,7 +306,7 @@ export default{
// }
// return
// }
if(sessionStorage.getItem('nomCallDepositClosedCard')) {
if (sessionStorage.getItem('nomCallDepositClosedCard')) {
this.cardNumberJudge = true
const { noticeType, depositNumber, capital, interest, totalMoney, idNumber,
peopleNumber, userName, currency, goldLogo, voucherNumber, payMoney, voucherType } = this.dataFlow
@ -316,12 +326,11 @@ export default{
this.form.currency = currency
this.form.goldLogo = goldLogo
this.form.voucherNumber = voucherNumber
this.form.payMoney = payMoney
this.form.payMoney = totalMoney
this.form.voucherType = voucherType
// this.form.idNumber =
}
if(sessionStorage.getItem('nomCallDepositClosedCard2')) {
if (sessionStorage.getItem('nomCallDepositClosedCard2')) {
this.idNumberJudge = true
const { idNumber } = this.dataFlow
this.form.idNumber = idNumber
@ -336,13 +345,13 @@ export default{
// 394: 'nomCallDepositClosedPassword'
}
const callback = () => {
if(this.form.idNumber) {
if (this.form.idNumber) {
this.idNumberJudge = true
}
if(this.form.voucherNumber) {
if (this.form.voucherNumber) {
this.cardNumberJudge = true
}
if(sessionStorage.getItem('nomCallDepositOpenPassword')) {
if (sessionStorage.getItem('nomCallDepositOpenPassword')) {
this.form.drawPassword = sessionStorage.getItem('nomCallDepositClosedPassword')
}
}
@ -356,17 +365,18 @@ export default{
setPopId: 'system/setPopId',
setTipsOperate: 'system/setTipsOperate'
}),
getDataBlur() {
if(!this.form.voucherNumber) {
getDataBlur () {
if (!this.form.voucherNumber) {
return
}
const { noticeType, depositNumber, capital, interest, totalMoney, idNumber,
peopleNumber, userName, currency, goldLogo, voucherNumber, payMoney, voucherType } = this.dataFlow
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 = capital
this.form.capital = money || 800000
this.form.interest = interest
this.form.totalMoney = totalMoney
// this.form.drawWayType = 93
@ -378,10 +388,17 @@ export default{
this.form.currency = currency
this.form.goldLogo = goldLogo
// this.form.voucherNumber = voucherNumber
this.form.payMoney = payMoney
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()
}
},
popUp(text) {
popUp (text) {
// this.$store.commit('system/changePop',{show:true,text, id: '302'})
this.setTipsOperate('请刷银行卡');
@ -389,7 +406,7 @@ export default{
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},
popUp2(text) {
popUp2 (text) {
// this.$store.commit('system/changePop',{show:true,text, id: '392'})
this.setTipsOperate('请刷身份证');
@ -397,24 +414,25 @@ export default{
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},
popUp3(text) {
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) {
submitForm () {
if (this.submited) return this.$message.error('已提交!')
if (!this.form.idNumber) {
messageIdCard()
return
}
if(!this.form.voucherNumber) {
if (!this.form.voucherNumber) {
messageCard('请填写凭证号码')
return
}
if(!this.form.drawPassword) {
if (!this.form.drawPassword) {
messagePassword()
return
}
@ -424,7 +442,7 @@ export default{
}, this.$refs));
},
submitForm2() {
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')
@ -435,6 +453,7 @@ export default{
}
]
autoPlay(parentId, this.form, this.myTable2, this.myTable, cards)
this.submited = 1
},
ismoney: ismoney,
checkHanzi: checkHanzi,
@ -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-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 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-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-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-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 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'>
<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>
<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 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-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>
<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-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-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('密码器')">
<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>
<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' />
<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,22 +163,22 @@ import MyDialog from '@/components/dialog'
import TipsBefore from '@/mixins/tipsBefore'
const moduleName = 'callDeposits/openAccount'
export default{
name:'',
props:{},
mixins: [ TipsBefore ],
export default {
name: '',
props: {},
mixins: [TipsBefore],
components: {
NeedBefore,
MyDialog
},
data(){
return{
data () {
return {
moduleName: 'callDeposits/openAccount',
idNumberJudge: false,
cardNumberJudge: false,
visible: false,
form:{
form: {
//
// identityCard: '', //
certificateType: 83,
@ -120,7 +193,8 @@ export default{
depositType: '', // ''
money: '', //
//
clientNumber: '' //
clientNumber: '', //
createDate: getNowDate()
},
formName: {
certificateType: '证件类型',
@ -266,10 +340,11 @@ export default{
// type: '1'
// },
},
submited: 0
}
},
created() {
if(sessionStorage.getItem('nomCallDepositOpenPassword')) {
created () {
if (sessionStorage.getItem('nomCallDepositOpenPassword')) {
this.form.drawPassword = sessionStorage.getItem('nomCallDepositOpenPassword')
}
@ -284,7 +359,7 @@ export default{
// }
// return
// }
if(sessionStorage.getItem('nomCallDepositOpen2')) {
if (sessionStorage.getItem('nomCallDepositOpen2')) {
this.idNumberJudge = true
const { idNumber, peopleNumber, userName, currency, goldLogo, depositType } = this.dataFlow
this.form.idNumber = idNumber
@ -294,7 +369,7 @@ export default{
this.form.goldLogo = goldLogo
this.form.depositType = depositType
}
if(sessionStorage.getItem('nomCallDepositOpen3')) {
if (sessionStorage.getItem('nomCallDepositOpen3')) {
const { voucherNumber } = this.dataFlow
this.cardNumberJudge = true
this.form.voucherNumber = voucherNumber
@ -310,7 +385,7 @@ export default{
setPopId: 'system/setPopId',
setTipsOperate: 'system/setTipsOperate'
}),
getFormData(){
getFormData () {
const parentId = '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,26,38,288'
const cards = {
// 291: 'nomCallDepositOpen2',
@ -318,38 +393,39 @@ export default{
// 301: 'nomCallDepositOpenPassword'
}
const callback = () => {
if(this.form.idNumber) {
if (this.form.idNumber) {
this.idNumberJudge = true
}
if(this.form.voucherNumber) {
if (this.form.voucherNumber) {
this.cardNumberJudge = true
}
if(sessionStorage.getItem('nomCallDepositOpenPassword')) {
if (sessionStorage.getItem('nomCallDepositOpenPassword')) {
this.form.drawPassword = sessionStorage.getItem('nomCallDepositOpenPassword')
}
}
autoPlay2(parentId, this.form, this.myTable2, this.myTable, cards, callback)
},
popUp(text) {
popUp (text) {
this.setTipsOperate('请刷身份证');
this.setPopId('291')
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},
popUp2(text) {
popUp2 (text) {
this.setTipsOperate('请刷银行卡');
this.setPopId('297')
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},
popUp3(text) {
popUp3 (text) {
this.setTipsOperate('请在密码器输入密码');
this.setPopId('301')
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},
submitForm() {
if(!this.form.idNumber) {
submitForm () {
if (this.submited) return this.$message.error('已提交!')
if (!this.form.idNumber) {
messageIdCard()
// let projectId = sessionStorage.getItem('projectId')
// let startTime = sessionStorage.getItem('startTime')
@ -377,12 +453,12 @@ export default{
// })
return
}
if(!this.form.voucherNumber) {
if (!this.form.voucherNumber) {
messageCard('请填写凭证号码')
return
}
if(!this.form.drawPassword) {
if (!this.form.drawPassword) {
messagePassword()
return
}
@ -391,7 +467,7 @@ export default{
this.visible = true;
}, this.$refs));
},
submitForm2() {
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')
@ -401,9 +477,10 @@ export default{
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,

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

@ -118,6 +118,7 @@ export default{
}
]
},
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'

@ -1,13 +1,14 @@
/* 个人业务>活期业务>开户 */
<template>
<div>
<div>
<div class="body">
<div>
<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="客户号">
<el-input :value="form.userNumber" disabled @input="(val) => checkHanzi(val, form, 'userNumber')" ref="userNumber"></el-input>
<el-input :value="form.userNumber" disabled @input="(val) => checkHanzi(val, form, 'userNumber')"
ref="userNumber"></el-input>
</el-form-item>
<el-form-item label="币种" prop="currency">
<el-select v-model.trim="form.currency" placeholder="请选择" ref="currency">
@ -17,11 +18,13 @@
</el-col>
<el-col :span="10" :offset="1">
<el-form-item label="客户姓名" prop="userName">
<el-input :value="form.userName" disabled @input="(val) => checkName(val, form, 'userName')" ref="userName"></el-input>
<el-input :value="form.userName" disabled @input="(val) => checkName(val, form, 'userName')"
ref="userName"></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 goldLogoSelectList" :label="item.options" :value="item.itemId" :key="item.itemId"> </el-option>
<el-option v-for="item in goldLogoSelectList" :label="item.options" :value="item.itemId"
:key="item.itemId"> </el-option>
</el-select>
</el-form-item>
@ -90,7 +93,8 @@
<p>请刷卡</p>
</div>
<div v-else>
<el-input ref="cardNumber" :value="form.cardNumber" disabled @input="(val) => inputListen(val, form, 'cardNumber')"></el-input>
<el-input ref="cardNumber" :value="form.cardNumber" disabled
@input="(val) => inputListen(val, form, 'cardNumber')"></el-input>
</div>
</el-form-item>
<el-form-item label="支取密码" required>
@ -151,7 +155,8 @@
<p>请刷卡</p>
</div>
<div v-else>
<el-input ref="cardNumber2" :value="form.cardNumber2" disabled @input="(val) => inputListen(val, form, 'cardNumber2')"></el-input>
<el-input ref="cardNumber2" :value="form.cardNumber2" disabled
@input="(val) => inputListen(val, form, 'cardNumber2')"></el-input>
</div>
</el-form-item>
<el-form-item label="支取密码" required>
@ -210,7 +215,8 @@
<p>请刷卡</p>
</div>
<div v-else>
<el-input ref="cardNumber3" :value="form.cardNumber3" disabled @input="(val) => inputListen(val, form, 'cardNumber3')"></el-input>
<el-input ref="cardNumber3" :value="form.cardNumber3" disabled
@input="(val) => inputListen(val, form, 'cardNumber3')"></el-input>
</div>
</el-form-item>
<el-form-item label="支取密码" required>
@ -230,13 +236,14 @@
<el-button @click="formSubmit" type="primary" class="submitBtn" v-throttle>提交</el-button>
</div>
<my-dialog :moduleName="moduleName" v-if="visible" :visible.sync="visible" :showForm="form" :formName="formName" @submitIt="popSure" :needAuth="false" />
<my-dialog :moduleName="moduleName" v-if="visible" :visible.sync="visible" :showForm="form" :formName="formName"
@submitIt="popSure" :needAuth="false" />
</div>
<!-- <need-before v-else :moduleName='needBefore' :unNeed="unNeed" /> -->
</div>
<!-- <need-before v-else :moduleName='needBefore' :unNeed="unNeed" /> -->
</template>
<script> // currentAccount/openAccount
import {getSubjectInfo,addOperation,getOperation} from "@/api/http.js";
<script>// currentAccount/openAccount
import { getSubjectInfo, addOperation, getOperation } from "@/api/http.js";
import { mapMutations, mapGetters, mapState } from 'vuex'
import { vercustomer } from '@/utils/verify.js'
import { myValidate, checkName, checkHanzi, inputListen } from '@/utils/utilFunction.js'
@ -247,8 +254,8 @@ import TipsBefore from '@/mixins/tipsBefore'
const moduleName = 'currentAccount/openAccount'
export default {
data(){
return{
data () {
return {
moduleName: 'currentAccount/openAccount',
passwordTag: '',
@ -259,7 +266,7 @@ export default {
cardNumberJudge: false,
cardNumberJudge2: false,
cardNumberJudge3: false,
form:{
form: {
cardNumber: '', //
cardNumber2: '', //
cardNumber3: '', //
@ -284,7 +291,7 @@ export default {
voucherTypesThree: '', // 3
},
formShow: {},
formName:{
formName: {
cardNumber: '卡号', //
cardNumber2: '卡号二', //
cardNumber3: '卡号三', //
@ -309,7 +316,7 @@ export default {
voucherTypesThree: '凭证类型3', //
},
rules: {
userName: vercustomer ,
userName: vercustomer,
currency: [
{
required: true,
@ -360,36 +367,37 @@ export default {
}
]
},
second:[],//
options:[],
visible:false,
formTwo:false,
formThree:false,
count:0,
currencySelectList:[
second: [],//
options: [],
visible: false,
formTwo: false,
formThree: false,
count: 0,
currencySelectList: [
],
goldLogoSelectList:[],
accountQualitySelectList:[],
voucherTypeSelectList:[],
accountTypeSelectList:[],
drawWaySelectList:[],
num:0,
goldLogoSelectList: [],
accountQualitySelectList: [],
voucherTypeSelectList: [],
accountTypeSelectList: [],
drawWaySelectList: [],
num: 0,
submited: 0
}
},
mixins: [ TipsBefore ],
mixins: [TipsBefore],
components: {
NeedBefore,
MyDialog
},
created() {
created () {
// mixins
if(sessionStorage.getItem('openAccountCount')) {
if (sessionStorage.getItem('openAccountCount')) {
this.count = parseInt(sessionStorage.getItem('openAccountCount'))
if(this.count === 1) {
if (this.count === 1) {
this.formTwo = true
}else if(this.count === 2) {
} else if (this.count === 2) {
this.formTwo = true
this.formThree = true
}
@ -407,28 +415,28 @@ export default {
const { voucherNumber, voucherNumber2 } = this.dataFlow
// 使
if(sessionStorage.getItem('accountVoucher')) {
if (sessionStorage.getItem('accountVoucher')) {
this.form.cardNumber = voucherNumber
this.cardNumberJudge = true
}
if(sessionStorage.getItem('accountVoucherTwo')) {
if (sessionStorage.getItem('accountVoucherTwo')) {
this.form.cardNumber2 = voucherNumber2
this.cardNumberJudge2 = true
}
if(sessionStorage.getItem('accountVoucherThree')) {
if (sessionStorage.getItem('accountVoucherThree')) {
this.form.cardNumber3 = voucherNumber2
this.cardNumberJudge3 = true
}
//
if(sessionStorage.getItem('accountPassword')) {
if (sessionStorage.getItem('accountPassword')) {
this.form.drawPassword = sessionStorage.getItem('accountPassword')
}
if(sessionStorage.getItem('accountPasswordTwo')) {
if (sessionStorage.getItem('accountPasswordTwo')) {
this.form.drawPassword2 = sessionStorage.getItem('accountPasswordTwo')
}
if(sessionStorage.getItem('accountPasswordThree')) {
if (sessionStorage.getItem('accountPasswordThree')) {
this.form.drawPassword3 = sessionStorage.getItem('accountPasswordThree')
}
@ -451,7 +459,7 @@ export default {
},
mounted(){
mounted () {
// currencySelectList:[
// ],
// goldLogoSelectList:[],
@ -461,7 +469,7 @@ export default {
// drawWaySelectList:[],
},
methods:{
methods: {
...mapMutations({
changeShowGoods: 'system/changeShowGoods',
setNeedsModule: 'system/setNeedsModule',
@ -469,37 +477,37 @@ export default {
setPopId: 'system/setPopId',
setTipsOperate: 'system/setTipsOperate'
}),
initData() {
initData () {
},
getOptionsList(){
for(var i=8;i<14;i++){
getOptionsList () {
for (var i = 8; i < 14; i++) {
this.getSubjectInfoData(i)
}
},
getOperationData(){
let param= {
getOperationData () {
let param = {
parentId: '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,26,57,62'
}
getOperation(param).then((data)=>{
if(data.status == 200) {
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 == '68') {this.form.userNumber = list[i].emptyTwo}
else if (list[i].answerId == '69') {this.form.userName = list[i].emptyTwo}
else if (list[i].answerId == '70') {this.form.currency = +list[i].emptyTwo}
if (list[i].answerId == '68') { this.form.userNumber = list[i].emptyTwo }
else if (list[i].answerId == '69') { this.form.userName = list[i].emptyTwo }
else if (list[i].answerId == '70') { this.form.currency = +list[i].emptyTwo }
else if (list[i].answerId == '71') {
this.form.goldLogo = +list[i].emptyTwo
}
else if (list[i].answerId == '72') {this.form.accountQuality = +list[i].emptyTwo}
else if (list[i].answerId == '73') {this.form.voucherType = +list[i].emptyTwo}
else if (list[i].answerId == '74') {this.form.accountType = +list[i].emptyTwo}
else if (list[i].answerId == '72') { this.form.accountQuality = +list[i].emptyTwo }
else if (list[i].answerId == '73') { this.form.voucherType = +list[i].emptyTwo }
else if (list[i].answerId == '74') { this.form.accountType = +list[i].emptyTwo }
else if (list[i].answerId == '75') {
this.form.cardNumber = list[i].emptyTwo
this.cardNumberJudge = true
}
else if (list[i].answerId == '76') {this.form.drawWay = +list[i].emptyTwo}
else if (list[i].answerId == '76') { this.form.drawWay = +list[i].emptyTwo }
// else if (list[i].answerId == '77') {sessionStorage.setItem('accountPasswordAll', list[i].emptyTwo)}
else if (list[i].answerId == '77') {
this.form.drawPassword = list[i].emptyTwo
@ -515,132 +523,132 @@ export default {
// else if (list[i].answerId == '278') {this.form.accountTypesThree = +list[i].emptyTwo}
// else if (list[i].answerId == '280') {this.form.drawWaysThree = +list[i].emptyTwo}
}
if(sessionStorage.getItem('accountPassword')) {
if (sessionStorage.getItem('accountPassword')) {
this.form.drawPassword = sessionStorage.getItem('accountPassword')
}
if(sessionStorage.getItem('accountPasswordTwo')) {
if (sessionStorage.getItem('accountPasswordTwo')) {
this.form.drawPassword2 = sessionStorage.getItem('accountPasswordTwo')
}
if(sessionStorage.getItem('accountPasswordThree')) {
if (sessionStorage.getItem('accountPasswordThree')) {
this.form.drawPassword3 = sessionStorage.getItem('accountPasswordThree')
}
}else{
} else {
this.getFormData()
}
// 使
}).catch((error)=>{
}).catch((error) => {
})
},
getFormData(){
let param= {
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) {
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 == '42') {this.form.userName = list[i].emptyTwo}
if (list[i].answerId == '42') { this.form.userName = list[i].emptyTwo }
else if (list[i].answerId == '75') {
this.form.cardNumber = list[i].emptyTwo
this.cardNumberJudge = true
}
}
if(sessionStorage.getItem('accountPassword')) {
if (sessionStorage.getItem('accountPassword')) {
this.form.drawPassword = sessionStorage.getItem('accountPassword')
}
if(sessionStorage.getItem('accountPasswordTwo')) {
if (sessionStorage.getItem('accountPasswordTwo')) {
this.form.drawPassword2 = sessionStorage.getItem('accountPasswordTwo')
}
if(sessionStorage.getItem('accountPasswordThree')) {
if (sessionStorage.getItem('accountPasswordThree')) {
this.form.drawPassword3 = sessionStorage.getItem('accountPasswordThree')
}
}
}).catch((error)=>{
}).catch((error) => {
})
},
...mapMutations({
changeShowGoods: 'system/changeShowGoods'
}),
getOperationWindowsData(){
let param= {
getOperationWindowsData () {
let param = {
parentId: '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,26,57,62,75'
}
let dataList = [];
getOperation(param).then((data)=>{
if(data.status == 200){
getOperation(param).then((data) => {
if (data.status == 200) {
let list = data.data.judgmentRuleReqs;
// for(var i=0;i<list.length;i++){
// dataList.push(list[i])
// }
if(list.length > 0) {
if (list.length > 0) {
this.cardNumberJudge = true;
this.form.cardNumber = list[0].emptyTwo
}
}else{
} else {
// dataList = []
}
// sessionStorage.setItem('dataList',JSON.stringify(dataList))
}).catch((error)=>{
}).catch((error) => {
})
},
getSubjectInfoData(item){
let params= {
subject_id:item
}
getSubjectInfo(params).then((data)=>{
if(data.status == 200){
this.num = this.num+1
if(this.num == 6){
getSubjectInfoData (item) {
let params = {
subject_id: item
}
getSubjectInfo(params).then((data) => {
if (data.status == 200) {
this.num = this.num + 1
if (this.num == 6) {
this.getOperationData()
this.getOperationWindowsData()
}
this.selectList = data.data.items;
if (item == '8'){
if (item == '8') {
this.currencySelectList = data.data.items;
}else if (item == '9'){
} else if (item == '9') {
this.goldLogoSelectList = data.data.items;
this.form.goldLogo = +this.goldLogoSelectList[0].itemId
}else if (item == '10'){
} else if (item == '10') {
this.accountQualitySelectList = data.data.items;
this.form.accountQuality = this.accountQualitySelectList[0].itemId
}else if (item == '11'){
} else if (item == '11') {
this.voucherTypeSelectList = data.data.items;
this.form.voucherType = +this.voucherTypeSelectList[0].itemId
}else if (item == '12'){
} else if (item == '12') {
this.accountTypeSelectList = data.data.items;
this.form.accountType = this.accountTypeSelectList[0].itemId
}else if (item == '13'){
} else if (item == '13') {
this.drawWaySelectList = data.data.items;
this.form.drawWay = this.drawWaySelectList[0].itemId
}
}
}).catch((error)=>{
}).catch((error) => {
})
},
detectionObjKeys(obj,keys){/* obj-传入对象,keys-传入检测的key值 */
detectionObjKeys (obj, keys) {/* obj-传入对象,keys-传入检测的key值 */
let boolean = true
keys.map(e=>{
if(!obj[e]){
keys.map(e => {
if (!obj[e]) {
boolean = false
}
})
},
openAccount(){
openAccount () {
// if(sessionStorage.getItem('openAccountCount')) {
// this.count = sessionStorage.getItem('openAccountCount')
// }
this.count = this.count+1;
this.count = this.count + 1;
sessionStorage.setItem('openAccountCount', this.count)
if (this.count > 2){
if (this.count > 2) {
this.count = 2
this.setTipsOperate('最多只能添加三个!')
}
if(this.count == 1 || this.count == 2){
if (this.count == 1 || this.count == 2) {
this.formTwo = true
// this.form.accountQualitysTwo = this.accountQualitySelectList[0].itemId
this.form.accountQualitysTwo = 14
@ -648,7 +656,7 @@ export default {
this.form.voucherTypesTwo = 15
}
if (this.count == 2){
if (this.count == 2) {
this.formThree = true
// this.form.accountQualitysThree = this.accountQualitySelectList[0].itemId
this.form.accountQualitysThree = 14
@ -657,7 +665,7 @@ export default {
}
},
//
formSubmit(){
formSubmit () {
// businessKey
// if(!this.dataFlow.userNumber && this.businessKey === '') {
// this.$message({
@ -667,6 +675,7 @@ export default {
// return;
// }
console.log(this.form)
if (this.submited) return this.$message.error('已提交!')
this.$refs.form.validate(myValidate(() => {
@ -675,21 +684,21 @@ export default {
// this.formThree == true && (this.form.accountTypesThree && this.form.drawWaysThree && this.form.voucherTypesThree)
let judgeVisible2 = true
let judgeVisible3 = true
if(this.formTwo) {
if (this.formTwo) {
judgeVisible2 = this.form.accountTypesTwo && this.form.drawWaysTwo && this.form.voucherTypesTwo
}
if(this.formThree) {
if (this.formThree) {
judgeVisible3 = this.form.accountTypesThree && this.form.drawWaysThree && this.form.voucherTypesThree
}
if(this.form.userName && this.form.currency && this.form.goldLogo && this.form.accountType && this.form.drawWay && this.form.voucherType && this.cardNumberJudge && this.form.drawPassword && judgeVisible2 && judgeVisible3) {
if (this.form.userName && this.form.currency && this.form.goldLogo && this.form.accountType && this.form.drawWay && this.form.voucherType && this.cardNumberJudge && this.form.drawPassword && judgeVisible2 && judgeVisible3) {
this.visible = true
}else {
} else {
this.setTipsOperate('有必填项未填哦~');
}
}, this.$refs));
},
//
popSure(){
popSure () {
const { userName, goldLogo, currency } = this.form
this.setDataFlow({ userName, goldLogo, currency })
this.setNeedsModule(moduleName)
@ -703,23 +712,23 @@ export default {
let startTime = sessionStorage.getItem('startTime')
let accountVoucher = sessionStorage.getItem('accountVoucher')
let formExternalDataList = JSON.parse(accountVoucher);
if (formExternalDataList){
if (formExternalDataList) {
voucherNumber = formExternalDataList
}else{
} else {
voucherNumber = []
}
let accountVoucherTwo = sessionStorage.getItem('accountVoucherTwo')
let formExternalDataListTwo = JSON.parse(accountVoucherTwo);
if (formExternalDataListTwo){
if (formExternalDataListTwo) {
voucherNumberTwo = formExternalDataListTwo
}else{
} else {
voucherNumberTwo = []
}
let accountVoucherThree = sessionStorage.getItem('accountVoucherThree')
let formExternalDataListThree = JSON.parse(accountVoucherThree);
if (formExternalDataListThree){
if (formExternalDataListThree) {
voucherNumberThree = formExternalDataListThree
}else{
} else {
voucherNumberThree = []
}
let accountPassword = sessionStorage.getItem('accountPassword')
@ -728,7 +737,7 @@ export default {
let drawPassword = accountPassword;
let drawPasswordTwo = accountPasswordTwo;
let drawPasswordThree = accountPasswordThree;
formList.push({"answerId":75,"emptyOne": "44", "emptyTwo": this.form.cardNumber, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,26,57,62,75","type": "3"})
formList.push({ "answerId": 75, "emptyOne": "44", "emptyTwo": this.form.cardNumber, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,26,57,62,75", "type": "3" })
// console.log([...formList])
// let param= {
// parentId: '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,26,57,62,75',
@ -746,79 +755,80 @@ export default {
// });
// })
formList.push(
{"answerId":'77',"emptyOne": "17", "emptyTwo": drawPassword, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,26,57,62,77", "type": "3"},//
{ "answerId": '77', "emptyOne": "17", "emptyTwo": drawPassword, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,26,57,62,77", "type": "3" },//
)
if(this.formTwo == true && (this.form.accountTypesTwo && this.form.drawWaysTwo && this.form.voucherTypesTwo)){
if (this.form.accountTypesTwo){formList.push({"answerId":'272',"emptyOne": "12", "emptyTwo": this.form.accountTypesTwo,"operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,26,57,62,272","type": "1"})}//2
if (this.form.drawWaysTwo){formList.push({"answerId":'274',"emptyOne": "13", "emptyTwo": this.form.drawWaysTwo,"operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,26,57,62,274","type": "1"})} //2
if (this.form.voucherTypesTwo){formList.push({"answerId":'271',"emptyOne": "11", "emptyTwo": this.form.voucherTypesTwo,"operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,26,57,62,271","type": "1"})} //2
if (this.formTwo == true && (this.form.accountTypesTwo && this.form.drawWaysTwo && this.form.voucherTypesTwo)) {
if (this.form.accountTypesTwo) { formList.push({ "answerId": '272', "emptyOne": "12", "emptyTwo": this.form.accountTypesTwo, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,26,57,62,272", "type": "1" }) }//2
if (this.form.drawWaysTwo) { formList.push({ "answerId": '274', "emptyOne": "13", "emptyTwo": this.form.drawWaysTwo, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,26,57,62,274", "type": "1" }) } //2
if (this.form.voucherTypesTwo) { formList.push({ "answerId": '271', "emptyOne": "11", "emptyTwo": this.form.voucherTypesTwo, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,26,57,62,271", "type": "1" }) } //2
formList.push(
{"answerId":'275',"emptyOne": "17", "emptyTwo": drawPasswordTwo, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,26,57,62,275", "type": "3"},//
{ "answerId": '275', "emptyOne": "17", "emptyTwo": drawPasswordTwo, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,26,57,62,275", "type": "3" },//
)
// for (var i=0;i<voucherNumberTwo.length;i++){
// formList.push({"answerId":voucherNumberTwo[i].id,"emptyOne": "", "emptyTwo": "", "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,26,57,62,273,"+voucherNumberTwo[i].id,"type": ""})
// }
formList.push({"answerId":273,"emptyOne": "44", "emptyTwo": this.form.cardNumber2, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,26,57,62,273","type": ""})
}else if(this.formTwo == true){
formList.push({ "answerId": 273, "emptyOne": "44", "emptyTwo": this.form.cardNumber2, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,26,57,62,273", "type": "3" })
} else if (this.formTwo == true) {
this.setTipsOperate('有必填项未填哦~');
}
if(this.formThree == true && (this.form.accountTypesThree && this.form.drawWaysThree && this.form.voucherTypesThree)){
if (this.form.accountTypesThree){formList.push({"answerId":'278',"emptyOne": "12", "emptyTwo": this.form.accountTypesThree, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,26,57,62,278","type": "1"})}//3
if (this.form.drawWaysThree){formList.push({"answerId":'280',"emptyOne": "13", "emptyTwo": this.form.drawWaysThree, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,26,57,62,280","type": "1"})}//3
if (this.form.voucherTypesThree){formList.push({"answerId":'277',"emptyOne": "11", "emptyTwo": this.form.voucherTypesThree, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,26,57,62,277","type": "1"})}//3
if (this.formThree == true && (this.form.accountTypesThree && this.form.drawWaysThree && this.form.voucherTypesThree)) {
if (this.form.accountTypesThree) { formList.push({ "answerId": '278', "emptyOne": "12", "emptyTwo": this.form.accountTypesThree, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,26,57,62,278", "type": "1" }) }//3
if (this.form.drawWaysThree) { formList.push({ "answerId": '280', "emptyOne": "13", "emptyTwo": this.form.drawWaysThree, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,26,57,62,280", "type": "1" }) }//3
if (this.form.voucherTypesThree) { formList.push({ "answerId": '277', "emptyOne": "11", "emptyTwo": this.form.voucherTypesThree, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,26,57,62,277", "type": "1" }) }//3
formList.push(
{"answerId":'281',"emptyOne": "17", "emptyTwo": drawPasswordThree, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,26,57,62,281", "type": "3"},//
{ "answerId": '281', "emptyOne": "17", "emptyTwo": drawPasswordThree, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,26,57,62,281", "type": "3" },//
)
// for (var i=0;i<voucherNumberThree.length;i++){
// formList.push({"answerId":voucherNumberThree[i].id,"emptyOne": "", "emptyTwo": "", "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,26,57,62,279,"+voucherNumberThree[i].id,"type": ""})
// }
formList.push({"answerId":279,"emptyOne": "44", "emptyTwo": "", "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,26,57,62,279","type": ""})
}else if(this.formThree == true){
formList.push({ "answerId": 279, "emptyOne": "44", "emptyTwo": "", "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,26,57,62,279", "type": "" })
} else if (this.formThree == true) {
this.setTipsOperate('有必填项未填哦~');
}
if (this.form.userNumber){formList.push({"answerId":'68',"emptyOne": "6", "emptyTwo": this.form.userNumber, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,26,57,62,68","type": "3"})}//
if (this.form.accountQuality){formList.push({"answerId":'72',"emptyOne": "10", "emptyTwo": this.form.accountQuality, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,26,57,62,72","type": "1"})}//1
if (this.form.accountQualitysTwo){formList.push({"answerId":'270',"emptyOne": "10", "emptyTwo": this.form.accountQualitysTwo, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,26,57,62,270","type": "1"})}//2
if (this.form.accountQualitysThree){formList.push({"answerId":'276',"emptyOne": "10", "emptyTwo": this.form.accountQualitysThree, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,26,57,62,276","type": "1"})}//3
if (this.form.userNumber) { formList.push({ "answerId": '68', "emptyOne": "6", "emptyTwo": this.form.userNumber, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,26,57,62,68", "type": "3" }) }//
if (this.form.accountQuality) { formList.push({ "answerId": '72', "emptyOne": "10", "emptyTwo": this.form.accountQuality, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,26,57,62,72", "type": "1" }) }//1
if (this.form.accountQualitysTwo) { formList.push({ "answerId": '270', "emptyOne": "10", "emptyTwo": this.form.accountQualitysTwo, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,26,57,62,270", "type": "1" }) }//2
if (this.form.accountQualitysThree) { formList.push({ "answerId": '276', "emptyOne": "10", "emptyTwo": this.form.accountQualitysThree, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,26,57,62,276", "type": "1" }) }//3
formList.push(
{"answerId":'69',"emptyOne": "7", "emptyTwo": this.form.userName, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,26,57,62,69", "type": "3"},//
{"answerId":'70',"emptyOne": "8", "emptyTwo": this.form.currency, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,26,57,62,70", "type": "1"},//
{"answerId":'71',"emptyOne": "9", "emptyTwo": this.form.goldLogo, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,26,57,62,71","type": "1"},//
{"answerId":'74',"emptyOne": "12", "emptyTwo": this.form.accountType, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,26,57,62,74","type": "1"}, //
{"answerId":'76',"emptyOne": "13", "emptyTwo": this.form.drawWay, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,26,57,62,76", "type": "1"}, //
{"answerId":'73',"emptyOne": "11", "emptyTwo": this.form.voucherType, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,26,57,62,73", "type": "1"}, //
{ "answerId": '69', "emptyOne": "7", "emptyTwo": this.form.userName, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,26,57,62,69", "type": "3" },//
{ "answerId": '70', "emptyOne": "8", "emptyTwo": this.form.currency, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,26,57,62,70", "type": "1" },//
{ "answerId": '71', "emptyOne": "9", "emptyTwo": this.form.goldLogo, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,26,57,62,71", "type": "1" },//
{ "answerId": '74', "emptyOne": "12", "emptyTwo": this.form.accountType, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,26,57,62,74", "type": "1" }, //
{ "answerId": '76', "emptyOne": "13", "emptyTwo": this.form.drawWay, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,26,57,62,76", "type": "1" }, //
{ "answerId": '73', "emptyOne": "11", "emptyTwo": this.form.voucherType, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ",287,5,26,57,62,73", "type": "1" }, //
// {"answerId":'75',"emptyOne": "12", "emptyTwo": this.form.cardNumber, "operationIds": "285," + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id +",287,5,26,57,62,75","type": "3"},
)
let params= {
let params = {
parentId: '285,' + this.$store.state.system.businessSelect[this.$store.state.system.businessKey].id + ',287,5,26,57,62',
lcJudgmentRuleReq:formList,
projectId:+projectId,
startTime:startTime,
lcJudgmentRuleReq: formList,
projectId: +projectId,
startTime: startTime,
}
addOperation(params).then((data)=>{
addOperation(params).then((data) => {
this.submited = 1
// this.$message({
// message: '',
// type: 'success'
// });
}).catch((error)=>{
}).catch((error) => {
this.setTipsOperate('服务器繁忙哦,提交失败。')
})
},
deleteSecond(){
deleteSecond () {
this.$confirm('此操作将删除该账户类型, 是否继续?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.count = this.count-1;
this.count = this.count - 1;
sessionStorage.setItem('openAccountCount', this.count)
if (this.count < 1){this.count = 0}
if (this.count == 0){
if (this.count < 1) { this.count = 0 }
if (this.count == 0) {
sessionStorage.removeItem('accountPasswordTwo')
sessionStorage.removeItem('accountVoucherTwo')
this.formTwo = false
}
if (this.count == 1){
if (this.count == 1) {
sessionStorage.removeItem('accountVoucherThree')
sessionStorage.removeItem('accountPasswordThree')
this.formThree = false
@ -829,7 +839,7 @@ export default {
this.setTipsOperate('已取消删除')
});
},
popUp(){
popUp () {
//
// this.$store.commit('system/changePop',{show:true,text:'',id:'62,1'})
// this.cardNumberTag = 1
@ -839,7 +849,7 @@ export default {
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},
popUps(){
popUps () {
// this.passwordTag = 1
// this.$store.commit('system/changePop',{show:true,text:'',id:'62,1'})
this.setTipsOperate('请在密码器输入密码')
@ -848,7 +858,7 @@ export default {
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},
popUpTwo(){
popUpTwo () {
// this.cardNumberTag = 2
// this.$store.commit('system/changePop',{show:true,text:'',id:'62,2'})
@ -857,7 +867,7 @@ export default {
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},
popUpsTwo(){
popUpsTwo () {
// this.passwordTag = 2
// this.$store.commit('system/changePop',{show:true,text:'',id:'62,2'})
@ -866,7 +876,7 @@ export default {
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},
popUpThree(){
popUpThree () {
// this.cardNumberTag = 3
// this.$store.commit('system/changePop',{show:true,text:'',id:'62,3'})
@ -875,7 +885,7 @@ export default {
sessionStorage.setItem('computerPath', this.$route.fullPath)
this.$router.push('/counter/list/')
},
popUpsThree(){
popUpsThree () {
// this.passwordTag = 3
// this.$store.commit('system/changePop',{show:true,text:'',id:'62,3'})
@ -898,8 +908,8 @@ export default {
},
watch: {
formTwo: {
handler(newVal) {
if(!newVal) {
handler (newVal) {
if (!newVal) {
this.form.drawWaysTwo = ''
this.form.accountQualitysTwo = ''
this.form.voucherTypesTwo = ''
@ -910,8 +920,8 @@ export default {
immediate: true
},
formThree: {
handler(newVal) {
if(!newVal) {
handler (newVal) {
if (!newVal) {
this.form.drawWaysThree = ''
this.form.accountQualitysThree = ''
this.form.voucherTypesThree = ''
@ -927,43 +937,49 @@ export default {
};
</script>
<style lang="scss" scoped>
.body{
.body {
margin-top: 50px;
overflow: auto;
.idCard{
.idCard {
border-radius: 5px;
background: #CFDDFF;
background: #cfddff;
text-align: center;
height: 40px;
line-height: 40px;
font-size: 18px;
color: #6191FF;
color: #6191ff;
cursor: pointer;
}
.add{
.add {
position: relative;
.el-col{
.el-col {
padding: 10px 0;
}
&::after{
&::after {
content: '';
display: block;
position: absolute;
right: 3%;
top: -4%;
border: 1px dashed #CFDDFF;
border: 1px dashed #cfddff;
width: 88%;
height: 200px;
}
.addBtn{
.addBtn {
position: absolute;
left: 0;
top: 50%;
transform: translate(50%,-50%);
transform: translate(50%, -50%);
font-size: 22px;
}
}
}
// .submitBtn{
// position: relative;
// width: 300px;
@ -975,28 +991,32 @@ export default {
// left: 50%;
// transform: translate(-50%,-50%);
// }
.popBody{
.popBody {
min-height: 200px;
display: flex;
align-items: center;
justify-content: center;
text-align: center;
}
.popBtns{
.popBtns {
display: flex;
justify-content: space-between;
align-items: center;
.btn{
.btn {
width: 180px;
border-radius: 10px;
font-size: 18px;
}
.close{
background: #CFDEFF;
color: #6191FF;
.close {
background: #cfdeff;
color: #6191ff;
}
.sure{
background: #6191FF;
.sure {
background: #6191ff;
color: #fff;
}
}

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