"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,
|
|
navBarHeight: 14,
|
|
navBarTotalHeight: 14,
|
|
featureTags: ["透明检", "专业验", "公正评", "逐件验"],
|
|
goodsList: [],
|
|
// 质检合格
|
|
problemList: [],
|
|
// 质量问题
|
|
unrecyclableList: [],
|
|
// 不可回收
|
|
reportData: null,
|
|
showQualified: false,
|
|
showProblem: false,
|
|
showUnrecyclable: false
|
|
};
|
|
},
|
|
computed: {
|
|
totalCount() {
|
|
return this.goodsList.reduce((sum, item) => sum + item.count, 0);
|
|
},
|
|
totalAmount() {
|
|
return this.goodsList.reduce((sum, item) => sum + item.total, 0).toFixed(1);
|
|
},
|
|
problemCount() {
|
|
return this.problemList.reduce((sum, item) => sum + item.count, 0);
|
|
},
|
|
problemAmount() {
|
|
return this.problemList.reduce((sum, item) => sum + item.total, 0).toFixed(1);
|
|
},
|
|
unrecyclableCount() {
|
|
return this.unrecyclableList.reduce((sum, item) => sum + item.count, 0);
|
|
}
|
|
},
|
|
onLoad(options) {
|
|
const sysInfo = common_vendor.index.getSystemInfoSync();
|
|
this.statusBarHeight = sysInfo.statusBarHeight;
|
|
this.navBarHeight = 14;
|
|
this.navBarTotalHeight = this.statusBarHeight + this.navBarHeight;
|
|
const goodsId = options.id || options.goodsId;
|
|
if (goodsId) {
|
|
this.fetchQualityReport(goodsId);
|
|
}
|
|
},
|
|
methods: {
|
|
async fetchQualityReport(goodsId) {
|
|
this.$api && this.$api("getQualityReport", { goodsId }, (res) => {
|
|
if (res && res.code === 200 && res.result) {
|
|
this.reportData = res.result;
|
|
const status = Number(res.result.testingStatus);
|
|
this.showQualified = status === 1 || status === 0;
|
|
this.showProblem = status === 0 || status === 1;
|
|
this.showUnrecyclable = status === 2;
|
|
if (status === 1) {
|
|
this.goodsList = [this.mapReportToGoods(res.result)];
|
|
this.problemList = [];
|
|
this.unrecyclableList = [];
|
|
} else if (status === 0) {
|
|
this.goodsList = [];
|
|
this.problemList = [this.mapReportToGoods(res.result, true)];
|
|
this.unrecyclableList = [];
|
|
} else if (status === 2) {
|
|
this.goodsList = [];
|
|
this.problemList = [];
|
|
this.unrecyclableList = [this.mapReportToGoods(res.result)];
|
|
}
|
|
}
|
|
});
|
|
},
|
|
mapReportToGoods(data, isProblem = false) {
|
|
return {
|
|
img: data.image,
|
|
name: data.title || "未知品类",
|
|
desc: data.details || "",
|
|
price: data.onePrice || 0,
|
|
count: data.num || 1,
|
|
total: (data.onePrice || 0) * (data.num || 1),
|
|
detail: true,
|
|
problemDesc: isProblem ? data.testingInstructions || "" : ""
|
|
};
|
|
},
|
|
async onRefresh() {
|
|
await new Promise((resolve) => setTimeout(resolve, 1e3));
|
|
common_vendor.index.stopPullRefresh();
|
|
},
|
|
navigateBack() {
|
|
common_vendor.index.navigateBack();
|
|
},
|
|
goToInspectionDetail(status) {
|
|
const d = this.reportData || {};
|
|
common_vendor.index.navigateTo({
|
|
url: `/pages/subcomponent/inspection-detail?status=${status}&testingStatus=${d.testingStatus || ""}&testingInstructions=${encodeURIComponent(d.testingInstructions || "")}&testingTime=${encodeURIComponent(d.testingTime || "")}&testingImages=${encodeURIComponent(d.testingImages || "")}`
|
|
});
|
|
}
|
|
}
|
|
};
|
|
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: "22",
|
|
color: "#fff"
|
|
}),
|
|
b: common_vendor.o((...args) => $options.navigateBack && $options.navigateBack(...args)),
|
|
c: common_vendor.p({
|
|
type: "more-filled",
|
|
size: "22",
|
|
color: "#fff"
|
|
}),
|
|
d: $data.navBarTotalHeight + "px",
|
|
e: $data.statusBarHeight + "px",
|
|
f: common_vendor.f($data.featureTags, (t, i, i0) => {
|
|
return {
|
|
a: common_vendor.t(t),
|
|
b: i
|
|
};
|
|
}),
|
|
g: $data.navBarTotalHeight + $data.statusBarHeight + "px",
|
|
h: $data.showQualified && $data.goodsList.length
|
|
}, $data.showQualified && $data.goodsList.length ? {
|
|
i: common_vendor.f($data.goodsList, (item, i, i0) => {
|
|
return common_vendor.e({
|
|
a: item.img,
|
|
b: common_vendor.t(item.name),
|
|
c: item.detail
|
|
}, item.detail ? {
|
|
d: "c1d95640-2-" + i0,
|
|
e: common_vendor.p({
|
|
type: "right",
|
|
size: "16",
|
|
color: "#bbb"
|
|
})
|
|
} : {}, {
|
|
f: common_vendor.t(item.desc),
|
|
g: common_vendor.t(item.price),
|
|
h: common_vendor.t(item.count),
|
|
i,
|
|
j: common_vendor.o(($event) => $options.goToInspectionDetail("qualified"), i)
|
|
});
|
|
}),
|
|
j: common_vendor.t($options.totalCount),
|
|
k: common_vendor.t($options.totalAmount)
|
|
} : {}, {
|
|
l: $data.showProblem && $data.problemList.length
|
|
}, $data.showProblem && $data.problemList.length ? {
|
|
m: common_vendor.f($data.problemList, (item, i, i0) => {
|
|
return common_vendor.e({
|
|
a: item.img,
|
|
b: common_vendor.t(item.name),
|
|
c: item.detail
|
|
}, item.detail ? {
|
|
d: "c1d95640-3-" + i0,
|
|
e: common_vendor.p({
|
|
type: "right",
|
|
size: "16",
|
|
color: "#bbb"
|
|
})
|
|
} : {}, {
|
|
f: common_vendor.t(item.desc),
|
|
g: common_vendor.t(item.price),
|
|
h: common_vendor.t(item.count),
|
|
i,
|
|
j: common_vendor.o(($event) => $options.goToInspectionDetail("problem"), i)
|
|
});
|
|
}),
|
|
n: common_vendor.t($options.problemCount),
|
|
o: common_vendor.t($options.problemAmount)
|
|
} : {}, {
|
|
p: $data.showUnrecyclable && $data.unrecyclableList.length
|
|
}, $data.showUnrecyclable && $data.unrecyclableList.length ? {
|
|
q: common_vendor.f($data.unrecyclableList, (item, i, i0) => {
|
|
return {
|
|
a: item.img,
|
|
b: common_vendor.t(item.name),
|
|
c: common_vendor.t(item.desc),
|
|
d: common_vendor.t(item.price),
|
|
e: common_vendor.t(item.count),
|
|
f: i
|
|
};
|
|
}),
|
|
r: common_vendor.t($options.unrecyclableCount)
|
|
} : {});
|
|
}
|
|
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-c1d95640"]]);
|
|
wx.createPage(MiniProgramPage);
|
|
//# sourceMappingURL=../../../.sourcemap/mp-weixin/pages/subcomponent/inspection-report.js.map
|