爱简收旧衣按件回收前端代码仓库
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

669 lines
22 KiB

  1. "use strict";
  2. const common_vendor = require("../../common/vendor.js");
  3. const pages_mixins_tabBarMixin = require("../mixins/tabBarMixin.js");
  4. const utils_pinyin = require("../../utils/pinyin.js");
  5. const common_assets = require("../../common/assets.js");
  6. const _sfc_main = {
  7. mixins: [pages_mixins_tabBarMixin.tabBarMixin],
  8. data() {
  9. return {
  10. value: 1,
  11. ishow: true,
  12. // 动态数据
  13. allProducts: {},
  14. // { [categoryId]: [商品数组] }
  15. allProductsPage: {},
  16. // { [categoryId]: 当前已加载页码 }
  17. allProductsTotal: {},
  18. // { [categoryId]: 总数 }
  19. pageSize: 10,
  20. currentCategory: 0,
  21. tabbarHeight: 0,
  22. showDetailPanel: false,
  23. showBrandPopup: false,
  24. showRulePopup: false,
  25. ruleImgUrl: "/static/回收/回收规则.png",
  26. showPickupConfirm: false,
  27. showBrandConfirm: false,
  28. brandConfirmInfo: {
  29. logo: "",
  30. name: ""
  31. },
  32. brandList: [],
  33. brandIndexList: ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"],
  34. currentLetter: "A",
  35. scrollToView: "",
  36. brandSearch: "",
  37. ruleHtml: "",
  38. // 回收规则富文本内容
  39. loadingMore: false,
  40. finished: false,
  41. pendingBrandIndex: null
  42. // 记录待加一的品牌商品index
  43. };
  44. },
  45. computed: {
  46. // 当前分类的商品列表
  47. recycleList() {
  48. var _a;
  49. const currentCategoryId = (_a = this.categories[this.currentCategory]) == null ? void 0 : _a.id;
  50. return this.allProducts[currentCategoryId] || [];
  51. },
  52. // 计算总数量
  53. totalCount() {
  54. return Object.values(this.allProducts).reduce((total, categoryItems) => {
  55. return total + categoryItems.reduce((sum, item) => sum + (item.quantity || 0), 0);
  56. }, 0);
  57. },
  58. // 计算总价格
  59. totalPrice() {
  60. const total = Object.values(this.allProducts).reduce((categoryTotal, categoryItems) => {
  61. return categoryTotal + categoryItems.reduce((sum, item) => sum + (item.quantity || 0) * Number(item.price), 0);
  62. }, 0);
  63. return total.toFixed(1);
  64. },
  65. // 计算价格范围
  66. priceRange() {
  67. if (this.totalCount === 0) {
  68. return {
  69. min: "0.0",
  70. max: "0.0"
  71. };
  72. }
  73. const total = Number(this.totalPrice);
  74. const min = Math.max(0, total - 2.2).toFixed(1);
  75. const max = (total + 2.2).toFixed(1);
  76. return { min, max };
  77. },
  78. selectedProducts() {
  79. return Object.values(this.allProducts).flat().filter((item) => item.quantity > 0);
  80. },
  81. filteredBrandList() {
  82. if (!this.brandSearch)
  83. return this.brandList;
  84. const keyword = this.brandSearch.trim().toLowerCase();
  85. return this.brandList.filter((b) => b.name.toLowerCase().includes(keyword));
  86. },
  87. bannerList() {
  88. return getApp().globalData.bannerList || [];
  89. },
  90. categories() {
  91. const list = getApp().globalData.pricePreviewList || [];
  92. return list.filter((item) => item.pid === "0").sort((a, b) => a.sort - b.sort);
  93. }
  94. },
  95. methods: {
  96. changeTo(e) {
  97. this.value = e;
  98. if (e == 2) {
  99. common_vendor.index.reLaunch({
  100. url: "/pages/component/my"
  101. });
  102. } else if (e == 0) {
  103. common_vendor.index.__f__("log", "at pages/component/recycle.vue:354", e, "111");
  104. common_vendor.index.reLaunch({
  105. url: "/pages/component/home"
  106. });
  107. }
  108. },
  109. fetchGoodsList(categoryId, page = 1, callback) {
  110. this.$api("getClassGoodsList", {
  111. classId: categoryId,
  112. pageNo: page,
  113. pageSize: this.pageSize
  114. }, (res) => {
  115. if (res.code === 200 && res.result && Array.isArray(res.result.records)) {
  116. const oldList = this.allProducts[categoryId] || [];
  117. const newList = page === 1 ? res.result.records : oldList.concat(res.result.records);
  118. this.$set(this.allProducts, categoryId, newList);
  119. this.$set(this.allProductsPage, categoryId, page);
  120. this.$set(this.allProductsTotal, categoryId, res.result.total);
  121. }
  122. if (callback)
  123. callback();
  124. });
  125. },
  126. // 获取分类商品总数
  127. getCategoryItemCount(index) {
  128. var _a;
  129. const categoryId = (_a = this.categories[index]) == null ? void 0 : _a.id;
  130. const categoryItems = this.allProducts[categoryId] || [];
  131. return categoryItems.reduce((sum, item) => sum + (item.quantity || 0), 0);
  132. },
  133. // 切换分类
  134. switchCategory(index) {
  135. var _a;
  136. this.currentCategory = index;
  137. this.loadingMore = false;
  138. this.finished = false;
  139. const categoryId = (_a = this.categories[index]) == null ? void 0 : _a.id;
  140. if (!this.allProducts[categoryId]) {
  141. this.fetchGoodsList(categoryId, 1);
  142. }
  143. },
  144. // 更新商品数量
  145. updateQuantity(index, delta) {
  146. var _a, _b;
  147. const categoryId = (_a = this.categories[this.currentCategory]) == null ? void 0 : _a.id;
  148. const item = (_b = this.allProducts[categoryId]) == null ? void 0 : _b[index];
  149. if (!item)
  150. return;
  151. if (item.shopCion && (item.quantity || 0) === 0 && delta > 0) {
  152. this.pendingBrandIndex = index;
  153. this.getGoodsBrandList(item.shopCion);
  154. this.showBrandPopup = true;
  155. return;
  156. }
  157. let newQuantity = (item.quantity || 0) + delta;
  158. if (newQuantity < 0)
  159. newQuantity = 0;
  160. this.$set(item, "quantity", newQuantity);
  161. },
  162. // 显示回收规则
  163. showRules(item) {
  164. this.$api("getGoodsRecycleRule", { goodsId: item.id }, (res) => {
  165. if (res.code === 200 && res.result) {
  166. this.ruleHtml = res.result;
  167. } else {
  168. this.ruleHtml = "<p>暂无回收规则</p>";
  169. }
  170. this.showRulePopup = true;
  171. });
  172. },
  173. showMore() {
  174. common_vendor.index.showToast({
  175. title: "更多规则请咨询客服",
  176. icon: "none"
  177. });
  178. },
  179. submitOrder() {
  180. if (this.totalCount === 0) {
  181. common_vendor.index.showToast({
  182. title: "请选择要回收的物品",
  183. icon: "none"
  184. });
  185. return;
  186. }
  187. this.showPickupConfirm = true;
  188. },
  189. handlePickupCancel() {
  190. this.showPickupConfirm = false;
  191. },
  192. handlePickupAgree() {
  193. this.showPickupConfirm = false;
  194. common_vendor.index.showLoading({
  195. title: "提交中..."
  196. });
  197. setTimeout(() => {
  198. common_vendor.index.hideLoading();
  199. common_vendor.index.showToast({
  200. title: "预约成功",
  201. icon: "success"
  202. });
  203. this.goToPickup();
  204. }, 1500);
  205. },
  206. goToPickup() {
  207. const selectedItems = this.selectedProducts.map((item) => ({
  208. id: item.id,
  209. name: item.name,
  210. icon: item.image,
  211. quantity: item.quantity,
  212. unitPrice: item.price,
  213. desc: "允许脏破烂,160码以上"
  214. }));
  215. const itemsStr = encodeURIComponent(JSON.stringify(selectedItems));
  216. common_vendor.index.navigateTo({
  217. url: `/pages/subcomponent/pickup?fromRecycle=true&items=${itemsStr}`
  218. });
  219. },
  220. checkBrand(index) {
  221. var _a, _b;
  222. const categoryId = (_a = this.categories[this.currentCategory]) == null ? void 0 : _a.id;
  223. const item = (_b = this.allProducts[categoryId]) == null ? void 0 : _b[index];
  224. if (item == null ? void 0 : item.shopCion) {
  225. this.pendingBrandIndex = index;
  226. this.getGoodsBrandList(item.shopCion);
  227. this.showBrandPopup = true;
  228. }
  229. },
  230. closeBrandPopup() {
  231. this.showBrandPopup = false;
  232. },
  233. scrollToLetter(letter) {
  234. this.currentLetter = letter;
  235. this.scrollToView = "brand-letter-" + letter;
  236. },
  237. // 添加下拉刷新方法
  238. async refreshData() {
  239. try {
  240. this.currentCategory = 0;
  241. Object.values(this.allProducts).forEach((categoryItems) => {
  242. categoryItems.forEach((item) => {
  243. item.quantity = 0;
  244. });
  245. });
  246. await new Promise((resolve) => setTimeout(resolve, 1e3));
  247. common_vendor.index.showToast({
  248. title: "刷新成功",
  249. icon: "success"
  250. });
  251. } catch (error) {
  252. common_vendor.index.showToast({
  253. title: "刷新失败",
  254. icon: "none"
  255. });
  256. } finally {
  257. common_vendor.index.stopPullDownRefresh();
  258. }
  259. },
  260. toggleDetailPanel() {
  261. this.showDetailPanel = !this.showDetailPanel;
  262. },
  263. updateQuantityByProduct(item, delta) {
  264. if (!item.quantity)
  265. item.quantity = 0;
  266. item.quantity += delta;
  267. if (item.quantity < 0)
  268. item.quantity = 0;
  269. this.updateTotal();
  270. },
  271. openRulePopup() {
  272. this.showRulePopup = true;
  273. },
  274. closeRulePopup() {
  275. this.showRulePopup = false;
  276. },
  277. loadMoreGoods() {
  278. var _a;
  279. const categoryId = (_a = this.categories[this.currentCategory]) == null ? void 0 : _a.id;
  280. const page = (this.allProductsPage[categoryId] || 1) + 1;
  281. const total = this.allProductsTotal[categoryId] || 0;
  282. const loaded = (this.allProducts[categoryId] || []).length;
  283. if (this.loadingMore || this.finished)
  284. return;
  285. if (loaded < total) {
  286. this.loadingMore = true;
  287. this.fetchGoodsList(categoryId, page, () => {
  288. this.loadingMore = false;
  289. const newLoaded = (this.allProducts[categoryId] || []).length;
  290. this.finished = newLoaded >= (this.allProductsTotal[categoryId] || 0);
  291. });
  292. } else {
  293. this.finished = true;
  294. }
  295. },
  296. openBrandConfirm(brand) {
  297. this.brandConfirmInfo = {
  298. logo: brand.logo,
  299. name: brand.name
  300. };
  301. this.showBrandConfirm = true;
  302. },
  303. closeBrandConfirm() {
  304. this.showBrandConfirm = false;
  305. },
  306. confirmBrand() {
  307. var _a, _b;
  308. this.showBrandConfirm = false;
  309. this.showBrandPopup = false;
  310. if (this.pendingBrandIndex !== null) {
  311. const categoryId = (_a = this.categories[this.currentCategory]) == null ? void 0 : _a.id;
  312. const item = (_b = this.allProducts[categoryId]) == null ? void 0 : _b[this.pendingBrandIndex];
  313. if (item) {
  314. this.$set(item, "quantity", 1);
  315. }
  316. this.pendingBrandIndex = null;
  317. }
  318. },
  319. getGoodsBrandList(iconId) {
  320. this.$api("getGoodsBrandList", { iconId }, (res) => {
  321. if (res && res.success && res.result && res.result.records) {
  322. this.brandList = res.result.records.map((item) => {
  323. const firstChar = this.getPinyinFirstLetter(item.name);
  324. return {
  325. logo: item.image || "/static/brand/alexander.png",
  326. name: item.name,
  327. letter: firstChar
  328. };
  329. });
  330. }
  331. });
  332. },
  333. // 获取中文拼音首字母
  334. getPinyinFirstLetter(str) {
  335. if (!str)
  336. return "#";
  337. const firstChar = str.charAt(0);
  338. for (let key in utils_pinyin.pinyin) {
  339. const chars = utils_pinyin.pinyin[key];
  340. if (chars && chars.indexOf(firstChar) !== -1) {
  341. return key.charAt(0).toUpperCase();
  342. }
  343. }
  344. return "#";
  345. }
  346. },
  347. created() {
  348. this.currentCategory = 0;
  349. this.$nextTick(() => {
  350. var _a;
  351. if (this.categories.length > 0) {
  352. const firstCategoryId = (_a = this.categories[0]) == null ? void 0 : _a.id;
  353. if (firstCategoryId) {
  354. this.fetchGoodsList(firstCategoryId, 1);
  355. }
  356. }
  357. });
  358. },
  359. mounted() {
  360. this.$nextTick(() => {
  361. const query = common_vendor.index.createSelectorQuery().in(this);
  362. query.select(".uv-tabbar").boundingClientRect((rect) => {
  363. if (rect && rect.height) {
  364. this.tabbarHeight = rect.height;
  365. } else {
  366. this.tabbarHeight = common_vendor.index.upx2px ? common_vendor.index.upx2px(95) : 45;
  367. }
  368. }).exec();
  369. });
  370. },
  371. onLoad(options) {
  372. if (options && options.categoryId) {
  373. const idx = this.categories.findIndex((c) => c.id == options.categoryId);
  374. if (idx !== -1)
  375. this.currentCategory = idx;
  376. }
  377. this.fetchGoodsList(this.categories[this.currentCategory].id, 1);
  378. common_vendor.index.$on("bannerListUpdated", () => {
  379. this.$forceUpdate && this.$forceUpdate();
  380. });
  381. if (getApp().globalData.bannerList && getApp().globalData.bannerList.length > 0) {
  382. this.$forceUpdate && this.$forceUpdate();
  383. }
  384. if (getApp().globalData.shouldClearRecycle) {
  385. Object.values(this.allProducts).forEach((categoryItems) => {
  386. categoryItems.forEach((item) => {
  387. this.$set(item, "quantity", 0);
  388. });
  389. });
  390. this.showDetailPanel = false;
  391. this.$forceUpdate();
  392. getApp().globalData.shouldClearRecycle = false;
  393. }
  394. },
  395. onUnload() {
  396. common_vendor.index.$off("bannerListUpdated");
  397. common_vendor.index.$off("clearRecycleOrderData");
  398. },
  399. onShow() {
  400. const id = getApp().globalData.targetRecycleCategoryId;
  401. if (id) {
  402. const trySwitch = () => {
  403. var _a;
  404. if (this.categories.length > 0) {
  405. const idx = this.categories.findIndex((c) => String(c.id) === String(id));
  406. if (idx !== -1) {
  407. this.currentCategory = idx;
  408. const categoryId = (_a = this.categories[idx]) == null ? void 0 : _a.id;
  409. if (categoryId && !this.allProducts[categoryId]) {
  410. this.loadingMore = false;
  411. this.finished = false;
  412. this.fetchGoodsList(categoryId, 1);
  413. }
  414. }
  415. getApp().globalData.targetRecycleCategoryId = null;
  416. } else {
  417. setTimeout(trySwitch, 100);
  418. }
  419. };
  420. trySwitch();
  421. }
  422. if (getApp().globalData.shouldClearRecycle) {
  423. Object.values(this.allProducts).forEach((categoryItems) => {
  424. categoryItems.forEach((item) => {
  425. this.$set(item, "quantity", 0);
  426. });
  427. });
  428. this.showDetailPanel = false;
  429. this.$forceUpdate();
  430. getApp().globalData.shouldClearRecycle = false;
  431. }
  432. common_vendor.index.$on("clearRecycleOrderData", () => {
  433. Object.values(this.allProducts).forEach((categoryItems) => {
  434. categoryItems.forEach((item) => {
  435. this.$set(item, "quantity", 0);
  436. });
  437. });
  438. this.showDetailPanel = false;
  439. this.$forceUpdate();
  440. });
  441. },
  442. watch: {
  443. categories(newVal) {
  444. var _a;
  445. const id = getApp().globalData.targetRecycleCategoryId;
  446. const idx = newVal.findIndex((c) => String(c.id) === String(id));
  447. if (id && newVal.length > 0 && idx !== -1) {
  448. this.currentCategory = idx;
  449. getApp().globalData.targetRecycleCategoryId = null;
  450. const categoryId = (_a = newVal[idx]) == null ? void 0 : _a.id;
  451. if (categoryId && !this.allProducts[categoryId]) {
  452. this.loadingMore = false;
  453. this.finished = false;
  454. this.fetchGoodsList(categoryId, 1);
  455. }
  456. }
  457. }
  458. }
  459. };
  460. const __injectCSSVars__ = () => {
  461. common_vendor.useCssVars((_ctx) => ({
  462. "a20a0960": _ctx.tabbarHeight + "px"
  463. }));
  464. };
  465. const __setup__ = _sfc_main.setup;
  466. _sfc_main.setup = __setup__ ? (props, ctx) => {
  467. __injectCSSVars__();
  468. return __setup__(props, ctx);
  469. } : __injectCSSVars__;
  470. if (!Array) {
  471. const _easycom_uni_icons2 = common_vendor.resolveComponent("uni-icons");
  472. const _easycom_uv_tabbar_item2 = common_vendor.resolveComponent("uv-tabbar-item");
  473. const _easycom_uv_tabbar2 = common_vendor.resolveComponent("uv-tabbar");
  474. (_easycom_uni_icons2 + _easycom_uv_tabbar_item2 + _easycom_uv_tabbar2)();
  475. }
  476. const _easycom_uni_icons = () => "../../uni_modules/uni-icons/components/uni-icons/uni-icons.js";
  477. const _easycom_uv_tabbar_item = () => "../../uni_modules/uv-tabbar/components/uv-tabbar-item/uv-tabbar-item.js";
  478. const _easycom_uv_tabbar = () => "../../uni_modules/uv-tabbar/components/uv-tabbar/uv-tabbar.js";
  479. if (!Math) {
  480. (_easycom_uni_icons + _easycom_uv_tabbar_item + _easycom_uv_tabbar)();
  481. }
  482. function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
  483. return common_vendor.e({
  484. a: common_vendor.f($options.bannerList, (item, index, i0) => {
  485. return {
  486. a: item.image,
  487. b: item.id || index
  488. };
  489. }),
  490. b: common_vendor.f($options.categories, (category, index, i0) => {
  491. return common_vendor.e({
  492. a: $options.getCategoryItemCount(index) > 0
  493. }, $options.getCategoryItemCount(index) > 0 ? {} : {}, {
  494. b: common_vendor.t(category.title),
  495. c: category.id || index,
  496. d: $data.currentCategory === index ? 1 : "",
  497. e: common_vendor.o(($event) => $options.switchCategory(index), category.id || index)
  498. });
  499. }),
  500. c: common_vendor.f($options.recycleList, (item, index, i0) => {
  501. return common_vendor.e({
  502. a: item.image
  503. }, item.image ? {
  504. b: item.image
  505. } : {}, {
  506. c: common_vendor.t(item.name),
  507. d: "9e04663e-0-" + i0,
  508. e: common_vendor.o(($event) => $options.showRules(item), index),
  509. f: common_vendor.t(item.service),
  510. g: common_vendor.t(item.price),
  511. h: common_vendor.o(($event) => $options.updateQuantity(index, -1), index),
  512. i: common_vendor.t(item.quantity || 0),
  513. j: common_vendor.o(($event) => $options.updateQuantity(index, 1), index),
  514. k: item.shopCion
  515. }, item.shopCion ? {
  516. l: "9e04663e-1-" + i0,
  517. m: common_vendor.p({
  518. type: "right",
  519. size: "14",
  520. color: "#ff7a0e"
  521. }),
  522. n: common_vendor.o(($event) => $options.checkBrand(index), index)
  523. } : {}, {
  524. o: index
  525. });
  526. }),
  527. d: common_vendor.p({
  528. type: "right",
  529. size: "14",
  530. color: "#999"
  531. }),
  532. e: common_assets._imports_0$1,
  533. f: $data.loadingMore
  534. }, $data.loadingMore ? {} : $data.finished ? {} : {}, {
  535. g: $data.finished,
  536. h: common_vendor.o((...args) => $options.loadMoreGoods && $options.loadMoreGoods(...args)),
  537. i: !$data.showDetailPanel
  538. }, !$data.showDetailPanel ? {
  539. j: common_vendor.t($options.totalCount),
  540. k: common_vendor.p({
  541. type: "help",
  542. size: "18",
  543. color: "#b2b2b2"
  544. }),
  545. l: common_vendor.o($options.toggleDetailPanel),
  546. m: common_vendor.p({
  547. type: $data.showDetailPanel ? "up" : "down",
  548. size: "18",
  549. color: "#5e5e5e"
  550. }),
  551. n: common_vendor.t($options.priceRange.min),
  552. o: common_vendor.t($options.priceRange.max),
  553. p: common_vendor.o((...args) => $options.submitOrder && $options.submitOrder(...args))
  554. } : {}, {
  555. q: $data.showDetailPanel
  556. }, $data.showDetailPanel ? {
  557. r: common_vendor.o((...args) => $options.toggleDetailPanel && $options.toggleDetailPanel(...args)),
  558. s: common_vendor.f($options.selectedProducts, (item, idx, i0) => {
  559. return common_vendor.e({
  560. a: item.image
  561. }, item.image ? {
  562. b: item.image
  563. } : {}, {
  564. c: common_vendor.t(item.name),
  565. d: common_vendor.t(item.price),
  566. e: common_vendor.o(($event) => $options.updateQuantityByProduct(item, -1), idx),
  567. f: common_vendor.t(item.quantity),
  568. g: common_vendor.o(($event) => $options.updateQuantityByProduct(item, 1), idx),
  569. h: idx
  570. });
  571. }),
  572. t: common_vendor.t(2222),
  573. v: common_vendor.t($options.totalCount),
  574. w: common_vendor.p({
  575. type: "help",
  576. size: "18",
  577. color: "#b2b2b2"
  578. }),
  579. x: common_vendor.o($options.toggleDetailPanel),
  580. y: common_vendor.p({
  581. type: $data.showDetailPanel ? "up" : "down",
  582. size: "18",
  583. color: "#5e5e5e"
  584. }),
  585. z: common_vendor.t($options.priceRange.min),
  586. A: common_vendor.t($options.priceRange.max),
  587. B: common_vendor.o((...args) => $options.submitOrder && $options.submitOrder(...args)),
  588. C: common_vendor.o(() => {
  589. }),
  590. D: common_vendor.o((...args) => $options.toggleDetailPanel && $options.toggleDetailPanel(...args))
  591. } : {}, {
  592. E: $data.ishow
  593. }, $data.ishow ? {
  594. F: common_assets._imports_5,
  595. G: common_assets._imports_6,
  596. H: common_vendor.p({
  597. text: "首页"
  598. }),
  599. I: common_assets._imports_7,
  600. J: common_assets._imports_8,
  601. K: common_vendor.p({
  602. text: "回收"
  603. }),
  604. L: common_assets._imports_9,
  605. M: common_assets._imports_10,
  606. N: common_vendor.p({
  607. text: "我的"
  608. }),
  609. O: common_vendor.o($options.changeTo),
  610. P: common_vendor.p({
  611. value: $data.value,
  612. fixed: true
  613. })
  614. } : {}, {
  615. Q: $data.showBrandPopup
  616. }, $data.showBrandPopup ? {
  617. R: common_vendor.o((...args) => $options.closeBrandPopup && $options.closeBrandPopup(...args)),
  618. S: $data.brandSearch,
  619. T: common_vendor.o(($event) => $data.brandSearch = $event.detail.value),
  620. U: common_vendor.f($data.brandIndexList, (letter, k0, i0) => {
  621. return {
  622. a: common_vendor.t(letter),
  623. b: common_vendor.f($options.filteredBrandList.filter((b) => b.letter === letter), (brand, k1, i1) => {
  624. return {
  625. a: brand.logo,
  626. b: common_vendor.t(brand.name),
  627. c: brand.name,
  628. d: common_vendor.o(($event) => $options.openBrandConfirm(brand), brand.name)
  629. };
  630. }),
  631. c: letter,
  632. d: "brand-letter-" + letter
  633. };
  634. }),
  635. V: $data.scrollToView,
  636. W: common_vendor.f($data.brandIndexList, (letter, k0, i0) => {
  637. return {
  638. a: common_vendor.t(letter),
  639. b: letter,
  640. c: $data.currentLetter === letter ? 1 : "",
  641. d: common_vendor.o(($event) => $options.scrollToLetter(letter), letter)
  642. };
  643. })
  644. } : {}, {
  645. X: $data.showRulePopup
  646. }, $data.showRulePopup ? {
  647. Y: $data.ruleHtml,
  648. Z: common_vendor.o((...args) => $options.closeRulePopup && $options.closeRulePopup(...args)),
  649. aa: common_vendor.o((...args) => $options.closeRulePopup && $options.closeRulePopup(...args))
  650. } : {}, {
  651. ab: $data.showPickupConfirm
  652. }, $data.showPickupConfirm ? {
  653. ac: common_vendor.o((...args) => $options.handlePickupCancel && $options.handlePickupCancel(...args)),
  654. ad: common_vendor.o((...args) => $options.handlePickupAgree && $options.handlePickupAgree(...args))
  655. } : {}, {
  656. ae: $data.showBrandConfirm
  657. }, $data.showBrandConfirm ? {
  658. af: $data.brandConfirmInfo.logo,
  659. ag: common_vendor.t($data.brandConfirmInfo.name),
  660. ah: common_vendor.o((...args) => $options.closeBrandConfirm && $options.closeBrandConfirm(...args)),
  661. ai: common_vendor.o((...args) => $options.confirmBrand && $options.confirmBrand(...args)),
  662. aj: common_vendor.o((...args) => $options.closeBrandConfirm && $options.closeBrandConfirm(...args))
  663. } : {}, {
  664. ak: common_vendor.s(_ctx.__cssVars())
  665. });
  666. }
  667. const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-9e04663e"]]);
  668. wx.createPage(MiniProgramPage);
  669. //# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/component/recycle.js.map