|
|
|
"use strict";
|
|
|
|
const common_vendor = require("../../../common/vendor.js");
|
|
|
|
const api_user = require("../../../api/user.js");
|
|
|
|
const store_useSystemSettingsStore = require("../../../store/useSystemSettingsStore.js");
|
|
|
|
require("../../../utils/request.js");
|
|
|
|
require("../../../store/index.js");
|
|
|
|
require("../../../utils/functions.js");
|
|
|
|
require("../../../utils/IDCardVerification.js");
|
|
|
|
require("../../../utils/base64.js");
|
|
|
|
require("../../../config/host.js");
|
|
|
|
require("../../../utils/md5.js");
|
|
|
|
if (!Array) {
|
|
|
|
const _easycom_u_navbar2 = common_vendor.resolveComponent("u-navbar");
|
|
|
|
const _component_tips = common_vendor.resolveComponent("tips");
|
|
|
|
const _component_tiplist = common_vendor.resolveComponent("tiplist");
|
|
|
|
(_easycom_u_navbar2 + _component_tips + _component_tiplist)();
|
|
|
|
}
|
|
|
|
const _easycom_u_navbar = () => "../../../uni_modules/uview-plus/components/u-navbar/u-navbar.js";
|
|
|
|
if (!Math) {
|
|
|
|
(_easycom_u_navbar + cusSelects)();
|
|
|
|
}
|
|
|
|
const cusSelects = () => "../../../compoment/cus-selects-fan/cus-selects-fan.js";
|
|
|
|
const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
|
|
|
|
__name: "signOrderScan",
|
|
|
|
setup(__props) {
|
|
|
|
common_vendor.storeToRefs(store_useSystemSettingsStore.useSystemSettingsStore());
|
|
|
|
common_vendor.inject("utils");
|
|
|
|
let details = common_vendor.reactive({
|
|
|
|
schanvalue: "",
|
|
|
|
typearr: [
|
|
|
|
{
|
|
|
|
value: 3,
|
|
|
|
label: "齐套"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
value: 2,
|
|
|
|
label: "部分扫"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
value: 1,
|
|
|
|
label: "未扫"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
items: {},
|
|
|
|
datalist: [],
|
|
|
|
orderArr: [],
|
|
|
|
zeroArr: [],
|
|
|
|
stockArr: [],
|
|
|
|
id: "",
|
|
|
|
orderStatus: 1,
|
|
|
|
scancode: "",
|
|
|
|
deliveryId: "",
|
|
|
|
orderType: "",
|
|
|
|
inputtxt: "",
|
|
|
|
listcheckindex: -1
|
|
|
|
});
|
|
|
|
const tiplists = common_vendor.ref(null);
|
|
|
|
const tip = common_vendor.ref(null);
|
|
|
|
const Plannednub = common_vendor.computed(() => {
|
|
|
|
let num = 0;
|
|
|
|
num += details.orderArr.reduce((curr, item) => curr + item.reservationNum, 0);
|
|
|
|
num += details.zeroArr.reduce((curr, item) => curr + item.reservationNum, 0);
|
|
|
|
num += details.stockArr.reduce((curr, item) => curr + item.reservationNum, 0);
|
|
|
|
return num;
|
|
|
|
});
|
|
|
|
const ordNub = common_vendor.computed(() => {
|
|
|
|
let num = 0;
|
|
|
|
num += details.orderArr.length;
|
|
|
|
num += details.zeroArr.length;
|
|
|
|
return num;
|
|
|
|
});
|
|
|
|
const signNub = common_vendor.computed(() => {
|
|
|
|
let num = 0;
|
|
|
|
details.datalist.map((item) => {
|
|
|
|
if (item.signforNub) {
|
|
|
|
num += item.signforNub;
|
|
|
|
}
|
|
|
|
});
|
|
|
|
return num;
|
|
|
|
});
|
|
|
|
common_vendor.onLoad((op) => {
|
|
|
|
details.items = JSON.parse(op.item);
|
|
|
|
details.id = JSON.parse(op.item).id;
|
|
|
|
details.deliveryId = op.deliveryId;
|
|
|
|
});
|
|
|
|
common_vendor.onShow(async () => {
|
|
|
|
try {
|
|
|
|
let data = {
|
|
|
|
reservationId: details.items.id,
|
|
|
|
completecode: details.orderType,
|
|
|
|
orderCode: details.inputtxt
|
|
|
|
};
|
|
|
|
details.datalist = [];
|
|
|
|
let response = null;
|
|
|
|
response = await api_user.signfororder(data);
|
|
|
|
if (response.code !== 200)
|
|
|
|
return;
|
|
|
|
details.zeroArr = [];
|
|
|
|
details.orderArr = [];
|
|
|
|
response.data.records.forEach((val) => {
|
|
|
|
if (val.isZero === "1")
|
|
|
|
return details.zeroArr.push(val);
|
|
|
|
details.orderArr.push(val);
|
|
|
|
});
|
|
|
|
let response1 = await api_user.signforinventory(data);
|
|
|
|
if (response1.code !== 200)
|
|
|
|
return;
|
|
|
|
if (response1.data)
|
|
|
|
details.stockArr = response1.data.records || [];
|
|
|
|
console.log("response :>> ", response);
|
|
|
|
console.log("response1 :>> ", response1);
|
|
|
|
if (details.orderStatus === 1)
|
|
|
|
details.datalist = details.orderArr;
|
|
|
|
else if (details.orderStatus === 2)
|
|
|
|
details.datalist = details.zeroArr;
|
|
|
|
else
|
|
|
|
details.datalist = details.stockArr;
|
|
|
|
} catch (err) {
|
|
|
|
console.log("err :>> ", err);
|
|
|
|
}
|
|
|
|
});
|
|
|
|
function goorderdetail(item) {
|
|
|
|
common_vendor.index.navigateTo({
|
|
|
|
url: "/pagesHome/pages/orderDetails/orderDetails?orderCode=" + item.orderCode
|
|
|
|
});
|
|
|
|
}
|
|
|
|
common_vendor.onPullDownRefresh(() => {
|
|
|
|
const timer = setTimeout(() => {
|
|
|
|
initpage();
|
|
|
|
common_vendor.index.stopPullDownRefresh();
|
|
|
|
clearTimeout(timer);
|
|
|
|
}, 500);
|
|
|
|
});
|
|
|
|
async function scandata() {
|
|
|
|
let data = {
|
|
|
|
barcode: details.scancode,
|
|
|
|
deliveryId: details.deliveryId,
|
|
|
|
reservationId: details.id
|
|
|
|
};
|
|
|
|
if (Number(details.orderStatus) == 1) {
|
|
|
|
let response = await api_user.signforsignfor(data);
|
|
|
|
console.log(response);
|
|
|
|
if (response.code === 200)
|
|
|
|
;
|
|
|
|
else if (response.code == 3006) {
|
|
|
|
tip.value.setdetails({
|
|
|
|
isshow: true,
|
|
|
|
content: "请确认是否异常签收",
|
|
|
|
success: async () => {
|
|
|
|
let data2 = {
|
|
|
|
barcode: details.scancode,
|
|
|
|
deliveryId: details.deliveryId,
|
|
|
|
reservationId: details.id
|
|
|
|
};
|
|
|
|
let response2 = await api_user.signforsignforcontinue(data2);
|
|
|
|
if (response2.code !== 200)
|
|
|
|
return;
|
|
|
|
console.log(response2);
|
|
|
|
common_vendor.index.showToast({
|
|
|
|
title: response2.msg,
|
|
|
|
icon: "none"
|
|
|
|
});
|
|
|
|
tip.value.setdetails({ isshow: false });
|
|
|
|
},
|
|
|
|
cancel: () => {
|
|
|
|
tip.value.setdetails({ isshow: false });
|
|
|
|
},
|
|
|
|
close: () => {
|
|
|
|
tip.value.setdetails({ isshow: false });
|
|
|
|
}
|
|
|
|
});
|
|
|
|
} else {
|
|
|
|
common_vendor.index.showToast({
|
|
|
|
title: response.msg,
|
|
|
|
icon: "none"
|
|
|
|
});
|
|
|
|
}
|
|
|
|
} else if (Number(details.orderStatus) === 3) {
|
|
|
|
let response = await api_user.signforsignforIn(data);
|
|
|
|
console.log(response);
|
|
|
|
if (response.code == 3006) {
|
|
|
|
tip.value.setdetails({
|
|
|
|
isshow: true,
|
|
|
|
content: "请确认是否异常签收",
|
|
|
|
success: async () => {
|
|
|
|
let data2 = {
|
|
|
|
barcode: details.scancode,
|
|
|
|
deliveryId: details.deliveryId,
|
|
|
|
reservationId: details.id
|
|
|
|
};
|
|
|
|
let response2 = await api_user.signforsignforcontinue(data2);
|
|
|
|
console.log(response2);
|
|
|
|
if (response2.code !== 200)
|
|
|
|
return;
|
|
|
|
common_vendor.index.showToast({
|
|
|
|
title: response2.msg,
|
|
|
|
icon: "none"
|
|
|
|
});
|
|
|
|
tip.value.setdetails({ isshow: false });
|
|
|
|
},
|
|
|
|
cancel: () => {
|
|
|
|
tip.value.setdetails({ isshow: false });
|
|
|
|
},
|
|
|
|
close: () => {
|
|
|
|
tip.value.setdetails({ isshow: false });
|
|
|
|
}
|
|
|
|
});
|
|
|
|
} else {
|
|
|
|
common_vendor.index.showToast({
|
|
|
|
title: response.msg,
|
|
|
|
icon: "none"
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
initpage();
|
|
|
|
}
|
|
|
|
function showsdqs() {
|
|
|
|
tiplists.value.setdetails({
|
|
|
|
isshow: true,
|
|
|
|
tipstate: 1,
|
|
|
|
title: "请输入扫描的码",
|
|
|
|
placeholder: "请输入扫描的码",
|
|
|
|
inputtext: "",
|
|
|
|
success: (detail) => {
|
|
|
|
details.scancode = detail.inputtext;
|
|
|
|
scandata();
|
|
|
|
tiplists.value.setdetails({ isshow: false });
|
|
|
|
},
|
|
|
|
cancel: () => {
|
|
|
|
tiplists.value.setdetails({ isshow: false });
|
|
|
|
},
|
|
|
|
close: () => {
|
|
|
|
tiplists.value.setdetails({ isshow: false });
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
function setorderStatus(state) {
|
|
|
|
details.orderStatus = state;
|
|
|
|
if (details.orderStatus === 1) {
|
|
|
|
details.datalist = details.orderArr;
|
|
|
|
} else if (details.orderStatus === 2) {
|
|
|
|
details.datalist = details.zeroArr;
|
|
|
|
} else {
|
|
|
|
details.datalist = details.stockArr;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
async function initpage() {
|
|
|
|
let data = {
|
|
|
|
reservationId: details.id,
|
|
|
|
completecode: details.orderType,
|
|
|
|
orderCode: details.inputtxt
|
|
|
|
};
|
|
|
|
details.datalist = [];
|
|
|
|
let response = null;
|
|
|
|
if (details.orderStatus == 1 || details.orderStatus === 2) {
|
|
|
|
response = await api_user.signfororder(data);
|
|
|
|
if (response.code !== 200)
|
|
|
|
return;
|
|
|
|
details.zeroArr = [];
|
|
|
|
details.orderArr = [];
|
|
|
|
response.data.records.forEach((val) => {
|
|
|
|
if (val.isZero === "1")
|
|
|
|
return details.zeroArr.push(val);
|
|
|
|
details.orderArr.push(val);
|
|
|
|
});
|
|
|
|
} else if (details.orderStatus == 3) {
|
|
|
|
response = await api_user.signforinventory(data);
|
|
|
|
if (response.code !== 200)
|
|
|
|
return;
|
|
|
|
details.stockArr = response.data.records || [];
|
|
|
|
}
|
|
|
|
if (details.orderStatus === 1)
|
|
|
|
details.datalist = details.orderArr;
|
|
|
|
else if (details.orderStatus === 2)
|
|
|
|
details.datalist = details.zeroArr;
|
|
|
|
else
|
|
|
|
details.datalist = details.stockArr;
|
|
|
|
}
|
|
|
|
function setcheckindex(index) {
|
|
|
|
if (details.listcheckindex == index) {
|
|
|
|
details.listcheckindex = -1;
|
|
|
|
} else {
|
|
|
|
details.listcheckindex = index;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
function checktype(e) {
|
|
|
|
if (e == "") {
|
|
|
|
details.schanvalue = "";
|
|
|
|
details.orderType = "";
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
details.typearr.map((item) => {
|
|
|
|
if (item.value == e) {
|
|
|
|
details.schanvalue = item.label;
|
|
|
|
details.orderType = item.value;
|
|
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
function checkphon(item, index) {
|
|
|
|
console.log("item :>> ", item);
|
|
|
|
if (item.isZero === "1") {
|
|
|
|
const inpList = item.distributionParcelNumberVOS.map((val) => {
|
|
|
|
return {
|
|
|
|
id: val.parcelListId,
|
|
|
|
title: val.firsts,
|
|
|
|
value: val.signingNum,
|
|
|
|
maxNum: val.reservationNum,
|
|
|
|
minNum: 0,
|
|
|
|
type: "Number",
|
|
|
|
disabled: val.signingNum === val.reservationNum,
|
|
|
|
allocationId: val.allocationId,
|
|
|
|
orderCode: val.orderCode,
|
|
|
|
stockArticleId: val.stockArticleId
|
|
|
|
};
|
|
|
|
});
|
|
|
|
tiplists.value.setdetails({
|
|
|
|
title: "设置零担物料数量",
|
|
|
|
isshow: true,
|
|
|
|
tipstate: 4,
|
|
|
|
inpList,
|
|
|
|
inputtext: "",
|
|
|
|
confirmTxt: "确认",
|
|
|
|
isonecheck: true,
|
|
|
|
success: async (deta) => {
|
|
|
|
try {
|
|
|
|
if (deta.inpList.every((val) => val.disabled))
|
|
|
|
return tiplists.value.setdetails({ isshow: false });
|
|
|
|
if (deta.inpList.length === 0 || item.completeStact)
|
|
|
|
return tiplists.value.setdetails({ isshow: false });
|
|
|
|
common_vendor.index.showLoading({
|
|
|
|
mask: true,
|
|
|
|
title: "提交中"
|
|
|
|
});
|
|
|
|
let data = {
|
|
|
|
reservationId: details.items.id,
|
|
|
|
deliveryId: details.deliveryId,
|
|
|
|
orderId: deta.inpList[0].stockArticleId,
|
|
|
|
loadingId: common_vendor.index.getStorageSync("checkvehicle").id,
|
|
|
|
parcelListDTOS: []
|
|
|
|
};
|
|
|
|
data.parcelListDTOS = deta.inpList.map((val) => {
|
|
|
|
console.log("val :>> ", val);
|
|
|
|
return {
|
|
|
|
parcelListId: val.id,
|
|
|
|
stockArticleId: val.stockArticleId,
|
|
|
|
signingNum: val.value
|
|
|
|
};
|
|
|
|
});
|
|
|
|
const res = await api_user.signforZeroSignfor(data);
|
|
|
|
if (res.code !== 200)
|
|
|
|
return;
|
|
|
|
if (res.audio) {
|
|
|
|
}
|
|
|
|
initpage();
|
|
|
|
} catch (err) {
|
|
|
|
console.log("err :>> ", err);
|
|
|
|
} finally {
|
|
|
|
common_vendor.index.hideLoading();
|
|
|
|
tiplists.value.setdetails({ isshow: false });
|
|
|
|
}
|
|
|
|
},
|
|
|
|
cancel: (details2) => {
|
|
|
|
tiplists.value.setdetails({ isshow: false });
|
|
|
|
},
|
|
|
|
close: (details2) => {
|
|
|
|
tiplists.value.setdetails({ isshow: false });
|
|
|
|
}
|
|
|
|
});
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
if (details.listcheckindex == index) {
|
|
|
|
details.listcheckindex = -1;
|
|
|
|
} else {
|
|
|
|
details.listcheckindex = index;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
const { listcheckindex, inputtxt, orderStatus, datalist, items, typearr, schanvalue } = common_vendor.toRefs(details);
|
|
|
|
return (_ctx, _cache) => {
|
|
|
|
return {
|
|
|
|
a: common_vendor.p({
|
|
|
|
title: "签收订单扫描",
|
|
|
|
bgColor: "#D3832A",
|
|
|
|
leftIconColor: "#ffffff",
|
|
|
|
titleStyle: "color:#ffffff",
|
|
|
|
placeholder: true,
|
|
|
|
autoBack: true,
|
|
|
|
leftIconSize: "35"
|
|
|
|
}),
|
|
|
|
b: common_vendor.t(common_vendor.unref(items).consignee),
|
|
|
|
c: common_vendor.t(common_vendor.unref(items).deliveryAddress),
|
|
|
|
d: common_vendor.t(common_vendor.unref(items).deliveryPhone),
|
|
|
|
e: common_vendor.o(showsdqs),
|
|
|
|
f: common_vendor.t(common_vendor.unref(ordNub)),
|
|
|
|
g: common_vendor.t(common_vendor.unref(Plannednub)),
|
|
|
|
h: common_vendor.t(common_vendor.unref(items).reservationNum),
|
|
|
|
i: common_vendor.t(common_vendor.unref(signNub)),
|
|
|
|
j: common_vendor.o(checktype),
|
|
|
|
k: common_vendor.p({
|
|
|
|
data: common_vendor.unref(typearr),
|
|
|
|
value: common_vendor.unref(schanvalue),
|
|
|
|
placeholder: "全部",
|
|
|
|
arrLeft: 5,
|
|
|
|
size: "145",
|
|
|
|
clearable: true
|
|
|
|
}),
|
|
|
|
l: common_vendor.unref(inputtxt),
|
|
|
|
m: common_vendor.o(($event) => common_vendor.isRef(inputtxt) ? inputtxt.value = $event.detail.value : null),
|
|
|
|
n: common_vendor.o(initpage),
|
|
|
|
o: common_vendor.n(common_vendor.unref(orderStatus) == 1 ? "xz" : ""),
|
|
|
|
p: common_vendor.o(($event) => setorderStatus(1)),
|
|
|
|
q: common_vendor.n(common_vendor.unref(orderStatus) == 2 ? "xz" : ""),
|
|
|
|
r: common_vendor.o(($event) => setorderStatus(2)),
|
|
|
|
s: common_vendor.n(common_vendor.unref(orderStatus) == 3 ? "xz" : ""),
|
|
|
|
t: common_vendor.o(($event) => setorderStatus(3)),
|
|
|
|
v: common_vendor.f(common_vendor.unref(datalist), (item, index, i0) => {
|
|
|
|
return common_vendor.e(common_vendor.unref(orderStatus) === 1 ? common_vendor.e({
|
|
|
|
a: common_vendor.o(($event) => goorderdetail(item)),
|
|
|
|
b: common_vendor.t(item.orderCode),
|
|
|
|
c: common_vendor.t(item.reservationNum),
|
|
|
|
d: common_vendor.t(item.reservationNum),
|
|
|
|
e: common_vendor.t(item.loadingNub),
|
|
|
|
f: common_vendor.t(item.signforNub),
|
|
|
|
g: common_vendor.unref(listcheckindex) == index
|
|
|
|
}, common_vendor.unref(listcheckindex) == index ? {
|
|
|
|
h: common_vendor.f(item.distributionAppParcelListVOS, (ite, k1, i1) => {
|
|
|
|
return {
|
|
|
|
a: common_vendor.t(ite.orderPackageCode),
|
|
|
|
b: common_vendor.t(ite.thirdProduct),
|
|
|
|
c: common_vendor.t(ite.orderPackageStatus === "70" ? "已扫" : "未扫")
|
|
|
|
};
|
|
|
|
})
|
|
|
|
} : {}, {
|
|
|
|
i: common_vendor.t(item.signforNub == 0 ? "未扫" : item.signforNub == item.reservationNum ? "齐套" : "部分扫"),
|
|
|
|
j: common_vendor.n(item.signforNub == 0 ? "tip tp2" : item.signforNub == item.reservationNum ? "tip tp1" : "tip tp3"),
|
|
|
|
k: common_vendor.o(($event) => setcheckindex(index))
|
|
|
|
}) : {}, common_vendor.unref(orderStatus) === 2 ? common_vendor.e({
|
|
|
|
l: common_vendor.o(($event) => goorderdetail(item)),
|
|
|
|
m: common_vendor.t(item.orderCode),
|
|
|
|
n: common_vendor.o(($event) => goorderdetail(item)),
|
|
|
|
o: common_vendor.t(item.descriptionGoods),
|
|
|
|
p: common_vendor.t(item.reservationNum),
|
|
|
|
q: common_vendor.t(item.loadingNub),
|
|
|
|
r: item.complete
|
|
|
|
}, item.complete ? {
|
|
|
|
s: common_vendor.t(item.complete),
|
|
|
|
t: common_vendor.n(item.completecode == 3 ? "tip tp1" : item.completecode == 1 ? "tip tp2" : "tip tp3")
|
|
|
|
} : {}, {
|
|
|
|
v: common_vendor.o(($event) => checkphon(item, index))
|
|
|
|
}) : {}, common_vendor.unref(orderStatus) === 3 ? {
|
|
|
|
w: common_vendor.t(item.sku),
|
|
|
|
x: common_vendor.t(item.descriptionGoods),
|
|
|
|
y: common_vendor.t(item.specification),
|
|
|
|
z: common_vendor.t(item.logpmUnit),
|
|
|
|
A: common_vendor.o(($event) => setcheckindex(index))
|
|
|
|
} : {});
|
|
|
|
}),
|
|
|
|
w: common_vendor.unref(orderStatus) === 1,
|
|
|
|
x: common_vendor.unref(orderStatus) === 2,
|
|
|
|
y: common_vendor.unref(orderStatus) === 3,
|
|
|
|
z: common_vendor.sr(tip, "fb393026-2", {
|
|
|
|
"k": "tip"
|
|
|
|
}),
|
|
|
|
A: common_vendor.sr(tiplists, "fb393026-3", {
|
|
|
|
"k": "tiplists"
|
|
|
|
})
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|
|
|
|
});
|
|
|
|
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-fb393026"], ["__file", "D:/worksp/logpm/pagesHome/pages/signOrderScan/signOrderScan.vue"]]);
|
|
|
|
wx.createPage(MiniProgramPage);
|