wangzhibo
4 天以前 ae6f40460dcd56af6c5f60ba52c883854c3bac55
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
<!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>