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.
610 lines
22 KiB
610 lines
22 KiB
"use strict"; |
|
const common_vendor = require("../../../common/vendor.js"); |
|
const api_user = require("../../../api/user.js"); |
|
const utils_utils = require("../../../utils/utils.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(); |
|
} |
|
const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({ |
|
__name: "DownGoods", |
|
setup(__props) { |
|
common_vendor.storeToRefs(store_useSystemSettingsStore.useSystemSettingsStore()); |
|
const tiplists = common_vendor.ref(null); |
|
const tip = common_vendor.ref(null); |
|
const details = common_vendor.reactive({ |
|
scantype: 1, |
|
scancode: "", |
|
pageType: 1, |
|
datalist: [], |
|
checkdatalist: [], |
|
isallcheck: false, |
|
resdata: {}, |
|
trayCode: "", |
|
showstate: 0, |
|
checkmakindex: 0, |
|
codelist: [], |
|
typelist: [], |
|
Marketlist: [], |
|
checkmarkindex: 0, |
|
allocaTitle: "", |
|
scandataList: [] |
|
}); |
|
common_vendor.onLoad((op) => { |
|
details.pageType = op.type; |
|
if (op.type === "1") |
|
utils_utils.utils.ttsspke(`当前下架方式为${op.pageName}, 请扫描下架的托盘`); |
|
else if (op.type === "2") |
|
utils_utils.utils.ttsspke(`当前下架方式为${op.pageName}, 请扫描下架的库位`); |
|
else if (op.type === "3") |
|
utils_utils.utils.ttsspke(`当前下架方式为${op.pageName}, 请扫描下架的包件`); |
|
else if (Number(details.pageType) == 4) { |
|
details.typelist = ["物料编码", "物料名称"]; |
|
utils_utils.utils.ttsspke(`当前下架方式为${op.pageName}, 请录入物料编码或物料名称`); |
|
} else if (Number(details.pageType) == 5) { |
|
details.typelist = ["订单号", "运单号"]; |
|
utils_utils.utils.ttsspke(`当前下架方式为${op.pageName}, 请录入订单号或运单号`); |
|
} |
|
}); |
|
common_vendor.onShow(() => { |
|
initmarke(); |
|
}); |
|
common_vendor.onPullDownRefresh(() => { |
|
const timer = setTimeout(() => { |
|
details.scancode = ""; |
|
details.datalist = []; |
|
details.codelist = []; |
|
details.trayCode = ""; |
|
details.resdata = {}; |
|
details.allocaTitle = ""; |
|
common_vendor.index.stopPullDownRefresh(); |
|
clearTimeout(timer); |
|
}, 500); |
|
}); |
|
function backun() { |
|
common_vendor.index.navigateBack(); |
|
} |
|
function goorderdetail(item) { |
|
common_vendor.index.navigateTo({ |
|
url: "/pagesHome/pages/orderDetails/orderDetails?orderCode=" + item.orderCode |
|
}); |
|
} |
|
async function initmarke() { |
|
let data = { |
|
warehouseCode: "LQ" |
|
}; |
|
let res = await api_user.warehouseTrayTypefindAllMarket(data); |
|
if (res.code !== 200) |
|
return; |
|
console.log(res.data); |
|
details.Marketlist = res.data; |
|
} |
|
common_vendor.watchEffect(() => { |
|
if (details.datalist.length == details.checkdatalist.length) { |
|
details.isallcheck = true; |
|
} else { |
|
details.isallcheck = false; |
|
} |
|
}); |
|
function inscan() { |
|
details.scancode = details.trayCode; |
|
scandata(); |
|
} |
|
async function scandata() { |
|
var _a; |
|
console.log("111 :>> ", 111); |
|
const _scancode = details.scancode; |
|
let _flag = true; |
|
if (details.scandataList.includes(_scancode)) |
|
_flag = false; |
|
if (Number(details.pageType) === 3 && details.datalist.find((val) => val.associationValue === _scancode)) |
|
_flag = false; |
|
if (!_flag) { |
|
return common_vendor.index.showToast({ |
|
title: "重复扫码", |
|
icon: "none" |
|
}); |
|
} |
|
console.log("111 :>> ", 111); |
|
details.scandataList.push(_scancode); |
|
try { |
|
let res = null; |
|
let data = null; |
|
switch (Number(details.pageType)) { |
|
case 1: |
|
data = { |
|
trayCode: details.scancode |
|
}; |
|
res = await api_user.warehouseUpdownTypedownScanTrayCode(data); |
|
if (res.code == 200) { |
|
details.datalist = []; |
|
details.checkdatalist = []; |
|
details.datalist = details.datalist.concat(res.data.list); |
|
details.checkdatalist = details.checkdatalist.concat(res.data.list); |
|
details.trayCode = details.scancode; |
|
details.allocaTitle = res.data.warehouseName + res.data.areaTitle + res.data.allocationTitle; |
|
} |
|
break; |
|
case 2: |
|
data = { |
|
allocationId: details.scancode |
|
}; |
|
res = await api_user.warehouseUpdownTypeupShelfScanAllocation(data); |
|
if (res.code == 200) { |
|
details.datalist = []; |
|
details.checkdatalist = []; |
|
details.datalist = details.datalist.concat(res.data.list); |
|
details.checkdatalist = details.checkdatalist.concat(res.data.list); |
|
details.resdata = res.data; |
|
const _positionArr = details.resdata.allocationTitle.split("-"); |
|
details.resdata.positionInfo = _positionArr[0] + "层" + _positionArr[1] + "列"; |
|
} |
|
break; |
|
case 3: |
|
data = { |
|
orderPackageCode: details.scancode |
|
}; |
|
res = await api_user.warehouseUpdownTypedownScanPackage(data); |
|
console.log("res", res); |
|
if (res.code == 200) { |
|
details.datalist = details.datalist.concat([res.data]); |
|
details.checkdatalist = details.checkdatalist.concat([res.data]); |
|
} |
|
break; |
|
case 4: |
|
data = { |
|
stockType: details.checkmakindex + 1, |
|
code: details.scancode, |
|
marketId: (_a = details.Marketlist[details.checkmarkindex]) == null ? void 0 : _a.marketId |
|
}; |
|
res = await api_user.warehouseUpdownTypedownEnterStock(data); |
|
if (res.code == 200) { |
|
details.datalist = []; |
|
details.checkdatalist = []; |
|
details.codelist = res.data; |
|
} |
|
break; |
|
case 5: |
|
data = { |
|
zeroType: details.checkmakindex + 1, |
|
code: details.scancode |
|
}; |
|
res = await api_user.warehouseUpdownTypedownEnterZeroOrder(data); |
|
if (res.code == 200) { |
|
details.codelist = res.data; |
|
} |
|
break; |
|
} |
|
} catch (err) { |
|
console.log("err :>> ", err); |
|
} finally { |
|
details.scandataList.splice(details.scandataList.indexOf(_scancode), 1); |
|
} |
|
} |
|
async function downs() { |
|
let res = null; |
|
let data = null; |
|
let list = []; |
|
common_vendor.index.showLoading({ |
|
mask: true, |
|
title: "提交中" |
|
}); |
|
switch (Number(details.pageType)) { |
|
case 1: |
|
data = { |
|
trayCode: details.trayCode |
|
}; |
|
res = await api_user.warehouseUpdownTypedownTrayCode(data); |
|
break; |
|
case 2: |
|
data = { |
|
allocationId: details.resdata.allocationId |
|
}; |
|
res = await api_user.warehouseUpdownTypedownDownAllocation(data); |
|
break; |
|
case 3: |
|
list = []; |
|
details.checkdatalist.map((item) => { |
|
list.push({ |
|
orderPackageCode: item.associationValue |
|
}); |
|
}); |
|
data = { |
|
upShelfPackageList: list |
|
}; |
|
res = await api_user.warehouseUpdownTypedownPackage(data); |
|
break; |
|
case 4: |
|
list = []; |
|
details.checkdatalist.map((item) => { |
|
list.push({ |
|
marketId: item.marketId, |
|
materialCode: item.associationValue, |
|
enterNum: item.enterNum, |
|
allocationId: item.allocationId, |
|
incomingBatch: item.incomingBatch |
|
}); |
|
}); |
|
data = { |
|
upShelfStockList: list |
|
}; |
|
res = await api_user.warehouseUpdownTypedownStock(data); |
|
break; |
|
case 5: |
|
list = []; |
|
details.checkdatalist.map((item) => { |
|
list.push({ |
|
waybillCode: item.waybillNumber, |
|
orderCode: item.associationValue, |
|
enterNum: item.enterNum, |
|
allocationId: item.allocationId |
|
}); |
|
}); |
|
data = { |
|
upShelfZeroOrderList: list |
|
}; |
|
res = await api_user.warehouseUpdownTypedownZeroOrder(data); |
|
break; |
|
} |
|
console.log("res :>> ", res); |
|
common_vendor.index.hideLoading(); |
|
if (res.code == 200) { |
|
common_vendor.index.showToast({ |
|
title: res.msg, |
|
icon: "none" |
|
}); |
|
utils_utils.utils.ttsspke(res.msg); |
|
details.checkdatalist = []; |
|
details.datalist = []; |
|
details.codelist = []; |
|
details.scancode = ""; |
|
details.resdata = {}; |
|
details.isallcheck = false; |
|
} else { |
|
common_vendor.index.showToast({ |
|
icon: "error", |
|
title: "下架失败" |
|
}); |
|
} |
|
} |
|
function checkite(item) { |
|
if (details.checkdatalist.indexOf(item) == -1) { |
|
details.checkdatalist.push(item); |
|
} else { |
|
details.checkdatalist.splice(details.checkdatalist.indexOf(item), 1); |
|
} |
|
} |
|
function allquanxuan() { |
|
if (details.datalist.length == details.checkdatalist.length) { |
|
details.checkdatalist = []; |
|
} else { |
|
details.datalist.map((item) => { |
|
if (details.checkdatalist.indexOf(item) == -1) { |
|
details.checkdatalist.push(item); |
|
} |
|
}); |
|
} |
|
} |
|
function confirmlist() { |
|
let sfcg = false; |
|
details.codelist.map((item) => { |
|
if (item.enterNum > item.num) { |
|
sfcg = true; |
|
} |
|
}); |
|
if (sfcg) { |
|
tip.value.setdetails({ |
|
title: "警告", |
|
content: "入库数不能大于剩余件数", |
|
confirmTxt: "确认", |
|
isshow: true, |
|
isshowcancel: true, |
|
success: () => { |
|
tip.value.setisshow(false); |
|
}, |
|
cancel: () => { |
|
tip.value.setisshow(false); |
|
}, |
|
close: () => { |
|
tip.value.setisshow(false); |
|
} |
|
}); |
|
return; |
|
} |
|
details.codelist.map((item) => { |
|
if (item.enterNum > 0) { |
|
details.datalist.push(item); |
|
details.checkdatalist.push(item); |
|
} |
|
}); |
|
details.showstate = 0; |
|
details.codelist = []; |
|
} |
|
function setshowstate(state) { |
|
details.showstate = state; |
|
details.codelist = []; |
|
details.scancode = ""; |
|
} |
|
function checkmake() { |
|
let list = []; |
|
if (Number(details.pageType) == 4) { |
|
list = ["物料编码", "物料名称"]; |
|
details.typelist = list; |
|
} else if (Number(details.pageType) == 5) { |
|
list = ["订单号", "运单号"]; |
|
details.typelist = list; |
|
} |
|
tiplists.value.setdetails({ |
|
title: "请选择商场", |
|
isshow: true, |
|
tipstate: 2, |
|
list, |
|
checklist: [], |
|
inputtext: "", |
|
confirmTxt: "确认选择", |
|
isonecheck: true, |
|
success: (deta) => { |
|
if (deta.checklist.length == 0) { |
|
common_vendor.index.showToast({ |
|
title: "请选择商场", |
|
icon: "none" |
|
}); |
|
return; |
|
} |
|
details.checkmakindex = deta.checklist[0]; |
|
tiplists.value.setdetails({ isshow: false }); |
|
details.codelist = []; |
|
}, |
|
cancel: (details2) => { |
|
tiplists.value.setdetails({ isshow: false }); |
|
}, |
|
close: (details2) => { |
|
tiplists.value.setdetails({ isshow: false }); |
|
} |
|
}); |
|
} |
|
function checkmarke() { |
|
let list = []; |
|
details.Marketlist.map((item) => { |
|
list.push(item == null ? void 0 : item.marketName); |
|
}); |
|
tiplists.value.setdetails({ |
|
title: "请选择商场", |
|
isshow: true, |
|
tipstate: 2, |
|
list, |
|
checklist: [], |
|
inputtext: "", |
|
confirmTxt: "确认选择", |
|
isonecheck: true, |
|
success: (deta) => { |
|
if (deta.checklist.length == 0) { |
|
common_vendor.index.showToast({ |
|
title: "请选择商场", |
|
icon: "none" |
|
}); |
|
return; |
|
} |
|
details.checkmarkindex = deta.checklist[0]; |
|
tiplists.value.setdetails({ isshow: false }); |
|
details.codelist = []; |
|
}, |
|
cancel: (details2) => { |
|
tiplists.value.setdetails({ isshow: false }); |
|
}, |
|
close: (details2) => { |
|
tiplists.value.setdetails({ isshow: false }); |
|
} |
|
}); |
|
} |
|
function handleScan() { |
|
console.log(123123); |
|
common_vendor.index.scanCode({ |
|
success(res) { |
|
console.log("res :>> ", res); |
|
console.log("res.result :>> ", res.result); |
|
details.scancode = res.result; |
|
scandata(); |
|
} |
|
}); |
|
} |
|
const { |
|
allocaTitle, |
|
checkmarkindex, |
|
Marketlist, |
|
codelist, |
|
scancode, |
|
typelist, |
|
checkmakindex, |
|
showstate, |
|
trayCode, |
|
isallcheck, |
|
checkdatalist, |
|
pageType, |
|
datalist |
|
} = common_vendor.toRefs(details); |
|
return (_ctx, _cache) => { |
|
var _a; |
|
return common_vendor.e({ |
|
a: common_vendor.p({ |
|
title: "下架扫描", |
|
bgColor: "#D3832A", |
|
leftIconColor: "#ffffff", |
|
titleStyle: "color:#ffffff", |
|
placeholder: true, |
|
autoBack: true, |
|
leftIconSize: "35" |
|
}), |
|
b: common_vendor.o(handleScan), |
|
c: common_vendor.unref(pageType) == "1" |
|
}, common_vendor.unref(pageType) == "1" ? { |
|
d: common_vendor.o(inscan), |
|
e: common_vendor.o(inscan), |
|
f: common_vendor.unref(trayCode), |
|
g: common_vendor.o(($event) => common_vendor.isRef(trayCode) ? trayCode.value = $event.detail.value : null), |
|
h: common_vendor.t(common_vendor.unref(allocaTitle) || "暂无数据") |
|
} : {}, { |
|
i: details.pageType != 2 && details.pageType != 1 |
|
}, details.pageType != 2 && details.pageType != 1 ? { |
|
j: !common_vendor.unref(isallcheck) ? "/pagesHome/static/downnocheck.png" : "/pagesHome/static/downcheck.png", |
|
k: common_vendor.n(!common_vendor.unref(isallcheck) ? "" : "xz"), |
|
l: common_vendor.o(allquanxuan) |
|
} : {}, { |
|
m: common_vendor.unref(pageType) == "2" |
|
}, common_vendor.unref(pageType) == "2" ? { |
|
n: common_vendor.t(details.resdata.warehouseName), |
|
o: common_vendor.t(details.resdata.areaTitle), |
|
p: details.resdata.areaTitle, |
|
q: common_vendor.t(details.resdata.shelfTitle), |
|
r: details.resdata.shelfTitle, |
|
s: common_vendor.t(details.resdata.positionInfo), |
|
t: details.resdata.positionInfo, |
|
v: common_vendor.t(details.resdata.totalNum), |
|
w: common_vendor.t(details.resdata.orderTotalnum), |
|
x: common_vendor.t(details.resdata.stockNum), |
|
y: common_vendor.t(details.resdata.stockTotalNum), |
|
z: common_vendor.t(details.resdata.trayCode || `(${details.resdata.trayName || ""})`) |
|
} : {}, { |
|
A: details.pageType != 2 && details.pageType != 1 |
|
}, details.pageType != 2 && details.pageType != 1 ? { |
|
B: common_vendor.f(common_vendor.unref(datalist), (item, index, i0) => { |
|
return common_vendor.e(details.pageType != 2 && details.pageType != 1 ? { |
|
a: common_vendor.unref(checkdatalist).indexOf(item) == -1 ? "/pagesHome/static/downnocheck.png" : "/pagesHome/static/downcheck.png" |
|
} : {}, { |
|
b: common_vendor.t(index + 1), |
|
c: common_vendor.o(($event) => checkite(item)), |
|
d: common_vendor.t(item == null ? void 0 : item.orderCode), |
|
e: common_vendor.o(($event) => goorderdetail(item)), |
|
f: (item == null ? void 0 : item.materialCode) && common_vendor.unref(pageType) == 4 |
|
}, (item == null ? void 0 : item.materialCode) && common_vendor.unref(pageType) == 4 ? { |
|
g: common_vendor.t(item == null ? void 0 : item.materialCode) |
|
} : {}, { |
|
h: item == null ? void 0 : item.goodsName |
|
}, (item == null ? void 0 : item.goodsName) ? { |
|
i: common_vendor.t(item == null ? void 0 : item.goodsName) |
|
} : {}, { |
|
j: item == null ? void 0 : item.marketName |
|
}, (item == null ? void 0 : item.marketName) ? { |
|
k: common_vendor.t(item == null ? void 0 : item.marketName) |
|
} : {}, { |
|
l: item == null ? void 0 : item.incomingBatch |
|
}, (item == null ? void 0 : item.incomingBatch) ? { |
|
m: common_vendor.t(item == null ? void 0 : item.incomingBatch) |
|
} : {}, { |
|
n: item == null ? void 0 : item.positionCode |
|
}, (item == null ? void 0 : item.positionCode) ? { |
|
o: common_vendor.t(item == null ? void 0 : item.positionCode) |
|
} : {}, { |
|
p: (item == null ? void 0 : item.associationId) && common_vendor.unref(pageType) != "4" |
|
}, (item == null ? void 0 : item.associationId) && common_vendor.unref(pageType) != "4" ? { |
|
q: common_vendor.t(item == null ? void 0 : item.associationId) |
|
} : {}, { |
|
r: (item == null ? void 0 : item.associationValue) && common_vendor.unref(pageType) != "4" |
|
}, (item == null ? void 0 : item.associationValue) && common_vendor.unref(pageType) != "4" ? { |
|
s: common_vendor.t(item == null ? void 0 : item.associationValue) |
|
} : {}, { |
|
t: (item == null ? void 0 : item.orderPackageCode) && common_vendor.unref(pageType) != "4" |
|
}, (item == null ? void 0 : item.orderPackageCode) && common_vendor.unref(pageType) != "4" ? { |
|
v: common_vendor.t(item == null ? void 0 : item.orderPackageCode) |
|
} : {}, { |
|
w: common_vendor.t((item == null ? void 0 : item.trayCode) + `(${item == null ? void 0 : item.trayName})`), |
|
x: common_vendor.t(item.num), |
|
y: common_vendor.t(item.enterNum) |
|
}); |
|
}), |
|
C: details.pageType != 2 && details.pageType != 1 |
|
} : { |
|
D: common_vendor.f(common_vendor.unref(datalist), (item, index, i0) => { |
|
return common_vendor.e({ |
|
a: item.goodsType === 1 |
|
}, item.goodsType === 1 ? { |
|
b: common_vendor.t(item.serviceNum), |
|
c: common_vendor.t(item.orderCode), |
|
d: common_vendor.o(($event) => goorderdetail(item)) |
|
} : {}, { |
|
e: item.goodsType === 2 |
|
}, item.goodsType === 2 ? { |
|
f: common_vendor.t(item.waybillNo), |
|
g: common_vendor.t(item.orderCode) |
|
} : {}, { |
|
h: item.goodsType === 3 |
|
}, item.goodsType === 3 ? { |
|
i: common_vendor.t(item.materialCode), |
|
j: common_vendor.t(item.materialName), |
|
k: common_vendor.t(item.orderCode), |
|
l: common_vendor.t(item.marketName), |
|
m: common_vendor.t(item.incomingBatch) |
|
} : {}, { |
|
n: common_vendor.t(item.totalNum), |
|
o: common_vendor.t(item.shelfNum), |
|
p: item.totalNum == item.shelfNum ? "/pagesHome/static/qitao.png" : "/pagesHome/static/weiqitao.png" |
|
}); |
|
}) |
|
}, { |
|
E: common_vendor.unref(pageType) == "1" ? "60vh" : common_vendor.unref(pageType) == "2" ? "60vh" : "65vh", |
|
F: common_vendor.unref(pageType) == "1" || common_vendor.unref(pageType) == "2" || common_vendor.unref(pageType) == "3" |
|
}, common_vendor.unref(pageType) == "1" || common_vendor.unref(pageType) == "2" || common_vendor.unref(pageType) == "3" ? { |
|
G: common_vendor.o(backun) |
|
} : { |
|
H: common_vendor.o(($event) => setshowstate(2)) |
|
}, { |
|
I: common_vendor.o(downs), |
|
J: common_vendor.unref(showstate) |
|
}, common_vendor.unref(showstate) ? common_vendor.e({ |
|
K: common_vendor.unref(showstate) == 2 |
|
}, common_vendor.unref(showstate) == 2 ? common_vendor.e({ |
|
L: common_vendor.t(common_vendor.unref(typelist)[common_vendor.unref(checkmakindex)] || "请选择下架类型"), |
|
M: common_vendor.o(checkmake), |
|
N: details.pageType == "4" |
|
}, details.pageType == "4" ? { |
|
O: common_vendor.t(((_a = common_vendor.unref(Marketlist)[common_vendor.unref(checkmarkindex)]) == null ? void 0 : _a.marketName) || "没有商场"), |
|
P: common_vendor.o(checkmarke) |
|
} : {}, { |
|
Q: "输入" + common_vendor.unref(typelist)[common_vendor.unref(checkmakindex)], |
|
R: common_vendor.unref(scancode), |
|
S: common_vendor.o(($event) => common_vendor.isRef(scancode) ? scancode.value = $event.detail.value : null), |
|
T: common_vendor.o(scandata), |
|
U: common_vendor.f(common_vendor.unref(codelist), (item, index, i0) => { |
|
return { |
|
a: common_vendor.t(item.materialName), |
|
b: common_vendor.t(item.num || 0), |
|
c: common_vendor.t(item.incomingBatch), |
|
d: common_vendor.t(item.marketName), |
|
e: common_vendor.t(item.warehouseName), |
|
f: common_vendor.t(item.positionCode), |
|
g: common_vendor.t(item.trayCode + `(${item.trayName})`), |
|
h: item.enterNum, |
|
i: common_vendor.o(($event) => item.enterNum = $event.detail.value) |
|
}; |
|
}), |
|
V: common_vendor.o(($event) => setshowstate(0)), |
|
W: common_vendor.o(confirmlist), |
|
X: common_vendor.o(() => { |
|
}) |
|
}) : {}) : {}, { |
|
Y: common_vendor.sr(tip, "d94b6424-1", { |
|
"k": "tip" |
|
}), |
|
Z: common_vendor.sr(tiplists, "d94b6424-2", { |
|
"k": "tiplists" |
|
}) |
|
}); |
|
}; |
|
} |
|
}); |
|
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__file", "D:/worksp/logpm/pagesHome/pages/DownGoods/DownGoods.vue"]]); |
|
wx.createPage(MiniProgramPage);
|
|
|