189 lines
10 KiB
JavaScript
189 lines
10 KiB
JavaScript
"use strict";
|
|
const common_vendor = require("../../../common/vendor.js");
|
|
const common_libraries_apiLoading = require("../../../common/libraries/apiLoading.js");
|
|
const gen_Apis = require("../../../gen/Apis.js");
|
|
const ME_attendance_sign_clock_in_model = require("./model.js");
|
|
const common_libraries_naviHelper = require("../../../common/libraries/naviHelper.js");
|
|
require("../../../common/libraries/request.js");
|
|
const common_store_useWatermarkStore = require("../../../common/store/useWatermarkStore.js");
|
|
const common_store_useWeAppAuthStore = require("../../../common/store/useWeAppAuthStore.js");
|
|
require("../../../common/store/useWorkStore.js");
|
|
const common_libraries_mapDistance = require("../../../common/libraries/mapDistance.js");
|
|
const common_libraries_day = require("../../../common/libraries/day.js");
|
|
const common_libraries_tools = require("../../../common/libraries/tools.js");
|
|
common_store_useWeAppAuthStore.useWeAppAuthStore();
|
|
const watermark = common_store_useWatermarkStore.useWatermarkStore();
|
|
const getShow = (data, mapData) => {
|
|
common_libraries_apiLoading.getApiLoading(gen_Apis.Apis.Attendance.AttendanceSchedules.GetAttendanceShiftPeriod, data).then((res) => {
|
|
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
|
|
ME_attendance_sign_clock_in_model.useModel.showData.value = res == null ? void 0 : res.data;
|
|
ME_attendance_sign_clock_in_model.useModel.distanceNumber.value = common_libraries_mapDistance.CalculateDistance(mapData, (_a = res == null ? void 0 : res.data) == null ? void 0 : _a.project);
|
|
if ((_d = (_c = (_b = res == null ? void 0 : res.data) == null ? void 0 : _b.checkin_status) == null ? void 0 : _c.start) == null ? void 0 : _d.checked) {
|
|
ME_attendance_sign_clock_in_model.useModel.current.value = 1;
|
|
}
|
|
if (((_g = (_f = (_e = res == null ? void 0 : res.data) == null ? void 0 : _e.checkin_status) == null ? void 0 : _f.start) == null ? void 0 : _g.checked) && ((_j = (_i = (_h = res == null ? void 0 : res.data) == null ? void 0 : _h.checkin_status) == null ? void 0 : _i.end) == null ? void 0 : _j.checked)) {
|
|
ME_attendance_sign_clock_in_model.useModel.current.value = 3;
|
|
}
|
|
setTimeout(() => {
|
|
ME_attendance_sign_clock_in_model.useModel.loading.value = true;
|
|
}, 300);
|
|
console.log(ME_attendance_sign_clock_in_model.useModel.metaData.value, "useModel.metaData.value");
|
|
});
|
|
};
|
|
let checkInDebounceTimer = null;
|
|
let isCheckInSubmitting = false;
|
|
const getLocationMap = (fun) => {
|
|
common_vendor.index.getLocation({
|
|
type: "wgs84",
|
|
altitude: true,
|
|
isHighAccuracy: true,
|
|
success(res) {
|
|
console.log(res, "经纬度");
|
|
ME_attendance_sign_clock_in_model.useModel.currentLocation.value = { latitude: res.latitude, longitude: res.longitude };
|
|
common_vendor.index.hideLoading();
|
|
return fun == null ? void 0 : fun(res);
|
|
},
|
|
fail(res) {
|
|
common_vendor.index.hideLoading();
|
|
common_vendor.index.showModal({
|
|
title: "提示",
|
|
content: "请先允许定位!",
|
|
success: function(res2) {
|
|
if (res2.confirm) {
|
|
common_vendor.index.openSetting();
|
|
console.log("用户点击确定");
|
|
} else if (res2.cancel) {
|
|
console.log("用户点击取消");
|
|
}
|
|
}
|
|
});
|
|
console.log(res, "获取经纬度失败");
|
|
}
|
|
});
|
|
};
|
|
const debouncedUpdateLocation = common_libraries_tools.debounce(function(callback) {
|
|
getLocationMap(callback);
|
|
}, 1200);
|
|
const method = {
|
|
handleUpdateLocation() {
|
|
if (ME_attendance_sign_clock_in_model.useModel.mapNumber.value > 3) {
|
|
return common_libraries_naviHelper.showToast("操作太频繁!");
|
|
}
|
|
common_vendor.index.showLoading({
|
|
title: "加载中...",
|
|
mask: true
|
|
});
|
|
debouncedUpdateLocation((res) => {
|
|
var _a, _b, _c, _d, _e;
|
|
ME_attendance_sign_clock_in_model.useModel.mapNumber.value += 1;
|
|
common_vendor.index.hideLoading();
|
|
ME_attendance_sign_clock_in_model.useModel.distanceNumber.value = common_libraries_mapDistance.CalculateDistance(
|
|
(_b = (_a = ME_attendance_sign_clock_in_model.useModel) == null ? void 0 : _a.currentLocation) == null ? void 0 : _b.value,
|
|
(_e = (_d = (_c = ME_attendance_sign_clock_in_model.useModel) == null ? void 0 : _c.showData) == null ? void 0 : _d.value) == null ? void 0 : _e.project
|
|
);
|
|
});
|
|
},
|
|
init() {
|
|
var _a;
|
|
let watermarkInfo = (_a = watermark == null ? void 0 : watermark.watermarkInfo) == null ? void 0 : _a.value;
|
|
if (watermarkInfo == null ? void 0 : watermarkInfo.length) {
|
|
ME_attendance_sign_clock_in_model.useModel.formData.value.photo = JSON.parse(JSON.stringify(watermarkInfo));
|
|
watermark.watermarkInfo.value = [];
|
|
console.log(watermarkInfo, "watermarkInfo");
|
|
}
|
|
},
|
|
getLocation(data) {
|
|
getLocationMap((res) => {
|
|
getShow(data, res);
|
|
});
|
|
},
|
|
onPreviewMedia(url) {
|
|
console.log(url, "url1");
|
|
if (url) {
|
|
common_vendor.index.previewMedia({
|
|
sources: [
|
|
{
|
|
url,
|
|
type: "image"
|
|
}
|
|
],
|
|
current: 0
|
|
});
|
|
}
|
|
},
|
|
handleDelete() {
|
|
ME_attendance_sign_clock_in_model.useModel.formData.value.photo = [];
|
|
},
|
|
handleCheckin() {
|
|
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p, _q, _r, _s, _t, _u;
|
|
if (isCheckInSubmitting) {
|
|
return common_libraries_naviHelper.showToast("请勿重复点击");
|
|
}
|
|
if (!common_libraries_day.isWithinTimeRange(
|
|
`${(_c = (_b = (_a = ME_attendance_sign_clock_in_model.useModel) == null ? void 0 : _a.formData) == null ? void 0 : _b.value) == null ? void 0 : _c.date} ${((_f = (_e = (_d = ME_attendance_sign_clock_in_model.useModel) == null ? void 0 : _d.formData) == null ? void 0 : _e.value) == null ? void 0 : _f.checkin_type) === "CheckOut" ? (_j = (_i = (_h = (_g = ME_attendance_sign_clock_in_model.useModel) == null ? void 0 : _g.showData) == null ? void 0 : _h.value) == null ? void 0 : _i.period) == null ? void 0 : _j.work_end_time : (_n = (_m = (_l = (_k = ME_attendance_sign_clock_in_model.useModel) == null ? void 0 : _k.showData) == null ? void 0 : _l.value) == null ? void 0 : _m.period) == null ? void 0 : _n.work_start_time}`
|
|
)) {
|
|
return common_libraries_naviHelper.showToast("不在打卡时间内!");
|
|
}
|
|
if (((_q = (_p = (_o = ME_attendance_sign_clock_in_model.useModel) == null ? void 0 : _o.attendanceConfigData) == null ? void 0 : _p.value) == null ? void 0 : _q.require_photo) && !((_u = (_t = (_s = (_r = ME_attendance_sign_clock_in_model.useModel) == null ? void 0 : _r.formData) == null ? void 0 : _s.value) == null ? void 0 : _t.photo) == null ? void 0 : _u.length)) {
|
|
return common_libraries_naviHelper.showToast("请上传拍照!");
|
|
}
|
|
getLocationMap(() => {
|
|
var _a2, _b2, _c2, _d2, _e2, _f2, _g2, _h2;
|
|
let distanceNumber = common_libraries_mapDistance.CalculateDistance(
|
|
(_b2 = (_a2 = ME_attendance_sign_clock_in_model.useModel) == null ? void 0 : _a2.currentLocation) == null ? void 0 : _b2.value,
|
|
(_e2 = (_d2 = (_c2 = ME_attendance_sign_clock_in_model.useModel) == null ? void 0 : _c2.showData) == null ? void 0 : _d2.value) == null ? void 0 : _e2.project
|
|
);
|
|
ME_attendance_sign_clock_in_model.useModel.distanceNumber.value = distanceNumber;
|
|
if (distanceNumber > ((_h2 = (_g2 = (_f2 = ME_attendance_sign_clock_in_model.useModel) == null ? void 0 : _f2.attendanceConfigData) == null ? void 0 : _g2.value) == null ? void 0 : _h2.check_in_range)) {
|
|
return common_libraries_naviHelper.showToast("打卡距离超出范围!");
|
|
}
|
|
if (checkInDebounceTimer) {
|
|
clearTimeout(checkInDebounceTimer);
|
|
}
|
|
isCheckInSubmitting = true;
|
|
checkInDebounceTimer = setTimeout(() => {
|
|
var _a3, _b3;
|
|
common_libraries_apiLoading.getApiLoading(gen_Apis.Apis.Attendance.AttendanceRecords.Checkin, {
|
|
...ME_attendance_sign_clock_in_model.useModel.formData.value,
|
|
...(_b3 = (_a3 = ME_attendance_sign_clock_in_model.useModel) == null ? void 0 : _a3.currentLocation) == null ? void 0 : _b3.value
|
|
}).then((res) => {
|
|
var _a4, _b4, _c3, _d3;
|
|
getShow((_b4 = (_a4 = ME_attendance_sign_clock_in_model.useModel) == null ? void 0 : _a4.formData) == null ? void 0 : _b4.value, (_d3 = (_c3 = ME_attendance_sign_clock_in_model.useModel) == null ? void 0 : _c3.currentLocation) == null ? void 0 : _d3.value);
|
|
common_vendor.index.showToast({
|
|
title: "打卡成功",
|
|
icon: "success"
|
|
});
|
|
}).catch((error) => {
|
|
console.error("打卡失败:", error);
|
|
common_libraries_naviHelper.showToast("打卡失败,请重试");
|
|
}).finally(() => {
|
|
setTimeout(() => {
|
|
isCheckInSubmitting = false;
|
|
}, 1e3);
|
|
});
|
|
}, 500);
|
|
});
|
|
},
|
|
YesNoCheckinStatus() {
|
|
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j, _k, _l, _m, _n, _o, _p;
|
|
if (((_c = (_b = (_a = ME_attendance_sign_clock_in_model.useModel) == null ? void 0 : _a.formData) == null ? void 0 : _b.value) == null ? void 0 : _c.checkin_type) === "CheckOut" && !((_h = (_g = (_f = (_e = (_d = ME_attendance_sign_clock_in_model.useModel) == null ? void 0 : _d.showData) == null ? void 0 : _e.value) == null ? void 0 : _f.checkin_status) == null ? void 0 : _g.end) == null ? void 0 : _h.checked)) {
|
|
return true;
|
|
}
|
|
if (((_k = (_j = (_i = ME_attendance_sign_clock_in_model.useModel) == null ? void 0 : _i.formData) == null ? void 0 : _j.value) == null ? void 0 : _k.checkin_type) === "CheckIn" && !((_p = (_o = (_n = (_m = (_l = ME_attendance_sign_clock_in_model.useModel) == null ? void 0 : _l.showData) == null ? void 0 : _m.value) == null ? void 0 : _n.checkin_status) == null ? void 0 : _o.start) == null ? void 0 : _p.checked)) {
|
|
return true;
|
|
}
|
|
return false;
|
|
},
|
|
getAttendanceConfig() {
|
|
common_libraries_apiLoading.getApiLoading(gen_Apis.Apis.Attendance.AttendanceSchedules.GetAttendanceConfig, {}).then((res) => {
|
|
ME_attendance_sign_clock_in_model.useModel.attendanceConfigData.value = res == null ? void 0 : res.data;
|
|
});
|
|
},
|
|
toUpload() {
|
|
common_vendor.index.navigateTo({
|
|
url: "/INDEX/watermark_camera/index?source=current"
|
|
});
|
|
}
|
|
};
|
|
exports.method = method;
|