| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157 |
- /**
- * 说明:该模块主要用于案件列表的公共部分代码 主要是刷新 等一系列功能等
- */
- /**
- * 类定义
- * @param {Object} option 选项
- */
- function JTCaseBase(option) {
- //查询数据对应的查询模型JSONObject
- this.queryModel = {
- userID: '',
- queryCount: '10',
- queryType: "",
- startNum: '0',
- additionalConditions: '',
- queryExtent: '',
- }
- //查询到案件数据列表
- this.caseList = [];
- //创建的所有li
- this.caseDomList = [];
- //当前数据数量 用于标号
- this.dataCount = 0;
- this.ashxName = "case-list"; //默认的网络请求网页名
- this.pageFlag = casePageFlag.WaitCheck; //默认的关联页面标识
- this.userInfo = null; //默认关联的用户表示
- this.btnLoadManyData = null; //加载更多按钮
- this._init(option || {});
- }
- /**
- * 原型方法
- * @param {Object} option 选项
- */
- JTCaseBase.prototype.extend = function(option) {
- for (key in option) {
- JTCaseBase.prototype[key] = option[key];
- }
- }
- /**
- * 初始化内部方法
- */
- JTCaseBase.prototype.extend({
- /**
- * 初始化方法
- * @param {Object} option 选项
- */
- _init: function(option) {
- //设置查询方式
- this.queryModel.queryType = option.queryType;
- //设置关联的网络服务名称
- this.ashxName = option.ashxName;
- //设置关联的页面名称
- this.pageFlag = option.pageFlag;
- /* 获取用户信息 */
- this.userInfo = option.userInfo;
- this.queryModel.userID = this.userInfo.userID;
- /* 绑定查询结果回调 */
- this.eventQueryResult = option.eventQueryResult;
- /* 绑定案件变化回调 主要用于案件的派发、撤派 */
- this.eventCaseChange = option.eventCaseChange;
- },
- /**
- * 根据案件状态获取状态中文描述
- * @param {string} state 案件状态
- */
- _caseStateName: function(state) {
- if (state == caseState.stateWaitCheck) {
- return "处理中";
- }
- if (state == caseState.stateWaitRepeat) {
- return "复飞中";
- }
- if (state == caseState.stateWaitVerify) {
- return "审核中";
- }
- if (state == caseState.stateClose) {
- return "已结案";
- }
- if (state == caseState.stateWaitAssign) {
- return "派发中";
- }
- if (state == caseState.stateWaitResetCheck) {
- return "重处理中";
- }
- if (state == caseState.stateWaitResetRepeat) {
- return "重复飞中";
- }
- return "未知";
- },
- /**
- * 根据案件状态值获取图标名称
- * @param {string} state 案件状态
- */
- _iconClassName: function(state) {
- if (state == caseState.stateWaitCheck) {
- // return "menu_zf_wait_check.png";
- return "w30.gif";
- }
- if (state == caseState.stateWaitRepeat) {
- return "menu_zf_wait_flight.png";
- }
- if (state == caseState.stateWaitVerify) {
- return "menu_zf_wait_verify.png";
- }
- if (state == caseState.stateClose) {
- return "menu_zf_close.png";
- }
- if (state == caseState.stateWaitAssign) {
- return "menu_zf_wait_assign.png";
- }
- if (state == caseState.stateWaitResetCheck) {
- return "menu_zf_wait_check.png";
- }
- if (state == caseState.stateWaitResetRepeat) {
- return "menu_zf_wait_flight";
- }
- return "";
- },
- /**
- * 检测待处理案件的状态
- * @param {JSON} caseJson 案件
- * @@return {Array} 返回待处理案件标签的颜色及动态图标名称
- */
- _CheckCaseCheckState(caseJson) {
- var curDate = new Date();
- var checkDate = new Date(caseJson.zpsj);
- var timeSpan = (curDate.getTime() - checkDate.getTime()) / 1000;
- var caseLabelColor = "";
- var icoName = "";
- if (timeSpan >= 0 && timeSpan <= 3 * 24 * 60 * 60) {
- //0~3
- caseLabelColor = '71,100,251';
- icoName = "w3.gif";
- } else if (timeSpan > 3 * 24 * 60 * 60 && timeSpan <= 7 * 24 * 60 * 60) {
- //4~7
- caseLabelColor = '234,189,45';
- icoName = "w7.gif";
- } else if (timeSpan > 7 * 24 * 60 * 60 && timeSpan <= 30 * 24 * 60 * 60) {
- //8~30
- caseLabelColor = '216,91,36';
- icoName = "w30.gif";
- } else {
- //>30
- caseLabelColor = '211,11,3';
- icoName = "w99.gif";
- }
- var label = "<font style=\"color:rgb(" + caseLabelColor + ")\">" + caseJson.casenum + "</font>";
- return [label, icoName];
- },
- /**
- * 向数据列表中追加一条数据
- * @param {Object} data 当前数据 JSONObjet
- * @param {Object} table 数据表 即UL对象
- * @param {Object} flag 显示的标识
- */
- _InsertLiToTable: function(data, table, flag) {
- var li = document.createElement('li');
- li.className = 'wc-li';
- li.id = data.casenum;
- var itemHtml = "";
- itemHtml += "<div class='wc-row'>";
- /* 以下是案件标题内容 */
- itemHtml += "<div class='wc-row-title-content'>";
- if (data.state == caseState.stateWaitCheck || data.state == caseState.stateWaitResetCheck) {
- var result = this._CheckCaseCheckState(data);
- itemHtml += "<div class='wc-ico'><img src='../img/menu/" + result[1] + "'/></div>";
- itemHtml += "<div class='wc-title'>" + result[0] + "</div>";
- } else {
- itemHtml += "<div class='wc-ico'><img src='../img/menu/" + this._iconClassName(data.state) +
- "'/></div>";
- itemHtml += "<div class='wc-title'>" + data.casenum + "</div>";
- }
- itemHtml += "<div class='wc-xzq'>";
- itemHtml += "<div class='wc-xzq-ssxz'>" + data.caseVillagesAndTowns + "</div>";
- itemHtml += "<div class='wc-xzq-ssxz wc-xzq-sscz'>" + data.caseVillage + "</div>";
- itemHtml += "</div>";
- itemHtml += "</div>";
- /* 以上是标题内容 */
- /* 以下是主体内容 */
- itemHtml += "<div class='jt-main-content'>"
- itemHtml += "<div class='wc-main-content'>";
- if (data.state == caseState.stateWaitAssign) {
- itemHtml += this._CreateInfoNormal(data);
- } else if (data.state == caseState.stateWaitCheck || data.state == caseState.stateWaitResetCheck) {
- if (this.pageFlag == casePageFlag.WaitCheck) {
- itemHtml += this._CreateInfoChecking(data);
- } else if (this.pageFlag == casePageFlag.UndoAssign) {
- itemHtml += this._CreateInfoUndoAssign(data);
- } else {
- itemHtml += this._CreateInfoChecking(data);
- }
- } else if (data.state == caseState.stateWaitVerify) {
- itemHtml += this._CreateInfoVerifying(data);
- } else if (data.state == caseState.stateClose) {
- itemHtml += this._CreateInfoClose(data);
- } else if (data.state == caseState.stateWaitRepeat || data.state == caseState
- .stateWaitResetRepeat) {
- itemHtml += this._CreateInfoRepeating(data);
- }
- itemHtml += "</div>";
- itemHtml += "<div class='wc-btn-content'>";
- itemHtml += this._CreateCaseNavigationButton(data);
- itemHtml += this._CreateCaseInfoButton(data);
- itemHtml += this._CreateCaseMapLocationButton(data);
- //如果当前登录的为审核用户 且为待审核案件页面 则显示审核按钮
- if (this.userInfo.userType == userType.memberSH && this.pageFlag == casePageFlag.WaitVerify) {
- itemHtml += this._CreateCaseVerifyButton(data);
- }
- //如果当前登录的为审核用户 且页面为待派发页面 则显示派发按钮
- if (this.userInfo.userType == userType.memberSH && this.pageFlag == casePageFlag.WaitAssign) {
- itemHtml += this._CreateCaseAssigButton(data);
- }
- //如果当前登录的为审核用户 且页面为撤派页面 则显示撤派按钮
- if (this.userInfo.userType == userType.memberSH && this.pageFlag == casePageFlag.UndoAssign) {
- itemHtml += this._CreateCaseUndoAssigButton(data);
- }
- //如果当前登录用户为处理员 且页面为待处理案件 则显示处理按钮
- if (this.userInfo.userType == userType.memberCL && this.pageFlag == casePageFlag.WaitCheck) {
- itemHtml += this._CreateCaseCheckButton(data);
- }
- //如果当前登陆用户为审核员或领导,且页面为待督办页面或已督办页面,则显示督办按钮
- if ((this.userInfo.userType == userType.memberSH || this.userInfo.userType == userType.memberLD) &&
- (this.pageFlag == casePageFlag.WaitSupervise || this.pageFlag == casePageFlag.YesSupervise)) {
- itemHtml += this._CreateCaseSuperviseButton(data);
- }
- itemHtml += "</div>";
- /* 下部分内容结束 */
- itemHtml += "</div>";
- /* 数据行结束 */
- itemHtml += "</div>";
- li.innerHTML = itemHtml;
- /* 此处需要判断一下 如果this.table == undefined 则将li插入到集合中*/
- if (this.table != undefined) {
- this.table.appendChild(li);
- }
- },
- /**
- * 创建普通案件数据
- * @param {Object} data 案件
- */
- _CreateInfoNormal(data) {
- var itemHtml = "";
- //追加人员信息
- itemHtml += "<div class='wc-div-row'>"
- itemHtml += "<div style='float: left;'>";
- itemHtml += "<span class='app-icon app-icon-member wc-span-icon'></span>";
- itemHtml += "<span class='wc-span'>[上报员]" + data.sbmember + "</span>";
- itemHtml += "</div>"
- itemHtml += "<div style='float: right;'>";
- itemHtml += "<span class='app-icon app-icon-sslb wc-span-icon'></span>";
- itemHtml += "<span class='wc-span'>" + "空中巡查" + "</span>";
- itemHtml += "</div>"
- itemHtml += "</div>"
- //追加日期信息
- itemHtml += "<div class='wc-div-row'>"
- itemHtml += "<span class='app-icon app-icon-date wc-span-icon'></span>";
- itemHtml += "<span class='wc-span'>[上报日期]" + data.sbdate + "</span>";
- itemHtml += "</div>"
- //追加描述
- itemHtml += "<p>" + data.sbms + "</p>";
- return itemHtml;
- },
- /**
- * 创建处理中案件信息
- * @param {Object} data 案件
- */
- _CreateInfoChecking(data) {
- var itemHtml = "";
- //追加人员信息
- itemHtml += "<div class='wc-div-row'>"
- itemHtml += "<div style='float: left;'>";
- itemHtml += "<span class='app-icon app-icon-member wc-span-icon'></span>";
- itemHtml += "<span class='wc-span'>[上报员]" + data.sbmember + "</span>";
- itemHtml += "</div>"
- itemHtml += "<div style='float: right;'>";
- itemHtml += "<span class='app-icon app-icon-sslb wc-span-icon'></span>";
- itemHtml += "<span class='wc-span'>" + "空中巡查" + "</span>";
- itemHtml += "</div>"
- itemHtml += "</div>"
- //追加日期信息
- itemHtml += "<div class='wc-div-row'>"
- itemHtml += "<span class='app-icon app-icon-date wc-span-icon'></span>";
- itemHtml += "<span class='wc-span'>[上报日期]" + data.sbdate + "</span>";
- itemHtml += "</div>"
- //追加描述
- itemHtml += "<p>" + data.sbms + "</p>";
- return itemHtml;
- },
- /**
- * 创建待复飞案件信息
- * @param {Object} data 案件
- */
- _CreateInfoRepeating(data) {
- var itemHtml = "";
- //追加人员信息
- itemHtml += "<div class='wc-div-row'>"
- itemHtml += "<div style='float: left;'>";
- itemHtml += "<span class='app-icon app-icon-member wc-span-icon'></span>";
- itemHtml += "<span class='wc-span'>[处理员]" + data.clry + "</span>";
- itemHtml += "</div>"
- itemHtml += "<div style='float: right;'>";
- itemHtml += "<span class='app-icon app-icon-sslb wc-span-icon'></span>";
- itemHtml += "<span class='wc-span'>" + "空中巡查" + "</span>";
- itemHtml += "</div>"
- itemHtml += "</div>"
- //追加日期信息
- itemHtml += "<div class='wc-div-row'>"
- itemHtml += "<span class='app-icon app-icon-date wc-span-icon'></span>";
- itemHtml += "<span class='wc-span'>[处理日期]" + data.cldate + "</span>";
- itemHtml += "</div>"
- //追加描述
- itemHtml += "<p>" + data.clms + "</p>";
- return itemHtml;
- },
- /**
- * 等待审核的案件
- * @param {Object} data 案件
- */
- _CreateInfoVerifying(data) {
- var itemHtml = "";
- //追加人员信息
- itemHtml += "<div class='wc-div-row'>"
- itemHtml += "<div style='float: left;'>";
- itemHtml += "<span class='app-icon app-icon-member wc-span-icon'></span>";
- itemHtml += "<span class='wc-span'>[处理员]" + data.clry + "</span>";
- itemHtml += "</div>"
- itemHtml += "<div style='float: right;'>";
- itemHtml += "<span class='app-icon app-icon-sslb wc-span-icon'></span>";
- itemHtml += "<span class='wc-span'>" + "空中巡查" + "</span>";
- itemHtml += "</div>"
- itemHtml += "</div>"
- //追加日期信息
- itemHtml += "<div class='wc-div-row'>"
- itemHtml += "<span class='app-icon app-icon-date wc-span-icon'></span>";
- itemHtml += "<span class='wc-span'>[处理日期]" + data.cldate + "</span>";
- itemHtml += "</div>"
- //追加描述
- itemHtml += "<p>" + data.clms + "</p>";
- return itemHtml;
- },
- /**
- * 已结案案件
- * @param {Object} data 案件
- */
- _CreateInfoClose(data) {
- var itemHtml = "";
- //追加人员信息
- itemHtml += "<div class='wc-div-row'>"
- itemHtml += "<div style='float: left;'>";
- itemHtml += "<span class='app-icon app-icon-member wc-span-icon'></span>";
- itemHtml += "<span class='wc-span'>[审核员]" + data.shry + "</span>";
- itemHtml += "</div>"
- itemHtml += "<div style='float: right;'>";
- itemHtml += "<span class='app-icon app-icon-sslb wc-span-icon'></span>";
- itemHtml += "<span class='wc-span'>" + "空中巡查" + "</span>";
- itemHtml += "</div>"
- itemHtml += "</div>"
- //追加日期信息
- itemHtml += "<div class='wc-div-row'>"
- itemHtml += "<span class='app-icon app-icon-date wc-span-icon'></span>";
- itemHtml += "<span class='wc-span'>[结案日期]" + data.shdate + "</span>";
- itemHtml += "</div>"
- itemHtml += "<div class='wc-div-row'>"
- itemHtml += "<span class='app-icon app-icon-date wc-span-icon'></span>";
- itemHtml += "<span class='wc-span f-color-case-wait-assign'>[发现日期]" + data.sbdate + "</span>";
- itemHtml += "</div>"
- itemHtml += "<div class='wc-div-row'>"
- itemHtml += "<span class='app-icon app-icon-date wc-span-icon'></span>";
- itemHtml += "<span class='wc-span f-color-case-wait-check'>[处理日期]" + data.cldate + "</span>";
- itemHtml += "</div>"
- //追加描述
- itemHtml += "<p>" + data.shms + "</p>";
- return itemHtml;
- },
- /**
- * 创建撤销派发案件
- * @param {Object} data 案件
- */
- _CreateInfoUndoAssign(data) {
- var itemHtml = "";
- //追加人员信息
- itemHtml += "<div class='wc-div-row'>"
- itemHtml += "<div style='float: left;'>";
- itemHtml += "<span class='app-icon app-icon-member wc-span-icon'></span>";
- itemHtml += "<span class='wc-span'>[派发处理员]" + data.zpry + "</span>";
- itemHtml += "</div>"
- itemHtml += "<div style='float: right;'>";
- itemHtml += "<span class='app-icon app-icon-sslb wc-span-icon'></span>";
- itemHtml += "<span class='wc-span'>" + "空中巡查" + "</span>";
- itemHtml += "</div>"
- itemHtml += "</div>"
- //追加日期信息
- itemHtml += "<div class='wc-div-row'>"
- itemHtml += "<span class='app-icon app-icon-date wc-span-icon'></span>";
- itemHtml += "<span class='wc-span'>[派发日期]" + data.zpsj + "</span>";
- itemHtml += "</div>"
- //追加描述
- itemHtml += "<p>" + "请尽快协调处理" + "</p>";
- return itemHtml;
- },
- /**
- * 调用高德导航软件 进行导航
- * @param {Object} longitude 经度
- * @param {Object} latitude 纬度
- */
- _CallNavigation: function(longitude, latitude) {
- mui.plusReady(function() {
- if (plus.runtime.isApplicationExist({
- pname: 'com.autonavi.minimap'
- })) {
- //用户已安装高德地图
- plus.runtime.openURL('androidamap://navi?sourceApplication=com.knssshy.sj&lat=' +
- latitude + '&lon=' +
- longitude +
- '&dev=0',
- function(e) {
- plus.nativeUI.confirm("检查到您未安装\"高德地图\".");
- });
- } else {
- muiAlert('您尚未安装高德导航软件,请安装后重试!', "警告")
- }
- });
- },
- /**
- * 创建导航按钮
- * @param {Object} data 当前按钮对应的案件记录 JSONObject
- */
- _CreateCaseNavigationButton: function(data) {
- var strHtml = "";
- strHtml +=
- "<button type='button' class='mui-btn mui-btn-primary mui-icon app-icon app-icon-navigation wc-btn-child wc-btn-nav' ";
- strHtml += "onClick=\"CallNavigation('" + data.lng + "','" + data.lat + "')\">";
- strHtml += "导航";
- strHtml += "</button>";
- return strHtml;
- },
- /**
- * 创建案件详情按钮
- * @param {Object} data 当前按钮对应的案件记录 JSONObject
- */
- _CreateCaseInfoButton: function(data) {
- var strHtml = "";
- strHtml +=
- "<button type='button' class='mui-btn mui-btn-warning mui-icon app-icon app-icon-info wc-btn-child wc-btn-info' ";
- strHtml += "onClick=\"CallCaseInfo(" + JSON.stringify(data).replace(/\"/g, "'") + ")\">";
- strHtml += "详情";
- strHtml += "</button>";
- return strHtml;
- },
- /**
- * 创建定位按钮--案件列表中的定位功能
- * @param {Object} data 当前按钮对应的案件记录 JSONObject
- */
- _CreateCaseMapLocationButton: function(data) {
- let _self = this;
- var strHtml = "";
- strHtml +=
- "<button type='button' class='mui-btn mui-btn-success mui-icon app-icon app-icon-location wc-btn-child wc-btn-location' ";
- /* 此处改造一下 通过ObjectId和表名 传入地图进行定位展示 */
- strHtml += "onClick=\"CallMapLocation('" + data.tabName + "','" + data.feaId + "')\">";
- strHtml += "定位";
- strHtml += "</button>";
- return strHtml;
- },
- /**
- * 创建地图定位按钮--地图中展示案件的定位功能
- * @param {Object} data 当前按钮对应的案件记录 JSONObject
- */
- _CreateCaseMapLocationButtonToMap: function(data) {
- var strHtml = "";
- strHtml +=
- "<button type='button' class='mui-btn mui-btn-success mui-icon app-icon app-icon-location wc-btn-child wc-btn-location' ";
- strHtml += "onClick=\"location_tabName_feaId_normal('" + data.tabName + "','" + data.feaId +
- "')\">";
- strHtml += "定位";
- strHtml += "</button>";
- return strHtml;
- },
- /**
- * 创建案件处理按钮
- * @param {Object} data 当前按钮对应的案件记录 JSONObject
- */
- _CreateCaseCheckButton: function(data) {
- var strHtml = "";
- strHtml +=
- "<button type='button' class='mui-btn mui-btn-danger mui-icon app-icon app-icon-check wc-btn-child' ";
- strHtml += "onClick=\"CallCaseCheck(" + JSON.stringify(data).replace(/\"/g, "'") + ")\">";
- strHtml += "处理";
- strHtml += "</button>";
- return strHtml;
- },
- /**
- * 创建案件派发按钮
- * @param {Object} data 当前按钮对应的案件记录 JSONObject
- */
- _CreateCaseAssigButton: function(data) {
- var strHtml = "";
- strHtml +=
- "<button type='button' class='mui-btn mui-btn-danger mui-icon app-icon app-icon-assign wc-btn-child' ";
- strHtml += "onClick=\"CallAssign('" + data.casenum + "')\">";
- strHtml += "派发";
- strHtml += "</button>";
- return strHtml;
- },
- /**
- * 创建案件撤派按钮
- * @param {Object} data 当前按钮对应的案件记录 JSONObject
- */
- _CreateCaseUndoAssigButton: function(data) {
- var strHtml = "";
- strHtml +=
- "<button type='button' class='mui-btn mui-btn-danger mui-icon app-icon app-icon-undoassign wc-btn-child' ";
- strHtml += "onClick=\"CallUndoAssign('" + data.casenum + "')\">";
- strHtml += "撤派";
- strHtml += "</button>";
- return strHtml;
- },
- /**
- * 创建案件审核按钮
- * @param {Object} data 当前按钮对应的案件记录 JSONObject
- */
- _CreateCaseVerifyButton: function(data) {
- var strHtml = "";
- strHtml +=
- "<button type='button' class='mui-btn mui-btn-danger mui-icon app-icon app-icon-verify wc-btn-child' ";
- strHtml += "onClick=\"CallCaseVerify(" + JSON.stringify(data).replace(/\"/g, "'") + ")\">";
- strHtml += "审核";
- strHtml += "</button>";
- return strHtml;
- },
- /**
- * 创建案件督办按钮
- * @param {Object} data 当前按钮对应的案件记录 JSONObject
- */
- _CreateCaseSuperviseButton: function(data) {
- var strHtml = "";
- strHtml +=
- "<button type='button' class='mui-btn mui-btn-danger mui-icon app-icon app-icon-supervise wc-btn-child' ";
- strHtml += "onClick=\"CallSupervise('" + data.casenum + "')\">";
- strHtml += "督办";
- strHtml += "</button>";
- return strHtml;
- },
- /**
- * 追加数据
- * @param {Object} record 数据记录
- */
- _addDataToList: function(record) {
- this.dataList.push(record);
- this._InsertLiToTable(record, this.table, ++this.dataCount);
- },
- /**
- * 网络加载数据
- */
- _netLoadData: function() {
- var self = this;
- sendAjax({
- data: self.queryModel,
- type: 'post',
- url: self.ashxName,
- waitMessage: '正在查询数据...',
- success: function(data) {
- //查询成功回调函数
- for (var i = 0; i < data.length; i++) {
- self._addDataToList(data[i]); //追加数据表
- }
- //判断加载更多按钮是否显示
- if (data.length < self.queryModel.queryCount) {
- self._showLoadedMoreDataButton(false);
- } else {
- self._showLoadedMoreDataButton(true);
- }
- /* 如果绑定了回调事件 则调用返回 */
- if (self.eventQueryResult != undefined) {
- self.eventQueryResult(self.dataList);
- }
- },
- error: function(err) {
- self._showLoadedMoreDataButton(false);
- //查询数据错误回调函数
- muiAlert(err, "错误");
- },
- nodata: function(msg) {
- self._showLoadedMoreDataButton(false);
- muiAlert(msg, "警告");
- /* 如果绑定了回调事件 则调用返回 */
- if (self.eventQueryResult != undefined) {
- self.eventQueryResult([]);
- }
- }
- })
- },
- /**
- * 加载更多数据
- */
- _loadManyData: function() {
- this.queryModel.startNum = parseInt(this.queryModel.startNum) + parseInt(this.queryModel
- .queryCount);
- this._netLoadData(); //网络请求加载数据
- },
- /**
- * 显示/隐藏 加载更多数据按钮
- * @param {Object} isShow 显示或者隐藏
- */
- _showLoadedMoreDataButton: function(isShow) {
- if (isShow) {
- this.btnLoadManyData.className = "mui-btn mui-btn-block mui-btn-danger wc-btn";
- } else {
- this.btnLoadManyData.className = "mui-btn mui-btn-block mui-btn-danger wc-btn mui-hidden";
- }
- },
- /**
- * 创建一个地图页面案件查询结果单条数据的DIV
- * @param {JSON} data 案件数据
- */
- _createCase: function(data) {
- var rootDiv = document.createElement('div');
- rootDiv.className = 'wc-li wc-li-map';
- var itemHtml = "";
- itemHtml += "<div class='mui-row'>";
- itemHtml += "<div class='wc-row-title-content'>";
- itemHtml += "<div class='wc-ico'><img src='../img/menu/" + this._iconClassName(data.state) +
- "'/></div>";
- itemHtml += "<div class='wc-title' style='color:rgb(0,0,0) !important;'><span>" + data.casenum +
- "</span><sup>[" + this._caseStateName(
- data.state) + "]" +
- "</sup></div>";
- itemHtml += "<div class='wc-xzq'>";
- itemHtml += "<div class='wc-xzq-ssxz'>" + data.caseVillagesAndTowns + "</div>";
- itemHtml += "<div class='wc-xzq-ssxz'>" + data.caseVillage + "</div>";
- itemHtml += "</div>"; //行政区div结束
- itemHtml += "</div>"; //案件标题行内容结束
- itemHtml += "</div>"; //一行结束
- itemHtml += "<div class='mui-row wc-li-map-row'>";
- itemHtml += "<div class='wc-map-column-content'>";
- itemHtml += "<div class='wc-main-content'>";
- /* 此处需要根据案件状态的不同生成不同的案件页面 */
- if (data.state == caseState.stateWaitAssign) {
- itemHtml += this._CreateInfoNormal(data);
- } else if (data.state == caseState.stateWaitCheck || data.state == caseState.stateWaitResetCheck) {
- itemHtml += this._CreateInfoChecking(data);
- } else if (data.state == caseState.stateWaitVerify) {
- itemHtml += this._CreateInfoVerifying(data);
- } else if (data.state == caseState.stateClose) {
- itemHtml += this._CreateInfoClose(data);
- } else if (data.state == caseState.stateWaitRepeat || data.state == caseState
- .stateWaitResetRepeat) {
- itemHtml += this._CreateInfoRepeating(data);
- }
- itemHtml += "</div>"; //内容结束
- itemHtml += "</div>"; //列结束
- itemHtml += "<div class='wc-map-column-button'>";
- itemHtml += this._CreateCaseNavigationButton(data);
- itemHtml += this._CreateCaseInfoButton(data);
- itemHtml += this._CreateCaseMapLocationButtonToMap(data);
- /* 增加事务性按钮 */
- //如果当前登录用户为处理员 且案件状态为待处理或待重处理 则显示处理按钮
- if (this.userInfo.userType == userType.memberCL && (data.state == caseState.stateWaitCheck || data
- .state == caseState.stateWaitResetCheck)) {
- itemHtml += this._CreateCaseCheckButton(data);
- }
- //如果当前登录的为审核用户 且案件状态为待审核 则显示审核按钮
- if (this.userInfo.userType == userType.memberSH && data.state == caseState.stateWaitVerify) {
- itemHtml += this._CreateCaseVerifyButton(data);
- }
- //如果当前登录的为审核用户 且案件状态为待派发 则显示派发按钮
- if (this.userInfo.userType == userType.memberSH && data.state == caseState.stateWaitAssign) {
- itemHtml += this._CreateCaseAssigButton(data);
- }
- //如果当前登录的为审核用户 且案件状态为待处理 则显示撤派按钮
- if (this.userInfo.userType == userType.memberSH && data.state == caseState.stateWaitCheck) {
- itemHtml += this._CreateCaseUndoAssigButton(data);
- }
- itemHtml += "</div>"; //列结束
- itemHtml += "</div>"; //一行结束
- rootDiv.innerHTML = itemHtml;
- return rootDiv;
- },
- })
- /**
- * 挂接方法
- */
- JTCaseBase.prototype.extend({
- /**
- * 设置查询模型
- * @param {Object} queryModel 查询模型
- */
- setQueryModel: function(queryModel) {
- this.queryModel = queryModel;
- },
- /**
- * 设置附加的查询条件
- * @param {Object} strWhere 附加查询条件
- */
- setAdditionalConditions: function(strWhere) {
- this.queryModel.additionalConditions = strWhere;
- },
- /** 绑定数据表
- * @param {Object} table UL 数据表 用于显示数据
- */
- bindUlTable: function(table) {
- var self = this;
- this.table = table;
- //绑定表格的同时创建一个按钮 用于刷新数据
- self.btnLoadManyData = document.createElement('button');
- self.btnLoadManyData.className =
- "mui-btn mui-btn-block mui-btn-danger wc-btn mui-hidden mui-icon mui-icon-search";
- self.btnLoadManyData.setAttribute("data-loading-text", "加载中......");
- self.btnLoadManyData.setAttribute("data-loading-icon-position", "right");
- self.btnLoadManyData.innerHTML = "加载更多数据";
- if (table != undefined) {
- table.parentNode.appendChild(self.btnLoadManyData);
- }
- self.btnLoadManyData.addEventListener('click', function(evn) {
- mui(self.btnLoadManyData).button('loading');
- setTimeout(function() {
- mui(self.btnLoadManyData).button('reset'); //切换为reset状态(即重置为原始的button)
- self._loadManyData(); //调用加载更多数据
- }.bind(self.btnLoadManyData), 1000);
- });
- },
- /**
- * 绑定搜索框
- * @param {Object} controlID 搜索框ID
- */
- bindSearchControl: function(controlID) {
- var self = this;
- /**
- * 搜索框追加事件
- */
- document.getElementById(controlID).addEventListener('keypress', function(e) {
- //判断点击的是否是 搜索 按钮
- if (e.keyCode == 13) {
- var value = this.value;
- self.setAdditionalConditions("ajh like '%" + value + "%'");
- document.activeElement.blur();
- self.queryData();
- }
- });
- },
- /** 绑定搜索框 通过绑定监听 获取查询内容
- * @param {Object} controlID 搜索框ID
- * @param {Object} callback 返回监听
- */
- bindSearchControlEvent: function(controlID, callback) {
- var self = this;
- /**
- * 搜索框追加事件
- */
- document.getElementById(controlID).addEventListener('keypress', function(e) {
- //判断点击的是否是 搜索 按钮
- if (e.keyCode == 13) {
- var value = this.value;
- document.activeElement.blur();
- callback(value);
- }
- });
- },
- /**
- * 设置顶部导航栏标题及刷新按钮的回调事件
- * @param {Object} title 标题
- * @param {Object} callRefresh 刷新回调事件
- */
- setNView: function(title, callRefresh) {
- var curViewView = plus.webview.currentWebview();
- var mainPage = curViewView.opener();
- //mainPage.getTitleNView().hide();
- var selfNViewStyle = {
- "titleNView": {
- backgroundColor: colorBackground,
- titleText: title,
- titleColor: colorTitle,
- splitLine: {
- color: colorLine
- },
- autoBackButton: true,
- buttons: [{
- 'float': 'right',
- fontSrc: '../fonts/iconfont.ttf',
- text: '\ue797',
- onclick: callRefresh,
- }]
- }
- };
- curViewView.setStyle(selfNViewStyle);
- },
- /**
- * 刷新数据 即重置数据
- */
- refreshData: function() {
- this.dataCount = 0; //初始化数据数量
- this.queryModel.additionalConditions = ""; //清除附加条件
- this.table.innerHTML = ""; //初始化显示表格
- this.dataList = []; //初始化数据列表
- this.queryModel.startNum = '0'; //初始化查询编号
- this._netLoadData(); //网络请求加载数据
- },
- /**
- * 查询数据
- */
- queryData: function() {
- this.dataCount = 0; //初始化数据数量
- this.table.innerHTML = ""; //初始化显示表格
- this.dataList = []; //初始化数据列表
- this.queryModel.startNum = '0'; //初始化查询编号
- this._netLoadData(); //网络请求加载数据
- },
- /**
- * 输入查询 如果查询案件Id数组只输入一个 则采用模糊查询 否则采用in查询
- * @param {Array[string,string,...]} caseIds 案件Ids
- */
- queryDataByCaseId: function(caseIds) {
- /* 组合查询条件 */
- var queryWhere = "";
- if (caseIds.length == 1) {
- queryWhere = "ajh like '%" + caseIds[0] + "%'"
- } else {
- for (var i = 0; i < caseIds.length; i++) {
- if (queryWhere === '') queryWhere += caseIds[i];
- else queryWhere += "','" + caseIds[i];
- }
- queryWhere = "ajh in ('" + queryWhere + "')"
- }
- this.dataCount = 0; //初始化数据数量
- this.dataList = []; //初始化数据列表
- this.queryModel.startNum = '0'; //初始化查询编号
- this.queryModel.queryType = 'Input'; //设置查询方式
- this.queryModel.additionalConditions = queryWhere; //赋值查询条件
- this.ashxName = 'appQueryCases'; //设置查询URL地址
- this._netLoadData(); //网络请求加载数据
- },
- /**
- * 根据输入的范围进行查询
- * @param {string} extent 查询范围 经纬度字符串 经度1,纬度1.......
- */
- queryDataByExtent: function(extent) {
- /* 组合查询条件 */
- var queryWhere = "";
- this.dataCount = 0; //初始化数据数量
- this.dataList = []; //初始化数据列表
- this.queryModel.startNum = '0'; //初始化查询编号
- this.queryModel.queryType = 'Normal'; //设置查询方式
- this.queryModel.additionalConditions = ""; //赋值查询条件
- this.queryModel.queryExtent = extent; //查询范围
- this.ashxName = 'appQueryCasesByExtent'; //设置查询URL地址
- this._netLoadData(); //网络请求加载数据
- },
- /**
- * 根据案件创建div
- * @param {Object} data 案件
- */
- createCase: function(data) {
- return this._createCase(data);
- },
- /**
- * 删除列表中的案件项
- * @param {string} caseNum 案件号所代表的案件Item
- */
- removeCaseItem: function(caseNum) {
- if (this.pageFlag != casePageFlag.Map && this.table != undefined) {
- var childItem = document.getElementById(caseNum);
- if (childItem != undefined) {
- this.table.removeChild(childItem);
- }
- } else {
- /* 回调出去 */
- if (this.eventCaseChange != undefined) {
- this.eventCaseChange(caseNum);
- }
- }
- },
- /**
- * 根据案件状态获取状态中文描述
- * @param {string} state 案件状态
- */
- caseStateName: function(state) {
- return this._caseStateName(state);
- },
- /**
- * @param {string} casenum 案件号
- * @param {function} callback 查询成功回调
- */
- queryCaseByCasenum: function(casenum, callback) {
- var self = this;
- /* 初始化查询条件 */
- var queryWhere = "ajh = '" + casenum + "'";
- self.queryModel.startNum = '0'; //初始化查询编号
- self.queryModel.additionalConditions = queryWhere; //赋值查询条件
- self.queryModel.queryType = 'Normal';
- /* 联网查询 */
- sendAjax({
- data: self.queryModel,
- type: 'post',
- url: self.ashxName,
- waitMessage: '正在查询案件...',
- success: function(data) {
- //查询成功回调函数 只返回一个案件
- if (callback != undefined) callback(data[0]);
- },
- error: function(err) {
- //查询数据错误回调函数
- muiAlert(err, "错误");
- },
- nodata: function(msg) {
- muiAlert(msg, "警告");
- }
- })
- }
- });
- //定义数据基础类
- var caseBase = undefined; //定义一个全局变量 主要是为了管理案件
- /**
- * 调用高德导航软件 进行导航
- * @param {Object} longitude 经度
- * @param {Object} latitude 纬度
- */
- function CallNavigation(longitude, latitude) {
- mui.plusReady(function() {
- if (plus.runtime.isApplicationExist({
- pname: 'com.autonavi.minimap'
- })) {
- //用户已安装高德地图
- plus.runtime.openURL('androidamap://navi?sourceApplication=com.knssshy.sj&lat=' + latitude +
- '&lon=' +
- longitude +
- '&dev=0',
- function(e) {
- plus.nativeUI.confirm("检查到您未安装\"高德地图\".");
- });
- } else {
- muiAlert('您尚未安装高德导航软件,请安装后重试!', "警告")
- }
- });
- }
- /**
- * 地图上案件的定位功能 地图页面
- * @param {JSON} jsonCase 案件的JSON格式
- */
- function CallMapLocationToMap(jsonCase) {
- var objWebview = plus.webview.currentWebview();
- var longitude = jsonCase.lng;
- var latitude = jsonCase.lat;
- var title = jsonCase.casenum;
- var state = caseBase.caseStateName(jsonCase.state);
- var tbmj = jsonCase.tbmj;
- /* 执行定位函数 */
- objWebview.evalJS("mapLocation('" + longitude + "','" + latitude + "','" + title + "','" + state + "','" + tbmj +
- "');");
- }
- /**
- * 调用地图定位功能 案件列表
- * @param {string} tabName 案件表名称
- * @param {string} feaId 要素唯一标识
- */
- function CallMapLocation(tabName, feaId) {
- toMapLocation_tabName_feaId(tabName, feaId, '案件定位');
- }
- /**
- * 调用显示案件详细信息
- * @param {Object} jsonCase case JSON格式
- */
- function CallCaseInfo(jsonCase) {
- createAndOpenPage({
- htmlPath: 'case-info.html',
- autoback: true,
- title: '案件详情',
- extras: jsonCase,
- });
- }
- /**
- * 调用案件处理页面
- * @param {Object} jsonCase case JSON格式
- */
- function CallCaseCheck(jsonCase) {
- createAndOpenPage({
- htmlPath: 'case-check.html',
- autoback: true,
- title: '案件处理',
- extras: jsonCase,
- });
- }
- /**
- * 调用案件审核页面
- * @param {Object} jsonCase case JSON格式
- */
- function CallCaseVerify(jsonCase) {
- //由于版本变化 更改该案件的传递方法
- //第一次加载时 为打开新窗口 通过extras 传递方法
- //第二次加载时 由于已经加载 改变值的传递方法
- var windowID = "case-verify.html"; //新窗口ID
- var subPage = plus.webview.getWebviewById(windowID);
- if (subPage == null) {
- mui.openWindow({
- url: windowID,
- id: windowID,
- extras: jsonCase,
- });
- } else {
- //设置自定义事件 并传递参数
- mui.fire(subPage, "new", jsonCase);
- //打开窗口
- mui.openWindow({
- id: windowID,
- });
- }
- }
- /**
- * 调用案件督办页面
- * @param {string} caseId 案件编号
- */
- function CallSupervise(caseId) {
- createAndOpenPage({
- htmlPath: 'case-supervise.html',
- autoback: true,
- title: '案件督办',
- extras: {
- caseId: caseId,
- },
- });
- }
- /**
- * 案件撤销处理
- * @param {Object} caseNum 案件编号
- */
- function CallUndoAssign(caseNum) {
- var self = this;
- var msg = "你确定要撤销案件编号为【" + caseNum + "】案件派发吗?";
- muiConfirm(msg, '撤派', function() {
- /* 创建派发模型 */
- var assignData = {
- casenum: caseNum,
- userId: '',
- type: 'undo',
- }
- /* 远程派发 */
- sendAjax({
- url: 'appCaseAssign',
- type: 'post',
- data: assignData,
- waitMessage: '正在撤派...',
- success: function(resData) {
- muiAlert(resData[0].msg, "提示", function() {
- if (caseBase != undefined) {
- //如果派发成功 则删除该项内容
- caseBase.removeCaseItem(caseNum);
- }
- });
- },
- error: function(err) {
- muiAlertError(err);
- }
- });
- })
- }
- /**
- * 调用案件派发
- * @param {Object} casenum 案件ID
- */
- function CallAssign(casenum) {
- //传递的Case数据
- var tempCaseModel = {
- casenum: casenum,
- }
- /* 联网查询关联的执法账号 */
- sendAjax({
- url: 'appQueryCaseJoinUsers',
- waitMessage: '正在联网查询...',
- type: 'post',
- data: tempCaseModel,
- success: function(data) {
- /* 如果有popover 则让其关闭 否则导致重叠遮挡 */
- mui('.mui-popover').popover('hide');
- var tempUsers = [];
- for (var i = 0; i < data.length; i++) {
- tempUsers.push({
- value: data[i].selCode,
- text: data[i].selName,
- });
- }
- var assignPicker = new mui.PopPicker({
- buttons: ['关闭', '派发'],
- });
- assignPicker.setData(tempUsers);
- assignPicker.show(function(items) {
- var uId = items[0].value;
- var uName = items[0].text;
- var msg = "确认将编号为【" + casenum + "】的案件派发给【" + uName + "】处理吗?";
- muiConfirm(msg, '派发', function() {
- CaseAssign(casenum, uId);
- });
- });
- },
- error: function(err) {
- muiAlertError(err);
- }
- });
- }
- /**
- * @param {Object} caseNum 案件编号
- * @param {Object} assignUserId 派发的用户ID
- */
- function CaseAssign(caseNum, assignUserId) {
- /* 创建派发模型 */
- var assignData = {
- casenum: caseNum,
- userId: assignUserId,
- type: 'assign',
- }
- /* 远程派发 */
- sendAjax({
- url: 'appCaseAssign',
- type: 'post',
- data: assignData,
- waitMessage: '正在派发...',
- success: function(resData) {
- muiAlert(resData[0].msg, "提示", function() {
- if (caseBase != undefined) {
- //如果派发成功 则删除该项内容
- caseBase.removeCaseItem(caseNum);
- }
- });
- },
- error: function(err) {
- muiAlertError(err);
- }
- })
- }
- /**
- * 刷新数据表 主要是处理、派发、撤派、审核、复飞成功后 删除对应的数据项
- * @param {string} casenum 案件编号 案件domId
- */
- function refreshDataTable(casenum) {
- document.getElementById(casenum).remove();
- }
|