|
|
- "use strict";
- const common_vendor = require("../../common/vendor.js");
- const pages_mixins_pullRefreshMixin = require("../mixins/pullRefreshMixin.js");
- const _sfc_main = {
- mixins: [pages_mixins_pullRefreshMixin.pullRefreshMixin],
- data() {
- return {
- statusBarHeight: 0,
- navBarContentHeight: 44,
- tabBarHeight: 48,
- navBarHeight: 44,
- navBarRealHeight: 44,
- tabs: [
- { label: "全部", value: -1 },
- { label: "已预约", value: 0 },
- { label: "待质检", value: 1 },
- { label: "已结款", value: 2 },
- { label: "已驳回", value: 3 }
- ],
- currentTab: 0,
- orderList: [],
- searchMode: false,
- searchText: "",
- historyOrderMode: false,
- pageNum: 1,
- pageSize: 10,
- hasMore: true,
- isLoading: false,
- userId: ""
- };
- },
- onLoad(options) {
- const sys = common_vendor.index.getSystemInfoSync();
- this.statusBarHeight = sys.statusBarHeight;
- this.$nextTick(() => {
- common_vendor.index.createSelectorQuery().select(".nav-bar").boundingClientRect((rect) => {
- if (rect) {
- this.navBarRealHeight = rect.height;
- }
- }).exec();
- });
- if (options && options.historyOrder) {
- this.historyOrderMode = true;
- }
- if (options && options.userId) {
- this.userId = options.userId;
- }
- this.fetchOrderList();
- },
- computed: {
- filteredOrders() {
- if (this.searchText) {
- const text = this.searchText.toLowerCase();
- return this.orderList.filter(
- (order) => order.orderNo && order.orderNo.toLowerCase().includes(text) || order.userName && order.userName.toLowerCase().includes(text) || order.phone && order.phone.toLowerCase().includes(text)
- );
- }
- const tabValue = this.tabs[this.currentTab].value;
- if (tabValue === -1)
- return this.orderList;
- if (tabValue === 0) {
- return this.orderList.filter((order) => order.status == 1);
- } else if (tabValue === 1) {
- return this.orderList.filter((order) => order.status == 2);
- } else if (tabValue === 2) {
- return this.orderList.filter((order) => order.status == 3);
- } else if (tabValue === 3) {
- return this.orderList.filter((order) => order.status == 4);
- }
- return this.orderList;
- }
- },
- methods: {
- goBack() {
- common_vendor.index.navigateBack();
- },
- onTabChange(idx) {
- this.currentTab = idx;
- this.pageNum = 1;
- this.hasMore = true;
- this.orderList = [];
- this.fetchOrderList();
- },
- onSearchIconClick() {
- this.searchMode = true;
- this.$nextTick(() => {
- this.$refs.searchInput && this.$refs.searchInput.focus();
- });
- },
- onClearSearch() {
- this.searchText = "";
- },
- onCancelSearch() {
- this.searchText = "";
- this.searchMode = false;
- },
- goToOrderDetail(order) {
- common_vendor.index.navigateTo({
- url: "/pages/manager/order-detail?id=" + order.id
- });
- },
- refreshData() {
- },
- async onRefresh() {
- await this.refreshData && this.refreshData();
- },
- fetchOrderList(isLoadMore = false) {
- if (this.isLoading || !isLoadMore && !this.hasMore)
- return;
- this.isLoading = true;
- const params = {
- pageNum: this.pageNum,
- pageSize: this.pageSize
- };
- if (this.userId) {
- params.userId = this.userId;
- }
- this.$api && this.$api("getOrderList", params, (res) => {
- if (res && res.code === 200 && res.result && res.result.records) {
- const newOrders = res.result.records.map((order) => {
- const statusInfo = this.getOrderStatusInfo(order.status, order.state);
- return {
- id: order.id,
- orderNo: order.ordeNo,
- userName: order.name,
- phone: order.phone,
- appointTime: order.goTime,
- cancelTime: order.state === 3 ? order.updateTime : "",
- qualityTime: order.status === 2 && order.state === 1 ? order.updateTime : "",
- statusText: order.isBy === "Y" ? statusInfo.label : "不包邮",
- statusClass: statusInfo.class,
- statusLabel: statusInfo.label,
- actions: this.getOrderActions(order.status, order.state),
- status: this.getOrderStatus(order.status, order.state)
- };
- });
- if (isLoadMore) {
- this.orderList = [...this.orderList, ...newOrders];
- } else {
- this.orderList = newOrders;
- }
- this.hasMore = newOrders.length === this.pageSize;
- this.pageNum = isLoadMore ? this.pageNum + 1 : 1;
- }
- this.isLoading = false;
- });
- },
- getOrderStatusInfo(status, state) {
- if (status === 1) {
- return { label: "已预约", class: "green" };
- } else if (state === 1) {
- return { label: "待质检", class: "orange" };
- } else if (status === 3) {
- return { label: "已结款", class: "blue" };
- } else if (status === 1 && state === 3) {
- return { label: "已驳回", class: "red" };
- }
- return { label: "未知状态", class: "gray" };
- },
- getOrderStatus(status, state) {
- if (status === 1)
- return 1;
- if (state === 1)
- return 2;
- if (status === 3)
- return 3;
- if (status === 1 && state === 3)
- return 4;
- return -1;
- },
- getOrderActions(status, state) {
- const actions = [];
- if (status === 2 && state === 1) {
- actions.push({ icon: "undo", text: "驳回" });
- actions.push({ icon: "person", text: "审批" });
- }
- return actions;
- },
- onLoadMore() {
- if (this.hasMore && !this.isLoading) {
- this.fetchOrderList(true);
- }
- },
- scanCode() {
- common_vendor.index.scanCode({
- scanType: ["qrCode"],
- success: (res) => {
- common_vendor.index.__f__("log", "at pages/manager/order.vue:330", "扫码结果:", res);
- if (res.result) {
- common_vendor.index.navigateTo({
- url: "/pages/manager/order-detail?id=" + res.result
- });
- }
- },
- fail: (err) => {
- common_vendor.index.__f__("error", "at pages/manager/order.vue:340", "扫码失败:", err);
- common_vendor.index.showToast({
- title: "扫码失败",
- icon: "none"
- });
- }
- });
- }
- },
- onPullDownRefresh() {
- this.pageNum = 1;
- this.hasMore = true;
- this.orderList = [];
- this.fetchOrderList();
- common_vendor.index.stopPullDownRefresh();
- },
- onReachBottom() {
- this.onLoadMore();
- }
- };
- 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.o($options.goBack),
- b: common_vendor.p({
- type: "left",
- size: "24",
- color: "#222"
- }),
- c: common_vendor.t($data.historyOrderMode ? "历史订单" : "订单管理"),
- d: $data.statusBarHeight + "px",
- e: $data.statusBarHeight + $data.navBarContentHeight + "px",
- f: !$data.historyOrderMode
- }, !$data.historyOrderMode ? {
- g: common_vendor.f($data.tabs, (tab, idx, i0) => {
- return {
- a: common_vendor.t(tab.label),
- b: tab.value,
- c: common_vendor.n({
- active: $data.currentTab === idx
- }),
- d: common_vendor.o(($event) => $options.onTabChange(idx), tab.value)
- };
- }),
- h: $data.tabs.length * 20 + "%",
- i: $data.navBarRealHeight + "px",
- j: $data.tabBarHeight + "px"
- } : {}, {
- k: !$data.historyOrderMode
- }, !$data.historyOrderMode ? common_vendor.e({
- l: !$data.searchMode
- }, !$data.searchMode ? {
- m: common_vendor.o($options.onSearchIconClick),
- n: common_vendor.p({
- type: "search",
- size: "22",
- color: "#999"
- }),
- o: common_vendor.o($options.scanCode),
- p: common_vendor.p({
- type: "scan",
- size: "22",
- color: "#999"
- })
- } : common_vendor.e({
- q: common_vendor.p({
- type: "search",
- size: "22",
- color: "#999"
- }),
- r: $data.searchText,
- s: common_vendor.o(($event) => $data.searchText = $event.detail.value),
- t: $data.searchText
- }, $data.searchText ? {
- v: common_vendor.o($options.onClearSearch),
- w: common_vendor.p({
- type: "close",
- size: "22",
- color: "#ccc"
- })
- } : {}, {
- x: common_vendor.o((...args) => $options.onCancelSearch && $options.onCancelSearch(...args))
- }), {
- y: $data.navBarRealHeight + $data.tabBarHeight + "px"
- }) : {}, {
- z: common_vendor.f($options.filteredOrders, (order, k0, i0) => {
- return common_vendor.e({
- a: common_vendor.t(order.orderNo),
- b: order.statusText === "不包邮"
- }, order.statusText === "不包邮" ? {
- c: common_vendor.t(order.statusText)
- } : {}, {
- d: common_vendor.t(order.userName),
- e: common_vendor.t(order.phone),
- f: order.appointTime
- }, order.appointTime ? {
- g: common_vendor.t(order.appointTime)
- } : {}, {
- h: order.cancelTime
- }, order.cancelTime ? {
- i: common_vendor.t(order.cancelTime)
- } : {}, {
- j: order.qualityTime
- }, order.qualityTime ? {
- k: common_vendor.t(order.qualityTime)
- } : {}, {
- l: common_vendor.t(order.statusLabel),
- m: common_vendor.n(order.statusClass),
- n: order.actions && order.actions.length && !$data.historyOrderMode
- }, order.actions && order.actions.length && !$data.historyOrderMode ? {
- o: common_vendor.f(order.actions, (action, k1, i1) => {
- return {
- a: "33a4a1f0-5-" + i0 + "-" + i1,
- b: common_vendor.p({
- type: action.icon,
- size: "28",
- color: "#666"
- }),
- c: common_vendor.t(action.text),
- d: action.text,
- e: common_vendor.o(($event) => action.text === "审批" ? $options.goToOrderDetail(order) : null, action.text)
- };
- })
- } : {}, {
- p: order.id,
- q: common_vendor.o(($event) => $options.goToOrderDetail(order), order.id)
- });
- }),
- A: $data.navBarRealHeight + ($data.historyOrderMode ? 0 : $data.tabBarHeight + 16 + 40) + "px"
- });
- }
- const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-33a4a1f0"]]);
- wx.createPage(MiniProgramPage);
- //# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/manager/order.js.map
|