提交代码

This commit is contained in:
cjb 2024-12-28 17:34:59 +08:00
parent 9c94ec1062
commit e3907fbd38
11 changed files with 615 additions and 38 deletions

View File

@ -22,6 +22,7 @@
"@vue-office/docx": "^1.6.0",
"@vue-office/excel": "^1.6.4",
"@vue-office/pdf": "^1.6.3",
"@vueup/vue-quill": "^1.2.0",
"@vueuse/components": "^10.9.0",
"@vueuse/core": "^10.6.1",
"@wangeditor/editor": "^5.1.23",

View File

@ -35,6 +35,9 @@ importers:
'@vue-office/pdf':
specifier: ^1.6.3
version: 1.6.5(vue-demi@0.14.10(vue@3.3.13(typescript@5.0.4)))(vue@3.3.13(typescript@5.0.4))
'@vueup/vue-quill':
specifier: ^1.2.0
version: 1.2.0(vue@3.3.13(typescript@5.0.4))
'@vueuse/components':
specifier: ^10.9.0
version: 10.11.1(vue@3.3.13(typescript@5.0.4))
@ -816,6 +819,11 @@ packages:
'@types/node':
optional: true
'@vueup/vue-quill@1.2.0':
resolution: {integrity: sha512-kd5QPSHMDpycklojPXno2Kw2JSiKMYduKYQckTm1RJoVDA557MnyUXgcuuDpry4HY/Rny9nGNcK+m3AHk94wag==, tarball: https://registry.npmmirror.com/@vueup/vue-quill/-/vue-quill-1.2.0.tgz}
peerDependencies:
vue: ^3.2.41
'@vueuse/components@10.11.1':
resolution: {integrity: sha512-ThcreQCX/eq61sLkLKjigD4PQvs3Wy4zglICvQH9tP6xl87y5KsQEoizn6OI+R3hrOgwQHLJe7Y0wLLh3fBKcg==}
@ -1086,8 +1094,16 @@ packages:
resolution: {integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==}
engines: {node: '>=0.10.0'}
call-bind-apply-helpers@1.0.1:
resolution: {integrity: sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==, tarball: https://registry.npmmirror.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz}
engines: {node: '>= 0.4'}
call-bind@1.0.7:
resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==}
resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==, tarball: https://registry.npmmirror.com/call-bind/-/call-bind-1.0.7.tgz}
engines: {node: '>= 0.4'}
call-bound@1.0.3:
resolution: {integrity: sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==, tarball: https://registry.npmmirror.com/call-bound/-/call-bound-1.0.3.tgz}
engines: {node: '>= 0.4'}
callsites@3.1.0:
@ -1131,7 +1147,7 @@ packages:
resolution: {integrity: sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==}
clone@2.1.2:
resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==}
resolution: {integrity: sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==, tarball: https://registry.npmmirror.com/clone/-/clone-2.1.2.tgz}
engines: {node: '>=0.8'}
clsx@2.1.1:
@ -1325,15 +1341,19 @@ packages:
resolution: {integrity: sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==}
engines: {node: '>=6'}
deep-equal@1.1.2:
resolution: {integrity: sha512-5tdhKF6DbU7iIzrIOa1AOUt39ZRm13cmL1cGEh//aqR8x9+tNfbywRf0n5FD/18OKMdo7DNEtrX2t22ZAkI+eg==, tarball: https://registry.npmmirror.com/deep-equal/-/deep-equal-1.1.2.tgz}
engines: {node: '>= 0.4'}
deep-is@0.1.4:
resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
define-data-property@1.1.4:
resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==}
resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==, tarball: https://registry.npmmirror.com/define-data-property/-/define-data-property-1.1.4.tgz}
engines: {node: '>= 0.4'}
define-properties@1.2.1:
resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==, tarball: https://registry.npmmirror.com/define-properties/-/define-properties-1.2.1.tgz}
engines: {node: '>= 0.4'}
define-property@0.2.5:
@ -1412,6 +1432,10 @@ packages:
domutils@2.8.0:
resolution: {integrity: sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==}
dunder-proto@1.0.1:
resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==, tarball: https://registry.npmmirror.com/dunder-proto/-/dunder-proto-1.0.1.tgz}
engines: {node: '>= 0.4'}
echarts@5.5.1:
resolution: {integrity: sha512-Fce8upazaAXUVUVsjgV6mBnGuqgO+JNDlcgF79Dksy4+wgGpQB2lmYoO4TSweFg/mZITdpGHomw/cNBJZj1icA==}
@ -1446,15 +1470,19 @@ packages:
engines: {node: '>= 0.4'}
es-define-property@1.0.0:
resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==}
resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==, tarball: https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.0.tgz}
engines: {node: '>= 0.4'}
es-define-property@1.0.1:
resolution: {integrity: sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==, tarball: https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.1.tgz}
engines: {node: '>= 0.4'}
es-errors@1.3.0:
resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==}
resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==, tarball: https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz}
engines: {node: '>= 0.4'}
es-object-atoms@1.0.0:
resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==}
resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==, tarball: https://registry.npmmirror.com/es-object-atoms/-/es-object-atoms-1.0.0.tgz}
engines: {node: '>= 0.4'}
es-set-tostringtag@2.0.3:
@ -1705,6 +1733,9 @@ packages:
event-emitter@0.3.5:
resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==}
eventemitter3@2.0.3:
resolution: {integrity: sha512-jLN68Dx5kyFHaePoXWPsCGW5qdyZQtLYHkxkg02/Mz6g0kYpDx4FyP6XfArhQdlOC4b8Mv+EMxPo/8La7Tzghg==, tarball: https://registry.npmmirror.com/eventemitter3/-/eventemitter3-2.0.3.tgz}
expand-brackets@2.1.4:
resolution: {integrity: sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==}
engines: {node: '>=0.10.0'}
@ -1720,6 +1751,9 @@ packages:
resolution: {integrity: sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==}
engines: {node: '>=0.10.0'}
extend@3.0.2:
resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==, tarball: https://registry.npmmirror.com/extend/-/extend-3.0.2.tgz}
extglob@2.0.4:
resolution: {integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==}
engines: {node: '>=0.10.0'}
@ -1727,8 +1761,14 @@ packages:
fast-deep-equal@3.1.3:
resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
fast-diff@1.1.2:
resolution: {integrity: sha512-KaJUt+M9t1qaIteSvjc6P3RbMdXsNhK61GRftR6SNxqmhthcd9MGIi4T+o0jD8LUSpSnSKXE20nLtJ3fOHxQig==, tarball: https://registry.npmmirror.com/fast-diff/-/fast-diff-1.1.2.tgz}
fast-diff@1.2.0:
resolution: {integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==, tarball: https://registry.npmmirror.com/fast-diff/-/fast-diff-1.2.0.tgz}
fast-diff@1.3.0:
resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==}
resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==, tarball: https://registry.npmmirror.com/fast-diff/-/fast-diff-1.3.0.tgz}
fast-glob@3.3.2:
resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==}
@ -1815,14 +1855,14 @@ packages:
os: [darwin]
function-bind@1.1.2:
resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==}
resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==, tarball: https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz}
function.prototype.name@1.1.6:
resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==}
engines: {node: '>= 0.4'}
functions-have-names@1.2.3:
resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==}
resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==, tarball: https://registry.npmmirror.com/functions-have-names/-/functions-have-names-1.2.3.tgz}
fuse.js@7.0.0:
resolution: {integrity: sha512-14F4hBIxqKvD4Zz/XjDc3y94mNZN6pRv3U13Udo0lNLCWRBUsrMv2xwcF/y/Z5sV6+FQW+/ow68cHpm4sunt8Q==}
@ -1832,7 +1872,11 @@ packages:
resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==}
get-intrinsic@1.2.4:
resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==}
resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==, tarball: https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz}
engines: {node: '>= 0.4'}
get-intrinsic@1.2.6:
resolution: {integrity: sha512-qxsEs+9A+u85HhllWJJFicJfPDhRmjzoYdl64aMWW9yRIJmSyxdn8IEkuIM530/7T+lv0TIHd8L6Q/ra0tEoeA==, tarball: https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.2.6.tgz}
engines: {node: '>= 0.4'}
get-symbol-description@1.0.2:
@ -1871,7 +1915,11 @@ packages:
resolution: {integrity: sha512-ercd9ionBqxR+/FCXICr0eo+jzC8BvSK0j9L7/eB0uwbyjgeMPTdBNrcQTqIuRXOtOAKSGsTNvtLYFnIxNEoFg==}
gopd@1.0.1:
resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==}
resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==, tarball: https://registry.npmmirror.com/gopd/-/gopd-1.0.1.tgz}
gopd@1.2.0:
resolution: {integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==, tarball: https://registry.npmmirror.com/gopd/-/gopd-1.2.0.tgz}
engines: {node: '>= 0.4'}
graceful-fs@4.2.11:
resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==, tarball: https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz}
@ -1899,18 +1947,22 @@ packages:
engines: {node: '>=8'}
has-property-descriptors@1.0.2:
resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==}
resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==, tarball: https://registry.npmmirror.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz}
has-proto@1.0.3:
resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==}
resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==, tarball: https://registry.npmmirror.com/has-proto/-/has-proto-1.0.3.tgz}
engines: {node: '>= 0.4'}
has-symbols@1.0.3:
resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==}
resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==, tarball: https://registry.npmmirror.com/has-symbols/-/has-symbols-1.0.3.tgz}
engines: {node: '>= 0.4'}
has-symbols@1.1.0:
resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==, tarball: https://registry.npmmirror.com/has-symbols/-/has-symbols-1.1.0.tgz}
engines: {node: '>= 0.4'}
has-tostringtag@1.0.2:
resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==}
resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==, tarball: https://registry.npmmirror.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz}
engines: {node: '>= 0.4'}
has-value@0.3.1:
@ -1930,7 +1982,7 @@ packages:
engines: {node: '>=0.10.0'}
hasown@2.0.2:
resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==}
resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==, tarball: https://registry.npmmirror.com/hasown/-/hasown-2.0.2.tgz}
engines: {node: '>= 0.4'}
he@1.2.0:
@ -2012,6 +2064,10 @@ packages:
resolution: {integrity: sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==}
engines: {node: '>= 0.10'}
is-arguments@1.2.0:
resolution: {integrity: sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==, tarball: https://registry.npmmirror.com/is-arguments/-/is-arguments-1.2.0.tgz}
engines: {node: '>= 0.4'}
is-array-buffer@3.0.4:
resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==}
engines: {node: '>= 0.4'}
@ -2046,7 +2102,7 @@ packages:
engines: {node: '>= 0.4'}
is-date-object@1.0.5:
resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==}
resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==, tarball: https://registry.npmmirror.com/is-date-object/-/is-date-object-1.0.5.tgz}
engines: {node: '>= 0.4'}
is-descriptor@0.1.7:
@ -2112,7 +2168,7 @@ packages:
resolution: {integrity: sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==}
is-regex@1.1.4:
resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==}
resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==, tarball: https://registry.npmmirror.com/is-regex/-/is-regex-1.1.4.tgz}
engines: {node: '>= 0.4'}
is-shared-array-buffer@1.0.3:
@ -2270,7 +2326,7 @@ packages:
resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==}
lodash.clonedeep@4.5.0:
resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==}
resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==, tarball: https://registry.npmmirror.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz}
lodash.debounce@4.0.8:
resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==}
@ -2279,7 +2335,7 @@ packages:
resolution: {integrity: sha512-aEXTF4d+m05rVOAUG3z4vZZ4xVexLKZGF0lIxuHZ1Hplpk/3B6Z1+/ICICYRLm7c41Z2xiejbkCkJoTlypoXhQ==}
lodash.isequal@4.5.0:
resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==}
resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==, tarball: https://registry.npmmirror.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz}
lodash.merge@4.6.2:
resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==}
@ -2315,6 +2371,10 @@ packages:
resolution: {integrity: sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==}
engines: {node: '>=0.10.0'}
math-intrinsics@1.1.0:
resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==, tarball: https://registry.npmmirror.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz}
engines: {node: '>= 0.4'}
mdn-data@2.0.14:
resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==}
@ -2449,8 +2509,12 @@ packages:
resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==}
engines: {node: '>= 0.4'}
object-is@1.1.6:
resolution: {integrity: sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==, tarball: https://registry.npmmirror.com/object-is/-/object-is-1.1.6.tgz}
engines: {node: '>= 0.4'}
object-keys@1.1.1:
resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==, tarball: https://registry.npmmirror.com/object-keys/-/object-keys-1.1.1.tgz}
engines: {node: '>= 0.4'}
object-refs@0.4.0:
@ -2483,6 +2547,9 @@ packages:
resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==}
engines: {node: '>=10'}
parchment@1.1.4:
resolution: {integrity: sha512-J5FBQt/pM2inLzg4hEWmzQx/8h8D0CiDxaG3vyp9rKrQRSDgBlhjdP5jQGgosEajXPSQouXGHOmVdgo7QmJuOg==, tarball: https://registry.npmmirror.com/parchment/-/parchment-1.1.4.tgz}
parent-module@1.0.1:
resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==}
engines: {node: '>=6'}
@ -2663,6 +2730,16 @@ packages:
queue-microtask@1.2.3:
resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==}
quill-delta@3.6.3:
resolution: {integrity: sha512-wdIGBlcX13tCHOXGMVnnTVFtGRLoP0imqxM696fIPwIf5ODIYUHIvHbZcyvGlZFiFhK5XzDC2lpjbxRhnM05Tg==, tarball: https://registry.npmmirror.com/quill-delta/-/quill-delta-3.6.3.tgz}
engines: {node: '>=0.10'}
quill-delta@4.2.2:
resolution: {integrity: sha512-qjbn82b/yJzOjstBgkhtBjN2TNK+ZHP/BgUQO+j6bRhWQQdmj2lH6hXG7+nwwLF41Xgn//7/83lxs9n2BkTtTg==, tarball: https://registry.npmmirror.com/quill-delta/-/quill-delta-4.2.2.tgz}
quill@1.3.7:
resolution: {integrity: sha512-hG/DVzh/TiknWtE6QmWAF/pxoZKYxfe3J/d/+ShUWkDvvkZQVTPeVmUJVu1uE6DDooC4fWTiCLh84ul89oNz5g==, tarball: https://registry.npmmirror.com/quill/-/quill-1.3.7.tgz}
read-pkg@3.0.0:
resolution: {integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==}
engines: {node: '>=4'}
@ -2679,7 +2756,7 @@ packages:
engines: {node: '>=0.10.0'}
regexp.prototype.flags@1.5.2:
resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==}
resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==, tarball: https://registry.npmmirror.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz}
engines: {node: '>= 0.4'}
repeat-element@1.1.4:
@ -2775,11 +2852,11 @@ packages:
hasBin: true
set-function-length@1.2.2:
resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==}
resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==, tarball: https://registry.npmmirror.com/set-function-length/-/set-function-length-1.2.2.tgz}
engines: {node: '>= 0.4'}
set-function-name@2.0.2:
resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==}
resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==, tarball: https://registry.npmmirror.com/set-function-name/-/set-function-name-2.0.2.tgz}
engines: {node: '>= 0.4'}
set-value@2.0.1:
@ -4027,6 +4104,12 @@ snapshots:
optionalDependencies:
'@types/node': 16.18.108
'@vueup/vue-quill@1.2.0(vue@3.3.13(typescript@5.0.4))':
dependencies:
quill: 1.3.7
quill-delta: 4.2.2
vue: 3.3.13(typescript@5.0.4)
'@vueuse/components@10.11.1(vue@3.3.13(typescript@5.0.4))':
dependencies:
'@vueuse/core': 10.11.1(vue@3.3.13(typescript@5.0.4))
@ -4374,6 +4457,11 @@ snapshots:
union-value: 1.0.1
unset-value: 1.0.0
call-bind-apply-helpers@1.0.1:
dependencies:
es-errors: 1.3.0
function-bind: 1.1.2
call-bind@1.0.7:
dependencies:
es-define-property: 1.0.0
@ -4382,6 +4470,11 @@ snapshots:
get-intrinsic: 1.2.4
set-function-length: 1.2.2
call-bound@1.0.3:
dependencies:
call-bind-apply-helpers: 1.0.1
get-intrinsic: 1.2.6
callsites@3.1.0: {}
camunda-bpmn-js-behaviors@1.6.1(bpmn-js@17.11.1)(camunda-bpmn-moddle@7.0.1)(zeebe-bpmn-moddle@1.6.0):
@ -4616,6 +4709,15 @@ snapshots:
dependencies:
type-detect: 4.1.0
deep-equal@1.1.2:
dependencies:
is-arguments: 1.2.0
is-date-object: 1.0.5
is-regex: 1.1.4
object-is: 1.1.6
object-keys: 1.1.1
regexp.prototype.flags: 1.5.2
deep-is@0.1.4: {}
define-data-property@1.1.4:
@ -4719,6 +4821,12 @@ snapshots:
domelementtype: 2.3.0
domhandler: 4.3.1
dunder-proto@1.0.1:
dependencies:
call-bind-apply-helpers: 1.0.1
es-errors: 1.3.0
gopd: 1.2.0
echarts@5.5.1:
dependencies:
tslib: 2.3.0
@ -4815,6 +4923,8 @@ snapshots:
dependencies:
get-intrinsic: 1.2.4
es-define-property@1.0.1: {}
es-errors@1.3.0: {}
es-object-atoms@1.0.0:
@ -5094,6 +5204,8 @@ snapshots:
d: 1.0.2
es5-ext: 0.10.64
eventemitter3@2.0.3: {}
expand-brackets@2.1.4:
dependencies:
debug: 2.6.9
@ -5119,6 +5231,8 @@ snapshots:
assign-symbols: 1.0.0
is-extendable: 1.0.1
extend@3.0.2: {}
extglob@2.0.4:
dependencies:
array-unique: 0.3.2
@ -5134,6 +5248,10 @@ snapshots:
fast-deep-equal@3.1.3: {}
fast-diff@1.1.2: {}
fast-diff@1.2.0: {}
fast-diff@1.3.0: {}
fast-glob@3.3.2:
@ -5262,6 +5380,19 @@ snapshots:
has-symbols: 1.0.3
hasown: 2.0.2
get-intrinsic@1.2.6:
dependencies:
call-bind-apply-helpers: 1.0.1
dunder-proto: 1.0.1
es-define-property: 1.0.1
es-errors: 1.3.0
es-object-atoms: 1.0.0
function-bind: 1.1.2
gopd: 1.2.0
has-symbols: 1.1.0
hasown: 2.0.2
math-intrinsics: 1.1.0
get-symbol-description@1.0.2:
dependencies:
call-bind: 1.0.7
@ -5315,6 +5446,8 @@ snapshots:
dependencies:
get-intrinsic: 1.2.4
gopd@1.2.0: {}
graceful-fs@4.2.11: {}
graphemer@1.4.0: {}
@ -5339,6 +5472,8 @@ snapshots:
has-symbols@1.0.3: {}
has-symbols@1.1.0: {}
has-tostringtag@1.0.2:
dependencies:
has-symbols: 1.0.3
@ -5446,6 +5581,11 @@ snapshots:
dependencies:
hasown: 2.0.2
is-arguments@1.2.0:
dependencies:
call-bound: 1.0.3
has-tostringtag: 1.0.2
is-array-buffer@3.0.4:
dependencies:
call-bind: 1.0.7
@ -5752,6 +5892,8 @@ snapshots:
dependencies:
object-visit: 1.0.1
math-intrinsics@1.1.0: {}
mdn-data@2.0.14: {}
memoize-one@6.0.0: {}
@ -5911,6 +6053,11 @@ snapshots:
object-inspect@1.13.2: {}
object-is@1.1.6:
dependencies:
call-bind: 1.0.7
define-properties: 1.2.1
object-keys@1.1.1: {}
object-refs@0.4.0: {}
@ -5951,6 +6098,8 @@ snapshots:
dependencies:
p-limit: 3.1.0
parchment@1.1.4: {}
parent-module@1.0.1:
dependencies:
callsites: 3.1.0
@ -6094,6 +6243,27 @@ snapshots:
queue-microtask@1.2.3: {}
quill-delta@3.6.3:
dependencies:
deep-equal: 1.1.2
extend: 3.0.2
fast-diff: 1.1.2
quill-delta@4.2.2:
dependencies:
fast-diff: 1.2.0
lodash.clonedeep: 4.5.0
lodash.isequal: 4.5.0
quill@1.3.7:
dependencies:
clone: 2.1.2
deep-equal: 1.1.2
eventemitter3: 2.0.3
extend: 3.0.2
parchment: 1.1.4
quill-delta: 3.6.3
read-pkg@3.0.0:
dependencies:
load-json-file: 4.0.0

View File

@ -1,7 +1,7 @@
<script setup lang="ts" name="App">
import { ref,watch } from 'vue'
import { RouterView } from 'vue-router'
import { getToken } from '@/utils/auth'
import { getToken,removeToken } from '@/utils/auth'
import { checktoken } from '@/api/login'
import appStore from "@/stores/app";
import { ElMessage } from 'element-plus'
@ -25,10 +25,9 @@ import Login from './views/components/login.vue'
setInterval(() => {
if(getToken() && !openpop.value){
checktoken({
token:getToken() as string
}).then(rps => {
checktoken().then(rps => {
if(rps.code != 1000){
removeToken()
ElMessage({
type: 'warning',
message: '登录失效请重新登录'

View File

@ -87,10 +87,9 @@ export function checkcaptcha(data: Code) {
}
//检查token 是否失效
export function checktoken(data: {token:string}) {
export function checktoken() {
return server.requestT({
url: "/oauth2/login/checktoken",
method: "post",
data: data
method: "post"
});
}

View File

@ -0,0 +1,55 @@
import server from '@/utils/request'
//新增
interface Addobj{
type:String|Number //类型1-服务条款2-隐私协议
title:String //标题
content:String //协议内容
version:String //版本
appid:String
status?:String //状态1-可用0-不可用
}
export function adddicttype(data:Addobj) {
return server.request({
url: '/resource/wechat/agreement/add',
method: 'post',
data
},false)
}
//修改
export function update(data:Addobj) {
return server.request({
url: '/resource/wechat/agreement/update',
method: 'post',
data
},false)
}
//查询
interface Querydata{
type?:String|Number //类型1-服务条款2-隐私协议
appid?:String
status?:String //状态1-可用0-不可用
}
export function getdicttype(params:Querydata) {
return server.request({
url: '/resource/wechat/agreement/list',
method: 'get',
params
})
}
//删除
export function deltype(id:string) {
return server.request({
url: '/resource/wechat/agreement/del',
method: 'post',
data:{
id
}
})
}

View File

@ -155,7 +155,7 @@ export class Service {
}
//return Promise.reject("登录已过期,请重新登录。");
return Promise.reject('S0405')
return Promise.reject()
//return Promise.reject()
} else if (code == 500) {
ElMessage({ message: msg, type: "error" });
return Promise.reject(new Error(msg));

View File

@ -1,5 +1,11 @@
<template>
<div ref="homePage" class="page">
<!-- <el-button
type="primary"
plain
icon="Plus"
@click="testsx()">测试失效</el-button> -->
<el-row :gutter="20" class="mgb20">
<el-col v-for="(item, index) in messageList" :key="index" :span="messageList.length -1 == index?4:5">
<div style="width: 100%;border-radius: 12px;box-shadow: 0 0 20px -5px rgba(84, 151, 232, 0.5);">
@ -92,6 +98,21 @@ import { onBeforeUnmount } from "vue";
import { watch } from "vue";
import { useElementSize } from "@vueuse/core";
// import { getToken,removeToken } from '@/utils/auth'
// import { checktoken } from '@/api/login'
//
// function testsx() {
// checktoken({
// token:getToken() as string
// }).then(rps => {
// if(rps.code != 1000){
// }
// })
// }
const messageList = ref([
{
type: "mytask",

View File

@ -114,7 +114,7 @@
<el-form-item label="开始日期" prop="dayBegin">
<el-date-picker
v-model="addata.dayBegin"
value-format="YYYY-MM-DD"
value-format="YYYYMMDD"
style="width: 100%;"
type="date"
placeholder="请选择日期"
@ -125,7 +125,7 @@
<el-form-item label="结束日期" prop="dayEnd">
<el-date-picker
v-model="addata.dayEnd"
value-format="YYYY-MM-DD"
value-format="YYYYMMDD"
style="width: 100%;"
type="date"
placeholder="请选择日期"

View File

@ -0,0 +1,330 @@
<template>
<div>
<div class="app-container" style="margin-bottom: 12px;padding-bottom: 5px;border-radius: 10px;">
<el-form ref="queryRef" :model="queryParams" :inline="true">
<!-- <el-form-item label="类型编码">
<el-input v-model="queryParams.typeName" placeholder="请输入类型编码" clearable style="width: 200px" />
</el-form-item> -->
<el-form-item label="协议类型">
<el-select v-model="queryParams.status" placeholder="请选择协议类型" clearable style="width: 200px">
<el-option :key="1" label="服务条款" :value="1" />
<el-option :key="2" label="隐私协议" :value="2" />
</el-select>
</el-form-item>
<el-form-item label="状态">
<el-select v-model="queryParams.status" placeholder="请选择状态" clearable style="width: 200px">
<el-option :key="1" label="可用" :value="1" />
<el-option :key="2" label="不可用" :value="0" />
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" plain icon="Search" @click="search">搜索</el-button>
<el-button icon="Refresh" plain @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
</div>
<div class="app-container" style="margin-bottom: 20px;border-radius: 10px;">
<el-button
type="primary"
plain
icon="Plus"
@click="showpop(1)"
>新增</el-button>
<el-table
:data="dictlist"
style="width: 100%;margin-top: 10px;"
border
stripe
highlight-current-row
row-key="id"
max-height="600px"
>
<el-table-column min-width="150" label="协议类型" align="center" prop="type">
<template #default="scope">
<div>{{ scope.row.type == 1?'服务条款':'隐私协议'}}</div>
</template>
</el-table-column>
<el-table-column min-width="200" label="标题" align="center" prop="title" />
<el-table-column min-width="150" label="版本" align="center" prop="version" />
<el-table-column min-width="150" label="状态" align="center" prop="type">
<template #default="scope">
<div>{{ scope.row.status == 1?'可用':'不可用'}}</div>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="180" class-name="small-padding fixed-width">
<template #default="scope">
<el-button link type="primary" icon="Edit" @click="showpop(2,scope.row)">修改</el-button>
<el-button link type="danger" icon="Delete" @click="handleDelete(scope.row)">删除</el-button>
</template>
</el-table-column>
<!-- <el-table-column label="创建时间" align="center" width="160" prop="createTime">
<template #default="scope">
<span>{{ dayjs(scope.row.createTime).format("YYYY-MM-DD HH:mm:ss") }}</span>
</template>
</el-table-column> -->
</el-table>
<!-- <div v-if="total > 10" style="display: flex;justify-content: right;padding-top: 20px;">
<el-pagination
v-model:current-page="queryParams.pageNo"
v-model:page-size="queryParams.pageSize"
:page-sizes="[10, 20, 30, 40]"
background
size="small"
layout="total, sizes, prev, pager, next, jumper"
:total="total"
@size-change="handleSizeChange"
@current-change="querytype"
/>
</div> -->
</div>
<!--:row-style="{background: '#cde0f3'}"-->
<!--添加字典类型-->
<el-dialog
v-model="popshow"
:title="poptit"
width="800px"
append-to-body
align-center
:close-on-click-modal="false"
>
<el-form ref="typeform" :model="addObj" :rules="rules" label-width="120px">
<el-form-item label="小程序" prop="appid">
<el-select v-model="addObj.appid" placeholder="请选择协议类型" style="width: 100%">
<el-option v-for="(n,i) in yxtype" :key="i" :label="n.dictName" :value="n.dictValue" />
</el-select>
</el-form-item>
<el-form-item label="协议类型" prop="type">
<el-select v-model="addObj.type" placeholder="请选择协议类型" style="width: 100%">
<el-option :key="1" label="服务条款" value="1" />
<el-option :key="2" label="隐私协议" value="2" />
</el-select>
</el-form-item>
<el-form-item label="标题" prop="title">
<el-input v-model="addObj.title" placeholder="请输入标题" />
</el-form-item>
<el-form-item label="内容" prop="content">
<div style="width: 100%;">
<QuillEditor
style="width: 100%;height: 300px;"
theme="snow"
:options="editorOptions"
v-model:content="addObj.content"
contentType="html"
/>
</div>
<!-- <el-input v-model="addObj.content" placeholder="请输入内容" /> -->
</el-form-item>
<el-form-item label="版本" prop="version">
<el-input v-model="addObj.version" placeholder="请输入版本" />
</el-form-item>
<el-form-item label="状态" prop="status">
<el-select v-model="addObj.status" placeholder="请选择协议类型" style="width: 100%">
<el-option :key="1" label="可用" value="1" />
<el-option :key="2" label="不可用" value="0" />
</el-select>
</el-form-item>
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button type="primary" @click="save"> </el-button>
<el-button @click="canceltype"> </el-button>
</div>
</template>
</el-dialog>
</div>
</template>
<script lang="ts" setup>
import {
getdicttype,
adddicttype,
update,
deltype
} from '@/api/systemSet/agreement'
import { ref,reactive} from 'vue'
import { ElMessage, ElMessageBox } from 'element-plus'
import { showLoading,hideLoading } from '@/utils/loading'
import { getdict } from '@/api/systemSet/dict'
//
import { QuillEditor } from '@vueup/vue-quill'
import '@vueup/vue-quill/dist/vue-quill.snow.css'
//
const editorOptions = reactive({
modules: {
toolbar: [
['bold', 'italic', 'underline', 'strike'],
[{'size': ['small', false, 'large', 'huge']}],
[{'font': []}],
[{'align': []}],
[{'list': 'ordered'}, {'list': 'bullet'}],
[{'indent': '-1'}, {'indent': '+1'}],
[{'header': 1}, {'header': 2}],
[{'direction': 'rtl'}],
[{'color': []}, {'background': []}]
],
},
placeholder: '请输入内容...'
})
let yxtype = ref<any>([])
getdict({
typeCode:'wxxcx'
}).then(rps => {
yxtype.value = rps.data
})
//
let queryParams = reactive({
appid:'',
type:'', //1-2-
status:'' //1-0-
})
let dictlist = ref<any>([])
function querytype() {
dictlist.value.splice(0)
getdicttype(queryParams).then(rps => {
dictlist.value = rps.data
})
}
let queryRef = ref()
function resetQuery() {
queryRef.value?.resetFields()
}
function search() {
querytype()
}
function handleSizeChange(val:number) {
querytype()
}
//
let cztype = ref(1)
let typeform = ref()
let popshow = ref(false)
let poptit = ref('添加协议')
let addObj = reactive({
appid:'',
type:'', //1-2-
title:'', //
content:'', //
version:'', //
status:'1', //1-0-
pkId:''
})
const rules = {
appid: [
{ required: true, message: "请选择小程序", trigger: "blur" },
],
type: [
{ required: true, message: "请选择服务条款", trigger: "blur" },
],
title:[
{ required: true, message: "请输入标题", trigger: "blur" },
],
content:[
{ required: true, message: "请输入协议内容", trigger: "blur" },
{ required: true, validator(rule:any, value:any, callback:any) {
if(value == '<p></p>' || value == '<p><br></p>'){
return callback(new Error('请输入协议内容'))
}
return callback()
}, trigger: "blur"}
],
version:[
{ required: true, message: "请输入版本", trigger: "blur" },
]
}
function caoztype(obj:any) {
if(cztype.value == 1){
return adddicttype(obj)
}
return update(obj)
}
function showpop(type:number,row?:any) {
cztype.value = type
popshow.value = true
poptit.value = type == 1?'添加协议':'修改协议'
typeform.value?.resetFields()
if(row){
addObj.pkId = row.pkId
addObj.appid = row.appid
addObj.type = row.type+''
addObj.title = row.title
addObj.content = decodeURIComponent(row.content)
addObj.version = row.version
addObj.status = row.status +''
}else{
addObj.pkId = ''
addObj.appid = ''
addObj.type = ''
addObj.title = ''
addObj.content = '<p></p>'
addObj.version = ''
addObj.status = '1'
}
}
//
function save() {
typeform.value?.validate((valid:Boolean) => {
if (valid) {
showLoading()
caoztype(Object.assign({},addObj,{content:encodeURIComponent(addObj.content)})).then(() => {
hideLoading()
ElMessage({
type: 'success',
message: cztype.value == 1?'添加成功':'修改成功'
})
setTimeout(() => {
popshow.value = false
search()
},1000)
}).catch(() => {
hideLoading()
})
}
})
}
//
function handleDelete(row:any) {
ElMessageBox.confirm(
`确定删除:${row.typeName}`,
'温馨提示',
{
// confirmButtonText: '',
// cancelButtonText: 'Cancel',
type: 'warning',
}
).then(() => {
deltype(row.pkId).then(rps => {
ElMessage({
type: 'success',
message: '删除成功'
})
querytype()
})
})
}
function canceltype() {
popshow.value = false
}
querytype()
</script>

View File

@ -84,11 +84,11 @@
border
stripe
>
<el-table-column label="字典名称" align="center" prop="dictName" />
<el-table-column min-width="160" label="字典名称" align="center" prop="dictName" />
<el-table-column label="字典编码" align="center" prop="dictCode" />
<el-table-column label="字典值" align="center" prop="dictValue" />
<el-table-column min-width="160" label="字典值" align="center" prop="dictValue" />
<el-table-column label="排序" align="center" prop="sort" />
<el-table-column label="操作" align="center" width="210" class-name="small-padding fixed-width">
<el-table-column width="160" label="操作" align="center" class-name="small-padding fixed-width">
<template #default="scope">
<el-button link type="primary" icon="Edit" @click="showpop(2,scope.row)">修改</el-button>
<el-button link type="danger" icon="Delete" @click="deldicval(scope.row)">删除</el-button>

View File

@ -11,6 +11,8 @@ export default defineConfig({
proxy: {
"^/dev-api": {
target: `http://192.168.5.213:9100/gateway`,
// target: `https://api.evo-techina.com`,
changeOrigin: true,
// rewrite: (path) => path.replace(/^\/api/, '\/' + process.env.VUE_APP_BASE_API)
rewrite: (path) => path.replace(/^\/dev-api/, "/"),