<!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>
|