提交 5b3d7288 authored 作者: 王鹏飞's avatar 王鹏飞

bump deps

上级 679b78fa
......@@ -8,7 +8,7 @@
"name": "saas-dml",
"version": "0.0.0",
"dependencies": {
"@element-plus/icons-vue": "^2.1.0",
"@element-plus/icons-vue": "^2.3.1",
"@fortaine/fetch-event-source": "^3.0.6",
"@tinymce/tinymce-vue": "^5.0.1",
"@vue-flow/controls": "^1.0.4",
......@@ -19,31 +19,33 @@
"dayjs": "^1.11.10",
"echarts": "^5.4.3",
"echarts-wordcloud": "^2.1.0",
"element-plus": "^2.3.14",
"element-plus": "^2.7.0",
"lodash-es": "^4.17.21",
"nanoid": "^4.0.2",
"pinia": "^2.1.6",
"vue": "^3.3.4",
"vue": "^3.4.23",
"vue-echarts": "^6.6.1",
"vue-router": "^4.2.4",
"vue-router": "^4.3.1",
"xss": "^1.0.15"
},
"devDependencies": {
"@rushstack/eslint-patch": "^1.2.0",
"@tsconfig/node20": "^20.1.4",
"@types/blueimp-md5": "^2.18.0",
"@types/node": "^20.3.1",
"@vitejs/plugin-vue": "^4.6.2",
"@vue-macros/reactivity-transform": "^0.4.4",
"@vue/eslint-config-typescript": "^12.0.0",
"@vue/tsconfig": "^0.1.3",
"@vue/tsconfig": "^0.5.1",
"ali-oss": "^6.18.1",
"chalk": "^5.2.0",
"eslint": "^8.43.0",
"eslint-plugin-vue": "^9.17.0",
"sass": "^1.67.0",
"typescript": "~4.9.5",
"typescript": "~5.4.5",
"unplugin-auto-import": "^0.16.7",
"vite": "^4.5.2",
"vue-tsc": "^1.8.11"
"vite": "^4.5.3",
"vue-tsc": "^1.8.27"
}
},
"node_modules/@ampproject/remapping": {
......@@ -322,23 +324,19 @@
}
},
"node_modules/@babel/helper-string-parser": {
"version": "7.19.4",
"resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz",
"integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==",
"version": "7.24.1",
"resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz",
"integrity": "sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==",
"dev": true,
"optional": true,
"peer": true,
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-validator-identifier": {
"version": "7.19.1",
"resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz",
"integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==",
"version": "7.22.20",
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz",
"integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==",
"dev": true,
"optional": true,
"peer": true,
"engines": {
"node": ">=6.9.0"
}
......@@ -472,9 +470,9 @@
}
},
"node_modules/@babel/parser": {
"version": "7.22.5",
"resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.22.5.tgz",
"integrity": "sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q==",
"version": "7.24.4",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.4.tgz",
"integrity": "sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==",
"bin": {
"parser": "bin/babel-parser.js"
},
......@@ -544,15 +542,13 @@
}
},
"node_modules/@babel/types": {
"version": "7.21.2",
"resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.21.2.tgz",
"integrity": "sha512-3wRZSs7jiFaB8AjxiiD+VqN5DTG2iRvJGQ+qYFrs/654lg6kGTQWIOFjlBo5RaXuAZjBmP3+OQH4dmhqiiyYxw==",
"version": "7.24.0",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz",
"integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==",
"dev": true,
"optional": true,
"peer": true,
"dependencies": {
"@babel/helper-string-parser": "^7.19.4",
"@babel/helper-validator-identifier": "^7.19.1",
"@babel/helper-string-parser": "^7.23.4",
"@babel/helper-validator-identifier": "^7.22.20",
"to-fast-properties": "^2.0.0"
},
"engines": {
......@@ -568,9 +564,9 @@
}
},
"node_modules/@element-plus/icons-vue": {
"version": "2.1.0",
"resolved": "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.1.0.tgz",
"integrity": "sha512-PSBn3elNoanENc1vnCfh+3WA9fimRC7n+fWkf3rE5jvv+aBohNHABC/KAR5KWPecxWxDTVT1ERpRbOMRcOV/vA==",
"version": "2.3.1",
"resolved": "https://registry.npmjs.org/@element-plus/icons-vue/-/icons-vue-2.3.1.tgz",
"integrity": "sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==",
"peerDependencies": {
"vue": "^3.2.0"
}
......@@ -1345,6 +1341,12 @@
"vue": "^3.0.0"
}
},
"node_modules/@tsconfig/node20": {
"version": "20.1.4",
"resolved": "https://registry.npmjs.org/@tsconfig/node20/-/node20-20.1.4.tgz",
"integrity": "sha512-sqgsT69YFeLWf5NtJ4Xq/xAF8p4ZQHlmGW74Nu2tD4+g5fAsposc4ZfaaPixVu4y01BEiDCWLRDCvDM5JOsRxg==",
"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",
......@@ -1596,30 +1598,31 @@
}
},
"node_modules/@volar/language-core": {
"version": "1.10.1",
"resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-1.10.1.tgz",
"integrity": "sha512-JnsM1mIPdfGPxmoOcK1c7HYAsL6YOv0TCJ4aW3AXPZN/Jb4R77epDyMZIVudSGjWMbvv/JfUa+rQ+dGKTmgwBA==",
"version": "1.11.1",
"resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-1.11.1.tgz",
"integrity": "sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==",
"dev": true,
"dependencies": {
"@volar/source-map": "1.10.1"
"@volar/source-map": "1.11.1"
}
},
"node_modules/@volar/source-map": {
"version": "1.10.1",
"resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-1.10.1.tgz",
"integrity": "sha512-3/S6KQbqa7pGC8CxPrg69qHLpOvkiPHGJtWPkI/1AXCsktkJ6gIk/5z4hyuMp8Anvs6eS/Kvp/GZa3ut3votKA==",
"version": "1.11.1",
"resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-1.11.1.tgz",
"integrity": "sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==",
"dev": true,
"dependencies": {
"muggle-string": "^0.3.1"
}
},
"node_modules/@volar/typescript": {
"version": "1.10.1",
"resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-1.10.1.tgz",
"integrity": "sha512-+iiO9yUSRHIYjlteT+QcdRq8b44qH19/eiUZtjNtuh6D9ailYM7DVR0zO2sEgJlvCaunw/CF9Ov2KooQBpR4VQ==",
"version": "1.11.1",
"resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-1.11.1.tgz",
"integrity": "sha512-iU+t2mas/4lYierSnoFOeRFQUhAEMgsFuQxoxvwn5EdQopw43j+J27a4lt9LMInx1gLJBC6qL14WYGlgymaSMQ==",
"dev": true,
"dependencies": {
"@volar/language-core": "1.10.1"
"@volar/language-core": "1.11.1",
"path-browserify": "^1.0.1"
}
},
"node_modules/@vue-flow/controls": {
......@@ -1732,56 +1735,117 @@
}
}
},
"node_modules/@vue-macros/common": {
"version": "1.10.2",
"resolved": "https://registry.npmjs.org/@vue-macros/common/-/common-1.10.2.tgz",
"integrity": "sha512-WC66NPVh2mJWqm4L0l/u/cOqm4pNOIwVdMGnDYAH2rHcOWy5x68GkhpkYTBu1+xwCSeHWOQn1TCGGbD+98fFpA==",
"dev": true,
"dependencies": {
"@babel/types": "^7.24.0",
"@rollup/pluginutils": "^5.1.0",
"@vue/compiler-sfc": "^3.4.21",
"ast-kit": "^0.12.1",
"local-pkg": "^0.5.0",
"magic-string-ast": "^0.3.0"
},
"engines": {
"node": ">=16.14.0"
},
"peerDependencies": {
"vue": "^2.7.0 || ^3.2.25"
},
"peerDependenciesMeta": {
"vue": {
"optional": true
}
}
},
"node_modules/@vue-macros/common/node_modules/local-pkg": {
"version": "0.5.0",
"resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz",
"integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==",
"dev": true,
"dependencies": {
"mlly": "^1.4.2",
"pkg-types": "^1.0.3"
},
"engines": {
"node": ">=14"
},
"funding": {
"url": "https://github.com/sponsors/antfu"
}
},
"node_modules/@vue-macros/reactivity-transform": {
"version": "0.4.4",
"resolved": "https://registry.npmjs.org/@vue-macros/reactivity-transform/-/reactivity-transform-0.4.4.tgz",
"integrity": "sha512-Yn22Ls+KAJzjwdjrjwaDkjx+lxSXlk4ev+s0hD9biTpjaf1Sv7AKYq5381TGZIeDadklkhHzYwQWueROqvpG6w==",
"dev": true,
"dependencies": {
"@babel/parser": "^7.24.1",
"@vue-macros/common": "1.10.2",
"@vue/compiler-core": "^3.4.21",
"@vue/shared": "^3.4.21",
"magic-string": "^0.30.8",
"unplugin": "^1.10.0"
},
"engines": {
"node": ">=16.14.0"
},
"peerDependencies": {
"vue": "^2.7.0 || ^3.2.25"
}
},
"node_modules/@vue/compiler-core": {
"version": "3.3.4",
"resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.3.4.tgz",
"integrity": "sha512-cquyDNvZ6jTbf/+x+AgM2Arrp6G4Dzbb0R64jiG804HRMfRiFXWI6kqUVqZ6ZR0bQhIoQjB4+2bhNtVwndW15g==",
"version": "3.4.23",
"resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.4.23.tgz",
"integrity": "sha512-HAFmuVEwNqNdmk+w4VCQ2pkLk1Vw4XYiiyxEp3z/xvl14aLTUBw2OfVH3vBcx+FtGsynQLkkhK410Nah1N2yyQ==",
"dependencies": {
"@babel/parser": "^7.21.3",
"@vue/shared": "3.3.4",
"@babel/parser": "^7.24.1",
"@vue/shared": "3.4.23",
"entities": "^4.5.0",
"estree-walker": "^2.0.2",
"source-map-js": "^1.0.2"
"source-map-js": "^1.2.0"
}
},
"node_modules/@vue/compiler-dom": {
"version": "3.3.4",
"resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.3.4.tgz",
"integrity": "sha512-wyM+OjOVpuUukIq6p5+nwHYtj9cFroz9cwkfmP9O1nzH68BenTTv0u7/ndggT8cIQlnBeOo6sUT/gvHcIkLA5w==",
"version": "3.4.23",
"resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.4.23.tgz",
"integrity": "sha512-t0b9WSTnCRrzsBGrDd1LNR5HGzYTr7LX3z6nNBG+KGvZLqrT0mY6NsMzOqlVMBKKXKVuusbbB5aOOFgTY+senw==",
"dependencies": {
"@vue/compiler-core": "3.3.4",
"@vue/shared": "3.3.4"
"@vue/compiler-core": "3.4.23",
"@vue/shared": "3.4.23"
}
},
"node_modules/@vue/compiler-sfc": {
"version": "3.3.4",
"resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.3.4.tgz",
"integrity": "sha512-6y/d8uw+5TkCuzBkgLS0v3lSM3hJDntFEiUORM11pQ/hKvkhSKZrXW6i69UyXlJQisJxuUEJKAWEqWbWsLeNKQ==",
"dependencies": {
"@babel/parser": "^7.20.15",
"@vue/compiler-core": "3.3.4",
"@vue/compiler-dom": "3.3.4",
"@vue/compiler-ssr": "3.3.4",
"@vue/reactivity-transform": "3.3.4",
"@vue/shared": "3.3.4",
"version": "3.4.23",
"resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.4.23.tgz",
"integrity": "sha512-fSDTKTfzaRX1kNAUiaj8JB4AokikzStWgHooMhaxyjZerw624L+IAP/fvI4ZwMpwIh8f08PVzEnu4rg8/Npssw==",
"dependencies": {
"@babel/parser": "^7.24.1",
"@vue/compiler-core": "3.4.23",
"@vue/compiler-dom": "3.4.23",
"@vue/compiler-ssr": "3.4.23",
"@vue/shared": "3.4.23",
"estree-walker": "^2.0.2",
"magic-string": "^0.30.0",
"postcss": "^8.1.10",
"source-map-js": "^1.0.2"
"magic-string": "^0.30.8",
"postcss": "^8.4.38",
"source-map-js": "^1.2.0"
}
},
"node_modules/@vue/compiler-ssr": {
"version": "3.3.4",
"resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.3.4.tgz",
"integrity": "sha512-m0v6oKpup2nMSehwA6Uuu+j+wEwcy7QmwMkVNVfrV9P2qE5KshC6RwOCq8fjGS/Eak/uNb8AaWekfiXxbBB6gQ==",
"version": "3.4.23",
"resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.4.23.tgz",
"integrity": "sha512-hb6Uj2cYs+tfqz71Wj6h3E5t6OKvb4MVcM2Nl5i/z1nv1gjEhw+zYaNOV+Xwn+SSN/VZM0DgANw5TuJfxfezPg==",
"dependencies": {
"@vue/compiler-dom": "3.3.4",
"@vue/shared": "3.3.4"
"@vue/compiler-dom": "3.4.23",
"@vue/shared": "3.4.23"
}
},
"node_modules/@vue/devtools-api": {
"version": "6.5.0",
"resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.5.0.tgz",
"integrity": "sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q=="
"version": "6.6.1",
"resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.6.1.tgz",
"integrity": "sha512-LgPscpE3Vs0x96PzSSB4IGVSZXZBZHpfxs+ZA1d+VEPwHdOXowy/Y2CsvCAIFrf+ssVU1pD1jidj505EpUnfbA=="
},
"node_modules/@vue/eslint-config-typescript": {
"version": "12.0.0",
......@@ -1808,18 +1872,19 @@
}
},
"node_modules/@vue/language-core": {
"version": "1.8.11",
"resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-1.8.11.tgz",
"integrity": "sha512-+MZOBGqGwfld6hpo0DB47x8eNM0dNqk15ZdfOhj19CpvuYuOWCeVdOEGZunKDyo3QLkTn3kLOSysJzg7FDOQBA==",
"version": "1.8.27",
"resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-1.8.27.tgz",
"integrity": "sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==",
"dev": true,
"dependencies": {
"@volar/language-core": "~1.10.0",
"@volar/source-map": "~1.10.0",
"@volar/language-core": "~1.11.1",
"@volar/source-map": "~1.11.1",
"@vue/compiler-dom": "^3.3.0",
"@vue/reactivity": "^3.3.0",
"@vue/shared": "^3.3.0",
"minimatch": "^9.0.0",
"computeds": "^0.0.1",
"minimatch": "^9.0.3",
"muggle-string": "^0.3.1",
"path-browserify": "^1.0.1",
"vue-template-compiler": "^2.7.14"
},
"peerDependencies": {
......@@ -1841,9 +1906,9 @@
}
},
"node_modules/@vue/language-core/node_modules/minimatch": {
"version": "9.0.3",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz",
"integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==",
"version": "9.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.4.tgz",
"integrity": "sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==",
"dev": true,
"dependencies": {
"brace-expansion": "^2.0.1"
......@@ -1856,84 +1921,54 @@
}
},
"node_modules/@vue/reactivity": {
"version": "3.3.4",
"resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.3.4.tgz",
"integrity": "sha512-kLTDLwd0B1jG08NBF3R5rqULtv/f8x3rOFByTDz4J53ttIQEDmALqKqXY0J+XQeN0aV2FBxY8nJDf88yvOPAqQ==",
"version": "3.4.23",
"resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.4.23.tgz",
"integrity": "sha512-GlXR9PL+23fQ3IqnbSQ8OQKLodjqCyoCrmdLKZk3BP7jN6prWheAfU7a3mrltewTkoBm+N7qMEb372VHIkQRMQ==",
"dependencies": {
"@vue/shared": "3.3.4"
}
},
"node_modules/@vue/reactivity-transform": {
"version": "3.3.4",
"resolved": "https://registry.npmmirror.com/@vue/reactivity-transform/-/reactivity-transform-3.3.4.tgz",
"integrity": "sha512-MXgwjako4nu5WFLAjpBnCj/ieqcjE2aJBINUNQzkZQfzIZA4xn+0fV1tIYBJvvva3N3OvKGofRLvQIwEQPpaXw==",
"dependencies": {
"@babel/parser": "^7.20.15",
"@vue/compiler-core": "3.3.4",
"@vue/shared": "3.3.4",
"estree-walker": "^2.0.2",
"magic-string": "^0.30.0"
"@vue/shared": "3.4.23"
}
},
"node_modules/@vue/runtime-core": {
"version": "3.3.4",
"resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.3.4.tgz",
"integrity": "sha512-R+bqxMN6pWO7zGI4OMlmvePOdP2c93GsHFM/siJI7O2nxFRzj55pLwkpCedEY+bTMgp5miZ8CxfIZo3S+gFqvA==",
"version": "3.4.23",
"resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.4.23.tgz",
"integrity": "sha512-FeQ9MZEXoFzFkFiw9MQQ/FWs3srvrP+SjDKSeRIiQHIhtkzoj0X4rWQlRNHbGuSwLra6pMyjAttwixNMjc/xLw==",
"dependencies": {
"@vue/reactivity": "3.3.4",
"@vue/shared": "3.3.4"
"@vue/reactivity": "3.4.23",
"@vue/shared": "3.4.23"
}
},
"node_modules/@vue/runtime-dom": {
"version": "3.3.4",
"resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.3.4.tgz",
"integrity": "sha512-Aj5bTJ3u5sFsUckRghsNjVTtxZQ1OyMWCr5dZRAPijF/0Vy4xEoRCwLyHXcj4D0UFbJ4lbx3gPTgg06K/GnPnQ==",
"version": "3.4.23",
"resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.4.23.tgz",
"integrity": "sha512-RXJFwwykZWBkMiTPSLEWU3kgVLNAfActBfWFlZd0y79FTUxexogd0PLG4HH2LfOktjRxV47Nulygh0JFXe5f9A==",
"dependencies": {
"@vue/runtime-core": "3.3.4",
"@vue/shared": "3.3.4",
"csstype": "^3.1.1"
"@vue/runtime-core": "3.4.23",
"@vue/shared": "3.4.23",
"csstype": "^3.1.3"
}
},
"node_modules/@vue/server-renderer": {
"version": "3.3.4",
"resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.3.4.tgz",
"integrity": "sha512-Q6jDDzR23ViIb67v+vM1Dqntu+HUexQcsWKhhQa4ARVzxOY2HbC7QRW/ggkDBd5BU+uM1sV6XOAP0b216o34JQ==",
"version": "3.4.23",
"resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.4.23.tgz",
"integrity": "sha512-LDwGHtnIzvKFNS8dPJ1SSU5Gvm36p2ck8wCZc52fc3k/IfjKcwCyrWEf0Yag/2wTFUBXrqizfhK9c/mC367dXQ==",
"dependencies": {
"@vue/compiler-ssr": "3.3.4",
"@vue/shared": "3.3.4"
"@vue/compiler-ssr": "3.4.23",
"@vue/shared": "3.4.23"
},
"peerDependencies": {
"vue": "3.3.4"
"vue": "3.4.23"
}
},
"node_modules/@vue/shared": {
"version": "3.3.4",
"resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.3.4.tgz",
"integrity": "sha512-7OjdcV8vQ74eiz1TZLzZP4JwqM5fA94K6yntPS5Z25r9HDuGNzaGdgvwKYq6S+MxwF0TFRwe50fIR/MYnakdkQ=="
"version": "3.4.23",
"resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.4.23.tgz",
"integrity": "sha512-wBQ0gvf+SMwsCQOyusNw/GoXPV47WGd1xB5A1Pgzy0sQ3Bi5r5xm3n+92y3gCnB3MWqnRDdvfkRGxhKtbBRNgg=="
},
"node_modules/@vue/tsconfig": {
"version": "0.1.3",
"resolved": "https://registry.npmmirror.com/@vue/tsconfig/-/tsconfig-0.1.3.tgz",
"integrity": "sha512-kQVsh8yyWPvHpb8gIc9l/HIDiiVUy1amynLNpCy8p+FoCiZXCo6fQos5/097MmnNZc9AtseDsCrfkhqCrJ8Olg==",
"dev": true,
"peerDependencies": {
"@types/node": "*"
},
"peerDependenciesMeta": {
"@types/node": {
"optional": true
}
}
},
"node_modules/@vue/typescript": {
"version": "1.8.11",
"resolved": "https://registry.npmjs.org/@vue/typescript/-/typescript-1.8.11.tgz",
"integrity": "sha512-skUmMDiPUUtu1flPmf2YybF+PX8IzBtMioQOaNn6Ck/RhdrPJGj1AX/7s3Buf9G6ln+/KHR1XQuti/FFxw5XVA==",
"dev": true,
"dependencies": {
"@volar/typescript": "~1.10.0",
"@vue/language-core": "1.8.11"
}
"version": "0.5.1",
"resolved": "https://registry.npmjs.org/@vue/tsconfig/-/tsconfig-0.5.1.tgz",
"integrity": "sha512-VcZK7MvpjuTPx2w6blwnwZAu5/LgBUtejFOi3pPGQFXQN5Ela03FUtd2Qtg4yWGGissVL0dr6Ro1LfOFh+PCuQ==",
"dev": true
},
"node_modules/@vueuse/core": {
"version": "10.3.0",
......@@ -2175,6 +2210,19 @@
"node": ">=8"
}
},
"node_modules/ast-kit": {
"version": "0.12.1",
"resolved": "https://registry.npmjs.org/ast-kit/-/ast-kit-0.12.1.tgz",
"integrity": "sha512-O+33g7x6irsESUcd47KdfWUrS2F6aGp9KeVJFGj0YjIznfXpBxVGjA0w+y/1OKqX4mFOfmZ9Xpf1ixPT4n9xxw==",
"dev": true,
"dependencies": {
"@babel/parser": "^7.23.9",
"pathe": "^1.1.2"
},
"engines": {
"node": ">=16.14.0"
}
},
"node_modules/async-validator": {
"version": "4.2.5",
"resolved": "https://registry.npmmirror.com/async-validator/-/async-validator-4.2.5.tgz",
......@@ -2421,6 +2469,12 @@
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
"integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ=="
},
"node_modules/computeds": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/computeds/-/computeds-0.0.1.tgz",
"integrity": "sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==",
"dev": true
},
"node_modules/concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz",
......@@ -2504,9 +2558,9 @@
"integrity": "sha512-FAaLDaplstoRsDR8XGYH51znUN0UY7nMc6Z9/fvE8EXGwvJE9hu7W2vHwx1+bd6gCYnln9nLbzxFTrcO9YQDZw=="
},
"node_modules/csstype": {
"version": "3.1.2",
"resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.1.2.tgz",
"integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ=="
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
"integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="
},
"node_modules/d3-color": {
"version": "3.1.0",
......@@ -2774,12 +2828,12 @@
"peer": true
},
"node_modules/element-plus": {
"version": "2.3.14",
"resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.3.14.tgz",
"integrity": "sha512-9yvxUaU4jXf2ZNPdmIxoj/f8BG8CDcGM6oHa9JIqxLjQlfY4bpzR1E5CjNimnOX3rxO93w1TQ0jTVt0RSxh9kA==",
"version": "2.7.0",
"resolved": "https://registry.npmjs.org/element-plus/-/element-plus-2.7.0.tgz",
"integrity": "sha512-WAiaFLavuWFxof9qwkC27jvkh9nRcNnB506g1vvJSiVaVqjCBWUFCIyJKeN11M1qcv2cS5VV5PfSLjTIkrw87A==",
"dependencies": {
"@ctrl/tinycolor": "^3.4.1",
"@element-plus/icons-vue": "^2.0.6",
"@element-plus/icons-vue": "^2.3.1",
"@floating-ui/dom": "^1.0.1",
"@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7",
"@types/lodash": "^4.14.182",
......@@ -2920,6 +2974,17 @@
"node": ">=6.9.0"
}
},
"node_modules/entities": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz",
"integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==",
"engines": {
"node": ">=0.12"
},
"funding": {
"url": "https://github.com/fb55/entities?sponsor=1"
}
},
"node_modules/errno": {
"version": "0.1.8",
"resolved": "https://registry.npmmirror.com/errno/-/errno-0.1.8.tgz",
......@@ -4009,6 +4074,18 @@
"node": ">=12"
}
},
"node_modules/magic-string-ast": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/magic-string-ast/-/magic-string-ast-0.3.0.tgz",
"integrity": "sha512-0shqecEPgdFpnI3AP90epXyxZy9g6CRZ+SZ7BcqFwYmtFEnZ1jpevcV5HoyVnlDS9gCnc1UIg3Rsvp3Ci7r8OA==",
"dev": true,
"dependencies": {
"magic-string": "^0.30.2"
},
"engines": {
"node": ">=16.14.0"
}
},
"node_modules/magic-string/node_modules/@jridgewell/sourcemap-codec": {
"version": "1.4.15",
"resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
......@@ -4385,6 +4462,12 @@
"node": ">=6"
}
},
"node_modules/path-browserify": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz",
"integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==",
"dev": true
},
"node_modules/path-exists": {
"version": "4.0.0",
"resolved": "https://registry.npmmirror.com/path-exists/-/path-exists-4.0.0.tgz",
......@@ -4515,9 +4598,9 @@
"dev": true
},
"node_modules/postcss": {
"version": "8.4.28",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.28.tgz",
"integrity": "sha512-Z7V5j0cq8oEKyejIKfpD8b4eBy9cwW2JWPk0+fB1HOAMsfHbnAXLLS+PfVWlzMSLQaWttKDt607I0XHmpE67Vw==",
"version": "8.4.38",
"resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz",
"integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==",
"funding": [
{
"type": "opencollective",
......@@ -4533,9 +4616,9 @@
}
],
"dependencies": {
"nanoid": "^3.3.6",
"nanoid": "^3.3.7",
"picocolors": "^1.0.0",
"source-map-js": "^1.0.2"
"source-map-js": "^1.2.0"
},
"engines": {
"node": "^10 || ^12 || >=14"
......@@ -4566,9 +4649,15 @@
}
},
"node_modules/postcss/node_modules/nanoid": {
"version": "3.3.6",
"resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.6.tgz",
"integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==",
"version": "3.3.7",
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
"integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
"funding": [
{
"type": "github",
"url": "https://github.com/sponsors/ai"
}
],
"bin": {
"nanoid": "bin/nanoid.cjs"
},
......@@ -4855,9 +4944,9 @@
}
},
"node_modules/source-map-js": {
"version": "1.0.2",
"resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz",
"integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==",
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz",
"integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==",
"engines": {
"node": ">=0.10.0"
}
......@@ -5048,8 +5137,6 @@
"resolved": "https://registry.npmmirror.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
"integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
"dev": true,
"optional": true,
"peer": true,
"engines": {
"node": ">=4"
}
......@@ -5100,16 +5187,16 @@
}
},
"node_modules/typescript": {
"version": "4.9.5",
"resolved": "https://registry.npmmirror.com/typescript/-/typescript-4.9.5.tgz",
"integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==",
"version": "5.4.5",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz",
"integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==",
"devOptional": true,
"bin": {
"tsc": "bin/tsc",
"tsserver": "bin/tsserver"
},
"engines": {
"node": ">=4.2.0"
"node": ">=14.17"
}
},
"node_modules/ufo": {
......@@ -5428,9 +5515,9 @@
}
},
"node_modules/vite": {
"version": "4.5.2",
"resolved": "https://registry.npmjs.org/vite/-/vite-4.5.2.tgz",
"integrity": "sha512-tBCZBNSBbHQkaGyhGCDUGqeo2ph8Fstyp6FMSvTtsXeZSPpSMGlviAOav2hxVTqFcx8Hj/twtWKsMJXNY0xI8w==",
"version": "4.5.3",
"resolved": "https://registry.npmjs.org/vite/-/vite-4.5.3.tgz",
"integrity": "sha512-kQL23kMeX92v3ph7IauVkXkikdDRsYMGTVl5KY2E9OY4ONLvkHf04MDTbnfo6NKxZiDLWzVpP5oTa8hQD8U3dg==",
"dev": true,
"dependencies": {
"esbuild": "^0.18.10",
......@@ -5483,15 +5570,23 @@
}
},
"node_modules/vue": {
"version": "3.3.4",
"resolved": "https://registry.npmmirror.com/vue/-/vue-3.3.4.tgz",
"integrity": "sha512-VTyEYn3yvIeY1Py0WaYGZsXnz3y5UnGi62GjVEqvEGPl6nxbOrCXbVOTQWBEJUqAyTUk2uJ5JLVnYJ6ZzGbrSw==",
"version": "3.4.23",
"resolved": "https://registry.npmjs.org/vue/-/vue-3.4.23.tgz",
"integrity": "sha512-X1y6yyGJ28LMUBJ0k/qIeKHstGd+BlWQEOT40x3auJFTmpIhpbKLgN7EFsqalnJXq1Km5ybDEsp6BhuWKciUDg==",
"dependencies": {
"@vue/compiler-dom": "3.3.4",
"@vue/compiler-sfc": "3.3.4",
"@vue/runtime-dom": "3.3.4",
"@vue/server-renderer": "3.3.4",
"@vue/shared": "3.3.4"
"@vue/compiler-dom": "3.4.23",
"@vue/compiler-sfc": "3.4.23",
"@vue/runtime-dom": "3.4.23",
"@vue/server-renderer": "3.4.23",
"@vue/shared": "3.4.23"
},
"peerDependencies": {
"typescript": "*"
},
"peerDependenciesMeta": {
"typescript": {
"optional": true
}
}
},
"node_modules/vue-echarts": {
......@@ -5583,11 +5678,11 @@
}
},
"node_modules/vue-router": {
"version": "4.2.4",
"resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.2.4.tgz",
"integrity": "sha512-9PISkmaCO02OzPVOMq2w82ilty6+xJmQrarYZDkjZBfl4RvYAlt4PKnEX21oW4KTtWfa9OuO/b3qk1Od3AEdCQ==",
"version": "4.3.1",
"resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.3.1.tgz",
"integrity": "sha512-D0h3oyP6vp28BOvxv2hVpiqFTjTJizCf1BuMmCibc8UW0Ll/N80SWqDd/hqPMaZfzW1j+s2s+aTRyBIP9ElzOw==",
"dependencies": {
"@vue/devtools-api": "^6.5.0"
"@vue/devtools-api": "^6.5.1"
},
"funding": {
"url": "https://github.com/sponsors/posva"
......@@ -5597,9 +5692,9 @@
}
},
"node_modules/vue-template-compiler": {
"version": "2.7.14",
"resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.14.tgz",
"integrity": "sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==",
"version": "2.7.16",
"resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.16.tgz",
"integrity": "sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==",
"dev": true,
"dependencies": {
"de-indent": "^1.0.2",
......@@ -5607,14 +5702,14 @@
}
},
"node_modules/vue-tsc": {
"version": "1.8.11",
"resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-1.8.11.tgz",
"integrity": "sha512-BzfiMdPqDHBlysx4g26NkfVHSQwGD/lTRausmxN9sFyjXz34OWfsbkh0YsVkX84Hu65In1fFlxHiG39Tr4Vojg==",
"version": "1.8.27",
"resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-1.8.27.tgz",
"integrity": "sha512-WesKCAZCRAbmmhuGl3+VrdWItEvfoFIPXOvUJkjULi+x+6G/Dy69yO3TBRJDr9eUlmsNAwVmxsNZxvHKzbkKdg==",
"dev": true,
"dependencies": {
"@vue/language-core": "1.8.11",
"@vue/typescript": "1.8.11",
"semver": "^7.3.8"
"@volar/typescript": "~1.11.1",
"@vue/language-core": "1.8.27",
"semver": "^7.5.4"
},
"bin": {
"vue-tsc": "bin/vue-tsc.js"
......
......@@ -15,7 +15,7 @@
"cert": "node ./cert.js"
},
"dependencies": {
"@element-plus/icons-vue": "^2.1.0",
"@element-plus/icons-vue": "^2.3.1",
"@fortaine/fetch-event-source": "^3.0.6",
"@tinymce/tinymce-vue": "^5.0.1",
"@vue-flow/controls": "^1.0.4",
......@@ -26,30 +26,32 @@
"dayjs": "^1.11.10",
"echarts": "^5.4.3",
"echarts-wordcloud": "^2.1.0",
"element-plus": "^2.3.14",
"element-plus": "^2.7.0",
"lodash-es": "^4.17.21",
"nanoid": "^4.0.2",
"pinia": "^2.1.6",
"vue": "^3.3.4",
"vue": "^3.4.23",
"vue-echarts": "^6.6.1",
"vue-router": "^4.2.4",
"vue-router": "^4.3.1",
"xss": "^1.0.15"
},
"devDependencies": {
"@rushstack/eslint-patch": "^1.2.0",
"@tsconfig/node20": "^20.1.4",
"@types/blueimp-md5": "^2.18.0",
"@types/node": "^20.3.1",
"@vitejs/plugin-vue": "^4.6.2",
"@vue-macros/reactivity-transform": "^0.4.4",
"@vue/eslint-config-typescript": "^12.0.0",
"@vue/tsconfig": "^0.1.3",
"@vue/tsconfig": "^0.5.1",
"ali-oss": "^6.18.1",
"chalk": "^5.2.0",
"eslint": "^8.43.0",
"eslint-plugin-vue": "^9.17.0",
"sass": "^1.67.0",
"typescript": "~4.9.5",
"typescript": "~5.4.5",
"unplugin-auto-import": "^0.16.7",
"vite": "^4.5.2",
"vue-tsc": "^1.8.11"
"vite": "^4.5.3",
"vue-tsc": "^1.8.27"
}
}
......@@ -14,3 +14,15 @@
// 如果只是按需导入,则可以忽略以下内容。
// 如果你想导入所有样式:
@use 'element-plus/theme-chalk/src/index.scss' as *;
.el-form--inline {
.el-form-item {
.el-input,
.el-cascader,
.el-select,
.el-date-editor,
.el-autocomplete {
width: 200px;
}
}
}
......@@ -23,12 +23,8 @@ const remoteMethod = (q: string) => {
</script>
<template>
<el-select remote filterable value-key="id" :loading="loading" :remote-method="remoteMethod" style="width: 100%">
<el-option
v-for="item in userList"
:key="item.id"
:label="item.realname || item.nickname || item.username"
:value="item.id">
<el-select remote filterable value-key="id" :loading="loading" :remote-method="remoteMethod">
<el-option v-for="item in userList" :key="item.id" :label="item.realname || item.nickname || item.username" :value="item.id">
<span>{{ item.realname || item.nickname || item.username }}</span>
<template v-if="item.mobile">
<el-divider direction="vertical" />
......
......@@ -132,29 +132,14 @@ defineExpose({ refetch, tableRef })
</template>
<template v-else>
<!-- input -->
<el-input
v-model="params[item.prop]"
v-bind="item"
clearable
@change="search"
style="width: 200px"
v-if="item.type === 'input'"
/>
<el-input v-model="params[item.prop]" v-bind="item" clearable @change="search" v-if="item.type === 'input'" />
<!-- select -->
<el-select
v-model="params[item.prop]"
v-bind="item"
filterable
clearable
@change="search"
v-if="item.type === 'select'"
>
<el-select v-model="params[item.prop]" v-bind="item" filterable clearable @change="search" v-if="item.type === 'select'">
<el-option
v-for="(option, index) in item.options"
:label="option[item.labelKey] || option.label || option"
:value="option[item.valueKey] || option.value || option"
:key="index"
/>
:key="index" />
</el-select>
</template>
</el-form-item>
......@@ -172,13 +157,7 @@ defineExpose({ refetch, tableRef })
<!-- 主体 -->
<div class="table-list-bd">
<slot name="body" v-bind="{ data: dataList }">
<el-table
:header-cell-style="{ background: '#ededed' }"
:data="dataList"
v-loading="loading"
v-bind="$attrs"
ref="tableRef"
>
<el-table :header-cell-style="{ background: '#ededed' }" :data="dataList" v-loading="loading" v-bind="$attrs" ref="tableRef">
<el-table-column align="center" v-bind="item || {}" v-for="item in columns" :key="item.prop">
<template #default="scope" v-if="item.slots || item.computed">
<slot :name="item.slots" v-bind="scope" v-if="item.slots"></slot>
......@@ -204,8 +183,7 @@ defineExpose({ refetch, tableRef })
@size-change="pageSizeChange"
@current-change="fetchList()"
:hide-on-single-page="true"
v-if="hasPagination"
>
v-if="hasPagination">
</el-pagination>
</div>
</div>
......
......@@ -84,7 +84,7 @@ const typeName = computed(() => {
:title="props.data ? (props.data?.isView ? `查看${typeName}资料` : `编辑${typeName}资料`) : `新建${typeName}资料`"
:close-on-click-modal="false"
width="800px"
@update:modelValue="$emit('update:modelValue')">
@update:modelValue="value => $emit('update:modelValue', value)">
<el-form
:disabled="props.data?.isView"
ref="ruleFormRef"
......
......@@ -52,7 +52,7 @@ const handleInputConfirm = () => {
v-for="(rule, index) in rules"
size="large"
effect="light"
:type="index !== activeIndex ? 'info' : ''"
:type="index !== activeIndex ? 'info' : 'primary'"
:key="rule.level"
closable
:disable-transitions="false"
......
......@@ -35,7 +35,7 @@ async function handelSubmit() {
</script>
<template>
<el-dialog title="创建营销漏斗分析" width="600" @update:modelValue="$emit('update:modelValue')">
<el-dialog title="创建营销漏斗分析" width="600" @update:modelValue="value => $emit('update:modelValue', value)">
<el-button type="primary" @click="handleAdd">添加漏斗步数</el-button>
<div class="rule-item" v-for="(item, index) in rules" :key="index">
<el-button type="primary">{{ index + 1 }}</el-button>
......
......@@ -54,16 +54,11 @@ const refetch = function () {
class="data-form"
title="数据生成进度"
:close-on-click-modal="false"
@update:modelValue="$emit('update:modelValue')"
>
@update:modelValue="value => $emit('update:modelValue', value)">
<AppList v-bind="listOptions" ref="appList">
<template #table-x="{ row }">
<el-button type="primary" plain @click="refetch" v-permission="'v1-experiment-member-delete'"
>刷新</el-button
>
<el-button type="primary" plain @click="handleDelete(row)" v-permission="'v1-experiment-member-delete'"
>删除</el-button
>
<el-button type="primary" plain @click="refetch" v-permission="'v1-experiment-member-delete'">刷新</el-button>
<el-button type="primary" plain @click="handleDelete(row)" v-permission="'v1-experiment-member-delete'">删除</el-button>
</template></AppList
>
</el-dialog>
......
......@@ -116,18 +116,9 @@ const option = computed(() => {
class="data-form"
title="自动生成用户事件数据"
:close-on-click-modal="false"
@update:modelValue="$emit('update:modelValue')"
>
@update:modelValue="value => $emit('update:modelValue', value)">
<div class="button-flex">
<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 :model="ruleForm" label-suffix=":">
<el-form-item label="用户事件" :rules="rules" label-width="205">
<el-select @change="eventChange" v-model="ruleForm.event_id" placeholder="请选择">
......
......@@ -215,7 +215,7 @@ async function handleSave() {
:title="props.data?.id ? '编辑连接' : '新建连接'"
:close-on-click-modal="false"
width="1050px"
@update:modelValue="$emit('update:modelValue')">
@update:modelValue="value => $emit('update:modelValue', value)">
<el-tabs v-model="stepActive" class="demo-tabs">
<!-- 第一步 -->
<el-tab-pane disabled lazy label="选择连接类型" :name="1" v-if="!props.data?.id">
......
......@@ -99,8 +99,7 @@ const sendChat = function () {
title="关注"
:close-on-click-modal="false"
:style="`width: fit-content; ${step === 4 ? 'background-color: #f1f1f1;' : 'background-color: #fff;'}`"
@update:modelValue="$emit('update:modelValue')"
>
@update:modelValue="value => $emit('update:modelValue', value)">
<div class="step1" v-if="step === 1">
<div class="connect-item__icon">
<Icon w="60" h="60" :multiColor="true" class="svg" :name="props.data?.type || '1'"></Icon>
......@@ -111,19 +110,8 @@ const sendChat = function () {
</div>
</div>
<div class="step2" v-if="step === 2">
<el-form
ref="ruleFormRef"
style="width: 400px"
:model="ruleForm"
:rules="rules"
label-width="auto"
class="demo-ruleForm"
status-icon
center
>
<p style="color: #ccc; font-size: 12px; text-align: center; margin-bottom: 20px">
注:填写信息保存之后,关注成功
</p>
<el-form ref="ruleFormRef" style="width: 400px" :model="ruleForm" :rules="rules" label-width="auto" class="demo-ruleForm" status-icon center>
<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>
......
......@@ -23,7 +23,7 @@ function handleSubmit() {
<div class="surveyKing-tips" @click="modelValue = true">
<el-icon><Lock /></el-icon>
</div>
<el-dialog title="账号密码" width="500" v-model="modelValue" @update:modelValue="$emit('update:modelValue')">
<el-dialog title="账号密码" width="500" v-model="modelValue" @update:modelValue="value => $emit('update:modelValue', value)">
<el-form labelWidth="140" labelSuffix=":">
<el-form-item label="账号">{{ account }} <el-button text type="primary" @click="handleCopy(account)">复制</el-button></el-form-item>
<el-form-item label="密码">{{ password }} <el-button text type="primary" @click="handleCopy(password)">复制</el-button></el-form-item>
......
......@@ -36,7 +36,7 @@ async function handleSubmit() {
</script>
<template>
<el-dialog title="字段映射" width="500" @update:modelValue="$emit('update:modelValue')">
<el-dialog title="字段映射" width="500" @update:modelValue="value => $emit('update:modelValue', value)">
<el-form labelWidth="240" labelPosition="left">
<el-form-item v-for="item in form" :key="item.survey_field_id" :label="item.title">
<el-select v-model="item.field_id" style="width: 220px">
......
......@@ -84,18 +84,9 @@ const rules = [{ required: true }]
class="data-form"
title="自动生成用户数据"
:close-on-click-modal="false"
@update:modelValue="$emit('update:modelValue')"
>
@update:modelValue="value => $emit('update:modelValue', value)">
<div class="button-flex">
<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-radio-group v-model="ruleForm.size">
<el-radio :label="1000">1000</el-radio>
......@@ -142,7 +133,7 @@ const rules = [{ required: true }]
</el-radio-group>
</el-form-item>
<OtherFields :data="props.data?.other_fields || []"></OtherFields>
<el-form :model="ruleForm">
<el-form :model="ruleForm">
<el-form-item style="justify-content: center">
<div style="justify-content: center; display: flex; width: 100%">
<el-button @click="$emit('update:modelValue', false)">取消</el-button>
......
......@@ -56,7 +56,7 @@ function handleAdd() {
</script>
<template>
<el-dialog title="添加群组用户" width="800px" append-to-body @update:modelValue="$emit('update:modelValue')">
<el-dialog title="添加群组用户" width="800px" append-to-body @update:modelValue="value => $emit('update:modelValue', value)">
<el-form label-suffix=":" label-width="82px">
<el-row>
<el-col :span="8">
......@@ -85,9 +85,7 @@ function handleAdd() {
<template #footer>
<el-row justify="center">
<el-button plain auto-insert-space @click="$emit('update:modelValue', false)">关闭</el-button>
<el-button type="primary" plain auto-insert-space @click="handleAdd" :disabled="!multipleSelection.length"
>添加</el-button
>
<el-button type="primary" plain auto-insert-space @click="handleAdd" :disabled="!multipleSelection.length">添加</el-button>
</el-row>
</template>
</el-dialog>
......
......@@ -153,7 +153,7 @@ async function handleUpdate() {
</script>
<template>
<el-dialog :title="title" :close-on-click-modal="false" width="800px" @update:modelValue="$emit('update:modelValue')">
<el-dialog :title="title" :close-on-click-modal="false" width="800px" @update:modelValue="value => $emit('update:modelValue', value)">
<el-form ref="formRef" :model="form" :rules="rules" label-suffix=":" label-width="100px">
<el-form-item label="群组名称" prop="name">
<el-input v-model="form.name" placeholder="请输入" />
......
......@@ -99,7 +99,7 @@ function handleRefresh() {
</script>
<template>
<el-dialog title="查看群组信息" width="800px" @update:modelValue="$emit('update:modelValue')">
<el-dialog title="查看群组信息" width="800px" @update:modelValue="value => $emit('update:modelValue', value)">
<el-form label-suffix=":" label-width="82px">
<el-row>
<el-col :span="12">
......@@ -149,14 +149,7 @@ function handleRefresh() {
<dt>更新状态</dt>
<dd>
<span style="margin-right: 10px">{{ getNameByValue(detail.status.toString(), updateStatusList) }}</span>
<el-button
type="primary"
plain
@click="handleUpdate"
size="small"
:disabled="['2', '4'].includes(detail.status.toString())"
>立即更新</el-button
>
<el-button type="primary" plain @click="handleUpdate" size="small" :disabled="['2', '4'].includes(detail.status.toString())">立即更新</el-button>
</dd>
</dl>
</template>
......@@ -172,11 +165,7 @@ function handleRefresh() {
<el-button plain auto-insert-space @click="$emit('update:modelValue', false)">关闭</el-button>
</el-row>
</template>
<BindMembers
:data="data"
v-model="selectMembersVisible"
@update="handleRefresh"
v-if="selectMembersVisible"></BindMembers>
<BindMembers :data="data" v-model="selectMembersVisible" @update="handleRefresh" v-if="selectMembersVisible"></BindMembers>
</el-dialog>
</template>
......
......@@ -75,7 +75,7 @@ function handleUpdate() {
</script>
<template>
<el-dialog :title="title" :close-on-click-modal="false" width="600px" @update:modelValue="$emit('update:modelValue')">
<el-dialog :title="title" :close-on-click-modal="false" width="600px" @update:modelValue="value => $emit('update:modelValue', value)">
<el-form ref="formRef" :model="form" :rules="rules" label-suffix=":" label-width="100px">
<el-form-item label="标签名称" prop="name">
<el-input v-model="form.name" placeholder="请输入" />
......
......@@ -56,7 +56,7 @@ function handleUpdate() {
</script>
<template>
<el-dialog :title="title" :close-on-click-modal="false" width="600px" @update:modelValue="$emit('update:modelValue')">
<el-dialog :title="title" :close-on-click-modal="false" width="600px" @update:modelValue="value => $emit('update:modelValue', value)">
<el-form ref="formRef" :model="form" :rules="rules" label-suffix=":" label-width="100px">
<el-form-item label="目录名称" prop="name">
<el-input v-model="form.name" placeholder="请输入" />
......
......@@ -89,7 +89,7 @@ const changeFormatType = function (row: any) {
</script>
<template>
<el-dialog title="事件属性" :close-on-click-modal="false" width="800px" @update:modelValue="$emit('update:modelValue')">
<el-dialog title="事件属性" :close-on-click-modal="false" width="800px" @update:modelValue="value => $emit('update:modelValue', value)">
<div style="display: flex; justify-content: space-around">
<el-form label-width="120px">
<el-form-item label="事件英文名称:">{{ eventDetail?.english_name }}</el-form-item>
......
......@@ -64,7 +64,7 @@ function handleUpdate() {
</script>
<template>
<el-dialog :title="title" :close-on-click-modal="false" width="600px" @update:modelValue="$emit('update:modelValue')">
<el-dialog :title="title" :close-on-click-modal="false" width="600px" @update:modelValue="value => $emit('update:modelValue', value)">
<el-form ref="formRef" :model="form" :rules="rules" label-suffix=":" label-width="140px">
<el-form-item label="事件ID" prop="id" v-if="isUpdate">
<span>{{ props.data?.id }}</span>
......
......@@ -97,7 +97,7 @@ const changeFormatType = function () {
</script>
<template>
<el-dialog :title="title" :close-on-click-modal="false" width="600px" @update:modelValue="$emit('update:modelValue')">
<el-dialog :title="title" :close-on-click-modal="false" width="600px" @update:modelValue="value => $emit('update:modelValue', value)">
<el-form ref="formRef" :model="form" :rules="rules" label-suffix=":" label-width="122px">
<el-form-item label="属性ID" v-if="isUpdate">
{{ props.data?.id }}
......
......@@ -20,9 +20,7 @@ const { connectionList } = useConnection()
const multipleSelection = ref<string[]>([])
function toggleSelection(data: ConnectionType) {
multipleSelection.value.includes(data.id)
? multipleSelection.value.filter(id => id !== data.id)
: multipleSelection.value.push(data.id)
multipleSelection.value.includes(data.id) ? multipleSelection.value.filter(id => id !== data.id) : multipleSelection.value.push(data.id)
}
function isActive(data: ConnectionType) {
......@@ -40,14 +38,9 @@ function handleSave() {
</script>
<template>
<el-dialog title="配置连接" width="800px" append-to-body @update:modelValue="$emit('update:modelValue')">
<el-dialog title="配置连接" width="800px" append-to-body @update:modelValue="value => $emit('update:modelValue', value)">
<div class="connection-list">
<div
class="connection-item"
v-for="item in connectionList"
:key="item.id"
:class="{ 'is-active': isActive(item) }"
@click="toggleSelection(item)">
<div class="connection-item" v-for="item in connectionList" :key="item.id" :class="{ 'is-active': isActive(item) }" @click="toggleSelection(item)">
<el-checkbox @change="toggleSelection(item)" :model-value="isActive(item)" />
<div class="connection-item__icon"><ConnectionIcon :name="item.type + ''" /></div>
<p>{{ item.name }}</p>
......
......@@ -47,7 +47,7 @@ function handleSave() {
</script>
<template>
<el-dialog title="配置连接" width="800px" append-to-body @update:modelValue="$emit('update:modelValue')">
<el-dialog title="配置连接" width="800px" append-to-body @update:modelValue="value => $emit('update:modelValue', value)">
<div class="connection-list">
<div class="connection-item" v-for="item in connectionList" :key="item.id" :class="{ 'is-active': isActive(item) }" @click="toggleSelection(item)">
<el-checkbox @change="toggleSelection(item)" :model-value="isActive(item)" />
......
......@@ -61,7 +61,7 @@ function handleUpdate() {
</script>
<template>
<el-dialog :title="title" :close-on-click-modal="false" width="600px" @update:modelValue="$emit('update:modelValue')">
<el-dialog :title="title" :close-on-click-modal="false" width="600px" @update:modelValue="value => $emit('update:modelValue', value)">
<el-form ref="formRef" :model="form" :rules="rules" label-suffix=":" label-width="170px">
<el-form-item label="模板名称" prop="name">
<el-input v-model="form.name" placeholder="请输入" />
......@@ -72,21 +72,10 @@ function handleUpdate() {
</el-select>
</el-form-item>
<el-form-item label="旅程分值" prop="score">
<el-input-number
v-model="form.score"
step-strictly
:min="0"
:max="100"
placeholder="请输入不超过100的整数数值"
style="width: 100%"></el-input-number>
<el-input-number v-model="form.score" step-strictly :min="0" :max="100" placeholder="请输入不超过100的整数数值" style="width: 100%"></el-input-number>
</el-form-item>
<el-form-item label="是否允许学生查看解析" prop="is_view_answer">
<el-switch
v-model="form.is_view_answer"
active-text="允许"
active-value="1"
inactive-text="不允许"
inactive-value="0" />
<el-switch v-model="form.is_view_answer" active-text="允许" active-value="1" inactive-text="不允许" inactive-value="0" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-switch v-model="form.status" active-text="生效" active-value="1" inactive-text="失效" inactive-value="0" />
......
......@@ -105,7 +105,7 @@ const submitForm = (formEl: FormInstance | undefined) => {
:title="props.data ? (props.data?.isView ? '查看用户' : '编辑用户') : '新建用户'"
:close-on-click-modal="false"
width="800px"
@update:modelValue="$emit('update:modelValue')">
@update:modelValue="value => $emit('update:modelValue', value)">
<el-form
:disabled="props.data?.isView"
ref="ruleFormRef"
......@@ -135,7 +135,13 @@ const submitForm = (formEl: FormInstance | undefined) => {
</el-form-item>
<el-form-item :label="item.name" v-for="item in fieldsList" :key="item.id">
<template v-if="item.type === '4' || item.type === '5'">
<el-date-picker v-if="item.format === 'yyyy-mm-dd'" v-model="item.value" type="date" placeholder="请选择" style="width: 100%" value-format="YYYY-MM-DD" />
<el-date-picker
v-if="item.format === 'yyyy-mm-dd'"
v-model="item.value"
type="date"
placeholder="请选择"
style="width: 100%"
value-format="YYYY-MM-DD" />
<el-date-picker value-format="YYYY-MM-DD HH:mm:ss" v-else v-model="item.value" type="datetime" placeholder="请选择" style="width: 100%" />
</template>
<el-input v-else v-model="item.value" style="width: 100%" placeholder="请输入"></el-input>
......
......@@ -32,7 +32,8 @@ let eventList = $ref<EventProp[]>()
onMounted(() => {
getEventList().then(res => {
eventList = res.data.map(
(item: any) => item.attributes.map((cItem: any) => (props.data ? (cItem.value = JSON.parse(props.data.fields)[cItem.id]) : (cItem.value = '') && cItem)) && item
(item: any) =>
item.attributes.map((cItem: any) => (props.data ? (cItem.value = JSON.parse(props.data.fields)[cItem.id]) : (cItem.value = '') && cItem)) && item
)
})
})
......@@ -83,7 +84,11 @@ const submitForm = (formEl: FormInstance | undefined) => {
</script>
<template>
<el-dialog :title="!props.data ? '新建用户事件属性' : '修改用户事件属性'" :close-on-click-modal="false" width="500px" @update:modelValue="$emit('update:modelValue')">
<el-dialog
:title="!props.data ? '新建用户事件属性' : '修改用户事件属性'"
:close-on-click-modal="false"
width="500px"
@update:modelValue="value => $emit('update:modelValue', value)">
<div class="update-event_info">
<span>姓名:{{ props.info?.name }}</span>
<span>来源链接:{{ props.info?.connection_name }}</span>
......@@ -97,7 +102,13 @@ const submitForm = (formEl: FormInstance | undefined) => {
<!-- 属性字段 -->
<el-form-item :label="item.name" v-for="item in eventAttributes" :key="item.id">
<template v-if="item.type === '4' || item.type === '5'">
<el-date-picker v-if="item.format === 'yyyy-mm-dd'" v-model="item.value" type="date" placeholder="请选择" style="width: 100%" value-format="YYYY-MM-DD" />
<el-date-picker
v-if="item.format === 'yyyy-mm-dd'"
v-model="item.value"
type="date"
placeholder="请选择"
style="width: 100%"
value-format="YYYY-MM-DD" />
<el-date-picker value-format="YYYY-MM-DD HH:mm:ss" v-else v-model="item.value" type="datetime" placeholder="请选择" style="width: 100%" />
</template>
<el-input v-else v-model="item.value" style="width: 100%" placeholder="请输入"></el-input>
......
......@@ -61,7 +61,12 @@ const fileData = $ref<any>([])
</script>
<template>
<el-dialog class="connect-form" title="导入用户事件数据" :close-on-click-modal="false" width="500px" @update:modelValue="$emit('update:modelValue')">
<el-dialog
class="connect-form"
title="导入用户事件数据"
:close-on-click-modal="false"
width="500px"
@update:modelValue="value => $emit('update:modelValue', value)">
<el-form ref="formRef" :model="form" :rules="rules" label-suffix=":" label-width="122px">
<el-form-item label="请选择事件" prop="event_id">
<el-select v-model="form.event_id" style="width: 100%">
......
......@@ -55,7 +55,12 @@ const fileData = $ref<any>([])
</script>
<template>
<el-dialog class="connect-form" title="导入用户数据" :close-on-click-modal="false" width="500px" @update:modelValue="$emit('update:modelValue')">
<el-dialog
class="connect-form"
title="导入用户数据"
:close-on-click-modal="false"
width="500px"
@update:modelValue="value => $emit('update:modelValue', value)">
<el-form ref="formRef" :model="form" :rules="rules" label-suffix=":" label-width="142px">
<el-form-item label="请选择所属链接" prop="connection_id">
<el-select v-model="form.connection_id" style="width: 100%">
......
......@@ -47,7 +47,12 @@ const bytesToSize = (bytes: number) => {
}
</script>
<template>
<el-dialog class="connect-form" title="导入用户数据" :close-on-click-modal="false" width="700px" @update:modelValue="$emit('update:modelValue')">
<el-dialog
class="connect-form"
title="导入用户数据"
:close-on-click-modal="false"
width="700px"
@update:modelValue="value => $emit('update:modelValue', value)">
<AppList v-bind="listOptions" ref="appList"></AppList>
</el-dialog>
</template>
{
"extends": "@vue/tsconfig/tsconfig.node.json",
"extends": "@tsconfig/node20/tsconfig.json",
"include": ["vite.config.*", "vitest.config.*", "cypress.config.*", "playwright.config.*"],
"compilerOptions": {
"composite": true,
......
{
"extends": "@vue/tsconfig/tsconfig.web.json",
"extends": "@vue/tsconfig/tsconfig.json",
"include": ["auto-imports.d.ts", "env.d.ts", "src/**/*", "src/**/*.vue"],
"compilerOptions": {
"allowJs": true,
......@@ -7,7 +7,7 @@
"paths": {
"@/*": ["./src/*"]
},
"types": ["element-plus/global"]
"types": ["element-plus/global", "@vue-macros/reactivity-transform/macros-global"]
},
"references": [
......@@ -15,4 +15,4 @@
"path": "./tsconfig.config.json"
}
]
}
\ No newline at end of file
}
......@@ -6,16 +6,18 @@ import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
// import checker from 'vite-plugin-checker'
import AutoImport from 'unplugin-auto-import/vite'
import ReactivityTransform from '@vue-macros/reactivity-transform/vite'
export default defineConfig(({ mode }) => ({
base: mode === 'prod' ? 'https://webapp-pub.ezijing.com/website/prod/saas-dml/' : '/',
plugins: [
vue({ script: { defineModel: true }, reactivityTransform: true }),
vue(),
AutoImport({
imports: ['vue', 'vue/macros', 'vue-router', '@vueuse/core'],
imports: ['vue', 'vue-router', '@vueuse/core'],
dts: true,
eslintrc: { enabled: true }
})
}),
ReactivityTransform()
// checker({ vueTsc: true, eslint: { lintCommand: 'eslint "./src/**/*.{vue,js,jsx,ts,tsx}"' } })
],
server: {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论