vue2-client 1.6.43-OA → 1.6.44-OA
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +81 -81
- package/src/assets/img/querySlotDemo.svg +15 -15
- package/src/base-client/components/common/CitySelect/index.js +3 -3
- package/src/base-client/components/common/CitySelect/index.md +109 -109
- package/src/base-client/components/common/PersonSetting/index.js +3 -3
- package/src/base-client/components/common/Upload/index.js +3 -3
- package/src/base-client/components/common/XTable/XTable.vue +5 -4
- package/src/pages/system/ticket/submitTicketSuccess.vue +257 -257
- package/src/services/api/common.js +12 -1
- package/src/services/api/restTools.js +24 -24
package/package.json
CHANGED
|
@@ -1,81 +1,81 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "vue2-client",
|
|
3
|
-
"version": "1.6.
|
|
4
|
-
"private": false,
|
|
5
|
-
"scripts": {
|
|
6
|
-
"serve": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve",
|
|
7
|
-
"build": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build",
|
|
8
|
-
"test:unit": "vue-cli-service test:unit",
|
|
9
|
-
"lint": "vue-cli-service lint",
|
|
10
|
-
"build:preview": "vue-cli-service build --mode preview",
|
|
11
|
-
"lint:nofix": "vue-cli-service lint --no-fix"
|
|
12
|
-
},
|
|
13
|
-
"dependencies": {
|
|
14
|
-
"@amap/amap-jsapi-loader": "^1.0.1",
|
|
15
|
-
"@antv/data-set": "^0.11.8",
|
|
16
|
-
"@antv/g2plot": "^2.4.29",
|
|
17
|
-
"@vue/babel-preset-jsx": "^1.4.0",
|
|
18
|
-
"animate.css": "^4.1.1",
|
|
19
|
-
"ant-design-vue": "^1.7.8",
|
|
20
|
-
"axios": "^0.27.2",
|
|
21
|
-
"clipboard": "^2.0.11",
|
|
22
|
-
"core-js": "^3.30.1",
|
|
23
|
-
"crypto-js": "^4.1.1",
|
|
24
|
-
"date-fns": "^2.29.3",
|
|
25
|
-
"default-passive-events": "^2.0.0",
|
|
26
|
-
"enquire.js": "^2.1.6",
|
|
27
|
-
"file-saver": "^2.0.5",
|
|
28
|
-
"highlight.js": "^11.7.0",
|
|
29
|
-
"js-base64": "^3.7.5",
|
|
30
|
-
"js-cookie": "^2.2.1",
|
|
31
|
-
"jsencrypt": "^3.3.2",
|
|
32
|
-
"lodash.get": "^4.4.2",
|
|
33
|
-
"mockjs": "^1.1.0",
|
|
34
|
-
"nprogress": "^0.2.0",
|
|
35
|
-
"videojs-contrib-hls": "^5.15.0",
|
|
36
|
-
"viser-vue": "^2.4.8",
|
|
37
|
-
"vue": "2.6.14",
|
|
38
|
-
"vue-i18n": "^8.28.2",
|
|
39
|
-
"vue-json-viewer": "^2.2.22",
|
|
40
|
-
"vue-router": "^3.6.5",
|
|
41
|
-
"vue-video-player": "^5.0.2",
|
|
42
|
-
"vuedraggable": "^2.24.3",
|
|
43
|
-
"vuex": "^3.6.2",
|
|
44
|
-
"xlsx": "0.18.5"
|
|
45
|
-
},
|
|
46
|
-
"devDependencies": {
|
|
47
|
-
"@ant-design/colors": "^7.0.0",
|
|
48
|
-
"@babel/core": "^7.21.4",
|
|
49
|
-
"@vue/cli-plugin-babel": "^4.5.19",
|
|
50
|
-
"@vue/cli-plugin-eslint": "^4.5.19",
|
|
51
|
-
"@vue/cli-service": "^4.5.19",
|
|
52
|
-
"@vue/eslint-config-standard": "^4.0.0",
|
|
53
|
-
"@vuepress/plugin-back-to-top": "^1.9.9",
|
|
54
|
-
"babel-eslint": "^10.1.0",
|
|
55
|
-
"babel-plugin-transform-remove-console": "^6.9.4",
|
|
56
|
-
"babel-polyfill": "^6.26.0",
|
|
57
|
-
"compression-webpack-plugin": "^4.0.1",
|
|
58
|
-
"deepmerge": "^4.3.1",
|
|
59
|
-
"eslint": "^6.8.0",
|
|
60
|
-
"eslint-plugin-import": "^2.26.0",
|
|
61
|
-
"eslint-plugin-node": "^11.1.0",
|
|
62
|
-
"eslint-plugin-promise": "^4.3.1",
|
|
63
|
-
"eslint-plugin-standard": "^4.1.0",
|
|
64
|
-
"eslint-plugin-vue": "^6.2.2",
|
|
65
|
-
"fast-deep-equal": "^3.1.3",
|
|
66
|
-
"less-loader": "^6.2.0",
|
|
67
|
-
"script-loader": "^0.7.2",
|
|
68
|
-
"style-resources-loader": "^1.5.0",
|
|
69
|
-
"vue-cli-plugin-style-resources-loader": "^0.1.5",
|
|
70
|
-
"vue-template-compiler": "2.6.14",
|
|
71
|
-
"vuepress": "^1.9.9",
|
|
72
|
-
"webpack": "^4.46.0",
|
|
73
|
-
"webpack-theme-color-replacer": "^1.4.7",
|
|
74
|
-
"whatwg-fetch": "^3.6.2"
|
|
75
|
-
},
|
|
76
|
-
"browserslist": [
|
|
77
|
-
"> 1%",
|
|
78
|
-
"last 2 versions",
|
|
79
|
-
"not ie <= 10"
|
|
80
|
-
]
|
|
81
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "vue2-client",
|
|
3
|
+
"version": "1.6.44-OA",
|
|
4
|
+
"private": false,
|
|
5
|
+
"scripts": {
|
|
6
|
+
"serve": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve",
|
|
7
|
+
"build": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build",
|
|
8
|
+
"test:unit": "vue-cli-service test:unit",
|
|
9
|
+
"lint": "vue-cli-service lint",
|
|
10
|
+
"build:preview": "vue-cli-service build --mode preview",
|
|
11
|
+
"lint:nofix": "vue-cli-service lint --no-fix"
|
|
12
|
+
},
|
|
13
|
+
"dependencies": {
|
|
14
|
+
"@amap/amap-jsapi-loader": "^1.0.1",
|
|
15
|
+
"@antv/data-set": "^0.11.8",
|
|
16
|
+
"@antv/g2plot": "^2.4.29",
|
|
17
|
+
"@vue/babel-preset-jsx": "^1.4.0",
|
|
18
|
+
"animate.css": "^4.1.1",
|
|
19
|
+
"ant-design-vue": "^1.7.8",
|
|
20
|
+
"axios": "^0.27.2",
|
|
21
|
+
"clipboard": "^2.0.11",
|
|
22
|
+
"core-js": "^3.30.1",
|
|
23
|
+
"crypto-js": "^4.1.1",
|
|
24
|
+
"date-fns": "^2.29.3",
|
|
25
|
+
"default-passive-events": "^2.0.0",
|
|
26
|
+
"enquire.js": "^2.1.6",
|
|
27
|
+
"file-saver": "^2.0.5",
|
|
28
|
+
"highlight.js": "^11.7.0",
|
|
29
|
+
"js-base64": "^3.7.5",
|
|
30
|
+
"js-cookie": "^2.2.1",
|
|
31
|
+
"jsencrypt": "^3.3.2",
|
|
32
|
+
"lodash.get": "^4.4.2",
|
|
33
|
+
"mockjs": "^1.1.0",
|
|
34
|
+
"nprogress": "^0.2.0",
|
|
35
|
+
"videojs-contrib-hls": "^5.15.0",
|
|
36
|
+
"viser-vue": "^2.4.8",
|
|
37
|
+
"vue": "2.6.14",
|
|
38
|
+
"vue-i18n": "^8.28.2",
|
|
39
|
+
"vue-json-viewer": "^2.2.22",
|
|
40
|
+
"vue-router": "^3.6.5",
|
|
41
|
+
"vue-video-player": "^5.0.2",
|
|
42
|
+
"vuedraggable": "^2.24.3",
|
|
43
|
+
"vuex": "^3.6.2",
|
|
44
|
+
"xlsx": "0.18.5"
|
|
45
|
+
},
|
|
46
|
+
"devDependencies": {
|
|
47
|
+
"@ant-design/colors": "^7.0.0",
|
|
48
|
+
"@babel/core": "^7.21.4",
|
|
49
|
+
"@vue/cli-plugin-babel": "^4.5.19",
|
|
50
|
+
"@vue/cli-plugin-eslint": "^4.5.19",
|
|
51
|
+
"@vue/cli-service": "^4.5.19",
|
|
52
|
+
"@vue/eslint-config-standard": "^4.0.0",
|
|
53
|
+
"@vuepress/plugin-back-to-top": "^1.9.9",
|
|
54
|
+
"babel-eslint": "^10.1.0",
|
|
55
|
+
"babel-plugin-transform-remove-console": "^6.9.4",
|
|
56
|
+
"babel-polyfill": "^6.26.0",
|
|
57
|
+
"compression-webpack-plugin": "^4.0.1",
|
|
58
|
+
"deepmerge": "^4.3.1",
|
|
59
|
+
"eslint": "^6.8.0",
|
|
60
|
+
"eslint-plugin-import": "^2.26.0",
|
|
61
|
+
"eslint-plugin-node": "^11.1.0",
|
|
62
|
+
"eslint-plugin-promise": "^4.3.1",
|
|
63
|
+
"eslint-plugin-standard": "^4.1.0",
|
|
64
|
+
"eslint-plugin-vue": "^6.2.2",
|
|
65
|
+
"fast-deep-equal": "^3.1.3",
|
|
66
|
+
"less-loader": "^6.2.0",
|
|
67
|
+
"script-loader": "^0.7.2",
|
|
68
|
+
"style-resources-loader": "^1.5.0",
|
|
69
|
+
"vue-cli-plugin-style-resources-loader": "^0.1.5",
|
|
70
|
+
"vue-template-compiler": "2.6.14",
|
|
71
|
+
"vuepress": "^1.9.9",
|
|
72
|
+
"webpack": "^4.46.0",
|
|
73
|
+
"webpack-theme-color-replacer": "^1.4.7",
|
|
74
|
+
"whatwg-fetch": "^3.6.2"
|
|
75
|
+
},
|
|
76
|
+
"browserslist": [
|
|
77
|
+
"> 1%",
|
|
78
|
+
"last 2 versions",
|
|
79
|
+
"not ie <= 10"
|
|
80
|
+
]
|
|
81
|
+
}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 838.4997558593744 793.4999847412107" width="838.4997558593744" height="793.4999847412107">
|
|
2
|
-
<!-- svg-source:excalidraw -->
|
|
3
|
-
<!-- payload-type:application/vnd.excalidraw+json --><!-- payload-version:2 --><!-- payload-start -->eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nO1cXElvI8dcdTAwMTW++1dcYvJ1RNe++CaR2qXZNPKMJjZcdTAwMDYtsrmMmmyabC2UMZfEcVx1MDAxMFx1MDAwM0FcdTAwMDLEycWBY1x1MDAwNDGQS1x1MDAxMlx1MDAxZoJcdTAwMDCGXHUwMDAz5M9kZpx/kVdNit3sjc1N0jhD2Fx1MDAwM6m7Wf2q6r3vfd+rKn3yztLSstdr28vvLy3bXHUwMDE3ZctpVDrW+fJcdTAwMWRz/czudFx1MDAxYm5cdTAwMGJuXHUwMDEx//eue9op+0/WPa/dff+994JvXHUwMDE0ym6z/y3bsZt2y+vCcz+B35eWPvH/XHK9p2OXPatVc2z/XHUwMDBi/q3gVYJHL951W/5bMeeaS6a0XHUwMDFhPtHoluB1nl2B21XL6drBXHUwMDFkc2nZ7ZRFy3F3Lrpb9Ky019vrdc+KwVurXHLHOfB6Tr9PVrl+2lx02dT1Ou6J/bhR8erm7ZHrw+91XVx1MDAxOIHgW1x1MDAxZPe0Vm/Z3e7VsPlX3bZVbng901x1MDAwZULDq/1BeH8puHJcdTAwMDG/rVxiQlx1MDAwYlx1MDAxY1OkXHUwMDE5XHUwMDE3QsP/w9umgVx1MDAxNcwoLiipkSBSMcWojJhWdFx1MDAxZLdjTHuXaY64XGaMO7bKJzWwsFVcdTAwMTk+43WsVrdtdWDKgufOXHUwMDA3nSZCXHUwMDE1XHUwMDEwfCjiWHIp9fCJut2o1T14RMqCNlx1MDAxZkIlXHUwMDEyiLOQMbY/L1x1MDAxOK5rXGYtXHUwMDA13TAmtLcrvot8XHUwMDE0XHUwMDFk17rVaVx1MDAwZsZv2Tc1ZL75dT3qX2FcdTAwMWZcdTAwMGLN/bn1+IPm1lx1MDAxMVuvs8era2s7SD5prlxy21x1MDAxYXFIq9Nxz5eHd15cZn5cbkw7bVesvpdhIVx1MDAxOEKEKJiZYHqdRutcdTAwMDRutk5cdTAwMWQnuOaWT1x1MDAwMsf0r764M1x1MDAxYVx1MDAxMH1D11x1MDAwZtdOXGIt0+36prt9uVvcquqdnaDTV0Z69kVohnxH4VxuXHUwMDE1XHUwMDEwOFxupZxiXHSTXHUwMDEwdVx1MDAxNIxcblTC4FNFYnOLVcJssiznnJd33XTYTet+XHUwMDAzh1x1MDAxNkwjToVcZmAoQC9Oolx1MDAxN4foJVx1MDAxOFOKYJ5cdTAwMDe9JnL0M7zh6JWV59aTYvuhKjYvyO52dV6Ojlx1MDAxNVFcYk/g6IHfXHUwMDFhf4V3/udfX7/8+Tcvf/3TV7/7tmR5VshcdTAwMGbclnfQuDSWXHUwMDExNXJ1w2o2nN7I9JvmVp1GzYzysmNXvZHk4TUgXHUwMDExXHJve2477JVdXHUwMDFizDZvoYFcdTAwMGaU4S1cdTAwMTZcXO1sV6L9cTuNWqNlOY/SOpBcdTAwMTHL2XNcdTAwMTGZh9FgZlpcdTAwMTUk05pcIkGxgv9cIsFMOfdRXHUwMDFmYXhKKMliXHUwMDExLVxuSFx1MDAwMlx1MDAxMFx1MDAwMFx1MDAwZSBOtJZcdTAwMDFcdTAwMTRcdTAwMGbjXHUwMDFiU1x1MDAxZq5cdTAwMTVAOTGNXHUwMDA0yfZtuKeEO1x1MDAwNt5BXHSFzifEO1x0TUM04M1EUMZYkPfyXHUwMDA3/IhDxrNcdTAwMGZhSPFpgrLtNqKIXHUwMDEy/LRcdTAwMTRMvv/L8OeP7iQ+nepv5lx1MDAxM/O0oLVcdTAwMTjqOFbXK7rNZsODbt43Jka70/WsjrfWaFVcdTAwMWGtXHUwMDFh3Fx1MDAwYlDwim5u50ilPriUT033UVx1MDAwMXPGXHUwMDE5xkxcdTAwMTLClZKChp6qWW0z2KzAIdpcYkFcdTAwMTJRTK468GJolN2qjDfJPVJbW0ertWJcdTAwMTXTbWWX2YFzsJJk0lxu5HLFIYtLXHUwMDAx72SEXHUwMDAx1Y3ZxFxuzFxmquLAhZFcIojGjPJHatXgS922YthcdTAwMDYmh++FXHUwMDEzQlx1MDAxNNBysXVcdTAwMTiXVP+njHKFRYh6jKXrmWN140CSRtcpXHUwMDA3uk6Mq3PO6NCRXHUwMDA2uE0w9UlcdTAwMTjlXHUwMDA0glfjxbF1ilx1MDAxM1x1MDAxMD9EU4aEXFxLwlx1MDAwNaNcdTAwMDF0XVx1MDAwYiGfgafcSW43kVx1MDAxYYfeeH6wv7l+flxctvd3712SfVBKxUZjfLP9L+9cdTAwMWX2Wk7DO7u7Vm6utVx1MDAwZlx1MDAxML04s+2ZzO23u9LDnY9rvdLTPbF376B7Ut+gK9vzomtcdTAwMTQzxIJ5nUmXJI9eLl2idVZEYO3r14SIXHUwMDE46k7G455M35KVsWRFMqqERiyGyj4gp2K11MzX+IFcdTAwMWQ3T1Wu9MOrr7979au/XHUwMDE54v3qj9/88Pc/XHUwMDAxXHUwMDBih9/noVwiytBcdTAwMDO7k6Ejmo1KJZz3QlKCXHUwMDA0QTYqJcYlsai6SOneXGYpmeu0acZcdTAwMTQj4Fx1MDAwZWHtMC4llyi/XFzZ3qDlj9c3elx1MDAxNNcrlydbb0BKJqxcdTAwMDDMTVx1MDAwM79cdTAwMTOYKVx1MDAxOSmMaMVGpJSIWLbglKxCsNVcdTAwMGZbglx1MDAxMKg+KkPJ+lxyTcn9dovVXHUwMDA3ZYeo3sbHrZJuPjrbWX3OXHUwMDFmJrfrh/nMmT75hTmt3dx/pq2jnSo6rFx1MDAxNT84PiQr5NHhxlx1MDAxY0ZhXHUwMDA2XHUwMDA2MT7Tm1RcdTAwMWaq/E6Z6ZOTeEjfMlx1MDAxYb16XHUwMDA1JkpSrDBGeeRtXHUwMDFlr7itWMKFzsRcdTAwMTKpr1x0S0CHJtD7XHUwMDE4lmCqqVlcdTAwMWOgXHUwMDBiwJIsfyRcdTAwMTJcdTAwMGI9gT9On8CNpa+///T197/op8zX3//21Vd/WPqwXHUwMDA1UWT1uu95rmc5r//6y8TEXHUwMDFkyo6zkYFI2lx1MDAxZpMoo2k/wf6o9Vx1MDAxOdQ8XHUwMDFiWcaUXHUwMDE5SVx1MDAwMbhcdTAwMWVRQPlcdTAwMTSASHRxXHRT6pNzYG1cdTAwMDK0K1IxP0RcdTAwMDVNOPB6JKBcdTAwMTFcdTAwMDGUgsXdXHUwMDEyM+IvXHUwMDFjMS6loEKSjCh7S91cdTAwMDeyXHUwMDFjyDtVidSdolRcdTAwMThcdTAwMTZcYuRcdTAwMTRleYosXHUwMDEzMnfwXHI1iZRcdTAwMWNenmuRMd3bzCfmZ0FzsVx1MDAxNDq3KmPuklx1MDAxZSogLYhZs+ZYQ75mXGaHnlx1MDAxYVRcdTAwMTlNkVx1MDAxMVx1MDAxMSEhJFx1MDAxNVx1MDAwNJ1mgycmrDNm48/SSJ1cdTAwMTFzXHIvVExcdIGkmemYVdJcdTAwMWZVgVx1MDAxMeWYXHUwMDBiRK6hzlx1MDAxOFx1MDAwMavQmlx1MDAxYVx1MDAxNWnOTzBVREoywZaAbLJ34yCSQkKYwlx1MDAwNeB7hFxu0G9cdTAwMDSISISEIOSDtim2SFx1MDAxZS75zZuDXHUwMDE0XGJgXHUwMDE05YhcdTAwMDHoUJCSwatC2D+yaUCFSsRcdTAwMDOo01xcwW0qXHUwMDE3UIDMZMxMTbRmPyku5Fx1MDAwZUGIQMQkUlxmKJPAXHUwMDFhKVx1MDAxYY9A6q+eMMlMXHUwMDEy1lx1MDAxMIJT4sJcdPe6vWZ9vS0un9ytr+Gn9UrJSsFcdTAwMDVcdTAwMDRcdTAwMDPFYXalmTdcYntcdTAwMTazqr8mclx1MDAwNbdCi5hROVF2QuRYTG5J92bziftxPLlkXCJaZpmGsdj+gWGZRlx1MDAwMjwzzHF+VMue5duKaoKIYP9cbkBChItKqszKXHSSXG4xKkJl5Fx1MDAxYqrScMWZ1ji0oPVGXHUwMDE3aWxxUGpu7Vx1MDAxZTuHat/eqD9rblx1MDAxNPdT2s1XpFlos/Mv0oyrKSV3JGg2RjBnzziZcJJWo6FcIrYzYYgk8HpIXHUwMDFkSuQv0mRP321FXHUwMDEyyFqZSIL7e2dcdTAwMTaOJCCa4khcdTAwMTJauFx1MDAxYWo9JojJtlx1MDAwYoCShTCgqWo0P/z7i5dfftWvbvz3y89cdTAwMWXa3VPHXHUwMDBij23SaspcXIsyY9JitCiTbHBiUObZY5pZh6Gc+Zt8YWKYplLJUY/FVLOCRppTysBrgX/EfY3LcZtzOSow84TCXHUwMDE4UEKHZNL4MkxZXHUwMDEzi1iTh8JNI8TMZVx1MDAxOFx1MDAxOC1cdTAwMGXcKyY6/ffI6NUh1DJcIkG8i0WsoUpwkKnCdr5sOc3fzCfmaXGuPKlEyFGIydzeP6ptXHUwMDE4VWYouWKcXG7OeeipgbRcdTAwMTlcXJhQXz1Xh2t7T93mZqtTsndrx/d541x1MDAxZUuru0hcdTAwMDVyXHUwMDBlQUpGoK4gMceM4P5m+oHswzDQMaOud39cdTAwMTdm6YvJMJSIcD7B/q7ssbpx5EjhXHUwMDE2XHUwMDFh+0Btln5cdTAwMTBXWsY25lxu5Vx1MDAxN19cYkhiJnQoUudcdTAwMDWpXHUwMDEzXHUwMDFjx4irXHUwMDE2zDXVlIg35/jFlHz97HGR1su1Z5qvlzqiXdVcdTAwMGZ7zr1cdTAwMWbdrqzkXsYoR8KuLIVHKLKKbstcdTAwMDJinOLHwbas7Fx1MDAxNci3pFwi7chcYqaKM554ZESn1oGoXHUwMDE0XFwjrFx1MDAxN8AohFbTLdZcdTAwMGW5/bc/e/3FX1x1MDAxZZzand6xXXU79ss/f/ph6/VvPnv53T/7NHpeZz1m2aVcdTAwMTVa7I0ogzGpKKZcZlx1MDAxMrpcdTAwMWLrbEbUZsNLplDQfFQnxMKW0L62RVxmOGjSSS+qxMhyTjyGgWmEiVx1MDAwN9LsbUyPi2lcdTAwMTgmjFx1MDAxOGckacE2voo7XFyykkhpmIU8W/AmlVx0oFx1MDAxOdU0QT1XmbCS5m7mXHUwMDEzd7Tr0Fx0uTk6yFx1MDAwNKIo00CxwESiSFxcJjC/b5iDkpBKaaank1xyk1x1MDAxY1x1MDAwYlx1MDAwMVx1MDAxZkNcblx1MDAxM1AwWIDKjK8h90+FcMTAtSjnTC5ONfThbK0uXHUwMDFm7FRcdTAwMWVox63RZtd6gjr2ZjtcdTAwMTdcdFx1MDAwMerqb1xyXHUwMDFm7KZSkYVMTJR/ZNXsPpFcdTAwMTSRXHUwMDA0XHUwMDEygkVCiW2ic6v/p4CFkVx1MDAwNHdcdTAwMDXviFx1MDAxZFnzb6Zcbj1GMOcj+8nmhVhcdTAwMTRcdTAwMDHDXHT6N83m8M8/97dOf/mPV7//dlx1MDAxZWzjWk+WjlqfXHUwMDE4b2N3R2CRvkOTMGB5jOQv/rNa08O1Umn76bNL0b5Qj1x1MDAxZd89PL09XHUwMDAxkFwi0CnuK3SpKeCkkJFSKiTFXHUwMDAy72t3XHUwMDBlwoYvUJ9cdTAwMTPkZzdcdTAwMTh0XHUwMDE4e4JVwilcdTAwMTamXHUwMDBiXGaQXHUwMDFjKDiSoOJDs3d1hFx1MDAwM1FcdTAwMDFUb1x1MDAxMVvBsySq+ZtcdTAwMDZT7faK5OBoYlx1MDAxOZ9cbp94XHUwMDBm7z9objqkVHV6R48uNp+K02pKKoRRXHUwMDA17WJO0VOBJcahI6fDXG5cdTAwMWFcdTAwMGLRXHUwMDBiKuPHNt+oXHUwMDFkXG6pXHUwMDFlZT4xX4qTqUxQyS79aVx1MDAxY706LP1cdTAwMTGCzW41nkeZNnJM8m1FXHUwMDE2xU3JhFxiwkx1RLCI9tKE9Vx1MDAwZrJhXHUwMDA22kyHSjy3ovJHTJVcdTAwMTlsXHUwMDE017xhYf6lv367lyePN++tbO3Z3Vx1MDAxZd1qXHUwMDFmdot7dff57DtcdTAwMGJmKP2ltDuuUpnckZzmZufoTHOvQGGOaSBcdTAwMTNf0nYs4PQ/k1wiXHUwMDE55ULkUsd5nOK2XHUwMDAyi3+mhFx1MDAxMiYxZyp80n9cdTAwMDAsWF9cdTAwMTew0IRyUMKhXHUwMDEyYE6aS7KIM+NcdTAwMGJhJdNtWFxiqnyrVc/uxGqaXHUwMDE5W1x1MDAxOFx1MDAxNnWuZEzizChUXnUhoVx1MDAwM1NFrUpfXG6UQnKuyVx1MDAwNEuBR9XLp63O6vF9voXLd7eeXHUwMDFmfVDfX731YVx1MDAwYlx1MDAwMWuUXHUwMDA26GGBXGLGNFK9kEr0z85cdTAwMDDxxKBE+MLCXHUwMDE2yyRpXHUwMDExXHUwMDBmW1wiKMxcbtLXLCaAeYQ2WS06bEFG9/06Wlx1MDAwNkhcdTAwMTboU+v9yZT9iEmZXHUwMDAxl6rtQ5QuujSk/T9aM8G+vst2u3ZcIlx1MDAxZd1zXHUwMDBmkXO+t1uqnj3Et//wpVwivrK/WrNcZpVcdTAwMDP9gFOC+9VCJjloIL64eJtpXHTlKlx1MDAxOFx1MDAxNbRcdTAwMDLQcM2b/iZefFx1MDAxZZXBeZT9aGNvkLyeea2iXHUwMDFm1+9cZl6wbLXbXHUwMDA3XHUwMDFlXGb/8lW1Y/msYZ+vxZ3t3ar/Mbjgo4KJP9v06pNcdTAwMTfvvPhcdTAwMWaTkGJcdTAwMTAifQ==<!-- payload-end -->
|
|
4
|
-
<defs>
|
|
5
|
-
<style>
|
|
6
|
-
@font-face {
|
|
7
|
-
font-family: "Virgil";
|
|
8
|
-
src: url("https://excalidraw.com/Virgil.woff2");
|
|
9
|
-
}
|
|
10
|
-
@font-face {
|
|
11
|
-
font-family: "Cascadia";
|
|
12
|
-
src: url("https://excalidraw.com/Cascadia.woff2");
|
|
13
|
-
}
|
|
14
|
-
</style>
|
|
15
|
-
</defs>
|
|
1
|
+
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 838.4997558593744 793.4999847412107" width="838.4997558593744" height="793.4999847412107">
|
|
2
|
+
<!-- svg-source:excalidraw -->
|
|
3
|
+
<!-- payload-type:application/vnd.excalidraw+json --><!-- payload-version:2 --><!-- payload-start -->eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nO1cXElvI8dcdTAwMTW++1dcYvJ1RNe++CaR2qXZNPKMJjZcdTAwMDYtsrmMmmyabC2UMZfEcVx1MDAxMFx1MDAwM0FcdTAwMDLEycWBY1x1MDAwNDGQS1x1MDAxMlx1MDAxZoJcdTAwMDCGXHUwMDAz5M9kZpx/kVdNit3sjc1N0jhD2Fx1MDAwM6m7Wf2q6r3vfd+rKn3yztLSstdr28vvLy3bXHUwMDE3ZctpVDrW+fJcdTAwMWRz/czudFx1MDAxYm5cdTAwMGJuXHUwMDEx//eue9op+0/WPa/dff+994JvXHUwMDE0ym6z/y3bsZt2y+vCcz+B35eWPvH/XHK9p2OXPatVc2z/XHUwMDBi/q3gVYJHL951W/5bMeeaS6a0XHUwMDFhPtHoluB1nl2B21XL6drBXHUwMDFkc2nZ7ZRFy3F3Lrpb9Ky019vrdc+KwVurXHLHOfB6Tr9PVrl+2lx02dT1Ou6J/bhR8erm7ZHrw+91XVx1MDAxOIHgW1x1MDAxZPe0Vm/Z3e7VsPlX3bZVbng901x1MDAwZULDq/1BeH8puHJcdTAwMDG/rVxiQlx1MDAwYlx1MDAxY1OkXHUwMDE5XHUwMDE3QsP/w9umgVx1MDAxNcwoLiipkSBSMcWojJhWdFx1MDAxZLdjTHuXaY64XGaMO7bKJzWwsFVcdTAwMTk+43WsVrdtdWDKgufOXHUwMDA3nSZCXHUwMDE1XHUwMDEwfCjiWHIp9fCJut2o1T14RMqCNlx1MDAxZkIlXHUwMDEyiLOQMbY/L1x1MDAxOK5rXGYtXHUwMDA13TAmtLcrvot8XHUwMDE0XHUwMDFk17rVaVx1MDAwZsZv2Tc1ZL75dT3qX2FcdTAwMWZcdTAwMGLN/bn1+IPm1lx1MDAxMVuvs8era2s7SD5prlxy21x1MDAxYXFIq9Nxz5eHd15cZn5cbkw7bVesvpdhIVx1MDAxOEKEKJiZYHqdRutcdTAwMDRutk5cdTAwMWQnuOaWT1x1MDAwMsf0r764M1x1MDAxYVx1MDAxMH1D11x1MDAwZtdOXGIt0+36prt9uVvcquqdnaDTV0Z69kVohnxH4VxuXHUwMDE1XHUwMDEwOFxupZxiXHSTXHUwMDEwdVx1MDAxNIxcblTC4FNFYnOLVcJssiznnJd33XTYTet+XHUwMDAzh1x1MDAxNkwjToVcZmAoQC9Oolx1MDAxN4foJVx1MDAxOFOKYJ5cdTAwMDe9JnL0M7zh6JWV59aTYvuhKjYvyO52dV6Ojlx1MDAxNVFcYk/g6IHfXHUwMDFhf4V3/udfX7/8+Tcvf/3TV7/7tmR5VshcdTAwMGbclnfQuDSWXHUwMDExNXJ1w2o2nN7I9JvmVp1GzYzysmNXvZHk4TUgXHUwMDExXHJve2477JVdXHUwMDFizDZvoYFcdTAwMGaU4S1cdTAwMTZcXO1sV6L9cTuNWqNlOY/SOpBcdTAwMTHL2XNcdTAwMTGZh9FgZlpcdTAwMTUk05pcIkGxgv9cIsFMOfdRXHUwMDFmYXhKKMliXHUwMDExLVxuSFx1MDAwMlx1MDAxMFx1MDAwMFx1MDAwZSBOtJZcdTAwMDFcdTAwMTRcdTAwMGbjXHUwMDFiU1x1MDAxZq5cdTAwMTVAOTGNXHUwMDA0yfZtuKeEO1x1MDAwNt5BXHSFzifEO1x0TUM04M1EUMZYkPfyXHUwMDA3/IhDxrNcdTAwMGZhSPFpgrLtNqKIXHUwMDEy/LRcdTAwMTRMvv/L8OeP7iQ+nepv5lx1MDAxM/O0oLVcdTAwMTjqOFbXK7rNZsODbt43Jka70/WsjrfWaFVcdTAwMWGtXHUwMDFh3Fx1MDAwYlDwim5u50ilPriUT033UVx1MDAwMXPGXHUwMDE5xkxcdTAwMTLClZKChp6qWW0z2KzAIdpcYkFcdTAwMTJRTK468GJolN2qjDfJPVJbW0ertWJcdTAwMTXTbWWX2YFzsJJk0lxu5HLFIYtLXHUwMDAx72SEXHUwMDAx1Y3ZxFxuzFxmquLAhZFcIojGjPJHatXgS922YthcdTAwMDYmh++FXHUwMDEzQlx1MDAxNNBysXVcdTAwMTiXVP+njHKFRYh6jKXrmWN140CSRtcpXHUwMDA3uk6Mq3PO6NCRXHUwMDA2uE0w9UlcdTAwMTjlXHUwMDA0glfjxbF1ilx1MDAxM1x1MDAxMD9EU4aEXFxLwlx1MDAwNaNcdTAwMDF0XVx1MDAwYiGfgafcSW43kVx1MDAxYYfeeH6wv7l+flxctvd3712SfVBKxUZjfLP9L+9cdTAwMWX2Wk7DO7u7Vm6utVx1MDAwZlx1MDAxML04s+2ZzO23u9LDnY9rvdLTPbF376B7Ut+gK9vzomtcdTAwMTQzxIJ5nUmXJI9eLl2idVZEYO3r14SIXHUwMDE46k7G455M35KVsWRFMqqERiyGyj4gp2K11MzX+IFcdTAwMWQ3T1Wu9MOrr7979au/XHUwMDE54v3qj9/88Pc/XHUwMDAxXHUwMDBih9/noVwiytBcdTAwMDO7k6Ejmo1KJZz3QlKCXHUwMDA0QTYqJcYlsai6SOneXGYpmeu0acZcdTAwMTQj4Fx1MDAwZWHtMC4llyi/XFzZ3qDlj9c3elx1MDAxNNcrlydbb0BKJqxcdTAwMDDMTVx1MDAwM79cdTAwMTOYKVx1MDAxOSmMaMVGpJSIWLbglKxCsNVcdTAwMGZbglx1MDAxMKg+KkPJ+lxyTcn9dovVXHUwMDA3ZYeo3sbHrZJuPjrbWX3OXHUwMDFmJrfrh/nMmT75hTmt3dx/pq2jnSo6rFx1MDAxNT84PiQr5NHhxlx1MDAxY0ZhXHUwMDA2XHUwMDA2MT7Tm1RcdTAwMWaq/E6Z6ZOTeEjfMlx1MDAxYb16XHUwMDA1JkpSrDBGeeRtXHUwMDFlr7itWMKFzsRcdTAwMTKpr1x0S0CHJtD7XHUwMDE4lmCqqVlcdTAwMWOgXHUwMDBiwJIsfyRcdTAwMTJcdTAwMGI9gT9On8CNpa+///T197/op8zX3//21Vd/WPqwXHUwMDA1UWT1uu95rmc5r//6y8TEXHUwMDFkyo6zkYFI2lx1MDAxZpMoo2k/wf6o9Vx1MDAxOdQ8XHUwMDFiWcaUXHUwMDE5SVx1MDAwMbhcdTAwMWVRQPlcdTAwMTSASHRxXHRT6pNzYG1cdTAwMDK0K1IxP0RcdTAwMDVNOPB6JKBcdTAwMTFcdTAwMDGUgsXdXHUwMDEyM+IvXHUwMDFjMS6loEKSjCh7S91cdTAwMDeyXHUwMDFjyDtVidSdolRcdTAwMThcdTAwMTZcYuRcdTAwMTRleYosXHUwMDEzMnfwXHI1iZRcdTAwMWNenmuRMd3bzCfmZ0FzsVx1MDAxNDq3KmPuklx1MDAxZSogLYhZs+ZYQ75mXGaHnlx1MDAxYVRcdTAwMTlNkVx1MDAxMVx1MDAxMSEhJFx1MDAxNVx1MDAwNJ1mgycmrDNm48/SSJ1cdTAwMTFzXHIvVExcdIGkmemYVdJcdTAwMWZVgVx1MDAxMeWYXHUwMDBiRK6hzlx1MDAxOFx1MDAwMavQmlx1MDAxYVx1MDAxNWnOTzBVREoywZaAbLJ34yCSQkKYwlx1MDAwNeB7hFxu0G9cdTAwMDSISISEIOSDtim2SFx1MDAxZS75zZuDXHUwMDE0XGJgXHUwMDE05YhcdTAwMDHoUJCSwatC2D+yaUCFSsRcdTAwMDOo01xcwW0qXHUwMDE3UIDMZMxMTbRmPyku5Fx1MDAwZUGIQMQkUlxmKJPAXHUwMDFhKVx1MDAxYY9A6q+eMMlMXHUwMDEy1lx1MDAxMIJT4sJcdPe6vWZ9vS0un9ytr+Gn9UrJSsFcdTAwMDVcdTAwMDRcdTAwMDPFYXalmTdcYntcdTAwMTazqr8mclx1MDAwNbdCi5hROVF2QuRYTG5J92bziftxPLlkXCJaZpmGsdj+gWGZRlx1MDAwMjwzzHF+VMue5duKaoKIYP9cbkBChItKqszKXHSSXG4xKkJl5Fx1MDAxYqrScMWZ1ji0oPVGXHUwMDE3aWxxUGpu7Vx1MDAxZTuHat/eqD9rblx1MDAxNPdT2s1XpFlos/Mv0oyrKSV3JGg2RjBnzziZcJJWo6FcIrYzYYgk8HpIXHUwMDFkSuQv0mRP321FXHUwMDEyyFqZSIL7e2dcdTAwMTaOJCCa4khcdTAwMTJauFx1MDAxYWo9JojJtlx1MDAwYoCShTCgqWo0P/z7i5dfftWvbvz3y89cdTAwMWXa3VPHXHUwMDBij23SaspcXIsyY9JitCiTbHBiUObZY5pZh6Gc+Zt8YWKYplLJUY/FVLOCRppTysBrgX/EfY3LcZtzOSow84TCXHUwMDE4UEKHZNL4MkxZXHUwMDEzi1iTh8JNI8TMZVx1MDAxOFx1MDAxOC1cdTAwMGXcKyY6/ffI6NUh1DJcIkG8i0WsoUpwkKnCdr5sOc3fzCfmaXGuPKlEyFGIydzeP6ptXHUwMDE4VWYouWKcXG7OeeipgbRcdTAwMTlcXJhQXz1Xh2t7T93mZqtTsndrx/d541x1MDAxZUuru0hcdTAwMDVyXHUwMDBlQUpGoK4gMceM4P5m+oHswzDQMaOud39cdTAwMTdm6YvJMJSIcD7B/q7ssbpx5EjhXHUwMDE2XHUwMDFh+0Btln5cdTAwMTBXWsY25lxu5Vx1MDAxN19cYkhiJnQoUudcdTAwMDWpXHUwMDEzXHUwMDFjx4irXHUwMDE2zDXVlIg35/jFlHz97HGR1su1Z5qvlzqiXdVcdTAwMGZ7zr1cdTAwMWbdrqzkXsYoR8KuLIVHKLKKbstcdTAwMDJinOLHwbas7Fx1MDAxNci3pFwi7chcYqaKM554ZESn1oGoXHUwMDE0XFwjrFx1MDAxN8AohFbTLdZcdTAwMGW5/bc/e/3FX1x1MDAxZZzand6xXXU79ss/f/ph6/VvPnv53T/7NHpeZz1m2aVcdTAwMTVa7I0ogzGpKKZcZlx1MDAxMrpcdTAwMWLrbEbUZsNLplDQfFQnxMKW0L62RVxmOGjSSS+qxMhyTjyGgWmEiVx1MDAwN9LsbUyPi2lcdTAwMTgmjFx1MDAxOGckacE2voo7XFyykkhpmIU8W/AmlVx0oFx1MDAxOdU0QT1XmbCS5m7mXHUwMDEzd7Tr0Fx0uTk6yFx1MDAwNKIo00CxwESiSFxcJjC/b5iDkpBKaaank1xyk1x1MDAxY1x1MDAwYlx1MDAwMVx1MDAxZkNcblx1MDAxM1AwWIDKjK8h90+FcMTAtSjnTC5ONfThbK0uXHUwMDFm7FRcdTAwMWVox63RZtd6gjr2ZjtcdTAwMTdcdFx1MDAwMerqb1xyXHUwMDFm7KZSkYVMTJR/ZNXsPpFcdTAwMTSRXHUwMDA0XHUwMDEygkVCiW2ic6v/p4CFkVx1MDAwNHdcdTAwMDXviFx1MDAxZFnzb6Zcbj1GMOcj+8nmhVhcdTAwMTRcdTAwMDHDXHT6N83m8M8/97dOf/mPV7//dlx1MDAxZWzjWk+WjlqfXHUwMDE4b2N3R2CRvkOTMGB5jOQv/rNa08O1Umn76bNL0b5Qj1x1MDAxZd89PL09XHUwMDAxkFwi0CnuK3SpKeCkkJFSKiTFXHUwMDAy72t3XHUwMDBlwoYvUJ9cdTAwMTPkZzdcdTAwMTh0XHUwMDE4e4JVwilcdTAwMTamXHUwMDBiXGaQXHUwMDFjKDiSoOJDs3d1hFx1MDAwM1FcdTAwMDFUb1x1MDAxMVvBsySq+ZtcdTAwMDZT7faK5OBoYlx1MDAxOZ9cbp94XHUwMDBm7z9objqkVHV6R48uNp+K02pKKoRRXHUwMDA17WJO0VOBJcahI6fDXG5cdTAwMWFcdTAwMGLRXHUwMDBiKuPHNt+oXHUwMDFkXG6pXHUwMDFlZT4xX4qTqUxQyS79aVx1MDAxY706LP1cdTAwMTGCzW41nkeZNnJM8m1FXHUwMDE2xU3JhFxiwkx1RLCI9tKE9Vx1MDAwZrJhXHUwMDA22kyHSjy3ovJHTJVcdTAwMTlsXHUwMDE017xhYf6lv367lyePN++tbO3Z3Vx1MDAxZd1qXHUwMDFmdot7dff57DtcdTAwMGJmKP2ltDuuUpnckZzmZufoTHOvQGGOaSBcdTAwMTNf0nYs4PQ/k1wiXHUwMDE55ULkUsd5nOK2XHUwMDAyi3+mhFx1MDAxMiYxZyp80n9cdTAwMDAsWF9cdTAwMTew0IRyUMKhXHUwMDEyYE6aS7KIM+NcdTAwMGJhJdNtWFxiqnyrVc/uxGqaXHUwMDE5W1x1MDAxOFx1MDAxNnWuZEzizChUXnUhoVx1MDAwM1NFrUpfXG6UQnKuyVx1MDAwNEuBR9XLp63O6vF9voXLd7eeXHUwMDFmfVDfX731YVx1MDAwYlx1MDAwMWuUXHUwMDA26GGBXGLGNFK9kEr0z85cdTAwMDDxxKBE+MLCXHUwMDE2yyRpXHUwMDExXHUwMDBmW1wiKMxcbtLXLCaAeYQ2WS06bEFG9/06Wlx1MDAwNkhcdTAwMTboU+v9yZT9iEmZXHUwMDAxl6rtQ5QuujSk/T9aM8G+vst2u3ZcIlx1MDAxZd1zXHUwMDBmkXO+t1uqnj3Et//wpVwivrK/WrNcZpVcdTAwMDP9gFOC+9VCJjloIL64eJtpXHTlKlx1MDAxOFx1MDAxNbRcdTAwMDLQcM2b/iZefFx1MDAxZZXBeZT9aGNvkLyeea2iXHUwMDFm1+9cZl6wbLXbXHUwMDA3XHUwMDFlXGb/8lW1Y/msYZ+vxZ3t3ar/Mbjgo4KJP9v06pNcdTAwMTfvvPhcdTAwMWaTkGJcdTAwMTAifQ==<!-- payload-end -->
|
|
4
|
+
<defs>
|
|
5
|
+
<style>
|
|
6
|
+
@font-face {
|
|
7
|
+
font-family: "Virgil";
|
|
8
|
+
src: url("https://excalidraw.com/Virgil.woff2");
|
|
9
|
+
}
|
|
10
|
+
@font-face {
|
|
11
|
+
font-family: "Cascadia";
|
|
12
|
+
src: url("https://excalidraw.com/Cascadia.woff2");
|
|
13
|
+
}
|
|
14
|
+
</style>
|
|
15
|
+
</defs>
|
|
16
16
|
<rect x="0" y="0" width="838.4997558593744" height="793.4999847412107" fill="#ffffff"></rect><g stroke-linecap="round" transform="translate(21.999893188476335 10) rotate(0 134.00001525878895 38.999996185302734)"><path d="M19.5 0 M19.5 0 C105.59 -0.5, 190.75 2.84, 248.5 0 M19.5 0 C72.48 0.89, 124.03 2.08, 248.5 0 M248.5 0 C262.29 -2.75, 265.64 3.83, 268 19.5 M248.5 0 C262.84 -4.35, 271.35 4.03, 268 19.5 M268 19.5 C266.1 28.47, 267.61 40.55, 268 58.5 M268 19.5 C266.77 30.1, 268.3 38.13, 268 58.5 M268 58.5 C268.25 74.9, 258.91 74.33, 248.5 78 M268 58.5 C269.94 67.99, 258.96 75.04, 248.5 78 M248.5 78 C166.8 76.9, 86.42 75.78, 19.5 78 M248.5 78 C160.94 77.18, 73.82 78.67, 19.5 78 M19.5 78 C8.24 74.35, 3.56 67.55, 0 58.5 M19.5 78 C2.27 73.48, 1.88 72.71, 0 58.5 M0 58.5 C1.2 54.34, -0.08 43.28, 0 19.5 M0 58.5 C2.07 48.37, 1.17 36.9, 0 19.5 M0 19.5 C-2.1 2.88, 6.68 3.71, 19.5 0 M0 19.5 C2.15 4.74, 7.9 -2.26, 19.5 0" stroke="#495057" stroke-width="1" fill="none"></path></g><g transform="translate(65.49995422363304 31.49993896484375) rotate(0 94.5 20)"><text x="0" y="30" font-family="Virgil, Segoe UI Emoji" font-size="28px" fill="#495057" text-anchor="start" style="white-space: pre;" direction="ltr">传入参数Data</text></g><g stroke-linecap="round"><g transform="translate(146.7630571236012 86.00006103515625) rotate(0 3.860349272645692 69.03760786011821)"><path d="M1.61 -1.95 C2.4 20.93, 2.81 113.79, 3.62 136.96 M-0.96 3.16 C0.78 26.47, 7.71 117.27, 8.68 140.03" stroke="#495057" stroke-width="1" fill="none"></path></g><g transform="translate(146.7630571236012 86.00006103515625) rotate(0 3.860349272645692 69.03760786011821)"><path d="M-6.09 109.01 C-1.74 120.06, 1.55 124.39, 10.16 140.81 M-2.72 110.63 C0.6 117.97, 1.36 126.32, 8.34 138.9" stroke="#495057" stroke-width="1" fill="none"></path></g><g transform="translate(146.7630571236012 86.00006103515625) rotate(0 3.860349272645692 69.03760786011821)"><path d="M14.39 107.74 C13.42 119.35, 11.4 124.01, 10.16 140.81 M17.76 109.36 C16.33 116.72, 12.36 125.37, 8.34 138.9" stroke="#495057" stroke-width="1" fill="none"></path></g></g><g stroke-linecap="round" transform="translate(10 228.49992752075195) rotate(0 158.5 39)"><path d="M19.5 0 M19.5 0 C110.9 1.28, 200.45 3.04, 297.5 0 M19.5 0 C130.69 -0.61, 241.5 0.84, 297.5 0 M297.5 0 C310.57 -2.56, 313.83 5.87, 317 19.5 M297.5 0 C314.78 2.08, 319.03 1.98, 317 19.5 M317 19.5 C317.16 24.67, 316.86 34.56, 317 58.5 M317 19.5 C316.39 31.3, 315.51 42.69, 317 58.5 M317 58.5 C317.22 75.23, 310.87 76.23, 297.5 78 M317 58.5 C317.29 74.11, 313.76 75.47, 297.5 78 M297.5 78 C234.64 76.3, 173.74 75.31, 19.5 78 M297.5 78 C205.65 78.49, 110.67 76.71, 19.5 78 M19.5 78 C8.77 80.24, -0.34 70.02, 0 58.5 M19.5 78 C3.43 79.43, -4 74.68, 0 58.5 M0 58.5 C-1.22 47.24, 1.97 30.48, 0 19.5 M0 58.5 C0.3 44.05, -1.93 31.64, 0 19.5 M0 19.5 C0.16 5.06, 9.77 -1.22, 19.5 0 M0 19.5 C-3.47 5.92, 3.05 -0.93, 19.5 0" stroke="#495057" stroke-width="1" fill="none"></path></g><g transform="translate(46 249.99992752075195) rotate(0 122.5 17.5)"><text x="122.5" y="24" font-family="Virgil, Segoe UI Emoji" font-size="28px" fill="#495057" text-anchor="middle" style="white-space: pre;" direction="ltr">根据Data查询数据</text></g><g stroke-linecap="round" transform="translate(21.500076293945085 457.000061035156) rotate(0 158.5 40)"><path d="M20 0 M20 0 C82.17 0.81, 146.13 1.39, 297 0 M20 0 C98.14 3.32, 175.07 4.16, 297 0 M297 0 C312.85 -1.3, 317.8 5.92, 317 20 M297 0 C314.84 -3.81, 314.82 6.04, 317 20 M317 20 C315.99 39.27, 319.23 49.09, 317 60 M317 20 C318.15 35.19, 316.47 50.33, 317 60 M317 60 C317.1 74.33, 306.63 79.8, 297 80 M317 60 C318.13 73.97, 305.86 80.71, 297 80 M297 80 C221.28 79.14, 151.55 76.66, 20 80 M297 80 C206.66 81.98, 116.44 84.02, 20 80 M20 80 C4.52 80.16, 0.82 76.09, 0 60 M20 80 C9.16 76.58, 4.39 69.84, 0 60 M0 60 C-1.12 47.24, 2.6 25.4, 0 20 M0 60 C0.98 43.46, -1.78 30.63, 0 20 M0 20 C1.72 5.54, 9.39 0.04, 20 0 M0 20 C-3.47 7.21, 5.13 2.96, 20 0" stroke="#495057" stroke-width="1" fill="none"></path></g><g transform="translate(76.50007629394509 462.000061035156) rotate(0 103.5 35)"><text x="103.5" y="24" font-family="Virgil, Segoe UI Emoji" font-size="28px" fill="#495057" text-anchor="middle" style="white-space: pre;" direction="ltr">组织查询结果 </text><text x="103.5" y="59" font-family="Virgil, Segoe UI Emoji" font-size="28px" fill="#495057" text-anchor="middle" style="white-space: pre;" direction="ltr">arrays/total等</text></g><g stroke-linecap="round"><g transform="translate(153.48269834720134 307.9999542236328) rotate(0 1.0919746526446659 71.37524573892358)"><path d="M0.97 1.59 C0.92 25.8, -1.02 119.03, -1.14 142.77 M-1.95 -0.02 C-1.04 23.53, 4.13 114.91, 4.14 138.17" stroke="#495057" stroke-width="1" fill="none"></path></g><g transform="translate(153.48269834720134 307.9999542236328) rotate(0 1.0919746526446659 71.37524573892358)"><path d="M-4.75 107.37 C-3.41 116.77, 1.36 123, 6.34 141.27 M-7.13 111.87 C-4.8 114.98, -3.57 123.4, 3.23 137.63" stroke="#495057" stroke-width="1" fill="none"></path></g><g transform="translate(153.48269834720134 307.9999542236328) rotate(0 1.0919746526446659 71.37524573892358)"><path d="M15.76 106.71 C11.56 116.43, 10.81 122.84, 6.34 141.27 M13.38 111.22 C11.51 114.67, 8.53 123.22, 3.23 137.63" stroke="#495057" stroke-width="1" fill="none"></path></g></g><g stroke-linecap="round"><g transform="translate(164.36975087018686 540.9999084472656) rotate(0 2.2161321658697375 75.94996558740735)"><path d="M1.88 1.85 C1.45 26.32, -0.5 123.91, -0.14 147.93 M-0.54 0.38 C-0.35 25.23, 4.34 126.92, 4.98 151.52" stroke="#495057" stroke-width="1" fill="none"></path></g><g transform="translate(164.36975087018686 540.9999084472656) rotate(0 2.2161321658697375 75.94996558740735)"><path d="M-3.68 120.34 C-1.83 136.99, -0.24 146.44, 3.92 153.66 M-4.61 121.98 C-4.4 130.96, -1.52 136.21, 5.66 150.88" stroke="#495057" stroke-width="1" fill="none"></path></g><g transform="translate(164.36975087018686 540.9999084472656) rotate(0 2.2161321658697375 75.94996558740735)"><path d="M16.83 119.58 C10.74 136.8, 4.37 146.55, 3.92 153.66 M15.89 121.22 C11.32 130.12, 9.43 135.55, 5.66 150.88" stroke="#495057" stroke-width="1" fill="none"></path></g></g><g stroke-linecap="round" transform="translate(19.499954223632358 703.4999847412107) rotate(0 158.5 40)"><path d="M20 0 M20 0 C122.6 -0.3, 220.47 -2.27, 297 0 M20 0 C124.5 -0.87, 227.33 0.37, 297 0 M297 0 C311.74 0.39, 314.64 7.85, 317 20 M297 0 C309.94 2.74, 321.57 2.3, 317 20 M317 20 C316.99 28.72, 315.11 41.67, 317 60 M317 20 C314.77 33.47, 316.21 46.94, 317 60 M317 60 C319.17 76.89, 307.34 83.46, 297 80 M317 60 C315.94 74.95, 308.65 81.56, 297 80 M297 80 C194.87 77.36, 91.4 74.91, 20 80 M297 80 C199.87 75.36, 103.48 77.79, 20 80 M20 80 C9.7 81.97, -0.82 73.15, 0 60 M20 80 C7.65 84.16, 4.19 70.21, 0 60 M0 60 C-1.49 51.89, 1.42 38.35, 0 20 M0 60 C-0.15 51.62, -0.05 43.02, 0 20 M0 20 C0.76 10.21, 3.5 -3.38, 20 0 M0 20 C3.33 7.27, 6.27 3.91, 20 0" stroke="#495057" stroke-width="1" fill="none"></path></g><g transform="translate(62.49995422363236 725.9999847412107) rotate(0 115.5 17.5)"><text x="115.5" y="24" font-family="Virgil, Segoe UI Emoji" font-size="28px" fill="#495057" text-anchor="middle" style="white-space: pre;" direction="ltr">返回结果集Result</text></g><g stroke-linecap="round"><g transform="translate(290.99992370605423 46.96952930676798) rotate(0 127.702671778947 26.139837041058172)"><path d="M-1.81 1.98 C41.39 10.06, 214.26 41.16, 257.22 48.88 M2.4 0.59 C45.43 8.97, 213.24 43.4, 255.1 51.69" stroke="#c92a2a" stroke-width="1" fill="none"></path></g><g transform="translate(290.99992370605423 46.96952930676798) rotate(0 127.702671778947 26.139837041058172)"><path d="M228.27 56.48 C230.02 53.99, 236.02 52.42, 251.5 48.09 M226.11 54.87 C234.71 55.76, 247.23 52.33, 253.26 50.46" stroke="#c92a2a" stroke-width="1" fill="none"></path></g><g transform="translate(290.99992370605423 46.96952930676798) rotate(0 127.702671778947 26.139837041058172)"><path d="M232.33 36.36 C233.22 38.41, 238.29 41.43, 251.5 48.09 M230.17 34.75 C237.51 42.65, 248.62 46.24, 253.26 50.46" stroke="#c92a2a" stroke-width="1" fill="none"></path></g></g><g stroke-linecap="round" transform="translate(553.9999389648432 72.99993515014648) rotate(0 134.00001525878895 40)"><path d="M20 0 M20 0 C101.4 -0.71, 186.55 1.63, 248 0 M20 0 C79.14 -2.22, 138.39 -4.25, 248 0 M248 0 C262.69 -2.16, 264.27 9.37, 268 20 M248 0 C262.21 0.58, 267.87 5.53, 268 20 M268 20 C265.47 38.52, 268.9 49.57, 268 60 M268 20 C267.66 33, 269.89 43.69, 268 60 M268 60 C265.47 76.33, 259.65 83.87, 248 80 M268 60 C272.2 76.61, 263.07 81.58, 248 80 M248 80 C201.03 75.11, 147.15 74.73, 20 80 M248 80 C170.64 82.72, 91.81 80.94, 20 80 M20 80 C4.79 81.74, -3.5 75.87, 0 60 M20 80 C2.39 84.04, -3.75 77.36, 0 60 M0 60 C4.15 47.01, -0.78 38.45, 0 20 M0 60 C1.41 46.25, -0.71 33.05, 0 20 M0 20 C-2.16 3.21, 3.69 -2.84, 20 0 M0 20 C-0.84 4.54, 5.89 -0.59, 20 0" stroke="#c92a2a" stroke-width="1" fill="none"></path></g><g transform="translate(564.4999542236321 77.99993515014648) rotate(0 123.5 35)"><text x="123.5" y="24" font-family="Virgil, Segoe UI Emoji" font-size="28px" fill="#c92a2a" text-anchor="middle" style="white-space: pre;" direction="ltr">调用Querybefore处</text><text x="123.5" y="59" font-family="Virgil, Segoe UI Emoji" font-size="28px" fill="#c92a2a" text-anchor="middle" style="white-space: pre;" direction="ltr">理并返回Data</text></g><g stroke-linecap="round"><g transform="translate(549.9999237060542 117.99999237060547) rotate(0 -193.69374129965888 52.07656196191908)"><path d="M-0.54 0.38 C-64.41 17.26, -320.9 86.05, -385.1 103.67 M-4.27 -1.88 C-68.27 16.49, -322.99 87.52, -386.85 106.03" stroke="#c92a2a" stroke-width="1" fill="none"></path></g><g transform="translate(549.9999237060542 117.99999237060547) rotate(0 -193.69374129965888 52.07656196191908)"><path d="M-361.98 89.75 C-371.22 92.8, -373.46 92.97, -390.83 108.57 M-364.48 90.46 C-367.05 91.52, -372.24 94.62, -388.29 104.7" stroke="#c92a2a" stroke-width="1" fill="none"></path></g><g transform="translate(549.9999237060542 117.99999237060547) rotate(0 -193.69374129965888 52.07656196191908)"><path d="M-356.38 109.49 C-367.27 107.92, -370.81 103.5, -390.83 108.57 M-358.88 110.2 C-362.53 106.8, -368.95 105.54, -388.29 104.7" stroke="#c92a2a" stroke-width="1" fill="none"></path></g></g><g transform="translate(340.00007629394486 161.4999771118164) rotate(0 80.5 20)"><text x="0" y="30" font-family="Virgil, Segoe UI Emoji" font-size="28px" fill="#c92a2a" text-anchor="start" style="white-space: pre;" direction="ltr">把Data更新</text></g><g stroke-linecap="round"><g transform="translate(333.9999084472653 493.3000038313785) rotate(0 111.50646419912574 24.34065105429312)"><path d="M-1.63 -1.02 C34.82 7.51, 182.44 40.73, 219.21 49.22 M2.68 -4.04 C39.99 5.12, 187.63 43.17, 224.64 52.72" stroke="#c92a2a" stroke-width="1" fill="none"></path></g><g transform="translate(333.9999084472653 493.3000038313785) rotate(0 111.50646419912574 24.34065105429312)"><path d="M193.33 53.07 C203.98 52.22, 214.48 53.27, 222.97 49.84 M194.13 54.48 C206.13 55.27, 219.3 55.58, 224.46 50.75" stroke="#c92a2a" stroke-width="1" fill="none"></path></g><g transform="translate(333.9999084472653 493.3000038313785) rotate(0 111.50646419912574 24.34065105429312)"><path d="M198.45 33.2 C207.2 38.59, 216.07 45.96, 222.97 49.84 M199.25 34.61 C209.48 43.16, 220.63 51.3, 224.46 50.75" stroke="#c92a2a" stroke-width="1" fill="none"></path></g></g><g stroke-linecap="round" transform="translate(560.4997253417965 516.9999313354492) rotate(0 134.00001525878895 40)"><path d="M20 0 M20 0 C96.14 3.51, 175 4.43, 248 0 M20 0 C104.03 1.88, 188.76 2.04, 248 0 M248 0 C261.89 1.26, 267.65 9.71, 268 20 M248 0 C260.21 2.83, 265.09 4.34, 268 20 M268 20 C265.04 34.72, 266.55 41.39, 268 60 M268 20 C269.01 27.45, 270.15 37.47, 268 60 M268 60 C268.25 77.08, 263.17 81.34, 248 80 M268 60 C267.11 70.61, 258.89 77.46, 248 80 M248 80 C156.98 77.11, 73.68 77.36, 20 80 M248 80 C193.67 77.31, 142.15 78.05, 20 80 M20 80 C5.48 79.58, -0.4 75.64, 0 60 M20 80 C10.8 80.03, 3.06 69.75, 0 60 M0 60 C-2.05 46.78, 3.2 35.63, 0 20 M0 60 C1.32 51, 0.36 41.02, 0 20 M0 20 C0.32 5.52, 4.64 1.45, 20 0 M0 20 C3.89 8.18, 4.99 2.13, 20 0" stroke="#c92a2a" stroke-width="1" fill="none"></path></g><g transform="translate(576.4997406005855 521.9999313354492) rotate(0 118 35)"><text x="118" y="24" font-family="Virgil, Segoe UI Emoji" font-size="28px" fill="#c92a2a" text-anchor="middle" style="white-space: pre;" direction="ltr">调用QueryAfter处</text><text x="118" y="59" font-family="Virgil, Segoe UI Emoji" font-size="28px" fill="#c92a2a" text-anchor="middle" style="white-space: pre;" direction="ltr">理并返回Result</text></g><g transform="translate(397.99983215331986 654.9999618530271) rotate(0 87.5 20)"><text x="0" y="30" font-family="Virgil, Segoe UI Emoji" font-size="28px" fill="#c92a2a" text-anchor="start" style="white-space: pre;" direction="ltr">把Result更新</text></g><g stroke-linecap="round"><g transform="translate(562.9999542236322 576.5000152587886) rotate(0 -194.84828739121545 52.56615835860373)"><path d="M-0.34 0.72 C-65.22 18.78, -322.39 88.94, -386.73 106.49 M-3.97 -1.36 C-69.52 15.96, -325.3 83.33, -389.36 101.74" stroke="#c92a2a" stroke-width="1" fill="none"></path></g><g transform="translate(562.9999542236322 576.5000152587886) rotate(0 -194.84828739121545 52.56615835860373)"><path d="M-363.85 83.37 C-373.97 90.66, -384.2 101.62, -391.42 98.44 M-365.97 85.74 C-370.99 87.77, -379.92 93.71, -391.14 103.58" stroke="#c92a2a" stroke-width="1" fill="none"></path></g><g transform="translate(562.9999542236322 576.5000152587886) rotate(0 -194.84828739121545 52.56615835860373)"><path d="M-358.43 103.16 C-370.41 102.7, -382.75 105.92, -391.42 98.44 M-360.55 105.53 C-366.64 102.23, -377.01 102.87, -391.14 103.58" stroke="#c92a2a" stroke-width="1" fill="none"></path></g></g></svg>
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import CitySelect from './CitySelect'
|
|
2
|
-
|
|
3
|
-
export default CitySelect
|
|
1
|
+
import CitySelect from './CitySelect'
|
|
2
|
+
|
|
3
|
+
export default CitySelect
|
|
@@ -1,109 +1,109 @@
|
|
|
1
|
-
# 省市区修改组件
|
|
2
|
-
|
|
3
|
-
> 下拉框数据从库里查询 divisions_of_china 表
|
|
4
|
-
> 省市区数据存储格式
|
|
5
|
-
|
|
6
|
-
+---------+-----+------------+--------+--------+----------+
|
|
7
|
-
|code |name |provinceCode|cityCode|areaCode|parentCode|
|
|
8
|
-
+---------+-----+------------+--------+--------+----------+
|
|
9
|
-
|11 |北京市 |NULL |NULL |NULL |NULL |
|
|
10
|
-
|1101 |市辖区 |11 |NULL |NULL |11 |
|
|
11
|
-
|110101 |东城区 |11 |1101 |NULL |1101 |
|
|
12
|
-
|110101001|东华门街道|11 |1101 |110101 |1101 |
|
|
13
|
-
|110101002|景山街道 |11 |1101 |110101 |1101 |
|
|
14
|
-
+---------+-----+------------+--------+--------+----------+
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
查询出来之后转成tree 作为数据 (截取了一段数据)
|
|
18
|
-
|
|
19
|
-
```json
|
|
20
|
-
[
|
|
21
|
-
{
|
|
22
|
-
"code": "11",
|
|
23
|
-
"name": "北京",
|
|
24
|
-
"label": "北京",
|
|
25
|
-
"value": "北京",
|
|
26
|
-
"children":
|
|
27
|
-
[
|
|
28
|
-
{
|
|
29
|
-
"code": "1101",
|
|
30
|
-
"parentcode": "11",
|
|
31
|
-
"name": "辖区",
|
|
32
|
-
"label": "辖区",
|
|
33
|
-
"value": "辖区",
|
|
34
|
-
"children":
|
|
35
|
-
[
|
|
36
|
-
{
|
|
37
|
-
"code": "110101",
|
|
38
|
-
"parentcode": "1101",
|
|
39
|
-
"name": "东城区",
|
|
40
|
-
"label": "东城区",
|
|
41
|
-
"value": "东城区"
|
|
42
|
-
}
|
|
43
|
-
]}]}]
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
可传递参数
|
|
47
|
-
```js
|
|
48
|
-
props = {
|
|
49
|
-
// 页面渲染内容 默认 省市区街道 四个 所以是4
|
|
50
|
-
contexts: {
|
|
51
|
-
type: Number,
|
|
52
|
-
default: 3
|
|
53
|
-
},
|
|
54
|
-
placeholder: {
|
|
55
|
-
type: String,
|
|
56
|
-
default: '请选择省市区'
|
|
57
|
-
},
|
|
58
|
-
// small lage 输入框大小
|
|
59
|
-
size: {
|
|
60
|
-
type: String,
|
|
61
|
-
default: undefined
|
|
62
|
-
},
|
|
63
|
-
// 类型 simple / undefined
|
|
64
|
-
// simple 就是用的 cascader 不穿就是用的 自己封装的
|
|
65
|
-
type: {
|
|
66
|
-
type: String,
|
|
67
|
-
default: undefined
|
|
68
|
-
},
|
|
69
|
-
// 框的样式
|
|
70
|
-
inputStyle: {
|
|
71
|
-
type: Object,
|
|
72
|
-
default: () => {
|
|
73
|
-
}
|
|
74
|
-
},
|
|
75
|
-
// 下拉框的样式
|
|
76
|
-
dropdownStyle: {
|
|
77
|
-
type: Object,
|
|
78
|
-
default: () => {
|
|
79
|
-
return {
|
|
80
|
-
width: '35rem',
|
|
81
|
-
padding: '1%'
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
},
|
|
85
|
-
// 标签的样式
|
|
86
|
-
tagStyle: {
|
|
87
|
-
type: Object,
|
|
88
|
-
default: () => {
|
|
89
|
-
return {
|
|
90
|
-
fontSize: '0.88rem',
|
|
91
|
-
width: '23%',
|
|
92
|
-
textAlign: 'left',
|
|
93
|
-
margin: '0.5%',
|
|
94
|
-
cursor: 'pointer'
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
},
|
|
98
|
-
// 用于v-model 绑定
|
|
99
|
-
value: {
|
|
100
|
-
type: String,
|
|
101
|
-
default: undefined
|
|
102
|
-
},
|
|
103
|
-
// 用于v-model 绑定 code :最后一级的code address: 所有级拼接的地址
|
|
104
|
-
valueType: {
|
|
105
|
-
type: String,
|
|
106
|
-
default: 'address'
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
```
|
|
1
|
+
# 省市区修改组件
|
|
2
|
+
|
|
3
|
+
> 下拉框数据从库里查询 divisions_of_china 表
|
|
4
|
+
> 省市区数据存储格式
|
|
5
|
+
|
|
6
|
+
+---------+-----+------------+--------+--------+----------+
|
|
7
|
+
|code |name |provinceCode|cityCode|areaCode|parentCode|
|
|
8
|
+
+---------+-----+------------+--------+--------+----------+
|
|
9
|
+
|11 |北京市 |NULL |NULL |NULL |NULL |
|
|
10
|
+
|1101 |市辖区 |11 |NULL |NULL |11 |
|
|
11
|
+
|110101 |东城区 |11 |1101 |NULL |1101 |
|
|
12
|
+
|110101001|东华门街道|11 |1101 |110101 |1101 |
|
|
13
|
+
|110101002|景山街道 |11 |1101 |110101 |1101 |
|
|
14
|
+
+---------+-----+------------+--------+--------+----------+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
查询出来之后转成tree 作为数据 (截取了一段数据)
|
|
18
|
+
|
|
19
|
+
```json
|
|
20
|
+
[
|
|
21
|
+
{
|
|
22
|
+
"code": "11",
|
|
23
|
+
"name": "北京",
|
|
24
|
+
"label": "北京",
|
|
25
|
+
"value": "北京",
|
|
26
|
+
"children":
|
|
27
|
+
[
|
|
28
|
+
{
|
|
29
|
+
"code": "1101",
|
|
30
|
+
"parentcode": "11",
|
|
31
|
+
"name": "辖区",
|
|
32
|
+
"label": "辖区",
|
|
33
|
+
"value": "辖区",
|
|
34
|
+
"children":
|
|
35
|
+
[
|
|
36
|
+
{
|
|
37
|
+
"code": "110101",
|
|
38
|
+
"parentcode": "1101",
|
|
39
|
+
"name": "东城区",
|
|
40
|
+
"label": "东城区",
|
|
41
|
+
"value": "东城区"
|
|
42
|
+
}
|
|
43
|
+
]}]}]
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
可传递参数
|
|
47
|
+
```js
|
|
48
|
+
props = {
|
|
49
|
+
// 页面渲染内容 默认 省市区街道 四个 所以是4
|
|
50
|
+
contexts: {
|
|
51
|
+
type: Number,
|
|
52
|
+
default: 3
|
|
53
|
+
},
|
|
54
|
+
placeholder: {
|
|
55
|
+
type: String,
|
|
56
|
+
default: '请选择省市区'
|
|
57
|
+
},
|
|
58
|
+
// small lage 输入框大小
|
|
59
|
+
size: {
|
|
60
|
+
type: String,
|
|
61
|
+
default: undefined
|
|
62
|
+
},
|
|
63
|
+
// 类型 simple / undefined
|
|
64
|
+
// simple 就是用的 cascader 不穿就是用的 自己封装的
|
|
65
|
+
type: {
|
|
66
|
+
type: String,
|
|
67
|
+
default: undefined
|
|
68
|
+
},
|
|
69
|
+
// 框的样式
|
|
70
|
+
inputStyle: {
|
|
71
|
+
type: Object,
|
|
72
|
+
default: () => {
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
// 下拉框的样式
|
|
76
|
+
dropdownStyle: {
|
|
77
|
+
type: Object,
|
|
78
|
+
default: () => {
|
|
79
|
+
return {
|
|
80
|
+
width: '35rem',
|
|
81
|
+
padding: '1%'
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
// 标签的样式
|
|
86
|
+
tagStyle: {
|
|
87
|
+
type: Object,
|
|
88
|
+
default: () => {
|
|
89
|
+
return {
|
|
90
|
+
fontSize: '0.88rem',
|
|
91
|
+
width: '23%',
|
|
92
|
+
textAlign: 'left',
|
|
93
|
+
margin: '0.5%',
|
|
94
|
+
cursor: 'pointer'
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
},
|
|
98
|
+
// 用于v-model 绑定
|
|
99
|
+
value: {
|
|
100
|
+
type: String,
|
|
101
|
+
default: undefined
|
|
102
|
+
},
|
|
103
|
+
// 用于v-model 绑定 code :最后一级的code address: 所有级拼接的地址
|
|
104
|
+
valueType: {
|
|
105
|
+
type: String,
|
|
106
|
+
default: 'address'
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
```
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import PersonSetting from './PersonSetting'
|
|
2
|
-
|
|
3
|
-
export default PersonSetting
|
|
1
|
+
import PersonSetting from './PersonSetting'
|
|
2
|
+
|
|
3
|
+
export default PersonSetting
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import Upload from './Upload'
|
|
2
|
-
|
|
3
|
-
export default Upload
|
|
1
|
+
import Upload from './Upload'
|
|
2
|
+
|
|
3
|
+
export default Upload
|
|
@@ -346,12 +346,13 @@ export default {
|
|
|
346
346
|
title: '是否确认导出?',
|
|
347
347
|
content: '此操作将导出当前条件下所有数据而非选中数据',
|
|
348
348
|
onOk () {
|
|
349
|
-
|
|
349
|
+
exportData({
|
|
350
350
|
queryParamsName: that.queryParamsName,
|
|
351
351
|
queryParams: that.queryParams,
|
|
352
|
-
form: conditionParams
|
|
353
|
-
|
|
354
|
-
|
|
352
|
+
form: conditionParams
|
|
353
|
+
}, that.serviceName).then(res => {
|
|
354
|
+
window.open('/res/excel/export/' + res)
|
|
355
|
+
})
|
|
355
356
|
},
|
|
356
357
|
onCancel () {}
|
|
357
358
|
})
|
|
@@ -1,257 +1,257 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<a-card :bordered="false" class="result-success">
|
|
3
|
-
<result :description="description" :is-success="icon" :title="title">
|
|
4
|
-
<template slot="action">
|
|
5
|
-
<span v-if="countDown > 0" style="margin-right: 10px">{{ countDown }}</span>
|
|
6
|
-
<!-- <a-button type="primary" v-if="UrgentAvailable" :disabled="urgentAccess" style="margin-right: 20px" @click="urgent">请求加急处理</a-button> -->
|
|
7
|
-
<!-- <a-button type="danger" @click="closeBtn">撤销工单</a-button> -->
|
|
8
|
-
</template>
|
|
9
|
-
<a-modal
|
|
10
|
-
:visible="closeVisible"
|
|
11
|
-
:zIndex="1002"
|
|
12
|
-
title="关闭工单"
|
|
13
|
-
@cancel="handleCloseCancel"
|
|
14
|
-
@ok="handleCloseOk"
|
|
15
|
-
>
|
|
16
|
-
<p>是否确认手动关闭工单?</p>
|
|
17
|
-
<p style="color: red">(该操作不可撤销,请谨慎操作!)</p>
|
|
18
|
-
</a-modal>
|
|
19
|
-
<div>
|
|
20
|
-
<div class="project-name">工单处理进度</div>
|
|
21
|
-
<detail-list size="small" style="max-width: 800px; margin-bottom: 8px">
|
|
22
|
-
<detail-list-item term="工单编号">{{ serialNumber }}</detail-list-item>
|
|
23
|
-
<detail-list-item v-if="details.name" term="负责人">{{ details.name }}</detail-list-item>
|
|
24
|
-
<detail-list-item term="提交时间">{{ details.createdTime }}</detail-list-item>
|
|
25
|
-
</detail-list>
|
|
26
|
-
<a-steps :current="step" progressDot>
|
|
27
|
-
<a-step title="工单提交">
|
|
28
|
-
<a-step-item-group slot="description">
|
|
29
|
-
<a-step-item :title="details.uploader" />
|
|
30
|
-
<a-step-item :title="details.createdTime"/>
|
|
31
|
-
</a-step-item-group>
|
|
32
|
-
</a-step>
|
|
33
|
-
<a-step title="工单处理中" >
|
|
34
|
-
<a-step-item-group slot="description">
|
|
35
|
-
<a-step-item v-if="step >= 1" :title="details.phone ? `${details.name} (${details.phone})` : details.name" />
|
|
36
|
-
<a-step-item v-if="step >= 1" :title="details.confirmTime"/>
|
|
37
|
-
</a-step-item-group>
|
|
38
|
-
</a-step>
|
|
39
|
-
<a-step title="工单完成" >
|
|
40
|
-
<a-step-item-group slot="description">
|
|
41
|
-
<a-step-item v-if="step >= 2" :title="details.finishedTime"/>
|
|
42
|
-
</a-step-item-group>
|
|
43
|
-
</a-step>
|
|
44
|
-
</a-steps>
|
|
45
|
-
</div>
|
|
46
|
-
</result>
|
|
47
|
-
<div class="ticket-detail">
|
|
48
|
-
<a-row class="item">
|
|
49
|
-
<a-col :span="3"><span class="title">问题描述</span></a-col>
|
|
50
|
-
<a-col :span="17"><span>{{ details.description }}</span></a-col>
|
|
51
|
-
</a-row>
|
|
52
|
-
<a-row class="item">
|
|
53
|
-
<a-col :span="3"><span class="title">问题截图</span></a-col>
|
|
54
|
-
<a-col :span="21"><image-item :images="details.images" :width="120" @preview="handleFilePreview" /></a-col>
|
|
55
|
-
</a-row>
|
|
56
|
-
<a-row v-if="details.files.length" class="item">
|
|
57
|
-
<a-col :span="3"><span class="title">附件</span></a-col>
|
|
58
|
-
<a-col :span="21"><file-item :files="details.files" :downloadable="false" @preview="handleFilePreview" /></a-col>
|
|
59
|
-
</a-row>
|
|
60
|
-
<a-row v-if="details.resultrecord" class="item">
|
|
61
|
-
<a-col :span="3"><span class="title">处理结果</span></a-col>
|
|
62
|
-
<a-col :span="17"><span>{{ details.resultrecord }}</span></a-col>
|
|
63
|
-
</a-row>
|
|
64
|
-
</div>
|
|
65
|
-
<a-modal v-model="filePreviewVisible" :footer="null" :dialog-style="{ top: '30px' }" width="80%" :z-index="1001">
|
|
66
|
-
<file-preview :path="filePath" />
|
|
67
|
-
</a-modal>
|
|
68
|
-
</a-card>
|
|
69
|
-
</template>
|
|
70
|
-
|
|
71
|
-
<script>
|
|
72
|
-
import Result from '@vue2-client/components/result/Result'
|
|
73
|
-
import DetailList from '@vue2-client/components/tool/DetailList'
|
|
74
|
-
import AStepItem from '@vue2-client/components/tool/AStepItem'
|
|
75
|
-
import { TicketDetailsViewApi, post } from '@vue2-client/services/api'
|
|
76
|
-
import { formatDate } from '@vue2-client/utils/util'
|
|
77
|
-
import { FileItem, ImageItem } from '@vue2-client/components/FileImageItem'
|
|
78
|
-
import FilePreview from '@vue2-client/components/FilePreview'
|
|
79
|
-
|
|
80
|
-
const AStepItemGroup = AStepItem.Group
|
|
81
|
-
const DetailListItem = DetailList.Item
|
|
82
|
-
|
|
83
|
-
export default {
|
|
84
|
-
name: 'submitTicketSuccess',
|
|
85
|
-
components: { AStepItemGroup, AStepItem, DetailListItem, DetailList, Result, FileItem, ImageItem, FilePreview },
|
|
86
|
-
props: {
|
|
87
|
-
// 工单序列号
|
|
88
|
-
serialNumber: {
|
|
89
|
-
type: String,
|
|
90
|
-
required: true
|
|
91
|
-
}
|
|
92
|
-
},
|
|
93
|
-
data () {
|
|
94
|
-
return {
|
|
95
|
-
title: '提交成功',
|
|
96
|
-
description: '您创建的工单已成功提交,请保持电话畅通,我们的工作人员将尽快与您取得联系。', // +
|
|
97
|
-
// '如果需要加急,请在倒计时结束后点击加急按钮,加急后我们将优先处理您的工单',
|
|
98
|
-
// 工单详情
|
|
99
|
-
details: {
|
|
100
|
-
uploader: '',
|
|
101
|
-
status: 0,
|
|
102
|
-
name: '',
|
|
103
|
-
phone: '',
|
|
104
|
-
createdTime: '',
|
|
105
|
-
confirmTime: '',
|
|
106
|
-
finishedTime: '',
|
|
107
|
-
description: '',
|
|
108
|
-
resultrecord: '',
|
|
109
|
-
files: [],
|
|
110
|
-
images: []
|
|
111
|
-
},
|
|
112
|
-
// 控制加急按钮
|
|
113
|
-
urgentAccess: true,
|
|
114
|
-
// 倒计时
|
|
115
|
-
countDown: 0,
|
|
116
|
-
// 控制加急按钮显示
|
|
117
|
-
UrgentAvailable: true,
|
|
118
|
-
// 取消工单确认框可见性
|
|
119
|
-
closeVisible: false,
|
|
120
|
-
// 控制页面大图标
|
|
121
|
-
icon: true,
|
|
122
|
-
// 文件预览
|
|
123
|
-
filePreviewVisible: false,
|
|
124
|
-
filePath: ''
|
|
125
|
-
}
|
|
126
|
-
},
|
|
127
|
-
mounted () {
|
|
128
|
-
this.getTicketDetail()
|
|
129
|
-
},
|
|
130
|
-
methods: {
|
|
131
|
-
format (date, format) {
|
|
132
|
-
return formatDate(date, format)
|
|
133
|
-
},
|
|
134
|
-
// 关闭工单确认后操作
|
|
135
|
-
handleCloseOk () {
|
|
136
|
-
return post(TicketDetailsViewApi.manualCloseTicketByCustomer, {
|
|
137
|
-
serialNumber: this.serialNumber,
|
|
138
|
-
time: new Date()
|
|
139
|
-
})
|
|
140
|
-
.then(res => {
|
|
141
|
-
this.closeVisible = false
|
|
142
|
-
this.title = '工单已关闭'
|
|
143
|
-
this.description = ''
|
|
144
|
-
this.icon = false
|
|
145
|
-
}, err => {
|
|
146
|
-
console.error(err)
|
|
147
|
-
})
|
|
148
|
-
},
|
|
149
|
-
// 关闭工单取消后业务逻辑
|
|
150
|
-
handleCloseCancel () {
|
|
151
|
-
this.closeVisible = false
|
|
152
|
-
},
|
|
153
|
-
// 关闭工单按钮
|
|
154
|
-
closeBtn () {
|
|
155
|
-
this.closeVisible = true
|
|
156
|
-
},
|
|
157
|
-
// 对工单进行加急处理
|
|
158
|
-
urgent () {
|
|
159
|
-
return post(TicketDetailsViewApi.rushTicket, {
|
|
160
|
-
serialNumber: this.serialNumber
|
|
161
|
-
})
|
|
162
|
-
.then(res => {
|
|
163
|
-
if (res.data === 1) {
|
|
164
|
-
this.$message.success(
|
|
165
|
-
'操作成功',
|
|
166
|
-
5
|
|
167
|
-
)
|
|
168
|
-
this.description = '您的工单已经被加急处理,我们的工作人员会优先处理您的请求。'
|
|
169
|
-
this.UrgentAvailable = false
|
|
170
|
-
} else {
|
|
171
|
-
this.$message.error(
|
|
172
|
-
'操作失败',
|
|
173
|
-
5
|
|
174
|
-
)
|
|
175
|
-
}
|
|
176
|
-
}, err => {
|
|
177
|
-
console.log(err)
|
|
178
|
-
})
|
|
179
|
-
},
|
|
180
|
-
// 获取工单详情
|
|
181
|
-
getTicketDetail () {
|
|
182
|
-
return post(TicketDetailsViewApi.getTicketDetailsForUploader, {
|
|
183
|
-
serialNumber: this.serialNumber
|
|
184
|
-
})
|
|
185
|
-
.then(res => {
|
|
186
|
-
this.details.uploader = res.uploader
|
|
187
|
-
// 判断负责人有没有值
|
|
188
|
-
if (res.name === undefined) {
|
|
189
|
-
this.details.name = ''
|
|
190
|
-
} else {
|
|
191
|
-
this.details.name = res.name
|
|
192
|
-
}
|
|
193
|
-
// 判断工单被确认时间
|
|
194
|
-
if (res.confirmtime === undefined) {
|
|
195
|
-
this.details.confirmTime = ''
|
|
196
|
-
} else {
|
|
197
|
-
this.details.confirmTime = this.format(res.confirmtime, 'yyyy-MM-dd hh:mm:ss')
|
|
198
|
-
}
|
|
199
|
-
// 判断工单完成时间
|
|
200
|
-
if (res.finishedtime === undefined) {
|
|
201
|
-
this.details.finishedTime = ''
|
|
202
|
-
} else {
|
|
203
|
-
this.details.finishedTime = this.format(res.finishedtime, 'yyyy-MM-dd hh:mm:ss')
|
|
204
|
-
}
|
|
205
|
-
this.details.createdTime = this.format(res.createdtime, 'yyyy-MM-dd hh:mm:ss')
|
|
206
|
-
this.details.status = res.status
|
|
207
|
-
this.details.phone = res.phone
|
|
208
|
-
this.details.description = res.description
|
|
209
|
-
this.details.files = res.files
|
|
210
|
-
this.details.images = res.images
|
|
211
|
-
this.details.resultrecord = res.resultrecord
|
|
212
|
-
}, err => {
|
|
213
|
-
console.log(err)
|
|
214
|
-
})
|
|
215
|
-
},
|
|
216
|
-
handleFilePreview (path) {
|
|
217
|
-
this.filePath = path
|
|
218
|
-
this.filePreviewVisible = true
|
|
219
|
-
}
|
|
220
|
-
},
|
|
221
|
-
computed: {
|
|
222
|
-
// 用于进度条,进度显示控制
|
|
223
|
-
step () {
|
|
224
|
-
if (this.details.status !== 0 && this.details.status !== 1) {
|
|
225
|
-
return 2
|
|
226
|
-
} else {
|
|
227
|
-
return this.details.status
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
</script>
|
|
233
|
-
|
|
234
|
-
<style lang="less" scoped>
|
|
235
|
-
.result-success{
|
|
236
|
-
.action:not(:first-child){
|
|
237
|
-
margin-left: 8px;
|
|
238
|
-
}
|
|
239
|
-
.project-name{
|
|
240
|
-
font-size: 16px;
|
|
241
|
-
color: @title-color;
|
|
242
|
-
font-weight: 500;
|
|
243
|
-
margin-bottom: 20px;
|
|
244
|
-
}
|
|
245
|
-
}
|
|
246
|
-
.ticket-detail {
|
|
247
|
-
width: 72%;
|
|
248
|
-
margin: 0 auto;
|
|
249
|
-
.item {
|
|
250
|
-
margin-bottom: 14px;
|
|
251
|
-
}
|
|
252
|
-
.title {
|
|
253
|
-
font-size: 14px;
|
|
254
|
-
font-weight: 600;
|
|
255
|
-
}
|
|
256
|
-
}
|
|
257
|
-
</style>
|
|
1
|
+
<template>
|
|
2
|
+
<a-card :bordered="false" class="result-success">
|
|
3
|
+
<result :description="description" :is-success="icon" :title="title">
|
|
4
|
+
<template slot="action">
|
|
5
|
+
<span v-if="countDown > 0" style="margin-right: 10px">{{ countDown }}</span>
|
|
6
|
+
<!-- <a-button type="primary" v-if="UrgentAvailable" :disabled="urgentAccess" style="margin-right: 20px" @click="urgent">请求加急处理</a-button> -->
|
|
7
|
+
<!-- <a-button type="danger" @click="closeBtn">撤销工单</a-button> -->
|
|
8
|
+
</template>
|
|
9
|
+
<a-modal
|
|
10
|
+
:visible="closeVisible"
|
|
11
|
+
:zIndex="1002"
|
|
12
|
+
title="关闭工单"
|
|
13
|
+
@cancel="handleCloseCancel"
|
|
14
|
+
@ok="handleCloseOk"
|
|
15
|
+
>
|
|
16
|
+
<p>是否确认手动关闭工单?</p>
|
|
17
|
+
<p style="color: red">(该操作不可撤销,请谨慎操作!)</p>
|
|
18
|
+
</a-modal>
|
|
19
|
+
<div>
|
|
20
|
+
<div class="project-name">工单处理进度</div>
|
|
21
|
+
<detail-list size="small" style="max-width: 800px; margin-bottom: 8px">
|
|
22
|
+
<detail-list-item term="工单编号">{{ serialNumber }}</detail-list-item>
|
|
23
|
+
<detail-list-item v-if="details.name" term="负责人">{{ details.name }}</detail-list-item>
|
|
24
|
+
<detail-list-item term="提交时间">{{ details.createdTime }}</detail-list-item>
|
|
25
|
+
</detail-list>
|
|
26
|
+
<a-steps :current="step" progressDot>
|
|
27
|
+
<a-step title="工单提交">
|
|
28
|
+
<a-step-item-group slot="description">
|
|
29
|
+
<a-step-item :title="details.uploader" />
|
|
30
|
+
<a-step-item :title="details.createdTime"/>
|
|
31
|
+
</a-step-item-group>
|
|
32
|
+
</a-step>
|
|
33
|
+
<a-step title="工单处理中" >
|
|
34
|
+
<a-step-item-group slot="description">
|
|
35
|
+
<a-step-item v-if="step >= 1" :title="details.phone ? `${details.name} (${details.phone})` : details.name" />
|
|
36
|
+
<a-step-item v-if="step >= 1" :title="details.confirmTime"/>
|
|
37
|
+
</a-step-item-group>
|
|
38
|
+
</a-step>
|
|
39
|
+
<a-step title="工单完成" >
|
|
40
|
+
<a-step-item-group slot="description">
|
|
41
|
+
<a-step-item v-if="step >= 2" :title="details.finishedTime"/>
|
|
42
|
+
</a-step-item-group>
|
|
43
|
+
</a-step>
|
|
44
|
+
</a-steps>
|
|
45
|
+
</div>
|
|
46
|
+
</result>
|
|
47
|
+
<div class="ticket-detail">
|
|
48
|
+
<a-row class="item">
|
|
49
|
+
<a-col :span="3"><span class="title">问题描述</span></a-col>
|
|
50
|
+
<a-col :span="17"><span>{{ details.description }}</span></a-col>
|
|
51
|
+
</a-row>
|
|
52
|
+
<a-row class="item">
|
|
53
|
+
<a-col :span="3"><span class="title">问题截图</span></a-col>
|
|
54
|
+
<a-col :span="21"><image-item :images="details.images" :width="120" @preview="handleFilePreview" /></a-col>
|
|
55
|
+
</a-row>
|
|
56
|
+
<a-row v-if="details.files.length" class="item">
|
|
57
|
+
<a-col :span="3"><span class="title">附件</span></a-col>
|
|
58
|
+
<a-col :span="21"><file-item :files="details.files" :downloadable="false" @preview="handleFilePreview" /></a-col>
|
|
59
|
+
</a-row>
|
|
60
|
+
<a-row v-if="details.resultrecord" class="item">
|
|
61
|
+
<a-col :span="3"><span class="title">处理结果</span></a-col>
|
|
62
|
+
<a-col :span="17"><span>{{ details.resultrecord }}</span></a-col>
|
|
63
|
+
</a-row>
|
|
64
|
+
</div>
|
|
65
|
+
<a-modal v-model="filePreviewVisible" :footer="null" :dialog-style="{ top: '30px' }" width="80%" :z-index="1001">
|
|
66
|
+
<file-preview :path="filePath" />
|
|
67
|
+
</a-modal>
|
|
68
|
+
</a-card>
|
|
69
|
+
</template>
|
|
70
|
+
|
|
71
|
+
<script>
|
|
72
|
+
import Result from '@vue2-client/components/result/Result'
|
|
73
|
+
import DetailList from '@vue2-client/components/tool/DetailList'
|
|
74
|
+
import AStepItem from '@vue2-client/components/tool/AStepItem'
|
|
75
|
+
import { TicketDetailsViewApi, post } from '@vue2-client/services/api'
|
|
76
|
+
import { formatDate } from '@vue2-client/utils/util'
|
|
77
|
+
import { FileItem, ImageItem } from '@vue2-client/components/FileImageItem'
|
|
78
|
+
import FilePreview from '@vue2-client/components/FilePreview'
|
|
79
|
+
|
|
80
|
+
const AStepItemGroup = AStepItem.Group
|
|
81
|
+
const DetailListItem = DetailList.Item
|
|
82
|
+
|
|
83
|
+
export default {
|
|
84
|
+
name: 'submitTicketSuccess',
|
|
85
|
+
components: { AStepItemGroup, AStepItem, DetailListItem, DetailList, Result, FileItem, ImageItem, FilePreview },
|
|
86
|
+
props: {
|
|
87
|
+
// 工单序列号
|
|
88
|
+
serialNumber: {
|
|
89
|
+
type: String,
|
|
90
|
+
required: true
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
data () {
|
|
94
|
+
return {
|
|
95
|
+
title: '提交成功',
|
|
96
|
+
description: '您创建的工单已成功提交,请保持电话畅通,我们的工作人员将尽快与您取得联系。', // +
|
|
97
|
+
// '如果需要加急,请在倒计时结束后点击加急按钮,加急后我们将优先处理您的工单',
|
|
98
|
+
// 工单详情
|
|
99
|
+
details: {
|
|
100
|
+
uploader: '',
|
|
101
|
+
status: 0,
|
|
102
|
+
name: '',
|
|
103
|
+
phone: '',
|
|
104
|
+
createdTime: '',
|
|
105
|
+
confirmTime: '',
|
|
106
|
+
finishedTime: '',
|
|
107
|
+
description: '',
|
|
108
|
+
resultrecord: '',
|
|
109
|
+
files: [],
|
|
110
|
+
images: []
|
|
111
|
+
},
|
|
112
|
+
// 控制加急按钮
|
|
113
|
+
urgentAccess: true,
|
|
114
|
+
// 倒计时
|
|
115
|
+
countDown: 0,
|
|
116
|
+
// 控制加急按钮显示
|
|
117
|
+
UrgentAvailable: true,
|
|
118
|
+
// 取消工单确认框可见性
|
|
119
|
+
closeVisible: false,
|
|
120
|
+
// 控制页面大图标
|
|
121
|
+
icon: true,
|
|
122
|
+
// 文件预览
|
|
123
|
+
filePreviewVisible: false,
|
|
124
|
+
filePath: ''
|
|
125
|
+
}
|
|
126
|
+
},
|
|
127
|
+
mounted () {
|
|
128
|
+
this.getTicketDetail()
|
|
129
|
+
},
|
|
130
|
+
methods: {
|
|
131
|
+
format (date, format) {
|
|
132
|
+
return formatDate(date, format)
|
|
133
|
+
},
|
|
134
|
+
// 关闭工单确认后操作
|
|
135
|
+
handleCloseOk () {
|
|
136
|
+
return post(TicketDetailsViewApi.manualCloseTicketByCustomer, {
|
|
137
|
+
serialNumber: this.serialNumber,
|
|
138
|
+
time: new Date()
|
|
139
|
+
})
|
|
140
|
+
.then(res => {
|
|
141
|
+
this.closeVisible = false
|
|
142
|
+
this.title = '工单已关闭'
|
|
143
|
+
this.description = ''
|
|
144
|
+
this.icon = false
|
|
145
|
+
}, err => {
|
|
146
|
+
console.error(err)
|
|
147
|
+
})
|
|
148
|
+
},
|
|
149
|
+
// 关闭工单取消后业务逻辑
|
|
150
|
+
handleCloseCancel () {
|
|
151
|
+
this.closeVisible = false
|
|
152
|
+
},
|
|
153
|
+
// 关闭工单按钮
|
|
154
|
+
closeBtn () {
|
|
155
|
+
this.closeVisible = true
|
|
156
|
+
},
|
|
157
|
+
// 对工单进行加急处理
|
|
158
|
+
urgent () {
|
|
159
|
+
return post(TicketDetailsViewApi.rushTicket, {
|
|
160
|
+
serialNumber: this.serialNumber
|
|
161
|
+
})
|
|
162
|
+
.then(res => {
|
|
163
|
+
if (res.data === 1) {
|
|
164
|
+
this.$message.success(
|
|
165
|
+
'操作成功',
|
|
166
|
+
5
|
|
167
|
+
)
|
|
168
|
+
this.description = '您的工单已经被加急处理,我们的工作人员会优先处理您的请求。'
|
|
169
|
+
this.UrgentAvailable = false
|
|
170
|
+
} else {
|
|
171
|
+
this.$message.error(
|
|
172
|
+
'操作失败',
|
|
173
|
+
5
|
|
174
|
+
)
|
|
175
|
+
}
|
|
176
|
+
}, err => {
|
|
177
|
+
console.log(err)
|
|
178
|
+
})
|
|
179
|
+
},
|
|
180
|
+
// 获取工单详情
|
|
181
|
+
getTicketDetail () {
|
|
182
|
+
return post(TicketDetailsViewApi.getTicketDetailsForUploader, {
|
|
183
|
+
serialNumber: this.serialNumber
|
|
184
|
+
})
|
|
185
|
+
.then(res => {
|
|
186
|
+
this.details.uploader = res.uploader
|
|
187
|
+
// 判断负责人有没有值
|
|
188
|
+
if (res.name === undefined) {
|
|
189
|
+
this.details.name = ''
|
|
190
|
+
} else {
|
|
191
|
+
this.details.name = res.name
|
|
192
|
+
}
|
|
193
|
+
// 判断工单被确认时间
|
|
194
|
+
if (res.confirmtime === undefined) {
|
|
195
|
+
this.details.confirmTime = ''
|
|
196
|
+
} else {
|
|
197
|
+
this.details.confirmTime = this.format(res.confirmtime, 'yyyy-MM-dd hh:mm:ss')
|
|
198
|
+
}
|
|
199
|
+
// 判断工单完成时间
|
|
200
|
+
if (res.finishedtime === undefined) {
|
|
201
|
+
this.details.finishedTime = ''
|
|
202
|
+
} else {
|
|
203
|
+
this.details.finishedTime = this.format(res.finishedtime, 'yyyy-MM-dd hh:mm:ss')
|
|
204
|
+
}
|
|
205
|
+
this.details.createdTime = this.format(res.createdtime, 'yyyy-MM-dd hh:mm:ss')
|
|
206
|
+
this.details.status = res.status
|
|
207
|
+
this.details.phone = res.phone
|
|
208
|
+
this.details.description = res.description
|
|
209
|
+
this.details.files = res.files
|
|
210
|
+
this.details.images = res.images
|
|
211
|
+
this.details.resultrecord = res.resultrecord
|
|
212
|
+
}, err => {
|
|
213
|
+
console.log(err)
|
|
214
|
+
})
|
|
215
|
+
},
|
|
216
|
+
handleFilePreview (path) {
|
|
217
|
+
this.filePath = path
|
|
218
|
+
this.filePreviewVisible = true
|
|
219
|
+
}
|
|
220
|
+
},
|
|
221
|
+
computed: {
|
|
222
|
+
// 用于进度条,进度显示控制
|
|
223
|
+
step () {
|
|
224
|
+
if (this.details.status !== 0 && this.details.status !== 1) {
|
|
225
|
+
return 2
|
|
226
|
+
} else {
|
|
227
|
+
return this.details.status
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
</script>
|
|
233
|
+
|
|
234
|
+
<style lang="less" scoped>
|
|
235
|
+
.result-success{
|
|
236
|
+
.action:not(:first-child){
|
|
237
|
+
margin-left: 8px;
|
|
238
|
+
}
|
|
239
|
+
.project-name{
|
|
240
|
+
font-size: 16px;
|
|
241
|
+
color: @title-color;
|
|
242
|
+
font-weight: 500;
|
|
243
|
+
margin-bottom: 20px;
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
.ticket-detail {
|
|
247
|
+
width: 72%;
|
|
248
|
+
margin: 0 auto;
|
|
249
|
+
.item {
|
|
250
|
+
margin-bottom: 14px;
|
|
251
|
+
}
|
|
252
|
+
.title {
|
|
253
|
+
font-size: 14px;
|
|
254
|
+
font-weight: 600;
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
</style>
|
|
@@ -26,7 +26,9 @@ const commonApi = {
|
|
|
26
26
|
// 下载数据
|
|
27
27
|
download: 'resource/download',
|
|
28
28
|
// 通用上传
|
|
29
|
-
upload: '/resource/upload'
|
|
29
|
+
upload: '/resource/upload',
|
|
30
|
+
// 通用导出
|
|
31
|
+
exportData: 'logic/commonExport'
|
|
30
32
|
}
|
|
31
33
|
|
|
32
34
|
/**
|
|
@@ -80,6 +82,15 @@ export function upload (parameter, serviceName = 'af-system', config) {
|
|
|
80
82
|
return post('/api/' + serviceName + '/' + commonApi.upload, parameter, config)
|
|
81
83
|
}
|
|
82
84
|
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* 通用导出
|
|
88
|
+
*/
|
|
89
|
+
common.js
|
|
90
|
+
export function exportData (parameter, serviceName = 'af-system') {
|
|
91
|
+
return post('/api/' + serviceName + '/' + commonApi.exportData, parameter, null)
|
|
92
|
+
}
|
|
93
|
+
|
|
83
94
|
// 通用下载
|
|
84
95
|
export function download (parameter, filename, serviceName = 'af-system') {
|
|
85
96
|
const notificationKey = 'download'
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
import { METHOD, request } from '@vue2-client/utils/request'
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* GET请求
|
|
5
|
-
* @param url 请求地址
|
|
6
|
-
* @param parameter 路径参数
|
|
7
|
-
* @returns {Promise<AxiosResponse<T>>}
|
|
8
|
-
*/
|
|
9
|
-
function get (url, parameter) {
|
|
10
|
-
return request(url, METHOD.GET, parameter)
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* POST请求
|
|
15
|
-
* @param url 请求地址
|
|
16
|
-
* @param parameter 请求参数
|
|
17
|
-
* @param config
|
|
18
|
-
* @returns {Promise<AxiosResponse<T>>}
|
|
19
|
-
*/
|
|
20
|
-
function post (url, parameter, config = {}) {
|
|
21
|
-
return request(url, METHOD.POST, parameter, config)
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
export { get, post }
|
|
1
|
+
import { METHOD, request } from '@vue2-client/utils/request'
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* GET请求
|
|
5
|
+
* @param url 请求地址
|
|
6
|
+
* @param parameter 路径参数
|
|
7
|
+
* @returns {Promise<AxiosResponse<T>>}
|
|
8
|
+
*/
|
|
9
|
+
function get (url, parameter) {
|
|
10
|
+
return request(url, METHOD.GET, parameter)
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* POST请求
|
|
15
|
+
* @param url 请求地址
|
|
16
|
+
* @param parameter 请求参数
|
|
17
|
+
* @param config
|
|
18
|
+
* @returns {Promise<AxiosResponse<T>>}
|
|
19
|
+
*/
|
|
20
|
+
function post (url, parameter, config = {}) {
|
|
21
|
+
return request(url, METHOD.POST, parameter, config)
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export { get, post }
|