daShangDao_miniProgram/unpackage/dist/dev/mp-weixin/components/WarehouserSelector.js
2026-06-15 16:37:57 +08:00

746 lines
48 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

(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']]
]);