Przeglądaj źródła

科室标本详情优化

maotao 1 rok temu
rodzic
commit
5acde2c423
6 zmienionych plików z 417 dodań i 69 usunięć
  1. 287 12
      package-lock.json
  2. 1 0
      package.json
  3. 4 0
      src/App.vue
  4. 3 1
      src/main.js
  5. 98 44
      src/views/AppIndex.vue
  6. 24 12
      vue.config.js

+ 287 - 12
package-lock.json

@@ -8,6 +8,7 @@
8
       "name": "hsms-specimen-view",
8
       "name": "hsms-specimen-view",
9
       "version": "0.1.0",
9
       "version": "0.1.0",
10
       "dependencies": {
10
       "dependencies": {
11
+        "ant-design-vue": "^1.7.8",
11
         "axios": "^0.20.0",
12
         "axios": "^0.20.0",
12
         "core-js": "^3.6.5",
13
         "core-js": "^3.6.5",
13
         "vue": "^2.6.11",
14
         "vue": "^2.6.11",
@@ -55,6 +56,33 @@
55
         "node": ">=6.0.0"
56
         "node": ">=6.0.0"
56
       }
57
       }
57
     },
58
     },
59
+    "node_modules/@ant-design/colors": {
60
+      "version": "3.2.2",
61
+      "resolved": "https://registry.npmmirror.com/@ant-design/colors/-/colors-3.2.2.tgz",
62
+      "integrity": "sha512-YKgNbG2dlzqMhA9NtI3/pbY16m3Yl/EeWBRa+lB1X1YaYxHrxNexiQYCLTWO/uDvAjLFMEDU+zR901waBtMtjQ==",
63
+      "dependencies": {
64
+        "tinycolor2": "^1.4.1"
65
+      }
66
+    },
67
+    "node_modules/@ant-design/icons": {
68
+      "version": "2.1.1",
69
+      "resolved": "https://registry.npmmirror.com/@ant-design/icons/-/icons-2.1.1.tgz",
70
+      "integrity": "sha512-jCH+k2Vjlno4YWl6g535nHR09PwCEmTBKAG6VqF+rhkrSPRLfgpU2maagwbZPLjaHuU5Jd1DFQ2KJpQuI6uG8w=="
71
+    },
72
+    "node_modules/@ant-design/icons-vue": {
73
+      "version": "2.0.0",
74
+      "resolved": "https://registry.npmmirror.com/@ant-design/icons-vue/-/icons-vue-2.0.0.tgz",
75
+      "integrity": "sha512-2c0QQE5hL4N48k5NkPG5sdpMl9YnvyNhf0U7YkdZYDlLnspoRU7vIA0UK9eHBs6OpFLcJB6o8eJrIl2ajBskPg==",
76
+      "dependencies": {
77
+        "@ant-design/colors": "^3.1.0",
78
+        "babel-runtime": "^6.26.0"
79
+      },
80
+      "peerDependencies": {
81
+        "@ant-design/icons": "^2.0.0",
82
+        "vue": ">=2.5.0",
83
+        "vue-template-compiler": ">=2.5.0"
84
+      }
85
+    },
58
     "node_modules/@babel/code-frame": {
86
     "node_modules/@babel/code-frame": {
59
       "version": "7.24.7",
87
       "version": "7.24.7",
60
       "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.24.7.tgz",
88
       "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.24.7.tgz",
@@ -1977,6 +2005,15 @@
1977
         "node": ">= 6"
2005
         "node": ">= 6"
1978
       }
2006
       }
1979
     },
2007
     },
2008
+    "node_modules/@simonwep/pickr": {
2009
+      "version": "1.7.4",
2010
+      "resolved": "https://registry.npmmirror.com/@simonwep/pickr/-/pickr-1.7.4.tgz",
2011
+      "integrity": "sha512-fq7jgKJT21uWGC1mARBHvvd1JYlEf93o7SuVOB4Lr0x/2UPuNC9Oe9n/GzVeg4oVtqMDfh1wIEJpsdOJEZb+3g==",
2012
+      "dependencies": {
2013
+        "core-js": "^3.6.5",
2014
+        "nanopop": "^2.1.0"
2015
+      }
2016
+    },
1980
     "node_modules/@soda/friendly-errors-webpack-plugin": {
2017
     "node_modules/@soda/friendly-errors-webpack-plugin": {
1981
       "version": "1.8.1",
2018
       "version": "1.8.1",
1982
       "resolved": "https://registry.npmmirror.com/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.8.1.tgz",
2019
       "resolved": "https://registry.npmmirror.com/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.8.1.tgz",
@@ -3127,6 +3164,14 @@
3127
         "node": ">=0.4.0"
3164
         "node": ">=0.4.0"
3128
       }
3165
       }
3129
     },
3166
     },
3167
+    "node_modules/add-dom-event-listener": {
3168
+      "version": "1.1.0",
3169
+      "resolved": "https://registry.npmmirror.com/add-dom-event-listener/-/add-dom-event-listener-1.1.0.tgz",
3170
+      "integrity": "sha512-WCxx1ixHT0GQU9hb0KI/mhgRQhnU+U3GvwY6ZvVjYq8rsihIGoaIOUbY0yMPBxLH5MDtr0kz3fisWGNcbWW7Jw==",
3171
+      "dependencies": {
3172
+        "object-assign": "4.x"
3173
+      }
3174
+    },
3130
     "node_modules/address": {
3175
     "node_modules/address": {
3131
       "version": "1.2.2",
3176
       "version": "1.2.2",
3132
       "resolved": "https://registry.npmmirror.com/address/-/address-1.2.2.tgz",
3177
       "resolved": "https://registry.npmmirror.com/address/-/address-1.2.2.tgz",
@@ -3233,6 +3278,48 @@
3233
         "node": ">=4"
3278
         "node": ">=4"
3234
       }
3279
       }
3235
     },
3280
     },
3281
+    "node_modules/ant-design-vue": {
3282
+      "version": "1.7.8",
3283
+      "resolved": "https://registry.npmmirror.com/ant-design-vue/-/ant-design-vue-1.7.8.tgz",
3284
+      "integrity": "sha512-F1hmiS9vwbyfuFvlamdW5l9bHKqRlj9wHaGDIE41NZMWXyWy8qL0UFa/+I0Wl8gQWZCqODW5pN6Yfoyn85At3A==",
3285
+      "hasInstallScript": true,
3286
+      "dependencies": {
3287
+        "@ant-design/icons": "^2.1.1",
3288
+        "@ant-design/icons-vue": "^2.0.0",
3289
+        "@simonwep/pickr": "~1.7.0",
3290
+        "add-dom-event-listener": "^1.0.2",
3291
+        "array-tree-filter": "^2.1.0",
3292
+        "async-validator": "^3.0.3",
3293
+        "babel-helper-vue-jsx-merge-props": "^2.0.3",
3294
+        "babel-runtime": "6.x",
3295
+        "classnames": "^2.2.5",
3296
+        "component-classes": "^1.2.6",
3297
+        "dom-align": "^1.10.4",
3298
+        "dom-closest": "^0.2.0",
3299
+        "dom-scroll-into-view": "^2.0.0",
3300
+        "enquire.js": "^2.1.6",
3301
+        "intersperse": "^1.0.0",
3302
+        "is-mobile": "^2.2.1",
3303
+        "is-negative-zero": "^2.0.0",
3304
+        "ismobilejs": "^1.0.0",
3305
+        "json2mq": "^0.2.0",
3306
+        "lodash": "^4.17.5",
3307
+        "moment": "^2.21.0",
3308
+        "mutationobserver-shim": "^0.3.2",
3309
+        "node-emoji": "^1.10.0",
3310
+        "omit.js": "^1.0.0",
3311
+        "raf": "^3.4.0",
3312
+        "resize-observer-polyfill": "^1.5.1",
3313
+        "shallow-equal": "^1.0.0",
3314
+        "shallowequal": "^1.0.2",
3315
+        "vue-ref": "^2.0.0",
3316
+        "warning": "^4.0.0"
3317
+      },
3318
+      "peerDependencies": {
3319
+        "vue": "^2.6.0",
3320
+        "vue-template-compiler": "^2.6.0"
3321
+      }
3322
+    },
3236
     "node_modules/any-promise": {
3323
     "node_modules/any-promise": {
3237
       "version": "1.3.0",
3324
       "version": "1.3.0",
3238
       "resolved": "https://registry.npmmirror.com/any-promise/-/any-promise-1.3.0.tgz",
3325
       "resolved": "https://registry.npmmirror.com/any-promise/-/any-promise-1.3.0.tgz",
@@ -3336,6 +3423,11 @@
3336
       "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==",
3423
       "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==",
3337
       "dev": true
3424
       "dev": true
3338
     },
3425
     },
3426
+    "node_modules/array-tree-filter": {
3427
+      "version": "2.1.0",
3428
+      "resolved": "https://registry.npmmirror.com/array-tree-filter/-/array-tree-filter-2.1.0.tgz",
3429
+      "integrity": "sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw=="
3430
+    },
3339
     "node_modules/array-union": {
3431
     "node_modules/array-union": {
3340
       "version": "1.0.2",
3432
       "version": "1.0.2",
3341
       "resolved": "https://registry.npmmirror.com/array-union/-/array-union-1.0.2.tgz",
3433
       "resolved": "https://registry.npmmirror.com/array-union/-/array-union-1.0.2.tgz",
@@ -3514,6 +3606,11 @@
3514
       "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==",
3606
       "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==",
3515
       "dev": true
3607
       "dev": true
3516
     },
3608
     },
3609
+    "node_modules/async-validator": {
3610
+      "version": "3.5.2",
3611
+      "resolved": "https://registry.npmmirror.com/async-validator/-/async-validator-3.5.2.tgz",
3612
+      "integrity": "sha512-8eLCg00W9pIRZSB781UUX/H6Oskmm8xloZfr09lz5bikRpBVDlJ3hRVuxxP1SxcwsEYfJ4IU8Q19Y8/893r3rQ=="
3613
+    },
3517
     "node_modules/asynckit": {
3614
     "node_modules/asynckit": {
3518
       "version": "0.4.0",
3615
       "version": "0.4.0",
3519
       "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz",
3616
       "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz",
@@ -3620,6 +3717,11 @@
3620
         "eslint": ">= 4.12.1"
3717
         "eslint": ">= 4.12.1"
3621
       }
3718
       }
3622
     },
3719
     },
3720
+    "node_modules/babel-helper-vue-jsx-merge-props": {
3721
+      "version": "2.0.3",
3722
+      "resolved": "https://registry.npmmirror.com/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-2.0.3.tgz",
3723
+      "integrity": "sha512-gsLiKK7Qrb7zYJNgiXKpXblxbV5ffSwR0f5whkPAaBAR4fhi6bwRZxX9wBlIc5M/v8CCkXUbXZL4N/nSE97cqg=="
3724
+    },
3623
     "node_modules/babel-loader": {
3725
     "node_modules/babel-loader": {
3624
       "version": "8.3.0",
3726
       "version": "8.3.0",
3625
       "resolved": "https://registry.npmmirror.com/babel-loader/-/babel-loader-8.3.0.tgz",
3727
       "resolved": "https://registry.npmmirror.com/babel-loader/-/babel-loader-8.3.0.tgz",
@@ -3687,6 +3789,27 @@
3687
         "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
3789
         "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
3688
       }
3790
       }
3689
     },
3791
     },
3792
+    "node_modules/babel-runtime": {
3793
+      "version": "6.26.0",
3794
+      "resolved": "https://registry.npmmirror.com/babel-runtime/-/babel-runtime-6.26.0.tgz",
3795
+      "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==",
3796
+      "dependencies": {
3797
+        "core-js": "^2.4.0",
3798
+        "regenerator-runtime": "^0.11.0"
3799
+      }
3800
+    },
3801
+    "node_modules/babel-runtime/node_modules/core-js": {
3802
+      "version": "2.6.12",
3803
+      "resolved": "https://registry.npmmirror.com/core-js/-/core-js-2.6.12.tgz",
3804
+      "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==",
3805
+      "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.",
3806
+      "hasInstallScript": true
3807
+    },
3808
+    "node_modules/babel-runtime/node_modules/regenerator-runtime": {
3809
+      "version": "0.11.1",
3810
+      "resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
3811
+      "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg=="
3812
+    },
3690
     "node_modules/balanced-match": {
3813
     "node_modules/balanced-match": {
3691
       "version": "1.0.2",
3814
       "version": "1.0.2",
3692
       "resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz",
3815
       "resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz",
@@ -4543,6 +4666,11 @@
4543
         "node": ">= 0.4"
4666
         "node": ">= 0.4"
4544
       }
4667
       }
4545
     },
4668
     },
4669
+    "node_modules/classnames": {
4670
+      "version": "2.5.1",
4671
+      "resolved": "https://registry.npmmirror.com/classnames/-/classnames-2.5.1.tgz",
4672
+      "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow=="
4673
+    },
4546
     "node_modules/clean-css": {
4674
     "node_modules/clean-css": {
4547
       "version": "4.2.4",
4675
       "version": "4.2.4",
4548
       "resolved": "https://registry.npmmirror.com/clean-css/-/clean-css-4.2.4.tgz",
4676
       "resolved": "https://registry.npmmirror.com/clean-css/-/clean-css-4.2.4.tgz",
@@ -4809,6 +4937,14 @@
4809
       "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==",
4937
       "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==",
4810
       "dev": true
4938
       "dev": true
4811
     },
4939
     },
4940
+    "node_modules/component-classes": {
4941
+      "version": "1.2.6",
4942
+      "resolved": "https://registry.npmmirror.com/component-classes/-/component-classes-1.2.6.tgz",
4943
+      "integrity": "sha512-hPFGULxdwugu1QWW3SvVOCUHLzO34+a2J6Wqy0c5ASQkfi9/8nZcBB0ZohaEbXOQlCflMAEMmEWk7u7BVs4koA==",
4944
+      "dependencies": {
4945
+        "component-indexof": "0.0.3"
4946
+      }
4947
+    },
4812
     "node_modules/component-emitter": {
4948
     "node_modules/component-emitter": {
4813
       "version": "1.3.1",
4949
       "version": "1.3.1",
4814
       "resolved": "https://registry.npmmirror.com/component-emitter/-/component-emitter-1.3.1.tgz",
4950
       "resolved": "https://registry.npmmirror.com/component-emitter/-/component-emitter-1.3.1.tgz",
@@ -4818,6 +4954,11 @@
4818
         "url": "https://github.com/sponsors/sindresorhus"
4954
         "url": "https://github.com/sponsors/sindresorhus"
4819
       }
4955
       }
4820
     },
4956
     },
4957
+    "node_modules/component-indexof": {
4958
+      "version": "0.0.3",
4959
+      "resolved": "https://registry.npmmirror.com/component-indexof/-/component-indexof-0.0.3.tgz",
4960
+      "integrity": "sha512-puDQKvx/64HZXb4hBwIcvQLaLgux8o1CbWl39s41hrIIZDl1lJiD5jc22gj3RBeGK0ovxALDYpIbyjqDUUl0rw=="
4961
+    },
4821
     "node_modules/compressible": {
4962
     "node_modules/compressible": {
4822
       "version": "2.0.18",
4963
       "version": "2.0.18",
4823
       "resolved": "https://registry.npmmirror.com/compressible/-/compressible-2.0.18.tgz",
4964
       "resolved": "https://registry.npmmirror.com/compressible/-/compressible-2.0.18.tgz",
@@ -5714,8 +5855,7 @@
5714
     "node_modules/de-indent": {
5855
     "node_modules/de-indent": {
5715
       "version": "1.0.2",
5856
       "version": "1.0.2",
5716
       "resolved": "https://registry.npmmirror.com/de-indent/-/de-indent-1.0.2.tgz",
5857
       "resolved": "https://registry.npmmirror.com/de-indent/-/de-indent-1.0.2.tgz",
5717
-      "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==",
5718
-      "dev": true
5858
+      "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg=="
5719
     },
5859
     },
5720
     "node_modules/debug": {
5860
     "node_modules/debug": {
5721
       "version": "4.3.5",
5861
       "version": "4.3.5",
@@ -6148,6 +6288,19 @@
6148
         "node": ">=6.0.0"
6288
         "node": ">=6.0.0"
6149
       }
6289
       }
6150
     },
6290
     },
6291
+    "node_modules/dom-align": {
6292
+      "version": "1.12.4",
6293
+      "resolved": "https://registry.npmmirror.com/dom-align/-/dom-align-1.12.4.tgz",
6294
+      "integrity": "sha512-R8LUSEay/68zE5c8/3BDxiTEvgb4xZTF0RKmAHfiEVN3klfIpXfi2/QCoiWPccVQ0J/ZGdz9OjzL4uJEP/MRAw=="
6295
+    },
6296
+    "node_modules/dom-closest": {
6297
+      "version": "0.2.0",
6298
+      "resolved": "https://registry.npmmirror.com/dom-closest/-/dom-closest-0.2.0.tgz",
6299
+      "integrity": "sha512-6neTn1BtJlTSt+XSISXpnOsF1uni1CHsP/tmzZMGWxasYFHsBOqrHPnzmneqEgKhpagnfnfSfbvRRW0xFsBHAA==",
6300
+      "dependencies": {
6301
+        "dom-matches": ">=1.0.1"
6302
+      }
6303
+    },
6151
     "node_modules/dom-converter": {
6304
     "node_modules/dom-converter": {
6152
       "version": "0.2.0",
6305
       "version": "0.2.0",
6153
       "resolved": "https://registry.npmmirror.com/dom-converter/-/dom-converter-0.2.0.tgz",
6306
       "resolved": "https://registry.npmmirror.com/dom-converter/-/dom-converter-0.2.0.tgz",
@@ -6157,6 +6310,16 @@
6157
         "utila": "~0.4"
6310
         "utila": "~0.4"
6158
       }
6311
       }
6159
     },
6312
     },
6313
+    "node_modules/dom-matches": {
6314
+      "version": "2.0.0",
6315
+      "resolved": "https://registry.npmmirror.com/dom-matches/-/dom-matches-2.0.0.tgz",
6316
+      "integrity": "sha512-2VI856xEDCLXi19W+4BechR5/oIS6bKCKqcf16GR8Pg7dGLJ/eBOWVbCmQx2ISvYH6wTNx5Ef7JTOw1dRGRx6A=="
6317
+    },
6318
+    "node_modules/dom-scroll-into-view": {
6319
+      "version": "2.0.1",
6320
+      "resolved": "https://registry.npmmirror.com/dom-scroll-into-view/-/dom-scroll-into-view-2.0.1.tgz",
6321
+      "integrity": "sha512-bvVTQe1lfaUr1oFzZX80ce9KLDlZ3iU+XGNE/bz9HnGdklTieqsbmsLHe+rT2XWqopvL0PckkYqN7ksmm5pe3w=="
6322
+    },
6160
     "node_modules/dom-serializer": {
6323
     "node_modules/dom-serializer": {
6161
       "version": "1.4.1",
6324
       "version": "1.4.1",
6162
       "resolved": "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-1.4.1.tgz",
6325
       "resolved": "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-1.4.1.tgz",
@@ -6404,6 +6567,11 @@
6404
         "node": ">=4.3.0 <5.0.0 || >=5.10"
6567
         "node": ">=4.3.0 <5.0.0 || >=5.10"
6405
       }
6568
       }
6406
     },
6569
     },
6570
+    "node_modules/enquire.js": {
6571
+      "version": "2.1.6",
6572
+      "resolved": "https://registry.npmmirror.com/enquire.js/-/enquire.js-2.1.6.tgz",
6573
+      "integrity": "sha512-/KujNpO+PT63F7Hlpu4h3pE3TokKRHN26JYmQpPyjkRD/N57R7bPDNojMXdi7uveAKjYB7yQnartCxZnFWr0Xw=="
6574
+    },
6407
     "node_modules/entities": {
6575
     "node_modules/entities": {
6408
       "version": "4.5.0",
6576
       "version": "4.5.0",
6409
       "resolved": "https://registry.npmmirror.com/entities/-/entities-4.5.0.tgz",
6577
       "resolved": "https://registry.npmmirror.com/entities/-/entities-4.5.0.tgz",
@@ -8155,7 +8323,6 @@
8155
       "version": "1.2.0",
8323
       "version": "1.2.0",
8156
       "resolved": "https://registry.npmmirror.com/he/-/he-1.2.0.tgz",
8324
       "resolved": "https://registry.npmmirror.com/he/-/he-1.2.0.tgz",
8157
       "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
8325
       "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
8158
-      "dev": true,
8159
       "bin": {
8326
       "bin": {
8160
         "he": "bin/he"
8327
         "he": "bin/he"
8161
       }
8328
       }
@@ -8863,6 +9030,11 @@
8863
         "node": ">= 0.10"
9030
         "node": ">= 0.10"
8864
       }
9031
       }
8865
     },
9032
     },
9033
+    "node_modules/intersperse": {
9034
+      "version": "1.0.0",
9035
+      "resolved": "https://registry.npmmirror.com/intersperse/-/intersperse-1.0.0.tgz",
9036
+      "integrity": "sha512-LGcfug7OTeWkaQ8PEq8XbTy9Jl6uCNg8DrPnQUmwxSY8UETj1Y+LLmpdD0qHdEj6KVchuH3BE3ZzIXQ1t3oFUw=="
9037
+    },
8866
     "node_modules/ip": {
9038
     "node_modules/ip": {
8867
       "version": "1.1.9",
9039
       "version": "1.1.9",
8868
       "resolved": "https://registry.npmmirror.com/ip/-/ip-1.1.9.tgz",
9040
       "resolved": "https://registry.npmmirror.com/ip/-/ip-1.1.9.tgz",
@@ -9164,11 +9336,15 @@
9164
         "node": ">=0.10.0"
9336
         "node": ">=0.10.0"
9165
       }
9337
       }
9166
     },
9338
     },
9339
+    "node_modules/is-mobile": {
9340
+      "version": "2.2.2",
9341
+      "resolved": "https://registry.npmmirror.com/is-mobile/-/is-mobile-2.2.2.tgz",
9342
+      "integrity": "sha512-wW/SXnYJkTjs++tVK5b6kVITZpAZPtUrt9SF80vvxGiF/Oywal+COk1jlRkiVq15RFNEQKQY31TkV24/1T5cVg=="
9343
+    },
9167
     "node_modules/is-negative-zero": {
9344
     "node_modules/is-negative-zero": {
9168
       "version": "2.0.3",
9345
       "version": "2.0.3",
9169
       "resolved": "https://registry.npmmirror.com/is-negative-zero/-/is-negative-zero-2.0.3.tgz",
9346
       "resolved": "https://registry.npmmirror.com/is-negative-zero/-/is-negative-zero-2.0.3.tgz",
9170
       "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==",
9347
       "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==",
9171
-      "dev": true,
9172
       "engines": {
9348
       "engines": {
9173
         "node": ">= 0.4"
9349
         "node": ">= 0.4"
9174
       },
9350
       },
@@ -9429,6 +9605,11 @@
9429
       "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
9605
       "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
9430
       "dev": true
9606
       "dev": true
9431
     },
9607
     },
9608
+    "node_modules/ismobilejs": {
9609
+      "version": "1.1.1",
9610
+      "resolved": "https://registry.npmmirror.com/ismobilejs/-/ismobilejs-1.1.1.tgz",
9611
+      "integrity": "sha512-VaFW53yt8QO61k2WJui0dHf4SlL8lxBofUuUmwBo0ljPk0Drz2TiuDW4jo3wDcv41qy/SxrJ+VAzJ/qYqsmzRw=="
9612
+    },
9432
     "node_modules/isobject": {
9613
     "node_modules/isobject": {
9433
       "version": "3.0.1",
9614
       "version": "3.0.1",
9434
       "resolved": "https://registry.npmmirror.com/isobject/-/isobject-3.0.1.tgz",
9615
       "resolved": "https://registry.npmmirror.com/isobject/-/isobject-3.0.1.tgz",
@@ -9462,8 +9643,7 @@
9462
     "node_modules/js-tokens": {
9643
     "node_modules/js-tokens": {
9463
       "version": "4.0.0",
9644
       "version": "4.0.0",
9464
       "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz",
9645
       "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz",
9465
-      "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
9466
-      "dev": true
9646
+      "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
9467
     },
9647
     },
9468
     "node_modules/js-yaml": {
9648
     "node_modules/js-yaml": {
9469
       "version": "3.14.1",
9649
       "version": "3.14.1",
@@ -9532,6 +9712,14 @@
9532
       "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==",
9712
       "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==",
9533
       "dev": true
9713
       "dev": true
9534
     },
9714
     },
9715
+    "node_modules/json2mq": {
9716
+      "version": "0.2.0",
9717
+      "resolved": "https://registry.npmmirror.com/json2mq/-/json2mq-0.2.0.tgz",
9718
+      "integrity": "sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==",
9719
+      "dependencies": {
9720
+        "string-convert": "^0.2.0"
9721
+      }
9722
+    },
9535
     "node_modules/json5": {
9723
     "node_modules/json5": {
9536
       "version": "2.2.3",
9724
       "version": "2.2.3",
9537
       "resolved": "https://registry.npmmirror.com/json5/-/json5-2.2.3.tgz",
9725
       "resolved": "https://registry.npmmirror.com/json5/-/json5-2.2.3.tgz",
@@ -9819,8 +10007,7 @@
9819
     "node_modules/lodash": {
10007
     "node_modules/lodash": {
9820
       "version": "4.17.21",
10008
       "version": "4.17.21",
9821
       "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz",
10009
       "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz",
9822
-      "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
9823
-      "dev": true
10010
+      "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
9824
     },
10011
     },
9825
     "node_modules/lodash.debounce": {
10012
     "node_modules/lodash.debounce": {
9826
       "version": "4.0.8",
10013
       "version": "4.0.8",
@@ -9906,6 +10093,17 @@
9906
         "url": "https://tidelift.com/funding/github/npm/loglevel"
10093
         "url": "https://tidelift.com/funding/github/npm/loglevel"
9907
       }
10094
       }
9908
     },
10095
     },
10096
+    "node_modules/loose-envify": {
10097
+      "version": "1.4.0",
10098
+      "resolved": "https://registry.npmmirror.com/loose-envify/-/loose-envify-1.4.0.tgz",
10099
+      "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
10100
+      "dependencies": {
10101
+        "js-tokens": "^3.0.0 || ^4.0.0"
10102
+      },
10103
+      "bin": {
10104
+        "loose-envify": "cli.js"
10105
+      }
10106
+    },
9909
     "node_modules/lower-case": {
10107
     "node_modules/lower-case": {
9910
       "version": "1.1.4",
10108
       "version": "1.1.4",
9911
       "resolved": "https://registry.npmmirror.com/lower-case/-/lower-case-1.1.4.tgz",
10109
       "resolved": "https://registry.npmmirror.com/lower-case/-/lower-case-1.1.4.tgz",
@@ -10281,6 +10479,14 @@
10281
         "mkdirp": "bin/cmd.js"
10479
         "mkdirp": "bin/cmd.js"
10282
       }
10480
       }
10283
     },
10481
     },
10482
+    "node_modules/moment": {
10483
+      "version": "2.30.1",
10484
+      "resolved": "https://registry.npmmirror.com/moment/-/moment-2.30.1.tgz",
10485
+      "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==",
10486
+      "engines": {
10487
+        "node": "*"
10488
+      }
10489
+    },
10284
     "node_modules/move-concurrently": {
10490
     "node_modules/move-concurrently": {
10285
       "version": "1.0.1",
10491
       "version": "1.0.1",
10286
       "resolved": "https://registry.npmmirror.com/move-concurrently/-/move-concurrently-1.0.1.tgz",
10492
       "resolved": "https://registry.npmmirror.com/move-concurrently/-/move-concurrently-1.0.1.tgz",
@@ -10321,6 +10527,11 @@
10321
       "integrity": "sha512-cnAsSVxIDsYt0v7HmC0hWZFwwXSh+E6PgCrREDuN/EsjgLwA5XRmlMHhSiDPrt6HxY1gTivEa/Zh7GtODoLevQ==",
10527
       "integrity": "sha512-cnAsSVxIDsYt0v7HmC0hWZFwwXSh+E6PgCrREDuN/EsjgLwA5XRmlMHhSiDPrt6HxY1gTivEa/Zh7GtODoLevQ==",
10322
       "dev": true
10528
       "dev": true
10323
     },
10529
     },
10530
+    "node_modules/mutationobserver-shim": {
10531
+      "version": "0.3.7",
10532
+      "resolved": "https://registry.npmmirror.com/mutationobserver-shim/-/mutationobserver-shim-0.3.7.tgz",
10533
+      "integrity": "sha512-oRIDTyZQU96nAiz2AQyngwx1e89iApl2hN5AOYwyxLUB47UYsU3Wv9lJWqH5y/QdiYkc5HQLi23ZNB3fELdHcQ=="
10534
+    },
10324
     "node_modules/mute-stream": {
10535
     "node_modules/mute-stream": {
10325
       "version": "0.0.8",
10536
       "version": "0.0.8",
10326
       "resolved": "https://registry.npmmirror.com/mute-stream/-/mute-stream-0.0.8.tgz",
10537
       "resolved": "https://registry.npmmirror.com/mute-stream/-/mute-stream-0.0.8.tgz",
@@ -10384,6 +10595,11 @@
10384
         "node": ">=0.10.0"
10595
         "node": ">=0.10.0"
10385
       }
10596
       }
10386
     },
10597
     },
10598
+    "node_modules/nanopop": {
10599
+      "version": "2.4.2",
10600
+      "resolved": "https://registry.npmmirror.com/nanopop/-/nanopop-2.4.2.tgz",
10601
+      "integrity": "sha512-NzOgmMQ+elxxHeIha+OG/Pv3Oc3p4RU2aBhwWwAqDpXrdTbtRylbRLQztLy8dMMwfl6pclznBdfUhccEn9ZIzw=="
10602
+    },
10387
     "node_modules/native-request": {
10603
     "node_modules/native-request": {
10388
       "version": "1.1.0",
10604
       "version": "1.1.0",
10389
       "resolved": "https://registry.npmmirror.com/native-request/-/native-request-1.1.0.tgz",
10605
       "resolved": "https://registry.npmmirror.com/native-request/-/native-request-1.1.0.tgz",
@@ -10427,6 +10643,14 @@
10427
         "lower-case": "^1.1.1"
10643
         "lower-case": "^1.1.1"
10428
       }
10644
       }
10429
     },
10645
     },
10646
+    "node_modules/node-emoji": {
10647
+      "version": "1.11.0",
10648
+      "resolved": "https://registry.npmmirror.com/node-emoji/-/node-emoji-1.11.0.tgz",
10649
+      "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==",
10650
+      "dependencies": {
10651
+        "lodash": "^4.17.21"
10652
+      }
10653
+    },
10430
     "node_modules/node-forge": {
10654
     "node_modules/node-forge": {
10431
       "version": "0.10.0",
10655
       "version": "0.10.0",
10432
       "resolved": "https://registry.npmmirror.com/node-forge/-/node-forge-0.10.0.tgz",
10656
       "resolved": "https://registry.npmmirror.com/node-forge/-/node-forge-0.10.0.tgz",
@@ -10576,7 +10800,6 @@
10576
       "version": "4.1.1",
10800
       "version": "4.1.1",
10577
       "resolved": "https://registry.npmmirror.com/object-assign/-/object-assign-4.1.1.tgz",
10801
       "resolved": "https://registry.npmmirror.com/object-assign/-/object-assign-4.1.1.tgz",
10578
       "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
10802
       "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
10579
-      "dev": true,
10580
       "engines": {
10803
       "engines": {
10581
         "node": ">=0.10.0"
10804
         "node": ">=0.10.0"
10582
       }
10805
       }
@@ -10761,6 +10984,14 @@
10761
       "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==",
10984
       "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==",
10762
       "dev": true
10985
       "dev": true
10763
     },
10986
     },
10987
+    "node_modules/omit.js": {
10988
+      "version": "1.0.2",
10989
+      "resolved": "https://registry.npmmirror.com/omit.js/-/omit.js-1.0.2.tgz",
10990
+      "integrity": "sha512-/QPc6G2NS+8d4L/cQhbk6Yit1WTB6Us2g84A7A/1+w9d/eRGHyEqC5kkQtHVoHZ5NFWGG7tUGgrhVZwgZanKrQ==",
10991
+      "dependencies": {
10992
+        "babel-runtime": "^6.23.0"
10993
+      }
10994
+    },
10764
     "node_modules/on-finished": {
10995
     "node_modules/on-finished": {
10765
       "version": "2.4.1",
10996
       "version": "2.4.1",
10766
       "resolved": "https://registry.npmmirror.com/on-finished/-/on-finished-2.4.1.tgz",
10997
       "resolved": "https://registry.npmmirror.com/on-finished/-/on-finished-2.4.1.tgz",
@@ -11286,8 +11517,7 @@
11286
     "node_modules/performance-now": {
11517
     "node_modules/performance-now": {
11287
       "version": "2.1.0",
11518
       "version": "2.1.0",
11288
       "resolved": "https://registry.npmmirror.com/performance-now/-/performance-now-2.1.0.tgz",
11519
       "resolved": "https://registry.npmmirror.com/performance-now/-/performance-now-2.1.0.tgz",
11289
-      "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==",
11290
-      "dev": true
11520
+      "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow=="
11291
     },
11521
     },
11292
     "node_modules/picocolors": {
11522
     "node_modules/picocolors": {
11293
       "version": "1.0.1",
11523
       "version": "1.0.1",
@@ -12306,6 +12536,14 @@
12306
       "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==",
12536
       "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==",
12307
       "dev": true
12537
       "dev": true
12308
     },
12538
     },
12539
+    "node_modules/raf": {
12540
+      "version": "3.4.1",
12541
+      "resolved": "https://registry.npmmirror.com/raf/-/raf-3.4.1.tgz",
12542
+      "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==",
12543
+      "dependencies": {
12544
+        "performance-now": "^2.1.0"
12545
+      }
12546
+    },
12309
     "node_modules/randombytes": {
12547
     "node_modules/randombytes": {
12310
       "version": "2.1.0",
12548
       "version": "2.1.0",
12311
       "resolved": "https://registry.npmmirror.com/randombytes/-/randombytes-2.1.0.tgz",
12549
       "resolved": "https://registry.npmmirror.com/randombytes/-/randombytes-2.1.0.tgz",
@@ -12662,6 +12900,11 @@
12662
       "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==",
12900
       "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==",
12663
       "dev": true
12901
       "dev": true
12664
     },
12902
     },
12903
+    "node_modules/resize-observer-polyfill": {
12904
+      "version": "1.5.1",
12905
+      "resolved": "https://registry.npmmirror.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz",
12906
+      "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg=="
12907
+    },
12665
     "node_modules/resolve": {
12908
     "node_modules/resolve": {
12666
       "version": "1.22.8",
12909
       "version": "1.22.8",
12667
       "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.8.tgz",
12910
       "resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.8.tgz",
@@ -13168,6 +13411,16 @@
13168
         "sha.js": "bin.js"
13411
         "sha.js": "bin.js"
13169
       }
13412
       }
13170
     },
13413
     },
13414
+    "node_modules/shallow-equal": {
13415
+      "version": "1.2.1",
13416
+      "resolved": "https://registry.npmmirror.com/shallow-equal/-/shallow-equal-1.2.1.tgz",
13417
+      "integrity": "sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA=="
13418
+    },
13419
+    "node_modules/shallowequal": {
13420
+      "version": "1.1.0",
13421
+      "resolved": "https://registry.npmmirror.com/shallowequal/-/shallowequal-1.1.0.tgz",
13422
+      "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ=="
13423
+    },
13171
     "node_modules/shebang-command": {
13424
     "node_modules/shebang-command": {
13172
       "version": "1.2.0",
13425
       "version": "1.2.0",
13173
       "resolved": "https://registry.npmmirror.com/shebang-command/-/shebang-command-1.2.0.tgz",
13426
       "resolved": "https://registry.npmmirror.com/shebang-command/-/shebang-command-1.2.0.tgz",
@@ -13880,6 +14133,11 @@
13880
         "safe-buffer": "~5.1.0"
14133
         "safe-buffer": "~5.1.0"
13881
       }
14134
       }
13882
     },
14135
     },
14136
+    "node_modules/string-convert": {
14137
+      "version": "0.2.1",
14138
+      "resolved": "https://registry.npmmirror.com/string-convert/-/string-convert-0.2.1.tgz",
14139
+      "integrity": "sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A=="
14140
+    },
13883
     "node_modules/string-width": {
14141
     "node_modules/string-width": {
13884
       "version": "4.2.3",
14142
       "version": "4.2.3",
13885
       "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz",
14143
       "resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz",
@@ -14501,6 +14759,11 @@
14501
       "integrity": "sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A==",
14759
       "integrity": "sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A==",
14502
       "dev": true
14760
       "dev": true
14503
     },
14761
     },
14762
+    "node_modules/tinycolor2": {
14763
+      "version": "1.6.0",
14764
+      "resolved": "https://registry.npmmirror.com/tinycolor2/-/tinycolor2-1.6.0.tgz",
14765
+      "integrity": "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw=="
14766
+    },
14504
     "node_modules/tmp": {
14767
     "node_modules/tmp": {
14505
       "version": "0.0.33",
14768
       "version": "0.0.33",
14506
       "resolved": "https://registry.npmmirror.com/tmp/-/tmp-0.0.33.tgz",
14769
       "resolved": "https://registry.npmmirror.com/tmp/-/tmp-0.0.33.tgz",
@@ -15483,6 +15746,11 @@
15483
         "node": ">=4.0.0"
15746
         "node": ">=4.0.0"
15484
       }
15747
       }
15485
     },
15748
     },
15749
+    "node_modules/vue-ref": {
15750
+      "version": "2.0.0",
15751
+      "resolved": "https://registry.npmmirror.com/vue-ref/-/vue-ref-2.0.0.tgz",
15752
+      "integrity": "sha512-uKNKpFOVeWNqS2mrBZqnpLyXJo5Q+vnkex6JvpENvhXHFNBW/SJTP8vJywLuVT3DpxwXcF9N0dyIiZ4/NpTexQ=="
15753
+    },
15486
     "node_modules/vue-router": {
15754
     "node_modules/vue-router": {
15487
       "version": "3.6.5",
15755
       "version": "3.6.5",
15488
       "resolved": "https://registry.npmmirror.com/vue-router/-/vue-router-3.6.5.tgz",
15756
       "resolved": "https://registry.npmmirror.com/vue-router/-/vue-router-3.6.5.tgz",
@@ -15534,7 +15802,6 @@
15534
       "version": "2.7.16",
15802
       "version": "2.7.16",
15535
       "resolved": "https://registry.npmmirror.com/vue-template-compiler/-/vue-template-compiler-2.7.16.tgz",
15803
       "resolved": "https://registry.npmmirror.com/vue-template-compiler/-/vue-template-compiler-2.7.16.tgz",
15536
       "integrity": "sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==",
15804
       "integrity": "sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==",
15537
-      "dev": true,
15538
       "dependencies": {
15805
       "dependencies": {
15539
         "de-indent": "^1.0.2",
15806
         "de-indent": "^1.0.2",
15540
         "he": "^1.2.0"
15807
         "he": "^1.2.0"
@@ -15586,6 +15853,14 @@
15586
         "node": "^10 || ^12 || >=14"
15853
         "node": "^10 || ^12 || >=14"
15587
       }
15854
       }
15588
     },
15855
     },
15856
+    "node_modules/warning": {
15857
+      "version": "4.0.3",
15858
+      "resolved": "https://registry.npmmirror.com/warning/-/warning-4.0.3.tgz",
15859
+      "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==",
15860
+      "dependencies": {
15861
+        "loose-envify": "^1.0.0"
15862
+      }
15863
+    },
15589
     "node_modules/watchpack": {
15864
     "node_modules/watchpack": {
15590
       "version": "1.7.5",
15865
       "version": "1.7.5",
15591
       "resolved": "https://registry.npmmirror.com/watchpack/-/watchpack-1.7.5.tgz",
15866
       "resolved": "https://registry.npmmirror.com/watchpack/-/watchpack-1.7.5.tgz",

+ 1 - 0
package.json

@@ -10,6 +10,7 @@
10
     "production": "node ./upload/production.js"
10
     "production": "node ./upload/production.js"
11
   },
11
   },
12
   "dependencies": {
12
   "dependencies": {
13
+    "ant-design-vue": "^1.7.8",
13
     "axios": "^0.20.0",
14
     "axios": "^0.20.0",
14
     "core-js": "^3.6.5",
15
     "core-js": "^3.6.5",
15
     "vue": "^2.6.11",
16
     "vue": "^2.6.11",

+ 4 - 0
src/App.vue

@@ -13,4 +13,8 @@ body {
13
     "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji",
13
     "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji",
14
     "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
14
     "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
15
 }
15
 }
16
+h1, h2, h3, h4, h5, h6,p{
17
+	margin: 0 !important;
18
+	padding: 0 !important;
19
+}
16
 </style>
20
 </style>

+ 3 - 1
src/main.js

@@ -4,8 +4,10 @@ import router from './router'
4
 import './filters'
4
 import './filters'
5
 Vue.config.productionTip = false
5
 Vue.config.productionTip = false
6
 console.info('v2.4.8');
6
 console.info('v2.4.8');
7
-
7
+import Antd from 'ant-design-vue';
8
+import 'ant-design-vue/dist/antd.less';
8
 import loading from './plugins/loading/loading.js';
9
 import loading from './plugins/loading/loading.js';
10
+Vue.use(Antd);
9
 Vue.use(loading)
11
 Vue.use(loading)
10
 
12
 
11
 
13
 

+ 98 - 44
src/views/AppIndex.vue

@@ -480,16 +480,17 @@
480
       <!-- 标本科室视图弹层 -->
480
       <!-- 标本科室视图弹层 -->
481
       <div v-if="detailModel" :class="{ detailModel }">
481
       <div v-if="detailModel" :class="{ detailModel }">
482
         <div class="box">
482
         <div class="box">
483
-          <h2 class="title">
483
+          <h2 class="title new-title">
484
             <div class="operateTitle">
484
             <div class="operateTitle">
485
               标本详情
485
               标本详情
486
-              <div class="operate checkbox">
487
-                <select v-model="speState">
488
-                  <option value="0">全部</option>
489
-                  <option value="332">未收取</option>
490
-                  <option value="333">已收取</option>
491
-                </select>
492
-              </div>
486
+              <div class="operate checkbox newOperate radio">
487
+								<a-radio-group v-model="searchRadio" @change="radioChange">
488
+									<a-radio :value="1">全部</a-radio>
489
+									<a-radio :value="2">待收急标</a-radio>
490
+									<a-radio :value="3">待收普标</a-radio>
491
+									<a-radio :value="4">已收</a-radio>
492
+								</a-radio-group>
493
+							</div>
493
             </div>
494
             </div>
494
           </h2>
495
           </h2>
495
           <div class="table">
496
           <div class="table">
@@ -498,13 +499,13 @@
498
                 <thead>
499
                 <thead>
499
                   <tr>
500
                   <tr>
500
                     <th>序号</th>
501
                     <th>序号</th>
501
-                    <th>标本类型</th>
502
-                    <th>标本编码</th>
503
-                    <th>患者姓名</th>
504
-                    <th>床号</th>
505
-                    <th>采集时间</th>
506
-                    <th>目标科室</th>
502
+                    <th>患者信息</th>
503
+                    <th>检验项目</th>
504
+                    <th>类型|编码</th>
505
+                    <th>检验科室</th>
506
+                    <th>状态</th>
507
                     <th>收取人</th>
507
                     <th>收取人</th>
508
+										<th>收取时间</th>
508
                   </tr>
509
                   </tr>
509
                 </thead>
510
                 </thead>
510
                 <tbody>
511
                 <tbody>
@@ -518,13 +519,14 @@
518
                       :style="{ background: i % 2 === 1 ? '#fff' : '#f9fafb' }"
519
                       :style="{ background: i % 2 === 1 ? '#fff' : '#f9fafb' }"
519
                     >
520
                     >
520
                       <td>{{ i + 1 }}</td>
521
                       <td>{{ i + 1 }}</td>
521
-                      <td>{{ detail.stype ? detail.stype.name : "-" }}</td>
522
-                      <td>{{ detail.scode || "-" }}</td>
523
-                      <td>{{ detail.patientName || "-" }}</td>
524
-                      <td>{{ detail.bedNum || "-" }}</td>
522
+                      <td>{{ detail.patientName}}({{detail.bedNum}})</td>
523
+                      <td>{{ detail.specimenDesc || "-" }}</td>
525
                       <td>
524
                       <td>
526
-                        {{ detail.printDate || "-" }}
527
-                      </td>
525
+												<div class="td-fl">
526
+													<span class="td-bl td-span1">{{ detail.stype.name || "-" }}</span>
527
+													<span class="td-bl td-span2">{{detail.scode || "-" }}</span>
528
+												</div>
529
+											</td>
528
                       <td>
530
                       <td>
529
                         {{ detail.checkDept ? detail.checkDept.dept : "-" }}
531
                         {{ detail.checkDept ? detail.checkDept.dept : "-" }}
530
                         <div
532
                         <div
@@ -534,7 +536,11 @@
534
                           }"
536
                           }"
535
                         ></div>
537
                         ></div>
536
                       </td>
538
                       </td>
537
-                      <td>{{ detail.receiver || "-" }}</td>
539
+                      <td>
540
+                        {{ detail.speState.name || "-" }}
541
+                      </td>
542
+                      <td>{{ detail.receiverName || "-" }}</td>
543
+											<td>{{ detail.arriveTime || "-" }}</td>
538
                     </tr>
544
                     </tr>
539
                   </vueCustomScrollbar>
545
                   </vueCustomScrollbar>
540
 
546
 
@@ -758,6 +764,7 @@
758
 import vueCustomScrollbar from "vue-custom-scrollbar";
764
 import vueCustomScrollbar from "vue-custom-scrollbar";
759
 import { get, post } from "./../http/http";
765
 import { get, post } from "./../http/http";
760
 import showModel from "./../components/showModel";
766
 import showModel from "./../components/showModel";
767
+// import 'ant-design-vue/lib/radio/style';
761
 export default {
768
 export default {
762
   name: "AppIndex",
769
   name: "AppIndex",
763
   components: {
770
   components: {
@@ -771,6 +778,7 @@ export default {
771
   },
778
   },
772
   data() {
779
   data() {
773
     return {
780
     return {
781
+			searchRadio:1,//搜索条件
774
       logoUrl: '',
782
       logoUrl: '',
775
       logoTitle: '',
783
       logoTitle: '',
776
       loading1: false, //科室标本视图列表加载
784
       loading1: false, //科室标本视图列表加载
@@ -884,6 +892,11 @@ export default {
884
     },
892
     },
885
   },
893
   },
886
   methods: {
894
   methods: {
895
+		// 详情搜索条件切换
896
+		radioChange(e){
897
+			console.log(111,e.target.value)
898
+			this.getDetailBySpecimen(this.currentSpecimenDept,e.target.value)
899
+		},
887
     // 搜索分组
900
     // 搜索分组
888
     selectGroup() {
901
     selectGroup() {
889
       this.navClick(this.currentNavIndex);
902
       this.navClick(this.currentNavIndex);
@@ -1006,7 +1019,7 @@ export default {
1006
       this.getDetailBySpecimen(this.currentSpecimenDept);
1019
       this.getDetailBySpecimen(this.currentSpecimenDept);
1007
     },
1020
     },
1008
     // 获取标本详情(标本科室视图)
1021
     // 获取标本详情(标本科室视图)
1009
-    getDetailBySpecimen(item) {
1022
+    getDetailBySpecimen(item,type) {
1010
       let postData = {
1023
       let postData = {
1011
         hosIds: this.$route.params.hosIds,
1024
         hosIds: this.$route.params.hosIds,
1012
         deptId: item.deptId,
1025
         deptId: item.deptId,
@@ -1015,6 +1028,19 @@ export default {
1015
       if (this.speState != 0) {
1028
       if (this.speState != 0) {
1016
         postData.speState = this.speState;
1029
         postData.speState = this.speState;
1017
       }
1030
       }
1031
+			if(type==1){
1032
+				postData.urgent = -1
1033
+				delete postData.speState
1034
+			}else if(type==2){
1035
+				postData.urgent = 1
1036
+				postData.speState = 332
1037
+			}else if(type==3){
1038
+				postData.urgent = 0
1039
+				postData.speState = 332
1040
+			}else if(type==4){
1041
+				postData.urgent = -1
1042
+				postData.speState = 333
1043
+			}
1018
       this.loading3 = true;
1044
       this.loading3 = true;
1019
       post("/nurse/getListSpecimenDetails", postData).then((result) => {
1045
       post("/nurse/getListSpecimenDetails", postData).then((result) => {
1020
         this.loading3 = false;
1046
         this.loading3 = false;
@@ -1024,6 +1050,7 @@ export default {
1024
       });
1050
       });
1025
     },
1051
     },
1026
     hideModel() {
1052
     hideModel() {
1053
+			this.searchRadio = 1
1027
       this.detailModel = false;
1054
       this.detailModel = false;
1028
       this.polling();
1055
       this.polling();
1029
       this.scrollInfinite();
1056
       this.scrollInfinite();
@@ -1593,11 +1620,14 @@ export default {
1593
     .transport-guanbi {
1620
     .transport-guanbi {
1594
       position: absolute;
1621
       position: absolute;
1595
       right: 16px;
1622
       right: 16px;
1596
-      top: 16px;
1623
+      top: 10px;
1597
       font-size: 20px;
1624
       font-size: 20px;
1598
       color: #8e9d9e;
1625
       color: #8e9d9e;
1599
       cursor: pointer;
1626
       cursor: pointer;
1600
     }
1627
     }
1628
+		.new-title{
1629
+			width: 100%;
1630
+		}
1601
     .title {
1631
     .title {
1602
       height: 50px;
1632
       height: 50px;
1603
       line-height: 50px;
1633
       line-height: 50px;
@@ -1605,8 +1635,18 @@ export default {
1605
       font-size: 18px;
1635
       font-size: 18px;
1606
       color: #333;
1636
       color: #333;
1607
       font-weight: bold;
1637
       font-weight: bold;
1638
+			// width: 100%;
1608
       .operateTitle {
1639
       .operateTitle {
1609
         position: relative;
1640
         position: relative;
1641
+				.newOperate{
1642
+					font-weight: normal;
1643
+					font-size: 14px;
1644
+					width: 400px !important;
1645
+					position: absolute;
1646
+					top: 0;
1647
+					left: auto !important;
1648
+					right: 60px !important;
1649
+				}
1610
         .operate {
1650
         .operate {
1611
           font-weight: normal;
1651
           font-weight: normal;
1612
           font-size: 14px;
1652
           font-size: 14px;
@@ -1655,23 +1695,19 @@ export default {
1655
           }
1695
           }
1656
           &.radio {
1696
           &.radio {
1657
             label {
1697
             label {
1658
-              cursor: pointer;
1659
-              margin-left: 8px;
1698
+              // cursor: pointer;
1699
+              // margin-left: 8px;
1660
               display: inline-flex;
1700
               display: inline-flex;
1661
               align-items: center;
1701
               align-items: center;
1662
               position: relative;
1702
               position: relative;
1663
               font-weight: 400;
1703
               font-weight: 400;
1664
-              color: #767676;
1665
-              padding-left: 16px;
1704
+              // color: #767676;
1705
+              // padding-left: 16px;
1666
               span {
1706
               span {
1667
-                margin-left: 4px;
1668
-              }
1669
-              input[type="radio"] {
1670
-                position: absolute;
1671
-                left: -9999px;
1707
+                // margin-left: 4px;
1672
               }
1708
               }
1673
 
1709
 
1674
-              input[type="radio"] + i {
1710
+              input[type="radio"] {
1675
                 display: block;
1711
                 display: block;
1676
                 position: absolute;
1712
                 position: absolute;
1677
                 left: 0;
1713
                 left: 0;
@@ -1684,26 +1720,29 @@ export default {
1684
                 transition: border-color 0.3s;
1720
                 transition: border-color 0.3s;
1685
                 -webkit-transition: border-color 0.3s;
1721
                 -webkit-transition: border-color 0.3s;
1686
               }
1722
               }
1687
-              input[type="radio"]:checked + i {
1723
+							
1724
+              input[type="radio"]:checked {
1688
                 border-color: #49b856;
1725
                 border-color: #49b856;
1726
+								border: 2px solid #49b856;
1689
               }
1727
               }
1690
 
1728
 
1691
-              input[type="radio"] + i:after {
1729
+              input[type="radio"]:after {
1692
                 position: absolute;
1730
                 position: absolute;
1693
                 content: "";
1731
                 content: "";
1694
-                top: 50%;
1695
-                left: 50%;
1696
-                width: 8px;
1697
-                height: 8px;
1732
+								top: 45%;
1733
+								left: 47%;
1734
+								width: 9px;
1735
+								height: 9px;
1698
                 border-radius: 50%;
1736
                 border-radius: 50%;
1699
                 background-color: #49b856;
1737
                 background-color: #49b856;
1738
+								border-color: #49b856;
1700
                 transform: translate(-50%, -50%);
1739
                 transform: translate(-50%, -50%);
1701
                 opacity: 0;
1740
                 opacity: 0;
1702
                 transition: opacity 0.1s;
1741
                 transition: opacity 0.1s;
1703
                 -webkit-transition: opacity 0.1s;
1742
                 -webkit-transition: opacity 0.1s;
1704
               }
1743
               }
1705
 
1744
 
1706
-              input[type="radio"]:checked + i:after {
1745
+              input[type="radio"]:checked:after {
1707
                 opacity: 1;
1746
                 opacity: 1;
1708
               }
1747
               }
1709
             }
1748
             }
@@ -1726,6 +1765,20 @@ export default {
1726
         background-color: #fff;
1765
         background-color: #fff;
1727
         border-radius: 8px;
1766
         border-radius: 8px;
1728
         border: 1px solid #e5e9ed;
1767
         border: 1px solid #e5e9ed;
1768
+				.td-fl{
1769
+					
1770
+				}
1771
+				.td-bl{
1772
+					display: block;
1773
+					height: 5px;
1774
+					position: relative;
1775
+				}
1776
+				.td-span1{
1777
+					top:-9px;
1778
+				}
1779
+				.td-span2{
1780
+					top:3px;
1781
+				}
1729
         table {
1782
         table {
1730
           width: 100%;
1783
           width: 100%;
1731
           font-size: 14px;
1784
           font-size: 14px;
@@ -1757,8 +1810,9 @@ export default {
1757
             overflow-x: hidden;
1810
             overflow-x: hidden;
1758
             overflow-y: auto;
1811
             overflow-y: auto;
1759
             tr {
1812
             tr {
1760
-              height: 34px;
1761
-              line-height: 34px;
1813
+              height: 40px;
1814
+              line-height: 40px;
1815
+							position: relative;
1762
               td:last-child {
1816
               td:last-child {
1763
                 position: relative;
1817
                 position: relative;
1764
               }
1818
               }
@@ -2003,11 +2057,11 @@ export default {
2003
               }
2057
               }
2004
             }
2058
             }
2005
             h2 {
2059
             h2 {
2006
-              height: 18px;
2060
+              height: 22px;
2007
               font-size: 16px;
2061
               font-size: 16px;
2008
               font-weight: bold;
2062
               font-weight: bold;
2009
               color: #000;
2063
               color: #000;
2010
-              margin-left: 8px;
2064
+              margin-left: 8px !important;
2011
               flex: 1;
2065
               flex: 1;
2012
               white-space: nowrap;
2066
               white-space: nowrap;
2013
               overflow: hidden;
2067
               overflow: hidden;

+ 24 - 12
vue.config.js

@@ -1,5 +1,5 @@
1
 module.exports = {
1
 module.exports = {
2
-  publicPath: process.env.NODE_ENV === 'production' ? '/specimenView/' : '/',
2
+  publicPath: process.env.NODE_ENV === 'production' ? '/specimenView/' : '/specimenView/',
3
   outputDir: 'dist/specimenView',
3
   outputDir: 'dist/specimenView',
4
   productionSourceMap: false,
4
   productionSourceMap: false,
5
   devServer: {
5
   devServer: {
@@ -8,15 +8,27 @@ module.exports = {
8
     port: '8888',
8
     port: '8888',
9
     https: false, // 是否使用https协议
9
     https: false, // 是否使用https协议
10
     hotOnly: true, // 是否开启热更新
10
     hotOnly: true, // 是否开启热更新
11
-    proxy: {
12
-      '/service': {
13
-        target: 'http://192.168.3.108', // API服务器的地址
14
-        ws: true, // 代理websockets
15
-        changeOrigin: true, // 虚拟的站点需要更管origin
16
-        pathRewrite: {
17
-          '^/service': ''
18
-        }
19
-      }
20
-    }
21
-  }
11
+    // proxy: {
12
+    //   '/service': {
13
+    //     target: 'http://192.168.3.108', // API服务器的地址
14
+    //     ws: true, // 代理websockets
15
+    //     changeOrigin: true, // 虚拟的站点需要更管origin
16
+    //     pathRewrite: {
17
+    //       '^/service': ''
18
+    //     }
19
+    //   }
20
+    // }
21
+  },
22
+	css: {
23
+	        // extract: false,
24
+	        // sourceMap: true, // 开启 CSS source maps?
25
+					loaderOptions: {
26
+					  less: {
27
+							modifyVars: {
28
+								'primary-color': '#49b856',
29
+							},
30
+							javascriptEnabled: true,
31
+					  },
32
+					},
33
+	    }
22
 }
34
 }