"use strict"; const common_vendor = require("../../common/vendor.js"); const pages_subcomponent_regionData = require("./region-data.js"); const pages_mixins_pullRefreshMixin = require("../mixins/pullRefreshMixin.js"); const _sfc_main = { mixins: [pages_mixins_pullRefreshMixin.pullRefreshMixin], data() { return { statusBarHeight: 0, addressList: [ { name: "郑文锦", phone: "18108341643", address: "海南省海口市秀英区秀英街道5单元183室", defaultFlag: "Y" }, { name: "周俊", phone: "13293992217", address: "贵州省遵义市道真仡佬族苗族自治县洛龙镇5幢172室", defaultFlag: "N" }, { name: "何炜", phone: "18108341643", address: "新疆维吾尔自治区乌鲁木齐市沙依巴克区仓房沟片区街道4单元50室", defaultFlag: "N" }, { name: "赵晓艳", phone: "15022123314", address: "海南省海口市秀英区秀英街道5单元183室", defaultFlag: "N" }, { name: "冯云", phone: "15731435825", address: "甘肃省兰州市城关区滑源路街道13幢199室", defaultFlag: "N" }, { name: "钱皓皓", phone: "18734717201", address: "西藏自治区拉萨市堆龙德庆县东嘎镇7单元94室", defaultFlag: "N" } ], batchMode: false, selectedIndexes: [], showAddressModal: false, showRegionPicker: false, form: { name: "", phone: "", region: [], address: "", addressDetails: "" }, provinces: pages_subcomponent_regionData.regionData, cities: [], districts: [], regionIndex: [0, 0, 0], mode: "" }; }, watch: { regionIndex: { handler(val) { var _a, _b, _c, _d; let pIdx = val[0] < this.provinces.length ? val[0] : 0; let cIdx = val[1] < (((_b = (_a = this.provinces[pIdx]) == null ? void 0 : _a.children) == null ? void 0 : _b.length) || 0) ? val[1] : 0; this.cities = ((_c = this.provinces[pIdx]) == null ? void 0 : _c.children) || []; this.districts = ((_d = this.cities[cIdx]) == null ? void 0 : _d.children) || []; }, immediate: true } }, onPullDownRefresh() { this.getAddressList(() => { common_vendor.index.stopPullDownRefresh(); }); }, onLoad(options) { var _a, _b; this.statusBarHeight = common_vendor.index.getSystemInfoSync().statusBarHeight; this.cities = ((_a = this.provinces[0]) == null ? void 0 : _a.children) || []; this.districts = ((_b = this.cities[0]) == null ? void 0 : _b.children) || []; this.regionIndex = [0, 0, 0]; this.getAddressList(); this.mode = options.mode || ""; }, methods: { async onRefresh() { await new Promise((resolve) => setTimeout(resolve, 1e3)); common_vendor.index.stopPullRefresh(); }, getAddressList(callback) { this.$api("getAddressList", {}, (res) => { if (res && res.result && res.result.records) { this.addressList = res.result.records; } if (typeof callback === "function") callback(); }); }, goBack() { common_vendor.index.navigateBack(); }, startBatchDelete() { this.batchMode = true; this.selectedIndexes = []; }, cancelBatchDelete() { this.batchMode = false; this.selectedIndexes = []; }, selectItem(index) { if (!this.batchMode) return; const idx = this.selectedIndexes.indexOf(index); if (idx > -1) { this.selectedIndexes.splice(idx, 1); } else { this.selectedIndexes.push(index); } }, confirmDelete() { if (this.selectedIndexes.length === 0) return; common_vendor.index.showModal({ title: "提示", content: "确定要删除选中的地址吗?", success: (res) => { if (res.confirm) { this.selectedIndexes.sort((a, b) => b - a).forEach((index) => { this.addressList.splice(index, 1); }); this.batchMode = false; this.selectedIndexes = []; } } }); }, editAddress(item) { var _a, _b; this.showAddressModal = true; this.form = { id: item.id, name: item.name, phone: item.phone, region: [], address: item.address, addressDetails: item.addressDetails, defaultFlag: item.defaultFlag }; this.regionIndex = [0, 0, 0]; this.cities = ((_a = this.provinces[0]) == null ? void 0 : _a.children) || []; this.districts = ((_b = this.cities[0]) == null ? void 0 : _b.children) || []; }, goToAddAddress() { var _a, _b; this.showAddressModal = true; this.form = { id: void 0, name: "", phone: "", region: [], address: "", addressDetails: "" }; this.regionIndex = [0, 0, 0]; this.cities = ((_a = this.provinces[0]) == null ? void 0 : _a.children) || []; this.districts = ((_b = this.cities[0]) == null ? void 0 : _b.children) || []; }, selectAddress(address) { if (this.mode === "select") { common_vendor.index.$emit("addressSelected", { id: address.id, name: address.name, phone: address.phone, address: address.address, addressDetails: address.addressDetails }); common_vendor.index.navigateBack(); } }, closeAddressModal() { this.showAddressModal = false; }, saveAddress() { if (!this.form.name) return common_vendor.index.showToast({ title: "请输入联系人", icon: "none" }); if (!this.form.phone) return common_vendor.index.showToast({ title: "请输入手机号", icon: "none" }); if (!this.form.address) return common_vendor.index.showToast({ title: "请选择地区", icon: "none" }); if (!this.form.addressDetails) return common_vendor.index.showToast({ title: "请输入详细地址", icon: "none" }); const params = { name: this.form.name, phone: this.form.phone, address: this.form.address, addressDetails: this.form.addressDetails, defaultFlag: this.form.defaultFlag }; if (this.form.id) params.id = this.form.id; this.$api("saveOrUpdateAddress", params, (res) => { if (res.code == 200) { common_vendor.index.showToast({ title: "保存成功", icon: "success" }); this.closeAddressModal(); this.getAddressList(); } }); }, onRegionChange(e) { let [pIdx, cIdx, dIdx] = e.detail.value; if (pIdx !== this.regionIndex[0]) { cIdx = 0; dIdx = 0; } else if (cIdx !== this.regionIndex[1]) { dIdx = 0; } this.regionIndex = [pIdx, cIdx, dIdx]; }, confirmRegion() { const province = this.provinces[this.regionIndex[0]]; const city = this.cities[this.regionIndex[1]]; const district = this.districts[this.regionIndex[2]]; this.form.region = [ (province == null ? void 0 : province.code) || "", (city == null ? void 0 : city.code) || "", (district == null ? void 0 : district.code) || "" ]; this.form.address = [ (province == null ? void 0 : province.name) || "", (city == null ? void 0 : city.name) || "", (district == null ? void 0 : district.name) || "" ].filter(Boolean).join(" "); this.showRegionPicker = false; }, setDefault(id) { const address = this.addressList.find((item) => item.id === id); const defaultFlag = address.defaultFlag === "Y" ? "N" : "Y"; this.$api("updateDefaultAddress", { id }, (res) => { if (res.code == 200) { common_vendor.index.showToast({ title: defaultFlag === "Y" ? "设置成功" : "已取消默认", icon: "success" }); this.getAddressList(); } }); }, deleteAddress(id) { common_vendor.index.showModal({ title: "提示", content: "确定要删除该地址吗?", success: (res) => { if (res.confirm) { this.$api("deleteAddress", { id }, (res2) => { if (res2.code == 200) { common_vendor.index.showToast({ title: "删除成功", icon: "success" }); this.getAddressList(); } }); } } }); }, initRegionPicker() { var _a, _b; if (this.form.region.length > 0) { const [provinceCode, cityCode, districtCode] = this.form.region; const provinceIndex = this.provinces.findIndex((p) => p.code === provinceCode); if (provinceIndex > -1) { this.cities = this.provinces[provinceIndex].children || []; if (this.cities.length === 0) { this.cities = [{ code: "", name: "请选择" }]; } const cityIndex = this.cities.findIndex((c) => c.code === cityCode); if (cityIndex > -1) { this.districts = this.cities[cityIndex].children || []; if (this.districts.length === 0) { this.districts = [{ code: "", name: "请选择" }]; } const districtIndex = this.districts.findIndex((d) => d.code === districtCode); this.regionIndex = [ provinceIndex, cityIndex, districtIndex > -1 ? districtIndex : 0 ]; return; } } } this.cities = ((_a = this.provinces[0]) == null ? void 0 : _a.children) || []; if (this.cities.length === 0) { this.cities = [{ code: "", name: "请选择" }]; } this.districts = ((_b = this.cities[0]) == null ? void 0 : _b.children) || []; if (this.districts.length === 0) { this.districts = [{ code: "", name: "请选择" }]; } this.regionIndex = [0, 0, 0]; } } }; if (!Array) { const _easycom_uni_icons2 = common_vendor.resolveComponent("uni-icons"); _easycom_uni_icons2(); } const _easycom_uni_icons = () => "../../uni_modules/uni-icons/components/uni-icons/uni-icons.js"; if (!Math) { _easycom_uni_icons(); } function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) { return common_vendor.e({ a: common_vendor.p({ type: "left", size: "20" }), b: common_vendor.o((...args) => $options.goBack && $options.goBack(...args)), c: $data.statusBarHeight + 88 + "rpx", d: $data.statusBarHeight + "px", e: common_vendor.f($data.addressList, (item, index, i0) => { return common_vendor.e({ a: common_vendor.t(item.name), b: common_vendor.t(item.phone), c: item.defaultFlag === "Y" }, item.defaultFlag === "Y" ? {} : {}, { d: common_vendor.t(item.address), e: common_vendor.t(item.addressDetails), f: item.defaultFlag === "Y" }, item.defaultFlag === "Y" ? {} : {}, { g: item.defaultFlag === "Y" ? 1 : "", h: item.defaultFlag === "Y" ? 1 : "", i: common_vendor.o(($event) => $options.setDefault(item.id), index), j: "d2c808da-1-" + i0, k: common_vendor.o(($event) => $options.editAddress(item), index), l: "d2c808da-2-" + i0, m: common_vendor.o(($event) => $options.deleteAddress(item.id), index), n: common_vendor.o(($event) => $options.selectAddress(item), index), o: index }); }), f: common_vendor.p({ type: "compose", size: "22", color: "#bbb" }), g: common_vendor.p({ type: "trash", size: "22", color: "#bbb" }), h: common_vendor.o((...args) => $options.goToAddAddress && $options.goToAddAddress(...args)), i: $data.showAddressModal }, $data.showAddressModal ? { j: common_vendor.o((...args) => $options.closeAddressModal && $options.closeAddressModal(...args)) } : {}, { k: $data.showAddressModal }, $data.showAddressModal ? { l: common_vendor.o((...args) => $options.closeAddressModal && $options.closeAddressModal(...args)), m: common_vendor.t($data.form.id ? "编辑地址" : "新建地址"), n: $data.form.name, o: common_vendor.o(($event) => $data.form.name = $event.detail.value), p: $data.form.phone, q: common_vendor.o(($event) => $data.form.phone = $event.detail.value), r: common_vendor.t($data.form.address || "选择省市区街道"), s: !$data.form.address ? 1 : "", t: common_vendor.o(($event) => $data.showRegionPicker = true), v: $data.form.addressDetails, w: common_vendor.o(($event) => $data.form.addressDetails = $event.detail.value), x: common_vendor.o((...args) => $options.saveAddress && $options.saveAddress(...args)) } : {}, { y: $data.showRegionPicker }, $data.showRegionPicker ? { z: common_vendor.o(($event) => $data.showRegionPicker = false), A: common_vendor.f($data.provinces, (item, index, i0) => { return { a: common_vendor.t(item.name), b: index }; }), B: common_vendor.f($data.cities, (item, index, i0) => { return { a: common_vendor.t(item.name), b: index }; }), C: common_vendor.f($data.districts, (item, index, i0) => { return { a: common_vendor.t(item.name), b: index }; }), D: $data.regionIndex, E: common_vendor.o((...args) => $options.onRegionChange && $options.onRegionChange(...args)), F: common_vendor.o((...args) => $options.confirmRegion && $options.confirmRegion(...args)) } : {}, { G: $data.statusBarHeight + 88 + "rpx" }); } const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-d2c808da"]]); wx.createPage(MiniProgramPage); //# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/subcomponent/select.js.map