upload.js 38 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474
  1. module.exports =
  2. /******/ (function(modules) { // webpackBootstrap
  3. /******/ // The module cache
  4. /******/ var installedModules = {};
  5. /******/
  6. /******/ // The require function
  7. /******/ function __webpack_require__(moduleId) {
  8. /******/
  9. /******/ // Check if module is in cache
  10. /******/ if(installedModules[moduleId]) {
  11. /******/ return installedModules[moduleId].exports;
  12. /******/ }
  13. /******/ // Create a new module (and put it into the cache)
  14. /******/ var module = installedModules[moduleId] = {
  15. /******/ i: moduleId,
  16. /******/ l: false,
  17. /******/ exports: {}
  18. /******/ };
  19. /******/
  20. /******/ // Execute the module function
  21. /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
  22. /******/
  23. /******/ // Flag the module as loaded
  24. /******/ module.l = true;
  25. /******/
  26. /******/ // Return the exports of the module
  27. /******/ return module.exports;
  28. /******/ }
  29. /******/
  30. /******/
  31. /******/ // expose the modules object (__webpack_modules__)
  32. /******/ __webpack_require__.m = modules;
  33. /******/
  34. /******/ // expose the module cache
  35. /******/ __webpack_require__.c = installedModules;
  36. /******/
  37. /******/ // define getter function for harmony exports
  38. /******/ __webpack_require__.d = function(exports, name, getter) {
  39. /******/ if(!__webpack_require__.o(exports, name)) {
  40. /******/ Object.defineProperty(exports, name, {
  41. /******/ configurable: false,
  42. /******/ enumerable: true,
  43. /******/ get: getter
  44. /******/ });
  45. /******/ }
  46. /******/ };
  47. /******/
  48. /******/ // getDefaultExport function for compatibility with non-harmony modules
  49. /******/ __webpack_require__.n = function(module) {
  50. /******/ var getter = module && module.__esModule ?
  51. /******/ function getDefault() { return module['default']; } :
  52. /******/ function getModuleExports() { return module; };
  53. /******/ __webpack_require__.d(getter, 'a', getter);
  54. /******/ return getter;
  55. /******/ };
  56. /******/
  57. /******/ // Object.prototype.hasOwnProperty.call
  58. /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
  59. /******/
  60. /******/ // __webpack_public_path__
  61. /******/ __webpack_require__.p = "/dist/";
  62. /******/
  63. /******/ // Load entry module and return exports
  64. /******/ return __webpack_require__(__webpack_require__.s = 332);
  65. /******/ })
  66. /************************************************************************/
  67. /******/ ({
  68. /***/ 0:
  69. /***/ (function(module, exports) {
  70. /* globals __VUE_SSR_CONTEXT__ */
  71. // IMPORTANT: Do NOT use ES2015 features in this file.
  72. // This module is a runtime utility for cleaner component module output and will
  73. // be included in the final webpack user bundle.
  74. module.exports = function normalizeComponent (
  75. rawScriptExports,
  76. compiledTemplate,
  77. functionalTemplate,
  78. injectStyles,
  79. scopeId,
  80. moduleIdentifier /* server only */
  81. ) {
  82. var esModule
  83. var scriptExports = rawScriptExports = rawScriptExports || {}
  84. // ES6 modules interop
  85. var type = typeof rawScriptExports.default
  86. if (type === 'object' || type === 'function') {
  87. esModule = rawScriptExports
  88. scriptExports = rawScriptExports.default
  89. }
  90. // Vue.extend constructor export interop
  91. var options = typeof scriptExports === 'function'
  92. ? scriptExports.options
  93. : scriptExports
  94. // render functions
  95. if (compiledTemplate) {
  96. options.render = compiledTemplate.render
  97. options.staticRenderFns = compiledTemplate.staticRenderFns
  98. options._compiled = true
  99. }
  100. // functional template
  101. if (functionalTemplate) {
  102. options.functional = true
  103. }
  104. // scopedId
  105. if (scopeId) {
  106. options._scopeId = scopeId
  107. }
  108. var hook
  109. if (moduleIdentifier) { // server build
  110. hook = function (context) {
  111. // 2.3 injection
  112. context =
  113. context || // cached call
  114. (this.$vnode && this.$vnode.ssrContext) || // stateful
  115. (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional
  116. // 2.2 with runInNewContext: true
  117. if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {
  118. context = __VUE_SSR_CONTEXT__
  119. }
  120. // inject component styles
  121. if (injectStyles) {
  122. injectStyles.call(this, context)
  123. }
  124. // register component module identifier for async chunk inferrence
  125. if (context && context._registeredComponents) {
  126. context._registeredComponents.add(moduleIdentifier)
  127. }
  128. }
  129. // used by ssr in case component is cached and beforeCreate
  130. // never gets called
  131. options._ssrRegister = hook
  132. } else if (injectStyles) {
  133. hook = injectStyles
  134. }
  135. if (hook) {
  136. var functional = options.functional
  137. var existing = functional
  138. ? options.render
  139. : options.beforeCreate
  140. if (!functional) {
  141. // inject component registration as beforeCreate hook
  142. options.beforeCreate = existing
  143. ? [].concat(existing, hook)
  144. : [hook]
  145. } else {
  146. // for template-only hot-reload because in that case the render fn doesn't
  147. // go through the normalizer
  148. options._injectStyles = hook
  149. // register for functioal component in vue file
  150. options.render = function renderWithStyleInjection (h, context) {
  151. hook.call(context)
  152. return existing(h, context)
  153. }
  154. }
  155. }
  156. return {
  157. esModule: esModule,
  158. exports: scriptExports,
  159. options: options
  160. }
  161. }
  162. /***/ }),
  163. /***/ 332:
  164. /***/ (function(module, exports, __webpack_require__) {
  165. module.exports = __webpack_require__(333);
  166. /***/ }),
  167. /***/ 333:
  168. /***/ (function(module, exports, __webpack_require__) {
  169. "use strict";
  170. exports.__esModule = true;
  171. var _src = __webpack_require__(334);
  172. var _src2 = _interopRequireDefault(_src);
  173. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  174. /* istanbul ignore next */
  175. _src2.default.install = function (Vue) {
  176. Vue.component(_src2.default.name, _src2.default);
  177. };
  178. exports.default = _src2.default;
  179. /***/ }),
  180. /***/ 334:
  181. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  182. "use strict";
  183. Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
  184. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_index_vue__ = __webpack_require__(335);
  185. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_index_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_index_vue__);
  186. var normalizeComponent = __webpack_require__(0)
  187. /* script */
  188. /* template */
  189. var __vue_template__ = null
  190. /* template functional */
  191. var __vue_template_functional__ = false
  192. /* styles */
  193. var __vue_styles__ = null
  194. /* scopeId */
  195. var __vue_scopeId__ = null
  196. /* moduleIdentifier (server only) */
  197. var __vue_module_identifier__ = null
  198. var Component = normalizeComponent(
  199. __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_index_vue___default.a,
  200. __vue_template__,
  201. __vue_template_functional__,
  202. __vue_styles__,
  203. __vue_scopeId__,
  204. __vue_module_identifier__
  205. )
  206. /* harmony default export */ __webpack_exports__["default"] = (Component.exports);
  207. /***/ }),
  208. /***/ 335:
  209. /***/ (function(module, exports, __webpack_require__) {
  210. "use strict";
  211. exports.__esModule = true;
  212. var _uploadList = __webpack_require__(336);
  213. var _uploadList2 = _interopRequireDefault(_uploadList);
  214. var _upload = __webpack_require__(339);
  215. var _upload2 = _interopRequireDefault(_upload);
  216. var _iframeUpload = __webpack_require__(344);
  217. var _iframeUpload2 = _interopRequireDefault(_iframeUpload);
  218. var _progress = __webpack_require__(50);
  219. var _progress2 = _interopRequireDefault(_progress);
  220. var _migrating = __webpack_require__(7);
  221. var _migrating2 = _interopRequireDefault(_migrating);
  222. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  223. function noop() {}
  224. exports.default = {
  225. name: 'ElUpload',
  226. mixins: [_migrating2.default],
  227. components: {
  228. ElProgress: _progress2.default,
  229. UploadList: _uploadList2.default,
  230. Upload: _upload2.default,
  231. IframeUpload: _iframeUpload2.default
  232. },
  233. provide: {
  234. uploader: undefined
  235. },
  236. props: {
  237. action: {
  238. type: String,
  239. required: true
  240. },
  241. headers: {
  242. type: Object,
  243. default: function _default() {
  244. return {};
  245. }
  246. },
  247. data: Object,
  248. multiple: Boolean,
  249. name: {
  250. type: String,
  251. default: 'file'
  252. },
  253. drag: Boolean,
  254. dragger: Boolean,
  255. withCredentials: Boolean,
  256. showFileList: {
  257. type: Boolean,
  258. default: true
  259. },
  260. accept: String,
  261. type: {
  262. type: String,
  263. default: 'select'
  264. },
  265. beforeUpload: Function,
  266. onRemove: {
  267. type: Function,
  268. default: noop
  269. },
  270. onChange: {
  271. type: Function,
  272. default: noop
  273. },
  274. onPreview: {
  275. type: Function
  276. },
  277. onSuccess: {
  278. type: Function,
  279. default: noop
  280. },
  281. onProgress: {
  282. type: Function,
  283. default: noop
  284. },
  285. onError: {
  286. type: Function,
  287. default: noop
  288. },
  289. fileList: {
  290. type: Array,
  291. default: function _default() {
  292. return [];
  293. }
  294. },
  295. autoUpload: {
  296. type: Boolean,
  297. default: true
  298. },
  299. listType: {
  300. type: String,
  301. default: 'text' // text,picture,picture-card
  302. },
  303. httpRequest: Function,
  304. disabled: Boolean,
  305. limit: Number,
  306. onExceed: {
  307. type: Function,
  308. default: noop
  309. }
  310. },
  311. data: function data() {
  312. return {
  313. uploadFiles: [],
  314. dragOver: false,
  315. draging: false,
  316. tempIndex: 1
  317. };
  318. },
  319. watch: {
  320. fileList: {
  321. immediate: true,
  322. handler: function handler(fileList) {
  323. var _this = this;
  324. this.uploadFiles = fileList.map(function (item) {
  325. item.uid = item.uid || Date.now() + _this.tempIndex++;
  326. item.status = 'success';
  327. return item;
  328. });
  329. }
  330. }
  331. },
  332. methods: {
  333. handleStart: function handleStart(rawFile) {
  334. rawFile.uid = Date.now() + this.tempIndex++;
  335. var file = {
  336. status: 'ready',
  337. name: rawFile.name,
  338. size: rawFile.size,
  339. percentage: 0,
  340. uid: rawFile.uid,
  341. raw: rawFile
  342. };
  343. try {
  344. file.url = URL.createObjectURL(rawFile);
  345. } catch (err) {
  346. console.error(err);
  347. return;
  348. }
  349. this.uploadFiles.push(file);
  350. this.onChange(file, this.uploadFiles);
  351. },
  352. handleProgress: function handleProgress(ev, rawFile) {
  353. var file = this.getFile(rawFile);
  354. this.onProgress(ev, file, this.uploadFiles);
  355. file.status = 'uploading';
  356. file.percentage = ev.percent || 0;
  357. },
  358. handleSuccess: function handleSuccess(res, rawFile) {
  359. var file = this.getFile(rawFile);
  360. if (file) {
  361. file.status = 'success';
  362. file.response = res;
  363. this.onSuccess(res, file, this.uploadFiles);
  364. this.onChange(file, this.uploadFiles);
  365. }
  366. },
  367. handleError: function handleError(err, rawFile) {
  368. var file = this.getFile(rawFile);
  369. var fileList = this.uploadFiles;
  370. file.status = 'fail';
  371. fileList.splice(fileList.indexOf(file), 1);
  372. this.onError(err, file, this.uploadFiles);
  373. this.onChange(file, this.uploadFiles);
  374. },
  375. handleRemove: function handleRemove(file, raw) {
  376. if (raw) {
  377. file = this.getFile(raw);
  378. }
  379. this.abort(file);
  380. var fileList = this.uploadFiles;
  381. fileList.splice(fileList.indexOf(file), 1);
  382. this.onRemove(file, fileList);
  383. },
  384. getFile: function getFile(rawFile) {
  385. var fileList = this.uploadFiles;
  386. var target = void 0;
  387. fileList.every(function (item) {
  388. target = rawFile.uid === item.uid ? item : null;
  389. return !target;
  390. });
  391. return target;
  392. },
  393. abort: function abort(file) {
  394. this.$refs['upload-inner'].abort(file);
  395. },
  396. clearFiles: function clearFiles() {
  397. this.uploadFiles = [];
  398. },
  399. submit: function submit() {
  400. var _this2 = this;
  401. this.uploadFiles.filter(function (file) {
  402. return file.status === 'ready';
  403. }).forEach(function (file) {
  404. _this2.$refs['upload-inner'].upload(file.raw);
  405. });
  406. },
  407. getMigratingConfig: function getMigratingConfig() {
  408. return {
  409. props: {
  410. 'default-file-list': 'default-file-list is renamed to file-list.',
  411. 'show-upload-list': 'show-upload-list is renamed to show-file-list.',
  412. 'thumbnail-mode': 'thumbnail-mode has been deprecated, you can implement the same effect according to this case: http://element.eleme.io/#/zh-CN/component/upload#yong-hu-tou-xiang-shang-chuan'
  413. }
  414. };
  415. }
  416. },
  417. render: function render(h) {
  418. var uploadList = void 0;
  419. if (this.showFileList) {
  420. uploadList = h(
  421. _uploadList2.default,
  422. {
  423. attrs: {
  424. disabled: this.disabled,
  425. listType: this.listType,
  426. files: this.uploadFiles,
  427. handlePreview: this.onPreview },
  428. on: {
  429. 'remove': this.handleRemove
  430. }
  431. },
  432. []
  433. );
  434. }
  435. var uploadData = {
  436. props: {
  437. type: this.type,
  438. drag: this.drag,
  439. action: this.action,
  440. multiple: this.multiple,
  441. 'before-upload': this.beforeUpload,
  442. 'with-credentials': this.withCredentials,
  443. headers: this.headers,
  444. name: this.name,
  445. data: this.data,
  446. accept: this.accept,
  447. fileList: this.uploadFiles,
  448. autoUpload: this.autoUpload,
  449. listType: this.listType,
  450. disabled: this.disabled,
  451. limit: this.limit,
  452. 'on-exceed': this.onExceed,
  453. 'on-start': this.handleStart,
  454. 'on-progress': this.handleProgress,
  455. 'on-success': this.handleSuccess,
  456. 'on-error': this.handleError,
  457. 'on-preview': this.onPreview,
  458. 'on-remove': this.handleRemove,
  459. 'http-request': this.httpRequest
  460. },
  461. ref: 'upload-inner'
  462. };
  463. var trigger = this.$slots.trigger || this.$slots.default;
  464. var uploadComponent = typeof FormData !== 'undefined' || this.$isServer ? h(
  465. 'upload',
  466. uploadData,
  467. [trigger]
  468. ) : h(
  469. 'iframeUpload',
  470. uploadData,
  471. [trigger]
  472. );
  473. return h(
  474. 'div',
  475. null,
  476. [this.listType === 'picture-card' ? uploadList : '', this.$slots.trigger ? [uploadComponent, this.$slots.default] : uploadComponent, this.$slots.tip, this.listType !== 'picture-card' ? uploadList : '']
  477. );
  478. }
  479. };
  480. /***/ }),
  481. /***/ 336:
  482. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  483. "use strict";
  484. Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
  485. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_upload_list_vue__ = __webpack_require__(337);
  486. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_upload_list_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_upload_list_vue__);
  487. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_43fbf886_hasScoped_false_preserveWhitespace_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_upload_list_vue__ = __webpack_require__(338);
  488. var normalizeComponent = __webpack_require__(0)
  489. /* script */
  490. /* template */
  491. /* template functional */
  492. var __vue_template_functional__ = false
  493. /* styles */
  494. var __vue_styles__ = null
  495. /* scopeId */
  496. var __vue_scopeId__ = null
  497. /* moduleIdentifier (server only) */
  498. var __vue_module_identifier__ = null
  499. var Component = normalizeComponent(
  500. __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_upload_list_vue___default.a,
  501. __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_43fbf886_hasScoped_false_preserveWhitespace_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_upload_list_vue__["a" /* default */],
  502. __vue_template_functional__,
  503. __vue_styles__,
  504. __vue_scopeId__,
  505. __vue_module_identifier__
  506. )
  507. /* harmony default export */ __webpack_exports__["default"] = (Component.exports);
  508. /***/ }),
  509. /***/ 337:
  510. /***/ (function(module, exports, __webpack_require__) {
  511. "use strict";
  512. exports.__esModule = true;
  513. var _locale = __webpack_require__(4);
  514. var _locale2 = _interopRequireDefault(_locale);
  515. var _progress = __webpack_require__(50);
  516. var _progress2 = _interopRequireDefault(_progress);
  517. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  518. //
  519. //
  520. //
  521. //
  522. //
  523. //
  524. //
  525. //
  526. //
  527. //
  528. //
  529. //
  530. //
  531. //
  532. //
  533. //
  534. //
  535. //
  536. //
  537. //
  538. //
  539. //
  540. //
  541. //
  542. //
  543. //
  544. //
  545. //
  546. //
  547. //
  548. //
  549. //
  550. //
  551. //
  552. //
  553. //
  554. //
  555. //
  556. //
  557. //
  558. //
  559. //
  560. //
  561. //
  562. //
  563. //
  564. //
  565. //
  566. //
  567. //
  568. //
  569. //
  570. //
  571. //
  572. //
  573. //
  574. //
  575. //
  576. //
  577. //
  578. //
  579. //
  580. exports.default = {
  581. mixins: [_locale2.default],
  582. data: function data() {
  583. return {
  584. focusing: false
  585. };
  586. },
  587. components: { ElProgress: _progress2.default },
  588. props: {
  589. files: {
  590. type: Array,
  591. default: function _default() {
  592. return [];
  593. }
  594. },
  595. disabled: {
  596. type: Boolean,
  597. default: false
  598. },
  599. handlePreview: Function,
  600. listType: String
  601. },
  602. methods: {
  603. parsePercentage: function parsePercentage(val) {
  604. return parseInt(val, 10);
  605. },
  606. handleClick: function handleClick(file) {
  607. this.handlePreview && this.handlePreview(file);
  608. }
  609. }
  610. };
  611. /***/ }),
  612. /***/ 338:
  613. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  614. "use strict";
  615. var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition-group',{class:[
  616. 'el-upload-list',
  617. 'el-upload-list--' + _vm.listType,
  618. { 'is-disabled': _vm.disabled }
  619. ],attrs:{"tag":"ul","name":"el-list"}},_vm._l((_vm.files),function(file,index){return _c('li',{key:index,class:['el-upload-list__item', 'is-' + file.status, _vm.focusing ? 'focusing' : ''],attrs:{"tabindex":"0"},on:{"keydown":function($event){if(!('button' in $event)&&_vm._k($event.keyCode,"delete",[8,46],$event.key)){ return null; }!_vm.disabled && _vm.$emit('remove', file)},"focus":function($event){_vm.focusing = true},"blur":function($event){_vm.focusing = false},"click":function($event){_vm.focusing = false}}},[(file.status !== 'uploading' && ['picture-card', 'picture'].indexOf(_vm.listType) > -1)?_c('img',{staticClass:"el-upload-list__item-thumbnail",attrs:{"src":file.url,"alt":""}}):_vm._e(),_c('a',{staticClass:"el-upload-list__item-name",on:{"click":function($event){_vm.handleClick(file)}}},[_c('i',{staticClass:"el-icon-document"}),_vm._v(_vm._s(file.name)+"\n ")]),_c('label',{staticClass:"el-upload-list__item-status-label"},[_c('i',{class:{
  620. 'el-icon-upload-success': true,
  621. 'el-icon-circle-check': _vm.listType === 'text',
  622. 'el-icon-check': ['picture-card', 'picture'].indexOf(_vm.listType) > -1
  623. }})]),(!_vm.disabled)?_c('i',{staticClass:"el-icon-close",on:{"click":function($event){_vm.$emit('remove', file)}}}):_vm._e(),(!_vm.disabled)?_c('i',{staticClass:"el-icon-close-tip"},[_vm._v(_vm._s(_vm.t('el.upload.deleteTip')))]):_vm._e(),(file.status === 'uploading')?_c('el-progress',{attrs:{"type":_vm.listType === 'picture-card' ? 'circle' : 'line',"stroke-width":_vm.listType === 'picture-card' ? 6 : 2,"percentage":_vm.parsePercentage(file.percentage)}}):_vm._e(),(_vm.listType === 'picture-card')?_c('span',{staticClass:"el-upload-list__item-actions"},[(_vm.handlePreview && _vm.listType === 'picture-card')?_c('span',{staticClass:"el-upload-list__item-preview",on:{"click":function($event){_vm.handlePreview(file)}}},[_c('i',{staticClass:"el-icon-zoom-in"})]):_vm._e(),(!_vm.disabled)?_c('span',{staticClass:"el-upload-list__item-delete",on:{"click":function($event){_vm.$emit('remove', file)}}},[_c('i',{staticClass:"el-icon-delete"})]):_vm._e()]):_vm._e()],1)}))}
  624. var staticRenderFns = []
  625. var esExports = { render: render, staticRenderFns: staticRenderFns }
  626. /* harmony default export */ __webpack_exports__["a"] = (esExports);
  627. /***/ }),
  628. /***/ 339:
  629. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  630. "use strict";
  631. Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
  632. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_upload_vue__ = __webpack_require__(340);
  633. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_upload_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_upload_vue__);
  634. var normalizeComponent = __webpack_require__(0)
  635. /* script */
  636. /* template */
  637. var __vue_template__ = null
  638. /* template functional */
  639. var __vue_template_functional__ = false
  640. /* styles */
  641. var __vue_styles__ = null
  642. /* scopeId */
  643. var __vue_scopeId__ = null
  644. /* moduleIdentifier (server only) */
  645. var __vue_module_identifier__ = null
  646. var Component = normalizeComponent(
  647. __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_upload_vue___default.a,
  648. __vue_template__,
  649. __vue_template_functional__,
  650. __vue_styles__,
  651. __vue_scopeId__,
  652. __vue_module_identifier__
  653. )
  654. /* harmony default export */ __webpack_exports__["default"] = (Component.exports);
  655. /***/ }),
  656. /***/ 340:
  657. /***/ (function(module, exports, __webpack_require__) {
  658. "use strict";
  659. exports.__esModule = true;
  660. var _babelHelperVueJsxMergeProps = __webpack_require__(44);
  661. var _babelHelperVueJsxMergeProps2 = _interopRequireDefault(_babelHelperVueJsxMergeProps);
  662. var _ajax = __webpack_require__(341);
  663. var _ajax2 = _interopRequireDefault(_ajax);
  664. var _uploadDragger = __webpack_require__(51);
  665. var _uploadDragger2 = _interopRequireDefault(_uploadDragger);
  666. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  667. exports.default = {
  668. inject: ['uploader'],
  669. components: {
  670. UploadDragger: _uploadDragger2.default
  671. },
  672. props: {
  673. type: String,
  674. action: {
  675. type: String,
  676. required: true
  677. },
  678. name: {
  679. type: String,
  680. default: 'file'
  681. },
  682. data: Object,
  683. headers: Object,
  684. withCredentials: Boolean,
  685. multiple: Boolean,
  686. accept: String,
  687. onStart: Function,
  688. onProgress: Function,
  689. onSuccess: Function,
  690. onError: Function,
  691. beforeUpload: Function,
  692. drag: Boolean,
  693. onPreview: {
  694. type: Function,
  695. default: function _default() {}
  696. },
  697. onRemove: {
  698. type: Function,
  699. default: function _default() {}
  700. },
  701. fileList: Array,
  702. autoUpload: Boolean,
  703. listType: String,
  704. httpRequest: {
  705. type: Function,
  706. default: _ajax2.default
  707. },
  708. disabled: Boolean,
  709. limit: Number,
  710. onExceed: Function
  711. },
  712. data: function data() {
  713. return {
  714. mouseover: false,
  715. reqs: {}
  716. };
  717. },
  718. methods: {
  719. isImage: function isImage(str) {
  720. return str.indexOf('image') !== -1;
  721. },
  722. handleChange: function handleChange(ev) {
  723. var files = ev.target.files;
  724. if (!files) return;
  725. this.uploadFiles(files);
  726. },
  727. uploadFiles: function uploadFiles(files) {
  728. var _this = this;
  729. if (this.limit && this.fileList.length + files.length > this.limit) {
  730. this.onExceed && this.onExceed(files, this.fileList);
  731. return;
  732. }
  733. var postFiles = Array.prototype.slice.call(files);
  734. if (!this.multiple) {
  735. postFiles = postFiles.slice(0, 1);
  736. }
  737. if (postFiles.length === 0) {
  738. return;
  739. }
  740. postFiles.forEach(function (rawFile) {
  741. _this.onStart(rawFile);
  742. if (_this.autoUpload) _this.upload(rawFile);
  743. });
  744. },
  745. upload: function upload(rawFile, file) {
  746. var _this2 = this;
  747. this.$refs.input.value = null;
  748. if (!this.beforeUpload) {
  749. return this.post(rawFile);
  750. }
  751. var before = this.beforeUpload(rawFile);
  752. if (before && before.then) {
  753. before.then(function (processedFile) {
  754. var fileType = Object.prototype.toString.call(processedFile);
  755. if (fileType === '[object File]' || fileType === '[object Blob]') {
  756. _this2.post(processedFile);
  757. } else {
  758. _this2.post(rawFile);
  759. }
  760. }, function () {
  761. _this2.onRemove(null, rawFile);
  762. });
  763. } else if (before !== false) {
  764. this.post(rawFile);
  765. } else {
  766. this.onRemove(null, rawFile);
  767. }
  768. },
  769. abort: function abort(file) {
  770. var reqs = this.reqs;
  771. if (file) {
  772. var uid = file;
  773. if (file.uid) uid = file.uid;
  774. if (reqs[uid]) {
  775. reqs[uid].abort();
  776. }
  777. } else {
  778. Object.keys(reqs).forEach(function (uid) {
  779. if (reqs[uid]) reqs[uid].abort();
  780. delete reqs[uid];
  781. });
  782. }
  783. },
  784. post: function post(rawFile) {
  785. var _this3 = this;
  786. var uid = rawFile.uid;
  787. var options = {
  788. headers: this.headers,
  789. withCredentials: this.withCredentials,
  790. file: rawFile,
  791. data: this.data,
  792. filename: this.name,
  793. action: this.action,
  794. onProgress: function onProgress(e) {
  795. _this3.onProgress(e, rawFile);
  796. },
  797. onSuccess: function onSuccess(res) {
  798. _this3.onSuccess(res, rawFile);
  799. delete _this3.reqs[uid];
  800. },
  801. onError: function onError(err) {
  802. _this3.onError(err, rawFile);
  803. delete _this3.reqs[uid];
  804. }
  805. };
  806. var req = this.httpRequest(options);
  807. this.reqs[uid] = req;
  808. if (req && req.then) {
  809. req.then(options.onSuccess, options.onError);
  810. }
  811. },
  812. handleClick: function handleClick() {
  813. if (!this.disabled) {
  814. this.$refs.input.value = null;
  815. this.$refs.input.click();
  816. }
  817. },
  818. handleKeydown: function handleKeydown(e) {
  819. if (e.keyCode === 13 || e.keyCode === 32) {
  820. this.handleClick();
  821. }
  822. }
  823. },
  824. render: function render(h) {
  825. var handleClick = this.handleClick,
  826. drag = this.drag,
  827. name = this.name,
  828. handleChange = this.handleChange,
  829. multiple = this.multiple,
  830. accept = this.accept,
  831. listType = this.listType,
  832. uploadFiles = this.uploadFiles,
  833. disabled = this.disabled,
  834. handleKeydown = this.handleKeydown;
  835. var data = {
  836. class: {
  837. 'el-upload': true
  838. },
  839. on: {
  840. click: handleClick,
  841. keydown: handleKeydown
  842. }
  843. };
  844. data.class['el-upload--' + listType] = true;
  845. return h(
  846. 'div',
  847. (0, _babelHelperVueJsxMergeProps2.default)([data, {
  848. attrs: { tabindex: '0' }
  849. }]),
  850. [drag ? h(
  851. 'upload-dragger',
  852. {
  853. attrs: { disabled: disabled },
  854. on: {
  855. 'file': uploadFiles
  856. }
  857. },
  858. [this.$slots.default]
  859. ) : this.$slots.default, h(
  860. 'input',
  861. { 'class': 'el-upload__input', attrs: { type: 'file', name: name, multiple: multiple, accept: accept },
  862. ref: 'input', on: {
  863. 'change': handleChange
  864. }
  865. },
  866. []
  867. )]
  868. );
  869. }
  870. };
  871. /***/ }),
  872. /***/ 341:
  873. /***/ (function(module, exports, __webpack_require__) {
  874. "use strict";
  875. exports.__esModule = true;
  876. exports.default = upload;
  877. function getError(action, option, xhr) {
  878. var msg = void 0;
  879. if (xhr.response) {
  880. msg = '' + (xhr.response.error || xhr.response);
  881. } else if (xhr.responseText) {
  882. msg = '' + xhr.responseText;
  883. } else {
  884. msg = 'fail to post ' + action + ' ' + xhr.status;
  885. }
  886. var err = new Error(msg);
  887. err.status = xhr.status;
  888. err.method = 'post';
  889. err.url = action;
  890. return err;
  891. }
  892. function getBody(xhr) {
  893. var text = xhr.responseText || xhr.response;
  894. if (!text) {
  895. return text;
  896. }
  897. try {
  898. return JSON.parse(text);
  899. } catch (e) {
  900. return text;
  901. }
  902. }
  903. function upload(option) {
  904. if (typeof XMLHttpRequest === 'undefined') {
  905. return;
  906. }
  907. var xhr = new XMLHttpRequest();
  908. var action = option.action;
  909. if (xhr.upload) {
  910. xhr.upload.onprogress = function progress(e) {
  911. if (e.total > 0) {
  912. e.percent = e.loaded / e.total * 100;
  913. }
  914. option.onProgress(e);
  915. };
  916. }
  917. var formData = new FormData();
  918. if (option.data) {
  919. Object.keys(option.data).forEach(function (key) {
  920. formData.append(key, option.data[key]);
  921. });
  922. }
  923. formData.append(option.filename, option.file);
  924. xhr.onerror = function error(e) {
  925. option.onError(e);
  926. };
  927. xhr.onload = function onload() {
  928. if (xhr.status < 200 || xhr.status >= 300) {
  929. return option.onError(getError(action, option, xhr));
  930. }
  931. option.onSuccess(getBody(xhr));
  932. };
  933. xhr.open('post', action, true);
  934. if (option.withCredentials && 'withCredentials' in xhr) {
  935. xhr.withCredentials = true;
  936. }
  937. var headers = option.headers || {};
  938. for (var item in headers) {
  939. if (headers.hasOwnProperty(item) && headers[item] !== null) {
  940. xhr.setRequestHeader(item, headers[item]);
  941. }
  942. }
  943. xhr.send(formData);
  944. return xhr;
  945. }
  946. /***/ }),
  947. /***/ 342:
  948. /***/ (function(module, exports, __webpack_require__) {
  949. "use strict";
  950. exports.__esModule = true;
  951. //
  952. //
  953. //
  954. //
  955. //
  956. //
  957. //
  958. //
  959. //
  960. //
  961. //
  962. //
  963. //
  964. exports.default = {
  965. name: 'ElUploadDrag',
  966. props: {
  967. disabled: Boolean
  968. },
  969. data: function data() {
  970. return {
  971. dragover: false
  972. };
  973. },
  974. methods: {
  975. onDragover: function onDragover() {
  976. if (!this.disabled) {
  977. this.dragover = true;
  978. }
  979. },
  980. onDrop: function onDrop(e) {
  981. if (!this.disabled) {
  982. this.dragover = false;
  983. this.$emit('file', e.dataTransfer.files);
  984. }
  985. }
  986. }
  987. };
  988. /***/ }),
  989. /***/ 343:
  990. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  991. "use strict";
  992. var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"el-upload-dragger",class:{
  993. 'is-dragover': _vm.dragover
  994. },on:{"drop":function($event){$event.preventDefault();_vm.onDrop($event)},"dragover":function($event){$event.preventDefault();_vm.onDragover($event)},"dragleave":function($event){$event.preventDefault();_vm.dragover = false}}},[_vm._t("default")],2)}
  995. var staticRenderFns = []
  996. var esExports = { render: render, staticRenderFns: staticRenderFns }
  997. /* harmony default export */ __webpack_exports__["a"] = (esExports);
  998. /***/ }),
  999. /***/ 344:
  1000. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1001. "use strict";
  1002. Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
  1003. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_iframe_upload_vue__ = __webpack_require__(345);
  1004. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_iframe_upload_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_iframe_upload_vue__);
  1005. var normalizeComponent = __webpack_require__(0)
  1006. /* script */
  1007. /* template */
  1008. var __vue_template__ = null
  1009. /* template functional */
  1010. var __vue_template_functional__ = false
  1011. /* styles */
  1012. var __vue_styles__ = null
  1013. /* scopeId */
  1014. var __vue_scopeId__ = null
  1015. /* moduleIdentifier (server only) */
  1016. var __vue_module_identifier__ = null
  1017. var Component = normalizeComponent(
  1018. __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_iframe_upload_vue___default.a,
  1019. __vue_template__,
  1020. __vue_template_functional__,
  1021. __vue_styles__,
  1022. __vue_scopeId__,
  1023. __vue_module_identifier__
  1024. )
  1025. /* harmony default export */ __webpack_exports__["default"] = (Component.exports);
  1026. /***/ }),
  1027. /***/ 345:
  1028. /***/ (function(module, exports, __webpack_require__) {
  1029. "use strict";
  1030. exports.__esModule = true;
  1031. var _uploadDragger = __webpack_require__(51);
  1032. var _uploadDragger2 = _interopRequireDefault(_uploadDragger);
  1033. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  1034. exports.default = {
  1035. components: {
  1036. UploadDragger: _uploadDragger2.default
  1037. },
  1038. props: {
  1039. type: String,
  1040. data: {},
  1041. action: {
  1042. type: String,
  1043. required: true
  1044. },
  1045. name: {
  1046. type: String,
  1047. default: 'file'
  1048. },
  1049. withCredentials: Boolean,
  1050. accept: String,
  1051. onStart: Function,
  1052. onProgress: Function,
  1053. onSuccess: Function,
  1054. onError: Function,
  1055. beforeUpload: Function,
  1056. onPreview: {
  1057. type: Function,
  1058. default: function _default() {}
  1059. },
  1060. onRemove: {
  1061. type: Function,
  1062. default: function _default() {}
  1063. },
  1064. drag: Boolean,
  1065. listType: String,
  1066. disabled: Boolean,
  1067. limit: Number,
  1068. onExceed: Function
  1069. },
  1070. data: function data() {
  1071. return {
  1072. mouseover: false,
  1073. domain: '',
  1074. file: null,
  1075. submitting: false
  1076. };
  1077. },
  1078. methods: {
  1079. isImage: function isImage(str) {
  1080. return str.indexOf('image') !== -1;
  1081. },
  1082. handleClick: function handleClick() {
  1083. if (!this.disabled) {
  1084. this.$refs.input.click();
  1085. }
  1086. },
  1087. handleChange: function handleChange(ev) {
  1088. var file = ev.target.value;
  1089. if (file) {
  1090. this.uploadFiles(file);
  1091. }
  1092. },
  1093. uploadFiles: function uploadFiles(file) {
  1094. if (this.limit && this.$parent.uploadFiles.length + file.length > this.limit) {
  1095. this.onExceed && this.onExceed(this.fileList);
  1096. return;
  1097. }
  1098. if (this.submitting) return;
  1099. this.submitting = true;
  1100. this.file = file;
  1101. this.onStart(file);
  1102. var formNode = this.getFormNode();
  1103. var dataSpan = this.getFormDataNode();
  1104. var data = this.data;
  1105. if (typeof data === 'function') {
  1106. data = data(file);
  1107. }
  1108. var inputs = [];
  1109. for (var key in data) {
  1110. if (data.hasOwnProperty(key)) {
  1111. inputs.push('<input name="' + key + '" value="' + data[key] + '"/>');
  1112. }
  1113. }
  1114. dataSpan.innerHTML = inputs.join('');
  1115. formNode.submit();
  1116. dataSpan.innerHTML = '';
  1117. },
  1118. getFormNode: function getFormNode() {
  1119. return this.$refs.form;
  1120. },
  1121. getFormDataNode: function getFormDataNode() {
  1122. return this.$refs.data;
  1123. }
  1124. },
  1125. created: function created() {
  1126. this.frameName = 'frame-' + Date.now();
  1127. },
  1128. mounted: function mounted() {
  1129. var self = this;
  1130. !this.$isServer && window.addEventListener('message', function (event) {
  1131. if (!self.file) return;
  1132. var targetOrigin = new URL(self.action).origin;
  1133. if (event.origin !== targetOrigin) return;
  1134. var response = event.data;
  1135. if (response.result === 'success') {
  1136. self.onSuccess(response, self.file);
  1137. } else if (response.result === 'failed') {
  1138. self.onError(response, self.file);
  1139. }
  1140. self.submitting = false;
  1141. self.file = null;
  1142. }, false);
  1143. },
  1144. render: function render(h) {
  1145. var drag = this.drag,
  1146. uploadFiles = this.uploadFiles,
  1147. listType = this.listType,
  1148. frameName = this.frameName,
  1149. disabled = this.disabled;
  1150. var oClass = { 'el-upload': true };
  1151. oClass['el-upload--' + listType] = true;
  1152. return h(
  1153. 'div',
  1154. {
  1155. 'class': oClass,
  1156. on: {
  1157. 'click': this.handleClick
  1158. },
  1159. nativeOn: {
  1160. 'drop': this.onDrop,
  1161. 'dragover': this.handleDragover,
  1162. 'dragleave': this.handleDragleave
  1163. }
  1164. },
  1165. [h(
  1166. 'iframe',
  1167. {
  1168. on: {
  1169. 'load': this.onload
  1170. },
  1171. ref: 'iframe',
  1172. attrs: { name: frameName
  1173. }
  1174. },
  1175. []
  1176. ), h(
  1177. 'form',
  1178. { ref: 'form', attrs: { action: this.action, target: frameName, enctype: 'multipart/form-data', method: 'POST' }
  1179. },
  1180. [h(
  1181. 'input',
  1182. {
  1183. 'class': 'el-upload__input',
  1184. attrs: { type: 'file',
  1185. name: 'file',
  1186. accept: this.accept },
  1187. ref: 'input', on: {
  1188. 'change': this.handleChange
  1189. }
  1190. },
  1191. []
  1192. ), h(
  1193. 'input',
  1194. {
  1195. attrs: { type: 'hidden', name: 'documentDomain', value: this.$isServer ? '' : document.domain }
  1196. },
  1197. []
  1198. ), h(
  1199. 'span',
  1200. { ref: 'data' },
  1201. []
  1202. )]
  1203. ), drag ? h(
  1204. 'upload-dragger',
  1205. {
  1206. on: {
  1207. 'file': uploadFiles
  1208. },
  1209. attrs: { disabled: disabled }
  1210. },
  1211. [this.$slots.default]
  1212. ) : this.$slots.default]
  1213. );
  1214. }
  1215. };
  1216. /***/ }),
  1217. /***/ 4:
  1218. /***/ (function(module, exports) {
  1219. module.exports = require("element-ui/lib/mixins/locale");
  1220. /***/ }),
  1221. /***/ 44:
  1222. /***/ (function(module, exports) {
  1223. module.exports = require("babel-helper-vue-jsx-merge-props");
  1224. /***/ }),
  1225. /***/ 50:
  1226. /***/ (function(module, exports) {
  1227. module.exports = require("element-ui/lib/progress");
  1228. /***/ }),
  1229. /***/ 51:
  1230. /***/ (function(module, __webpack_exports__, __webpack_require__) {
  1231. "use strict";
  1232. Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
  1233. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_upload_dragger_vue__ = __webpack_require__(342);
  1234. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_upload_dragger_vue___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_upload_dragger_vue__);
  1235. /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_4d4d91e8_hasScoped_false_preserveWhitespace_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_upload_dragger_vue__ = __webpack_require__(343);
  1236. var normalizeComponent = __webpack_require__(0)
  1237. /* script */
  1238. /* template */
  1239. /* template functional */
  1240. var __vue_template_functional__ = false
  1241. /* styles */
  1242. var __vue_styles__ = null
  1243. /* scopeId */
  1244. var __vue_scopeId__ = null
  1245. /* moduleIdentifier (server only) */
  1246. var __vue_module_identifier__ = null
  1247. var Component = normalizeComponent(
  1248. __WEBPACK_IMPORTED_MODULE_0__babel_loader_node_modules_vue_loader_lib_selector_type_script_index_0_upload_dragger_vue___default.a,
  1249. __WEBPACK_IMPORTED_MODULE_1__node_modules_vue_loader_lib_template_compiler_index_id_data_v_4d4d91e8_hasScoped_false_preserveWhitespace_false_buble_transforms_node_modules_vue_loader_lib_selector_type_template_index_0_upload_dragger_vue__["a" /* default */],
  1250. __vue_template_functional__,
  1251. __vue_styles__,
  1252. __vue_scopeId__,
  1253. __vue_module_identifier__
  1254. )
  1255. /* harmony default export */ __webpack_exports__["default"] = (Component.exports);
  1256. /***/ }),
  1257. /***/ 7:
  1258. /***/ (function(module, exports) {
  1259. module.exports = require("element-ui/lib/mixins/migrating");
  1260. /***/ })
  1261. /******/ });