| | |
| | | VITE_PORT = 8698 |
| | | |
| | | # 开发环境读取配置文件路径 |
| | | VITE_PUBLIC_PATH = /front/ |
| | | VITE_PUBLIC_PATH = / |
| | | |
| | | # 开发环境代理 |
| | | VITE_PROXY_DOMAIN = /api |
| | |
| | | # 2.2.0 (2025-07-01) |
| | | |
| | | ### Bug Fixes |
| | | |
| | | - bug ([509bbe9](http://120.26.58.240:8888/r/JYBIndependentFront/commits/509bbe9a8036bdcce9c6d4a324e09ce128639908)) |
| | | - bug ([de2f274](http://120.26.58.240:8888/r/JYBIndependentFront/commits/de2f2740e030479db4ea16b4b9316f68f8c49fd4)) |
| | | - bug ([2626188](http://120.26.58.240:8888/r/JYBIndependentFront/commits/262618806aa9dfb65678e0697b54d199cc938879)) |
| | | - bug ([beed076](http://120.26.58.240:8888/r/JYBIndependentFront/commits/beed076c49252f94a6e49890fcf412969edf95ac)) |
| | | - bug ([ed90213](http://120.26.58.240:8888/r/JYBIndependentFront/commits/ed902134cbcaf8eef8647399aede6efc27ba451d)) |
| | | - bug ([94a697c](http://120.26.58.240:8888/r/JYBIndependentFront/commits/94a697c32d02a7d5488df2fe4f4e7589c6c2fbc0)) |
| | | - bug ([3c42cdf](http://120.26.58.240:8888/r/JYBIndependentFront/commits/3c42cdfe02b7a8e890d19b6bddd1a14365e754d5)) |
| | | - bug ([497ed33](http://120.26.58.240:8888/r/JYBIndependentFront/commits/497ed339e6dba93ad47ef0e68576c93438f836e3)) |
| | | - bug ([6b333be](http://120.26.58.240:8888/r/JYBIndependentFront/commits/6b333bea26b7599a3cf39cfa88333572ad66261e)) |
| | | - bug ([d82fea5](http://120.26.58.240:8888/r/JYBIndependentFront/commits/d82fea569f9bb487364d667cdf3af626cf06f20e)) |
| | | - bug ([c55ae1d](http://120.26.58.240:8888/r/JYBIndependentFront/commits/c55ae1d4b32d84de6ea071ff64a6180d408ba591)) |
| | | - bug ([ff6b2db](http://120.26.58.240:8888/r/JYBIndependentFront/commits/ff6b2db013b8afc86d26ba24fdf5e6115c2127ab)) |
| | | - bug ([bfd98af](http://120.26.58.240:8888/r/JYBIndependentFront/commits/bfd98af7a05cad9924e794b274ded26d37186ee8)) |
| | | - bug ([6bde59e](http://120.26.58.240:8888/r/JYBIndependentFront/commits/6bde59eb680d1978aad3f7270d7816210c559cfc)) |
| | | - bug ([4923681](http://120.26.58.240:8888/r/JYBIndependentFront/commits/4923681d933b455972166552dfb7538cd18f5808)) |
| | | - bug ([71d29c8](http://120.26.58.240:8888/r/JYBIndependentFront/commits/71d29c894613a25ebca83e291d64b65bde49ace8)) |
| | | - bug ([27cce61](http://120.26.58.240:8888/r/JYBIndependentFront/commits/27cce618ce55e6fc51fc9d9ff9f5f9122da2b1e0)) |
| | | - bug ([c634727](http://120.26.58.240:8888/r/JYBIndependentFront/commits/c6347278c9d0ede1d88680f9c80f863bca53bb5f)) |
| | | - bug ([eb9a06e](http://120.26.58.240:8888/r/JYBIndependentFront/commits/eb9a06ed1a51ae12b32c498896d1f75f6d3477ed)) |
| | | |
| | | ### Features |
| | | |
| | | - 接口 ([16621fd](http://120.26.58.240:8888/r/JYBIndependentFront/commits/16621fd3bdb28fae887fd95bf61d0e5c7c65d121)) |
| | | - 接口 ([17062f5](http://120.26.58.240:8888/r/JYBIndependentFront/commits/17062f511f1a714e8bf091c9916af8f70872858d)) |
| | | - 接口对接 ([2077f44](http://120.26.58.240:8888/r/JYBIndependentFront/commits/2077f4454781f26974cfc6c529dd93ac36656d41)) |
| | | - 接口对接 ([7508a26](http://120.26.58.240:8888/r/JYBIndependentFront/commits/7508a26c00c2ce93ad8c08394f0f9d3d13ebb4ab)) |
| | | - 接口对接 ([a506fbe](http://120.26.58.240:8888/r/JYBIndependentFront/commits/a506fbeacee58f5f9f78f2efee5d0b0cc502dad9)) |
| | | - 接口对接 ([606edf8](http://120.26.58.240:8888/r/JYBIndependentFront/commits/606edf808700e68b4d01acadc53f845f208629c8)) |
| | | - 接口对接 ([b697737](http://120.26.58.240:8888/r/JYBIndependentFront/commits/b697737f281023871227b26b6c9d6c309cd3e899)) |
| | | - 接口对接 ([4530394](http://120.26.58.240:8888/r/JYBIndependentFront/commits/4530394a1a32ab7d6b9cca3334bbd9535e15b79e)) |
| | | - 接口对接 ([cc0e1bf](http://120.26.58.240:8888/r/JYBIndependentFront/commits/cc0e1bffc4fa5dc3f51405ef967e99c00997a18e)) |
| | | - 接口对接 ([acaec31](http://120.26.58.240:8888/r/JYBIndependentFront/commits/acaec313ab0e3c9381060e36bf3ce4abc606dc9a)) |
| | | - 接口对接 ([12cce14](http://120.26.58.240:8888/r/JYBIndependentFront/commits/12cce14bc30a85bbf96b5b30bb1aff1fc354091a)) |
| | | - 新增功能 ([07d7f83](http://120.26.58.240:8888/r/JYBIndependentFront/commits/07d7f83a6a1be49c0e1d0702c5abec0839e7e501)) |
| | | - 新增功能 ([6340698](http://120.26.58.240:8888/r/JYBIndependentFront/commits/634069895e7165db7e2d04dca5cd61dfd1e1f5f9)) |
| | | - 页面 ([80dd2be](http://120.26.58.240:8888/r/JYBIndependentFront/commits/80dd2bebbe3d204cc7833a4793aba67bba356b1d)) |
| | | - 页面 ([ee36747](http://120.26.58.240:8888/r/JYBIndependentFront/commits/ee36747f2db9ac3a641e1cbaeb01f726ce9faa98)) |
| | | - add rrweb ([5664a1a](http://120.26.58.240:8888/r/JYBIndependentFront/commits/5664a1a616df498cba58b9a8e63a91ac0ba96bab)) |
| | | - init ([cd4a071](http://120.26.58.240:8888/r/JYBIndependentFront/commits/cd4a07141ec97ff6c51dd7137462e506d8d0881f)) |
| | | - init ([77f32b6](http://120.26.58.240:8888/r/JYBIndependentFront/commits/77f32b6d96237dc874ca81c0ecab1a21500cc5ab)) |
| | | - init ([b2b1ba0](http://120.26.58.240:8888/r/JYBIndependentFront/commits/b2b1ba0ec2e5c45cf4f37b0fcea6e23fe36f9b47)) |
| | | - init ([a0d392a](http://120.26.58.240:8888/r/JYBIndependentFront/commits/a0d392a3e8522470c01dc1c35bce540010f67ae2)) |
| | | - v2.2 ([eed2448](http://120.26.58.240:8888/r/JYBIndependentFront/commits/eed2448d2e9d3dd2b1ec17d5c4ae74b102d793c5)) |
| | | - v2.2 ([8c1c96a](http://120.26.58.240:8888/r/JYBIndependentFront/commits/8c1c96a03da69b980a8822a02603123d78d8b4e1)) |
| | | - v2.2 ([32f3091](http://120.26.58.240:8888/r/JYBIndependentFront/commits/32f3091fe077045427d16a3dec43f140c02eb91e)) |
| | | - v2.2 ([f7f1c09](http://120.26.58.240:8888/r/JYBIndependentFront/commits/f7f1c09fa13224fba335ca6b7842fcf297beea7a)) |
| | | - v2.2 ([7c86889](http://120.26.58.240:8888/r/JYBIndependentFront/commits/7c86889e5177ae0da77fd75f298fabe9971b2822)) |
| | | - v2.2 ([30c817b](http://120.26.58.240:8888/r/JYBIndependentFront/commits/30c817b5bd6cd1d3b44afe12fac6f1a7064b8689)) |
| | | - v2.2 ([c55c548](http://120.26.58.240:8888/r/JYBIndependentFront/commits/c55c548308e6a1adef6670f8acf1ee5f57e77da6)) |
| | | - v2.2 ([a0d8d4e](http://120.26.58.240:8888/r/JYBIndependentFront/commits/a0d8d4efcc810a223f5c7eda41126b7532fdad7c)) |
| | | - v2.2 ([2c9de47](http://120.26.58.240:8888/r/JYBIndependentFront/commits/2c9de477c7d157fc5d98bc7ab7dead1a61d66fc2)) |
| | | - v2.2 ([eeb610e](http://120.26.58.240:8888/r/JYBIndependentFront/commits/eeb610e0d60949e35634be696dbd0f42c46cc9df)) |
| | | - v2.2 ([2c0bd65](http://120.26.58.240:8888/r/JYBIndependentFront/commits/2c0bd65affde857b14fb5434dbbfe6ebf97d12dc)) |
| | | - v2.2 ([9d0a536](http://120.26.58.240:8888/r/JYBIndependentFront/commits/9d0a5366a2066fa1230cf0a008b5974ebfa54e33)) |
| | | - v2.2 ([f7871d3](http://120.26.58.240:8888/r/JYBIndependentFront/commits/f7871d3b116735ba168fed58dcd5e0c05a348c40)) |
| | | - v2.2 ([053a403](http://120.26.58.240:8888/r/JYBIndependentFront/commits/053a403319edd8c55662b72c4c34e7e03ae7d249)) |
| | | - v2.2 ([8f117d1](http://120.26.58.240:8888/r/JYBIndependentFront/commits/8f117d1c0b03239dc3645a94483299decf3b2c9c)) |
| | | - v2.2 ([c6eb1d6](http://120.26.58.240:8888/r/JYBIndependentFront/commits/c6eb1d663f6d91cf5d5fd5c95cc15e5b4f33c064)) |
| | | - v2.2 ([7134746](http://120.26.58.240:8888/r/JYBIndependentFront/commits/7134746b236dbdf638e3d8bbbf9e82cc03ea3b65)) |
| | | |
| | | # [3.3.0](http://120.26.58.240:8888/r/12333BackWeb/compare/v3.2.0...v3.3.0) (2024-11-29) |
| | | |
| | | ### Bug Fixes |
| | |
| | | { |
| | | "name": "rlzy-web", |
| | | "private": true, |
| | | "version": "1.0.0", |
| | | "version": "2.2.0", |
| | | "scripts": { |
| | | "dev": "cross-env vite", |
| | | "dev:rz": "cross-env VITE_AppType=rz vite", |
| | |
| | | "pinia": "^2.2.4", |
| | | "qs": "^6.11.0", |
| | | "rgb-hex": "^4.0.0", |
| | | "rrweb": "2.0.0-alpha.4", |
| | | "semver": "^7.6.3", |
| | | "senin-help": "latest", |
| | | "senin-vue": "latest", |
| | |
| | | rgb-hex: |
| | | specifier: ^4.0.0 |
| | | version: 4.0.0 |
| | | rrweb: |
| | | specifier: 2.0.0-alpha.4 |
| | | version: 2.0.0-alpha.4 |
| | | semver: |
| | | specifier: ^7.6.3 |
| | | version: 7.6.3 |
| | |
| | | dev: true |
| | | optional: true |
| | | |
| | | /@rrweb/types@2.0.0-alpha.18: |
| | | resolution: {integrity: sha512-iMH3amHthJZ9x3gGmBPmdfim7wLGygC2GciIkw2A6SO8giSn8PHYtRT8OKNH4V+k3SZ6RSnYHcTQxBA7pSWZ3Q==} |
| | | dev: false |
| | | |
| | | /@sindresorhus/merge-streams@2.3.0: |
| | | resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} |
| | | engines: {node: '>=18'} |
| | |
| | | /@types/ali-oss@6.16.11: |
| | | resolution: {integrity: sha512-/AyemPZy93ZXGzEokMsoPFgjH37snpzH4X/fwans/n63HLaCleriCG3PyrkHCPkgHEc9vj9Uo6paqsBN3vJ3OA==} |
| | | dev: true |
| | | |
| | | /@types/css-font-loading-module@0.0.7: |
| | | resolution: {integrity: sha512-nl09VhutdjINdWyXxHWN/w9zlNCfr60JUqJbd24YXUuCwgeL0TpFSdElCwb6cxfB6ybE19Gjj4g0jsgkXxKv1Q==} |
| | | dev: false |
| | | |
| | | /@types/eslint@7.29.0: |
| | | resolution: {integrity: sha512-VNcvioYDH8/FxaeTKkM4/TiTwt6pBV9E3OfGmvaw8tPl0rrHCJ4Ll15HRT+pMiFAf/MLQvAzC+6RzUMEL9Ceng==} |
| | |
| | | engines: {node: '>=10.0.0'} |
| | | dev: false |
| | | |
| | | /@xstate/fsm@1.6.5: |
| | | resolution: {integrity: sha512-b5o1I6aLNeYlU/3CPlj/Z91ybk1gUsKT+5NAJI+2W4UjvS5KLG28K9v5UvNoFVjHV8PajVZ00RH3vnjyQO7ZAw==} |
| | | dev: false |
| | | |
| | | /@ywwlmm/openapi@0.0.3: |
| | | resolution: {integrity: sha512-zbQMq2LnMX2IJmEJIG12IeggQCEm1sn7E+S7TH6yCLaYOERf8ARA22GJUmjmYaLUD9iKgb8yl2ohO3PSI6aMdw==} |
| | | dependencies: |
| | |
| | | |
| | | /balanced-match@2.0.0: |
| | | resolution: {integrity: sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==} |
| | | |
| | | /base64-arraybuffer@1.0.2: |
| | | resolution: {integrity: sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==} |
| | | engines: {node: '>= 0.6.0'} |
| | | dev: false |
| | | |
| | | /base64-js@1.5.1: |
| | | resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} |
| | |
| | | resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==} |
| | | dependencies: |
| | | reusify: 1.0.4 |
| | | |
| | | /fflate@0.4.8: |
| | | resolution: {integrity: sha512-FJqqoDBR00Mdj9ppamLa/Y7vxm+PRmNWA67N846RvsoYVMKB4q3y/de5PA7gUmRMYK/8CMz2GDZQmCRN1wBcWA==} |
| | | dev: false |
| | | |
| | | /file-entry-cache@4.0.0: |
| | | resolution: {integrity: sha512-AVSwsnbV8vH/UVbvgEhf3saVQXORNv0ZzSkvkhQIaia5Tia+JhGTaa/ePUSVoPHQyGayQNmYfkzFi3WZV5zcpA==} |
| | |
| | | resolution: {integrity: sha512-UT5EDe2cu2E/6O4igUr5PSFs23nvvukicWHx6GnOPlHAiiYbzNuCRQCuiUdHJQcqKalLKlrYJnjY0ySGsXNQXQ==} |
| | | dev: false |
| | | |
| | | /rrdom@0.1.7: |
| | | resolution: {integrity: sha512-ZLd8f14z9pUy2Hk9y636cNv5Y2BMnNEY99wxzW9tD2BLDfe1xFxtLjB4q/xCBYo6HRe0wofzKzjm4JojmpBfFw==} |
| | | dependencies: |
| | | rrweb-snapshot: 2.0.0-alpha.4 |
| | | dev: false |
| | | |
| | | /rrweb-snapshot@2.0.0-alpha.4: |
| | | resolution: {integrity: sha512-KQ2OtPpXO5jLYqg1OnXS/Hf+EzqnZyP5A+XPqBCjYpj3XIje/Od4gdUwjbFo3cVuWq5Cw5Y1d3/xwgIS7/XpQQ==} |
| | | dev: false |
| | | |
| | | /rrweb@2.0.0-alpha.4: |
| | | resolution: {integrity: sha512-wEHUILbxDPcNwkM3m4qgPgXAiBJyqCbbOHyVoNEVBJzHszWEFYyTbrZqUdeb1EfmTRC2PsumCIkVcomJ/xcOzA==} |
| | | dependencies: |
| | | '@rrweb/types': 2.0.0-alpha.18 |
| | | '@types/css-font-loading-module': 0.0.7 |
| | | '@xstate/fsm': 1.6.5 |
| | | base64-arraybuffer: 1.0.2 |
| | | fflate: 0.4.8 |
| | | mitt: 3.0.0 |
| | | rrdom: 0.1.7 |
| | | rrweb-snapshot: 2.0.0-alpha.4 |
| | | dev: false |
| | | |
| | | /rtc-ai-denoiser@1.1.7: |
| | | resolution: {integrity: sha512-53e/4a4lT96K004mqDnLDE+upNSpBLRMfFgYCeIw3Gvuw9F17nxLP5v8MOVLly4/Epomxkx4SXrOFJJMxD2pIw==} |
| | | dev: false |
New file |
| | |
| | | import * as rrweb from 'rrweb'; |
| | | import { guid } from './common'; |
| | | import { eventWithTime, listenerHandler } from '@rrweb/types'; |
| | | import { storageLocal } from './storage'; |
| | | |
| | | export class Recorder { |
| | | // 生成会话ID(用于标识一次投保流程) |
| | | sessionId = guid(); |
| | | // 存储录制事件的数组 |
| | | events = []; |
| | | |
| | | stopFn: () => void; |
| | | |
| | | // 初始化录制器 |
| | | init() { |
| | | this.stopFn = rrweb.record({ |
| | | emit: (event) => { |
| | | // 收集事件(可选择实时发送到后端) |
| | | this.events.push(event); |
| | | |
| | | // 定期发送事件到后端(避免内存占用过大) |
| | | if (this.events.length % 100 === 0) { |
| | | this.sendEventsToBackend(this.events.splice(0, 100), this.sessionId); |
| | | } |
| | | }, |
| | | // 可选配置:忽略敏感元素 |
| | | blockClass: 'rr-block', // 为敏感元素添加此class |
| | | ignoreClass: 'rr-ignore', // 完全忽略的元素 |
| | | }); |
| | | } |
| | | |
| | | // 结束录制(例如提交投保表单时) |
| | | stopRecordingAndSave() { |
| | | this.stopFn?.(); |
| | | // 发送剩余事件到后端 |
| | | if (this.events.length > 0) { |
| | | this.sendEventsToBackend(this.events, this.sessionId); |
| | | } |
| | | // 存储会话ID(关联到用户投保记录) |
| | | this.saveSessionIdToUserRecord(this.sessionId); |
| | | } |
| | | |
| | | saveSessionIdToUserRecord(sessionId: string) {} |
| | | |
| | | async sendEventsToBackend(events: eventWithTime[], sessionId: string) { |
| | | try { |
| | | const body = JSON.stringify({ |
| | | sessionId, |
| | | events, |
| | | timestamp: new Date().toISOString(), |
| | | }); |
| | | console.log('body: ', body); |
| | | const storageEvents = storageLocal.getItem(`events`) || {}; |
| | | storageEvents[sessionId] = events; |
| | | storageLocal.setItem(`events`, storageEvents); |
| | | // await fetch('/api/recordings', { |
| | | // method: 'POST', |
| | | // headers: { |
| | | // 'Content-Type': 'application/json', |
| | | // }, |
| | | // body: , |
| | | // }); |
| | | } catch (error) { |
| | | console.error('Failed to send recording events:', error); |
| | | // 可实现本地存储作为降级方案 |
| | | } |
| | | } |
| | | |
| | | async replaySession(sessionId: string) { |
| | | // 从后端获取录制事件 |
| | | // const response = await fetch(`/api/recordings/${sessionId}`); |
| | | // const { events } = await response.json(); |
| | | const storageEvents = storageLocal.getItem(`events`) || {}; |
| | | if (!storageEvents[sessionId]) { |
| | | return; |
| | | } |
| | | |
| | | // 初始化回放器 |
| | | const player = new rrweb.Replayer(storageEvents[sessionId], { |
| | | root: document.getElementById('replay-container'), |
| | | }); |
| | | |
| | | // 可选:控制回放速度 |
| | | player.play(1.0); // 1倍速 |
| | | |
| | | // 可选:监听回放事件 |
| | | player.on('play', () => console.log('Replay started')); |
| | | player.on('pause', () => console.log('Replay paused')); |
| | | player.on('finish', () => console.log('Replay finished')); |
| | | } |
| | | } |
| | |
| | | <el-button @click="handleDownload()" type="primary" style="margin-right: 10px" link |
| | | >模板下载</el-button |
| | | > |
| | | <el-button @click="handleUpload()" type="primary" style="margin-right: 10px" |
| | | <el-button @click="handleOpenInstructions()" type="primary" style="margin-right: 10px" |
| | | >导入投保人员</el-button |
| | | > |
| | | <!-- <el-button |
| | |
| | | </AppContainer> |
| | | <UploadInsurePersonDialog v-bind="dialogProps" /> |
| | | <UploadStampFileDialog v-bind="dialogStampFileProps" /> |
| | | <InsureInstructionsDialog v-bind="dialogInstructionsProps" /> |
| | | <InsureInstructionsDialog v-bind="dialogInstructionsProps" @onConfirm="handleUpload" /> |
| | | </LoadingLayout> |
| | | </template> |
| | | |
| | |
| | | import { columns } from './constants'; |
| | | import UploadInsurePersonDialog from './components/UploadInsurePersonDialog.vue'; |
| | | import UploadStampFileDialog from './components/UploadStampFileDialog.vue'; |
| | | import { format, downloadFile, setOSSLink, toThousand, convertApi2FormUrl } from '@/utils'; |
| | | import { |
| | | format, |
| | | downloadFile, |
| | | setOSSLink, |
| | | toThousand, |
| | | convertApi2FormUrl, |
| | | convertFormUrl2Api, |
| | | } from '@/utils'; |
| | | import { ModelValueType } from 'element-plus'; |
| | | import { |
| | | InsuranceOrderTempPath, |
| | |
| | | import dayjs from 'dayjs'; |
| | | import _ from 'lodash'; |
| | | import InsureInstructionsDialog from './components/InsureInstructionsDialog.vue'; |
| | | // import { Recorder } from '@/utils/record'; |
| | | |
| | | defineOptions({ |
| | | name: 'Home', |
| | |
| | | }; |
| | | |
| | | const state = reactive({ ...BaseState }); |
| | | // const recorder = ref(new Recorder()); |
| | | |
| | | onMounted(async () => { |
| | | await getList(); |
| | | state.loading = false; |
| | | handleOpenInstructions(); |
| | | // handleOpenInstructions(); |
| | | |
| | | // setTimeout(() => { |
| | | // // recorder.value.init(); |
| | | // recorder.value.replaySession('9cb24e5a-0423-4dcd-abd5-fa7a4117cadc'); |
| | | // }, 3000); |
| | | }); |
| | | |
| | | // onUnmounted(() => { |
| | | // recorder.value.stopRecordingAndSave(); |
| | | // }); |
| | | |
| | | const { |
| | | getDataSource: getList, |
| | |
| | | url: [] as UploadUserFile[], |
| | | productIdNumber: '', |
| | | productSchemeIdNumber: '', |
| | | effectStartTime: dayjs().add(1, 'day').format('YYYY-MM-DD'), |
| | | }, |
| | | closeAfterConfirm: false, |
| | | }); |
| | |
| | | url: editForm.url?.[0]?.path, |
| | | productIdNumber: editForm.productIdNumber, |
| | | productSchemeIdNumber: editForm.productSchemeIdNumber, |
| | | effectStartTime: editForm.effectStartTime, |
| | | }; |
| | | let res = await insuranceOrderServices.importInsStaffToList(params); |
| | | if (res.length > 0) { |
| | |
| | | try { |
| | | let params: API.UploadInsuranceStampFilesInput = { |
| | | insurancePolicyId: stampFileForm.id, |
| | | listFiles: stampFileForm.url?.map((x) => x.path) ?? [], |
| | | listFiles: convertFormUrl2Api(stampFileForm.url), |
| | | }; |
| | | let res = await insuranceOrderServices.uploadInsuranceStampFiles(params); |
| | | if (res) { |
| | |
| | | <el-button icon="Plus" type="primary">导入</el-button> |
| | | </template> |
| | | </BlFileUpload> |
| | | <el-button @click="handleClear()" type="primary">导出投保错误人员清单</el-button> |
| | | <el-button @click="handleClear()" type="primary">清空数据</el-button> |
| | | </template> |
| | | <template v-else> |
| | |
| | | width: 140, |
| | | }, |
| | | { |
| | | id: '101', |
| | | enCode: 'serialNum', |
| | | name: '批次号', |
| | | width: 140, |
| | | }, |
| | | { |
| | | id: '102', |
| | | enCode: 'status', |
| | | name: '投保状态', |
| | | width: 140, |
| | | }, |
| | | { |
| | | id: '103', |
| | | enCode: 'remark', |
| | | name: '备注', |
| | | width: 140, |
| | | }, |
| | | { |
| | | id: '11', |
| | | enCode: 'claimCount', |
| | | name: '理赔', |
| | |
| | | ></ProFormText> |
| | | </ProFormItemV2> |
| | | <ProFormItemV2 |
| | | label="起保日期:" |
| | | prop="effectStartTime" |
| | | :check-rules="[{ message: '请选择起保日期' }]" |
| | | > |
| | | <ProFormDatePicker |
| | | v-model="form.effectStartTime" |
| | | type="date" |
| | | value-format="YYYY-MM-DD" |
| | | placeholder="请选择起保日期" |
| | | :disabled-date="disabledStartDate" |
| | | ></ProFormDatePicker> |
| | | </ProFormItemV2> |
| | | <ProFormItemV2 |
| | | label="上传文件:" |
| | | prop="url" |
| | | :check-rules="[{ message: '请上传文件', type: 'upload' }]" |
| | |
| | | ProFormText, |
| | | ProFormUpload, |
| | | ProFormSelect, |
| | | ProFormDatePicker, |
| | | } from '@bole-core/components'; |
| | | import dayjs from 'dayjs'; |
| | | import { FormInstance } from 'element-plus'; |
| | | import _ from 'lodash'; |
| | | |
| | |
| | | url: UploadUserFile[]; |
| | | productIdNumber: string; |
| | | productSchemeIdNumber: string; |
| | | effectStartTime: string; |
| | | }; |
| | | }; |
| | | |
| | |
| | | innerForm.value.productSchemeIdNumber = ''; |
| | | } |
| | | |
| | | const disabledStartDate = (time: Date) => { |
| | | return dayjs(time).isBefore(dayjs()) || dayjs(time).isAfter(dayjs().add(60, 'day')); |
| | | }; |
| | | |
| | | const innerVisible = computed({ |
| | | get() { |
| | | return props.modelValue; |
| | |
| | | prop="url" |
| | | :check-rules="[{ message: '请上传文件', type: 'upload' }]" |
| | | > |
| | | <ProFormUpload v-model:file-url="innerForm.url" accept="pdf,jpg/jpeg,png"> |
| | | <template #tip> |
| | | <ProFormUpload v-model:file-url="innerForm.url" multiple> |
| | | <!-- <template #tip> |
| | | <div> |
| | | <el-text type="danger">支持pdf、jpg、jepg、png图片</el-text> |
| | | </div> |
| | | </template> |
| | | </template> --> |
| | | </ProFormUpload> |
| | | </ProFormItemV2> |
| | | </ProForm> |