<!DOCTYPE html>
|
<html lang="zh-CN">
|
<head>
|
<meta charset="utf-8"/>
|
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1"/>
|
<title>可回收物销售</title>
|
<link rel="stylesheet" href="css.css"/>
|
</head>
|
<body>
|
<div class="wrap">
|
<div class="page-head">
|
<h1>可回收物销售</h1>
|
<a class="back-link" href="home.html">返回工作台</a>
|
</div>
|
<div class="card">
|
<label>收集点</label>
|
<select id="siteId"></select>
|
<label class="req">垃圾种类</label>
|
<select id="wasteCode"></select>
|
<label class="req">收购方</label>
|
<select id="buyerCode"></select>
|
<label class="req">重量(kg)</label>
|
<input id="weight" type="number" step="0.01" oninput="calc()"/>
|
<label>单价</label>
|
<input id="unitPrice" type="number" step="0.01" oninput="calc()"/>
|
<div id="subtotal" class="preview">小计金额 ¥0.00</div>
|
<button class="btn" onclick="save()">保存</button>
|
</div>
|
<div class="sec-title">我的销售记录</div>
|
<div class="card" id="list"></div>
|
</div>
|
<script src="app.js"></script>
|
<script>
|
function fill(sel, rows, v, l, placeholder) {
|
var opts = placeholder ? "<option value=''>" + placeholder + "</option>" : "";
|
opts += (rows || []).map(function (r) {
|
return "<option value='" + r[v] + "'>" + r[l] + "</option>";
|
}).join("");
|
$(sel).innerHTML = opts;
|
}
|
function calc() {
|
var n = Number($("weight").value || 0) * Number($("unitPrice").value || 0);
|
$("subtotal").textContent = "小计金额 ¥" + money(n);
|
}
|
Promise.all([
|
api("/app/basicdata/options/sites", { siteType: "收集点" }),
|
api("/app/basicdata/options/wastetypes", {}),
|
api("/app/basicdata/options/buyers", {})
|
]).then(function (arr) {
|
fill("siteId", arr[0], "businessId", "businessName", "可不选");
|
fill("wasteCode", arr[1], "code", "name", "请选择");
|
fill("buyerCode", arr[2], "code", "name", "请选择");
|
if (!(arr[2] || []).length) toast("暂无收购方,请在后台维护");
|
$("wasteCode").onchange = function () {
|
var w = (arr[1] || []).filter(function (i) { return i.code == $("wasteCode").value; })[0];
|
if (w) $("unitPrice").value = w.price;
|
calc();
|
};
|
}).catch(function (e) { toast(e.message); });
|
|
function save() {
|
if (!$("buyerCode").value) { toast("请选择收购方"); return; }
|
if (!$("wasteCode").value) { toast("请选择垃圾种类"); return; }
|
if (!Number($("weight").value)) { toast("请填写重量"); return; }
|
api("/app/operation/wastesale/saleAdd", {
|
siteId: $("siteId").value || null,
|
wasteCode: $("wasteCode").value,
|
buyerCode: $("buyerCode").value,
|
weight: Number($("weight").value),
|
unitPrice: Number($("unitPrice").value)
|
}).then(function () {
|
toast("已保存"); $("weight").value = ""; calc(); load();
|
}).catch(function (e) { toast(e.message); });
|
}
|
function load() {
|
api("/app/operation/wastesale/salePage", { page: 1, size: 30 }).then(function (res) {
|
var list = (res && res.list) || [];
|
$("list").innerHTML = list.length ? list.map(function (r) {
|
return "<div class='item'>" + (r.wasteName || r.wasteCode) + " " + r.weight + "kg · ¥" + r.totalPrice +
|
"<div class='muted'>" + (r.siteName || "") + " · " + (r.buyerName || "") + " · " + (r.dateTime || "") + "</div></div>";
|
}).join("") : "<div class='muted'>暂无记录</div>";
|
}).catch(function (e) { toast(e.message); });
|
}
|
load();
|
</script>
|
</body>
|
</html>
|