case-list-base.js 38 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157
  1. /**
  2. * 说明:该模块主要用于案件列表的公共部分代码 主要是刷新 等一系列功能等
  3. */
  4. /**
  5. * 类定义
  6. * @param {Object} option 选项
  7. */
  8. function JTCaseBase(option) {
  9. //查询数据对应的查询模型JSONObject
  10. this.queryModel = {
  11. userID: '',
  12. queryCount: '10',
  13. queryType: "",
  14. startNum: '0',
  15. additionalConditions: '',
  16. queryExtent: '',
  17. }
  18. //查询到案件数据列表
  19. this.caseList = [];
  20. //创建的所有li
  21. this.caseDomList = [];
  22. //当前数据数量 用于标号
  23. this.dataCount = 0;
  24. this.ashxName = "case-list"; //默认的网络请求网页名
  25. this.pageFlag = casePageFlag.WaitCheck; //默认的关联页面标识
  26. this.userInfo = null; //默认关联的用户表示
  27. this.btnLoadManyData = null; //加载更多按钮
  28. this._init(option || {});
  29. }
  30. /**
  31. * 原型方法
  32. * @param {Object} option 选项
  33. */
  34. JTCaseBase.prototype.extend = function(option) {
  35. for (key in option) {
  36. JTCaseBase.prototype[key] = option[key];
  37. }
  38. }
  39. /**
  40. * 初始化内部方法
  41. */
  42. JTCaseBase.prototype.extend({
  43. /**
  44. * 初始化方法
  45. * @param {Object} option 选项
  46. */
  47. _init: function(option) {
  48. //设置查询方式
  49. this.queryModel.queryType = option.queryType;
  50. //设置关联的网络服务名称
  51. this.ashxName = option.ashxName;
  52. //设置关联的页面名称
  53. this.pageFlag = option.pageFlag;
  54. /* 获取用户信息 */
  55. this.userInfo = option.userInfo;
  56. this.queryModel.userID = this.userInfo.userID;
  57. /* 绑定查询结果回调 */
  58. this.eventQueryResult = option.eventQueryResult;
  59. /* 绑定案件变化回调 主要用于案件的派发、撤派 */
  60. this.eventCaseChange = option.eventCaseChange;
  61. },
  62. /**
  63. * 根据案件状态获取状态中文描述
  64. * @param {string} state 案件状态
  65. */
  66. _caseStateName: function(state) {
  67. if (state == caseState.stateWaitCheck) {
  68. return "处理中";
  69. }
  70. if (state == caseState.stateWaitRepeat) {
  71. return "复飞中";
  72. }
  73. if (state == caseState.stateWaitVerify) {
  74. return "审核中";
  75. }
  76. if (state == caseState.stateClose) {
  77. return "已结案";
  78. }
  79. if (state == caseState.stateWaitAssign) {
  80. return "派发中";
  81. }
  82. if (state == caseState.stateWaitResetCheck) {
  83. return "重处理中";
  84. }
  85. if (state == caseState.stateWaitResetRepeat) {
  86. return "重复飞中";
  87. }
  88. return "未知";
  89. },
  90. /**
  91. * 根据案件状态值获取图标名称
  92. * @param {string} state 案件状态
  93. */
  94. _iconClassName: function(state) {
  95. if (state == caseState.stateWaitCheck) {
  96. // return "menu_zf_wait_check.png";
  97. return "w30.gif";
  98. }
  99. if (state == caseState.stateWaitRepeat) {
  100. return "menu_zf_wait_flight.png";
  101. }
  102. if (state == caseState.stateWaitVerify) {
  103. return "menu_zf_wait_verify.png";
  104. }
  105. if (state == caseState.stateClose) {
  106. return "menu_zf_close.png";
  107. }
  108. if (state == caseState.stateWaitAssign) {
  109. return "menu_zf_wait_assign.png";
  110. }
  111. if (state == caseState.stateWaitResetCheck) {
  112. return "menu_zf_wait_check.png";
  113. }
  114. if (state == caseState.stateWaitResetRepeat) {
  115. return "menu_zf_wait_flight";
  116. }
  117. return "";
  118. },
  119. /**
  120. * 检测待处理案件的状态
  121. * @param {JSON} caseJson 案件
  122. * @@return {Array} 返回待处理案件标签的颜色及动态图标名称
  123. */
  124. _CheckCaseCheckState(caseJson) {
  125. var curDate = new Date();
  126. var checkDate = new Date(caseJson.zpsj);
  127. var timeSpan = (curDate.getTime() - checkDate.getTime()) / 1000;
  128. var caseLabelColor = "";
  129. var icoName = "";
  130. if (timeSpan >= 0 && timeSpan <= 3 * 24 * 60 * 60) {
  131. //0~3
  132. caseLabelColor = '71,100,251';
  133. icoName = "w3.gif";
  134. } else if (timeSpan > 3 * 24 * 60 * 60 && timeSpan <= 7 * 24 * 60 * 60) {
  135. //4~7
  136. caseLabelColor = '234,189,45';
  137. icoName = "w7.gif";
  138. } else if (timeSpan > 7 * 24 * 60 * 60 && timeSpan <= 30 * 24 * 60 * 60) {
  139. //8~30
  140. caseLabelColor = '216,91,36';
  141. icoName = "w30.gif";
  142. } else {
  143. //>30
  144. caseLabelColor = '211,11,3';
  145. icoName = "w99.gif";
  146. }
  147. var label = "<font style=\"color:rgb(" + caseLabelColor + ")\">" + caseJson.casenum + "</font>";
  148. return [label, icoName];
  149. },
  150. /**
  151. * 向数据列表中追加一条数据
  152. * @param {Object} data 当前数据 JSONObjet
  153. * @param {Object} table 数据表 即UL对象
  154. * @param {Object} flag 显示的标识
  155. */
  156. _InsertLiToTable: function(data, table, flag) {
  157. var li = document.createElement('li');
  158. li.className = 'wc-li';
  159. li.id = data.casenum;
  160. var itemHtml = "";
  161. itemHtml += "<div class='wc-row'>";
  162. /* 以下是案件标题内容 */
  163. itemHtml += "<div class='wc-row-title-content'>";
  164. if (data.state == caseState.stateWaitCheck || data.state == caseState.stateWaitResetCheck) {
  165. var result = this._CheckCaseCheckState(data);
  166. itemHtml += "<div class='wc-ico'><img src='../img/menu/" + result[1] + "'/></div>";
  167. itemHtml += "<div class='wc-title'>" + result[0] + "</div>";
  168. } else {
  169. itemHtml += "<div class='wc-ico'><img src='../img/menu/" + this._iconClassName(data.state) +
  170. "'/></div>";
  171. itemHtml += "<div class='wc-title'>" + data.casenum + "</div>";
  172. }
  173. itemHtml += "<div class='wc-xzq'>";
  174. itemHtml += "<div class='wc-xzq-ssxz'>" + data.caseVillagesAndTowns + "</div>";
  175. itemHtml += "<div class='wc-xzq-ssxz wc-xzq-sscz'>" + data.caseVillage + "</div>";
  176. itemHtml += "</div>";
  177. itemHtml += "</div>";
  178. /* 以上是标题内容 */
  179. /* 以下是主体内容 */
  180. itemHtml += "<div class='jt-main-content'>"
  181. itemHtml += "<div class='wc-main-content'>";
  182. if (data.state == caseState.stateWaitAssign) {
  183. itemHtml += this._CreateInfoNormal(data);
  184. } else if (data.state == caseState.stateWaitCheck || data.state == caseState.stateWaitResetCheck) {
  185. if (this.pageFlag == casePageFlag.WaitCheck) {
  186. itemHtml += this._CreateInfoChecking(data);
  187. } else if (this.pageFlag == casePageFlag.UndoAssign) {
  188. itemHtml += this._CreateInfoUndoAssign(data);
  189. } else {
  190. itemHtml += this._CreateInfoChecking(data);
  191. }
  192. } else if (data.state == caseState.stateWaitVerify) {
  193. itemHtml += this._CreateInfoVerifying(data);
  194. } else if (data.state == caseState.stateClose) {
  195. itemHtml += this._CreateInfoClose(data);
  196. } else if (data.state == caseState.stateWaitRepeat || data.state == caseState
  197. .stateWaitResetRepeat) {
  198. itemHtml += this._CreateInfoRepeating(data);
  199. }
  200. itemHtml += "</div>";
  201. itemHtml += "<div class='wc-btn-content'>";
  202. itemHtml += this._CreateCaseNavigationButton(data);
  203. itemHtml += this._CreateCaseInfoButton(data);
  204. itemHtml += this._CreateCaseMapLocationButton(data);
  205. //如果当前登录的为审核用户 且为待审核案件页面 则显示审核按钮
  206. if (this.userInfo.userType == userType.memberSH && this.pageFlag == casePageFlag.WaitVerify) {
  207. itemHtml += this._CreateCaseVerifyButton(data);
  208. }
  209. //如果当前登录的为审核用户 且页面为待派发页面 则显示派发按钮
  210. if (this.userInfo.userType == userType.memberSH && this.pageFlag == casePageFlag.WaitAssign) {
  211. itemHtml += this._CreateCaseAssigButton(data);
  212. }
  213. //如果当前登录的为审核用户 且页面为撤派页面 则显示撤派按钮
  214. if (this.userInfo.userType == userType.memberSH && this.pageFlag == casePageFlag.UndoAssign) {
  215. itemHtml += this._CreateCaseUndoAssigButton(data);
  216. }
  217. //如果当前登录用户为处理员 且页面为待处理案件 则显示处理按钮
  218. if (this.userInfo.userType == userType.memberCL && this.pageFlag == casePageFlag.WaitCheck) {
  219. itemHtml += this._CreateCaseCheckButton(data);
  220. }
  221. //如果当前登陆用户为审核员或领导,且页面为待督办页面或已督办页面,则显示督办按钮
  222. if ((this.userInfo.userType == userType.memberSH || this.userInfo.userType == userType.memberLD) &&
  223. (this.pageFlag == casePageFlag.WaitSupervise || this.pageFlag == casePageFlag.YesSupervise)) {
  224. itemHtml += this._CreateCaseSuperviseButton(data);
  225. }
  226. itemHtml += "</div>";
  227. /* 下部分内容结束 */
  228. itemHtml += "</div>";
  229. /* 数据行结束 */
  230. itemHtml += "</div>";
  231. li.innerHTML = itemHtml;
  232. /* 此处需要判断一下 如果this.table == undefined 则将li插入到集合中*/
  233. if (this.table != undefined) {
  234. this.table.appendChild(li);
  235. }
  236. },
  237. /**
  238. * 创建普通案件数据
  239. * @param {Object} data 案件
  240. */
  241. _CreateInfoNormal(data) {
  242. var itemHtml = "";
  243. //追加人员信息
  244. itemHtml += "<div class='wc-div-row'>"
  245. itemHtml += "<div style='float: left;'>";
  246. itemHtml += "<span class='app-icon app-icon-member wc-span-icon'></span>";
  247. itemHtml += "<span class='wc-span'>[上报员]" + data.sbmember + "</span>";
  248. itemHtml += "</div>"
  249. itemHtml += "<div style='float: right;'>";
  250. itemHtml += "<span class='app-icon app-icon-sslb wc-span-icon'></span>";
  251. itemHtml += "<span class='wc-span'>" + "空中巡查" + "</span>";
  252. itemHtml += "</div>"
  253. itemHtml += "</div>"
  254. //追加日期信息
  255. itemHtml += "<div class='wc-div-row'>"
  256. itemHtml += "<span class='app-icon app-icon-date wc-span-icon'></span>";
  257. itemHtml += "<span class='wc-span'>[上报日期]" + data.sbdate + "</span>";
  258. itemHtml += "</div>"
  259. //追加描述
  260. itemHtml += "<p>" + data.sbms + "</p>";
  261. return itemHtml;
  262. },
  263. /**
  264. * 创建处理中案件信息
  265. * @param {Object} data 案件
  266. */
  267. _CreateInfoChecking(data) {
  268. var itemHtml = "";
  269. //追加人员信息
  270. itemHtml += "<div class='wc-div-row'>"
  271. itemHtml += "<div style='float: left;'>";
  272. itemHtml += "<span class='app-icon app-icon-member wc-span-icon'></span>";
  273. itemHtml += "<span class='wc-span'>[上报员]" + data.sbmember + "</span>";
  274. itemHtml += "</div>"
  275. itemHtml += "<div style='float: right;'>";
  276. itemHtml += "<span class='app-icon app-icon-sslb wc-span-icon'></span>";
  277. itemHtml += "<span class='wc-span'>" + "空中巡查" + "</span>";
  278. itemHtml += "</div>"
  279. itemHtml += "</div>"
  280. //追加日期信息
  281. itemHtml += "<div class='wc-div-row'>"
  282. itemHtml += "<span class='app-icon app-icon-date wc-span-icon'></span>";
  283. itemHtml += "<span class='wc-span'>[上报日期]" + data.sbdate + "</span>";
  284. itemHtml += "</div>"
  285. //追加描述
  286. itemHtml += "<p>" + data.sbms + "</p>";
  287. return itemHtml;
  288. },
  289. /**
  290. * 创建待复飞案件信息
  291. * @param {Object} data 案件
  292. */
  293. _CreateInfoRepeating(data) {
  294. var itemHtml = "";
  295. //追加人员信息
  296. itemHtml += "<div class='wc-div-row'>"
  297. itemHtml += "<div style='float: left;'>";
  298. itemHtml += "<span class='app-icon app-icon-member wc-span-icon'></span>";
  299. itemHtml += "<span class='wc-span'>[处理员]" + data.clry + "</span>";
  300. itemHtml += "</div>"
  301. itemHtml += "<div style='float: right;'>";
  302. itemHtml += "<span class='app-icon app-icon-sslb wc-span-icon'></span>";
  303. itemHtml += "<span class='wc-span'>" + "空中巡查" + "</span>";
  304. itemHtml += "</div>"
  305. itemHtml += "</div>"
  306. //追加日期信息
  307. itemHtml += "<div class='wc-div-row'>"
  308. itemHtml += "<span class='app-icon app-icon-date wc-span-icon'></span>";
  309. itemHtml += "<span class='wc-span'>[处理日期]" + data.cldate + "</span>";
  310. itemHtml += "</div>"
  311. //追加描述
  312. itemHtml += "<p>" + data.clms + "</p>";
  313. return itemHtml;
  314. },
  315. /**
  316. * 等待审核的案件
  317. * @param {Object} data 案件
  318. */
  319. _CreateInfoVerifying(data) {
  320. var itemHtml = "";
  321. //追加人员信息
  322. itemHtml += "<div class='wc-div-row'>"
  323. itemHtml += "<div style='float: left;'>";
  324. itemHtml += "<span class='app-icon app-icon-member wc-span-icon'></span>";
  325. itemHtml += "<span class='wc-span'>[处理员]" + data.clry + "</span>";
  326. itemHtml += "</div>"
  327. itemHtml += "<div style='float: right;'>";
  328. itemHtml += "<span class='app-icon app-icon-sslb wc-span-icon'></span>";
  329. itemHtml += "<span class='wc-span'>" + "空中巡查" + "</span>";
  330. itemHtml += "</div>"
  331. itemHtml += "</div>"
  332. //追加日期信息
  333. itemHtml += "<div class='wc-div-row'>"
  334. itemHtml += "<span class='app-icon app-icon-date wc-span-icon'></span>";
  335. itemHtml += "<span class='wc-span'>[处理日期]" + data.cldate + "</span>";
  336. itemHtml += "</div>"
  337. //追加描述
  338. itemHtml += "<p>" + data.clms + "</p>";
  339. return itemHtml;
  340. },
  341. /**
  342. * 已结案案件
  343. * @param {Object} data 案件
  344. */
  345. _CreateInfoClose(data) {
  346. var itemHtml = "";
  347. //追加人员信息
  348. itemHtml += "<div class='wc-div-row'>"
  349. itemHtml += "<div style='float: left;'>";
  350. itemHtml += "<span class='app-icon app-icon-member wc-span-icon'></span>";
  351. itemHtml += "<span class='wc-span'>[审核员]" + data.shry + "</span>";
  352. itemHtml += "</div>"
  353. itemHtml += "<div style='float: right;'>";
  354. itemHtml += "<span class='app-icon app-icon-sslb wc-span-icon'></span>";
  355. itemHtml += "<span class='wc-span'>" + "空中巡查" + "</span>";
  356. itemHtml += "</div>"
  357. itemHtml += "</div>"
  358. //追加日期信息
  359. itemHtml += "<div class='wc-div-row'>"
  360. itemHtml += "<span class='app-icon app-icon-date wc-span-icon'></span>";
  361. itemHtml += "<span class='wc-span'>[结案日期]" + data.shdate + "</span>";
  362. itemHtml += "</div>"
  363. itemHtml += "<div class='wc-div-row'>"
  364. itemHtml += "<span class='app-icon app-icon-date wc-span-icon'></span>";
  365. itemHtml += "<span class='wc-span f-color-case-wait-assign'>[发现日期]" + data.sbdate + "</span>";
  366. itemHtml += "</div>"
  367. itemHtml += "<div class='wc-div-row'>"
  368. itemHtml += "<span class='app-icon app-icon-date wc-span-icon'></span>";
  369. itemHtml += "<span class='wc-span f-color-case-wait-check'>[处理日期]" + data.cldate + "</span>";
  370. itemHtml += "</div>"
  371. //追加描述
  372. itemHtml += "<p>" + data.shms + "</p>";
  373. return itemHtml;
  374. },
  375. /**
  376. * 创建撤销派发案件
  377. * @param {Object} data 案件
  378. */
  379. _CreateInfoUndoAssign(data) {
  380. var itemHtml = "";
  381. //追加人员信息
  382. itemHtml += "<div class='wc-div-row'>"
  383. itemHtml += "<div style='float: left;'>";
  384. itemHtml += "<span class='app-icon app-icon-member wc-span-icon'></span>";
  385. itemHtml += "<span class='wc-span'>[派发处理员]" + data.zpry + "</span>";
  386. itemHtml += "</div>"
  387. itemHtml += "<div style='float: right;'>";
  388. itemHtml += "<span class='app-icon app-icon-sslb wc-span-icon'></span>";
  389. itemHtml += "<span class='wc-span'>" + "空中巡查" + "</span>";
  390. itemHtml += "</div>"
  391. itemHtml += "</div>"
  392. //追加日期信息
  393. itemHtml += "<div class='wc-div-row'>"
  394. itemHtml += "<span class='app-icon app-icon-date wc-span-icon'></span>";
  395. itemHtml += "<span class='wc-span'>[派发日期]" + data.zpsj + "</span>";
  396. itemHtml += "</div>"
  397. //追加描述
  398. itemHtml += "<p>" + "请尽快协调处理" + "</p>";
  399. return itemHtml;
  400. },
  401. /**
  402. * 调用高德导航软件 进行导航
  403. * @param {Object} longitude 经度
  404. * @param {Object} latitude 纬度
  405. */
  406. _CallNavigation: function(longitude, latitude) {
  407. mui.plusReady(function() {
  408. if (plus.runtime.isApplicationExist({
  409. pname: 'com.autonavi.minimap'
  410. })) {
  411. //用户已安装高德地图
  412. plus.runtime.openURL('androidamap://navi?sourceApplication=com.knssshy.sj&lat=' +
  413. latitude + '&lon=' +
  414. longitude +
  415. '&dev=0',
  416. function(e) {
  417. plus.nativeUI.confirm("检查到您未安装\"高德地图\".");
  418. });
  419. } else {
  420. muiAlert('您尚未安装高德导航软件,请安装后重试!', "警告")
  421. }
  422. });
  423. },
  424. /**
  425. * 创建导航按钮
  426. * @param {Object} data 当前按钮对应的案件记录 JSONObject
  427. */
  428. _CreateCaseNavigationButton: function(data) {
  429. var strHtml = "";
  430. strHtml +=
  431. "<button type='button' class='mui-btn mui-btn-primary mui-icon app-icon app-icon-navigation wc-btn-child wc-btn-nav' ";
  432. strHtml += "onClick=\"CallNavigation('" + data.lng + "','" + data.lat + "')\">";
  433. strHtml += "导航";
  434. strHtml += "</button>";
  435. return strHtml;
  436. },
  437. /**
  438. * 创建案件详情按钮
  439. * @param {Object} data 当前按钮对应的案件记录 JSONObject
  440. */
  441. _CreateCaseInfoButton: function(data) {
  442. var strHtml = "";
  443. strHtml +=
  444. "<button type='button' class='mui-btn mui-btn-warning mui-icon app-icon app-icon-info wc-btn-child wc-btn-info' ";
  445. strHtml += "onClick=\"CallCaseInfo(" + JSON.stringify(data).replace(/\"/g, "'") + ")\">";
  446. strHtml += "详情";
  447. strHtml += "</button>";
  448. return strHtml;
  449. },
  450. /**
  451. * 创建定位按钮--案件列表中的定位功能
  452. * @param {Object} data 当前按钮对应的案件记录 JSONObject
  453. */
  454. _CreateCaseMapLocationButton: function(data) {
  455. let _self = this;
  456. var strHtml = "";
  457. strHtml +=
  458. "<button type='button' class='mui-btn mui-btn-success mui-icon app-icon app-icon-location wc-btn-child wc-btn-location' ";
  459. /* 此处改造一下 通过ObjectId和表名 传入地图进行定位展示 */
  460. strHtml += "onClick=\"CallMapLocation('" + data.tabName + "','" + data.feaId + "')\">";
  461. strHtml += "定位";
  462. strHtml += "</button>";
  463. return strHtml;
  464. },
  465. /**
  466. * 创建地图定位按钮--地图中展示案件的定位功能
  467. * @param {Object} data 当前按钮对应的案件记录 JSONObject
  468. */
  469. _CreateCaseMapLocationButtonToMap: function(data) {
  470. var strHtml = "";
  471. strHtml +=
  472. "<button type='button' class='mui-btn mui-btn-success mui-icon app-icon app-icon-location wc-btn-child wc-btn-location' ";
  473. strHtml += "onClick=\"location_tabName_feaId_normal('" + data.tabName + "','" + data.feaId +
  474. "')\">";
  475. strHtml += "定位";
  476. strHtml += "</button>";
  477. return strHtml;
  478. },
  479. /**
  480. * 创建案件处理按钮
  481. * @param {Object} data 当前按钮对应的案件记录 JSONObject
  482. */
  483. _CreateCaseCheckButton: function(data) {
  484. var strHtml = "";
  485. strHtml +=
  486. "<button type='button' class='mui-btn mui-btn-danger mui-icon app-icon app-icon-check wc-btn-child' ";
  487. strHtml += "onClick=\"CallCaseCheck(" + JSON.stringify(data).replace(/\"/g, "'") + ")\">";
  488. strHtml += "处理";
  489. strHtml += "</button>";
  490. return strHtml;
  491. },
  492. /**
  493. * 创建案件派发按钮
  494. * @param {Object} data 当前按钮对应的案件记录 JSONObject
  495. */
  496. _CreateCaseAssigButton: function(data) {
  497. var strHtml = "";
  498. strHtml +=
  499. "<button type='button' class='mui-btn mui-btn-danger mui-icon app-icon app-icon-assign wc-btn-child' ";
  500. strHtml += "onClick=\"CallAssign('" + data.casenum + "')\">";
  501. strHtml += "派发";
  502. strHtml += "</button>";
  503. return strHtml;
  504. },
  505. /**
  506. * 创建案件撤派按钮
  507. * @param {Object} data 当前按钮对应的案件记录 JSONObject
  508. */
  509. _CreateCaseUndoAssigButton: function(data) {
  510. var strHtml = "";
  511. strHtml +=
  512. "<button type='button' class='mui-btn mui-btn-danger mui-icon app-icon app-icon-undoassign wc-btn-child' ";
  513. strHtml += "onClick=\"CallUndoAssign('" + data.casenum + "')\">";
  514. strHtml += "撤派";
  515. strHtml += "</button>";
  516. return strHtml;
  517. },
  518. /**
  519. * 创建案件审核按钮
  520. * @param {Object} data 当前按钮对应的案件记录 JSONObject
  521. */
  522. _CreateCaseVerifyButton: function(data) {
  523. var strHtml = "";
  524. strHtml +=
  525. "<button type='button' class='mui-btn mui-btn-danger mui-icon app-icon app-icon-verify wc-btn-child' ";
  526. strHtml += "onClick=\"CallCaseVerify(" + JSON.stringify(data).replace(/\"/g, "'") + ")\">";
  527. strHtml += "审核";
  528. strHtml += "</button>";
  529. return strHtml;
  530. },
  531. /**
  532. * 创建案件督办按钮
  533. * @param {Object} data 当前按钮对应的案件记录 JSONObject
  534. */
  535. _CreateCaseSuperviseButton: function(data) {
  536. var strHtml = "";
  537. strHtml +=
  538. "<button type='button' class='mui-btn mui-btn-danger mui-icon app-icon app-icon-supervise wc-btn-child' ";
  539. strHtml += "onClick=\"CallSupervise('" + data.casenum + "')\">";
  540. strHtml += "督办";
  541. strHtml += "</button>";
  542. return strHtml;
  543. },
  544. /**
  545. * 追加数据
  546. * @param {Object} record 数据记录
  547. */
  548. _addDataToList: function(record) {
  549. this.dataList.push(record);
  550. this._InsertLiToTable(record, this.table, ++this.dataCount);
  551. },
  552. /**
  553. * 网络加载数据
  554. */
  555. _netLoadData: function() {
  556. var self = this;
  557. sendAjax({
  558. data: self.queryModel,
  559. type: 'post',
  560. url: self.ashxName,
  561. waitMessage: '正在查询数据...',
  562. success: function(data) {
  563. //查询成功回调函数
  564. for (var i = 0; i < data.length; i++) {
  565. self._addDataToList(data[i]); //追加数据表
  566. }
  567. //判断加载更多按钮是否显示
  568. if (data.length < self.queryModel.queryCount) {
  569. self._showLoadedMoreDataButton(false);
  570. } else {
  571. self._showLoadedMoreDataButton(true);
  572. }
  573. /* 如果绑定了回调事件 则调用返回 */
  574. if (self.eventQueryResult != undefined) {
  575. self.eventQueryResult(self.dataList);
  576. }
  577. },
  578. error: function(err) {
  579. self._showLoadedMoreDataButton(false);
  580. //查询数据错误回调函数
  581. muiAlert(err, "错误");
  582. },
  583. nodata: function(msg) {
  584. self._showLoadedMoreDataButton(false);
  585. muiAlert(msg, "警告");
  586. /* 如果绑定了回调事件 则调用返回 */
  587. if (self.eventQueryResult != undefined) {
  588. self.eventQueryResult([]);
  589. }
  590. }
  591. })
  592. },
  593. /**
  594. * 加载更多数据
  595. */
  596. _loadManyData: function() {
  597. this.queryModel.startNum = parseInt(this.queryModel.startNum) + parseInt(this.queryModel
  598. .queryCount);
  599. this._netLoadData(); //网络请求加载数据
  600. },
  601. /**
  602. * 显示/隐藏 加载更多数据按钮
  603. * @param {Object} isShow 显示或者隐藏
  604. */
  605. _showLoadedMoreDataButton: function(isShow) {
  606. if (isShow) {
  607. this.btnLoadManyData.className = "mui-btn mui-btn-block mui-btn-danger wc-btn";
  608. } else {
  609. this.btnLoadManyData.className = "mui-btn mui-btn-block mui-btn-danger wc-btn mui-hidden";
  610. }
  611. },
  612. /**
  613. * 创建一个地图页面案件查询结果单条数据的DIV
  614. * @param {JSON} data 案件数据
  615. */
  616. _createCase: function(data) {
  617. var rootDiv = document.createElement('div');
  618. rootDiv.className = 'wc-li wc-li-map';
  619. var itemHtml = "";
  620. itemHtml += "<div class='mui-row'>";
  621. itemHtml += "<div class='wc-row-title-content'>";
  622. itemHtml += "<div class='wc-ico'><img src='../img/menu/" + this._iconClassName(data.state) +
  623. "'/></div>";
  624. itemHtml += "<div class='wc-title' style='color:rgb(0,0,0) !important;'><span>" + data.casenum +
  625. "</span><sup>[" + this._caseStateName(
  626. data.state) + "]" +
  627. "</sup></div>";
  628. itemHtml += "<div class='wc-xzq'>";
  629. itemHtml += "<div class='wc-xzq-ssxz'>" + data.caseVillagesAndTowns + "</div>";
  630. itemHtml += "<div class='wc-xzq-ssxz'>" + data.caseVillage + "</div>";
  631. itemHtml += "</div>"; //行政区div结束
  632. itemHtml += "</div>"; //案件标题行内容结束
  633. itemHtml += "</div>"; //一行结束
  634. itemHtml += "<div class='mui-row wc-li-map-row'>";
  635. itemHtml += "<div class='wc-map-column-content'>";
  636. itemHtml += "<div class='wc-main-content'>";
  637. /* 此处需要根据案件状态的不同生成不同的案件页面 */
  638. if (data.state == caseState.stateWaitAssign) {
  639. itemHtml += this._CreateInfoNormal(data);
  640. } else if (data.state == caseState.stateWaitCheck || data.state == caseState.stateWaitResetCheck) {
  641. itemHtml += this._CreateInfoChecking(data);
  642. } else if (data.state == caseState.stateWaitVerify) {
  643. itemHtml += this._CreateInfoVerifying(data);
  644. } else if (data.state == caseState.stateClose) {
  645. itemHtml += this._CreateInfoClose(data);
  646. } else if (data.state == caseState.stateWaitRepeat || data.state == caseState
  647. .stateWaitResetRepeat) {
  648. itemHtml += this._CreateInfoRepeating(data);
  649. }
  650. itemHtml += "</div>"; //内容结束
  651. itemHtml += "</div>"; //列结束
  652. itemHtml += "<div class='wc-map-column-button'>";
  653. itemHtml += this._CreateCaseNavigationButton(data);
  654. itemHtml += this._CreateCaseInfoButton(data);
  655. itemHtml += this._CreateCaseMapLocationButtonToMap(data);
  656. /* 增加事务性按钮 */
  657. //如果当前登录用户为处理员 且案件状态为待处理或待重处理 则显示处理按钮
  658. if (this.userInfo.userType == userType.memberCL && (data.state == caseState.stateWaitCheck || data
  659. .state == caseState.stateWaitResetCheck)) {
  660. itemHtml += this._CreateCaseCheckButton(data);
  661. }
  662. //如果当前登录的为审核用户 且案件状态为待审核 则显示审核按钮
  663. if (this.userInfo.userType == userType.memberSH && data.state == caseState.stateWaitVerify) {
  664. itemHtml += this._CreateCaseVerifyButton(data);
  665. }
  666. //如果当前登录的为审核用户 且案件状态为待派发 则显示派发按钮
  667. if (this.userInfo.userType == userType.memberSH && data.state == caseState.stateWaitAssign) {
  668. itemHtml += this._CreateCaseAssigButton(data);
  669. }
  670. //如果当前登录的为审核用户 且案件状态为待处理 则显示撤派按钮
  671. if (this.userInfo.userType == userType.memberSH && data.state == caseState.stateWaitCheck) {
  672. itemHtml += this._CreateCaseUndoAssigButton(data);
  673. }
  674. itemHtml += "</div>"; //列结束
  675. itemHtml += "</div>"; //一行结束
  676. rootDiv.innerHTML = itemHtml;
  677. return rootDiv;
  678. },
  679. })
  680. /**
  681. * 挂接方法
  682. */
  683. JTCaseBase.prototype.extend({
  684. /**
  685. * 设置查询模型
  686. * @param {Object} queryModel 查询模型
  687. */
  688. setQueryModel: function(queryModel) {
  689. this.queryModel = queryModel;
  690. },
  691. /**
  692. * 设置附加的查询条件
  693. * @param {Object} strWhere 附加查询条件
  694. */
  695. setAdditionalConditions: function(strWhere) {
  696. this.queryModel.additionalConditions = strWhere;
  697. },
  698. /** 绑定数据表
  699. * @param {Object} table UL 数据表 用于显示数据
  700. */
  701. bindUlTable: function(table) {
  702. var self = this;
  703. this.table = table;
  704. //绑定表格的同时创建一个按钮 用于刷新数据
  705. self.btnLoadManyData = document.createElement('button');
  706. self.btnLoadManyData.className =
  707. "mui-btn mui-btn-block mui-btn-danger wc-btn mui-hidden mui-icon mui-icon-search";
  708. self.btnLoadManyData.setAttribute("data-loading-text", "加载中......");
  709. self.btnLoadManyData.setAttribute("data-loading-icon-position", "right");
  710. self.btnLoadManyData.innerHTML = "加载更多数据";
  711. if (table != undefined) {
  712. table.parentNode.appendChild(self.btnLoadManyData);
  713. }
  714. self.btnLoadManyData.addEventListener('click', function(evn) {
  715. mui(self.btnLoadManyData).button('loading');
  716. setTimeout(function() {
  717. mui(self.btnLoadManyData).button('reset'); //切换为reset状态(即重置为原始的button)
  718. self._loadManyData(); //调用加载更多数据
  719. }.bind(self.btnLoadManyData), 1000);
  720. });
  721. },
  722. /**
  723. * 绑定搜索框
  724. * @param {Object} controlID 搜索框ID
  725. */
  726. bindSearchControl: function(controlID) {
  727. var self = this;
  728. /**
  729. * 搜索框追加事件
  730. */
  731. document.getElementById(controlID).addEventListener('keypress', function(e) {
  732. //判断点击的是否是 搜索 按钮
  733. if (e.keyCode == 13) {
  734. var value = this.value;
  735. self.setAdditionalConditions("ajh like '%" + value + "%'");
  736. document.activeElement.blur();
  737. self.queryData();
  738. }
  739. });
  740. },
  741. /** 绑定搜索框 通过绑定监听 获取查询内容
  742. * @param {Object} controlID 搜索框ID
  743. * @param {Object} callback 返回监听
  744. */
  745. bindSearchControlEvent: function(controlID, callback) {
  746. var self = this;
  747. /**
  748. * 搜索框追加事件
  749. */
  750. document.getElementById(controlID).addEventListener('keypress', function(e) {
  751. //判断点击的是否是 搜索 按钮
  752. if (e.keyCode == 13) {
  753. var value = this.value;
  754. document.activeElement.blur();
  755. callback(value);
  756. }
  757. });
  758. },
  759. /**
  760. * 设置顶部导航栏标题及刷新按钮的回调事件
  761. * @param {Object} title 标题
  762. * @param {Object} callRefresh 刷新回调事件
  763. */
  764. setNView: function(title, callRefresh) {
  765. var curViewView = plus.webview.currentWebview();
  766. var mainPage = curViewView.opener();
  767. //mainPage.getTitleNView().hide();
  768. var selfNViewStyle = {
  769. "titleNView": {
  770. backgroundColor: colorBackground,
  771. titleText: title,
  772. titleColor: colorTitle,
  773. splitLine: {
  774. color: colorLine
  775. },
  776. autoBackButton: true,
  777. buttons: [{
  778. 'float': 'right',
  779. fontSrc: '../fonts/iconfont.ttf',
  780. text: '\ue797',
  781. onclick: callRefresh,
  782. }]
  783. }
  784. };
  785. curViewView.setStyle(selfNViewStyle);
  786. },
  787. /**
  788. * 刷新数据 即重置数据
  789. */
  790. refreshData: function() {
  791. this.dataCount = 0; //初始化数据数量
  792. this.queryModel.additionalConditions = ""; //清除附加条件
  793. this.table.innerHTML = ""; //初始化显示表格
  794. this.dataList = []; //初始化数据列表
  795. this.queryModel.startNum = '0'; //初始化查询编号
  796. this._netLoadData(); //网络请求加载数据
  797. },
  798. /**
  799. * 查询数据
  800. */
  801. queryData: function() {
  802. this.dataCount = 0; //初始化数据数量
  803. this.table.innerHTML = ""; //初始化显示表格
  804. this.dataList = []; //初始化数据列表
  805. this.queryModel.startNum = '0'; //初始化查询编号
  806. this._netLoadData(); //网络请求加载数据
  807. },
  808. /**
  809. * 输入查询 如果查询案件Id数组只输入一个 则采用模糊查询 否则采用in查询
  810. * @param {Array[string,string,...]} caseIds 案件Ids
  811. */
  812. queryDataByCaseId: function(caseIds) {
  813. /* 组合查询条件 */
  814. var queryWhere = "";
  815. if (caseIds.length == 1) {
  816. queryWhere = "ajh like '%" + caseIds[0] + "%'"
  817. } else {
  818. for (var i = 0; i < caseIds.length; i++) {
  819. if (queryWhere === '') queryWhere += caseIds[i];
  820. else queryWhere += "','" + caseIds[i];
  821. }
  822. queryWhere = "ajh in ('" + queryWhere + "')"
  823. }
  824. this.dataCount = 0; //初始化数据数量
  825. this.dataList = []; //初始化数据列表
  826. this.queryModel.startNum = '0'; //初始化查询编号
  827. this.queryModel.queryType = 'Input'; //设置查询方式
  828. this.queryModel.additionalConditions = queryWhere; //赋值查询条件
  829. this.ashxName = 'appQueryCases'; //设置查询URL地址
  830. this._netLoadData(); //网络请求加载数据
  831. },
  832. /**
  833. * 根据输入的范围进行查询
  834. * @param {string} extent 查询范围 经纬度字符串 经度1,纬度1.......
  835. */
  836. queryDataByExtent: function(extent) {
  837. /* 组合查询条件 */
  838. var queryWhere = "";
  839. this.dataCount = 0; //初始化数据数量
  840. this.dataList = []; //初始化数据列表
  841. this.queryModel.startNum = '0'; //初始化查询编号
  842. this.queryModel.queryType = 'Normal'; //设置查询方式
  843. this.queryModel.additionalConditions = ""; //赋值查询条件
  844. this.queryModel.queryExtent = extent; //查询范围
  845. this.ashxName = 'appQueryCasesByExtent'; //设置查询URL地址
  846. this._netLoadData(); //网络请求加载数据
  847. },
  848. /**
  849. * 根据案件创建div
  850. * @param {Object} data 案件
  851. */
  852. createCase: function(data) {
  853. return this._createCase(data);
  854. },
  855. /**
  856. * 删除列表中的案件项
  857. * @param {string} caseNum 案件号所代表的案件Item
  858. */
  859. removeCaseItem: function(caseNum) {
  860. if (this.pageFlag != casePageFlag.Map && this.table != undefined) {
  861. var childItem = document.getElementById(caseNum);
  862. if (childItem != undefined) {
  863. this.table.removeChild(childItem);
  864. }
  865. } else {
  866. /* 回调出去 */
  867. if (this.eventCaseChange != undefined) {
  868. this.eventCaseChange(caseNum);
  869. }
  870. }
  871. },
  872. /**
  873. * 根据案件状态获取状态中文描述
  874. * @param {string} state 案件状态
  875. */
  876. caseStateName: function(state) {
  877. return this._caseStateName(state);
  878. },
  879. /**
  880. * @param {string} casenum 案件号
  881. * @param {function} callback 查询成功回调
  882. */
  883. queryCaseByCasenum: function(casenum, callback) {
  884. var self = this;
  885. /* 初始化查询条件 */
  886. var queryWhere = "ajh = '" + casenum + "'";
  887. self.queryModel.startNum = '0'; //初始化查询编号
  888. self.queryModel.additionalConditions = queryWhere; //赋值查询条件
  889. self.queryModel.queryType = 'Normal';
  890. /* 联网查询 */
  891. sendAjax({
  892. data: self.queryModel,
  893. type: 'post',
  894. url: self.ashxName,
  895. waitMessage: '正在查询案件...',
  896. success: function(data) {
  897. //查询成功回调函数 只返回一个案件
  898. if (callback != undefined) callback(data[0]);
  899. },
  900. error: function(err) {
  901. //查询数据错误回调函数
  902. muiAlert(err, "错误");
  903. },
  904. nodata: function(msg) {
  905. muiAlert(msg, "警告");
  906. }
  907. })
  908. }
  909. });
  910. //定义数据基础类
  911. var caseBase = undefined; //定义一个全局变量 主要是为了管理案件
  912. /**
  913. * 调用高德导航软件 进行导航
  914. * @param {Object} longitude 经度
  915. * @param {Object} latitude 纬度
  916. */
  917. function CallNavigation(longitude, latitude) {
  918. mui.plusReady(function() {
  919. if (plus.runtime.isApplicationExist({
  920. pname: 'com.autonavi.minimap'
  921. })) {
  922. //用户已安装高德地图
  923. plus.runtime.openURL('androidamap://navi?sourceApplication=com.knssshy.sj&lat=' + latitude +
  924. '&lon=' +
  925. longitude +
  926. '&dev=0',
  927. function(e) {
  928. plus.nativeUI.confirm("检查到您未安装\"高德地图\".");
  929. });
  930. } else {
  931. muiAlert('您尚未安装高德导航软件,请安装后重试!', "警告")
  932. }
  933. });
  934. }
  935. /**
  936. * 地图上案件的定位功能 地图页面
  937. * @param {JSON} jsonCase 案件的JSON格式
  938. */
  939. function CallMapLocationToMap(jsonCase) {
  940. var objWebview = plus.webview.currentWebview();
  941. var longitude = jsonCase.lng;
  942. var latitude = jsonCase.lat;
  943. var title = jsonCase.casenum;
  944. var state = caseBase.caseStateName(jsonCase.state);
  945. var tbmj = jsonCase.tbmj;
  946. /* 执行定位函数 */
  947. objWebview.evalJS("mapLocation('" + longitude + "','" + latitude + "','" + title + "','" + state + "','" + tbmj +
  948. "');");
  949. }
  950. /**
  951. * 调用地图定位功能 案件列表
  952. * @param {string} tabName 案件表名称
  953. * @param {string} feaId 要素唯一标识
  954. */
  955. function CallMapLocation(tabName, feaId) {
  956. toMapLocation_tabName_feaId(tabName, feaId, '案件定位');
  957. }
  958. /**
  959. * 调用显示案件详细信息
  960. * @param {Object} jsonCase case JSON格式
  961. */
  962. function CallCaseInfo(jsonCase) {
  963. createAndOpenPage({
  964. htmlPath: 'case-info.html',
  965. autoback: true,
  966. title: '案件详情',
  967. extras: jsonCase,
  968. });
  969. }
  970. /**
  971. * 调用案件处理页面
  972. * @param {Object} jsonCase case JSON格式
  973. */
  974. function CallCaseCheck(jsonCase) {
  975. createAndOpenPage({
  976. htmlPath: 'case-check.html',
  977. autoback: true,
  978. title: '案件处理',
  979. extras: jsonCase,
  980. });
  981. }
  982. /**
  983. * 调用案件审核页面
  984. * @param {Object} jsonCase case JSON格式
  985. */
  986. function CallCaseVerify(jsonCase) {
  987. //由于版本变化 更改该案件的传递方法
  988. //第一次加载时 为打开新窗口 通过extras 传递方法
  989. //第二次加载时 由于已经加载 改变值的传递方法
  990. var windowID = "case-verify.html"; //新窗口ID
  991. var subPage = plus.webview.getWebviewById(windowID);
  992. if (subPage == null) {
  993. mui.openWindow({
  994. url: windowID,
  995. id: windowID,
  996. extras: jsonCase,
  997. });
  998. } else {
  999. //设置自定义事件 并传递参数
  1000. mui.fire(subPage, "new", jsonCase);
  1001. //打开窗口
  1002. mui.openWindow({
  1003. id: windowID,
  1004. });
  1005. }
  1006. }
  1007. /**
  1008. * 调用案件督办页面
  1009. * @param {string} caseId 案件编号
  1010. */
  1011. function CallSupervise(caseId) {
  1012. createAndOpenPage({
  1013. htmlPath: 'case-supervise.html',
  1014. autoback: true,
  1015. title: '案件督办',
  1016. extras: {
  1017. caseId: caseId,
  1018. },
  1019. });
  1020. }
  1021. /**
  1022. * 案件撤销处理
  1023. * @param {Object} caseNum 案件编号
  1024. */
  1025. function CallUndoAssign(caseNum) {
  1026. var self = this;
  1027. var msg = "你确定要撤销案件编号为【" + caseNum + "】案件派发吗?";
  1028. muiConfirm(msg, '撤派', function() {
  1029. /* 创建派发模型 */
  1030. var assignData = {
  1031. casenum: caseNum,
  1032. userId: '',
  1033. type: 'undo',
  1034. }
  1035. /* 远程派发 */
  1036. sendAjax({
  1037. url: 'appCaseAssign',
  1038. type: 'post',
  1039. data: assignData,
  1040. waitMessage: '正在撤派...',
  1041. success: function(resData) {
  1042. muiAlert(resData[0].msg, "提示", function() {
  1043. if (caseBase != undefined) {
  1044. //如果派发成功 则删除该项内容
  1045. caseBase.removeCaseItem(caseNum);
  1046. }
  1047. });
  1048. },
  1049. error: function(err) {
  1050. muiAlertError(err);
  1051. }
  1052. });
  1053. })
  1054. }
  1055. /**
  1056. * 调用案件派发
  1057. * @param {Object} casenum 案件ID
  1058. */
  1059. function CallAssign(casenum) {
  1060. //传递的Case数据
  1061. var tempCaseModel = {
  1062. casenum: casenum,
  1063. }
  1064. /* 联网查询关联的执法账号 */
  1065. sendAjax({
  1066. url: 'appQueryCaseJoinUsers',
  1067. waitMessage: '正在联网查询...',
  1068. type: 'post',
  1069. data: tempCaseModel,
  1070. success: function(data) {
  1071. /* 如果有popover 则让其关闭 否则导致重叠遮挡 */
  1072. mui('.mui-popover').popover('hide');
  1073. var tempUsers = [];
  1074. for (var i = 0; i < data.length; i++) {
  1075. tempUsers.push({
  1076. value: data[i].selCode,
  1077. text: data[i].selName,
  1078. });
  1079. }
  1080. var assignPicker = new mui.PopPicker({
  1081. buttons: ['关闭', '派发'],
  1082. });
  1083. assignPicker.setData(tempUsers);
  1084. assignPicker.show(function(items) {
  1085. var uId = items[0].value;
  1086. var uName = items[0].text;
  1087. var msg = "确认将编号为【" + casenum + "】的案件派发给【" + uName + "】处理吗?";
  1088. muiConfirm(msg, '派发', function() {
  1089. CaseAssign(casenum, uId);
  1090. });
  1091. });
  1092. },
  1093. error: function(err) {
  1094. muiAlertError(err);
  1095. }
  1096. });
  1097. }
  1098. /**
  1099. * @param {Object} caseNum 案件编号
  1100. * @param {Object} assignUserId 派发的用户ID
  1101. */
  1102. function CaseAssign(caseNum, assignUserId) {
  1103. /* 创建派发模型 */
  1104. var assignData = {
  1105. casenum: caseNum,
  1106. userId: assignUserId,
  1107. type: 'assign',
  1108. }
  1109. /* 远程派发 */
  1110. sendAjax({
  1111. url: 'appCaseAssign',
  1112. type: 'post',
  1113. data: assignData,
  1114. waitMessage: '正在派发...',
  1115. success: function(resData) {
  1116. muiAlert(resData[0].msg, "提示", function() {
  1117. if (caseBase != undefined) {
  1118. //如果派发成功 则删除该项内容
  1119. caseBase.removeCaseItem(caseNum);
  1120. }
  1121. });
  1122. },
  1123. error: function(err) {
  1124. muiAlertError(err);
  1125. }
  1126. })
  1127. }
  1128. /**
  1129. * 刷新数据表 主要是处理、派发、撤派、审核、复飞成功后 删除对应的数据项
  1130. * @param {string} casenum 案件编号 案件domId
  1131. */
  1132. function refreshDataTable(casenum) {
  1133. document.getElementById(casenum).remove();
  1134. }