case-list-base.js 38 KB

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