提交 9ff2f106 authored 作者: 王鹏飞's avatar 王鹏飞

chore: 升级相关依赖

上级 5b3d7288
......@@ -292,6 +292,9 @@
"ExtractDefaultPropTypes": true,
"ExtractPropTypes": true,
"ExtractPublicPropTypes": true,
"WritableComputedRef": true
"WritableComputedRef": true,
"injectLocal": true,
"provideLocal": true,
"useClipboardItems": true
}
}
......@@ -44,6 +44,7 @@ declare global {
const h: typeof import('vue')['h']
const ignorableWatch: typeof import('@vueuse/core')['ignorableWatch']
const inject: typeof import('vue')['inject']
const injectLocal: typeof import('@vueuse/core')['injectLocal']
const isDefined: typeof import('@vueuse/core')['isDefined']
const isProxy: typeof import('vue')['isProxy']
const isReactive: typeof import('vue')['isReactive']
......@@ -73,6 +74,7 @@ declare global {
const onUpdated: typeof import('vue')['onUpdated']
const pausableWatch: typeof import('@vueuse/core')['pausableWatch']
const provide: typeof import('vue')['provide']
const provideLocal: typeof import('@vueuse/core')['provideLocal']
const reactify: typeof import('@vueuse/core')['reactify']
const reactifyObject: typeof import('@vueuse/core')['reactifyObject']
const reactive: typeof import('vue')['reactive']
......@@ -136,6 +138,7 @@ declare global {
const useBrowserLocation: typeof import('@vueuse/core')['useBrowserLocation']
const useCached: typeof import('@vueuse/core')['useCached']
const useClipboard: typeof import('@vueuse/core')['useClipboard']
const useClipboardItems: typeof import('@vueuse/core')['useClipboardItems']
const useCloned: typeof import('@vueuse/core')['useCloned']
const useColorMode: typeof import('@vueuse/core')['useColorMode']
const useConfirmDialog: typeof import('@vueuse/core')['useConfirmDialog']
......
......@@ -13,25 +13,25 @@
"@tinymce/tinymce-vue": "^5.0.1",
"@vue-flow/controls": "^1.0.4",
"@vue-flow/core": "^1.17.4",
"@vueuse/core": "^10.3.0",
"axios": "^1.5.0",
"@vueuse/core": "^10.9.0",
"axios": "^1.6.8",
"blueimp-md5": "^2.19.0",
"dayjs": "^1.11.10",
"echarts": "^5.4.3",
"echarts": "^5.5.0",
"echarts-wordcloud": "^2.1.0",
"element-plus": "^2.7.0",
"element-plus": "^2.6.3",
"lodash-es": "^4.17.21",
"nanoid": "^4.0.2",
"pinia": "^2.1.6",
"nanoid": "^5.0.7",
"pinia": "^2.1.7",
"vue": "^3.4.23",
"vue-echarts": "^6.6.1",
"vue-router": "^4.3.1",
"vue-echarts": "^6.6.9",
"vue-router": "^4.3.2",
"xss": "^1.0.15"
},
"devDependencies": {
"@rushstack/eslint-patch": "^1.2.0",
"@tsconfig/node20": "^20.1.4",
"@types/blueimp-md5": "^2.18.0",
"@types/blueimp-md5": "^2.18.2",
"@types/node": "^20.3.1",
"@vitejs/plugin-vue": "^4.6.2",
"@vue-macros/reactivity-transform": "^0.4.4",
......@@ -43,7 +43,7 @@
"eslint-plugin-vue": "^9.17.0",
"sass": "^1.67.0",
"typescript": "~5.4.5",
"unplugin-auto-import": "^0.16.7",
"unplugin-auto-import": "^0.17.5",
"vite": "^4.5.3",
"vue-tsc": "^1.8.27"
}
......@@ -64,9 +64,9 @@
}
},
"node_modules/@antfu/utils": {
"version": "0.7.6",
"resolved": "https://registry.npmjs.org/@antfu/utils/-/utils-0.7.6.tgz",
"integrity": "sha512-pvFiLP2BeOKA/ZOS6jxx4XhKzdVLHDhGlFEaZ2flWWYf2xOqVniqpk38I04DFRyz+L0ASggl7SkItTc+ZLju4w==",
"version": "0.7.7",
"resolved": "https://registry.npmjs.org/@antfu/utils/-/utils-0.7.7.tgz",
"integrity": "sha512-gFPqTG7otEJ8uP6wrhDv6mqwGWYZKNvAcCq6u9hOj0c+IKCEsY4L1oC9trPq2SaWIzAfHvqfBDxF591JkMf+kg==",
"dev": true,
"funding": {
"url": "https://github.com/sponsors/antfu"
......@@ -1348,9 +1348,9 @@
"dev": true
},
"node_modules/@types/blueimp-md5": {
"version": "2.18.0",
"resolved": "https://registry.npmmirror.com/@types/blueimp-md5/-/blueimp-md5-2.18.0.tgz",
"integrity": "sha512-f4A+++lGZGJvVSgeyMkqA7BEf2BVQli6F+qEykKb49c5ieWQBkfpn6CP5c1IZr2Yi2Ofl6Fj+v0e1fN18Z8Cnw==",
"version": "2.18.2",
"resolved": "https://registry.npmjs.org/@types/blueimp-md5/-/blueimp-md5-2.18.2.tgz",
"integrity": "sha512-dJ9yRry9Olt5GAWlgCtE5dK9d/Dfhn/V7hna86eEO2Pn76+E8Y0S0n61iEUEGhWXXgtKtHxtZLVNwL8X+vLHzg==",
"dev": true
},
"node_modules/@types/estree": {
......@@ -1391,9 +1391,9 @@
"dev": true
},
"node_modules/@types/web-bluetooth": {
"version": "0.0.17",
"resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.17.tgz",
"integrity": "sha512-4p9vcSmxAayx72yn70joFoL44c9MO/0+iVEBIQXe3v2h2SiAsEIo/G5v6ObFWvNKRFjbrVadNf9LqEEZeQPzdA=="
"version": "0.0.20",
"resolved": "https://registry.npmjs.org/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz",
"integrity": "sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow=="
},
"node_modules/@typescript-eslint/eslint-plugin": {
"version": "6.7.0",
......@@ -1971,23 +1971,23 @@
"dev": true
},
"node_modules/@vueuse/core": {
"version": "10.3.0",
"resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.3.0.tgz",
"integrity": "sha512-BEM5yxcFKb5btFjTSAFjTu5jmwoW66fyV9uJIP4wUXXU8aR5Hl44gndaaXp7dC5HSObmgbnR2RN+Un1p68Mf5Q==",
"version": "10.9.0",
"resolved": "https://registry.npmjs.org/@vueuse/core/-/core-10.9.0.tgz",
"integrity": "sha512-/1vjTol8SXnx6xewDEKfS0Ra//ncg4Hb0DaZiwKf7drgfMsKFExQ+FnnENcN6efPen+1kIzhLQoGSy0eDUVOMg==",
"dependencies": {
"@types/web-bluetooth": "^0.0.17",
"@vueuse/metadata": "10.3.0",
"@vueuse/shared": "10.3.0",
"vue-demi": ">=0.14.5"
"@types/web-bluetooth": "^0.0.20",
"@vueuse/metadata": "10.9.0",
"@vueuse/shared": "10.9.0",
"vue-demi": ">=0.14.7"
},
"funding": {
"url": "https://github.com/sponsors/antfu"
}
},
"node_modules/@vueuse/core/node_modules/vue-demi": {
"version": "0.14.5",
"resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.5.tgz",
"integrity": "sha512-o9NUVpl/YlsGJ7t+xuqJKx8EBGf1quRhCiT6D/J0pfwmk9zUwYkC7yrF4SZCe6fETvSM3UNL2edcbYrSyc4QHA==",
"version": "0.14.7",
"resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.7.tgz",
"integrity": "sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==",
"hasInstallScript": true,
"bin": {
"vue-demi-fix": "bin/vue-demi-fix.js",
......@@ -2010,28 +2010,28 @@
}
},
"node_modules/@vueuse/metadata": {
"version": "10.3.0",
"resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.3.0.tgz",
"integrity": "sha512-Ema3YhNOa4swDsV0V7CEY5JXvK19JI/o1szFO1iWxdFg3vhdFtCtSTP26PCvbUpnUtNHBY2wx5y3WDXND5Pvnw==",
"version": "10.9.0",
"resolved": "https://registry.npmjs.org/@vueuse/metadata/-/metadata-10.9.0.tgz",
"integrity": "sha512-iddNbg3yZM0X7qFY2sAotomgdHK7YJ6sKUvQqbvwnf7TmaVPxS4EJydcNsVejNdS8iWCtDk+fYXr7E32nyTnGA==",
"funding": {
"url": "https://github.com/sponsors/antfu"
}
},
"node_modules/@vueuse/shared": {
"version": "10.3.0",
"resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.3.0.tgz",
"integrity": "sha512-kGqCTEuFPMK4+fNWy6dUOiYmxGcUbtznMwBZLC1PubidF4VZY05B+Oht7Jh7/6x4VOWGpvu3R37WHi81cKpiqg==",
"version": "10.9.0",
"resolved": "https://registry.npmjs.org/@vueuse/shared/-/shared-10.9.0.tgz",
"integrity": "sha512-Uud2IWncmAfJvRaFYzv5OHDli+FbOzxiVEQdLCKQKLyhz94PIyFC3CHcH7EDMwIn8NPtD06+PNbC/PiO0LGLtw==",
"dependencies": {
"vue-demi": ">=0.14.5"
"vue-demi": ">=0.14.7"
},
"funding": {
"url": "https://github.com/sponsors/antfu"
}
},
"node_modules/@vueuse/shared/node_modules/vue-demi": {
"version": "0.14.5",
"resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.5.tgz",
"integrity": "sha512-o9NUVpl/YlsGJ7t+xuqJKx8EBGf1quRhCiT6D/J0pfwmk9zUwYkC7yrF4SZCe6fETvSM3UNL2edcbYrSyc4QHA==",
"version": "0.14.7",
"resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.7.tgz",
"integrity": "sha512-EOG8KXDQNwkJILkx/gPcoL/7vH+hORoBaKgGe+6W7VFMvCYJfmF2dGbvgDroVnI8LU7/kTu8mbjRZGBU1z9NTA==",
"hasInstallScript": true,
"bin": {
"vue-demi-fix": "bin/vue-demi-fix.js",
......@@ -2234,11 +2234,11 @@
"integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
},
"node_modules/axios": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/axios/-/axios-1.5.0.tgz",
"integrity": "sha512-D4DdjDo5CY50Qms0qGQTTw6Q44jl7zRwY7bthds06pUGfChBCTcQs+N743eFWGEd6pRTMd6A+I87aWyFV5wiZQ==",
"version": "1.6.8",
"resolved": "https://registry.npmjs.org/axios/-/axios-1.6.8.tgz",
"integrity": "sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==",
"dependencies": {
"follow-redirects": "^1.15.0",
"follow-redirects": "^1.15.6",
"form-data": "^4.0.0",
"proxy-from-env": "^1.1.0"
}
......@@ -2792,12 +2792,12 @@
}
},
"node_modules/echarts": {
"version": "5.4.3",
"resolved": "https://registry.npmjs.org/echarts/-/echarts-5.4.3.tgz",
"integrity": "sha512-mYKxLxhzy6zyTi/FaEbJMOZU1ULGEQHaeIeuMR5L+JnJTpz+YR03mnnpBhbR4+UYJAgiXgpyTVLffPAjOTLkZA==",
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/echarts/-/echarts-5.5.0.tgz",
"integrity": "sha512-rNYnNCzqDAPCr4m/fqyUFv7fD9qIsd50S6GDFgO1DxZhncCsNsG7IfUlAlvZe5oSEQxtsjnHiUuppzccry93Xw==",
"dependencies": {
"tslib": "2.3.0",
"zrender": "5.4.4"
"zrender": "5.5.0"
}
},
"node_modules/echarts-wordcloud": {
......@@ -2808,11 +2808,6 @@
"echarts": "^5.0.1"
}
},
"node_modules/echarts/node_modules/tslib": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz",
"integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg=="
},
"node_modules/ee-first": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
......@@ -2828,9 +2823,9 @@
"peer": true
},
"node_modules/element-plus": {
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.7.0.tgz",
"integrity": "sha512-WAiaFLavuWFxof9qwkC27jvkh9nRcNnB506g1vvJSiVaVqjCBWUFCIyJKeN11M1qcv2cS5VV5PfSLjTIkrw87A==",
"version": "2.6.3",
"resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.6.3.tgz",
"integrity": "sha512-U4L/mr+1r+EmAUYUHrs0V/8hHMdBGP07rPymSC72LZCN4jK1UwygQYICegTQ5us4mxeqBvW6wfoEfo003fwCqw==",
"dependencies": {
"@ctrl/tinycolor": "^3.4.1",
"@element-plus/icons-vue": "^2.3.1",
......@@ -3384,9 +3379,15 @@
"dev": true
},
"node_modules/follow-redirects": {
"version": "1.15.2",
"resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.2.tgz",
"integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==",
"version": "1.15.6",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz",
"integrity": "sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==",
"funding": [
{
"type": "individual",
"url": "https://github.com/sponsors/RubenVerborgh"
}
],
"engines": {
"node": ">=4.0"
},
......@@ -4290,9 +4291,9 @@
}
},
"node_modules/nanoid": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-4.0.2.tgz",
"integrity": "sha512-7ZtY5KTCNheRGfEFxnedV5zFiORN1+Y1N6zvPTnHQd8ENUvfaDBeuJDZb2bN/oXwXxu3qkTXDzy57W5vAmDTBw==",
"version": "5.0.7",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-5.0.7.tgz",
"integrity": "sha512-oLxFY2gd2IqnjcYyOXD8XGCftpGtZP2AbHbOkthDkvRywH5ayNtPVy9YlOPcHckXzbLTCHpkb7FB+yuxKV13pQ==",
"funding": [
{
"type": "github",
......@@ -4303,7 +4304,7 @@
"nanoid": "bin/nanoid.js"
},
"engines": {
"node": "^14 || ^16 || >=18"
"node": "^18 || >=20"
}
},
"node_modules/natural-compare": {
......@@ -4534,9 +4535,9 @@
}
},
"node_modules/pinia": {
"version": "2.1.6",
"resolved": "https://registry.npmjs.org/pinia/-/pinia-2.1.6.tgz",
"integrity": "sha512-bIU6QuE5qZviMmct5XwCesXelb5VavdOWKWaB17ggk++NUwQWWbP5YnsONTk3b752QkW9sACiR81rorpeOMSvQ==",
"version": "2.1.7",
"resolved": "https://registry.npmjs.org/pinia/-/pinia-2.1.7.tgz",
"integrity": "sha512-+C2AHFtcFqjPih0zpYuvof37SFxMQ7OEG2zV9jRI12i9BOy3YQVAHwdKtyyc8pDcDyIc33WCIsZaCFWU7WWxGQ==",
"dependencies": {
"@vue/devtools-api": "^6.5.0",
"vue-demi": ">=0.14.5"
......@@ -5165,6 +5166,11 @@
"typescript": ">=4.2.0"
}
},
"node_modules/tslib": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz",
"integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg=="
},
"node_modules/type-check": {
"version": "0.4.0",
"resolved": "https://registry.npmmirror.com/type-check/-/type-check-0.4.0.tgz",
......@@ -5330,19 +5336,19 @@
}
},
"node_modules/unplugin-auto-import": {
"version": "0.16.7",
"resolved": "https://registry.npmjs.org/unplugin-auto-import/-/unplugin-auto-import-0.16.7.tgz",
"integrity": "sha512-w7XmnRlchq6YUFJVFGSvG1T/6j8GrdYN6Em9Wf0Ye+HXgD/22kont+WnuCAA0UaUoxtuvRR1u/mXKy63g/hfqQ==",
"version": "0.17.5",
"resolved": "https://registry.npmjs.org/unplugin-auto-import/-/unplugin-auto-import-0.17.5.tgz",
"integrity": "sha512-fHNDkDSxv3PGagX1wmKBYBkgaM4AKAgZmdJw/bxjhNljx9KSXSgHpGfX0MwUrq9qw6q1bhHIZVWyOwoY2koo4w==",
"dev": true,
"dependencies": {
"@antfu/utils": "^0.7.6",
"@rollup/pluginutils": "^5.0.5",
"fast-glob": "^3.3.1",
"@antfu/utils": "^0.7.7",
"@rollup/pluginutils": "^5.1.0",
"fast-glob": "^3.3.2",
"local-pkg": "^0.5.0",
"magic-string": "^0.30.5",
"minimatch": "^9.0.3",
"unimport": "^3.4.0",
"unplugin": "^1.5.0"
"unimport": "^3.7.1",
"unplugin": "^1.6.0"
},
"engines": {
"node": ">=14"
......@@ -5590,9 +5596,9 @@
}
},
"node_modules/vue-echarts": {
"version": "6.6.1",
"resolved": "https://registry.npmjs.org/vue-echarts/-/vue-echarts-6.6.1.tgz",
"integrity": "sha512-EpreTzlNeJ+eaUn0AhXEmKJk98xJGecgTqAdyZovoXWnhTxnlW2HuBM0ei3y8rLw1JCUabf8/sYvxjlr8SzBKQ==",
"version": "6.6.9",
"resolved": "https://registry.npmjs.org/vue-echarts/-/vue-echarts-6.6.9.tgz",
"integrity": "sha512-mojIq3ZvsjabeVmDthhAUDV8Kgf2Rr/X4lV4da7gEFd1fP05gcSJ0j7wa7HQkW5LlFmF2gdCJ8p4Chas6NNIQQ==",
"hasInstallScript": true,
"dependencies": {
"resize-detector": "^0.3.0",
......@@ -5600,12 +5606,16 @@
},
"peerDependencies": {
"@vue/composition-api": "^1.0.5",
"@vue/runtime-core": "^3.0.0",
"echarts": "^5.4.1",
"vue": "^2.6.12 || ^3.1.1"
},
"peerDependenciesMeta": {
"@vue/composition-api": {
"optional": true
},
"@vue/runtime-core": {
"optional": true
}
}
},
......@@ -5678,9 +5688,9 @@
}
},
"node_modules/vue-router": {
"version": "4.3.1",
"resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.3.1.tgz",
"integrity": "sha512-D0h3oyP6vp28BOvxv2hVpiqFTjTJizCf1BuMmCibc8UW0Ll/N80SWqDd/hqPMaZfzW1j+s2s+aTRyBIP9ElzOw==",
"version": "4.3.2",
"resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.3.2.tgz",
"integrity": "sha512-hKQJ1vDAZ5LVkKEnHhmm1f9pMiWIBNGF5AwU67PdH7TyXCj/a4hTccuUuYCAMgJK6rO/NVYtQIEN3yL8CECa7Q==",
"dependencies": {
"@vue/devtools-api": "^6.5.1"
},
......@@ -5855,17 +5865,12 @@
}
},
"node_modules/zrender": {
"version": "5.4.4",
"resolved": "https://registry.npmjs.org/zrender/-/zrender-5.4.4.tgz",
"integrity": "sha512-0VxCNJ7AGOMCWeHVyTrGzUgrK4asT4ml9PEkeGirAkKNYXYzoPJCLvmyfdoOXcjTHPs10OZVMfD1Rwg16AZyYw==",
"version": "5.5.0",
"resolved": "https://registry.npmjs.org/zrender/-/zrender-5.5.0.tgz",
"integrity": "sha512-O3MilSi/9mwoovx77m6ROZM7sXShR/O/JIanvzTwjN3FORfLSr81PsUGd7jlaYOeds9d8tw82oP44+3YucVo+w==",
"dependencies": {
"tslib": "2.3.0"
}
},
"node_modules/zrender/node_modules/tslib": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz",
"integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg=="
}
}
}
......@@ -20,25 +20,25 @@
"@tinymce/tinymce-vue": "^5.0.1",
"@vue-flow/controls": "^1.0.4",
"@vue-flow/core": "^1.17.4",
"@vueuse/core": "^10.3.0",
"axios": "^1.5.0",
"@vueuse/core": "^10.9.0",
"axios": "^1.6.8",
"blueimp-md5": "^2.19.0",
"dayjs": "^1.11.10",
"echarts": "^5.4.3",
"echarts": "^5.5.0",
"echarts-wordcloud": "^2.1.0",
"element-plus": "^2.7.0",
"element-plus": "^2.6.3",
"lodash-es": "^4.17.21",
"nanoid": "^4.0.2",
"pinia": "^2.1.6",
"nanoid": "^5.0.7",
"pinia": "^2.1.7",
"vue": "^3.4.23",
"vue-echarts": "^6.6.1",
"vue-router": "^4.3.1",
"vue-echarts": "^6.6.9",
"vue-router": "^4.3.2",
"xss": "^1.0.15"
},
"devDependencies": {
"@rushstack/eslint-patch": "^1.2.0",
"@tsconfig/node20": "^20.1.4",
"@types/blueimp-md5": "^2.18.0",
"@types/blueimp-md5": "^2.18.2",
"@types/node": "^20.3.1",
"@vitejs/plugin-vue": "^4.6.2",
"@vue-macros/reactivity-transform": "^0.4.4",
......@@ -50,7 +50,7 @@
"eslint-plugin-vue": "^9.17.0",
"sass": "^1.67.0",
"typescript": "~5.4.5",
"unplugin-auto-import": "^0.16.7",
"unplugin-auto-import": "^0.17.5",
"vite": "^4.5.3",
"vue-tsc": "^1.8.27"
}
......
......@@ -81,13 +81,13 @@ textarea:focus {
--main-success-color: #00ac27;
}
.el-dialog__header {
margin-right: 0 !important;
border-bottom: 1px solid #e6e6e6;
margin: 0 -16px 30px;
padding: 0 16px;
}
.info .el-form-item {
margin-bottom: 0;
}
.info tr:last-child td {
padding-bottom: 0 !important;
}
......@@ -142,9 +142,7 @@ async function handleCalculate() {
</el-form-item>
<el-form-item label="上一节点用户总数" v-else>
<div>
<p class="rule-num">
正确:{{ prevNodeRule.correct_operation_user_total || prevNodeRule.expected_user_total }}
</p>
<p class="rule-num">正确:{{ prevNodeRule.correct_operation_user_total || prevNodeRule.expected_user_total }}</p>
<p class="rule-num">错误:{{ prevNodeRule.correct_operation_user_total || 0 }}</p>
</div>
<!-- <el-button type="primary" :loading="isCalculating" @click="handleCalculate">计算</el-button> -->
......@@ -168,20 +166,20 @@ async function handleCalculate() {
</p>
<el-form-item>
<el-radio-group v-model="form.correct_operation_type">
<el-radio :label="1">全部数据</el-radio>
<el-radio :label="2">部分数据</el-radio>
<el-radio :value="1">全部数据</el-radio>
<el-radio :value="2">部分数据</el-radio>
</el-radio-group>
</el-form-item>
<template v-if="form.correct_operation_type === 2">
<el-form-item label="选取规则">
<el-radio-group v-model="form.correct_operation_rule">
<el-radio :label="1">随机</el-radio>
<el-radio :value="1">随机</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="选取方式">
<el-radio-group v-model="form.correct_operation_method">
<el-radio :label="1">百分比</el-radio>
<el-radio :label="2">数值</el-radio>
<el-radio :value="1">百分比</el-radio>
<el-radio :value="2">数值</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="请输入">
......@@ -189,11 +187,7 @@ async function handleCalculate() {
<el-input-number v-model="form.correct_operation_method_value" :controls="false" :max="100" />
&nbsp;%
</template>
<el-input-number
v-model="form.correct_operation_method_value"
:controls="false"
:max="form.expected_user_total"
v-else />
<el-input-number v-model="form.correct_operation_method_value" :controls="false" :max="form.expected_user_total" v-else />
</el-form-item>
</template>
</div>
......@@ -204,21 +198,21 @@ async function handleCalculate() {
</p>
<el-form-item>
<el-radio-group v-model="form.error_operation_type">
<el-radio :label="1">全部数据</el-radio>
<el-radio :label="2">部分数据</el-radio>
<el-radio :label="3">不选取</el-radio>
<el-radio :value="1">全部数据</el-radio>
<el-radio :value="2">部分数据</el-radio>
<el-radio :value="3">不选取</el-radio>
</el-radio-group>
</el-form-item>
<template v-if="form.error_operation_type === 2">
<el-form-item label="选取规则">
<el-radio-group v-model="form.error_operation_rule">
<el-radio :label="1">随机</el-radio>
<el-radio :value="1">随机</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="选取方式">
<el-radio-group v-model="form.error_operation_method">
<el-radio :label="1">百分比</el-radio>
<el-radio :label="2">数值</el-radio>
<el-radio :value="1">百分比</el-radio>
<el-radio :value="2">数值</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="请输入">
......@@ -226,11 +220,7 @@ async function handleCalculate() {
<el-input-number v-model="form.error_operation_method_value" :controls="false" :max="100" />
&nbsp;%
</template>
<el-input-number
v-model="form.error_operation_method_value"
:controls="false"
:max="form.expected_user_total"
v-else />
<el-input-number v-model="form.error_operation_method_value" :controls="false" :max="form.expected_user_total" v-else />
</el-form-item>
</template>
</div>
......@@ -251,13 +241,13 @@ async function handleCalculate() {
</p>
<el-form-item label="选取规则">
<el-radio-group v-model="form.correct_operation_rule">
<el-radio :label="1">随机</el-radio>
<el-radio :value="1">随机</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="选取方式">
<el-radio-group v-model="form.correct_operation_method">
<el-radio :label="1">百分比</el-radio>
<el-radio :label="2">数值</el-radio>
<el-radio :value="1">百分比</el-radio>
<el-radio :value="2">数值</el-radio>
</el-radio-group>
</el-form-item>
<template v-if="form.correct_operation_method === 1">
......@@ -266,10 +256,7 @@ async function handleCalculate() {
&nbsp;%
</el-form-item>
<el-form-item label="失败">
<el-input-number
v-model="form.correct_operation_method_fail_value"
:controls="false"
:max="100" />
<el-input-number v-model="form.correct_operation_method_fail_value" :controls="false" :max="100" />
&nbsp;%
</el-form-item>
</template>
......@@ -289,13 +276,13 @@ async function handleCalculate() {
</p>
<el-form-item label="选取规则">
<el-radio-group v-model="form.error_operation_rule">
<el-radio :label="1">随机</el-radio>
<el-radio :value="1">随机</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="选取方式">
<el-radio-group v-model="form.error_operation_method">
<el-radio :label="1">百分比</el-radio>
<el-radio :label="2">数值</el-radio>
<el-radio :value="1">百分比</el-radio>
<el-radio :value="2">数值</el-radio>
</el-radio-group>
</el-form-item>
<template v-if="form.error_operation_method === 1">
......@@ -304,10 +291,7 @@ async function handleCalculate() {
&nbsp;%
</el-form-item>
<el-form-item label="失败">
<el-input-number
v-model="form.error_operation_method_fail_value"
:controls="false"
:max="100" />
<el-input-number v-model="form.error_operation_method_fail_value" :controls="false" :max="100" />
&nbsp;%
</el-form-item>
</template>
......@@ -338,10 +322,10 @@ async function handleCalculate() {
<el-icon class="is-success"><SuccessFilled /></el-icon>操作正确,选取数据数量:
</p>
<el-form-item label="满足判断条件数据">
<el-radio :model-value="1" :label="1">根据实际判断结果计算</el-radio>
<el-radio :model-value="1" :value="1">根据实际判断结果计算</el-radio>
</el-form-item>
<el-form-item label="不满足判断条件数据">
<el-radio :model-value="1" :label="1">根据实际判断结果计算</el-radio>
<el-radio :model-value="1" :value="1">根据实际判断结果计算</el-radio>
</el-form-item>
</div>
<el-divider direction="vertical" style="height: auto" />
......@@ -350,10 +334,10 @@ async function handleCalculate() {
<el-icon class="is-error"><CircleCloseFilled /></el-icon>操作错误,选取数据数量:
</p>
<el-form-item label="满足判断条件数据">
<el-radio :model-value="1" :label="1">根据实际判断结果计算</el-radio>
<el-radio :model-value="1" :value="1">根据实际判断结果计算</el-radio>
</el-form-item>
<el-form-item label="不满足判断条件数据">
<el-radio :model-value="1" :label="1">根据实际判断结果计算</el-radio>
<el-radio :model-value="1" :value="1">根据实际判断结果计算</el-radio>
</el-form-item>
</div>
</section>
......@@ -439,10 +423,10 @@ async function handleCalculate() {
<el-icon class="is-error"><CircleCloseFilled /></el-icon>操作错误,选取数据数量:
</p>
<el-form-item label="满足判断条件数据">
<el-radio :model-value="1" :label="1">根据实际判断结果计算</el-radio>
<el-radio :model-value="1" :value="1">根据实际判断结果计算</el-radio>
</el-form-item>
<el-form-item label="不满足判断条件数据">
<el-radio :model-value="1" :label="1">根据实际判断结果计算</el-radio>
<el-radio :model-value="1" :value="1">根据实际判断结果计算</el-radio>
</el-form-item>
</div>
</section>
......@@ -458,29 +442,16 @@ async function handleCalculate() {
</slot>
<template #footer>
<el-row justify="center" v-if="step">
<el-button plain auto-insert-space @click="$emit('update:modelValue', false)" v-if="stepActive === 0"
>关闭</el-button
>
<el-button plain auto-insert-space @click="$emit('update:modelValue', false)" v-if="stepActive === 0">关闭</el-button>
<el-button plain auto-insert-space @click="handlePrev" v-if="stepActive >= 1">上一步</el-button>
<el-button type="primary" auto-insert-space @click="handleNext" v-if="stepActive < stepMaxNum"
>下一步</el-button
>
<el-button
type="primary"
auto-insert-space
@click="handleSubmit().then(() => $emit('update:modelValue', false))"
v-if="stepActive === stepMaxNum">
<el-button type="primary" auto-insert-space @click="handleNext" v-if="stepActive < stepMaxNum">下一步</el-button>
<el-button type="primary" auto-insert-space @click="handleSubmit().then(() => $emit('update:modelValue', false))" v-if="stepActive === stepMaxNum">
保存
</el-button>
</el-row>
<el-row justify="center" v-else>
<el-button plain auto-insert-space @click="$emit('update:modelValue', false)">关闭</el-button>
<el-button
type="primary"
auto-insert-space
@click="handleSubmit().then(() => $emit('update:modelValue', false))">
保存
</el-button>
<el-button type="primary" auto-insert-space @click="handleSubmit().then(() => $emit('update:modelValue', false))"> 保存 </el-button>
</el-row>
</template>
</el-dialog>
......
......@@ -58,9 +58,9 @@ function handleSubmit() {
<el-table-column label="属性生成规则" align="center" width="400">
<template #default="{ row }">
<el-radio-group v-model="row.form.mode">
<el-radio :label="1">随机值</el-radio>
<el-radio :label="2">固定值</el-radio>
<el-radio :label="3">历史随机值</el-radio>
<el-radio :value="1">随机值</el-radio>
<el-radio :value="2">固定值</el-radio>
<el-radio :value="3">历史随机值</el-radio>
</el-radio-group>
<div class="rule-box">
<!-- 字符串 -->
......@@ -68,8 +68,8 @@ function handleSubmit() {
<!-- 随机值 -->
<template v-if="row.form.mode === 1">
<el-radio-group v-model="row.form.rule.type">
<el-radio :label="1">来自于系统数据</el-radio>
<el-radio :label="4">完全随机</el-radio>
<el-radio :value="1">来自于系统数据</el-radio>
<el-radio :value="4">完全随机</el-radio>
</el-radio-group>
</template>
<!-- 固定值 -->
......@@ -81,8 +81,10 @@ function handleSubmit() {
<template v-if="row.type === '2' || row.type === '3'">
<!-- 随机值 -->
<template v-if="row.form.mode === 1">
Min<el-input-number :controls="false" size="small" v-model="row.form.rule.num_min" />
Max<el-input-number :controls="false" size="small" v-model="row.form.rule.num_max" />
Min<el-input-number :controls="false" size="small" v-model="row.form.rule.num_min" /> Max<el-input-number
:controls="false"
size="small"
v-model="row.form.rule.num_max" />
</template>
<!-- 固定值 -->
<template v-if="row.form.mode === 2">
......@@ -94,31 +96,17 @@ function handleSubmit() {
<!-- 随机值 -->
<template v-if="row.form.mode === 1">
<el-radio-group v-model="row.form.rule.date_type">
<el-radio :label="1">完全随机(不早于当前时间)</el-radio>
<el-radio :label="2">
时间区间&nbsp;<el-date-picker
size="small"
value-format="YYYY-MM-DD"
v-model="row.form.rule.date_start"
style="width: 120px" />
<el-radio :value="1">完全随机(不早于当前时间)</el-radio>
<el-radio :value="2">
时间区间&nbsp;<el-date-picker size="small" value-format="YYYY-MM-DD" v-model="row.form.rule.date_start" style="width: 120px" />
&nbsp;&nbsp;
<el-date-picker
size="small"
value-format="YYYY-MM-DD"
v-model="row.form.rule.date_end"
style="width: 120px" />
<el-date-picker size="small" value-format="YYYY-MM-DD" v-model="row.form.rule.date_end" style="width: 120px" />
</el-radio>
<el-radio :label="3">
当前时间前&nbsp;<el-input-number
:controls="false"
size="small"
v-model="row.form.rule.date_current_before" />&nbsp;
<el-radio :value="3">
当前时间前&nbsp;<el-input-number :controls="false" size="small" v-model="row.form.rule.date_current_before" />&nbsp;
</el-radio>
<el-radio :label="4">
当前时间后&nbsp;<el-input-number
:controls="false"
size="small"
v-model="row.form.rule.date_current_after" />&nbsp;
<el-radio :value="4">
当前时间后&nbsp;<el-input-number :controls="false" size="small" v-model="row.form.rule.date_current_after" />&nbsp;
</el-radio>
</el-radio-group>
</template>
......
......@@ -57,8 +57,8 @@ function onSaveEventRule(rules: []) {
<template #step-body-after>
<el-row justify="center" style="margin-bottom: 20px">
<el-radio-group v-model="radio" size="large">
<el-radio-button label="1">判断事件数据</el-radio-button>
<el-radio-button label="2">生成事件数据</el-radio-button>
<el-radio-button value="1">判断事件数据</el-radio-button>
<el-radio-button value="2">生成事件数据</el-radio-button>
</el-radio-group>
</el-row>
</template>
......@@ -70,13 +70,13 @@ function onSaveEventRule(rules: []) {
</p>
<el-form-item label="生成规则">
<el-radio-group :model-value="1">
<el-radio :label="1">随机</el-radio>
<el-radio :value="1">随机</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="生成方式">
<el-radio-group v-model="form.data_rule.generate_way">
<el-radio :label="1">百分比</el-radio>
<el-radio :label="2">数值</el-radio>
<el-radio :value="1">百分比</el-radio>
<el-radio :value="2">数值</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="请输入分支条件数值"></el-form-item>
......@@ -98,20 +98,12 @@ function onSaveEventRule(rules: []) {
<el-row>
<el-col :span="12">
<el-form-item label="Min">
<el-input-number
v-model="form.data_rule.event_count_min"
:controls="false"
:max="3"
style="width: 80px" />
<el-input-number v-model="form.data_rule.event_count_min" :controls="false" :max="3" style="width: 80px" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="Max">
<el-input-number
v-model="form.data_rule.event_count_max"
:controls="false"
:max="5"
style="width: 80px" />
<el-input-number v-model="form.data_rule.event_count_max" :controls="false" :max="5" style="width: 80px" />
</el-form-item>
</el-col>
</el-row>
......@@ -127,13 +119,13 @@ function onSaveEventRule(rules: []) {
<el-form-item label="生成规则">
<el-radio-group :model-value="1">
<el-radio :label="1">随机</el-radio>
<el-radio :value="1">随机</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="生成方式">
<el-radio-group v-model="form.data_rule.generate_way">
<el-radio :label="1">百分比</el-radio>
<el-radio :label="2">数值</el-radio>
<el-radio :value="1">百分比</el-radio>
<el-radio :value="2">数值</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="请输入分支条件数值"></el-form-item>
......@@ -155,20 +147,12 @@ function onSaveEventRule(rules: []) {
<el-row>
<el-col :span="12">
<el-form-item label="Min">
<el-input-number
v-model="form.data_rule.event_count_min"
:controls="false"
:max="3"
style="width: 80px" />
<el-input-number v-model="form.data_rule.event_count_min" :controls="false" :max="3" style="width: 80px" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="Max">
<el-input-number
v-model="form.data_rule.event_count_max"
:controls="false"
:max="5"
style="width: 80px" />
<el-input-number v-model="form.data_rule.event_count_max" :controls="false" :max="5" style="width: 80px" />
</el-form-item>
</el-col>
</el-row>
......@@ -198,10 +182,5 @@ function onSaveEventRule(rules: []) {
</section>
</template>
</RuleTemplate>
<Generate
:node="node"
:rules="form.event_attr_rule"
v-model="generateVisible"
@save="onSaveEventRule"
v-if="generateVisible"></Generate>
<Generate :node="node" :rules="form.event_attr_rule" v-model="generateVisible" @save="onSaveEventRule" v-if="generateVisible"></Generate>
</template>
......@@ -27,8 +27,8 @@ watchEffect(() => {
<ConfigTemplate :model="form" :node="node">
<el-form-item>
<el-radio-group v-model="form.in_group">
<el-radio label="0">在群组中</el-radio>
<el-radio label="1">不在群组中</el-radio>
<el-radio value="0">在群组中</el-radio>
<el-radio value="1">不在群组中</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item>
......
......@@ -35,7 +35,7 @@ watchEffect(() => {
<el-form-item>
<template v-if="step === 0">
<el-radio-group v-model="form.operate" v-if="step === 0">
<el-radio v-for="item in operateList" :key="item.value" :label="item.value" style="width: 105px">
<el-radio v-for="item in operateList" :key="item.value" :value="item.value" style="width: 105px">
{{ item.label }}
</el-radio>
</el-radio-group>
......
......@@ -44,7 +44,7 @@ watchEffect(() => {
<ConfigTemplate :model="form" :node="node">
<el-form-item label="时间判断类型">
<el-radio-group v-model="form.date_type">
<el-radio v-for="item in dateTypeList" :key="item.value" :label="item.value">{{ item.label }}</el-radio>
<el-radio v-for="item in dateTypeList" :key="item.value" :value="item.value">{{ item.label }}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="进入该步骤的时间">
......@@ -69,7 +69,7 @@ watchEffect(() => {
</template>
<template v-else>
<el-checkbox-group v-model="form.week">
<el-checkbox v-for="item in weekList" :key="item" :label="item" />
<el-checkbox v-for="item in weekList" :key="item" :value="item" />
</el-checkbox-group>
</template>
</el-form-item>
......
......@@ -37,32 +37,19 @@ watchEffect(() => {
<ConfigTemplate :model="form" :node="node">
<el-form-item>
<el-radio-group v-model="form.time_type" style="display: block">
<el-radio label="0" size="large" style="display: block">
<el-radio value="0" size="large" style="display: block">
<span>延时 </span>
<el-input
:disabled="form.time_type !== '0'"
v-model="form.time_num"
placeholder="请输入"
class="input-with-select">
<el-input :disabled="form.time_type !== '0'" v-model="form.time_num" placeholder="请输入" class="input-with-select">
<template #append>
<el-select
v-model="form.time_unit"
placeholder="请选择"
style="width: 115px"
:disabled="form.time_type !== '0'">
<el-select v-model="form.time_unit" placeholder="请选择" style="width: 115px" :disabled="form.time_type !== '0'">
<el-option v-for="item in timeUnitList" :key="item.value" :label="item.label" :value="item.value" />
</el-select>
</template>
</el-input>
</el-radio>
<el-radio label="1" size="large" style="display: block">
<el-radio value="1" size="large" style="display: block">
<span>延时至 </span>
<el-date-picker
:disabled="form.time_type !== '1'"
v-model="form.time"
type="datetime"
placeholder="请选择"
value-format="YYYY-MM-DD HH:mm:ss" />
<el-date-picker :disabled="form.time_type !== '1'" v-model="form.time" type="datetime" placeholder="请选择" value-format="YYYY-MM-DD HH:mm:ss" />
</el-radio>
</el-radio-group>
</el-form-item>
......
......@@ -35,7 +35,7 @@ const { connectionList } = useConnection(2)
<template v-if="step === 0">
<el-form-item>
<el-radio-group v-model="form.operate" v-if="step === 0">
<el-radio v-for="item in operateList" :key="item.value" :label="item.value">
<el-radio v-for="item in operateList" :key="item.value" :value="item.value">
{{ item.label }}
</el-radio>
</el-radio-group>
......@@ -51,7 +51,7 @@ const { connectionList } = useConnection(2)
<template v-else-if="step === 2">
<el-form-item>
<el-radio-group v-model="form.material_type" @change="form.material_id = ''">
<el-radio v-for="item in materialTypeList" :key="item.id" :label="item.value" style="width: 105px">
<el-radio v-for="item in materialTypeList" :key="item.id" :value="item.value" style="width: 105px">
发送{{ item.label }}
</el-radio>
</el-radio-group>
......
......@@ -39,7 +39,7 @@ const { connectionList } = useConnection(6)
<template v-if="step === 0">
<el-form-item>
<el-radio-group v-model="form.operate" v-if="step === 0">
<el-radio v-for="item in operateList" :key="item.value" :label="item.value">
<el-radio v-for="item in operateList" :key="item.value" :value="item.value">
{{ item.label }}
</el-radio>
</el-radio-group>
......@@ -55,7 +55,7 @@ const { connectionList } = useConnection(6)
<template v-else-if="step === 2">
<el-form-item>
<el-radio-group v-model="form.material_type" @change="form.material_id = ''">
<el-radio v-for="item in materialTypeList" :key="item.id" :label="item.value" style="width: 105px">
<el-radio v-for="item in materialTypeList" :key="item.id" :value="item.value" style="width: 105px">
发送{{ item.label }}
</el-radio>
</el-radio-group>
......
......@@ -34,7 +34,7 @@ const { connectionList } = useConnection(9)
<template v-if="step === 0">
<el-form-item>
<el-radio-group v-model="form.operate" v-if="step === 0">
<el-radio v-for="item in operateList" :key="item.value" :label="item.value">
<el-radio v-for="item in operateList" :key="item.value" :value="item.value">
{{ item.label }}
</el-radio>
</el-radio-group>
......@@ -50,7 +50,7 @@ const { connectionList } = useConnection(9)
<template v-else-if="step === 2">
<el-form-item>
<el-radio-group v-model="form.material_type" @change="form.material_id = ''">
<el-radio v-for="item in materialTypeList" :key="item.id" :label="item.value" style="width: 105px">
<el-radio v-for="item in materialTypeList" :key="item.id" :value="item.value" style="width: 105px">
发送{{ item.label }}
</el-radio>
</el-radio-group>
......
......@@ -32,7 +32,7 @@ const { connectionList } = useConnection(1)
<template v-if="step === 0">
<el-form-item>
<el-radio-group v-model="form.material_type" @change="form.material_id = ''">
<el-radio v-for="item in materialTypeList" :key="item.id" :label="item.value" style="width: 105px">
<el-radio v-for="item in materialTypeList" :key="item.id" :value="item.value" style="width: 105px">
发送{{ item.label }}
</el-radio>
</el-radio-group>
......
......@@ -26,7 +26,7 @@ const { connectionList } = useConnection(10)
<template v-if="step === 0">
<el-form-item>
<el-radio-group v-model="form.operate" v-if="step === 0">
<el-radio v-for="item in operateList" :key="item.value" :label="item.value">
<el-radio v-for="item in operateList" :key="item.value" :value="item.value">
{{ item.label }}
</el-radio>
</el-radio-group>
......
......@@ -38,7 +38,7 @@ const { connectionList } = useConnection(7)
<template v-if="step === 0">
<el-form-item>
<el-radio-group v-model="form.operate" v-if="step === 0">
<el-radio v-for="item in operateList" :key="item.value" :label="item.value">
<el-radio v-for="item in operateList" :key="item.value" :value="item.value">
{{ item.label }}
</el-radio>
</el-radio-group>
......@@ -54,7 +54,7 @@ const { connectionList } = useConnection(7)
<template v-else-if="step === 2">
<el-form-item>
<el-radio-group v-model="form.material_type" @change="form.material_id = ''">
<el-radio v-for="item in materialTypeList" :key="item.id" :label="item.value" style="width: 105px">
<el-radio v-for="item in materialTypeList" :key="item.id" :value="item.value" style="width: 105px">
发送{{ item.label }}
</el-radio>
</el-radio-group>
......
......@@ -31,7 +31,7 @@ const operateList = ref([
<el-form-item>
<template v-if="step === 0">
<el-radio-group v-model="form.operate" v-if="step === 0">
<el-radio v-for="item in operateList" :key="item.value" :label="item.value" style="width: 105px">
<el-radio v-for="item in operateList" :key="item.value" :value="item.value" style="width: 105px">
{{ item.label }}
</el-radio>
</el-radio-group>
......
......@@ -31,7 +31,7 @@ const operateList = ref([
<el-form-item>
<template v-if="step === 0">
<el-radio-group v-model="form.operate" v-if="step === 0">
<el-radio v-for="item in operateList" :key="item.value" :label="item.value" style="width: 140px">
<el-radio v-for="item in operateList" :key="item.value" :value="item.value" style="width: 140px">
{{ item.label }}
</el-radio>
</el-radio-group>
......
......@@ -37,7 +37,7 @@ const operateList = ref([
<el-form-item>
<template v-if="step === 0">
<el-radio-group v-model="form.operate" v-if="step === 0">
<el-radio v-for="item in operateList" :key="item.value" :label="item.value" style="width: 105px">
<el-radio v-for="item in operateList" :key="item.value" :value="item.value" style="width: 105px">
{{ item.label }}
</el-radio>
</el-radio-group>
......
......@@ -19,9 +19,9 @@ watchEffect(() => {
<ConfigTemplate :model="form" :node="node">
<el-form-item label="触发类型" prop="trigger_type">
<el-radio-group v-model="form.trigger_type">
<el-radio label="0">单次触发</el-radio>
<el-radio label="1">重复触发</el-radio>
<el-radio label="2">立即触发</el-radio>
<el-radio value="0">单次触发</el-radio>
<el-radio value="1">重复触发</el-radio>
<el-radio value="2">立即触发</el-radio>
</el-radio-group>
</el-form-item>
<template v-if="form.trigger_type === '0'">
......
......@@ -29,7 +29,7 @@ const operateList = ref([
<el-form-item>
<template v-if="step === 0">
<el-radio-group v-model="form.operate" v-if="step === 0">
<el-radio v-for="item in operateList" :key="item.value" :label="item.value" style="width: 130px">
<el-radio v-for="item in operateList" :key="item.value" :value="item.value" style="width: 130px">
{{ item.label }}
</el-radio>
</el-radio-group>
......
......@@ -26,7 +26,7 @@ const operateList = ref([{ label: '提交表单', value: '0' }])
<el-form-item>
<template v-if="step === 0">
<el-radio-group v-model="form.operate" v-if="step === 0">
<el-radio v-for="item in operateList" :key="item.value" :label="item.value" style="width: 130px">
<el-radio v-for="item in operateList" :key="item.value" :value="item.value" style="width: 130px">
{{ item.label }}
</el-radio>
</el-radio-group>
......
......@@ -26,7 +26,7 @@ const operateList = ref([{ label: '新用户注册', value: '0' }])
<el-form-item>
<template v-if="step === 0">
<el-radio-group v-model="form.operate" v-if="step === 0">
<el-radio v-for="item in operateList" :key="item.value" :label="item.value" style="width: 130px">
<el-radio v-for="item in operateList" :key="item.value" :value="item.value" style="width: 130px">
{{ item.label }}
</el-radio>
</el-radio-group>
......
......@@ -33,7 +33,7 @@ const operateList = ref([
<el-form-item>
<template v-if="step === 0">
<el-radio-group v-model="form.operate" v-if="step === 0">
<el-radio v-for="item in operateList" :key="item.value" :label="item.value" style="width: 130px">
<el-radio v-for="item in operateList" :key="item.value" :value="item.value" style="width: 130px">
{{ item.label }}
</el-radio>
</el-radio-group>
......
......@@ -81,8 +81,8 @@ function handleAttrChange(value: any) {
<div class="rfm-header">
<p style="margin-right: 20px">{{ label }}值计算依据</p>
<el-radio-group v-model="form.basis" @change="handleBasisChange">
<el-radio label="1">用户属性</el-radio>
<el-radio label="2">事件属性</el-radio>
<el-radio value="1">用户属性</el-radio>
<el-radio value="2">事件属性</el-radio>
</el-radio-group>
<p style="margin-left: 10px">计算规则:</p>
<el-select v-model="form.rule" style="width: 170px" @change="handleRuleChange">
......
......@@ -192,7 +192,7 @@ const eventTimeOption = computed(() => {
</el-form-item>
<el-form-item>
<el-checkbox-group v-model="eventValues">
<el-checkbox v-for="item in eventList" :key="item.id" :label="item.id">{{ item.name }}</el-checkbox>
<el-checkbox v-for="item in eventList" :key="item.id" :value="item.id">{{ item.name }}</el-checkbox>
</el-checkbox-group>
</el-form-item>
</el-form>
......
......@@ -134,7 +134,7 @@ const options = computed(() => {
<ChartCard :options="options" :loading="loading">
<template #title>
<el-row justify="space-between" style="flex: 1">
<el-select v-model="metaAttrValue" filterable>
<el-select v-model="metaAttrValue" filterable style="width: 200px">
<el-option v-for="item in metaAttrList" :label="item.name" :value="item.id" :key="item.id"></el-option>
</el-select>
<el-select v-model="chartType" style="width: 86px">
......
......@@ -136,8 +136,8 @@ const option = computed(() => {
</el-form-item>
<el-form-item label="请选择数据覆盖形式" :rules="rules">
<el-radio-group v-model="ruleForm.cover_type">
<el-radio :label="1">全新覆盖</el-radio>
<el-radio :label="2">追加</el-radio>
<el-radio :value="1">全新覆盖</el-radio>
<el-radio :value="2">追加</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="事件发生时间" :rules="rules">
......
......@@ -38,14 +38,10 @@ const remove = function (item: any, index: number) {
<el-form-item v-for="item in props.data" :label="item.name">
<div>
<el-radio-group v-model="item.rule.type">
<el-radio :label="2">指定随机</el-radio>
<el-radio :label="1">固定</el-radio>
<el-radio :value="2">指定随机</el-radio>
<el-radio :value="1">固定</el-radio>
</el-radio-group>
<p class="specify-tips">
字段类型:{{ fieldsType[item.type] }}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{ ruleTips[item.type] }}{{
item.format
}}
</p>
<p class="specify-tips">字段类型:{{ fieldsType[item.type] }}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{{ ruleTips[item.type] }}{{ item.format }}</p>
<div class="specify" v-if="item.rule.type === 2">
<div class="specify-item" v-for="(specify, index) in item.rule.rand_value">
<!-- 字符串 -->
......@@ -66,34 +62,17 @@ const remove = function (item: any, index: number) {
</template>
<!-- 日期 -->
<template v-if="parseInt(item.type) === 4">
<el-date-picker
placeholder="请选择随机日期最小值"
style="width: 200px"
value-format="YYYY-MM-DD"
v-model="specify.min"
/>
<el-date-picker
placeholder="请选择随机日期最大值"
style="width: 200px; margin-left: 15px"
value-format="YYYY-MM-DD"
v-model="specify.max"
/>
<el-date-picker placeholder="请选择随机日期最小值" style="width: 200px" value-format="YYYY-MM-DD" v-model="specify.min" />
<el-date-picker placeholder="请选择随机日期最大值" style="width: 200px; margin-left: 15px" value-format="YYYY-MM-DD" v-model="specify.max" />
</template>
<template v-if="parseInt(item.type) === 5">
<el-date-picker
placeholder="请选择随机时间最小值"
v-model="specify.min"
style="width: 200px"
type="datetime"
value-format="YYYY-MM-DD HH:mm:ss"
/>
<el-date-picker placeholder="请选择随机时间最小值" v-model="specify.min" style="width: 200px" type="datetime" value-format="YYYY-MM-DD HH:mm:ss" />
<el-date-picker
placeholder="请选择随机时间最大值"
v-model="specify.max"
style="width: 200px; margin-left: 15px"
type="datetime"
value-format="YYYY-MM-DD HH:mm:ss"
/>
value-format="YYYY-MM-DD HH:mm:ss" />
</template>
<template v-if="userStore.role?.id !== 1">
<el-icon
......@@ -103,11 +82,7 @@ const remove = function (item: any, index: number) {
style="margin-left: 10px; cursor: pointer"
><CirclePlusFilled
/></el-icon>
<el-icon
@click="remove(item.rule.rand_value, index)"
size="20"
style="margin-left: 10px; cursor: pointer"
v-if="item.rule.rand_value.length > 1"
<el-icon @click="remove(item.rule.rand_value, index)" size="20" style="margin-left: 10px; cursor: pointer" v-if="item.rule.rand_value.length > 1"
><RemoveFilled
/></el-icon>
</template>
......@@ -122,12 +97,7 @@ const remove = function (item: any, index: number) {
</div>
<div v-else>
<template v-if="parseInt(item.type) === 4">
<el-date-picker
placeholder="请选择固定属性值"
style="width: 200px"
value-format="YYYY-MM-DD"
v-model="item.rule.fixed_value"
/>
<el-date-picker placeholder="请选择固定属性值" style="width: 200px" value-format="YYYY-MM-DD" v-model="item.rule.fixed_value" />
</template>
<template v-else-if="parseInt(item.type) === 5">
<el-date-picker
......@@ -135,8 +105,7 @@ const remove = function (item: any, index: number) {
v-model="item.rule.fixed_value"
style="width: 200px"
type="datetime"
value-format="YYYY-MM-DD HH:mm:ss"
/>
value-format="YYYY-MM-DD HH:mm:ss" />
</template>
<template v-else>
<el-input v-model="item.rule.fixed_value" placeholder="请输入固定属性值"></el-input>
......
......@@ -114,9 +114,9 @@ const sendChat = function () {
<p style="color: #ccc; font-size: 12px; text-align: center; margin-bottom: 20px">注:填写信息保存之后,关注成功</p>
<el-form-item label="性别" prop="gender">
<el-radio-group v-model="ruleForm.gender">
<el-radio label="1"></el-radio>
<el-radio label="2"></el-radio>
<el-radio label="0">未知</el-radio>
<el-radio value="1"></el-radio>
<el-radio value="2"></el-radio>
<el-radio value="0">未知</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="手机号" prop="mobile">
......
......@@ -89,16 +89,16 @@ const rules = [{ required: true }]
<el-form :disabled="userStore.role?.id === 1" label-suffix=":" ref="ruleFormRef" :model="ruleForm" label-width="auto" class="demo-ruleForm" status-icon>
<el-form-item label="请输入需要生成的数据量" :rules="rules">
<el-radio-group v-model="ruleForm.size">
<el-radio :label="1000">1000</el-radio>
<el-radio :label="3000">3000</el-radio>
<el-radio :label="5000">5000</el-radio>
<el-radio :label="10000">10000</el-radio>
<el-radio :value="1000">1000</el-radio>
<el-radio :value="3000">3000</el-radio>
<el-radio :value="5000">5000</el-radio>
<el-radio :value="10000">10000</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="请选择数据覆盖形式:" :rules="rules">
<el-radio-group v-model="ruleForm.cover_type">
<el-radio :label="1">全新覆盖</el-radio>
<el-radio :label="2">去重追加</el-radio>
<el-radio :value="1">全新覆盖</el-radio>
<el-radio :value="2">去重追加</el-radio>
</el-radio-group>
</el-form-item>
<el-divider />
......@@ -107,8 +107,8 @@ const rules = [{ required: true }]
</el-form-item>
<el-form-item label="姓名" :rules="rules">
<el-radio-group v-model="ruleForm.name">
<el-radio :label="1">随机</el-radio>
<el-radio :label="2">固定</el-radio>
<el-radio :value="1">随机</el-radio>
<el-radio :value="2">固定</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item v-if="ruleForm.name === 2" label="固定姓名" :rules="rules">
......@@ -116,20 +116,20 @@ const rules = [{ required: true }]
</el-form-item>
<el-form-item label="状态" :rules="rules">
<el-radio-group v-model="ruleForm.status">
<el-radio :label="1">生效</el-radio>
<el-radio :label="2">失效</el-radio>
<el-radio :value="1">生效</el-radio>
<el-radio :value="2">失效</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="性别" :rules="rules">
<el-radio-group v-model="ruleForm.gender">
<el-radio :label="1">随机</el-radio>
<el-radio :label="2"></el-radio>
<el-radio :label="3"></el-radio>
<el-radio :value="1">随机</el-radio>
<el-radio :value="2"></el-radio>
<el-radio :value="3"></el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="手机号吗" :rules="rules">
<el-radio-group v-model="ruleForm.mobile">
<el-radio :label="1">随机</el-radio>
<el-radio :value="1">随机</el-radio>
</el-radio-group>
</el-form-item>
<OtherFields :data="props.data?.other_fields || []"></OtherFields>
......
......@@ -161,7 +161,7 @@ async function handleUpdate() {
<template v-if="data.type === '2'">
<el-form-item label="更新频率" prop="update_status">
<el-radio-group v-model="form.update_status">
<el-radio v-for="item in updateStatusRuleList" :key="item.value" :label="item.value" :disabled="item.value === '1'">
<el-radio v-for="item in updateStatusRuleList" :key="item.value" :value="item.value" :disabled="item.value === '1'">
{{ item.label }}
</el-radio>
</el-radio-group>
......
......@@ -92,7 +92,7 @@ function handleUpdate() {
</el-form-item>
<el-form-item label="更新频率" prop="update_status">
<el-radio-group v-model="form.update_status">
<el-radio v-for="item in updateStatusRuleList" :key="item.value" :label="item.value" :disabled="item.value === '1'">
<el-radio v-for="item in updateStatusRuleList" :key="item.value" :value="item.value" :disabled="item.value === '1'">
{{ item.label }}
</el-radio>
</el-radio-group>
......
......@@ -40,7 +40,7 @@ async function handleNext() {
<el-form label-suffix=":" label-width="130" :model="form" :rules="rules" ref="formRef" :disabled="action === 'view'">
<el-form-item label="营销内容类型" prop="type">
<el-radio-group v-model="form.type" :disabled="action === 'update'">
<el-radio v-for="item in materialType" :key="item.id" :label="item.value">{{ item.label }}</el-radio>
<el-radio v-for="item in materialType" :key="item.id" :value="item.value">{{ item.label }}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="内容名称" prop="name">
......@@ -48,7 +48,7 @@ async function handleNext() {
</el-form-item>
<el-form-item label="创作方式" prop="way">
<el-radio-group v-model="form.way">
<el-radio v-for="item in materialMethodList" :key="item.value" :label="item.value" :disabled="item.value == 1 && form.type != 1">{{
<el-radio v-for="item in materialMethodList" :key="item.value" :value="item.value" :disabled="item.value == 1 && form.type != 1">{{
item.label
}}</el-radio>
</el-radio-group>
......
......@@ -53,17 +53,17 @@ async function handleNext() {
</el-form-item>
<el-form-item label="使用场景" prop="scenario_type">
<el-radio-group v-model="form.scenario_type">
<el-radio v-for="item in materialUsageList" :key="item.id" :label="item.value">{{ item.label }}</el-radio>
<el-radio v-for="item in materialUsageList" :key="item.id" :value="item.value">{{ item.label }}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="使用人员" prop="personnel_type">
<el-radio-group v-model="form.personnel_type">
<el-radio v-for="item in materialUsersList" :key="item.id" :label="item.value">{{ item.label }}</el-radio>
<el-radio v-for="item in materialUsersList" :key="item.id" :value="item.value">{{ item.label }}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="内容投放渠道" prop="channel">
<el-radio-group v-model="form.channel">
<el-radio v-for="item in connectionList" :key="item.id" :label="item.id">{{ item.type_name }}</el-radio>
<el-radio v-for="item in connectionList" :key="item.id" :value="item.id">{{ item.type_name }}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="关键点" prop="key_points">
......
......@@ -32,17 +32,17 @@ const typeName = computed(() => {
</el-form-item>
<el-form-item label="使用场景" prop="scenario_type">
<el-radio-group :model-value="data.scenario_type">
<el-radio v-for="item in materialUsageList" :key="item.id" :label="item.value">{{ item.label }}</el-radio>
<el-radio v-for="item in materialUsageList" :key="item.id" :value="item.value">{{ item.label }}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="使用人员" prop="personnel_type">
<el-radio-group :model-value="data.personnel_type">
<el-radio v-for="item in materialUsersList" :key="item.id" :label="item.value">{{ item.label }}</el-radio>
<el-radio v-for="item in materialUsersList" :key="item.id" :value="item.value">{{ item.label }}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="内容投放渠道" prop="channel">
<el-radio-group :model-value="data.channel">
<el-radio v-for="item in connectionList" :key="item.id" :label="item.id">{{ item.type_name }}</el-radio>
<el-radio v-for="item in connectionList" :key="item.id" :value="item.id">{{ item.type_name }}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="关键点" prop="key_points">
......
......@@ -77,11 +77,11 @@ function handleSubmit() {
<el-col :span="12">
<el-form-item label="数据生成启动控制">
<el-radio-group v-model="form.data_generate_mode" style="margin-right: 40px">
<el-radio label="1">人工启动</el-radio>
<el-radio label="2">自动启动</el-radio>
<el-radio value="1">人工启动</el-radio>
<el-radio value="2">自动启动</el-radio>
</el-radio-group>
<el-radio-group v-model="form.auto_generate_rule.mode" v-if="form.data_generate_mode === '2'">
<el-radio label="2">
<el-radio value="2">
<span>每隔&nbsp;&nbsp;</span>
<el-input v-model="form.auto_generate_rule.value" style="width: 140px">
<template #append>
......@@ -92,15 +92,15 @@ function handleSubmit() {
</template>
</el-input>
</el-radio>
<el-radio label="1">学生完成旅程配置</el-radio>
<el-radio value="1">学生完成旅程配置</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="数据生成停止控制">
<el-radio-group v-model="form.data_generate_frequency">
<el-radio label="1">一次性生成</el-radio>
<el-radio label="2" disabled>覆盖生成</el-radio>
<el-radio value="1">一次性生成</el-radio>
<el-radio value="2" disabled>覆盖生成</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
......
......@@ -51,7 +51,7 @@ const bytesToSize = (bytes: number) => {
class="connect-form"
title="导入用户数据"
:close-on-click-modal="false"
width="700px"
width="800px"
@update:modelValue="value => $emit('update:modelValue', value)">
<AppList v-bind="listOptions" ref="appList"></AppList>
</el-dialog>
......
......@@ -70,7 +70,6 @@ async function fetchEvent(isReset = false) {
}
const { data } = await getMemberImage({ id: userId.value, connection_id: currentConnection.value, page: event.page, 'per-page': 20 })
Object.assign(event, { page: event.page + 1, total: data.events.total, list: [...event.list, ...data.events.list] })
console.log(event)
}
watch(currentConnection, () => {
fetchEvent(true)
......@@ -165,7 +164,7 @@ watch(currentConnection, () => {
</AppCard>
<AppCard class="card" title="用户行为轨迹">
<el-radio-group v-model="currentConnection">
<el-radio-button :label="item.id" v-for="item in connectionList" :key="item.id">{{ item.type_name }}</el-radio-button>
<el-radio-button :value="item.id" v-for="item in connectionList" :key="item.id">{{ item.type_name }}</el-radio-button>
</el-radio-group>
<template v-if="event.list.length">
<div class="event-box" v-for="(item, index) in event.list" :key="index">
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论