提交 10e17b54 作者: 毛细亚

合并分支 '6.7' 到 'release'

6.7

查看合并请求 !15
<!DOCTYPE html> <!doctype html><html lang=""><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="favicon.ico"><meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0"><meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9"/><title>企微侧边栏</title><script src="https://g.alicdn.com/dingding/dinglogin/0.0.5/ddLogin.js"></script><script defer="defer" src="static/js/runtime.2425ceee.js"></script><script defer="defer" src="static/js/chunk-elementUI.d0bcf3c3.js"></script><script defer="defer" src="static/js/chunk-libs.c6681081.js"></script><script defer="defer" src="static/js/app.e6abe9ca.js"></script><link href="static/css/chunk-elementUI.dd5abb38.css" rel="stylesheet"><link href="static/css/app.d9cea248.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but company_app doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>
<html lang=""> \ No newline at end of file
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="favicon.ico">
<!-- HTTP 1.1 -->
<meta http-equiv="pragma" content="no-cache">
<!-- HTTP 1.0 -->
<meta http-equiv="cache-control" content="no-cache">
<!-- Prevent caching at the proxy server -->
<meta http-equiv="expires" content="0">
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9" />
<title>company_app</title>
<!-- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0,shrink-to-fit=no,user-scalable=no"> -->
<script src="https://g.alicdn.com/dingding/dinglogin/0.0.5/ddLogin.js"></script>
<script defer src="static/js/chunk-vendors.js"></script><script defer src="static/js/app.js"></script></head>
<body>
<noscript>
<strong>We're sorry but company_app doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript>
<div id="app"></div>
</body>
</html>
...@@ -44,6 +44,11 @@ ...@@ -44,6 +44,11 @@
"@vue/cli-plugin-vuex": "~5.0.0", "@vue/cli-plugin-vuex": "~5.0.0",
"@vue/cli-service": "~5.0.0", "@vue/cli-service": "~5.0.0",
"element-theme-chalk": "^2.15.14", "element-theme-chalk": "^2.15.14",
"html-webpack-plugin": "3.2.0",
"script-ext-html-webpack-plugin": "2.1.3",
"serve-static": "1.13.2",
"svg-sprite-loader": "6.0.9",
"svgo": "1.2.2",
"vue-template-compiler": "^2.6.14" "vue-template-compiler": "^2.6.14"
} }
} }
...@@ -108,6 +108,21 @@ importers: ...@@ -108,6 +108,21 @@ importers:
element-theme-chalk: element-theme-chalk:
specifier: ^2.15.14 specifier: ^2.15.14
version: 2.15.14 version: 2.15.14
html-webpack-plugin:
specifier: 3.2.0
version: 3.2.0(webpack@5.99.8)
script-ext-html-webpack-plugin:
specifier: 2.1.3
version: 2.1.3(html-webpack-plugin@3.2.0(webpack@5.99.8))(webpack@5.99.8)
serve-static:
specifier: 1.13.2
version: 1.13.2
svg-sprite-loader:
specifier: 6.0.9
version: 6.0.9
svgo:
specifier: 1.2.2
version: 1.2.2
vue-template-compiler: vue-template-compiler:
specifier: ^2.6.14 specifier: ^2.6.14
version: 2.7.16 version: 2.7.16
...@@ -1253,6 +1268,18 @@ packages: ...@@ -1253,6 +1268,18 @@ packages:
argparse@1.0.10: argparse@1.0.10:
resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==}
arr-diff@4.0.0:
resolution: {integrity: sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==}
engines: {node: '>=0.10.0'}
arr-flatten@1.1.0:
resolution: {integrity: sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==}
engines: {node: '>=0.10.0'}
arr-union@3.1.0:
resolution: {integrity: sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==}
engines: {node: '>=0.10.0'}
array-buffer-byte-length@1.0.2: array-buffer-byte-length@1.0.2:
resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==} resolution: {integrity: sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
...@@ -1268,6 +1295,10 @@ packages: ...@@ -1268,6 +1295,10 @@ packages:
resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==}
engines: {node: '>=8'} engines: {node: '>=8'}
array-unique@0.3.2:
resolution: {integrity: sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==}
engines: {node: '>=0.10.0'}
array.prototype.reduce@1.0.8: array.prototype.reduce@1.0.8:
resolution: {integrity: sha512-DwuEqgXFBwbmZSRqt3BpQigWNUoqw9Ml2dTWdF3B2zQlQX4OeUE0zyuzX0fX0IbTvjdkZbcBTU3idgpO78qkTw==} resolution: {integrity: sha512-DwuEqgXFBwbmZSRqt3BpQigWNUoqw9Ml2dTWdF3B2zQlQX4OeUE0zyuzX0fX0IbTvjdkZbcBTU3idgpO78qkTw==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
...@@ -1283,6 +1314,10 @@ packages: ...@@ -1283,6 +1314,10 @@ packages:
resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==} resolution: {integrity: sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==}
engines: {node: '>=0.8'} engines: {node: '>=0.8'}
assign-symbols@1.0.0:
resolution: {integrity: sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==}
engines: {node: '>=0.10.0'}
async-foreach@0.1.3: async-foreach@0.1.3:
resolution: {integrity: sha512-VUeSMD8nEGBWaZK4lizI1sf3yEC7pnAQ/mrI7pC2fBz2s/tq5jWWEngTwaf0Gruu/OoXRGLGg1XFqpYBiGTYJA==} resolution: {integrity: sha512-VUeSMD8nEGBWaZK4lizI1sf3yEC7pnAQ/mrI7pC2fBz2s/tq5jWWEngTwaf0Gruu/OoXRGLGg1XFqpYBiGTYJA==}
...@@ -1303,6 +1338,11 @@ packages: ...@@ -1303,6 +1338,11 @@ packages:
resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==}
engines: {node: '>= 4.0.0'} engines: {node: '>= 4.0.0'}
atob@2.1.2:
resolution: {integrity: sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==}
engines: {node: '>= 4.5.0'}
hasBin: true
autoprefixer@10.4.21: autoprefixer@10.4.21:
resolution: {integrity: sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==} resolution: {integrity: sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==}
engines: {node: ^10 || ^12 || >=14} engines: {node: ^10 || ^12 || >=14}
...@@ -1371,6 +1411,10 @@ packages: ...@@ -1371,6 +1411,10 @@ packages:
base64-js@1.5.1: base64-js@1.5.1:
resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==}
base@0.11.2:
resolution: {integrity: sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==}
engines: {node: '>=0.10.0'}
batch@0.6.1: batch@0.6.1:
resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==} resolution: {integrity: sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==}
...@@ -1385,6 +1429,9 @@ packages: ...@@ -1385,6 +1429,9 @@ packages:
bi-element-ui@1.5.2: bi-element-ui@1.5.2:
resolution: {integrity: sha512-vNwyQFT7++RI1KFrJhmL2u2gX7I8HAleRfUxRFt3lOBAFO0/wo4h2j42lP4r+6h6zDaLxByDrMiyCBOj3WRZlw==} resolution: {integrity: sha512-vNwyQFT7++RI1KFrJhmL2u2gX7I8HAleRfUxRFt3lOBAFO0/wo4h2j42lP4r+6h6zDaLxByDrMiyCBOj3WRZlw==}
big.js@3.2.0:
resolution: {integrity: sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==}
big.js@5.2.2: big.js@5.2.2:
resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==} resolution: {integrity: sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==}
...@@ -1444,6 +1491,10 @@ packages: ...@@ -1444,6 +1491,10 @@ packages:
brace-expansion@1.1.12: brace-expansion@1.1.12:
resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==} resolution: {integrity: sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==}
braces@2.3.2:
resolution: {integrity: sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==}
engines: {node: '>=0.10.0'}
braces@3.0.3: braces@3.0.3:
resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==}
engines: {node: '>=8'} engines: {node: '>=8'}
...@@ -1478,6 +1529,10 @@ packages: ...@@ -1478,6 +1529,10 @@ packages:
resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==}
engines: {node: '>= 0.8'} engines: {node: '>= 0.8'}
cache-base@1.0.1:
resolution: {integrity: sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==}
engines: {node: '>=0.10.0'}
cacheable-request@2.1.4: cacheable-request@2.1.4:
resolution: {integrity: sha512-vag0O2LKZ/najSoUwDbVlnlCFvhBE/7mGTY2B5FgCBDcRD+oVV1HYTOwM6JZfMg/hIcM6IwnTZ1uQQL5/X3xIQ==} resolution: {integrity: sha512-vag0O2LKZ/najSoUwDbVlnlCFvhBE/7mGTY2B5FgCBDcRD+oVV1HYTOwM6JZfMg/hIcM6IwnTZ1uQQL5/X3xIQ==}
...@@ -1497,6 +1552,9 @@ packages: ...@@ -1497,6 +1552,9 @@ packages:
resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==}
engines: {node: '>=6'} engines: {node: '>=6'}
camel-case@3.0.0:
resolution: {integrity: sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==}
camel-case@4.1.2: camel-case@4.1.2:
resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==}
...@@ -1557,6 +1615,14 @@ packages: ...@@ -1557,6 +1615,14 @@ packages:
resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==} resolution: {integrity: sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==}
engines: {node: '>=6.0'} engines: {node: '>=6.0'}
class-utils@0.3.6:
resolution: {integrity: sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==}
engines: {node: '>=0.10.0'}
clean-css@4.2.4:
resolution: {integrity: sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==}
engines: {node: '>= 4.0'}
clean-css@5.3.3: clean-css@5.3.3:
resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==} resolution: {integrity: sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==}
engines: {node: '>= 10.0'} engines: {node: '>= 10.0'}
...@@ -1614,6 +1680,10 @@ packages: ...@@ -1614,6 +1680,10 @@ packages:
resolution: {integrity: sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==} resolution: {integrity: sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==}
engines: {node: '>=0.10.0'} engines: {node: '>=0.10.0'}
collection-visit@1.0.0:
resolution: {integrity: sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==}
engines: {node: '>=0.10.0'}
color-convert@1.9.3: color-convert@1.9.3:
resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==}
...@@ -1637,6 +1707,12 @@ packages: ...@@ -1637,6 +1707,12 @@ packages:
resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==}
engines: {node: '>= 0.8'} engines: {node: '>= 0.8'}
commander@2.17.1:
resolution: {integrity: sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==}
commander@2.19.0:
resolution: {integrity: sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==}
commander@2.20.3: commander@2.20.3:
resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==}
...@@ -1651,6 +1727,9 @@ packages: ...@@ -1651,6 +1727,9 @@ packages:
commondir@1.0.1: commondir@1.0.1:
resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==}
component-emitter@1.3.1:
resolution: {integrity: sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==}
compressible@2.0.18: compressible@2.0.18:
resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==} resolution: {integrity: sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==}
engines: {node: '>= 0.6'} engines: {node: '>= 0.6'}
...@@ -1859,6 +1938,10 @@ packages: ...@@ -1859,6 +1938,10 @@ packages:
resolution: {integrity: sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==} resolution: {integrity: sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==}
engines: {node: '>= 0.6'} engines: {node: '>= 0.6'}
copy-descriptor@0.1.1:
resolution: {integrity: sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==}
engines: {node: '>=0.10.0'}
copy-text-to-clipboard@3.2.0: copy-text-to-clipboard@3.2.0:
resolution: {integrity: sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q==} resolution: {integrity: sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q==}
engines: {node: '>=12'} engines: {node: '>=12'}
...@@ -1961,6 +2044,14 @@ packages: ...@@ -1961,6 +2044,14 @@ packages:
css-select@4.3.0: css-select@4.3.0:
resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==} resolution: {integrity: sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==}
css-tree@1.0.0-alpha.28:
resolution: {integrity: sha512-joNNW1gCp3qFFzj4St6zk+Wh/NBv0vM5YbEreZk0SD4S23S+1xBKb6cLDg2uj4P4k/GUMlIm6cKIDqIG+vdt0w==}
engines: {node: '>=0.10.0'}
css-tree@1.0.0-alpha.29:
resolution: {integrity: sha512-sRNb1XydwkW9IOci6iB2xmy8IGCj6r/fr+JWitvJ2JxQRPzN3T4AGGVWCMlVmVwM1gtgALJRmGIlWv5ppnGGkg==}
engines: {node: '>=0.10.0'}
css-tree@1.0.0-alpha.37: css-tree@1.0.0-alpha.37:
resolution: {integrity: sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==} resolution: {integrity: sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==}
engines: {node: '>=8.0.0'} engines: {node: '>=8.0.0'}
...@@ -1969,6 +2060,9 @@ packages: ...@@ -1969,6 +2060,9 @@ packages:
resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==} resolution: {integrity: sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==}
engines: {node: '>=8.0.0'} engines: {node: '>=8.0.0'}
css-url-regex@1.1.0:
resolution: {integrity: sha512-hLKuvifwoKvwqpctblTp0BovBuOXzxof8JgkA8zeqxxL+vcynHQjtIqqlFfQI1gEAZAjbqKm9gFTa88fxTAX4g==}
css-what@3.4.2: css-what@3.4.2:
resolution: {integrity: sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==} resolution: {integrity: sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==}
engines: {node: '>= 6'} engines: {node: '>= 6'}
...@@ -2000,6 +2094,10 @@ packages: ...@@ -2000,6 +2094,10 @@ packages:
peerDependencies: peerDependencies:
postcss: ^8.2.15 postcss: ^8.2.15
csso@3.5.1:
resolution: {integrity: sha512-vrqULLffYU1Q2tLdJvaCYbONStnfkfimRxXNaGjxMldI0C7JPBC4rB1RyjhfdZ4m1frm8pM9uRPKH3d2knZ8gg==}
engines: {node: '>=0.10.0'}
csso@4.2.0: csso@4.2.0:
resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==} resolution: {integrity: sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==}
engines: {node: '>=8.0.0'} engines: {node: '>=8.0.0'}
...@@ -2102,6 +2200,10 @@ packages: ...@@ -2102,6 +2200,10 @@ packages:
resolution: {integrity: sha512-5tdhKF6DbU7iIzrIOa1AOUt39ZRm13cmL1cGEh//aqR8x9+tNfbywRf0n5FD/18OKMdo7DNEtrX2t22ZAkI+eg==} resolution: {integrity: sha512-5tdhKF6DbU7iIzrIOa1AOUt39ZRm13cmL1cGEh//aqR8x9+tNfbywRf0n5FD/18OKMdo7DNEtrX2t22ZAkI+eg==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
deepmerge@1.3.2:
resolution: {integrity: sha512-qjMjTrk+RKv/sp4RPDpV5CnKhxjFI9p+GkLBOls5A8EEElldYWCWA9zceAkmfd0xIo2aU1nxiaLFoiya2sb6Cg==}
engines: {node: '>=0.10.0'}
deepmerge@1.5.2: deepmerge@1.5.2:
resolution: {integrity: sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==} resolution: {integrity: sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==}
engines: {node: '>=0.10.0'} engines: {node: '>=0.10.0'}
...@@ -2129,6 +2231,18 @@ packages: ...@@ -2129,6 +2231,18 @@ packages:
resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
define-property@0.2.5:
resolution: {integrity: sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==}
engines: {node: '>=0.10.0'}
define-property@1.0.0:
resolution: {integrity: sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==}
engines: {node: '>=0.10.0'}
define-property@2.0.2:
resolution: {integrity: sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==}
engines: {node: '>=0.10.0'}
delayed-stream@1.0.0: delayed-stream@1.0.0:
resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==}
engines: {node: '>=0.4.0'} engines: {node: '>=0.4.0'}
...@@ -2147,6 +2261,9 @@ packages: ...@@ -2147,6 +2261,9 @@ packages:
resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==}
engines: {node: '>= 0.8'} engines: {node: '>= 0.8'}
destroy@1.0.4:
resolution: {integrity: sha512-3NdhDuEXnfun/z7x9GOElY49LoqVHoGScmOKwmxhsS8N5Y+Z8KyPPDnaSzqWgYt/ji4mqwfTS34Htrk0zPIXVg==}
destroy@1.2.0: destroy@1.2.0:
resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==}
engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16}
...@@ -2189,6 +2306,9 @@ packages: ...@@ -2189,6 +2306,9 @@ packages:
domelementtype@2.3.0: domelementtype@2.3.0:
resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==}
domhandler@2.4.2:
resolution: {integrity: sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==}
domhandler@4.3.1: domhandler@4.3.1:
resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==} resolution: {integrity: sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==}
engines: {node: '>= 4'} engines: {node: '>= 4'}
...@@ -2196,6 +2316,9 @@ packages: ...@@ -2196,6 +2316,9 @@ packages:
dompurify@3.2.5: dompurify@3.2.5:
resolution: {integrity: sha512-mLPd29uoRe9HpvwP2TxClGQBzGXeEC/we/q+bFlmPPmj2p2Ugl3r6ATu/UU1v77DXNcehiBg9zsr1dREyA/dJQ==} resolution: {integrity: sha512-mLPd29uoRe9HpvwP2TxClGQBzGXeEC/we/q+bFlmPPmj2p2Ugl3r6ATu/UU1v77DXNcehiBg9zsr1dREyA/dJQ==}
domready@1.0.8:
resolution: {integrity: sha512-uIzsOJUNk+AdGE9a6VDeessoMCzF8RrZvJCX/W8QtyfgdR6Uofn/MvRonih3OtCO79b2VDzDOymuiABrQ4z3XA==}
domutils@1.7.0: domutils@1.7.0:
resolution: {integrity: sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==} resolution: {integrity: sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==}
...@@ -2257,6 +2380,10 @@ packages: ...@@ -2257,6 +2380,10 @@ packages:
emoji-regex@8.0.0: emoji-regex@8.0.0:
resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==}
emojis-list@2.1.0:
resolution: {integrity: sha512-knHEZMgs8BB+MInokmNTg/OyPlAddghe1YBgNwJBc5zsJi/uyIcXoSDsL/W9ymOsBoBGdPIHXYJ9+qKFwRwDng==}
engines: {node: '>= 0.10'}
emojis-list@3.0.0: emojis-list@3.0.0:
resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==} resolution: {integrity: sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==}
engines: {node: '>= 4'} engines: {node: '>= 4'}
...@@ -2280,6 +2407,9 @@ packages: ...@@ -2280,6 +2407,9 @@ packages:
resolution: {integrity: sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==} resolution: {integrity: sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==}
engines: {node: '>=10.13.0'} engines: {node: '>=10.13.0'}
entities@1.1.2:
resolution: {integrity: sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==}
entities@2.2.0: entities@2.2.0:
resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==}
...@@ -2411,6 +2541,10 @@ packages: ...@@ -2411,6 +2541,10 @@ packages:
resolution: {integrity: sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==} resolution: {integrity: sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==}
engines: {node: '>=4'} engines: {node: '>=4'}
expand-brackets@2.1.4:
resolution: {integrity: sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==}
engines: {node: '>=0.10.0'}
express@4.21.2: express@4.21.2:
resolution: {integrity: sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==} resolution: {integrity: sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==}
engines: {node: '>= 0.10.0'} engines: {node: '>= 0.10.0'}
...@@ -2427,9 +2561,17 @@ packages: ...@@ -2427,9 +2561,17 @@ packages:
resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==}
engines: {node: '>=0.10.0'} engines: {node: '>=0.10.0'}
extend-shallow@3.0.2:
resolution: {integrity: sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==}
engines: {node: '>=0.10.0'}
extend@3.0.2: extend@3.0.2:
resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==}
extglob@2.0.4:
resolution: {integrity: sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==}
engines: {node: '>=0.10.0'}
extsprintf@1.3.0: extsprintf@1.3.0:
resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==} resolution: {integrity: sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==}
engines: {'0': node >=0.6.0} engines: {'0': node >=0.6.0}
...@@ -2515,6 +2657,10 @@ packages: ...@@ -2515,6 +2657,10 @@ packages:
resolution: {integrity: sha512-ICw7NTT6RsDp2rnYKVd8Fu4cr6ITzGy3+u4vUujPkabyaz+03F24NWEX7fs5fp+kBonlaqPH8fAO2NM+SXt/JA==} resolution: {integrity: sha512-ICw7NTT6RsDp2rnYKVd8Fu4cr6ITzGy3+u4vUujPkabyaz+03F24NWEX7fs5fp+kBonlaqPH8fAO2NM+SXt/JA==}
engines: {node: '>=4'} engines: {node: '>=4'}
fill-range@4.0.0:
resolution: {integrity: sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==}
engines: {node: '>=0.10.0'}
fill-range@7.1.1: fill-range@7.1.1:
resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==}
engines: {node: '>=8'} engines: {node: '>=8'}
...@@ -2564,6 +2710,10 @@ packages: ...@@ -2564,6 +2710,10 @@ packages:
resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==} resolution: {integrity: sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
for-in@1.0.2:
resolution: {integrity: sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==}
engines: {node: '>=0.10.0'}
forever-agent@0.6.1: forever-agent@0.6.1:
resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==} resolution: {integrity: sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==}
...@@ -2585,6 +2735,10 @@ packages: ...@@ -2585,6 +2735,10 @@ packages:
fraction.js@4.3.7: fraction.js@4.3.7:
resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==}
fragment-cache@0.2.1:
resolution: {integrity: sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==}
engines: {node: '>=0.10.0'}
fresh@0.5.2: fresh@0.5.2:
resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==}
engines: {node: '>= 0.6'} engines: {node: '>= 0.6'}
...@@ -2683,6 +2837,10 @@ packages: ...@@ -2683,6 +2837,10 @@ packages:
resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==} resolution: {integrity: sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
get-value@2.0.6:
resolution: {integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==}
engines: {node: '>=0.10.0'}
getpass@0.1.7: getpass@0.1.7:
resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==} resolution: {integrity: sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==}
...@@ -2808,6 +2966,22 @@ packages: ...@@ -2808,6 +2966,22 @@ packages:
has-unicode@2.0.1: has-unicode@2.0.1:
resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==}
has-value@0.3.1:
resolution: {integrity: sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==}
engines: {node: '>=0.10.0'}
has-value@1.0.0:
resolution: {integrity: sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==}
engines: {node: '>=0.10.0'}
has-values@0.1.4:
resolution: {integrity: sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==}
engines: {node: '>=0.10.0'}
has-values@1.0.0:
resolution: {integrity: sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==}
engines: {node: '>=0.10.0'}
hash-sum@1.0.2: hash-sum@1.0.2:
resolution: {integrity: sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==} resolution: {integrity: sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==}
...@@ -2842,10 +3016,22 @@ packages: ...@@ -2842,10 +3016,22 @@ packages:
engines: {node: '>=12'} engines: {node: '>=12'}
hasBin: true hasBin: true
html-minifier@3.5.21:
resolution: {integrity: sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==}
engines: {node: '>=4'}
hasBin: true
html-tags@2.0.0: html-tags@2.0.0:
resolution: {integrity: sha512-+Il6N8cCo2wB/Vd3gqy/8TZhTD3QvcVeQLCnZiGkGCH3JP28IgGAY41giccp2W4R3jfyJPAP318FQTa1yU7K7g==} resolution: {integrity: sha512-+Il6N8cCo2wB/Vd3gqy/8TZhTD3QvcVeQLCnZiGkGCH3JP28IgGAY41giccp2W4R3jfyJPAP318FQTa1yU7K7g==}
engines: {node: '>=4'} engines: {node: '>=4'}
html-webpack-plugin@3.2.0:
resolution: {integrity: sha512-Br4ifmjQojUP4EmHnRBoUIYcZ9J7M4bTMcm7u6xoIAIuq2Nte4TzXX0533owvkQKQD1WeMTTTyD4Ni4QKxS0Bg==}
engines: {node: '>=6.9'}
deprecated: 3.x is no longer supported
peerDependencies:
webpack: ^1.0.0 || ^2.0.0 || ^3.0.0 || ^4.0.0
html-webpack-plugin@5.6.3: html-webpack-plugin@5.6.3:
resolution: {integrity: sha512-QSf1yjtSAsmf7rYBV7XX86uua4W/vkhIt0xNXKbsi2foEeW7vjJQz4bhnpL3xH+l1ryl1680uNv968Z+X6jSYg==} resolution: {integrity: sha512-QSf1yjtSAsmf7rYBV7XX86uua4W/vkhIt0xNXKbsi2foEeW7vjJQz4bhnpL3xH+l1ryl1680uNv968Z+X6jSYg==}
engines: {node: '>=10.13.0'} engines: {node: '>=10.13.0'}
...@@ -2862,6 +3048,9 @@ packages: ...@@ -2862,6 +3048,9 @@ packages:
resolution: {integrity: sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==} resolution: {integrity: sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==}
engines: {node: '>=8.0.0'} engines: {node: '>=8.0.0'}
htmlparser2@3.10.1:
resolution: {integrity: sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==}
htmlparser2@6.1.0: htmlparser2@6.1.0:
resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==} resolution: {integrity: sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==}
...@@ -2927,6 +3116,11 @@ packages: ...@@ -2927,6 +3116,11 @@ packages:
resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==}
engines: {node: '>= 4'} engines: {node: '>= 4'}
image-size@0.5.5:
resolution: {integrity: sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==}
engines: {node: '>=0.10.0'}
hasBin: true
image-webpack-loader@6.0.0: image-webpack-loader@6.0.0:
resolution: {integrity: sha512-H5qZ+DH88A4mW9CPJpa7VH8B2dxLbzqiMH+BQYtMw8v2jaFwZPQOS/NfkSaJMz76dsi/uw+0LY4uHR1iK6hq8g==} resolution: {integrity: sha512-H5qZ+DH88A4mW9CPJpa7VH8B2dxLbzqiMH+BQYtMw8v2jaFwZPQOS/NfkSaJMz76dsi/uw+0LY4uHR1iK6hq8g==}
...@@ -3010,6 +3204,10 @@ packages: ...@@ -3010,6 +3204,10 @@ packages:
resolution: {integrity: sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==} resolution: {integrity: sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==}
engines: {node: '>= 10'} engines: {node: '>= 10'}
is-accessor-descriptor@1.0.1:
resolution: {integrity: sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==}
engines: {node: '>= 0.10'}
is-arguments@1.2.0: is-arguments@1.2.0:
resolution: {integrity: sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==} resolution: {integrity: sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
...@@ -3037,6 +3235,9 @@ packages: ...@@ -3037,6 +3235,9 @@ packages:
resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==} resolution: {integrity: sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
is-buffer@1.1.6:
resolution: {integrity: sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==}
is-callable@1.2.7: is-callable@1.2.7:
resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
...@@ -3051,6 +3252,10 @@ packages: ...@@ -3051,6 +3252,10 @@ packages:
is-cwebp-readable@2.0.1: is-cwebp-readable@2.0.1:
resolution: {integrity: sha512-VdCK1HN5F9vURT3GTLBViE/o/eRv2Z08q6bARfp8L6aFemIHMHPSYR9jOZpM2MvOSEYDtZWsiNovsqwsTLk5TA==} resolution: {integrity: sha512-VdCK1HN5F9vURT3GTLBViE/o/eRv2Z08q6bARfp8L6aFemIHMHPSYR9jOZpM2MvOSEYDtZWsiNovsqwsTLk5TA==}
is-data-descriptor@1.0.1:
resolution: {integrity: sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==}
engines: {node: '>= 0.4'}
is-data-view@1.0.2: is-data-view@1.0.2:
resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==} resolution: {integrity: sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
...@@ -3059,6 +3264,14 @@ packages: ...@@ -3059,6 +3264,14 @@ packages:
resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==} resolution: {integrity: sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
is-descriptor@0.1.7:
resolution: {integrity: sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==}
engines: {node: '>= 0.4'}
is-descriptor@1.0.3:
resolution: {integrity: sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==}
engines: {node: '>= 0.4'}
is-docker@2.2.1: is-docker@2.2.1:
resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==}
engines: {node: '>=8'} engines: {node: '>=8'}
...@@ -3068,6 +3281,10 @@ packages: ...@@ -3068,6 +3281,10 @@ packages:
resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==}
engines: {node: '>=0.10.0'} engines: {node: '>=0.10.0'}
is-extendable@1.0.1:
resolution: {integrity: sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==}
engines: {node: '>=0.10.0'}
is-extglob@2.1.1: is-extglob@2.1.1:
resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==}
engines: {node: '>=0.10.0'} engines: {node: '>=0.10.0'}
...@@ -3126,6 +3343,10 @@ packages: ...@@ -3126,6 +3343,10 @@ packages:
resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==} resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
is-number@3.0.0:
resolution: {integrity: sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==}
engines: {node: '>=0.10.0'}
is-number@7.0.0: is-number@7.0.0:
resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==}
engines: {node: '>=0.12.0'} engines: {node: '>=0.12.0'}
...@@ -3214,6 +3435,10 @@ packages: ...@@ -3214,6 +3435,10 @@ packages:
resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==} resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
is-windows@1.0.2:
resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==}
engines: {node: '>=0.10.0'}
is-wsl@2.2.0: is-wsl@2.2.0:
resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==}
engines: {node: '>=8'} engines: {node: '>=8'}
...@@ -3227,6 +3452,10 @@ packages: ...@@ -3227,6 +3452,10 @@ packages:
isexe@2.0.0: isexe@2.0.0:
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
isobject@2.1.0:
resolution: {integrity: sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==}
engines: {node: '>=0.10.0'}
isobject@3.0.1: isobject@3.0.1:
resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==}
engines: {node: '>=0.10.0'} engines: {node: '>=0.10.0'}
...@@ -3300,6 +3529,10 @@ packages: ...@@ -3300,6 +3529,10 @@ packages:
json-stringify-safe@5.0.1: json-stringify-safe@5.0.1:
resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==}
json5@0.5.1:
resolution: {integrity: sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw==}
hasBin: true
json5@1.0.2: json5@1.0.2:
resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==}
hasBin: true hasBin: true
...@@ -3326,6 +3559,18 @@ packages: ...@@ -3326,6 +3559,18 @@ packages:
keyv@3.0.0: keyv@3.0.0:
resolution: {integrity: sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==} resolution: {integrity: sha512-eguHnq22OE3uVoSYG0LVWNP+4ppamWr9+zWBe1bsNcovIMy6huUJFPgy4mGwCd/rnl3vOLGW1MTlu4c57CT1xA==}
kind-of@3.2.2:
resolution: {integrity: sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==}
engines: {node: '>=0.10.0'}
kind-of@4.0.0:
resolution: {integrity: sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==}
engines: {node: '>=0.10.0'}
kind-of@5.1.0:
resolution: {integrity: sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==}
engines: {node: '>=0.10.0'}
kind-of@6.0.3: kind-of@6.0.3:
resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==}
engines: {node: '>=0.10.0'} engines: {node: '>=0.10.0'}
...@@ -3358,6 +3603,9 @@ packages: ...@@ -3358,6 +3603,9 @@ packages:
resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==}
engines: {node: '>=6.11.5'} engines: {node: '>=6.11.5'}
loader-utils@0.2.17:
resolution: {integrity: sha512-tiv66G0SmiOx+pLWMtGEkfSEejxvb6N6uRrQjfWJIT79W9GMpgKeCAmm9aVBKtd4WEgntciI8CsGqjpDoCWJug==}
loader-utils@1.4.2: loader-utils@1.4.2:
resolution: {integrity: sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==} resolution: {integrity: sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==}
engines: {node: '>=4.0.0'} engines: {node: '>=4.0.0'}
...@@ -3425,6 +3673,9 @@ packages: ...@@ -3425,6 +3673,9 @@ packages:
resolution: {integrity: sha512-RPNliZOFkqFumDhvYqOaNY4Uz9oJM2K9tC6JWsJJsNdhuONW4LQHRBpb0qf4pJApVffI5N39SwzWZJuEhfd7eQ==} resolution: {integrity: sha512-RPNliZOFkqFumDhvYqOaNY4Uz9oJM2K9tC6JWsJJsNdhuONW4LQHRBpb0qf4pJApVffI5N39SwzWZJuEhfd7eQ==}
engines: {node: '>=0.10.0'} engines: {node: '>=0.10.0'}
lower-case@1.1.4:
resolution: {integrity: sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==}
lower-case@2.0.2: lower-case@2.0.2:
resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==}
...@@ -3462,14 +3713,25 @@ packages: ...@@ -3462,14 +3713,25 @@ packages:
resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==}
engines: {node: '>=8'} engines: {node: '>=8'}
map-cache@0.2.2:
resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==}
engines: {node: '>=0.10.0'}
map-obj@1.0.1: map-obj@1.0.1:
resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==}
engines: {node: '>=0.10.0'} engines: {node: '>=0.10.0'}
map-visit@1.0.0:
resolution: {integrity: sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==}
engines: {node: '>=0.10.0'}
math-intrinsics@1.1.0: math-intrinsics@1.1.0:
resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==} resolution: {integrity: sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
mdn-data@1.1.4:
resolution: {integrity: sha512-FSYbp3lyKjyj3E7fMl6rYvUdX0FBXaluGqlFoYESWQlyUTq8R+wp0rkFxoYFqZlHCvsUXGjyJmLQSnXToYhOSA==}
mdn-data@2.0.14: mdn-data@2.0.14:
resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==}
...@@ -3491,6 +3753,10 @@ packages: ...@@ -3491,6 +3753,10 @@ packages:
merge-descriptors@1.0.3: merge-descriptors@1.0.3:
resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==} resolution: {integrity: sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==}
merge-options@1.0.1:
resolution: {integrity: sha512-iuPV41VWKWBIOpBsjoxjDZw8/GbSfZ2mk7N1453bwMrfzdrIk7EzBd+8UVR6rkw67th7xnk9Dytl3J+lHPdxvg==}
engines: {node: '>=4'}
merge-source-map@1.1.0: merge-source-map@1.1.0:
resolution: {integrity: sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==} resolution: {integrity: sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==}
...@@ -3505,6 +3771,10 @@ packages: ...@@ -3505,6 +3771,10 @@ packages:
resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==}
engines: {node: '>= 0.6'} engines: {node: '>= 0.6'}
micromatch@3.1.0:
resolution: {integrity: sha512-3StSelAE+hnRvMs8IdVW7Uhk8CVed5tp+kLLGlBP6WiRAXS21GPGu/Nat4WNPXj2Eoc24B02SaeoyozPMfj0/g==}
engines: {node: '>=0.10.0'}
micromatch@4.0.8: micromatch@4.0.8:
resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==}
engines: {node: '>=8.6'} engines: {node: '>=8.6'}
...@@ -3521,6 +3791,10 @@ packages: ...@@ -3521,6 +3791,10 @@ packages:
resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==}
engines: {node: '>= 0.6'} engines: {node: '>= 0.6'}
mime@1.4.1:
resolution: {integrity: sha512-KI1+qOZu5DcW6wayYHSzR/tXKCDC5Om4s1z2QJjDULzLcmf3DvzS7oluY4HCTrc+9FiKmWUgeNLg7W3uIQvxtQ==}
hasBin: true
mime@1.6.0: mime@1.6.0:
resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==}
engines: {node: '>=4'} engines: {node: '>=4'}
...@@ -3565,6 +3839,13 @@ packages: ...@@ -3565,6 +3839,13 @@ packages:
resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==}
engines: {node: '>=8'} engines: {node: '>=8'}
mitt@1.1.2:
resolution: {integrity: sha512-3btxP0O9iGADGWAkteQ8mzDtEspZqu4I32y4GZYCV5BrwtzdcRpF4dQgNdJadCrbBx7Lu6Sq9AVrerMHR0Hkmw==}
mixin-deep@1.3.2:
resolution: {integrity: sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==}
engines: {node: '>=0.10.0'}
mkdirp@0.5.6: mkdirp@0.5.6:
resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==}
hasBin: true hasBin: true
...@@ -3608,6 +3889,10 @@ packages: ...@@ -3608,6 +3889,10 @@ packages:
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true hasBin: true
nanomatch@1.2.13:
resolution: {integrity: sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==}
engines: {node: '>=0.10.0'}
negotiator@0.6.3: negotiator@0.6.3:
resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==}
engines: {node: '>= 0.6'} engines: {node: '>= 0.6'}
...@@ -3622,6 +3907,9 @@ packages: ...@@ -3622,6 +3907,9 @@ packages:
nice-try@1.0.5: nice-try@1.0.5:
resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==}
no-case@2.3.2:
resolution: {integrity: sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==}
no-case@3.0.4: no-case@3.0.4:
resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==}
...@@ -3718,6 +4006,10 @@ packages: ...@@ -3718,6 +4006,10 @@ packages:
resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==}
engines: {node: '>=0.10.0'} engines: {node: '>=0.10.0'}
object-copy@0.1.0:
resolution: {integrity: sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==}
engines: {node: '>=0.10.0'}
object-inspect@1.13.4: object-inspect@1.13.4:
resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==} resolution: {integrity: sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
...@@ -3730,6 +4022,10 @@ packages: ...@@ -3730,6 +4022,10 @@ packages:
resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
object-visit@1.0.1:
resolution: {integrity: sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==}
engines: {node: '>=0.10.0'}
object.assign@4.1.7: object.assign@4.1.7:
resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==} resolution: {integrity: sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
...@@ -3738,6 +4034,10 @@ packages: ...@@ -3738,6 +4034,10 @@ packages:
resolution: {integrity: sha512-qkHIGe4q0lSYMv0XI4SsBTJz3WaURhLvd0lKSgtVuOsJ2krg4SgMw3PIRQFMp07yi++UR3se2mkcLqsBNpBb/A==} resolution: {integrity: sha512-qkHIGe4q0lSYMv0XI4SsBTJz3WaURhLvd0lKSgtVuOsJ2krg4SgMw3PIRQFMp07yi++UR3se2mkcLqsBNpBb/A==}
engines: {node: '>= 0.8'} engines: {node: '>= 0.8'}
object.pick@1.3.0:
resolution: {integrity: sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==}
engines: {node: '>=0.10.0'}
object.values@1.2.1: object.values@1.2.1:
resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==} resolution: {integrity: sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
...@@ -3745,6 +4045,10 @@ packages: ...@@ -3745,6 +4045,10 @@ packages:
obuf@1.1.2: obuf@1.1.2:
resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==}
on-finished@2.3.0:
resolution: {integrity: sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==}
engines: {node: '>= 0.8'}
on-finished@2.4.1: on-finished@2.4.1:
resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==}
engines: {node: '>= 0.8'} engines: {node: '>= 0.8'}
...@@ -3879,6 +4183,9 @@ packages: ...@@ -3879,6 +4183,9 @@ packages:
resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
engines: {node: '>=6'} engines: {node: '>=6'}
param-case@2.1.1:
resolution: {integrity: sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==}
param-case@3.0.4: param-case@3.0.4:
resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==}
...@@ -3916,6 +4223,10 @@ packages: ...@@ -3916,6 +4223,10 @@ packages:
pascal-case@3.1.2: pascal-case@3.1.2:
resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==}
pascalcase@0.1.1:
resolution: {integrity: sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==}
engines: {node: '>=0.10.0'}
path-exists@2.1.0: path-exists@2.1.0:
resolution: {integrity: sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==} resolution: {integrity: sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==}
engines: {node: '>=0.10.0'} engines: {node: '>=0.10.0'}
...@@ -4009,6 +4320,10 @@ packages: ...@@ -4009,6 +4320,10 @@ packages:
resolution: {integrity: sha512-yuGIEjDAYnnOex9ddMnKZEMFE0CcGo6zbfzDklkmT1m5z734ss6JMzN9rNB3+RR7iS+F10D4/BVIaXOyh8PQKw==} resolution: {integrity: sha512-yuGIEjDAYnnOex9ddMnKZEMFE0CcGo6zbfzDklkmT1m5z734ss6JMzN9rNB3+RR7iS+F10D4/BVIaXOyh8PQKw==}
engines: {node: '>= 10.12'} engines: {node: '>= 10.12'}
posix-character-classes@0.1.1:
resolution: {integrity: sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==}
engines: {node: '>=0.10.0'}
possible-typed-array-names@1.1.0: possible-typed-array-names@1.1.0:
resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==} resolution: {integrity: sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
...@@ -4184,6 +4499,11 @@ packages: ...@@ -4184,6 +4499,11 @@ packages:
postcss-plugin-px2rem@0.8.1: postcss-plugin-px2rem@0.8.1:
resolution: {integrity: sha512-gNxhrnR57pnGrPLLqVNWY9+BWgj46kYkphw+0gpRJf9tjgwI7/tLqQPK7KdlksB2SSAddOb11otDVwri8b8mXw==} resolution: {integrity: sha512-gNxhrnR57pnGrPLLqVNWY9+BWgj46kYkphw+0gpRJf9tjgwI7/tLqQPK7KdlksB2SSAddOb11otDVwri8b8mXw==}
postcss-prefix-selector@1.16.1:
resolution: {integrity: sha512-Umxu+FvKMwlY6TyDzGFoSUnzW+NOfMBLyC1tAkIjgX+Z/qGspJeRjVC903D7mx7TuBpJlwti2ibXtWuA7fKMeQ==}
peerDependencies:
postcss: '>4 <9'
postcss-reduce-initial@5.1.2: postcss-reduce-initial@5.1.2:
resolution: {integrity: sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==} resolution: {integrity: sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==}
engines: {node: ^10 || ^12 || >=14.0} engines: {node: ^10 || ^12 || >=14.0}
...@@ -4231,6 +4551,23 @@ packages: ...@@ -4231,6 +4551,23 @@ packages:
resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==} resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==}
engines: {node: ^10 || ^12 || >=14} engines: {node: ^10 || ^12 || >=14}
posthtml-parser@0.2.1:
resolution: {integrity: sha512-nPC53YMqJnc/+1x4fRYFfm81KV2V+G9NZY+hTohpYg64Ay7NemWWcV4UWuy/SgMupqQ3kJ88M/iRfZmSnxT+pw==}
posthtml-rename-id@1.0.12:
resolution: {integrity: sha512-UKXf9OF/no8WZo9edRzvuMenb6AD5hDLzIepJW+a4oJT+T/Lx7vfMYWT4aWlGNQh0WMhnUx1ipN9OkZ9q+ddEw==}
posthtml-render@1.4.0:
resolution: {integrity: sha512-W1779iVHGfq0Fvh2PROhCe2QhB8mEErgqzo1wpIt36tCgChafP+hbXIhLDOM8ePJrZcFs0vkNEtdibEWVqChqw==}
engines: {node: '>=10'}
posthtml-svg-mode@1.0.3:
resolution: {integrity: sha512-hEqw9NHZ9YgJ2/0G7CECOeuLQKZi8HjWLkBaSVtOWjygQ9ZD8P7tqeowYs7WrFdKsWEKG7o+IlsPY8jrr0CJpQ==}
posthtml@0.9.2:
resolution: {integrity: sha512-spBB5sgC4cv2YcW03f/IAUN1pgDJWNWD8FzkyY4mArLUMJW+KlQhlmUdKAHQuPfb00Jl5xIfImeOsf6YL8QK7Q==}
engines: {node: '>=0.10.0'}
prepend-http@1.0.4: prepend-http@1.0.4:
resolution: {integrity: sha512-PhmXi5XmoyKw1Un4E+opM2KcsJInDvKyuOumcjjw3waw86ZNjHwVUOOWLc4bCzLdcKNaWBH9e99sbWzDQsVaYg==} resolution: {integrity: sha512-PhmXi5XmoyKw1Un4E+opM2KcsJInDvKyuOumcjjw3waw86ZNjHwVUOOWLc4bCzLdcKNaWBH9e99sbWzDQsVaYg==}
engines: {node: '>=0.10.0'} engines: {node: '>=0.10.0'}
...@@ -4244,6 +4581,9 @@ packages: ...@@ -4244,6 +4581,9 @@ packages:
engines: {node: '>=10.13.0'} engines: {node: '>=10.13.0'}
hasBin: true hasBin: true
pretty-error@2.1.2:
resolution: {integrity: sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==}
pretty-error@4.0.0: pretty-error@4.0.0:
resolution: {integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==} resolution: {integrity: sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==}
...@@ -4307,6 +4647,10 @@ packages: ...@@ -4307,6 +4647,10 @@ packages:
resolution: {integrity: sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==} resolution: {integrity: sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==}
engines: {node: '>=0.6'} engines: {node: '>=0.6'}
query-string@4.3.4:
resolution: {integrity: sha512-O2XLNDBIg1DnTOa+2XrIwSiXEV8h2KImXUnjhhn2+UsvZ+Es2uyd5CCRTNQlDGbzUQOW3aYCBx9rVA6dzsiY7Q==}
engines: {node: '>=0.10.0'}
query-string@5.1.1: query-string@5.1.1:
resolution: {integrity: sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==} resolution: {integrity: sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw==}
engines: {node: '>=0.10.0'} engines: {node: '>=0.10.0'}
...@@ -4389,6 +4733,10 @@ packages: ...@@ -4389,6 +4733,10 @@ packages:
regenerator-runtime@0.11.1: regenerator-runtime@0.11.1:
resolution: {integrity: sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==} resolution: {integrity: sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==}
regex-not@1.0.2:
resolution: {integrity: sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==}
engines: {node: '>=0.10.0'}
regexp.prototype.flags@1.5.4: regexp.prototype.flags@1.5.4:
resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
...@@ -4408,9 +4756,20 @@ packages: ...@@ -4408,9 +4756,20 @@ packages:
resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==} resolution: {integrity: sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==}
engines: {node: '>= 0.10'} engines: {node: '>= 0.10'}
renderkid@2.0.7:
resolution: {integrity: sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==}
renderkid@3.0.0: renderkid@3.0.0:
resolution: {integrity: sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==} resolution: {integrity: sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==}
repeat-element@1.1.4:
resolution: {integrity: sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==}
engines: {node: '>=0.10.0'}
repeat-string@1.6.1:
resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==}
engines: {node: '>=0.10'}
repeating@2.0.1: repeating@2.0.1:
resolution: {integrity: sha512-ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A==} resolution: {integrity: sha512-ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A==}
engines: {node: '>=0.10.0'} engines: {node: '>=0.10.0'}
...@@ -4445,6 +4804,10 @@ packages: ...@@ -4445,6 +4804,10 @@ packages:
resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==}
engines: {node: '>=4'} engines: {node: '>=4'}
resolve-url@0.2.1:
resolution: {integrity: sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==}
deprecated: https://github.com/lydell/resolve-url#deprecated
resolve@1.22.10: resolve@1.22.10:
resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==} resolution: {integrity: sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
...@@ -4461,6 +4824,10 @@ packages: ...@@ -4461,6 +4824,10 @@ packages:
resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==}
engines: {node: '>=8'} engines: {node: '>=8'}
ret@0.1.15:
resolution: {integrity: sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==}
engines: {node: '>=0.12'}
retry@0.13.1: retry@0.13.1:
resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==}
engines: {node: '>= 4'} engines: {node: '>= 4'}
...@@ -4500,6 +4867,9 @@ packages: ...@@ -4500,6 +4867,9 @@ packages:
resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==} resolution: {integrity: sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
safe-regex@1.1.0:
resolution: {integrity: sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==}
safer-buffer@2.1.2: safer-buffer@2.1.2:
resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
...@@ -4551,6 +4921,13 @@ packages: ...@@ -4551,6 +4921,13 @@ packages:
resolution: {integrity: sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==} resolution: {integrity: sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==}
engines: {node: '>= 10.13.0'} engines: {node: '>= 10.13.0'}
script-ext-html-webpack-plugin@2.1.3:
resolution: {integrity: sha512-a/gqxJFw2IAs8LK/ZFBKv1YoeFysbntdiLBVdNfgHgMKWW1mMcRGY6Hm3aihSaY9tqqhcaXuQJ4nn19loNbkuQ==}
engines: {node: '>=6.11.5'}
peerDependencies:
html-webpack-plugin: ^3.0.0 || ^4.0.0
webpack: ^1.0.0 || ^2.0.0 || ^3.0.0 || ^4.0.0
scss-tokenizer@0.2.3: scss-tokenizer@0.2.3:
resolution: {integrity: sha512-dYE8LhncfBUar6POCxMTm0Ln+erjeczqEvCJib5/7XNkdw1FkUGgwMPY360FY0FgPWQxHWCx29Jl3oejyGLM9Q==} resolution: {integrity: sha512-dYE8LhncfBUar6POCxMTm0Ln+erjeczqEvCJib5/7XNkdw1FkUGgwMPY360FY0FgPWQxHWCx29Jl3oejyGLM9Q==}
...@@ -4596,6 +4973,10 @@ packages: ...@@ -4596,6 +4973,10 @@ packages:
engines: {node: '>=10'} engines: {node: '>=10'}
hasBin: true hasBin: true
send@0.16.2:
resolution: {integrity: sha512-E64YFPUssFHEFBvpbbjr44NCLtI1AohxQ8ZSiJjQLskAdKuriYEP6VyGEsRDH8ScozGpkaX1BGvhanqCwkcEZw==}
engines: {node: '>= 0.8.0'}
send@0.19.0: send@0.19.0:
resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==} resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==}
engines: {node: '>= 0.8.0'} engines: {node: '>= 0.8.0'}
...@@ -4607,6 +4988,10 @@ packages: ...@@ -4607,6 +4988,10 @@ packages:
resolution: {integrity: sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==} resolution: {integrity: sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==}
engines: {node: '>= 0.8.0'} engines: {node: '>= 0.8.0'}
serve-static@1.13.2:
resolution: {integrity: sha512-p/tdJrO4U387R9oMjb1oj7qSMaMfmOyd4j9hOFoxZe2baQszgHcSWjuya/CiT5kgZZKRudHNOA0pYXOl8rQ5nw==}
engines: {node: '>= 0.8.0'}
serve-static@1.16.2: serve-static@1.16.2:
resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==} resolution: {integrity: sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==}
engines: {node: '>= 0.8.0'} engines: {node: '>= 0.8.0'}
...@@ -4626,6 +5011,10 @@ packages: ...@@ -4626,6 +5011,10 @@ packages:
resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==} resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
set-value@2.0.1:
resolution: {integrity: sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==}
engines: {node: '>=0.10.0'}
setprototypeof@1.1.0: setprototypeof@1.1.0:
resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==} resolution: {integrity: sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==}
...@@ -4683,6 +5072,18 @@ packages: ...@@ -4683,6 +5072,18 @@ packages:
resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==}
engines: {node: '>=8'} engines: {node: '>=8'}
snapdragon-node@2.1.1:
resolution: {integrity: sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==}
engines: {node: '>=0.10.0'}
snapdragon-util@3.0.1:
resolution: {integrity: sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==}
engines: {node: '>=0.10.0'}
snapdragon@0.8.2:
resolution: {integrity: sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==}
engines: {node: '>=0.10.0'}
sockjs@0.3.24: sockjs@0.3.24:
resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==} resolution: {integrity: sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==}
...@@ -4705,9 +5106,17 @@ packages: ...@@ -4705,9 +5106,17 @@ packages:
resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
engines: {node: '>=0.10.0'} engines: {node: '>=0.10.0'}
source-map-resolve@0.5.3:
resolution: {integrity: sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==}
deprecated: See https://github.com/lydell/source-map-resolve#deprecated
source-map-support@0.5.21: source-map-support@0.5.21:
resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==}
source-map-url@0.4.1:
resolution: {integrity: sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==}
deprecated: See https://github.com/lydell/source-map-url#deprecated
source-map@0.4.4: source-map@0.4.4:
resolution: {integrity: sha512-Y8nIfcb1s/7DcobUz1yOO1GSp7gyL+D9zLHDehT7iRESqGSxjJ448Sg7rvfgsRJCnKLdSl11uGf0s9X80cH0/A==} resolution: {integrity: sha512-Y8nIfcb1s/7DcobUz1yOO1GSp7gyL+D9zLHDehT7iRESqGSxjJ448Sg7rvfgsRJCnKLdSl11uGf0s9X80cH0/A==}
engines: {node: '>=0.8.0'} engines: {node: '>=0.8.0'}
...@@ -4739,6 +5148,10 @@ packages: ...@@ -4739,6 +5148,10 @@ packages:
resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==} resolution: {integrity: sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==}
engines: {node: '>=6.0.0'} engines: {node: '>=6.0.0'}
split-string@3.1.0:
resolution: {integrity: sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==}
engines: {node: '>=0.10.0'}
sprintf-js@1.0.3: sprintf-js@1.0.3:
resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
...@@ -4762,6 +5175,14 @@ packages: ...@@ -4762,6 +5175,14 @@ packages:
stackframe@1.3.4: stackframe@1.3.4:
resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==} resolution: {integrity: sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==}
static-extend@0.1.2:
resolution: {integrity: sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==}
engines: {node: '>=0.10.0'}
statuses@1.4.0:
resolution: {integrity: sha512-zhSCtt8v2NDrRlPQpCNtw/heZLtfUDqxBM1udqikb/Hbk52LK4nQSwr10u77iopCW5LsyHpuXS0GnEc48mLeew==}
engines: {node: '>= 0.6'}
statuses@1.5.0: statuses@1.5.0:
resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==} resolution: {integrity: sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==}
engines: {node: '>= 0.6'} engines: {node: '>= 0.6'}
...@@ -4891,9 +5312,25 @@ packages: ...@@ -4891,9 +5312,25 @@ packages:
resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
svg-baker-runtime@1.4.7:
resolution: {integrity: sha512-Zorfwwj5+lWjk/oxwSMsRdS2sPQQdTmmsvaSpzU+i9ZWi3zugHLt6VckWfnswphQP0LmOel3nggpF5nETbt6xw==}
svg-baker@1.7.0:
resolution: {integrity: sha512-nibslMbkXOIkqKVrfcncwha45f97fGuAOn1G99YwnwTj8kF9YiM6XexPcUso97NxOm6GsP0SIvYVIosBis1xLg==}
svg-sprite-loader@6.0.9:
resolution: {integrity: sha512-V/F3iI1J/xWeO0cRXkEFvhujvBQ3deAPFlhip+AW00Hs+9gighu619mblucIWdRPmDMfcSWJD/ZuXf6HldIskw==}
engines: {node: '>=6'}
svg-tags@1.0.0: svg-tags@1.0.0:
resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==} resolution: {integrity: sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==}
svgo@1.2.2:
resolution: {integrity: sha512-rAfulcwp2D9jjdGu+0CuqlrAUin6bBWrpoqXWwKDZZZJfXcUXQSxLJOFJCQCSA0x0pP2U0TxSlJu2ROq5Bq6qA==}
engines: {node: '>=4.0.0'}
deprecated: This SVGO version is no longer supported. Upgrade to v2.x.x.
hasBin: true
svgo@1.3.2: svgo@1.3.2:
resolution: {integrity: sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==} resolution: {integrity: sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==}
engines: {node: '>=4.0.0'} engines: {node: '>=4.0.0'}
...@@ -4905,6 +5342,10 @@ packages: ...@@ -4905,6 +5342,10 @@ packages:
engines: {node: '>=10.13.0'} engines: {node: '>=10.13.0'}
hasBin: true hasBin: true
tapable@1.1.3:
resolution: {integrity: sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==}
engines: {node: '>=6'}
tapable@2.2.1: tapable@2.2.1:
resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==}
engines: {node: '>=6'} engines: {node: '>=6'}
...@@ -4989,14 +5430,29 @@ packages: ...@@ -4989,14 +5430,29 @@ packages:
resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
engines: {node: '>=4'} engines: {node: '>=4'}
to-object-path@0.3.0:
resolution: {integrity: sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==}
engines: {node: '>=0.10.0'}
to-regex-range@2.1.1:
resolution: {integrity: sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==}
engines: {node: '>=0.10.0'}
to-regex-range@5.0.1: to-regex-range@5.0.1:
resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
engines: {node: '>=8.0'} engines: {node: '>=8.0'}
to-regex@3.0.2:
resolution: {integrity: sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==}
engines: {node: '>=0.10.0'}
toidentifier@1.0.1: toidentifier@1.0.1:
resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==}
engines: {node: '>=0.6'} engines: {node: '>=0.6'}
toposort@1.0.7:
resolution: {integrity: sha512-FclLrw8b9bMWf4QlCJuHBEVhSRsqDj6u3nIjAzPeJvgl//1hBlffdlk0MALceL14+koWEdU4ofRAXofbODxQzg==}
totalist@3.0.1: totalist@3.0.1:
resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==}
engines: {node: '>=6'} engines: {node: '>=6'}
...@@ -5008,6 +5464,10 @@ packages: ...@@ -5008,6 +5464,10 @@ packages:
tr46@0.0.3: tr46@0.0.3:
resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
traverse@0.6.11:
resolution: {integrity: sha512-vxXDZg8/+p3gblxB6BhhG5yWVn1kGRlaL8O78UDXc3wRnPizB5g83dcvWV1jpDMIPnjZjOFuxlMmE82XJ4407w==}
engines: {node: '>= 0.4'}
trim-newlines@1.0.0: trim-newlines@1.0.0:
resolution: {integrity: sha512-Nm4cF79FhSTzrLKGDMi3I4utBtFv8qKy4sq1enftf2gMdpqI8oVQTAfySkTz5r49giVzDj88SVZXP4CeYQwjaw==} resolution: {integrity: sha512-Nm4cF79FhSTzrLKGDMi3I4utBtFv8qKy4sq1enftf2gMdpqI8oVQTAfySkTz5r49giVzDj88SVZXP4CeYQwjaw==}
engines: {node: '>=0.10.0'} engines: {node: '>=0.10.0'}
...@@ -5060,6 +5520,15 @@ packages: ...@@ -5060,6 +5520,15 @@ packages:
resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==} resolution: {integrity: sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
typedarray.prototype.slice@1.0.5:
resolution: {integrity: sha512-q7QNVDGTdl702bVFiI5eY4l/HkgCM6at9KhcFbgUAzezHFbOVy4+0O/lCjsABEQwbZPravVfBIiBVGo89yzHFg==}
engines: {node: '>= 0.4'}
uglify-js@3.4.10:
resolution: {integrity: sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==}
engines: {node: '>=0.8.0'}
hasBin: true
unbox-primitive@1.1.0: unbox-primitive@1.1.0:
resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==}
engines: {node: '>= 0.4'} engines: {node: '>= 0.4'}
...@@ -5090,6 +5559,14 @@ packages: ...@@ -5090,6 +5559,14 @@ packages:
resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==} resolution: {integrity: sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==}
engines: {node: '>=4'} engines: {node: '>=4'}
unidecode@0.1.8:
resolution: {integrity: sha512-SdoZNxCWpN2tXTCrGkPF/0rL2HEq+i2gwRG1ReBvx8/0yTzC3enHfugOf8A9JBShVwwrRIkLX0YcDUGbzjbVCA==}
engines: {node: '>= 0.4.12'}
union-value@1.0.1:
resolution: {integrity: sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==}
engines: {node: '>=0.10.0'}
universalify@2.0.1: universalify@2.0.1:
resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==}
engines: {node: '>= 10.0.0'} engines: {node: '>= 10.0.0'}
...@@ -5101,15 +5578,26 @@ packages: ...@@ -5101,15 +5578,26 @@ packages:
unquote@1.1.1: unquote@1.1.1:
resolution: {integrity: sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==} resolution: {integrity: sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==}
unset-value@1.0.0:
resolution: {integrity: sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==}
engines: {node: '>=0.10.0'}
update-browserslist-db@1.1.3: update-browserslist-db@1.1.3:
resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==} resolution: {integrity: sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==}
hasBin: true hasBin: true
peerDependencies: peerDependencies:
browserslist: '>= 4.21.0' browserslist: '>= 4.21.0'
upper-case@1.1.3:
resolution: {integrity: sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==}
uri-js@4.4.1: uri-js@4.4.1:
resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==}
urix@0.1.0:
resolution: {integrity: sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==}
deprecated: Please see https://github.com/lydell/urix#deprecated
url-parse-lax@1.0.0: url-parse-lax@1.0.0:
resolution: {integrity: sha512-BVA4lR5PIviy2PMseNd2jbFQ+jwSwQGdJejf5ctd1rEXt0Ypd7yanUK9+lYechVlN5VaTJGsu2U/3MDDu6KgBA==} resolution: {integrity: sha512-BVA4lR5PIviy2PMseNd2jbFQ+jwSwQGdJejf5ctd1rEXt0Ypd7yanUK9+lYechVlN5VaTJGsu2U/3MDDu6KgBA==}
engines: {node: '>=0.10.0'} engines: {node: '>=0.10.0'}
...@@ -5118,6 +5606,9 @@ packages: ...@@ -5118,6 +5606,9 @@ packages:
resolution: {integrity: sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==} resolution: {integrity: sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==}
engines: {node: '>=4'} engines: {node: '>=4'}
url-slug@2.0.0:
resolution: {integrity: sha512-aiNmSsVgrjCiJ2+KWPferjT46YFKoE8i0YX04BlMVDue022Xwhg/zYlnZ6V9/mP3p8Wj7LEp0myiTkC/p6sxew==}
url-to-options@1.0.1: url-to-options@1.0.1:
resolution: {integrity: sha512-0kQLIzG4fdk/G5NONku64rSH/x32NOA39LVQqlK8Le6lvTF6GGRJpqaQFGgU+CLwySIqBSMdwYM0sYcW9f6P4A==} resolution: {integrity: sha512-0kQLIzG4fdk/G5NONku64rSH/x32NOA39LVQqlK8Le6lvTF6GGRJpqaQFGgU+CLwySIqBSMdwYM0sYcW9f6P4A==}
engines: {node: '>= 4'} engines: {node: '>= 4'}
...@@ -5131,9 +5622,16 @@ packages: ...@@ -5131,9 +5622,16 @@ packages:
proxy-agent: proxy-agent:
optional: true optional: true
use@3.1.1:
resolution: {integrity: sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==}
engines: {node: '>=0.10.0'}
util-deprecate@1.0.2: util-deprecate@1.0.2:
resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==}
util.promisify@1.0.0:
resolution: {integrity: sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==}
util.promisify@1.0.1: util.promisify@1.0.1:
resolution: {integrity: sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==} resolution: {integrity: sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==}
...@@ -6388,8 +6886,7 @@ snapshots: ...@@ -6388,8 +6886,7 @@ snapshots:
'@types/parse-json@4.0.2': {} '@types/parse-json@4.0.2': {}
'@types/q@1.5.8': '@types/q@1.5.8': {}
optional: true
'@types/qs@6.14.0': {} '@types/qs@6.14.0': {}
...@@ -7052,13 +7549,17 @@ snapshots: ...@@ -7052,13 +7549,17 @@ snapshots:
argparse@1.0.10: argparse@1.0.10:
dependencies: dependencies:
sprintf-js: 1.0.3 sprintf-js: 1.0.3
optional: true
arr-diff@4.0.0: {}
arr-flatten@1.1.0: {}
arr-union@3.1.0: {}
array-buffer-byte-length@1.0.2: array-buffer-byte-length@1.0.2:
dependencies: dependencies:
call-bound: 1.0.4 call-bound: 1.0.4
is-array-buffer: 3.0.5 is-array-buffer: 3.0.5
optional: true
array-find-index@1.0.2: array-find-index@1.0.2:
optional: true optional: true
...@@ -7067,6 +7568,8 @@ snapshots: ...@@ -7067,6 +7568,8 @@ snapshots:
array-union@2.1.0: {} array-union@2.1.0: {}
array-unique@0.3.2: {}
array.prototype.reduce@1.0.8: array.prototype.reduce@1.0.8:
dependencies: dependencies:
call-bind: 1.0.8 call-bind: 1.0.8
...@@ -7077,7 +7580,6 @@ snapshots: ...@@ -7077,7 +7580,6 @@ snapshots:
es-errors: 1.3.0 es-errors: 1.3.0
es-object-atoms: 1.1.1 es-object-atoms: 1.1.1
is-string: 1.1.1 is-string: 1.1.1
optional: true
arraybuffer.prototype.slice@1.0.4: arraybuffer.prototype.slice@1.0.4:
dependencies: dependencies:
...@@ -7088,7 +7590,6 @@ snapshots: ...@@ -7088,7 +7590,6 @@ snapshots:
es-errors: 1.3.0 es-errors: 1.3.0
get-intrinsic: 1.3.0 get-intrinsic: 1.3.0
is-array-buffer: 3.0.5 is-array-buffer: 3.0.5
optional: true
asn1@0.2.6: asn1@0.2.6:
dependencies: dependencies:
...@@ -7098,11 +7599,12 @@ snapshots: ...@@ -7098,11 +7599,12 @@ snapshots:
assert-plus@1.0.0: assert-plus@1.0.0:
optional: true optional: true
assign-symbols@1.0.0: {}
async-foreach@0.1.3: async-foreach@0.1.3:
optional: true optional: true
async-function@1.0.0: async-function@1.0.0: {}
optional: true
async-validator@1.8.5: async-validator@1.8.5:
dependencies: dependencies:
...@@ -7114,6 +7616,8 @@ snapshots: ...@@ -7114,6 +7616,8 @@ snapshots:
at-least-node@1.0.0: {} at-least-node@1.0.0: {}
atob@2.1.2: {}
autoprefixer@10.4.21(postcss@8.5.3): autoprefixer@10.4.21(postcss@8.5.3):
dependencies: dependencies:
browserslist: 4.24.5 browserslist: 4.24.5
...@@ -7127,7 +7631,6 @@ snapshots: ...@@ -7127,7 +7631,6 @@ snapshots:
available-typed-arrays@1.0.7: available-typed-arrays@1.0.7:
dependencies: dependencies:
possible-typed-array-names: 1.1.0 possible-typed-array-names: 1.1.0
optional: true
aws-sign2@0.7.0: aws-sign2@0.7.0:
optional: true optional: true
...@@ -7203,6 +7706,16 @@ snapshots: ...@@ -7203,6 +7706,16 @@ snapshots:
base64-js@1.5.1: {} base64-js@1.5.1: {}
base@0.11.2:
dependencies:
cache-base: 1.0.1
class-utils: 0.3.6
component-emitter: 1.3.1
define-property: 1.0.0
isobject: 3.0.1
mixin-deep: 1.3.2
pascalcase: 0.1.1
batch@0.6.1: {} batch@0.6.1: {}
bcrypt-pbkdf@1.0.2: bcrypt-pbkdf@1.0.2:
...@@ -7247,6 +7760,8 @@ snapshots: ...@@ -7247,6 +7760,8 @@ snapshots:
- proxy-agent - proxy-agent
- supports-color - supports-color
big.js@3.2.0: {}
big.js@5.2.2: {} big.js@5.2.2: {}
bin-build@3.0.0: bin-build@3.0.0:
...@@ -7345,6 +7860,21 @@ snapshots: ...@@ -7345,6 +7860,21 @@ snapshots:
concat-map: 0.0.1 concat-map: 0.0.1
optional: true optional: true
braces@2.3.2:
dependencies:
arr-flatten: 1.1.0
array-unique: 0.3.2
extend-shallow: 2.0.1
fill-range: 4.0.0
isobject: 3.0.1
repeat-element: 1.1.4
snapdragon: 0.8.2
snapdragon-node: 2.1.1
split-string: 3.1.0
to-regex: 3.0.2
transitivePeerDependencies:
- supports-color
braces@3.0.3: braces@3.0.3:
dependencies: dependencies:
fill-range: 7.1.1 fill-range: 7.1.1
...@@ -7382,6 +7912,18 @@ snapshots: ...@@ -7382,6 +7912,18 @@ snapshots:
bytes@3.1.2: {} bytes@3.1.2: {}
cache-base@1.0.1:
dependencies:
collection-visit: 1.0.0
component-emitter: 1.3.1
get-value: 2.0.6
has-value: 1.0.0
isobject: 3.0.1
set-value: 2.0.1
to-object-path: 0.3.0
union-value: 1.0.1
unset-value: 1.0.0
cacheable-request@2.1.4: cacheable-request@2.1.4:
dependencies: dependencies:
clone-response: 1.0.2 clone-response: 1.0.2
...@@ -7412,6 +7954,11 @@ snapshots: ...@@ -7412,6 +7954,11 @@ snapshots:
callsites@3.1.0: {} callsites@3.1.0: {}
camel-case@3.0.0:
dependencies:
no-case: 2.3.2
upper-case: 1.1.3
camel-case@4.1.2: camel-case@4.1.2:
dependencies: dependencies:
pascal-case: 3.1.2 pascal-case: 3.1.2
...@@ -7492,13 +8039,24 @@ snapshots: ...@@ -7492,13 +8039,24 @@ snapshots:
chrome-trace-event@1.0.4: {} chrome-trace-event@1.0.4: {}
clean-css@5.3.3: class-utils@0.3.6:
dependencies: dependencies:
source-map: 0.6.1 arr-union: 3.1.0
define-property: 0.2.5
isobject: 3.0.1
static-extend: 0.1.2
cli-cursor@2.1.0: clean-css@4.2.4:
dependencies: dependencies:
restore-cursor: 2.0.0 source-map: 0.6.1
clean-css@5.3.3:
dependencies:
source-map: 0.6.1
cli-cursor@2.1.0:
dependencies:
restore-cursor: 2.0.0
cli-cursor@3.1.0: cli-cursor@3.1.0:
dependencies: dependencies:
...@@ -7560,11 +8118,15 @@ snapshots: ...@@ -7560,11 +8118,15 @@ snapshots:
'@types/q': 1.5.8 '@types/q': 1.5.8
chalk: 2.4.2 chalk: 2.4.2
q: 1.5.1 q: 1.5.1
optional: true
code-point-at@1.1.0: code-point-at@1.1.0:
optional: true optional: true
collection-visit@1.0.0:
dependencies:
map-visit: 1.0.0
object-visit: 1.0.1
color-convert@1.9.3: color-convert@1.9.3:
dependencies: dependencies:
color-name: 1.1.3 color-name: 1.1.3
...@@ -7585,6 +8147,10 @@ snapshots: ...@@ -7585,6 +8147,10 @@ snapshots:
dependencies: dependencies:
delayed-stream: 1.0.0 delayed-stream: 1.0.0
commander@2.17.1: {}
commander@2.19.0: {}
commander@2.20.3: {} commander@2.20.3: {}
commander@7.2.0: {} commander@7.2.0: {}
...@@ -7593,6 +8159,8 @@ snapshots: ...@@ -7593,6 +8159,8 @@ snapshots:
commondir@1.0.1: {} commondir@1.0.1: {}
component-emitter@1.3.1: {}
compressible@2.0.18: compressible@2.0.18:
dependencies: dependencies:
mime-db: 1.54.0 mime-db: 1.54.0
...@@ -7643,6 +8211,8 @@ snapshots: ...@@ -7643,6 +8211,8 @@ snapshots:
cookie@0.7.1: {} cookie@0.7.1: {}
copy-descriptor@0.1.1: {}
copy-text-to-clipboard@3.2.0: {} copy-text-to-clipboard@3.2.0: {}
copy-to@2.0.1: {} copy-to@2.0.1: {}
...@@ -7742,8 +8312,7 @@ snapshots: ...@@ -7742,8 +8312,7 @@ snapshots:
source-map: 0.6.1 source-map: 0.6.1
webpack: 5.99.8 webpack: 5.99.8
css-select-base-adapter@0.1.1: css-select-base-adapter@0.1.1: {}
optional: true
css-select@2.1.0: css-select@2.1.0:
dependencies: dependencies:
...@@ -7751,7 +8320,6 @@ snapshots: ...@@ -7751,7 +8320,6 @@ snapshots:
css-what: 3.4.2 css-what: 3.4.2
domutils: 1.7.0 domutils: 1.7.0
nth-check: 1.0.2 nth-check: 1.0.2
optional: true
css-select@4.3.0: css-select@4.3.0:
dependencies: dependencies:
...@@ -7761,6 +8329,16 @@ snapshots: ...@@ -7761,6 +8329,16 @@ snapshots:
domutils: 2.8.0 domutils: 2.8.0
nth-check: 2.1.1 nth-check: 2.1.1
css-tree@1.0.0-alpha.28:
dependencies:
mdn-data: 1.1.4
source-map: 0.5.7
css-tree@1.0.0-alpha.29:
dependencies:
mdn-data: 1.1.4
source-map: 0.5.7
css-tree@1.0.0-alpha.37: css-tree@1.0.0-alpha.37:
dependencies: dependencies:
mdn-data: 2.0.4 mdn-data: 2.0.4
...@@ -7772,8 +8350,9 @@ snapshots: ...@@ -7772,8 +8350,9 @@ snapshots:
mdn-data: 2.0.14 mdn-data: 2.0.14
source-map: 0.6.1 source-map: 0.6.1
css-what@3.4.2: css-url-regex@1.1.0: {}
optional: true
css-what@3.4.2: {}
css-what@6.1.0: {} css-what@6.1.0: {}
...@@ -7823,6 +8402,10 @@ snapshots: ...@@ -7823,6 +8402,10 @@ snapshots:
postcss: 8.5.3 postcss: 8.5.3
yaml: 1.10.2 yaml: 1.10.2
csso@3.5.1:
dependencies:
css-tree: 1.0.0-alpha.29
csso@4.2.0: csso@4.2.0:
dependencies: dependencies:
css-tree: 1.1.3 css-tree: 1.1.3
...@@ -7851,21 +8434,18 @@ snapshots: ...@@ -7851,21 +8434,18 @@ snapshots:
call-bound: 1.0.4 call-bound: 1.0.4
es-errors: 1.3.0 es-errors: 1.3.0
is-data-view: 1.0.2 is-data-view: 1.0.2
optional: true
data-view-byte-length@1.0.2: data-view-byte-length@1.0.2:
dependencies: dependencies:
call-bound: 1.0.4 call-bound: 1.0.4
es-errors: 1.3.0 es-errors: 1.3.0
is-data-view: 1.0.2 is-data-view: 1.0.2
optional: true
data-view-byte-offset@1.0.1: data-view-byte-offset@1.0.1:
dependencies: dependencies:
call-bound: 1.0.4 call-bound: 1.0.4
es-errors: 1.3.0 es-errors: 1.3.0
is-data-view: 1.0.2 is-data-view: 1.0.2
optional: true
dateformat@2.2.0: {} dateformat@2.2.0: {}
...@@ -7888,8 +8468,7 @@ snapshots: ...@@ -7888,8 +8468,7 @@ snapshots:
decamelize@1.2.0: decamelize@1.2.0:
optional: true optional: true
decode-uri-component@0.2.2: decode-uri-component@0.2.2: {}
optional: true
decompress-response@3.3.0: decompress-response@3.3.0:
dependencies: dependencies:
...@@ -7948,6 +8527,8 @@ snapshots: ...@@ -7948,6 +8527,8 @@ snapshots:
object-keys: 1.1.1 object-keys: 1.1.1
regexp.prototype.flags: 1.5.4 regexp.prototype.flags: 1.5.4
deepmerge@1.3.2: {}
deepmerge@1.5.2: {} deepmerge@1.5.2: {}
default-gateway@6.0.3: default-gateway@6.0.3:
...@@ -7976,6 +8557,19 @@ snapshots: ...@@ -7976,6 +8557,19 @@ snapshots:
has-property-descriptors: 1.0.2 has-property-descriptors: 1.0.2
object-keys: 1.1.1 object-keys: 1.1.1
define-property@0.2.5:
dependencies:
is-descriptor: 0.1.7
define-property@1.0.0:
dependencies:
is-descriptor: 1.0.3
define-property@2.0.2:
dependencies:
is-descriptor: 1.0.3
isobject: 3.0.1
delayed-stream@1.0.0: {} delayed-stream@1.0.0: {}
delegate@3.2.0: {} delegate@3.2.0: {}
...@@ -7987,6 +8581,8 @@ snapshots: ...@@ -7987,6 +8581,8 @@ snapshots:
depd@2.0.0: {} depd@2.0.0: {}
destroy@1.0.4: {}
destroy@1.2.0: {} destroy@1.2.0: {}
detect-libc@1.0.3: detect-libc@1.0.3:
...@@ -8016,7 +8612,6 @@ snapshots: ...@@ -8016,7 +8612,6 @@ snapshots:
dependencies: dependencies:
domelementtype: 2.3.0 domelementtype: 2.3.0
entities: 2.2.0 entities: 2.2.0
optional: true
dom-serializer@1.4.1: dom-serializer@1.4.1:
dependencies: dependencies:
...@@ -8024,11 +8619,14 @@ snapshots: ...@@ -8024,11 +8619,14 @@ snapshots:
domhandler: 4.3.1 domhandler: 4.3.1
entities: 2.2.0 entities: 2.2.0
domelementtype@1.3.1: domelementtype@1.3.1: {}
optional: true
domelementtype@2.3.0: {} domelementtype@2.3.0: {}
domhandler@2.4.2:
dependencies:
domelementtype: 1.3.1
domhandler@4.3.1: domhandler@4.3.1:
dependencies: dependencies:
domelementtype: 2.3.0 domelementtype: 2.3.0
...@@ -8037,11 +8635,12 @@ snapshots: ...@@ -8037,11 +8635,12 @@ snapshots:
optionalDependencies: optionalDependencies:
'@types/trusted-types': 2.0.7 '@types/trusted-types': 2.0.7
domready@1.0.8: {}
domutils@1.7.0: domutils@1.7.0:
dependencies: dependencies:
dom-serializer: 0.2.2 dom-serializer: 0.2.2
domelementtype: 1.3.1 domelementtype: 1.3.1
optional: true
domutils@2.8.0: domutils@2.8.0:
dependencies: dependencies:
...@@ -8129,6 +8728,8 @@ snapshots: ...@@ -8129,6 +8728,8 @@ snapshots:
emoji-regex@8.0.0: {} emoji-regex@8.0.0: {}
emojis-list@2.1.0: {}
emojis-list@3.0.0: {} emojis-list@3.0.0: {}
encodeurl@1.0.2: {} encodeurl@1.0.2: {}
...@@ -8146,6 +8747,8 @@ snapshots: ...@@ -8146,6 +8747,8 @@ snapshots:
graceful-fs: 4.2.11 graceful-fs: 4.2.11
tapable: 2.2.1 tapable: 2.2.1
entities@1.1.2: {}
entities@2.2.0: {} entities@2.2.0: {}
entities@4.5.0: {} entities@4.5.0: {}
...@@ -8211,10 +8814,8 @@ snapshots: ...@@ -8211,10 +8814,8 @@ snapshots:
typed-array-length: 1.0.7 typed-array-length: 1.0.7
unbox-primitive: 1.1.0 unbox-primitive: 1.1.0
which-typed-array: 1.1.19 which-typed-array: 1.1.19
optional: true
es-array-method-boxes-properly@1.0.0: es-array-method-boxes-properly@1.0.0: {}
optional: true
es-define-property@1.0.1: {} es-define-property@1.0.1: {}
...@@ -8238,7 +8839,6 @@ snapshots: ...@@ -8238,7 +8839,6 @@ snapshots:
is-callable: 1.2.7 is-callable: 1.2.7
is-date-object: 1.1.0 is-date-object: 1.1.0
is-symbol: 1.1.1 is-symbol: 1.1.1
optional: true
escalade@3.2.0: {} escalade@3.2.0: {}
...@@ -8253,8 +8853,7 @@ snapshots: ...@@ -8253,8 +8853,7 @@ snapshots:
esrecurse: 4.3.0 esrecurse: 4.3.0
estraverse: 4.3.0 estraverse: 4.3.0
esprima@4.0.1: esprima@4.0.1: {}
optional: true
esrecurse@4.3.0: esrecurse@4.3.0:
dependencies: dependencies:
...@@ -8338,6 +8937,18 @@ snapshots: ...@@ -8338,6 +8937,18 @@ snapshots:
pify: 2.3.0 pify: 2.3.0
optional: true optional: true
expand-brackets@2.1.4:
dependencies:
debug: 2.6.9
define-property: 0.2.5
extend-shallow: 2.0.1
posix-character-classes: 0.1.1
regex-not: 1.0.2
snapdragon: 0.8.2
to-regex: 3.0.2
transitivePeerDependencies:
- supports-color
express@4.21.2: express@4.21.2:
dependencies: dependencies:
accepts: 1.3.8 accepts: 1.3.8
...@@ -8389,8 +9000,26 @@ snapshots: ...@@ -8389,8 +9000,26 @@ snapshots:
dependencies: dependencies:
is-extendable: 0.1.1 is-extendable: 0.1.1
extend-shallow@3.0.2:
dependencies:
assign-symbols: 1.0.0
is-extendable: 1.0.1
extend@3.0.2: {} extend@3.0.2: {}
extglob@2.0.4:
dependencies:
array-unique: 0.3.2
define-property: 1.0.0
expand-brackets: 2.1.4
extend-shallow: 2.0.1
fragment-cache: 0.2.1
regex-not: 1.0.2
snapdragon: 0.8.2
to-regex: 3.0.2
transitivePeerDependencies:
- supports-color
extsprintf@1.3.0: extsprintf@1.3.0:
optional: true optional: true
...@@ -8474,6 +9103,13 @@ snapshots: ...@@ -8474,6 +9103,13 @@ snapshots:
trim-repeated: 1.0.0 trim-repeated: 1.0.0
optional: true optional: true
fill-range@4.0.0:
dependencies:
extend-shallow: 2.0.1
is-number: 3.0.0
repeat-string: 1.6.1
to-regex-range: 2.1.1
fill-range@7.1.1: fill-range@7.1.1:
dependencies: dependencies:
to-regex-range: 5.0.1 to-regex-range: 5.0.1
...@@ -8532,7 +9168,8 @@ snapshots: ...@@ -8532,7 +9168,8 @@ snapshots:
for-each@0.3.5: for-each@0.3.5:
dependencies: dependencies:
is-callable: 1.2.7 is-callable: 1.2.7
optional: true
for-in@1.0.2: {}
forever-agent@0.6.1: forever-agent@0.6.1:
optional: true optional: true
...@@ -8562,6 +9199,10 @@ snapshots: ...@@ -8562,6 +9199,10 @@ snapshots:
fraction.js@4.3.7: {} fraction.js@4.3.7: {}
fragment-cache@0.2.1:
dependencies:
map-cache: 0.2.2
fresh@0.5.2: {} fresh@0.5.2: {}
from2@2.3.0: from2@2.3.0:
...@@ -8605,7 +9246,6 @@ snapshots: ...@@ -8605,7 +9246,6 @@ snapshots:
functions-have-names: 1.2.3 functions-have-names: 1.2.3
hasown: 2.0.2 hasown: 2.0.2
is-callable: 1.2.7 is-callable: 1.2.7
optional: true
functions-have-names@1.2.3: {} functions-have-names@1.2.3: {}
...@@ -8680,7 +9320,8 @@ snapshots: ...@@ -8680,7 +9320,8 @@ snapshots:
call-bound: 1.0.4 call-bound: 1.0.4
es-errors: 1.3.0 es-errors: 1.3.0
get-intrinsic: 1.3.0 get-intrinsic: 1.3.0
optional: true
get-value@2.0.6: {}
getpass@0.1.7: getpass@0.1.7:
dependencies: dependencies:
...@@ -8710,7 +9351,7 @@ snapshots: ...@@ -8710,7 +9351,7 @@ snapshots:
fs.realpath: 1.0.0 fs.realpath: 1.0.0
inflight: 1.0.6 inflight: 1.0.6
inherits: 2.0.4 inherits: 2.0.4
minimatch: 3.0.8 minimatch: 3.1.2
once: 1.4.0 once: 1.4.0
path-is-absolute: 1.0.1 path-is-absolute: 1.0.1
optional: true optional: true
...@@ -8730,7 +9371,6 @@ snapshots: ...@@ -8730,7 +9371,6 @@ snapshots:
dependencies: dependencies:
define-properties: 1.2.1 define-properties: 1.2.1
gopd: 1.2.0 gopd: 1.2.0
optional: true
globby@10.0.2: globby@10.0.2:
dependencies: dependencies:
...@@ -8829,8 +9469,7 @@ snapshots: ...@@ -8829,8 +9469,7 @@ snapshots:
dependencies: dependencies:
ansi-regex: 2.1.1 ansi-regex: 2.1.1
has-bigints@1.1.0: has-bigints@1.1.0: {}
optional: true
has-flag@1.0.0: {} has-flag@1.0.0: {}
...@@ -8845,7 +9484,6 @@ snapshots: ...@@ -8845,7 +9484,6 @@ snapshots:
has-proto@1.2.0: has-proto@1.2.0:
dependencies: dependencies:
dunder-proto: 1.0.1 dunder-proto: 1.0.1
optional: true
has-symbol-support-x@1.4.2: has-symbol-support-x@1.4.2:
optional: true optional: true
...@@ -8864,6 +9502,25 @@ snapshots: ...@@ -8864,6 +9502,25 @@ snapshots:
has-unicode@2.0.1: has-unicode@2.0.1:
optional: true optional: true
has-value@0.3.1:
dependencies:
get-value: 2.0.6
has-values: 0.1.4
isobject: 2.1.0
has-value@1.0.0:
dependencies:
get-value: 2.0.6
has-values: 1.0.0
isobject: 3.0.1
has-values@0.1.4: {}
has-values@1.0.0:
dependencies:
is-number: 3.0.0
kind-of: 4.0.0
hash-sum@1.0.2: {} hash-sum@1.0.2: {}
hash-sum@2.0.0: {} hash-sum@2.0.0: {}
...@@ -8899,8 +9556,29 @@ snapshots: ...@@ -8899,8 +9556,29 @@ snapshots:
relateurl: 0.2.7 relateurl: 0.2.7
terser: 5.39.2 terser: 5.39.2
html-minifier@3.5.21:
dependencies:
camel-case: 3.0.0
clean-css: 4.2.4
commander: 2.17.1
he: 1.2.0
param-case: 2.1.1
relateurl: 0.2.7
uglify-js: 3.4.10
html-tags@2.0.0: {} html-tags@2.0.0: {}
html-webpack-plugin@3.2.0(webpack@5.99.8):
dependencies:
html-minifier: 3.5.21
loader-utils: 0.2.17
lodash: 4.17.21
pretty-error: 2.1.2
tapable: 1.1.3
toposort: 1.0.7
util.promisify: 1.0.0
webpack: 5.99.8
html-webpack-plugin@5.6.3(webpack@5.99.8): html-webpack-plugin@5.6.3(webpack@5.99.8):
dependencies: dependencies:
'@types/html-minifier-terser': 6.1.0 '@types/html-minifier-terser': 6.1.0
...@@ -8916,6 +9594,15 @@ snapshots: ...@@ -8916,6 +9594,15 @@ snapshots:
css-line-break: 2.1.0 css-line-break: 2.1.0
text-segmentation: 1.0.3 text-segmentation: 1.0.3
htmlparser2@3.10.1:
dependencies:
domelementtype: 1.3.1
domhandler: 2.4.2
domutils: 1.7.0
entities: 1.1.2
inherits: 2.0.4
readable-stream: 3.6.2
htmlparser2@6.1.0: htmlparser2@6.1.0:
dependencies: dependencies:
domelementtype: 2.3.0 domelementtype: 2.3.0
...@@ -8994,6 +9681,8 @@ snapshots: ...@@ -8994,6 +9681,8 @@ snapshots:
ignore@5.3.2: {} ignore@5.3.2: {}
image-size@0.5.5: {}
image-webpack-loader@6.0.0: image-webpack-loader@6.0.0:
dependencies: dependencies:
imagemin: 7.0.1 imagemin: 7.0.1
...@@ -9097,7 +9786,6 @@ snapshots: ...@@ -9097,7 +9786,6 @@ snapshots:
es-errors: 1.3.0 es-errors: 1.3.0
hasown: 2.0.2 hasown: 2.0.2
side-channel: 1.1.0 side-channel: 1.1.0
optional: true
into-stream@3.1.0: into-stream@3.1.0:
dependencies: dependencies:
...@@ -9109,6 +9797,10 @@ snapshots: ...@@ -9109,6 +9797,10 @@ snapshots:
ipaddr.js@2.2.0: {} ipaddr.js@2.2.0: {}
is-accessor-descriptor@1.0.1:
dependencies:
hasown: 2.0.2
is-arguments@1.2.0: is-arguments@1.2.0:
dependencies: dependencies:
call-bound: 1.0.4 call-bound: 1.0.4
...@@ -9119,7 +9811,6 @@ snapshots: ...@@ -9119,7 +9811,6 @@ snapshots:
call-bind: 1.0.8 call-bind: 1.0.8
call-bound: 1.0.4 call-bound: 1.0.4
get-intrinsic: 1.3.0 get-intrinsic: 1.3.0
optional: true
is-arrayish@0.2.1: {} is-arrayish@0.2.1: {}
...@@ -9130,12 +9821,10 @@ snapshots: ...@@ -9130,12 +9821,10 @@ snapshots:
get-proto: 1.0.1 get-proto: 1.0.1
has-tostringtag: 1.0.2 has-tostringtag: 1.0.2
safe-regex-test: 1.1.0 safe-regex-test: 1.1.0
optional: true
is-bigint@1.1.0: is-bigint@1.1.0:
dependencies: dependencies:
has-bigints: 1.1.0 has-bigints: 1.1.0
optional: true
is-binary-path@2.1.0: is-binary-path@2.1.0:
dependencies: dependencies:
...@@ -9145,10 +9834,10 @@ snapshots: ...@@ -9145,10 +9834,10 @@ snapshots:
dependencies: dependencies:
call-bound: 1.0.4 call-bound: 1.0.4
has-tostringtag: 1.0.2 has-tostringtag: 1.0.2
optional: true
is-callable@1.2.7: is-buffer@1.1.6: {}
optional: true
is-callable@1.2.7: {}
is-class-hotfix@0.0.6: {} is-class-hotfix@0.0.6: {}
...@@ -9161,22 +9850,39 @@ snapshots: ...@@ -9161,22 +9850,39 @@ snapshots:
file-type: 4.4.0 file-type: 4.4.0
optional: true optional: true
is-data-descriptor@1.0.1:
dependencies:
hasown: 2.0.2
is-data-view@1.0.2: is-data-view@1.0.2:
dependencies: dependencies:
call-bound: 1.0.4 call-bound: 1.0.4
get-intrinsic: 1.3.0 get-intrinsic: 1.3.0
is-typed-array: 1.1.15 is-typed-array: 1.1.15
optional: true
is-date-object@1.1.0: is-date-object@1.1.0:
dependencies: dependencies:
call-bound: 1.0.4 call-bound: 1.0.4
has-tostringtag: 1.0.2 has-tostringtag: 1.0.2
is-descriptor@0.1.7:
dependencies:
is-accessor-descriptor: 1.0.1
is-data-descriptor: 1.0.1
is-descriptor@1.0.3:
dependencies:
is-accessor-descriptor: 1.0.1
is-data-descriptor: 1.0.1
is-docker@2.2.1: {} is-docker@2.2.1: {}
is-extendable@0.1.1: {} is-extendable@0.1.1: {}
is-extendable@1.0.1:
dependencies:
is-plain-object: 2.0.4
is-extglob@2.1.1: {} is-extglob@2.1.1: {}
is-file-esm@1.0.0: is-file-esm@1.0.0:
...@@ -9186,7 +9892,6 @@ snapshots: ...@@ -9186,7 +9892,6 @@ snapshots:
is-finalizationregistry@1.1.1: is-finalizationregistry@1.1.1:
dependencies: dependencies:
call-bound: 1.0.4 call-bound: 1.0.4
optional: true
is-finite@1.1.0: is-finite@1.1.0:
optional: true optional: true
...@@ -9206,7 +9911,6 @@ snapshots: ...@@ -9206,7 +9911,6 @@ snapshots:
get-proto: 1.0.1 get-proto: 1.0.1
has-tostringtag: 1.0.2 has-tostringtag: 1.0.2
safe-regex-test: 1.1.0 safe-regex-test: 1.1.0
optional: true
is-gif@3.0.0: is-gif@3.0.0:
dependencies: dependencies:
...@@ -9222,8 +9926,7 @@ snapshots: ...@@ -9222,8 +9926,7 @@ snapshots:
is-jpg@2.0.0: is-jpg@2.0.0:
optional: true optional: true
is-map@2.0.3: is-map@2.0.3: {}
optional: true
is-natural-number@4.0.1: is-natural-number@4.0.1:
optional: true optional: true
...@@ -9232,15 +9935,17 @@ snapshots: ...@@ -9232,15 +9935,17 @@ snapshots:
dependencies: dependencies:
call-bound: 1.0.4 call-bound: 1.0.4
has-tostringtag: 1.0.2 has-tostringtag: 1.0.2
optional: true
is-number@3.0.0:
dependencies:
kind-of: 3.2.2
is-number@7.0.0: {} is-number@7.0.0: {}
is-object@1.0.2: is-object@1.0.2:
optional: true optional: true
is-plain-obj@1.1.0: is-plain-obj@1.1.0: {}
optional: true
is-plain-obj@3.0.0: {} is-plain-obj@3.0.0: {}
...@@ -9261,13 +9966,11 @@ snapshots: ...@@ -9261,13 +9966,11 @@ snapshots:
is-retry-allowed@1.2.0: is-retry-allowed@1.2.0:
optional: true optional: true
is-set@2.0.3: is-set@2.0.3: {}
optional: true
is-shared-array-buffer@1.0.4: is-shared-array-buffer@1.0.4:
dependencies: dependencies:
call-bound: 1.0.4 call-bound: 1.0.4
optional: true
is-stream@1.1.0: {} is-stream@1.1.0: {}
...@@ -9277,7 +9980,6 @@ snapshots: ...@@ -9277,7 +9980,6 @@ snapshots:
dependencies: dependencies:
call-bound: 1.0.4 call-bound: 1.0.4
has-tostringtag: 1.0.2 has-tostringtag: 1.0.2
optional: true
is-svg@4.4.0: is-svg@4.4.0:
dependencies: dependencies:
...@@ -9289,7 +9991,6 @@ snapshots: ...@@ -9289,7 +9991,6 @@ snapshots:
call-bound: 1.0.4 call-bound: 1.0.4
has-symbols: 1.1.0 has-symbols: 1.1.0
safe-regex-test: 1.1.0 safe-regex-test: 1.1.0
optional: true
is-type-of@1.4.0: is-type-of@1.4.0:
dependencies: dependencies:
...@@ -9300,7 +10001,6 @@ snapshots: ...@@ -9300,7 +10001,6 @@ snapshots:
is-typed-array@1.1.15: is-typed-array@1.1.15:
dependencies: dependencies:
which-typed-array: 1.1.19 which-typed-array: 1.1.19
optional: true
is-typedarray@1.0.0: is-typedarray@1.0.0:
optional: true optional: true
...@@ -9310,19 +10010,18 @@ snapshots: ...@@ -9310,19 +10010,18 @@ snapshots:
is-utf8@0.2.1: is-utf8@0.2.1:
optional: true optional: true
is-weakmap@2.0.2: is-weakmap@2.0.2: {}
optional: true
is-weakref@1.1.1: is-weakref@1.1.1:
dependencies: dependencies:
call-bound: 1.0.4 call-bound: 1.0.4
optional: true
is-weakset@2.0.4: is-weakset@2.0.4:
dependencies: dependencies:
call-bound: 1.0.4 call-bound: 1.0.4
get-intrinsic: 1.3.0 get-intrinsic: 1.3.0
optional: true
is-windows@1.0.2: {}
is-wsl@2.2.0: is-wsl@2.2.0:
dependencies: dependencies:
...@@ -9330,11 +10029,14 @@ snapshots: ...@@ -9330,11 +10029,14 @@ snapshots:
isarray@1.0.0: {} isarray@1.0.0: {}
isarray@2.0.5: isarray@2.0.5: {}
optional: true
isexe@2.0.0: {} isexe@2.0.0: {}
isobject@2.1.0:
dependencies:
isarray: 1.0.0
isobject@3.0.1: {} isobject@3.0.1: {}
isstream@0.1.2: {} isstream@0.1.2: {}
...@@ -9373,7 +10075,6 @@ snapshots: ...@@ -9373,7 +10075,6 @@ snapshots:
dependencies: dependencies:
argparse: 1.0.10 argparse: 1.0.10
esprima: 4.0.1 esprima: 4.0.1
optional: true
jsbn@0.1.1: jsbn@0.1.1:
optional: true optional: true
...@@ -9399,6 +10100,8 @@ snapshots: ...@@ -9399,6 +10100,8 @@ snapshots:
json-stringify-safe@5.0.1: json-stringify-safe@5.0.1:
optional: true optional: true
json5@0.5.1: {}
json5@1.0.2: json5@1.0.2:
dependencies: dependencies:
minimist: 1.2.8 minimist: 1.2.8
...@@ -9428,6 +10131,16 @@ snapshots: ...@@ -9428,6 +10131,16 @@ snapshots:
json-buffer: 3.0.0 json-buffer: 3.0.0
optional: true optional: true
kind-of@3.2.2:
dependencies:
is-buffer: 1.1.6
kind-of@4.0.0:
dependencies:
is-buffer: 1.1.6
kind-of@5.1.0: {}
kind-of@6.0.3: {} kind-of@6.0.3: {}
klona@2.0.6: {} klona@2.0.6: {}
...@@ -9458,6 +10171,13 @@ snapshots: ...@@ -9458,6 +10171,13 @@ snapshots:
loader-runner@4.3.0: {} loader-runner@4.3.0: {}
loader-utils@0.2.17:
dependencies:
big.js: 3.2.0
emojis-list: 2.1.0
json5: 0.5.1
object-assign: 4.1.1
loader-utils@1.4.2: loader-utils@1.4.2:
dependencies: dependencies:
big.js: 5.2.2 big.js: 5.2.2
...@@ -9526,6 +10246,8 @@ snapshots: ...@@ -9526,6 +10246,8 @@ snapshots:
signal-exit: 3.0.7 signal-exit: 3.0.7
optional: true optional: true
lower-case@1.1.4: {}
lower-case@2.0.2: lower-case@2.0.2:
dependencies: dependencies:
tslib: 2.8.1 tslib: 2.8.1
...@@ -9570,11 +10292,19 @@ snapshots: ...@@ -9570,11 +10292,19 @@ snapshots:
dependencies: dependencies:
semver: 6.3.1 semver: 6.3.1
map-cache@0.2.2: {}
map-obj@1.0.1: map-obj@1.0.1:
optional: true optional: true
map-visit@1.0.0:
dependencies:
object-visit: 1.0.1
math-intrinsics@1.1.0: {} math-intrinsics@1.1.0: {}
mdn-data@1.1.4: {}
mdn-data@2.0.14: {} mdn-data@2.0.14: {}
mdn-data@2.0.4: mdn-data@2.0.4:
...@@ -9602,6 +10332,10 @@ snapshots: ...@@ -9602,6 +10332,10 @@ snapshots:
merge-descriptors@1.0.3: {} merge-descriptors@1.0.3: {}
merge-options@1.0.1:
dependencies:
is-plain-obj: 1.1.0
merge-source-map@1.1.0: merge-source-map@1.1.0:
dependencies: dependencies:
source-map: 0.6.1 source-map: 0.6.1
...@@ -9612,6 +10346,24 @@ snapshots: ...@@ -9612,6 +10346,24 @@ snapshots:
methods@1.1.2: {} methods@1.1.2: {}
micromatch@3.1.0:
dependencies:
arr-diff: 4.0.0
array-unique: 0.3.2
braces: 2.3.2
define-property: 1.0.0
extend-shallow: 2.0.1
extglob: 2.0.4
fragment-cache: 0.2.1
kind-of: 5.1.0
nanomatch: 1.2.13
object.pick: 1.3.0
regex-not: 1.0.2
snapdragon: 0.8.2
to-regex: 3.0.2
transitivePeerDependencies:
- supports-color
micromatch@4.0.8: micromatch@4.0.8:
dependencies: dependencies:
braces: 3.0.3 braces: 3.0.3
...@@ -9625,6 +10377,8 @@ snapshots: ...@@ -9625,6 +10377,8 @@ snapshots:
dependencies: dependencies:
mime-db: 1.52.0 mime-db: 1.52.0
mime@1.4.1: {}
mime@1.6.0: {} mime@1.6.0: {}
mime@2.6.0: {} mime@2.6.0: {}
...@@ -9659,6 +10413,13 @@ snapshots: ...@@ -9659,6 +10413,13 @@ snapshots:
dependencies: dependencies:
yallist: 4.0.0 yallist: 4.0.0
mitt@1.1.2: {}
mixin-deep@1.3.2:
dependencies:
for-in: 1.0.2
is-extendable: 1.0.1
mkdirp@0.5.6: mkdirp@0.5.6:
dependencies: dependencies:
minimist: 1.2.8 minimist: 1.2.8
...@@ -9698,6 +10459,22 @@ snapshots: ...@@ -9698,6 +10459,22 @@ snapshots:
nanoid@3.3.11: {} nanoid@3.3.11: {}
nanomatch@1.2.13:
dependencies:
arr-diff: 4.0.0
array-unique: 0.3.2
define-property: 2.0.2
extend-shallow: 3.0.2
fragment-cache: 0.2.1
is-windows: 1.0.2
kind-of: 6.0.3
object.pick: 1.3.0
regex-not: 1.0.2
snapdragon: 0.8.2
to-regex: 3.0.2
transitivePeerDependencies:
- supports-color
negotiator@0.6.3: {} negotiator@0.6.3: {}
negotiator@0.6.4: {} negotiator@0.6.4: {}
...@@ -9706,6 +10483,10 @@ snapshots: ...@@ -9706,6 +10483,10 @@ snapshots:
nice-try@1.0.5: {} nice-try@1.0.5: {}
no-case@2.3.2:
dependencies:
lower-case: 1.1.4
no-case@3.0.4: no-case@3.0.4:
dependencies: dependencies:
lower-case: 2.0.2 lower-case: 2.0.2
...@@ -9813,7 +10594,6 @@ snapshots: ...@@ -9813,7 +10594,6 @@ snapshots:
nth-check@1.0.2: nth-check@1.0.2:
dependencies: dependencies:
boolbase: 1.0.0 boolbase: 1.0.0
optional: true
nth-check@2.1.1: nth-check@2.1.1:
dependencies: dependencies:
...@@ -9827,6 +10607,12 @@ snapshots: ...@@ -9827,6 +10607,12 @@ snapshots:
object-assign@4.1.1: {} object-assign@4.1.1: {}
object-copy@0.1.0:
dependencies:
copy-descriptor: 0.1.1
define-property: 0.2.5
kind-of: 3.2.2
object-inspect@1.13.4: {} object-inspect@1.13.4: {}
object-is@1.1.6: object-is@1.1.6:
...@@ -9836,6 +10622,10 @@ snapshots: ...@@ -9836,6 +10622,10 @@ snapshots:
object-keys@1.1.1: {} object-keys@1.1.1: {}
object-visit@1.0.1:
dependencies:
isobject: 3.0.1
object.assign@4.1.7: object.assign@4.1.7:
dependencies: dependencies:
call-bind: 1.0.8 call-bind: 1.0.8
...@@ -9854,7 +10644,10 @@ snapshots: ...@@ -9854,7 +10644,10 @@ snapshots:
es-object-atoms: 1.1.1 es-object-atoms: 1.1.1
gopd: 1.2.0 gopd: 1.2.0
safe-array-concat: 1.1.3 safe-array-concat: 1.1.3
optional: true
object.pick@1.3.0:
dependencies:
isobject: 3.0.1
object.values@1.2.1: object.values@1.2.1:
dependencies: dependencies:
...@@ -9862,10 +10655,13 @@ snapshots: ...@@ -9862,10 +10655,13 @@ snapshots:
call-bound: 1.0.4 call-bound: 1.0.4
define-properties: 1.2.1 define-properties: 1.2.1
es-object-atoms: 1.1.1 es-object-atoms: 1.1.1
optional: true
obuf@1.1.2: {} obuf@1.1.2: {}
on-finished@2.3.0:
dependencies:
ee-first: 1.1.1
on-finished@2.4.1: on-finished@2.4.1:
dependencies: dependencies:
ee-first: 1.1.1 ee-first: 1.1.1
...@@ -9947,7 +10743,6 @@ snapshots: ...@@ -9947,7 +10743,6 @@ snapshots:
get-intrinsic: 1.3.0 get-intrinsic: 1.3.0
object-keys: 1.1.1 object-keys: 1.1.1
safe-push-apply: 1.0.0 safe-push-apply: 1.0.0
optional: true
p-cancelable@0.3.0: p-cancelable@0.3.0:
optional: true optional: true
...@@ -10010,6 +10805,10 @@ snapshots: ...@@ -10010,6 +10805,10 @@ snapshots:
p-try@2.2.0: {} p-try@2.2.0: {}
param-case@2.1.1:
dependencies:
no-case: 2.3.2
param-case@3.0.4: param-case@3.0.4:
dependencies: dependencies:
dot-case: 3.0.4 dot-case: 3.0.4
...@@ -10050,6 +10849,8 @@ snapshots: ...@@ -10050,6 +10849,8 @@ snapshots:
no-case: 3.0.4 no-case: 3.0.4
tslib: 2.8.1 tslib: 2.8.1
pascalcase@0.1.1: {}
path-exists@2.1.0: path-exists@2.1.0:
dependencies: dependencies:
pinkie-promise: 2.0.1 pinkie-promise: 2.0.1
...@@ -10133,8 +10934,9 @@ snapshots: ...@@ -10133,8 +10934,9 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
possible-typed-array-names@1.1.0: posix-character-classes@0.1.1: {}
optional: true
possible-typed-array-names@1.1.0: {}
postcss-calc@8.2.4(postcss@8.5.3): postcss-calc@8.2.4(postcss@8.5.3):
dependencies: dependencies:
...@@ -10295,6 +11097,10 @@ snapshots: ...@@ -10295,6 +11097,10 @@ snapshots:
dependencies: dependencies:
postcss: 5.2.18 postcss: 5.2.18
postcss-prefix-selector@1.16.1(postcss@5.2.18):
dependencies:
postcss: 5.2.18
postcss-reduce-initial@5.1.2(postcss@8.5.3): postcss-reduce-initial@5.1.2(postcss@8.5.3):
dependencies: dependencies:
browserslist: 4.24.5 browserslist: 4.24.5
...@@ -10347,6 +11153,29 @@ snapshots: ...@@ -10347,6 +11153,29 @@ snapshots:
picocolors: 1.1.1 picocolors: 1.1.1
source-map-js: 1.2.1 source-map-js: 1.2.1
posthtml-parser@0.2.1:
dependencies:
htmlparser2: 3.10.1
isobject: 2.1.0
posthtml-rename-id@1.0.12:
dependencies:
escape-string-regexp: 1.0.5
posthtml-render@1.4.0: {}
posthtml-svg-mode@1.0.3:
dependencies:
merge-options: 1.0.1
posthtml: 0.9.2
posthtml-parser: 0.2.1
posthtml-render: 1.4.0
posthtml@0.9.2:
dependencies:
posthtml-parser: 0.2.1
posthtml-render: 1.4.0
prepend-http@1.0.4: prepend-http@1.0.4:
optional: true optional: true
...@@ -10355,6 +11184,11 @@ snapshots: ...@@ -10355,6 +11184,11 @@ snapshots:
prettier@2.8.8: {} prettier@2.8.8: {}
pretty-error@2.1.2:
dependencies:
lodash: 4.17.21
renderkid: 2.0.7
pretty-error@4.0.0: pretty-error@4.0.0:
dependencies: dependencies:
lodash: 4.17.21 lodash: 4.17.21
...@@ -10395,8 +11229,7 @@ snapshots: ...@@ -10395,8 +11229,7 @@ snapshots:
punycode@2.3.1: {} punycode@2.3.1: {}
q@1.5.1: q@1.5.1: {}
optional: true
qrcode.vue@1.7.0(vue@2.7.16): qrcode.vue@1.7.0(vue@2.7.16):
dependencies: dependencies:
...@@ -10413,6 +11246,11 @@ snapshots: ...@@ -10413,6 +11246,11 @@ snapshots:
qs@6.5.3: qs@6.5.3:
optional: true optional: true
query-string@4.3.4:
dependencies:
object-assign: 4.1.1
strict-uri-encode: 1.1.0
query-string@5.1.1: query-string@5.1.1:
dependencies: dependencies:
decode-uri-component: 0.2.2 decode-uri-component: 0.2.2
...@@ -10527,7 +11365,6 @@ snapshots: ...@@ -10527,7 +11365,6 @@ snapshots:
get-intrinsic: 1.3.0 get-intrinsic: 1.3.0
get-proto: 1.0.1 get-proto: 1.0.1
which-builtin-type: 1.2.1 which-builtin-type: 1.2.1
optional: true
regenerate-unicode-properties@10.2.0: regenerate-unicode-properties@10.2.0:
dependencies: dependencies:
...@@ -10537,6 +11374,11 @@ snapshots: ...@@ -10537,6 +11374,11 @@ snapshots:
regenerator-runtime@0.11.1: {} regenerator-runtime@0.11.1: {}
regex-not@1.0.2:
dependencies:
extend-shallow: 3.0.2
safe-regex: 1.1.0
regexp.prototype.flags@1.5.4: regexp.prototype.flags@1.5.4:
dependencies: dependencies:
call-bind: 1.0.8 call-bind: 1.0.8
...@@ -10563,6 +11405,14 @@ snapshots: ...@@ -10563,6 +11405,14 @@ snapshots:
relateurl@0.2.7: {} relateurl@0.2.7: {}
renderkid@2.0.7:
dependencies:
css-select: 4.3.0
dom-converter: 0.2.0
htmlparser2: 6.1.0
lodash: 4.17.21
strip-ansi: 3.0.1
renderkid@3.0.0: renderkid@3.0.0:
dependencies: dependencies:
css-select: 4.3.0 css-select: 4.3.0
...@@ -10571,6 +11421,10 @@ snapshots: ...@@ -10571,6 +11421,10 @@ snapshots:
lodash: 4.17.21 lodash: 4.17.21
strip-ansi: 6.0.1 strip-ansi: 6.0.1
repeat-element@1.1.4: {}
repeat-string@1.6.1: {}
repeating@2.0.1: repeating@2.0.1:
dependencies: dependencies:
is-finite: 1.1.0 is-finite: 1.1.0
...@@ -10615,6 +11469,8 @@ snapshots: ...@@ -10615,6 +11469,8 @@ snapshots:
resolve-from@4.0.0: {} resolve-from@4.0.0: {}
resolve-url@0.2.1: {}
resolve@1.22.10: resolve@1.22.10:
dependencies: dependencies:
is-core-module: 2.16.1 is-core-module: 2.16.1
...@@ -10636,6 +11492,8 @@ snapshots: ...@@ -10636,6 +11492,8 @@ snapshots:
onetime: 5.1.2 onetime: 5.1.2
signal-exit: 3.0.7 signal-exit: 3.0.7
ret@0.1.15: {}
retry@0.13.1: {} retry@0.13.1: {}
reusify@1.1.0: {} reusify@1.1.0: {}
...@@ -10660,7 +11518,6 @@ snapshots: ...@@ -10660,7 +11518,6 @@ snapshots:
get-intrinsic: 1.3.0 get-intrinsic: 1.3.0
has-symbols: 1.1.0 has-symbols: 1.1.0
isarray: 2.0.5 isarray: 2.0.5
optional: true
safe-buffer@5.1.2: {} safe-buffer@5.1.2: {}
...@@ -10670,14 +11527,16 @@ snapshots: ...@@ -10670,14 +11527,16 @@ snapshots:
dependencies: dependencies:
es-errors: 1.3.0 es-errors: 1.3.0
isarray: 2.0.5 isarray: 2.0.5
optional: true
safe-regex-test@1.1.0: safe-regex-test@1.1.0:
dependencies: dependencies:
call-bound: 1.0.4 call-bound: 1.0.4
es-errors: 1.3.0 es-errors: 1.3.0
is-regex: 1.2.1 is-regex: 1.2.1
optional: true
safe-regex@1.1.0:
dependencies:
ret: 0.1.15
safer-buffer@2.1.2: {} safer-buffer@2.1.2: {}
...@@ -10705,8 +11564,7 @@ snapshots: ...@@ -10705,8 +11564,7 @@ snapshots:
optionalDependencies: optionalDependencies:
'@parcel/watcher': 2.5.1 '@parcel/watcher': 2.5.1
sax@1.2.4: sax@1.2.4: {}
optional: true
sax@1.4.1: {} sax@1.4.1: {}
...@@ -10729,6 +11587,14 @@ snapshots: ...@@ -10729,6 +11587,14 @@ snapshots:
ajv-formats: 2.1.1(ajv@8.17.1) ajv-formats: 2.1.1(ajv@8.17.1)
ajv-keywords: 5.1.0(ajv@8.17.1) ajv-keywords: 5.1.0(ajv@8.17.1)
script-ext-html-webpack-plugin@2.1.3(html-webpack-plugin@3.2.0(webpack@5.99.8))(webpack@5.99.8):
dependencies:
debug: 4.4.1
html-webpack-plugin: 3.2.0(webpack@5.99.8)
webpack: 5.99.8
transitivePeerDependencies:
- supports-color
scss-tokenizer@0.2.3: scss-tokenizer@0.2.3:
dependencies: dependencies:
js-base64: 2.6.4 js-base64: 2.6.4
...@@ -10770,6 +11636,24 @@ snapshots: ...@@ -10770,6 +11636,24 @@ snapshots:
semver@7.7.2: {} semver@7.7.2: {}
send@0.16.2:
dependencies:
debug: 2.6.9
depd: 1.1.2
destroy: 1.0.4
encodeurl: 1.0.2
escape-html: 1.0.3
etag: 1.8.1
fresh: 0.5.2
http-errors: 1.6.3
mime: 1.4.1
ms: 2.0.0
on-finished: 2.3.0
range-parser: 1.2.1
statuses: 1.4.0
transitivePeerDependencies:
- supports-color
send@0.19.0: send@0.19.0:
dependencies: dependencies:
debug: 2.6.9 debug: 2.6.9
...@@ -10804,6 +11688,15 @@ snapshots: ...@@ -10804,6 +11688,15 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
serve-static@1.13.2:
dependencies:
encodeurl: 1.0.2
escape-html: 1.0.3
parseurl: 1.3.3
send: 0.16.2
transitivePeerDependencies:
- supports-color
serve-static@1.16.2: serve-static@1.16.2:
dependencies: dependencies:
encodeurl: 2.0.0 encodeurl: 2.0.0
...@@ -10837,7 +11730,13 @@ snapshots: ...@@ -10837,7 +11730,13 @@ snapshots:
dunder-proto: 1.0.1 dunder-proto: 1.0.1
es-errors: 1.3.0 es-errors: 1.3.0
es-object-atoms: 1.1.1 es-object-atoms: 1.1.1
optional: true
set-value@2.0.1:
dependencies:
extend-shallow: 2.0.1
is-extendable: 0.1.1
is-plain-object: 2.0.4
split-string: 3.1.0
setprototypeof@1.1.0: {} setprototypeof@1.1.0: {}
...@@ -10899,6 +11798,29 @@ snapshots: ...@@ -10899,6 +11798,29 @@ snapshots:
slash@3.0.0: {} slash@3.0.0: {}
snapdragon-node@2.1.1:
dependencies:
define-property: 1.0.0
isobject: 3.0.1
snapdragon-util: 3.0.1
snapdragon-util@3.0.1:
dependencies:
kind-of: 3.2.2
snapdragon@0.8.2:
dependencies:
base: 0.11.2
debug: 2.6.9
define-property: 0.2.5
extend-shallow: 2.0.1
map-cache: 0.2.2
source-map: 0.5.7
source-map-resolve: 0.5.3
use: 3.1.1
transitivePeerDependencies:
- supports-color
sockjs@0.3.24: sockjs@0.3.24:
dependencies: dependencies:
faye-websocket: 0.11.4 faye-websocket: 0.11.4
...@@ -10924,11 +11846,21 @@ snapshots: ...@@ -10924,11 +11846,21 @@ snapshots:
source-map-js@1.2.1: {} source-map-js@1.2.1: {}
source-map-resolve@0.5.3:
dependencies:
atob: 2.1.2
decode-uri-component: 0.2.2
resolve-url: 0.2.1
source-map-url: 0.4.1
urix: 0.1.0
source-map-support@0.5.21: source-map-support@0.5.21:
dependencies: dependencies:
buffer-from: 1.1.2 buffer-from: 1.1.2
source-map: 0.6.1 source-map: 0.6.1
source-map-url@0.4.1: {}
source-map@0.4.4: source-map@0.4.4:
dependencies: dependencies:
amdefine: 1.0.1 amdefine: 1.0.1
...@@ -10973,8 +11905,11 @@ snapshots: ...@@ -10973,8 +11905,11 @@ snapshots:
transitivePeerDependencies: transitivePeerDependencies:
- supports-color - supports-color
sprintf-js@1.0.3: split-string@3.1.0:
optional: true dependencies:
extend-shallow: 3.0.2
sprintf-js@1.0.3: {}
squeak@1.3.0: squeak@1.3.0:
dependencies: dependencies:
...@@ -11004,6 +11939,13 @@ snapshots: ...@@ -11004,6 +11939,13 @@ snapshots:
stackframe@1.3.4: {} stackframe@1.3.4: {}
static-extend@0.1.2:
dependencies:
define-property: 0.2.5
object-copy: 0.1.0
statuses@1.4.0: {}
statuses@1.5.0: {} statuses@1.5.0: {}
statuses@2.0.1: {} statuses@2.0.1: {}
...@@ -11023,8 +11965,7 @@ snapshots: ...@@ -11023,8 +11965,7 @@ snapshots:
stream-wormhole@1.1.0: {} stream-wormhole@1.1.0: {}
strict-uri-encode@1.1.0: strict-uri-encode@1.1.0: {}
optional: true
string-width@1.0.2: string-width@1.0.2:
dependencies: dependencies:
...@@ -11060,7 +12001,6 @@ snapshots: ...@@ -11060,7 +12001,6 @@ snapshots:
es-abstract: 1.23.9 es-abstract: 1.23.9
es-object-atoms: 1.1.1 es-object-atoms: 1.1.1
has-property-descriptors: 1.0.2 has-property-descriptors: 1.0.2
optional: true
string.prototype.trimend@1.0.9: string.prototype.trimend@1.0.9:
dependencies: dependencies:
...@@ -11068,14 +12008,12 @@ snapshots: ...@@ -11068,14 +12008,12 @@ snapshots:
call-bound: 1.0.4 call-bound: 1.0.4
define-properties: 1.2.1 define-properties: 1.2.1
es-object-atoms: 1.1.1 es-object-atoms: 1.1.1
optional: true
string.prototype.trimstart@1.0.8: string.prototype.trimstart@1.0.8:
dependencies: dependencies:
call-bind: 1.0.8 call-bind: 1.0.8
define-properties: 1.2.1 define-properties: 1.2.1
es-object-atoms: 1.1.1 es-object-atoms: 1.1.1
optional: true
string_decoder@1.1.1: string_decoder@1.1.1:
dependencies: dependencies:
...@@ -11154,8 +12092,64 @@ snapshots: ...@@ -11154,8 +12092,64 @@ snapshots:
supports-preserve-symlinks-flag@1.0.0: {} supports-preserve-symlinks-flag@1.0.0: {}
svg-baker-runtime@1.4.7:
dependencies:
deepmerge: 1.3.2
mitt: 1.1.2
svg-baker: 1.7.0
transitivePeerDependencies:
- supports-color
svg-baker@1.7.0:
dependencies:
bluebird: 3.7.2
clone: 2.1.2
he: 1.2.0
image-size: 0.5.5
loader-utils: 1.4.2
merge-options: 1.0.1
micromatch: 3.1.0
postcss: 5.2.18
postcss-prefix-selector: 1.16.1(postcss@5.2.18)
posthtml-rename-id: 1.0.12
posthtml-svg-mode: 1.0.3
query-string: 4.3.4
traverse: 0.6.11
transitivePeerDependencies:
- supports-color
svg-sprite-loader@6.0.9:
dependencies:
bluebird: 3.7.2
deepmerge: 1.3.2
domready: 1.0.8
escape-string-regexp: 1.0.5
loader-utils: 1.4.2
svg-baker: 1.7.0
svg-baker-runtime: 1.4.7
url-slug: 2.0.0
transitivePeerDependencies:
- supports-color
svg-tags@1.0.0: {} svg-tags@1.0.0: {}
svgo@1.2.2:
dependencies:
chalk: 2.4.2
coa: 2.0.2
css-select: 2.1.0
css-select-base-adapter: 0.1.1
css-tree: 1.0.0-alpha.28
css-url-regex: 1.1.0
csso: 3.5.1
js-yaml: 3.14.1
mkdirp: 0.5.6
object.values: 1.2.1
sax: 1.2.4
stable: 0.1.8
unquote: 1.1.1
util.promisify: 1.0.1
svgo@1.3.2: svgo@1.3.2:
dependencies: dependencies:
chalk: 2.4.2 chalk: 2.4.2
...@@ -11183,6 +12177,8 @@ snapshots: ...@@ -11183,6 +12177,8 @@ snapshots:
picocolors: 1.1.1 picocolors: 1.1.1
stable: 0.1.8 stable: 0.1.8
tapable@1.1.3: {}
tapable@2.2.1: {} tapable@2.2.1: {}
tar-stream@1.6.2: tar-stream@1.6.2:
...@@ -11267,12 +12263,30 @@ snapshots: ...@@ -11267,12 +12263,30 @@ snapshots:
to-fast-properties@2.0.0: {} to-fast-properties@2.0.0: {}
to-object-path@0.3.0:
dependencies:
kind-of: 3.2.2
to-regex-range@2.1.1:
dependencies:
is-number: 3.0.0
repeat-string: 1.6.1
to-regex-range@5.0.1: to-regex-range@5.0.1:
dependencies: dependencies:
is-number: 7.0.0 is-number: 7.0.0
to-regex@3.0.2:
dependencies:
define-property: 2.0.2
extend-shallow: 3.0.2
regex-not: 1.0.2
safe-regex: 1.1.0
toidentifier@1.0.1: {} toidentifier@1.0.1: {}
toposort@1.0.7: {}
totalist@3.0.1: {} totalist@3.0.1: {}
tough-cookie@2.5.0: tough-cookie@2.5.0:
...@@ -11283,6 +12297,12 @@ snapshots: ...@@ -11283,6 +12297,12 @@ snapshots:
tr46@0.0.3: {} tr46@0.0.3: {}
traverse@0.6.11:
dependencies:
gopd: 1.2.0
typedarray.prototype.slice: 1.0.5
which-typed-array: 1.1.19
trim-newlines@1.0.0: trim-newlines@1.0.0:
optional: true optional: true
...@@ -11323,7 +12343,6 @@ snapshots: ...@@ -11323,7 +12343,6 @@ snapshots:
call-bound: 1.0.4 call-bound: 1.0.4
es-errors: 1.3.0 es-errors: 1.3.0
is-typed-array: 1.1.15 is-typed-array: 1.1.15
optional: true
typed-array-byte-length@1.0.3: typed-array-byte-length@1.0.3:
dependencies: dependencies:
...@@ -11332,7 +12351,6 @@ snapshots: ...@@ -11332,7 +12351,6 @@ snapshots:
gopd: 1.2.0 gopd: 1.2.0
has-proto: 1.2.0 has-proto: 1.2.0
is-typed-array: 1.1.15 is-typed-array: 1.1.15
optional: true
typed-array-byte-offset@1.0.4: typed-array-byte-offset@1.0.4:
dependencies: dependencies:
...@@ -11343,7 +12361,6 @@ snapshots: ...@@ -11343,7 +12361,6 @@ snapshots:
has-proto: 1.2.0 has-proto: 1.2.0
is-typed-array: 1.1.15 is-typed-array: 1.1.15
reflect.getprototypeof: 1.0.10 reflect.getprototypeof: 1.0.10
optional: true
typed-array-length@1.0.7: typed-array-length@1.0.7:
dependencies: dependencies:
...@@ -11353,7 +12370,22 @@ snapshots: ...@@ -11353,7 +12370,22 @@ snapshots:
is-typed-array: 1.1.15 is-typed-array: 1.1.15
possible-typed-array-names: 1.1.0 possible-typed-array-names: 1.1.0
reflect.getprototypeof: 1.0.10 reflect.getprototypeof: 1.0.10
optional: true
typedarray.prototype.slice@1.0.5:
dependencies:
call-bind: 1.0.8
define-properties: 1.2.1
es-abstract: 1.23.9
es-errors: 1.3.0
get-proto: 1.0.1
math-intrinsics: 1.1.0
typed-array-buffer: 1.0.3
typed-array-byte-offset: 1.0.4
uglify-js@3.4.10:
dependencies:
commander: 2.19.0
source-map: 0.6.1
unbox-primitive@1.1.0: unbox-primitive@1.1.0:
dependencies: dependencies:
...@@ -11361,7 +12393,6 @@ snapshots: ...@@ -11361,7 +12393,6 @@ snapshots:
has-bigints: 1.1.0 has-bigints: 1.1.0
has-symbols: 1.1.0 has-symbols: 1.1.0
which-boxed-primitive: 1.1.1 which-boxed-primitive: 1.1.1
optional: true
unbzip2-stream@1.4.3: unbzip2-stream@1.4.3:
dependencies: dependencies:
...@@ -11386,12 +12417,25 @@ snapshots: ...@@ -11386,12 +12417,25 @@ snapshots:
unicode-property-aliases-ecmascript@2.1.0: {} unicode-property-aliases-ecmascript@2.1.0: {}
unidecode@0.1.8: {}
union-value@1.0.1:
dependencies:
arr-union: 3.1.0
get-value: 2.0.6
is-extendable: 0.1.1
set-value: 2.0.1
universalify@2.0.1: {} universalify@2.0.1: {}
unpipe@1.0.0: {} unpipe@1.0.0: {}
unquote@1.1.1: unquote@1.1.1: {}
optional: true
unset-value@1.0.0:
dependencies:
has-value: 0.3.1
isobject: 3.0.1
update-browserslist-db@1.1.3(browserslist@4.24.5): update-browserslist-db@1.1.3(browserslist@4.24.5):
dependencies: dependencies:
...@@ -11399,10 +12443,14 @@ snapshots: ...@@ -11399,10 +12443,14 @@ snapshots:
escalade: 3.2.0 escalade: 3.2.0
picocolors: 1.1.1 picocolors: 1.1.1
upper-case@1.1.3: {}
uri-js@4.4.1: uri-js@4.4.1:
dependencies: dependencies:
punycode: 2.3.1 punycode: 2.3.1
urix@0.1.0: {}
url-parse-lax@1.0.0: url-parse-lax@1.0.0:
dependencies: dependencies:
prepend-http: 1.0.4 prepend-http: 1.0.4
...@@ -11413,6 +12461,10 @@ snapshots: ...@@ -11413,6 +12461,10 @@ snapshots:
prepend-http: 2.0.0 prepend-http: 2.0.0
optional: true optional: true
url-slug@2.0.0:
dependencies:
unidecode: 0.1.8
url-to-options@1.0.1: url-to-options@1.0.1:
optional: true optional: true
...@@ -11431,15 +12483,21 @@ snapshots: ...@@ -11431,15 +12483,21 @@ snapshots:
statuses: 1.5.0 statuses: 1.5.0
utility: 1.18.0 utility: 1.18.0
use@3.1.1: {}
util-deprecate@1.0.2: {} util-deprecate@1.0.2: {}
util.promisify@1.0.0:
dependencies:
define-properties: 1.2.1
object.getownpropertydescriptors: 2.1.8
util.promisify@1.0.1: util.promisify@1.0.1:
dependencies: dependencies:
define-properties: 1.2.1 define-properties: 1.2.1
es-abstract: 1.23.9 es-abstract: 1.23.9
has-symbols: 1.1.0 has-symbols: 1.1.0
object.getownpropertydescriptors: 2.1.8 object.getownpropertydescriptors: 2.1.8
optional: true
utila@0.4.0: {} utila@0.4.0: {}
...@@ -11746,7 +12804,6 @@ snapshots: ...@@ -11746,7 +12804,6 @@ snapshots:
is-number-object: 1.1.1 is-number-object: 1.1.1
is-string: 1.1.1 is-string: 1.1.1
is-symbol: 1.1.1 is-symbol: 1.1.1
optional: true
which-builtin-type@1.2.1: which-builtin-type@1.2.1:
dependencies: dependencies:
...@@ -11763,7 +12820,6 @@ snapshots: ...@@ -11763,7 +12820,6 @@ snapshots:
which-boxed-primitive: 1.1.1 which-boxed-primitive: 1.1.1
which-collection: 1.0.2 which-collection: 1.0.2
which-typed-array: 1.1.19 which-typed-array: 1.1.19
optional: true
which-collection@1.0.2: which-collection@1.0.2:
dependencies: dependencies:
...@@ -11771,7 +12827,6 @@ snapshots: ...@@ -11771,7 +12827,6 @@ snapshots:
is-set: 2.0.3 is-set: 2.0.3
is-weakmap: 2.0.2 is-weakmap: 2.0.2
is-weakset: 2.0.4 is-weakset: 2.0.4
optional: true
which-module@2.0.1: which-module@2.0.1:
optional: true optional: true
...@@ -11785,7 +12840,6 @@ snapshots: ...@@ -11785,7 +12840,6 @@ snapshots:
get-proto: 1.0.1 get-proto: 1.0.1
gopd: 1.2.0 gopd: 1.2.0
has-tostringtag: 1.0.2 has-tostringtag: 1.0.2
optional: true
which@1.3.1: which@1.3.1:
dependencies: dependencies:
...@@ -11797,7 +12851,7 @@ snapshots: ...@@ -11797,7 +12851,7 @@ snapshots:
wide-align@1.1.5: wide-align@1.1.5:
dependencies: dependencies:
string-width: 1.0.2 string-width: 4.2.3
optional: true optional: true
wildcard@2.0.1: {} wildcard@2.0.1: {}
......
No preview for this file type
...@@ -12,7 +12,8 @@ ...@@ -12,7 +12,8 @@
<!-- Prevent caching at the proxy server --> <!-- Prevent caching at the proxy server -->
<meta http-equiv="expires" content="0"> <meta http-equiv="expires" content="0">
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9" /> <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9" />
<title><%= htmlWebpackPlugin.options.title %></title> <!-- <title><%= htmlWebpackPlugin.options.title %></title> -->
<title>企微侧边栏</title>
<!-- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0,shrink-to-fit=no,user-scalable=no"> --> <!-- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0,shrink-to-fit=no,user-scalable=no"> -->
<script src="https://g.alicdn.com/dingding/dinglogin/0.0.5/ddLogin.js"></script> <script src="https://g.alicdn.com/dingding/dinglogin/0.0.5/ddLogin.js"></script>
</head> </head>
......
...@@ -4,16 +4,9 @@ ...@@ -4,16 +4,9 @@
<div class="mobile-menu-bar" v-if="token && external_userid && showMemberId"> <div class="mobile-menu-bar" v-if="token && external_userid && showMemberId">
<!-- 临时调试信息 --> <!-- 临时调试信息 -->
<div class="menu-container"> <div class="menu-container">
<el-menu <el-menu :default-active="selectedPath" mode="horizontal" class="mobile-el-menu"
:default-active="selectedPath" :class="{ 'collapsed': !isMenuExpanded && shouldShowToggle }" background-color="#fff" router
mode="horizontal" @select="handleSelect" ref="menuRef">
class="mobile-el-menu"
:class="{ 'collapsed': !isMenuExpanded && shouldShowToggle }"
background-color="#fff"
router
@select="handleSelect"
ref="menuRef"
>
<el-menu-item v-for="item in menuList" :key="item.path" :index="item.path" class="mobile-menu-item"> <el-menu-item v-for="item in menuList" :key="item.path" :index="item.path" class="mobile-menu-item">
<!-- 任务列表菜单项显示红点 --> <!-- 任务列表菜单项显示红点 -->
<div v-if="item.path === '/taskList' && hasTaskRedDot" class="menu-item-with-badge"> <div v-if="item.path === '/taskList' && hasTaskRedDot" class="menu-item-with-badge">
...@@ -29,13 +22,7 @@ ...@@ -29,13 +22,7 @@
</el-menu> </el-menu>
<!-- 展开收起按钮 --> <!-- 展开收起按钮 -->
<el-button <el-button type="text" size="mini" v-if="shouldShowToggle" class="menu-toggle-btn" @click="toggleMenu">
type="text"
size="mini"
v-if="shouldShowToggle"
class="menu-toggle-btn"
@click="toggleMenu"
>
<i :class="isMenuExpanded ? 'el-icon-arrow-up' : 'el-icon-arrow-down'"></i> <i :class="isMenuExpanded ? 'el-icon-arrow-up' : 'el-icon-arrow-down'"></i>
<span>{{ isMenuExpanded ? '收起' : '展开' }}</span> <span>{{ isMenuExpanded ? '收起' : '展开' }}</span>
</el-button> </el-button>
...@@ -113,8 +100,8 @@ export default { ...@@ -113,8 +100,8 @@ export default {
hasRedDot: false // 红点状态 hasRedDot: false // 红点状态
}, },
{ {
label: '跟进记录', label: '微言助手',
path: '/summaryList' path: '/aiChat'
}, },
// { // {
// label: '通讯录', // label: '通讯录',
......
import request from '@/utils/request'
// 清除上下文
export function corp_beta_question_session_clearTag(data) {
return request({
url: '/sidebar/corp_beta_question_session/clearTag',
method: 'post',
data
})
}
// 侧边栏-重试
export function retry(data) {
return request({
url: '/sidebar/corp_beta_question_log/retry',
method: 'post',
data
})
}
// 聊天记录
export function corp_beta_question_log_index(data) {
return request({
url: '/sidebar/corp_beta_question_log/index',
method: 'post',
data
})
}
// 发送欢迎语
export function welcomemsg(data) {
return request({
url: '/sidebar/corp_beta_question_session/welcome',
method: 'post',
data
})
}
// 配置-聊天
export function corp_beta_question_log_chat(data) {
return request({
url: '/sidebar/corp_beta_question_log/chat',
method: 'post',
data
})
}
// 配置-列表
export function corp_beta_question_config(data) {
return request({
url: '/sidebar/corp_beta_question_config/index',
method: 'post',
data
})
}
// 问答模块
export function getAiResponse(data) {
return request({
url: '/sidebar/corp_beta_question_log/chat',
method: 'post',
data
})
}
// 赞同模块
export function answerComment(data) {
return request({
url: '/sidebar/corp_beta_question_log/answerComment',
method: 'post',
data
})
}
...@@ -210,24 +210,6 @@ export function logClickTime(data) { ...@@ -210,24 +210,6 @@ export function logClickTime(data) {
}) })
} }
// 大模型 ai
export function getCorpBetaConfig(data) {
return request({
url: '/admin/corp_beta_config/getCorpBetaConfig',
method: 'post',
data
})
}
// 问答模块
export function getAiResponse(data) {
return request({
url: returnApi('/corp_beta_question_log/getAiResponse'),
method: 'post',
data
})
}
// 问答模块 // 问答模块
export function Aihistory(data) { export function Aihistory(data) {
return request({ return request({
...@@ -236,31 +218,8 @@ export function Aihistory(data) { ...@@ -236,31 +218,8 @@ export function Aihistory(data) {
data data
}) })
} }
// 赞同模块
export function answerComment(data) {
return request({
url: returnApi('/corp_beta_question_log/answerComment'),
method: 'post',
data
})
}
// 复制次数统计
export function calAnswerClickTime(data) {
return request({
url: returnApi('/corp_beta_question_log/calAnswerClickTime'),
method: 'post',
data
})
}
// 获取来源
export function getQuoteData(data) {
return request({
url: returnApi('/corp_beta_question_log/getQuoteData'),
method: 'post',
data
})
}
// 同步知识库 // 同步知识库
export function asyncKnowledge(data) { export function asyncKnowledge(data) {
return request({ return request({
...@@ -269,7 +228,6 @@ export function asyncKnowledge(data) { ...@@ -269,7 +228,6 @@ export function asyncKnowledge(data) {
data data
}) })
} }
/* -------------------- 机器人知识库 ----------------------- */ /* -------------------- 机器人知识库 ----------------------- */
// 新增机器人知识库任务 // 新增机器人知识库任务
......
<svg width="30" height="30" viewBox="0 0 30 30" fill="none" xmlns="http://www.w3.org/2000/svg">
<g id="zhinengkefu(1)">
<rect id="&#231;&#159;&#169;&#229;&#189;&#162;" opacity="0.01" width="30" height="30" fill="#00BF8A"/>
<path id="&#229;&#189;&#162;&#231;&#138;&#182;" fill-rule="evenodd" clip-rule="evenodd" d="M27.0653 10.3441C25.5488 6.28958 21.6797 3.59819 17.3509 3.58671H12.6536C8.32641 3.60169 4.45971 6.29199 2.9414 10.3441C2.91233 10.3533 2.88393 10.3645 2.8564 10.3776L2.74232 5.69825C3.19914 5.51413 3.49954 5.07237 3.50283 4.57985V2.19318C3.50283 1.52362 2.96005 0.980835 2.29049 0.980835C1.62093 0.980835 1.07814 1.52362 1.07814 2.19318V4.5709C1.08106 5.06287 1.38048 5.50448 1.83642 5.6893L1.70892 11.0129C0.631358 11.8411 -0.000118498 13.1231 0 14.4822V18.1215C0.00549071 19.9831 1.18143 21.64 2.93692 22.2595C4.45561 26.3136 8.3244 29.005 12.6536 29.0192H17.3509C21.6795 29.0048 25.5474 26.3133 27.0653 22.2595C28.8195 21.6386 29.9942 19.9823 30 18.1215V14.4822C29.9962 12.6207 28.8208 10.9633 27.0653 10.3441ZM25.9715 17.8016C25.9629 20.261 23.9707 22.2522 21.5113 22.2595H8.49985C6.03525 22.2596 4.03487 20.2662 4.02625 17.8016V14.8065C4.03364 12.3411 6.03438 10.3463 8.49985 10.3463H21.5248C23.985 10.3537 25.9776 12.3463 25.9849 14.8065L25.9715 17.8016ZM15.8992 17.9761L18.5834 13.5673L20.4981 16.6586L24.0255 17.2334L19.9993 17.428L18.6572 15.7929L15.9283 20.6244L12.5462 14.2876L10.7053 17.3923L5.99016 17.22L9.97614 16.6161L12.5753 11.4714L15.8992 17.9761Z" fill="#00BF8A"/>
</g>
</svg>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><defs><linearGradient id="a" y2="75.742%" x2="89.14%" y1="0%" x1="17.97%"><stop offset="0%" stop-color="#00EEAC"/><stop offset="53.553%" stop-color="#A9DD00"/><stop offset="100%" stop-color="#F7B500"/></linearGradient></defs><path fill="url(#a)" d="M10.673 5.201a2.604 2.604 0 0 1-2.6-2.6C8.072 1.167 9.238 0 10.672 0c1.434 0 2.6 1.167 2.6 2.6 0 1.434-1.166 2.601-2.6 2.601ZM5.137 7.266A2.378 2.378 0 0 1 2.76 4.89a2.378 2.378 0 0 1 2.376-2.376A2.378 2.378 0 0 1 7.512 4.89a2.378 2.378 0 0 1-2.375 2.376ZM2.784 12.64A2.097 2.097 0 0 1 .69 10.545 2.097 2.097 0 0 1 2.784 8.45a2.097 2.097 0 0 1 2.094 2.095 2.097 2.097 0 0 1-2.094 2.095Zm2.353 5.324a1.778 1.778 0 0 1-1.776-1.776 1.779 1.779 0 0 1 1.776-1.776c.98.001 1.774.796 1.776 1.776 0 .98-.797 1.776-1.776 1.776ZM10.673 20a1.553 1.553 0 0 1-1.552-1.552c0-.856.697-1.551 1.552-1.551.857 0 1.55.695 1.551 1.551 0 .856-.695 1.552-1.551 1.552Zm5.62-2.623a1.254 1.254 0 0 1-1.252-1.252c0-.692.56-1.252 1.252-1.253a1.254 1.254 0 0 1 0 2.505Zm2.302-5.795a1.029 1.029 0 0 1 0-2.055c.567 0 1.027.46 1.028 1.027a1.03 1.03 0 0 1-1.028 1.028Zm-3.1-6.615a.797.797 0 1 0 1.596 0 .797.797 0 0 0-1.595 0Z" fill-rule="nonzero"/></svg>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<svg width="20px" height="20px" viewBox="0 0 20 20" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>发送备份</title>
<defs>
<linearGradient x1="14.2586009%" y1="0%" x2="93.6750771%" y2="75.7420422%" id="linearGradient-1">
<stop stop-color="#00EEAC" offset="0%"></stop>
<stop stop-color="#A9DD00" offset="53.5526729%"></stop>
<stop stop-color="#F7B500" offset="100%"></stop>
</linearGradient>
</defs>
<g id="游戏" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="游戏-快捷回复AI" transform="translate(-1727, -981)" fill-rule="nonzero">
<g id="编组-4备份-2" transform="translate(1378, 169.68)">
<g id="4.数据展示/10.Popover气泡卡片/⬅️右上备份-16" transform="translate(0, 798.32)">
<g id="发送备份" transform="translate(349, 13)">
<rect id="矩形" fill="#000000" opacity="0" x="0" y="0" width="20" height="20"></rect>
<polygon id="路径" fill="url(#linearGradient-1)" points="0 20 2.08 10.74 13.58 10.02 2.08 9.24 0 0 20 10"></polygon>
</g>
</g>
</g>
</g>
</g>
</svg>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<svg width="18px" height="18px" viewBox="0 0 18 18" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 60.1 (88133) - https://sketch.com -->
<title>复制</title>
<desc>Created with Sketch.</desc>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="快捷回复" transform="translate(-1093.000000, -386.000000)" fill-rule="nonzero">
<g id="编组-6" transform="translate(1086.000000, 379.000000)">
<g id="复制" transform="translate(6.000000, 6.000000)">
<rect id="矩形" fill="#000000" opacity="0" x="0" y="0" width="20" height="20"></rect>
<path d="M13,4.375 L4.00976562,4.375 C2.80273438,4.375 1.82226562,5.35546875 1.82226562,6.5625 L1.82226562,16.5625 C1.82226562,17.7695312 2.80273438,18.75 4.00976562,18.75 L13,18.75 C14.2070312,18.75 15.1875,17.7695312 15.1875,16.5625 L15.1875,6.5625 C15.1875,5.35546875 14.2070312,4.375 13,4.375 Z M13.9375,16.5625 C13.9375,17.0800781 13.5175781,17.5 13,17.5 L4.00976562,17.5 C3.4921875,17.5 3.07226562,17.0800781 3.07226562,16.5625 L3.07226562,6.5625 C3.07226562,6.04492188 3.4921875,5.625 4.00976562,5.625 L13,5.625 C13.5175781,5.625 13.9375,6.04492188 13.9375,6.5625 L13.9375,16.5625 Z M16.0292969,1.25 L5.88476562,1.25 C4.67773438,1.25 3.69726562,2.23046875 3.69726562,3.4375 L4.94726562,3.4375 C4.94726562,2.91992188 5.3671875,2.5 5.88476562,2.5 L16.0292969,2.5 C16.546875,2.5 16.9667969,2.91992188 16.9667969,3.4375 L16.9667969,14.6875 C16.9667969,15.2050781 16.546875,15.625 16.0292969,15.625 L16.0292969,16.875 C17.2363281,16.875 18.2167969,15.8945312 18.2167969,14.6875 L18.2167969,3.4375 C18.2167969,2.23046875 17.2363281,1.25 16.0292969,1.25 Z M4.75585938,7.8125 L12.2558594,7.8125 L12.2558594,9.0625 L4.75585938,9.0625 L4.75585938,7.8125 Z M4.75585938,10.9375 L12.2558594,10.9375 L12.2558594,12.1875 L4.75585938,12.1875 L4.75585938,10.9375 Z M4.75585937,14.0625 L9.57617188,14.0625 L9.57617188,15.3125 L4.75585937,15.3125 L4.75585937,14.0625 Z" id="形状" fill="#8CA4BA"></path>
</g>
</g>
</g>
</g>
</svg>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>不点赞</title>
<g id="游戏" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="游戏-快捷回复AI" transform="translate(-1476, -617)" fill-rule="nonzero">
<g id="编组-4备份-2" transform="translate(1378, 169.68)">
<g id="不点赞" transform="translate(106, 455.32) scale(-1, 1) rotate(180) translate(-106, -455.32)translate(98, 447.32)">
<rect id="矩形" fill="#000000" opacity="0" x="0" y="0" width="16" height="16"></rect>
<path d="M13.395,5.3905 L9.257,5.3905 C9.4535,4.699 9.553,4.0845 9.553,3.5435 C9.553,2.316 8.431,1.1405 7.357,1.2965 C6.41,1.434 5.958,2.2325 5.958,3.258 L5.958,4.1845 C5.958,5.373 5.0485,6.3865 3.892,6.498 L2.0525,6.495 C1.4712203,6.495 1,6.9662203 1,7.5475 L1,13.625 C1,14.2065 1.471,14.6775 2.0525,14.6775 L12.243,14.6775 C13.0141535,14.6775 13.6763396,14.1291539 13.82,13.3715 L14.972,7.294 C15.0608892,6.82439182 14.9358631,6.3395998 14.6309458,5.97155283 C14.3260285,5.60350586 13.8729468,5.39049941 13.395,5.3905 Z M2,13.625 L2,7.5475 C2,7.5185 2.0235,7.495 2.0525,7.495 L3.25,7.495 L3.25,13.6775 L2.0525,13.6775 C2.02350505,13.6775 2,13.6539949 2,13.625 L2,13.625 Z M13.9895,7.108 L12.8375,13.1855 C12.7832202,13.4709991 12.5336132,13.6775 12.243,13.6775 L4.25,13.6775 L4.25,7.451 C5.8188449,7.15150285 6.95470437,5.78117313 6.958,4.184 L6.958,3.258 C6.958,2.671 7.1465,2.3375 7.5005,2.2865 C7.923,2.225 8.553,2.8855 8.553,3.544 C8.553,4.127 8.4045,4.8565 8.102,5.727 C8.04891415,5.87989332 8.07311785,6.0490253 8.16695458,6.1808932 C8.2607913,6.31276111 8.41265293,6.39105216 8.5745,6.391 L13.395,6.391 C13.5750607,6.3910127 13.7457587,6.47122841 13.8606881,6.60983965 C13.9756175,6.74845089 14.0228335,6.93105165 13.9895,7.108 Z" id="形状" fill="#8CA4BA"></path>
</g>
</g>
</g>
</g>
</svg>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>不够好</title>
<g id="游戏" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="游戏-快捷回复AI" transform="translate(-1528, -617)" fill-rule="nonzero">
<g id="编组-4备份-2" transform="translate(1378, 169.68)">
<g id="不够好" transform="translate(158, 455.32) scale(-1, 1) rotate(180) translate(-158, -455.32)translate(150, 447.32)">
<rect id="矩形" fill="#000000" opacity="0" x="0" y="0" width="16" height="16"></rect>
<path d="M1,7.5475 L1,13.625 C1,14.2065 1.471,14.6775 2.0525,14.6775 L3,14.6775 L3,6.505 L2.0525,6.495 C1.4712203,6.495 1,6.9662203 1,7.5475 Z M13.395,5.3905 L9.2105,5.417 C9.407,4.7255 9.5065,4.111 9.5065,3.57 C9.5065,2.3425 8.431,1.1405 7.357,1.2965 C6.41,1.434 6.306,2.2525 6.306,3.278 L6.306,4.204 C6.306,5.3925 5.3085,6.405 4.152,6.5165 L4,6.515 L4,14.6775 L12.243,14.6775 C13.0141535,14.6775 13.6763396,14.1291539 13.82,13.3715 L14.972,7.294 C15.0608892,6.82439182 14.9358631,6.3395998 14.6309458,5.97155283 C14.3260285,5.60350586 13.8729468,5.39049941 13.395,5.3905 L13.395,5.3905 Z" id="形状" fill="#8CA4BA"></path>
</g>
</g>
</g>
</g>
</svg>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>点赞</title>
<rect id="矩形" fill="#000000" opacity="0" x="0" y="0" width="16" height="16"></rect>
<path d="M13.395,5.3905 L9.257,5.3905 C9.4535,4.699 9.553,4.0845 9.553,3.5435 C9.553,2.316 8.431,1.1405 7.357,1.2965 C6.41,1.434 5.958,2.2325 5.958,3.258 L5.958,4.1845 C5.958,5.373 5.0485,6.3865 3.892,6.498 L2.0525,6.495 C1.4712203,6.495 1,6.9662203 1,7.5475 L1,13.625 C1,14.2065 1.471,14.6775 2.0525,14.6775 L12.243,14.6775 C13.0141535,14.6775 13.6763396,14.1291539 13.82,13.3715 L14.972,7.294 C15.0608892,6.82439182 14.9358631,6.3395998 14.6309458,5.97155283 C14.3260285,5.60350586 13.8729468,5.39049941 13.395,5.3905 Z M2,13.625 L2,7.5475 C2,7.5185 2.0235,7.495 2.0525,7.495 L3.25,7.495 L3.25,13.6775 L2.0525,13.6775 C2.02350505,13.6775 2,13.6539949 2,13.625 L2,13.625 Z M13.9895,7.108 L12.8375,13.1855 C12.7832202,13.4709991 12.5336132,13.6775 12.243,13.6775 L4.25,13.6775 L4.25,7.451 C5.8188449,7.15150285 6.95470437,5.78117313 6.958,4.184 L6.958,3.258 C6.958,2.671 7.1465,2.3375 7.5005,2.2865 C7.923,2.225 8.553,2.8855 8.553,3.544 C8.553,4.127 8.4045,4.8565 8.102,5.727 C8.04891415,5.87989332 8.07311785,6.0490253 8.16695458,6.1808932 C8.2607913,6.31276111 8.41265293,6.39105216 8.5745,6.391 L13.395,6.391 C13.5750607,6.3910127 13.7457587,6.47122841 13.8606881,6.60983965 C13.9756175,6.74845089 14.0228335,6.93105165 13.9895,7.108 Z" id="形状" fill="#8CA4BA"></path>
</svg>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<svg width="16px" height="16px" viewBox="0 0 16 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>已点赞</title>
<g id="游戏" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="游戏-快捷回复AI" transform="translate(-1502, -617)" fill-rule="nonzero">
<g id="编组-4备份-2" transform="translate(1378, 169.68)">
<g id="已点赞" transform="translate(124, 447.32)">
<rect id="矩形" fill="#000000" opacity="0" x="0" y="0" width="16" height="16"></rect>
<path d="M1,7.5475 L1,13.625 C1,14.2065 1.471,14.6775 2.0525,14.6775 L3,14.6775 L3,6.505 L2.0525,6.495 C1.4712203,6.495 1,6.9662203 1,7.5475 Z M13.395,5.3905 L9.2105,5.417 C9.407,4.7255 9.5065,4.111 9.5065,3.57 C9.5065,2.3425 8.431,1.1405 7.357,1.2965 C6.41,1.434 6.306,2.2525 6.306,3.278 L6.306,4.204 C6.306,5.3925 5.3085,6.405 4.152,6.5165 L4,6.515 L4,14.6775 L12.243,14.6775 C13.0141535,14.6775 13.6763396,14.1291539 13.82,13.3715 L14.972,7.294 C15.0608892,6.82439182 14.9358631,6.3395998 14.6309458,5.97155283 C14.3260285,5.60350586 13.8729468,5.39049941 13.395,5.3905 L13.395,5.3905 Z" id="形状" fill="#8CA4BA"></path>
</g>
</g>
</g>
</g>
</svg>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<svg width="14px" height="14px" viewBox="0 0 14 14" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<!-- Generator: Sketch 60.1 (88133) - https://sketch.com -->
<title></title>
<desc>Created with Sketch.</desc>
<g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
<g id="账号管理" transform="translate(-1147.000000, -762.000000)" fill-rule="nonzero">
<g id="4.数据展示/10.Popover气泡卡片/上左⬇️" transform="translate(1136.000000, 649.000000)">
<g id="怒" transform="translate(11.000000, 113.000000)">
<rect id="矩形" fill="#000000" opacity="0" x="0" y="0" width="14" height="14"></rect>
<path d="M12.768,4.83 C12.8986667,5.166 12.9966667,5.51366667 13.062,5.873 C13.1273333,6.23233333 13.16,6.608 13.16,7 C13.16,7.84 12.999,8.63333333 12.677,9.38 C12.355,10.1266667 11.9163333,10.7753333 11.361,11.326 C10.8056667,11.8766667 10.157,12.313 9.415,12.635 C8.673,12.957 7.87733333,13.118 7.028,13.118 C6.188,13.118 5.39466667,12.957 4.648,12.635 C3.90133333,12.313 3.25266667,11.8766667 2.702,11.326 C2.15133333,10.7753333 1.715,10.1266667 1.393,9.38 C1.071,8.63333333 0.91,7.84 0.91,7 C0.91,6.61733333 0.942666667,6.24633333 1.008,5.887 C1.07333333,5.52766667 1.17133333,5.18 1.302,4.844 C1.302,4.77138003 1.80645408,3.67280698 2.058,3.416 C2.618,2.64133333 3.32966667,2.023 4.193,1.561 C5.05633333,1.099 6.00133333,0.868 7.028,0.868 C8.05466667,0.868 8.99733333,1.09666667 9.856,1.554 C10.7146667,2.01133333 11.424,2.62266667 11.984,3.388 C12.1504838,3.56624497 12.768,4.80553547 12.768,4.83 Z" id="形状" fill="#FFD840"></path>
<path d="M3.416,3.752 C3.53733333,4.15333333 3.668,4.51733333 3.808,4.844 C3.92933333,5.124 4.06466667,5.39466667 4.214,5.656 C4.36333333,5.91733333 4.51733333,6.09 4.676,6.174 C4.83466667,6.258 5.00266667,6.26266667 5.18,6.188 C5.35733333,6.11333333 5.52066667,6.01533333 5.67,5.894 C5.838,5.754 6.01066667,5.58133333 6.188,5.376 L3.416,3.752 Z" id="路径" fill="#873618"></path>
<path d="M9.9100167,10.630065 C9.97364586,10.6075526 10.0233561,10.5775361 10.0591476,10.5400154 C10.094939,10.5024948 10.1187999,10.4612221 10.1307304,10.4161973 C10.1426608,10.3711726 10.1486261,10.3298999 10.1486261,10.2923792 C10.1486261,10.2548586 10.1446492,10.2248421 10.1366956,10.2023297 C10.1207883,10.164809 10.1088578,10.1385446 10.1009042,10.1235363 C10.0929505,10.1085281 10.0889737,10.0935198 10.0889737,10.0785116 C9.89808623,9.66578455 9.53818376,9.33185086 9.00926632,9.07671052 C8.48034888,8.82157017 7.85002246,8.694 7.11828706,8.694 C6.75241936,8.694 6.40444736,8.73152064 6.07437106,8.80656192 C5.74429476,8.88160319 5.44802146,8.98478495 5.18555115,9.11610719 C4.92308085,9.24742942 4.69839035,9.40501611 4.51147968,9.58886724 C4.32456901,9.77271837 4.19532226,9.96970172 4.12373945,10.1798173 C4.12373945,10.1873214 4.11976263,10.1948256 4.11180898,10.2023297 C4.09590169,10.2473545 4.09987852,10.3242718 4.12373945,10.4330816 C4.14760039,10.5418915 4.2191832,10.6075526 4.33848789,10.630065 C4.52142174,10.4199494 4.74412382,10.2285941 5.00659413,10.0559992 C5.23724985,9.90591664 5.5235811,9.77084234 5.86558786,9.65077629 C6.20759463,9.53071025 6.61720738,9.47067723 7.09442612,9.47067723 C7.57164486,9.47067723 7.98722285,9.53071025 8.34116008,9.65077629 C8.69509732,9.77084234 8.9873938,9.90591664 9.21804952,10.0559992 C9.48847348,10.2285941 9.7191292,10.4199494 9.9100167,10.630065 L9.9100167,10.630065 Z" id="路径" fill="#873618"></path>
<path d="M9.338,6.174 C9.49666667,6.09 9.65066667,5.91733333 9.8,5.656 C9.94933333,5.39466667 10.0846667,5.124 10.206,4.844 C10.346,4.51733333 10.4766667,4.15333333 10.598,3.752 L7.826,5.376 C8.00333333,5.58133333 8.176,5.754 8.344,5.894 C8.49333333,6.01533333 8.65666667,6.11333333 8.834,6.188 C9.01133333,6.26266667 9.17933333,6.258 9.338,6.174 L9.338,6.174 Z" id="路径" fill="#873618"></path>
</g>
</g>
</g>
</g>
</svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 11 10">
<defs>
<linearGradient id="a" y2="50%" x2="100%" y1="50%" x1="0%">
<stop offset="0%" stop-color="#6EE7E9" />
<stop offset="47.431%" stop-color="#9FF2CD" />
<stop offset="100%" stop-color="#E3FDB2" />
</linearGradient>
</defs>
<path fill="url(#a)"
d="M8.995 4.884a.141.141 0 0 1-.009.264c-.726.247-2.33.82-2.696 1.188-.447.447-.932 1.887-1.154 2.607a.14.14 0 0 1-.267.006c-.255-.714-.807-2.144-1.275-2.613-.348-.348-1.892-.936-2.58-1.188a.141.141 0 0 1-.01-.261c.668-.295 2.166-.985 2.59-1.408.402-.403 1.006-1.785 1.277-2.437a.141.141 0 0 1 .263.007c.234.655.755 2.029 1.156 2.43.423.422 1.996 1.11 2.705 1.405Z"
transform="translate(.157)" fill-rule="nonzero" />
</svg>
\ No newline at end of file
<svg t="1756195887325" class="icon" viewBox="0 0 1034 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="7768" width="200" height="200"><path d="M1011.982 842.518 606.673 140.565c-49.575-85.822-130.595-85.822-180.157 0L21.205 842.518c-49.562 85.91-9.015 155.99 90.04 155.99l810.693 0C1020.997 998.507 1061.502 928.423 1011.982 842.518zM460.924 339.737c14.565-15.747 33.082-23.622 55.665-23.622 22.595 0 41.095 7.792 55.675 23.307 14.485 15.55 21.725 34.997 21.725 58.382 0 20.12-30.235 168.07-40.32 275.704l-72.825 0c-8.845-107.635-41.652-255.584-41.652-275.704C439.194 374.774 446.446 355.407 460.924 339.737zM571.244 851.538c-15.32 14.92-33.55 22.355-54.65 22.355-21.095 0-39.33-7.435-54.647-22.355-15.275-14.885-22.867-32.915-22.867-54.09 0-21.065 7.592-39.29 22.867-54.565 15.317-15.28 33.552-22.92 54.647-22.92 21.1 0 39.33 7.64 54.65 22.92 15.265 15.275 22.875 33.5 22.875 54.565C594.119 818.623 586.509 836.653 571.244 851.538z" p-id="7769"></path></svg>
\ No newline at end of file
import Vue from 'vue'
import SvgIcon from '@/components/svgIcon'// svg component
// register globally
Vue.component('svg-icon', SvgIcon)
// 只批量导入,交由 svg-sprite-loader 处理生成与注入 sprite
const req = require.context('./icon/svg', false, /\.svg$/)
req.keys().forEach(req)
<template>
<div v-if="isExternal" :style="styleExternalIcon" class="svg-external-icon svg-icon" v-on="$listeners" />
<svg v-else :class="svgClass" aria-hidden="true" :style="{ display: iconClass || svgName ? '' : 'none' }"
v-on="$listeners">
<use :xlink:href="iconName" />
</svg>
</template>
<script lang="jsx">
// doc: https://panjiachen.github.io/vue-element-admin-site/feature/component/svg-icon.html#usage
import { isExternal } from '@/utils/validate'
export default {
name: 'SvgIcon',
props: {
iconClass: {
type: String,
default: ''
},
svgName: {
type: String,
default: ''
},
className: {
type: String,
default: ''
}
},
computed: {
isExternal() {
return isExternal(this.iconClass)
},
iconName() {
if (this.svgName) {
return `#${this.svgName}`
}
return `#icon-${this.iconClass}`
},
svgClass() {
if (this.className) {
return 'svg-icon ' + this.className
} else {
return 'svg-icon'
}
},
styleExternalIcon() {
return {
mask: `url(${this.iconClass}) no-repeat 50% 50%`,
'-webkit-mask': `url(${this.iconClass}) no-repeat 50% 50%`
}
}
}
}
</script>
<style scoped>
.svg-icon {
width: 1em;
height: 1em;
/* vertical-align: -0.15em; */
fill: currentColor;
overflow: hidden;
}
.svg-external-icon {
background-color: currentColor;
mask-size: cover !important;
display: inline-block;
}
</style>
...@@ -7,6 +7,8 @@ import _ from 'lodash'; ...@@ -7,6 +7,8 @@ import _ from 'lodash';
import ElementUI from 'element-ui'; import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css'; import 'element-ui/lib/theme-chalk/index.css';
import 'lib-flexible/flexible.js' import 'lib-flexible/flexible.js'
// 引入 SVG 图标系统
import '@/assets/index.js'
Vue.use(ElementUI); Vue.use(ElementUI);
// import '@/styles/element-theme-colors.css'; // import '@/styles/element-theme-colors.css';
import '@/styles/index.scss'; import '@/styles/index.scss';
......
...@@ -12,7 +12,7 @@ import taskRecord from '../views/taskRecord.vue' ...@@ -12,7 +12,7 @@ import taskRecord from '../views/taskRecord.vue'
import mailList from '@/views/mailList.vue' import mailList from '@/views/mailList.vue'
import quickSendGame from '@/views/quickSendGame.vue' import quickSendGame from '@/views/quickSendGame.vue'
import taskList from '@/views/taskList.vue' import taskList from '@/views/taskList.vue'
import summaryList from '@/views/summaryList.vue' import aiChat from '@/views/components/aiChat/aiChat.vue'
import Cookies from 'js-cookie' import Cookies from 'js-cookie'
import store from '@/store' import store from '@/store'
Vue.use(VueRouter) Vue.use(VueRouter)
...@@ -85,15 +85,16 @@ const routes = [ ...@@ -85,15 +85,16 @@ const routes = [
component: taskList component: taskList
}, },
{ {
path: '/summaryList', path: '/aiChat',
name: 'summaryList', name: 'aiChat',
component: summaryList component: aiChat
}, },
{ {
path: '/login', path: '/login',
name: 'login', name: 'login',
component: () => import('../views/newLogin.vue') component: () => import('../views/newLogin.vue')
}, },
] ]
const router = new VueRouter({ const router = new VueRouter({
/* 这里用 hash 模式 因为本项目是在企微 服务器下的一个二级页面 如果用 history 模式 需要修改 nginx 配置 在 nginx 配置中 需要添加 location /company_app/ { /* 这里用 hash 模式 因为本项目是在企微 服务器下的一个二级页面 如果用 history 模式 需要修改 nginx 配置 在 nginx 配置中 需要添加 location /company_app/ {
......
/*
* @Author: maoxiya 937667504@qq.com
* @Date: 2025-05-27 11:32:14
* @LastEditors: maoxiya 937667504@qq.com
* @LastEditTime: 2025-09-01 16:17:04
* @FilePath: /company_app/src/utils/auth.js
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
*/
import Cookies from 'js-cookie' import Cookies from 'js-cookie'
import store from '@/store/index' import store from '@/store/index'
const TokenKey = 'token' const TokenKey = 'token'
......
...@@ -71,11 +71,16 @@ service.interceptors.response.use( ...@@ -71,11 +71,16 @@ service.interceptors.response.use(
// cancelPending(response.config) // cancelPending(response.config)
// 如果状态码不是成功,则判断为错误 // 如果状态码不是成功,则判断为错误
if (res.status_code !== STATUS_CODE_SUCCESS) { if (res.status_code !== STATUS_CODE_SUCCESS) {
// 如果请求参数中 有 noMessage 则不显示错误信息
if (response.config.data && JSON.parse(response.config.data) && JSON.parse(response.config.data).noMessage) {
return res
}else{
Message({ Message({
message: res.msg || 'Error', message: res.msg || 'Error',
type: 'error', type: 'error',
duration: 2 * 1000 duration: 2 * 1000
}) })
}
if (res.status_code === -100) { if (res.status_code === -100) {
// 登录 过期 重新去登录 // 登录 过期 重新去登录
setTimeout(() => { setTimeout(() => {
......
/**
* @param {string} str
* @returns {Boolean}
*/
export function isExternal(str) {
return /^(https?:|mailto:|tel:)/.test(str)
}
/**
* @param {string} str
* @returns {Boolean}
*/
export function validUsername(str) {
const valid_map = ['admin', 'editor']
return valid_map.indexOf(str.trim()) >= 0
}
/**
* @param {string} url
* @returns {Boolean}
*/
export function validURL(url) {
const reg = /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/
return reg.test(url)
}
/**
* @param {string} str
* @returns {Boolean}
*/
export function validLowerCase(str) {
const reg = /^[a-z]+$/
return reg.test(str)
}
/**
* @param {string} str
* @returns {Boolean}
*/
export function validUpperCase(str) {
const reg = /^[A-Z]+$/
return reg.test(str)
}
/**
* @param {string} str
* @returns {Boolean}
*/
export function validAlphabets(str) {
const reg = /^[A-Za-z]+$/
return reg.test(str)
}
/**
* @param {string} email
* @returns {Boolean}
*/
export function validEmail(email) {
const reg = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
return reg.test(email)
}
/**
* @param {string} str
* @returns {Boolean}
*/
export function isString(str) {
if (typeof str === 'string' || str instanceof String) {
return true
}
return false
}
/**
* @param {Array} arg
* @returns {Boolean}
*/
export function isArray(arg) {
if (typeof Array.isArray === 'undefined') {
return Object.prototype.toString.call(arg) === '[object Array]'
}
return Array.isArray(arg)
}
...@@ -2,123 +2,56 @@ ...@@ -2,123 +2,56 @@
<div class="terminaListArea" v-scroll="paperScroll"> <div class="terminaListArea" v-scroll="paperScroll">
<div class="addApply rowFlex spaceBetween"> <div class="addApply rowFlex spaceBetween">
<span></span> <span></span>
<el-button <el-button type="primary" size="small" icon="el-icon-plus"
type="primary" @click="showaddAreaTransfer = true, areaTransferItem = {}">新增转区申请</el-button>
size="small"
icon="el-icon-plus"
@click="showaddAreaTransfer = true,areaTransferItem = {}"
>新增转区申请</el-button>
</div> </div>
<el-form <el-form ref="taskForm" :model="terminaForm" class="taskForm" label-position="top" label-width="85px">
ref="taskForm"
:model="terminaForm"
class="taskForm"
label-position="top"
label-width="85px"
>
<el-form-item label="审批状态"> <el-form-item label="审批状态">
<el-select <el-select v-model="terminaForm.approval_status" style="width:95%;" clearable placeholder="请选择审批状态"
v-model="terminaForm.approval_status" @change="filterChange">
style="width:95%;" <el-option v-for="item in approvalList" :key="item.value" :label="item.label" :value="item.value">
clearable
placeholder="请选择审批状态"
@change="filterChange"
>
<el-option
v-for="item in approvalList"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="创建时间"> <el-form-item label="创建时间">
<selectDate <selectDate :default-value="dateValue" :type="true" :no-clearable="true" style="width: 95%"
:default-value="dateValue" @result="createResult" />
:type="true"
:no-clearable="true"
style="width: 95%"
@result="createResult"
/>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div <div class="terminaListAreaList">
class="terminaListAreaList"
>
<!-- 举报申请 --> <!-- 举报申请 -->
<div class="scrollMain" v-if="terminaList.length > 0"> <div class="scrollMain" v-if="terminaList.length > 0">
<div <div v-for="(item, index) in terminaList" :key="item.id || index" class="terminaContent"
v-for="(item, index) in terminaList" @click="terminaProcess(item, index)">
:key="item.id || index"
class="terminaContent"
@click="terminaProcess(item, index)"
>
<div class="terminaItem rowFlex spaceBetween columnCenter"> <div class="terminaItem rowFlex spaceBetween columnCenter">
<i :class=" item.showStep?'el-icon-arrow-down':'el-icon-arrow-right'" class="svgicon"></i> <i :class="item.showStep ? 'el-icon-arrow-down' : 'el-icon-arrow-right'" class="svgicon"></i>
<div class="terminaItemLeft"> <div class="terminaItemLeft">
<p><span class="label">新区角色:</span><span class="value">{{ item.role_name }}({{ item.server_name }})</span></p> <p><span class="label">新区角色:</span><span class="value">{{ item.role_name }}({{ item.server_name }})</span>
<p><span class="label">老区角色:</span><span class="value">{{ item.old_role_name }} ({{ item.old_server_name }}) </span></p> </p>
<p><span class="label">老区角色:</span><span class="value">{{ item.old_role_name }} ({{ item.old_server_name
}}) </span></p>
<p> <p>
<span class="label">登记时间:</span><span class="value">{{ item.create_time || '' }}</span> <span class="label">登记时间:</span><span class="value">{{ item.create_time || '' }}</span>
</p> </p>
</div> </div>
<div class="terminaItemRight columnFlex columnCenter"> <div class="terminaItemRight columnFlex columnCenter">
<el-button <el-button v-if="item.approval_status == 4 && item.related_request_id == 0" type="primary" size="mini"
v-if="item.approval_status == 4 && item.related_request_id == 0" style="margin-bottom:15px;" @click.stop="resubmitApproval(item)">重新提交</el-button>
type="primary" <img v-if="item.approval_status == 1" :src="shenpi1" class="icon" />
size="mini" <img v-else-if="item.approval_status == 2" :src="shenpi2" class="icon" />
style="margin-bottom:15px;" <img v-else-if="item.approval_status == 3" :src="shenpi3" class="icon" />
@click.stop="resubmitApproval(item)" <img v-else-if="item.approval_status == 4" :src="shenpi4" class="icon" />
>重新提交</el-button> <img v-else-if="item.approval_status == 5" :src="shenpi5" class="icon" />
<img
v-if="item.approval_status == 1"
:src="shenpi1"
class="icon"
/>
<img
v-else-if="item.approval_status == 2"
:src="shenpi2"
class="icon"
/>
<img
v-else-if="item.approval_status == 3"
:src="shenpi3"
class="icon"
/>
<img
v-else-if="item.approval_status == 4"
:src="shenpi4"
class="icon"
/>
<img
v-else-if="item.approval_status == 5"
:src="shenpi5"
class="icon"
/>
</div> </div>
</div> </div>
<!-- 审批进度 --> <!-- 审批进度 -->
<el-collapse-transition> <el-collapse-transition>
<div <div v-if="item.showStep" class="terminaProcessList">
v-if="item.showStep" <el-steps direction="vertical" :active="item.current" finish-status="success">
class="terminaProcessList" <el-step v-for="(items, indexs) in item.terminaProcessList" :key="'trans_item_' + indexs"
> :title="items.node_name">
<el-steps
direction="vertical"
:active="item.current"
finish-status="success"
>
<el-step
v-for="(items, indexs) in item.terminaProcessList"
:key="'trans_item_' + indexs"
:title="items.node_name"
>
<template slot="description"> <template slot="description">
<div <div v-if="items" class="trans-follow-1 card-style">
v-if="items"
class="trans-follow-1 card-style"
>
<div class="follow-item"> <div class="follow-item">
<span class="follow-info-label label-font"> <span class="follow-info-label label-font">
{{ items.node_sort !== '0' ? '审批人:' : '登记人:' }} {{ items.node_sort !== '0' ? '审批人:' : '登记人:' }}
...@@ -126,32 +59,21 @@ ...@@ -126,32 +59,21 @@
<span class="info-value value-font"> <span class="info-value value-font">
{{ Array.isArray(items.user_name) ? items.user_name[0] : items.user_name }} {{ Array.isArray(items.user_name) ? items.user_name[0] : items.user_name }}
</span> </span>
<el-tooltip <el-tooltip v-if="Array.isArray(items.user_name) && items.user_name.length > 1" class="item"
v-if="Array.isArray(items.user_name) && items.user_name.length > 1" effect="dark" :content="items.user_name.slice(1).join('、')" placement="top">
class="item"
effect="dark"
:content="items.user_name.slice(1).join('、')"
placement="top"
>
<span class="info-value value-font info-value-color"> <span class="info-value value-font info-value-color">
{{ `+${items.user_name.length - 1}` }} {{ `+${items.user_name.length - 1}` }}
</span> </span>
</el-tooltip> </el-tooltip>
</div> </div>
<div <div v-if="items.node_sort !== '0' || items.node_name === '系统'" class="follow-item">
v-if="items.node_sort !== '0' || items.node_name === '系统'"
class="follow-item"
>
<span class="follow-info-label label-font"> <span class="follow-info-label label-font">
审批结果: 审批结果:
</span> </span>
<span <span class="info-value value-font"
class="info-value value-font" :class="items.current < indexs ? '' : switchStateTag(items.approval_result)">
:class="items.current < indexs ? '' : switchStateTag(items.approval_result)" {{ items.current < indexs ? '' : items.approval_result_text }} </span>
>
{{ items.current < indexs ? '' : items.approval_result_text }}
</span>
</div> </div>
<div class="follow-item"> <div class="follow-item">
<span class="follow-info-label label-font"> <span class="follow-info-label label-font">
...@@ -161,10 +83,8 @@ ...@@ -161,10 +83,8 @@
{{ items.node_sort === '0' ? items.create_time : items.update_time }} {{ items.node_sort === '0' ? items.create_time : items.update_time }}
</span> </span>
</div> </div>
<div <div v-if="(items.node_sort !== '0' || items.node_name === '系统') && items.approval_result === '2'"
v-if="(items.node_sort !== '0' || items.node_name === '系统') && items.approval_result === '2'" class="follow-item">
class="follow-item"
>
<span class="follow-info-label label-font"> <span class="follow-info-label label-font">
驳回原因: 驳回原因:
</span> </span>
...@@ -173,8 +93,7 @@ ...@@ -173,8 +93,7 @@
</div> </div>
<div <div
v-if="items.node_sort === item.terminaProcessList[item.terminaProcessList.length - 1].node_sort + '' && items.approval_result === '1' && items.node_sort !== '0'" v-if="items.node_sort === item.terminaProcessList[item.terminaProcessList.length - 1].node_sort + '' && items.approval_result === '1' && items.node_sort !== '0'"
class="follow-item-remark follow-item" class="follow-item-remark follow-item">
>
<span class="follow-info-label label-font"> <span class="follow-info-label label-font">
处理结果: 处理结果:
</span> </span>
...@@ -182,24 +101,17 @@ ...@@ -182,24 +101,17 @@
{{ items.extra_attribution.banned_text }} {{ items.extra_attribution.banned_text }}
</span> </span>
</div> </div>
<div <div v-if="items.node_name !== '系统' && items.extra_attribution && items.extra_attribution.remark"
v-if="items.node_name !== '系统' && items.extra_attribution && items.extra_attribution.remark" class="info-item-remark">
class="info-item-remark"
>
<div style="display: flex;"> <div style="display: flex;">
<span class="info-label remark-label">详情:</span> <span class="info-label remark-label">详情:</span>
<span <span class="preview-btn" @click.stop="previewRemark(items.extra_attribution.remark)">
class="preview-btn"
@click.stop="previewRemark(items.extra_attribution.remark)"
>
<i class="el-icon-view"></i> <i class="el-icon-view"></i>
点击查看大图 点击查看大图
</span> </span>
</div> </div>
<div <div class="remark-value"
class="remark-value" v-html="formatImg(items.extra_attribution && items.extra_attribution.remark ? items.extra_attribution.remark : '')">
v-html="formatImg(items.extra_attribution && items.extra_attribution.remark ? items.extra_attribution.remark : '')"
>
</div> </div>
</div> </div>
</div> </div>
...@@ -212,23 +124,14 @@ ...@@ -212,23 +124,14 @@
</div> </div>
<noContent v-else /> <noContent v-else />
</div> </div>
<el-dialog <el-dialog :visible.sync="dialogRemarkVisible" append-to-body title="查看大图" custom-class="remake-dialog">
:visible.sync="dialogRemarkVisible"
append-to-body
title="查看大图"
custom-class="remake-dialog"
>
<div class="remake-box"> <div class="remake-box">
<div v-html="dialogRemake"></div> <div v-html="dialogRemake"></div>
</div> </div>
</el-dialog> </el-dialog>
<!-- 编辑误操作 --> <!-- 编辑误操作 -->
<AreaTransferDialog <AreaTransferDialog v-if="showaddAreaTransfer" :visible.sync="showaddAreaTransfer"
v-if="showaddAreaTransfer" :area-transfer-item="areaTransferItem" @updateList="updateList" />
:visible.sync="showaddAreaTransfer"
:area-transfer-item="areaTransferItem"
@updateList="updateList"
/>
</div> </div>
</template> </template>
<script> <script>
...@@ -238,11 +141,11 @@ import { removeDp, formatNumber, debounce } from '@/utils/index' ...@@ -238,11 +141,11 @@ import { removeDp, formatNumber, debounce } from '@/utils/index'
import AreaTransferDialog from './AreaTransferDialog.vue' import AreaTransferDialog from './AreaTransferDialog.vue'
import selectDate from '@/components/selectDate.vue' import selectDate from '@/components/selectDate.vue'
// 导入审批状态图标 // 导入审批状态图标
import shenpi1 from '@/assets/icon/shenpi1.svg' import shenpi1 from '@/assets/icon/svg/shenpi1.svg'
import shenpi2 from '@/assets/icon/shenpi2.svg' import shenpi2 from '@/assets/icon/svg/shenpi2.svg'
import shenpi3 from '@/assets/icon/shenpi3.svg' import shenpi3 from '@/assets/icon/svg/shenpi3.svg'
import shenpi4 from '@/assets/icon/shenpi4.svg' import shenpi4 from '@/assets/icon/svg/shenpi4.svg'
import shenpi5 from '@/assets/icon/shenpi5.svg' import shenpi5 from '@/assets/icon/svg/shenpi5.svg'
import noContent from '@/components/noContent.vue' import noContent from '@/components/noContent.vue'
export default { export default {
name: 'AreaTransferApply', name: 'AreaTransferApply',
...@@ -291,9 +194,9 @@ export default { ...@@ -291,9 +194,9 @@ export default {
shenpi5 shenpi5
} }
}, },
watch:{ watch: {
accountSelect(newVal, oldVal) { accountSelect(newVal, oldVal) {
console.log(newVal,'newVal') console.log(newVal, 'newVal')
if (newVal && newVal !== '') { if (newVal && newVal !== '') {
this.pageInfo = { this.pageInfo = {
page: 0, page: 0,
...@@ -463,9 +366,11 @@ export default { ...@@ -463,9 +366,11 @@ export default {
height: 100%; height: 100%;
overflow: auto; overflow: auto;
overflow-x: hidden; overflow-x: hidden;
::v-deep .el-form-item__label{
::v-deep .el-form-item__label {
font-weight: 400; font-weight: 400;
} }
.addApply { .addApply {
margin-top: 15px; margin-top: 15px;
} }
...@@ -524,6 +429,7 @@ export default { ...@@ -524,6 +429,7 @@ export default {
.terminaListAreaList { .terminaListAreaList {
width: 100%; width: 100%;
.scrollMain { .scrollMain {
width: 100%; width: 100%;
height: auto; height: auto;
...@@ -533,7 +439,8 @@ export default { ...@@ -533,7 +439,8 @@ export default {
width: calc(100% - 20px); width: calc(100% - 20px);
margin-left: 10px; margin-left: 10px;
position: relative; position: relative;
.svgicon{
.svgicon {
position: absolute; position: absolute;
bottom: 12px; bottom: 12px;
right: 2px; right: 2px;
...@@ -635,7 +542,7 @@ export default { ...@@ -635,7 +542,7 @@ export default {
width: 1px; width: 1px;
} }
::v-deep .el-step > .is-success { ::v-deep .el-step>.is-success {
color: #409EFF; color: #409EFF;
border-color: #409EFF; border-color: #409EFF;
...@@ -644,11 +551,11 @@ export default { ...@@ -644,11 +551,11 @@ export default {
} }
} }
::v-deep .el-step__main > .is-success { ::v-deep .el-step__main>.is-success {
color: #409EFF; color: #409EFF;
} }
::v-deep .el-step > .is-process { ::v-deep .el-step>.is-process {
color: #409EFF; color: #409EFF;
border-color: #409EFF; border-color: #409EFF;
...@@ -657,7 +564,7 @@ export default { ...@@ -657,7 +564,7 @@ export default {
} }
} }
::v-deep .el-step__main > .is-process { ::v-deep .el-step__main>.is-process {
color: #409EFF; color: #409EFF;
} }
...@@ -783,7 +690,7 @@ export default { ...@@ -783,7 +690,7 @@ export default {
height: 80px; height: 80px;
} }
&:hover > .preview-pic { &:hover>.preview-pic {
z-index: 100; z-index: 100;
} }
} }
......
...@@ -2,58 +2,26 @@ ...@@ -2,58 +2,26 @@
<div class="terminaListContent" v-scroll="paperScroll"> <div class="terminaListContent" v-scroll="paperScroll">
<div class="addApply rowFlex spaceBetween"> <div class="addApply rowFlex spaceBetween">
<span></span> <span></span>
<el-button <el-button type="primary" icon="el-icon-plus" size="small"
type="primary" @click="(showaddAreaTransfer = true, areaTransferItem = {})">新增转端申请</el-button>
icon="el-icon-plus"
size="small"
@click="(showaddAreaTransfer = true,areaTransferItem = {})"
>新增转端申请</el-button>
</div> </div>
<el-form <el-form ref="taskForm" :model="terminaForm" label-position="top" class="terminaListForm" label-width="85px">
ref="taskForm"
:model="terminaForm"
label-position="top"
class="terminaListForm"
label-width="85px"
>
<el-form-item label="审批状态"> <el-form-item label="审批状态">
<el-select <el-select v-model="terminaForm.approval_status" style="width:95%;" clearable placeholder="请选择审批状态"
v-model="terminaForm.approval_status" @change="filterChange">
style="width:95%;" <el-option v-for="item in approvalList" :key="item.value" :label="item.label" :value="item.value">
clearable
placeholder="请选择审批状态"
@change="filterChange"
>
<el-option
v-for="item in approvalList"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="创建时间"> <el-form-item label="创建时间">
<selectDate <selectDate :default-value="dateValue" :type="true" style="width: 95%" @result="createResult" />
:default-value="dateValue"
:type="true"
style="width: 95%"
@result="createResult"
/>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div <div class="terminaListContentList">
class="terminaListContentList"
>
<!-- 举报申请 --> <!-- 举报申请 -->
<div v-if="terminaList.length>0" class="scrollMain"> <div v-if="terminaList.length > 0" class="scrollMain">
<div <div v-for="(item, index) in terminaList" :key="index" class="terminaContent"
v-for="(item, index) in terminaList" @click="terminaProcess(item, index)">
:key="index"
class="terminaContent"
@click="terminaProcess(item, index)"
>
<div class="terminaItem rowFlex spaceBetween columnCenter"> <div class="terminaItem rowFlex spaceBetween columnCenter">
<div class="terminaItemLeft"> <div class="terminaItemLeft">
<p><span class="label">角色名称:</span><span class="value">{{ item.role_name }}</span></p> <p><span class="label">角色名称:</span><span class="value">{{ item.role_name }}</span></p>
...@@ -64,7 +32,8 @@ ...@@ -64,7 +32,8 @@
<p> <p>
<span class="label">登记时间:</span><span class="value">{{ item.create_time || '' }}</span> <span class="label">登记时间:</span><span class="value">{{ item.create_time || '' }}</span>
</p> </p>
<p><span class="label">转端状态:</span><span class="value">{{ item.trans_check_status_text || '-' }}</span></p> <p><span class="label">转端状态:</span><span class="value">{{ item.trans_check_status_text || '-' }}</span>
</p>
</div> </div>
<!-- 审批进度 --> <!-- 审批进度 -->
<el-collapse-transition> <el-collapse-transition>
...@@ -171,11 +140,11 @@ import { removeDp, formatNumber, debounce } from '@/utils/index' ...@@ -171,11 +140,11 @@ import { removeDp, formatNumber, debounce } from '@/utils/index'
import TerminalTransferDialog from './TerminalTransferDialog.vue' import TerminalTransferDialog from './TerminalTransferDialog.vue'
import selectDate from '@/components/selectDate.vue' import selectDate from '@/components/selectDate.vue'
// 导入审批状态图标 // 导入审批状态图标
import shenpi1 from '@/assets/icon/shenpi1.svg' import shenpi1 from '@/assets/icon/svg/shenpi1.svg'
import shenpi2 from '@/assets/icon/shenpi2.svg' import shenpi2 from '@/assets/icon/svg/shenpi2.svg'
import shenpi4 from '@/assets/icon/shenpi4.svg' import shenpi4 from '@/assets/icon/svg/shenpi4.svg'
import shenpi5 from '@/assets/icon/shenpi5.svg' import shenpi5 from '@/assets/icon/svg/shenpi5.svg'
import shenpi6 from '@/assets/icon/shenpi6.svg' import shenpi6 from '@/assets/icon/svg/shenpi6.svg'
import noContent from '@/components/noContent.vue' import noContent from '@/components/noContent.vue'
export default { export default {
name: 'terminaTranfer', name: 'terminaTranfer',
...@@ -392,12 +361,14 @@ export default { ...@@ -392,12 +361,14 @@ export default {
.terminaListContent { .terminaListContent {
width: 100%; width: 100%;
height: 100%; height: 100%;
.TerminaTranferContent{
.TerminaTranferContent {
width: 100%; width: 100%;
height: 100%; height: 100%;
overflow: auto; overflow: auto;
overflow-x: hidden; overflow-x: hidden;
} }
.terminaListForm { .terminaListForm {
::v-deep .el-form-item__label { ::v-deep .el-form-item__label {
font-weight: 400; font-weight: 400;
...@@ -462,6 +433,7 @@ export default { ...@@ -462,6 +433,7 @@ export default {
.terminaListContentList { .terminaListContentList {
width: 100%; width: 100%;
.scrollMain { .scrollMain {
width: 100%; width: 100%;
height: auto; height: auto;
......
...@@ -3,38 +3,31 @@ ...@@ -3,38 +3,31 @@
<div class="detailsErrorHandleContent" v-scroll="requestOrderList"> <div class="detailsErrorHandleContent" v-scroll="requestOrderList">
<div class="addApply rowFlex spaceBetween"> <div class="addApply rowFlex spaceBetween">
<span></span> <span></span>
<el-button <el-button type="primary" size="small" icon="el-icon-plus"
type="primary" @click="showAddErrorHandle = true, info = null">新增误操作</el-button>
size="small"
icon="el-icon-plus"
@click="showAddErrorHandle = true,info = null"
>新增误操作</el-button>
</div> </div>
<el-form class="filterList" label-position="top" size="small"> <el-form class="filterList" label-position="top" size="small">
<el-form-item label="角色名称" style="margin-bottom:15px;"> <el-form-item label="角色名称" style="margin-bottom:15px;">
<searchSelect :account-change="accountChange" style="width:100%;" placeholder="请输入角色名称" @result="selectResult" /> <searchSelect :account-change="accountChange" style="width:100%;" placeholder="请输入角色名称"
@result="selectResult" />
</el-form-item> </el-form-item>
<el-form-item label="状态" style="margin-bottom:15px;"> <el-form-item label="状态" style="margin-bottom:15px;">
<el-select v-model="pay_type" clearable placeholder="状态" style="width:100%;" @change="payTypeResult"> <el-select v-model="pay_type" clearable placeholder="状态" style="width:100%;" @change="payTypeResult">
<el-option <el-option v-for="item in statusList" :key="item.value" :label="item.label" :value="item.value">
v-for="item in statusList"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="创建时间" style="margin-bottom:15px;"> <el-form-item label="创建时间" style="margin-bottom:15px;">
<el-date-picker v-model="searchDate" type="daterange" clearable style="width:100%;" value-format="yyyy-MM-dd" range-separator="~" start-placeholder="开始日期" end-placeholder="结束日期" @change="dateResult"> </el-date-picker> <el-date-picker v-model="searchDate" type="daterange" clearable style="width:100%;" value-format="yyyy-MM-dd"
range-separator="~" start-placeholder="开始日期" end-placeholder="结束日期" @change="dateResult"> </el-date-picker>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div class="list"> <div class="list">
<!-- 过滤条件 --> <!-- 过滤条件 -->
<!-- 订单列表 --> <!-- 订单列表 -->
<div class="orderDetailsScroll"> <div class="orderDetailsScroll">
<div v-if="orderList.length>0" class="orderDetailsScrollContent"> <div v-if="orderList.length > 0" class="orderDetailsScrollContent">
<div v-for="(item,index) in orderList" :key="index" class="orderDetails"> <div v-for="(item, index) in orderList" :key="index" class="orderDetails">
<div class="orderDetailsList"> <div class="orderDetailsList">
<el-collapse v-model="collapseValue" @change="handleChange"> <el-collapse v-model="collapseValue" @change="handleChange">
<el-collapse-item :name="item.order_id"> <el-collapse-item :name="item.order_id">
...@@ -61,18 +54,26 @@ ...@@ -61,18 +54,26 @@
<div class="item rowFlex columnCenter spaceBetween"> <div class="item rowFlex columnCenter spaceBetween">
<div class="rowFlex"> <div class="rowFlex">
<span class="label">状态</span> <span class="label">状态</span>
<p v-if="item.approval_status==1" class="unhandle" style="margin-left:10px;">{{ item.approval_status_text }}</p> <p v-if="item.approval_status == 1" class="unhandle" style="margin-left:10px;">{{
<p v-else-if="item.approval_status==2" style="margin-left:10px;" class="noSend">{{ item.approval_status_text }}</p> item.approval_status_text }}</p>
<p v-else-if="item.approval_status==3" style="margin-left:10px;" class="sended">{{ item.approval_status_text }}</p> <p v-else-if="item.approval_status == 2" style="margin-left:10px;" class="noSend">{{
<p v-else-if="item.approval_status==4" style="margin-left:10px;" class="sendFail">{{ item.approval_status_text }}</p> item.approval_status_text }}</p>
<p v-else-if="item.approval_status==5" style="margin-left:10px;" class="handled">{{ item.approval_status_text }}</p> <p v-else-if="item.approval_status == 3" style="margin-left:10px;" class="sended">{{
item.approval_status_text }}</p>
<p v-else-if="item.approval_status == 4" style="margin-left:10px;" class="sendFail">{{
item.approval_status_text }}
</p>
<p v-else-if="item.approval_status == 5" style="margin-left:10px;" class="handled">{{
item.approval_status_text }}</p>
</div> </div>
</div> </div>
<div class="item rowFlex columnCenter spaceBetween"> <div class="item rowFlex columnCenter spaceBetween">
<div class="rowFlex"> <div class="rowFlex">
<span class="label">补发道具</span> <span class="label">补发道具</span>
<div v-if="item.reissue_prop.length" style="width:75%;"> <div v-if="item.reissue_prop.length" style="width:75%;">
<p v-for="(items,indexs) in item.reissue_prop" :key="indexs" class="text">{{ items.name }}{{ `(${items.num})` }}</p> <p v-for="(items, indexs) in item.reissue_prop" :key="indexs" class="text">{{ items.name }}{{
`(${items.num})` }}
</p>
</div> </div>
</div> </div>
</div> </div>
...@@ -80,7 +81,9 @@ ...@@ -80,7 +81,9 @@
<div class="rowFlex"> <div class="rowFlex">
<span class="label">返回道具</span> <span class="label">返回道具</span>
<div v-if="item.return_prop.length" style="width:75%;"> <div v-if="item.return_prop.length" style="width:75%;">
<p v-for="(items,indexs) in item.return_prop" :key="indexs" class="text">{{ items.name }}{{ `(${items.num})` }}</p> <p v-for="(items, indexs) in item.return_prop" :key="indexs" class="text">{{ items.name }}{{
`(${items.num})` }}
</p>
</div> </div>
</div> </div>
</div> </div>
...@@ -97,7 +100,8 @@ ...@@ -97,7 +100,8 @@
</div> </div>
<!-- 编辑误操作 --> <!-- 编辑误操作 -->
<addErrorHandle v-if="showAddErrorHandle" :show.sync="showAddErrorHandle" :info="info" title="玩家误操作" width="320px" @updateList="updateList" /> <addErrorHandle v-if="showAddErrorHandle" :show.sync="showAddErrorHandle" :info="info" title="玩家误操作" width="320px"
@updateList="updateList" />
</div> </div>
</template> </template>
...@@ -288,8 +292,8 @@ export default { ...@@ -288,8 +292,8 @@ export default {
this.orderList.map(item => { this.orderList.map(item => {
!item.remarks || item.remarks.length === 0 ? item.remarks = [{ remark: '' }] : '' !item.remarks || item.remarks.length === 0 ? item.remarks = [{ remark: '' }] : ''
}) })
if (res.status_code == 1 && msg) { if (res.status_code == 1 && !msg) {
this.$message.success(res.msg) // this.$message.success(res.msg)
} }
}) })
} }
...@@ -303,6 +307,7 @@ export default { ...@@ -303,6 +307,7 @@ export default {
background: #fff; background: #fff;
margin-left: 2px; margin-left: 2px;
position: relative; position: relative;
.detailsTitle { .detailsTitle {
width: 100%; width: 100%;
padding: 0 10px; padding: 0 10px;
...@@ -313,22 +318,26 @@ export default { ...@@ -313,22 +318,26 @@ export default {
color: #333333; color: #333333;
border-bottom: 1px solid #ebeef5; border-bottom: 1px solid #ebeef5;
border-left: 1px solid #ebeef5; border-left: 1px solid #ebeef5;
p { p {
color: #333333; color: #333333;
} }
} }
.detailsErrorHandleContent { .detailsErrorHandleContent {
width: 100%; width: 100%;
height:100%; height: 100%;
padding: 20px 10px; padding: 20px 10px;
overflow: auto; overflow: auto;
overflow-x: hidden; overflow-x: hidden;
.tabSelect{
.tabSelect {
width: 100%; width: 100%;
height: 60px; height: 60px;
border-bottom: 1px solid #EBEEF5; border-bottom: 1px solid #EBEEF5;
cursor: pointer; cursor: pointer;
.tabSelectItem{
.tabSelectItem {
font-size: 18px; font-size: 18px;
font-family: PingFangSC-Medium, PingFang SC; font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500; font-weight: 500;
...@@ -337,18 +346,22 @@ export default { ...@@ -337,18 +346,22 @@ export default {
line-height: 47px; line-height: 47px;
cursor: pointer; cursor: pointer;
} }
.tabSelectItemActive{
.tabSelectItemActive {
color: #409EFF; color: #409EFF;
border-bottom: 2px solid #409EFF; border-bottom: 2px solid #409EFF;
} }
} }
.list{
.list {
width: 100%; width: 100%;
height: auto; height: auto;
} }
.contentItem{
.contentItem {
position: relative; position: relative;
.title{
.title {
position: absolute; position: absolute;
left: 10px; left: 10px;
top: 14px; top: 14px;
...@@ -356,6 +369,7 @@ export default { ...@@ -356,6 +369,7 @@ export default {
color: #999999; color: #999999;
} }
} }
.item { .item {
width: 100%; width: 100%;
height: auto; height: auto;
...@@ -367,50 +381,59 @@ export default { ...@@ -367,50 +381,59 @@ export default {
position: relative; position: relative;
padding-left: 10px; padding-left: 10px;
cursor: pointer; cursor: pointer;
div{
div {
width: 100%; width: 100%;
} }
.remark{
::v-deep .el-textarea__inner{ .remark {
::v-deep .el-textarea__inner {
height: 80px; height: 80px;
} }
} }
.tableImage { .tableImage {
width: 40px; width: 40px;
height: 40px; height: 40px;
border-radius: 6px; border-radius: 6px;
margin-right: 10px; margin-right: 10px;
} }
.label { .label {
color: #999999; color: #999999;
} }
.text { .text {
color: #333333; color: #333333;
margin-left: 10px; margin-left: 10px;
word-break: break-all; word-break: break-all;
max-width: 80%; max-width: 80%;
} }
.icon { .icon {
display: none; display: none;
position: absolute; position: absolute;
right: 0; right: 0;
top: 12px; top: 12px;
} }
.dianFail{
.dianFail {
display: inline-block; display: inline-block;
width: 8px; width: 8px;
height: 8px; height: 8px;
background: #F45454; background: #F45454;
border-radius: 5px; border-radius: 5px;
} }
.dian{
.dian {
display: inline-block; display: inline-block;
width: 8px; width: 8px;
height: 8px; height: 8px;
background: #409EFF; background: #409EFF;
border-radius: 5px; border-radius: 5px;
} }
.dian2{
.dian2 {
display: inline-block; display: inline-block;
width: 8px; width: 8px;
height: 8px; height: 8px;
...@@ -419,60 +442,72 @@ export default { ...@@ -419,60 +442,72 @@ export default {
} }
} }
.orderMoney{ .orderMoney {
width: calc(100% + 40px); width: calc(100% + 40px);
height: 80px; height: 80px;
// margin-left: -20px; // margin-left: -20px;
padding: 10px 0; padding: 10px 0;
.orderMoneyItem{
.orderMoneyItem {
width: 50%; width: 50%;
text-align: center; text-align: center;
margin-top:5px; margin-top: 5px;
span{
span {
font-size: 14px; font-size: 14px;
font-family: PingFangSC-Medium, PingFang SC; font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500; font-weight: 500;
color: #333333; color: #333333;
} }
p{
p {
font-size: 22px; font-size: 22px;
color: #409EFF; color: #409EFF;
} }
} }
} }
.filterList{
.filterList {
margin-bottom: 10px; margin-bottom: 10px;
.filterListInput{
.filterListInput {
width: 60%; width: 60%;
margin-left: 15px; margin-left: 15px;
margin-bottom:10px; margin-bottom: 10px;
} }
.filterListDate{
width:150px; .filterListDate {
margin-bottom:10px; width: 150px;
margin-bottom: 10px;
} }
::v-deep .search-item .item-label{
::v-deep .search-item .item-label {
margin-right: 20px; margin-right: 20px;
} }
} }
.orderDetailsScroll{
.orderDetailsScroll {
width: 100%; width: 100%;
.orderDetailsScrollContent{
.orderDetailsScrollContent {
margin-bottom: 50px; margin-bottom: 50px;
} }
} }
.orderDetails{
.orderDetails {
width: 100%; width: 100%;
height: auto; height: auto;
margin-bottom: 10px; margin-bottom: 10px;
position: relative; position: relative;
.bridgeMain{
.bridgeMain {
position: absolute; position: absolute;
top: 0px; top: 0px;
right:0px; right: 0px;
width:50px; width: 50px;
height:50px; height: 50px;
.text{
.text {
font-size: 8px; font-size: 8px;
font-family: PingFangSC-Regular, PingFang SC; font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400; font-weight: 400;
...@@ -480,12 +515,13 @@ export default { ...@@ -480,12 +515,13 @@ export default {
transform: rotate(48deg); transform: rotate(48deg);
z-index: 100; z-index: 100;
position: absolute; position: absolute;
right:-6px; right: -6px;
top: 10px; top: 10px;
width: 50px; width: 50px;
text-align: center; text-align: center;
} }
.bridge{
.bridge {
font-size: 50px; font-size: 50px;
position: absolute; position: absolute;
top: 0; top: 0;
...@@ -493,17 +529,20 @@ export default { ...@@ -493,17 +529,20 @@ export default {
} }
} }
.orderDetailsTitle{ .orderDetailsTitle {
width: 100%; width: 100%;
background: #F9FAFF; background: #F9FAFF;
.money{
.money {
width: 100%; width: 100%;
height: auto; height: auto;
padding-left: 10px; padding-left: 10px;
.btns{
.btns {
padding-right: 40px; padding-right: 40px;
} }
.btn{
.btn {
background: #fff; background: #fff;
border-radius: 4px; border-radius: 4px;
padding: 2px 5px; padding: 2px 5px;
...@@ -513,21 +552,24 @@ export default { ...@@ -513,21 +552,24 @@ export default {
color: #333333; color: #333333;
cursor: pointer; cursor: pointer;
} }
.btnnot{
.btnnot {
background: #FFDDDD; background: #FFDDDD;
font-family: PingFangSC-Regular, PingFang SC; font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400; font-weight: 400;
color: #F56C6C; color: #F56C6C;
border: none; border: none;
} }
.btnsuccess{
.btnsuccess {
background: #E1FFF0; background: #E1FFF0;
font-family: PingFangSC-Regular, PingFang SC; font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400; font-weight: 400;
color: #409EFF; color: #409EFF;
border: none; border: none;
} }
.sended{
.sended {
padding: 0 8px; padding: 0 8px;
height: 20px; height: 20px;
line-height: 20px; line-height: 20px;
...@@ -538,7 +580,8 @@ export default { ...@@ -538,7 +580,8 @@ export default {
font-weight: 400; font-weight: 400;
color: #409EFF; color: #409EFF;
} }
.noSend{
.noSend {
padding: 0 8px; padding: 0 8px;
height: 20px; height: 20px;
line-height: 20px; line-height: 20px;
...@@ -550,26 +593,31 @@ export default { ...@@ -550,26 +593,31 @@ export default {
color: #FFA81D; color: #FFA81D;
} }
} }
.text{
.text {
font-size: 14px; font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC; font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400; font-weight: 400;
color: #333333; color: #333333;
max-width: 200px; max-width: 200px;
overflow: hidden; overflow: hidden;
white-space: nowrap; /* 防止文字换行 */ white-space: nowrap;
text-overflow: ellipsis; /* 超出部分显示省略号 */ /* 防止文字换行 */
text-overflow: ellipsis;
/* 超出部分显示省略号 */
} }
} }
.orderDetailsList{
.orderDetailsList {
width: 100%; width: 100%;
height: auto; height: auto;
background: #FFFFFF; background: #FFFFFF;
border: 1px solid #EBEEF5; border: 1px solid #EBEEF5;
position: relative; position: relative;
.titleFix{
.titleFix {
position: absolute; position: absolute;
left:10px; left: 10px;
top: 20px; top: 20px;
color: #999999; color: #999999;
} }
...@@ -577,7 +625,8 @@ export default { ...@@ -577,7 +625,8 @@ export default {
} }
} }
::v-deep .el-tabs__item{
::v-deep .el-tabs__item {
line-height: 26px; line-height: 26px;
font-size: 16px; font-size: 16px;
font-weight: 500; font-weight: 500;
...@@ -585,11 +634,11 @@ export default { ...@@ -585,11 +634,11 @@ export default {
/* 已移除局部 el-collapse 样式,使用全局样式 */ /* 已移除局部 el-collapse 样式,使用全局样式 */
.noContent{ .noContent {
width: 100%; width: 100%;
height: 100%; height: 100%;
font-size: 300px; font-size: 300px;
} }
} }
</style> </style>
\ No newline at end of file
<template>
<div class="AiLibrary">
<div class="aiLibraryContent" v-if="knowledge_search_list.length > 0">
<div class="aiLibraryHeader">
<div class="aiLibraryHeader_content columnFlex">
<div class="rowFlex rowCenter spaceBetween">
<p class="aiLibraryHeader_content_tag_title">当前知识库:
<el-popover placement="top" style="width: auto;" title="当前知识库:" trigger="click"
content="这是一段内容">
<div class="aiLibraryHeader_content_tag columnFlex">
<p v-for="(name, index) in knowledge_search_list" style="margin-bottom:10px;"
:key="index">
<el-tag size="mini">{{ name
}}</el-tag>
</p>
</div>
<el-button type="text" size="medium" slot="reference">{{ knowledge_search_list.length
}}</el-button>
</el-popover>
</p>
<el-button type="text" @click="clearContextComfion" class="clearContext">清除上下文</el-button>
</div>
</div>
</div>
<div class="AiChatList">
<!-- v-loadingChat="loading" -->
<div ref="ai-box" v-debounce="paperScroll" class="msg-box columnFlex flex1">
<div>
<div class="rowFlex rowCenter linkStyle">
<div class="rowFlex columnCenter">
<div class="line"></div>
<svg-icon icon-class="start" style="margin-left:5px;" />
</div>
<el-link type="primary" class="moreLink" @click="Aihistory">加载更多问答记录</el-link>
<div class="rowFlex columnCenter">
<svg-icon icon-class="start" />
<div class="line"></div>
</div>
</div>
<div v-for="(i, index) in recordMessage" :key="i._id" class="item">
<div class="msgBoxItem">
<div v-if="i._id && i.message" class="msg rowFlex columnCenter"
:style="i.send_type == 1 ? 'flex-direction:row-reverse' : ''">
<div class="columnFlex userHead">
<div class="user-head columnFlex">
<el-image class="image" fit="fill"
:src="i.send_type == 2 ? i.from.robot.avatar : i.from.cser.avatar"></el-image>
</div>
</div>
<div class="user-msg columnFlex"
:style="i.send_type == 1 ? 'margin-right:10px;' : 'margin-left:10px;'">
<p class="time" :style="i.send_type == 1 ? 'text-align: right;' : ' '">
{{ i.create_time }}
<el-popover v-if="i._id && i.quote_list.length > 0" placement="top"
width="300" trigger="click">
<div class="comeIngText" style="max-height:500px;overflow:auto">
<div v-for="(item, index) in i.quote_list" :key="index"
style="margin-bottom:15px;">
<span style="color:#000;font-weight:bold">来源{{ index + 1
}}:</span>
<p>问题:{{ item.question }}</p>
<p>答案:{{ item.answer }}</p>
</div>
</div>
<el-button style="margin-bottom: -10px;" slot="reference"
type="text">回答来源</el-button>
</el-popover>
</p>
<!-- 文字 -->
<div class="rowFlex resizeBtn chatItemBox"
:class="i.send_type == 1 ? 'rowEnd' : 'rowStart'">
<!-- 客服发的消息 -->
<div v-if="i.message.msgtype == 'text' && i.message.text && i.message.text.content && !i.loading"
class="chatItem" :style="i.send_type == 1 ? 'float: right;' : ''"
:class="[i.send_type == 1 ? 'right' : 'left chatItemleft chatItemWidth']"
v-html="i.message.text && i.message.text.content ? i.message.text.content.trim() : '不识别的消息类型'">
</div>
<!-- 图片 -->
<div v-else-if="i.message.msgtype == 'image' && i.message.image && i.message.image.picurl && !i.loading"
class="chatItem" :style="i.send_type == 1 ? 'float: right;' : ''"
:class="[i.send_type == 1 ? 'right' : 'left chatItemleft chatItemWidth']">
<el-image class="aiImage" fit="contain" :src="i.message.image.picurl"
@click="watchImage(i)"></el-image>
</div>
<!-- 加在 loading -->
<div v-else-if="i.loading" class="chatItem"
:style="i.send_type == 1 ? 'float: right;' : ''"
:class="[i.send_type == 1 ? 'right' : 'left chatItemWidth']">
<div class="rowFlex columnCenter chatItemLoading">
<svg-icon icon-class="answer" class="loadingRotage" />
<i class="loadingRotage"></i>
<p style="margin-left:5px;">答案整理中....</p>
</div>
</div>
<!-- 复制客户的消息 -->
<div class=" rowFlex likeBtn spanceBetween" v-if="i.send_type == 2">
<span v-if="!i.loading && i.response_time"
style="color:#87909c;font-size:12px;margin-right:5px;">{{
i.response_time }} ms</span>
<span>
<svg-icon v-if="i.like_status == 0" class="copy likeIcon"
icon-class="like" @click.stop="likeAnswer(i, 1, index)" />
<svg-icon v-else-if="i.like_status == 1" class="copy likeIcon"
icon-class="likeActive" />
<svg-icon v-if="i.like_status == 0" class="copy likeIcon"
icon-class="hate" @click.stop="likeAnswer(i, 2, index)" />
<svg-icon v-else-if="i.like_status == 2" class="copy likeIcon"
icon-class="hateActive" />
<i class="el-icon-refresh-right copy likeIcon"
v-if="i._id && !i.is_msg && !i.loading"
:class="i.is_retry ? 'loadingRotageReply' : ''"
@click.stop="retryAnswer(i, index)"></i>
<svg-icon
v-if="i.message.msgtype == 'text' && !i.loading && !i.is_msg"
class="copy copyIcon"
:data-clipboard-text="i.message.text.content" icon-class="fuzhi"
@click="copyText(i, index)" />
</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<el-input v-model="aiText" class="aiText" placeholder="请输入你的问题" @keydown.enter.native="submitEntry">
<svg-icon slot="suffix" icon-class="fasong" class="addIcon"
:class="aiText.length == 0 ? 'addIconOpcity' : ''" @click="submitEntry" />
</el-input>
<el-dialog :visible.sync="dialogRemarkVisible" append-to-body title="查看大图" custom-class="remake-dialog">
<div class="remake-box">
<el-image :src="watchImageUrl" style="max-width:600px;" fit="contain">
</el-image>
</div>
</el-dialog>
</div>
<NoSummaryContent v-else />
</div>
</template>
<script>
import { mapState } from 'vuex'
import Clipboard from 'clipboard'
import debounce from '@/directive/debounce/index'
import NoSummaryContent from './noSummary.vue'
import { corp_beta_question_config, corp_beta_question_session_clearTag, corp_beta_question_log_chat, corp_beta_question_log_index, answerComment, welcomemsg, retry } from '@/api/aiChat'
export default {
name: 'AiLibrary',
components: {
NoSummaryContent
},
directives: {
debounce,
},
props: {
messageSource: {
type: String,
default: ''
},
},
computed: {
...mapState('game', ['chatUserInfo']),
...mapState('user', ['userInfo', 'userid'])
},
data() {
return {
loading: false,
answerLoading: false,
dialogRemarkVisible: false,
watchImageUrl: '',
session_id: '',
recordMessage: [],
aiText: '',
aiAnswer: {},
knowledge_search_list: [],
page_info: {
page: 1,
page_size: 20
},
answerItem: {
session_id: '',
create_time: '',
quote_list: [],
fail_msg: '',
from: {
robot: {
avatar: 'https://companywx-1300623068.cos.ap-nanjing.myqcloud.com/zhangsheng/service/avatars/20240530/YMYZyis7hKP7tDEznsk5dhKzjkDctMa81717052051104.png',
name: '机器人',
robot_id: ''
},
cser: {
avatar: '',
name: '',
zq_user_id: ''
}
},
to: {
robot: {
avatar: 'https://companywx-1300623068.cos.ap-nanjing.myqcloud.com/zhangsheng/service/avatars/20240530/YMYZyis7hKP7tDEznsk5dhKzjkDctMa81717052051104.png',
name: '机器人',
robot_id: ''
},
cser: {
avatar: '',
name: '',
zq_user_id: ''
}
},
message: {
msgtype: 'text',
text: {
content: ''
}
},
send_type: '',
_id: ''
}
}
},
mounted() {
this.getAiArgenInfo()
this.getWelcomeMsg()
console.log(this.chatUserInfo, 'this.chatUserInfo')
this.initanswerItem()
this.clearContext(false)
},
methods: {
async getWelcomeMsg() {
const user = {
userid: this.chatUserInfo.userid,
session_type: 3
}
const res = await welcomemsg({ user: user, noMessage: true })
if (res.status_code === 1) {
this.welcomeMsg = res.data.msg
const welcomeItem = JSON.parse(JSON.stringify(this.answerItem))
welcomeItem.send_type = 2
welcomeItem.message.text.content = res.data
welcomeItem.loading = false
welcomeItem.create_time = this.$moment().format('YYYY-MM-DD HH:mm:ss')
welcomeItem._id = this.$moment() + ''
welcomeItem.is_msg = true
welcomeItem.quote_list = []
welcomeItem.is_retry = false
this.recordMessage.unshift(welcomeItem)
}
},
async clearContextComfion() {
this.$confirm('确定清除上下文吗?', '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(async () => {
this.clearContext(true)
}).catch(() => {
this.$message.info('取消清除上下文')
})
},
async clearContext(showMsg) {
try {
const res = await corp_beta_question_session_clearTag()
if (res.status_code === 1) {
showMsg ? this.$message.success('清除上下文成功') : ''
}
} catch (error) {
showMsg ? this.$message.error('清除上下文失败') : ''
}
},
async getAiArgenInfo() {
const res = await corp_beta_question_config({
user: {
userid: this.chatUserInfo.userid,
session_type: 3
}, page: 1, page_size: 10
})
console.log(res, '123')
if (res.status_code === 1 && res?.data?.data?.length > 0) {
this.knowledge_search_list = res?.data?.data[0]?.knowledge_search?.doc_name || []
}
},
initanswerItem() {
this.answerItem.to.cser.avatar = this.chatUserInfo.user.avatar
this.answerItem.to.cser.name = this.userInfo.cser_name
this.answerItem.to.cser.zq_user_id = this.userInfo.cser_id
this.answerItem.zq_user_id = this.userInfo.cser_id
this.answerItem.from.cser = this.answerItem.to.cser
},
watchImage(i) {
this.watchImageUrl = i.message.image.picurl
this.dialogRemarkVisible = true
},
async retryAnswer(i, index) {
if (i.is_retry) {
return false
}
const data = {
_id: i._id,
user: {
userid: this.chatUserInfo.userid,
session_type: 3
},
question: i.message.question
}
try {
this.$set(this.recordMessage[index], 'is_retry', true)
const res = await retry(data)
if (res.status_code === 1) {
this.$message.success(res.msg)
this.$set(this.recordMessage[index], 'message', res.data.message)
this.$set(this.recordMessage[index], 'is_retry', false)
this.$set(this.recordMessage[index], 'quote_list', res.data.quote_list || [])
this.$set(this.recordMessage[index], 'request_id', res.data.request_id)
this.$set(this.recordMessage[index], 'session_id', this.aiAnswer.session_id)
this.$set(this.recordMessage[index], 'create_time', this.aiAnswer.create_time)
}
} catch (error) {
this.$set(this.recordMessage[index], 'is_retry', false)
}
},
async Aihistory() {
const data = {
cser_id: this.userInfo.cser_id,
...this.page_info
}
const res = await corp_beta_question_log_index(data)
if (res.status_code === 1 && res?.data?.data?.length > 0) {
this.page_info.page++
res.data.data.forEach(item => {
item.to = {
cser: {
avatar: this.chatUserInfo.avatar,
name: this.userInfo.cser_name,
zq_user_id: this.userInfo.cser_id
},
robot: {
avatar: 'https://companywx-1300623068.cos.ap-nanjing.myqcloud.com/zhangsheng/service/avatars/20240530/YMYZyis7hKP7tDEznsk5dhKzjkDctMa81717052051104.png',
name: '机器人',
robot_id: ''
},
}
item.from = item.to
item.loading = false
item.is_retry = false
})
this.recordMessage = res.data.data.reverse().concat(this.recordMessage)
if (this.page_info.page == 1) {
this.scrollBottm()
}
} else {
this.$message.warning('没有更多数据了')
}
},
// 复制消息
copyText(i, index) {
const clipboard = new Clipboard('.copy')
clipboard.on('success', e => {
this.$message.success('复制成功')
// 释放内存
clipboard.destroy()
})
},
async rqeustSource(i, index) {
},
// 赞
async likeAnswer(i, type, index) {
const data = {
_id: i._id,
like_status: type
}
const res = await answerComment(data)
if (res.status_code === 1) {
this.$message.success(res.msg)
this.$set(this.recordMessage[index], 'like_status', type)
}
},
submitEntry() {
if (this.answerLoading) {
this.$message({
type: 'warning',
message: '请等待AI回复'
})
return
}
if (this.aiText.trim() === '') {
this.$message({
type: 'warning',
message: '请输入问题'
})
return
}
this.requestAiAnswer()
},
async requestAiAnswer() {
this.answerLoading = true
const question = this.aiText
this.addMessageList()
try {
const res = await corp_beta_question_log_chat({
question: question,
user: {
userid: this.chatUserInfo.userid,
session_type: 3
}
})
if (res.status_code === 1) {
this.answerLoading = false
this.aiAnswer = res.data
this.session_id = res.data.session_id
this.$set(this.recordMessage[this.recordMessage.length - 1], 'loading', false)
this.$set(this.recordMessage[this.recordMessage.length - 1], 'quote_list', res.data.quote_list || [])
this.$set(this.recordMessage[this.recordMessage.length - 1], '_id', res.data._id)
this.$set(this.recordMessage[this.recordMessage.length - 1], 'like_status', 0)
this.$set(this.recordMessage[this.recordMessage.length - 1], 'is_used_knowledge', res.data.is_used_knowledge)
this.$set(this.recordMessage[this.recordMessage.length - 1], 'message', res.data.message)
this.$set(this.recordMessage[this.recordMessage.length - 1], 'request_id', res.data.request_id)
this.$set(this.recordMessage[this.recordMessage.length - 1], 'session_id', this.aiAnswer.session_id)
this.$set(this.recordMessage[this.recordMessage.length - 1], 'create_time', this.aiAnswer.create_time)
this.$set(this.recordMessage[this.recordMessage.length - 1], 'response_time', this.aiAnswer.response_time)
}
} catch (error) {
this.answerLoading = false
}
},
addMessageList() {
this.answerItem.session_id = this.session_id
this.answerItem.message.text.content = this.aiText
this.answerItem.create_time = this.$moment().format('YYYY-MM-DD HH:mm:ss')
this.answerItem._id = this.$moment() + ''
const questionItem = JSON.parse(JSON.stringify(this.answerItem))
const answerItem = JSON.parse(JSON.stringify(this.answerItem))
questionItem.send_type = 1
answerItem.send_type = 2
answerItem._id = answerItem._id + '123'
answerItem.loading = true
this.recordMessage.push(questionItem)
this.recordMessage.push(answerItem)
this.scrollBottm()
this.aiText = ''
},
scrollBottm() {
this.$nextTick(() => {
const el = this.$refs['ai-box']
if (el) {
el.scrollTo({
top: el.scrollHeight,
behavior: 'smooth'
})
}
})
},
paperScroll() {
if (this.userInfo.userid) {
// 监听滚动事件
const el = this.$refs['ai-box']
if (el.scrollTop <= 5 && this.isMoreRecord) {
this.messageList()
} else if (!this.isMoreRecord) {
// this.$message({
// type: 'error',
// message: '没有更多数据了'
// })
}
}
}
}
}
</script>
<style lang="scss" scoped>
.AiLibrary {
width: 100%;
height: 100%;
padding: 10px;
margin-top: -20px;
.aiLibraryContent {
width: 100%;
height: 100%;
}
.AiChatList {
width: 100%;
height: calc(100% - 80px);
overflow: auto;
}
.aiLibraryHeader {
width: 100%;
position: relative;
margin-bottom: 10px;
.aiLibraryHeader_content {
&_tag {
display: flex;
flex-wrap: wrap;
gap: 5px;
}
&_tag_title {
font-size: 16px;
font-weight: 500;
color: #333333;
}
}
}
.msg-box {
height: calc(100% - 10px);
width: 100%;
overflow-y: auto;
overflow-x: hidden;
padding: 10px 0;
.linkStyle {
.line {
width: 70px;
height: 1px;
border: 1px solid #f2f3f5;
}
}
.moreLink {
font-family: PingFangSC, PingFang SC;
font-weight: 400;
font-size: 12px;
color: #3a88f6;
line-height: 18px;
text-align: left;
font-style: normal;
text-decoration-line: underline;
margin: 0 5px;
}
.msg {
width: 100%;
min-height: 2.5rem;
display: flex;
margin-top: 40px;
justify-content: flex-start !important;
.user-head {
border-radius: 50%;
display: flex;
justify-content: center;
align-items: center;
.image {
width: 40px;
height: 40px;
border-radius: 40px;
}
}
.chatItemBox {
border-radius: 10px;
position: relative;
}
.user-msg {
word-break: break-all;
font-size: 14px;
line-height: 20px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: rgba(0, 0, 0, 0.85);
position: relative;
top: -15px;
.time {
font-size: 12px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: #999999;
line-height: 20px;
}
.chatItem {
display: inline-block;
padding: 5px 10px;
border-radius: 5px;
margin-top: 5px;
font-size: 14px;
}
.chatItemLoading {
width: 100%;
font-size: 14px;
}
.chatItemleft {
padding-bottom: 35px;
}
.left {
background: #ffffff;
border: 1px solid transparent;
border-radius: 6px;
border: 1px solid #00bf8a;
background-origin: border-box;
background-clip: content-box, border-box;
float: left;
}
.right {
background: linear-gradient(135deg,
#6ee7e9 0%,
#9ff2cd 48%,
#e3fdb2 100%,
#e3fdb2 100%);
font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400;
color: rgba(0, 0, 0, 0.85);
animation: toright 0.5s ease both 1;
min-width: 50px;
display: inline-block;
}
@keyframes toLeft {
0% {
opacity: 0;
transform: translateX(-10px);
}
100% {
opacity: 1;
transform: translateX(0px);
}
}
@keyframes toright {
0% {
opacity: 0;
transform: translateX(10px);
}
100% {
opacity: 1;
transform: translateX(0px);
}
}
}
}
}
.aiImage {
max-width: 200px;
border-radius: 5px;
cursor: pointer;
}
.aiText {
::v-deep .el-input__inner {
width: 100%;
height: 46px !important;
background: #ffffff;
box-shadow: 0px 3px 9px 0px rgba(0, 0, 0, 0.12);
border-radius: 46px;
}
.addIcon {
font-size: 18px;
margin-top: 15px;
margin-right: 10px;
cursor: pointer;
}
.addIconOpcity {
opacity: 0.3;
}
}
.loadingRotage {
cursor: pointer;
font-size: 20px;
animation: rotage linear 1s infinite;
}
.loadingRotageReply {
height: 20px;
animation: rotage linear 0.5s infinite;
}
.copyIcon {
cursor: pointer;
font-size: 18px;
z-index: 10;
margin-right: 5px;
}
.likeIcon {
cursor: pointer;
font-size: 18px;
z-index: 10;
margin-right: 5px;
color: #8CA4BA;
}
.likeBtn {
position: absolute;
bottom: 5px;
left: 10px;
}
}
@keyframes rotage {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
</style>
\ No newline at end of file
<template>
<div class="quickSendGame columnFlex">
<div class="content search-form">
<el-tabs v-model="activeName">
<el-tab-pane label="AI微言" name="aiChat">
<aiArgenChat v-if="activeName === 'aiChat'" />
</el-tab-pane>
<el-tab-pane label="AI 跟进记录" name="aiFollow">
<summaryList v-if="activeName === 'aiFollow'" />
</el-tab-pane>
</el-tabs>
</div>
</div>
</template>
<script>
import aiArgenChat from './aiArgenChat.vue'
import summaryList from './summaryList.vue'
import { mapActions } from 'vuex'
export default {
name: 'quickSendGame',
components: {
aiArgenChat,
summaryList,
},
data() {
return {
activeName: 'aiChat'
}
},
created() {
},
mounted() {
// this.initializeWecom()
},
methods: {
...mapActions('user', ['initWecom']),
async initializeWecom() {
try {
console.log('🚀 开始初始化企业微信 SDK')
const result = await this.initWecom()
console.log('✅ 企业微信 SDK 初始化成功', result)
} catch (error) {
console.error('❌ 企业微信 SDK 初始化失败:', error)
}
},
}
}
</script>
<style lang="scss" scoped>
.quickSendGame {
::v-deep .el-tabs__nav-next,
::v-deep .el-tabs__nav-prev {
line-height: 50px;
}
width: 100%;
height: 100%;
background: #fff;
::v-deep .el-tabs__item {
padding: 0 15px;
}
.detailsTitle {
width: 100%;
padding: 0 10px;
height: 60px;
font-size: 18px;
font-family: PingFangSC-Medium, PingFang SC;
font-weight: 500;
color: #333333;
border-bottom: 1px solid #ebeef5;
border-left: 1px solid #ebeef5;
p {
color: #333333;
}
}
.content {
width: 100%;
height: calc(100% - 10px);
::v-deep .el-tabs__header {
margin: 0 0 20px;
}
}
::v-deep .el-tabs--border-card .is-active {
border: none !important;
}
::v-deep .is-active {
border: none;
}
.inputContent {
width: 100%;
::v-deep .el-input {
width: 80%;
}
}
::v-deep .el-tabs,
.el-tabs__content,
.el-tab-pane {
width: 100%;
height: 100%;
}
::v-deep .el-tabs__content {
width: 100%;
height: calc(100% - 50px);
}
::v-deep .el-tab-pane {
width: 100%;
height: 100%;
}
.scrollList {
width: 100%;
height: calc(100% - 40px);
overflow: auto;
}
.draggable {
position: relative;
transition: all 0.3s;
.icon {
position: absolute;
left: 10px;
top: 15px;
z-index: 10;
}
}
::v-deep .el-icon-circle-close {
color: #fff;
}
.bate {
width: 42px;
height: 20px;
background: linear-gradient(135deg, #6ee7e9 0%, #9ff2cd 47%, #e3fdb2 100%);
border-radius: 10px;
padding: 0px 10px 3px 10px;
}
}
</style>
\ No newline at end of file
<template>
<div class="noSummaryContent">
<div class="noContent">
<div class="noContent-icon">
<svg-icon icon-class="warning" />
</div>
<div class="noContent-text">
<span>当前客服号知识库配置异常 请联系管理员处理</span>
</div>
</div>
</div>
</template>
<script>
export default {
name: 'NoSummaryContent'
}
</script>
<style lang="scss" scoped>
.noSummaryContent {
width: 100%;
height: 100%;
.noContent {
width: 100%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
.noContent-icon {
color: #FF7D00;
font-size: 40px;
}
.noContent-text {
font-family: PingFang SC, PingFang SC;
font-weight: 400;
font-size: 14px;
color: #4E5969;
text-align: center;
font-style: normal;
text-transform: none;
}
}
}
</style>
\ No newline at end of file
<template> <template>
<div class="summaryListContainer "> <div class="summaryListContainer ">
<div <div v-scroll:50="requestDataList" v-loading="loading" class="messageDetailsScroll">
v-scroll:50="requestDataList"
v-loading="loading"
class="messageDetailsScroll"
>
<div v-if="messageList.length > 0"> <div v-if="messageList.length > 0">
<div <div v-for="(item, index) in messageList" :key="index" class="messageListItem">
v-for="(item, index) in messageList"
:key="index"
class="messageListItem"
>
<div class="itemTop"> <div class="itemTop">
{{ item.date }} {{ item.date }}
</div> </div>
...@@ -24,13 +16,13 @@ ...@@ -24,13 +16,13 @@
</div> </div>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import { mapMutations, mapState } from 'vuex' import { mapMutations, mapState } from 'vuex'
import { corp_follow_up_summary_index } from '@/api/works' import { corp_follow_up_summary_index } from '@/api/works'
import { throttle } from '@/utils' import { throttle } from '@/utils'
import noContent from '@/components/noContent.vue' import noContent from '@/components/noContent.vue'
export default { export default {
components: { components: {
noContent noContent
}, },
...@@ -101,26 +93,29 @@ import noContent from '@/components/noContent.vue' ...@@ -101,26 +93,29 @@ import noContent from '@/components/noContent.vue'
} }
}, 500) }, 500)
} }
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.summaryListContainer { .summaryListContainer {
width: 100%; width: 100%;
height: 100%; height: 100%;
background: #fff; background: #fff;
position: relative; position: relative;
overflow: hidden; overflow: hidden;
.messageDetailsScroll{
.messageDetailsScroll {
width: 100%; width: 100%;
height: 100%; height: 100%;
overflow: auto; overflow: auto;
overflow-x: hidden; overflow-x: hidden;
padding-bottom: 50px; padding-bottom: 50px;
} }
.messageListItem { .messageListItem {
width: 100%; width: 100%;
height: auto; height: auto;
margin-bottom: 10px; margin-bottom: 10px;
.itemTop { .itemTop {
font-family: PingFang SC, PingFang SC; font-family: PingFang SC, PingFang SC;
font-weight: 400; font-weight: 400;
...@@ -132,6 +127,7 @@ import noContent from '@/components/noContent.vue' ...@@ -132,6 +127,7 @@ import noContent from '@/components/noContent.vue'
text-transform: none; text-transform: none;
margin-bottom: 5px; margin-bottom: 5px;
} }
.itemCenter { .itemCenter {
width: 100%; width: 100%;
background: #F9FAFF; background: #F9FAFF;
...@@ -149,10 +145,10 @@ import noContent from '@/components/noContent.vue' ...@@ -149,10 +145,10 @@ import noContent from '@/components/noContent.vue'
word-break: break-all word-break: break-all
} }
} }
.no-content-main{
.no-content-main {
width: 320px; width: 320px;
margin: 0 auto; margin: 0 auto;
} }
} }
</style> </style>
\ No newline at end of file
\ No newline at end of file
...@@ -15,11 +15,11 @@ ...@@ -15,11 +15,11 @@
<el-collapse-item v-for="(item, index) in conversionGameList" :key="index" :name="item.game_type"> <el-collapse-item v-for="(item, index) in conversionGameList" :key="index" :name="item.game_type">
<template slot="title"> <template slot="title">
<div class="title-with-icon"> <div class="title-with-icon">
<img v-if="item.game_type == 1" src="@/assets/icon/wxgame.svg" class="game-icon" alt="微信小游戏"> <img v-if="item.game_type == 1" src="@/assets/icon/svg/wxgame.svg" class="game-icon" alt="微信小游戏">
<img v-else-if="item.game_type == 5" src="@/assets/icon/douyin.svg" class="game-icon" alt="抖音小游戏"> <img v-else-if="item.game_type == 5" src="@/assets/icon/svg/douyin.svg" class="game-icon" alt="抖音小游戏">
<img v-else-if="item.game_type == 3" src="@/assets/icon/Android.svg" class="game-icon" alt="安卓游戏"> <img v-else-if="item.game_type == 3" src="@/assets/icon/svg/Android.svg" class="game-icon" alt="安卓游戏">
<img v-else-if="item.game_type == 4" src="@/assets/icon/IOS.svg" class="game-icon" alt="IOS游戏"> <img v-else-if="item.game_type == 4" src="@/assets/icon/svg/IOS.svg" class="game-icon" alt="IOS游戏">
<img v-else-if="item.game_type == 2" src="@/assets/icon/H5.svg" class="game-icon" alt="H5游戏"> <img v-else-if="item.game_type == 2" src="@/assets/icon/svg/H5.svg" class="game-icon" alt="H5游戏">
{{ item.game_text }} {{ item.game_text }}
</div> </div>
</template> </template>
...@@ -62,11 +62,11 @@ ...@@ -62,11 +62,11 @@
<el-collapse-item v-for="(item, index) in recallGameList" :key="index" :name="item.game_type"> <el-collapse-item v-for="(item, index) in recallGameList" :key="index" :name="item.game_type">
<template slot="title"> <template slot="title">
<div class="title-with-icon"> <div class="title-with-icon">
<img v-if="item.game_type == 1" src="@/assets/icon/wxgame.svg" class="game-icon" alt="微信小游戏"> <img v-if="item.game_type == 1" src="@/assets/icon/svg/wxgame.svg" class="game-icon" alt="微信小游戏">
<img v-else-if="item.game_type == 5" src="@/assets/icon/douyin.svg" class="game-icon" alt="抖音小游戏"> <img v-else-if="item.game_type == 5" src="@/assets/icon/svg/douyin.svg" class="game-icon" alt="抖音小游戏">
<img v-else-if="item.game_type == 3" src="@/assets/icon/Android.svg" class="game-icon" alt="安卓游戏"> <img v-else-if="item.game_type == 3" src="@/assets/icon/svg/Android.svg" class="game-icon" alt="安卓游戏">
<img v-else-if="item.game_type == 4" src="@/assets/icon/IOS.svg" class="game-icon" alt="IOS游戏"> <img v-else-if="item.game_type == 4" src="@/assets/icon/svg/IOS.svg" class="game-icon" alt="IOS游戏">
<img v-else-if="item.game_type == 2" src="@/assets/icon/H5.svg" class="game-icon" alt="H5游戏"> <img v-else-if="item.game_type == 2" src="@/assets/icon/svg/H5.svg" class="game-icon" alt="H5游戏">
{{ item.game_text }} {{ item.game_text }}
</div> </div>
</template> </template>
...@@ -106,11 +106,17 @@ ...@@ -106,11 +106,17 @@
<el-collapse-item v-for="(item, index) in regGameList" :key="index" :name="item.label"> <el-collapse-item v-for="(item, index) in regGameList" :key="index" :name="item.label">
<template slot="title"> <template slot="title">
<div class="title-with-icon"> <div class="title-with-icon">
<img v-if="item.label.includes('微信')" src="@/assets/icon/wxgame.svg" class="game-icon" alt="微信小游戏"> <img v-if="item.label.includes('微信')" src="@/assets/icon/svg/wxgame.svg" class="game-icon"
<img v-else-if="item.label.includes('抖音')" src="@/assets/icon/douyin.svg" class="game-icon" alt="抖音小游戏"> alt="微信小游戏">
<img v-else-if="item.label.includes('安卓')" src="@/assets/icon/Android.svg" class="game-icon" alt="安卓游戏"> <img v-else-if="item.label.includes('抖音')" src="@/assets/icon/svg/douyin.svg" class="game-icon"
<img v-else-if="item.label.includes('IOS') || item.label.includes('iOS') || item.label.includes('ios')" src="@/assets/icon/IOS.svg" class="game-icon" alt="IOS游戏"> alt="抖音小游戏">
<img v-else-if="item.label.includes('H5') || item.label.includes('h5')" src="@/assets/icon/H5.svg" class="game-icon" alt="H5游戏"> <img v-else-if="item.label.includes('安卓')" src="@/assets/icon/svg/Android.svg" class="game-icon"
alt="安卓游戏">
<img
v-else-if="item.label.includes('IOS') || item.label.includes('iOS') || item.label.includes('ios')"
src="@/assets/icon/svg/IOS.svg" class="game-icon" alt="IOS游戏">
<img v-else-if="item.label.includes('H5') || item.label.includes('h5')" src="@/assets/icon/svg/H5.svg"
class="game-icon" alt="H5游戏">
{{ item.label }} {{ item.label }}
</div> </div>
</template> </template>
...@@ -535,7 +541,7 @@ export default { ...@@ -535,7 +541,7 @@ export default {
if (item.game_type === 3 && item.children && item.children.length > 0) { if (item.game_type === 3 && item.children && item.children.length > 0) {
// 过滤掉 game_name 为"破日开天"的数据 // 过滤掉 game_name 为"破日开天"的数据
const filteredChildren = item.children.filter(child => { const filteredChildren = item.children.filter(child => {
return child.game_name !== '破日开天' && child.game_name !== '英雄霸业' && child.game_id !== '741' return child.game_name !== '破日开天' && child.game_name !== '英雄霸业' && child.game_id !== '741' && child.game_id !== '912'
}) })
this.$set(this.conversionGameList[index], 'children', filteredChildren) this.$set(this.conversionGameList[index], 'children', filteredChildren)
} }
...@@ -1118,6 +1124,7 @@ export default { ...@@ -1118,6 +1124,7 @@ export default {
height: 100%; height: 100%;
overflow: auto; overflow: auto;
margin-top: -10px; margin-top: -10px;
.createChannel { .createChannel {
font-size: 14px; font-size: 14px;
margin-top: 16px; margin-top: 16px;
...@@ -1156,6 +1163,7 @@ export default { ...@@ -1156,6 +1163,7 @@ export default {
display: flex; display: flex;
margin: 12px 16px; margin: 12px 16px;
width: calc(100% - 32px); width: calc(100% - 32px);
.radio-group { .radio-group {
width: 100%; width: 100%;
...@@ -1275,7 +1283,7 @@ export default { ...@@ -1275,7 +1283,7 @@ export default {
} }
/* 当转端按钮处于激活状态时保持自定义样式 */ /* 当转端按钮处于激活状态时保持自定义样式 */
::v-deep .el-radio-button.is-active{ ::v-deep .el-radio-button.is-active {
.el-radio-button__inner { .el-radio-button__inner {
background: #E8F7FF; background: #E8F7FF;
border-color: #3491FA; border-color: #3491FA;
......
...@@ -4,97 +4,54 @@ ...@@ -4,97 +4,54 @@
<!-- VIP 自助工具 暂时不显示 --> <!-- VIP 自助工具 暂时不显示 -->
<div class="gameListItemApp rowFlex columnCenter spaceBetween" v-if="false"> <div class="gameListItemApp rowFlex columnCenter spaceBetween" v-if="false">
<p class="rowFlex columnCenter"> <p class="rowFlex columnCenter">
<img src="@/assets/icon/vipIcon.svg" alt="vipIcon" style="width: 16px;height: 16px;margin-right: 5px;"> <img src="@/assets/icon/svg/vipIcon.svg" alt="vipIcon" style="width: 16px;height: 16px;margin-right: 5px;">
VIP自助工具</p> VIP自助工具
<el-button </p>
size="mini" <el-button size="mini" :disabled="accountSelect == ''" @click="sendVipGift">发送</el-button>
:disabled="accountSelect==''"
@click="sendVipGift"
>发送</el-button>
</div> </div>
<!-- 自助链接(举报、申诉、礼包申请) --> <!-- 自助链接(举报、申诉、礼包申请) -->
<div class="gameListItemApp rowFlex columnCenter spaceBetween"> <div class="gameListItemApp rowFlex columnCenter spaceBetween">
<p class="rowFlex columnCenter"> <p class="rowFlex columnCenter">
<i class="el-icon-s-operation" style="font-size:16px;margin-right:5px;"></i> <i class="el-icon-s-operation" style="font-size:16px;margin-right:5px;"></i>
自助链接(举报、申诉、礼包申请)</p> 自助链接(举报、申诉、礼包申请)
<el-button </p>
size="mini" <el-button size="mini" :disabled="accountSelect == ''" @click="sendReportLink">发送</el-button>
:disabled="accountSelect==''"
@click="sendReportLink"
>发送</el-button>
</div> </div>
<div <div class="rowFlex columnCenter spaceBetween gameCodeTitle" @click="showGameCode = !showGameCode">
class="rowFlex columnCenter spaceBetween gameCodeTitle"
@click="showGameCode = !showGameCode"
>
<p class="rowFlex columnCenter spaceBetween"> <p class="rowFlex columnCenter spaceBetween">
<img src="@/assets/icon/gift.svg" alt="gift" style="width: 16px;height: 16px;margin-right: 5px;margin-top: -2px;"> <svg-icon icon-class="gift" style="font-size:20px;margin-right: 5px;margin-top: -2px;"></svg-icon>
<span class="giftCode">礼包码</span> <span class="giftCode">礼包码</span>
</p> </p>
<i :class="showGameCode?'el-icon-arrow-right':'el-icon-arrow-down'"></i> <i :class="showGameCode ? 'el-icon-arrow-right' : 'el-icon-arrow-down'"></i>
</div> </div>
<el-collapse-transition> <el-collapse-transition>
<el-collapse <el-collapse v-show="showGameCode" v-if="giftCodeGame.length > 0" :disabled="disabled" class="giftGameCollapse">
v-show="showGameCode" <el-collapse-item v-for="(item, index) in giftCodeGame" :key="index" :title="item.label"
v-if="giftCodeGame.length>0" style="margin-bottom: 10px;">
:disabled="disabled" <div v-if="giftCodeGame.length > 0">
class="giftGameCollapse" <div v-for="(items, indexs) in item.children" :key="indexs" class="gameListItemChange">
> <div class="gameListItemApp gameListItemAppAC">
<el-collapse-item
v-for="(item,index) in giftCodeGame"
:key="index"
:title="item.label"
style="margin-bottom: 10px;"
>
<div v-if="giftCodeGame.length>0">
<div
v-for="(items,indexs) in item.children"
:key="indexs"
class="gameListItemChange"
>
<div class="gameListItemApp gameListItemAppAC" >
<p v-if="items.gift_package_group_name" class="gameName">{{ items.gift_package_group_name }}</p> <p v-if="items.gift_package_group_name" class="gameName">{{ items.gift_package_group_name }}</p>
<div class="rowFlex columnCenter spaceBetween" style="margin-left: 20px;"> <div class="rowFlex columnCenter spaceBetween" style="margin-left: 20px;">
<p class="rowFlex columnCenter spaceBetween"> <p class="rowFlex columnCenter spaceBetween">
<el-popover <el-popover placement="top" width="300" trigger="hover">
placement="top"
width="300"
trigger="hover"
>
<div>{{ items.name }}</div> <div>{{ items.name }}</div>
<div slot="reference" class="gameName">{{ items.name }}</div> <div slot="reference" class="gameName">{{ items.name }}</div>
</el-popover> </el-popover>
<el-popover <el-popover placement="top" trigger="hover">
placement="top" <div class="contentPopover" v-html="items.content">
trigger="hover"
>
<div
class="contentPopover"
v-html="items.content"
>
</div> </div>
<el-button <el-button slot="reference" type="text" size="medium"
slot="reference" style="margin-right: 10px;">礼包内容</el-button>
type="text"
size="medium"
style="margin-right: 10px;"
>礼包内容</el-button>
</el-popover> </el-popover>
</p> </p>
<el-button <el-button size="mini" type="primary" :loading="loading"
size="mini" @click="sendGameCode(items)">发送礼包码</el-button>
type="primary"
:loading="loading"
@click="sendGameCode(items)"
>发送礼包码</el-button>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div <div v-else class="rowFlex allCenter">
v-else
class="rowFlex allCenter"
>
暂无游戏 暂无游戏
</div> </div>
</el-collapse-item> </el-collapse-item>
...@@ -102,12 +59,12 @@ ...@@ -102,12 +59,12 @@
</el-collapse-transition> </el-collapse-transition>
</div> </div>
</div> </div>
</template> </template>
<script> <script>
import { mapState, mapMutations } from 'vuex' import { mapState, mapMutations } from 'vuex'
import { passwardEncryption,createVipUrl } from '@/api/game' import { passwardEncryption, createVipUrl } from '@/api/game'
import { giftCodeList, sendGiftCode, getZyouAuthLink } from '@/api/works' import { giftCodeList, sendGiftCode, getZyouAuthLink } from '@/api/works'
export default { export default {
name: 'vipTools', name: 'vipTools',
data() { data() {
return { return {
...@@ -121,7 +78,7 @@ ...@@ -121,7 +78,7 @@
this.requestGiftCode() this.requestGiftCode()
}, },
computed: { computed: {
...mapState('game', ['accountSelect', 'bindGameUserList','chatUserInfo']), ...mapState('game', ['accountSelect', 'bindGameUserList', 'chatUserInfo']),
...mapState('user', ['userid']), ...mapState('user', ['userid']),
}, },
props: { props: {
...@@ -141,7 +98,7 @@ ...@@ -141,7 +98,7 @@
if (this.bindGameUserList.length > 0) { if (this.bindGameUserList.length > 0) {
createVipUrl({ member_id: this.accountSelect }).then(res => { createVipUrl({ member_id: this.accountSelect }).then(res => {
if (res.data.url && res.data.url != '') { if (res.data.url && res.data.url != '') {
this.sendChatMessage(res.data.url,'text') this.sendChatMessage(res.data.url, 'text')
} else { } else {
this.$message.warning('暂无vip链接') this.$message.warning('暂无vip链接')
} }
...@@ -150,9 +107,9 @@ ...@@ -150,9 +107,9 @@
this.$message.warning('请先关联游戏账号') this.$message.warning('请先关联游戏账号')
} }
}, },
sendChatMessage(content,type){ sendChatMessage(content, type) {
let message = {} let message = {}
if(type == 'text'){ if (type == 'text') {
message = { message = {
msgtype: 'text', msgtype: 'text',
text: { text: {
...@@ -165,7 +122,7 @@ ...@@ -165,7 +122,7 @@
console.log(err, '发送文本失败') console.log(err, '发送文本失败')
} }
} }
}else if(type == 'link'){ } else if (type == 'link') {
message = { message = {
msgtype: 'news', msgtype: 'news',
news: content, news: content,
...@@ -176,7 +133,7 @@ ...@@ -176,7 +133,7 @@
console.log(err, '发送 news 失败') console.log(err, '发送 news 失败')
} }
} }
}else if(type == 'image'){ } else if (type == 'image') {
message = { message = {
msgtype: 'image', msgtype: 'image',
image: { image: {
...@@ -190,7 +147,7 @@ ...@@ -190,7 +147,7 @@
} }
} }
} }
console.log(message,'1231') console.log(message, '1231')
this.$ww.sendChatMessage(message) this.$ww.sendChatMessage(message)
}, },
// 发送举报申诉自助链接 // 发送举报申诉自助链接
...@@ -203,7 +160,7 @@ ...@@ -203,7 +160,7 @@
desc: '点击此处提交申请', desc: '点击此处提交申请',
link: res.data.url link: res.data.url
} }
this.sendChatMessage(link,'link') this.sendChatMessage(link, 'link')
} else { } else {
this.$message.warning('暂无申诉自助链接') this.$message.warning('暂无申诉自助链接')
} }
...@@ -213,7 +170,7 @@ ...@@ -213,7 +170,7 @@
// 1 企微 2 微信 // 1 企微 2 微信
const data = { const data = {
userid: this.userid, userid: this.userid,
user_type:1 user_type: 1
} }
const res = await giftCodeList(data) const res = await giftCodeList(data)
if (res.status_code == 1 && res.data.length > 0) { if (res.status_code == 1 && res.data.length > 0) {
...@@ -248,7 +205,7 @@ ...@@ -248,7 +205,7 @@
const res = await sendGiftCode(data) const res = await sendGiftCode(data)
if (res.status_code === 1) { if (res.status_code === 1) {
this.$message.success('发送成功') this.$message.success('发送成功')
this.sendChatMessage(res.data,'text') this.sendChatMessage(res.data, 'text')
} else { } else {
this.$message.error(res.msg || '发送失败') this.$message.error(res.msg || '发送失败')
} }
...@@ -294,25 +251,29 @@ ...@@ -294,25 +251,29 @@
} }
} }
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.vipToolsContent{ .vipToolsContent {
width: 100%; width: 100%;
height: 100%; height: 100%;
overflow: auto; overflow: auto;
.sendLink { .sendLink {
width: 150px; width: 150px;
height: 25px; height: 25px;
cursor: pointer; cursor: pointer;
} }
.sendLink:hover { .sendLink:hover {
color: #409EFF; color: #409EFF;
} }
.giftGameCollapse { .giftGameCollapse {
width: 100%; width: 100%;
height: auto; height: auto;
} }
.btntab { .btntab {
width: 100%; width: 100%;
display: flex; display: flex;
...@@ -321,14 +282,17 @@ ...@@ -321,14 +282,17 @@
position: absolute; position: absolute;
left: 0; left: 0;
top: 0; top: 0;
.btn { .btn {
flex: 1; flex: 1;
display: flex; display: flex;
cursor: pointer; cursor: pointer;
} }
.btn:first-child { .btn:first-child {
border-right: 1px solid #ccc; border-right: 1px solid #ccc;
} }
.btnActive { .btnActive {
background: #409EFF; background: #409EFF;
color: #fff; color: #fff;
...@@ -339,53 +303,62 @@ ...@@ -339,53 +303,62 @@
width: 100%; width: 100%;
height: auto; height: auto;
overflow: auto; overflow: auto;
::v-deep .el-tabs__item { ::v-deep .el-tabs__item {
width: 70px; width: 70px;
} }
.giftCode { .giftCode {
font-size: 14px; font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC; font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400; font-weight: 400;
color: #333333; color: #333333;
} }
.gameCodeTitle { .gameCodeTitle {
cursor: pointer; cursor: pointer;
margin: 10px 0 10px 0; margin: 10px 0 10px 0;
} }
.gameListItemApp { .gameListItemApp {
width: 100%; width: 100%;
padding-left: 20px; padding-left: 20px;
.gameName{
.gameName {
max-width: 120px; max-width: 120px;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;
white-space: nowrap; white-space: nowrap;
margin-right: 5px; margin-right: 5px;
} }
p { p {
font-size: 14px; font-size: 14px;
font-family: PingFangSC-Regular, PingFang SC; font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400; font-weight: 400;
color: #333333; color: #333333;
} }
.icon { .icon {
font-size: 14px; font-size: 14px;
cursor: pointer; cursor: pointer;
} }
} }
.gameListItemAppAC { .gameListItemAppAC {
background: #f7f8fa; background: #f7f8fa;
} }
} }
} }
</style> </style>
<style> <style>
.contentPopover { .contentPopover {
max-width: 400px; max-width: 400px;
word-wrap: break-word; word-wrap: break-word;
word-break: break-all; word-break: break-all;
} }
.contentPopover img {
.contentPopover img {
max-width: 250px; max-width: 250px;
} }
</style> </style>
\ No newline at end of file \ No newline at end of file
...@@ -2,40 +2,20 @@ ...@@ -2,40 +2,20 @@
<div class="approval-role-list columnFlex"> <div class="approval-role-list columnFlex">
<el-form ref="taskForm" :model="reportForm" label-position="top" class="taskForm" label-width="85px"> <el-form ref="taskForm" :model="reportForm" label-position="top" class="taskForm" label-width="85px">
<el-form-item label="角色名称"> <el-form-item label="角色名称">
<el-input <el-input v-model="reportForm.role_name" clearable placeholder="请输入角色名称" @change="filterChange">
v-model="reportForm.role_name"
clearable
placeholder="请输入角色名称"
@change="filterChange"
>
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="审批状态"> <el-form-item label="审批状态">
<el-select <el-select v-model="reportForm.approval_status" clearable style="width: 100%;" placeholder="请选择审批状态"
v-model="reportForm.approval_status" @change="filterChange">
clearable
style="width: 100%;"
placeholder="请选择审批状态"
@change="filterChange"
>
<el-option v-for="item in approvalList" :key="item.value" :label="item.label" :value="item.value"> <el-option v-for="item in approvalList" :key="item.value" :label="item.label" :value="item.value">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="申请方式"> <el-form-item label="申请方式">
<el-select <el-select v-model="reportForm.register_type" clearable style="width: 100%;" placeholder="请选择申请方式"
v-model="reportForm.register_type" @change="filterChange">
clearable <el-option v-for="item in register_type_list" :key="item.value" :label="item.label" :value="item.value">
style="width: 100%;"
placeholder="请选择申请方式"
@change="filterChange"
>
<el-option
v-for="item in register_type_list"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
...@@ -56,23 +36,13 @@ ...@@ -56,23 +36,13 @@
/> />
</el-form-item> --> </el-form-item> -->
<el-form-item label="开始时间"> <el-form-item label="开始时间">
<el-date-picker <el-date-picker v-model="reportForm.create_time_start" type="datetime" style="width: 100%;"
v-model="reportForm.create_time_start" value-format="yyyy-MM-dd HH:mm:ss" @change="createResult" placeholder="选择日期时间">
type="datetime"
style="width: 100%;"
value-format="yyyy-MM-dd HH:mm:ss"
@change="createResult"
placeholder="选择日期时间">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="结束时间"> <el-form-item label="结束时间">
<el-date-picker <el-date-picker v-model="reportForm.create_time_end" type="datetime" style="width: 100%;" @change="endResult"
v-model="reportForm.create_time_end" value-format="yyyy-MM-dd HH:mm:ss" placeholder="选择日期时间">
type="datetime"
style="width: 100%;"
@change="endResult"
value-format="yyyy-MM-dd HH:mm:ss"
placeholder="选择日期时间">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
...@@ -80,12 +50,8 @@ ...@@ -80,12 +50,8 @@
<el-button size="mini" @click="resetForm">重置</el-button> <el-button size="mini" @click="resetForm">重置</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div <div v-infinite-scroll="paperScroll" :infinite-scroll-disabled="!isMoreRecord" :infinite-scroll-immediate="false"
v-infinite-scroll="paperScroll" class="approvalScroll">
:infinite-scroll-disabled="!isMoreRecord"
:infinite-scroll-immediate="false"
class="approvalScroll"
>
<!-- 举报申请 --> <!-- 举报申请 -->
<div class="scrollMain" v-if="reportList.length > 0"> <div class="scrollMain" v-if="reportList.length > 0">
<div v-for="(item, index) in reportList" :key="index" class="reportContent" @click="appealProcess(item, index)"> <div v-for="(item, index) in reportList" :key="index" class="reportContent" @click="appealProcess(item, index)">
...@@ -105,20 +71,10 @@ ...@@ -105,20 +71,10 @@
<p><span class="label">违规操作:</span><span class="value">{{ item.appeal_type_text }}</span></p> <p><span class="label">违规操作:</span><span class="value">{{ item.appeal_type_text }}</span></p>
</div> </div>
<div class="reportItemRight columnFlex columnCenter"> <div class="reportItemRight columnFlex columnCenter">
<el-button <el-button v-if="item.approval_status == 1 && (item.customer_id == userInfo.id)" type="primary"
v-if="item.approval_status == 1 && (item.customer_id == userInfo.id)" size="mini" style="margin-bottom:15px;" @click.stop="handleReport(item)">撤销</el-button>
type="primary" <el-button v-else-if="item.approval_status == 4" type="primary" size="mini" style="margin-bottom:15px;"
size="mini" @click.stop="resubmitApproval(item)">重新提交</el-button>
style="margin-bottom:15px;"
@click.stop="handleReport(item)"
>撤销</el-button>
<el-button
v-else-if="item.approval_status == 4"
type="primary"
size="mini"
style="margin-bottom:15px;"
@click.stop="resubmitApproval(item)"
>重新提交</el-button>
<img v-if="item.approval_status == 1" :src="shenpi1" class="icon" /> <img v-if="item.approval_status == 1" :src="shenpi1" class="icon" />
<img v-else-if="item.approval_status == 2" :src="shenpi2" class="icon" /> <img v-else-if="item.approval_status == 2" :src="shenpi2" class="icon" />
<img v-else-if="item.approval_status == 3" :src="shenpi3" class="icon" /> <img v-else-if="item.approval_status == 3" :src="shenpi3" class="icon" />
...@@ -130,11 +86,8 @@ ...@@ -130,11 +86,8 @@
<el-collapse-transition> <el-collapse-transition>
<div v-if="item.showStep" class="appealProcessList"> <div v-if="item.showStep" class="appealProcessList">
<el-steps direction="vertical" :active="item.current" finish-status="success"> <el-steps direction="vertical" :active="item.current" finish-status="success">
<el-step <el-step v-for="(items, indexs) in item.appealProcessList" :key="'trans_item_' + indexs"
v-for="(items, indexs) in item.appealProcessList" :title="items.node_name">
:key="'trans_item_' + indexs"
:title="items.node_name"
>
<template slot="description"> <template slot="description">
<div v-if="items" class="trans-follow-1 card-style"> <div v-if="items" class="trans-follow-1 card-style">
<div class="follow-item"> <div class="follow-item">
...@@ -144,13 +97,8 @@ ...@@ -144,13 +97,8 @@
<span class="info-value value-font"> <span class="info-value value-font">
{{ Array.isArray(items.user_name) ? items.user_name[0] : items.user_name }} {{ Array.isArray(items.user_name) ? items.user_name[0] : items.user_name }}
</span> </span>
<el-tooltip <el-tooltip v-if="Array.isArray(items.user_name) && items.user_name.length > 1" class="item"
v-if="Array.isArray(items.user_name) && items.user_name.length > 1" effect="dark" :content="items.user_name.slice(1).join('、')" placement="top">
class="item"
effect="dark"
:content="items.user_name.slice(1).join('、')"
placement="top"
>
<span class="info-value value-font info-value-color"> <span class="info-value value-font info-value-color">
{{ `+${items.user_name.length - 1}` }} {{ `+${items.user_name.length - 1}` }}
</span> </span>
...@@ -161,12 +109,9 @@ ...@@ -161,12 +109,9 @@
<span class="follow-info-label label-font"> <span class="follow-info-label label-font">
审批结果: 审批结果:
</span> </span>
<span <span class="info-value value-font"
class="info-value value-font" :class="[items.current < indexs ? '' : switchStateTag(items.approval_result)]">
:class="[items.current < indexs ? '' : switchStateTag(items.approval_result)]" {{ items.current < indexs ? '' : items.approval_result_text }} </span>
>
{{ items.current < indexs ? '' : items.approval_result_text }}
</span>
</div> </div>
<div class="follow-item"> <div class="follow-item">
<span class="follow-info-label label-font"> <span class="follow-info-label label-font">
...@@ -176,10 +121,8 @@ ...@@ -176,10 +121,8 @@
{{ items.node_sort === '0' ? items.create_time : items.update_time }} {{ items.node_sort === '0' ? items.create_time : items.update_time }}
</span> </span>
</div> </div>
<div <div v-if="(items.node_sort !== '0' || items.node_name === '系统') && items.approval_result === '2'"
v-if="(items.node_sort !== '0' || items.node_name === '系统') && items.approval_result==='2'" class="follow-item">
class="follow-item"
>
<span class="follow-info-label label-font"> <span class="follow-info-label label-font">
驳回原因: 驳回原因:
</span> </span>
...@@ -202,8 +145,7 @@ ...@@ -202,8 +145,7 @@
<!-- 同步掌游的内容 --> <!-- 同步掌游的内容 -->
<div <div
v-if="(items.node_sort === '0' || (items.extra_attribution && items.extra_attribution.remark)) && items.node_name !== '系统'" v-if="(items.node_sort === '0' || (items.extra_attribution && items.extra_attribution.remark)) && items.node_name !== '系统'"
class="info-item-remark" class="info-item-remark">
>
<div style="display: flex;"> <div style="display: flex;">
<span class="info-label remark-label">详情:</span> <span class="info-label remark-label">详情:</span>
<span class="preview-btn" @click.stop="previewRemark(items.extra_attribution.remark)"> <span class="preview-btn" @click.stop="previewRemark(items.extra_attribution.remark)">
...@@ -211,7 +153,9 @@ ...@@ -211,7 +153,9 @@
点击查看大图 点击查看大图
</span> </span>
</div> </div>
<div class="remark-value" v-html="formatImg(items.extra_attribution && items.extra_attribution.remark ? items.extra_attribution.remark : '')"></div> <div class="remark-value"
v-html="formatImg(items.extra_attribution && items.extra_attribution.remark ? items.extra_attribution.remark : '')">
</div>
</div> </div>
</div> </div>
</template> </template>
...@@ -225,33 +169,30 @@ ...@@ -225,33 +169,30 @@
<noContent /> <noContent />
</div> </div>
</div> </div>
<el-dialog :visible.sync="dialogRemarkVisible" top="50%" center append-to-body title="查看大图" custom-class="remake-dialog"> <el-dialog :visible.sync="dialogRemarkVisible" top="50%" center append-to-body title="查看大图"
custom-class="remake-dialog">
<div class="remake-box"> <div class="remake-box">
<div v-html="dialogRemake"></div> <div v-html="dialogRemake"></div>
</div> </div>
</el-dialog> </el-dialog>
<resubmitApproval <resubmitApproval v-if="showResubmitApproval" :show.sync="showResubmitApproval" :appeal-info="appealInfo"
v-if="showResubmitApproval" @updateReportList="filterChange" />
:show.sync="showResubmitApproval"
:appeal-info="appealInfo"
@updateReportList="filterChange"
/>
</div> </div>
</template> </template>
<script> <script>
import { searchcondition, appealList, appealCancel, appealProcess } from '@/api/game' import { searchcondition, appealList, appealCancel, appealProcess } from '@/api/game'
import { mapState, mapMutations } from 'vuex' import { mapState, mapMutations } from 'vuex'
import { removeDp, formatNumber,debounce } from '@/utils/index' import { removeDp, formatNumber, debounce } from '@/utils/index'
import resubmitApproval from './layer/appeal.vue' import resubmitApproval from './layer/appeal.vue'
// 导入审批状态图标 // 导入审批状态图标
import shenpi1 from '@/assets/icon/shenpi1.svg' import shenpi1 from '@/assets/icon/svg/shenpi1.svg'
import shenpi2 from '@/assets/icon/shenpi2.svg' import shenpi2 from '@/assets/icon/svg/shenpi2.svg'
import shenpi3 from '@/assets/icon/shenpi3.svg' import shenpi3 from '@/assets/icon/svg/shenpi3.svg'
import shenpi4 from '@/assets/icon/shenpi4.svg' import shenpi4 from '@/assets/icon/svg/shenpi4.svg'
import shenpi5 from '@/assets/icon/shenpi5.svg' import shenpi5 from '@/assets/icon/svg/shenpi5.svg'
import noContent from "@/components/noContent.vue"; import noContent from "@/components/noContent.vue";
import watchMember from '@/mixins/watchMember' import watchMember from '@/mixins/watchMember'
export default { export default {
name: 'approval', name: 'approval',
computed: { computed: {
...mapState('game', ['accountSelect']), ...mapState('game', ['accountSelect']),
...@@ -259,11 +200,11 @@ ...@@ -259,11 +200,11 @@
}, },
watch: { watch: {
accountSelect: { accountSelect: {
handler:debounce(function(newVal, oldVal) { handler: debounce(function (newVal, oldVal) {
if (newVal && newVal !== "" && newVal !== oldVal) { if (newVal && newVal !== "" && newVal !== oldVal) {
this.filterChange() this.filterChange()
} }
},200), }, 200),
immediate: false immediate: false
} }
}, },
...@@ -323,8 +264,8 @@ ...@@ -323,8 +264,8 @@
this.filterChange() this.filterChange()
}, },
methods: { methods: {
resetForm(){ resetForm() {
this.reportForm={ this.reportForm = {
customer_id: '', customer_id: '',
member_id: '', member_id: '',
role_id: '', role_id: '',
...@@ -332,7 +273,7 @@ ...@@ -332,7 +273,7 @@
role_name: '', role_name: '',
register_type: 1, register_type: 1,
approval_status: '', approval_status: '',
create_time_start: this.$moment().subtract(3, 'months').format('YYYY-MM-DD HH:mm:ss') , create_time_start: this.$moment().subtract(3, 'months').format('YYYY-MM-DD HH:mm:ss'),
create_time_end: this.$moment().endOf('day').format('YYYY-MM-DD HH:mm:ss') create_time_end: this.$moment().endOf('day').format('YYYY-MM-DD HH:mm:ss')
} }
}, },
...@@ -352,7 +293,7 @@ ...@@ -352,7 +293,7 @@
createResult(data) { createResult(data) {
this.reportForm.create_time_start = data this.reportForm.create_time_start = data
}, },
endResult(data){ endResult(data) {
this.reportForm.create_time_end = data this.reportForm.create_time_end = data
}, },
async requstApprovalList() { async requstApprovalList() {
...@@ -510,15 +451,16 @@ ...@@ -510,15 +451,16 @@
} }
} }
} }
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.approval-role-list { .approval-role-list {
width: 100%; width: 100%;
height: 100%; height: 100%;
padding-top: 10px; padding-top: 10px;
overflow: auto; overflow: auto;
.taskForm { .taskForm {
::v-deep .el-form-item { ::v-deep .el-form-item {
margin-bottom: 10px; margin-bottom: 10px;
...@@ -551,7 +493,7 @@ ...@@ -551,7 +493,7 @@
font-size: 12px; font-size: 12px;
font-family: PingFangSC-Regular, PingFang SC; font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400; font-weight: 400;
color: #3491FA ; color: #3491FA;
border: none; border: none;
} }
...@@ -574,6 +516,7 @@ ...@@ -574,6 +516,7 @@
.approvalScroll { .approvalScroll {
width: 100%; width: 100%;
height: auto; height: auto;
.scrollMain { .scrollMain {
width: 100%; width: 100%;
height: auto; height: auto;
...@@ -669,66 +612,66 @@ ...@@ -669,66 +612,66 @@
background: #e4fff1 !important; background: #e4fff1 !important;
} }
} }
} }
// 掌游的样式 // 掌游的样式
::v-deep.el-step .el-step__line { ::v-deep.el-step .el-step__line {
width: 1px; width: 1px;
} }
::v-deep .el-step>.is-success { ::v-deep .el-step>.is-success {
color: #3491FA ; color: #3491FA;
border-color: #3491FA ; border-color: #3491FA;
.el-step__line { .el-step__line {
background-color: #e5e6eb; background-color: #e5e6eb;
} }
} }
::v-deep .el-step__main>.is-success { ::v-deep .el-step__main>.is-success {
color: #3491FA ; color: #3491FA;
} }
::v-deep .el-step>.is-process { ::v-deep .el-step>.is-process {
color: #3491FA ; color: #3491FA;
border-color: #3491FA ; border-color: #3491FA;
.el-step__line { .el-step__line {
background-color: #e5e6eb; background-color: #e5e6eb;
} }
} }
::v-deep .el-step__main>.is-process { ::v-deep .el-step__main>.is-process {
color: #3491FA ; color: #3491FA;
} }
.form-item-btn { .form-item-btn {
margin: 0 0 0 20px; margin: 0 0 0 20px;
} }
.audit-label { .audit-label {
font-size: 14px; font-size: 14px;
font-weight: 800; font-weight: 800;
margin: 0 0 10px 0; margin: 0 0 10px 0;
} }
.remark-label { .remark-label {
color: #949fb0; color: #949fb0;
font-size: 14px; font-size: 14px;
} }
.preview-btn { .preview-btn {
cursor: pointer; cursor: pointer;
font-size: 14px; font-size: 14px;
color: #3491FA ; color: #3491FA;
margin: 0 0 0 10px; margin: 0 0 0 10px;
i { i {
margin: 0 5px 0 0; margin: 0 5px 0 0;
} }
} }
.remark-value { .remark-value {
min-height: 100px; min-height: 100px;
margin: 10px 0 0 40px; margin: 10px 0 0 40px;
padding: 6px 12px; padding: 6px 12px;
...@@ -736,31 +679,31 @@ ...@@ -736,31 +679,31 @@
border-radius: 4px; border-radius: 4px;
cursor: not-allowed; cursor: not-allowed;
color: #333; color: #333;
} }
.flex-box { .flex-box {
display: flex; display: flex;
.remark-lebel { .remark-lebel {
width: 50px; width: 50px;
text-align: right; text-align: right;
} }
} }
.refund-flow-drawer { .refund-flow-drawer {
position: fixed; position: fixed;
top: 0; top: 0;
right: 700px; right: 700px;
} }
.btm-btn-box { .btm-btn-box {
position: fixed; position: fixed;
bottom: 20px; bottom: 20px;
width: 560px; width: 560px;
height: 32px; height: 32px;
} }
.audit-state { .audit-state {
width: 50px; width: 50px;
height: 50px; height: 50px;
position: absolute; position: absolute;
...@@ -772,16 +715,16 @@ ...@@ -772,16 +715,16 @@
.audit-state-stamp { .audit-state-stamp {
font-size: 50px; font-size: 50px;
} }
} }
.info-item { .info-item {
width: 45%; width: 45%;
display: flex; display: flex;
height: 18px; height: 18px;
margin: 0 0 12px 0; margin: 0 0 12px 0;
} }
.info-item-pic { .info-item-pic {
width: 100%; width: 100%;
min-height: 96px; min-height: 96px;
max-height: 192px; max-height: 192px;
...@@ -829,34 +772,34 @@ ...@@ -829,34 +772,34 @@
} }
} }
} }
} }
.flex-btn { .flex-btn {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
} }
.info-label { .info-label {
// width: 90px; // width: 90px;
// text-align: right; // text-align: right;
display: block; display: block;
margin: 0 10px 0 0; margin: 0 10px 0 0;
font-size: 14px; font-size: 14px;
color: #949fb0; color: #949fb0;
} }
.info-value { .info-value {
display: block; display: block;
font-size: 14px; font-size: 14px;
color: #333; color: #333;
} }
.card-style { .card-style {
background: #f2f2f7; background: #f2f2f7;
border-radius: 4px; border-radius: 4px;
} }
.trans-follow-1 { .trans-follow-1 {
width: 300px; width: 300px;
min-height: fit-content; min-height: fit-content;
margin: 6px 0 12px 0; margin: 6px 0 12px 0;
...@@ -876,12 +819,12 @@ ...@@ -876,12 +819,12 @@
} }
.info-value-color { .info-value-color {
color: #3491FA ; color: #3491FA;
margin-left: 5px; margin-left: 5px;
} }
} }
.follow-item { .follow-item {
min-height: 20px; min-height: 20px;
line-height: 20px; line-height: 20px;
margin: 0 0 12px 0; margin: 0 0 12px 0;
...@@ -891,30 +834,30 @@ ...@@ -891,30 +834,30 @@
width: 90px; width: 90px;
text-align: right; text-align: right;
} }
} }
.left-label { .left-label {
width: 60px; width: 60px;
} }
.follow-info-label { .follow-info-label {
width: fit-content; width: fit-content;
text-align: left; text-align: left;
display: inline-block; display: inline-block;
margin: 0 10px 0 0; margin: 0 10px 0 0;
} }
.info-value { .info-value {
font-size: 14px; font-size: 14px;
color: #333; color: #333;
} }
.label-font { .label-font {
font-size: 14px; font-size: 14px;
color: #949fb0; color: #949fb0;
} }
.info-item-remark { .info-item-remark {
width: 100%; width: 100%;
padding: 0 0 12px 0; padding: 0 0 12px 0;
line-height: 20px; line-height: 20px;
...@@ -927,12 +870,10 @@ ...@@ -927,12 +870,10 @@
display: block; display: block;
width: 440px; width: 440px;
} }
} }
.appealProcessList { .appealProcessList {
margin-bottom: 20px; margin-bottom: 20px;
margin-top: 20px; margin-top: 20px;
} }
</style>
</style> \ No newline at end of file
\ No newline at end of file
<template> <template>
<div class="reportList"> <div class="reportList">
<el-form <el-form ref="taskForm" :model="reportForm" class="taskForm" label-position="top" label-width="85px">
ref="taskForm"
:model="reportForm"
class="taskForm"
label-position="top"
label-width="85px"
>
<el-form-item label="角色名称"> <el-form-item label="角色名称">
<el-input <el-input v-model="reportForm.role_name" clearable placeholder="请输入角色名称" @change="filterChange">
v-model="reportForm.role_name"
clearable
placeholder="请输入角色名称"
@change="filterChange"
>
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item label="审批状态"> <el-form-item label="审批状态">
<el-select <el-select v-model="reportForm.approval_status" style="width:100%;" clearable placeholder="请选择审批状态"
v-model="reportForm.approval_status" @change="filterChange">
style="width:100%;" <el-option v-for="item in approvalList" :key="item.value" :label="item.label" :value="item.value">
clearable
placeholder="请选择审批状态"
@change="filterChange"
>
<el-option
v-for="item in approvalList"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="申请方式"> <el-form-item label="申请方式">
<el-select <el-select v-model="reportForm.register_type" style="width:100%;" clearable placeholder="请选择申请方式"
v-model="reportForm.register_type" @change="filterChange">
style="width:100%;" <el-option v-for="item in register_type_list" :key="item.value" :label="item.label" :value="item.value">
clearable
placeholder="请选择申请方式"
@change="filterChange"
>
<el-option
v-for="item in register_type_list"
:key="item.value"
:label="item.label"
:value="item.value"
>
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div <div v-infinite-scroll="paperScroll" :infinite-scroll-disabled="!isMoreRecord" :infinite-scroll-immediate="false"
v-infinite-scroll="paperScroll" class="mailListScroll">
:infinite-scroll-disabled="!isMoreRecord"
:infinite-scroll-immediate="false"
class="mailListScroll"
>
<!-- 举报申请 --> <!-- 举报申请 -->
<div class="scrollMain" v-if="reportList.length > 0"> <div class="scrollMain" v-if="reportList.length > 0">
<div <div v-for="(item, index) in reportList" :key="index" class="reportContent" @click="reportProcess(item, index)">
v-for="(item, index) in reportList"
:key="index"
class="reportContent"
@click="reportProcess(item, index)"
>
<div class="reportItem rowFlex spaceBetween columnCenter"> <div class="reportItem rowFlex spaceBetween columnCenter">
<div class="reportItemLeft"> <div class="reportItemLeft">
<p><span class="label">角色名称:</span><span class="value">{{ item.role_name }}</span></p> <p><span class="label">角色名称:</span><span class="value">{{ item.role_name }}</span></p>
...@@ -80,74 +40,30 @@ ...@@ -80,74 +40,30 @@
</div> </div>
<div class="reportItemRight columnFlex columnCenter"> <div class="reportItemRight columnFlex columnCenter">
<!-- 撤销 当item.create_user_id == zq_user_id 的时候才可以撤销 只能撤销自己提交的审批 --> <!-- 撤销 当item.create_user_id == zq_user_id 的时候才可以撤销 只能撤销自己提交的审批 -->
<el-button <el-button v-if="item.approval_status == 1 && (item.create_user_id == cser_id)" type="primary" size="mini"
v-if="item.approval_status == 1 && (item.create_user_id == cser_id)" @click.stop="handleReport(item)">撤销</el-button>
type="primary"
size="mini"
@click.stop="handleReport(item)"
>撤销</el-button>
<!-- 审批 只有待审批状态可以并且申请方式是玩家登记的时候才有这个 --> <!-- 审批 只有待审批状态可以并且申请方式是玩家登记的时候才有这个 -->
<el-button <el-button
v-if="item.approval_status == 1 && reportForm.register_type == 2 && (item.customer_id == userInfo.id)" v-if="item.approval_status == 1 && reportForm.register_type == 2 && (item.customer_id == userInfo.id)"
type="primary" type="primary" size="mini" @click.stop="resubmitReportApproval(item)">审批</el-button>
size="mini"
@click.stop="resubmitReportApproval(item)"
>审批</el-button>
<!-- 重新提交 --> <!-- 重新提交 -->
<el-button <el-button v-else-if="item.approval_status == 4" type="primary" size="mini"
v-else-if="item.approval_status == 4" @click.stop="resubmitReport(item)">重新提交</el-button>
type="primary" <img v-if="item.approval_status == 1" :src="shenpi1" class="icon" />
size="mini" <img v-else-if="item.approval_status == 2" :src="shenpi2" class="icon" />
@click.stop="resubmitReport(item)" <img v-else-if="item.approval_status == 3" :src="shenpi3" class="icon" />
>重新提交</el-button> <img v-else-if="item.approval_status == 4" :src="shenpi4" class="icon" />
<img <img v-else-if="item.approval_status == 5" :src="shenpi5" class="icon" />
v-if="item.approval_status == 1"
:src="shenpi1"
class="icon"
/>
<img
v-else-if="item.approval_status == 2"
:src="shenpi2"
class="icon"
/>
<img
v-else-if="item.approval_status == 3"
:src="shenpi3"
class="icon"
/>
<img
v-else-if="item.approval_status == 4"
:src="shenpi4"
class="icon"
/>
<img
v-else-if="item.approval_status == 5"
:src="shenpi5"
class="icon"
/>
</div> </div>
</div> </div>
<!-- 审批进度 --> <!-- 审批进度 -->
<el-collapse-transition> <el-collapse-transition>
<div <div v-if="item.showStep" class="reportProcessList">
v-if="item.showStep" <el-steps direction="vertical" :active="item.current" finish-status="success">
class="reportProcessList" <el-step v-for="(items, indexs) in item.reportProcessList" :key="'trans_item_' + indexs"
> :title="items.node_name">
<el-steps
direction="vertical"
:active="item.current"
finish-status="success"
>
<el-step
v-for="(items, indexs) in item.reportProcessList"
:key="'trans_item_' + indexs"
:title="items.node_name"
>
<template slot="description"> <template slot="description">
<div <div v-if="items" class="trans-follow-1 card-style">
v-if="items"
class="trans-follow-1 card-style"
>
<div class="follow-item"> <div class="follow-item">
<span class="follow-info-label label-font"> <span class="follow-info-label label-font">
{{ items.node_sort !== '0' ? '审批人:' : '登记人:' }} {{ items.node_sort !== '0' ? '审批人:' : '登记人:' }}
...@@ -155,32 +71,21 @@ ...@@ -155,32 +71,21 @@
<span class="info-value value-font"> <span class="info-value value-font">
{{ Array.isArray(items.user_name) ? items.user_name[0] : items.user_name }} {{ Array.isArray(items.user_name) ? items.user_name[0] : items.user_name }}
</span> </span>
<el-tooltip <el-tooltip v-if="Array.isArray(items.user_name) && items.user_name.length > 1" class="item"
v-if="Array.isArray(items.user_name) && items.user_name.length > 1" effect="dark" :content="items.user_name.slice(1).join('、')" placement="top">
class="item"
effect="dark"
:content="items.user_name.slice(1).join('、')"
placement="top"
>
<span class="info-value value-font info-value-color"> <span class="info-value value-font info-value-color">
{{ `+${items.user_name.length - 1}` }} {{ `+${items.user_name.length - 1}` }}
</span> </span>
</el-tooltip> </el-tooltip>
</div> </div>
<div <div v-if="items.node_sort !== '0' || items.node_name === '系统'" class="follow-item">
v-if="items.node_sort !== '0' || items.node_name === '系统'"
class="follow-item"
>
<span class="follow-info-label label-font"> <span class="follow-info-label label-font">
审批结果: 审批结果:
</span> </span>
<span <span class="info-value value-font"
class="info-value value-font" :class="[items.current < indexs ? '' : switchStateTag(items.approval_result)]">
:class="[items.current < indexs? '' : switchStateTag(items.approval_result)]" {{ items.current < indexs ? '' : items.approval_result_text }} </span>
>
{{ items.current < indexs ? '' : items.approval_result_text }}
</span>
</div> </div>
<div class="follow-item"> <div class="follow-item">
<span class="follow-info-label label-font"> <span class="follow-info-label label-font">
...@@ -190,10 +95,8 @@ ...@@ -190,10 +95,8 @@
{{ items.node_sort === '0' ? items.create_time : items.update_time }} {{ items.node_sort === '0' ? items.create_time : items.update_time }}
</span> </span>
</div> </div>
<div <div v-if="(items.node_sort !== '0' || items.node_name === '系统') && items.approval_result === '2'"
v-if="(items.node_sort !== '0' || items.node_name === '系统') && items.approval_result==='2'" class="follow-item">
class="follow-item"
>
<span class="follow-info-label label-font"> <span class="follow-info-label label-font">
驳回原因: 驳回原因:
</span> </span>
...@@ -203,9 +106,8 @@ ...@@ -203,9 +106,8 @@
</div> </div>
<div <div
v-if="items.node_sort === item.reportProcessList[item.reportProcessList.length - 1 ].node_sort+ '' && items.approval_result === '1' && items.node_sort !== '0'" v-if="items.node_sort === item.reportProcessList[item.reportProcessList.length - 1].node_sort + '' && items.approval_result === '1' && items.node_sort !== '0'"
class="follow-item-remark follow-item" class="follow-item-remark follow-item">
>
<span class="follow-info-label label-font"> <span class="follow-info-label label-font">
处理结果: 处理结果:
</span> </span>
...@@ -213,24 +115,17 @@ ...@@ -213,24 +115,17 @@
{{ items.extra_attribution.banned_text }} {{ items.extra_attribution.banned_text }}
</span> </span>
</div> </div>
<div <div v-if="items.node_sort === '0' && items.node_name !== '系统'" class="info-item-remark">
v-if="items.node_sort === '0' && items.node_name !== '系统'"
class="info-item-remark"
>
<div style="display: flex;"> <div style="display: flex;">
<span class="info-label remark-label">详情:</span> <span class="info-label remark-label">详情:</span>
<span <span class="preview-btn" @click.stop="previewRemark(items.extra_attribution.remark)">
class="preview-btn"
@click.stop="previewRemark(items.extra_attribution.remark)"
>
<i class="el-icon-view"></i> <i class="el-icon-view"></i>
点击查看大图 点击查看大图
</span> </span>
</div> </div>
<div <div class="remark-value"
class="remark-value" v-html="formatImg(items.extra_attribution && items.extra_attribution.remark ? items.extra_attribution.remark : '')">
v-html="formatImg(items.extra_attribution && items.extra_attribution.remark ? items.extra_attribution.remark : '')" </div>
></div>
</div> </div>
</div> </div>
</template> </template>
...@@ -244,53 +139,40 @@ ...@@ -244,53 +139,40 @@
<noContent /> <noContent />
</div> </div>
</div> </div>
<el-dialog <el-dialog :visible.sync="dialogRemarkVisible" append-to-body title="查看大图" custom-class="remake-dialog">
:visible.sync="dialogRemarkVisible"
append-to-body
title="查看大图"
custom-class="remake-dialog"
>
<div class="remake-box"> <div class="remake-box">
<div v-html="dialogRemake"></div> <div v-html="dialogRemake"></div>
</div> </div>
</el-dialog> </el-dialog>
<!-- 重新提交 --> <!-- 重新提交 -->
<resubmitReport <resubmitReport v-if="showResubmitReport" :report-info="reportInfo" :show.sync="showResubmitReport"
v-if="showResubmitReport" @updateReportList="filterChange" />
:report-info="reportInfo"
:show.sync="showResubmitReport"
@updateReportList="filterChange"
/>
<!-- 审批 --> <!-- 审批 -->
<approvalTask <approvalTask v-if="isApproval" :show.sync="isApproval" :report-info="reportInfo"
v-if="isApproval" @updateReportList="filterChange" />
:show.sync="isApproval"
:report-info="reportInfo"
@updateReportList="filterChange"
/>
</div> </div>
</template> </template>
<script> <script>
import { searchcondition, reportIndex, reportCancel, reportProcess } from '@/api/game' import { searchcondition, reportIndex, reportCancel, reportProcess } from '@/api/game'
import { mapState, mapMutations } from 'vuex' import { mapState, mapMutations } from 'vuex'
import { removeDp, formatNumber,debounce } from '@/utils/index' import { removeDp, formatNumber, debounce } from '@/utils/index'
import resubmitReport from './layer/report.vue' import resubmitReport from './layer/report.vue'
import approvalTask from './layer/approvalTask.vue' import approvalTask from './layer/approvalTask.vue'
// 导入审批状态图标 // 导入审批状态图标
import shenpi1 from '@/assets/icon/shenpi1.svg' import shenpi1 from '@/assets/icon/svg/shenpi1.svg'
import shenpi2 from '@/assets/icon/shenpi2.svg' import shenpi2 from '@/assets/icon/svg/shenpi2.svg'
import shenpi3 from '@/assets/icon/shenpi3.svg' import shenpi3 from '@/assets/icon/svg/shenpi3.svg'
import shenpi4 from '@/assets/icon/shenpi4.svg' import shenpi4 from '@/assets/icon/svg/shenpi4.svg'
import shenpi5 from '@/assets/icon/shenpi5.svg' import shenpi5 from '@/assets/icon/svg/shenpi5.svg'
import noContent from '@/components/noContent.vue' import noContent from '@/components/noContent.vue'
export default { export default {
name: 'report', name: 'report',
computed: { computed: {
...mapState('game', ['accountSelect']), ...mapState('game', ['accountSelect']),
...mapState('user', ['cser_id','cser_name']) ...mapState('user', ['cser_id', 'cser_name'])
}, },
watch: { watch: {
accountSelect(newVal,oldVal){ accountSelect(newVal, oldVal) {
if (newVal && newVal !== "" && newVal !== oldVal) { if (newVal && newVal !== "" && newVal !== oldVal) {
this.filterChange() this.filterChange()
} }
...@@ -514,15 +396,16 @@ ...@@ -514,15 +396,16 @@
} }
} }
} }
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.reportList { .reportList {
width: 100%; width: 100%;
height: 100%; height: 100%;
overflow-y: auto; overflow-y: auto;
overflow-x: hidden; overflow-x: hidden;
.taskForm { .taskForm {
::v-deep .el-form-item { ::v-deep .el-form-item {
margin-bottom: 10px; margin-bottom: 10px;
...@@ -555,7 +438,7 @@ ...@@ -555,7 +438,7 @@
font-size: 12px; font-size: 12px;
font-family: PingFangSC-Regular, PingFang SC; font-family: PingFangSC-Regular, PingFang SC;
font-weight: 400; font-weight: 400;
color: #3491FA ; color: #3491FA;
border: none; border: none;
} }
...@@ -578,10 +461,12 @@ ...@@ -578,10 +461,12 @@
.mailListScroll { .mailListScroll {
width: 100%; width: 100%;
height: auto; height: auto;
.scrollMain { .scrollMain {
width: 100%; width: 100%;
height: auto; height: auto;
margin-bottom: 40px; margin-bottom: 40px;
.reportContent { .reportContent {
width: calc(100% - 10px); width: calc(100% - 10px);
} }
...@@ -672,66 +557,66 @@ ...@@ -672,66 +557,66 @@
background: #e4fff1 !important; background: #e4fff1 !important;
} }
} }
} }
// 掌游的样式 // 掌游的样式
::v-deep.el-step .el-step__line { ::v-deep.el-step .el-step__line {
width: 1px; width: 1px;
} }
::v-deep .el-step > .is-success { ::v-deep .el-step>.is-success {
color: #3491FA ; color: #3491FA;
border-color: #3491FA ; border-color: #3491FA;
.el-step__line { .el-step__line {
background-color: #e5e6eb; background-color: #e5e6eb;
} }
} }
::v-deep .el-step__main > .is-success { ::v-deep .el-step__main>.is-success {
color: #3491FA ; color: #3491FA;
} }
::v-deep .el-step > .is-process { ::v-deep .el-step>.is-process {
color: #3491FA ; color: #3491FA;
border-color: #3491FA ; border-color: #3491FA;
.el-step__line { .el-step__line {
background-color: #e5e6eb; background-color: #e5e6eb;
} }
} }
::v-deep .el-step__main > .is-process { ::v-deep .el-step__main>.is-process {
color: #3491FA ; color: #3491FA;
} }
.form-item-btn { .form-item-btn {
margin: 0 0 0 20px; margin: 0 0 0 20px;
} }
.audit-label { .audit-label {
font-size: 14px; font-size: 14px;
font-weight: 800; font-weight: 800;
margin: 0 0 10px 0; margin: 0 0 10px 0;
} }
.remark-label { .remark-label {
color: #949fb0; color: #949fb0;
font-size: 14px; font-size: 14px;
} }
.preview-btn { .preview-btn {
cursor: pointer; cursor: pointer;
font-size: 14px; font-size: 14px;
color: #3491FA ; color: #3491FA;
margin: 0 0 0 10px; margin: 0 0 0 10px;
i { i {
margin: 0 5px 0 0; margin: 0 5px 0 0;
} }
} }
.remark-value { .remark-value {
min-height: 100px; min-height: 100px;
margin: 10px 0 0 40px; margin: 10px 0 0 40px;
padding: 6px 12px; padding: 6px 12px;
...@@ -739,31 +624,31 @@ ...@@ -739,31 +624,31 @@
border-radius: 4px; border-radius: 4px;
cursor: not-allowed; cursor: not-allowed;
color: #333; color: #333;
} }
.flex-box { .flex-box {
display: flex; display: flex;
.remark-lebel { .remark-lebel {
width: 50px; width: 50px;
text-align: right; text-align: right;
} }
} }
.refund-flow-drawer { .refund-flow-drawer {
position: fixed; position: fixed;
top: 0; top: 0;
right: 700px; right: 700px;
} }
.btm-btn-box { .btm-btn-box {
position: fixed; position: fixed;
bottom: 20px; bottom: 20px;
width: 560px; width: 560px;
height: 32px; height: 32px;
} }
.audit-state { .audit-state {
width: 50px; width: 50px;
height: 50px; height: 50px;
position: absolute; position: absolute;
...@@ -775,16 +660,16 @@ ...@@ -775,16 +660,16 @@
.audit-state-stamp { .audit-state-stamp {
font-size: 50px; font-size: 50px;
} }
} }
.info-item { .info-item {
width: 45%; width: 45%;
display: flex; display: flex;
height: 18px; height: 18px;
margin: 0 0 12px 0; margin: 0 0 12px 0;
} }
.info-item-pic { .info-item-pic {
width: 100%; width: 100%;
min-height: 96px; min-height: 96px;
max-height: 192px; max-height: 192px;
...@@ -827,39 +712,39 @@ ...@@ -827,39 +712,39 @@
height: 80px; height: 80px;
} }
&:hover > .preview-pic { &:hover>.preview-pic {
z-index: 100; z-index: 100;
} }
} }
} }
} }
.flex-btn { .flex-btn {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
} }
.info-label { .info-label {
// width: 90px; // width: 90px;
// text-align: right; // text-align: right;
display: block; display: block;
margin: 0 10px 0 0; margin: 0 10px 0 0;
font-size: 14px; font-size: 14px;
color: #949fb0; color: #949fb0;
} }
.info-value { .info-value {
display: block; display: block;
font-size: 14px; font-size: 14px;
color: #333; color: #333;
} }
.card-style { .card-style {
background: #f2f2f7; background: #f2f2f7;
border-radius: 4px; border-radius: 4px;
} }
.trans-follow-1 { .trans-follow-1 {
width: 300px; width: 300px;
min-height: fit-content; min-height: fit-content;
margin: 6px 0 12px 0; margin: 6px 0 12px 0;
...@@ -879,12 +764,12 @@ ...@@ -879,12 +764,12 @@
} }
.info-value-color { .info-value-color {
color: #3491FA ; color: #3491FA;
margin-left: 5px; margin-left: 5px;
} }
} }
.follow-item { .follow-item {
min-height: 20px; min-height: 20px;
line-height: 20px; line-height: 20px;
margin: 0 0 12px 0; margin: 0 0 12px 0;
...@@ -894,29 +779,29 @@ ...@@ -894,29 +779,29 @@
width: 90px; width: 90px;
text-align: right; text-align: right;
} }
} }
.left-label { .left-label {
width: 60px; width: 60px;
} }
.follow-info-label { .follow-info-label {
white-space: nowrap; white-space: nowrap;
text-align: left; text-align: left;
margin: 0 10px 0 0; margin: 0 10px 0 0;
} }
.info-value { .info-value {
font-size: 14px; font-size: 14px;
color: #333; color: #333;
} }
.label-font { .label-font {
font-size: 14px; font-size: 14px;
color: #949fb0; color: #949fb0;
} }
.info-item-remark { .info-item-remark {
width: 100%; width: 100%;
padding: 0 0 12px 0; padding: 0 0 12px 0;
line-height: 20px; line-height: 20px;
...@@ -929,10 +814,10 @@ ...@@ -929,10 +814,10 @@
display: block; display: block;
width: 440px; width: 440px;
} }
} }
.reportProcessList { .reportProcessList {
margin-bottom: 20px; margin-bottom: 20px;
margin-top: 20px; margin-top: 20px;
} }
</style> </style>
\ No newline at end of file \ No newline at end of file
...@@ -20,7 +20,7 @@ export default { ...@@ -20,7 +20,7 @@ export default {
EmailGift, EmailGift,
WxGift WxGift
}, },
created(){ created() {
this.initializeWecom() this.initializeWecom()
}, },
methods: { methods: {
...@@ -50,7 +50,7 @@ export default { ...@@ -50,7 +50,7 @@ export default {
padding-top: 10px; padding-top: 10px;
background: #fff; background: #fff;
::v-deep .el-tabs__content{ ::v-deep .el-tabs__content {
height: calc(100% - 55px); height: calc(100% - 55px);
} }
......
...@@ -41,8 +41,8 @@ ...@@ -41,8 +41,8 @@
<div class="filterList"> <div class="filterList">
<el-form class="filterList" label-position="top"> <el-form class="filterList" label-position="top">
<el-form-item label="订单号:"> <el-form-item label="订单号:">
<el-input v-model="inputValue" placeholder="请输入订单号/交易单号" prefix-icon="el-icon-search" <el-input v-model="inputValue" placeholder="请输入订单号/交易单号" prefix-icon="el-icon-search" style="width: 100%"
style="width: 100%" clearable @change="searchInput"></el-input> clearable @change="searchInput"></el-input>
</el-form-item> </el-form-item>
<el-form-item label="支付方式:"> <el-form-item label="支付方式:">
...@@ -174,7 +174,7 @@ import searchSelect from './components/order/searchUser.vue' ...@@ -174,7 +174,7 @@ import searchSelect from './components/order/searchUser.vue'
import orderRefund from './components/order/orderRefund.vue' import orderRefund from './components/order/orderRefund.vue'
import refundLog from './components/order/refundLog.vue' import refundLog from './components/order/refundLog.vue'
import { throttle } from '@/utils' import { throttle } from '@/utils'
import sanjiaoxing from '@/assets/icon/sanjiaoxing.svg' import sanjiaoxing from '@/assets/icon/svg/sanjiaoxing.svg'
import noContent from '@/components/noContent.vue' import noContent from '@/components/noContent.vue'
export default { export default {
name: 'orderList', name: 'orderList',
...@@ -402,7 +402,7 @@ export default { ...@@ -402,7 +402,7 @@ export default {
}) })
}, },
requestOrderList: throttle(function (msg) { requestOrderList: throttle(function (msg) {
console.log(12313, '开始展示',this.isloadMore) console.log(12313, '开始展示', this.isloadMore)
if (this.accountSelect == '') { if (this.accountSelect == '') {
this.$message.warning('暂无关联的账号,请先去关联账号!') this.$message.warning('暂无关联的账号,请先去关联账号!')
return false return false
...@@ -489,16 +489,19 @@ export default { ...@@ -489,16 +489,19 @@ export default {
height: 100%; height: 100%;
overflow: auto; overflow: auto;
overflow-x: hidden; overflow-x: hidden;
::v-deep .el-tabs{
::v-deep .el-tabs {
height: auto; height: auto;
} }
::v-deep .el-tab-pane{ ::v-deep .el-tab-pane {
height: auto; height: auto;
} }
::v-deep .el-tabs__content{
::v-deep .el-tabs__content {
height: auto !important; height: auto !important;
} }
.order-info-content { .order-info-content {
width: 100%; width: 100%;
height: calc(100% - 60px); height: calc(100% - 60px);
......
...@@ -18,7 +18,8 @@ ...@@ -18,7 +18,8 @@
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
<!-- 运营任务 --> <!-- 运营任务 -->
<div class="taskListContent" v-if="taskForm.type !== 'user_task' && taskForm.type !== 'account_task'" v-scroll="paperScroll" > <div class="taskListContent" v-if="taskForm.type !== 'user_task' && taskForm.type !== 'account_task'"
v-scroll="paperScroll">
<el-form ref="taskForm" :model="taskForm" class="taskForm" label-position="top" label-width="85px"> <el-form ref="taskForm" :model="taskForm" class="taskForm" label-position="top" label-width="85px">
<!-- 运营任务 --> <!-- 运营任务 -->
<div v-if="taskForm.type == 1" class="taskFormItem"> <div v-if="taskForm.type == 1" class="taskFormItem">
...@@ -116,14 +117,14 @@ ...@@ -116,14 +117,14 @@
</span> </span>
</p> </p>
</div> </div>
<div class="taskListScroll" v-loading="loading" <div class="taskListScroll" v-loading="loading" :class="taskForm.type != 1 ? 'taskListScrollActive' : ''">
:class="taskForm.type != 1 ? 'taskListScrollActive' : ''">
<!-- 运营任务 --> <!-- 运营任务 -->
<div v-if="taskForm.type == 1" class="scrollMain"> <div v-if="taskForm.type == 1" class="scrollMain">
<div v-for="(item, index) in taskList" :key="index" class="chatListItem columnCenter spaceBetween" <div v-for="(item, index) in taskList" :key="index" class="chatListItem columnCenter spaceBetween"
:class="item.id === taskDetails.id ? 'chatListItemActive' : ''" @click="selectTaskItem(item)"> :class="item.id === taskDetails.id ? 'chatListItemActive' : ''" @click="selectTaskItem(item)">
<div class="top rowFlex spaceBetween"> <div class="top rowFlex spaceBetween">
<div v-if="item.username && item.username.split('\n') && item.username.split('\n').length > 0" class="value"> <div v-if="item.username && item.username.split('\n') && item.username.split('\n').length > 0"
class="value">
<div v-if="item.username.split('\n').length <= 1" class="rowFlex columnCenter"> <div v-if="item.username.split('\n').length <= 1" class="rowFlex columnCenter">
<div v-for="(items, indexs) in item.username.split('\n')" :key="indexs" <div v-for="(items, indexs) in item.username.split('\n')" :key="indexs"
class="rowFlex columnCenter userInfoStyle"> class="rowFlex columnCenter userInfoStyle">
...@@ -139,7 +140,9 @@ ...@@ -139,7 +140,9 @@
<span class="textHidden" style="max-width:150px;">{{ items }}</span> <span class="textHidden" style="max-width:150px;">{{ items }}</span>
</p> </p>
</div> </div>
<el-button slot="reference" type="text">{{ item.username && item.username.split("\n") && item.username.split("\n").length?item.username.split("\n").length : 0 <el-button slot="reference" type="text">{{ item.username &&
item.username.split("\n") &&
item.username.split("\n").length ?item.username.split("\n").length : 0
}}个</el-button> }}个</el-button>
</el-popover> </el-popover>
</div> </div>
...@@ -188,11 +191,11 @@ import mainGameSelect from '@/components/mainGame.vue' ...@@ -188,11 +191,11 @@ import mainGameSelect from '@/components/mainGame.vue'
import { removeDp } from '@/utils/index' import { removeDp } from '@/utils/index'
import selectDate from '@/components/selectDate.vue' import selectDate from '@/components/selectDate.vue'
import { formatNumber } from '@/utils/index' import { formatNumber } from '@/utils/index'
import shenpi1 from '@/assets/icon/shenpi1.svg' import shenpi1 from '@/assets/icon/svg/shenpi1.svg'
import shenpi2 from '@/assets/icon/shenpi2.svg' import shenpi2 from '@/assets/icon/svg/shenpi2.svg'
import shenpi3 from '@/assets/icon/shenpi3.svg' import shenpi3 from '@/assets/icon/svg/shenpi3.svg'
import shenpi4 from '@/assets/icon/shenpi4.svg' import shenpi4 from '@/assets/icon/svg/shenpi4.svg'
import shenpi5 from '@/assets/icon/shenpi5.svg' import shenpi5 from '@/assets/icon/svg/shenpi5.svg'
import noContent from '@/components/noContent.vue' import noContent from '@/components/noContent.vue'
import userTask from './components/taskList/uesrTask.vue' import userTask from './components/taskList/uesrTask.vue'
import taskDetails from './components/taskList/taskDetails.vue' import taskDetails from './components/taskList/taskDetails.vue'
...@@ -665,14 +668,17 @@ export default { ...@@ -665,14 +668,17 @@ export default {
::v-deep .el-tabs { ::v-deep .el-tabs {
height: auto; height: auto;
} }
.taskListContent { .taskListContent {
width: 100%; width: 100%;
height: calc(100% - 40px); height: calc(100% - 40px);
overflow-y: auto; overflow-y: auto;
} }
.taskFormItem { .taskFormItem {
margin-top: 10px; margin-top: 10px;
} }
.taskForm { .taskForm {
::v-deep .el-form-item { ::v-deep .el-form-item {
margin-bottom: 5px; margin-bottom: 5px;
...@@ -754,11 +760,13 @@ export default { ...@@ -754,11 +760,13 @@ export default {
.taskListScroll { .taskListScroll {
width: 100%; width: 100%;
.scrollMain { .scrollMain {
width: 100%; width: 100%;
height: auto; height: auto;
margin-bottom: 50px; margin-bottom: 50px;
padding: 0 10px; padding: 0 10px;
//举报申请 //举报申请
.reportItem { .reportItem {
padding: 10px; padding: 10px;
......
<template> <template>
<div class="info-tab-content"> <div class="info-tab-content">
<div <div class="userDetailsPanel columnFlex">
class="userDetailsPanel columnFlex"
>
<div class="content" v-loading="viewLoading"> <div class="content" v-loading="viewLoading">
<div v-if="chatUserDetails.is_phishing_account==1" class="warnText"> <div v-if="chatUserDetails.is_phishing_account == 1" class="warnText">
<p>高风险玩家,请立即通知组长!!!!</p> <p>高风险玩家,请立即通知组长!!!!</p>
<p>①千万不能推转游!!不要发送违禁词汇!!不要发送礼包和告知任何礼包信息!!</p> <p>①千万不能推转游!!不要发送违禁词汇!!不要发送礼包和告知任何礼包信息!!</p>
<p>②不能以任何形式推送APP/网页链接,也不可承认有APP/网页端口!!</p> <p>②不能以任何形式推送APP/网页链接,也不可承认有APP/网页端口!!</p>
</div> </div>
<div <div v-if="change_appraisal" class="warnText">
v-if="change_appraisal"
class="warnText"
>
<p> 钓鱼号 禁止转端通知组长!</p> <p> 钓鱼号 禁止转端通知组长!</p>
</div> </div>
<div <div v-else-if="gameUserInfo.exp_ip" class="warnText">
v-else-if="gameUserInfo.exp_ip"
class="warnText"
>
<p>高风险用户,禁止转端 !!!</p> <p>高风险用户,禁止转端 !!!</p>
</div> </div>
<div class="cser_info"> <div class="cser_info">
...@@ -28,50 +20,40 @@ ...@@ -28,50 +20,40 @@
<!-- 添加客服状态显示及按钮 --> <!-- 添加客服状态显示及按钮 -->
<div class="cser_status"> <div class="cser_status">
<div class="status-actions"> <div class="status-actions">
<el-button type="danger" v-if="clientStatus !== 'offline'" style="margin-left: 0px;" size="mini" @click="logout">下线</el-button> <el-button type="danger" v-if="clientStatus !== 'offline'" style="margin-left: 0px;" size="mini"
@click="logout">下线</el-button>
<!-- 休息中状态显示结束休息按钮 --> <!-- 休息中状态显示结束休息按钮 -->
<el-button v-if="clientStatus === 'rest'" type="primary" size="mini" @click="handleFinishRest">结束休息</el-button> <el-button v-if="clientStatus === 'rest'" type="primary" size="mini"
@click="handleFinishRest">结束休息</el-button>
<!-- 在线状态显示开始休息按钮 --> <!-- 在线状态显示开始休息按钮 -->
<el-tooltip v-if="clientStatus === 'online'" content="午休或者临时有事可点击休息" placement="top"> <el-tooltip v-if="clientStatus === 'online'" content="午休或者临时有事可点击休息" placement="top">
<el-button type="warning" size="mini" @click="handleStartRest" >开始休息</el-button> <el-button type="warning" size="mini" @click="handleStartRest">开始休息</el-button>
</el-tooltip> </el-tooltip>
<!-- 发送评价按钮 --> <!-- 发送评价按钮 -->
<el-button type="primary" style="margin-left: 0px;" size="mini" @click="handleSendComment">发送评价</el-button> <el-button type="primary" style="margin-left: 0px;" size="mini"
@click="handleSendComment">发送评价</el-button>
</div> </div>
</div> </div>
</div> </div>
<!-- 会话内容存档状态 --> <!-- 会话内容存档状态 -->
<div class="archive-status" v-if="agreeStatus!=='Agree' || !hasPermit"> <div class="archive-status" v-if="agreeStatus !== 'Agree' || !hasPermit">
<p v-if="agreeStatus!=='Agree'">当前微信用户未开启会话内容存档</p> <p v-if="agreeStatus !== 'Agree'">当前微信用户未开启会话内容存档</p>
<p v-if="!hasPermit">当前客服号未授权开启会话内容存档</p> <p v-if="!hasPermit">当前客服号未授权开启会话内容存档</p>
</div> </div>
<div class="item rowFlex"> <div class="item rowFlex">
<!-- 公共的信息 --> <!-- 公共的信息 -->
<el-image <el-image fit="fill" draggable="false" style="-webkit-user-drag: none" :src="chatUserDetails.avatar"
fit="fill" class="tableImage"></el-image>
draggable="false"
style="-webkit-user-drag: none"
:src="chatUserDetails.avatar"
class="tableImage"
></el-image>
<div class="columnFlex"> <div class="columnFlex">
<div <div class="rowFlex" style="margin-bottom: 3px">
class="rowFlex" <p class="text" style="font-weight: 600">
style="margin-bottom: 3px"
>
<p
class="text"
style="font-weight: 600"
>
{{ chatUserDetails.name }} {{ chatUserDetails.name }}
</p> </p>
<span v-if="chatUserDetails.add_way_text" style="color: #09b159; margin-left: 10px">@{{ chatUserDetails.add_way_text }}</span> <span v-if="chatUserDetails.add_way_text" style="color: #09b159; margin-left: 10px">@{{
chatUserDetails.add_way_text }}</span>
</div> </div>
<!-- 游戏模块特有 --> <!-- 游戏模块特有 -->
<div <div v-if="accountSelect && accountSelect !== ''" style="margin-top: 3px">
v-if="accountSelect && accountSelect !== ''"
style="margin-top: 3px"
>
<el-button-group> <el-button-group>
<el-button size="mini" @click="zyouUnBindConfirm">解绑</el-button> <el-button size="mini" @click="zyouUnBindConfirm">解绑</el-button>
<!-- <el-button size="mini" @click="autoResetPassword">修改密码</el-button> <!-- <el-button size="mini" @click="autoResetPassword">修改密码</el-button>
...@@ -85,11 +67,7 @@ ...@@ -85,11 +67,7 @@
<div class="item rowFlex columnCenter"> <div class="item rowFlex columnCenter">
<div class="rowFlex columnCenter"> <div class="rowFlex columnCenter">
<span class="label" style="min-width: 45px;">备注:</span> <span class="label" style="min-width: 45px;">备注:</span>
<p <p v-if="!showInputRemark" class="text" style="max-width: 170px;">
v-if="!showInputRemark"
class="text"
style="max-width: 170px;"
>
{{ {{
chatUserDetails.remark && chatUserDetails.remark != "" chatUserDetails.remark && chatUserDetails.remark != ""
? chatUserDetails.remark ? chatUserDetails.remark
...@@ -97,16 +75,9 @@ ...@@ -97,16 +75,9 @@
}} }}
</p> </p>
</div> </div>
<el-input <el-input v-if="showInputRemark" v-model="showInputRemarkValue" class="showInputRemarkInput" type="textarea"
v-if="showInputRemark" @change="handleInputRemark" @blur="showInputRemark = false"></el-input>
v-model="showInputRemarkValue" <i class="el-icon-edit icon" style="font-size: 14px" @click="editRemark"></i>
class="showInputRemarkInput"
type="textarea"
@change="handleInputRemark"
@blur="showInputRemark = false"
></el-input>
<i class="el-icon-edit icon" style="font-size: 14px"
@click="editRemark"></i>
</div> </div>
<div> <div>
...@@ -138,59 +109,35 @@ ...@@ -138,59 +109,35 @@
</div> </div>
</div> --> </div> -->
<!-- 游戏业务的账号信息 --> <!-- 游戏业务的账号信息 -->
<gameDetails <gameDetails v-if="gameUserInfo.username && !viewLoading" :chat-user-details="chatUserDetails"
v-if="gameUserInfo.username && !viewLoading" :game-user-info="gameUserInfo" @changeAppraisal="changeAppraisal" />
:chat-user-details="chatUserDetails"
:game-user-info="gameUserInfo"
@changeAppraisal="changeAppraisal"
/>
<!-- 游戏标签 --> <!-- 游戏标签 -->
<div <div class="item rowFlex columnCenter spaceBetween tagsLost">
class="item rowFlex columnCenter spaceBetween tagsLost"
>
<div class="rowFlex"> <div class="rowFlex">
<span class="label">关联标签:</span> <span class="label">关联标签:</span>
<div <div v-if="
v-if="
chatUserDetails.tag_group && chatUserDetails.tag_group &&
chatUserDetails.tag_group.length > 0 chatUserDetails.tag_group.length > 0
" ">
>
<!-- 第一个标签组的所有标签 --> <!-- 第一个标签组的所有标签 -->
<el-tag <el-tag v-for="(items, indexs) in chatUserDetails.tag_group[0].tag" :key="indexs">{{ items.name
v-for="(items, indexs) in chatUserDetails.tag_group[0].tag" }}</el-tag>
:key="indexs"
>{{ items.name }}</el-tag>
<!-- 如果有多个标签组,显示+n --> <!-- 如果有多个标签组,显示+n -->
<el-popover <el-popover v-if="chatUserDetails.tag_group.length > 1" placement="top" trigger="hover"
v-if="chatUserDetails.tag_group.length > 1" popper-class="tag-popover">
placement="top"
trigger="hover"
popper-class="tag-popover"
>
<div class="groups-popover-content" style="max-height: 600px;overflow-y: auto;"> <div class="groups-popover-content" style="max-height: 600px;overflow-y: auto;">
<div <div v-for="(group, groupIndex) in chatUserDetails.tag_group.slice(1)" :key="groupIndex"
v-for="(group, groupIndex) in chatUserDetails.tag_group.slice(1)" class="group-item">
:key="groupIndex" <el-tag v-for="(tagItem, tagIndex) in group.tag" :key="tagIndex" style="margin-right: 10px;">{{
class="group-item" tagItem.name }}</el-tag>
>
<el-tag
v-for="(tagItem, tagIndex) in group.tag"
:key="tagIndex"
style="margin-right: 10px;"
>{{ tagItem.name }}</el-tag>
</div> </div>
</div> </div>
<span <span slot="reference" class="tag-more">+{{ chatUserDetails.tag_group.length - 1 }}</span>
slot="reference"
class="tag-more"
>+{{ chatUserDetails.tag_group.length - 1 }}</span>
</el-popover> </el-popover>
</div> </div>
</div> </div>
<i class="el-icon-edit icon" style="font-size: 14px;margin-right: 10px;" <i class="el-icon-edit icon" style="font-size: 14px;margin-right: 10px;" @click="editTags"></i>
@click="editTags"></i>
</div> </div>
<!-- 共享信息 --> <!-- 共享信息 -->
<shareInfo :chat-user-details="chatUserDetails" /> <shareInfo :chat-user-details="chatUserDetails" />
...@@ -198,35 +145,26 @@ ...@@ -198,35 +145,26 @@
</div> </div>
</div> </div>
<!-- 修改手机号 --> <!-- 修改手机号 -->
<changePhone <changePhone :show.sync="changePhone" :phone.sync="gameUserInfo.mobile" title="修改手机号" width="350px" />
:show.sync="changePhone"
:phone.sync="gameUserInfo.mobile"
title="修改手机号"
width="350px"
/>
<!-- 修改标签 --> <!-- 修改标签 -->
<selectTag <selectTag v-if="showTag" :show.sync="showTag" :checkbox="true" :check-list="chatUserDetails.tag_group || []"
v-if="showTag" @submit="selectTags" />
:show.sync="showTag"
:checkbox="true"
:check-list="chatUserDetails.tag_group || []"
@submit="selectTags"
/>
</div> </div>
</template> </template>
<script> <script>
import { mapState, mapMutations, mapActions } from 'vuex' import { mapState, mapMutations, mapActions } from 'vuex'
import gameDetails from './gameInfo/gameUserInfo.vue' import gameDetails from './gameInfo/gameUserInfo.vue'
import shareInfo from './shareInfo.vue' import shareInfo from './shareInfo.vue'
import changePhone from './changePhone.vue' import changePhone from './changePhone.vue'
import watchMember from '@/mixins/watchMember' import watchMember from '@/mixins/watchMember'
import { autoResetPassword,bindUserSelfAdd } from '@/api/game' import { autoResetPassword, bindUserSelfAdd } from '@/api/game'
import { memberBindCser,editUser,zyouUnBind } from '@/api/works' import { memberBindCser, editUser, zyouUnBind } from '@/api/works'
import selectTag from '@/components/selectTag.vue' import selectTag from '@/components/selectTag.vue'
import { getClientStatus, remarkSessionIntelTag, finishRest, client_session_rest, checkSingleAgree, checkUserPermit, sendComment, logout } from '@/api/user.js' import { getClientStatus, remarkSessionIntelTag, finishRest, client_session_rest, checkSingleAgree, checkUserPermit, sendComment, logout } from '@/api/user.js'
import { sendChatMessage } from '@/utils/index.js' import { sendChatMessage } from '@/utils/index.js'
import { getToken,removeToken } from '@/utils/auth' import { getToken, removeToken } from '@/utils/auth'
export default { import Cookies from 'js-cookie'
export default {
name: 'info', name: 'info',
components: { components: {
gameDetails, gameDetails,
...@@ -246,13 +184,13 @@ import { getToken,removeToken } from '@/utils/auth' ...@@ -246,13 +184,13 @@ import { getToken,removeToken } from '@/utils/auth'
// 备注相关 // 备注相关
showInputRemark: false, showInputRemark: false,
showInputRemarkValue: '', showInputRemarkValue: '',
change_appraisal:false, change_appraisal: false,
// 自定义列相关 // 自定义列相关
showInput: false, showInput: false,
showInputValue: '', showInputValue: '',
inputIndex: -1, inputIndex: -1,
changePhone:false, changePhone: false,
showTag:false, showTag: false,
// 新增状态数据 // 新增状态数据
agreeStatus: '', // 用户是否同意聊天内容存档:Agreen同意 Disagree不同意 agreeStatus: '', // 用户是否同意聊天内容存档:Agreen同意 Disagree不同意
hasPermit: false, // 客服号是否开启会话内容存档权限 hasPermit: false, // 客服号是否开启会话内容存档权限
...@@ -265,7 +203,7 @@ import { getToken,removeToken } from '@/utils/auth' ...@@ -265,7 +203,7 @@ import { getToken,removeToken } from '@/utils/auth'
'bindGameUserList', 'bindGameUserList',
'viewLoading' 'viewLoading'
]), ]),
...mapState('user', ['cser_info', 'cser_id', 'cser_name', 'corp_id', 'external_userid', 'userid', 'client_online_status','token']), ...mapState('user', ['cser_info', 'cser_id', 'cser_name', 'corp_id', 'external_userid', 'userid', 'client_online_status', 'token']),
// 客服状态文本 // 客服状态文本
clientStatusText() { clientStatusText() {
const statusMap = { const statusMap = {
...@@ -285,7 +223,7 @@ import { getToken,removeToken } from '@/utils/auth' ...@@ -285,7 +223,7 @@ import { getToken,removeToken } from '@/utils/auth'
// 初始化企业微信SDK // 初始化企业微信SDK
this.initializeWecom() this.initializeWecom()
// 获取客服状态和相关信息 // 获取客服状态和相关信息
if(this.cser_id && this.token){ if (this.cser_id && this.token) {
this.getInitialData() this.getInitialData()
} }
}, },
...@@ -303,8 +241,8 @@ import { getToken,removeToken } from '@/utils/auth' ...@@ -303,8 +241,8 @@ import { getToken,removeToken } from '@/utils/auth'
console.error('❌ 企业微信 SDK 初始化失败:', error) console.error('❌ 企业微信 SDK 初始化失败:', error)
} }
}, },
logout(){ logout() {
if(this.client_online_status === 'rest'){ if (this.client_online_status === 'rest') {
this.$message({ this.$message({
type: 'error', type: 'error',
message: '当前客服号处于休息状态,不能下线' message: '当前客服号处于休息状态,不能下线'
...@@ -324,24 +262,28 @@ import { getToken,removeToken } from '@/utils/auth' ...@@ -324,24 +262,28 @@ import { getToken,removeToken } from '@/utils/auth'
}) })
}) })
}, },
async userLogout(){ async userLogout() {
const data = { const data = {
userid: this.userid, userid: this.userid,
} }
const res = await logout(data) const res = await logout(data)
if(res.status_code === 1){ if (res.status_code === 1) {
this.$message({ this.$message({
type: 'success', type: 'success',
message: '下线成功' message: '下线成功'
}) })
removeToken() removeToken()
window.location.href = window.location.origin +'/company_app/index.html?corp_id='+this.corp_id Cookies.remove('external_userid')
}else{ Cookies.remove('userid')
window.location.href = window.location.origin + '/company_app/index.html?corp_id=' + this.corp_id
} else {
this.$message({ this.$message({
type: 'error', type: 'error',
message: '下线失败' message: '下线失败'
}) })
} }
}, },
// 获取初始数据 // 获取初始数据
...@@ -350,9 +292,9 @@ import { getToken,removeToken } from '@/utils/auth' ...@@ -350,9 +292,9 @@ import { getToken,removeToken } from '@/utils/auth'
// 1. 获取客服休息状态 // 1. 获取客服休息状态
const statusRes = await getClientStatus() const statusRes = await getClientStatus()
if (statusRes.status_code === 1) { if (statusRes.status_code === 1) {
if(statusRes.data.client_online_status === 'offline'){ if (statusRes.data.client_online_status === 'offline') {
removeToken() removeToken()
window.location.href = window.location.origin +'/company_app/index.html?corp_id='+this.corp_id window.location.href = window.location.origin + '/company_app/index.html?corp_id=' + this.corp_id
} }
this.$store.commit('user/set_client_online_status', statusRes.data.client_online_status) this.$store.commit('user/set_client_online_status', statusRes.data.client_online_status)
} }
...@@ -514,7 +456,7 @@ import { getToken,removeToken } from '@/utils/auth' ...@@ -514,7 +456,7 @@ import { getToken,removeToken } from '@/utils/auth'
if (res.status_code == 1) { if (res.status_code == 1) {
this.$message.success(res.msg) this.$message.success(res.msg)
const index = this.bindGameUserList.findIndex(item => item.member_id == this.accountSelect) const index = this.bindGameUserList.findIndex(item => item.member_id == this.accountSelect)
this.bindGameUserList.splice(index,1) this.bindGameUserList.splice(index, 1)
this.set_accountSelect(this.bindGameUserList[0].member_id) this.set_accountSelect(this.bindGameUserList[0].member_id)
} }
}) })
...@@ -639,40 +581,46 @@ import { getToken,removeToken } from '@/utils/auth' ...@@ -639,40 +581,46 @@ import { getToken,removeToken } from '@/utils/auth'
this.editUserInfo(params) this.editUserInfo(params)
}, },
} }
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.info-tab-content{ .info-tab-content {
width: 100%; width: 100%;
height: 100%; height: 100%;
background: #fff; background: #fff;
} }
.userDetailsPanel { .userDetailsPanel {
width: 100%; width: 100%;
height: 100%; height: 100%;
background-color: #fff; background-color: #fff;
border-radius: 4px; border-radius: 4px;
overflow: hidden; overflow: hidden;
.warnText{
width:100%; .warnText {
height:auto; width: 100%;
height: auto;
font-weight: 600; font-weight: 600;
font-size: 18px; font-size: 18px;
p{
p {
color: #F56C6C; color: #F56C6C;
line-height: 25px; line-height: 25px;
} }
} }
.cser_name{
.cser_name {
font-size: 14px; font-size: 14px;
margin-bottom: 10px; margin-bottom: 10px;
} }
.cser_status { .cser_status {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
margin-bottom: 10px; margin-bottom: 10px;
font-size: 14px; font-size: 14px;
.status-actions { .status-actions {
display: flex; display: flex;
gap: 10px; gap: 10px;
...@@ -685,28 +633,33 @@ import { getToken,removeToken } from '@/utils/auth' ...@@ -685,28 +633,33 @@ import { getToken,removeToken } from '@/utils/auth'
background-color: #f8f8f8; background-color: #f8f8f8;
border-radius: 4px; border-radius: 4px;
font-size: 14px; font-size: 14px;
p { p {
margin: 5px 0; margin: 5px 0;
color: #F56C6C; color: #F56C6C;
font-weight: 600; font-weight: 600;
} }
} }
.detailsTitle { .detailsTitle {
height: 50px; height: 50px;
padding: 0 20px; padding: 0 20px;
border-bottom: 1px solid #eee; border-bottom: 1px solid #eee;
p { p {
font-size: 16px; font-size: 16px;
font-weight: 600; font-weight: 600;
} }
} }
.warnText{
width:100%; .warnText {
height:auto; width: 100%;
height: auto;
font-weight: 600; font-weight: 600;
font-size: 18px; font-size: 18px;
margin-bottom: 10px; margin-bottom: 10px;
p{
p {
color: #F56C6C; color: #F56C6C;
line-height: 25px; line-height: 25px;
} }
...@@ -717,6 +670,7 @@ import { getToken,removeToken } from '@/utils/auth' ...@@ -717,6 +670,7 @@ import { getToken,removeToken } from '@/utils/auth'
height: 100%; height: 100%;
overflow-y: auto; overflow-y: auto;
overflow-x: hidden; overflow-x: hidden;
.item { .item {
margin-bottom: 15px; margin-bottom: 15px;
position: relative; position: relative;
...@@ -740,10 +694,11 @@ import { getToken,removeToken } from '@/utils/auth' ...@@ -740,10 +694,11 @@ import { getToken,removeToken } from '@/utils/auth'
} }
.noBind { .noBind {
color: #3491FA ; color: #3491FA;
cursor: pointer; cursor: pointer;
margin-right: 10px; margin-right: 10px;
} }
.icon { .icon {
cursor: pointer; cursor: pointer;
margin-left: 10px; margin-left: 10px;
...@@ -753,8 +708,10 @@ import { getToken,removeToken } from '@/utils/auth' ...@@ -753,8 +708,10 @@ import { getToken,removeToken } from '@/utils/auth'
.tags { .tags {
max-width: 200px; max-width: 200px;
.tagsItem { .tagsItem {
margin-bottom: 5px; margin-bottom: 5px;
.tag { .tag {
background-color: #f5f5f5; background-color: #f5f5f5;
color: #666; color: #666;
...@@ -767,6 +724,7 @@ import { getToken,removeToken } from '@/utils/auth' ...@@ -767,6 +724,7 @@ import { getToken,removeToken } from '@/utils/auth'
} }
} }
} }
.item:hover .icon { .item:hover .icon {
display: block; display: block;
} }
...@@ -843,6 +801,7 @@ import { getToken,removeToken } from '@/utils/auth' ...@@ -843,6 +801,7 @@ import { getToken,removeToken } from '@/utils/auth'
margin-bottom: 8px; margin-bottom: 8px;
padding-bottom: 8px; padding-bottom: 8px;
border-bottom: 1px dashed #eee; border-bottom: 1px dashed #eee;
&:last-child { &:last-child {
margin-bottom: 0; margin-bottom: 0;
padding-bottom: 0; padding-bottom: 0;
......
...@@ -74,5 +74,48 @@ module.exports = defineConfig({ ...@@ -74,5 +74,48 @@ module.exports = defineConfig({
// } // }
} }
} }
},
chainWebpack(config) {
// set svg-sprite-loader
config.module.rule('svg').exclude.add(resolve('src/assets/icon/svg')).end()
config.module
.rule('icons')
.test(/\.svg$/)
.include.add(resolve('src/assets/icon/svg'))
.end()
.use('svg-sprite-loader')
.loader('svg-sprite-loader')
.options({
symbolId: 'icon-[name]'
})
.end()
config.when(process.env.NODE_ENV !== 'development', (config) => {
config.optimization.splitChunks({
chunks: 'all',
cacheGroups: {
libs: {
name: 'chunk-libs',
test: /[\\/]node_modules[\\/]/,
priority: 10,
chunks: 'initial' // only package third parties that are initially dependent
},
elementUI: {
name: 'chunk-elementUI', // split elementUI into a single package
priority: 20, // the weight needs to be larger than libs and app or it will be packaged into libs or app
test: /[\\/]node_modules[\\/]_?element-ui(.*)/ // in order to adapt to cnpm
},
commons: {
name: 'chunk-commons',
test: resolve('src/components'), // can customize your rules
minChunks: 3, // minimum common number
priority: 5,
reuseExistingChunk: true
}
}
})
// https:// webpack.js.org/configuration/optimization/#optimizationruntimechunk
config.optimization.runtimeChunk('single')
})
} }
}) })
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论