mirror of
http://112.124.100.131/GFRS/ebiz-h5.git
synced 2025-12-07 06:36:44 +08:00
Compare commits
46 Commits
feature/FC
...
FCRS-743-【
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
47743bf490 | ||
|
|
b841d0a7f6 | ||
|
|
8c740e2aa9 | ||
|
|
f96c45c08d | ||
|
|
df6bde6661 | ||
|
|
d2c80c293f | ||
|
|
ad8bb1f09a | ||
|
|
5a94ec403f | ||
|
|
6c921bf04c | ||
|
|
ec7b5edeef | ||
|
|
bcc7be372c | ||
|
|
1630589458 | ||
|
|
fb18e80abf | ||
|
|
dc9688307d | ||
|
|
6a248932e7 | ||
|
|
53abc65565 | ||
|
|
92bd586bb7 | ||
|
|
7266150545 | ||
|
|
516de0de16 | ||
|
|
e5fc51effa | ||
|
|
5a7a6a0374 | ||
|
|
b21278491c | ||
|
|
5875fc0a7c | ||
|
|
dc757b0f22 | ||
|
|
f8db6ce6b7 | ||
|
|
0d75ad4bd2 | ||
|
|
4a968d8d90 | ||
|
|
b9c064ef69 | ||
|
|
f75e96b701 | ||
|
|
704e4465dc | ||
|
|
ccdff7fa70 | ||
|
|
3d465e17bd | ||
|
|
701dad7dd4 | ||
|
|
a6f57ffa35 | ||
|
|
73ad9b233a | ||
|
|
285a5779df | ||
|
|
116aa3daaf | ||
|
|
8712dd1d4e | ||
|
|
a209cd4248 | ||
|
|
c099d82230 | ||
|
|
1dd7a9368c | ||
|
|
96aca1c83a | ||
|
|
f085152e7e | ||
|
|
64677c7046 | ||
|
|
d5ccffba9f | ||
|
|
169831792c |
420
package-lock.json
generated
420
package-lock.json
generated
@@ -935,6 +935,12 @@
|
||||
"to-fast-properties": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"@gar/promisify": {
|
||||
"version": "1.1.3",
|
||||
"resolved": "https://registry.npmmirror.com/@gar/promisify/-/promisify-1.1.3.tgz",
|
||||
"integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==",
|
||||
"dev": true
|
||||
},
|
||||
"@hapi/address": {
|
||||
"version": "2.1.4",
|
||||
"resolved": "https://registry.npmmirror.com/@hapi/address/-/address-2.1.4.tgz",
|
||||
@@ -1026,6 +1032,45 @@
|
||||
"integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
|
||||
"dev": true
|
||||
},
|
||||
"@jridgewell/source-map": {
|
||||
"version": "0.3.6",
|
||||
"resolved": "https://registry.npmmirror.com/@jridgewell/source-map/-/source-map-0.3.6.tgz",
|
||||
"integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@jridgewell/gen-mapping": "^0.3.5",
|
||||
"@jridgewell/trace-mapping": "^0.3.25"
|
||||
},
|
||||
"dependencies": {
|
||||
"@jridgewell/gen-mapping": {
|
||||
"version": "0.3.5",
|
||||
"resolved": "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
|
||||
"integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@jridgewell/set-array": "^1.2.1",
|
||||
"@jridgewell/sourcemap-codec": "^1.4.10",
|
||||
"@jridgewell/trace-mapping": "^0.3.24"
|
||||
}
|
||||
},
|
||||
"@jridgewell/set-array": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmmirror.com/@jridgewell/set-array/-/set-array-1.2.1.tgz",
|
||||
"integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
|
||||
"dev": true
|
||||
},
|
||||
"@jridgewell/trace-mapping": {
|
||||
"version": "0.3.25",
|
||||
"resolved": "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
|
||||
"integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@jridgewell/resolve-uri": "^3.1.0",
|
||||
"@jridgewell/sourcemap-codec": "^1.4.14"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"@jridgewell/sourcemap-codec": {
|
||||
"version": "1.4.15",
|
||||
"resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
|
||||
@@ -1066,6 +1111,51 @@
|
||||
"integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==",
|
||||
"dev": true
|
||||
},
|
||||
"@npmcli/fs": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmmirror.com/@npmcli/fs/-/fs-1.1.1.tgz",
|
||||
"integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@gar/promisify": "^1.0.1",
|
||||
"semver": "^7.3.5"
|
||||
},
|
||||
"dependencies": {
|
||||
"semver": {
|
||||
"version": "7.6.3",
|
||||
"resolved": "https://registry.npmmirror.com/semver/-/semver-7.6.3.tgz",
|
||||
"integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"@npmcli/move-file": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmmirror.com/@npmcli/move-file/-/move-file-1.1.2.tgz",
|
||||
"integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"mkdirp": "^1.0.4",
|
||||
"rimraf": "^3.0.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"mkdirp": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmmirror.com/mkdirp/-/mkdirp-1.0.4.tgz",
|
||||
"integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
|
||||
"dev": true
|
||||
},
|
||||
"rimraf": {
|
||||
"version": "3.0.2",
|
||||
"resolved": "https://registry.npmmirror.com/rimraf/-/rimraf-3.0.2.tgz",
|
||||
"integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"glob": "^7.1.3"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"@soda/friendly-errors-webpack-plugin": {
|
||||
"version": "1.8.1",
|
||||
"resolved": "https://registry.npmmirror.com/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.8.1.tgz",
|
||||
@@ -2187,6 +2277,24 @@
|
||||
"integrity": "sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==",
|
||||
"dev": true
|
||||
},
|
||||
"aggregate-error": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmmirror.com/aggregate-error/-/aggregate-error-3.1.0.tgz",
|
||||
"integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"clean-stack": "^2.0.0",
|
||||
"indent-string": "^4.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"indent-string": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmmirror.com/indent-string/-/indent-string-4.0.0.tgz",
|
||||
"integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"ajv": {
|
||||
"version": "6.12.6",
|
||||
"resolved": "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz",
|
||||
@@ -3108,6 +3216,11 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"base64-arraybuffer": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmmirror.com/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz",
|
||||
"integrity": "sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ=="
|
||||
},
|
||||
"base64-js": {
|
||||
"version": "1.5.1",
|
||||
"resolved": "https://registry.npmmirror.com/base64-js/-/base64-js-1.5.1.tgz",
|
||||
@@ -3803,6 +3916,12 @@
|
||||
"source-map": "~0.6.0"
|
||||
}
|
||||
},
|
||||
"clean-stack": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmmirror.com/clean-stack/-/clean-stack-2.2.0.tgz",
|
||||
"integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
|
||||
"dev": true
|
||||
},
|
||||
"cli-cursor": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmmirror.com/cli-cursor/-/cli-cursor-2.1.0.tgz",
|
||||
@@ -4669,6 +4788,14 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"css-line-break": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmmirror.com/css-line-break/-/css-line-break-2.1.0.tgz",
|
||||
"integrity": "sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==",
|
||||
"requires": {
|
||||
"utrie": "^1.0.2"
|
||||
}
|
||||
},
|
||||
"css-loader": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmmirror.com/css-loader/-/css-loader-1.0.1.tgz",
|
||||
@@ -7016,6 +7143,15 @@
|
||||
"universalify": "^0.1.0"
|
||||
}
|
||||
},
|
||||
"fs-minipass": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmmirror.com/fs-minipass/-/fs-minipass-2.1.0.tgz",
|
||||
"integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"minipass": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"fs-write-stream-atomic": {
|
||||
"version": "1.0.10",
|
||||
"resolved": "https://registry.npmmirror.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz",
|
||||
@@ -7756,6 +7892,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"html2canvas": {
|
||||
"version": "1.4.1",
|
||||
"resolved": "https://registry.npmmirror.com/html2canvas/-/html2canvas-1.4.1.tgz",
|
||||
"integrity": "sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==",
|
||||
"requires": {
|
||||
"css-line-break": "^2.1.0",
|
||||
"text-segmentation": "^1.0.3"
|
||||
}
|
||||
},
|
||||
"htmlparser2": {
|
||||
"version": "6.1.0",
|
||||
"resolved": "https://registry.npmmirror.com/htmlparser2/-/htmlparser2-6.1.0.tgz",
|
||||
@@ -10589,6 +10734,68 @@
|
||||
"resolved": "https://registry.npmmirror.com/minimist/-/minimist-1.2.8.tgz",
|
||||
"integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA=="
|
||||
},
|
||||
"minipass": {
|
||||
"version": "3.3.6",
|
||||
"resolved": "https://registry.npmmirror.com/minipass/-/minipass-3.3.6.tgz",
|
||||
"integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"yallist": "^4.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"yallist": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz",
|
||||
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"minipass-collect": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmmirror.com/minipass-collect/-/minipass-collect-1.0.2.tgz",
|
||||
"integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"minipass": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"minipass-flush": {
|
||||
"version": "1.0.5",
|
||||
"resolved": "https://registry.npmmirror.com/minipass-flush/-/minipass-flush-1.0.5.tgz",
|
||||
"integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"minipass": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"minipass-pipeline": {
|
||||
"version": "1.2.4",
|
||||
"resolved": "https://registry.npmmirror.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz",
|
||||
"integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"minipass": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"minizlib": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmmirror.com/minizlib/-/minizlib-2.1.2.tgz",
|
||||
"integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"minipass": "^3.0.0",
|
||||
"yallist": "^4.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"yallist": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz",
|
||||
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"mississippi": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmmirror.com/mississippi/-/mississippi-3.0.0.tgz",
|
||||
@@ -14153,6 +14360,15 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"serialize-javascript": {
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-5.0.1.tgz",
|
||||
"integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"randombytes": "^2.1.0"
|
||||
}
|
||||
},
|
||||
"serve-index": {
|
||||
"version": "1.9.1",
|
||||
"resolved": "https://registry.npmmirror.com/serve-index/-/serve-index-1.9.1.tgz",
|
||||
@@ -15200,6 +15416,188 @@
|
||||
"inherits": "2"
|
||||
}
|
||||
},
|
||||
"terser": {
|
||||
"version": "5.31.3",
|
||||
"resolved": "https://registry.npmmirror.com/terser/-/terser-5.31.3.tgz",
|
||||
"integrity": "sha512-pAfYn3NIZLyZpa83ZKigvj6Rn9c/vd5KfYGX7cN1mnzqgDcxWvrU5ZtAfIKhEXz9nRecw4z3LXkjaq96/qZqAA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@jridgewell/source-map": "^0.3.3",
|
||||
"acorn": "^8.8.2",
|
||||
"commander": "^2.20.0",
|
||||
"source-map-support": "~0.5.20"
|
||||
},
|
||||
"dependencies": {
|
||||
"acorn": {
|
||||
"version": "8.12.1",
|
||||
"resolved": "https://registry.npmmirror.com/acorn/-/acorn-8.12.1.tgz",
|
||||
"integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"terser-webpack-plugin": {
|
||||
"version": "4.2.3",
|
||||
"resolved": "https://registry.npmmirror.com/terser-webpack-plugin/-/terser-webpack-plugin-4.2.3.tgz",
|
||||
"integrity": "sha512-jTgXh40RnvOrLQNgIkwEKnQ8rmHjHK4u+6UBEi+W+FPmvb+uo+chJXntKe7/3lW5mNysgSWD60KyesnhW8D6MQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"cacache": "^15.0.5",
|
||||
"find-cache-dir": "^3.3.1",
|
||||
"jest-worker": "^26.5.0",
|
||||
"p-limit": "^3.0.2",
|
||||
"schema-utils": "^3.0.0",
|
||||
"serialize-javascript": "^5.0.1",
|
||||
"source-map": "^0.6.1",
|
||||
"terser": "^5.3.4",
|
||||
"webpack-sources": "^1.4.3"
|
||||
},
|
||||
"dependencies": {
|
||||
"cacache": {
|
||||
"version": "15.3.0",
|
||||
"resolved": "https://registry.npmmirror.com/cacache/-/cacache-15.3.0.tgz",
|
||||
"integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@npmcli/fs": "^1.0.0",
|
||||
"@npmcli/move-file": "^1.0.1",
|
||||
"chownr": "^2.0.0",
|
||||
"fs-minipass": "^2.0.0",
|
||||
"glob": "^7.1.4",
|
||||
"infer-owner": "^1.0.4",
|
||||
"lru-cache": "^6.0.0",
|
||||
"minipass": "^3.1.1",
|
||||
"minipass-collect": "^1.0.2",
|
||||
"minipass-flush": "^1.0.5",
|
||||
"minipass-pipeline": "^1.2.2",
|
||||
"mkdirp": "^1.0.3",
|
||||
"p-map": "^4.0.0",
|
||||
"promise-inflight": "^1.0.1",
|
||||
"rimraf": "^3.0.2",
|
||||
"ssri": "^8.0.1",
|
||||
"tar": "^6.0.2",
|
||||
"unique-filename": "^1.1.1"
|
||||
}
|
||||
},
|
||||
"chownr": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmmirror.com/chownr/-/chownr-2.0.0.tgz",
|
||||
"integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==",
|
||||
"dev": true
|
||||
},
|
||||
"has-flag": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz",
|
||||
"integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
|
||||
"dev": true
|
||||
},
|
||||
"jest-worker": {
|
||||
"version": "26.6.2",
|
||||
"resolved": "https://registry.npmmirror.com/jest-worker/-/jest-worker-26.6.2.tgz",
|
||||
"integrity": "sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@types/node": "*",
|
||||
"merge-stream": "^2.0.0",
|
||||
"supports-color": "^7.0.0"
|
||||
}
|
||||
},
|
||||
"lru-cache": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz",
|
||||
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"yallist": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"merge-stream": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmmirror.com/merge-stream/-/merge-stream-2.0.0.tgz",
|
||||
"integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
|
||||
"dev": true
|
||||
},
|
||||
"mkdirp": {
|
||||
"version": "1.0.4",
|
||||
"resolved": "https://registry.npmmirror.com/mkdirp/-/mkdirp-1.0.4.tgz",
|
||||
"integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
|
||||
"dev": true
|
||||
},
|
||||
"p-limit": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmmirror.com/p-limit/-/p-limit-3.1.0.tgz",
|
||||
"integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"yocto-queue": "^0.1.0"
|
||||
}
|
||||
},
|
||||
"p-map": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmmirror.com/p-map/-/p-map-4.0.0.tgz",
|
||||
"integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"aggregate-error": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"rimraf": {
|
||||
"version": "3.0.2",
|
||||
"resolved": "https://registry.npmmirror.com/rimraf/-/rimraf-3.0.2.tgz",
|
||||
"integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"glob": "^7.1.3"
|
||||
}
|
||||
},
|
||||
"ssri": {
|
||||
"version": "8.0.1",
|
||||
"resolved": "https://registry.npmmirror.com/ssri/-/ssri-8.0.1.tgz",
|
||||
"integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"minipass": "^3.1.1"
|
||||
}
|
||||
},
|
||||
"supports-color": {
|
||||
"version": "7.2.0",
|
||||
"resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz",
|
||||
"integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"has-flag": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"tar": {
|
||||
"version": "6.2.1",
|
||||
"resolved": "https://registry.npmmirror.com/tar/-/tar-6.2.1.tgz",
|
||||
"integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"chownr": "^2.0.0",
|
||||
"fs-minipass": "^2.0.0",
|
||||
"minipass": "^5.0.0",
|
||||
"minizlib": "^2.1.1",
|
||||
"mkdirp": "^1.0.3",
|
||||
"yallist": "^4.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"minipass": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmmirror.com/minipass/-/minipass-5.0.0.tgz",
|
||||
"integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"yallist": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz",
|
||||
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"test-exclude": {
|
||||
"version": "4.2.3",
|
||||
"resolved": "https://registry.npmmirror.com/test-exclude/-/test-exclude-4.2.3.tgz",
|
||||
@@ -15313,6 +15711,14 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"text-segmentation": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmmirror.com/text-segmentation/-/text-segmentation-1.0.3.tgz",
|
||||
"integrity": "sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==",
|
||||
"requires": {
|
||||
"utrie": "^1.0.2"
|
||||
}
|
||||
},
|
||||
"text-table": {
|
||||
"version": "0.2.0",
|
||||
"resolved": "https://registry.npmmirror.com/text-table/-/text-table-0.2.0.tgz",
|
||||
@@ -15898,6 +16304,14 @@
|
||||
"integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==",
|
||||
"dev": true
|
||||
},
|
||||
"utrie": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmmirror.com/utrie/-/utrie-1.0.2.tgz",
|
||||
"integrity": "sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==",
|
||||
"requires": {
|
||||
"base64-arraybuffer": "^1.0.2"
|
||||
}
|
||||
},
|
||||
"uuid": {
|
||||
"version": "3.4.0",
|
||||
"resolved": "https://registry.npmmirror.com/uuid/-/uuid-3.4.0.tgz",
|
||||
@@ -17239,6 +17653,12 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"yocto-queue": {
|
||||
"version": "0.1.0",
|
||||
"resolved": "https://registry.npmmirror.com/yocto-queue/-/yocto-queue-0.1.0.tgz",
|
||||
"integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
|
||||
"dev": true
|
||||
},
|
||||
"yorkie": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmmirror.com/yorkie/-/yorkie-2.0.0.tgz",
|
||||
|
||||
@@ -26,6 +26,7 @@
|
||||
"crypto-js": "^4.1.1",
|
||||
"echarts": "^4.2.1",
|
||||
"fastclick": "^1.0.6",
|
||||
"html2canvas": "^1.4.1",
|
||||
"js-base64": "^2.5.1",
|
||||
"js-md5": "^0.7.3",
|
||||
"js-sha256": "^0.9.0",
|
||||
|
||||
@@ -116,3 +116,12 @@ export function saveOrUpdateGbc(data) {
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// GBC数据看板
|
||||
export function dataShow(data) {
|
||||
return request({
|
||||
url: getUrl('/sale/gbc/data/show', 1),
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
@@ -24,4 +24,12 @@ export function queryOutOrderList(data) {
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
// 出单详情
|
||||
export function queryOutOrderDetail(data) {
|
||||
return request({
|
||||
url: getUrl(`/sale/order/queryOutOrderDetail`, 1),
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
@@ -39,10 +39,30 @@ export function getOrgList(data) {
|
||||
|
||||
// 获取MIS全部机构 (分级)接口--因内勤多加一级,所以用这个接口
|
||||
export function getMisBranchComList(data) {
|
||||
// data.isJzg false 为内勤
|
||||
// data.isJzg true 为外勤
|
||||
return request({
|
||||
url: getUrl('/data/performance/getMisBranchComList', 1),
|
||||
url: getUrl( '/data/performance/getMisBranchComList', 1),
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
export function getMisBranchComList2(data) {
|
||||
// data.isJzg false 为内勤
|
||||
// data.isJzg true 为外勤
|
||||
return request({
|
||||
url: getUrl( '/agent/agent/getJZGManageComList' , 1),
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
// 内勤机构
|
||||
// export function getMisBranchComList(data) {
|
||||
// return request({
|
||||
// url: getUrl('/data/performance/getMisBranchComList', 1),
|
||||
// method: 'post',
|
||||
// data
|
||||
// })
|
||||
// }
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
* @Date: 2021-03-26 10:38:37
|
||||
* @LastEditTime: 2021-04-02 16:10:30
|
||||
* @LastEditors: PangXingYue
|
||||
* @Description:
|
||||
* @Description:
|
||||
* @FilePath: \ebiz-h5\src\api\ebiz\cardList\cardList.js
|
||||
*/
|
||||
// 卡单接口
|
||||
@@ -95,7 +95,7 @@ export function getPayTemp(data) {
|
||||
//
|
||||
export function getShareParam(data) {
|
||||
return request({
|
||||
url: getUrl('/customer/account/getShareParam', 1),
|
||||
url: getUrl('/customer/account/getShareParam', 1),
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
@@ -168,4 +168,12 @@ export function deleteGroupCardByInsured(data) {
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
}
|
||||
// 不让跨天支付 单新契约出单跨天支付流程优化
|
||||
export function cardContIsPay(data) {
|
||||
return request({
|
||||
url: getUrl('/sale/card/contIsPay', 1),
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
@@ -117,4 +117,15 @@ export function funcPermCheck(data) {
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
/** add by zhangweiwei FCRS-764 国富无忧两全保险(B款)新增主险职业校验逻辑 start at 20240807 */
|
||||
// 校验职业是否符合产品要求
|
||||
export function occupationCodeCheck(data) {
|
||||
return request({
|
||||
url: getUrl('/sale/product/occupationCodeCheck', 1),
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
/** add by zhangweiwei FCRS-764 国富无忧两全保险(B款)新增主险职业校验逻辑 end at 20240807 */
|
||||
@@ -118,3 +118,13 @@ export function exportExcel(data) {
|
||||
data
|
||||
})
|
||||
}
|
||||
export function base64Excel(data) {
|
||||
return request({
|
||||
// url: 'http://10.10.100.98:7012/updown/uploadBase64Image',
|
||||
url: getUrl('/uploadBase64Image', 1,2),
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -335,17 +335,6 @@ export function getBankCardSignState(data) {
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
// 入司人自互保件校验
|
||||
export function CommitmentSelfCheck(data) {
|
||||
return request1({
|
||||
url: getUrl('/sale/commitment/CommitmentSelfCheck', 1),
|
||||
method: 'post',
|
||||
data
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
// 获取柳州分红万能投连型产品编码集合
|
||||
export function getUniversalCodeLst(data) {
|
||||
return request({
|
||||
|
||||
BIN
src/assets/images/home_product_center_m0092.png
Normal file
BIN
src/assets/images/home_product_center_m0092.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 228 KiB |
BIN
src/assets/images/home_product_center_m0094.png
Normal file
BIN
src/assets/images/home_product_center_m0094.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 342 KiB |
BIN
src/assets/images/list_img.png
Normal file
BIN
src/assets/images/list_img.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 273 KiB |
BIN
src/assets/images/sale/coin.png
Normal file
BIN
src/assets/images/sale/coin.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.3 KiB |
@@ -3923,6 +3923,30 @@ export default {
|
||||
{
|
||||
code: "GFRS_M0086__cashValue",
|
||||
label: "元"
|
||||
},
|
||||
{
|
||||
code: "wuyouliangquanbkx",
|
||||
label: "元"
|
||||
},
|
||||
{
|
||||
code: "currentPaidUpAdditions_L",
|
||||
label: "元"
|
||||
},
|
||||
{
|
||||
code: "currentPaidUpAdditions_M",
|
||||
label: "元"
|
||||
},
|
||||
{
|
||||
code: "totalPaidUpAdditions_L",
|
||||
label: "元"
|
||||
},
|
||||
{
|
||||
code: "totalPaidUpAdditions_M",
|
||||
label: "元"
|
||||
},
|
||||
{
|
||||
code: "GFRS_M0094__cashValue",
|
||||
label: "元"
|
||||
}
|
||||
],
|
||||
// 卡单与短期险重新投保选择职业类别时,两个模块职业类型数据的排序不同,创建这个数据字典,用于在选择职业类别时,作为一个参数传入组件,
|
||||
@@ -3952,7 +3976,7 @@ export default {
|
||||
{ id: 'M', text: '母亲' }
|
||||
],
|
||||
// <!--------- 津贴申请专用 end --------->
|
||||
imageInfoType:[
|
||||
imageInfoType: [
|
||||
{ id: '1', text: '居民身份证正面' },
|
||||
{ id: '2', text: '居民身份证反面' },
|
||||
{ id: '3', text: '银行卡正面' },
|
||||
|
||||
@@ -62,7 +62,8 @@ let sale = [
|
||||
'/sale/insure/selfToHuman',
|
||||
'/sale/insure/orderPayStatusQuery',
|
||||
'/sale/order/revokeOrder',
|
||||
'/sale/product/getcompany'
|
||||
'/sale/product/getcompany',
|
||||
'/sale/product/occupationCodeCheck'
|
||||
] //在线投保
|
||||
let agentEnter = [
|
||||
'/agent/enter/share',
|
||||
|
||||
254
src/components/ebiz/billingDetail/tableDetail2.vue
Normal file
254
src/components/ebiz/billingDetail/tableDetail2.vue
Normal file
@@ -0,0 +1,254 @@
|
||||
<template>
|
||||
<div class="statisticsTable">
|
||||
<div class="statisticsTable_table">
|
||||
<div class="table">
|
||||
<table cellspacing="0" summary cellpadding="1">
|
||||
<thead>
|
||||
<tr>
|
||||
<th :class="{ 'th-fixed': index < 1 }" v-for="(item, index) in theads" :key="index">{{ item }}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr v-for="(item, index) in tableData" :key="index" :ref="'th' + index" @click="(e) => double_click(index, item)">
|
||||
<td class="th-fixed" @click="goLink(item)">{{ Number(index) + 1 }}</td>
|
||||
<td class="timeDate" v-show="timeShow">{{ item.signDate }}</td>
|
||||
<td class="timeDate" v-show="timeShow == false">{{ item.appntDate }}</td>
|
||||
<td class="productName">{{ item.productName }}</td>
|
||||
<td class="prem">{{ item.prem }}</td>
|
||||
<td>
|
||||
<span class="td-sheng">{{ item.name }}</span>
|
||||
</td>
|
||||
<td>{{ item.manageComName }}</td>
|
||||
<td class="chakan">
|
||||
<van-button size="mini" type="danger" @click="download(item)">下载贺报</van-button>
|
||||
<van-button size="mini" type="info" @click="look(item.orderNo)">查看</van-button>
|
||||
</td>
|
||||
<!-- <td>{{ item.branchTypeName }}</td>-->
|
||||
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="pagination" v-if="total > 5">
|
||||
<div type="text" @click="pageUp" :style="pageNum > 1 ? 'color:red' : ''">上一页</div>
|
||||
<div style="color: red">{{ pageNum }}/{{ Math.ceil(total / pageSize) }}</div>
|
||||
<div @click="pageDown" :style="pageNum < Math.ceil(total / pageSize) ? 'color:red' : ''">下一页 ></div>
|
||||
<div v-if="pageNum == 1" class="shangzheBox"></div>
|
||||
<div v-if="pageNum >= Math.ceil(total / pageSize)" class="xiazheBox"></div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: 'tableDetail',
|
||||
props: {
|
||||
theads: {
|
||||
type: Array,
|
||||
default: []
|
||||
},
|
||||
isLink: {
|
||||
type: Boolean,
|
||||
default: false
|
||||
},
|
||||
total: {
|
||||
type: Number,
|
||||
default: false
|
||||
},
|
||||
pageSize: {
|
||||
type: Number,
|
||||
default: false
|
||||
},
|
||||
pageNum: {
|
||||
type: Number,
|
||||
default: false
|
||||
},
|
||||
tableData: {
|
||||
type: Array,
|
||||
default: []
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
timeShow: false,
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
theads(newVal) {
|
||||
if (newVal) {
|
||||
for(let i=0;i<this.theads.length;i++) {
|
||||
if(this.theads[i] == '承保时间') {
|
||||
this.timeShow = true
|
||||
} else if(this.theads[i] == '预收时间') {
|
||||
this.timeShow = false
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
for(let i=0;i<this.theads.length;i++) {
|
||||
if(this.theads[i] == '承保时间') {
|
||||
this.timeShow = true
|
||||
} else if(this.theads[i] == '预收时间') {
|
||||
this.timeShow = false
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
double_click(index, fn, data) {
|
||||
let timestamp = 0
|
||||
this.$refs['th' + index][0].addEventListener('click', () => {
|
||||
const now = new Date()
|
||||
if (now - timestamp <= 300) {
|
||||
this.$emit('double_click', this.tableData[index])
|
||||
// fn();
|
||||
timestamp = 0
|
||||
} else {
|
||||
timestamp = now
|
||||
}
|
||||
})
|
||||
},
|
||||
pageUp() {
|
||||
if (this.pageNum <= 1) {
|
||||
return false
|
||||
}
|
||||
let page = this.pageNum - 1
|
||||
this.$emit('currentChange', page)
|
||||
},
|
||||
pageDown() {
|
||||
let end_num = Math.ceil(this.total / this.pageNum)
|
||||
if (this.pageNum >= end_num) {
|
||||
return false
|
||||
}
|
||||
let page = this.pageNum + 1
|
||||
this.$emit('currentChange', page)
|
||||
},
|
||||
goLink(item) {
|
||||
if (this.isLink) {
|
||||
this.$emit('goLink', item)
|
||||
}
|
||||
},
|
||||
// 跳转至下载贺报页面
|
||||
download(data){
|
||||
this.$emit('from-child', data);
|
||||
},
|
||||
// 查看详情 跳转至详情页面
|
||||
look(num) {
|
||||
this.$emit('fro-child', num);
|
||||
// console.log(num);
|
||||
// this.$router.push({
|
||||
// path: '/policyDetails',
|
||||
// query: {
|
||||
// orderNo: num,
|
||||
// }
|
||||
// })
|
||||
},
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.pagination {
|
||||
display: flex;
|
||||
margin-top: 10px;
|
||||
margin-bottom: 10px;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
position: relative;
|
||||
.shangzheBox {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 70px;
|
||||
height: 30px;
|
||||
}
|
||||
.xiazheBox {
|
||||
position: absolute;
|
||||
right: 0;
|
||||
top: 0;
|
||||
width: 70px;
|
||||
height: 30px;
|
||||
}
|
||||
}
|
||||
.statisticsTable_table {
|
||||
height: 82.5vh;
|
||||
overflow: auto;
|
||||
//width: 1000px;
|
||||
}
|
||||
.statisticsTable_table .table {
|
||||
width: 195.6vw !important;
|
||||
}
|
||||
.timeDate {
|
||||
width: 90px !important;
|
||||
}
|
||||
.productName {
|
||||
width: 35vw;
|
||||
}
|
||||
.chakan {
|
||||
width: 130px;
|
||||
}
|
||||
.prem {
|
||||
text-align: right !important;
|
||||
width: 90px !important;
|
||||
padding-right: 7px !important;
|
||||
}
|
||||
.statisticsTable th {
|
||||
width: 90px;
|
||||
}
|
||||
table {
|
||||
// width: 200vw;
|
||||
}
|
||||
.th-fixed {
|
||||
position: sticky;
|
||||
border: 1px solid #999 !important;
|
||||
left: 0;
|
||||
width: 35px !important;
|
||||
padding: 0 5px;
|
||||
}
|
||||
.statisticsTable {
|
||||
width: 100%;
|
||||
overflow-x: hidden;
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
table,
|
||||
th,
|
||||
td {
|
||||
border: 1px solid #999;
|
||||
text-align: center;
|
||||
font-size: 14px;
|
||||
line-height: 30px;
|
||||
background: #fff;
|
||||
}
|
||||
thead {
|
||||
th {
|
||||
height: 40px;
|
||||
line-height: 40px;
|
||||
background: #e9332e;
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.td-fixed {
|
||||
// position: sticky;
|
||||
width: 33px !important;
|
||||
padding: 0 5px;
|
||||
left: 0;
|
||||
text-decoration: underline;
|
||||
}
|
||||
.td-sheng {
|
||||
display: block;
|
||||
width: 65px; /* 设置span的宽度 */
|
||||
white-space: nowrap; /* 确保文本不换行 */
|
||||
overflow: hidden; /* 隐藏超出span宽度的文本 */
|
||||
text-overflow: ellipsis; /* 超出部分显示为省略号 */
|
||||
text-align: left; /* 文本对齐方式 */
|
||||
margin: 0 auto;
|
||||
text-align: center;
|
||||
}
|
||||
</style>
|
||||
@@ -1,14 +1,32 @@
|
||||
const billingDetail = () => import('@/views/ebiz/billingDetail/billingDetail')
|
||||
const generateImg = () => import('@/views/ebiz/generateImg/generateImg')
|
||||
const policyDetails = () => import('@/views/ebiz/billingDetail/policyDetails')
|
||||
|
||||
|
||||
export default [
|
||||
{
|
||||
path: '/billingDetail',
|
||||
name: 'billingDetail',
|
||||
component: billingDetail,
|
||||
meta: {
|
||||
title: '出单详情',
|
||||
index: 1
|
||||
}
|
||||
{
|
||||
path: '/billingDetail',
|
||||
name: 'billingDetail',
|
||||
component: billingDetail,
|
||||
meta: {
|
||||
title: '出单详情',
|
||||
index: 1
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
path: '/generateImg',
|
||||
name: 'generateImg',
|
||||
component: generateImg,
|
||||
meta: {
|
||||
title: '业绩贺报'
|
||||
}
|
||||
},
|
||||
{
|
||||
path: '/policyDetails',
|
||||
name: 'policyDetails',
|
||||
component: policyDetails,
|
||||
meta: {
|
||||
title: '保单详情',
|
||||
}
|
||||
},
|
||||
]
|
||||
|
||||
@@ -52,14 +52,14 @@
|
||||
</div>
|
||||
<div v-if="tabActive == 'dataBoard'">
|
||||
<div style="margin: 10px;padding: 10px;background: #fff;border-radius: 5px;">
|
||||
<p style="font-size: 18px;line-height: 35px;font-weight: bold;">项目名称:国富人寿北京协和医院AA项目</p>
|
||||
<p style="color: #a7a7a7;font-size: 14px;">数据截止日期:2024-03-30</p>
|
||||
<p style="font-size: 18px;line-height: 35px;font-weight: bold;">项目名称:{{calGbcProject.projectName}}</p>
|
||||
<p style="color: #a7a7a7;font-size: 14px;">数据截止日期:{{calGbcProject.endDate}}</p>
|
||||
<div style="display: flex;justify-content: center;margin-top: 20px;">
|
||||
<van-circle v-model="currentRate" color="#E9332E" :stroke-width="60" size="80px" :rate="85" :speed="100" :text="text" />
|
||||
<van-circle v-model="currentRate" color="#E9332E" :stroke-width="60" size="80px" :rate="interviewConversionRate" :speed="100" :text="text" />
|
||||
</div>
|
||||
<p style="display: flex;justify-content: center;font-weight: bold;font-size: 14px;margin: 10px;">面谈转化率</p>
|
||||
<div style="padding: 10px;background: rgba(251, 235, 230, 0.5);border-radius: 5px;display: flex;justify-content: flex-start;flex-wrap:wrap;">
|
||||
<div v-for="(item,index) in dataList1" style="width: 33%;display: flex;justify-content: space-around;align-items: center;">
|
||||
<div v-for="(item,index) in calGbcProjectDataList" style="width: 33%;display: flex;justify-content: space-around;align-items: center;">
|
||||
<div>
|
||||
<div style="font-size: 12px;line-height: 22px;margin: 7px 0px;">
|
||||
<p style="display: flex;justify-content: center;font-size: 14px;">{{item.value}}</p>
|
||||
@@ -76,7 +76,7 @@
|
||||
<div style="margin: 10px;padding: 10px;background: #fff;border-radius: 5px;">
|
||||
<div style="border-bottom: 1px dashed #666;padding-bottom: 15px;">
|
||||
<p style="font-size: 18px;line-height: 35px;font-weight: bold;">项目成员分配</p>
|
||||
<p style="color: #a7a7a7;font-size: 14px;">数据截止日期:2024-03-30</p>
|
||||
<p v-if="calGbcPersonList.length != 0" style="color: #a7a7a7;font-size: 14px;">数据截止日期:{{calGbcPersonList[0].endDate}}</p>
|
||||
</div>
|
||||
<div style="margin-top: 10px;margin-bottom: 3px;background: rgba(255, 87, 83, 0.7);line-height: 30px;display: flex;align-items: center;color: #fff;font-size: 14px;">
|
||||
<span style="width: 18%;display: flex;justify-content: center;">成员</span>
|
||||
@@ -85,11 +85,11 @@
|
||||
<span style="width: 30%;display: flex;justify-content: center;">受理标保(元)</span>
|
||||
</div>
|
||||
<div>
|
||||
<div v-for="item in dataList2" style="background: rgba(251, 235, 230, 0.44);margin-bottom: 1px;line-height: 30px;display: flex;align-items: center;color: #333;font-size: 13px;">
|
||||
<span style="width: 18%;display: flex;justify-content: center;">{{item.name}}</span>
|
||||
<span style="width: 22%;display: flex;justify-content: center;">{{item.role}}</span>
|
||||
<span style="width: 30%;display: flex;justify-content: center;">{{item.value1}}</span>
|
||||
<span style="width: 30%;display: flex;justify-content: center;">{{item.value2}}</span>
|
||||
<div v-for="item in calGbcPersonList" style="background: rgba(251, 235, 230, 0.44);margin-bottom: 1px;line-height: 30px;display: flex;align-items: center;color: #333;font-size: 13px;">
|
||||
<span style="width: 18%;display: flex;justify-content: center;">{{item.personName}}</span>
|
||||
<span style="width: 22%;display: flex;justify-content: center;">{{item.roleName}}</span>
|
||||
<span style="width: 30%;display: flex;justify-content: center;">{{item.sumStandardPrem}}</span>
|
||||
<span style="width: 30%;display: flex;justify-content: center;">{{item.sumAcceptedPrem}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -97,14 +97,15 @@
|
||||
<div style="margin: 10px;padding: 10px;background: #fff;border-radius: 5px;">
|
||||
<div style="border-bottom: 1px dashed #666;padding-bottom: 15px;">
|
||||
<p style="font-size: 18px;line-height: 35px;font-weight: bold;">项目数据统计</p>
|
||||
<p style="color: #a7a7a7;font-size: 14px;">数据截止日期:2024-03-30</p>
|
||||
<p v-if="calGbcTeamList.length != 0" style="color: #a7a7a7;font-size: 14px;">数据截止日期:{{calGbcTeamList[0].endDate}}</p>
|
||||
</div>
|
||||
<div style="overflow: auto;">
|
||||
<table cellspacing=0 style="margin-top: 10px;">
|
||||
<thead style="background: rgba(255, 87, 83, 0.7);color: #fff;">
|
||||
<tr class="theadClass">
|
||||
<th>小组</th>
|
||||
<th style="padding: 0px 40px;">小组</th>
|
||||
<th>组长</th>
|
||||
<th>承保保费(元)</th>
|
||||
<th>获客人数</th>
|
||||
<th>获客率</th>
|
||||
<th>筛客人数</th>
|
||||
@@ -125,40 +126,42 @@
|
||||
<tbody>
|
||||
<tr class="tbodyClass">
|
||||
<td colspan="2">项目合并</td>
|
||||
<td>.00</td>
|
||||
<td>.00</td>
|
||||
<td>.00</td>
|
||||
<td>.00</td>
|
||||
<td>.00</td>
|
||||
<td>.00</td>
|
||||
<td>.00</td>
|
||||
<td>.00</td>
|
||||
<td>.00</td>
|
||||
<td>.00</td>
|
||||
<td>.00</td>
|
||||
<td>.00</td>
|
||||
<td>.00</td>
|
||||
<td>.00</td>
|
||||
<td>.00</td>
|
||||
<td>{{calGbcTeamTotalDTO.sumInsuredPrem}}</td>
|
||||
<td>{{calGbcTeamTotalDTO.guestNum}}</td>
|
||||
<td>{{calGbcTeamTotalDTO.guestRate}}</td>
|
||||
<td>{{calGbcTeamTotalDTO.guestSelectNum}}</td>
|
||||
<td>{{calGbcTeamTotalDTO.guestSelectRate}}</td>
|
||||
<td>{{calGbcTeamTotalDTO.sumStandardPrem}}</td>
|
||||
<td>{{calGbcTeamTotalDTO.sumInsuredNum}}</td>
|
||||
<td>{{calGbcTeamTotalDTO.sumInsuredCases}}</td>
|
||||
<td>{{calGbcTeamTotalDTO.averagePrem}}</td>
|
||||
<td>{{calGbcTeamTotalDTO.interviewConversionRate}}</td>
|
||||
<td>{{calGbcTeamTotalDTO.acceptedRate}}</td>
|
||||
<td>{{calGbcTeamTotalDTO.sumAcceptedPrem}}</td>
|
||||
<td>{{calGbcTeamTotalDTO.sumAcceptedCases}}</td>
|
||||
<td>{{calGbcTeamTotalDTO.sumMajorDiseaseCases}}</td>
|
||||
<td>{{calGbcTeamTotalDTO.sumMajorDiseasePrem}}</td>
|
||||
<td>{{calGbcTeamTotalDTO.averageMajorDiseasePrem}}</td>
|
||||
</tr>
|
||||
<tr v-for="(item,index) in dataList3" :key="index" class="tbodyClass">
|
||||
<td>{{item.name}}</td>
|
||||
<td>{{item.name}}</td>
|
||||
<td>{{item.name}}</td>
|
||||
<td>{{item.name}}</td>
|
||||
<td>{{item.name}}</td>
|
||||
<td>{{item.name}}</td>
|
||||
<td>{{item.name}}</td>
|
||||
<td>{{item.name}}</td>
|
||||
<td>{{item.name}}</td>
|
||||
<td>{{item.name}}</td>
|
||||
<td>{{item.name}}</td>
|
||||
<td>{{item.name}}</td>
|
||||
<td>{{item.name}}</td>
|
||||
<td>{{item.name}}</td>
|
||||
<td>{{item.name}}</td>
|
||||
<td>{{item.name}}</td>
|
||||
<td>{{item.name}}</td>
|
||||
<tr v-for="(item,index) in calGbcTeamList" :key="index" class="tbodyClass">
|
||||
<td class="teamNameTdClass">{{item.teamName}}</td>
|
||||
<td>{{item.leaderName}}</td>
|
||||
<td>{{item.sumInsuredPrem}}</td>
|
||||
<td>{{item.guestNum}}</td>
|
||||
<td>{{item.guestRate}}</td>
|
||||
<td>{{item.guestSelectNum}}</td>
|
||||
<td>{{item.guestSelectRate}}</td>
|
||||
<td>{{item.sumStandardPrem}}</td>
|
||||
<td>{{item.sumInsuredNum}}</td>
|
||||
<td>{{item.sumInsuredCases}}</td>
|
||||
<td>{{item.averagePrem}}</td>
|
||||
<td>{{item.interviewConversionRate}}</td>
|
||||
<td>{{item.acceptedRate}}</td>
|
||||
<td>{{item.sumAcceptedPrem}}</td>
|
||||
<td>{{item.sumAcceptedCases}}</td>
|
||||
<td>{{item.sumMajorDiseaseCases}}</td>
|
||||
<td>{{item.sumMajorDiseasePrem}}</td>
|
||||
<td>{{item.averageMajorDiseasePrem}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
@@ -185,7 +188,7 @@
|
||||
<script>
|
||||
import { Tab, Tabs, Search, DropdownMenu, DropdownItem, Circle } from 'vant'
|
||||
import { getList } from '@/api/ebiz/product/product.js'
|
||||
import { getGBCappntlist } from '@/api/GBC/GBC.js'
|
||||
import { getGBCappntlist, dataShow } from '@/api/GBC/GBC.js'
|
||||
export default {
|
||||
components: {
|
||||
[Tab.name]: Tab,
|
||||
@@ -217,33 +220,20 @@ export default {
|
||||
customerList:[],
|
||||
currentRate: 0,
|
||||
colorList:['#E9332E','#CB9BFF','#54C6FA','#FF9B39','#60D64D','#4045F3','#FF59D9','#E8C0A2','#FCD338','#7584A2'],
|
||||
dataList1:[
|
||||
{name:'累计受理保费(元)',value:'150,000.00'},
|
||||
{name:'累计标保(元)',value:'250,000.00'},
|
||||
{name:'件均保费(元)',value:'130,000.00'},
|
||||
{name:'件均保费(元)',value:'10856'},
|
||||
{name:'累计受理件数(件)',value:'356'},
|
||||
{name:'累计承保人数(人)',value:'9569'},
|
||||
{name:'累计承保件数(件)',value:'262'},
|
||||
],
|
||||
dataList2:[
|
||||
{name:'张大大',role:'项目经理',value1:'15,000.00',value2:'15,000.00'},
|
||||
{name:'张大大',role:'项目经理',value1:'15,000.00',value2:'15,000.00'},
|
||||
{name:'张大大',role:'项目经理',value1:'15,000.00',value2:'15,000.00'},
|
||||
{name:'张大大',role:'项目经理',value1:'15,000.00',value2:'15,000.00'},
|
||||
{name:'张大大',role:'项目经理',value1:'15,000.00',value2:'15,000.00'},
|
||||
{name:'张大大',role:'项目经理',value1:'15,000.00',value2:'15,000.00'},
|
||||
{name:'张大大',role:'项目经理',value1:'15,000.00',value2:'15,000.00'},
|
||||
],
|
||||
dataList3:[
|
||||
{name:'A组',role:'李艾',value1:'600',value2:'60'},
|
||||
{name:'A组',role:'李艾',value1:'600',value2:'60'},
|
||||
{name:'A组',role:'李艾',value1:'600',value2:'60'},
|
||||
{name:'A组',role:'李艾',value1:'600',value2:'60'},
|
||||
{name:'A组',role:'李艾',value1:'600',value2:'60'},
|
||||
{name:'A组',role:'李艾',value1:'600',value2:'60'},
|
||||
{name:'A组',role:'李艾',value1:'600',value2:'60'},
|
||||
calGbcProject: {},
|
||||
interviewConversionRate: 0,
|
||||
calGbcProjectDataList:[
|
||||
{name:'累计受理保费(元)',value:'150,000.00', code: 'sumAcceptedPrem'},
|
||||
{name:'累计标保(元)',value:'250,000.00', code: 'sumStandardPrem'},
|
||||
{name:'件均保费(元)',value:'130,000.00', code: 'averagePrem'},
|
||||
{name:'累计受理人数(人)',value:'10856', code: 'sumAcceptedNum'},
|
||||
{name:'累计受理件数(件)',value:'356', code: 'sumAcceptedCases'},
|
||||
{name:'累计承保人数(人)',value:'9569', code: 'sumInsuredNum'},
|
||||
{name:'累计承保件数(件)',value:'262', code: 'sumInsuredCases'},
|
||||
],
|
||||
calGbcPersonList:[],
|
||||
calGbcTeamList:[],
|
||||
calGbcTeamTotalDTO: {},
|
||||
dataList4:[],
|
||||
}
|
||||
},
|
||||
@@ -254,8 +244,34 @@ export default {
|
||||
document.title = this.$route.query.projectName
|
||||
this.getGBCappntlist()
|
||||
this.getProductList()
|
||||
this.getDataShow()
|
||||
},
|
||||
methods: {
|
||||
getDataShow() {
|
||||
let params = {
|
||||
projectCode: this.$route.query.projectCode
|
||||
}
|
||||
dataShow(params).then(res => {
|
||||
this.calGbcPersonList = []
|
||||
this.calGbcTeamList = []
|
||||
if(res.result == '0') {
|
||||
this.calGbcProject = res.content.calGbcProject
|
||||
this.interviewConversionRate = Number(res.content.calGbcProject.interviewConversionRate)
|
||||
for(let key in res.content.calGbcProject) {
|
||||
this.calGbcProjectDataList.forEach(item => {
|
||||
if(item.code == key) {
|
||||
item.value = res.content.calGbcProject[key]
|
||||
}
|
||||
})
|
||||
}
|
||||
this.calGbcPersonList = res.content.calGbcPersonList
|
||||
this.calGbcTeamList = res.content.calGbcTeamList
|
||||
this.calGbcTeamTotalDTO = res.content.calGbcTeamTotalDTO
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
},
|
||||
dropdownMenuChange(value){
|
||||
this.filterType = value
|
||||
this.searchvalue = ''
|
||||
@@ -439,4 +455,8 @@ export default {
|
||||
border-bottom:1px solid #fff;
|
||||
}
|
||||
}
|
||||
.teamNameTdClass{
|
||||
display: block;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;
|
||||
//width: 105px;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -1,23 +1,22 @@
|
||||
<template>
|
||||
<div class='insured-info-container pb50'>
|
||||
<div class="insured-info-container pb50">
|
||||
<!-- 基本信息 -->
|
||||
<van-cell-group class='mt10'>
|
||||
<p style='border-bottom: 1px solid #ebedf0' class='fs15 fwb pl10 pv12'>推荐人信息</p>
|
||||
<van-field v-model='recommender.name' label='推荐人姓名' name='推荐人姓名' readonly />
|
||||
<van-field :value='getAgentGrade(recommender.agentGrade)' label='推荐人职级' name='推荐人职级' readonly />
|
||||
<van-cell-group class="mt10">
|
||||
<p style="border-bottom: 1px solid #ebedf0" class="fs15 fwb pl10 pv12">推荐人信息</p>
|
||||
<van-field v-model="recommender.name" label="推荐人姓名" name="推荐人姓名" readonly />
|
||||
<van-field :value="getAgentGrade(recommender.agentGrade)" label="推荐人职级" name="推荐人职级" readonly />
|
||||
<!-- <van-field v-model="recommender.applyNo" label="推荐人工号" name="推荐人工号" readonly /> -->
|
||||
<van-field v-model='recommender.unitName' label='销售机构' name='销售机构' readonly />
|
||||
<p style='border-bottom: 1px solid #ebedf0' class='fs15 fwb pl10 pv12'>个人信息</p>
|
||||
<van-field v-model='userInfo.name' label='姓名' name='姓名' placeholder='请输入' v-validate="'required|name'"
|
||||
clearable />
|
||||
<van-field v-model="recommender.unitName" label="销售机构" name="销售机构" readonly />
|
||||
<p style="border-bottom: 1px solid #ebedf0" class="fs15 fwb pl10 pv12">个人信息</p>
|
||||
<van-field v-model="userInfo.name" label="姓名" name="姓名" placeholder="请输入" v-validate="'required|name'" clearable />
|
||||
<van-field
|
||||
:value="userInfo.applGrade | idToText('applGrade')"
|
||||
v-validate="'required'"
|
||||
readonly
|
||||
label='职级'
|
||||
name='职级'
|
||||
right-icon='arrow'
|
||||
placeholder='请选择职级'
|
||||
label="职级"
|
||||
name="职级"
|
||||
right-icon="arrow"
|
||||
placeholder="请选择职级"
|
||||
@click="toSelect('13')"
|
||||
/>
|
||||
|
||||
@@ -25,62 +24,57 @@
|
||||
:value="userInfo.idType | idToText('idType')"
|
||||
v-validate="'required'"
|
||||
readonly
|
||||
label='证件类型'
|
||||
name='证件类型'
|
||||
right-icon='arrow'
|
||||
placeholder='请选择证件类型'
|
||||
label="证件类型"
|
||||
name="证件类型"
|
||||
right-icon="arrow"
|
||||
placeholder="请选择证件类型"
|
||||
@click="toSelect('1')"
|
||||
/>
|
||||
<van-field
|
||||
v-model='userInfo.idNo'
|
||||
placeholder='请输入证件号码'
|
||||
label='证件号码'
|
||||
name='证件号码'
|
||||
v-model="userInfo.idNo"
|
||||
placeholder="请输入证件号码"
|
||||
label="证件号码"
|
||||
name="证件号码"
|
||||
v-validate="'required'"
|
||||
maxlength='18'
|
||||
maxlength="18"
|
||||
clearable
|
||||
@blur='getRelatedData(userInfo.idNo)'
|
||||
@blur="getRelatedData(userInfo.idNo)"
|
||||
/>
|
||||
<select-radio :radios='sexRadio' label='性别' name='性别' v-validate="'required'" :required='false'
|
||||
:value.sync='userInfo.sex'></select-radio>
|
||||
<van-field v-model='userInfo.mobile' label='手机号' name='手机号' placeholder='请输入手机号' v-validate="'required|mobile'"
|
||||
maxlength='11' clearable />
|
||||
<van-field v-model='userInfo.authCode' center clearable label name='短信验证码' placeholder='请输入短信验证码'
|
||||
v-validate="'required'" maxlength='6'>
|
||||
<van-button slot='button' size='small' type='danger' @click='getCode' :disabled='codeDisabled'
|
||||
v-no-more-click='1000'>
|
||||
<select-radio :radios="sexRadio" label="性别" name="性别" v-validate="'required'" :required="false" :value.sync="userInfo.sex"></select-radio>
|
||||
<van-field v-model="userInfo.mobile" label="手机号" name="手机号" placeholder="请输入手机号" v-validate="'required|mobile'" maxlength="11" clearable />
|
||||
<van-field v-model="userInfo.authCode" center clearable label name="短信验证码" placeholder="请输入短信验证码" v-validate="'required'" maxlength="6">
|
||||
<van-button slot="button" size="small" type="danger" @click="getCode" :disabled="codeDisabled" v-no-more-click="1000">
|
||||
{{ codeDisabled ? `${countDown}s后重新获取` : '获取验证码' }}
|
||||
</van-button>
|
||||
</van-field>
|
||||
</van-cell-group>
|
||||
<van-button type='danger' class='bottom-btn' @click='nextStep' v-no-more-click='1000'>提交信息</van-button>
|
||||
<van-button type="danger" class="bottom-btn" @click="nextStep" v-no-more-click="1000">提交信息</van-button>
|
||||
|
||||
<!-- 字段选择 -->
|
||||
<van-popup v-model='popupShow' position='bottom'>
|
||||
<van-picker show-toolbar :columns='columns' @confirm='onConfirm' @cancel='popupShow = false' />
|
||||
<van-popup v-model="popupShow" position="bottom">
|
||||
<van-picker show-toolbar :columns="columns" @confirm="onConfirm" @cancel="popupShow = false" />
|
||||
</van-popup>
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { Field, CellGroup, Checkbox, Popup, Picker, Area, RadioGroup, Radio, Dialog } from 'vant';
|
||||
import SelectRadio from '@/components/ebiz/SelectRadio';
|
||||
import FieldDatePicter from '@/components/ebiz/FieldDatePicter';
|
||||
import OccupationPicker from '@/components/ebiz/occipation/OccupationPicker';
|
||||
import CustomerPicker from '@/components/ebiz/customer/CustomerPicker';
|
||||
import DataDictionary from '@/assets/js/utils/data-dictionary';
|
||||
import areaList from '@/assets/js/utils/area';
|
||||
import { getTokenForAgent, agentInfowxSubmit, getTokenForUserModel } from '@/api/ebiz/agentEenter/agentEenter';
|
||||
import utilsAge from '@/assets/js/utils/age';
|
||||
import getAreaName from '@/assets/js/utils/get-area-name';
|
||||
import IdentityCardScan from '@/components/ebiz/sale/IdentityCardScan';
|
||||
import idNoCheck from '@/assets/js/utils/idNoCheck';
|
||||
import beforeDate from '@/assets/js/utils/getBeforeDate.js';
|
||||
import { idToData } from '@/assets/js/utils/verification';
|
||||
import { weixinShare } from '@/assets/js/utils/wxShare.js';
|
||||
import axios from 'axios';
|
||||
import index from '@/config/index';
|
||||
import { getAuthCode,CommitmentSelfCheck } from '@/api/ebiz/sale/sale';
|
||||
|
||||
import { Field, CellGroup, Checkbox, Popup, Picker, Area, RadioGroup, Radio, Dialog } from 'vant'
|
||||
import SelectRadio from '@/components/ebiz/SelectRadio'
|
||||
import FieldDatePicter from '@/components/ebiz/FieldDatePicter'
|
||||
import OccupationPicker from '@/components/ebiz/occipation/OccupationPicker'
|
||||
import CustomerPicker from '@/components/ebiz/customer/CustomerPicker'
|
||||
import DataDictionary from '@/assets/js/utils/data-dictionary'
|
||||
import areaList from '@/assets/js/utils/area'
|
||||
import { getTokenForAgent, agentInfowxSubmit, getTokenForUserModel } from '@/api/ebiz/agentEenter/agentEenter'
|
||||
import utilsAge from '@/assets/js/utils/age'
|
||||
import getAreaName from '@/assets/js/utils/get-area-name'
|
||||
import IdentityCardScan from '@/components/ebiz/sale/IdentityCardScan'
|
||||
import idNoCheck from '@/assets/js/utils/idNoCheck'
|
||||
import beforeDate from '@/assets/js/utils/getBeforeDate.js'
|
||||
import { idToData } from '@/assets/js/utils/verification'
|
||||
import { weixinShare } from '@/assets/js/utils/wxShare.js'
|
||||
import axios from 'axios'
|
||||
import index from '@/config/index'
|
||||
import { getAuthCode } from '@/api/ebiz/sale/sale'
|
||||
|
||||
export default {
|
||||
name: 'insuredInfo',
|
||||
@@ -130,7 +124,7 @@ export default {
|
||||
sex: '', //投保人性别
|
||||
idType: '1', //证件类型
|
||||
idNo: '', //证件号码
|
||||
mobile: '',//手机号
|
||||
mobile: '', //手机号
|
||||
applGrade: '' // 职级
|
||||
},
|
||||
areaList: areaList,
|
||||
@@ -139,51 +133,52 @@ export default {
|
||||
codeDisabled: false, //获取验证码按钮是否禁用
|
||||
countDown: 60, //获取短信验证码倒计时
|
||||
sessionId: '' //后台返回的 id
|
||||
};
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
if (this.$route.query.content) {
|
||||
window.localStorage.setItem('wxShareDesc', this.$route.query.content);
|
||||
window.localStorage.setItem('wxShareDesc', this.$route.query.content)
|
||||
}
|
||||
weixinShare({
|
||||
title: '国富人寿欢迎你!',
|
||||
imgUrl: this.$assetsUrl + 'images/logo.png',
|
||||
desc: localStorage.wxShareDesc,
|
||||
link: location.origin + '/#/agentEenter/ShareInfo?token=' + localStorage.token
|
||||
});
|
||||
})
|
||||
},
|
||||
created() {
|
||||
if (this.$route.query.token) {
|
||||
// this.token = this.$route.query.token
|
||||
window.localStorage.setItem('token', this.$route.query.token);
|
||||
window.localStorage.setItem('token', this.$route.query.token)
|
||||
} else {
|
||||
this.$toast.fail('链接已失效,请联系代理人重新分享!');
|
||||
this.$toast.fail('链接已失效,请联系代理人重新分享!')
|
||||
}
|
||||
this.getData();
|
||||
this.getData()
|
||||
},
|
||||
methods: {
|
||||
getData: function() {
|
||||
let self = this;
|
||||
getData: function () {
|
||||
let self = this
|
||||
self.$toast.loading({
|
||||
duration: 0, // 持续展示 toast
|
||||
forbidClick: true, // 禁用背景点击
|
||||
loadingType: 'spinner',
|
||||
message: '加载中……'
|
||||
});
|
||||
})
|
||||
getTokenForUserModel({
|
||||
token: this.$CacheUtils.getLocItem('token')
|
||||
}).then(function(response) {
|
||||
self.$toast.clear();
|
||||
console.log('response', response);
|
||||
if (response.result == '0') {
|
||||
self.recommender = response;
|
||||
} else {
|
||||
this.$toast.fail(response.resultMessage);
|
||||
}
|
||||
})
|
||||
.catch(function(error) {
|
||||
.then(function (response) {
|
||||
self.$toast.clear()
|
||||
console.log('response', response)
|
||||
if (response.result == '0') {
|
||||
self.recommender = response
|
||||
} else {
|
||||
this.$toast.fail(response.resultMessage)
|
||||
}
|
||||
})
|
||||
.catch(function (error) {
|
||||
// this.$toast.fail(error)
|
||||
});
|
||||
})
|
||||
// var self = this
|
||||
// //获取推荐人信息
|
||||
// let data = {
|
||||
@@ -203,75 +198,59 @@ export default {
|
||||
// })
|
||||
},
|
||||
getAgentGrade(agentGrade) {
|
||||
let result = '';
|
||||
let result = ''
|
||||
DataDictionary.agentGrade.map((item, index) => {
|
||||
for (var key in item) {
|
||||
if (key == agentGrade) {
|
||||
result = item[agentGrade];
|
||||
result = item[agentGrade]
|
||||
}
|
||||
}
|
||||
});
|
||||
return result;
|
||||
})
|
||||
return result
|
||||
},
|
||||
// 下一步
|
||||
nextStep() {
|
||||
var self = this;
|
||||
var self = this
|
||||
self.$toast.loading({
|
||||
duration: 0, // 持续展示 toast
|
||||
forbidClick: true, // 禁用背景点击
|
||||
loadingType: 'spinner',
|
||||
message: '加载中……'
|
||||
});
|
||||
this.$validator.validate().then(valid => {
|
||||
})
|
||||
this.$validator.validate().then((valid) => {
|
||||
if (true === valid) {
|
||||
self.$toast.clear();
|
||||
self.$toast.clear()
|
||||
if (this.userInfo.idType == '1') {
|
||||
//身份证
|
||||
// 证件号码规则校验
|
||||
if (!idNoCheck.isIdno(this.userInfo.idNo)) {
|
||||
return this.$toast('请录入正确的身份证');
|
||||
return this.$toast('请录入正确的身份证')
|
||||
}
|
||||
if (this.userInfo.idNo.length == '18') {
|
||||
//18位身份证第17位是性别位, 奇男偶女
|
||||
let sexSign = this.userInfo.idNo.substr(16, 1);
|
||||
let sexSign = this.userInfo.idNo.substr(16, 1)
|
||||
if ((parseInt(sexSign) % 2 == 0 && this.userInfo.sex != 1) || (parseInt(sexSign) % 2 != 0 && this.userInfo.sex != 0)) {
|
||||
return this.$toast('性别录入与身份证不符');
|
||||
return this.$toast('性别录入与身份证不符')
|
||||
}
|
||||
}
|
||||
self.save();
|
||||
self.save()
|
||||
} else {
|
||||
self.save();
|
||||
self.save()
|
||||
}
|
||||
} else {
|
||||
this.$toast(this.$validator.errors.all()[0]);
|
||||
this.$toast(this.$validator.errors.all()[0])
|
||||
}
|
||||
});
|
||||
})
|
||||
},
|
||||
async save() {
|
||||
let checkStr ='';
|
||||
let recmd=this.userInfo;
|
||||
recmd.source='XG';
|
||||
recmd.agentCode='A860101000001';
|
||||
recmd.birthday='';
|
||||
let checkData = {
|
||||
token: this.$CacheUtils.getLocItem('token'),
|
||||
recmdDTO:recmd
|
||||
};
|
||||
const resp = await CommitmentSelfCheck(checkData);
|
||||
if (resp.result == '0' && resp.content.data.ruleList && resp.content.data.ruleList.length ) {
|
||||
checkStr='<span style="color: red;width:auto; display: block;text-align: left">温馨提示:</span>'+resp.content.data.ruleList[0].retMsg
|
||||
}
|
||||
// else {
|
||||
// console.log(resp.resultMessage);
|
||||
// }
|
||||
let str ='是否确认提交?手机号与证件信息会作为您入司的重要信息,一旦提交无法再次修改!<br/> '
|
||||
+checkStr;
|
||||
// let str ='是否确认提交?手机号与证件信息会作为您入司的重要信息,一旦提交无法再次修改!<br/> ' +
|
||||
// '<span style="color: red;width:auto; display: block;text-align: left">温馨提示:</span>尊敬的代理人,您好!您在我司属于二次入司人员,原名下保单85668955426144655640已失效,为更好的维护您的利益,建议您先将保单复效后再继续提交入司申请,否则上号后两年内不可投保新契约自保件,保单复效办理,详询4006946688';
|
||||
async save() {
|
||||
// else {
|
||||
// console.log(resp.resultMessage);
|
||||
// }
|
||||
let str = '是否确认提交?手机号与证件信息会作为您入司的重要信息,一旦提交无法再次修改!'
|
||||
Dialog.confirm({
|
||||
title: '提示',
|
||||
message: str,
|
||||
messageAlign:'left'
|
||||
messageAlign: 'left'
|
||||
}).then(() => {
|
||||
let data = {
|
||||
// userModel: { //线上去掉
|
||||
@@ -281,21 +260,21 @@ export default {
|
||||
ebizEnterCustomerDto: this.userInfo,
|
||||
smsCodeDTO: { smsId: this.sessionId, code: this.userInfo.authCode }
|
||||
// ebizReferrerDto: this.recommender
|
||||
};
|
||||
console.log(data);
|
||||
let that = this;
|
||||
}
|
||||
console.log(data)
|
||||
let that = this
|
||||
that.$toast.loading({
|
||||
duration: 0, // 持续展示 toast
|
||||
forbidClick: true, // 禁用背景点击
|
||||
loadingType: 'spinner',
|
||||
message: '加载中……'
|
||||
});
|
||||
})
|
||||
agentInfowxSubmit(data)
|
||||
.then(res => {
|
||||
.then((res) => {
|
||||
// console.log(res)
|
||||
if (res.result == '0') {
|
||||
this.$store.commit('updateAgentEnterApplyMsg', this.userInfo);
|
||||
that.$toast.clear();
|
||||
this.$store.commit('updateAgentEnterApplyMsg', this.userInfo)
|
||||
that.$toast.clear()
|
||||
this.$jump({
|
||||
flag: 'h5',
|
||||
extra: {
|
||||
@@ -306,80 +285,80 @@ export default {
|
||||
routerInfo: {
|
||||
path: `/agentEenter/ShareInfoSuccess`
|
||||
}
|
||||
});
|
||||
})
|
||||
} else {
|
||||
this.$toast(res.resultMessage);
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
.then(function(err) {
|
||||
console.log(err);
|
||||
});
|
||||
});
|
||||
.then(function (err) {
|
||||
console.log(err)
|
||||
})
|
||||
})
|
||||
},
|
||||
//弹框选择
|
||||
toSelect(pickerType, valueKey) {
|
||||
;[this.popupShow, this.pickerType] = [true, pickerType];
|
||||
if (valueKey) this.valueKey = valueKey;
|
||||
;[this.popupShow, this.pickerType] = [true, pickerType]
|
||||
if (valueKey) this.valueKey = valueKey
|
||||
if (pickerType == '1') {
|
||||
this.columns = DataDictionary.idType;
|
||||
this.columns = DataDictionary.idType
|
||||
} else if (pickerType == '13') {
|
||||
this.columns = DataDictionary.applGrade;
|
||||
this.columns = DataDictionary.applGrade
|
||||
}
|
||||
},
|
||||
// //确认选择字段
|
||||
onConfirm(value) {
|
||||
this.popupShow = false;
|
||||
this.popupShow = false
|
||||
if (this.pickerType == '1') {
|
||||
this.userInfo.idType = value.id;
|
||||
this.userInfo.idType = value.id
|
||||
} else if (this.pickerType == '13') {
|
||||
this.userInfo.applGrade = value.id;
|
||||
this.userInfo.applGrade = value.id
|
||||
}
|
||||
},
|
||||
getRelatedData(val) {
|
||||
if (this.userInfo.idType != '1') {
|
||||
return;
|
||||
return
|
||||
}
|
||||
if (idToData(val).text) {
|
||||
;[this.userInfo.idNo, this.userInfo.sex] = ['', '']
|
||||
return this.$toast(idToData(val).text)
|
||||
}
|
||||
this.userInfo.sex = idToData(val).sex;
|
||||
this.userInfo.sex = idToData(val).sex
|
||||
},
|
||||
|
||||
//获取验证码
|
||||
getCode() {
|
||||
if (this.userInfo.mobile == '') {
|
||||
return this.$toast('请填写手机号');
|
||||
return this.$toast('请填写手机号')
|
||||
}
|
||||
this.codeDisabled = true;
|
||||
this.codeDisabled = true
|
||||
//倒计时
|
||||
this.timeId = setInterval(() => {
|
||||
this.countDown--;
|
||||
this.countDown--
|
||||
if (this.countDown <= 0) {
|
||||
window.clearInterval(this.timeId);
|
||||
this.codeDisabled = false;
|
||||
this.countDown = 60;
|
||||
window.clearInterval(this.timeId)
|
||||
this.codeDisabled = false
|
||||
this.countDown = 60
|
||||
}
|
||||
}, 1000);
|
||||
}, 1000)
|
||||
let data = {
|
||||
operateType: 'appntInfoEntry',
|
||||
type: 'H5',
|
||||
operateCode: this.userInfo.mobile,
|
||||
system: 'agentApp',
|
||||
operateCodeType: '0'
|
||||
};
|
||||
}
|
||||
//获取验证码
|
||||
getAuthCode(data).then(res => {
|
||||
console.log(res);
|
||||
getAuthCode(data).then((res) => {
|
||||
console.log(res)
|
||||
if (res.result == 0) {
|
||||
this.sessionId = res.sessionId;
|
||||
this.sessionId = res.sessionId
|
||||
} else {
|
||||
this.$toast(res.resultMessage);
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
});
|
||||
})
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
</script>
|
||||
<style lang='scss' scoped>
|
||||
.insured-info-container {
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
160
src/views/ebiz/billingDetail/policyDetails.vue
Normal file
160
src/views/ebiz/billingDetail/policyDetails.vue
Normal file
@@ -0,0 +1,160 @@
|
||||
<template>
|
||||
<div class="content">
|
||||
<!-- 保单详情 -->
|
||||
<van-collapse v-model="activeName">
|
||||
<van-collapse-item title="投保单信息" name="1">
|
||||
<div class="row">
|
||||
<span class="title">投保单号</span>
|
||||
<span class="main">{{ policyData.orderNo }}</span>
|
||||
</div>
|
||||
<div class="row">
|
||||
<span class="title">投保日期</span>
|
||||
<span class="main">{{ policyData.appntDate }}</span>
|
||||
</div>
|
||||
<div class="row">
|
||||
<span class="title">承保日期</span>
|
||||
<span class="main">{{ policyData.signDate }}</span>
|
||||
</div>
|
||||
<div class="row">
|
||||
<span class="title">总保费</span>
|
||||
<span class="main">{{ policyData.orderAmount }}元</span>
|
||||
</div>
|
||||
</van-collapse-item>
|
||||
<van-collapse-item title="主险" name="2">
|
||||
<p class="list" v-show="mainShow" v-for="(item, index) in policyData.mainRiskNameList" :key="index">{{ item }}</p>
|
||||
<p class="list" v-show="mainShow == false">暂无主险信息</p>
|
||||
</van-collapse-item>
|
||||
<van-collapse-item title="附加险" name="3">
|
||||
<p class="list" v-show="subRiskShow" v-for="(itemm, index) in policyData.subRiskNameList" :key="index">{{ itemm }}</p>
|
||||
<p class="list" v-show="subRiskShow == false" >暂无附加险信息</p>
|
||||
</van-collapse-item>
|
||||
</van-collapse>
|
||||
<div class="bottom">
|
||||
<button class="back" @click="goback()">返回</button>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { Collapse, CollapseItem } from 'vant'
|
||||
import { queryOutOrderDetail } from '@/api/ebiz/billingDetail/billingDetail'
|
||||
// 当前时间
|
||||
const currentDate = new Date()
|
||||
export default {
|
||||
name: 'policyDetails',
|
||||
components: {
|
||||
[Collapse.name]: Collapse,
|
||||
[CollapseItem.name]: CollapseItem,
|
||||
},
|
||||
props: {
|
||||
orderNo: {
|
||||
type: String,
|
||||
default: false
|
||||
}
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
currentDate: '',
|
||||
// orderNo: '',
|
||||
activeName: ['1','2','3'],
|
||||
policyData: {},
|
||||
mainShow: false,
|
||||
subRiskShow: false,
|
||||
}
|
||||
},
|
||||
created() {
|
||||
console.log(this.orderNo);
|
||||
this.getpolicyInfo();
|
||||
},
|
||||
mounted() {
|
||||
// console.log(this.orderNo);
|
||||
// this.getpolicyInfo();
|
||||
},
|
||||
methods: {
|
||||
getpolicyInfo() {
|
||||
this.$toast.loading({
|
||||
duration: 0, // 持续展示 toast
|
||||
forbidClick: true, // 禁用背景点击
|
||||
loadingType: 'spinner',
|
||||
message: '加载中……'
|
||||
})
|
||||
queryOutOrderDetail({
|
||||
orderNo: this.orderNo,
|
||||
}).then((res) => {
|
||||
this.policyData = res.content;
|
||||
if(this.policyData.mainRiskNameList == []) {
|
||||
this.mainShow = false
|
||||
} else {
|
||||
this.mainShow = true
|
||||
}
|
||||
if(this.policyData.subRiskNameList.length == 0) {
|
||||
this.subRiskShow = false
|
||||
} else {
|
||||
this.subRiskShow = true
|
||||
}
|
||||
})
|
||||
},
|
||||
goback() {
|
||||
this.$emit('child-back', '1');
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
::v-deep .van-cell {
|
||||
font-size: 18px;
|
||||
font-weight: 500;
|
||||
}
|
||||
::v-deep .van-collapse-item__content {
|
||||
padding: 0px 35px;
|
||||
}
|
||||
.content {
|
||||
height: 100vh;
|
||||
background-color: #fff;
|
||||
}
|
||||
.row {
|
||||
display: flex;
|
||||
align-items: strat;
|
||||
padding: 7px 0px;
|
||||
border-bottom: 0.5px #ccc solid;
|
||||
.title {
|
||||
width: 110px;
|
||||
font-size: 16px;
|
||||
color: #333;
|
||||
}
|
||||
.main {
|
||||
font-size: 14px;
|
||||
max-width: 200px;
|
||||
word-break: normal;
|
||||
display: block;
|
||||
white-space: pre-wrap;
|
||||
word-wrap: break-word;
|
||||
overflow: hidden;
|
||||
}
|
||||
}
|
||||
.list {
|
||||
padding: 12px 0;
|
||||
}
|
||||
.bottom {
|
||||
width: 100%;
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
.back {
|
||||
width: 100%;
|
||||
background-color: #e9332e;
|
||||
border: none;
|
||||
padding: 12px 0px;
|
||||
border-radius: 28px;
|
||||
color: #fff;
|
||||
font-size: 20px;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
::v-deep .van-cell__right-icon {
|
||||
margin-left: 1.33333vw;
|
||||
color: #969799;
|
||||
display: none;
|
||||
}
|
||||
</style>
|
||||
@@ -198,7 +198,7 @@ Vue.use(Checkbox).use(CheckboxGroup)
|
||||
Vue.use(Field)
|
||||
Vue.use(Button)
|
||||
import { acceptInsurance, getBankList, underWrite, getOrderDetail } from '@/api/ebiz/sale/sale'
|
||||
import { saveOrUpdateAccount, getPayTemp, getShareParam } from '@/api/ebiz/cardList/cardList.js'
|
||||
import { saveOrUpdateAccount, getPayTemp, getShareParam, cardContIsPay } from '@/api/ebiz/cardList/cardList.js'
|
||||
import BankCardScan from '@/components/ebiz/sale/BankCardScan'
|
||||
import areaList from '@/assets/js/utils/area'
|
||||
import Loading from '@/components/ebiz/Loading'
|
||||
@@ -219,7 +219,7 @@ export default {
|
||||
data() {
|
||||
let isWeixin = this.$utils.device().isWeixin //判断环境
|
||||
return {
|
||||
insuredDTOs:[],//被保人信息
|
||||
insuredDTOs: [], //被保人信息
|
||||
// 银行卡支付图片地址
|
||||
src: this.$assetsUrl + 'images/cardImg.png',
|
||||
// 微信支付图片地址
|
||||
@@ -291,7 +291,7 @@ export default {
|
||||
accBankCity: '',
|
||||
areaStr: '',
|
||||
mainRiskCode: '',
|
||||
isGroupCard:'' //1 团险标识
|
||||
isGroupCard: '' //1 团险标识
|
||||
}
|
||||
},
|
||||
created() {
|
||||
@@ -311,9 +311,9 @@ export default {
|
||||
this.bankListName = orderDetail.orderAccountDTO.bankName
|
||||
this.orderStatus = orderDetail.orderInfoDTO.orderStatus
|
||||
localStorage.orderNo = orderDetail.orderInfoDTO.orderNo
|
||||
orderDetail.insuredDTOs.forEach(item=>{
|
||||
item.riskDTOLst.forEach(ii=>{
|
||||
if(ii.isMainRisk == '0'){
|
||||
orderDetail.insuredDTOs.forEach((item) => {
|
||||
item.riskDTOLst.forEach((ii) => {
|
||||
if (ii.isMainRisk == '0') {
|
||||
this.mainRiskCode = ii.mainRiskCode
|
||||
}
|
||||
})
|
||||
@@ -478,7 +478,7 @@ export default {
|
||||
let data = {
|
||||
operateType: 'bank_type'
|
||||
}
|
||||
getBankList(data).then(res => {
|
||||
getBankList(data).then((res) => {
|
||||
if (res.result == '0') {
|
||||
console.log('银行卡列表', res.content)
|
||||
self.bankList = res.content
|
||||
@@ -496,23 +496,23 @@ export default {
|
||||
},
|
||||
getPayTemp() {
|
||||
getPayTemp({ orderNo: window.localStorage.getItem('orderNo') })
|
||||
.then(res => {
|
||||
.then((res) => {
|
||||
if (res.result == '0') {
|
||||
this.noEdit = res.content.flag != 'false'
|
||||
}
|
||||
})
|
||||
.catch(e => {
|
||||
.catch((e) => {
|
||||
console.error(e)
|
||||
})
|
||||
},
|
||||
// 获取支付详情
|
||||
getOrderDetail() {
|
||||
getOrderDetail({ orderNo: window.localStorage.getItem('orderNo') }).then(res => {
|
||||
getOrderDetail({ orderNo: window.localStorage.getItem('orderNo') }).then((res) => {
|
||||
if (res.result == '0') {
|
||||
this.insuredDTOs = res.orderDTO.insuredDTOs
|
||||
res.orderDTO.insuredDTOs.forEach(item=>{
|
||||
item.riskDTOLst.forEach(ii=>{
|
||||
if(ii.isMainRisk == '0'){
|
||||
res.orderDTO.insuredDTOs.forEach((item) => {
|
||||
item.riskDTOLst.forEach((ii) => {
|
||||
if (ii.isMainRisk == '0') {
|
||||
this.mainRiskCode = ii.mainRiskCode
|
||||
}
|
||||
})
|
||||
@@ -544,7 +544,7 @@ export default {
|
||||
result: '',
|
||||
resultMessage: '交易处理成功',
|
||||
uwResult: '02',
|
||||
cvalidate:res.orderDTO.orderInfoDTO.cvalidate //生效日期
|
||||
cvalidate: res.orderDTO.orderInfoDTO.cvalidate //生效日期
|
||||
}
|
||||
// this.bankListName = res.orderDTO.orderAccountDTO.bankName
|
||||
this.underWriteData.bankCode =
|
||||
@@ -573,7 +573,7 @@ export default {
|
||||
result: '',
|
||||
resultMessage: '交易处理失败',
|
||||
uwResult: '00',
|
||||
cvalidate:res.orderDTO.orderInfoDTO.cvalidate //生效日期
|
||||
cvalidate: res.orderDTO.orderInfoDTO.cvalidate //生效日期
|
||||
}
|
||||
// window.localStorage.setItem('underWriteData', JSON.stringify(underWriteData))
|
||||
this.$toast(res.resultMessage)
|
||||
@@ -615,21 +615,38 @@ export default {
|
||||
if (true !== valid) {
|
||||
return this.$toast(this.$validator.errors.all()[0])
|
||||
}
|
||||
switch (this.orderStatus) {
|
||||
case '56':
|
||||
case '57':
|
||||
this.payMent()
|
||||
break
|
||||
// case '02':
|
||||
// break
|
||||
default:
|
||||
if (!this.noEdit) {
|
||||
this.payMent(true)
|
||||
return true
|
||||
} else {
|
||||
this.acceptInsurance()
|
||||
return this.$toast('当前不可支付')
|
||||
}
|
||||
let data = {
|
||||
orderNo: window.localStorage.getItem('orderNo')
|
||||
}
|
||||
this.$toast.loading({
|
||||
duration: 0, // 持续展示 toast
|
||||
forbidClick: true, // 禁用背景点击
|
||||
loadingType: 'spinner',
|
||||
message: '加载中……'
|
||||
})
|
||||
// 支付之前要先调用一下是否跨天,不让跨天支付 过了24点 保费不一样 CYN 2024.06.28
|
||||
let res = await cardContIsPay(data)
|
||||
this.$toast.clear()
|
||||
if (res.result == '0') {
|
||||
switch (this.orderStatus) {
|
||||
case '56':
|
||||
case '57':
|
||||
this.payMent()
|
||||
break
|
||||
// case '02':
|
||||
// break
|
||||
default:
|
||||
if (!this.noEdit) {
|
||||
this.payMent(true)
|
||||
return true
|
||||
} else {
|
||||
this.acceptInsurance()
|
||||
return this.$toast('当前不可支付')
|
||||
}
|
||||
}
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
this.isLoading = false
|
||||
}
|
||||
},
|
||||
acceptInsurance() {
|
||||
@@ -638,7 +655,7 @@ export default {
|
||||
cardOrder: 'cardOrder',
|
||||
payType: this.radio
|
||||
}
|
||||
acceptInsurance(data).then(res => {
|
||||
acceptInsurance(data).then((res) => {
|
||||
// this.$jump({
|
||||
// flag: 'h5',
|
||||
// extra: {
|
||||
@@ -748,13 +765,44 @@ export default {
|
||||
let res = await saveOrUpdateAccount(data)
|
||||
this.$toast.clear()
|
||||
if (res.result == '0') {
|
||||
if(this.mainRiskCode == 'GFRS_M0058'){
|
||||
if (this.mainRiskCode == 'GFRS_M0058') {
|
||||
Dialog.alert({
|
||||
title: '特别提醒',
|
||||
messageAlign: 'left',
|
||||
confirmButtonText: '确认',
|
||||
message: `2023年9月1日起生效的惠桂保保单,不能参保的5类既往症中增加了“神经性耳聋”,敬请注意!`,
|
||||
message: `2023年9月1日起生效的惠桂保保单,不能参保的5类既往症中增加了“神经性耳聋”,敬请注意!`
|
||||
})
|
||||
.then(() => {
|
||||
this.$toast.loading({
|
||||
duration: 0, // 持续展示 toast
|
||||
forbidClick: true, // 禁用背景点击
|
||||
loadingType: 'spinner',
|
||||
message: '加载中……'
|
||||
})
|
||||
this.acceptInsurance()
|
||||
})
|
||||
.catch(() => {})
|
||||
} else {
|
||||
this.$toast.loading({
|
||||
duration: 0, // 持续展示 toast
|
||||
forbidClick: true, // 禁用背景点击
|
||||
loadingType: 'spinner',
|
||||
message: '加载中……'
|
||||
})
|
||||
this.acceptInsurance()
|
||||
}
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
this.isLoading = false
|
||||
}
|
||||
} else {
|
||||
if (this.mainRiskCode == 'GFRS_M0058') {
|
||||
Dialog.alert({
|
||||
title: '特别提醒',
|
||||
messageAlign: 'left',
|
||||
confirmButtonText: '确认',
|
||||
message: `2023年9月1日起生效的惠桂保保单,不能参保的5类既往症中增加了“神经性耳聋”,敬请注意!`
|
||||
})
|
||||
.then(() => {
|
||||
this.$toast.loading({
|
||||
duration: 0, // 持续展示 toast
|
||||
@@ -764,42 +812,8 @@ export default {
|
||||
})
|
||||
this.acceptInsurance()
|
||||
})
|
||||
.catch(() => {
|
||||
})
|
||||
}else{
|
||||
this.$toast.loading({
|
||||
duration: 0, // 持续展示 toast
|
||||
forbidClick: true, // 禁用背景点击
|
||||
loadingType: 'spinner',
|
||||
message: '加载中……'
|
||||
})
|
||||
this.acceptInsurance()
|
||||
}
|
||||
|
||||
.catch(() => {})
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
this.isLoading = false
|
||||
}
|
||||
} else {
|
||||
if(this.mainRiskCode == 'GFRS_M0058'){
|
||||
Dialog.alert({
|
||||
title: '特别提醒',
|
||||
messageAlign: 'left',
|
||||
confirmButtonText: '确认',
|
||||
message: `2023年9月1日起生效的惠桂保保单,不能参保的5类既往症中增加了“神经性耳聋”,敬请注意!`,
|
||||
})
|
||||
.then(() => {
|
||||
this.$toast.loading({
|
||||
duration: 0, // 持续展示 toast
|
||||
forbidClick: true, // 禁用背景点击
|
||||
loadingType: 'spinner',
|
||||
message: '加载中……'
|
||||
})
|
||||
this.acceptInsurance()
|
||||
})
|
||||
.catch(() => {
|
||||
})
|
||||
}else{
|
||||
this.$toast.loading({
|
||||
duration: 0, // 持续展示 toast
|
||||
forbidClick: true, // 禁用背景点击
|
||||
@@ -808,7 +822,6 @@ export default {
|
||||
})
|
||||
this.acceptInsurance()
|
||||
}
|
||||
|
||||
}
|
||||
},
|
||||
// 选择微信支付校验身份证类型
|
||||
|
||||
@@ -2310,14 +2310,6 @@ export default {
|
||||
if (this.insuredInfo.effectiveDateType) {
|
||||
this.insuredInfo.certiexpiredate = '9999-12-31'
|
||||
}
|
||||
if ((this.userInfo.relationToInsured != '1' && this.userInfo.relationToInsured != '3')
|
||||
|| (this.userInfo.relationToInsured == '3' && insuredAge >= 18)){
|
||||
//金掌桂投保的所有卡单产品:
|
||||
//(1)与被保人关系非本人(不含父母)
|
||||
//(2)与被保人关系为父母,被保人年龄大于等于18周岁
|
||||
// 点击【立即投保】时,提示以下内容并阻断投保
|
||||
return this.$toast('以死亡为给付条件的保险合同,投保人和被保险人需为同一人(父母为未成年子女投保除外)。请分享给参保人完成投保。')
|
||||
}
|
||||
switch (this.userInfo.homeArea) {
|
||||
case "500129":
|
||||
this.userInfo.homeArea = '500229'
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -50,8 +50,8 @@
|
||||
</div>
|
||||
</template>
|
||||
<script>
|
||||
import { Cell, CellGroup, Tag, Radio, RadioGroup,Tab,Tabs} from 'vant'
|
||||
import { mainRiskList,mainRiskListProposal,calculatePremium,getActProductList } from '@/api/ebiz/common/common'
|
||||
import { Cell, CellGroup, Tag, Radio, RadioGroup, Tab, Tabs } from 'vant'
|
||||
import { mainRiskList, mainRiskListProposal, calculatePremium, getActProductList, occupationCodeCheck } from '@/api/ebiz/common/common'
|
||||
import { getOrderDetail, riskLevelCheck } from '@/api/ebiz/sale/sale'
|
||||
import { getDetail } from '@/api/ebiz/proposal/proposal.js'
|
||||
import riskRules from './risk-rules'
|
||||
@@ -63,13 +63,13 @@ export default {
|
||||
[CellGroup.name]: CellGroup,
|
||||
[Tag.name]: Tag,
|
||||
[Cell.name]: Cell,
|
||||
[Tab.name]:Tab,
|
||||
[Tabs.name]:Tabs,
|
||||
[Tab.name]: Tab,
|
||||
[Tabs.name]: Tabs
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
recommendType: '', // 渠道控制
|
||||
isCrossChannel: 0, // 是否选择交叉渠道列表 0-否 1-是
|
||||
recommendType: '', // 渠道控制
|
||||
isCrossChannel: 0, // 是否选择交叉渠道列表 0-否 1-是
|
||||
active: 'normal',
|
||||
specilFlag: '0',
|
||||
flag: true,
|
||||
@@ -79,7 +79,7 @@ export default {
|
||||
radioVal: '',
|
||||
isFrom: localStorage.isFrom,
|
||||
activeFlag: '',
|
||||
isActivityCode:'' //activityCode 有值的话代表是活动,无值代表是普通产品
|
||||
isActivityCode: '' //activityCode 有值的话代表是活动,无值代表是普通产品
|
||||
}
|
||||
},
|
||||
async mounted() {
|
||||
@@ -87,16 +87,16 @@ export default {
|
||||
flag: 'navigation',
|
||||
extra: {
|
||||
title: '主险选择列表'
|
||||
},
|
||||
}
|
||||
})
|
||||
if (localStorage.isFrom == 'sale') {
|
||||
return new Promise((resolve, reject) => {
|
||||
getOrderDetail({ orderNo: this.$route.query.orderNo }).then(
|
||||
res => {
|
||||
(res) => {
|
||||
if (res.result == 0) {
|
||||
//------------------------专为桂/惠企写死--begin---------------//
|
||||
if (res.orderDTO.insuredDTOs[0] && res.orderDTO.insuredDTOs[0].riskDTOLst) {
|
||||
this.flag = this.specilFlag = res.orderDTO.insuredDTOs[0].riskDTOLst.some(v => {
|
||||
this.flag = this.specilFlag = res.orderDTO.insuredDTOs[0].riskDTOLst.some((v) => {
|
||||
return v.riskCode == 'GFRS_M0024' || v.riskCode == 'GFRS_M0040'
|
||||
})
|
||||
if (this.flag) {
|
||||
@@ -108,16 +108,16 @@ export default {
|
||||
//isActivityCode 有值代表是活动,无值代表是普通产品
|
||||
this.isActivityCode = res.orderDTO.orderInfoDTO.activityCode
|
||||
// recommendType 03 银保渠道
|
||||
this.recommendType = res.orderDTO.recmdDTO.recommendType;
|
||||
this.recommendType = res.orderDTO.recmdDTO.recommendType
|
||||
if (this.recommendType == '02' || this.recommendType == '11' || (this.recommendType == '03' && this.isActivityCode)) {
|
||||
// 电投 团险渠道产品 均为交叉渠道销售
|
||||
this.isCrossChannel = '1';
|
||||
this.isCrossChannel = '1'
|
||||
}
|
||||
// ------------------------专为桂/惠企写死--end---------------//
|
||||
}
|
||||
resolve(this.isActivityCodeFunc())
|
||||
},
|
||||
error => {
|
||||
(error) => {
|
||||
reject(this.isActivityCodeFunc())
|
||||
}
|
||||
)
|
||||
@@ -126,49 +126,51 @@ export default {
|
||||
return new Promise((resolve, reject) => {
|
||||
getDetail({
|
||||
orderNo: this.$route.query.proposalOrderNo
|
||||
}).then(res => {
|
||||
if (res.result == '0') {
|
||||
this.recommendType = res.content[0].recmdDTO?res.content[0].recmdDTO.recommendType:'';
|
||||
if (this.recommendType == '02' || this.recommendType == '11') {
|
||||
// 电投 团险渠道产品 均为交叉渠道销售
|
||||
this.isCrossChannel = '1';
|
||||
}).then(
|
||||
(res) => {
|
||||
if (res.result == '0') {
|
||||
this.recommendType = res.content[0].recmdDTO ? res.content[0].recmdDTO.recommendType : ''
|
||||
if (this.recommendType == '02' || this.recommendType == '11') {
|
||||
// 电投 团险渠道产品 均为交叉渠道销售
|
||||
this.isCrossChannel = '1'
|
||||
}
|
||||
}
|
||||
resolve(this.isActivityCodeFunc())
|
||||
},
|
||||
(error) => {
|
||||
reject(this.isActivityCodeFunc())
|
||||
}
|
||||
resolve(this.isActivityCodeFunc())
|
||||
},
|
||||
error => {
|
||||
reject(this.isActivityCodeFunc())
|
||||
})
|
||||
)
|
||||
})
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
onChangeMainList(name){
|
||||
onChangeMainList(name) {
|
||||
if (name == 'cross') {
|
||||
this.isCrossChannel = '1';
|
||||
}else{
|
||||
this.isCrossChannel = '0';
|
||||
this.isCrossChannel = '1'
|
||||
} else {
|
||||
this.isCrossChannel = '0'
|
||||
}
|
||||
this.isActivityCodeFunc();
|
||||
this.isActivityCodeFunc()
|
||||
},
|
||||
isActivityCodeFunc(){
|
||||
//isActivityCode 有值代表是活动,无值代表是普通产品
|
||||
isActivityCodeFunc() {
|
||||
//isActivityCode 有值代表是活动,无值代表是普通产品
|
||||
// if(this.isActivityCode && this.isCrossChannel == '0'){
|
||||
if(this.isActivityCode){
|
||||
this.getActProductListFunc()
|
||||
}else{
|
||||
this.getMainRiskList()
|
||||
}
|
||||
if (this.isActivityCode) {
|
||||
this.getActProductListFunc()
|
||||
} else {
|
||||
this.getMainRiskList()
|
||||
}
|
||||
},
|
||||
//获取主险列表--活动下的产品
|
||||
async getActProductListFunc() {
|
||||
let mainRiskCodes = localStorage.mainRiskCodes && JSON.parse(localStorage.mainRiskCodes)
|
||||
let resultData = await getActProductList({
|
||||
activityCode:this.isActivityCode,
|
||||
type:'app'
|
||||
activityCode: this.isActivityCode,
|
||||
type: 'app'
|
||||
})
|
||||
if (resultData.result == 0) {
|
||||
resultData.content.mainRiskDTOS.forEach(item => {
|
||||
resultData.content.mainRiskDTOS.forEach((item) => {
|
||||
//已选主险不能再选、险种互斥
|
||||
if (mainRiskCodes && mainRiskCodes.includes(item.riskProductCode)) {
|
||||
this.delList.push(item.riskProductCode)
|
||||
@@ -195,12 +197,12 @@ export default {
|
||||
// ------------------------专为惠企写死--end---------------//
|
||||
//如果是选择产品, 进入电子投保, 在主险列表能默认选中我在产品列表选择的产品
|
||||
if (this.list.length > 0) {
|
||||
console.log(localStorage.productCodeChooseFromList)
|
||||
this.result = this.list.find(v => {
|
||||
console.log(localStorage.productCodeChooseFromList)
|
||||
this.result = this.list.find((v) => {
|
||||
return v.riskProductCode == localStorage.productCodeChooseFromList
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
if (this.list.length == 0) {
|
||||
this.$route('暂无可选产品')
|
||||
// this.$dialog({ message: '暂无可选产品!' }).then(() => {
|
||||
@@ -237,16 +239,16 @@ export default {
|
||||
break
|
||||
}
|
||||
if (this.isCrossChannel == '1') {
|
||||
mainListDate.platform = 'cross'
|
||||
mainListDate.platform = 'cross'
|
||||
}
|
||||
let resultData
|
||||
if(this.isFrom == 'proposal'){
|
||||
if (this.isFrom == 'proposal') {
|
||||
resultData = await mainRiskListProposal(mainListDate)
|
||||
}else{
|
||||
} else {
|
||||
resultData = await mainRiskList(mainListDate)
|
||||
}
|
||||
if (resultData.result == 0) {
|
||||
resultData.mainRiskDTOS.forEach(item => {
|
||||
resultData.mainRiskDTOS.forEach((item) => {
|
||||
//已选主险不能再选、险种互斥
|
||||
if (mainRiskCodes && mainRiskCodes.includes(item.riskProductCode)) {
|
||||
this.delList.push(item.riskProductCode)
|
||||
@@ -273,7 +275,7 @@ export default {
|
||||
// 如果是选择产品, 进入电子投保, 在主险列表能默认选中我在产品列表选择的产品
|
||||
if (this.list.length > 0) {
|
||||
console.log(localStorage.productCodeChooseFromList)
|
||||
this.result = this.list.find(v => {
|
||||
this.result = this.list.find((v) => {
|
||||
return v.riskProductCode == localStorage.productCodeChooseFromList
|
||||
})
|
||||
}
|
||||
@@ -308,17 +310,36 @@ export default {
|
||||
this.$toast('请选择产品')
|
||||
return
|
||||
}
|
||||
if(localStorage.getItem('isFrom') == 'sale') {
|
||||
/** add by zhangweiwei FCRS-764 国富无忧两全保险(B款)新增主险职业校验逻辑 start at 20240807 */
|
||||
let insuredPersonInfo = JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo'))
|
||||
occupationCodeCheck({
|
||||
occupationCode: insuredPersonInfo.occupationCode,
|
||||
productCode: this.result.riskProductCode
|
||||
}).then((res) => {
|
||||
if (res.result == 0) {
|
||||
this.handleMainRisk()
|
||||
} else {
|
||||
this.$toast(res.resultMessage)
|
||||
}
|
||||
})
|
||||
/** add by zhangweiwei FCRS-764 国富无忧两全保险(B款)新增主险职业校验逻辑 end at 20240807 */
|
||||
},
|
||||
|
||||
/**
|
||||
* 处理主险
|
||||
*/
|
||||
handleMainRisk() {
|
||||
if (localStorage.getItem('isFrom') == 'sale') {
|
||||
let params = {
|
||||
productCode: this.result.riskProductCode,
|
||||
orderNo: this.$route.query.orderNo,
|
||||
orderNo: this.$route.query.orderNo
|
||||
}
|
||||
if(this.recommendType == '03' && !this.isActivityCode) {
|
||||
if (this.recommendType == '03' && !this.isActivityCode) {
|
||||
params.productChannl = this.isCrossChannel
|
||||
}
|
||||
riskLevelCheck(params).then(res => {
|
||||
if(res.result == 0) {
|
||||
if(res.saLevelMatch == "Y"){
|
||||
riskLevelCheck(params).then((res) => {
|
||||
if (res.result == 0) {
|
||||
if (res.saLevelMatch == 'Y') {
|
||||
//置空产品
|
||||
localStorage.chooseProducts = ''
|
||||
//添加主险
|
||||
@@ -337,6 +358,7 @@ export default {
|
||||
this.addMainRisk()
|
||||
}
|
||||
},
|
||||
|
||||
//储存主险
|
||||
async addMainRisk() {
|
||||
localStorage.setItem('isTrial', '1')
|
||||
@@ -347,7 +369,7 @@ export default {
|
||||
localStorage.isTrial = resultData.productTrialInfoDTO.productTrialYearDTOS != null ? '0' : '1'
|
||||
localStorage.hint = resultData.hint
|
||||
if (resultData.productTrialInfoDTO.dutyGroup != null) {
|
||||
resultData.productTrialInfoDTO.dutyGroup.map(item => {
|
||||
resultData.productTrialInfoDTO.dutyGroup.map((item) => {
|
||||
if (item.dutyName == '意外身故/伤残保险金') {
|
||||
item.defaultDutyAmt = item.minDutyAmt
|
||||
}
|
||||
@@ -375,7 +397,7 @@ export default {
|
||||
}
|
||||
}
|
||||
|
||||
if (riskRules.ageLimit(resultData, this, null,riskProductCode)) {
|
||||
if (riskRules.ageLimit(resultData, this, null, riskProductCode)) {
|
||||
return
|
||||
}
|
||||
|
||||
@@ -402,12 +424,17 @@ export default {
|
||||
}
|
||||
}
|
||||
|
||||
let flagPermission = await riskRules.getProductSellPermissionList(resultData.productCode, this,this.isCrossChannel)
|
||||
let flagPermission = await riskRules.getProductSellPermissionList(resultData.productCode, this, this.isCrossChannel)
|
||||
if (flagPermission.flag && localStorage.isFrom != 'proposal') {
|
||||
//校验该代理人是否有该产品的售卖权限
|
||||
return this.$toast(flagPermission.resultMessage)
|
||||
}
|
||||
let flagCompany = await riskRules.checkCompany(resultData.productCode, JSON.parse(this.$CacheUtils.getLocItem('saleInsuredInfo')).workcompany, JSON.parse(this.$CacheUtils.getLocItem('saleInsuredInfo')).isAsync,this)
|
||||
let flagCompany = await riskRules.checkCompany(
|
||||
resultData.productCode,
|
||||
JSON.parse(this.$CacheUtils.getLocItem('saleInsuredInfo')).workcompany,
|
||||
JSON.parse(this.$CacheUtils.getLocItem('saleInsuredInfo')).isAsync,
|
||||
this
|
||||
)
|
||||
if (flagCompany && localStorage.isFrom != 'proposal') {
|
||||
//校验该投保人的工作单位是否能够投保该产品
|
||||
return this.$toast('该投保人工作单位不能投保该产品')
|
||||
@@ -423,11 +450,11 @@ export default {
|
||||
|
||||
let calFactorLst = this.getFactorList(resultData)
|
||||
let productTrialYearDTOS = resultData.productTrialInfoDTO.productTrialYearDTOS != null ? resultData.productTrialInfoDTO.productTrialYearDTOS : null
|
||||
let hasAddtionRisk = (resultData.productTrialInfoDTO.addtionRiskLst != null && resultData.productTrialInfoDTO.addtionRiskLst.length) ? true : false
|
||||
let hasAddtionRisk = resultData.productTrialInfoDTO.addtionRiskLst != null && resultData.productTrialInfoDTO.addtionRiskLst.length ? true : false
|
||||
let currentProductInfo =
|
||||
localStorage.isTrial == '1'
|
||||
? {
|
||||
isCrossChannel:this.isCrossChannel,
|
||||
isCrossChannel: this.isCrossChannel,
|
||||
calFactorLst,
|
||||
hasAddtionRisk,
|
||||
isMainRisk: 0,
|
||||
@@ -443,7 +470,7 @@ export default {
|
||||
predictTransferPrem: null //建议书使用 预计转入保费字段
|
||||
}
|
||||
: {
|
||||
isCrossChannel:this.isCrossChannel,
|
||||
isCrossChannel: this.isCrossChannel,
|
||||
productTrialYearDTOS,
|
||||
calFactorLst,
|
||||
hasAddtionRisk,
|
||||
@@ -481,27 +508,27 @@ export default {
|
||||
let calFactorLst = resultData.productTrialInfoDTO.calFactorLst
|
||||
console.log('calFactorLst', calFactorLst)
|
||||
|
||||
calFactorLst.forEach(item => {
|
||||
calFactorLst.forEach((item) => {
|
||||
item['isMainRisk'] = 0
|
||||
item.columns = []
|
||||
if (item.type == 0) {
|
||||
//1、type=0 select 2、type=1 input+stepper
|
||||
productTrialInfoDTO[item.code].forEach(factor => {
|
||||
productTrialInfoDTO[item.code].forEach((factor) => {
|
||||
if (factor.defaultValue == 0) {
|
||||
item.showContent = factor.showContent
|
||||
if (factor[item.code + 'Flag'] != undefined) {
|
||||
item[item.code] = factor[item.code]
|
||||
item[item.code + 'Flag'] = factor[item.code + 'Flag']
|
||||
item.hasFlag = '1'
|
||||
}else if(item.code == 'pensionAge'){
|
||||
} else if (item.code == 'pensionAge') {
|
||||
//养老保险金领取年龄
|
||||
item[item.code] = factor[item.code]
|
||||
item['sex'] = factor.sex
|
||||
}else {
|
||||
} else {
|
||||
item[item.code] = factor[item.code]
|
||||
}
|
||||
}
|
||||
let itemColumns = { text: factor.showContent, value: factor[item.code], flag: factor[item.code + 'Flag'],sex:factor.sex}
|
||||
let itemColumns = { text: factor.showContent, value: factor[item.code], flag: factor[item.code + 'Flag'], sex: factor.sex }
|
||||
if (factor.medical !== undefined) {
|
||||
itemColumns.medical = factor.medical
|
||||
}
|
||||
@@ -510,10 +537,13 @@ export default {
|
||||
} else if (item.type == 1) {
|
||||
//按年龄选择
|
||||
if (productTrialInfoDTO[item.code] != null) {
|
||||
productTrialInfoDTO[item.code].forEach(factor => {
|
||||
productTrialInfoDTO[item.code].forEach((factor) => {
|
||||
// item = Object.assign(item, factor)
|
||||
if(JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo')).insuredAge >= Number(factor.minAge) && JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo')).insuredAge <= Number(factor.maxAge)){
|
||||
// if(JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo')).age >= Number(factor.minAge) && JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo')).age <= Number(factor.maxAge)){
|
||||
if (
|
||||
JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo')).insuredAge >= Number(factor.minAge) &&
|
||||
JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo')).insuredAge <= Number(factor.maxAge)
|
||||
) {
|
||||
// if(JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo')).age >= Number(factor.minAge) && JSON.parse(this.$CacheUtils.getLocItem('saleInsuredPersonInfo')).age <= Number(factor.maxAge)){
|
||||
item = Object.assign(item, factor)
|
||||
}
|
||||
})
|
||||
@@ -523,6 +553,9 @@ export default {
|
||||
item['amt'] = Number(item.minAmt) * Number(item.moneyUnit)
|
||||
}
|
||||
}
|
||||
}else if(item.type==5){
|
||||
// 单元格,用于展示文案,从extra中获取
|
||||
item['showContent'] = item.extra
|
||||
}
|
||||
//规则储存
|
||||
item['rules'] = productTrialInfoDTO[item.code]
|
||||
|
||||
253
src/views/ebiz/generateImg/generateImg.vue
Normal file
253
src/views/ebiz/generateImg/generateImg.vue
Normal file
@@ -0,0 +1,253 @@
|
||||
<template>
|
||||
<div>
|
||||
<div id="capture" ref="generateImg" style="height: 100vh; overflow: hidden">
|
||||
<img src="@/assets/images/list_img.png" alt="" />
|
||||
<div class="box">
|
||||
<div class="title">
|
||||
<p class="organ">{{ orderList.manageComNameFull }}</p>
|
||||
<p class="name">{{ orderList.name }}</p>
|
||||
</div>
|
||||
<div class="pName">{{ orderList.productNameFull }}</div>
|
||||
<div class="type">{{ orderList.outOrderType == 'accept' ? '承保规保' : '预收规保' }}</div>
|
||||
<div class="yuan">{{ orderList.prem }}<span>元</span></div>
|
||||
<div class="time">{{ orderList.outOrderType == 'accept' ? '承保时间:' : '预收时间:' }}{{ orderList.appntDate }}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex justify-content-s bottom-btn border-color">
|
||||
<van-button square type="default" size="large" @click="shareImg" v-no-more-click="1000"> 分享 </van-button>
|
||||
<van-button square type="danger" size="large" @click="downLoadImagesFunc" v-no-more-click="1000"> 下载 </van-button>
|
||||
</div>
|
||||
<div class="close" @click="close()">
|
||||
<van-icon name="cross" size="38" color="#fff" />
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import html2canvas from 'html2canvas'
|
||||
import { base64Excel } from '@/api/ebiz/nbs'
|
||||
export default {
|
||||
name: 'generateImg',
|
||||
// generateImgData
|
||||
props: {
|
||||
// generateImgData: {
|
||||
// type: Object,
|
||||
// default: {}
|
||||
// },
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
orderList: {},
|
||||
isIOS: false,
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.isIOS = /iPad|iPhone|iPod/.test(navigator.userAgent) && !window.MSStream;
|
||||
if(this.isIOS) {
|
||||
document.getElementsByClassName('box').style.top = '38%'
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
getList() {
|
||||
this.orderList = JSON.parse(localStorage.getItem('orderList'))
|
||||
},
|
||||
// 将 Blob转base64
|
||||
blobToBase64(blob) {
|
||||
return new Promise((resolve, reject) => {
|
||||
const reader = new FileReader()
|
||||
reader.onloadend = () => resolve(reader.result)
|
||||
reader.onerror = reject
|
||||
reader.readAsDataURL(blob)
|
||||
})
|
||||
},
|
||||
// 分享
|
||||
shareImg() {
|
||||
// const element = document.getElementById('capture')
|
||||
// const canvas = await html2canvas(element)
|
||||
html2canvas(this.$refs.generateImg, {
|
||||
width: this.$refs.generateImg.offsetWidth,
|
||||
height: this.$refs.generateImg.offsetHeight,
|
||||
backgroundColor: '#fff',
|
||||
scale: 2,
|
||||
dpi: 300
|
||||
}).then((canvas) => {
|
||||
// 将 canvas 转换为 Blob
|
||||
canvas.toBlob((blob) => {
|
||||
this.blobToBase64(blob).then((base64String) => {
|
||||
let base64Manane = base64String.split(',')[1]
|
||||
// console.log(base64String)
|
||||
EWebBridge.webCallAppInJs('bridge', {
|
||||
flag: 'share',
|
||||
extra: {
|
||||
shareType: '1',
|
||||
base64: base64Manane
|
||||
}
|
||||
})
|
||||
})
|
||||
}, 'image/png')
|
||||
})
|
||||
},
|
||||
// 生成图片并下载
|
||||
domToImage(domElement, quality, callback) {
|
||||
console.log(location);
|
||||
html2canvas(domElement, {
|
||||
width: domElement.offsetWidth,
|
||||
height: domElement.offsetHeight,
|
||||
backgroundColor: '#fff',
|
||||
scale: 1,
|
||||
dpi: 300
|
||||
}).then((canvas) => {
|
||||
// 转换canvas为PNG图片并压缩
|
||||
canvas.toBlob(
|
||||
(blob) => {
|
||||
// const a = document.createElement('a')
|
||||
// a.href = URL.createObjectURL(blob)
|
||||
// a.download = '业绩贺报.png'
|
||||
// a.click()
|
||||
// let newimg = new Image()
|
||||
// newimg.src = URL.createObjectURL(blob)
|
||||
// newimg.onload = function () {
|
||||
// URL.revokeObjectURL(newimg.src)
|
||||
// callback(newimg)
|
||||
// }
|
||||
this.blobToBase64(blob).then((base64String) => {
|
||||
base64Excel({ base64Img: base64String }).then(res => {
|
||||
if (res.result == '0') {
|
||||
EWebBridge.webCallAppInJs('download', {
|
||||
name: '业绩贺报.png',
|
||||
url: res.path
|
||||
})
|
||||
.then(() => {
|
||||
console.log('下载完成')
|
||||
})
|
||||
.catch(() => {
|
||||
this.$toast.fail('图片下载失败,请重新下载!')
|
||||
})
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
})
|
||||
},
|
||||
'image/png'
|
||||
// quality
|
||||
)
|
||||
})
|
||||
},
|
||||
downLoadImagesFunc() {
|
||||
this.domToImage(this.$refs.generateImg)
|
||||
},
|
||||
close() {
|
||||
this.$emit('child-colse', '1')
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
img {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.box {
|
||||
position: absolute;
|
||||
width: 80%;
|
||||
height: 40%;
|
||||
top: 38%;
|
||||
left: 10%;
|
||||
|
||||
.title {
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
// left: 30%;
|
||||
top: 24%;
|
||||
font-weight: bold;
|
||||
|
||||
p {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.organ {
|
||||
font-size: 12px;
|
||||
color: #b7170b;
|
||||
}
|
||||
|
||||
.name {
|
||||
font-size: 17px;
|
||||
color: #b7170b;
|
||||
}
|
||||
}
|
||||
|
||||
.pName {
|
||||
position: absolute;
|
||||
top: 44%;
|
||||
font-size: 15px;
|
||||
color: #efbc4f;
|
||||
width: 100%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.type {
|
||||
font-size: 22px;
|
||||
color: #efbc4f;
|
||||
position: absolute;
|
||||
top: 53%;
|
||||
width: 100%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.yuan {
|
||||
font-size: 30px;
|
||||
color: #efbc4f;
|
||||
position: absolute;
|
||||
top: 67%;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
display: inline-block;
|
||||
vertical-align: bottom;
|
||||
|
||||
span {
|
||||
font-size: 14px;
|
||||
margin-left: 5px;
|
||||
}
|
||||
}
|
||||
|
||||
.time {
|
||||
font-size: 14px;
|
||||
color: #efbc4f;
|
||||
position: absolute;
|
||||
top: 85%;
|
||||
width: 100%;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
}
|
||||
|
||||
.border-color {
|
||||
z-index: 9999;
|
||||
border: 2px solid;
|
||||
border-image: radial-gradient(circle, rgba(255, 233, 124, 1), rgba(222, 144, 34, 1)) 2 2;
|
||||
}
|
||||
/deep/ .van-button {
|
||||
border-radius: 12px;
|
||||
width: 42%;
|
||||
}
|
||||
/deep/ .van-button--danger {
|
||||
background: linear-gradient(to right, #f26e43, #ac0209) !important;
|
||||
/*设置按钮为渐变颜色*/
|
||||
border: none !important;
|
||||
}
|
||||
.close {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
right: 0;
|
||||
}
|
||||
</style>
|
||||
@@ -29,7 +29,7 @@
|
||||
<!-- <span>{{ levelNames[level] }}</span> -->
|
||||
<span>{{ levelNames[levelLength + index] }}</span>
|
||||
<van-icon name="arrow-down" />
|
||||
</span>
|
||||
</span>lanC
|
||||
</div>
|
||||
</div>
|
||||
<div class="content">
|
||||
|
||||
@@ -44,10 +44,10 @@
|
||||
<div class="pcenter-list mr20 mb10 ml15">
|
||||
<template v-if="branchType != '6'">
|
||||
<div class="pcenter-item text-center">
|
||||
<img src="../../../assets/images/home_cp_1.png" style="width: 100%;" @click="goDetail('GFRSPRO_M0073')" />
|
||||
<img src="../../../assets/images/home_product_center_m0092.png" style="width: 100%;" @click="goDetail('GFRSPRO_M0092')" />
|
||||
</div>
|
||||
<div class="pcenter-item text-center">
|
||||
<img src="../../../assets/images/home_cp_2.png" style="width: 100%;" @click="goDetail('GFRSPRO_M0072')" />
|
||||
<img src="../../../assets/images/home_product_center_m0094.png" style="width: 100%;" @click="goDetail('GFRSPRO_M0094')" />
|
||||
</div>
|
||||
</template>
|
||||
<template v-else-if="branchType == '6'">
|
||||
@@ -122,11 +122,11 @@
|
||||
<div class="home-product-pcenter">
|
||||
<div class="pcenter-list mr20 mb10 ml15">
|
||||
<div class="pcenter-item text-center">
|
||||
<img src="../../../assets/images/home_cp_1.png" style="width: 100%;" @click="goDetail('GFRSPRO_M0073')" />
|
||||
</div>
|
||||
<div class="pcenter-item text-center">
|
||||
<img src="../../../assets/images/home_cp_2.png" style="width: 100%;" @click="goDetail('GFRSPRO_M0072')" />
|
||||
</div>
|
||||
<img src="../../../assets/images/home_product_center_m0092.png" style="width: 100%;" @click="goDetail('GFRSPRO_M0092')" />
|
||||
</div>
|
||||
<div class="pcenter-item text-center">
|
||||
<img src="../../../assets/images/home_product_center_m0094.png" style="width: 100%;" @click="goDetail('GFRSPRO_M0094')" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -170,7 +170,7 @@ export default {
|
||||
productCenterImgUrl: '', // 产品中心图片
|
||||
productCenterKmhImgUrl: this.$assetsUrl + 'images/goodStart/productKmh.png', // 产品中心开门红图片
|
||||
productCenterNormalImgUrl: this.$assetsUrl + 'images/goodStart/product.png', // 产品中心普通蓝色图片
|
||||
personalInsu: ['1','N1','N2','N3','N5','T','S'] // 个险渠道编码及其他展示个险渠道类型的渠道编码
|
||||
personalInsu: ['1','N1','N2','N3','N5','T','S','JZG'] // 个险渠道编码及其他展示个险渠道类型的渠道编码
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
@@ -232,7 +232,7 @@ export default {
|
||||
const result = await getAgentInfo({})
|
||||
if (result.result === '0') {
|
||||
// 内外勤判断
|
||||
this.isInner = /^N{1}/.test(result.branchType) || /^S/.test(result.branchType) || /^T/.test(result.branchType) // 判断是否内勤
|
||||
this.isInner = /^N{1}/.test(result.branchType) || /^S/.test(result.branchType) || /^T/.test(result.branchType) || /^JZG/.test(result.branchType) // 判断是否内勤
|
||||
this.branchType = result.branchType //6 网销渠道
|
||||
this.isGoodStart = result.showTemplateKmh === 'KMH'? '1':'2' // 判断是否开门红 1-开门红 2-否
|
||||
this.isPersonalInsu = this.personalInsu.indexOf(result.branchType) > -1 // 判断是否个险渠道
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<div>
|
||||
<div class="mb50">
|
||||
<img class="w178 h41 div_1" src="@/assets/images/proposal/proposal_logo.png" />
|
||||
<div class="white fw500 fs18 div_2">{{mainRiskName}}</div>
|
||||
<div class="white fw500 fs18 div_2">{{ mainRiskName }}</div>
|
||||
<van-sticky @scroll="testSticky">
|
||||
<div class="pl15 pt15 flex justify-content-fs align-items-c sticky_div" :class="pageShowType.isFixed ? 'divbg_1' : 'divbg_2'">
|
||||
<div class="mr9 title_item" v-for="(item, index) in pageShowInfo.insuredDTOs" :key="index" @click="checkInsure(item.insuredId)">
|
||||
@@ -58,7 +58,9 @@
|
||||
</div>
|
||||
<div class="risk_body flex text-center table bg_f7fbff" v-for="(riskItem, index) in pageShowInfo.showInsuredDTO.riskDTOLst" :key="index">
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7">{{ riskItem.riskName }}</div>
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border" v-if="ispremshow">{{ riskItem.amt ? riskItem.amt : '--' }}</div>
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border" v-if="ispremshow">
|
||||
{{ riskItem.amt ? riskItem.amt : '--' }}
|
||||
</div>
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">{{ riskItem.insureName }}</div>
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">{{ riskItem.payName }}</div>
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">{{ riskItem.showPrem ? riskItem.showPrem : '--' }}</div>
|
||||
@@ -78,11 +80,13 @@
|
||||
<div v-for="(riskItem, index) in pageShowInfo.showInsuredDTO.riskDTOLstNew" :key="index">
|
||||
<div class="risk_body flex text-center table bg_f7fbff">
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7">{{ riskItem.riskName }}</div>
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">{{ riskItem.pensionAge}} 周岁</div>
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">{{ riskItem.receivePensionWay == '0' ? '年领':'月领'}}</div>
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">{{ riskItem.guaranteedYear}} 年</div>
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">{{ riskItem.pensionAge }} 周岁</div>
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">
|
||||
{{ riskItem.receivePensionWay == '0' ? '年领' : '月领' }}
|
||||
</div>
|
||||
<div class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">{{ riskItem.guaranteedYear }} 年</div>
|
||||
<div v-if="riskItem.receivePensionWay == '0'" class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">
|
||||
{{ riskItem.amt}}
|
||||
{{ riskItem.amt }}
|
||||
</div>
|
||||
<div v-if="riskItem.receivePensionWay == '1'" class="flex justify-content-c align-items-c pl7 pr7 pt7 pb7 table_border">
|
||||
{{ riskItem.amt | fillNumber }}
|
||||
@@ -91,7 +95,6 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="h20"> </div>
|
||||
</div>
|
||||
<div class="up_down_div">
|
||||
@@ -167,7 +170,6 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="h20"> </div>
|
||||
<div class="up_down_div">
|
||||
<img src="@/assets/images/proposal/proposal_down.png" :class="pageShowType.riskCheckStatus ? '' : 'img180'" @click="testRiskCheck" />
|
||||
</div>
|
||||
@@ -196,7 +198,7 @@
|
||||
v-for="(moneyItem, index) in pageShowInfo.showInsuredDTO.demoLabel"
|
||||
:key="index"
|
||||
>
|
||||
<div class="text-left" style="width: 75%;">
|
||||
<div class="text-left" style="width: 75%">
|
||||
<span>{{ moneyItem.contentLabel }}</span>
|
||||
</div>
|
||||
<div class="text-right" v-if="moneyItem.content == 'currentBonus_M'">
|
||||
@@ -239,15 +241,67 @@
|
||||
:radios="pageShowInfo.showInsuredDTO.radios"
|
||||
:value.sync="pageShowInfo.showInsuredDTO.tap"
|
||||
></select-radio>
|
||||
<div class="fs12 text-center pb15" style="color: #999999;">拖动按钮查看不同年龄的保单利益</div>
|
||||
<div class="fs12 text-center pb15" style="color: #999999">拖动按钮查看不同年龄的保单利益</div>
|
||||
|
||||
<!-- 国富人寿富贵尊享终身寿险(分红型)添加利益演示提示 -->
|
||||
<div v-if="mainRiskCodes.includes('GFRS_M0095')" class="fs13 div_11 text-left">
|
||||
<b
|
||||
>本利益演示基于公司的精算及其他假设,不代表公司的历史经营业绩,也不代表对公司未来经营业绩的预期,保单的红利分配是不确定的,红利水平是不保证的,在某些年度红利可能为零。
|
||||
</b>
|
||||
</div>
|
||||
<div class="div_10"></div>
|
||||
</div>
|
||||
<!-- 责任免除 -->
|
||||
<div class="pt15 pb17 bg-white model_title relative">
|
||||
<div :class="pageShowType.dutyCheckStatus ? '' : 'hideInfo_hesitate'">
|
||||
<div class="fs16 color_3A81F6 lh24 fw600 text-center">责任免除</div>
|
||||
<div class="line_C8DBFB"></div>
|
||||
<div class="fs14 div_height div_11">
|
||||
<b>
|
||||
因下列情形之一导致被保险人身故或全残的,我们不承担给付保险金的责任:<br />
|
||||
一、投保人对被保险人的故意杀害、故意伤害;<br />
|
||||
二、被保险人故意犯罪或者抗拒依法采取的刑事强制措施;<br />
|
||||
三、被保险人故意自伤,或自保险合同成立或者保险合同效力恢复之日起2年内自杀,但被保险人自杀时为无民事行为能力人的除外;<br />
|
||||
四、被保险人服用、吸食或注射毒品;<br />
|
||||
五、被保险人酒后驾驶、无合法有效驾驶证驾驶,或驾驶无合法有效行驶证的机动车;<br />
|
||||
六、战争、军事冲突、暴乱或武装叛乱;<br />
|
||||
七、核爆炸、核辐射或核污染。<br />
|
||||
发生上述第一项情形导致被保险人身故的,保险合同终止,我们向被保险人的继承人(除投保人本人外)退还保险合同的现金价值。<br />
|
||||
发生上述第一项情形导致被保险人全残的,保险合同终止,我们向被保险人退还保险合同的现金价值。<br />
|
||||
发生上述其他情形导致被保险人身故或全残的,保险合同终止,我们向您退还保险合同的现金价值。
|
||||
</b>
|
||||
</div>
|
||||
<div class="h20"> </div>
|
||||
<div class="up_down_div">
|
||||
<img src="@/assets/images/proposal/proposal_down.png" :class="pageShowType.dutyCheckStatus ? '' : 'img180'" @click="dutyCheck" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 犹豫期退保 -->
|
||||
|
||||
<div class="pt15 pb17 bg-white relative">
|
||||
<div :class="pageShowType.hesitateCheckStatus ? '' : 'hideInfo_hesitate'">
|
||||
<div class="fs16 color_3A81F6 lh24 fw600 text-center">犹豫期退保</div>
|
||||
<div class="line_C8DBFB"></div>
|
||||
<div class="fs14 div_height div_11">
|
||||
<b>自您签收保险合同之日起,有15日的犹豫期。</b
|
||||
>在此期间请您认真审视保险合同,如果您认为保险合同与您的需求不相符,您可以在此期间提出解除保险合同,我们将退还您所支付的全部保险费。<br />
|
||||
您在犹豫期后解除保险合同的,<b>自我们收到解除合同通知书之日起,保险合同终止。</b>我们自收到解除合同通知书之日起30日内向您退还保险合同的现金价值。
|
||||
<b>您在犹豫期后解除合同可能会遭受一定损失。</b>
|
||||
</div>
|
||||
<div class="h20"> </div>
|
||||
<div class="up_down_div">
|
||||
<img src="@/assets/images/proposal/proposal_down.png" :class="pageShowType.hesitateCheckStatus ? '' : 'img180'" @click="hesitateCheck" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- 温馨提示-->
|
||||
<div class="pt15 pb17 bg-white model_title">
|
||||
<div class="fs16 color_3A81F6 lh24 fw600 text-center">温馨提示</div>
|
||||
<div class="line_C8DBFB"></div>
|
||||
<div class="fs13 gray div_11">
|
||||
本资料仅供客户理解产品条款所用,有关产品的说明、解释、承诺或保证,如与产品条款不一致,均以产品条款为准。
|
||||
<div class="fs13 div_11">
|
||||
<b> 本资料仅供客户理解产品条款所用,有关产品的说明、解释、承诺或保证,如与产品条款不一致,均以产品条款为准。 </b>
|
||||
</div>
|
||||
<div class="div_12"></div>
|
||||
</div>
|
||||
@@ -283,18 +337,19 @@
|
||||
</div>
|
||||
<div class="div_02">
|
||||
<div class="text-center div_021">
|
||||
<div class="text-center div_022">{{mainRiskName}}</div>
|
||||
<div class="text-center div_022">{{ mainRiskName }}</div>
|
||||
<!-- 如果没有姓名的话,根据性别展示男士或女士 -->
|
||||
<div class="text-center div_023">尊敬的<span v-if="pageShowInfo.appntDTO.name">{{ pageShowInfo.appntDTO.name.substr(0, 1) }}</span>{{ pageShowInfo.appntDTO.sex == '0' ? '先生' : '女士' }}</div>
|
||||
<div class="text-center div_023">
|
||||
尊敬的<span v-if="pageShowInfo.appntDTO.name">{{ pageShowInfo.appntDTO.name.substr(0, 1) }}</span
|
||||
>{{ pageShowInfo.appntDTO.sex == '0' ? '先生' : '女士' }}
|
||||
</div>
|
||||
</div>
|
||||
<img class="img_13" src="@/assets/images/proposal/proposal_share_bg.png" />
|
||||
</div>
|
||||
<div class="text-center">
|
||||
<img @click="showShareType = '01'" class="img_14" src="@/assets/images/proposal/proposal_open.png" />
|
||||
</div>
|
||||
<div class="fs12 text-center div_03">
|
||||
敬呈
|
||||
</div>
|
||||
<div class="fs12 text-center div_03">敬呈</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
@@ -326,7 +381,7 @@ import {
|
||||
import SelectRadio from '@/components/ebiz/SelectRadio'
|
||||
import { getDemo, toInsurance, getDemoByProposalNo, share, getSharingToken } from '@/api/ebiz/proposal/proposal.js'
|
||||
import { funcPermCheck } from '@/api/ebiz/common/common'
|
||||
import { haveTap, getTapIndex, relevanceByInsure,isAllEqual } from './js/exhibitionMethod.js'
|
||||
import { haveTap, getTapIndex, relevanceByInsure, isAllEqual } from './js/exhibitionMethod.js'
|
||||
import { formatRiskList } from '@/assets/js/utils/formatRiskList.js'
|
||||
import { weixinShare } from '@/assets/js/utils/wxShare.js'
|
||||
import { getAgentInfo } from '@/api/ebiz/my/my.js'
|
||||
@@ -348,7 +403,9 @@ export default {
|
||||
dutyShowType: '00',
|
||||
isFixed: false, // 粘性布局状态
|
||||
productCheckStatus: true, //产品收展状态
|
||||
riskCheckStatus: true //责任收展状态
|
||||
riskCheckStatus: true, //责任收展状态
|
||||
hesitateCheckStatus: true, // 犹豫期退保
|
||||
dutyCheckStatus: true // 责任免除
|
||||
},
|
||||
// 页面显示详细数据
|
||||
pageShowInfo: {
|
||||
@@ -385,9 +442,9 @@ export default {
|
||||
agent: {},
|
||||
mainRiskCodes: [],
|
||||
time: 5,
|
||||
proposalNo:'',
|
||||
proposalNo: '',
|
||||
mainRiskName: '',
|
||||
ispremshow: true, // 是否展示保额
|
||||
ispremshow: true // 是否展示保额
|
||||
}
|
||||
},
|
||||
filters: {
|
||||
@@ -417,8 +474,8 @@ export default {
|
||||
},
|
||||
fillNumber(val) {
|
||||
// 小于10,在前面补0
|
||||
return Number(val*0.085).toFixed(2)
|
||||
},
|
||||
return Number(val * 0.085).toFixed(2)
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.$jump({
|
||||
@@ -453,7 +510,7 @@ export default {
|
||||
// init方法在微信端存储token,接口请求用此token,所以init方法前不要请求接口,会影响分享微信功能,接口会报token为空
|
||||
this.init()
|
||||
//校验当前用户权限
|
||||
funcPermCheck({}).then(res => {
|
||||
funcPermCheck({}).then((res) => {
|
||||
this.isCheck = res.result
|
||||
})
|
||||
},
|
||||
@@ -495,12 +552,12 @@ export default {
|
||||
checkInsure(insureId) {
|
||||
let that = this
|
||||
this.pageShowInfo.showInsuredDTO
|
||||
this.pageShowInfo.insuredDTOs.map(item => {
|
||||
this.pageShowInfo.insuredDTOs.map((item) => {
|
||||
if (item.insuredId == insureId) {
|
||||
// 建议书投保人/被保人姓名不必填, 填写姓名时展示姓名(落库),不填写姓名时展示性别+年龄,如:男30岁(不落库)
|
||||
if(!item.name){
|
||||
let sex = item.sex == '0'?'男':'女'
|
||||
item.name = sex + item.insuredAge+'岁'
|
||||
if (!item.name) {
|
||||
let sex = item.sex == '0' ? '男' : '女'
|
||||
item.name = sex + item.insuredAge + '岁'
|
||||
}
|
||||
this.pageShowInfo.showInsuredDTO = item
|
||||
that.$forceUpdate()
|
||||
@@ -522,6 +579,12 @@ export default {
|
||||
testRiskCheck() {
|
||||
this.pageShowType.riskCheckStatus = !this.pageShowType.riskCheckStatus
|
||||
},
|
||||
hesitateCheck() {
|
||||
this.pageShowType.hesitateCheckStatus = !this.pageShowType.hesitateCheckStatus
|
||||
},
|
||||
dutyCheck() {
|
||||
this.pageShowType.dutyCheckStatus = !this.pageShowType.dutyCheckStatus
|
||||
},
|
||||
checkShowDutyType(type) {
|
||||
this.pageShowType.dutyShowType = type
|
||||
},
|
||||
@@ -533,21 +596,21 @@ export default {
|
||||
}
|
||||
}
|
||||
if (this.$route.query.proposalOrderNo) {
|
||||
this.proposalNo = this.$route.query.proposalOrderNo;
|
||||
this.proposalNo = this.$route.query.proposalOrderNo
|
||||
params.proposalInfoDTO.proposalNo = this.$route.query.proposalOrderNo
|
||||
this.$CacheUtils.setLocItem('proposalNo',this.$route.query.proposalOrderNo)
|
||||
this.$CacheUtils.setLocItem('proposalNo', this.$route.query.proposalOrderNo)
|
||||
}
|
||||
if (this.isWeixin) {
|
||||
//在微信端
|
||||
params.proposalInfoDTO.proposalNo = this.$route.query.proposalOrderNo
|
||||
/*this.mainRiskCodes = JSON.parse(this.$route.query.mainRiskCodes)*/
|
||||
this.$CacheUtils.setLocItem('token',this.$route.query.token)
|
||||
this.$CacheUtils.setLocItem('token', this.$route.query.token)
|
||||
let agentResult = await getAgentInfo({}) //调取代理人查询接口
|
||||
if (agentResult.result == '0') {
|
||||
let { agent } = this
|
||||
let { name, phoneNo, certificateInfoList } = agentResult
|
||||
if (certificateInfoList != null && certificateInfoList != '' && certificateInfoList.length > 0) {
|
||||
certificateInfoList.forEach(c => {
|
||||
certificateInfoList.forEach((c) => {
|
||||
if (c.certificateType == '0') {
|
||||
agent.certificate = c.certificateNo
|
||||
}
|
||||
@@ -574,7 +637,7 @@ export default {
|
||||
this.agent.name = agentResult.name
|
||||
}
|
||||
params.proposalInfoDTO.proposalNo = this.$route.query.proposalOrderNo
|
||||
getDemo(params).then(res => {
|
||||
getDemo(params).then((res) => {
|
||||
this.formatLocal(res)
|
||||
})
|
||||
}
|
||||
@@ -610,7 +673,7 @@ export default {
|
||||
}
|
||||
},
|
||||
async sharePeople() {
|
||||
console.log(this.pageShowInfo.insuredDTOs,'this.pageShowInfo.insuredDTOs')
|
||||
console.log(this.pageShowInfo.insuredDTOs, 'this.pageShowInfo.insuredDTOs')
|
||||
let date = new Date()
|
||||
let month = date.getMonth() + 1
|
||||
if (month <= 9) {
|
||||
@@ -618,45 +681,46 @@ export default {
|
||||
}
|
||||
let reqData = {
|
||||
mdType: 'm',
|
||||
monthStr:date.getFullYear() + month
|
||||
monthStr: date.getFullYear() + month
|
||||
}
|
||||
let shareContent;
|
||||
let shareContent
|
||||
let resData = await queryPersonal(reqData)
|
||||
// debugger
|
||||
//准会员话术改为普通人话术
|
||||
if(resData.content.length&&resData.content[0].slevel<3){
|
||||
resData.content[0].sgrade='00'
|
||||
if (resData.content.length && resData.content[0].slevel < 3) {
|
||||
resData.content[0].sgrade = '00'
|
||||
}
|
||||
if(resData.content.length&&resData.content[0].glevel<3){
|
||||
resData.content[0].ggrade='00'
|
||||
if (resData.content.length && resData.content[0].glevel < 3) {
|
||||
resData.content[0].ggrade = '00'
|
||||
}
|
||||
if (resData.content.length&&resData.content[0].slevel>0&&resData.content[0].sgrade&&resData.content[0].sgrade!='00') {
|
||||
if (resData.content.length && resData.content[0].slevel > 0 && resData.content[0].sgrade && resData.content[0].sgrade != '00') {
|
||||
// if(resData.content[0].slevel<3){
|
||||
// resData.content[0].sgrade='00'
|
||||
// }
|
||||
let sgrade =this.memberConversion(resData.content[0].sgrade);
|
||||
shareContent='国富双冠精英'+resData.content[0].slevel+'级'+sgrade+resData.content[0].name+'为您量身定制的保险产品,请查收';
|
||||
}else if (resData.content.length&&resData.content[0].glevel>0&&resData.content[0].ggrade&&resData.content[0].ggrade!='00') {
|
||||
let sgrade = this.memberConversion(resData.content[0].sgrade)
|
||||
shareContent = '国富双冠精英' + resData.content[0].slevel + '级' + sgrade + resData.content[0].name + '为您量身定制的保险产品,请查收'
|
||||
} else if (resData.content.length && resData.content[0].glevel > 0 && resData.content[0].ggrade && resData.content[0].ggrade != '00') {
|
||||
// if(resData.content[0].glevel<3){
|
||||
// resData.content[0].ggrade='00'
|
||||
// }
|
||||
let ggrade =this.memberConversion(resData.content[0].ggrade);
|
||||
shareContent='国富桂冠精英'+resData.content[0].glevel+'级'+ggrade+resData.content[0].name+'为您量身定制的保险产品,请查收';
|
||||
let ggrade = this.memberConversion(resData.content[0].ggrade)
|
||||
shareContent = '国富桂冠精英' + resData.content[0].glevel + '级' + ggrade + resData.content[0].name + '为您量身定制的保险产品,请查收'
|
||||
} else {
|
||||
shareContent = this.agent.name+'为您设计的专属保险计划书,请查阅!因为国富,所以民安!';
|
||||
shareContent = this.agent.name + '为您设计的专属保险计划书,请查阅!因为国富,所以民安!'
|
||||
}
|
||||
console.log(shareContent,'shareContent')
|
||||
console.log(shareContent, 'shareContent')
|
||||
let title
|
||||
let riskList = [] //所有险种
|
||||
let riskCodeList = [] //所有险种code
|
||||
this.pageShowInfo.insuredDTOs.map(item => {
|
||||
item.mainRisk.map(item01 => {
|
||||
if (item01.isMainRisk == '0') { //主险
|
||||
this.pageShowInfo.insuredDTOs.map((item) => {
|
||||
item.mainRisk.map((item01) => {
|
||||
if (item01.isMainRisk == '0') {
|
||||
//主险
|
||||
riskList.push(item01)
|
||||
}
|
||||
})
|
||||
})
|
||||
riskList.map(item => {
|
||||
riskList.map((item) => {
|
||||
riskCodeList.push(item.riskCode)
|
||||
})
|
||||
let sameRisk = isAllEqual(riskCodeList)
|
||||
@@ -665,17 +729,17 @@ export default {
|
||||
// 2、有2个及以上主险组合,建议书名称显示“保险产品组合计划”
|
||||
// 二、有多个被保险人
|
||||
// 都显示“家庭保障计划”
|
||||
if(sameRisk){
|
||||
if(this.pageShowInfo.insuredDTOs.length > 1){
|
||||
title='家庭保障计划'
|
||||
}else{
|
||||
title= riskList[0].riskName
|
||||
if (sameRisk) {
|
||||
if (this.pageShowInfo.insuredDTOs.length > 1) {
|
||||
title = '家庭保障计划'
|
||||
} else {
|
||||
title = riskList[0].riskName
|
||||
}
|
||||
}else{
|
||||
if(this.pageShowInfo.insuredDTOs.length > 1){
|
||||
title='家庭保障计划'
|
||||
}else{
|
||||
title= '保险产品组合计划'
|
||||
} else {
|
||||
if (this.pageShowInfo.insuredDTOs.length > 1) {
|
||||
title = '家庭保障计划'
|
||||
} else {
|
||||
title = '保险产品组合计划'
|
||||
}
|
||||
}
|
||||
let res = await getSharingToken({ shareType: 'proposal_demonstrate' })
|
||||
@@ -685,7 +749,8 @@ export default {
|
||||
extra: {
|
||||
title: title,
|
||||
content: shareContent,
|
||||
url: location.origin + '/#/proposal/proposalInfo?proposalOrderNo=' + encodeURI(this.$route.query.proposalOrderNo) + '&token=' + encodeURI(res.content),
|
||||
url:
|
||||
location.origin + '/#/proposal/proposalInfo?proposalOrderNo=' + encodeURI(this.$route.query.proposalOrderNo) + '&token=' + encodeURI(res.content),
|
||||
img: this.$assetsUrl + 'images/logo.png'
|
||||
}
|
||||
})
|
||||
@@ -698,7 +763,7 @@ export default {
|
||||
radioChange(risk) {
|
||||
let that = this
|
||||
let key = risk.tap
|
||||
risk.demoLabel.forEach(demo => {
|
||||
risk.demoLabel.forEach((demo) => {
|
||||
let result = haveTap(demo.content, '_')
|
||||
if (result) {
|
||||
let index = getTapIndex(demo.content, '_') + 1
|
||||
@@ -727,10 +792,10 @@ export default {
|
||||
this.pageShowInfo.insuredDTOs = res.content.orderDTO.insuredDTOs
|
||||
this.pageShowInfo.showInsuredDTO = this.pageShowInfo.insuredDTOs[0]
|
||||
let mainRiskNameList = []
|
||||
that.pageShowInfo.insuredDTOs.forEach(item => {
|
||||
item.riskDTOLst.forEach(item01 => {
|
||||
that.pageShowInfo.insuredDTOs.forEach((item) => {
|
||||
item.riskDTOLst.forEach((item01) => {
|
||||
if (item01.isMainRisk == '0') {
|
||||
if(item01.mainRiskCode == 'GFRS_M0080' || item01.mainRiskCode == 'GFRS_M0083' || item01.mainRiskCode == 'GFRS_M0085') {
|
||||
if (item01.mainRiskCode == 'GFRS_M0080' || item01.mainRiskCode == 'GFRS_M0083' || item01.mainRiskCode == 'GFRS_M0085') {
|
||||
that.ispremshow = false
|
||||
}
|
||||
mainRiskNameList.push(item01.riskName)
|
||||
@@ -742,13 +807,13 @@ export default {
|
||||
// 2、有2个及以上主险组合,建议书名称显示“保险产品组合计划”
|
||||
// 二、有多个被保险人
|
||||
// 都显示“家庭保障计划”
|
||||
if(mainRiskNameList.length == 1){
|
||||
if (mainRiskNameList.length == 1) {
|
||||
if (this.pageShowInfo.insuredDTOs.length > 1) {
|
||||
that.mainRiskName = '家庭保障计划'
|
||||
} else {
|
||||
that.mainRiskName = mainRiskNameList[0]
|
||||
}
|
||||
}else{
|
||||
} else {
|
||||
if (this.pageShowInfo.insuredDTOs.length > 1) {
|
||||
that.mainRiskName = '家庭保障计划'
|
||||
} else {
|
||||
@@ -758,16 +823,16 @@ export default {
|
||||
//投保人年龄
|
||||
// this.pageShowInfo.appntDTO.age = getAge.getAge(this.pageShowInfo.appntDTO.birthdayLabel, new Date())
|
||||
let { insuredLabelResult, insuredResult, insuredInfoResult } = res.content.calculusResDTO
|
||||
orderDTO.insuredDTOs.forEach(v => {
|
||||
orderDTO.insuredDTOs.forEach((v) => {
|
||||
//根据数据字典 获取当前值
|
||||
v.age = getAge.getAge(v.birthdayLabel, new Date())
|
||||
// 建议书投保人/被保人姓名不必填, 填写姓名时展示姓名(落库),不填写姓名时展示性别+年龄,如:男30岁(不落库)
|
||||
if(!v.name){
|
||||
let sex = v.sex == '0'?'男':'女'
|
||||
v.name = sex + v.insuredAge+'岁'
|
||||
if (!v.name) {
|
||||
let sex = v.sex == '0' ? '男' : '女'
|
||||
v.name = sex + v.insuredAge + '岁'
|
||||
}
|
||||
v.riskDTOLstNew = []
|
||||
v.riskDTOLst.forEach(risk => {
|
||||
v.riskDTOLst.forEach((risk) => {
|
||||
if (risk.isMainRisk == '0') {
|
||||
that.mainRiskCodes.push(risk.riskCode)
|
||||
}
|
||||
@@ -787,11 +852,11 @@ export default {
|
||||
risk.payName = risk.payEndYear + '年'
|
||||
}
|
||||
} else {
|
||||
risk.payName = '交至' + risk.payEndYear + '周岁'
|
||||
risk.payName = '交至' + risk.payEndYear + '周岁'
|
||||
}
|
||||
// todo责任显示处理
|
||||
if(risk.riskCode == 'GFRS_M0053' || risk.riskCode == 'GFRS_M0061'){
|
||||
v.riskDTOLstNew.push(risk)
|
||||
if (risk.riskCode == 'GFRS_M0053' || risk.riskCode == 'GFRS_M0061') {
|
||||
v.riskDTOLstNew.push(risk)
|
||||
}
|
||||
})
|
||||
})
|
||||
@@ -803,9 +868,9 @@ export default {
|
||||
this.insuredDTOs = relevanceByInsure(this.insuredDTOs, insuredLabelResult, insuredResult, insuredInfoResult) //进行数据关联
|
||||
this.getWXTitle(this.insuredDTOs) //获取微信标题
|
||||
// 建议书名称
|
||||
this.insuredDTOs.forEach(item => {
|
||||
this.insuredDTOs.forEach((item) => {
|
||||
if (item.riskDTOLst && item.riskDTOLst.length > 0) {
|
||||
item.riskDTOLst.forEach(ele => {
|
||||
item.riskDTOLst.forEach((ele) => {
|
||||
this.chooseProductCodes.push(ele.riskCode)
|
||||
})
|
||||
}
|
||||
@@ -815,7 +880,7 @@ export default {
|
||||
},
|
||||
//获取微信分享的标题
|
||||
getWXTitle(insuredDTOs) {
|
||||
dataDictionary.riskType.forEach(dataRisk => {
|
||||
dataDictionary.riskType.forEach((dataRisk) => {
|
||||
if (insuredDTOs[0].mainRisk[0].riskCode == dataRisk.code) {
|
||||
this.wxTitle = dataRisk.shortName + '计划书'
|
||||
}
|
||||
@@ -830,10 +895,10 @@ export default {
|
||||
let path = '/sale/insuredInfo?edit=1'
|
||||
if (this.mainRiskCodes) {
|
||||
if (this.mainRiskCodes.length === 2) {
|
||||
let prd26 = this.mainRiskCodes.some(item => {
|
||||
let prd26 = this.mainRiskCodes.some((item) => {
|
||||
return item === 'GFRS_M0026'
|
||||
})
|
||||
let prd17 = this.mainRiskCodes.some(item => {
|
||||
let prd17 = this.mainRiskCodes.some((item) => {
|
||||
return item === 'GFRS_M0017'
|
||||
})
|
||||
// 如果选择的产品不是GFRS_M0026&GFRS_M0017弹出提示
|
||||
@@ -841,7 +906,12 @@ export default {
|
||||
return Toast.fail('暂不支持组合产品转投保')
|
||||
}
|
||||
}
|
||||
if (this.mainRiskCodes[0] == 'GFRS_M0024' || this.mainRiskCodes[0] == 'GFRS_M0040' || this.mainRiskCodes[0] == 'GFRS_M0044'|| this.mainRiskCodes[0] == 'GFRS_M0051') {
|
||||
if (
|
||||
this.mainRiskCodes[0] == 'GFRS_M0024' ||
|
||||
this.mainRiskCodes[0] == 'GFRS_M0040' ||
|
||||
this.mainRiskCodes[0] == 'GFRS_M0044' ||
|
||||
this.mainRiskCodes[0] == 'GFRS_M0051'
|
||||
) {
|
||||
let specilFlag = '1'
|
||||
path = `${path}&specilFlag=${specilFlag}`
|
||||
let flagPermission = await riskRules.getProductSellPermissionList(this.mainRiskCodes[0], this)
|
||||
@@ -857,7 +927,7 @@ export default {
|
||||
proposalNo: this.proposalNo
|
||||
}
|
||||
}
|
||||
toInsurance(params).then(res => {
|
||||
toInsurance(params).then((res) => {
|
||||
if (res.result == '0') {
|
||||
this.$CacheUtils.setLocItem('orderNo', res.content.orderNo)
|
||||
localStorage.chooseProductCodes = ''
|
||||
@@ -882,7 +952,7 @@ export default {
|
||||
this.$forceUpdate() //强制组件更新 解决值更改之后 滑块不滑动的问题
|
||||
let index = String(value)
|
||||
if (demoLabel) {
|
||||
demoLabel.forEach(label => {
|
||||
demoLabel.forEach((label) => {
|
||||
label.value = demoValue[index][label.content]
|
||||
if (label.content == 'currentAge') {
|
||||
this.pageShowInfo.showInsuredDTO.checkAge = label.value
|
||||
@@ -922,7 +992,7 @@ export default {
|
||||
//点击滑块增加或者减少时调用
|
||||
slideChange(risk) {
|
||||
let index = String(risk.sliderValue)
|
||||
risk.demoLabel.forEach(label => {
|
||||
risk.demoLabel.forEach((label) => {
|
||||
label.value = risk.demoValue[index][label.content]
|
||||
if (label.content == 'currentAge') {
|
||||
this.pageShowInfo.showInsuredDTO.checkAge = label.value
|
||||
@@ -944,14 +1014,14 @@ export default {
|
||||
},
|
||||
//跳转到pdf 进入建议书后 根据建议书编码来查找相应的pdf
|
||||
async goPDF() {
|
||||
if(this.$route.query.proposalOrderNo){
|
||||
if (this.$route.query.proposalOrderNo) {
|
||||
this.$router.push({
|
||||
path: '/proposal/pdf',
|
||||
query: {
|
||||
proposalOrderNo:this.$route.query.proposalOrderNo
|
||||
proposalOrderNo: this.$route.query.proposalOrderNo
|
||||
}
|
||||
})
|
||||
}else{
|
||||
} else {
|
||||
this.$router.push({ path: '/proposal/pdf' })
|
||||
}
|
||||
|
||||
@@ -996,10 +1066,10 @@ export default {
|
||||
return values
|
||||
},
|
||||
memberConversion(status) {
|
||||
let text=''
|
||||
let text = ''
|
||||
switch (status) {
|
||||
case '00':
|
||||
text = '' //准会员不显示
|
||||
text = '' //准会员不显示
|
||||
break
|
||||
case '01':
|
||||
text = '正式会员'
|
||||
@@ -1117,6 +1187,10 @@ export default {
|
||||
height: 60px;
|
||||
overflow: hidden;
|
||||
}
|
||||
.hideInfo_hesitate {
|
||||
height: 60px;
|
||||
overflow: hidden;
|
||||
}
|
||||
.insured_item {
|
||||
position: absolute;
|
||||
z-index: 98;
|
||||
@@ -1518,6 +1592,9 @@ export default {
|
||||
line-height: 20px;
|
||||
margin: 5px 0px;
|
||||
}
|
||||
.div_height {
|
||||
line-height: 24px;
|
||||
}
|
||||
.van-button::before {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<div class="detail-container">
|
||||
<van-collapse v-model="activeNames">
|
||||
<!-- 保单信息 -->
|
||||
<van-collapse-item v-if="branchType == '13'" title="投保单信息" name="1" class="pb10 pt10">
|
||||
<van-collapse-item title="投保单信息" name="1" class="pb10 pt10">
|
||||
<van-cell-group>
|
||||
<van-cell title="投保单号" :value="OrderInfoDTO.orderNo" />
|
||||
<van-cell title="投保日期" :value="OrderInfoDTO.appntDateLabel" />
|
||||
|
||||
@@ -993,6 +993,7 @@
|
||||
},
|
||||
//证件起始截止日期
|
||||
onDateConfirm(val, type) {
|
||||
console.log(val,type,);
|
||||
switch (type) {
|
||||
case '0':
|
||||
{
|
||||
@@ -1009,9 +1010,10 @@
|
||||
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
|
||||
// 长期按钮是否禁用
|
||||
this.effectiveDateTypeAble = age <= 45
|
||||
if(this.userInfo.birthday){
|
||||
if(this.userInfo.birthday && !this.userInfo.certiexpiredate){
|
||||
this.userInfo.certiexpiredate = countCredentialValidity.getEndDate(this.userInfo.birthday,val)
|
||||
if(this.userInfo.certiexpiredate) {
|
||||
this.userInfo.certiexpiredate= this.userInfo.certiexpiredate
|
||||
this.effectiveDateTypeAble = true
|
||||
this.userInfo.effectiveDateType = false
|
||||
}
|
||||
@@ -1030,9 +1032,9 @@
|
||||
}
|
||||
//身份证证件类型的判断
|
||||
if (this.userInfo.idType == '1') {
|
||||
if(this.userInfo.birthday){
|
||||
this.userInfo.certificateValidate = countCredentialValidity.getStartDate(this.userInfo.birthday,val)
|
||||
}
|
||||
// if(this.userInfo.birthday){
|
||||
// this.userInfo.certificateValidate = countCredentialValidity.getStartDate(this.userInfo.birthday,val)
|
||||
// }
|
||||
}
|
||||
}
|
||||
break
|
||||
@@ -1057,7 +1059,7 @@
|
||||
if (this.userInfo.certificateValidate && !this.userInfo.certiexpiredate) {
|
||||
this.userInfo.certiexpiredate = countCredentialValidity.getEndDate(this.userInfo.birthday,this.userInfo.certificateValidate)
|
||||
}
|
||||
if (this.userInfo.certiexpiredate && !this.userInfo.certificateValidate) {
|
||||
if (this.userInfo.certiexpiredate && !this.userInfo.certificateValidate) {
|
||||
this.userInfo.certificateValidate = countCredentialValidity.getEndDate(this.userInfo.birthday,this.userInfo.certiexpiredate)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1109,9 +1109,10 @@
|
||||
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
|
||||
// 长期按钮是否禁用
|
||||
this.effectiveDateTypeAble = age <= 45
|
||||
if(this.userInfo.birthday){
|
||||
if(this.userInfo.birthday && !this.userInfo.certiexpiredate){
|
||||
this.userInfo.certiexpiredate = countCredentialValidity.getEndDate(this.userInfo.birthday,val)
|
||||
if(this.userInfo.certiexpiredate) {
|
||||
this.userInfo.certiexpiredate= this.userInfo.certiexpiredate
|
||||
this.effectiveDateTypeAble = true
|
||||
this.userInfo.effectiveDateType = false
|
||||
}
|
||||
@@ -1142,9 +1143,9 @@
|
||||
//获取年龄
|
||||
let age = utilsAge.getAge(this.userInfo.birthday, new Date())
|
||||
console.log(age)
|
||||
if(this.userInfo.birthday){
|
||||
this.userInfo.certificateValidate = countCredentialValidity.getStartDate(this.userInfo.birthday,val)
|
||||
}
|
||||
// if(this.userInfo.birthday){
|
||||
// this.userInfo.certificateValidate = countCredentialValidity.getStartDate(this.userInfo.birthday,val)
|
||||
// }
|
||||
}
|
||||
}
|
||||
break
|
||||
|
||||
@@ -16,6 +16,12 @@
|
||||
<van-cell title="销售人员工号" :value="recmd.agentCode" />
|
||||
<van-cell title="销售人员姓名" :value="recmd.name" />
|
||||
<van-cell title="投保单号" :value="orderInfo.orderNo"></van-cell>
|
||||
<!-- 电投签名确认新增交费期间 start at 20240910 -->
|
||||
<div v-if="riskInfo">
|
||||
<van-cell v-if="riskInfo.payEndYear == '1000'" title="交费期间" value="一次性交清" />
|
||||
<van-cell v-else title="交费期间" :value="riskInfo.payEndYearFlag == 'Y' ? `${riskInfo.payEndYear}年` : `至${riskInfo.payEndYear}岁`" />
|
||||
</div>
|
||||
<!-- 电投签名确认新增交费期间 end at 20240910 -->
|
||||
<van-cell title="投保日期" :value="date" />
|
||||
<van-cell title="保费合计(元)" :value="orderInfo.orderAmount == undefined ? '' : orderInfo.orderAmount | moneyFormat" />
|
||||
<van-cell v-if="cvalidateStr" title="指定保单生效日" :value="cvalidateStr" />
|
||||
@@ -353,6 +359,8 @@ export default {
|
||||
riskName: '',
|
||||
// 员工信息
|
||||
recmd: {},
|
||||
// 险种信息 获取交费期间
|
||||
riskInfo: null,
|
||||
// 投保时间
|
||||
date: '',
|
||||
// 订单信息
|
||||
@@ -1062,7 +1070,7 @@ export default {
|
||||
})
|
||||
getAgentInfo({}).then((res) => {
|
||||
console.log(res)
|
||||
if ((res.branchType == 'N1' || res.branchType == '1') && !this.isVideo) {
|
||||
if ((res.branchType == 'N1' || res.branchType == '1'||res.branchType == '12' || res.branchType == '13') && !this.isVideo) {
|
||||
this.$jump({
|
||||
flag: 'navigation',
|
||||
extra: {
|
||||
@@ -1449,6 +1457,7 @@ export default {
|
||||
let documentCodeType = res.orderDTO.ebizSignDTOS.filter(item=>item.documentCode == '14').length>0
|
||||
localStorage.setItem('documentCodeType', documentCodeType)
|
||||
let riskDTOLst = res.orderDTO.insuredDTOs[0].riskDTOLst[0]
|
||||
this.riskInfo = res.orderDTO.insuredDTOs[0].riskDTOLst[0]
|
||||
// 判断是否为长期险
|
||||
if ((riskDTOLst.insuYearFlag == 'Y' && riskDTOLst.insuYear > 1) || riskDTOLst.insuYearFlag == 'A') {
|
||||
this.$CacheUtils.setLocItem('isLongInsuranceFlag', "Y");
|
||||
|
||||
Reference in New Issue
Block a user