Merge branch 'feature/FCRS-764-【需求】国富人寿国富无忧两全保险(B款)-新产品-' into release/20240808-FCRS-764和776

This commit is contained in:
zhang.weiwei
2024-08-08 18:06:53 +08:00
6 changed files with 505 additions and 74 deletions

382
package-lock.json generated
View File

@@ -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",
@@ -3803,6 +3911,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",
@@ -7016,6 +7130,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",
@@ -10589,6 +10712,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 +14338,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 +15394,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",
@@ -17239,6 +17615,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",

View File

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

View File

@@ -3923,6 +3923,10 @@ export default {
{
code: "GFRS_M0086__cashValue",
label: "元"
},
{
code: "wuyouliangquanbkx",
label: "元"
}
],
// 卡单与短期险重新投保选择职业类别时,两个模块职业类型数据的排序不同,创建这个数据字典,用于在选择职业类别时,作为一个参数传入组件,

View File

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

View File

@@ -95,7 +95,7 @@
<van-radio class="radio" name="-2"></van-radio>
</van-radio-group>
</div>
<!-- 桂企产品GFRS_M0024/GFRS_M0040不显示责任保费及万元只显示责任名称及勾选框 -->
<!-- 桂企产品GFRS_M0024/GFRS_M0040不显示责任保费及万元只显示责任名称及勾选框 -->
<div class="border-bottom" v-if="riskFactor.type == 3">
<div class="pv12 border-bd">{{ riskFactor.name }}</div>
<div class="duty">
@@ -111,7 +111,8 @@
item.productCode == 'GFRS_M0054' ||
item.productCode == 'GFRS_M0073' ||
item.productCode == 'GFRS_M0057' ||
item.productCode == 'GFRS_M0086'
item.productCode == 'GFRS_M0086' ||
item.productCode == 'GFRS_M0092'
)
"
class="fs14 w100"
@@ -130,7 +131,8 @@
item.productCode == 'GFRS_M0054' ||
item.productCode == 'GFRS_M0073' ||
item.productCode == 'GFRS_M0057' ||
item.productCode == 'GFRS_M0086'
item.productCode == 'GFRS_M0086' ||
item.productCode == 'GFRS_M0092'
)
"
v-model="dutyItem.defaultDutyAmt"
@@ -2934,7 +2936,8 @@
this.trialList[index].productCode == 'GFRS_M0073' ||
this.trialList[index].productCode == 'GFRS_M0077' ||
this.trialList[index].productCode == 'GFRS_M0057' ||
this.trialList[index].productCode == 'GFRS_M0086'
this.trialList[index].productCode == 'GFRS_M0086'||
this.trialList[index].productCode == 'GFRS_M0092'
) {
riskItem['dutyLst'] = this.trialInfos[index].duty
}

View File

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