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

333 lines
11 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 = {
init: {},
bind: {},
employeeId: null,
roleId: null,
orderContent: null,
emptyTips: null,
orderType: -1, // 状态 -1全部 0未接单 1未处理 2:处理中 3已处理
currentPage: 1,
pageSize: 10,
isLoading: false,
startDateStr: '',
endDateStr: '',
}
ctrl.init = function() {
// 适配安卓状态栏
CommonModel.fitInStatusBar();
var searcherTop = $('#heightHeader').height();
$('#searcher').css('top',searcherTop);
ctrl.employeeId = $api.getStorage('employeeId');
ctrl.roleId = $api.getStorage('roleId');
ctrl.emptyTips = $("#empty-tips");
ctrl.orderContent = $('#systemOrderList');
ctrl.ipStartTime = $("#ipStartTime");
ctrl.lbStartTime = $("#lbStartTime");
ctrl.ipEndTime = $("#ipEndTime");
ctrl.lbEndTime = $("#lbEndTime");
//工单 状态发生变化
api.addEventListener({
name: 'orderListChanged'
}, ctrl.orderListChanged);
ctrl.bind();
ctrl.initOrderList();
}
ctrl.bind = function() {
//点击返回按钮
$api.addEvt($api.dom("#back"), "touchend", function() {
api.closeWin();
});
// 开始日期 监听日期选择器的改变事件
$("#ipStartTime").on("change", function () {
ctrl.startDateStr = ctrl.ipStartTime.val();
if (ctrl.startDateStr && ctrl.startDateStr != "") {
ctrl.lbStartTime.html(ctrl.startDateStr);
} else {
ctrl.lbStartTime.html("开始日期");
}
});
// 结束日期 监听日期选择器的改变事件
$("#ipEndTime").on("change", function endDateChanged() {
ctrl.endDateStr = ctrl.ipEndTime.val();
if (ctrl.endDateStr && ctrl.endDateStr != "") {
ctrl.lbEndTime.html(ctrl.endDateStr);
} else {
ctrl.lbEndTime.html("结束日期");
}
});
// 点击 查询
$("#btn-query").on("touchend", ctrl.initOrderList);
// 点击“全部” btn
$("#all").on("touchend", function() {
ctrl.orderType = -1;
ctrl.currentPage = 1;
$(this).siblings('.bg-touch').removeClass('bg-yellow');
$(this).addClass('bg-yellow');
ctrl.initOrderList();
});
// 点击“未接单” btn
$("#btn-unaccpted").on("touchend", function() {
ctrl.orderType = 0;
ctrl.currentPage = 1;
$(this).siblings('.bg-touch').removeClass('bg-yellow');
$(this).addClass('bg-yellow');
ctrl.initOrderList();
});
// 点击“未处理” btn
$("#btn-unhandled").on("touchend", function() {
ctrl.orderType = 1;
ctrl.currentPage = 1;
$(this).siblings('.bg-touch').removeClass('bg-yellow');
$(this).addClass('bg-yellow');
ctrl.initOrderList();
});
// 点击“处理中” btn
$("#btn-handling").on("touchend", function() {
ctrl.orderType = 2;
ctrl.currentPage = 1;
$(this).siblings('.bg-touch').removeClass('bg-yellow');
$(this).addClass('bg-yellow');
ctrl.initOrderList();
});
// 点击“已完成” btn
$("#btn-finished").on("touchend", function() {
ctrl.orderType = 3;
ctrl.currentPage = 1;
$(this).siblings('.bg-touch').removeClass('bg-yellow');
$(this).addClass('bg-yellow');
ctrl.initOrderList();
});
// 点击 “创建工单”
$("#create-systemOrder-btn").on("touchend", function() {
api.openWin({
'name': 'systemOrderCreate',
'url': 'widget://html/feature/systemOrderCreate.html'
});
});
// 点击系统工单 ,跳转到详情页
$("#systemOrderList").on("touchend", ".left", function() {
var orderId = $(this).data("systemorderid");
var type = $(this).data("type");
api.openWin({
'name': 'systemOrderDetail',
'url': 'widget://html/feature/systemOrderDetail.html',
'pageParam': {
id: orderId,
type: type
}
})
});
// 点击 派单
$("#systemOrderList").on("touchend", ".delivery-btn", function(e) {
e.stopPropagation();
var orderId = $(this).data("orderid");
api.openWin({
'name': 'systemOrderEdit',
'url': 'widget://html/feature/systemOrderEdit.html',
'pageParam': {
id: orderId
}
})
});
// 下拉刷新
// api.setRefreshHeaderInfo({
// bgColor: "#CCCCCC",
// textColor: "#FFFFFF"
// }, function(ret, err) {
// // 根据当前选择的tab 刷新对应的内容
// ctrl.currentPage = 1;
// ctrl.getOrderList();
// });
//监听滚动到底部事件
api.addEventListener({
name: 'scrolltobottom',
extra: {
threshold: 0 //设置距离底部多少距离时触发默认值为0数字类型
}
}, function(ret, err) {
if (!ctrl.isLoading) {
if (ctrl.currentPage >= ctrl.totalPages) {
toast("没有更多了");
return;
} else {
ctrl.currentPage++;
ctrl.getOrderList();
}
}
});
}
// 弹出提示框
ctrl.toast = function(msg) {
api.toast({
msg: msg,
duration: 3000,
locaiton: 'top'
});
}
// 创建工单完成 触发的事件处理
ctrl.orderListChanged = function(ret, err) {
ctrl.initOrderList();
};
// 初始化系统工单列表
ctrl.initOrderList = function () {
ctrl.clearOrderList();
ctrl.getOrderList();
};
// 清空工单列表
ctrl.clearOrderList = function () {
this.orderContent.empty();
};
// 获取工单列表
ctrl.getOrderList = function () {
api.showProgress();
var url = '/test/gong-dan/queryByList/'
+ this.currentPage + '/'
+ this.pageSize + '/'
+ this.orderType + '/'
+ this.employeeId + '/'
+ this.roleId;
var data = {};
if (ctrl.startDateStr) {
data.start = CommonModel.getFomattedDate((new Date(ctrl.startDateStr.replace(/-/g, '/'))).getTime(), 'yyyy-MM-dd') + ' 00:00:00';
};
if (ctrl.endDateStr) {
data.end = CommonModel.getFomattedDate((new Date(ctrl.endDateStr.replace(/-/g, '/'))).getTime(), 'yyyy-MM-dd') + ' 23:59:59';
};
$api.post(url, data, function(res, err) {
if (err) {
ctrl.toast("网络请求失败");
api.hideProgress();
} else {
if (!res.code || res.code != "200") {
ctrl.toast("服务器响应错误");
api.hideProgress();
} else {
ctrl.totalPages = res.data.pages;
ctrl.renderOrderList(res.data.records);
}
}
});
};
// 渲染 工单列表
ctrl.renderOrderList = function (records) {
var length = records.length;
if (length > 0) {
this.orderContent.show();
this.emptyTips.hide();
for (var i = 0; i < length; i++) {
var item = records[i];
ctrl.createOrderDom(item);
}
} else {
this.orderContent.hide();
this.emptyTips.show();
};
api.hideProgress();
};
// 创建 工单 DOM
ctrl.createOrderDom = function (item) {
var id = item.id;
var prName = item.prName;
var miaoShu = item.miaoShu;
var tiJiaoShiJian = item.tiJiaoShiJian.split(' ')[0];
var tiJiaoRenName = item.tiJiaoRenName;
var type = item.zhuangTai;
var textColor = '';
var status = '';
// -1全部 0未接单 1未处理 2:处理中 3已处理
switch (type) {
case 0:
textColor = 'text-red';
status = '未接单';
break;
case 1:
textColor = 'text-gray';
status = '未处理';
break;
case 2:
textColor = 'text-yellow';
status = '处理中';
break;
case 3:
textColor = 'text-green';
status = '已完成';
break;
};
var template = ''
template += '<div class="systemOrder">'
template += '<div class="left" data-systemorderid="{id}" data-type={type}>'
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}</span>&nbsp;'
template += '</div>'
template += '<div class="width100 ellipsis color-red">{miaoShu}</div>'
template += '</div>'
template += '</div>'
template += '<div class="right text-align-r">'
template += '<div class="text-gray">{time}'
template += '<span class="{textColor}" style="margin-left: 0.4rem;">{status}</span>'
template += '</div>'
template += '<div class="height4"></div>'
template += '<div>创建人: {person}'
if (type == 0) {
template += '<button class="delivery-btn" data-orderid={orderid}>派单</button></div>'
}
template += '</div>'
template += '</div>'
template += '</div>'
template = template.replace("{id}", id)
.replace("{type}", type)
.replace("{prName}", prName)
.replace("{miaoShu}", miaoShu)
.replace("{time}", tiJiaoShiJian)
.replace("{textColor}", textColor)
.replace("{status}", status)
.replace("{person}", tiJiaoRenName)
.replace("{orderid}", id);
ctrl.orderContent.append(template);
};
ctrl.init();
}