"use strict"; var common_vendor = require("../../../../common/vendor.js"); var uni_modules_uviewPlus_components_uPicker_props = require("./props.js"); var uni_modules_uviewPlus_libs_mixin_mpMixin = require("../../libs/mixin/mpMixin.js"); var uni_modules_uviewPlus_libs_mixin_mixin = require("../../libs/mixin/mixin.js"); require("../../libs/config/props.js"); require("../../libs/config/config.js"); require("../../libs/config/props/actionSheet.js"); require("../../libs/config/props/album.js"); require("../../libs/config/props/alert.js"); require("../../libs/config/props/avatar.js"); require("../../libs/config/props/avatarGroup.js"); require("../../libs/config/props/backtop.js"); require("../../libs/config/props/badge.js"); require("../../libs/config/props/button.js"); require("../../libs/config/props/calendar.js"); require("../../libs/config/props/carKeyboard.js"); require("../../libs/config/props/cell.js"); require("../../libs/config/props/cellGroup.js"); require("../../libs/config/props/checkbox.js"); require("../../libs/config/props/checkboxGroup.js"); require("../../libs/config/props/circleProgress.js"); require("../../libs/config/props/code.js"); require("../../libs/config/props/codeInput.js"); require("../../libs/config/props/col.js"); require("../../libs/config/props/collapse.js"); require("../../libs/config/props/collapseItem.js"); require("../../libs/config/props/columnNotice.js"); require("../../libs/config/props/countDown.js"); require("../../libs/config/props/countTo.js"); require("../../libs/config/props/datetimePicker.js"); require("../../libs/config/props/divider.js"); require("../../libs/config/props/empty.js"); require("../../libs/config/props/form.js"); require("../../libs/config/props/formItem.js"); require("../../libs/config/props/gap.js"); require("../../libs/config/props/grid.js"); require("../../libs/config/props/gridItem.js"); require("../../libs/config/props/icon.js"); require("../../libs/config/props/image.js"); require("../../libs/config/props/indexAnchor.js"); require("../../libs/config/props/indexList.js"); require("../../libs/config/props/input.js"); require("../../libs/config/props/keyboard.js"); require("../../libs/config/props/line.js"); require("../../libs/config/props/lineProgress.js"); require("../../libs/config/props/link.js"); require("../../libs/config/props/list.js"); require("../../libs/config/props/listItem.js"); require("../../libs/config/props/loadingIcon.js"); require("../../libs/config/props/loadingPage.js"); require("../../libs/config/props/loadmore.js"); require("../../libs/config/props/modal.js"); require("../../libs/config/props/navbar.js"); require("../../libs/config/color.js"); require("../../libs/config/props/noNetwork.js"); require("../../libs/config/props/noticeBar.js"); require("../../libs/config/props/notify.js"); require("../../libs/config/props/numberBox.js"); require("../../libs/config/props/numberKeyboard.js"); require("../../libs/config/props/overlay.js"); require("../../libs/config/props/parse.js"); require("../../libs/config/props/picker.js"); require("../../libs/config/props/popup.js"); require("../../libs/config/props/radio.js"); require("../../libs/config/props/radioGroup.js"); require("../../libs/config/props/rate.js"); require("../../libs/config/props/readMore.js"); require("../../libs/config/props/row.js"); require("../../libs/config/props/rowNotice.js"); require("../../libs/config/props/scrollList.js"); require("../../libs/config/props/search.js"); require("../../libs/config/props/section.js"); require("../../libs/config/props/skeleton.js"); require("../../libs/config/props/slider.js"); require("../../libs/config/props/statusBar.js"); require("../../libs/config/props/steps.js"); require("../../libs/config/props/stepsItem.js"); require("../../libs/config/props/sticky.js"); require("../../libs/config/props/subsection.js"); require("../../libs/config/props/swipeAction.js"); require("../../libs/config/props/swipeActionItem.js"); require("../../libs/config/props/swiper.js"); require("../../libs/config/props/swipterIndicator.js"); require("../../libs/config/props/switch.js"); require("../../libs/config/props/tabbar.js"); require("../../libs/config/props/tabbarItem.js"); require("../../libs/config/props/tabs.js"); require("../../libs/config/props/tag.js"); require("../../libs/config/props/text.js"); require("../../libs/config/props/textarea.js"); require("../../libs/config/props/toast.js"); require("../../libs/config/props/toolbar.js"); require("../../libs/config/props/tooltip.js"); require("../../libs/config/props/transition.js"); require("../../libs/config/props/upload.js"); require("../../libs/config/props/drawer.js"); const _sfc_main = { name: "u-picker", mixins: [uni_modules_uviewPlus_libs_mixin_mpMixin.mpMixin, uni_modules_uviewPlus_libs_mixin_mixin.mixin, uni_modules_uviewPlus_components_uPicker_props.props], data() { return { lastIndex: [], innerIndex: [], innerColumns: [], columnIndex: 0 }; }, watch: { defaultIndex: { immediate: true, handler(n) { this.setIndexs(n, true); } }, columns: { immediate: true, deep: true, handler(n) { this.setColumns(n); } } }, emits: ["close", "cancel", "confirm", "change"], methods: { getItemText(item) { if (common_vendor.index.$u.test.object(item)) { return item[this.keyName]; } else { return item; } }, closeHandler() { if (this.closeOnClickOverlay) { this.$emit("close"); } }, cancel() { this.$emit("cancel"); }, confirm() { this.$emit("confirm", { indexs: this.innerIndex, value: this.innerColumns.map((item, index) => item[this.innerIndex[index]]), values: this.innerColumns }); }, changeHandler(e) { const { value } = e.detail; let index = 0, columnIndex = 0; for (let i = 0; i < value.length; i++) { let item = value[i]; if (item !== (this.lastIndex[i] || 0)) { columnIndex = i; index = item; break; } } this.columnIndex = columnIndex; const values = this.innerColumns; this.setLastIndex(value); this.setIndexs(value); this.$emit("change", { value: this.innerColumns.map((item, index2) => item[value[index2]]), index, indexs: value, values, columnIndex }); }, setIndexs(index, setLastIndex) { this.innerIndex = common_vendor.index.$u.deepClone(index); if (setLastIndex) { this.setLastIndex(index); } }, setLastIndex(index) { this.lastIndex = common_vendor.index.$u.deepClone(index); }, setColumnValues(columnIndex, values) { this.innerColumns.splice(columnIndex, 1, values); let tmpIndex = common_vendor.index.$u.deepClone(this.innerIndex); for (let i = 0; i < this.innerColumns.length; i++) { if (i > this.columnIndex) { tmpIndex[i] = 0; } } this.setIndexs(tmpIndex); }, getColumnValues(columnIndex) { (async () => { await common_vendor.index.$u.sleep(); })(); return this.innerColumns[columnIndex]; }, setColumns(columns) { console.log(columns); this.innerColumns = common_vendor.index.$u.deepClone(columns); if (this.innerIndex.length === 0) { this.innerIndex = new Array(columns.length).fill(0); } }, getIndexs() { return this.innerIndex; }, getValues() { (async () => { await common_vendor.index.$u.sleep(); })(); return this.innerColumns.map((item, index) => item[this.innerIndex[index]]); } } }; if (!Array) { const _easycom_u_toolbar2 = common_vendor.resolveComponent("u-toolbar"); const _easycom_u_loading_icon2 = common_vendor.resolveComponent("u-loading-icon"); const _easycom_u_popup2 = common_vendor.resolveComponent("u-popup"); (_easycom_u_toolbar2 + _easycom_u_loading_icon2 + _easycom_u_popup2)(); } const _easycom_u_toolbar = () => "../u-toolbar/u-toolbar.js"; const _easycom_u_loading_icon = () => "../u-loading-icon/u-loading-icon.js"; const _easycom_u_popup = () => "../u-popup/u-popup.js"; if (!Math) { (_easycom_u_toolbar + _easycom_u_loading_icon + _easycom_u_popup)(); } function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { return common_vendor.e({ a: _ctx.showToolbar }, _ctx.showToolbar ? { b: common_vendor.o($options.cancel), c: common_vendor.o($options.confirm), d: common_vendor.p({ cancelColor: _ctx.cancelColor, confirmColor: _ctx.confirmColor, cancelText: _ctx.cancelText, confirmText: _ctx.confirmText, title: _ctx.title }) } : {}, { e: common_vendor.f($data.innerColumns, (item, index, i0) => { return common_vendor.e({ a: _ctx.$u.test.array(item) }, _ctx.$u.test.array(item) ? { b: common_vendor.f(item, (item1, index1, i1) => { return { a: common_vendor.t($options.getItemText(item1)), b: index1, c: index1 === $data.innerIndex[index] ? "bold" : "normal" }; }), c: _ctx.$u.addUnit(_ctx.itemHeight), d: _ctx.$u.addUnit(_ctx.itemHeight) } : {}, { e: index }); }), f: `height: ${_ctx.$u.addUnit(_ctx.itemHeight)}`, g: $data.innerIndex, h: _ctx.immediateChange, i: `${_ctx.$u.addUnit(_ctx.visibleItemCount * _ctx.itemHeight)}`, j: common_vendor.o((...args) => $options.changeHandler && $options.changeHandler(...args)), k: _ctx.loading }, _ctx.loading ? { l: common_vendor.p({ mode: "circle" }) } : {}, { m: common_vendor.o($options.closeHandler), n: common_vendor.p({ show: _ctx.show }) }); } var Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-9bcc32ba"], ["__file", "D:/vue/\u5927\u5065\u5EB7\u5546\u57CE/healthMall/uni_modules/uview-plus/components/u-picker/u-picker.vue"]]); wx.createComponent(Component);