From f6b3f2f323f6d07494d01f1e59c4ac86aad490a8 Mon Sep 17 00:00:00 2001 From: zwq Date: Tue, 13 Dec 2022 16:41:37 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package-lock.json | 311 ++++++- package.json | 3 +- public/index.html | 4 +- src/icons/svg/08质量.svg | 1 + src/icons/svg/控制中心.svg | 1 + src/icons/svg/方案管理.svg | 1 + src/main.js | 8 + src/mixins/basic-add.js | 2 +- src/mixins/basic-page.js | 10 +- src/mixins/process-page.js | 152 ++++ src/mixins/view-module.js | 4 +- src/router/index.js | 24 +- src/views/main-sidebar.vue | 138 ++- src/views/modules/sys/role.vue | 8 +- src/views/pages/login.vue | 3 +- .../process-inspection/Counting/CGraph.vue | 85 ++ .../process-inspection/Counting/NPGraph.vue | 85 ++ .../process-inspection/Counting/PGraph.vue | 85 ++ .../process-inspection/Counting/UGraph.vue | 85 ++ .../Metrological/XMRGraph.vue | 172 ++++ .../Metrological/XbarRGraph.vue | 184 ++++ .../Metrological/XbarSGraph.vue | 172 ++++ .../charts/echart-2line.vue | 618 +++++++++++++ .../charts/echart-3line.vue | 239 +++++ .../components/detail-table.vue | 274 ++++++ .../components/features-table.vue | 83 ++ .../components/generalOperation-add.vue | 432 +++++++++ .../process-inspection/generalOperation.vue | 306 +++++++ src/views/process-inspection/query-form.vue | 255 ++++++ .../components/controlRatio.js | 66 ++ .../components/interpretationScheme-add.vue | 180 ++++ src/views/quality-planning/controlGraph.vue | 102 +++ src/views/quality-planning/controlRatio.vue | 121 +++ .../quality-planning/interpretationScheme.vue | 107 +++ src/views/quality-planning/query-form.vue | 73 ++ src/views/spc-basic/components/flowMethods.js | 222 +++-- .../components/processFlow-graph.vue | 645 ++++++++++--- .../components/productList-four-content.vue | 44 +- .../components/productList-four-history.vue | 38 +- .../spc-basic/components/productList-four.vue | 6 +- .../components/productList-three-add.vue | 51 +- .../components/productList-three.vue | 24 +- .../components/productList-two-table.vue | 6 +- .../spc-basic/components/toolsType-detail.vue | 14 +- src/views/spc-basic/factoryManage.vue | 44 +- src/views/spc-basic/machineManage.vue | 48 +- src/views/spc-basic/processDefine.vue | 48 +- src/views/spc-basic/processFlow.vue | 855 +++++++++++++++--- src/views/spc-basic/processType.vue | 44 +- src/views/spc-basic/productList.vue | 158 ++-- src/views/spc-basic/productType.vue | 46 +- src/views/spc-basic/query-form.vue | 73 ++ src/views/spc-basic/siteManage.vue | 46 +- src/views/spc-basic/toolsType.vue | 46 +- src/views/spc-basic/unitList.vue | 46 +- src/views/spc-chart/echart-2line.vue | 248 +++++ src/views/{spc => spc-chart}/echart-3line.vue | 0 src/views/{spc => spc-chart}/echart-line.vue | 0 src/views/{spc => spc-chart}/test3data.js | 0 src/views/{spc => spc-chart}/testdata.js | 0 60 files changed, 6404 insertions(+), 742 deletions(-) create mode 100644 src/icons/svg/08质量.svg create mode 100644 src/icons/svg/控制中心.svg create mode 100644 src/icons/svg/方案管理.svg create mode 100644 src/mixins/process-page.js create mode 100644 src/views/process-inspection/Counting/CGraph.vue create mode 100644 src/views/process-inspection/Counting/NPGraph.vue create mode 100644 src/views/process-inspection/Counting/PGraph.vue create mode 100644 src/views/process-inspection/Counting/UGraph.vue create mode 100644 src/views/process-inspection/Metrological/XMRGraph.vue create mode 100644 src/views/process-inspection/Metrological/XbarRGraph.vue create mode 100644 src/views/process-inspection/Metrological/XbarSGraph.vue create mode 100644 src/views/process-inspection/charts/echart-2line.vue create mode 100644 src/views/process-inspection/charts/echart-3line.vue create mode 100644 src/views/process-inspection/components/detail-table.vue create mode 100644 src/views/process-inspection/components/features-table.vue create mode 100644 src/views/process-inspection/components/generalOperation-add.vue create mode 100644 src/views/process-inspection/generalOperation.vue create mode 100644 src/views/process-inspection/query-form.vue create mode 100644 src/views/quality-planning/components/controlRatio.js create mode 100644 src/views/quality-planning/components/interpretationScheme-add.vue create mode 100644 src/views/quality-planning/controlGraph.vue create mode 100644 src/views/quality-planning/controlRatio.vue create mode 100644 src/views/quality-planning/interpretationScheme.vue create mode 100644 src/views/quality-planning/query-form.vue create mode 100644 src/views/spc-basic/query-form.vue create mode 100644 src/views/spc-chart/echart-2line.vue rename src/views/{spc => spc-chart}/echart-3line.vue (100%) rename src/views/{spc => spc-chart}/echart-line.vue (100%) rename src/views/{spc => spc-chart}/test3data.js (100%) rename src/views/{spc => spc-chart}/testdata.js (100%) diff --git a/package-lock.json b/package-lock.json index 4c7aa5b..9fd437a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,6 +17,20 @@ "utility-types": "^3.10.0" } }, + "@antv/x6-react-components": { + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/@antv/x6-react-components/-/x6-react-components-1.1.15.tgz", + "integrity": "sha512-tXUak5CPuZLIA0fVBSM2vZ+TxxoEGBcokr0J69e7H0G3WIutDf6J6RkNeRGuKvcW8O1Lef1jiBGSLLjlrRXf0g==", + "requires": { + "clamp": "^1.0.1", + "classnames": "^2.2.6", + "rc-dropdown": "^3.0.0-alpha.0", + "rc-util": "^4.15.7", + "react-color": "^2.17.3", + "react-resize-detector": "^6.6.4", + "ua-parser-js": "^0.7.20" + } + }, "@babel/code-frame": { "version": "7.0.0-beta.44", "resolved": "https://registry.npm.taobao.org/@babel/code-frame/download/@babel/code-frame-7.0.0-beta.44.tgz?cache=0&sync_timestamp=1593529659031&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2F%40babel%2Fcode-frame%2Fdownload%2F%40babel%2Fcode-frame-7.0.0-beta.44.tgz", @@ -2373,7 +2387,6 @@ "version": "7.10.5", "resolved": "https://registry.npm.taobao.org/@babel/runtime/download/@babel/runtime-7.10.5.tgz", "integrity": "sha1-MD2L1EDs1aSR6uYRf9M2dphnTFw=", - "dev": true, "requires": { "regenerator-runtime": "^0.13.4" }, @@ -2381,8 +2394,7 @@ "regenerator-runtime": { "version": "0.13.7", "resolved": "https://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.13.7.tgz?cache=0&sync_timestamp=1595456367497&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerator-runtime%2Fdownload%2Fregenerator-runtime-0.13.7.tgz", - "integrity": "sha1-ysLazIoepnX+qrrriugziYrkb1U=", - "dev": true + "integrity": "sha1-ysLazIoepnX+qrrriugziYrkb1U=" } } }, @@ -2463,6 +2475,11 @@ "@hapi/hoek": "^8.3.0" } }, + "@icons/material": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/@icons/material/-/material-0.2.4.tgz", + "integrity": "sha512-QPcGmICAPbGLGb6F/yNf/KzKqvFx8z5qx3D1yFqVAjoFmXK35EgyW+cJ57Te3CNsmzblwtzakLGFqHPqrfb4Tw==" + }, "@intervolga/optimize-cssnano-plugin": { "version": "1.0.6", "resolved": "https://registry.npm.taobao.org/@intervolga/optimize-cssnano-plugin/download/@intervolga/optimize-cssnano-plugin-1.0.6.tgz", @@ -2640,6 +2657,11 @@ "integrity": "sha1-FZJUFOCtLNdlv+9YhC9+JqesyyQ=", "dev": true }, + "@types/resize-observer-browser": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/@types/resize-observer-browser/-/resize-observer-browser-0.1.7.tgz", + "integrity": "sha512-G9eN0Sn0ii9PWQ3Vl72jDPgeJwRWhv2Qk/nQkJuWmRmOB4HX3/BhD5SE1dZs/hzPZL/WKnvF0RHdTSG54QJFyg==" + }, "@vue/babel-helper-vue-jsx-merge-props": { "version": "1.0.0", "resolved": "https://registry.npm.taobao.org/@vue/babel-helper-vue-jsx-merge-props/download/@vue/babel-helper-vue-jsx-merge-props-1.0.0.tgz", @@ -4042,6 +4064,21 @@ "integrity": "sha1-DeiJpgEgOQmw++B7iTjcIdLpZ7w=", "dev": true }, + "add-dom-event-listener": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/add-dom-event-listener/-/add-dom-event-listener-1.1.0.tgz", + "integrity": "sha512-WCxx1ixHT0GQU9hb0KI/mhgRQhnU+U3GvwY6ZvVjYq8rsihIGoaIOUbY0yMPBxLH5MDtr0kz3fisWGNcbWW7Jw==", + "requires": { + "object-assign": "4.x" + }, + "dependencies": { + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" + } + } + }, "address": { "version": "1.1.2", "resolved": "https://registry.npm.taobao.org/address/download/address-1.1.2.tgz?cache=0&sync_timestamp=1593529661616&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Faddress%2Fdownload%2Faddress-1.1.2.tgz", @@ -5290,6 +5327,11 @@ "safe-buffer": "^5.0.1" } }, + "clamp": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/clamp/-/clamp-1.0.1.tgz", + "integrity": "sha512-kgMuFyE78OC6Dyu3Dy7vcx4uy97EIbVxJB/B0eJ3bUNAkwdNcxYzgKltnyADiYwsR7SEqkkUPsEUT//OVS6XMA==" + }, "class-utils": { "version": "0.3.6", "resolved": "https://registry.npm.taobao.org/class-utils/download/class-utils-0.3.6.tgz", @@ -5311,6 +5353,11 @@ } } }, + "classnames": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.1.tgz", + "integrity": "sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA==" + }, "clean-css": { "version": "3.4.28", "resolved": "https://registry.npm.taobao.org/clean-css/download/clean-css-3.4.28.tgz", @@ -6950,6 +6997,11 @@ "buffer-indexof": "^1.0.0" } }, + "dom-align": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/dom-align/-/dom-align-1.12.3.tgz", + "integrity": "sha512-Gj9hZN3a07cbR6zviMUBOMPdWxYhbMI+x+WS0NAIu2zFZmbK8ys9R79g+iG9qLnlCwpFoaB+fKy8Pdv470GsPA==" + }, "dom-converter": { "version": "0.2.0", "resolved": "https://registry.npm.taobao.org/dom-converter/download/dom-converter-0.2.0.tgz", @@ -10608,6 +10660,11 @@ "object-visit": "^1.0.0" } }, + "material-colors": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/material-colors/-/material-colors-1.2.6.tgz", + "integrity": "sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg==" + }, "md5.js": { "version": "1.3.5", "resolved": "https://registry.npm.taobao.org/md5.js/download/md5.js-1.3.5.tgz", @@ -13640,6 +13697,23 @@ "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", "dev": true }, + "prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "requires": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + }, + "dependencies": { + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==" + } + } + }, "proxy-addr": { "version": "2.0.6", "resolved": "https://registry.npm.taobao.org/proxy-addr/download/proxy-addr-2.0.6.tgz", @@ -13880,6 +13954,222 @@ "unpipe": "1.0.0" } }, + "rc-align": { + "version": "4.0.12", + "resolved": "https://registry.npmjs.org/rc-align/-/rc-align-4.0.12.tgz", + "integrity": "sha512-3DuwSJp8iC/dgHzwreOQl52soj40LchlfUHtgACOUtwGuoFIOVh6n/sCpfqCU8kO5+iz6qR0YKvjgB8iPdE3aQ==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "2.x", + "dom-align": "^1.7.0", + "lodash": "^4.17.21", + "rc-util": "^5.3.0", + "resize-observer-polyfill": "^1.5.1" + }, + "dependencies": { + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, + "rc-util": { + "version": "5.24.2", + "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-5.24.2.tgz", + "integrity": "sha512-MWd0ZEV7xSwN4HM9jz9BwpnMzwCPjYJ7K90lePsrdgAkrmm8U7b4BOTIsv/84BQsaF7N3ejNkcrZ3AfEwc9HXA==", + "requires": { + "@babel/runtime": "^7.18.3", + "react-is": "^16.12.0", + "shallowequal": "^1.1.0" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.0.tgz", + "integrity": "sha512-eR8Lo9hnDS7tqkO7NsV+mKvCmv5boaXFSZ70DnfhcgiEne8hv9oCEd36Klw74EtizEqLsy4YnW8UWwpBVolHZA==", + "requires": { + "regenerator-runtime": "^0.13.4" + } + } + } + }, + "regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" + } + } + }, + "rc-dropdown": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/rc-dropdown/-/rc-dropdown-3.6.2.tgz", + "integrity": "sha512-Wsw7GkVbUXADEs8FPL0v8gd+3mWQiydPFXBlr2imMScQaf8hh79pG9KrBc1DwK+nqHmYOpQfK2gn6jG2AQw9Pw==", + "requires": { + "@babel/runtime": "^7.10.1", + "classnames": "^2.2.6", + "rc-trigger": "^5.0.4", + "rc-util": "^5.17.0" + }, + "dependencies": { + "rc-util": { + "version": "5.24.2", + "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-5.24.2.tgz", + "integrity": "sha512-MWd0ZEV7xSwN4HM9jz9BwpnMzwCPjYJ7K90lePsrdgAkrmm8U7b4BOTIsv/84BQsaF7N3ejNkcrZ3AfEwc9HXA==", + "requires": { + "@babel/runtime": "^7.18.3", + "react-is": "^16.12.0", + "shallowequal": "^1.1.0" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.0.tgz", + "integrity": "sha512-eR8Lo9hnDS7tqkO7NsV+mKvCmv5boaXFSZ70DnfhcgiEne8hv9oCEd36Klw74EtizEqLsy4YnW8UWwpBVolHZA==", + "requires": { + "regenerator-runtime": "^0.13.4" + } + } + } + }, + "regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" + } + } + }, + "rc-motion": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/rc-motion/-/rc-motion-2.6.2.tgz", + "integrity": "sha512-4w1FaX3dtV749P8GwfS4fYnFG4Rb9pxvCYPc/b2fw1cmlHJWNNgOFIz7ysiD+eOrzJSvnLJWlNQQncpNMXwwpg==", + "requires": { + "@babel/runtime": "^7.11.1", + "classnames": "^2.2.1", + "rc-util": "^5.21.0" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.0.tgz", + "integrity": "sha512-eR8Lo9hnDS7tqkO7NsV+mKvCmv5boaXFSZ70DnfhcgiEne8hv9oCEd36Klw74EtizEqLsy4YnW8UWwpBVolHZA==", + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "rc-util": { + "version": "5.24.2", + "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-5.24.2.tgz", + "integrity": "sha512-MWd0ZEV7xSwN4HM9jz9BwpnMzwCPjYJ7K90lePsrdgAkrmm8U7b4BOTIsv/84BQsaF7N3ejNkcrZ3AfEwc9HXA==", + "requires": { + "@babel/runtime": "^7.18.3", + "react-is": "^16.12.0", + "shallowequal": "^1.1.0" + } + }, + "regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" + } + } + }, + "rc-trigger": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/rc-trigger/-/rc-trigger-5.3.1.tgz", + "integrity": "sha512-5gaFbDkYSefZ14j2AdzucXzlWgU2ri5uEjkHvsf1ynRhdJbKxNOnw4PBZ9+FVULNGFiDzzlVF8RJnR9P/xrnKQ==", + "requires": { + "@babel/runtime": "^7.18.3", + "classnames": "^2.2.6", + "rc-align": "^4.0.0", + "rc-motion": "^2.0.0", + "rc-util": "^5.19.2" + }, + "dependencies": { + "@babel/runtime": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.19.0.tgz", + "integrity": "sha512-eR8Lo9hnDS7tqkO7NsV+mKvCmv5boaXFSZ70DnfhcgiEne8hv9oCEd36Klw74EtizEqLsy4YnW8UWwpBVolHZA==", + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "rc-util": { + "version": "5.24.2", + "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-5.24.2.tgz", + "integrity": "sha512-MWd0ZEV7xSwN4HM9jz9BwpnMzwCPjYJ7K90lePsrdgAkrmm8U7b4BOTIsv/84BQsaF7N3ejNkcrZ3AfEwc9HXA==", + "requires": { + "@babel/runtime": "^7.18.3", + "react-is": "^16.12.0", + "shallowequal": "^1.1.0" + } + }, + "regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==" + } + } + }, + "rc-util": { + "version": "4.21.1", + "resolved": "https://registry.npmjs.org/rc-util/-/rc-util-4.21.1.tgz", + "integrity": "sha512-Z+vlkSQVc1l8O2UjR3WQ+XdWlhj5q9BMQNLk2iOBch75CqPfrJyGtcWMcnhRlNuDu0Ndtt4kLVO8JI8BrABobg==", + "requires": { + "add-dom-event-listener": "^1.1.0", + "prop-types": "^15.5.10", + "react-is": "^16.12.0", + "react-lifecycles-compat": "^3.0.4", + "shallowequal": "^1.1.0" + } + }, + "react-color": { + "version": "2.19.3", + "resolved": "https://registry.npmjs.org/react-color/-/react-color-2.19.3.tgz", + "integrity": "sha512-LEeGE/ZzNLIsFWa1TMe8y5VYqr7bibneWmvJwm1pCn/eNmrabWDh659JSPn9BuaMpEfU83WTOJfnCcjDZwNQTA==", + "requires": { + "@icons/material": "^0.2.4", + "lodash": "^4.17.15", + "lodash-es": "^4.17.15", + "material-colors": "^1.2.1", + "prop-types": "^15.5.10", + "reactcss": "^1.2.0", + "tinycolor2": "^1.4.1" + } + }, + "react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + }, + "react-lifecycles-compat": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz", + "integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==" + }, + "react-resize-detector": { + "version": "6.7.8", + "resolved": "https://registry.npmjs.org/react-resize-detector/-/react-resize-detector-6.7.8.tgz", + "integrity": "sha512-0FaEcUBAbn+pq3PT5a9hHRebUfuS1SRLGLpIw8LydU7zX429I6XJgKerKAMPsJH0qWAl6o5bVKNqFJqr6tGPYw==", + "requires": { + "@types/resize-observer-browser": "^0.1.6", + "lodash": "^4.17.21", + "resize-observer-polyfill": "^1.5.1" + }, + "dependencies": { + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + } + } + }, + "reactcss": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/reactcss/-/reactcss-1.2.3.tgz", + "integrity": "sha512-KiwVUcFu1RErkI97ywr8nvx8dNOpT03rbnma0SSalTYjkrPYaEajR4a/MRt6DZ46K6arDRbWMNHF+xH7G7n/8A==", + "requires": { + "lodash": "^4.0.1" + } + }, "read-pkg": { "version": "1.1.0", "resolved": "https://registry.npm.taobao.org/read-pkg/download/read-pkg-1.1.0.tgz", @@ -14590,6 +14880,11 @@ "safe-buffer": "^5.0.1" } }, + "shallowequal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" + }, "shebang-command": { "version": "1.2.0", "resolved": "https://registry.npm.taobao.org/shebang-command/download/shebang-command-1.2.0.tgz", @@ -15839,6 +16134,11 @@ "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", "dev": true }, + "tinycolor2": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.2.tgz", + "integrity": "sha512-vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA==" + }, "to-arraybuffer": { "version": "1.0.1", "resolved": "https://registry.npm.taobao.org/to-arraybuffer/download/to-arraybuffer-1.0.1.tgz", @@ -16013,6 +16313,11 @@ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", "dev": true }, + "ua-parser-js": { + "version": "0.7.31", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.31.tgz", + "integrity": "sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ==" + }, "uglify-js": { "version": "3.4.10", "resolved": "https://registry.npm.taobao.org/uglify-js/download/uglify-js-3.4.10.tgz", diff --git a/package.json b/package.json index b9c4959..4be85c8 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "version": "5.0.0", "private": true, "scripts": { - "serve": "vue-cli-service serve", + "dev": "vue-cli-service serve", "build": "vue-cli-service build", "build:prod": "vue-cli-service build --mode production", "build:sit": "vue-cli-service build --mode production.sit", @@ -11,6 +11,7 @@ }, "dependencies": { "@antv/x6": "^1.33.1", + "@antv/x6-react-components": "^1.1.15", "axios": "^0.19.2", "babel-eslint": "^8.0.1", "babel-plugin-component": "^1.1.1", diff --git a/public/index.html b/public/index.html index 5b4cf80..61b6c0f 100644 --- a/public/index.html +++ b/public/index.html @@ -2,7 +2,7 @@ * @Author: zwq * @Date: 2022-08-22 14:57:50 * @LastEditors: zwq - * @LastEditTime: 2022-08-22 15:15:04 + * @LastEditTime: 2022-12-13 14:33:51 * @Description: --> @@ -37,7 +37,7 @@ <% if (process.env.VUE_APP_NODE_ENV === 'dev') { %> <% } %> diff --git a/src/icons/svg/08质量.svg b/src/icons/svg/08质量.svg new file mode 100644 index 0000000..97632a4 --- /dev/null +++ b/src/icons/svg/08质量.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/控制中心.svg b/src/icons/svg/控制中心.svg new file mode 100644 index 0000000..79bfd08 --- /dev/null +++ b/src/icons/svg/控制中心.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/icons/svg/方案管理.svg b/src/icons/svg/方案管理.svg new file mode 100644 index 0000000..8207726 --- /dev/null +++ b/src/icons/svg/方案管理.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/src/main.js b/src/main.js index 6837490..58d7c05 100644 --- a/src/main.js +++ b/src/main.js @@ -1,3 +1,10 @@ +/* + * @Author: zwq + * @Date: 2022-08-22 14:57:50 + * @LastEditors: zwq + * @LastEditTime: 2022-09-13 10:39:56 + * @Description: + */ import Vue from 'vue' import Element from 'element-ui' import App from '@/App' @@ -15,6 +22,7 @@ import renRegionTree from '@/components/ren-region-tree' import { hasPermission, getDictLabel } from '@/utils' import cloneDeep from 'lodash/cloneDeep' + Vue.config.productionTip = false Vue.use(Element, { diff --git a/src/mixins/basic-add.js b/src/mixins/basic-add.js index 6ebc3ad..af29716 100644 --- a/src/mixins/basic-add.js +++ b/src/mixins/basic-add.js @@ -2,7 +2,7 @@ * @Author: zwq * @Date: 2022-08-24 11:19:43 * @LastEditors: zwq - * @LastEditTime: 2022-08-26 15:38:58 + * @LastEditTime: 2022-09-19 14:12:43 * @Description: */ export default { diff --git a/src/mixins/basic-page.js b/src/mixins/basic-page.js index 8000526..eb7ea14 100644 --- a/src/mixins/basic-page.js +++ b/src/mixins/basic-page.js @@ -2,7 +2,7 @@ * @Author: zwq * @Date: 2022-08-24 11:19:43 * @LastEditors: zwq - * @LastEditTime: 2022-08-24 14:06:58 + * @LastEditTime: 2022-09-16 13:50:19 * @Description: */ export default { @@ -15,10 +15,8 @@ export default { statusUrl: '', exportUrl: '' }, - dataForm: { - paramKey: "", - }, dataList: [], + dataForm: {}, pageIndex: 1, pageSize: 10, totalPage: 0, @@ -32,7 +30,6 @@ export default { this.getDataList(); }, methods: { - // 获取数据列表 getDataList() { this.dataListLoading = true; @@ -41,8 +38,7 @@ export default { params: { page: this.pageIndex, limit: this.pageSize, - code: this.dataForm.paramKey, - name: this.dataForm.paramKey, + ...this.dataForm }, }) .then(({ data: res }) => { diff --git a/src/mixins/process-page.js b/src/mixins/process-page.js new file mode 100644 index 0000000..c13655f --- /dev/null +++ b/src/mixins/process-page.js @@ -0,0 +1,152 @@ +/* + * @Author: zwq + * @Date: 2022-08-24 11:19:43 + * @LastEditors: zwq + * @LastEditTime: 2022-09-16 14:19:44 + * @Description: + */ +export default { + data () { + /* eslint-disable */ + return { + urlOptions: { + getDataListURL: '', + deleteURL: '', + statusUrl: '', + exportUrl: '' + }, + dataList: [], + dataForm: {}, + pageIndex: 1, + pageSize: 10, + totalPage: 0, + dataListLoading: false, + addOrUpdateVisible: false, + } + }, + created () { + }, + activated() { + this.getDataList(); + }, + methods: { + // 获取数据列表 + getDataList() { + this.dataListLoading = true; + this.$http + .get(this.urlOptions.getDataListURL, { + params: { + page: this.pageIndex, + limit: this.pageSize, + ...this.dataForm + }, + }) + .then(({ data: res }) => { + this.dataListLoading = false; + if (res.code !== 0) { + this.dataList = []; + this.totalPage = 0; + return this.$message.error(res.msg); + } + this.dataList = res.data.list; + this.totalPage = res.data.total; + }) + .catch(() => { + this.dataListLoading = false; + }); + }, + // 每页数 + sizeChangeHandle(val) { + this.pageSize = val; + this.pageIndex = 1; + this.getDataList(); + }, + // 当前页 + currentChangeHandle(val) { + this.pageIndex = val; + this.getDataList(); + }, + // 新增 / 修改 + addOrUpdateHandle(id) { + this.addOrUpdateVisible = true; + this.$nextTick(() => { + this.$refs.addOrUpdate.init(id); + }); + }, + cancel(id) { + this.$refs["popover-" + id].showPopper = false; + }, + changeStatus(id) { + this.$http + .post(this.urlOptions.statusUrl, { id }) + .then(({ data: res }) => { + if (res.code !== 0) { + return this.$message.error(res.msg); + } + this.$refs["popover-" + id].showPopper = false; + this.$message({ + message: this.$t("prompt.success"), + type: "success", + duration: 500, + onClose: () => { + this.getDataList(); + }, + }); + }) + .catch(() => {}); + }, + // 删除 + deleteHandle(id, name) { + this.$confirm(`确定对[名称=${name}]进行删除操作?`, "提示", { + confirmButtonText: "确定", + cancelButtonText: "取消", + type: "warning", + }) + .then(() => { + this.$http.delete(this.urlOptions.deleteURL, { data: [id] }).then(({ data }) => { + if (data && data.code === 0) { + this.$message({ + message: "操作成功", + type: "success", + duration: 1500, + onClose: () => { + this.getDataList(); + }, + }); + } else { + this.$message.error(data.msg); + } + }); + }) + .catch(() => {}); + }, + // 导出 + exportHandle(name) { + this.$http + .get(this.urlOptions.exportUrl, { responseType: "blob" }) + .then(({ data: res }) => { + var date = new Date(); + var year = date.getFullYear(); + var month = date.getMonth() + 1; + var strDate = date.getDate(); + if (month >= 1 && month <= 9) { + month = "0" + month; + } + if (strDate >= 0 && strDate <= 9) { + strDate = "0" + strDate; + } + var currentdate = year + "-" + month + "-" + strDate; + const blob = new Blob([res]); + const downloadElement = document.createElement("a"); + const href = window.URL.createObjectURL(blob); // 创建下载的链接 + downloadElement.href = href; + downloadElement.download = `${name+currentdate}.xls`; // 下载后文件名 + document.body.appendChild(downloadElement); + downloadElement.click(); // 点击下载 + document.body.removeChild(downloadElement); // 下载完成移除元素 + window.URL.revokeObjectURL(href); + }) + .catch(() => {}); + } + } +} \ No newline at end of file diff --git a/src/mixins/view-module.js b/src/mixins/view-module.js index 4306320..837567c 100644 --- a/src/mixins/view-module.js +++ b/src/mixins/view-module.js @@ -47,8 +47,8 @@ export default { this.mixinViewModuleOptions.getDataListURL, { params: { - order: this.order, - orderField: this.orderField, + order: this.order?this.order:null, + orderField: this.orderField?this.orderField:null, page: this.mixinViewModuleOptions.getDataListIsPage ? this.page : null, limit: this.mixinViewModuleOptions.getDataListIsPage ? this.limit : null, ...this.dataForm diff --git a/src/router/index.js b/src/router/index.js index 1fa8d9d..fc73123 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -33,8 +33,12 @@ export const moduleRoutes = { meta: { title: '主入口布局' }, children: [ { path: '/home', component: () => import('@/views/modules/home'), name: 'home', meta: { title: '首页', isTab: true } }, - { path: '/echart-line', component: () => import('@/views/spc/echart-line'), name: 'echart-line', meta: { title: 'spc折线', isTab: true } }, - { path: '/echart-3line', component: () => import('@/views/spc/echart-3line'), name: 'echart-3line', meta: { title: 'spc3折线', isTab: true } }, + + { path: '/echart-line', component: () => import('@/views/spc-chart/echart-line'), name: 'echart-line', meta: { title: 'spc折线', isTab: true } }, + { path: '/echart-3line', component: () => import('@/views/spc-chart/echart-3line'), name: 'echart-3line', meta: { title: 'spc3折线', isTab: true } }, + { path: '/echart-2line', component: () => import('@/views/spc-chart/echart-2line'), name: 'echart-2line', meta: { title: 'spc2折线', isTab: true } }, + + // 基础信息 { path: '/productType', component: () => import('@/views/spc-basic/productType'), name: 'productType', meta: { title: '产品类型', isTab: true } }, { path: '/productList', component: () => import('@/views/spc-basic/productList'), name: 'productList', meta: { title: '产品列表', isTab: true } }, { path: '/factoryManage', component: () => import('@/views/spc-basic/factoryManage'), name: 'factoryManage', meta: { title: '工厂管理', isTab: true } }, @@ -44,8 +48,20 @@ export const moduleRoutes = { { path: '/siteManage', component: () => import('@/views/spc-basic/siteManage'), name: 'siteManage', meta: { title: '站点管理', isTab: true } }, { path: '/machineManage', component: () => import('@/views/spc-basic/machineManage'), name: 'machineManage', meta: { title: '机台管理', isTab: true } }, { path: '/toolsType', component: () => import('@/views/spc-basic/toolsType'), name: 'toolsType', meta: { title: '量具管理', isTab: true } }, - { path: '/unitList', component: () => import('@/views/spc-basic/unitList'), name: 'unitList', meta: { title: '计量单位管理', isTab: true } } - + { path: '/unitList', component: () => import('@/views/spc-basic/unitList'), name: 'unitList', meta: { title: '计量单位管理', isTab: true } }, + // 质量规划 + { path: '/controlGraph', component: () => import('@/views/quality-planning/controlGraph'), name: 'controlGraph', meta: { title: '控制图形', isTab: true } }, + { path: '/controlRatio', component: () => import('@/views/quality-planning/controlRatio'), name: 'controlRatio', meta: { title: '控制系数', isTab: true } }, + { path: '/interpretationScheme', component: () => import('@/views/quality-planning/interpretationScheme'), name: 'interpretationScheme', meta: { title: '判读方案', isTab: true } }, + // 过程检验 + { path: '/generalOperation', component: () => import('@/views/process-inspection/generalOperation'), name: 'generalOperation', meta: { title: '通用作业', isTab: true } }, + { path: '/XbarRGraph', component: () => import('@/views/process-inspection/Metrological/XbarRGraph'), name: 'XbarRGraph', meta: { title: '均值极差控制图', isTab: true } }, + { path: '/XbarSGraph', component: () => import('@/views/process-inspection/Metrological/XbarSGraph'), name: 'XbarSGraph', meta: { title: '均值标准差控制图', isTab: true } }, + { path: '/XMRGraph', component: () => import('@/views/process-inspection/Metrological/XMRGraph'), name: 'XMRGraph', meta: { title: '单值移动极差控制图', isTab: true } }, + { path: '/CGraph', component: () => import('@/views/process-inspection/Counting/CGraph'), name: 'CGraph', meta: { title: 'C图', isTab: true } }, + { path: '/UGraph', component: () => import('@/views/process-inspection/Counting/UGraph'), name: 'UGraph', meta: { title: 'U图', isTab: true } }, + { path: '/NPGraph', component: () => import('@/views/process-inspection/Counting/NPGraph'), name: 'NPGraph', meta: { title: 'NP图', isTab: true } }, + { path: '/PGraph', component: () => import('@/views/process-inspection/Counting/PGraph'), name: 'PGraph', meta: { title: 'P图', isTab: true } }, ] } diff --git a/src/views/main-sidebar.vue b/src/views/main-sidebar.vue index 2510ac6..e0646fd 100644 --- a/src/views/main-sidebar.vue +++ b/src/views/main-sidebar.vue @@ -15,15 +15,19 @@ - + + + 产品类型 - + 产品列表 @@ -33,33 +37,45 @@ - + + + 工序类型 - + + + 工序定义 - + - + + + 站点管理 - + + + 机台管理 @@ -74,18 +90,116 @@ spc折线 + + + spc2折线 + spc3折线 + + + + + 控制图形 + + + + 控制系数 + + + + 判读方案 + + + + + + + + + 通用作业 + + + + + + + + 均值极差控制图 + + + + + + 均值标准差控制图 + + + + + + 单值移动极差控制图 + + + + + + + + + C图 + + + + + + U图 + + + + + + NP图 + + + + + + P图 + + + diff --git a/src/views/modules/sys/role.vue b/src/views/modules/sys/role.vue index 6b30169..99d5a98 100644 --- a/src/views/modules/sys/role.vue +++ b/src/views/modules/sys/role.vue @@ -1,3 +1,10 @@ +