Commit 45c7b0e0c3f41f478c926e56d98224fd2edff62f
1 parent
0c1303d1
采购添加打印
Showing
13 changed files
with
12461 additions
and
12314 deletions
Too many changes to show.
To preserve performance only 12 of 13 files are displayed.
.env.development
1 | 1 | NODE_ENV=development |
2 | -VUE_APP_API_BASE_URL=http://localhost:8080/jeecg-boot | |
2 | +VUE_APP_API_BASE_URL=http://172.16.43.158:8080/jeecg-boot | |
3 | 3 | VUE_APP_CAS_BASE_URL=http://cas.example.org:8443/cas |
4 | 4 | VUE_APP_ONLINE_BASE_URL=http://fileview.jeecg.com/onlinePreview |
5 | 5 | \ No newline at end of file |
... | ... |
package-lock.json
... | ... | @@ -13,6 +13,7 @@ |
13 | 13 | "@jeecg/antd-online-mini": "2.4.22-beta", |
14 | 14 | "@tinymce/tinymce-vue": "^2.1.0", |
15 | 15 | "@toast-ui/editor": "^2.1.2", |
16 | + "@xkeshi/vue-barcode": "^1.0.0", | |
16 | 17 | "ant-design-vue": "^1.7.3", |
17 | 18 | "area-data": "^5.0.6", |
18 | 19 | "axios": "^0.21.1", |
... | ... | @@ -36,6 +37,7 @@ |
36 | 37 | "viser-vue": "^2.4.8", |
37 | 38 | "vue": "^2.6.10", |
38 | 39 | "vue-area-linkage": "^5.1.0", |
40 | + "vue-barcode": "^1.3.0", | |
39 | 41 | "vue-cropper": "^0.5.4", |
40 | 42 | "vue-i18n": "^8.7.0", |
41 | 43 | "vue-json-excel": "^0.3.0", |
... | ... | @@ -57,6 +59,7 @@ |
57 | 59 | "@vue/cli-plugin-babel": "^3.3.0", |
58 | 60 | "@vue/cli-plugin-eslint": "^3.3.0", |
59 | 61 | "@vue/cli-service": "^4.5.12", |
62 | + "@vue/component-compiler-utils": "1.3.1", | |
60 | 63 | "@vue/eslint-config-standard": "^4.0.0", |
61 | 64 | "babel-eslint": "7.2.3", |
62 | 65 | "eslint": "^5.16.0", |
... | ... | @@ -64,7 +67,7 @@ |
64 | 67 | "html-webpack-plugin": "^4.2.0", |
65 | 68 | "less": "^3.9.0", |
66 | 69 | "less-loader": "^4.1.0", |
67 | - "vue-template-compiler": "^2.6.10", | |
70 | + "vue-template-compiler": "^2.6.11", | |
68 | 71 | "webpack": "^4.46.0", |
69 | 72 | "webpack-cli": "^4.5.0" |
70 | 73 | } |
... | ... | @@ -3090,6 +3093,47 @@ |
3090 | 3093 | "strip-ansi": "^6.0.0" |
3091 | 3094 | } |
3092 | 3095 | }, |
3096 | + "node_modules/@vue/cli-service/node_modules/@vue/component-compiler-utils": { | |
3097 | + "version": "3.2.2", | |
3098 | + "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.2.2.tgz", | |
3099 | + "integrity": "sha512-rAYMLmgMuqJFWAOb3Awjqqv5X3Q3hVr4jH/kgrFJpiU0j3a90tnNBplqbj+snzrgZhC9W128z+dtgMifOiMfJg==", | |
3100 | + "dev": true, | |
3101 | + "dependencies": { | |
3102 | + "consolidate": "^0.15.1", | |
3103 | + "hash-sum": "^1.0.2", | |
3104 | + "lru-cache": "^4.1.2", | |
3105 | + "merge-source-map": "^1.1.0", | |
3106 | + "postcss": "^7.0.36", | |
3107 | + "postcss-selector-parser": "^6.0.2", | |
3108 | + "source-map": "~0.6.1", | |
3109 | + "vue-template-es2015-compiler": "^1.9.0" | |
3110 | + }, | |
3111 | + "optionalDependencies": { | |
3112 | + "prettier": "^1.18.2" | |
3113 | + } | |
3114 | + }, | |
3115 | + "node_modules/@vue/cli-service/node_modules/@vue/component-compiler-utils/node_modules/hash-sum": { | |
3116 | + "version": "1.0.2", | |
3117 | + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", | |
3118 | + "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", | |
3119 | + "dev": true | |
3120 | + }, | |
3121 | + "node_modules/@vue/cli-service/node_modules/@vue/component-compiler-utils/node_modules/lru-cache": { | |
3122 | + "version": "4.1.5", | |
3123 | + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", | |
3124 | + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", | |
3125 | + "dev": true, | |
3126 | + "dependencies": { | |
3127 | + "pseudomap": "^1.0.2", | |
3128 | + "yallist": "^2.1.2" | |
3129 | + } | |
3130 | + }, | |
3131 | + "node_modules/@vue/cli-service/node_modules/@vue/component-compiler-utils/node_modules/yallist": { | |
3132 | + "version": "2.1.2", | |
3133 | + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", | |
3134 | + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", | |
3135 | + "dev": true | |
3136 | + }, | |
3093 | 3137 | "node_modules/@vue/cli-service/node_modules/@webassemblyjs/ast": { |
3094 | 3138 | "version": "1.9.0", |
3095 | 3139 | "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", |
... | ... | @@ -4164,19 +4208,66 @@ |
4164 | 4208 | "dev": true |
4165 | 4209 | }, |
4166 | 4210 | "node_modules/@vue/component-compiler-utils": { |
4167 | - "version": "3.2.0", | |
4168 | - "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.2.0.tgz", | |
4169 | - "integrity": "sha512-lejBLa7xAMsfiZfNp7Kv51zOzifnb29FwdnMLa96z26kXErPFioSf9BMcePVIQ6/Gc6/mC0UrPpxAWIHyae0vw==", | |
4211 | + "version": "1.3.1", | |
4212 | + "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-1.3.1.tgz", | |
4213 | + "integrity": "sha512-IyjJW6ToMitgAhp3xh22QiEW8JvHfLyzlyY/J+GjJ71miod9tNsy6xT2ckm/VirlhPMfeM43kgYZe34jhmmzpw==", | |
4214 | + "dev": true, | |
4170 | 4215 | "dependencies": { |
4171 | 4216 | "consolidate": "^0.15.1", |
4172 | 4217 | "hash-sum": "^1.0.2", |
4173 | 4218 | "lru-cache": "^4.1.2", |
4174 | 4219 | "merge-source-map": "^1.1.0", |
4175 | - "postcss": "^7.0.14", | |
4176 | - "postcss-selector-parser": "^6.0.2", | |
4177 | - "prettier": "^1.18.2", | |
4178 | - "source-map": "~0.6.1", | |
4179 | - "vue-template-es2015-compiler": "^1.9.0" | |
4220 | + "postcss": "^6.0.20", | |
4221 | + "postcss-selector-parser": "^3.1.1", | |
4222 | + "prettier": "^1.13.0", | |
4223 | + "source-map": "^0.5.6", | |
4224 | + "vue-template-es2015-compiler": "^1.6.0" | |
4225 | + } | |
4226 | + }, | |
4227 | + "node_modules/@vue/component-compiler-utils/node_modules/postcss": { | |
4228 | + "version": "6.0.23", | |
4229 | + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", | |
4230 | + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", | |
4231 | + "dev": true, | |
4232 | + "dependencies": { | |
4233 | + "chalk": "^2.4.1", | |
4234 | + "source-map": "^0.6.1", | |
4235 | + "supports-color": "^5.4.0" | |
4236 | + }, | |
4237 | + "engines": { | |
4238 | + "node": ">=4.0.0" | |
4239 | + } | |
4240 | + }, | |
4241 | + "node_modules/@vue/component-compiler-utils/node_modules/postcss-selector-parser": { | |
4242 | + "version": "3.1.2", | |
4243 | + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", | |
4244 | + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", | |
4245 | + "dev": true, | |
4246 | + "dependencies": { | |
4247 | + "dot-prop": "^5.2.0", | |
4248 | + "indexes-of": "^1.0.1", | |
4249 | + "uniq": "^1.0.1" | |
4250 | + }, | |
4251 | + "engines": { | |
4252 | + "node": ">=8" | |
4253 | + } | |
4254 | + }, | |
4255 | + "node_modules/@vue/component-compiler-utils/node_modules/postcss/node_modules/source-map": { | |
4256 | + "version": "0.6.1", | |
4257 | + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", | |
4258 | + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", | |
4259 | + "dev": true, | |
4260 | + "engines": { | |
4261 | + "node": ">=0.10.0" | |
4262 | + } | |
4263 | + }, | |
4264 | + "node_modules/@vue/component-compiler-utils/node_modules/source-map": { | |
4265 | + "version": "0.5.7", | |
4266 | + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", | |
4267 | + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", | |
4268 | + "dev": true, | |
4269 | + "engines": { | |
4270 | + "node": ">=0.10.0" | |
4180 | 4271 | } |
4181 | 4272 | }, |
4182 | 4273 | "node_modules/@vue/eslint-config-standard": { |
... | ... | @@ -4471,6 +4562,18 @@ |
4471 | 4562 | "integrity": "sha512-k2p2VrONcYVX1wRRrf0f3X2VGltLWcv+JzXRBDmvCxGlCeESx4OXw91TsWeKOkp784uNoVQo313vxJFHXPPwfw==", |
4472 | 4563 | "dev": true |
4473 | 4564 | }, |
4565 | + "node_modules/@xkeshi/vue-barcode": { | |
4566 | + "version": "1.0.0", | |
4567 | + "resolved": "https://registry.npmjs.org/@xkeshi/vue-barcode/-/vue-barcode-1.0.0.tgz", | |
4568 | + "integrity": "sha512-Zgwg7n314dHs5K7OBtdXzQXLr4UC3kZmoFuggxk0tNNKEekgUKAsvomukRtrRTK3FfohsYKkSgxBa3uRsiEdig==", | |
4569 | + "deprecated": "No longer maintainted, please use @chenfengyuan/vue-barcode", | |
4570 | + "dependencies": { | |
4571 | + "jsbarcode": "^3.9.0" | |
4572 | + }, | |
4573 | + "peerDependencies": { | |
4574 | + "vue": "^2.2.0" | |
4575 | + } | |
4576 | + }, | |
4474 | 4577 | "node_modules/@xtuc/ieee754": { |
4475 | 4578 | "version": "1.2.0", |
4476 | 4579 | "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", |
... | ... | @@ -13191,6 +13294,66 @@ |
13191 | 13294 | "js-yaml": "bin/js-yaml.js" |
13192 | 13295 | } |
13193 | 13296 | }, |
13297 | + "node_modules/jsbarcode": { | |
13298 | + "version": "3.11.4", | |
13299 | + "resolved": "https://registry.npmjs.org/jsbarcode/-/jsbarcode-3.11.4.tgz", | |
13300 | + "integrity": "sha512-PHtad17lOl6LOLGK20k5I6P7MabiyHaJY5u5N5TlzC6ZunOR+yFnFnRUoqqOefrYPqO2nuJ1weHzG8B7YYEnHg==", | |
13301 | + "bin": { | |
13302 | + "auto.js": "bin/barcodes/CODE128/auto.js", | |
13303 | + "Barcode.js": "bin/barcodes/Barcode.js", | |
13304 | + "barcodes": "bin/barcodes", | |
13305 | + "canvas.js": "bin/renderers/canvas.js", | |
13306 | + "checksums.js": "bin/barcodes/MSI/checksums.js", | |
13307 | + "codabar": "bin/barcodes/codabar", | |
13308 | + "CODE128": "bin/barcodes/CODE128", | |
13309 | + "CODE128_AUTO.js": "bin/barcodes/CODE128/CODE128_AUTO.js", | |
13310 | + "CODE128.js": "bin/barcodes/CODE128/CODE128.js", | |
13311 | + "CODE128A.js": "bin/barcodes/CODE128/CODE128A.js", | |
13312 | + "CODE128B.js": "bin/barcodes/CODE128/CODE128B.js", | |
13313 | + "CODE128C.js": "bin/barcodes/CODE128/CODE128C.js", | |
13314 | + "CODE39": "bin/barcodes/CODE39", | |
13315 | + "constants.js": "bin/barcodes/ITF/constants.js", | |
13316 | + "defaults.js": "bin/options/defaults.js", | |
13317 | + "EAN_UPC": "bin/barcodes/EAN_UPC", | |
13318 | + "EAN.js": "bin/barcodes/EAN_UPC/EAN.js", | |
13319 | + "EAN13.js": "bin/barcodes/EAN_UPC/EAN13.js", | |
13320 | + "EAN2.js": "bin/barcodes/EAN_UPC/EAN2.js", | |
13321 | + "EAN5.js": "bin/barcodes/EAN_UPC/EAN5.js", | |
13322 | + "EAN8.js": "bin/barcodes/EAN_UPC/EAN8.js", | |
13323 | + "encoder.js": "bin/barcodes/EAN_UPC/encoder.js", | |
13324 | + "ErrorHandler.js": "bin/exceptions/ErrorHandler.js", | |
13325 | + "exceptions": "bin/exceptions", | |
13326 | + "exceptions.js": "bin/exceptions/exceptions.js", | |
13327 | + "fixOptions.js": "bin/help/fixOptions.js", | |
13328 | + "GenericBarcode": "bin/barcodes/GenericBarcode", | |
13329 | + "getOptionsFromElement.js": "bin/help/getOptionsFromElement.js", | |
13330 | + "getRenderProperties.js": "bin/help/getRenderProperties.js", | |
13331 | + "help": "bin/help", | |
13332 | + "index.js": "bin/renderers/index.js", | |
13333 | + "index.tmp.js": "bin/barcodes/index.tmp.js", | |
13334 | + "ITF": "bin/barcodes/ITF", | |
13335 | + "ITF.js": "bin/barcodes/ITF/ITF.js", | |
13336 | + "ITF14.js": "bin/barcodes/ITF/ITF14.js", | |
13337 | + "JsBarcode.js": "bin/JsBarcode.js", | |
13338 | + "linearizeEncodings.js": "bin/help/linearizeEncodings.js", | |
13339 | + "merge.js": "bin/help/merge.js", | |
13340 | + "MSI": "bin/barcodes/MSI", | |
13341 | + "MSI.js": "bin/barcodes/MSI/MSI.js", | |
13342 | + "MSI10.js": "bin/barcodes/MSI/MSI10.js", | |
13343 | + "MSI1010.js": "bin/barcodes/MSI/MSI1010.js", | |
13344 | + "MSI11.js": "bin/barcodes/MSI/MSI11.js", | |
13345 | + "MSI1110.js": "bin/barcodes/MSI/MSI1110.js", | |
13346 | + "object.js": "bin/renderers/object.js", | |
13347 | + "options": "bin/options", | |
13348 | + "optionsFromStrings.js": "bin/help/optionsFromStrings.js", | |
13349 | + "pharmacode": "bin/barcodes/pharmacode", | |
13350 | + "renderers": "bin/renderers", | |
13351 | + "shared.js": "bin/renderers/shared.js", | |
13352 | + "svg.js": "bin/renderers/svg.js", | |
13353 | + "UPC.js": "bin/barcodes/EAN_UPC/UPC.js", | |
13354 | + "UPCE.js": "bin/barcodes/EAN_UPC/UPCE.js" | |
13355 | + } | |
13356 | + }, | |
13194 | 13357 | "node_modules/jsbn": { |
13195 | 13358 | "version": "0.1.1", |
13196 | 13359 | "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", |
... | ... | @@ -15370,9 +15533,9 @@ |
15370 | 15533 | } |
15371 | 15534 | }, |
15372 | 15535 | "node_modules/postcss": { |
15373 | - "version": "7.0.35", | |
15374 | - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", | |
15375 | - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", | |
15536 | + "version": "7.0.36", | |
15537 | + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", | |
15538 | + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", | |
15376 | 15539 | "dependencies": { |
15377 | 15540 | "chalk": "^2.4.2", |
15378 | 15541 | "source-map": "^0.6.1", |
... | ... | @@ -15380,6 +15543,10 @@ |
15380 | 15543 | }, |
15381 | 15544 | "engines": { |
15382 | 15545 | "node": ">=6.0.0" |
15546 | + }, | |
15547 | + "funding": { | |
15548 | + "type": "opencollective", | |
15549 | + "url": "https://opencollective.com/postcss/" | |
15383 | 15550 | } |
15384 | 15551 | }, |
15385 | 15552 | "node_modules/postcss-calc": { |
... | ... | @@ -21095,9 +21262,9 @@ |
21095 | 21262 | "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" |
21096 | 21263 | }, |
21097 | 21264 | "node_modules/vue": { |
21098 | - "version": "2.6.12", | |
21099 | - "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.12.tgz", | |
21100 | - "integrity": "sha512-uhmLFETqPPNyuLLbsKz6ioJ4q7AZHzD8ZVFNATNyICSZouqP2Sz0rotWQC8UNBF6VGSCs5abnKJoStA6JbCbfg==" | |
21265 | + "version": "2.6.14", | |
21266 | + "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.14.tgz", | |
21267 | + "integrity": "sha512-x2284lgYvjOMj3Za7kqzRcUSxBboHqtgRE2zlos1qWaOye5yUmHn42LB1250NJBLRwEcdrB0JRwyPTEPhfQjiQ==" | |
21101 | 21268 | }, |
21102 | 21269 | "node_modules/vue-area-linkage": { |
21103 | 21270 | "version": "5.1.0", |
... | ... | @@ -21111,6 +21278,14 @@ |
21111 | 21278 | "npm": ">= 5.2.0" |
21112 | 21279 | } |
21113 | 21280 | }, |
21281 | + "node_modules/vue-barcode": { | |
21282 | + "version": "1.3.0", | |
21283 | + "resolved": "https://registry.npmjs.org/vue-barcode/-/vue-barcode-1.3.0.tgz", | |
21284 | + "integrity": "sha512-DxQ0hxes/dP6GajsJumpW6jV14VwlnTwStZbtE6G0wkewuJVDoDOdxUr5seGuxsMT9fJ0aty4X47Z5TG0M/gxg==", | |
21285 | + "dependencies": { | |
21286 | + "jsbarcode": "^3.5.8" | |
21287 | + } | |
21288 | + }, | |
21114 | 21289 | "node_modules/vue-class-component": { |
21115 | 21290 | "version": "7.2.6", |
21116 | 21291 | "resolved": "https://registry.npmjs.org/vue-class-component/-/vue-class-component-7.2.6.tgz", |
... | ... | @@ -21200,6 +21375,24 @@ |
21200 | 21375 | "vue-style-loader": "^4.1.0" |
21201 | 21376 | } |
21202 | 21377 | }, |
21378 | + "node_modules/vue-loader/node_modules/@vue/component-compiler-utils": { | |
21379 | + "version": "3.2.2", | |
21380 | + "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.2.2.tgz", | |
21381 | + "integrity": "sha512-rAYMLmgMuqJFWAOb3Awjqqv5X3Q3hVr4jH/kgrFJpiU0j3a90tnNBplqbj+snzrgZhC9W128z+dtgMifOiMfJg==", | |
21382 | + "dependencies": { | |
21383 | + "consolidate": "^0.15.1", | |
21384 | + "hash-sum": "^1.0.2", | |
21385 | + "lru-cache": "^4.1.2", | |
21386 | + "merge-source-map": "^1.1.0", | |
21387 | + "postcss": "^7.0.36", | |
21388 | + "postcss-selector-parser": "^6.0.2", | |
21389 | + "source-map": "~0.6.1", | |
21390 | + "vue-template-es2015-compiler": "^1.9.0" | |
21391 | + }, | |
21392 | + "optionalDependencies": { | |
21393 | + "prettier": "^1.18.2" | |
21394 | + } | |
21395 | + }, | |
21203 | 21396 | "node_modules/vue-ls": { |
21204 | 21397 | "version": "3.2.2", |
21205 | 21398 | "resolved": "https://registry.npmjs.org/vue-ls/-/vue-ls-3.2.2.tgz", |
... | ... | @@ -26029,6 +26222,47 @@ |
26029 | 26222 | "strip-ansi": "^6.0.0" |
26030 | 26223 | } |
26031 | 26224 | }, |
26225 | + "@vue/component-compiler-utils": { | |
26226 | + "version": "3.2.2", | |
26227 | + "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.2.2.tgz", | |
26228 | + "integrity": "sha512-rAYMLmgMuqJFWAOb3Awjqqv5X3Q3hVr4jH/kgrFJpiU0j3a90tnNBplqbj+snzrgZhC9W128z+dtgMifOiMfJg==", | |
26229 | + "dev": true, | |
26230 | + "requires": { | |
26231 | + "consolidate": "^0.15.1", | |
26232 | + "hash-sum": "^1.0.2", | |
26233 | + "lru-cache": "^4.1.2", | |
26234 | + "merge-source-map": "^1.1.0", | |
26235 | + "postcss": "^7.0.36", | |
26236 | + "postcss-selector-parser": "^6.0.2", | |
26237 | + "prettier": "^1.18.2", | |
26238 | + "source-map": "~0.6.1", | |
26239 | + "vue-template-es2015-compiler": "^1.9.0" | |
26240 | + }, | |
26241 | + "dependencies": { | |
26242 | + "hash-sum": { | |
26243 | + "version": "1.0.2", | |
26244 | + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", | |
26245 | + "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=", | |
26246 | + "dev": true | |
26247 | + }, | |
26248 | + "lru-cache": { | |
26249 | + "version": "4.1.5", | |
26250 | + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", | |
26251 | + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", | |
26252 | + "dev": true, | |
26253 | + "requires": { | |
26254 | + "pseudomap": "^1.0.2", | |
26255 | + "yallist": "^2.1.2" | |
26256 | + } | |
26257 | + }, | |
26258 | + "yallist": { | |
26259 | + "version": "2.1.2", | |
26260 | + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", | |
26261 | + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", | |
26262 | + "dev": true | |
26263 | + } | |
26264 | + } | |
26265 | + }, | |
26032 | 26266 | "@webassemblyjs/ast": { |
26033 | 26267 | "version": "1.9.0", |
26034 | 26268 | "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", |
... | ... | @@ -26925,19 +27159,58 @@ |
26925 | 27159 | } |
26926 | 27160 | }, |
26927 | 27161 | "@vue/component-compiler-utils": { |
26928 | - "version": "3.2.0", | |
26929 | - "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.2.0.tgz", | |
26930 | - "integrity": "sha512-lejBLa7xAMsfiZfNp7Kv51zOzifnb29FwdnMLa96z26kXErPFioSf9BMcePVIQ6/Gc6/mC0UrPpxAWIHyae0vw==", | |
27162 | + "version": "1.3.1", | |
27163 | + "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-1.3.1.tgz", | |
27164 | + "integrity": "sha512-IyjJW6ToMitgAhp3xh22QiEW8JvHfLyzlyY/J+GjJ71miod9tNsy6xT2ckm/VirlhPMfeM43kgYZe34jhmmzpw==", | |
27165 | + "dev": true, | |
26931 | 27166 | "requires": { |
26932 | 27167 | "consolidate": "^0.15.1", |
26933 | 27168 | "hash-sum": "^1.0.2", |
26934 | 27169 | "lru-cache": "^4.1.2", |
26935 | 27170 | "merge-source-map": "^1.1.0", |
26936 | - "postcss": "^7.0.14", | |
26937 | - "postcss-selector-parser": "^6.0.2", | |
26938 | - "prettier": "^1.18.2", | |
26939 | - "source-map": "~0.6.1", | |
26940 | - "vue-template-es2015-compiler": "^1.9.0" | |
27171 | + "postcss": "^6.0.20", | |
27172 | + "postcss-selector-parser": "^3.1.1", | |
27173 | + "prettier": "^1.13.0", | |
27174 | + "source-map": "^0.5.6", | |
27175 | + "vue-template-es2015-compiler": "^1.6.0" | |
27176 | + }, | |
27177 | + "dependencies": { | |
27178 | + "postcss": { | |
27179 | + "version": "6.0.23", | |
27180 | + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", | |
27181 | + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", | |
27182 | + "dev": true, | |
27183 | + "requires": { | |
27184 | + "chalk": "^2.4.1", | |
27185 | + "source-map": "^0.6.1", | |
27186 | + "supports-color": "^5.4.0" | |
27187 | + }, | |
27188 | + "dependencies": { | |
27189 | + "source-map": { | |
27190 | + "version": "0.6.1", | |
27191 | + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", | |
27192 | + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", | |
27193 | + "dev": true | |
27194 | + } | |
27195 | + } | |
27196 | + }, | |
27197 | + "postcss-selector-parser": { | |
27198 | + "version": "3.1.2", | |
27199 | + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", | |
27200 | + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", | |
27201 | + "dev": true, | |
27202 | + "requires": { | |
27203 | + "dot-prop": "^5.2.0", | |
27204 | + "indexes-of": "^1.0.1", | |
27205 | + "uniq": "^1.0.1" | |
27206 | + } | |
27207 | + }, | |
27208 | + "source-map": { | |
27209 | + "version": "0.5.7", | |
27210 | + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", | |
27211 | + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", | |
27212 | + "dev": true | |
27213 | + } | |
26941 | 27214 | } |
26942 | 27215 | }, |
26943 | 27216 | "@vue/eslint-config-standard": { |
... | ... | @@ -27235,6 +27508,14 @@ |
27235 | 27508 | "integrity": "sha512-k2p2VrONcYVX1wRRrf0f3X2VGltLWcv+JzXRBDmvCxGlCeESx4OXw91TsWeKOkp784uNoVQo313vxJFHXPPwfw==", |
27236 | 27509 | "dev": true |
27237 | 27510 | }, |
27511 | + "@xkeshi/vue-barcode": { | |
27512 | + "version": "1.0.0", | |
27513 | + "resolved": "https://registry.npmjs.org/@xkeshi/vue-barcode/-/vue-barcode-1.0.0.tgz", | |
27514 | + "integrity": "sha512-Zgwg7n314dHs5K7OBtdXzQXLr4UC3kZmoFuggxk0tNNKEekgUKAsvomukRtrRTK3FfohsYKkSgxBa3uRsiEdig==", | |
27515 | + "requires": { | |
27516 | + "jsbarcode": "^3.9.0" | |
27517 | + } | |
27518 | + }, | |
27238 | 27519 | "@xtuc/ieee754": { |
27239 | 27520 | "version": "1.2.0", |
27240 | 27521 | "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", |
... | ... | @@ -34653,6 +34934,11 @@ |
34653 | 34934 | "esprima": "^4.0.0" |
34654 | 34935 | } |
34655 | 34936 | }, |
34937 | + "jsbarcode": { | |
34938 | + "version": "3.11.4", | |
34939 | + "resolved": "https://registry.npmjs.org/jsbarcode/-/jsbarcode-3.11.4.tgz", | |
34940 | + "integrity": "sha512-PHtad17lOl6LOLGK20k5I6P7MabiyHaJY5u5N5TlzC6ZunOR+yFnFnRUoqqOefrYPqO2nuJ1weHzG8B7YYEnHg==" | |
34941 | + }, | |
34656 | 34942 | "jsbn": { |
34657 | 34943 | "version": "0.1.1", |
34658 | 34944 | "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", |
... | ... | @@ -36475,9 +36761,9 @@ |
36475 | 36761 | "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" |
36476 | 36762 | }, |
36477 | 36763 | "postcss": { |
36478 | - "version": "7.0.35", | |
36479 | - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", | |
36480 | - "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", | |
36764 | + "version": "7.0.36", | |
36765 | + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", | |
36766 | + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", | |
36481 | 36767 | "requires": { |
36482 | 36768 | "chalk": "^2.4.2", |
36483 | 36769 | "source-map": "^0.6.1", |
... | ... | @@ -41195,9 +41481,9 @@ |
41195 | 41481 | "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" |
41196 | 41482 | }, |
41197 | 41483 | "vue": { |
41198 | - "version": "2.6.12", | |
41199 | - "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.12.tgz", | |
41200 | - "integrity": "sha512-uhmLFETqPPNyuLLbsKz6ioJ4q7AZHzD8ZVFNATNyICSZouqP2Sz0rotWQC8UNBF6VGSCs5abnKJoStA6JbCbfg==" | |
41484 | + "version": "2.6.14", | |
41485 | + "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.14.tgz", | |
41486 | + "integrity": "sha512-x2284lgYvjOMj3Za7kqzRcUSxBboHqtgRE2zlos1qWaOye5yUmHn42LB1250NJBLRwEcdrB0JRwyPTEPhfQjiQ==" | |
41201 | 41487 | }, |
41202 | 41488 | "vue-area-linkage": { |
41203 | 41489 | "version": "5.1.0", |
... | ... | @@ -41207,6 +41493,14 @@ |
41207 | 41493 | "lodash.find": "^4.6.0" |
41208 | 41494 | } |
41209 | 41495 | }, |
41496 | + "vue-barcode": { | |
41497 | + "version": "1.3.0", | |
41498 | + "resolved": "https://registry.npmjs.org/vue-barcode/-/vue-barcode-1.3.0.tgz", | |
41499 | + "integrity": "sha512-DxQ0hxes/dP6GajsJumpW6jV14VwlnTwStZbtE6G0wkewuJVDoDOdxUr5seGuxsMT9fJ0aty4X47Z5TG0M/gxg==", | |
41500 | + "requires": { | |
41501 | + "jsbarcode": "^3.5.8" | |
41502 | + } | |
41503 | + }, | |
41210 | 41504 | "vue-class-component": { |
41211 | 41505 | "version": "7.2.6", |
41212 | 41506 | "resolved": "https://registry.npmjs.org/vue-class-component/-/vue-class-component-7.2.6.tgz", |
... | ... | @@ -41290,6 +41584,24 @@ |
41290 | 41584 | "loader-utils": "^1.1.0", |
41291 | 41585 | "vue-hot-reload-api": "^2.3.0", |
41292 | 41586 | "vue-style-loader": "^4.1.0" |
41587 | + }, | |
41588 | + "dependencies": { | |
41589 | + "@vue/component-compiler-utils": { | |
41590 | + "version": "3.2.2", | |
41591 | + "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.2.2.tgz", | |
41592 | + "integrity": "sha512-rAYMLmgMuqJFWAOb3Awjqqv5X3Q3hVr4jH/kgrFJpiU0j3a90tnNBplqbj+snzrgZhC9W128z+dtgMifOiMfJg==", | |
41593 | + "requires": { | |
41594 | + "consolidate": "^0.15.1", | |
41595 | + "hash-sum": "^1.0.2", | |
41596 | + "lru-cache": "^4.1.2", | |
41597 | + "merge-source-map": "^1.1.0", | |
41598 | + "postcss": "^7.0.36", | |
41599 | + "postcss-selector-parser": "^6.0.2", | |
41600 | + "prettier": "^1.18.2", | |
41601 | + "source-map": "~0.6.1", | |
41602 | + "vue-template-es2015-compiler": "^1.9.0" | |
41603 | + } | |
41604 | + } | |
41293 | 41605 | } |
41294 | 41606 | }, |
41295 | 41607 | "vue-ls": { |
... | ... |
package.json
... | ... | @@ -14,6 +14,7 @@ |
14 | 14 | "@jeecg/antd-online-mini": "2.4.22-beta", |
15 | 15 | "@tinymce/tinymce-vue": "^2.1.0", |
16 | 16 | "@toast-ui/editor": "^2.1.2", |
17 | + "@xkeshi/vue-barcode": "^1.0.0", | |
17 | 18 | "ant-design-vue": "^1.7.3", |
18 | 19 | "area-data": "^5.0.6", |
19 | 20 | "axios": "^0.21.1", |
... | ... | @@ -35,8 +36,9 @@ |
35 | 36 | "qrcodejs2": "0.0.2", |
36 | 37 | "tinymce": "^5.3.2", |
37 | 38 | "viser-vue": "^2.4.8", |
38 | - "vue": "^2.6.10", | |
39 | + "vue": "^2.6.14", | |
39 | 40 | "vue-area-linkage": "^5.1.0", |
41 | + "vue-barcode": "^1.3.0", | |
40 | 42 | "vue-cropper": "^0.5.4", |
41 | 43 | "vue-i18n": "^8.7.0", |
42 | 44 | "vue-json-excel": "^0.3.0", |
... | ... | @@ -58,6 +60,7 @@ |
58 | 60 | "@vue/cli-plugin-babel": "^3.3.0", |
59 | 61 | "@vue/cli-plugin-eslint": "^3.3.0", |
60 | 62 | "@vue/cli-service": "^4.5.12", |
63 | + "@vue/component-compiler-utils": "1.3.1", | |
61 | 64 | "@vue/eslint-config-standard": "^4.0.0", |
62 | 65 | "babel-eslint": "7.2.3", |
63 | 66 | "eslint": "^5.16.0", |
... | ... | @@ -65,7 +68,7 @@ |
65 | 68 | "html-webpack-plugin": "^4.2.0", |
66 | 69 | "less": "^3.9.0", |
67 | 70 | "less-loader": "^4.1.0", |
68 | - "vue-template-compiler": "^2.6.10", | |
71 | + "vue-template-compiler": "last", | |
69 | 72 | "webpack": "^4.46.0", |
70 | 73 | "webpack-cli": "^4.5.0" |
71 | 74 | }, |
... | ... |
src/main.js
src/permission.js
... | ... | @@ -9,7 +9,7 @@ import { generateIndexRouter } from "@/utils/util" |
9 | 9 | |
10 | 10 | NProgress.configure({ showSpinner: false }) // NProgress Configuration |
11 | 11 | |
12 | -const whiteList = ['/user/login', '/user/register', '/user/register-result','/user/alteration'] // no redirect whitelist | |
12 | +const whiteList = ['/user/login', '/user/register', '/user/register-result','/user/alteration', '/imaterial/PurchaseInfo'] // no redirect whitelist | |
13 | 13 | |
14 | 14 | router.beforeEach((to, from, next) => { |
15 | 15 | NProgress.start() // start progress bar |
... | ... |
src/views/material/OutsourcingIn.vue
... | ... | @@ -11,7 +11,6 @@ |
11 | 11 | placeholder="请输入项目名称" |
12 | 12 | option-filter-prop="children" |
13 | 13 | :filter-option="filterOption" |
14 | - @change="handleChange" | |
15 | 14 | v-model="queryParam.projectName" |
16 | 15 | > |
17 | 16 | <a-select-option v-for="item in projectNameList" :key="item" :value="item">{{ item }}</a-select-option> |
... | ... | @@ -25,7 +24,6 @@ |
25 | 24 | placeholder="请输入项目编码" |
26 | 25 | option-filter-prop="children" |
27 | 26 | :filter-option="filterOption" |
28 | - @change="handleChange" | |
29 | 27 | v-model="queryParam.projectNo" |
30 | 28 | > |
31 | 29 | <a-select-option v-for="item in projectNoList" :key="item" :value="item">{{ item }}</a-select-option> |
... | ... | @@ -39,7 +37,6 @@ |
39 | 37 | placeholder="请输入工作令号" |
40 | 38 | option-filter-prop="children" |
41 | 39 | :filter-option="filterOption" |
42 | - @change="handleChange" | |
43 | 40 | v-model="queryParam.workNo" |
44 | 41 | > |
45 | 42 | <a-select-option v-for="item in workNoList" :key="item" :value="item">{{ item }}</a-select-option> |
... | ... | @@ -73,17 +70,10 @@ |
73 | 70 | |
74 | 71 | <!-- 操作按钮区域 --> |
75 | 72 | <div class="table-operator"> |
76 | - <a-button @click="handleAdd" type="primary" icon="plus">新增</a-button> | |
73 | + | |
77 | 74 | <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel"> |
78 | 75 | <a-button type="primary" icon="import">导入</a-button> |
79 | 76 | </a-upload> |
80 | - <a-button | |
81 | - @click="batchDel" | |
82 | - v-if="selectedRowKeys.length > 0" | |
83 | - ghost | |
84 | - type="primary" | |
85 | - icon="delete">批量删除 | |
86 | - </a-button> | |
87 | 77 | </div> |
88 | 78 | |
89 | 79 | <!-- table区域-begin --> |
... | ... | @@ -100,26 +90,19 @@ |
100 | 90 | :scroll="{x: 1500}" |
101 | 91 | size="middle" |
102 | 92 | :pagination="false" |
103 | - :dataSource="dataSource" | |
104 | - :loading="loading" | |
93 | + :dataSource="treeDataSource" | |
94 | + :loading="planLoading" | |
105 | 95 | :expandedRowKeys="expandedRowKeys" |
106 | - :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" | |
107 | 96 | @expandedRowsChange="handleExpandedRowsChange"> |
108 | 97 | |
109 | 98 | <span slot="action" slot-scope="text, record"> |
110 | 99 | <a @click="handleEdit(record)">编辑</a> |
100 | + </span> | |
111 | 101 | |
112 | - <a-divider type="vertical"/> | |
113 | - <a-dropdown> | |
114 | - <a-menu slot="overlay"> | |
115 | - <a-menu-item> | |
116 | - <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)"> | |
117 | - <a>删除</a> | |
118 | - </a-popconfirm> | |
119 | - </a-menu-item> | |
120 | - </a-menu> | |
121 | - </a-dropdown> | |
102 | + <span slot="action" slot-scope="text, record"> | |
103 | + <a @click="handleEdit(record)">编辑</a> | |
122 | 104 | </span> |
105 | + | |
123 | 106 | <!-- 字符串超长截取省略号显示 --> |
124 | 107 | <span slot="url" slot-scope="text"> |
125 | 108 | <j-ellipsis :value="text" :length="25"/> |
... | ... | @@ -130,31 +113,69 @@ |
130 | 113 | </span> |
131 | 114 | </a-table> |
132 | 115 | |
116 | + <div class="table-page-search-wrapper" style="margin-top: 20px"> | |
117 | + <a-form layout="inline" @keyup.enter.native="searchQuery"> | |
118 | + <a-row :gutter="24"> | |
119 | + <a-input v-model="queryParam.bomId" v-show="false"></a-input> | |
120 | + <a-col :md="6" :sm="8"> | |
121 | + <a-form-item label="工作令号"> | |
122 | + <a-input placeholder="请输入工作令号" v-model="queryParam.workNo"></a-input> | |
123 | + </a-form-item> | |
124 | + </a-col> | |
125 | + <a-col :md="6" :sm="8"> | |
126 | + <a-form-item label="物料编码"> | |
127 | + <a-input placeholder="请输入物料编码" v-model="queryParam.materialCode"></a-input> | |
128 | + </a-form-item> | |
129 | + </a-col> | |
130 | + <a-col :md="6" :sm="8"> | |
131 | + <a-form-item label="物料名称"> | |
132 | + <a-input placeholder="请输入物料名称" v-model="queryParam.materialName"></a-input> | |
133 | + </a-form-item> | |
134 | + </a-col> | |
135 | + <a-col :md="6" :sm="8"> | |
136 | + <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> | |
137 | + <a-button type="primary" @click="queryPurchaseIn" icon="search">查询</a-button> | |
138 | + <a-button type="primary" @click="searchReset" icon="reload" style="margin-left: 8px">重置</a-button> | |
139 | + </span> | |
140 | + </a-col> | |
141 | + </a-row> | |
142 | + </a-form> | |
143 | + </div> | |
144 | + <div class="table-operator"> | |
145 | + <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> | |
146 | + <a-button type="primary" @click="print()" icon="printer">打印</a-button> | |
147 | + </span> | |
148 | + <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> | |
149 | + <a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" | |
150 | + :action="importExcelUrl" @change="handleImportExcel"> | |
151 | + <a-button type="primary" icon="import">导入</a-button> | |
152 | + </a-upload> | |
153 | + </span> | |
154 | + <span> | |
155 | + <a-button type="primary" @click="batchEditOpen()" icon="edit" style="margin-left: 8px">批量编辑</a-button> | |
156 | + </span> | |
157 | + </div> | |
158 | + | |
133 | 159 | <a-table |
134 | 160 | ref="table" |
135 | 161 | bordered |
136 | 162 | size="middle" |
137 | 163 | rowKey="id" |
138 | 164 | :columns="planColumns" |
139 | - :dataSource="planDataSource" | |
165 | + :dataSource="dataSource" | |
140 | 166 | :pagination="ipagination" |
141 | 167 | :loading="loading" |
142 | 168 | :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}" |
143 | 169 | @change="handleTableChange"> |
144 | 170 | |
171 | + <span slot="status" slot-scope="status"> | |
172 | + <a-tag :key="status" :color="solutionColor(status)"> | |
173 | + {{ solutionStatus(status) }} | |
174 | + </a-tag> | |
175 | + </span> | |
176 | + | |
145 | 177 | <span slot="action" slot-scope="text, record"> |
146 | 178 | <a @click="handleEdit(record)">编辑</a> |
147 | - | |
148 | - <a-divider type="vertical"/> | |
149 | - <a-dropdown> | |
150 | - <a-menu slot="overlay"> | |
151 | - <a-menu-item> | |
152 | - <a-popconfirm title="确定删除吗?" @confirm="() => handleDelete(record.id)"> | |
153 | - <a>删除</a> | |
154 | - </a-popconfirm> | |
155 | - </a-menu-item> | |
156 | - </a-menu> | |
157 | - </a-dropdown> | |
158 | 179 | </span> |
159 | 180 | </a-table> |
160 | 181 | |
... | ... | @@ -174,7 +195,7 @@ import { |
174 | 195 | getBomTree, |
175 | 196 | getOutsourcing, |
176 | 197 | getBomIdList, |
177 | - getBomId | |
198 | + getBomId, getPurchase | |
178 | 199 | } from '../../api/api' |
179 | 200 | import OutsourcingInModal from './modules/OutsourcingInModal' |
180 | 201 | const columns = [ |
... | ... | @@ -227,13 +248,6 @@ const columns = [ |
227 | 248 | title: '分类', |
228 | 249 | dataIndex: 'categories', |
229 | 250 | key: 'categories' |
230 | - },{ | |
231 | - title: '操作', | |
232 | - dataIndex: 'action', | |
233 | - fixed: 'right', | |
234 | - scopedSlots: { customRender: 'action' }, | |
235 | - align: 'center', | |
236 | - width: 150 | |
237 | 251 | } |
238 | 252 | ] |
239 | 253 | export default { |
... | ... | @@ -241,28 +255,44 @@ export default { |
241 | 255 | mixins: [JeecgListMixin], |
242 | 256 | components: { |
243 | 257 | OutsourcingInModal |
244 | - | |
245 | 258 | }, |
246 | 259 | data() { |
247 | 260 | return { |
261 | + disableMixinCreated: true, | |
248 | 262 | description: '这是外协入库页面', |
263 | + ids: '', | |
264 | + printVisible: false, | |
265 | + confirmLoading: false, | |
266 | + planLoading: false, | |
267 | + defaultValue: '', | |
268 | + purchasedStatusList: [], | |
269 | + treeDataSource: [], | |
249 | 270 | // 表头 |
250 | 271 | columns: columns, |
251 | 272 | loading: false, |
252 | 273 | // 展开的行,受控属性 |
253 | 274 | expandedRowKeys: [], |
275 | + printDataSource: [], | |
276 | + printLoading: false, | |
254 | 277 | url: { |
255 | 278 | list: '/config/bom/list', |
256 | 279 | delete: '/config/bom/delete', |
257 | 280 | deleteBatch: '/config/bom/deleteBatch', |
258 | 281 | importExcelUrl: '/config/bom/importExcel' |
259 | 282 | }, |
283 | + pagination: { | |
284 | + defaultPageSize: 5, | |
285 | + showTotal: total => `共 ${total} 条数据`, | |
286 | + showSizeChanger: true, | |
287 | + pageSizeOptions: ['5', '10', '15', '20'], | |
288 | + onShowSizeChange: (current, pageSize) => this.pageSize = pageSize | |
289 | + }, | |
290 | + bomIdList: [], | |
260 | 291 | planDataSource: [], |
261 | 292 | queryParam: [], |
262 | 293 | projectNameList: [], |
263 | 294 | workNoList: [], |
264 | 295 | projectNoList: [], |
265 | - bomIdList: [], | |
266 | 296 | planColumns: [ |
267 | 297 | { |
268 | 298 | title: '物料编码', |
... | ... | @@ -288,6 +318,12 @@ export default { |
288 | 318 | title: '联系方式', |
289 | 319 | dataIndex: 'phone', |
290 | 320 | key: 'phone' |
321 | + }, { | |
322 | + title: '状态', | |
323 | + dataIndex: 'status', | |
324 | + key: 'status', | |
325 | + align: 'center', | |
326 | + scopedSlots: { customRender: 'status' } | |
291 | 327 | },{ |
292 | 328 | title: '计划开始时间', |
293 | 329 | dataIndex: 'planStartTime', |
... | ... | @@ -341,16 +377,14 @@ export default { |
341 | 377 | } |
342 | 378 | }) |
343 | 379 | }, |
344 | - handleChange(value) { | |
345 | - console.log(`selected ${value}`); | |
346 | - }, | |
347 | 380 | filterOption(input, option) { |
348 | 381 | return ( |
349 | 382 | option.componentOptions.children[0].text.toLowerCase().indexOf(input.toLowerCase()) >= 0 |
350 | 383 | ); |
351 | 384 | }, |
352 | - loadData(tree) { | |
353 | - this.dataSource = tree; | |
385 | + loadTreeData(tree) { | |
386 | + this.planLoading = false | |
387 | + this.treeDataSource = tree | |
354 | 388 | }, |
355 | 389 | |
356 | 390 | handleExpandedRowsChange(expandedRows) { |
... | ... | @@ -360,6 +394,8 @@ export default { |
360 | 394 | this.initBomTree(value); |
361 | 395 | }, |
362 | 396 | query() { |
397 | + this.planLoading = true | |
398 | + this.loading = true | |
363 | 399 | let params = { |
364 | 400 | "bomId": this.queryParam.bomId, |
365 | 401 | "projectName": this.queryParam.projectName, |
... | ... | @@ -367,20 +403,16 @@ export default { |
367 | 403 | "workNo": this.queryParam.workNo |
368 | 404 | } |
369 | 405 | getBomId(params).then((res) => { |
406 | + this.bomIdList = [] | |
370 | 407 | if (res.success) { |
371 | - this.bomIdList.push(res.result) | |
372 | - this.initBomTree(this.bomIdList[0]) | |
373 | - } | |
374 | - }) | |
375 | - getOutsourcing(params).then((res) => { | |
376 | - if (res.success) { | |
377 | - this.planDataSource = res.result.records||res.result; | |
378 | - if(res.result.total) | |
379 | - { | |
380 | - this.ipagination.total = res.result.total; | |
381 | - }else{ | |
382 | - this.ipagination.total = 0; | |
408 | + for (let i = 0; i < res.result.length; i++) { | |
409 | + this.bomIdList.push(res.result[i]) | |
383 | 410 | } |
411 | + this.initBomTree(this.bomIdList[0]) | |
412 | + } else { | |
413 | + this.$message.warning(res.message) | |
414 | + this.loading = false | |
415 | + this.planLoading = false | |
384 | 416 | } |
385 | 417 | }) |
386 | 418 | }, |
... | ... | @@ -388,23 +420,47 @@ export default { |
388 | 420 | let params = { |
389 | 421 | "bomId": bomId |
390 | 422 | } |
423 | + this.queryParam.bomId = bomId | |
391 | 424 | getBomTree(params).then((res) => { |
392 | 425 | if (res.success) { |
393 | - this.loadData(res.result) | |
426 | + this.loadTreeData(res.result) | |
427 | + } else { | |
428 | + this.$message.warning(res.message) | |
394 | 429 | } |
395 | 430 | }) |
431 | + this.getOutsourcingList(params) | |
432 | + }, | |
433 | + getOutsourcingList(params) { | |
396 | 434 | getOutsourcing(params).then((res) => { |
397 | 435 | if (res.success) { |
398 | - console.log(res) | |
399 | - this.planDataSource = res.result.records; | |
400 | - if(res.result.total) | |
401 | - { | |
402 | - this.ipagination.total = res.result.total; | |
403 | - }else{ | |
404 | - this.ipagination.total = 0; | |
436 | + this.loading = false | |
437 | + this.dataSource = res.result.records | |
438 | + if (res.result.total) { | |
439 | + this.ipagination.total = res.result.total | |
440 | + } else { | |
441 | + this.ipagination.total = 0 | |
405 | 442 | } |
406 | 443 | } |
407 | 444 | }) |
445 | + }, | |
446 | + solutionStatus(value) { | |
447 | + var actions = [] | |
448 | + Object.keys(this.outsourcingInStatusList).some((key) => { | |
449 | + if (this.outsourcingInStatusList[key].value == ('' + value)) { | |
450 | + actions.push(this.outsourcingInStatusList[key].text) | |
451 | + return true | |
452 | + } | |
453 | + }) | |
454 | + return actions.join('') | |
455 | + }, | |
456 | + solutionColor(value) { | |
457 | + var actions = '' | |
458 | + Object.keys(this.outsourcingInStatusList).some((key) => { | |
459 | + if (this.outsourcingInStatusList[key].value == ('' + value)) { | |
460 | + actions = this.outsourcingInStatusList[key].color | |
461 | + } | |
462 | + }) | |
463 | + return actions | |
408 | 464 | } |
409 | 465 | }, |
410 | 466 | computed: { |
... | ... |
src/views/material/PurchaseIn.vue
... | ... | @@ -128,7 +128,7 @@ |
128 | 128 | </a-form> |
129 | 129 | </div> |
130 | 130 | <div class="table-operator"> |
131 | - <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> | |
131 | + <span style="float: left;" class="table-page-search-submitButtons"> | |
132 | 132 | <a-button type="primary" @click="print()" icon="printer">打印</a-button> |
133 | 133 | </span> |
134 | 134 | <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> |
... | ... | @@ -181,40 +181,6 @@ |
181 | 181 | <purchase-in-modal ref="modalForm" @ok="modalFormOk"></purchase-in-modal> |
182 | 182 | <purchase-in-batch-modal ref="batchModalForm"></purchase-in-batch-modal> |
183 | 183 | <merge-modal ref="mergeModal"></merge-modal> |
184 | -<!-- <a-modal--> | |
185 | -<!-- title="送货单"--> | |
186 | -<!-- :visible="printVisible"--> | |
187 | -<!-- :confirm-loading="confirmLoading"--> | |
188 | -<!-- @cancel="handleCancel"--> | |
189 | -<!-- width="70%"--> | |
190 | -<!-- >--> | |
191 | -<!-- <a-row>--> | |
192 | -<!-- <h2 class="center">送货单</h2>--> | |
193 | -<!-- <div class="noprint container" style="text-align:right; padding: 20px;float: right">--> | |
194 | -<!-- <a-button v-print="'#printContent'" ghost type="primary">打印</a-button>--> | |
195 | -<!-- </div>--> | |
196 | -<!-- </a-row>--> | |
197 | -<!-- <a-row>--> | |
198 | -<!-- <a-table--> | |
199 | -<!-- ref="table"--> | |
200 | -<!-- bordered--> | |
201 | -<!-- size="middle"--> | |
202 | -<!-- rowKey="id"--> | |
203 | -<!-- :pagination="false"--> | |
204 | -<!-- :dataSource="printDataSource"--> | |
205 | -<!-- :loading="printLoading">--> | |
206 | -<!-- <a-table-column key="workNo" data-index="workNo" title="工作令" />--> | |
207 | -<!-- <a-table-column key="supplier" data-index="supplier" title="供应商" />--> | |
208 | -<!-- <a-table-column key="materialCode" data-index="materialCode" title="物料编码" />--> | |
209 | -<!-- <a-table-column key="materialName" data-index="materialName" title="物料名称" />--> | |
210 | -<!-- <a-table-column key="unit" data-index="unit" title="单位" />--> | |
211 | -<!-- <a-table-column key="qty" data-index="qty" title="数量" />--> | |
212 | -<!-- <a-table-column key="spec" data-index="spec" title="规格" />--> | |
213 | -<!-- <a-table-column key="spec" data-index="spec" title="规格" />--> | |
214 | -<!-- </a-table>--> | |
215 | -<!-- </a-row>--> | |
216 | - | |
217 | -<!-- </a-modal>--> | |
218 | 184 | <purchase-in-print-modal ref="purchaseInPrintModal"></purchase-in-print-modal> |
219 | 185 | </a-card> |
220 | 186 | |
... | ... | @@ -231,7 +197,7 @@ import { |
231 | 197 | getPurchase, |
232 | 198 | getBomIdList, |
233 | 199 | getBomId, |
234 | - getPurchaseByIds, ajaxGetDictItems | |
200 | + ajaxGetDictItems | |
235 | 201 | } from '../../api/api' |
236 | 202 | import PurchaseInModal from './modules/PurchaseInModal' |
237 | 203 | import PurchaseInBatchModal from './modules/PurchaseInBatchModal' |
... | ... |
src/views/material/PurchaseInfo.vue
0 → 100644
1 | +<template> | |
2 | + <div> | |
3 | + <div> | |
4 | + <div id="content"> | |
5 | + <a-row type="flex"> | |
6 | + <a-col :span="21"> | |
7 | + <h2 class="center">送货单</h2> | |
8 | + <span>供应商</span> | |
9 | + </a-col> | |
10 | + <a-col :span="3"> | |
11 | + <vue-qr :text="dataSource.toString()" :size="80" :margin="0"></vue-qr> | |
12 | + </a-col> | |
13 | + </a-row> | |
14 | + <a-row> | |
15 | + <a-table | |
16 | + ref="table" | |
17 | + bordered | |
18 | + size="middle" | |
19 | + rowKey="id" | |
20 | + :pagination="false" | |
21 | + :dataSource="dataSource" | |
22 | + :loading="loading" | |
23 | + :columns="columns"> | |
24 | + <span slot="flag" slot-scope="text, record"> | |
25 | + <vue-qr :text="qrText(record)" :size="80" :margin="0"></vue-qr> | |
26 | + </span> | |
27 | + <span slot="barcode" slot-scope="text, record"> | |
28 | + <barcode :value="record.materialCode" :height="30" :displayValue="false" width="1"></barcode> | |
29 | + </span> | |
30 | + </a-table> | |
31 | + </a-row> | |
32 | + </div> | |
33 | + | |
34 | + | |
35 | + </div> | |
36 | +<!-- <template slot="footer">--> | |
37 | +<!-- <a-button @click="handleCancel" v-show="false"></a-button>--> | |
38 | +<!-- </template>--> | |
39 | + </div> | |
40 | + | |
41 | +</template> | |
42 | + | |
43 | +<script> | |
44 | +import VueQr from 'vue-qr' | |
45 | +import VueBarcode from 'vue-barcode' | |
46 | +import { getPurchaseByIds } from '@api/api' | |
47 | + | |
48 | +export default { | |
49 | + name: 'PurchaseInfo', | |
50 | + components: { | |
51 | + VueQr, | |
52 | + 'barcode': VueBarcode | |
53 | + }, | |
54 | + data() { | |
55 | + return { | |
56 | + confirmLoading: false, | |
57 | + loading: false, | |
58 | + dataSource: [], | |
59 | + columns: [ | |
60 | + { | |
61 | + title: '工作令号', | |
62 | + dataIndex: 'workNo', | |
63 | + key: 'workNo' | |
64 | + }, | |
65 | + { | |
66 | + title: '物料编码', | |
67 | + dataIndex: 'materialCode', | |
68 | + key: 'materialCode' | |
69 | + }, { | |
70 | + title: '物料名称', | |
71 | + dataIndex: 'materialName', | |
72 | + key: 'materialName' | |
73 | + }, { | |
74 | + title: '物料单位', | |
75 | + dataIndex: 'unit', | |
76 | + key: 'unit' | |
77 | + }, { | |
78 | + title: '规格', | |
79 | + dataIndex: 'spec', | |
80 | + key: 'spec' | |
81 | + }, { | |
82 | + title: '数量', | |
83 | + dataIndex: 'qty', | |
84 | + key: 'qty' | |
85 | + }, { | |
86 | + title: '二维码', | |
87 | + dataIndex: 'qr', | |
88 | + scopedSlots: { customRender: 'barcode' }, | |
89 | + align: 'center', | |
90 | + } | |
91 | + ] | |
92 | + } | |
93 | + }, | |
94 | + created() { | |
95 | + this.open(); | |
96 | + }, | |
97 | + methods: { | |
98 | + handleCancel(e) { | |
99 | + this.visible = false | |
100 | + }, | |
101 | + open() { | |
102 | + let url = window.location.href; | |
103 | + console.log(url) | |
104 | + let cs = url.split('?')[1]; | |
105 | + let cs_arr = cs.split('&'); | |
106 | + this.loading = true | |
107 | + this.visible = true | |
108 | + let params = { | |
109 | + 'ids': cs_arr | |
110 | + } | |
111 | + getPurchaseByIds(params).then(res => { | |
112 | + if (res.success) { | |
113 | + this.dataSource = res.result | |
114 | + this.loading = false | |
115 | + } else { | |
116 | + this.$message.warning('不是同一供应商!') | |
117 | + } | |
118 | + }) | |
119 | + }, | |
120 | + print() { | |
121 | + window.print() | |
122 | + }, | |
123 | + doPrint() { //方法 | |
124 | + | |
125 | + }, | |
126 | + qrText(record) { | |
127 | + return "物料编码:"+record.materialCode+"\r\n物料名称:"+record.materialName+"\r\n规格:" | |
128 | + +record.spec+"\r\n工作令号:"+record.workNo+"\r\n数量:"+record.qty | |
129 | + } | |
130 | + } | |
131 | +} | |
132 | +</script> | |
133 | + | |
134 | +<style scoped> | |
135 | + | |
136 | +</style> | |
0 | 137 | \ No newline at end of file |
... | ... |
src/views/material/modules/PurchaseInModal.vue
src/views/material/modules/PurchaseInPrintModal.vue
... | ... | @@ -3,19 +3,28 @@ |
3 | 3 | :visible="visible" |
4 | 4 | :confirm-loading="confirmLoading" |
5 | 5 | @cancel="handleCancel" |
6 | - width="70%" | |
7 | - | |
6 | + width="50%" | |
8 | 7 | > |
9 | 8 | <div> |
10 | 9 | <a-row> |
11 | - | |
12 | 10 | <div class="noprint container" style="text-align:right; padding: 20px;float: right"> |
13 | 11 | <a-button v-print="'#content'" ghost type="primary" >打印</a-button> |
14 | 12 | </div> |
13 | + | |
15 | 14 | </a-row> |
16 | 15 | <div id="content"> |
17 | - <h2 class="center">送货单</h2> | |
18 | - <span>供应商:XXX</span> | |
16 | + <a-row type="flex"> | |
17 | + <a-col :span="21"> | |
18 | + <h2 class="center">送货单</h2> | |
19 | + <span>采购单号:{{dataSource[0].code}}</span> | |
20 | + <span>供应商:{{dataSource[0].supplier}}</span> | |
21 | + <span>联系人:{{dataSource[0].contact}}</span> | |
22 | + <span>电话:{{dataSource[0].phone}}</span> | |
23 | + </a-col> | |
24 | + <a-col :span="3"> | |
25 | + <vue-qr :text="qrText()" :size="80" :margin="0"></vue-qr> | |
26 | + </a-col> | |
27 | + </a-row> | |
19 | 28 | <a-row> |
20 | 29 | <a-table |
21 | 30 | ref="table" |
... | ... | @@ -26,9 +35,9 @@ |
26 | 35 | :dataSource="dataSource" |
27 | 36 | :loading="loading" |
28 | 37 | :columns="columns"> |
29 | - <span slot="flag" slot-scope="text, record"> | |
30 | - <vue-qr :text="qrText(record)" :size="80" :margin="0"></vue-qr> | |
31 | - </span> | |
38 | + <span slot="barcode" slot-scope="text, record"> | |
39 | + <barcode :value="record.materialCode+';'+record.qty" :height="30" :displayValue="false" width="1"></barcode> | |
40 | + </span> | |
32 | 41 | </a-table> |
33 | 42 | </a-row> |
34 | 43 | </div> |
... | ... | @@ -43,11 +52,13 @@ |
43 | 52 | <script> |
44 | 53 | import { getPurchaseByIds } from '../../../api/api' |
45 | 54 | import VueQr from 'vue-qr' |
55 | +import VueBarcode from 'vue-barcode'; | |
46 | 56 | |
47 | 57 | export default { |
48 | 58 | name: 'PurchaseInPrintModal', |
49 | 59 | components: { |
50 | - VueQr | |
60 | + VueQr, | |
61 | + 'barcode': VueBarcode | |
51 | 62 | }, |
52 | 63 | data() { |
53 | 64 | return { |
... | ... | @@ -55,6 +66,7 @@ export default { |
55 | 66 | visible: false, |
56 | 67 | loading: false, |
57 | 68 | dataSource: [], |
69 | + ids: [], | |
58 | 70 | columns: [ |
59 | 71 | { |
60 | 72 | title: '工作令号', |
... | ... | @@ -82,9 +94,9 @@ export default { |
82 | 94 | dataIndex: 'qty', |
83 | 95 | key: 'qty' |
84 | 96 | }, { |
85 | - title: '二维码', | |
97 | + title: '条码', | |
86 | 98 | dataIndex: 'qr', |
87 | - scopedSlots: { customRender: 'flag' }, | |
99 | + scopedSlots: { customRender: 'barcode' }, | |
88 | 100 | align: 'center', |
89 | 101 | } |
90 | 102 | ] |
... | ... | @@ -95,10 +107,9 @@ export default { |
95 | 107 | this.visible = false |
96 | 108 | }, |
97 | 109 | open(ids) { |
98 | - console.log("打印") | |
99 | 110 | this.loading = true |
100 | 111 | this.visible = true |
101 | - | |
112 | + this.ids = ids | |
102 | 113 | let params = { |
103 | 114 | 'ids': ids |
104 | 115 | } |
... | ... | @@ -106,6 +117,8 @@ export default { |
106 | 117 | if (res.success) { |
107 | 118 | this.dataSource = res.result |
108 | 119 | this.loading = false |
120 | + } else { | |
121 | + this.$message.warning('不是同一供应商!') | |
109 | 122 | } |
110 | 123 | }) |
111 | 124 | }, |
... | ... | @@ -115,14 +128,12 @@ export default { |
115 | 128 | doPrint() { //方法 |
116 | 129 | |
117 | 130 | }, |
118 | - qrText(record) { | |
119 | - return "物料编码:"+record.materialCode+"\r\n物料名称:"+record.materialName+"\r\n规格:" | |
120 | - +record.spec+"\r\n工作令号:"+record.workNo+"\r\n数量:"+record.qty | |
131 | + qrText() { | |
132 | + return "http://localhost:8080/jeecg-boot/material/purchase/qrInfo?ids="+this.ids | |
121 | 133 | } |
122 | 134 | } |
123 | 135 | } |
124 | 136 | </script> |
125 | 137 | |
126 | 138 | <style scoped> |
127 | - | |
128 | 139 | </style> |
129 | 140 | \ No newline at end of file |
... | ... |
src/views/material/supplierPurchase.vue
... | ... | @@ -27,7 +27,7 @@ |
27 | 27 | </div> |
28 | 28 | |
29 | 29 | <div class="table-operator"> |
30 | - <span style="float: left;overflow: hidden;" class="table-page-search-submitButtons"> | |
30 | + <span style="float: left;" class="table-page-search-submitButtons"> | |
31 | 31 | <a-button type="primary" @click="print()" icon="printer">打印</a-button> |
32 | 32 | </span> |
33 | 33 | </div> |
... | ... | @@ -56,7 +56,10 @@ |
56 | 56 | |
57 | 57 | <span slot="tradeTime" slot-scope="time">{{ timeFormat(time) }}</span> |
58 | 58 | </a-table> |
59 | + <purchase-in-print-modal ref="purchaseInPrintModal"></purchase-in-print-modal> | |
60 | + | |
59 | 61 | </a-card> |
62 | + | |
60 | 63 | </template> |
61 | 64 | |
62 | 65 | <script> |
... | ... | @@ -64,10 +67,14 @@ |
64 | 67 | import { JeecgListMixin } from '../../mixins/JeecgListMixin' |
65 | 68 | import { ajaxGetDictItems, getPurchase, mergePurchase } from '../../api/api' |
66 | 69 | import moment from 'moment' |
70 | +import PurchaseInPrintModal from './modules/PurchaseInPrintModal' | |
67 | 71 | |
68 | 72 | export default { |
69 | 73 | name: 'supplierPurchase', |
70 | 74 | mixins: [JeecgListMixin], |
75 | + components: { | |
76 | + PurchaseInPrintModal | |
77 | + }, | |
71 | 78 | data() { |
72 | 79 | return { |
73 | 80 | loading: false, |
... | ... | @@ -220,7 +227,14 @@ export default { |
220 | 227 | }, |
221 | 228 | timeFormat(val) { |
222 | 229 | return moment(val).format('YYYY-MM-DD') |
223 | - } | |
230 | + }, | |
231 | + print() { | |
232 | + if (this.selectedRowKeys.length <= 0) { | |
233 | + this.$message.warning('请选择一条记录!') | |
234 | + return ""; | |
235 | + } | |
236 | + this.$refs.purchaseInPrintModal.open(this.selectedRowKeys) | |
237 | + }, | |
224 | 238 | } |
225 | 239 | } |
226 | 240 | </script> |
... | ... |
src/views/system/BomList.vue
... | ... | @@ -101,8 +101,8 @@ |
101 | 101 | @expandedRowsChange="handleExpandedRowsChange"> |
102 | 102 | |
103 | 103 | <span slot="status" slot-scope="status, record"> |
104 | - <a-tag :key="status" :color="solutionPurchaseColor(status)"> | |
105 | - {{ solutionPurchaseStatus(status) }} | |
104 | + <a-tag :key="status" :color="solutionStatusColor(record)"> | |
105 | + {{ solutionStatus(record) }} | |
106 | 106 | </a-tag> |
107 | 107 | </span> |
108 | 108 | |
... | ... | @@ -237,12 +237,17 @@ export default { |
237 | 237 | projectNameList: [], |
238 | 238 | workNoList: [], |
239 | 239 | projectNoList: [], |
240 | - bomIdList: [] | |
240 | + bomIdList: [], | |
241 | + purchasedStatusList: [], | |
242 | + outsourcingInStatusList: [], | |
243 | + selfMadeStatusList: [] | |
241 | 244 | } |
242 | 245 | }, |
243 | 246 | created() { |
244 | 247 | this.loadFrom() |
245 | 248 | this.getPurchaseStatus() |
249 | + this.getOutsourcingInStatus() | |
250 | + this.getSelfMadeStatusList() | |
246 | 251 | }, |
247 | 252 | methods: { |
248 | 253 | loadFrom() { |
... | ... | @@ -287,6 +292,7 @@ export default { |
287 | 292 | "projectNo": this.queryParam.projectNo, |
288 | 293 | "workNo": this.queryParam.workNo |
289 | 294 | } |
295 | + this.loading = true | |
290 | 296 | getBomId(params).then((res) => { |
291 | 297 | if (res.success) { |
292 | 298 | this.bomIdList = []; |
... | ... | @@ -328,7 +334,7 @@ export default { |
328 | 334 | }, |
329 | 335 | onSelectAll(selected) { |
330 | 336 | if (selected) { |
331 | - const tabData = this.selectedRowKeys; | |
337 | + const tabData = this.dataSource; | |
332 | 338 | const arr = []; |
333 | 339 | setVal(tabData, arr); |
334 | 340 | this.selectedRowKeys = arr; |
... | ... | @@ -462,36 +468,90 @@ export default { |
462 | 468 | }) |
463 | 469 | } |
464 | 470 | }, |
465 | - solutionPurchaseStatus(value) { | |
466 | - var actions = [] | |
467 | - Object.keys(this.purchasedStatusList).some((key) => { | |
468 | - if (this.purchasedStatusList[key].value == ('' + value)) { | |
469 | - actions.push(this.purchasedStatusList[key].text) | |
470 | - return true | |
471 | + solutionStatus(record) { | |
472 | + let actions = [] | |
473 | + if (record.method == "外购") { | |
474 | + Object.keys(this.purchasedStatusList).some((key) => { | |
475 | + if (this.purchasedStatusList[key].value == ('' + record.status)) { | |
476 | + actions.push(this.purchasedStatusList[key].text) | |
477 | + return true | |
478 | + } | |
479 | + }) | |
480 | + return actions.join('') | |
481 | + } else if (record.method == "外协") { | |
482 | + Object.keys(this.outsourcingInStatusList).some((key) => { | |
483 | + if (this.outsourcingInStatusList[key].value == ('' + record.status)) { | |
484 | + actions.push(this.outsourcingInStatusList[key].text) | |
485 | + return true | |
486 | + } | |
487 | + }) | |
488 | + return actions.join('') | |
489 | + } else if (record.method == "自制") { | |
490 | + Object.keys(this.selfMadeStatusList).some((key) => { | |
491 | + if (this.selfMadeStatusList[key].value == ('' + record.status)) { | |
492 | + actions.push(this.selfMadeStatusList[key].text) | |
493 | + return true | |
494 | + } | |
495 | + }) | |
496 | + return actions.join('') | |
497 | + } else { | |
498 | + actions.push("未知") | |
499 | + return actions.join('') | |
500 | + } | |
501 | + }, | |
502 | + solutionStatusColor(record) { | |
503 | + let actions = '' | |
504 | + if (record.method == "外购") { | |
505 | + Object.keys(this.purchasedStatusList).some((key) => { | |
506 | + if (this.purchasedStatusList[key].value == ('' + record.status)) { | |
507 | + actions = this.purchasedStatusList[key].color | |
508 | + } | |
509 | + }) | |
510 | + return actions | |
511 | + } else if (record.method == "外协") { | |
512 | + Object.keys(this.outsourcingInStatusList).some((key) => { | |
513 | + if (this.outsourcingInStatusList[key].value == ('' + record.status)) { | |
514 | + actions = this.outsourcingInStatusList[key].color | |
515 | + } | |
516 | + }) | |
517 | + return actions | |
518 | + } else if (record.method == "自制") { | |
519 | + Object.keys(this.selfMadeStatusList).some((key) => { | |
520 | + if (this.selfMadeStatusList[key].value == ('' + record.status)) { | |
521 | + actions = this.selfMadeStatusList[key].color | |
522 | + } | |
523 | + }) | |
524 | + return actions | |
525 | + } else { | |
526 | + actions = "#f50" | |
527 | + return actions | |
528 | + } | |
529 | + | |
530 | + }, | |
531 | + getPurchaseStatus() { | |
532 | + ajaxGetDictItems('purchased_status').then((res) => { | |
533 | + if (res.success) { | |
534 | + this.purchasedStatusList = res.result | |
471 | 535 | } |
472 | 536 | }) |
473 | - return actions.join('') | |
474 | 537 | }, |
475 | - solutionPurchaseColor(value) { | |
476 | - var actions = '' | |
477 | - Object.keys(this.purchasedStatusList).some((key) => { | |
478 | - if (this.purchasedStatusList[key].value == ('' + value)) { | |
479 | - actions = this.purchasedStatusList[key].color | |
538 | + getOutsourcingInStatus() { | |
539 | + ajaxGetDictItems('outsourcing_status').then((res) => { | |
540 | + if (res.success) { | |
541 | + this.outsourcingInStatusList = res.result | |
480 | 542 | } |
481 | 543 | }) |
482 | - return actions | |
483 | 544 | }, |
484 | - getPurchaseStatus() { | |
485 | - ajaxGetDictItems('purchased_status').then((res) => { | |
545 | + getSelfMadeStatusList() { | |
546 | + ajaxGetDictItems('self_made_status').then((res) => { | |
486 | 547 | if (res.success) { |
487 | - this.purchasedStatusList = res.result | |
548 | + this.selfMadeStatusList = res.result | |
488 | 549 | } |
489 | 550 | }) |
490 | 551 | }, |
491 | 552 | confirmHandle(confirm) { |
492 | 553 | return confirm ? '是' : '否' |
493 | 554 | } |
494 | - | |
495 | 555 | }, |
496 | 556 | computed: { |
497 | 557 | importExcelUrl: function(){ |
... | ... |