app-xiangsonghua/app-saas-src/script/index/inspectionFrame.js
2024-12-26 17:00:06 +08:00

374 lines
13 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

apiready = function() {
var ctrl = {
roleId: $api.getStorage('roleId'),
employeeId: $api.getStorage('employeeId'),
tabType: 'inspection-list',
isFinish: 1,
init: {},
bind: {},
}
ctrl.init = function() {
moment.locale("zh-CN");
//巡检单 状态发生变化
api.addEventListener({
name: 'inspectionTaskChanged'
}, ctrl.inspectionTaskChanged);
ctrl.bind();
ctrl.initInspectionListTab();
}
ctrl.bind = function() {
//点击 “巡检单” tab按钮
$api.addEvt($api.dom("#inspection-list-tab"), "touchend", function () {
if (ctrl.tabType == 'inspection-list') {
return
}
$api.addCls(this, "active");
$api.removeCls($api.dom("#inspection-task-tab"), "active");
$api.css($api.dom("#inspection-list-panel"), 'display:block');
$api.css($api.dom("#inspection-task-panel"), 'display:none');
$api.css($api.dom('#inspection-empty-tips'), "display:none");
ctrl.tabType = 'inspection-list'
// 初始化 巡检单 tab
ctrl.initInspectionListTab();
}, false);
//点击 “巡检任务” tab按钮
$api.addEvt($api.dom("#inspection-task-tab"), "touchend", function () {
if (ctrl.tabType == 'inspection-task') {
return
}
$api.addCls(this, "active");
$api.removeCls($api.dom("#inspection-list-tab"), "active");
$api.css($api.dom("#inspection-task-panel"), 'display:block');
$api.css($api.dom("#inspection-list-panel"), 'display:none');
$api.css($api.dom('#inspection-empty-tips'), "display:none");
ctrl.tabType = 'inspection-task';
// 初始化 巡检任务 tab
ctrl.initInspectionTaskTab();
}, false);
//跳转到 巡检单 详情页
$("#inspection-list-panel").on("touchend", ".left", function() {
var inspectionid = $(this).data("inspectionid");
api.openWin({
name: 'inspectionListDetail',
url: '../inspection/inspectionListDetail.html',
pageParam: {
inspectionid: inspectionid
}
});
});
// 点击 “接单”
$('#inspection-list-panel').on("touchend", ".accept-btn", function(e) {
e.stopPropagation();
var inspectId = $(this).data("id");
api.confirm({
title: '',
msg: '确定要接单吗',
buttons: ['确定', '取消']
}, function(ret, err) {
var index = ret.buttonIndex;
if (index == 1) { // 确定
ctrl.acceptInspection(inspectId);
}
});
});
// 点击“未开始” btn
$("#btn-nostart").on("touchend", function() {
ctrl.isFinish = 1;
$(this).siblings('.bg-touch').removeClass('bg-yellow');
$(this).addClass('bg-yellow');
ctrl.initInspectionTaskTab();
});
// 点击“巡检中” btn
$("#btn-inspecting").on("touchend", function() {
ctrl.isFinish = 2;
$(this).siblings('.bg-touch').removeClass('bg-yellow');
$(this).addClass('bg-yellow');
ctrl.initInspectionTaskTab();
});
// 点击“已完成” btn
$("#btn-finished").on("touchend", function() {
ctrl.isFinish = 3;
$(this).siblings('.bg-touch').removeClass('bg-yellow');
$(this).addClass('bg-yellow');
ctrl.initInspectionTaskTab();
});
// 跳转到 巡检任务 详情页
$("#inspection-content").on("touchend", ".inspection", function() {
var inspectionid = $(this).data("inspectionid");
// status0 未接单1 未开始2 巡检中3 已完成
var status = $(this).data("status");
api.openWin({
name: 'inspectionTaskDetail',
url: '../inspection/inspectionTaskDetail.html',
pageParam: {
inspectionid: inspectionid,
status: status
}
});
});
// 防止退出后继续轮询
api.addEventListener({
name: 'loginout'
}, function(ret, err) {
});
//下拉刷新
api.setRefreshHeaderInfo({
bgColor: "#CCCCCC",
textColor: "#FFFFFF"
}, function(ret, err) {
// 根据当前选择的tab 刷新对应的内容
if (ctrl.tabType == 'inspection-list') { // 巡检单
ctrl.initInspectionListTab();
} else if (ctrl.tabType == 'inspection-task') { // 巡检任务
ctrl.initInspectionTaskTab()
}
})
};
ctrl.toast = function(msg) {
api.toast({
msg: msg,
duration: 3000,
locaiton: 'top'
});
};
// 巡检任务中的巡检单状态改变 触发的事件处理
ctrl.inspectionTaskChanged = function(ret, err) {
ctrl.initInspectionTaskTab();
};
// 初始化 巡检单 tab
ctrl.initInspectionListTab = function () {
ctrl.getInspectionList();
};
// 获取 巡检单 列表
ctrl.getInspectionList = function() {
//显示载入动画
api.showProgress({
title: '载入中...',
text: '请稍后',
modal: false
});
var startDate = $api.getFormattedDate('yyyy-MM-dd', new Date());
var endDate = '2100-01-01';
var url = '/test/xun-jian-dan/queryByListWithDate/1/9999/'
+ startDate + 'T' + endDate + '/'
+ this.roleId + '/'
+ this.employeeId + '/0';
$api.get(url, function(res, err) {
//隐藏载入动画
api.hideProgress();
// 隐藏下拉刷新提示
api.refreshHeaderLoadDone();
if (res && res.code == 200 && res.data) {
var list = res.data.records || [];
var length = list.length;
if (length > 0) {
$api.css($api.dom('#inspection-list-panel'), "display:block");
$api.css($api.dom('#inspection-empty-tips'), "display:none");
$('#inspection-list-panel').empty();
for (var i = 0; i < length; i++) {
ctrl.renderInspectionList(list[i]);
}
} else {
$api.css($api.dom('#inspection-list-panel'), "display:none");
$api.css($api.dom('#inspection-empty-tips'), "display:block");
}
} else {
ctrl.toast("服务器响应错误" + (res.code ? (",错误码:" + res.code) : ""));
}
});
};
// 渲染 巡检单 列表
ctrl.renderInspectionList = function(record) {
var prName = record.prName;
var prCount = record.prShuLiang;
var problemCount = record.xunJianWenTi;
var id = record.id;
var xunJianShiJian = record.xunJianShiJian;
var template = ''
template +='<div class="inspection">'
template += '<div class="left" data-inspectionid=\"{inspectionId}\">'
template += '<div class="icon-con"><img src="../../image/black-pr-icon.png"></div>'
template += '<div class="content font1">'
template += '<div class="pr-name-con"><span class="pr-name">{prName}共{prCount}个配电室</span>&nbsp;'
template += '</div>'
template += '<div class="width100 ellipsis color-red">共{inspectProblemCount}个设备缺陷</div>'
template += '</div>'
template += '</div>'
template += '<div class="right text-align-r">'
template += '<div class="text-gray">{xjDate}</div>'
template += '<div class="height4"></div>'
template += '<div>'
template += '<button class="accept-btn" data-id="{id}">接单</button>'
template += '</div>'
template += '</div>'
template +='</div>'
template = template.replace("{inspectionId}", id)
.replace("{prName}", prName + '等' || '')
.replace("{prCount}", prCount)
.replace("{inspectProblemCount}", problemCount)
.replace("{xjDate}", xunJianShiJian || '')
.replace("{id}", id);
$('#inspection-list-panel').append(template);
};
// 接单
ctrl.acceptInspection = function(inspectId) {
//显示载入动画
api.showProgress({
title: '载入中...',
text: '请稍后',
modal: false
});
var url = '/test/xun-jian-dan/insert';
var data = {
id: inspectId,
employeeId: this.employeeId,
roleId: this.roleId,
jieDanRenId: this.employeeId
};
$api.post(url, data, function(res, err) {
//隐藏载入动画
api.hideProgress();
if (res && res.code == 200) {
ctrl.toast("接单成功");
ctrl.initInspectionListTab();
} else {
ctrl.toast("服务器响应错误" + (res.code ? (",错误码:" + res.code) : ""));
}
});
};
// 初始化 巡检任务 panel
ctrl.initInspectionTaskTab = function() {
ctrl.getInspectionTask();
};
// 获取 巡检任务 列表
ctrl.getInspectionTask = function() {
//显示载入动画
api.showProgress({
title: '载入中...',
text: '请稍后',
modal: false
});
var url = '/test/xun-jian-dan/queryByListByEmployeeId/1/9999/'
+ this.employeeId + '/'
+ this.isFinish;
$api.get(url, function(res, err) {
//隐藏载入动画
api.hideProgress();
// 隐藏下拉刷新提示
api.refreshHeaderLoadDone();
if (res && res.code == 200 && res.data) {
var list = res.data.records || [];
var length = list.length;
if (length > 0) {
$api.css($api.dom('#inspection-content'), "display:block");
$api.css($api.dom('#inspection-empty-tips'), "display:none");
$('#inspection-content').empty();
for (var i = 0; i < length; i++) {
ctrl.renderInspectionTask(list[i]);
}
} else {
$api.css($api.dom('#inspection-content'), "display:none");
$api.css($api.dom('#inspection-empty-tips'), "display:block");
}
} else {
ctrl.toast("服务器响应错误" + (res.code ? (",错误码:" + res.code) : ""));
}
});
};
// 渲染巡检任务列表
ctrl.renderInspectionTask = function(record) {
var prName = record.prName;
var prCount = record.prShuLiang;
var problemCount = record.xunJianWenTi;
var id = record.id;
var xunJianShiJian = record.xunJianShiJian;
var status = record.shiFouWanCheng;
var template = ''
template +='<div class="inspection" data-inspectionid=\"{inspectionId}\" data-status=\"{status}\">'
template += '<div class="left">'
template += '<div class="icon-con"><img src="../../image/black-pr-icon.png"></div>'
template += '<div class="content font1">'
template += '<div class="pr-name-con"><span class="pr-name">{prName}共{prCount}个配电室</span>&nbsp;'
template += '</div>'
template += '<div class="width100 ellipsis color-red">共{inspectProblemCount}个设备缺陷</div>'
template += '</div>'
template += '</div>'
template += '<div class="right text-align-r">'
template += '<div class="text-gray">{xjDate}</div>'
template += '<div class="height4"></div>'
template += '<div>{jiedanren}</div>'
template += '</div>'
template +='</div>'
template = template.replace("{inspectionId}", id)
.replace("{status}", status)
.replace("{prName}", (prName || '') + ' ')
.replace("{prCount}", prCount || '0')
.replace("{inspectProblemCount}", problemCount || '0')
.replace("{xjDate}", xunJianShiJian || '')
.replace("{jiedanren}", record.jieDanRen || '');
$('#inspection-content').append(template);
};
ctrl.init();
}