最新提交
This commit is contained in:
148
cdTMP/package-lock.json
generated
148
cdTMP/package-lock.json
generated
@@ -26,7 +26,7 @@
|
||||
"postcss-import": "^16.1.0",
|
||||
"qs": "^6.13.0",
|
||||
"tinymce": "^7.3.0",
|
||||
"vue": "^3.5.6",
|
||||
"vue": "^3.5.8",
|
||||
"vue-clipboard3": "^2.0.0",
|
||||
"vue-color-kit": "^1.0.6",
|
||||
"vue-echarts": "^7.0.3",
|
||||
@@ -43,8 +43,8 @@
|
||||
"@vue/babel-plugin-jsx": "^1.2.5",
|
||||
"autoprefixer": "^10.4.20",
|
||||
"browserslist": "^4.23.0",
|
||||
"caniuse-lite": "^1.0.30001662",
|
||||
"eslint": "^9.10.0",
|
||||
"caniuse-lite": "^1.0.30001663",
|
||||
"eslint": "^9.11.0",
|
||||
"eslint-plugin-vue": "^9.28.0",
|
||||
"less": "^4.2.0",
|
||||
"less-loader": "^12.2.0",
|
||||
@@ -53,7 +53,7 @@
|
||||
"rollup-plugin-visualizer": "^5.12.0",
|
||||
"tailwindcss": "^3.4.12",
|
||||
"typescript": "^5.6.2",
|
||||
"vite": "^5.4.6"
|
||||
"vite": "^5.4.7"
|
||||
}
|
||||
},
|
||||
"node_modules/@alloc/quick-lru": {
|
||||
@@ -994,9 +994,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@eslint/js": {
|
||||
"version": "9.10.0",
|
||||
"resolved": "https://registry.npmmirror.com/@eslint/js/-/js-9.10.0.tgz",
|
||||
"integrity": "sha512-fuXtbiP5GWIn8Fz+LWoOMVf/Jxm+aajZYkhi6CuEm4SxymFM+eUWzbO9qXT+L0iCkL5+KGYMCSGxo686H19S1g==",
|
||||
"version": "9.11.0",
|
||||
"resolved": "https://registry.npmmirror.com/@eslint/js/-/js-9.11.0.tgz",
|
||||
"integrity": "sha512-LPkkenkDqyzTFauZLLAPhIb48fj6drrfMvRGSL9tS3AcZBSVTllemLSNyCvHNNL2t797S/6DJNSIwRwXgMO/eQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
@@ -1014,9 +1014,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@eslint/plugin-kit": {
|
||||
"version": "0.1.0",
|
||||
"resolved": "https://registry.npmmirror.com/@eslint/plugin-kit/-/plugin-kit-0.1.0.tgz",
|
||||
"integrity": "sha512-autAXT203ixhqei9xt+qkYOvY8l6LAFIdT2UXc/RPNeUVfqRF1BV94GTJyVPFKT8nFM6MyVJhjLj9E8JWvf5zQ==",
|
||||
"version": "0.2.0",
|
||||
"resolved": "https://registry.npmmirror.com/@eslint/plugin-kit/-/plugin-kit-0.2.0.tgz",
|
||||
"integrity": "sha512-vH9PiIMMwvhCx31Af3HiGzsVNULDbyVkHXwlemn/B0TFj/00ho3y55efXrUZTfQipxoHC5u4xq6zblww1zm1Ig==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
@@ -1626,39 +1626,39 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@vue/compiler-core": {
|
||||
"version": "3.5.6",
|
||||
"resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.5.6.tgz",
|
||||
"integrity": "sha512-r+gNu6K4lrvaQLQGmf+1gc41p3FO2OUJyWmNqaIITaJU6YFiV5PtQSFZt8jfztYyARwqhoCayjprC7KMvT3nRA==",
|
||||
"version": "3.5.8",
|
||||
"resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.5.8.tgz",
|
||||
"integrity": "sha512-Uzlxp91EPjfbpeO5KtC0KnXPkuTfGsNDeaKQJxQN718uz+RqDYarEf7UhQJGK+ZYloD2taUbHTI2J4WrUaZQNA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/parser": "^7.25.3",
|
||||
"@vue/shared": "3.5.6",
|
||||
"@vue/shared": "3.5.8",
|
||||
"entities": "^4.5.0",
|
||||
"estree-walker": "^2.0.2",
|
||||
"source-map-js": "^1.2.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@vue/compiler-dom": {
|
||||
"version": "3.5.6",
|
||||
"resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.5.6.tgz",
|
||||
"integrity": "sha512-xRXqxDrIqK8v8sSScpistyYH0qYqxakpsIvqMD2e5sV/PXQ1mTwtXp4k42yHK06KXxKSmitop9e45Ui/3BrTEw==",
|
||||
"version": "3.5.8",
|
||||
"resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.5.8.tgz",
|
||||
"integrity": "sha512-GUNHWvoDSbSa5ZSHT9SnV5WkStWfzJwwTd6NMGzilOE/HM5j+9EB9zGXdtu/fCNEmctBqMs6C9SvVPpVPuk1Eg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@vue/compiler-core": "3.5.6",
|
||||
"@vue/shared": "3.5.6"
|
||||
"@vue/compiler-core": "3.5.8",
|
||||
"@vue/shared": "3.5.8"
|
||||
}
|
||||
},
|
||||
"node_modules/@vue/compiler-sfc": {
|
||||
"version": "3.5.6",
|
||||
"resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.5.6.tgz",
|
||||
"integrity": "sha512-pjWJ8Kj9TDHlbF5LywjVso+BIxCY5wVOLhkEXRhuCHDxPFIeX1zaFefKs8RYoHvkSMqRWt93a0f2gNJVJixHwg==",
|
||||
"version": "3.5.8",
|
||||
"resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.5.8.tgz",
|
||||
"integrity": "sha512-taYpngQtSysrvO9GULaOSwcG5q821zCoIQBtQQSx7Uf7DxpR6CIHR90toPr9QfDD2mqHQPCSgoWBvJu0yV9zjg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@babel/parser": "^7.25.3",
|
||||
"@vue/compiler-core": "3.5.6",
|
||||
"@vue/compiler-dom": "3.5.6",
|
||||
"@vue/compiler-ssr": "3.5.6",
|
||||
"@vue/shared": "3.5.6",
|
||||
"@vue/compiler-core": "3.5.8",
|
||||
"@vue/compiler-dom": "3.5.8",
|
||||
"@vue/compiler-ssr": "3.5.8",
|
||||
"@vue/shared": "3.5.8",
|
||||
"estree-walker": "^2.0.2",
|
||||
"magic-string": "^0.30.11",
|
||||
"postcss": "^8.4.47",
|
||||
@@ -1666,13 +1666,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@vue/compiler-ssr": {
|
||||
"version": "3.5.6",
|
||||
"resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.5.6.tgz",
|
||||
"integrity": "sha512-VpWbaZrEOCqnmqjE83xdwegtr5qO/2OPUC6veWgvNqTJ3bYysz6vY3VqMuOijubuUYPRpG3OOKIh9TD0Stxb9A==",
|
||||
"version": "3.5.8",
|
||||
"resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.5.8.tgz",
|
||||
"integrity": "sha512-W96PtryNsNG9u0ZnN5Q5j27Z/feGrFV6zy9q5tzJVyJaLiwYxvC0ek4IXClZygyhjm+XKM7WD9pdKi/wIRVC/Q==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@vue/compiler-dom": "3.5.6",
|
||||
"@vue/shared": "3.5.6"
|
||||
"@vue/compiler-dom": "3.5.8",
|
||||
"@vue/shared": "3.5.8"
|
||||
}
|
||||
},
|
||||
"node_modules/@vue/devtools-api": {
|
||||
@@ -1682,53 +1682,53 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@vue/reactivity": {
|
||||
"version": "3.5.6",
|
||||
"resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.5.6.tgz",
|
||||
"integrity": "sha512-shZ+KtBoHna5GyUxWfoFVBCVd7k56m6lGhk5e+J9AKjheHF6yob5eukssHRI+rzvHBiU1sWs/1ZhNbLExc5oYQ==",
|
||||
"version": "3.5.8",
|
||||
"resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.5.8.tgz",
|
||||
"integrity": "sha512-mlgUyFHLCUZcAYkqvzYnlBRCh0t5ZQfLYit7nukn1GR96gc48Bp4B7OIcSfVSvlG1k3BPfD+p22gi1t2n9tsXg==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@vue/shared": "3.5.6"
|
||||
"@vue/shared": "3.5.8"
|
||||
}
|
||||
},
|
||||
"node_modules/@vue/runtime-core": {
|
||||
"version": "3.5.6",
|
||||
"resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.5.6.tgz",
|
||||
"integrity": "sha512-FpFULR6+c2lI+m1fIGONLDqPQO34jxV8g6A4wBOgne8eSRHP6PQL27+kWFIx5wNhhjkO7B4rgtsHAmWv7qKvbg==",
|
||||
"version": "3.5.8",
|
||||
"resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.5.8.tgz",
|
||||
"integrity": "sha512-fJuPelh64agZ8vKkZgp5iCkPaEqFJsYzxLk9vSC0X3G8ppknclNDr61gDc45yBGTaN5Xqc1qZWU3/NoaBMHcjQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@vue/reactivity": "3.5.6",
|
||||
"@vue/shared": "3.5.6"
|
||||
"@vue/reactivity": "3.5.8",
|
||||
"@vue/shared": "3.5.8"
|
||||
}
|
||||
},
|
||||
"node_modules/@vue/runtime-dom": {
|
||||
"version": "3.5.6",
|
||||
"resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.5.6.tgz",
|
||||
"integrity": "sha512-SDPseWre45G38ENH2zXRAHL1dw/rr5qp91lS4lt/nHvMr0MhsbCbihGAWLXNB/6VfFOJe2O+RBRkXU+CJF7/sw==",
|
||||
"version": "3.5.8",
|
||||
"resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.5.8.tgz",
|
||||
"integrity": "sha512-DpAUz+PKjTZPUOB6zJgkxVI3GuYc2iWZiNeeHQUw53kdrparSTG6HeXUrYDjaam8dVsCdvQxDz6ZWxnyjccUjQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@vue/reactivity": "3.5.6",
|
||||
"@vue/runtime-core": "3.5.6",
|
||||
"@vue/shared": "3.5.6",
|
||||
"@vue/reactivity": "3.5.8",
|
||||
"@vue/runtime-core": "3.5.8",
|
||||
"@vue/shared": "3.5.8",
|
||||
"csstype": "^3.1.3"
|
||||
}
|
||||
},
|
||||
"node_modules/@vue/server-renderer": {
|
||||
"version": "3.5.6",
|
||||
"resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.5.6.tgz",
|
||||
"integrity": "sha512-zivnxQnOnwEXVaT9CstJ64rZFXMS5ZkKxCjDQKiMSvUhXRzFLWZVbaBiNF4HGDqGNNsTgmjcCSmU6TB/0OOxLA==",
|
||||
"version": "3.5.8",
|
||||
"resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.5.8.tgz",
|
||||
"integrity": "sha512-7AmC9/mEeV9mmXNVyUIm1a1AjUhyeeGNbkLh39J00E7iPeGks8OGRB5blJiMmvqSh8SkaS7jkLWSpXtxUCeagA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@vue/compiler-ssr": "3.5.6",
|
||||
"@vue/shared": "3.5.6"
|
||||
"@vue/compiler-ssr": "3.5.8",
|
||||
"@vue/shared": "3.5.8"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"vue": "3.5.6"
|
||||
"vue": "3.5.8"
|
||||
}
|
||||
},
|
||||
"node_modules/@vue/shared": {
|
||||
"version": "3.5.6",
|
||||
"resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.5.6.tgz",
|
||||
"integrity": "sha512-eidH0HInnL39z6wAt6SFIwBrvGOpDWsDxlw3rCgo1B+CQ1781WzQUSU3YjxgdkcJo9Q8S6LmXTkvI+cLHGkQfA==",
|
||||
"version": "3.5.8",
|
||||
"resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.5.8.tgz",
|
||||
"integrity": "sha512-mJleSWbAGySd2RJdX1RBtcrUBX6snyOc0qHpgk3lGi4l9/P/3ny3ELqFWqYdkXIwwNN/kdm8nD9ky8o6l/Lx2A==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/@vueuse/core": {
|
||||
@@ -2327,9 +2327,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/caniuse-lite": {
|
||||
"version": "1.0.30001662",
|
||||
"resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001662.tgz",
|
||||
"integrity": "sha512-sgMUVwLmGseH8ZIrm1d51UbrhqMCH3jvS7gF/M6byuHOnKyLOBL7W8yz5V02OHwgLGA36o/AFhWzzh4uc5aqTA==",
|
||||
"version": "1.0.30001663",
|
||||
"resolved": "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001663.tgz",
|
||||
"integrity": "sha512-o9C3X27GLKbLeTYZ6HBOLU1tsAcBZsLis28wrVzddShCS16RujjHp9GDHKZqrB3meE0YjhawvMFsGb/igqiPzA==",
|
||||
"dev": true,
|
||||
"funding": [
|
||||
{
|
||||
@@ -2791,9 +2791,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/eslint": {
|
||||
"version": "9.10.0",
|
||||
"resolved": "https://registry.npmmirror.com/eslint/-/eslint-9.10.0.tgz",
|
||||
"integrity": "sha512-Y4D0IgtBZfOcOUAIQTSXBKoNGfY0REGqHJG6+Q81vNippW5YlKjHFj4soMxamKK1NXHUWuBZTLdU3Km+L/pcHw==",
|
||||
"version": "9.11.0",
|
||||
"resolved": "https://registry.npmmirror.com/eslint/-/eslint-9.11.0.tgz",
|
||||
"integrity": "sha512-yVS6XODx+tMFMDFcG4+Hlh+qG7RM6cCJXtQhCKLSsr3XkLvWggHjCqjfh0XsPPnt1c56oaT6PMgW9XWQQjdHXA==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -2801,8 +2801,8 @@
|
||||
"@eslint-community/regexpp": "^4.11.0",
|
||||
"@eslint/config-array": "^0.18.0",
|
||||
"@eslint/eslintrc": "^3.1.0",
|
||||
"@eslint/js": "9.10.0",
|
||||
"@eslint/plugin-kit": "^0.1.0",
|
||||
"@eslint/js": "9.11.0",
|
||||
"@eslint/plugin-kit": "^0.2.0",
|
||||
"@humanwhocodes/module-importer": "^1.0.1",
|
||||
"@humanwhocodes/retry": "^0.3.0",
|
||||
"@nodelib/fs.walk": "^1.2.8",
|
||||
@@ -5497,9 +5497,9 @@
|
||||
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
|
||||
},
|
||||
"node_modules/vite": {
|
||||
"version": "5.4.6",
|
||||
"resolved": "https://registry.npmmirror.com/vite/-/vite-5.4.6.tgz",
|
||||
"integrity": "sha512-IeL5f8OO5nylsgzd9tq4qD2QqI0k2CQLGrWD0rCN0EQJZpBK5vJAx0I+GDkMOXxQX/OfFHMuLIx6ddAxGX/k+Q==",
|
||||
"version": "5.4.7",
|
||||
"resolved": "https://registry.npmmirror.com/vite/-/vite-5.4.7.tgz",
|
||||
"integrity": "sha512-5l2zxqMEPVENgvzTuBpHer2awaetimj2BGkhBPdnwKbPNOlHsODU+oiazEZzLK7KhAnOrO+XGYJYn4ZlUhDtDQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -5557,16 +5557,16 @@
|
||||
}
|
||||
},
|
||||
"node_modules/vue": {
|
||||
"version": "3.5.6",
|
||||
"resolved": "https://registry.npmmirror.com/vue/-/vue-3.5.6.tgz",
|
||||
"integrity": "sha512-zv+20E2VIYbcJOzJPUWp03NOGFhMmpCKOfSxVTmCYyYFFko48H9tmuQFzYj7tu4qX1AeXlp9DmhIP89/sSxxhw==",
|
||||
"version": "3.5.8",
|
||||
"resolved": "https://registry.npmmirror.com/vue/-/vue-3.5.8.tgz",
|
||||
"integrity": "sha512-hvuvuCy51nP/1fSRvrrIqTLSvrSyz2Pq+KQ8S8SXCxTWVE0nMaOnSDnSOxV1eYmGfvK7mqiwvd1C59CEEz7dAQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@vue/compiler-dom": "3.5.6",
|
||||
"@vue/compiler-sfc": "3.5.6",
|
||||
"@vue/runtime-dom": "3.5.6",
|
||||
"@vue/server-renderer": "3.5.6",
|
||||
"@vue/shared": "3.5.6"
|
||||
"@vue/compiler-dom": "3.5.8",
|
||||
"@vue/compiler-sfc": "3.5.8",
|
||||
"@vue/runtime-dom": "3.5.8",
|
||||
"@vue/server-renderer": "3.5.8",
|
||||
"@vue/shared": "3.5.8"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"typescript": "*"
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
"postcss-import": "^16.1.0",
|
||||
"qs": "^6.13.0",
|
||||
"tinymce": "^7.3.0",
|
||||
"vue": "^3.5.6",
|
||||
"vue": "^3.5.8",
|
||||
"vue-clipboard3": "^2.0.0",
|
||||
"vue-color-kit": "^1.0.6",
|
||||
"vue-echarts": "^7.0.3",
|
||||
@@ -46,8 +46,8 @@
|
||||
"@vue/babel-plugin-jsx": "^1.2.5",
|
||||
"autoprefixer": "^10.4.20",
|
||||
"browserslist": "^4.23.0",
|
||||
"caniuse-lite": "^1.0.30001662",
|
||||
"eslint": "^9.10.0",
|
||||
"caniuse-lite": "^1.0.30001663",
|
||||
"eslint": "^9.11.0",
|
||||
"eslint-plugin-vue": "^9.28.0",
|
||||
"less": "^4.2.0",
|
||||
"less-loader": "^12.2.0",
|
||||
@@ -56,6 +56,6 @@
|
||||
"rollup-plugin-visualizer": "^5.12.0",
|
||||
"tailwindcss": "^3.4.12",
|
||||
"typescript": "^5.6.2",
|
||||
"vite": "^5.4.6"
|
||||
"vite": "^5.4.7"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,6 +12,17 @@ export class FragApi {
|
||||
params
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 根据用户填写新增文档片段
|
||||
* @returns 新增是否成功
|
||||
*/
|
||||
static add(data: IFragUpdateObject) {
|
||||
return request({
|
||||
url: "system/userField/add",
|
||||
method: "post",
|
||||
data
|
||||
})
|
||||
}
|
||||
/**
|
||||
* 根据fragment的对象更新数据库
|
||||
* @returns 是否更新成功
|
||||
|
||||
@@ -57,8 +57,8 @@ const props = defineProps({
|
||||
type: [String, Array],
|
||||
// 如果要取消粘贴只粘贴文本,需要用户加格式请加上pastetext
|
||||
default:
|
||||
"code undo redo restoredraft | paste | bold | alignleft alignjustify indent formatpainter | \
|
||||
styleselect formatselect fontselect fontsizeselect | bullist numlist | subscript superscript removeformat"
|
||||
"code undo redo restoredraft | paste | bold | aligncenter alignleft alignjustify indent | \
|
||||
styleselect formatselect fontselect fontsizeselect | bullist numlist | removeformat"
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
@@ -38,6 +38,7 @@
|
||||
>
|
||||
<template #extra>
|
||||
<a-space>
|
||||
<!-- 修改源码:新增复制该项新增 -->
|
||||
<a-tooltip content="复制该项添加" v-if="!(props.component.hideAdd ?? false)">
|
||||
<a-button
|
||||
@click.stop="addItem(item)"
|
||||
@@ -218,10 +219,12 @@ if (props.component.type == "table") {
|
||||
}
|
||||
|
||||
const addItem = async (data = {}) => {
|
||||
// 修改源码:深度复制
|
||||
let newData = cloneDeep(data)
|
||||
let index = formModel.value[props.component.dataIndex].length
|
||||
viewFormList.value[index] = cloneDeep(formList)
|
||||
rv("onAdd", { formList: viewFormList.value[index], data, index })
|
||||
formModel.value[props.component.dataIndex].push(data)
|
||||
rv("onAdd", { formList: viewFormList.value[index], newData, index }) // 修改源码:深度复制data->newData
|
||||
formModel.value[props.component.dataIndex].push(newData) // 修改源码:深度复制data->newData
|
||||
}
|
||||
|
||||
const deleteItem = async (index) => {
|
||||
|
||||
@@ -9,7 +9,6 @@
|
||||
|
||||
<script lang="jsx" setup>
|
||||
import { ref } from "vue"
|
||||
import { Message } from "@arco-design/web-vue"
|
||||
import abbreviationApi from "@/api/system/abbreviation"
|
||||
|
||||
const crudRef = ref()
|
||||
|
||||
111
cdTMP/src/views/testmanage/projFragment/hooks/crudOption.ts
Normal file
111
cdTMP/src/views/testmanage/projFragment/hooks/crudOption.ts
Normal file
@@ -0,0 +1,111 @@
|
||||
import { useRoute } from "vue-router"
|
||||
import { ref } from "vue"
|
||||
import { FragApi } from "@/api/system/fragment"
|
||||
import { ProductFileEnum } from "@/utils/enums/productTypes"
|
||||
import type { IDictData } from "@/utils/types/CommonType"
|
||||
import { IFragSearchCondition } from "@/api/system/types/fragmentTypes"
|
||||
|
||||
const useCrudOption = () => {
|
||||
// global
|
||||
const route = useRoute()
|
||||
const crudRef = ref()
|
||||
// 产品文档类型写死7种
|
||||
const productFileType: IDictData<ProductFileEnum>[] = Object.keys(ProductFileEnum).map((it, index) => ({
|
||||
label: ProductFileEnum[it],
|
||||
value: index + 1
|
||||
}))
|
||||
// crud-option
|
||||
const crudOptions = ref<object>({
|
||||
api: FragApi.getFragList,
|
||||
add: { show: true, api: FragApi.add },
|
||||
edit: { show: true, api: FragApi.update },
|
||||
delete: { show: true, api: FragApi.delete },
|
||||
// 新增需要项目id
|
||||
parameters: {
|
||||
projectId: route.params.projectId as string
|
||||
},
|
||||
beforeRequest: (params: IFragSearchCondition) => {
|
||||
// 添加项目id参数
|
||||
params.projectId = route.params.projectId as string
|
||||
},
|
||||
afterDelete(response: any) {
|
||||
crudRef.value.tableRef.selectAll(false)
|
||||
},
|
||||
showTools: false,
|
||||
operationColumn: true,
|
||||
operationColumnWidth: 180,
|
||||
operationColumnAlign: "center",
|
||||
bordered: { wrapper: true, cell: true },
|
||||
resizable: false, // 不允许调整列宽
|
||||
rowSelection: { showCheckedAll: true, checkStrictly: true },
|
||||
isDbClickEdit: false,
|
||||
searchColNumber: 2,
|
||||
formOption: {
|
||||
isFull: true,
|
||||
layout: [
|
||||
{
|
||||
formType: "grid",
|
||||
cols: [
|
||||
{ span: 12, formList: [{ dataIndex: "name" }] },
|
||||
{ span: 12, formList: [{ dataIndex: "belong_doc" }] }
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
})
|
||||
const crudColumns = ref<any[]>([
|
||||
{
|
||||
title: "ID",
|
||||
align: "center",
|
||||
width: 50,
|
||||
hide: true,
|
||||
dataIndex: "id",
|
||||
commonRules: [{ required: true, message: "ID必填" }],
|
||||
validateTrigger: "blur"
|
||||
},
|
||||
{
|
||||
title: "片段名称",
|
||||
align: "center",
|
||||
width: 180,
|
||||
dataIndex: "name",
|
||||
search: true,
|
||||
commonRules: [{ required: true, message: "片段名称必填" }],
|
||||
validateTrigger: "blur"
|
||||
},
|
||||
{
|
||||
title: "所属文档",
|
||||
align: "center",
|
||||
width: 100,
|
||||
dataIndex: "belong_doc",
|
||||
formType: "select",
|
||||
search: true,
|
||||
commonRules: [{ required: true, message: "所属文档必选" }],
|
||||
dict: { data: productFileType, translation: true }
|
||||
},
|
||||
{
|
||||
title: "替换片段",
|
||||
width: 100,
|
||||
align: "center",
|
||||
dataIndex: "is_main",
|
||||
addDisplay: false,
|
||||
editDisplay: false
|
||||
},
|
||||
{
|
||||
title: "内容",
|
||||
align: "center",
|
||||
dataIndex: "content",
|
||||
hide: true,
|
||||
formType: "editor",
|
||||
height: 550
|
||||
}
|
||||
])
|
||||
|
||||
return {
|
||||
crudRef,
|
||||
crudOptions,
|
||||
crudColumns,
|
||||
route
|
||||
}
|
||||
}
|
||||
|
||||
export default useCrudOption
|
||||
@@ -19,40 +19,32 @@
|
||||
</template>
|
||||
|
||||
<script setup lang="tsx">
|
||||
import { computed, ComputedRef, ref } from "vue"
|
||||
import { useRoute } from "vue-router"
|
||||
import { computed, ComputedRef } from "vue"
|
||||
import PageHeader from "@/views/testmanage/components/PageHeader/index.vue"
|
||||
import useFetchData from "@/hooks/fetchData"
|
||||
// apis
|
||||
// apis - import
|
||||
import { FragApi } from "@/api/system/fragment"
|
||||
import projectApi from "@/api/testmanage/project"
|
||||
// types
|
||||
import { ProductFileEnum } from "@/utils/enums/productTypes"
|
||||
import type { IDictData } from "@/utils/types/CommonType"
|
||||
// types - import
|
||||
import type { IPageHeaderProps } from "../components/PageHeader/types"
|
||||
import type { IFragSearchCondition } from "@/api/system/types/fragmentTypes"
|
||||
import { Message } from "@arco-design/web-vue"
|
||||
|
||||
const route = useRoute()
|
||||
const crudRef = ref()
|
||||
// 产品文档类型写死7种
|
||||
const productFileType: IDictData<ProductFileEnum>[] = Object.keys(ProductFileEnum).map((it, index) => ({
|
||||
label: ProductFileEnum[it],
|
||||
value: index + 1
|
||||
}))
|
||||
// hook-获取单个项目信息
|
||||
// hooks-import
|
||||
import useFetchData from "@/hooks/fetchData"
|
||||
import useCrudOption from "./hooks/crudOption"
|
||||
// 1.hook-crudOptions
|
||||
const { crudRef, crudOptions, crudColumns, route } = useCrudOption()
|
||||
// 2.hook-获取单个项目信息
|
||||
const fetchData = async () => {
|
||||
return projectApi.getProjectById(route.params.projectId)
|
||||
}
|
||||
const { loadingData, isDataLoading } = useFetchData({}, fetchData)
|
||||
// 给头部组件的计算属性
|
||||
// 3.给头部组件的计算属性
|
||||
const headerData: ComputedRef<IPageHeaderProps> = computed(() => {
|
||||
return {
|
||||
title: loadingData.value.ident as string,
|
||||
name: loadingData.value.name as string
|
||||
}
|
||||
})
|
||||
// 在表格切换is_main属性
|
||||
// 4.noQuery - 请求头部数据
|
||||
const beforeSwitchChange = (record: any) => {
|
||||
return async function (newVal: boolean) {
|
||||
await FragApi.update(record.id, {
|
||||
@@ -63,86 +55,6 @@ const beforeSwitchChange = (record: any) => {
|
||||
}
|
||||
}
|
||||
|
||||
// ma-crud配置
|
||||
const crudOptions = ref<object>({
|
||||
api: FragApi.getFragList,
|
||||
edit: { show: true, api: FragApi.update },
|
||||
delete: { show: true, api: FragApi.delete },
|
||||
beforeRequest: (params: IFragSearchCondition) => {
|
||||
// 添加项目id参数
|
||||
params.projectId = route.params.projectId as string
|
||||
},
|
||||
afterDelete(response: any) {
|
||||
crudRef.value.tableRef.selectAll(false)
|
||||
},
|
||||
showTools: false,
|
||||
operationColumn: true,
|
||||
operationColumnWidth: 120,
|
||||
operationColumnAlign: "center",
|
||||
bordered: { wrapper: true, cell: true },
|
||||
resizable: false, // 不允许调整列宽
|
||||
rowSelection: { showCheckedAll: true, checkStrictly: true },
|
||||
isDbClickEdit: false,
|
||||
searchColNumber: 2,
|
||||
formOption: {
|
||||
isFull: true,
|
||||
layout: [
|
||||
{
|
||||
formType: "grid",
|
||||
cols: [
|
||||
{ span: 12, formList: [{ dataIndex: "name" }] },
|
||||
{ span: 12, formList: [{ dataIndex: "belong_doc" }] }
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
})
|
||||
const crudColumns = ref<any[]>([
|
||||
{
|
||||
title: "ID",
|
||||
align: "center",
|
||||
width: 50,
|
||||
hide: true,
|
||||
dataIndex: "id",
|
||||
commonRules: [{ required: true, message: "ID必填" }],
|
||||
validateTrigger: "blur"
|
||||
},
|
||||
{
|
||||
title: "片段名称",
|
||||
align: "center",
|
||||
width: 120,
|
||||
dataIndex: "name",
|
||||
search: true,
|
||||
commonRules: [{ required: true, message: "片段名称必填" }],
|
||||
validateTrigger: "blur"
|
||||
},
|
||||
{
|
||||
title: "所属文档",
|
||||
align: "center",
|
||||
width: 100,
|
||||
dataIndex: "belong_doc",
|
||||
formType: "select",
|
||||
search: true,
|
||||
commonRules: [{ required: true, message: "所属文档必选" }],
|
||||
dict: { data: productFileType, translation: true }
|
||||
},
|
||||
{
|
||||
title: "替换片段",
|
||||
align: "center",
|
||||
dataIndex: "is_main",
|
||||
addDisplay: false,
|
||||
editDisplay: false
|
||||
},
|
||||
{
|
||||
title: "内容",
|
||||
align: "center",
|
||||
dataIndex: "content",
|
||||
hide: true,
|
||||
formType: "editor",
|
||||
height: 550
|
||||
}
|
||||
])
|
||||
|
||||
defineOptions({
|
||||
name: "projFragment"
|
||||
})
|
||||
|
||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user