初次对接
This commit is contained in:
parent
5465099c77
commit
0d3bf51c2b
350
package-lock.json
generated
350
package-lock.json
generated
@ -20,6 +20,7 @@
|
||||
"echarts-gl": "^2.0.9",
|
||||
"echarts-wordcloud": "^2.1.0",
|
||||
"element-plus": "^2.6.1",
|
||||
"html2canvas": "^1.4.1",
|
||||
"js-cookie": "^3.0.5",
|
||||
"js-table2excel": "^1.1.2",
|
||||
"jsplumb": "^2.15.6",
|
||||
@ -37,6 +38,7 @@
|
||||
"vue-demi": "^0.14.7",
|
||||
"vue-grid-layout": "^3.0.0-beta1",
|
||||
"vue-i18n": "^9.10.2",
|
||||
"vue-qr": "^4.0.9",
|
||||
"vue-router": "^4.3.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
@ -1798,8 +1800,16 @@
|
||||
"node_modules/balanced-match": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
|
||||
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
|
||||
"dev": true
|
||||
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
|
||||
},
|
||||
"node_modules/base64-arraybuffer": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmmirror.com/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz",
|
||||
"integrity": "sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">= 0.6.0"
|
||||
}
|
||||
},
|
||||
"node_modules/batch-processor": {
|
||||
"version": "1.0.0",
|
||||
@ -2004,6 +2014,15 @@
|
||||
"node": ">= 8"
|
||||
}
|
||||
},
|
||||
"node_modules/css-line-break": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmmirror.com/css-line-break/-/css-line-break-2.1.0.tgz",
|
||||
"integrity": "sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"utrie": "^1.0.2"
|
||||
}
|
||||
},
|
||||
"node_modules/cssesc": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
|
||||
@ -2052,6 +2071,21 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/decompress-response": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmmirror.com/decompress-response/-/decompress-response-6.0.0.tgz",
|
||||
"integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"mimic-response": "^3.1.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/deep-is": {
|
||||
"version": "0.1.4",
|
||||
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
|
||||
@ -2652,8 +2686,7 @@
|
||||
"node_modules/fs.realpath": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
|
||||
"integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
|
||||
"dev": true
|
||||
"integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
|
||||
},
|
||||
"node_modules/fsevents": {
|
||||
"version": "2.3.3",
|
||||
@ -2855,6 +2888,19 @@
|
||||
"url": "https://github.com/sponsors/wooorm"
|
||||
}
|
||||
},
|
||||
"node_modules/html2canvas": {
|
||||
"version": "1.4.1",
|
||||
"resolved": "https://registry.npmmirror.com/html2canvas/-/html2canvas-1.4.1.tgz",
|
||||
"integrity": "sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"css-line-break": "^2.1.0",
|
||||
"text-segmentation": "^1.0.3"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/i18next": {
|
||||
"version": "20.6.1",
|
||||
"resolved": "https://registry.npmjs.org/i18next/-/i18next-20.6.1.tgz",
|
||||
@ -2916,7 +2962,6 @@
|
||||
"version": "1.0.6",
|
||||
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
|
||||
"integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"once": "^1.3.0",
|
||||
"wrappy": "1"
|
||||
@ -2925,8 +2970,7 @@
|
||||
"node_modules/inherits": {
|
||||
"version": "2.0.4",
|
||||
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
|
||||
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
|
||||
"dev": true
|
||||
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
|
||||
},
|
||||
"node_modules/is-binary-path": {
|
||||
"version": "2.1.0",
|
||||
@ -3012,6 +3056,12 @@
|
||||
"integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/js-binary-schema-parser": {
|
||||
"version": "2.0.3",
|
||||
"resolved": "https://registry.npmmirror.com/js-binary-schema-parser/-/js-binary-schema-parser-2.0.3.tgz",
|
||||
"integrity": "sha512-xezGJmOb4lk/M1ZZLTR/jaBHQ4gG/lqQnJqdIv4721DMggsa1bDVlHXNeHYogaIEHD9vCRv0fcL4hMA+Coarkg==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/js-cookie": {
|
||||
"version": "3.0.5",
|
||||
"resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.5.tgz",
|
||||
@ -3230,6 +3280,18 @@
|
||||
"node": ">= 0.6"
|
||||
}
|
||||
},
|
||||
"node_modules/mimic-response": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmmirror.com/mimic-response/-/mimic-response-3.1.0.tgz",
|
||||
"integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/minimatch": {
|
||||
"version": "3.1.2",
|
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
|
||||
@ -3329,7 +3391,6 @@
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
|
||||
"integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"wrappy": "1"
|
||||
}
|
||||
@ -3393,6 +3454,12 @@
|
||||
"node": ">=6"
|
||||
}
|
||||
},
|
||||
"node_modules/parenthesis": {
|
||||
"version": "3.1.8",
|
||||
"resolved": "https://registry.npmmirror.com/parenthesis/-/parenthesis-3.1.8.tgz",
|
||||
"integrity": "sha512-KF/U8tk54BgQewkJPvB4s/US3VQY68BRDpH638+7O/n58TpnwiwnOtGIOsT2/i+M78s61BBpeC83STB88d8sqw==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/path-exists": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
|
||||
@ -3827,6 +3894,51 @@
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/simple-concat": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmmirror.com/simple-concat/-/simple-concat-1.0.1.tgz",
|
||||
"integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/feross"
|
||||
},
|
||||
{
|
||||
"type": "patreon",
|
||||
"url": "https://www.patreon.com/feross"
|
||||
},
|
||||
{
|
||||
"type": "consulting",
|
||||
"url": "https://feross.org/support"
|
||||
}
|
||||
],
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/simple-get": {
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmmirror.com/simple-get/-/simple-get-4.0.1.tgz",
|
||||
"integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==",
|
||||
"funding": [
|
||||
{
|
||||
"type": "github",
|
||||
"url": "https://github.com/sponsors/feross"
|
||||
},
|
||||
{
|
||||
"type": "patreon",
|
||||
"url": "https://www.patreon.com/feross"
|
||||
},
|
||||
{
|
||||
"type": "consulting",
|
||||
"url": "https://feross.org/support"
|
||||
}
|
||||
],
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"decompress-response": "^6.0.0",
|
||||
"once": "^1.3.1",
|
||||
"simple-concat": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/slash": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
|
||||
@ -3898,6 +4010,15 @@
|
||||
"resolved": "https://registry.npmjs.org/ssr-window/-/ssr-window-3.0.0.tgz",
|
||||
"integrity": "sha512-q+8UfWDg9Itrg0yWK7oe5p/XRCJpJF9OBtXfOPgSJl+u3Xd5KI328RUEvUqSMVM9CiQUEf1QdBzJMkYGErj9QA=="
|
||||
},
|
||||
"node_modules/string-split-by": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmmirror.com/string-split-by/-/string-split-by-1.0.0.tgz",
|
||||
"integrity": "sha512-KaJKY+hfpzNyet/emP81PJA9hTVSfxNLS9SFTWxdCnnW1/zOOwiV248+EfoX7IQFcBaOp4G5YE6xTJMF+pLg6A==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"parenthesis": "^3.1.5"
|
||||
}
|
||||
},
|
||||
"node_modules/strip-ansi": {
|
||||
"version": "6.0.1",
|
||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
|
||||
@ -3934,6 +4055,15 @@
|
||||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/text-segmentation": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmmirror.com/text-segmentation/-/text-segmentation-1.0.3.tgz",
|
||||
"integrity": "sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"utrie": "^1.0.2"
|
||||
}
|
||||
},
|
||||
"node_modules/text-table": {
|
||||
"version": "0.2.0",
|
||||
"resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
|
||||
@ -4051,6 +4181,15 @@
|
||||
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/utrie": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmmirror.com/utrie/-/utrie-1.0.2.tgz",
|
||||
"integrity": "sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"base64-arraybuffer": "^1.0.2"
|
||||
}
|
||||
},
|
||||
"node_modules/vite": {
|
||||
"version": "5.1.6",
|
||||
"resolved": "https://registry.npmjs.org/vite/-/vite-5.1.6.tgz",
|
||||
@ -4281,6 +4420,59 @@
|
||||
"vue": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/vue-qr": {
|
||||
"version": "4.0.9",
|
||||
"resolved": "https://registry.npmmirror.com/vue-qr/-/vue-qr-4.0.9.tgz",
|
||||
"integrity": "sha512-pAISV94T0MNEYA3NGjykUpsXRE2QfaNxlu9ZhEL6CERgqNc21hJYuP3hRVzAWfBQlgO18DPmZTbrFerJC3+Ikw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"glob": "^8.0.1",
|
||||
"js-binary-schema-parser": "^2.0.2",
|
||||
"simple-get": "^4.0.1",
|
||||
"string-split-by": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/vue-qr/node_modules/brace-expansion": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.1.tgz",
|
||||
"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"balanced-match": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/vue-qr/node_modules/glob": {
|
||||
"version": "8.1.0",
|
||||
"resolved": "https://registry.npmmirror.com/glob/-/glob-8.1.0.tgz",
|
||||
"integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
|
||||
"deprecated": "Glob versions prior to v9 are no longer supported",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"fs.realpath": "^1.0.0",
|
||||
"inflight": "^1.0.4",
|
||||
"inherits": "2",
|
||||
"minimatch": "^5.0.1",
|
||||
"once": "^1.3.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/isaacs"
|
||||
}
|
||||
},
|
||||
"node_modules/vue-qr/node_modules/minimatch": {
|
||||
"version": "5.1.6",
|
||||
"resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-5.1.6.tgz",
|
||||
"integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"brace-expansion": "^2.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
}
|
||||
},
|
||||
"node_modules/vue-router": {
|
||||
"version": "4.3.0",
|
||||
"resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.3.0.tgz",
|
||||
@ -4318,8 +4510,7 @@
|
||||
"node_modules/wrappy": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
|
||||
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
|
||||
"dev": true
|
||||
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
|
||||
},
|
||||
"node_modules/xml-name-validator": {
|
||||
"version": "4.0.0",
|
||||
@ -5474,8 +5665,12 @@
|
||||
"balanced-match": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
|
||||
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
|
||||
"dev": true
|
||||
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
|
||||
},
|
||||
"base64-arraybuffer": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmmirror.com/base64-arraybuffer/-/base64-arraybuffer-1.0.2.tgz",
|
||||
"integrity": "sha512-I3yl4r9QB5ZRY3XuJVEPfc2XhZO6YweFPI+UovAzn+8/hb3oJ6lnysaFcjVpkCPfVWFUDvoZ8kmVDP7WyRtYtQ=="
|
||||
},
|
||||
"batch-processor": {
|
||||
"version": "1.0.0",
|
||||
@ -5638,6 +5833,14 @@
|
||||
"which": "^2.0.1"
|
||||
}
|
||||
},
|
||||
"css-line-break": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmmirror.com/css-line-break/-/css-line-break-2.1.0.tgz",
|
||||
"integrity": "sha512-FHcKFCZcAha3LwfVBhCQbW2nCNbkZXn7KVUJcsT5/P8YmfsVja0FMPJr0B903j/E69HUphKiV9iQArX8SDYA4w==",
|
||||
"requires": {
|
||||
"utrie": "^1.0.2"
|
||||
}
|
||||
},
|
||||
"cssesc": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
|
||||
@ -5672,6 +5875,14 @@
|
||||
"ms": "2.1.2"
|
||||
}
|
||||
},
|
||||
"decompress-response": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmmirror.com/decompress-response/-/decompress-response-6.0.0.tgz",
|
||||
"integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==",
|
||||
"requires": {
|
||||
"mimic-response": "^3.1.0"
|
||||
}
|
||||
},
|
||||
"deep-is": {
|
||||
"version": "0.1.4",
|
||||
"resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz",
|
||||
@ -6138,8 +6349,7 @@
|
||||
"fs.realpath": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
|
||||
"integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
|
||||
"dev": true
|
||||
"integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
|
||||
},
|
||||
"fsevents": {
|
||||
"version": "2.3.3",
|
||||
@ -6276,6 +6486,15 @@
|
||||
"resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-2.0.1.tgz",
|
||||
"integrity": "sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A=="
|
||||
},
|
||||
"html2canvas": {
|
||||
"version": "1.4.1",
|
||||
"resolved": "https://registry.npmmirror.com/html2canvas/-/html2canvas-1.4.1.tgz",
|
||||
"integrity": "sha512-fPU6BHNpsyIhr8yyMpTLLxAbkaK8ArIBcmZIRiBLiDhjeqvXolaEmDGmELFuX9I4xDcaKKcJl+TKZLqruBbmWA==",
|
||||
"requires": {
|
||||
"css-line-break": "^2.1.0",
|
||||
"text-segmentation": "^1.0.3"
|
||||
}
|
||||
},
|
||||
"i18next": {
|
||||
"version": "20.6.1",
|
||||
"resolved": "https://registry.npmjs.org/i18next/-/i18next-20.6.1.tgz",
|
||||
@ -6321,7 +6540,6 @@
|
||||
"version": "1.0.6",
|
||||
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
|
||||
"integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"once": "^1.3.0",
|
||||
"wrappy": "1"
|
||||
@ -6330,8 +6548,7 @@
|
||||
"inherits": {
|
||||
"version": "2.0.4",
|
||||
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
|
||||
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
|
||||
"dev": true
|
||||
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
|
||||
},
|
||||
"is-binary-path": {
|
||||
"version": "2.1.0",
|
||||
@ -6399,6 +6616,11 @@
|
||||
"integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
|
||||
"dev": true
|
||||
},
|
||||
"js-binary-schema-parser": {
|
||||
"version": "2.0.3",
|
||||
"resolved": "https://registry.npmmirror.com/js-binary-schema-parser/-/js-binary-schema-parser-2.0.3.tgz",
|
||||
"integrity": "sha512-xezGJmOb4lk/M1ZZLTR/jaBHQ4gG/lqQnJqdIv4721DMggsa1bDVlHXNeHYogaIEHD9vCRv0fcL4hMA+Coarkg=="
|
||||
},
|
||||
"js-cookie": {
|
||||
"version": "3.0.5",
|
||||
"resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.5.tgz",
|
||||
@ -6581,6 +6803,11 @@
|
||||
"mime-db": "1.52.0"
|
||||
}
|
||||
},
|
||||
"mimic-response": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmmirror.com/mimic-response/-/mimic-response-3.1.0.tgz",
|
||||
"integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ=="
|
||||
},
|
||||
"minimatch": {
|
||||
"version": "3.1.2",
|
||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
|
||||
@ -6656,7 +6883,6 @@
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
|
||||
"integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"wrappy": "1"
|
||||
}
|
||||
@ -6702,6 +6928,11 @@
|
||||
"callsites": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"parenthesis": {
|
||||
"version": "3.1.8",
|
||||
"resolved": "https://registry.npmmirror.com/parenthesis/-/parenthesis-3.1.8.tgz",
|
||||
"integrity": "sha512-KF/U8tk54BgQewkJPvB4s/US3VQY68BRDpH638+7O/n58TpnwiwnOtGIOsT2/i+M78s61BBpeC83STB88d8sqw=="
|
||||
},
|
||||
"path-exists": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
|
||||
@ -6967,6 +7198,21 @@
|
||||
"object-inspect": "^1.13.1"
|
||||
}
|
||||
},
|
||||
"simple-concat": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmmirror.com/simple-concat/-/simple-concat-1.0.1.tgz",
|
||||
"integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q=="
|
||||
},
|
||||
"simple-get": {
|
||||
"version": "4.0.1",
|
||||
"resolved": "https://registry.npmmirror.com/simple-get/-/simple-get-4.0.1.tgz",
|
||||
"integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==",
|
||||
"requires": {
|
||||
"decompress-response": "^6.0.0",
|
||||
"once": "^1.3.1",
|
||||
"simple-concat": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"slash": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
|
||||
@ -7022,6 +7268,14 @@
|
||||
"resolved": "https://registry.npmjs.org/ssr-window/-/ssr-window-3.0.0.tgz",
|
||||
"integrity": "sha512-q+8UfWDg9Itrg0yWK7oe5p/XRCJpJF9OBtXfOPgSJl+u3Xd5KI328RUEvUqSMVM9CiQUEf1QdBzJMkYGErj9QA=="
|
||||
},
|
||||
"string-split-by": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmmirror.com/string-split-by/-/string-split-by-1.0.0.tgz",
|
||||
"integrity": "sha512-KaJKY+hfpzNyet/emP81PJA9hTVSfxNLS9SFTWxdCnnW1/zOOwiV248+EfoX7IQFcBaOp4G5YE6xTJMF+pLg6A==",
|
||||
"requires": {
|
||||
"parenthesis": "^3.1.5"
|
||||
}
|
||||
},
|
||||
"strip-ansi": {
|
||||
"version": "6.0.1",
|
||||
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
|
||||
@ -7046,6 +7300,14 @@
|
||||
"has-flag": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"text-segmentation": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmmirror.com/text-segmentation/-/text-segmentation-1.0.3.tgz",
|
||||
"integrity": "sha512-iOiPUo/BGnZ6+54OsWxZidGCsdU8YbE4PSpdPinp7DeMtUJNJBoJ/ouUSTJjHkh1KntHaltHl/gDs2FC4i5+Nw==",
|
||||
"requires": {
|
||||
"utrie": "^1.0.2"
|
||||
}
|
||||
},
|
||||
"text-table": {
|
||||
"version": "0.2.0",
|
||||
"resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
|
||||
@ -7136,6 +7398,14 @@
|
||||
"integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
|
||||
"dev": true
|
||||
},
|
||||
"utrie": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmmirror.com/utrie/-/utrie-1.0.2.tgz",
|
||||
"integrity": "sha512-1MLa5ouZiOmQzUbjbu9VmjLzn1QLXBhwpUa7kdLUQK+KQ5KA9I1vk5U4YHe/X2Ch7PYnJfWuWT+VbuxbGwljhw==",
|
||||
"requires": {
|
||||
"base64-arraybuffer": "^1.0.2"
|
||||
}
|
||||
},
|
||||
"vite": {
|
||||
"version": "5.1.6",
|
||||
"resolved": "https://registry.npmjs.org/vite/-/vite-5.1.6.tgz",
|
||||
@ -7270,6 +7540,47 @@
|
||||
"@vue/devtools-api": "^6.5.0"
|
||||
}
|
||||
},
|
||||
"vue-qr": {
|
||||
"version": "4.0.9",
|
||||
"resolved": "https://registry.npmmirror.com/vue-qr/-/vue-qr-4.0.9.tgz",
|
||||
"integrity": "sha512-pAISV94T0MNEYA3NGjykUpsXRE2QfaNxlu9ZhEL6CERgqNc21hJYuP3hRVzAWfBQlgO18DPmZTbrFerJC3+Ikw==",
|
||||
"requires": {
|
||||
"glob": "^8.0.1",
|
||||
"js-binary-schema-parser": "^2.0.2",
|
||||
"simple-get": "^4.0.1",
|
||||
"string-split-by": "^1.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"brace-expansion": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.1.tgz",
|
||||
"integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==",
|
||||
"requires": {
|
||||
"balanced-match": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"glob": {
|
||||
"version": "8.1.0",
|
||||
"resolved": "https://registry.npmmirror.com/glob/-/glob-8.1.0.tgz",
|
||||
"integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==",
|
||||
"requires": {
|
||||
"fs.realpath": "^1.0.0",
|
||||
"inflight": "^1.0.4",
|
||||
"inherits": "2",
|
||||
"minimatch": "^5.0.1",
|
||||
"once": "^1.3.0"
|
||||
}
|
||||
},
|
||||
"minimatch": {
|
||||
"version": "5.1.6",
|
||||
"resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-5.1.6.tgz",
|
||||
"integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==",
|
||||
"requires": {
|
||||
"brace-expansion": "^2.0.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"vue-router": {
|
||||
"version": "4.3.0",
|
||||
"resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.3.0.tgz",
|
||||
@ -7295,8 +7606,7 @@
|
||||
"wrappy": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
|
||||
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
|
||||
"dev": true
|
||||
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
|
||||
},
|
||||
"xml-name-validator": {
|
||||
"version": "4.0.0",
|
||||
|
@ -21,6 +21,7 @@
|
||||
"echarts-gl": "^2.0.9",
|
||||
"echarts-wordcloud": "^2.1.0",
|
||||
"element-plus": "^2.6.1",
|
||||
"html2canvas": "^1.4.1",
|
||||
"js-cookie": "^3.0.5",
|
||||
"js-table2excel": "^1.1.2",
|
||||
"jsplumb": "^2.15.6",
|
||||
@ -38,6 +39,7 @@
|
||||
"vue-demi": "^0.14.7",
|
||||
"vue-grid-layout": "^3.0.0-beta1",
|
||||
"vue-i18n": "^9.10.2",
|
||||
"vue-qr": "^4.0.9",
|
||||
"vue-router": "^4.3.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
|
@ -35,16 +35,16 @@ service.interceptors.response.use(
|
||||
(response) => {
|
||||
// 对响应数据做点什么
|
||||
const res = response.data;
|
||||
if (res.code && res.code !== 0) {
|
||||
// `token` 过期或者账号已在别处登录
|
||||
if (res.code === 401 || res.code === 4001) {
|
||||
if(res.resultCode != 0){
|
||||
ElMessage.error(res.errorMessage);
|
||||
if(res.resultCode === -2){
|
||||
Session.clear(); // 清除浏览器全部临时缓存
|
||||
window.location.href = '/'; // 去登录页
|
||||
ElMessageBox.alert('你已被登出,请重新登录', '提示', {})
|
||||
.then(() => {})
|
||||
.catch(() => {});
|
||||
}
|
||||
return Promise.reject(service.interceptors.response);
|
||||
// return Promise.reject(service.interceptors.response);
|
||||
} else {
|
||||
return res;
|
||||
}
|
||||
|
@ -78,6 +78,7 @@ const onSignIn = () => {
|
||||
userName: state.ruleForm.userName,
|
||||
passWord: state.ruleForm.password,
|
||||
}).then( async (res:any) => {
|
||||
state.loading.signIn = false;
|
||||
console.log(res)
|
||||
if(res.data !== null){
|
||||
// 存储 token 到浏览器缓存
|
||||
|
@ -2,35 +2,69 @@
|
||||
<div class="orderPrinting" ref="orderPrintingRef">
|
||||
<div class="title">采购送货单</div>
|
||||
<div class="orderPrintingTop">
|
||||
<div class="item item1"></div>
|
||||
<div class="item item1">
|
||||
<VueQr style="width: 150px; height: 150px" :text="state.pageData.fBillNo" :size="150"></VueQr>
|
||||
</div>
|
||||
<div class="item item2">
|
||||
<div class="dataText">
|
||||
<span class="span1">收料通知单编号(送货单号):</span>
|
||||
<span class="span2">123465</span>
|
||||
<span class="span2">{{ state.pageData.fBillNo }}</span>
|
||||
</div>
|
||||
<div class="dataText">
|
||||
<span class="span1">供应商名称:</span>
|
||||
<span class="span2">123465</span>
|
||||
<span class="span2">{{ state.pageData.supplierName }}</span>
|
||||
</div>
|
||||
<div class="dataText">
|
||||
<span class="span1">送货日期:</span>
|
||||
<span class="span2">123465</span>
|
||||
<span class="span2">{{ state.pageData.deliveryDate }}</span>
|
||||
</div>
|
||||
<div class="dataText">
|
||||
<span class="span1">发票号:</span>
|
||||
<span class="span2">123465</span>
|
||||
<span class="span2">{{ state.pageData.f_VHUB_Text }}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item item3"></div>
|
||||
<div class="item item3">
|
||||
<VueQr style="width: 150px; height: 150px" :text="state.pageData.f_VHUB_Text" :size="150"></VueQr>
|
||||
</div>
|
||||
<avue-crud ref="crudRef" :data="state.data" :option="state.option"> </avue-crud>
|
||||
</div>
|
||||
<avue-crud ref="crudRef" :data="props.data" :option="state.option"></avue-crud>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { reactive,ref } from 'vue';
|
||||
const orderPrintingRef = ref()
|
||||
import { reactive, ref, defineProps, watch } from 'vue';
|
||||
import VueQr from 'vue-qr/src/packages/vue-qr.vue';
|
||||
|
||||
const orderPrintingRef = ref();
|
||||
const props = defineProps({
|
||||
data: {
|
||||
type: Array,
|
||||
default: () => [],
|
||||
},
|
||||
});
|
||||
watch(
|
||||
() => props.data,
|
||||
(newData) => {
|
||||
// console.log(JSON.parse(JSON.stringify(newData)))
|
||||
let arr = []
|
||||
arr = JSON.parse(JSON.stringify(newData))
|
||||
// console.log(arr.length)
|
||||
// debugger
|
||||
if(arr.length !== 0){
|
||||
state.pageData.fBillNo = arr[0].fBillNo
|
||||
state.pageData.supplierName = arr[0].supplierName
|
||||
state.pageData.deliveryDate = arr[0].deliveryDate
|
||||
state.pageData.f_VHUB_Text = arr[0].f_VHUB_Text
|
||||
}
|
||||
}
|
||||
);
|
||||
const state = reactive({
|
||||
pageData: {
|
||||
fBillNo: '',
|
||||
supplierName: '',
|
||||
deliveryDate: '',
|
||||
f_VHUB_Text: '',
|
||||
},
|
||||
option: {
|
||||
tip: false,
|
||||
index: false,
|
||||
@ -46,34 +80,43 @@ const state = reactive({
|
||||
menu: false,
|
||||
column: [
|
||||
{ label: 'PO号', prop: 'purchaseOrderFBillNo' },
|
||||
{ label: '物料代码', prop: 'sheet' },
|
||||
{ label: '物料名称', prop: 'fBillNo' },
|
||||
{ label: '单位', prop: 'mssSupplierLot' },
|
||||
{ label: 'PO数量', prop: 'fSupplierLot' },
|
||||
{ label: '实收数量', prop: 'materialCode' },
|
||||
{ label: '美金单价', prop: 'materialName' },
|
||||
{ label: '供应商批号', prop: 'sendedQty' },
|
||||
{ label: '物料代码', prop: 'materialCode' },
|
||||
{ label: '物料名称', prop: 'materialName' },
|
||||
{ label: '单位', prop: 'unitName' },
|
||||
{ label: 'PO数量', prop: 'purchaseQty' },
|
||||
{ label: '送货数量', prop: 'qty' },
|
||||
{ label: '美塞斯批号', prop: 'mssSupplierLot' },
|
||||
{ label: '供应商批号', prop: 'fSupplierLot' },
|
||||
],
|
||||
},
|
||||
data: [
|
||||
{
|
||||
purchaseOrderFBillNo: 1,
|
||||
sheet: 1,
|
||||
fBillNo: 1,
|
||||
mssSupplierLot: 1,
|
||||
fSupplierLot: 1,
|
||||
materialCode: 1,
|
||||
materialName: 1,
|
||||
sendedQty: 1,
|
||||
}
|
||||
],
|
||||
});
|
||||
defineExpose({
|
||||
orderPrintingRef
|
||||
orderPrintingRef,
|
||||
});
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
:deep(.el-table__inner-wrapper) {
|
||||
box-sizing: border-box;
|
||||
//border: 1px solid black;
|
||||
}
|
||||
|
||||
:deep(.is-leaf) {
|
||||
border-color: black;
|
||||
}
|
||||
|
||||
:deep(.el-table__cell) {
|
||||
border-color: black;
|
||||
}
|
||||
|
||||
:deep(.el-table__cell) {
|
||||
border-color: black !important;
|
||||
}
|
||||
|
||||
:deep(.el-card) {
|
||||
border: 1px solid black !important;
|
||||
}
|
||||
|
||||
:deep(.avue-crud__header) {
|
||||
display: none;
|
||||
}
|
||||
@ -97,35 +140,47 @@ defineExpose({
|
||||
}
|
||||
|
||||
.orderPrintingTop {
|
||||
height: 200px;
|
||||
border: 1px solid #c2c4ca;
|
||||
height: 161px;
|
||||
border: 1px solid #000000;
|
||||
box-sizing: border-box;
|
||||
display: flex;
|
||||
|
||||
.item1 {
|
||||
width: 33.33%;
|
||||
height: 199px;
|
||||
border-right: 1px solid #c2c4ca;
|
||||
height: 160px;
|
||||
border-right: 1px solid #000000;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.item2 {
|
||||
width: 33.33%;
|
||||
height: 199px;
|
||||
border-right: 1px solid #c2c4ca;
|
||||
height: 160px;
|
||||
border-right: 1px solid #000000;
|
||||
box-sizing: border-box;
|
||||
padding: 16px;
|
||||
|
||||
.dataText {
|
||||
font-size: 16px;
|
||||
margin-bottom: 16px;
|
||||
color: #000000;
|
||||
}
|
||||
}
|
||||
|
||||
.item2 {
|
||||
width: 33.33%;
|
||||
height: 199px;
|
||||
height: 160px;
|
||||
//border-right: 1px solid black;
|
||||
}
|
||||
|
||||
.item3 {
|
||||
width: 33.33%;
|
||||
height: 160px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
@ -27,7 +27,7 @@
|
||||
<template #menu-left>
|
||||
<div class="selectBoxes">
|
||||
<div class="selectItem">
|
||||
<el-input v-model="state.formData.fBillNo" style="width: 240px" placeholder="单据编号" size="default" />
|
||||
<el-input v-model="state.formData.purchaseOrderFBillNo" style="width: 240px" placeholder="采购单号" size="default" />
|
||||
</div>
|
||||
<div class="selectItem">
|
||||
<el-date-picker
|
||||
@ -52,24 +52,25 @@
|
||||
</template>
|
||||
<template #menu>
|
||||
<div class="btnList">
|
||||
<el-button type="text" @click="state.selectedDataShow = true">打印单据</el-button>
|
||||
<el-button type="text" @click="state.selectedDataShow = true">打印条码</el-button>
|
||||
</div>
|
||||
</template>
|
||||
</avue-crud>
|
||||
</el-card>
|
||||
<selectedData :showes="state.selectedDataShow"/>
|
||||
<selectedData :listData="state.selectedData" :showes="state.selectedDataShow" @close="() => {state.selectedDataShow = false}"/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script lang="ts" setup>
|
||||
import { reactive, onMounted, computed, nextTick, ref } from 'vue';
|
||||
import { useRouter } from 'vue-router';
|
||||
import { reactive, onMounted, computed, nextTick } from 'vue';
|
||||
// import { useRouter } from 'vue-router';
|
||||
import { listApi } from '../../api/list/index';
|
||||
import { useI18n } from 'vue-i18n';
|
||||
import SelectedData from '/@/views/materialReceiptNotice/selectedData.vue';
|
||||
import { ElMessage } from 'element-plus';
|
||||
// import { ElMessage } from 'element-plus';
|
||||
|
||||
const { t } = useI18n();
|
||||
const router = useRouter();
|
||||
// const router = useRouter();
|
||||
// 定义变量内容
|
||||
const state = reactive({
|
||||
page: {
|
||||
@ -78,7 +79,7 @@ const state = reactive({
|
||||
pageSize: 30,
|
||||
},
|
||||
option: {
|
||||
height: '720',
|
||||
height: computed(() => window.innerHeight - (window.innerHeight * 0.25) + '') ,
|
||||
tip: false,
|
||||
index: false,
|
||||
menuWidth: 120,
|
||||
@ -86,7 +87,6 @@ const state = reactive({
|
||||
delBtn: false,
|
||||
editBtn: false,
|
||||
align: 'center',
|
||||
// searchLabelWidth:100,
|
||||
selection: true,
|
||||
searchMenuSpan: 3,
|
||||
addBtn: false,
|
||||
@ -99,14 +99,14 @@ const state = reactive({
|
||||
searchRange: true,
|
||||
width:'160'
|
||||
},
|
||||
{ label: '采购订单号', prop: 'purchaseOrderFBillNo',width:'120' },
|
||||
{ label: '采购单号', prop: 'purchaseOrderFBillNo',width:'120' },
|
||||
{ label: '发货单号', prop: 'sheet',width:'135' },
|
||||
{ label: '收料单号', prop: 'fBillNo',width:'120' },
|
||||
{ label: '收料单号', prop: 'fBillNo',width:'110' },
|
||||
{ label: '美塞斯批号', prop: 'mssSupplierLot',width:'90' },
|
||||
{ label: '供应商批号', prop: 'fSupplierLot',width:'90' },
|
||||
{ label: '物料编码', prop: 'materialCode',width:'120' },
|
||||
{ label: '物料名称', prop: 'materialName' },
|
||||
{ label: computed(() => t('message.list.PONumber2')), prop: 'purchaseOrderFBillNo',width:'110' },
|
||||
|
||||
{ label: computed(() => t('message.list.SupplierCode2')), prop: 'supplierId',width:'90' },
|
||||
{ label: computed(() => t('message.list.SupplierName2')), prop: 'supplierName',width:'120' },
|
||||
{ label: '累计收料数量', prop: 'sendedQty',width:'110' },
|
||||
@ -118,7 +118,7 @@ const state = reactive({
|
||||
data: [],
|
||||
elDatePicker: '',
|
||||
formData: {
|
||||
fBillNo: '',
|
||||
purchaseOrderFBillNo: '',
|
||||
fDateBegin: '',
|
||||
fDateEmd: '',
|
||||
fmrpCloseStatus: '',
|
||||
@ -126,7 +126,7 @@ const state = reactive({
|
||||
selectedData: [],
|
||||
chengNuoJiaoQiP: '',
|
||||
newChengNuoJiaoQiP: '',
|
||||
selectedDataShow: true,
|
||||
selectedDataShow: false,
|
||||
loading: false,
|
||||
});
|
||||
const selectionChange = (list: any) => {
|
||||
@ -134,66 +134,7 @@ const selectionChange = (list: any) => {
|
||||
state.selectedData = JSON.parse(JSON.stringify(list));
|
||||
});
|
||||
};
|
||||
const chengNuoJiaoQiPFun = (e: string) => {
|
||||
if (state.selectedData.length != 0) {
|
||||
let arr: any = [];
|
||||
if (e === '0') {
|
||||
state.selectedData.forEach((item: any) => {
|
||||
arr.push({ id: item.id, newTime: state.chengNuoJiaoQiP });
|
||||
});
|
||||
batchSetChengNuoJiaoQiFun(arr);
|
||||
}
|
||||
if (e === '1') {
|
||||
state.selectedData.forEach((item: any) => {
|
||||
arr.push({ id: item.id, newTime: state.newChengNuoJiaoQiP });
|
||||
});
|
||||
batchSetNewChengNuoJiaoQiFun(arr);
|
||||
}
|
||||
} else {
|
||||
ElMessage.warning('请先选中数据');
|
||||
}
|
||||
};
|
||||
const batchSetChengNuoJiaoQiFun = (arr: any) => {
|
||||
listApi()
|
||||
.batchSetChengNuoJiaoQi(arr)
|
||||
.then((res: any) => {
|
||||
if (res.resultCode === 0) {
|
||||
ElMessage.success('操作成功');
|
||||
getList();
|
||||
state.chengNuoJiaoQiP = '';
|
||||
}
|
||||
if (res.resultCode === -1) {
|
||||
ElMessage.success(res.errorMessage);
|
||||
state.newChengNuoJiaoQiP = '';
|
||||
}
|
||||
});
|
||||
};
|
||||
const batchSetNewChengNuoJiaoQiFun = (arr: any) => {
|
||||
listApi()
|
||||
.batchSetNewChengNuoJiaoQi(arr)
|
||||
.then((res: any) => {
|
||||
if (res.resultCode === 0) {
|
||||
ElMessage.success('操作成功');
|
||||
getList();
|
||||
}
|
||||
if (res.resultCode === -1) {
|
||||
ElMessage.success(res.errorMessage);
|
||||
}
|
||||
});
|
||||
};
|
||||
const generateDocumentsFun = () => {
|
||||
state.selectedDataShow = false;
|
||||
getList();
|
||||
};
|
||||
//跳转详情
|
||||
const toPurchaseDetails = (item: any) => {
|
||||
router.push({
|
||||
path: '/purchaseDetails',
|
||||
query: {
|
||||
topId: item.fiD,
|
||||
},
|
||||
});
|
||||
};
|
||||
|
||||
const elDatePickerFun = (val: any) => {
|
||||
state.formData.fDateBegin = val[0];
|
||||
state.formData.fDateEmd = val[1];
|
||||
@ -206,10 +147,10 @@ const selectFun = () => {
|
||||
};
|
||||
const resetFun = () => {
|
||||
state.page.currentPage = 1;
|
||||
state.page.pageSize = 20;
|
||||
state.page.pageSize = 30;
|
||||
state.elDatePicker = '';
|
||||
state.formData = {
|
||||
fBillNo: '',
|
||||
purchaseOrderFBillNo: '',
|
||||
fDateBegin: '',
|
||||
fDateEmd: '',
|
||||
fmrpCloseStatus: '',
|
||||
@ -238,7 +179,9 @@ const getList = () => {
|
||||
});
|
||||
};
|
||||
// 页面加载时
|
||||
onMounted(() => {});
|
||||
onMounted(() => {
|
||||
// console.log(window.innerHeight - 400)
|
||||
});
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
@ -249,7 +192,10 @@ onMounted(() => {});
|
||||
:deep(.avue-crud__left) {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
:deep(.el-button--text){
|
||||
padding: 0 !important;
|
||||
height: auto !important;
|
||||
}
|
||||
:deep(.avue-crud__refreshBtn) {
|
||||
display: none;
|
||||
}
|
||||
|
@ -1,17 +1,21 @@
|
||||
<template>
|
||||
<el-dialog :model-value="props.showes" width="70%">
|
||||
<ceshi ref="ceshiRef"></ceshi>
|
||||
<el-dialog :model-value="props.showes" @close="closeFun" width="70%">
|
||||
<div ref="ceshiRef">
|
||||
<ceshi id="ceshi" :data="props.listData"></ceshi>
|
||||
</div>
|
||||
<div class="btnList">
|
||||
<el-button type="primary" @click="printElement">打印</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { defineProps, reactive, ref, nextTick } from 'vue';
|
||||
import { defineProps, reactive, ref, nextTick, defineEmits } from 'vue';
|
||||
import ceshi from './ceshi.vue';
|
||||
import printJS from 'print-js';
|
||||
import html2canvas from 'html2canvas';
|
||||
|
||||
const ceshiRef = ref(null);
|
||||
const ceshiRef = ref();
|
||||
const emits = defineEmits(['close']);
|
||||
const props = defineProps({
|
||||
listData: {
|
||||
type: Array,
|
||||
@ -23,29 +27,43 @@ const props = defineProps({
|
||||
},
|
||||
});
|
||||
const state = reactive({
|
||||
dialogVisible: true,
|
||||
snapshotUrl: '',
|
||||
});
|
||||
const closeFun = () => {
|
||||
emits('close');
|
||||
};
|
||||
const printElement = () => {
|
||||
captureSnapshot();
|
||||
// 获取 DOM 元素的 HTML
|
||||
nextTick(() => {
|
||||
console.log(ceshiRef.value.orderPrintingRef);
|
||||
|
||||
// // 使用 print-js 打印
|
||||
printJS({
|
||||
printable: ceshiRef.value.orderPrintingRef,
|
||||
type: 'html', // 指定打印 HTML 内容
|
||||
printable: state.snapshotUrl,
|
||||
type: 'image',
|
||||
style: `
|
||||
@page {
|
||||
margin: 0;
|
||||
size: auto;
|
||||
margin: 0mm;
|
||||
}
|
||||
@page :header, @page :footer {
|
||||
display: none;
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 36px;
|
||||
}
|
||||
`,
|
||||
});
|
||||
});
|
||||
};
|
||||
// 截图函数
|
||||
const captureSnapshot = async () => {
|
||||
// 使用 html2canvas 将 div 渲染为 Canvas
|
||||
const canvas = await html2canvas(ceshiRef.value, {
|
||||
allowTaint: true, // 允许跨域图片
|
||||
useCORS: true, // 使用 CORS 加载图片
|
||||
scale: 2, // 提高截图分辨率
|
||||
width: ceshiRef.value.clientWidth,
|
||||
height: ceshiRef.value.clientHeight,
|
||||
});
|
||||
state.snapshotUrl = canvas.toDataURL('image/png');
|
||||
};
|
||||
</script>
|
||||
<style scoped lang="scss">
|
||||
.btnList {
|
||||
|
@ -137,11 +137,11 @@ const state = reactive({
|
||||
pageSize: 30,
|
||||
},
|
||||
option: {
|
||||
height: '730',
|
||||
height: computed(() => window.innerHeight - (window.innerHeight * 0.23) + ''),
|
||||
tip: false,
|
||||
index: true,
|
||||
menu: true,
|
||||
menuWidth: 120,
|
||||
menuWidth: 85,
|
||||
border: true,
|
||||
delBtn: false,
|
||||
editBtn: false,
|
||||
@ -152,7 +152,7 @@ const state = reactive({
|
||||
searchMenuSpan: 3,
|
||||
addBtn: false,
|
||||
column: [
|
||||
{ label: '单据编号', prop: 'fBillNo', /*search: true,*/ searchSpan: 3, width: '125' },
|
||||
{ label: '采购单号', prop: 'fBillNo', /*search: true,*/ searchSpan: 3, width: '125' },
|
||||
{ label: '采购日期', prop: 'fDate', /*search: true,*/ type: 'datetime', searchSpan: 6, searchRange: true },
|
||||
{
|
||||
label: '关闭状态',
|
||||
@ -180,8 +180,8 @@ const state = reactive({
|
||||
},
|
||||
{ label: '累计收料数量', prop: 'sendedQty', width: '110' },
|
||||
{ label: '剩余收料数量', prop: 'notSendQty', width: '110' },
|
||||
{ label: '供应商承诺交期', prop: 'chengNuoJiaoQi', width: '220' },
|
||||
{ label: '供应商承诺最新交期', prop: 'newChengNuoJiaoQi', width: '220' },
|
||||
{ label: '供应商承诺交期', prop: 'chengNuoJiaoQi', width: '160' },
|
||||
{ label: '供应商承诺最新交期', prop: 'newChengNuoJiaoQi', width: '160' },
|
||||
],
|
||||
},
|
||||
data: [],
|
||||
@ -259,7 +259,7 @@ const toPurchaseDetails = (item: any) => {
|
||||
router.push({
|
||||
path: '/purchaseDetails',
|
||||
query: {
|
||||
topId: item.fiD,
|
||||
fBillNo: item.fBillNo ,
|
||||
},
|
||||
});
|
||||
};
|
||||
@ -275,7 +275,7 @@ const selectFun = () => {
|
||||
};
|
||||
const resetFun = () => {
|
||||
state.page.currentPage = 1;
|
||||
state.page.pageSize = 20;
|
||||
state.page.pageSize = 30;
|
||||
state.elDatePicker = '';
|
||||
state.formData = {
|
||||
fBillNo: '',
|
||||
@ -300,20 +300,16 @@ const getList = () => {
|
||||
})
|
||||
.then((res: any) => {
|
||||
state.loading = false;
|
||||
|
||||
if (res.resultCode === 0) {
|
||||
state.data = res.data.dataList;
|
||||
|
||||
state.page.total = res.data.total;
|
||||
setTimeout(() => {
|
||||
console.log(document.querySelector('.avue-crud__body').scrollHeight)
|
||||
},1000)
|
||||
|
||||
}
|
||||
});
|
||||
};
|
||||
// 页面加载时
|
||||
onMounted(() => {
|
||||
|
||||
console.log(window.innerHeight - window.innerHeight * 0.25 + '')
|
||||
});
|
||||
</script>
|
||||
|
||||
|
@ -1,6 +1,32 @@
|
||||
<template>
|
||||
<div class="system-user-container layout-padding">
|
||||
|
||||
<el-card class="layout-padding-auto" shadow="hover">
|
||||
<div class="selectBoxes">
|
||||
<div class="selectItem" style="flex: 1;margin-right: 0">
|
||||
<div class="piliang">
|
||||
<el-button type="primary" size="small" @click="state.selectedDataShow = true">
|
||||
<span>已选中 {{ state.selectedData.length }} 条数据,去查看</span>
|
||||
</el-button>
|
||||
<el-date-picker
|
||||
v-model="state.chengNuoJiaoQiP"
|
||||
type="date"
|
||||
placeholder="批量修改选中承诺日期"
|
||||
size="small"
|
||||
style="width: 45%; margin-left: 12px"
|
||||
@change="chengNuoJiaoQiPFun('0')"
|
||||
/>
|
||||
<el-date-picker
|
||||
v-model="state.newChengNuoJiaoQiP"
|
||||
type="date"
|
||||
placeholder="批量修改选中承诺最新交期"
|
||||
size="small"
|
||||
style="width: 45%; margin-left: 12px"
|
||||
@change="chengNuoJiaoQiPFun('1')"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<avue-crud
|
||||
ref="crudRef"
|
||||
:data="state.data"
|
||||
@ -65,7 +91,7 @@ const state = reactive({
|
||||
pageSize: 25,
|
||||
},
|
||||
option: {
|
||||
height: '790',
|
||||
height: computed(() => window.innerHeight - (window.innerHeight * 0.18) + ''),
|
||||
tip: false,
|
||||
index: true,
|
||||
menuWidth: 120,
|
||||
@ -129,6 +155,7 @@ const state = reactive({
|
||||
const selectionChange = (list: any) => {
|
||||
state.selectedData = list;
|
||||
};
|
||||
|
||||
const chengNuoJiaoQiPFun = (e: string) => {
|
||||
if (state.selectedData.length != 0) {
|
||||
let arr: any = [];
|
||||
@ -136,13 +163,13 @@ const chengNuoJiaoQiPFun = (e: string) => {
|
||||
state.selectedData.forEach((item: any) => {
|
||||
arr.push({ id: item.id, newTime: state.chengNuoJiaoQiP });
|
||||
});
|
||||
batchSetChengNuoJiaoQiFun(arr)
|
||||
batchSetChengNuoJiaoQiFun(arr);
|
||||
}
|
||||
if (e === '1') {
|
||||
state.selectedData.forEach((item: any) => {
|
||||
arr.push({ id: item.id, newTime: state.newChengNuoJiaoQiP });
|
||||
});
|
||||
batchSetNewChengNuoJiaoQiFun(arr)
|
||||
batchSetNewChengNuoJiaoQiFun(arr);
|
||||
}
|
||||
} else {
|
||||
ElMessage.warning('请先选中数据');
|
||||
@ -176,52 +203,28 @@ const generateDocumentsFun = () => {
|
||||
state.selectedDataShow = false
|
||||
getList()
|
||||
}
|
||||
//跳转详情
|
||||
const toPurchaseDetails = (item: any) => {
|
||||
router.push({
|
||||
path: '/purchaseDetails',
|
||||
query: {
|
||||
topId: item.fiD,
|
||||
},
|
||||
});
|
||||
};
|
||||
const elDatePickerFun = (val: any) => {
|
||||
state.formData.fDateBegin = val[0];
|
||||
state.formData.fDateEmd = val[1];
|
||||
};
|
||||
//接口数据处理
|
||||
const selectFun = () => {
|
||||
state.page.currentPage = 1;
|
||||
state.page.pageSize = 20;
|
||||
getList();
|
||||
};
|
||||
const resetFun = () => {
|
||||
state.page.currentPage = 1;
|
||||
state.page.pageSize = 20;
|
||||
state.elDatePicker = '';
|
||||
state.formData = {
|
||||
fBillNo: '',
|
||||
fDateBegin: '',
|
||||
fDateEmd: '',
|
||||
fmrpCloseStatus: '',
|
||||
};
|
||||
getList();
|
||||
};
|
||||
|
||||
const getList = () => {
|
||||
state.loading = true
|
||||
listApi().getPurchaseOrderItemList({
|
||||
fid:state.topId
|
||||
}).then((res:any) => {
|
||||
state.loading = false
|
||||
if(res.resultCode === 0){
|
||||
state.data = res.data
|
||||
}
|
||||
state.loading = true;
|
||||
listApi()
|
||||
.getPageList({
|
||||
condition: {
|
||||
fBillNo:state.formData.fBillNo
|
||||
},
|
||||
pageSize: state.page.pageSize,
|
||||
page: state.page.currentPage,
|
||||
})
|
||||
.then((res: any) => {
|
||||
state.loading = false;
|
||||
if (res.resultCode === 0) {
|
||||
state.data = res.data.dataList;
|
||||
state.page.total = res.data.total;
|
||||
}
|
||||
});
|
||||
};
|
||||
// 页面加载时
|
||||
onMounted(() => {
|
||||
state.topId = route.query.topId as string
|
||||
state.formData.fBillNo = route.query.fBillNo as string
|
||||
getList()
|
||||
});
|
||||
</script>
|
||||
@ -281,6 +284,7 @@ onMounted(() => {
|
||||
.selectBoxes {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
width: 650px;
|
||||
.selectItem {
|
||||
margin-right: 16px;
|
||||
display: flex;
|
||||
|
@ -1,15 +1,18 @@
|
||||
<template>
|
||||
<el-dialog :model-value="props.showes" @close="closeFun" width="80%">
|
||||
<avue-crud
|
||||
ref="crudRef"
|
||||
:data="state.data"
|
||||
:option="state.option"
|
||||
>
|
||||
<div style="display: flex; align-items: center; margin-bottom: 16px">
|
||||
<div>发票号:</div>
|
||||
<el-input style="width: 300px" v-model="state.f_VHUB_Text" placeholder="请填写发票号" size="default" />
|
||||
</div>
|
||||
<avue-crud ref="crudRef" :data="state.data" :option="state.option">
|
||||
<template #fSupplierLot="{ row }">
|
||||
<div style="display: flex; align-items: center; justify-content: center">
|
||||
<el-input v-model="row.fSupplierLot" placeholder="批号" size="small" />
|
||||
</div>
|
||||
</template>
|
||||
<template #notSendQtyText="{ row }">
|
||||
<div>{{row.notSendQty}}</div>
|
||||
</template>
|
||||
<template #notSendQty="{ row }">
|
||||
<div style="display: flex; align-items: center; justify-content: center">
|
||||
<el-input-number v-model="row.notSendQty" size="small" />
|
||||
@ -17,14 +20,26 @@
|
||||
</template>
|
||||
<template #chengNuoJiaoQi="{ row }">
|
||||
<div style="display: flex; align-items: center; justify-content: center">
|
||||
<el-date-picker v-model="row.chengNuoJiaoQi" type="date" size="small" style="width: 100%" format="YYYY/MM/DD"
|
||||
@change="batchSetChengNuoJiaoQiFun([{id:row.id,newTime:row.chengNuoJiaoQi}])"/>
|
||||
<el-date-picker
|
||||
v-model="row.chengNuoJiaoQi"
|
||||
type="date"
|
||||
size="small"
|
||||
style="width: 100%"
|
||||
format="YYYY/MM/DD"
|
||||
@change="batchSetChengNuoJiaoQiFun([{ id: row.id, newTime: row.chengNuoJiaoQi }])"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
<template #newChengNuoJiaoQi="{ row }">
|
||||
<div style="display: flex; align-items: center; justify-content: center">
|
||||
<el-date-picker v-model="row.newChengNuoJiaoQi" type="date" size="small" style="width: 100%" format="YYYY/MM/DD"
|
||||
@change="batchSetNewChengNuoJiaoQiFun([{id:row.id,newTime:row.newChengNuoJiaoQi}])"/>
|
||||
<el-date-picker
|
||||
v-model="row.newChengNuoJiaoQi"
|
||||
type="date"
|
||||
size="small"
|
||||
style="width: 100%"
|
||||
format="YYYY/MM/DD"
|
||||
@change="batchSetNewChengNuoJiaoQiFun([{ id: row.id, newTime: row.newChengNuoJiaoQi }])"
|
||||
/>
|
||||
</div>
|
||||
</template>
|
||||
<template #menu-left>
|
||||
@ -33,7 +48,7 @@
|
||||
v-model="state.chengNuoJiaoQiP"
|
||||
type="date"
|
||||
placeholder="批量修改选中承诺日期"
|
||||
style="width: 190px;"
|
||||
style="width: 190px"
|
||||
@change="chengNuoJiaoQiPFun('0')"
|
||||
/>
|
||||
<el-date-picker
|
||||
@ -48,16 +63,18 @@
|
||||
</template>
|
||||
</avue-crud>
|
||||
<div class="btnList">
|
||||
<el-button type="primary" @click="batchAddInvoiceOrderFun">确定</el-button>
|
||||
<el-button type="primary" :loading="state.loading" @click="batchAddInvoiceOrderFun">确定</el-button>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</template>
|
||||
<script setup lang="ts">
|
||||
import { defineProps, reactive, defineEmits, watch } from 'vue';
|
||||
import { listApi } from '../../api/list/index'
|
||||
import { listApi } from '../../api/list/index';
|
||||
|
||||
const emits = defineEmits(['generateDocuments', 'close']);
|
||||
import { useI18n } from 'vue-i18n';
|
||||
import {ElMessage} from "element-plus";
|
||||
import { ElMessage } from 'element-plus';
|
||||
|
||||
const { t } = useI18n();
|
||||
const props = defineProps({
|
||||
listData: {
|
||||
@ -71,6 +88,8 @@ const props = defineProps({
|
||||
});
|
||||
|
||||
const state = reactive({
|
||||
loading:false,
|
||||
f_VHUB_Text: '',
|
||||
fSupplierLot: '',
|
||||
dialogVisible: true,
|
||||
data: [],
|
||||
@ -96,6 +115,7 @@ const state = reactive({
|
||||
{ label: '采购单位', prop: 'unitName' },
|
||||
{ label: '采购数量', prop: 'qty' },
|
||||
{ label: '已发货数量', prop: 'sendedQty' },
|
||||
{ label: '剩余收料数量', prop: 'notSendQtyText' },
|
||||
{ label: '批号', prop: 'fSupplierLot' },
|
||||
{ label: '本次发货数量', prop: 'notSendQty', width: '180' },
|
||||
{ label: '供应商承诺交期', prop: 'chengNuoJiaoQi', width: '180' },
|
||||
@ -106,38 +126,43 @@ const state = reactive({
|
||||
chengNuoJiaoQiP: '',
|
||||
newChengNuoJiaoQiP: '',
|
||||
});
|
||||
watch(() => props.listData,() => {
|
||||
state.data = props.listData
|
||||
})
|
||||
watch(
|
||||
() => props.listData,
|
||||
() => {
|
||||
state.data = props.listData;
|
||||
}
|
||||
);
|
||||
const fSupplierLotFun = () => {
|
||||
state.data.forEach((item: any) => {
|
||||
item.fSupplierLot = state.fSupplierLot
|
||||
})
|
||||
console.log(state.data)
|
||||
item.fSupplierLot = state.fSupplierLot;
|
||||
});
|
||||
console.log(state.data);
|
||||
// state.fSupplierLot = '';
|
||||
}
|
||||
};
|
||||
const chengNuoJiaoQiPFun = (e: string) => {
|
||||
let arr: any = [];
|
||||
if (e === '0') {
|
||||
state.data.forEach((item: any) => {
|
||||
arr.push({ id: item.id, newTime: state.chengNuoJiaoQiP });
|
||||
});
|
||||
batchSetChengNuoJiaoQiFun(arr)
|
||||
batchSetChengNuoJiaoQiFun(arr);
|
||||
}
|
||||
if (e === '1') {
|
||||
state.data.forEach((item: any) => {
|
||||
arr.push({ id: item.id, newTime: state.newChengNuoJiaoQiP });
|
||||
});
|
||||
batchSetNewChengNuoJiaoQiFun(arr)
|
||||
batchSetNewChengNuoJiaoQiFun(arr);
|
||||
}
|
||||
};
|
||||
const batchSetChengNuoJiaoQiFun = (arr: any) => {
|
||||
listApi().batchSetChengNuoJiaoQi(arr).then((res: any) => {
|
||||
listApi()
|
||||
.batchSetChengNuoJiaoQi(arr)
|
||||
.then((res: any) => {
|
||||
if (res.resultCode === 0) {
|
||||
ElMessage.success('操作成功');
|
||||
state.data.forEach((item: any) => {
|
||||
item.chengNuoJiaoQi = state.chengNuoJiaoQiP
|
||||
})
|
||||
item.chengNuoJiaoQi = state.chengNuoJiaoQiP;
|
||||
});
|
||||
// state.chengNuoJiaoQiP = '';
|
||||
}
|
||||
if (res.resultCode === -1) {
|
||||
@ -145,15 +170,17 @@ const batchSetChengNuoJiaoQiFun = (arr:any) => {
|
||||
// state.newChengNuoJiaoQiP = '';
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
const batchSetNewChengNuoJiaoQiFun = (arr: any) => {
|
||||
listApi().batchSetNewChengNuoJiaoQi(arr).then((res: any) => {
|
||||
listApi()
|
||||
.batchSetNewChengNuoJiaoQi(arr)
|
||||
.then((res: any) => {
|
||||
if (res.resultCode === 0) {
|
||||
ElMessage.success('操作成功');
|
||||
|
||||
state.data.forEach((item: any) => {
|
||||
item.newChengNuoJiaoQi = state.newChengNuoJiaoQiP
|
||||
})
|
||||
item.newChengNuoJiaoQi = state.newChengNuoJiaoQiP;
|
||||
});
|
||||
// state.chengNuoJiaoQiP = '';
|
||||
}
|
||||
if (res.resultCode === -1) {
|
||||
@ -161,36 +188,51 @@ const batchSetNewChengNuoJiaoQiFun = (arr:any) => {
|
||||
// state.newChengNuoJiaoQiP = '';
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
const batchAddInvoiceOrderFun = () => {
|
||||
console.log(props.listData)
|
||||
let arr:any = []
|
||||
if(props.listData.length != 0){
|
||||
state.loading = true
|
||||
console.log(props.listData);
|
||||
let arr: any = [];
|
||||
props.listData.forEach((item: any) => {
|
||||
arr.push({
|
||||
id: item.id,
|
||||
qty:item.notSendQty
|
||||
})
|
||||
})
|
||||
listApi().batchAddInvoiceOrder(arr).then((res:any) => {
|
||||
qty: item.notSendQty,
|
||||
});
|
||||
});
|
||||
listApi()
|
||||
.batchAddInvoiceOrder({ f_VHUB_Text: state.f_VHUB_Text, upDateList: arr })
|
||||
.then((res: any) => {
|
||||
state.loading = false
|
||||
if (res.resultCode === 0) {
|
||||
ElMessage.success('操作成功');
|
||||
emits('generateDocuments')
|
||||
emits('generateDocuments');
|
||||
}
|
||||
if (res.resultCode === -1) {
|
||||
ElMessage.error(res.errorMessage);
|
||||
}
|
||||
})
|
||||
});
|
||||
} else {
|
||||
ElMessage.error('没有数据')
|
||||
}
|
||||
|
||||
};
|
||||
const closeFun = () => {
|
||||
emits('close')
|
||||
}
|
||||
emits('close');
|
||||
};
|
||||
</script>
|
||||
<style scoped lang="scss">
|
||||
:deep(.el-card) {
|
||||
padding: 0 !important;
|
||||
//height: 56px !important;
|
||||
}
|
||||
|
||||
.btnList {
|
||||
margin-top: 26px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
:deep(.avue-crud__left) {
|
||||
flex: 1;
|
||||
}
|
||||
|
@ -1,20 +1,20 @@
|
||||
<template>
|
||||
<div class="system-user-dialog-container">
|
||||
<el-dialog :title="state.dialog.title" v-model="state.dialog.isShowDialog" width="769px">
|
||||
<el-dialog :title="state.dialog.title" v-model="state.dialog.isShowDialog" width="769px" @close="closeDialog">
|
||||
<el-form ref="userDialogFormRef" :model="state.ruleForm" size="default" label-width="90px">
|
||||
<el-row :gutter="35">
|
||||
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
||||
<el-form-item label="账号">
|
||||
<el-form-item label="账号" prop="login">
|
||||
<el-input v-model="state.ruleForm.login" placeholder="请输入账号" clearable></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
||||
<el-form-item label="名称">
|
||||
<el-form-item label="名称" prop="name">
|
||||
<el-input v-model="state.ruleForm.name" placeholder="请输入名称" clearable></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
||||
<el-form-item label="国外账号">
|
||||
<el-form-item label="国外账号" prop="ifForeign">
|
||||
<el-select placeholder="业务状态" size="default" style="width: 240px" v-model="state.ruleForm.ifForeign">
|
||||
<el-option label="是" value="1" />
|
||||
<el-option label="否" value="0" />
|
||||
@ -22,25 +22,25 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
||||
<el-form-item label="手机号">
|
||||
<el-form-item label="手机号" prop="mobile">
|
||||
<el-input v-model="state.ruleForm.mobile" placeholder="请输入手机号" clearable></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
||||
<el-form-item label="账号类型">
|
||||
<el-form-item label="账号类型" prop="systemType">
|
||||
<el-select placeholder="账号类型" size="default" style="width: 240px" v-model="state.ruleForm.systemType">
|
||||
<el-option label="管理员" value="1" />
|
||||
<el-option label="供应商" value="0" />
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
||||
<el-form-item label="供应商">
|
||||
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20" v-if="state.ruleForm.systemType === '0'">
|
||||
<el-form-item label="供应商" prop="supplierId">
|
||||
<el-select
|
||||
placeholder="请选择供应商"
|
||||
size="default"
|
||||
style="width: 240px"
|
||||
v-model="state.BDSupplierListItem"
|
||||
v-model="state.ruleForm.supplierId"
|
||||
@change="BDSupplierListItemChange"
|
||||
>
|
||||
<el-option :label="item.text" :value="item.value" v-for="(item, index) of state.BDSupplierList" :key="index" />
|
||||
@ -48,7 +48,7 @@
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :xs="24" :sm="12" :md="12" :lg="12" :xl="12" class="mb20">
|
||||
<el-form-item label="账户密码">
|
||||
<el-form-item label="账户密码" prop="password">
|
||||
<el-input v-model="state.ruleForm.password" placeholder="请输入" type="password" clearable></el-input>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
@ -75,10 +75,10 @@ const emit = defineEmits(['refresh']);
|
||||
const userDialogFormRef = ref();
|
||||
const state = reactive({
|
||||
BDSupplierList:[],
|
||||
BDSupplierListItem:{},
|
||||
BDSupplierListItem:null,
|
||||
ruleForm: {
|
||||
ifForeign:'',
|
||||
systemType:0,
|
||||
ifForeign:'0',
|
||||
systemType:'0',
|
||||
login: '', // 账户名称
|
||||
name: '', // 用户昵称
|
||||
mobile: '', // 手机号
|
||||
@ -103,6 +103,7 @@ const openDialog = (type: string, row: any) => {
|
||||
state.ruleForm.login = row.login
|
||||
state.ruleForm.name = row.name
|
||||
state.ruleForm.mobile = row.mobile
|
||||
state.ruleForm.password = '******'
|
||||
state.BDSupplierListItem = row.supplierId
|
||||
state.dialog.title = '修改用户';
|
||||
state.dialog.submitTxt = '修 改';
|
||||
@ -110,9 +111,7 @@ const openDialog = (type: string, row: any) => {
|
||||
state.dialog.title = '新增用户';
|
||||
state.dialog.submitTxt = '新 增';
|
||||
// 清空表单,此项需加表单验证才能使用
|
||||
nextTick(() => {
|
||||
userDialogFormRef.value.resetFields();
|
||||
});
|
||||
|
||||
}
|
||||
state.dialog.isShowDialog = true;
|
||||
getMenuData();
|
||||
@ -120,6 +119,9 @@ const openDialog = (type: string, row: any) => {
|
||||
// 关闭弹窗
|
||||
const closeDialog = () => {
|
||||
state.dialog.isShowDialog = false;
|
||||
nextTick(() => {
|
||||
userDialogFormRef.value.resetFields();
|
||||
});
|
||||
};
|
||||
// 取消
|
||||
const onCancel = () => {
|
||||
@ -127,14 +129,17 @@ const onCancel = () => {
|
||||
};
|
||||
// 提交
|
||||
const onSubmit = () => {
|
||||
closeDialog();
|
||||
|
||||
closeDialog();
|
||||
emit('refresh', {...state.ruleForm,dataState:state.dialog.title === '新增用户' ? '0':'1'});
|
||||
};
|
||||
|
||||
const BDSupplierListItemChange = (item:any) => {
|
||||
state.ruleForm.supplierId = item.value
|
||||
state.ruleForm.supplierName = item.text
|
||||
const BDSupplierListItemChange = (val:any) => {
|
||||
|
||||
let dbsObj:any = state.BDSupplierList.find(item => item.value === val);
|
||||
console.log(dbsObj)
|
||||
state.ruleForm.supplierId = dbsObj.value
|
||||
state.ruleForm.supplierName = dbsObj.text
|
||||
}
|
||||
|
||||
// 初始化供应商数据
|
||||
|
Loading…
x
Reference in New Issue
Block a user