add 文件上传组件
This commit is contained in:
Generated
+263
-16
@@ -25,6 +25,28 @@
|
||||
"@jridgewell/trace-mapping": "^0.3.9"
|
||||
}
|
||||
},
|
||||
"@ant-design/colors": {
|
||||
"version": "3.2.2",
|
||||
"resolved": "https://registry.npmjs.org/@ant-design/colors/-/colors-3.2.2.tgz",
|
||||
"integrity": "sha512-YKgNbG2dlzqMhA9NtI3/pbY16m3Yl/EeWBRa+lB1X1YaYxHrxNexiQYCLTWO/uDvAjLFMEDU+zR901waBtMtjQ==",
|
||||
"requires": {
|
||||
"tinycolor2": "^1.4.1"
|
||||
}
|
||||
},
|
||||
"@ant-design/icons": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/@ant-design/icons/-/icons-2.1.1.tgz",
|
||||
"integrity": "sha512-jCH+k2Vjlno4YWl6g535nHR09PwCEmTBKAG6VqF+rhkrSPRLfgpU2maagwbZPLjaHuU5Jd1DFQ2KJpQuI6uG8w=="
|
||||
},
|
||||
"@ant-design/icons-vue": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@ant-design/icons-vue/-/icons-vue-2.0.0.tgz",
|
||||
"integrity": "sha512-2c0QQE5hL4N48k5NkPG5sdpMl9YnvyNhf0U7YkdZYDlLnspoRU7vIA0UK9eHBs6OpFLcJB6o8eJrIl2ajBskPg==",
|
||||
"requires": {
|
||||
"@ant-design/colors": "^3.1.0",
|
||||
"babel-runtime": "^6.26.0"
|
||||
}
|
||||
},
|
||||
"@babel/code-frame": {
|
||||
"version": "7.22.13",
|
||||
"resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.22.13.tgz",
|
||||
@@ -1432,6 +1454,15 @@
|
||||
"integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==",
|
||||
"dev": true
|
||||
},
|
||||
"@simonwep/pickr": {
|
||||
"version": "1.7.4",
|
||||
"resolved": "https://registry.npmjs.org/@simonwep/pickr/-/pickr-1.7.4.tgz",
|
||||
"integrity": "sha512-fq7jgKJT21uWGC1mARBHvvd1JYlEf93o7SuVOB4Lr0x/2UPuNC9Oe9n/GzVeg4oVtqMDfh1wIEJpsdOJEZb+3g==",
|
||||
"requires": {
|
||||
"core-js": "^3.6.5",
|
||||
"nanopop": "^2.1.0"
|
||||
}
|
||||
},
|
||||
"@soda/friendly-errors-webpack-plugin": {
|
||||
"version": "1.8.1",
|
||||
"resolved": "https://registry.npmmirror.com/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.8.1.tgz",
|
||||
@@ -3337,6 +3368,14 @@
|
||||
"integrity": "sha512-FS7hV565M5l1R08MXqo8odwMTB02C2UqzB17RVgu9EyuYFBqJZ3/ZY97sQD5FewVu1UyDFc1yztUDrAwT0EypA==",
|
||||
"dev": true
|
||||
},
|
||||
"add-dom-event-listener": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/add-dom-event-listener/-/add-dom-event-listener-1.1.0.tgz",
|
||||
"integrity": "sha512-WCxx1ixHT0GQU9hb0KI/mhgRQhnU+U3GvwY6ZvVjYq8rsihIGoaIOUbY0yMPBxLH5MDtr0kz3fisWGNcbWW7Jw==",
|
||||
"requires": {
|
||||
"object-assign": "4.x"
|
||||
}
|
||||
},
|
||||
"address": {
|
||||
"version": "1.2.2",
|
||||
"resolved": "https://registry.npmmirror.com/address/-/address-1.2.2.tgz",
|
||||
@@ -3423,6 +3462,43 @@
|
||||
"color-convert": "^1.9.0"
|
||||
}
|
||||
},
|
||||
"ant-design-vue": {
|
||||
"version": "1.7.2",
|
||||
"resolved": "https://registry.npmjs.org/ant-design-vue/-/ant-design-vue-1.7.2.tgz",
|
||||
"integrity": "sha512-iVskTSG62OSiptyGQkvyhoeLlLMiqKtAOTcWZ7MmsMrj38h0TCpGtqSYS4/fwq4yYgyzloYSteBo8U8TrV99RA==",
|
||||
"requires": {
|
||||
"@ant-design/icons": "^2.1.1",
|
||||
"@ant-design/icons-vue": "^2.0.0",
|
||||
"@simonwep/pickr": "~1.7.0",
|
||||
"add-dom-event-listener": "^1.0.2",
|
||||
"array-tree-filter": "^2.1.0",
|
||||
"async-validator": "^3.0.3",
|
||||
"babel-helper-vue-jsx-merge-props": "^2.0.3",
|
||||
"babel-runtime": "6.x",
|
||||
"classnames": "^2.2.5",
|
||||
"component-classes": "^1.2.6",
|
||||
"dom-align": "^1.10.4",
|
||||
"dom-closest": "^0.2.0",
|
||||
"dom-scroll-into-view": "^2.0.0",
|
||||
"enquire.js": "^2.1.6",
|
||||
"intersperse": "^1.0.0",
|
||||
"is-mobile": "^2.2.1",
|
||||
"is-negative-zero": "^2.0.0",
|
||||
"ismobilejs": "^1.0.0",
|
||||
"json2mq": "^0.2.0",
|
||||
"lodash": "^4.17.5",
|
||||
"moment": "^2.21.0",
|
||||
"mutationobserver-shim": "^0.3.2",
|
||||
"node-emoji": "^1.10.0",
|
||||
"omit.js": "^1.0.0",
|
||||
"raf": "^3.4.0",
|
||||
"resize-observer-polyfill": "^1.5.1",
|
||||
"shallow-equal": "^1.0.0",
|
||||
"shallowequal": "^1.0.2",
|
||||
"vue-ref": "^2.0.0",
|
||||
"warning": "^4.0.0"
|
||||
}
|
||||
},
|
||||
"any-promise": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmmirror.com/any-promise/-/any-promise-1.3.0.tgz",
|
||||
@@ -3507,6 +3583,11 @@
|
||||
"is-string": "^1.0.7"
|
||||
}
|
||||
},
|
||||
"array-tree-filter": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/array-tree-filter/-/array-tree-filter-2.1.0.tgz",
|
||||
"integrity": "sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw=="
|
||||
},
|
||||
"array-union": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmmirror.com/array-union/-/array-union-2.1.0.tgz",
|
||||
@@ -3649,6 +3730,11 @@
|
||||
"dev": true,
|
||||
"optional": true
|
||||
},
|
||||
"async-validator": {
|
||||
"version": "3.5.2",
|
||||
"resolved": "https://registry.npmjs.org/async-validator/-/async-validator-3.5.2.tgz",
|
||||
"integrity": "sha512-8eLCg00W9pIRZSB781UUX/H6Oskmm8xloZfr09lz5bikRpBVDlJ3hRVuxxP1SxcwsEYfJ4IU8Q19Y8/893r3rQ=="
|
||||
},
|
||||
"asynckit": {
|
||||
"version": "0.4.0",
|
||||
"resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz",
|
||||
@@ -3778,6 +3864,11 @@
|
||||
"babylon": "^6.17.0"
|
||||
}
|
||||
},
|
||||
"babel-helper-vue-jsx-merge-props": {
|
||||
"version": "2.0.3",
|
||||
"resolved": "https://registry.npmjs.org/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-2.0.3.tgz",
|
||||
"integrity": "sha512-gsLiKK7Qrb7zYJNgiXKpXblxbV5ffSwR0f5whkPAaBAR4fhi6bwRZxX9wBlIc5M/v8CCkXUbXZL4N/nSE97cqg=="
|
||||
},
|
||||
"babel-loader": {
|
||||
"version": "8.3.0",
|
||||
"resolved": "https://registry.npmmirror.com/babel-loader/-/babel-loader-8.3.0.tgz",
|
||||
@@ -3842,7 +3933,6 @@
|
||||
"version": "6.26.0",
|
||||
"resolved": "https://registry.npmmirror.com/babel-runtime/-/babel-runtime-6.26.0.tgz",
|
||||
"integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"core-js": "^2.4.0",
|
||||
"regenerator-runtime": "^0.11.0"
|
||||
@@ -3851,14 +3941,12 @@
|
||||
"core-js": {
|
||||
"version": "2.6.12",
|
||||
"resolved": "https://registry.npmmirror.com/core-js/-/core-js-2.6.12.tgz",
|
||||
"integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==",
|
||||
"dev": true
|
||||
"integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ=="
|
||||
},
|
||||
"regenerator-runtime": {
|
||||
"version": "0.11.1",
|
||||
"resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz",
|
||||
"integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==",
|
||||
"dev": true
|
||||
"integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg=="
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -4455,6 +4543,11 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"classnames": {
|
||||
"version": "2.3.2",
|
||||
"resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz",
|
||||
"integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw=="
|
||||
},
|
||||
"clean-css": {
|
||||
"version": "5.3.2",
|
||||
"resolved": "https://registry.npmmirror.com/clean-css/-/clean-css-5.3.2.tgz",
|
||||
@@ -4658,12 +4751,25 @@
|
||||
"integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==",
|
||||
"dev": true
|
||||
},
|
||||
"component-classes": {
|
||||
"version": "1.2.6",
|
||||
"resolved": "https://registry.npmjs.org/component-classes/-/component-classes-1.2.6.tgz",
|
||||
"integrity": "sha512-hPFGULxdwugu1QWW3SvVOCUHLzO34+a2J6Wqy0c5ASQkfi9/8nZcBB0ZohaEbXOQlCflMAEMmEWk7u7BVs4koA==",
|
||||
"requires": {
|
||||
"component-indexof": "0.0.3"
|
||||
}
|
||||
},
|
||||
"component-emitter": {
|
||||
"version": "1.3.0",
|
||||
"resolved": "https://registry.npmmirror.com/component-emitter/-/component-emitter-1.3.0.tgz",
|
||||
"integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==",
|
||||
"dev": true
|
||||
},
|
||||
"component-indexof": {
|
||||
"version": "0.0.3",
|
||||
"resolved": "https://registry.npmjs.org/component-indexof/-/component-indexof-0.0.3.tgz",
|
||||
"integrity": "sha512-puDQKvx/64HZXb4hBwIcvQLaLgux8o1CbWl39s41hrIIZDl1lJiD5jc22gj3RBeGK0ovxALDYpIbyjqDUUl0rw=="
|
||||
},
|
||||
"compressible": {
|
||||
"version": "2.0.18",
|
||||
"resolved": "https://registry.npmmirror.com/compressible/-/compressible-2.0.18.tgz",
|
||||
@@ -5557,6 +5663,19 @@
|
||||
"esutils": "^2.0.2"
|
||||
}
|
||||
},
|
||||
"dom-align": {
|
||||
"version": "1.12.4",
|
||||
"resolved": "https://registry.npmjs.org/dom-align/-/dom-align-1.12.4.tgz",
|
||||
"integrity": "sha512-R8LUSEay/68zE5c8/3BDxiTEvgb4xZTF0RKmAHfiEVN3klfIpXfi2/QCoiWPccVQ0J/ZGdz9OjzL4uJEP/MRAw=="
|
||||
},
|
||||
"dom-closest": {
|
||||
"version": "0.2.0",
|
||||
"resolved": "https://registry.npmjs.org/dom-closest/-/dom-closest-0.2.0.tgz",
|
||||
"integrity": "sha512-6neTn1BtJlTSt+XSISXpnOsF1uni1CHsP/tmzZMGWxasYFHsBOqrHPnzmneqEgKhpagnfnfSfbvRRW0xFsBHAA==",
|
||||
"requires": {
|
||||
"dom-matches": ">=1.0.1"
|
||||
}
|
||||
},
|
||||
"dom-converter": {
|
||||
"version": "0.2.0",
|
||||
"resolved": "https://registry.npmmirror.com/dom-converter/-/dom-converter-0.2.0.tgz",
|
||||
@@ -5566,6 +5685,16 @@
|
||||
"utila": "~0.4"
|
||||
}
|
||||
},
|
||||
"dom-matches": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/dom-matches/-/dom-matches-2.0.0.tgz",
|
||||
"integrity": "sha512-2VI856xEDCLXi19W+4BechR5/oIS6bKCKqcf16GR8Pg7dGLJ/eBOWVbCmQx2ISvYH6wTNx5Ef7JTOw1dRGRx6A=="
|
||||
},
|
||||
"dom-scroll-into-view": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/dom-scroll-into-view/-/dom-scroll-into-view-2.0.1.tgz",
|
||||
"integrity": "sha512-bvVTQe1lfaUr1oFzZX80ce9KLDlZ3iU+XGNE/bz9HnGdklTieqsbmsLHe+rT2XWqopvL0PckkYqN7ksmm5pe3w=="
|
||||
},
|
||||
"dom-serializer": {
|
||||
"version": "1.4.1",
|
||||
"resolved": "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-1.4.1.tgz",
|
||||
@@ -5769,6 +5898,11 @@
|
||||
"tapable": "^2.2.0"
|
||||
}
|
||||
},
|
||||
"enquire.js": {
|
||||
"version": "2.1.6",
|
||||
"resolved": "https://registry.npmjs.org/enquire.js/-/enquire.js-2.1.6.tgz",
|
||||
"integrity": "sha512-/KujNpO+PT63F7Hlpu4h3pE3TokKRHN26JYmQpPyjkRD/N57R7bPDNojMXdi7uveAKjYB7yQnartCxZnFWr0Xw=="
|
||||
},
|
||||
"entities": {
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmmirror.com/entities/-/entities-2.2.0.tgz",
|
||||
@@ -7916,6 +8050,11 @@
|
||||
"side-channel": "^1.0.4"
|
||||
}
|
||||
},
|
||||
"intersperse": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/intersperse/-/intersperse-1.0.0.tgz",
|
||||
"integrity": "sha512-LGcfug7OTeWkaQ8PEq8XbTy9Jl6uCNg8DrPnQUmwxSY8UETj1Y+LLmpdD0qHdEj6KVchuH3BE3ZzIXQ1t3oFUw=="
|
||||
},
|
||||
"invariant": {
|
||||
"version": "2.2.4",
|
||||
"resolved": "https://registry.npmmirror.com/invariant/-/invariant-2.2.4.tgz",
|
||||
@@ -8090,11 +8229,15 @@
|
||||
"integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==",
|
||||
"dev": true
|
||||
},
|
||||
"is-mobile": {
|
||||
"version": "2.2.2",
|
||||
"resolved": "https://registry.npmjs.org/is-mobile/-/is-mobile-2.2.2.tgz",
|
||||
"integrity": "sha512-wW/SXnYJkTjs++tVK5b6kVITZpAZPtUrt9SF80vvxGiF/Oywal+COk1jlRkiVq15RFNEQKQY31TkV24/1T5cVg=="
|
||||
},
|
||||
"is-negative-zero": {
|
||||
"version": "2.0.2",
|
||||
"resolved": "https://registry.npmmirror.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz",
|
||||
"integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==",
|
||||
"dev": true
|
||||
"integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA=="
|
||||
},
|
||||
"is-number": {
|
||||
"version": "7.0.0",
|
||||
@@ -8223,6 +8366,11 @@
|
||||
"integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
|
||||
"dev": true
|
||||
},
|
||||
"ismobilejs": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/ismobilejs/-/ismobilejs-1.1.1.tgz",
|
||||
"integrity": "sha512-VaFW53yt8QO61k2WJui0dHf4SlL8lxBofUuUmwBo0ljPk0Drz2TiuDW4jo3wDcv41qy/SxrJ+VAzJ/qYqsmzRw=="
|
||||
},
|
||||
"isobject": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmmirror.com/isobject/-/isobject-3.0.1.tgz",
|
||||
@@ -8296,8 +8444,7 @@
|
||||
"js-tokens": {
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz",
|
||||
"integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
|
||||
"dev": true
|
||||
"integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
|
||||
},
|
||||
"js-yaml": {
|
||||
"version": "3.14.1",
|
||||
@@ -8362,6 +8509,14 @@
|
||||
"integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==",
|
||||
"dev": true
|
||||
},
|
||||
"json2mq": {
|
||||
"version": "0.2.0",
|
||||
"resolved": "https://registry.npmjs.org/json2mq/-/json2mq-0.2.0.tgz",
|
||||
"integrity": "sha512-SzoRg7ux5DWTII9J2qkrZrqV1gt+rTaoufMxEzXbS26Uid0NwaJd123HcoB80TgubEppxxIGdNxCx50fEoEWQA==",
|
||||
"requires": {
|
||||
"string-convert": "^0.2.0"
|
||||
}
|
||||
},
|
||||
"json5": {
|
||||
"version": "2.2.3",
|
||||
"resolved": "https://registry.npmmirror.com/json5/-/json5-2.2.3.tgz",
|
||||
@@ -8616,8 +8771,7 @@
|
||||
"lodash": {
|
||||
"version": "4.17.21",
|
||||
"resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz",
|
||||
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
|
||||
"dev": true
|
||||
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
|
||||
},
|
||||
"lodash.debounce": {
|
||||
"version": "4.0.8",
|
||||
@@ -8838,7 +8992,6 @@
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmmirror.com/loose-envify/-/loose-envify-1.4.0.tgz",
|
||||
"integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"js-tokens": "^3.0.0 || ^4.0.0"
|
||||
}
|
||||
@@ -9214,6 +9367,11 @@
|
||||
"integrity": "sha512-23g5BFj4zdQL/b6tor7Ji+QY4pEfNH784BMslY9Qb0UnJWRAt+lQGLYmRaM0KDBwIG23ffEBELhZDP2rhi9f/Q==",
|
||||
"dev": true
|
||||
},
|
||||
"moment": {
|
||||
"version": "2.29.4",
|
||||
"resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz",
|
||||
"integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w=="
|
||||
},
|
||||
"move-concurrently": {
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmmirror.com/move-concurrently/-/move-concurrently-1.0.1.tgz",
|
||||
@@ -9261,6 +9419,11 @@
|
||||
"thunky": "^1.0.2"
|
||||
}
|
||||
},
|
||||
"mutationobserver-shim": {
|
||||
"version": "0.3.7",
|
||||
"resolved": "https://registry.npmjs.org/mutationobserver-shim/-/mutationobserver-shim-0.3.7.tgz",
|
||||
"integrity": "sha512-oRIDTyZQU96nAiz2AQyngwx1e89iApl2hN5AOYwyxLUB47UYsU3Wv9lJWqH5y/QdiYkc5HQLi23ZNB3fELdHcQ=="
|
||||
},
|
||||
"mute-stream": {
|
||||
"version": "0.0.7",
|
||||
"resolved": "https://registry.npmmirror.com/mute-stream/-/mute-stream-0.0.7.tgz",
|
||||
@@ -9302,6 +9465,11 @@
|
||||
"to-regex": "^3.0.1"
|
||||
}
|
||||
},
|
||||
"nanopop": {
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/nanopop/-/nanopop-2.3.0.tgz",
|
||||
"integrity": "sha512-fzN+T2K7/Ah25XU02MJkPZ5q4Tj5FpjmIYq4rvoHX4yb16HzFdCO6JxFFn5Y/oBhQ8no8fUZavnyIv9/+xkBBw=="
|
||||
},
|
||||
"natural-compare": {
|
||||
"version": "1.4.0",
|
||||
"resolved": "https://registry.npmmirror.com/natural-compare/-/natural-compare-1.4.0.tgz",
|
||||
@@ -9336,6 +9504,14 @@
|
||||
"tslib": "^2.0.3"
|
||||
}
|
||||
},
|
||||
"node-emoji": {
|
||||
"version": "1.11.0",
|
||||
"resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.11.0.tgz",
|
||||
"integrity": "sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==",
|
||||
"requires": {
|
||||
"lodash": "^4.17.21"
|
||||
}
|
||||
},
|
||||
"node-fetch": {
|
||||
"version": "2.7.0",
|
||||
"resolved": "https://registry.npmmirror.com/node-fetch/-/node-fetch-2.7.0.tgz",
|
||||
@@ -9504,8 +9680,7 @@
|
||||
"object-assign": {
|
||||
"version": "4.1.1",
|
||||
"resolved": "https://registry.npmmirror.com/object-assign/-/object-assign-4.1.1.tgz",
|
||||
"integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
|
||||
"dev": true
|
||||
"integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="
|
||||
},
|
||||
"object-copy": {
|
||||
"version": "0.1.0",
|
||||
@@ -9603,6 +9778,14 @@
|
||||
"integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==",
|
||||
"dev": true
|
||||
},
|
||||
"omit.js": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/omit.js/-/omit.js-1.0.2.tgz",
|
||||
"integrity": "sha512-/QPc6G2NS+8d4L/cQhbk6Yit1WTB6Us2g84A7A/1+w9d/eRGHyEqC5kkQtHVoHZ5NFWGG7tUGgrhVZwgZanKrQ==",
|
||||
"requires": {
|
||||
"babel-runtime": "^6.23.0"
|
||||
}
|
||||
},
|
||||
"on-finished": {
|
||||
"version": "2.4.1",
|
||||
"resolved": "https://registry.npmmirror.com/on-finished/-/on-finished-2.4.1.tgz",
|
||||
@@ -9989,8 +10172,7 @@
|
||||
"performance-now": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmmirror.com/performance-now/-/performance-now-2.1.0.tgz",
|
||||
"integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==",
|
||||
"dev": true
|
||||
"integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow=="
|
||||
},
|
||||
"picocolors": {
|
||||
"version": "1.0.0",
|
||||
@@ -10591,6 +10773,14 @@
|
||||
"integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
|
||||
"dev": true
|
||||
},
|
||||
"raf": {
|
||||
"version": "3.4.1",
|
||||
"resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz",
|
||||
"integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==",
|
||||
"requires": {
|
||||
"performance-now": "^2.1.0"
|
||||
}
|
||||
},
|
||||
"randombytes": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmmirror.com/randombytes/-/randombytes-2.1.0.tgz",
|
||||
@@ -10872,6 +11062,11 @@
|
||||
"integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==",
|
||||
"dev": true
|
||||
},
|
||||
"resize-observer-polyfill": {
|
||||
"version": "1.5.1",
|
||||
"resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz",
|
||||
"integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg=="
|
||||
},
|
||||
"resolve": {
|
||||
"version": "1.22.8",
|
||||
"resolved": "https://registry.npmmirror.com/resolve/-/resolve-1.22.8.tgz",
|
||||
@@ -11289,6 +11484,16 @@
|
||||
"kind-of": "^6.0.2"
|
||||
}
|
||||
},
|
||||
"shallow-equal": {
|
||||
"version": "1.2.1",
|
||||
"resolved": "https://registry.npmjs.org/shallow-equal/-/shallow-equal-1.2.1.tgz",
|
||||
"integrity": "sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA=="
|
||||
},
|
||||
"shallowequal": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz",
|
||||
"integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ=="
|
||||
},
|
||||
"shebang-command": {
|
||||
"version": "1.2.0",
|
||||
"resolved": "https://registry.npmmirror.com/shebang-command/-/shebang-command-1.2.0.tgz",
|
||||
@@ -11770,6 +11975,11 @@
|
||||
"integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==",
|
||||
"dev": true
|
||||
},
|
||||
"string-convert": {
|
||||
"version": "0.2.1",
|
||||
"resolved": "https://registry.npmjs.org/string-convert/-/string-convert-0.2.1.tgz",
|
||||
"integrity": "sha512-u/1tdPl4yQnPBjnVrmdLo9gtuLvELKsAoRapekWggdiQNvvvum+jYF329d84NAa660KQw7pB2n36KrIKVoXa3A=="
|
||||
},
|
||||
"string-width": {
|
||||
"version": "4.2.3",
|
||||
"resolved": "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz",
|
||||
@@ -12062,6 +12272,11 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"throttle-debounce": {
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-2.3.0.tgz",
|
||||
"integrity": "sha512-H7oLPV0P7+jgvrk+6mwwwBDmxTaxnu9HMXmloNLXwnNO0ZxZ31Orah2n8lU1eMPvsaowP2CX+USCgyovXfdOFQ=="
|
||||
},
|
||||
"through": {
|
||||
"version": "2.3.8",
|
||||
"resolved": "https://registry.npmmirror.com/through/-/through-2.3.8.tgz",
|
||||
@@ -12125,6 +12340,11 @@
|
||||
"setimmediate": "^1.0.4"
|
||||
}
|
||||
},
|
||||
"tinycolor2": {
|
||||
"version": "1.6.0",
|
||||
"resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.6.0.tgz",
|
||||
"integrity": "sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw=="
|
||||
},
|
||||
"tmp": {
|
||||
"version": "0.0.33",
|
||||
"resolved": "https://registry.npmmirror.com/tmp/-/tmp-0.0.33.tgz",
|
||||
@@ -12554,6 +12774,15 @@
|
||||
"integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
|
||||
"dev": true
|
||||
},
|
||||
"v-viewer": {
|
||||
"version": "1.6.4",
|
||||
"resolved": "https://registry.npmjs.org/v-viewer/-/v-viewer-1.6.4.tgz",
|
||||
"integrity": "sha512-LVkiUHpmsbsZXebeNXnu8krRCi5i2n07FeLFxoIVGhw8lVvTBO0ffpbDC6mLEuacCjrIh09HjIqpciwUtWE8lQ==",
|
||||
"requires": {
|
||||
"throttle-debounce": "^2.0.1",
|
||||
"viewerjs": "^1.5.0"
|
||||
}
|
||||
},
|
||||
"v8-compile-cache": {
|
||||
"version": "2.4.0",
|
||||
"resolved": "https://registry.npmmirror.com/v8-compile-cache/-/v8-compile-cache-2.4.0.tgz",
|
||||
@@ -12607,6 +12836,11 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"viewerjs": {
|
||||
"version": "1.11.6",
|
||||
"resolved": "https://registry.npmjs.org/viewerjs/-/viewerjs-1.11.6.tgz",
|
||||
"integrity": "sha512-TlhdSp2oEOLFXvEp4psKaeTjR5zBjTRcM/sHUN8PkV1UWuY8HKC8n7GaVdW5Xqnwdr/F1OmzLik1QwDjI4w/nw=="
|
||||
},
|
||||
"vm-browserify": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmmirror.com/vm-browserify/-/vm-browserify-1.1.2.tgz",
|
||||
@@ -12728,6 +12962,11 @@
|
||||
"resolved": "https://registry.npmmirror.com/vue-ls/-/vue-ls-3.2.0.tgz",
|
||||
"integrity": "sha512-39FGQMrT9NbG5WGDJfxWj19ZD1tsVoBBN1n8qvq6/+uRB9BansQ9NSyclQ9TzZatRkkM/VEQo5oTsijdM5hGFw=="
|
||||
},
|
||||
"vue-ref": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/vue-ref/-/vue-ref-2.0.0.tgz",
|
||||
"integrity": "sha512-uKNKpFOVeWNqS2mrBZqnpLyXJo5Q+vnkex6JvpENvhXHFNBW/SJTP8vJywLuVT3DpxwXcF9N0dyIiZ4/NpTexQ=="
|
||||
},
|
||||
"vue-router": {
|
||||
"version": "3.6.5",
|
||||
"resolved": "https://registry.npmmirror.com/vue-router/-/vue-router-3.6.5.tgz",
|
||||
@@ -12792,6 +13031,14 @@
|
||||
"resolved": "https://registry.npmmirror.com/vuex/-/vuex-3.6.2.tgz",
|
||||
"integrity": "sha512-ETW44IqCgBpVomy520DT5jf8n0zoCac+sxWnn+hMe/CzaSejb/eVw2YToiXYX+Ex/AuHHia28vWTq4goAexFbw=="
|
||||
},
|
||||
"warning": {
|
||||
"version": "4.0.3",
|
||||
"resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz",
|
||||
"integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==",
|
||||
"requires": {
|
||||
"loose-envify": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"watchpack": {
|
||||
"version": "2.4.0",
|
||||
"resolved": "https://registry.npmmirror.com/watchpack/-/watchpack-2.4.0.tgz",
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
"js-base64": "^3.6.0",
|
||||
"jsencrypt": "^3.0.0-rc.1",
|
||||
"md5": "^2.2.1",
|
||||
"v-viewer": "^1.6.4",
|
||||
"vant": "^2.13.2",
|
||||
"vue": "^2.6.14",
|
||||
"vue-i18n": "^8.7.0",
|
||||
|
||||
@@ -25,6 +25,8 @@ const checkRuleByCode = (params) => getAction('/sys/checkRule/checkByCode', para
|
||||
|
||||
// 通过文件的id获取文件的相应信息
|
||||
const getFileInfo = (params) => getAction('/sys/oss/file/queryById', params)
|
||||
// 文件上传
|
||||
const uploadFile = (params) => postAction('/sys/common/upload', params)
|
||||
|
||||
// 获取部门列表数据
|
||||
const getDepartmentList = (params) => getAction('/sys/sysDepart/queryTreeList', params)
|
||||
@@ -79,6 +81,7 @@ export {
|
||||
duplicateCheck,
|
||||
checkRuleByCode,
|
||||
getFileInfo,
|
||||
uploadFile,
|
||||
getDepartmentList,
|
||||
getSSOUserInfo,
|
||||
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
.operation-common-btn {
|
||||
width: 2.19rem;
|
||||
margin-right: 0.2rem;
|
||||
|
||||
.van-button__icon {
|
||||
line-height: 100%;
|
||||
margin-right: 0.12rem;
|
||||
@@ -41,6 +42,15 @@
|
||||
border-color: @primary-color;
|
||||
}
|
||||
|
||||
/*朴素按钮样式调整*/
|
||||
/deep/ .van-button--plain.van-button--primary {
|
||||
color: @primary-color;
|
||||
}
|
||||
|
||||
.van-button--plain {
|
||||
background-color: #FFFFFF;
|
||||
}
|
||||
|
||||
/*表单card*/
|
||||
.process-part {
|
||||
background-color: #FFFFFF;
|
||||
@@ -72,9 +82,11 @@
|
||||
|
||||
/deep/ .vertical-form-item {
|
||||
flex-direction: column;
|
||||
|
||||
.van-field__label {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.van-field__value {
|
||||
margin-top: 0.24rem;
|
||||
border-radius: 0.04rem;
|
||||
@@ -99,11 +111,13 @@
|
||||
/deep/ .ant-table {
|
||||
padding: 0.2rem 0.32rem;
|
||||
color: @font-color;
|
||||
|
||||
th {
|
||||
font-size: 0.26rem;
|
||||
font-weight: 600;
|
||||
padding: 0.44rem 0;
|
||||
}
|
||||
|
||||
td {
|
||||
font-size: 0.24rem;
|
||||
font-weight: 400;
|
||||
|
||||
@@ -35,6 +35,8 @@ module.exports = {
|
||||
standardName: '标准名称',
|
||||
serialNumber: '序号',
|
||||
pleaseEnterRemarks: '请填写备注',
|
||||
dispatchInformation: '业务分派信息',
|
||||
clickToUpload: '点击上传',
|
||||
// 标准法规入库/变更流程
|
||||
standardEntryOrChange: {
|
||||
source: '来源',
|
||||
@@ -110,6 +112,22 @@ module.exports = {
|
||||
standardConsultation: {
|
||||
standardText: '标准文本',
|
||||
relevantDocument: '相关文件',
|
||||
closingDateForComments: '征求意见结束日期'
|
||||
closingDateForComments: '征求意见结束日期',
|
||||
senderType: '下发人员类型',
|
||||
moduleOwner: '模块负责人',
|
||||
designEngineer: '设计工程师'
|
||||
},
|
||||
uploadFile: {
|
||||
clickUpload: '点击上传',
|
||||
viewUploadedFiles: '查看已上传文件',
|
||||
clickOrDragUpload: '将文件拖到此处或点击上传',
|
||||
uploadFailed: '上传失败',
|
||||
cannotPreview: '该文件类型不支持预览',
|
||||
cannotUploadEmpty: '不能上传空文件',
|
||||
maxSize: '文件大小限制为500M',
|
||||
onlyUploadPic: '请上传图片',
|
||||
pleaseUpload: '请上传',
|
||||
theFollowingDocuments: 'M以下文件',
|
||||
file: '文件'
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,12 @@
|
||||
<template v-if="fileList && fileList.length > 0">
|
||||
<div v-for="file in fileList" :key="file.id" class="file-name" @click="handlePreview(file)">{{ file.fileName }}</div>
|
||||
</template>
|
||||
|
||||
<div id="images">
|
||||
<div class="image" v-viewer="{movable: false}">
|
||||
<img v-show="image" :src="imageUrl" alt="">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -32,7 +38,9 @@ export default {
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
fileList: []
|
||||
fileList: [],
|
||||
image: false,
|
||||
imageUrl: null
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<van-field
|
||||
v-model="selectedDataNames"
|
||||
:label="label"
|
||||
:placeholder="$t('clickSelect') + label"
|
||||
:placeholder="$t('pleaseSelect') + label"
|
||||
readonly
|
||||
rows="1"
|
||||
autosize
|
||||
|
||||
@@ -0,0 +1,260 @@
|
||||
<template>
|
||||
<div class="upload-comp">
|
||||
<div class="upload-box">
|
||||
<input type="file" class="upload-box-input" @change="handleUpload" />
|
||||
<van-button type="primary" plain>
|
||||
<template #icon>
|
||||
<van-icon class="iconfont" class-prefix="icon" name="shangchuan" />
|
||||
</template>
|
||||
{{ $t('clickToUpload') }}
|
||||
</van-button>
|
||||
</div>
|
||||
<!--文件列表-->
|
||||
<div class="file-list" v-if="fileList && fileList.length > 0">
|
||||
<div class="file-item" v-for="file in fileList" :key="file.id">
|
||||
<div class="file-item-name" @click="handlePreview(file)">{{ file.fileName }}</div>
|
||||
<van-icon name="delete-o" @click="handleDelete(file)" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="images">
|
||||
<div class="image" v-viewer="{movable: false}">
|
||||
<img v-show="image" :src="imageUrl" alt="">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getFileInfo, uploadFile } from '../api/api'
|
||||
import { previewPdf } from '../utils/previewPdf'
|
||||
import Vue from 'vue'
|
||||
import { ACCESS_TOKEN } from '../store/mutation-types'
|
||||
import { getFileAccessHttpUrl } from '../api/manage'
|
||||
|
||||
const FILE_TYPE_ALL = 'all'
|
||||
const FILE_TYPE_IMG = 'image'
|
||||
const FILE_TYPE_IMGS = ['jpg', 'jpeg', 'png', 'raw']
|
||||
const FILE_TYPE_PDF = 'pdf'
|
||||
// 本系统限制可以上传的文件格式
|
||||
const CAN_UPLOAD_FILE_TYPE = 'pdf,docx,doc,xlsx,xls,ppt,pptx,rar,zip,jpg,jpeg,png,avi,wmv,mov,rm,mp4,cad'
|
||||
// 支持预览的文件后缀
|
||||
const CAN_PREVIEW_FILE_SUFFIX = ['jpg', 'jpeg', 'png', 'pdf', 'doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx']
|
||||
|
||||
const Base64 = require('js-base64').Base64
|
||||
|
||||
export default {
|
||||
name: 'ZUpload',
|
||||
props: {
|
||||
value: {
|
||||
type: String,
|
||||
required: false,
|
||||
default: null
|
||||
},
|
||||
// 文件最大大小,默认500MB
|
||||
fileMaxSize: {
|
||||
type: Number,
|
||||
required: false,
|
||||
default: 500
|
||||
},
|
||||
// 可以上传文件的类型
|
||||
fileType: {
|
||||
type: String,
|
||||
required: false,
|
||||
default: CAN_UPLOAD_FILE_TYPE
|
||||
}
|
||||
},
|
||||
data () {
|
||||
return {
|
||||
fileList: [],
|
||||
image: false,
|
||||
imageUrl: null
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
value: {
|
||||
handler () {
|
||||
this.fileList = []
|
||||
if (this.value) {
|
||||
this.getFileList()
|
||||
}
|
||||
},
|
||||
immediate: true
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
handleUpload (event) {
|
||||
const e = window.event || event
|
||||
const file = e.target.files[0]
|
||||
/* 进行相关校验 */
|
||||
const checkResult = this.beforeUpload(file)
|
||||
if (!checkResult) {
|
||||
return
|
||||
}
|
||||
const formData = new FormData()
|
||||
formData.append('file', file)
|
||||
formData.append('biz', 'temp')
|
||||
uploadFile(formData).then(res => {
|
||||
if (res.success) {
|
||||
this.fileList.push(res.result)
|
||||
this.$emit('change', this.fileList.map(item => item.id).join(','))
|
||||
} else {
|
||||
this.$message(res.message)
|
||||
}
|
||||
})
|
||||
},
|
||||
beforeUpload (file) {
|
||||
// 校验大小
|
||||
const fileSize = file.size
|
||||
if (fileSize === 0) {
|
||||
this.$message(this.$t('uploadFile.cannotUploadEmpty'))
|
||||
return false
|
||||
}
|
||||
if (this.fileMaxSize && fileSize > 1024 * 1024 * this.fileMaxSize) {
|
||||
this.$message(this.$t('uploadFile.pleaseUpload') + this.fileMaxSize + this.$t('uploadFile.theFollowingDocuments'))
|
||||
return false
|
||||
}
|
||||
if (fileSize > 1024 * 1024 * 500) {
|
||||
this.$message(this.$t('uploadFile.maxSize'))
|
||||
return false
|
||||
}
|
||||
// 校验格式
|
||||
const fileType = file.type
|
||||
if (this.fileType === FILE_TYPE_ALL) {
|
||||
return true
|
||||
}
|
||||
// 截取文件后缀名
|
||||
const fileSuffix = (file.name ? file.name.split('.')[file.name.split('.').length - 1] : '').toLowerCase()
|
||||
if (this.fileType === CAN_UPLOAD_FILE_TYPE && CAN_UPLOAD_FILE_TYPE.split(',').includes(fileSuffix)) {
|
||||
return true
|
||||
}
|
||||
if (this.fileType === FILE_TYPE_IMG && fileType.indexOf('image') < 0) {
|
||||
this.$message(this.$t('uploadFile.onlyUploadPic'))
|
||||
return false
|
||||
}
|
||||
if (this.fileType === FILE_TYPE_IMG && FILE_TYPE_IMGS.includes(fileSuffix)) {
|
||||
return true
|
||||
}
|
||||
if (this.fileType === FILE_TYPE_IMG && !FILE_TYPE_IMGS.includes(fileSuffix)) {
|
||||
this.$message(this.$t('uploadFile.pleaseUpload') + FILE_TYPE_IMGS.join('、') + this.$t('uploadFile.file'))
|
||||
return false
|
||||
}
|
||||
if (this.fileType.indexOf(fileSuffix) === -1) {
|
||||
this.$message(this.$t('uploadFile.pleaseUpload') + `${this.fileType}` + this.$t('uploadFile.file'))
|
||||
return false
|
||||
}
|
||||
return true
|
||||
},
|
||||
getFileList () {
|
||||
this.fileList = []
|
||||
const fileIdArr = this.value.split(',')
|
||||
fileIdArr.forEach(async id => {
|
||||
const fileObj = await this.getFileInfo(id)
|
||||
if (fileObj.id) {
|
||||
this.fileList.push(fileObj)
|
||||
}
|
||||
})
|
||||
},
|
||||
getFileInfo (id) {
|
||||
let result = {}
|
||||
return new Promise(resolve => {
|
||||
getFileInfo({ id }).then(res => {
|
||||
if (res.success) {
|
||||
result = res.result
|
||||
}
|
||||
}).finally(() => {
|
||||
resolve(result)
|
||||
})
|
||||
})
|
||||
},
|
||||
handlePreview (file) {
|
||||
if (!file || !file.url) {
|
||||
return
|
||||
}
|
||||
// 截取文件后缀名
|
||||
const fileSuffix = (file.fileName ? file.fileName.split('.')[file.fileName.split('.').length - 1] : '').toLowerCase()
|
||||
const canPreview = CAN_PREVIEW_FILE_SUFFIX.some(tt => fileSuffix === tt)
|
||||
// 判断是否为可预览格式的文件
|
||||
if (!canPreview) {
|
||||
this.$message(this.$t('uploadFile.cannotPreview'))
|
||||
return
|
||||
}
|
||||
const fileFullUrl = `${window._CONFIG.domianWebSocketURL}/sys/common/view/${file.id}?token=${Vue.ls.get(ACCESS_TOKEN)}&fullfilename=${file.fileName}`
|
||||
// 图片预览,使用自己添加的组件
|
||||
if (FILE_TYPE_IMGS.includes(fileSuffix)) {
|
||||
this.imageUrl = getFileAccessHttpUrl(file.id)
|
||||
// 获取viewer实例
|
||||
const viewer = this.$el.querySelector('.image').$viewer
|
||||
// 调用show方法进行显示预览图
|
||||
viewer.show()
|
||||
// this.$refs.imagePreviewModal.open(file)
|
||||
return
|
||||
}
|
||||
// pdf预览
|
||||
if (FILE_TYPE_PDF.includes(fileSuffix)) {
|
||||
const url = previewPdf(file.id)
|
||||
window.open(url)
|
||||
return
|
||||
}
|
||||
// 其余可预览文件仍使用KKFile进行预览
|
||||
const url = `${window._CONFIG.onlinePreviewDomainURL}?url=${encodeURIComponent(Base64.encode(fileFullUrl))}`
|
||||
window.open(url)
|
||||
},
|
||||
handleDelete (file) {
|
||||
const index = this.fileList.findIndex(tt => tt.id === file.id)
|
||||
const fileTempList = JSON.parse(JSON.stringify(this.fileList))
|
||||
this.fileList.splice(index, 1)
|
||||
this.$emit('change', this.fileList.map(item => item.id).join(','))
|
||||
}
|
||||
},
|
||||
model: {
|
||||
event: 'change',
|
||||
prop: 'value'
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style scoped lang="less">
|
||||
@import '~@/assets/less/common.less';
|
||||
|
||||
.upload-comp {
|
||||
padding: 0.2rem 0.32rem;
|
||||
}
|
||||
|
||||
.upload-box {
|
||||
position: relative;
|
||||
width: fit-content;
|
||||
|
||||
&-input {
|
||||
position: absolute;
|
||||
z-index: 1;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.van-button--normal {
|
||||
font-size: 0.28rem;
|
||||
}
|
||||
|
||||
.file-list {
|
||||
margin-top: 0.16rem;
|
||||
}
|
||||
|
||||
.file-item {
|
||||
color: @primary-color;
|
||||
margin-bottom: 0.16rem;
|
||||
display: flex;
|
||||
align-items: baseline;
|
||||
|
||||
&-name {
|
||||
word-break: break-word;
|
||||
margin-right: 0.16rem;
|
||||
}
|
||||
}
|
||||
|
||||
.file-item:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
</style>
|
||||
@@ -102,3 +102,9 @@ export const EsInitChangeNodes = new EsEnums({
|
||||
relevantPersonnelWillSign: { text: '相关人员会签', value: 'sid-7BFD2753-B6CD-4637-8D4B-819903511925' },
|
||||
mainDrafterCopy: { text: '主起草人抄送', value: 'sid-08D0381A-5C20-4708-9D73-C7EB5C51DB02' }
|
||||
})
|
||||
|
||||
// 下发人员类型
|
||||
export const SenderType = {
|
||||
moduleOwner: { text: '模块负责人', value: '1' },
|
||||
designEngineer: { text: '设计工程师', value: '2' }
|
||||
}
|
||||
|
||||
+10
@@ -18,12 +18,22 @@ import './assets/font/iconfont.css'
|
||||
import { Table } from 'ant-design-vue'
|
||||
import 'ant-design-vue/dist/antd.css'
|
||||
|
||||
import Viewer from 'v-viewer'
|
||||
import 'viewerjs/dist/viewer.css'
|
||||
|
||||
Vue.config.productionTip = false
|
||||
|
||||
Vue.use(Vant)
|
||||
Vue.use(VueI18n)
|
||||
Vue.prototype.$message = Toast
|
||||
Vue.use(Table)
|
||||
Vue.use(Viewer)
|
||||
|
||||
Viewer.setDefaults({
|
||||
// 需要配置的属性 注意属性并没有引号
|
||||
title: false,
|
||||
toolbar: false
|
||||
})
|
||||
|
||||
const i18n = new VueI18n({
|
||||
locale: 'zh-CN',
|
||||
|
||||
@@ -68,7 +68,7 @@
|
||||
rows="1"
|
||||
:placeholder="$t('pleaseEnter')+$t('standardConsultation.standardText')"
|
||||
:border="false">
|
||||
<file-display :file-ids="basicInfo.standardTextFileId"/>
|
||||
<file-display :file-ids="basicInfo.standardTextFileId" />
|
||||
</van-field>
|
||||
<!--相关文件-->
|
||||
<van-field v-model="basicInfo.relatedFile"
|
||||
@@ -79,7 +79,7 @@
|
||||
rows="1"
|
||||
:placeholder="$t('pleaseEnter')+$t('standardConsultation.relevantDocument')"
|
||||
:border="false">
|
||||
<file-display :file-ids="basicInfo.relatedFile"/>
|
||||
<file-display :file-ids="basicInfo.relatedFile" />
|
||||
</van-field>
|
||||
<!--征求意见结束日期-->
|
||||
<van-field v-model="basicInfo.consultationDueDate"
|
||||
@@ -92,6 +92,49 @@
|
||||
:border="false" />
|
||||
</van-form>
|
||||
</div>
|
||||
|
||||
<!--业务分派信息-->
|
||||
<div class="process-part">
|
||||
<div class="process-part-title">{{ $t('dispatchInformation') }}</div>
|
||||
<van-form input-align="right">
|
||||
<!--下发人员类型-->
|
||||
<picker-dict-field
|
||||
:label="$t('standardConsultation.senderType')"
|
||||
:placeholder="$t('pleaseSelect') + $t('standardConsultation.senderType')"
|
||||
dict-code="sender_type"
|
||||
v-model="dispatchInfo.userType"
|
||||
:rules="rules.userType" />
|
||||
<!--模块负责人-->
|
||||
<select-user-field v-model="dispatchInfo.moduleOwnerId"
|
||||
:label="$t('standardConsultation.moduleOwner')"
|
||||
v-if="dispatchInfo.userType === SenderType.moduleOwner.value" />
|
||||
<!--设计工程师-->
|
||||
<select-user-field v-model="dispatchInfo.designEngineerId"
|
||||
:label="$t('standardConsultation.designEngineer')"
|
||||
v-if="dispatchInfo.userType === SenderType.designEngineer.value" />
|
||||
</van-form>
|
||||
</div>
|
||||
|
||||
<!--流程审批信息-->
|
||||
<div class="process-part">
|
||||
<div class="process-part-title">{{ $t('processApprovalInfo') }}</div>
|
||||
<van-form input-align="right" ref="approvalForm">
|
||||
<!--备注-->
|
||||
<van-field v-model="approvalInfo.handleText"
|
||||
:label="$t('remark')"
|
||||
type="textarea"
|
||||
autosize
|
||||
rows="1"
|
||||
:placeholder="$t('pleaseEnter')+$t('remark')"
|
||||
:border="false"
|
||||
input-align="left"
|
||||
:rules="rules.handleText"
|
||||
class="vertical-form-item">
|
||||
</van-field>
|
||||
<!--附件-->
|
||||
<z-upload v-model="approvalInfo.handleFile" />
|
||||
</van-form>
|
||||
</div>
|
||||
</template>
|
||||
</process-common-layout>
|
||||
</template>
|
||||
@@ -99,20 +142,29 @@
|
||||
<script>
|
||||
import ProcessCommonLayout from '../../../components/ProcessCommonLayout'
|
||||
import FileDisplay from '../../../components/FileDisplay'
|
||||
import PickerDictField from '../../../components/PickerDictField'
|
||||
import { SenderType } from '../../../enums/commonEnums'
|
||||
import SelectUserField from '../../../components/SelectUserField'
|
||||
import ZUpload from '../../../components/ZUpload'
|
||||
|
||||
export default {
|
||||
name: 'StandardConsultationProcess',
|
||||
components: { ProcessCommonLayout, FileDisplay },
|
||||
components: { ZUpload, SelectUserField, PickerDictField, ProcessCommonLayout, FileDisplay },
|
||||
data () {
|
||||
return {
|
||||
SenderType,
|
||||
loading: false,
|
||||
processInfo: {}, // 流程信息数据
|
||||
businessId: null,
|
||||
basicInfo: {}, // 业务基本信息数据
|
||||
dispatchInfo: {}, // 业务分派信息数据
|
||||
approvalInfo: {} // 流程审批信息数据
|
||||
approvalInfo: {}, // 流程审批信息数据
|
||||
rules: {
|
||||
userType: [{ required: true, message: this.$t('pleaseSelect') + this.$t('standardConsultation.senderType'), trigger: 'onChange' }]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
methods: {}
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
@@ -92,6 +92,8 @@
|
||||
:rules="rules.handleText"
|
||||
class="vertical-form-item">
|
||||
</van-field>
|
||||
<!--附件-->
|
||||
<z-upload v-model="approvalInfo.handleFile" />
|
||||
</van-form>
|
||||
</div>
|
||||
</template>
|
||||
@@ -137,10 +139,11 @@ import {
|
||||
import { FieldType, StandardSource, ProcessKey } from '../../../enums/commonEnums'
|
||||
import FileDisplay from '../../../components/FileDisplay'
|
||||
import SelectUser from '../../../components/SelectUser'
|
||||
import ZUpload from '../../../components/ZUpload'
|
||||
|
||||
export default {
|
||||
name: 'StandardEntryOrChangeProcess',
|
||||
components: { ProcessCommonLayout, FileDisplay, SelectUser },
|
||||
components: { ZUpload, ProcessCommonLayout, FileDisplay, SelectUser },
|
||||
data () {
|
||||
return {
|
||||
ProcessKey,
|
||||
|
||||
+1
-1
@@ -87,5 +87,5 @@ module.exports = {
|
||||
}
|
||||
},
|
||||
|
||||
lintOnSave: undefined
|
||||
lintOnSave: true
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user