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
88
89
90
91
92
93
94
95
96
97
98
99
100
<!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="who-bar">
    <div class="who-center" id="who"></div>
    <button class="btn sm ghost" onclick="Womp.logout()">退出登录</button>
  </div>
 
  <div class="sec">
    <div class="sec-title">工作签到</div>
    <div class="muted" id="attendStatus" style="margin:-4px 2px 8px">当前:未签到</div>
    <div class="grid">
      <div class="tile" onclick="attend('in')">上班签到</div>
      <div class="tile" onclick="attend('out')">下班签退</div>
    </div>
    <div id="attendMsg"></div>
  </div>
 
  <div class="sec">
    <div class="sec-title">回收作业</div>
    <div class="grid">
      <div class="tile" onclick="go('checkin.html')">扫码打卡</div>
      <div class="tile" onclick="go('recycle.html')">现场回收</div>
      <div class="tile" onclick="go('appointments.html')">预约订单</div>
      <div class="tile" onclick="go('recycle.html?mode=apt')">预约回收</div>
    </div>
  </div>
 
  <div class="sec">
    <div class="sec-title">订单发货</div>
    <div class="grid">
      <div class="tile" onclick="go('orders.html')">订单发货</div>
    </div>
  </div>
 
  <div class="sec">
    <div class="sec-title">销售与计量</div>
    <div class="grid">
      <div class="tile" onclick="go('wastesale.html')">可回收物销售</div>
      <div class="tile" onclick="go('siteweight.html')">压缩站计量</div>
    </div>
  </div>
</div>
<script src="app.js"></script>
<script>
try {
  var s = JSON.parse(Womp.getSorter() || "{}");
  $("who").innerHTML = "<div class='who-name'>" + (s.businessName || "分拣员") + "</div>" +
    "<div class='muted'>账号 " + (s.sorterId || "-") + " · 手机 " + (s.phone || "-") + "</div>";
} catch (e) {}
function refreshAttend() {
  var on = false;
  try { on = !!Womp.isCheckedIn(); } catch (e) {}
  $("attendStatus").textContent = on ? "当前:已上班签到" : "当前:未签到";
}
refreshAttend();
var attendBusy = false;
function attend(type) {
  if (attendBusy) return;
  attendBusy = true;
  var checkIn = type === "in";
  $("attendMsg").innerHTML = "<div class='muted'>正在获取定位…</div>";
  toast("正在获取定位…");
  getLocation().then(function (loc) {
    if (!loc || loc.longitude == null || loc.latitude == null) {
      throw new Error("无法获取定位,请开启GPS后重试");
    }
    var path = checkIn ? "/app/push/sorterattendance/checkIn" : "/app/push/sorterattendance/checkOut";
    return api(path, { longitude: loc.longitude, latitude: loc.latitude });
  }).then(function (data) {
    try { Womp.setCheckedIn(checkIn); } catch (e) {}
    var msg = (data && data.message) || (checkIn ? "签到成功" : "签退成功");
    $("attendMsg").innerHTML = "<div class='ok' style='padding:12px 0;font-size:16px'>" + msg + "</div>";
    toast(msg);
    refreshAttend();
  }).catch(function (e) {
    var msg = errMsg(e, checkIn ? "签到失败" : "签退失败");
    if (/今日已签到/.test(msg)) {
      try { Womp.setCheckedIn(true); } catch (x) {}
      refreshAttend();
    } else if (/今日已签退|请先上班签到/.test(msg)) {
      try { Womp.setCheckedIn(false); } catch (x) {}
      refreshAttend();
    }
    $("attendMsg").innerHTML = "<div class='err'>" + msg + "</div>";
    toast(msg);
  }).then(function () {
    attendBusy = false;
  });
}
</script>
</body>
</html>