Преглед на файлове

Merge branch 'develop_temp_yh14' of jianguan-web/jg-ocs-html into pre-release

李磊 преди 2 години
родител
ревизия
326b340b2a

+ 224 - 44
package-lock.json

@@ -995,7 +995,6 @@
       "version": "7.6.3",
       "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.6.3.tgz",
       "integrity": "sha512-kq6anf9JGjW8Nt5rYfEuGRaEAaH1mkv3Bbu6rYvLOpPh/RusSJXuKPEAoZ7L7gybZkchE8+NV5g9vKF4AGAtsA==",
-      "dev": true,
       "requires": {
         "regenerator-runtime": "^0.13.2"
       },
@@ -1003,8 +1002,7 @@
         "regenerator-runtime": {
           "version": "0.13.3",
           "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.3.tgz",
-          "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw==",
-          "dev": true
+          "integrity": "sha512-naKIZz2GQ8JWh///G7L3X6LaQUAMp2lvb1rvwwsURe/VXwD6VMfr+/1NuNw3ag8v2kY1aQ/go5SNn79O9JU7yw=="
         }
       }
     },
@@ -1132,6 +1130,56 @@
         "postcss": "^7.0.0"
       }
     },
+    "@jiaminghi/bezier-curve": {
+      "version": "0.0.9",
+      "resolved": "https://registry.npmjs.org/@jiaminghi/bezier-curve/-/bezier-curve-0.0.9.tgz",
+      "integrity": "sha512-u9xJPOEl6Dri2E9FfmJoGxYQY7vYJkURNX04Vj64tdi535tPrpkuf9Sm0lNr3QTKdHQh0DdNRsaa62FLQNQEEw==",
+      "requires": {
+        "@babel/runtime": "^7.5.5"
+      }
+    },
+    "@jiaminghi/c-render": {
+      "version": "0.4.3",
+      "resolved": "https://registry.npmjs.org/@jiaminghi/c-render/-/c-render-0.4.3.tgz",
+      "integrity": "sha512-FJfzj5hGj7MLqqqI2D7vEzHKbQ1Ynnn7PJKgzsjXaZpJzTqs2Yw5OSeZnm6l7Qj7jyPAP53lFvEQNH4o4j6s+Q==",
+      "requires": {
+        "@babel/runtime": "^7.5.5",
+        "@jiaminghi/bezier-curve": "*",
+        "@jiaminghi/color": "*",
+        "@jiaminghi/transition": "*"
+      }
+    },
+    "@jiaminghi/charts": {
+      "version": "0.2.18",
+      "resolved": "https://registry.npmjs.org/@jiaminghi/charts/-/charts-0.2.18.tgz",
+      "integrity": "sha512-K+HXaOOeWG9OOY1VG6M4mBreeeIAPhb9X+khG651AbnwEwL6G2UtcAQ8GWCq6GzhczcLwwhIhuaHqRygwHC0sA==",
+      "requires": {
+        "@babel/runtime": "^7.5.5",
+        "@jiaminghi/c-render": "^0.4.3"
+      }
+    },
+    "@jiaminghi/color": {
+      "version": "1.1.3",
+      "resolved": "https://registry.npmjs.org/@jiaminghi/color/-/color-1.1.3.tgz",
+      "integrity": "sha512-ZY3hdorgODk4OSTbxyXBPxAxHPIVf9rPlKJyK1C1db46a50J0reFKpAvfZG8zMG3lvM60IR7Qawgcu4ZDO3+Hg=="
+    },
+    "@jiaminghi/data-view": {
+      "version": "2.10.0",
+      "resolved": "https://registry.npmjs.org/@jiaminghi/data-view/-/data-view-2.10.0.tgz",
+      "integrity": "sha512-Cud2MTiMcqc5k2KWabR/svuVQmXHANqURo+yj40370/LdI/gyUJ6LG203hWXEnT1nMCeiv/SLVmxv3PXLScCeA==",
+      "requires": {
+        "@babel/runtime": "^7.5.5",
+        "@jiaminghi/charts": "*"
+      }
+    },
+    "@jiaminghi/transition": {
+      "version": "1.1.11",
+      "resolved": "https://registry.npmjs.org/@jiaminghi/transition/-/transition-1.1.11.tgz",
+      "integrity": "sha512-owBggipoHMikDHHDW5Gc7RZYlVuvxHADiU4bxfjBVkHDAmmck+fCkm46n2JzC3j33hWvP9nSCAeh37t6stgWeg==",
+      "requires": {
+        "@babel/runtime": "^7.5.5"
+      }
+    },
     "@mrmlnc/readdir-enhanced": {
       "version": "2.2.1",
       "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz",
@@ -1158,9 +1206,9 @@
       },
       "dependencies": {
         "core-js": {
-          "version": "3.9.1",
-          "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.9.1.tgz",
-          "integrity": "sha512-gSjRvzkxQc1zjM/5paAmL4idJBFzuJoo+jDjF1tStYFMV2ERfD02HhahhCGXUyHxQRG4yFKVSdO6g62eoRMcDg=="
+          "version": "3.29.1",
+          "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.29.1.tgz",
+          "integrity": "sha512-+jwgnhg6cQxKYIIjGtAHq2nwUOolo9eoFZ4sHfUH09BLXBgxnH4gA0zEd+t+BO2cNB8idaBtZFcFTRjQJRJmAw=="
         }
       }
     },
@@ -1909,6 +1957,38 @@
         }
       }
     },
+    "@vue/compiler-sfc": {
+      "version": "2.7.14",
+      "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-2.7.14.tgz",
+      "integrity": "sha512-aNmNHyLPsw+sVvlQFQ2/8sjNuLtK54TC6cuKnVzAY93ks4ZBrvwQSnkkIh7bsbNhum5hJBS00wSDipQ937f5DA==",
+      "requires": {
+        "@babel/parser": "^7.18.4",
+        "postcss": "^8.4.14",
+        "source-map": "^0.6.1"
+      },
+      "dependencies": {
+        "@babel/parser": {
+          "version": "7.21.3",
+          "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.3.tgz",
+          "integrity": "sha512-lobG0d7aOfQRXh8AyklEAgZGvA4FShxo6xQbUrrT/cNBPUdIDojlokwJsQyCC/eKia7ifqM0yP+2DRZ4WKw2RQ=="
+        },
+        "postcss": {
+          "version": "8.4.21",
+          "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz",
+          "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==",
+          "requires": {
+            "nanoid": "^3.3.4",
+            "picocolors": "^1.0.0",
+            "source-map-js": "^1.0.2"
+          }
+        },
+        "source-map": {
+          "version": "0.6.1",
+          "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+          "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
+        }
+      }
+    },
     "@vue/component-compiler-utils": {
       "version": "3.0.0",
       "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.0.0.tgz",
@@ -2327,9 +2407,9 @@
       "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4="
     },
     "ant-design-vue": {
-      "version": "1.7.4",
-      "resolved": "https://registry.npmjs.org/ant-design-vue/-/ant-design-vue-1.7.4.tgz",
-      "integrity": "sha512-f9/4I34Yq562X70aspSFzw4BCuKRICzDvIocXpsYCC+B9+kjB8db246fpSMtV/1anqxcmGHf7Vh0XJ+ovHJKMw==",
+      "version": "1.7.8",
+      "resolved": "https://registry.npmjs.org/ant-design-vue/-/ant-design-vue-1.7.8.tgz",
+      "integrity": "sha512-F1hmiS9vwbyfuFvlamdW5l9bHKqRlj9wHaGDIE41NZMWXyWy8qL0UFa/+I0Wl8gQWZCqODW5pN6Yfoyn85At3A==",
       "requires": {
         "@ant-design/icons": "^2.1.1",
         "@ant-design/icons-vue": "^2.0.0",
@@ -2602,9 +2682,9 @@
       "dev": true
     },
     "async-validator": {
-      "version": "3.5.1",
-      "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-3.5.1.tgz",
-      "integrity": "sha512-DDmKA7sdSAJtTVeNZHrnr2yojfFaoeW8MfQN8CeuXg8DDQHTqKk9Fdv38dSvnesHoO8MUwMI2HphOeSyIF+wmQ=="
+      "version": "3.5.2",
+      "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-3.5.2.tgz",
+      "integrity": "sha512-8eLCg00W9pIRZSB781UUX/H6Oskmm8xloZfr09lz5bikRpBVDlJ3hRVuxxP1SxcwsEYfJ4IU8Q19Y8/893r3rQ=="
     },
     "asynckit": {
       "version": "0.4.0",
@@ -3770,9 +3850,9 @@
       }
     },
     "classnames": {
-      "version": "2.2.6",
-      "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz",
-      "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q=="
+      "version": "2.3.2",
+      "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz",
+      "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw=="
     },
     "clean-css": {
       "version": "4.2.1",
@@ -4172,7 +4252,7 @@
     "component-classes": {
       "version": "1.2.6",
       "resolved": "https://registry.npmjs.org/component-classes/-/component-classes-1.2.6.tgz",
-      "integrity": "sha1-xkI5TDYYpNiwuJGe/Mu9kw5c1pE=",
+      "integrity": "sha512-hPFGULxdwugu1QWW3SvVOCUHLzO34+a2J6Wqy0c5ASQkfi9/8nZcBB0ZohaEbXOQlCflMAEMmEWk7u7BVs4koA==",
       "requires": {
         "component-indexof": "0.0.3"
       }
@@ -4186,7 +4266,7 @@
     "component-indexof": {
       "version": "0.0.3",
       "resolved": "https://registry.npmjs.org/component-indexof/-/component-indexof-0.0.3.tgz",
-      "integrity": "sha1-EdCRMSI5648yyPJa6csAL/6NPCQ="
+      "integrity": "sha512-puDQKvx/64HZXb4hBwIcvQLaLgux8o1CbWl39s41hrIIZDl1lJiD5jc22gj3RBeGK0ovxALDYpIbyjqDUUl0rw=="
     },
     "compressible": {
       "version": "2.0.17",
@@ -4969,6 +5049,11 @@
         "cssom": "0.3.x"
       }
     },
+    "csstype": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz",
+      "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw=="
+    },
     "cuint": {
       "version": "0.2.2",
       "resolved": "https://registry.npmjs.org/cuint/-/cuint-0.2.2.tgz",
@@ -5194,8 +5279,7 @@
     "de-indent": {
       "version": "1.0.2",
       "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz",
-      "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=",
-      "dev": true
+      "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0="
     },
     "debug": {
       "version": "3.1.0",
@@ -5598,14 +5682,14 @@
       }
     },
     "dom-align": {
-      "version": "1.12.0",
-      "resolved": "https://registry.npmjs.org/dom-align/-/dom-align-1.12.0.tgz",
-      "integrity": "sha512-YkoezQuhp3SLFGdOlr5xkqZ640iXrnHAwVYcDg8ZKRUtO7mSzSC2BA5V0VuyAwPSJA4CLIc6EDDJh4bEsD2+zA=="
+      "version": "1.12.4",
+      "resolved": "https://registry.npmjs.org/dom-align/-/dom-align-1.12.4.tgz",
+      "integrity": "sha512-R8LUSEay/68zE5c8/3BDxiTEvgb4xZTF0RKmAHfiEVN3klfIpXfi2/QCoiWPccVQ0J/ZGdz9OjzL4uJEP/MRAw=="
     },
     "dom-closest": {
       "version": "0.2.0",
       "resolved": "https://registry.npmjs.org/dom-closest/-/dom-closest-0.2.0.tgz",
-      "integrity": "sha1-69n5HRvyLo1vR3h2u80+yQIWwM8=",
+      "integrity": "sha512-6neTn1BtJlTSt+XSISXpnOsF1uni1CHsP/tmzZMGWxasYFHsBOqrHPnzmneqEgKhpagnfnfSfbvRRW0xFsBHAA==",
       "requires": {
         "dom-matches": ">=1.0.1"
       }
@@ -5628,7 +5712,7 @@
     "dom-matches": {
       "version": "2.0.0",
       "resolved": "https://registry.npmjs.org/dom-matches/-/dom-matches-2.0.0.tgz",
-      "integrity": "sha1-0nKLQWqHUzmA6wibhI0lPPI6dYw="
+      "integrity": "sha512-2VI856xEDCLXi19W+4BechR5/oIS6bKCKqcf16GR8Pg7dGLJ/eBOWVbCmQx2ISvYH6wTNx5Ef7JTOw1dRGRx6A=="
     },
     "dom-scroll-into-view": {
       "version": "2.0.1",
@@ -5747,6 +5831,22 @@
         "safer-buffer": "^2.1.0"
       }
     },
+    "echarts": {
+      "version": "5.4.2",
+      "resolved": "https://registry.npmjs.org/echarts/-/echarts-5.4.2.tgz",
+      "integrity": "sha512-2W3vw3oI2tWJdyAz+b8DuWS0nfXtSDqlDmqgin/lfzbkB01cuMEN66KWBlmur3YMp5nEDEEt5s23pllnAzB4EA==",
+      "requires": {
+        "tslib": "2.3.0",
+        "zrender": "5.4.3"
+      },
+      "dependencies": {
+        "tslib": {
+          "version": "2.3.0",
+          "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz",
+          "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg=="
+        }
+      }
+    },
     "editorconfig": {
       "version": "0.15.3",
       "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-0.15.3.tgz",
@@ -7266,6 +7366,11 @@
         "uglify-js": "^2.6.2"
       }
     },
+    "focusable-core": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/focusable-core/-/focusable-core-2.0.1.tgz",
+      "integrity": "sha512-sZdMNmDhYksZ1OwS9vA0Me1DLLVXD84zl7h4BvCoYffAj/lMWYNGdMdG3Hd2h9VhmaYcqPkPbbqCyEv5hG8A9Q=="
+    },
     "follow-redirects": {
       "version": "1.5.10",
       "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz",
@@ -8320,8 +8425,7 @@
     "he": {
       "version": "1.2.0",
       "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
-      "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
-      "dev": true
+      "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw=="
     },
     "hex-color-regex": {
       "version": "1.1.0",
@@ -8945,7 +9049,7 @@
     "intersperse": {
       "version": "1.0.0",
       "resolved": "https://registry.npmjs.org/intersperse/-/intersperse-1.0.0.tgz",
-      "integrity": "sha1-8lYfsc/vn1J3zDNHoiiGtDUaUYE="
+      "integrity": "sha512-LGcfug7OTeWkaQ8PEq8XbTy9Jl6uCNg8DrPnQUmwxSY8UETj1Y+LLmpdD0qHdEj6KVchuH3BE3ZzIXQ1t3oFUw=="
     },
     "invariant": {
       "version": "2.2.4",
@@ -9141,9 +9245,9 @@
       "integrity": "sha512-wW/SXnYJkTjs++tVK5b6kVITZpAZPtUrt9SF80vvxGiF/Oywal+COk1jlRkiVq15RFNEQKQY31TkV24/1T5cVg=="
     },
     "is-negative-zero": {
-      "version": "2.0.1",
-      "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz",
-      "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w=="
+      "version": "2.0.2",
+      "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz",
+      "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA=="
     },
     "is-number": {
       "version": "3.0.0",
@@ -11123,7 +11227,7 @@
     "json2mq": {
       "version": "0.2.0",
       "resolved": "https://registry.npmjs.org/json2mq/-/json2mq-0.2.0.tgz",
-      "integrity": "sha1-tje9O6nqvhIsg+lyBIOusQ0skEo=",
+      "integrity": "sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==",
       "requires": {
         "string-convert": "^0.2.0"
       }
@@ -11490,11 +11594,6 @@
       "resolved": "https://registry.npmjs.org/lodash.tail/-/lodash.tail-4.1.1.tgz",
       "integrity": "sha1-0jM6NtnncXyK0vfKyv7HwytERmQ="
     },
-    "lodash.toarray": {
-      "version": "4.4.0",
-      "resolved": "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz",
-      "integrity": "sha1-JMS/zWsvuji/0FlNsRedjptlZWE="
-    },
     "lodash.transform": {
       "version": "4.6.0",
       "resolved": "https://registry.npmjs.org/lodash.transform/-/lodash.transform-4.6.0.tgz",
@@ -12046,6 +12145,11 @@
       "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.0.tgz",
       "integrity": "sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg=="
     },
+    "nanoid": {
+      "version": "3.3.6",
+      "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
+      "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA=="
+    },
     "nanomatch": {
       "version": "1.2.13",
       "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz",
@@ -12074,9 +12178,9 @@
       }
     },
     "nanopop": {
-      "version": "2.1.0",
-      "resolved": "https://registry.npmjs.org/nanopop/-/nanopop-2.1.0.tgz",
-      "integrity": "sha512-jGTwpFRexSH+fxappnGQtN9dspgE2ipa1aOjtR24igG0pv6JCxImIAmrLRHX+zUF5+1wtsFVbKyfP51kIGAVNw=="
+      "version": "2.2.0",
+      "resolved": "https://registry.npmjs.org/nanopop/-/nanopop-2.2.0.tgz",
+      "integrity": "sha512-E9JaHcxh3ere8/BEZHAcnuD10RluTSPyTToBvoFWS9/7DcCx6gyKjbn7M7Bx7E1veCxCuY1iO6h4+gdAf1j73Q=="
     },
     "natural-compare": {
       "version": "1.4.0",
@@ -12121,11 +12225,18 @@
       }
     },
     "node-emoji": {
-      "version": "1.10.0",
-      "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.10.0.tgz",
-      "integrity": "sha512-Yt3384If5H6BYGVHiHwTL+99OzJKHhgp82S8/dktEK73T26BazdgZ4JZh92xSVtGNJvz9UbXdNAc5hcrXV42vw==",
+      "version": "1.11.0",
+      "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz",
+      "integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==",
       "requires": {
-        "lodash.toarray": "^4.4.0"
+        "lodash": "^4.17.21"
+      },
+      "dependencies": {
+        "lodash": {
+          "version": "4.17.21",
+          "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+          "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
+        }
       }
     },
     "node-fetch": {
@@ -13046,6 +13157,11 @@
       "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz",
       "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns="
     },
+    "picocolors": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
+      "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
+    },
     "pify": {
       "version": "4.0.1",
       "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz",
@@ -15501,6 +15617,11 @@
         "amdefine": ">=0.0.4"
       }
     },
+    "source-map-js": {
+      "version": "1.0.2",
+      "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
+      "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw=="
+    },
     "source-map-resolve": {
       "version": "0.5.2",
       "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz",
@@ -15775,7 +15896,7 @@
     "string-convert": {
       "version": "0.2.1",
       "resolved": "https://registry.npmjs.org/string-convert/-/string-convert-0.2.1.tgz",
-      "integrity": "sha1-aYLMMEn7tM2F+LJFaLnZvznu/5c="
+      "integrity": "sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A=="
     },
     "string-length": {
       "version": "2.0.0",
@@ -16990,6 +17111,42 @@
       "resolved": "https://registry.npmjs.org/vue-cropper/-/vue-cropper-0.4.9.tgz",
       "integrity": "sha512-Uf1i/sCh+ZqSM9hb2YTGRENzJFH+mvDuv8N2brGLjK7UBuF7XDP7zbis8g/dcqZiMojAcBDtObFCn4ERFbRMxQ=="
     },
+    "vue-easytable": {
+      "version": "2.24.0",
+      "resolved": "https://registry.npmjs.org/vue-easytable/-/vue-easytable-2.24.0.tgz",
+      "integrity": "sha512-5OcCw3EMLEb/cBLV/pMqRIhAmwt3FadXpoZvWhdE+SynthdNtTrQhxFKyjgpAmX6OPEMb9/XFNX86gDuIVnlxg==",
+      "requires": {
+        "lodash": "^4.17.20",
+        "resize-observer-polyfill": "^1.5.1",
+        "vue": "^2.6.12",
+        "vue-template-compiler": "^2.6.11"
+      },
+      "dependencies": {
+        "lodash": {
+          "version": "4.17.21",
+          "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+          "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
+        },
+        "vue": {
+          "version": "2.7.14",
+          "resolved": "https://registry.npmjs.org/vue/-/vue-2.7.14.tgz",
+          "integrity": "sha512-b2qkFyOM0kwqWFuQmgd4o+uHGU7T+2z3T+WQp8UBjADfEv2n4FEMffzBmCKNP0IGzOEEfYjvtcC62xaSKeQDrQ==",
+          "requires": {
+            "@vue/compiler-sfc": "2.7.14",
+            "csstype": "^3.1.0"
+          }
+        },
+        "vue-template-compiler": {
+          "version": "2.7.14",
+          "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.14.tgz",
+          "integrity": "sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==",
+          "requires": {
+            "de-indent": "^1.0.2",
+            "he": "^1.2.0"
+          }
+        }
+      }
+    },
     "vue-eslint-parser": {
       "version": "2.0.3",
       "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-2.0.3.tgz",
@@ -17206,6 +17363,14 @@
       "integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==",
       "dev": true
     },
+    "vue-tv-focusable": {
+      "version": "2.0.1",
+      "resolved": "https://registry.npmjs.org/vue-tv-focusable/-/vue-tv-focusable-2.0.1.tgz",
+      "integrity": "sha512-JT8yFqsAdI5xdfPPkGL3COYn2ENBdyE442YaB5m28UTN9HMUwVFnBcYkon/HdLcAzh7z2sV0F7BtJgtAjtqJsg==",
+      "requires": {
+        "focusable-core": "~2.0.1"
+      }
+    },
     "vue2.0-zoom": {
       "version": "2.1.1",
       "resolved": "https://registry.npmjs.org/vue2.0-zoom/-/vue2.0-zoom-2.1.1.tgz",
@@ -17945,6 +18110,21 @@
           "dev": true
         }
       }
+    },
+    "zrender": {
+      "version": "5.4.3",
+      "resolved": "https://registry.npmjs.org/zrender/-/zrender-5.4.3.tgz",
+      "integrity": "sha512-DRUM4ZLnoaT0PBVvGBDO9oWIDBKFdAVieNWxWwK0niYzJCMwGchRk21/hsE+RKkIveH3XHCyvXcJDkgLVvfizQ==",
+      "requires": {
+        "tslib": "2.3.0"
+      },
+      "dependencies": {
+        "tslib": {
+          "version": "2.3.0",
+          "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.0.tgz",
+          "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg=="
+        }
+      }
     }
   }
 }

+ 2 - 2
package.json

@@ -15,7 +15,7 @@
   },
   "dependencies": {
     "@antv/data-set": "^0.10.2",
-    "ant-design-vue": "^1.7.1",
+    "ant-design-vue": "^1.7.8",
     "axios": "^0.19.0",
     "core-js": "2.6.9",
     "enquire.js": "^2.1.6",
@@ -44,7 +44,7 @@
     "wangeditor": "^3.1.1",
     "@jiaminghi/data-view": "^2.10.0",
     "echarts": "^5.4.0",
-    "vue-easytable": "^2.21.5",
+    "vue-easytable": "^2.24.0",
     "vue-tv-focusable": "^2.0.1"
   },
   "devDependencies": {

+ 1 - 1
public/version.json

@@ -1,4 +1,4 @@
 {
-    "version": "2.1.75",
+    "version": "2.1.25",
     "message": "发现有新版本发布,确定更新系统?"
 }

+ 1 - 1
src/components/index.less

@@ -1,5 +1,5 @@
 @import '~ant-design-vue/dist/antd.less'; // 引入官方提供的 less 样式入口文件
-// @import "~ant-design-vue/lib/style/index";
+@import '~vue-easytable/packages/theme-default/index.less';
 @import './newThem.less'; // 用于覆盖上面定义的变量
 // The prefix to use on all css classes from ant-pro.
 @ant-pro-prefix             : ant-pro;

+ 22 - 1
src/components/newThem.less

@@ -7,4 +7,25 @@
 @collapse-header-padding: 6px 8px;
 @table-padding-vertical: 5px;
 @table-padding-horizontal: 5px;
-@input-disabled-bg: #fdfdfd;
+@input-disabled-bg: #fdfdfd;
+
+// vue-easytable new style
+@ve-default-font-size: 12px;
+@ve-table-head-row-height: 30px;
+@ve-table-body-row-height: 30px;
+@ve-table-foot-row-height: 30px;
+@ve-table-head-row-td-padding: 5px;
+@ve-table-body-row-td-padding: 5px;
+@ve-table-body-row-expand-content-padding: 0 5px;
+@ve-table-foot-row-td-padding: 5px;
+@ve-table-border-color: #ddd;
+@ve-table-column-fixed-border-color: #aaa;
+@ve-table-body-row-hover-background-color: color(~`colorPalette('@{primary-color}', 0.5) `);
+@ve-table-body-row-highlight-background-color: color(~`colorPalette('@{primary-color}', 1) `);
+ 
+.ve-table .ve-table-container .ve-table-content-wrapper table.ve-table-content{
+    // border-bottom: 1px solid #ddd;
+}
+.ve-table .ve-table-container .ve-table-content-wrapper table.ve-table-content thead.ve-table-header tr.ve-table-header-tr th.ve-table-header-th{
+    font-weight: 900;
+}

+ 2 - 20
src/config/router.config.js

@@ -1321,6 +1321,7 @@ export const asyncRouterMap = [
                 meta: {
                   title: '基础信息设置',
                   icon: 'monitor',
+                  replaceTab: true,
                   hidden: true
                 }
               },
@@ -1331,26 +1332,7 @@ export const asyncRouterMap = [
                 meta: {
                   title: '确认导入',
                   icon: 'monitor',
-                  hidden: true
-                }
-              },
-              {
-                path: 'explainXsbz',
-                name: 'intelligentReplenishmentExplainXsbz',
-                component: () => import(/* webpackChunkName: "inventoryManagement" */ '@/views/inventoryManagement/intelligentReplenishment/explainXsbz.vue'),
-                meta: {
-                  title: '销售保障法-说明',
-                  icon: 'monitor',
-                  hidden: true
-                }
-              },
-              {
-                path: 'explainQspj',
-                name: 'intelligentReplenishmentExplainQspj',
-                component: () => import(/* webpackChunkName: "inventoryManagement" */ '@/views/inventoryManagement/intelligentReplenishment/explainQspj.vue'),
-                meta: {
-                  title: '趋势平均法-说明',
-                  icon: 'monitor',
+                  replaceTab: true,
                   hidden: true
                 }
               }

+ 4 - 1
src/main.js

@@ -13,12 +13,15 @@ import {loading,borderBox13,digitalFlop,capsuleChart,borderBox8,borderBox12,bord
 import Echart from './bigScreenComponents/echart/index.vue'
 import ItemWrap from './bigScreenComponents/item-wrap/item-wrap.vue'
 import Reacquire from './bigScreenComponents/reacquire/reacquire.vue'
-import "vue-easytable/libs/theme-default/index.css";
 // 自定义组件
 Vue.component("Echart",Echart)
 Vue.component("ItemWrap",ItemWrap)
 Vue.component("Reacquire",Reacquire)
 
+// 引入组件库
+import VueEasytable from "vue-easytable";
+Vue.use(VueEasytable);
+
 // datav组件
 Vue.use(loading)
 Vue.use(borderBox13)

+ 6 - 4
src/views/inventoryManagement/intelligentReplenishment/detailModal.vue

@@ -26,6 +26,7 @@
             :loading="loading"
             :scroll="{ y: 400 }"
             :pagination="false"
+            v-if="detailData&&detailData.stockPredictRange == 0"
             bordered>
           </a-table>
         </div>
@@ -92,6 +93,8 @@ export default {
           this.detailData = res.data
           if (this.detailData.stockPredictRange == 0) { //  自选产品
             this.getPredictRange()
+          }else{
+            this.loadData = []
           }
         } else {
           this.detailData = null
@@ -161,10 +164,9 @@ export default {
     isShow (newValue, oldValue) {
       if (!newValue) {
         this.$emit('close')
-      }
-    },
-    itemSn (newValue, oldValue) {
-      if (this.isShow && newValue) {
+        this.detailData = null
+         this.loadData = []
+      }else{
         this.getDetail()
       }
     }

+ 43 - 17
src/views/inventoryManagement/intelligentReplenishment/edit.vue

@@ -79,21 +79,37 @@
     </a-spin>
     <!-- 服务水平 -->
     <replenishment-service-level-modal :openModal="openModal" :itemSn="form.trendSn" @close="openModal=false" @ok="handleOk" />
+    <!-- 算法说明 -->
+    <commonModal
+      :modalTit="explainType=='qspj'?'趋势平均法说明':'销售保障法说明'"
+      bodyPadding="10px"
+      width="1024px"
+      :showFooter="false"
+      :openModal="showDetailModal"
+      @cancel="showDetailModal=false">
+       <explainQspj v-if="explainType=='qspj'" @close="showDetailModal=false"></explainQspj>
+       <explainXsbz v-if="explainType=='xsbz'" @close="showDetailModal=false"></explainXsbz>
+    </commonModal>
   </div>
 </template>
 
 <script>
 import { commonMixin } from '@/utils/mixin'
+import commonModal from '@/views/common/commonModal.vue'
 import ReplenishmentServiceLevelModal from './serviceLevelModal.vue'
+import explainQspj from './explainQspj.vue'
+import explainXsbz from './explainXsbz.vue'
 import productRange from './productRange.vue'
 import { predictDetail, predictRangeSave, predictSave, predictTrendList, predictRun } from '@/api/predict'
 export default {
   name: 'IntelligentReplenishmentEdit',
   mixins: [commonMixin],
-  components: { ReplenishmentServiceLevelModal, productRange },
+  components: { ReplenishmentServiceLevelModal, productRange, commonModal, explainQspj, explainXsbz },
   data () {
     return {
       spinning: false,
+      showDetailModal: false,
+      explainType: 0,
       tableHeight: 0,
       formItemLayout: {
         labelCol: { span: 2 },
@@ -122,16 +138,21 @@ export default {
     },
     // 详情
     getDetail () {
+      this.spinning = true
       predictDetail({ sn: this.$route.params.sn }).then(res => {
         if (res.status == 200) {
           this.detailData = res.data
+          this.form.stockPredictRange = res.data.stockPredictRange != undefined ? Number(res.data.stockPredictRange) : 1
           if (res.data.state == 'RUN') {
             this.current = 2
+            this.spinning = false
           } else {
             this.current = 0
           }
+          this.getTrendSn()
         } else {
           this.detailData = null
+          this.spinning = false
         }
       })
     },
@@ -140,6 +161,9 @@ export default {
       predictRangeSave(params).then(res => {
         if (res.status == 200) {
           this.$refs.productRange.refreshList()
+          if (this.current == 0) { //  产品设置
+            this.handleSave(true)
+          }
         }
       })
     },
@@ -147,12 +171,7 @@ export default {
     handleNext () {
       const _this = this
       if (this.current == 0) { //  产品设置
-        const params = {
-          id: this.detailData.id,
-          stockPredictSn: this.$route.params.sn,
-          stockPredictRange: this.form.stockPredictRange
-        }
-        this.handleSave(params)
+        this.handleSave(false)
       } else if (this.current == 1) { //  参数设置
         this.$refs.ruleForm.validate(valid => {
           if (valid) {
@@ -173,12 +192,21 @@ export default {
       }
     },
     // 保存
-    handleSave (params) {
+    handleSave (noNext) {
+      const params = {
+        id: this.detailData.id,
+        stockPredictSn: this.$route.params.sn,
+        stockPredictRange: this.form.stockPredictRange
+      }
       this.spinning = true
       predictSave(params).then(res => {
         if (res.status == 200) {
-          this.current++
-          this.spinning = false
+          if (!noNext) {
+            this.current++
+            this.spinning = false
+          } else {
+            this.getTrendSn()
+          }
         } else {
           this.spinning = false
         }
@@ -198,14 +226,12 @@ export default {
     },
     // 算法说明
     handleExplain (type) {
-      if (type == 'xsbz') {
-        this.$router.push({ path: `/inventoryManagement/intelligentReplenishment/explainXsbz` })
-      } else if (type == 'qspj') {
-        this.$router.push({ path: `/inventoryManagement/intelligentReplenishment/explainQspj` })
-      }
+      this.explainType = type
+      this.showDetailModal = true
     },
     // 服务水平选择
     handleOk (val) {
+      console.log(val)
       this.form.trendSn = val.trendSn
       this.form.serviceLevel = val.serviceLevel
       this.form.safetyFactor = val.safetyFactor
@@ -213,6 +239,7 @@ export default {
     },
     // 获取默认服务水平
     getTrendSn () {
+      this.spinning = true
       predictTrendList({ defaultFlag: 1 }).then(res => {
         if (res.status == 200) {
           this.form.trendSn = (res.data && res.data[0] && res.data[0].trendSn) ? res.data[0].trendSn : undefined
@@ -223,6 +250,7 @@ export default {
           this.form.serviceLevel = ''
           this.form.safetyFactor = ''
         }
+        this.spinning = false
       })
     },
     setTableH () {
@@ -238,8 +266,6 @@ export default {
       }
       this.$refs.ruleForm.resetFields()
       this.getDetail()
-      this.getTrendSn()
-      this.current = 0
 
       const _this = this
       this.$nextTick(() => { // 页面渲染完成后的回调

+ 8 - 0
src/views/inventoryManagement/intelligentReplenishment/explainQspj.vue

@@ -83,6 +83,9 @@
           <p class="item-txt">计算预计需求量 = 54 × (45/30) + 13 = 94</p>
         </div>
       </div>
+      <div style="text-align:center;padding: 20px;">
+        <a-button type="default" @click="closePage">关闭</a-button>
+      </div>
     </div>
   </a-card>
 </template>
@@ -152,6 +155,11 @@ export default {
         { title: '实际销量', january: 1, february: 1, march: 0, april: 4, may: 16, june: 9, july: 4, august: 4, september: 4, october: 4, november: 1, december: 25, sum: 73 }
       ]
     }
+  },
+  methods:{
+    closePage(){
+      this.$emit('close')
+    }
   }
 }
 </script>

+ 8 - 0
src/views/inventoryManagement/intelligentReplenishment/explainXsbz.vue

@@ -50,6 +50,9 @@
           <p class="item-txt">计算预计需求量 = 59 × 保障倍数1.5 = 88.5 ≈ 89(假设保障倍数为1.5)</p>
         </div>
       </div>
+      <div style="text-align:center;padding: 20px;">
+        <a-button type="default" @click="closePage">关闭</a-button>
+      </div>
     </div>
   </a-card>
 </template>
@@ -76,6 +79,11 @@ export default {
         { january: 55, february: 53, march: 54, april: 56, may: 58, june: 57, july: 52, august: 52, september: 56, october: 52, november: 53, december: 59 }
       ]
     }
+  },
+  methods:{
+    closePage(){
+      this.$emit('close')
+    }
   }
 }
 </script>

+ 53 - 44
src/views/inventoryManagement/intelligentReplenishment/import.vue

@@ -7,26 +7,26 @@
           <a id="intelligentReplenishmentImport-back-btn" href="javascript:;" @click="handleBack"><a-icon type="left" /> 返回列表</a>
         </template>
       </a-page-header>
-      <a-card :bordered="false" class="intelligentReplenishmentImport-cont">
+      <a-card size="small" :bordered="false" class="intelligentReplenishmentImport-cont">
         <div>
           <p class="total">共 <span>{{ listData.length }}</span> 条数据,红色字体表示数据不符合规范,请返回上一步修改文件后重新上传</p>
-          <s-table
-            class="sTable"
-            ref="table"
-            size="small"
-            :rowKey="(record) => record.id"
-            :columns="columns"
-            :data="loadData"
-            :scroll="{ x: 1440 }"
-            :rowClassName="(record, index) => record.cost ? 'redBg-row':''"
-            :showPagination="false"
-            :defaultLoadData="false"
-            bordered>
-          </s-table>
+          
+        <ve-table
+              border-y
+              :border-around="false"
+              :max-height="tableHeight"
+              :row-style-option="{clickHighlight: true}"
+              :cellSelectionOption="{enable: false}"
+              :virtual-scroll-option="{enable: true}"
+              :columns="columns"
+              :table-data="listData"
+              row-key-field-name="id"
+              :cell-style-option="cellStyleOption"
+            />
           <div class="btn-cont">
             <a-button
               type="primary"
-              v-if="errorFlag.indexOf('1')==-1"
+              v-if="errorFlag"
               id="intelligentReplenishmentLevel-submit"
               size="large"
               class="button-primary"
@@ -34,7 +34,7 @@
               style="padding: 0 60px;">确认导入</a-button>
             <a-button
               type="primary"
-              v-if="errorFlag.indexOf('1')!=-1"
+              v-else
               id="intelligentReplenishmentLevel-set"
               size="large"
               class="button-primary"
@@ -64,34 +64,25 @@ export default {
   data () {
     return {
       spinning: false,
+      tableHeight: 500,
+      cellStyleOption: {
+          bodyCellClass: ({ row, column, rowIndex }) => {
+            return row.errorFlag == 1 ? 'redBg-row':'';
+          },
+      },
       columns: [
-        { title: '序号', dataIndex: 'no', width: 80, align: 'center', fixed: 'left' },
-        { title: '产品编码', dataIndex: 'productCode', width: 220, align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '产品名称', dataIndex: 'productName', align: 'center', customRender: function (text) { return text || '--' }, ellipsis: true },
-        { title: '产品状态', dataIndex: 'productStateDictValue', width: 100, align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '订货周期(天)', dataIndex: 'cycle', width: 120, align: 'center', customRender: function (text) { return ((text || text == 0) ? text : '--') } },
-        { title: '是否淘汰', dataIndex: 'eliminateText', width: 100, align: 'center', customRender: function (text) { return text || '--' } },
-        { title: '淘汰描述', dataIndex: 'eliminateDesc', width: 200, align: 'center', customRender: function (text) { return text || '--' }, ellipsis: true },
-        { title: '备注', dataIndex: 'remark', width: 200, align: 'center', customRender: function (text) { return text || '--' }, ellipsis: true },
-        { title: '错误原因', dataIndex: 'errorDesc', width: 200, align: 'center', customRender: function (text) { return text || '--' }, ellipsis: true }
+        { title: '序号', field: 'no',key: "a", width: 80, align: 'center', fixed: 'left',operationColumn: false },
+        { title: '产品编码', field: 'productCode',key: "b", width: 220, align: 'center',operationColumn: false,renderBodyCell: ({ row, column, rowIndex }, h) => { return row[column.field] || '--'} },
+        { title: '产品名称', field: 'productName',key: "c", align: 'center',operationColumn: false , ellipsis: { showTitle: true },renderBodyCell: ({ row, column, rowIndex }, h) => { return row[column.field] || '--'}},
+        { title: '产品状态', field: 'productStateDictValue',key: "d", width: 100, align: 'center',operationColumn: false,renderBodyCell: ({ row, column, rowIndex }, h) => { return row[column.field] || '--'} },
+        { title: '订货周期(天)', field: 'cycle',key: "e", width: 120, align: 'center',operationColumn: false,renderBodyCell: ({ row, column, rowIndex }, h) => { return row[column.field] || row[column.field] == 0 ? row[column.field] : '--'}},
+        { title: '是否淘汰', field: 'eliminateText',key: "f", width: 100, align: 'center',operationColumn: false,renderBodyCell: ({ row, column, rowIndex }, h) => { return row[column.field] || '--'}},
+        { title: '淘汰描述', field: 'eliminateDesc',key: "g", width: 200, align: 'center',operationColumn: false, ellipsis: { showTitle: true },renderBodyCell: ({ row, column, rowIndex }, h) => { return row[column.field] || '--'}},
+        { title: '备注', field: 'remark', width: 200,key: "h", align: 'center',operationColumn: false, ellipsis: { showTitle: true },renderBodyCell: ({ row, column, rowIndex }, h) => { return row[column.field] || '--'} },
+        { title: '错误原因', field: 'errorDesc',key: "i", width: 200, align: 'center',operationColumn: false, ellipsis: { showTitle: true } ,renderBodyCell: ({ row, column, rowIndex }, h) => { return row.errorFlag == 1 ? (row[column.field] || '--') : '--'}}
       ],
-      // 加载数据方法 必须为 Promise 对象
-      loadData: parameter => {
-        return predictProductInfoGoods({ path: JSON.parse(this.$cookies.get('REPLENISHMENT_PATH')) }).then(res => {
-          let data
-          if (res.status == 200) {
-            data = res.data
-            for (var i = 0; i < data.list.length; i++) {
-              data.list[i].no = i + 1
-              this.errorFlag.push(data.list[i].errorFlag)
-            }
-            this.listData = data.list
-          }
-          return data
-        })
-      },
       listData: [],
-      errorFlag: []
+      errorFlag: false
     }
   },
   methods: {
@@ -103,6 +94,24 @@ export default {
     handleBackSet () {
       this.$router.push({ path: `/inventoryManagement/intelligentReplenishment/set` })
     },
+    getTable(){
+      this.tableHeight = window.innerHeight - 325
+      this.spinning = true
+      predictProductInfoGoods({ path: JSON.parse(this.$cookies.get('REPLENISHMENT_PATH')) }).then(res => {
+          let data
+          if (res.status == 200) {
+            data = res.data
+            this.errorFlag = data.isok
+            const as = data.list.filter(item => item.errorFlag == 1)
+            const bs = data.list.filter(item => item.errorFlag != 1)
+            this.listData = as.concat(bs)
+            for (var i = 0; i < this.listData.length; i++) {
+              this.listData[i].no = i + 1
+            }
+          }
+          this.spinning = false
+        })
+    },
     // 确认导入
     handleSubmit () {
       const _this = this
@@ -129,13 +138,13 @@ export default {
   },
   mounted () {
     if (!this.$store.state.app.isNewTab) { // 页签刷新时调用
-      this.$refs.table.refresh(true)
+      this.getTable()
     }
   },
   activated () {
     // 如果是新页签打开或者进入新的子页(例:存在列表第2条数据编辑页页签时再打开第4条数据的编辑页),则重置当前页面
     if (this.$store.state.app.isNewTab || !this.$store.state.app.isNewSubTab) {
-      this.$refs.table.refresh(true)
+      this.getTable()
     }
   }
 }
@@ -162,7 +171,7 @@ export default {
       }
     }
     .redBg-row{
-      background-color: #f5cdc8;
+      background-color: #f5cdc8!important;
     }
   }
 </style>

+ 28 - 29
src/views/inventoryManagement/intelligentReplenishment/serviceLevelModal.vue

@@ -9,18 +9,16 @@
     @cancel="isShow=false"
     :width="800">
     <div>
-      <s-table
+      <a-table
         class="sTable"
         ref="table"
-        size="small"
-        :rowKey="(record) => record.trendSn"
         :row-selection="{ type: 'radio', columnTitle: '选择', selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
         :columns="columns"
-        :data="loadData"
+        :data-source="listData"
         :scroll="{ y: 400 }"
-        :showPagination="false"
+        :pagination="false"
         bordered>
-      </s-table>
+      </a-table>
       <div class="btn-cont">
         <a-button type="primary" id="intelligentReplenishmentLevel-save" @click="handleSave">保存</a-button>
         <a-button id="intelligentReplenishmentLevel-back" @click="isShow = false" style="margin-left: 15px;">关闭</a-button>
@@ -53,22 +51,21 @@ export default {
         { title: '服务水平(%)', dataIndex: 'serviceLevel', align: 'center', customRender: function (text) { return text || '--' } },
         { title: '安全系数', dataIndex: 'safetyFactor', align: 'center', customRender: function (text) { return text || '--' } }
       ],
-      // 加载数据方法 必须为 Promise 对象
-      loadData: parameter => {
-        return predictTrendList({}).then(res => {
-          let data
-          if (res.status == 200) {
-            data = res.data
-            this.listData = data
-          }
-          return data
-        })
-      },
       listData: [],
       selectedRowKeys: []
     }
   },
   methods: {
+    getTableData(){
+      predictTrendList({}).then(res => {
+        if (res.status == 200) {
+          this.listData = res.data
+          this.listData.map(item => {
+            item.key = Number(item.trendSn)
+          })
+        }
+      })
+    },
     onSelectChange (selectedRowKeys, selectedRows) {
       console.log('selectedRowKeys changed: ', selectedRowKeys, selectedRows)
       this.selectedRowKeys = selectedRowKeys
@@ -76,13 +73,17 @@ export default {
     //  保存
     handleSave () {
       if (this.selectedRowKeys.length > 0) {
-        const ind = this.listData.findIndex(item => item.trendSn == this.selectedRowKeys[0])
-        const params = {
-          trendSn: this.listData[ind].trendSn,
-          serviceLevel: this.listData[ind].serviceLevel,
-          safetyFactor: this.listData[ind].safetyFactor
+        const row = this.listData.find(item => item.trendSn == this.selectedRowKeys[0])
+        if(row){
+          const params = {
+            trendSn: row.trendSn,
+            serviceLevel: row.serviceLevel,
+            safetyFactor: row.safetyFactor
+          }
+          this.$emit('ok', params)
+        }else{
+          this.$message.warning('请选择服务水平后再进行保存!')
         }
-        this.$emit('ok', params)
       } else {
         this.$message.warning('请选择服务水平后再进行保存!')
       }
@@ -97,12 +98,10 @@ export default {
     isShow (newValue, oldValue) {
       if (!newValue) {
         this.$emit('close')
-      }
-    },
-    itemSn (newValue, oldValue) {
-      if (this.isShow && newValue) {
-        this.selectedRowKeys = [newValue]
-        console.log(this.selectedRowKeys)
+      } else {
+        console.log(this.itemSn)
+        this.selectedRowKeys = [Number(this.itemSn)]
+        this.getTableData()
       }
     }
   }

+ 1 - 0
src/views/purchasingManagement/bulkWarehousingOrder/list.vue

@@ -295,6 +295,7 @@ export default {
         kingdeeNo: ''
       }
       this.$refs.table.refresh(true)
+      this.$refs.table.clearSelected()
     },
     //  单条审核
     handleAudit (row) {

+ 2 - 0
src/views/salesManagement/receiptPrint/list.vue

@@ -299,7 +299,9 @@ export default {
     },
     printOk () {
       this.spinning = false
+      console.log(1)
       this.$refs.table.refresh()
+      this.$refs.table.clearSelected()
     },
     //  时间  change
     dateChange (date) {

+ 1 - 0
src/views/salesManagement/salesCollection/list.vue

@@ -445,6 +445,7 @@ export default {
         if (res.status == 200) {
           _this.$message.success(res.message)
           _this.$refs.table.refresh()
+          _this.$refs.table.clearSelected()
           _this.spinning = false
           _this.collectionType = 0
         } else {

+ 2 - 2
src/views/supplierManagement/costSetting/chooseImportModal.vue

@@ -93,14 +93,14 @@ export default {
         { title: '供应商名称', dataIndex: 'supplierName', width: '25%', align: 'center', customRender: function (text) { return text || '--' } },
         { title: '产品编码', dataIndex: 'productCode', width: '20%', align: 'center', customRender: function (text) { return text || '--' } },
         { title: '产品名称', dataIndex: 'product.name', width: '30%', align: 'center', customRender: function (text) { return text || '--' }, ellipsis: true },
-        { title: '成本价', dataIndex: 'costText', width: '15%', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } }
+        { title: '成本价', dataIndex: 'costText', width: '15%', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text || 0) : '--') } }
       ],
       nowUnColumns: [ //  不可导入
         { title: '序号', dataIndex: 'no', width: '10%', align: 'center' },
         { title: '供应商名称', dataIndex: 'supplierName', width: '20%', align: 'center', customRender: function (text) { return text || '--' } },
         { title: '产品编码', dataIndex: 'productCode', width: '15%', align: 'center', customRender: function (text) { return text || '--' } },
         { title: '产品名称', dataIndex: 'product.name', width: '25%', align: 'center', customRender: function (text) { return text || '--' }, ellipsis: true },
-        { title: '成本价', dataIndex: 'costText', width: '15%', align: 'right', customRender: function (text) { return ((text || text == 0) ? _this.toThousands(text) : '--') } },
+        { title: '成本价', dataIndex: 'costText', width: '15%', align: 'right', customRender: function (text) { return text || '--' } },
         { title: '备注', dataIndex: 'importErrorMsgList', width: '15%', align: 'center', customRender: function (text) { return text || '--' } }
       ],
       loadData: [],