case-verify.html 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355
  1. <!doctype html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>案件审核</title>
  6. <meta name="viewport"
  7. content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
  8. <link href="../css/mui.min.css" rel="stylesheet" />
  9. <!-- 引入APP样式 -->
  10. <link href="../css/app.css" rel="stylesheet" />
  11. <link rel="stylesheet" href="../css/app.new.css">
  12. <!-- 引入案件详情样式 -->
  13. <link rel="stylesheet" type="text/css" href="../css/case.info.css" />
  14. <!-- 引入字体 -->
  15. <link rel="stylesheet" href="../fonts/TTTGB-Medium.css">
  16. <link rel="stylesheet" href="../fonts/font-time.css">
  17. <link rel="stylesheet" href="../fonts/font-jt.css">
  18. <style type="text/css">
  19. h5 {
  20. margin-top: 10px;
  21. margin-bottom: 10px;
  22. font-size: 15px;
  23. color: black;
  24. font-weight: bold;
  25. }
  26. /* 单选框 文字样式 */
  27. .mui-radio label {
  28. font-size: 14px;
  29. font-weight: bold;
  30. }
  31. /* 单选框 图标样式 */
  32. .mui-radio input[type=radio]:checked::before {
  33. content: '\e442';
  34. }
  35. /* 行输入 多行文本样式 */
  36. .mui-input-row textarea {
  37. font-size: 15px;
  38. }
  39. /* 审核结案样式 */
  40. .lbl-yes {
  41. color: #009688;
  42. }
  43. /* 框内图标样式 */
  44. .lbl-yes span {
  45. font-size: 20px;
  46. }
  47. /* 审核回退样式 */
  48. .lbl-no {
  49. color: #FF0000;
  50. }
  51. /* 框内图标样式 */
  52. .lbl-no span {
  53. font-size: 20px;
  54. }
  55. </style>
  56. </head>
  57. <body>
  58. <div class="mui-content">
  59. <div style="padding: 10px;">
  60. <div class="mui-segmented-control">
  61. <a class="mui-control-item" href="#item1" id="seg1">
  62. 基础信息
  63. </a>
  64. <a class="mui-control-item mui-active" href="#item2" id="seg2">
  65. 审核信息填报
  66. </a>
  67. </div>
  68. </div>
  69. <div class="mui-content-padded">
  70. <div class="mui-scroll-wrapper" style="top: 40px;">
  71. <div class="mui-scroll" style="padding: 10px;">
  72. <div id="item1" class="mui-control-content">
  73. <ul id="listTable" class="layui-timeline">
  74. </ul>
  75. </div>
  76. <div id="item2" class="mui-control-content mui-active">
  77. <h5 class="wc-title-normal wc-title-important">*审结类型</h5>
  78. <form class="mui-input-group">
  79. <div class="mui-input-row mui-radio mui-right">
  80. <label class="lbl-yes"><span class="app-icon app-icon-chk-close"></span>同意结案</label>
  81. <input name="shlx" type="radio" value="1001" checked="">
  82. </div>
  83. <div class="mui-input-row mui-radio mui-right">
  84. <label class="lbl-no"><span
  85. class="app-icon app-icon-chk-recheck"></span>请重新处理</label>
  86. <input name="shlx" type="radio" value="1002">
  87. </div>
  88. <div class="mui-input-row mui-radio mui-right">
  89. <label class="lbl-no"><span
  90. class="app-icon app-icon-chk-rerepeat"></span>请重新复飞</label>
  91. <input name="shlx" type="radio" value="1003">
  92. </div>
  93. </form>
  94. <h5 class="wc-title-normal wc-title-important">*审核意见</h5>
  95. <div class="mui-input-row case-input-row">
  96. <textarea rows="5" id="txtSHMS" placeholder="填写审核意见"></textarea>
  97. </div>
  98. </div>
  99. </div>
  100. </div>
  101. </div>
  102. </div>
  103. </body>
  104. </html>
  105. <script src="../js/mui.js"></script>
  106. <!-- 引入网络交互脚本 -->
  107. <script src="../js/ajax.js"></script>
  108. <!-- 引入通用脚本 -->
  109. <script src="../js/common.js"></script>
  110. <!-- 引入存储脚本 -->
  111. <script src="../js/save.js" type="text/javascript" charset="utf-8"></script>
  112. <!-- 引入案件脚本 -->
  113. <script src="../js/case.js" type="text/javascript" charset="utf-8"></script>
  114. <!-- 引入案件详情脚本 -->
  115. <script src="../js/case-info.js" type="text/javascript" charset="utf-8"></script>
  116. <script type="text/javascript">
  117. mui.init();
  118. /* DOM定义 */
  119. var domTable = document.getElementById("listTable");
  120. var domSeg1 = document.getElementById("seg1");
  121. var domSeg2 = document.getElementById("seg2");
  122. var domItem1 = document.getElementById("item1");
  123. var domItem2 = document.getElementById("item2");
  124. var domTxtSHMS = document.getElementById("txtSHMS");
  125. /* 变量定义 */
  126. var joinCaseModel = undefined; //本页关联的案件模型 从上一页面传递过来
  127. var joinUser = undefined; //本地存储的账户信息
  128. /* 设置滚动条 否则无法滚动 */
  129. mui(".mui-scroll-wrapper").scroll({
  130. scrollY: true, //是否竖向滚动
  131. scrollX: true, //是否横向滚动
  132. startX: 0, //初始化时滚动至x
  133. startY: 0, //初始化时滚动至y
  134. indicators: false, //是否显示滚动条
  135. deceleration: 0.0006, //阻尼系数,系数越小滑动越灵敏
  136. bounce: false, //是否启用回弹
  137. });
  138. /* 页面加载完成 Plus初始化完成 */
  139. mui.plusReady(function() {
  140. getSaveUserInfo({
  141. success: function(uInfo) {
  142. joinUser = uInfo;
  143. userInfo = uInfo;
  144. var self = plus.webview.currentWebview();
  145. joinCaseModel = self;
  146. resetPage(joinCaseModel);
  147. },
  148. error: function(err) {
  149. muiAlertError(err);
  150. }
  151. })
  152. });
  153. /**
  154. * 自定义事件监听
  155. * @param {Object} event 事件
  156. */
  157. window.addEventListener("new", function(event) {
  158. joinCaseModel = event.detail;
  159. resetPage(joinCaseModel);
  160. });
  161. /**
  162. * 刷新页面 获取详细信息数据
  163. * @param {Object} caseModel 传递的模型数据
  164. */
  165. function resetPage(caseModel) {
  166. //重置顶部标题栏内容
  167. plus.webview.currentWebview().setStyle({
  168. "titleNView": {
  169. backgroundColor: colorBackground,
  170. titleColor: colorTitle,
  171. titleText: "案件审核",
  172. splitLine: {
  173. color: colorLine
  174. },
  175. autoBackButton: true,
  176. buttons: [{
  177. 'float': 'right',
  178. fontSrc: '../fonts/iconfont.ttf',
  179. text: '\ue655',
  180. onclick: EventCaseVerifySubmit,
  181. }, {
  182. 'float': 'right',
  183. fontSrc: '../fonts/iconfont.ttf',
  184. text: '\uec08',
  185. onclick: EventPageReload,
  186. }]
  187. }
  188. });
  189. //删除所有子节点
  190. domTable.innerHTML = "";
  191. /* 联网获取数据 */
  192. sendAjax({
  193. url: 'appQueryCaseLifes',
  194. type: 'post',
  195. data: caseModel,
  196. waitMessage: '正在查询...',
  197. success: function(resData) {
  198. for (let caseLife of resData[0].caseLifes) {
  199. var li = CreateItem(caseLife);
  200. domTable.appendChild(li);
  201. }
  202. //加载最后一项
  203. var li = CtreateNextLi(caseModel.state);
  204. domTable.appendChild(li);
  205. /* 切换选项卡 主要是第二次加载时页面已经存在 */
  206. mui.trigger(domSeg2, 'touchstart');
  207. mui.trigger(domSeg2, 'tap');
  208. /* 重置页面 */
  209. pageReload();
  210. },
  211. error: function(err) {
  212. muiAlertError(err);
  213. }
  214. })
  215. }
  216. var item1ScrollY = 0,
  217. item2ScrollY = 0;
  218. /**
  219. * 选项卡1点击监听
  220. */
  221. domSeg1.addEventListener('tap', function() {
  222. //记录2的位置 滚到1记录的位置
  223. item2ScrollY = mui(".mui-scroll-wrapper").scroll().y;
  224. mui(".mui-scroll-wrapper").scroll().scrollTo(0, item1ScrollY, 100);
  225. });
  226. /**
  227. * 选项卡2点击监听
  228. */
  229. domSeg2.addEventListener('tap', function() {
  230. //记录1的位置 滚动2记录的位置
  231. item1ScrollY = mui(".mui-scroll-wrapper").scroll().y;
  232. mui(".mui-scroll-wrapper").scroll().scrollTo(0, item2ScrollY, 100);
  233. });
  234. /**
  235. * 页面初始化
  236. */
  237. function pageReload() {
  238. domTxtSHMS.value = ""; //填写的审核意见
  239. caseVerifySubmitModel.shms = ""; //上传模型初始化 审核意见
  240. //重置案件审核类型
  241. var chkBox = document.getElementsByName('shlx');
  242. chkBox[0].checked = true;
  243. mui.trigger(chkBox[0], 'change');
  244. };
  245. /**
  246. * 重置案件填写页面
  247. */
  248. function EventPageReload() {
  249. muiConfirm('重置会导致所填写信息全部丢失,确定重置吗?', '重置', function() {
  250. pageReload();
  251. });
  252. }
  253. /**
  254. * 监听Radio组的选择事件
  255. */
  256. mui('.mui-input-group').on('change', 'input', function() {
  257. switch (this.value) {
  258. case '1001':
  259. domTxtSHMS.value = "该案件处理过程合法合规,同意结案";
  260. break;
  261. case '1002':
  262. domTxtSHMS.value = "处理信息不满足要求,请重新处理";
  263. break;
  264. case '1003':
  265. domTxtSHMS.value = "复飞信息不满足要求,请重新复飞";
  266. break;
  267. }
  268. })
  269. /*************上传相关**********************/
  270. var caseVerifySubmitModel = {
  271. casenum: '', //案件号
  272. shry: '', //审核人员 填写UserID
  273. shms: '', //审核描述
  274. verifyType: '', //审核类型 1001-代表结案 1002-代表重新处理 1003-代表重新复飞
  275. }
  276. /**
  277. * 单选框 获取值
  278. * @param {Object} radioName raido的name字段
  279. */
  280. function radioChecked(radioName) {
  281. var obj = document.getElementsByName(radioName);
  282. for (var i = 0; i < obj.length; i++) {
  283. if (obj[i].checked) {
  284. return obj[i].value;
  285. }
  286. }
  287. return "";
  288. }
  289. /**
  290. * 上传数据
  291. */
  292. function EventCaseVerifySubmit() {
  293. if (CheckSubmitInfo()) {
  294. muiConfirm('确定要提交审核信息吗?', '提交', function() {
  295. CaseVerifyInfoUpload();
  296. });
  297. }
  298. }
  299. /**
  300. * 上传审核信息
  301. */
  302. function CaseVerifyInfoUpload() {
  303. sendAjax({
  304. url: 'appCaseVerify',
  305. type: 'post',
  306. data: caseVerifySubmitModel,
  307. waitMessage: '正在提交审核信息...',
  308. success: function(resData) {
  309. muiAlert(resData[0].msg, "提示", function() {
  310. //回调父页面的方法 通过页面的evaJS方法调用对应方法
  311. plus.webview.currentWebview().opener().evalJS("refreshDataTable('" + joinCaseModel
  312. .casenum + "')");
  313. plus.webview.currentWebview().close();
  314. });
  315. },
  316. error: function(err) {
  317. muiAlertError(err);
  318. }
  319. });
  320. }
  321. /**
  322. * 检测上传的处理信息是否完整
  323. */
  324. function CheckSubmitInfo() {
  325. //赋值
  326. caseVerifySubmitModel.verifyType = radioChecked('shlx');
  327. caseVerifySubmitModel.casenum = joinCaseModel.casenum;
  328. caseVerifySubmitModel.shms = domTxtSHMS.value;
  329. caseVerifySubmitModel.shry = joinUser.userID;
  330. if (caseVerifySubmitModel.verifyType == "") {
  331. muiAlert("请选择案件审核类型!", "提示");
  332. return false;
  333. } else if (caseVerifySubmitModel.casenum == "") {
  334. muiAlert("未关联案件号!", "警告");
  335. return;
  336. } else if (caseVerifySubmitModel.shms == "") {
  337. muiAlert("请填写审核意见!", "提示");
  338. return false;
  339. } else if (caseVerifySubmitModel.shry == "" || caseVerifySubmitModel.shry == undefined) {
  340. muiAlert("关联账号异常,请重新登录APP!", "提示");
  341. return false;
  342. }
  343. return true;
  344. }
  345. </script>