apiready = function () { var ctrl = { init: {}, bind: {}, backCallback: {}, // 当前展示的tab 页类型 tabType: 'guide', id: null, // 当前巡检配电室 数据id prId: null, prName: '', problemsObj: null, // 设备缺陷信息对象 emptyType: { // 对应的tab是否需要展示无数据提示 usual: false, review: false, new: false }, newTflen: 0, // 新增突发项个数 problemData: { status: true, // true:完成了初始化,false:当前存在未提交设备缺陷 desc: '', // 设备缺陷 文字描述 pics: [], // 设备缺陷 图片信息 serverPicUrls: [], // 上传完成,返回的图片 url uploadPicNum: 0, // 已经上传完成的图片的数量 activeProblemItemDom: null, // 当前正在编辑的设备缺陷 DOM }, } ctrl.init = function () { // 适配安卓状态栏 CommonModel.fitInStatusBar(); var tabsTop = $('#heightHeader').height(); $('#searcher').css('top',tabsTop); api.showProgress({ title: '载入中...', text: '请稍后', modal: false }); ctrl.employeeId = $api.getStorage('employeeId'); ctrl.id = api.pageParam.id; ctrl.prId = api.pageParam.prid; ctrl.prName = api.pageParam.prname; ctrl.bind(); // 将title改成配电室名 $api.html($api.dom('#title-prname'), ctrl.prName); ctrl.initGuideTab(); } ctrl.bind = function () { var height = $(window).height() - $("header").height() - $(".tabs").height(); $(".content-container").css("height", height); //绑定返回按钮 $api.addEvt($api.dom("#back"), "touchend", function () { ctrl.backCallback(); }) //点击系统返回按钮 api.addEventListener({ name: 'keyback' }, function () { ctrl.backCallback(); }); //点击 “巡检指导书” tab按钮 $api.addEvt($api.dom("#guide-tab"), "touchend", function () { if (ctrl.tabType == 'guide') { return } $api.addCls(this, "active"); $api.removeCls($api.dom("#problem-tab"), "active"); $api.css($api.dom("#guide-panel"), 'display:block'); $api.css($api.dom("#problem-panel"), 'display:none'); $api.css($api.dom('#inspectionitem-empty-tips'), "display:none"); ctrl.tabType = 'guide' // 初始化 巡检指导书 tab // ctrl.initGuideTab(); }, false); //点击 “设备缺陷” tab按钮 $api.addEvt($api.dom("#problem-tab"), "touchend", function () { if (ctrl.tabType == 'problem') { return } $api.addCls(this, "active"); $api.removeCls($api.dom("#guide-tab"), "active"); $api.css($api.dom("#problem-panel"), 'display:block'); $api.css($api.dom("#guide-panel"), 'display:none'); $api.css($api.dom('#inspectionitem-empty-tips'), "display:none"); ctrl.tabType = 'problem'; // 初始化 设备缺陷 tab // ctrl.initInspectionTaskTab(); }, false); // 点击设备分类,自动折叠当前分类的巡检项 $("#guide-panel").on("touchend", ".category-name", function () { // 隐藏 当前分类的巡检项 $api.toggleCls($(this).next()[0], 'hide'); // 分类名前的箭头旋转90度 $api.toggleCls($api.dom(this, 'img'), 'transform'); }); // 点击 巡检完成 $('#inspect-finish-btn').on("touchend", function () { api.confirm({ title: '', msg: '确定完成巡检吗', buttons: ['确定', '取消'] }, function(ret, err) { var index = ret.buttonIndex; if (index == 1) { // 确定 // 判断是否存在未提交的设备缺陷 if (!ctrl.problemData.status) { ctrl.toast('存在未提交的设备缺陷!') } else { ctrl.finishInspect(); }; } }); }); // 点击 新增设备缺陷 $('#new-add-btn').on("touchend", function () { // 判断是否有未提交的设备缺陷 if (ctrl.problemData.status) { // 页面中添加一个 问题 li DOM ctrl.addProblemItemDom(); ctrl.problemData.status = false; } else { ctrl.toast('存在未提交的设备缺陷!') }; }); // 点击 相册选择 添加 设备缺陷图片 $("#problem-list-container").on("touchend", ".pic-add-btn", function () { var picContentDom = $($(this).parents('.pic-content')[0]); var params = { sourceType: 'library', // sourceType: 'camera', // sourceType: 'album', destinationType: 'base64' } api.getPicture(params, function(ret, err){ if (ret && ret.data) { // 创建图片预览dom var picItemDom = '' var dom = picItemDom.replace('{{url}}', ret.data) picContentDom.prepend(dom) // 保存 图片 base64 和 url ctrl.problemData.pics.push({ url: ret.data }) } }) }); // 点击 拍照 添加 设备缺陷图片 $("#problem-list-container").on("touchend", ".camera-btn", function () { var picContentDom = $($(this).parents('.pic-content')[0]); var params = { // sourceType: 'library', sourceType: 'camera', // sourceType: 'album', destinationType: 'base64' } api.getPicture(params, function(ret, err){ if (ret && ret.data) { // 创建图片预览dom var picItemDom = '' var dom = picItemDom.replace('{{url}}', ret.data) picContentDom.prepend(dom) // 保存 图片 base64 和 url ctrl.problemData.pics.push({ url: ret.data }) } }) }); // 图片预览 $("#problem-list-container").on("touchend", ".problem-pic-item", function (e) { e.stopPropagation(); var src = $(this).attr('src'); $('#pic-review img').attr('src', src); $('#pic-review').css('display', 'block'); }); // 图片 “删除” $("#problem-list-container").on("touchend", "i", function (e) { e.stopPropagation(); var _this = this; api.confirm({ title: '', msg: '确定要删除吗', buttons: ['确定', '取消'] }, function(ret, err) { var index = ret.buttonIndex; if (index == 1) { // 确定 var url = $($(_this).siblings('img')[0]).attr('src'); $(_this).parent('.pic-item').remove(); // 从 ctrl.problemData.pics 中删除对应url ctrl.problemData.pics = ctrl.problemData.pics.filter(function (item) { return item.url != url; }); } }); }); // 点击预览图片 关闭预览 $('#pic-review').on("touchend", function () { $(this).css('display', 'none'); }); // 点击 “删除” 设备缺陷 $('#problem-list-container').on("touchend", ".delete-btn", function () { var _this = this; api.confirm({ title: '', msg: '确定要删除吗', buttons: ['确定', '取消'] }, function(ret, err) { ctrl.problemData.activeProblemItemDom = $(_this).parents('.problem-item'); var index = ret.buttonIndex; if (index == 1) { // 确定 ctrl.handleDelete(); } }); }); // 点击 “提交” 设备缺陷 $('#problem-list-container').on("touchend", ".submit-btn", function () { ctrl.problemData.activeProblemItemDom = $(this).parents('.problem-item'); ctrl.problemData.desc = ctrl.problemData.activeProblemItemDom.find('.desc').val().trim(); api.confirm({ title: '', msg: '确定要提交吗', buttons: ['确定', '取消'] }, function(ret, err) { var index = ret.buttonIndex; if (index == 1) { // 确定 if (!ctrl.problemData.desc.trim()) { ctrl.toast('问题描述不能为空!'); } else { ctrl.handleSubmit(); }; } }); }); }; // 添加一个 问题 dom ctrl.addProblemItemDom = function() { var index = $('#problem-list-container li').length + 1; var itemDom = ''; itemDom += '