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

chore: 升级相关依赖

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