(global["webpackJsonp"] = global["webpackJsonp"] || []).push([["components/WarehouserSelector"],{ /***/ 445: /*!***********************************************************!*\ !*** D:/project/zhizhu/components/WarehouserSelector.vue ***! \***********************************************************/ /*! no static exports found */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _WarehouserSelector_vue_vue_type_template_id_5450f0a9_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./WarehouserSelector.vue?vue&type=template&id=5450f0a9&scoped=true& */ 446); /* harmony import */ var _WarehouserSelector_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./WarehouserSelector.vue?vue&type=script&lang=js& */ 448); /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _WarehouserSelector_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _WarehouserSelector_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__[key]; }) }(__WEBPACK_IMPORT_KEY__)); /* harmony import */ var _WarehouserSelector_vue_vue_type_style_index_0_id_5450f0a9_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./WarehouserSelector.vue?vue&type=style&index=0&id=5450f0a9&scoped=true&lang=css& */ 450); /* harmony import */ var _HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/runtime/componentNormalizer.js */ 41); var renderjs /* normalize component */ var component = Object(_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])( _WarehouserSelector_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], _WarehouserSelector_vue_vue_type_template_id_5450f0a9_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"], _WarehouserSelector_vue_vue_type_template_id_5450f0a9_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"], false, null, "5450f0a9", null, false, _WarehouserSelector_vue_vue_type_template_id_5450f0a9_scoped_true___WEBPACK_IMPORTED_MODULE_0__["components"], renderjs ) component.options.__file = "components/WarehouserSelector.vue" /* harmony default export */ __webpack_exports__["default"] = (component.exports); /***/ }), /***/ 446: /*!******************************************************************************************************!*\ !*** D:/project/zhizhu/components/WarehouserSelector.vue?vue&type=template&id=5450f0a9&scoped=true& ***! \******************************************************************************************************/ /*! exports provided: render, staticRenderFns, recyclableRender, components */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_WarehouserSelector_vue_vue_type_template_id_5450f0a9_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--17-0!../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./WarehouserSelector.vue?vue&type=template&id=5450f0a9&scoped=true& */ 447); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "render", function() { return _HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_WarehouserSelector_vue_vue_type_template_id_5450f0a9_scoped_true___WEBPACK_IMPORTED_MODULE_0__["render"]; }); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return _HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_WarehouserSelector_vue_vue_type_template_id_5450f0a9_scoped_true___WEBPACK_IMPORTED_MODULE_0__["staticRenderFns"]; }); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return _HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_WarehouserSelector_vue_vue_type_template_id_5450f0a9_scoped_true___WEBPACK_IMPORTED_MODULE_0__["recyclableRender"]; }); /* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "components", function() { return _HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_17_0_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_template_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_uni_app_loader_page_meta_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_WarehouserSelector_vue_vue_type_template_id_5450f0a9_scoped_true___WEBPACK_IMPORTED_MODULE_0__["components"]; }); /***/ }), /***/ 447: /*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--17-0!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/template.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-uni-app-loader/page-meta.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!D:/project/zhizhu/components/WarehouserSelector.vue?vue&type=template&id=5450f0a9&scoped=true& ***! \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! exports provided: render, staticRenderFns, recyclableRender, components */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "render", function() { return render; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "staticRenderFns", function() { return staticRenderFns; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "recyclableRender", function() { return recyclableRender; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "components", function() { return components; }); var components try { components = { uPicker: function () { return Promise.all(/*! import() | uni_modules/uview-ui/components/u-picker/u-picker */[__webpack_require__.e("common/vendor"), __webpack_require__.e("uni_modules/uview-ui/components/u-picker/u-picker")]).then(__webpack_require__.bind(null, /*! @/uni_modules/uview-ui/components/u-picker/u-picker.vue */ 402)) }, } } catch (e) { if ( e.message.indexOf("Cannot find module") !== -1 && e.message.indexOf(".vue") !== -1 ) { console.error(e.message) console.error("1. 排查组件名称拼写是否正确") console.error( "2. 排查组件是否符合 easycom 规范,文档:https://uniapp.dcloud.net.cn/collocation/pages?id=easycom" ) console.error( "3. 若组件不符合 easycom 规范,需手动引入,并在 components 中注册该组件" ) } else { throw e } } var render = function () { var _vm = this var _h = _vm.$createElement var _c = _vm._self._c || _h } var recyclableRender = false var staticRenderFns = [] render._withStripped = true /***/ }), /***/ 448: /*!************************************************************************************!*\ !*** D:/project/zhizhu/components/WarehouserSelector.vue?vue&type=script&lang=js& ***! \************************************************************************************/ /*! no static exports found */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_WarehouserSelector_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../HBuilderX/plugins/uniapp-cli/node_modules/babel-loader/lib!../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./WarehouserSelector.vue?vue&type=script&lang=js& */ 449); /* harmony import */ var _HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_WarehouserSelector_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_WarehouserSelector_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__); /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_WarehouserSelector_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_WarehouserSelector_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__)); /* harmony default export */ __webpack_exports__["default"] = (_HBuilderX_plugins_uniapp_cli_node_modules_babel_loader_lib_index_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_13_1_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_script_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_WarehouserSelector_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0___default.a); /***/ }), /***/ 449: /*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--13-1!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/script.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!D:/project/zhizhu/components/WarehouserSelector.vue?vue&type=script&lang=js& ***! \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /* WEBPACK VAR INJECTION */(function(uni) { var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ 4); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _regenerator = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/regenerator */ 36)); var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ 5)); var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/asyncToGenerator */ 38)); // // // // // // // // // // // // // // // var _default = { name: 'WarehouseSelector', props: { // 初始选中的货区 initialStorage: { type: String, default: '' }, // 原始warehouse对象 initialWarehouse: { type: Object, default: null } }, data: function data() { return { showPicker: false, selectedStorage: this.initialStorage, warehouse: '', shelf: '', location: '', columns: [[], // 仓库列表 [], // 货架列表 [] // 货位列表 ], shelves: [], // 货架列表 locations: [], // 货位列表 selectedWarehouse: this.initialWarehouse || null, // 从 prop 初始化 selectedSheId: null, selectedFreId: null }; }, mounted: function mounted() { // 确保数据加载:如果 initialWarehouse 有值但 columns 还没数据,重新加载 if (this.initialWarehouse && this.columns[1].length === 0) { console.log('WarehouserSelector mounted: initialWarehouse存在但columns为空,重新加载数据'); this.initData(); } }, watch: { // 监听initialWarehouse变化,重新初始化 initialWarehouse: { handler: function handler(newValue) { if (newValue) { this.selectedWarehouse = newValue; this.initData(); } }, immediate: true }, selectedWarehouse: { handler: function handler(newVal, oldVal) { var _this = this; if (newVal) { // 重新拉取货架和货位数据 this.columns[0] = [newVal.name]; this.fetchShelves(newVal.id).then(function (shelves) { if (shelves.length > 0) { _this.columns[1] = shelves.map(function (item) { return item.code; }); _this.fetchLocations(shelves[0].id).then(function (locations) { _this.columns[2] = locations.map(function (item) { return item.code; }); // 在数据加载完成后,尝试加载该仓库的货区状态 _this.$nextTick(function () { _this.loadStorageSelection(); }); }); } else { _this.columns[1] = []; _this.columns[2] = []; // 没有货架数据时也要尝试加载货区状态(可能会清空) _this.$nextTick(function () { _this.loadStorageSelection(); }); } }); // 如果是仓库切换(不是初始化),先清空当前状态 if (oldVal && oldVal.id !== newVal.id) { console.log("\u4ED3\u5E93\u4ECE".concat(oldVal.id, "\u5207\u6362\u5230").concat(newVal.id, "\uFF0C\u6E05\u7A7A\u5F53\u524D\u8D27\u533A\u72B6\u6001")); this.clearStorageSelection(); } } else { // 没有选择仓库时清空状态 this.clearStorageSelection(); } }, immediate: true } }, methods: { // 保存货区选择状态到本地存储 saveStorageSelection: function saveStorageSelection() { // 只有在选择了仓库的情况下才保存货区状态 if (!this.selectedWarehouse || !this.selectedWarehouse.id) { console.log('未选择仓库,不保存货区状态'); return; } var storageData = { selectedStorage: this.selectedStorage, warehouse: this.warehouse, shelf: this.shelf, location: this.location, selectedSheId: this.selectedSheId, selectedFreId: this.selectedFreId }; // 使用仓库ID作为键的一部分,为每个仓库单独保存货区状态 var storageKey = "selectedStorageData_".concat(this.selectedWarehouse.id); uni.setStorageSync(storageKey, storageData); console.log("\u4FDD\u5B58\u4ED3\u5E93".concat(this.selectedWarehouse.id, "\u7684\u8D27\u533A\u9009\u62E9\u72B6\u6001:"), storageData); }, // 从本地存储加载货区选择状态 loadStorageSelection: function loadStorageSelection() { try { // 只有在选择了仓库的情况下才加载货区状态 if (!this.selectedWarehouse || !this.selectedWarehouse.id) { console.log('未选择仓库,清空货区状态'); this.clearStorageSelection(); return; } // 根据仓库ID加载对应的货区状态 var storageKey = "selectedStorageData_".concat(this.selectedWarehouse.id); var storageData = uni.getStorageSync(storageKey); if (storageData) { console.log("\u52A0\u8F7D\u4ED3\u5E93".concat(this.selectedWarehouse.id, "\u7684\u8D27\u533A\u9009\u62E9\u72B6\u6001:"), storageData); this.selectedStorage = storageData.selectedStorage || ''; this.warehouse = storageData.warehouse || ''; this.shelf = storageData.shelf || ''; this.location = storageData.location || ''; this.selectedSheId = storageData.selectedSheId || null; this.selectedFreId = storageData.selectedFreId || null; // 强制更新视图 this.$forceUpdate(); } else { console.log("\u4ED3\u5E93".concat(this.selectedWarehouse.id, "\u6CA1\u6709\u4FDD\u5B58\u7684\u8D27\u533A\u72B6\u6001\uFF0C\u6E05\u7A7A\u5F53\u524D\u72B6\u6001")); this.clearStorageSelection(); } } catch (error) { console.error('加载货区选择状态失败:', error); } }, // 清空货区选择状态 clearStorageSelection: function clearStorageSelection() { this.selectedStorage = ''; this.warehouse = ''; this.shelf = ''; this.location = ''; this.selectedSheId = null; this.selectedFreId = null; // 重置选择器的值 this.selectedValues = ['', '', '']; // 强制更新视图 this.$forceUpdate(); console.log('已清空货区选择状态'); }, // 初始化数据 initData: function initData() { var _this2 = this; return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() { var shelves; return _regenerator.default.wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: if (!_this2.initialWarehouse) { _context.next = 10; break; } _this2.selectedWarehouse = _this2.initialWarehouse; // 设置仓库列 _this2.columns[0] = [_this2.initialWarehouse.name]; // 加载货架数据 if (!_this2.initialWarehouse.id) { _context.next = 10; break; } _context.next = 6; return _this2.fetchShelves(_this2.initialWarehouse.id); case 6: shelves = _context.sent; if (!(shelves && shelves.length > 0)) { _context.next = 10; break; } _context.next = 10; return _this2.fetchLocations(shelves[0].id); case 10: case "end": return _context.stop(); } } }, _callee); }))(); }, // 更新选中的货区数据 updateSelectedStorage: function updateSelectedStorage(data) { // console.log('更新货区数据:', data); if (data) { this.selectedStorage = data.storage; this.warehouse = data.warehouse; this.shelf = data.shelf; this.location = data.location; this.selectedSheId = data.shelfId; this.selectedFreId = data.locationId; // 强制更新视图 this.$forceUpdate(); } }, // 打开选择器 openPicker: function openPicker() { var _this3 = this; return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2() { var warehouse, shelves; return _regenerator.default.wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: // 使用 selectedWarehouse 或 initialWarehouse 作为 fallback warehouse = _this3.selectedWarehouse || _this3.initialWarehouse; console.log('openPicker: warehouse=', warehouse, 'columns=', _this3.columns); if (!warehouse) { _context2.next = 15; break; } // 确保仓库列有数据 if (_this3.columns[0].length === 0) { _this3.columns[0] = [warehouse.name]; } // 确保货架列有数据,如果没有则加载 if (!(_this3.columns[1].length === 0)) { _context2.next = 13; break; } console.log('openPicker: 货架数据为空,开始加载'); _context2.next = 8; return _this3.fetchShelves(warehouse.id); case 8: shelves = _context2.sent; if (!(shelves && shelves.length > 0)) { _context2.next = 13; break; } if (!(_this3.columns[2].length === 0)) { _context2.next = 13; break; } _context2.next = 13; return _this3.fetchLocations(shelves[0].id); case 13: _context2.next = 16; break; case 15: console.log('openPicker: 没有仓库数据'); case 16: console.log('openPicker: 最终 columns数据:', _this3.columns); _this3.showPicker = true; case 18: case "end": return _context2.stop(); } } }, _callee2); }))(); }, // 点击标签 onLabelClick: function onLabelClick() { this.$emit('label-click'); }, // 取消选择 cancelPicker: function cancelPicker() { this.showPicker = false; }, // 确认选择 confirmPicker: function confirmPicker(e) { var value = e.value; var _value = (0, _slicedToArray2.default)(value, 3), warehouse = _value[0], shelf = _value[1], location = _value[2]; // 只有当三个值都存在时才保存选中的值 if (warehouse && shelf && location) { this.warehouse = warehouse; this.shelf = shelf; this.location = location; // 更新显示文本 this.selectedStorage = "".concat(warehouse, " / ").concat(shelf, " / ").concat(location); // 查找选中项的ID var selectedShelf = this.shelves.find(function (item) { return item.code === shelf; }); var selectedLocation = this.locations.find(function (item) { return item.code === location; }); // 保存选中ID this.selectedSheId = selectedShelf === null || selectedShelf === void 0 ? void 0 : selectedShelf.id; this.selectedFreId = selectedLocation === null || selectedLocation === void 0 ? void 0 : selectedLocation.id; // 保存选择状态到本地存储 this.saveStorageSelection(); // 向父组件发送选中数据 this.$emit('storage-selected', { storage: this.selectedStorage, warehouse: this.warehouse, shelf: this.shelf, location: this.location, shelfId: this.selectedSheId, locationId: this.selectedFreId }); } else { // 如果不完整,提示用户 uni.showToast({ title: '请完整选择仓库、货架和货位', icon: 'none' }); } this.showPicker = false; }, // 处理picker列变化 changeHandler: function changeHandler(e) { var _this4 = this; return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3() { var columnIndex, index, warehouseName, selectedShelf; return _regenerator.default.wrap(function _callee3$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: if (e) { _context3.next = 3; break; } console.warn('changeHandler: 事件对象为空'); return _context3.abrupt("return"); case 3: // console.log('选择器变化:', e); // 获取列索引和选中的索引数组 columnIndex = e.columnIndex, index = e.index; // 如果是选择了仓库(第0列) if (!(columnIndex === 0)) { _context3.next = 9; break; } // 获取选中的仓库 warehouseName = _this4.columns[0][index]; // 使用仓库ID获取货架数据 if (!(_this4.selectedWarehouse && _this4.selectedWarehouse.id)) { _context3.next = 9; break; } _context3.next = 9; return _this4.fetchShelves(_this4.selectedWarehouse.id); case 9: if (!(columnIndex === 1 && _this4.shelves.length > 0)) { _context3.next = 15; break; } // 获取选中的货架 selectedShelf = _this4.shelves[index]; // console.log('选中货架:', selectedShelf); // 保存选中的货架ID if (!(selectedShelf && selectedShelf.id)) { _context3.next = 15; break; } _this4.selectedSheId = selectedShelf.id; _context3.next = 15; return _this4.fetchLocations(selectedShelf.id); case 15: case "end": return _context3.stop(); } } }, _callee3); }))(); }, // 获取货架列表 fetchShelves: function fetchShelves(depotId) { var _this5 = this; return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4() { var _res$data, response, _ref, _ref2, err, res; return _regenerator.default.wrap(function _callee4$(_context4) { while (1) { switch (_context4.prev = _context4.next) { case 0: console.log('fetchShelves 被调用, depotId:', depotId); _context4.prev = 1; _context4.next = 4; return uni.request({ url: 'https://api.buzhiyushu.cn/shelves/shelves/sheNamelist', data: { depotId: depotId } }); case 4: response = _context4.sent; // 使用数组解构获取响应结果 _ref = Array.isArray(response) ? response : [null, response], _ref2 = (0, _slicedToArray2.default)(_ref, 2), err = _ref2[0], res = _ref2[1]; console.log('fetchShelves 响应:', res === null || res === void 0 ? void 0 : res.data); if (res !== null && res !== void 0 && (_res$data = res.data) !== null && _res$data !== void 0 && _res$data.rows) { _context4.next = 10; break; } console.error('获取货架数据失败,返回空数据'); return _context4.abrupt("return", []); case 10: _this5.shelves = res.data.rows; // 保存货架列表 _this5.columns[1] = _this5.shelves.map(function (item) { return item.code || '未知货架'; }); console.log('fetchShelves 完成, shelves:', _this5.shelves.length, 'columns[1]:', _this5.columns[1].length); // 更新UI _this5.$nextTick(function () { if (_this5.$refs.uPicker) { _this5.$refs.uPicker.setColumnValues(1, _this5.columns[1]); // 清空货位列 _this5.$refs.uPicker.setColumnValues(2, []); } }); return _context4.abrupt("return", _this5.shelves); case 17: _context4.prev = 17; _context4.t0 = _context4["catch"](1); console.error('获取货架失败:', _context4.t0); return _context4.abrupt("return", []); case 21: case "end": return _context4.stop(); } } }, _callee4, null, [[1, 17]]); }))(); }, // 获取货位列表 fetchLocations: function fetchLocations(sheId) { var _this6 = this; return (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5() { var response, _ref3, _ref4, err, res, locations; return _regenerator.default.wrap(function _callee5$(_context5) { while (1) { switch (_context5.prev = _context5.next) { case 0: if (sheId) { _context5.next = 3; break; } console.error('获取货位列表失败:未提供货架ID'); return _context5.abrupt("return", []); case 3: _context5.prev = 3; _context5.next = 6; return uni.request({ url: 'https://api.buzhiyushu.cn/shelves/shelves/freNamelist', method: 'GET', data: { sheId: sheId } }); case 6: response = _context5.sent; // 使用数组解构获取响应结果 _ref3 = Array.isArray(response) ? response : [null, response], _ref4 = (0, _slicedToArray2.default)(_ref3, 2), err = _ref4[0], res = _ref4[1]; if (!err) { _context5.next = 11; break; } console.error('获取货位请求错误:', err); return _context5.abrupt("return", []); case 11: if (!(!res || !res.data || !res.data.rows)) { _context5.next = 14; break; } console.error('货位响应数据格式不正确'); return _context5.abrupt("return", []); case 14: locations = res.data.rows; // console.log('获取到货位数据:', locations); // 保存货位数据 _this6.locations = locations; // 更新货位列 _this6.columns[2] = locations.map(function (item) { return item.code || '未知货位'; }); // console.log('货位选项:', this.columns[2]); // 更新UI _this6.$nextTick(function () { if (_this6.$refs.uPicker) { _this6.$refs.uPicker.setColumnValues(2, _this6.columns[2]); } }); return _context5.abrupt("return", locations); case 21: _context5.prev = 21; _context5.t0 = _context5["catch"](3); console.error('获取货位列表失败:', _context5.t0); return _context5.abrupt("return", []); case 25: case "end": return _context5.stop(); } } }, _callee5, null, [[3, 21]]); }))(); } }, created: function created() { // 监听外部更新事件 this.$on('storage-selected', this.updateSelectedStorage); }, beforeDestroy: function beforeDestroy() { // 移除事件监听 this.$off('storage-selected', this.updateSelectedStorage); } }; exports.default = _default; /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./node_modules/@dcloudio/uni-mp-weixin/dist/index.js */ 2)["default"])) /***/ }), /***/ 450: /*!********************************************************************************************************************!*\ !*** D:/project/zhizhu/components/WarehouserSelector.vue?vue&type=style&index=0&id=5450f0a9&scoped=true&lang=css& ***! \********************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_WarehouserSelector_vue_vue_type_style_index_0_id_5450f0a9_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../HBuilderX/plugins/uniapp-cli/node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../HBuilderX/plugins/uniapp-cli/node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-oneOf-1-2!../../../HBuilderX/plugins/uniapp-cli/node_modules/postcss-loader/src??ref--6-oneOf-1-3!../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!../../../HBuilderX/plugins/uniapp-cli/node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!./WarehouserSelector.vue?vue&type=style&index=0&id=5450f0a9&scoped=true&lang=css& */ 451); /* harmony import */ var _HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_WarehouserSelector_vue_vue_type_style_index_0_id_5450f0a9_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_WarehouserSelector_vue_vue_type_style_index_0_id_5450f0a9_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__); /* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_WarehouserSelector_vue_vue_type_style_index_0_id_5450f0a9_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__) if(["default"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_WarehouserSelector_vue_vue_type_style_index_0_id_5450f0a9_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__[key]; }) }(__WEBPACK_IMPORT_KEY__)); /* harmony default export */ __webpack_exports__["default"] = (_HBuilderX_plugins_uniapp_cli_node_modules_mini_css_extract_plugin_dist_loader_js_ref_6_oneOf_1_0_HBuilderX_plugins_uniapp_cli_node_modules_css_loader_dist_cjs_js_ref_6_oneOf_1_1_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_loaders_stylePostLoader_js_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_webpack_preprocess_loader_index_js_ref_6_oneOf_1_2_HBuilderX_plugins_uniapp_cli_node_modules_postcss_loader_src_index_js_ref_6_oneOf_1_3_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_vue_cli_plugin_uni_packages_vue_loader_lib_index_js_vue_loader_options_HBuilderX_plugins_uniapp_cli_node_modules_dcloudio_webpack_uni_mp_loader_lib_style_js_WarehouserSelector_vue_vue_type_style_index_0_id_5450f0a9_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0___default.a); /***/ }), /***/ 451: /*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!./node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/webpack-preprocess-loader??ref--6-oneOf-1-2!./node_modules/postcss-loader/src??ref--6-oneOf-1-3!./node_modules/@dcloudio/vue-cli-plugin-uni/packages/vue-loader/lib??vue-loader-options!./node_modules/@dcloudio/webpack-uni-mp-loader/lib/style.js!D:/project/zhizhu/components/WarehouserSelector.vue?vue&type=style&index=0&id=5450f0a9&scoped=true&lang=css& ***! \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { // extracted by mini-css-extract-plugin if(false) { var cssReload; } /***/ }) }]); //# sourceMappingURL=../../.sourcemap/mp-weixin/components/WarehouserSelector.js.map ;(global["webpackJsonp"] = global["webpackJsonp"] || []).push([ 'components/WarehouserSelector-create-component', { 'components/WarehouserSelector-create-component':(function(module, exports, __webpack_require__){ __webpack_require__('2')['createComponent'](__webpack_require__(445)) }) }, [['components/WarehouserSelector-create-component']] ]);